diff --git a/.github/labeler.yml b/.github/labeler.yml index 5b585de4532..fe3c756cca7 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -42,6 +42,18 @@ Map Change: - "**/*.dmm" - "_maps/**" +Ship: +- changed-files: + - any-glob-to-any-file: + - "_maps/shuttles/**" + - "_maps/configs/**" + +Ruin: +- changed-files: + - any-glob-to-any-file: + - "_maps/RandomRuins/**" + - "code/datums/ruins/**" + # Any changes to .ogg files are marked as sound Sound: - changed-files: diff --git a/.github/workflows/autowiki.yml b/.github/workflows/autowiki.yml index c6f85bade91..10d3cea1e67 100644 --- a/.github/workflows/autowiki.yml +++ b/.github/workflows/autowiki.yml @@ -43,7 +43,7 @@ jobs: sudo apt update || true sudo apt install -o APT::Immediate-configure=false libssl-dev:i386 bash tools/ci/install_rust_g.sh - + - name: Cache dependencies if: steps.secrets_set.outputs.SECRETS_ENABLED uses: actions/cache@v3 diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml index 47f8b1df994..568e19a20a8 100644 --- a/.github/workflows/ci_suite.yml +++ b/.github/workflows/ci_suite.yml @@ -3,17 +3,34 @@ on: push: branches: - master + - "project/**" pull_request: branches: - master + - "project/**" merge_group: branches: - master + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: + 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: - if: "!contains(github.event.head_commit.message, '[ci skip]')" name: Run Linters + needs: start_gate runs-on: ubuntu-22.04 + timeout-minutes: 20 + steps: - uses: actions/checkout@v3 with: @@ -53,39 +70,62 @@ jobs: run: | pip3 install setuptools bash tools/ci/install_node.sh - bash tools/ci/install_spaceman_dmm.sh dreamchecker cargo install ripgrep --features pcre2 tools/bootstrap/python -c '' - - name: Run Linters + - name: Give Linters A Go + id: linter-setup + run: exit 0 + - name: Run Grep Checks + if: steps.linter-setup.conclusion == 'success' && !cancelled() + run: bash tools/ci/check_grep.sh + - name: Run DreamChecker + if: steps.linter-setup.conclusion == 'success' && !cancelled() + run: ~/dreamchecker 2>&1 | bash tools/ci/annotate_dm.sh + - name: Run Map Checks + if: steps.linter-setup.conclusion == 'success' && !cancelled() run: | - tools/bootstrap/python -m tools.maplint.source --github - tools/build/build --ci lint tgui-test - bash tools/ci/check_filedirs.sh shiptest.dme - bash tools/ci/check_changelogs.sh - bash tools/ci/check_misc.sh - bash tools/ci/check_grep.sh - tools/bootstrap/python -m dmi.test tools/bootstrap/python -m mapmerge2.dmm_test - ~/dreamchecker > ${GITHUB_WORKSPACE}/output-annotations.txt 2>&1 - - - name: Annotate Lints - uses: yogstation13/DreamAnnotate@v2 - with: - outputFile: output-annotations.txt - - - name: Run Check Regex + tools/bootstrap/python -m tools.maplint.source + - name: Run DMI Tests + if: steps.linter-setup.conclusion == 'success' && !cancelled() + run: tools/bootstrap/python -m dmi.test + - name: Check File Directories + if: steps.linter-setup.conclusion == 'success' && !cancelled() + run: bash tools/ci/check_filedirs.sh shiptest.dme + - name: Check Changelogs + if: steps.linter-setup.conclusion == 'success' && !cancelled() + run: bash tools/ci/check_changelogs.sh + - name: Check Miscellaneous Files + if: steps.linter-setup.conclusion == 'success' && !cancelled() + run: bash tools/ci/check_misc.sh + - name: Run TGUI Checks + if: steps.linter-setup.conclusion == 'success' && !cancelled() + run: tools/build/build --ci lint tgui-test + - name: Run Regex Checks + if: steps.linter-setup.conclusion == 'success' && !cancelled() run: | tools/bootstrap/python -m ci.check_regex --log-changes-only --github-actions + cat check_regex_output.txt + + - name: Install OpenDream + uses: robinraju/release-downloader@v1.9 + with: + repository: "OpenDreamProject/OpenDream" + tag: "latest" + fileName: "DMCompiler_linux-x64.tar.gz" + extract: true - - name: Annotate Regex Matches + - name: Run OpenDream Linter run: | - cat check_regex_output.txt + ./DMCompiler_linux-x64/DMCompiler shiptest.dme --suppress-unimplemented --define=CIBUILDING | bash tools/ci/annotate_od.sh compile_all_maps: - if: "!contains(github.event.head_commit.message, '[ci skip]')" name: Compile Maps + needs: start_gate runs-on: ubuntu-latest + timeout-minutes: 5 + steps: - uses: actions/checkout@v3 @@ -105,39 +145,41 @@ jobs: tools/build/build --ci dm -DCIBUILDING -DCITESTING -DALL_MAPS -DFULL_INIT run_all_tests: - if: "!contains(github.event.head_commit.message, '[ci skip]')" name: Integration Tests + needs: start_gate strategy: fail-fast: false matrix: - arg: [ - "BASIC_TESTS", - "CREATE_AND_DESTROY_TEST", - "PLANET_GEN_TEST", - "RUIN_PLACEMENT_TEST", - "SHIP_PLACEMENT_TEST" - ] + arg: + [ + "BASIC_TESTS", + "CREATE_AND_DESTROY_TEST", + "PLANET_GEN_TEST", + "RUIN_PLACEMENT_TEST", + "SHIP_PLACEMENT_TEST", + ] uses: ./.github/workflows/run_integration_tests.yml with: arg: ${{ matrix.arg }} -# run_alternate_tests: -# if: "!contains(github.event.head_commit.message, '[ci skip]')" -# name: Alternate Tests -# strategy: -# fail-fast: false -# matrix: -# major: [515] -# minor: [1614] -# uses: ./.github/workflows/run_integration_tests.yml -# with: -# major: ${{ matrix.major }} -# minor: ${{ matrix.minor }} + # run_alternate_tests: + # if: "!contains(github.event.head_commit.message, '[ci skip]')" + # name: Alternate Tests + # strategy: + # fail-fast: false + # matrix: + # major: [515] + # minor: [1614] + # uses: ./.github/workflows/run_integration_tests.yml + # with: + # major: ${{ matrix.major }} + # minor: ${{ matrix.minor }} test_windows: - if: "!contains(github.event.head_commit.message, '[ci skip]')" name: Windows Build + needs: start_gate runs-on: windows-latest + timeout-minutes: 5 steps: - uses: actions/checkout@v3 @@ -162,7 +204,18 @@ jobs: bash tools/deploy.sh ./deploy - name: Deploy artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: deploy path: deploy + + completion_gate: # Serves as a non-moving target for branch rulesets + if: always() && !cancelled() + name: Completion Gate + needs: [test_windows, compile_all_maps, run_linters, run_all_tests] + 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/codeowner_reviews.yml b/.github/workflows/codeowner_reviews.yml index 753f575f90d..6799c5d14b3 100644 --- a/.github/workflows/codeowner_reviews.yml +++ b/.github/workflows/codeowner_reviews.yml @@ -6,6 +6,7 @@ on: pull_request_target jobs: assign-users: runs-on: ubuntu-latest + timeout-minutes: 5 steps: # Checks-out your repository under $GITHUB_WORKSPACE, so the job can access it diff --git a/.github/workflows/rerun_flaky_tests.yml b/.github/workflows/rerun_flaky_tests.yml new file mode 100644 index 00000000000..317356dcee0 --- /dev/null +++ b/.github/workflows/rerun_flaky_tests.yml @@ -0,0 +1,37 @@ +name: Rerun/Report Flaky Tests +on: + workflow_run: + workflows: [Checks, TGS Test Suite] + types: + - completed + +permissions: + actions: write + contents: write + issues: write + +jobs: + rerun_flaky_tests: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'failure' && github.event.workflow_run.run_attempt == 1 }} + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Rerun flaky tests + uses: actions/github-script@v6 + with: + script: | + const { rerunFlakyTests } = await import('${{ github.workspace }}/tools/pull_request_hooks/rerunFlakyTests.js') + await rerunFlakyTests({ github, context }) + report_flaky_tests: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.run_attempt == 2 }} + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Report flaky tests + uses: actions/github-script@v6 + with: + script: | + const { reportFlakyTests } = await import('${{ github.workspace }}/tools/pull_request_hooks/rerunFlakyTests.js') + await reportFlakyTests({ github, context }) diff --git a/.github/workflows/run_integration_tests.yml b/.github/workflows/run_integration_tests.yml index 9c83d6ab013..699151fe6f9 100644 --- a/.github/workflows/run_integration_tests.yml +++ b/.github/workflows/run_integration_tests.yml @@ -14,9 +14,11 @@ on: required: false default: ALL_TESTS type: string + jobs: run_integration_tests: runs-on: ubuntu-latest + timeout-minutes: 15 services: mysql: image: mysql:latest diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index a19c1911c18..94051ff2e65 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -13,13 +13,16 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/stale@v4 + - uses: actions/stale@v9 with: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-pr-message: "This PR has been inactive for a month. This means it is at risk of being auto closed in a week, 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" days-before-stale: 30 days-before-close: 7 - days-before-issue-stale: -1 - stale-pr-label: "Stale" exempt-pr-labels: "RED LABEL, Test Merged, Test Merge Candidate, Stale Exempt" exempt-draft-pr: true + + stale-issue-message: "This flaky fail has not been detected in 7 days. If it doesn't show up again in another 7 days, it will be auto-closed." + only-issue-labels: "🤖 Flaky Test Report" + days-before-issue-stale: 7 + diff --git a/.github/workflows/tgs_test.yml b/.github/workflows/tgs_test.yml index a92b6cac76a..4b7853aa77c 100644 --- a/.github/workflows/tgs_test.yml +++ b/.github/workflows/tgs_test.yml @@ -3,7 +3,9 @@ on: push: branches: - master + - 'project/**' - 'gh-readonly-queue/master/**' + - 'gh-readonly-queue/project/**' paths: - '.tgs.yml' - '.github/workflows/tgs_test.yml' @@ -12,11 +14,13 @@ on: - 'code/__DEFINES/tgs.dm' - 'code/game/world.dm' - 'code/modules/tgs/**' + - 'tools/bootstrap/**' - 'tools/tgs_scripts/**' - 'tools/tgs_test/**' pull_request: branches: - master + - 'project/**' paths: - '.tgs.yml' - '.github/workflows/tgs_test.yml' @@ -25,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: @@ -54,12 +59,12 @@ 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 - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Test TGS Integration run: dotnet run -c Release --project tools/tgs_test ${{ github.repository }} /tgs_instances/tgstation ${{ env.TGS_API_PORT }} ${{ github.event.pull_request.head.sha || github.sha }} ${{ secrets.GITHUB_TOKEN }} ${{ env.PR_NUMBER }} diff --git a/.gitignore b/.gitignore index 94713bc82e1..19635314153 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ *.lk *.int *.backup +/shiptest.json ### https://raw.github.com/github/gitignore/cc542de017c606138a87ee4880e5f06b3a306def/Global/Linux.gitignore *~ diff --git a/Dockerfile b/Dockerfile index 0c83f0467e6..3a31eacdec8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,7 +42,7 @@ RUN git init \ && git remote add origin \$AUXMOS_REPO \ && git fetch --depth 1 origin \$AUXMOS_VERSION" \ && git checkout FETCH_HEAD \ - && env PKG_CONFIG_ALLOW_CROSS=1 cargo build --release --target=i686-unknown-linux-gnu --features "all_reaction_hooks,katmos" + && env PKG_CONFIG_ALLOW_CROSS=1 cargo build --release --target=i686-unknown-linux-gnu --features "citadel_reactions,katmos" # Install nodejs which is required to deploy Shiptest # NOTE: See: https://github.com/nodesource/distributions/discussions/1639 diff --git a/STARFLY-13.code-workspace b/STARFLY-13.code-workspace new file mode 100644 index 00000000000..b51044b317c --- /dev/null +++ b/STARFLY-13.code-workspace @@ -0,0 +1,7 @@ +{ + "folders": [ + { + "path": "." + } + ] +} diff --git a/__odlint.dm b/__odlint.dm new file mode 100644 index 00000000000..b7c120514a1 --- /dev/null +++ b/__odlint.dm @@ -0,0 +1,10 @@ +// This file is included right at the start of the DME. +// Its purpose is to enable multiple lints (pragmas) that are supported by OpenDream to better validate the codebase +// These are essentially nitpicks the DM compiler should pick up on but doesnt + +#if !defined(SPACEMAN_DMM) && defined(OPENDREAM) +// This is in a separate file as a hack to avoid SpacemanDMM +// evaluating the #pragma lines, even if its outside a block it cares about +// (Also so people can code-own it. Shoutout to AA) +#include "tools/ci/od_lints.dm" +#endif diff --git a/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm b/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm index be52f6a67f4..dad43ef3408 100644 --- a/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm @@ -373,7 +373,7 @@ name = "charge rifle" }, /obj/item/gun/energy/lasercannon{ - pixel_y = 5; + pixel_y = 5 }, /obj/item/gun/energy/lasercannon, /obj/effect/turf_decal/industrial/hatch, @@ -606,7 +606,7 @@ /area/ruin/beach/complex) "kK" = ( /obj/structure/closet/crate/bin, -/obj/item/reagent_containers/food/snacks/breadslice/moldy, +/obj/item/food/breadslice/moldy, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/concrete/slab_4, /area/ruin/beach/complex) @@ -1144,7 +1144,7 @@ /turf/open/floor/concrete/slab_1, /area/ruin/beach/complex/wall) "sa" = ( -/obj/effect/spawner/lootdrop/garden/seaweed, +/obj/effect/spawner/random/food_or_drink/garden/seaweed, /turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) "so" = ( @@ -1458,7 +1458,7 @@ /turf/open/floor/plasteel/mono, /area/ruin/beach/complex) "wV" = ( -/obj/item/kitchen/knife/hunting{ +/obj/item/melee/knife/hunting{ name = "machete"; pixel_y = 8; desc = "Space vines HATE this one simple trick!" diff --git a/_maps/RandomRuins/BeachRuins/beach_crashed_engineer.dmm b/_maps/RandomRuins/BeachRuins/beach_crashed_engineer.dmm index 998e43b9085..1eb17bf0202 100644 --- a/_maps/RandomRuins/BeachRuins/beach_crashed_engineer.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_crashed_engineer.dmm @@ -16,9 +16,6 @@ light_range = 2 }, /area/ruin/unpowered) -"bp" = ( -/turf/open/floor/plating/beach/sand, -/area/overmap_encounter/planetoid/beachplanet/explored) "bv" = ( /obj/machinery/power/smes/shuttle/precharged{ dir = 1 @@ -41,9 +38,7 @@ /mob/living/simple_animal/crab{ name = "\improper Crab" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "cj" = ( /obj/structure/cable{ @@ -158,9 +153,7 @@ /mob/living/simple_animal/hostile/abandoned_minebot{ name = "\improper Abandoned Tony" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "hA" = ( /obj/structure/grille, @@ -231,9 +224,7 @@ /area/ruin/unpowered) "kH" = ( /obj/item/book/manual/wiki/construction, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "kK" = ( /obj/structure/cable{ @@ -246,9 +237,7 @@ /turf/open/floor/plating/rust, /area/ruin/unpowered) "kP" = ( -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/ruin/unpowered) "kR" = ( /obj/effect/turf_decal/weather/sand{ @@ -258,9 +247,7 @@ /area/overmap_encounter/planetoid/beachplanet/explored) "lk" = ( /mob/living/simple_animal/hostile/asteroid/lobstrosity/beach, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "lR" = ( /obj/machinery/power/floodlight, @@ -397,9 +384,7 @@ /obj/structure/cable{ icon_state = "6-9" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "qK" = ( /obj/machinery/power/terminal, @@ -410,9 +395,7 @@ /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 10 }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "rt" = ( /obj/effect/turf_decal/weather/sand{ @@ -433,15 +416,11 @@ /obj/structure/cable{ icon_state = "4-10" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "sv" = ( /obj/machinery/atmospherics/components/binary/valve, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "sA" = ( /obj/structure/cable{ @@ -454,9 +433,7 @@ /area/ruin/unpowered) "sB" = ( /obj/item/book/manual/wiki/engineering, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "sN" = ( /obj/structure/reagent_dispensers/fueltank, @@ -475,9 +452,7 @@ /obj/structure/cable{ icon_state = "0-5" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "ty" = ( /obj/effect/turf_decal/weather/sand{ @@ -501,21 +476,13 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "uw" = ( /obj/structure/girder, /obj/effect/turf_decal/weather/sand, /turf/open/floor/plating/rust, /area/ruin/unpowered) -"vO" = ( -/turf/open/floor/plating/beach/sand{ - icon_state = "sand_dug"; - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) "wu" = ( /obj/structure/cable{ icon_state = "2-4" @@ -539,9 +506,7 @@ "xV" = ( /obj/effect/decal/cleanable/glass, /obj/item/shard, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/dense/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "yc" = ( /obj/effect/turf_decal/atmos/plasma, @@ -559,14 +524,6 @@ "ys" = ( /turf/template_noop, /area/template_noop) -"yv" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) "yA" = ( /obj/effect/turf_decal/industrial/warning/corner{ dir = 8 @@ -602,9 +559,7 @@ }, /area/overmap_encounter/planetoid/beachplanet/explored) "Ae" = ( -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "Ah" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible, @@ -616,17 +571,13 @@ /obj/structure/cable{ icon_state = "4-9" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "At" = ( /obj/structure/cable{ icon_state = "5-10" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "AT" = ( /obj/structure/cable{ @@ -685,9 +636,7 @@ /obj/structure/cable{ icon_state = "1-10" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "CW" = ( /obj/machinery/suit_storage_unit/inherit, @@ -696,9 +645,7 @@ /area/ruin/unpowered) "DB" = ( /obj/item/stack/cable_coil/red, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "DC" = ( /turf/open/water/beach/deep, @@ -707,15 +654,11 @@ /obj/structure/cable{ icon_state = "0-9" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "DO" = ( /obj/structure/flora/tree/palm, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "DU" = ( /obj/structure/cable{ @@ -767,9 +710,7 @@ /area/overmap_encounter/planetoid/beachplanet/explored) "Gj" = ( /obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/dense/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "Gl" = ( /turf/closed/wall/rust, @@ -796,9 +737,11 @@ /obj/structure/cable{ icon_state = "0-6" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, +/area/overmap_encounter/planetoid/beachplanet/explored) +"HH" = ( +/mob/living/simple_animal/hostile/asteroid/lobstrosity/beach, +/turf/open/floor/plating/asteroid/sand/dense/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "HK" = ( /obj/structure/closet/secure_closet/engineering_welding, @@ -817,10 +760,7 @@ "Ir" = ( /obj/item/shovel, /obj/item/stack/ore/glass/beach, -/turf/open/floor/plating/beach/sand{ - icon_state = "sand_dug"; - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "IZ" = ( /obj/machinery/power/shuttle/engine/electric{ @@ -905,9 +845,7 @@ /area/overmap_encounter/planetoid/beachplanet/explored) "LI" = ( /obj/structure/flora/rock, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "Ms" = ( /obj/effect/turf_decal/weather/sand{ @@ -920,9 +858,7 @@ /area/ruin/unpowered) "Na" = ( /obj/item/pickaxe/improvised, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "Nh" = ( /obj/structure/cable{ @@ -950,9 +886,7 @@ /area/ruin/unpowered) "Ot" = ( /obj/item/geiger_counter, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "OI" = ( /obj/effect/turf_decal/weather/sand{ @@ -1014,9 +948,7 @@ /obj/structure/cable{ icon_state = "6-8" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/ruin/unpowered) "QQ" = ( /obj/structure/cable{ @@ -1055,11 +987,12 @@ }, /turf/open/floor/plasteel/tech, /area/ruin/unpowered) +"RD" = ( +/turf/open/floor/plating/asteroid/sand/dense/lit, +/area/overmap_encounter/planetoid/beachplanet/explored) "Sl" = ( /obj/structure/radioactive/stack, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "Sx" = ( /obj/structure/cable{ @@ -1072,9 +1005,7 @@ /area/overmap_encounter/planetoid/beachplanet/explored) "SE" = ( /obj/structure/barricade/wooden, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/ruin/unpowered) "SF" = ( /obj/structure/cable{ @@ -1101,9 +1032,7 @@ /obj/structure/cable{ icon_state = "5-8" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "Tf" = ( /obj/structure/cable{ @@ -1122,9 +1051,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "TB" = ( /obj/effect/spawner/structure/window/hollow/directional{ @@ -1135,9 +1062,7 @@ "TI" = ( /obj/structure/radioactive/waste, /obj/effect/decal/cleanable/greenglow, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "Uk" = ( /turf/open/floor/plating/grass/beach/lit, @@ -1181,9 +1106,7 @@ /area/overmap_encounter/planetoid/beachplanet/explored) "Wg" = ( /obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "Wn" = ( /obj/machinery/computer/arcade/orion_trail{ @@ -1232,7 +1155,7 @@ /obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1 }, -/obj/item/fireaxe{ +/obj/item/melee/axe/fire{ name = "rusty fire axe" }, /turf/open/floor/engine/airless, @@ -1246,9 +1169,7 @@ /obj/structure/cable{ icon_state = "0-10" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "Yh" = ( /obj/effect/turf_decal/weather/sand{ @@ -1277,9 +1198,7 @@ /obj/structure/cable{ icon_state = "1-10" }, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, +/turf/open/floor/plating/asteroid/sand/lit, /area/overmap_encounter/planetoid/beachplanet/explored) "ZW" = ( /obj/machinery/pipedispenser, @@ -1597,7 +1516,7 @@ ys Ae Ae Ae -yv +Ae Uz WH WH @@ -1791,7 +1710,7 @@ Ae Ae Ae Ae -bp +Ae ys ys ys @@ -1825,7 +1744,7 @@ Ae Ae Ae Ae -bp +Ae Ae ys ys @@ -1893,7 +1812,7 @@ Ae Ae Ae Ae -bp +Ae Ae Ae ys @@ -1910,7 +1829,7 @@ ug cj Ae Ae -vO +Ae Ae Ae SF @@ -1927,7 +1846,7 @@ Ae Hp Ae Ae -bp +Ae Ae Ae Ae @@ -1961,7 +1880,7 @@ DO Ae qH Ae -bp +Ae Ae Ae Ae @@ -1969,8 +1888,8 @@ Ae (21,1,1) = {" ys ys -Ae -Ae +RD +RD iZ fT Kp @@ -1995,7 +1914,7 @@ Ae Ae Ae qH -bp +Ae Ae sB Ae @@ -2004,14 +1923,14 @@ Ae ys ys Ae -vO +RD ij tX PR dG tB -Ae -Ae +RD +RD qD qD Om @@ -2038,14 +1957,14 @@ Ae ys ys Ae -Ae -Ae +RD +RD SZ Wn Qw tB -Ae -Ae +RD +RD qD ni Qw @@ -2072,14 +1991,14 @@ Ae ys ys ys -Ae -Ae +RD +RD Gj rt kR -Ae -Ae -Ae +RD +RD +RD qD Rj JW @@ -2106,12 +2025,12 @@ Ae ys ys ys -Ae -Ae -Ae -Ae +RD +RD +RD +RD xV -Ae +RD Wg Ae qD @@ -2141,10 +2060,10 @@ ys ys ys ys -Ae -lk -Ae -Ae +RD +HH +RD +RD Ae Ae Ae diff --git a/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm b/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm deleted file mode 100644 index ab5a6bb58d8..00000000000 --- a/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm +++ /dev/null @@ -1,2581 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ae" = ( -/obj/structure/chair/sofa/brown/left/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet, -/area/ruin/beach) -"bs" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"bE" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/ruin/beach) -"bG" = ( -/obj/item/oar, -/obj/item/oar, -/obj/structure/rack, -/turf/open/floor/wood/ebony, -/area/overmap_encounter/planetoid/beachplanet/explored) -"bN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"dd" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ruin/beach) -"di" = ( -/obj/vehicle/ridden/lavaboat{ - dir = 8; - name = "boat" - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"dp" = ( -/obj/effect/turf_decal/borderfloor/corner, -/obj/effect/turf_decal/siding/white/corner, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"dq" = ( -/turf/open/floor/plasteel/stairs/wood, -/area/overmap_encounter/planetoid/beachplanet/explored) -"du" = ( -/obj/effect/turf_decal/weather/sand/corner, -/obj/structure/flora/ausbushes/reedbush, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"dI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating/corner, -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"eJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/railing/wood{ - dir = 5 - }, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken2" - }, -/area/ruin/beach) -"eV" = ( -/obj/structure/closet/crate/freezer, -/obj/item/reagent_containers/food/snacks/fishmeat/carp, -/obj/item/reagent_containers/food/snacks/fishmeat/carp, -/obj/item/reagent_containers/food/snacks/fishmeat/carp, -/obj/item/reagent_containers/food/snacks/fishmeat/carp, -/obj/item/reagent_containers/food/snacks/fishmeat/carp, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 9 - }, -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/turf/open/floor/plastic, -/area/ruin/beach) -"fo" = ( -/obj/structure/chair/stool{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/ruin/beach) -"fp" = ( -/mob/living/simple_animal/hostile/carp{ - bruteloss = 100 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"fv" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ge" = ( -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken6" - }, -/area/ruin/beach) -"gm" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"gz" = ( -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ - dir = 1 - }, -/obj/structure/kitchenspike, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/plastic, -/area/ruin/beach) -"hd" = ( -/obj/machinery/light/floor, -/obj/machinery/porta_turret/syndicate/energy{ - active_power_usage = 0; - faction = list("Frontiersmen","beach"); - idle_power_usage = 0; - reqpower = 0; - name = "Point defense anti-carp turret" - }, -/turf/open/floor/concrete/reinforced, -/area/ruin/beach) -"hh" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet, -/area/ruin/beach) -"hl" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"hq" = ( -/obj/structure/flora/junglebush/b, -/turf/open/floor/plating/grass/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"hY" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/flora/bigplant, -/turf/open/floor/concrete/tiles, -/area/overmap_encounter/planetoid/beachplanet/explored) -"iH" = ( -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/beachplanet/explored) -"iN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"jz" = ( -/obj/item/toy/plush/carpplushie/dehy_carp, -/obj/item/toy/plush/carpplushie/dehy_carp, -/obj/item/toy/plush/carpplushie/dehy_carp, -/obj/item/toy/plush/carpplushie/dehy_carp, -/obj/structure/closet/crate/wooden{ - name = "freeze dried carp" - }, -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/obj/machinery/light/dim/directional/south, -/turf/open/floor/plastic, -/area/ruin/beach) -"kg" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/railing/corner, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"kj" = ( -/obj/structure/closet/cabinet, -/obj/item/pneumatic_cannon/speargun, -/obj/item/storage/backpack/magspear_quiver, -/obj/item/kitchen/knife/hunting, -/turf/open/floor/wood, -/area/ruin/beach) -"kr" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"kC" = ( -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ruin/beach) -"kM" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/fishfry{ - pixel_y = 8; - pixel_x = 2 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/cola{ - pixel_y = 3; - pixel_x = -5 - }, -/obj/item/storage/fancy/cigarettes/cigars/havana{ - pixel_x = -18; - pixel_y = 10; - layer = 2.95 - }, -/turf/open/floor/wood/walnut, -/area/ruin/beach) -"ld" = ( -/obj/effect/turf_decal/siding/wideplating/corner{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ly" = ( -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 10 - }, -/obj/machinery/gibber, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plastic, -/area/ruin/beach) -"lL" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"lX" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/obj/effect/turf_decal/weather/sand/corner, -/obj/structure/flora/rock/asteroid, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"mh" = ( -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/cave/explored) -"mj" = ( -/mob/living/simple_animal/hostile/carp/megacarp{ - dir = 8; - name = "Mother Carp"; - loot = list("/obj/item/clothing/suit/space/hardsuit/carp"); - faction = list("hostile","carp") - }, -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/cave/explored) -"mq" = ( -/obj/item/ammo_box/c38_box, -/obj/structure/closet/crate/wooden, -/turf/open/floor/wood, -/area/ruin/beach) -"my" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"mD" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/north, -/obj/item/gun/ballistic/shotgun/flamingarrow, -/turf/open/floor/wood, -/area/ruin/beach) -"mE" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 8 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"mP" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/airlock/wood, -/turf/open/floor/wood/ebony, -/area/ruin/beach) -"mV" = ( -/turf/open/floor/plasteel/stairs/wood{ - dir = 8 - }, -/area/ruin/beach) -"nc" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/railing{ - layer = 3.3 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"nn" = ( -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken3" - }, -/area/ruin/beach) -"ns" = ( -/turf/open/floor/concrete/tiles, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ny" = ( -/obj/effect/turf_decal/borderfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"nR" = ( -/obj/structure/spawner/carp, -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/cave/explored) -"om" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 4 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ov" = ( -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ruin/beach) -"oI" = ( -/obj/structure/flora/ausbushes/reedbush, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"oS" = ( -/turf/open/floor/wood, -/area/ruin/beach) -"oY" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/north, -/obj/item/binoculars{ - pixel_x = -1; - layer = 2.9 - }, -/turf/open/floor/wood/ebony, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pb" = ( -/obj/effect/turf_decal/borderfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pe" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/airlock/wood{ - dir = 4 - }, -/turf/open/floor/wood/ebony, -/area/ruin/beach) -"pg" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"qh" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_y = 8 - }, -/turf/open/floor/wood/ebony, -/area/overmap_encounter/planetoid/beachplanet/explored) -"rs" = ( -/obj/machinery/deepfryer, -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/turf/open/floor/plastic, -/area/ruin/beach) -"rt" = ( -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/beachplanet/explored) -"rG" = ( -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"rP" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"rV" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/obj/structure/flora/rock/jungle, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"sz" = ( -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 5 - }, -/obj/item/reagent_containers/food/snacks/fishmeat/carp, -/obj/item/reagent_containers/food/snacks/fishmeat/carp, -/obj/item/reagent_containers/food/snacks/fishmeat/carp, -/obj/item/reagent_containers/food/snacks/fishmeat/carp, -/obj/item/reagent_containers/food/snacks/fishmeat/carp, -/obj/structure/closet/secure_closet/freezer, -/turf/open/floor/plastic, -/area/ruin/beach) -"sG" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"sJ" = ( -/obj/structure/flora/bigplant, -/turf/open/floor/wood/walnut, -/area/ruin/beach) -"sM" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"sN" = ( -/obj/structure/chair/sofa/brown/directional/south, -/obj/machinery/light/small/directional/north{ - light_color = "#694c12" - }, -/turf/open/floor/carpet, -/area/ruin/beach) -"tj" = ( -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/oxygen{ - anchored = 1 - }, -/turf/open/floor/plastic, -/area/ruin/beach) -"tr" = ( -/obj/structure/flora/driftlog, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"tQ" = ( -/obj/effect/turf_decal/weather/sand, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ut" = ( -/turf/closed/wall/mineral/wood, -/area/ruin/beach) -"uM" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/flora/bigplant, -/turf/open/floor/concrete/tiles, -/area/overmap_encounter/planetoid/beachplanet/explored) -"vD" = ( -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/coldroom, -/turf/open/floor/plastic, -/area/ruin/beach) -"vM" = ( -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 6 - }, -/obj/structure/table/reinforced, -/obj/item/kitchen/knife/butcher, -/turf/open/floor/plastic, -/area/ruin/beach) -"wg" = ( -/obj/effect/turf_decal/borderfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wR" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"xt" = ( -/obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes/cigpack_carp{ - pixel_y = 7; - pixel_x = 9 - }, -/obj/item/lighter{ - pixel_y = -4 - }, -/obj/item/cigbutt{ - pixel_y = 3; - pixel_x = 5 - }, -/turf/open/floor/wood/ebony, -/area/overmap_encounter/planetoid/beachplanet/explored) -"xP" = ( -/obj/structure/spacevine/dense, -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/cave/explored) -"yo" = ( -/obj/structure/table/wood/poker, -/obj/item/kirbyplants{ - icon_state = "plant-17"; - pixel_y = 13; - layer = 3 - }, -/obj/item/reagent_containers/food/snacks/burger/fish{ - pixel_y = -3; - pixel_x = 11; - layer = 3.1 - }, -/turf/open/floor/carpet, -/area/ruin/beach) -"yK" = ( -/obj/effect/turf_decal/siding/wideplating/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown{ - dir = 1 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"yL" = ( -/obj/effect/turf_decal/siding/yellow/corner{ - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ruin/beach) -"yQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/railing/wood{ - dir = 10 - }, -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/ruin/beach) -"yV" = ( -/turf/open/floor/wood/ebony, -/area/overmap_encounter/planetoid/beachplanet/explored) -"zq" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/snacks/fishandchips, -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/turf/open/floor/plastic, -/area/ruin/beach) -"zx" = ( -/obj/structure/flora/ausbushes/stalkybush, -/obj/effect/turf_decal/weather/sand, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"zA" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/cubancarp{ - pixel_y = 6; - pixel_x = 11 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/cola{ - pixel_y = 11; - pixel_x = -5 - }, -/obj/machinery/light/small/directional/south{ - light_color = "#694c12" - }, -/turf/open/floor/wood/walnut, -/area/ruin/beach) -"Af" = ( -/obj/structure/spacevine/dense, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"AG" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Bb" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Bg" = ( -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/mob/living/simple_animal/hostile/human/frontier{ - faction = list("Frontiersmen","beach") - }, -/turf/open/floor/plastic, -/area/ruin/beach) -"Bo" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 8 - }, -/obj/effect/turf_decal/weather/sand/corner, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Bu" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/obj/structure/flora/ausbushes/stalkybush, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Bz" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 4 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"BD" = ( -/obj/structure/closet/crate/bin, -/obj/effect/turf_decal/siding/yellow{ - dir = 8 - }, -/obj/item/trash/sosjerky, -/obj/item/trash/chips, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken5" - }, -/area/ruin/beach) -"BN" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 9 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"BR" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood/ebony, -/area/overmap_encounter/planetoid/beachplanet/explored) -"BW" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/concrete/tiles, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ch" = ( -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/obj/structure/sink/kitchen{ - dir = 4 - }, -/turf/open/floor/plastic, -/area/ruin/beach) -"Ci" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Cp" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/obj/structure/flora/ausbushes/stalkybush, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Cr" = ( -/obj/machinery/light/floor{ - pixel_y = 16 - }, -/turf/open/floor/wood/ebony, -/area/overmap_encounter/planetoid/beachplanet/explored) -"CV" = ( -/obj/machinery/grill, -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plastic, -/area/ruin/beach) -"DL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/flora/junglebush/b, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plating/grass/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"DS" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ruin/beach) -"Eb" = ( -/obj/effect/turf_decal/borderfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Em" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken7" - }, -/area/ruin/beach) -"Ez" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Fq" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Fr" = ( -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Fz" = ( -/obj/structure/flora/ausbushes/stalkybush, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"FG" = ( -/turf/template_noop, -/area/template_noop) -"Ga" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Gr" = ( -/obj/machinery/processor, -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/turf/open/floor/plastic, -/area/ruin/beach) -"Gt" = ( -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/plastic, -/area/ruin/beach) -"GP" = ( -/obj/structure/chair/sofa/brown/right/directional/south, -/obj/effect/decal/cleanable/cobweb, -/mob/living/simple_animal/hostile/human/frontier{ - faction = list("Frontiersmen","beach") - }, -/turf/open/floor/carpet, -/area/ruin/beach) -"Hb" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"He" = ( -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/obj/effect/decal/cleanable/blood/footprints{ - dir = 8; - pixel_y = 6 - }, -/turf/open/floor/plastic, -/area/ruin/beach) -"Hj" = ( -/obj/machinery/door/airlock/freezer{ - name = "Freezer Room"; - dir = 4 - }, -/obj/effect/decal/cleanable/blood/footprints{ - dir = 4 - }, -/obj/effect/decal/cleanable/blood/footprints{ - dir = 8; - pixel_y = 6 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ruin/beach) -"Hm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown{ - dir = 1 - }, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"HF" = ( -/obj/structure/flora/junglebush/large, -/turf/open/floor/plating/grass/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"HW" = ( -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/obj/effect/decal/cleanable/blood/footprints{ - dir = 4 - }, -/obj/effect/decal/cleanable/blood/footprints{ - dir = 8; - pixel_y = 6 - }, -/turf/open/floor/plastic, -/area/ruin/beach) -"Iv" = ( -/obj/effect/decal/cleanable/garbage{ - pixel_y = -14 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood/walnut, -/area/ruin/beach) -"ID" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Jl" = ( -/obj/effect/turf_decal/siding/wideplating/corner, -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Kf" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Kv" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 5 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"KL" = ( -/obj/effect/turf_decal/siding/wideplating/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown{ - dir = 1 - }, -/obj/vehicle/ridden/lavaboat{ - dir = 4; - name = "boat" - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"KW" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/curtain/cloth/grey, -/turf/open/floor/wood/ebony, -/area/ruin/beach) -"KZ" = ( -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Lb" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 4; - layer = 3.1 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ly" = ( -/obj/structure/closet/crate/bin, -/obj/item/trash/can, -/turf/open/floor/wood/walnut, -/area/ruin/beach) -"LK" = ( -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/cave/explored) -"LM" = ( -/obj/structure/closet/crate/bin, -/obj/item/reagent_containers/food/snacks/fishmeat/carp/imitation, -/obj/item/reagent_containers/food/snacks/fishmeat/carp/imitation, -/obj/item/reagent_containers/food/snacks/fishmeat/carp/imitation, -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/turf/open/floor/plastic, -/area/ruin/beach) -"Mw" = ( -/turf/closed/mineral, -/area/overmap_encounter/planetoid/cave/explored) -"MI" = ( -/obj/structure/spacevine, -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/cave/explored) -"NF" = ( -/obj/effect/turf_decal/weather/sand, -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Oi" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 - }, -/obj/effect/turf_decal/weather/sand/corner{ - dir = 8 - }, -/obj/structure/flora/rock/jungle, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ok" = ( -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/turf/open/floor/plastic, -/area/ruin/beach) -"Ol" = ( -/turf/open/floor/carpet, -/area/ruin/beach) -"Oo" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/neutered{ - faction = list("Frontiersmen","beach") - }, -/turf/open/floor/wood/ebony, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Os" = ( -/obj/structure/table/wood/reinforced, -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/obj/item/kitchen/knife{ - pixel_y = 12; - pixel_x = 9 - }, -/obj/item/reagent_containers/food/snacks/fishfingers{ - pixel_y = 5; - pixel_x = -4 - }, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/plastic, -/area/ruin/beach) -"Ow" = ( -/obj/effect/turf_decal/borderfloor/corner, -/obj/effect/turf_decal/siding/white/corner, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"PB" = ( -/obj/structure/closet/cabinet, -/obj/item/pneumatic_cannon/speargun, -/obj/item/storage/backpack/magspear_quiver, -/obj/item/kitchen/knife/hunting, -/obj/machinery/light/small/directional/east{ - light_color = "#d8b1b1" - }, -/turf/open/floor/wood, -/area/ruin/beach) -"PC" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"PM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ruin/beach) -"PR" = ( -/obj/structure/flora/ausbushes/reedbush, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"QQ" = ( -/obj/effect/turf_decal/weather/sand/corner, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"QV" = ( -/obj/structure/table/wood/reinforced, -/obj/machinery/microwave{ - pixel_y = 7 - }, -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/turf/open/floor/plastic, -/area/ruin/beach) -"QW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing/wood{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/stack/medical/bruise_pack/herb{ - pixel_x = -5; - name = "herbal pack" - }, -/obj/item/stack/medical/ointment/herb{ - pixel_y = 6; - pixel_x = 11 - }, -/turf/open/floor/wood, -/area/ruin/beach) -"Rh" = ( -/obj/structure/chair/sofa/brown/corner/directional/south, -/mob/living/simple_animal/hostile/human/frontier{ - faction = list("Frontiersmen","beach") - }, -/turf/open/floor/carpet, -/area/ruin/beach) -"RE" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"RR" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood/ebony, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Sk" = ( -/turf/open/floor/plating/asteroid/sand, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Sv" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"SH" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"SW" = ( -/obj/effect/turf_decal/weather/sand/corner, -/obj/effect/turf_decal/borderfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"SX" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ty" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/wood, -/area/ruin/beach) -"TM" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"TP" = ( -/mob/living/simple_animal/hostile/carp{ - bruteloss = 100 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"TU" = ( -/obj/effect/turf_decal/siding/wideplating/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown{ - dir = 1 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Uj" = ( -/obj/structure/table/wood/reinforced, -/obj/machinery/reagentgrinder, -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/turf/open/floor/plastic, -/area/ruin/beach) -"UC" = ( -/obj/structure/flora/ausbushes/stalkybush, -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown/corner{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"UZ" = ( -/obj/machinery/light/floor{ - pixel_y = 16; - pixel_x = -16 - }, -/turf/open/floor/wood/ebony, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Vh" = ( -/obj/structure/chair/plastic, -/obj/item/cigbutt{ - pixel_y = 7; - pixel_x = 9; - layer = 2.9 - }, -/obj/item/cigbutt{ - pixel_y = 3; - pixel_x = -10; - layer = 2.9 - }, -/obj/item/cigbutt{ - pixel_y = -5; - pixel_x = 4; - layer = 2.9 - }, -/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/neutered{ - faction = list("Frontiersmen","beach") - }, -/turf/open/floor/wood/ebony, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Vm" = ( -/obj/structure/flora/ausbushes/stalkybush, -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Vn" = ( -/obj/effect/turf_decal/spline/fancy/opaque/inteqbrown/corner{ - dir = 1 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Vt" = ( -/obj/item/nullrod/carp, -/obj/structure/bed/dogbed, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ruin/beach) -"VZ" = ( -/obj/structure/spacevine, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Wk" = ( -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/machinery/atmospherics/pipe/heat_exchanging/junction, -/mob/living/simple_animal/hostile/carp{ - bruteloss = 100 - }, -/obj/effect/decal/cleanable/blood/footprints{ - dir = 4 - }, -/obj/effect/decal/cleanable/blood/footprints{ - dir = 8; - pixel_y = 6 - }, -/turf/open/floor/plastic, -/area/ruin/beach) -"WT" = ( -/turf/open/floor/wood/walnut, -/area/ruin/beach) -"WX" = ( -/obj/effect/turf_decal/weather/sand/corner, -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Yf" = ( -/obj/structure/flora/ausbushes/stalkybush, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Yk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/flora/ausbushes/stalkybush, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Yu" = ( -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken7" - }, -/area/ruin/beach) -"YL" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Zf" = ( -/obj/structure/flora/rock/asteroid, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ZJ" = ( -/mob/living/simple_animal/hostile/human/frontier{ - faction = list("Frontiersmen","beach") - }, -/turf/open/floor/wood, -/area/ruin/beach) -"ZV" = ( -/obj/effect/turf_decal/corner/opaque/pink/diagonal, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plastic, -/area/ruin/beach) - -(1,1,1) = {" -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -rG -rG -rG -rG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -"} -(2,1,1) = {" -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -rG -rG -rG -rG -rG -rG -rG -rG -rG -FG -FG -FG -FG -FG -FG -FG -FG -"} -(3,1,1) = {" -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -rG -rG -rG -rG -rG -rG -rG -rG -rG -rG -PR -rG -FG -FG -FG -FG -FG -FG -FG -"} -(4,1,1) = {" -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -rG -rG -rG -PR -rG -rG -Fr -Fr -Fr -Fr -Fr -rG -rG -rG -rG -rG -FG -FG -FG -FG -FG -FG -"} -(5,1,1) = {" -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -rG -rG -rG -rG -rG -rG -Yf -Fr -Fr -Fr -Yf -Fr -Fr -Fr -rG -rG -rG -rG -rG -FG -FG -FG -FG -FG -"} -(6,1,1) = {" -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -rG -rG -rG -rG -rG -Fr -Fr -Fr -Fr -Fr -Fr -Fr -Fr -Fr -Fr -dp -SX -ny -rG -rG -rG -rG -FG -FG -FG -FG -"} -(7,1,1) = {" -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -rG -rG -rG -Fr -Fr -Fr -tr -Fr -Fr -Fr -Fr -Fr -Fr -Fr -Fr -Fr -sG -hd -Fq -Fr -rG -rG -rG -FG -FG -FG -FG -"} -(8,1,1) = {" -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -rG -rG -rG -Fr -Fr -Fr -dp -SX -ny -Fr -Fr -Fr -Fr -Fr -Fr -Fr -wg -Hb -Eb -Fr -rG -rG -rG -rG -FG -FG -FG -"} -(9,1,1) = {" -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -rG -rG -rG -rG -Fr -Fr -Fr -Fr -sG -hd -Fq -Fr -QQ -TM -lL -Fr -oI -Fr -Fr -Fr -Fr -Fr -Fr -rG -rG -rG -rG -FG -FG -"} -(10,1,1) = {" -FG -FG -FG -FG -FG -FG -FG -FG -FG -rG -rG -rG -Fr -Fr -Fr -Fr -Fr -Fr -Fr -wg -Hb -Eb -QQ -Vm -ut -bE -bE -ut -bE -bE -ut -iN -iN -Lb -Fr -rG -rG -rG -FG -FG -"} -(11,1,1) = {" -FG -FG -FG -FG -FG -FG -FG -rG -rG -rG -rG -Fr -Fr -Fr -kg -iN -iN -iN -iN -iN -iN -iN -zx -DL -ut -GP -Ol -hh -ov -Vt -ut -RR -xt -bN -Fr -rG -rG -rG -rG -FG -"} -(12,1,1) = {" -FG -FG -FG -FG -rG -rG -rG -TP -Fr -Fr -Fr -Fr -Fr -Fr -nc -qh -yV -yV -yV -yV -yV -yV -yV -bG -ut -sN -yo -fo -nn -dd -KW -yV -Vh -bN -Fr -rG -rG -rG -rG -FG -"} -(13,1,1) = {" -FG -FG -FG -rG -rG -rG -Fr -Fr -Fr -VZ -Fr -Fr -oI -Fr -nc -Oo -yV -yV -yV -yV -yV -BR -yV -yV -ut -Rh -ae -Ol -kC -Yu -KW -yV -yV -bN -Fr -rG -rG -rG -rG -FG -"} -(14,1,1) = {" -FG -FG -FG -rG -Fr -Fr -Fr -Fr -VZ -Af -Fr -Fr -Yf -Fr -pg -Ga -dI -yV -yV -Hm -Ga -ut -ut -pe -ut -ut -ut -BD -yL -zA -ut -oY -yV -bN -Fr -Fr -Ow -hl -pb -rG -"} -(15,1,1) = {" -FG -FG -rG -rG -Fr -Fr -Fr -Fr -Fr -Af -VZ -Fr -Fr -Yf -Fr -Fr -ld -yV -yV -KL -Fr -ut -CV -ZV -Ch -Ok -mP -dd -WT -kM -ut -Yk -Ga -Kf -Fr -Fr -sG -hd -bs -rG -"} -(16,1,1) = {" -FG -rG -rG -Fr -Fr -Fr -fp -Fr -Fr -VZ -Af -VZ -Fr -Fr -Fr -Fr -Jl -yV -UZ -TU -Fr -bE -Gr -Ok -ZV -jz -ut -ut -ut -ut -ut -ut -ut -fv -Bz -Fr -wg -rP -SW -mE -"} -(17,1,1) = {" -FG -rG -rG -Fr -Fr -Fr -Fr -QQ -TM -lL -Fr -VZ -Fr -Fr -Fr -Fr -ld -yV -yV -yK -Fr -ut -rs -Ok -Bg -zq -ut -sJ -DS -Yu -Iv -Ly -ut -BW -Kv -om -Bo -mE -Sv -sM -"} -(18,1,1) = {" -FG -Fz -rG -Fr -Fr -Fr -oI -Mw -Mw -Mw -Fr -Fr -Fr -Fr -Fr -di -Jl -yV -Cr -TU -QQ -bE -QV -Ok -He -Ok -mP -ge -WT -dd -WT -Em -ut -uM -ns -rt -rV -WX -mE -Zf -"} -(19,1,1) = {" -rG -Fz -Fr -Fr -Fr -du -Mw -Mw -Mw -Mw -Mw -lL -Fr -Fr -Fr -Fr -ld -yV -yV -yK -tQ -ut -Uj -Os -HW -LM -ut -QW -yQ -mV -eJ -PM -mP -dq -ns -rt -lX -RE -Oi -rG -"} -(20,1,1) = {" -rG -rG -Fr -Fr -Fr -Mw -Mw -Mw -MI -mh -Mw -Bu -lL -Fr -Fr -Fr -UC -KZ -KZ -Vn -tQ -ut -ut -ut -Hj -ut -ut -mD -ZJ -oS -oS -oS -ut -hY -ns -Bb -NF -Sk -Ci -rG -"} -(21,1,1) = {" -rG -rG -Fr -Fr -Fr -Mw -Mw -Mw -nR -mh -xP -LK -my -lL -Fr -Fr -Fr -Fr -Fr -Fr -gm -PC -ut -vD -Wk -sz -ut -Ty -oS -mq -kj -PB -ut -BW -BN -kr -Sv -SH -sM -FG -"} -(22,1,1) = {" -rG -rG -Fr -Fr -Yf -Mw -Mw -Mw -MI -mj -MI -Mw -MI -Bu -lL -Fr -Fr -Fr -dp -SX -ny -gm -ut -vM -Gt -eV -ut -ut -bE -bE -bE -ut -ut -wR -kr -Fr -rG -rG -rG -FG -"} -(23,1,1) = {" -FG -rG -Fr -Fr -Fr -QQ -Mw -Mw -Mw -MI -mh -Mw -Mw -Mw -AG -Fr -Fr -Fr -sG -hd -Fq -QQ -ut -ly -gz -tj -ut -HF -hq -Ez -ID -Fr -Fr -Fr -Fr -Fr -rG -rG -rG -FG -"} -(24,1,1) = {" -FG -rG -rG -Fr -Fr -tQ -Mw -Mw -Mw -Mw -Mw -Mw -Mw -Mw -AG -Fr -Fr -Fr -wg -Hb -Eb -tQ -ut -ut -ut -ut -ut -iH -Ez -ID -dp -SX -ny -Fr -Fr -Fr -rG -rG -rG -FG -"} -(25,1,1) = {" -FG -rG -rG -Fr -Fr -Cp -YL -PC -Mw -Mw -Mw -Mw -Mw -Mw -ID -Fr -Fr -Fr -Fr -Fr -Fr -gm -YL -ID -Fr -gm -YL -YL -ID -Fr -sG -hd -Fq -Fr -Fr -rG -rG -rG -FG -FG -"} -(26,1,1) = {" -FG -FG -rG -fp -Fr -Fr -Fr -gm -YL -Mw -Mw -Mw -Mw -Fr -Fr -Fr -Fr -oI -Fr -oI -Fr -Fr -Fr -Fr -Fr -Fr -Fr -Fr -Fr -Fr -wg -Hb -Eb -rG -rG -rG -rG -FG -FG -FG -"} -(27,1,1) = {" -FG -FG -rG -Fr -Fr -Fr -Fr -Fr -Fr -Fr -Fr -oI -Fr -Fr -Fr -Fr -Fr -oI -PR -rG -PR -Fr -Fr -Fr -Fr -Fr -Fr -Fr -rG -rG -rG -rG -PR -rG -rG -FG -FG -FG -FG -FG -"} -(28,1,1) = {" -FG -FG -rG -rG -Fr -Fr -Fr -Fr -Fr -Fr -Fr -Fr -Fr -Fr -Fr -Fr -rG -rG -rG -rG -rG -rG -rG -Fr -Fr -rG -rG -rG -Fz -rG -rG -rG -rG -rG -FG -FG -FG -FG -FG -FG -"} -(29,1,1) = {" -FG -FG -FG -rG -rG -rG -rG -Fr -Fr -fp -Fr -Fr -rG -rG -rG -rG -rG -rG -FG -FG -rG -rG -rG -PR -rG -rG -Fz -rG -Fz -rG -rG -rG -FG -FG -FG -FG -FG -FG -FG -FG -"} -(30,1,1) = {" -FG -FG -FG -FG -FG -rG -rG -rG -rG -rG -rG -rG -rG -rG -FG -FG -FG -FG -FG -FG -FG -FG -rG -rG -rG -rG -rG -rG -rG -rG -FG -FG -FG -FG -FG -FG -FG -FG -FG -FG -"} diff --git a/_maps/RandomRuins/BeachRuins/beach_float_resort.dmm b/_maps/RandomRuins/BeachRuins/beach_float_resort.dmm deleted file mode 100644 index 29ad64707d8..00000000000 --- a/_maps/RandomRuins/BeachRuins/beach_float_resort.dmm +++ /dev/null @@ -1,4050 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"am" = ( -/obj/structure/fluff/beach_umbrella{ - pixel_x = -18; - pixel_y = -6 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ar" = ( -/obj/structure/table/wood, -/obj/structure/curtain/cloth, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"bm" = ( -/obj/structure/chair/plastic, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"br" = ( -/obj/structure/table/wood, -/obj/structure/curtain/cloth, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = 4; - pixel_y = 10 - }, -/obj/item/reagent_containers/food/snacks/pizzaslice/custom{ - pixel_x = -2; - pixel_y = 2 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"bs" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"bA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"bO" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/obj/effect/turf_decal/weather/sand, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/cyan{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ca" = ( -/obj/structure/chair/plastic{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"cg" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"cs" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"ct" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"cu" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"cA" = ( -/obj/structure/table/wood, -/obj/item/circuitboard/machine/ore_redemption, -/obj/item/paper/pamphlet{ - pixel_x = 10; - pixel_y = 3 - }, -/obj/item/paper/pamphlet{ - pixel_x = 7; - pixel_y = -1 - }, -/obj/item/flashlight/lamp{ - pixel_x = -5; - pixel_y = 2 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"cF" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"cL" = ( -/obj/structure/chair/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"dl" = ( -/obj/structure/railing/wood{ - dir = 10 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"dx" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/bed/double{ - dir = 1 - }, -/obj/item/bedsheet/double/green{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"dJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/chair/wood{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"dZ" = ( -/obj/structure/chair/comfy/grey/directional/north, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"ed" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/turf/closed/wall/concrete, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ef" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/wood{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"eD" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/effect/turf_decal/weather/sand, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"eZ" = ( -/obj/item/melee/roastingstick, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"fq" = ( -/obj/structure/bonfire/prelit, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"ft" = ( -/obj/machinery/door/airlock/wood{ - name = "Villa 4" - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"fz" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 - }, -/obj/structure/bonfire/prelit, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"gi" = ( -/obj/structure/curtain/cloth, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"gm" = ( -/obj/structure/table/wood, -/obj/structure/curtain/cloth, -/obj/item/flashlight/lamp/bananalamp{ - pixel_y = 5 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"gQ" = ( -/obj/structure/flora/ausbushes/genericbush, -/turf/open/floor/plating/grass/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"hi" = ( -/obj/effect/turf_decal/weather/sand/corner, -/obj/structure/fence/cut, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"hm" = ( -/obj/structure/flora/tree/palm{ - icon_state = "palm2" - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"hF" = ( -/obj/structure/flora/tree/palm{ - icon_state = "palm2"; - pixel_x = 18 - }, -/obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"hJ" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"il" = ( -/obj/effect/turf_decal/weather/sand, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ix" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 8 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"iS" = ( -/obj/structure/flora/ausbushes/grassybush, -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"iW" = ( -/obj/structure/railing/wood{ - dir = 1 - }, -/obj/structure/closet/crate/freezer{ - name = "BBQ Supplies" - }, -/obj/item/reagent_containers/food/snacks/meat/rawbacon, -/obj/item/reagent_containers/food/snacks/meat/rawbacon, -/obj/item/reagent_containers/food/snacks/meat/rawbacon, -/obj/item/reagent_containers/food/snacks/meat/rawbacon, -/obj/item/reagent_containers/food/snacks/meat/slab/killertomato, -/obj/item/reagent_containers/food/snacks/meat/slab/killertomato, -/obj/item/reagent_containers/food/snacks/meat/slab/killertomato, -/obj/item/reagent_containers/food/snacks/meat/slab/killertomato, -/obj/item/reagent_containers/food/snacks/meat/slab/human, -/obj/item/reagent_containers/food/snacks/meat/slab/human, -/obj/item/reagent_containers/food/snacks/meat/slab/human, -/obj/item/reagent_containers/food/snacks/meat/slab/human, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/bun, -/obj/item/reagent_containers/food/snacks/bun, -/obj/item/reagent_containers/food/snacks/bun, -/obj/item/reagent_containers/food/snacks/bun, -/turf/open/floor/plating/asteroid/sand/lit, -/area/ruin/beach/float_resort) -"iX" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/item/circuitboard/machine/autolathe, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"iZ" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"jh" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/orange{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"jQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"kh" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"ki" = ( -/obj/structure/railing/corner/wood{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"kp" = ( -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"kw" = ( -/obj/item/stack/sheet/mineral/sandstone, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"kG" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/weather/sand, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"kW" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/reagent_containers/food/drinks/bottle/sake, -/obj/item/clothing/under/costume/mech_suit/white, -/obj/item/clothing/glasses/sunglasses{ - name = "blastglasses" - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"lb" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"ln" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"ls" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"lP" = ( -/obj/structure/railing/wood{ - dir = 5 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"mj" = ( -/obj/structure/railing/corner/wood{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"mo" = ( -/obj/structure/railing/wood{ - dir = 1 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"mH" = ( -/obj/structure/railing/corner/wood, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"nf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"ng" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/obj/structure/fence{ - dir = 4 - }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"nw" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"nD" = ( -/obj/structure/flora/ausbushes/genericbush, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"nT" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/obj/effect/turf_decal/weather/sand, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"og" = ( -/obj/structure/flora/tree/palm{ - icon_state = "palm2" - }, -/obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"op" = ( -/obj/structure/flora/junglebush/large, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"oJ" = ( -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 1 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"oM" = ( -/obj/structure/fence/door/opened, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pm" = ( -/obj/structure/chair/stool/bar{ - dir = 8 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pq" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/obj/structure/fluff/beach_umbrella{ - pixel_x = -18; - pixel_y = 13 - }, -/turf/open/floor/carpet/blue{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pr" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"pA" = ( -/obj/effect/turf_decal/weather/sand, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pH" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 8 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pI" = ( -/obj/effect/turf_decal/weather/sand, -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pM" = ( -/obj/structure/flora/tree/jungle, -/turf/open/floor/plating/grass/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pY" = ( -/obj/item/tank/internals/plasma{ - pixel_x = -6; - pixel_y = 25 - }, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"qe" = ( -/obj/effect/turf_decal/sand/plating, -/obj/structure/fence{ - dir = 4 - }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"qi" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ql" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"qp" = ( -/obj/machinery/door/airlock/wood{ - name = "Villa 2" - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"qS" = ( -/obj/structure/table, -/obj/item/newspaper, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"qY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/plastic{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"rg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"rj" = ( -/obj/structure/railing/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"rk" = ( -/obj/structure/destructible/tribal_torch/lit, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"rM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"rS" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 4 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"rV" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"rZ" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"sz" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"sI" = ( -/obj/structure/toilet{ - pixel_y = 13 - }, -/obj/structure/curtain/cloth, -/turf/open/floor/plasteel, -/area/ruin/beach/float_resort/villa) -"sW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"tj" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"tA" = ( -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"tD" = ( -/obj/machinery/door/airlock/wood{ - name = "Villa 3" - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"uc" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/organ/heart/cybernetic/ipc, -/obj/item/instrument/piano_synth, -/obj/item/reagent_containers/syringe/contraband/space_drugs, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"uk" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"uV" = ( -/obj/structure/chair/plastic, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"va" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"vs" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 - }, -/obj/effect/turf_decal/weather/dirt/corner, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"vN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wa" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -13 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"we" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/genericbush, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wf" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/weather/sand, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wn" = ( -/obj/structure/chair/comfy/grey/directional/south, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"wp" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/obj/item/candle, -/obj/effect/spawner/lootdrop/donut, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wx" = ( -/obj/structure/flora/ausbushes/grassybush, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wE" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/storage/bag/money/vault, -/obj/item/reagent_containers/glass/mortar, -/obj/item/pestle, -/obj/item/clothing/suit/cardborg, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"xr" = ( -/obj/structure/chair/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"xO" = ( -/obj/structure/fence/cut, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"xT" = ( -/obj/structure/railing/wood{ - dir = 9 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"xZ" = ( -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"yt" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"yw" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/bed/double, -/obj/item/bedsheet/double/green, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"yW" = ( -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"zf" = ( -/obj/item/reagent_containers/glass/bucket/wooden{ - pixel_x = -3; - pixel_y = -3 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"zj" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"zO" = ( -/obj/structure/chair/stool/bar{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Aa" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = 13; - pixel_y = 6 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"Ac" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Al" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"As" = ( -/obj/item/fishing_rod, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"Ax" = ( -/obj/structure/table/wood, -/obj/structure/curtain/cloth, -/obj/item/reagent_containers/food/snacks/hotcrossbun, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"Ay" = ( -/obj/structure/fence/cut, -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"AF" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ba" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Bb" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Bw" = ( -/obj/structure/table/wood, -/obj/structure/curtain/cloth, -/obj/machinery/microwave{ - pixel_x = 3; - pixel_y = 6 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"BG" = ( -/obj/machinery/door/airlock/wood{ - name = "Villa 1" - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"BH" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -13 - }, -/obj/item/stock_parts/matter_bin{ - pixel_x = 9; - pixel_y = 6 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"BV" = ( -/obj/structure/railing/wood{ - dir = 5 - }, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/asteroid/sand/lit, -/area/ruin/beach/float_resort) -"Ch" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Cn" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Cq" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood, -/obj/item/candle, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Cs" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"CB" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/clothing/head/bearpelt, -/obj/item/stock_parts/scanning_module/adv, -/obj/item/reagent_containers/food/drinks/bottle/rum{ - pixel_x = 4; - pixel_y = 7 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"CV" = ( -/obj/structure/curtain/cloth, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"Dc" = ( -/obj/structure/fence{ - dir = 4 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Df" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Dg" = ( -/obj/structure/railing/wood{ - dir = 6 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Di" = ( -/obj/structure/railing/wood, -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Dr" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"DI" = ( -/obj/effect/turf_decal/weather/dirt, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"DQ" = ( -/obj/effect/turf_decal/weather/sand/corner, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"DW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/railing/wood{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Ee" = ( -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ey" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks/beer/fullupgrade{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"ED" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Fb" = ( -/obj/docking_port/stationary{ - dir = 2; - dwidth = 4; - height = 4; - width = 9 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Fk" = ( -/obj/structure/chair/sofa/brown/right/directional/east, -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Fs" = ( -/obj/effect/spawner/structure/window, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating, -/area/ruin/beach/float_resort) -"Fu" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"FB" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"FH" = ( -/obj/structure/flora/junglebush/large, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ga" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Gb" = ( -/obj/item/tank/internals/plasma, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Gv" = ( -/obj/effect/turf_decal/sand/plating, -/obj/item/toy/beach_ball, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Gy" = ( -/obj/structure/sink/kitchen{ - pixel_y = 16 - }, -/obj/item/reagent_containers/food/drinks/bottle/wine{ - pixel_x = -14; - pixel_y = 14 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"GF" = ( -/obj/structure/curtain/cloth, -/obj/structure/table/wood, -/obj/item/binoculars, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"GG" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 1 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"GS" = ( -/obj/structure/curtain/cloth, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/mug/tea, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"Ho" = ( -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"HO" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"HQ" = ( -/obj/structure/flora/ausbushes/genericbush, -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"HS" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ij" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/shaker{ - pixel_x = -6; - pixel_y = 11 - }, -/obj/item/reagent_containers/glass/rag{ - pixel_x = 9; - pixel_y = 22 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Io" = ( -/obj/structure/chair/sofa/brown/left/directional/east, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Iz" = ( -/obj/structure/table/wood, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Ja" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/condiment/ketchup{ - pixel_y = 18 - }, -/obj/item/reagent_containers/food/condiment/mayonnaise{ - pixel_x = -8; - pixel_y = 16 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Je" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/closed/wall/concrete, -/area/overmap_encounter/planetoid/beachplanet/explored) -"JB" = ( -/obj/machinery/door/airlock/wood{ - name = "Reception" - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"JC" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/drinkingglass/filled/cola{ - name = "Ocean Cola"; - pixel_y = 16 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/filled/cola{ - name = "Ocean Cola"; - pixel_x = 8; - pixel_y = 16 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/filled/cola{ - name = "Ocean Cola"; - pixel_x = 4; - pixel_y = 13 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/filled/cola{ - name = "Ocean Cola"; - pixel_x = -4; - pixel_y = 13 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"JQ" = ( -/obj/structure/flora/ausbushes/grassybush, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"JX" = ( -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ka" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/blue{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Kv" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"KE" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/obj/effect/turf_decal/weather/sand, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"KO" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"KQ" = ( -/obj/item/reagent_containers/food/drinks/bottle/whiskey{ - pixel_x = 10; - pixel_y = -4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"Ld" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/obj/effect/turf_decal/weather/sand/corner{ - dir = 8 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"LC" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"LJ" = ( -/obj/structure/railing/wood{ - dir = 1 - }, -/obj/structure/railing/wood{ - dir = 8 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Md" = ( -/obj/structure/toilet{ - dir = 1 - }, -/obj/structure/curtain/cloth, -/turf/open/floor/plasteel, -/area/ruin/beach/float_resort/villa) -"Mn" = ( -/obj/structure/railing/wood{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Mw" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"My" = ( -/obj/structure/chair/stool/bar{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Mz" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"ML" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"MV" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"NC" = ( -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ND" = ( -/obj/effect/turf_decal/weather/sand/corner, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"NN" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/obj/structure/flora/ausbushes/grassybush, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"NS" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/cyan{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"NU" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/turf_decal/weather/sand, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/orange{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"NV" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/ruin/beach/float_resort/villa) -"Op" = ( -/obj/structure/table/wood, -/obj/item/candle, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"OE" = ( -/turf/open/floor/plating/grass/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"OH" = ( -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"OL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"OT" = ( -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Pc" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/red, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Pe" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ph" = ( -/obj/structure/fence/cut, -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ps" = ( -/obj/structure/railing/wood{ - layer = 2.08 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"PB" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"PE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/chair/wood{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"PU" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"PV" = ( -/obj/effect/turf_decal/weather/sand, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Qj" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Qs" = ( -/obj/structure/flora/tree/jungle, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Qx" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"QF" = ( -/obj/structure/railing/wood{ - dir = 9 - }, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/asteroid/sand/lit, -/area/ruin/beach/float_resort) -"QH" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/obj/structure/fence/cut, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"QS" = ( -/obj/structure/flora/tree/palm{ - icon_state = "palm2"; - pixel_x = -1 - }, -/obj/effect/overlay/coconut, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"QV" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Rs" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/obj/structure/fluff/beach_umbrella{ - pixel_x = -18; - pixel_y = 13 - }, -/turf/open/floor/carpet/red, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Rt" = ( -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"RF" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"RR" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/ruin/beach/float_resort) -"Sf" = ( -/obj/structure/railing/wood, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"SD" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/obj/structure/fence{ - dir = 4 - }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"SF" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort/villa) -"SH" = ( -/obj/item/fishing_rod, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Tc" = ( -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Td" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Tr" = ( -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"TF" = ( -/obj/machinery/grill, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"TQ" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"TU" = ( -/obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"TZ" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"UA" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"UV" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/obj/effect/turf_decal/weather/sand/corner, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Va" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/wood{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Vb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Vl" = ( -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Vr" = ( -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Vz" = ( -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"VD" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"VM" = ( -/obj/item/shovel/spade, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"VY" = ( -/obj/item/reagent_containers/glass/bucket/wooden{ - pixel_y = 8 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Wj" = ( -/obj/structure/table/wood, -/obj/item/paper/pamphlet, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Wt" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/weather/sand, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Wv" = ( -/obj/structure/railing/corner/wood{ - dir = 1 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"WV" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Xf" = ( -/obj/structure/table/wood, -/obj/item/stock_parts/manipulator, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Xm" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 8 - }, -/obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Xo" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Yr" = ( -/obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"YM" = ( -/obj/structure/fluff/beach_umbrella{ - pixel_x = 13 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"YP" = ( -/turf/template_noop, -/area/template_noop) -"YQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/railing/wood{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/float_resort) -"Zj" = ( -/obj/structure/fence/cut, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Zp" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Zw" = ( -/obj/structure/flora/tree/palm{ - icon_state = "palm2" - }, -/obj/effect/overlay/coconut, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ZW" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) - -(1,1,1) = {" -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -"} -(2,1,1) = {" -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -"} -(3,1,1) = {" -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -"} -(4,1,1) = {" -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -kp -kp -kp -kp -kp -kp -kp -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -"} -(5,1,1) = {" -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -kp -kp -YP -YP -YP -YP -YP -YP -"} -(6,1,1) = {" -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -kp -kp -kp -kp -kp -kp -kp -kp -mH -AF -ki -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -kp -kp -kp -kp -kp -kp -kp -YP -YP -YP -YP -"} -(7,1,1) = {" -YP -YP -YP -YP -YP -YP -YP -YP -YP -kp -kp -kp -kp -kp -kp -kp -kp -kp -Sf -TU -Mn -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -YP -YP -YP -YP -YP -YP -YP -YP -kp -kp -kp -kp -kp -kp -kp -kp -kp -YP -YP -YP -"} -(8,1,1) = {" -YP -YP -YP -YP -YP -YP -YP -YP -kp -kp -kp -NV -NV -NV -NV -NV -NV -ki -Sf -Vr -Mn -kp -NV -NV -NV -NV -NV -NV -ki -kp -kp -kp -kp -YP -YP -YP -YP -YP -YP -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -YP -YP -YP -"} -(9,1,1) = {" -YP -YP -YP -YP -YP -YP -YP -kp -kp -kp -kp -gm -cu -dx -kW -NV -TU -lP -Dg -Vr -Mn -kp -NV -sI -BH -yt -CV -OH -Mn -kp -kp -kp -kp -kp -kp -YP -YP -YP -kp -kp -kp -kp -kp -kp -kp -kp -ND -Ch -Ch -pH -YP -YP -"} -(10,1,1) = {" -YP -YP -YP -YP -YP -YP -kp -kp -kp -kp -kp -ar -OH -OH -OH -qp -Vr -Vr -Vr -Vr -Mn -mH -NV -NV -NV -OH -CV -ct -Mn -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -ND -Ch -Ch -Ch -Dr -Rt -Rt -rV -YP -YP -"} -(11,1,1) = {" -YP -YP -YP -YP -YP -kp -kp -kp -kp -kp -mH -NV -NV -OH -dZ -NV -Vr -xT -dl -Vr -lP -Dg -Vr -NV -wn -OH -NV -NV -mj -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -ND -Dr -Rt -Rt -Rt -Rt -Rt -NS -Rt -YP -YP -"} -(12,1,1) = {" -YP -YP -YP -YP -YP -kp -kp -kp -kp -kp -Sf -hJ -CV -OH -NV -NV -NV -mj -Sf -Vr -Vr -Vr -Vr -BG -OH -OH -OH -GF -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -ND -Ch -Ch -Dr -Rt -Rt -Cn -Rt -Cn -am -bO -Rt -YP -YP -"} -(13,1,1) = {" -YP -YP -YP -YP -YP -kp -kp -kp -kp -kp -Sf -KQ -CV -SF -Aa -Md -NV -kp -Sf -Vr -xT -dl -TU -NV -CB -yw -cu -GS -kp -kp -kp -kp -kp -kp -kp -kp -ND -Ch -Dr -Rt -Rt -Rt -Rt -Rt -Rt -hF -Rt -Fu -Rt -Rt -YP -YP -"} -(14,1,1) = {" -YP -YP -YP -YP -kp -kp -kp -kp -kp -kp -tA -NV -NV -NV -NV -NV -NV -kp -Sf -Vr -Mn -tA -NV -NV -NV -NV -NV -NV -kp -kp -kp -kp -kp -kp -kp -kp -pA -Rt -Rt -Rt -Zp -NU -JQ -FB -UA -SD -UA -kG -Rt -Rt -Rt -YP -"} -(15,1,1) = {" -YP -YP -YP -YP -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -Sf -Vr -Mn -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -ND -Dr -Rt -Zp -VY -QS -jh -Rt -qi -Gv -qe -yW -wf -Rt -Rt -Rt -YP -"} -(16,1,1) = {" -YP -YP -YP -YP -kp -kp -kp -kp -mH -AF -AF -AF -ki -kp -kp -kp -kp -kp -Sf -Vr -Mn -kp -kp -kp -kp -kp -kp -kp -kp -kp -mH -AF -ki -kp -kp -pA -SH -Rt -Rt -vN -rg -vN -Rt -LC -Ba -ng -Ba -nT -Rt -Rt -Rt -YP -"} -(17,1,1) = {" -YP -YP -YP -kp -kp -kp -kp -mH -Dg -dJ -ef -Al -lP -AF -AF -AF -AF -AF -Dg -Vr -lP -AF -AF -AF -AF -AF -AF -AF -AF -AF -Dg -Xm -RR -RR -RR -RR -RR -JQ -Rt -JX -zj -pI -Fu -Rt -YM -og -Rt -Rt -Fu -Rt -Rt -YP -"} -(18,1,1) = {" -YP -YP -YP -kp -kp -kp -kp -Sf -cL -tj -eZ -iZ -Vb -jQ -jQ -jQ -ql -Vb -jQ -va -jQ -ql -Vb -jQ -jQ -nf -ql -Vb -jQ -nf -nf -Xo -RR -Io -Fk -qS -Fs -QV -Rt -wp -NC -Tc -Rt -Rt -Zp -Zp -VM -Rt -Rt -Rt -YP -YP -"} -(19,1,1) = {" -YP -YP -YP -kp -kp -kp -kp -Sf -rk -Vr -fq -Vr -lb -mo -nw -nw -rj -sz -mo -nw -nw -rj -sz -mo -nw -nw -DW -sz -LJ -nw -nw -YQ -gi -Vr -Vr -Ho -RR -PV -Rt -pm -MV -Cq -Rt -Rt -Rt -Rt -Rt -Zp -Vl -Rt -YP -YP -"} -(20,1,1) = {" -YP -YP -kp -kp -kp -kp -kp -Sf -xr -pr -Vr -kh -ln -nf -ls -nf -rM -ln -nf -nf -nf -rM -ln -nf -nf -nf -rM -ln -nf -nf -nf -Xo -RR -uV -Vr -Vr -JB -PV -Rt -ED -Ga -zO -Rt -Vl -Rt -Rt -nD -kw -Rt -Rt -YP -YP -"} -(21,1,1) = {" -YP -YP -kp -kp -kp -kp -kp -tA -dl -PE -Va -OL -xT -dl -Vr -xT -TQ -TQ -TQ -TQ -TQ -TQ -TQ -TQ -TQ -TQ -TQ -TQ -TQ -TQ -dl -cs -Fs -uV -Vr -Vr -RR -PV -Rt -bA -sW -bA -Rt -Rt -op -Vl -JQ -Fu -Rt -YP -YP -YP -"} -(22,1,1) = {" -YP -kp -kp -kp -kp -kp -kp -kp -tA -TQ -TQ -TQ -mj -Sf -Vr -Mn -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -Sf -qY -Fs -cA -Wj -Vr -Fs -PV -Rt -Rt -hm -nD -Rt -Rt -wx -Vl -Yr -Vl -Vl -YP -YP -YP -"} -(23,1,1) = {" -YP -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -Sf -Vr -Mn -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -Sf -qY -Fs -Xf -bs -Vr -Fs -KO -Rt -Fu -kw -Rt -Rt -OT -Vl -nD -Vl -Vl -OT -YP -YP -YP -"} -(24,1,1) = {" -YP -kp -kp -kp -kp -kp -NV -NV -NV -NV -NV -NV -ki -Sf -Vr -Mn -kp -NV -NV -NV -NV -NV -NV -ki -kp -kp -kp -kp -kp -kp -Sf -cF -RR -RR -RR -RR -RR -op -Rt -Kv -ed -QH -QH -xO -xO -Tr -Vl -gQ -pM -YP -YP -YP -"} -(25,1,1) = {" -YP -kp -kp -kp -kp -kp -ar -cu -dx -uc -NV -TU -lP -Dg -Vr -Mn -kp -NV -sI -wa -yt -CV -As -Mn -kp -kp -kp -kp -kp -kp -tA -UV -Wv -Rt -Rt -Fu -Rt -Rt -Rt -PU -Dc -Tr -Tr -DQ -ix -Tr -Vl -OE -Ee -YP -YP -YP -"} -(26,1,1) = {" -YP -kp -kp -kp -kp -kp -br -OH -OH -OH -ft -Vr -Vr -Vr -Vr -Mn -mH -NV -NV -NV -OH -CV -ct -Mn -kp -kp -kp -kp -kp -kp -kp -Dr -Rt -Ka -pq -Rt -Rt -Rt -Yr -GG -Dc -Tr -Tr -il -PU -Tr -OT -OE -Vz -Vl -YP -YP -"} -(27,1,1) = {" -YP -kp -kp -kp -kp -mH -NV -NV -OH -dZ -NV -Vr -xT -dl -Vr -lP -Dg -Vr -NV -wn -OH -NV -NV -mj -kp -mH -AF -AF -AF -AF -eD -ZW -Rt -VM -Zw -Cn -Rt -Fu -Rt -PU -Dc -Tr -Tr -il -PU -Tr -wx -Vz -Vz -Vl -YP -YP -"} -(28,1,1) = {" -YP -kp -kp -kp -kp -Sf -OH -CV -OH -NV -NV -NV -mj -Sf -Vr -Vr -Vr -Vr -tD -OH -OH -OH -Ax -kp -kp -Sf -Ey -Ij -My -Vr -Vr -Wt -Rt -bm -Rt -RF -Bb -Rt -Rt -PU -oM -Fb -DQ -Ld -vs -Ac -Vl -OE -Vz -Vz -YP -YP -"} -(29,1,1) = {" -YP -kp -kp -kp -kp -Sf -ct -CV -SF -Aa -Md -NV -kp -Sf -Vr -xT -dl -TU -NV -wE -yw -cu -Bw -kp -kp -Ps -Gy -Iz -My -Vr -xZ -QF -Rt -JQ -Qj -fz -PV -ca -Yr -PU -Dc -Tr -ML -PB -DI -HO -Vl -OE -Vz -Vz -Vl -YP -"} -(30,1,1) = {" -YP -kp -kp -kp -kp -tA -NV -NV -NV -NV -NV -NV -kp -Sf -Vr -Mn -tA -NV -NV -NV -NV -NV -NV -kp -kp -Sf -Vr -Ja -My -Vr -Op -iW -Rt -bm -TZ -Cs -uk -Rt -Vl -Tr -Dc -Tr -Tr -Tr -rS -HS -Vz -OE -OE -Vz -Vl -YP -"} -(31,1,1) = {" -YP -YP -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -Sf -Vr -lP -AF -AF -AF -AF -AF -AF -AF -AF -AF -Di -Vr -JC -Mz -Vr -Td -BV -Rt -Rt -Fu -Zp -Zp -Rt -OT -oJ -Dc -DQ -VD -VD -ix -DI -HQ -Vl -wx -Vz -OT -YP -"} -(32,1,1) = {" -YP -YP -YP -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -Sf -Vr -Vr -Vr -Vr -Vr -Vr -Vr -Vr -Vr -Vr -Vr -Vr -Vr -Vr -Vr -Vr -Vr -Wt -Rt -zf -Rt -kw -Vl -Vl -Fu -rZ -Dc -il -Rt -Df -PB -il -Qs -Vl -Vl -Vl -Vl -YP -"} -(33,1,1) = {" -YP -YP -YP -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -Sf -Vr -xT -TQ -TQ -TQ -TQ -TQ -TQ -TQ -TQ -TQ -TQ -TQ -KE -NN -Qx -Qx -Mw -Rt -Rt -Vl -Qs -OT -Vl -Vl -op -Je -Ph -Zj -Ay -hi -Pe -Fu -iX -Vl -Qs -Vl -YP -"} -(34,1,1) = {" -YP -YP -YP -YP -kp -kp -kp -kp -kp -kp -kp -kp -kp -Sf -TU -Mn -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -ND -Dr -Rt -QS -TF -Rt -Rt -op -Vl -wx -Vl -JQ -Vl -Vl -Gb -pY -Vl -nD -Vl -Rt -Rt -OT -Vl -WV -Vl -YP -"} -(35,1,1) = {" -YP -YP -YP -YP -YP -kp -kp -kp -kp -kp -kp -kp -kp -tA -TQ -mj -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -pA -Rt -Pc -Rs -Rt -Fu -Rt -Vl -OT -Vl -Vl -Vl -we -Vl -Vl -Qs -iS -Vl -cg -nD -Vl -OT -nD -Vl -FH -YP -"} -(36,1,1) = {" -YP -YP -YP -YP -YP -YP -YP -YP -YP -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -kp -YP -YP -YP -YP -YP -Rt -Rt -Rt -Rt -YP -YP -YP -YP -YP -YP -YP -Vl -Vl -Vl -Vl -Vl -Vl -Qs -Vl -Vl -Vz -Vz -Vl -YP -"} -(37,1,1) = {" -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -kp -kp -kp -kp -kp -kp -kp -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -Vl -Vl -Vl -nD -Vl -Vz -YP -YP -"} -(38,1,1) = {" -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -YP -"} diff --git a/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm b/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm deleted file mode 100644 index a751740c08a..00000000000 --- a/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm +++ /dev/null @@ -1,10455 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"aj" = ( -/obj/structure/flora/ausbushes/leafybush, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ao" = ( -/obj/structure/sink{ - pixel_y = 15 - }, -/obj/structure/mirror{ - pixel_y = 28 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown) -"aq" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ar" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/small/directional/north, -/obj/item/kirbyplants/random, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"as" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/beach/oceantown/hotel) -"aA" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/railing/wood, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"aD" = ( -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"aK" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/bananalamp, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown) -"aM" = ( -/obj/machinery/door/airlock{ - name = "Employees Only" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown/shop) -"aO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown/hotel) -"aP" = ( -/obj/structure/table, -/obj/machinery/paystand, -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/shop) -"aR" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"bb" = ( -/obj/structure/closet/crate/bin, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown/hotel) -"bf" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown) -"bj" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"br" = ( -/obj/structure/railing/wood{ - dir = 10 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"bs" = ( -/obj/machinery/vending/cola/random, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"bu" = ( -/obj/structure/table, -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"bD" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ca" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"cb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ce" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/grape, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ck" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"cs" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ct" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"cx" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/chair/comfy/orange/directional/west, -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"cy" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/structure/sign/poster/official/cohiba_robusto_ad{ - pixel_y = 32; - pixel_x = 32 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"cA" = ( -/obj/effect/spawner/structure/window, -/obj/structure/curtain/cloth, -/turf/open/floor/plating, -/area/ruin/beach/oceantown) -"cE" = ( -/obj/structure/toilet{ - pixel_y = 13 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown) -"cN" = ( -/turf/open/floor/plasteel/white, -/area/ruin/beach/oceantown/bar) -"cR" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"cW" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/structure/railing/corner/wood{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"df" = ( -/obj/structure/table, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"dj" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"dl" = ( -/obj/structure/railing/corner/wood{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"dv" = ( -/obj/structure/railing/corner/wood{ - dir = 4 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"dy" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"dA" = ( -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ruin/beach/oceantown/bar) -"dF" = ( -/obj/structure/chair/sofa/brown/directional/east, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown/hotel) -"dL" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/cyan{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"dT" = ( -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"dU" = ( -/obj/structure/fence, -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"dX" = ( -/obj/structure/table/wood, -/obj/item/storage/fancy/candle_box, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"dY" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ed" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown/hotel) -"eh" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ei" = ( -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/bar) -"ek" = ( -/turf/open/floor/plating/grass/jungle, -/area/overmap_encounter/planetoid/beachplanet/explored) -"el" = ( -/obj/structure/table, -/obj/item/paper_bin/bundlenatural, -/obj/item/pen/fourcolor, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown) -"em" = ( -/obj/structure/table, -/obj/machinery/paystand, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/shop) -"ep" = ( -/obj/machinery/grill, -/obj/item/reagent_containers/food/snacks/meat/steak, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ev" = ( -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown) -"ex" = ( -/obj/effect/turf_decal/sand, -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"eB" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"eG" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"eJ" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"eK" = ( -/obj/machinery/shower{ - pixel_y = 15 - }, -/obj/structure/curtain, -/turf/open/floor/plasteel/mono, -/area/ruin/beach/oceantown) -"eM" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"eN" = ( -/obj/structure/chair/sofa/brown/corner/directional/north, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown/hotel) -"eV" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/effect/turf_decal/weather/sand, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"fg" = ( -/obj/machinery/door/airlock{ - name = "Employees Only"; - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown/shop) -"fh" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown) -"fn" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/donut/slimejelly, -/obj/effect/spawner/lootdrop/donut, -/obj/effect/spawner/lootdrop/donut, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"fp" = ( -/obj/structure/railing/wood, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"fu" = ( -/obj/effect/turf_decal/sand, -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"fv" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/leafybush, -/obj/structure/flora/ausbushes/brflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"fy" = ( -/obj/structure/railing/corner/wood, -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"fz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/chair/plastic{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"fA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"fC" = ( -/obj/structure/table/wood, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown/hotel) -"fD" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"fG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"fJ" = ( -/obj/structure/chair/sofa/brown/corner/directional/east, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown/hotel) -"fL" = ( -/obj/structure/table, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"fV" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"fZ" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/cabbage, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"gb" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"gd" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ge" = ( -/obj/structure/table, -/obj/structure/sink{ - pixel_y = 22; - layer = 2.7 - }, -/obj/item/pizzabox/meat, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"gi" = ( -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown) -"gn" = ( -/obj/structure/flora/ausbushes/leafybush, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"gp" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/west, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown) -"gu" = ( -/obj/effect/turf_decal/sand/plating{ - light_range = 2 - }, -/obj/machinery/shower{ - pixel_y = 15 - }, -/obj/effect/turf_decal/weather/sand, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"gv" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"gA" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/railing/corner/wood{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"gN" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"gX" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown) -"gZ" = ( -/obj/machinery/door/window{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/shop) -"hb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"hc" = ( -/obj/machinery/autolathe, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"hl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"hu" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"hw" = ( -/obj/structure/sign/poster/official/cleanliness{ - pixel_y = 32; - pixel_x = 32 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"hF" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/orange{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"hG" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/ruin/beach/oceantown/hotel) -"hL" = ( -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/brflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"hM" = ( -/obj/structure/flora/tree/palm{ - icon_state = "palm2" - }, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"hW" = ( -/obj/structure/railing/wood{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"hY" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"id" = ( -/obj/structure/flora/ausbushes/genericbush, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ie" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/railing/wood{ - dir = 10 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ih" = ( -/obj/structure/mineral_door/wood{ - name = "Hotel" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown) -"ij" = ( -/obj/item/chisel, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"im" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"in" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/leafybush, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"io" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Johann's Bar"; - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown/bar) -"iu" = ( -/obj/structure/bed, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown/hotel) -"iv" = ( -/obj/structure/chair/sofa/brown/left/directional/south, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown/hotel) -"iw" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ix" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/donut/slimejelly, -/obj/effect/spawner/lootdrop/donut, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"iz" = ( -/obj/machinery/jukebox, -/turf/open/floor/light, -/area/ruin/beach/oceantown/bar) -"iC" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/leafybush, -/turf/open/floor/plating/grass/beach/lit, -/area/ruin/beach/oceantown) -"iO" = ( -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"iT" = ( -/obj/structure/flora/tree/jungle{ - icon_state = "tree5" - }, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"iW" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Grocery Store"; - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"jj" = ( -/obj/structure/railing/wood{ - dir = 1 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"jv" = ( -/obj/structure/flora/ausbushes/grassybush, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"jG" = ( -/obj/structure/closet/secure_closet/freezer/fridge/open, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"jL" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/peas, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"jQ" = ( -/obj/structure/railing/corner/wood, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"jY" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/tower, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"kb" = ( -/turf/open/floor/plating/grass, -/area/overmap_encounter/planetoid/beachplanet/explored) -"kd" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"kf" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"kj" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"km" = ( -/obj/structure/closet/athletic_mixed, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/hotel) -"kn" = ( -/obj/structure/flora/ausbushes/leafybush, -/turf/open/floor/plating/grass, -/area/overmap_encounter/planetoid/beachplanet/explored) -"kp" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"kw" = ( -/obj/structure/sink{ - dir = 8; - pixel_y = 1; - pixel_x = 13 - }, -/obj/structure/mirror{ - pixel_x = 29; - pixel_y = -3 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown) -"kD" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"kE" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"kG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"kH" = ( -/obj/machinery/vending/boozeomat{ - set_obj_flags = "EMAGGED" - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/shop) -"kI" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"kN" = ( -/obj/structure/railing/corner, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"kP" = ( -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 6 - }, -/turf/open/floor/plasteel/white, -/area/ruin/beach/oceantown/bar) -"kW" = ( -/obj/machinery/door/airlock/public/glass{ - name = "General Store"; - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"lb" = ( -/obj/machinery/door/airlock/wood{ - name = "Beach Bar" - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown/bar) -"lc" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"lj" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown/hotel) -"lk" = ( -/obj/structure/flora/tree/jungle{ - icon_state = "tree3" - }, -/turf/open/floor/plating/grass/jungle, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ly" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/tobacco, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"lE" = ( -/obj/machinery/door/airlock/public/glass{ - name = "The 'Nutshack"; - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown/shop) -"lH" = ( -/obj/effect/turf_decal/weather/sand/corner, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"lL" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"lT" = ( -/obj/structure/fluff/beach_umbrella/cap, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"lZ" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/blue{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"mc" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/leafybush, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"mi" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"mm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/closet/crate/bin, -/obj/structure/railing/wood{ - dir = 9 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"mr" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/orange{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"mt" = ( -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 4 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"mu" = ( -/obj/structure/closet/crate/bin, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"mG" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"mJ" = ( -/obj/structure/chair/sofa/brown/right/directional/north, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown/hotel) -"mR" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"mX" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"mY" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue, -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"ni" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"nj" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Johann's Bar" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown/bar) -"nu" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"nL" = ( -/obj/structure/railing/wood, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"nM" = ( -/obj/machinery/washing_machine, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/hotel) -"nT" = ( -/obj/effect/turf_decal/weather/sand, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"nZ" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"oc" = ( -/obj/effect/turf_decal/siding/thinplating/light, -/turf/open/floor/plasteel/white, -/area/ruin/beach/oceantown/bar) -"oj" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"om" = ( -/obj/machinery/door/airlock{ - name = "Guest Room" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown/hotel) -"oo" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/paper_bin/bundlenatural, -/obj/item/pen, -/turf/open/floor/plasteel/grimy, -/area/ruin/beach/oceantown/hotel) -"or" = ( -/obj/effect/turf_decal/corner/opaque/bar{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"ox" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/jungle, -/area/overmap_encounter/planetoid/beachplanet/explored) -"oz" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/cyan{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"oF" = ( -/obj/effect/turf_decal/weather/sand, -/obj/effect/turf_decal/weather/sand, -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"oM" = ( -/obj/structure/table, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/white, -/area/ruin/beach/oceantown/bar) -"oS" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"oT" = ( -/turf/open/floor/carpet, -/area/ruin/beach/oceantown) -"pe" = ( -/obj/item/stack/sheet/mineral/sandstone, -/obj/item/stack/sheet/mineral/sandstone, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pm" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"pn" = ( -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pq" = ( -/obj/machinery/door/airlock/wood{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pr" = ( -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 1 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ps" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown/hotel) -"pt" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"pu" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pv" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"px" = ( -/obj/structure/fluff/beach_umbrella, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"pB" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/beach/lit, -/area/ruin/beach/oceantown) -"pE" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/cotton, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"qb" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"qd" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"qp" = ( -/obj/effect/turf_decal/weather/sand, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"qu" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/drinkingglass/filled/cola{ - name = "Ocean Cola" - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"qw" = ( -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"qB" = ( -/obj/effect/turf_decal/sand, -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"qW" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown) -"rc" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/ruin/beach/oceantown/hotel) -"rf" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/bottle/rum, -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"rg" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"rh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/small/directional/west, -/obj/structure/dresser, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown) -"ri" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/carrot, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"rl" = ( -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ru" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/chanter, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ry" = ( -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"rz" = ( -/obj/structure/flora/tree/jungle{ - icon_state = "tree10" - }, -/turf/open/floor/plating/grass, -/area/overmap_encounter/planetoid/beachplanet/explored) -"rH" = ( -/obj/machinery/vending/boozeomat, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/bar) -"rL" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/cyan{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"rN" = ( -/obj/structure/closet/secure_closet/freezer/meat, -/obj/effect/turf_decal/siding/thinplating/light, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/white, -/area/ruin/beach/oceantown/bar) -"rQ" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/shop) -"rR" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"sa" = ( -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"sb" = ( -/obj/structure/table, -/obj/machinery/microwave, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/white, -/area/ruin/beach/oceantown/bar) -"se" = ( -/obj/structure/table, -/obj/machinery/microwave, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"sh" = ( -/obj/item/toy/beach_ball, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"sj" = ( -/obj/structure/chair/sofa/brown/right/directional/east, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"sp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/obj/item/kirbyplants/random, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"sq" = ( -/obj/structure/curtain, -/obj/machinery/shower{ - dir = 1 - }, -/turf/open/floor/plasteel/mono, -/area/ruin/beach/oceantown) -"sr" = ( -/obj/structure/chair/comfy/orange/directional/west, -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"sy" = ( -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown) -"sA" = ( -/obj/structure/table/wood/fancy/black, -/obj/machinery/light/dim/directional/south, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_y = 4; - pixel_x = 8 - }, -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"sD" = ( -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"sH" = ( -/obj/structure/railing/wood, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"sQ" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"sS" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"sT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/closet/crate/bin, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"sX" = ( -/obj/structure/mineral_door/wood{ - name = "Bedroom" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown) -"te" = ( -/obj/structure/chair/sofa/brown/left/directional/south, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"ti" = ( -/obj/structure/flora/junglebush, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"tj" = ( -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"tr" = ( -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"tw" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown/hotel) -"tC" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"tD" = ( -/obj/structure/table, -/obj/machinery/light/small/directional/south, -/obj/structure/bedsheetbin, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/hotel) -"tI" = ( -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"tJ" = ( -/obj/structure/toilet{ - dir = 4; - pixel_x = -2 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown) -"tQ" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/hotel) -"tU" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/eggplant, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"tW" = ( -/obj/structure/table, -/obj/item/seeds/grass, -/obj/item/plant_analyzer, -/obj/structure/sign/poster/official/fruit_bowl{ - pixel_y = 32 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown) -"tY" = ( -/obj/structure/flora/ausbushes/reedbush, -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ue" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"uh" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks/fullupgrade{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown/bar) -"un" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/donut, -/obj/effect/spawner/lootdrop/donut, -/obj/effect/spawner/lootdrop/donut, -/obj/effect/spawner/lootdrop/donut, -/obj/effect/spawner/lootdrop/donut/slimejelly, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"ur" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"uu" = ( -/obj/structure/table/wood, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown) -"uy" = ( -/obj/structure/rack, -/obj/machinery/light/directional/north, -/obj/item/shovel, -/obj/item/shovel, -/obj/item/shovel, -/obj/item/shovel, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"uC" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/grassybush, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"uI" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/watermelon, -/obj/item/shovel/spade, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"uV" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown) -"uW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"vf" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"vp" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/obj/item/melee/roastingstick, -/obj/item/reagent_containers/food/snacks/sausage, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"vy" = ( -/obj/machinery/pdapainter, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"vE" = ( -/obj/structure/flora/ausbushes/brflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"vF" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/wheat, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"vI" = ( -/obj/structure/table/wood, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown) -"vL" = ( -/obj/structure/table/wood, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"we" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"wf" = ( -/obj/structure/flora/ausbushes/leafybush, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wo" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wt" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/orange{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wu" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"ww" = ( -/obj/structure/statue/sandstone/assistant, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wF" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/brflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wN" = ( -/obj/structure/flora/ausbushes/reedbush, -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wQ" = ( -/obj/structure/flora/tree/jungle{ - icon_state = "tree6" - }, -/turf/open/floor/plating/grass, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wS" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"wZ" = ( -/obj/item/stack/sheet/mineral/sandstone, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"xe" = ( -/obj/machinery/door/airlock/public/glass{ - name = "The 'Nutshack" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown/shop) -"xh" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/ruin/beach/oceantown) -"xj" = ( -/obj/structure/bookcase/random, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"xn" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/ruin/beach/oceantown/bar) -"xo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"xp" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"xu" = ( -/obj/structure/table/wood, -/obj/item/book/manual/ripley_build_and_repair, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"xx" = ( -/obj/structure/flora/tree/palm{ - icon_state = "palm2" - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"xy" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"xz" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/aloe, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"xE" = ( -/obj/structure/flora/tree/jungle/small{ - icon_state = "tree1" - }, -/turf/open/floor/plating/grass/jungle, -/area/overmap_encounter/planetoid/beachplanet/explored) -"xF" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown) -"xH" = ( -/obj/structure/toilet{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown) -"xK" = ( -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"xL" = ( -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"xO" = ( -/obj/structure/fence/door{ - dir = 4 - }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"yb" = ( -/obj/structure/railing/wood{ - dir = 6 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"yc" = ( -/obj/structure/rack, -/obj/item/storage/box/drinkingglasses, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"yl" = ( -/obj/structure/flora/ausbushes/leafybush, -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"yu" = ( -/obj/structure/table/wood, -/obj/structure/sign/poster/contraband{ - pixel_y = -32; - pixel_x = 32 - }, -/obj/item/reagent_containers/food/drinks/mug, -/obj/item/reagent_containers/food/drinks/mug, -/obj/item/reagent_containers/food/drinks/bottle/wine{ - pixel_y = 10; - pixel_x = -9 - }, -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"yz" = ( -/obj/effect/turf_decal/road/stripes{ - dir = 4 - }, -/obj/effect/turf_decal/road/stripes{ - dir = 8 - }, -/turf/open/floor/concrete/pavement{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"yA" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"yD" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"yE" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"yJ" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/orange{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"yQ" = ( -/obj/structure/railing/corner/wood, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"yS" = ( -/turf/closed/wall/concrete, -/area/overmap_encounter/planetoid/beachplanet/explored) -"yX" = ( -/obj/structure/railing/wood{ - dir = 6 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"zg" = ( -/obj/structure/chair/stool/bar{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/bar{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"zk" = ( -/obj/structure/chair/sofa/brown/directional/south, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"zl" = ( -/obj/structure/sign/poster/retro/build{ - pixel_y = -32; - pixel_x = 32 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"zr" = ( -/obj/structure/rack, -/obj/item/reagent_containers/food/snacks/chocolatebar, -/obj/item/reagent_containers/food/snacks/chocolatebar, -/obj/item/reagent_containers/food/snacks/chocolatebar, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"zv" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown) -"zD" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/cherry, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"zI" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"zM" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"zP" = ( -/obj/structure/railing/wood, -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"zQ" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"zU" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/banana, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"zX" = ( -/obj/machinery/biogenerator, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown) -"zZ" = ( -/obj/structure/table/wood/fancy/black, -/obj/machinery/light/dim/directional/north, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_y = 3; - pixel_x = 3 - }, -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"Ac" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/bananalamp, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown/hotel) -"Al" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"An" = ( -/obj/structure/flora/tree/jungle/small{ - icon_state = "tree2" - }, -/turf/open/floor/plating/grass/jungle, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ap" = ( -/obj/structure/window{ - dir = 4 - }, -/obj/machinery/vending/cigarette/beach, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/shop) -"Ax" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/wood, -/area/ruin/beach/oceantown/hotel) -"AA" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/plump, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"AD" = ( -/obj/structure/table, -/obj/structure/sink{ - dir = 8; - pixel_y = 6; - pixel_x = 13 - }, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"AL" = ( -/obj/machinery/door/window, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/shop) -"AM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"AS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"AY" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"Bd" = ( -/obj/structure/bookcase/random, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown) -"Be" = ( -/obj/structure/table, -/obj/item/pizzabox/meat, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"Bl" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown) -"Bq" = ( -/obj/machinery/door/airlock/wood, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown) -"BC" = ( -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"BI" = ( -/obj/structure/flora/ausbushes/reedbush, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"BP" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"BV" = ( -/obj/structure/filingcabinet, -/turf/open/floor/plasteel/grimy, -/area/ruin/beach/oceantown/hotel) -"BX" = ( -/obj/machinery/vending/boozeomat{ - set_obj_flags = "EMAGGED" - }, -/turf/closed/wall/mineral/wood/nonmetal, -/area/ruin/beach/oceantown/bar) -"BY" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ca" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Cc" = ( -/obj/structure/flora/tree/jungle{ - icon_state = "tree5" - }, -/turf/open/floor/plating/grass, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Cd" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/fernybush, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Cf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/airlock/wood{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown) -"Ck" = ( -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Cq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Cv" = ( -/obj/structure/reagent_dispensers/watertank/high, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Cz" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/beach/oceantown/hotel) -"CC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown/hotel) -"CF" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 1 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"CG" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"CJ" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"CS" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/railing/corner/wood, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"CT" = ( -/obj/structure/rack, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"CW" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/cyan{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"De" = ( -/obj/structure/railing/wood, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Dj" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"Dk" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/obj/item/melee/roastingstick, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Dy" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"DC" = ( -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown/bar) -"DD" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/bamboo, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"DE" = ( -/obj/structure/railing/wood, -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"DK" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/docking_port/stationary{ - height = 7; - width = 19; - dwidth = 9 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"DM" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"DP" = ( -/obj/structure/flora/ausbushes/genericbush, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"DT" = ( -/obj/structure/chair/plastic, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"DX" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"Eb" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ed" = ( -/obj/machinery/shower{ - pixel_y = 15 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/beach/oceantown) -"Em" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/railing/corner/wood, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"En" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/obj/effect/turf_decal/weather/sand, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Er" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/purple{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Eu" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ew" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/airlock/wood, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown) -"Ex" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/shaker, -/obj/item/reagent_containers/glass/rag, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown/bar) -"Ez" = ( -/obj/structure/chair/stool/bar{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"EC" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/brflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"EH" = ( -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown) -"EJ" = ( -/turf/open/floor/plasteel/stairs{ - dir = 1; - color = "#55391A" - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"EN" = ( -/turf/open/floor/light, -/area/ruin/beach/oceantown/bar) -"EQ" = ( -/obj/structure/flora/ausbushes/grassybush, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ER" = ( -/obj/structure/railing, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ES" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"EU" = ( -/obj/structure/railing/wood, -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"FA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"FC" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/tree/jungle{ - icon_state = "tree9" - }, -/turf/open/floor/plating/grass, -/area/overmap_encounter/planetoid/beachplanet/explored) -"FF" = ( -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/beach/lit, -/area/ruin/beach/oceantown) -"FI" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown) -"FL" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"FM" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_y = 7 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_y = 1; - pixel_x = -9 - }, -/obj/item/reagent_containers/food/drinks/bottle/whiskey{ - pixel_y = -4; - pixel_x = 10 - }, -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"FO" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/item/lighter, -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"FT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown) -"FW" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ga" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Gd" = ( -/obj/structure/table, -/obj/structure/window{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/shop) -"Ge" = ( -/obj/effect/turf_decal/road/stripes{ - dir = 8 - }, -/obj/effect/turf_decal/road/stripes{ - dir = 4 - }, -/turf/open/floor/concrete/pavement{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Gh" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown/hotel) -"Gk" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks/fullupgrade{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/bar) -"Gn" = ( -/turf/open/water/beach/deep, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Go" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Gq" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/tea, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Gt" = ( -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"GA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"GE" = ( -/obj/effect/turf_decal/road{ - dir = 4 - }, -/turf/open/floor/concrete/pavement{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"GI" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"GJ" = ( -/obj/structure/rack, -/obj/item/storage/fancy/donut_box, -/obj/item/storage/fancy/donut_box, -/obj/item/storage/fancy/donut_box, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"GM" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/railing/corner/wood{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"GU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/railing/wood{ - dir = 5 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"GZ" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/closet/crate/freezer, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sausage, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Hi" = ( -/obj/structure/railing/wood{ - dir = 6 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Hk" = ( -/obj/effect/turf_decal/weather/sand, -/obj/effect/turf_decal/weather/sand, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ho" = ( -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Hp" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks/beer/fullupgrade{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown/bar) -"Hu" = ( -/obj/structure/window{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/shop) -"Hv" = ( -/obj/structure/railing, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Hz" = ( -/obj/structure/flora/ausbushes/reedbush, -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"HA" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"HJ" = ( -/obj/structure/chair/plastic{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"HO" = ( -/obj/machinery/seed_extractor, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown) -"HQ" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/railing/corner/wood, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"HR" = ( -/obj/structure/flora/tree/jungle{ - icon_state = "tree3" - }, -/turf/open/floor/plating/grass, -/area/overmap_encounter/planetoid/beachplanet/explored) -"HW" = ( -/obj/structure/table, -/obj/item/stack/sheet/mineral/coal/ten, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ia" = ( -/obj/structure/bonfire/prelit, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ib" = ( -/obj/structure/fence{ - dir = 4 - }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ie" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ii" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/airlock/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"Im" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Beachside Inn" - }, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown/hotel) -"In" = ( -/obj/structure/table/wood/fancy/black, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_y = 1; - pixel_x = -1 - }, -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"Io" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ip" = ( -/obj/structure/table, -/obj/structure/window, -/obj/structure/window{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/shop) -"IA" = ( -/obj/machinery/light/small/directional/south, -/obj/item/kirbyplants/random, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown/hotel) -"IC" = ( -/obj/structure/filingcabinet, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown) -"IF" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass, -/area/overmap_encounter/planetoid/beachplanet/explored) -"IR" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks/beer{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/bar) -"IU" = ( -/obj/structure/chair/sofa/brown/left/directional/east, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"IX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"IZ" = ( -/obj/structure/table, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/hotel) -"Jh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/railing/wood{ - dir = 6 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Jl" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"Jw" = ( -/obj/effect/turf_decal/industrial/stand_clear, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Jx" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/leafybush, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"JD" = ( -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"JL" = ( -/obj/structure/railing/wood{ - dir = 5 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"JQ" = ( -/obj/structure/railing/wood, -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"JS" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/apple, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"JT" = ( -/turf/open/floor/plating/grass/beach/lit, -/area/ruin/beach/oceantown/shop) -"JU" = ( -/obj/structure/table/wood, -/obj/machinery/light/dim/directional/south, -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"JW" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"JY" = ( -/obj/structure/chair, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/shop) -"Kc" = ( -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 4 - }, -/obj/structure/sink/kitchen{ - pixel_y = 14; - pixel_x = -8 - }, -/turf/open/floor/plasteel/white, -/area/ruin/beach/oceantown/bar) -"Kd" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Kk" = ( -/obj/structure/railing/wood{ - dir = 6 - }, -/obj/structure/railing/wood{ - dir = 10 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Kn" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/wheat/rice, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ko" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/railing/wood, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Kx" = ( -/obj/effect/turf_decal/road/stripes, -/obj/effect/turf_decal/road/stripes{ - dir = 1 - }, -/turf/open/floor/concrete/pavement{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Kz" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/structure/railing/corner/wood{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"KB" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/grimy, -/area/ruin/beach/oceantown/hotel) -"KC" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/cyan{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"KD" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/white, -/area/ruin/beach/oceantown/bar) -"KE" = ( -/turf/open/floor/carpet, -/area/ruin/beach/oceantown/hotel) -"KN" = ( -/obj/structure/chair/stool/bar{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"KO" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown) -"KR" = ( -/obj/structure/rack, -/obj/structure/sign/poster/official/pda_ad{ - pixel_y = -32 - }, -/obj/item/pda, -/obj/item/pda, -/obj/item/pda, -/obj/item/pda, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"KS" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/leafybush, -/turf/open/floor/plating/grass, -/area/overmap_encounter/planetoid/beachplanet/explored) -"KT" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"KU" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/potato, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Lc" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/cornuto{ - name = "perfect cornuto"; - desc = "you can't be quite sure how long this cornuto has sat in the sun. Yet it remains perfectly intact. No melting, no signs of damage. It beckons to you." - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ln" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown) -"Lo" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"Lr" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/orange, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Lx" = ( -/obj/structure/rack, -/obj/item/reagent_containers/food/snacks/candiedapple, -/obj/item/reagent_containers/food/snacks/candiedapple, -/obj/item/reagent_containers/food/snacks/candiedapple, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"Lz" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"LE" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"LN" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/blue{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"LR" = ( -/obj/structure/sign/poster/official/here_for_your_safety{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown) -"LX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/airlock/wood{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown) -"Mi" = ( -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Mk" = ( -/obj/machinery/door/airlock/public/glass{ - name = "The 'Nutshack"; - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown/shop) -"Mm" = ( -/obj/structure/sink{ - pixel_y = 17 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Mp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/chair/plastic{ - dir = 4 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Mq" = ( -/obj/structure/flora/tree/jungle, -/turf/open/floor/plating/grass, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ms" = ( -/obj/structure/flora/junglebush/large, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Mu" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ME" = ( -/obj/structure/flora/tree/jungle{ - icon_state = "tree7" - }, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"MF" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"MG" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown) -"MP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/railing/wood{ - dir = 1 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"MR" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"MV" = ( -/obj/item/cultivator/rake, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"MY" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/drinks, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown/bar) -"Ne" = ( -/obj/machinery/light/floor, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ni" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/medicine, -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"Np" = ( -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown) -"Ns" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"Nu" = ( -/obj/effect/turf_decal/weather/sand/corner, -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Nv" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"Nw" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/sugarcane, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"NA" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/bottle/rum{ - pixel_y = 9 - }, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"NB" = ( -/obj/structure/railing/corner/wood, -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ND" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"NS" = ( -/obj/item/shovel/spade, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"NT" = ( -/obj/structure/fence{ - dir = 9; - icon_state = "corner" - }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"NV" = ( -/obj/structure/flora/tree/palm, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"NX" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/donut/jelly, -/obj/effect/spawner/lootdrop/donut/jelly, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"Oe" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Of" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/hotel) -"Oh" = ( -/obj/structure/railing, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"Ov" = ( -/obj/structure/rack, -/obj/item/reagent_containers/food/snacks/muffin, -/obj/item/reagent_containers/food/snacks/muffin, -/obj/item/reagent_containers/food/snacks/muffin, -/obj/item/reagent_containers/food/snacks/muffin, -/obj/item/reagent_containers/food/snacks/muffin, -/obj/item/reagent_containers/food/snacks/muffin, -/obj/item/reagent_containers/food/snacks/muffin, -/obj/item/reagent_containers/food/snacks/muffin, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"OH" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"OI" = ( -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"OK" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 10 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ON" = ( -/obj/structure/flora/junglebush/large, -/obj/structure/flora/junglebush, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"OP" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/obj/item/clothing/under/shorts/blue{ - name = "blue swimming shorts"; - desc = "100% pure cotton!" - }, -/turf/open/floor/carpet/blue{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"OR" = ( -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"OT" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"OU" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown/hotel) -"OW" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown) -"Pe" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue/corner, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"Pf" = ( -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/shop) -"Ph" = ( -/obj/effect/spawner/structure/window, -/obj/structure/curtain/cloth/fancy, -/turf/open/floor/plating, -/area/ruin/beach/oceantown/hotel) -"Pm" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/airlock/wood, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"Pp" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/shop) -"Ps" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/purple{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Pv" = ( -/obj/structure/closet/crate/bin, -/turf/open/floor/wood, -/area/ruin/beach/oceantown/hotel) -"PA" = ( -/obj/structure/table/wood, -/obj/structure/curtain/cloth, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown/bar) -"PC" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"PE" = ( -/obj/structure/chair/sofa/brown/right/directional/south, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"PF" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/donut/slimejelly, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"PH" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"PN" = ( -/obj/structure/flora/ausbushes/reedbush, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"PQ" = ( -/turf/open/floor/plasteel/stairs{ - dir = 4; - color = "#55391A"; - layer = 2.1 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Qd" = ( -/obj/structure/railing/wood, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Qf" = ( -/obj/machinery/vending/snack/random, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"Qm" = ( -/obj/structure/railing/wood, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Qo" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood, -/area/ruin/beach/oceantown/hotel) -"Qy" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"QA" = ( -/obj/item/shovel/spade, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"QI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/dresser, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown) -"QK" = ( -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"QM" = ( -/obj/machinery/door/airlock{ - name = "Employees Only"; - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown/hotel) -"QT" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/leafybush, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Rm" = ( -/obj/structure/chair/stool/bar{ - dir = 8 - }, -/obj/structure/sign/barsign{ - pixel_y = 32 - }, -/obj/effect/turf_decal/corner/opaque/bar{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"Ru" = ( -/turf/open/floor/concrete/pavement{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Rz" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown) -"RK" = ( -/obj/structure/chair/stool/bar{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ruin/beach/oceantown/bar) -"RM" = ( -/obj/effect/turf_decal/weather/sand/corner{ - dir = 4 - }, -/obj/effect/turf_decal/weather/sand/corner, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"RQ" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/chili, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"RS" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/weather/sand, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Sc" = ( -/turf/open/floor/plasteel/grimy, -/area/ruin/beach/oceantown/hotel) -"Sg" = ( -/obj/structure/rack, -/obj/item/shovel/spade, -/obj/item/shovel/spade, -/obj/item/shovel/spade, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"Sh" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/genericbush, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Sm" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/wood, -/area/ruin/beach/oceantown/hotel) -"Sp" = ( -/obj/effect/turf_decal/sand/plating{ - light_range = 2 - }, -/obj/machinery/shower{ - dir = 1 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Sv" = ( -/obj/structure/chair/comfy/orange/directional/east, -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"Sy" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/ruin/beach/oceantown) -"SC" = ( -/obj/structure/fence/door, -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"SF" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown/bar) -"SO" = ( -/obj/structure/railing/wood{ - dir = 6 - }, -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"SS" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/donut, -/obj/effect/spawner/lootdrop/donut, -/obj/effect/spawner/lootdrop/donut/slimejelly, -/obj/effect/spawner/lootdrop/donut/jelly, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"SY" = ( -/obj/structure/chair/comfy/orange/directional/north, -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"Tj" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/obj/effect/turf_decal/siding/blue, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"Tl" = ( -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown/hotel) -"Tm" = ( -/obj/structure/flora/ausbushes/stalkybush{ - name = "reeds" - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Tp" = ( -/obj/structure/dresser, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown/hotel) -"Tq" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/weather/sand, -/obj/item/reagent_containers/food/snacks/sausage, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ts" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Tu" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/leafybush, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"TA" = ( -/obj/structure/railing/wood{ - dir = 6 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Uc" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"Ud" = ( -/turf/closed/wall/mineral/sandstone, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Un" = ( -/obj/effect/spawner/structure/window, -/obj/structure/curtain/cloth/grey, -/turf/open/floor/plating, -/area/ruin/beach/oceantown/shop) -"Up" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/airlock/wood, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/ruin/beach/oceantown) -"Uq" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/palebush, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Us" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/lemon, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Uu" = ( -/obj/structure/table/wood, -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"Uz" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"UA" = ( -/obj/structure/chair/wood, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown) -"UF" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust{ - layer = 2.01 - }, -/turf/open/floor/carpet/cyan{ - baseturfs = /turf/open/floor/plating/beach/sand - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"UH" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/shop) -"UN" = ( -/obj/structure/table, -/obj/item/binoculars, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown) -"UP" = ( -/obj/machinery/door/airlock{ - name = "Employees Only"; - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown/bar) -"UT" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"UU" = ( -/obj/effect/turf_decal/road{ - dir = 1 - }, -/turf/open/floor/concrete/pavement{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"UX" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/ruin/beach/oceantown/shop) -"Vf" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/white, -/area/ruin/beach/oceantown/bar) -"Vr" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown) -"VI" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"VJ" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/coffee, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"VK" = ( -/obj/structure/fence{ - dir = 5; - icon_state = "corner" - }, -/turf/open/floor/concrete/slab_1{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"VP" = ( -/obj/structure/rack, -/obj/item/stack/sheet/mineral/coal/ten, -/obj/item/stack/sheet/mineral/coal/ten, -/obj/item/stack/sheet/mineral/coal/ten, -/obj/item/stack/sheet/mineral/coal/ten, -/obj/item/stack/sheet/mineral/coal/ten, -/obj/item/stack/sheet/mineral/coal/ten, -/obj/item/stack/sheet/mineral/coal/ten, -/obj/item/stack/sheet/mineral/coal/ten, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"VQ" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/donut/jelly, -/obj/effect/spawner/lootdrop/donut/jelly, -/obj/effect/spawner/lootdrop/donut/jelly, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"VS" = ( -/obj/structure/table, -/obj/machinery/processor, -/turf/open/floor/plasteel/white, -/area/ruin/beach/oceantown/bar) -"VT" = ( -/obj/effect/turf_decal/sand/plating{ - light_range = 2 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/obj/structure/dresser{ - icon = 'icons/obj/closet.dmi'; - icon_state = "generic"; - name = "beachside locker"; - desc = "A beachside closet. It's got enough cabinets for an entire town's worth of t-shirts and jeans." - }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"VU" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"VV" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown) -"VZ" = ( -/obj/structure/chair/sofa/brown/directional/east, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"Wd" = ( -/obj/structure/flora/ausbushes/reedbush, -/obj/effect/turf_decal/weather/sand{ - dir = 8 - }, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"We" = ( -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/bar) -"Wh" = ( -/obj/effect/turf_decal/sand, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Wl" = ( -/turf/open/floor/plating/grass/beach/lit, -/area/ruin/beach/oceantown) -"Ws" = ( -/obj/item/reagent_containers/glass/bucket/wooden, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Wu" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"Wv" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ww" = ( -/obj/machinery/door/airlock{ - name = "Employees Only" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/beach/oceantown/bar) -"WC" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"WO" = ( -/obj/structure/bed, -/turf/open/floor/carpet, -/area/ruin/beach/oceantown) -"WR" = ( -/obj/effect/turf_decal/sand/plating{ - light_range = 2 - }, -/obj/effect/turf_decal/weather/sand, -/obj/structure/dresser{ - icon = 'icons/obj/closet.dmi'; - icon_state = "generic"; - name = "beachside locker"; - desc = "A beachside closet. It's got enough cabinets for an entire town's worth of t-shirts and jeans." - }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/beachplanet/explored) -"WW" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue/corner, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"Xb" = ( -/obj/structure/railing/wood{ - dir = 6 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Xc" = ( -/obj/structure/railing/wood{ - dir = 10 - }, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Xk" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Xs" = ( -/obj/structure/chair/stool/bar, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Xv" = ( -/obj/structure/flora/ausbushes/grassybush, -/turf/open/floor/plating/grass/beach/lit, -/area/ruin/beach/oceantown) -"XC" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/cocoapod, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"XI" = ( -/obj/structure/table/wood/fancy/black, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_y = 6; - pixel_x = -6 - }, -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"XJ" = ( -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/plating/grass, -/area/overmap_encounter/planetoid/beachplanet/explored) -"XQ" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/donut/jelly, -/obj/effect/spawner/lootdrop/donut/jelly, -/obj/effect/spawner/lootdrop/donut/jelly, -/obj/effect/spawner/lootdrop/donut/slimejelly, -/obj/effect/spawner/lootdrop/donut/jelly, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"XS" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 1 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"XU" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"XY" = ( -/obj/structure/railing/corner/wood, -/obj/effect/turf_decal/weather/sand{ - dir = 1 - }, -/turf/open/floor/plating/dirt/dark{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"XZ" = ( -/obj/structure/flora/ausbushes/stalkybush{ - name = "reeds" - }, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Ya" = ( -/obj/item/hatchet/wooden, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Yv" = ( -/obj/structure/sign/poster/contraband{ - pixel_y = -32; - pixel_x = 32 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/beach/oceantown/bar) -"Yw" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/blue/corner, -/turf/open/floor/plasteel, -/area/ruin/beach/oceantown/shop) -"Yy" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"YA" = ( -/obj/structure/rack, -/obj/item/reagent_containers/food/snacks/canned/peaches, -/obj/item/reagent_containers/food/snacks/canned/peaches, -/obj/item/reagent_containers/food/snacks/canned/peaches, -/obj/item/reagent_containers/food/snacks/canned/peaches, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"YC" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/ruin/beach/oceantown/hotel) -"YE" = ( -/obj/structure/fluff/beach_umbrella/engine, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"YL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"YU" = ( -/turf/template_noop, -/area/template_noop) -"YW" = ( -/obj/effect/turf_decal/sand, -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/obj/structure/closet/crate/bin, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Zc" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/north, -/turf/open/floor/carpet/green, -/area/ruin/beach/oceantown) -"Zf" = ( -/obj/machinery/door/airlock{ - name = "Bathroom" - }, -/turf/open/floor/plating, -/area/ruin/beach/oceantown) -"Zj" = ( -/obj/structure/flora/ausbushes/reedbush, -/obj/effect/turf_decal/weather/sand, -/turf/open/water/beach, -/area/overmap_encounter/planetoid/beachplanet/explored) -"Zo" = ( -/turf/open/floor/wood, -/area/ruin/beach/oceantown/hotel) -"Zr" = ( -/obj/structure/chair/comfy/orange/directional/south, -/turf/open/floor/carpet/black, -/area/ruin/beach/oceantown/bar) -"Zy" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/leafybush, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ZB" = ( -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/beach/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ZJ" = ( -/obj/structure/rack, -/obj/item/stack/sheet/metal/twenty, -/obj/item/stack/sheet/glass/twenty, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/beach/oceantown/shop) -"ZM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/ruin/beach/oceantown) -"ZP" = ( -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 8 - }, -/turf/open/floor/concrete{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) -"ZW" = ( -/obj/structure/railing/corner/wood, -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/open/floor/plating/dirt{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/beachplanet/explored) - -(1,1,1) = {" -qp -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -BY -sa -dY -NB -zM -zM -dv -Mi -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -"} -(2,1,1) = {" -qp -px -sa -BY -sa -Ms -lL -Go -Go -OK -sa -sa -sa -sa -BY -sa -sa -sa -sa -XY -Hi -sT -YL -JL -zM -Mi -YU -YU -YU -Mi -ZB -Mi -Mi -Mi -Io -Mi -YU -YU -YU -YU -Mi -id -Mi -rl -rl -rl -rl -qw -Mi -Mi -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -"} -(3,1,1) = {" -qp -Ps -Er -sa -sa -lL -CG -pn -pn -Ca -LE -sa -sa -sa -ON -sa -sa -BY -dj -sH -fz -Ho -Ho -xo -YL -id -Mi -Wl -Wl -ZB -gb -rl -rl -rl -Io -Io -Mi -YU -YU -QK -QK -Mi -vE -Mi -Mi -Mi -Mi -rl -rl -Mi -Mi -Mi -Mi -QT -Mi -Mi -Mi -Mi -Mi -Mi -Mi -Mi -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -"} -(4,1,1) = {" -qp -sa -sa -sa -lL -CG -pn -pn -pn -pn -Nu -nu -sa -sa -sa -sa -sa -BY -sa -JQ -Cq -Ho -Ho -mR -AM -Mi -sD -UX -UX -UX -UX -UX -fg -UX -UX -UX -JT -gb -gb -QK -xh -xh -xh -Ho -Ho -Ho -Ho -Ho -Ho -Ho -Ho -Ho -Ho -gb -ue -QK -rl -rl -rl -qw -rl -Mi -gb -gb -YU -Mi -Mi -Mi -hL -YU -YU -YU -YU -YU -YU -"} -(5,1,1) = {" -Ca -Go -Go -Go -CG -pn -pn -pn -pn -pn -qp -px -sa -sa -sa -sa -sa -sa -sa -fD -Xc -fG -Ho -mi -Mi -Mi -uC -UX -kH -Pp -AL -XU -kD -vy -KR -UX -UX -uC -QT -rl -xh -zX -ev -Ho -Ho -ce -ce -Ho -zD -Ho -Gq -ly -Ho -gb -uC -mi -Ru -Ru -Ru -Ru -Ru -fG -sD -sD -Mi -HR -rl -rl -Mi -Mi -Mi -YU -YU -YU -YU -"} -(6,1,1) = {" -pn -pn -pn -pn -pn -pn -pn -pn -pn -pn -qp -hF -yJ -sa -sa -sa -sa -BY -sa -CS -yb -fG -mR -AM -Mi -sD -Tu -UX -Pf -Pf -rQ -WW -pt -Yw -wu -CF -Un -sD -sD -rl -xh -tW -ev -Ho -Ho -Kn -tU -QA -zU -Ho -RQ -ru -Ho -sD -sD -mi -Ru -Ru -GE -Ru -Ru -fG -sD -wF -sD -Mi -Mi -qw -rl -rl -Mi -Mi -Mi -YU -YU -"} -(7,1,1) = {" -pn -pn -pn -pn -pn -pn -pn -pn -pn -lH -HA -sa -sa -sa -sa -EQ -sa -sa -sa -Qm -uW -Ho -mi -Mi -Mi -wF -Mi -aM -Pf -JY -aP -kD -Lx -Tj -yc -AY -Un -Mi -wF -qw -xh -HO -ev -Ho -Ho -xz -vF -Ho -JS -Ho -fZ -ri -Ho -wF -Mi -mi -Ru -Ru -Ru -Ru -Ru -fG -Tu -xn -xn -xn -xn -xn -xn -xn -xn -rl -Mi -Mi -YU -"} -(8,1,1) = {" -pn -pn -pn -pn -pn -pn -pn -lH -rR -HA -sa -sa -sa -sa -sa -sa -xx -sa -sa -Qm -fG -mR -AM -Mi -Sh -sD -Mi -UX -Hu -Ap -Ip -OT -Qf -Tj -bs -AY -Un -gb -sD -rl -xh -xh -xh -Ho -Ho -Ho -Ho -Cv -Ws -Ho -MV -Ho -Ho -Ho -Ho -mi -Ru -Ru -GE -Ru -Ru -fG -sD -xn -VS -oM -KD -sb -rN -We -Ww -rl -rl -vE -YU -"} -(9,1,1) = {" -XZ -pn -pn -pn -pn -pn -pn -qp -sa -sa -sa -sa -sa -sa -sa -sa -sa -ti -sa -zP -fG -mi -Mi -Mi -Mi -jv -Mi -UX -ZJ -hc -VP -mY -zr -Tj -CT -AY -Un -Mi -gb -rl -rl -Mi -Mi -Mi -Ho -Mi -rl -qw -Mi -Mi -qw -rl -Ho -gb -QT -mi -Ru -Ru -Ru -Ru -Ru -fG -ni -xn -Vf -RK -cN -cN -oc -We -xn -rl -rl -Mi -YU -"} -(10,1,1) = {" -pn -pn -pn -pn -pn -pn -lH -HA -sa -NV -sa -BY -BY -sa -sa -sa -sa -sa -ZW -SO -fG -mi -hu -Mi -Mi -Mi -gn -UX -Wu -cy -Wu -MR -Pe -Dj -yD -XS -Un -Mi -Mi -qw -rl -gb -gb -gb -Ho -jv -OI -Mi -rl -rl -rl -gb -Ho -rl -qw -mi -Ru -Ru -GE -Ru -Ru -fG -Wv -xn -Kc -dA -dA -dA -kP -We -xn -rl -rl -jv -YU -"} -(11,1,1) = {" -pn -pn -pn -lH -rR -rR -HA -sa -hl -sa -sa -sa -sa -sa -hl -sa -sa -BY -Qm -uW -Ho -mi -hu -Mi -Mq -kb -Mi -UX -UX -Jl -Jl -Lo -kD -YA -Ov -UX -UX -rl -rl -rl -Mi -gb -ek -mc -Ho -Ho -Ya -Ho -Ho -Ho -Ho -Ho -Ws -Ho -Ho -mi -Ru -Ru -Ru -Ru -Ru -fG -gb -xn -Gk -rH -IR -ei -We -We -xn -Mi -Mi -Mi -YU -"} -(12,1,1) = {" -pn -pn -pn -qp -sa -sa -sa -eM -Xk -hb -sa -sa -sa -GZ -Xk -hb -sa -Ms -Qm -fG -Ho -mi -hu -Mi -kb -kb -Mi -Mi -UX -uy -Sg -AY -WC -Wu -OH -UX -Mi -rl -Mi -Mi -Wv -mX -sD -wF -Ho -pE -pE -Ho -DD -Ho -Us -Lr -Ho -Mi -Mi -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -xn -We -We -We -We -We -We -xn -vE -YU -YU -YU -"} -(13,1,1) = {" -pn -pn -lH -HA -sa -sa -sa -sa -AS -sa -sa -pu -sa -sa -AS -sa -sa -sa -Qm -fG -mR -AM -Mi -Mi -kb -KS -ue -sD -UX -Un -Un -kW -iW -Un -Un -UX -Mi -Mi -Mi -qw -gb -wF -Mi -rl -Ho -Nw -Nw -MV -VJ -Ho -uI -jY -Ho -OI -Mi -mi -Ru -Ru -Ru -Ru -Ru -fG -Mi -xn -zZ -XI -In -sA -xn -UP -xn -xn -xn -YU -YU -"} -(14,1,1) = {" -lH -rR -HA -sa -px -sa -sa -sa -sa -DT -mG -Dk -FO -sa -sa -sa -sa -sa -Qm -fG -mi -Mi -Mi -uC -gb -Mi -Mi -wF -sD -Mi -hM -PQ -PQ -hM -Mi -id -Mi -Mi -rl -rl -kj -sD -qw -rl -Ho -jL -KU -Ws -XC -Ho -AA -jY -Ho -Mi -vE -mi -Ru -Ru -GE -Ru -Ru -fG -jv -xn -Rm -zg -zg -zg -or -Oh -EN -EN -xn -xn -YU -"} -(15,1,1) = {" -qp -sa -sa -sa -CW -rL -sa -sa -sa -DT -Hv -Ia -Tq -HJ -sa -sa -sa -sa -Qm -fG -mi -Mi -Mi -ue -mX -gb -Mi -HR -sD -sD -Mi -Ho -Ho -Mi -ek -Mi -qw -rl -rl -Mi -kj -Mi -rl -Mi -Ho -Ho -Ho -Ho -Ho -Ho -Ho -Ho -Ho -Ho -Ho -mi -Ru -Ru -Ru -Ru -Ru -fG -Mi -xn -xL -xL -we -DM -DM -JW -EN -EN -iz -xn -YU -"} -(16,1,1) = {" -qp -sa -sa -sa -sa -sa -sa -sa -sa -sa -vp -tC -Qy -sa -sa -sa -BY -sa -Qm -fG -mi -rl -qw -Mi -kj -Mi -Mi -Mi -Mi -Mi -Mi -Ho -Ho -Mi -Mi -Mi -Mi -Mi -hu -hu -rl -rl -rl -Mi -Ho -Mi -sD -wF -rl -rl -qw -Mi -Ho -Ho -Ho -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -xn -DM -DM -Lz -Zr -Uu -ck -EN -EN -EN -xn -YU -"} -(17,1,1) = {" -qp -sa -sa -sa -BY -sa -sa -sa -hl -sa -sa -Eu -Eu -sa -hl -sa -Dy -CS -yb -fG -mi -rl -qw -gb -hu -kj -Mi -Mi -Ho -Ho -Ho -Ho -Ho -Mi -Mi -rl -rl -rl -qw -rl -rl -Mi -rl -Mi -Ho -rl -qw -sD -ni -Mi -rl -rl -Ho -Ho -Ho -mi -Ru -Ru -Ru -Ru -Ru -fG -Mi -xn -BC -Sv -oj -Zr -Uu -ck -EN -EN -EN -xn -YU -"} -(18,1,1) = {" -qp -sa -px -sa -sa -sa -sa -eM -Xk -hb -sa -sa -sa -eM -Xk -hb -oS -nL -uW -zQ -mi -rl -Ho -Ho -Ho -Mi -Ho -Ho -Ho -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -fA -Ho -Ge -Ge -Ge -Ge -Ge -Ho -QK -xn -Zr -FM -qb -VU -VU -eG -fV -Uc -cx -xn -YU -"} -(19,1,1) = {" -qp -sa -lZ -OP -sa -sa -sa -sa -AS -sa -sa -sa -sa -sa -AS -sa -sa -JQ -fG -Ho -vf -xo -Ho -Ho -fA -fA -fA -AM -Kx -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Kx -Ru -Ru -Ru -Ru -Ru -fG -Mi -xn -VU -VU -DX -xL -we -DM -DM -Yv -JU -xn -YU -"} -(20,1,1) = {" -qp -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -EQ -sa -sa -sa -BY -BY -Qm -fG -Ho -Ho -Ho -Ho -AM -Ru -Ru -Ru -Ru -Kx -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Kx -Ru -Ru -Ru -Ru -Ru -fG -Ho -nj -DM -DM -DM -DM -Lz -yu -SY -qb -xn -xn -YU -"} -(21,1,1) = {" -qp -sa -sa -sa -sa -sa -sa -sa -xx -sa -sa -sa -sa -BY -sa -sa -sa -yb -fG -mR -fA -aR -mi -Ru -Ru -Ru -Ru -Ru -Kx -Ru -Ru -UU -Ru -UU -Ru -UU -Ru -UU -Ru -UU -Ru -UU -Ru -UU -Ru -UU -Ru -UU -Ru -UU -Ru -UU -Ru -UU -Ru -Kx -Ru -Ru -Ru -Ru -Ru -fG -Mi -xn -Zr -NA -rf -SY -oj -sr -xn -xn -xn -YU -YU -"} -(22,1,1) = {" -qp -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -EJ -Ho -mi -Mi -Cq -mi -Ru -Ru -Ru -Ru -Ru -Kx -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Kx -Ru -Ru -Ru -Ru -Ru -fG -Mi -xn -xn -xn -xn -xn -io -xn -xn -YU -YU -YU -YU -"} -(23,1,1) = {" -qp -sa -sa -sa -sa -sa -sa -sa -sa -BY -sa -ry -sa -sa -sa -sa -sa -EJ -Ho -mi -Mi -Mi -Ho -xo -xo -xo -xo -YL -Kx -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Ru -Kx -Ru -Ru -Ru -Ru -Ru -fG -rl -rl -Mi -jv -Mi -rl -rl -Mi -Mi -YU -YU -YU -YU -"} -(24,1,1) = {" -Ca -OK -sa -sa -sa -px -sa -sa -sa -sa -sa -vL -sa -sa -sa -sa -sa -EJ -Ho -mi -jv -Mi -gb -Mi -Mi -Mi -Mi -Ho -Ho -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -xo -Ho -yz -yz -yz -yz -yz -Ho -rl -qw -rl -Mi -Mi -rl -qw -rl -Mi -YU -YU -YU -YU -"} -(25,1,1) = {" -pn -Ca -Go -OK -sa -wt -mr -sa -sa -sa -sa -Ez -sa -sa -sa -EQ -sa -Xc -fG -mi -Mi -Mi -gb -gb -Tu -uC -sD -Mi -Mi -Mi -Mi -Mi -Mi -Mi -Mi -Mi -Mi -Mi -Mi -Mi -Mi -rl -Mi -Mi -rl -rl -rl -rl -Ho -Ho -Ho -hu -Mi -rl -Mi -mi -Ru -Ru -Ru -Ru -Ru -fG -rl -rl -rl -rl -rl -rl -Mi -rl -Mi -Mi -YU -YU -YU -"} -(26,1,1) = {" -pn -pn -pn -qp -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -Qm -fG -mi -Mi -Mi -ox -Mi -gb -Mi -Mi -sD -sD -sD -Mi -rl -qw -rl -Mi -Mi -Mi -vE -rl -rl -Mi -rl -rl -Mi -Mi -ek -Mi -Mi -Ho -Ho -Ho -hu -rl -rl -Mi -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -rl -rl -rl -qw -Mi -Mi -rl -Mi -jv -YU -YU -YU -"} -(27,1,1) = {" -pn -pn -pn -qp -sa -sa -sa -sa -sa -sa -sa -xn -xn -xn -xn -xn -sa -yb -fG -mi -Mi -Mi -rl -qw -rl -Mi -Mi -Mi -Mi -Mi -Mi -Mi -Mi -rl -rl -rl -vE -rl -iw -rl -Mi -PC -rl -rl -Mi -Mi -rl -rl -Ho -Ho -Ho -hu -rl -PC -rl -mi -Ru -Ru -Ru -Ru -Ru -fG -jv -id -rl -rl -rl -Mq -Mi -Mi -rl -OI -Mi -YU -YU -"} -(28,1,1) = {" -pn -pn -pn -qp -sa -sa -BY -sa -sa -sa -ex -xn -BX -uh -Hp -xn -xn -uW -Ho -mi -Mi -id -rl -rl -YC -YC -YC -YC -rc -rc -YC -YC -YC -YC -rl -rl -rl -rl -rl -Mi -xh -xh -xh -xh -xh -xh -xh -xh -xh -LX -xh -xh -xh -Mi -rl -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -Mi -rl -rl -rl -Mi -QK -vE -rl -OI -OI -YU -YU -"} -(29,1,1) = {" -pn -jQ -zI -eV -hl -hl -kE -sa -sa -sa -Wh -lb -DC -DC -DC -SF -xn -fG -Ho -mi -Mi -id -rl -rl -YC -tw -Tp -YC -Pv -Ax -YC -Tp -tw -YC -Mi -Mi -qw -rl -sD -sD -xh -gp -xF -im -dT -IU -VZ -sj -Ni -lc -Al -sp -xh -Mi -rl -mi -Ru -Ru -Ru -Ru -Ru -fG -Mi -Mi -rl -Mi -sD -uC -ue -QK -qw -rl -Mi -YU -YU -"} -(30,1,1) = {" -pn -fp -Ho -Ho -Ho -Ho -hb -sa -ry -sa -Wh -PA -DC -DC -DC -Ex -xn -fG -Ho -mi -Mi -uC -Mi -rl -YC -Gh -KE -om -Zo -Zo -om -KE -lj -YC -Mi -rl -rl -rl -Mi -wF -xh -FA -FA -Nv -pm -dT -dT -dT -dT -cR -gi -qW -cA -Mi -rl -mi -Ru -Ru -GE -Ru -Ru -fG -wQ -Mi -qw -wF -gb -gb -Tu -sD -Mi -Mi -Mi -YU -YU -"} -(31,1,1) = {" -pn -fp -Ho -Ho -Ho -Ho -hb -sa -Lc -sa -Wh -PA -DC -DC -DC -MY -xn -fG -mR -AM -Mi -sD -Mi -qw -YC -iu -Ac -YC -Zo -Zo -YC -Ac -iu -YC -Mi -hu -hu -Mi -uC -sD -xh -Ii -xh -xh -xh -ev -Bd -uu -hw -cR -gi -vI -cA -gb -Mi -mi -Ru -Ru -Ru -Ru -Ru -fG -Mi -rl -Mi -Mi -gb -sa -sa -sa -sa -id -Mi -Mi -YU -"} -(32,1,1) = {" -pn -aD -VI -En -AS -AS -Mu -sa -Ez -sa -Wh -PA -DC -DC -DC -xn -xn -fG -mi -Mi -Mi -sD -sD -rl -YC -YC -YC -YC -Zo -hG -YC -YC -YC -YC -Mi -hu -wF -sD -Mi -jv -xh -dT -rh -Vr -xh -Cf -xh -xh -fL -cR -gi -zv -cA -kd -Mi -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -OI -OI -Mi -sa -sa -sa -EQ -sa -sa -Mi -sD -wF -"} -(33,1,1) = {" -pn -pn -pn -qp -sa -sa -sa -sa -sa -sa -Wh -PA -DC -DC -DC -xn -xn -fG -mi -Mi -gb -ca -Tu -sD -Mi -YC -IZ -tQ -Zo -Zo -Of -tD -YC -Mi -hu -Mi -rl -rl -Mi -Mi -xh -FT -Rz -oT -xh -fh -sq -xh -ge -kp -FA -ZM -xh -gb -kj -mi -Ru -Ru -Ru -Ru -Ru -fG -OI -OI -sa -sa -sa -sa -sa -lL -OK -sa -sa -Mi -sD -"} -(34,1,1) = {" -pn -pn -pn -qp -sa -sa -sa -sa -sa -sa -Wh -xn -PA -PA -PA -xn -xn -fG -mi -gb -gb -gb -gb -gb -Mi -YC -km -tQ -Zo -Zo -Of -nM -YC -Mi -Mi -Mi -Mi -rl -PC -qw -xh -KO -aK -sy -xh -ao -xH -xh -se -dT -df -mu -xh -sD -kj -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -sa -sa -sa -BY -sa -lL -pn -pn -OK -sa -Mi -Tu -"} -(35,1,1) = {" -pn -pn -pn -qp -NV -sa -Xs -vL -KN -sa -fu -qB -qB -qB -qB -YW -Qm -fG -mi -Mi -Mi -qw -rl -Mi -YC -YC -YC -YC -Qo -Zo -YC -YC -YC -YC -rl -rl -rl -Mi -Mi -rl -xh -xh -xh -xh -xh -xh -xh -xh -xh -cA -cA -xh -xh -sD -gb -mi -Ru -Ru -Ru -Ru -Ru -fG -Mi -sa -sa -EQ -sa -lL -pn -pn -PN -qp -BY -sa -Mi -"} -(36,1,1) = {" -pn -pn -lH -HA -sa -sa -sa -sa -sa -sa -sa -ry -sa -sa -sa -yQ -yb -fG -mi -Mi -rl -rl -rl -Mi -YC -tw -Tp -YC -Zo -Zo -YC -Tp -tw -YC -Mi -Mi -rl -rl -Mi -Mi -Mi -Mi -qw -rl -rl -gb -gb -qw -rl -Mi -Mi -Mi -Mi -Mi -gb -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -sa -sa -sa -sa -PH -PN -pn -pn -qp -sa -sa -Mi -"} -(37,1,1) = {" -pn -lH -HA -sa -sa -sa -sa -sa -sa -sa -sa -qu -sa -sa -ry -Qm -sT -zQ -vf -YL -Mi -rl -qw -Mi -YC -Gh -KE -om -Zo -Zo -om -KE -lj -YC -Mi -jv -rl -qw -rl -Mi -id -xh -xh -xh -Mm -sD -sD -rl -Mi -Mi -Mi -rl -Mi -An -Mi -mi -Ru -Ru -Ru -Ru -Ru -fG -jv -sa -sa -sa -lL -pn -PN -pn -pn -PN -OK -EQ -Mi -"} -(38,1,1) = {" -lH -HA -sa -sa -sa -sa -sa -sa -sa -sa -sa -Ez -sa -sa -vL -Qm -fG -mR -fA -eh -YL -Mi -Mi -Mi -YC -iu -Ac -YC -Zo -Zo -YC -Ac -iu -YC -Mi -Mi -Mi -PC -rl -hu -hu -xh -cE -Zf -rl -Mi -rl -rl -Mi -Mi -rl -rl -rl -rl -Mi -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -sa -sa -lL -pn -PN -pn -PN -pn -pn -HA -sa -Mi -"} -(39,1,1) = {" -qp -sa -sa -sa -sa -sa -sa -sa -Ms -sa -sa -sa -sa -sa -Ez -Qm -fG -mi -Mi -Cq -eh -YL -Mi -gn -YC -YC -YC -YC -Zo -Zo -YC -YC -YC -YC -Mi -Mi -Mi -gb -sD -Mi -hu -xh -xh -xh -rl -Mi -Mi -rl -rl -Mi -gb -gb -qw -rl -Mi -mi -Ru -Ru -Ru -Ru -Ru -fG -Mi -sa -sa -PH -pn -pn -PN -pn -PN -qp -sa -sa -Mi -"} -(40,1,1) = {" -qp -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -EQ -sa -yQ -yb -fG -mi -Mi -Mi -Cq -eh -YL -Mi -Mi -Mi -Mi -YC -Zo -Zo -oo -Sc -BV -YC -Mi -Mi -ek -gb -sD -Mi -hu -rl -rl -rl -qw -rl -Mi -Mi -rl -rl -gb -JD -PC -rl -Mi -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -sa -sa -aq -pn -PN -pn -rR -rR -HA -sa -Mi -Mi -"} -(41,1,1) = {" -qp -sa -sa -sa -sa -wZ -sa -sh -sa -sa -sa -sa -sa -sa -yb -uW -Ho -mi -Mi -gb -Mi -Cq -eh -xo -xo -xo -xo -Im -Zo -Zo -as -Cz -KB -YC -Mi -gb -sD -sD -gb -yS -dU -dU -dU -dU -xO -dU -dU -dU -dU -dU -yS -Mi -Mi -rl -Mi -mi -Ru -Ru -Ru -Ru -Ru -fG -Mi -sa -sa -sa -PH -pn -HA -sa -sa -BY -sa -id -Mi -"} -(42,1,1) = {" -qp -BY -sa -Ud -pq -Ud -Ud -Ud -sa -sa -sa -BY -sa -sa -EJ -Ho -mR -AM -Mi -gb -gb -Mi -Cq -fA -fA -fA -fA -Im -Zo -Zo -as -Sc -Sc -YC -Mi -sD -sD -gb -gb -Ib -Ne -tr -ZP -Ne -tr -tr -Ne -ZP -tr -Ne -Ib -Mi -Mi -rl -Mi -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -sa -BY -sa -aq -qp -sa -sa -sa -Mi -Mi -Mi -Mi -"} -(43,1,1) = {" -qp -sa -sa -Ud -sa -sa -sa -Ud -wZ -sa -sa -sa -sa -sa -EJ -Ho -mi -Mi -Mi -Cc -gb -gb -Mi -Mi -Mi -sD -Mi -YC -Zo -Zo -YC -QM -YC -YC -Mi -sD -gb -qw -Mi -Ib -tr -eB -Kd -Kd -Kd -Kd -Kd -Kd -yE -tr -SC -Mi -rl -qw -jv -mi -Ru -Ru -Ru -Ru -Ru -fG -Mi -Mi -sa -sa -EQ -nT -sa -sa -Mi -QK -QK -Mi -YU -"} -(44,1,1) = {" -qp -sa -sa -Ud -sa -NS -ij -Ud -sa -sa -sa -sa -sa -sa -EJ -Ho -mi -Mi -Mi -Mi -Mi -mX -mX -mX -sD -sD -YC -YC -Zo -Zo -Sm -aO -IA -YC -Mi -Mi -rl -rl -Mi -Ib -pr -gv -tr -tr -tr -tr -tr -tr -Yy -Jw -Ib -Mi -Mi -Mi -Mi -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -vE -sa -sa -sa -pv -sa -Mi -QK -hL -YU -YU -YU -"} -(45,1,1) = {" -qp -sa -sa -Ud -sa -ww -sa -Ud -sa -sa -sa -sa -sa -yQ -Kk -fG -mi -rl -rl -Mi -sa -sa -BY -QT -gb -YC -YC -CC -CC -CC -CC -OU -Tl -Ph -Mi -Mi -rl -rl -Mi -Ib -tr -gv -tr -tr -tr -tr -tr -tr -Yy -tr -VK -xh -xh -xh -xh -mi -Ru -Ru -Ru -Ru -Ru -fG -id -Mi -Mi -sa -sa -sa -sa -Mi -id -Mi -YU -YU -YU -"} -(46,1,1) = {" -qp -sa -sa -Ud -sa -sa -sa -Ud -sa -sa -sa -NV -sa -aA -uW -Ga -cb -sQ -Uz -sa -sa -wN -sa -gb -YC -YC -Tl -Tl -Tl -Tl -Tl -Tl -fC -Ph -Mi -Mi -rl -qw -Mi -Ib -Ne -gv -tr -tr -tr -tr -tr -tr -Yy -Ne -tj -xh -el -IC -xh -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -ni -ni -Mi -sa -sa -Mi -Mi -Mi -YU -YU -YU -YU -"} -(47,1,1) = {" -qp -xx -wZ -Ud -Ud -Ud -Ud -Ud -sa -sa -sa -sa -sa -Qm -fG -RS -sa -sa -sa -BY -lL -qp -sa -Mi -YC -ps -Tl -Tl -Tl -Tl -Tl -Tl -Tl -Ph -Mi -rl -qw -Mi -Mi -Ib -tr -gv -tr -tr -tr -tr -tr -tr -Yy -tr -tj -Bq -Np -LR -xh -mi -Ru -Ru -Ru -Ru -Ru -fG -rl -rl -Mi -ni -Mi -sa -Mi -Mi -YU -YU -YU -YU -YU -"} -(48,1,1) = {" -qp -sa -sa -sa -sa -sa -sa -pe -sa -sa -sa -sa -EQ -Qm -fG -RS -sa -BY -sa -sa -BI -qp -sa -sa -YC -ed -fJ -dF -dF -dF -eN -bb -YC -YC -Mi -Mi -Mi -Mi -Mi -Ib -pr -gv -tr -tr -tr -tr -tr -tr -Yy -Jw -tj -cA -MG -Np -cA -mi -Ru -Ru -Ru -Ru -Ru -fG -rl -qw -Mi -Mi -uC -sD -Tu -Mi -YU -YU -YU -YU -YU -"} -(49,1,1) = {" -qp -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -Qm -fG -RS -sa -sa -sa -tY -pn -PN -ES -BY -YC -YC -iv -fC -fC -fC -mJ -YC -YC -Mi -Mi -sD -gb -gb -gb -Ib -tr -gv -tr -tr -tr -tr -tr -tr -Yy -tr -tj -cA -Bl -UN -cA -Ho -yz -yz -yz -yz -yz -Ho -Mi -qw -Mi -Mi -sD -ue -Mi -YU -YU -YU -YU -YU -YU -"} -(50,1,1) = {" -qp -sa -sa -sa -sa -sa -BY -sa -sa -sa -sa -BY -sa -Qm -fG -mi -Mi -Mi -sa -sa -aq -HA -sa -sa -Mi -YC -Ph -Ph -Ph -Ph -Ph -YC -sa -Mi -id -mX -Jx -jv -mX -Ib -Ne -gv -tr -tr -tr -tr -tr -tr -Yy -Ne -tj -Ru -Ru -Ru -Ru -Kx -Ru -Ru -Ru -Ru -Ru -fG -rl -Mi -iT -Mi -id -Mi -YU -YU -YU -YU -YU -YU -YU -"} -(51,1,1) = {" -qp -sa -lT -sa -sa -sa -wo -wo -wo -sa -sa -sa -CS -yb -fG -mi -QK -QK -Mi -sa -sa -BY -sa -Mi -Mi -sa -aq -pn -pn -pn -Zj -sa -BY -sa -Mi -hu -kd -MF -mX -Ib -tr -gv -tr -tr -tr -tr -tr -tr -Yy -tr -tj -Ru -Ru -Ru -Ru -Kx -Ru -Ru -Ru -Ru -Ru -fG -Mi -Mi -rl -Mi -YU -YU -YU -YU -YU -YU -YU -YU -YU -"} -(52,1,1) = {" -Ca -OK -KC -dL -sa -sa -Xk -Xk -Xk -sa -BY -dj -EU -uW -bj -AM -Mi -rl -qw -UT -UT -UT -UT -rl -Mi -sa -sa -aq -PN -pn -qp -sa -BY -sa -Mi -rl -rl -Mi -hu -Ib -pr -gv -tr -tr -tr -tr -tr -tr -DK -Jw -tj -Ru -Ru -Ru -Ru -Kx -Ru -Ru -Ru -Ru -Ru -fG -Mi -rl -rl -jv -YU -YU -YU -YU -YU -YU -YU -YU -YU -"} -(53,1,1) = {" -pn -qp -UF -oz -sa -sa -Sp -Xk -gu -sa -sa -sa -De -fG -mi -rl -rl -qw -rl -Mi -ni -sD -Mi -rl -qw -sa -BY -sa -aq -pn -Zj -sa -sa -sa -Mi -rl -rl -Mi -Mi -Ib -tr -gv -tr -tr -tr -tr -tr -tr -Yy -tr -tj -Ru -Ru -Ru -Ru -Kx -Ru -Ru -Ru -Ru -Ru -fG -rl -qw -Mi -Mi -Mi -YU -YU -YU -YU -YU -YU -YU -YU -"} -(54,1,1) = {" -lH -oF -sa -sa -sa -sa -VT -Xk -WR -sa -sa -yQ -Xb -fG -mi -rl -rl -rl -Mi -Cc -sD -Ts -sD -rl -rl -Mi -sa -sa -sa -aq -HA -BY -sa -Mi -gb -Mi -rl -qw -Mi -Ib -Ne -gv -tr -tr -tr -tr -tr -tr -Yy -Ne -tj -Ru -Ru -Ru -Ru -Kx -Ru -Ru -Ru -Ru -Ru -fG -rl -Mi -gn -rl -Mi -YU -YU -YU -YU -YU -YU -YU -YU -"} -(55,1,1) = {" -Hk -sa -sa -sa -sa -sa -Sp -Xk -gu -sa -BY -Qm -uW -zQ -mi -Mi -rl -Mi -Mi -ca -gb -gb -gb -Mi -rl -rl -hu -BY -sa -sa -sa -sa -Mi -gb -ct -mX -PC -rl -Mi -Ib -tr -gv -tr -tr -tr -tr -tr -tr -Yy -tr -NT -Xk -Mi -Mi -sD -Ho -Ge -Ge -Ge -Ge -Ge -Ho -Mi -Mi -rl -qw -Mi -YU -YU -YU -YU -YU -YU -YU -YU -"} -(56,1,1) = {" -qp -sa -sa -sa -EQ -sa -Xk -Xk -Xk -sa -sa -Qm -fG -mR -AM -Mi -Mi -sD -mX -ca -rl -qw -rl -gb -rl -rl -hu -hu -Mi -sD -sD -rl -qw -gb -Wv -mX -Mi -rl -Mi -Ib -pr -gv -tr -tr -tr -tr -tr -tr -Yy -Jw -Ib -Mi -ni -sD -jv -mi -Ru -Ru -Ru -Ru -Ru -fG -Mi -rl -rl -Mi -sD -YU -YU -YU -YU -YU -YU -YU -YU -"} -(57,1,1) = {" -qp -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -Qm -fG -mi -Mi -Mi -sD -sD -Mi -Mi -PC -rl -Mi -gb -rl -rl -ni -ni -sD -Mi -sD -Mi -rl -rl -gb -mX -Mi -rl -Mi -Ib -tr -gv -tr -tr -tr -tr -tr -tr -Yy -tr -Ib -sD -ni -rl -Mi -mi -Ru -Ru -Ru -Ru -Ru -fG -Mi -qw -rl -Mi -ni -YU -YU -YU -YU -YU -YU -YU -YU -"} -(58,1,1) = {" -qp -sa -sa -sa -sa -sa -ON -sa -sa -sa -yQ -yb -fG -mi -Mi -Mi -Mi -Mi -Mi -Mi -rl -Mi -Wv -gb -qw -Mi -gb -in -Mi -xh -xh -xh -xh -ih -xh -pB -Xv -Wl -Wl -Ib -Ne -gv -tr -tr -tr -tr -tr -tr -Yy -Ne -Ib -Mi -jv -rl -Mi -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -rl -rl -DP -ni -Mi -YU -YU -YU -YU -YU -YU -YU -"} -(59,1,1) = {" -qp -sa -sa -sa -sa -sa -BY -sa -sa -yQ -yb -uW -zQ -mi -Mi -hu -hu -Mi -rz -id -Mi -hu -kd -rl -rl -Mi -Mi -gb -Mi -xh -gX -oT -sX -Np -xh -Wl -Wl -FF -FF -Ib -tr -gv -tr -tr -tr -tr -tr -tr -Yy -tr -Ib -Mi -Mi -qw -Mi -mi -Ru -Ru -Ru -Ru -Ru -fG -jv -Mi -GA -sD -uC -gn -YU -YU -YU -YU -YU -YU -YU -"} -(60,1,1) = {" -RM -ES -sa -sa -sa -sa -sa -sa -yQ -yb -uW -zQ -Ho -vf -xo -YL -hu -hu -hu -Mi -MF -kd -Mi -rl -rl -Mi -lk -gb -Mi -xh -WO -FI -xh -Np -xh -Wl -FF -iC -FF -Ib -pr -gv -tr -tr -tr -tr -tr -tr -Yy -Jw -Ib -Mi -OI -OI -aj -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -xh -xh -cA -cA -cA -xh -xh -xh -YU -YU -YU -YU -"} -(61,1,1) = {" -qp -sa -kN -Gt -qd -sa -sa -BY -Qm -uW -zQ -Ho -HQ -kG -gA -vf -YL -hu -hu -hu -kj -Mi -rl -rl -Mi -Mi -Mi -gb -Mi -xh -xh -xh -xh -Np -xh -Wl -FF -pB -Wl -Ib -tr -IX -hY -hY -hY -hY -hY -hY -rg -tr -Ib -gn -Mi -OI -OR -mi -Ru -Ru -Ru -Ru -Ru -fG -Mi -xh -ar -UA -vI -EH -Ns -mu -xh -YU -YU -YU -YU -"} -(62,1,1) = {" -qp -sa -ER -Ia -FL -sa -BY -fy -TA -fG -HQ -kG -Jh -rl -GU -gA -mi -hu -hu -kj -sD -Mi -rl -rl -Mi -XJ -mX -gb -Mi -xh -Ed -VV -ih -Np -xh -Wl -Wl -Sy -Wl -Ib -Ne -tr -mt -Ne -tr -tr -Ne -mt -tr -Ne -Ib -Mi -Mi -Mi -Mi -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -xh -cR -gi -gi -gi -im -Be -cA -YU -YU -YU -YU -"} -(63,1,1) = {" -qp -sa -yA -nZ -eJ -sa -dj -DE -uW -zQ -Ko -rl -rl -rl -rl -MP -mi -hu -kj -sD -Mi -rl -qw -rl -gn -Eb -gd -gd -kb -xh -xh -xh -xh -ih -xh -Wl -Wl -Sy -Sy -yS -dU -dU -dU -dU -xO -dU -dU -dU -dU -dU -yS -Mi -sD -Mi -Mi -mi -Ru -Ru -Ru -Ru -Ru -fG -Ho -Ew -kp -FA -FA -FA -Nv -jG -cA -YU -YU -YU -YU -"} -(64,1,1) = {" -qp -sa -YE -sa -sa -BY -yQ -yX -fG -HQ -Jh -qw -hu -bD -rl -MP -mi -hu -Mi -Mi -gn -rl -rl -Mi -Mi -Eb -kb -kb -rl -kb -XJ -Mi -Mi -rl -Mi -Mi -Mi -Mi -OI -OI -OI -Mi -Mi -gn -Mi -Mi -kb -kb -Mi -Mi -Mi -sD -sD -rl -Mi -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -xh -xu -dT -zl -bu -AD -se -xh -YU -YU -YU -YU -"} -(65,1,1) = {" -qp -sa -lZ -LN -sa -sa -yb -uW -Em -Jh -rl -rl -Cd -Uq -rl -GU -GM -YL -Mi -UX -UX -UX -Mk -UX -UX -UX -UX -kb -rl -rl -kb -rl -rl -rl -Mi -Mi -wQ -gn -Mi -wS -hu -Mi -jv -Mi -Mi -Mi -rl -rl -Mi -sD -sD -XJ -rl -rl -Mi -mi -Ru -Ru -Ru -Ru -Ru -fG -Mi -xh -PE -dT -dX -xh -xh -xh -xh -YU -YU -YU -YU -"} -(66,1,1) = {" -qp -sa -sa -sa -sa -sa -EJ -Ho -Ko -rl -rl -wS -hu -FC -qw -rl -MP -vf -UX -UX -un -VQ -tI -tI -em -UH -UX -kn -rl -PC -rl -kb -rl -rl -Mi -Mi -Mi -kb -kb -gN -hl -hl -kE -Mi -Mi -Mi -qw -rl -Mi -ME -Mi -rl -qw -kb -Mi -mi -Ru -Ru -GE -Ru -Ru -fG -id -xh -zk -dT -xj -xh -eK -tJ -xh -YU -YU -YU -YU -"} -(67,1,1) = {" -qp -sa -sa -sa -sa -sa -EJ -Ho -Ko -rl -rl -rl -wS -fv -EC -rl -MP -Ho -UX -xy -tI -tI -tI -tI -Gd -gZ -UX -kb -rl -rl -rl -Mi -Mi -jv -Mi -Mi -Mi -sa -sa -eM -Ho -Ho -hb -sa -Mi -hu -hu -Mi -Mi -Mi -Mi -rl -rl -IF -gb -mi -Ru -Ru -Ru -Ru -Ru -fG -Mi -xh -te -dT -dT -Up -uV -kw -xh -YU -YU -YU -YU -"} -(68,1,1) = {" -qp -sa -BY -sa -sa -sa -EJ -Ho -Oe -wH -ie -rl -qw -hu -hu -rl -MP -Ho -xe -tI -XQ -SS -tI -tI -GJ -CJ -UX -kb -kb -kb -rl -Mi -kd -gb -Mi -sa -BY -sa -sa -eM -Ho -Ho -hb -sa -sa -jv -hu -wS -OI -Mi -rl -rl -PC -Mi -JD -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -xh -dT -sS -xh -xh -xh -xh -xh -YU -YU -YU -YU -"} -(69,1,1) = {" -qp -sa -sa -sa -sa -BY -Xc -Cq -fA -aR -Oe -ie -rl -rl -wS -rl -MP -Ho -UX -xy -tI -tI -tI -tI -tI -tI -UX -Mi -hu -hu -Mi -kd -kd -Mi -sa -sa -sa -sa -lL -Qd -Ho -Ho -hb -BY -sa -Mi -Mi -hu -Mi -rl -rl -Mi -Mi -Mi -Mi -mi -Ru -Ru -Ru -Ru -Ru -fG -Mi -xh -Al -ND -xh -Vr -gX -bf -xh -YU -YU -YU -YU -"} -(70,1,1) = {" -qp -sa -sa -sa -Ms -sa -iO -Ie -Xc -Cq -fA -kI -ie -rl -rl -qw -MP -mR -UX -UX -PF -fn -tI -ix -NX -NX -UX -Mi -Mi -hu -hu -Zy -gb -sa -sa -sa -Hz -Wd -pn -fp -Ho -Ho -jj -sa -sa -sa -Mi -Mi -Mi -Mi -Mi -hu -Mi -rl -Mi -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -xh -xF -im -xh -QI -OW -FI -xh -YU -YU -YU -YU -"} -(71,1,1) = {" -Ca -Go -OK -sa -sa -sa -sa -sa -iO -Ie -Xc -Cq -kI -ie -rl -mm -cW -AM -gn -UX -UX -UX -lE -UX -UX -UX -UX -Mi -Mi -Mi -hu -kd -Mi -sa -sa -Hz -PN -Tm -pn -fp -Ho -Ho -hW -OK -sa -sa -sa -Mi -sD -sD -wf -hu -rl -rl -id -mi -Ru -Ru -Ru -Ru -Ru -fG -gn -xh -Zc -im -Pm -dT -Ln -KO -xh -YU -YU -YU -YU -"} -(72,1,1) = {" -pn -lH -HA -sa -sa -sa -sa -sa -sa -EQ -iO -Xc -Cq -kI -wH -Kz -mi -Mi -Mi -Mi -rl -rl -rl -Mi -Mi -Mi -Mi -QK -Mi -Mi -gb -kd -sa -sa -lL -PN -Tm -Tm -pn -fp -Ho -Ho -hW -pn -OK -BY -sa -Mi -QK -ue -kj -Mi -qw -Mi -Mi -mi -Ru -Ru -GE -Ru -Ru -fG -Mi -xh -xh -xh -xh -xh -xh -xh -xh -YU -YU -YU -YU -"} -(73,1,1) = {" -lH -HA -sa -EQ -sa -sa -sa -sa -sa -sa -sa -iO -br -Cq -aR -mR -AM -hu -hu -hu -id -Mi -rl -gn -Mi -BP -Mi -rl -qw -Mi -Mi -sa -sa -sa -PH -pn -pn -pn -pn -aD -ur -ur -dl -pn -qp -sa -sa -Mi -Mi -QK -sD -sD -Mi -Mi -OI -mi -Ru -Ru -rl -rl -Ru -fG -Mi -sD -Mi -Mi -rl -rl -gn -Mi -YU -YU -YU -YU -YU -"} -(74,1,1) = {" -HA -sa -sa -sa -sa -sa -sa -sa -BY -sa -sa -GI -xK -Xc -fG -mi -Mi -Mi -ue -kj -Mi -rl -qw -Mi -hu -BP -hu -rl -Mi -Mi -Mi -sa -sa -lL -pn -pn -pn -pn -Gn -Gn -Gn -Gn -pn -Tm -pn -OK -sa -sa -Mi -jv -Mi -sD -rl -Mi -OI -mi -Ru -rl -qw -rl -Ru -fG -OI -OI -uC -Sh -sD -Mi -Mi -YU -YU -YU -YU -YU -YU -"} -(75,1,1) = {" -sa -sa -sa -sa -sa -sa -sa -sa -sa -BY -sa -KT -sa -Qm -fG -vf -YL -Mi -kj -hu -rl -qw -rl -rl -Mi -hu -rl -qw -Mi -gn -Mi -sa -BY -aq -pn -Tm -pn -pn -Gn -Gn -Gn -Gn -pn -pn -pn -qp -sa -sa -sa -Mi -Mi -Mi -rl -wf -aj -Ho -Ru -rl -rl -rl -Ru -Ho -Mi -rl -qw -Mi -YU -YU -YU -YU -YU -YU -YU -YU -YU -"} -(76,1,1) = {" -ON -sa -sa -Xk -ep -HW -Xk -sa -sa -BY -sa -sa -sa -Qm -fG -Ho -mi -Mi -kj -Mi -Mi -PC -Mi -Mi -Mi -rl -rl -Mi -Mi -YU -jv -Mi -sa -sa -aq -pn -pn -pn -pn -Gn -Gn -pn -pn -pn -pn -HA -sa -sa -sa -ek -Mi -rl -qw -hu -hu -hu -Ru -Ru -rl -Ru -Ru -Mi -rl -rl -rl -Mi -YU -YU -YU -YU -YU -YU -YU -YU -YU -"} -(77,1,1) = {" -sa -sa -sa -Xk -Xk -Xk -Xk -sa -sa -sa -sa -ti -sa -Qm -Mp -FW -AM -Mi -wf -Mi -hu -Mi -Mi -YU -YU -Mi -Mi -Mi -YU -YU -Mi -Mi -sa -sa -sa -aq -pn -pn -pn -pn -pn -pn -pn -pn -HA -BY -sa -sa -kb -Mi -Mi -rl -hu -hu -Mi -hu -qw -Ru -rl -Ru -rl -gn -rl -rl -Mi -Mi -YU -YU -YU -YU -YU -YU -YU -YU -YU -"} -(78,1,1) = {" -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -BY -sa -iO -br -kf -Mi -Mi -Mi -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -Mi -Mi -sa -sa -sa -aq -rR -pn -pn -Tm -pn -rR -HA -sa -sa -sa -Mi -Mi -Mi -OI -Mi -hu -Mi -xE -Mi -rl -Ru -Ru -Ru -qw -rl -Mi -Mi -Mi -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -"} -(79,1,1) = {" -sa -sa -sa -sa -sa -BY -sa -sa -sa -BY -BY -sa -GI -UT -Ck -cs -id -Mi -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -Mi -Mi -sa -sa -sa -sa -aq -rR -rR -HA -sa -sa -sa -sa -Mi -Mi -gn -jv -Mi -wS -hu -YU -YU -YU -Ru -Ru -Ru -rl -Ru -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -"} -(80,1,1) = {" -sa -BY -sa -sa -sa -sa -sa -sa -sa -sa -GI -aa -rl -rl -rl -QK -yl -Mi -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -Mi -dy -xp -sa -sa -sa -sa -BY -sa -sa -Mi -jv -Mi -Mi -Mi -Mi -Mi -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -YU -"} diff --git a/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm b/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm index 2b2479ffe0f..d81eb0c511e 100644 --- a/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm @@ -16,7 +16,7 @@ /area/ruin/beach/piratecrash/storage) "af" = ( /obj/structure/table/wood, -/obj/item/kitchen/knife, +/obj/item/melee/knife/kitchen, /obj/effect/turf_decal/corner/opaque/black/diagonal, /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -37,7 +37,7 @@ }, /obj/structure/table/wood, /obj/item/reagent_containers/food/snacks/fishfry, -/obj/item/kitchen/knife/shiv{ +/obj/item/melee/knife/shiv{ pixel_x = -6; pixel_y = 5 }, @@ -1111,7 +1111,7 @@ /obj/structure/closet/crate, /obj/effect/turf_decal/box, /obj/item/stack/cable_coil/red, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ruin/beach/piratecrash/shuttle) @@ -1350,7 +1350,7 @@ "Pf" = ( /obj/effect/turf_decal/box, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/stack/sheet/mineral/gold/five, /obj/item/stack/sheet/mineral/silver/five, /obj/item/stack/sheet/mineral/silver/five, @@ -1365,16 +1365,12 @@ icon_state = "0-8" }, /obj/machinery/light/small/directional/east, -/obj/machinery/porta_turret/syndicate/pod{ - desc = "A turret built with substandard parts and run down further with age. Still capable of delivering lethal lasers to the odd space carp, but not much else."; - dir = 8; - faction = list("Frontiersmen"); - lethal_projectile = /obj/projectile/beam/weak/penetrator; - lethal_projectile_sound = 'sound/weapons/plasma_cutter.ogg'; - name = "laser turret" - }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/porta_turret/ship/frontiersmen/light{ + dir = 10; + faction = list("Frontiersmen","Turret") + }, /turf/open/floor/plating, /area/ruin/beach/piratecrash) "PH" = ( @@ -1433,9 +1429,9 @@ "QG" = ( /obj/effect/turf_decal/box, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/random_machine_circuit_rare, -/obj/effect/spawner/lootdrop/maintenance/four, -/obj/effect/spawner/lootdrop/random_machine_circuit_common, +/obj/effect/spawner/random/circuit/machine/rare, +/obj/effect/spawner/random/maintenance/four, +/obj/effect/spawner/random/circuit/machine/common, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/rust, diff --git a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm index 6e70a81ace4..9fb79427bde 100644 --- a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm @@ -18,12 +18,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/ruin/beach/treasure_cove) -"ay" = ( -/obj/structure/flora/tree/palm, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, -/area/ruin/unpowered) "aY" = ( /obj/structure/flora/ausbushes/reedbush, /turf/open/water/beach, @@ -32,12 +26,6 @@ /obj/structure/flora/rock/beach, /turf/open/water/beach, /area/ruin/unpowered) -"bI" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/light/small/directional/north, -/obj/effect/spawner/lootdrop/glowstick, -/turf/open/floor/concrete/slab_1, -/area/ruin/beach/treasure_cove) "bN" = ( /obj/effect/turf_decal/weather/sand, /turf/open/water/beach, @@ -47,15 +35,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/dirt/jungle/dark/lit, /area/ruin/beach/treasure_cove) -"bQ" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/glowstick, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/unpowered) "cJ" = ( /obj/effect/turf_decal/industrial/outline/yellow, /obj/structure/ore_box, @@ -192,12 +171,6 @@ footstep = "wood" }, /area/ruin/beach/treasure_cove) -"ht" = ( -/obj/effect/overlay/palmtree_r, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, -/area/ruin/unpowered) "hJ" = ( /obj/effect/turf_decal/industrial/traffic, /obj/effect/turf_decal/industrial/traffic{ @@ -206,11 +179,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/concrete/slab_1, /area/ruin/beach/treasure_cove) -"hS" = ( -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, -/area/ruin/unpowered) "ie" = ( /obj/structure/closet/crate/grave/loot{ desc = "Here lies our great brother and infamous pirate" @@ -240,7 +208,7 @@ }, /obj/structure/table/wood/reinforced, /obj/effect/decal/cleanable/dirt/dust, -/obj/item/reagent_containers/food/snacks/breadslice/moldy{ +/obj/item/food/breadslice/moldy{ pixel_x = 3; pixel_y = 6 }, @@ -280,6 +248,9 @@ icon_state = "wood-broken5" }, /area/ruin/beach/treasure_cove) +"jQ" = ( +/turf/open/floor/plating/asteroid/sand/lit, +/area/ruin/unpowered) "jT" = ( /obj/structure/barricade/wooden, /obj/structure/barricade/wooden/crude, @@ -298,12 +269,6 @@ }, /turf/open/water/beach, /area/ruin/unpowered) -"kl" = ( -/obj/effect/overlay/palmtree_l, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, -/area/ruin/unpowered) "km" = ( /mob/living/simple_animal/hostile/cockroach, /turf/open/floor/wood{ @@ -355,6 +320,10 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/concrete/slab_1, /area/ruin/beach/treasure_cove) +"mV" = ( +/obj/effect/overlay/palmtree_r, +/turf/open/floor/plating/asteroid/sand/lit, +/area/ruin/unpowered) "nf" = ( /obj/structure/closet/body_bag, /obj/effect/decal/cleanable/blood/gibs/old{ @@ -393,7 +362,7 @@ pixel_x = 9; pixel_y = -1 }, -/obj/item/gun/ballistic/automatic/assault/p16/minutemen{ +/obj/item/gun/ballistic/automatic/assault/cm82{ pixel_y = 7; pixel_x = -9 }, @@ -536,15 +505,11 @@ icon_state = "wood-broken4" }, /area/ruin/beach/treasure_cove) -"rp" = ( -/obj/item/restraints/handcuffs/cable/zipties/used, -/obj/item/ammo_casing/spent{ - icon_state = "rifle-brass"; - pixel_x = -10; - pixel_y = 4 - }, -/obj/effect/spawner/lootdrop/glowstick, -/turf/open/floor/wood, +"rf" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/light/small/directional/north, +/obj/effect/spawner/random/decoration/glowstick, +/turf/open/floor/concrete/slab_1, /area/ruin/beach/treasure_cove) "rA" = ( /mob/living/simple_animal/beachcarp/trout{ @@ -666,13 +631,8 @@ /obj/structure/table/reinforced{ color = "#c1b6a5" }, -/obj/item/ammo_box/c38_box{ - pixel_x = 10; - pixel_y = 8 - }, -/obj/item/ammo_box/c38_box{ - pixel_x = 10 - }, +/obj/item/storage/box/ammo/c38, +/obj/item/storage/box/ammo/c38, /obj/structure/sign/poster/contraband/energy_swords{ pixel_x = -32 }, @@ -785,6 +745,10 @@ }, /turf/open/floor/plating/grass/beach/lit, /area/ruin/unpowered) +"xC" = ( +/obj/effect/overlay/palmtree_l, +/turf/open/floor/plating/asteroid/sand/lit, +/area/ruin/unpowered) "xU" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -918,6 +882,10 @@ /obj/structure/spacevine/dense, /turf/open/water/beach, /area/ruin/unpowered) +"Cq" = ( +/mob/living/simple_animal/crab, +/turf/open/floor/plating/asteroid/sand/lit, +/area/ruin/unpowered) "Cz" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -978,6 +946,15 @@ /mob/living/simple_animal/hostile/human/frontier, /turf/open/floor/plating/dirt/jungle/lit, /area/ruin/beach/treasure_cove) +"FL" = ( +/obj/structure/railing/wood{ + layer = 3.1; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/decoration/glowstick, +/turf/open/floor/plating/dirt/jungle, +/area/ruin/unpowered) "Gm" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/bed{ @@ -986,6 +963,16 @@ /obj/effect/decal/cleanable/glass, /turf/open/floor/wood/walnut, /area/ruin/beach/treasure_cove) +"GA" = ( +/obj/item/restraints/handcuffs/cable/zipties/used, +/obj/item/ammo_casing/spent{ + icon_state = "rifle-brass"; + pixel_x = -10; + pixel_y = 4 + }, +/obj/effect/spawner/random/decoration/glowstick, +/turf/open/floor/wood, +/area/ruin/beach/treasure_cove) "GC" = ( /obj/structure/spacevine, /turf/open/water/beach, @@ -1106,7 +1093,7 @@ pixel_x = -6; pixel_y = 10 }, -/obj/item/melee/transforming/energy/sword/saber/pirate/red{ +/obj/item/melee/energy/sword/saber/pirate/red{ pixel_y = 8; pixel_x = 10 }, @@ -1427,6 +1414,10 @@ /obj/effect/turf_decal/industrial/outline/yellow, /turf/open/floor/concrete/slab_2, /area/ruin/beach/treasure_cove) +"Wb" = ( +/obj/structure/flora/tree/palm, +/turf/open/floor/plating/asteroid/sand/lit, +/area/ruin/unpowered) "Wh" = ( /obj/item/stack/ore/salvage/scrapmetal{ pixel_y = -15; @@ -1441,12 +1432,6 @@ /mob/living/simple_animal/hostile/cockroach, /turf/open/floor/plating/rust, /area/ruin/beach/treasure_cove) -"WX" = ( -/mob/living/simple_animal/crab, -/turf/open/floor/plating/beach/sand{ - light_range = 2 - }, -/area/ruin/unpowered) "Xp" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -1598,25 +1583,25 @@ lt lt lt lt -hS -hS -hS -hS -hS -hS -kl -hS -hS -hS -hS -hS -hS -hS -hS -hS -hS -hS -hS +jQ +jQ +jQ +jQ +jQ +jQ +xC +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ Iv Iv Iv @@ -1644,25 +1629,25 @@ lt lt lt lt -hS -hS -hS -hS -hS -hS -hS -hS -hS -hS -hS -hS -hS -hS -hS -hS -hS -hS -hS +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ Iv Iv "} @@ -1701,13 +1686,13 @@ UY UY UY jZ -hS -hS -hS -hS -kl -hS -hS +jQ +jQ +jQ +jQ +xC +jQ +jQ Iv Iv "} @@ -1749,11 +1734,11 @@ TN UY UY jZ -hS -hS -hS -hS -hS +jQ +jQ +jQ +jQ +jQ Iv "} (6,1,1) = {" @@ -1795,11 +1780,11 @@ TN TN TN jZ -hS -hS -hS -hS -hS +jQ +jQ +jQ +jQ +jQ "} (7,1,1) = {" Iv @@ -1830,10 +1815,10 @@ lt lt lt lt -hS -hS -WX -hS +jQ +jQ +Cq +jQ db EE TN @@ -1841,10 +1826,10 @@ TN TN TN jZ -hS -hS -hS -hS +jQ +jQ +jQ +jQ "} (8,1,1) = {" Iv @@ -1876,20 +1861,20 @@ lt lt lt lt -hS -hS -hS -hS -hS +jQ +jQ +jQ +jQ +jQ db TN TN TN bN -hS -hS -hS -hS +jQ +jQ +jQ +jQ "} (9,1,1) = {" Iv @@ -1921,20 +1906,20 @@ lt lt lt lt -hS -hS -hS -kl -hS -hS +jQ +jQ +jQ +xC +jQ +jQ TJ bB TN bN -hS -hS -hS -hS +jQ +jQ +jQ +jQ "} (10,1,1) = {" Iv @@ -1966,20 +1951,20 @@ lt lt lt lt -hS -hS -hS -WX -hS -hS +jQ +jQ +jQ +Cq +jQ +jQ TJ TN TN TN jZ -hS -hS -hS +jQ +jQ +jQ "} (11,1,1) = {" Iv @@ -1997,7 +1982,7 @@ Wa vb qN pz -bI +rf Ry Ty Ry @@ -2011,10 +1996,10 @@ lt lt lt lt -hS -hS -hS -hS +jQ +jQ +jQ +jQ VF UY TN @@ -2022,9 +2007,9 @@ TN TN TN bN -hS -hS -hS +jQ +jQ +jQ "} (12,1,1) = {" Iv @@ -2057,8 +2042,8 @@ lt lt lt lt -hS -hS +jQ +jQ VF TN TN @@ -2067,9 +2052,9 @@ TN TN tH bN -hS -hS -hS +jQ +jQ +jQ "} (13,1,1) = {" Iv @@ -2112,9 +2097,9 @@ TN TN TN bN -hS -hS -hS +jQ +jQ +jQ "} (14,1,1) = {" Iv @@ -2158,8 +2143,8 @@ TN TN TN jZ -hS -hS +jQ +jQ "} (15,1,1) = {" Iv @@ -2203,8 +2188,8 @@ EE TN TN bN -hS -hS +jQ +jQ "} (16,1,1) = {" Iv @@ -2244,12 +2229,12 @@ TN TN TN CB -hS +jQ TJ TN bN -hS -hS +jQ +jQ "} (17,1,1) = {" Iv @@ -2288,13 +2273,13 @@ SD xg TN bN -hS +jQ lt lt TN bN -hS -hS +jQ +jQ "} (18,1,1) = {" lt @@ -2338,8 +2323,8 @@ lt TN TN bN -hS -hS +jQ +jQ "} (19,1,1) = {" lt @@ -2383,8 +2368,8 @@ TN TN TN bN -hS -hS +jQ +jQ "} (20,1,1) = {" lt @@ -2409,7 +2394,7 @@ wS Te le ZO -rp +GA Uf tD Rn @@ -2428,8 +2413,8 @@ TN TN TN bN -hS -hS +jQ +jQ "} (21,1,1) = {" lt @@ -2473,8 +2458,8 @@ TN TN TN bN -hS -hS +jQ +jQ "} (22,1,1) = {" lt @@ -2518,15 +2503,15 @@ TN TN tH bN -hS -hS +jQ +jQ "} (23,1,1) = {" Iv lt lt -hS -hS +jQ +jQ lt lt lt @@ -2563,15 +2548,15 @@ lt TN TN bN -hS -hS +jQ +jQ "} (24,1,1) = {" Iv lt lt -hS -hS +jQ +jQ lt lt lt @@ -2608,15 +2593,15 @@ TN TN TN bN -hS -hS +jQ +jQ "} (25,1,1) = {" Iv lt -hS -hS -hS +jQ +jQ +jQ lt lt lt @@ -2634,7 +2619,7 @@ oR Jd cU nR -bQ +FL lt lt lt @@ -2653,16 +2638,16 @@ TN TN TN CB -hS -hS +jQ +jQ "} (26,1,1) = {" Iv Iv -hS -hS -hS -WX +jQ +jQ +jQ +Cq lt lt lt @@ -2697,15 +2682,15 @@ TN TN TN bN -hS -hS -hS +jQ +jQ +jQ "} (27,1,1) = {" Iv Iv -hS -hS +jQ +jQ VF UY UY @@ -2742,15 +2727,15 @@ TN TN TN bN -WX -hS -hS +Cq +jQ +jQ "} (28,1,1) = {" Iv Iv -hS -ht +jQ +mV TJ TN TN @@ -2787,21 +2772,21 @@ TN TN TN CB -hS -hS +jQ +jQ Iv "} (29,1,1) = {" Iv Iv -hS -hS +jQ +jQ TJ TN TN TN jZ -hS +jQ lt lt lt @@ -2831,23 +2816,23 @@ TN TN TN CB -hS -hS -hS +jQ +jQ +jQ Iv "} (30,1,1) = {" Iv Iv -hS -hS +jQ +jQ db TN TN TN bN -WX -hS +Cq +jQ lt lt lt @@ -2875,18 +2860,18 @@ TN TN TN CB -hS -hS -hS -hS +jQ +jQ +jQ +jQ Iv "} (31,1,1) = {" Iv Iv -hS -hS -hS +jQ +jQ +jQ db EE TN @@ -2919,9 +2904,9 @@ TN TN EE CB -hS -hS -hS +jQ +jQ +jQ Iv Iv Iv @@ -2930,10 +2915,10 @@ Iv Iv Iv lt -hS -hS -hS -WX +jQ +jQ +jQ +Cq TJ TN TN @@ -2962,10 +2947,10 @@ EE EE EE CB -hS -hS -hS -hS +jQ +jQ +jQ +jQ Iv Iv Iv @@ -2976,9 +2961,9 @@ Iv lt lt lt -hS -hS -hS +jQ +jQ +jQ db TN TN @@ -3002,14 +2987,14 @@ EE EE EE CB -hS -hS -hS -hS -hS -hS -hS -hS +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ Iv Iv Iv @@ -3022,9 +3007,9 @@ Iv Iv Iv Iv -hS -hS -hS +jQ +jQ +jQ db EE TN @@ -3041,19 +3026,19 @@ lt lt lt lt -hS -hS -hS -hS -hS -hS -ay -hS -hS -hS -hS -hS -hS +jQ +jQ +jQ +jQ +jQ +jQ +Wb +jQ +jQ +jQ +jQ +jQ +jQ Iv Iv Iv @@ -3068,15 +3053,15 @@ Iv Iv lt lt -hS -hS -hS -hS +jQ +jQ +jQ +jQ db EE EE CB -hS +jQ lt lt lt @@ -3084,17 +3069,17 @@ lt lt lt lt -hS -hS -hS -hS -hS -hS -hS -hS -hS -hS -hS +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ +jQ Iv Iv Iv @@ -3114,16 +3099,16 @@ lt lt lt lt -hS -hS -hS -kl -hS -hS -hS -hS -hS -hS +jQ +jQ +jQ +xC +jQ +jQ +jQ +jQ +jQ +jQ Iv Iv Iv @@ -3160,13 +3145,13 @@ Iv Iv Iv Iv -hS -hS -hS -hS -hS -hS -hS +jQ +jQ +jQ +jQ +jQ +jQ +jQ Iv Iv Iv diff --git a/_maps/RandomRuins/IceRuins/icemoon_crashed_holemaker.dmm b/_maps/RandomRuins/IceRuins/icemoon_crashed_holemaker.dmm index 82c054f8fab..294dd105643 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_crashed_holemaker.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_crashed_holemaker.dmm @@ -473,9 +473,7 @@ /obj/structure/bed/double{ dir = 1 }, -/obj/item/bedsheet/dorms/double{ - dir = 1 - }, +/obj/effect/spawner/random/bedsheet/double, /turf/open/floor/plasteel/dark, /area/ruin/unpowered/crashed_holemaker) "iN" = ( @@ -674,7 +672,7 @@ /area/ruin/unpowered/crashed_holemaker) "lt" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/crate_spawner, +/obj/effect/spawner/random/structure/crate_abandoned, /turf/open/floor/plating, /area/ruin/unpowered/crashed_holemaker) "lu" = ( @@ -743,7 +741,7 @@ }, /obj/item/radio/intercom/directional/north, /obj/structure/closet/cabinet, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/ruin/unpowered/crashed_holemaker) @@ -887,7 +885,7 @@ /area/ruin/unpowered/crashed_holemaker) "oC" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/item/kitchen/knife, +/obj/item/melee/knife/kitchen, /turf/open/floor/wood{ icon_state = "wood-broken7" }, @@ -1441,7 +1439,7 @@ /turf/open/floor/carpet, /area/ruin/unpowered/crashed_holemaker) "ze" = ( -/obj/effect/spawner/lootdrop/crate_spawner, +/obj/effect/spawner/random/structure/crate_abandoned, /turf/open/floor/plating, /area/ruin/unpowered/crashed_holemaker) "zh" = ( @@ -2389,7 +2387,7 @@ /turf/open/floor/plasteel/icemoon, /area/ruin/unpowered/crashed_holemaker) "RL" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/spline/fancy/transparent/neutral/corner{ dir = 4 }, diff --git a/_maps/RandomRuins/IceRuins/icemoon_hydroponics_lab.dmm b/_maps/RandomRuins/IceRuins/icemoon_hydroponics_lab.dmm deleted file mode 100644 index 67613238e83..00000000000 --- a/_maps/RandomRuins/IceRuins/icemoon_hydroponics_lab.dmm +++ /dev/null @@ -1,3427 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ab" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"ac" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/hydroponics/constructable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/grass, -/area/ruin/powered/hydroponicslab) -"ag" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/cable_coil/yellow{ - pixel_x = 3; - pixel_y = -2; - amount = 2 - }, -/obj/item/wallframe/camera{ - pixel_x = -7; - pixel_y = 4 - }, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"am" = ( -/obj/machinery/microwave, -/obj/structure/table, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"aC" = ( -/obj/item/book/manual/hydroponics_pod_people{ - pixel_y = 0 - }, -/obj/structure/table, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"aJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"bd" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"bg" = ( -/obj/machinery/light/dim/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/reagent_containers/glass/bottle/nutrient/ez{ - pixel_x = -5; - pixel_y = 11 - }, -/obj/item/reagent_containers/food/snacks/grown/tomato{ - pixel_x = 6; - pixel_y = 5 - }, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/spline/fancy/opaque/green, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"bq" = ( -/obj/structure/table, -/obj/item/seeds/replicapod{ - pixel_x = -2; - pixel_y = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"bv" = ( -/obj/effect/decal/cleanable/blood/gibs/up, -/obj/item/ammo_casing/caseless{ - pixel_y = -9; - pixel_x = -9; - dir = 5 - }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/opaque/red{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"bA" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"bD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/trash/energybar{ - pixel_x = -1; - pixel_y = 3 - }, -/obj/structure/table, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"bP" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ruin/powered/hydroponicslab) -"bV" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"ct" = ( -/obj/structure/table, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 5 - }, -/obj/item/seeds/cabbage{ - pixel_x = -2; - pixel_y = -2 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"cu" = ( -/obj/machinery/hydroponics/constructable, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"da" = ( -/obj/structure/table, -/obj/item/seeds/watermelon{ - pixel_x = -13; - pixel_y = 12 - }, -/obj/item/toy/figure/botanist, -/turf/open/floor/plating, -/area/ruin/powered/hydroponicslab) -"dw" = ( -/obj/item/toy/katana, -/turf/open/floor/plating, -/area/ruin/powered/hydroponicslab) -"dB" = ( -/obj/effect/decal/cleanable/food/plant_smudge, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"dD" = ( -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/obj/machinery/door/airlock/research{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"ed" = ( -/obj/machinery/door/airlock/hatch, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"eh" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"eD" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/effect/turf_decal/spline/plain/transparent/bar{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"eX" = ( -/obj/effect/decal/cleanable/blood/gibs, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"fd" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"fM" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"fN" = ( -/obj/structure/closet/crate/freezer, -/obj/item/reagent_containers/blood/BMinus{ - desc = "Contains blood used for transfusion. Must be attached to an IV drip. Something is scribbled on the back in bright blue letters: ICARUS" - }, -/obj/item/reagent_containers/blood/OMinus{ - desc = "Contains blood used for transfusion. Must be attached to an IV drip. Something is scribbled on the back in blue letters: DAEDALUS" - }, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"fO" = ( -/turf/open/floor/plating/rust, -/area/ruin/powered/hydroponicslab) -"gb" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/transparent/bar{ - dir = 9 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"gf" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/ammo_casing/caseless{ - pixel_y = -9; - pixel_x = 11; - dir = 10 - }, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/red{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"gl" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/effect/turf_decal/spline/plain/transparent/bar{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"gz" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime/corner{ - dir = 4; - color = "#B7D993" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"gA" = ( -/turf/open/floor/plating/snowed/temperatre{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/overmap_encounter/planetoid/cave/explored) -"gC" = ( -/obj/structure/table, -/obj/item/seeds/berry{ - pixel_x = 3 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"gM" = ( -/obj/item/ammo_casing/caseless{ - pixel_x = 8; - pixel_y = 4; - dir = 8 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/orange/corner{ - dir = 8; - color = "#C3630C" - }, -/obj/effect/turf_decal/spline/fancy/opaque/orange/corner{ - dir = 4; - color = "#C3630C" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"gO" = ( -/obj/structure/table, -/obj/item/shovel/spade{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/machinery/light/dim/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"gP" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/fernybush, -/mob/living/simple_animal/hostile/venus_human_trap, -/turf/open/floor/grass, -/area/ruin/powered/hydroponicslab) -"gU" = ( -/obj/structure/curtain, -/obj/machinery/shower{ - dir = 1 - }, -/turf/open/floor/plasteel/freezer, -/area/ruin/powered/hydroponicslab) -"gV" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/ruin/powered/hydroponicslab) -"hd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"hg" = ( -/obj/effect/turf_decal/borderfloorblack/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/transparent/bar/corner{ - dir = 1; - color = "#791500" - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"hs" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"hw" = ( -/obj/effect/decal/cleanable/blood/drip{ - pixel_x = -3; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/ammo_casing/caseless{ - pixel_x = -8; - pixel_y = 6; - dir = 9 - }, -/obj/effect/turf_decal/corner_techfloor_grid, -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/spline/fancy/opaque/orange/corner{ - color = "#C3630C" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"hF" = ( -/mob/living/simple_animal/hostile/venus_human_trap, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"hJ" = ( -/turf/closed/wall/r_wall, -/area/ruin/powered/hydroponicslab) -"hZ" = ( -/obj/item/stack/cable_coil/yellow{ - pixel_x = 1; - pixel_y = -2; - amount = 2 - }, -/obj/item/wallframe/camera{ - pixel_x = -6; - pixel_y = 6 - }, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"ic" = ( -/obj/effect/decal/cleanable/food/tomato_smudge, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/spline/fancy/opaque/orange, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"ij" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/transparent/bar{ - dir = 8 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"iw" = ( -/obj/effect/turf_decal/borderfloorblack/corner{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/transparent/bar/corner{ - dir = 8; - color = "#791500" - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"iz" = ( -/obj/structure/table, -/obj/item/seeds/starthistle/corpse_flower{ - pixel_y = 3; - pixel_x = 3 - }, -/obj/item/reagent_containers/glass/bottle/nutrient/l4z{ - pixel_x = -10; - pixel_y = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"iB" = ( -/obj/effect/mob_spawn/human/scientist, -/obj/effect/decal/cleanable/blood, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"iH" = ( -/obj/structure/closet, -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/suit/hooded/wintercoat/security{ - pixel_y = 0 - }, -/obj/item/clothing/shoes/winterboots{ - pixel_y = 0 - }, -/obj/item/ammo_box/magazine/m45{ - pixel_y = 0 - }, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/red{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"iJ" = ( -/obj/item/trash/chips{ - pixel_x = -1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"iQ" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/snacks/grown/tomato/blood{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/item/seeds/tomato/killer{ - pixel_y = -9; - pixel_x = -2 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"iY" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/spline/fancy/opaque/lime, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"jh" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/grass, -/area/ruin/powered/hydroponicslab) -"jl" = ( -/obj/effect/decal/cleanable/food/salt, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/purple{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"jr" = ( -/obj/structure/table, -/obj/item/circuitboard/machine/hydroponics{ - pixel_x = -4; - pixel_y = 2 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"jC" = ( -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/purple{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"jY" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"kr" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"kw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"kS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 6 - }, -/obj/structure/frame/machine, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"lj" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"lk" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/purple/corner{ - dir = 1; - color = "#AE8CA8" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"lw" = ( -/obj/structure/table, -/obj/item/plant_analyzer{ - pixel_x = 13; - pixel_y = 4 - }, -/obj/item/cultivator, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"lF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/transparent/bar{ - dir = 1 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"mb" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime/corner{ - dir = 8; - color = "#B7D993" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"md" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/grassybush, -/turf/open/floor/grass, -/area/ruin/powered/hydroponicslab) -"me" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"mu" = ( -/mob/living/simple_animal/hostile/venus_human_trap, -/obj/effect/turf_decal/borderfloorblack{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/transparent/bar{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"mQ" = ( -/obj/structure/frame/computer{ - dir = 1 - }, -/obj/item/shard{ - pixel_x = -1; - pixel_y = 4 - }, -/obj/item/shard{ - pixel_x = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/red{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"mU" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/item/clothing/shoes/winterboots{ - pixel_y = 5; - pixel_x = 3 - }, -/obj/item/clothing/shoes/winterboots{ - pixel_x = -2; - pixel_y = 2 - }, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"mW" = ( -/obj/effect/decal/cleanable/blood/drip{ - pixel_y = 12; - pixel_x = 11 - }, -/obj/effect/decal/cleanable/blood/splatter, -/obj/item/ammo_casing/caseless{ - pixel_y = 4; - dir = 5; - pixel_x = 2 - }, -/obj/effect/turf_decal/corner_techfloor_grid, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/purple/corner{ - color = "#AE8CA8" - }, -/obj/effect/turf_decal/spline/fancy/opaque/purple/corner{ - dir = 8; - color = "#AE8CA8" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"nh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/window/brigdoor/northright, -/obj/effect/turf_decal/borderfloorblack{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/transparent/bar{ - dir = 5 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"ni" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/green/corner{ - dir = 1; - color = "#99BB76" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"nj" = ( -/obj/structure/table, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/item/stack/cable_coil/yellow{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/circuitboard/machine/hydroponics{ - pixel_y = 2; - pixel_x = -3 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"nn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/opaque/orange{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"nq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"nt" = ( -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/grass, -/area/ruin/powered/hydroponicslab) -"nD" = ( -/obj/item/stack/cable_coil/yellow{ - pixel_x = 7; - pixel_y = -4; - amount = 2 - }, -/obj/item/wallframe/camera{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/orange{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"nI" = ( -/obj/effect/decal/cleanable/food/plant_smudge, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/orange/corner{ - dir = 4; - color = "#C3630C" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"nL" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/table, -/obj/item/wrench{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/screwdriver{ - pixel_x = 2 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"nP" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"nS" = ( -/obj/structure/closet/secure_closet/hydroponics, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/opaque/purple{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"oo" = ( -/obj/item/gun/ballistic/automatic/pistol/candor/no_mag{ - pixel_x = 2; - pixel_y = -3 - }, -/obj/item/ammo_casing/caseless{ - pixel_x = -5; - pixel_y = 9; - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"oK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_techfloor_grid, -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/spline/fancy/opaque/lime/corner{ - color = "#B7D993" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"oO" = ( -/mob/living/simple_animal/hostile/killertomato, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/green/corner{ - dir = 1; - color = "#99BB76" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"oT" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/item/clothing/suit/hooded/wintercoat{ - pixel_x = 3; - pixel_y = 8 - }, -/obj/item/clothing/suit/hooded/wintercoat{ - pixel_x = -1; - pixel_y = 5 - }, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"oY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/purple{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"pj" = ( -/obj/structure/table, -/obj/item/seeds/apple{ - pixel_x = -1; - pixel_y = 2 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"pn" = ( -/obj/structure/table, -/obj/item/seeds/glowshroom{ - pixel_y = -1; - pixel_x = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"pE" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/bottle/diethylamine{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/reagent_containers/glass/bottle{ - pixel_x = -6 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"pG" = ( -/mob/living/simple_animal/hostile/killertomato, -/obj/effect/decal/cleanable/blood/gibs/down, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"pL" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/freezer, -/area/ruin/powered/hydroponicslab) -"pR" = ( -/obj/machinery/light/dim/directional/north, -/obj/structure/table, -/obj/item/multitool{ - pixel_x = 4; - pixel_y = 7 - }, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"qc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/opaque/purple{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"qh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/cable_coil/yellow{ - pixel_x = 2; - pixel_y = -4; - amount = 2 - }, -/obj/item/wallframe/camera{ - pixel_x = -1; - pixel_y = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"qt" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/snacks/grown/tomato{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"qB" = ( -/mob/living/simple_animal/hostile/killertomato, -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/tile/plasteel/tech, -/turf/open/floor/plating, -/area/ruin/powered/hydroponicslab) -"qN" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ruin/powered/hydroponicslab) -"ri" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/warning/biohazard{ - pixel_x = 32 - }, -/obj/structure/closet/emcloset, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"si" = ( -/obj/machinery/door/airlock/maintenance{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"ss" = ( -/obj/machinery/door/airlock/highsecurity, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"sv" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/transparent/bar{ - dir = 5 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"sx" = ( -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"sK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/tile/plasteel/tech, -/turf/open/floor/plating, -/area/ruin/powered/hydroponicslab) -"sM" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/orange{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"tk" = ( -/obj/effect/mob_spawn/human/botanist, -/obj/effect/decal/cleanable/blood, -/obj/effect/decal/cleanable/blood/gibs, -/obj/item/hatchet{ - pixel_x = -5; - pixel_y = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"to" = ( -/obj/effect/decal/cleanable/blood/drip{ - pixel_y = -1 - }, -/obj/machinery/light/dim/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/item/ammo_casing/caseless{ - pixel_x = 6; - pixel_y = 6; - dir = 5 - }, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/spline/fancy/opaque/orange, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"tE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/l3closet/scientist, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"tP" = ( -/obj/structure/table, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/effect/turf_decal/spline/plain/transparent/bar{ - dir = 10 - }, -/obj/structure/sign/warning/radiation{ - pixel_x = -32 - }, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"tQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"tS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/flora/junglebush, -/turf/open/floor/grass, -/area/ruin/powered/hydroponicslab) -"uo" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/grass, -/area/ruin/powered/hydroponicslab) -"up" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/effect/turf_decal/spline/plain/transparent/bar{ - dir = 9 - }, -/obj/structure/sign/warning/securearea{ - pixel_x = -32 - }, -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"uz" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 8 - }, -/obj/effect/turf_decal/corner_techfloor_grid, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/spline/fancy/opaque/green/corner{ - color = "#99BB76" - }, -/obj/effect/turf_decal/spline/fancy/opaque/green/corner{ - dir = 8; - color = "#99BB76" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"uX" = ( -/obj/structure/table, -/obj/item/seeds/plump/walkingmushroom, -/obj/machinery/light/dim/directional/north, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"uZ" = ( -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/obj/machinery/door/airlock{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"vc" = ( -/obj/structure/table, -/obj/structure/sign/poster/contraband/kudzu{ - pixel_x = -32 - }, -/obj/item/seeds/kudzu{ - pixel_y = 2; - pixel_x = -3 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/effect/turf_decal/spline/plain/transparent/bar{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"vg" = ( -/obj/machinery/door/window/brigdoor{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"vm" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"vH" = ( -/obj/structure/table/wood, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"xb" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/bottle/ammonia{ - pixel_x = 7; - pixel_y = 6 - }, -/obj/item/reagent_containers/glass/bottle/diethylamine{ - pixel_x = -6; - pixel_y = 12 - }, -/obj/item/reagent_containers/glass/bottle/ethanol{ - pixel_x = -4; - pixel_y = 2 - }, -/turf/open/floor/plating/rust, -/area/ruin/powered/hydroponicslab) -"xx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"xE" = ( -/obj/machinery/door/airlock{ - dir = 4 - }, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"xJ" = ( -/obj/effect/decal/cleanable/blood/gibs/torso, -/obj/item/ammo_casing/caseless{ - pixel_y = 12; - pixel_x = -7 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ruin/powered/hydroponicslab) -"yi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/trash/boritos{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"ys" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/transparent/bar{ - dir = 4 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"yV" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/transparent/bar{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"zw" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp{ - pixel_y = 5; - pixel_x = -1 - }, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"zy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/spline/fancy/opaque/purple, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"zH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/trash/can{ - pixel_x = 5; - pixel_y = -6 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"zN" = ( -/obj/item/pen/blue{ - pixel_y = -2; - pixel_x = -6 - }, -/obj/item/paper/crumpled/bloody/fluff/ruins/hydroponicslab/researcher{ - pixel_x = 3; - pixel_y = 2 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"zO" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/open/floor/grass, -/area/ruin/powered/hydroponicslab) -"zT" = ( -/obj/machinery/door/airlock/grunge, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"zV" = ( -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/obj/machinery/door/airlock/security, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Ac" = ( -/obj/effect/decal/cleanable/blood/footprints{ - dir = 4; - pixel_x = 15 - }, -/obj/effect/decal/cleanable/blood/splatter, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ruin/powered/hydroponicslab) -"AL" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"AT" = ( -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"Bc" = ( -/obj/effect/decal/cleanable/blood/splatter, -/obj/machinery/light/small/broken/directional/north, -/obj/item/ammo_casing/caseless{ - pixel_y = -1; - dir = 5; - pixel_x = 3 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/red{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Bx" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"BC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/orange{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Cg" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/effect/turf_decal/spline/plain/transparent/bar, -/obj/structure/sign/warning/fire{ - pixel_y = 32 - }, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"Cr" = ( -/obj/machinery/biogenerator, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/purple{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"CD" = ( -/obj/item/paper/crumpled/bloody/fluff/ruins/hydroponicslab, -/turf/closed/mineral/snowmountain/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"CG" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"Dj" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 1 - }, -/obj/structure/table, -/obj/item/reagent_containers/glass/bottle/nutrient/ez{ - pixel_x = 4; - pixel_y = 7 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"DA" = ( -/obj/effect/turf_decal/spline/plain/transparent/bar{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/window/brigdoor/eastright, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"DH" = ( -/obj/structure/closet/secure_closet/freezer/fridge/open, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"DK" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"DO" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"DV" = ( -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"Eb" = ( -/obj/effect/turf_decal/corner_techfloor_grid, -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/spline/fancy/opaque/lime/corner{ - color = "#B7D993" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Eo" = ( -/obj/item/trash/sosjerky{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"Ey" = ( -/turf/template_noop, -/area/template_noop) -"EV" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/bottle/nutrient/l4z{ - pixel_x = -7; - pixel_y = 1 - }, -/obj/item/reagent_containers/glass/bottle/nutrient/ez{ - pixel_x = 4; - pixel_y = 7 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Fy" = ( -/obj/effect/turf_decal/borderfloorblack, -/obj/effect/turf_decal/spline/fancy/transparent/bar, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"FO" = ( -/obj/effect/decal/cleanable/blood, -/obj/item/clothing/under/rank/security/officer{ - pixel_x = 7; - pixel_y = -4 - }, -/obj/effect/decal/cleanable/shreds, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/red/corner{ - dir = 4; - color = "#B4696A" - }, -/obj/effect/turf_decal/spline/fancy/opaque/red/corner{ - dir = 1; - color = "#B4696A" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Gr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/hydroponics/constructable, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/grass, -/area/ruin/powered/hydroponicslab) -"Gy" = ( -/mob/living/simple_animal/hostile/killertomato, -/obj/effect/decal/cleanable/food/tomato_smudge, -/obj/effect/decal/cleanable/blood/footprints{ - dir = 4; - pixel_x = 15 - }, -/obj/effect/decal/cleanable/blood/footprints{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"GK" = ( -/obj/effect/decal/cleanable/blood/drip{ - pixel_y = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/ammo_casing/caseless{ - pixel_x = 8; - pixel_y = -5 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/orange{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"GN" = ( -/obj/machinery/door/airlock/engineering, -/turf/open/floor/plasteel/stairs, -/area/ruin/powered/hydroponicslab) -"GP" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder{ - pixel_x = 1; - pixel_y = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ruin/powered/hydroponicslab) -"He" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/bottle{ - pixel_x = 7; - pixel_y = 8 - }, -/obj/item/reagent_containers/glass/bottle/sodium{ - pixel_x = -3; - pixel_y = 2 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Hg" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/grass, -/area/ruin/powered/hydroponicslab) -"HF" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/spline/fancy/opaque/purple, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"HK" = ( -/obj/structure/chair/plastic{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"Ik" = ( -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/security{ - dir = 4 - }, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"IQ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/orange{ - dir = 1 - }, -/obj/structure/table, -/obj/item/storage/bag/plants/portaseeder{ - pixel_x = 3; - pixel_y = 0 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"IR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"Je" = ( -/obj/effect/decal/cleanable/glass, -/obj/item/stack/rods{ - pixel_x = -6; - pixel_y = -2 - }, -/obj/item/shard{ - pixel_x = -1; - pixel_y = 4 - }, -/obj/item/shard{ - pixel_x = 4 - }, -/obj/effect/turf_decal/borderfloorblack, -/obj/effect/turf_decal/spline/fancy/transparent/bar, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"Jn" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/snacks/grown/tomato{ - pixel_x = 6; - pixel_y = 7 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"JD" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/orange{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"JS" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/spline/fancy/opaque/orange, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"JZ" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_y = 5 - }, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"Kr" = ( -/obj/structure/chair/office, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"Ks" = ( -/obj/structure/table, -/obj/item/flamethrower/full/tank{ - pixel_x = 11; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/effect/turf_decal/spline/plain/transparent/bar, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"KD" = ( -/obj/structure/table, -/obj/item/seeds/cherry{ - pixel_x = 9; - pixel_y = 6 - }, -/obj/item/seeds/carrot{ - pixel_y = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"LM" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime/corner{ - dir = 4; - color = "#B7D993" - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime/corner{ - dir = 1; - color = "#B7D993" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Mx" = ( -/mob/living/simple_animal/hostile/killertomato, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Mz" = ( -/obj/effect/decal/cleanable/blood, -/obj/item/gun/ballistic/automatic/pistol/candor/no_mag, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/red{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"MN" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = 11 - }, -/turf/open/floor/plasteel/freezer, -/area/ruin/powered/hydroponicslab) -"MV" = ( -/mob/living/simple_animal/hostile/killertomato, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"MZ" = ( -/obj/effect/decal/cleanable/food/tomato_smudge, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 8 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/green/corner{ - dir = 8; - color = "#99BB76" - }, -/obj/effect/turf_decal/spline/fancy/opaque/green/corner{ - dir = 4; - color = "#99BB76" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Nd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/window/reinforced, -/obj/effect/turf_decal/borderfloorblack{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/transparent/bar{ - dir = 10 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/powered/hydroponicslab) -"Nf" = ( -/obj/item/paper/guides/jobs/hydroponics{ - pixel_y = 5 - }, -/obj/structure/table, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Nl" = ( -/obj/machinery/seed_extractor, -/obj/machinery/light/dim/directional/north, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/purple{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Nv" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"NA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/reagent_containers/glass/bottle{ - pixel_x = 7; - pixel_y = 8 - }, -/obj/item/reagent_containers/food/snacks/grown/tomato/blood{ - pixel_x = -5; - pixel_y = 7 - }, -/obj/item/reagent_containers/glass/bottle/nutrient/rh{ - pixel_y = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"NT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 1 - }, -/obj/structure/frame/machine, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Oz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Pa" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"Ph" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/bottle{ - pixel_x = -6; - pixel_y = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Pj" = ( -/obj/item/stack/cable_coil/yellow{ - pixel_x = 1; - pixel_y = 4; - amount = 2 - }, -/obj/item/wallframe/camera{ - pixel_x = -11; - pixel_y = 6 - }, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"Pz" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/vault, -/area/ruin/powered/hydroponicslab) -"PQ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/chair/plastic, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"PR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/flora/ausbushes/stalkybush, -/turf/open/floor/grass, -/area/ruin/powered/hydroponicslab) -"PY" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"Qm" = ( -/obj/structure/showcase/machinery/tv, -/obj/structure/table, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"Qt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/reagent_containers/food/snacks/chips{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/structure/table, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"Qu" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"QA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"QT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"Ri" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/spline/fancy/opaque/green, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"RV" = ( -/mob/living/simple_animal/hostile/killertomato, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/spline/fancy/opaque/green, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"RX" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/bottle/nutrient/rh{ - pixel_x = -3; - pixel_y = 9 - }, -/obj/item/reagent_containers/glass/bottle/mutagen{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/opaque/green{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"So" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/decal/cleanable/greenglow, -/obj/effect/turf_decal/spline/fancy/opaque/purple, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Sq" = ( -/obj/effect/decal/cleanable/food/tomato_smudge, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"SW" = ( -/obj/item/clothing/shoes/jackboots{ - pixel_x = 4; - pixel_y = -4 - }, -/obj/effect/decal/cleanable/glass, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Ti" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/ruin/powered/hydroponicslab) -"TR" = ( -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"Uh" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/spline/fancy/opaque/lime, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"UF" = ( -/obj/structure/table, -/obj/item/pen{ - pixel_x = -6 - }, -/obj/item/paper/crumpled/bloody/fluff/ruins/hydroponicslab/officer{ - pixel_x = 3; - pixel_y = 5 - }, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/spline/fancy/opaque/red, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"UK" = ( -/obj/structure/toilet{ - pixel_y = 10 - }, -/turf/open/floor/plasteel/freezer, -/area/ruin/powered/hydroponicslab) -"Va" = ( -/obj/item/trash/cheesie{ - pixel_x = 3; - pixel_y = 2 - }, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"Vd" = ( -/obj/structure/table, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/purple{ - dir = 1 - }, -/obj/item/reagent_containers/glass/bottle/diethylamine{ - pixel_x = -4; - pixel_y = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Vo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/flora/ausbushes/ywflowers, -/obj/machinery/door/window/brigdoor{ - dir = 1 - }, -/turf/open/floor/grass, -/area/ruin/powered/hydroponicslab) -"Vy" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/bottle/mutagen{ - pixel_x = -5; - pixel_y = 9 - }, -/obj/item/reagent_containers/glass/bottle/nutrient/ez{ - pixel_x = 2; - pixel_y = 3 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"VH" = ( -/obj/structure/table, -/obj/item/seeds/cannabis{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/paper/fluff/ruins/hydroponicslab/botanist{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/pen{ - pixel_x = -9 - }, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/purple{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"VN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/machinery/light/directional/south, -/turf/open/floor/grass, -/area/ruin/powered/hydroponicslab) -"We" = ( -/turf/closed/wall/r_wall/rust, -/area/ruin/powered/hydroponicslab) -"Wi" = ( -/obj/structure/marker_beacon, -/turf/open/floor/plating/snowed/temperatre{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/overmap_encounter/planetoid/cave/explored) -"WK" = ( -/obj/item/stack/cable_coil/yellow{ - pixel_x = 4; - pixel_y = -2; - amount = 2 - }, -/obj/item/wallframe/camera{ - pixel_x = -7; - pixel_y = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/purple{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Xt" = ( -/obj/structure/table/wood, -/obj/item/folder{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/pen/fountain{ - pixel_x = -6; - pixel_y = 1 - }, -/turf/open/floor/wood/walnut, -/area/ruin/powered/hydroponicslab) -"XC" = ( -/obj/effect/decal/cleanable/food/tomato_smudge, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 4 - }, -/obj/effect/turf_decal/corner_techfloor_grid, -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/orange/corner{ - dir = 1; - color = "#C3630C" - }, -/obj/effect/turf_decal/spline/fancy/opaque/orange/corner{ - color = "#C3630C" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"YO" = ( -/obj/machinery/computer/security{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/spline/fancy/opaque/red, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"Zd" = ( -/turf/closed/mineral/snowmountain/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"Zm" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 4 - }, -/obj/effect/turf_decal/corner_techfloor_grid, -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/purple/corner{ - dir = 1; - color = "#AE8CA8" - }, -/obj/effect/turf_decal/spline/fancy/opaque/purple/corner{ - color = "#AE8CA8" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) -"ZN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/reagent_containers/food/snacks/grown/mushroom/amanita{ - pixel_y = 5 - }, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/orange{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/powered/hydroponicslab) - -(1,1,1) = {" -Ey -Ey -Ey -Ey -Ey -Ey -Ey -Ey -Ey -Ey -Ey -Zd -Zd -Zd -Zd -Ey -Ey -Ey -Ey -Zd -Zd -Zd -Zd -Ey -Ey -Ey -Ey -Ey -Ey -Ey -Ey -Ey -Ey -"} -(2,1,1) = {" -Ey -Ey -Ey -Ey -Ey -Ey -Ey -Ey -Ey -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Ey -Ey -Ey -Ey -Ey -Ey -Ey -Ey -Ey -"} -(3,1,1) = {" -Ey -Ey -Ey -Ey -Ey -Ey -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -DV -Ey -Ey -Ey -Ey -Ey -Ey -Ey -"} -(4,1,1) = {" -Ey -Ey -Ey -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -DV -DV -Ey -Ey -Ey -Ey -Ey -Ey -"} -(5,1,1) = {" -Ey -Ey -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -hJ -We -hJ -hJ -Zd -Zd -Zd -DV -DV -DV -DV -Ey -Ey -Ey -Ey -Ey -"} -(6,1,1) = {" -Ey -Zd -Zd -Zd -Zd -CD -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -hJ -UK -gU -hJ -Zd -Zd -DV -DV -DV -DV -Zd -Zd -Ey -Ey -Ey -Ey -"} -(7,1,1) = {" -Ey -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -hJ -We -We -hJ -hJ -pL -MN -hJ -Zd -Zd -DV -DV -DV -Zd -Zd -Zd -Zd -Zd -Ey -Ey -"} -(8,1,1) = {" -Ey -Zd -Zd -Zd -We -hJ -We -hJ -We -hJ -Zd -Zd -Zd -hJ -am -Qt -DH -We -xE -hJ -hJ -Zd -DV -DV -DV -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Ey -"} -(9,1,1) = {" -Zd -Zd -Zd -Zd -We -VH -WK -jl -jC -hJ -Zd -Zd -Zd -We -bD -CG -me -Va -TR -DO -We -Zd -DV -DV -DV -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Ey -"} -(10,1,1) = {" -Zd -Zd -Zd -Zd -hJ -Cr -sK -GP -zy -We -hJ -We -hJ -hJ -pR -IR -lj -zH -Nv -Eo -We -Zd -DV -DV -DV -DV -DV -Zd -Zd -Zd -Zd -Zd -Ey -"} -(11,1,1) = {" -Zd -Zd -Zd -Zd -hJ -Nl -bV -He -So -hJ -gf -SW -mQ -hJ -Pj -iJ -Qm -PQ -yi -HK -hJ -Zd -Zd -DV -DV -DV -DV -DV -Zd -Zd -Zd -Zd -Ey -"} -(12,1,1) = {" -Zd -Zd -Zd -Zd -We -Vd -dB -xb -HF -hJ -Bc -pG -YO -We -TR -fM -hJ -We -hJ -hJ -hJ -Zd -Zd -Zd -DV -DV -DV -DV -DV -Zd -Zd -Zd -Zd -"} -(13,1,1) = {" -Zd -Zd -Zd -Zd -hJ -nS -lk -Vy -mW -zV -FO -xJ -UF -hJ -si -hJ -hJ -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -DV -DV -DV -Zd -Zd -Zd -Zd -"} -(14,1,1) = {" -Ey -Zd -Zd -Zd -hJ -hJ -qc -Zm -oY -We -bv -Mz -iH -hJ -TR -DO -We -hJ -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -DV -DV -DV -DV -Zd -Zd -Zd -"} -(15,1,1) = {" -Ey -Zd -Zd -Zd -Zd -We -hJ -dD -hJ -We -We -Ik -We -hJ -QT -me -DO -hJ -hJ -We -hJ -hJ -Zd -Zd -Zd -Wi -gA -DV -DV -DV -Zd -Zd -Zd -"} -(16,1,1) = {" -Ey -Zd -Zd -Zd -hJ -hJ -JD -gM -GK -nD -hJ -TR -TR -zw -IR -xx -TR -hJ -mU -ag -oT -hJ -Zd -Wi -gA -gA -gA -gA -gA -Zd -Zd -Zd -Zd -"} -(17,1,1) = {" -Ey -Zd -Zd -Zd -hJ -ZN -nI -gC -KD -JS -hJ -Pa -Kr -Xt -aJ -xx -TR -ed -AT -AT -bd -ed -gA -gA -gA -gA -gA -Wi -Zd -Zd -Zd -Zd -Zd -"} -(18,1,1) = {" -Ey -Zd -Zd -Zd -hJ -IQ -gV -pn -Nf -to -hJ -TR -DO -JZ -IR -PY -DO -We -AT -Pz -ab -hJ -Zd -gA -Wi -gA -Zd -Zd -Zd -Zd -Zd -Zd -Zd -"} -(19,1,1) = {" -Ey -Zd -Zd -Zd -We -uX -sx -pj -da -ic -We -vH -vH -vH -aJ -xx -jY -We -hJ -hJ -We -hJ -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -"} -(20,1,1) = {" -Ey -Zd -Zd -Zd -hJ -iz -fd -dB -hw -BC -GN -AL -hd -kw -Ti -QA -hZ -hJ -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -"} -(21,1,1) = {" -Zd -Zd -Zd -Zd -hJ -nn -sM -XC -BC -hJ -hJ -hJ -tQ -Qu -QA -TR -hJ -hJ -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -"} -(22,1,1) = {" -Zd -Zd -Zd -Zd -hJ -We -hJ -uZ -We -hJ -dw -We -hJ -hJ -We -hJ -We -Zd -Zd -Zd -Zd -Zd -hJ -hJ -We -hJ -We -Zd -Zd -Zd -Zd -Zd -Zd -"} -(23,1,1) = {" -Zd -Zd -Zd -Zd -hJ -lw -EV -MZ -Mx -hJ -hJ -hJ -nq -kr -Oz -hJ -Zd -Zd -Zd -Zd -hJ -hJ -We -up -vc -tP -hJ -Zd -Zd -Zd -Zd -Zd -Zd -"} -(24,1,1) = {" -Ey -Zd -Zd -Zd -hJ -pE -Ac -sx -Sq -Ph -hJ -fN -gz -cu -iY -We -hJ -hJ -We -We -hJ -gb -Nd -gl -DA -eD -hJ -We -We -Zd -Zd -Zd -Ey -"} -(25,1,1) = {" -Ey -Zd -Zd -Zd -We -Dj -Gy -vm -MV -Ri -hJ -jr -oo -sK -mb -nL -nj -We -bd -nP -We -lF -iw -ij -mu -jh -uo -tS -hJ -Zd -Zd -Zd -Ey -"} -(26,1,1) = {" -Ey -Zd -Zd -Zd -We -gO -tk -NA -gV -bg -We -NT -iB -zN -sx -fO -Uh -ss -AT -eh -ss -sv -hg -Bx -Fy -Vo -nt -Hg -hJ -Zd -Zd -Zd -Ey -"} -(27,1,1) = {" -Ey -Zd -Zd -Zd -hJ -RX -oO -cu -qB -uz -zT -LM -bP -qN -Eb -bA -kS -hJ -tE -ri -hJ -Ks -vg -hF -Je -nt -gP -VN -hJ -Zd -Zd -Zd -Ey -"} -(28,1,1) = {" -Ey -Zd -Zd -Zd -hJ -hJ -qh -ni -dB -RV -hJ -DK -eX -oK -hs -hJ -We -hJ -hJ -hJ -hJ -Cg -nh -ys -yV -zO -PR -ac -We -Zd -Zd -Zd -Ey -"} -(29,1,1) = {" -Ey -Zd -Zd -Zd -Zd -hJ -We -Jn -iQ -qt -We -ct -aC -bq -We -hJ -Zd -Zd -Zd -Zd -hJ -We -We -hJ -We -Gr -md -hJ -hJ -Zd -Zd -Zd -Ey -"} -(30,1,1) = {" -Ey -Ey -Zd -Zd -Zd -Zd -hJ -hJ -We -hJ -hJ -hJ -hJ -We -We -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -We -hJ -hJ -hJ -Zd -Zd -Zd -Ey -Ey -"} -(31,1,1) = {" -Ey -Ey -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Ey -Ey -"} -(32,1,1) = {" -Ey -Ey -Ey -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Ey -Ey -Ey -"} -(33,1,1) = {" -Ey -Ey -Ey -Ey -Ey -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Zd -Ey -Ey -Ey -Ey -Ey -Zd -Zd -Zd -Zd -Zd -Ey -Ey -Ey -Ey -"} diff --git a/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm b/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm new file mode 100644 index 00000000000..1aca7e66e15 --- /dev/null +++ b/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm @@ -0,0 +1,5838 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/chair/wood, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/residential) +"ag" = ( +/obj/effect/turf_decal/stoneborder{ + dir = 1 + }, +/obj/effect/turf_decal/stoneborder, +/obj/machinery/shower{ + dir = 8 + }, +/obj/item/soap/homemade, +/obj/item/bikehorn/rubberducky, +/obj/structure/curtain/bounty, +/obj/machinery/shower{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/powered/icemoon/lodge/residential) +"al" = ( +/obj/structure/flora/grass/brown, +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"am" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals/neutered, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"ao" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/item/clothing/suit/space/hardsuit/security/independent/frontier, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"aF" = ( +/turf/open/floor/plasteel/stairs/wood/icemoon{ + dir = 4 + }, +/area/overmap_encounter/planetoid/cave/explored) +"aJ" = ( +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"aL" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 6 + }, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"aV" = ( +/obj/item/rack_parts, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/mainhall) +"aZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/punji_sticks, +/obj/effect/mob_spawn/human/corpse/frontier, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken6" + }, +/area/ruin/powered/icemoon/lodge/cellar) +"bb" = ( +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"bk" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"bv" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 9 + }, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"bB" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 6 + }, +/obj/structure/destructible/tribal_torch/lit{ + pixel_y = 0; + pixel_x = 10 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"bC" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"bG" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/backdoor_xeno_babes_6{ + pixel_y = 0; + pixel_x = 30 + }, +/obj/item/reagent_containers/food/drinks/bottle/absinthe{ + pixel_x = -5; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/amaretto{ + pixel_y = 10; + pixel_x = 7 + }, +/obj/item/reagent_containers/food/drinks/bottle/kahlua{ + pixel_x = 10; + pixel_y = 1 + }, +/obj/item/storage/pill_bottle/happy, +/obj/item/reagent_containers/pill/aranesp{ + pixel_y = -5; + pixel_x = -2 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"bK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"bL" = ( +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/structure/table/optable, +/obj/item/restraints/handcuffs/cable/zipties/used, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"ca" = ( +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"cd" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/icemoon{ + icon_state = "wood-broken" + }, +/area/overmap_encounter/planetoid/cave/explored) +"cl" = ( +/obj/machinery/hydroponics/soil, +/turf/open/floor/ship/dirt/dark, +/area/ruin/powered/icemoon/lodge/residential) +"cy" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"cA" = ( +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/popcorn, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"cS" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 6 + }, +/turf/open/floor/wood/ebony/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"cW" = ( +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"da" = ( +/obj/structure/railing{ + layer = 3.1 + }, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"dc" = ( +/obj/structure/fence/door{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/icerock/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"dd" = ( +/obj/effect/mob_spawn/human/corpse/srm/hunter, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"dl" = ( +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/crayon{ + icon_state = "skull"; + pixel_x = 4; + pixel_y = -1 + }, +/obj/item/paper/crumpled/bloody/fluff/ruin/icemoon/cellar_warning{ + pixel_x = -12 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"dn" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"ds" = ( +/obj/item/roastingstick, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"dA" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 6 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"dO" = ( +/turf/closed/wall/mineral/wood, +/area/overmap_encounter/planetoid/cave/explored) +"dT" = ( +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/structure/table/wood, +/obj/item/melee/baton/cattleprod/loaded, +/obj/item/storage/case/surgery, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"dV" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken6" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"dZ" = ( +/obj/structure/closet/cabinet{ + name = "broken shadow's locker"; + desc = "The closet of equipment and attire for the aspiring shadow. Or whichever guy broke this closet's lock." + }, +/obj/item/clothing/suit/armor/roumain/shadow, +/obj/item/clothing/head/cowboy/sec/roumain/shadow, +/obj/item/clothing/under/suit/roumain, +/obj/item/flashlight/lantern, +/obj/effect/decal/cleanable/shreds{ + pixel_y = -14 + }, +/obj/item/melee/knife/hunting, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"eg" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken" + }, +/area/ruin/powered/icemoon/lodge/residential) +"ev" = ( +/obj/item/trash/boritos, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"ey" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame/neuter, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"eC" = ( +/obj/item/clothing/head/bearpelt{ + pixel_y = 10 + }, +/obj/structure/table/wood, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"eK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/weather/snow{ + dir = 1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"eU" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"eW" = ( +/obj/effect/turf_decal/siding/blue, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"fa" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 4 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"fe" = ( +/obj/effect/spawner/random/bedsheet, +/obj/effect/turf_decal/siding/wood, +/obj/structure/bed{ + icon_state = "dirty_mattress" + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"fg" = ( +/obj/structure/chair/wood/wings{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"fn" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"fu" = ( +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/ship/dirt/dark, +/area/ruin/powered/icemoon/lodge/residential) +"fw" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"fA" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"fF" = ( +/obj/structure/table/wood, +/obj/item/trash/syndi_cakes{ + pixel_y = 4; + pixel_x = -2 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"fI" = ( +/obj/structure/chair/wood/wings{ + dir = 4 + }, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"fX" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "shotgun"; + pixel_x = 4; + pixel_y = -9; + paint_colour = "#FF0000" + }, +/turf/closed/indestructible/wood, +/area/ruin/powered/icemoon/lodge/gear_room) +"gp" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/item/ammo_box/magazine/c22lr_pounder_pan, +/obj/item/storage/box/ammo/c22lr{ + pixel_y = 12; + pixel_x = -6 + }, +/obj/item/storage/box/ammo/c22lr{ + pixel_y = 12; + pixel_x = 14 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"gr" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/item/ammo_box/magazine/c45_firestorm_mag/pan{ + start_empty = 1 + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"gs" = ( +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"gz" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen/fountain/captain, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"gI" = ( +/turf/closed/indestructible/wood, +/area/ruin/powered/icemoon/lodge/gear_room) +"gR" = ( +/obj/structure/chair/pew{ + dir = 1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"hj" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/icemoon{ + icon_state = "wood-broken5" + }, +/area/overmap_encounter/planetoid/cave/explored) +"hs" = ( +/obj/effect/turf_decal/spline/fancy/wood, +/obj/effect/decal/cleanable/food/tomato_smudge, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"hz" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered{ + check_friendly_fire = 1; + retreat_distance = 3; + minimum_distance = 2 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/ruin/powered/icemoon/lodge/residential) +"hI" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/residential) +"ib" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"ii" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"ik" = ( +/obj/structure/fireplace, +/obj/structure/fluff/paper/stack{ + dir = 5; + layer = 2.79; + pixel_y = 4 + }, +/obj/structure/fluff/paper/stack{ + dir = 4; + pixel_y = 9; + layer = 2.79 + }, +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/obj/effect/decal/cleanable/ash/large{ + pixel_y = -10 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"iw" = ( +/turf/open/floor/plating/ice/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"iB" = ( +/obj/item/mine/proximity/explosive/live{ + layer = 2.8 + }, +/obj/structure/statue/snow/snowman, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"iE" = ( +/obj/item/toy/plush/moth/punished{ + name = "Flufftunato"; + desc = "For the love of god Mothtresor!"; + pixel_y = 9 + }, +/obj/structure/fermenting_barrel, +/turf/open/floor/plating/asteroid/icerock/temperate, +/area/overmap_encounter/planetoid/cave/explored) +"iG" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken3" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"iH" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "+"; + pixel_x = 12; + pixel_y = -1; + paint_colour = "#ADD8E6" + }, +/turf/closed/wall/mineral/wood, +/area/ruin/powered/icemoon/lodge/residential) +"je" = ( +/obj/structure/table/wood, +/obj/item/modular_computer/laptop, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"jk" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 10 + }, +/obj/machinery/iv_drip, +/obj/effect/decal/cleanable/vomit/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"jx" = ( +/obj/structure/guncloset, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/item/gun/ballistic/shotgun/flamingarrow, +/obj/item/gun/ballistic/revolver/shadow, +/obj/item/gun/ballistic/automatic/smg/pounder, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"jB" = ( +/obj/structure/flora/rock/pile/icy{ + icon_state = "icemoonrock3" + }, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"jD" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"jM" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/glass/filter{ + pixel_y = 14; + pixel_x = -6 + }, +/obj/item/reagent_containers/food/drinks/sillycup{ + pixel_x = 4; + pixel_y = 6; + name = "paper sieve"; + desc = "A paper seive for funneling gunpowder." + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"jP" = ( +/obj/structure/railing/wood{ + dir = 10 + }, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/icemoon{ + icon_state = "wood-broken7" + }, +/area/overmap_encounter/planetoid/cave/explored) +"jR" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/hearthwine{ + pixel_x = 6; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/icewine{ + pixel_x = -6; + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/cellar) +"jS" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/item/trash/plate{ + pixel_y = 8; + pixel_x = 10 + }, +/obj/item/trash/plate{ + pixel_y = 10; + pixel_x = 10 + }, +/obj/item/trash/plate{ + pixel_y = 12; + pixel_x = 10 + }, +/obj/item/trash/plate{ + pixel_y = 14; + pixel_x = 10 + }, +/obj/effect/decal/cleanable/garbage, +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"ka" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/item/kirbyplants{ + icon_state = "plant-25"; + pixel_y = 12; + pixel_x = -2 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"kl" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 8 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"ko" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"kq" = ( +/obj/structure/chair/wood/wings, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/officer/internals, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"kG" = ( +/obj/structure/railing/wood, +/obj/structure/chair/wood/wings{ + dir = 8 + }, +/obj/effect/decal/cleanable/vomit/old, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"kX" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"kZ" = ( +/obj/structure/fluff/fokoff_sign{ + desc = "A crudsely-made sign with the words 'fok of' written in some sort of red paint." + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"lg" = ( +/obj/structure/flora/ash/puce, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"lh" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"lE" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/crayon, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"lJ" = ( +/obj/structure/flora/grass/green, +/obj/item/mine/pressure/explosive/rusty/live, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"lM" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 5 + }, +/obj/structure/closet/crate/bin, +/obj/item/storage/firstaid/roumain, +/obj/item/reagent_containers/food/snacks/grown/ash_flora/puce, +/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf, +/obj/item/reagent_containers/glass/mortar, +/obj/item/disk/holodisk/roumain, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"lU" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 5 + }, +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/cellar) +"mc" = ( +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"mj" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"ms" = ( +/obj/structure/rack, +/obj/item/gun/ballistic/shotgun/brimstone, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"mz" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"mF" = ( +/obj/structure/rack, +/obj/item/clothing/suit/armor/roumain{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/clothing/suit/armor/roumain{ + pixel_x = 6 + }, +/obj/item/clothing/head/cowboy/sec/roumain{ + pixel_x = -6; + pixel_y = -3 + }, +/obj/item/clothing/head/cowboy/sec/roumain{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"mH" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"mI" = ( +/obj/structure/table/wood, +/obj/item/stack/sheet/hairlesshide, +/obj/item/stack/sheet/hairlesshide, +/obj/item/stack/sheet/hairlesshide, +/obj/item/stack/sheet/hairlesshide, +/obj/item/stack/sheet/cotton/durathread, +/obj/item/stack/sheet/cotton/durathread, +/obj/item/stack/sheet/cotton/durathread, +/obj/item/stack/sheet/cotton/durathread, +/obj/item/stack/sheet/cotton/durathread, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"mL" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/weather/snow{ + dir = 6 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"mP" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/head/frontier/peaked, +/obj/item/clothing/suit/armor/frontier, +/obj/item/clothing/under/frontiersmen/officer, +/obj/item/ammo_box/magazine/m9mm_mauler, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"nc" = ( +/obj/effect/turf_decal/stoneborder, +/obj/effect/turf_decal/stoneborder{ + dir = 1 + }, +/obj/structure/toilet{ + dir = 4; + pixel_x = -6 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/destructible/tribal_torch/lit{ + pixel_y = 20 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/powered/icemoon/lodge/residential) +"nd" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken3" + }, +/area/ruin/powered/icemoon/lodge/cellar) +"ne" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/residential) +"nm" = ( +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/structure/closet/crate/freezer, +/obj/item/organ/ears, +/obj/item/organ/eyes, +/obj/item/organ/heart, +/obj/item/organ/lungs, +/obj/item/organ/liver, +/obj/item/organ/stomach, +/obj/item/clothing/suit/toggle/labcoat/roumain_med, +/obj/item/clothing/head/cowboy/sec/roumain/med, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/random, +/obj/effect/decal/cleanable/blood/gibs/old, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"no" = ( +/obj/structure/table/wood, +/obj/machinery/fax/ruin, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"nr" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "nay"; + pixel_y = -8; + pixel_x = 8; + paint_colour = "#FF0000" + }, +/obj/effect/turf_decal/weather/snow{ + dir = 8 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"nD" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/obj/machinery/door/airlock/wood{ + name = "Greenhouse" + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"nQ" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"nS" = ( +/obj/structure/bookcase, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"oa" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"ot" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"ou" = ( +/obj/structure/railing/wood, +/obj/structure/chair/wood/wings{ + dir = 4 + }, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"oC" = ( +/turf/open/floor/carpet, +/area/ruin/powered/icemoon/lodge/residential) +"oT" = ( +/obj/structure/flora/ash/garden/frigid, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"pf" = ( +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/obj/item/kirbyplants, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"pi" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"px" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/destructible/tribal_torch/lit{ + pixel_y = 18 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken7" + }, +/area/ruin/powered/icemoon/lodge/residential) +"pG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"pK" = ( +/obj/effect/turf_decal/siding/brown, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"pS" = ( +/obj/structure/noticeboard{ + name = "trophy board"; + desc = "A board for hanging trophies upon." + }, +/obj/item/clothing/mask/rat/bear{ + pixel_y = -2; + name = "bear head"; + desc = "A taxidermied bear head for mounting on a headboard. You swear it's still staring at you." + }, +/turf/closed/wall/mineral/wood, +/area/ruin/powered/icemoon/lodge/montagne_office) +"qb" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/candle/tribal_torch, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/gun/ballistic/automatic/smg/firestorm{ + default_ammo_type = 0 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/cellar) +"qd" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"qg" = ( +/obj/structure/table/greyscale, +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"qr" = ( +/obj/item/target/alien, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"qD" = ( +/obj/structure/fence/door, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"qH" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/food/snacks/meat/slab/bear, +/obj/item/reagent_containers/food/snacks/meat/slab/bear, +/obj/item/reagent_containers/food/snacks/meat/slab/bear, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/drinks/bottle/absinthe/premium, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"qJ" = ( +/obj/item/mine/pressure/explosive/rusty/live, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"qK" = ( +/obj/effect/turf_decal/stoneborder{ + dir = 1 + }, +/obj/effect/turf_decal/stoneborder, +/obj/effect/decal/cleanable/dirt, +/obj/structure/mirror{ + pixel_y = 33; + pixel_x = 2 + }, +/obj/structure/sink{ + pixel_x = 2; + pixel_y = 20 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/powered/icemoon/lodge/residential) +"qN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/door/airlock/wood, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"qO" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/residential) +"qR" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"qY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"rm" = ( +/turf/open/floor/ship/dirt/dark, +/area/ruin/powered/icemoon/lodge/residential) +"rs" = ( +/obj/structure/falsewall/wood, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"rx" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/item/storage/belt/security/military/frontiersmen{ + pixel_y = -2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/melee/knife/survival{ + pixel_y = 10; + pixel_x = 3 + }, +/obj/item/melee/knife/survival{ + pixel_y = 10; + pixel_x = -7 + }, +/obj/item/melee/knife/survival{ + pixel_y = 10; + pixel_x = 13 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"rF" = ( +/obj/structure/flora/junglebush, +/turf/open/floor/ship/dirt/dark, +/area/ruin/powered/icemoon/lodge/residential) +"rO" = ( +/obj/item/broken_bottle{ + pixel_x = 15; + pixel_y = 4 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"rS" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"rT" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 1 + }, +/obj/item/trash/popcorn, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"rW" = ( +/obj/structure/chair/wood/wings{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"rZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"sc" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/turf/open/floor/wood/ebony/icemoon{ + icon_state = "wood-broken2" + }, +/area/overmap_encounter/planetoid/cave/explored) +"sd" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 10 + }, +/turf/open/floor/wood/ebony/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"sk" = ( +/obj/effect/decal/cleanable/oil/slippery, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"st" = ( +/obj/structure/closet/secure_closet/medicalsrm, +/obj/item/sensor_device, +/obj/item/clothing/suit/frontiersmen, +/obj/item/clothing/head/frontier, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/mask/surgical, +/obj/effect/spawner/random/medical/chem_jug, +/obj/effect/spawner/random/medical/chem_jug, +/obj/effect/spawner/random/medical/chem_jug, +/obj/effect/spawner/random/medical/chem_jug, +/obj/effect/turf_decal/corner/opaque/blue, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 + }, +/obj/item/clothing/neck/stethoscope, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"sx" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 4 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"sD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"sG" = ( +/obj/structure/railing, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"sJ" = ( +/obj/structure/flora/rock/pile/icy{ + icon_state = "icemoonrock3" + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"sO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken7" + }, +/area/ruin/powered/icemoon/lodge/cellar) +"sR" = ( +/obj/structure/table/wood, +/obj/item/paper/crumpled/bloody/fluff/ruin/icemoon/tally_sheet{ + pixel_x = -4 + }, +/obj/item/pen{ + pixel_x = 8 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"sW" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"sX" = ( +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"sY" = ( +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/vomit/old{ + icon_state = "vomit_4"; + pixel_x = -1; + pixel_y = -19 + }, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken7" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"ti" = ( +/obj/item/cultivator/rake, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"tl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 9 + }, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"tn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/can{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/item/trash/can{ + pixel_y = -4; + pixel_x = 6 + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"tq" = ( +/obj/effect/turf_decal/spline/fancy/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"tr" = ( +/obj/effect/turf_decal/spline/fancy/wood, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"tx" = ( +/turf/open/floor/plasteel/stairs/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"ty" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"tD" = ( +/obj/structure/table/wood, +/obj/item/stack/sheet/cotton/cloth/ten, +/obj/item/scalpel{ + name = "leather knife"; + desc = "A sharpened leather knife, used for leatherwork." + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"tG" = ( +/obj/effect/decal/cleanable/oil/slippery, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/plasteel/stairs/wood{ + dir = 8 + }, +/area/ruin/powered/icemoon/lodge/cellar) +"tL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"tN" = ( +/obj/item/chair/wood{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"tT" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"tW" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered{ + minimum_distance = 2; + retreat_distance = 2; + check_friendly_fire = 1 + }, +/obj/effect/turf_decal/weather/snow{ + dir = 1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"tX" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/item/trash/semki, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"ud" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"um" = ( +/obj/structure/displaycase/broken, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 5 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"uy" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken" + }, +/area/ruin/powered/icemoon/lodge/residential) +"uA" = ( +/obj/item/stack/sheet/durathread{ + pixel_x = -10; + pixel_y = 10 + }, +/obj/structure/rack, +/obj/item/stack/sheet/durathread, +/obj/item/stack/sheet/durathread{ + pixel_y = 10 + }, +/obj/item/stack/sheet/durathread{ + pixel_x = -10 + }, +/obj/item/stack/sheet/leather, +/obj/item/stack/sheet/leather, +/obj/item/stack/sheet/leather, +/obj/item/stack/sheet/leather, +/obj/item/stack/sheet/leather, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"uG" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"uL" = ( +/obj/structure/table/wood, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 10 + }, +/obj/item/gun/ballistic/automatic/zip_pistol, +/obj/item/chisel{ + pixel_x = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"uM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/door/airlock/wood, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken7" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"uR" = ( +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"uX" = ( +/obj/effect/decal/cleanable/plastic, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 + }, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"vd" = ( +/obj/effect/turf_decal/siding/brown, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken3" + }, +/area/ruin/powered/icemoon/lodge/residential) +"ve" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"vf" = ( +/obj/structure/table/wood, +/obj/item/seeds/cannabis{ + layer = 2.9 + }, +/obj/item/clothing/mask/cigarette/pipe, +/obj/item/lighter{ + pixel_x = 11; + pixel_y = 7 + }, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"vq" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"vs" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken7" + }, +/area/ruin/powered/icemoon/lodge/residential) +"vG" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"vZ" = ( +/obj/structure/displaycase/broken, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 9 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"wc" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken" + }, +/area/ruin/powered/icemoon/lodge/cellar) +"wi" = ( +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"wj" = ( +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"wm" = ( +/turf/open/floor/wood/ebony/icemoon{ + icon_state = "wood-broken6" + }, +/area/overmap_encounter/planetoid/cave/explored) +"wt" = ( +/obj/structure/railing{ + layer = 3.1 + }, +/obj/effect/turf_decal/weather/snow{ + dir = 5 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"wx" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 9 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"wy" = ( +/obj/structure/chair/stool{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"wD" = ( +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken6" + }, +/area/ruin/powered/icemoon/lodge/residential) +"wF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/item/ammo_box/magazine/c45_firestorm_mag/pan{ + start_empty = 1 + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"wT" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"wU" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals/neutered{ + retreat_distance = null; + minimum_distance = 1; + shoot_point_blank = 1 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"xb" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"xd" = ( +/obj/structure/rack, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/item/storage/box/ammo/a44roum{ + pixel_x = 5 + }, +/obj/item/storage/box/ammo/c38{ + pixel_y = 0; + pixel_x = -11 + }, +/obj/item/storage/box/ammo/c38{ + pixel_y = 9; + pixel_x = -12 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"xk" = ( +/obj/effect/turf_decal/spline/fancy/wood, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/internals/neutered{ + aggro_vision_range = 12 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"xu" = ( +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"xL" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"xM" = ( +/obj/effect/turf_decal/spline/fancy/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"xN" = ( +/obj/item/hatchet/wooden{ + pixel_x = -6 + }, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"yc" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered{ + minimum_distance = 2; + retreat_distance = 2; + check_friendly_fire = 1 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"yi" = ( +/obj/effect/spawner/random/bedsheet, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/bed{ + icon_state = "dirty_mattress" + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"yj" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"yo" = ( +/obj/structure/flora/grass/jungle, +/obj/item/clothing/suit/armor/roumain/shadow, +/obj/item/clothing/head/cowboy/sec/roumain/shadow{ + pixel_y = 15; + pixel_x = -5 + }, +/obj/item/storage/wallet{ + pixel_x = 7; + pixel_y = -7 + }, +/obj/effect/decal/cleanable/ash/large{ + pixel_y = 11; + pixel_x = -6 + }, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"yp" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 5 + }, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"yE" = ( +/turf/closed/wall/mineral/wood, +/area/ruin/powered/icemoon/lodge/mainhall) +"yH" = ( +/obj/structure/fence/door, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"yO" = ( +/obj/structure/chair/wood/wings{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"yQ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"zh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/punji_sticks, +/obj/effect/mob_spawn/human/corpse/frontier, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"zz" = ( +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"zN" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/brown{ + dir = 9 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"zX" = ( +/obj/structure/table/wood, +/obj/item/trash/can/food/beans{ + pixel_x = 6; + pixel_y = 3 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ag" = ( +/obj/structure/table/wood, +/obj/item/trash/plate{ + pixel_y = 12 + }, +/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton{ + pixel_y = 12 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ai" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony/icemoon{ + icon_state = "wood-broken5" + }, +/area/overmap_encounter/planetoid/cave/explored) +"Aj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Ak" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Aq" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + pixel_y = 17; + pixel_x = 9 + }, +/obj/item/reagent_containers/food/drinks/bottle/patron{ + pixel_y = 11; + pixel_x = 6 + }, +/obj/item/storage/pill_bottle/zoom{ + pixel_y = 9 + }, +/obj/item/reagent_containers/food/drinks/bottle/rum{ + pixel_x = 2 + }, +/obj/item/reagent_containers/pill/lsd{ + pixel_y = 6; + pixel_x = -6 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ay" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"AB" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"AE" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 5 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"AJ" = ( +/obj/structure/flora/stump{ + name = "Montagnue's Stump" + }, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"AO" = ( +/obj/structure/table/wood, +/obj/item/weaponcrafting/stock, +/obj/item/weaponcrafting/receiver{ + pixel_y = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"AX" = ( +/obj/structure/punji_sticks, +/obj/effect/decal/cleanable/blood/splatter, +/obj/effect/gibspawner/human/bodypartless, +/obj/effect/mob_spawn/human/corpse/frontier, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Bf" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken6" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"Bx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered{ + check_friendly_fire = 1; + retreat_distance = 3; + minimum_distance = 2 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken5" + }, +/area/ruin/powered/icemoon/lodge/gear_room) +"BL" = ( +/obj/structure/table/wood/fancy, +/obj/item/gem/amber{ + pixel_y = 20; + pixel_x = -2 + }, +/obj/item/candle/infinite{ + pixel_y = 2; + pixel_x = 4 + }, +/obj/item/candle/infinite{ + pixel_y = 2; + pixel_x = -8 + }, +/obj/item/candle/infinite{ + pixel_y = 2; + pixel_x = -2 + }, +/obj/item/candle/infinite{ + pixel_y = 12; + pixel_x = 10 + }, +/obj/item/candle/infinite{ + pixel_y = 2; + pixel_x = 10 + }, +/obj/item/candle/infinite{ + pixel_y = 22; + pixel_x = 10 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"BQ" = ( +/obj/structure/flora/grass/both, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"BU" = ( +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"Cm" = ( +/obj/structure/closet/secure_closet{ + icon_state = "sec"; + name = "equipment locker"; + req_access_txt = "1" + }, +/obj/item/clothing/suit/armor/vest/frontier, +/obj/item/clothing/head/helmet/bulletproof/x11/frontier, +/obj/item/clothing/suit/armor/vest/frontier, +/obj/item/clothing/head/helmet/bulletproof/x11/frontier, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"Cq" = ( +/obj/structure/railing/wood, +/obj/structure/table/wood, +/obj/item/binoculars, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Cs" = ( +/obj/structure/fireplace, +/obj/item/throwing_star/magspear{ + name = "fire poker"; + desc = "A small metal rod used to stir up fireplaces. This one is adorned with ornate golden filigree" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"Cu" = ( +/turf/closed/wall/mineral/wood, +/area/ruin/powered/icemoon/lodge/cellar) +"Cw" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken5" + }, +/area/ruin/powered/icemoon/lodge/residential) +"CG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"CN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken5" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"CU" = ( +/obj/structure/railing/wood{ + dir = 9 + }, +/turf/open/floor/wood/icemoon{ + icon_state = "wood-broken2" + }, +/area/overmap_encounter/planetoid/cave/explored) +"CW" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/turf/open/floor/wood/ebony/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Dj" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Do" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"DA" = ( +/obj/structure/railing/wood{ + dir = 4 + }, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"DB" = ( +/obj/item/grown/log/tree{ + pixel_x = -6; + pixel_y = 12; + auto_scatter = 0 + }, +/obj/item/grown/log/tree{ + pixel_x = 6; + pixel_y = 12; + auto_scatter = 0 + }, +/obj/item/grown/log/tree{ + pixel_y = 18; + auto_scatter = 0 + }, +/obj/structure/table/wood, +/obj/item/storage/box/matches{ + pixel_y = 2 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"DM" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/ruin/powered/icemoon/lodge/residential) +"DR" = ( +/obj/effect/turf_decal/spline/fancy/wood/cee, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/residential) +"Eb" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ec" = ( +/turf/open/floor/plating/asteroid/icerock/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Ek" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken5" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"Er" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 10 + }, +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ez" = ( +/turf/open/floor/plasteel/stairs/wood, +/area/ruin/powered/icemoon/lodge/cellar) +"Fj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Fy" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/item/trash/candy, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"FL" = ( +/obj/effect/turf_decal/siding/blue/corner{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue/corner, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"Gb" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"Gd" = ( +/obj/structure/flora/grass/brown, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Ge" = ( +/obj/structure/chair/wood/wings, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"Gn" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/shockwine{ + pixel_x = 6; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/shockwine{ + pixel_x = -6; + pixel_y = 12 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/cellar) +"Gq" = ( +/obj/effect/turf_decal/siding/blue, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"Gs" = ( +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Gv" = ( +/obj/structure/railing/wood{ + dir = 10 + }, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Gy" = ( +/turf/template_noop, +/area/template_noop) +"GA" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"GD" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"GN" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"GR" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"GS" = ( +/obj/structure/railing/wood{ + dir = 6 + }, +/obj/structure/chair/wood/wings{ + dir = 8 + }, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"GT" = ( +/obj/structure/railing/wood, +/obj/structure/chair/wood/wings{ + dir = 4 + }, +/turf/open/floor/wood/icemoon{ + icon_state = "wood-broken5" + }, +/area/overmap_encounter/planetoid/cave/explored) +"Hl" = ( +/turf/closed/mineral/random/snow/underground, +/area/overmap_encounter/planetoid/cave/explored) +"HC" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken5" + }, +/area/ruin/powered/icemoon/lodge/residential) +"HG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/table/wood, +/obj/item/shovel/spade, +/obj/item/reagent_containers/glass/bucket/wooden{ + pixel_x = 6 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"HO" = ( +/obj/structure/windoor_assembly{ + dir = 4; + name = "broken windoor" + }, +/obj/item/shard, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"HQ" = ( +/obj/structure/table/wood/fancy, +/obj/item/candle/infinite{ + pixel_y = 11; + pixel_x = -2 + }, +/obj/item/candle/infinite{ + pixel_y = 11; + pixel_x = -8 + }, +/obj/item/candle/infinite{ + pixel_y = 11; + pixel_x = 4 + }, +/obj/item/candle/infinite{ + pixel_y = 0; + pixel_x = 10 + }, +/obj/item/candle/infinite{ + pixel_y = 11; + pixel_x = 10 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"HV" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"HZ" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 9 + }, +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ik" = ( +/obj/structure/fluff/paper/stack{ + dir = 4; + pixel_y = 9; + layer = 2.79 + }, +/obj/item/shovel, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ix" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/internals/neutered{ + check_friendly_fire = 1; + minimum_distance = 3 + }, +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"II" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken3" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ja" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/item/reagent_containers/syringe/contraband/morphine, +/obj/effect/decal/cleanable/garbage, +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"Jj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Jq" = ( +/obj/structure/flora/ash/chilly, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Js" = ( +/obj/structure/rack, +/obj/effect/turf_decal/siding/brown, +/obj/item/storage/toolbox/electrical{ + pixel_y = 5; + pixel_x = -2 + }, +/obj/item/storage/toolbox/mechanical, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"JP" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"JS" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals/neutered{ + minimum_distance = 2 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"Kc" = ( +/obj/effect/turf_decal/weather/snow, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Kg" = ( +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Kh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/sign/poster/contraband/masked_men{ + pixel_y = 27 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"Kn" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered{ + minimum_distance = 2; + retreat_distance = 2; + check_friendly_fire = 1 + }, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"Ks" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "camp"; + pixel_x = 4; + pixel_y = -1 + }, +/turf/closed/wall/mineral/wood, +/area/ruin/powered/icemoon/lodge/residential) +"KF" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"KH" = ( +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/obj/effect/decal/cleanable/ash, +/obj/structure/fluff/paper/stack{ + pixel_x = 9 + }, +/obj/structure/fluff/paper/stack{ + dir = 5; + layer = 2.79; + pixel_y = 4 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"KO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/food/flour, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"KR" = ( +/obj/structure/flora/ash/tall_shroom, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"KX" = ( +/obj/structure/fermenting_barrel, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/cellar) +"Lz" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine{ + pixel_y = 12; + pixel_x = -6 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine{ + pixel_y = 12; + pixel_x = 5 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/cellar) +"LC" = ( +/turf/open/floor/wood/icemoon{ + icon_state = "wood-broken" + }, +/area/overmap_encounter/planetoid/cave/explored) +"LD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"LF" = ( +/obj/structure/table/wood, +/obj/item/clothing/under/suit/roumain, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"LM" = ( +/obj/structure/flora/rock/pile/icy{ + icon_state = "icemoonrock1" + }, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"LP" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/turf/open/floor/wood/ebony/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"LT" = ( +/obj/structure/chair/plastic{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"LZ" = ( +/obj/effect/turf_decal/siding/brown/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"Mt" = ( +/turf/open/floor/wood/icemoon{ + icon_state = "wood-broken4" + }, +/area/overmap_encounter/planetoid/cave/explored) +"Mw" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Mx" = ( +/obj/item/chair/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"MC" = ( +/obj/structure/sign/poster/contraband/punch_shit{ + pixel_x = 32 + }, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"MK" = ( +/obj/structure/fence, +/turf/open/floor/plating/asteroid/icerock/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"MO" = ( +/obj/structure/fluff/fokoff_sign{ + desc = "A crudsely-made sign with the words 'fok of' written in some sort of red paint." + }, +/turf/open/floor/plating/asteroid/icerock/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"MP" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"MQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"MR" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "danger"; + pixel_x = 4; + pixel_y = -1; + paint_colour = "#FF0000" + }, +/obj/effect/turf_decal/weather/snow{ + dir = 8 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Nc" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ni" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame/neuter, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"Nl" = ( +/obj/item/mine/pressure/explosive/rusty/live, +/turf/open/floor/plating/asteroid/icerock/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"No" = ( +/turf/closed/wall/mineral/wood, +/area/ruin/powered/icemoon/lodge/residential) +"Nq" = ( +/obj/effect/spawner/random/bedsheet, +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed{ + icon_state = "dirty_mattress" + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"Nu" = ( +/obj/item/ammo_casing/a8_50r{ + projectile_type = null + }, +/obj/item/ammo_casing/a8_50r{ + projectile_type = null + }, +/obj/item/ammo_casing/a8_50r{ + projectile_type = null + }, +/obj/item/ammo_casing/a8_50r{ + projectile_type = null + }, +/obj/item/ammo_casing/a8_50r{ + projectile_type = null + }, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"NH" = ( +/obj/structure/chair/wood/wings{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/neutered, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"NL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"NM" = ( +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"NN" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"NO" = ( +/obj/structure/safe, +/obj/item/spacecash/bundle/c1000, +/obj/item/spacecash/bundle/c1000, +/obj/item/spacecash/bundle/c1000, +/obj/item/gun/ballistic/automatic/marksman/vickland, +/obj/item/ammo_box/vickland_a308/empty, +/obj/item/ammo_box/vickland_a308/empty, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"Oa" = ( +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/structure/table/wood, +/obj/item/trash/tray, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 + }, +/obj/item/stack/tape/industrial{ + pixel_y = 6; + pixel_x = 7 + }, +/obj/item/reagent_containers/food/drinks/bottle/absinthe{ + pixel_y = 8; + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/bottle/morphine, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"Oc" = ( +/obj/structure/flora/ash/stem_shroom, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"Ok" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"Ol" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/residential) +"Oq" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "skull"; + pixel_x = 4; + pixel_y = -1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Ox" = ( +/obj/structure/statue/snow/snowman, +/obj/item/mine/proximity/explosive/live{ + layer = 2.8 + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"OD" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 8 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"OH" = ( +/turf/closed/wall/mineral/wood, +/area/ruin/powered/icemoon/lodge/montagne_office) +"ON" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/neutral, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"OR" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 5 + }, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/ebony/icemoon{ + icon_state = "wood-broken2" + }, +/area/overmap_encounter/planetoid/cave/explored) +"OS" = ( +/obj/effect/turf_decal/siding/wood/end, +/obj/machinery/door/airlock/wood, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"OV" = ( +/obj/effect/turf_decal/spline/fancy/wood, +/obj/item/trash/sosjerky, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken6" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"OY" = ( +/obj/effect/turf_decal/siding/brown, +/obj/item/rack_parts, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"Py" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/closet/crate/hydroponics, +/obj/item/seeds/apple, +/obj/item/seeds/sunflower/moonflower, +/obj/item/seeds/potato, +/obj/item/seeds/tomato, +/obj/item/seeds/berry, +/obj/item/seeds/aloe, +/obj/item/seeds/wheat, +/obj/item/seeds/cotton/durathread, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"PA" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"PB" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken7" + }, +/area/ruin/powered/icemoon/lodge/residential) +"PE" = ( +/obj/structure/chair/wood/wings{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered{ + check_friendly_fire = 1; + retreat_distance = 3; + minimum_distance = 2 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"PH" = ( +/obj/structure/flora/rock/pile/icy{ + icon_state = "icemoonrock2" + }, +/turf/open/floor/plating/asteroid/icerock/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"PI" = ( +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/plasteel/stairs/wood, +/area/ruin/powered/icemoon/lodge/cellar) +"PM" = ( +/obj/structure/bonfire/prelit, +/obj/effect/decal/cleanable/ash/large, +/turf/open/floor/ship/dirt/dark, +/area/ruin/powered/icemoon/lodge/residential) +"PQ" = ( +/obj/structure/fermenting_barrel, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/cellar) +"PV" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Qz" = ( +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"QO" = ( +/obj/structure/table/greyscale, +/obj/item/gun/ballistic/rifle/illestren, +/obj/item/clothing/ears/earmuffs{ + pixel_y = 9 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"QT" = ( +/obj/structure/chair/wood/wings, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals/neutered{ + retreat_distance = null; + minimum_distance = 1; + shoot_point_blank = 1 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"QU" = ( +/obj/structure/flora/grass/jungle, +/turf/open/floor/ship/dirt/dark, +/area/ruin/powered/icemoon/lodge/residential) +"Rd" = ( +/obj/structure/bed/pod, +/obj/item/bedsheet/blue, +/obj/structure/curtain/cloth/fancy, +/obj/item/toy/plush/kari, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"Rg" = ( +/obj/structure/flora/ash/leaf_shroom, +/turf/open/floor/plating/asteroid/icerock/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Rl" = ( +/obj/effect/mob_spawn/human/corpse, +/obj/effect/decal/cleanable/ash/large{ + pixel_y = 8 + }, +/turf/open/floor/ship/dirt/dark, +/area/ruin/powered/icemoon/lodge/residential) +"Rt" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 6 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 8; + pixel_y = 12 + }, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"RA" = ( +/obj/structure/flora/grass/green, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"RE" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"RH" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 6 + }, +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/cellar) +"RM" = ( +/obj/effect/turf_decal/siding/blue/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/medical{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"RV" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"RX" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/closet/crate/trashcart, +/obj/item/clothing/suit/armor/roumain, +/obj/item/clothing/head/cowboy/sec/roumain, +/obj/effect/decal/cleanable/ash/large{ + pixel_y = 3; + pixel_x = -10 + }, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"Se" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"Sf" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"Su" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"SE" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"Td" = ( +/obj/structure/rack, +/obj/item/flashlight/lantern{ + pixel_x = 6 + }, +/obj/item/flashlight/lantern{ + pixel_x = -6 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"Te" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"Tj" = ( +/obj/machinery/door/airlock/wood, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/montagne_office) +"Tk" = ( +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/ammo/a308/hunterspride, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"To" = ( +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"TL" = ( +/obj/structure/closet/cabinet{ + name = "broken hunter's locker"; + desc = "Everything a hunter will need, held in one secure closet. Or it would, if the lock wasn't smashed open." + }, +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/obj/item/clothing/mask/gas/frontiersmen, +/obj/item/clothing/under/frontiersmen/fireproof, +/obj/item/clothing/head/helmet/bulletproof/x11/frontier/fireproof, +/obj/item/clothing/suit/armor/frontier/fireproof, +/obj/item/flamethrower, +/obj/item/lighter/greyscale, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/effect/decal/cleanable/wrapping, +/obj/item/clothing/glasses/trickblindfold, +/obj/item/melee/knife/switchblade, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"TM" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"TV" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 10 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Uc" = ( +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plasteel/stairs/wood{ + dir = 8 + }, +/area/ruin/powered/icemoon/lodge/cellar) +"Ug" = ( +/obj/structure/bookcase/random/religion, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"Um" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 5 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Uz" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 1 + }, +/turf/open/floor/wood/ebony/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"UJ" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 9 + }, +/turf/open/floor/wood/ebony/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"UK" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"UL" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/brown{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken" + }, +/area/ruin/powered/icemoon/lodge/residential) +"UX" = ( +/turf/open/floor/wood/maple{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/gear_room) +"UY" = ( +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Vc" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 9 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Vo" = ( +/obj/item/storage/pill_bottle/floorpill/full{ + pixel_y = 7; + pixel_x = 14 + }, +/obj/effect/decal/cleanable/vomit/old{ + pixel_x = -14; + pixel_y = 18 + }, +/obj/effect/decal/cleanable/vomit/old{ + icon_state = "vomit_2"; + pixel_x = -12; + pixel_y = 2 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Vz" = ( +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"VB" = ( +/obj/structure/railing/wood, +/obj/structure/table/wood, +/obj/item/storage/pill_bottle/stimulant, +/obj/item/reagent_containers/pill/happy{ + pixel_y = 10; + pixel_x = -7 + }, +/obj/item/reagent_containers/pill/happy{ + pixel_y = 2; + pixel_x = 9 + }, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"VK" = ( +/turf/open/floor/wood/maple{ + icon_state = "wood-broken5" + }, +/area/ruin/powered/icemoon/lodge/cellar) +"Wa" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken6" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"Wc" = ( +/obj/effect/turf_decal/spline/fancy/wood/cee{ + dir = 1 + }, +/obj/machinery/door/airlock/wood{ + name = "Restroom" + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/residential) +"Wd" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, +/obj/effect/decal/cleanable/glass, +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals/neuter, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"Wk" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"Wp" = ( +/obj/structure/closet/cabinet{ + name = "broken shadow's locker"; + desc = "The closet of equipment and attire for the aspiring shadow. Or whichever guy broke this closet's lock." + }, +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/item/clothing/head/soft/frontiersmen, +/obj/item/clothing/under/frontiersmen/deckhand, +/obj/item/clothing/accessory/holster, +/obj/effect/decal/cleanable/plastic, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"Ws" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/curtain/cloth/fancy, +/turf/open/floor/plating, +/area/ruin/powered/icemoon/lodge/montagne_office) +"Wv" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"WF" = ( +/obj/structure/flora/rock/pile/icy, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"WI" = ( +/obj/structure/chair/pew/right{ + dir = 1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"WN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"WS" = ( +/obj/structure/flora/stump{ + icon_state = "anchored_rod"; + pixel_y = -3; + name = "rod"; + desc = "A metal rod struck into the ground." + }, +/obj/item/clothing/head/helmet/bulletproof/x11/clip{ + pixel_y = 24; + name = "\improper Dented Minutemen X11 Helmet" + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"WW" = ( +/obj/structure/chair/pew/left{ + dir = 1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"WZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Xd" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/table/wood, +/obj/item/reagent_containers/glass/bottle/nutrient/ez{ + pixel_x = 6; + pixel_y = 12; + auto_scatter = 0 + }, +/obj/item/reagent_containers/glass/bottle/nutrient/l4z{ + pixel_x = 6; + pixel_y = 6; + auto_scatter = 0 + }, +/obj/item/reagent_containers/glass/bottle/nutrient/rh{ + pixel_x = 6; + auto_scatter = 0 + }, +/obj/item/reagent_containers/glass/bottle/nutrient/ez{ + pixel_x = -6; + pixel_y = 12; + auto_scatter = 0 + }, +/obj/item/reagent_containers/glass/bottle/nutrient/l4z{ + pixel_x = -6; + pixel_y = 6; + auto_scatter = 0 + }, +/obj/item/reagent_containers/glass/bottle/nutrient/rh{ + pixel_x = -6; + auto_scatter = 0 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"Xm" = ( +/obj/structure/flora/rock/pile/icy{ + icon_state = "icemoonrock1" + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"Xq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/plastic, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"Xt" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "shotgun"; + pixel_x = 14; + pixel_y = -3 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Xx" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"XF" = ( +/obj/structure/flora/grass/green, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"XK" = ( +/obj/structure/fermenting_barrel/gunpowder, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"XU" = ( +/obj/structure/flora/grass/both, +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"Yd" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken3" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"Yj" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt, +/obj/item/mine/proximity/explosive/live{ + range_heavy = 1; + range_light = 5 + }, +/obj/effect/mob_spawn/human/corpse/srm/montagne, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Yo" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"Yv" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 9 + }, +/obj/machinery/jukebox/boombox{ + pixel_y = 4; + pixel_x = 1 + }, +/obj/item/toy/cards/deck{ + pixel_y = 0; + pixel_x = -4 + }, +/obj/item/storage/pill_bottle/dice{ + pixel_x = 8; + pixel_y = -1 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Yw" = ( +/obj/structure/loom, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"YB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/smartfridge/drying_rack, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"YG" = ( +/obj/item/toy/crayon/spraycan, +/obj/effect/turf_decal/weather/snow{ + dir = 9 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"YO" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/a308{ + pixel_y = 11; + projectile_type = null; + auto_rotate = 0; + auto_scatter = 0 + }, +/obj/item/ammo_casing/a308{ + pixel_y = 3; + projectile_type = null; + auto_rotate = 0; + auto_scatter = 0 + }, +/obj/item/ammo_casing/a308{ + pixel_y = 11; + pixel_x = 6; + projectile_type = null; + auto_rotate = 0; + auto_scatter = 0 + }, +/obj/item/ammo_casing/a308{ + pixel_y = 11; + pixel_x = -6; + projectile_type = null; + auto_rotate = 0; + auto_scatter = 0 + }, +/obj/item/ammo_casing/a308{ + pixel_y = 3; + pixel_x = -6; + projectile_type = null; + auto_rotate = 0; + auto_scatter = 0 + }, +/obj/item/ammo_casing/a308{ + pixel_y = 3; + pixel_x = 6; + projectile_type = null; + auto_rotate = 0; + auto_scatter = 0 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"YU" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 6 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Za" = ( +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Zf" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/mug/coco, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Zi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/plastic, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/ruin/powered/icemoon/lodge/residential) +"Zm" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken" + }, +/area/ruin/powered/icemoon/lodge/gear_room) +"Zn" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/structure/railing/wood{ + dir = 8 + }, +/obj/structure/railing/wood{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Zo" = ( +/obj/structure/table/wood, +/obj/item/trash/plate{ + pixel_x = -6 + }, +/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/zombie{ + pixel_x = -6 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"Zp" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "vomit_2-old" + }, +/obj/item/kirbyplants{ + icon_state = "plant-25"; + pixel_y = 12; + pixel_x = -2 + }, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/residential) +"ZG" = ( +/obj/item/target/syndicate, +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"ZX" = ( +/obj/effect/turf_decal/spline/fancy/wood/corner, +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/energybar, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken3" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"ZZ" = ( +/obj/structure/table/greyscale, +/obj/item/ammo_box/magazine/illestren_a850r/empty{ + pixel_x = 6 + }, +/obj/effect/turf_decal/weather/snow{ + dir = 1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) + +(1,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Gy +Hl +Hl +Hl +Hl +Gy +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(2,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Gy +Hl +Hl +Gy +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(3,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Gy +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(4,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(5,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(6,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +gI +gI +gI +No +No +No +No +No +No +No +No +No +No +No +No +No +No +No +No +No +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(7,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +gI +gI +jx +HO +xd +No +nc +No +DB +Ol +Wk +wD +No +dT +bL +Oa +No +PM +Rl +dd +rF +No +No +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +"} +(8,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +gp +rZ +sk +LD +Wc +DR +No +Cs +oC +oC +Nq +No +ON +Wd +jk +No +RX +yo +AJ +xN +QU +No +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +"} +(9,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +rx +Bx +Qz +Wv +No +qK +No +SE +oC +hz +fe +No +Ja +tl +eW +No +No +ds +lh +Kn +cl +No +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +"} +(10,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +ao +bk +UX +Ni +No +ag +No +Ug +Sf +eg +yi +No +fA +uX +Gq +nm +No +rm +fu +ti +cl +No +Hl +Hl +Hl +Hl +Hl +Rg +Gy +Gy +Gy +Gy +Gy +"} +(11,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +TL +qd +kX +cy +No +No +No +No +mc +Ks +No +No +lM +FL +Ok +st +No +rF +rm +rm +QU +No +Hl +Hl +Hl +Hl +Ec +Ec +Ec +Ec +Ec +Gy +Gy +"} +(12,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +Cm +yQ +Js +cy +gI +zN +Yo +am +eU +qO +aa +No +No +RM +iH +No +No +No +px +tT +YB +No +Hl +Hl +Hl +Hl +PH +MO +Ec +Ec +Ec +Hl +Gy +"} +(13,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +dZ +xu +OY +dn +OS +Xx +yj +uR +Xq +uR +LZ +Yo +hI +vs +JS +Yo +ne +nD +uy +Cw +Py +No +Hl +Hl +Hl +Hl +Hl +Hl +dc +MK +Hl +Hl +Hl +"} +(14,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +Wp +ey +bB +Zm +fX +Zp +HC +PB +TM +MC +Zi +uR +uR +wU +BU +yj +vd +No +ib +RV +qH +No +Hl +Hl +Hl +Hl +Hl +Ec +Ec +bb +Hl +Hl +Hl +"} +(15,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +gI +gI +gI +gI +gI +No +No +No +No +No +DM +MP +TM +UK +UK +fn +UL +No +Xd +HG +No +No +Hl +Hl +Hl +Hl +Hl +Nl +XF +bb +Hl +Hl +Hl +"} +(16,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +No +No +No +No +No +No +NM +No +No +No +No +No +Hl +Hl +Hl +Hl +Hl +Hl +iw +bb +qJ +Hl +Hl +Hl +"} +(17,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Za +Dj +sX +WF +Za +Za +nQ +ca +sX +LM +Za +oT +nQ +WW +Hl +Hl +Hl +Hl +Hl +KR +bb +bb +Hl +Hl +Hl +"} +(18,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Za +Za +Dj +Kc +Za +RA +wx +NN +NN +ca +TV +Za +Za +Dj +gR +Hl +Hl +Hl +Hl +Hl +bb +qJ +iw +Hl +Hl +Hl +"} +(19,1,1) = {" +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Za +Za +eK +Kc +gs +ot +NN +ca +NN +ca +ca +TV +gs +Dj +WI +Hl +Hl +Hl +Hl +Hl +Ec +bb +bb +Hl +Hl +Hl +"} +(20,1,1) = {" +Gy +Gy +Gy +Hl +Hl +Hl +Hl +yE +yE +yE +yE +yE +yE +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Za +eK +ca +OD +NN +JP +ca +ca +ca +fa +NN +vG +ca +Zf +Hl +Hl +Hl +Hl +Hl +Nl +Ec +bb +Hl +Hl +Hl +"} +(21,1,1) = {" +Gy +Gy +Hl +Hl +Hl +Hl +yE +yE +MQ +mz +XK +jM +yE +yE +yE +yE +yE +yE +yE +yE +dO +dO +dO +dO +dO +ca +ca +ca +YU +Za +Dj +NN +Kc +Jq +Um +ca +ca +Hl +Hl +Hl +Hl +Hl +Ec +Ec +bb +iB +Hl +Hl +Hl +"} +(22,1,1) = {" +Gy +Gy +Hl +Hl +Hl +yE +yE +ms +Su +Eb +QT +YO +yE +yc +CN +ko +KO +II +mH +qN +UJ +LP +LP +sd +dO +ca +ca +YU +Za +Za +Dj +NN +Kc +Za +Za +Um +ca +NN +Hl +Hl +Hl +Hl +Nl +Ec +Hl +Hl +Hl +Hl +Hl +"} +(23,1,1) = {" +Gy +Hl +Hl +Hl +Hl +yE +uL +fg +ty +uG +qY +Tk +yE +Kh +tL +Yd +CG +CG +Ek +uM +Uz +Ai +wm +pK +dO +ca +Kc +Za +Gd +Za +Dj +NN +Kc +Za +Za +Za +Dj +wj +Hl +Hl +Hl +bb +bb +bb +Hl +Hl +Hl +Hl +Hl +"} +(24,1,1) = {" +Hl +Hl +Hl +Hl +Hl +yE +AO +RE +sW +qY +yE +yE +yE +HZ +Er +yE +To +Td +aV +yE +OR +sc +CW +cS +dO +ca +sX +Za +Za +Za +tW +Nu +Ix +Za +BQ +Za +Dj +ca +ca +ca +GA +bb +iw +bb +Hl +Hl +Hl +Hl +Gy +"} +(25,1,1) = {" +Hl +Hl +Hl +Hl +Hl +yE +yE +yE +KF +yE +yE +Yv +Bf +ZX +aL +OH +OH +OH +OH +OH +OH +Gv +aF +CU +jP +NN +sX +Za +gs +sG +ZZ +QO +qg +PA +gs +oT +Dj +ca +NN +ca +yH +bb +bb +lg +Hl +Hl +Hl +Hl +Hl +"} +(26,1,1) = {" +Hl +Hl +Hl +Hl +Hl +yE +yE +Vc +kl +tX +GR +cW +Do +xM +OH +pS +Rd +zz +Te +no +Ws +Kg +Kg +Kg +GT +ca +sX +oT +Za +sG +Dj +NN +sX +PA +Za +Za +Dj +NN +ca +ca +GA +bb +bb +Ec +Nl +Hl +Hl +Hl +Hl +"} +(27,1,1) = {" +Hl +Hl +Hl +yE +yE +yE +vZ +cA +Do +Do +UY +Do +tn +xM +OH +bv +zz +Te +fI +gz +Ws +GD +Kg +Kg +VB +ca +sX +Za +Jq +sG +Dj +ca +Kc +PA +Za +Za +Dj +ii +Hl +Hl +Hl +bb +iw +Ec +Ec +Hl +Hl +Hl +Gy +"} +(28,1,1) = {" +Hl +Hl +Hl +yE +nS +Ik +Mw +aJ +rW +LT +Mx +wy +GN +hs +OH +ka +zz +vf +je +Rt +Ws +Kg +GD +GD +kG +ca +NN +TV +Za +da +nQ +ca +sX +PA +jB +wx +ca +ca +Hl +Hl +Hl +Hl +bb +qJ +bb +Hl +Hl +Hl +Gy +"} +(29,1,1) = {" +Hl +Hl +Hl +yE +yE +ik +Mw +kq +Ag +Zo +zX +fF +aJ +tq +Tj +fw +Se +Vz +Vz +xk +Ws +Mt +cd +GD +ou +ca +NN +ca +TV +da +Dj +ca +sX +PA +YG +NN +ca +Hl +Hl +Hl +Hl +Ox +bb +bb +al +Hl +Hl +Hl +Hl +"} +(30,1,1) = {" +Hl +Hl +Hl +yE +nS +KH +jS +aJ +tN +PE +yO +Fy +aJ +OV +OH +fw +Se +Se +Vz +tr +Ws +LC +hj +GD +Cq +ca +ca +ca +ca +MR +ca +xL +NN +nr +NN +fa +ca +sR +Hl +Hl +Hl +bb +bb +iw +Hl +Hl +Hl +Hl +Hl +"} +(31,1,1) = {" +Hl +Hl +Hl +yE +yE +yE +um +wi +Do +xb +iG +ev +rO +xM +OH +yp +sx +oa +oa +dA +Ws +Kg +Mt +Kg +GS +ca +sD +gs +Um +Oq +xL +NN +ca +Xt +YU +gs +Dj +WW +Hl +Hl +Hl +Oc +bb +qJ +Hl +Hl +Hl +Hl +Hl +"} +(32,1,1) = {" +Hl +Hl +Hl +Hl +Hl +yE +yE +AE +bC +vq +Wa +sY +Vo +xM +OH +OH +NO +HQ +BL +mP +Ws +Kg +GD +Kg +tx +ca +sX +Za +Za +wt +qr +ca +ca +mL +Za +Za +rT +gR +Hl +Hl +Hl +qJ +bb +bb +Hl +Hl +Hl +Hl +Hl +"} +(33,1,1) = {" +Gy +Hl +Hl +Hl +Hl +yE +yE +yE +jD +yE +yE +bG +Aq +dl +lE +OH +OH +OH +OH +OH +OH +Cu +DA +DA +Zn +ca +YU +Za +oT +da +Dj +WS +ZG +PA +LM +Za +Dj +WI +Hl +Hl +Hl +Hl +bb +Ec +Hl +Hl +Hl +Hl +Hl +"} +(34,1,1) = {" +Gy +Hl +Hl +Hl +Hl +yE +LF +bK +Nc +HV +yE +yE +yE +lU +RH +Cu +Aj +Jj +aZ +WZ +Ay +Cu +Cu +Hl +Hl +Hl +Za +Za +Za +Za +dO +dO +dO +Hl +Za +Za +Hl +Hl +Hl +Hl +Hl +Hl +XU +Ec +Ox +Hl +Hl +Hl +Gy +"} +(35,1,1) = {" +Gy +Gy +Hl +Hl +Hl +yE +tD +NH +mj +AB +dV +uA +yE +tG +Uc +Cu +Ak +PQ +KX +PQ +qR +qb +Cu +Hl +Hl +Hl +Hl +Za +Hl +Za +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +iw +bb +bb +Hl +Hl +Gy +Gy +"} +(36,1,1) = {" +Gy +Gy +Hl +Hl +Hl +yE +yE +mF +Gb +ud +Ge +mI +yE +VK +AX +Ez +sO +pG +WZ +nd +gr +Yj +Cu +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +bb +bb +lJ +bb +Hl +Hl +Gy +Gy +"} +(37,1,1) = {" +Gy +Gy +Hl +Hl +Hl +Hl +yE +yE +pi +ve +Yw +eC +yE +pf +Gs +PI +NL +Lz +jR +Gn +Fj +wF +Cu +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Nl +Xm +bb +bb +qD +bb +Gy +Gy +"} +(38,1,1) = {" +Gy +Gy +Hl +Hl +Hl +Hl +Hl +yE +yE +yE +yE +yE +yE +Cu +Cu +Cu +wT +PV +wc +zh +WN +Cu +Cu +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +sJ +bb +rS +bb +Gy +Gy +"} +(39,1,1) = {" +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Cu +Cu +Cu +rs +Cu +Cu +Cu +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +kZ +Gy +Gy +"} +(40,1,1) = {" +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +iE +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +bb +Gy +Gy +Gy +"} +(41,1,1) = {" +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +"} +(42,1,1) = {" +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(43,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(44,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} diff --git a/_maps/RandomRuins/IceRuins/icemoon_tesla_lab.dmm b/_maps/RandomRuins/IceRuins/icemoon_tesla_lab.dmm new file mode 100644 index 00000000000..4f6e4849f99 --- /dev/null +++ b/_maps/RandomRuins/IceRuins/icemoon_tesla_lab.dmm @@ -0,0 +1,16029 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ab" = ( +/obj/machinery/porta_turret/ship/frontiersmen/light{ + dir = 8; + reqpower = 0; + faction = list("Frontiersmen") + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/icemoon/tesla_lab/turrets) +"ac" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "floor2" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/dorms) +"ae" = ( +/obj/item/stack/sheet/mineral/sandbags, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"af" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"ag" = ( +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + dir = 4; + pixel_y = -3; + pixel_x = -10; + name = "starboard shutter"; + id = "h2" + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 8; + pixel_x = -10; + name = "port shutter"; + id = "h1" + }, +/obj/machinery/turretid/ship{ + pixel_y = 24; + id = "haymaker" + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = -3; + pixel_x = 4; + id = "h2s" + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = 8; + pixel_x = 4; + id = "h1s" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/haymaker) +"ah" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/catwalk/over, +/obj/machinery/light/directional/east, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"as" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "floor5" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"au" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/platform/industrial{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"av" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/item/stack/ore/slag{ + pixel_x = -6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"aw" = ( +/obj/structure/platform/industrial, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"ax" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"ay" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange/corner{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/haymaker) +"az" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/stack/tile/plasteel/dark{ + pixel_y = -1; + pixel_x = -5 + }, +/obj/item/crowbar{ + pixel_x = -4; + pixel_y = 13 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "b"; + pixel_y = 15; + pixel_x = -10 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "o"; + pixel_y = 12; + pixel_x = 5 + }, +/obj/structure/disposalpipe/broken{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/lab_halls) +"aB" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/ammo_casing/spent/slug/buck, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"aC" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"aH" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"aJ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"aK" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"aM" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/chair{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/engineering) +"aR" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/gibspawner/human/bodypartless, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/item/radio/intercom/directional/west{ + frequency = 1473 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"aS" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor1" + }, +/obj/machinery/light/directional/north, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"aU" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/directional/west, +/obj/structure/platform/industrial{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"aW" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner, +/obj/effect/decal/cleanable/blood/squirt, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 5 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/item/ammo_casing/spent/slug/buck, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"ba" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = -3; + pixel_y = -9 + }, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"bd" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"bf" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/chlorine, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2, +/obj/item/wrench/crescent{ + pixel_y = 10; + pixel_x = 7 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"bi" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ruin/icemoon/tesla_lab/engineering) +"bo" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/effect/spawner/random/trash/grime, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"bs" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/item/shard{ + pixel_y = 5; + pixel_x = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"bv" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/item/ammo_box/magazine/cm23/empty{ + pixel_y = 11; + pixel_x = -11 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"bG" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/icemoon/tesla_lab/medbay) +"bI" = ( +/obj/structure/platform/industrial{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"bL" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"bP" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"bS" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/blood/squirt, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/item/stack/ore/salvage/scraptitanium{ + pixel_y = 4; + pixel_x = 11 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"bT" = ( +/obj/structure/platform/industrial/corner, +/obj/item/ammo_casing/spent/slug/buck, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"bU" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lab_halls) +"bW" = ( +/obj/effect/turf_decal/industrial/warning/corner, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"bX" = ( +/obj/structure/chair/comfy/grey/old/alt/directional/east{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/lusty_xenomorph{ + pixel_x = -30 + }, +/obj/item/paper/crumpled{ + pixel_y = -15; + pixel_x = 1 + }, +/obj/item/paper/crumpled{ + pixel_y = 6; + pixel_x = -12 + }, +/obj/item/paper/crumpled{ + pixel_y = -8; + pixel_x = -14 + }, +/obj/item/paper/crumpled{ + pixel_y = 8; + pixel_x = -8 + }, +/obj/item/paper/crumpled{ + pixel_y = 18; + pixel_x = 1 + }, +/obj/item/paper/crumpled{ + pixel_y = 21; + pixel_x = -9 + }, +/obj/effect/decal/cleanable/food/plant_smudge, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"bY" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"cd" = ( +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 5 + }, +/obj/machinery/autolathe, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"ck" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"cl" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/snacks/pizza/vegetable{ + pixel_x = -2; + pixel_y = 0 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/icemoon/tesla_lab/lobby) +"cn" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"cp" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"cu" = ( +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/structure/curtain, +/obj/effect/turf_decal/corner/transparent/blue/border{ + dir = 5 + }, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plasteel/mono/white, +/area/ruin/icemoon/tesla_lab/medbay) +"cy" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"cA" = ( +/obj/structure/chair, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lobby) +"cG" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + pixel_y = 0; + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"cM" = ( +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"cP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/engine/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"cQ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"cT" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/gibspawner/human/bodypartless, +/obj/effect/decal/cleanable/blood/squirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"cU" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/armory) +"cV" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"cW" = ( +/obj/item/kirbyplants{ + icon_state = "plant-22"; + pixel_y = 17; + pixel_x = -14 + }, +/obj/structure/chair, +/obj/item/radio/intercom/directional/north{ + frequency = 1473 + }, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/engineering) +"cY" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/armory) +"da" = ( +/obj/effect/turf_decal/corner_steel_grid/diagonal{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid/diagonal, +/obj/effect/mapping_helpers/turf/burnt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"dc" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/splatter, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 9 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"dd" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/platform/industrial{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ruin/icemoon/tesla_lab/engineering) +"de" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"df" = ( +/obj/item/clothing/head/clip{ + pixel_y = -14; + pixel_x = 7 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"dj" = ( +/obj/structure/falsewall/plastitanium, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/armory) +"dl" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"dm" = ( +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/icemoon/tesla_lab/haymaker) +"dq" = ( +/obj/structure/grille, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"dr" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -22; + pixel_x = 8; + name = "shutter control"; + id = "tl5" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"dv" = ( +/obj/machinery/door/airlock/external, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"dy" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/railing{ + dir = 6 + }, +/obj/structure/filingcabinet/double{ + dir = 1 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/cargo) +"dE" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"dK" = ( +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456; + dir = 1 + }, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor1" + }, +/obj/item/shard{ + pixel_y = -8; + pixel_x = -10 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"dL" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/effect/decal/cleanable/blood/squirt, +/obj/effect/mob_spawn/human/corpse/frontier, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"dO" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 4 + }, +/obj/effect/spawner/random/trash/mess, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/armory) +"dP" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"dR" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/platform/industrial, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"dU" = ( +/obj/structure/flora/grass/green, +/obj/item/mine/directional/claymore/live, +/obj/item/ammo_casing/spent/slug/buck, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"dW" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "evac"; + pixel_y = 15; + pixel_x = -10 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/slab_1/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"dX" = ( +/obj/item/kirbyplants{ + icon_state = "plant-03"; + pixel_y = 13 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"dY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"ea" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/grunge{ + name = "Chamber Access"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"eb" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 1 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/industrial{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"ec" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/lab_halls) +"ed" = ( +/obj/machinery/door/firedoor/heavy, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/squirt, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"ee" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"ef" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor/corner, +/obj/structure/platform/industrial{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"eg" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/office_two) +"ei" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"ej" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/medbay) +"em" = ( +/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"es" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/obj/structure/closet/crate{ + opened = 1 + }, +/obj/item/melee/sword/mass, +/obj/item/melee/sword/mass, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"eu" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/item/weldingtool, +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"ey" = ( +/obj/structure/platform/industrial, +/obj/machinery/door/firedoor/border_only, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/chair{ + pixel_y = 8; + pixel_x = -5 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"eA" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor{ + id = "tl1" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "tls" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"eC" = ( +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 10 + }, +/obj/item/kirbyplants{ + icon_state = "plant-19"; + pixel_x = -7; + pixel_y = 2 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"eD" = ( +/obj/effect/turf_decal/minutemen/edge, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"eF" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/structure/platform/industrial/corner{ + dir = 1 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"eG" = ( +/obj/structure/closet/crate{ + opened = 1 + }, +/obj/effect/turf_decal/industrial, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"eH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 5 + }, +/obj/item/electronics/airlock, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"eI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/dorms) +"eL" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/on/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/ammo_casing/spent/slug/buck, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lobby) +"eN" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/splatter, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = -8; + pixel_y = -8 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"eO" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"eP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"eQ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 5 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"eS" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"eU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/purple/corner{ + dir = 8 + }, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/item/desynchronizer/tvstatic{ + pixel_x = 7; + pixel_y = 8 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"eZ" = ( +/obj/structure/toilet{ + dir = 8; + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/clothing/head/papersack/smiley{ + pixel_x = 9; + pixel_y = 11 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "getout"; + pixel_y = -3; + pixel_x = -5 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/lab_halls) +"fa" = ( +/obj/effect/turf_decal/minutemen/middle, +/obj/machinery/holopad/secure, +/obj/item/paper/crumpled{ + pixel_x = -6; + pixel_y = -3 + }, +/obj/item/paper/crumpled{ + pixel_y = 2; + pixel_x = 3 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"fb" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/grunge{ + dir = 2; + name = "Engineering" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"fd" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 9 + }, +/obj/item/radio/intercom/directional/north{ + frequency = 1473 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "skull"; + pixel_y = 2; + pixel_x = -31 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"fk" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/mapping_helpers/turf/burnt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"fo" = ( +/obj/structure/filingcabinet/double/grey{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_x = 9; + pixel_y = -21; + id = "tl4" + }, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"fs" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"ft" = ( +/obj/effect/spawner/random/trash/grime, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"fu" = ( +/turf/open/floor/plating/asteroid/icerock/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"fv" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"fw" = ( +/obj/effect/turf_decal/corner_steel_grid/diagonal{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid/diagonal, +/obj/effect/mapping_helpers/turf/burnt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/blood/splatter, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"fy" = ( +/obj/effect/turf_decal/industrial, +/obj/machinery/power/grounding_rod{ + anchored = 1 + }, +/obj/structure/platform/industrial/corner{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"fz" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/spawner/random/trash/grime, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"fB" = ( +/obj/item/storage/box/ammo/a762_40{ + pixel_y = 3; + pixel_x = 5 + }, +/obj/item/reagent_containers/pill/cyanide{ + pixel_x = 4; + pixel_y = -6 + }, +/obj/item/storage/pill_bottle{ + pixel_x = -15; + pixel_y = -1 + }, +/obj/item/trash/chips{ + pixel_y = -2 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/armory) +"fG" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lobby) +"fH" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/shard{ + pixel_y = -7; + pixel_x = 5 + }, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"fK" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/freezer, +/area/ruin/icemoon/tesla_lab/lobby) +"fM" = ( +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 8 + }, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = -7 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"fS" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals{ + name = "Dr. Pills" + }, +/turf/open/floor/plasteel/white, +/area/ruin/icemoon/tesla_lab/medbay) +"fT" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"fU" = ( +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/table/optable, +/obj/effect/mob_spawn/human/corpse/frontier, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/haymaker) +"fV" = ( +/obj/structure/table/reinforced, +/obj/item/folder/blue{ + pixel_y = -4; + pixel_x = 7 + }, +/obj/item/folder/blue{ + pixel_y = 4; + pixel_x = -4 + }, +/obj/item/stamp/clip{ + pixel_x = 8; + pixel_y = 7 + }, +/turf/open/floor/wood/icemoon, +/area/ruin/icemoon/tesla_lab/office) +"fX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/office_two) +"gd" = ( +/obj/machinery/computer/crew{ + dir = 8; + icon_state = "computer-right" + }, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/structure/railing, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/haymaker) +"gf" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals{ + minimum_distance = 1; + shoot_point_blank = 1 + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"gg" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"gj" = ( +/obj/structure/guncloset, +/obj/effect/turf_decal/trimline/transparent/blue/filled, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/armory) +"gk" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "floor2" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/cargo) +"gm" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"go" = ( +/obj/machinery/door/airlock/external, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"gw" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/ash, +/obj/item/crowbar/large{ + pixel_y = 6; + pixel_x = -8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"gx" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/airlock/grunge{ + dir = 2; + name = "Server Room" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_a) +"gC" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/obj/machinery/disposal/bin, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/west, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/white, +/area/ruin/icemoon/tesla_lab/medbay) +"gI" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/concrete/pavement/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"gJ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/item/electronics/airlock, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"gL" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Lab Zone One" + }, +/obj/effect/mapping_helpers/airlock/sealed, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/welded, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_a) +"gM" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"gO" = ( +/obj/effect/turf_decal/industrial, +/obj/machinery/power/grounding_rod{ + anchored = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"gT" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "floor4" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/cargo) +"gW" = ( +/obj/effect/mapping_helpers/turf/burnt, +/obj/item/ammo_casing/spent/slug/buck, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"gZ" = ( +/obj/structure/flora/ausbushes/ppflowers, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/ice/explored) +"hd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/minutemen/edge, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/office_two) +"hg" = ( +/obj/machinery/holopad/secure, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mob_spawn/human/corpse/clip/researcher, +/obj/structure/fluff/paper/stack{ + pixel_y = -10; + pixel_x = 7 + }, +/obj/structure/fluff/paper/stack{ + pixel_y = 4; + pixel_x = -4 + }, +/obj/structure/fluff/paper/stack{ + pixel_y = 6; + pixel_x = 8 + }, +/obj/structure/fluff/paper/stack{ + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"hh" = ( +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_y = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"hl" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"hs" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/beaglemug{ + pixel_y = 8; + pixel_x = -4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/reagent_containers/pill/happinesspsych{ + pixel_x = 11; + pixel_y = -1 + }, +/obj/item/reagent_containers/pill/happinesspsych{ + pixel_x = 9; + pixel_y = 12 + }, +/obj/item/reagent_containers/pill/happinesspsych{ + pixel_x = -11; + pixel_y = 0 + }, +/obj/item/reagent_containers/pill/happinesspsych{ + pixel_x = 5; + pixel_y = 3 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/office_two) +"ht" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/obj/machinery/iv_drip/saline, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"hu" = ( +/obj/structure/table, +/obj/effect/spawner/random/trash/food_packaging, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/dorms) +"hw" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/cave/explored) +"hz" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"hA" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/armory) +"hB" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 5 + }, +/obj/effect/decal/cleanable/blood/squirt, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"hE" = ( +/obj/effect/turf_decal/industrial/loading/white{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"hI" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/platform/industrial, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"hJ" = ( +/obj/structure/dresser, +/obj/structure/sign/poster/official/no_erp{ + pixel_y = 30 + }, +/obj/item/radio/intercom/directional/west{ + frequency = 1473 + }, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"hL" = ( +/obj/structure/platform/industrial{ + dir = 1 + }, +/obj/item/paper/crumpled{ + pixel_x = -6; + pixel_y = -2 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"hN" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north{ + frequency = 1473 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"hR" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/armory) +"hS" = ( +/obj/structure/table, +/obj/item/trash/can/food/peaches{ + pixel_y = 14; + pixel_x = 7 + }, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"hU" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/power/tesla_coil/power{ + anchored = 1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/engine/hull, +/area/ruin/icemoon/tesla_lab/engineering) +"hX" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/item/shard, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"ib" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/asteroid/snow/lit, +/area/overmap_encounter/planetoid/ice/explored) +"ie" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge{ + dir = 2; + name = "Crawlspace" + }, +/obj/effect/mapping_helpers/airlock/sealed, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"ig" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"in" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/minutemen/corner, +/obj/machinery/button/door{ + pixel_y = 23; + pixel_x = 7; + id = "tl_rd" + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/office_two) +"iu" = ( +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/structure/curtain, +/obj/effect/turf_decal/corner/transparent/blue/border{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/white, +/area/ruin/icemoon/tesla_lab/medbay) +"iv" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 8; + pixel_x = -4 + }, +/obj/item/pen/fourcolor{ + pixel_y = 10; + pixel_x = -4 + }, +/obj/machinery/light/directional/east, +/obj/machinery/airalarm/directional/south, +/obj/machinery/button/door{ + pixel_x = 9; + dir = 8; + pixel_y = -1; + id = "tl7"; + name = "shutter control" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/containment) +"iw" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/item/stack/tile/plasteel/dark{ + pixel_y = -5; + pixel_x = 3 + }, +/obj/machinery/light/directional/north, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"ix" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"iF" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"iJ" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/office) +"iK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/mauve/warning, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lab_a) +"iN" = ( +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/dorms) +"iT" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood/splatter, +/obj/structure/closet/emcloset/wall/directional/north, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"jb" = ( +/obj/machinery/door/firedoor/heavy, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/squirt, +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"jc" = ( +/obj/structure/table, +/obj/effect/spawner/random/trash/food_packaging{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/effect/spawner/random/trash/food_packaging{ + pixel_x = 7 + }, +/obj/effect/spawner/random/trash/food_packaging{ + pixel_y = 8; + pixel_x = 11 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"jd" = ( +/obj/effect/gibspawner/human/bodypartless, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/structure/platform/industrial{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"je" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/orange/corner{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/haymaker) +"jg" = ( +/obj/structure/toilet{ + pixel_y = 9 + }, +/obj/structure/curtain, +/obj/structure/window{ + dir = 8 + }, +/obj/structure/window{ + dir = 4 + }, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/dorms) +"ji" = ( +/obj/structure/catwalk/over, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"jk" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor1" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/dorms) +"jn" = ( +/obj/structure/platform/industrial, +/obj/structure/platform/industrial/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"jo" = ( +/obj/structure/table, +/obj/machinery/newscaster/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/food/snacks/soup/vegetable{ + pixel_y = 7; + pixel_x = 3 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"jq" = ( +/obj/effect/decal/cleanable/glass/plasma, +/obj/structure/platform/industrial, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"js" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/mob_spawn/human/corpse/frontier, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"ju" = ( +/obj/effect/mapping_helpers/turf/burnt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/heavy/closed, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"jv" = ( +/obj/structure/flora/rock/pile/icy, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"jx" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/snacks/soup/vegetable, +/obj/item/reagent_containers/food/drinks/drinkingglass/filled/soda{ + pixel_y = 9; + pixel_x = -2 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"jA" = ( +/obj/structure/flora/tree/pine, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"jF" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals/neutered, +/turf/open/floor/plasteel, +/area/ruin/icemoon/tesla_lab/haymaker) +"jH" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/ash/large, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/shard, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"jI" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/splatter, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/ash{ + pixel_x = -6 + }, +/obj/item/shard{ + pixel_y = -10; + pixel_x = -4 + }, +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"jM" = ( +/obj/machinery/porta_turret/ship/frontiersmen{ + reqpower = 0; + faction = list("Frontiersmen") + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/icemoon/tesla_lab/turrets) +"jV" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"jW" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "!"; + pixel_y = 8; + pixel_x = 5 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "g"; + pixel_y = 7; + pixel_x = -3 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"jY" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/junction/yjunction{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "food"; + pixel_y = 15; + pixel_x = -10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"jZ" = ( +/obj/machinery/door/firedoor/heavy, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"ka" = ( +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/structure/railing{ + dir = 9 + }, +/obj/structure/table/reinforced, +/obj/item/storage/firstaid/medical{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/item/storage/firstaid/brute{ + pixel_y = 3; + pixel_x = 7 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/haymaker) +"ke" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/haymaker) +"kg" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/obj/effect/turf_decal/industrial/loading{ + icon_state = "loadingarea_stripes"; + dir = 2 + }, +/obj/structure/closet/crate/medical, +/obj/item/storage/firstaid/brute, +/obj/item/storage/firstaid/brute, +/obj/item/storage/firstaid/regular, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"kl" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"km" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"kp" = ( +/obj/effect/decal/cleanable/greenglow, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/box, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"ks" = ( +/obj/machinery/door/firedoor/heavy/closed{ + welded = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"kv" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/filingcabinet/double/grey{ + dir = 1; + pixel_y = -3 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/folder/blue, +/obj/item/folder/blue, +/obj/item/folder/blue, +/obj/item/documents, +/obj/item/spacecash/bundle/mediumrand, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/office_two) +"kx" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/shreds{ + pixel_y = 9 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "electricdanger"; + pixel_y = 6; + pixel_x = -5 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "toolbox"; + pixel_y = -15; + pixel_x = -5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/shard, +/mob/living/simple_animal/hostile/human/frontier/ranged/officer/internals, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"ky" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/icemoon/tesla_lab/medbay) +"kB" = ( +/obj/effect/anomaly/flux/big/planetary{ + drops_core = 0; + zap_power = 50000 + }, +/obj/effect/turf_decal/industrial, +/turf/open/floor/engine/hull, +/area/ruin/icemoon/tesla_lab/engineering) +"kF" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/haymaker) +"kG" = ( +/obj/item/radio/intercom/directional/east{ + frequency = 1473 + }, +/obj/structure/chair/comfy/grey/old/alt/directional/west, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"kH" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor1" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"kI" = ( +/obj/machinery/door/firedoor/heavy, +/obj/effect/decal/cleanable/blood/squirt, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"kK" = ( +/obj/structure/chair/comfy/blue, +/turf/open/floor/wood/icemoon, +/area/ruin/icemoon/tesla_lab/office) +"kM" = ( +/obj/item/gun/ballistic/automatic/pistol/cm23{ + pixel_x = -12 + }, +/obj/item/reagent_containers/pill/morphine{ + pixel_y = -3; + pixel_x = -5 + }, +/obj/effect/decal/cleanable/generic, +/obj/effect/mob_spawn/human/corpse/clip/minuteman/forcefem{ + mob_name = "Alyssa Salata" + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/armory) +"kO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/dorms) +"kR" = ( +/obj/structure/catwalk/over, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"kV" = ( +/obj/structure/fluff/paper/stack{ + pixel_y = 4; + pixel_x = -4 + }, +/obj/item/paper{ + pixel_x = -8; + pixel_y = 2 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow, +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"kX" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "gib5"; + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/icemoon/tesla_lab/medbay) +"lb" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ + pixel_y = 0; + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"lc" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"lf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/mapping_helpers/turf/burnt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"li" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = -6 + }, +/obj/item/pen/fourcolor{ + pixel_y = 7; + pixel_x = -7 + }, +/obj/item/clipboard{ + pixel_y = -2; + pixel_x = 9 + }, +/obj/item/pen/fountain{ + pixel_y = -2; + pixel_x = 6 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/wood/icemoon, +/area/ruin/icemoon/tesla_lab/office) +"lo" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"lq" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/power/tesla_coil/power{ + anchored = 1 + }, +/obj/structure/cable, +/turf/open/floor/engine/hull, +/area/ruin/icemoon/tesla_lab/engineering) +"lr" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/concrete/pavement, +/area/ruin/icemoon/tesla_lab/turrets) +"lv" = ( +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 9 + }, +/obj/structure/table, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/machinery/fax/ruin{ + pixel_y = 5 + }, +/obj/item/paper_bin{ + total_paper = 17; + pixel_x = -5; + pixel_y = -10 + }, +/obj/item/pen/fourcolor{ + pixel_y = -10; + pixel_x = -6 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"lx" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"lH" = ( +/obj/structure/catwalk/over, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/structure/platform/industrial{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"lJ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/computer/telecomms/monitor{ + dir = 8; + pixel_x = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lab_a) +"lK" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/squirt, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"lQ" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"lT" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"lU" = ( +/obj/structure/table/wood, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"lX" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"mc" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge{ + name = "Office" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/door/poddoor{ + id = "tl_rd" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/office_two) +"me" = ( +/obj/structure/fluff/paper/stack, +/obj/effect/decal/cleanable/blood/splatter, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"mf" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/orange/filled/warning{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"mg" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/splatter, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 5 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"mh" = ( +/obj/structure/flippedtable{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + welded = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"mp" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"mq" = ( +/obj/structure/window/reinforced, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/modular_computer/console/preset/civilian{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"mr" = ( +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "evac"; + pixel_y = -2; + pixel_x = -14 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/clip{ + pixel_y = 28 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"mt" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"mw" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/box, +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"mz" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 4 + }, +/obj/item/stack/cable_coil/cut/random, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/ash{ + pixel_y = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"mC" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/machinery/light/directional/north, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"mE" = ( +/obj/effect/spawner/random/trash/food_packaging, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"mG" = ( +/obj/item/paper_bin{ + total_paper = 17; + pixel_x = 9; + pixel_y = -11 + }, +/obj/structure/fluff/paper/stack{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/structure/fluff/paper/stack{ + pixel_y = -10; + pixel_x = 7 + }, +/obj/item/paper{ + pixel_x = -8; + pixel_y = -11 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"mH" = ( +/obj/machinery/fax/ruin{ + pixel_y = 5 + }, +/obj/structure/table, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"mL" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"mN" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "gibbearcore" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/central_hall) +"mO" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/cargo) +"mQ" = ( +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/concrete/slab_1, +/area/ruin/icemoon/tesla_lab/turrets) +"mS" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/stack/tile/plasteel/dark{ + pixel_y = 15; + pixel_x = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/item/weldingtool, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/lab_halls) +"mU" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"mV" = ( +/obj/structure/filingcabinet/double{ + dir = 8; + pixel_x = 9; + density = 0 + }, +/obj/machinery/turretid{ + pixel_x = 26 + }, +/turf/open/floor/wood/icemoon, +/area/ruin/icemoon/tesla_lab/office) +"mX" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "gib5"; + dir = 8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/medbay) +"na" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock/external, +/obj/item/ammo_casing/spent/slug/buck, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lobby) +"nb" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/platform/industrial{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"nd" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/platform/industrial{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"ne" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/haymaker) +"nf" = ( +/obj/machinery/conveyor{ + id = "tlb"; + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"nk" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/chair/stool/bar{ + dir = 1; + pixel_y = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"no" = ( +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"np" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 5 + }, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"nt" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"nu" = ( +/obj/structure/catwalk/over, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"nw" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"nx" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"ny" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/lobby) +"nC" = ( +/obj/structure/platform/industrial{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/ice/explored) +"nE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west{ + frequency = 1473 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"nK" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/window/plasma/reinforced{ + dir = 1 + }, +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "h3" + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/haymaker) +"nL" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/industrial/warning/cee{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"nN" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/concrete/slab_1/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"nQ" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/engineering) +"nU" = ( +/obj/effect/turf_decal/industrial/loading{ + icon_state = "loadingarea_stripes"; + dir = 1 + }, +/obj/structure/platform/industrial/corner{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"nV" = ( +/obj/structure/rack, +/obj/effect/turf_decal/trimline/transparent/blue/filled, +/obj/item/melee/knife/survival{ + pixel_x = 11; + pixel_y = -8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/armory) +"nW" = ( +/obj/structure/flora/rock/pile/icy, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/ice/explored) +"oa" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/platform/industrial{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"od" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"oe" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Atmopsherics" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"of" = ( +/obj/structure/chair{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/frontier, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lobby) +"oj" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/arrow_cw{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/shard{ + pixel_y = 2; + pixel_x = -4 + }, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"ok" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/structure/janitorialcart, +/obj/item/pushbroom, +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/lab_halls) +"ol" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/central_hall) +"om" = ( +/obj/effect/turf_decal/industrial, +/obj/machinery/power/grounding_rod{ + anchored = 1 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"or" = ( +/obj/effect/turf_decal/industrial, +/obj/machinery/power/grounding_rod{ + anchored = 1 + }, +/obj/structure/platform/industrial/corner{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"os" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"ou" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/table/reinforced, +/obj/item/folder/blue{ + pixel_y = 7; + pixel_x = -6 + }, +/obj/item/reagent_containers/food/drinks/beaglemug{ + pixel_y = 2 + }, +/obj/item/radio/intercom/directional/east{ + frequency = 1473 + }, +/obj/machinery/button/door{ + pixel_y = -22; + pixel_x = -7; + dir = 1; + id = "tl1"; + name = "Cargoway Shutters" + }, +/obj/machinery/button/shieldwallgen{ + pixel_y = -21; + pixel_x = 2; + dir = 1; + id = "tls" + }, +/turf/open/floor/wood/icemoon, +/area/ruin/icemoon/tesla_lab/office) +"oA" = ( +/obj/structure/platform/industrial/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood{ + dir = 4; + icon_state = "gib3" + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 9 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"oB" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/steeldecal/steel_decals_central5, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/haymaker) +"oD" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/haymaker) +"oF" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"oG" = ( +/obj/structure/table, +/obj/machinery/fax/ruin{ + pixel_y = 5 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/office_two) +"oJ" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/glass, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/yellow, +/turf/open/floor/wood/icemoon, +/area/ruin/icemoon/tesla_lab/office) +"oL" = ( +/obj/effect/decal/cleanable/ash/large, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"oN" = ( +/obj/effect/turf_decal/industrial/warning/cee{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"oP" = ( +/obj/effect/decal/cleanable/greenglow, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"oR" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"oW" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/snacks/soup/mushroom{ + pixel_y = 4; + pixel_x = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lobby) +"oX" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/tesla_coil/power{ + anchored = 1 + }, +/turf/open/floor/engine/hull, +/area/ruin/icemoon/tesla_lab/engineering) +"oY" = ( +/obj/structure/sink/kitchen{ + pixel_y = 17 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lab_halls) +"pd" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"pe" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 25 + }, +/obj/item/weldingtool{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/armory) +"pf" = ( +/obj/structure/platform/industrial, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"ph" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/food/flour, +/turf/open/floor/plasteel/freezer, +/area/ruin/icemoon/tesla_lab/lobby) +"po" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating/asteroid/snow/lit, +/area/overmap_encounter/planetoid/ice/explored) +"pq" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 5 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"pr" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"pu" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Crawlspace" + }, +/obj/effect/mapping_helpers/airlock/sealed, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/dorms) +"pv" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/blood/squirt, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "med"; + pixel_y = -4; + pixel_x = 11 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"pz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge{ + name = "Bathroom"; + dir = 2 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"pB" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"pC" = ( +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"pE" = ( +/obj/effect/turf_decal/minutemen/corner{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/light/directional/east, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/office_two) +"pH" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/slab_1/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"pJ" = ( +/obj/effect/anomaly/tvstatic/planetary{ + effectrange = 3 + }, +/obj/effect/turf_decal/industrial, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/containment) +"pL" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "floor5" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/armory) +"pO" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "gib4"; + dir = 4 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"pT" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/spawner/random/trash/grime, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"pX" = ( +/obj/structure/closet/secure_closet/engineering_personal{ + populate = 0 + }, +/obj/item/clothing/under/clip{ + pixel_x = 7 + }, +/obj/item/clothing/suit/hazardvest{ + pixel_x = -8; + pixel_y = 3 + }, +/obj/item/storage/backpack/satchel/eng{ + pixel_y = 10 + }, +/obj/item/storage/belt/utility{ + pixel_y = -7 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/engineering) +"pZ" = ( +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456; + dir = 1 + }, +/obj/machinery/door/poddoor/preopen{ + id = "tl2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/cargo) +"qg" = ( +/obj/structure/bed, +/obj/item/bedsheet/blue, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 5 + }, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/office) +"qi" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"qk" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"ql" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/item/reagent_containers/pill/three_eye{ + name = "normal pill"; + desc = "This pill is gonna make you so normal champ."; + pixel_x = -3 + }, +/obj/item/reagent_containers/pill/patch/synthflesh{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/reagent_containers/pill/patch/synthflesh{ + pixel_x = 11; + pixel_y = 8 + }, +/obj/item/reagent_containers/hypospray/medipen/anti_rad{ + pixel_y = -7; + pixel_x = 6 + }, +/obj/item/reagent_containers/syringe/contraband/crank{ + pixel_x = 6; + pixel_y = -8 + }, +/obj/item/stack/medical/splint{ + pixel_y = 9; + pixel_x = 5 + }, +/obj/item/storage/backpack/duffelbag/med/surgery{ + pixel_y = -6; + pixel_x = 6 + }, +/turf/open/floor/plasteel/white, +/area/ruin/icemoon/tesla_lab/medbay) +"qm" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/photocopier, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/radio/intercom/directional/north{ + frequency = 1473 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/cargo) +"qn" = ( +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lobby) +"qo" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/barricade/sandbags, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"qy" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"qC" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/industrial/warning/cee{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"qD" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/effect/turf_decal/industrial/loading{ + icon_state = "loadingarea_stripes"; + dir = 2 + }, +/obj/machinery/portable_atmospherics/canister/carbon_monoxide, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"qE" = ( +/obj/structure/table, +/obj/item/cutting_board{ + pixel_y = 3; + pixel_x = -4 + }, +/obj/item/melee/knife, +/turf/open/floor/plasteel/freezer, +/area/ruin/icemoon/tesla_lab/lobby) +"qG" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/spawner/random/trash/mess, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"qH" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/haymaker) +"qM" = ( +/obj/structure/salvageable/computer{ + dir = 1 + }, +/obj/structure/railing, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/radio/intercom/directional/east{ + frequency = 1473 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/cargo) +"qN" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/item/stack/ore/slag{ + pixel_y = 5; + pixel_x = 9 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/random/trash/food_packaging{ + pixel_x = -4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"qO" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 5 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 4 + }, +/obj/item/stack/ore/salvage/scraptitanium{ + pixel_x = 4; + pixel_y = 14 + }, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = -13; + pixel_y = 11 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"qP" = ( +/obj/structure/catwalk/over, +/obj/machinery/light/directional/west, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"qQ" = ( +/obj/machinery/button/door{ + dir = 1; + pixel_y = 11; + pixel_x = -10; + name = "port shutter"; + id = "h1" + }, +/obj/machinery/button/shieldwallgen{ + dir = 1; + pixel_y = 12; + pixel_x = -1; + id = "h1s" + }, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/icemoon/tesla_lab/haymaker) +"qR" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/radio/intercom/directional/west{ + frequency = 1473 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"qS" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/sign/warning/gasmask{ + pixel_x = 28 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lobby) +"qZ" = ( +/obj/effect/turf_decal/trimline/opaque/orange/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"re" = ( +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"rg" = ( +/obj/structure/sign/clip{ + pixel_y = 28 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/mine/directional/claymore/live{ + pixel_y = 3 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"rj" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 4 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"rk" = ( +/obj/structure/flora/grass/green, +/obj/item/ammo_casing/spent/slug/buck, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"rn" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"ro" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/grunge{ + name = "Chamber Access" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"rp" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/obj/effect/decal/cleanable/garbage{ + pixel_y = 9; + pixel_x = 3 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/concrete/pavement/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"rt" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"ru" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken, +/turf/open/floor/plasteel/freezer, +/area/ruin/icemoon/tesla_lab/lobby) +"rw" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"rz" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/dorms) +"rA" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/office_two) +"rB" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood{ + dir = 4; + icon_state = "gib3" + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/industrial{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"rC" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 8 + }, +/area/ruin/icemoon/tesla_lab/haymaker) +"rD" = ( +/obj/machinery/holopad/secure, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/wood/icemoon, +/area/ruin/icemoon/tesla_lab/office) +"rE" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"rG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/freezer, +/area/ruin/icemoon/tesla_lab/lobby) +"rI" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/machinery/door/airlock/grunge{ + dir = 4; + req_access = list(19); + name = "Office" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/office) +"rJ" = ( +/obj/structure/catwalk/over, +/obj/structure/platform/industrial{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"rK" = ( +/obj/machinery/modular_computer/console/preset/engineering{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/engineering) +"rL" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/spawner/random/trash/garbage, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"rM" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/lobby) +"rO" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/armory) +"rQ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"rT" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"rX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/dorms) +"sd" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"se" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer2, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"sf" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/junction/yjunction, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/item/stack/ore/slag{ + pixel_y = 4 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"si" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/purple/line, +/obj/item/radio/intercom/directional/south{ + frequency = 1473 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"sj" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/industrial/hatch/blue, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"sl" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/mob_spawn/human/corpse/clip/vc, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"sp" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/item/wrench{ + pixel_y = 4; + pixel_x = -5 + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"st" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"sv" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"sw" = ( +/obj/machinery/porta_turret/ship/frontiersmen/light{ + dir = 10; + id = "haymaker"; + lethal = 1; + faction = list("Frontiersmen") + }, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/icemoon/tesla_lab/haymaker) +"sx" = ( +/obj/structure/table, +/obj/item/folder/blue{ + pixel_y = 8; + pixel_x = -5 + }, +/obj/item/folder/blue{ + pixel_y = 0; + pixel_x = 3 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/newscaster/directional/west, +/obj/item/spacecash/bundle/smallrand{ + pixel_x = -4; + pixel_y = -2 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/office_two) +"sF" = ( +/obj/machinery/porta_turret/ship/frontiersmen/light{ + dir = 9; + id = "haymaker"; + lethal = 1; + faction = list("Frontiersmen") + }, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/icemoon/tesla_lab/haymaker) +"sJ" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"sO" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/machinery/light/directional/north, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"sR" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"sT" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"sX" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/icemoon/tesla_lab/haymaker) +"sZ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/squirt, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"tb" = ( +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456; + dir = 1 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 5 + }, +/obj/item/radio/intercom/directional/east, +/obj/item/clothing/under/clip{ + pixel_x = 6; + pixel_y = 7 + }, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 21; + pixel_y = -15; + id = "tl2"; + name = "Warehouse Doors" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"td" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/haymaker) +"tg" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/platform/industrial{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"ti" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/squirt, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"tn" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"tp" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/structure/disposalpipe/junction, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"tq" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/platform/industrial{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"tu" = ( +/obj/structure/catwalk/over, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"tw" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"tB" = ( +/obj/structure/platform/industrial, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/structure/platform/industrial/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"tC" = ( +/obj/structure/sign/poster/contraband/kudzu{ + pixel_y = -30 + }, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"tG" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"tK" = ( +/obj/structure/flippedtable{ + dir = 8 + }, +/obj/item/reagent_containers/pill/morphine{ + pixel_y = 12 + }, +/obj/item/reagent_containers/pill/morphine{ + pixel_y = -3; + pixel_x = -5 + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/armory) +"tM" = ( +/obj/structure/platform/industrial/corner{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"tP" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"tQ" = ( +/obj/effect/decal/cleanable/ash/large, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"tR" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"tS" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/armory) +"tU" = ( +/obj/structure/flippedtable{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"tZ" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/melee/sword/mass, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"ua" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Lobby Office" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lobby) +"ud" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/squirt, +/obj/item/gun/ballistic/automatic/smg/pounder{ + spawn_no_ammo = 1; + pixel_y = 9 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"ue" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "tl6"; + dir = 2; + pixel_y = 0 + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/lobby) +"ug" = ( +/obj/effect/turf_decal/trimline/opaque/mauve/warning{ + dir = 5 + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lab_a) +"uk" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"un" = ( +/obj/structure/flora/grass/green, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"uo" = ( +/obj/effect/turf_decal/rechargefloor, +/obj/structure/platform/industrial, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"uq" = ( +/obj/machinery/conveyor{ + id = "tlb"; + dir = 4 + }, +/obj/structure/platform/ship_four, +/obj/effect/spawner/random/trash/crushed_can, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"ur" = ( +/obj/structure/platform/industrial{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"us" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"uv" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/engineering) +"uw" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 6 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"uy" = ( +/obj/item/mine/directional/claymore/live{ + dir = 4; + pixel_x = 19 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/purple/filled/warning{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_y = -8; + pixel_x = -7 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"uz" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"uC" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/item/radio/intercom/wideband/table{ + dir = 1; + pixel_y = 2 + }, +/obj/machinery/newscaster/directional/north, +/obj/item/radio/weather_monitor{ + pixel_y = 7; + pixel_x = 14 + }, +/turf/open/floor/wood/icemoon, +/area/ruin/icemoon/tesla_lab/office) +"uD" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/cargo) +"uE" = ( +/obj/structure/dresser, +/obj/item/clothing/under/clip/formal{ + pixel_y = 7; + pixel_x = 8 + }, +/obj/item/clothing/under/clip/formal{ + pixel_y = 4; + pixel_x = -6 + }, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"uG" = ( +/obj/structure/flora/rock/icy, +/turf/open/floor/plating/asteroid/snow/lit, +/area/overmap_encounter/planetoid/ice/explored) +"uH" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"uI" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"uJ" = ( +/obj/structure/platform/industrial/corner{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/squirt, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/squirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"uO" = ( +/obj/effect/turf_decal/industrial/loading{ + icon_state = "loadingarea_stripes"; + dir = 1 + }, +/obj/structure/closet/crate/engineering, +/obj/item/stack/sheet/plasteel/twenty, +/obj/item/stack/sheet/plasteel/twenty, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"uP" = ( +/turf/template_noop, +/area/template_noop) +"uQ" = ( +/obj/structure/curtain, +/obj/machinery/shower{ + dir = 8 + }, +/obj/structure/window, +/obj/structure/window{ + dir = 1 + }, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/dorms) +"uT" = ( +/obj/structure/rack, +/obj/item/weldingtool/largetank, +/obj/item/clothing/head/welding{ + pixel_x = 4; + pixel_y = 4 + }, +/turf/open/floor/concrete/pavement/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"uU" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"uV" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"uX" = ( +/obj/structure/guncloset, +/obj/effect/turf_decal/trimline/transparent/blue/filled, +/obj/item/gun/ballistic/automatic/pistol/cm23/no_mag, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/armory) +"uY" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 10 + }, +/obj/effect/spawner/random/trash/food_packaging, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"uZ" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/grunge{ + dir = 2; + name = "Lobby Office" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"vc" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"vf" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/door/poddoor{ + id = "tl1" + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "tls" + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"vi" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/obj/item/reagent_containers/pill/paxpsych{ + pixel_y = 11; + pixel_x = -4 + }, +/obj/item/reagent_containers/pill/paxpsych{ + pixel_y = 0; + pixel_x = 2 + }, +/obj/item/reagent_containers/pill/psicodine{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/clothing/gloves/color/latex{ + pixel_y = 3; + pixel_x = 9 + }, +/obj/item/reagent_containers/pill/iron{ + pixel_x = -4; + pixel_y = -3 + }, +/obj/item/reagent_containers/pill/iron{ + pixel_x = 3; + pixel_y = 10 + }, +/obj/item/reagent_containers/pill/lsdpsych{ + pixel_y = 5; + pixel_x = -5 + }, +/obj/item/reagent_containers/pill/trophazole{ + pixel_x = 11; + pixel_y = -10 + }, +/obj/item/reagent_containers/syringe/contraband/bath_salts{ + pixel_y = 13; + pixel_x = 6 + }, +/obj/item/reagent_containers/hypospray/medipen/survival{ + pixel_y = -12; + pixel_x = -4 + }, +/obj/item/reagent_containers/pill/floorpill{ + pixel_x = -7; + pixel_y = 9 + }, +/turf/open/floor/plasteel/white, +/area/ruin/icemoon/tesla_lab/medbay) +"vj" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 6 + }, +/obj/item/kirbyplants{ + icon_state = "plant-21"; + pixel_x = 7; + pixel_y = 3 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"vk" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"vl" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame, +/obj/item/pickaxe, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"vn" = ( +/obj/structure/mecha_wreckage/ripley/clip, +/obj/effect/turf_decal/corner_steel_grid/diagonal{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid/diagonal, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"vr" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/grunge{ + name = "Dorm"; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"vs" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"vt" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/engineering) +"vu" = ( +/obj/effect/turf_decal/minutemen/edge{ + dir = 8 + }, +/obj/item/pen/fourcolor{ + pixel_y = 7; + pixel_x = -7 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"vy" = ( +/obj/item/kirbyplants{ + icon_state = "plant-18"; + pixel_y = 20; + pixel_x = -13 + }, +/obj/structure/chair, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"vB" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/mapping_helpers/turf/burnt, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"vF" = ( +/obj/structure/chair/bench/blue{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 10 + }, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/office) +"vO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/south, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"vP" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/firealarm/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"vS" = ( +/obj/item/ammo_casing/spent/pistol_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"vV" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"vW" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"vX" = ( +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456; + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/caution, +/obj/machinery/door/poddoor{ + id = "tl1" + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "tls" + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"vY" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor2" + }, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/dorms) +"vZ" = ( +/obj/structure/flora/grass/green, +/obj/item/mine/directional/claymore/live, +/turf/open/floor/plating/asteroid/snow/lit, +/area/overmap_encounter/planetoid/ice/explored) +"wa" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"wc" = ( +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"we" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lobby) +"wf" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 8 + }, +/obj/item/radio/intercom/directional/north{ + frequency = 1473 + }, +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/armory) +"wi" = ( +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/splatter, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 1 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"wq" = ( +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/obj/item/pen/fountain{ + pixel_y = -2; + pixel_x = 6 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"wr" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/obj/structure/closet/crate/engineering, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/glass/twenty, +/obj/item/stack/sheet/mineral/plastitanium/fifty, +/obj/item/stack/sheet/mineral/plastitanium/fifty, +/obj/item/stack/sheet/plasmarglass/fifty, +/obj/machinery/light/directional/west, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"wt" = ( +/obj/effect/turf_decal/industrial/warning/corner, +/obj/structure/platform/industrial/corner{ + dir = 1 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"wx" = ( +/obj/effect/spawner/bunk_bed, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"wA" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/human/frontier, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lobby) +"wD" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/item/shard{ + pixel_x = 5 + }, +/obj/item/reagent_containers/pill/potassiodide{ + pixel_y = 7; + pixel_x = -5 + }, +/obj/machinery/reagentgrinder{ + pixel_y = 7; + pixel_x = 3 + }, +/obj/item/reagent_containers/hypospray/medipen/morphine{ + pixel_x = -6; + pixel_y = -4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/icemoon/tesla_lab/medbay) +"wE" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor{ + dir = 4; + id = "h4" + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/haymaker) +"wG" = ( +/obj/effect/mapping_helpers/turf/burnt, +/obj/machinery/door/firedoor/heavy/closed, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"wH" = ( +/obj/machinery/smartfridge, +/turf/open/floor/plasteel/freezer, +/area/ruin/icemoon/tesla_lab/lobby) +"wI" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/splatter/over_window{ + pixel_x = -29 + }, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "bubblegumfoot" + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/mapping_helpers/turf/burnt, +/obj/item/broken_bottle{ + pixel_x = -14; + pixel_y = 0 + }, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = 4; + pixel_y = -9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"wJ" = ( +/obj/item/radio/intercom/directional/west{ + frequency = 1473 + }, +/obj/structure/chair/comfy/grey/old/alt/directional/east, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"wL" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"wO" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/effect/decal/cleanable/glass/plasma, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"wT" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"wU" = ( +/obj/item/mine/directional/claymore/live, +/obj/effect/turf_decal/trimline/opaque/purple/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"wV" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/grunge{ + dir = 2; + req_access = list(19); + name = "Recycling" + }, +/obj/effect/mapping_helpers/airlock/sealed, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"wY" = ( +/obj/structure/cable/yellow, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/computer/monitor{ + dir = 1 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/engineering) +"xa" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "gibmid3" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/central_hall) +"xc" = ( +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"xe" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor{ + id = "tl_rd"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/office_two) +"xf" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/blood/splatter, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"xk" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/ruin/icemoon/tesla_lab/haymaker) +"xl" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"xm" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"xp" = ( +/obj/item/ammo_casing/spent/slug/buck, +/obj/structure/sign/clip{ + pixel_y = 28 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"xq" = ( +/obj/machinery/light/directional/north, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/haymaker) +"xr" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/food/flour, +/turf/open/floor/plasteel/freezer, +/area/ruin/icemoon/tesla_lab/lobby) +"xt" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "gib3"; + dir = 1; + pixel_x = 5 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/engineering) +"xy" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "guy"; + pixel_y = -7; + pixel_x = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"xA" = ( +/obj/effect/decal/cleanable/ash/large, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"xB" = ( +/obj/structure/flippedtable{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/multitool/old{ + name = "computer stick"; + desc = "Probably does something to computers. I mean. Come on. It looks fancy" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lab_a) +"xD" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/mob_spawn/human/corpse/frontier, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"xF" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"xG" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"xH" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/door/window{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"xK" = ( +/obj/effect/decal/cleanable/food/flour, +/obj/structure/table, +/obj/machinery/reagentgrinder{ + pixel_y = 14 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/icemoon/tesla_lab/lobby) +"xL" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/structure/platform/industrial/corner, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"xQ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"xU" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 5; + pixel_y = -1 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"xW" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"xY" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/squirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"ya" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/concrete/pavement/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"yc" = ( +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/asteroid/snow/lit, +/area/overmap_encounter/planetoid/ice/explored) +"yf" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "gibdown1" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/engineering) +"yp" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/modular_computer/console/preset/civilian{ + pixel_y = 0; + dir = 4 + }, +/obj/item/radio/intercom/directional/north{ + frequency = 1473 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/office_two) +"yq" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/heavy/closed{ + welded = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"ys" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"yt" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/squirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"yz" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"yB" = ( +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"yC" = ( +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/clothing/head/helmet/space/syndicate/blue, +/obj/item/clothing/suit/space/syndicate/blue, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/engineering) +"yD" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"yE" = ( +/obj/effect/spawner/random/vending/snack, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/lab_halls) +"yF" = ( +/obj/machinery/disposal/bin, +/obj/machinery/light/directional/south, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/dorms) +"yH" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "floor1" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/cargo) +"yJ" = ( +/obj/machinery/power/tesla_coil/power{ + anchored = 1 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull, +/area/ruin/icemoon/tesla_lab/engineering) +"yP" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"yR" = ( +/obj/structure/table/wood, +/obj/machinery/newscaster/directional/west, +/obj/item/storage/backpack/security/clip{ + pixel_y = 5; + pixel_x = 5 + }, +/obj/item/storage/backpack/security/clip{ + pixel_y = -3; + pixel_x = -5 + }, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"yT" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"yV" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 4 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"yY" = ( +/obj/effect/spawner/random/trash/food_packaging{ + pixel_x = 7 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"zd" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"ze" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/defibrillator_mount/loaded{ + pixel_y = -25 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/haymaker) +"zf" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"zh" = ( +/obj/item/mecha_parts/mecha_equipment/salvage_saw, +/obj/effect/turf_decal/industrial/warning/corner, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"zi" = ( +/obj/structure/filingcabinet/double/grey{ + dir = 4; + pixel_x = -9 + }, +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 10 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"zj" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/ruin/icemoon/tesla_lab/haymaker) +"zk" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 9 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/squirt, +/obj/item/ammo_casing/spent/slug/buck, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"zl" = ( +/obj/effect/turf_decal/minutemen/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/office_two) +"zp" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/shutters{ + id = "tl4" + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"zr" = ( +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456; + dir = 1 + }, +/obj/structure/poddoor_assembly, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/cargo) +"zw" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 5 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/blood/squirt, +/obj/effect/decal/cleanable/shreds{ + pixel_y = 9 + }, +/obj/effect/spawner/random/trash/mess, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"zx" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"zz" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"zA" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"zE" = ( +/obj/structure/platform/industrial, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/cave/explored) +"zN" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge{ + name = "Janitorial" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"zP" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = -8; + pixel_y = -8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"zR" = ( +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/ice/explored) +"zT" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/deliveryChute{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/lab_halls) +"zU" = ( +/obj/machinery/telecomms/relay/preset/minutemen, +/obj/structure/window/reinforced/survival_pod{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/door/window/brigdoor/southleft{ + req_access_txt = "3" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lab_a) +"zV" = ( +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 9 + }, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/haymaker) +"zX" = ( +/obj/machinery/door/poddoor{ + id = "h1" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "h1s" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/icemoon/tesla_lab/haymaker) +"zY" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/platform/industrial/corner{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"Aa" = ( +/obj/machinery/door/poddoor{ + id = "h2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "h2s" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/icemoon/tesla_lab/haymaker) +"Ab" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Ae" = ( +/turf/closed/mineral/random/snow, +/area/template_noop) +"Ai" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 4 + }, +/obj/item/stack/ore/salvage/scrapmetal/five{ + pixel_x = -1; + pixel_y = 12 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Aj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"Al" = ( +/obj/structure/railing, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/structure/flippedtable, +/obj/effect/mapping_helpers/turf/burnt, +/obj/item/gun/ballistic/automatic/pistol/cm23/no_mag{ + pixel_x = -8; + pixel_y = 9 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/cargo) +"Av" = ( +/obj/machinery/door/firedoor/heavy, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/squirt, +/obj/structure/disposalpipe/segment, +/obj/structure/barricade/sandbags, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Aw" = ( +/obj/structure/rack, +/obj/item/clothing/suit/armor/vest/bulletproof{ + pixel_y = 10; + pixel_x = 6 + }, +/obj/item/clothing/head/helmet/bulletproof/x11/clip{ + pixel_y = 1; + pixel_x = -7 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/armory) +"Ax" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/filingcabinet/double/grey, +/obj/machinery/light/directional/north, +/obj/item/documents, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"Ay" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 4 + }, +/obj/item/stack/ore/salvage/scraptitanium{ + pixel_y = 14 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"AA" = ( +/obj/structure/flora/grass/green, +/obj/item/mine/directional/claymore/live{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/snow/lit, +/area/overmap_encounter/planetoid/ice/explored) +"AB" = ( +/obj/effect/turf_decal/trimline/opaque/purple/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"AC" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals/neutered, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"AD" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 10 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/haymaker) +"AE" = ( +/obj/machinery/power/floodlight, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/industrial/warning/full, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/concrete/slab_1, +/area/overmap_encounter/planetoid/ice/explored) +"AJ" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/mob_spawn/human/corpse/clip/researcher, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"AK" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"AL" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/armory) +"AN" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "gib3"; + dir = 1; + pixel_x = 5 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/dorms) +"AQ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/item/gun/energy/kalix/clip{ + pixel_x = -2; + pixel_y = 14 + }, +/obj/machinery/light/broken/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/office) +"AS" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/catwalk/over, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"AT" = ( +/obj/machinery/conveyor{ + id = "tlb"; + dir = 4 + }, +/obj/structure/platform/ship_four, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/trash/crushed_can, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"AX" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/squirt, +/obj/item/radio/intercom/directional/west{ + frequency = 1473 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"AY" = ( +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"AZ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"Bb" = ( +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/structure/closet/body_bag, +/obj/machinery/light/directional/east, +/obj/effect/mob_spawn/human/corpse/frontier, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/haymaker) +"Bd" = ( +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456; + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Bf" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"Bg" = ( +/obj/structure/sink{ + dir = 8; + pixel_y = 5; + pixel_x = 14 + }, +/obj/structure/mirror{ + pixel_y = 7; + pixel_x = 24 + }, +/obj/item/reagent_containers/pill/morphine{ + pixel_x = 15; + pixel_y = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/gibspawner/human/bodypartless, +/obj/effect/decal/cleanable/blood/innards, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Bi" = ( +/obj/structure/flora/grass/green, +/turf/open/floor/plating/asteroid/snow/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Bo" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"Bq" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"Bs" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/splatter, +/obj/effect/mapping_helpers/turf/burnt, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Bu" = ( +/obj/effect/turf_decal/rechargefloor, +/obj/structure/mecha_wreckage/ripley/clip, +/obj/structure/platform/industrial, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"Bw" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/splatter, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"By" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/ash, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = 2; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"BB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north{ + frequency = 1473 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = -21 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"BC" = ( +/obj/machinery/autolathe, +/obj/machinery/light/directional/north, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/engineering) +"BD" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"BE" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 4 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/ash{ + pixel_x = 9; + pixel_y = -5 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -8; + pixel_y = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"BF" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/heavy/closed{ + welded = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"BG" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/squirt, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"BP" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 10 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"BQ" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Engineering" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"BR" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/blood/drip, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = -8; + pixel_y = 7 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"BT" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/armory) +"BW" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/chair/office, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"BZ" = ( +/obj/effect/turf_decal/minutemen/edge{ + dir = 4 + }, +/obj/item/paper/crumpled{ + pixel_y = 2; + pixel_x = 3 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"Cb" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"Cd" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/sign/poster/rilena/random{ + pixel_y = 30 + }, +/obj/structure/sign/poster/contraband/backdoor_xeno_babes_6{ + pixel_x = 28 + }, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"Ci" = ( +/obj/structure/flippedtable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"Cl" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 10 + }, +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"Cm" = ( +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456; + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Cy" = ( +/obj/effect/turf_decal/atmos/air{ + dir = 1 + }, +/turf/open/floor/engine/air, +/area/ruin/icemoon/tesla_lab/engineering) +"CB" = ( +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/structure/railing{ + dir = 1; + layer = 2.89 + }, +/obj/structure/closet/body_bag, +/obj/effect/mob_spawn/human/corpse/frontier, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/haymaker) +"CE" = ( +/turf/open/floor/engine/hull, +/area/ruin/icemoon/tesla_lab/engineering) +"CI" = ( +/obj/item/ammo_casing/spent/slug/buck, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"CK" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/engineering) +"CN" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"CO" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/noticeboard{ + dir = 2; + pixel_y = 25 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"CP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/fluff/paper/stack{ + pixel_y = -10; + pixel_x = 7 + }, +/obj/structure/fluff/paper/stack{ + pixel_y = 6; + pixel_x = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"CR" = ( +/obj/effect/turf_decal/industrial/stand_clear/white{ + dir = 8 + }, +/obj/item/paper/crumpled, +/obj/item/paper/crumpled{ + pixel_y = 2; + pixel_x = 3 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"CW" = ( +/obj/structure/table, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/engineering) +"CX" = ( +/obj/item/chair, +/obj/effect/turf_decal/trimline/opaque/mauve/warning{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lab_a) +"Df" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/item/clothing/head/helmet/bulletproof/m10/clip_vc{ + pixel_y = 8; + pixel_x = -8 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/item/paper/crumpled{ + pixel_x = 13; + pixel_y = -6 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"Dj" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/slab_1/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Dk" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"Dm" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Specimen Observation" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"Dn" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/item/paper_bin{ + pixel_y = -1; + pixel_x = 6 + }, +/obj/item/pen/fourcolor{ + pixel_y = 0; + pixel_x = 3 + }, +/obj/item/stamp/clip{ + pixel_x = -5; + pixel_y = 6 + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"Do" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"Dp" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/squirt, +/obj/item/stack/ore/salvage/scraptitanium{ + pixel_y = -9; + pixel_x = 6 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Dt" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"Dv" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "skull"; + pixel_y = 8; + pixel_x = -4 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "danger"; + pixel_y = 26; + pixel_x = -10 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"DF" = ( +/obj/structure/fluff/paper/stack{ + pixel_y = 2 + }, +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"DI" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -22; + pixel_x = 8; + name = "shutter control"; + id = "tl6" + }, +/turf/open/floor/wood/icemoon, +/area/ruin/icemoon/tesla_lab/office) +"DJ" = ( +/obj/effect/turf_decal/trimline/opaque/purple/line, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"DK" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 8 + }, +/area/ruin/icemoon/tesla_lab/containment) +"DL" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/squirt, +/obj/effect/decal/cleanable/blood/squirt, +/obj/structure/platform/industrial{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"DN" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"DO" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/arrow_cw{ + dir = 8 + }, +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"DZ" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "floor4" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/armory) +"Ea" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Ed" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/obj/machinery/light/directional/east, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/engineering) +"Eg" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Eh" = ( +/obj/structure/catwalk/over, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/directional/east, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"Ek" = ( +/obj/machinery/door/firedoor/heavy, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 5 + }, +/obj/structure/closet/emcloset/wall/directional/west{ + populate = 0 + }, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Em" = ( +/obj/machinery/light/directional/west, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"Er" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"Es" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Et" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/ammo_casing/spent/slug/buck, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"Ey" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"Ez" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"EA" = ( +/obj/structure/platform/industrial{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"EB" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/trimline/opaque/orange/line{ + dir = 9 + }, +/obj/item/radio/intercom/directional/north{ + frequency = 1473 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"EC" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/grunge{ + name = "Bathroom"; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"EG" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"EI" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "tactical chair" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/haymaker) +"EN" = ( +/obj/machinery/door/firedoor/heavy, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/stack/rods{ + pixel_x = 11; + pixel_y = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"EO" = ( +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 5 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"EV" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/newscaster/directional/north, +/obj/effect/spawner/random/trash/grime, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/engineering) +"EW" = ( +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "danger"; + pixel_y = 11; + pixel_x = 6 + }, +/turf/open/floor/plating/asteroid/snow/lit, +/area/overmap_encounter/planetoid/ice/explored) +"EX" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/office) +"Fa" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/ruin{ + pixel_y = 5 + }, +/obj/machinery/light/broken/directional/north, +/turf/open/floor/wood/icemoon, +/area/ruin/icemoon/tesla_lab/office) +"Fb" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + pixel_y = 0; + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"Ff" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"Fg" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/box, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"Fh" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"Fi" = ( +/obj/structure/flippedtable{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"Fl" = ( +/obj/effect/spawner/bunk_bed{ + dir = 1 + }, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"Fq" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/structure/platform/industrial/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"Fv" = ( +/turf/open/floor/plating/asteroid/snow/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Fw" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor1" + }, +/obj/item/paper/crumpled{ + pixel_y = 8; + pixel_x = 9 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"Fx" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/structure/platform/industrial/corner{ + dir = 4 + }, +/obj/structure/platform/industrial/corner, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor1" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"Fz" = ( +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/effect/turf_decal/corner/transparent/blue/border{ + dir = 6 + }, +/obj/structure/curtain, +/turf/open/floor/plasteel/mono/white, +/area/ruin/icemoon/tesla_lab/medbay) +"FB" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/junction/flip, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/shreds, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"FD" = ( +/obj/effect/turf_decal/trimline/opaque/mauve/warning{ + dir = 9 + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lab_a) +"FE" = ( +/obj/structure/flora/tree/pine, +/turf/open/floor/plating/asteroid/snow/lit, +/area/overmap_encounter/planetoid/ice/explored) +"FG" = ( +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 1 + }, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = 6; + pixel_y = 9 + }, +/obj/item/radio/intercom/directional/north{ + frequency = 1473 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/item/gun/ballistic/automatic/hmg/cm40{ + pixel_x = -13; + pixel_y = -13 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"FH" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/containment) +"FJ" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"FL" = ( +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"FM" = ( +/obj/structure/platform/industrial{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_y = -15; + pixel_x = -11 + }, +/obj/item/paper/crumpled{ + pixel_x = -6; + pixel_y = -2 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"FN" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/sign/poster/clip/random{ + pixel_x = 28 + }, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"FQ" = ( +/obj/structure/chair/office/purple{ + pixel_x = 1; + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/mob_spawn/human/corpse/clip/researcher, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/office_two) +"FU" = ( +/obj/machinery/recycler{ + layer = 3.07 + }, +/obj/machinery/conveyor{ + id = "tlb"; + dir = 4 + }, +/obj/effect/turf_decal/industrial, +/obj/structure/platform/ship_four, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"FV" = ( +/obj/item/clothing/head/helmet/bulletproof/m10/clip_vc{ + pixel_y = 1; + pixel_x = 5 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"FW" = ( +/obj/structure/flora/grass/green, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"FX" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"FY" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/sign/warning/gasmask{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lobby) +"FZ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/photocopier, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/containment) +"Gb" = ( +/obj/structure/floodlight_frame, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Gf" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Gg" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"Gh" = ( +/obj/structure/table/wood, +/obj/item/paper_bin/bundlenatural{ + pixel_x = -3; + pixel_y = 6 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"Gi" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge{ + dir = 2; + name = "Crawlspace" + }, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"Gk" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/concrete/pavement/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Gl" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, +/obj/machinery/atmospherics/components/binary/valve/digital/layer4, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"Go" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/office) +"Gq" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/on/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/closet/emcloset/wall/directional/east{ + populate = 0 + }, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/clothing/mask/gas/clip, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lobby) +"Gv" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "w"; + pixel_x = -12; + pixel_y = 10 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "l"; + pixel_y = 7 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "i"; + pixel_x = 7; + pixel_y = 9 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "n"; + pixel_x = 16; + pixel_y = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Gw" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/blood/splatter, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"Gz" = ( +/obj/effect/turf_decal/minutemen/edge{ + dir = 1 + }, +/obj/effect/gibspawner/human/bodypartless, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"GB" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"GC" = ( +/obj/machinery/conveyor{ + id = "tlb"; + dir = 4 + }, +/obj/structure/platform/ship_four/corner, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/spawner/random/trash/crushed_can, +/obj/effect/spawner/random/trash/crushed_can{ + pixel_y = 4; + pixel_x = 9 + }, +/obj/effect/spawner/random/trash/crushed_can{ + pixel_y = 9; + pixel_x = -4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"GD" = ( +/obj/effect/mob_spawn/human/corpse, +/obj/structure/bonfire/prelit, +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"GK" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"GM" = ( +/obj/structure/chair{ + dir = 4; + pixel_x = -7 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor1" + }, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/dorms) +"GP" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/lab_halls) +"GT" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/squirt, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"GU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/junction{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"GY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/grunge{ + name = "Dorm"; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"GZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"Ha" = ( +/obj/structure/mirror{ + pixel_y = 28 + }, +/obj/structure/sink{ + pixel_y = 15 + }, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/dorms) +"Hb" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/haymaker) +"Hc" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/ash, +/obj/item/radio/intercom/directional/west{ + frequency = 1473 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"He" = ( +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-left" + }, +/obj/machinery/button/door{ + pixel_y = 22; + pixel_x = -7; + id = "h4"; + name = "fore window shutter" + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/haymaker) +"Hf" = ( +/obj/effect/turf_decal/industrial/warning/cee{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"Hg" = ( +/obj/effect/turf_decal/industrial/stand_clear/white{ + dir = 8 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"Hj" = ( +/obj/structure/catwalk/over, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"Hl" = ( +/obj/machinery/recharge_station, +/obj/structure/sign/poster/contraband/gec{ + pixel_y = 30 + }, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"Hm" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 4 + }, +/area/ruin/icemoon/tesla_lab/engineering) +"Hq" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/item/radio/intercom/directional/east{ + frequency = 1473 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Hs" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"Ht" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 2 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/haymaker) +"Hv" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, +/obj/structure/platform/industrial{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"HA" = ( +/obj/structure/rack, +/obj/item/shovel{ + pixel_x = 4; + pixel_y = -4 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"HC" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/engineering) +"HG" = ( +/obj/structure/closet/crate/rations{ + opened = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"HI" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"HJ" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 23; + pixel_y = -8; + id = "tl2"; + name = "Warehouse Doors" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"HL" = ( +/obj/effect/turf_decal/trimline/opaque/mauve/warning{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lab_a) +"HO" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 1 + }, +/area/ruin/icemoon/tesla_lab/cargo) +"HQ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 9 + }, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"HT" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor6" + }, +/obj/item/clothing/under/clip/medic{ + pixel_x = -11; + pixel_y = -10 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/white, +/area/ruin/icemoon/tesla_lab/medbay) +"HU" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"HV" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/structure/sink/chem, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/obj/structure/mirror{ + pixel_x = 26; + pixel_y = 2 + }, +/obj/item/desk_flag/trans{ + pixel_x = 13; + pixel_y = 15 + }, +/obj/item/reagent_containers/pill/floorpill{ + pixel_x = 8; + pixel_y = -6 + }, +/obj/item/reagent_containers/pill/iron{ + pixel_x = -1; + pixel_y = -2 + }, +/obj/item/reagent_containers/pill/salbutamol{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/reagent_containers/pill/lsdpsych{ + pixel_y = 12; + pixel_x = -6 + }, +/obj/item/reagent_containers/pill/mutadone{ + pixel_y = 14; + pixel_x = 3 + }, +/obj/item/reagent_containers/pill/zoom{ + pixel_x = -8; + pixel_y = -8 + }, +/obj/item/reagent_containers/syringe/contraband/space_drugs{ + pixel_y = 9; + pixel_x = -2 + }, +/turf/open/floor/plasteel/white, +/area/ruin/icemoon/tesla_lab/medbay) +"HW" = ( +/obj/machinery/light/directional/north, +/obj/structure/sink/kitchen{ + pixel_y = 15 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/icemoon/tesla_lab/lobby) +"HX" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"Ic" = ( +/obj/effect/turf_decal/trimline/opaque/purple/filled/warning{ + dir = 10 + }, +/obj/structure/cable/yellow, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"Ii" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 4 + }, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"In" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/concrete/slab_1/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Io" = ( +/obj/structure/dresser, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"Ir" = ( +/obj/item/shard, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Is" = ( +/obj/structure/chair, +/mob/living/simple_animal/hostile/human/frontier/ranged/officer, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lobby) +"It" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/item/broken_bottle{ + pixel_x = 4; + pixel_y = 10 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 4 + }, +/obj/item/shard{ + pixel_y = -10; + pixel_x = -4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Iw" = ( +/obj/machinery/light/directional/west, +/turf/open/floor/engine/hull, +/area/ruin/icemoon/tesla_lab/engineering) +"Iz" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"ID" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "gib5"; + dir = 8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/engineering) +"IF" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"IG" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/cabinet/oneshot{ + dir = 4; + pixel_y = 0; + pixel_x = -24 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/armory) +"IH" = ( +/obj/structure/flippedtable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1; + welded = 1 + }, +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"II" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"IL" = ( +/obj/structure/rack, +/obj/effect/turf_decal/trimline/transparent/blue/filled, +/obj/item/mine/directional/claymore, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/armory) +"IQ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"IS" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"IU" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/grunge{ + name = "Dorm"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock_note_placer{ + note_info = "I swear to god if you don't clean this shit I'm gonna kill you" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"IY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/wood/icemoon, +/area/ruin/icemoon/tesla_lab/office) +"IZ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 6 + }, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = 9; + pixel_y = 5 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Ja" = ( +/obj/effect/turf_decal/industrial, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/containment) +"Jb" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Je" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "gib3"; + dir = 1; + pixel_x = 5 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/central_hall) +"Jg" = ( +/obj/item/ration_heater{ + uses = 1 + }, +/obj/item/reagent_containers/pill/psicodine{ + pixel_x = -4; + pixel_y = -4 + }, +/obj/item/tape/random/preset/tesla_lab/two{ + pixel_x = -6; + pixel_y = -5 + }, +/obj/item/trash/chips{ + pixel_x = 2; + pixel_y = 4 + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/armory) +"Jn" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Jr" = ( +/obj/item/stack/sheet/mineral/sandbags, +/turf/open/floor/plating/asteroid/snow/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Jx" = ( +/obj/structure/catwalk/over, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/structure/platform/industrial{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"Jy" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south{ + frequency = 1473 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Jz" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/platform/industrial/corner, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"JB" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/radio/intercom/directional/north{ + frequency = 1473 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"JF" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"JH" = ( +/obj/structure/table/optable, +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/effect/mob_spawn/human/corpse/frontier, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor4" + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/icemoon/tesla_lab/medbay) +"JL" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/dorms) +"JM" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/structure/platform/industrial, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 4 + }, +/area/ruin/icemoon/tesla_lab/cargo) +"JN" = ( +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456; + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/caution, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor{ + id = "tl1" + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 5 + }, +/obj/effect/decal/cleanable/blood/squirt, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "tls" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"JU" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/ash, +/obj/item/stack/rods{ + pixel_x = 11; + pixel_y = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"JW" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"JY" = ( +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"Ka" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"Kb" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/dorms) +"Kc" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Ke" = ( +/obj/structure/table/wood, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"Kl" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"Km" = ( +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/dorms) +"Kp" = ( +/obj/structure/platform/industrial/corner{ + dir = 1 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Kq" = ( +/obj/structure/platform/industrial/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Kr" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/filingcabinet/double/grey, +/obj/item/taperecorder, +/obj/item/tape/random, +/obj/item/tape/random, +/obj/item/tape/random, +/obj/item/tape/random, +/obj/item/tape/random, +/obj/item/tape/random, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"Kx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"KA" = ( +/obj/machinery/door/firedoor/heavy/closed{ + welded = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"KC" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/drip, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/melee/knife/survival{ + pixel_x = -15; + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"KD" = ( +/obj/structure/sign/painting{ + pixel_x = -26 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"KE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/newscaster/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"KF" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/dorms) +"KI" = ( +/obj/structure/chair/office{ + dir = 4; + pixel_y = 4; + pixel_x = -4 + }, +/obj/effect/mapping_helpers/chair/tim_buckley, +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/mob_spawn/human/corpse/clip/minuteman, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"KM" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"KN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"KP" = ( +/obj/structure/flora/grass/green, +/obj/item/mine/directional/claymore/live, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"KQ" = ( +/obj/item/paper{ + pixel_x = -4; + pixel_y = 7 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/item/stack/ore/salvage/scrapmetal, +/obj/structure/chair/office{ + dir = 4; + pixel_y = -3; + pixel_x = 6 + }, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"KR" = ( +/obj/item/ammo_casing/spent/slug/buck, +/obj/structure/flora/rock/pile/icy, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"KV" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/fluff/paper/stack{ + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"Lc" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Medical Bay" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/medbay) +"Le" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"Lg" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Lj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"Ln" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals{ + shoot_point_blank = 1; + minimum_distance = 1 + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/ice/explored) +"Lp" = ( +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456; + dir = 1 + }, +/obj/machinery/door/poddoor/preopen{ + id = "tl2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/cargo) +"Ls" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/item/broken_bottle{ + pixel_x = -14; + pixel_y = 0 + }, +/obj/item/radio/intercom/directional/west{ + frequency = 1473 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"Lv" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/obj/structure/window/plasma/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "h3" + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/haymaker) +"Lx" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"Ly" = ( +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"LA" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"LB" = ( +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/wood/corner, +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 4 + }, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/office) +"LC" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"LE" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/haymaker) +"LF" = ( +/obj/machinery/light/directional/north, +/obj/structure/chair{ + pixel_y = 14 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/icemoon/tesla_lab/lobby) +"LL" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"LP" = ( +/obj/effect/turf_decal/trimline/opaque/purple/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/mob_spawn/human/corpse/clip/researcher, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"LR" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Design Lab" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_a) +"LY" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/engineering) +"Me" = ( +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lobby) +"Mj" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Ml" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/door/airlock/external, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lobby) +"Mo" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"Mp" = ( +/obj/effect/turf_decal/siding/white/corner, +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/item/reagent_containers/pill/psicodine{ + pixel_x = 4; + pixel_y = -7 + }, +/turf/open/floor/plasteel/white, +/area/ruin/icemoon/tesla_lab/medbay) +"Mq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/minutemen/edge{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/office_two) +"Ms" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"Mt" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Mu" = ( +/obj/structure/rack, +/obj/item/tape/random/preset/tesla_lab/one{ + pixel_y = 6; + pixel_x = 4 + }, +/obj/item/taperecorder/empty{ + pixel_x = -6; + pixel_y = -6 + }, +/obj/item/trash/pistachios{ + pixel_x = 7; + pixel_y = -6 + }, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/armory) +"Mx" = ( +/obj/structure/dresser, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 9 + }, +/obj/item/storage/backpack/satchel/sec/clip{ + pixel_y = 8; + pixel_x = -6 + }, +/obj/item/toy/plush/goatplushie{ + pixel_y = 11; + pixel_x = 6 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/office) +"ME" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/containment) +"MG" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "tl6" + }, +/obj/machinery/door/firedoor/heavy/closed, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/office) +"MI" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west{ + frequency = 1473 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"MK" = ( +/obj/structure/sink{ + pixel_y = 19; + pixel_x = 7 + }, +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/white, +/area/ruin/icemoon/tesla_lab/medbay) +"ML" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 1 + }, +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"MM" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/heavy/closed{ + welded = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"MO" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner_steel_grid/full, +/obj/machinery/fax/ruin{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/cargo) +"MR" = ( +/obj/machinery/computer/station_alert{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/engineering) +"MT" = ( +/obj/structure/fluff/paper/stack{ + pixel_y = 6; + pixel_x = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"MV" = ( +/obj/effect/turf_decal/industrial, +/turf/open/floor/engine/hull, +/area/ruin/icemoon/tesla_lab/engineering) +"Nc" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/slab_1/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Nf" = ( +/obj/effect/decal/cleanable/blood/squirt{ + dir = 4 + }, +/obj/machinery/door/firedoor/heavy/closed{ + welded = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Nh" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 10 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"Nl" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Nm" = ( +/obj/structure/platform/industrial, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "gib5"; + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"Np" = ( +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 8 + }, +/obj/item/storage/box/ammo/c9mm_hp{ + pixel_y = 8; + pixel_x = 3 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/haymaker) +"Nq" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "gibdown1" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/medbay) +"Nr" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/item/kirbyplants{ + icon_state = "plant-10"; + pixel_x = 12; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Ns" = ( +/obj/structure/closet/l3closet/janitor, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Nu" = ( +/obj/structure/table, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/modular_computer/laptop/preset/civilian/rilena{ + pixel_x = 2; + pixel_y = 9 + }, +/obj/effect/spawner/random/trash/food_packaging{ + pixel_y = 2; + pixel_x = -7 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"NB" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge{ + dir = 2; + req_access = list(19); + name = "Office" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/office) +"ND" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/platform/industrial/corner, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"NG" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"NK" = ( +/obj/machinery/pipedispenser, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"NN" = ( +/obj/structure/chair{ + pixel_y = 11; + pixel_x = 4 + }, +/obj/item/radio/intercom/directional/north{ + frequency = 1473 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"NP" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/photocopier, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"NR" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central5{ + dir = 1 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/haymaker) +"NW" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/autolathe, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/haymaker) +"NY" = ( +/obj/machinery/door/firedoor/heavy, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"NZ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"Oa" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Ob" = ( +/obj/structure/window/reinforced/survival_pod{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/door/window/brigdoor/southleft{ + req_access_txt = "3" + }, +/obj/machinery/ntnet_relay, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lab_a) +"Oc" = ( +/obj/structure/platform/industrial{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"Og" = ( +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "tl6" + }, +/obj/machinery/door/firedoor/heavy/closed, +/obj/structure/window/plasma/fulltile, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/office) +"Oh" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Oi" = ( +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"Ok" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/blood/squirt, +/obj/effect/decal/cleanable/shreds, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Om" = ( +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"On" = ( +/turf/open/floor/concrete/pavement, +/area/ruin/icemoon/tesla_lab/turrets) +"Oo" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"Or" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "tlb"; + pixel_y = 3; + pixel_x = -12 + }, +/obj/item/radio/intercom/directional/south{ + frequency = 1473 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Os" = ( +/obj/machinery/blackbox_recorder{ + empty = 1 + }, +/obj/item/radio/intercom/directional/north{ + frequency = 1473 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/door/window/brigdoor/southleft{ + req_access_txt = "3" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lab_a) +"Ox" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/trimline/opaque/orange/line{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"Oy" = ( +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/cave/explored) +"OA" = ( +/obj/effect/mob_spawn/human/corpse/clip/researcher, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"OB" = ( +/obj/effect/turf_decal/minutemen/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/office_two) +"OD" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/structure/platform/industrial/corner{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"OF" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"OH" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/blood/footprints, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/armory) +"OJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/door/airlock/external, +/obj/item/ammo_casing/spent/slug/buck, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lobby) +"OR" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor1" + }, +/obj/item/stack/cable_coil/cut/random, +/obj/effect/decal/cleanable/vomit{ + pixel_x = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"OT" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/vending/snack, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/lobby) +"OU" = ( +/obj/structure/dresser, +/obj/item/clothing/under/clip/formal/alt{ + pixel_y = 11; + pixel_x = -6 + }, +/obj/item/clothing/under/clip/formal/alt{ + pixel_y = 6; + pixel_x = 7 + }, +/obj/item/clothing/head/beret{ + pixel_y = 16; + pixel_x = 8 + }, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"OV" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/snacks/soup/mushroom{ + pixel_y = 11; + pixel_x = 4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/filled/soda{ + pixel_y = 7; + pixel_x = -7 + }, +/obj/item/reagent_containers/food/snacks/bbqribs{ + pixel_x = -3; + pixel_y = -5 + }, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lobby) +"OX" = ( +/obj/machinery/blackbox_recorder{ + name = "Backup Blackbox Recorder"; + desc = "Some kind of machine backup." + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/armory) +"OY" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"OZ" = ( +/obj/structure/table/wood, +/obj/structure/sign/poster/clip/random{ + pixel_y = -31 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"Pa" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"Pb" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/item/chair{ + pixel_y = 8; + pixel_x = -5 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Pd" = ( +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "danger"; + pixel_y = 11; + pixel_x = 6 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Pe" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + id = "h1" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "h1s" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/icemoon/tesla_lab/haymaker) +"Pf" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"Pg" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Pj" = ( +/obj/structure/dresser, +/obj/structure/sign/painting{ + pixel_y = 26 + }, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"Pl" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 1 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals{ + shoot_point_blank = 1; + minimum_distance = 1 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 8; + pixel_x = 6 + }, +/obj/effect/spawner/random/trash/grime, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Pm" = ( +/obj/machinery/power/smes/engineering, +/obj/machinery/power/terminal, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 6; + pixel_x = -22; + name = "engine shutters"; + id = "h3" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/haymaker) +"Pn" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/structure/platform/industrial{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Pr" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"Pu" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/squirt, +/obj/item/stack/ore/salvage/scraptitanium{ + pixel_y = -3; + pixel_x = 11 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Pw" = ( +/obj/structure/table, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"Py" = ( +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "danger"; + pixel_y = 15; + pixel_x = -10 + }, +/obj/structure/flora/ausbushes/ppflowers, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"PA" = ( +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/structure/curtain, +/obj/effect/turf_decal/corner/transparent/blue/border{ + dir = 10 + }, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plasteel/mono/white, +/area/ruin/icemoon/tesla_lab/medbay) +"PB" = ( +/obj/structure/table, +/obj/item/desk_flag/trans{ + pixel_y = 22; + pixel_x = -16 + }, +/obj/item/reagent_containers/food/snacks/taco/plain{ + pixel_y = 12; + pixel_x = 5 + }, +/obj/item/reagent_containers/food/snacks/taco/plain{ + pixel_y = 4; + pixel_x = 5 + }, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lobby) +"PE" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/item/ammo_casing/spent/slug/buck, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals{ + shoot_point_blank = 1; + minimum_distance = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"PF" = ( +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "danger"; + pixel_y = 15; + pixel_x = -10 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"PH" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/concrete/slab_1, +/area/ruin/icemoon/tesla_lab/turrets) +"PI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"PL" = ( +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "guy"; + pixel_y = -16; + pixel_x = -6 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/lab_halls) +"PM" = ( +/obj/effect/gibspawner/human/bodypartless, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/dorms) +"PP" = ( +/obj/effect/turf_decal/industrial/stand_clear/white{ + dir = 4 + }, +/obj/item/paper/crumpled{ + pixel_y = 11; + pixel_x = -5 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"PR" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"PT" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"PV" = ( +/obj/machinery/door/firedoor/heavy, +/obj/item/shard, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"PW" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/structure/closet/crate/rations, +/obj/machinery/light/directional/west, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"PY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"PZ" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Qb" = ( +/obj/item/stack/sheet/mineral/sandbags, +/turf/open/floor/concrete/slab_1, +/area/ruin/icemoon/tesla_lab/turrets) +"Qg" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Ql" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/effect/spawner/random/trash/grime, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Qo" = ( +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/effect/turf_decal/industrial, +/obj/structure/platform/ship_four{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Qp" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/engineering) +"Qs" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"Qx" = ( +/obj/structure/flora/grass/green, +/obj/item/mine/directional/claymore/live{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Qz" = ( +/obj/effect/turf_decal/trimline/opaque/purple/line, +/obj/effect/mapping_helpers/turf/burnt, +/obj/structure/table, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"QE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/south, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"QG" = ( +/obj/effect/turf_decal/trimline/opaque/orange/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/item/radio/intercom/directional/east{ + frequency = 1473 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"QI" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"QL" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/table/reinforced, +/obj/item/clothing/glasses/science{ + pixel_y = 12; + pixel_x = 4 + }, +/obj/item/clothing/mask/gas/clip{ + pixel_x = -5 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/containment) +"QM" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"QN" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/fluff/paper/stack, +/obj/structure/fluff/paper/stack{ + pixel_y = 6; + pixel_x = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"QO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/holopad/secure, +/obj/effect/turf_decal/minutemen/middle, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/office_two) +"QT" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/chair{ + dir = 8; + pixel_y = 9; + pixel_x = 8 + }, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor1" + }, +/obj/effect/spawner/random/trash/food_packaging{ + pixel_x = 8 + }, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/dorms) +"QX" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/door/airlock/external, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lobby) +"QY" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge{ + dir = 2; + name = "Crawlspace" + }, +/obj/effect/mapping_helpers/airlock/welded, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"Rb" = ( +/obj/structure/toilet{ + pixel_y = 9 + }, +/obj/structure/curtain, +/obj/structure/window{ + dir = 4 + }, +/obj/structure/window{ + dir = 8 + }, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/dorms) +"Rf" = ( +/obj/structure/table, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/paper_bin{ + pixel_y = 9; + pixel_x = 3 + }, +/obj/item/pen/fourcolor{ + pixel_y = 11; + pixel_x = 3 + }, +/obj/item/stamp/clip{ + pixel_x = -9; + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"Rl" = ( +/obj/structure/platform/industrial{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Rn" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Ro" = ( +/obj/structure/flora/rock/icy, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Rp" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 4 + }, +/obj/item/stack/cable_coil/cut/random, +/obj/machinery/light/directional/north, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals/neutered, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Rs" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/table/reinforced, +/obj/item/binoculars, +/obj/effect/decal/cleanable/glass, +/obj/effect/spawner/random/trash/food_packaging{ + pixel_y = 8; + pixel_x = -7 + }, +/turf/open/floor/wood/icemoon, +/area/ruin/icemoon/tesla_lab/office) +"Rt" = ( +/obj/structure/sink{ + dir = 8; + pixel_y = 5; + pixel_x = 14 + }, +/obj/structure/mirror{ + pixel_y = 7; + pixel_x = 24 + }, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/lab_halls) +"RA" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "tl6"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/lobby) +"RB" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/containment) +"RC" = ( +/turf/open/floor/concrete/slab_1, +/area/ruin/icemoon/tesla_lab/turrets) +"RF" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"RG" = ( +/obj/structure/catwalk/over, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/radio/intercom/directional/north{ + frequency = 1473 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"RH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/structure/platform/industrial{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"RJ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 4 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"RK" = ( +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 9 + }, +/obj/item/clothing/head/bio_hood/scientist, +/obj/item/clothing/suit/bio_suit/scientist, +/obj/item/clothing/glasses/science{ + pixel_y = 12; + pixel_x = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/rack, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"RL" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/splatter, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"RM" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/item/ammo_box/magazine/cm23/empty{ + pixel_y = 11; + pixel_x = -11 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/bodypart/l_arm/kepori{ + pixel_x = -6; + pixel_y = -8 + }, +/obj/item/clothing/head/flatcap/clip{ + pixel_x = -20; + pixel_y = 11 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"RO" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/junction/yjunction{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/item/stack/cable_coil/cut/random, +/obj/effect/mapping_helpers/turf/burnt, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"RQ" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "tl7" + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/containment) +"RS" = ( +/obj/machinery/porta_turret/ship/frontiersmen{ + dir = 6; + id = "haymaker"; + lethal = 1; + faction = list("Frontiersmen") + }, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/icemoon/tesla_lab/haymaker) +"RT" = ( +/obj/effect/turf_decal/trimline/opaque/purple/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"RU" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"RV" = ( +/obj/effect/turf_decal/industrial/stand_clear/white{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"RW" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/ash/large, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"RZ" = ( +/obj/machinery/porta_turret/ship/frontiersmen{ + dir = 5; + id = "haymaker"; + lethal = 1; + faction = list("Frontiersmen") + }, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/icemoon/tesla_lab/haymaker) +"Sd" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 9 + }, +/obj/item/shard, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Sf" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Sh" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/lab_a) +"Si" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mob_spawn/human/corpse/clip/researcher, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Sj" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Sm" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8; + welded = 1 + }, +/obj/effect/turf_decal/trimline/opaque/mauve/warning{ + dir = 6 + }, +/obj/structure/chair/office{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lab_a) +"Sn" = ( +/obj/structure/closet/crate/engineering, +/obj/item/stack/sheet/mineral/sandbags{ + amount = 22 + }, +/obj/item/radio/intercom/directional/south{ + frequency = 1473 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Sr" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"St" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"Sv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"Sw" = ( +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/structure/closet/crate/freezer, +/obj/item/clothing/mask/breath/medical{ + pixel_y = -12; + pixel_x = 6 + }, +/obj/item/tank/internals/anesthetic{ + pixel_x = 12 + }, +/obj/item/storage/firstaid/regular{ + pixel_y = 8; + pixel_x = -8 + }, +/obj/item/storage/box/masks{ + pixel_y = -5; + pixel_x = -12 + }, +/obj/item/storage/box/gloves{ + pixel_x = -10; + pixel_y = 2 + }, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/random, +/turf/open/floor/plasteel/mono/white, +/area/ruin/icemoon/tesla_lab/medbay) +"SB" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 5 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = 7; + pixel_y = 14 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"SD" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "tl6" + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/lobby) +"SG" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"SI" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "shotgun"; + pixel_y = -6; + pixel_x = -8 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "skull"; + pixel_y = 8; + pixel_x = -4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"SK" = ( +/turf/closed/mineral/random/snow, +/area/overmap_encounter/planetoid/cave/explored) +"SM" = ( +/obj/structure/sign/clip{ + pixel_y = 28 + }, +/obj/item/mine/directional/claymore/live{ + pixel_y = 3 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"SN" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/valve/digital/on, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"SO" = ( +/obj/structure/frame/machine, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/obj/effect/turf_decal/industrial/hatch/blue, +/obj/structure/railing/corner, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"SP" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lobby) +"SQ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF3333"; + icon_state = "skull"; + pixel_y = -6; + pixel_x = -4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"SR" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/wood/icemoon, +/area/ruin/icemoon/tesla_lab/office) +"SS" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/spawner/random/trash/grime, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/engineering) +"ST" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"SX" = ( +/obj/structure/cable/yellow, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/power/smes/engineering, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/engineering) +"SZ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Te" = ( +/obj/structure/rack, +/obj/item/storage/box/ammo/a762_40{ + pixel_y = -3; + pixel_x = -4 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/armory) +"Ti" = ( +/obj/effect/turf_decal/trimline/opaque/purple/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"Tl" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"To" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"Tq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"Tr" = ( +/obj/machinery/holopad/secure, +/obj/structure/cable{ + icon_state = "1-8" + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/officer/internals, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/haymaker) +"Ts" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/platform/industrial{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Tt" = ( +/obj/machinery/atmospherics/components/binary/valve/digital/on, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/engineering) +"TB" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"TC" = ( +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/decal/cleanable/chem_pile{ + pixel_x = -5; + pixel_y = -6 + }, +/obj/effect/decal/cleanable/chem_pile, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"TD" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/item/shard{ + pixel_x = -7; + pixel_y = 7 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"TE" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/dorms) +"TF" = ( +/obj/machinery/door/firedoor/heavy, +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/ash/large{ + pixel_y = 6; + pixel_x = 5 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/internals/neutered, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"TH" = ( +/obj/structure/flora/grass/green, +/obj/structure/flora/rock/icy, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"TI" = ( +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "gib4"; + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"TJ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/modular_computer/console/preset/civilian{ + pixel_y = 0; + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/containment) +"TK" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/containment) +"TM" = ( +/obj/structure/flora/ausbushes/ppflowers, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"TQ" = ( +/obj/structure/dresser, +/obj/item/desk_flag/trans{ + pixel_y = 15; + pixel_x = -8 + }, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"TS" = ( +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"TT" = ( +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456; + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"TU" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/item/shard{ + pixel_y = -4; + pixel_x = 4 + }, +/obj/structure/platform/industrial{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"TW" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 + }, +/obj/structure/railing, +/obj/item/radio/intercom/directional/east{ + frequency = 1473 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/cargo) +"TZ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"Ua" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "gib4"; + dir = 4 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Ud" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/obj/structure/platform/industrial, +/obj/structure/platform/industrial{ + dir = 1 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 4 + }, +/area/ruin/icemoon/tesla_lab/cargo) +"Ue" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/splatter, +/obj/item/stack/ore/salvage/scrapmetal/five{ + pixel_x = -1; + pixel_y = -5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Ui" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/ash, +/obj/item/broken_missile{ + pixel_y = 6 + }, +/obj/item/stack/ore/slag{ + pixel_y = 15; + pixel_x = -14 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Um" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor2" + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/anomaly/transfusion/planetary, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"Uo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/food/flour, +/turf/open/floor/plasteel/freezer, +/area/ruin/icemoon/tesla_lab/lobby) +"Us" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/armory) +"Ut" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/rack, +/obj/item/storage/box/emptysandbags{ + pixel_x = -5; + pixel_y = -4 + }, +/obj/item/storage/box/emptysandbags{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/item/shovel{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/haymaker) +"Ux" = ( +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/dorms) +"Uy" = ( +/obj/machinery/button/door{ + dir = 2; + pixel_y = -10; + pixel_x = -10; + name = "starboard shutter"; + id = "h2" + }, +/obj/machinery/button/shieldwallgen{ + dir = 2; + pixel_y = -11; + id = "h2s" + }, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ruin/icemoon/tesla_lab/haymaker) +"UG" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "floor5" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/office_two) +"UK" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/spawner/random/trash/grime, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"UM" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/squirt, +/obj/item/ammo_casing/spent/slug/buck, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"UN" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 8 + }, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/containment) +"US" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"UT" = ( +/obj/item/clothing/under/clip/formal{ + pixel_x = -6; + pixel_y = -6 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"UU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/anomaly/tvstatic/planetary, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"UX" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/food/snacks/yakiimo{ + pixel_x = -3; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/snacks/bbqribs{ + pixel_x = -3; + pixel_y = 21 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/filled/soda{ + pixel_y = 14; + pixel_x = -4 + }, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lobby) +"Vd" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Ve" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/wood/icemoon, +/area/ruin/icemoon/tesla_lab/office) +"Vf" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/structure/closet/crate, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/glass/twenty, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/haymaker) +"Vi" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/machinery/door/airlock/grunge{ + req_access = list(3); + dir = 2; + name = "Armory" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/footprints, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/armory) +"Vj" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/shoal_punch, +/obj/item/reagent_containers/food/drinks/soda_cans/shoal_punch, +/obj/item/reagent_containers/food/drinks/soda_cans/crosstalk, +/obj/item/reagent_containers/food/drinks/soda_cans/crosstalk, +/obj/item/reagent_containers/food/drinks/soda_cans/cola, +/obj/item/reagent_containers/food/drinks/soda_cans/cola, +/obj/item/reagent_containers/food/drinks/soda_cans/cola, +/obj/item/reagent_containers/food/drinks/soda_cans/tonic, +/obj/item/reagent_containers/food/drinks/soda_cans/tonic, +/obj/item/reagent_containers/food/drinks/soda_cans/tonic, +/obj/item/reagent_containers/food/drinks/soda_cans/vimukti, +/obj/item/reagent_containers/food/drinks/soda_cans/vimukti, +/turf/open/floor/plasteel/freezer, +/area/ruin/icemoon/tesla_lab/lobby) +"Vn" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"Vo" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/engineering) +"Vz" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"VD" = ( +/obj/effect/turf_decal/minutemen/edge{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/office_two) +"VN" = ( +/obj/structure/toilet{ + dir = 8; + pixel_x = 8; + pixel_y = 6 + }, +/obj/structure/door_assembly/door_assembly_hatch, +/obj/effect/decal/cleanable/blood/squirt, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"VP" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + pixel_y = 0; + dir = 8 + }, +/obj/item/weldingtool/largetank{ + pixel_y = -5; + pixel_x = -7 + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/engineering) +"VR" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/structure/closet/crate/rations{ + opened = 1 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"VU" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"VV" = ( +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"VW" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/lab_halls) +"VY" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"Wa" = ( +/obj/structure/platform/industrial/corner{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Wd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/purple/filled/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"Wf" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/box, +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"Wh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"Wi" = ( +/obj/machinery/computer/mecha{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/railing, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/cargo) +"Wj" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Wk" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + id = "h2" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "h2s" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/icemoon/tesla_lab/haymaker) +"Wp" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Wr" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"Wx" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals{ + shoot_point_blank = 1; + minimum_distance = 1 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 8 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"Wz" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"WB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"WD" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"WG" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/spawner/random/trash/grime, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"WI" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 9; + pixel_x = 3 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/pen/fourcolor{ + pixel_y = 11; + pixel_x = 3 + }, +/obj/item/desynchronizer/tvstatic{ + pixel_x = -5; + pixel_y = 0 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/office_two) +"WJ" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/snow/lit, +/area/overmap_encounter/planetoid/cave/explored) +"WN" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"WO" = ( +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 1 + }, +/obj/structure/filingcabinet/double{ + pixel_y = 22; + density = 0 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/containment) +"WR" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"Xi" = ( +/obj/effect/spawner/random/vending/cola, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Xj" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Xl" = ( +/obj/structure/flora/rock/pile/icy, +/turf/open/floor/plating/asteroid/snow/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Xo" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/table, +/obj/item/paper_bin{ + total_paper = 17; + pixel_x = 3; + pixel_y = 2 + }, +/obj/item/pen/blue, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lab_a) +"Xp" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer2{ + dir = 1 + }, +/turf/open/floor/engine/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"Xr" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/effect/decal/cleanable/glass/plasma, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Xs" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 8 + }, +/obj/effect/mob_spawn/human/corpse/frontier, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"Xt" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Xu" = ( +/obj/effect/turf_decal/industrial/stand_clear, +/turf/open/floor/engine/hull/interior, +/area/ruin/icemoon/tesla_lab/containment) +"Xx" = ( +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"XA" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/lab_halls) +"XB" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"XF" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"XH" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"XI" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"XK" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "gib6" + }, +/obj/structure/closet/body_bag, +/obj/effect/mob_spawn/human/corpse/frontier, +/obj/item/reagent_containers/pill/potassiodide, +/turf/open/floor/plasteel/white, +/area/ruin/icemoon/tesla_lab/medbay) +"XO" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"XR" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "floor5" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/engineering) +"XV" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/turf/open/floor/plasteel/grimy, +/area/ruin/icemoon/tesla_lab/dorms) +"XW" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "splatter2" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/medbay) +"XX" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/blood/tracks, +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/ash/large, +/obj/effect/decal/cleanable/ash/large, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Yc" = ( +/obj/machinery/door/firedoor/heavy/closed{ + welded = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Yf" = ( +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "gibbearcore" + }, +/obj/effect/decal/cleanable/blood/splatter/over_window{ + icon_state = "gibmid1" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/engineering) +"Yh" = ( +/obj/structure/flippedtable, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"Yk" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/armory) +"Yn" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = 5; + pixel_y = -13 + }, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = 2; + pixel_y = 6 + }, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = -19; + pixel_y = -7 + }, +/obj/machinery/newscaster/directional/east, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Yp" = ( +/obj/structure/flippedtable{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/lab_a) +"Yq" = ( +/obj/structure/flora/tree/pine{ + icon_state = "tree_stump" + }, +/turf/open/floor/plating/asteroid/snow/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Ys" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"Yt" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"Yu" = ( +/obj/structure/filingcabinet/double/grey{ + dir = 1; + pixel_y = -3 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/documents, +/obj/machinery/light/directional/east, +/obj/item/folder/blue{ + pixel_y = 0; + pixel_x = 3 + }, +/obj/item/folder/blue{ + pixel_y = 0; + pixel_x = 3 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/icemoon/tesla_lab/office_two) +"Yw" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/structure/platform/industrial/corner{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"YA" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lobby) +"YB" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 5 + }, +/obj/effect/mapping_helpers/turf/burnt, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/dorms) +"YC" = ( +/obj/structure/rack, +/obj/item/towel{ + pixel_x = -4; + pixel_y = 7 + }, +/obj/item/towel{ + pixel_x = 4 + }, +/turf/open/floor/plastic, +/area/ruin/icemoon/tesla_lab/dorms) +"YD" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/concrete/pavement/icemoon/lit, +/area/overmap_encounter/planetoid/ice/explored) +"YF" = ( +/obj/structure/platform/industrial, +/obj/item/ammo_casing/spent/slug/buck, +/turf/open/floor/plating/asteroid/icerock/lit, +/area/overmap_encounter/planetoid/ice/explored) +"YI" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"YJ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/containment) +"YQ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/structure/table, +/obj/item/grenade/frag{ + pixel_x = -7 + }, +/obj/item/toy/crayon/spraycan{ + pixel_y = 8; + pixel_x = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"YS" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/shreds, +/obj/structure/flippedtable, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"YT" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/squirt{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"YV" = ( +/obj/machinery/porta_turret/ship/frontiersmen/light{ + dir = 2; + reqpower = 0; + faction = list("Frontiersmen") + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/icemoon/tesla_lab/turrets) +"YY" = ( +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 1 + }, +/obj/structure/table, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/item/stamp/clip{ + pixel_x = -13; + pixel_y = 8 + }, +/obj/machinery/light/directional/north, +/obj/item/documents{ + pixel_y = 8; + pixel_x = -1 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"YZ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Za" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"Zb" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/obj/effect/turf_decal/industrial/hatch/blue, +/obj/structure/railing/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"Zc" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Zd" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/item/spacecash/bundle/mediumrand, +/obj/item/spacecash/bundle/mediumrand, +/obj/structure/filingcabinet/double{ + dir = 8; + pixel_x = 8 + }, +/obj/item/ammo_box/magazine/m9mm_mauler, +/obj/item/ammo_box/magazine/m9mm_mauler, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/icemoon/tesla_lab/haymaker) +"Zi" = ( +/obj/item/ammo_casing/spent/slug/buck, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/bench/blue/directional/west, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) +"Zk" = ( +/obj/structure/catwalk/over, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plating/airless, +/area/ruin/icemoon/tesla_lab/engineering) +"Zl" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/item/stack/ore/slag{ + pixel_y = 5 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/spawner/random/trash/food_packaging{ + pixel_y = 10; + pixel_x = -3 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/lab_halls) +"Zm" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/engineering) +"Zq" = ( +/obj/structure/platform/industrial{ + dir = 1 + }, +/obj/item/clipboard{ + pixel_y = -2; + pixel_x = 9 + }, +/obj/item/paper/crumpled{ + pixel_y = 2; + pixel_x = 3 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/icemoon/tesla_lab/cargo) +"Zr" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/wood/cee{ + dir = 4 + }, +/obj/item/desk_flag/trans{ + pixel_y = 9; + pixel_x = 10 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/blue, +/area/ruin/icemoon/tesla_lab/office) +"Zv" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/squirt, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = -13; + pixel_y = -15 + }, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = 4; + pixel_y = -9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Zw" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/central_hall) +"Zx" = ( +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/structure/closet/crate/freezer/blood{ + populate = 0 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/white, +/area/ruin/icemoon/tesla_lab/medbay) +"Zz" = ( +/obj/effect/turf_decal/minutemen/edge{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/office_two) +"ZA" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/item/stack/ore/salvage/scrapmetal{ + pixel_x = -9; + pixel_y = 5 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/dark, +/area/ruin/icemoon/tesla_lab/cargo_hall) +"ZB" = ( +/obj/structure/grille, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/icemoon/tesla_lab/engineering) +"ZC" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/industrial/hatch/blue, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/pod/dark, +/area/ruin/icemoon/tesla_lab/cargo) +"ZF" = ( +/obj/structure/filingcabinet/double/grey{ + dir = 4; + pixel_x = -9 + }, +/obj/effect/turf_decal/trimline/opaque/purple/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/turf/burnt, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/chem_pile, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"ZJ" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/tesla_lab, +/area/ruin/icemoon/tesla_lab/lab_a) +"ZW" = ( +/obj/structure/filingcabinet/double/grey{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/wood, +/area/ruin/icemoon/tesla_lab/lobby) + +(1,1,1) = {" +uP +uP +uP +uP +cM +TM +cM +SK +SK +SK +SK +Bi +Bi +Fv +Fv +Fv +Fv +Fv +Fv +Fv +Bi +Bi +Bi +Bi +Fv +Fv +Fv +Fv +Fv +Fv +SK +SK +SK +SK +SK +SK +Fv +Fv +Fv +Fv +Fv +Fv +Fv +Fv +Fv +Bi +AA +Bi +EW +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +"} +(2,1,1) = {" +uP +uP +cM +cM +cM +cM +cM +SK +SK +SK +SK +SK +Bi +Bi +SK +SK +SK +SK +Bi +Bi +Bi +AA +Bi +SK +SK +SK +SK +SK +SK +Fv +SK +SK +SK +SK +SK +SK +SK +Xl +Fv +Bi +Bi +PH +PH +PH +Bi +Bi +SK +Bi +Fv +cM +cM +cM +cM +cM +uP +uP +uP +uP +uP +uP +uP +"} +(3,1,1) = {" +uP +uP +TM +TM +cM +cM +cM +cM +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +WJ +SK +SK +SK +SK +SK +SK +SK +SK +Fv +FE +Bi +PH +ab +PH +Fv +Xl +SK +SK +Fv +Fv +jA +cM +cM +TM +cM +uP +uP +uP +uP +uP +uP +"} +(4,1,1) = {" +uP +cM +cM +cM +cM +cM +cM +TM +cM +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +nQ +Qp +Kb +Kb +Kb +Kb +Kb +Kb +Kb +SK +SK +Fv +Fv +uG +Fv +Fv +Fv +SK +SK +SK +SK +Fv +TH +Qx +un +cM +cM +uP +uP +uP +uP +uP +uP +"} +(5,1,1) = {" +uP +uP +uP +Ae +SK +TM +cM +cM +Ln +SK +SK +SK +SK +SK +SK +SK +nQ +nQ +nQ +nQ +nQ +nQ +nQ +nQ +nQ +nQ +nQ +nQ +nQ +ZB +Kb +KF +GM +hu +XV +Kb +Kb +Kb +Kb +Kb +Kb +Kb +Kb +Kb +Kb +Kb +Kb +Kb +SK +Fv +Pd +cM +un +cM +cM +cM +uP +uP +uP +uP +uP +"} +(6,1,1) = {" +uP +uP +uP +SK +SK +SK +cM +cM +pC +pC +SK +Sh +Sh +Sh +Sh +SK +nQ +Fg +NZ +NZ +Gi +Zm +HX +rT +QY +IQ +AZ +oR +oP +eP +Kb +TE +vY +JL +jk +Kb +Pj +wJ +Ke +Kb +uE +wJ +yR +Kb +hJ +bX +Gh +Kb +Fv +Fv +PH +PH +cM +cM +cM +TM +cM +uP +uP +uP +uP +"} +(7,1,1) = {" +uP +uP +SK +SK +SK +SK +SK +gf +pC +vl +fu +Sh +lv +Cl +Sh +Sh +nQ +mw +NZ +nQ +nQ +lb +ix +em +nQ +nQ +dq +Kb +Kb +pu +Kb +Kb +QT +Er +uY +Kb +wx +os +Ux +Kb +FN +os +Ux +Kb +Cd +os +tC +Kb +Fv +Fv +jM +PH +Pd +TM +cM +cM +uP +uP +uP +uP +uP +"} +(8,1,1) = {" +uP +SK +SK +SK +SK +SK +SK +pC +pC +fu +fu +Sh +YY +eU +IH +eC +nQ +kp +NZ +nQ +St +Gl +sp +cG +pq +nQ +nQ +Kb +Rb +Km +Km +Kb +Kb +aS +bd +Kb +AN +Kb +vr +Kb +Kb +Kb +vr +Kb +Kb +AN +IU +Kb +Kb +Fv +PH +PH +cM +TM +TM +cM +cM +uP +uP +uP +uP +"} +(9,1,1) = {" +uP +SK +SK +SK +SK +SK +SK +SK +pC +Sh +Sh +Sh +TC +UU +Yh +wU +ie +NZ +NZ +nQ +xG +wL +FJ +uv +HC +se +Xp +Kb +Rb +Km +PM +yF +Kb +CO +Xs +rL +NY +jV +YB +HI +PT +zf +zf +zf +nt +sZ +sZ +dL +AN +Fv +Fv +Fv +cM +cM +Ro +un +un +cM +uP +uP +uP +"} +(10,1,1) = {" +uP +SK +SK +SK +SK +SK +SK +SK +SK +Sh +SK +Sh +cd +Wd +Ci +re +nQ +dq +zz +nQ +Wf +Fb +SN +LY +vt +Za +Cy +Kb +Ha +Km +rX +kO +pz +ud +ti +BG +jb +Um +IF +vB +Le +xD +Dt +uI +pB +km +aK +tP +Kb +Fv +Fv +Fv +cM +un +cM +cM +cM +cM +uP +uP +uP +"} +(11,1,1) = {" +uP +SK +SK +SK +SK +SK +SK +Sh +Sh +Sh +Sh +Sh +Sh +LR +Sh +Sh +nQ +nQ +dq +nQ +cn +BP +sT +Tt +VP +XB +cP +Kb +jg +iN +eI +rz +Kb +JB +RU +Kb +Kb +Kb +GY +Kb +Kb +ac +GY +AN +Kb +Kb +GY +ac +Kb +SK +Fv +Fv +jA +KP +cM +cM +cM +cM +cM +uP +uP +"} +(12,1,1) = {" +uP +SK +SK +SK +SK +SK +Sh +Sh +xB +Yp +Sh +JY +KI +AB +fM +ZF +zi +nQ +nQ +nQ +nQ +nQ +Hj +tu +Ed +nQ +nQ +Kb +Kb +uQ +YC +uQ +Kb +mC +Fh +Kb +Fl +Em +Ux +Kb +Hl +Em +Ux +Kb +Fl +Em +Ux +Kb +SK +SK +Xl +uG +cM +un +cM +cM +jA +cM +cM +uP +uP +"} +(13,1,1) = {" +uP +uP +SK +SK +SK +SK +Sh +zU +FD +CX +Sh +FG +Vn +Bw +lQ +Dk +LP +Nh +Sh +cW +CW +nQ +nQ +oe +nQ +nQ +nQ +SK +Kb +Kb +Kb +Kb +Kb +dE +To +Kb +OU +kG +lU +Kb +TQ +kG +OZ +Kb +Io +kG +lU +Kb +SK +SK +SK +cM +Pd +cM +cM +cM +cM +Qx +Ro +uP +uP +"} +(14,1,1) = {" +uP +uP +SK +SK +SK +SK +Sh +Os +HL +iK +gx +Ti +ZJ +Kx +hh +MT +xc +DJ +Sh +EV +aM +nQ +ji +nu +Gg +qP +nQ +nQ +nQ +Iw +CE +Iw +nQ +yq +KA +Kb +Kb +Kb +Kb +Kb +Kb +Kb +Kb +Kb +Kb +Kb +Kb +Kb +SK +SK +SK +cM +PH +PH +cM +cM +TM +un +cM +uP +uP +"} +(15,1,1) = {" +uP +uP +uP +SK +SK +SK +Sh +Ob +ug +Sm +Sh +mh +Fi +OA +mG +me +KQ +Qz +Sh +wa +vs +nQ +RG +CK +SX +kR +nQ +nL +go +kl +vk +Ka +nQ +Dv +SQ +rM +rM +rM +mH +Rf +NP +sR +rM +WB +KE +KD +ZW +rM +SK +SK +SK +cM +RC +PH +Pd +cM +TM +un +un +uP +uP +"} +(16,1,1) = {" +uP +uP +uP +SK +SK +SK +Sh +Sh +Xo +lJ +Sh +EO +uy +tU +kV +DF +Ii +uw +Sh +DN +Oo +fb +XI +SX +Vo +Gg +nQ +BB +nQ +BD +AK +BD +nQ +Sr +Qg +vc +qR +rM +Nu +QN +KV +Lx +rM +Lj +QM +tR +mq +rM +rM +rM +SK +cM +PH +PH +cM +TM +TM +cM +cM +uP +uP +"} +(17,1,1) = {" +uP +uP +SK +SK +SK +SK +SK +Sh +Sh +Sh +Sh +Sh +gL +Sh +Sh +Sh +Sh +Sh +Sh +pT +SS +nQ +ah +AS +OY +Eh +dv +qC +nQ +bP +qy +FX +nQ +xy +NG +YZ +nw +rM +Ax +hg +CP +GU +uZ +Tq +Dn +xH +Pw +oj +GZ +rM +SK +cM +cM +cM +CI +CI +un +cM +cM +uP +uP +"} +(18,1,1) = {" +uP +uP +uP +SK +SK +SK +SK +GP +GP +GP +GP +fd +rQ +eg +eg +yp +sx +WI +eg +fv +qG +nQ +nQ +nQ +BQ +nQ +nQ +nQ +nQ +Hs +Ez +EG +nQ +nQ +nQ +xF +nw +rM +Kr +Aj +Qs +TZ +rM +rM +rM +zx +DO +fH +QE +rM +rM +rM +rM +rg +CI +CI +un +cM +cM +uP +uP +"} +(19,1,1) = {" +uP +uP +uP +SK +SK +GP +GP +GP +vy +Lg +GP +iw +zT +eg +rA +fX +FQ +hs +eg +eO +AC +nQ +nQ +EB +mf +fo +nQ +or +Jz +Jx +Hm +lH +zY +gO +nQ +Zw +LA +rM +rM +rM +ua +rM +rM +fT +Ls +aJ +PE +no +dY +na +eL +FY +Ml +cM +cM +cM +cM +KP +cM +uP +uP +"} +(20,1,1) = {" +uP +uP +uP +SK +SK +GP +yE +Xi +US +UK +GP +bf +mS +eg +in +Zz +zl +oG +eg +aH +IS +nQ +pX +qZ +XH +MR +zp +dd +dR +yJ +MV +oX +tg +bi +xt +GT +Pu +Dp +Av +AX +mU +vP +aC +fk +lf +Bf +Et +Wh +HU +OJ +Gq +qS +QX +rt +jA +cM +cM +un +un +uP +uP +"} +(21,1,1) = {" +uP +uP +uP +SK +SK +GP +NN +ft +yY +WN +YQ +Pl +az +mc +hd +QO +Mq +kv +eg +bo +Pr +nQ +yC +qZ +BW +wY +zp +dd +dR +MV +kB +MV +tg +bi +xt +UM +aW +bS +kI +yt +xY +cT +rn +TB +pd +RJ +eS +TS +vO +rM +rM +rM +rM +SM +un +CI +KR +cM +cM +uP +uP +"} +(22,1,1) = {" +uP +uP +SK +SK +SK +GP +dX +US +tw +Gf +NK +Ir +Gv +eg +pE +VD +OB +Yu +eg +ks +jZ +nQ +BC +qZ +Sv +rK +zp +dd +hI +lq +MV +hU +nb +bi +nQ +SB +aB +rM +rM +rM +rM +rM +rM +rM +rM +lo +sd +Zi +Zi +rM +lr +PZ +PZ +GB +un +rk +CI +cM +cM +cM +uP +"} +(23,1,1) = {" +uP +uP +SK +SK +SK +GP +hS +mE +VW +eQ +qN +yV +jW +eg +eg +xe +xe +UG +eg +kx +gw +XR +nQ +Ox +QG +cy +nQ +fy +OD +Hv +rJ +ef +Yw +gO +nQ +hN +ys +rM +wH +qE +cl +rM +ny +OT +rM +ju +wG +rM +rM +rM +On +cM +cM +PH +PH +un +dU +Pd +cM +uP +uP +"} +(24,1,1) = {" +uP +uP +SK +SK +SK +GP +lx +jc +xm +Sn +GP +dP +sf +jH +BF +Ui +gg +aR +uH +pr +tp +wT +nQ +nQ +nQ +nQ +nQ +nQ +nQ +VY +om +Zk +nQ +nQ +nQ +Xt +Vz +rM +HW +rG +Uo +KN +XO +Ey +GK +tG +Pf +dr +rM +rM +rM +cM +cM +jM +PH +cM +cM +cM +cM +uP +uP +"} +(25,1,1) = {" +uP +SK +SK +SK +SK +GP +GP +GP +GP +EC +GP +Zl +RW +XX +TF +JU +qk +bY +cQ +Jb +rj +Wj +FB +YS +EN +fz +KC +ba +nQ +Wr +YI +od +Yf +zk +lK +hB +nx +rM +xK +fK +fK +jx +nk +Me +of +SP +qn +Iz +SD +Fv +FE +cM +cM +PH +PH +cM +cM +Ro +cM +uP +uP +"} +(26,1,1) = {" +uP +SK +SK +SK +SK +SK +SK +PL +eZ +Rt +GP +JW +dl +GP +AL +AL +AL +DZ +ol +Je +zw +pv +Ok +qo +PV +Hq +js +Zv +yf +nQ +nQ +nQ +ID +By +YT +ML +vj +rM +LF +xr +ph +jo +nk +cA +oW +UX +wA +YA +SD +Fv +Fv +TM +cM +cM +cM +cM +cM +un +uP +uP +uP +"} +(27,1,1) = {" +uP +SK +SK +SK +SK +SK +SK +GP +GP +GP +GP +av +Jy +AL +IL +IG +Aw +AL +SK +ej +mX +ej +Lc +ej +ej +ej +Ay +Eg +xQ +Hc +wI +jY +Mj +xl +gm +ol +xa +rM +Vj +ru +rM +rM +xW +Is +OV +PB +we +YA +SD +Fv +Fv +cM +cM +TM +TM +cM +KP +cM +uP +uP +uP +"} +(28,1,1) = {" +uP +SK +SK +SK +SK +SK +SK +GP +ok +XA +GP +iT +Ql +pL +BT +tS +dO +AL +ej +ej +gC +XK +Mp +HT +ej +ej +qO +WG +HQ +jI +BE +yD +mg +iF +IZ +ol +SK +rM +rM +rM +rM +rM +xW +Me +fG +fG +Me +YA +SD +uG +PH +PH +cM +TM +cM +cM +jA +cM +uP +uP +uP +"} +(29,1,1) = {" +SK +SK +SK +SK +SK +SK +SK +GP +oY +bU +zN +hX +SI +Vi +OH +cY +hR +uX +XW +JH +PA +bG +ky +iu +Sw +ej +Nq +Yt +Yt +Yt +mz +SG +ol +mN +ol +ol +ol +Yt +SK +SK +SK +rM +WD +vV +vV +Cb +vV +Mo +SD +Fv +YV +PH +Ro +cM +cM +Py +cM +cM +uP +uP +uP +"} +(30,1,1) = {" +SK +SK +SK +SK +SK +SK +SK +GP +ec +Ns +GP +Yc +MM +AL +Us +Yk +rO +gj +ej +MK +Fz +fS +kX +cu +Zx +ej +ej +GC +Qo +Yt +Nf +zd +Yt +SK +SK +SK +SK +Yt +SK +SK +SK +rM +rM +rM +rM +rM +RA +RA +ue +Fv +PH +PH +cM +cM +TM +TM +cM +cM +cM +uP +uP +"} +(31,1,1) = {" +SK +SK +SK +SK +SK +SK +GP +GP +GP +GP +GP +uV +rE +AL +wf +cU +hA +AL +ej +ej +ql +HV +vi +wD +ej +ej +ej +AT +Or +Yt +Ue +eu +Yt +SK +SK +SK +Yt +Yt +Yt +SK +cM +TM +cM +cM +cM +cM +TM +cM +cM +Fv +Fv +vZ +un +cM +cM +cM +cM +jv +FW +xA +uP +"} +(32,1,1) = {" +SK +SK +SK +SK +SK +SK +SK +GP +Sd +MI +TD +uk +Sf +AL +nV +pe +Te +AL +SK +uD +uD +uD +gT +uD +uD +SK +Yt +nf +Oa +wV +uU +RO +as +SK +SK +Yt +Yt +Gk +Oy +ND +ur +ur +ur +ur +ur +ur +ur +ur +ur +Kq +XF +AJ +cM +un +PF +cM +cM +xA +xA +oL +tQ +"} +(33,1,1) = {" +SK +SK +SK +SK +SK +SK +SK +GP +Zc +bs +Wp +bL +vW +AL +AL +dj +AL +uD +uD +yH +PW +ht +VR +wr +uD +uD +uD +uq +uz +Yt +It +gJ +Yt +Yt +Nl +Yt +uT +gI +hw +zE +Ys +Kc +Pg +Kc +Kc +fs +lT +lT +YD +oa +XF +RF +Ua +XF +RF +HA +tQ +GD +GD +xA +FW +"} +(34,1,1) = {" +SK +SK +SK +SK +SK +SK +ME +ME +ME +Dm +ME +ME +ME +ME +fB +tK +Mu +uD +sj +uO +Ly +Pa +HG +Pa +qD +ZC +uD +FU +AY +Yt +Ai +OF +OR +Bg +VN +Nl +ya +gI +Vd +QI +mt +Xj +dm +Lv +dm +nK +dm +Si +Mt +bI +pO +RF +XF +sJ +XF +oF +df +GD +GD +xA +cM +"} +(35,1,1) = {" +SK +SK +SK +SK +SK +SK +ME +RK +nE +RT +Ic +ro +oN +ME +Jg +kM +uD +uD +sj +nU +es +wq +lc +Oi +kg +sj +uD +eG +hE +Yt +Oh +cV +Yt +Yt +Nl +Yt +uT +gI +vS +Gb +Jn +Sj +dm +Ht +Pm +kF +dm +sv +Mt +Ts +cM +cM +po +RF +RF +UT +FV +GD +GD +tQ +cM +"} +(36,1,1) = {" +SK +SK +SK +SK +SK +SK +ME +WO +Ff +wc +si +ME +Hf +ME +AL +OX +uD +qm +MO +Oc +Df +Fw +Tl +eF +gW +zh +gk +Yt +Yt +Yt +Rp +Bs +Nl +zP +qi +Yt +Yt +rp +In +nN +SZ +sF +dm +zV +oD +AD +dm +sw +ax +Rl +cM +TM +Fv +Yq +Fv +Fv +cM +un +cM +cM +cM +"} +(37,1,1) = {" +uP +SK +SK +SK +SK +ME +ME +FZ +TJ +QL +iv +ME +ea +ME +ME +AL +uD +RM +Al +hL +RV +BZ +PP +tZ +fw +Kl +zr +dK +dc +ey +xU +Rn +BR +Nr +eN +Nl +Yt +Yt +xp +YF +CN +dm +dm +ay +ke +je +dm +dm +ax +Rl +cM +Fv +Fv +Fv +Fv +Fv +cM +cM +cM +jv +uP +"} +(38,1,1) = {" +uP +SK +SK +SK +ME +ME +ME +ME +RQ +RQ +ME +ME +PY +st +ME +SK +uD +bv +Wi +FM +eD +fa +Gz +de +vn +sl +pZ +wi +eH +oA +hz +gM +eb +jd +Pn +vX +Ek +vf +Nc +dW +ST +zX +zj +td +NW +Vf +xk +Aa +ax +Rl +cM +cM +Fv +Xl +Fv +Fv +Fv +un +cM +cM +uP +"} +(39,1,1) = {" +uP +SK +SK +SK +ME +ME +ME +wt +RH +au +aU +tB +yB +Bo +ME +SK +uD +sO +dy +Zq +CR +vu +Hg +Wx +da +Gw +Lp +tb +bT +TU +Es +PR +rB +DL +uJ +JN +ed +eA +pH +Dj +mp +Pe +sX +ne +Ut +LE +jF +Wk +Mt +Rl +cM +cM +Fv +Jr +Yq +Fv +Fv +Xl +Fv +uP +uP +"} +(40,1,1) = {" +uP +SK +SK +SK +ME +ME +bW +tn +RB +UN +RB +tM +nd +DK +ME +SK +uD +LC +HO +Fx +ig +af +xL +kH +zA +HJ +uD +uD +mO +Pb +xf +JF +rw +RL +Yt +Yt +Yt +Yt +mr +YF +Bd +qQ +dm +xq +qH +Hb +dm +Uy +Mt +Rl +TM +RC +RC +Fv +Bi +Bi +Fv +Fv +uP +uP +uP +"} +(41,1,1) = {" +uP +SK +SK +SK +ME +ME +KM +RB +Ja +Ja +Ja +RB +Xx +PI +ME +ME +uD +uD +uD +Nm +Fq +Bq +jn +Fq +us +uD +uD +SK +uD +Yn +ZA +yP +ck +Ab +Yt +SK +SK +Yt +CI +aw +TT +dm +ag +Np +rC +ka +fU +dm +Mt +Rl +cM +mQ +Qb +Fv +Bi +Fv +Fv +uP +uP +uP +uP +"} +(42,1,1) = {" +uP +SK +SK +SK +ME +ME +KM +FH +Ja +pJ +Ja +Xu +Om +ei +YJ +ME +ME +uD +uD +JM +Bu +SO +Ud +uo +Zb +uD +uD +uD +Go +Go +Go +iJ +rI +Go +Go +Go +Go +Yt +cM +aw +TT +dm +EI +oB +Tr +NR +ze +dm +Mt +Ts +cM +PH +PH +Fv +Jr +Fv +uP +uP +uP +uP +uP +"} +(43,1,1) = {" +uP +SK +SK +SK +ME +ME +KM +RB +Ja +Ja +Ja +RB +Xx +VV +VV +ME +ME +SK +uD +FL +VU +TW +TI +VU +qM +uD +SK +SK +Go +Mx +vF +Go +AQ +SR +oJ +DI +Go +cM +wO +jq +TT +dm +He +gd +Zd +CB +Bb +dm +Mt +Rl +TM +cM +Fv +Fv +Fv +uP +uP +uP +uP +uP +uP +"} +(44,1,1) = {" +uP +uP +SK +SK +ME +ME +Wz +lX +RB +TK +RB +Ms +mL +hl +ME +ME +ME +SK +uD +gk +uD +uD +uD +uD +uD +uD +SK +SK +Go +qg +LB +NB +EX +IY +rD +li +MG +ee +Xr +AE +Cm +RZ +dm +wE +wE +wE +dm +RS +ax +Rl +cM +cM +Fv +Bi +Fv +uP +uP +uP +uP +uP +uP +"} +(45,1,1) = {" +uP +uP +SK +SK +ME +ME +ME +WR +Do +yz +yz +cp +ME +ME +ME +ME +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +Go +Go +Zr +Go +uC +Ve +kK +Rs +Og +ib +yT +pf +np +Ea +II +II +II +II +II +II +LL +Rl +cM +Fv +Bi +Bi +uP +uP +uP +uP +uP +uP +uP +"} +(46,1,1) = {" +uP +uP +SK +SK +SK +ME +ME +ME +ME +ME +ME +ME +ME +ME +ME +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +Go +Go +Go +Fa +fV +mV +ou +Go +yc +ee +Kp +nC +tq +EA +EA +EA +EA +EA +EA +tq +Wa +cM +Bi +Bi +Fv +uP +uP +uP +uP +uP +uP +uP +"} +(47,1,1) = {" +uP +uP +uP +SK +SK +SK +ME +ME +ME +ME +ME +ME +ME +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +uP +uP +uP +SK +SK +SK +SK +Go +Go +Go +Go +Go +Go +Fv +yc +zR +cM +cM +cM +cM +cM +cM +TM +cM +cM +cM +Xl +Fv +Fv +uP +uP +uP +uP +uP +uP +uP +uP +"} +(48,1,1) = {" +uP +uP +uP +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +uP +uP +uP +uP +uP +SK +SK +SK +SK +SK +SK +SK +SK +SK +Fv +Xl +Fv +nW +gZ +cM +Qb +mQ +RC +cM +TM +cM +cM +Fv +Fv +Fv +uP +uP +uP +uP +uP +uP +uP +uP +"} +(49,1,1) = {" +uP +uP +uP +uP +uP +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +SK +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +SK +SK +SK +SK +SK +SK +Fv +Fv +FE +Fv +Fv +ae +Qb +RC +RC +cM +cM +Fv +Fv +Fv +Fv +Fv +uP +uP +uP +uP +uP +uP +uP +uP +"} +(50,1,1) = {" +uP +uP +uP +uP +uP +uP +uP +uP +uP +SK +SK +SK +SK +SK +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +SK +SK +SK +Fv +Bi +Bi +Xl +Fv +Fv +Fv +Fv +Fv +Fv +Fv +Fv +Fv +uP +uP +uP +uP +uP +uP +uP +uP +uP +uP +"} diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm index 06d6a8e9fd2..f4db9fa9d9f 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm @@ -40,7 +40,7 @@ "fD" = ( /obj/structure/bed, /obj/effect/decal/cleanable/blood/bubblegum, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ruin/powered) "fQ" = ( @@ -242,9 +242,9 @@ /obj/item/reagent_containers/food/snacks/fishmeat/carp, /obj/item/reagent_containers/food/snacks/fishmeat/carp, /obj/item/reagent_containers/food/snacks/fishmeat/carp, -/obj/item/reagent_containers/food/condiment/pack/ketchup, -/obj/item/reagent_containers/food/condiment/pack/ketchup, -/obj/item/reagent_containers/food/condiment/pack/ketchup, +/obj/item/reagent_containers/condiment/pack/ketchup, +/obj/item/reagent_containers/condiment/pack/ketchup, +/obj/item/reagent_containers/condiment/pack/ketchup, /obj/effect/turf_decal/corner/opaque/black{ dir = 1 }, @@ -332,7 +332,7 @@ /obj/item/restraints/legcuffs/beartrap, /obj/item/reagent_containers/glass/bottle/venom, /obj/item/reagent_containers/glass/bottle/curare, -/obj/item/kitchen/knife/combat/survival, +/obj/item/melee/knife/survival, /obj/effect/decal/cleanable/dirt, /obj/item/reagent_containers/food/snacks/meat/slab/human, /obj/item/reagent_containers/food/snacks/meat/slab/human, @@ -383,8 +383,8 @@ "EF" = ( /obj/effect/decal/cleanable/blood/gibs/torso, /obj/structure/safe, -/obj/item/ammo_box/a12g/slug, -/obj/item/kitchen/knife/combat, +/obj/item/storage/box/ammo/a12g_slug, +/obj/item/melee/knife/combat, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, @@ -459,7 +459,7 @@ /area/overmap_encounter/planetoid/cave/explored) "LZ" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ruin/powered) "Nq" = ( @@ -477,7 +477,7 @@ /turf/open/floor/carpet, /area/ruin/powered) "Pp" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/holofloor/wood, /area/ruin/powered) "PQ" = ( @@ -554,7 +554,7 @@ "WH" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ruin/powered) "Ze" = ( diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm deleted file mode 100644 index 4954a9a5aaf..00000000000 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm +++ /dev/null @@ -1,2538 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ae" = ( -/obj/effect/decal/cleanable/dirt, -/turf/closed/wall/mineral/wood/nonmetal, -/area/ruin/unpowered) -"aS" = ( -/obj/machinery/iv_drip, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 1 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"aW" = ( -/turf/template_noop, -/area/template_noop) -"bq" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = -6; - pixel_y = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"bv" = ( -/obj/effect/decal/cleanable/blood/splatter, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"bB" = ( -/obj/structure/flora/rock/jungle, -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"cr" = ( -/obj/structure/barricade/sandbags, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"ct" = ( -/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ - faction = list("brazillian") - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"cH" = ( -/turf/open/floor/carpet/blue{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"dz" = ( -/obj/structure/table/wood/fancy/green, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"fd" = ( -/obj/structure/barricade/wooden/crude/snow, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"fz" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 4 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"fB" = ( -/obj/structure/chair/stool/bar, -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; - faction = list("brazillian") - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"fK" = ( -/obj/structure/flora/grass/both, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/ruin/unpowered) -"gH" = ( -/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger{ - faction = list("brazillian") - }, -/turf/open/floor/carpet/green{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"hg" = ( -/obj/structure/barricade/wooden/snowed, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"hp" = ( -/obj/item/stack/cable_coil, -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ - faction = list("brazillian") - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"hr" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/overmap_encounter/planetoid/cave/explored) -"ht" = ( -/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ - faction = list("brazillian") - }, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"hA" = ( -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"hO" = ( -/obj/structure/flora/tree/jungle, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"hR" = ( -/obj/structure/flora/rock/icy, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"hT" = ( -/obj/structure/flora/grass/jungle/b, -/obj/item/cultivator/rake, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"ib" = ( -/obj/structure/table/wood, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"iu" = ( -/obj/item/restraints/handcuffs/cable, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"jn" = ( -/obj/item/ammo_casing/spent, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"jy" = ( -/obj/structure/chair/wood{ - dir = 1 - }, -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; - faction = list("brazillian") - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"jU" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"kD" = ( -/obj/item/storage/toolbox/drone, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"kQ" = ( -/obj/structure/bed, -/obj/structure/curtain, -/obj/effect/decal/cleanable/blood, -/obj/effect/turf_decal/corner/opaque/green/border, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"kX" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/ruin/unpowered) -"lu" = ( -/obj/structure/barricade/wooden/snowed, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"lA" = ( -/obj/structure/table, -/obj/item/weaponcrafting/stock{ - pixel_x = 8; - pixel_y = 3 - }, -/obj/item/stack/cable_coil/blue, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"mn" = ( -/obj/item/gun/ballistic/shotgun/doublebarrel/improvised/sawn, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"mo" = ( -/obj/structure/flora/grass/brown, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"mM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"nf" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/meat/steak/bear, -/obj/item/reagent_containers/food/snacks/meat/steak/goliath{ - pixel_x = 4; - pixel_y = 3 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"nF" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/cannabis, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"nG" = ( -/obj/structure/flora/junglebush/large, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"oo" = ( -/obj/structure/table, -/obj/machinery/recharger, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"oR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"pf" = ( -/obj/item/weaponcrafting/receiver{ - pixel_x = -16; - pixel_y = -8 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken"; - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"ql" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"qm" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = 1; - pixel_y = 8 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = 5 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = -4; - pixel_y = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"qC" = ( -/obj/structure/bed, -/obj/structure/curtain, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 1 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"qD" = ( -/obj/structure/flora/tree/pine, -/obj/structure/flora/tree/pine, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"qS" = ( -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = "The greatest chef this side of the wastes."; - faction = list("brazillian"); - health = 150; - name = "Margarine" - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"rw" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"rP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"sf" = ( -/obj/structure/table/wood, -/obj/item/nullrod{ - block_chance = 50; - desc = "This massive chart appears to be the layout of a SolGov outpost. It's covered in marks, scribbles in a language you don't recognize, and several stains. It's unusually sturdy."; - icon_state = "blueprints"; - item_state = "blueprints"; - lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'; - name = "facility blueprints"; - pixel_y = 10; - righthand_file = 'icons/mob/inhands/items_righthand.dmi'; - w_class = 5 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"si" = ( -/obj/structure/flora/rock/jungle, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"sE" = ( -/obj/structure/flora/grass/green, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"te" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"tf" = ( -/obj/item/weaponcrafting/stock, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"uv" = ( -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"uG" = ( -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"vi" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"vH" = ( -/obj/structure/flora/junglebush/b, -/obj/item/reagent_containers/glass/bucket/wooden, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"vR" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"wd" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/bottle/wine{ - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/bottle/tequila{ - pixel_x = 8; - pixel_y = 4 - }, -/obj/item/reagent_containers/food/drinks/bottle/vermouth{ - pixel_x = -8; - pixel_y = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"wh" = ( -/obj/structure/flora/tree/jungle/small, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"wk" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = 8; - pixel_y = 2 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"xg" = ( -/obj/structure/flora/tree/pine, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"xu" = ( -/obj/structure/bed, -/obj/structure/curtain, -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; - faction = list("brazillian") - }, -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 1 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"xI" = ( -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/ruin/unpowered) -"xK" = ( -/obj/structure/statue/snow/snowman, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"xN" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/three, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"xQ" = ( -/obj/item/clothing/neck/stethoscope, -/obj/structure/closet/secure_closet/medical1, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/reagent_containers/syringe, -/obj/item/reagent_containers/syringe, -/obj/item/reagent_containers/syringe, -/obj/item/stack/medical/mesh, -/obj/item/stack/medical/suture, -/obj/item/stack/sheet/cotton/cloth/ten, -/obj/item/stack/sheet/cotton/cloth/ten, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"xV" = ( -/obj/structure/bed, -/obj/structure/curtain, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/green/border, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"yr" = ( -/obj/effect/decal/cleanable/vomit/old, -/obj/effect/turf_decal/corner/opaque/green/border, -/obj/machinery/space_heater, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"zi" = ( -/obj/structure/flora/grass/both, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"zy" = ( -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; - faction = list("brazillian") - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"Al" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ - faction = list("brazillian") - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Aw" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/shaker, -/obj/item/reagent_containers/glass/rag{ - pixel_x = 8; - pixel_y = 3 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"AN" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/bottle/sarsaparilla{ - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/bottle/kahlua{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/reagent_containers/food/drinks/bottle/hcider{ - pixel_x = 16; - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/bottle/rum{ - pixel_x = 8; - pixel_y = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Br" = ( -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Bw" = ( -/turf/open/floor/carpet/green{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"BL" = ( -/obj/item/weaponcrafting/receiver, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Cl" = ( -/obj/item/candle/infinite{ - pixel_y = 4 - }, -/obj/item/candle/infinite{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/item/candle/infinite{ - pixel_x = -10; - pixel_y = 8 - }, -/obj/item/candle/infinite{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/item/candle/infinite{ - pixel_x = -10 - }, -/obj/item/candle/infinite{ - pixel_x = -16; - pixel_y = -2 - }, -/obj/structure/table/wood/fancy/blue, -/turf/open/floor/carpet/orange{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"CI" = ( -/obj/structure/flora/junglebush/c, -/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ - faction = list("brazillian") - }, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"CL" = ( -/obj/structure/bookcase/random, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"CS" = ( -/obj/machinery/hydroponics/soil, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"CT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Da" = ( -/obj/machinery/rnd/production/protolathe/department/security, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"DH" = ( -/obj/structure/railing, -/obj/item/flashlight/lantern{ - on = 1 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"DX" = ( -/obj/structure/flora/rock/jungle, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Eg" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Ex" = ( -/obj/structure/flora/grass/brown, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"Fh" = ( -/obj/structure/statue/snow/snowlegion, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"Gc" = ( -/obj/machinery/pipedispenser, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"Ge" = ( -/obj/structure/flora/grass/jungle/b, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Gl" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/eggplant/eggy, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"GK" = ( -/obj/structure/flora/junglebush/c, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"GU" = ( -/turf/open/floor/carpet/orange{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Hb" = ( -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"HI" = ( -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/overmap_encounter/planetoid/cave/explored) -"HV" = ( -/obj/item/target/alien/anchored, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"Il" = ( -/obj/vehicle/ridden/atv, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"Iz" = ( -/obj/structure/rack, -/obj/item/clothing/ears/earmuffs, -/obj/item/clothing/ears/earmuffs, -/obj/item/clothing/ears/earmuffs, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"IE" = ( -/obj/machinery/iv_drip, -/obj/effect/turf_decal/corner/opaque/green/border, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Jt" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"JK" = ( -/obj/item/seeds/glowshroom, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"JM" = ( -/obj/structure/bed, -/obj/structure/curtain, -/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ - faction = list("brazillian") - }, -/obj/effect/turf_decal/corner/opaque/green/border, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Kl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Kt" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 4 - }, -/obj/item/flashlight/lantern{ - on = 1 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Ly" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/bottle/whiskey{ - pixel_x = 16; - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/bottle/vodka{ - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/bottle/cognac{ - pixel_x = 8; - pixel_y = 4 - }, -/obj/item/reagent_containers/food/drinks/bottle/gin{ - pixel_x = -8; - pixel_y = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"LA" = ( -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; - faction = list("brazillian") - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"LB" = ( -/obj/effect/decal/cleanable/blood/old, -/mob/living/simple_animal/bot/secbot/ed209/rockplanet{ - faction = list("brazillian") - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"LC" = ( -/obj/structure/flora/grass/jungle/b, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"LI" = ( -/turf/open/floor/wood{ - icon_state = "wood-broken2"; - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"LR" = ( -/obj/effect/decal/cleanable/blood, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"MI" = ( -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"MM" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Nt" = ( -/obj/structure/flora/junglebush/b, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"NG" = ( -/obj/structure/table, -/obj/item/ammo_box/magazine/zip_ammo_9mm, -/obj/item/ammo_box/magazine/zip_ammo_9mm, -/obj/item/gun/ballistic/automatic/zip_pistol, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"NR" = ( -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; - faction = list("brazillian") - }, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"NY" = ( -/obj/structure/barricade/wooden/snowed, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"OA" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/glass/maunamug, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Pb" = ( -/obj/structure/bed/roller, -/obj/effect/decal/cleanable/blood/gibs/down, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/green/bordercorner, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Pm" = ( -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Ps" = ( -/obj/structure/table/wood, -/obj/item/screwdriver/old{ - pixel_y = 20 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Pu" = ( -/obj/structure/flora/tree/pine/xmas, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"Qk" = ( -/obj/structure/table/wood/reinforced, -/obj/machinery/chem_dispenser/drinks/beer, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Ql" = ( -/obj/structure/bonfire/prelit, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Qm" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/corn, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Sd" = ( -/obj/item/gun/ballistic/shotgun/doublebarrel/brazil{ - pixel_x = 8 - }, -/obj/structure/table/wood/fancy/blue, -/turf/open/floor/carpet/orange{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Sf" = ( -/obj/item/ammo_box/magazine/zip_ammo_9mm, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/structure/closet/secure_closet, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Sj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 1 - }, -/obj/machinery/space_heater, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"To" = ( -/obj/structure/barricade/wooden/crude/snow, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"Tw" = ( -/obj/item/candle/infinite{ - pixel_x = 10; - pixel_y = 8 - }, -/obj/item/candle/infinite{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/candle/infinite{ - pixel_y = 4 - }, -/obj/item/candle/infinite{ - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/candle/infinite{ - pixel_x = 10 - }, -/obj/item/candle/infinite{ - pixel_x = 16; - pixel_y = 10 - }, -/obj/structure/table/wood/fancy/blue, -/turf/open/floor/carpet/orange{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Tx" = ( -/obj/structure/flora/junglebush/b, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"TA" = ( -/obj/structure/railing, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"TL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/hatchet, -/obj/item/hatchet, -/obj/effect/spawner/lootdrop/maintenance/three, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"Ul" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/ruin/unpowered) -"Uu" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/bottle/amaretto{ - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/bottle/trappist{ - pixel_x = 16; - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing{ - pixel_x = 8; - pixel_y = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Ux" = ( -/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ - faction = list("brazillian") - }, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Vt" = ( -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"VB" = ( -/obj/structure/table/wood/reinforced, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"VI" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/ruin/unpowered) -"VS" = ( -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"VX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/effect/spawner/lootdrop/maintenance/three, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"WH" = ( -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Xq" = ( -/obj/structure/table, -/obj/item/storage/firstaid/regular, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/reagent_containers/food/snacks/soup/vegetable, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"XD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"XL" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = -6; - pixel_y = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Ya" = ( -/mob/living/simple_animal/bot/medbot/rockplanet{ - faction = list("brazillian") - }, -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 4 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Yc" = ( -/obj/structure/table/wood/fancy/blue, -/obj/structure/safe/floor{ - maxspace = 99 - }, -/obj/item/storage/box/lethalshot, -/obj/item/storage/box/lethalshot, -/obj/item/storage/box/lethalshot, -/obj/item/storage/box/lethalshot, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/meteorslug, -/obj/item/ammo_casing/shotgun/meteorslug, -/obj/item/ammo_casing/shotgun/meteorslug, -/obj/item/ammo_casing/shotgun/laserscatter, -/obj/item/ammo_casing/shotgun/laserscatter, -/obj/item/ammo_casing/shotgun/laserscatter, -/obj/item/ammo_casing/shotgun/pulseslug, -/obj/item/ammo_casing/shotgun/pulseslug, -/obj/item/ammo_casing/shotgun/pulseslug, -/obj/item/key, -/turf/open/floor/carpet/orange{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Yg" = ( -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Yh" = ( -/obj/item/shovel, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Yx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/rack_parts, -/obj/effect/spawner/lootdrop/maintenance/three, -/turf/open/floor/wood{ - icon_state = "wood-broken3"; - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Yy" = ( -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; - faction = list("brazillian") - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"YV" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"YX" = ( -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"YZ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Zd" = ( -/obj/effect/decal/cleanable/blood, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"Zf" = ( -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"Zs" = ( -/obj/structure/table/wood, -/obj/item/banhammer, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) - -(1,1,1) = {" -aW -aW -aW -aW -aW -aW -Hb -zi -cr -cr -cr -Hb -Hb -aW -aW -aW -aW -aW -aW -aW -aW -aW -lu -Hb -lu -lu -aW -aW -aW -aW -"} -(2,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -Hb -cr -zi -Hb -kX -Vt -NY -kX -kX -kX -kX -kX -aW -aW -aW -aW -YV -Hb -cr -Hb -aW -aW -aW -"} -(3,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -aW -cr -Hb -Hb -NY -Zd -Vt -Ul -TA -Eg -NG -kX -aW -aW -aW -aW -Hb -Hb -Hb -hr -Hb -lu -aW -"} -(4,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -Hb -fd -Vt -HV -Ul -WH -hp -oo -kX -aW -aW -aW -aW -Hb -Hb -aW -To -Hb -Hb -aW -"} -(5,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -Hb -fd -Vt -xI -Ul -DH -LI -CT -kX -aW -Hb -aW -zi -Hb -Hb -aW -lu -Hb -xg -aW -"} -(6,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -Hb -kX -kX -kX -kX -kX -WH -Iz -kX -aW -cr -cr -Hb -zi -Hb -aW -zi -Hb -cr -aW -"} -(7,1,1) = {" -aW -aW -aW -kX -kX -kX -kX -kX -aW -aW -xg -Hb -Hb -Hb -zi -kX -iu -kX -kX -Hb -Hb -cr -Hb -Hb -Hb -aW -sE -lu -cr -hr -"} -(8,1,1) = {" -aW -aW -aW -kX -te -xN -VX -Gc -xI -aW -aW -kX -kX -NY -kX -kX -kD -oR -kX -Hb -zi -cr -Hb -Hb -aW -aW -sE -zi -Hb -To -"} -(9,1,1) = {" -aW -aW -aW -kX -Vt -Eg -LI -Vt -xI -aW -aW -kX -Sf -zy -Jt -LB -BL -mn -hg -Hb -Fh -cr -Hb -aW -aW -aW -Hb -Hb -Hb -lu -"} -(10,1,1) = {" -aW -aW -aW -kX -Il -Yx -TL -Zf -fK -xI -aW -kX -Zf -Vt -lA -Da -tf -pf -hg -YV -Hb -Hb -aW -aW -aW -aW -xg -cr -lu -aW -"} -(11,1,1) = {" -aW -aW -aW -kX -kX -kX -kX -kX -xI -xI -aW -kX -kX -kX -kX -kX -ae -Eg -kX -aW -Hb -Hb -aW -aW -aW -Hb -Hb -Hb -To -aW -"} -(12,1,1) = {" -aW -aW -aW -Hb -cr -aW -aW -aW -aW -xI -YX -YX -YX -YX -YX -YX -kX -Ge -kX -aW -Hb -Hb -cr -Hb -hr -Hb -lu -Hb -hr -aW -"} -(13,1,1) = {" -aW -aW -aW -Hb -cr -aW -aW -aW -YX -YX -YX -hO -YX -uG -YX -uG -uG -YX -kX -aW -Hb -zi -cr -Hb -To -Hb -To -Hb -aW -aW -"} -(14,1,1) = {" -aW -aW -aW -zi -cr -aW -aW -aW -MI -YX -YX -YX -DX -Ql -Nt -si -Tx -YX -aW -cr -Hb -hA -cr -Hb -hr -YV -hr -aW -aW -aW -"} -(15,1,1) = {" -aW -aW -aW -cr -cr -aW -aW -MI -YX -YX -YX -YX -YX -nF -Gl -hT -MI -YX -CI -cr -lu -Hb -Hb -NR -cr -Hb -aW -aW -aW -aW -"} -(16,1,1) = {" -aW -aW -Hb -cr -zi -aW -aW -GK -Ux -YX -Pm -kX -kX -kX -kX -Pm -YX -MI -YX -aW -YV -aW -lu -Hb -cr -Hb -Hb -Hb -aW -aW -"} -(17,1,1) = {" -aW -aW -Hb -cr -ht -aW -CI -YX -MI -kX -kX -kX -dz -dz -kX -kX -kX -YX -YX -nG -aW -aW -lu -Hb -Hb -Hb -Hb -Hb -Hb -aW -"} -(18,1,1) = {" -aW -aW -zi -cr -Hb -aW -YX -MI -MI -kX -CL -Bw -Bw -gH -Bw -CL -kX -Pm -MI -MI -aW -aW -kX -aW -aW -Hb -cr -cr -vi -aW -"} -(19,1,1) = {" -aW -aW -Hb -cr -Hb -aW -YX -bB -kX -kX -ct -Bw -GU -GU -Bw -WH -kX -kX -YX -MI -mM -kX -kX -kX -Hb -hA -Ex -cr -Hb -aW -"} -(20,1,1) = {" -aW -aW -qD -cr -Hb -aW -YX -YX -WH -WH -WH -GU -Sd -Tw -GU -WH -WH -kX -YX -YX -rP -WH -WH -XD -zi -Hb -jn -cr -Hb -aW -"} -(21,1,1) = {" -aW -aW -Hb -cr -Hb -aW -YX -YX -WH -WH -WH -GU -Yc -Cl -GU -WH -WH -kX -YX -YX -Yy -WH -WH -mo -Hb -Ex -Hb -Ex -Hb -aW -"} -(22,1,1) = {" -aW -aW -Hb -cr -Hb -aW -YX -Pm -kX -kX -ct -Bw -GU -GU -Bw -WH -kX -kX -uG -LC -YZ -kX -kX -kX -Ex -xK -Ex -cr -zi -aW -"} -(23,1,1) = {" -aW -aW -zi -cr -Hb -aW -YX -MI -DX -kX -CL -Bw -Bw -gH -Bw -CL -kX -Pm -uG -YX -aW -aW -kX -zi -hA -Hb -Hb -cr -Hb -aW -"} -(24,1,1) = {" -aW -aW -Hb -cr -cr -aW -Ux -MI -MI -kX -kX -kX -dz -dz -kX -kX -kX -YX -YX -GK -aW -lu -aW -jn -Hb -NR -cr -cr -Hb -aW -"} -(25,1,1) = {" -aW -aW -aW -Hb -cr -Hb -aW -YX -Ux -YX -Pm -kX -kX -kX -kX -Pm -YX -YX -nG -aW -aW -lu -aW -aW -Pu -cr -cr -Hb -aW -aW -"} -(26,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -Tx -Tx -YX -YX -YX -JK -YX -YX -Tx -YX -DX -Ux -aW -cr -aW -aW -Hb -Hb -Hb -aW -aW -aW -aW -"} -(27,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -aW -Tx -YX -YX -wh -CS -Ql -YX -DX -YX -YX -aW -aW -cr -zi -Hb -cr -Hb -Hb -Hb -Hb -Hb -aW -"} -(28,1,1) = {" -aW -aW -aW -aW -WH -WH -WH -WH -YX -YX -YX -Yh -Qm -YX -nG -vH -YX -Tx -aW -YV -aW -hR -xK -cr -Hb -Hb -zi -Hb -Hb -aW -"} -(29,1,1) = {" -aW -aW -aW -WH -WH -WH -WH -LA -WH -WH -YX -GK -YX -YX -YX -GK -VS -rw -uv -lu -aW -aW -Hb -aW -aW -xg -Hb -Hb -Hb -Hb -"} -(30,1,1) = {" -aW -kX -WH -Br -kX -Br -fB -OA -VB -kX -kX -aW -aW -kX -kX -kX -kX -jU -MM -jU -kX -aW -aW -aW -aW -Hb -Hb -cr -Hb -Hb -"} -(31,1,1) = {" -aW -cH -cH -cH -WH -WH -WH -VB -WH -Br -kX -aW -aW -kX -Xq -vR -Kl -uv -rw -bv -kX -aW -aW -aW -aW -Hb -Hb -cr -zi -Hb -"} -(32,1,1) = {" -aW -WH -jy -Zs -WH -WH -WH -XL -WH -qm -kX -aW -aW -kX -xQ -ql -Pb -Kt -Ya -fz -kX -aW -aW -aW -aW -aW -cr -cr -Hb -Hb -"} -(33,1,1) = {" -aW -Br -ib -sf -WH -WH -fB -Qk -WH -Aw -kX -Hb -aW -kX -kX -NY -kX -kQ -vR -xu -kX -aW -aW -aW -aW -aW -Hb -Hb -Hb -Hb -"} -(34,1,1) = {" -aW -WH -Ps -Al -WH -WH -WH -VB -WH -Uu -kX -Hb -aW -Hb -Hb -zi -kX -yr -vR -Sj -kX -aW -aW -aW -aW -aW -Hb -Ex -Hb -aW -"} -(35,1,1) = {" -aW -aW -WH -WH -WH -WH -WH -Qk -qS -AN -kX -Hb -Hb -zi -Hb -Hb -NY -JM -vR -qC -kX -aW -aW -aW -aW -Hb -Ex -zi -Hb -aW -"} -(36,1,1) = {" -aW -kX -aW -Br -kX -Br -fB -wk -WH -Ly -kX -Hb -Hb -Hb -Hb -Hb -fd -IE -LR -aS -kX -aW -aW -aW -aW -Hb -xg -Hb -Hb -aW -"} -(37,1,1) = {" -aW -aW -cH -cH -WH -WH -WH -VB -WH -wd -kX -aW -Hb -Hb -Hb -zi -fd -xV -Yg -xu -kX -aW -aW -aW -aW -zi -cr -Hb -aW -aW -"} -(38,1,1) = {" -aW -aW -aW -WH -Br -nf -fB -bq -WH -Br -aW -HI -aW -Hb -Hb -Hb -kX -fd -kX -kX -kX -aW -aW -Hb -Hb -cr -cr -Hb -aW -aW -"} -(39,1,1) = {" -aW -aW -aW -WH -kX -kX -kX -kX -kX -aW -HI -aW -aW -aW -Hb -aW -aW -VI -aW -aW -aW -Hb -vi -Hb -cr -cr -Hb -aW -aW -aW -"} -(40,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -Hb -zi -Hb -Hb -aW -aW -aW -aW -"} diff --git a/_maps/RandomRuins/JungleRuins/jungle_abandoned_library.dmm b/_maps/RandomRuins/JungleRuins/jungle_abandoned_library.dmm deleted file mode 100644 index 12fdf42c7d4..00000000000 --- a/_maps/RandomRuins/JungleRuins/jungle_abandoned_library.dmm +++ /dev/null @@ -1,4739 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"an" = ( -/obj/structure/flora/grass/jungle{ - pixel_x = -1; - pixel_y = 5 - }, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"ay" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_y = -12; - pixel_x = -5; - dir = 4 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"aW" = ( -/obj/effect/decal/cleanable/blood/drip{ - pixel_y = 17; - pixel_x = 5 - }, -/obj/effect/decal/cleanable/blood/drip{ - pixel_x = 13; - pixel_y = 18 - }, -/obj/effect/decal/cleanable/blood/splatter{ - pixel_y = 15 - }, -/obj/item/ammo_casing/shotgun/buckshot{ - icon_state = "buckshot-spent"; - desc = "A 12 gauge buckshot shell. It is spent."; - projectile_type = null; - pixel_x = 6; - pixel_y = -1 - }, -/obj/item/ammo_casing/shotgun/buckshot{ - icon_state = "buckshot-spent"; - desc = "A 12 gauge buckshot shell. It is spent."; - projectile_type = null; - pixel_x = -7; - pixel_y = -9 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"bi" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor3" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"bo" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/rack, -/obj/item/toy/plush/lizardplushie{ - pixel_x = -3; - pixel_y = 9 - }, -/obj/item/toy/plush/snakeplushie{ - pixel_x = 6; - pixel_y = -3 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"bs" = ( -/turf/open/floor/plastic, -/area/ruin/jungle) -"bC" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/item/storage/fancy/nugget_box{ - pixel_x = 5; - pixel_y = 9 - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"bF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/mob/living/carbon/monkey/angry{ - faction = list("jungle") - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"bK" = ( -/obj/effect/decal/cleanable/glass, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"bN" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/book/manual/random{ - pixel_x = 4; - pixel_y = 11 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"bR" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/broken, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"ca" = ( -/obj/item/book/random{ - pixel_x = 8; - pixel_y = -6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"cf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/chair/comfy/orange/directional/west, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"cl" = ( -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"cn" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"cs" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/wood{ - icon_state = "wood-broken4" - }, -/area/ruin/jungle) -"cO" = ( -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"cP" = ( -/obj/structure/flora/tree/jungle, -/obj/structure/flora/grass/jungle{ - pixel_x = 6; - pixel_y = -15 - }, -/obj/structure/flora/grass/jungle{ - pixel_y = 7 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"dh" = ( -/obj/effect/decal/cleanable/blood/splatter{ - pixel_y = -7 - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"di" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/official/moth{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/broken{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"dn" = ( -/obj/item/storage/book/bible{ - pixel_x = 6; - pixel_y = -6 - }, -/obj/item/gun/ballistic/automatic/pistol/syndicate/no_mag{ - name = "bible gun"; - pixel_x = -7; - pixel_y = -8; - desc = "A small, easily concealable 10mm handgun. Has a threaded barrel for suppressors. Does not fire holy ammo." - }, -/obj/effect/turf_decal/siding/wood, -/obj/item/ammo_casing/c10mm{ - icon_state = "magnum-brass-nagant"; - projectile_type = null; - desc = "A 10mm bullet casing. It is spent."; - pixel_x = -1 - }, -/obj/item/ammo_casing/c10mm{ - icon_state = "magnum-brass-nagant"; - projectile_type = null; - desc = "A 10mm bullet casing. It is spent."; - pixel_x = 7; - pixel_y = -7 - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle) -"do" = ( -/obj/structure/barricade/wooden, -/obj/structure/spacevine/dense{ - name = "dense vines" - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"dq" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ruin/jungle) -"dC" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/ruin/jungle) -"dJ" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/reagent_containers/food/snacks/grown/apple{ - pixel_y = 12; - pixel_x = 4 - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"dV" = ( -/obj/machinery/door/airlock/wood, -/obj/effect/decal/cleanable/blood/tracks{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor3" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/effect/mapping_helpers/airlock/locked, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/wood, -/area/ruin/jungle) -"eo" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood{ - icon_state = "wood-broken6" - }, -/area/ruin/jungle) -"eN" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle) -"fe" = ( -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/ruin/jungle) -"ff" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/decal/cleanable/blood/footprints{ - dir = 1; - pixel_x = -10; - pixel_y = 12 - }, -/obj/effect/decal/cleanable/blood/footprints{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"fi" = ( -/obj/effect/decal/cleanable/blood/tracks, -/obj/effect/decal/cleanable/blood{ - icon_state = "drip5"; - pixel_x = 18; - pixel_y = -1 - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "drip5"; - pixel_x = -6; - pixel_y = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"fj" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 8; - pixel_x = -26 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/ruin/jungle) -"fl" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/item/storage/bag/books{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"fm" = ( -/obj/effect/decal/cleanable/blood{ - icon_state = "floor2"; - pixel_x = 3; - pixel_y = -9 - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor3"; - pixel_x = -4; - pixel_y = 3 - }, -/obj/effect/mob_spawn/human/corpse/assistant{ - name = "Curator"; - outfit = /datum/outfit/job/curator; - brute_damage = 400; - backpack_contents = null - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"fC" = ( -/obj/item/stack/sheet/mineral/wood{ - pixel_x = 5; - pixel_y = 5 - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"fL" = ( -/obj/structure/flora/rock/jungle{ - pixel_x = -8; - pixel_y = -19 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"fR" = ( -/obj/structure/chair/pew{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/dark, -/area/ruin/jungle) -"gk" = ( -/obj/structure/grille/broken, -/obj/structure/spacevine/dense{ - name = "dense vines" - }, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"gt" = ( -/obj/structure/sign/poster/contraband/hacking_guide{ - pixel_y = 32 - }, -/turf/open/floor/carpet/black, -/area/ruin/jungle) -"gL" = ( -/obj/structure/rack, -/obj/item/toy/katana, -/turf/open/floor/wood, -/area/ruin/jungle) -"gP" = ( -/obj/structure/table/wood/reinforced, -/obj/item/paper_bin{ - pixel_x = 6; - pixel_y = 4 - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"gQ" = ( -/obj/structure/sign/poster/official/get_your_legs{ - pixel_x = -32 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"gW" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 6; - pixel_x = -9; - pixel_y = -6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"hb" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/item/storage/fancy/candle_box{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/structure/sign/warning/nosmoking{ - pixel_y = 32 - }, -/obj/structure/sign/poster/official/moth/smokey{ - pixel_x = 32 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"hj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"hr" = ( -/obj/structure/table/wood/fancy, -/obj/item/toy/figure/curator{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/item/toy/figure/paramedic{ - pixel_y = 1; - pixel_x = 6 - }, -/obj/item/trash/candle{ - pixel_x = -8; - pixel_y = 10 - }, -/obj/item/candle{ - pixel_x = -4 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"hW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"hY" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 8; - pixel_y = 4; - pixel_x = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"iw" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 8; - pixel_x = 2; - pixel_y = -9 - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"iN" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 10; - pixel_x = -17; - pixel_y = 4 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"iQ" = ( -/obj/structure/bookcase/random/adult, -/turf/open/floor/wood, -/area/ruin/jungle) -"iU" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/garbage{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/structure/closet/crate/bin, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"jk" = ( -/obj/structure/grille/broken{ - icon_state = "brokenratvargrille" - }, -/obj/effect/decal/cleanable/glass{ - pixel_x = 5; - dir = 4 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"jG" = ( -/obj/structure/sign/painting/library, -/turf/closed/wall/mineral/wood, -/area/ruin/jungle) -"jI" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"ke" = ( -/obj/effect/decal/cleanable/blood/tracks, -/obj/effect/decal/cleanable/blood/footprints, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"km" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle) -"kw" = ( -/obj/machinery/light/broken, -/turf/open/floor/wood, -/area/ruin/jungle) -"kx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"ky" = ( -/obj/structure/door_assembly/door_assembly_wood, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/wood, -/area/ruin/jungle) -"kz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"kD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/book/manual/wiki/medicine{ - pixel_x = 14 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 8 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"kE" = ( -/obj/effect/mob_spawn/human/corpse/assistant{ - name = "Chaplain"; - outfit = /datum/outfit/job/chaplain - }, -/obj/effect/decal/cleanable/blood{ - pixel_y = 14 - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor4"; - pixel_x = -24 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/broken{ - dir = 1 - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle) -"kF" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"kG" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/vending/cola/space_up, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/wood, -/area/ruin/jungle) -"kK" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/chair/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor3"; - pixel_x = -14; - pixel_y = 3 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood{ - icon_state = "wood-broken3" - }, -/area/ruin/jungle) -"kN" = ( -/obj/structure/flora/junglebush/c, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"kU" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood{ - icon_state = "wood-broken3" - }, -/area/ruin/jungle) -"kV" = ( -/obj/effect/decal/cleanable/plastic, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor4"; - pixel_x = 13 - }, -/mob/living/simple_animal/hostile/gorilla{ - dir = 4 - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"la" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/generic, -/obj/machinery/light/broken, -/turf/open/floor/wood, -/area/ruin/jungle) -"lb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken" - }, -/area/ruin/jungle) -"lg" = ( -/obj/effect/decal/cleanable/glass{ - dir = 1 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"lh" = ( -/obj/structure/flora/grass/jungle{ - pixel_x = -8; - pixel_y = 10 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"li" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"ln" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/vending/snack/green, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"lA" = ( -/obj/structure/table/wood, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"lB" = ( -/obj/structure/displaycase{ - start_showpiece_type = /obj/item/book_of_babel - }, -/obj/structure/spider/stickyweb, -/turf/open/floor/carpet/nanoweave, -/area/ruin/jungle) -"lD" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/mob_spawn/human/corpse/assistant{ - name = "Paramedic"; - outfit = /datum/outfit/job/paramedic; - backpack_contents = null - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor3"; - pixel_x = -6; - pixel_y = -2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"lM" = ( -/turf/closed/indestructible/wood, -/area/ruin/jungle) -"lY" = ( -/obj/structure/table/wood/reinforced, -/obj/item/storage/photo_album/library{ - pixel_x = -12 - }, -/obj/item/photo/old{ - pixel_x = 4 - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"mk" = ( -/obj/structure/flora/grass/jungle{ - pixel_x = 1; - pixel_y = -2 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"mo" = ( -/obj/structure/flora/tree/jungle/small, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"mt" = ( -/obj/structure/flora/grass/jungle/b{ - pixel_x = -6; - pixel_y = -4 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"mv" = ( -/obj/machinery/door/airlock/wood, -/turf/open/floor/plastic, -/area/ruin/jungle) -"mx" = ( -/obj/structure/bonfire/prelit, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"mz" = ( -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"mF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"mG" = ( -/obj/structure/sign/departments/holy{ - pixel_y = 32 - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"mK" = ( -/obj/effect/decal/cleanable/dirt/dust, -/mob/living/carbon/monkey/angry{ - faction = list("jungle") - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"mP" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 8; - pixel_y = 4; - pixel_x = 1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"mS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/railing/wood, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"mV" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 5; - pixel_y = 9; - pixel_x = -1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"mW" = ( -/obj/structure/bookcase, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"mX" = ( -/obj/structure/grille/broken, -/turf/open/floor/wood, -/area/ruin/jungle) -"na" = ( -/obj/structure/sign/poster/official/focus{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"ng" = ( -/obj/effect/turf_decal/chapel{ - dir = 4 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/jungle) -"nn" = ( -/obj/structure/showcase/cyborg, -/obj/effect/turf_decal/siding/brown{ - dir = 10 - }, -/obj/machinery/door/poddoor/shutters/indestructible{ - id = "library_shutters" - }, -/turf/open/floor/carpet/nanoweave, -/area/ruin/jungle) -"ns" = ( -/obj/structure/chair/pew{ - dir = 1 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"nu" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine/dense{ - name = "dense vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"nw" = ( -/obj/structure/flora/junglebush/b, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"nJ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"oc" = ( -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"oe" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/broken{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"of" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"on" = ( -/turf/open/floor/carpet/nanoweave, -/area/ruin/jungle) -"oq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"oN" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_y = 7; - pixel_x = -8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"oP" = ( -/obj/effect/turf_decal/siding/brown{ - dir = 4 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/carpet/nanoweave, -/area/ruin/jungle) -"oT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/wood, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"pk" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile, -/turf/open/floor/wood, -/area/ruin/jungle) -"pF" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/storage/box/papersack{ - icon_state = "paperbag_Heart_closed"; - pixel_x = 3; - pixel_y = 5 - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"pX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/vomit/old{ - pixel_x = 3; - pixel_y = -14 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"pY" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_y = -16; - dir = 4; - pixel_x = 2 - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"qg" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/reagent_containers/food/snacks/grilledcheese{ - pixel_x = 4; - pixel_y = 13 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/cola{ - pixel_x = -7; - pixel_y = -4 - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"ql" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/chair/comfy/orange/directional/east, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"qm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/ammo_casing/shotgun/buckshot{ - icon_state = "buckshot-spent"; - desc = "A 12 gauge buckshot shell. It is spent."; - projectile_type = null - }, -/obj/item/ammo_casing/shotgun/buckshot{ - icon_state = "buckshot-spent"; - desc = "A 12 gauge buckshot shell. It is spent."; - projectile_type = null; - pixel_x = -5; - pixel_y = -6 - }, -/obj/item/ammo_casing/shotgun/buckshot{ - icon_state = "buckshot-spent"; - desc = "A 12 gauge buckshot shell. It is spent."; - projectile_type = null; - pixel_x = 6; - pixel_y = -1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"qB" = ( -/obj/structure/flora/rock/jungle{ - pixel_x = -8; - pixel_y = -36 - }, -/obj/structure/flora/tree/jungle/small{ - pixel_x = -37 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"rf" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_x = 11; - pixel_y = -9; - dir = 1 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_x = 2; - pixel_y = -9 - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"rl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"rE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 9; - pixel_x = -9; - pixel_y = -6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/broken{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"rN" = ( -/obj/structure/chair/pew/left{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/dark, -/area/ruin/jungle) -"rS" = ( -/obj/structure/flora/grass/jungle{ - pixel_x = 6; - pixel_y = 11 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"rT" = ( -/turf/open/floor/wood{ - icon_state = "wood-broken2" - }, -/area/ruin/jungle) -"rU" = ( -/obj/structure/flora/junglebush/b{ - pixel_x = -13; - pixel_y = 3 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"sd" = ( -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood{ - icon_state = "wood-broken6" - }, -/area/ruin/jungle) -"sg" = ( -/obj/effect/turf_decal/chapel{ - dir = 8 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/jungle) -"sj" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood{ - icon_state = "wood-broken2" - }, -/area/ruin/jungle) -"st" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"sL" = ( -/obj/item/stack/sheet/mineral/wood{ - pixel_x = 12; - pixel_y = 5 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken4" - }, -/area/ruin/jungle) -"tb" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"th" = ( -/obj/effect/turf_decal/siding/brown{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters/indestructible{ - id = "library_shutters" - }, -/turf/open/floor/carpet/nanoweave, -/area/ruin/jungle) -"tk" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken3" - }, -/area/ruin/jungle) -"to" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/stool{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/jungle) -"tA" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 5; - pixel_y = -1; - pixel_x = 1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"tO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/broken{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"ui" = ( -/obj/machinery/door/keycard/library, -/obj/effect/turf_decal/siding/brown{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ruin/jungle) -"uk" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 4; - pixel_y = 4; - pixel_x = -12 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"uF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 4; - pixel_y = -13; - pixel_x = 3 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/ruin/jungle) -"uI" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"uR" = ( -/obj/item/stack/sheet/mineral/wood{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"uU" = ( -/obj/structure/grille, -/obj/structure/spacevine/dense{ - name = "dense vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"vb" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/destructible/tribal_torch/lit{ - pixel_y = 5 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"vs" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"vw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/comfy/orange/directional/east, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"vz" = ( -/obj/structure/flora/junglebush/b{ - pixel_x = -1; - pixel_y = 7 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"vA" = ( -/turf/open/floor/wood{ - icon_state = "wood-broken5" - }, -/area/ruin/jungle) -"vL" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"vS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/book/manual/wiki/engineering{ - pixel_x = -6; - pixel_y = 9 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 4; - pixel_y = -7; - pixel_x = 8 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"vT" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken7" - }, -/area/ruin/jungle) -"vV" = ( -/obj/item/book/random{ - pixel_x = -3; - pixel_y = -1 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 5; - pixel_y = -1; - pixel_x = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"vZ" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"wa" = ( -/turf/open/floor/carpet/red_gold, -/area/ruin/jungle) -"we" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood{ - icon_state = "wood-broken2" - }, -/area/ruin/jungle) -"wp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken2" - }, -/area/ruin/jungle) -"wq" = ( -/obj/effect/decal/cleanable/dirt/dust, -/mob/living/carbon/monkey/angry{ - faction = list("jungle") - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"wr" = ( -/obj/structure/rack, -/obj/item/toy/plush/hornet/gay{ - pixel_x = -5; - pixel_y = 9 - }, -/obj/item/toy/windupToolbox{ - pixel_y = -6; - pixel_x = 5 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"wv" = ( -/obj/item/clothing/neck/stethoscope{ - pixel_x = -8; - pixel_y = -6 - }, -/obj/item/mecha_parts/mecha_equipment/drill{ - pixel_x = 9; - pixel_y = 10; - name = "broken thermal drill"; - desc = "The tip of this drill seems to have been dulled." - }, -/turf/open/floor/carpet/black, -/area/ruin/jungle) -"wx" = ( -/turf/open/floor/wood{ - icon_state = "wood-broken6" - }, -/area/ruin/jungle) -"wD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"wQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 9; - pixel_x = -2 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"xd" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/ruin/jungle) -"xf" = ( -/turf/open/floor/wood, -/area/ruin/jungle) -"xi" = ( -/obj/structure/table/wood/reinforced, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"xp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/chair/comfy/orange/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"yh" = ( -/obj/item/kirbyplants{ - pixel_x = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"yv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/chair/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"yG" = ( -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle) -"yJ" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 5 - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "bloodyhands_left" - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"zB" = ( -/obj/structure/table/wood/fancy, -/obj/item/toy/figure/cargotech{ - pixel_x = -10; - pixel_y = 12 - }, -/obj/item/toy/figure/secofficer{ - pixel_x = -5; - pixel_y = -1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"zD" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle) -"zE" = ( -/obj/effect/turf_decal/chapel, -/obj/item/chair/stool{ - dir = 1 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/jungle) -"zH" = ( -/obj/item/stack/sheet/mineral/wood{ - pixel_x = -4; - pixel_y = 5 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/ruin/jungle) -"zI" = ( -/obj/structure/flora/grass/jungle/b{ - pixel_x = 12; - pixel_y = 2 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"Ad" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/item/candle{ - pixel_x = -4; - pixel_y = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"Aj" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 10; - pixel_x = 9; - pixel_y = 1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Ax" = ( -/obj/effect/decal/cleanable/blood{ - icon_state = "floor6"; - pixel_x = 7 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"AA" = ( -/obj/effect/mob_spawn/human/corpse/assistant{ - oxy_damage = 200; - name = "Dungeon Master"; - outfit = /datum/outfit/job/curator; - backpack_contents = null - }, -/obj/effect/decal/cleanable/blood, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"AJ" = ( -/obj/structure/flora/junglebush/large{ - pixel_y = -6 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"AT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/book/manual/wiki/piloting{ - pixel_y = 7; - pixel_x = 5 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_y = -1; - pixel_x = 12; - dir = 10 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_y = 17; - pixel_x = -2; - dir = 1 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_y = -5; - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"AU" = ( -/obj/item/stack/sheet/mineral/wood{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"Bb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/broken{ - dir = 4 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/ruin/jungle) -"Bk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/ammo_casing/shotgun/buckshot{ - icon_state = "buckshot-spent"; - desc = "A 12 gauge buckshot shell. It is spent."; - projectile_type = null; - pixel_x = -4; - pixel_y = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"Bl" = ( -/obj/structure/flora/grass/jungle{ - pixel_x = -8 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"Br" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"Bx" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/destructible/tribal_torch/lit{ - pixel_y = 5 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"By" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_y = 13 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_y = 1; - pixel_x = -8; - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"BF" = ( -/turf/open/floor/plasteel/stairs/left{ - color = "#A47449" - }, -/area/ruin/jungle) -"BJ" = ( -/obj/structure/sign/poster/official/foam_force_ad{ - pixel_y = -32 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"BL" = ( -/obj/structure/bookcase/random/nonfiction, -/turf/open/floor/wood, -/area/ruin/jungle) -"BR" = ( -/obj/item/stack/sheet/mineral/wood{ - pixel_x = -4; - pixel_y = 5 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"BT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/mob_spawn/human/corpse/assistant{ - name = "Security Officer"; - outfit = /datum/outfit/job/security; - backpack_contents = null - }, -/obj/item/melee/baton{ - pixel_x = 3; - pixel_y = 17 - }, -/obj/effect/decal/cleanable/blood{ - pixel_y = -6; - pixel_x = -6 - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor2"; - pixel_x = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"Cv" = ( -/obj/effect/turf_decal/chapel, -/obj/structure/chair/stool{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/jungle) -"CF" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 9; - pixel_y = 9; - pixel_x = 10 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"CG" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"Dr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"DK" = ( -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"DL" = ( -/obj/item/flashlight/flare/torch{ - pixel_x = -13; - pixel_y = 7 - }, -/obj/item/flashlight/flare/torch{ - pixel_x = -7; - pixel_y = -2 - }, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"DM" = ( -/obj/structure/flora/grass/jungle{ - pixel_x = 6; - pixel_y = -15 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"Ef" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"Eu" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = 11; - pixel_y = -9 - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"EE" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/broken, -/mob/living/carbon/monkey/angry{ - faction = list("jungle") - }, -/turf/open/floor/wood{ - icon_state = "wood-broken3" - }, -/area/ruin/jungle) -"EL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"EO" = ( -/obj/effect/mob_spawn/human/corpse/assistant{ - name = "Curator"; - outfit = /datum/outfit/job/curator; - brute_damage = 400; - backpack_contents = null - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor3" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"ES" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/wood, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle) -"EW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood{ - icon_state = "wood-broken6" - }, -/area/ruin/jungle) -"EY" = ( -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = -32 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plastic, -/area/ruin/jungle) -"Fc" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken2" - }, -/area/ruin/jungle) -"Fi" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"Fm" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"Fv" = ( -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken" - }, -/area/ruin/jungle) -"Fx" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/obj/item/ammo_casing/c10mm{ - icon_state = "magnum-brass-nagant"; - projectile_type = null; - desc = "A 10mm bullet casing. It is spent."; - pixel_x = 7; - pixel_y = -7 - }, -/obj/item/melee/curator_whip{ - pixel_x = -2; - pixel_y = 4 - }, -/mob/living/simple_animal/hostile/gorilla, -/turf/open/floor/wood, -/area/ruin/jungle) -"Gc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/red_gold, -/area/ruin/jungle) -"Gd" = ( -/obj/structure/flora/grass/jungle{ - pixel_x = 12; - pixel_y = 6 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"Gh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/broken{ - dir = 4 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood{ - icon_state = "wood-broken6" - }, -/area/ruin/jungle) -"Gp" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 5; - pixel_x = 7; - pixel_y = -6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"Gr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/mob_spawn/human/corpse/syndicatesoldier, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor3"; - pixel_x = -19; - pixel_y = 3 - }, -/obj/effect/decal/cleanable/blood{ - pixel_y = 14; - pixel_x = 7 - }, -/turf/open/floor/carpet/red_gold, -/area/ruin/jungle) -"Ha" = ( -/obj/structure/flora/rock/jungle{ - pixel_x = -8 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"Hb" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/blood/drip{ - pixel_y = 11; - pixel_x = 11 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/trash/can{ - pixel_y = 11; - pixel_x = 11 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Hj" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/vending/coffee, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/wood, -/area/ruin/jungle) -"Hm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/mob/living/carbon/monkey/angry{ - faction = list("jungle") - }, -/turf/open/floor/carpet/red_gold, -/area/ruin/jungle) -"Hp" = ( -/obj/structure/safe, -/obj/item/codespeak_manual, -/obj/item/keycard/library, -/obj/item/key/displaycase, -/obj/structure/spider/stickyweb, -/turf/open/floor/carpet/black, -/area/ruin/jungle) -"Hq" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_y = 17; - pixel_x = -2; - dir = 4 - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"HH" = ( -/obj/structure/bookcase, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ruin/jungle) -"HI" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/item/toy/cards/deck/cas{ - pixel_x = -3; - pixel_y = 12 - }, -/obj/item/toy/cards/deck/cas/black{ - pixel_y = 3; - pixel_x = 3 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"Ic" = ( -/obj/effect/decal/cleanable/blood/footprints{ - dir = 4 - }, -/obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/wood, -/area/ruin/jungle) -"If" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 5; - pixel_y = -2; - pixel_x = -6 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_y = 12; - pixel_x = 6 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Ik" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/book/manual/wiki/surgery{ - pixel_y = 11; - pixel_x = -4 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Iv" = ( -/obj/structure/table/wood/fancy, -/obj/item/storage/pill_bottle/dice{ - pixel_x = -3; - pixel_y = 8 - }, -/obj/item/dice/d20{ - pixel_x = 12; - pixel_y = 2 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"IM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_y = -14; - dir = 5; - pixel_x = -4 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Jd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"Jn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_y = -12; - pixel_x = -5; - dir = 1 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_y = 15; - dir = 9; - pixel_x = 1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Jo" = ( -/obj/structure/toilet{ - dir = 4 - }, -/obj/machinery/shower{ - dir = 4; - pixel_y = 8 - }, -/turf/open/floor/plastic, -/area/ruin/jungle) -"Jp" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 10; - pixel_y = -3; - pixel_x = -3 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"Jr" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/blood/drip, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood{ - icon_state = "wood-broken4" - }, -/area/ruin/jungle) -"Js" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Jw" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_y = -23; - dir = 10; - pixel_x = 5 - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"Jy" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 9; - pixel_x = -2 - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"JA" = ( -/obj/structure/bookcase/manuals/medical, -/turf/open/floor/wood, -/area/ruin/jungle) -"JE" = ( -/obj/structure/flora/rock/pile/largejungle{ - pixel_x = -29; - pixel_y = 2 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"JH" = ( -/obj/effect/mob_spawn/human/corpse/assistant{ - oxy_damage = 200 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plastic, -/area/ruin/jungle) -"JL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/carpet/red_gold, -/area/ruin/jungle) -"JM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken6" - }, -/area/ruin/jungle) -"JY" = ( -/obj/structure/flora/rock/pile/largejungle{ - pixel_x = -29; - pixel_y = -18 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"Kj" = ( -/obj/effect/turf_decal/chapel{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/jungle) -"Kr" = ( -/obj/effect/decal/cleanable/dirt/dust, -/mob/living/carbon/monkey/angry{ - faction = list("jungle") - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"Kw" = ( -/obj/machinery/holopad/emergency/curator, -/obj/effect/turf_decal/siding/wood/end, -/turf/open/floor/wood, -/area/ruin/jungle) -"Kx" = ( -/obj/structure/flora/grass/jungle{ - pixel_x = 6; - pixel_y = -15 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"Kz" = ( -/obj/structure/table/wood/fancy, -/obj/item/pizzabox/margherita{ - pixel_y = 10 - }, -/obj/item/pizzabox/pineapple{ - pixel_y = 13; - pixel_x = -1 - }, -/obj/item/pizzabox/meat{ - pixel_y = 16; - pixel_x = 1 - }, -/obj/item/storage/cans/sixbeer{ - pixel_y = 13; - pixel_x = 1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"KA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"KL" = ( -/obj/structure/barricade/wooden, -/obj/structure/spacevine/dense{ - name = "dense vines" - }, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"KR" = ( -/obj/effect/mob_spawn/human/corpse/cargo_tech{ - backpack_contents = null - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor4"; - pixel_x = -21; - pixel_y = 7 - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor6"; - pixel_x = 7 - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor7"; - pixel_y = -8; - pixel_x = -9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"KS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_y = 13 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"KX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/ammo_casing/c10mm{ - icon_state = "magnum-brass-nagant"; - projectile_type = null; - desc = "A 10mm bullet casing. It is spent."; - pixel_x = 3; - pixel_y = 5 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/ruin/jungle) -"Lh" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 6; - pixel_y = -1; - pixel_x = -1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Lv" = ( -/obj/structure/bookcase/manuals/engineering, -/turf/open/floor/wood, -/area/ruin/jungle) -"LA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"LQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/table/wood, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"LZ" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Mb" = ( -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plasteel/stairs/right{ - color = "#A47449" - }, -/area/ruin/jungle) -"Me" = ( -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"Mf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 10; - pixel_y = -13; - pixel_x = 18 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"Mg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 8; - pixel_x = -4; - pixel_y = 4 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Mh" = ( -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/machinery/door/airlock/wood/glass, -/obj/structure/sign/departments/restroom{ - pixel_x = -32 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Ml" = ( -/obj/structure/showcase/cyborg/old, -/obj/effect/turf_decal/siding/brown{ - dir = 6 - }, -/obj/machinery/door/poddoor/shutters/indestructible{ - id = "library_shutters" - }, -/turf/open/floor/carpet/nanoweave, -/area/ruin/jungle) -"Mn" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"Mp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/chair/comfy/orange/directional/west, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"Mx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/jungle) -"MD" = ( -/obj/structure/flora/junglebush/large, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"ME" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"MI" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/blood/tracks{ - dir = 6 - }, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = 11; - pixel_y = 5 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"MP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/shreds{ - pixel_y = 4; - pixel_x = -8 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/ruin/jungle) -"MQ" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/railing/wood, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"MT" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken3" - }, -/area/ruin/jungle) -"MU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 9; - pixel_y = 4; - pixel_x = 1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"MV" = ( -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/machinery/door/airlock/wood/glass, -/turf/open/floor/wood, -/area/ruin/jungle) -"MY" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/storage/fancy/cigarettes/cigpack_robust{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/item/storage/fancy/cigarettes/cigpack_robust{ - pixel_x = 6; - pixel_y = 5 - }, -/obj/item/clothing/mask/cigarette/robust{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/lighter{ - pixel_y = -10; - pixel_x = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"Nf" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/vending/games, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"Nt" = ( -/obj/structure/closet/wardrobe/curator{ - populate = 0 - }, -/obj/item/storage/box/hero/astronaut, -/obj/item/storage/box/hero/carphunter, -/obj/item/storage/box/hero/ghostbuster, -/obj/item/storage/box/hero/scottish, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Nw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 4; - pixel_x = -4; - pixel_y = 4 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"NB" = ( -/obj/structure/flora/grass/jungle{ - pixel_x = -4; - pixel_y = -2 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"NC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood/footprints, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"NI" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/shreds{ - pixel_x = 9; - pixel_y = 12 - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"NK" = ( -/obj/machinery/photocopier, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"NN" = ( -/obj/structure/flora/tree/jungle, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"NS" = ( -/obj/structure/table/wood/reinforced, -/obj/machinery/computer/bookmanagement, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"NV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor7"; - pixel_y = -1; - pixel_x = -8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/wood, -/area/ruin/jungle) -"NX" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/broken{ - dir = 1 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle) -"NY" = ( -/turf/template_noop, -/area/template_noop) -"Oa" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood{ - icon_state = "wood-broken2" - }, -/area/ruin/jungle) -"Oi" = ( -/obj/item/book/manual{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"Oj" = ( -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"Ou" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken4" - }, -/area/ruin/jungle) -"Oz" = ( -/obj/structure/showcase/machinery/microwave, -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/brown{ - dir = 9 - }, -/obj/machinery/door/poddoor/shutters/indestructible{ - id = "library_shutters" - }, -/turf/open/floor/carpet/nanoweave, -/area/ruin/jungle) -"OO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"OY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Pf" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood{ - icon_state = "wood-broken5" - }, -/area/ruin/jungle) -"Ps" = ( -/obj/structure/fluff/hedge, -/turf/open/floor/wood, -/area/ruin/jungle) -"Pt" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Pu" = ( -/obj/item/paper/crumpled/bloody{ - default_raw_text = "Those damn bastards came and shot up the place. I refused to give them my knowledge. I don't have much longer. Keep it safe, please..."; - pixel_x = 8; - pixel_y = 4; - desc = "A hastily written note." - }, -/obj/effect/decal/cleanable/blood/splatter{ - pixel_x = 4; - pixel_y = -8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/wood, -/area/ruin/jungle) -"Pv" = ( -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"Pw" = ( -/obj/effect/decal/cleanable/glass{ - dir = 8 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"Py" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken5" - }, -/area/ruin/jungle) -"Pz" = ( -/obj/structure/table/wood/fancy, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 10; - pixel_x = -5; - pixel_y = 4; - name = "scattered character sheets"; - desc = "It seems like character sheets for the latest Pathfinder 13e." - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"PJ" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"PW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/book/manual/wiki/robotics{ - pixel_x = -5; - pixel_y = 4 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 8; - pixel_x = 12 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood{ - icon_state = "wood-broken4" - }, -/area/ruin/jungle) -"Qd" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 4; - pixel_x = -12; - pixel_y = -1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"Qy" = ( -/obj/item/ammo_casing/shotgun/buckshot{ - icon_state = "buckshot-spent"; - desc = "A 12 gauge buckshot shell. It is spent."; - projectile_type = null; - pixel_x = -5; - pixel_y = -6 - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"QF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"QV" = ( -/obj/effect/decal/cleanable/blood/footprints{ - dir = 1; - pixel_x = 3 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/ruin/jungle) -"Rh" = ( -/obj/item/rack_parts, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"Rs" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 8; - pixel_y = 8; - pixel_x = -9 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Ru" = ( -/obj/structure/bookcase/random/religion, -/turf/open/floor/wood, -/area/ruin/jungle) -"Rv" = ( -/obj/effect/decal/cleanable/dirt/dust, -/mob/living/carbon/monkey/angry{ - faction = list("jungle") - }, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"RH" = ( -/obj/structure/flora/rock/jungle{ - pixel_x = -13 - }, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"RK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/broken{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Sa" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 1; - pixel_y = -13; - pixel_x = 3 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"Sf" = ( -/obj/structure/rack, -/obj/item/toy/gun, -/turf/open/floor/wood, -/area/ruin/jungle) -"Sg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/official/soft_cap_pop_art{ - pixel_x = 32 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Si" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"Sq" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood{ - icon_state = "wood-broken6" - }, -/area/ruin/jungle) -"Su" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 5; - pixel_x = -1; - pixel_y = 6 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Sv" = ( -/obj/structure/barricade/wooden, -/obj/structure/spacevine/dense{ - name = "dense vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Sy" = ( -/obj/structure/chair/pew/right{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/dark, -/area/ruin/jungle) -"SB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/broken{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"SN" = ( -/obj/item/book/manual/wiki/command{ - pixel_y = 5; - pixel_x = -5 - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"SV" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_x = -9; - pixel_y = -6 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Tb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/broken{ - dir = 8 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken2" - }, -/area/ruin/jungle) -"Tm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"TA" = ( -/obj/item/kirbyplants{ - pixel_x = -8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/ruin/jungle) -"TC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/closed/mineral/random/jungle, -/area/ruin/jungle) -"TE" = ( -/obj/structure/bookcase/manuals/chemistry, -/turf/open/floor/wood, -/area/ruin/jungle) -"TH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"TW" = ( -/obj/machinery/light/broken, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"TX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"TY" = ( -/obj/structure/flora/grass/jungle{ - pixel_x = -14; - pixel_y = 11 - }, -/turf/open/floor/plating/dirt/jungle, -/area/ruin/jungle) -"Us" = ( -/obj/item/toy/plush/moth{ - pixel_x = 5; - pixel_y = -6; - name = "librarian moth plushie" - }, -/obj/item/reagent_containers/food/drinks/mug/coco{ - pixel_x = -9; - pixel_y = -8 - }, -/obj/item/clothing/glasses/regular{ - pixel_x = 6; - pixel_y = -2; - name = "reading glasses" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Ut" = ( -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"Uw" = ( -/obj/structure/chair/pew/right{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plasteel/dark, -/area/ruin/jungle) -"UH" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"Vd" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/stack/medical/gauze{ - pixel_x = -5; - pixel_y = 6 - }, -/turf/open/floor/carpet/red_gold, -/area/ruin/jungle) -"Vf" = ( -/obj/effect/decal/cleanable/blood{ - icon_state = "floor4"; - pixel_x = 13 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/broken{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Vt" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Vu" = ( -/turf/closed/wall/mineral/wood, -/area/ruin/jungle) -"VM" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 9; - pixel_x = -2 - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"VP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/ruin/jungle) -"VW" = ( -/obj/structure/bookcase, -/turf/open/floor/wood, -/area/ruin/jungle) -"Wh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/structure/railing/wood, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Wl" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood{ - icon_state = "wood-broken5" - }, -/area/ruin/jungle) -"Wm" = ( -/obj/item/ammo_casing/c10mm{ - icon_state = "magnum-brass-nagant"; - projectile_type = null; - desc = "A 10mm bullet casing. It is spent."; - pixel_x = 7; - pixel_y = -7 - }, -/obj/item/ammo_casing/c10mm{ - icon_state = "magnum-brass-nagant"; - projectile_type = null; - desc = "A 10mm bullet casing. It is spent."; - pixel_x = -4; - pixel_y = -6 - }, -/obj/item/ammo_casing/c10mm{ - icon_state = "magnum-brass-nagant"; - projectile_type = null; - desc = "A 10mm bullet casing. It is spent."; - pixel_x = 2 - }, -/turf/open/floor/wood/walnut, -/area/ruin/jungle) -"Wn" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken5" - }, -/area/ruin/jungle) -"Wq" = ( -/obj/structure/chair/pew/left{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/jungle) -"Wt" = ( -/obj/structure/altar_of_gods, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle) -"WD" = ( -/obj/structure/showcase/machinery/cloning_pod, -/obj/effect/turf_decal/siding/brown{ - dir = 5 - }, -/obj/machinery/door/poddoor/shutters/indestructible{ - id = "library_shutters" - }, -/turf/open/floor/carpet/nanoweave, -/area/ruin/jungle) -"WL" = ( -/turf/closed/mineral/random/jungle, -/area/ruin/jungle) -"WM" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/blood/splatter{ - pixel_x = 8; - pixel_y = 7 - }, -/obj/machinery/light/broken, -/turf/open/floor/wood, -/area/ruin/jungle) -"Xk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"Xm" = ( -/obj/effect/turf_decal/chapel{ - dir = 8 - }, -/obj/structure/chair/stool{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/jungle) -"Xv" = ( -/obj/structure/closet/wardrobe/chaplain_black{ - populate = 0 - }, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/m10mm, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/jungle) -"XL" = ( -/obj/machinery/bookbinder, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"XP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 9; - pixel_x = -1; - pixel_y = -6 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"XQ" = ( -/obj/structure/sign/poster/official/pda_ad{ - pixel_x = -32 - }, -/obj/machinery/light/broken{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"XV" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - pixel_x = 3; - pixel_y = 10; - dir = 1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"XY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/book/manual/wiki/piloting{ - pixel_x = 2; - pixel_y = 10 - }, -/obj/item/book/manual/wiki/medicine{ - pixel_x = -3; - pixel_y = -9 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 9; - pixel_x = 3; - pixel_y = -7 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Yc" = ( -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken5" - }, -/area/ruin/jungle) -"Yv" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/item/toy/plush/among{ - pixel_x = 11; - pixel_y = 4 - }, -/obj/item/clothing/glasses/regular{ - pixel_x = -2; - pixel_y = -2; - name = "reading glasses" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"YO" = ( -/obj/machinery/button/door{ - dir = 4; - pixel_x = -14; - pixel_y = -1; - id = "library_shutters"; - name = "Shutters Button" - }, -/obj/effect/decal/cleanable/plastic, -/turf/open/floor/carpet/nanoweave, -/area/ruin/jungle) -"YP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/table/wood, -/obj/item/candle{ - pixel_x = -4 - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"YT" = ( -/obj/effect/turf_decal/chapel{ - dir = 4 - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/jungle) -"YU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/chair/comfy/orange/directional/west, -/obj/structure/spacevine{ - name = "vines" - }, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"YZ" = ( -/obj/machinery/vending/wardrobe/curator_wardrobe, -/obj/structure/spacevine{ - name = "vines" - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Za" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 6; - pixel_y = 4; - pixel_x = 1 - }, -/turf/open/floor/wood, -/area/ruin/jungle) -"Zb" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -13; - pixel_y = 10 - }, -/turf/open/floor/carpet/red, -/area/ruin/jungle) -"Zf" = ( -/obj/structure/flora/junglebush/c{ - pixel_x = 5; - pixel_y = 2 - }, -/turf/open/floor/plating/grass/jungle, -/area/ruin/jungle) -"Zq" = ( -/obj/effect/turf_decal/siding/brown{ - dir = 8 - }, -/obj/machinery/light/dim{ - dir = 8 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/carpet/nanoweave, -/area/ruin/jungle) -"Zw" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, -/obj/structure/sign/poster/rilena/random{ - pixel_y = 32 - }, -/obj/structure/spider/stickyweb, -/turf/open/floor/carpet/black, -/area/ruin/jungle) -"ZJ" = ( -/obj/effect/turf_decal/siding/brown, -/obj/machinery/door/poddoor/shutters/indestructible{ - id = "library_shutters" - }, -/turf/open/floor/carpet/nanoweave, -/area/ruin/jungle) -"ZN" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ruin/jungle) -"ZQ" = ( -/obj/structure/fluff/paper/stack{ - max_integrity = 10; - dir = 6; - pixel_y = 1; - pixel_x = -11 - }, -/turf/open/floor/wood, -/area/ruin/jungle) - -(1,1,1) = {" -NY -NY -NY -WL -NY -NY -NY -NY -NY -NY -NY -WL -NY -WL -NY -WL -WL -WL -WL -WL -WL -WL -WL -NY -NY -NY -WL -NY -WL -WL -WL -mz -NY -NY -NY -"} -(2,1,1) = {" -NY -NY -WL -WL -WL -NY -NY -WL -WL -WL -NY -WL -WL -NY -NY -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -mz -NY -NY -NY -"} -(3,1,1) = {" -NY -NY -WL -WL -WL -WL -WL -WL -WL -WL -NY -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -mz -mz -mz -Zf -NY -NY -"} -(4,1,1) = {" -NY -WL -WL -WL -WL -Vu -Vu -Vu -Vu -WL -WL -WL -Vu -pk -pk -Vu -Vu -Vu -KL -KL -Vu -WL -Vu -Vu -pk -pk -Vu -Vu -Fm -Oj -mz -mz -Kx -cO -cO -"} -(5,1,1) = {" -NY -WL -WL -WL -WL -Vu -Zw -Hp -Vu -WL -WL -WL -WL -bN -Ad -Tb -gQ -cl -PJ -Mn -Vu -Vu -Vu -pF -qg -dJ -bC -Fm -Fm -Vu -Vu -mz -Me -cP -cO -"} -(6,1,1) = {" -WL -WL -WL -WL -WL -Vu -gt -wv -Vu -Vu -WL -WL -WL -YU -xp -xf -UH -Pt -Mp -cf -vA -XQ -xf -mF -st -st -Xk -Fm -Pt -VW -Vu -mz -cO -cO -Pv -"} -(7,1,1) = {" -WL -WL -WL -WL -Vu -Vu -Pu -wp -Vu -cl -sd -Pt -Pt -Pt -Pt -UH -UH -UH -UH -UH -xf -mV -Rs -Lh -xf -Pf -cl -Pt -Pt -VW -Vu -mz -rU -Bl -cO -"} -(8,1,1) = {" -NY -WL -WL -WL -Vu -VW -fm -UH -Vu -na -Pt -xf -VW -iN -VW -Lv -JA -TE -fj -CF -VW -iQ -iQ -VW -iQ -eo -UH -Pt -cl -VW -Vu -mz -NN -cO -cO -"} -(9,1,1) = {" -NY -NY -WL -WL -WL -VW -Fx -Pt -Vu -Vf -Ax -oq -Mg -Nw -XP -vS -XY -kD -oq -LA -By -AT -PW -wQ -Ik -bF -oq -hW -Pt -VW -Vu -DK -cO -JY -cO -"} -(10,1,1) = {" -WL -WL -WL -WL -WL -WL -yJ -fi -dV -ke -MI -Ut -gW -Ou -iw -rf -Gp -vs -uk -VM -vs -Ou -vs -vs -vs -Ut -vs -nJ -EL -Pt -do -fL -DK -Me -cO -"} -(11,1,1) = {" -NY -NY -WL -WL -WL -WL -sd -Pt -Vu -bi -Wm -Qy -vs -vs -mK -vs -vs -SN -vs -vT -Fm -Fm -Fm -Fm -lb -vs -vs -Ut -wD -bR -Vu -Vu -Vu -mt -cO -"} -(12,1,1) = {" -NY -NY -WL -WL -WL -Vu -YZ -Nt -Vu -cs -Ut -vs -Ut -Jd -KA -KA -KA -EW -AU -OY -WL -WL -WL -Fm -OY -Dr -KA -KA -ME -Pt -Sf -bo -pk -mz -mo -"} -(13,1,1) = {" -NY -WL -WL -WL -WL -WL -Vu -Vu -Vu -Vu -vs -vs -Tm -UH -Ps -Ps -Ps -Ps -Ps -Oj -WL -WL -WL -WL -Fm -jG -fe -UH -UH -Oa -UH -dC -pk -cO -Gd -"} -(14,1,1) = {" -WL -WL -WL -WL -WL -WL -EY -Jo -Vu -Hj -vs -lb -qm -QV -ff -BT -LA -Bk -tk -Vt -Fm -WL -WL -jI -Fm -oq -yh -ZN -UH -wq -gL -wr -pk -mz -zI -"} -(15,1,1) = {" -WL -WL -WL -WL -WL -WL -JH -bs -Vu -Nf -vs -vs -pX -Ic -WM -lM -lM -lM -SB -Bx -Fm -Fm -Fm -Fm -xi -xi -xi -Ef -kw -Vu -Vu -Vu -Vu -Ha -cO -"} -(16,1,1) = {" -NY -WL -WL -WL -WL -WL -WL -mv -Vu -oe -Ut -vs -yv -Kz -Hb -Oz -Zq -nn -Ef -dq -Fi -Fi -TX -Wl -cn -XL -xi -Ef -UH -Sv -LZ -mS -DK -vz -cO -"} -(17,1,1) = {" -NY -NY -NY -WL -WL -WL -WL -nu -Mh -vZ -vs -Eu -AA -Iv -Sq -th -on -ZJ -Ef -dq -Ut -Fi -TX -vZ -Kr -oc -xi -Ef -Pf -Vu -Vu -MQ -MD -mx -kN -"} -(18,1,1) = {" -NY -NY -WL -WL -WL -WL -WL -nu -MV -vZ -vs -Ut -NV -hr -Jr -th -lB -ZJ -Ef -vZ -Yc -vs -Ef -vZ -Kw -of -gP -we -UH -UH -ky -Js -BF -DL -mz -"} -(19,1,1) = {" -WL -WL -WL -WL -WL -WL -WL -WL -Vu -di -vs -dh -oT -zB -lD -th -YO -ZJ -TX -UH -fC -vs -Ef -vZ -kV -NI -Zb -VP -UH -Vu -Vu -Js -Mb -Oj -mz -"} -(20,1,1) = {" -WL -WL -WL -WL -WL -WL -WL -xf -Vu -ln -Wn -KR -NC -Pz -kK -WD -oP -Ml -MP -vZ -Ut -MT -TX -vZ -EO -NK -lY -Ef -BJ -Vu -iU -Wh -mk -DM -mz -"} -(21,1,1) = {" -NY -WL -WL -WL -WL -WL -cl -Us -Vu -kG -vs -vs -Ef -Si -la -lM -ui -lM -RK -vb -Ut -vs -zH -vZ -xi -NS -xi -TX -EE -Vu -Vu -Vu -Vu -mz -mz -"} -(22,1,1) = {" -NY -NY -WL -NY -WL -Vu -Vu -Vu -Vu -Vu -mG -vs -Ef -UH -tb -Py -OY -OY -jI -Fm -WL -nJ -li -vL -wp -Dr -TA -ME -UH -Oj -Rh -lg -jk -RH -cO -"} -(23,1,1) = {" -NY -NY -NY -NY -WL -Vu -km -Mx -to -Wq -Ut -vs -li -UH -Ps -Ps -Ps -WL -WL -WL -Fv -nJ -vs -Ef -xf -jG -rT -kU -xf -Vt -qB -bK -DK -Bl -nw -"} -(24,1,1) = {" -NY -NY -NY -WL -WL -Vu -zD -Kj -sg -fR -vs -Ut -Ut -li -LA -oq -kx -Br -TC -WL -Fm -vs -Ut -li -UH -LA -Fi -LA -wx -Oj -Pw -bK -mX -cO -cO -"} -(25,1,1) = {" -NY -WL -WL -WL -Vu -Vu -kE -ng -Cv -Sy -vT -vs -vs -Ut -Ut -vs -Fc -nJ -Fm -Fm -vs -vs -Ut -Ut -Fm -Fm -Fm -Ut -BR -TW -Vu -Vu -Vu -cO -NN -"} -(26,1,1) = {" -WL -WL -WL -WL -WL -Wt -dn -LQ -Hm -JL -Ut -Ut -Ut -vs -vs -vs -Ut -Hq -Rv -Jy -pY -Jw -Ut -Fi -Fm -WL -Fm -Fm -wD -Vt -Vu -mz -mz -cO -NB -"} -(27,1,1) = {" -NY -WL -NY -WL -Vu -yG -eN -lA -wa -Vd -KX -Dr -MU -Dr -Za -uF -Sa -Mf -KS -Dr -Jn -ay -IM -OY -WL -WL -WL -OO -xd -HH -Vu -mz -TY -Kx -cO -"} -(28,1,1) = {" -NY -NY -NY -WL -Sv -Xv -eN -YP -Gc -Gr -aW -Aj -VW -sL -If -VW -BL -vV -Oi -oN -VW -Ru -Ru -Fm -WL -WL -WL -Fm -Fi -HH -Vu -mz -NN -rS -AJ -"} -(29,1,1) = {" -NY -WL -WL -WL -WL -Vu -NX -Kj -Xm -rN -xf -XV -mP -UH -uR -hY -Su -BL -ZQ -Qd -UH -ca -Fi -Fm -Fm -WL -WL -WL -Fm -HH -Vu -mz -lh -JE -Me -"} -(30,1,1) = {" -NY -NY -WL -WL -WL -Vu -eN -YT -zE -ns -SV -sj -LA -ql -QF -UH -Jp -tA -hj -kz -JM -tO -oq -rl -vw -WL -WL -Fm -Bb -mW -Vu -mz -an -mz -NY -"} -(31,1,1) = {" -NY -WL -WL -WL -WL -WL -ES -Oj -Oj -Uw -Gh -TH -Vu -Yv -fl -rE -Sg -Oj -HI -kF -Vu -Vu -Vu -hb -MY -CG -uI -Vu -Vu -Vu -Vu -WL -WL -WL -WL -"} -(32,1,1) = {" -NY -WL -WL -WL -WL -Vu -Vu -WL -Vu -Vu -Vu -KL -Vu -uU -WL -Vu -Vu -WL -WL -gk -Vu -NY -Vu -Vu -pk -pk -Vu -Vu -WL -WL -WL -WL -WL -WL -WL -"} -(33,1,1) = {" -NY -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -"} -(34,1,1) = {" -NY -WL -WL -WL -WL -WL -WL -NY -WL -WL -WL -WL -WL -WL -WL -NY -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -WL -"} -(35,1,1) = {" -NY -NY -WL -WL -NY -NY -WL -WL -WL -NY -WL -WL -WL -WL -NY -NY -WL -WL -WL -WL -WL -WL -WL -NY -NY -WL -WL -NY -WL -WL -WL -WL -WL -WL -NY -"} -(36,1,1) = {" -NY -NY -NY -NY -NY -NY -NY -NY -NY -NY -NY -NY -WL -NY -NY -NY -NY -NY -WL -WL -NY -NY -NY -NY -NY -NY -NY -NY -NY -NY -NY -NY -NY -NY -NY -"} diff --git a/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm b/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm index f5214804dbb..1afed51826a 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm @@ -811,10 +811,10 @@ /area/overmap_encounter/planetoid/jungle/explored) "fJ" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/plasteel/dark, /area/overmap_encounter/planetoid/jungle/explored) "fL" = ( @@ -2699,7 +2699,7 @@ /area/overmap_encounter/planetoid/jungle/explored) "sK" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/plasteel/grimy, /area/ruin/jungle/starport) "sN" = ( @@ -5613,9 +5613,9 @@ /obj/structure/closet, /obj/item/clothing/suit/armor/ngr/captain, /obj/item/clothing/under/syndicate/ngr/officer, -/obj/item/gun/ballistic/automatic/pistol/syndicate, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/m10mm, +/obj/item/gun/ballistic/automatic/pistol/ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, /turf/open/floor/wood{ icon_state = "wood-broken2" }, @@ -5787,9 +5787,9 @@ /area/overmap_encounter/planetoid/jungle/explored) "Nh" = ( /obj/structure/filingcabinet, -/obj/item/gun/ballistic/automatic/pistol/syndicate, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/m10mm, +/obj/item/gun/ballistic/automatic/pistol/ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, /turf/open/floor/mineral/plastitanium, /area/ruin/jungle/starport/tower) "Nj" = ( diff --git a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm index 781ae59a84f..e4199f6282b 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm @@ -167,7 +167,7 @@ /area/overmap_encounter/planetoid/cave/explored) "bH" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/cloth/grey, /obj/effect/decal/cleanable/shreds, /turf/open/floor/carpet/nanoweave/beige, @@ -192,7 +192,9 @@ /area/overmap_encounter/planetoid/jungle/explored) "bU" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/statue/sandstone/assistant, +/obj/item/kirbyplants{ + icon_state = "plant-10" + }, /obj/machinery/light_switch{ pixel_y = 21; pixel_x = -10 @@ -1026,15 +1028,11 @@ pixel_y = 32 }, /obj/structure/closet/secure_closet/freezer/wall/directional/west, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/condiment/enzyme{ +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/item/reagent_containers/condiment/enzyme{ pixel_x = -8; pixel_y = 5 }, @@ -1369,7 +1367,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 10 }, -/obj/item/gun/ballistic/shotgun/automatic/combat{ +/obj/item/gun/ballistic/shotgun/automatic/m11{ pixel_y = 5 }, /obj/item/gun/ballistic/revolver/ashhand{ @@ -1509,10 +1507,6 @@ }, /area/ruin/jungle/cavecrew/dormitories) "sJ" = ( -/obj/item/clothing/head/crown/fancy{ - pixel_y = 9; - pixel_x = 6 - }, /obj/structure/table/reinforced{ color = "#c1b6a5" }, @@ -1754,15 +1748,15 @@ pixel_y = -5 }, /obj/item/ammo_casing/a4570, -/obj/item/ammo_box/magazine/skm_545_39, -/obj/item/ammo_box/magazine/skm_545_39, -/obj/item/ammo_box/magazine/skm_545_39, +/obj/item/ammo_box/magazine/skm_46_30, +/obj/item/ammo_box/magazine/skm_46_30, +/obj/item/ammo_box/magazine/skm_46_30, /obj/item/ammo_box/magazine/illestren_a850r, /obj/item/ammo_box/magazine/illestren_a850r, /turf/open/floor/plasteel/tech, /area/ruin/jungle/cavecrew/security) "vr" = ( -/obj/machinery/computer/cargo/express, +/obj/machinery/computer/cargo, /turf/open/floor/plasteel/patterned, /area/ruin/jungle/cavecrew/cargo) "vH" = ( @@ -2227,7 +2221,7 @@ /area/ruin/jungle/cavecrew/bridge) "Be" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/cloth/grey, /turf/open/floor/carpet/red_gold, /area/ruin/jungle/cavecrew/dormitories) @@ -2416,7 +2410,7 @@ pixel_y = -8; pixel_x = 5 }, -/obj/item/melee/transforming/energy/sword/saber/pirate/red, +/obj/item/melee/energy/sword/saber/pirate/red, /turf/open/floor/wood, /area/ruin/jungle/cavecrew/dormitories) "Dh" = ( @@ -3934,9 +3928,9 @@ /obj/item/clothing/under/frontiersmen, /obj/item/clothing/under/frontiersmen, /obj/item/clothing/under/frontiersmen, -/obj/item/clothing/suit/armor/vest/bulletproof/frontier, -/obj/item/clothing/suit/armor/vest/bulletproof/frontier, -/obj/item/clothing/suit/armor/vest/bulletproof/frontier, +/obj/item/clothing/suit/armor/vest/frontier, +/obj/item/clothing/suit/armor/vest/frontier, +/obj/item/clothing/suit/armor/vest/frontier, /obj/item/clothing/head/helmet/bulletproof/x11/frontier, /obj/item/clothing/head/helmet/bulletproof/x11/frontier, /obj/item/clothing/head/helmet/bulletproof/x11/frontier, @@ -4082,7 +4076,7 @@ "WQ" = ( /obj/effect/turf_decal/industrial/outline/yellow, /obj/structure/closet/crate/secure/loot, -/obj/item/storage/box/inteqmaid{ +/obj/item/storage/box/maid{ pixel_x = -5; pixel_y = 3 }, diff --git a/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm b/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm index 057b0cbdbe8..4d17f130e1a 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm @@ -41,7 +41,7 @@ dir = 5 }, /obj/item/stack/cable_coil/cut/green, -/obj/item/reagent_containers/food/condiment/peppermill, +/obj/item/reagent_containers/condiment/peppermill, /turf/open/floor/plating/rust, /area/ruin/jungle/interceptor/starhall) "au" = ( @@ -992,9 +992,9 @@ /obj/structure/closet/wall/directional/east, /obj/item/reagent_containers/food/snacks/meat/slab/monkey, /obj/item/reagent_containers/food/snacks/meat/slab/monkey, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/rice, +/obj/item/reagent_containers/condiment/sugar, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/rice, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/jungle/interceptor/starhall) "hO" = ( @@ -1090,7 +1090,7 @@ /obj/item/radio, /obj/item/radio, /obj/item/clothing/under/color/jumpskirt/darkblue, -/obj/item/clothing/under/dress/skirt/blue, +/obj/item/clothing/under/dress/skirt/color/blue, /obj/effect/turf_decal/corner/opaque/black{ icon_state = "siding_line"; dir = 10 @@ -1516,7 +1516,7 @@ }, /obj/item/radio, /obj/item/radio, -/obj/item/clothing/under/dress/skirt/blue, +/obj/item/clothing/under/dress/skirt/color/blue, /obj/item/clothing/under/color/darkblue, /obj/effect/turf_decal/corner/opaque/black{ icon_state = "siding_line"; @@ -2887,7 +2887,7 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt/dust, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ pixel_x = 5; pixel_y = 5 }, @@ -3050,7 +3050,7 @@ /obj/item/clothing/under/rank/security/officer/blueshirt, /obj/item/clothing/gloves/combat, /obj/item/clothing/shoes/jackboots, -/obj/item/ammo_box/c9mm, +/obj/item/storage/box/ammo/c9mm, /obj/machinery/light/small/broken/directional/north, /obj/effect/turf_decal/corner/transparent/bar/three_quarters{ dir = 4 diff --git a/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm b/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm index fce0a7d6904..2e7e1e63bf1 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm @@ -939,26 +939,6 @@ /obj/effect/turf_decal/siding/wideplating/dark, /turf/open/floor/plasteel/dark, /area/ship/crew/office) -"oI" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/structure/table_frame, -/obj/item/shard{ - icon_state = "small"; - pixel_x = -2; - pixel_y = 11 - }, -/obj/effect/gibspawner/human, -/obj/item/ammo_box/magazine/skm_545_39, -/turf/open/floor/plasteel/tech, -/area/ship/science) "oJ" = ( /obj/effect/turf_decal/corner/opaque/blue{ dir = 4 @@ -1149,6 +1129,16 @@ }, /turf/open/floor/plasteel/tech, /area/ship/science) +"rX" = ( +/obj/effect/turf_decal/corner/opaque/mauve{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/mauve{ + dir = 1 + }, +/obj/effect/spawner/random/vending/snack, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) "sc" = ( /obj/effect/turf_decal/trimline/opaque/blue/filled/line{ dir = 6 @@ -1588,6 +1578,11 @@ }, /turf/open/floor/plasteel/white, /area/ship/science/storage) +"zU" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/grass, +/area/overmap_encounter/planetoid/jungle/explored) "Av" = ( /obj/effect/turf_decal/corner/opaque/mauve{ dir = 5 @@ -2101,16 +2096,6 @@ }, /turf/open/floor/plasteel/white, /area/ship/science) -"Ib" = ( -/obj/effect/turf_decal/corner/opaque/mauve{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/mauve{ - dir = 1 - }, -/obj/machinery/vending/snack/random, -/turf/open/floor/plasteel/dark, -/area/ship/crew/office) "Ie" = ( /obj/structure/railing{ dir = 6 @@ -2438,12 +2423,6 @@ }, /turf/open/floor/plasteel/white, /area/ship/science/storage) -"MB" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/effect/decal/cleanable/blood/splatter, -/obj/item/weldingtool/experimental, -/turf/open/floor/grass, -/area/overmap_encounter/planetoid/jungle/explored) "MF" = ( /obj/effect/turf_decal/corner/opaque/green{ dir = 9 @@ -2755,6 +2734,26 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/ship/crew/office) +"QO" = ( +/obj/effect/turf_decal/corner/opaque/green{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner{ + dir = 4 + }, +/obj/structure/table_frame, +/obj/item/shard{ + icon_state = "small"; + pixel_x = -2; + pixel_y = 11 + }, +/obj/effect/gibspawner/human, +/obj/item/ammo_box/magazine/skm_46_30, +/turf/open/floor/plasteel/tech, +/area/ship/science) "QY" = ( /turf/open/floor/plasteel/tech, /area/ship/medical) @@ -3173,7 +3172,7 @@ /obj/structure/closet/cabinet, /obj/item/hatchet/wooden, /obj/item/ammo_box/a357, -/obj/item/gun/ballistic/revolver/syndicate, +/obj/item/gun/ballistic/revolver/viper, /turf/open/floor/wood, /area/ship/bridge) "VM" = ( @@ -3647,7 +3646,7 @@ nr Zq NT RV -Ib +rX Zq ar kP @@ -3940,7 +3939,7 @@ Sh fC SQ Cv -MB +zU jl Wo Av @@ -4239,7 +4238,7 @@ Er RG nx ve -oI +QO Rm wQ Bc diff --git a/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm b/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm index 9457e639c5c..44d3379822b 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm @@ -292,8 +292,9 @@ /obj/effect/turf_decal/techfloor{ dir = 5 }, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 9 +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 4 }, /turf/open/floor/pod/light, /area/ruin/jungle/paradise/med) @@ -685,7 +686,7 @@ /turf/open/floor/plating/grass/jungle, /area/overmap_encounter/planetoid/cave/explored) "ei" = ( -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/plating/dirt/jungle/dark, /area/overmap_encounter/planetoid/cave/explored) "el" = ( @@ -798,7 +799,7 @@ /area/ruin/jungle/paradise/construction) "eY" = ( /obj/structure/table/reinforced, -/obj/item/kitchen/knife/butcher, +/obj/item/melee/knife/butcher, /obj/item/clothing/gloves/butchering, /turf/open/floor/pod/dark, /area/overmap_encounter/planetoid/cave/explored) @@ -989,7 +990,7 @@ /obj/structure/bed{ icon_state = "dirty_mattress" }, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/decal/cleanable/dirt, /obj/structure/railing{ color = "#A47449"; @@ -1446,7 +1447,7 @@ dir = 4; layer = 3.9 }, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/cable/yellow{ icon_state = "1-9" }, @@ -1465,19 +1466,19 @@ pixel_x = 9 }, /obj/structure/table/reinforced, -/obj/item/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/condiment/enzyme{ pixel_x = -3; pixel_y = 6 }, /obj/item/reagent_containers/glass/beaker{ pixel_x = -2 }, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; pixel_x = -8; pixel_y = 2 }, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ desc = "Salt. From space oceans, presumably. A staple of modern medicine."; pixel_x = -8; pixel_y = 12 @@ -3204,7 +3205,7 @@ /obj/structure/bed{ icon_state = "dirty_mattress" }, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/cable/yellow{ icon_state = "0-5" }, @@ -4344,11 +4345,11 @@ /obj/effect/turf_decal/techfloor/corner{ dir = 1 }, -/obj/effect/spawner/lootdrop/three_course_meal, -/obj/effect/spawner/lootdrop/three_course_meal, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/three_course_meal, +/obj/effect/spawner/random/food_or_drink/three_course_meal, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/plasteel/tech/grid, /area/ruin/jungle/paradise/cargo) "AT" = ( @@ -5181,7 +5182,7 @@ pixel_x = 7; pixel_y = 6 }, -/obj/structure/fireaxecabinet{ +/obj/structure/cabinet/fireaxe{ pixel_y = 28 }, /turf/open/floor/mineral/titanium, @@ -5381,7 +5382,7 @@ "Ih" = ( /obj/structure/table/wood, /obj/machinery/light/directional/south, -/obj/item/reagent_containers/food/snacks/breadslice/moldy{ +/obj/item/food/breadslice/moldy{ pixel_x = -8 }, /obj/item/reagent_containers/food/snacks/grown/berries/poison{ @@ -5764,9 +5765,9 @@ /obj/structure/cable/yellow{ icon_state = "1-6" }, -/obj/effect/spawner/lootdrop/three_course_meal, -/obj/effect/spawner/lootdrop/three_course_meal, -/obj/effect/spawner/lootdrop/three_course_meal, +/obj/effect/spawner/random/food_or_drink/three_course_meal, +/obj/effect/spawner/random/food_or_drink/three_course_meal, +/obj/effect/spawner/random/food_or_drink/three_course_meal, /obj/item/reagent_containers/food/snacks/meat/slab, /obj/item/reagent_containers/food/snacks/meat/slab, /obj/item/reagent_containers/food/snacks/meat/slab, @@ -7185,7 +7186,7 @@ /obj/structure/bed{ icon_state = "dirty_mattress" }, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood/walnut, /area/ruin/jungle/paradise/dorms) "UC" = ( @@ -7411,7 +7412,7 @@ }, /area/overmap_encounter/planetoid/cave/explored) "VV" = ( -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/plating/dirt/jungle, /area/overmap_encounter/planetoid/cave/explored) "VW" = ( @@ -7509,7 +7510,7 @@ }, /obj/effect/mob_spawn/human/corpse/nanotrasensoldier, /obj/effect/decal/cleanable/vomit/old, -/obj/item/reagent_containers/food/snacks/breadslice/moldy{ +/obj/item/food/breadslice/moldy{ pixel_x = -4; pixel_y = 16 }, diff --git a/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm b/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm index ce83713f82b..60d24171ad0 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm @@ -308,7 +308,7 @@ /turf/open/floor/plating/rust, /area/ruin/jungle/syndifort/jerry) "ik" = ( -/obj/item/kitchen/knife/combat{ +/obj/item/melee/knife/combat{ name = "bushcutter"; force = 18 }, @@ -627,7 +627,7 @@ /area/ruin/jungle/syndifort/jerry) "ud" = ( /obj/structure/table, -/obj/item/kitchen/knife/combat{ +/obj/item/melee/knife/combat{ name = "bushcutter"; force = 18 }, @@ -662,7 +662,7 @@ /obj/item/storage/box/donkpockets/donkpocketteriyaki, /obj/item/storage/box/donkpockets, /obj/item/storage/box/donkpockets/donkpocketberry, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/plating, /area/ruin/jungle/syndifort) "ve" = ( @@ -1108,7 +1108,7 @@ "Il" = ( /obj/effect/decal/cleanable/cobweb, /obj/structure/rack, -/obj/item/gun/ballistic/automatic/pistol/syndicate, +/obj/item/gun/ballistic/automatic/pistol/ringneck, /turf/open/floor/plating, /area/ruin/jungle/syndifort) "Iv" = ( @@ -1220,8 +1220,8 @@ /obj/structure/rack, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/small/directional/south, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/m10mm, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, /turf/open/floor/plating, /area/ruin/jungle/syndifort) "My" = ( @@ -1593,9 +1593,9 @@ /area/ruin/jungle/syndifort) "WG" = ( /obj/structure/closet/crate/secure/weapon, -/obj/item/gun/ballistic/automatic/smg/c20r, -/obj/item/ammo_box/magazine/smgm45, -/obj/item/ammo_box/magazine/smgm45, +/obj/item/gun/ballistic/automatic/smg/cobra, +/obj/item/ammo_box/magazine/m45_cobra, +/obj/item/ammo_box/magazine/m45_cobra, /turf/open/floor/plating, /area/ruin/jungle/syndifort/jerry) "WT" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm new file mode 100644 index 00000000000..934f0ffe01e --- /dev/null +++ b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm @@ -0,0 +1,3937 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ae" = ( +/obj/structure/sign/poster/contraband/c20r, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/canteen) +"aw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/railing, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"aD" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"aU" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"bm" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/railing, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"bv" = ( +/obj/structure/window/reinforced/spawner/north, +/obj/machinery/telecomms/receiver, +/obj/machinery/door/window/eastleft, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/operations) +"bw" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"bA" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"bL" = ( +/obj/structure/flora/tree/dead/tall, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered) +"bT" = ( +/obj/structure/chair/plastic{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"cb" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ + dir = 4 + }, +/obj/effect/spawner/random/vending/snack, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"cm" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"cr" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"cv" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"cB" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"cM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"cX" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/blackbox_recorder, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"db" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"dm" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 8 + }, +/obj/structure/fluff/paper/stack{ + dir = 5; + pixel_y = 25; + layer = 2.89 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"dJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"dM" = ( +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 4 + }, +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"dT" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"dY" = ( +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "bubblegumfoot" + }, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"eN" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"eU" = ( +/obj/machinery/button/door{ + id = "cafeteriashutters"; + name = "Window Shutters"; + dir = 1; + pixel_y = -20 + }, +/obj/structure/closet/crate/bin, +/obj/item/cigbutt{ + pixel_y = -3 + }, +/obj/item/cigbutt{ + pixel_y = -3; + pixel_x = -7 + }, +/obj/item/cigbutt{ + pixel_y = 17; + pixel_x = -10 + }, +/obj/item/cigbutt{ + pixel_y = 1; + pixel_x = 7 + }, +/obj/item/cigbutt{ + pixel_y = 1; + pixel_x = -7 + }, +/obj/item/cigbutt{ + pixel_y = 15; + pixel_x = -7 + }, +/obj/item/storage/fancy/cigarettes/derringer/gold, +/obj/item/trash/can, +/obj/item/trash/sosjerky{ + pixel_y = 9; + pixel_x = -5 + }, +/obj/item/trash/sosjerky{ + pixel_y = 2; + pixel_x = 6 + }, +/obj/item/trash/syndi_cakes, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"eW" = ( +/obj/machinery/door/airlock/external/glass{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"eX" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"fa" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"fd" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"fg" = ( +/obj/structure/sign/poster/contraband/bulldog, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/commons) +"fl" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/stairs, +/area/ruin/unpowered/listening_post/engineering) +"fo" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"fz" = ( +/obj/machinery/suit_storage_unit/open, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/unpowered/listening_post) +"fG" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/obj/structure/chair/bench/red/directional/east, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"fQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"fZ" = ( +/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"gr" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"gN" = ( +/obj/structure/table/reinforced, +/obj/item/paper/crumpled/ruins{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/item/paper/crumpled/ruins, +/obj/item/toy/prize/ripley{ + pixel_y = 13; + pixel_x = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"gT" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/fluff/paper/stack{ + dir = 4; + pixel_y = -4; + pixel_x = 11 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"gY" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"hh" = ( +/obj/structure/sign/poster/contraband/cybersun, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post) +"hy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"hA" = ( +/obj/structure/cable, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/machinery/power/port_gen/pacman/super/not_very, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"hC" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"hE" = ( +/obj/structure/curtain, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"hX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"ih" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 8 + }, +/obj/machinery/door/window/brigdoor/northleft{ + dir = 2 + }, +/obj/structure/window/reinforced/spawner/east, +/obj/structure/safe{ + pixel_y = 9; + pixel_x = -4 + }, +/obj/item/spacecash/bundle/loadsamoney, +/obj/item/documents/syndicate, +/obj/machinery/light/small/directional/north, +/obj/item/folder/documents/syndicate/red, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"iR" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_y = 22 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"jz" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters, +/obj/structure/table/chem, +/obj/item/tank/internals/anesthetic{ + pixel_y = 3; + pixel_x = 6 + }, +/obj/item/clothing/mask/breath/medical{ + pixel_y = 6; + pixel_x = -4 + }, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"jN" = ( +/obj/structure/curtain, +/obj/effect/turf_decal/techfloor/hole, +/obj/effect/turf_decal/techfloor/hole/right, +/obj/structure/window/reinforced/spawner/west, +/obj/machinery/shower{ + pixel_y = 19 + }, +/obj/item/soap/syndie, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/canteen) +"kb" = ( +/obj/item/kirbyplants/dead{ + desc = "It doesn't look very healthy..."; + name = "potted plant"; + pixel_y = 10 + }, +/obj/item/cigbutt{ + pixel_y = -3; + pixel_x = -7 + }, +/obj/item/cigbutt{ + pixel_y = 17; + pixel_x = -10 + }, +/obj/item/cigbutt{ + pixel_y = 1; + pixel_x = 7 + }, +/obj/item/cigbutt{ + pixel_y = 15; + pixel_x = -4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"kk" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Bathroom" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"kz" = ( +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"kA" = ( +/obj/machinery/door/airlock/hatch{ + name = "Engineering" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"kB" = ( +/obj/structure/flora/tree/dead/tall, +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered) +"lb" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/canteen) +"lj" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"ls" = ( +/obj/item/toy/figure/syndie{ + pixel_y = -1; + pixel_x = -33 + }, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"lu" = ( +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"lK" = ( +/obj/structure/railing/corner, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"lZ" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/operations) +"mc" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 7 + }, +/obj/item/pen{ + pixel_y = 9 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"mf" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"mh" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"mj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"mp" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell, +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered) +"mF" = ( +/obj/structure/flora/tree/dead/tall/grey, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered) +"mG" = ( +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"mU" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/operations) +"na" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/fax/ruin{ + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"nc" = ( +/obj/structure/mirror{ + pixel_x = 28; + icon_state = "mirror_broke"; + name = "Shattered Mirror" + }, +/obj/structure/sink{ + dir = 8; + pixel_x = 13 + }, +/obj/effect/decal/cleanable/vomit/old, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/canteen) +"np" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"nD" = ( +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"nY" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"oi" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 1 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"op" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post) +"ot" = ( +/obj/structure/closet/cabinet{ + name = "Alcohol Closet" + }, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/absinthe/premium, +/obj/structure/sign/poster/contraband/syndiemoth{ + pixel_y = -31 + }, +/obj/item/reagent_containers/food/drinks/bottle/rum, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"ou" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 4 + }, +/obj/structure/bed/roller, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor2-old" + }, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"oC" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"oG" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"oO" = ( +/obj/structure/toilet{ + pixel_y = 31; + dir = 1 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/canteen) +"oS" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"oT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/canteen) +"oX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/canteen) +"pa" = ( +/obj/structure/fluff/paper/stack{ + dir = 1; + pixel_x = -16; + pixel_y = -2 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"pt" = ( +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wideplating/dark/end, +/obj/structure/table/reinforced, +/obj/item/storage/box/cups{ + pixel_y = 8; + pixel_x = 7 + }, +/obj/item/reagent_containers/food/drinks/colocup{ + pixel_y = 6; + pixel_x = -7 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"pw" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"px" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"pS" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"pW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"pZ" = ( +/obj/machinery/door/airlock/hatch{ + name = "Medbay" + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"qo" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"qq" = ( +/obj/structure/girder/reinforced, +/turf/open/floor/plating/ashplanet, +/area/ruin/unpowered) +"qv" = ( +/obj/structure/window/reinforced/spawner, +/obj/machinery/telecomms/server, +/obj/machinery/door/window/eastright, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/operations) +"qC" = ( +/obj/item/kirbyplants/dead{ + desc = "It doesn't look very healthy..."; + name = "potted plant"; + pixel_y = 10 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"qJ" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"qV" = ( +/turf/template_noop, +/area/template_noop) +"qW" = ( +/obj/structure/chair/bench/beige/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"qX" = ( +/obj/structure/table/wood/reinforced, +/obj/item/toy/figure/secofficer{ + pixel_y = 10; + pixel_x = 7 + }, +/obj/item/toy/figure/head_of_personnel{ + pixel_y = 13; + pixel_x = -9 + }, +/obj/item/toy/figure/engineer{ + pixel_y = 5; + pixel_x = -7 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"rb" = ( +/obj/structure/table/reinforced, +/obj/machinery/computer/secure_data/laptop, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"rG" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/canteen) +"rQ" = ( +/obj/structure/fluff/paper/stack{ + dir = 4; + pixel_y = -4; + pixel_x = 11 + }, +/obj/item/trash/can{ + pixel_y = -24; + pixel_x = -16 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"sd" = ( +/obj/structure/closet/crate/grave/loot, +/obj/effect/mob_spawn/human/skeleton, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"sr" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 11 + }, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"sM" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/canteen) +"sP" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"sX" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"te" = ( +/obj/item/gun/ballistic/automatic/smg/cobra{ + default_ammo_type = 0 + }, +/obj/item/ammo_box/magazine/m45_cobra{ + start_empty = 1 + }, +/obj/structure/guncloset, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"tf" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"th" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/unpowered/listening_post) +"tk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"to" = ( +/obj/machinery/atmospherics/components/binary/volume_pump/on/layer4{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"tG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/vomit/old{ + pixel_y = 8; + pixel_x = 18 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"tJ" = ( +/obj/structure/sign/departments/engineering, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/engineering) +"tM" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered) +"tS" = ( +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"tV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/reinforced, +/obj/machinery/newscaster/directional/north, +/obj/item/trash/plate{ + pixel_y = -27; + pixel_x = 1 + }, +/obj/item/reagent_containers/food/drinks/beer/light{ + pixel_y = 10; + pixel_x = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"tY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post/operations) +"uv" = ( +/obj/machinery/atmospherics/components/unary/tank/air, +/obj/structure/railing/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"vu" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"vC" = ( +/obj/structure/flora/ausbushes/grassybush/hell, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered) +"vG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"vJ" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/syndicate, +/obj/item/clothing/head/helmet/space/syndicate, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/unpowered/listening_post) +"vR" = ( +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor7" + }, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"vU" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/obj/item/kirbyplants/dead{ + desc = "It doesn't look very healthy..."; + name = "potted plant"; + pixel_y = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"vY" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post/operations) +"wn" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "commsshutters" + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/operations) +"wr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"wz" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"wL" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 1 + }, +/obj/structure/table/chem, +/obj/item/stack/medical/gauze/improvised{ + pixel_y = 9 + }, +/obj/item/stack/medical/gauze/improvised{ + pixel_y = 11; + pixel_x = -4 + }, +/obj/item/scalpel, +/obj/machinery/light/directional/north, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"wO" = ( +/obj/effect/decal/cleanable/vomit/old{ + pixel_x = 15 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/canteen) +"xv" = ( +/obj/structure/flora/ausbushes/grassybush/hell, +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered) +"xR" = ( +/obj/structure/table/reinforced, +/obj/item/cutting_board{ + anchored = 1 + }, +/obj/item/melee/knife/kitchen, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"ya" = ( +/obj/item/trash/can{ + pixel_y = 35; + pixel_x = -26 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"yp" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/fluff/paper/stack{ + dir = 5; + pixel_y = 25; + layer = 2.89 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"ys" = ( +/obj/structure/bed, +/obj/structure/curtain, +/obj/item/bedsheet/syndie, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"yN" = ( +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered) +"yZ" = ( +/obj/item/trash/can{ + pixel_y = -12; + pixel_x = -7 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"zd" = ( +/obj/effect/turf_decal/trimline/opaque/bar/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 11 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"zj" = ( +/obj/effect/decal/cleanable/vomit/old{ + pixel_y = -5; + pixel_x = 33 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"zA" = ( +/obj/structure/table/greyscale, +/obj/structure/window/reinforced/spawner/east, +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 1 + }, +/obj/item/storage/firstaid{ + pixel_y = -17; + pixel_x = -9 + }, +/obj/item/stack/medical/bruise_pack, +/obj/item/stack/medical/bruise_pack{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/stack/medical/ointment{ + pixel_y = 6; + pixel_x = -6 + }, +/obj/item/clothing/neck/stethoscope, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"zF" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/unpowered/listening_post) +"zI" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/canteen) +"Ao" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"Ap" = ( +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"Ax" = ( +/obj/structure/table/reinforced, +/obj/structure/fluff/paper/stack{ + dir = 4; + pixel_y = -1 + }, +/obj/item/trash/chips{ + pixel_y = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"AB" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 8 + }, +/obj/structure/fluff/paper/stack{ + dir = 6; + pixel_y = 11; + pixel_x = 7 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"Bb" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 11 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"Bg" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 8 + }, +/obj/structure/table/chem, +/obj/item/clothing/gloves/color/latex, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"BB" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"BF" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"BL" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "commsshutters"; + dir = 8 + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/operations) +"BM" = ( +/obj/machinery/telecomms/processor, +/obj/machinery/door/window/eastright, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/operations) +"BO" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered) +"Cx" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/operations) +"Di" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"Dr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/west, +/obj/structure/rack, +/obj/item/reagent_containers/food/snacks/canned/beans{ + pixel_y = 11; + pixel_x = 4 + }, +/obj/item/reagent_containers/food/snacks/canned/beans{ + pixel_y = 8; + pixel_x = -8 + }, +/obj/item/reagent_containers/food/snacks/canned/peaches{ + pixel_y = 7; + pixel_x = 7 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"DE" = ( +/obj/effect/turf_decal/trimline/opaque/bar/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 9 + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"DI" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_y = 8; + pixel_x = 6 + }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_y = 6; + pixel_x = -7; + list_reagents = null + }, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"DS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/vending/cigarette/syndicate, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"Ef" = ( +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"Eh" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"El" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"Eq" = ( +/obj/structure/table/wood/reinforced, +/obj/item/book/random{ + pixel_y = 3 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"Ey" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/structure/curtain, +/obj/item/bedsheet/syndie{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"EA" = ( +/obj/machinery/door/airlock/hatch{ + name = "Dormitories" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/commons) +"EB" = ( +/obj/item/ammo_casing/spent, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"EH" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"EJ" = ( +/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"EM" = ( +/obj/structure/sign/syndicate, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post) +"Fs" = ( +/obj/structure/chair/bench/beige/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"FN" = ( +/obj/structure/table/wood/reinforced, +/obj/item/flashlight/lamp{ + pixel_y = 6 + }, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"FQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"FW" = ( +/obj/structure/cable, +/obj/machinery/power/smes/engineering, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"Gy" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/computer/telecomms/server{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"GB" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/engineering) +"GH" = ( +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"Ip" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"IA" = ( +/obj/structure/chair/bench/beige/directional/west, +/obj/effect/decal/cleanable/vomit/old{ + pixel_y = -1; + pixel_x = -8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"ID" = ( +/obj/structure/dresser, +/obj/item/radio/old{ + pixel_y = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"Jj" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/fluff/paper/stack{ + dir = 1; + pixel_x = -16; + pixel_y = -2 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"Jn" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"Jq" = ( +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 1; + name = "distribution output pump" + }, +/obj/machinery/light/small/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"Js" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"JD" = ( +/obj/structure/chair/bench/beige/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"KB" = ( +/obj/structure/sign/departments/restroom, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/canteen) +"KJ" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"KS" = ( +/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"KV" = ( +/obj/machinery/telecomms/bus, +/obj/machinery/door/window/eastleft, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/operations) +"KW" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 4 + }, +/obj/structure/table/chem, +/obj/structure/sink/chem{ + dir = 8 + }, +/obj/item/cautery{ + pixel_x = -9; + pixel_y = 14 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"Li" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"Ln" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/commons) +"LB" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "cafeteriashutters" + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/canteen) +"LD" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"LE" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"LI" = ( +/obj/structure/flora/tree/dead/barren, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered) +"LV" = ( +/obj/structure/sign/warning/gasmask, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post) +"Mg" = ( +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"Mr" = ( +/obj/structure/fluff/paper/stack{ + dir = 5; + pixel_y = 25; + layer = 2.89 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"MF" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"MN" = ( +/obj/structure/flora/tree/dead/barren, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered) +"MU" = ( +/obj/machinery/computer/security{ + dir = 8 + }, +/obj/item/trash/pistachios{ + pixel_y = 4; + pixel_x = -8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"MX" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/mopbucket, +/obj/item/mop, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"MZ" = ( +/obj/structure/rack, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/structure/sign/poster/official/high_class_martini{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"Nb" = ( +/obj/item/toy/plush/moth/firewatch{ + name = "Syndiemoth plushie" + }, +/obj/item/toy/nuke{ + pixel_x = 12; + pixel_y = -5 + }, +/obj/item/toy/sword{ + pixel_y = 2; + pixel_x = 2 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/canteen) +"Nt" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"NI" = ( +/obj/structure/filingcabinet/double/grey{ + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"NK" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post/operations) +"NP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"NV" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"NZ" = ( +/obj/structure/table/reinforced, +/obj/item/trash/plate{ + pixel_y = 29; + pixel_x = -2 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = 17; + pixel_x = -3 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_y = 17; + pixel_x = 4 + }, +/obj/item/reagent_containers/food/drinks/beer/light{ + pixel_y = 16; + pixel_x = -9 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"Oe" = ( +/obj/structure/dresser, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"Om" = ( +/obj/structure/rack, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"On" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 1 + }, +/obj/structure/closet/wall/med/directional/north, +/obj/item/storage/firstaid/regular, +/obj/item/storage/box/masks, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"Oo" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"Op" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"OI" = ( +/obj/structure/noticeboard, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/commons) +"OP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"OS" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"OW" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"Pe" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/obj/structure/chair/bench/red/directional/east, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"Pj" = ( +/obj/structure/flora/rock/hell, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"PC" = ( +/obj/structure/plaque/listeningpost, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post) +"PQ" = ( +/obj/machinery/door/airlock/hatch, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/canteen) +"Qq" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"QC" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"QD" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"QP" = ( +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered) +"QS" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 8 + }, +/obj/effect/spawner/random/vending/snack, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"QY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post/operations) +"Rb" = ( +/obj/machinery/atmospherics/components/unary/passive_vent/layer4{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"Ri" = ( +/obj/structure/closet/cabinet, +/obj/item/storage/backpack/duffelbag/syndie, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"RV" = ( +/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"SC" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 10 + }, +/obj/machinery/button/door{ + dir = 4; + id = "commsshutters"; + name = "Window Shutters"; + pixel_x = -23; + pixel_y = -6 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"Ta" = ( +/turf/closed/mineral/random/volcanic, +/area/ruin/unpowered) +"To" = ( +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post) +"Tp" = ( +/obj/structure/flora/ausbushes/grassybush/hell, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered) +"Ty" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"TI" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"TK" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"TM" = ( +/obj/structure/closet/cabinet, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/gun/ballistic/automatic/pistol/ringneck, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"TS" = ( +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered) +"Ut" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 9 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 11 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"UB" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell, +/obj/structure/flora/ausbushes/sparsegrass/hell, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered) +"UV" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"Wa" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/corner, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"Wc" = ( +/obj/structure/table/reinforced, +/obj/item/paper/crumpled/ruins{ + pixel_y = 1; + pixel_x = 6 + }, +/obj/item/paper/pamphlet{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/item/trash/cheesie{ + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"Wo" = ( +/obj/structure/table/wood/reinforced, +/obj/machinery/light/small/directional/east, +/obj/item/trash/can/food/beans{ + pixel_y = 16 + }, +/obj/item/trash/can/food/beans{ + pixel_y = 12; + pixel_x = -8 + }, +/obj/item/trash/can/food/beans{ + pixel_y = 9; + pixel_x = 5 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"Wq" = ( +/obj/structure/chair/office{ + name = "tactical swivel chair"; + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"WL" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/falsewall/plastitanium, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/canteen) +"WU" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"Xi" = ( +/obj/structure/flora/ausbushes/fullgrass/hell, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered) +"Xk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"Xm" = ( +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = -8 + }, +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"XE" = ( +/obj/item/trash/chips{ + pixel_y = 5 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"XY" = ( +/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"Yh" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 5 + }, +/obj/structure/closet/crate/bin, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"YK" = ( +/obj/structure/table/reinforced, +/obj/machinery/reagentgrinder{ + pixel_y = 12 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"YL" = ( +/obj/item/paper/crumpled/ruins, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"YP" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/snacks/ration{ + pixel_x = -8; + pixel_y = 1 + }, +/obj/item/reagent_containers/food/snacks/ration{ + pixel_y = 4 + }, +/obj/item/reagent_containers/food/snacks/ration{ + pixel_y = 7; + pixel_x = -9 + }, +/obj/item/reagent_containers/condiment/bbqsauce{ + pixel_y = 6; + pixel_x = 7 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"Zb" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"Zd" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"ZY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) + +(1,1,1) = {" +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +"} +(2,1,1) = {" +qV +qV +qV +Ap +Ap +Ap +Ap +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +Ap +Ap +Ap +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +"} +(3,1,1) = {" +qV +qV +Ap +Ap +Ap +Ap +Ap +TS +TS +Xi +Xi +Xi +Xi +Xi +TS +Ap +Ap +qV +qV +qV +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +TS +TS +TS +qV +qV +qV +"} +(4,1,1) = {" +qV +Ap +Ap +Ap +TS +TS +TS +TS +Xi +Xi +MN +Xi +Xi +Xi +TS +Ap +Pj +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +dY +Ap +TS +Tp +BO +BO +TS +qV +qV +"} +(5,1,1) = {" +qV +Ap +Ap +TS +TS +Xi +Xi +Xi +Xi +Xi +Xi +Xi +TS +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +nD +EB +Ap +EB +Ap +EB +Ap +TS +mF +BO +TS +qV +qV +"} +(6,1,1) = {" +qV +Ap +Ap +TS +Xi +Xi +Xi +Tp +Xi +TS +Ap +Ap +Ap +Ap +Ap +Ap +Ap +lj +GH +vR +Ap +Ap +Ap +Ap +Ap +EB +Ap +Ap +Ap +Ap +Ap +Ap +Tp +TS +qV +qV +"} +(7,1,1) = {" +qV +qV +Xi +Xi +Xi +Xi +TS +TS +Ap +Ap +Ap +Ap +Ap +Ap +Ap +op +op +sP +op +Ta +Ta +Ap +Ap +Ap +Ap +Ta +Ta +Ta +Ta +Ap +Ap +Ap +Ap +Ap +qV +qV +"} +(8,1,1) = {" +qV +Ap +TS +TS +TS +TS +Ap +Ap +Ap +Ap +Ap +Ap +Ta +Ta +Ta +op +fz +th +op +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ap +Ap +Ap +Ap +qV +"} +(9,1,1) = {" +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ta +Ta +Ta +Ta +Ta +op +vJ +zF +op +Ta +Ta +Ta +Ta +zI +zI +zI +zI +zI +Ta +Ta +Ta +Ta +Ap +Pj +Ap +qV +"} +(10,1,1) = {" +Ap +Ap +Ap +Ap +Ap +Ap +bT +Ap +Ap +Ta +Ta +op +op +op +op +op +LV +eW +op +op +op +op +op +zI +Om +lb +Dr +zI +zI +zI +Ta +Ta +Ap +Ap +Ap +qV +"} +(11,1,1) = {" +Ap +Ap +Ap +Ap +Ap +Ap +DI +Ap +Ap +Ta +Ta +op +ou +oC +eX +pZ +DE +fZ +zd +vU +fG +Pe +cb +zI +MZ +oX +ot +WL +Nb +zI +Ta +Ta +Ap +Ap +Ap +qV +"} +(12,1,1) = {" +qV +Ap +Ap +Ap +Ap +Ap +sd +Ap +Ap +Ta +Ta +op +zA +El +tf +To +np +fQ +KJ +sX +oS +oS +fd +zI +zI +oT +zI +rG +zI +zI +Ta +Ta +yN +Ap +Ap +qV +"} +(13,1,1) = {" +qV +Ap +Pj +Ap +Ap +Ap +ls +Ap +Ap +Ta +Ta +op +wL +tk +eN +hE +bw +TI +cv +WU +Wa +XY +EJ +zI +kb +LD +QC +YK +Qq +zI +Ta +yN +yN +Ap +qV +qV +"} +(14,1,1) = {" +qV +qV +Ap +QP +Ap +Ap +Ap +Ap +Ap +Ta +Ta +op +On +tS +Zb +hE +Di +OW +mG +mG +EM +RV +KS +zI +qW +Fs +Ao +Mg +xR +LB +Ap +mp +kB +yN +qV +qV +"} +(15,1,1) = {" +qV +qV +QP +QP +QP +QP +QP +Ap +Ap +Ta +Ta +op +Bg +KW +jz +hE +Yh +oG +rb +Wq +qJ +px +cm +zI +tV +NZ +Ao +wr +YP +LB +Ap +mp +yN +yN +qV +qV +"} +(16,1,1) = {" +qV +qV +QP +tM +tM +QP +QP +Ap +Ap +Ta +Ta +op +op +op +op +op +op +hh +op +PC +op +Js +TK +zI +JD +IA +zj +Zd +aU +LB +Ap +mp +yN +Ap +qV +qV +"} +(17,1,1) = {" +qV +qV +QP +QP +tM +tM +QP +QP +Ap +Ap +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ln +iR +pw +zI +Eh +Zd +Ao +Zd +eU +zI +Ta +mh +mp +yN +qV +qV +"} +(18,1,1) = {" +qV +qV +QP +QP +QP +tM +tM +QP +Ap +Ta +Ta +Ta +Ta +Ln +Ln +Ln +Ln +Ln +Ln +Ln +Ln +QD +yp +PQ +fa +Xk +fo +OP +DS +ae +Ta +Ap +yN +Ap +qV +qV +"} +(19,1,1) = {" +qV +qV +QP +QP +LI +QP +tM +QP +Ap +Ap +Ta +Ta +Ta +Ln +ID +Ey +FN +qX +Ri +sr +Ln +db +pw +zI +Xm +pt +tG +LE +dM +zI +Ta +Ta +Ap +Ap +qV +qV +"} +(20,1,1) = {" +qV +qV +QP +QP +QP +vC +QP +tM +QP +Ap +Ta +Ta +Ta +Ln +vG +mj +NP +hy +dJ +cr +EA +Jj +cB +zI +zI +zI +kk +KB +zI +zI +Ta +Ta +Ap +Ap +qV +qV +"} +(21,1,1) = {" +qV +qV +Ap +tM +tM +QP +QP +QP +QP +Ap +Ta +Ta +Ta +Ln +Oe +ys +Wo +Eq +TM +lu +Ln +oi +bA +fg +Ta +zI +wO +sM +oO +Ta +Ta +Ta +Ap +Ap +qV +qV +"} +(22,1,1) = {" +qV +qV +Ap +QP +tM +QP +LI +vC +QP +Ap +Ta +Ta +Ta +Ln +Ln +Ln +Ln +Ln +Ln +Ln +OI +vu +gY +Ln +Ta +zI +jN +nc +zI +Ta +Ta +Ta +Pj +Ap +qV +qV +"} +(23,1,1) = {" +qV +Ap +Ap +QP +QP +tM +QP +QP +QP +Ap +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ln +Oo +gT +Ln +Ta +zI +zI +zI +zI +Ta +Ta +Ta +Ap +Ap +qV +qV +"} +(24,1,1) = {" +qV +Ap +Ap +Ap +QP +tM +QP +vC +QP +Ap +Ap +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ln +NV +nY +Ln +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ap +qV +qV +qV +"} +(25,1,1) = {" +qV +qV +Ap +Ap +QP +QP +UB +QP +QP +Ap +Ap +Ta +lZ +lZ +lZ +lZ +lZ +lZ +lZ +lZ +lZ +Cx +mU +lZ +GB +GB +GB +GB +GB +Ta +Ta +Ta +Ap +qV +qV +qV +"} +(26,1,1) = {" +qV +qV +Pj +Ap +Ap +QP +QP +QP +Ap +Ap +Ap +Ta +lZ +ih +gr +SC +bv +BM +KV +qv +Ut +hC +MF +QS +GB +Bb +Jq +uv +GB +GB +GB +Ta +Ap +qV +qV +qV +"} +(27,1,1) = {" +qV +qV +Ap +Ap +Ap +Ap +QP +QP +Ap +Ap +Ap +Ap +lZ +na +EH +AB +Li +Li +qo +dm +Ip +pa +yZ +Ef +GB +hX +dT +bm +FW +hA +GB +Ta +TS +Ap +qV +qV +"} +(28,1,1) = {" +qV +qV +qV +Ap +Ap +Ap +Ap +Ap +Ap +Pj +Ap +Ap +wn +Wc +Nt +aD +vY +NK +QY +tY +tY +FQ +rQ +ya +tJ +Ty +pS +lK +fl +mf +GB +Ta +TS +TS +qV +qV +"} +(29,1,1) = {" +qV +qV +qV +qV +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +BL +wn +MU +gN +Op +Mr +pW +UV +YL +ZY +kz +BB +kA +BF +cM +aw +FW +hA +GB +Ta +Tp +TS +qV +qV +"} +(30,1,1) = {" +qV +qV +qV +qV +qV +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +BL +wn +NI +XE +cX +Ax +Gy +mc +te +OS +qC +GB +Jn +MX +to +GB +GB +GB +Ta +BO +TS +qV +qV +"} +(31,1,1) = {" +qV +qV +qV +qV +qV +Ap +Ap +Ap +Pj +Ap +Ap +Ap +Ap +Ap +lZ +lZ +lZ +lZ +lZ +lZ +lZ +lZ +lZ +lZ +GB +GB +GB +wz +GB +Ta +Ta +Ta +TS +BO +qV +qV +"} +(32,1,1) = {" +qV +qV +qV +qV +qV +Ap +Ap +Ap +Ap +Ap +Ap +Ap +yN +yN +yN +Ap +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +qq +Rb +qq +Ta +Ta +Tp +TS +BO +qV +qV +"} +(33,1,1) = {" +qV +qV +qV +qV +qV +qV +Ap +Ap +Ap +Ap +Ap +yN +mp +mp +mp +yN +yN +Ap +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ap +Ap +Ap +Ap +Ap +Ap +Ap +bL +BO +qV +qV +"} +(34,1,1) = {" +qV +qV +qV +qV +qV +qV +qV +Ap +Ap +Ap +yN +mp +mp +mp +mp +mp +yN +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Pj +Ap +Ap +Tp +qV +qV +"} +(35,1,1) = {" +qV +qV +qV +qV +qV +qV +qV +Ap +Ap +Ap +yN +mp +mp +xv +yN +Ap +Ap +Ap +Pj +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Pj +Ap +Ap +Ap +Ap +Ap +Ap +qV +qV +"} +(36,1,1) = {" +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +Ap +Ap +Ap +Ap +Ap +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +"} diff --git a/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm b/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm index 138b1e9d31e..779d6da2e3c 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm @@ -92,7 +92,7 @@ name = "armory locker"; req_one_access_txt = "1" }, -/obj/item/ammo_box/a12g, +/obj/item/storage/box/ammo/a12g_buckshot, /turf/open/floor/mineral/plastitanium, /area/ruin/unpowered/crashed_starwalker) "bL" = ( @@ -637,7 +637,7 @@ /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, -/obj/item/kitchen/knife{ +/obj/item/melee/knife/kitchen{ pixel_x = 7; pixel_y = 10 }, @@ -721,7 +721,7 @@ /obj/structure/cable/green{ icon_state = "1-4" }, -/obj/item/reagent_containers/food/snacks/breadslice/moldy{ +/obj/item/food/breadslice/moldy{ pixel_x = 5 }, /turf/open/floor/pod, @@ -942,7 +942,7 @@ /obj/effect/turf_decal/industrial/outline/yellow, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/closet/crate/secure/gear, -/obj/item/ammo_box/c10mm/surplus, +/obj/item/storage/box/ammo/c10mm_surplus, /obj/item/weaponcrafting/stock, /obj/item/weaponcrafting/stock{ pixel_x = -6 @@ -2003,7 +2003,7 @@ req_one_access_txt = "1" }, /obj/effect/decal/cleanable/dirt/dust, -/obj/item/clothing/suit/armor/vest/bulletproof/frontier, +/obj/item/clothing/suit/armor/vest/frontier, /obj/item/clothing/head/helmet/bulletproof/x11/frontier{ pixel_y = 6 }, @@ -2024,7 +2024,6 @@ /turf/open/floor/engine/hull/interior, /area/overmap_encounter/planetoid/lava/explored) "Hl" = ( -/obj/structure/statue/sandstone/assistant, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/contraband/random{ pixel_y = -32 @@ -2380,7 +2379,6 @@ /turf/open/floor/plasteel/dark, /area/ruin/unpowered/crashed_starwalker) "Mk" = ( -/obj/structure/statue/sandstone/assistant, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, @@ -2417,7 +2415,7 @@ pixel_x = -26 }, /obj/structure/spider/stickyweb, -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/pod/light, /area/ruin/unpowered/crashed_starwalker) "MO" = ( @@ -2449,7 +2447,7 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface/lit, /area/ruin/unpowered/crashed_starwalker) "MX" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/structure/railing{ dir = 4 }, @@ -2482,7 +2480,7 @@ icon_state = "gib3-old"; pixel_x = -6 }, -/obj/item/melee/transforming/energy/sword/saber/pirate/yellow{ +/obj/item/melee/energy/sword/saber/pirate/yellow{ pixel_x = -5; pixel_y = 16 }, @@ -3133,7 +3131,7 @@ /obj/structure/closet/secure_closet/freezer/kitchen/wall{ pixel_y = 29 }, -/obj/item/reagent_containers/food/condiment/rice, +/obj/item/reagent_containers/condiment/rice, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/unpowered/crashed_starwalker) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm index 15c3d93cb82..a53bebe1ff0 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm @@ -608,7 +608,7 @@ dir = 9 }, /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/plasteel/white, /area/ruin/unpowered/winter_biodome/living_quarters) "fs" = ( @@ -829,7 +829,7 @@ /area/ruin/unpowered/winter_biodome) "kb" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/breadslice/plain, +/obj/item/food/breadslice/plain, /obj/item/reagent_containers/food/snacks/grown/cabbage, /turf/open/floor/wood, /area/ruin/unpowered/winter_biodome/cabin) @@ -896,7 +896,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/plasteel/white, /area/ruin/unpowered/winter_biodome/living_quarters) "lq" = ( @@ -952,7 +952,7 @@ "mD" = ( /obj/effect/turf_decal/solgov/wood/center, /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/wood, /area/ruin/unpowered/winter_biodome/living_quarters) "mX" = ( @@ -1006,8 +1006,8 @@ "oR" = ( /obj/effect/turf_decal/corner/opaque/solgovblue/diagonal, /obj/structure/closet/secure_closet/freezer, -/obj/item/reagent_containers/food/snacks/store/bread/plain, -/obj/item/reagent_containers/food/snacks/store/bread/plain, +/obj/item/food/bread/plain, +/obj/item/food/bread/plain, /obj/item/reagent_containers/food/snacks/grown/cabbage, /obj/item/reagent_containers/food/snacks/grown/cabbage, /obj/effect/decal/cleanable/dirt/dust, @@ -1072,7 +1072,7 @@ "qj" = ( /obj/effect/turf_decal/corner/opaque/solgovblue/diagonal, /obj/structure/table/wood, -/obj/item/kitchen/knife, +/obj/item/melee/knife/kitchen, /turf/open/floor/plasteel/white, /area/ruin/unpowered/winter_biodome/living_quarters) "qr" = ( @@ -1081,7 +1081,7 @@ }, /obj/effect/turf_decal/corner/opaque/solgovgold/diagonal, /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/plasteel/white, /area/ruin/unpowered/winter_biodome/engineering) "qt" = ( @@ -1467,10 +1467,10 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/blood/gibs/up, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/wood, /area/ruin/unpowered/winter_biodome/entrance) "Ar" = ( @@ -1925,7 +1925,7 @@ /turf/open/floor/wood, /area/ruin/unpowered/winter_biodome/sauna) "Lf" = ( -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/grass/snow, /area/ruin/unpowered/winter_biodome) "Lt" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm index e5756e7dbdf..17094a2d2bf 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm @@ -542,7 +542,7 @@ /area/ruin/unpowered/buried_shrine) "nq" = ( /obj/structure/stone_tile/surrounding, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "nz" = ( @@ -664,7 +664,7 @@ dir = 5 }, /obj/structure/chair/wood, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/obj/structure/spawner/burrow/lava_planet, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "qT" = ( @@ -930,8 +930,11 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "wM" = ( -/obj/structure/stone_tile/slab, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/obj/structure/stone_tile/surrounding/cracked{ + dir = 4 + }, +/obj/structure/stone_tile/center, +/obj/structure/spawner/burrow/lava_planet, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "wS" = ( @@ -1647,7 +1650,8 @@ /obj/structure/stone_tile/cracked{ dir = 1 }, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/obj/structure/spawner/burrow/lava_planet, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "QR" = ( @@ -1803,7 +1807,7 @@ /area/ruin/unpowered/buried_shrine) "UF" = ( /obj/structure/stone_tile/block, -/obj/item/claymore/bone{ +/obj/item/melee/sword/bone{ pixel_x = 8; pixel_y = 21 }, @@ -1819,7 +1823,7 @@ /area/ruin/unpowered/buried_shrine) "VG" = ( /obj/structure/table/wood, -/obj/item/kitchen/knife/combat/bone, +/obj/item/melee/knife/bone, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "Wd" = ( @@ -1864,7 +1868,7 @@ /obj/structure/stone_tile{ dir = 1 }, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest, /turf/open/floor/plating/asteroid/basalt/lava_land_surface/lit, /area/ruin/unpowered/buried_shrine) "Xr" = ( @@ -3928,7 +3932,7 @@ LJ ta NN ta -Xv +wM Ad mM Ad @@ -4095,7 +4099,7 @@ ee WZ WZ yz -wM +Ad tL WZ Yh diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_elephant_graveyard.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_elephant_graveyard.dmm deleted file mode 100644 index 9babc1631c8..00000000000 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_elephant_graveyard.dmm +++ /dev/null @@ -1,1788 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( -/turf/template_noop, -/area/template_noop) -"ab" = ( -/turf/closed/mineral/volcanic/lava_land_surface, -/area/overmap_encounter/planetoid/cave/explored) -"ac" = ( -/turf/closed/mineral/volcanic/lava_land_surface, -/area/ruin/unpowered/elephant_graveyard) -"ad" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/structure/closet/crate/grave/loot/lead_researcher, -/obj/effect/decal/cleanable/blood/gibs/old, -/obj/effect/mob_spawn/human/skeleton, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"ae" = ( -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"af" = ( -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"ag" = ( -/obj/effect/decal/cleanable/vomit, -/obj/item/shovel, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"ah" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"ai" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aj" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/obj/item/paper/fluff/ruins/elephant_graveyard/final_message, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"ak" = ( -/turf/open/floor/plating/asteroid/basalt/wasteland{ - icon_state = "wasteland_dug" - }, -/area/ruin/unpowered/elephant_graveyard) -"al" = ( -/obj/structure/table, -/obj/item/clipboard, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"an" = ( -/obj/item/reagent_containers/food/snacks/deadmouse, -/obj/item/assembly/mousetrap, -/turf/open/floor/plating/asteroid/basalt/wasteland{ - icon_state = "wasteland_dug" - }, -/area/ruin/unpowered/elephant_graveyard) -"ao" = ( -/obj/structure/statue/bone/skull/half, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"ap" = ( -/obj/structure/statue/bone/skull/half{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"ar" = ( -/obj/structure/flora/rock, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"at" = ( -/turf/closed/mineral/strong/wasteland, -/area/overmap_encounter/planetoid/cave/explored) -"av" = ( -/obj/structure/barricade/wooden/crude, -/obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"ax" = ( -/obj/structure/statue/bone/rib{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"ay" = ( -/obj/structure/statue/bone/rib, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"az" = ( -/obj/structure/table, -/obj/item/pen, -/obj/item/pen, -/obj/item/pen, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aA" = ( -/turf/closed/wall, -/area/ruin/unpowered/elephant_graveyard) -"aB" = ( -/obj/item/chair, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aC" = ( -/obj/effect/decal/remains/human, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aE" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aG" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/glowstick, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aH" = ( -/turf/closed/wall/mineral/titanium, -/area/ruin/powered/graveyard_shuttle) -"aI" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/structure/grille, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/ruin/powered/graveyard_shuttle) -"aK" = ( -/obj/item/cigbutt, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aL" = ( -/obj/machinery/power/floodlight, -/obj/structure/cable, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aM" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/black, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aN" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ruin/powered/graveyard_shuttle) -"aO" = ( -/obj/effect/decal/cleanable/glass, -/obj/machinery/computer, -/turf/open/floor/mineral/titanium/white, -/area/ruin/powered/graveyard_shuttle) -"aP" = ( -/obj/structure/bed, -/obj/item/flashlight/lantern, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aR" = ( -/obj/structure/table, -/obj/item/taperecorder, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aS" = ( -/obj/structure/table, -/obj/item/tape/random, -/obj/item/tape/random, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aT" = ( -/obj/structure/closet/crate/bin, -/obj/item/trash/candle, -/obj/item/trash/can/food/beans, -/obj/item/trash/can, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/cigbutt, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aU" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aV" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aW" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/item/clothing/mask/gas/explorer/folded, -/turf/open/floor/mineral/titanium/white, -/area/ruin/powered/graveyard_shuttle) -"aX" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"aY" = ( -/obj/structure/sign/warning/nosmoking/circle, -/turf/closed/wall, -/area/ruin/unpowered/elephant_graveyard) -"aZ" = ( -/obj/item/organ/brain, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"ba" = ( -/obj/structure/headpike/bone, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bb" = ( -/obj/effect/decal/cleanable/oil/streak, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bc" = ( -/obj/structure/sign/poster/ripped, -/turf/closed/wall, -/area/ruin/unpowered/elephant_graveyard) -"bd" = ( -/obj/item/organ/heart, -/obj/item/organ/eyes, -/obj/item/organ/ears, -/obj/effect/decal/cleanable/blood/gibs/old, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"be" = ( -/obj/item/organ/lungs, -/obj/item/organ/liver, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bf" = ( -/turf/closed/mineral/strong/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bg" = ( -/obj/structure/sign/warning/securearea, -/turf/closed/wall/mineral/titanium, -/area/ruin/powered/graveyard_shuttle) -"bh" = ( -/obj/effect/decal/cleanable/oil, -/obj/structure/chair/office/light, -/turf/open/floor/mineral/titanium/white, -/area/ruin/powered/graveyard_shuttle) -"bi" = ( -/obj/effect/turf_decal/industrial/hatch, -/turf/open/floor/circuit/off, -/area/ruin/powered/graveyard_shuttle) -"bj" = ( -/obj/structure/barricade/wooden, -/obj/structure/mineral_door/wood, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bk" = ( -/obj/item/kitchen/knife/combat/bone, -/obj/item/organ/tongue, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bl" = ( -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bm" = ( -/obj/structure/closet/wardrobe/curator, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bn" = ( -/obj/structure/sink/oil_well, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bo" = ( -/obj/item/stack/medical/gauze/improvised, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bp" = ( -/turf/open/floor/mineral/titanium/white, -/area/ruin/powered/graveyard_shuttle) -"bq" = ( -/obj/machinery/iv_drip, -/turf/open/floor/mineral/titanium/white, -/area/ruin/powered/graveyard_shuttle) -"br" = ( -/obj/structure/sign/warning/nosmoking/circle, -/turf/closed/wall/mineral/titanium, -/area/ruin/powered/graveyard_shuttle) -"bs" = ( -/obj/structure/fence/door, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bt" = ( -/obj/structure/table, -/turf/closed/mineral/strong/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bu" = ( -/obj/structure/bed, -/obj/item/trash/pistachios, -/obj/item/trash/chips, -/obj/item/bedsheet/brown, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bv" = ( -/obj/effect/decal/remains/human, -/obj/item/clothing/mask/bandana/green, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bx" = ( -/obj/machinery/power/port_gen/pacman, -/obj/structure/cable, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"by" = ( -/obj/structure/closet/emcloset, -/obj/item/light/bulb, -/obj/effect/turf_decal/box/white, -/turf/open/floor/mineral/titanium/purple, -/area/ruin/powered/graveyard_shuttle) -"bz" = ( -/obj/item/paper/crumpled/muddy/fluff/elephant_graveyard/mutiny, -/obj/item/cigbutt, -/obj/item/cigbutt, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bA" = ( -/obj/machinery/suit_storage_unit/mining/eva, -/obj/effect/turf_decal/box/white, -/turf/open/floor/mineral/titanium/purple, -/area/ruin/powered/graveyard_shuttle) -"bB" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bC" = ( -/obj/structure/barricade/sandbags, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bD" = ( -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/ruin/unpowered/elephant_graveyard) -"bE" = ( -/obj/structure/shuttle/engine/heater, -/obj/structure/window{ - dir = 1 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/mineral/titanium/purple, -/area/ruin/powered/graveyard_shuttle) -"bF" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/ruin/unpowered/elephant_graveyard) -"bG" = ( -/obj/effect/decal/remains/human, -/obj/item/tank/internals/emergency_oxygen/empty, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bH" = ( -/obj/item/paper/fluff/ruins/elephant_graveyard, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/overmap_encounter/planetoid/cave/explored) -"bI" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/ruin/powered/graveyard_shuttle) -"bJ" = ( -/obj/structure/sign/warning/xeno_mining, -/turf/closed/wall, -/area/ruin/unpowered/elephant_graveyard) -"bK" = ( -/obj/structure/sign/warning/explosives, -/turf/closed/wall, -/area/ruin/unpowered/elephant_graveyard) -"bL" = ( -/obj/effect/decal/cleanable/blood/gibs/old, -/obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bM" = ( -/obj/item/storage/fancy/cigarettes/cigpack_mindbreaker, -/obj/structure/closet/crate/grave/loot, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bN" = ( -/obj/structure/sign/warning/securearea, -/turf/closed/mineral/strong/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bO" = ( -/obj/item/paper/fluff/ruins/elephant_graveyard, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bP" = ( -/obj/structure/barricade/wooden/crude, -/obj/item/paper/fluff/ruins/elephant_graveyard, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/ruin/unpowered/elephant_graveyard) -"bQ" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/effect/decal/cleanable/cobweb, -/obj/item/paper/fluff/ruins/elephant_graveyard/hypothesis, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/mineral/titanium/white, -/area/ruin/powered/graveyard_shuttle) -"bR" = ( -/obj/effect/decal/cleanable/generic, -/obj/item/cigbutt, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bS" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/rnd/destructive_analyzer, -/turf/open/floor/mineral/titanium/white, -/area/ruin/powered/graveyard_shuttle) -"bT" = ( -/obj/structure/barricade/wooden, -/obj/item/paper/fluff/ruins/elephant_graveyard, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bU" = ( -/obj/item/light/bulb/broken, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/mineral/titanium/white, -/area/ruin/powered/graveyard_shuttle) -"bV" = ( -/obj/effect/decal/cleanable/dirt, -/turf/closed/mineral/volcanic/lava_land_surface, -/area/ruin/unpowered/elephant_graveyard) -"bW" = ( -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/door/airlock/shuttle{ - name = "Archaeology Shuttle Airlock" - }, -/turf/open/floor/mineral/titanium/purple, -/area/ruin/powered/graveyard_shuttle) -"bX" = ( -/obj/effect/decal/remains/human, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/clothing/head/fedora/curator, -/obj/item/clothing/suit/armor/curator, -/turf/open/floor/mineral/titanium/white, -/area/ruin/powered/graveyard_shuttle) -"bY" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/cigbutt, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"bZ" = ( -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/overmap_encounter/planetoid/cave/explored) -"ca" = ( -/obj/structure/table, -/obj/item/storage/firstaid/o2, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"cc" = ( -/obj/effect/decal/remains/human, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"cd" = ( -/obj/item/trash/can, -/obj/structure/bedsheetbin/empty, -/obj/structure/table, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"ce" = ( -/obj/structure/stone_tile/slab/cracked, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"cf" = ( -/obj/structure/bed, -/obj/item/wirecutters, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"cg" = ( -/obj/structure/stone_tile/center/cracked, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"ch" = ( -/obj/effect/decal/remains/human, -/obj/item/restraints/handcuffs/cable/zipties/used, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"ci" = ( -/obj/structure/stone_tile/surrounding_tile, -/turf/open/floor/plating/asteroid/basalt/wasteland{ - icon_state = "wasteland_dug" - }, -/area/ruin/unpowered/elephant_graveyard) -"cj" = ( -/obj/structure/stone_tile/block/cracked, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"ck" = ( -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"cl" = ( -/obj/structure/closet/crate/grave/loot, -/obj/effect/mob_spawn/human/skeleton, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"cm" = ( -/obj/structure/table/optable, -/obj/item/storage/backpack/explorer, -/obj/item/reagent_containers/food/drinks/soda_cans/cola, -/obj/item/restraints/handcuffs/cable/zipties/used, -/turf/open/floor/mineral/titanium/white, -/area/ruin/powered/graveyard_shuttle) -"cn" = ( -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"co" = ( -/obj/effect/decal/cleanable/blood/drip, -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"cq" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"cr" = ( -/obj/structure/bonfire/prelit, -/obj/effect/decal/cleanable/ash, -/obj/item/organ/tail/lizard, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/stone_tile/slab/cracked, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"cs" = ( -/obj/structure/ore_box, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"ct" = ( -/obj/structure/stone_tile, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"cu" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"cv" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/mineral/titanium/white, -/area/ruin/powered/graveyard_shuttle) -"cw" = ( -/obj/structure/closet/crate/grave/loot, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/mob_spawn/human/skeleton, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"cx" = ( -/obj/item/light/bulb/broken, -/obj/effect/turf_decal/industrial/stand_clear/white, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/mineral/titanium/purple, -/area/ruin/powered/graveyard_shuttle) -"cz" = ( -/obj/structure/stone_tile, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"fy" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"lO" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"oR" = ( -/obj/item/reagent_containers/glass/bottle/frostoil{ - desc = "A small bottle. Contains cold sauce. There's a label on here: APPLY ON SEVERE BURNS."; - volume = 10 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"rb" = ( -/obj/structure/rack, -/obj/item/shovel, -/obj/item/wrench, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"vS" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"Bi" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"BF" = ( -/obj/structure/flora/rock, -/obj/item/pickaxe{ - layer = 2.5; - pixel_x = -8; - pixel_y = 5 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"Gb" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"GT" = ( -/obj/item/reagent_containers/food/snacks/deadmouse, -/obj/item/assembly/mousetrap, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"GY" = ( -/obj/machinery/power/floodlight, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"Hq" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/bottle/plasma{ - volume = 25 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"MV" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"NJ" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"Qk" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"QG" = ( -/obj/structure/table, -/obj/item/paper/crumpled/muddy/fluff/elephant_graveyard/rnd_notes, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"QZ" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"WG" = ( -/obj/structure/table, -/obj/machinery/power/floodlight, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) -"XX" = ( -/obj/structure/table, -/obj/item/t_scanner/adv_mining_scanner/lesser, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating/asteroid/basalt/wasteland, -/area/ruin/unpowered/elephant_graveyard) - -(1,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -ab -ab -ab -ab -ab -ab -ab -ab -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(2,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -ab -ab -ab -at -ab -ab -ab -ac -ac -ac -ac -bf -ac -ab -ab -ab -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -"} -(3,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -ab -ab -bf -bf -bf -bf -bf -ac -ac -ac -ac -bf -bf -bf -ac -ac -ab -ab -ab -aa -aa -aa -aa -aa -aa -aa -aa -"} -(4,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -ab -ab -bf -bf -aT -bR -bf -bf -bf -ac -bf -bf -bf -bf -bf -bf -bf -ac -ac -ab -ab -aa -aa -aa -aa -aa -aa -aa -"} -(5,1,1) = {" -aa -aa -aa -aa -aa -ab -ab -ab -bf -bf -bf -bz -aK -bY -ae -bf -bf -bf -cs -aE -bJ -bf -bf -bf -ac -ac -ac -ab -ab -ab -aa -aa -aa -aa -aa -"} -(6,1,1) = {" -aa -aa -aa -aa -ab -ab -bf -bf -bf -bf -aA -bc -aA -aY -ae -bv -ae -cl -ae -ae -aC -bs -bO -ae -ae -ac -ac -ac -ac -ab -ab -ab -aa -aa -aa -"} -(7,1,1) = {" -aa -aa -aa -aa -ab -bf -bf -bf -oR -vS -vS -vS -aL -ae -ae -ak -ae -ae -ae -ae -bK -bf -bf -bf -ae -ac -ac -ac -ac -ac -ac -ab -ab -aa -aa -"} -(8,1,1) = {" -aa -aa -ab -ab -ab -bf -bf -Gb -Bi -ar -ae -ae -ae -ar -aZ -ae -ba -ae -ba -ae -ae -ae -ae -bf -ae -ac -ac -ac -ac -ac -ac -ac -ab -ab -aa -"} -(9,1,1) = {" -aa -ab -ab -bf -bf -bf -Gb -Bi -ak -ae -aE -ae -ae -ae -ba -ae -af -ae -ae -ae -ba -ae -ak -bf -ae -ae -ac -ac -ac -ac -ac -ac -ac -ac -aa -"} -(10,1,1) = {" -ab -ab -bf -bf -bf -Gb -MV -ae -ae -ae -ae -cl -ae -ae -ae -co -bd -bk -ae -ae -ae -ae -aE -bf -bf -ae -ae -ac -ac -ac -ac -bG -bM -ac -ac -"} -(11,1,1) = {" -at -bf -bf -bf -bf -lO -ae -ae -ao -ae -ax -ax -ax -ax -ae -ae -be -cr -ae -cz -ae -ae -bn -cw -bf -bf -bB -ac -ac -ac -ac -bL -ae -ae -ac -"} -(12,1,1) = {" -at -bf -bf -bf -bf -lO -cl -ae -ae -ae -ae -ci -cj -ce -ae -cj -ae -cq -ae -ae -cu -ae -ae -ae -bf -bf -bC -ac -ac -ac -ac -ac -ac -bD -ac -"} -(13,1,1) = {" -bf -ad -ae -bf -cl -lO -ae -ae -ae -ae -cg -ae -ak -ak -cn -ae -cq -ae -ct -ar -ae -cl -ae -ae -bf -bf -ae -ac -ac -ac -ac -ac -ac -ae -ac -"} -(14,1,1) = {" -bf -aj -ae -bf -ae -lO -aE -ae -ap -ae -ay -ay -ay -ay -ae -ae -ak -ae -ae -bn -ae -ae -aE -GY -bf -cl -bB -ae -ac -ac -ac -ac -ac -ae -ac -"} -(15,1,1) = {" -bf -ai -ag -bf -an -lO -ae -ae -ae -ae -ae -ae -ae -ae -ae -ae -ae -cw -ae -ae -ae -ae -ae -lO -bf -ac -ae -ae -bB -ac -ac -ac -ac -bD -ac -"} -(16,1,1) = {" -bf -ai -bf -bf -bf -Qk -vS -QZ -ae -ae -aE -ae -ar -ae -ba -ae -ae -ae -ae -ae -ba -ae -ae -lO -bf -ac -ac -ae -ae -bB -ac -ac -ac -bB -bP -"} -(17,1,1) = {" -bf -ae -af -bf -bf -aE -bf -Qk -BF -XX -az -aG -aM -aR -ae -ae -ba -ae -ba -ae -ae -aE -cl -lO -bf -bf -ac -ac -ae -bD -ac -ac -ac -bF -bT -"} -(18,1,1) = {" -at -bf -ah -bf -bf -af -bf -ae -ae -QG -aB -ae -ae -aS -ae -ae -aE -ae -ae -ae -ae -ae -ae -NJ -bx -bf -ac -ac -ac -ae -bB -bB -bF -bB -bP -"} -(19,1,1) = {" -ab -bf -af -av -af -ae -bf -ae -bt -Hq -ch -ae -ae -ca -ae -Gb -vS -vS -vS -vS -vS -vS -vS -GT -bf -bf -ac -ac -ac -ac -bF -bB -bV -ac -ac -"} -(20,1,1) = {" -aa -at -bf -bf -bf -bf -bf -bj -bf -WG -al -fy -vS -vS -vS -rb -bf -ac -bm -ae -bn -bf -bf -bf -bf -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(21,1,1) = {" -aa -aa -ab -ac -ac -bf -aU -aE -bf -bf -bf -bf -ck -aX -ae -bf -bf -bf -bf -bf -bf -bf -bf -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ab -ab -"} -(22,1,1) = {" -aa -aa -ab -ab -ac -bf -aU -ae -bl -cd -bf -bf -bf -bN -ae -bf -bf -bf -bf -ac -ac -ac -ac -ac -ac -ac -ac -ab -ab -ab -ab -ab -ab -bZ -bZ -"} -(23,1,1) = {" -aa -aa -aa -ab -ab -bf -aV -bl -aE -bu -bf -bf -bf -bf -bb -bf -bf -bf -bf -ab -ab -ab -ab -ab -ab -ab -ab -bZ -bZ -bZ -bH -bZ -bZ -bZ -ab -"} -(24,1,1) = {" -aa -aa -aa -aa -ab -at -aP -bo -cc -cf -bf -aH -aH -bg -bW -bg -aH -aH -aH -bH -bZ -bZ -bZ -bZ -bZ -bZ -bZ -bZ -bZ -bZ -bZ -bZ -ab -ab -ab -"} -(25,1,1) = {" -aa -aa -aa -aa -aa -at -bf -bf -bf -bf -aH -aN -bQ -bh -cv -bU -by -aH -aH -bI -bZ -bZ -bZ -bZ -bZ -bZ -bZ -bZ -bZ -ab -ab -ab -ab -ab -ab -"} -(26,1,1) = {" -aa -aa -aa -aa -aa -ab -ab -ab -ab -ab -aI -aO -bX -bi -bp -bi -cx -bE -aH -bI -bZ -bZ -bZ -bZ -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -"} -(27,1,1) = {" -aa -aa -aa -aa -aa -aa -ab -ab -ab -ab -aH -aN -aW -cm -bq -bS -bA -aH -aH -bI -bZ -bZ -bZ -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -aa -"} -(28,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -ab -ab -ab -ab -aH -aH -aH -br -aH -aH -aH -aH -bZ -bZ -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -aa -aa -"} -(29,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -aa -aa -aa -aa -aa -"} diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_lava_canyon.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_lava_canyon.dmm index 3efc7429d80..7626a3ff9a6 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_lava_canyon.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_lava_canyon.dmm @@ -150,10 +150,6 @@ pixel_x = -5; pixel_y = 12 }, -/obj/item/clothing/head/witchunter{ - pixel_y = 13; - pixel_x = -5 - }, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating/asteroid/basalt/lava_land_surface/lit, /area/overmap_encounter/planetoid/lava/explored) @@ -345,7 +341,7 @@ /obj/effect/mob_spawn/human/corpse{ mob_species = /datum/species/lizard/ashwalker }, -/obj/item/spear/bonespear{ +/obj/item/melee/spear/bone{ pixel_x = 10; pixel_y = -2 }, @@ -611,7 +607,7 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface/lit, /area/overmap_encounter/planetoid/lava/explored) "pX" = ( -/obj/item/claymore/bone{ +/obj/item/melee/sword/bone{ pixel_x = -12; pixel_y = 11 }, @@ -887,7 +883,7 @@ /area/overmap_encounter/planetoid/lava/explored) "zb" = ( /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner{ - loot = list(/obj/item/melee/transforming/cleaving_saw,/obj/item/gun/energy/kinetic_accelerator,/obj/item/keycard/gatedrop/lavacanyon); + loot = list(/obj/item/melee/cleaving_saw,/obj/item/gun/energy/kinetic_accelerator,/obj/item/keycard/gatedrop/lavacanyon) }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/overmap_encounter/planetoid/cave/explored) @@ -1101,7 +1097,7 @@ pixel_y = -11; pixel_x = -7 }, -/obj/item/kitchen/knife/combat/bone{ +/obj/item/melee/knife/bone{ pixel_x = 10; pixel_y = -10 }, @@ -1474,7 +1470,7 @@ /turf/closed/mineral/random/volcanic, /area/overmap_encounter/planetoid/cave/explored) "PP" = ( -/obj/item/kitchen/knife/combat/bone{ +/obj/item/melee/knife/bone{ pixel_x = -2; pixel_y = 4 }, @@ -1706,7 +1702,7 @@ pixel_x = -2; pixel_y = 1 }, -/obj/item/spear/bonespear{ +/obj/item/melee/spear/bone{ pixel_x = 8; pixel_y = 14 }, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm index 0064e874017..579d58a4c09 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm @@ -164,8 +164,8 @@ /area/ruin/lavaland/factory/manager_office) "bE" = ( /obj/structure/closet/crate/trashcart, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, /obj/item/storage/bag/trash, /obj/item/reagent_containers/glass/bucket, /obj/item/mop, @@ -216,7 +216,7 @@ "cm" = ( /obj/structure/table/wood, /obj/machinery/light/directional/east, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /turf/open/floor/wood, /area/ruin/lavaland/factory/adminstrative) "co" = ( @@ -341,7 +341,7 @@ /area/ruin/lavaland/factory/warehouse) "dc" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/cloth, /obj/effect/turf_decal/corner/opaque/ntblue, /obj/effect/turf_decal/corner/opaque/ntblue{ @@ -641,7 +641,7 @@ }, /obj/item/modular_computer/laptop, /obj/item/stack/arcadeticket, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/white, /area/ruin/lavaland/factory/dorms) "go" = ( @@ -705,11 +705,11 @@ /obj/item/reagent_containers/food/snacks/meat/slab, /obj/item/reagent_containers/food/snacks/meat/slab, /obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/rice, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/rice, /obj/item/storage/fancy/egg_box, -/obj/item/reagent_containers/food/condiment/soymilk, -/obj/item/reagent_containers/food/condiment/milk, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/condiment/milk, /obj/item/storage/box/ingredients/vegetarian, /turf/open/floor/wood, /area/ruin/lavaland/factory/adminstrative) @@ -1098,7 +1098,7 @@ /obj/effect/decal/cleanable/blood{ icon_state = "drip1" }, -/obj/item/spear, +/obj/item/melee/spear, /obj/item/bodypart/l_arm, /turf/open/floor/plasteel/dark, /area/ruin/lavaland/factory/dorms) @@ -1224,7 +1224,7 @@ "lR" = ( /obj/effect/decal/cleanable/blood/gibs/core, /obj/effect/decal/cleanable/dirt/dust, -/obj/item/stamp/qm{ +/obj/item/stamp/nanotrasen/ns/supply{ pixel_x = 7; pixel_y = 10 }, @@ -1506,7 +1506,7 @@ }, /obj/item/storage/wallet/random, /obj/item/instrument/guitar, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/white, /area/ruin/lavaland/factory/dorms) "oh" = ( @@ -1578,11 +1578,11 @@ /obj/effect/turf_decal/corner/opaque/bar, /obj/machinery/light/directional/east, /obj/item/storage/box/ingredients/vegetarian, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/soymilk, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/soymilk, /obj/item/storage/fancy/egg_box, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/rice, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/rice, /obj/item/reagent_containers/food/snacks/meat/slab, /obj/item/reagent_containers/food/snacks/meat/slab, /obj/item/reagent_containers/food/snacks/meat/slab, @@ -1887,7 +1887,7 @@ /obj/item/poster/random_contraband, /obj/item/toy/eightball, /obj/item/toy/cards/deck/tarot, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/white, /area/ruin/lavaland/factory/dorms) "rh" = ( @@ -2155,6 +2155,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space/stormtrooper, /turf/open/floor/plasteel/dark, /area/ruin/lavaland/factory/dorms) "tN" = ( @@ -2286,7 +2287,7 @@ /obj/item/storage/fancy/cigarettes/cigpack_cannabis, /obj/item/lighter/greyscale, /obj/item/reagent_containers/food/drinks/bottle/whiskey, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/white, /area/ruin/lavaland/factory/dorms) "ve" = ( @@ -2691,8 +2692,8 @@ /turf/open/floor/carpet/blue, /area/ruin/lavaland/factory/manager_office) "zl" = ( -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, /obj/structure/closet/crate/secure/gear, /turf/open/floor/plasteel/mono, /area/ruin/lavaland/factory/warehouse) @@ -2716,7 +2717,7 @@ /obj/item/ammo_box/magazine/smgm9mm{ start_empty = 1 }, -/obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto, +/obj/item/gun/ballistic/automatic/smg/skm_carbine/saber, /turf/open/floor/plasteel/dark, /area/ruin/lavaland/factory/dorms) "zC" = ( @@ -2982,9 +2983,9 @@ dir = 1 }, /obj/machinery/light/directional/west, -/obj/item/kitchen/knife/hunting, +/obj/item/melee/knife/hunting, /obj/item/clothing/suit/hooded/cloak/goliath, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/white, /area/ruin/lavaland/factory/dorms) "CW" = ( @@ -3148,18 +3149,18 @@ /obj/effect/turf_decal/corner/opaque/ntblue{ dir = 1 }, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/white, /area/ruin/lavaland/factory/dorms) "EP" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/cloth, /obj/effect/turf_decal/corner/opaque/ntblue, /obj/effect/turf_decal/corner/opaque/ntblue{ @@ -3532,7 +3533,7 @@ /obj/structure/flippedtable{ dir = 4 }, -/obj/item/reagent_containers/food/drinks/bottle/molotov, +/obj/item/reagent_containers/food/drinks/molotov/full, /obj/item/lighter/greyscale{ pixel_x = -8; pixel_y = -7 @@ -3828,7 +3829,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/item/kitchen/knife/shiv, +/obj/item/melee/knife/shiv, /turf/open/floor/plasteel/white, /area/ruin/lavaland/factory/adminstrative) "LX" = ( @@ -4061,11 +4062,11 @@ /area/overmap_encounter/planetoid/cave/explored) "Or" = ( /obj/structure/closet/crate/freezer, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, @@ -4193,9 +4194,8 @@ "Pv" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, -/obj/item/stamp/hos{ - pixel_x = 10; - pixel_y = -8 +/obj/item/stamp/nanotrasen/vigilitas{ + pixel_x = 11 }, /obj/effect/turf_decal/corner/opaque/red/border{ dir = 10 @@ -4302,7 +4302,7 @@ "QM" = ( /obj/structure/table/wood, /obj/item/cutting_board, -/obj/item/kitchen/knife, +/obj/item/melee/knife/kitchen, /turf/open/floor/wood, /area/ruin/lavaland/factory/adminstrative) "QR" = ( @@ -4360,7 +4360,7 @@ /area/ruin/lavaland/factory/adminstrative) "RC" = ( /obj/effect/turf_decal/siding/white, -/obj/item/ammo_box/magazine/m10mm{ +/obj/item/ammo_box/magazine/m10mm_ringneck{ start_empty = 1 }, /obj/item/ammo_casing/c10mm{ @@ -4524,7 +4524,7 @@ /obj/item/pen/fountain/captain{ pixel_x = 5 }, -/obj/item/stamp/captain{ +/obj/item/stamp/nanotrasen/captain{ pixel_x = -8 }, /turf/open/floor/carpet/blue, @@ -4944,9 +4944,9 @@ /obj/effect/turf_decal/corner/opaque/bar, /obj/structure/closet/crate/bin, /obj/machinery/light/directional/west, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, /turf/open/floor/plasteel, /area/ruin/lavaland/factory/dorms) "Xn" = ( @@ -5013,7 +5013,7 @@ /obj/effect/mob_spawn/human/corpse/syndicatesoldier, /obj/effect/decal/cleanable/blood/old, /obj/effect/turf_decal/siding/white, -/obj/item/ammo_box/magazine/m10mm{ +/obj/item/ammo_box/magazine/m10mm_ringneck{ start_empty = 1 }, /turf/open/floor/concrete/pavement/lava, @@ -5077,7 +5077,7 @@ /area/overmap_encounter/planetoid/lava/explored) "YJ" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/cloth, /obj/effect/turf_decal/corner/opaque/ntblue, /obj/effect/turf_decal/corner/opaque/ntblue{ @@ -6370,7 +6370,7 @@ LP vE DB Cc -KX +yQ Gn hv JO @@ -6424,7 +6424,7 @@ vE EU Vw Id -KX +yQ PR KX PR @@ -6478,7 +6478,7 @@ ab vQ LL Kg -KX +yQ Gw KX Gw @@ -6532,7 +6532,7 @@ yQ yQ yQ yQ -KX +yQ KX KX KX diff --git a/_maps/RandomRuins/ReebeRuins/reebe_arena.dmm b/_maps/RandomRuins/ReebeRuins/reebe_arena.dmm index 448690c0e77..6e7e5131b64 100644 --- a/_maps/RandomRuins/ReebeRuins/reebe_arena.dmm +++ b/_maps/RandomRuins/ReebeRuins/reebe_arena.dmm @@ -45,10 +45,6 @@ "pm" = ( /turf/open/floor/bronze, /area/ruin/reebe) -"pW" = ( -/obj/item/nullrod/spear, -/turf/open/floor/bronze, -/area/ruin/reebe) "qj" = ( /mob/living/simple_animal/hostile/asteroid/goliath/beast/ancient/crystal, /obj/structure/fans/tiny/invisible, @@ -56,7 +52,6 @@ /area/ruin/reebe) "qC" = ( /obj/structure/chair/comfy/shuttle/bronze, -/obj/item/nullrod/spear, /turf/open/floor/bronze, /area/ruin/reebe) "vz" = ( @@ -91,7 +86,6 @@ /area/ruin/reebe) "Ag" = ( /obj/structure/table/bronze, -/obj/item/nullrod/spear, /turf/open/floor/bronze, /area/ruin/reebe) "AT" = ( @@ -220,17 +214,13 @@ /turf/open/floor/bronze, /area/ruin/reebe) "Ux" = ( -/obj/item/spear, +/obj/item/melee/spear, /obj/item/grenade/c4, /turf/open/floor/bronze, /area/ruin/reebe) "UU" = ( /turf/open/chasm/reebe_void, /area/ruin/reebe) -"VT" = ( -/obj/structure/table/bronze, -/turf/open/floor/bronze, -/area/ruin/reebe) "Xr" = ( /obj/machinery/door/airlock/bronze/seethru{ name = "Summoning Chamber" @@ -2127,7 +2117,7 @@ Cj Cj Fz pm -VT +Ag Ib Cj FD @@ -2186,7 +2176,7 @@ IC IC Cj Cj -VT +Ag Fz pm pm @@ -2251,7 +2241,7 @@ la la pm pm -pW +pm pm xy pm @@ -2505,7 +2495,7 @@ pm pm pm Cj -VT +Ag pm pm pm @@ -2559,7 +2549,7 @@ pm Cj pm pm -pW +pm JC pm JC @@ -2567,7 +2557,7 @@ pm JC pm De -VT +Ag pm pm pm @@ -2815,7 +2805,7 @@ pm JC pm De -VT +Ag pm pm pm @@ -2877,7 +2867,7 @@ pm pm pm Cj -VT +Ag pm pm pm @@ -2996,11 +2986,11 @@ JC pm pm Rc -VT +Ag Cj Ag -VT -VT +Ag +Ag pm pm pm @@ -3053,7 +3043,7 @@ IC IC IC De -VT +Ag pm pm pm @@ -3127,7 +3117,7 @@ pm pm pm pm -VT +Ag Cj pm pm @@ -3178,7 +3168,7 @@ IC IC Cj Cj -VT +Ag hO pm hO @@ -3188,7 +3178,7 @@ pm pm pm pm -VT +Ag Cj Cj pm @@ -3242,14 +3232,14 @@ IC Cj Cj Pn -VT +Ag Pn -VT +Ag Cj -VT +Ag pm pm -VT +Ag Cj Cj pm diff --git a/_maps/RandomRuins/ReebeRuins/reebe_decayed_sm.dmm b/_maps/RandomRuins/ReebeRuins/reebe_decayed_sm.dmm index c768b54fe0a..e1b0f36f687 100644 --- a/_maps/RandomRuins/ReebeRuins/reebe_decayed_sm.dmm +++ b/_maps/RandomRuins/ReebeRuins/reebe_decayed_sm.dmm @@ -7,7 +7,6 @@ /turf/open/floor/bronze, /area/ruin/reebe) "d" = ( -/obj/item/nullrod/spear, /turf/open/floor/bronze, /area/ruin/reebe) "e" = ( @@ -57,9 +56,6 @@ "O" = ( /turf/closed/wall/mineral/bronze, /area/ruin/reebe) -"Y" = ( -/turf/open/floor/bronze, -/area/ruin/reebe) "Z" = ( /obj/effect/decal/remains/human, /turf/open/floor/bronze, @@ -78,8 +74,8 @@ a a "} (2,1,1) = {" -Y -Y +d +d C C x @@ -102,19 +98,19 @@ a o "} (4,1,1) = {" -Y +d O e C C O -Y +d O -Y +d E "} (5,1,1) = {" -Y +d B e C @@ -122,23 +118,23 @@ M v Z v -Y +d a "} (6,1,1) = {" -Y +d O C e e O -Y +d O -Y +d a "} (7,1,1) = {" -Y +d C y C @@ -154,19 +150,19 @@ E C C C -Y -Y -Y +d +d +d E a a "} (9,1,1) = {" -Y -Y +d +d E E -Y +d E a a diff --git a/_maps/RandomRuins/ReebeRuins/reebe_floating_island.dmm b/_maps/RandomRuins/ReebeRuins/reebe_floating_island.dmm index 2313a8e91d9..d1d0cc588c9 100644 --- a/_maps/RandomRuins/ReebeRuins/reebe_floating_island.dmm +++ b/_maps/RandomRuins/ReebeRuins/reebe_floating_island.dmm @@ -28,9 +28,7 @@ /obj/item/ammo_casing/caseless/arrow/bronze, /obj/item/ammo_casing/caseless/arrow/bronze, /obj/item/ammo_casing/caseless/arrow/bronze, -/obj/item/clothing/suit/bronze, /obj/item/clothing/head/bronze, -/obj/item/clothing/shoes/bronze, /mob/living/simple_animal/hostile/asteroid/goliath/beast/ancient/crystal, /turf/open/floor/bronze, /area/ruin/reebe) diff --git a/_maps/RandomRuins/ReebeRuins/reebe_swarmers.dmm b/_maps/RandomRuins/ReebeRuins/reebe_swarmers.dmm deleted file mode 100644 index 7c864f829fd..00000000000 --- a/_maps/RandomRuins/ReebeRuins/reebe_swarmers.dmm +++ /dev/null @@ -1,471 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/turf/template_noop, -/area/template_noop) -"t" = ( -/turf/open/floor/grass/fairy/reebe, -/area/overmap_encounter/planetoid/reebe) -"u" = ( -/obj/structure/flora/tree/jungle{ - icon = 'icons/obj/flora/chapeltree.dmi'; - icon_state = "churchtree"; - pixel_x = -16; - pixel_y = 0 - }, -/turf/open/floor/grass/fairy/reebe, -/area/overmap_encounter/planetoid/reebe) -"x" = ( -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/crystal, -/turf/open/floor/grass/fairy/reebe, -/area/overmap_encounter/planetoid/reebe) -"N" = ( -/turf/closed/mineral/random/reebe, -/area/ruin/reebe) -"R" = ( -/mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon, -/turf/open/floor/grass/fairy/reebe, -/area/ruin/reebe) -"X" = ( -/turf/closed/mineral/random/reebe, -/area/overmap_encounter/planetoid/reebe) - -(1,1,1) = {" -a -a -a -a -a -a -a -a -t -t -t -a -a -a -a -a -a -a -a -a -"} -(2,1,1) = {" -a -a -t -t -t -t -a -a -N -u -t -t -N -N -t -t -t -t -a -a -"} -(3,1,1) = {" -a -t -N -t -N -x -t -t -t -N -N -t -t -t -t -N -N -t -a -a -"} -(4,1,1) = {" -a -t -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -a -"} -(5,1,1) = {" -t -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -u -a -a -"} -(6,1,1) = {" -a -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -t -t -a -"} -(7,1,1) = {" -a -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -"} -(8,1,1) = {" -a -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -"} -(9,1,1) = {" -a -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -"} -(10,1,1) = {" -t -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -"} -(11,1,1) = {" -t -u -t -N -N -N -N -N -N -R -N -N -N -N -N -N -N -t -t -a -"} -(12,1,1) = {" -t -t -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -"} -(13,1,1) = {" -t -N -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -t -a -"} -(14,1,1) = {" -t -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -a -"} -(15,1,1) = {" -a -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -t -a -"} -(16,1,1) = {" -t -t -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -"} -(17,1,1) = {" -t -t -t -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -"} -(18,1,1) = {" -a -a -a -t -N -N -N -N -N -N -N -t -t -t -t -N -N -t -t -a -"} -(19,1,1) = {" -a -a -a -t -t -t -t -t -t -t -t -t -N -X -u -t -t -t -a -a -"} -(20,1,1) = {" -a -a -a -a -a -a -a -a -a -a -a -a -t -t -t -a -a -a -a -a -"} diff --git a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm index b837eff979f..3eeb093aa53 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm @@ -47,7 +47,7 @@ /obj/machinery/reagentgrinder{ pixel_y = 5 }, -/obj/item/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/condiment/enzyme{ pixel_x = -2; pixel_y = 6 }, @@ -96,7 +96,6 @@ req_access_txt = "3" }, /obj/item/gun/energy/e_gun/hos, -/obj/item/clothing/mask/gas/sechailer, /obj/item/clothing/shoes/cowboy/black, /obj/item/storage/belt/military, /obj/item/clothing/suit/armor/vest/leather, @@ -106,10 +105,11 @@ /obj/item/clothing/under/rank/security/head_of_security/alt/skirt, /obj/item/clothing/under/rank/security/head_of_security/nt, /obj/item/clothing/under/rank/security/head_of_security/nt/skirt, +/obj/item/clothing/mask/gas/vigilitas, /turf/open/floor/wood, /area/ruin/rockplanet/nanotrasen) "by" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/industrial/warning, /obj/machinery/light/dim/directional/north, /turf/open/floor/plasteel, @@ -214,7 +214,7 @@ /area/ruin/rockplanet/nanotrasen) "db" = ( /obj/structure/bed/pod, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/ruin/rockplanet/nanotrasen) @@ -517,7 +517,7 @@ pixel_x = -1; pixel_y = 3 }, -/obj/item/reagent_containers/food/condiment/sugar{ +/obj/item/reagent_containers/condiment/sugar{ pixel_x = 5; pixel_y = 5 }, @@ -566,8 +566,8 @@ "jb" = ( /obj/structure/bed, /obj/effect/turf_decal/industrial/warning{ - dir = 2; - color = "#808080" + color = "#808080"; + dir = 2 }, /obj/effect/decal/cleanable/vomit, /obj/effect/decal/cleanable/blood/old, @@ -769,12 +769,12 @@ "mO" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; pixel_x = -8; pixel_y = 2 }, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ desc = "Salt. From space oceans, presumably. A staple of modern medicine."; pixel_x = -8; pixel_y = 12 @@ -944,8 +944,8 @@ "oO" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/item/wallframe/light_fixture{ - pixel_y = -14; - pixel_x = 10 + pixel_x = 10; + pixel_y = -14 }, /turf/open/floor/plating{ icon_state = "panelscorched" @@ -960,21 +960,7 @@ /area/overmap_encounter/planetoid/rockplanet/explored) "pj" = ( /obj/structure/table/reinforced, -/obj/item/slime_extract/grey{ - pixel_x = -4; - pixel_y = -1 - }, -/obj/item/slime_extract/grey{ - pixel_x = 8 - }, -/obj/item/slime_extract/grey, -/obj/item/slime_extract/grey, -/obj/item/slime_extract/green{ - pixel_x = 4; - pixel_y = -6 - }, /obj/structure/window/reinforced, -/obj/item/slime_scanner, /turf/open/floor/engine, /area/ruin/rockplanet/nanotrasen) "pl" = ( @@ -1199,8 +1185,8 @@ pixel_y = 5 }, /obj/item/trash/sosjerky{ - pixel_y = 8; - pixel_x = -2 + pixel_x = -2; + pixel_y = 8 }, /turf/open/floor/plasteel/dark, /area/ruin/rockplanet/nanotrasen) @@ -1318,7 +1304,7 @@ pixel_x = -9; pixel_y = 3 }, -/obj/item/stamp/hos{ +/obj/item/stamp/nanotrasen/vigilitas/security{ pixel_x = -9; pixel_y = 9 }, @@ -1362,8 +1348,8 @@ pixel_x = -32 }, /obj/effect/turf_decal/industrial/warning{ - dir = 1; - color = "#808080" + color = "#808080"; + dir = 1 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, @@ -1565,7 +1551,7 @@ /obj/structure/railing{ dir = 4 }, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ruin/rockplanet/nanotrasen) "Ap" = ( @@ -1629,8 +1615,8 @@ "Bl" = ( /obj/structure/bed, /obj/effect/turf_decal/industrial/warning{ - dir = 1; - color = "#808080" + color = "#808080"; + dir = 1 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, @@ -1713,7 +1699,7 @@ /area/overmap_encounter/planetoid/rockplanet/explored) "Cx" = ( /obj/structure/bed/pod, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/light/dim/directional/east, /turf/open/floor/wood, /area/ruin/rockplanet/nanotrasen) @@ -2153,8 +2139,8 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/industrial/warning{ - dir = 2; - color = "#808080" + color = "#808080"; + dir = 2 }, /turf/open/floor/plasteel, /area/ruin/rockplanet/nanotrasen) @@ -2201,7 +2187,7 @@ pixel_x = 7; pixel_y = 3 }, -/obj/item/stamp/rd{ +/obj/item/stamp/nanotrasen/science{ pixel_x = -6; pixel_y = 12 }, @@ -2507,7 +2493,7 @@ /area/ruin/rockplanet/nanotrasen) "Rm" = ( /obj/structure/bed/pod, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/light/dim/directional/east, /turf/open/floor/carpet/black, /area/ruin/rockplanet/nanotrasen) @@ -2745,7 +2731,7 @@ /area/ruin/rockplanet/nanotrasen) "WY" = ( /obj/structure/frame/computer{ - dir = 1; + dir = 1 }, /obj/effect/turf_decal/corner/opaque/red/diagonal, /turf/open/floor/plasteel/tech/techmaint, diff --git a/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm b/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm new file mode 100644 index 00000000000..ed1febb808b --- /dev/null +++ b/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm @@ -0,0 +1,6610 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ah" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken7" + }, +/area/ruin/rockplanet/distillery) +"aj" = ( +/obj/structure/cable/yellow{ + icon_state = "2-10" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"av" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"aB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/chair/sofa/brown/old/right/directional/south, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/crew) +"aC" = ( +/obj/structure/catwalk/over, +/obj/structure/railing{ + layer = 4.1 + }, +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/rockplanet/explored) +"aE" = ( +/obj/structure/catwalk/over, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/glass, +/obj/item/reagent_containers/condiment/sugar{ + layer = 2.8; + pixel_x = -2; + pixel_y = 13 + }, +/obj/item/stock_parts/micro_laser{ + layer = 2.8; + pixel_x = 6; + pixel_y = 16 + }, +/obj/machinery/reagentgrinder, +/obj/item/stock_parts/scanning_module{ + layer = 2.8; + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = 10; + pixel_y = 10 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"aG" = ( +/obj/structure/cable/yellow{ + icon_state = "5-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-5" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"aJ" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/office) +"aS" = ( +/obj/effect/spawner/random/vending/cola, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"ba" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"bd" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/reagent_dispensers/watertank/high, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"be" = ( +/obj/machinery/light/floor, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg3" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"bm" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"br" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/door/airlock/external, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"bu" = ( +/obj/structure/chair/sofa/brown/corpo/left/directional/west, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"bz" = ( +/obj/effect/turf_decal/ntlogo{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#0094FF"; + icon_state = "f"; + pixel_x = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"bH" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "Air to Distro"; + target_pressure = 500 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"bI" = ( +/obj/structure/window/reinforced, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light/small/directional/east{ + pixel_y = -6 + }, +/obj/machinery/light_switch{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 22; + pixel_y = 5 + }, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "2-5" + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"bS" = ( +/obj/machinery/washing_machine, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plating/rust, +/area/ruin/rockplanet/distillery/crew) +"bT" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 8 + }, +/obj/structure/railing/corner{ + dir = 8; + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"bX" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/sofa/brown/old/left/directional/west, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"bY" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"cf" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/catwalk/over, +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/machinery/door/window/northleft, +/turf/open/floor/plating, +/area/ruin/rockplanet/distillery/crew) +"co" = ( +/obj/structure/catwalk/over, +/obj/structure/fermenting_barrel, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"cp" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic, +/obj/machinery/light/small/directional/east, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/office) +"cu" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4; + filter_types = list("co2","bz","water_vapor","freon","tritium","n20"); + widenet = 1 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"cw" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4 + }, +/obj/effect/decal/cleanable/glass, +/obj/structure/grille/broken, +/obj/structure/barricade/wooden, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery/saloon) +"cA" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/obj/effect/decal/cleanable/generic, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"cP" = ( +/obj/effect/turf_decal/industrial/outline/red, +/obj/item/reagent_containers/food/snacks/grown/corn, +/obj/item/reagent_containers/food/snacks/grown/corn, +/obj/item/reagent_containers/condiment/sugar, +/obj/item/reagent_containers/condiment/sugar, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 3 + }, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 3 + }, +/obj/structure/closet/crate/freezer, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"cQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"cS" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = -16 + }, +/obj/item/stock_parts/capacitor{ + pixel_x = -6; + pixel_y = -4 + }, +/obj/item/weldingtool/largetank{ + pixel_y = 3 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"dn" = ( +/obj/structure/flora/rock/rockplanet{ + icon_state = "redrock3" + }, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "foam_plating" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dw" = ( +/obj/structure/flora/ash/cacti, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dI" = ( +/obj/structure/cable/yellow{ + icon_state = "4-9" + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dJ" = ( +/obj/effect/turf_decal/ntlogo{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"dK" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/port_gen/pacman/super, +/obj/effect/turf_decal/siding/white/end{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/engineering) +"dP" = ( +/obj/machinery/shower{ + pixel_y = 12 + }, +/obj/structure/catwalk/over, +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/obj/machinery/door/window/southright, +/turf/open/floor/plating, +/area/ruin/rockplanet/distillery/crew) +"dU" = ( +/obj/structure/flora/ash/cacti, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ed" = ( +/turf/closed/wall/rust, +/area/ruin/rockplanet/distillery) +"eh" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"em" = ( +/obj/structure/flora/ash/leaf_shroom, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"en" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/item/storage/bottles/moonshine/sealed, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"eF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/ruin/rockplanet/distillery/crew) +"eG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/crew) +"fl" = ( +/obj/structure/reagent_dispensers/cooking_oil{ + desc = "A huge metal vat with a tap on the front. Filled with moonshine."; + name = "moonshine vat"; + reagent_id = /datum/reagent/consumable/ethanol/moonshine + }, +/obj/structure/fermenting_barrel/distiller{ + density = 0; + pixel_y = -14 + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"fs" = ( +/obj/structure/fermenting_barrel, +/obj/effect/decal/cleanable/greenglow, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/broken/directional/south, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg3" + }, +/area/ruin/rockplanet/distillery) +"fv" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 8; + id = "frontier_door"; + name = "Door Lock"; + normaldoorcontrol = 1; + pixel_x = 23; + pixel_y = -2; + specialfunctions = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 1 + }, +/area/ruin/rockplanet/distillery) +"fF" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-5" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fG" = ( +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/office) +"fJ" = ( +/obj/structure/catwalk/over, +/obj/machinery/light/small/broken/directional/west, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"fM" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/effect/decal/cleanable/vomit/old, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"fO" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 10 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fW" = ( +/obj/structure/rack, +/obj/item/storage/bottles/moonshine{ + pixel_y = 6 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"gg" = ( +/obj/structure/flora/ausbushes/sunnybush{ + layer = 3 + }, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gk" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 6 + }, +/obj/structure/mopbucket, +/obj/item/holosign_creator/janibarrier, +/obj/item/mop, +/obj/machinery/light/directional/east, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gu" = ( +/obj/item/mine/pressure/explosive/rusty/live, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/office) +"gw" = ( +/obj/structure/table/wood/poker, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/item/toy/cards/deck{ + pixel_x = 6; + pixel_y = -4 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"gA" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/ammo_box/magazine/m9mm_rattlesnake{ + layer = 3.1; + pixel_x = 12; + pixel_y = 6 + }, +/obj/item/ammo_box/magazine/m9mm_rattlesnake{ + layer = 3.1; + pixel_x = 6; + pixel_y = 6; + start_empty = 1 + }, +/obj/item/ammo_casing/c9mm, +/obj/item/ammo_casing/c9mm, +/obj/item/ammo_casing/c9mm, +/obj/item/ammo_casing/c9mm, +/obj/item/ammo_casing/c9mm, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"gM" = ( +/obj/machinery/door/airlock, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"gU" = ( +/obj/structure/catwalk/over, +/obj/structure/table/glass, +/obj/item/cigbutt{ + pixel_x = 4 + }, +/obj/item/cigbutt{ + pixel_x = -3; + pixel_y = 4 + }, +/obj/item/electronics/firealarm{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/sol_dry{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/ruin/rockplanet/distillery) +"gX" = ( +/obj/structure/reagent_dispensers/beerkeg{ + desc = "A keg full of liver-shredding spirits brewed by amateur bootleggers."; + name = "moonshine keg"; + reagent_id = /datum/reagent/consumable/ethanol/moonshine + }, +/obj/effect/turf_decal/industrial/loading/white{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"hi" = ( +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg1" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"hq" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 8; + pixel_y = 12 + }, +/obj/item/clothing/head/beret/sec/frontier{ + pixel_x = -4 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"hy" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"hA" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/item/reagent_containers/food/snacks/chips{ + pixel_x = -3; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = 6; + pixel_y = 8 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"hH" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/door/airlock/external/glass, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"hN" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/structure/chair/sofa/brown/old/right/directional/south, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"hP" = ( +/obj/structure/catwalk/over, +/obj/machinery/computer/atmos_alert/retro{ + dir = 1 + }, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"hS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"hY" = ( +/turf/closed/mineral/random/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ih" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/light/dim/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/safe/floor, +/obj/effect/decal/cleanable/crayon{ + icon_state = "credit" + }, +/obj/item/spacecash/bundle/loadsamoney, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"ir" = ( +/obj/structure/cable/yellow, +/obj/machinery/porta_turret/ship/weak, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/ruin/rockplanet/distillery/office) +"iy" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"iT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg2" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ji" = ( +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jm" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/power/smes/shuttle/micro/precharged, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/rockplanet/distillery/shuttle) +"jE" = ( +/obj/structure/catwalk/over, +/turf/closed/mineral/random/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"jF" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"jG" = ( +/obj/structure/curtain/cloth/grey, +/obj/structure/bed{ + dir = 8; + icon_state = "dirty_mattress" + }, +/obj/effect/spawner/random/bedsheet, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"jI" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/sofa/brown/corpo/right/directional/west, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"jM" = ( +/turf/closed/wall, +/area/ruin/rockplanet/distillery/office) +"jO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Input to Air" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/engineering) +"jS" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jX" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/ash, +/obj/item/cigbutt{ + pixel_x = 6; + pixel_y = 3 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"kn" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"kq" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"ky" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell{ + desc = "A sparse patch of grass without color."; + light_power = 1; + light_range = 0; + name = "dead grass" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"kC" = ( +/obj/structure/curtain/cloth/grey, +/obj/structure/bed{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"kO" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/structure/table, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/small/directional/west, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/obj/item/trash/plate{ + pixel_y = 16 + }, +/obj/item/reagent_containers/food/snacks/donkpocket/warm/pizza{ + pixel_y = 18 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"kQ" = ( +/obj/effect/spawner/random/vending/snack, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"kT" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 1 + }, +/obj/structure/railing{ + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"kU" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/light/dim/directional/north, +/obj/structure/chair/sofa/brown/old/directional/south, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/crew) +"kZ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"lc" = ( +/obj/structure/flora/rock/pile/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lD" = ( +/turf/closed/wall/r_wall, +/area/overmap_encounter/planetoid/cave/explored) +"lE" = ( +/turf/closed/wall, +/area/ruin/rockplanet/distillery/crew) +"lK" = ( +/obj/structure/dresser, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clothing/neck/stethoscope{ + pixel_y = 8 + }, +/obj/item/toy/plush/carpplushie{ + pixel_y = 8 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"lL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/turretid/lethal{ + pixel_y = 24 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"lQ" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg3" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lS" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lU" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/rockplanet/distillery/shuttle) +"me" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mk" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"mp" = ( +/obj/structure/cable/yellow{ + icon_state = "2-6" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mq" = ( +/obj/item/kirbyplants{ + icon_state = "plant-14"; + layer = 3.8 + }, +/obj/effect/decal/cleanable/glass, +/obj/item/broken_bottle{ + pixel_x = 8 + }, +/obj/item/shard{ + pixel_x = -4 + }, +/obj/item/pushbroom{ + layer = 3.9; + pixel_x = 5; + pixel_y = -12 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/light/small/broken/directional/west, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"mv" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/item/folder/red{ + pixel_x = -2; + pixel_y = 3 + }, +/obj/item/folder/yellow{ + pixel_y = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"mE" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/structure/railing{ + dir = 1; + layer = 2.7 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"mF" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"mK" = ( +/turf/open/floor/plasteel/stairs/wood, +/area/ruin/rockplanet/distillery/saloon) +"mX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"mY" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/corner{ + dir = 4 + }, +/obj/structure/railing{ + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ne" = ( +/obj/structure/table, +/obj/item/stack/cable_coil/yellow, +/obj/item/stack/cable_coil/red{ + pixel_y = 3 + }, +/obj/item/stock_parts/manipulator{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"nf" = ( +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 4; + id = "engi_window"; + name = "Window Shutter"; + pixel_x = -22; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/binary/volume_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"ng" = ( +/obj/effect/turf_decal/industrial/loading, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"nm" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"nr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"nA" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/crew) +"nR" = ( +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nT" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nU" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/corner{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nX" = ( +/obj/effect/turf_decal/industrial/outline/red, +/obj/structure/closet/crate/medical, +/obj/item/storage/firstaid/regular, +/obj/item/reagent_containers/glass/bottle/bicaridine{ + pixel_x = -6 + }, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/glass/bottle/bicaridine{ + pixel_x = 6 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"nY" = ( +/obj/structure/fermenting_barrel, +/obj/effect/decal/cleanable/wrapping, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"oh" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"om" = ( +/obj/structure/catwalk/over, +/obj/structure/closet/crate/hydroponics, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -8; + pixel_y = 8 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -8; + pixel_y = 8 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_y = 8 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_y = 8 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_y = 8 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -8 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -8 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = 8 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = 8 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"oq" = ( +/obj/structure/flora/ash/garden/waste, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"oD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"oO" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/item/mine/pressure/explosive/live{ + layer = 2.8 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"oU" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"oY" = ( +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/frame, +/obj/item/circuitboard/machine/shuttle/engine/electric, +/obj/item/stack/cable_coil/cut/red, +/obj/item/stock_parts/capacitor, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/rockplanet/distillery/shuttle) +"pa" = ( +/obj/structure/reagent_dispensers/water_cooler{ + pixel_x = -4 + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken7" + }, +/area/ruin/rockplanet/distillery/saloon) +"pm" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/sand/plating, +/obj/structure/cable/yellow{ + icon_state = "2-9" + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pD" = ( +/obj/structure/fermenting_barrel/distiller{ + pixel_y = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/paper/crumpled/muddy/fluff/distillery{ + default_raw_text = "Scored this from an SRM ship passing through the sector. Handy if anything happens to our current still."; + name = "note" + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/ruin/rockplanet/distillery) +"pL" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 1 + }, +/obj/structure/toilet, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/mob/living/simple_animal/hostile/human/frontier, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"pM" = ( +/obj/structure/girder/displaced, +/obj/structure/cable/yellow{ + icon_state = "4-5" + }, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plating/rust, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pQ" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/stamp{ + pixel_x = 5; + pixel_y = 16 + }, +/obj/item/stamp/denied{ + pixel_x = -5; + pixel_y = 16 + }, +/obj/item/kirbyplants{ + icon_state = "plant-11"; + pixel_y = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"qe" = ( +/obj/structure/reagent_dispensers/water_cooler{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken7" + }, +/area/ruin/rockplanet/distillery) +"qj" = ( +/obj/structure/flora/ash/stem_shroom, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ql" = ( +/obj/effect/turf_decal/industrial/loading{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/distillery/office) +"qm" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/rockplanet/distillery/shuttle) +"qo" = ( +/obj/structure/curtain/cloth/grey, +/obj/structure/bed{ + dir = 8; + icon_state = "dirty_mattress" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"qu" = ( +/obj/effect/turf_decal/ntlogo{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/effect/decal/cleanable/vomit/old, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"qw" = ( +/obj/structure/flora/tree/cactus, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"qQ" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"qX" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"qY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/ruin/rockplanet/distillery/office) +"re" = ( +/obj/structure/flora/ausbushes/sunnybush{ + layer = 3 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"rh" = ( +/obj/structure/flora/tree/dead/tall, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"rs" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/ridged/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"rF" = ( +/obj/structure/catwalk/over, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/chair/sofa/brown/old/corner, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery/saloon) +"rH" = ( +/turf/closed/wall, +/area/ruin/rockplanet/distillery) +"rJ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/item/ammo_casing/spent{ + pixel_x = 12; + pixel_y = 6 + }, +/obj/item/ammo_casing/spent{ + pixel_x = 14 + }, +/obj/machinery/light/small/broken/directional/east, +/obj/structure/chair/sofa/brown/old/directional/west, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"rT" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"rW" = ( +/obj/item/mine/pressure/explosive/live{ + layer = 2.8 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sb" = ( +/obj/machinery/vending/cola/space_up, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"si" = ( +/obj/structure/table/wood/poker, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/obj/item/spacecash/bundle/c10, +/obj/item/spacecash/bundle/c1{ + pixel_x = 8; + pixel_y = 4 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"sx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"sy" = ( +/obj/structure/chair/stool/bar{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken6" + }, +/area/ruin/rockplanet/distillery/saloon) +"sE" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/kirbyplants{ + icon_state = "plant-20"; + pixel_y = 8 + }, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken2" + }, +/area/ruin/rockplanet/distillery/saloon) +"tc" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"te" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"to" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/glass, +/obj/item/lighter/greyscale{ + pixel_x = 7; + pixel_y = -1 + }, +/obj/item/reagent_containers/glass/beaker{ + list_reagents = list(/datum/reagent/oxygen = 50); + pixel_x = -5 + }, +/obj/item/reagent_containers/glass/beaker{ + list_reagents = list(/datum/reagent/carbon = 50); + pixel_y = 12 + }, +/obj/item/reagent_containers/syringe{ + pixel_y = 6 + }, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"tw" = ( +/obj/effect/decal/cleanable/garbage, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tx" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tA" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 8 + }, +/obj/item/storage/bottles{ + icon_state = "bottlecrate_0" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"tB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 10; + pixel_y = 12 + }, +/obj/item/newspaper{ + pixel_x = -4; + pixel_y = 2 + }, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/crew) +"tP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"tQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken" + }, +/area/ruin/rockplanet/distillery/saloon) +"uf" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uk" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ut" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"uv" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/door/poddoor/preopen{ + dir = 4; + id = "pod_fore" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ruin/rockplanet/distillery/shuttle) +"uw" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken5" + }, +/area/ruin/rockplanet/distillery) +"uy" = ( +/obj/machinery/shower{ + pixel_y = 12 + }, +/obj/structure/catwalk/over, +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/machinery/door/window/southleft, +/turf/open/floor/plating, +/area/ruin/rockplanet/distillery/crew) +"uE" = ( +/obj/structure/flora/ash/garden/arid, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uG" = ( +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uL" = ( +/turf/closed/wall/r_wall, +/area/ruin/rockplanet/distillery/engineering) +"uP" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/effect/decal/cleanable/vomit/old, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"uS" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/siding/white/end{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/engineering) +"uU" = ( +/obj/effect/turf_decal/ntlogo, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"uX" = ( +/turf/closed/wall/rust, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vf" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "dist_cargo" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"vo" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/door/window/brigdoor/southleft{ + req_one_access_txt = "10" + }, +/obj/structure/closet/wall/red/directional/west{ + locked = 1; + secure = 1 + }, +/obj/item/storage/toolbox/emergency/shuttle/electric, +/obj/item/ammo_box/a44roum_speedloader, +/obj/item/gun/ballistic/revolver/shadow, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"vC" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vD" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/fluff/glowshroom, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"vF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/glass, +/obj/item/seeds/corn{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/item/seeds/corn{ + pixel_y = 6 + }, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 6 + }, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_x = 3; + pixel_y = -2 + }, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_x = 4; + pixel_y = 3 + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/ruin/rockplanet/distillery) +"vX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/filingcabinet/double/grey, +/obj/machinery/light/dim/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/folder/yellow, +/obj/item/folder/documents, +/obj/item/folder/red, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"wb" = ( +/obj/structure/railing{ + layer = 4.1 + }, +/obj/structure/sign/warning/gasmask{ + pixel_y = -32 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wd" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/corner{ + dir = 1 + }, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wk" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ws" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wx" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/table/wood/reinforced, +/obj/item/paper_bin, +/obj/item/pen/fountain, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"wy" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wz" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wB" = ( +/obj/structure/flora/rock/rockplanet{ + icon_state = "redrock3" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wH" = ( +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "engi_window" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ + dir = 1 + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/rockplanet/distillery/engineering) +"wT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"wU" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wV" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/rust, +/area/ruin/rockplanet/distillery/engineering) +"wX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"xc" = ( +/obj/structure/table/wood/reinforced, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/pen{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/hand_labeler{ + pixel_y = -4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 8; + pixel_y = 12 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"xf" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/wrench, +/obj/item/wirecutters, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"xs" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"xA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-6" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/ruin/rockplanet/distillery/crew) +"xM" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"xN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/sign/poster/retro/smile{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/netherworld/migo{ + faction = list("Frontiersmen"); + name = "Dog" + }, +/obj/structure/bed/dogbed, +/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"xO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/airalarm/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"xT" = ( +/turf/closed/wall, +/area/ruin/rockplanet/distillery/engineering) +"yf" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/rack, +/obj/item/reagent_containers/condiment/sugar{ + layer = 2.8; + pixel_x = -2; + pixel_y = 13 + }, +/obj/item/reagent_containers/condiment/sugar{ + layer = 2.8; + pixel_x = -2; + pixel_y = 7 + }, +/obj/item/wrench{ + pixel_y = 4 + }, +/obj/item/screwdriver, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"yr" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yw" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yI" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"yO" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/structure/sink{ + pixel_y = 16 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"yS" = ( +/turf/closed/wall/r_wall/rust, +/area/ruin/rockplanet/distillery/crew) +"yW" = ( +/obj/effect/turf_decal/industrial/outline/red, +/obj/structure/guncloset, +/obj/item/gun/ballistic/automatic/pistol/commander/no_mag, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/office) +"ze" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "foam_plating" + }, +/area/ruin/rockplanet/distillery) +"zk" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/rockplanet/distillery/crew) +"zn" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/machinery/light/broken/directional/south, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"zw" = ( +/obj/machinery/autolathe, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ + dir = 5 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/engineering) +"zx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"zy" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/rust, +/area/ruin/rockplanet/distillery/crew) +"zJ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"zX" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "dist_cargo" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"zZ" = ( +/obj/structure/girder, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plating/rust, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ag" = ( +/obj/effect/turf_decal/siding/white/end, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/west, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Ai" = ( +/obj/structure/grille, +/obj/structure/cable/yellow, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/rockplanet/distillery/shuttle) +"Am" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/office) +"At" = ( +/obj/structure/cable/yellow{ + icon_state = "1-6" + }, +/obj/structure/cable/yellow{ + icon_state = "1-5" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Aw" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg1" + }, +/area/ruin/rockplanet/distillery) +"AC" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg1" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"AE" = ( +/obj/machinery/door/airlock/engineering, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/engineering) +"AI" = ( +/obj/structure/cable/yellow{ + icon_state = "1-10" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"AJ" = ( +/obj/structure/table/wood/reinforced, +/obj/machinery/chem_dispenser/drinks{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"AV" = ( +/obj/machinery/atmospherics/components/unary/passive_vent/layer2, +/obj/structure/railing{ + layer = 4.1 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"AY" = ( +/obj/item/stack/ore/salvage/scrapgold/five{ + pixel_x = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/catwalk/over, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/ruin/rockplanet/distillery/engineering) +"Be" = ( +/obj/structure/railing{ + layer = 4.1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/retro/nanotrasen_logo_80s{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/stairs{ + dir = 4 + }, +/area/ruin/rockplanet/distillery) +"Bk" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/corner, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Bn" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Bq" = ( +/obj/item/chair/stool/bar{ + pixel_y = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Bs" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Bx" = ( +/obj/structure/flora/ash/cap_shroom, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"BD" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/wrapping, +/obj/item/storage/bottles/moonshine, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"BJ" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"BO" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Ch" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/table/glass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 8; + pixel_y = 12 + }, +/obj/item/clipboard{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/paper{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/pen, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"Cn" = ( +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "foam_plating" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Cp" = ( +/turf/closed/wall/r_wall/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Cr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"Cz" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"CA" = ( +/obj/machinery/door/airlock/grunge, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/office) +"CL" = ( +/obj/structure/fluff/glowshroom, +/obj/machinery/button/door{ + id = "dist_cargo"; + name = "Cargo Door"; + pixel_y = 26 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"CM" = ( +/obj/machinery/door/airlock/grunge, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"CN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "foam_plating" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"CQ" = ( +/obj/structure/table/wood/poker, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/item/spacecash/bundle/c1{ + pixel_x = 8; + pixel_y = 4 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"CR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg1" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"CS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"CW" = ( +/obj/machinery/fax/ruin, +/obj/structure/table/wood/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/office) +"Dk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"Dw" = ( +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"DE" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/closed/wall/rust, +/area/overmap_encounter/planetoid/rockplanet/explored) +"DW" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 4 + }, +/obj/structure/toilet{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"DX" = ( +/obj/structure/cable, +/obj/structure/cable/yellow{ + icon_state = "1-10" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ef" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/item/kirbyplants{ + icon_state = "plant-21" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"Ei" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/structure/fluff/glowshroom, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Ej" = ( +/obj/structure/table/wood/reinforced, +/obj/structure/railing{ + dir = 1; + layer = 2.7 + }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = 4; + pixel_y = 8 + }, +/obj/item/reagent_containers/food/drinks/mug/coco{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/spacecash/bundle/c1{ + pixel_x = -4 + }, +/obj/item/spacecash/bundle/c10{ + pixel_y = -2 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Ex" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"EF" = ( +/obj/structure/chair/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"EI" = ( +/obj/effect/turf_decal/ntlogo{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF7742"; + icon_state = "skull"; + pixel_x = -16 + }, +/obj/effect/decal/cleanable/garbage, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"Fe" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/structure/fluff/glowshroom, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/closet/crate/bin, +/obj/effect/spawner/random/maintenance/three, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"Fk" = ( +/obj/machinery/light/floor, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Fm" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/ridged/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Fn" = ( +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Fs" = ( +/obj/structure/flora/rock/rockplanet{ + icon_state = "redrock2" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ft" = ( +/obj/effect/turf_decal/industrial/outline/red, +/obj/structure/salvageable/machine, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"FA" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"FB" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 5 + }, +/obj/structure/railing/corner{ + dir = 8; + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"FD" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken7" + }, +/area/ruin/rockplanet/distillery/saloon) +"FI" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 8; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = -4; + pixel_y = 14 + }, +/obj/item/newspaper{ + pixel_x = -4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Gb" = ( +/obj/structure/chair/stool/bar{ + dir = 4; + pixel_x = 6 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Gc" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"Gd" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"Gg" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"Go" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"GE" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"GH" = ( +/obj/structure/catwalk/over, +/obj/structure/closet/crate/hydroponics, +/obj/item/reagent_containers/food/snacks/grown/corn, +/obj/item/reagent_containers/food/snacks/grown/corn, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 2 + }, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 2 + }, +/obj/item/seeds/corn, +/obj/item/seeds/corn, +/obj/item/seeds/corn, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -8 + }, +/obj/item/reagent_containers/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 4 + }, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 4 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"He" = ( +/obj/structure/closet/crate/bin, +/obj/machinery/firealarm/directional/south{ + buildstage = 0 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "1-5" + }, +/obj/machinery/light/small/directional/west, +/obj/effect/spawner/random/maintenance/four, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken6" + }, +/area/ruin/rockplanet/distillery) +"Hf" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + layer = 3.3 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic, +/obj/machinery/button/door{ + dir = 4; + id = "pod_aft"; + name = "Aft Door"; + pixel_x = -22; + pixel_y = -6 + }, +/obj/machinery/button/door{ + dir = 4; + id = "pod_window"; + name = "Window Shutters"; + pixel_x = -32 + }, +/obj/machinery/door/window/brigdoor/northleft{ + req_one_access_txt = "10" + }, +/obj/machinery/button/door{ + dir = 4; + id = "pod_fore"; + name = "Fore Door"; + pixel_x = -22; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/oil, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"Hg" = ( +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters, +/obj/structure/grille, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"Hi" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Hu" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/item/mine/pressure/explosive/rusty/live{ + layer = 2.8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Hv" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"HB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"HM" = ( +/obj/structure/table, +/obj/item/reagent_scanner{ + pixel_y = 18 + }, +/obj/item/reagent_containers/glass/bucket{ + pixel_x = 3; + pixel_y = 8 + }, +/obj/item/reagent_containers/glass/bucket{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"HO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"HT" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken4" + }, +/area/ruin/rockplanet/distillery/saloon) +"Ig" = ( +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ir" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken7" + }, +/area/ruin/rockplanet/distillery/saloon) +"IA" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"IN" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"IS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"IZ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/ridged/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ja" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/closet/crate/secure/weapon{ + name = "ammo crate" + }, +/obj/item/ammo_box/a357{ + pixel_x = -3 + }, +/obj/item/ammo_box/magazine/illestren_a850r, +/obj/item/storage/box/ammo/c9mm_ap, +/obj/item/ammo_box/magazine/illestren_a850r, +/obj/item/ammo_box/magazine/co9mm{ + start_empty = 1 + }, +/obj/item/ammo_box/magazine/co9mm{ + start_empty = 1 + }, +/obj/item/ammo_box/a357{ + pixel_x = 3 + }, +/obj/machinery/button/door{ + dir = 4; + id = "frontier_armory"; + name = "Armory Door Lock"; + normaldoorcontrol = 1; + pixel_x = -22; + pixel_y = -6; + specialfunctions = 4 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/office) +"Jc" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Je" = ( +/obj/structure/railing{ + layer = 4.1 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, +/area/ruin/rockplanet/distillery/saloon) +"JA" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + filter_types = list("co2","bz","water_vapor","freon","tritium","n20"); + widenet = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/obj/structure/closet/crate/bin, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/broken/directional/east, +/obj/effect/spawner/random/maintenance/three, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"JC" = ( +/obj/item/chair, +/obj/structure/railing{ + layer = 4.1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"JD" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + pixel_x = -6; + pixel_y = 12 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"JI" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"JN" = ( +/obj/structure/flora/driftlog{ + layer = 2.8; + pixel_x = 9; + pixel_y = -15 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"JO" = ( +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"JP" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/corner{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "5-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"JS" = ( +/obj/structure/table, +/obj/item/kirbyplants{ + icon_state = "plant-11"; + pixel_y = 6 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"JZ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ka" = ( +/obj/structure/reagent_dispensers/beerkeg{ + anchored = 1; + desc = "A keg full of liver-shredding spirits brewed by amateur bootleggers."; + layer = 2.8; + name = "moonshine keg"; + pixel_x = -8; + reagent_id = /datum/reagent/consumable/ethanol/moonshine + }, +/obj/structure/reagent_dispensers/beerkeg{ + anchored = 1; + desc = "A keg full of liver-shredding spirits brewed by amateur bootleggers."; + name = "moonshine keg"; + pixel_x = 8; + pixel_y = -2; + reagent_id = /datum/reagent/consumable/ethanol/moonshine + }, +/obj/structure/reagent_dispensers/beerkeg{ + anchored = 1; + desc = "A keg full of liver-shredding spirits brewed by amateur bootleggers."; + layer = 3; + name = "moonshine keg"; + pixel_x = -4; + pixel_y = 14; + reagent_id = /datum/reagent/consumable/ethanol/moonshine + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Kf" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_x = 6; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = -8; + pixel_y = 2 + }, +/obj/item/cigbutt{ + pixel_y = 3 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Km" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-9" + }, +/obj/structure/cable/yellow{ + icon_state = "4-10" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"Kt" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Kx" = ( +/obj/structure/salvageable/machine, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/overmap_encounter/planetoid/rockplanet/explored) +"KA" = ( +/turf/closed/wall/r_wall, +/area/ruin/rockplanet/distillery/office) +"KF" = ( +/obj/structure/flora/ash/cacti, +/obj/machinery/light/directional/north, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"KV" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 6 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ld" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"Lm" = ( +/obj/structure/bed, +/obj/item/bedsheet/brown, +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"LB" = ( +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"LD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/fluff/glowshroom, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/dim/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"LM" = ( +/obj/item/shard{ + pixel_x = 12 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 9 + }, +/obj/structure/holosign/barrier/wetsign/infinite, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"LW" = ( +/obj/structure/flora/ash/garden/arid, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Md" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Mf" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/structure/railing/corner{ + layer = 4.1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Mm" = ( +/obj/structure/flora/ausbushes/sunnybush{ + layer = 3 + }, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Mr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/plastic, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"Mx" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"MA" = ( +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "mudskipper_engine" + }, +/obj/structure/grille, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery/saloon) +"MD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Nj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/closet/secure_closet/freezer/wall/directional/east, +/obj/item/reagent_containers/food/snacks/chips, +/obj/item/food/butterdog, +/obj/item/reagent_containers/food/snacks/chips{ + pixel_x = 2 + }, +/obj/item/reagent_containers/food/drinks/bottle/rum{ + pixel_x = -6 + }, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/spacecash/bundle/c500, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_x = 8 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Nk" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"Nr" = ( +/turf/template_noop, +/area/template_noop) +"Ns" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/table, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/cigbutt, +/obj/item/cigbutt{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/crew) +"Nx" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/holopad/emergency/bar, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"NC" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"NE" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell{ + desc = "A sparse patch of grass without color."; + light_power = 1; + light_range = 0; + name = "dead grass" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"NM" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/computer/helm{ + desc = "No way you're getting this thing off the ground."; + dir = 8; + layer = 3.3; + name = "Locked Helm Console" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic, +/obj/structure/cable/yellow{ + icon_state = "1-6" + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"NR" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/ridged/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"NU" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-10" + }, +/turf/open/floor/wood{ + icon_state = "wood-broken2" + }, +/area/ruin/rockplanet/distillery/crew) +"Ob" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"Od" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/sofa/brown/old/corner/directional/south, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"Oe" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-9" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ow" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow, +/obj/machinery/light/small/directional/south, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"Oz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"OB" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery/saloon) +"OK" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"OO" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/structure/chair/sofa/brown/old/left/directional/north, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"OV" = ( +/obj/structure/closet/secure_closet{ + icon_state = "armory"; + name = "armor locker" + }, +/obj/effect/turf_decal/industrial/outline/red, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/head/helmet/swat/nanotrasen, +/obj/item/clothing/head/helmet/swat/nanotrasen, +/obj/item/clothing/suit/armor/frontier, +/obj/item/clothing/head/beret/sec/frontier, +/obj/item/clothing/gloves/combat, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/office) +"Pl" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "9-10" + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"PD" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/tank/air, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"PI" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/rockplanet/distillery/shuttle) +"PL" = ( +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = -12; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"PP" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals/neutered, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"PV" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"PW" = ( +/obj/effect/turf_decal/industrial/outline/red, +/obj/structure/closet/crate/freezer, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"PZ" = ( +/obj/structure/bed, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"Qm" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Qp" = ( +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"Qr" = ( +/obj/structure/catwalk/over, +/obj/item/storage/bottles/moonshine{ + pixel_y = 6 + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/ruin/rockplanet/distillery/saloon) +"QB" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"QP" = ( +/turf/closed/wall/r_wall/rust, +/area/ruin/rockplanet/distillery/engineering) +"Rb" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/sign/poster/retro/radio{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1; + filter_types = list("co2","bz","water_vapor","freon","tritium","n20"); + widenet = 1 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/ruin/rockplanet/distillery/crew) +"Rd" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/structure/cable/yellow{ + icon_state = "5-10" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Rn" = ( +/obj/structure/table/wood/reinforced, +/obj/structure/railing{ + layer = 4.1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 8; + pixel_y = 12 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Rp" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/structure/cable/yellow{ + icon_state = "1-5" + }, +/obj/machinery/light/small/directional/west, +/obj/structure/railing{ + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/ridged/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Rr" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"Ru" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Rw" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/item/trash/popcorn{ + pixel_x = 7; + pixel_y = 12 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"RB" = ( +/obj/effect/turf_decal/ntlogo{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#0094FF"; + icon_state = "k"; + pixel_x = -5 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#0094FF"; + icon_state = "u"; + pixel_x = -16 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"RD" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "pod_aft" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ruin/rockplanet/distillery/shuttle) +"RM" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white/corner, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 9 + }, +/obj/structure/railing/corner{ + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"RO" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"RR" = ( +/turf/closed/wall/r_wall, +/area/ruin/rockplanet/distillery/crew) +"Sk" = ( +/obj/effect/turf_decal/industrial/loading{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/paper/crumpled/muddy/fluff/distillery{ + pixel_y = -12 + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"Sq" = ( +/obj/structure/closet/crate, +/obj/effect/turf_decal/industrial/outline/red, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + list_reagents = null; + pixel_x = -6 + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + list_reagents = null; + pixel_x = -6 + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + list_reagents = null + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + list_reagents = null + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + list_reagents = null; + pixel_x = 6 + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + list_reagents = null; + pixel_x = 6 + }, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"Sr" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken" + }, +/area/ruin/rockplanet/distillery/saloon) +"Ss" = ( +/obj/structure/flora/driftlog{ + pixel_x = -6; + pixel_y = 2 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Sx" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + pixel_x = -6; + pixel_y = 2 + }, +/obj/item/reagent_containers/food/drinks/bottle/hooch{ + pixel_x = 7; + pixel_y = -4 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"SF" = ( +/obj/structure/girder, +/obj/item/stack/ore/salvage/scrapmetal, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plating/rust, +/area/ruin/rockplanet/distillery/office) +"SG" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg2" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"SV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/photocopier, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/office) +"Ta" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Td" = ( +/obj/structure/table, +/obj/item/reagent_containers/glass/chem_jug{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/glass/filter{ + pixel_x = -9; + pixel_y = 2 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"Tl" = ( +/obj/structure/flora/rock/pile/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Tn" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/fluff/glowshroom, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg1" + }, +/area/ruin/rockplanet/distillery) +"To" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/east, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Tp" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Tt" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"TB" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/ruin/rockplanet/distillery/crew) +"TG" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"TK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"TR" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/item/storage/bottles/moonshine, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"TW" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Uo" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/door/airlock/external, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"Uw" = ( +/obj/structure/chair/wood{ + dir = 8; + pixel_x = -4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Ux" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Uy" = ( +/obj/structure/rack, +/obj/item/clothing/suit/armor/frontier, +/obj/item/clothing/head/fedora/det_hat{ + pixel_x = -4 + }, +/obj/item/clothing/head/beret/sec/frontier{ + pixel_x = 4 + }, +/obj/item/cigbutt{ + pixel_x = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"UA" = ( +/obj/structure/flora/rock/rockplanet{ + icon_state = "redrock2" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"UI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/ruin/rockplanet/distillery/office) +"UJ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"UU" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"Va" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + id_tag = "frontier_armory"; + locked = 1; + security_level = 4 + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/office) +"Vj" = ( +/obj/effect/turf_decal/ntlogo, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/effect/decal/cleanable/vomit/old{ + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"Vx" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/structure/railing{ + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/ridged/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Vz" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"VG" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/machinery/light/directional/east, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"VJ" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/sign/warning/electricshock{ + pixel_y = 28 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/engineering) +"VM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"VO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/ruin/rockplanet/distillery/crew) +"VP" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner, +/obj/structure/railing/corner{ + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"VW" = ( +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"Wc" = ( +/turf/closed/wall, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wg" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wj" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/chair/office{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/internals/neutered, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"Wm" = ( +/obj/structure/table/wood/poker, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/item/spacecash/bundle/c1{ + pixel_y = 8 + }, +/obj/item/spacecash/bundle/c100, +/obj/item/spacecash/bundle/c10{ + pixel_x = 4 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Wp" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Wu" = ( +/turf/closed/wall, +/area/ruin/rockplanet/distillery/saloon) +"WB" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"WE" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xc" = ( +/obj/structure/closet/crate, +/obj/effect/turf_decal/industrial/outline/red, +/obj/effect/spawner/random/circuit/computer/common, +/obj/effect/spawner/random/maintenance/four, +/obj/effect/spawner/random/circuit/machine/common, +/obj/effect/spawner/random/circuit/machine/common, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"Xf" = ( +/obj/structure/cable/yellow{ + icon_state = "1-6" + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg2" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xg" = ( +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xl" = ( +/obj/structure/table/wood/reinforced, +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Xn" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"Xq" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door{ + id = "frontier_armory"; + name = "Armory Door Lock"; + normaldoorcontrol = 1; + pixel_x = 6; + pixel_y = 24; + specialfunctions = 4 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/officer/internals, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"XD" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + id_tag = "frontier_door" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"XF" = ( +/obj/item/shard{ + pixel_y = 8 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"XU" = ( +/obj/structure/railing/corner{ + layer = 4.1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/item/kirbyplants{ + icon_state = "plant-25"; + pixel_x = -2; + pixel_y = 12 + }, +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"XV" = ( +/obj/effect/turf_decal/ntlogo{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/effect/decal/cleanable/ash, +/obj/item/cigbutt{ + pixel_x = -3; + pixel_y = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-10" + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"XY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken5" + }, +/area/ruin/rockplanet/distillery/saloon) +"Yh" = ( +/obj/machinery/door/airlock/grunge, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"Yo" = ( +/obj/item/mine/pressure/explosive/live, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Yq" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"YE" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Zh" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"Zm" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/item/reagent_containers/food/snacks/deadmouse{ + layer = 2.9; + pixel_x = 8; + pixel_y = 6 + }, +/obj/structure/chair/sofa/brown/old/corner/directional/west, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"ZX" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/power/smes/shuttle/micro/precharged, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/rockplanet/distillery/shuttle) + +(1,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(2,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(3,1,1) = {" +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(4,1,1) = {" +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +jE +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(5,1,1) = {" +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(6,1,1) = {" +Nr +hY +hY +hY +hY +hY +hY +RR +RR +RR +RR +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(7,1,1) = {" +Nr +hY +hY +hY +hY +hY +hY +RR +pL +PL +RR +hY +hY +hY +hY +hY +lD +hY +hY +lD +hY +hY +Cp +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(8,1,1) = {" +Nr +hY +hY +hY +hY +hY +hY +RR +lE +TG +RR +RR +hY +hY +hY +Bk +bm +bm +bm +bm +bm +bm +bm +mY +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(9,1,1) = {" +hY +hY +hY +hY +hY +RR +RR +RR +uy +Vz +cf +RR +hY +hY +Cp +WB +be +LB +LB +ji +ji +LB +Fk +kT +hY +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(10,1,1) = {" +hY +hY +hY +hY +hY +RR +yO +gM +Xn +Gg +zn +RR +hY +hY +hY +WB +LB +uG +lU +RD +lU +uG +hi +kT +nR +oq +ky +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(11,1,1) = {" +hY +hY +hY +hY +hY +RR +DW +lE +dP +cA +Ob +RR +hY +hY +hY +WB +LB +PI +lU +BD +lU +oY +LB +kT +nR +qw +qj +ky +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(12,1,1) = {" +Nr +qQ +hY +hY +uL +uL +xT +xT +xT +lE +nm +RR +RR +RR +RR +WB +LB +ZX +Hf +mF +vo +jm +ji +Qm +nR +nR +nR +tw +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(13,1,1) = {" +Nr +LW +qQ +aC +QP +PD +nf +zw +xT +kO +Rw +zk +tP +cu +RR +wU +ji +qm +NM +PP +bI +Ai +XF +kT +nR +nR +oq +qQ +ky +hY +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(14,1,1) = {" +nR +Kt +ky +AV +wH +xf +bH +jO +AE +NC +zy +hH +GE +av +Uo +WB +ji +lU +lU +Km +lU +lU +uG +kT +nR +nR +qQ +Kx +lc +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +"} +(15,1,1) = {" +nR +nR +qQ +wb +uL +uS +zJ +AY +xT +JA +jF +RR +RR +RR +RR +WB +LB +ji +lU +uv +lU +ji +LB +kT +nR +rH +ed +rH +rH +ed +ed +rH +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +"} +(16,1,1) = {" +nR +ky +oq +hY +uL +VJ +wV +VM +xT +lE +Yq +lE +Gc +kC +yS +WB +Fk +LB +LB +dE +ji +ji +Fk +kT +nR +rH +Td +HM +fl +Sk +Mr +rH +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +"} +(17,1,1) = {" +Nr +hY +hY +hY +uL +dK +cS +ne +xT +nr +TB +xA +jX +JS +yS +nU +nT +JZ +fO +hS +RM +JZ +nT +wd +nR +rH +CS +Tt +Qp +Tn +yI +rH +ed +ed +rH +rH +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +"} +(18,1,1) = {" +hY +hY +hY +hY +uL +uL +xT +xT +xT +aB +tB +eG +sx +jG +RR +Tl +Ru +nR +wz +me +kT +nR +nR +nR +gg +ed +GH +ze +vF +aE +to +rH +Sx +xc +tA +rH +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +"} +(19,1,1) = {" +hY +hY +hY +hY +hY +KA +Lm +ut +jM +kU +Ns +nA +qo +RR +RR +RR +yS +NR +KV +me +kT +nR +Xg +Xg +Xg +ed +yf +vD +fv +QB +Ow +rH +XU +Wj +fM +Hg +hY +hY +hY +hY +hY +hY +nR +Nr +Nr +"} +(20,1,1) = {" +Nr +hY +hY +hY +hY +KA +lK +te +jM +Od +bX +zx +bS +RR +TR +ng +qX +Fn +Fn +ws +kT +nR +rH +ed +rH +rH +rH +rH +rH +XD +rH +rH +Be +Zh +pD +Hg +hY +hY +hY +hY +hY +hY +Xg +nR +Nr +"} +(21,1,1) = {" +Nr +Nr +hY +hY +hY +KA +jM +Am +jM +jM +jM +NU +PZ +RR +bd +kq +RR +IZ +fO +ws +kT +Xg +rH +cP +fJ +fW +rH +mq +qu +uU +He +rH +wX +mX +fs +ed +hY +hY +hY +hY +hY +Tl +Xg +nR +Nr +"} +(22,1,1) = {" +Nr +hY +hY +hY +hY +KA +ih +qY +xO +CW +jM +mk +lE +RR +Xc +rT +yS +NE +wz +hS +kT +Xg +Nk +om +Aw +Dk +Yh +ah +dJ +XV +kZ +Yh +Ld +uw +Ft +Hg +hY +hY +hY +hY +Wc +Dw +Xg +nR +nR +"} +(23,1,1) = {" +Nr +hY +hY +hY +hY +KA +lL +mv +eh +fG +jM +VO +Fe +zk +PW +rT +yS +qj +wz +iT +kT +dw +Nk +Sq +Cr +co +rH +sb +gU +jI +bu +rH +qe +UJ +hP +Hg +hY +hY +hY +Wc +uX +oh +nR +nR +nR +"} +(24,1,1) = {" +Nr +hY +hY +hY +hY +KA +Xq +gA +FA +gv +CA +bz +Vj +zk +TR +kq +yS +Kt +wz +hS +kT +Tl +ed +CL +wT +VW +rH +Nk +Nk +Nk +Nk +rH +Ch +UU +nY +rH +hY +hY +Xg +pM +Cn +Fs +nR +nR +nR +"} +(25,1,1) = {" +hY +hY +hY +hY +hY +KA +wx +pQ +bY +aJ +jM +RB +EI +zk +en +nX +RR +nR +WB +ws +Qm +nR +rH +zX +vf +zX +rH +Mm +Bx +Kt +ky +rH +rH +xs +ed +rH +Xg +mp +AI +DE +jS +Xg +qw +nR +nR +"} +(26,1,1) = {" +hY +hY +hY +hY +hY +KA +vX +Oz +UI +SV +jM +xN +Rb +RR +zk +zk +yS +KF +wz +ws +kT +nR +Mm +rs +hS +Vx +nR +nR +nR +uE +qj +qQ +rs +Bn +Rp +nR +nR +nR +dI +uk +Xg +re +Yo +nR +Nr +"} +(27,1,1) = {" +hY +hY +hY +hY +hY +KA +KA +Va +KA +KA +jM +LD +Rr +zk +tP +cu +RR +NR +KV +aG +FB +lS +uf +IN +Wg +bT +uf +uf +wk +uf +uf +uf +tx +Rd +bT +uf +uf +bm +JP +uk +Xg +nR +nR +Nr +Nr +"} +(28,1,1) = {" +Nr +hY +hY +hY +hY +SF +Ja +ql +OV +RR +aS +Go +Gd +br +GE +av +Uo +HB +yw +RO +Ex +Xf +JO +fF +Oe +WE +Hv +Ig +CR +HB +wy +HB +Mx +wy +HB +AC +SG +DX +Qm +nR +nR +nR +nR +nR +Nr +"} +(29,1,1) = {" +Nr +Nr +hY +hY +hY +KA +KA +cp +yW +RR +kQ +eF +Ef +RR +yS +RR +yS +IZ +nT +nT +JZ +JZ +Pl +kn +Cz +kn +kn +vC +lQ +VP +kn +kn +Cz +kn +kn +iy +kn +hy +PV +nR +nR +nR +nR +nR +nR +"} +(30,1,1) = {" +Nr +Nr +hY +hY +hY +hY +KA +KA +KA +RR +RR +RR +yS +yS +Xg +Ru +nR +nR +Dw +Dw +nR +nR +re +uE +nR +qQ +ky +Fm +CN +Vx +ky +em +Kt +nR +LM +gk +Xg +YE +At +uk +Xg +dw +Xg +Hu +nR +"} +(31,1,1) = {" +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Xg +Xg +nR +qw +nR +Cn +dU +nR +nR +VG +Kt +qj +Wu +Wu +BJ +Wu +Wu +Wu +MA +MA +cw +Wu +Wu +aj +ir +pm +yr +Dw +Xg +qw +nR +"} +(32,1,1) = {" +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Tl +Xg +nR +Cn +nR +Dw +JN +Xg +Wu +Wu +Wu +Wu +Wu +Wu +Mf +oU +Ag +Wu +uP +JC +pa +mE +OB +Wu +hY +hY +Wc +DE +dn +Xg +nR +nR +"} +(33,1,1) = {" +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Xg +Ta +Dw +nR +nR +Xg +wB +Wu +HO +TW +tQ +Wp +Wu +Je +hA +Uy +Wu +ba +Rn +IA +Ej +OK +Wu +hY +hY +hY +Wc +Dw +oO +Xg +nR +"} +(34,1,1) = {" +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Bs +JI +JI +Cn +Xg +rh +Ru +Wu +IS +gw +Wm +Tp +Wu +Jc +Sr +BO +mK +TK +Hi +tc +XY +Wp +Wu +hY +hY +hY +hY +Dw +Cn +Xg +nR +"} +(35,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +Xg +Cn +Xg +Dw +Dw +gg +zZ +Wc +hY +Wu +EF +si +CQ +Tp +CM +cQ +oD +Ir +mK +sy +Gb +Bq +To +Ux +Wu +hY +hY +hY +hY +Tl +Xg +Xg +nR +"} +(36,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +Xg +Ss +Xg +UA +Cn +nR +rW +Fs +hY +hY +Wu +sE +MD +Uw +Ux +Wu +hN +FI +OO +Wu +hq +JD +Kf +Wu +Md +Wu +Wu +hY +hY +hY +Cn +Fs +nR +nR +"} +(37,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +nR +nR +nR +qw +gu +nR +nR +Xg +Xg +hY +hY +Wu +Wu +Wu +Wu +Wu +Wu +rF +rJ +Zm +Wu +Qr +Nx +Ei +Wu +xM +Ka +Wu +hY +hY +hY +hY +Xg +nR +nR +"} +(38,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +nR +nR +nR +nR +nR +Tl +hY +hY +hY +hY +hY +hY +hY +hY +Wu +Wu +Wu +Wu +Wu +HT +OB +Nj +CM +FD +gX +Wu +hY +hY +hY +hY +Xg +nR +Nr +"} +(39,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +nR +nR +nR +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Wu +Xl +AJ +Wu +Wu +Wu +Wu +Wu +hY +hY +hY +hY +Xg +nR +Nr +"} +(40,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Wu +Wu +Wu +Wu +hY +hY +hY +hY +hY +hY +hY +hY +Xg +Xg +nR +"} +(41,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Xg +Xg +Xg +nR +"} +(42,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Xg +Xg +nR +nR +Nr +"} +(43,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +Nr +hY +hY +hY +hY +hY +hY +hY +hY +Xg +Xg +Xg +Xg +nR +Nr +Nr +"} +(44,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +Nr +Nr +hY +hY +hY +Nr +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} diff --git a/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm b/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm deleted file mode 100644 index 8a79949e34b..00000000000 --- a/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm +++ /dev/null @@ -1,3994 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ak" = ( -/turf/open/floor/plating/asteroid/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"al" = ( -/obj/machinery/light/dim/directional/east, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"aB" = ( -/turf/closed/mineral/random/rockplanet, -/area/overmap_encounter/planetoid/cave/explored) -"aG" = ( -/turf/open/floor/plating/asteroid/rockplanet/cracked, -/area/overmap_encounter/planetoid/rockplanet/explored) -"aQ" = ( -/obj/machinery/light/dim/directional/west, -/obj/structure/railing{ - dir = 5 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"aT" = ( -/obj/structure/flora/tree/cactus, -/turf/open/floor/plating/asteroid/rockplanet/cracked, -/area/overmap_encounter/planetoid/rockplanet/explored) -"bc" = ( -/obj/effect/decal/remains/human, -/turf/open/floor/plating/asteroid/rockplanet/cracked, -/area/overmap_encounter/planetoid/rockplanet/explored) -"bf" = ( -/turf/closed/indestructible/reinforced, -/area/ruin/powered) -"bO" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/closed/wall/r_wall, -/area/ruin/powered) -"bQ" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/end{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ruin/powered) -"bR" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ruin/powered) -"bU" = ( -/obj/structure/rack, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/dim/directional/north, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/loadsamoney, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"cb" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/end{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ruin/powered) -"cd" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/closed/wall/r_wall/rust, -/area/ruin/powered) -"cg" = ( -/obj/structure/rack, -/obj/item/stack/sheet/mineral/gold/twenty, -/obj/item/circuitboard/computer/rdconsole, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"ck" = ( -/obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/jungle/mega_arachnid{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"co" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"cv" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/closed/wall/r_wall, -/area/ruin/powered) -"cy" = ( -/obj/structure/table/wood/reinforced, -/obj/machinery/computer/secure_data/laptop, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"cQ" = ( -/obj/machinery/computer, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/grimy, -/area/ruin/powered) -"dr" = ( -/obj/structure/table/wood/reinforced, -/obj/machinery/computer/med_data/laptop, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/newspaper{ - pixel_x = 8; - pixel_y = -6 - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/powered) -"du" = ( -/obj/structure/sign/poster/contraband/backdoor_xeno_babes_6, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/closed/wall/r_wall/rust, -/area/ruin/powered) -"dJ" = ( -/obj/structure/rack, -/obj/item/circuitboard/machine/techfab/department/cargo, -/obj/item/stack/sheet/mineral/diamond/five, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"dN" = ( -/turf/open/floor/plating, -/area/ruin/powered) -"dO" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/remains/human, -/obj/item/clothing/neck/tie/red, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"dU" = ( -/obj/structure/rack, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/stack/sheet/mineral/gold/twenty, -/obj/item/organ/cyberimp/arm/esword, -/turf/open/floor/plating, -/area/ruin/powered) -"eh" = ( -/obj/machinery/power/smes/magical, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ruin/powered) -"ei" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/end{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ruin/powered) -"eA" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/powered) -"eG" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/grimy, -/area/ruin/powered) -"eJ" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"eK" = ( -/obj/structure/table/wood/reinforced, -/obj/item/paper_bin{ - pixel_x = 6; - pixel_y = 7 - }, -/obj/item/pen/fountain{ - pixel_x = 6; - pixel_y = 7 - }, -/obj/item/assembly/timer{ - pixel_x = -7; - pixel_y = 1 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"fe" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/end{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ruin/powered) -"fq" = ( -/obj/machinery/door/keycard/harmfactory/office, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"fF" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/keycard/harmfactory/office, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"fJ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/closed/indestructible/reinforced, -/area/ruin/powered) -"fX" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/end, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ruin/powered) -"ga" = ( -/obj/structure/table/wood/reinforced, -/obj/item/gun/ballistic/automatic/smg/c20r/toy/riot{ - pixel_x = 5; - pixel_y = 7 - }, -/obj/item/ammo_box/foambox/riot{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/powered) -"gp" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/powered) -"gr" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/plasteel/grimy, -/area/ruin/powered) -"gv" = ( -/turf/open/floor/plating/rust, -/area/ruin/powered) -"gx" = ( -/obj/structure/filingcabinet/employment, -/obj/structure/safe/floor, -/obj/item/keycard/harmfactory/office, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"gz" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/rockplanet/explored) -"gA" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/end, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ruin/powered) -"gP" = ( -/obj/machinery/door/keycard/harmfactory/stockroom, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"hf" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/keycard/harmfactory/stockroom, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"hg" = ( -/obj/structure/flora/tree/cactus, -/turf/open/floor/plating/asteroid/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"hi" = ( -/turf/closed/wall, -/area/ruin/powered) -"hj" = ( -/turf/closed/wall/rust, -/area/ruin/powered) -"hE" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/closed/wall/rust, -/area/ruin/powered) -"hG" = ( -/obj/machinery/light/dim/directional/south, -/turf/open/floor/plating/asteroid/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"hJ" = ( -/turf/closed/wall/r_wall, -/area/ruin/powered) -"hN" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/light/broken/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"hV" = ( -/turf/open/floor/plasteel/grimy, -/area/ruin/powered) -"if" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"ig" = ( -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/plasteel/grimy, -/area/ruin/powered) -"ip" = ( -/obj/machinery/light/dim/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/stairs/old, -/area/ruin/powered) -"iS" = ( -/turf/closed/wall/r_wall/rust, -/area/ruin/powered) -"je" = ( -/obj/machinery/door/keycard/harmfactory, -/turf/open/floor/plating, -/area/ruin/powered) -"jq" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/keycard/harmfactory, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"jB" = ( -/obj/machinery/vending/sovietsoda, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"jL" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/crate/bin, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"jO" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/closed/wall/rust, -/area/ruin/powered) -"jR" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/closed/wall/rust, -/area/ruin/powered) -"ko" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/closed/wall/r_wall, -/area/ruin/powered) -"kx" = ( -/obj/machinery/door/airlock/highsecurity, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ruin/powered) -"ky" = ( -/obj/structure/door_assembly/door_assembly_highsecurity, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"kC" = ( -/obj/machinery/door/keycard/harmfactory/entry, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"kI" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/keycard/harmfactory/entry, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"kM" = ( -/obj/structure/railing/corner, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"kN" = ( -/obj/structure/rack, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/item/gun/energy/plasmacutter/adv, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"kU" = ( -/obj/structure/railing, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"lb" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"lg" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"ln" = ( -/obj/structure/railing/corner, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"lC" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"lN" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ruin/powered) -"lQ" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"mc" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"mi" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"mu" = ( -/obj/structure/railing/corner, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"my" = ( -/obj/structure/railing, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"mB" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/rockplanet/explored) -"mE" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ruin/powered) -"mR" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"no" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"nq" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"nt" = ( -/obj/structure/railing/corner, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"ob" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"oc" = ( -/obj/structure/table/wood/reinforced, -/obj/item/melee/classic_baton{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/shield/riot{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/item/grenade/chem_grenade/teargas{ - pixel_x = -5; - pixel_y = 15 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ruin/powered) -"oe" = ( -/obj/structure/railing/corner, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"of" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/conveyor/auto, -/turf/open/floor/engine, -/area/ruin/powered) -"oh" = ( -/obj/structure/railing{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"oj" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"ol" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 1 - }, -/obj/structure/plasticflaps/opaque, -/turf/open/floor/engine, -/area/ruin/powered) -"oo" = ( -/obj/structure/railing{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"ow" = ( -/obj/structure/railing, -/obj/structure/chair/plastic, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"oA" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/light/broken/directional/east, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"oG" = ( -/obj/structure/railing{ - dir = 6 - }, -/obj/structure/table/greyscale, -/obj/item/trash/semki{ - pixel_y = 11 - }, -/obj/item/laser_pointer/red{ - pixel_y = 3 - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"oI" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 1 - }, -/obj/structure/railing{ - dir = 10 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"oY" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"pi" = ( -/obj/structure/rack, -/obj/machinery/light/dim/directional/north, -/obj/item/stack/sheet/mineral/diamond/five, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"pk" = ( -/obj/structure/railing, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"pm" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"pr" = ( -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/rockplanet/explored) -"px" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"pC" = ( -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"pE" = ( -/obj/structure/railing{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ruin/powered) -"pG" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"pP" = ( -/obj/item/toy/plush/moth, -/obj/structure/table/greyscale, -/turf/open/floor/engine, -/area/ruin/powered) -"pU" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/ruin/powered) -"qb" = ( -/obj/structure/table/greyscale, -/obj/item/laser_pointer/blue{ - pixel_x = 10; - pixel_y = 9 - }, -/obj/item/megaphone, -/obj/structure/railing{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"qd" = ( -/obj/machinery/light/dim/directional/west, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"qm" = ( -/obj/structure/chair/plastic, -/obj/structure/railing, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"qv" = ( -/obj/structure/railing{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"qy" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"qG" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ruin/powered) -"qL" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"rg" = ( -/obj/machinery/light/dim/directional/south, -/obj/structure/table/wood, -/obj/item/newspaper{ - pixel_y = 5 - }, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"rh" = ( -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"rm" = ( -/obj/machinery/conveyor/auto{ - dir = 4 - }, -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/engine, -/area/ruin/powered) -"ro" = ( -/obj/machinery/conveyor/auto{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"rv" = ( -/obj/machinery/recycler/deathtrap, -/obj/machinery/conveyor/auto{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"rO" = ( -/obj/machinery/conveyor/auto, -/turf/open/floor/engine, -/area/ruin/powered) -"rS" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"rW" = ( -/obj/structure/railing/corner, -/turf/open/floor/engine, -/area/ruin/powered) -"sd" = ( -/obj/structure/railing, -/turf/open/floor/engine, -/area/ruin/powered) -"st" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/ruin/powered) -"sx" = ( -/obj/structure/railing/corner, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/ruin/powered) -"sC" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"sK" = ( -/obj/structure/closet/secure/loot, -/obj/machinery/light/dim/directional/east, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/clothing/suit/toggle/hazard, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"sN" = ( -/obj/structure/cable, -/obj/machinery/light/dim/directional/north, -/obj/structure/grille, -/turf/open/floor/plating, -/area/ruin/powered) -"sV" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/disposal/deliveryChute{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/conveyor/auto, -/turf/open/floor/engine, -/area/ruin/powered) -"td" = ( -/obj/machinery/power/emitter/welded{ - active = 1 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable, -/obj/machinery/light/dim/directional/north, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/conveyor/auto, -/turf/open/floor/engine, -/area/ruin/powered) -"te" = ( -/obj/machinery/conveyor/auto{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"tw" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/conveyor/auto{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"tC" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/conveyor/auto{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"tR" = ( -/turf/open/floor/engine, -/area/ruin/powered) -"tU" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"ug" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"us" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/light/dim/directional/west, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"uu" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"uz" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"uC" = ( -/obj/machinery/plate_press, -/obj/machinery/conveyor/auto{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"uQ" = ( -/obj/structure/plasticflaps/opaque, -/turf/open/floor/engine, -/area/ruin/powered) -"uT" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"uW" = ( -/obj/machinery/light/dim/directional/east, -/obj/structure/railing, -/turf/open/floor/engine, -/area/ruin/powered) -"vi" = ( -/obj/structure/sign/warning/electricshock, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/closed/wall/r_wall, -/area/ruin/powered) -"vs" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"vJ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"vK" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/conveyor/auto{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"vN" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"vZ" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"xc" = ( -/obj/structure/railing, -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"xg" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"xq" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"xs" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/structure/sign/number/eight{ - icon_state = "0" - }, -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"xx" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/sign/number/eight{ - icon_state = "1" - }, -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"xH" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"yk" = ( -/obj/structure/closet/crate, -/obj/effect/decal/cleanable/blood, -/turf/open/floor/engine, -/area/ruin/powered) -"yr" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"yw" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/closed/wall/r_wall, -/area/ruin/powered) -"za" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/conveyor/auto{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"zg" = ( -/obj/effect/turf_decal/industrial/warning/dust/corner, -/turf/open/floor/engine, -/area/ruin/powered) -"zh" = ( -/obj/structure/railing, -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"zB" = ( -/obj/structure/table/greyscale{ - pixel_y = 8 - }, -/obj/item/storage/toolbox/emergency{ - pixel_y = 13 - }, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"zC" = ( -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"zK" = ( -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Ae" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/fence/door{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs/old{ - dir = 8 - }, -/area/ruin/powered) -"Ai" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"Ak" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"An" = ( -/obj/structure/table/greyscale, -/obj/item/stack/license_plates/empty/fifty{ - pixel_y = 6 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"AT" = ( -/obj/structure/table/greyscale, -/obj/item/stack/medical/gauze/improvised{ - pixel_x = -4; - pixel_y = 10 - }, -/obj/item/storage/firstaid/brute{ - pixel_y = 5 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"AY" = ( -/obj/structure/fence/door/opened{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"Bm" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"Bz" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 4 - }, -/obj/effect/turf_decal/number/zero, -/turf/open/floor/engine, -/area/ruin/powered) -"BC" = ( -/obj/machinery/conveyor/auto{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"BE" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/turf/closed/indestructible/reinforced, -/area/ruin/powered) -"BQ" = ( -/obj/structure/table/greyscale, -/obj/item/keycard/harmfactory, -/turf/open/floor/engine, -/area/ruin/powered) -"BW" = ( -/obj/structure/fence/door/opened{ - dir = 8 - }, -/turf/open/floor/plasteel/stairs/old{ - dir = 4 - }, -/area/ruin/powered) -"Cg" = ( -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"Ci" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table/greyscale, -/obj/item/storage/firstaid/regular{ - pixel_y = 14 - }, -/obj/item/stack/medical/gauze/improvised{ - pixel_y = 2 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"Cn" = ( -/obj/structure/sign/departments/medbay/alt, -/turf/closed/wall/rust, -/area/ruin/powered) -"CK" = ( -/obj/structure/sign/poster/official/moth/hardhats, -/turf/closed/wall, -/area/ruin/powered) -"CW" = ( -/obj/structure/table/greyscale, -/obj/item/clothing/head/collectable/hardhat{ - pixel_x = -5; - pixel_y = 4 - }, -/obj/item/clothing/head/hardhat, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"Db" = ( -/obj/structure/fluff/broken_flooring{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"Dd" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"De" = ( -/obj/machinery/light/dim/directional/west, -/turf/open/floor/plating/asteroid/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Dn" = ( -/obj/structure/fence/door{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs/old{ - dir = 8 - }, -/area/ruin/powered) -"Dp" = ( -/obj/structure/table/greyscale, -/obj/item/storage/toolbox/drone{ - pixel_x = -1; - pixel_y = 5 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"DE" = ( -/obj/structure/table/greyscale, -/obj/item/stack/license_plates/empty/fifty{ - pixel_x = -9; - pixel_y = 7 - }, -/obj/item/stack/license_plates/empty/fifty, -/turf/open/floor/engine, -/area/ruin/powered) -"DI" = ( -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/engine, -/area/ruin/powered) -"DO" = ( -/obj/structure/fence/door{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"Ep" = ( -/obj/structure/railing/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"Ew" = ( -/obj/effect/turf_decal/industrial/warning/dust, -/turf/open/floor/engine, -/area/ruin/powered) -"EE" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 4 - }, -/obj/structure/sign/number/four, -/turf/open/floor/engine, -/area/ruin/powered) -"EG" = ( -/obj/structure/table/greyscale, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"Fb" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 8 - }, -/obj/structure/sign/number/five, -/turf/open/floor/engine, -/area/ruin/powered) -"Fj" = ( -/obj/structure/closet/secure/loot, -/obj/machinery/light/broken/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/clothing/suit/toggle/hazard, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Fp" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/fence/door{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs/old{ - dir = 4 - }, -/area/ruin/powered) -"Fu" = ( -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"Fw" = ( -/obj/structure/table/greyscale, -/obj/item/melee/baton/cattleprod{ - pixel_x = -7; - pixel_y = 8 - }, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 9 - }, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"FC" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"FE" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/structure/sign/number/eight{ - icon_state = "0" - }, -/obj/effect/turf_decal/industrial/warning/dust, -/turf/open/floor/engine, -/area/ruin/powered) -"FK" = ( -/obj/structure/railing/corner, -/obj/structure/sign/number/eight{ - icon_state = "2" - }, -/obj/effect/turf_decal/industrial/warning/dust, -/turf/open/floor/engine, -/area/ruin/powered) -"FV" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"Ga" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"Go" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/engine, -/area/ruin/powered) -"Gu" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"Gv" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/engine, -/area/ruin/powered) -"Gz" = ( -/obj/effect/turf_decal/industrial/warning/dust/corner{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"GE" = ( -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"GJ" = ( -/obj/machinery/plate_press, -/obj/machinery/conveyor/auto, -/turf/open/floor/engine, -/area/ruin/powered) -"GO" = ( -/obj/structure/table/greyscale, -/obj/item/keycard/harmfactory/stockroom, -/turf/open/floor/engine, -/area/ruin/powered) -"GR" = ( -/obj/machinery/light/dim/directional/south, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"GS" = ( -/obj/effect/turf_decal/industrial/warning/dust/corner{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"GU" = ( -/obj/effect/turf_decal/number/zero, -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"GV" = ( -/turf/template_noop, -/area/template_noop) -"Hs" = ( -/obj/effect/turf_decal/number/three, -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"HG" = ( -/obj/effect/turf_decal/industrial/warning/dust/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"HJ" = ( -/obj/machinery/light/broken/directional/east, -/turf/open/floor/plating/asteroid/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"HT" = ( -/obj/machinery/power/emitter/welded{ - dir = 1; - active = 1 - }, -/obj/structure/cable, -/obj/machinery/light/dim/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/conveyor/auto{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"HU" = ( -/obj/machinery/light/broken/directional/east, -/turf/open/floor/plasteel/stairs/old, -/area/ruin/powered) -"Ie" = ( -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Ii" = ( -/obj/effect/turf_decal/industrial/warning/dust/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"Ip" = ( -/obj/effect/turf_decal/industrial/warning/dust/corner{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"It" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/conveyor/auto{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"IA" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/conveyor/auto, -/turf/open/floor/engine, -/area/ruin/powered) -"IF" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 8 - }, -/obj/effect/turf_decal/number/zero, -/turf/open/floor/engine, -/area/ruin/powered) -"IM" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"IO" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Jj" = ( -/obj/structure/railing{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Jr" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"Jt" = ( -/obj/effect/turf_decal/industrial/warning/dust, -/obj/structure/plasticflaps/opaque, -/turf/open/floor/engine, -/area/ruin/powered) -"Jy" = ( -/obj/structure/railing{ - dir = 9 - }, -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/plating, -/area/ruin/powered) -"JB" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/item/chair/plastic{ - dir = 1; - pixel_y = 10 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"JC" = ( -/obj/structure/railing{ - dir = 5 - }, -/obj/structure/table/greyscale, -/obj/item/megaphone, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"JO" = ( -/obj/effect/turf_decal/industrial/warning/dust, -/obj/structure/railing{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"JV" = ( -/obj/effect/turf_decal/industrial/warning/dust, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"Kb" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 6 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"Kj" = ( -/obj/structure/fence/door, -/obj/effect/turf_decal/industrial/warning/dust, -/turf/open/floor/plating, -/area/ruin/powered) -"Kn" = ( -/obj/structure/fence/door, -/obj/effect/turf_decal/industrial/warning/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ruin/powered) -"Kr" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 10 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"KL" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/obj/structure/railing{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Lb" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/obj/structure/railing{ - dir = 5 - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Lp" = ( -/obj/effect/turf_decal/industrial/warning/dust, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/ruin/powered) -"Lu" = ( -/obj/structure/railing{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"LO" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"LP" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"LQ" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"LT" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"LV" = ( -/obj/machinery/light/dim/directional/west, -/turf/open/floor/plating/asteroid/rockplanet/cracked, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Mb" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"Mp" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"Mq" = ( -/obj/structure/railing, -/obj/machinery/light/dim/directional/north, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"Mr" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"MN" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Na" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Nn" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"NK" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"NP" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"NU" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ruin/powered) -"NX" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/vending/cola/sodie, -/turf/open/floor/plasteel/patterned/brushed, -/area/ruin/powered) -"Od" = ( -/obj/effect/turf_decal/industrial/warning/dust, -/obj/machinery/light/dim/directional/south, -/obj/structure/sign/number/eight{ - icon_state = "caution" - }, -/turf/open/floor/engine, -/area/ruin/powered) -"Oo" = ( -/obj/structure/table/greyscale, -/obj/item/trash/cheesie{ - pixel_y = 3 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"Op" = ( -/obj/machinery/light/dim/directional/east, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"OA" = ( -/obj/structure/sign/poster/contraband/missing_gloves, -/turf/closed/wall, -/area/ruin/powered) -"OB" = ( -/obj/structure/holosign/barrier/engineering/infinite, -/turf/open/floor/plating, -/area/ruin/powered) -"Pa" = ( -/obj/structure/sign/warning/testchamber, -/turf/closed/wall, -/area/ruin/powered) -"Ph" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/vending/snack/green, -/turf/open/floor/plating, -/area/ruin/powered) -"Pt" = ( -/obj/structure/closet/crate/bin, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"PT" = ( -/turf/open/floor/plasteel/stairs/old, -/area/ruin/powered) -"PU" = ( -/obj/structure/rack, -/obj/item/trash/candy, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/under/rank/engineering/engineer/hazard, -/obj/item/storage/toolbox/drone, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Qd" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ruin/powered) -"Qr" = ( -/obj/structure/rack, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/under/rank/engineering/engineer/hazard, -/obj/item/storage/toolbox/electrical, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Qu" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/stairs/old, -/area/ruin/powered) -"QF" = ( -/obj/machinery/light/dim/directional/south, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"QK" = ( -/obj/machinery/conveyor/auto{ - dir = 1 - }, -/obj/item/keycard/harmfactory/entry, -/turf/open/floor/engine, -/area/ruin/powered) -"Rd" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"RM" = ( -/obj/effect/spawner/structure/window/hollow/reinforced, -/turf/open/floor/plating, -/area/ruin/powered) -"RQ" = ( -/obj/structure/rack, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/under/rank/engineering/engineer/hazard, -/obj/item/storage/toolbox/electrical, -/turf/open/floor/plating, -/area/ruin/powered) -"RU" = ( -/obj/machinery/light/dim/directional/south, -/turf/open/floor/plating/asteroid/rockplanet/cracked, -/area/overmap_encounter/planetoid/rockplanet/explored) -"RW" = ( -/obj/machinery/light/broken/directional/west, -/turf/open/floor/plating/asteroid/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Sh" = ( -/obj/structure/rack, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/trash/pistachios, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/under/rank/engineering/engineer/hazard, -/obj/item/storage/toolbox/drone, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Sm" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Sp" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Su" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_y = 13 - }, -/obj/item/newspaper{ - pixel_x = -5 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = 9; - pixel_y = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ruin/powered) -"SH" = ( -/obj/effect/decal/remains/human, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"SJ" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_y = 13 - }, -/obj/item/newspaper{ - pixel_y = -3 - }, -/obj/item/newspaper{ - pixel_x = 5; - pixel_y = 1 - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/powered) -"SO" = ( -/obj/machinery/light/broken/directional/south, -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"SW" = ( -/obj/structure/chair/comfy/orange/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/grimy, -/area/ruin/powered) -"Tl" = ( -/obj/machinery/light/directional/south, -/obj/structure/closet/secure_closet/wall/directional/west, -/obj/item/storage/firstaid/ancient, -/obj/item/clothing/neck/stethoscope, -/obj/item/grenade/chem_grenade/teargas{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/item/grenade/chem_grenade/teargas, -/turf/open/floor/plating, -/area/ruin/powered) -"Tu" = ( -/obj/structure/holosign/barrier/engineering/infinite, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"TE" = ( -/obj/structure/table/greyscale, -/obj/item/spacecash/bundle/c1000{ - pixel_y = 10 - }, -/obj/item/toy/cards/deck/syndicate{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/item/toy/cards/deck/kotahi, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"TM" = ( -/obj/structure/chair/comfy/orange/directional/east, -/turf/open/floor/plating, -/area/ruin/powered) -"TU" = ( -/obj/effect/decal/remains/human, -/turf/open/floor/plating/asteroid/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Ui" = ( -/obj/machinery/door/airlock/public/glass, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Uq" = ( -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/crate/bin, -/turf/open/floor/plasteel/grimy, -/area/ruin/powered) -"UH" = ( -/obj/structure/fence/door/opened, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"UJ" = ( -/obj/structure/fence/door, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"UL" = ( -/obj/machinery/door/airlock/public/glass, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Vj" = ( -/obj/machinery/light/dim/directional/west, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Vr" = ( -/obj/structure/chair/plastic, -/turf/open/floor/plating, -/area/ruin/powered) -"Vu" = ( -/obj/machinery/vending/sovietsoda, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Vv" = ( -/obj/machinery/vending/sustenance, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Wf" = ( -/obj/item/kirbyplants/dead{ - desc = "It doesn't look very healthy..."; - name = "potted plant"; - pixel_y = 10 - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Wx" = ( -/obj/structure/closet/crate/bin, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"WH" = ( -/obj/structure/table/wood, -/obj/machinery/computer/security/wooden_tv, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"WK" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/powered) -"WL" = ( -/obj/machinery/light/dim/directional/east, -/turf/open/floor/plating/asteroid/rockplanet/cracked, -/area/overmap_encounter/planetoid/rockplanet/explored) -"WM" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/mob/living/simple_animal/hostile/jungle/mook, -/turf/open/floor/plasteel/grimy, -/area/ruin/powered) -"WZ" = ( -/obj/structure/table/wood, -/obj/machinery/computer/security/wooden_tv, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"XO" = ( -/obj/structure/fluff/broken_flooring, -/turf/open/floor/plating, -/area/ruin/powered) -"XT" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"XU" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/conveyor/auto{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"XX" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_y = 6 - }, -/obj/item/pen/fourcolor{ - pixel_y = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"Yb" = ( -/obj/structure/table/wood, -/obj/item/paper/pamphlet{ - pixel_x = 11; - pixel_y = -5 - }, -/obj/item/paper/pamphlet{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/item/paper/pamphlet, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"Yg" = ( -/obj/structure/table/wood, -/obj/item/paper/pamphlet{ - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/drinks/waterbottle/empty{ - pixel_x = -9; - pixel_y = 12 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"Yl" = ( -/obj/structure/table/wood, -/obj/item/kirbyplants{ - pixel_y = 13 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"Yq" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/light/dim/directional/east, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Ys" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"YJ" = ( -/obj/item/chair/plastic{ - dir = 1; - pixel_y = 12 - }, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"YR" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/obj/effect/decal/remains/human, -/turf/open/floor/plasteel/patterned, -/area/ruin/powered) -"Zd" = ( -/obj/machinery/door/airlock/glass_large, -/turf/open/floor/plating, -/area/ruin/powered) -"Zl" = ( -/obj/machinery/door/airlock/glass_large, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"ZN" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ruin/powered) -"ZX" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/overmap_encounter/planetoid/rockplanet/explored) - -(1,1,1) = {" -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -ak -hg -ak -ak -ak -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(2,1,1) = {" -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -aG -ak -aG -aG -hg -aG -aG -ak -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(3,1,1) = {" -GV -GV -GV -GV -GV -GV -GV -GV -GV -ak -ak -aG -aG -aB -aB -aB -aG -aG -ak -ak -ak -ak -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(4,1,1) = {" -GV -GV -GV -GV -GV -GV -GV -GV -ak -ak -ak -aG -aB -aB -hj -hj -CK -hi -ak -ak -aG -aG -aG -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(5,1,1) = {" -GV -GV -GV -GV -GV -GV -GV -aG -aG -aG -aG -aB -aB -aB -hj -zB -CW -hi -ak -aG -aG -aG -ak -ak -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(6,1,1) = {" -GV -GV -GV -GV -GV -GV -GV -ak -aG -aG -hi -hj -hj -hi -hi -zC -Db -hi -hj -hi -hj -hj -ak -aG -aG -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(7,1,1) = {" -GV -GV -GV -GV -GV -GV -ak -aG -aT -hi -hi -oe -qG -uu -us -zK -Dd -hN -GE -Ie -IO -hj -hj -aG -aG -aG -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(8,1,1) = {" -GV -GV -GV -GV -GV -GV -ak -aG -aG -hj -kM -oh -qL -uz -xc -Ae -Dn -FC -uz -qL -Jj -LP -hj -aG -aT -aG -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(9,1,1) = {" -GV -GV -GV -GV -GV -ak -ak -aG -aB -hi -kU -oj -rh -rh -xg -Ai -tR -rW -rh -rh -Jr -LQ -hj -hj -aG -aG -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(10,1,1) = {" -GV -GV -GV -GV -GV -ak -ak -aB -aB -hi -lb -ol -rm -uC -xq -Ak -Ai -sd -GJ -ro -Jt -LT -NX -hj -ak -aG -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(11,1,1) = {" -GV -GV -GV -GV -ak -aB -aB -aB -hi -hi -kU -ol -ro -uQ -xs -An -Dp -FE -uQ -ro -Jt -Mb -Oo -hi -ak -aG -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(12,1,1) = {" -GV -GV -GV -GV -aB -aB -aB -bf -hi -jB -lg -oo -ro -uQ -xx -AT -DE -FK -uQ -ro -Jy -LO -hi -hi -ak -aG -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(13,1,1) = {" -GV -GV -GV -aB -aB -bf -BE -bf -hj -jL -dN -ow -ro -uC -xH -Ai -tR -sd -GJ -ro -JB -QF -hj -aB -ak -ak -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(14,1,1) = {" -GV -GV -GV -aB -aB -bf -eh -fJ -hE -jO -ln -oG -ro -hJ -Op -tR -DI -uW -hJ -ro -JC -Mp -hj -aB -ak -ak -ak -ak -ak -aG -aG -aG -aG -aG -aG -ak -ak -GV -GV -GV -GV -"} -(15,1,1) = {" -GV -GV -GV -aB -aB -bf -bf -bf -bf -jR -pk -ol -rv -pP -hJ -AY -DO -hJ -GO -rv -Jt -LT -hi -aB -aB -aG -aG -aG -aG -TU -aG -aG -aT -aG -aG -aG -ak -GV -GV -GV -GV -"} -(16,1,1) = {" -GV -GV -GV -ak -aB -aB -aB -bf -bf -jR -lC -ol -ro -hJ -aQ -xg -Ep -qd -hJ -ro -Jt -LQ -hi -hi -aB -aG -WL -aG -aG -ak -HJ -aG -aG -WL -aG -ak -ak -ak -ak -GV -GV -"} -(17,1,1) = {" -GV -GV -ak -aG -aG -ak -aB -aB -bf -ko -lN -oI -rO -rO -yk -pG -Ew -yk -te -te -JO -Mr -Dd -Pa -hi -RM -hi -RM -hj -hj -hi -RM -RM -hi -hj -hj -ak -ak -aG -aG -GV -"} -(18,1,1) = {" -GV -aG -aG -aG -ak -bO -ei -fX -hJ -ko -lC -oY -rS -uT -uT -Bm -sC -uT -uT -uT -JV -LQ -Cg -PT -HU -Qu -PT -zC -Dd -Ui -Vj -gv -Wx -XT -YJ -hi -hi -ak -aG -aG -aG -"} -(19,1,1) = {" -GV -aT -bc -RU -bO -cv -oc -ga -Tl -ko -kU -pm -rW -rh -yr -vs -vs -FV -tR -Ii -Kb -Mb -hi -hj -hj -hi -hi -Su -SW -hi -Vr -zC -Dd -Dd -zC -Dd -Zd -mB -ak -ak -aG -"} -(20,1,1) = {" -GV -bc -aG -aG -bQ -cy -eA -gp -hV -ko -lQ -oo -sd -uQ -uQ -uQ -uQ -Ga -GS -Od -hj -hj -OA -PU -Fj -RQ -hi -hj -hi -hi -Vu -zC -WH -XX -zC -Dd -dN -gz -ak -aG -aG -"} -(21,1,1) = {" -GV -ak -ak -ak -bR -cQ -eG -gr -if -kx -mc -px -st -vi -sN -te -te -te -GU -tR -Kj -MN -Dd -gv -zK -Dd -Sm -Dd -Tu -UH -zC -dN -WK -Yb -Db -SO -hi -hg -ak -aG -aG -"} -(22,1,1) = {" -GV -ak -ak -ak -bR -cQ -eJ -eG -eA -ky -mi -pC -sx -vi -sN -QK -te -te -Hs -Ai -Kn -Na -OB -Qd -Rd -zC -Sp -SH -Dd -UJ -zC -gv -WM -Yg -gv -rg -hi -ak -ak -aT -aG -"} -(23,1,1) = {" -GV -ak -ak -ak -cb -dr -eG -gv -ig -hJ -mu -pE -sd -uQ -uQ -uQ -uQ -Go -HG -Od -hi -hi -Pa -Qr -sK -Sh -hi -hi -hj -hi -Vv -Dd -WZ -Yl -dN -zC -Zl -ZX -ak -ak -ak -"} -(24,1,1) = {" -GV -GV -ak -hG -cd -du -eK -gx -Uq -hJ -my -pG -sC -uT -uT -rS -uT -Gu -Ai -Ip -Kr -Mr -hi -hi -hj -hj -hi -SJ -TM -hi -Wf -gv -zC -zC -Dd -zC -ZN -pr -ak -aG -ak -"} -(25,1,1) = {" -GV -GV -GV -ak -aG -cd -fe -gA -iS -hJ -mE -pG -tR -Ai -tR -tR -Ai -tR -tR -tR -Ew -LQ -gv -Qu -ip -PT -PT -zC -zC -UL -al -zC -XO -Ys -YR -hj -hj -ak -ak -ak -ak -"} -(26,1,1) = {" -GV -GV -ak -ak -aG -aG -aB -aB -aB -hJ -my -pG -tR -tR -zg -Bz -EE -GS -tR -tR -Lp -Nn -zC -Pa -hi -RM -hi -RM -hi -hi -hj -RM -RM -hj -hj -hj -aG -aG -ak -ak -GV -"} -(27,1,1) = {" -GV -ak -aB -aB -aB -aB -aB -aB -bf -hi -mR -pG -tR -hJ -Gv -ro -ro -Gv -hJ -tR -Ew -NK -hi -hi -aB -ak -RW -ak -ak -aG -LV -aG -aG -De -ak -aG -aG -aG -ak -GV -GV -"} -(28,1,1) = {" -ak -aB -aB -bf -bf -bf -bf -bf -bf -hj -Mq -pU -yw -td -of -of -IA -ro -ro -hJ -Ew -LT -hi -aB -aB -aG -aG -ak -aG -aG -aG -aG -aG -aG -aG -aG -aG -ak -GV -GV -GV -"} -(29,1,1) = {" -ak -aB -bf -bf -cg -dJ -bf -bf -bf -hj -no -qb -Gv -sV -BC -BQ -EG -ro -It -Gv -KL -NP -hi -aB -aG -aG -aG -ak -ak -hg -aG -ak -ak -aG -aG -ak -GV -GV -GV -GV -GV -"} -(30,1,1) = {" -aB -aB -bf -pi -ck -dN -fq -gP -je -kC -nq -qm -hJ -tw -tC -vK -XU -za -HT -hJ -TE -GR -hi -aG -aG -ak -ak -ak -ak -ak -ak -ak -ak -GV -GV -GV -GV -GV -GV -GV -GV -"} -(31,1,1) = {" -aB -aB -bf -bU -co -dO -fF -hf -jq -kI -nt -vJ -tR -hJ -Gv -BC -BC -Gv -hJ -tR -Lb -IO -hi -hj -aG -ak -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(32,1,1) = {" -aB -aB -bf -bf -kN -dU -bf -bf -bf -hi -lC -pG -tR -tR -Ip -IF -Fb -Gz -tR -tR -Ew -NK -Ph -hj -aG -ak -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(33,1,1) = {" -aB -aB -aB -bf -bf -bf -bf -bf -bf -hi -ob -pG -tR -Ai -tR -Ai -tR -tR -tR -tR -Lp -Mr -Pt -hj -ak -ak -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(34,1,1) = {" -GV -aB -aB -aB -aB -aB -aB -aB -bf -hj -lC -pm -tR -tR -tR -Ai -tR -tR -tR -Ak -Lp -LQ -hj -hj -ak -ak -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(35,1,1) = {" -GV -aG -aG -aG -aG -ak -ak -aB -aB -hj -lQ -qv -tU -vN -zh -BW -Fp -Ga -tU -vN -Lu -NU -hj -aG -hg -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(36,1,1) = {" -GV -GV -aG -ak -ak -ak -ak -aG -aG -hj -hj -qy -ug -vZ -Yq -Cg -zC -oA -ug -IM -LO -hi -hi -aG -ak -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(37,1,1) = {" -GV -GV -GV -GV -GV -GV -GV -hg -aG -ak -hj -hj -hj -hi -hi -zC -Fu -hi -hi -hj -hj -hi -aG -ak -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(38,1,1) = {" -GV -GV -GV -GV -GV -GV -GV -GV -ak -ak -aB -aB -aB -aB -hi -Ci -Fw -hi -aG -aG -aG -aT -ak -ak -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(39,1,1) = {" -GV -GV -GV -GV -GV -GV -GV -GV -GV -aG -aG -aG -aB -aB -hj -Cn -hi -hi -aG -aG -aG -aG -aG -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(40,1,1) = {" -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -aG -ak -ak -aB -aB -aB -ak -aG -aG -ak -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(41,1,1) = {" -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -ak -ak -ak -ak -ak -ak -ak -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} -(42,1,1) = {" -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -ak -hg -ak -ak -ak -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -GV -"} diff --git a/_maps/RandomRuins/RockRuins/rockplanet_mining_installation.dmm b/_maps/RandomRuins/RockRuins/rockplanet_mining_installation.dmm new file mode 100644 index 00000000000..b140787b25b --- /dev/null +++ b/_maps/RandomRuins/RockRuins/rockplanet_mining_installation.dmm @@ -0,0 +1,14210 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ac" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"ag" = ( +/obj/item/emptysandbag, +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/overmap_encounter/planetoid/cave/explored) +"ai" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ak" = ( +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"al" = ( +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"ao" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ap" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"at" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"aw" = ( +/obj/structure/table, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"ay" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"aA" = ( +/obj/effect/turf_decal/weather/rock/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 1 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"aD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"aE" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = 6; + pixel_y = 11 + }, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken{ + pixel_y = -2; + pixel_x = -6 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"aJ" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 4; + pixel_x = 5; + pixel_y = 6; + layer = 3.01 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -22; + pixel_x = 7; + name = "window shutter control"; + id = "nsmine_off" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/rockplanet/mining_base/office) +"aK" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"aL" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"aM" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/weather/rock/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"aS" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"aV" = ( +/obj/machinery/door/airlock/external/glass{ + name = "Armory" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/armory) +"bc" = ( +/obj/structure/flora/ash/fern, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"bd" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/railing, +/obj/structure/platform/corner{ + dir = 8 + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"bg" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/conveyor{ + dir = 5; + id = "rock_mine_int" + }, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"bi" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"bj" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor{ + id = "nsmine2" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "mining_base" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"bl" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/structure/cable, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"bo" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"bt" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 10 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bx" = ( +/obj/structure/vein/classtwo, +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_two) +"bC" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"bD" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/door/poddoor{ + id = "nsmine2" + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"bF" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"bG" = ( +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + dir = 4; + name = "Office Dome" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/office) +"bH" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bJ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"bK" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"bL" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 10 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"bN" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/sign/nanotrasen/ns{ + pixel_y = 28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/open, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"bP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/military, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bR" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"bT" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"bX" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/borderfloor, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"bY" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ca" = ( +/obj/effect/turf_decal/siding{ + dir = 1 + }, +/obj/item/shard, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"cf" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ + dir = 2 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"cg" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/machinery/deepfryer, +/obj/item/radio/intercom/directional/east, +/obj/structure/sign/poster/official/pda_ad{ + pixel_y = 30 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"ch" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ck" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 5 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cm" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cn" = ( +/obj/effect/turf_decal/nanotrasen/ns/top_right, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"co" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 1 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ct" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cu" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"cv" = ( +/obj/structure/table, +/obj/item/cutting_board{ + anchored = 1; + pixel_y = 4 + }, +/obj/item/melee/knife/kitchen{ + pixel_x = 4; + pixel_y = 1 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/item/kitchen/rollingpin{ + pixel_y = 7; + pixel_x = -6 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"cw" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"cA" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/med) +"cD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/external/glass{ + dir = 1; + name = "Barracks" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"cF" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"cG" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"cI" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cJ" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cU" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cW" = ( +/obj/structure/table, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/food/egg_smudge, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"da" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"de" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"df" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_ccw{ + dir = 8 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dh" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"di" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 8 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dk" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/weather/rock{ + dir = 6 + }, +/obj/effect/turf_decal/weather/rock{ + dir = 5 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"dp" = ( +/obj/machinery/conveyor{ + dir = 9; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"dq" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/sign/warning/gasmask{ + pixel_y = 30 + }, +/obj/structure/rack, +/obj/item/clothing/mask/gas{ + pixel_x = -1; + pixel_y = -4 + }, +/obj/item/clothing/mask/gas{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/item/clothing/mask/gas{ + pixel_x = 6; + pixel_y = 2 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"dt" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/door/window, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"du" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/weather/rock/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dx" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/syndicate/melee/space/stormtrooper, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dG" = ( +/obj/structure/table/wood, +/obj/item/lighter{ + pixel_y = 5; + pixel_x = -6 + }, +/obj/item/storage/pill_bottle/dice{ + pixel_y = -3 + }, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"dJ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"dK" = ( +/obj/structure/closet/secure_closet/engineering_electrical{ + populate = 0 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/item/storage/toolbox/electrical{ + pixel_x = 3; + pixel_y = -4 + }, +/obj/item/multitool, +/obj/item/multitool, +/obj/item/stack/tape/industrial/electrical, +/obj/item/stack/cable_coil/red, +/obj/item/stack/cable_coil/red, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"dL" = ( +/obj/structure/sign/warning/securearea{ + pixel_y = 10; + pixel_x = 24 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"dM" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dO" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/transparent/vired{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/armory) +"dP" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dR" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/table, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/item/radio/intercom/table{ + dir = 4; + pixel_x = 5; + pixel_y = -1 + }, +/obj/item/radio/weather_monitor{ + pixel_y = 10; + pixel_x = -10 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"dS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/food/flour, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"dU" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dV" = ( +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/crew) +"dY" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/effect/turf_decal/borderfloor, +/obj/machinery/light/directional/east, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"dZ" = ( +/obj/effect/turf_decal/corner/opaque/nsorange/border, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 8 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"ea" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/barricade/sandbags, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"eb" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine_int" + }, +/obj/machinery/door/firedoor/border_only, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"ec" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ee" = ( +/obj/structure/rack, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"ef" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/railing, +/obj/structure/sign/warning/gasmask{ + pixel_x = 29 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"eg" = ( +/obj/effect/turf_decal/siding{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"es" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ew" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/refinery) +"ex" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ey" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ez" = ( +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"eB" = ( +/obj/structure/flippedtable{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 8; + pixel_y = 5; + pixel_x = 24; + name = "blast door controls"; + id = "nsmine2" + }, +/obj/machinery/button/shieldwallgen{ + dir = 8; + pixel_y = -5; + pixel_x = 22; + id = "mining_base" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"eD" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"eH" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"eJ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/blue/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"eV" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"eY" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/corner{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"fe" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 + }, +/obj/structure/platform, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"ff" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"fg" = ( +/obj/structure/flora/ash/cacti, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fo" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fr" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet{ + dir = 8 + }, +/area/ruin/rockplanet/mining_base/refinery) +"fA" = ( +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"fE" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/ammo_casing/spent{ + pixel_x = 2; + pixel_y = -10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fF" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_ccw{ + dir = 4 + }, +/obj/item/broken_missile, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fM" = ( +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fP" = ( +/obj/machinery/door/airlock/freezer{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"fQ" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/effect/decal/cleanable/food/salt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"fT" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/trash/plate{ + pixel_x = -8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"fV" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fW" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/engineering) +"ga" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gc" = ( +/obj/structure/rack, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = 3; + pixel_y = -4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"gg" = ( +/obj/machinery/porta_turret/ship/nt/light/mining_base{ + dir = 2; + id = "m1" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"gi" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/effect/turf_decal/industrial/traffic, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gj" = ( +/obj/structure/railing, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"gm" = ( +/obj/structure/table, +/obj/item/screwdriver{ + pixel_x = 9; + pixel_y = -4 + }, +/obj/item/gun/energy/laser/empty_cell, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"gn" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/porta_turret/ship/nt/light/mining_base{ + dir = 1; + id = "m1" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"go" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"gs" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 6 + }, +/obj/structure/marker_beacon, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gt" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/obj/structure/marker_beacon, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gx" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end, +/mob/living/simple_animal/hostile/human/syndicate/melee/space, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"gy" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"gz" = ( +/obj/structure/flora/ash/cacti, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"gB" = ( +/obj/machinery/light/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs/old{ + dir = 4 + }, +/area/ruin/rockplanet/mining_base/refinery) +"gD" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/obj/machinery/washing_machine{ + pixel_y = 0 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gF" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor{ + id = "nsmine_med" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/med) +"gG" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"gH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 8 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gJ" = ( +/obj/effect/turf_decal/borderfloor/corner, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gL" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/flippedtable{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gU" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"gW" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/ruin/rockplanet/mining_base/rig_one) +"gX" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"hf" = ( +/obj/structure/rack, +/obj/item/screwdriver{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/wrench{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/concrete/slab_1, +/area/ruin/rockplanet/mining_base/engineering) +"hi" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/nsorange/border, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 4 + }, +/obj/item/folder/syndicate{ + pixel_y = 1; + pixel_x = -6 + }, +/obj/item/folder/yellow{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_y = 9; + pixel_x = -4 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"hk" = ( +/obj/item/shard, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"ho" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"hp" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/weather/rock/corner, +/obj/effect/turf_decal/weather/rock/corner{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ht" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"hu" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"hA" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"hB" = ( +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"hG" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"hO" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/box, +/obj/machinery/firealarm/directional/west, +/obj/item/clothing/suit/hooded/wintercoat/security, +/obj/item/clothing/mask/gas, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"hT" = ( +/obj/effect/turf_decal/nanotrasen/ns/top, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"hV" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/crew) +"hX" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/crew) +"hZ" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/overmap_encounter/planetoid/cave/explored) +"ia" = ( +/obj/effect/turf_decal/nanotrasen/ns/bottom_left, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"id" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating/dark/corner, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/ash{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 7; + pixel_y = -9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/gun/energy/e_gun/nuclear{ + pixel_x = -6; + pixel_y = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"if" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ig" = ( +/obj/machinery/door/airlock{ + dir = 2; + name = "Coordinator's Quarters" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"il" = ( +/obj/machinery/conveyor/inverted{ + dir = 6; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"im" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"in" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/obj/structure/marker_beacon, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ir" = ( +/obj/structure/table, +/obj/machinery/recharger{ + pixel_y = 6; + pixel_x = -5 + }, +/obj/structure/closet/wall/red/directional/west{ + req_access_txt = "3" + }, +/obj/item/stock_parts/cell/gun, +/obj/item/stock_parts/cell/gun, +/obj/item/stock_parts/cell/gun, +/obj/item/stock_parts/cell/gun, +/obj/machinery/recharger{ + pixel_x = 7; + pixel_y = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"it" = ( +/obj/structure/flora/rock/pile/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"iu" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"iv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/structure/closet/crate/freezer, +/obj/item/storage/cans/sixbeer, +/obj/item/storage/cans/sixbeer, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ix" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"iB" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/orange/diagonal, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/mining_base/engineering) +"iJ" = ( +/turf/closed/wall/concrete/reinforced, +/area/ruin/rockplanet/mining_base/engineering) +"iM" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"iN" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/syndicate/melee/space, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"iO" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"iP" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"iZ" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ja" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/mecha/working/ripley/cargo{ + pixel_y = 0; + name = "APLU 'Cherry Devil'" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"jb" = ( +/obj/machinery/conveyor{ + dir = 9; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"jc" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = -2; + pixel_y = 14 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"jg" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"jj" = ( +/obj/structure/railing, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"jl" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jq" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"js" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jv" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"jw" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"jx" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"jy" = ( +/obj/structure/barricade/sandbags, +/obj/structure/platform/military, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"jF" = ( +/obj/structure/table, +/obj/effect/turf_decal/borderfloor, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/mining_base/engineering) +"jN" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jS" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jY" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"jZ" = ( +/obj/machinery/power/terminal, +/obj/structure/cable/yellow, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"kf" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible, +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"kj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_ccw{ + dir = 8 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"kn" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/obj/structure/marker_beacon, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"kp" = ( +/obj/effect/turf_decal/nanotrasen/ns/bottom_right, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"kt" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/ruin/rockplanet/mining_base/rig_two) +"ku" = ( +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/item/lighter{ + pixel_y = -6; + pixel_x = -5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"kv" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/item/table_bell{ + pixel_x = -6; + pixel_y = 1 + }, +/obj/item/storage/ration/sausage_peppers_onions{ + pixel_y = 8; + pixel_x = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"kx" = ( +/obj/effect/turf_decal/borderfloor/corner, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"kB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"kC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/sign/nanotrasen/ns{ + pixel_x = -28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/med) +"kD" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 6 + }, +/obj/item/pen{ + pixel_y = 7 + }, +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = 5 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"kE" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"kF" = ( +/obj/effect/turf_decal/siding{ + dir = 5 + }, +/obj/item/trash/plate{ + pixel_x = 4; + pixel_y = 5 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"kH" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"kK" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 7 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"kO" = ( +/obj/machinery/conveyor{ + dir = 2; + id = "rock_mine"; + pixel_y = -1 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"kQ" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/closet/crate, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"kX" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 1 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"kZ" = ( +/obj/machinery/door/poddoor{ + id = "nsmine_two" + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "mining_base_two" + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"lc" = ( +/obj/structure/platform/military, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"lf" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"lg" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/sign/nanotrasen/ns{ + pixel_x = -28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/med) +"lj" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ll" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"lm" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lo" = ( +/obj/structure/closet/secure_closet/freezer/fridge{ + populate = 0 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/effect/decal/cleanable/food/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/saltshaker{ + desc = "Of course it goes in the fridge." + }, +/obj/item/reagent_containers/condiment/saltshaker{ + desc = "Of course it goes in the fridge." + }, +/obj/item/reagent_containers/condiment/saltshaker{ + desc = "Of course it goes in the fridge." + }, +/obj/item/reagent_containers/condiment/saltshaker{ + desc = "Of course it goes in the fridge." + }, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/oliveoil, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"lp" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"lt" = ( +/obj/structure/filingcabinet/double/grey, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/rockplanet/mining_base/office) +"lw" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base) +"ly" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 8 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lz" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lB" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"lE" = ( +/obj/structure/barricade/sandbags, +/obj/structure/platform/military{ + dir = 8 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"lF" = ( +/obj/effect/turf_decal/weather/rock/corner, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lI" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"lK" = ( +/obj/structure/platform/military{ + dir = 8 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"lM" = ( +/obj/machinery/computer/operating{ + dir = 4; + pixel_x = -3 + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/radio/intercom/directional/north{ + pixel_x = -7 + }, +/obj/machinery/button/door{ + pixel_y = 23; + pixel_x = 9; + name = "window shutter control"; + id = "nsmine_med" + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"lP" = ( +/obj/structure/bookcase, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"lR" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners, +/obj/structure/closet/crate, +/obj/structure/platform, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"lU" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 5 + }, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lX" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor4-old" + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = 13; + pixel_y = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lY" = ( +/obj/structure/flora/ash/garden/arid, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lZ" = ( +/obj/structure/closet/radiation{ + populate = 0 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 6 + }, +/obj/item/clothing/suit/radiation{ + pixel_y = -4 + }, +/obj/item/clothing/head/radiation{ + pixel_y = 8 + }, +/obj/item/storage/firstaid/radiation, +/obj/item/geiger_counter, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"ma" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"mc" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"mm" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mp" = ( +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mq" = ( +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 4 + }, +/obj/structure/closet/crate/medical, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/item/clothing/suit/apron/surgical, +/obj/item/clothing/head/nanotrasen/surgical/blue{ + pixel_y = 6 + }, +/obj/item/clothing/under/rank/medical/doctor, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"mw" = ( +/obj/effect/turf_decal/trimline/opaque/vired/corner{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"mx" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/item/reagent_containers/food/drinks/beer/light{ + pixel_y = 9; + pixel_x = 3 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"mz" = ( +/obj/structure/railing, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"mB" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mC" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/barricade/sandbags, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mN" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor/corner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mP" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mT" = ( +/obj/machinery/door/airlock{ + name = "Bathroom" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"mX" = ( +/obj/structure/platform, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"na" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/railing, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/office) +"nc" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"nd" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"nf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ng" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"nh" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/med) +"nn" = ( +/obj/structure/flora/grass/rockplanet, +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"nr" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"nt" = ( +/obj/effect/turf_decal/weather/rock/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 1 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nA" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/transparent/orange, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"nB" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 8 + }, +/obj/structure/sign/poster/official/mini_energy_gun{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"nC" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/orange/diagonal, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/mining_base/engineering) +"nD" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nE" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nJ" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nK" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/obj/structure/marker_beacon, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nM" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"nQ" = ( +/obj/structure/rack, +/turf/open/floor/concrete/slab_1, +/area/ruin/rockplanet/mining_base/engineering) +"nR" = ( +/obj/effect/turf_decal/box, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/hooded/wintercoat/security, +/obj/item/clothing/mask/gas, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"nS" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"nW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"ob" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"og" = ( +/obj/structure/railing, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"oi" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 5 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ok" = ( +/obj/effect/turf_decal/trimline/opaque/vired/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"om" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"oo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"ot" = ( +/obj/machinery/mineral/unloading_machine, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_one) +"ow" = ( +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/machinery/firealarm/directional/north, +/obj/item/radio/old{ + pixel_y = 11; + pixel_x = 3 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"ox" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/rockplanet/mining_base/rig_one) +"oy" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"oz" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"oD" = ( +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/corner/opaque/nsorange/half, +/obj/machinery/turretid{ + pixel_x = 26; + id = "m1" + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"oG" = ( +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 10 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"oH" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"oI" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/sign/warning/gasmask{ + pixel_y = -29 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/suit_storage_unit/open, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"oN" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 9 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"oO" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/nsorange/border, +/obj/item/binoculars{ + pixel_x = -2; + pixel_y = 7 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"oQ" = ( +/obj/structure/rack, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/item/resonator, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"oS" = ( +/obj/item/radio/intercom/directional/east, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/crew) +"oX" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pa" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/item/tank/internals/oxygen{ + pixel_x = 2; + pixel_y = -4 + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"pc" = ( +/obj/machinery/power/rtg, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/concrete/slab_1, +/area/ruin/rockplanet/mining_base/engineering) +"pd" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/armory) +"pi" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_ccw{ + dir = 4 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pn" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"po" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"pq" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"pr" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ps" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pu" = ( +/obj/structure/guncloset, +/obj/effect/turf_decal/box, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"py" = ( +/obj/effect/turf_decal/weather/rock/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pB" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor{ + id = "nsmine_canteen"; + dir = 2 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/canteen) +"pE" = ( +/obj/structure/platform/military{ + dir = 9 + }, +/obj/structure/barricade/sandbags{ + layer = 3.1 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"pI" = ( +/obj/effect/turf_decal/borderfloor, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pN" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"pO" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = 6; + pixel_y = 11 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3; + pixel_y = -11 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 4; + pixel_y = -11 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"pP" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/siding/white/corner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"pQ" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pS" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/food/flour, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"pT" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "gib1-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pX" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pY" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"qe" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"qf" = ( +/obj/machinery/porta_turret/ship/nt/light/mining_base{ + dir = 1; + id = "m1" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"qo" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"qp" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"qr" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "rock_mine_swap" + }, +/obj/structure/platform/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"qs" = ( +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/weather/rock{ + dir = 6 + }, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"qy" = ( +/obj/structure/window/reinforced/survival_pod{ + dir = 8 + }, +/obj/structure/bodycontainer/morgue{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono/white, +/area/ruin/rockplanet/mining_base/med) +"qC" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"qE" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "rock_mine_int" + }, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"qH" = ( +/obj/effect/turf_decal/industrial/radiation{ + dir = 9 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"qK" = ( +/obj/structure/flora/rock/pile/rockplanet, +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"qN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"qP" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/office) +"qR" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/filingcabinet/double/grey, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"qT" = ( +/obj/machinery/door/window/survival_pod, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono/white, +/area/ruin/rockplanet/mining_base/med) +"qU" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/item/shard, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south, +/obj/structure/sign/poster/official/fruit_bowl{ + pixel_x = 30 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"qV" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"qW" = ( +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/military{ + dir = 4 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"qX" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"ra" = ( +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"rc" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/mob/living/simple_animal/hostile/human/syndicate/melee/space, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/ash, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"re" = ( +/obj/effect/turf_decal/box, +/obj/machinery/suit_storage_unit/open, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"rj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/bed/roller, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"rk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"rm" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"rn" = ( +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/overmap_encounter/planetoid/cave/explored) +"rq" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 6 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"rs" = ( +/obj/structure/dresser{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"ru" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/ruin/rockplanet/mining_base/refinery) +"rx" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"rE" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/engineering) +"rP" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"rQ" = ( +/obj/structure/barricade/sandbags, +/obj/structure/platform/military{ + dir = 4 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"rV" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"rY" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"sb" = ( +/obj/effect/turf_decal/weather/rock, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sc" = ( +/obj/structure/flora/rock/pile/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"se" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"sf" = ( +/obj/structure/platform/military{ + dir = 1 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"sh" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/obj/machinery/door/airlock/external/glass{ + dir = 4; + name = "Canteen" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"so" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sp" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"sr" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine_int" + }, +/obj/structure/platform{ + dir = 10 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"ss" = ( +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/overmap_encounter/planetoid/cave/explored) +"su" = ( +/obj/effect/turf_decal/nanotrasen/ns/bottom_right, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sv" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 9 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"sw" = ( +/obj/effect/turf_decal/weather/rock, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sy" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_two) +"sC" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sI" = ( +/obj/effect/turf_decal/nanotrasen/ns/center_left, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sK" = ( +/obj/structure/flora/ash/cacti, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sL" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sN" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + dir = 4; + name = "Engineering Complex" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"sR" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"sT" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"sV" = ( +/obj/structure/chair/stool/bar{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"ta" = ( +/obj/effect/turf_decal/nanotrasen/ns/top, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"tg" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/item/ammo_casing/c57x39mm{ + projectile_type = null; + icon_state = "rifle-steel-empty" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"th" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 9 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tp" = ( +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tq" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"tr" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-6" + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 6 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"ts" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"tu" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/sign/nanotrasen/ns{ + pixel_y = 28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/clothing/suit/hooded/explorer, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/mask/gas, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"tz" = ( +/obj/structure/flora/tree/cactus, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tA" = ( +/obj/machinery/conveyor{ + dir = 2; + id = "rock_mine"; + pixel_y = -1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"tB" = ( +/obj/structure/platform/corner{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tD" = ( +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 1 + }, +/obj/machinery/door/airlock/command, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/office) +"tF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/sign/warning/gasmask{ + pixel_x = -28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/railing, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"tH" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder{ + pixel_y = 12; + pixel_x = -5 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/effect/decal/cleanable/food/flour, +/obj/machinery/firealarm/directional/west, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -21; + pixel_y = 11; + name = "window shutter control"; + id = "nsmine_canteen" + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"tK" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/sign/warning/coldtemp{ + pixel_x = 29 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"tL" = ( +/obj/structure/platform/corner, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tP" = ( +/obj/machinery/mineral/processing_unit, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"tQ" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"tR" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/stairs/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"tY" = ( +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 8 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"ub" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uh" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"uj" = ( +/obj/structure/barricade/sandbags, +/obj/structure/platform/military/corner{ + dir = 8 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"uk" = ( +/obj/machinery/autolathe, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"um" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"up" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor7-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uu" = ( +/obj/structure/filingcabinet/double/grey, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/rockplanet/mining_base/office) +"uv" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"uA" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uB" = ( +/obj/structure/railing, +/turf/open/floor/plasteel/stairs/old{ + dir = 8 + }, +/area/ruin/rockplanet/mining_base/refinery) +"uD" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"uJ" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"uQ" = ( +/obj/item/paper/crumpled{ + pixel_x = -10; + pixel_y = -5 + }, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/structure/sign/poster/official/focus{ + pixel_y = 30 + }, +/turf/open/floor/carpet, +/area/ruin/rockplanet/mining_base/office) +"uR" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uS" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uW" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"uX" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"vf" = ( +/obj/machinery/shower{ + pixel_y = 18 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/curtain/bounty, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/noslip, +/area/ruin/rockplanet/mining_base/crew) +"vi" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vl" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + dir = 4; + name = "Engineering Complex" + }, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"vp" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"vr" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"vs" = ( +/obj/machinery/atmospherics/components/binary/temperature_gate{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"vA" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vB" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"vC" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_one) +"vH" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"vI" = ( +/obj/effect/turf_decal/nanotrasen/ns/center_left, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"vK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"vS" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"wc" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"we" = ( +/obj/effect/radiation, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 4 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"wf" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor2-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wm" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/sign/warning/gasmask{ + pixel_x = 29 + }, +/obj/structure/railing, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"wt" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor5-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ww" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"wy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wz" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/closet/crate, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"wC" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor7-old" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wD" = ( +/obj/machinery/door/airlock/security{ + dir = 4; + req_access_txt = "1"; + name = "Suit Storage" + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"wH" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"wI" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/end{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"wK" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 1 + }, +/obj/machinery/door/airlock/external{ + name = "Refinery Complex" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"wO" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"wS" = ( +/obj/structure/table, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ + dir = 1 + }, +/obj/machinery/fax/ruin{ + pixel_y = 2; + pixel_x = -1 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"wT" = ( +/obj/machinery/vending/cigarette, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"wV" = ( +/obj/effect/turf_decal/borderfloor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/sign/warning/coldtemp{ + pixel_y = 30 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"wX" = ( +/obj/structure/railing, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs/rockplanet{ + dir = 8 + }, +/area/ruin/rockplanet/mining_base/rig_one) +"xc" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine_int" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"xd" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"xf" = ( +/obj/effect/turf_decal/nanotrasen/ns/center, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xj" = ( +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xl" = ( +/obj/structure/table/wood, +/obj/machinery/fax/ruin{ + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"xm" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xn" = ( +/obj/structure/filingcabinet{ + density = 0; + pixel_x = 11 + }, +/obj/structure/chair/office{ + dir = 1; + pixel_x = -7 + }, +/obj/item/reagent_containers/spray/pepper, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"xr" = ( +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"xs" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/decal/cleanable/ash, +/obj/structure/platform, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"xv" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/outline/red, +/turf/open/floor/engine/air, +/area/ruin/rockplanet/mining_base/engineering) +"xA" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/barricade/sandbags, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xC" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xF" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xH" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"xK" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"xL" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xO" = ( +/obj/effect/turf_decal/industrial/traffic, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"xP" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"xR" = ( +/obj/structure/table, +/obj/machinery/door/window{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"xV" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/door/airlock/atmos, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"xZ" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"yg" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"yi" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yl" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/sign/warning/coldtemp{ + pixel_x = -28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/light/small/directional/north, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"yo" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/light/small/directional/south, +/obj/item/reagent_containers/food/snacks/chocolatebar{ + pixel_y = 5 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"ys" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 6 + }, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"yB" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/ammo_casing/spent{ + pixel_x = 1; + pixel_y = -2 + }, +/obj/item/ammo_casing/spent{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor1-old" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yD" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/sign/nanotrasen/vigilitas{ + pixel_y = -28 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/sign/poster/official/safety_internals{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/armory) +"yF" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yG" = ( +/obj/structure/flora/ash/puce, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"yI" = ( +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yK" = ( +/obj/machinery/atmospherics/components/binary/pump/on/layer4, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"yN" = ( +/obj/structure/table/wood, +/obj/structure/bedsheetbin, +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"yQ" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/sign/poster/official/walk{ + pixel_y = -30 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"yT" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/ammo_casing/spent{ + pixel_x = -6; + pixel_y = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"zb" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 8 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"zf" = ( +/obj/effect/turf_decal/siding{ + dir = 1 + }, +/obj/effect/decal/cleanable/glass, +/obj/structure/reagent_dispensers/water_cooler{ + pixel_y = 11 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"zj" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"zl" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/obj/machinery/door/airlock/external/glass{ + dir = 4; + name = "Canteen" + }, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"zm" = ( +/obj/structure/platform, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"zo" = ( +/obj/structure/table, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3; + pixel_y = 0 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 4; + pixel_y = 0 + }, +/obj/item/newspaper{ + pixel_y = 15; + pixel_x = -6 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"zr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"zx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1, +/obj/machinery/door/airlock/external/glass{ + name = "Refinery Complex" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"zz" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"zC" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/obj/item/gun/energy/laser/empty_cell, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner/armored, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"zG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"zH" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"zK" = ( +/obj/structure/table/optable, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor4-old" + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"zL" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"zR" = ( +/obj/structure/chair/sofa/brown/right/directional/west, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"zT" = ( +/obj/structure/flora/ash/fern, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"zY" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"zZ" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Aa" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ac" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/engineering) +"Ah" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"Ak" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Al" = ( +/obj/item/broken_bottle, +/obj/effect/decal/cleanable/glass, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"An" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/table{ + dir = 4; + pixel_x = 5; + pixel_y = -13 + }, +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = 5 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/rockplanet/mining_base/office) +"Ao" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"Av" = ( +/obj/item/broken_bottle, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Aw" = ( +/obj/effect/decal/cleanable/glass, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Ay" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"AC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/sign/warning/coldtemp{ + pixel_x = 29 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/med) +"AD" = ( +/obj/item/emptysandbag, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"AE" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"AF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/sign/warning/gasmask{ + pixel_y = 30 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/armory) +"AK" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/sign/warning/coldtemp{ + pixel_y = 30 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/armory) +"AL" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"AN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 1 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"AP" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space/stormtrooper, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/engineering) +"AX" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"AY" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ba" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Bb" = ( +/obj/structure/flora/ash/fern, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Be" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/orange/diagonal, +/obj/structure/chair{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/mining_base/engineering) +"Bi" = ( +/obj/effect/spawner/bunk_bed{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"Bj" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Bl" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"Bp" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Bq" = ( +/obj/structure/table, +/obj/machinery/conveyor_switch/oneway{ + pixel_x = -1; + pixel_y = 4; + id = "rock_mine" + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 4 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"Bu" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Bv" = ( +/obj/effect/turf_decal/trimline/opaque/blue/end{ + dir = 1 + }, +/obj/item/stack/medical/gauze{ + pixel_x = -10; + pixel_y = -5 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"BB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + name = "Medical Dome"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/med) +"BE" = ( +/obj/machinery/power/rtg, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/rockplanet/mining_base/engineering) +"BG" = ( +/obj/effect/turf_decal/box, +/obj/structure/tank_dispenser/oxygen, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"BH" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"BI" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"BK" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"BL" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"BN" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"BO" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine_int" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "mining_base_two" + }, +/obj/machinery/door/poddoor{ + id = "nsmine_two" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"BP" = ( +/obj/effect/turf_decal/siding{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"BQ" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"BT" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/corner{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"BV" = ( +/obj/structure/toilet{ + pixel_y = 16 + }, +/obj/structure/curtain/bounty, +/obj/machinery/light/small/directional/east, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/crew) +"BW" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"BY" = ( +/obj/machinery/porta_turret/ship/nt/light/mining_base{ + dir = 8; + id = "m2" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"BZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"Cd" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/med) +"Ce" = ( +/turf/template_noop, +/area/template_noop) +"Cf" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"Ci" = ( +/obj/machinery/door/airlock/engineering, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"Cm" = ( +/obj/item/emptysandbag, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Cp" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor{ + id = "nsmine_off"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/office) +"Cr" = ( +/obj/structure/barricade/sandbags, +/obj/structure/platform/military/corner{ + dir = 4 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Cx" = ( +/obj/structure/table, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 10 + }, +/obj/structure/sign/poster/official/focus{ + pixel_y = -30 + }, +/obj/machinery/light/directional/west, +/obj/machinery/fax/ruin{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Cy" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"CB" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_ccw{ + dir = 8 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"CE" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/crew) +"CF" = ( +/obj/effect/turf_decal/atmos/air{ + dir = 4 + }, +/turf/open/floor/engine/air, +/area/ruin/rockplanet/mining_base/engineering) +"CI" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"CJ" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"CK" = ( +/obj/structure/flora/rock/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"CO" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"CS" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"CT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"CU" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/platform/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"CZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/obj/machinery/door/airlock/external/glass{ + dir = 4; + name = "Engineering Complex" + }, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"Da" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Db" = ( +/obj/effect/turf_decal/weather/rock/corner{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Dd" = ( +/obj/machinery/door/airlock/external{ + name = "Armory" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/steeldecal/steel_decals_central1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/armory) +"De" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/engineering) +"Dh" = ( +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/template_noop) +"Di" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Dm" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + name = "Canteen"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/sealed, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Dn" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"Do" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Dq" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/space_heater{ + pixel_x = -12; + pixel_y = 9; + density = 0; + anchored = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"Dt" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/sign/nanotrasen/vigilitas{ + pixel_y = -28 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/armory) +"Du" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Dx" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"DA" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/platform/corner{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"DD" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/rockplanet/mining_base/refinery) +"DE" = ( +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"DF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/obj/machinery/door/airlock/external/glass{ + dir = 4; + name = "Canteen" + }, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"DG" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"DI" = ( +/obj/structure/railing, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"DJ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"DP" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"DQ" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/effect/decal/cleanable/food/flour, +/obj/machinery/light/directional/west, +/obj/item/radio/old{ + pixel_y = 11; + pixel_x = -2 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"DS" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"DT" = ( +/obj/structure/chair/sofa/brown/corner/directional/west, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"Ea" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"Ec" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/item/reagent_containers/food/drinks/beer/light{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken{ + pixel_y = -5; + pixel_x = 3 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"En" = ( +/obj/structure/platform/corner{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ep" = ( +/obj/structure/platform/military/corner, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Eq" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Es" = ( +/obj/structure/table, +/obj/item/cutting_board{ + anchored = 1; + pixel_y = 4 + }, +/obj/item/melee/knife/butcher{ + pixel_y = 4; + pixel_x = -1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor3-old" + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"Et" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ew" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/ammo_casing/spent{ + pixel_x = 1; + pixel_y = -2 + }, +/obj/item/ammo_casing/spent{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ex" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/machinery/door/poddoor{ + id = "nsmine2" + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Ey" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/sign/nanotrasen/ns{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"EA" = ( +/obj/machinery/door/airlock{ + name = "Showers"; + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"EC" = ( +/obj/structure/sign/nanotrasen/ns{ + pixel_x = 28 + }, +/obj/structure/platform{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ED" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"EE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"EL" = ( +/obj/structure/barricade/sandbags, +/obj/structure/platform/military/corner, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"EP" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"EY" = ( +/obj/machinery/space_heater, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"EZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Fc" = ( +/obj/structure/window/reinforced/survival_pod{ + dir = 8 + }, +/obj/structure/window/reinforced/survival_pod, +/obj/structure/table, +/obj/item/storage/box/bodybags{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/white, +/area/ruin/rockplanet/mining_base/med) +"Fd" = ( +/obj/effect/turf_decal/borderfloor/corner, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Fj" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Fm" = ( +/obj/effect/turf_decal/nanotrasen/ns/bottom, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Fn" = ( +/obj/structure/platform/corner{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Fo" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 9 + }, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Fq" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Fr" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"Fx" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"FB" = ( +/obj/effect/turf_decal/nanotrasen/ns/top_left, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"FC" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"FD" = ( +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"FG" = ( +/obj/machinery/photocopier, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"FH" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"FI" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"FK" = ( +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 1 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"FM" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"FO" = ( +/obj/structure/chair/sofa/brown/left/directional/north, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"FP" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"FT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/obj/machinery/door/airlock/external/glass{ + dir = 4; + name = "Medical Dome" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/med) +"FY" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/ruin/rockplanet/mining_base/rig_two) +"FZ" = ( +/obj/structure/platform, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"Ga" = ( +/obj/machinery/conveyor{ + dir = 10; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"Ge" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"Gf" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Gj" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"Gl" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/office) +"Gr" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor4-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Gx" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"Gz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"GA" = ( +/obj/structure/flora/ash/puce, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"GD" = ( +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"GE" = ( +/obj/effect/turf_decal/corner/opaque/nsorange/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 8 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"GH" = ( +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"GI" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"GL" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"GO" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor{ + id = "nsmine_canteen"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/canteen) +"GS" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"GU" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"GW" = ( +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Hb" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_one) +"Hc" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Hd" = ( +/obj/structure/table/wood, +/obj/item/toy/cards/deck, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"He" = ( +/obj/machinery/conveyor_switch{ + name = "furnace switch"; + pixel_y = 2; + pixel_x = 4; + id = "rock_mine_swap" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/obj/machinery/conveyor_switch/oneway{ + pixel_x = -13; + pixel_y = 1; + id = "rock_mine_int" + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Hf" = ( +/obj/structure/filingcabinet/double/grey{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/item/folder/documents, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"Hg" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/weather/rock/corner{ + dir = 4 + }, +/obj/effect/turf_decal/weather/rock/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Hl" = ( +/obj/item/mine/pressure/explosive/live, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Hp" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Hr" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ht" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"HC" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"HD" = ( +/obj/item/paper/crumpled{ + pixel_x = -9; + pixel_y = -7 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor1-old" + }, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_manager, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/carpet, +/area/ruin/rockplanet/mining_base/office) +"HE" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"HK" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"HN" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"HQ" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_two) +"HR" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"HU" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/outline/red, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"HZ" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/rockplanet/mining_base/engineering) +"If" = ( +/obj/effect/turf_decal/weather/rock/corner{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 1 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"It" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"Iu" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Iw" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor2-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"IC" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"IE" = ( +/obj/machinery/mech_bay_recharge_port, +/obj/structure/platform, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"IG" = ( +/obj/structure/flora/ash/puce, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"IK" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor2-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"IP" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"IT" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"IU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2, +/obj/effect/turf_decal/box, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"IV" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"IW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"IY" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"IZ" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"Jd" = ( +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/machinery/turretid{ + pixel_y = -24; + id = "m2" + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Ji" = ( +/obj/machinery/photocopier, +/obj/item/taperecorder/preset/mining_base{ + pixel_x = 10; + pixel_y = -10 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"Jj" = ( +/turf/closed/mineral/random/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Jk" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Jq" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Jr" = ( +/turf/open/floor/plasteel/stairs/rockplanet{ + dir = 1 + }, +/area/overmap_encounter/planetoid/cave/explored) +"Ju" = ( +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Jz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/weather/rock/corner, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"JC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/sign/warning/gasmask{ + pixel_x = 29 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/med) +"JH" = ( +/obj/machinery/mineral/unloading_machine{ + input_dir = 1; + output_dir = 2 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_two) +"JO" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"JS" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 5 + }, +/obj/structure/marker_beacon, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"JT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"JV" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"JZ" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/flippedtable{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"Ka" = ( +/turf/open/floor/plasteel/stairs/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Kd" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"Ke" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Kh" = ( +/obj/effect/turf_decal/borderfloor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Kj" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Km" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Ks" = ( +/obj/machinery/conveyor/inverted{ + dir = 10; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"Kt" = ( +/obj/structure/flora/rock/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ku" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Ky" = ( +/obj/machinery/door/airlock/external{ + name = "Barracks" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"KE" = ( +/obj/structure/rack, +/obj/item/mining_scanner{ + pixel_x = -8; + pixel_y = 5 + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half, +/obj/item/resonator{ + pixel_x = 4 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"KF" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"KH" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/table, +/obj/effect/decal/cleanable/food/flour, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"KI" = ( +/obj/item/decal_painter{ + pixel_x = -7; + pixel_y = -8 + }, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/weather/rock{ + dir = 10 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"KJ" = ( +/obj/effect/turf_decal/trimline/opaque/blue/end, +/obj/item/stack/medical/splint/ghetto{ + pixel_y = -6; + pixel_x = -5 + }, +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"KL" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"KM" = ( +/obj/effect/turf_decal/weather/rock, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"KN" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/ammo_casing/spent{ + pixel_y = -9; + pixel_x = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"KP" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"KQ" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/effect/turf_decal/trimline/opaque/nsorange/corner{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"KY" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"Ld" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Lh" = ( +/obj/structure/closet/wall/chem/directional/south, +/obj/item/towel, +/obj/item/towel{ + pixel_y = 9; + pixel_x = -3 + }, +/obj/item/towel{ + pixel_x = 11; + pixel_y = 2 + }, +/obj/item/towel{ + pixel_x = -6; + pixel_y = -5 + }, +/obj/item/towel{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/towel{ + pixel_x = 7; + pixel_y = -5 + }, +/obj/item/soap/nanotrasen{ + pixel_x = 3; + pixel_y = -9 + }, +/obj/item/soap/nanotrasen, +/obj/structure/sign/poster/official/no_erp{ + pixel_x = 28 + }, +/obj/item/razor, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/crew) +"Ll" = ( +/obj/effect/turf_decal/weather/rock, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ln" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Lp" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/stock_parts/cell/gun/empty, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Lw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/machinery/drill, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Lx" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"LA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"LO" = ( +/obj/structure/barricade/sandbags, +/obj/structure/platform/military/corner{ + dir = 1 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"LQ" = ( +/obj/structure/flora/ash/puce, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"LR" = ( +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/carpet, +/area/ruin/rockplanet/mining_base/office) +"LV" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/nanotrasen/ns/top_right, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"LW" = ( +/obj/structure/rack, +/obj/item/screwdriver{ + pixel_x = 7; + pixel_y = -3 + }, +/obj/item/screwdriver{ + pixel_x = -8; + pixel_y = 2 + }, +/obj/item/screwdriver{ + pixel_x = -1; + pixel_y = -3 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"LX" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"LY" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"LZ" = ( +/obj/effect/turf_decal/trimline/opaque/blue/filled/corner{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/syndicate/melee/space, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"Ma" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/sign/nanotrasen/ns{ + pixel_x = 28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Mc" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/obj/machinery/washing_machine, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Md" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"Mg" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/obj/item/gun/energy/e_gun/hades{ + spawn_no_ammo = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner/armored, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Mi" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Mj" = ( +/obj/machinery/conveyor/inverted{ + dir = 6; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"Mk" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Mo" = ( +/obj/structure/table/wood, +/obj/item/tape/random{ + pixel_y = 11; + pixel_x = -7 + }, +/obj/item/tape/random{ + pixel_x = 2 + }, +/obj/item/tape/random{ + pixel_x = -8; + pixel_y = -4 + }, +/obj/effect/turf_decal/siding/wood, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"Mt" = ( +/obj/structure/guncloset, +/obj/effect/turf_decal/box, +/obj/item/gun/energy/laser/empty_cell, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"MA" = ( +/obj/effect/radiation, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 8 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"MM" = ( +/obj/machinery/mineral/processing_unit_console{ + pixel_y = 24; + machinedir = 2 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"MP" = ( +/obj/structure/closet/crate/freezer, +/obj/item/storage/cans/sixbeer, +/obj/item/storage/cans/sixbeer, +/obj/item/storage/cans/sixbeer, +/obj/item/storage/cans/sixbeer, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/effect/decal/cleanable/food/flour, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"MQ" = ( +/obj/machinery/mineral/processing_unit, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"MT" = ( +/obj/effect/turf_decal/siding{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"MU" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Na" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Nc" = ( +/obj/structure/sign/nanotrasen/ns{ + pixel_y = 28 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"Nd" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Ng" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Nk" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/weather/rock/corner{ + dir = 4 + }, +/obj/effect/turf_decal/weather/rock/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"No" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Canteen"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Ns" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Recreation Room" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"Ny" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Nz" = ( +/obj/effect/turf_decal/nanotrasen/ns/center_right, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"NA" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"NC" = ( +/obj/structure/flora/tree/cactus, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"NE" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/external/glass{ + dir = 4; + name = "Engineering Complex" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"NL" = ( +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/military, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"NP" = ( +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/machinery/holopad/secure, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/ruin/rockplanet/mining_base/office) +"NR" = ( +/obj/structure/chair/sofa/brown/directional/west, +/obj/machinery/light/directional/east, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"NS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"NT" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/mono/white, +/area/ruin/rockplanet/mining_base/med) +"NU" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"NX" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"Ob" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Oh" = ( +/obj/structure/flora/rock/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Oo" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 5 + }, +/obj/effect/turf_decal/corner/transparent/orange/diagonal, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/mining_base/engineering) +"Oq" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ot" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ov" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Oz" = ( +/obj/structure/sink{ + dir = 1; + pixel_y = -10 + }, +/obj/structure/mirror{ + pixel_y = -25 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/crew) +"OA" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/end, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"OB" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"OF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"OG" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"OI" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"OJ" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"OL" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/suit/hooded/wintercoat{ + pixel_y = 9; + pixel_x = -3 + }, +/obj/item/clothing/suit/hooded/wintercoat{ + pixel_x = 9; + pixel_y = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"ON" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"OR" = ( +/obj/machinery/porta_turret/ship/nt/light/mining_base{ + dir = 4; + id = "m2" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"OX" = ( +/obj/structure/platform/military{ + dir = 4 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"OZ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"Pb" = ( +/obj/effect/turf_decal/weather/rock/corner, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Pc" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Canteen"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Pg" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/table/wood, +/obj/machinery/light/small/directional/west, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/crew) +"Ph" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"Pi" = ( +/obj/structure/sign/warning/radiation/rad_area{ + pixel_y = 32 + }, +/obj/structure/cable/yellow{ + icon_state = "2-5" + }, +/obj/structure/cable/yellow{ + icon_state = "2-9" + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/radiation{ + dir = 1 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"Pj" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/canteen) +"Pm" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"Pu" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 5 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Pv" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken{ + pixel_y = 7; + pixel_x = -7 + }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = -5; + pixel_y = 5 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"PA" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"PD" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/rockplanet/mining_base/rig_two) +"PG" = ( +/obj/structure/bed{ + dir = 1 + }, +/obj/item/toy/plush/goatplushie/angry, +/obj/item/bedsheet{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/crew) +"PH" = ( +/obj/machinery/shower{ + pixel_y = 18 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/curtain/bounty, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/noslip, +/area/ruin/rockplanet/mining_base/crew) +"PM" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"PT" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"PZ" = ( +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 4 + }, +/obj/structure/table, +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 3 + }, +/obj/item/reagent_containers/glass/bottle/morphine, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = -8 + }, +/obj/item/storage/box/syringes{ + pixel_x = 9; + pixel_y = 10 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"Qa" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/weather/rock/corner{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Qb" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/crew) +"Qd" = ( +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Qg" = ( +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/obj/machinery/light/directional/west, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Qi" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"Qk" = ( +/obj/structure/table, +/obj/item/clipboard{ + pixel_x = 5; + pixel_y = -3 + }, +/obj/effect/turf_decal/corner/opaque/nsorange/border{ + dir = 1 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"Ql" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Qo" = ( +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/weather/rock{ + dir = 10 + }, +/obj/structure/mopbucket, +/obj/item/mop{ + pixel_y = 7; + pixel_x = -5 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Qq" = ( +/obj/structure/rack, +/obj/item/geiger_counter, +/turf/open/floor/concrete/slab_1, +/area/ruin/rockplanet/mining_base/engineering) +"Qx" = ( +/obj/structure/closet/crate/freezer, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"Qz" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"QC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"QD" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/table, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/item/paper_bin{ + pixel_y = 7; + pixel_x = -3 + }, +/obj/item/pen{ + pixel_y = 7 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"QE" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/weather/rock{ + dir = 10 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"QF" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"QK" = ( +/obj/item/emptysandbag, +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"QR" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"QT" = ( +/obj/structure/platform/military{ + dir = 1 + }, +/obj/structure/barricade/sandbags{ + layer = 3.1 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"QU" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Ra" = ( +/obj/effect/turf_decal/borderfloor, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Rb" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 9 + }, +/obj/structure/marker_beacon, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Rd" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Rg" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Rh" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ri" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 0; + pixel_x = 7 + }, +/obj/item/pen{ + pixel_x = 7; + pixel_y = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/rockplanet/mining_base/office) +"Rk" = ( +/obj/structure/toilet{ + pixel_y = 16 + }, +/obj/structure/curtain/bounty, +/obj/machinery/light/small/directional/west, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/crew) +"Rm" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Rn" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Rs" = ( +/obj/structure/closet/crate/trashcart/laundry, +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"Ru" = ( +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ry" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/sign/nanotrasen/ns{ + pixel_x = 28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Rz" = ( +/obj/machinery/door/airlock/security{ + req_access_txt = "1"; + name = "Equipment Storage" + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/warning, +/obj/effect/turf_decal/trimline/opaque/vired/filled/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"RD" = ( +/obj/effect/spawner/bunk_bed{ + dir = 1 + }, +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_y = 30 + }, +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"RE" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"RF" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"RG" = ( +/obj/machinery/autolathe, +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/mining_base/engineering) +"RI" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"RQ" = ( +/obj/structure/flora/rock/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"RR" = ( +/obj/item/broken_bottle, +/obj/effect/decal/cleanable/glass, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"RW" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 10 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"RX" = ( +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"RZ" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Sd" = ( +/obj/effect/turf_decal/nanotrasen/ns/center, +/mob/living/simple_animal/hostile/human/syndicate/melee/sword/space/stormtrooper, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Se" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Si" = ( +/obj/effect/turf_decal/borderfloor/corner, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Sj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/outline/blue, +/turf/open/floor/engine/air, +/area/ruin/rockplanet/mining_base/engineering) +"Sl" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/sign/poster/official/obey{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"Sm" = ( +/obj/effect/turf_decal/borderfloor/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"So" = ( +/obj/structure/flora/rock/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/overmap_encounter/planetoid/cave/explored) +"Sq" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Sr" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Ss" = ( +/obj/machinery/power/rtg, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/concrete/slab_1, +/area/ruin/rockplanet/mining_base/engineering) +"St" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Sv" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Sw" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"Sx" = ( +/obj/structure/platform{ + dir = 9 + }, +/obj/structure/barricade/sandbags{ + layer = 3.1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"SA" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 4 + }, +/obj/structure/marker_beacon, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"SE" = ( +/obj/effect/spawner/bunk_bed{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"SF" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"SH" = ( +/obj/effect/turf_decal/rechargefloor, +/obj/structure/platform, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/rockplanet/mining_base/refinery) +"SM" = ( +/obj/structure/closet/secure_closet/engineering_personal{ + populate = 0 + }, +/obj/effect/turf_decal/borderfloor, +/obj/item/storage/backpack/duffelbag/engineering, +/obj/item/clothing/under/rank/engineering/engineer/nt, +/obj/item/storage/backpack/industrial, +/obj/item/flashlight, +/obj/item/clothing/mask/gas, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/mining_base/engineering) +"SN" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"SS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/office) +"ST" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"SV" = ( +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"SX" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/mob/living/simple_animal/hostile/human/syndicate/melee/space, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ta" = ( +/obj/item/pushbroom{ + pixel_x = 3; + pixel_y = -5 + }, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Tb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"Tc" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Tf" = ( +/obj/effect/turf_decal/industrial/radiation{ + dir = 5 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"Ti" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"Tk" = ( +/obj/structure/table, +/obj/machinery/firealarm/directional/west, +/obj/item/storage/firstaid/brute{ + pixel_y = 7; + pixel_x = 2 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"Tn" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"Tp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"Tt" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Tu" = ( +/obj/effect/turf_decal/siding/wideplating/dark/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"Tv" = ( +/obj/effect/turf_decal/borderfloor/corner, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Tw" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/ash, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Tx" = ( +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/weather/rock{ + dir = 4 + }, +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"TF" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/weather/rock{ + dir = 9 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"TI" = ( +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"TJ" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"TN" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"TO" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_ccw{ + dir = 4 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"TR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"TU" = ( +/obj/effect/turf_decal/nanotrasen/ns/center_right, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"TV" = ( +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/weather/rock{ + dir = 5 + }, +/obj/structure/closet/crate/engineering, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"TW" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"Ub" = ( +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"Uc" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/flashlight, +/obj/item/flashlight{ + pixel_y = 9 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Ug" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Uh" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Uj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"Uk" = ( +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"Ul" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/traffic, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Un" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Uv" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ux" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"UA" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloor/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"UJ" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood, +/obj/effect/decal/cleanable/blood/innards, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"UM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"UV" = ( +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"UW" = ( +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"UX" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"UZ" = ( +/obj/structure/sign/nanotrasen/ns{ + pixel_x = 28 + }, +/obj/structure/platform{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Vb" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/military{ + dir = 4 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Vd" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor5-old" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Vh" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/firealarm/directional/west{ + pixel_y = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = -11; + pixel_x = -22; + name = "blast door controls"; + id = "nsmine_two" + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = -2; + pixel_x = -20; + id = "mining_base_two" + }, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Vi" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/platform/corner{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Vl" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sign/poster/official/miners{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"Vm" = ( +/obj/effect/turf_decal/weather/rock, +/obj/structure/marker_beacon, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Vp" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Vq" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/item/ammo_casing/c57x39mm{ + projectile_type = null; + icon_state = "rifle-steel-empty"; + pixel_x = -9; + pixel_y = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Vr" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Vs" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"Vw" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"Vx" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3 + }, +/obj/item/pen{ + pixel_y = -4; + pixel_x = -4 + }, +/obj/effect/turf_decal/corner/opaque/nsorange/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 4 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"VC" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 6 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"VE" = ( +/obj/machinery/conveyor{ + dir = 2; + id = "rock_mine"; + pixel_y = -1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"VG" = ( +/obj/effect/turf_decal/nanotrasen/ns/top_left, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"VJ" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"VK" = ( +/obj/machinery/conveyor/inverted{ + dir = 10; + id = "rock_mine_int" + }, +/obj/structure/platform/corner{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"VM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"VT" = ( +/obj/machinery/conveyor{ + dir = 2; + id = "rock_mine"; + pixel_y = -1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"VV" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"VW" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Wf" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/table, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"Wj" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wl" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wn" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/porta_turret/ship/nt/light/mining_base{ + dir = 4; + id = "m2" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Wp" = ( +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"Wq" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/barricade/sandbags{ + layer = 3.1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wr" = ( +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ws" = ( +/obj/structure/chair/sofa/brown/directional/north, +/obj/machinery/light/directional/south, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"Wt" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/screwdriver{ + pixel_x = -7; + pixel_y = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wv" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ww" = ( +/obj/structure/platform, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wx" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/item/reagent_containers/condiment/hotsauce{ + pixel_y = 12; + pixel_x = 6 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"Wy" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"WA" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"WG" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"WK" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"WL" = ( +/obj/structure/platform, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"WO" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/transparent/vired{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/armory) +"WW" = ( +/obj/structure/table, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_x = 6; + pixel_y = -2 + }, +/obj/item/folder/red{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"WX" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/platform, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Xa" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1, +/obj/machinery/door/airlock/external/glass{ + name = "Refinery Complex" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"Xg" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/rack, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Xi" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/light/directional/west, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"Xk" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + id = "nsmine2" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "mining_base" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"Xq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xr" = ( +/obj/effect/turf_decal/nanotrasen/ns/bottom, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xt" = ( +/obj/structure/rack, +/obj/item/tank/internals/oxygen{ + pixel_x = 2; + pixel_y = -4 + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half, +/obj/effect/turf_decal/box, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 5; + pixel_x = -4 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Xu" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_y = 6; + pixel_x = -4 + }, +/obj/item/pen/fountain{ + pixel_y = 7; + pixel_x = -4 + }, +/obj/item/pen{ + pixel_x = 9; + pixel_y = 10 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"Xv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/weather/rock, +/obj/machinery/atmospherics/components/unary/passive_vent, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xx" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"XA" = ( +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"XE" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine_int" + }, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"XG" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"XI" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 10 + }, +/obj/structure/marker_beacon, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"XK" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor2-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"XM" = ( +/obj/effect/turf_decal/weather/rock/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 1 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"XT" = ( +/obj/machinery/jukebox{ + pixel_y = 24; + density = 0 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/item/shard, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"XV" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/redbeet, +/obj/item/reagent_containers/food/snacks/grown/rice, +/obj/item/reagent_containers/food/snacks/grown/rice, +/obj/item/reagent_containers/food/snacks/grown/rice, +/obj/item/reagent_containers/food/snacks/grown/rice, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"XZ" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Yc" = ( +/obj/structure/sign/nanotrasen/ns{ + pixel_y = -28 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"Yd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs/old{ + dir = 4 + }, +/area/ruin/rockplanet/mining_base/refinery) +"Ye" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"Yg" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"Yh" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Yj" = ( +/obj/effect/turf_decal/industrial/radiation{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/industrial/radiation{ + dir = 1 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"Yk" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Yl" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Yv" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space/stormtrooper, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Yx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/coldtemp{ + pixel_x = 29 + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Yz" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"YA" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"YG" = ( +/obj/effect/turf_decal/industrial/warning/corner, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/structure/filingcabinet/double/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"YH" = ( +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/barricade/sandbags{ + layer = 3.1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"YO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + dir = 4; + name = "Office Dome" + }, +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/office) +"YR" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-10" + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"YU" = ( +/obj/machinery/door/window{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"YV" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"YW" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/obj/item/kirbyplants{ + pixel_x = 2 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"YY" = ( +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 8 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"YZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/railing, +/obj/structure/sign/nanotrasen/ns{ + pixel_x = -28 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"Za" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/sign/warning/coldtemp{ + pixel_y = -29 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/item/clothing/suit/hooded/explorer, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/mask/gas, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"Zb" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"Zf" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Zh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 8 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Zj" = ( +/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/outline/red, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"Zk" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"Zm" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"Zp" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/nanotrasen/ns/bottom_left, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/effect/decal/cleanable/ash, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Zr" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Zs" = ( +/obj/item/emptysandbag, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Zt" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Zv" = ( +/obj/structure/flora/ash/cacti, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ZB" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ZD" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ZE" = ( +/obj/structure/vein/classthree{ + mining_charges = 80; + max_mobs = 18; + spawn_distance_max = 7 + }, +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_one) +"ZI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 1 + }, +/obj/machinery/door/airlock/external{ + name = "Refinery Complex" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"ZJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ZK" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"ZL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 5 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"ZN" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"ZO" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/sink/kitchen{ + pixel_y = 7; + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"ZT" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ZU" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"ZV" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ZX" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"ZY" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 8 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) + +(1,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(2,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +UV +UV +jq +mH +rm +Ce +Ce +Ce +Ce +Ce +Ce +UV +UV +UV +UV +fW +fW +fW +fW +fW +fW +fW +fW +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(3,1,1) = {" +Ce +Ce +Ce +UV +UV +UV +sK +Qd +Qd +Ww +ZY +di +Hp +tR +fM +Ce +Dh +UV +UV +UV +LQ +Qd +GA +fW +fW +FD +Xi +KY +Xi +Be +RG +fW +fW +fW +fW +fW +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(4,1,1) = {" +Ce +Ce +UV +tL +ub +ub +xL +xL +xL +yi +FP +wV +cJ +OG +UV +UV +RQ +UV +fW +fW +fW +fW +HZ +HZ +dK +nM +jZ +WG +wO +iB +jF +fW +Sj +CF +xv +fW +Jj +Jj +Jj +Jj +Ce +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(5,1,1) = {" +Ce +Ce +UV +Ww +df +MU +Gf +up +CO +CO +iZ +PT +iP +xL +xL +ub +Fn +fW +fW +nQ +Ss +hf +HZ +HZ +gc +pY +nW +ee +vB +nC +SM +fW +lf +cF +vr +fW +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(6,1,1) = {" +Ce +Ce +UV +Ww +cm +Kj +UA +TJ +TJ +TJ +EP +qe +vA +vA +CO +XZ +Hp +fW +pc +nA +tr +we +qH +fW +lZ +Zb +jZ +WG +ZX +Oo +fW +fW +Ao +cf +kf +fW +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(7,1,1) = {" +Ce +Ce +RQ +En +co +UZ +Zh +EC +co +Mk +de +pT +TJ +Yk +lj +QR +Hp +fW +nQ +oG +iJ +Pi +Yj +Ci +dL +im +RF +RF +JZ +vK +xW +ZL +CT +HU +vs +fW +Jj +xj +xj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(8,1,1) = {" +Ce +UV +UV +UV +Gl +Gl +YO +Gl +Gl +En +co +co +co +Mk +Jq +iN +Hp +fW +pc +MA +YR +FK +Tf +fW +fW +fW +fW +vl +sN +fW +fW +QC +Zj +sp +mc +fW +xj +xj +xj +xj +xj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(9,1,1) = {" +UV +UV +Qd +Qd +Gl +SS +qP +na +Gl +Gl +Gl +Gl +Gl +Ww +eV +Rh +Hp +fW +fW +Qq +BE +nQ +fW +fW +Qd +fW +Ey +De +AP +YZ +fW +kB +IU +yK +dY +fW +UV +HK +HK +xj +xj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(10,1,1) = {" +fM +Qd +Qd +Gl +Gl +Gl +bG +Gl +Gl +Hf +xl +Xu +Gl +Ww +KN +yB +Hp +UV +fW +fW +fW +fW +fW +GA +Qd +fW +tK +rE +Ac +ef +fW +fW +fW +fW +fW +fW +UV +RQ +UV +pd +pd +pd +pd +pd +Jj +Jj +Jj +Ce +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(11,1,1) = {" +fM +Qd +Gl +Gl +Qi +rc +ku +SV +tD +LR +HD +yo +Gl +Ww +yT +fE +Et +ub +ub +ub +ub +Fn +GA +CK +UV +HZ +fW +CZ +NE +fW +HZ +tL +ub +ub +ub +ub +ub +ub +Fn +pd +pu +ir +Mt +pd +Jj +Jj +Jj +Jj +Jj +Jj +Jj +GH +GH +Jj +Jj +GH +hB +hB +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(12,1,1) = {" +fM +UV +Gl +lt +id +zj +KP +YW +Gl +uQ +NP +Mo +Gl +Ww +eV +gZ +ps +ps +mC +xA +ea +Et +ub +ub +ub +ub +AY +bK +Vr +Et +ub +AY +cU +Jk +bR +Jk +Vq +dP +Hp +pd +nB +Dn +BT +pd +pd +pd +pd +Jj +Jj +Jj +Jj +GH +GH +GH +GH +gz +GH +hB +hB +hB +hB +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +"} +(13,1,1) = {" +UV +UV +Gl +uu +Tu +Ri +An +aJ +Gl +Ji +tg +lP +Gl +Ww +wC +HR +HR +Ew +Sq +UJ +fV +TN +CI +CI +CI +CI +CI +Wl +dU +TN +TN +TN +Ld +Sm +gL +Yv +yF +tp +Hp +pd +gm +LW +Ph +Rz +SF +bL +pd +Jj +Jj +Jj +Jj +GH +Kt +GH +TI +TI +GH +zT +GH +hB +hB +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +"} +(14,1,1) = {" +UV +UV +Gl +Gl +Cp +Cp +Cp +Cp +Gl +Gl +Gl +Gl +Gl +En +co +co +ZD +ZD +Fx +eV +gJ +wf +vi +vi +SX +vi +dh +js +Si +vi +vi +vi +vi +qp +Wy +Mk +Mg +Kh +Hp +pd +pd +pd +pd +pd +bJ +bl +pd +Jj +Jj +GH +Zv +GH +zT +GH +TI +Kt +GH +TI +sc +TI +hB +hB +hB +Jj +Jj +Jj +Ce +Ce +Ce +Ce +"} +(15,1,1) = {" +UV +UV +Qd +Qd +UV +UV +fM +fM +fM +fM +UV +UV +UV +UV +HK +HK +HK +HK +WL +Yl +PA +Sx +YH +co +co +co +Mk +bK +St +Wy +co +co +Ta +co +tB +Ww +Wt +Ra +Et +pd +AF +yD +pd +Dq +ON +Md +pd +Jj +Jj +GH +GH +GH +GH +gz +Zs +TI +TI +TI +GH +GH +GH +hB +hB +Jj +Jj +Jj +Jj +Ce +Ce +Ce +"} +(16,1,1) = {" +Ce +Qd +NC +UV +fg +Ru +Ru +Ru +fM +UV +UV +RQ +UV +lw +lw +lw +lw +lw +WL +Jq +IK +Wq +th +Bu +KI +UV +UV +UV +Bp +UV +UV +TF +mp +Qo +Qd +Ww +Aa +Lp +cr +aV +WO +dO +Dd +OI +xR +YU +pd +Jj +Jj +GH +GH +GH +it +GH +GH +GH +GH +GH +GH +GH +GH +AD +GH +Jj +Jj +Jj +Jj +Ce +Ce +Ce +"} +(17,1,1) = {" +UV +UV +UV +UV +xV +Qd +Ru +Qd +xV +UV +UV +UV +UV +lw +uv +Wp +bX +lw +WL +wt +QR +Wq +zC +Zr +Xv +Xq +fo +fo +ec +fo +fo +VM +pX +sw +Qd +Ww +Ba +Kh +Wy +pd +AK +Dt +pd +Gj +WW +xn +pd +Jj +Jj +GH +GH +EL +qW +qW +Vb +rQ +rQ +rQ +rQ +uj +GH +GH +Zv +GH +Jj +Jj +Jj +Jj +Ce +Ce +"} +(18,1,1) = {" +UV +Rb +RW +UV +ap +Qd +Qd +UV +IW +UV +oN +XI +UV +lw +BW +cw +bX +lw +WL +eV +Rh +Wq +oi +ex +VC +Qd +Qd +UV +UV +Qd +Qd +TV +Tx +qs +Qd +mX +Ba +Kh +Hp +pd +pd +pd +pd +NS +wS +pd +pd +Jj +Jj +GH +GH +bP +gn +nd +nd +Bl +ez +ez +gg +sf +GH +GH +GH +Bb +GH +Jj +Jj +Jj +Ce +Ce +"} +(19,1,1) = {" +UV +oi +Hg +Rd +kn +Rd +EZ +Ob +in +Rd +aM +VC +UV +lw +Nc +CS +Yc +lw +WL +eV +Rh +Wq +Wv +DD +DD +Qd +Qd +Qd +UV +UV +Qd +Qd +Qd +UV +UV +mX +Na +tp +Hp +pd +hO +re +pd +wD +pd +pd +Jj +Jj +GH +TI +GH +jy +nd +OZ +TR +sR +Uj +oH +ez +QT +GH +GH +GH +TI +GH +Jj +Jj +Jj +Jj +Ce +"} +(20,1,1) = {" +UV +UV +du +Fo +bY +bY +bo +bo +bo +IV +KM +UV +UV +UV +mm +mm +mm +HK +WL +eV +Rh +Hp +UV +DD +DD +ew +ew +ew +ew +ew +ew +ew +ew +ew +UV +Ww +Ba +tp +Hp +pd +Zm +Zm +ok +aD +pd +Jj +Jj +UW +gz +TI +GH +jy +nd +Kd +vC +gW +Hb +Gz +nd +QT +GH +GH +TI +UW +Jj +Jj +Jj +Jj +Jj +Ce +"} +(21,1,1) = {" +Ce +UV +aL +oz +DE +Ln +DE +Ln +Ln +gi +Qa +so +LY +LY +LY +LY +XV +xF +ho +eV +Rh +so +LY +bj +jY +kQ +Ti +hA +Ea +pN +ew +tw +oI +ew +xL +AY +rP +pI +Hp +pd +NX +qC +qC +mw +pd +Jj +Jj +UW +TI +GH +AD +lc +Zk +gU +vC +ZE +Hb +ll +ob +sf +GH +TI +TI +hB +Jj +Jj +Jj +Jj +Ce +Ce +"} +(22,1,1) = {" +Ce +UV +mP +oz +DE +DE +DE +DE +DE +gi +xC +GL +iv +pi +Lw +ZJ +dx +TO +dM +BI +Rh +Ny +fF +bD +IZ +Dx +Rn +om +Nd +ww +ZI +BQ +Yh +Xa +if +if +Di +pI +Hp +pd +re +BG +nR +pd +pd +Jj +hB +UW +GH +GH +GH +NL +ez +OF +Hb +ot +gW +Gz +nd +sf +GH +AD +it +hB +Jj +Jj +Jj +Jj +Ce +Ce +"} +(23,1,1) = {" +Ce +UV +nK +oX +Ln +DE +DE +DE +DE +gi +DJ +ct +rk +dg +tl +tl +tl +kj +bi +Ov +Vd +jS +CB +Ex +yg +eY +KQ +YA +GU +DG +wK +YV +QU +zx +Kj +Kj +vS +pI +Hp +pd +pd +pd +pd +pd +Jj +Jj +hB +hB +it +GH +GH +NL +nd +hG +Ge +xP +Tp +xK +ez +QT +GH +GH +hB +hB +Jj +Jj +Jj +Jj +Ce +Ce +"} +(24,1,1) = {" +Ce +UV +aL +oX +Ln +FB +sI +ia +DE +gi +Jz +Wj +lz +lz +lz +lz +lz +zZ +Ul +eV +Rh +Wj +lz +Xk +eB +vH +da +WX +Yd +gB +ew +bN +Za +ew +co +Mk +eV +pI +Hp +Qd +Qd +Qd +fg +Qd +Jj +Jj +hB +GH +GH +GH +GH +jy +qf +gj +wX +JV +ez +ez +gg +QT +GH +GH +hB +nn +Jj +Jj +Jj +Jj +Ce +Ce +"} +(25,1,1) = {" +Ce +UV +aL +oX +Ln +hT +xf +Xr +DE +jl +KM +UV +fM +fM +fM +UV +UV +UV +Ww +Jq +ey +XZ +Eq +DD +DD +Xg +OB +fe +RZ +wH +ew +ew +ew +ew +fg +mX +eV +pI +Hp +sK +UV +Qd +Qd +Qd +Jj +Jj +Jj +GH +zT +GH +GH +ox +ox +ox +jj +JV +pE +lE +lE +Cr +GH +GH +hB +hB +Jj +Jj +Jj +Jj +Ce +Ce +"} +(26,1,1) = {" +Ce +UV +aL +oX +Ln +cn +Nz +su +Ln +jl +KM +UV +fM +cA +cA +cA +cA +cA +Ww +de +lj +LX +Eq +DD +DD +aS +Ke +IE +AE +UM +FG +QD +Cx +DD +DD +Ww +Yl +tp +Hp +UV +tz +Qd +Qd +Qd +Jj +Jj +Jj +Jj +GH +GH +GH +ox +pa +KE +jj +uD +QT +GH +it +Zv +GH +hB +hB +Jj +Jj +Jj +Jj +Jj +Ce +Ce +"} +(27,1,1) = {" +Ce +UV +gt +oX +DE +DE +DE +Ln +DE +Ay +Vm +UV +fM +cA +lM +zK +Tk +cA +En +Mk +Jq +at +Eq +HK +ew +Uc +OB +SH +xd +VG +vI +Zp +YG +DD +DD +ew +zb +ly +Et +ub +ub +Fn +Qd +Jj +Jj +Jj +Jj +Jj +Jj +GH +GH +ox +kX +qN +mz +uD +QT +GH +GH +GH +GH +GH +hB +Jj +Jj +Jj +Jj +Jj +Ce +Ce +"} +(28,1,1) = {" +Ce +UV +aL +oz +Ln +DE +DE +DE +DE +Ay +sb +UV +Qd +gF +Bv +eJ +KJ +cA +cA +Ww +Jq +at +Eq +HK +ew +Km +Ng +xs +qR +ta +Sd +Fm +dt +Vh +kZ +aK +yv +Fj +ra +ra +ra +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +GH +ox +go +oD +DI +JV +QT +GH +GH +GH +GH +GH +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +"} +(29,1,1) = {" +UV +UV +aL +oz +Ln +Ln +DE +DE +DE +Ay +sb +UV +Qd +gF +PZ +mq +LZ +rj +cA +Ww +Jq +at +Eq +QF +ew +tq +Tw +FZ +kD +LV +TU +kp +qX +bg +BO +Cy +ff +tQ +Yz +jb +ra +Jj +Jj +TI +TI +dk +TI +Jj +Jj +Jj +Jj +ox +ox +ox +DI +uD +QT +GH +Jj +GH +GH +GH +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +"} +(30,1,1) = {" +Ce +UV +aL +lU +iO +iO +iO +iO +iO +ys +KM +UV +Qd +cA +qy +Fc +al +Sw +cA +Ww +Do +at +Eq +QF +ew +uB +ja +lR +dR +aw +uk +ak +Vp +qE +ew +DD +ru +fr +ru +bd +vV +vV +cG +zL +BN +ZB +Sv +zL +Jj +Jj +Jj +Jj +Jj +Jj +og +uD +Jj +Jj +Jj +zT +GH +GH +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +"} +(31,1,1) = {" +UV +oN +hp +Tc +SA +Tc +Tc +Tc +SA +Tc +Nk +RW +UV +cA +NT +qT +zr +EY +cA +Ww +Jq +at +Eq +yI +ew +MM +OB +CU +XE +MQ +XE +sr +He +qE +ew +zm +GE +tY +dZ +il +dp +Zf +Uh +Zf +Zf +Uh +pr +bH +Uh +Uh +Uh +Zf +Zf +Zf +Wr +uD +Jj +Jj +GH +GH +GH +it +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +"} +(32,1,1) = {" +Qd +JS +VC +UV +IW +fM +fM +fM +ap +UV +oi +gs +UV +cA +cA +cA +BB +cA +cA +Ww +Jq +at +Eq +yI +ew +TW +VJ +OA +nS +nS +Ht +qr +eb +VK +ew +zm +Qk +WA +oO +WK +Mj +lB +tQ +tQ +tQ +lB +uh +tQ +tQ +tQ +Vs +lB +lB +lB +tQ +Ks +Jj +Jj +IG +Jj +GH +GH +GH +Jj +Jj +Jj +Ce +Ce +Ce +Ce +"} +(33,1,1) = {" +Ce +Qd +UV +UV +OG +Ru +fM +fM +jN +UV +UV +Qd +UV +UV +cA +kC +Cd +lg +cA +Ww +Jq +at +Eq +xj +ew +MM +wI +wz +xc +tP +xc +xc +hu +ew +ew +zm +Vx +Bq +hi +ZV +Jj +Jj +Jj +xZ +xZ +xZ +cu +Bj +xZ +XA +Yg +GH +GH +Jj +Jj +Jj +Jj +Jj +Jj +Kt +GH +GH +zT +Jj +Jj +Jj +Ce +Ce +Ce +Ce +"} +(34,1,1) = {" +Ce +UV +Qd +fM +fM +Ru +UV +UV +UV +Qd +Qd +fg +RQ +UV +cA +AC +nh +JC +cA +Ww +Jq +at +Eq +xj +ew +lp +FC +It +jx +qo +It +FC +uX +ew +Jj +TI +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +NA +NA +vp +ZT +rY +og +Yg +Jj +Jj +Jj +Jj +Jj +Jj +Jj +GH +GH +TI +Zv +GH +Jj +Jj +Jj +Ce +Ce +Ce +Ce +"} +(35,1,1) = {" +UV +UV +UV +tL +ub +ub +ub +ub +ub +xL +xL +ub +ub +Fn +cA +cA +FT +cA +cA +Ww +Jq +at +Eq +HK +ew +ew +ew +ew +ew +ew +ew +ew +ew +ew +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +TI +oo +TI +GD +og +qV +Jj +Jj +Jj +Jj +Jj +Jj +GH +sv +Rm +bt +GH +GH +Jj +Jj +Jj +Ce +Ce +Ce +Ce +"} +(36,1,1) = {" +UV +ub +ub +UV +pQ +uS +uS +uS +uS +uS +MU +MU +dP +Et +ub +AY +IC +Et +ub +AY +Jq +at +FH +Uv +Uv +RE +QF +ix +HK +yI +yI +UV +UV +Hl +Jj +Jj +Jj +Jj +Jj +GH +GH +GH +Jj +Jj +Jj +Jj +QE +TI +GD +og +Yg +Jj +Jj +Jj +Jj +Jj +Jj +GH +JO +Rg +Ll +GH +GH +Jj +Jj +Ce +Ce +Ce +Ce +Ce +"} +(37,1,1) = {" +ga +XM +eH +MU +Mi +Fd +Kj +Kj +Kj +nJ +nJ +OJ +Iw +MU +oy +lX +ay +ai +ai +SN +bF +uR +ai +ai +ai +sC +mZ +nE +HK +xj +HK +Hl +UV +UV +Jj +Jj +Jj +GH +GH +zT +TI +GH +Jj +Jj +Jj +Jj +Jj +GH +GD +og +qV +Jj +Jj +Jj +Jj +Jj +Jj +zT +Pu +Fq +rq +GH +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +"} +(38,1,1) = {" +eD +nt +RX +Fd +Kj +NU +Wy +co +co +co +Mk +cm +nJ +mB +wy +Ot +Hr +Gr +nD +XK +Tv +gX +nJ +wc +Kj +Ql +HK +Zt +xj +xj +UV +UV +Hl +GH +GH +Jj +GH +GH +GH +Zs +GH +sc +GH +rn +rn +Jj +Jj +Jj +Jj +og +Yg +yG +GH +GH +Jj +nc +Ak +Ak +Ak +ao +it +GH +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +"} +(39,1,1) = {" +UV +Mk +py +lF +Wy +co +tB +UV +UV +UV +En +co +Mk +YY +gH +Du +ZD +ZD +Fx +Jq +QR +Du +ZD +ZD +ZD +ZD +QF +tu +xj +HK +Hl +UV +GH +GH +GH +GH +AD +GH +TI +Oh +TI +GH +rn +ag +Ju +Jj +Jj +Jj +Jj +og +Yg +DA +GH +TI +nc +ao +Jj +nn +GH +GH +GH +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +"} +(40,1,1) = {" +UV +UV +eD +Xx +UV +UV +UV +Pj +Pj +Pj +Pj +Pj +Pj +DF +sh +Pj +Pj +Pj +Iu +Jq +QR +Eq +Qb +Qb +Qb +Qb +Qb +Qb +Qb +UV +UV +Hl +Jj +GH +GH +GH +it +GH +AD +GH +GH +rn +rn +Ju +Ju +Ju +nr +ss +Jr +xO +RI +Un +tV +Sr +ao +Jj +Jj +hB +hB +hB +hB +GH +Jj +GH +Jj +Jj +Ce +Ce +GH +GH +"} +(41,1,1) = {" +Ce +UV +tz +UV +Qd +fg +UV +Pj +MP +Tn +Es +Pj +yl +rx +Cf +tF +Pj +Mc +MU +Oq +QR +Et +Qb +dq +OL +Qb +Vl +uW +Qb +UV +UV +Jj +Jj +Jj +GH +AD +GH +GH +GH +GH +AD +rn +hZ +nr +Ju +Ju +hZ +ss +Jr +xO +qV +HC +Ka +iM +GH +Jj +Jj +Jj +Jj +hB +GH +GH +GH +Jj +Jj +Jj +Jj +GH +GH +GH +"} +(42,1,1) = {" +Ce +UV +UV +Qd +Qd +Qd +UV +Pj +lo +dS +cW +Pj +Ry +BK +CJ +Ma +Pj +gD +Kj +lm +mN +AN +cD +VV +Ah +Ky +Tb +pP +Qb +Qb +Jj +Jj +Jj +Jj +hB +GH +Ep +OX +rQ +rQ +OX +OX +rQ +OX +PD +PD +PD +PD +PD +og +qV +Vi +GH +GH +Jj +Jj +Jj +Jj +Jj +Jj +GH +Jj +Jj +Jj +GH +Jj +GH +GH +GH +Ce +"} +(43,1,1) = {" +Ce +Ce +UV +Qd +NC +UV +Pj +Pj +Qx +LA +ts +Pj +Pj +Pc +No +Pj +Pj +Pj +Fx +Jq +cI +Du +Qb +wW +Sl +Qb +lI +sT +IT +Qb +Jj +Jj +hB +hB +hB +GH +jy +BY +EE +EE +zH +xr +xr +BY +PD +oQ +GW +Qg +PD +og +qV +ZV +zT +Jj +Jj +Kt +GH +Jj +Jj +GH +GH +GH +TI +GH +GH +GH +GH +GH +GH +Ce +"} +(44,1,1) = {" +Ce +Ce +UV +Qd +Qd +UV +Pj +Pj +Pj +fP +Pj +Pj +XT +fT +Al +yQ +Pj +HK +WL +Yl +cI +Eq +Qb +Qb +Qb +Qb +ow +Qz +Bi +Qb +Jj +Jj +QK +UW +GH +GH +jy +EE +XG +VW +se +VW +xH +EE +PD +Xt +fA +Jd +PD +og +Yg +ZV +Jj +Jj +Jj +GH +GH +GH +GH +TI +TI +TI +zT +GH +GH +GH +GH +GH +Jj +Ce +"} +(45,1,1) = {" +Ce +Ce +Ce +UV +lY +UV +pB +tH +ZO +rV +DQ +zf +Av +AL +Pm +hk +Pj +Pj +WL +Jq +cI +Eq +Qb +Rk +Oz +Qb +SE +Qz +rs +Qb +Jj +Jj +hB +sc +TI +GH +lc +EE +dJ +HQ +FY +kt +BL +ST +Se +Se +ED +UX +UX +Wr +Yg +Jj +Jj +Jj +Jj +GH +GH +Jj +GH +GH +Kt +GH +GH +GH +GH +Jj +GH +Jj +Jj +Ce +"} +(46,1,1) = {" +Ce +Ce +Ce +UV +UV +UV +pB +cv +pS +ZN +jw +BP +iu +pO +Pv +JT +bC +Pj +WL +Yl +uA +Eq +Qb +BV +hX +mT +AX +uJ +Bi +Qb +Jj +Jj +hB +GH +nr +GH +jy +IY +IP +sy +bx +JH +tA +kO +VT +VT +VE +VE +VE +VT +Ga +Jj +Jj +Jj +Jj +Jj +Jj +Jj +zT +GH +GH +GH +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +"} +(47,1,1) = {" +Ce +Ce +Ce +UV +RQ +UV +pB +kK +ac +pq +jg +kF +ma +Vw +BH +po +Aw +pB +WL +Yl +uA +Hp +Qb +Qb +EA +Qb +RD +kH +Rs +Qb +Jj +Jj +Jj +zT +Cm +hZ +jy +xr +Ug +sy +HQ +HQ +DS +xr +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Zv +GH +GH +Jj +Jj +GH +Jj +Jj +Ce +Ce +Ce +"} +(48,1,1) = {" +Ce +Ce +Ce +tz +Qd +UV +Pj +KH +ZK +GS +kv +sV +MT +PM +zY +Lx +Tt +pB +Ww +Yl +uA +Hp +Qb +vf +dV +Qb +Fr +Uk +Bi +Qb +Jj +Jj +Jj +rn +hZ +hZ +jy +EE +HN +KL +jv +pn +ht +xr +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Jj +Jj +Jj +Jj +GH +Jj +Jj +GH +Jj +Jj +Ce +Ce +Ce +Ce +"} +(49,1,1) = {" +Ce +Ce +Ce +UV +Qd +sK +Pj +cg +ZK +fQ +Ec +sV +MT +aE +zo +jc +Ku +pB +Ww +Yl +uA +Hp +Qb +PH +Lh +Qb +bT +Gx +yN +Qb +Jj +Jj +Jj +rn +rn +hZ +lc +Wn +EE +EE +ZU +xr +xr +OR +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Jj +Jj +Jj +Jj +Jj +Jj +GH +Jj +Jj +Ce +Ce +Ce +Ce +Ce +"} +(50,1,1) = {" +Ce +Ce +Ce +UV +UV +UV +Pj +Pj +Wx +Wf +mx +sV +ca +gy +kE +gx +gG +Pj +Ww +Yl +uA +Hp +Qb +Qb +Qb +CE +Ns +Qb +Qb +Qb +Jj +Jj +Jj +rn +rn +hZ +LO +lE +lE +lK +lE +lE +lE +lE +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +"} +(51,1,1) = {" +Ce +Ce +Ce +Ce +UV +UV +UV +Pj +Pj +Pj +pB +GO +eg +FM +ng +RR +qU +Pj +Ww +Yl +uA +Hp +Qb +PG +Pg +CE +Ux +wT +dG +Qb +Qb +Jj +Jj +rn +rn +hZ +hZ +hZ +hZ +hZ +hZ +rn +rn +rn +rn +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(52,1,1) = {" +Ce +Ce +Ce +Ce +UV +tz +UV +UV +UV +Qd +Qd +pB +GO +Pj +Pj +Dm +Pj +Pj +Ww +Yl +uA +Hp +Qb +oS +hV +ig +um +BZ +Ub +FO +Qb +Jj +Jj +Jj +rn +So +nr +nr +TI +TI +GH +hZ +rn +qK +rn +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(53,1,1) = {" +Ce +Ce +Ce +Ce +UV +UV +UV +UV +sK +Qd +Qd +Qd +UV +Pj +Yx +Ye +wm +Pj +Ww +Yl +uA +Hp +Qb +Qb +Qb +Qb +zG +Ub +Hd +Ws +Qb +Jj +Jj +Jj +Jj +GH +GH +zT +GH +sc +Zs +GH +Ju +rn +rn +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(54,1,1) = {" +Ce +Ce +Ce +Ce +Ce +UV +UV +GI +UV +UV +CK +Qd +UV +Pj +Pj +zl +Pj +Pj +Ww +Yl +cI +Hp +UV +Qb +Jj +Qb +Qb +zR +NR +DT +Qb +Jj +Jj +Jj +Jj +Jj +GH +GH +GH +TI +GH +GH +bc +rn +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(55,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +UV +ap +UV +ub +ub +ub +ub +ub +AY +nf +Et +ub +AY +Yl +cI +Hp +Jj +Jj +Jj +Jj +Qb +Qb +Qb +Qb +Qb +Jj +Jj +Jj +Jj +Jj +Jj +GH +TI +GH +GH +GH +GH +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(56,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +UV +KF +ch +aA +FI +sL +Jk +Jk +ai +zz +ai +ai +ai +DP +cI +Hp +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(57,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +UV +ck +If +mB +kx +Kj +nJ +nJ +es +Hc +Hc +Hc +Hc +Da +Hp +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(58,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +UV +UV +Mk +Db +Pb +Wy +co +co +Jj +Jj +Jj +co +co +co +tB +Jj +Jj +Jj +Ce +Ce +Ce +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(59,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +UV +UV +UV +ck +HE +xB +xm +UV +UV +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(60,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +UV +sK +UV +UV +UV +Qd +Qd +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(61,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +UV +UV +UV +Qd +Qd +Qd +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(62,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +UV +UV +Ce +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} diff --git a/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm b/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm deleted file mode 100644 index ff58248ffc4..00000000000 --- a/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm +++ /dev/null @@ -1,4749 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aw" = ( -/obj/structure/bonfire/prelit, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"aL" = ( -/obj/structure/door_assembly/door_assembly_centcom{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"aN" = ( -/obj/machinery/space_heater, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 10 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"aX" = ( -/obj/effect/turf_decal/weather/dirt, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"ba" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock{ - dir = 4; - name = "Crew Berth" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/rockplanet/nomad) -"bv" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/engine/hull/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"bS" = ( -/mob/living/simple_animal/hostile/asteroid/elite/broodmother_child/rockplanet, -/turf/open/floor/plating/dirt/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"cd" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "9-10" - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"cl" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/engine/hull/interior, -/area/ruin/rockplanet/nomad) -"cr" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"cO" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/turf/open/floor/engine/hull/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"cP" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/flora/rock{ - icon_state = "redrocks2" - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"cU" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/obj/structure/barricade/sandbags, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"df" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"dB" = ( -/turf/open/floor/plasteel/tech/grid, -/area/ruin/rockplanet/nomad) -"dJ" = ( -/obj/structure/flora/rock{ - icon_state = "redrock2" - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"dM" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/railing, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"ef" = ( -/obj/effect/turf_decal/weather/dirt, -/mob/living/simple_animal/hostile/netherworld, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"ei" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/door_assembly/door_assembly_hatch{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"eo" = ( -/turf/open/floor/plating/rockplanet, -/area/ruin/rockplanet/nomad) -"fc" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/frame/machine, -/turf/open/floor/plating{ - icon_state = "wet_cracked2" - }, -/area/ruin/rockplanet/nomad) -"fd" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/barricade/sandbags, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"fe" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/sink{ - pixel_y = 30 - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"fw" = ( -/obj/machinery/power/port_gen/pacman, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"fF" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Helm" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/rockplanet/nomad) -"fK" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"fM" = ( -/obj/machinery/door/airlock/external{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/rockplanet/nomad) -"ga" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/layer2{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"gn" = ( -/obj/structure/flora/rock/asteroid, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"gs" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plating/rockplanet, -/area/ruin/rockplanet/nomad) -"gO" = ( -/obj/structure/table/reinforced, -/obj/item/radio/intercom/wideband/table{ - dir = 4; - pixel_x = 3 - }, -/obj/effect/decal/cleanable/glass/plasma, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"gY" = ( -/turf/open/floor/plating/dirt/rockplanet, -/area/ruin/rockplanet/nomad) -"ha" = ( -/obj/structure/cable{ - icon_state = "2-5" - }, -/turf/open/floor/plating/rockplanet, -/area/ruin/rockplanet/nomad) -"hc" = ( -/obj/effect/decal/cleanable/blood/gibs, -/turf/open/floor/plasteel/tech, -/area/ruin/rockplanet/nomad) -"hm" = ( -/obj/structure/bed/pod, -/obj/effect/mob_spawn/human/corpse/damaged, -/obj/structure/curtain/cloth, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"hy" = ( -/obj/effect/turf_decal/spline/fancy/opaque/yellow{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/item/stack/sheet/metal/five, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"hV" = ( -/obj/structure/flora/rock{ - icon_state = "basalt" - }, -/turf/open/floor/plating/dirt/rockplanet, -/area/ruin/rockplanet/nomad) -"il" = ( -/obj/effect/turf_decal/spline/fancy/opaque/yellow{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"ip" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/airlock/public/glass{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/rockplanet/nomad) -"is" = ( -/obj/item/chair/greyscale, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"iN" = ( -/mob/living/simple_animal/hostile/netherworld, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"iZ" = ( -/obj/effect/turf_decal/spline/fancy/opaque/yellow{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ruin/rockplanet/nomad) -"jl" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/girder/displaced, -/obj/effect/decal/cleanable/glass/plasma, -/turf/open/floor/plasteel/tech, -/area/ruin/rockplanet/nomad) -"jm" = ( -/turf/closed/mineral/random/rockplanet, -/area/ruin/rockplanet/nomad) -"jw" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/obj/structure/barricade/sandbags, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"jC" = ( -/mob/living/simple_animal/hostile/asteroid/elite/broodmother_child/rockplanet, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"jD" = ( -/obj/effect/turf_decal/weather/dirt/corner, -/obj/structure/flora/rock{ - icon_state = "redrock2" - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"jI" = ( -/obj/structure/fence/door{ - dir = 4 - }, -/turf/open/floor/plating/rockplanet, -/area/ruin/rockplanet/nomad) -"kf" = ( -/obj/structure/table_frame, -/turf/open/floor/plating/ashplanet/rocky, -/area/ruin/rockplanet/nomad) -"kN" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"kS" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible/layer2{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "2-9" - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"kV" = ( -/obj/structure/flora/rock{ - icon_state = "redrocks2" - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"lg" = ( -/turf/closed/wall, -/area/ruin/rockplanet/nomad) -"lw" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"lz" = ( -/obj/machinery/power/smes/shuttle/precharged, -/turf/open/floor/plating/rockplanet, -/area/ruin/rockplanet/nomad) -"mu" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"mz" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plating/rockplanet, -/area/ruin/rockplanet/nomad) -"mW" = ( -/obj/structure/barricade/sandbags, -/turf/open/floor/plating/dirt/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"nf" = ( -/turf/open/floor/plasteel/rockplanet, -/area/ruin/rockplanet/nomad) -"nB" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"oq" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/rockplanet, -/area/ruin/rockplanet/nomad) -"or" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/frame/machine, -/obj/effect/spawner/lootdrop/salvage_matter_bin, -/turf/open/floor/plasteel/rockplanet, -/area/ruin/rockplanet/nomad) -"oz" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ruin/rockplanet/nomad) -"oI" = ( -/obj/effect/turf_decal/spline/fancy/opaque/yellow{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/arrowaxe_small/center{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ruin/rockplanet/nomad) -"oW" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"oZ" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/effect/turf_decal/weather/dirt, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"pb" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"po" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"pH" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"pJ" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"pV" = ( -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 8; - name = "Air to Distro" - }, -/turf/open/floor/plating/asteroid/rockplanet/wet, -/area/ruin/rockplanet/nomad) -"qp" = ( -/obj/effect/turf_decal/spline/fancy/opaque/yellow{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/tech/techmaint, -/area/ruin/rockplanet/nomad) -"qL" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"qM" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"qU" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/metal/ten, -/obj/item/stack/cable_coil/random/five, -/obj/item/stack/cable_coil/random/five, -/obj/structure/cable/yellow{ - icon_state = "4-5" - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"rc" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"rD" = ( -/obj/structure/frame/machine, -/turf/open/floor/plating/dirt/jungle/lit, -/area/ruin/rockplanet/nomad) -"rH" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 1 - }, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/obj/structure/flora/driftlog, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"rW" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"rY" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/frame/machine, -/obj/machinery/light/small/directional/north, -/obj/effect/spawner/lootdrop/salvage_matter_bin, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"sn" = ( -/obj/structure/frame/machine, -/obj/item/stock_parts/manipulator/femto, -/turf/open/floor/plasteel/rockplanet, -/area/ruin/rockplanet/nomad) -"sy" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 1 - }, -/obj/structure/railing, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"sK" = ( -/obj/effect/turf_decal/weather/dirt/corner, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 1 - }, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"sR" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/turf/closed/wall/mineral/sandstone, -/area/ruin/rockplanet/nomad) -"sX" = ( -/obj/structure/cable/yellow{ - icon_state = "5-8" - }, -/turf/open/floor/plating/asteroid/rockplanet/wet, -/area/ruin/rockplanet/nomad) -"tA" = ( -/obj/structure/flora/tree/dead/tall/grey, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"tI" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/obj/structure/flora/rock{ - icon_state = "redrocks1" - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"tX" = ( -/obj/machinery/holopad/emergency/command, -/obj/effect/decal/cleanable/blood/gibs/core, -/turf/open/floor/plasteel/tech, -/area/ruin/rockplanet/nomad) -"uh" = ( -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"uo" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/obj/item/stack/cable_coil/random/five, -/obj/item/wirecutters, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"uB" = ( -/obj/effect/decal/cleanable/blood/gibs/up, -/turf/open/floor/plasteel/tech, -/area/ruin/rockplanet/nomad) -"uD" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"uK" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ruin/rockplanet/nomad) -"uL" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 1 - }, -/obj/structure/barricade/sandbags, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"uN" = ( -/obj/structure/table, -/obj/item/crowbar/large, -/obj/item/clothing/mask/breath{ - pixel_x = 14; - pixel_y = 7 - }, -/obj/item/clothing/mask/breath{ - pixel_x = 14; - pixel_y = 4 - }, -/obj/item/clothing/mask/breath{ - pixel_x = 14; - pixel_y = 1 - }, -/obj/item/stock_parts/capacitor/adv{ - pixel_x = -5; - pixel_y = 11 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"uT" = ( -/obj/structure/flora/tree/cactus, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"vi" = ( -/obj/structure/flora/rock{ - icon_state = "redrocks3" - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"vl" = ( -/mob/living/simple_animal/hostile/asteroid/goliath/beast/rockplanet, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"vw" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-10" - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"vF" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"vL" = ( -/obj/structure/flora/rock{ - icon_state = "redrocks1" - }, -/turf/open/floor/plating/asteroid/rockplanet/wet, -/area/ruin/rockplanet/nomad) -"vM" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/turf/open/floor/plating/grass/rockplanet, -/area/ruin/rockplanet/nomad) -"vN" = ( -/obj/effect/turf_decal/spline/fancy/opaque/yellow{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"vS" = ( -/turf/open/floor/engine/hull/rockplanet, -/area/ruin/rockplanet/nomad) -"vW" = ( -/obj/effect/turf_decal/weather/dirt/corner, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"wf" = ( -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"wq" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/obj/structure/railing, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"wW" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"xk" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/cable{ - icon_state = "0-1" - }, -/obj/machinery/computer/monitor{ - dir = 1; - icon_state = "computer_broken" - }, -/obj/machinery/light/small/broken/directional/south, -/turf/open/floor/plasteel/tech, -/area/ruin/rockplanet/nomad) -"xG" = ( -/obj/structure/cable{ - icon_state = "0-1" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/rack, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"yb" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"yn" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/turf/open/floor/plating/grass/rockplanet, -/area/ruin/rockplanet/nomad) -"yw" = ( -/obj/structure/flora/rock/asteroid{ - icon_state = "asteroid2" - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"zg" = ( -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ - dir = 1 - }, -/obj/effect/decal/cleanable/glass/plasma, -/turf/open/floor/plating/rockplanet, -/area/ruin/rockplanet/nomad) -"zh" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen, -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/turf/open/floor/plating/rockplanet, -/area/ruin/rockplanet/nomad) -"zp" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/obj/machinery/telecomms/receiver, -/turf/open/floor/plating{ - icon_state = "wet_cracked0" - }, -/area/ruin/rockplanet/nomad) -"zw" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/rockplanet, -/area/ruin/rockplanet/nomad) -"zx" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"zz" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 4; - piping_layer = 2 - }, -/turf/open/floor/plating/asteroid/rockplanet/wet, -/area/ruin/rockplanet/nomad) -"zF" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/closed/mineral/random/rockplanet, -/area/ruin/rockplanet/nomad) -"zH" = ( -/obj/structure/fence/door{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/obj/structure/curtain/cloth/grey, -/turf/open/floor/plating/asteroid/rockplanet/wet, -/area/ruin/rockplanet/nomad) -"zU" = ( -/obj/item/banner/medical/mundane, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"Ab" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/rockplanet/wet, -/area/ruin/rockplanet/nomad) -"AS" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 4 - }, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"AX" = ( -/obj/effect/turf_decal/spline/fancy/opaque/yellow{ - dir = 4 - }, -/obj/machinery/light/small/broken/directional/east, -/obj/effect/turf_decal/arrowaxe_small/left{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ruin/rockplanet/nomad) -"Ba" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 1 - }, -/mob/living/simple_animal/hostile/asteroid/elite/broodmother_child/rockplanet, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Bc" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"Bi" = ( -/obj/effect/turf_decal/weather/dirt, -/mob/living/simple_animal/hostile/asteroid/elite/broodmother_child/rockplanet, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Bs" = ( -/turf/open/floor/engine/hull/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Bt" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"BA" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/barricade/sandbags, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"BX" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 4 - }, -/obj/structure/barricade/sandbags, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Cm" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/turf/closed/wall/mineral/sandstone, -/area/ruin/rockplanet/nomad) -"CC" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating/dirt/jungle/lit, -/area/ruin/rockplanet/nomad) -"CN" = ( -/turf/open/floor/plasteel/stairs/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"CT" = ( -/obj/effect/turf_decal/weather/dirt/corner, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"DJ" = ( -/obj/structure/flora/rock/asteroid{ - icon_state = "asteroid2" - }, -/obj/structure/flora/driftlog, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"DP" = ( -/obj/effect/turf_decal/weather/dirt/corner, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"DR" = ( -/obj/structure/closet/crate, -/obj/item/weldingtool/mini, -/obj/item/clothing/mask/gas/welding, -/obj/item/reagent_containers/glass/bottle/welding_fuel, -/obj/item/reagent_containers/glass/bottle/welding_fuel, -/obj/item/reagent_containers/glass/bottle/welding_fuel, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"Ec" = ( -/turf/open/floor/plating/dirt/jungle/lit, -/area/ruin/rockplanet/nomad) -"Em" = ( -/obj/structure/rack, -/obj/item/storage/firstaid{ - pixel_x = 3; - pixel_y = 8 - }, -/obj/item/reagent_containers/glass/rag{ - pixel_x = -3 - }, -/turf/open/floor/plating/asteroid/rockplanet/wet, -/area/ruin/rockplanet/nomad) -"En" = ( -/obj/effect/decal/cleanable/robot_debris/gib, -/turf/open/floor/plating/asteroid/rockplanet/wet, -/area/ruin/rockplanet/nomad) -"Er" = ( -/obj/structure/flora/rock{ - icon_state = "basalt2" - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Ew" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/rockplanet/nomad) -"EF" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ruin/rockplanet/nomad) -"EI" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/decal/remains/human, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/decal/cleanable/blood/gibs/body, -/turf/open/floor/plasteel/tech, -/area/ruin/rockplanet/nomad) -"EK" = ( -/obj/effect/turf_decal/weather/dirt/corner, -/obj/structure/barricade/sandbags, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"EL" = ( -/obj/structure/table_frame, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"EM" = ( -/obj/structure/frame, -/obj/item/stock_parts/micro_laser/high, -/turf/open/floor/engine/hull/interior, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Fk" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/rockplanet/wet, -/area/ruin/rockplanet/nomad) -"FI" = ( -/obj/effect/turf_decal/spline/fancy/opaque/yellow{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ruin/rockplanet/nomad) -"FJ" = ( -/turf/open/floor/plating/asteroid/rockplanet/wet, -/area/ruin/rockplanet/nomad) -"FP" = ( -/obj/structure/frame/machine, -/turf/open/floor/plating/rockplanet, -/area/ruin/rockplanet/nomad) -"Gu" = ( -/obj/structure/closet/crate, -/obj/item/gun/energy/laser, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"GA" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"GB" = ( -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ - dir = 5 - }, -/obj/item/chair/stool/bar, -/turf/open/floor/plating/rockplanet, -/area/ruin/rockplanet/nomad) -"He" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 4 - }, -/turf/open/water/rockplanet, -/area/ruin/rockplanet/nomad) -"Hi" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Hr" = ( -/obj/structure/rack, -/obj/item/ammo_box/magazine/m45, -/obj/item/ammo_box/magazine/m45{ - pixel_x = -5 - }, -/obj/item/ammo_box/magazine/m45{ - pixel_x = 7 - }, -/obj/item/gun/ballistic/automatic/pistol/candor/no_mag, -/turf/open/floor/plating/ashplanet/rocky, -/area/ruin/rockplanet/nomad) -"HG" = ( -/obj/structure/flora/driftlog, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"HL" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/freezer{ - dir = 8; - name = "Head" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/rockplanet/nomad) -"Io" = ( -/obj/structure/railing{ - dir = 10 - }, -/turf/open/floor/engine/hull/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Ir" = ( -/obj/structure/railing, -/obj/structure/closet/crate, -/obj/item/gun/energy/laser, -/obj/item/stock_parts/cell/high, -/turf/open/floor/engine/hull/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Iw" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"IG" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"IH" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/obj/effect/turf_decal/weather/dirt, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"IX" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/effect/turf_decal/weather/dirt/corner, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"IY" = ( -/obj/effect/decal/cleanable/glass/plasma, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"Jy" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-6" - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"JA" = ( -/obj/effect/turf_decal/weather/dirt/corner, -/obj/structure/flora/rock{ - icon_state = "redrocks3" - }, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"JL" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/turf/open/floor/plating/grass/rockplanet, -/area/ruin/rockplanet/nomad) -"JN" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood/gibs/down, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"Kl" = ( -/obj/effect/turf_decal/weather/dirt/corner, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Kn" = ( -/obj/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"KA" = ( -/obj/structure/railing{ - dir = 6 - }, -/obj/structure/chair/plastic{ - dir = 1 - }, -/turf/open/floor/engine/hull/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"KL" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"KN" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 4 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"KW" = ( -/obj/effect/decal/cleanable/robot_debris/gib, -/obj/item/stack/sheet/metal/five{ - pixel_x = 3; - pixel_y = 9 - }, -/turf/open/floor/plating/asteroid/rockplanet/wet, -/area/ruin/rockplanet/nomad) -"KX" = ( -/obj/structure/barricade/sandbags, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Le" = ( -/obj/effect/turf_decal/spline/plain/transparent/green{ - dir = 4; - icon_state = "spline_plain_cee" - }, -/obj/structure/frame/machine, -/obj/effect/spawner/lootdrop/salvage_matter_bin, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/rockplanet/nomad) -"Lk" = ( -/turf/open/floor/plasteel/grimy, -/area/ruin/rockplanet/nomad) -"Ly" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"LA" = ( -/obj/structure/cable{ - icon_state = "4-10" - }, -/turf/open/floor/plating/rockplanet, -/area/ruin/rockplanet/nomad) -"LN" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"LW" = ( -/obj/structure/rack, -/obj/machinery/recharger{ - pixel_x = 5; - pixel_y = 7 - }, -/obj/item/stock_parts/cell{ - pixel_x = -7; - pixel_y = 8 - }, -/obj/item/stock_parts/cell{ - pixel_x = -7; - pixel_y = 2 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"LX" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/cursed_money{ - pixel_x = 3; - pixel_y = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/rockplanet/nomad) -"Md" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Me" = ( -/obj/structure/table, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = 10; - pixel_y = 10 - }, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = 1; - pixel_y = 7 - }, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = 10; - pixel_y = 3 - }, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = 1; - pixel_y = 3 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"Mi" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/turf/open/water/rockplanet, -/area/ruin/rockplanet/nomad) -"Ms" = ( -/obj/structure/flora/rock{ - icon_state = "basalt" - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"MV" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"MW" = ( -/obj/structure/salvageable/autolathe, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"NV" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Oc" = ( -/obj/structure/cable/yellow{ - icon_state = "4-5" - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"Or" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/mob/living/simple_animal/hostile/asteroid/goliath/beast/rockplanet, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Ot" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/general/visible/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ruin/rockplanet/nomad) -"Ox" = ( -/obj/effect/turf_decal/spline/fancy/opaque/yellow{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/techfloor/hole, -/turf/open/floor/plasteel/tech/techmaint, -/area/ruin/rockplanet/nomad) -"OM" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/turf/open/water/rockplanet, -/area/ruin/rockplanet/nomad) -"OP" = ( -/obj/structure/rack, -/obj/item/storage/fancy/cigarettes/cigars, -/obj/item/lighter/greyscale, -/turf/open/floor/plasteel/rockplanet, -/area/ruin/rockplanet/nomad) -"OR" = ( -/turf/open/floor/plating/dirt/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"OS" = ( -/obj/structure/rack, -/obj/item/reagent_containers/glass/bottle/morphine{ - pixel_x = 4; - pixel_y = 6 - }, -/obj/item/reagent_containers/hypospray/medipen/morphine{ - pixel_y = -3 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"OY" = ( -/obj/item/reagent_containers/glass/bucket/wooden{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/stack/sheet/cotton/cloth/ten{ - pixel_x = -15; - pixel_y = 8 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/turf/open/floor/plating/grass/rockplanet, -/area/ruin/rockplanet/nomad) -"OZ" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Pn" = ( -/obj/machinery/power/smes/engineering{ - charge = 1000 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating/ashplanet/rocky, -/area/ruin/rockplanet/nomad) -"PD" = ( -/obj/structure/bed{ - icon_state = "dirty_mattress"; - name = "dirty mattress" - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"PH" = ( -/obj/structure/frame/machine, -/turf/open/floor/engine/hull/rockplanet, -/area/ruin/rockplanet/nomad) -"PI" = ( -/obj/effect/turf_decal/weather/dirt, -/turf/open/water/rockplanet, -/area/ruin/rockplanet/nomad) -"PX" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/computer/secure_data/laptop{ - dir = 8; - pixel_x = 2; - pixel_y = 6 - }, -/turf/open/floor/engine/hull/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Qc" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/command{ - dir = 8; - name = "Bridge"; - req_access_txt = "19" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/rockplanet/nomad) -"Qv" = ( -/turf/template_noop, -/area/template_noop) -"QJ" = ( -/mob/living/simple_animal/hostile/netherworld/migo, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Rj" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/effect/decal/cleanable/glass/plasma, -/turf/open/floor/plasteel/tech, -/area/ruin/rockplanet/nomad) -"Rk" = ( -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/ruin/rockplanet/nomad) -"Rn" = ( -/obj/machinery/power/shuttle/engine/electric, -/turf/open/floor/engine/hull/rockplanet, -/area/ruin/rockplanet/nomad) -"RB" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"RM" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 1 - }, -/obj/structure/flora/rock{ - icon_state = "redrocks3" - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"RN" = ( -/obj/structure/fence/door{ - dir = 4 - }, -/obj/structure/curtain/cloth/grey, -/turf/open/floor/plating/asteroid/rockplanet/wet, -/area/ruin/rockplanet/nomad) -"Sh" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 4 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Si" = ( -/obj/machinery/power/shieldwallgen/atmos{ - dir = 1 - }, -/turf/open/floor/engine/hull/rockplanet, -/area/ruin/rockplanet/nomad) -"So" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/obj/item/stack/sheet/metal/five, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"SH" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"SN" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Tb" = ( -/obj/structure/mecha_wreckage/ripley/firefighter, -/turf/open/floor/plasteel/rockplanet, -/area/ruin/rockplanet/nomad) -"Tn" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel, -/area/ruin/rockplanet/nomad) -"TJ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/engineering{ - dir = 1; - name = "Engineering" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/rockplanet/nomad) -"TL" = ( -/obj/effect/turf_decal/spline/fancy/opaque/yellow{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"TT" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Ui" = ( -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/techfloor, -/obj/structure/frame/computer{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/rockplanet/nomad) -"UX" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"UY" = ( -/mob/living/simple_animal/hostile/asteroid/goliath/beast/rockplanet, -/turf/open/floor/plating/dirt/rockplanet, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Vy" = ( -/obj/effect/decal/cleanable/xenoblood/xgibs, -/turf/open/floor/plating/asteroid/rockplanet/wet, -/area/ruin/rockplanet/nomad) -"Wl" = ( -/obj/structure/barricade/sandbags, -/obj/effect/turf_decal/weather/dirt{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Wm" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/flora/driftlog, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Xb" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Xj" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/rockplanet, -/area/ruin/rockplanet/nomad) -"Xk" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/small/broken/directional/south, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"Xq" = ( -/obj/structure/flora/rock{ - icon_state = "redrocks1" - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"Xy" = ( -/obj/machinery/door/airlock/external{ - dir = 4 - }, -/turf/open/floor/engine/hull/interior, -/area/ruin/rockplanet/nomad) -"XH" = ( -/turf/open/water/rockplanet, -/area/ruin/rockplanet/nomad) -"XK" = ( -/turf/closed/wall/rust, -/area/ruin/rockplanet/nomad) -"XX" = ( -/obj/structure/mineral_door/sandstone, -/turf/open/floor/plating/dirt/rockplanet, -/area/ruin/rockplanet/nomad) -"Yl" = ( -/obj/structure/table, -/obj/item/modular_computer/laptop{ - pixel_x = 3; - pixel_y = 8 - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"Ym" = ( -/turf/closed/wall/yesdiag, -/area/ruin/rockplanet/nomad) -"Yq" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/door_assembly/door_assembly_com{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ruin/rockplanet/nomad) -"Yy" = ( -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"YC" = ( -/obj/structure/toilet{ - dir = 8 - }, -/obj/structure/curtain, -/turf/open/floor/plating, -/area/ruin/rockplanet/nomad) -"YQ" = ( -/turf/closed/wall/mineral/sandstone, -/area/ruin/rockplanet/nomad) -"YT" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/light/small/broken/directional/south, -/turf/open/floor/plasteel/telecomms_floor, -/area/ruin/rockplanet/nomad) -"YW" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/manifold/general/visible/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-10" - }, -/turf/open/floor/plating/asteroid/rockplanet/wet, -/area/ruin/rockplanet/nomad) -"Zc" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, -/obj/structure/cable/yellow{ - icon_state = "6-8" - }, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"Ze" = ( -/obj/structure/closet/crate, -/obj/item/storage/toolbox/emergency, -/obj/item/storage/toolbox/emergency, -/obj/item/stack/sheet/metal/ten, -/turf/open/floor/plasteel/rockplanet, -/area/ruin/rockplanet/nomad) -"Zf" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 4 - }, -/obj/machinery/light/small/broken/directional/south, -/obj/structure/rack, -/obj/item/stock_parts/subspace/crystal{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/stock_parts/subspace/filter, -/obj/item/circuitboard/machine/telecomms/relay, -/turf/open/floor/plating{ - icon_state = "wet_cracked2" - }, -/area/ruin/rockplanet/nomad) -"Zy" = ( -/turf/closed/wall/mineral/iron, -/area/ruin/rockplanet/nomad) -"ZE" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"ZO" = ( -/obj/structure/rack, -/turf/open/floor/plasteel/rockvault, -/area/ruin/rockplanet/nomad) -"ZS" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) -"ZZ" = ( -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ - dir = 1 - }, -/obj/machinery/light/small/broken/directional/north, -/obj/structure/table_frame, -/turf/open/floor/plating/rockplanet, -/area/ruin/rockplanet/nomad) - -(1,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -Yy -Yy -Yy -Yy -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -"} -(2,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -Yy -Yy -Kl -Hi -Yy -vi -Yy -Yy -Yy -Yy -Kl -Hi -Yy -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -"} -(3,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -Yy -Yy -Yy -Kl -pJ -Md -TT -Yy -Yy -Yy -Yy -Yy -Yy -aX -Ly -Hi -Yy -Yy -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -"} -(4,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -kV -Yy -vi -Yy -ef -OR -OR -TT -Yy -Yy -Yy -Yy -Yy -Yy -aX -OR -Ly -Hi -Yy -Yy -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -"} -(5,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -Yy -Yy -Yy -Yy -aX -OR -OR -TT -Yy -HG -Yy -Yy -Yy -Yy -rc -RB -OR -TT -Yy -Yy -Yy -Qv -Qv -Qv -Qv -Qv -Qv -Qv -"} -(6,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -Yy -uT -Yy -Er -aX -OR -pH -yb -Yy -Yy -Yy -Kl -Hi -Yy -Yy -aX -OR -TT -Yy -Yy -Yy -Qv -Qv -Qv -Qv -Qv -Qv -Qv -"} -(7,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -Yy -Yy -Yy -Yy -Yy -aX -OR -TT -Yy -Yy -Yy -Yy -rc -yb -Yy -Yy -aX -OR -TT -Yy -Yy -Yy -Qv -Qv -Qv -Qv -Qv -Qv -Qv -"} -(8,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -Yy -tA -dJ -Yy -Yy -DP -KN -sK -Hi -Yy -Yy -Yy -Yy -Yy -vl -Kl -Md -OR -TT -Yy -Yy -kV -Yy -Qv -Qv -Qv -Qv -Qv -Qv -"} -(9,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -Yy -Yy -Yy -Yy -Yy -aX -OR -wW -TT -Yy -Yy -Yy -Yy -Yy -Yy -aX -OR -OR -TT -Yy -Yy -Yy -Yy -Qv -Qv -Qv -Qv -Qv -Qv -"} -(10,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -Yy -Yy -Yy -Yy -Yy -aX -OR -OR -TT -Yy -Yy -Yy -Yy -Yy -vi -DP -SN -OR -TT -vi -Yy -Yy -Yy -Qv -Qv -Qv -Qv -Qv -Qv -"} -(11,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -jm -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -Ms -Yy -Yy -Yy -Kl -Md -OR -OR -TT -Yy -Yy -Yy -Yy -Yy -Yy -aX -OR -OR -TT -Yy -Yy -Yy -Yy -Qv -Qv -Qv -Qv -Qv -Qv -"} -(12,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -Qv -Qv -Qv -Qv -Yy -Yy -Yy -Yy -Yy -kV -aX -OR -OR -OR -TT -Yy -KX -KX -KX -KX -Yy -aX -OR -OR -TT -Yy -Yy -Ms -Yy -Qv -Qv -Qv -Qv -Qv -Qv -"} -(13,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -Qv -Qv -Yy -Yy -Yy -Yy -Yy -Yy -aX -OR -OR -OR -TT -KX -Yy -Yy -Yy -Yy -EK -Md -OR -pH -yb -Yy -Yy -iN -Yy -Yy -Qv -Qv -Qv -Qv -Qv -"} -(14,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -Qv -Xq -Yy -Yy -KX -KX -KX -BA -OR -OR -pH -yb -Yy -Yy -Yy -gn -DJ -aX -OR -OR -TT -Yy -Yy -Yy -Yy -Yy -vi -Qv -Qv -Qv -Qv -Qv -"} -(15,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -KX -Yy -Yy -Yy -rc -RB -OR -TT -iN -Yy -Yy -yw -aw -Yy -aX -OR -mW -fd -Yy -Yy -Yy -Yy -Yy -Yy -Qv -Qv -Qv -Qv -Qv -"} -(16,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -Yy -Yy -Yy -aX -OR -TT -Yy -Yy -Yy -HG -yw -vi -DP -qM -nB -uL -Yy -Xq -Yy -Yy -Yy -Yy -Yy -Qv -Qv -Qv -Qv -"} -(17,1,1) = {" -Qv -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Er -Yy -Yy -Yy -vi -aX -OR -TT -Yy -Yy -Yy -Yy -Kl -Hi -aX -OR -Ly -cU -Yy -Yy -Yy -Yy -Er -Yy -Yy -Qv -Qv -Qv -Qv -"} -(18,1,1) = {" -Qv -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -Yy -Yy -Yy -aX -pH -sy -bv -bv -Io -TT -aX -TT -Bi -OR -OR -TT -KX -Yy -Yy -Yy -Yy -tA -Yy -Qv -Qv -Qv -Qv -"} -(19,1,1) = {" -Qv -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -Yy -Yy -Yy -rc -vW -wq -Bs -cO -Ir -TT -aX -Ly -Iw -OR -OR -Ly -Wl -pJ -Hi -vi -Yy -Yy -dJ -jm -jm -jm -Qv -"} -(20,1,1) = {" -Qv -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -Yy -gn -Yy -Kl -Or -dM -Bs -PX -KA -TT -aX -OR -rW -RB -OR -Ym -XK -jI -Ym -lg -Yy -jm -jm -jm -jm -jm -Qv -"} -(21,1,1) = {" -Qv -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -Yy -Kl -Md -OR -dM -CN -CN -CN -TT -rc -OZ -vW -Md -Ym -XK -nf -nf -lg -jm -jm -jm -jm -jm -jm -jm -Qv -"} -(22,1,1) = {" -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Xq -Yy -aX -OR -bS -NV -vF -CT -SH -Yy -Yy -Yy -aX -OR -OR -vS -nf -Tb -Ym -jm -jm -jm -jm -jm -jm -Qv -Qv -"} -(23,1,1) = {" -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -Yy -Yy -Yy -Yy -aX -OR -OR -TT -Kl -Md -TT -Yy -Yy -Yy -aX -OR -OR -mu -Si -XK -jm -jm -jm -jm -jm -jm -jm -Qv -Qv -"} -(24,1,1) = {" -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -Yy -kV -Yy -Yy -Yy -aX -OR -OR -TT -aX -OR -TT -Yy -Yy -Yy -DP -lw -OR -rW -tI -jm -jm -jm -jm -jm -jm -jm -jm -Qv -Qv -"} -(25,1,1) = {" -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -vi -Yy -Yy -Yy -Yy -Yy -vi -aX -IH -OR -TT -Wm -OR -TT -Kl -Hi -QJ -aX -OR -Xb -rH -jm -jm -jm -jm -jm -jm -jm -jm -jm -Qv -Qv -"} -(26,1,1) = {" -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -Yy -Er -Yy -Yy -Yy -Yy -rc -ZE -OR -TT -aX -OR -TT -aX -TT -Kl -Md -OR -OR -Ly -jm -jm -jm -jm -jm -jm -jm -jm -jm -Qv -Qv -"} -(27,1,1) = {" -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -uT -Yy -QJ -Yy -Yy -Yy -Yy -vl -Yy -Yy -aX -OR -TT -rc -OZ -yb -aX -Ly -Md -OR -OR -EM -XK -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Qv -"} -(28,1,1) = {" -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -jD -Md -OR -Ly -JA -pJ -pJ -Md -OR -OR -lg -cl -Bc -XK -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Qv -"} -(29,1,1) = {" -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -pJ -Yy -Yy -Yy -Yy -Yy -Xq -Yy -Yy -Yy -Yy -aX -OR -OR -OR -oZ -OR -OR -OR -OR -Bt -lg -zx -Xk -XK -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Qv -"} -(30,1,1) = {" -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -vM -Sh -Hi -Yy -Yy -tA -Yy -Yy -Yy -Er -Kl -Md -OR -OR -YQ -Xy -XK -YQ -XX -XK -XK -XK -kN -pb -XK -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Qv -"} -(31,1,1) = {" -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -PI -gY -gY -Ly -Hi -Yy -Yy -Yy -Yy -Yy -Yy -aX -OR -OR -mu -YQ -uh -XK -zg -zh -lg -Le -XK -XK -UX -XK -jm -Zy -Zy -jm -jm -jm -jm -jm -jm -Qv -Qv -"} -(32,1,1) = {" -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -He -OM -gY -yn -Ly -Hi -Yy -Yy -vi -Yy -Yy -aX -OR -cr -ZS -YQ -dB -lg -ZZ -mz -lg -YT -lg -fw -oz -Kn -ga -LW -Zy -jm -jm -jm -jm -jm -jm -Qv -Qv -"} -(33,1,1) = {" -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -XH -He -OM -JL -hV -TT -Yy -Yy -Yy -Yy -Yy -cP -OR -YQ -YQ -YQ -fM -lg -GB -gs -lg -ei -XK -Rk -Jy -wf -df -Oc -Hr -Zy -jm -jm -jm -jm -jm -Qv -Qv -"} -(34,1,1) = {" -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -XH -PI -OY -vM -TT -uT -kV -Yy -Kl -pJ -Iw -OR -Cm -Zf -lg -uK -XK -XK -ip -lg -qL -XK -rY -Ot -kS -YW -Zc -wf -qU -jm -jm -jm -jm -jm -Qv -Qv -"} -(35,1,1) = {" -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -XH -He -Mi -jm -yb -Yy -Yy -Yy -aX -OR -uD -YQ -sR -Ec -CC -GA -Ox -hy -vN -FI -qp -TJ -Tn -EF -Zy -IG -Ab -cd -sX -jm -jm -jm -jm -jm -Qv -Qv -"} -(36,1,1) = {" -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -XH -jm -jm -Yy -Yy -Yy -Kl -AS -OZ -ZE -YQ -zp -Ec -fc -rD -TL -AX -oI -il -iZ -XK -lg -aL -Zy -pV -Fk -vw -wf -jm -jm -jm -jm -jm -Qv -Qv -"} -(37,1,1) = {" -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -jC -Yy -Yy -aX -Ly -Hi -aX -YQ -rD -uo -lg -lg -ba -XK -Qc -lg -HL -XK -uh -uh -jm -zz -KL -Pn -xG -jm -jm -jm -jm -jm -Qv -Qv -"} -(38,1,1) = {" -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -Yy -KX -aX -OR -IX -Md -YQ -So -fK -XK -uh -MV -lg -Ew -lg -fe -lg -Gu -jm -Zy -Zy -zH -Zy -Zy -jm -jm -jm -jm -jm -Qv -Qv -"} -(39,1,1) = {" -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -Er -Yy -BA -mW -uD -OR -XK -DR -lg -lg -Lk -PD -lg -Ew -lg -YC -lg -lg -Zy -Yl -FJ -KL -MW -Em -ZO -Zy -jm -jm -Qv -Qv -Qv -"} -(40,1,1) = {" -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Xq -Yy -Yy -Kl -pJ -Md -OR -BX -jw -Ym -XK -Ym -XK -XK -lg -lg -Yq -XK -XK -XK -jm -Zy -kf -wf -Fk -wf -FJ -wf -Zy -jm -jm -Qv -Qv -Qv -"} -(41,1,1) = {" -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -vi -aX -OR -OR -UY -Ly -AS -OZ -RB -OR -XK -LN -is -uB -EI -JN -xk -lg -jm -jm -uN -FJ -aN -oW -wf -zU -jm -jm -jm -Qv -Qv -Qv -"} -(42,1,1) = {" -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -Yy -Kl -Md -OR -po -OR -OR -TT -Yy -kV -jm -jm -LX -hc -uh -tX -fF -Ui -lg -jm -jm -Me -wf -FJ -wf -wf -FJ -Zy -jm -Qv -Qv -Qv -Qv -"} -(43,1,1) = {" -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -Kl -Md -Ym -XK -OR -OR -pH -RM -Yy -Yy -jm -jm -jm -zF -IY -jl -gO -Rj -lg -jm -jm -EL -FJ -wf -hm -OS -hm -Zy -jm -Qv -Qv -Qv -Qv -"} -(44,1,1) = {" -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -vi -Yy -Yy -aX -Ym -lg -Bt -OR -OR -TT -Yy -Yy -Yy -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -RN -Zy -Zy -jm -jm -jm -Qv -Qv -Qv -Qv -"} -(45,1,1) = {" -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -tA -Yy -aX -XK -eo -eo -lg -Ym -TT -Yy -Ms -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -vL -FJ -FJ -FJ -FJ -FJ -jm -jm -Qv -Qv -Qv -Qv -Qv -"} -(46,1,1) = {" -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -Ym -XK -XK -nf -nf -Ze -XK -TT -Yy -Yy -jm -jm -jm -jm -jm -jm -jm -jm -jm -FJ -FJ -Vy -FJ -FJ -jm -jm -jm -jm -jm -Qv -Qv -Qv -Qv -Qv -"} -(47,1,1) = {" -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -XK -XK -XK -nf -Xj -OP -lg -Ym -TT -kV -Yy -jm -jm -jm -jm -jm -jm -jm -jm -FJ -FJ -FJ -FJ -vL -jm -jm -jm -jm -jm -jm -Qv -Qv -Qv -Qv -Qv -"} -(48,1,1) = {" -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -Yy -Yy -Yy -lg -ha -zw -oq -or -Kn -Ym -OZ -Ba -Yy -jm -jm -jm -jm -jm -jm -jm -FJ -FJ -FJ -KW -FJ -FJ -FJ -jm -jm -jm -jm -jm -jm -Qv -Qv -Qv -Qv -Qv -"} -(49,1,1) = {" -Qv -Qv -Qv -jm -jm -jm -Yy -Yy -Yy -Yy -Ms -Yy -XK -LA -eo -XK -sn -Kn -Ym -Yy -Yy -Yy -dJ -jm -jm -jm -jm -jm -En -FJ -vL -FJ -FJ -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Qv -Qv -Qv -Qv -Qv -"} -(50,1,1) = {" -Qv -Qv -Qv -jm -jm -jm -dJ -Yy -Yy -Yy -Yy -Yy -PH -lz -eo -XK -Kn -Ym -Yy -Yy -Yy -Qv -jm -jm -jm -jm -jm -Vy -FJ -FJ -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Qv -Qv -Qv -Qv -Qv -Qv -"} -(51,1,1) = {" -Qv -Qv -Qv -Qv -jm -Qv -Yy -Yy -Yy -vi -iN -Yy -Rn -FP -XK -Ym -Yy -Yy -vi -Yy -Qv -Qv -jm -jm -jm -FJ -FJ -FJ -FJ -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Qv -Qv -Qv -Qv -Qv -Qv -Qv -"} -(52,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -Yy -Yy -Yy -vS -lg -Ym -Yy -kV -Yy -Yy -Yy -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -"} -(53,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -Yy -uT -Yy -XK -Ym -Yy -Yy -tA -Yy -Yy -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -"} -(54,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -Yy -Yy -Yy -vi -Yy -Yy -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -"} -(55,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -Yy -Er -Yy -Yy -Qv -Qv -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -"} -(56,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Yy -Yy -Yy -Yy -Qv -Qv -Qv -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -jm -jm -jm -jm -jm -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -"} -(57,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -jm -jm -jm -jm -jm -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -"} -(58,1,1) = {" -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -Qv -"} diff --git a/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm b/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm index 6bb4f2e48c9..1c518cceabc 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm @@ -288,7 +288,7 @@ /turf/open/floor/wood, /area/ruin/rockplanet/shippingdockoffice) "cz" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ruin/rockplanet/shippingdock) @@ -2000,9 +2000,9 @@ /obj/structure/closet/crate/secure/gear{ req_one_access_txt = "53" }, -/obj/item/ammo_box/magazine/tec9, -/obj/item/ammo_box/magazine/tec9, -/obj/item/gun/ballistic/automatic/pistol/tec9, +/obj/item/ammo_box/magazine/m9mm_rattlesnake, +/obj/item/ammo_box/magazine/m9mm_rattlesnake, +/obj/item/gun/ballistic/automatic/pistol/rattlesnake/no_mag, /turf/open/floor/plasteel/mono/dark, /area/ruin/rockplanet/shippingdocksecure) "rK" = ( @@ -2068,7 +2068,7 @@ "sa" = ( /obj/effect/turf_decal/rechargefloor, /obj/effect/turf_decal/industrial/warning/dust, -/obj/effect/spawner/lootdrop/ripley, +/obj/effect/spawner/random/exotic/ripley, /turf/open/floor/plasteel/mono/dark, /area/ruin/rockplanet/shippingdockwarehouse) "sc" = ( @@ -2132,7 +2132,7 @@ /area/overmap_encounter/planetoid/rockplanet/explored) "su" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/concrete/pavement{ light_power = 0.6; light_range = 2 @@ -2417,7 +2417,7 @@ /obj/item/toy/plush/moth/firewatch, /obj/item/toy/plush/lizardplushie, /obj/item/toy/plush/knight, -/obj/item/toy/prize/mauler, +/obj/item/toy/prize/touro, /obj/item/toy/talking/AI, /turf/open/floor/plasteel/mono/white, /area/ruin/rockplanet/shippingdockwarehouse) @@ -2426,7 +2426,7 @@ /area/ruin/rockplanet/shippingdockoffice) "uo" = ( /obj/structure/closet/crate/trashcart, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/trash/can, /obj/item/trash/can/food/peaches, /obj/item/trash/tray, @@ -4044,7 +4044,7 @@ }, /area/overmap_encounter/planetoid/rockplanet/explored) "HL" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/concrete/pavement{ light_power = 0.6; light_range = 2 @@ -4208,7 +4208,7 @@ /turf/open/floor/concrete/pavement, /area/ruin/rockplanet/shippingdockwarehouse) "Ju" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/ruin/rockplanet/shippingdock) "Jz" = ( @@ -4356,7 +4356,6 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/effect/spawner/bundle/costume/marisawizard, /turf/open/floor/plasteel/mono/white, /area/ruin/rockplanet/shippingdockwarehouse) "Kt" = ( @@ -5283,9 +5282,9 @@ "SJ" = ( /obj/structure/rack, /obj/structure/window/reinforced, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/plasteel/mono/white, /area/ruin/rockplanet/shippingdockwarehouse) "SM" = ( @@ -5969,7 +5968,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/effect/spawner/lootdrop/maintenance/eight, +/obj/effect/spawner/random/maintenance/eight, /turf/open/floor/plasteel/mono/white, /area/ruin/rockplanet/shippingdockwarehouse) "XU" = ( @@ -6021,7 +6020,7 @@ "Yf" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/concrete/pavement{ light_power = 0.6; light_range = 2 diff --git a/_maps/RandomRuins/SandRuins/whitesands_brazillianlab.dmm b/_maps/RandomRuins/SandRuins/whitesands_brazillianlab.dmm new file mode 100644 index 00000000000..60f81246be0 --- /dev/null +++ b/_maps/RandomRuins/SandRuins/whitesands_brazillianlab.dmm @@ -0,0 +1,2881 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ae" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/firingrange{ + pixel_y = 32 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/ruin/unpowered) +"aS" = ( +/obj/machinery/iv_drip, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"aW" = ( +/turf/template_noop, +/area/template_noop) +"bq" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = -6; + pixel_y = 4 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"bv" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/green/half, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"bB" = ( +/obj/structure/flora/rock/jungle, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"cr" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ct" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"cH" = ( +/obj/structure/fermenting_barrel, +/turf/open/floor/wood, +/area/ruin/unpowered) +"cN" = ( +/obj/structure/girder/displaced, +/obj/structure/railing/wood{ + dir = 4 + }, +/obj/structure/railing/wood{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/whitesands/dried/lit, +/area/overmap_encounter/planetoid/sand/explored) +"cS" = ( +/obj/structure/flora/stump, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"dz" = ( +/obj/structure/table/wood/fancy/green, +/obj/item/storage/box/ammo/a12g_buckshot{ + pixel_y = 5 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"eC" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"eD" = ( +/obj/structure/flora/ash/stem_shroom, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"fd" = ( +/obj/structure/table/optable, +/obj/item/stack/medical/bruise_pack/herb, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"fz" = ( +/obj/structure/table/wood/fancy/green, +/obj/item/ammo_casing/shotgun/dragonsbreath{ + pixel_y = 4; + pixel_x = -2 + }, +/obj/item/ammo_casing/shotgun/dragonsbreath{ + pixel_y = 4; + pixel_x = -10 + }, +/obj/item/ammo_casing/shotgun/dragonsbreath{ + pixel_y = 4; + pixel_x = -6 + }, +/obj/item/ammo_casing/shotgun/dragonsbreath{ + pixel_y = 4; + pixel_x = 6 + }, +/obj/item/ammo_casing/shotgun/dragonsbreath{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/ammo_casing/shotgun/dragonsbreath{ + pixel_y = 4; + pixel_x = 10 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"fB" = ( +/obj/structure/chair/stool/bar, +/mob/living/simple_animal/hostile/human/hermit/survivor{ + desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body." + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/unpowered) +"fI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/carpet/blue, +/area/ruin/unpowered) +"fK" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid/whitesands{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"fO" = ( +/obj/structure/flora/junglebush/b, +/obj/structure/sign/poster/official/fruit_bowl{ + pixel_y = 32 + }, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"gk" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid/whitesands/dried/lit, +/area/overmap_encounter/planetoid/sand/explored) +"gH" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"hg" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/structure/curtain/cloth/grey{ + open = 0; + icon_state = "bathroom-closed"; + opacity = 1 + }, +/turf/open/floor/plating, +/area/ruin/unpowered) +"hp" = ( +/obj/item/stack/cable_coil, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, +/turf/open/floor/wood, +/area/ruin/unpowered) +"hr" = ( +/turf/open/floor/plating/asteroid/whitesands/dried{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"ht" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 9 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"hA" = ( +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"hN" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/ruin/unpowered) +"hO" = ( +/obj/structure/flora/tree/jungle, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"hR" = ( +/mob/living/simple_animal/hostile/human/hermit/survivor, +/obj/structure/chair/plastic, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"hT" = ( +/obj/structure/flora/grass/jungle/b, +/obj/item/cultivator/rake, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"ib" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/onionrings{ + pixel_y = 7 + }, +/obj/item/spacecash/bundle/c1{ + pixel_x = -6; + pixel_y = -13 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"is" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/ruin/unpowered) +"iu" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"jn" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/glass/rag{ + pixel_x = 8; + pixel_y = 3 + }, +/obj/item/cigbutt/cigarbutt{ + pixel_x = -5; + pixel_y = 9 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"jy" = ( +/obj/structure/chair/wood, +/mob/living/simple_animal/hostile/human/hermit/survivor{ + desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body." + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"jU" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/green/half{ + dir = 8 + }, +/obj/structure/sign/departments/medbay/alt{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"kD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/cable_coil/yellow{ + pixel_y = -10 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"kF" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/unpowered) +"kQ" = ( +/obj/effect/turf_decal/corner/opaque/green/three_quarters{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/innards, +/obj/item/reagent_containers/glass/bucket{ + pixel_x = 9; + pixel_y = 15 + }, +/obj/item/chainsaw{ + pixel_x = -11; + pixel_y = 11 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"kX" = ( +/turf/closed/wall/mineral/wood/nonmetal, +/area/ruin/unpowered) +"lu" = ( +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"lA" = ( +/obj/item/weaponcrafting/stock{ + pixel_x = 8; + pixel_y = 3 + }, +/obj/item/stack/cable_coil/blue, +/obj/effect/turf_decal/siding/wood, +/obj/structure/table, +/obj/item/screwdriver/old{ + pixel_y = 20 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"mi" = ( +/obj/structure/railing/wood{ + dir = 8 + }, +/obj/structure/railing/wood{ + dir = 4 + }, +/obj/structure/girder/displaced, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"mn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/food/drinks/soda_cans/cola{ + pixel_x = -11; + pixel_y = 1 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/pacfuel{ + pixel_y = -6; + pixel_x = -6 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/shoal_punch{ + pixel_y = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"mo" = ( +/obj/structure/table/wood/reinforced, +/obj/item/spacecash/bundle/c50{ + pixel_x = 14; + pixel_y = 7 + }, +/obj/item/spacecash/bundle/smallrand{ + pixel_x = -9 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"mq" = ( +/obj/item/stack/sheet/mineral/wood/twentyfive{ + pixel_x = 8; + pixel_y = -9 + }, +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/sand/explored) +"mv" = ( +/obj/structure/barricade/wooden, +/turf/open/floor/plating/asteroid/whitesands{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"mz" = ( +/turf/closed/wall/rust, +/area/overmap_encounter/planetoid/sand/explored) +"mM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/ruin/unpowered) +"nf" = ( +/obj/structure/flora/ash/stem_shroom, +/turf/open/floor/plating/asteroid/whitesands/dried/lit, +/area/overmap_encounter/planetoid/sand/explored) +"nn" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"nF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/ammo_box/magazine/m45{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/ammo_box/magazine/m45{ + pixel_x = -10; + pixel_y = 6 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"nG" = ( +/obj/structure/flora/junglebush/large, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"oo" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/ruin/unpowered) +"oR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/wood, +/area/ruin/unpowered) +"pa" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"pf" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/ruin/unpowered) +"pn" = ( +/obj/item/target, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"pu" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ql" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"qm" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = 1; + pixel_y = 8 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"qC" = ( +/obj/structure/bed, +/obj/structure/curtain, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"qD" = ( +/obj/structure/flora/ash/tall_shroom, +/turf/open/floor/plating/asteroid/whitesands{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"qS" = ( +/mob/living/simple_animal/hostile/human/hermit/survivor{ + desc = "The greatest chef this side of the wastes."; + health = 150; + name = "Margarine"; + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"qT" = ( +/obj/item/wrench, +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/sand/explored) +"rs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/green/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/green/border, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"rw" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"rP" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"sf" = ( +/obj/structure/table/wood, +/obj/item/toy/cards/deck{ + pixel_y = 12 + }, +/obj/item/spacecash/bundle/c10{ + pixel_x = 9 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"si" = ( +/obj/structure/flora/rock/jungle, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"sj" = ( +/obj/structure/girder/reinforced, +/turf/open/floor/plating/asteroid/whitesands{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"sA" = ( +/obj/structure/flora/ash/stem_shroom, +/turf/open/floor/plating/asteroid/whitesands{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"sE" = ( +/turf/closed/mineral/random/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"te" = ( +/obj/structure/table/wood/reinforced, +/obj/item/spacecash/bundle/c200, +/turf/open/floor/wood, +/area/ruin/unpowered) +"tf" = ( +/obj/structure/flora/ash/fern, +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"tx" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/carpet/blue, +/area/ruin/unpowered) +"tY" = ( +/mob/living/simple_animal/bot/secbot/ed209/rockplanet{ + faction = list("hermit"); + name = "The Crimson King" + }, +/obj/structure/curtain/cloth/fancy, +/turf/open/floor/carpet/red_gold, +/area/ruin/unpowered) +"un" = ( +/obj/structure/flora/ash/puce, +/turf/open/floor/plating/asteroid/whitesands/dried{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"uq" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"uv" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/unpowered) +"uG" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"vg" = ( +/obj/item/stack/sheet/metal/ten{ + pixel_x = -9 + }, +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/sand/explored) +"vi" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"vr" = ( +/obj/item/toy/plush/moth/snow{ + pixel_x = 17; + pixel_y = -5 + }, +/turf/open/floor/plating/asteroid/snow/lit/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"vH" = ( +/obj/structure/flora/junglebush/b, +/obj/item/reagent_containers/glass/bucket/wooden, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"vR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/green/bordercorner, +/obj/effect/turf_decal/corner/opaque/green/bordercorner{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/gibs/core, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"wd" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/wine{ + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/tequila{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/bottle/vermouth{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"wh" = ( +/obj/structure/flora/tree/jungle/small, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"wk" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/snacks/meat/steak/meatproduct, +/turf/open/floor/wood, +/area/ruin/unpowered) +"wm" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/wine{ + pixel_x = 7; + pixel_y = 16 + }, +/obj/item/food/spaghetti/pastatomato{ + pixel_y = 3 + }, +/obj/item/candle/infinite{ + pixel_y = 17 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"wn" = ( +/obj/structure/flora/stump, +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"xg" = ( +/obj/structure/flora/tree/tall/whitesands, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"xj" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood, +/area/ruin/unpowered) +"xm" = ( +/obj/structure/table, +/obj/item/weaponcrafting/receiver{ + pixel_x = -7; + pixel_y = -12 + }, +/obj/item/weaponcrafting/stock{ + pixel_x = 5; + pixel_y = 13 + }, +/obj/item/attachment/laser_sight{ + pixel_x = 10; + pixel_y = -9 + }, +/obj/item/gun/ballistic/automatic/pistol/candor/factory/no_mag{ + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/rag{ + pixel_x = -10; + pixel_y = 19 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"xu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed/roller, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"xI" = ( +/turf/closed/wall/concrete, +/area/ruin/unpowered) +"xK" = ( +/obj/structure/flora/ash/cacti, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"xN" = ( +/obj/item/flashlight/lantern{ + on = 1; + pixel_x = -10; + pixel_y = 17 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"xQ" = ( +/obj/item/clothing/neck/stethoscope, +/obj/structure/closet/secure_closet/medical1{ + populate = 0 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, +/obj/item/stack/medical/mesh, +/obj/item/stack/medical/suture, +/obj/item/stack/sheet/cotton/cloth/ten, +/obj/item/stack/sheet/cotton/cloth/ten, +/obj/effect/turf_decal/corner/opaque/green/three_quarters{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"xV" = ( +/obj/structure/bed, +/obj/structure/curtain, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"yp" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"yr" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/corner/opaque/green/border{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"zi" = ( +/mob/living/simple_animal/bot/secbot{ + desc = "A little security robot. He looks downright furious!"; + emagged = 2; + name = "\improper Officer Hermitsky"; + faction = list("neutral","silicon","turret","hermit") + }, +/obj/structure/closet/crate/critter{ + name = "DANGER: DO NOT OPEN" + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"zj" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/ruin/unpowered) +"zy" = ( +/mob/living/simple_animal/hostile/human/hermit/survivor{ + dir = 4 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"Al" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Aw" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/shaker{ + pixel_x = 16 + }, +/obj/effect/turf_decal/siding/wood, +/obj/item/spacecash/bundle/c1000{ + pixel_x = -2; + pixel_y = 3 + }, +/obj/item/spacecash/bundle/c1000{ + pixel_x = -5 + }, +/obj/item/spacecash/bundle/c5{ + pixel_x = -8; + pixel_y = 9 + }, +/obj/item/spacecash/bundle/c10{ + pixel_x = 2; + pixel_y = 4 + }, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"AN" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/sarsaparilla{ + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/kahlua{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/bottle/hcider{ + pixel_x = 16; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/rum{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"Br" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Bw" = ( +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"BL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/assembly/igniter{ + pixel_x = -9; + pixel_y = -14 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"BQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Cc" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"Cl" = ( +/obj/item/candle/infinite{ + pixel_y = 4 + }, +/obj/item/candle/infinite{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/item/candle/infinite{ + pixel_x = -10; + pixel_y = 8 + }, +/obj/item/candle/infinite{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/item/candle/infinite{ + pixel_x = -10 + }, +/obj/item/candle/infinite{ + pixel_x = -16; + pixel_y = -2 + }, +/obj/structure/table/wood/fancy/blue, +/turf/open/floor/carpet/orange, +/area/ruin/unpowered) +"Cn" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/snow/lit/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"CI" = ( +/obj/structure/girder/reinforced, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"CL" = ( +/obj/structure/bookcase/random, +/turf/open/floor/wood, +/area/ruin/unpowered) +"CN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/carpet/blue, +/area/ruin/unpowered) +"CS" = ( +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"CT" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Da" = ( +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Dk" = ( +/obj/structure/table/wood/fancy/green, +/obj/item/ammo_casing/shotgun/laserscatter{ + pixel_y = 4; + pixel_x = 10 + }, +/obj/item/ammo_casing/shotgun/laserscatter{ + pixel_y = 4; + pixel_x = -10 + }, +/obj/item/ammo_casing/shotgun/laserscatter{ + pixel_y = 4; + pixel_x = -6 + }, +/obj/item/ammo_casing/shotgun/laserscatter{ + pixel_y = 4; + pixel_x = -2 + }, +/obj/item/ammo_casing/shotgun/laserscatter{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/ammo_casing/shotgun/laserscatter{ + pixel_y = 4; + pixel_x = 6 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"DA" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"DH" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/snow/lit/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"DX" = ( +/obj/structure/flora/rock/jungle, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"DY" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/ruin/unpowered) +"Eg" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Ep" = ( +/obj/machinery/pipedispenser, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"Ex" = ( +/obj/structure/flora/tree/tall/whitesands, +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"EW" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/carpet/blue, +/area/ruin/unpowered) +"Fh" = ( +/obj/structure/girder, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"FB" = ( +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"FI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/carpet/blue, +/area/ruin/unpowered) +"FK" = ( +/obj/item/stack/tape/industrial{ + pixel_x = 12 + }, +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/sand/explored) +"FU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/item/clothing/ears/earmuffs, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -8 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Gc" = ( +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ge" = ( +/obj/structure/flora/grass/jungle/b, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Gl" = ( +/obj/structure/barricade/wooden, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Gt" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"GK" = ( +/obj/structure/flora/junglebush/c, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"GO" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"GU" = ( +/turf/open/floor/carpet/orange, +/area/ruin/unpowered) +"Hb" = ( +/turf/open/floor/plating/asteroid/whitesands{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"Ht" = ( +/obj/structure/table/wood, +/obj/item/food/spaghetti/pastatomato{ + pixel_y = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"HI" = ( +/turf/open/floor/plating/asteroid/whitesands/dried/lit, +/area/overmap_encounter/planetoid/sand/explored) +"HV" = ( +/obj/item/target/alien/anchored, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"Il" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Iz" = ( +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/sand/explored) +"IE" = ( +/obj/machinery/iv_drip, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/item/stack/medical/gauze/improvised{ + pixel_x = -16 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"IZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/ruin/unpowered) +"Jt" = ( +/obj/effect/turf_decal/siding/wood, +/obj/item/storage/toolbox/drone{ + pixel_x = 8; + pixel_y = 9 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"JK" = ( +/turf/open/floor/concrete/slab_4, +/area/ruin/unpowered) +"JM" = ( +/obj/structure/bed, +/obj/structure/curtain, +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, +/obj/effect/turf_decal/corner/opaque/green/border, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/decal/cleanable/vomit/old, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Kb" = ( +/obj/machinery/recharge_station, +/turf/open/floor/carpet/red_gold, +/area/ruin/unpowered) +"Kl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Kt" = ( +/obj/effect/turf_decal/corner/opaque/green/three_quarters, +/obj/effect/decal/cleanable/blood/gibs/up, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Lv" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken2" + }, +/area/ruin/unpowered) +"Ly" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_x = 16; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/vodka{ + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/cognac{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/bottle/gin{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"LA" = ( +/obj/structure/chair/stool/bar{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/hermit/survivor{ + desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"LB" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/wood, +/area/ruin/unpowered) +"LC" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"LI" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken2" + }, +/area/ruin/unpowered) +"LR" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/turf_decal/corner/opaque/green/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/green/border, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Mg" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"Mt" = ( +/obj/structure/flora/ash/fern, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Mz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/green/three_quarters{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"MI" = ( +/obj/structure/flora/grass/jungle, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"MM" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/green/half{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Nt" = ( +/obj/structure/flora/junglebush/b, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"NG" = ( +/obj/structure/guncloset, +/obj/item/gun/ballistic/automatic/smg/skm_carbine, +/turf/open/floor/wood, +/area/ruin/unpowered) +"NR" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, +/obj/structure/chair/plastic, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"NY" = ( +/turf/open/floor/plating/asteroid/snow/lit/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"Op" = ( +/obj/structure/statue/snow/snowman, +/turf/open/floor/plating/asteroid/snow/lit/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"OA" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/glass/maunamug, +/obj/item/reagent_containers/food/snacks/cracker{ + pixel_x = 12; + pixel_y = 7 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Pb" = ( +/obj/effect/decal/cleanable/blood/gibs/down, +/mob/living/simple_animal/hostile/human/hermit/survivor{ + desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body." + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Pm" = ( +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"Ps" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/meat/steak/meatproduct{ + pixel_y = 6 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Pu" = ( +/obj/structure/flora/ash/puce, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"PP" = ( +/obj/structure/flora/ash/fern, +/turf/open/floor/plating/asteroid/whitesands/dried/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Qk" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/green/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Ql" = ( +/obj/structure/bonfire/prelit, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"Qm" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/ruin/unpowered) +"Rq" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plating, +/area/ruin/unpowered) +"RN" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/mineral_door/iron, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Sd" = ( +/obj/item/gun/ballistic/shotgun/doublebarrel/brazil{ + pixel_x = 8 + }, +/obj/structure/table/wood/fancy/blue, +/turf/open/floor/carpet/orange, +/area/ruin/unpowered) +"Sf" = ( +/obj/item/ammo_casing/shotgun/improvised, +/obj/item/ammo_casing/shotgun/improvised, +/obj/item/ammo_casing/shotgun/improvised, +/obj/item/ammo_casing/shotgun/improvised, +/obj/item/ammo_casing/shotgun/improvised, +/obj/item/ammo_casing/shotgun/improvised, +/obj/item/ammo_casing/shotgun/improvised, +/obj/structure/closet/secure_closet, +/obj/item/ammo_box/magazine/skm_46_30/recycled, +/obj/item/ammo_box/magazine/skm_46_30/recycled, +/obj/item/attachment/rail_light, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"Sj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/space_heater, +/obj/effect/turf_decal/corner/opaque/green/border{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"SB" = ( +/obj/structure/bed, +/obj/structure/curtain, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/hermit/survivor{ + desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body." + }, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/item/reagent_containers/syringe{ + pixel_x = -11 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"To" = ( +/obj/structure/flora/ash/cap_shroom, +/turf/open/floor/plating/asteroid/whitesands{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"Tw" = ( +/obj/item/candle/infinite{ + pixel_x = 10; + pixel_y = 8 + }, +/obj/item/candle/infinite{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/candle/infinite{ + pixel_y = 4 + }, +/obj/item/candle/infinite{ + pixel_x = 5; + pixel_y = 2 + }, +/obj/item/candle/infinite{ + pixel_x = 10 + }, +/obj/item/candle/infinite{ + pixel_x = 16; + pixel_y = 10 + }, +/obj/structure/table/wood/fancy/blue, +/turf/open/floor/carpet/orange, +/area/ruin/unpowered) +"Tx" = ( +/obj/structure/flora/junglebush/b, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"TA" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/ruin/unpowered) +"TL" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ul" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/railing, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"Uu" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/amaretto{ + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/trappist{ + pixel_x = 16; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"Ux" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"UE" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Vy" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/railing, +/obj/item/flashlight/lantern{ + on = 1 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"VB" = ( +/obj/structure/table/wood/reinforced, +/turf/open/floor/wood, +/area/ruin/unpowered) +"VI" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/ruin/unpowered) +"VR" = ( +/mob/living/simple_animal/hostile/human/hermit/survivor, +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/sand/explored) +"VS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"VX" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/sarsaparilla{ + pixel_y = 8; + pixel_x = -13 + }, +/obj/item/reagent_containers/food/drinks/bottle/tequila{ + pixel_x = 13; + pixel_y = 10 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"WH" = ( +/turf/open/floor/wood, +/area/ruin/unpowered) +"Xq" = ( +/obj/structure/table, +/obj/item/storage/firstaid/regular{ + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/food/snacks/soup/vegetable, +/obj/item/storage/pill_bottle/iron{ + pixel_x = 12; + pixel_y = 8 + }, +/obj/effect/turf_decal/corner/opaque/green/three_quarters{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"XD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"XH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/machinery/recharger, +/obj/item/attachment/foldable_stock{ + pixel_x = -14 + }, +/obj/item/attachment/foldable_stock{ + pixel_x = -14; + pixel_y = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"XK" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/sand/explored) +"XL" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/sillycup/smallcarton{ + pixel_x = 9; + pixel_y = 7 + }, +/obj/item/cigbutt{ + pixel_x = -8; + pixel_y = 11 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Ya" = ( +/mob/living/simple_animal/bot/medbot/rockplanet{ + faction = list("hermit") + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/green/three_quarters{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Yc" = ( +/obj/structure/table/wood/fancy/blue, +/turf/open/floor/carpet/orange, +/area/ruin/unpowered) +"Yg" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/corner/opaque/green/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/green/border, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Yh" = ( +/obj/item/shovel, +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"Yk" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/carpet/blue, +/area/ruin/unpowered) +"Yv" = ( +/obj/structure/flora/ash/cap_shroom, +/turf/open/floor/plating/asteroid/whitesands/dried/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Yx" = ( +/obj/structure/mineral_door/iron, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Yy" = ( +/mob/living/simple_animal/hostile/human/hermit/survivor, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"YV" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/unpowered) +"YX" = ( +/turf/open/floor/grass/ship/jungle, +/area/ruin/unpowered) +"YZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/ruin/unpowered) +"Zd" = ( +/obj/effect/decal/cleanable/blood, +/turf/closed/wall/mineral/wood/nonmetal, +/area/ruin/unpowered) +"Zf" = ( +/obj/structure/flora/ash/tall_shroom, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Zh" = ( +/turf/closed/wall/mineral/wood/nonmetal, +/area/overmap_encounter/planetoid/sand/explored) +"Zs" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/meat/steak/goliath{ + pixel_x = 4; + pixel_y = 7 + }, +/obj/item/spacecash/bundle/c5{ + pixel_x = 15; + pixel_y = -2 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) + +(1,1,1) = {" +aW +aW +aW +aW +aW +aW +lu +eD +TL +DH +DH +lu +lu +lu +aW +aW +aW +aW +aW +aW +aW +aW +lu +lu +lu +lu +aW +aW +aW +aW +"} +(2,1,1) = {" +aW +aW +aW +aW +aW +aW +aW +lu +DH +Cn +NY +lu +kX +kX +kX +kX +kX +kX +kX +aW +aW +aW +HI +vi +lu +lu +lu +aW +aW +aW +"} +(3,1,1) = {" +aW +aW +aW +aW +aW +aW +aW +NY +DH +NY +vr +NY +Zd +pn +Ul +TA +Eg +NG +kX +kX +HI +HI +HI +lu +lu +lu +lu +lu +lu +aW +"} +(4,1,1) = {" +aW +aW +aW +aW +aW +aW +lu +HI +NY +NY +Op +NY +kX +HV +Cc +WH +hp +oo +nF +kX +HI +sj +Hb +Hb +sE +Hb +To +Hb +Hb +aW +"} +(5,1,1) = {" +aW +aW +aW +aW +aW +aW +lu +sE +gk +NY +NY +lu +kX +pn +Vy +WH +LI +CT +XH +kX +lu +sE +sE +mz +hr +hr +Hb +Hb +Hb +aW +"} +(6,1,1) = {" +aW +aW +aW +aW +aW +lu +lu +lu +HI +NY +lu +lu +kX +kX +kX +WH +WH +Da +FU +kX +CI +hr +Hb +sE +hr +sE +sE +Hb +Hb +aW +"} +(7,1,1) = {" +aW +aW +aW +aW +aW +lu +mz +lu +HI +HI +xg +lu +Pu +kX +zi +LI +WH +kX +kX +kX +lu +sE +Hb +hr +hr +hr +sE +mz +hr +Hb +"} +(8,1,1) = {" +aW +aW +aW +aW +aW +lu +lu +sE +lu +HI +HI +kX +kX +kX +kX +WH +kD +oR +kX +lu +lu +Hb +Hb +sE +sE +sE +Hb +Hb +sE +hr +"} +(9,1,1) = {" +aW +aW +aW +aW +aW +lu +sE +lu +lu +Yv +HI +kX +Sf +zy +Jt +LB +BL +mn +hg +lu +lu +To +fK +hr +Hb +mz +hr +un +Hb +hr +"} +(10,1,1) = {" +aW +aW +aW +aW +lu +lu +lu +Zf +lu +lu +HI +kX +Ep +xm +lA +Da +Eg +pf +hg +lu +cS +Hb +hr +hr +sE +hr +hr +sE +Hb +aW +"} +(11,1,1) = {" +aW +aW +aW +aW +sE +lu +HI +HI +lu +xI +xI +xI +xI +xI +xI +xI +ae +Eg +kX +lu +lu +Hb +Hb +Hb +Hb +Hb +hr +Hb +Hb +aW +"} +(12,1,1) = {" +aW +aW +aW +aW +aW +HI +HI +xI +xI +xI +YX +YX +YX +YX +YX +YX +nn +Ge +xI +Fh +lu +mv +qD +Hb +sA +Hb +sE +sE +Hb +aW +"} +(13,1,1) = {" +aW +aW +aW +aW +aW +aW +aW +xI +YX +YX +YX +hO +YX +uG +YX +uG +uG +YX +xI +HI +lu +hr +Hb +mv +Hb +hr +Hb +Hb +aW +aW +"} +(14,1,1) = {" +aW +aW +aW +aW +aW +aW +xI +xI +MI +YX +YX +YX +DX +Ql +Nt +si +Tx +Ux +xI +xI +lu +hA +TL +TL +hr +vi +hr +aW +aW +aW +"} +(15,1,1) = {" +aW +aW +aW +aW +aW +aW +xI +MI +YX +Ux +YX +YX +CS +CS +CS +hT +MI +YX +GK +xI +lu +lu +lu +hR +TL +lu +aW +aW +aW +aW +"} +(16,1,1) = {" +aW +aW +aW +aW +aW +xI +xI +GK +YX +YX +Pm +xI +xI +xI +xI +Pm +YX +MI +YX +xI +xI +HI +lu +lu +TL +lu +lu +lu +aW +aW +"} +(17,1,1) = {" +aW +aW +aW +aW +aW +xI +GK +YX +MI +xI +xI +xI +dz +fz +xI +xI +xI +YX +YX +nG +xI +HI +lu +lu +lu +lu +lu +lu +lu +aW +"} +(18,1,1) = {" +aW +aW +aW +aW +aW +xI +YX +MI +MI +xI +CL +Bw +Bw +gH +Bw +CL +xI +Pm +MI +MI +xI +xI +kX +HI +HI +lu +TL +TL +vi +aW +"} +(19,1,1) = {" +aW +aW +aW +aW +aW +xI +YX +bB +xI +xI +ct +Bw +GU +GU +Bw +JK +xI +xI +YX +MI +mM +kX +kX +kX +kX +hA +lu +TL +lu +aW +"} +(20,1,1) = {" +aW +aW +aW +aW +aW +xI +YX +YX +JK +JK +JK +GU +Sd +Tw +GU +JK +tY +xI +YX +YX +rP +oo +Yx +WH +RN +lu +lu +TL +lu +aW +"} +(21,1,1) = {" +aW +aW +aW +aW +aW +xI +YX +YX +JK +JK +JK +GU +Yc +Cl +GU +JK +Kb +xI +YX +YX +Yy +WH +Yx +pf +RN +lu +lu +lu +lu +aW +"} +(22,1,1) = {" +aW +aW +aW +aW +aW +xI +YX +Pm +xI +xI +ct +Bw +GU +GU +Bw +JK +xI +xI +uG +LC +YZ +kX +kX +kX +kX +lu +lu +TL +lu +aW +"} +(23,1,1) = {" +aW +aW +aW +aW +aW +xI +YX +MI +DX +xI +CL +Bw +Bw +gH +Bw +CL +xI +Pm +uG +YX +xI +xI +kX +lu +hA +lu +lu +TL +lu +aW +"} +(24,1,1) = {" +aW +aW +aW +aW +aW +xI +YX +MI +MI +xI +xI +xI +Dk +dz +xI +xI +xI +YX +YX +GK +xI +Gl +HI +lu +lu +NR +TL +TL +lu +aW +"} +(25,1,1) = {" +aW +aW +aW +aW +aW +xI +xI +YX +Ux +YX +Pm +xI +xI +xI +xI +Pm +YX +YX +nG +xI +xI +Gl +HI +HI +Pu +TL +TL +lu +aW +aW +"} +(26,1,1) = {" +aW +aW +aW +aW +aW +aW +xI +Tx +Tx +YX +YX +CS +CS +CS +YX +Tx +YX +DX +YX +xI +lu +HI +HI +lu +lu +lu +aW +aW +aW +aW +"} +(27,1,1) = {" +aW +aW +kX +kX +xI +xI +xI +xI +fO +YX +YX +wh +Yh +Ql +YX +DX +YX +YX +YX +xI +lu +lu +lu +TL +lu +lu +lu +lu +lu +aW +"} +(28,1,1) = {" +aW +kX +kX +jy +Ht +wm +zj +yp +IZ +YX +YX +YX +YX +YX +nG +vH +YX +Mg +uv +kX +HI +lu +xK +TL +lu +Gc +Gc +Gc +lu +aW +"} +(29,1,1) = {" +aW +kX +WH +Qm +pa +WH +xj +LA +uq +BQ +YX +GK +YX +DA +YX +GK +uG +kF +uv +kX +kX +HI +lu +HI +Gc +Ex +Gc +tf +Gc +lu +"} +(30,1,1) = {" +kX +kX +oo +YV +kX +Lv +fB +OA +VB +xI +xI +xI +xI +xI +xI +xI +xI +jU +MM +Qk +hg +HI +HI +Gc +Gc +Gc +Gc +cr +Gc +lu +"} +(31,1,1) = {" +kX +cH +WH +WH +Gt +WH +DY +te +XD +GO +kX +HI +HI +kX +Xq +ht +Kl +xN +rw +bv +hg +HI +HI +wn +Gc +Gc +UE +cr +Gc +lu +"} +(32,1,1) = {" +kX +pf +jy +Zs +CN +tx +Il +XL +VS +qm +kX +HI +gk +kX +xQ +ql +Pb +Kt +Ya +bv +hg +HI +lu +Gc +tf +Gc +cr +cr +Gc +lu +"} +(33,1,1) = {" +kX +Da +ib +sf +fI +Yk +fB +wk +VS +Aw +kX +Mt +HI +kX +kX +kX +fd +kQ +Mz +xu +kX +mi +Gl +lu +Gc +Gc +Gc +Gc +lu +lu +"} +(34,1,1) = {" +kX +kX +Ps +Al +EW +FI +Il +jn +VS +Uu +Rq +xK +HI +lu +lu +kX +kX +yr +vR +Sj +kX +Iz +mq +qT +FK +Gl +Gc +Ex +lu +aW +"} +(35,1,1) = {" +aW +kX +cH +Qm +pa +LI +Il +mo +qS +AN +Rq +xK +lu +lu +lu +lu +kX +JM +rs +qC +kX +lu +Iz +vg +VR +FB +Gc +Gc +lu +aW +"} +(36,1,1) = {" +aW +kX +kX +YV +kX +Br +fB +wk +VS +Ly +Rq +xK +lu +lu +Zf +lu +kX +IE +LR +aS +kX +Iz +lu +Iz +lu +Zh +tf +Gc +lu +aW +"} +(37,1,1) = {" +aW +aW +kX +WH +is +WH +hN +VX +eC +wd +kX +PP +lu +lu +lu +lu +kX +xV +Yg +SB +kX +lu +XK +lu +Iz +Zh +Gc +lu +aW +aW +"} +(38,1,1) = {" +aW +aW +kX +kX +Da +WH +fB +bq +iu +kX +kX +HI +HI +lu +pu +lu +kX +kX +kX +kX +kX +cN +Zh +Gl +lu +lu +lu +lu +aW +aW +"} +(39,1,1) = {" +aW +aW +aW +kX +hg +hg +hg +kX +kX +kX +HI +nf +HI +aW +lu +aW +aW +VI +aW +aW +aW +lu +vi +lu +Zf +lu +lu +aW +aW +aW +"} +(40,1,1) = {" +aW +aW +aW +aW +aW +aW +aW +aW +aW +aW +HI +HI +HI +aW +aW +aW +aW +aW +aW +aW +aW +aW +lu +lu +lu +lu +aW +aW +aW +aW +"} diff --git a/_maps/RandomRuins/SandRuins/whitesands_cave_base.dmm b/_maps/RandomRuins/SandRuins/whitesands_cave_base.dmm new file mode 100644 index 00000000000..22683628b02 --- /dev/null +++ b/_maps/RandomRuins/SandRuins/whitesands_cave_base.dmm @@ -0,0 +1,5720 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"aO" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/ruin/whitesands/cave_base) +"bF" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/holopad/secure, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/item/paper{ + pixel_x = -6; + pixel_y = -4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/cave_base) +"cd" = ( +/obj/structure/flora/ash/tall_shroom, +/turf/open/floor/plating/asteroid/whitesands/grass, +/area/overmap_encounter/planetoid/cave/explored) +"ci" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/sheet/bone{ + pixel_x = 1; + pixel_y = -3 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"cC" = ( +/obj/machinery/blackbox_recorder{ + empty = 1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/window/reinforced/spawner{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/whitesands/cave_base) +"du" = ( +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"dO" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/disk/holodisk/ruin/cave_base/one{ + pixel_x = -3; + pixel_y = -6 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"dP" = ( +/obj/effect/turf_decal/industrial/warning/corner, +/obj/effect/turf_decal/steeldecal/steel_decals3{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer4{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/cave_base) +"dU" = ( +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/closed/wall/concrete/reinforced, +/area/ruin/whitesands/cave_base) +"dX" = ( +/obj/machinery/camera/cave_base{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/ruin/whitesands/cave_base) +"eh" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/structure/table, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/flashlight/lamp{ + pixel_y = 7; + pixel_x = 2 + }, +/obj/item/disk/holodisk/ruin/cave_base/six{ + pixel_y = 2; + pixel_x = -7 + }, +/turf/open/floor/carpet/red, +/area/ruin/whitesands/cave_base) +"ek" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/cave_base) +"er" = ( +/obj/item/stack/sheet/bone{ + pixel_x = 1; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"eE" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "floor4-old" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"eK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/hatch{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/cave_base/engi) +"eL" = ( +/obj/machinery/camera/cave_base, +/turf/open/floor/plating/asteroid/whitesands/grass, +/area/ruin/whitesands/cave_base) +"eS" = ( +/obj/structure/flora/ash/puce, +/turf/open/floor/plating/asteroid/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"eX" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals3{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/sign/warning/securearea{ + pixel_x = -25; + pixel_y = -5 + }, +/obj/machinery/camera/cave_base, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"eZ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/concrete/reinforced, +/area/ruin/whitesands/cave_base/engi) +"fb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/ore/salvage/scrapplasma, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"fi" = ( +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"fT" = ( +/obj/item/mine/pressure/explosive/rusty/live, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"gx" = ( +/obj/effect/turf_decal/corner_techfloor_gray/full{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/item/clothing/suit/armor/vest/duster{ + pixel_y = -4; + pixel_x = -6 + }, +/obj/item/rack_parts{ + pixel_y = 7; + pixel_x = 5 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil/streak, +/obj/item/ammo_box/magazine/sniper_rounds{ + start_empty = 1; + pixel_y = -4; + pixel_x = -1 + }, +/obj/item/melee/knife/survival{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/disk/holodisk/ruin/cave_base/three{ + pixel_y = 5; + pixel_x = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"gF" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"gG" = ( +/obj/structure/closet/secure_closet/personal{ + pixel_y = 0 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clothing/head/soft/black, +/obj/item/clothing/under/utility, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"gK" = ( +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"gN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/concrete/slab_1/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"hd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor4-old" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"hw" = ( +/obj/effect/turf_decal/corner_techfloor_gray/full, +/obj/structure/flippedtable{ + dir = 8 + }, +/obj/item/paper{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/paper{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/item/paper{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/disk/holodisk/ruin/cave_base/four{ + pixel_y = -7; + pixel_x = 4 + }, +/obj/item/ammo_casing/p50, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"hG" = ( +/obj/effect/turf_decal/floordetail/pryhole, +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/curtain/cloth, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/closet/wall/directional/west, +/obj/item/soap/deluxe, +/obj/item/towel{ + pixel_x = 4; + pixel_y = -4 + }, +/obj/item/towel{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/whitesands/cave_base) +"hN" = ( +/obj/structure/flora/ash/tall_shroom, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"iP" = ( +/obj/structure/flora/ash/stem_shroom, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"jj" = ( +/obj/item/pickaxe/mini, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"kr" = ( +/obj/structure/fence, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"kJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs/old{ + dir = 4 + }, +/area/overmap_encounter/planetoid/cave/explored) +"kM" = ( +/obj/structure/fence/cut/large{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"kN" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"lk" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/cave_base/engi) +"lw" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"lB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/rack_parts{ + pixel_y = -1; + pixel_x = -2 + }, +/obj/item/stack/ore/salvage/scrapmetal, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/item/circuitboard/machine/cell_charger, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"mh" = ( +/turf/closed/mineral/random/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"mo" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"my" = ( +/obj/structure/flora/ash/cap_shroom, +/turf/open/floor/plating/asteroid/whitesands/grass, +/area/overmap_encounter/planetoid/cave/explored) +"mz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"mP" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"mV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk, +/obj/machinery/door/window/brigdoor{ + dir = 8 + }, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 26 + }, +/turf/open/floor/plating, +/area/ruin/whitesands/cave_base) +"ni" = ( +/obj/structure/railing{ + dir = 10; + layer = 4.1 + }, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"nq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"nr" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"nw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/obj/item/rack_parts{ + pixel_y = 7; + pixel_x = 5 + }, +/obj/item/circuitboard/machine/space_heater{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/whitesands/cave_base/engi) +"nG" = ( +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"nL" = ( +/obj/machinery/door/airlock/hatch, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/cave_base) +"nM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/outlet_injector/layer2{ + dir = 4 + }, +/turf/open/floor/concrete/slab_1/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"od" = ( +/turf/closed/wall/concrete/reinforced, +/area/ruin/whitesands/cave_base) +"oe" = ( +/obj/structure/flora/ash/cap_shroom, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"oh" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/item/paper{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/paper{ + pixel_x = 11; + pixel_y = -5 + }, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/item/paper{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/item/paper{ + pixel_x = -6; + pixel_y = -10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"ou" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate{ + opened = 1 + }, +/obj/item/stock_parts/micro_laser/ultra, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"oP" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"oQ" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"oR" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/ash{ + pixel_y = -5; + pixel_x = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/turf_decal/industrial/stand_clear, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/hand_labeler_refill{ + pixel_y = -4; + pixel_x = -4 + }, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"pf" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel/tech, +/area/ruin/whitesands/cave_base) +"pp" = ( +/turf/open/water/acid/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"py" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"pV" = ( +/obj/machinery/camera/cave_base{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/whitesands/grass, +/area/ruin/whitesands/cave_base) +"qd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/whitesands/cave_base/engi) +"qr" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"qK" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"qO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -4; + pixel_y = 13 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/ash{ + pixel_y = -5; + pixel_x = 9 + }, +/obj/effect/decal/cleanable/ash{ + pixel_y = 10; + pixel_x = -5 + }, +/obj/item/ammo_casing/p50, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"qQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"qR" = ( +/turf/closed/wall/concrete/reinforced, +/area/overmap_encounter/planetoid/cave/explored) +"qU" = ( +/obj/item/rack_parts{ + pixel_y = 7; + pixel_x = -6 + }, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/item/ammo_casing/p50, +/turf/open/floor/plasteel/tech, +/area/ruin/whitesands/cave_base) +"qY" = ( +/obj/structure/table/greyscale, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/item/clipboard{ + pixel_y = 11; + pixel_x = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals3{ + dir = 5 + }, +/obj/item/paper_bin{ + pixel_y = -1; + pixel_x = -5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/ash{ + pixel_x = -11; + pixel_y = 4 + }, +/obj/item/pen/blue{ + pixel_y = 6; + pixel_x = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"qZ" = ( +/obj/structure/flora/ash/fern, +/turf/open/floor/plating/asteroid/whitesands/grass, +/area/overmap_encounter/planetoid/cave/explored) +"rx" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"rA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"rJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 8 + }, +/turf/open/floor/concrete/slab_1/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"rK" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 6; + pixel_x = 3 + }, +/obj/machinery/light/directional/south, +/obj/item/disk/holodisk/ruin/cave_base/two{ + pixel_y = -4; + pixel_x = -8 + }, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"rN" = ( +/obj/machinery/power/smes{ + input_level = 20000; + output_level = 15000 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/cave_base) +"sm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/whitesands/cave_base/engi) +"sr" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"sF" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals9, +/obj/item/paper{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/head/soft/black{ + pixel_y = 10; + pixel_x = 4 + }, +/obj/item/paper{ + pixel_y = -7; + pixel_x = -6 + }, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"sH" = ( +/obj/machinery/camera/cave_base{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/ruin/whitesands/cave_base) +"sL" = ( +/obj/structure/spawner/burrow/sand_planet, +/turf/open/floor/plating/asteroid/whitesands/grass, +/area/overmap_encounter/planetoid/cave/explored) +"sN" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/cave_base) +"sO" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"tA" = ( +/obj/structure/sign/warning/longtermwaste{ + pixel_y = -30 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"tB" = ( +/obj/machinery/porta_turret/cave_base{ + lethal = 1 + }, +/obj/effect/turf_decal/box/red, +/obj/structure/cable, +/obj/machinery/light/floor, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"tX" = ( +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"tY" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/machinery/power/deck_relay{ + pixel_y = 28; + pixel_x = -12 + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/whitesands/cave_base) +"ug" = ( +/obj/item/mine/pressure/explosive/rusty/live, +/turf/open/floor/plating/asteroid/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"uh" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"un" = ( +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"ux" = ( +/turf/template_noop, +/area/template_noop) +"vb" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"vg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/slab_1/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"vr" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/structure/filingcabinet/double{ + pixel_y = 16; + pixel_x = 5; + density = 0 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -11; + pixel_y = 4 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -4; + pixel_y = 13 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/oil/streak, +/obj/item/hand_labeler_refill{ + pixel_x = 4 + }, +/obj/item/ammo_casing/p50/penetrator, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"wc" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"wi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/ore/salvage/scrapsilver, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/ash{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -4; + pixel_y = 13 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"wq" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"wC" = ( +/obj/effect/anomaly/tvstatic/planetary, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"wD" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/generic, +/obj/item/disk/holodisk/ruin/cave_base/five{ + pixel_y = -2; + pixel_x = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"xe" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"xj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_techfloor_gray/full{ + dir = 8 + }, +/obj/machinery/autolathe, +/obj/effect/decal/cleanable/ash/large, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/whitesands/cave_base/engi) +"xr" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "floor4-old" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"xG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/structure/frame/machine, +/obj/item/stack/ore/salvage/scrapplasma, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"xI" = ( +/obj/effect/turf_decal/techfloor/hole{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/cave_base) +"xL" = ( +/obj/machinery/camera/cave_base, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/ruin/whitesands/cave_base) +"xV" = ( +/obj/structure/flora/ash/puce, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"yx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/item/stack/ore/salvage/scraptitanium, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"yA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/effect/decal/cleanable/ash/large{ + pixel_y = 8; + pixel_x = 3 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central6{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/ash{ + pixel_x = -6; + pixel_y = 17 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 4; + pixel_y = -9 + }, +/obj/item/grenade/c4/cave_base, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/cave_base) +"yD" = ( +/obj/machinery/porta_turret/cave_base{ + lethal = 1 + }, +/obj/structure/cable, +/obj/effect/turf_decal/box/red, +/obj/machinery/light/floor, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"zb" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/layer4{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"zj" = ( +/turf/open/floor/plating/asteroid/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"zr" = ( +/obj/structure/table/greyscale, +/obj/effect/turf_decal/corner_techfloor_gray/full{ + dir = 8 + }, +/obj/machinery/fax/ruin, +/obj/item/desk_flag{ + pixel_y = 12; + pixel_x = 11; + layer = 2.8 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"zs" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/red, +/area/ruin/whitesands/cave_base) +"zv" = ( +/turf/open/floor/plating/asteroid/whitesands/grass, +/area/overmap_encounter/planetoid/cave/explored) +"Aa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/concrete/slab_1/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"Ak" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"AH" = ( +/obj/machinery/telecomms/relay{ + pixel_y = 14; + pixel_x = 2; + network = "Operations Zone 107"; + id = "Groundbase-Omnicron" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/window/reinforced/spawner{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/item/stack/ore/salvage/scrapbluespace{ + pixel_y = 3 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/whitesands/cave_base) +"Bd" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Bm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"BZ" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Ca" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/computer/security/retro/cave_base, +/obj/machinery/turretid/lethal{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/whitesands/cave_base) +"CB" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"CP" = ( +/turf/closed/wall/concrete/reinforced, +/area/ruin/whitesands/cave_base/engi) +"Dh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/atmospherics/components/unary/portables_connector/layer4{ + dir = 1 + }, +/turf/open/floor/concrete/slab_1/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"Dj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/cave_base/engi) +"Do" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Dv" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"DY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/rack_parts{ + pixel_y = -1; + pixel_x = -2 + }, +/obj/item/stack/ore/salvage/scrapsilver, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"Eh" = ( +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Em" = ( +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clothing/suit/space/fragile, +/obj/item/clothing/head/helmet/space/fragile, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/cave_base) +"Ev" = ( +/obj/machinery/camera/cave_base{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/ruin/whitesands/cave_base) +"Ex" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/item/stack/ore/salvage/scrapmetal, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -4; + pixel_y = 13 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"EA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -11; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"EJ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = -22 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"EL" = ( +/turf/open/floor/plating/asteroid/whitesands/grass/dead, +/area/overmap_encounter/planetoid/cave/explored) +"ER" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/bin{ + pixel_y = 11; + pixel_x = -7 + }, +/obj/effect/spawner/random/maintenance, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"EX" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/generic, +/obj/item/grenade/c4/satchel_charge/cave_base, +/obj/item/gun/ballistic/automatic/marksman/taipan/no_mag{ + pixel_x = -14; + pixel_y = -10 + }, +/obj/item/assembly_holder/premade/cave_base{ + pixel_y = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/whitesands/cave_base) +"Ff" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_1/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"Fj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/salvageable/computer{ + dir = 4 + }, +/obj/effect/turf_decal/corner_techfloor_gray/full, +/obj/item/stack/ore/salvage/scrapsilver, +/obj/item/stock_parts/manipulator/pico{ + pixel_x = 5; + pixel_y = 3 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/whitesands/cave_base/engi) +"Fs" = ( +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Fv" = ( +/obj/effect/turf_decal/techfloor/corner, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Fw" = ( +/obj/structure/bed, +/obj/item/bedsheet/cosmos{ + desc = "In the cosmos I had a dream, dreamt I saw this world's destiny..." + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/toy/plush/nukeplushie{ + pixel_y = 4; + pixel_x = 3 + }, +/obj/structure/curtain/cloth, +/turf/open/floor/carpet/red, +/area/ruin/whitesands/cave_base) +"FC" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = -22 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"FN" = ( +/obj/machinery/power/deck_relay{ + pixel_y = 28; + pixel_x = 13 + }, +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/effect/decal/cleanable/wrapping, +/obj/item/clothing/under/utility{ + pixel_y = 5; + pixel_x = 5 + }, +/obj/item/ammo_casing/p50, +/turf/open/floor/plating, +/area/ruin/whitesands/cave_base) +"FQ" = ( +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"FS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/item/stock_parts/cell/high/empty, +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/effect/decal/cleanable/ash/large, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"Gd" = ( +/obj/effect/turf_decal/box/red, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light/floor, +/obj/machinery/porta_turret/cave_base{ + lethal = 1 + }, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"GH" = ( +/obj/machinery/camera/cave_base{ + dir = 6 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/ruin/whitesands/cave_base) +"GK" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 6 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Hr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/stack/sheet/bone{ + pixel_x = 4; + pixel_y = -5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"HF" = ( +/obj/machinery/porta_turret/cave_base{ + lethal = 1 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/box/red, +/obj/machinery/light/floor, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"If" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"IG" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-5" + }, +/obj/effect/turf_decal/corner_techfloor_gray/full{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/hand_labeler{ + pixel_x = 2; + pixel_y = -5 + }, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"IL" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"Ji" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs/old{ + dir = 4 + }, +/area/ruin/whitesands/cave_base) +"JB" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Ka" = ( +/obj/machinery/camera/cave_base{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/ruin/whitesands/cave_base) +"Kt" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"KF" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/floordetail/pryhole, +/obj/effect/decal/cleanable/ash{ + pixel_y = 12; + pixel_x = 5 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -13; + pixel_y = 1 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 2; + pixel_y = -2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"KG" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Lt" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/techfloor/corner, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Lz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/machinery/light_switch{ + pixel_y = 11; + pixel_x = -22; + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/under/utility{ + pixel_y = -12; + pixel_x = -8 + }, +/obj/item/clothing/head/soft/black{ + pixel_x = 7; + pixel_y = 8 + }, +/turf/open/floor/carpet/red, +/area/ruin/whitesands/cave_base) +"LI" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"LM" = ( +/mob/living/simple_animal/hostile/asteroid/goliath/beast, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Me" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/ash{ + pixel_y = -5; + pixel_x = 9 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -11; + pixel_y = 4 + }, +/obj/effect/decal/cleanable/ash{ + pixel_y = 16; + pixel_x = -10 + }, +/obj/effect/decal/cleanable/generic, +/obj/item/hand_labeler_refill{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/structure/closet/crate/bin{ + pixel_y = 11; + pixel_x = 8 + }, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"Mi" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Mo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/camera/cave_base{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/ruin/whitesands/cave_base) +"MP" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"MU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -4; + pixel_y = 13 + }, +/obj/effect/decal/cleanable/ash{ + pixel_y = -5; + pixel_x = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"Ng" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/flippedtable{ + dir = 8 + }, +/obj/item/circuitboard/machine/cell_charger, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"Nj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/ore/salvage/scraptitanium, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 3; + pixel_y = -3 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"Nw" = ( +/obj/structure/toilet{ + dir = 4; + pixel_y = 7; + pixel_x = -10; + layer = 2.91 + }, +/obj/structure/mirror{ + pixel_y = 30 + }, +/obj/structure/sink{ + pixel_y = 18 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"NE" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating/asteroid/whitesands/grass, +/area/overmap_encounter/planetoid/cave/explored) +"NR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -4; + pixel_y = 13 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"Op" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/cave_base) +"OG" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/structure/flippedtable, +/obj/item/paper/crumpled{ + pixel_x = 9; + pixel_y = 13 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak, +/obj/item/paper/crumpled{ + pixel_x = -9; + pixel_y = -2 + }, +/obj/item/paper/crumpled{ + pixel_x = 4; + pixel_y = -2 + }, +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = 7 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"Pa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/ore/salvage/scrapplasma, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/paper/crumpled{ + pixel_x = -9; + pixel_y = -2 + }, +/obj/item/paper/crumpled{ + pixel_x = 9; + pixel_y = 13 + }, +/obj/item/paper/crumpled, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"Pf" = ( +/obj/machinery/power/rtg/geothermal, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/concrete/slab_1/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"Pv" = ( +/obj/structure/railing, +/obj/effect/turf_decal/techfloor, +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"PS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Qb" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Qg" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"QC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"Rp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/effect/spawner/random/maintenance, +/obj/structure/sign/warning/securearea{ + pixel_x = 24; + pixel_y = -5 + }, +/turf/open/floor/concrete/slab_1/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"Rt" = ( +/obj/structure/flora/ash/cap_shroom, +/turf/open/floor/plating/asteroid/whitesands/grass/dead, +/area/overmap_encounter/planetoid/cave/explored) +"RC" = ( +/obj/effect/gibspawner/generic/animal, +/turf/open/floor/plating/asteroid/whitesands/grass/dead, +/area/overmap_encounter/planetoid/cave/explored) +"RG" = ( +/obj/structure/flora/ash/puce, +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"Sj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 26 + }, +/obj/effect/decal/cleanable/ash/large, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/whitesands/cave_base/engi) +"Sk" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/cave_base) +"Sl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/frame/machine, +/obj/item/stock_parts/manipulator/pico, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"Su" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid/whitesands/grass, +/area/overmap_encounter/planetoid/cave/explored) +"SY" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/box/red, +/obj/machinery/light/floor, +/obj/machinery/porta_turret/cave_base{ + lethal = 1 + }, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"TU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/concrete/slab_1/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"Va" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/floordetail/pryhole, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/oil/streak, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/item/stack/ore/salvage/scrapmetal, +/obj/structure/flippedtable{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/whitesands/cave_base) +"Vc" = ( +/obj/item/stack/sheet/bone{ + pixel_y = 3; + pixel_x = -4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Vf" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Vn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -11; + pixel_y = 4 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "!"; + pixel_x = 12; + pixel_y = 11 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "#" + }, +/obj/item/mine/pressure/explosive/shrapnel/live, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"Vr" = ( +/obj/structure/spawner/burrow/sand_planet, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"VL" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"VW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -11; + pixel_y = 4 + }, +/obj/item/stock_parts/capacitor/super{ + pixel_y = 8; + pixel_x = 3 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base/engi) +"Wf" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"WD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/ash{ + pixel_y = 10; + pixel_x = -5 + }, +/obj/item/clothing/shoes/jackboots{ + pixel_x = -2; + pixel_y = -4 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -11; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 4; + pixel_y = 7 + }, +/obj/item/stack/ore/salvage/scrapsilver, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/cave_base) +"WR" = ( +/obj/effect/gibspawner/generic/animal, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Xa" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Xc" = ( +/mob/living/simple_animal/hostile/asteroid/goliath/beast, +/turf/open/floor/plating/asteroid/whitesands/grass, +/area/overmap_encounter/planetoid/cave/explored) +"Xe" = ( +/obj/machinery/porta_turret/cave_base, +/turf/closed/mineral/random/whitesands, +/area/overmap_encounter/planetoid/cave/explored) +"XF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1/whitesands, +/area/ruin/whitesands/cave_base) +"XG" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/item/rack_parts{ + pixel_y = -9; + pixel_x = -4 + }, +/obj/item/storage/toolbox/electrical{ + pixel_y = 10; + pixel_x = -9 + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/cave_base) +"Yy" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/stairs/old{ + dir = 1 + }, +/area/ruin/whitesands/cave_base) +"YJ" = ( +/obj/structure/cable{ + icon_state = "6-10" + }, +/turf/closed/wall/concrete/reinforced, +/area/ruin/whitesands/cave_base) +"YY" = ( +/obj/structure/railing/corner, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"Zh" = ( +/obj/structure/vein, +/turf/open/floor/plating/asteroid/whitesands/grass, +/area/overmap_encounter/planetoid/cave/explored) +"Zr" = ( +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/whitesands/dried, +/area/overmap_encounter/planetoid/cave/explored) +"ZB" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-6" + }, +/obj/effect/turf_decal/industrial/warning/corner, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/sign/warning/electricshock{ + pixel_x = 24; + pixel_y = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/washing_machine{ + pixel_y = 17; + pixel_x = 8 + }, +/turf/open/floor/plating, +/area/ruin/whitesands/cave_base) +"ZJ" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 9 + }, +/obj/item/lighter{ + pixel_y = 11; + pixel_x = 11 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -6; + pixel_y = 17 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/molten_object{ + pixel_y = -6; + pixel_x = -4 + }, +/obj/effect/decal/cleanable/ash{ + pixel_y = 12; + pixel_x = 5 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/ash/large{ + pixel_y = 3; + pixel_x = -4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/cave_base) + +(1,1,1) = {" +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +mh +mh +mh +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(2,1,1) = {" +ux +ux +ux +ux +ux +ux +ux +FQ +FQ +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(3,1,1) = {" +ux +ux +ux +ux +ux +ux +ux +ux +FQ +FQ +FQ +ux +ux +ux +ux +ux +ux +ux +ux +ux +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(4,1,1) = {" +ux +ux +ux +ux +ux +ux +ux +mh +FQ +FQ +FQ +ux +ux +ux +ux +ux +ux +ux +ux +mh +mh +mh +tX +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(5,1,1) = {" +ux +ux +ux +ux +ux +ux +mh +qR +kM +kr +qR +ux +ux +ux +ux +ux +ux +mh +mh +mh +mh +tX +tX +tX +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(6,1,1) = {" +ux +ux +ux +ux +ux +mh +mh +tX +tX +tX +mh +ux +ux +ux +ux +ux +mh +mh +mh +mh +tX +tX +tX +tX +tX +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(7,1,1) = {" +ux +ux +ux +ux +mh +mh +tX +tX +tX +mh +mh +mh +ux +ux +ux +mh +mh +mh +mh +tX +tX +fT +hN +tX +Ev +qR +mh +mh +tX +tX +tX +tX +tX +tX +tX +tX +mh +mh +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(8,1,1) = {" +ux +ux +ux +ux +mh +KG +tX +tX +mh +mh +mh +mh +ux +ux +ux +mh +mh +mh +tX +KG +tX +tX +tX +tX +tX +tX +mh +mh +tX +tX +Fv +qr +Zr +tX +tX +tX +tX +tX +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(9,1,1) = {" +ux +ux +ux +mh +mh +tX +tX +tX +mh +mh +ux +ux +ux +ux +ux +mh +mh +tX +hN +tX +tX +tX +mh +tX +MP +Bd +Bd +Bd +Bd +Bd +LI +tB +Mi +tX +mh +mh +tX +tX +tX +tX +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(10,1,1) = {" +ux +ux +mh +mh +tX +tX +tX +tX +mh +mh +ux +mh +ux +ux +ux +mh +mh +tX +tX +tX +tX +mh +mh +zj +vb +KG +tX +tX +tX +tX +nG +VL +du +sH +qR +mh +mh +tX +KG +tX +tX +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(11,1,1) = {" +ux +mh +mh +mh +tX +jj +tX +mh +mh +mh +mh +mh +ux +mh +mh +mh +tX +tX +tX +mh +pp +mh +mh +zj +vb +tX +tX +tX +mh +mh +tX +YY +uh +kJ +mh +mh +mh +mh +tX +tX +tX +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(12,1,1) = {" +ux +mh +mh +mh +tX +fT +tX +mh +mh +mh +mh +mh +mh +mh +mh +tX +tX +tX +tX +mh +pp +pp +mh +zj +xe +ug +tX +mh +mh +mh +mh +mh +nM +rJ +Bm +Aa +mh +mh +mh +tX +tX +tX +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(13,1,1) = {" +ux +mh +mh +mh +KG +tX +tX +mh +mh +mh +mh +mh +mh +mh +tX +tX +KG +tX +mh +mh +pp +pp +mh +zj +xe +zj +zj +mh +mh +mh +mh +mh +Rp +vg +gN +gN +Dh +mh +mh +tX +fT +tX +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(14,1,1) = {" +ux +mh +mh +mh +mh +tX +tX +mh +mh +mh +mh +mh +mh +mh +tX +tX +tX +zj +mh +pp +pp +mh +mh +zj +vb +zj +zj +mh +mh +mh +mh +mh +CP +lk +CP +Bm +TU +mh +mh +tX +tX +tX +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(15,1,1) = {" +mh +mh +mh +mh +mh +tX +tX +tX +mh +mh +mh +mh +KG +tX +fT +WR +zj +zj +mh +mh +mh +mh +mh +zj +vb +zj +tX +mh +mh +mh +mh +mh +CP +EJ +CP +Bm +mh +mh +mh +tX +tX +tX +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(16,1,1) = {" +mh +mh +mh +mh +zv +tX +KG +tX +mh +tX +mh +mh +tX +tX +tX +tX +Fv +wc +RG +mh +mh +mh +MP +Bd +JB +tX +mh +mh +CP +CP +CP +CP +CP +Dj +CP +CP +mh +mh +tX +tX +tX +tX +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(17,1,1) = {" +mh +mh +mh +qZ +zv +tX +tX +tX +tX +hN +tX +tX +tX +tX +tX +tX +Fs +HF +IL +zj +eS +mh +vb +tX +tX +mh +mh +mh +CP +xj +Fj +CP +ER +Vn +lB +CP +mh +mh +tX +tX +tX +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(18,1,1) = {" +mh +mh +qR +eL +zv +qZ +mh +mh +tX +tX +tX +tX +tX +mh +mh +KG +gK +qQ +un +zj +zj +mh +Lt +qr +Zr +mh +mh +mh +CP +sm +qd +CP +Nj +EA +DY +CP +mh +mh +tX +Ka +tX +mh +pp +pp +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(19,1,1) = {" +mh +mh +mh +zv +Su +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +oQ +Bd +If +Bd +Bd +nr +yD +Mi +mh +mh +mh +CP +nw +Sj +eK +VW +Ex +xG +CP +mh +mh +mh +qR +tX +mh +pp +pp +pp +mh +mh +mh +mh +ux +ux +ux +ux +FQ +FQ +ux +ux +ux +"} +(20,1,1) = {" +mh +mh +mh +zv +zv +qZ +mh +mh +mh +mh +mh +mh +mh +pp +pp +mh +mh +mh +tX +vb +mh +mh +gK +Vf +un +qR +mh +mh +CP +eZ +eZ +CP +Ng +qO +FS +CP +mh +mh +mh +mh +tX +tX +tX +pp +pp +mh +mh +mh +mh +ux +ux +ux +ux +FQ +FQ +FQ +ux +ux +"} +(21,1,1) = {" +ux +mh +mh +qZ +zv +mh +mh +tX +mh +mh +tX +tX +tX +tX +pp +pp +pp +mh +mh +vb +mh +mh +mh +tX +tX +dX +mh +mh +mh +mh +CP +Pa +NR +MU +yx +CP +mh +mh +mh +tX +tX +tX +tX +pp +pp +mh +mh +mh +mh +mh +mh +mh +mh +mh +FQ +FQ +FQ +ux +"} +(22,1,1) = {" +ux +mh +mh +mh +mh +mh +mh +tX +mh +tX +Fv +qr +Zr +tX +pp +pp +pp +mh +mh +vb +tX +tX +mh +tX +tX +tX +mh +mh +mh +mh +CP +Sl +wi +ou +fb +CP +mh +mh +mh +tX +tX +tX +mh +pp +mh +mh +mh +mh +mh +mh +mh +mh +mh +tX +FQ +FQ +FQ +ux +"} +(23,1,1) = {" +mh +mh +mh +mh +mh +mh +hN +GK +tX +tX +Fs +SY +Mi +tX +tX +pp +mh +mh +mh +vb +tX +tX +mh +mh +tX +tX +tX +tX +mh +mh +CP +CP +CP +CP +CP +CP +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +tX +tX +tX +FQ +FQ +ux +"} +(24,1,1) = {" +ux +mh +mh +mh +tX +mh +Qg +Pf +gF +tX +gK +qQ +un +tX +tX +mh +mh +mh +tX +vb +tX +tX +mh +tX +tX +tX +KG +tX +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +tX +tX +tX +tX +FQ +FQ +FQ +"} +(25,1,1) = {" +mh +mh +mh +mh +tX +mh +tX +Xa +Bd +Bd +Bd +Qb +wq +mh +mh +mh +mh +MP +Bd +JB +mh +zj +mh +tX +mh +fT +tX +tX +tX +mh +mh +mh +mh +mh +mh +mh +mh +mh +tX +tX +tX +tX +mh +mh +mh +mh +mh +mh +mh +mh +tX +tX +tX +tX +tX +FQ +FQ +FQ +"} +(26,1,1) = {" +mh +mh +mh +tX +tX +MP +Ak +tX +tX +Ka +tX +mh +vb +mh +mh +mh +tX +vb +mh +mh +mh +zj +zj +tX +mh +mh +tX +tX +tX +mh +mh +mh +mh +mh +mh +mh +mh +zv +tX +tX +iP +tX +tX +tX +mh +mh +mh +mh +tX +tX +tX +tX +tX +tX +tX +FQ +FQ +FQ +"} +(27,1,1) = {" +mh +mh +mh +xV +tX +vb +mh +qR +mh +qR +mh +mh +eE +Bd +Bd +Bd +Bd +JB +mh +mh +zj +zj +zj +zj +mh +mh +tX +tX +tX +mh +mh +tX +tX +tX +mh +mh +zv +qZ +zv +tX +tX +tX +tX +tX +KG +tX +tX +iP +tX +fT +tX +tX +tX +tX +tX +FQ +FQ +FQ +"} +(28,1,1) = {" +mh +mh +mh +mh +tX +vb +mh +mh +od +od +od +od +mh +tX +tX +mh +mh +mh +mh +mh +zj +zj +ug +zj +mh +mh +mh +tX +tX +tX +tX +tX +LM +tX +tX +tX +zv +zv +zv +KG +tX +tX +tX +iP +tX +tX +tX +tX +tX +tX +tX +tX +tX +tX +tX +FQ +FQ +FQ +"} +(29,1,1) = {" +ux +mh +mh +mh +tX +Mo +qR +mh +od +rN +XG +od +mh +mh +mh +mh +mh +mh +mh +mh +mh +zj +zj +zj +mh +mh +mh +mh +tX +tX +tX +tX +tX +oe +tX +tX +tX +qZ +zv +zv +tX +tX +tX +tX +fT +tX +tX +tX +tX +tX +tX +tX +tX +tX +mh +FQ +FQ +FQ +"} +(30,1,1) = {" +ux +ux +mh +mh +tX +vb +mh +mh +od +ZB +KF +od +od +od +od +od +od +od +od +od +mh +mh +zj +zj +mh +mh +mh +mh +mh +tX +tX +tX +tX +tX +tX +tX +LM +zv +zv +qZ +mh +tX +tX +iP +tX +tX +KG +tX +tX +tX +KG +tX +tX +mh +mh +mh +FQ +ux +"} +(31,1,1) = {" +mh +ux +mh +mh +tX +lw +tX +qR +od +od +Sk +od +gx +sF +oh +hw +od +Nw +hG +od +mh +mh +zj +mh +mh +mh +mh +tX +tX +tX +tX +tX +tX +Ka +tX +tX +zv +zv +zv +zv +mh +mh +tX +tX +tX +tX +tX +tX +tX +tX +tX +tX +mh +mh +mh +ux +ux +ux +"} +(32,1,1) = {" +mh +mh +mh +mh +tX +tX +oP +mh +od +Em +QC +xI +oR +yA +bF +OG +od +sN +od +od +od +mh +mh +mh +mh +mh +mh +mh +oe +tX +tX +tX +tX +qR +mh +mh +qZ +zv +mh +mh +mh +mh +tX +mh +mh +qR +xL +tX +tX +mh +mh +mh +mh +mh +ux +ux +ux +ux +"} +(33,1,1) = {" +ux +mh +mh +mh +mh +tX +vb +mh +od +dP +FC +od +vr +ZJ +WD +wD +nL +nq +Lz +zs +od +mh +mh +mh +mh +mh +mh +mh +tX +Vr +tX +tX +mh +mh +mh +mh +tX +mh +mh +mh +mh +mh +mh +mh +mh +mh +tX +tX +tX +mh +mh +mh +mh +ux +ux +ux +ux +ux +"} +(34,1,1) = {" +ux +mh +mh +mh +tX +tX +vb +mh +od +dU +Op +od +zr +qY +Me +IG +od +gG +eh +Fw +od +mh +pp +pp +pp +pp +mh +mh +tX +tX +tX +mh +mh +mh +mh +mh +tX +tX +tX +tX +mh +mh +mh +mh +mh +tX +tX +tX +tX +mh +mh +ux +ux +ux +ux +ux +ux +ux +"} +(35,1,1) = {" +ux +mh +mh +tX +tX +tX +vb +mh +od +eX +rx +od +od +FN +aO +Ji +od +od +od +od +od +mh +pp +pp +pp +pp +mh +tX +tX +tX +mh +mh +mh +mh +mh +mh +tX +mh +mh +tX +mh +mh +KG +tX +tX +tX +tX +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +"} +(36,1,1) = {" +ux +mh +mh +tX +tX +er +PS +Ff +od +Dv +XF +rK +YJ +od +od +ek +od +mh +mh +mh +mh +mh +pp +pp +tX +tX +tX +tX +tX +mh +mh +mh +mh +mh +mh +tX +tX +tX +mh +mh +mh +mh +tX +tX +tX +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(37,1,1) = {" +mh +mh +mh +mh +mh +tX +Do +ci +dO +Yy +Kt +tA +od +tY +qU +Va +od +mh +mh +mh +mh +pp +pp +pp +tX +iP +tX +tX +tX +mh +mh +mh +mh +mh +mh +tX +fi +tX +mh +mh +mh +tX +tX +tX +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(38,1,1) = {" +mh +mh +tX +mh +mh +mh +sO +rA +Eh +ni +hd +mz +od +Ca +EX +pf +od +mh +mh +mh +pp +pp +mh +pp +tX +tX +tX +KG +tX +mh +mh +mh +mh +mh +tX +tX +tX +tX +mh +mh +mh +tX +tX +tX +mh +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +"} +(39,1,1) = {" +mh +mh +tX +mh +mh +mh +Hr +BZ +rA +Pv +Wf +zb +od +AH +mV +cC +od +mh +mh +mh +pp +mh +mh +mh +tX +tX +tX +tX +tX +mh +mh +mh +mh +mh +oe +KG +tX +mh +mh +tX +tX +tX +tX +tX +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(40,1,1) = {" +mh +mh +tX +tX +tX +mh +vb +rA +qK +sr +od +od +od +od +od +od +od +mh +mh +mh +mh +mh +mh +mh +mh +tX +iP +tX +tX +mh +mh +mh +mh +tX +tX +tX +tX +mh +mh +tX +tX +tX +tX +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(41,1,1) = {" +mh +mh +tX +tX +tX +mh +vb +py +Vc +mP +tX +od +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +tX +mh +mh +mh +tX +tX +tX +tX +mh +mh +tX +tX +tX +tX +tX +mh +tX +tX +tX +tX +tX +mh +tX +tX +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(42,1,1) = {" +mh +mh +tX +iP +tX +tX +vb +tX +tX +tX +mP +tX +mh +mh +mh +mh +tX +tX +mh +mh +mh +tX +tX +tX +mh +qR +GH +tX +fT +tX +tX +mh +tX +tX +tX +mh +mh +mh +tX +tX +tX +tX +tX +mh +tX +tX +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(43,1,1) = {" +mh +mh +mh +iP +tX +tX +vb +tX +tX +tX +tX +oP +qR +mh +mh +mh +tX +tX +tX +mh +mh +tX +tX +mh +mh +qR +tX +tX +tX +tX +mh +mh +fi +tX +mh +mh +mh +mh +tX +tX +tX +tX +mh +mh +tX +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(44,1,1) = {" +mh +mh +mh +mh +iP +Fv +CB +Zr +tX +Xe +tX +lw +tX +tX +qR +mh +mh +tX +tX +mh +tX +tX +KG +tX +mh +mh +tX +tX +oe +tX +mh +mh +tX +tX +mh +mh +mh +mh +tX +tX +tX +tX +mh +tX +tX +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(45,1,1) = {" +mh +mh +mh +qR +GH +Fs +Gd +Mi +tX +mh +qR +GH +mP +tX +tX +mh +qR +tX +tX +mh +tX +tX +tX +tX +tX +tX +tX +tX +tX +mh +mh +tX +aa +tX +mh +mh +mh +mh +tX +EL +EL +mh +mh +tX +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(46,1,1) = {" +mh +mh +mh +mh +tX +gK +Vf +un +tX +mh +mh +tX +Fv +kN +Zr +tX +tX +tX +mh +mh +tX +fT +tX +tX +tX +hN +tX +tX +mh +mh +mh +tX +mo +tX +mh +mh +mh +EL +EL +EL +EL +mh +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(47,1,1) = {" +mh +ux +mh +mh +mh +tX +tX +WR +tX +mh +mh +tX +Fs +Gd +Mi +tX +WR +tX +mh +tX +tX +tX +tX +mh +tX +tX +tX +mh +mh +mh +tX +tX +tX +tX +mh +mh +mh +EL +EL +EL +EL +mh +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(48,1,1) = {" +ux +ux +mh +mh +mh +mh +tX +tX +tX +mh +mh +tX +gK +Vf +un +tX +tX +tX +tX +tX +xr +tX +tX +mh +mh +tX +tX +mh +mh +tX +tX +tX +tX +mo +EL +mh +mh +EL +my +zv +EL +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(49,1,1) = {" +ux +ux +ux +mh +mh +mh +mh +tX +tX +mh +qR +tX +tX +tX +tX +tX +qR +mh +mh +zv +tX +tX +mh +mh +mh +tX +mh +mh +mh +tX +wC +tX +tX +EL +EL +EL +zv +zv +zv +zv +zv +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(50,1,1) = {" +ux +ux +ux +mh +mh +mh +mh +tX +mh +mh +mh +mh +hN +tX +tX +mh +mh +mh +zv +zv +pV +qR +mh +mh +zv +qZ +mh +mh +mh +tX +tX +tX +Rt +EL +RC +zv +NE +cd +Xc +zv +zv +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(51,1,1) = {" +ux +ux +ux +ux +ux +mh +mh +mh +mh +mh +mh +mh +mh +tX +tX +mh +mh +mh +zv +qZ +zv +mh +mh +zv +zv +zv +zv +mh +mh +mh +mh +mh +EL +EL +zv +zv +zv +sL +zv +zv +my +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(52,1,1) = {" +ux +ux +ux +ux +ux +ux +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +zv +zv +zv +zv +zv +Zh +zv +zv +mh +mh +mh +mh +mh +mh +zv +cd +zv +zv +zv +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(53,1,1) = {" +ux +ux +ux +ux +ux +ux +ux +ux +ux +mh +mh +mh +mh +mh +mh +mh +mh +mh +mh +zv +zv +qZ +zv +zv +qZ +zv +mh +mh +mh +mh +mh +mh +mh +my +zv +Xc +zv +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(54,1,1) = {" +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +mh +mh +mh +mh +zv +Su +zv +zv +zv +zv +mh +mh +mh +mh +mh +ux +mh +mh +mh +mh +zv +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(55,1,1) = {" +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +mh +mh +mh +zv +qZ +zv +mh +mh +mh +mh +ux +mh +mh +ux +ux +mh +mh +mh +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(56,1,1) = {" +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +mh +mh +mh +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} +(57,1,1) = {" +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +mh +mh +mh +mh +mh +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +mh +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +ux +"} diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm index f59cff023b4..694f707235e 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm @@ -55,8 +55,10 @@ }, /area/overmap_encounter/planetoid/sand/explored) "cI" = ( -/obj/item/clothing/glasses/thermal/eyepatch, /obj/effect/mob_spawn/human/corpse/charredskeleton, +/obj/item/garnish/gold{ + pixel_x = 10 + }, /turf/open/floor/plating/asteroid/whitesands{ light_range = 2 }, @@ -115,7 +117,7 @@ /area/ruin) "fb" = ( /obj/structure/flora/ash/cap_shroom, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/asteroid/whitesands{ light_range = 2 }, @@ -213,7 +215,7 @@ /turf/open/floor/plating, /area/ruin) "ii" = ( -/obj/item/ammo_box/aac_300blk_stripper, +/obj/item/ammo_box/a762_stripper, /turf/open/floor/wood, /area/ruin) "iK" = ( @@ -223,7 +225,7 @@ /area/overmap_encounter/planetoid/sand/explored) "iL" = ( /obj/structure/statue/snow/snowman, -/obj/item/kitchen/knife/shiv/carrot, +/obj/item/melee/knife/shiv/carrot, /turf/open/floor/plating/asteroid/snow/lit/whitesands, /area/overmap_encounter/planetoid/sand/explored) "iQ" = ( @@ -269,7 +271,7 @@ /area/overmap_encounter/planetoid/sand/explored) "ko" = ( /obj/structure/closet/crate/bin, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/chair/stool/bar, /turf/open/floor/wood, /area/ruin) @@ -290,7 +292,7 @@ }, /area/overmap_encounter/planetoid/sand/explored) "kO" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/asteroid/whitesands{ light_range = 2 }, @@ -387,20 +389,19 @@ /area/overmap_encounter/planetoid/sand/explored) "nV" = ( /obj/structure/fence/corner{ - dir = 8 + dir = 10 }, /turf/open/floor/plating/asteroid/whitesands/dried{ light_range = 2 }, /area/overmap_encounter/planetoid/sand/explored) "nW" = ( -/obj/machinery/biogenerator, -/obj/machinery/door/window/northleft, +/obj/structure/frame/machine, +/obj/machinery/door/window/northright, /turf/open/floor/wood, /area/ruin) "nZ" = ( /obj/structure/table, -/obj/item/clothing/glasses/meson/gar, /turf/open/floor/concrete, /area/ruin) "ox" = ( @@ -544,7 +545,7 @@ pixel_x = -5; pixel_y = 5 }, -/obj/item/gun/ballistic/shotgun/doublebarrel, +/obj/item/gun/ballistic/shotgun/doublebarrel/improvised, /turf/open/floor/wood, /area/ruin) "uf" = ( @@ -652,7 +653,7 @@ /turf/open/floor/wood, /area/ruin) "yZ" = ( -/obj/item/spear, +/obj/item/melee/spear, /obj/effect/mob_spawn/human/corpse/damaged/whitesands/survivor, /turf/open/floor/plating/asteroid/whitesands/dried{ light_range = 2 @@ -700,7 +701,7 @@ /area/ruin) "AI" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ruin) "AR" = ( @@ -855,7 +856,6 @@ /obj/item/radio, /obj/item/radio, /obj/item/radio, -/obj/item/tank/internals/emergency_oxygen/double, /turf/open/floor/concrete, /area/ruin) "Hb" = ( @@ -881,49 +881,29 @@ /area/overmap_encounter/planetoid/sand/explored) "Hn" = ( /obj/structure/closet/secure_closet/hydroponics, -/obj/item/circuitboard/machine/plantgenes, /obj/item/gun/ballistic/rifle/polymer, /turf/open/floor/wood, /area/ruin) "HP" = ( /obj/structure/closet/crate/hydroponics, -/obj/item/seeds/apple, -/obj/item/seeds/banana, -/obj/item/seeds/berry, -/obj/item/seeds/cabbage, -/obj/item/seeds/carrot, +/obj/effect/decal/cleanable/dirt, /obj/item/seeds/chili, -/obj/item/seeds/cherry, -/obj/item/seeds/cocoapod, -/obj/item/seeds/cotton, -/obj/item/seeds/corn, /obj/item/seeds/garlic, -/obj/item/seeds/eggplant, -/obj/item/seeds/orange, +/obj/item/seeds/tomato, /obj/item/seeds/onion, -/obj/item/seeds/lemon, -/obj/item/seeds/lime, -/obj/item/seeds/pineapple, -/obj/item/seeds/potato, /obj/item/seeds/pumpkin, -/obj/item/seeds/sugarcane, -/obj/item/seeds/tea, -/obj/item/seeds/tobacco, -/obj/item/seeds/tomato, -/obj/item/seeds/wheat, -/obj/item/seeds/watermelon, -/obj/effect/decal/cleanable/dirt, +/obj/item/seeds/potato, /turf/open/floor/wood, /area/ruin) "HX" = ( -/obj/effect/spawner/lootdrop/armory_contraband/metastation, +/obj/effect/spawner/random/medical/supplies, /turf/open/floor/plating/asteroid/whitesands/dried{ light_range = 2 }, /area/overmap_encounter/planetoid/sand/explored) "Ig" = ( /obj/structure/table, -/obj/item/gun/ballistic/automatic/pistol/candor, +/obj/item/tank/internals/emergency_oxygen/double, /turf/open/floor/concrete, /area/ruin) "Io" = ( @@ -964,12 +944,6 @@ light_range = 2 }, /area/overmap_encounter/planetoid/sand/explored) -"JE" = ( -/obj/effect/spawner/lootdrop/tool_engie_sydnie, -/turf/open/floor/plating/asteroid/whitesands{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/sand/explored) "JI" = ( /obj/item/shard{ icon_state = "tiny" @@ -987,16 +961,10 @@ /obj/structure/destructible/tribal_torch/lit, /turf/open/floor/wood, /area/ruin) -"KH" = ( -/obj/structure/reagent_dispensers/watertank/high, -/turf/open/floor/plating/asteroid/whitesands/dried{ - light_range = 2 - }, -/area/overmap_encounter/planetoid/sand/explored) "KJ" = ( /obj/structure/table, /obj/item/gun/ballistic/automatic/smg/skm_carbine, -/obj/item/ammo_box/magazine/skm_545_39, +/obj/item/ammo_box/magazine/skm_46_30, /turf/open/floor/concrete, /area/ruin) "Ld" = ( @@ -1066,7 +1034,7 @@ /turf/open/floor/wood, /area/ruin) "Ok" = ( -/turf/open/acid/whitesands, +/turf/open/water/acid/whitesands, /area/overmap_encounter/planetoid/sand/explored) "Ov" = ( /obj/item/clothing/head/cowboy{ @@ -1095,11 +1063,6 @@ icon_state = "wood-broken7" }, /area/ruin) -"Px" = ( -/obj/structure/closet/cabinet, -/obj/item/storage/bag/money, -/turf/open/floor/wood, -/area/ruin) "PX" = ( /obj/effect/decal/cleanable/dirt, /obj/item/stack/sheet/mineral/wood, @@ -1165,7 +1128,7 @@ }, /area/overmap_encounter/planetoid/sand/explored) "SV" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/asteroid/whitesands/dried{ light_range = 2 }, @@ -1184,8 +1147,8 @@ /area/ruin) "Tl" = ( /obj/structure/table, -/obj/item/ammo_box/aac_300blk_stripper, -/obj/item/ammo_box/aac_300blk_stripper, +/obj/item/ammo_box/a762_stripper, +/obj/item/ammo_box/a762_stripper, /turf/open/floor/concrete, /area/ruin) "TH" = ( @@ -1274,7 +1237,7 @@ /area/ruin) "Xa" = ( /obj/structure/closet/crate/bin, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/wood, /area/ruin) "Xb" = ( @@ -1302,7 +1265,6 @@ "XP" = ( /obj/structure/table, /obj/item/trash/can, -/obj/item/ammo_box/c45/surplus, /turf/open/floor/concrete, /area/ruin) "XS" = ( @@ -2660,7 +2622,7 @@ rx Bw yc YI -KH +mv mv iK iK @@ -3684,7 +3646,7 @@ iK iK kK WD -Px +er Pi er wX @@ -3888,7 +3850,7 @@ lG kK kO ql -JE +kK OZ kK kK diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm index d4c307df25d..17a16c3fffc 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm @@ -133,7 +133,7 @@ /area/ruin/whitesands/saloon) "eq" = ( /obj/structure/closet/crate/bin, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/directional/west, /turf/open/floor/wood, @@ -220,7 +220,7 @@ /area/ruin/whitesands/saloon) "ge" = ( /obj/structure/closet/cabinet, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ icon_state = "wood-broken5" @@ -243,7 +243,7 @@ }, /obj/effect/turf_decal/siding/wood, /obj/structure/chair/stool/bar, -/mob/living/simple_animal/hostile/human/hermit/survivor, +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger, /turf/open/floor/wood, /area/ruin/whitesands/saloon) "gC" = ( @@ -426,7 +426,7 @@ /area/ruin/whitesands/saloon) "lg" = ( /obj/structure/closet/crate/bin, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/wood, /area/ruin/whitesands/saloon) "lB" = ( @@ -444,8 +444,7 @@ /area/ruin/whitesands/saloon) "lI" = ( /obj/structure/table/wood/poker, -/obj/effect/spawner/lootdrop/gambling, -/obj/item/spacecash/bundle/loadsamoney, +/obj/effect/spawner/random/entertainment/gambling, /turf/open/floor/carpet, /area/ruin/whitesands/saloon) "lV" = ( @@ -646,7 +645,7 @@ /area/ruin/whitesands/saloon) "sj" = ( /obj/structure/closet/crate/bin, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/chair/stool/bar, /turf/open/floor/wood, /area/ruin/whitesands/saloon) @@ -849,7 +848,7 @@ /area/ruin/whitesands/saloon) "zv" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood{ icon_state = "wood-broken5" }, @@ -890,6 +889,9 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/hermit/survivor{ + dir = 4 + }, /turf/open/floor/wood{ icon_state = "wood-broken5" }, @@ -1023,13 +1025,14 @@ /area/ruin/whitesands/saloon) "EV" = ( /obj/structure/closet/cabinet, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt, /obj/item/gun/energy/plasmacutter{ icon_state = "pulse_carbine"; name = "pulse rifle"; desc = "A supposedly heavy-duty, multifaceted energy rifle. The barrel looks off and the casing seems to be made of plastic"; - item_state = "pulse" + item_state = "pulse"; + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' }, /turf/open/floor/wood, /area/ruin/whitesands/saloon) @@ -1114,7 +1117,7 @@ /obj/structure/chair/stool/bar{ dir = 8 }, -/mob/living/simple_animal/hostile/human/hermit/survivor{ +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger{ dir = 8 }, /turf/open/floor/wood, @@ -1352,7 +1355,7 @@ /area/ruin/whitesands/saloon) "Pi" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ruin/whitesands/saloon) "Px" = ( @@ -1497,7 +1500,7 @@ /area/ruin/whitesands/saloon) "Ua" = ( /obj/structure/chair/stool/bar, -/mob/living/simple_animal/hostile/human/hermit/survivor{ +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger{ dir = 8 }, /turf/open/floor/wood{ @@ -1587,7 +1590,7 @@ /area/ruin/whitesands/saloon) "Wl" = ( /obj/structure/closet/cabinet, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /turf/open/floor/wood, /area/ruin/whitesands/saloon) "WP" = ( @@ -1672,6 +1675,7 @@ pixel_y = 6; pixel_x = 3 }, +/obj/item/spacecash/bundle/loadsamoney, /turf/open/floor/carpet, /area/ruin/whitesands/saloon) "ZG" = ( diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_e11_manufactory.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_e11_manufactory.dmm new file mode 100644 index 00000000000..94e21aa2313 --- /dev/null +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_e11_manufactory.dmm @@ -0,0 +1,11181 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"af" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"ak" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory) +"al" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/barracks) +"as" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 8 + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"av" = ( +/obj/machinery/door/airlock/external, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/barracks) +"ay" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/warehouse) +"aA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/carpet/nanoweave/orange, +/area/ruin/whitesands/e11manufactory/office) +"aD" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/e11, +/obj/structure/fluff/paper/stack{ + dir = 2 + }, +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/whitesands/e11manufactory/security) +"aE" = ( +/obj/effect/turf_decal/road, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"aF" = ( +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/turf_decal/corner/opaque/red/diagonal{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/structure/reagent_dispensers/beerkeg{ + pixel_y = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/whitesands/e11manufactory/barracks) +"aH" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/mats) +"aN" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/security) +"aP" = ( +/obj/effect/turf_decal/weather/whitesands{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"aU" = ( +/obj/structure/marker_beacon{ + picked_color = "Cerulean" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/warehouse) +"aY" = ( +/obj/structure/chair, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/office) +"ba" = ( +/obj/structure/chair/comfy/purple/old/directional/west, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/whitesands/e11manufactory/barracks) +"bc" = ( +/obj/effect/turf_decal/road{ + dir = 6 + }, +/obj/effect/turf_decal/road{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"bd" = ( +/obj/machinery/power/tracker, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"bf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/mats) +"bi" = ( +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"bk" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/security) +"bp" = ( +/obj/structure/closet{ + anchored = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/item/clothing/shoes/workboots, +/obj/structure/cable/orange{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/barracks) +"bq" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "e11_manufactory_warehouse_road" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "e11_manufactory_warehouse_road_holofield" + }, +/obj/structure/cable/orange{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/warehouse) +"by" = ( +/obj/structure/closet/crate/bin, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"bz" = ( +/obj/structure/fence{ + dir = 2 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 10 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"bB" = ( +/obj/structure/chair, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/blue, +/area/ruin/whitesands/e11manufactory/office) +"bI" = ( +/turf/closed/mineral/random/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"bJ" = ( +/obj/item/stack/packageWrap{ + pixel_x = 1; + pixel_y = 11 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"bK" = ( +/obj/item/solar_assembly, +/obj/effect/turf_decal/solarpanel, +/obj/item/shard, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"bM" = ( +/obj/structure/bed, +/obj/effect/turf_decal/corner/opaque/purple/diagonal, +/obj/effect/spawner/random/bedsheet, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"bU" = ( +/obj/machinery/button/door{ + dir = 4; + id = "e11_manufactory_warehouse"; + pixel_x = -20; + pixel_y = -5 + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = 5; + pixel_x = -19; + id = "e11_manufactory_warehouse_holofield" + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"bW" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/barracks) +"bX" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"bY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_4{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"ca" = ( +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/turf_decal/corner/opaque/red/diagonal{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/whitesands/e11manufactory/barracks) +"cc" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ch" = ( +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/human/hermit/ranged/e11, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"cm" = ( +/obj/effect/decal/remains/xeno/larva{ + name = "Croquette"; + desc = "They look like the remains of a mothroach. They have a strange aura about them." + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/blue, +/area/ruin/whitesands/e11manufactory/office) +"cq" = ( +/obj/effect/turf_decal/road{ + dir = 10 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/turf/open/floor/concrete/pavement, +/area/ruin/whitesands/e11manufactory/warehouse) +"cr" = ( +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"cu" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"cw" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"cx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/whitesands/e11manufactory/barracks) +"cy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/whitesands/e11manufactory/security) +"cz" = ( +/turf/open/water/acid/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"cH" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"cK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/slab_4{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"cL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/button/door{ + dir = 8; + id = "e11_manufactory_warehouse"; + pixel_x = 20; + pixel_y = 5 + }, +/obj/machinery/button/shieldwallgen{ + dir = 8; + pixel_y = -5; + pixel_x = 19; + id = "e11_manufactory_warehouse_holofield" + }, +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/concrete/whitesands/lit, +/area/ruin/whitesands/e11manufactory/warehouse) +"cN" = ( +/obj/structure/closet/crate/secure/weapon{ + anchored = 1 + }, +/obj/item/gun/energy/e_gun/e11/empty_cell, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/warehouse) +"cO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/mats) +"cQ" = ( +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"cR" = ( +/obj/effect/turf_decal/industrial/warning/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"dc" = ( +/obj/item/shard, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"dg" = ( +/obj/structure/chair/stool{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/turf_decal/corner/opaque/red/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/whitesands/e11manufactory/barracks) +"di" = ( +/turf/closed/wall/r_wall/rust, +/area/ruin/whitesands/e11manufactory/warehouse) +"dj" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/hermit/ranged/e11, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"dk" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"do" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"dw" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/decal/cleanable/confetti, +/obj/machinery/light/directional/south, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"dz" = ( +/obj/structure/railing, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"dA" = ( +/obj/structure/flora/tree/dead/barren, +/turf/open/floor/plating/asteroid/whitesands/grass/dead/lit, +/area/overmap_encounter/planetoid/sand/explored) +"dC" = ( +/obj/structure/safe/floor, +/obj/item/spacecash/bundle/mediumrand, +/obj/item/spacecash/bundle/smallrand, +/obj/item/spacecash/bundle/smallrand, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/office) +"dK" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"dN" = ( +/obj/effect/turf_decal/weather/whitesands, +/obj/effect/turf_decal/weather/whitesands{ + dir = 4 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"dP" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"dR" = ( +/obj/effect/turf_decal/weather/whitesands{ + dir = 9 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"dX" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/salvageable/computer{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"ec" = ( +/mob/living/simple_animal/hostile/asteroid/goliath/beast{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ed" = ( +/obj/structure/table, +/obj/machinery/jukebox/boombox, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"ef" = ( +/obj/item/solar_assembly, +/obj/effect/turf_decal/solarpanel, +/obj/item/shard, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"eg" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"ei" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/mats) +"el" = ( +/obj/structure/cable/yellow{ + icon_state = "0-9" + }, +/obj/machinery/power/solar_control{ + dir = 1 + }, +/turf/open/floor/concrete{ + light_range = 2; + light_power = 0.6 + }, +/area/ruin/whitesands/e11manufactory/security) +"em" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"et" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"ez" = ( +/obj/machinery/conveyor, +/obj/structure/plasticflaps/opaque, +/obj/machinery/door/poddoor/shutters, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory) +"eE" = ( +/turf/closed/wall/rust, +/area/ruin/whitesands/e11manufactory/mats) +"eF" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/reagent_dispensers/watertank/high, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"eG" = ( +/obj/structure/fence{ + dir = 2 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 9 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"eM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable/orange{ + icon_state = "2-4" + }, +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/concrete/slab_4{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"eT" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"eV" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"fr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"fs" = ( +/obj/structure/closet{ + anchored = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/item/clothing/under/rank/cargo/miner{ + name = "worker's jumpsuit" + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/barracks) +"ft" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"fu" = ( +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/turf_decal/corner/opaque/red/diagonal{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/whitesands/e11manufactory/barracks) +"fv" = ( +/obj/structure/marker_beacon{ + picked_color = "Cerulean" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"fA" = ( +/obj/machinery/power/tracker, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"fJ" = ( +/obj/structure/fence/cut/large{ + dir = 1 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 5 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"fM" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/barracks) +"fO" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"fY" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/structure/filingcabinet/chestdrawer/wheeled{ + dir = 4; + pixel_x = -6; + anchored = 1 + }, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"gb" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"gc" = ( +/obj/structure/mecha_wreckage/ripley, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"gi" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_2{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"gk" = ( +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"gl" = ( +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"gt" = ( +/obj/effect/turf_decal/road{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"gv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"gx" = ( +/obj/machinery/conveyor{ + dir = 4 + }, +/obj/structure/railing, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"gG" = ( +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating/asteroid/whitesands/dried{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"gK" = ( +/obj/machinery/atmospherics/components/unary/passive_vent/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"gM" = ( +/turf/closed/wall/concrete, +/area/overmap_encounter/planetoid/sand/explored) +"gN" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_4{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"gP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/barracks) +"gU" = ( +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"gV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"hb" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/e11, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"he" = ( +/obj/machinery/conveyor{ + dir = 4 + }, +/obj/structure/plasticflaps/opaque, +/obj/machinery/door/poddoor/shutters{ + dir = 4 + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/warehouse) +"hi" = ( +/obj/structure/cable/yellow{ + icon_state = "6-9" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"hk" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/mats) +"hn" = ( +/obj/structure/chair/bench/grey/directional/north, +/obj/structure/sign/poster/contraband/eoehoma{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"ho" = ( +/obj/structure/fence{ + dir = 4 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"hq" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"ht" = ( +/obj/structure/sink{ + dir = 8; + pixel_y = 1; + pixel_x = 13 + }, +/obj/structure/mirror{ + layer = 2.89; + pixel_x = 22; + pixel_y = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/item/storage/pill_bottle{ + name = "suspicious pill bottle"; + pixel_x = -9; + pixel_y = 18 + }, +/obj/machinery/light/small/broken/directional/north, +/turf/open/floor/plastic, +/area/ruin/whitesands/e11manufactory/barracks) +"hu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"hw" = ( +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"hz" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/turf_decal/corner/opaque/red/diagonal{ + dir = 4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/whitesands/e11manufactory/barracks) +"hF" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/obj/structure/cable/orange{ + icon_state = "2-4" + }, +/turf/open/floor/concrete/slab_4{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"hH" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"hI" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"hS" = ( +/obj/structure/flora/ash/puce, +/turf/open/floor/plating/asteroid/whitesands/dried{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"hX" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"hY" = ( +/turf/open/floor/concrete/slab_4{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"ic" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"id" = ( +/obj/effect/turf_decal/road{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ie" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/barracks) +"io" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/barracks) +"ip" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/snacks/soup/mystery{ + pixel_y = 5 + }, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"iq" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ir" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"is" = ( +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_y = 32 + }, +/mob/living/simple_animal/hostile/human/hermit/ranged/e11, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/mats) +"iu" = ( +/obj/effect/turf_decal/weather/whitesands/corner, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ix" = ( +/obj/structure/flora/ash/garden/arid, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"iz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"iH" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/warehouse) +"iK" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 1 + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"iL" = ( +/obj/effect/turf_decal/weather/whitesands{ + dir = 5 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"iM" = ( +/obj/structure/closet/crate/secure/plasma{ + name = "material crate"; + desc = "A secure ore crate."; + anchored = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/metal/ten, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/mats) +"iN" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/obj/structure/cable/orange{ + icon_state = "2-4" + }, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"iO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"iW" = ( +/obj/effect/turf_decal/industrial/caution, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/slab_2{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"iY" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"jg" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/security) +"jm" = ( +/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp{ + pixel_y = -9; + pixel_x = 2 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"jn" = ( +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/barracks) +"jt" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"jD" = ( +/obj/structure/sign/poster/contraband/missing_gloves{ + pixel_y = 32 + }, +/obj/structure/flora/ash/cap_shroom, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"jI" = ( +/obj/structure/closet/wall/directional/west, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/turf_decal/corner/opaque/red/diagonal{ + dir = 4 + }, +/obj/item/storage/box/drinkingglasses, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/whitesands/e11manufactory/barracks) +"jO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"jQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"jR" = ( +/obj/structure/bed/dogbed{ + name = "Croquette's bed"; + desc = "A comfy-looking mothroach bed." + }, +/turf/open/floor/carpet/nanoweave/blue, +/area/ruin/whitesands/e11manufactory/office) +"jT" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"jW" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement, +/area/ruin/whitesands/e11manufactory/warehouse) +"jX" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/office) +"kd" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/turf_decal/corner/opaque/red/diagonal{ + dir = 4 + }, +/obj/item/reagent_containers/glass/rag{ + pixel_y = 4; + pixel_x = -5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/whitesands/e11manufactory/barracks) +"ke" = ( +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = -7 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"kl" = ( +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"km" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + dir = 2; + id = "e11_manufactory_manager_window" + }, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/office) +"kn" = ( +/obj/structure/flora/ash/stem_shroom, +/turf/open/floor/plating/asteroid/whitesands/dried{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"ko" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"kr" = ( +/turf/closed/wall/rust/yesdiag, +/area/ruin/whitesands/e11manufactory/barracks) +"ks" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"kt" = ( +/obj/machinery/conveyor, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + max_integrity = 70; + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"kA" = ( +/obj/effect/turf_decal/road{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8; + color = "#FFFFFF" + }, +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"kB" = ( +/obj/effect/turf_decal/corner/opaque/purple/diagonal, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"kK" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/kirbyplants/fullysynthetic, +/turf/open/floor/carpet/nanoweave/orange, +/area/ruin/whitesands/e11manufactory/office) +"kL" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"kM" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/mats) +"kP" = ( +/obj/structure/table/glass, +/obj/item/radio/old{ + pixel_y = 5 + }, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/office) +"kV" = ( +/obj/machinery/atmospherics/components/unary/passive_vent/layer4, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"le" = ( +/obj/structure/cable/yellow{ + icon_state = "5-8" + }, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"lh" = ( +/obj/item/solar_assembly, +/obj/effect/turf_decal/solarpanel, +/obj/item/shard, +/obj/structure/cable/yellow{ + icon_state = "0-6" + }, +/obj/structure/cable/yellow{ + icon_state = "1-6" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ln" = ( +/obj/structure/table/glass, +/obj/item/phone{ + pixel_x = -4; + pixel_y = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/blue, +/area/ruin/whitesands/e11manufactory/office) +"lp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_4{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"lw" = ( +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"lA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/slab_2{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"lE" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "0-1" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"lF" = ( +/obj/effect/turf_decal/industrial/loading{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"lJ" = ( +/obj/effect/decal/cleanable/molten_object/large, +/obj/effect/decal/cleanable/garbage{ + pixel_x = -8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"lT" = ( +/obj/structure/fence{ + dir = 4 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 6 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"lV" = ( +/obj/structure/closet/crate/secure/weapon{ + anchored = 1; + opened = 1; + locked = 0 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/warehouse) +"lY" = ( +/obj/structure/fence{ + dir = 4 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 9 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ma" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"mc" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/office) +"mh" = ( +/obj/effect/turf_decal/corner/opaque/purple/diagonal, +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"mj" = ( +/obj/machinery/atmospherics/components/unary/passive_vent/layer4, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"mk" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = -6; + pixel_y = 12; + list_reagents = list(/datum/reagent/toxin/acid = 10) + }, +/obj/item/toy/cards/deck{ + pixel_y = -10 + }, +/obj/item/clothing/head/hardhat/purple{ + pixel_x = 7; + pixel_y = -1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"mm" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/closet/crate/secure/loot{ + anchored = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/warehouse) +"mp" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/closet/crate/secure/engineering{ + anchored = 1 + }, +/obj/item/storage/box/stockparts/t2, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/warehouse) +"ms" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/structure/closet/crate/secure/weapon{ + anchored = 1 + }, +/obj/item/gun/energy/e_gun/e11/empty_cell, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/warehouse) +"my" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/flora/ash/glowshroom, +/turf/open/floor/plastic, +/area/ruin/whitesands/e11manufactory/barracks) +"mA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/closet/emcloset/wall/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/office) +"mH" = ( +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"mI" = ( +/turf/closed/wall/rust/yesdiag, +/area/ruin/whitesands/e11manufactory/office) +"mL" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"mM" = ( +/turf/template_noop, +/area/template_noop) +"mP" = ( +/obj/effect/turf_decal/road/slow{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"mV" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/turf_decal/corner/opaque/red/diagonal{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/obj/item/trash/plate{ + pixel_x = 3; + pixel_y = 3 + }, +/turf/open/floor/plasteel, +/area/ruin/whitesands/e11manufactory/barracks) +"mX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"mZ" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/barracks) +"ne" = ( +/obj/effect/turf_decal/road{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + color = "#FFFFFF" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement, +/area/ruin/whitesands/e11manufactory/warehouse) +"nj" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "e11_manufactory_warehouse_road" + }, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/warehouse) +"nl" = ( +/obj/structure/chair/office, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"nq" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"nu" = ( +/obj/item/solar_assembly, +/obj/effect/turf_decal/solarpanel, +/obj/item/shard, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"nw" = ( +/obj/effect/turf_decal/road{ + dir = 4 + }, +/obj/effect/turf_decal/road{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"nA" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable/orange{ + icon_state = "0-10" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"nE" = ( +/obj/structure/fence{ + dir = 4 + }, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"nG" = ( +/obj/effect/turf_decal/road{ + dir = 8 + }, +/turf/open/floor/concrete/pavement, +/area/ruin/whitesands/e11manufactory/warehouse) +"nI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/office) +"nS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"oc" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"of" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8; + color = "#FFFFFF" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"og" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"ol" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/concrete/slab_4{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"on" = ( +/obj/effect/decal/cleanable/molten_object, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"op" = ( +/obj/structure/chair/stool/bar{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"ow" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"ox" = ( +/obj/item/stack/ore/salvage/scrapmetal, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"oy" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/barracks) +"oz" = ( +/turf/closed/wall/rust, +/area/ruin/whitesands/e11manufactory/barracks) +"oB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"oE" = ( +/obj/structure/fence{ + dir = 2 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 6 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"oJ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"oK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/barracks) +"oL" = ( +/obj/structure/closet/crate/bin, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"oN" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"oO" = ( +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"oP" = ( +/obj/structure/table/reinforced, +/obj/item/weaponcrafting/receiver{ + pixel_y = 7 + }, +/obj/structure/sign/poster/official/moth/hardhats{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"oS" = ( +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"oX" = ( +/obj/effect/turf_decal/corner/opaque/purple/diagonal, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 4; + pixel_x = -5 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 13; + pixel_x = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"pb" = ( +/obj/structure/fence/end, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"pf" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/office) +"pk" = ( +/obj/item/solar_assembly, +/obj/effect/turf_decal/solarpanel, +/obj/item/shard, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"pu" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 6 + }, +/obj/item/pen, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/whitesands/e11manufactory/security) +"pv" = ( +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 1 + }, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"pE" = ( +/turf/closed/wall/rust/yesdiag, +/area/ruin/whitesands/e11manufactory) +"pF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable/orange{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"pI" = ( +/obj/effect/turf_decal/corner/opaque/purple/diagonal, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"pL" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + color = "#FFFFFF" + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement, +/area/ruin/whitesands/e11manufactory/warehouse) +"pS" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/item/stack/tape{ + pixel_x = 7; + pixel_y = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/warehouse) +"pV" = ( +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/turf_decal/corner/opaque/red/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/whitesands/e11manufactory/barracks) +"qg" = ( +/obj/effect/turf_decal/corner/opaque/purple/diagonal, +/obj/structure/chair/stool{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"qi" = ( +/obj/effect/turf_decal/weather/whitesands/corner, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"qj" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "1-10" + }, +/obj/structure/cable/yellow{ + icon_state = "0-10" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"qm" = ( +/obj/structure/filingcabinet{ + dir = 4 + }, +/obj/item/documents/eoehoma, +/obj/item/pen/fourcolor, +/obj/item/clothing/neck/stethoscope{ + w_class = 2 + }, +/turf/open/floor/carpet/nanoweave/blue, +/area/ruin/whitesands/e11manufactory/office) +"qn" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/structure/salvageable/computer{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"qp" = ( +/turf/open/floor/carpet/nanoweave/blue, +/area/ruin/whitesands/e11manufactory/office) +"qs" = ( +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"qu" = ( +/obj/structure/cable/yellow{ + icon_state = "6-10" + }, +/obj/machinery/power/terminal{ + dir = 2 + }, +/obj/structure/cable/yellow{ + icon_state = "0-10" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"qx" = ( +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"qz" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "e11_manufactory_warehouse_road" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 1; + id = "e11_manufactory_warehouse_road_holofield" + }, +/obj/structure/cable/orange, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/warehouse) +"qB" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "e11_manufactory_warehouse" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "e11_manufactory_warehouse_holofield" + }, +/obj/structure/cable/orange{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/warehouse) +"qE" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"qH" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/concrete/slab_2{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"qJ" = ( +/obj/structure/fence{ + dir = 4 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 10 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"qN" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/office) +"qY" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ + faction = list("eoehoma") + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"rb" = ( +/turf/closed/wall/rust/yesdiag, +/area/ruin/whitesands/e11manufactory/security) +"rf" = ( +/obj/structure/chair/plastic{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"rg" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"rj" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/mats) +"rm" = ( +/obj/machinery/conveyor{ + dir = 4 + }, +/obj/structure/salvageable/protolathe{ + name = "broken fabricator" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"rx" = ( +/obj/effect/decal/cleanable/glass, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ry" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/weather/whitesands/corner, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"rB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"rN" = ( +/obj/structure/flora/ash/tall_shroom, +/turf/open/floor/plating/asteroid/whitesands/dried{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"rO" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"rP" = ( +/obj/effect/turf_decal/road{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"rQ" = ( +/obj/structure/closet/crate{ + anchored = 1 + }, +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/food/snacks/grown/coffee/robusta, +/obj/item/reagent_containers/food/snacks/grown/coffee/robusta, +/obj/item/reagent_containers/food/snacks/grown/coffee/robusta, +/obj/item/reagent_containers/food/snacks/grown/coffee/robusta, +/obj/item/reagent_containers/food/snacks/grown/coffee/robusta, +/obj/item/reagent_containers/food/snacks/grown/tea, +/obj/item/reagent_containers/food/snacks/grown/tea, +/obj/item/reagent_containers/food/snacks/grown/tea, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/barracks) +"rR" = ( +/obj/structure/salvageable/computer{ + dir = 8 + }, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"rS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"rT" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/book/random{ + pixel_y = 12; + pixel_x = -3; + layer = 2.99 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"rU" = ( +/obj/structure/closet/crate/secure/weapon{ + anchored = 1 + }, +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/item/gun/energy/e_gun/e11/empty_cell, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/warehouse) +"rZ" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "1-10" + }, +/obj/structure/cable/yellow{ + icon_state = "0-1" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"sc" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/filingcabinet/double, +/obj/item/photo/old, +/obj/item/folder/yellow, +/turf/open/floor/carpet/nanoweave/orange, +/area/ruin/whitesands/e11manufactory/office) +"sh" = ( +/obj/effect/turf_decal/road{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + color = "#FFFFFF" + }, +/turf/open/floor/concrete/pavement, +/area/ruin/whitesands/e11manufactory/warehouse) +"sj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"st" = ( +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer4, +/obj/structure/sign/poster/contraband/shamblers_juice{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"sv" = ( +/obj/structure/toilet{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/whitesands/e11manufactory/office) +"sz" = ( +/obj/structure/girder/reinforced, +/turf/open/floor/plating/asteroid/whitesands/dried{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"sA" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/closet/crate/secure/weapon{ + anchored = 1; + opened = 1; + locked = 0 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/warehouse) +"sB" = ( +/obj/structure/railing/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"sG" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"sH" = ( +/obj/effect/turf_decal/road{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/white/corner{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"sI" = ( +/obj/structure/closet{ + anchored = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners, +/obj/effect/decal/cleanable/dirt, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/barracks) +"sP" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/warehouse) +"sT" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"sV" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"sY" = ( +/obj/structure/salvageable/server, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"tm" = ( +/obj/machinery/door/airlock/grunge{ + name = "Crew Quarters D"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/barracks) +"tt" = ( +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/structure/chair/stool{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"tu" = ( +/obj/structure/fence{ + dir = 2 + }, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"tv" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/item/clothing/head/hardhat/purple{ + pixel_x = -4; + pixel_y = 3 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"tw" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "e11_manufactory_warehouse" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 1; + id = "e11_manufactory_warehouse_holofield" + }, +/obj/structure/cable/orange, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/warehouse) +"tC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"tE" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/ruin/whitesands/e11manufactory/warehouse) +"tF" = ( +/obj/structure/railing{ + dir = 10; + layer = 4.1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"tG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"tK" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "0-1" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"tN" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"tO" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"tQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/mats) +"tY" = ( +/turf/closed/wall/rust, +/area/overmap_encounter/planetoid/sand/explored) +"ua" = ( +/obj/structure/table/reinforced, +/obj/item/shard, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"ul" = ( +/obj/structure/girder, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/barracks) +"uo" = ( +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"uq" = ( +/obj/effect/turf_decal/road{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 5 + }, +/obj/structure/marker_beacon{ + picked_color = "Cerulean" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ut" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/office) +"uu" = ( +/obj/structure/bed, +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/effect/spawner/random/bedsheet, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"uy" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"uC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/sign/poster/official/high_class_martini{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/kirbyplants{ + icon_state = "plant-25"; + name = "dead potted plant"; + desc = "A little bit of nature was once contained in a pot. It's dead now though." + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/whitesands/e11manufactory/barracks) +"uF" = ( +/obj/structure/table, +/obj/item/clothing/head/hardhat/purple{ + pixel_y = 5 + }, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"uR" = ( +/obj/effect/turf_decal/road{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/obj/structure/marker_beacon{ + picked_color = "Cerulean" + }, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"uS" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"uT" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"uW" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"va" = ( +/obj/structure/closet/crate/trashcart, +/obj/effect/spawner/random/maintenance/three, +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"vg" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/chair{ + pixel_x = -4; + pixel_y = -5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/carpet/nanoweave/orange, +/area/ruin/whitesands/e11manufactory/office) +"vm" = ( +/obj/structure/closet/crate/secure/plasma{ + name = "material crate"; + desc = "A secure ore crate."; + anchored = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/obj/machinery/light/small/directional/west, +/obj/item/stack/sheet/glass/twenty, +/obj/item/stack/sheet/glass/twenty, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/mats) +"vp" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"vt" = ( +/obj/effect/turf_decal/road{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"vA" = ( +/obj/structure/flora/ash/cap_shroom, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"vF" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 6 + }, +/obj/item/pen, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"vH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"vK" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/orange{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"vL" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"vQ" = ( +/obj/structure/chair/bench/grey/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"vU" = ( +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"vV" = ( +/obj/item/solar_assembly, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/item/shard, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"wd" = ( +/obj/structure/statue/snow/snowman{ + anchored = 1 + }, +/turf/open/floor/plating/asteroid/snow/lit/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"wt" = ( +/obj/structure/girder, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/office) +"wv" = ( +/obj/effect/turf_decal/corner/opaque/purple/diagonal, +/obj/structure/chair/stool, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"wy" = ( +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/turf_decal/corner/opaque/red/diagonal{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/hermit/ranged/e11, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/whitesands/e11manufactory/barracks) +"wF" = ( +/obj/effect/turf_decal/corner/opaque/purple/diagonal, +/obj/structure/closet{ + anchored = 1 + }, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + list_reagents = list(/datum/reagent/consumable/ethanol/whiskey = 15) + }, +/obj/item/storage/pill_bottle/dice, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"wG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/ruin/whitesands/e11manufactory/warehouse) +"wH" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory) +"wI" = ( +/obj/effect/turf_decal/road/edge{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"wL" = ( +/obj/machinery/power/solar_control, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/ruin/whitesands/e11manufactory/office) +"wQ" = ( +/obj/structure/closet/crate/secure/weapon{ + anchored = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/obj/item/gun/energy/e_gun/e11/empty_cell, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/warehouse) +"wZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"xa" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_2{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"xc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/barracks) +"xe" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + piping_layer = 2 + }, +/obj/effect/turf_decal/industrial/warning/cee{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"xi" = ( +/obj/effect/turf_decal/industrial/caution, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"xj" = ( +/obj/structure/bed, +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/effect/spawner/random/bedsheet, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"xn" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = -7; + pixel_y = 12 + }, +/obj/item/trash/plate{ + pixel_x = 3 + }, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"xp" = ( +/turf/closed/wall/concrete/reinforced, +/area/overmap_encounter/planetoid/sand/explored) +"xq" = ( +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"xs" = ( +/obj/structure/closet/crate/freezer{ + anchored = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/barracks) +"xv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/white, +/area/ruin/whitesands/e11manufactory/barracks) +"xF" = ( +/obj/structure/fence/door{ + dir = 2 + }, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"xG" = ( +/obj/machinery/door/airlock/grunge{ + name = "Locker Room" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/barracks) +"xI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"xL" = ( +/obj/machinery/door/airlock/grunge{ + name = "Bathroom" + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/barracks) +"xP" = ( +/obj/structure/chair/stool/bar{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"xU" = ( +/turf/closed/wall/rust/yesdiag, +/area/ruin/whitesands/e11manufactory/mats) +"xW" = ( +/obj/structure/bed, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/spawner/random/bedsheet, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"xX" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/weather/whitesands{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"xY" = ( +/obj/structure/closet/firecloset/full, +/obj/item/extinguisher, +/obj/item/extinguisher, +/obj/item/extinguisher, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"yd" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"yi" = ( +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"yl" = ( +/obj/machinery/conveyor{ + dir = 4 + }, +/obj/structure/salvageable/machine{ + name = "broken hydraulic press" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"yA" = ( +/obj/structure/table/reinforced, +/obj/machinery/reagentgrinder{ + pixel_y = 12; + pixel_x = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/white, +/area/ruin/whitesands/e11manufactory/barracks) +"yC" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/weather/whitesands, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"yK" = ( +/obj/machinery/door/airlock/grunge{ + name = "Toilet"; + dir = 4 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/office) +"yN" = ( +/obj/effect/decal/cleanable/greenglow, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 5 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"yO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plastic, +/area/ruin/whitesands/e11manufactory/barracks) +"yW" = ( +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"zc" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"zd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/industrial/warning/corner, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"zm" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/warehouse) +"zo" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/barracks) +"zq" = ( +/obj/item/stack/ore/salvage/scrapmetal, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/barracks) +"zs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/barracks) +"zu" = ( +/obj/effect/turf_decal/industrial/stand_clear/white{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"zz" = ( +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"zC" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"zE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"zK" = ( +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/mats) +"zQ" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/orange{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/barracks) +"zR" = ( +/obj/item/solar_assembly, +/obj/effect/turf_decal/solarpanel, +/obj/item/shard, +/obj/structure/cable/yellow{ + icon_state = "0-1" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"zZ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"Aa" = ( +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/structure/closet{ + anchored = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"Ai" = ( +/obj/machinery/door/airlock/grunge{ + name = "Crew Quarters B"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/barracks) +"Ar" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"Ax" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/whitesands/e11manufactory/barracks) +"Az" = ( +/obj/machinery/conveyor/inverted{ + dir = 10 + }, +/obj/structure/railing{ + dir = 6 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"AB" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "2-4" + }, +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"AD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory) +"AH" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 8 + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"AK" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/warehouse) +"AM" = ( +/obj/structure/fence{ + dir = 2 + }, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"AU" = ( +/obj/structure/fence{ + dir = 4 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 5 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"AW" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"AX" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/turf_decal/corner/opaque/red/diagonal{ + dir = 4 + }, +/obj/item/spacecash/bundle/c10{ + pixel_x = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/whitesands/e11manufactory/barracks) +"Ba" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"Bd" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/mats) +"Be" = ( +/obj/machinery/conveyor{ + dir = 4 + }, +/obj/structure/plasticflaps/opaque, +/obj/machinery/door/poddoor/shutters{ + dir = 4 + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory) +"Bg" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/head/hardhat/purple{ + pixel_y = 3; + pixel_x = -5 + }, +/obj/item/stack/tape/industrial/electrical{ + pixel_x = 5; + pixel_y = -9 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"Bj" = ( +/obj/machinery/conveyor/inverted{ + dir = 5 + }, +/obj/structure/railing{ + dir = 9 + }, +/obj/structure/railing/corner, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Bl" = ( +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"Bn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Bq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"Bx" = ( +/obj/structure/flora/ash/tall_shroom, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"BJ" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"BL" = ( +/obj/machinery/door/airlock/grunge{ + name = "Crew Quarters C"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/barracks) +"BR" = ( +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"BU" = ( +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/plating/asteroid/snow/lit/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"BV" = ( +/obj/effect/turf_decal/trimline/opaque/white/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"BX" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/filingcabinet/double, +/obj/item/gun/energy/laser/e10, +/obj/item/pen/fourcolor, +/turf/open/floor/carpet/nanoweave/orange, +/area/ruin/whitesands/e11manufactory/office) +"BY" = ( +/obj/structure/fence{ + dir = 2 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"BZ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"Ca" = ( +/obj/structure/closet/cabinet{ + anchored = 1 + }, +/obj/item/clothing/under/suit/black, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/wallet/random, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/whitesands/e11manufactory/barracks) +"Ci" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"Cl" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/whitesands/e11manufactory/security) +"Cw" = ( +/turf/open/floor/plating/asteroid/snow/lit/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"Cx" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/office) +"CA" = ( +/obj/structure/fence/cut/large{ + dir = 8 + }, +/obj/effect/turf_decal/weather/whitesands, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"CH" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/reagent_dispensers/foamtank, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"CI" = ( +/obj/effect/turf_decal/weather/whitesands{ + dir = 6 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"CL" = ( +/obj/effect/turf_decal/road{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"CN" = ( +/obj/machinery/conveyor{ + dir = 1 + }, +/obj/structure/railing{ + max_integrity = 70; + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"CQ" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"CT" = ( +/obj/effect/turf_decal/box/corners, +/obj/structure/closet/crate/secure/weapon{ + anchored = 1; + opened = 1; + locked = 0 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/warehouse) +"CU" = ( +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"CY" = ( +/mob/living/simple_animal/hostile/human/hermit/survivor/random, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Da" = ( +/obj/effect/turf_decal/road{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Db" = ( +/turf/closed/wall/mineral/titanium/survival/pod, +/area/overmap_encounter/planetoid/sand/explored) +"Dk" = ( +/obj/machinery/power/solar_control{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/concrete{ + light_range = 2; + light_power = 0.6 + }, +/area/ruin/whitesands/e11manufactory/mats) +"Dp" = ( +/obj/item/chair{ + pixel_x = -4; + pixel_y = -5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"Dz" = ( +/obj/structure/flora/stump, +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"DC" = ( +/obj/machinery/atmospherics/components/unary/passive_vent/layer4, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"DD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"DG" = ( +/obj/machinery/light/directional/south, +/obj/machinery/mech_bay_recharge_port, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"DJ" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"DL" = ( +/obj/structure/fence/cut/large{ + dir = 8 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"DM" = ( +/obj/structure/window/unanchored, +/obj/item/chair{ + pixel_y = 6; + pixel_x = -9 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"DN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/mats) +"DO" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/closet/crate/secure/weapon{ + anchored = 1; + opened = 1; + locked = 0 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/warehouse) +"DQ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table_frame, +/obj/item/shard, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/carpet/nanoweave/orange, +/area/ruin/whitesands/e11manufactory/office) +"DT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/floor{ + pixel_x = 15 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"DW" = ( +/obj/effect/turf_decal/road{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 5 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Eb" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/barracks) +"Ed" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/structure/sign/poster/official/safety_internals{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory) +"Ek" = ( +/obj/structure/flora/ash/fern, +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Em" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/structure/closet/crate/secure/gear{ + anchored = 1 + }, +/obj/item/target, +/obj/item/target, +/obj/item/target, +/obj/item/target, +/obj/item/target, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/warehouse) +"En" = ( +/obj/effect/turf_decal/road{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8; + color = "#FFFFFF" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ep" = ( +/obj/effect/turf_decal/road{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ex" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"EA" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"EH" = ( +/obj/effect/turf_decal/road, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/pavement, +/area/ruin/whitesands/e11manufactory/warehouse) +"ER" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "e11_manufactory_warehouse" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/structure/cable/orange{ + icon_state = "1-8" + }, +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/warehouse) +"EV" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"EZ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ff" = ( +/obj/structure/chair/stool/bar{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"Fo" = ( +/obj/structure/railing{ + max_integrity = 70; + dir = 4 + }, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Fp" = ( +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"Fx" = ( +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"FJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"FK" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"FL" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/whitesands/e11manufactory/barracks) +"FP" = ( +/obj/effect/turf_decal/weather/whitesands{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"FR" = ( +/obj/structure/sink/kitchen{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"FT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"FV" = ( +/obj/effect/decal/cleanable/greenglow, +/obj/effect/turf_decal/weather/whitesands/corner, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"FY" = ( +/obj/effect/turf_decal/road{ + dir = 10 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/structure/marker_beacon{ + picked_color = "Cerulean" + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ge" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/warehouse) +"Gm" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable/orange{ + icon_state = "1-8" + }, +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Gp" = ( +/obj/machinery/atmospherics/components/unary/tank/toxins{ + volume = 300; + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/cee{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/cee{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Gs" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Gw" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"Gy" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"GA" = ( +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/mob/living/simple_animal/hostile/human/hermit/ranged/e11, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/sign/poster/official/bless_this_spess{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"GF" = ( +/obj/machinery/door/airlock/grunge{ + name = "Crew Quarters A"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/barracks) +"GH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/mob/living/simple_animal/hostile/cockroach, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/white, +/area/ruin/whitesands/e11manufactory/barracks) +"GN" = ( +/obj/machinery/door/airlock/grunge{ + name = "Manager's Office" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/office) +"GS" = ( +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"GW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"Ha" = ( +/obj/machinery/conveyor{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Hd" = ( +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Hf" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Hi" = ( +/obj/effect/turf_decal/weather/whitesands{ + dir = 8 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 1 + }, +/obj/effect/turf_decal/weather/whitesands, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Hp" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"Hs" = ( +/obj/structure/bed, +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/effect/spawner/random/bedsheet, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"Hw" = ( +/obj/machinery/conveyor/inverted{ + dir = 9 + }, +/obj/structure/salvageable/machine{ + name = "broken scanner" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"HC" = ( +/obj/structure/railing{ + dir = 9 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"HD" = ( +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"HE" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/obj/structure/cable/orange{ + icon_state = "2-4" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"HV" = ( +/obj/structure/cable/orange{ + icon_state = "2-5" + }, +/obj/machinery/atmospherics/components/unary/passive_vent/layer4, +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"HX" = ( +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ia" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/barracks) +"Ie" = ( +/obj/structure/mecha_wreckage/ripley, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ii" = ( +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/turf_decal/corner/opaque/red/diagonal{ + dir = 4 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel, +/area/ruin/whitesands/e11manufactory/barracks) +"Ik" = ( +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Il" = ( +/obj/machinery/conveyor/inverted{ + dir = 9 + }, +/obj/item/gun/energy/e_gun/e11/empty_cell, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"Im" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/carpet/nanoweave/orange, +/area/ruin/whitesands/e11manufactory/office) +"Io" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"Ip" = ( +/obj/machinery/conveyor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"It" = ( +/obj/structure/table, +/obj/item/restraints/legcuffs/beartrap{ + pixel_y = 9 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/whitesands/e11manufactory/security) +"Iu" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/orange, +/area/ruin/whitesands/e11manufactory/office) +"Iv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"Iz" = ( +/obj/effect/turf_decal/road{ + dir = 4 + }, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/concrete/pavement, +/area/ruin/whitesands/e11manufactory/warehouse) +"IB" = ( +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"IC" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ID" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + color = "#FFFFFF" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement, +/area/ruin/whitesands/e11manufactory/warehouse) +"IF" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/closet/crate/secure/weapon{ + anchored = 1 + }, +/obj/item/gun/energy/e_gun/e11/empty_cell, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/warehouse) +"IG" = ( +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"II" = ( +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"IT" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/pen/fourcolor, +/obj/structure/fluff/paper/stack, +/turf/open/floor/carpet/nanoweave/orange, +/area/ruin/whitesands/e11manufactory/office) +"IU" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/barracks) +"Je" = ( +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"Jg" = ( +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/whitesands/e11manufactory/barracks) +"Jh" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/carpet/nanoweave/orange, +/area/ruin/whitesands/e11manufactory/office) +"Jl" = ( +/obj/effect/turf_decal/road{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Jn" = ( +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ju" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"Jy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/slab_2{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"JJ" = ( +/obj/effect/turf_decal/road{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"JM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"JP" = ( +/obj/effect/turf_decal/rechargefloor, +/obj/mecha/working/ripley{ + name = "APLU MK-I 'Forklift'" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"JR" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"JX" = ( +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/structure/chair/stool{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/broken/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"Kb" = ( +/obj/machinery/washing_machine, +/obj/item/clothing/under/rank/cargo/miner{ + name = "worker's jumpsuit" + }, +/turf/open/floor/plastic, +/area/ruin/whitesands/e11manufactory/barracks) +"Kf" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Foreman's Office" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/closed, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/office) +"Kg" = ( +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Km" = ( +/turf/closed/wall/rust, +/area/ruin/whitesands/e11manufactory) +"Kn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/slab_4{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"Kw" = ( +/obj/effect/turf_decal/road{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement, +/area/ruin/whitesands/e11manufactory/warehouse) +"KA" = ( +/obj/structure/fence{ + dir = 2 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"KC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 8; + id = "e11_manufactory_manager_window"; + pixel_x = 20 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/blue, +/area/ruin/whitesands/e11manufactory/office) +"KH" = ( +/obj/structure/table/wood, +/obj/item/radio/old{ + pixel_x = -4; + pixel_y = 3 + }, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/whitesands/e11manufactory/barracks) +"KJ" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/trash/can/food/beans, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"KN" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table, +/obj/item/trash/plate{ + pixel_x = 3 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"KO" = ( +/obj/effect/turf_decal/solarpanel, +/obj/item/solar_assembly, +/obj/item/shard, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"KP" = ( +/obj/structure/rack, +/obj/item/screwdriver/power{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"KQ" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"KR" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/orange{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/mats) +"KY" = ( +/obj/effect/turf_decal/road, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"KZ" = ( +/obj/structure/sink{ + pixel_y = 18 + }, +/obj/structure/mirror{ + pixel_y = 30; + layer = 2.89 + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ruin/whitesands/e11manufactory/office) +"Lh" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Lo" = ( +/obj/item/solar_assembly, +/obj/effect/turf_decal/solarpanel, +/obj/item/shard, +/obj/structure/cable/yellow{ + icon_state = "0-1" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Lq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/ruin/whitesands/e11manufactory/warehouse) +"Lu" = ( +/obj/structure/closet{ + anchored = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/barracks) +"Lz" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"LA" = ( +/obj/effect/turf_decal/weather/whitesands{ + dir = 5 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"LB" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-5" + }, +/obj/structure/cable/yellow{ + icon_state = "2-9" + }, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable/yellow, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"LH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 5 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"LN" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"LU" = ( +/obj/structure/railing{ + max_integrity = 70; + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"LV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"LY" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"LZ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement, +/area/ruin/whitesands/e11manufactory/warehouse) +"Ma" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 8 + }, +/obj/item/storage/toolbox/electrical{ + pixel_y = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"Mg" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Mi" = ( +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Mm" = ( +/obj/structure/closet{ + anchored = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/item/clothing/under/rank/cargo/miner{ + name = "worker's jumpsuit" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/barracks) +"Ms" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/office) +"Mt" = ( +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/structure/closet{ + anchored = 1 + }, +/obj/item/photo/old, +/obj/item/book/random, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"Mv" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-1" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Mz" = ( +/obj/effect/turf_decal/road{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/marker_beacon{ + picked_color = "Cerulean" + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"MB" = ( +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/structure/table, +/obj/item/toy/cards/deck{ + pixel_y = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"MC" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/e11, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/barracks) +"ME" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"MJ" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/barracks) +"MQ" = ( +/obj/effect/turf_decal/trimline/opaque/white/arrow_ccw{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"MR" = ( +/turf/closed/wall/rust, +/area/ruin/whitesands/e11manufactory/security) +"MY" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/e11, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"MZ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ni" = ( +/obj/effect/turf_decal/road{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Nj" = ( +/obj/effect/turf_decal/road{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Nr" = ( +/obj/structure/fence/door{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ns" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/whitesands/e11manufactory/barracks) +"Nw" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/barracks) +"Nx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/structure/cable/orange{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"Ny" = ( +/obj/structure/chair/comfy/purple/old/directional/south, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/whitesands/e11manufactory/barracks) +"NC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"NF" = ( +/obj/item/restraints/legcuffs/beartrap, +/obj/effect/mob_spawn/human/corpse/damaged/whitesands/e11, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"NH" = ( +/turf/open/floor/plating/asteroid/whitesands/grass/dead/lit, +/area/overmap_encounter/planetoid/sand/explored) +"NO" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/security) +"NV" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"NW" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + piping_layer = 2 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"NX" = ( +/turf/closed/wall/rust, +/area/ruin/whitesands/e11manufactory/office) +"Oa" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"Od" = ( +/obj/machinery/conveyor{ + dir = 4 + }, +/obj/structure/plasticflaps/opaque, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory) +"Of" = ( +/obj/structure/bed, +/obj/effect/turf_decal/corner/opaque/purple/diagonal, +/obj/effect/spawner/random/bedsheet, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"Oj" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Oo" = ( +/obj/machinery/conveyor{ + dir = 10 + }, +/obj/structure/railing{ + dir = 6 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Oq" = ( +/obj/structure/guncloset{ + anchored = 1 + }, +/obj/item/gun/energy/disabler/e60, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/whitesands/e11manufactory/security) +"Ot" = ( +/obj/effect/turf_decal/trimline/opaque/white/corner{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ov" = ( +/obj/effect/turf_decal/road{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Oy" = ( +/obj/machinery/door/airlock/grunge{ + name = "Crew Quarters" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/barracks) +"OE" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"OF" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"OI" = ( +/obj/structure/fence{ + dir = 4 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ON" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/barracks) +"OP" = ( +/obj/effect/turf_decal/road{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"OT" = ( +/obj/effect/turf_decal/road{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"OU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable/orange{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"OV" = ( +/obj/item/stack/ore/salvage/scrapmetal, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/office) +"OX" = ( +/obj/structure/dresser, +/obj/item/flashlight/lamp/green{ + pixel_y = 13 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/whitesands/e11manufactory/barracks) +"Pa" = ( +/obj/structure/flora/ash/stem_shroom, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Pc" = ( +/obj/structure/marker_beacon{ + picked_color = "Cerulean" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Pg" = ( +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Pi" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/obj/structure/fluff/paper/stack, +/turf/open/floor/carpet/nanoweave/orange, +/area/ruin/whitesands/e11manufactory/office) +"Pj" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Pl" = ( +/obj/structure/chair{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/hermit/survivor{ + faction = list("eoehoma") + }, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"Po" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"Pv" = ( +/obj/structure/closet/crate/secure/plasma{ + name = "material crate"; + desc = "A secure ore crate."; + anchored = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners, +/obj/item/stack/sheet/mineral/silver/five, +/obj/item/stack/sheet/mineral/silver/five, +/obj/item/stack/sheet/mineral/silver/five, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/mats) +"Pw" = ( +/obj/machinery/conveyor{ + dir = 4 + }, +/obj/structure/salvageable/destructive_analyzer{ + name = "broken assembler" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"Py" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/barracks) +"PA" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "e11_manufactory_warehouse_road" + }, +/obj/structure/cable/orange{ + icon_state = "1-8" + }, +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/warehouse) +"PH" = ( +/obj/structure/filingcabinet/double/grey, +/obj/item/folder/yellow, +/obj/item/folder/red, +/obj/item/attachment/rail_light, +/obj/machinery/light/directional/north, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/whitesands/e11manufactory/security) +"PP" = ( +/obj/structure/flora/ash/garden/waste, +/obj/effect/turf_decal/weather/whitesands{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"PQ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"PR" = ( +/obj/structure/closet/crate/secure/engineering{ + anchored = 1 + }, +/obj/item/circuitboard/machine/cell_charger, +/obj/item/circuitboard/machine/cell_charger, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/warehouse) +"PV" = ( +/obj/structure/table/glass, +/obj/item/flashlight/lamp/green{ + pixel_y = 13 + }, +/obj/item/paper_bin{ + pixel_y = 6; + pixel_x = -14 + }, +/obj/item/pen/fourcolor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/carpet/nanoweave/blue, +/area/ruin/whitesands/e11manufactory/office) +"PZ" = ( +/obj/machinery/conveyor{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"Qe" = ( +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/structure/table, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"Qf" = ( +/obj/structure/sign/poster/contraband/eoehoma{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"Qg" = ( +/obj/structure/fence{ + dir = 2 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Qi" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory) +"Qj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/closet/emcloset/wall/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/office) +"Qp" = ( +/obj/effect/turf_decal/weather/whitesands{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Qq" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_2{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"Qt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/mob/living/simple_animal/hostile/human/hermit/ranged/e11, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Qu" = ( +/obj/structure/flora/ash/garden/arid, +/turf/open/floor/plating/asteroid/whitesands/dried{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"QB" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"QE" = ( +/obj/structure/table, +/obj/item/toy/cards/deck/kotahi{ + pixel_y = 3 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"QI" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/layer2{ + dir = 8 + }, +/turf/open/floor/carpet/nanoweave/orange, +/area/ruin/whitesands/e11manufactory/office) +"QJ" = ( +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"QL" = ( +/obj/machinery/conveyor{ + dir = 5 + }, +/obj/structure/railing{ + dir = 9 + }, +/obj/structure/railing/corner, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"QU" = ( +/obj/structure/closet{ + anchored = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/item/clothing/shoes/workboots, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/barracks) +"QZ" = ( +/obj/effect/turf_decal/road{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ra" = ( +/obj/effect/turf_decal/road{ + dir = 10 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Rb" = ( +/obj/structure/bed, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/spawner/random/bedsheet, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"Rc" = ( +/obj/effect/turf_decal/trimline/opaque/white/corner{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ri" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable/orange{ + icon_state = "0-1" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Rl" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"Rm" = ( +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/plating/asteroid/whitesands/dried{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"Rr" = ( +/obj/machinery/conveyor, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/mats) +"Rt" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Rv" = ( +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/item/chair/stool{ + pixel_y = -7; + pixel_x = -8; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"RA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/orange{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"RF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"RG" = ( +/obj/effect/spawner/structure/window/reinforced/shutters, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/office) +"RH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/whitesands/e11manufactory/security) +"RJ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"RQ" = ( +/obj/machinery/conveyor, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + max_integrity = 70; + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"RS" = ( +/obj/structure/salvageable/server, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"RU" = ( +/obj/structure/fence/end{ + dir = 1 + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"RV" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid/whitesands/dried{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"RY" = ( +/obj/effect/decal/cleanable/greenglow, +/obj/effect/decal/cleanable/garbage{ + pixel_x = -8; + pixel_y = -15 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"RZ" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/old{ + pixel_y = 12 + }, +/obj/item/binoculars{ + pixel_y = -7 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/whitesands/e11manufactory/security) +"Sd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_2{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"Se" = ( +/obj/structure/table/reinforced, +/obj/item/flashlight/lamp{ + pixel_y = 5; + pixel_x = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"Sh" = ( +/mob/living/simple_animal/hostile/asteroid/hivelord/legion, +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Sk" = ( +/obj/structure/closet{ + anchored = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/item/clothing/under/rank/cargo/miner{ + name = "worker's jumpsuit" + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/barracks) +"Sm" = ( +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/structure/chair/stool{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"Sn" = ( +/obj/effect/turf_decal/weather/whitesands{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Sy" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable/orange{ + icon_state = "0-8" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"SA" = ( +/obj/effect/turf_decal/solarpanel, +/obj/item/solar_assembly, +/obj/item/shard, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"SB" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/item/clothing/head/hardhat/purple{ + pixel_y = -9; + pixel_x = -9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/warehouse) +"SF" = ( +/obj/structure/closet/crate/secure/plasma{ + name = "material crate"; + desc = "A secure ore crate."; + anchored = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/item/stack/sheet/mineral/gold/five, +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/sheet/mineral/gold/five, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/mats) +"SG" = ( +/obj/machinery/atmospherics/components/unary/passive_vent/layer4{ + dir = 1 + }, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"SH" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/warehouse) +"SK" = ( +/obj/item/radio/old{ + pixel_y = 5; + pixel_x = 12 + }, +/obj/item/reagent_containers/food/drinks/beer/light{ + pixel_y = -15; + pixel_x = -9 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"SO" = ( +/turf/closed/wall/r_wall/rust/yesdiag, +/area/ruin/whitesands/e11manufactory/warehouse) +"SP" = ( +/obj/structure/curtain, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 8 + }, +/obj/machinery/shower{ + pixel_y = 19 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/whitesands/e11manufactory/barracks) +"SR" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"SX" = ( +/obj/structure/closet{ + anchored = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/item/clothing/head/hardhat/purple, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/barracks) +"Tb" = ( +/obj/effect/turf_decal/corner/opaque/purple/diagonal, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/sign/poster/contraband/ntos{ + pixel_y = -32; + desc = "A advertisement for Ntos IV. The poster seems quite old."; + name = "Ntos IV" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"Tg" = ( +/obj/effect/turf_decal/weather/whitesands/corner, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ti" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/slab_3{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"Tn" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"To" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/orange{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/office) +"TG" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"TN" = ( +/obj/machinery/door/airlock/external, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/office) +"TP" = ( +/obj/structure/fence{ + dir = 4 + }, +/obj/effect/turf_decal/weather/whitesands, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"TU" = ( +/obj/effect/turf_decal/weather/whitesands{ + dir = 6 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"TX" = ( +/obj/structure/fence{ + dir = 2 + }, +/turf/open/floor/plating/asteroid/whitesands/grass/dead/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ub" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/e11, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"Ug" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/barracks) +"Ui" = ( +/obj/structure/fence{ + dir = 2 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 5 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Uj" = ( +/turf/open/floor/concrete/slab_2{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"Um" = ( +/obj/effect/turf_decal/road/edge, +/obj/effect/turf_decal/road, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Un" = ( +/obj/effect/turf_decal/road{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Uq" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/office) +"Ut" = ( +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/turf/open/floor/carpet/nanoweave/purple, +/area/ruin/whitesands/e11manufactory/barracks) +"Uw" = ( +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"Ux" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"UB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/office) +"UE" = ( +/obj/effect/turf_decal/trimline/opaque/white/arrow_cw{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"UM" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"UN" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"UR" = ( +/obj/effect/turf_decal/road{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/open/floor/concrete/pavement, +/area/ruin/whitesands/e11manufactory/warehouse) +"UW" = ( +/obj/effect/turf_decal/road{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/weather/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Vc" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Vd" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger{ + faction = list("eoehoma") + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/pavement, +/area/ruin/whitesands/e11manufactory/warehouse) +"Vi" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/nanoweave/orange, +/area/ruin/whitesands/e11manufactory/office) +"Vj" = ( +/obj/structure/flora/ash/garden/waste, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Vk" = ( +/obj/effect/turf_decal/road, +/turf/open/floor/concrete/pavement, +/area/ruin/whitesands/e11manufactory/warehouse) +"Vo" = ( +/obj/machinery/firealarm/directional/north, +/obj/item/kirbyplants/fullysynthetic{ + pixel_y = 20 + }, +/turf/open/floor/carpet/nanoweave/blue, +/area/ruin/whitesands/e11manufactory/office) +"Vq" = ( +/obj/structure/chair/plastic{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Vx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"VF" = ( +/obj/effect/turf_decal/road/edge{ + dir = 4 + }, +/obj/effect/turf_decal/road, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"VG" = ( +/obj/machinery/door/airlock/grunge{ + name = "Kitchen" + }, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/turf_decal/corner/opaque/red/diagonal{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/ruin/whitesands/e11manufactory/barracks) +"VH" = ( +/obj/structure/railing/corner, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"VL" = ( +/obj/structure/bed, +/obj/effect/turf_decal/corner/opaque/purple/diagonal, +/obj/effect/spawner/random/bedsheet, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"VP" = ( +/obj/effect/decal/cleanable/glass, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"We" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Wi" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/ruin/whitesands/e11manufactory/warehouse) +"Wk" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Wn" = ( +/obj/structure/table/reinforced, +/obj/item/cutting_board{ + pixel_y = 4; + anchored = 1 + }, +/obj/item/melee/knife/kitchen{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/whitesands/e11manufactory/barracks) +"Wo" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/office) +"Wp" = ( +/obj/effect/turf_decal/weather/whitesands{ + dir = 10 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Wu" = ( +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Wx" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"Wy" = ( +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/obj/effect/turf_decal/weather/whitesands{ + dir = 8 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"WC" = ( +/obj/structure/table/reinforced, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/old{ + pixel_y = 14 + }, +/turf/open/floor/carpet/nanoweave/beige, +/area/ruin/whitesands/e11manufactory/office) +"WL" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/cell/gun/empty{ + pixel_y = 8 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"WM" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory) +"WN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/slab_1{ + light_power = 0.6; + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"WR" = ( +/obj/machinery/conveyor{ + dir = 8 + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"WS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/orange{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/whitesands/e11manufactory/security) +"WV" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 2 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/whitesands/e11manufactory/security) +"Xd" = ( +/obj/machinery/atmospherics/components/binary/valve/on/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Xf" = ( +/obj/structure/closet/crate/secure/weapon{ + anchored = 1; + opened = 1; + locked = 0 + }, +/obj/structure/sign/poster/retro/smile{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/whitesands/e11manufactory/warehouse) +"Xi" = ( +/obj/effect/turf_decal/weather/whitesands, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Xj" = ( +/obj/item/solar_assembly, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow, +/obj/item/shard, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Xl" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 8; + id = "e11_manufactory_warehouse_road"; + pixel_x = 20; + pixel_y = 5 + }, +/obj/machinery/button/shieldwallgen{ + dir = 8; + pixel_y = -5; + pixel_x = 19; + id = "e11_manufactory_warehouse_road_holofield" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/warehouse) +"Xn" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Xr" = ( +/obj/machinery/conveyor, +/obj/structure/plasticflaps/opaque, +/obj/machinery/door/poddoor/shutters, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/mats) +"Xv" = ( +/obj/machinery/conveyor{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"Xy" = ( +/obj/effect/turf_decal/road{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Xz" = ( +/obj/machinery/conveyor, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/mats) +"XD" = ( +/obj/structure/toilet{ + dir = 4; + pixel_x = -4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/vomit/old{ + pixel_x = 13; + pixel_y = 3 + }, +/turf/open/floor/plastic, +/area/ruin/whitesands/e11manufactory/barracks) +"XF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"XI" = ( +/obj/machinery/door/window/eastleft, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/turf_decal/corner/opaque/red/diagonal{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/whitesands/e11manufactory/barracks) +"XJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"XK" = ( +/obj/item/stack/ore/salvage/scrapmetal, +/obj/item/shard, +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/office) +"XM" = ( +/obj/machinery/computer/mech_bay_power_console/retro{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"XO" = ( +/obj/structure/salvageable/computer, +/obj/structure/sign/poster/contraband/eoehoma{ + pixel_y = 32 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/whitesands/e11manufactory/security) +"XS" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"XX" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"Yc" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"Yd" = ( +/obj/effect/turf_decal/trimline/opaque/white/line{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ye" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/orange, +/area/ruin/whitesands/e11manufactory/office) +"Yv" = ( +/obj/machinery/power/tracker, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Yx" = ( +/obj/effect/turf_decal/road{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"YE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/glass, +/obj/item/flashlight/lamp{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/light/broken/directional/south, +/turf/open/floor/carpet/nanoweave/orange, +/area/ruin/whitesands/e11manufactory/office) +"YI" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"YK" = ( +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"YR" = ( +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/whitesands/e11manufactory/office) +"Zb" = ( +/obj/structure/cable/yellow{ + icon_state = "5-8" + }, +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/obj/effect/turf_decal/weather/whitesands/corner{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Zd" = ( +/obj/machinery/conveyor{ + dir = 6 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory) +"Ze" = ( +/obj/effect/decal/cleanable/glass, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Zg" = ( +/obj/machinery/conveyor, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Zi" = ( +/obj/structure/cable/yellow{ + icon_state = "5-10" + }, +/obj/structure/cable/orange{ + icon_state = "2-4" + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Zj" = ( +/turf/open/floor/plating/asteroid/whitesands/dried{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"Zq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ZB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/whitesands/e11manufactory/warehouse) +"ZE" = ( +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable/orange{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ZO" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/whitesands/e11manufactory/warehouse) +"ZR" = ( +/turf/open/floor/concrete/reinforced/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ZS" = ( +/obj/effect/decal/cleanable/confetti, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/open/floor/carpet, +/area/ruin/whitesands/e11manufactory/barracks) +"ZV" = ( +/obj/structure/grille/broken, +/obj/item/shard, +/obj/item/shard, +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/office) +"ZY" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ZZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ruin/whitesands/e11manufactory/barracks) + +(1,1,1) = {" +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +vA +vU +vU +bI +Zj +Zj +Zj +vU +vU +vU +vU +vU +vU +vU +vU +Gy +vU +vU +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(2,1,1) = {" +mM +mM +mM +mM +mM +mM +mM +Pa +vU +vU +vU +vU +ec +vU +vU +vU +vU +Zj +Zj +Zj +vU +vU +vU +Zj +Zj +vU +Zj +Zj +rN +Zj +vU +vU +vU +vU +vU +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(3,1,1) = {" +mM +mM +mM +vU +vU +vU +vU +vU +vU +vU +vU +Zj +vU +vU +vU +vU +vU +vU +vU +vU +vU +Bx +vU +vU +Zj +Zj +Zj +vU +vU +vU +vU +yW +vU +vU +vU +vU +vU +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(4,1,1) = {" +mM +mM +Gy +vA +vU +vU +vU +ix +vU +RV +Zj +vU +Pa +vU +vU +vU +vU +vU +Zj +vU +vU +vU +vU +Gy +vU +Zj +vA +vU +vU +vU +vU +vU +vU +vU +vU +vA +vU +vU +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(5,1,1) = {" +mM +mM +vU +gM +gM +KA +KA +KA +bz +tu +tu +tu +tu +tu +tu +tu +eG +KA +KA +KA +KA +KA +KA +KA +bz +tu +tu +tu +tu +tu +tu +tu +gM +gM +vU +vU +vU +vU +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(6,1,1) = {" +mM +mM +vU +gM +oS +Pg +Pg +Pg +qs +Qp +Wp +vU +dR +Qp +Qp +Qp +HD +gV +gV +gV +Pg +Pg +gV +Pg +Xi +vU +vU +dR +Qp +Wp +vU +vU +vU +gM +vU +vU +vU +vU +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(7,1,1) = {" +mM +mM +vU +ho +Pg +SR +rg +Mg +lh +Pg +qs +Qp +uo +gV +gV +gV +gV +Pg +Pg +Pg +Pg +Pg +gV +gV +qs +Qp +Wy +uo +Pg +qs +Wp +vU +vU +cc +vU +vU +vU +vU +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(8,1,1) = {" +mM +mM +Bx +ho +Pg +ZR +XF +XF +ZR +hi +Pg +Pg +Pg +Pg +Pg +Pg +Pg +Pg +Pg +Pg +gV +gV +gV +gV +gV +tN +gV +gV +Pg +Pg +Xi +vA +dR +qJ +vU +vU +vU +Gy +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(9,1,1) = {" +mM +mM +vU +ho +Pg +pk +Yv +rg +ft +iq +LB +zC +Pg +Pg +Pg +Pg +Pg +gV +gV +gV +Pg +gV +Pg +Pg +pE +Km +Km +Km +pE +Pg +qs +Qp +uo +TP +vU +CY +Zj +vU +vU +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(10,1,1) = {" +mM +mM +vU +ho +Pg +XF +HX +ZR +ZR +Zi +Ri +Dk +eE +eE +eE +xU +Pg +Pg +Pg +Mi +rO +rO +eT +pE +Km +qn +RS +sY +Km +pE +gV +Pg +Pg +TP +vU +vU +gG +bI +tY +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(11,1,1) = {" +mM +vU +Zj +ho +Pg +SR +rg +ef +qj +Lh +eE +eE +eE +iM +vm +eE +xU +gV +gV +Bj +Zg +Zg +kt +ez +Hw +zZ +gk +BR +WL +Km +gV +gV +gV +TP +vU +bI +bI +vU +vU +Hd +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(12,1,1) = {" +mM +vU +Zj +AU +CU +Pg +Pg +gV +Pg +Lh +eE +KR +tQ +DN +ei +SF +eE +gV +gV +WR +XS +XS +OE +Km +Xv +zZ +dk +nl +oP +Km +Pg +gV +gV +TP +vU +vU +hS +vU +bI +bI +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(13,1,1) = {" +vU +vA +vU +cc +iL +FP +FP +CU +Pg +Lh +eE +hk +eE +cO +rj +Pv +eE +gV +gV +WR +YK +gV +Pg +Km +yl +zZ +nq +Bg +ua +Km +Pg +gV +Pg +TP +vU +Zj +Zj +vU +tY +bI +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(14,1,1) = {" +vU +Zj +vU +cc +vU +vU +vU +Sn +gV +Lh +eE +kM +eE +is +rj +zK +eE +gV +gV +WR +gV +gV +Pg +Km +Xv +zZ +MY +KP +Km +pE +gV +gV +Pg +TP +cr +Zj +sz +gG +Zj +Zj +bI +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +mM +mM +mM +mM +mM +"} +(15,1,1) = {" +vU +Zj +Zj +cc +vU +dR +Qp +uo +gV +uy +eE +bf +eE +Bd +Rr +Xz +Xr +RQ +kt +Oo +gV +gV +gV +Km +rm +sT +wZ +Ma +Km +Pg +gV +gV +Pg +CA +vU +vU +Hd +bI +vU +vU +Zj +vU +Zj +vU +vU +vU +vU +vU +vU +vU +Zj +Zj +vA +Zj +Zj +Zj +vU +vU +vU +vU +mM +mM +mM +"} +(16,1,1) = {" +vU +vU +vU +cc +dR +NF +gV +gV +gV +uy +xU +aH +eE +eE +eE +eE +xU +gV +gV +gV +gV +gV +gV +Km +Xv +eg +og +xY +Km +FP +CU +tN +Pg +TP +vU +vU +bI +vU +vU +Db +vU +Zj +vU +vU +vU +vU +vU +Pa +vU +vU +vU +vU +vU +vU +vU +vU +vU +Zj +vU +vU +vU +vU +mM +"} +(17,1,1) = {" +Gy +vU +vU +lY +uo +Pg +Pg +gV +gV +yi +kV +Gm +Tn +Pg +Pg +Pg +VH +LU +LU +LU +LU +TG +gV +Km +Pw +sT +xI +RA +Km +vU +Sn +gV +Pg +TP +Bx +vU +vU +vU +vU +vA +vU +vU +RV +Zj +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +Bx +vU +Zj +vU +vU +vU +vU +"} +(18,1,1) = {" +mM +vU +Pa +gM +Pg +Pg +Pg +Pg +Pg +gV +Pg +oB +Pg +sB +Fo +LU +GS +cz +cz +cz +cz +ir +Pg +Km +Xv +EA +xq +Ar +Km +vU +Sn +gV +Pg +gM +KA +KA +bz +tu +tu +tu +tu +tu +tu +tu +tu +tu +tu +tu +tu +tu +tu +eG +KA +KA +KA +KA +bz +gM +gM +Zj +vU +vU +vU +"} +(19,1,1) = {" +mM +mM +vU +gM +gM +Qg +AM +BY +BY +gM +Pg +oB +Pg +dz +cz +cz +cz +cz +cz +cz +cz +ir +Pg +Km +Od +Km +Km +WM +Km +pE +uo +Pg +gV +Pg +gV +oS +qs +Wp +vU +Pa +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +dR +uo +Pg +Pg +Pg +Pg +qs +Wp +gM +vU +bI +vU +Hd +"} +(20,1,1) = {" +mM +mM +vU +vU +vU +Vj +Gs +RY +va +KQ +Pg +oB +Pg +dz +cz +cz +cz +cz +cz +cz +HC +eV +Pg +Km +Zd +Il +Km +Ed +wH +Km +Pg +Pg +Kg +Pg +Pg +Pg +Pg +qs +Wp +vU +vU +dR +Qp +Qp +Qp +Wp +vU +vU +vA +vU +iL +CU +hw +gV +Pg +gV +Pg +qs +qJ +vU +bI +Db +vU +"} +(21,1,1) = {" +mM +mM +vU +vU +cr +vU +IC +on +KJ +KQ +Pg +oB +Pg +UN +tF +cz +cz +cz +cz +HC +eV +gV +Pg +pE +Km +Xv +Km +AD +ak +Km +Pg +Pg +Pg +Pg +Pg +Pg +gV +gV +qs +Wp +kr +oz +oz +oz +kr +qs +Qp +Qp +Wp +vU +vU +Sn +gV +gV +gV +gV +Pg +Pg +TP +vU +vU +Hd +bI +"} +(22,1,1) = {" +mM +mM +vU +vA +vU +vU +yN +VP +lJ +KQ +Ie +oB +gV +gV +UN +tv +ma +ma +ma +Rt +gV +Pg +Pg +Pg +pE +Be +Km +Qi +Km +pE +Pg +Pg +Pg +gK +Pg +gV +Pg +Pg +Pg +kr +oz +xs +hq +FL +oz +Pg +kr +oz +oz +oz +oz +zq +zq +Pg +ox +gV +gV +Pg +TP +vU +vU +vU +vU +"} +(23,1,1) = {" +mM +mM +mM +vU +vU +vU +vU +PP +DM +KQ +Pg +oB +gV +gV +Pg +NV +SK +Pg +Pg +ch +gV +Pg +Pg +Pg +Pg +gx +mj +GW +qH +OE +Pg +gV +gV +Zq +Pg +kr +oz +oz +oz +oz +oz +rQ +GH +Wn +oz +oz +oz +Ny +KH +oz +Qe +Rv +zq +ul +Pg +Kg +gV +gV +TP +vU +vU +vU +vU +"} +(24,1,1) = {" +mM +mM +mM +vU +vU +vU +vU +PQ +QB +KQ +Pg +JM +gV +Pg +gV +Pg +Pg +MZ +rT +gV +Pg +Pg +Pg +QL +CN +Az +Pg +tG +hY +af +vp +gN +hY +ow +kr +oz +aF +dg +jI +ca +VG +xv +FR +yA +oz +oz +Ut +Ax +ba +oz +JX +Uw +Rb +oz +Pg +Pg +gV +gV +TP +vU +vU +Zj +vU +"} +(25,1,1) = {" +mM +mM +mM +mM +Zj +vU +vU +iL +FP +xF +YK +JM +gV +Pg +gV +Pg +Pg +gV +gV +Pg +Pg +Pg +Mi +gx +eT +Pg +Pg +iN +xa +bY +bY +zd +FJ +mX +oz +Ii +fu +pV +wy +fu +oz +oz +oz +oz +oz +oz +OX +Ns +uC +oz +st +Fx +xW +oz +Pg +Pg +gV +Pg +TP +vU +vU +vA +vU +"} +(26,1,1) = {" +mM +mM +mM +vU +vU +Zj +vU +vU +vU +AU +CU +JM +Pg +Pg +gV +Pg +Pg +Pg +gV +kl +kL +hY +ol +Ha +xi +hY +zz +lp +vp +gV +Pg +kr +Eb +mZ +oz +XI +AX +kd +hz +mV +oz +fs +Sk +sI +bp +oz +Jg +cx +Ca +oz +Aa +Bl +Rb +oz +oz +oz +kr +Pg +TP +vU +Zj +Zj +vU +"} +(27,1,1) = {" +mM +mM +Cw +vU +vU +Zj +Rm +Zj +vU +cc +Sn +HE +We +We +fr +fr +fr +We +We +lA +hF +rB +iY +Ip +iW +rB +bY +pF +af +Pg +Pg +Ia +DT +uW +Nw +Oa +Oa +Ff +op +xP +oz +al +fM +Ug +IU +oz +oz +GF +oz +oz +oz +Ai +oz +oz +SP +XD +oz +Pg +TP +vU +RV +vU +vU +"} +(28,1,1) = {" +mM +mM +vU +vU +Bx +Gy +vU +vU +Vj +lY +uo +oB +Pg +Pg +gV +gV +Pg +Pg +Pg +hY +cK +hY +cw +gx +OE +Pg +gV +Pg +gV +Pg +Pg +Ia +gb +AB +av +XJ +ZS +Lz +oc +XJ +xG +ZZ +oy +ie +zQ +Oy +gP +bW +oK +xc +Py +ON +xc +xL +yO +my +oz +Pg +TP +Zj +vU +vU +vU +"} +(29,1,1) = {" +mM +mM +vU +vU +vU +vU +vU +vU +Pa +AU +CU +oB +Pg +Pg +Pg +Pg +Pg +DC +cL +Lq +wG +Wi +tE +gx +Pg +Pg +Pg +Pg +gV +Pg +Pg +kr +Eb +MJ +oz +Hp +Yc +XX +Dp +dw +oz +zo +zs +jn +MC +oz +oz +BL +oz +oz +oz +tm +oz +oz +ht +Kb +oz +Pg +TP +Zj +vU +vU +vU +"} +(30,1,1) = {" +mM +vU +vU +gM +gM +tu +tu +tu +tu +gM +Sn +oB +oS +Pg +Pg +SO +di +di +di +qB +ER +tw +di +he +di +SO +Pg +Pg +Pg +Pg +Pg +cw +qH +Vx +io +uF +xn +Oa +ip +QE +oz +QU +Mm +SX +Lu +oz +Of +kB +wF +oz +Mt +Fp +xj +oz +oz +oz +kr +iu +lT +vU +vU +vU +Zj +"} +(31,1,1) = {" +mM +vU +vU +gM +vU +vU +vU +vU +vU +dR +uo +JM +Pg +Pg +SO +di +IF +Xf +CT +sG +ZB +dK +bU +PZ +dX +di +SO +FP +CU +Ze +Pg +Pg +zz +Ci +io +Ux +Pl +Oa +CQ +Ux +oz +io +io +io +io +oz +VL +pI +Tb +oz +GA +lw +Hs +oz +Pg +Pg +Pg +Xi +cc +Zj +vU +vU +rN +"} +(32,1,1) = {" +mM +vU +vU +cc +vU +vU +cr +Bx +dR +uo +gV +oB +Pg +Pg +di +Gw +qx +qx +qx +AW +RF +AW +qx +PZ +OF +et +di +vU +Sn +Pg +gV +zE +Uj +Ci +kr +oz +ed +tO +by +oz +kr +Pg +Pg +Pg +Pg +oz +bM +mh +qg +oz +Sm +cQ +uu +oz +Pg +Pg +iu +CI +cc +vU +Zj +vU +Zj +"} +(33,1,1) = {" +mM +vU +vU +cc +vU +vU +vU +vU +Sn +gV +Pg +oB +Pg +Pg +di +DO +lV +cN +ms +bJ +RF +Ub +qx +lF +vL +XM +di +jD +iL +CU +Pg +gV +af +Jy +Pg +kr +io +io +io +kr +Pg +Pg +Vq +rf +Pg +kr +oz +wv +oX +oz +MB +tt +oz +kr +Pg +Pg +Xi +vU +cc +Pa +Zj +vU +Zj +"} +(34,1,1) = {" +mM +vU +vU +cc +vU +vU +dR +AH +iK +Xj +Pg +oB +Pg +Pg +di +wQ +lV +sA +rU +qx +DD +qx +vH +vL +jm +DG +di +vU +vU +Sn +gV +gV +vp +lp +Pg +Pg +Pg +YK +Pg +Pg +Pg +Pg +mk +KN +gV +Pg +kr +oz +oz +oz +oz +oz +kr +Pg +Pg +gV +Xi +vU +Ex +mH +Zj +Zj +Zj +"} +(35,1,1) = {" +mM +vU +vU +cc +vU +dR +uo +JR +Xn +mL +gV +oB +Pg +Pg +di +vK +YI +iO +Bq +Nx +BZ +Iv +LV +vL +vL +JP +di +vU +dR +uo +Pg +Pg +Qq +Sd +gV +Pg +Pg +Pg +Pg +Pg +Pg +Pg +MZ +MZ +gV +gV +Pg +Pg +Pg +Pg +Pg +Pg +gV +gV +Pg +FV +CI +vU +Ex +mH +vU +Zj +Gy +"} +(36,1,1) = {" +mM +vU +vU +lY +Qp +uo +gV +vV +uS +UM +gV +oB +Pg +Pg +di +bX +aU +sP +ZO +ay +zm +aU +tC +pS +vL +Em +di +dR +em +gV +Pg +Pg +gN +Ti +zz +hY +zz +hY +zz +zz +Qq +zz +hY +kl +Qq +gN +af +Pg +YK +Pg +Pg +bK +Lo +gV +gV +Xi +vU +vU +cc +Ek +mH +mH +mH +"} +(37,1,1) = {" +mM +vA +vU +ho +Pg +gV +gV +SR +uS +UM +Pg +Qt +Pg +Pg +di +Qf +Ge +UR +Vk +EH +cq +AK +Ju +PR +vL +mm +di +uo +gV +Mi +EZ +EZ +oJ +cu +jO +ME +Ba +NC +Kn +WN +NC +WN +rB +Kn +Kn +nS +vp +Pg +Pg +Pg +gV +nu +zR +gV +Pg +Xi +vU +dR +OI +mH +mH +vU +mH +"} +(38,1,1) = {" +mM +vU +vU +ho +Pg +gV +Pg +SR +uS +UM +Pg +oB +Pg +Pg +di +IG +SB +Kw +LZ +Vd +nG +SH +qx +mp +QJ +di +SO +Pg +Pg +do +xp +pb +ZR +FT +RU +xp +sV +Pg +Pg +gV +gV +gV +gV +gV +gV +Jy +hY +Pg +Pg +gV +gV +BJ +XF +gV +Pg +qs +Wy +uo +gM +mH +Dz +Ek +vU +"} +(39,1,1) = {" +mM +vU +vU +ho +Pg +gV +Pg +SR +uS +bd +Pg +oB +Pg +Pg +di +ic +iH +Iz +LZ +jW +nG +SH +oO +di +di +SO +Pg +gV +Kg +do +fO +xe +LH +Xd +CH +fO +sV +Pg +gV +gV +hb +gV +gV +Pg +Mi +eM +jQ +SG +gl +Pg +Pg +yd +Mv +Pg +Pg +gM +Nr +gM +gM +mH +mH +vU +vU +"} +(40,1,1) = {" +mM +vU +vU +ho +iu +FP +FP +as +uS +UM +Pg +oB +Pg +Pg +SO +di +iH +sh +ID +pL +ne +Xl +di +SO +Pg +Pg +Pg +gV +Pg +do +fO +NW +ko +Bn +Pj +fO +sV +Pg +gV +Pg +gV +gV +Pg +Pg +mI +qN +NX +mI +Lh +ks +iq +lE +tK +zC +Pg +KQ +mH +mH +mH +mH +vA +vU +vU +"} +(41,1,1) = {" +mM +Zj +Gy +AU +CI +vU +vU +iL +Wk +Pg +Pg +oB +gV +Pg +Pg +SO +di +bq +nj +PA +qz +di +SO +Pg +Pg +Pg +gV +gV +Pg +do +fO +Gp +hI +hI +Pj +fO +sV +Pg +gV +Pg +gV +gV +Pg +Pg +NX +To +mc +NX +Sy +Hf +Pg +Pg +Pg +FK +Pg +KQ +mH +mH +Sh +mH +vU +vU +vU +"} +(42,1,1) = {" +mM +vU +vU +cc +Bx +vU +Hi +vU +LY +Pg +Jn +oB +gV +gV +Pg +Pg +fv +En +of +of +kA +fv +Pg +Pg +Pg +gV +gV +Pg +Pg +do +fO +zc +hI +Ik +eF +fO +sV +Pg +gV +gV +gV +Pg +Pg +Pg +NX +mA +Ms +NX +NX +NX +NX +mI +Pg +FK +Pg +KQ +Ek +mH +Dz +mH +vU +vU +vU +"} +(43,1,1) = {" +mM +Bx +vU +cc +vU +dR +pv +Qp +le +HV +ZE +OU +Pg +gV +Pg +Pg +ZR +vt +hI +hI +Ni +ZR +Pg +Pg +gV +gV +Pg +Pg +Pg +do +xp +pb +ZR +ZR +RU +xp +sV +Pg +Pg +Pg +Pg +mI +RG +RG +NX +ut +NX +NX +qm +jR +kP +NX +mI +ZY +gV +KQ +mH +mH +mH +vU +mH +vU +mM +"} +(44,1,1) = {" +mM +vU +vU +lY +Qp +uo +Pg +qu +nA +MR +aN +rb +Pg +gV +gV +Pg +ZR +QZ +hI +gU +Ni +ZR +Pg +gV +gV +gV +Pg +Pg +Pg +cw +EV +EV +Io +gi +hX +hX +qE +Pg +Pg +Pg +Pg +RG +fY +Wx +II +iz +oL +NX +Cx +jX +dC +qp +km +ZY +gV +KQ +mH +mH +mH +vU +vU +mM +mM +"} +(45,1,1) = {" +mM +bI +vU +ho +Pg +gV +Pg +Pg +el +MR +NO +MR +Pg +Pg +gV +Pg +ZR +QZ +gU +gU +Ni +ZR +gV +gV +gV +Pg +Pg +Pg +Pg +Pg +Pg +Pg +gN +vp +gV +Pg +gV +gV +Pg +Pg +oS +RG +Je +dj +Se +jT +rS +GN +cm +aY +ln +Wo +km +ry +FP +nE +mH +Ek +vU +vU +mM +mM +mM +"} +(46,1,1) = {" +vU +vU +vU +ho +Pg +gV +Pg +rb +MR +MR +bk +MR +Pg +Pg +Pg +Pg +ZR +QZ +gU +hI +Jl +ZR +gV +gV +Pg +Pg +Pg +Pg +Pg +Pg +Pg +Pg +hY +Uj +Pg +gV +gV +cR +mI +NX +NX +NX +rR +WC +vF +hu +vQ +NX +Vo +bB +PV +KC +km +yC +vU +AU +mH +vU +vU +vU +mM +mM +mM +"} +(47,1,1) = {" +Hd +tY +vU +ho +gV +gV +Pg +MR +Oq +Cl +WS +MR +Pg +Pg +Pg +Pg +ZR +QZ +hI +hI +Jl +ZR +af +hY +Uj +zz +Uj +zz +Qq +af +vp +kl +hY +hY +hY +kl +zz +oN +YR +nI +UB +TN +rS +LN +dP +Po +hn +NX +NX +NX +NX +NX +mI +yC +vU +cc +Zj +RV +rN +vU +mM +mM +mM +"} +(48,1,1) = {" +bI +vU +vU +ho +Pg +gV +Pg +MR +PH +aD +cy +jg +Pg +Pg +Pg +Pg +ZR +vt +gU +gU +Ni +XF +zz +hY +hY +kl +zz +hY +af +af +Qq +gN +BU +Uj +Cw +zz +hY +oN +NX +Qj +Uq +NX +gv +iz +sj +Rl +ke +NX +NX +NX +mI +Pg +Pg +Zb +Wp +cc +vU +Zj +Zj +vU +mM +mM +mM +"} +(49,1,1) = {" +bI +bI +vU +ho +gV +gV +Pg +MR +XO +WV +RH +jg +Pg +Pg +Pg +Pg +fv +Un +bi +gU +OT +Pc +Pg +Pg +Pg +Pg +Pg +gV +gV +gV +gV +Cw +Cw +Cw +Cw +Pg +Pg +cw +mI +NX +NX +NX +NX +Kf +NX +NX +yK +NX +NX +wL +Oj +cH +rZ +Pg +qs +qJ +vU +Zj +vU +vU +mM +mM +mM +"} +(50,1,1) = {" +vU +vU +vU +ho +Pg +gV +gV +MR +pu +RZ +It +jg +YK +Pg +Ep +KY +KY +Um +mP +mP +VF +aE +KY +KY +KY +KY +KY +KY +aE +Ra +Pg +Cw +wd +Cw +Pg +Pg +Pg +Pg +Pg +Pg +NX +kK +Vi +Iu +Jh +NX +KZ +sv +NX +Pg +Vc +ZR +hH +Pg +Pg +TP +vU +vU +vU +Zj +mM +mM +mM +"} +(51,1,1) = {" +mM +vU +vU +ho +gV +gV +gV +rb +MR +jg +jg +rb +Pg +Pg +Yx +MQ +Yd +Ot +gU +rx +Rc +Yd +UE +Yd +Yd +Yd +BV +UE +Yd +sH +gV +gV +Cw +Cw +Pg +Pg +gV +gV +gV +Pg +NX +sc +Im +vg +Ye +NX +NX +NX +mI +gV +hH +ZR +hH +Pg +Pg +TP +vU +vU +vU +Zj +mM +mM +mM +"} +(52,1,1) = {" +mM +vU +vU +ho +gV +Pg +gV +Pg +Pg +Pg +Pg +Pg +Pg +Pg +Xy +gU +gU +gU +gU +gU +gU +gU +gU +gU +gU +hI +hI +gU +gc +id +Pg +Pg +Pg +Cw +Pg +gV +gV +Pg +gV +Pg +NX +BX +Pi +DQ +YE +NX +yW +iL +CU +gV +SA +ZR +fA +Pg +Pg +TP +vU +vU +vU +Qu +mM +mM +mM +"} +(53,1,1) = {" +mM +vU +vA +ho +Pg +YK +iu +FP +FP +FP +CU +Pg +Pg +Pg +Xy +gU +hI +hI +hI +hI +gU +gU +uT +gU +gU +gU +qY +gU +gU +rP +gV +gV +Pg +Pg +Pg +gV +gV +gV +gV +gV +wt +OV +IT +aA +QI +NX +vU +vU +iL +CU +SA +XF +hH +Pg +Pg +TP +vA +vU +vU +vU +mM +mM +mM +"} +(54,1,1) = {" +mM +Gy +vU +gM +Pg +iu +CI +vU +vU +vU +Sn +Pg +Pg +Pg +nw +Da +Ov +Ov +Ov +Ov +Ov +Da +Da +Da +Da +Da +Da +Da +Ov +bc +Pg +gV +gV +Pg +Pg +Pg +Pg +Pg +gV +Pg +Pg +OV +XK +ZV +pf +mI +vU +Pa +vU +Sn +KO +ZR +DJ +gV +Pg +TP +vU +vU +vU +Zj +mM +mM +mM +"} +(55,1,1) = {" +mM +vU +vU +gM +gM +oE +tu +tu +gM +vU +Sn +Pg +Pg +Pg +Mz +gU +gU +zu +hI +hI +hI +gU +gU +gU +gU +zu +gU +gU +hI +wI +KY +KY +aE +KY +FY +Pg +Pg +Pg +gV +YK +hw +Pg +jt +iu +FP +CI +vU +vU +dR +uo +gV +gV +gV +gV +Pg +TP +vU +vU +vU +vU +mM +mM +mM +"} +(56,1,1) = {" +mM +vU +vU +Cw +Cw +vU +vU +vU +cc +dR +uo +Pg +Pg +Pg +Xy +gU +gU +hI +gU +hI +hI +hI +gU +gU +gU +gU +gU +hI +hI +hI +gU +gU +gU +gU +rP +Pg +Pg +Pg +Pg +Pg +Pg +dc +Pg +Xi +vU +vU +vU +vU +iL +CU +Pg +Pg +Pg +Pg +Pg +gM +vU +vU +vU +vU +mM +mM +mM +"} +(57,1,1) = {" +mM +vU +Cw +Cw +Cw +Cw +Cw +vU +lY +uo +Pg +Pg +Pg +Pg +Xy +gU +gU +gU +hI +gU +gU +hI +hI +gU +gU +gU +gU +gU +hI +hI +hI +gU +gU +gU +rP +Pg +Pg +Pg +Pg +gM +Qg +Qg +Qg +oE +tu +tu +tu +tu +tu +fJ +Qg +Qg +Qg +Qg +gM +gM +vU +Bx +vU +vU +mM +mM +mM +"} +(58,1,1) = {" +mM +mM +Cw +Cw +Cw +Cw +Cw +vU +ho +Pg +Pg +gV +Pg +Pg +Xy +gU +gU +gU +hI +hI +hI +gU +hI +hI +hI +gU +gU +gU +gU +hI +hI +hI +gU +gU +rP +Pg +Pg +Pg +Pg +TP +Bx +vU +vU +vU +vU +vU +vU +vU +vU +vU +Pa +vU +vU +vU +vU +vU +vU +vU +vU +vU +mM +mM +mM +"} +(59,1,1) = {" +mM +mM +mM +Cw +Cw +Cw +vU +vU +ho +Pg +Pg +iu +FP +CU +Xy +gU +gU +gU +gU +gU +gU +Wu +gU +gU +gU +gU +gU +gU +uT +hI +hI +hI +hI +gU +rP +Pg +Pg +Pg +Pg +TP +vU +vU +vU +bI +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +mM +mM +mM +"} +(60,1,1) = {" +mM +mM +mM +mM +mM +Zj +vU +vU +ho +Pg +Pg +Xi +Bx +iL +Nj +gU +gU +gU +gU +gU +gU +gU +gU +gU +gU +gU +gU +gU +gU +gU +gU +hI +hI +gU +rP +Pg +Pg +gV +Pg +TP +vU +bI +Zj +Zj +gG +Db +vU +vU +vA +Zj +Zj +mM +vU +vU +vU +vU +Zj +Zj +vU +Pa +mM +mM +mM +"} +(61,1,1) = {" +mM +mM +mM +mM +mM +Zj +ix +vU +ho +Pg +RJ +Xi +vU +vU +OP +gU +gU +gU +uT +gU +gU +gU +hI +hI +gU +Ik +gU +gU +gU +gU +qi +aP +IB +gU +rP +Pg +gV +gV +Pg +TP +vU +bI +vU +vU +tY +Gy +mM +mM +mM +mM +mM +mM +Zj +Zj +Zj +RV +vU +vU +vU +mM +mM +mM +mM +"} +(62,1,1) = {" +mM +mM +mM +mM +mM +vU +Gy +vU +ho +Pg +gV +Xi +vU +dR +CL +hI +gU +gU +gU +gU +gU +hI +hI +hI +gU +gU +gU +gU +bi +qi +TU +vU +LA +IB +rP +gV +Pg +gV +Pg +TP +Hd +Zj +Zj +vU +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(63,1,1) = {" +mM +mM +mM +mM +mM +vU +Zj +vU +DL +Pg +Pg +qs +Qp +uo +uq +gt +JJ +JJ +JJ +JJ +gt +gt +gt +gt +gt +JJ +JJ +JJ +JJ +UW +vU +Pa +vU +DW +uR +gV +gV +Pg +Pg +TP +vU +vU +Zj +vU +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(64,1,1) = {" +mM +mM +mM +mM +mM +vU +Zj +vU +ho +Pg +Pg +gV +gV +gV +gV +iu +FP +CU +Pg +Pg +gV +Pg +gV +gV +Pg +gV +gV +Pg +Pg +Tg +dN +vU +vU +vU +Sn +gV +Pg +Pg +Pg +TP +vU +vU +Zj +vU +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(65,1,1) = {" +mM +mM +mM +mM +mM +vU +vU +vU +gM +Pg +Pg +iu +FP +xX +xX +CI +vU +iL +CU +Pg +Pg +Pg +gV +gV +gV +Pg +Pg +gV +iu +CI +vU +vU +vU +vU +iL +CU +Pg +Pg +Pg +gM +vU +vU +vU +Zj +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(66,1,1) = {" +mM +mM +mM +mM +mM +mM +Pa +vU +gM +gM +Qg +oE +tu +tu +tu +tu +tu +tu +Ui +Qg +Qg +Qg +BY +TX +Qg +Qg +Qg +Qg +oE +tu +tu +tu +tu +tu +tu +Ui +Qg +Qg +gM +gM +vU +vU +Zj +Zj +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(67,1,1) = {" +mM +mM +mM +mM +mM +mM +vU +vU +vU +vU +Zj +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +NH +NH +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +Pa +vU +vU +vU +vU +Gy +Zj +vU +vU +Bx +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(68,1,1) = {" +mM +mM +mM +mM +mM +mM +vU +vU +vU +vU +vU +gG +hS +vU +Bx +vU +vU +vU +vU +vA +NH +NH +NH +vU +Zj +Zj +NH +Zj +Zj +Zj +Zj +vU +Zj +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +vU +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(69,1,1) = {" +mM +mM +mM +mM +mM +mM +mM +vU +vU +vU +vU +vU +Zj +bI +bI +vU +Zj +vU +vU +NH +NH +Zj +NH +NH +NH +NH +Zj +Zj +Zj +vU +vU +vU +vU +Zj +Zj +vU +vA +vU +vU +vU +vU +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} +(70,1,1) = {" +mM +mM +mM +mM +mM +mM +mM +mM +mM +vU +vA +bI +bI +vU +Zj +gG +vU +vU +vU +vU +NH +dA +Zj +RV +Zj +kn +Zj +vU +Zj +vU +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +mM +"} diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_medipen_plant.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_medipen_plant.dmm deleted file mode 100644 index 7ae333dcd54..00000000000 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_medipen_plant.dmm +++ /dev/null @@ -1,2465 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ad" = ( -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"az" = ( -/turf/closed/indestructible/riveted, -/area/ruin/powered) -"aU" = ( -/obj/structure/chair, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/machinery/light/directional/west, -/obj/structure/sign/poster/official/random{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"aV" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"bu" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"bX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/indestructible/riveted, -/area/ruin/powered) -"cl" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/plating, -/area/ruin/powered) -"cy" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"cB" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/engine, -/area/ruin/powered) -"cG" = ( -/obj/structure/rack, -/obj/item/reagent_containers/hypospray/medipen/survival, -/obj/item/reagent_containers/hypospray/medipen/survival, -/obj/effect/turf_decal/box, -/turf/open/floor/engine, -/area/ruin/powered) -"cM" = ( -/obj/structure/rack, -/obj/item/stack/sheet/cardboard/fifty{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/stack/sheet/cardboard/fifty, -/obj/item/stack/sheet/cardboard/fifty{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/effect/turf_decal/box, -/turf/open/floor/engine, -/area/ruin/powered) -"cN" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"cZ" = ( -/obj/structure/table, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/item/melee/classic_baton, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"da" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, -/obj/structure/sign/poster/official/random{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"dE" = ( -/obj/machinery/plumbing/filter, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/powered) -"dQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"dR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, -/obj/item/circuitboard/computer/solar_control, -/obj/item/stack/cable_coil/cyan, -/obj/item/stack/cable_coil/cyan, -/turf/open/floor/plating, -/area/ruin/powered) -"dZ" = ( -/obj/machinery/door/airlock/public/glass, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"ef" = ( -/obj/structure/rack, -/obj/item/reagent_containers/hypospray/medipen/survival, -/obj/effect/turf_decal/box, -/obj/machinery/light/directional/south, -/turf/open/floor/engine, -/area/ruin/powered) -"ej" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"en" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"er" = ( -/obj/structure/chair, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"eI" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/ruin/powered) -"fg" = ( -/obj/structure/table_frame, -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "small" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"fh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/ruin/powered) -"fl" = ( -/obj/structure/table_frame, -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "medium" - }, -/obj/item/reagent_containers/glass/beaker/large{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/reagent_containers/glass/beaker/large, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"fB" = ( -/obj/structure/table_frame, -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "small" - }, -/obj/item/wrench, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"fO" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plating, -/area/ruin/powered) -"fY" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"ge" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"gn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel, -/area/ruin/powered) -"gy" = ( -/obj/item/reagent_containers/hypospray/medipen/oxandrolone, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/ruin/powered) -"gS" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"ha" = ( -/obj/structure/rack, -/obj/item/tank/internals/oxygen/yellow{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/tank/internals/oxygen/yellow, -/obj/item/tank/internals/oxygen/yellow{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"hh" = ( -/obj/structure/frame/computer{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"hn" = ( -/obj/structure/closet/secure_closet/chemical, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"hC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"hK" = ( -/obj/structure/rack, -/obj/item/reagent_containers/hypospray/medipen/survival, -/obj/effect/turf_decal/box, -/turf/open/floor/engine, -/area/ruin/powered) -"hL" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box, -/obj/machinery/light/directional/south, -/turf/open/floor/engine, -/area/ruin/powered) -"hX" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"hY" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/ruin/powered) -"iq" = ( -/obj/effect/turf_decal/box, -/turf/open/floor/engine, -/area/ruin/powered) -"ir" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ruin/powered) -"iJ" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/coffee, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"iP" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"iT" = ( -/obj/machinery/door/airlock/atmos/glass{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"ja" = ( -/obj/structure/table/glass, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"jh" = ( -/obj/structure/rack, -/obj/item/reagent_containers/hypospray/medipen/salacid{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/reagent_containers/hypospray/medipen{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/reagent_containers/hypospray/medipen/atropine, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"kk" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"ku" = ( -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = -32 - }, -/turf/open/floor/plating/asteroid/whitesands, -/area/overmap_encounter/planetoid/sand/explored) -"kF" = ( -/obj/structure/rack, -/obj/item/tank/internals/oxygen{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"kI" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"kS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/powered) -"li" = ( -/obj/structure/filingcabinet, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"lM" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/ltsrbt, -/turf/open/floor/engine, -/area/ruin/powered) -"lO" = ( -/obj/machinery/plumbing/tank, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"mh" = ( -/obj/structure/door_assembly/door_assembly_research{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/ruin/powered) -"mK" = ( -/obj/structure/table_frame, -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard, -/turf/open/floor/plating, -/area/ruin/powered) -"np" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"nt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"nz" = ( -/obj/structure/table/glass, -/obj/structure/frame/machine, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"nQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"od" = ( -/obj/structure/closet/wardrobe/chemistry_white, -/turf/open/floor/plating, -/area/ruin/powered) -"ok" = ( -/obj/machinery/plumbing/input, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"oq" = ( -/obj/item/wrench/crescent, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"oD" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/ruin/powered) -"oG" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"oH" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"oL" = ( -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "medium" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"oW" = ( -/obj/structure/rack, -/obj/item/storage/box, -/obj/effect/turf_decal/box, -/obj/machinery/light/directional/north, -/turf/open/floor/engine, -/area/ruin/powered) -"pw" = ( -/obj/structure/rack, -/obj/item/storage/box, -/obj/effect/turf_decal/box, -/turf/open/floor/engine, -/area/ruin/powered) -"pB" = ( -/turf/open/floor/plating/asteroid/whitesands, -/area/overmap_encounter/planetoid/sand/explored) -"pS" = ( -/obj/structure/closet/crate/solarpanel_small, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/glass/fifty, -/turf/open/floor/plating, -/area/ruin/powered) -"qs" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/ruin/powered) -"qE" = ( -/obj/machinery/door/window/westleft, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"qG" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"qI" = ( -/obj/effect/turf_decal/box, -/obj/machinery/chem_heater, -/turf/open/floor/engine, -/area/ruin/powered) -"qK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/plumbing/synthesizer, -/turf/open/floor/plating, -/area/ruin/powered) -"qL" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/engine, -/area/ruin/powered) -"re" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/powered) -"rf" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/ruin/powered) -"rD" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/item/clothing/under/rank/security/officer/mallcop, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"rE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"rH" = ( -/obj/machinery/plumbing/output, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"rN" = ( -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/ruin/powered) -"sz" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/ruin/powered) -"sE" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"sG" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ruin/powered) -"sO" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"sQ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"sS" = ( -/obj/structure/rack, -/obj/item/storage/firstaid/brute, -/obj/item/storage/firstaid/fire{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"tu" = ( -/obj/structure/table, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/mining_voucher, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"uu" = ( -/obj/machinery/vending/cola/random, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"uz" = ( -/obj/machinery/vending/snack/random, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"uD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"uL" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"uP" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"vB" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"vI" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"vO" = ( -/obj/structure/closet/wardrobe/chemistry_white, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"wq" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"ws" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"wF" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"wW" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/snack/random, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"xd" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/ruin/powered) -"xq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/closed/wall, -/area/ruin/powered) -"xP" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"xW" = ( -/obj/machinery/plumbing/synthesizer, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/ruin/powered) -"yc" = ( -/obj/structure/door_assembly/door_assembly_research{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/powered) -"yg" = ( -/obj/structure/closet/secure_closet/chemical, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/item/construction/plumbing, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"yx" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"zk" = ( -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/powered) -"zN" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"zQ" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/item/reagent_containers/hypospray/medipen/penacid, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"zR" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"Ah" = ( -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "medium" - }, -/obj/machinery/reagentgrinder, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table_frame, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"AK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/sign/poster/official/random{ - pixel_x = 32 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"AO" = ( -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "medium" - }, -/obj/item/shard, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/ruin/powered) -"Bb" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/powered) -"Bn" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"BD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"BH" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/ruin/powered) -"BI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/powered) -"BS" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"Ci" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box, -/turf/open/floor/engine, -/area/ruin/powered) -"Db" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"Dr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/south, -/turf/open/floor/plating, -/area/ruin/powered) -"Dt" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"Ee" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Eh" = ( -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/ruin/powered) -"Ei" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/airlock/science/glass, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"EO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 8 - }, -/turf/closed/wall, -/area/ruin/powered) -"Fd" = ( -/turf/open/floor/engine, -/area/ruin/powered) -"Fz" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"FO" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/airlock/science/glass, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Go" = ( -/turf/closed/wall/rust, -/area/ruin/powered) -"Gz" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"GG" = ( -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "small" - }, -/obj/item/shard, -/obj/item/wrench, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/table_frame, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"GJ" = ( -/obj/machinery/plumbing/tank, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/powered) -"Hb" = ( -/obj/machinery/plumbing, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/ruin/powered) -"Hp" = ( -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "small" - }, -/obj/item/shard{ - icon_state = "medium" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/ruin/powered) -"Hw" = ( -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"IA" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"Jb" = ( -/turf/closed/wall, -/area/ruin/powered) -"Jd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/plumbing/synthesizer, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/powered) -"Jm" = ( -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Jq" = ( -/obj/effect/turf_decal/industrial/loading, -/turf/open/floor/engine, -/area/ruin/powered) -"JJ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"Ko" = ( -/obj/structure/sign/poster/official/random{ - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"KQ" = ( -/obj/structure/table, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"KU" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Lc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"Lj" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"Lo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/powered) -"Lw" = ( -/obj/structure/rack, -/obj/item/storage/firstaid/toxin, -/obj/item/storage/firstaid{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"LF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/powered) -"LT" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"Mb" = ( -/turf/template_noop, -/area/template_noop) -"Mq" = ( -/obj/machinery/plumbing/grinder_chemical, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/ruin/powered) -"MB" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plating, -/area/ruin/powered) -"MF" = ( -/obj/machinery/plumbing/pill_press, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"MM" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/engine_waste{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/whitesands, -/area/overmap_encounter/planetoid/sand/explored) -"Nb" = ( -/turf/open/floor/plating/asteroid/whitesands, -/area/ruin/powered) -"NN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"OB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"OJ" = ( -/obj/structure/table/glass, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/item/stack/ducts/fifty, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"OO" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ruin/powered) -"OP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/indestructible/riveted, -/area/ruin/powered) -"Pg" = ( -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "medium" - }, -/obj/item/shard{ - icon_state = "medium" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"Pn" = ( -/obj/machinery/computer/vaultcontroller{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Ps" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"PM" = ( -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard, -/obj/structure/table_frame, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/ruin/powered) -"Qc" = ( -/obj/machinery/plumbing/tank, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"Qk" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"Qq" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"QP" = ( -/obj/machinery/door/airlock/vault/derelict, -/obj/structure/cable, -/turf/open/floor/engine, -/area/ruin/powered) -"Rs" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"RD" = ( -/obj/structure/table, -/obj/machinery/microwave, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Sh" = ( -/obj/machinery/door/airlock/security/glass, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"So" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"Sw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"Sz" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/ruin/powered) -"SE" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"Tb" = ( -/obj/machinery/plumbing, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"Te" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"TY" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"Ub" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Uo" = ( -/obj/item/paper{ - default_raw_text = "First, pack the medpens in a box, this is nessarary or else the launchpad won't take the pens. Second, leave them on the pad, and click send. From there, they will be managed and transported to mining vendors all over the galaxy."; - name = "Factory loading instructions" - }, -/turf/open/floor/engine, -/area/ruin/powered) -"UH" = ( -/turf/open/floor/plating, -/area/ruin/powered) -"UM" = ( -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"UT" = ( -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"Ve" = ( -/obj/structure/table_frame, -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "medium" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"Vv" = ( -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard, -/obj/item/shard{ - icon_state = "small" - }, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/reagent_containers/glass/beaker/large{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/table_frame, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"VY" = ( -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "small" - }, -/obj/item/shard, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/ruin/powered) -"Wa" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"WE" = ( -/obj/machinery/plumbing/reaction_chamber, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"WQ" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"WR" = ( -/obj/effect/turf_decal/box, -/obj/machinery/chem_master, -/turf/open/floor/engine, -/area/ruin/powered) -"WS" = ( -/obj/structure/table, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"XG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"XJ" = ( -/obj/structure/chair, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Yp" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"YA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/plumbing/pill_press, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"YE" = ( -/obj/effect/turf_decal/box, -/obj/machinery/chem_dispenser, -/turf/open/floor/engine, -/area/ruin/powered) -"YH" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"YL" = ( -/obj/item/shard{ - icon_state = "tiny" - }, -/obj/item/shard{ - icon_state = "small" - }, -/obj/item/shard, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ruin/powered) -"YQ" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Zn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ruin/powered) -"Zt" = ( -/obj/structure/rack, -/obj/item/reagent_containers/hypospray/medipen/survival, -/obj/effect/turf_decal/box, -/obj/machinery/light/directional/north, -/turf/open/floor/engine, -/area/ruin/powered) -"Zx" = ( -/obj/item/reagent_containers/hypospray/medipen/survival, -/turf/open/floor/engine, -/area/ruin/powered) -"ZI" = ( -/obj/structure/table, -/obj/item/storage/toolbox/emergency, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/item/restraints/handcuffs, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"ZM" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"ZQ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) - -(1,1,1) = {" -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -MM -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -"} -(2,1,1) = {" -Mb -Mb -Mb -Mb -Jb -Go -Go -Jb -EO -Go -Jb -Jb -Go -Go -Jb -Jb -Go -Go -Jb -Jb -Go -Jb -Go -Mb -Mb -Mb -Mb -Mb -Mb -"} -(3,1,1) = {" -Mb -Mb -Mb -Mb -Jb -WQ -pS -oD -JJ -Jb -ja -fB -fl -nz -Ve -mK -fg -Gz -sO -Gz -sO -Yp -Jb -Mb -Mb -Mb -Mb -Mb -Mb -"} -(4,1,1) = {" -Mb -Mb -Mb -Mb -Go -dR -UH -sG -oq -Jb -sQ -ad -oH -UH -UH -UH -gy -ir -oH -ad -ir -np -Jb -Mb -Mb -Mb -Mb -Mb -Mb -"} -(5,1,1) = {" -Mb -Mb -Mb -Mb -Jb -oG -uD -MB -fO -Go -UH -oH -Jd -Eh -eI -BH -eI -Tb -UH -oH -YA -UH -Go -Mb -Mb -Mb -Mb -Mb -Mb -"} -(6,1,1) = {" -Mb -Mb -Mb -Mb -Jb -So -Ko -sG -rE -Jb -UH -oH -oH -zk -dE -Nb -UH -rN -UH -ir -ad -np -az -az -az -az -az -az -az -"} -(7,1,1) = {" -Mb -Jb -Go -Jb -Jb -Go -Jb -iT -xq -Jb -Fz -ir -ad -kI -Nb -Nb -Nb -WE -Db -oH -rH -Dr -az -Ci -Zx -YE -Fd -hK -az -"} -(8,1,1) = {" -Mb -Jb -uL -aU -iJ -vB -sE -yx -Ub -Jb -sQ -lO -oH -re -zk -Nb -zk -ad -Qc -UH -UH -Te -az -Zt -Fd -WR -Fd -ef -az -"} -(9,1,1) = {" -Mb -Go -er -sE -YQ -Ee -sE -sE -wF -Jb -vO -rN -ad -re -rN -ok -rN -oH -OB -ad -oH -Te -az -cG -Fd -qI -Fd -Ci -az -"} -(10,1,1) = {" -Mb -Go -XJ -bu -ej -tu -WS -KQ -qE -Go -yg -oH -WE -nQ -ad -ad -ad -ad -Ps -oH -UH -Te -az -Zt -Fd -hK -Fd -ef -az -"} -(11,1,1) = {" -ku -Jb -kF -sE -gS -cN -aV -dQ -Jm -Jb -hY -kk -Qq -VY -Qq -mh -Hp -AO -YH -Pg -xd -xd -OP -qL -Zn -hK -Fd -Ci -az -"} -(12,1,1) = {" -pB -dZ -bu -sE -sE -KU -ZQ -sS -ge -Ei -qs -Wa -Qk -fY -fh -zk -rN -iP -BS -hC -iP -wq -QP -Fd -Fd -Uo -Jq -lM -az -"} -(13,1,1) = {" -pB -dZ -sE -bu -bu -KU -XG -Lw -xP -FO -sz -Rs -Lj -BI -TY -kS -SE -SE -SE -zR -cy -LT -QP -Fd -Fd -Fd -Fd -hh -az -"} -(14,1,1) = {" -ku -Jb -ha -bu -sE -RD -Pn -jh -Hw -Jb -hY -en -Bn -oL -zN -yc -rf -rf -YL -Bn -rf -rf -bX -cB -ws -hK -Fd -hK -az -"} -(15,1,1) = {" -Mb -Jb -sE -sE -sE -OO -OO -uP -Sh -Jb -hn -ir -ad -NN -BD -zk -ad -oH -Sw -ad -ad -UH -az -oW -Fd -hK -Fd -ef -az -"} -(16,1,1) = {" -Mb -Go -sE -sE -bu -OO -ZM -cZ -UT -Go -od -oH -rN -Ps -zk -oH -rN -Bb -LF -zk -ad -np -az -hK -Fd -iq -Fd -hK -az -"} -(17,1,1) = {" -Mb -Go -uz -sE -wW -OO -ZI -rD -nt -Jb -IA -ad -rN -Lo -zk -Bb -Mq -zk -Lc -Bb -qK -np -az -Zt -Fd -iq -Zx -hL -az -"} -(18,1,1) = {" -Mb -Jb -uu -da -UM -OO -li -gn -AK -Go -qG -rN -oH -GJ -Nb -Nb -Nb -zk -Sz -ad -ad -cl -az -pw -Fd -iq -Fd -cM -az -"} -(19,1,1) = {" -Mb -Jb -Go -Jb -Go -Jb -Jb -Go -Go -Go -rN -xW -UH -ad -Nb -Hb -Bb -eI -ad -Bb -zk -Te -az -az -az -az -az -az -az -"} -(20,1,1) = {" -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Jb -IA -oH -ad -rN -rN -oH -MF -Bb -ad -Bb -ad -Te -Jb -Mb -Mb -Mb -Mb -Mb -Mb -"} -(21,1,1) = {" -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Jb -IA -UH -oH -oH -rN -rN -ir -ad -zk -ad -lO -Te -Go -Mb -Mb -Mb -Mb -Mb -Mb -"} -(22,1,1) = {" -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Jb -OJ -GG -Vv -Ah -PM -hX -zQ -UH -vI -vI -vI -Dt -Jb -Mb -Mb -Mb -Mb -Mb -Mb -"} -(23,1,1) = {" -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Mb -Go -Go -Jb -Jb -Go -Go -Jb -Go -Jb -Jb -Jb -Go -Jb -Jb -Mb -Mb -Mb -Mb -Mb -Mb -"} diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm index 397dff3689e..cb80a56671e 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm @@ -225,8 +225,8 @@ /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/effect/spawner/lootdrop/maintenance/five, -/obj/effect/spawner/lootdrop/maintenance/five, +/obj/effect/spawner/random/maintenance/five, +/obj/effect/spawner/random/maintenance/five, /turf/open/floor/plasteel, /area/ruin/whitesands/pubbycrash) "fO" = ( @@ -405,7 +405,7 @@ dir = 8; name = "engine fuel pump" }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/tech, /area/ruin/whitesands/pubbycrash/engine_room) "jt" = ( @@ -502,7 +502,7 @@ "ln" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset/wall/directional/south, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/tech/grid, /area/ruin/whitesands/pubbycrash/engine_room) "ly" = ( @@ -530,7 +530,7 @@ name = "engine fuel pump" }, /obj/machinery/light/small/directional/north, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/stack/sheet/mineral/wood/fifty, /obj/structure/closet/crate, /turf/open/floor/plasteel/tech, @@ -622,7 +622,7 @@ /area/ruin/whitesands/pubbycrash) "nP" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/engine, /area/ruin/whitesands/pubbycrash) "nQ" = ( @@ -780,7 +780,7 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/tech, /area/ruin/whitesands/pubbycrash/engine_room) "rT" = ( @@ -931,7 +931,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/engine, /area/ruin/whitesands/pubbycrash) "vL" = ( @@ -972,7 +972,7 @@ /obj/structure/sign/poster/official/random{ pixel_x = 32 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/dark, /area/ruin/whitesands/pubbycrash) @@ -1063,7 +1063,7 @@ /obj/structure/table, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/industrial/warning/corner, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/tech, /area/ruin/whitesands/pubbycrash/engine_room) "xX" = ( @@ -1447,7 +1447,7 @@ /obj/machinery/door/airlock/hatch{ welded = 1 }, -/turf/template_noop, +/turf/open/floor/plating, /area/ruin/whitesands/pubbycrash/split) "ET" = ( /obj/structure/cable/yellow{ @@ -1792,7 +1792,7 @@ /obj/structure/sign/poster/retro/nanotrasen_logo_70s{ pixel_x = -32 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/ruin/whitesands/pubbycrash/engine_room) "KT" = ( @@ -2003,7 +2003,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable/yellow, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/tech, /area/ruin/whitesands/pubbycrash/engine_room) "PA" = ( @@ -2118,7 +2118,7 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ruin/whitesands/pubbycrash/engine_room) "RC" = ( -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/stack/ore/salvage/scraptitanium, /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, @@ -2292,7 +2292,7 @@ /obj/structure/sign/number/two, /obj/item/stack/ore/salvage/scrapmetal, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/engine, /area/ruin/whitesands/pubbycrash) "Wo" = ( @@ -2460,7 +2460,7 @@ /obj/structure/railing{ dir = 8 }, -/obj/item/stamp/captain{ +/obj/item/stamp/nanotrasen/captain{ pixel_x = -6; pixel_y = 8 }, diff --git a/_maps/RandomRuins/SpaceRuins/astraeus.dmm b/_maps/RandomRuins/SpaceRuins/astraeus.dmm deleted file mode 100644 index 655aff67aa1..00000000000 --- a/_maps/RandomRuins/SpaceRuins/astraeus.dmm +++ /dev/null @@ -1,3790 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ac" = ( -/turf/template_noop, -/area/template_noop) -"ae" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"al" = ( -/turf/open/floor/plating/airless{ - icon_state = "platingdmg1" - }, -/area/ruin/space/has_grav/astraeus/hallway) -"am" = ( -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"ar" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"au" = ( -/obj/structure/chair/comfy/orange/directional/east, -/turf/open/floor/carpet/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"aN" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/obj/machinery/power/apc/auto_name/directional/west{ - start_charge = 0 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"bo" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"bv" = ( -/turf/open/floor/plating/airless{ - icon_state = "platingdmg2" - }, -/area/ruin/space/has_grav/astraeus/hallway) -"bH" = ( -/turf/open/floor/plating/airless{ - icon_state = "platingdmg3" - }, -/area/ruin/space/has_grav/astraeus/hallway) -"ch" = ( -/obj/structure/chair/comfy/grey/directional/east{ - name = "Captain" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"cv" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/structure/table_frame, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"cA" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"cT" = ( -/obj/structure/lattice, -/obj/item/stack/tile/plasteel, -/turf/open/space, -/area/space/nearstation) -"dk" = ( -/obj/structure/lattice, -/obj/item/stack/cable_coil/cut/red{ - amount = 2 - }, -/turf/open/space, -/area/space/nearstation) -"dm" = ( -/obj/item/stack/tile/plasteel, -/turf/open/space, -/area/space/nearstation) -"do" = ( -/obj/structure/lattice, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/space, -/area/space/nearstation) -"dp" = ( -/obj/item/stack/cable_coil/cut/red{ - amount = 2 - }, -/turf/open/space, -/area/space/nearstation) -"dx" = ( -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"dA" = ( -/obj/item/stack/tile/plasteel, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"dY" = ( -/obj/structure/lattice, -/obj/item/shard, -/turf/open/space, -/area/space/nearstation) -"eh" = ( -/obj/item/stack/sheet/metal, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"ei" = ( -/obj/structure/lattice, -/obj/item/stack/sheet/plasteel, -/turf/open/space, -/area/space/nearstation) -"eq" = ( -/obj/structure/fluff/broken_flooring{ - dir = 4; - icon_state = "pile" - }, -/turf/open/space, -/area/space/nearstation) -"es" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/custodial) -"ey" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"eA" = ( -/turf/closed/wall/r_wall, -/area/ruin/space/has_grav/astraeus/custodial) -"eE" = ( -/turf/closed/wall/r_wall, -/area/ruin/space/has_grav/astraeus/disposals) -"fo" = ( -/obj/structure/girder, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"fu" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"fv" = ( -/turf/closed/wall, -/area/ruin/space/has_grav/astraeus/disposals) -"fU" = ( -/obj/structure/table/reinforced, -/obj/item/storage/backpack/duffelbag/mining_conscript, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"ge" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"gg" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"gx" = ( -/obj/structure/grille/broken, -/obj/item/shard, -/obj/effect/decal/cleanable/glass, -/obj/item/stack/rods, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"gJ" = ( -/obj/structure/catwalk, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/space, -/area/ruin/space/has_grav/astraeus/bridge) -"gR" = ( -/obj/item/stack/sheet/metal, -/turf/open/space, -/area/space/nearstation) -"gT" = ( -/turf/open/floor/plating/airless{ - icon_state = "platingdmg2" - }, -/area/ruin/space/has_grav/astraeus/custodial) -"hg" = ( -/mob/living/simple_animal/hostile/carp, -/turf/open/space, -/area/ruin/unpowered) -"hh" = ( -/obj/item/shard, -/turf/open/space, -/area/space/nearstation) -"ho" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/stand_clear/red, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"ht" = ( -/obj/machinery/conveyor{ - dir = 4 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"hA" = ( -/obj/machinery/conveyor{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/firstaid/regular, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"hF" = ( -/obj/structure/plasticflaps/opaque, -/obj/machinery/conveyor{ - dir = 4 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"hH" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 6 - }, -/obj/effect/decal/cleanable/glass, -/obj/item/circuitboard/computer/shuttle/helm, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"hL" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"hM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"hP" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/item/radio/intercom/wideband/directional/north, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"hU" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 10 - }, -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"ia" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/light_switch{ - pixel_x = 25; - pixel_y = -5 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"ih" = ( -/obj/structure/disposaloutlet{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"ii" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/south, -/obj/item/stack/rods, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"it" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/closet, -/obj/item/clothing/suit/space/hardsuit/mining, -/obj/item/storage/bag/ore, -/obj/item/pickaxe, -/obj/item/mining_scanner, -/obj/item/gun/energy/kinetic_accelerator, -/obj/item/clothing/head/hardhat/mining, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"iP" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 6 - }, -/mob/living/simple_animal/hostile/carp, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"iR" = ( -/obj/structure/lattice, -/turf/open/space, -/area/space/nearstation) -"jd" = ( -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"je" = ( -/obj/item/stack/conveyor, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"jG" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/item/aicard, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"jI" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"jO" = ( -/obj/machinery/conveyor{ - dir = 6 - }, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"jT" = ( -/obj/structure/closet/bombcloset, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"kf" = ( -/obj/item/stack/rods, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"kk" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"kS" = ( -/obj/structure/rack, -/obj/item/circuitboard/machine/shuttle/heater, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"le" = ( -/obj/structure/fluff/broken_flooring{ - dir = 4; - icon_state = "singular" - }, -/turf/open/space, -/area/space/nearstation) -"lo" = ( -/obj/structure/grille, -/obj/machinery/door/poddoor/preopen{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"ls" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/closet/emcloset, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"lt" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/poddoor/preopen{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"lx" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/poddoor/preopen, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"lF" = ( -/turf/open/floor/plating/airless{ - icon_state = "platingdmg2" - }, -/area/ruin/unpowered) -"lJ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"lT" = ( -/obj/structure/rack, -/obj/item/circuitboard/machine/space_heater, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"md" = ( -/obj/structure/fluff/broken_flooring{ - dir = 4; - icon_state = "plating" - }, -/turf/template_noop, -/area/ruin/space/has_grav/astraeus/disposals) -"me" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/item/rack_parts, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"mg" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/item/pen, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"mh" = ( -/obj/structure/table_frame/wood, -/obj/machinery/power/apc/auto_name/directional/east{ - start_charge = 0 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"ms" = ( -/obj/structure/door_assembly/door_assembly_com{ - anchored = 1; - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"mw" = ( -/obj/structure/lattice, -/obj/item/stack/rods, -/turf/open/space, -/area/space/nearstation) -"mA" = ( -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/custodial) -"mE" = ( -/obj/item/grenade/chem_grenade/cleaner, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/custodial) -"mL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/custodial) -"mM" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/custodial) -"mQ" = ( -/obj/structure/door_assembly/door_assembly_public{ - anchored = 1 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"nm" = ( -/obj/structure/frame/machine, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"nH" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"nI" = ( -/obj/item/stack/sheet/metal, -/turf/open/space, -/area/ruin/unpowered) -"oh" = ( -/obj/structure/frame/machine, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"oz" = ( -/obj/machinery/vending/cola/blue, -/obj/machinery/light/built/directional/west, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"oE" = ( -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"oF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"oO" = ( -/obj/structure/table, -/obj/item/circuitboard/machine/circuit_imprinter{ - pixel_x = -5; - pixel_y = 7 - }, -/obj/item/disk/design_disk/ammo_1911, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/astraeus/munitions) -"ph" = ( -/obj/item/chair, -/turf/open/floor/plating/airless, -/area/ruin/unpowered) -"ps" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/rods, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"pw" = ( -/obj/structure/door_assembly/door_assembly_com{ - anchored = 1 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"pL" = ( -/obj/effect/decal/cleanable/glass, -/obj/machinery/door/poddoor/preopen{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"pT" = ( -/obj/item/stack/conveyor, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"pU" = ( -/obj/machinery/conveyor{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"pX" = ( -/obj/machinery/door/airlock/command{ - name = "Conference Room" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"qk" = ( -/obj/machinery/conveyor{ - dir = 10 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"qr" = ( -/obj/structure/catwalk, -/turf/open/space, -/area/ruin/space/has_grav/astraeus/bridge) -"qO" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/closet/firecloset/full, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"qQ" = ( -/obj/item/circuitboard/machine/protolathe, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"qU" = ( -/obj/structure/chair/office, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"qX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/bed/roller, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/mob_spawn/human/corpse/damaged, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"ra" = ( -/mob/living/simple_animal/hostile/asteroid/basilisk, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/unpowered) -"rc" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"rj" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"rk" = ( -/obj/structure/lattice, -/obj/item/clothing/neck/stethoscope, -/turf/open/space, -/area/space/nearstation) -"rv" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"rw" = ( -/obj/item/stack/sheet/plasteel/twenty, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"ry" = ( -/turf/template_noop, -/area/space/nearstation) -"rU" = ( -/turf/open/floor/plating/airless{ - icon_state = "platingdmg3" - }, -/area/ruin/space/has_grav/astraeus/disposals) -"rY" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/closet/crate/internals, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"si" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"sk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"sL" = ( -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"sR" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"sV" = ( -/obj/item/clothing/gloves/color/yellow, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"tb" = ( -/obj/item/stack/sheet/metal, -/obj/item/stack/cable_coil/cut/red{ - amount = 2 - }, -/turf/open/space, -/area/space/nearstation) -"ti" = ( -/obj/item/stack/sheet/metal/five, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"tr" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"ts" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/rods, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/custodial) -"ty" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/tracks, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"tM" = ( -/obj/structure/mopbucket, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/custodial) -"ul" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"ur" = ( -/obj/structure/table_frame, -/obj/effect/turf_decal/corner/opaque/blue/full, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"uH" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; - name = "2maintenance loot spawner" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"uN" = ( -/obj/structure/table/wood, -/obj/item/spacecash/bundle/c1000, -/turf/open/floor/carpet/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"vl" = ( -/obj/structure/lattice, -/obj/item/stack/cable_coil/cut/red{ - amount = 2 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/space, -/area/space/nearstation) -"vn" = ( -/obj/structure/grille/broken, -/obj/item/shard, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"vC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/east{ - start_charge = 0 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating/airless{ - icon_state = "platingdmg3" - }, -/area/ruin/space/has_grav/astraeus/disposals) -"vF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"vV" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/carpet/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"we" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"wf" = ( -/obj/machinery/door/airlock/command{ - name = "Conference Room" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"wh" = ( -/obj/machinery/conveyor{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"wl" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"wv" = ( -/obj/machinery/conveyor{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"wy" = ( -/obj/machinery/conveyor{ - dir = 6 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"wD" = ( -/obj/structure/table, -/obj/item/storage/toolbox/electrical, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 4; - pixel_y = 19 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/astraeus/munitions) -"wF" = ( -/obj/machinery/door/airlock/command{ - name = "Bridge"; - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"wX" = ( -/obj/structure/lattice, -/turf/open/space, -/area/ruin/unpowered) -"xb" = ( -/obj/structure/table_frame/wood, -/turf/open/floor/carpet/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"xd" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/plasticflaps/opaque, -/obj/machinery/conveyor, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"xs" = ( -/turf/closed/wall, -/area/ruin/space/has_grav/astraeus/munitions) -"xt" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"xu" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk, -/turf/open/space, -/area/ruin/space/has_grav/astraeus/bridge) -"xw" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/obj/item/storage/firstaid/ancient{ - empty = 1 - }, -/obj/item/stack/medical/suture, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"xE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"xW" = ( -/obj/structure/grille/broken, -/obj/item/stack/rods, -/obj/machinery/door/poddoor/preopen, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"yb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/iv_drip, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"yc" = ( -/obj/structure/lattice, -/obj/structure/filingcabinet, -/turf/open/space, -/area/space/nearstation) -"yd" = ( -/obj/machinery/holopad, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"yo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/ammo_box/magazine/wt550m9, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"yq" = ( -/obj/structure/table, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/paper{ - default_raw_text = "
NSV Astraeus Ammunition Inventory


Current Time:18:30
Shipment Number:04

Equipment in this shipment:
Leave blank or write 0 if none

Shells: HE - x15,
Shells: Shield Piercing - x8,
Shells: Smart Homing - x5,

  • Clown: Hilarious - x1


  • Master At Arms' signature:"; - name = "paper - Munitions Inventory"; - pixel_x = 7 - }, -/obj/item/book/manual/wiki/hacking{ - pixel_x = -6 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"yy" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"yH" = ( -/obj/structure/lattice, -/obj/machinery/airalarm/directional/east, -/turf/open/space, -/area/space/nearstation) -"yJ" = ( -/obj/machinery/conveyor{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"zd" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"zq" = ( -/turf/closed/mineral/random, -/area/ruin/unpowered) -"zr" = ( -/obj/machinery/mineral/stacking_machine, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"zZ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless{ - icon_state = "platingdmg1" - }, -/area/ruin/space/has_grav/astraeus/disposals) -"Ac" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"Al" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/healthanalyzer, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"As" = ( -/turf/closed/wall/r_wall, -/area/ruin/space/has_grav/astraeus/hallway) -"Ay" = ( -/obj/structure/rack, -/obj/item/multitool, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"AE" = ( -/obj/machinery/door/airlock/command{ - name = "Bridge"; - dir = 8 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Bd" = ( -/obj/structure/rack, -/obj/item/assembly/flash/handheld, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"Bz" = ( -/obj/item/rack_parts, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"BB" = ( -/obj/structure/table_frame/wood, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/carpet/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"BC" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"BI" = ( -/obj/machinery/conveyor{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"BM" = ( -/obj/machinery/door/airlock/command{ - name = "Conference Room" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"BO" = ( -/obj/structure/chair, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 10 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"BR" = ( -/obj/machinery/light/small/broken/directional/south, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"Cb" = ( -/obj/machinery/power/apc/auto_name/directional/east{ - start_charge = 0 - }, -/obj/structure/cable, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/custodial) -"Cx" = ( -/mob/living/simple_animal/hostile/carp, -/turf/open/space, -/area/space/nearstation) -"CD" = ( -/obj/item/reagent_containers/glass/bucket, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/custodial) -"CE" = ( -/obj/item/mop, -/obj/item/storage/bag/trash{ - pixel_x = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/custodial) -"CH" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"CU" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Dc" = ( -/turf/closed/wall, -/area/ruin/space/has_grav/astraeus/hallway) -"Dd" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Dw" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"Dy" = ( -/obj/structure/table, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/cell_charger, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"Ee" = ( -/obj/item/stack/sheet/plasteel, -/turf/open/space, -/area/space/nearstation) -"Et" = ( -/obj/item/wrench, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/screwdriver/nuke, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"EG" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"EJ" = ( -/obj/machinery/conveyor, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"EO" = ( -/obj/item/stack/cable_coil/cut/red{ - amount = 2 - }, -/obj/structure/disposalpipe/broken{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"EV" = ( -/obj/structure/lattice, -/mob/living/simple_animal/hostile/carp, -/turf/open/space, -/area/space/nearstation) -"EX" = ( -/obj/structure/grille, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"Fb" = ( -/obj/item/stack/tile/carpet, -/turf/open/space, -/area/space/nearstation) -"Fp" = ( -/obj/effect/decal/remains/human, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Fx" = ( -/obj/structure/frame/computer, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"Fz" = ( -/obj/effect/decal/cleanable/glass, -/obj/structure/grille/broken, -/obj/item/shard{ - icon_state = "medium" - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"FB" = ( -/turf/open/floor/plating/asteroid/airless, -/area/ruin/unpowered) -"FL" = ( -/obj/item/chair, -/turf/open/space, -/area/space/nearstation) -"FV" = ( -/obj/item/stack/rods, -/obj/effect/decal/cleanable/glass, -/obj/structure/grille/broken, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"Gj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Gv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Gw" = ( -/turf/open/space, -/area/space/nearstation) -"GG" = ( -/obj/item/stack/sheet/glass/fifty, -/turf/open/floor/plating/airless{ - icon_state = "platingdmg2" - }, -/area/ruin/space/has_grav/astraeus/disposals) -"GJ" = ( -/obj/item/stack/rods, -/turf/open/floor/plating/airless{ - icon_state = "platingdmg1" - }, -/area/ruin/space/has_grav/astraeus/disposals) -"GK" = ( -/turf/closed/wall, -/area/ruin/space/has_grav/astraeus/custodial) -"GS" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/custodial) -"GT" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Ha" = ( -/obj/structure/disposalpipe/broken, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"Hl" = ( -/obj/structure/bed/roller, -/obj/item/scalpel, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Hn" = ( -/obj/item/pushbroom, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/custodial) -"Hs" = ( -/obj/structure/closet/l3closet/janitor, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/custodial) -"HE" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/structure/frame/computer{ - anchored = 1; - dir = 1 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Ib" = ( -/obj/structure/table, -/obj/item/clothing/ears/earmuffs, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"Ir" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"Is" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"Iz" = ( -/obj/machinery/door/airlock/command{ - name = "Conference Room" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"IA" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"IB" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"IU" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/conveyor, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"IX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/tracks, -/obj/machinery/light/small/directional/east, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Jk" = ( -/obj/structure/catwalk, -/turf/open/space, -/area/ruin/space/has_grav/astraeus/munitions) -"Jr" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 10 - }, -/obj/structure/fluff/broken_flooring{ - dir = 4; - icon_state = "pile" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Jw" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"Jx" = ( -/obj/machinery/door/airlock/command{ - name = "Bridge"; - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Jy" = ( -/turf/closed/wall/r_wall, -/area/ruin/space/has_grav/astraeus/bridge) -"JH" = ( -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"JI" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"Kf" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"Kk" = ( -/obj/machinery/conveyor/inverted{ - dir = 9 - }, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/disposals) -"KD" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"KX" = ( -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/glass, -/obj/item/shard, -/obj/machinery/door/poddoor/preopen, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Le" = ( -/turf/open/floor/plating/airless{ - icon_state = "platingdmg1" - }, -/area/ruin/space/has_grav/astraeus/disposals) -"Lm" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Ln" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/disposalpipe/broken{ - dir = 1 - }, -/obj/structure/disposalpipe/broken, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"Ls" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 10 - }, -/obj/item/stack/rods, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Lw" = ( -/obj/item/shard{ - icon_state = "medium" - }, -/turf/open/space, -/area/space/nearstation) -"LG" = ( -/obj/structure/girder, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/custodial) -"LH" = ( -/obj/item/chair, -/obj/effect/turf_decal/corner/opaque/blue/three_quarters, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Mf" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/catwalk, -/turf/open/space, -/area/ruin/space/has_grav/astraeus/bridge) -"Mk" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plating/airless{ - icon_state = "platingdmg3" - }, -/area/ruin/space/has_grav/astraeus/custodial) -"Ms" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/structure/table_frame, -/obj/item/shard, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Mw" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"MS" = ( -/obj/item/stack/rods, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"Nd" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"Ng" = ( -/obj/structure/frame/computer{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/blue/full, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Ni" = ( -/obj/structure/closet/wall/directional/north, -/obj/item/circuitboard/computer/rdconsole, -/obj/item/clothing/suit/toggle/labcoat, -/obj/item/research_notes/loot/big, -/turf/closed/wall, -/area/ruin/space/has_grav/astraeus/dorms_med) -"Nj" = ( -/turf/open/floor/plating/airless, -/area/ruin/unpowered) -"Nk" = ( -/obj/item/gun/ballistic/automatic/smg/wt550, -/turf/open/floor/plating/airless{ - icon_state = "platingdmg3" - }, -/area/ruin/space/has_grav/astraeus/munitions) -"Ns" = ( -/obj/structure/grille, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"NI" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/conveyor_switch, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"Oa" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/item/reagent_containers/blood/OMinus, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Ot" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/item/stack/conveyor, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"Ov" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/conveyor_switch, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"OD" = ( -/obj/structure/closet, -/obj/item/clothing/neck/cloak/head_of_personnel, -/obj/item/clothing/glasses/sunglasses, -/obj/item/storage/box/ids, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"OI" = ( -/obj/item/shard, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"Pb" = ( -/obj/machinery/power/apc/auto_name/directional/east{ - start_charge = 0 - }, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"Pd" = ( -/obj/effect/decal/cleanable/vomit/old, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"Pe" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk, -/turf/open/space, -/area/ruin/space/has_grav/astraeus/bridge) -"Pg" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"Pn" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Qw" = ( -/obj/item/shard, -/turf/template_noop, -/area/template_noop) -"QF" = ( -/obj/item/shard, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"QJ" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"QZ" = ( -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Rf" = ( -/obj/structure/door_assembly/door_assembly_com{ - anchored = 1; - dir = 4 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"Rh" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/emergency, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Rn" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/space, -/area/space/nearstation) -"Rt" = ( -/obj/machinery/light/small/broken/directional/south, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"RG" = ( -/turf/open/floor/plating/airless{ - icon_state = "platingdmg3" - }, -/area/ruin/space/has_grav/astraeus/munitions) -"RJ" = ( -/obj/structure/sign/warning/securearea, -/obj/structure/catwalk, -/turf/open/space, -/area/ruin/space/has_grav/astraeus/bridge) -"RK" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/stool, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"RN" = ( -/obj/structure/closet, -/obj/item/stack/sheet/mineral/plasma/twenty, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Sp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"Ss" = ( -/obj/effect/decal/remains/human, -/turf/open/floor/plating/airless{ - icon_state = "platingdmg1" - }, -/area/ruin/space/has_grav/astraeus/munitions) -"Sv" = ( -/obj/structure/table_frame/wood, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/carpet/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"SC" = ( -/obj/structure/table, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/item/crowbar, -/obj/item/weldingtool, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"SJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Tc" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/shard, -/obj/item/stack/rods, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"Tg" = ( -/obj/structure/frame/computer, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"Ti" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"Tz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/medical/gauze/improvised, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"TA" = ( -/turf/closed/wall/r_wall, -/area/ruin/space/has_grav/astraeus/munitions) -"TS" = ( -/obj/item/clothing/shoes/clown_shoes{ - pixel_x = -3; - pixel_y = 12 - }, -/obj/machinery/airalarm/directional/south, -/obj/item/storage/crayons{ - pixel_y = -6 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"TV" = ( -/obj/structure/frame/computer{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"TW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/door_assembly/door_assembly_com{ - anchored = 1 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"Ub" = ( -/obj/structure/ore_box, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/unpowered) -"UK" = ( -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"UU" = ( -/obj/item/paicard, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"Vt" = ( -/obj/structure/bed/dogbed/ian, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"Vx" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/munitions) -"VA" = ( -/obj/structure/frame/computer, -/obj/effect/turf_decal/corner/opaque/blue/full, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"VC" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/machinery/recharger, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"VG" = ( -/obj/item/pickaxe/silver, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/unpowered) -"VT" = ( -/obj/structure/sign/warning/securearea, -/turf/closed/wall/r_wall, -/area/ruin/space/has_grav/astraeus/hallway) -"VX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/command{ - name = "Munitions" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"VY" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"VZ" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/item/paper_bin{ - total_paper = 12 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Wd" = ( -/obj/machinery/door/airlock/command{ - name = "Munitions" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/tracks, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Wh" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/machinery/computer/crew{ - dir = 1 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Wl" = ( -/turf/closed/wall/r_wall, -/area/ruin/space/has_grav/astraeus/dorms_med) -"Wo" = ( -/obj/structure/lattice, -/obj/structure/fluff/broken_flooring{ - dir = 4; - icon_state = "plating" - }, -/turf/open/space, -/area/ruin/space/has_grav/astraeus/bridge) -"Wq" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ - dir = 8 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Wy" = ( -/obj/item/stack/tile/wood, -/turf/open/space, -/area/space/nearstation) -"WL" = ( -/turf/closed/wall, -/area/ruin/space/has_grav/astraeus/dorms_med) -"WM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"WQ" = ( -/obj/item/stack/rods, -/turf/open/space, -/area/space/nearstation) -"WU" = ( -/obj/item/clothing/suit/space/hardsuit/mining, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/unpowered) -"Xj" = ( -/obj/item/t_scanner/adv_mining_scanner, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/unpowered) -"Xm" = ( -/obj/structure/door_assembly/door_assembly_com{ - anchored = 1; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/dorms_med) -"Xp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/machinery/power/apc/auto_name/directional/south{ - start_charge = 0 - }, -/obj/item/defibrillator/compact, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Xq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/wallframe/firealarm{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Xr" = ( -/obj/structure/table_frame, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"XD" = ( -/obj/structure/lattice, -/turf/template_noop, -/area/space/nearstation) -"XM" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"XO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/tile/plasteel, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Yl" = ( -/obj/structure/lattice, -/obj/structure/cable, -/turf/open/space, -/area/space/nearstation) -"Yq" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"YF" = ( -/obj/structure/grille/broken, -/obj/item/shard, -/obj/effect/decal/cleanable/glass, -/obj/item/stack/rods, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"YJ" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/machinery/button{ - name = "broken button" - }, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"YO" = ( -/obj/item/stack/rods, -/turf/template_noop, -/area/template_noop) -"YV" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/decal/cleanable/dirt, -/obj/item/cigbutt/cigarbutt, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"YX" = ( -/obj/structure/disposalpipe/broken{ - dir = 4 - }, -/turf/template_noop, -/area/template_noop) -"Zd" = ( -/obj/structure/catwalk, -/obj/item/stack/cable_coil/cut/red{ - amount = 2 - }, -/turf/open/space, -/area/ruin/space/has_grav/astraeus/bridge) -"Zk" = ( -/obj/structure/lattice, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/template_noop, -/area/space/nearstation) -"Zl" = ( -/obj/structure/frame/computer, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"Zn" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Zq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/broken/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"Zz" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/item/reagent_containers/blood, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/astraeus/hallway) -"ZD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"ZN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"ZT" = ( -/obj/structure/chair/comfy/grey/directional/east{ - name = "Helm" - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 6 - }, -/turf/open/floor/plasteel/dark/airless, -/area/ruin/space/has_grav/astraeus/bridge) -"ZY" = ( -/obj/item/stack/cable_coil/cut/red{ - amount = 2 - }, -/obj/structure/catwalk, -/turf/open/space, -/area/ruin/space/has_grav/astraeus/bridge) - -(1,1,1) = {" -ac -ac -ac -ac -ac -ac -WQ -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -dp -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(2,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -am -am -ac -dk -iR -ac -YX -ac -Ee -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(3,1,1) = {" -ac -ac -ac -ac -dp -ac -ac -WQ -GK -GK -iR -iR -iR -UK -EV -iR -vl -tr -JI -Wl -fU -iR -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(4,1,1) = {" -ac -ac -ac -eq -iR -mA -iR -iR -GS -LG -ls -RN -iR -iR -am -QZ -Gv -Rt -Wl -Tg -qU -cA -Yl -tb -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(5,1,1) = {" -ac -ac -dp -ac -gT -mE -ts -CD -Hn -GK -tr -SJ -ey -QZ -mQ -XD -Zk -dx -Wl -me -Ha -si -rk -mw -ac -ac -ac -ac -ac -ac -ac -FB -FB -ac -ac -"} -(6,1,1) = {" -ac -ac -ac -es -Cb -mL -tM -CE -Hs -Mk -qO -rY -uH -it -Dc -VY -Jx -VY -Wl -OD -Vt -eh -yH -iR -Wy -ac -ac -ac -ac -ac -zq -zq -zq -FB -ac -"} -(7,1,1) = {" -ac -ac -bH -eA -eA -mM -eA -eA -eA -eA -As -As -As -As -As -Lm -Zn -Lm -Wl -Wl -Wl -Xm -Wl -Wl -ac -ac -Wy -ac -ac -ac -zq -zq -zq -FB -ac -"} -(8,1,1) = {" -ac -dp -iR -TA -ht -nm -BI -sR -Fx -Nd -yo -jT -sR -ac -As -VT -wF -VT -As -Qw -ge -Is -oz -iR -gR -ac -ac -ac -ac -zq -zq -zq -zq -zq -ac -"} -(9,1,1) = {" -ac -am -iR -TA -ht -nH -wh -sR -Ib -Nk -bo -Sp -sR -ac -VY -tr -Gv -Fp -YF -ac -ge -WM -oE -iR -iR -WQ -FL -Wy -ac -zq -zq -zq -zq -zq -ac -"} -(10,1,1) = {" -al -am -dk -sR -ht -oh -ht -sR -sR -Ns -Rf -sR -xs -Dc -Dc -Xq -Gv -Xp -Dc -Dc -WL -EO -au -iR -iR -Gw -ac -ac -ac -zq -zq -zq -zq -FB -ac -"} -(11,1,1) = {" -am -cT -iR -sR -ht -sR -wv -sR -IA -iR -iR -ry -TW -jI -VX -Tz -Gv -sk -pX -CU -wf -MS -uN -xb -sL -Fb -WQ -ac -ac -zq -zq -zq -zq -FB -ac -"} -(12,1,1) = {" -bv -EV -iR -sR -ht -bo -wv -sR -ae -xE -Rn -Ss -ry -IX -Wd -ty -Zz -Gj -BM -Yq -Iz -Ln -BB -Sv -vF -iR -ac -ac -ac -FB -zq -zq -zq -ac -ac -"} -(13,1,1) = {" -am -iR -dx -sR -ht -bo -ht -sR -IB -NI -RG -Tc -xs -Dc -Dc -qX -xw -Zq -Dc -Dc -Ni -Ir -OI -vV -Dw -iR -ac -ac -ac -FB -zq -zq -zq -ac -ac -"} -(14,1,1) = {" -bH -iR -am -sR -hA -oF -wy -xd -IU -Ot -Ot -Et -gx -ac -VY -Hl -Al -Oa -VY -YO -vn -oE -Pd -UU -oE -iR -ac -ac -ac -lF -ph -zq -FB -ac -ac -"} -(15,1,1) = {" -am -iR -QZ -sR -ht -bo -sR -sR -CH -Ov -RK -Ti -sR -ac -VY -QZ -yb -Pn -VY -ac -ge -BC -mh -do -yc -iR -ac -ac -ac -wX -Nj -zq -FB -ac -ac -"} -(16,1,1) = {" -am -iR -dA -sR -ht -bo -pw -CH -Jw -TS -xs -Pg -Jy -Jy -Jy -AE -yy -ms -Jy -kk -Jy -Jy -Jy -iR -WQ -Cx -Wy -WQ -ac -ac -Nj -zq -zq -ac -ac -"} -(17,1,1) = {" -cT -iR -QZ -TA -ht -bo -sR -yq -bo -BR -xs -ho -KD -VA -aN -XM -ZD -Mw -BO -Wh -KD -Jy -kk -iR -iR -ac -ac -ac -ac -ac -FB -zq -zq -ac -ac -"} -(18,1,1) = {" -dk -am -QZ -TA -hF -sR -sR -SC -bo -bo -sR -Pg -KD -VA -rc -XO -ZN -hL -Dd -wl -lx -gJ -ei -iR -iR -ac -ac -ac -ac -ac -ac -ac -FB -ac -ac -"} -(19,1,1) = {" -iR -am -tr -TA -ht -oO -wD -Dy -bo -Vx -sR -Pg -KD -Rh -rj -YJ -ch -Xr -hU -jG -KD -Zd -ac -iR -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(20,1,1) = {" -QZ -dx -ii -TA -hM -ps -xt -ar -bo -ul -sR -Pg -KD -gg -GT -YV -TV -hP -Jr -ur -KD -Pe -ac -ac -ac -ac -ac -ac -zq -zq -ac -ac -ac -ac -ac -"} -(21,1,1) = {" -QZ -am -QZ -pw -ia -Pb -xE -bo -JH -QJ -sR -Pg -KD -Zl -Wo -zd -yd -zd -Ls -ur -KD -ZY -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -zq -zq -ac -"} -(22,1,1) = {" -am -al -QZ -eE -eE -eE -eE -eE -Kf -eE -TA -Pg -KD -Zl -Wq -iP -ZT -hH -LH -HE -xW -ZY -hh -WQ -ac -ac -ac -zq -ac -zq -ac -ac -zq -ac -ac -"} -(23,1,1) = {" -QZ -am -iR -fo -ih -je -pT -EJ -Kk -eE -TA -Pg -KD -VC -ur -mg -Ng -VZ -Ms -cv -KX -ZY -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(24,1,1) = {" -iR -iR -iR -eE -jd -je -fv -we -Le -eE -TA -ho -Jy -lJ -lo -rv -rv -rv -rv -pL -Jy -Mf -xu -ZY -xu -xu -ac -ac -ac -FB -zq -ac -ac -ac -ac -"} -(25,1,1) = {" -ac -ac -iR -fo -je -pT -ih -EX -kf -eE -TA -lt -TA -ac -Qw -iR -ac -ac -iR -ac -RJ -EG -qr -qr -qr -qr -ac -ac -FB -FB -zq -zq -ac -ac -ac -"} -(26,1,1) = {" -ac -iR -iR -fo -je -pU -yJ -Fz -WQ -ac -Jk -iR -Jk -ac -ac -iR -iR -iR -dY -ac -qr -QF -qr -ac -ac -ac -ac -FB -FB -zq -zq -zq -zq -ac -ac -"} -(27,1,1) = {" -dm -iR -dp -eE -jO -qk -zr -we -iR -iR -Jk -ac -Jk -ac -ac -iR -ac -WQ -iR -ac -qr -ac -qr -ac -ac -ac -ac -FB -zq -zq -zq -zq -zq -zq -ac -"} -(28,1,1) = {" -ac -iR -dm -eE -kf -qQ -zZ -FV -Lw -ac -ac -ac -ac -ac -ac -iR -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -zq -zq -zq -zq -zq -zq -zq -ac -"} -(29,1,1) = {" -ac -dk -Gw -fu -vC -rw -Ac -we -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -WQ -ac -ac -WQ -ac -ac -ac -ac -zq -zq -zq -zq -zq -zq -FB -ac -"} -(30,1,1) = {" -ac -iR -cT -eE -eE -eE -fo -eE -Gw -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -eq -ac -ac -ac -ac -ac -ac -zq -zq -zq -zq -zq -FB -ac -"} -(31,1,1) = {" -ac -ac -ac -fv -kS -rU -Ay -GG -gR -ac -ac -ac -ac -ac -ac -ac -WQ -le -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -zq -zq -zq -zq -FB -ac -ac -"} -(32,1,1) = {" -ac -ac -ac -gR -lT -sV -Bd -GJ -ac -ac -ac -ac -ac -zq -zq -zq -FB -zq -ac -ac -ac -WQ -ac -ac -ac -ac -ac -ac -ac -zq -zq -zq -FB -ac -ac -"} -(33,1,1) = {" -ac -ac -ac -ac -md -ti -Bz -fo -ac -ac -ac -ac -zq -zq -FB -FB -FB -zq -zq -zq -zq -zq -ac -ac -ac -WQ -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(34,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -WQ -zq -zq -zq -FB -zq -zq -zq -zq -zq -zq -zq -zq -zq -FB -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(35,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -zq -zq -zq -FB -FB -zq -zq -zq -FB -FB -FB -zq -zq -FB -FB -FB -zq -ac -ac -ac -ac -ac -ac -ac -ac -"} -(36,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -zq -zq -FB -VG -FB -zq -zq -zq -FB -zq -FB -FB -FB -FB -FB -FB -zq -ac -ac -ac -ac -ac -ac -ac -ac -"} -(37,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -gR -zq -zq -Ub -FB -FB -zq -zq -zq -FB -zq -zq -zq -zq -zq -zq -FB -zq -zq -ac -ac -ac -ac -ac -ac -ac -"} -(38,1,1) = {" -ac -ac -ac -ac -ac -ac -Cx -ac -ac -zq -zq -zq -zq -zq -FB -zq -zq -FB -FB -zq -zq -zq -zq -zq -zq -zq -zq -zq -ac -ac -ac -ac -ac -ac -ac -"} -(39,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -zq -zq -zq -zq -zq -FB -FB -FB -FB -FB -FB -FB -FB -zq -zq -zq -zq -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(40,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -zq -zq -zq -zq -zq -zq -zq -zq -zq -FB -ra -zq -zq -zq -zq -zq -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(41,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -zq -zq -zq -zq -zq -zq -zq -zq -FB -FB -zq -zq -zq -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(42,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -zq -zq -zq -zq -WU -FB -zq -FB -FB -FB -zq -zq -zq -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(43,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -zq -zq -zq -Xj -FB -FB -FB -FB -zq -zq -zq -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(44,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -zq -zq -zq -zq -FB -zq -FB -zq -zq -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(45,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -zq -zq -zq -zq -zq -FB -zq -zq -ac -ac -ac -ac -hg -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(46,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -zq -zq -zq -zq -zq -zq -zq -ac -nI -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} -(47,1,1) = {" -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -zq -zq -zq -zq -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -"} diff --git a/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm b/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm deleted file mode 100644 index d728c3de53f..00000000000 --- a/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm +++ /dev/null @@ -1,4914 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ap" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/corporatemine) -"aw" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine) -"bc" = ( -/turf/closed/wall/r_wall, -/area/ruin/space/has_grav/corporatemine/hall) -"bd" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"bf" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"bl" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"bA" = ( -/obj/machinery/vending/cigarette, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"bG" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating/airless, -/area/ruin/space) -"bK" = ( -/turf/closed/wall/rust, -/area/ruin/space/has_grav/corporatemine/bridge) -"bS" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"ce" = ( -/obj/structure/cable{ - icon_state = "6-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"cj" = ( -/turf/open/floor/holofloor/asteroid, -/area/ruin/space) -"cs" = ( -/obj/structure/chair/office/light{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"cI" = ( -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/grimy, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"cX" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen" - }, -/obj/item/stack/sheet/mineral/plasma/twenty, -/obj/item/stack/ore/diamond, -/obj/item/stack/ore/diamond, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/hall) -"dL" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ruin/space) -"dU" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"ea" = ( -/obj/structure/closet/secure_closet/personal, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 9 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"eu" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/closed/wall, -/area/ruin/space/has_grav/corporatemine/hall) -"eV" = ( -/obj/machinery/door/airlock/alarmlock{ - name = "Cargo"; - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/corporatemine/hall) -"fa" = ( -/obj/machinery/door/airlock/command{ - name = "Bridge"; - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/corporatemine/bridge) -"fi" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/space_cops{ - pixel_x = -32 - }, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"fw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"fF" = ( -/obj/machinery/door/airlock{ - name = "Room 1" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bar/filled/warning, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"fK" = ( -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/effect/decal/cleanable/blood/drip, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"fL" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/corporatemine/hall) -"gf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"gj" = ( -/obj/structure/sign/warning/nosmoking/circle{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"gI" = ( -/obj/structure/sink/puddle, -/turf/closed/mineral, -/area/ruin/space) -"gJ" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/floodlight{ - anchored = 1 - }, -/turf/open/floor/plating, -/area/ruin/space) -"gY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/ruin/space/has_grav/corporatemine/hall) -"ha" = ( -/obj/effect/decal/cleanable/ash, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"hn" = ( -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 6 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"hw" = ( -/obj/structure/cable{ - icon_state = "5-10" - }, -/turf/open/floor/plating/airless, -/area/ruin/space) -"hz" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine/hall) -"hF" = ( -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/grimy, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"iu" = ( -/obj/effect/turf_decal/solarpanel, -/obj/machinery/power/solar, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ruin/space) -"iG" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/directional{ - dir = 5 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine/bridge) -"iN" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine/hall) -"iT" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"iW" = ( -/turf/closed/wall/r_wall/rust, -/area/ruin/space/has_grav/corporatemine/hall) -"jb" = ( -/obj/structure/railing, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine/hall) -"je" = ( -/obj/item/trash/can, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"jl" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"jw" = ( -/obj/structure/bed/roller, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"jz" = ( -/obj/item/stack/ore/plasma, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"jH" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/corporatemine/hall) -"jK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/corporatemine/hall) -"jN" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-9" - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"jR" = ( -/obj/structure/cable{ - icon_state = "1-10" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/airless, -/area/ruin/space) -"jU" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/directional{ - dir = 6 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine/bridge) -"kp" = ( -/obj/effect/decal/cleanable/blood/splatter, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"kC" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/corporatemine/bridge) -"kK" = ( -/obj/effect/decal/cleanable/blood/gibs/torso, -/obj/structure/chair/office/light, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/corporatemine/bridge) -"kZ" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 4 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"lb" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/airless, -/area/ruin/space) -"lm" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"lv" = ( -/obj/machinery/power/solar_control{ - dir = 1 - }, -/obj/effect/turf_decal/box, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/hall) -"lx" = ( -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"lC" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/structure/closet/crate{ - icon_state = "crateopen" - }, -/obj/item/flashlight, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/hall) -"lL" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/structure/closet/crate{ - icon_state = "crateopen" - }, -/obj/item/flashlight/glowstick/blue, -/obj/item/flashlight/glowstick/pink, -/obj/item/flashlight/glowstick/orange, -/obj/item/flashlight/glowstick/yellow, -/obj/item/trash/syndi_cakes, -/obj/item/storage/bag/ore, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/hall) -"lN" = ( -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating/airless, -/area/ruin/space) -"lV" = ( -/obj/structure/closet/crate, -/obj/item/stack/ore/gold, -/obj/item/stack/ore/gold, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/hall) -"ma" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating/airless, -/area/ruin/space) -"mc" = ( -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/ruin/space) -"my" = ( -/obj/machinery/door/airlock/wood{ - locked = 1; - name = "Corporate Bedroom" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"mZ" = ( -/obj/structure/cable{ - icon_state = "1-10" - }, -/turf/open/floor/plating/airless, -/area/ruin/space) -"nf" = ( -/obj/machinery/suit_storage_unit/mining/eva, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine) -"nl" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/corporatemine/hall) -"no" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood/gibs/bubblegum, -/obj/effect/mob_spawn/human/miner, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"ns" = ( -/obj/item/pickaxe/drill, -/obj/effect/mob_spawn/human/miner, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"nu" = ( -/obj/structure/table, -/obj/item/folder/blue, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/bridge) -"ny" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/stairs, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"nN" = ( -/obj/structure/closet/cabinet, -/obj/item/gun/ballistic/automatic/pistol/syndicate, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/clothing/under/syndicate/donk, -/obj/item/clothing/suit/hazardvest/donk/qm, -/obj/item/reagent_containers/food/snacks/donkpocket, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"nW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"nY" = ( -/obj/effect/decal/cleanable/blood/gibs/old, -/obj/machinery/atmospherics/components/unary/vent_pump/layer2{ - dir = 4 - }, -/obj/machinery/light/broken/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ruin/space/has_grav/corporatemine) -"oj" = ( -/obj/structure/table, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/bridge) -"ok" = ( -/obj/structure/sign/poster/retro/radio, -/turf/closed/wall/rust, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"ol" = ( -/obj/effect/mob_spawn/human/miner, -/obj/item/shovel, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"ov" = ( -/obj/structure/table/wood/poker, -/obj/item/toy/cards/deck, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"oD" = ( -/obj/structure/railing, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/airless, -/area/ruin/space) -"pm" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"pK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"pP" = ( -/turf/closed/wall, -/area/ruin/space/has_grav/corporatemine) -"pQ" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/space/has_grav/corporatemine/hall) -"qm" = ( -/obj/effect/decal/cleanable/plastic, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"qu" = ( -/obj/machinery/door/airlock/wood/glass{ - name = "Corporate's Office"; - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"qv" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"qF" = ( -/turf/closed/wall/rust, -/area/ruin/space/has_grav/corporatemine/hall) -"qK" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"qS" = ( -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"qZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/chair/stool/bar{ - dir = 1 - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"rd" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/modular_computer/console{ - dir = 8 - }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/bridge) -"rh" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/mob_spawn/human/miner, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"rk" = ( -/obj/machinery/power/port_gen/pacman{ - anchored = 1 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"rn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/ruin/space/has_grav/corporatemine/hall) -"rr" = ( -/turf/template_noop, -/area/template_noop) -"rG" = ( -/obj/item/gibtonite, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"rI" = ( -/obj/effect/decal/cleanable/blood/gibs, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/corporatemine) -"rV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"sa" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/structure/closet/crate, -/obj/effect/turf_decal/industrial/outline, -/obj/effect/spawner/lootdrop/materials, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/hall) -"sb" = ( -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"sd" = ( -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"ts" = ( -/obj/item/shard, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine) -"tA" = ( -/obj/effect/decal/cleanable/ash, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"tF" = ( -/turf/closed/wall, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"tJ" = ( -/turf/closed/wall/r_wall, -/area/ruin/space/has_grav/corporatemine/bridge) -"tR" = ( -/obj/structure/closet/crate, -/obj/item/stack/ore/iron, -/obj/item/stack/ore/iron, -/obj/item/stack/ore/iron, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/hall) -"va" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/structure/sign/warning/vacuum/external{ - pixel_x = 32 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"vc" = ( -/obj/item/flashlight/flare, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"vN" = ( -/obj/structure/sign/poster/contraband/power, -/turf/closed/wall/r_wall, -/area/ruin/space/has_grav/corporatemine/hall) -"vR" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/item/trash/can/food/peaches/maint, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/airalarm/directional/west, -/obj/machinery/light/broken/directional/west, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/corporatemine/bridge) -"vW" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"wa" = ( -/obj/structure/lattice, -/turf/open/space, -/area/ruin/space/has_grav/corporatemine) -"wf" = ( -/obj/machinery/suit_storage_unit/mining/eva, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/sign/poster/contraband/punch_shit{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine) -"wg" = ( -/obj/item/stack/ore/uranium, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"wi" = ( -/obj/structure/grille, -/obj/structure/lattice, -/turf/open/floor/plating, -/area/ruin/space) -"wE" = ( -/obj/machinery/door/airlock{ - name = "Room 3" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bar/filled/warning, -/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"wJ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/frame/machine, -/obj/item/circuitboard/machine/ore_redemption, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine) -"wW" = ( -/obj/effect/decal/cleanable/ash, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ruin/space) -"xK" = ( -/obj/structure/table/wood, -/obj/machinery/fax/ruin, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"xT" = ( -/obj/structure/cable{ - icon_state = "1-10" - }, -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/airless, -/area/ruin/space) -"xU" = ( -/obj/item/trash/sosjerky, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"yf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"yl" = ( -/turf/open/floor/plating, -/area/ruin/space) -"yD" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"yK" = ( -/obj/effect/turf_decal/solarpanel, -/obj/effect/turf_decal/solarpanel, -/obj/machinery/power/solar, -/obj/structure/cable{ - icon_state = "0-5" - }, -/turf/open/floor/plating, -/area/ruin/space) -"yT" = ( -/obj/structure/closet/crate/engineering, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/ruin/space/has_grav/corporatemine/hall) -"yX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/donk{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"za" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/effect/decal/cleanable/blood/tracks{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"zg" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/advanced_airlock_controller{ - pixel_x = -28 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/space/has_grav/corporatemine/hall) -"zl" = ( -/obj/structure/mecha_wreckage/ripley/mkii, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"zn" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/item/stamp, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/bridge) -"zr" = ( -/turf/closed/wall, -/area/ruin/space/has_grav/corporatemine/bridge) -"zy" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green, -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"zz" = ( -/turf/closed/wall, -/area/ruin/space/has_grav/corporatemine/hall) -"zB" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/item/trash/sosjerky, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/corporatemine) -"Ac" = ( -/obj/structure/railing, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, -/area/ruin/space) -"Ak" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/plastic, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"Al" = ( -/turf/closed/mineral, -/area/ruin/space) -"Au" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/structure/chair/stool/bar{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/grimy, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Aw" = ( -/turf/closed/wall/rust, -/area/ruin/space/has_grav/corporatemine) -"AC" = ( -/obj/machinery/vending/mining_equipment, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine) -"AD" = ( -/obj/effect/decal/cleanable/blood/splatter, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/corporatemine/hall) -"AE" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"AK" = ( -/obj/structure/closet/crate, -/obj/item/stack/ore/titanium, -/obj/item/stack/ore/titanium, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/hall) -"Bb" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/airless, -/area/ruin/space) -"Bg" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/grimy, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Bp" = ( -/obj/effect/mob_spawn/human/miner, -/obj/effect/decal/cleanable/blood, -/obj/item/gun/energy/kinetic_accelerator, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"Br" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"Bw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/corporatemine/bridge) -"BA" = ( -/turf/closed/wall/r_wall, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"BV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"BW" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/multitool, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/bridge) -"BZ" = ( -/obj/machinery/power/tracker, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating/airless, -/area/ruin/space) -"Cl" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"Cv" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/ruin/space) -"Cw" = ( -/obj/structure/table/wood, -/obj/machinery/computer/pod/old/syndicate, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Cy" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/decal/cleanable/plastic, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"CH" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engineering" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bar/filled/warning, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/corporatemine/hall) -"CR" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/corporatemine/hall) -"Dn" = ( -/obj/machinery/door/airlock{ - name = "Room 2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bar/filled/warning, -/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Dx" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/corporatemine/hall) -"Dz" = ( -/obj/machinery/door/airlock/engineering{ - name = "Solar Control"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/corporatemine/hall) -"DF" = ( -/obj/item/trash/popcorn, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"DW" = ( -/obj/machinery/light/broken/directional/west, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine) -"Ek" = ( -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine) -"Eu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/sign/warning/enginesafety{ - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/corporatemine/hall) -"Ez" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"ED" = ( -/obj/effect/turf_decal/solarpanel, -/obj/machinery/power/solar, -/obj/structure/railing, -/obj/structure/cable{ - icon_state = "0-9" - }, -/turf/open/floor/plating, -/area/ruin/space) -"EL" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"EN" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/atmospherics/components/trinary/filter/atmos/co2, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/hall) -"EP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/item/stack/cable_coil/cut/red, -/turf/open/floor/plating, -/area/ruin/space/has_grav/corporatemine) -"Fe" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ruin/space/has_grav/corporatemine/hall) -"Fn" = ( -/obj/machinery/shower{ - pixel_y = 16 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Fy" = ( -/obj/structure/railing, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/airless, -/area/ruin/space) -"FH" = ( -/obj/structure/cable{ - icon_state = "1-10" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/airless, -/area/ruin/space) -"FT" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"Gc" = ( -/obj/machinery/door/airlock/grunge{ - name = "Bathroom"; - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Gx" = ( -/obj/machinery/power/smes, -/obj/structure/cable, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/hall) -"GT" = ( -/obj/machinery/power/floodlight{ - anchored = 1 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"GV" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/door/airlock/alarmlock{ - name = "Cargo"; - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/corporatemine/hall) -"Hg" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine) -"Hk" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"Ht" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"Hu" = ( -/obj/item/pickaxe/drill, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"HG" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"HM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"HP" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/airless, -/area/ruin/space) -"HV" = ( -/obj/structure/chair/office/light{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/corporatemine/bridge) -"Ip" = ( -/mob/living/simple_animal/hostile/asteroid/hivelord, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"Iv" = ( -/obj/structure/spawner/mining/hivelord, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"IE" = ( -/obj/effect/decal/cleanable/blood/splatter, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"IF" = ( -/obj/structure/closet/crate, -/obj/effect/turf_decal/industrial/outline, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/hall) -"IS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"IW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"Jf" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ruin/space) -"JS" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/atmospherics/pipe/simple/scrubbers{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/components/binary/valve/digital/on/layer4, -/obj/machinery/atmospherics/components/binary/valve/digital/on/layer2, -/turf/open/floor/plating, -/area/ruin/space/has_grav/corporatemine/hall) -"Ke" = ( -/turf/open/floor/plating/airless, -/area/ruin/space) -"KJ" = ( -/obj/structure/sign/poster/retro/smile, -/turf/closed/wall/rust, -/area/ruin/space/has_grav/corporatemine/hall) -"KM" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine/bridge) -"KS" = ( -/obj/structure/sink{ - dir = 1; - pixel_y = -9 - }, -/obj/structure/toilet{ - dir = 8; - pixel_x = 8; - pixel_y = 5 - }, -/obj/effect/decal/cleanable/vomit, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"KT" = ( -/obj/effect/decal/cleanable/blood/tracks, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"Lf" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/corporatemine) -"Lm" = ( -/obj/machinery/jukebox, -/turf/open/floor/plasteel/grimy, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Lp" = ( -/obj/effect/decal/cleanable/blood/splatter, -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"LA" = ( -/obj/item/trash/candy, -/obj/structure/table, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/bridge) -"LF" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"LQ" = ( -/obj/item/trash/syndi_cakes, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"LY" = ( -/obj/effect/decal/cleanable/blood/splatter, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Mn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Mo" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/light/broken/directional/west, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/corporatemine/bridge) -"MF" = ( -/obj/structure/girder/reinforced, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine) -"MW" = ( -/obj/effect/turf_decal/solarpanel, -/obj/machinery/power/solar, -/obj/structure/cable{ - icon_state = "0-9" - }, -/turf/open/floor/plating, -/area/ruin/space) -"MX" = ( -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/corporatemine) -"MZ" = ( -/obj/structure/closet/secure_closet/miner, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine) -"Nb" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/light/broken/directional/north, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"Nx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers{ - dir = 5 - }, -/obj/machinery/light/small/broken/directional/west, -/turf/open/floor/plating, -/area/ruin/space/has_grav/corporatemine/hall) -"NH" = ( -/obj/structure/closet/crate, -/obj/effect/turf_decal/industrial/outline, -/obj/effect/spawner/lootdrop/materials, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/hall) -"NO" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen/fountain, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/item/reagent_containers/food/snacks/donkpocket, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"NP" = ( -/obj/structure/closet/crate/bin, -/obj/item/trash/can/food/beans, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"NQ" = ( -/obj/structure/grille/broken, -/obj/structure/lattice, -/turf/open/floor/plating, -/area/ruin/space) -"Og" = ( -/obj/structure/bed, -/obj/item/bedsheet/syndie, -/obj/structure/curtain, -/obj/effect/gibspawner/human, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Ow" = ( -/obj/structure/barricade/sandbags, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"Ox" = ( -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine) -"OD" = ( -/turf/closed/mineral/gold, -/area/ruin/space) -"OZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"Pn" = ( -/obj/effect/decal/cleanable/blood, -/obj/effect/decal/cleanable/blood/tracks{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"Pu" = ( -/obj/structure/sign/departments/engineering, -/turf/closed/wall, -/area/ruin/space/has_grav/corporatemine/hall) -"PB" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space/has_grav/corporatemine/hall) -"PK" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/layer4{ - dir = 8 - }, -/obj/machinery/light/broken/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/corporatemine) -"PM" = ( -/turf/closed/wall/r_wall/rust, -/area/ruin/space/has_grav/corporatemine/bridge) -"Qb" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine/hall) -"Qc" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/grimy, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Qu" = ( -/obj/machinery/door/airlock{ - name = "Preparations" - }, -/obj/structure/barricade/wooden/crude, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/turf_decal/trimline/opaque/bar/filled/warning, -/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/corporatemine) -"Qw" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ruin/space) -"Qy" = ( -/obj/effect/decal/cleanable/oil/slippery, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/corporatemine/bridge) -"QO" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"QQ" = ( -/obj/machinery/modular_computer/console{ - dir = 8 - }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/bridge) -"QR" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"QZ" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"Rd" = ( -/turf/open/floor/plasteel/grimy, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Re" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/corporatemine/hall) -"Rq" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/obj/item/circuitboard/machine/autolathe, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/manipulator, -/turf/open/floor/plating, -/area/ruin/space/has_grav/corporatemine/hall) -"Rs" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/corporatemine/hall) -"Ru" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 6 - }, -/obj/effect/decal/cleanable/blood/tracks{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"Rx" = ( -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/corporatemine/bridge) -"RH" = ( -/turf/open/floor/plating, -/area/ruin/space/has_grav/corporatemine/hall) -"RY" = ( -/obj/effect/turf_decal/solarpanel, -/obj/machinery/power/solar, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ruin/space) -"SA" = ( -/obj/item/rollingpaper, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"SM" = ( -/obj/structure/closet/secure_closet/personal, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 5 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Tp" = ( -/obj/item/stack/sheet/mineral/plasma/five, -/obj/effect/decal/cleanable/blood/gibs/bubblegum, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"Tz" = ( -/obj/structure/lattice, -/turf/open/space, -/area/ruin/space) -"TM" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood/drip, -/obj/effect/decal/cleanable/blood/drip, -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"TO" = ( -/obj/structure/spawner/mining/goliath, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"TR" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"TT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/stairs, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Ud" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen" - }, -/obj/item/flashlight, -/obj/item/reagent_containers/food/drinks/soda_cans/plasma, -/obj/item/stack/ore/bluespace_crystal, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/hall) -"Uk" = ( -/obj/structure/closet/secure_closet/personal, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 9 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Um" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/industrial/warning, -/obj/structure/sign/warning/vacuum/external{ - pixel_x = -32 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"Up" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine) -"Uz" = ( -/obj/item/stack/ore/uranium, -/obj/item/stack/ore/uranium, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"UA" = ( -/turf/closed/wall/rust, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Vr" = ( -/obj/structure/grille/broken, -/obj/item/shard, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/corporatemine) -"Vt" = ( -/turf/closed/wall/r_wall/rust, -/area/ruin/space/has_grav/corporatemine) -"VJ" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/structure/girder/reinforced, -/turf/open/floor/plating, -/area/ruin/space/has_grav/corporatemine) -"VM" = ( -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"VO" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/item/assembly/igniter, -/turf/open/floor/plasteel/airless, -/area/ruin/space/has_grav/corporatemine) -"VW" = ( -/obj/effect/decal/cleanable/ash/large, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"Wq" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/airless, -/area/ruin/space) -"Wt" = ( -/mob/living/simple_animal/hostile/asteroid/goliath, -/obj/effect/decal/cleanable/blood/tracks, -/turf/open/floor/plating/asteroid/airless, -/area/ruin/space) -"Wv" = ( -/obj/effect/turf_decal/solarpanel, -/obj/machinery/power/solar, -/obj/structure/railing, -/obj/structure/cable{ - icon_state = "0-5" - }, -/turf/open/floor/plating, -/area/ruin/space) -"WB" = ( -/obj/machinery/modular_computer/console/preset/engineering{ - dir = 8 - }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/tech/grid, -/area/ruin/space/has_grav/corporatemine/hall) -"WJ" = ( -/obj/item/shard, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine) -"WR" = ( -/obj/structure/sign/poster/ripped, -/turf/closed/wall/rust, -/area/ruin/space/has_grav/corporatemine/hall) -"WS" = ( -/obj/item/trash/waffles, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ruin/space/has_grav/corporatemine) -"WW" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"WZ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"XH" = ( -/turf/closed/wall/r_wall/rust, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"Yg" = ( -/turf/closed/wall/r_wall, -/area/ruin/space/has_grav/corporatemine) -"Yj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"Yr" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs, -/area/ruin/space) -"YD" = ( -/turf/open/floor/plasteel/stairs, -/area/ruin/space) -"YG" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"YY" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/airless, -/area/ruin/space) -"Ze" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/end{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ruin/space/has_grav/corporatemine/bridge) -"Zl" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/plasteel/tech, -/area/ruin/space/has_grav/corporatemine/hall) -"Zp" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/structure/table, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/bridge) -"Zz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"ZA" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/corporatemine/hall) -"ZS" = ( -/obj/item/trash/candy, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"ZU" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ - dir = 8 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/space/has_grav/corporatemine/crewquarters) -"ZW" = ( -/obj/effect/turf_decal/solarpanel, -/obj/machinery/power/solar, -/obj/structure/cable{ - icon_state = "0-5" - }, -/turf/open/floor/plating, -/area/ruin/space) - -(1,1,1) = {" -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -Al -Al -rr -rr -rr -Al -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(2,1,1) = {" -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(3,1,1) = {" -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(4,1,1) = {" -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -Al -Al -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(5,1,1) = {" -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -Al -Al -Al -rr -rr -Al -Al -Al -Al -Al -VM -VM -Wt -KT -KT -ns -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(6,1,1) = {" -rr -rr -rr -rr -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -rr -Al -Al -Al -VM -VM -VM -VM -Al -Al -Al -Al -Al -Al -rr -Al -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(7,1,1) = {" -rr -rr -rr -rr -rr -rr -Al -Al -rr -Al -Al -Al -Al -Al -Al -Al -Al -VM -VM -bl -VM -Al -Al -Al -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(8,1,1) = {" -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -VM -VM -VM -VM -VM -VM -VM -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(9,1,1) = {" -rr -rr -rr -Al -Al -Al -Al -VM -VM -Al -Al -Al -Al -Al -Al -VM -VM -VM -Al -Al -VM -VM -VM -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(10,1,1) = {" -rr -rr -rr -Al -Al -Al -Al -VM -VM -Al -VM -VM -Al -VM -VM -VM -VM -Al -Al -Al -Al -VM -TO -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(11,1,1) = {" -rr -rr -rr -Al -Al -Al -Al -Al -VM -VM -VM -VM -VM -VM -VM -bl -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(12,1,1) = {" -rr -rr -rr -Al -Al -Al -Al -Al -Al -VM -bl -VM -VM -VM -VM -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(13,1,1) = {" -rr -rr -rr -rr -Al -Al -Al -Al -Al -VM -VM -VM -VM -VM -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -Al -Al -Al -rr -rr -rr -rr -rr -rr -"} -(14,1,1) = {" -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -VM -VM -VM -VM -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -rr -rr -rr -rr -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -"} -(15,1,1) = {" -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -VM -VM -VM -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -VM -VM -VM -VM -VM -Al -OD -Al -Al -Al -Al -Al -Al -rr -Al -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -rr -"} -(16,1,1) = {" -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -VM -VM -bl -Al -Al -Al -Al -Al -Al -Al -Al -VM -bl -Ip -no -FT -TM -VM -OD -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -rr -"} -(17,1,1) = {" -rr -rr -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -VM -VM -VM -Al -Al -Al -Al -Al -Al -VM -VM -VM -sb -VM -jz -VM -VM -VM -VM -Uz -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -"} -(18,1,1) = {" -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -VM -VM -VM -VM -VM -Al -Al -VM -VM -sb -VM -VM -LF -jz -jz -VM -VM -VM -wg -wg -VM -Al -Al -Al -Al -zz -zz -zz -zz -zz -Al -rr -rr -rr -rr -rr -rr -"} -(19,1,1) = {" -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -VM -rk -VM -VM -VM -sb -VM -VM -VW -Al -Al -Al -Al -Al -VM -bl -VM -VM -VM -VM -Al -Al -Al -zz -CR -Gx -Qb -zz -Al -Al -rr -rr -rr -rr -rr -"} -(20,1,1) = {" -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -VM -VM -GT -sb -bl -VM -VM -VM -Al -Al -Al -Al -Al -Al -OD -Al -OD -VM -VM -VM -VM -Al -Al -Al -zz -nl -lv -iN -zz -Al -Al -rr -rr -rr -rr -rr -"} -(21,1,1) = {" -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -VM -VM -VM -sb -VM -VM -Al -Al -Al -VM -Al -Al -OD -Al -Al -Al -Al -Al -Al -Al -VM -VM -VM -Al -Al -Al -zz -fL -CR -hz -zz -Al -rr -rr -rr -rr -rr -rr -"} -(22,1,1) = {" -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -cj -VM -zl -VM -VM -VM -Al -Al -Al -Al -VM -BA -BA -BA -XH -XH -BA -BA -BA -XH -Al -Al -VM -VM -VM -Al -Al -zz -eu -Dz -zz -zz -Al -Al -Tz -wi -wi -wi -wi -"} -(23,1,1) = {" -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -ol -VM -VM -VM -Al -OD -Al -Al -lm -VM -BA -Cw -cs -sd -my -Lp -fi -jl -XH -Al -Al -VM -VM -VM -VM -Al -tA -jb -Cv -PB -VM -VM -rr -Tz -rr -rr -rr -wi -"} -(24,1,1) = {" -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Ow -VM -Ow -OD -Al -Al -bc -bc -rn -iW -BA -xK -DF -gf -BA -zy -NO -fK -BA -Al -Al -Al -VM -VM -VM -VM -VM -lb -ma -Wq -bG -VM -rr -Tz -rr -rr -rr -wi -"} -(25,1,1) = {" -rr -rr -Al -Al -Al -Al -VM -VM -Al -Al -Al -VM -VM -VM -VM -OD -Al -Al -iW -Fe -EN -Nx -XH -nN -IE -Og -BA -yX -LY -ZS -BA -Al -Al -Al -VM -VM -gJ -wW -Wq -lN -Ke -Ke -Ac -rr -rr -Tz -Tz -Tz -Tz -Tz -"} -(26,1,1) = {" -rr -Al -Al -Al -VM -bl -VM -VM -Iv -Al -VM -kp -VM -Tp -VM -VM -Al -Al -vN -jK -RH -jH -XH -XH -BA -BA -XH -BA -qu -XH -BA -iW -bc -Al -ha -VM -VM -Ke -hw -Ke -Al -VM -Fy -rr -rr -rr -rr -Tz -rr -wi -"} -(27,1,1) = {" -rr -Al -Al -Al -VM -VM -VM -VM -VM -VM -VM -VM -Al -VM -VM -VM -Al -Al -iW -Eu -AD -JS -CH -Br -WW -IW -yf -bd -qv -Um -Rs -zg -Dx -Yr -Jf -Qw -Qw -mZ -Ke -Al -Al -VM -Fy -rr -rr -rr -rr -Tz -rr -wi -"} -(28,1,1) = {" -rr -Al -Al -Al -VM -VM -VM -VM -kp -bl -VM -Pn -Al -VM -VM -kp -Al -Al -bc -yT -WB -Rq -Pu -WZ -za -lx -vc -bf -rV -va -Re -pQ -Zl -YD -dL -yl -yl -yl -Al -Al -rr -Tz -HP -rr -iu -yK -ZW -Wv -rr -wi -"} -(29,1,1) = {" -rr -Al -Al -Al -VM -VM -VM -VM -VM -VM -VM -TR -VM -VM -Hu -VM -Al -Al -bc -zz -zz -qF -WR -jw -QZ -zz -qF -eV -GV -qF -qF -zz -bc -Al -bS -tA -VM -Al -Al -rr -rr -Tz -Bb -YY -FH -jR -xT -oD -rr -wi -"} -(30,1,1) = {" -rr -Al -Al -Iv -VM -VM -VM -rG -Bp -KT -KT -Ru -rh -VM -bl -Al -Al -Al -BA -Uk -vW -ZU -UA -ZA -IS -qF -cX -qm -Ez -NH -tR -lC -iW -Al -Al -Al -Al -Al -Al -Al -rr -Tz -HP -rr -RY -MW -MW -ED -rr -wi -"} -(31,1,1) = {" -rr -Al -Al -VM -VM -VM -VM -VM -VM -VM -VM -VM -VM -VM -VM -Al -Al -Al -QR -qS -QO -BV -wE -AE -SA -KJ -Nb -HM -Cy -Cl -Ak -Hk -bc -Al -OD -Al -Al -Al -Al -rr -rr -Tz -HP -rr -rr -rr -rr -Tz -rr -Tz -"} -(32,1,1) = {" -rr -Al -Al -Al -VM -VM -bl -VM -VM -VM -VM -VM -VM -kp -VM -Al -Al -Al -BA -SM -xU -kZ -tF -ce -fw -zz -AK -sa -Ud -lV -lL -IF -iW -Al -Al -Al -Al -Al -rr -rr -rr -Tz -HP -rr -rr -rr -rr -Tz -rr -wi -"} -(33,1,1) = {" -rr -Al -Al -Al -Al -Al -VM -VM -VM -VM -VM -VM -bl -Al -Al -Al -OD -Al -BA -tF -UA -UA -tF -WZ -jN -zz -zz -qF -qF -qF -zz -bc -bc -OD -Al -Al -Al -Al -Al -Al -Tz -Tz -HP -rr -iu -yK -ZW -Wv -rr -wi -"} -(34,1,1) = {" -rr -Al -Al -Al -Al -Al -VM -VM -VM -bl -VM -VM -Al -Al -Al -Al -Al -Al -BA -ea -vW -ZU -tF -WZ -HG -NP -pP -wf -DW -Lf -AC -Yg -OD -OD -Al -Al -Al -Al -Al -rr -rr -Tz -Bb -YY -FH -jR -xT -oD -rr -wi -"} -(35,1,1) = {" -rr -Al -Al -Al -Al -VM -VM -VM -VM -VM -Al -Al -Al -Al -Al -Al -Al -Al -QR -qS -Mn -yD -Dn -Zz -qK -bA -pP -nf -zB -rI -MZ -Vt -OD -Al -Al -Al -Al -Al -rr -rr -rr -Tz -HP -rr -RY -MW -MW -ED -rr -wi -"} -(36,1,1) = {" -rr -rr -rr -Al -Al -VM -bl -VM -VM -Al -Al -Al -Al -Al -Al -Al -Al -Al -XH -SM -LQ -kZ -tF -EL -je -iT -Aw -nf -ap -WJ -wJ -VJ -rr -rr -rr -Al -rr -rr -rr -rr -rr -Tz -HP -rr -rr -rr -rr -Tz -rr -wi -"} -(37,1,1) = {" -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -OD -Al -XH -BA -BA -XH -tF -tF -tF -ok -ZA -fw -Aw -Aw -Ek -Vr -Up -aw -Hg -wa -rr -rr -Tz -Tz -Tz -Tz -Tz -Tz -Tz -HP -rr -rr -rr -rr -Tz -rr -Tz -"} -(38,1,1) = {" -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -BA -gj -cI -nW -fF -pK -pK -TT -Ht -pm -pP -nY -MX -ts -Hg -wa -wa -wa -rr -rr -rr -rr -rr -rr -rr -rr -Tz -HP -rr -iu -yK -ZW -Wv -rr -wi -"} -(39,1,1) = {" -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -QR -Lm -ov -qZ -tF -Qc -Bg -ny -YG -dU -Qu -WS -EP -Hg -wa -wa -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -Tz -Bb -YY -FH -jR -xT -oD -rr -wi -"} -(40,1,1) = {" -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -BA -hF -Au -Rd -tF -tF -Gc -UA -Yj -OZ -pP -PK -VO -Hg -MF -wa -rr -Tz -rr -rr -rr -rr -rr -rr -rr -rr -Tz -HP -rr -RY -MW -MW -ED -rr -wi -"} -(41,1,1) = {" -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -BA -XH -XH -BA -BA -Fn -KS -tF -gY -hn -pP -Ox -Vt -Hg -Hg -wa -Tz -Al -Al -Al -rr -rr -rr -rr -rr -rr -Tz -HP -rr -rr -rr -rr -Tz -rr -Tz -"} -(42,1,1) = {" -rr -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -tJ -zr -zr -fa -bK -zr -tJ -rr -rr -rr -Tz -Al -Al -Al -Al -rr -rr -rr -rr -Tz -Tz -Tz -BZ -Tz -Tz -Tz -Tz -Tz -rr -wi -"} -(43,1,1) = {" -rr -rr -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -gI -Al -Al -Al -tJ -BW -vR -Bw -Mo -Zp -PM -rr -rr -Tz -rr -Tz -Tz -Tz -Al -Al -rr -rr -rr -rr -rr -rr -Tz -rr -rr -rr -rr -rr -rr -wi -"} -(44,1,1) = {" -rr -rr -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -tJ -zn -HV -Rx -kK -oj -PM -rr -Tz -Tz -rr -Tz -Al -Al -Al -Al -Al -mc -rr -NQ -wi -Tz -Tz -Tz -wi -wi -wi -wi -wi -wi -"} -(45,1,1) = {" -rr -rr -rr -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -PM -nu -Rx -kC -Qy -LA -PM -rr -rr -Tz -rr -rr -rr -Al -Al -Al -mc -mc -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(46,1,1) = {" -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -Al -Al -Al -Ze -oj -rd -QQ -QQ -oj -Ze -rr -rr -Tz -rr -rr -rr -rr -Al -mc -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(47,1,1) = {" -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -Al -Al -rr -iG -KM -KM -KM -KM -KM -jU -Tz -wi -wi -wi -mc -mc -mc -mc -mc -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(48,1,1) = {" -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -Al -Al -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(49,1,1) = {" -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -Al -Al -Al -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} -(50,1,1) = {" -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -Al -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -rr -"} diff --git a/_maps/RandomRuins/SpaceRuins/onehalf.dmm b/_maps/RandomRuins/SpaceRuins/onehalf.dmm index 85f087ec38a..de7a68ec4ee 100644 --- a/_maps/RandomRuins/SpaceRuins/onehalf.dmm +++ b/_maps/RandomRuins/SpaceRuins/onehalf.dmm @@ -1401,7 +1401,7 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 1 }, -/mob/living/simple_animal/hostile/hivebot/range, +/mob/living/simple_animal/hostile/hivebot/ranged, /turf/open/floor/plasteel, /area/ruin/space/has_grav/onehalf) "qC" = ( @@ -1606,7 +1606,7 @@ /turf/open/floor/plating/airless, /area/space/nearstation) "zS" = ( -/mob/living/simple_animal/hostile/hivebot/range, +/mob/living/simple_animal/hostile/hivebot/ranged, /turf/open/floor/plasteel/airless, /area/ruin/space/has_grav/onehalf) "Af" = ( @@ -1969,7 +1969,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/wood, /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/hivebot/range, +/mob/living/simple_animal/hostile/hivebot/ranged, /turf/open/floor/wood/airless, /area/ruin/space/has_grav/onehalf) "OW" = ( @@ -2034,12 +2034,6 @@ }, /turf/open/space, /area/space/nearstation) -"Ra" = ( -/obj/structure/frame/computer{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/onehalf) "Rv" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/airless{ @@ -3328,7 +3322,7 @@ UM cp ZX Gv -Ra +Gv cU YE bU diff --git a/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm b/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm index b76ae63a86e..c052a6f0cd0 100644 --- a/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm +++ b/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm @@ -3,7 +3,7 @@ /obj/structure/bed, /obj/structure/curtain/cloth/grey, /obj/effect/turf_decal/corner/transparent/grey/diagonal, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle) "ae" = ( @@ -365,9 +365,9 @@ /area/ruin/space/has_grav/powerpuzzle) "br" = ( /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/cobweb, -/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears, +/obj/effect/spawner/random/clothing/kittyears_or_rabbitears, /obj/effect/turf_decal/corner/transparent/grey/diagonal, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle) @@ -695,14 +695,14 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/powerpuzzle) "cB" = ( -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/generic, /obj/effect/turf_decal/corner/transparent/grey/diagonal, /obj/structure/closet/crate/secure, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle) "cD" = ( -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /obj/effect/decal/cleanable/glass, /obj/effect/turf_decal/industrial/warning{ dir = 8 @@ -797,7 +797,7 @@ /obj/effect/decal/cleanable/greenglow, /obj/item/stack/ore/salvage/scrapuranium, /obj/item/bodypart/l_arm/robot, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/assembly/prox_sensor, /obj/item/stack/ore/salvage/scrapuranium{ pixel_x = -4; @@ -1116,7 +1116,7 @@ /area/ruin/space/has_grav/powerpuzzle) "gM" = ( /obj/effect/turf_decal/corner/transparent/grey/diagonal, -/obj/effect/spawner/lootdrop/maintenance/six, +/obj/effect/spawner/random/maintenance/six, /obj/structure/closet/crate/secure, /obj/machinery/light/dim/directional/north, /turf/open/floor/plasteel/dark, @@ -1478,7 +1478,7 @@ pixel_x = 2; pixel_y = 4 }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/machinery/light/broken/directional/south, /obj/item/poster/random_official, /obj/item/poster/random_official, @@ -1677,7 +1677,7 @@ /obj/structure/railing/corner{ dir = 1 }, -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/plasteel, /area/ruin/space/has_grav/powerpuzzle) "rI" = ( @@ -1739,7 +1739,7 @@ /area/ruin/space/has_grav/powerpuzzle/secure) "sc" = ( /obj/effect/mob_spawn/human/corpse/cargo_tech, -/obj/item/reagent_containers/food/snacks/cakeslice/birthday, +/obj/item/food/cakeslice/birthday, /obj/effect/decal/cleanable/confetti, /obj/machinery/light/small/broken/directional/east, /obj/structure/toilet, @@ -1838,7 +1838,7 @@ /obj/structure/railing, /obj/effect/turf_decal/corner/transparent/grey/diagonal, /obj/item/stack/ore/salvage/scrapuranium/five, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/structure/closet/crate/engineering, /obj/effect/turf_decal/box, /turf/open/floor/plasteel/dark, @@ -1850,8 +1850,8 @@ /obj/item/reagent_containers/food/drinks/waterbottle/empty, /obj/item/reagent_containers/food/drinks/waterbottle/empty, /obj/item/reagent_containers/food/drinks/waterbottle, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/snacks/sosjerky, /obj/item/reagent_containers/food/snacks/sosjerky, /obj/item/stack/medical/gauze/improvised, @@ -2446,7 +2446,7 @@ /obj/structure/bed, /obj/structure/curtain/cloth/grey, /obj/effect/turf_decal/corner/transparent/grey/diagonal, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/light/small/broken/directional/north, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle) @@ -2694,8 +2694,8 @@ /obj/structure/closet/crate/secure/weapon{ name = "Ammo Crate" }, -/obj/item/ammo_box/c9mm/surplus, -/obj/item/ammo_box/c9mm/surplus, +/obj/item/storage/box/ammo/c9mm_surplus, +/obj/item/storage/box/ammo/c9mm_surplus, /obj/item/ammo_box/magazine/co9mm, /obj/item/ammo_box/magazine/co9mm, /turf/open/floor/plasteel, @@ -3273,7 +3273,7 @@ /obj/structure/bed, /obj/structure/curtain/cloth/grey, /obj/effect/turf_decal/corner/transparent/grey/diagonal, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/light/small/broken/directional/south, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle) @@ -3546,7 +3546,7 @@ dir = 4 }, /obj/structure/closet/crate/secure, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle) "VV" = ( @@ -3589,7 +3589,7 @@ dir = 6 }, /obj/structure/table, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /obj/structure/noticeboard{ pixel_x = -15; pixel_y = 32 @@ -3647,7 +3647,7 @@ /obj/structure/railing{ dir = 6 }, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle/engineering) "Xj" = ( @@ -3692,7 +3692,7 @@ dir = 5 }, /obj/structure/closet/crate/secure, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle) "Yr" = ( diff --git a/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm b/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm index 45591d25dde..d42576b02d5 100644 --- a/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm +++ b/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm @@ -552,7 +552,7 @@ /obj/structure/closet/crate/medical, /obj/item/storage/firstaid, /obj/item/storage/firstaid, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /turf/open/floor/plasteel/patterned/cargo_one, /area/ruin/space/has_grav/singularitylab/cargo) "cv" = ( @@ -3490,7 +3490,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 9 }, -/obj/machinery/computer/cargo/express, +/obj/machinery/computer/cargo, /turf/open/floor/carpet/nanoweave/beige, /area/ruin/space/has_grav/singularitylab/cargo) "nT" = ( @@ -7373,7 +7373,6 @@ name = "Prototype Storage" }, /obj/item/gun/energy/laser/captain, -/obj/item/clothing/shoes/wheelys, /obj/structure/sign/poster/retro/lasergun_new{ pixel_y = 32 }, @@ -8625,13 +8624,13 @@ /turf/open/floor/plasteel/grimy, /area/ruin/space/has_grav/singularitylab/lab) "HU" = ( -/obj/structure/fireaxecabinet{ - pixel_y = 32 - }, /obj/structure/sign/warning/incident{ pixel_x = -32 }, /obj/effect/decal/cleanable/cobweb, +/obj/structure/cabinet/fireaxe{ + pixel_y = 28 + }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/singularitylab/engineering) "HW" = ( @@ -9119,7 +9118,7 @@ /obj/effect/gibspawner, /obj/item/gun/energy/lasercannon{ desc = "An advanced laser cannon, a laser etched inscription in the handle states 'NT-LS-1013'. The casing is made of a lightweight alloy."; - icon_state = "pulse"; + icon_state = "lasercannon"; name = "NT-LS-1013" }, /turf/open/floor/plating/asteroid, @@ -10923,7 +10922,7 @@ /obj/machinery/light/directional/north, /obj/item/gun/energy/lasercannon{ desc = "An advanced laser cannon, a laser etched inscription in the handle states 'NT-LS-1013'. The casing is made of a lightweight alloy."; - icon_state = "pulse"; + icon_state = "lasercannon"; name = "NT-LS-1013" }, /obj/item/gun/energy/laser/iot, diff --git a/_maps/RandomRuins/SpaceRuins/spacemall.dmm b/_maps/RandomRuins/SpaceRuins/spacemall.dmm index 0f5d01fb7de..a0a7605441d 100644 --- a/_maps/RandomRuins/SpaceRuins/spacemall.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacemall.dmm @@ -315,15 +315,6 @@ /obj/structure/flora/junglebush/c, /turf/open/floor/plating/grass, /area/ruin/space/has_grav/spacemall) -"bn" = ( -/obj/structure/table/glass, -/obj/item/toy/talking/AI{ - pixel_x = 20 - }, -/obj/item/ammo_box/foambox/riot, -/obj/item/gun/ballistic/shotgun/toy, -/turf/open/floor/light, -/area/ruin/space/has_grav/spacemall/shop2) "bo" = ( /obj/machinery/light/small/directional/north, /obj/structure/spider/stickyweb, @@ -706,11 +697,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/dorms) -"cO" = ( -/obj/effect/turf_decal/box, -/obj/effect/spawner/lootdrop/salvage_machine, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/shuttle) "cP" = ( /obj/effect/decal/cleanable/blood, /obj/structure/window/reinforced{ @@ -1098,6 +1084,11 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) +"ej" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance/three, +/turf/open/floor/plating, +/area/ruin/space/has_grav/spacemall/maint) "ek" = ( /obj/effect/turf_decal/corner/transparent/green/diagonal, /obj/item/kirbyplants/random, @@ -1106,7 +1097,7 @@ "el" = ( /obj/structure/table/glass, /obj/item/toy/plush/lizardplushie, -/obj/item/kitchen/knife, +/obj/item/melee/knife/kitchen, /turf/open/floor/light, /area/ruin/space/has_grav/spacemall/shop2) "eo" = ( @@ -1268,9 +1259,6 @@ /area/ruin/space/has_grav/spacemall/dorms) "eO" = ( /obj/effect/turf_decal/corner/opaque/blue/half, -/obj/item/clothing/suit/whitedress, -/obj/item/clothing/suit/whitedress, -/obj/item/clothing/suit/whitedress, /obj/item/clothing/under/dress/blacktango{ pixel_y = 3 }, @@ -1296,22 +1284,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) -"eS" = ( -/obj/structure/rack, -/obj/effect/turf_decal/corner/transparent/black/diagonal, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/shop) -"eU" = ( -/obj/structure/mirror{ - pixel_y = -30 - }, -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/turf/open/floor/wood, -/area/ruin/space/has_grav/spacemall/dorms) "eV" = ( /obj/item/trash/energybar, /turf/open/floor/eighties, @@ -1325,14 +1297,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) -"eX" = ( -/obj/machinery/vending/cola/random, -/obj/effect/turf_decal/corner/transparent/green/diagonal, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/spacemall/dorms) "eY" = ( /obj/effect/turf_decal/trimline/opaque/black/arrow_ccw{ dir = 1; @@ -1388,24 +1352,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) -"fh" = ( -/obj/structure/rack, -/obj/effect/turf_decal/corner/transparent/solgovgold/full, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/stack/cable_coil/random/five, -/obj/effect/spawner/lootdrop/techstorage/engineering, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/maint) -"fi" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/ruin/space/has_grav/spacemall/maint) "fl" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/structure/cable{ @@ -1430,10 +1376,10 @@ name = "Kiosk Shutters"; dir = 4 }, -/obj/item/reagent_containers/food/condiment/sugar{ +/obj/item/reagent_containers/condiment/sugar{ pixel_y = 5 }, -/obj/item/reagent_containers/food/condiment/sugar, +/obj/item/reagent_containers/condiment/sugar, /obj/structure/closet/wall/directional/north, /obj/item/spacecash/bundle/c100, /turf/open/floor/plasteel/dark, @@ -1568,6 +1514,15 @@ /obj/effect/turf_decal/corner/transparent/green/diagonal, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/spacemall) +"fP" = ( +/obj/structure/rack, +/obj/effect/turf_decal/corner/transparent/solgovgold/full, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/cable_coil/random/five, +/obj/effect/spawner/random/techstorage/engineering, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/maint) "fQ" = ( /obj/structure/window/reinforced{ dir = 1 @@ -1613,6 +1568,14 @@ /obj/effect/turf_decal/corner/opaque/black/diagonal, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall) +"gh" = ( +/obj/structure/rack, +/obj/effect/turf_decal/corner/transparent/black/diagonal, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/shop) "gj" = ( /obj/machinery/light/dim/directional/east, /turf/open/floor/plasteel/showroomfloor{ @@ -1656,12 +1619,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/dorms) -"gu" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/turf_decal/corner/transparent/black/diagonal, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/shop) "gx" = ( /obj/effect/turf_decal/corner/transparent/red/diagonal, /obj/structure/chair{ @@ -1757,6 +1714,15 @@ /obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/maint) +"gP" = ( +/obj/effect/decal/cleanable/ash, +/obj/effect/spawner/random/maintenance, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/closet/crate, +/obj/structure/railing, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/maint) "gQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 5 @@ -1815,6 +1781,15 @@ /obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/dorms) +"hb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/secure, +/obj/effect/turf_decal/box, +/obj/structure/railing, +/obj/effect/spawner/random/exotic/prison_contraband, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/maint) "hc" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2138,7 +2113,7 @@ /area/ruin/space/has_grav/spacemall) "ip" = ( /obj/effect/turf_decal/corner/transparent/black/diagonal, -/obj/item/kitchen/knife, +/obj/item/melee/knife/kitchen, /obj/structure/table, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/spacemall/dorms) @@ -2169,6 +2144,11 @@ /obj/structure/spider/stickyweb, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/spacemall) +"iu" = ( +/obj/effect/turf_decal/box, +/obj/effect/spawner/random/salvage_machine, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/shuttle) "iv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 9 @@ -2212,10 +2192,10 @@ "iE" = ( /obj/effect/turf_decal/corner/transparent/black/diagonal, /obj/structure/table/reinforced, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ pixel_x = 4 }, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ pixel_x = -4 }, /obj/machinery/door/poddoor/shutters{ @@ -2251,6 +2231,11 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop2) +"iK" = ( +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/turf/open/floor/wood, +/area/ruin/space/has_grav/spacemall/dorms) "iL" = ( /obj/structure/flora/grass/jungle/b, /turf/open/floor/plating/grass, @@ -2435,15 +2420,6 @@ /obj/effect/turf_decal/corner/transparent/green/diagonal, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/spacemall) -"jm" = ( -/obj/structure/rack, -/obj/item/ammo_box/c9mm, -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = 5 - }, -/obj/item/ammo_box/magazine/co9mm, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/dorms) "jn" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -2516,14 +2492,6 @@ /obj/structure/flora/ausbushes/ywflowers, /turf/open/floor/plating/grass, /area/ruin/space/has_grav/spacemall) -"jD" = ( -/obj/effect/turf_decal/box, -/obj/structure/closet/crate/secure, -/obj/effect/spawner/lootdrop/costume, -/obj/effect/spawner/lootdrop/costume, -/obj/effect/spawner/lootdrop/costume, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/shuttle) "jE" = ( /obj/structure/window/reinforced/spawner{ dir = 1 @@ -2804,12 +2772,7 @@ /area/ruin/space/has_grav/spacemall) "kC" = ( /obj/structure/rack, -/obj/item/clothing/head/goatpelt, -/obj/item/clothing/head/hardhat/reindeer, /obj/item/clothing/head/collectable/chef, -/obj/item/clothing/head/collectable/HoP, -/obj/item/clothing/head/collectable/rabbitears, -/obj/item/clothing/head/witchunter, /obj/item/clothing/neck/cloak/trans, /obj/item/clothing/neck/cloak/cap, /obj/item/clothing/neck/beads, @@ -3114,14 +3077,6 @@ /obj/structure/flora/grass/jungle/b, /turf/open/floor/plating/grass, /area/ruin/space/has_grav/spacemall/dorms) -"lQ" = ( -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/turf_decal/box, -/obj/structure/closet/crate/wooden, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/maint) "lR" = ( /obj/structure/table/glass, /obj/machinery/paystand, @@ -3151,6 +3106,15 @@ }, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/spacemall/dorms) +"lX" = ( +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/ruin/space/has_grav/spacemall/maint) "mg" = ( /obj/structure/sign/departments/security{ pixel_x = -31 @@ -3233,6 +3197,17 @@ /obj/structure/spider/stickyweb, /turf/open/floor/wood, /area/ruin/space/has_grav/spacemall/maint) +"mx" = ( +/obj/structure/rack, +/obj/item/clothing/head/hardhat/weldhat/dblue, +/obj/item/clothing/head/hardhat/weldhat/dblue{ + pixel_y = 5 + }, +/obj/effect/turf_decal/siding/wideplating/dark/end{ + dir = 8 + }, +/turf/open/floor/light, +/area/ruin/space/has_grav/spacemall/shop) "mA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/structure/cable{ @@ -3260,12 +3235,6 @@ }, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/spacemall/shop2) -"mJ" = ( -/obj/structure/rack, -/obj/machinery/light/small/directional/north, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/ruin/space/has_grav/spacemall/maint) "mK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 6 @@ -3478,10 +3447,10 @@ /area/ruin/space/has_grav/spacemall) "ns" = ( /obj/effect/turf_decal/corner/transparent/black/diagonal, -/obj/item/reagent_containers/food/condiment/sugar{ +/obj/item/reagent_containers/condiment/sugar{ pixel_y = -5 }, -/obj/item/reagent_containers/food/condiment/flour, +/obj/item/reagent_containers/condiment/flour, /obj/structure/table, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/spacemall/dorms) @@ -3606,7 +3575,7 @@ /area/ruin/space/has_grav/spacemall/shop) "nS" = ( /obj/effect/turf_decal/corner/transparent/black/diagonal, -/obj/item/reagent_containers/food/snacks/store/bread/spidermeat, +/obj/item/food/bread/spidermeat, /obj/structure/table, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/spacemall/dorms) @@ -3644,11 +3613,6 @@ /obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/dorms) -"ob" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/three, -/turf/open/floor/plating, -/area/ruin/space/has_grav/spacemall/maint) "od" = ( /obj/effect/decal/cleanable/blood, /obj/structure/spider/cocoon, @@ -4054,15 +4018,6 @@ /obj/effect/turf_decal/corner/transparent/green/diagonal, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/spacemall) -"pB" = ( -/obj/effect/decal/cleanable/ash, -/obj/effect/spawner/lootdrop/maintenance, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, -/obj/structure/closet/crate, -/obj/structure/railing, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/maint) "pC" = ( /obj/structure/flora/ausbushes/palebush, /turf/open/floor/plating/grass, @@ -4112,6 +4067,15 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) +"pK" = ( +/obj/structure/rack, +/obj/structure/window/reinforced/spawner, +/obj/effect/spawner/random/medical/beaker, +/obj/effect/spawner/random/medical/beaker, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/item/clothing/neck/stethoscope, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/spacemall/shop2) "pL" = ( /obj/structure/cable{ icon_state = "1-2" @@ -4310,8 +4274,6 @@ /obj/item/clothing/glasses/heat{ pixel_y = -6 }, -/obj/item/clothing/glasses/sunglasses/gar/supergar, -/obj/item/clothing/glasses/monocle, /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/glasses/sunglasses, @@ -4483,6 +4445,15 @@ /obj/effect/decal/cleanable/glass, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/shop) +"qE" = ( +/obj/effect/spawner/random/vending/snack, +/obj/effect/turf_decal/corner/transparent/green/diagonal, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/spacemall/dorms) "qF" = ( /obj/structure/railing{ dir = 4 @@ -4504,6 +4475,15 @@ /obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/dorms) +"qJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/wooden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/maint) "qK" = ( /turf/closed/wall/r_wall, /area/ruin/space/has_grav/spacemall/maint) @@ -4611,6 +4591,12 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/shuttle) +"rb" = ( +/obj/effect/spawner/random/decoration/glowstick, +/obj/structure/rack, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/ruin/space/has_grav/spacemall/maint) "re" = ( /obj/item/kirbyplants/dead, /turf/open/floor/plating, @@ -4647,6 +4633,15 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall) +"rp" = ( +/obj/structure/rack, +/obj/item/storage/box/ammo/c9mm, +/obj/item/ammo_box/magazine/co9mm{ + pixel_x = 5 + }, +/obj/item/ammo_box/magazine/co9mm, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/dorms) "rq" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 1 @@ -5756,12 +5751,6 @@ /obj/effect/decal/cleanable/molten_object/large, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall) -"vp" = ( -/obj/structure/rack, -/obj/effect/turf_decal/corner/transparent/black/diagonal, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/shop) "vs" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 10 @@ -5835,6 +5824,14 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/maint) +"vH" = ( +/obj/effect/spawner/random/vending/cola, +/obj/effect/turf_decal/corner/transparent/green/diagonal, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/spacemall/dorms) "vI" = ( /obj/effect/turf_decal/corner/transparent/blue/half{ dir = 1 @@ -5874,12 +5871,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop2) -"vS" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/beaker_loot_spawner, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/spacemall/shop2) "vT" = ( /obj/structure/cable{ icon_state = "0-8" @@ -5966,15 +5957,15 @@ pixel_x = -30; dir = 4 }, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/rice, -/obj/item/reagent_containers/food/condiment/rice, -/obj/item/reagent_containers/food/condiment/rice, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/sugar, +/obj/item/reagent_containers/condiment/sugar, +/obj/item/reagent_containers/condiment/sugar, +/obj/item/reagent_containers/condiment/rice, +/obj/item/reagent_containers/condiment/rice, +/obj/item/reagent_containers/condiment/rice, /obj/structure/table, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/spacemall/dorms) @@ -6271,6 +6262,12 @@ /obj/effect/decal/cleanable/glass, /turf/open/floor/wood/walnut, /area/ruin/space/has_grav/spacemall/shop) +"xA" = ( +/obj/structure/rack, +/obj/machinery/light/small/directional/north, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/ruin/space/has_grav/spacemall/maint) "xD" = ( /obj/effect/turf_decal/siding{ dir = 8 @@ -6456,15 +6453,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall) -"yj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/secure, -/obj/effect/turf_decal/box, -/obj/structure/railing, -/obj/effect/spawner/lootdrop/prison_contraband, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/maint) "yk" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 4 @@ -6506,6 +6494,14 @@ }, /turf/open/floor/wood/birch, /area/ruin/space/has_grav/spacemall/shop2) +"yr" = ( +/obj/structure/mirror{ + pixel_y = -30 + }, +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/turf/open/floor/wood, +/area/ruin/space/has_grav/spacemall/dorms) "ys" = ( /obj/effect/turf_decal/corner/transparent/green/diagonal, /obj/machinery/firealarm/directional/north, @@ -6529,14 +6525,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) -"yC" = ( -/obj/effect/turf_decal/box, -/obj/structure/closet/crate/trashcart, -/obj/item/trash/popcorn, -/obj/item/trash/candy, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/shuttle) "yF" = ( /obj/structure/cable{ icon_state = "1-2" @@ -6669,16 +6657,6 @@ /obj/item/stack/cable_coil/cut, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop2) -"yX" = ( -/obj/effect/turf_decal/box, -/obj/machinery/light/small/directional/south, -/obj/structure/closet/crate/secure, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/shuttle) "yZ" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -6715,6 +6693,15 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/dorms) +"zd" = ( +/obj/structure/rack, +/obj/effect/turf_decal/corner/transparent/black/diagonal, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/circuit/computer/common, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/shop) "ze" = ( /turf/open/floor/plating/grass, /area/ruin/space/has_grav/spacemall) @@ -6776,7 +6763,7 @@ dir = 8 }, /obj/item/trash/plate, -/obj/item/reagent_containers/food/snacks/breadslice/moldy{ +/obj/item/food/breadslice/moldy{ pixel_y = 6 }, /obj/item/reagent_containers/food/snacks/spiderling{ @@ -6971,15 +6958,6 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/shop) -"Ag" = ( -/obj/structure/rack, -/obj/effect/turf_decal/corner/transparent/black/diagonal, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/random_computer_circuit_common, -/obj/item/research_notes/loot, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/shop) "Ah" = ( /obj/structure/table/wood/reinforced, /obj/item/paper_bin/carbon, @@ -7276,14 +7254,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop2) -"Bq" = ( -/obj/effect/turf_decal/box, -/obj/structure/closet/crate/secure, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/shuttle) "Bu" = ( /obj/structure/railing/wood{ dir = 1 @@ -7451,6 +7421,14 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/maint) +"Cq" = ( +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/box, +/obj/structure/closet/crate/wooden, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/maint) "Cs" = ( /obj/effect/turf_decal/corner/opaque/blue/half, /obj/item/clothing/suit/hooded/wintercoat{ @@ -7472,16 +7450,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) -"Cu" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/crate/wooden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 10 - }, -/obj/structure/spider/stickyweb, -/obj/effect/spawner/lootdrop/maintenance/three, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/maint) "Cv" = ( /obj/structure/cable{ icon_state = "1-8" @@ -7639,16 +7607,6 @@ /obj/machinery/smartfridge/food, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall) -"CR" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/effect/decal/cleanable/blood, -/obj/item/reagent_containers/food/snacks/spiderling{ - pixel_y = 5; - pixel_x = 6 - }, -/turf/open/floor/wood, -/area/ruin/space/has_grav/spacemall/dorms) "CW" = ( /obj/effect/turf_decal/corner/opaque/blue/diagonal, /obj/structure/cable{ @@ -7904,21 +7862,6 @@ }, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/spacemall/dorms) -"DH" = ( -/obj/structure/rack, -/obj/item/clothing/head/hardhat/weldhat/dblue, -/obj/item/clothing/head/hardhat/weldhat/dblue{ - pixel_y = 5 - }, -/obj/item/weldingtool/experimental{ - pixel_y = 5 - }, -/obj/item/weldingtool/experimental, -/obj/effect/turf_decal/siding/wideplating/dark/end{ - dir = 8 - }, -/turf/open/floor/light, -/area/ruin/space/has_grav/spacemall/shop) "DL" = ( /obj/machinery/door/airlock, /obj/structure/cable{ @@ -8239,12 +8182,6 @@ }, /turf/open/floor/eighties, /area/ruin/space/has_grav/spacemall/shop2) -"EI" = ( -/obj/effect/spawner/lootdrop/glowstick, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/plating, -/area/ruin/space/has_grav/spacemall/maint) "EJ" = ( /obj/effect/turf_decal/corner/transparent/red/diagonal, /obj/structure/chair{ @@ -8620,6 +8557,22 @@ /obj/structure/spider/stickyweb, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall) +"Gm" = ( +/obj/effect/turf_decal/box, +/obj/machinery/light/small/directional/south, +/obj/structure/closet/crate/secure, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/shuttle) +"Gn" = ( +/obj/structure/rack, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/turf_decal/corner/transparent/black/diagonal, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/shop) "Go" = ( /obj/structure/rack, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -8700,6 +8653,15 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/ruin/space/has_grav/spacemall/shop2) +"GD" = ( +/obj/structure/table/glass, +/obj/item/toy/talking/AI{ + pixel_x = 20 + }, +/obj/item/storage/box/ammo/foam_darts/riot, +/obj/item/gun/ballistic/shotgun/toy, +/turf/open/floor/light, +/area/ruin/space/has_grav/spacemall/shop2) "GE" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable{ @@ -8709,6 +8671,14 @@ /obj/machinery/power/floodlight, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/shop2) +"GG" = ( +/obj/effect/turf_decal/box, +/obj/structure/closet/crate/secure, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/shuttle) "GH" = ( /obj/effect/turf_decal/corner/opaque/red{ dir = 9 @@ -9002,6 +8972,12 @@ /obj/structure/spider/eggcluster, /turf/open/floor/wood, /area/ruin/space/has_grav/spacemall/maint) +"HI" = ( +/obj/effect/decal/cleanable/robot_debris/old, +/obj/structure/closet/crate/wooden, +/obj/effect/spawner/random/maintenance/three, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/maint) "HJ" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/manifold{ dir = 8 @@ -9446,11 +9422,6 @@ /obj/structure/flora/ausbushes/leafybush, /turf/open/floor/plating/grass, /area/ruin/space/has_grav/spacemall) -"JE" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/turf/open/floor/wood, -/area/ruin/space/has_grav/spacemall/dorms) "JF" = ( /obj/effect/turf_decal/corner/transparent/red/diagonal, /obj/structure/table, @@ -9576,12 +9547,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall) -"Kl" = ( -/obj/effect/decal/cleanable/robot_debris/old, -/obj/structure/closet/crate/wooden, -/obj/effect/spawner/lootdrop/maintenance/three, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/maint) "Kn" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9626,6 +9591,15 @@ }, /turf/open/floor/wood/birch, /area/ruin/space/has_grav/spacemall/shop2) +"KA" = ( +/obj/effect/turf_decal/box, +/obj/structure/closet/crate/engineering/electrical, +/obj/effect/spawner/random/techstorage, +/obj/effect/spawner/random/techstorage, +/obj/effect/spawner/random/stockparts, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/shuttle) "KB" = ( /obj/structure/cable{ icon_state = "1-2" @@ -9680,6 +9654,15 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) +"KN" = ( +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/box, +/turf/open/floor/plating, +/area/ruin/space/has_grav/spacemall/maint) "KO" = ( /obj/effect/turf_decal/corner/transparent/black/diagonal, /obj/structure/cable{ @@ -9805,10 +9788,6 @@ pixel_y = 5; pixel_x = 2 }, -/obj/item/clothing/head/spacepolice{ - pixel_y = -3; - pixel_x = 4 - }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/dorms) "Li" = ( @@ -10010,15 +9989,6 @@ /obj/structure/table, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/spacemall/dorms) -"LS" = ( -/obj/structure/rack, -/obj/effect/turf_decal/corner/transparent/black/diagonal, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/random_computer_circuit_common, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/shop) "LT" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10068,17 +10038,6 @@ /obj/structure/table, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/dorms) -"Mb" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/effect/spawner/lootdrop/random_prosthetic, -/obj/effect/spawner/lootdrop/memeorgans, -/obj/effect/spawner/lootdrop/memeorgans, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 4 - }, -/obj/structure/closet/crate/secure, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/maint) "Md" = ( /obj/effect/turf_decal/corner/transparent/black/diagonal, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ @@ -10769,6 +10728,19 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/dorms) +"Ol" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/structure/closet/crate, +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/ruin/space/has_grav/spacemall/maint) "On" = ( /obj/structure/spider/stickyweb, /turf/open/floor/plasteel, @@ -10867,6 +10839,22 @@ /obj/structure/table, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/spacemall/dorms) +"OM" = ( +/obj/structure/rack, +/obj/effect/spawner/random/medical/beaker, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/spacemall/shop2) +"ON" = ( +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/obj/effect/decal/cleanable/blood, +/obj/item/reagent_containers/food/snacks/spiderling{ + pixel_y = 5; + pixel_x = 6 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/spacemall/dorms) "OO" = ( /obj/machinery/light/small/directional/south, /obj/structure/disposalpipe/segment{ @@ -11278,12 +11266,6 @@ name = "bathroom floor" }, /area/ruin/space/has_grav/spacemall) -"Qf" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/tool_engie_common, -/obj/effect/turf_decal/corner/transparent/black/diagonal, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/shop) "Qh" = ( /obj/structure/bookcase/random, /obj/structure/disposalpipe/segment{ @@ -11310,22 +11292,14 @@ /obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/maint) -"Qn" = ( -/obj/machinery/vending/snack/random, -/obj/effect/turf_decal/corner/transparent/green/diagonal, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/ruin/space/has_grav/spacemall/dorms) -"Qo" = ( -/obj/effect/decal/cleanable/dirt, +"Qq" = ( +/obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate/wooden, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/structure/spider/stickyweb, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/maint) "Qu" = ( @@ -11696,6 +11670,15 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shuttle) +"RO" = ( +/obj/structure/rack, +/obj/effect/turf_decal/corner/transparent/black/diagonal, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/circuit/computer/common, +/obj/item/research_notes/loot, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/shop) "RQ" = ( /obj/effect/turf_decal/industrial/caution{ dir = 8; @@ -11836,6 +11819,17 @@ /obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/maint) +"Sr" = ( +/obj/effect/decal/cleanable/greenglow, +/obj/effect/spawner/random/medical/prosthetic, +/obj/effect/spawner/random/medical/memeorgans, +/obj/effect/spawner/random/medical/memeorgans, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/closet/crate/secure, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/maint) "Ss" = ( /obj/structure/chair/stool/bar, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ @@ -11877,15 +11871,6 @@ /obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/maint) -"SD" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/item/toy/plush/slimeplushie{ - pixel_y = -4; - pixel_x = 4 - }, -/turf/open/floor/wood, -/area/ruin/space/has_grav/spacemall/dorms) "SF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 6 @@ -12149,6 +12134,14 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/ruin/space/has_grav/spacemall/maint) +"TF" = ( +/obj/effect/turf_decal/box, +/obj/structure/closet/crate/trashcart, +/obj/item/trash/popcorn, +/obj/item/trash/candy, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/shuttle) "TG" = ( /obj/effect/turf_decal/siding/wideplating/dark/corner{ dir = 1 @@ -12228,13 +12221,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall) -"TX" = ( -/obj/structure/rack, -/obj/effect/turf_decal/corner/transparent/black/diagonal, -/obj/machinery/light/directional/east, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/shop) "TZ" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/corner/opaque/blue/half{ @@ -12290,6 +12276,12 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/dorms) +"Ui" = ( +/obj/structure/rack, +/obj/effect/turf_decal/corner/transparent/black/diagonal, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/shop) "Uj" = ( /obj/structure/railing{ dir = 4 @@ -12301,15 +12293,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) -"Ul" = ( -/obj/effect/turf_decal/box, -/obj/structure/closet/crate/engineering/electrical, -/obj/effect/spawner/lootdrop/techstorage, -/obj/effect/spawner/lootdrop/techstorage, -/obj/effect/spawner/lootdrop/stockparts, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/spacemall/shuttle) "Um" = ( /obj/structure/cable{ icon_state = "1-2" @@ -12471,6 +12454,13 @@ name = "bathroom floor" }, /area/ruin/space/has_grav/spacemall/maint) +"UN" = ( +/obj/structure/rack, +/obj/effect/turf_decal/corner/transparent/black/diagonal, +/obj/machinery/light/directional/east, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/shop) "UP" = ( /obj/structure/flora/junglebush/b, /turf/open/floor/plating/grass, @@ -12561,6 +12551,21 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall) +"Vi" = ( +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/obj/item/toy/plush/slimeplushie{ + pixel_y = -4; + pixel_x = 4 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/spacemall/dorms) +"Vj" = ( +/obj/structure/rack, +/obj/effect/spawner/random/engineering/tool/common, +/obj/effect/turf_decal/corner/transparent/black/diagonal, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/shop) "Vk" = ( /obj/effect/turf_decal/corner/transparent/black/diagonal, /obj/structure/cable{ @@ -12610,19 +12615,6 @@ }, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall) -"Vq" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 1 - }, -/obj/structure/closet/crate, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/plating, -/area/ruin/space/has_grav/spacemall/maint) "Vr" = ( /obj/machinery/light/directional/east, /obj/structure/lattice, @@ -12666,15 +12658,6 @@ /obj/machinery/power/port_gen/pacman/super, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/maint) -"VA" = ( -/obj/structure/rack, -/obj/structure/window/reinforced/spawner, -/obj/effect/spawner/lootdrop/beaker_loot_spawner, -/obj/effect/spawner/lootdrop/beaker_loot_spawner, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/item/clothing/neck/stethoscope, -/turf/open/floor/plasteel/white, -/area/ruin/space/has_grav/spacemall/shop2) "VD" = ( /obj/structure/cable{ icon_state = "1-2" @@ -12912,6 +12895,14 @@ }, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/spacemall/shop2) +"Wv" = ( +/obj/effect/turf_decal/box, +/obj/structure/closet/crate/secure, +/obj/effect/spawner/random/clothing/costume, +/obj/effect/spawner/random/clothing/costume, +/obj/effect/spawner/random/clothing/costume, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/spacemall/shuttle) "Ww" = ( /obj/structure/cable{ icon_state = "1-2" @@ -13468,15 +13459,6 @@ /obj/item/toy/plush/spider, /turf/open/floor/carpet/green, /area/ruin/space/has_grav/spacemall/maint) -"YP" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/turf_decal/box, -/turf/open/floor/plating, -/area/ruin/space/has_grav/spacemall/maint) "YQ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -13759,7 +13741,7 @@ /obj/effect/turf_decal/siding/wideplating/dark{ dir = 1 }, -/obj/item/kitchen/knife/plastic{ +/obj/item/melee/knife/plastic{ pixel_x = 10 }, /obj/structure/disposalpipe/segment{ @@ -13913,22 +13895,22 @@ kb QZ yt BN -JE +iK yt BN -JE +iK yt BN -JE +iK yt BN -JE +iK yt BN -JE +iK yt wC -CR +ON bw Kh Kh @@ -14170,8 +14152,8 @@ xI xI Wn yt -eX -Qn +vH +qE uu qB lk @@ -14271,17 +14253,17 @@ yt yt yt BF -eU +yr yt Nk hV eK yt BN -SD +Vi yt BN -JE +iK bw Kh Kh @@ -14421,7 +14403,7 @@ Vf zN yt BF -eU +yr yt Nk hV @@ -14779,7 +14761,7 @@ EF pW qM OY -jm +rp MM Wj FC @@ -15682,7 +15664,7 @@ sr pX Yy xy -bn +GD Yo gm sy @@ -15959,8 +15941,8 @@ No NY zY QS -fi -YP +lX +KN zY tj zY @@ -16107,7 +16089,7 @@ nX Sh gC Yo -EI +rb dj pe wi @@ -16157,7 +16139,7 @@ Pq ki gC Yo -ob +ej zX uM qS @@ -16207,7 +16189,7 @@ ts XY YA Yo -mJ +xA dK pe ry @@ -16278,7 +16260,7 @@ UW Jx Od tQ -VA +pK TZ sw LG @@ -16326,7 +16308,7 @@ zZ nd UW Jx -vS +OM Wr xp TZ @@ -16403,7 +16385,7 @@ NX NX PM og -Vq +Ol ep NX eo @@ -16802,7 +16784,7 @@ xN vT tu ID -Bq +GG VM TE LJ @@ -16851,8 +16833,8 @@ Kh xN wF sb -jD -Ul +Wv +KA ra TE LJ @@ -16952,7 +16934,7 @@ xN kO WH FL -yX +Gm uU Nj AM @@ -16964,7 +16946,7 @@ Ca eb jE DU -DH +mx RG dO YG @@ -17001,8 +16983,8 @@ Kh fZ aL IS -yC -cO +TF +iu fZ FM kj @@ -17248,9 +17230,9 @@ Kh Kh qK qK -lQ +Cq ba -yj +hb ZQ hy Yo @@ -17299,8 +17281,8 @@ Kh qK mh DF -Qo -Kl +qJ +HI TT On BV @@ -17398,7 +17380,7 @@ Kh Kh qK hE -Mb +Sr EN nK eH @@ -17411,10 +17393,10 @@ Hq vG cs pe -Qf +Vj qj tD -gu +Gn RH dO YG @@ -17447,10 +17429,10 @@ Kh Kh Kh qK -fh -Cu +fP +Qq Zf -pB +gP dW Tc Yo @@ -17461,10 +17443,10 @@ yQ CJ ZT pe -eS +gh qj bY -Ag +RO RH UW YG @@ -17511,10 +17493,10 @@ dZ Mk JW pe -vp +Ui tD qj -vp +Ui RH UW kN @@ -17612,9 +17594,9 @@ ps Wd pe Im -TX -LS -Qf +UN +zd +Vj pe PO Df diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm index 31c53d09a82..50d9986ea75 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm @@ -612,7 +612,7 @@ /area/ruin/wasteplanet/abandoned_mechbay/mainhall) "fX" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /obj/machinery/light/dim/directional/south, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) @@ -1084,8 +1084,8 @@ /obj/effect/turf_decal/industrial/outline/yellow, /obj/item/mop, /obj/item/reagent_containers/glass/bucket, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/spawner/lootdrop/costume, +/obj/effect/spawner/random/maintenance/two, +/obj/effect/spawner/random/clothing/costume, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech/grid, /area/ruin/wasteplanet/abandoned_mechbay/crewquarters) @@ -1398,7 +1398,7 @@ dir = 4 }, /obj/machinery/door/airlock/engineering{ - name = "Mech Lab"; + name = "Exosuit Lab"; dir = 4 }, /obj/machinery/door/firedoor/border_only{ @@ -1445,7 +1445,7 @@ "qH" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/six, +/obj/effect/spawner/random/maintenance/six, /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) @@ -2278,7 +2278,7 @@ /area/ruin/wasteplanet/abandoned_mechbay/mainhall) "Bg" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /obj/effect/turf_decal/box/white, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plasteel/tech/grid, @@ -2360,13 +2360,13 @@ /area/ruin/wasteplanet/abandoned_mechbay/bay2) "BF" = ( /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /obj/effect/turf_decal/industrial/outline/yellow, /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/food/salt, @@ -2411,7 +2411,7 @@ "Cp" = ( /obj/structure/table, /obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/spawner/lootdrop/materials, +/obj/effect/spawner/random/materials, /obj/item/stack/sheet/metal/fifty, /obj/item/stack/sheet/glass/twenty, /turf/open/floor/plasteel/tech/grid, @@ -2577,7 +2577,7 @@ /area/ruin/wasteplanet/abandoned_mechbay/mechlab) "DY" = ( /obj/machinery/door/airlock/engineering{ - name = "Mech Lab"; + name = "Exosuit Lab"; dir = 4 }, /obj/effect/decal/cleanable/glass, @@ -2723,7 +2723,7 @@ }, /obj/effect/decal/cleanable/dirt, /mob/living/simple_animal/hostile/human/syndicate/melee{ - name = "Syndicate Mech Pilot" + name = "Syndicate Exosuit Pilot" }, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/wasteplanet/abandoned_mechbay/crewquarters) @@ -2771,7 +2771,7 @@ "Hj" = ( /obj/machinery/light/dim/directional/south, /mob/living/simple_animal/hostile/human/syndicate/melee{ - name = "Syndicate Mech Pilot" + name = "Syndicate Exosuit Pilot" }, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/wasteplanet/abandoned_mechbay/bay2) @@ -3016,7 +3016,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/directional/south, /mob/living/simple_animal/hostile/human/syndicate/melee{ - name = "Syndicate Mech Pilot" + name = "Syndicate Exosuit Pilot" }, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay1) @@ -3424,7 +3424,7 @@ /area/overmap_encounter/planetoid/cave/explored) "Oj" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/minor/pirate_or_bandana, +/obj/effect/spawner/random/clothing/pirate_or_bandana, /turf/open/floor/plasteel, /area/ruin/wasteplanet/abandoned_mechbay/crewquarters) "Om" = ( @@ -3933,7 +3933,7 @@ "Vx" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm deleted file mode 100644 index b90bfbe776b..00000000000 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm +++ /dev/null @@ -1,1674 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"av" = ( -/obj/effect/turf_decal/corner/opaque/purple/border{ - dir = 9 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"aW" = ( -/obj/structure/table, -/obj/item/flashlight/lamp, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"bi" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"bz" = ( -/turf/open/floor/plating/rust, -/area/ruin/powered) -"bG" = ( -/obj/effect/turf_decal/corner/opaque/purple/border{ - dir = 1 - }, -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"bM" = ( -/obj/effect/turf_decal/corner/opaque/purple/border{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"cz" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"cH" = ( -/obj/effect/turf_decal/corner/opaque/purple/border{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"cJ" = ( -/obj/structure/fluff/paper/stack{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"df" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack{ - dir = 8 - }, -/obj/item/paper, -/obj/item/paper, -/obj/item/paper, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"dz" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"dD" = ( -/obj/machinery/porta_turret/syndicate/energy, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"dS" = ( -/obj/structure/table, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/folder, -/turf/open/floor/plasteel, -/area/ruin/powered) -"dZ" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"eV" = ( -/obj/structure/closet/cardboard, -/obj/item/paper, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"fq" = ( -/obj/structure/table, -/obj/item/ammo_box/a44roum_speedloader, -/turf/open/floor/plasteel/mono/white, -/area/ruin/powered) -"fJ" = ( -/obj/structure/rack, -/obj/item/stock_parts/cell/gun/empty, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"fZ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"gm" = ( -/obj/machinery/stasis, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"gw" = ( -/obj/structure/table, -/obj/item/ammo_box/c45, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/mono/white, -/area/ruin/powered) -"gx" = ( -/obj/structure/table, -/obj/item/ammo_box/c9mm/rubbershot, -/turf/open/floor/plasteel/mono/white, -/area/ruin/powered) -"gz" = ( -/obj/effect/turf_decal/corner/opaque/green, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"gM" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"gX" = ( -/obj/structure/barricade/sandbags, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/white, -/area/ruin/powered) -"hb" = ( -/obj/structure/table, -/obj/effect/turf_decal/corner/opaque/green, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"hl" = ( -/turf/open/floor/plasteel/mono/dark, -/area/ruin/powered) -"ih" = ( -/obj/structure/table/wood/reinforced, -/obj/item/stack/sheet/mineral/uranium/five, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/structure/sign/poster/official/random{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"ii" = ( -/obj/effect/turf_decal/corner/opaque/green, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"iu" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"iy" = ( -/turf/open/floor/plating, -/area/ruin/powered) -"iB" = ( -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/obj/structure/rack, -/obj/item/stock_parts/cell/gun/empty, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"jn" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/white, -/area/ruin/powered) -"jo" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"jD" = ( -/obj/machinery/door/window/westleft{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"kb" = ( -/obj/item/target, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/white, -/area/ruin/powered) -"kj" = ( -/obj/effect/turf_decal/corner/opaque/purple/border{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"kR" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack{ - dir = 9 - }, -/obj/item/paper, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"kV" = ( -/obj/structure/table/wood/reinforced, -/obj/item/storage/firstaid/medical, -/obj/item/storage/firstaid/fire{ - pixel_y = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/effect/turf_decal/corner/opaque/blue/diagonal{ - dir = 4 - }, -/obj/structure/sign/poster/official/random{ - pixel_y = -32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"lw" = ( -/obj/structure/table/wood/reinforced, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/effect/turf_decal/corner/opaque/blue/diagonal{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"lM" = ( -/obj/machinery/porta_turret/syndicate/energy, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"mo" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"nn" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"oe" = ( -/obj/structure/table/wood/reinforced, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/item/modular_computer/laptop/preset, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"ov" = ( -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/machinery/autolathe/hacked, -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"oN" = ( -/obj/machinery/door/airlock/public/glass, -/turf/open/floor/plating, -/area/ruin/powered) -"oZ" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"pf" = ( -/obj/structure/rack, -/obj/item/stock_parts/cell/gun/empty, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"pL" = ( -/obj/machinery/porta_turret/syndicate/energy, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"pT" = ( -/obj/machinery/door/airlock/public/glass{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/mono, -/area/ruin/powered) -"qg" = ( -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/machinery/plate_press, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"qn" = ( -/obj/structure/barricade/sandbags, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/mono/white, -/area/ruin/powered) -"re" = ( -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/effect/turf_decal/corner/opaque/blue/diagonal{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"rw" = ( -/obj/structure/table/wood/reinforced, -/obj/item/desk_flag/solgov, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/effect/turf_decal/corner/opaque/blue/diagonal{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"rS" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"rV" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/mono/white, -/area/ruin/powered) -"sv" = ( -/obj/structure/rack, -/obj/item/stock_parts/cell/gun/empty, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"sN" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack{ - dir = 9 - }, -/obj/item/paper, -/obj/item/paper, -/obj/item/paper, -/obj/effect/decal/cleanable/dirt, -/obj/item/desk_flag/trans, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"sQ" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/railing, -/turf/open/floor/plasteel/mono/white, -/area/ruin/powered) -"to" = ( -/obj/item/target/clown, -/obj/structure/railing, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"tp" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"tr" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack{ - dir = 9 - }, -/obj/item/paper, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"tD" = ( -/turf/template_noop, -/area/template_noop) -"uB" = ( -/obj/structure/table/wood/reinforced, -/obj/item/pen/blue, -/obj/item/pen{ - pixel_x = 7; - pixel_y = 3 - }, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"uH" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/effect/turf_decal/corner/opaque/blue/diagonal{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"uV" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"uW" = ( -/obj/structure/table, -/obj/effect/turf_decal/corner/opaque/green, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"vq" = ( -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"vY" = ( -/obj/effect/turf_decal/corner/opaque/purple/border{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"wf" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/plasteel, -/area/ruin/powered) -"wp" = ( -/obj/structure/displaycase/noalert{ - start_showpiece_type = /obj/item/gun/energy/laser/captain/brazil - }, -/turf/open/floor/plasteel/mono/white, -/area/ruin/powered) -"ww" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"wD" = ( -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"wM" = ( -/obj/machinery/door/airlock/public/glass{ - dir = 4 - }, -/turf/open/floor/plasteel/mono, -/area/ruin/powered) -"wT" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"xe" = ( -/obj/structure/fluff/paper/stack{ - dir = 9 - }, -/obj/item/paper, -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"xo" = ( -/obj/structure/window/reinforced, -/obj/structure/table/wood/reinforced, -/obj/item/stack/sheet/animalhide/human, -/obj/item/stack/sheet/mineral/titanium/five, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"xz" = ( -/obj/structure/rack, -/obj/item/stock_parts/cell/gun/upgraded/empty, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"xB" = ( -/obj/machinery/door/airlock/public/glass, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"xH" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ruin/powered) -"yv" = ( -/obj/structure/table, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"yY" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack{ - dir = 9 - }, -/obj/item/paper, -/obj/item/ammo_box/magazine/m45, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"zx" = ( -/obj/structure/table/wood/reinforced, -/obj/machinery/computer/crew{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/effect/turf_decal/corner/opaque/blue/diagonal{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"zK" = ( -/obj/effect/gibspawner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"Ae" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack{ - dir = 8 - }, -/obj/item/paper, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"AG" = ( -/obj/structure/table/wood/reinforced, -/obj/item/documents/syndicate/blue, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Bf" = ( -/obj/effect/turf_decal/corner/opaque/purple/border{ - dir = 10 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"Bv" = ( -/obj/effect/turf_decal/corner/opaque/purple/border, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"BK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/kirbyplants/random, -/turf/open/floor/plasteel, -/area/ruin/powered) -"Cl" = ( -/obj/effect/turf_decal/corner/opaque/purple/border, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"CK" = ( -/obj/effect/turf_decal/corner/opaque/purple/border{ - dir = 6 - }, -/turf/open/floor/plasteel/white, -/area/ruin/powered) -"CN" = ( -/obj/structure/closet/cardboard, -/obj/item/weaponcrafting/gunkit/capgun_ugrade_kit, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"DW" = ( -/obj/structure/table, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"Ea" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"EW" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack{ - dir = 8 - }, -/obj/item/paper, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Fb" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/table/wood/reinforced, -/obj/machinery/computer/security/wooden_tv, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"FC" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"Gc" = ( -/obj/structure/table/wood/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/item/stack/cable_coil/cut, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Ge" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/window/westleft{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Gj" = ( -/obj/machinery/door/window/westleft{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"GP" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/mono/dark, -/area/ruin/powered) -"GR" = ( -/turf/closed/wall/rust, -/area/ruin/powered) -"GT" = ( -/obj/structure/closet/cardboard, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"HL" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"HW" = ( -/obj/machinery/vending/cola/random, -/turf/open/floor/plating, -/area/ruin/powered) -"Ie" = ( -/obj/structure/door_assembly/door_assembly_research, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"IE" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"JR" = ( -/obj/machinery/door/airlock/security, -/turf/open/floor/plasteel/mono, -/area/ruin/powered) -"Kd" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Kk" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack, -/obj/item/paper, -/obj/item/gun/ballistic/automatic/pistol/commander/no_mag, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Kz" = ( -/obj/structure/window/reinforced, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"KH" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"KW" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack{ - dir = 8 - }, -/obj/item/paper, -/obj/item/ammo_box/magazine/m10mm, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Ll" = ( -/obj/structure/closet/firecloset, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ruin/powered) -"Ma" = ( -/obj/structure/table/wood/reinforced, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/structure/sign/poster/official/random{ - pixel_x = -32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Mq" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Mt" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"MS" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Nm" = ( -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel, -/area/ruin/powered) -"QL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/public/glass{ - dir = 4 - }, -/turf/open/floor/plasteel/mono, -/area/ruin/powered) -"QR" = ( -/obj/machinery/door/window/westleft{ - dir = 2 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Ra" = ( -/obj/effect/turf_decal/corner/opaque/red/half{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"Rt" = ( -/turf/open/floor/plasteel, -/area/ruin/powered) -"Rw" = ( -/turf/closed/wall/r_wall/rust, -/area/ruin/powered) -"RT" = ( -/obj/effect/turf_decal/corner/opaque/red/half{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"Sj" = ( -/obj/effect/turf_decal/corner/opaque/red/half{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) -"Ta" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"Tb" = ( -/obj/structure/table, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 1 - }, -/obj/item/clipboard, -/turf/open/floor/plasteel, -/area/ruin/powered) -"Ua" = ( -/obj/structure/closet/cardboard, -/obj/item/paper, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Vw" = ( -/obj/effect/turf_decal/corner/opaque/red/half{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"VP" = ( -/obj/structure/fluff/paper/stack{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Wn" = ( -/obj/structure/fluff/paper/stack{ - dir = 5 - }, -/obj/item/paper, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"WB" = ( -/obj/structure/table/wood/reinforced, -/obj/item/weldingtool/hugetank, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"WJ" = ( -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"WL" = ( -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Xf" = ( -/obj/effect/turf_decal/corner/transparent/neutral/diagonal, -/obj/effect/turf_decal/corner/opaque/blue/diagonal{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"XA" = ( -/obj/structure/window/reinforced, -/obj/machinery/door/window/westleft{ - dir = 4 - }, -/turf/open/floor/plating/rust, -/area/ruin/powered) -"Yl" = ( -/obj/structure/fluff/paper/stack{ - dir = 5 - }, -/obj/item/paper, -/obj/item/paper, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"Yv" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack{ - dir = 9 - }, -/obj/item/paper, -/obj/item/paper, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"YX" = ( -/obj/effect/turf_decal/corner/opaque/red/half{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/red, -/turf/open/floor/plasteel, -/area/ruin/powered) -"Zd" = ( -/obj/effect/turf_decal/corner/opaque/red/half, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"Zi" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ruin/powered) -"Zu" = ( -/obj/effect/turf_decal/corner/opaque/red/half, -/obj/structure/reagent_dispensers/water_cooler, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) -"ZS" = ( -/obj/structure/closet/cardboard, -/obj/structure/fluff/paper/stack, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ruin/powered) -"ZX" = ( -/obj/effect/turf_decal/corner/opaque/red/half{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ruin/powered) - -(1,1,1) = {" -tD -tD -tD -tD -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -tD -tD -tD -tD -tD -tD -tD -tD -tD -"} -(2,1,1) = {" -tD -tD -tD -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -tD -tD -tD -tD -tD -tD -tD -tD -"} -(3,1,1) = {" -tD -tD -Rw -Rw -Rw -uB -AG -Fb -Ma -WB -Gc -ih -xo -lw -gm -Rw -Rw -Rw -tD -tD -tD -tD -tD -tD -tD -"} -(4,1,1) = {" -tD -tD -Rw -Rw -oe -uV -vq -FC -Mq -WJ -FC -Mq -Kz -zK -cz -rw -Rw -Rw -tD -tD -tD -tD -tD -tD -tD -"} -(5,1,1) = {" -tD -tD -Rw -Rw -ov -vq -bz -Ge -Mt -Mt -Kd -Mt -XA -bz -uH -kV -Rw -Rw -tD -tD -tD -tD -tD -tD -tD -"} -(6,1,1) = {" -tD -Rw -Rw -Rw -qg -vq -vq -Gj -MS -WL -MS -cz -QR -re -Xf -zx -Rw -GR -GR -GR -GR -tD -tD -tD -tD -"} -(7,1,1) = {" -Rw -Rw -Rw -Rw -Rw -Rw -Rw -GR -pT -QL -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Ta -wf -wf -GR -tD -tD -tD -tD -"} -(8,1,1) = {" -Rw -Rw -av -bz -bz -vY -Bf -GR -Ra -YX -GR -bz -bz -bz -bz -bz -GR -cz -bz -bz -GR -GR -GR -GR -GR -"} -(9,1,1) = {" -Rw -Rw -bz -fq -cz -cz -bz -GR -cz -Zd -GR -HL -HL -HL -HL -HL -GR -Ll -Rt -Zi -uW -iy -Rt -Rt -GR -"} -(10,1,1) = {" -Rw -Rw -bG -gw -bz -wp -Bv -GR -bz -Zd -JR -cz -bz -bz -GP -GP -JR -fZ -iy -cz -DW -dS -cz -IE -GR -"} -(11,1,1) = {" -Rw -Rw -bM -gx -bz -wD -Bv -GR -bz -cz -GR -HL -HL -HL -HL -HL -GR -fJ -bz -Zi -cz -iu -fZ -IE -GR -"} -(12,1,1) = {" -Rw -Rw -cz -gM -cz -wD -bz -HL -cz -Zd -GR -pL -bz -bz -bz -bz -GR -xz -Rt -cz -ii -yv -Zi -xH -GR -"} -(13,1,1) = {" -Rw -Rw -bz -gX -qn -wD -Bv -Ie -RT -Zu -GR -GR -GR -GR -GR -GR -GR -sv -bz -Zi -iy -Tb -cz -fZ -xB -"} -(14,1,1) = {" -Rw -Rw -bM -jn -rV -bz -Cl -HL -RT -Zd -GR -GR -GR -GR -GR -GR -GR -pf -cz -cz -bz -yv -iy -Zi -oN -"} -(15,1,1) = {" -Rw -Rw -bM -jo -rV -bz -Cl -HL -cz -Zd -GR -pL -bz -bz -bz -bz -GR -sv -Zi -Rt -gz -yv -iy -IE -GR -"} -(16,1,1) = {" -Rw -Rw -bM -jn -rV -wD -Cl -HL -RT -Zd -GR -HL -HL -HL -HL -HL -GR -iB -fZ -Zi -ww -aW -iy -oZ -GR -"} -(17,1,1) = {" -Rw -Rw -bG -jn -sQ -wD -Cl -GR -RT -Zd -JR -hl -cz -hl -hl -GP -JR -iy -bz -fZ -hb -rS -bz -bi -GR -"} -(18,1,1) = {" -Rw -Rw -bz -jn -sQ -wD -Cl -GR -Sj -cz -GR -HL -HL -HL -HL -HL -GR -Nm -Zi -Zi -jD -dZ -Rt -HW -GR -"} -(19,1,1) = {" -Rw -Rw -bz -kb -to -wD -bz -GR -Sj -Zd -GR -bz -bz -bz -bz -bz -GR -cz -fZ -Rt -GR -GR -GR -GR -GR -"} -(20,1,1) = {" -Rw -Rw -cH -kj -bz -bz -CK -GR -Vw -ZX -Rw -Rw -Rw -Rw -Rw -Rw -Rw -wf -BK -wf -GR -tD -tD -tD -tD -"} -(21,1,1) = {" -Rw -Rw -Rw -Rw -Rw -Rw -Rw -GR -pT -wM -GR -dD -dz -nn -CN -lM -Rw -GR -GR -GR -GR -tD -tD -tD -tD -"} -(22,1,1) = {" -Rw -Rw -dD -kR -tp -wT -wT -KH -VP -cJ -EW -Ea -Kk -Yv -ZS -GT -Rw -Rw -tD -tD -tD -tD -tD -tD -tD -"} -(23,1,1) = {" -Rw -Rw -eV -mo -tr -yY -Ea -KW -Wn -Yl -df -sN -tr -tr -mo -GT -Rw -Rw -tD -tD -tD -tD -tD -tD -tD -"} -(24,1,1) = {" -Rw -Rw -dD -nn -mo -Ae -EW -kR -Ae -xe -Ae -Ua -tr -tp -GT -lM -Rw -Rw -tD -tD -tD -tD -tD -tD -tD -"} -(25,1,1) = {" -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -tD -tD -tD -tD -tD -tD -tD -"} -(26,1,1) = {" -tD -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -Rw -tD -tD -tD -tD -tD -tD -tD -tD -"} diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm deleted file mode 100644 index f422e4ef1eb..00000000000 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm +++ /dev/null @@ -1,5135 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ar" = ( -/obj/structure/table/reinforced, -/obj/item/stack/sheet/mineral/gold/five, -/obj/item/stack/sheet/mineral/gold/five, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"aD" = ( -/obj/machinery/hydroponics/soil, -/obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"aL" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -7; - pixel_y = 8 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"bc" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/ammo_box/c9mm, -/turf/open/floor/plating/wasteplanet, -/area/ruin/wasteplanet) -"bd" = ( -/turf/open/water/waste/lit, -/area/ruin/wasteplanet) -"bt" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/asteroid/wasteplanet/lit, -/area/ruin/wasteplanet) -"bL" = ( -/obj/structure/fluff/divine/convertaltar, -/obj/item/clothing/accessory/pandora_hope, -/turf/open/indestructible/hierophant/two/waste, -/area/ruin/wasteplanet) -"bY" = ( -/obj/structure/salvageable/computer{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/mineral/titanium/white, -/area/ruin/wasteplanet) -"cd" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/turf/open/water/waste, -/area/ruin/wasteplanet) -"cg" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -11; - pixel_y = -5 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"cn" = ( -/obj/structure/railing/wood{ - dir = 1 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"df" = ( -/obj/structure/table/wood, -/obj/item/kitchen/knife/combat/bone, -/obj/item/flashlight/flare/torch, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"dh" = ( -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"dH" = ( -/turf/closed/indestructible/riveted/hierophant, -/area/ruin/wasteplanet) -"er" = ( -/obj/structure/table/wood, -/obj/item/restraints/handcuffs/cable/sinew, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"eB" = ( -/obj/item/reagent_containers/glass/bucket/wooden, -/turf/open/floor/plating/grass/wasteplanet, -/area/ruin/wasteplanet) -"fF" = ( -/obj/effect/decal/remains/human, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"fL" = ( -/obj/structure/table/wood, -/obj/item/stack/sheet/bone{ - pixel_x = 10 - }, -/obj/item/flashlight/flare/torch, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"fZ" = ( -/obj/structure/chair/wood/wings, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"ge" = ( -/obj/structure/table/wood, -/obj/item/kitchen/knife/combat/bone{ - pixel_x = -20 - }, -/obj/item/reagent_containers/food/snacks/salad/edensalad, -/obj/item/reagent_containers/food/snacks/grown/berries/death{ - pixel_x = 6; - pixel_y = 10 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"gm" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/suit/hooded/cloak/bone, -/obj/item/claymore/bone, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"gr" = ( -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"gO" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 4 - }, -/turf/open/water/waste, -/area/ruin/wasteplanet) -"gX" = ( -/obj/effect/light_emitter{ - set_cap = 3; - set_luminosity = 5 - }, -/turf/open/indestructible/hierophant/two/waste, -/area/ruin/wasteplanet) -"hU" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 5 - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"hZ" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"iG" = ( -/obj/structure/salvageable/computer{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/white, -/area/ruin/wasteplanet) -"iT" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/effect/turf_decal/weather/dirt, -/turf/open/water/waste, -/area/ruin/wasteplanet) -"iU" = ( -/mob/living/simple_animal/hostile/asteroid/elite/pandora/dungeon, -/obj/effect/light_emitter{ - set_cap = 3; - set_luminosity = 5 - }, -/turf/open/indestructible/hierophant/two/waste, -/area/ruin/wasteplanet) -"jf" = ( -/obj/item/trash/can{ - icon_state = "shamblers" - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"jj" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 7; - pixel_y = 10 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"jk" = ( -/obj/structure/table/wood, -/obj/item/clothing/head/hooded/cloakhood/bone, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"jl" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/turf/open/water/waste/lit, -/area/ruin/wasteplanet) -"jn" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -7; - pixel_y = 7 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 7; - pixel_y = 10 - }, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"jq" = ( -/obj/structure/table/wood, -/obj/item/stack/sheet/bone, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"jt" = ( -/obj/structure/chair/wood, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"jB" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 6; - pixel_y = 7 - }, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"jF" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/grown/berries/glow, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"jV" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/ruin/wasteplanet) -"jY" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 5 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"kc" = ( -/obj/structure/table/wood, -/obj/item/storage/belt/mining/primitive, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"kj" = ( -/obj/structure/table/wood, -/obj/item/stack/sheet/sinew, -/obj/item/stack/sheet/sinew, -/obj/item/stack/sheet/sinew, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"kP" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/mineral/titanium/white, -/area/ruin/wasteplanet) -"kV" = ( -/obj/structure/guncloset, -/turf/open/floor/mineral/titanium/white, -/area/ruin/wasteplanet) -"kZ" = ( -/obj/item/stack/sheet/bone, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"le" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 7; - pixel_y = -2 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"lx" = ( -/obj/structure/fluff/divine/shrine, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"lz" = ( -/obj/structure/chair/comfy/shuttle, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/mineral/titanium/white, -/area/ruin/wasteplanet) -"lD" = ( -/obj/structure/table/reinforced, -/obj/item/stack/sheet/mineral/silver/five, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"lT" = ( -/turf/open/floor/mineral/titanium/white, -/area/ruin/wasteplanet) -"lZ" = ( -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"mb" = ( -/obj/structure/destructible/tribal_torch, -/turf/open/floor/plating/grass/wasteplanet, -/area/ruin/wasteplanet) -"mr" = ( -/obj/structure/table/wood, -/obj/item/stack/sheet/bone{ - pixel_x = 11 - }, -/obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"mw" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 5 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -11; - pixel_y = -5 - }, -/turf/open/indestructible/hierophant/two/waste, -/area/ruin/wasteplanet) -"mA" = ( -/obj/structure/destructible/tribal_torch, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"mE" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -10; - pixel_y = -5 - }, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"mF" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 8 - }, -/turf/open/water/waste/lit, -/area/ruin/wasteplanet) -"mI" = ( -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/plating/grass/wasteplanet, -/area/ruin/wasteplanet) -"mO" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 1 - }, -/turf/open/water/waste/lit, -/area/ruin/wasteplanet) -"nq" = ( -/obj/item/stack/sheet/bone, -/obj/structure/chair/wood{ - dir = 8 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"nr" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 6; - pixel_y = -9 - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"oi" = ( -/turf/open/water/waste, -/area/ruin/wasteplanet) -"or" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 13; - pixel_y = 7 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"oB" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 7; - pixel_y = -2 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/obj/structure/barricade/wooden, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"oG" = ( -/turf/closed/mineral/random/wasteplanet, -/area/ruin/wasteplanet) -"oI" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 8; - pixel_y = -12 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"pr" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/banner, -/turf/open/floor/mineral/titanium/white, -/area/ruin/wasteplanet) -"pQ" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit, -/obj/item/storage/belt/mining/primitive, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"qo" = ( -/obj/structure/closet/cabinet, -/obj/item/spear/bonespear, -/obj/item/clothing/suit/armor/witchhunter, -/obj/item/reagent_containers/food/snacks/grown/berries/death, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"qs" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = 4; - pixel_x = 8 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = -12; - pixel_x = -11 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = 13; - pixel_x = 4 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = 7; - pixel_x = -11 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = 4; - pixel_x = -4 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"qU" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/suit/armor/witchhunter, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"rh" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/port_gen/pacman, -/turf/open/floor/plating/wasteplanet, -/area/ruin/wasteplanet) -"rT" = ( -/obj/item/toy/plush/goatplushie/angry/realgoat{ - name = "wall-dwelling goat plushie" - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"sp" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"sE" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/white, -/area/ruin/wasteplanet) -"sV" = ( -/obj/structure/closet/cabinet, -/obj/item/claymore/bone, -/obj/item/clothing/suit/armor/witchhunter, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"tB" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/obj/effect/mob_spawn/human/corpse/nanotrasensoldier, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"tF" = ( -/obj/machinery/hydroponics/soil, -/obj/item/reagent_containers/food/snacks/grown/mushroom/jupitercup, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"tR" = ( -/obj/structure/closet/crate/grave, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"tU" = ( -/obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/titanium/white, -/area/ruin/wasteplanet) -"uc" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -11; - pixel_y = -5 - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"uv" = ( -/obj/structure/table/reinforced, -/obj/item/gem/phoron, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"vd" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/turf/open/water/waste, -/area/ruin/wasteplanet) -"ve" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = 7; - pixel_x = 8 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"vD" = ( -/obj/structure/table/wood, -/obj/item/flashlight/flare/torch, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"wu" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"ww" = ( -/obj/item/stack/sheet/bone, -/obj/structure/chair/wood, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"wA" = ( -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/plating/grass/wasteplanet, -/area/ruin/wasteplanet) -"xj" = ( -/obj/structure/fluff/divine/shrine, -/obj/effect/light_emitter{ - set_cap = 3; - set_luminosity = 5 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"xk" = ( -/obj/structure/table/wood, -/obj/item/spear/bonespear, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"xu" = ( -/obj/structure/destructible/tribal_torch, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"xB" = ( -/obj/structure/girder, -/turf/open/floor/plating/wasteplanet, -/area/ruin/wasteplanet) -"xI" = ( -/obj/structure/mineral_door/wood, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"yq" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/turf/open/water/waste, -/area/ruin/wasteplanet) -"yI" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"yT" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = -3; - pixel_x = 4 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 5; - pixel_y = 11 - }, -/obj/structure/mineral_door/wood, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"zs" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/turf/open/water/waste, -/area/ruin/wasteplanet) -"zy" = ( -/obj/effect/mob_spawn/human/corpse/nanotrasenassaultsoldier, -/turf/open/indestructible/hierophant/two/waste, -/area/ruin/wasteplanet) -"zI" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/turf/open/floor/plating/wasteplanet, -/area/ruin/wasteplanet) -"Al" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/turf/open/water/waste, -/area/ruin/wasteplanet) -"AI" = ( -/obj/structure/flora/rock, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"AK" = ( -/obj/structure/table/wood, -/obj/item/stack/sheet/bone, -/obj/item/stack/sheet/bone, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"AM" = ( -/obj/machinery/door/airlock/titanium, -/turf/open/floor/mineral/titanium/white, -/area/ruin/wasteplanet) -"Bb" = ( -/mob/living/simple_animal/hostile/human/skeleton{ - desc = "A villager resurrected by the power of an unknown deity, eternally seeking vengeance for its people." - }, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"Bv" = ( -/obj/structure/bonfire, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"BB" = ( -/turf/open/floor/plating/grass/wasteplanet, -/area/ruin/wasteplanet) -"BL" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/wasteplanet, -/area/ruin/wasteplanet) -"CG" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -9; - pixel_y = 3 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"CH" = ( -/obj/machinery/power/shuttle/engine/electric/bad{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating/wasteplanet, -/area/ruin/wasteplanet) -"CW" = ( -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/obj/structure/railing/corner/wood{ - dir = 1 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"Dj" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/plating/wasteplanet, -/area/ruin/wasteplanet) -"Du" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -11; - pixel_y = -5 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"Dx" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = 10 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = -3; - pixel_x = -15 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = -3; - pixel_x = 4 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"DF" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/plating/grass/wasteplanet, -/area/ruin/wasteplanet) -"DQ" = ( -/obj/structure/railing/corner/wood{ - dir = 1 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"DX" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = 10 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = -3; - pixel_x = 4 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"DZ" = ( -/turf/open/indestructible/hierophant/two/waste, -/area/ruin/wasteplanet) -"Eb" = ( -/obj/item/gun/ballistic/automatic/pistol/commander/no_mag, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"Eo" = ( -/obj/structure/barricade/wooden, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"Et" = ( -/obj/structure/flora/grass/jungle/b, -/obj/item/trash/can{ - icon_state = "lemon-lime" - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"Ez" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -11; - pixel_y = -5 - }, -/turf/open/indestructible/hierophant/two/waste, -/area/ruin/wasteplanet) -"EN" = ( -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"Fc" = ( -/mob/living/simple_animal/hostile/human/skeleton{ - desc = "A villager resurrected by the power of an unknown deity, eternally seeking vengeance for its people." - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"Fn" = ( -/obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto{ - pixel_y = -18 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 6; - pixel_y = 9 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -11; - pixel_y = -5 - }, -/turf/open/indestructible/hierophant/two/waste, -/area/ruin/wasteplanet) -"FP" = ( -/obj/item/kitchen/knife/combat/bone{ - pixel_x = 15 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"FV" = ( -/obj/effect/mob_spawn/human/corpse/nanotrasensoldier, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"Gu" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"Gx" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -11; - pixel_y = -5 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"Hc" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 6; - pixel_y = -9 - }, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"Hi" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 4 - }, -/turf/open/water/waste/lit, -/area/ruin/wasteplanet) -"Hl" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -7; - pixel_y = 8 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"Ht" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -10; - pixel_y = -5 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = 10; - pixel_x = 4 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 11; - pixel_y = 7 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"HE" = ( -/obj/machinery/hydroponics/soil, -/obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"Ih" = ( -/obj/structure/fluff/divine/defensepylon, -/obj/effect/light_emitter{ - set_cap = 3; - set_luminosity = 5 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"JB" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 5; - pixel_y = 11 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"JD" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 6; - pixel_y = 9 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"Ki" = ( -/turf/template_noop, -/area/template_noop) -"Kx" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -9; - pixel_y = -12 - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"KA" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/food/drinks/trophy/silver_cup, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"KH" = ( -/obj/item/ammo_box/magazine/smgm9mm{ - pixel_y = -6; - pixel_x = -8 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 6; - pixel_y = 9 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"KM" = ( -/obj/structure/bed, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"KO" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -8; - pixel_y = -4 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"Li" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/suit/armor/bone, -/obj/item/fireaxe/boneaxe, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"Lj" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"Lp" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 11; - pixel_y = 11 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"Lz" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -6 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"LB" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/turf/open/water/waste/lit, -/area/ruin/wasteplanet) -"LW" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"Mo" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 5; - pixel_y = 11 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 6; - pixel_y = -9 - }, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"Mp" = ( -/obj/structure/fluff/divine/powerpylon, -/obj/effect/light_emitter{ - set_cap = 3; - set_luminosity = 5 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"Mv" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 4 - }, -/turf/open/water/waste, -/area/ruin/wasteplanet) -"MA" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -9; - pixel_y = -12 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"MB" = ( -/obj/structure/statue/bone/rib{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"MQ" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 7; - pixel_y = 10 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -11; - pixel_y = -5 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 11; - pixel_y = 7 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"MU" = ( -/obj/structure/closet/crate/wooden, -/obj/item/pickaxe, -/obj/item/flashlight/flare/torch, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"Ne" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -11; - pixel_y = -5 - }, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"NA" = ( -/turf/open/floor/plating/asteroid/wasteplanet/lit, -/area/ruin/wasteplanet) -"NS" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -11; - pixel_y = -5 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 6; - pixel_y = -9 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -7; - pixel_y = 8 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 5; - pixel_y = 11 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"NZ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/white, -/area/ruin/wasteplanet) -"Os" = ( -/obj/effect/turf_decal/weather/dirt/corner, -/turf/open/water/waste, -/area/ruin/wasteplanet) -"Ot" = ( -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"Oz" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/wasteplanet, -/area/ruin/wasteplanet) -"OL" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/turf/open/water/waste/lit, -/area/ruin/wasteplanet) -"OM" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 5; - pixel_y = 11 - }, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"OO" = ( -/obj/structure/table/reinforced, -/obj/item/ammo_box/magazine/co9mm, -/turf/open/floor/mineral/titanium/white, -/area/ruin/wasteplanet) -"OU" = ( -/obj/effect/mob_spawn/human/corpse/nanotrasenassaultsoldier, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"OV" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 5 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -10; - pixel_y = 7 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"Po" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 5; - pixel_y = 11 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -11; - pixel_y = -5 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"PC" = ( -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"PT" = ( -/obj/structure/table/reinforced, -/obj/item/stack/sheet/mineral/diamond/five, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"Qd" = ( -/obj/machinery/hydroponics/soil, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"Qj" = ( -/obj/structure/bonfire, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"QC" = ( -/obj/structure/statue/bone/rib, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"QD" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 4 - }, -/turf/open/water/waste/lit, -/area/ruin/wasteplanet) -"QH" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/mineral/titanium/white, -/area/ruin/wasteplanet) -"QW" = ( -/obj/structure/table/wood, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"Ro" = ( -/obj/item/gun/ballistic/bow, -/obj/item/ammo_casing/caseless/arrow/wood, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"Rx" = ( -/obj/effect/turf_decal/weather/dirt, -/turf/open/water/waste, -/area/ruin/wasteplanet) -"RJ" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 7; - pixel_y = 10 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -11; - pixel_y = -5 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"RT" = ( -/obj/structure/table/wood, -/obj/item/spear/bonespear, -/obj/item/stack/sheet/sinew, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"RV" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = 7; - pixel_x = 8 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"St" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/melonfruitbowl, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"SS" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating/wasteplanet, -/area/ruin/wasteplanet) -"Tc" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = 10 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 6; - pixel_y = -9 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"Tu" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"TU" = ( -/obj/structure/railing/wood{ - dir = 9 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"Ut" = ( -/obj/item/trash/can{ - icon_state = "energy_drink" - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"Ux" = ( -/obj/item/trash/can, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"UK" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/suit/armor/bone, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"UQ" = ( -/obj/structure/table/wood, -/obj/item/ammo_casing/caseless/arrow/wood{ - pixel_y = -3 - }, -/obj/item/ammo_casing/caseless/arrow/wood{ - pixel_y = 2 - }, -/obj/item/ammo_casing/caseless/arrow/wood{ - pixel_y = 7 - }, -/obj/item/ammo_casing/caseless/arrow/wood{ - pixel_y = 12 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"UW" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = 1; - pixel_x = 8 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"Vb" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/turf/open/water/waste, -/area/ruin/wasteplanet) -"Vm" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_y = 7; - pixel_x = 8 - }, -/turf/open/floor/plating/asteroid/wasteplanet, -/area/ruin/wasteplanet) -"VF" = ( -/obj/effect/decal/remains/human, -/obj/structure/chair/wood, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"VP" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 6 - }, -/turf/open/water/waste, -/area/ruin/wasteplanet) -"VT" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/mineral/titanium/white, -/area/ruin/wasteplanet) -"Wn" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 9 - }, -/turf/open/water/waste, -/area/ruin/wasteplanet) -"Ww" = ( -/obj/machinery/hydroponics/soil, -/obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"WS" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 4 - }, -/turf/open/water/waste, -/area/ruin/wasteplanet) -"Xd" = ( -/obj/structure/table/reinforced, -/obj/item/stack/sheet/mineral/gold/five, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"Xq" = ( -/mob/living/simple_animal/hostile/human/skeleton{ - desc = "A villager resurrected by the power of an unknown deity, eternally seeking vengeance for its people." - }, -/turf/open/floor/plating/grass/wasteplanet, -/area/ruin/wasteplanet) -"Xx" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/glass/mortar/bone, -/obj/item/pestle, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"XL" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating/wasteplanet, -/area/ruin/wasteplanet) -"XQ" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty" - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -8; - pixel_y = -4 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 6; - pixel_y = 9 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"Yg" = ( -/obj/structure/closet/crate/wooden, -/obj/item/shovel/serrated, -/obj/item/flashlight/flare/torch, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"Yi" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/head/crown, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"Yn" = ( -/obj/item/scythe, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"Yq" = ( -/obj/effect/turf_decal/weather/dirt/corner{ - dir = 8 - }, -/turf/open/water/waste, -/area/ruin/wasteplanet) -"Yw" = ( -/obj/item/gun/ballistic/automatic/pistol/commander/no_mag, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"YM" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -11; - pixel_y = -5 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 11; - pixel_y = 7 - }, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"YY" = ( -/obj/structure/frame/machine, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating/wasteplanet, -/area/ruin/wasteplanet) -"Zg" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/dirt/old/waste, -/area/ruin/wasteplanet) -"Zq" = ( -/turf/closed/wall/mineral/titanium, -/area/ruin/wasteplanet) -"Zr" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/salad/herbsalad, -/turf/open/floor/wood/waste, -/area/ruin/wasteplanet) -"Zw" = ( -/obj/structure/fluff/divine/nexus, -/obj/effect/light_emitter{ - set_cap = 3; - set_luminosity = 5 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) -"ZZ" = ( -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = -11; - pixel_y = -5 - }, -/obj/item/ammo_casing/spent{ - icon_state = "pistol-brass-empty"; - pixel_x = 6; - pixel_y = 9 - }, -/turf/open/indestructible/hierophant/waste, -/area/ruin/wasteplanet) - -(1,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -"} -(2,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -NA -NA -NA -bt -NA -NA -NA -NA -NA -NA -NA -NA -NA -NA -NA -NA -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -"} -(3,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -NA -NA -NA -NA -NA -NA -NA -NA -NA -NA -NA -NA -NA -NA -NA -NA -NA -NA -NA -Ki -Ki -Ki -Ki -Ki -Ki -Ki -"} -(4,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -NA -NA -Zq -NA -NA -NA -NA -Zq -NA -bt -NA -NA -NA -NA -NA -NA -NA -NA -NA -NA -Ki -Ki -Ki -Ki -Ki -Ki -"} -(5,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -NA -NA -NA -Zq -YY -Zq -Zq -CH -Zq -NA -NA -NA -NA -oG -oG -NA -NA -NA -NA -NA -NA -NA -Ki -Ki -Ki -Ki -Ki -"} -(6,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -NA -NA -Zq -Zq -XL -rh -bc -XL -xB -xB -NA -NA -oG -oG -oG -NA -NA -NA -NA -NA -NA -NA -Ki -Ki -Ki -Ki -Ki -"} -(7,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -NA -bt -NA -Zq -lz -SS -BL -Oz -Dj -kP -Zq -NA -NA -oG -oG -NA -NA -NA -NA -NA -NA -NA -NA -NA -Ki -Ki -Ki -Ki -"} -(8,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -NA -NA -NA -xB -tU -lT -QH -lT -kP -NZ -AM -NA -NA -oG -oG -Ot -NA -NA -NA -bd -NA -NA -NA -NA -NA -Ki -Ki -Ki -"} -(9,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -Ki -Ki -Ki -NA -NA -NA -xB -lz -kP -lT -lT -kP -pr -Zq -NA -NA -oG -oG -Ot -NA -bd -NA -NA -NA -NA -NA -NA -NA -Ki -Ki -Ki -"} -(10,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -Ki -NA -NA -NA -Zq -Zq -kV -VT -sE -OO -Zq -Zq -NA -NA -oG -oG -Ot -NA -NA -NA -bd -NA -NA -NA -NA -NA -Ki -Ki -Ki -"} -(11,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -NA -NA -NA -Zq -Zq -iG -bY -Zq -xB -NA -NA -NA -oG -oG -Ot -Ot -bd -NA -NA -NA -NA -NA -NA -NA -NA -Ki -Ki -"} -(12,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -BB -BB -BB -wA -BB -BB -oG -oG -oG -oG -oG -oG -NA -bt -NA -Zq -zI -zI -Zq -NA -NA -NA -oG -oG -Ot -Ot -bd -bd -NA -NA -NA -NA -dh -NA -NA -NA -Ki -Ki -"} -(13,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -BB -BB -mI -BB -DF -BB -DF -BB -BB -BB -oG -oG -oG -oG -NA -NA -NA -NA -NA -NA -NA -NA -bt -NA -oG -oG -Ot -Ot -bd -Ot -Ot -Ot -NA -NA -NA -NA -NA -NA -Ki -Ki -"} -(14,1,1) = {" -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -BB -DF -BB -dh -dh -dh -dh -dh -BB -DF -BB -oG -oG -oG -oG -oG -NA -NA -NA -NA -NA -NA -NA -NA -oG -oG -oG -Ot -oi -oi -Ot -Ot -dh -Ot -NA -NA -NA -NA -NA -Ki -Ki -"} -(15,1,1) = {" -Ki -Ki -Ki -Ki -oG -oG -oG -oG -BB -BB -BB -dh -dh -Wn -mF -Al -dh -dh -BB -wA -BB -oG -oG -oG -oG -oG -oG -NA -NA -bt -NA -NA -oG -oG -oG -Ot -Ot -oi -Ot -Ot -Ot -Ot -Ot -Ot -dh -NA -NA -NA -Ki -Ki -"} -(16,1,1) = {" -Ki -Ki -Ki -Ki -oG -oG -oG -BB -DF -mb -dh -Qd -Wn -mO -bd -WS -Al -dh -dh -BB -BB -oG -oG -oG -oG -oG -oG -oG -NA -NA -NA -oG -oG -oG -oG -Ot -oi -oi -Ot -Ot -Ot -Ot -dh -Ot -Ot -Ot -NA -NA -Ki -Ki -"} -(17,1,1) = {" -Ki -Ki -Ki -oG -oG -oG -oG -BB -DF -dh -HE -Wn -mO -bd -oi -oi -QD -Al -dh -wA -BB -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -Ot -Ot -oi -Ot -Ot -Ot -dh -Ot -Ot -Ot -Ot -Ot -NA -NA -NA -Ki -"} -(18,1,1) = {" -Ki -Ki -Ki -oG -oG -oG -mI -BB -Yn -Qd -Wn -mO -bd -oi -oi -oi -bd -Rx -dh -BB -BB -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -Ot -oi -oi -Ot -mA -Ot -dh -Ot -Ot -Ot -Ot -AI -NA -NA -NA -Ki -"} -(19,1,1) = {" -Ki -Ki -Ki -oG -oG -oG -BB -Xq -aD -Wn -mO -oi -oi -oi -oi -oi -bd -Rx -dh -BB -DF -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -Ot -Ot -oi -Ot -Ot -Ot -dh -dh -wu -Ot -Ot -Ot -Ot -NA -NA -NA -Ki -"} -(20,1,1) = {" -Ki -Ki -Ki -oG -oG -oG -BB -wA -Qd -cd -bd -oi -oi -bd -oi -bd -bd -Rx -dh -mI -BB -oG -oG -Ux -gr -oG -oG -oG -oG -oG -oG -oG -Ot -Ot -oi -oi -Ot -Ot -dh -dh -Vm -nr -Kx -Ot -Ot -Ot -NA -NA -NA -Ki -"} -(21,1,1) = {" -Ki -Ki -Ki -oG -oG -oG -DF -eB -tF -jl -bd -oi -oi -oi -Os -Hi -Yq -iT -dh -BB -BB -oG -oG -Ot -rT -jf -oG -oG -oG -oG -oG -Ot -Ot -oi -oi -Ot -Ot -dh -dh -mA -wu -Kx -ve -Ot -Lj -Ot -Ot -NA -NA -Ki -"} -(22,1,1) = {" -Ki -Ki -Ki -oG -oG -oG -BB -DF -Qd -OL -LB -bd -oi -oi -Rx -dh -Vb -yq -dh -dh -BB -oG -oG -Et -Ot -gr -oG -oG -oG -oG -oG -Ot -oi -oi -Ot -Ot -dh -dh -Ot -Ot -Kx -Ot -Ot -Ot -Ot -Ot -oG -oG -oG -Ki -"} -(23,1,1) = {" -Ki -Ki -Ki -oG -oG -oG -BB -BB -dh -Qd -Vb -LB -bd -Os -VP -dh -dh -gO -vd -dh -dh -oG -oG -oG -Ut -oG -oG -oG -oG -Ot -Ot -oi -oi -Ot -AI -Ot -dh -Ot -Ot -jV -Ot -Ot -jV -jV -Ot -oG -oG -oG -oG -Ki -"} -(24,1,1) = {" -Ki -Ki -Ki -oG -oG -oG -oG -BB -BB -dh -Ww -Vb -Hi -VP -dh -dh -dh -dh -Mv -Al -dh -oG -oG -oG -oG -oG -oG -oG -Ot -Ot -Ot -oi -oi -Ot -Ot -Ot -dh -Ot -TU -CW -hZ -hZ -DQ -jV -Ot -oG -oG -oG -Ki -Ki -"} -(25,1,1) = {" -Ki -Ki -Ki -oG -oG -oG -oG -BB -DF -wA -dh -dh -dh -dh -dh -dh -dh -dh -Vb -yq -dh -dh -oG -oG -oG -oG -Ot -Ot -Ot -Ot -oi -oi -Ot -Ot -Ot -dh -dh -Ot -cn -Ro -fF -Tu -PC -jV -oG -oG -oG -oG -Ki -Ki -"} -(26,1,1) = {" -Ki -Ki -Ki -Ki -oG -oG -oG -oG -BB -BB -BB -mb -mI -BB -BB -BB -dh -dh -dh -gO -vd -dh -oG -oG -Ot -Ot -Ot -Ot -Ot -oi -oi -Ot -Ot -Ot -dh -dh -Ot -Ot -cn -PC -PC -xu -PC -jV -oG -oG -oG -Ki -Ki -Ki -"} -(27,1,1) = {" -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -BB -BB -BB -DF -BB -oG -oG -oG -dh -dh -dh -gO -zs -oG -Ot -AI -Ot -Ot -Ot -oi -oi -Ot -Ot -Ot -Ot -dh -dh -Ot -jV -DQ -PC -PC -PC -jV -jV -oG -oG -oG -Ki -Ki -Ki -"} -(28,1,1) = {" -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -dh -dh -dh -Vb -Yq -Ot -Ot -Ot -Ot -oi -oi -oi -Ot -Ot -Ot -dh -dh -Ot -Ot -jV -xI -jV -xk -UQ -jV -oG -oG -oG -oG -Ki -Ki -Ki -"} -(29,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -Ot -Ot -dh -dh -dh -cd -oi -Ot -oi -oi -oi -oi -Ot -Ot -Ot -Ot -dh -dh -Ot -Ot -Ot -dh -jV -jV -jV -jV -oG -oG -oG -Ki -Ki -Ki -Ki -"} -(30,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -Ot -Ot -mA -dh -dh -Ot -oi -oi -oi -Ot -Ot -Ot -Ot -Ot -Ot -mA -dh -dh -dh -dh -dh -dh -Ot -Ot -Ot -oG -oG -oG -oG -Ki -Ki -Ki -Ki -"} -(31,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -oG -oG -oG -Ot -Ot -Ot -Ot -dh -dh -dh -Ot -Ot -Ot -Lj -Ot -Ot -Ot -Ot -dh -dh -dh -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -"} -(32,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -oG -oG -Ot -Ot -Ot -dh -dh -dh -Ot -dh -dh -Ot -mA -Ot -Ot -AI -Ot -Ot -dh -dh -Ot -Ot -Ot -AI -Ot -Ot -Ot -Ot -Ot -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -"} -(33,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -oG -oG -Ot -Ot -Ot -dh -dh -Ot -Ot -Ot -Ot -dh -dh -dh -Ot -Ot -Ot -Ot -dh -dh -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -"} -(34,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -Ot -Ot -Ot -Ot -dh -dh -mA -Ot -Ot -Ot -Ot -Ot -dh -dh -Ot -Ot -Ot -Ot -dh -Ot -Ot -Lj -Ot -Ot -Ot -Ot -Ot -Ot -Ot -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -"} -(35,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -Ot -Ot -Ot -mA -dh -dh -Ot -Ot -Lj -Ot -Ot -Ot -Ot -Ot -dh -dh -dh -Ot -Ot -dh -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -"} -(36,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -Ot -Ot -Lj -Ot -dh -dh -Ot -Ot -Ot -Ot -jV -jV -jV -Ot -Ot -Ot -Ot -dh -dh -dh -dh -Ot -Ot -jV -jV -jV -jV -jV -jV -Ot -Ot -oG -oG -oG -oG -oG -Ki -Ki -Ki -Ki -"} -(37,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -Ot -Ot -Ot -Ot -Ot -dh -Ot -Ot -Ot -Ot -jV -jV -UK -jV -jV -jV -Ot -Ot -dh -dh -dh -dh -Ot -Ot -jV -St -fL -kZ -Li -jV -jV -oG -oG -oG -oG -oG -oG -oG -oG -Ki -Ki -"} -(38,1,1) = {" -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -Ot -Ot -jV -jV -jV -xI -jV -Ot -Ot -jV -jV -RT -kZ -jt -jF -jV -Lj -Ot -Ot -dh -dh -Ot -Ot -jV -jV -kZ -LW -PC -PC -PC -jV -oG -oG -oG -jV -jV -jV -jV -oG -oG -Ki -"} -(39,1,1) = {" -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -jV -jV -jV -PC -PC -qs -jV -jV -Ot -jV -PC -Tu -PC -kZ -jk -jV -Ot -Ot -Ot -dh -dh -Ot -Ot -jV -RV -yI -Fc -PC -PC -PC -jV -oG -oG -jV -jV -df -mr -jV -jV -oG -Ki -"} -(40,1,1) = {" -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -jV -jV -er -fL -PC -Tu -PC -kj -jV -Ot -jV -PC -PC -Bv -Fc -jV -jV -Ot -Ot -Ot -dh -dh -dh -dh -xI -UW -Tc -FP -Qj -PC -PC -jV -oG -jV -jV -PC -Fc -nq -Tu -jV -oG -Ki -"} -(41,1,1) = {" -Ki -Ki -Ki -Ki -oG -oG -oG -oG -jV -PC -LW -PC -PC -PC -VF -kc -jV -Ot -jV -KM -PC -fF -DX -jV -Ot -Ot -MB -dh -dh -Zg -dh -Ot -jV -yI -PC -fF -PC -Tu -PC -jV -oG -jV -qU -Tu -PC -fF -kZ -jV -oG -oG -"} -(42,1,1) = {" -Ki -Ki -Ki -Ki -oG -oG -oG -oG -jV -Tu -PC -PC -Bv -PC -Tu -AK -jV -Ot -jV -jV -PC -Tu -Dx -yT -dh -dh -dh -dh -dh -dh -mA -Ot -jV -jV -PC -Tu -sp -PC -KM -jV -oG -jV -jV -oI -Bv -Lp -PC -jV -oG -oG -"} -(43,1,1) = {" -Ki -Ki -Ki -oG -oG -oG -oG -oG -jV -KM -Fc -PC -PC -PC -kZ -jV -jV -Ot -Ot -jV -jV -jV -jV -jV -Ot -mA -Ot -Ot -dh -dh -dh -dh -Ot -jV -PC -PC -jk -pQ -jV -jV -Ot -Ot -jV -PC -or -CG -KM -jV -oG -oG -"} -(44,1,1) = {" -Ki -Ki -Ki -oG -oG -oG -oG -oG -jV -jV -jV -sV -PC -PC -jV -jV -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -dh -dh -dh -dh -dh -dh -jV -jV -jV -jV -jV -jV -Ot -Ot -dh -xI -MA -PC -KM -jV -jV -oG -oG -"} -(45,1,1) = {" -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -oG -jV -jV -jV -jV -jV -Ot -Ot -Ot -Ot -Ot -Ot -AI -Ot -Ot -Ot -dh -dh -dh -dh -Ot -QC -Ot -dh -dh -Ot -Ot -Ot -Ot -Ot -Ot -dh -dh -jV -jV -jV -jV -jV -Ot -oG -oG -"} -(46,1,1) = {" -Ki -Ki -oG -oG -oG -oG -oG -dH -dH -dH -dH -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Zg -Ne -dh -dh -dh -Ot -Ot -Ot -Ot -Ot -dh -dh -dh -dh -MB -Ot -mA -Zg -Ot -Ot -Ot -Ot -Ot -Ot -Ot -oG -oG -"} -(47,1,1) = {" -Ki -Ki -oG -oG -oG -oG -dH -dH -EN -EN -dH -dH -dH -dH -dH -dH -Ot -Ot -Ot -Ot -mA -Ot -Ne -Mo -dh -dh -OM -dh -Ot -Ot -AI -Ot -Ot -Zg -dh -Ot -dh -dh -Bb -dh -dh -Ot -Ot -Ot -Ot -Ot -Ot -AI -oG -oG -"} -(48,1,1) = {" -Ki -oG -oG -oG -oG -dH -dH -EN -EN -EN -EN -EN -EN -EN -Ih -dH -dH -dH -Ot -Ot -uc -dh -tB -Eb -Gu -Ot -Ot -dh -Ot -Ot -Ot -Ot -mA -dh -Ot -Ot -Ot -Ot -Ot -dh -dh -dh -dh -mA -Ot -Ot -Ot -Ot -oG -oG -"} -(49,1,1) = {" -Ki -oG -oG -oG -oG -dH -EN -EN -EN -EN -EN -EN -EN -EN -EN -EN -EN -dH -dH -Ot -dh -jB -dh -Hc -hU -Ot -Ot -dh -Ot -Ot -Ot -Ot -Ot -dh -Ot -Ot -Ot -Ot -Ot -Ot -Ot -Ot -dh -Ot -Ot -Lj -Ot -Ot -oG -oG -"} -(50,1,1) = {" -Ki -oG -oG -oG -oG -dH -EN -EN -DZ -DZ -DZ -DZ -dH -EN -EN -EN -EN -EN -dH -Mp -dh -OM -mE -dh -Ot -Ot -dh -dh -Ot -Ot -jV -jV -jV -xI -jV -jV -jV -Ot -Ot -QC -Ot -Ot -Zg -Ot -Ot -Ot -Ot -oG -oG -oG -"} -(51,1,1) = {" -Ki -oG -oG -oG -dH -dH -EN -EN -DZ -gX -DZ -DZ -EN -EN -DZ -DZ -DZ -aL -Eo -jY -Ht -mE -jn -hU -mA -Ot -dh -dh -Ot -jV -jV -PC -RJ -jj -YM -gm -jV -jV -Ot -Ot -jV -jV -xI -jV -jV -jV -jV -oG -oG -Ki -"} -(52,1,1) = {" -Ki -oG -oG -oG -dH -Mp -EN -EN -DZ -DZ -DZ -DZ -EN -EN -DZ -mw -DZ -EN -le -Eo -KO -Yw -Zg -Ot -Ot -Ot -dh -dh -Ot -jV -Yg -PC -PC -MQ -Tu -fZ -jq -jV -Ot -Ot -jV -yI -Po -Gx -ww -Xx -jV -oG -oG -Ki -"} -(53,1,1) = {" -Ki -oG -oG -oG -dH -EN -EN -EN -DZ -DZ -DZ -DZ -EN -EN -DZ -DZ -zy -XQ -EN -cg -oB -FV -Mp -Ot -Ot -Ot -dh -dh -Ot -jV -PC -Tu -fF -PC -Fc -kZ -vD -jV -Ot -oG -jV -PC -Bv -JB -Tu -ge -jV -oG -oG -Ki -"} -(54,1,1) = {" -Ki -oG -oG -oG -dH -EN -EN -EN -dH -EN -EN -EN -dH -EN -EN -EN -Du -EN -EN -Hl -NS -Eo -dH -dH -Ot -Ot -Ot -dh -dh -jV -PC -PC -PC -Bv -PC -PC -kZ -jV -oG -oG -jV -PC -Fc -fF -qo -jV -jV -oG -oG -Ki -"} -(55,1,1) = {" -Ki -oG -oG -oG -dH -EN -EN -EN -EN -EN -EN -EN -EN -DZ -DZ -DZ -DZ -DZ -EN -Lz -EN -jY -EN -dH -dH -Ot -Ot -dh -dh -jV -MU -PC -PC -PC -PC -PC -PC -jV -oG -oG -jV -KM -PC -PC -jV -jV -oG -oG -Ki -Ki -"} -(56,1,1) = {" -Ki -oG -oG -oG -dH -Mp -EN -EN -EN -EN -EN -EN -EN -DZ -DZ -DZ -DZ -DZ -OV -DZ -Ez -DZ -EN -EN -dH -Ot -Ot -dh -Ot -jV -jV -Zr -lZ -Tu -PC -PC -jV -jV -oG -oG -jV -jV -jV -jV -jV -oG -oG -oG -Ki -Ki -"} -(57,1,1) = {" -Ki -oG -oG -oG -dH -dH -EN -EN -Ih -EN -EN -EN -EN -DZ -DZ -iU -DZ -DZ -EN -DZ -DZ -DZ -EN -EN -dH -dH -Ot -dh -Ot -Ot -jV -QW -kc -PC -PC -PC -jV -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -Ki -Ki -Ki -"} -(58,1,1) = {" -Ki -oG -oG -oG -oG -dH -dH -dH -dH -dH -dH -xj -EN -DZ -DZ -DZ -DZ -DZ -EN -DZ -DZ -DZ -EN -EN -Ih -dH -Ot -Ot -dh -Ot -jV -jV -jV -KM -KM -jV -jV -oG -oG -oG -oG -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -"} -(59,1,1) = {" -Ki -oG -oG -oG -oG -oG -dH -Zw -KA -ar -dH -EN -EN -DZ -DZ -DZ -DZ -DZ -EN -EN -EN -EN -EN -EN -EN -dH -Ot -Ot -dh -dh -Ot -Ot -jV -jV -jV -jV -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -"} -(60,1,1) = {" -Ki -oG -oG -oG -oG -oG -dH -PT -EN -EN -EN -EN -ZZ -JD -EN -EN -EN -EN -dH -EN -EN -EN -dH -EN -EN -dH -Ot -Ot -dh -Ot -dh -Ot -Ot -Ot -oG -oG -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -"} -(61,1,1) = {" -Ki -oG -oG -oG -oG -oG -dH -lD -EN -DZ -DZ -Fn -OU -ZZ -xj -EN -EN -EN -EN -DZ -DZ -DZ -DZ -EN -EN -dH -AI -Ot -Ot -dh -Ot -dh -tR -Ot -oG -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -"} -(62,1,1) = {" -Ki -oG -oG -oG -oG -oG -dH -dH -EN -DZ -bL -DZ -KH -dH -dH -EN -EN -EN -EN -DZ -DZ -DZ -DZ -EN -EN -dH -dH -Ot -Ot -dh -tR -dh -Ot -Ot -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -"} -(63,1,1) = {" -Ki -Ki -oG -oG -oG -oG -oG -dH -lx -DZ -DZ -DZ -EN -uv -dH -EN -EN -EN -EN -DZ -DZ -gX -DZ -EN -EN -EN -dH -Ot -tR -dh -Ot -tR -Ot -oG -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -"} -(64,1,1) = {" -Ki -Ki -oG -oG -oG -oG -oG -dH -dH -lx -EN -EN -EN -lD -dH -Ih -EN -EN -dH -DZ -DZ -DZ -DZ -EN -EN -EN -dH -Ot -Ot -Ot -Ot -Ot -oG -oG -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -"} -(65,1,1) = {" -Ki -Ki -Ki -oG -oG -oG -oG -oG -dH -dH -dH -Yi -Xd -Zw -dH -EN -EN -EN -EN -EN -EN -EN -EN -EN -EN -dH -dH -oG -Ot -Ot -oG -oG -oG -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -"} -(66,1,1) = {" -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -oG -dH -dH -dH -dH -dH -EN -EN -EN -EN -EN -EN -EN -EN -EN -dH -dH -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -"} -(67,1,1) = {" -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -dH -dH -Mp -EN -EN -EN -Mp -dH -dH -dH -dH -oG -oG -oG -oG -oG -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -"} -(68,1,1) = {" -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -dH -dH -dH -dH -dH -dH -dH -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -"} -(69,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -"} -(70,1,1) = {" -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -oG -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -Ki -"} diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm new file mode 100644 index 00000000000..1ce3f86f107 --- /dev/null +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm @@ -0,0 +1,8003 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ag" = ( +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"aj" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 8; + id = "wtpw1" + }, +/obj/machinery/power/shieldwallgen/atmos{ + id = "tradehouse"; + dir = 1; + anchored = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/warehouse) +"as" = ( +/turf/closed/wall/yesdiag, +/area/ruin/wasteplanet/tradepost/center) +"aB" = ( +/obj/effect/turf_decal/industrial/caution, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"aF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 8 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"aI" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"aM" = ( +/mob/living/simple_animal/hostile/hivebot/ranged, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"aQ" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, +/obj/structure/closet/crate/bin, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"aR" = ( +/obj/item/flashlight/flare/burnt, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"aS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"ba" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/flora/ash/glowshroom, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bj" = ( +/obj/item/stack/sheet/mineral/sandbags{ + amount = 3 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/hivebot/strong, +/obj/structure/foamedmetal/iron, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"bm" = ( +/turf/closed/wall/yesdiag, +/area/ruin/wasteplanet/tradepost/barracks) +"br" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/floodlight_frame, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bz" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/machinery/portable_atmospherics/scrubber/huge/movable, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"bH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/mob/living/simple_animal/hostile/hivebot/ranged, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bJ" = ( +/obj/item/reagent_containers/glass/concrete_bag, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bM" = ( +/obj/item/stack/sheet/mineral/sandbags, +/obj/structure/door_assembly/door_assembly_com, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"bW" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"bY" = ( +/obj/structure/girder/displaced, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bZ" = ( +/obj/machinery/firealarm/directional/north, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"ch" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/closet/crate, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -24; + pixel_y = -8; + id = "wtpw1" + }, +/obj/machinery/button/shieldwallgen{ + id = "tradehouse"; + dir = 4; + pixel_y = 2; + pixel_x = -22 + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"cq" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost) +"cs" = ( +/turf/closed/wall/rust/yesdiag, +/area/ruin/wasteplanet/tradepost) +"cC" = ( +/obj/effect/turf_decal/industrial/warning/full, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"cD" = ( +/obj/item/cigbutt{ + pixel_y = 6 + }, +/obj/item/cigbutt{ + pixel_y = 4; + pixel_x = -11 + }, +/obj/item/cigbutt{ + pixel_y = -7; + pixel_x = -7 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"cH" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"cJ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"cL" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"cW" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"cZ" = ( +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"dd" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"do" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"dr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/structure/foamedmetal/iron, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"ds" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"dw" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/foamedmetal/iron, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"dB" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"dD" = ( +/obj/structure/flippedtable, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"dE" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost) +"dF" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"dN" = ( +/obj/structure/door_assembly/door_assembly_sec, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"dS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ed" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/obj/structure/grille, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ef" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ei" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"em" = ( +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"en" = ( +/turf/closed/wall/rust, +/area/overmap_encounter/planetoid/cave/explored) +"ep" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"eq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"et" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/paper_bin, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/mob/living/simple_animal/hostile/hivebot/ranged, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/item/trash/plate, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"ew" = ( +/mob/living/simple_animal/hostile/hivebot/strong, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ez" = ( +/turf/closed/wall/rust, +/area/ruin/wasteplanet/tradepost/center) +"eF" = ( +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"eH" = ( +/obj/structure/bed/pod, +/obj/machinery/light/small/broken/directional/north, +/obj/structure/curtain/cloth/grey, +/obj/item/bedsheet/brown, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"eS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"fd" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/item/ammo_casing/spent, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"fe" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"fr" = ( +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"fs" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ft" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"fU" = ( +/turf/closed/wall/rust/yesdiag, +/area/ruin/wasteplanet/tradepost/center) +"fY" = ( +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"gf" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"gh" = ( +/turf/closed/wall/rust/yesdiag, +/area/ruin/wasteplanet/tradepost/warehouse) +"gj" = ( +/obj/machinery/door/airlock/mining{ + name = "Warehouse" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/warehouse) +"gl" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"gw" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"gy" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"gA" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"gC" = ( +/obj/structure/bookcase/random, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"gI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/spawner/hivebot, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"gP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 8 + }, +/obj/item/kirbyplants/random, +/obj/item/paper/crumpled, +/obj/item/trash/plate, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"gZ" = ( +/turf/closed/wall/yesdiag, +/area/ruin/wasteplanet/tradepost/warehouse) +"hg" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/ore/salvage/scrapgold, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"hn" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"ho" = ( +/obj/machinery/atmospherics/components/unary/passive_vent, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"ht" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"hD" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"hE" = ( +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/blood/tracks, +/obj/item/paper_bin, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/mob/living/simple_animal/hostile/hivebot/strong, +/obj/item/trash/plate, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"hH" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_y = 4; + pixel_x = -2 + }, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_x = -10; + pixel_y = -7 + }, +/obj/item/paper/crumpled{ + pixel_x = 5; + pixel_y = -1 + }, +/obj/item/tape/random/preset/tradepost/one{ + pixel_y = 7; + pixel_x = -6 + }, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"hJ" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"hN" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/pen/fountain, +/obj/machinery/newscaster/directional/west, +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = -9 + }, +/obj/item/paper/crumpled{ + pixel_x = 7; + pixel_y = -16 + }, +/obj/item/spacecash/bundle/mediumrand{ + pixel_y = 8; + pixel_x = 4 + }, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"hO" = ( +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/barracks) +"hU" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"hV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"hW" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/decal/cleanable/glass, +/obj/structure/foamedmetal/iron, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/center) +"hX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"ib" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/flashlight/flare/burnt, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"ig" = ( +/obj/structure/table, +/obj/machinery/airalarm/directional/south, +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_y = 6; + pixel_x = 2 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"ip" = ( +/obj/item/bedsheet/hos{ + name = "vanguard's bedsheet" + }, +/obj/structure/bed/pod, +/obj/structure/curtain/cloth/grey, +/obj/machinery/light/small/broken/directional/north, +/turf/open/floor/carpet/orange, +/area/ruin/wasteplanet/tradepost/barracks) +"iq" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ir" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"it" = ( +/obj/item/cigbutt{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/cigbutt{ + pixel_y = 6; + pixel_x = -8 + }, +/obj/item/cigbutt, +/obj/structure/sign/warning/nosmoking/burnt{ + pixel_y = 28 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"iy" = ( +/obj/machinery/computer/mech_bay_power_console/retro{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/warehouse) +"iI" = ( +/obj/effect/decal/cleanable/molten_object{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/effect/decal/cleanable/molten_object{ + pixel_x = 1; + pixel_y = -12 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip1" + }, +/obj/effect/mob_spawn/human/corpse/inteq/enforcer{ + head = null; + husk = 1 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"iX" = ( +/obj/item/radio/intercom/directional/north, +/obj/structure/closet/crate, +/obj/effect/turf_decal/industrial/warning/full, +/obj/item/circuitboard/machine/space_heater, +/obj/item/circuitboard/machine/space_heater, +/obj/item/circuitboard/machine/space_heater, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"jb" = ( +/obj/structure/sign/poster/contraband/c20r{ + pixel_y = 28 + }, +/obj/structure/foamedmetal/iron, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"je" = ( +/obj/machinery/firealarm/directional/east, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"jk" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"jn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"jy" = ( +/obj/structure/foamedmetal/iron, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"jD" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/mob/living/simple_animal/hostile/hivebot/strong, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"jT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = 26 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer4{ + dir = 1 + }, +/obj/structure/sign/warning/gasmask{ + pixel_x = -28 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"kd" = ( +/turf/closed/wall, +/area/overmap_encounter/planetoid/cave/explored) +"kf" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"km" = ( +/obj/effect/gibspawner/robot, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"kr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/hivebot/ranged, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ks" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"kt" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"kx" = ( +/obj/structure/table_frame, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"kM" = ( +/obj/structure/floodlight_frame, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"kP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"kU" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"la" = ( +/obj/structure/filingcabinet/double, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"lf" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent{ + pixel_y = -11; + pixel_x = -3 + }, +/obj/item/ammo_casing/spent{ + pixel_y = -4 + }, +/obj/item/paper/crumpled, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"lj" = ( +/obj/item/radio/intercom/wideband/directional/north, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"lp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/light/small/broken/directional/south, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"lq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/gibspawner/robot, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"lv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"lw" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"lx" = ( +/obj/machinery/stasis{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/barracks) +"ly" = ( +/obj/structure/table, +/obj/item/storage/fancy/cigarettes/cigpack_robust{ + pixel_y = 6; + pixel_x = -4 + }, +/obj/item/storage/fancy/cigarettes/cigpack_robust{ + pixel_x = 3; + pixel_y = -4 + }, +/obj/item/storage/fancy/cigarettes/cigpack_mindbreaker{ + pixel_y = 8; + pixel_x = 9 + }, +/obj/item/storage/fancy/cigarettes/cigpack_cannabis{ + pixel_x = -8; + pixel_y = -4 + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"lB" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"lE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"lF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"lI" = ( +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"lM" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 5 + }, +/obj/machinery/light/small/broken/directional/east, +/obj/structure/foamedmetal/iron, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"lQ" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"lX" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/spawner/hivebot, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"lY" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor3-old" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor2-old" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"mo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"mr" = ( +/obj/structure/sign/warning/gasmask{ + pixel_x = -28 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"mt" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"mA" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 10 + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost) +"mC" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"mI" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/sign/poster/rilena/tali{ + pixel_x = 29 + }, +/obj/item/reagent_containers/food/drinks/rilenacup{ + pixel_x = 7; + pixel_y = -2 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"mK" = ( +/obj/effect/mob_spawn/human/corpse/inteq/medic/tradepost, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/barracks) +"mN" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"nb" = ( +/turf/closed/wall/rust, +/area/ruin/wasteplanet/tradepost) +"nn" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clipboard, +/obj/item/paper/crumpled, +/obj/item/paper/crumpled, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/table_frame, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"nr" = ( +/obj/structure/rack, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 6 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"nt" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"nv" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"nJ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 8 + }, +/obj/structure/table_frame, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"nL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"nN" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 4 + }, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"nO" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/computer/operating, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/barracks) +"nU" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/clothing/head/beret/sec/hos/inteq, +/obj/machinery/light/small/broken/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4, +/obj/item/clipboard, +/obj/machinery/button/door{ + pixel_y = -9; + pixel_x = -22; + dir = 4; + name = "privacy lock" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"ox" = ( +/obj/machinery/light/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"oz" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor2-old" + }, +/obj/item/gun/ballistic/automatic/pistol/commander/inteq/no_mag, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"oC" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/sheet/mineral/sandbags, +/turf/open/floor/concrete/pavement/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"oQ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 1 + }, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"pb" = ( +/obj/structure/chair/plastic{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"pc" = ( +/obj/item/stack/sheet/mineral/sandbags{ + amount = 2 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"pe" = ( +/obj/structure/flippedtable, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"pj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"pk" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"pl" = ( +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/warehouse) +"pm" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 8; + id = "wtpw2" + }, +/obj/machinery/power/shieldwallgen/atmos{ + id = "tradehouse2"; + anchored = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/warehouse) +"pD" = ( +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"pL" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "tradepost_vanguard" + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost/barracks) +"pQ" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"pT" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/structure/closet/crate/bin, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"qb" = ( +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost) +"qg" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"qi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"qk" = ( +/obj/machinery/door/airlock/command/glass{ + name = "Holopad Access" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/center) +"qp" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"qr" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"qw" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/effect/decal/cleanable/glass, +/obj/machinery/door/airlock/command/glass{ + name = "Central Dome" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/center) +"qy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"qJ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/brown, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"qM" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"qR" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"qV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/closet/secure_closet/engineering_welding{ + populate = 0 + }, +/obj/item/clothing/glasses/welding, +/obj/item/weldingtool/largetank, +/obj/item/weldingtool/largetank, +/obj/item/storage/toolbox/mechanical, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"ra" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"rb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/structure/bed/dogbed{ + name = "cat bed"; + desc = "A comfy-looking cat bed. You can even strap your pet in, in case the gravity turns off." + }, +/mob/living/simple_animal/pet/cat/kitten{ + name = "Biggles"; + desc = "That's Mr. Biggles to you." + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"rl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ro" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"ru" = ( +/obj/structure/flippedtable, +/obj/item/clothing/shoes/laceup{ + pixel_x = 1; + pixel_y = -5 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"rB" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Showers" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/center) +"rN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/holopad/secure, +/mob/living/simple_animal/hostile/hivebot/strong, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/corner/opaque/yellow/full, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"rQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"rY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/table/wood, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"sb" = ( +/obj/structure/table, +/obj/machinery/fax/ruin{ + pixel_y = 7 + }, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"sf" = ( +/obj/effect/decal/cleanable/molten_object{ + pixel_x = -10; + pixel_y = 9 + }, +/obj/effect/decal/cleanable/molten_object{ + pixel_x = 9; + pixel_y = -4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"su" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"sv" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"sx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost) +"sy" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip1" + }, +/obj/structure/foamedmetal/iron, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"sA" = ( +/obj/machinery/firealarm/directional/south, +/obj/structure/bookcase/random, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"sH" = ( +/obj/effect/gibspawner/robot, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"sL" = ( +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"sN" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor3-old" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor2-old" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer4{ + dir = 1 + }, +/obj/machinery/light/small/broken/directional/west, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"sS" = ( +/obj/structure/filingcabinet/double, +/obj/item/radio/intercom/directional/east, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"sT" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/ore_box, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"sZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ta" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"te" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"tf" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"tn" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"tp" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"ts" = ( +/obj/machinery/holopad/secure, +/obj/effect/turf_decal/box, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"ty" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"tz" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost/center) +"tL" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/decal/cleanable/robot_debris, +/obj/effect/gibspawner/robot, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/structure/table_frame, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"tU" = ( +/obj/mecha/working/ripley/cargo{ + name = "\improper APLU \"Forklift Certified\"" + }, +/obj/effect/turf_decal/rechargefloor, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 28 + }, +/obj/machinery/light/small/broken/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/warehouse) +"tV" = ( +/obj/item/stack/ore/salvage/scrapgold, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"ua" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ub" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost) +"uf" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/closet/crate, +/obj/machinery/light/small/broken/directional/south, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"ug" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/industrial/warning/cee{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"um" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/item/radio/intercom/table{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"uo" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"uw" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"uy" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"uA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/flora/ash/glowshroom, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"uC" = ( +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"uG" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"uN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"uS" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"uU" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/grille, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"uV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"uW" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/marker_beacon, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"vi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"vr" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"vu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 8 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"vy" = ( +/obj/structure/foamedmetal/iron, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"vz" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"vG" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"vK" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/structure/table, +/obj/item/radio/intercom/table, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"vL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"vQ" = ( +/obj/effect/decal/cleanable/molten_object/large, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"vR" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/barracks) +"vS" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 4 + }, +/obj/machinery/door/window/brigdoor/eastright{ + req_access_txt = "3" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"wi" = ( +/obj/item/storage/box/flares{ + pixel_x = 8; + pixel_y = -2 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"wl" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor, +/obj/structure/closet/wall{ + dir = 8; + pixel_x = 29 + }, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"wm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/light/small/broken/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/advanced_airlock_controller{ + pixel_x = -26; + pixel_y = 0 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"wA" = ( +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak5" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"wB" = ( +/obj/machinery/modular_computer/console/preset/civilian{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"wG" = ( +/obj/machinery/door/airlock/medical{ + name = "Medbay"; + welded = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"wL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/barracks) +"wM" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"wW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/structure/foamedmetal/iron, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"xm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/item/radio/intercom/directional/south, +/obj/structure/foamedmetal/iron, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"xu" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/flora/ash/glowshroom, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"xv" = ( +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak5" + }, +/obj/item/paper/crumpled, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"xw" = ( +/obj/item/paper/crumpled, +/obj/structure/filingcabinet/double, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"xx" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"xA" = ( +/obj/item/stack/ore/salvage/scraptitanium/five, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"xF" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/barracks) +"xM" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/flippedtable, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_box/magazine/m9mm_rattlesnake{ + start_empty = 1; + pixel_x = -9; + pixel_y = -3; + icon_state = "rattlesnake_mag_0" + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"xP" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"xQ" = ( +/obj/item/stack/sheet/mineral/sandbags{ + pixel_y = 7 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"xV" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/grille, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"xX" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"ya" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/item/bot_assembly/medbot, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/barracks) +"yb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"yd" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 10 + }, +/obj/machinery/meter, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"yf" = ( +/obj/structure/grille, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"yt" = ( +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"yF" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"yI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"yJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/marker_beacon, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"yZ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ze" = ( +/obj/machinery/mech_bay_recharge_port, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/warehouse) +"zn" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/obj/structure/floodlight_frame, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"zo" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"zq" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/closet/crate, +/obj/structure/sign/warning/gasmask{ + pixel_y = 30 + }, +/obj/machinery/light/small/directional/west, +/obj/item/circuitboard/machine/tesla_ground, +/obj/item/circuitboard/machine/tesla_ground, +/obj/item/circuitboard/machine/tesla_ground, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"zA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost) +"zD" = ( +/turf/closed/wall/rust, +/area/ruin/wasteplanet/tradepost/warehouse) +"zM" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/mob/living/simple_animal/hostile/hivebot/ranged, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"zO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, +/obj/structure/foamedmetal/iron, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"zS" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"zT" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/item/clothing/head/soft/inteq/corpsman, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/barracks) +"zY" = ( +/obj/item/stack/sheet/mineral/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Aa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ac" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/closed/wall/yesdiag, +/area/ruin/wasteplanet/tradepost/barracks) +"Ae" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ah" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ak" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/effect/gibspawner/robot, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"AH" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"AI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/obj/item/radio/intercom/directional/south, +/obj/item/stack/ore/salvage/scrapmetal, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"AP" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip5" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"AQ" = ( +/obj/machinery/light/small/broken/directional/south, +/obj/machinery/holopad/secure, +/turf/open/floor/carpet/orange, +/area/ruin/wasteplanet/tradepost/barracks) +"AT" = ( +/obj/effect/gibspawner/robot, +/turf/open/floor/concrete/pavement/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"AV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ba" = ( +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Bk" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Bu" = ( +/obj/structure/foamedmetal/iron, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"BK" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/curtain, +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/center) +"BN" = ( +/mob/living/simple_animal/hostile/hivebot/strong, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Cb" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Cc" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"Cf" = ( +/obj/structure/bed, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/bedsheet/red, +/obj/structure/curtain/cloth/fancy, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"Cg" = ( +/obj/effect/turf_decal/techfloor/corner, +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"Cj" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/obj/item/gun/ballistic/automatic/pistol/rattlesnake/inteq{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/effect/mob_spawn/human/corpse/inteq/vanguard/tradepost, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"Cq" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Cx" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"CA" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"CB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"CC" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 8; + id = "wtpw1" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/warehouse) +"CD" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"CE" = ( +/obj/structure/rack, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10; + layer = 2.030 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 10 + }, +/obj/item/storage/box/flares{ + pixel_y = 3; + pixel_x = -3 + }, +/obj/item/storage/box/flares{ + pixel_x = 8; + pixel_y = -2 + }, +/obj/item/storage/box/flares{ + pixel_x = 12; + pixel_y = 11 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"CG" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 3 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"CI" = ( +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"CK" = ( +/obj/structure/spawner/hivebot, +/obj/structure/cable, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"CV" = ( +/obj/structure/cable{ + icon_state = "0-9" + }, +/obj/effect/turf_decal/industrial/warning/full, +/obj/machinery/power/rtg/geothermal, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Dk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak5" + }, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak4" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Dl" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Trader's Quarters" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/center) +"Du" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Dw" = ( +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"DB" = ( +/obj/machinery/door/airlock/security{ + name = "Armory" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"DE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/item/stack/ore/salvage/scrapmetal, +/obj/item/stack/ore/salvage/scrapgold, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"DG" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 8; + id = "wtpw1" + }, +/obj/machinery/power/shieldwallgen/atmos{ + id = "tradehouse"; + anchored = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/warehouse) +"DI" = ( +/obj/item/ammo_casing/spent, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"DL" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/barracks) +"DQ" = ( +/obj/structure/girder/displaced, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"DR" = ( +/obj/structure/foamedmetal/iron, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"DS" = ( +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/item/paper/crumpled, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Ea" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ei" = ( +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/frame/machine, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"El" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/foamedmetal/iron, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Eu" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"Ex" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/rust, +/area/ruin/wasteplanet/tradepost/barracks) +"ED" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"EF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/trimline/opaque/yellow/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"EJ" = ( +/obj/structure/marker_beacon, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"EM" = ( +/obj/item/reagent_containers/glass/concrete_bag{ + pixel_x = 5; + pixel_y = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"EW" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/obj/machinery/light/small/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/chair, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"Fb" = ( +/obj/machinery/door/airlock/command/glass{ + dir = 4; + name = "Holopad Access" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Fc" = ( +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Fd" = ( +/obj/structure/chair, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"Fe" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/grille, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Fn" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/industrial/warning/cee, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ft" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip5" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Fx" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/structure/sign/warning/gasmask{ + pixel_x = -28 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip1" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/item/paper/crumpled, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Fy" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"FG" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost) +"FI" = ( +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Vanguard's Quarters" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "tradepost_vanguard"; + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"FK" = ( +/mob/living/simple_animal/hostile/hivebot/strong, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"FP" = ( +/obj/structure/flora/ash/glowshroom, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"FV" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/stack/sheet/cardboard, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"FZ" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ga" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"Gc" = ( +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/ammo_box/magazine/co9mm{ + pixel_x = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"Gf" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/light/small/directional/north, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"Gl" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Gp" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"Gt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/flippedtable, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"GB" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip5" + }, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"GF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"GQ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"GS" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/structure/foamedmetal/iron, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Hb" = ( +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Hc" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Hn" = ( +/obj/machinery/light/directional/south, +/obj/structure/bookcase/random, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Ho" = ( +/obj/structure/table, +/obj/machinery/light/small/broken/directional/east, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/item/paper_bin{ + pixel_y = 3; + pixel_x = 2 + }, +/obj/item/pen{ + pixel_y = 2; + pixel_x = 2 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"Hv" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/yesdiag, +/area/ruin/wasteplanet/tradepost/center) +"Hy" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"HE" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/grille, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"HH" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"HK" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"HO" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost) +"HV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ie" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"If" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ig" = ( +/obj/structure/rack, +/obj/machinery/door/window/southright, +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/obj/item/towel, +/obj/item/towel{ + pixel_x = -1; + pixel_y = 10 + }, +/obj/item/towel{ + pixel_x = 6; + pixel_y = 5 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"Ij" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/pet_carrier, +/obj/item/clothing/suit/toggle/lawyer/navy, +/obj/item/clothing/under/misc/pj/red, +/obj/item/clothing/under/rank/civilian/lawyer/black, +/obj/item/clothing/mask/gas/atmos, +/obj/item/clothing/under/shorts/blue{ + name = "jorts"; + desc = "potentially the most horrific thing you've ever seen." + }, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"Il" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"In" = ( +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"Iq" = ( +/obj/structure/sign/poster/contraband/inteq{ + pixel_y = 28 + }, +/obj/structure/foamedmetal/iron, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"IA" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"IF" = ( +/obj/structure/door_assembly/door_assembly_com, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/center) +"IH" = ( +/obj/structure/table, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"IM" = ( +/mob/living/simple_animal/hostile/hivebot/ranged, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"IN" = ( +/obj/item/chair{ + pixel_y = -4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/item/gun/ballistic/automatic/pistol/commander/no_mag{ + pixel_y = 8; + pixel_x = 10 + }, +/obj/effect/mob_spawn/human/corpse/indie/manager, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"IY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Jb" = ( +/obj/machinery/door/airlock/mining{ + name = "Warehouse" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/warehouse) +"Jf" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clothing/head/cone, +/obj/item/light/tube/broken, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Jh" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ji" = ( +/obj/machinery/light/small/broken/directional/south, +/obj/machinery/shower{ + dir = 8 + }, +/obj/structure/toilet{ + dir = 4; + pixel_x = -6 + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 11; + pixel_x = -22; + normaldoorcontrol = 1; + specialfunctions = 3; + id = "but" + }, +/obj/structure/sink{ + pixel_y = -2; + pixel_x = 14; + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/barracks) +"Jk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Jm" = ( +/obj/machinery/light/small/broken/directional/west, +/obj/machinery/portable_atmospherics/scrubber/huge/movable, +/obj/effect/turf_decal/industrial/warning/full, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"Jn" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor2-old" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Jp" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Jt" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/item/pen/fourcolor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Ju" = ( +/obj/item/flashlight/flare/burnt, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Jv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"JB" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, +/obj/machinery/firealarm/directional/north, +/obj/item/chair, +/obj/structure/closet/crate/bin, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"JG" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/flashlight/flare/burnt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"JL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"JR" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Kf" = ( +/turf/template_noop, +/area/overmap_encounter/planetoid/cave/explored) +"Ki" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor7-old" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Kk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/office/purple{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"Kl" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/grille, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Ko" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 9 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Kp" = ( +/obj/structure/girder/displaced, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Kr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/kirbyplants/random, +/obj/item/paper/crumpled, +/obj/effect/mob_spawn/human/corpse/inteq/enforcer{ + head = null; + husk = 1 + }, +/obj/machinery/light/directional/south, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"Kt" = ( +/obj/item/stack/ore/salvage/scraptitanium/five, +/obj/item/clothing/head/cone, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Kw" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost) +"Kx" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"KA" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"KF" = ( +/obj/machinery/atmospherics/pipe/manifold4w/green/visible, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"KG" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 8; + id = "wtpw2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/power/shieldwallgen/atmos{ + id = "tradehouse2"; + dir = 1; + anchored = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/warehouse) +"KZ" = ( +/obj/machinery/button/door{ + dir = 8; + pixel_y = 8; + pixel_x = 24; + id = "wtpw2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 8 + }, +/obj/machinery/button/shieldwallgen{ + id = "tradehouse2"; + dir = 8; + pixel_y = -2; + pixel_x = 22 + }, +/obj/item/circuitboard/machine/rad_collector, +/obj/item/circuitboard/machine/rad_collector, +/obj/structure/closet/crate, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"Le" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Lm" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/structure/sign/poster/clip/lunatown{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"LD" = ( +/obj/item/decal_painter{ + pixel_x = 7; + pixel_y = 3 + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"LK" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"LM" = ( +/obj/structure/marker_beacon, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"LO" = ( +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"LR" = ( +/obj/item/clothing/head/cone, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"LV" = ( +/obj/structure/grille, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"LW" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/hivebot/ranged, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"LY" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/obj/machinery/light/small/broken/directional/south, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"Ma" = ( +/turf/template_noop, +/area/template_noop) +"Mb" = ( +/obj/structure/table, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"Ml" = ( +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Mm" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"Mr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"Mt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"MA" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/layer4, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"MF" = ( +/obj/item/light/tube/broken, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ML" = ( +/obj/machinery/airalarm/directional/west, +/obj/item/ammo_casing/spent, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor2" + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_box/magazine/m9mm_rattlesnake{ + start_empty = 1; + pixel_x = -9; + pixel_y = -3; + icon_state = "rattlesnake_mag_0" + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"MQ" = ( +/obj/item/flashlight/flare/burnt, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"MS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"MU" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost/center) +"Nh" = ( +/obj/item/clothing/head/cone, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ni" = ( +/obj/item/ammo_casing/spent{ + pixel_y = -4; + pixel_x = -2 + }, +/obj/item/ammo_casing/spent{ + pixel_y = -7; + pixel_x = -9 + }, +/obj/item/ammo_casing/spent{ + pixel_y = -11; + pixel_x = -3 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent{ + pixel_y = -8; + pixel_x = -7 + }, +/obj/item/ammo_casing/spent{ + pixel_y = -4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"Nl" = ( +/turf/closed/wall/rust/yesdiag, +/area/overmap_encounter/planetoid/cave/explored) +"No" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 3 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Np" = ( +/obj/machinery/button/door{ + dir = 4; + pixel_x = -24; + pixel_y = 8; + id = "wtpw1" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 4 + }, +/obj/machinery/button/shieldwallgen{ + id = "tradehouse"; + dir = 4; + pixel_y = -2; + pixel_x = -22 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"Nq" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"Nu" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Nw" = ( +/obj/effect/turf_decal/industrial/caution, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ny" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"NC" = ( +/obj/effect/decal/cleanable/molten_object{ + pixel_x = 1; + pixel_y = -12 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ND" = ( +/obj/item/stack/sheet/mineral/sandbags{ + amount = 2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/flippedtable{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"NK" = ( +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 8 + }, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"NR" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"Of" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/plate, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Oi" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/grille, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Oy" = ( +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer4, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"OB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/machinery/door/airlock/command/glass{ + name = "Central Dome" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/center) +"OI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/center) +"OJ" = ( +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/security{ + name = "Barracks" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"OQ" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/brown, +/obj/item/radio/intercom/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"OV" = ( +/obj/item/stack/sheet/mineral/sandbags, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Pc" = ( +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Po" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/gibspawner/robot, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ps" = ( +/turf/closed/wall/rust/yesdiag, +/area/ruin/wasteplanet/tradepost/barracks) +"Pt" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"PI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 8 + }, +/obj/structure/closet/crate, +/obj/item/circuitboard/machine/shieldwallgen/atmos/strong, +/obj/item/circuitboard/machine/shieldwallgen/atmos/strong, +/obj/item/circuitboard/machine/shieldwallgen/atmos/strong, +/obj/item/circuitboard/machine/shieldwallgen/atmos/strong, +/obj/item/circuitboard/machine/shieldwallgen/atmos/strong, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"PV" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"PY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"PZ" = ( +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Qb" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/closet/secure_closet/engineering_electrical{ + populate = 0 + }, +/obj/item/storage/toolbox/electrical, +/obj/item/multitool, +/obj/item/stack/tape/industrial/electrical, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"Qe" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent{ + pixel_y = -8; + pixel_x = -7 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Qn" = ( +/mob/living/simple_animal/hostile/hivebot/strong, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"QB" = ( +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"QE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"QK" = ( +/obj/item/clipboard, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/item/radio/intercom/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"QL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"QR" = ( +/obj/item/clothing/head/helmet/inteq{ + pixel_y = 4; + pixel_x = 3 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"QT" = ( +/obj/structure/flora/ash/glowshroom, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"QZ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ra" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Re" = ( +/obj/effect/gibspawner/robot, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer4{ + dir = 1 + }, +/obj/machinery/light/small/broken/directional/east, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/foamedmetal/iron, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Rg" = ( +/obj/machinery/atmospherics/pipe/manifold/green/visible{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/engis_unite{ + pixel_y = 28 + }, +/obj/machinery/light/small/broken/directional/west, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"Ri" = ( +/obj/structure/filingcabinet/double, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Rj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Rk" = ( +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Rr" = ( +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/obj/item/storage/toolbox/ammo/c9mm{ + pixel_y = 2 + }, +/obj/item/storage/toolbox/ammo/c10mm{ + pixel_x = 2; + pixel_y = 7 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"Rt" = ( +/turf/closed/wall/rust, +/area/ruin/wasteplanet/tradepost/barracks) +"Ry" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"RA" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"RB" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/grille, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"RD" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"RI" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/effect/turf_decal/trimline/opaque/yellow/warning, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"RK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/pen/fourcolor, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_box/magazine/m9mm_rattlesnake{ + start_empty = 1; + pixel_x = -9; + pixel_y = -3; + icon_state = "rattlesnake_mag_0" + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"RR" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 9 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 4 + }, +/obj/structure/table, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"RV" = ( +/obj/machinery/light/small/broken/directional/north, +/obj/item/radio/intercom/directional/west, +/obj/structure/closet/cabinet, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"Sd" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"Se" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor6-old" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor5-old" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor2-old" + }, +/obj/effect/mob_spawn/human/corpse/inteq/enforcer{ + head = null; + husk = 1 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/gun/ballistic/automatic/pistol/commander/inteq/no_mag{ + pixel_y = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Si" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/flashlight/flare/burnt, +/turf/open/floor/concrete/pavement/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Sw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"SE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"SF" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor4-old" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"SI" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"SP" = ( +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/modular_computer/console/preset/civilian{ + name = "high powered gaming PC"; + desc = "Looks pretty premium. Probably made by Cybersun though." + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"Tg" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost) +"Th" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/ore/salvage/scrapgold, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/security{ + name = "Barracks" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"Tk" = ( +/obj/machinery/button/door{ + dir = 8; + pixel_y = -8; + pixel_x = 24; + id = "wtpw2" + }, +/obj/machinery/button/shieldwallgen{ + id = "tradehouse2"; + dir = 8; + pixel_y = 2; + pixel_x = 22 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"Tn" = ( +/obj/structure/spawner/hivebot, +/obj/structure/cable, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"To" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/flashlight/flare/burnt, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Tt" = ( +/obj/effect/decal/cleanable/molten_object/large, +/obj/effect/decal/cleanable/blood/old, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/radio/weather_monitor, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ty" = ( +/obj/machinery/atmospherics/components/trinary/mixer/airmix, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost) +"Tz" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"TB" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"TC" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"TD" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"TJ" = ( +/obj/structure/table/wood, +/obj/machinery/fax/ruin{ + pixel_y = 7 + }, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"TS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/closed/wall/rust, +/area/ruin/wasteplanet/tradepost/barracks) +"TT" = ( +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/item/trash/plate, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"Ud" = ( +/turf/closed/mineral/random/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Um" = ( +/obj/item/radio/intercom/directional/north{ + freerange = 1; + freqlock = 1; + frequency = 1347; + name = "IRMG shortwave intercom" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/ruin/wasteplanet/tradepost/barracks) +"Uo" = ( +/obj/structure/girder/displaced, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Uu" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"UE" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"UG" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"UQ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"US" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/curtain, +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/center) +"Vh" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Vi" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"Vl" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/rack, +/obj/machinery/door/window/southleft, +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/item/soap, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"Vr" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Vw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/gibspawner/robot, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Vy" = ( +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 10 + }, +/obj/structure/table, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"VS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"VT" = ( +/obj/item/stack/ore/salvage/scraptitanium/five, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"VY" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/ore/salvage/scrapgold, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Wg" = ( +/turf/open/floor/concrete/pavement/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Wk" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/barracks) +"Wl" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/curtain, +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/center) +"Wr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Wx" = ( +/obj/machinery/meter/atmos/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"Wy" = ( +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/center) +"WD" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"WE" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"WF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"WG" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mob_spawn/human/corpse/indie/engineer, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"WK" = ( +/obj/effect/decal/cleanable/molten_object{ + pixel_x = -10; + pixel_y = -1 + }, +/obj/effect/decal/cleanable/molten_object{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip4" + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"WL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mob_spawn/human/corpse/indie/engineer, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"WO" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip1" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/advanced_airlock_controller{ + pixel_x = -26; + pixel_y = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/mob/living/simple_animal/hostile/hivebot/ranged, +/obj/structure/door_assembly/door_assembly_com, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"WR" = ( +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"WU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Xc" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/crate_shelf, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"Xd" = ( +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Xf" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Xg" = ( +/obj/structure/sign/warning/gasmask{ + pixel_x = -28 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"Xh" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Xo" = ( +/obj/machinery/door/airlock{ + name = "Bathroom"; + id_tag = "but" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"Xq" = ( +/obj/item/radio/weather_monitor, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Xw" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Xz" = ( +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"XB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"XQ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/obj/structure/foamedmetal/iron, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"XS" = ( +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"XY" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"Ya" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 4 + }, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"Yd" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/pipe_dispenser, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Yf" = ( +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"Yj" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/sign/poster/contraband/eoehoma{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"Yl" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"Yt" = ( +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Yw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/barracks) +"YC" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/table, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/item/watertank/anti_rad{ + pixel_x = 5; + pixel_y = 7 + }, +/obj/item/clothing/mask/gas/atmos, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"YO" = ( +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/effect/turf_decal/industrial/warning/full, +/obj/machinery/power/rtg/geothermal, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"YV" = ( +/obj/item/flashlight/flare/burnt, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Zb" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"Zc" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/reagent_dispensers/foamtank/antirad, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"Zh" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/marker_beacon, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Zj" = ( +/obj/machinery/atmospherics/components/binary/pump/layer2{ + dir = 1; + name = "Waste to Recycling" + }, +/obj/machinery/atmospherics/components/binary/pump/layer4{ + dir = 1; + name = "Distro to Filtration" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light/small/broken/directional/west, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"Zw" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"ZK" = ( +/obj/structure/bed/pod, +/obj/structure/curtain/cloth/grey, +/obj/item/radio/intercom/directional/east, +/obj/item/bedsheet/brown, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"ZN" = ( +/obj/structure/foamedmetal/iron, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"ZO" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/door/window/westleft, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"ZT" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/closet/wall/white{ + dir = 8; + pixel_x = 28 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, +/obj/item/storage/case/surgery, +/obj/item/storage/firstaid/radiation, +/obj/item/storage/firstaid/radiation, +/obj/item/reagent_containers/hypospray/medipen/anti_rad, +/obj/item/reagent_containers/hypospray/medipen/anti_rad, +/obj/item/reagent_containers/hypospray/medipen/anti_rad, +/obj/item/reagent_containers/hypospray/medipen/anti_rad, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/barracks) + +(1,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Wg +Wg +Wg +em +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(2,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +em +Wg +Ju +Wg +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(3,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ml +Wg +Wg +em +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(4,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +en +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +em +Wg +Ml +Wg +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(5,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +en +Ud +Ud +Ma +Ma +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +em +HV +HV +iq +Ml +em +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(6,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +en +Ud +en +Ud +Ud +Ma +Ud +Ud +Ud +en +Ma +Ma +Ma +Ma +Ma +Ma +Ma +HV +JG +Fc +iq +HV +em +em +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(7,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ma +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +sH +em +em +Qn +Wg +kU +em +kU +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(8,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +en +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +HV +To +em +Ba +Wg +Ml +HV +HV +HV +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(9,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +en +Ud +Ud +Ud +en +en +en +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ma +Ma +em +em +gy +HV +em +Wg +Ml +iq +MQ +sH +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(10,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +en +kd +kd +Nl +QB +Nl +en +en +Ud +Ud +en +Ud +Ud +Ud +Ud +QB +QB +Ml +BN +sH +HV +iq +Wg +AT +HV +Fc +em +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(11,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +en +Ud +Ud +kd +QB +QB +sL +QB +QB +QB +en +en +en +en +en +en +en +en +TB +TB +Xw +QB +Ml +em +iq +Si +Wg +zY +em +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +"} +(12,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +en +Ud +Ud +Ud +Ud +kd +sL +QB +QB +QB +QB +FP +QB +QB +NC +QB +jy +jy +jy +Xq +WR +Se +cW +QB +QB +IM +OV +AV +oC +HV +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +"} +(13,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Ud +Ud +en +Rt +Rt +Rt +Rt +Ps +QB +sL +QB +QB +QB +jy +jy +jy +wi +sf +FV +ug +QB +Yt +AV +AV +cJ +cL +Fn +kd +kd +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +"} +(14,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +en +Ud +Ud +en +Ud +hO +hO +hO +Rt +nO +mK +Rt +Rt +hO +Rt +hO +hO +bm +jy +jy +QR +QB +Ry +QZ +GF +AV +Il +pc +tn +sy +GS +jy +jy +Nl +en +en +Ud +Ud +en +Ud +Ud +Ud +Ma +Ma +Ma +"} +(15,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Rt +hO +sb +wB +Rt +lx +ya +Rt +RR +Vy +hO +Rr +CE +hO +QB +QB +QB +FP +HH +AV +AV +Wr +QZ +QB +ug +Tt +iI +QT +jy +jy +jy +kd +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +"} +(16,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ud +en +Ud +Ud +Ud +Rt +RV +Yf +hJ +Rt +ZT +zT +wG +Ga +zS +hO +Yj +Gc +hO +QB +br +FZ +QB +qg +Po +ep +nv +ei +QB +QB +WD +WK +lI +QB +sL +QB +kd +Ud +Ud +Ud +Ud +Ud +en +Ud +Ma +Ma +"} +(17,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Ud +Rt +bZ +nt +xm +hO +hO +hO +Rt +su +XQ +hO +vS +nr +hO +QB +QB +Le +Ko +Nu +QZ +uC +IY +uA +ei +Yt +uC +FK +DI +sL +QB +QB +Nl +en +en +en +Ud +Ud +Ud +Ud +Ud +Ma +"} +(18,1,1) = {" +Ma +Ma +Ma +Ma +Ud +Ud +Ud +en +en +en +hO +eH +ZN +wW +Xo +Ji +hO +JB +EF +RI +DB +Yw +DL +hO +QB +QB +Le +Xf +vQ +uC +Yt +QZ +QZ +Jk +Yt +te +Yt +QB +QB +QB +QB +QB +QB +QB +en +Ud +Ud +Ud +Ud +Ud +Ma +"} +(19,1,1) = {" +Ma +Ma +Ma +Ma +en +Ud +Ud +Ud +en +QB +hO +Iq +ZN +wW +Rt +Rt +hO +lB +xx +AI +Ex +vR +Rt +Rt +Yt +XS +vL +Jn +LW +Il +Il +GQ +Wr +Aa +sZ +Jk +Yt +QB +FP +PZ +QB +QB +sL +QB +Nl +en +Ud +Ud +Ud +Ud +Ma +"} +(20,1,1) = {" +Ma +Ma +Ma +Ud +Ud +Ud +en +en +Nl +QB +hO +eH +ZN +dN +RD +mr +PV +DE +rN +EW +wL +jT +Cg +OJ +Nw +ua +fd +Ea +Vh +Il +MS +MS +MS +QB +QB +QB +jy +QB +QB +QB +PZ +QB +sL +QB +QB +Nl +en +Ud +Ud +en +Ud +"} +(21,1,1) = {" +Ma +Ma +Ma +Ud +Ud +Ud +Ud +en +it +FP +Rt +jb +zO +tf +lF +Zb +Rt +lM +Mt +lE +Th +CB +wl +Rt +Um +Il +pk +Cx +Il +MS +UQ +Kp +El +vy +DR +Uo +jy +sL +QB +QB +FP +QB +QB +QB +QB +QB +Nl +en +Ud +Ud +Ud +"} +(22,1,1) = {" +Ma +Ma +Ma +en +Ud +Ud +en +Nl +cD +pb +Rt +ZK +NR +aI +Ho +um +Rt +hO +FI +hO +TS +xF +hO +Ps +QB +uC +pk +GQ +hg +xA +Jf +UQ +QB +QB +vy +jy +jy +QB +QB +QB +QB +QB +QB +QB +sL +QB +FP +Nl +en +Ud +Ud +"} +(23,1,1) = {" +Ma +Ma +Ud +en +Ud +Ud +en +QB +QB +ly +Ps +Rt +hO +hO +hO +Rt +Rt +nU +Nq +pL +Ny +Gl +Pc +QB +Yt +Yt +uV +Ra +xu +zn +VY +vG +Tn +QB +sL +jy +QB +uW +PZ +Zh +Hc +UQ +Zh +sL +uW +QB +QB +QB +en +Ud +Ud +"} +(24,1,1) = {" +Ma +Ma +Ud +Ud +en +en +Nl +QB +sL +QB +QB +QB +QB +QB +QB +QB +hO +qJ +OQ +Wk +yb +QB +Pc +Yt +Yt +uG +xP +Il +MF +tV +Kt +ei +ei +QB +LR +jy +FP +sv +yF +PZ +PZ +PZ +PZ +PZ +sL +QB +QB +Nl +en +Ud +Ud +"} +(25,1,1) = {" +Ma +Ma +Ud +Ud +Ud +kd +QB +QB +FP +QB +QB +QB +ba +UQ +MS +MS +Wk +ip +AQ +Wk +yb +Jh +QB +IM +uG +xP +Yt +VT +QB +LD +bY +WL +yF +PZ +DQ +jy +QB +yJ +sL +PZ +sL +PZ +PZ +sL +EJ +QB +QB +en +Ud +Ud +en +"} +(26,1,1) = {" +Ma +Ud +Ud +Ud +Ud +kd +QB +QB +PZ +QB +sL +QB +QB +QB +QB +QB +Ac +Wk +Wk +Ac +dS +gA +Yt +Yt +pk +Xd +pD +QB +QB +QB +QB +QB +QB +jy +jy +jy +jy +yF +PZ +PZ +sL +PZ +sL +PZ +PZ +PZ +sL +kd +en +Ud +Ud +"} +(27,1,1) = {" +Ma +Ud +en +Ud +ez +ez +ez +Wy +Wy +Wy +Wy +Wy +ez +fU +QB +sL +QB +MS +MS +MS +Ie +km +Yt +GQ +do +Xd +Yt +Yt +Yt +zo +Il +Yt +Hb +vy +Bu +Yt +QZ +QZ +PZ +PZ +sL +sL +sL +PZ +LM +sL +QB +kd +Ud +Ud +Ud +"} +(28,1,1) = {" +Ma +Ud +Ud +ez +fU +Ij +hN +hH +TJ +ez +lj +Vi +nN +ez +fU +QB +QB +QB +QB +Yt +gf +Dk +dF +ua +xP +Yt +Yt +QZ +QZ +dB +lq +AV +AV +wA +eF +LO +sv +Yt +PZ +sL +sL +PZ +sL +sL +PZ +QB +QB +kd +Ud +Ud +Ud +"} +(29,1,1) = {" +Ma +Ud +Ud +Wy +rY +Yl +VS +rb +gC +ez +Gf +ts +Ya +ig +Wy +QB +CG +PZ +Yt +mN +KA +ua +jk +Yt +uC +Yt +Yt +kr +Yt +UG +QZ +QZ +AV +Il +Il +sL +sv +Yt +PZ +sL +sL +PZ +PZ +sL +PZ +FP +QB +en +Ud +Ud +Ud +"} +(30,1,1) = {" +Ud +en +Ud +Wy +SP +Kk +Mr +Fy +Hn +Wy +NK +wM +aS +Mb +Wy +QB +QB +QB +Yt +GB +gw +Il +Yt +QB +QB +Yt +QB +Hc +QB +QB +CA +CA +CA +MS +ba +QB +QB +LM +PZ +PZ +sL +PZ +sL +PZ +EJ +sL +QB +en +Ud +en +Ud +"} +(31,1,1) = {" +Ud +Ud +Ud +Wy +vr +vi +vi +QL +sA +Wy +Wy +Wy +Fb +tz +Wy +as +PZ +QB +km +AP +ra +Il +QB +QB +FP +QB +QB +gh +zD +pl +DG +CC +aj +zD +zD +gh +QB +sL +sL +sL +PZ +sL +sL +PZ +sL +QB +QB +en +Ud +Ud +Ud +"} +(32,1,1) = {" +Ud +Ud +Ud +ez +Cf +mI +aQ +qy +fU +ez +Kx +Wy +Eu +oQ +Lm +Wy +QB +FP +Yt +Ft +Ae +Yt +Yt +Yt +gh +zD +zD +zD +zq +ch +pQ +fe +Gp +Np +uf +zD +QB +EJ +PZ +sL +PZ +sL +sL +sL +EJ +QB +QB +en +Ud +Ud +Ud +"} +(33,1,1) = {" +en +Ud +Ud +Wy +Wy +OI +Wy +Dl +ez +QK +xv +qk +ro +uo +xX +Wy +QB +QB +Yt +lY +bH +hX +lv +ef +Jb +wm +AH +gj +aB +Pt +Hy +Hy +uN +ED +Zc +pl +QB +sL +sL +PZ +PZ +sL +sL +PZ +sL +sL +sL +kd +Ud +Ud +Ud +"} +(34,1,1) = {" +Ud +Ud +Ud +Wy +Cj +ML +lf +Qe +hE +Oy +Rk +fU +ez +ez +Wy +Wy +Wy +Hv +Ki +QZ +hV +Yt +Yt +Yt +gZ +zD +pl +zD +hn +uw +lQ +dd +Uu +bW +tp +zD +QB +uW +sL +uW +SE +Hc +uW +sL +EJ +QB +QB +kd +Ud +Ud +Ud +"} +(35,1,1) = {" +Ud +Ud +Ud +ez +la +ta +pe +RK +kx +SF +fr +bM +tL +Fx +qw +sN +WO +hW +Ak +PY +jn +QB +QB +QB +QB +zD +Jm +bz +In +In +Xc +Xc +Xc +kf +iy +zD +QB +QB +QB +QB +QB +FP +QB +QB +QB +sL +QB +kd +Ud +en +Ud +"} +(36,1,1) = {" +Ud +Ud +Ud +ez +sS +IN +dD +gI +Gt +ds +DS +zM +xQ +bj +IF +Re +dr +OB +kP +nL +XB +QB +QB +FP +QB +zD +iX +In +MA +Jv +IA +qr +CD +TD +ze +pl +FP +QB +jy +DR +jy +jy +jy +QB +QB +QB +Nl +en +Ud +Ud +Ud +"} +(37,1,1) = {" +Ud +Ud +Ud +ez +ez +IH +ru +Of +xM +Jt +Xz +ND +ag +ht +Wy +Wy +Wy +as +kP +AV +Vw +CI +QB +QB +QB +zD +cC +sT +Tk +Zw +hU +KZ +PI +kt +tU +pl +QB +jy +bY +QB +QB +QB +sL +bY +QB +QB +en +Ud +Ud +Ud +Ud +"} +(38,1,1) = {" +Ma +Ud +Ud +Ud +ez +ox +QE +et +nn +jD +TT +XY +hD +oz +MU +If +If +If +eq +AV +yt +Yt +QB +QB +EM +gZ +zD +zD +pl +pm +KG +zD +zD +pl +zD +gh +QB +DR +sL +Ei +QB +YO +QB +jy +QB +Nl +en +Ud +Ud +Ud +Ma +"} +(39,1,1) = {" +Ma +Ud +Ud +Ud +Wy +Ri +xw +gP +mC +ir +pT +nJ +Ni +Kr +Wy +QB +sL +FP +aM +cH +gl +yZ +IM +CI +Xd +Xd +CI +CI +Yt +SI +WE +Ah +Vr +yI +yI +Tz +ft +Tz +qM +Tz +TC +sL +QB +jy +QB +kd +Ud +Ud +Ud +Ud +Ma +"} +(40,1,1) = {" +Ma +Ud +Ud +Ud +Wy +ez +Wy +Wy +rB +Wy +Wy +Wy +ZO +Wy +as +QB +QB +Nh +QB +Bk +Yt +vz +ua +ua +ua +Rj +ua +rl +Jp +Cq +WF +pj +CI +Xd +CI +QB +PZ +QB +QB +CV +sL +QB +QB +Nl +kd +en +Ud +en +Ud +Ud +Ma +"} +(41,1,1) = {" +Ma +Ud +Ud +Ud +Ud +Ud +ez +Vl +JL +HK +BK +Wy +ez +as +RB +xV +Oi +xV +ed +UE +QB +Yt +sL +UQ +Il +mo +Yt +Yt +rQ +Cb +Yt +pj +CI +CI +CI +QB +sL +QB +sL +sL +QB +FP +Nl +en +Ud +Ud +Ud +Ud +Ud +Ud +Ma +"} +(42,1,1) = {" +Ma +Ma +Ud +Ud +Ud +Ud +ez +Ig +aF +fY +US +ez +QB +jy +QB +ib +Yd +QB +Kl +No +LR +sL +QB +QB +ew +WG +Yt +Yt +qi +Yt +QB +Le +bJ +PZ +PZ +Uo +QB +bY +QB +QB +jy +jy +en +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +"} +(43,1,1) = {" +Ma +Ma +Ud +Ud +Ud +Ud +fU +ez +je +uS +Wl +ez +QB +vy +sL +dw +jy +jy +Kl +sL +PZ +sL +PZ +cs +qb +zA +nb +ew +yb +QB +QB +fs +sL +PZ +QB +sL +sL +QB +QB +jy +jy +Nl +en +Ud +en +Ud +Ud +Ud +Ud +Ma +Ma +"} +(44,1,1) = {" +Ma +Ma +Ma +Ud +Ud +Ud +Ud +ez +ez +ez +ez +fU +QB +PZ +UQ +DR +Uo +jy +Kl +vy +DR +sL +QB +Tg +Xg +lp +qb +QB +yb +sL +QB +Du +kM +QB +QB +QB +PZ +QB +QB +jy +Nl +en +Ud +Ud +Ud +Ud +en +Ud +Ud +Ma +Ma +"} +(45,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Nl +en +QB +QB +QB +YV +DQ +MS +QB +PZ +FP +Fe +en +qb +qb +qb +nb +sx +qb +qb +qb +yb +LD +bY +WU +QB +yf +LV +FP +sL +PZ +QB +Nl +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +"} +(46,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ud +en +Ud +en +Nl +QB +FP +QB +QB +sL +Xh +lw +vG +JR +ho +dE +Rg +Mm +Zj +ks +Wx +vK +FG +eS +QB +QB +qR +yf +yf +QB +QB +QB +Uo +Nl +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +"} +(47,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +en +QB +QB +YV +sL +FP +lX +PZ +QB +aR +ho +dE +KF +mt +Sw +RA +Fd +YC +qb +uy +QB +QB +HE +yf +QB +QB +QB +jy +Nl +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +"} +(48,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +en +Nl +QB +QB +QB +sL +QB +PZ +QB +sL +ho +dE +qp +yd +Kw +HO +ub +Sd +qb +QB +PZ +QB +uU +LK +ty +CK +QB +jy +en +Ud +Ud +Ud +Ud +Kf +Ud +en +Ud +Ud +Ma +Ma +Ma +Ma +"} +(49,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +kd +kd +QB +QB +Uo +FP +PZ +QB +sL +kd +qb +nb +qV +mA +Ty +cq +LY +qb +QB +QB +QB +QB +QB +sL +QB +jy +jy +en +Ud +en +Ud +Ud +Ma +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +"} +(50,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +kd +Nl +sL +QB +PZ +Uo +QB +QB +QB +QB +nb +Qb +Cc +Dw +cZ +vu +qb +bY +QB +FP +PZ +sL +jy +jy +jy +Nl +en +Ud +Ud +Ud +Ma +Ma +Ma +Ud +Ud +Ma +Ma +Ma +Ma +Ma +"} +(51,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +en +Nl +QB +QB +sL +YV +QB +QB +QB +cs +nb +nb +nb +qb +qb +cs +QB +QB +QB +jy +jy +jy +Nl +en +en +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(52,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +en +Ud +en +QB +Nl +en +en +en +en +en +en +Ud +Ud +Ud +Ud +Ud +kd +kd +kd +kd +kd +kd +kd +en +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(53,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +en +en +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(54,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +en +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(55,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(56,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(57,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_unhonorable.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_unhonorable.dmm index ddbaaf26271..49f58d1b67b 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_unhonorable.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_unhonorable.dmm @@ -93,7 +93,7 @@ /turf/open/floor/plating/wasteplanet, /area/ruin/wasteplanet/wasteplanet_radiation) "gx" = ( -/mob/living/simple_animal/hostile/hivebot/wasteplanet, +/mob/living/simple_animal/hostile/hivebot, /turf/open/floor/plating/asteroid/wasteplanet, /area/ruin/wasteplanet/wasteplanet_radiation) "gM" = ( @@ -137,7 +137,7 @@ /turf/open/floor/plating, /area/ruin/wasteplanet/wasteplanet_radiation/containment) "iT" = ( -/obj/structure/spawner/wasteplanet/hivebot/low_threat, +/obj/structure/spawner/hivebot, /turf/open/floor/plating/asteroid/wasteplanet, /area/ruin/wasteplanet/wasteplanet_radiation) "jh" = ( @@ -684,7 +684,7 @@ /turf/open/floor/plating/asteroid/wasteplanet, /area/ruin/wasteplanet/wasteplanet_radiation) "Mh" = ( -/mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid, +/mob/living/simple_animal/hostile/hivebot/ranged, /turf/open/floor/plating/asteroid/wasteplanet, /area/ruin/wasteplanet/wasteplanet_radiation) "Mq" = ( diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm new file mode 100644 index 00000000000..227e2b7d489 --- /dev/null +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm @@ -0,0 +1,6367 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ah" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/bed{ + dir = 4 + }, +/obj/item/bedsheet/green{ + dir = 4 + }, +/obj/structure/curtain/cloth/grey, +/obj/machinery/light/small/broken/directional/north, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"aj" = ( +/obj/item/trash/sosjerky{ + pixel_x = 2; + pixel_y = -15 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/item/trash/raisins{ + pixel_x = 11; + pixel_y = -13 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"al" = ( +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 5 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"ar" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/item/storage/firstaid/radiation, +/obj/item/storage/cans/sixbeer, +/obj/effect/turf_decal/corner/transparent/neutral/mono, +/obj/effect/turf_decal/corner/transparent/blue/border{ + dir = 10 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"aw" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"aH" = ( +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"aI" = ( +/obj/structure/table/wood, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"aL" = ( +/obj/structure/table, +/obj/item/soap, +/obj/effect/turf_decal/corner/transparent/neutral/mono, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"aM" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"aQ" = ( +/obj/structure/rack, +/obj/item/clothing/glasses/welding, +/obj/item/weldingtool/hugetank/empty, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"aV" = ( +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 5 + }, +/obj/structure/chair, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"ba" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"bc" = ( +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/structure/closet/crate/secure/loot, +/obj/effect/mob_spawn/human/corpse/charredskeleton, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"bf" = ( +/obj/structure/table, +/obj/item/flashlight/lamp, +/obj/machinery/light/small/directional/east, +/obj/item/reagent_containers/food/snacks/chewable/bubblegum/nicotine{ + pixel_x = -8; + pixel_y = 11 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"bi" = ( +/obj/structure/crate_shelf, +/obj/structure/closet/crate, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_x = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"bp" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/item/gps{ + gpstag = "Distress Signal" + }, +/obj/effect/mob_spawn/human/corpse/charredskeleton, +/obj/effect/decal/cleanable/blood/old, +/obj/item/screwdriver/power, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"bq" = ( +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 6 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"bu" = ( +/obj/structure/table, +/obj/structure/reagent_dispensers/beerkeg, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"bA" = ( +/obj/structure/closet/crate{ + name = "ration crate" + }, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"bB" = ( +/mob/living/simple_animal/hostile/hivebot, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"bD" = ( +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"bF" = ( +/obj/structure/closet, +/obj/structure/sign/poster/contraband/gec{ + pixel_x = -28 + }, +/obj/item/clothing/under/rank/engineering/engineer/hazard, +/obj/item/clothing/head/hardhat/orange, +/obj/item/clothing/shoes/workboots, +/obj/item/spacecash/bundle/smallrand, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"bO" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"bS" = ( +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/storage/belt/utility, +/obj/item/weldingtool/largetank, +/obj/item/weldingtool/largetank, +/obj/item/weldingtool/largetank, +/obj/structure/closet/crate/engineering, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"bU" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"bZ" = ( +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/structure/closet/crate/secure/loot, +/obj/item/crowbar/power, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"cd" = ( +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/item/stack/sheet/mineral/plasma/twenty, +/obj/structure/closet/crate/secure/plasma, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"cg" = ( +/obj/structure/fence/post, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"cj" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet) +"cp" = ( +/obj/structure/closet/wall/directional/south, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/neck/cloak/qm, +/obj/item/clothing/head/beret/qm, +/obj/item/clothing/under/rank/cargo/qm, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"cv" = ( +/obj/item/kirbyplants/dead, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 5 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"cx" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/industrial/traffic/fulltile, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/firedoor/closed, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"cz" = ( +/obj/effect/mob_spawn/human/corpse/charredskeleton, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"cA" = ( +/obj/structure/grille/broken, +/obj/item/shard, +/obj/structure/curtain/cloth/grey, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"cF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"cI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"cP" = ( +/mob/living/simple_animal/hostile/hivebot/strong, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/mob_spawn/human/corpse/charredskeleton, +/obj/item/wrench/combat, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"dd" = ( +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/obj/effect/decal/cleanable/garbage{ + pixel_x = -6; + pixel_y = 10 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"de" = ( +/obj/effect/turf_decal/industrial/warning/dust, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"df" = ( +/obj/effect/turf_decal/industrial/hatch/red, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"dn" = ( +/obj/machinery/shower{ + pixel_y = 19 + }, +/obj/structure/curtain, +/obj/item/soap/nanotrasen, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"dv" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"dw" = ( +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/structure/closet/crate/large, +/mob/living/simple_animal/hostile/hivebot, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"dI" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"dP" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/snacks/ration/side/white_sandwich_bread, +/obj/item/reagent_containers/food/snacks/ration/snack/cherry_snackers{ + pixel_x = 10; + pixel_y = 8 + }, +/obj/item/trash/plate{ + pixel_x = -13 + }, +/obj/item/reagent_containers/food/snacks/ration/snack/sour_gummy_worms{ + pixel_x = 1; + pixel_y = 7 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"dY" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/crate_shelf, +/obj/machinery/light/small/broken/directional/west, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"ek" = ( +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"et" = ( +/obj/machinery/washing_machine, +/obj/machinery/light/small/broken/directional/east, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"ey" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"eD" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/under/rank/engineering/chief_engineer, +/obj/item/stamp/ce, +/obj/item/clothing/head/hardhat/weldhat/white, +/obj/item/gun/energy/laser/retro, +/obj/structure/sign/poster/contraband/space_cube{ + pixel_x = 32 + }, +/obj/item/spacecash/bundle/pocketchange, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"eL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/lime/border, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"eN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east{ + start_charge = 0 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"eO" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"eS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"fe" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"fp" = ( +/obj/mecha/working/ripley/cargo, +/obj/effect/turf_decal/industrial/hatch/orange, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"fz" = ( +/obj/structure/closet/secure_closet/engineering_welding, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"fA" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"fH" = ( +/obj/effect/turf_decal/miskilamo_small/left, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"fP" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/ruin/wasteplanet) +"ga" = ( +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/item/stack/cable_coil/red{ + pixel_y = 4 + }, +/obj/item/stack/cable_coil/orange, +/obj/item/stack/cable_coil/yellow{ + pixel_y = -4 + }, +/obj/item/stack/cable_coil/cut/pink, +/obj/structure/closet/crate/engineering/electrical, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"gb" = ( +/obj/structure/chair/stool/bar{ + dir = 8; + pixel_x = -8 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"ge" = ( +/obj/structure/table, +/obj/item/flashlight/lamp, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"gg" = ( +/turf/closed/mineral/random/wasteplanet, +/area/ruin/wasteplanet) +"gk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"gs" = ( +/turf/closed/wall, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"gx" = ( +/obj/structure/sign/warning/docking{ + pixel_y = 32 + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 9 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"gF" = ( +/obj/structure/closet, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/under/rank/engineering/engineer/hazard, +/obj/item/clothing/head/hardhat, +/obj/item/trash/chips, +/obj/structure/sign/poster/contraband/hacking_guide{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"gH" = ( +/obj/effect/decal/cleanable/oil/slippery, +/obj/effect/decal/cleanable/robot_debris/up, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"gO" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"gP" = ( +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"gV" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/item/clothing/shoes/workboots, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 1 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"hn" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"hr" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"hs" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_x = 28 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"ht" = ( +/obj/structure/bed, +/obj/item/bedsheet/brown, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"hA" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/industrial/traffic/fulltile, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"hG" = ( +/obj/structure/toilet{ + dir = 8; + pixel_x = 4 + }, +/obj/effect/turf_decal/corner/transparent/neutral/mono, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"hH" = ( +/obj/effect/turf_decal/miskilamo_small, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"hJ" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"hK" = ( +/obj/machinery/shower{ + pixel_y = 19 + }, +/obj/structure/curtain, +/obj/structure/catwalk/over/plated_catwalk/white, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"hO" = ( +/obj/machinery/vending/coffee, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"hP" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/industrial/warning/dust/corner{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/dust/corner, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"hW" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"hY" = ( +/obj/structure/grille/broken, +/obj/item/shard, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"il" = ( +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"in" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"is" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"ix" = ( +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"iB" = ( +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"iD" = ( +/obj/structure/grille/broken, +/obj/item/shard, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"iF" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"iJ" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 8 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"iK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"iR" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"iW" = ( +/obj/structure/closet/secure_closet/engineering_electrical, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"jd" = ( +/obj/effect/turf_decal/miskilamo_small/right, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"je" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/caution, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"jh" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"jo" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/corner/transparent/neutral/mono, +/obj/effect/turf_decal/corner/transparent/blue/border{ + dir = 5 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"jq" = ( +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 10 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"jt" = ( +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/ruin/wasteplanet) +"jy" = ( +/obj/effect/turf_decal/industrial/hatch/orange, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"jC" = ( +/obj/machinery/microwave, +/obj/item/clothing/head/chefhat{ + pixel_y = 13 + }, +/obj/structure/table, +/obj/effect/decal/cleanable/food/flour, +/obj/item/reagent_containers/food/snacks/badrecipe, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/corner/transparent/neutral/diagonal, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"jI" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"jT" = ( +/obj/structure/closet/crate/bin, +/obj/item/trash/can, +/obj/item/trash/candy, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 10 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"jY" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"kc" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"kd" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/industrial/traffic/fulltile, +/obj/machinery/door/firedoor/closed, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"ke" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"ki" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"kn" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/item/multitool{ + pixel_y = -5; + pixel_x = 11 + }, +/obj/item/screwdriver{ + pixel_x = -7 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"ks" = ( +/obj/structure/mirror{ + pixel_x = -28 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = -13 + }, +/obj/effect/turf_decal/corner/transparent/neutral/mono, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"kw" = ( +/obj/structure/chair/plastic, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"kD" = ( +/obj/effect/turf_decal/industrial/hatch/red, +/obj/structure/closet/crate/secure/loot, +/obj/item/circuitboard/machine/grounding_rod, +/obj/item/circuitboard/machine/grounding_rod, +/obj/item/circuitboard/machine/grounding_rod, +/obj/item/circuitboard/machine/grounding_rod, +/obj/item/stack/sheet/metal/twenty, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"kH" = ( +/obj/structure/table, +/obj/item/flashlight/lamp{ + pixel_y = 12; + pixel_x = -8 + }, +/obj/machinery/light/small/directional/east, +/obj/item/screwdriver{ + pixel_x = -7 + }, +/obj/item/stack/cable_coil/cut/red, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"kJ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"kM" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"kP" = ( +/mob/living/simple_animal/hostile/hivebot/ranged, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"kS" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 10 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"kW" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"kY" = ( +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 5 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"kZ" = ( +/obj/item/storage/toolbox/drone, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"lb" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/small/broken/directional/east, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"le" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north{ + start_charge = 0 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"lf" = ( +/obj/item/stack/ore/salvage/scrapmetal, +/obj/item/stack/ore/salvage/scrapuranium, +/obj/structure/catwalk/over, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"lq" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"lx" = ( +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"lB" = ( +/obj/structure/marker_beacon{ + picked_color = "Lime" + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"lG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"lO" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"lT" = ( +/obj/structure/closet/crate/secure/loot, +/obj/item/clothing/suit/space/nasavoid, +/obj/item/clothing/head/helmet/space/nasavoid, +/obj/item/tank/jetpack/void, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/ruin/wasteplanet) +"lV" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"lW" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"lY" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"mi" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/lime/bordercorner, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"mq" = ( +/obj/structure/fence/door, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"mA" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/industrial/warning/dust/corner, +/obj/effect/turf_decal/industrial/warning/dust/corner{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"mG" = ( +/obj/machinery/suit_storage_unit/open, +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"mK" = ( +/obj/structure/fence/post{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"mS" = ( +/obj/effect/turf_decal/industrial/hatch/orange, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"mU" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"mZ" = ( +/obj/structure/fence, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"nd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"ne" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"nf" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"ng" = ( +/obj/structure/table_frame, +/obj/item/stack/ore/salvage/scrapmetal, +/obj/item/wirecutters, +/obj/item/screwdriver{ + pixel_x = 7; + pixel_y = -8 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 5 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"ni" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/item/bedsheet/green{ + dir = 4 + }, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"nr" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"nx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"nH" = ( +/obj/machinery/door/airlock/command, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"nJ" = ( +/obj/structure/cable/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/power/apc/auto_name/directional/west{ + start_charge = 0 + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"nL" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"nP" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/lime/border, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"nV" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/structure/closet/crate/coffin, +/obj/effect/mob_spawn/human/corpse/charredskeleton, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/ruin/wasteplanet) +"nZ" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/neutral/mono, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"oe" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"oh" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 10 + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"ok" = ( +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 10 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"os" = ( +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"ov" = ( +/obj/structure/fence, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"oz" = ( +/obj/item/kirbyplants/dead, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"oA" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"oJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/neutral/diagonal, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"oK" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 5 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"oS" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"oT" = ( +/obj/structure/fence{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"oW" = ( +/obj/machinery/hydroponics/constructable, +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/seeds/potato, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"pb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"pd" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"ph" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs{ + dir = 4 + }, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"pj" = ( +/turf/closed/wall, +/area/ruin/wasteplanet) +"pr" = ( +/obj/effect/turf_decal/industrial/traffic, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"pt" = ( +/mob/living/simple_animal/hostile/hivebot/strong, +/obj/structure/sign/warning/docking{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"pu" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/industrial/warning/dust/corner{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/dust/corner{ + dir = 1 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"px" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"pz" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = -6 + }, +/obj/item/folder/yellow{ + pixel_x = 8 + }, +/obj/item/pen/fountain{ + pixel_x = -6; + pixel_y = 1 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"pB" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/ruin/wasteplanet) +"pF" = ( +/obj/structure/chair/stool/bar{ + dir = 8; + pixel_x = -8 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/north{ + start_charge = 0 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"pG" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 2 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"pJ" = ( +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"pK" = ( +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 6 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"pQ" = ( +/obj/structure/table, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"pY" = ( +/obj/item/stack/ore/iron, +/obj/effect/decal/cleanable/blood/gibs/down, +/obj/item/stack/ore/salvage/scrapmetal, +/obj/item/shard, +/obj/effect/mob_spawn/human/corpse/charredskeleton, +/obj/item/clothing/head/caphat/cowboy, +/obj/structure/sign/poster/retro/smile{ + pixel_x = -28 + }, +/obj/machinery/light/small/broken/directional/south, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"qd" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"qo" = ( +/obj/machinery/door/airlock, +/obj/structure/barricade/wooden/crude, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"qr" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"qs" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/obj/structure/sign/warning/nosmoking/burnt{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"qt" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"qu" = ( +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 5 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"qw" = ( +/obj/machinery/vending/cola/pwr_game, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"qy" = ( +/obj/structure/toilet{ + pixel_y = 11 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"qB" = ( +/obj/effect/turf_decal/industrial/hatch/red, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"qL" = ( +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/ruin/wasteplanet) +"qS" = ( +/obj/structure/closet/crate{ + name = "ration crate" + }, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/machinery/light/small/broken/directional/south, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"rd" = ( +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"re" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"rp" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"rv" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -6 + }, +/obj/item/folder/yellow{ + pixel_x = 8 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"rw" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/catwalk/over, +/obj/structure/spawner/hivebot, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"ry" = ( +/obj/structure/fence{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"rQ" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"sf" = ( +/mob/living/simple_animal/hostile/hivebot, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/ruin/wasteplanet) +"sm" = ( +/obj/item/stack/ore/salvage/scrapmetal/five, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"sx" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"sz" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/smes, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"sB" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"sF" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"sK" = ( +/obj/structure/girder, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"sL" = ( +/obj/machinery/ntnet_relay, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"sO" = ( +/obj/structure/fence/door, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"sT" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/sign/poster/contraband/space_cola{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"ta" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/turf_decal/corner/transparent/neutral/mono, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"td" = ( +/obj/structure/fence, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"tn" = ( +/turf/template_noop, +/area/template_noop) +"to" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/lime/bordercorner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"tu" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/transparent/neutral/diagonal, +/obj/structure/sink/kitchen{ + dir = 4 + }, +/obj/effect/decal/cleanable/food/flour, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"tv" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"ty" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"tD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/lime/bordercorner, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"tK" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"tL" = ( +/obj/machinery/door/airlock/maintenance/external/glass, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"tT" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/broken_bottle, +/obj/item/shard, +/obj/item/reagent_containers/food/drinks/bottle/hooch, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"tX" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"tY" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"ul" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/sign/poster/contraband/engis_unite{ + pixel_y = -28 + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"um" = ( +/obj/structure/table, +/obj/structure/showcase/machinery/tv{ + name = "\improper television"; + desc = "A mess of wires and duct tape that barely functions" + }, +/obj/item/toy/plush/among{ + pixel_x = 7; + pixel_y = 14 + }, +/obj/item/stack/cable_coil/cut/red{ + pixel_y = 10 + }, +/obj/item/kitchen/fork{ + pixel_x = 12; + name = "load bearing fork" + }, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 5 + }, +/obj/item/trash/raisins{ + pixel_x = -12; + pixel_y = -2 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"un" = ( +/obj/structure/rack, +/obj/item/clothing/glasses/welding, +/obj/item/weldingtool/hugetank/empty, +/obj/effect/turf_decal/industrial/traffic/corner, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"up" = ( +/obj/effect/decal/cleanable/oil/slippery, +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/item/stack/ore/salvage/scrapplasma, +/obj/effect/decal/cleanable/robot_debris, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"ut" = ( +/obj/structure/rack, +/obj/item/clothing/glasses/welding, +/obj/item/weldingtool/hugetank/empty, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"uw" = ( +/obj/structure/chair/stool/bar{ + dir = 1; + pixel_y = 12 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/turf_decal/corner/transparent/blue, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"uD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 1 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"uN" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"uU" = ( +/obj/structure/chair/comfy/orange/old/alt/directional/south, +/obj/item/toy/plush/snakeplushie, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"uZ" = ( +/obj/structure/table, +/obj/item/trash/plate, +/obj/item/reagent_containers/food/snacks/badrecipe, +/obj/item/reagent_containers/food/drinks/soda_cans/lunapunch{ + pixel_y = 9; + pixel_x = -8 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"vb" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"vf" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"vh" = ( +/obj/structure/table/wood/fancy/orange, +/obj/item/flashlight/lamp/green, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"vv" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/obj/machinery/light/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"vB" = ( +/obj/item/stack/ore/salvage/scraptitanium, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"vC" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"vH" = ( +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 5 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"vN" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/floodlight_frame, +/obj/machinery/light/directional/west, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"vU" = ( +/obj/effect/turf_decal/miskilamo_small/right, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/ruin/wasteplanet) +"vV" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"vX" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"vZ" = ( +/obj/structure/fence{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/ruin/wasteplanet) +"wb" = ( +/obj/machinery/light/dim/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 10 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"wc" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/corner/transparent/neutral/mono, +/obj/effect/turf_decal/corner/transparent/blue/border{ + dir = 9 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"wf" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"wg" = ( +/obj/structure/fence/end{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"wr" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"wv" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"ww" = ( +/obj/effect/turf_decal/industrial/traffic/fulltile, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/firedoor/closed, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"wZ" = ( +/obj/machinery/suit_storage_unit/independent/engineering, +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/effect/turf_decal/industrial/traffic/corner, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"xe" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/caution, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"xf" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning/dust, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"xh" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"xl" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 9 + }, +/obj/item/trash/raisins{ + pixel_x = 15; + pixel_y = -2 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"xs" = ( +/obj/structure/chair/office{ + dir = 4; + pixel_x = 8 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"xO" = ( +/obj/effect/turf_decal/corner/transparent/orange, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"yb" = ( +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"yi" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"yn" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"yp" = ( +/obj/structure/table, +/obj/item/storage/ration/chicken_wings_hot_sauce, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"yr" = ( +/obj/machinery/suit_storage_unit/open, +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"yz" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 5 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"yA" = ( +/obj/structure/bed, +/obj/item/bedsheet/grey, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"yC" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"yD" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"yK" = ( +/turf/closed/wall/r_wall, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"yR" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"yU" = ( +/obj/structure/sign/warning/docking{ + pixel_y = 32 + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 5 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"zp" = ( +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"zt" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 9 + }, +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"zv" = ( +/obj/effect/turf_decal/industrial/traffic/corner, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"zw" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"zB" = ( +/obj/structure/closet, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/under/rank/engineering/atmospheric_technician, +/obj/item/clothing/head/hardhat, +/obj/item/pipe_dispenser, +/obj/structure/sign/poster/contraband/atmosia_independence{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"zN" = ( +/obj/structure/spawner/hivebot, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"zP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"zQ" = ( +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 4 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"zZ" = ( +/obj/machinery/power/floodlight, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Ab" = ( +/obj/effect/turf_decal/industrial/hatch/blue, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"An" = ( +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/tank/jetpack/void, +/obj/effect/decal/cleanable/cobweb, +/obj/item/clothing/suit/space/nasavoid{ + name = "Old Voidsuit"; + desc = "An old space suit that hasn't seen use in several decades." + }, +/obj/item/clothing/head/helmet/space/nasavoid{ + name = "Voidsuit Helmet"; + desc = "An old space suit helmet with a scratched visor." + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Ap" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Aq" = ( +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Av" = ( +/obj/structure/bed, +/obj/item/bedsheet/hos, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"AS" = ( +/obj/effect/decal/cleanable/oil/slippery, +/obj/effect/decal/cleanable/robot_debris, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"AZ" = ( +/obj/machinery/ltsrbt, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Bk" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Bn" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Bs" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/transparent/neutral/diagonal, +/obj/item/reagent_containers/food/snacks/canned/beans{ + pixel_x = 6; + pixel_y = 14 + }, +/obj/item/reagent_containers/food/snacks/canned/peaches{ + pixel_x = -6; + pixel_y = 14 + }, +/obj/item/reagent_containers/food/snacks/canned/beans{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/reagent_containers/food/snacks/canned/beans{ + pixel_x = 6; + pixel_y = 2 + }, +/obj/item/trash/can/food/peaches{ + pixel_x = -6; + pixel_y = 8 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"BJ" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 1 + }, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"BL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 5 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"BO" = ( +/obj/machinery/vending/snack/teal, +/obj/item/stack/tape/industrial/electrical{ + pixel_y = 16 + }, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 5 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"BP" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"BS" = ( +/obj/machinery/suit_storage_unit/independent/engineering, +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/structure/sign/warning/nosmoking{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"BW" = ( +/obj/machinery/power/port_gen/pacman, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Cf" = ( +/obj/structure/sign/warning/docking{ + pixel_y = -32 + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 6 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"Ci" = ( +/obj/item/chair{ + pixel_x = -13; + pixel_y = -7 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Cs" = ( +/obj/structure/fence/cut/large, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"Cw" = ( +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Cx" = ( +/obj/machinery/computer/monitor/retro{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/lime/border, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"CC" = ( +/obj/effect/decal/cleanable/oil/slippery, +/obj/item/stack/ore/salvage/scrapuranium, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"CK" = ( +/obj/machinery/door/airlock, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"CU" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/mob/living/simple_animal/hostile/hivebot, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"CV" = ( +/obj/structure/fence/cut/medium, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"Dc" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"De" = ( +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Dk" = ( +/obj/item/stack/ore/salvage/scraptitanium, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Dp" = ( +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"Dz" = ( +/obj/structure/chair/stool/bar{ + dir = 8; + pixel_x = -8 + }, +/obj/effect/mob_spawn/human/corpse/charredskeleton, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"DA" = ( +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"DE" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"DJ" = ( +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 5 + }, +/obj/structure/chair, +/obj/item/instrument/banjo, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"DN" = ( +/obj/structure/rack, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Ea" = ( +/obj/structure/closet/crate/bin, +/obj/item/trash/boritos, +/obj/item/trash/candy, +/obj/item/trash/candy, +/obj/item/trash/raisins, +/obj/item/trash/syndi_cakes, +/obj/item/trash/sosjerky, +/obj/item/toy/beach_ball/holoball, +/obj/machinery/light/directional/south, +/obj/item/trash/can, +/obj/item/trash/can, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Ei" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"El" = ( +/obj/structure/bed/double{ + dir = 4 + }, +/obj/item/bedsheet/double/orange{ + dir = 1 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Ep" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/table{ + dir = 1 + }, +/obj/item/reagent_containers/food/drinks/waterbottle/large/empty{ + pixel_y = 12; + pixel_x = -16 + }, +/obj/item/reagent_containers/food/drinks/waterbottle/large/empty{ + pixel_x = -13; + pixel_y = 19 + }, +/obj/item/reagent_containers/food/drinks/waterbottle/large/empty{ + pixel_y = 4; + pixel_x = -14 + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 4 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Er" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/miskilamo_small, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"EH" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 4 + }, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"EK" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"EM" = ( +/obj/structure/mecha_wreckage/ripley/firefighter, +/obj/effect/mob_spawn/human/corpse/charredskeleton, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"EU" = ( +/obj/effect/decal/cleanable/oil, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"EX" = ( +/obj/structure/table/wood, +/obj/structure/sink/chem, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Fb" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Ff" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/clothing/head/hardhat{ + pixel_x = 11 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Fh" = ( +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"Fm" = ( +/obj/structure/closet/wall/directional/north, +/obj/item/toy/figure/bartender, +/obj/item/gun/energy/laser/retro, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Fn" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Fq" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"FC" = ( +/obj/machinery/door/airlock, +/obj/effect/turf_decal/corner/transparent/neutral/mono, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"FG" = ( +/obj/machinery/suit_storage_unit/open, +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"FH" = ( +/obj/structure/table, +/obj/item/flashlight/lamp, +/obj/item/reagent_containers/food/snacks/ration/side/beef_sticks{ + pixel_x = 10 + }, +/obj/item/reagent_containers/food/snacks/chips, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"FP" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"FW" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Gf" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Gj" = ( +/obj/structure/grille/broken, +/obj/item/stack/rods, +/obj/item/shard, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Gk" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Gl" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Go" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Gq" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"GK" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/floodlight_frame, +/obj/item/shard, +/obj/item/stack/cable_coil/cut/red, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"GM" = ( +/turf/closed/wall/r_wall, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"GN" = ( +/obj/structure/table, +/obj/item/stamp/qm{ + pixel_y = 4; + pixel_x = 14 + }, +/obj/item/stamp{ + pixel_x = 14 + }, +/obj/item/stamp/denied{ + pixel_y = -4; + pixel_x = 14 + }, +/obj/item/paper, +/obj/item/pen, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"GO" = ( +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 8 + }, +/obj/structure/closet/firecloset/full, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"GV" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"GX" = ( +/obj/machinery/power/smes, +/obj/structure/cable/yellow, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Hb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Hf" = ( +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_y = -4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_y = -4; + pixel_x = -8 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_y = -4; + pixel_x = 8 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_y = 9; + pixel_x = 4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_y = 9; + pixel_x = -4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_y = 22 + }, +/obj/structure/table/wood, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Hh" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Hm" = ( +/obj/machinery/door/airlock/engineering, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/barricade/wooden/crude, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Hp" = ( +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/glass/twenty, +/obj/structure/closet/crate/secure/plasma, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"HD" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/orange, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"HR" = ( +/obj/structure/chair/sofa/brown/left{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"HY" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 4 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Ic" = ( +/obj/structure/fence, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 6 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"If" = ( +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"Il" = ( +/obj/structure/table/wood/fancy/orange, +/obj/item/toy/plush/moth/firewatch, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Iq" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"IB" = ( +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"IF" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/industrial/traffic/fulltile, +/obj/machinery/door/firedoor, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"IM" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 4 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"IQ" = ( +/obj/item/cutting_board, +/obj/structure/table, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/corner/transparent/neutral/diagonal, +/obj/item/melee/knife/kitchen, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"IS" = ( +/obj/item/radio/intercom/wideband/table{ + dir = 8 + }, +/obj/structure/table, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Je" = ( +/obj/structure/chair/stool/bar{ + dir = 1; + pixel_y = 12 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"JL" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"JR" = ( +/obj/structure/chair/sofa/brown/directional{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"JX" = ( +/obj/machinery/light/dim/directional/south, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 10 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Kc" = ( +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Km" = ( +/obj/machinery/vending/cola/red, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Kx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/neutral/diagonal, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"KG" = ( +/mob/living/simple_animal/hostile/hivebot/ranged, +/obj/structure/catwalk/over, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"KI" = ( +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"KM" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/industrial/warning/dust/corner{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/dust/corner{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"KW" = ( +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Lc" = ( +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-10" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Lq" = ( +/obj/machinery/suit_storage_unit/open, +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Lu" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/item/bedsheet/qm{ + dir = 1 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Lv" = ( +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Lw" = ( +/turf/open/floor/plating/asteroid/wasteplanet, +/area/ruin/wasteplanet) +"LA" = ( +/obj/item/stack/sheet/plastic, +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/item/circuitboard/computer/shuttle/helm, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 1 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"LB" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"LX" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/closet/wall/directional/west, +/obj/item/clothing/suit/hooded/wintercoat/captain, +/obj/item/storage/firstaid/o2, +/obj/machinery/light/small/broken/directional/north, +/obj/item/gun/ballistic/revolver/viper/indie, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Mf" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 10 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Mh" = ( +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Mi" = ( +/turf/closed/wall/r_wall, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Ml" = ( +/obj/effect/turf_decal/industrial/hatch/orange, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Mm" = ( +/obj/effect/turf_decal/miskilamo_small/left, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"Mn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 10 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Mt" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/industrial/traffic/fulltile, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Mx" = ( +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-6" + }, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Mz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/effect/turf_decal/corner/transparent/lime/bordercorner{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/lime/bordercorner{ + dir = 1 + }, +/obj/structure/spawner/hivebot, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"MB" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/industrial/traffic/fulltile, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/firedoor, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"ME" = ( +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"MF" = ( +/turf/closed/wall, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"MJ" = ( +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/ruin/wasteplanet) +"MO" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/cable{ + icon_state = "0-4" + }, +/mob/living/simple_animal/hostile/hivebot, +/obj/machinery/light/directional/west, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"MX" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/light/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"MZ" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Na" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Nd" = ( +/obj/effect/turf_decal/industrial/traffic/fulltile, +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/machinery/door/firedoor/closed, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Nf" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/industrial/warning/dust, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"Nu" = ( +/obj/structure/reagent_dispensers/foamtank, +/obj/item/extinguisher/advanced, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 28 + }, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Ny" = ( +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"NG" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"NI" = ( +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/item/stack/sheet/mineral/titanium/twenty, +/obj/item/stack/ore/salvage/scraptitanium/five, +/obj/structure/closet/crate/secure/plasma, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet) +"NO" = ( +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/power/floodlight, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 1 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"Of" = ( +/obj/effect/turf_decal/industrial/hatch/red, +/obj/item/stack/ore/salvage/scrapuranium/five, +/obj/item/stack/ore/salvage/scrapuranium/five{ + pixel_y = -6 + }, +/obj/item/stack/ore/salvage/scrapuranium{ + pixel_y = 5 + }, +/obj/structure/closet/crate/radiation, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Og" = ( +/obj/effect/decal/cleanable/robot_debris, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"Oi" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_x = -28 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Ok" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/transparent/neutral/mono, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Oq" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 4 + }, +/obj/structure/sign/warning/electricshock{ + pixel_x = -28 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Ow" = ( +/obj/structure/spawner/hivebot, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"OB" = ( +/obj/structure/marker_beacon{ + picked_color = "Lime" + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"OK" = ( +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"OM" = ( +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"OX" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"OY" = ( +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Pi" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/corner/transparent/lime/border, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Ps" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"PJ" = ( +/obj/structure/rack, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"PK" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"PX" = ( +/obj/structure/janitorialcart, +/obj/item/storage/bag/trash, +/obj/item/mop{ + pixel_x = -6 + }, +/obj/item/clothing/shoes/galoshes{ + pixel_x = 16; + pixel_y = -8 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Qc" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/industrial/warning/full, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Qe" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Ql" = ( +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/item/clothing/suit/space/hardsuit/engine, +/obj/structure/closet/crate/engineering, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"QS" = ( +/mob/living/simple_animal/hostile/hivebot/ranged, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"Ri" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 4 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Rn" = ( +/obj/structure/chair/stool/bar{ + dir = 1; + pixel_y = 12 + }, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Rt" = ( +/obj/structure/closet/crate/bin, +/obj/item/trash/syndi_cakes, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 10 + }, +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Rv" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"RD" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"RE" = ( +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"RO" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"RR" = ( +/obj/structure/reagent_dispensers/watertank/high, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"RX" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Se" = ( +/obj/structure/fence/cut/large{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"Sg" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Sl" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Sm" = ( +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 5 + }, +/obj/item/chair{ + pixel_x = -7; + pixel_y = -7 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Sq" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/corner/transparent/neutral/mono, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Sw" = ( +/obj/structure/girder, +/obj/item/stack/sheet/mineral/titanium, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"SA" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/sign/poster/official/cleanliness{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"SP" = ( +/obj/structure/closet/crate/trashcart/laundry, +/obj/item/clothing/gloves/color/yellow, +/obj/effect/turf_decal/corner/transparent/neutral/mono, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"SZ" = ( +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Te" = ( +/obj/machinery/cell_charger, +/obj/structure/table, +/obj/item/stock_parts/cell/hyper/empty, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Tf" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/caution, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Th" = ( +/obj/effect/turf_decal/industrial/hatch/red, +/obj/structure/closet/crate/secure/weapon, +/obj/item/gun/energy/lasercannon, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Tj" = ( +/obj/structure/closet/wall/directional/east, +/obj/item/clothing/under/utility, +/obj/item/clothing/under/utility, +/obj/item/clothing/shoes/workboots, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 8 + }, +/obj/item/reagent_containers/food/snacks/ration/entree/beef_strips, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Ts" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_y = 8 + }, +/obj/item/storage/toolbox/electrical, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"TB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/machinery/light/small/broken/directional/east, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"TE" = ( +/obj/structure/fence, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"TK" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"TN" = ( +/obj/machinery/vending/snack/orange, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"TX" = ( +/obj/machinery/hydroponics/constructable, +/obj/machinery/light/directional/east, +/obj/item/seeds/kudzu, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"TY" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 4 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Ub" = ( +/obj/structure/sign/warning/coldtemp{ + pixel_x = 32 + }, +/obj/effect/turf_decal/corner/transparent/neutral/mono, +/obj/effect/turf_decal/corner/transparent/blue/border{ + dir = 6 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Uc" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Ud" = ( +/obj/item/storage/bag/plants, +/obj/item/plant_analyzer, +/obj/item/cultivator{ + pixel_x = -4 + }, +/obj/item/shovel/spade{ + pixel_x = 6 + }, +/obj/structure/rack, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Uj" = ( +/obj/effect/turf_decal/industrial/hatch/orange, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/structure/closet/crate/engineering/electrical, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Us" = ( +/obj/effect/turf_decal/corner/transparent/neutral/mono, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Uz" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"UF" = ( +/obj/structure/fence, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 10 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"UP" = ( +/obj/structure/table_frame, +/obj/item/stack/ore/salvage/scrapmetal, +/obj/item/paper/crumpled{ + pixel_x = -3; + pixel_y = 3 + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"UR" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/drinks/waterbottle/large{ + pixel_y = 20; + pixel_x = 10 + }, +/obj/item/radio/intercom/wideband/table{ + dir = 4 + }, +/obj/machinery/light/small/broken/directional/east, +/obj/item/reagent_containers/food/snacks/ration/pack/orange_beverage{ + pixel_x = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"UW" = ( +/turf/closed/wall, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Va" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/bottle/rum{ + pixel_y = 8; + pixel_x = -4 + }, +/obj/item/reagent_containers/food/drinks/bottle/rum{ + pixel_x = -4 + }, +/obj/item/reagent_containers/food/drinks/bottle/rum{ + pixel_y = -8; + pixel_x = -4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Vp" = ( +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"Vq" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/ruin/wasteplanet) +"Vx" = ( +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/structure/frame, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"VG" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/structure/sign/warning/explosives{ + pixel_x = -28 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"VK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/lime/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/lime/border, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"VO" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/mineral/stacking_unit_console{ + pixel_y = 28 + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"VQ" = ( +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"VS" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 8 + }, +/obj/structure/sign/warning/electricshock{ + pixel_x = 28 + }, +/obj/machinery/light/broken/directional/north, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"VZ" = ( +/obj/machinery/power/port_gen/pacman, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plating/wasteplanet/rust, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Wc" = ( +/obj/machinery/light/dim/directional/north, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 5 + }, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/soda_cans/cola{ + pixel_y = 13; + pixel_x = -6 + }, +/obj/item/flashlight/lamp, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Wn" = ( +/obj/structure/fence, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"Wu" = ( +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Wy" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/item/bedsheet/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Wz" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 6 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"WB" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/binary/volume_pump/on, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"WI" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"WL" = ( +/obj/effect/turf_decal/industrial/traffic/corner, +/obj/structure/closet/bombcloset, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"WP" = ( +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"WQ" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"WS" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/drone{ + pixel_y = 8 + }, +/obj/item/storage/toolbox/drone{ + pixel_y = -8 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"WW" = ( +/obj/structure/closet, +/obj/item/clothing/shoes/cowboy, +/obj/item/clothing/under/rank/engineering/engineer/hazard, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"Xr" = ( +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/power/floodlight, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"XG" = ( +/obj/structure/sign/warning/docking{ + pixel_y = -32 + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 10 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"XI" = ( +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 5 + }, +/obj/item/kirbyplants/dead{ + pixel_x = 10; + pixel_y = 10 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"XY" = ( +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Ya" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/table{ + dir = 1 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Yb" = ( +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Yh" = ( +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Yi" = ( +/obj/structure/sign/poster/contraband/missing_gloves{ + pixel_y = 32 + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 5 + }, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Yp" = ( +/mob/living/simple_animal/hostile/hivebot/strong, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Yq" = ( +/obj/structure/table, +/obj/item/radio/old{ + pixel_y = 12; + pixel_x = -11 + }, +/obj/item/radio/weather_monitor{ + pixel_y = 11 + }, +/obj/item/stack/cable_coil/cut/red{ + pixel_y = 10 + }, +/obj/item/stack/tape/industrial/electrical, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"Yu" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/structure/crate_shelf, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Yy" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"YE" = ( +/obj/structure/fence/door/opened, +/obj/effect/decal/cleanable/blood/tracks, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/dust{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"YJ" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 6 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"YK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) +"YW" = ( +/obj/effect/turf_decal/industrial/hatch/orange, +/mob/living/simple_animal/hostile/hivebot/ranged, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet) +"Za" = ( +/obj/structure/table/reinforced, +/obj/machinery/light/small/broken/directional/west, +/obj/item/ration_heater, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Ze" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Zr" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"Zu" = ( +/obj/structure/closet/crate{ + name = "ration crate" + }, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/light/small/broken/directional/west, +/obj/effect/spawner/random/food_or_drink/ration, +/turf/open/floor/plasteel/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) +"Zy" = ( +/obj/structure/fence/end{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/lit, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"ZO" = ( +/obj/structure/railing{ + max_integrity = 70 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 4 + }, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) +"ZP" = ( +/obj/structure/chair/sofa/brown/right{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 10 + }, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms) +"ZQ" = ( +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/ruin/wasteplanet) +"ZW" = ( +/obj/structure/rack, +/turf/open/floor/plasteel/dark/wasteplanet, +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay) + +(1,1,1) = {" +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +pj +pj +td +td +td +cg +td +td +td +cg +td +td +td +cg +td +td +td +pj +pj +"} +(2,1,1) = {" +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +pj +gx +VQ +OM +wr +wr +wr +OM +OM +wr +wr +wr +wr +wr +wr +OM +OB +XG +pj +"} +(3,1,1) = {" +tn +tn +tn +tn +tn +tn +tn +tn +tn +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +gg +Lw +ry +OM +OM +OM +OM +OM +jt +OM +OM +OM +OM +jt +jt +OM +OM +OM +OM +de +ry +"} +(4,1,1) = {" +tn +tn +tn +tn +tn +tn +tn +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +pj +gg +gg +gg +gg +gg +tn +tn +tn +tn +gg +gg +gg +gg +Lw +ry +DA +LB +LB +OM +LB +LB +LB +LB +LB +OM +OM +OM +LB +LB +LB +jt +de +ry +"} +(5,1,1) = {" +tn +tn +tn +tn +tn +gg +gg +gg +gg +gg +gg +GM +GM +GM +GM +Mi +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +pj +gg +Lw +Lw +ry +DA +jt +OM +OM +OM +OM +OM +OM +OM +OM +OM +OM +OM +OM +OM +OM +de +ry +"} +(6,1,1) = {" +tn +tn +tn +tn +gg +gg +gg +GM +GM +GM +GM +GM +cv +qw +jT +Mi +Mi +Mi +Mi +Mi +Mi +Mi +Mi +gg +gg +gg +gg +gg +gg +gg +Lw +Lw +mK +DA +MJ +OM +px +Qe +Qe +px +OM +OM +OM +px +Qe +Qe +px +OM +lB +OM +mK +"} +(7,1,1) = {" +tn +tn +tn +gg +gg +gg +gg +GM +IS +sL +AZ +MF +kY +ek +ok +gs +zZ +vN +Te +RX +MO +BW +Mi +Mi +gg +pj +gg +gg +Lw +Lw +Lw +Lw +ry +DA +OM +OM +px +Ze +Ze +px +px +Uc +px +px +Ze +Ze +px +OM +OM +OM +ry +"} +(8,1,1) = {" +tn +tn +gg +gg +gg +pj +gg +GM +bp +iB +Yp +nH +BL +ba +kS +Hm +MZ +ke +Gl +sB +fe +GV +ul +Mi +gg +gg +gg +Lw +Lw +Lw +Lw +Lw +Se +OM +OM +sK +px +oe +nr +px +An +KI +Vx +px +nr +oe +px +px +LB +de +ry +"} +(9,1,1) = {" +tn +tn +gg +gg +gg +gg +gg +GM +MF +MF +MF +MF +kY +Sl +ok +gs +fz +iW +OY +CU +GX +tK +lY +Mi +gg +gg +gg +Lw +Vq +Lw +Lw +Lw +ry +DA +OM +sK +VZ +NG +Na +lb +jY +nf +eN +gk +Gq +tY +RR +px +OM +de +ry +"} +(10,1,1) = {" +tn +gg +gg +gg +gg +GM +GM +GM +tT +bi +PX +MF +oK +Fq +wb +gs +gs +gs +gs +gs +gs +gs +Mi +Mi +Mi +Mi +Mi +mZ +Wn +mZ +mZ +UF +mK +NO +Dp +sK +fA +Bn +Ap +px +px +vb +px +px +Ud +Mh +lV +Uc +lB +de +mK +"} +(11,1,1) = {" +tn +gg +gg +gg +gg +GM +Va +bu +Yh +JL +Yh +MF +kY +Sl +ok +gs +qt +qs +lq +Zr +Oi +zv +Mi +Lq +BS +wZ +Mi +ME +lG +df +df +OM +ry +zw +OM +sK +sz +RO +px +px +SA +VK +DE +px +px +oW +TX +px +OM +de +vZ +"} +(12,1,1) = {" +tn +gg +gg +gg +gg +GM +Fm +Wu +Aq +nx +Wu +MF +kY +Sl +ok +gs +Gk +Ny +EU +qB +Of +dv +Mt +aM +kJ +pr +IF +ey +lG +lT +df +de +ry +zw +OM +sK +px +px +px +Zu +IB +eL +kw +Za +px +px +px +px +LB +de +ry +"} +(13,1,1) = {" +gg +gg +pj +gg +GM +GM +sF +MF +MF +Gf +MF +MF +aH +Fb +kS +tL +hn +Ny +Th +kD +qB +Dc +hA +Tf +lO +WB +MB +je +yi +df +jt +OM +vZ +zw +OM +px +Yu +dY +px +bA +pt +eL +kw +dP +px +ah +ni +px +OM +de +ry +"} +(14,1,1) = {" +gg +gg +gg +gg +GM +TY +ix +EX +Rn +cF +Km +MF +kY +Sl +Lv +gs +MX +eS +iK +iK +is +jI +Mt +ne +ty +pr +IF +ki +EK +qd +qd +Nf +mK +zw +zt +Mx +hr +mi +RD +TB +to +Mz +tD +TB +CK +oh +Tj +wf +lB +jt +mK +"} +(15,1,1) = {" +gg +gg +gg +gg +GM +gP +Yh +aI +Je +YK +hO +MF +kY +cz +ok +gs +le +Hb +Hp +bB +HD +GO +Mi +ut +aQ +PJ +Mi +Vp +OM +Ab +Ab +xf +ry +zw +hW +XY +il +Pi +px +px +al +Bk +oz +px +px +in +px +px +OM +jt +ry +"} +(16,1,1) = {" +gg +gg +gg +gg +GM +Hf +aI +Ff +uw +WI +cI +gO +Lv +rQ +ok +Rv +yR +nL +bc +ga +re +Mi +Mi +bU +bU +bU +Mi +wg +OM +Ab +nV +hP +YE +KM +Wz +Lc +iR +os +qS +px +px +dI +px +px +dn +kc +WQ +wf +LB +de +ry +"} +(17,1,1) = {" +gg +pj +gg +gg +GM +pF +gb +Dz +oS +fH +Iq +MF +Lv +rQ +Lv +iD +Sg +vf +mS +cd +De +Mi +Oq +pG +Ml +WS +VG +oT +Mm +jt +Ab +OM +ry +jt +OM +px +sK +IB +sK +px +LX +aw +pY +px +px +qy +px +px +OM +de +ry +"} +(18,1,1) = {" +gg +gg +gg +gg +GM +sT +OX +OX +bO +Er +kn +qo +xh +rw +Lv +Rv +Qc +Go +Ny +Ny +De +Rv +RE +WP +RE +RE +RE +mq +hH +OM +OM +OM +mK +jt +Dp +OM +Sw +IB +sK +Ep +zQ +zQ +HY +IM +px +et +px +OM +Fh +de +mK +"} +(19,1,1) = {" +gg +gg +gg +gg +GM +lW +Ci +vX +Yb +jd +EH +MF +Lv +rQ +OK +Rv +TK +eO +bS +mS +De +Mi +VS +pG +fp +Ts +Nu +oT +vU +NI +jy +OM +ry +DA +OM +vB +Kc +Kc +sK +Ya +nP +rd +gV +pz +px +px +px +OM +OM +OM +ry +"} +(20,1,1) = {" +gg +gg +gg +gg +GM +yp +pQ +pQ +vV +yn +xl +gO +OK +rQ +Lv +Rv +yR +ZO +Uj +dw +vC +Mi +Mi +bU +bU +bU +Mi +Zy +OM +jt +jy +mA +sO +pu +LB +LB +LB +Dk +Sw +Uc +Cx +UR +LA +Uc +px +px +LB +LB +jt +de +ry +"} +(21,1,1) = {" +gg +gg +gg +gg +GM +Yq +pQ +uZ +Yh +aj +Ea +MF +kY +Sl +Lv +gs +sx +nd +mS +bZ +Hh +WL +Mi +DN +ZW +un +Mi +Xr +OM +YW +jy +yD +ry +zw +OM +OM +OM +kZ +OM +Uc +Uc +px +Gj +Uc +OM +OM +OM +OM +OM +de +ry +"} +(22,1,1) = {" +gg +gg +pj +gg +GM +jh +jh +jh +YJ +nx +TN +MF +Yi +Sl +ok +gs +vv +zP +iK +iK +pd +wv +kd +aM +kJ +pr +Nd +ki +Ps +qd +pB +Yy +mK +zw +MJ +OM +jt +OM +OM +OM +OM +OM +OM +OM +OM +OM +OM +OM +lB +de +mK +"} +(23,1,1) = {" +tn +gg +gg +gg +GM +GM +MF +MF +MF +Gf +MF +MF +Wc +Fb +qr +tL +hJ +Ny +mS +Ql +KW +oA +cx +Tf +lO +WB +ww +xe +rp +jy +jy +de +ry +zw +OM +jt +jt +OM +OM +OM +OM +OM +OM +OM +OM +OM +OM +OM +OM +OM +ry +"} +(24,1,1) = {" +tn +gg +gg +gg +gg +GM +wc +ar +MF +oJ +tu +MF +DJ +rQ +ok +gs +ph +Ny +Ny +mS +zp +dv +Nd +ne +ty +pr +Nd +ey +lG +jt +jy +de +ry +zw +LB +jt +AS +LB +LB +LB +OM +LB +OM +LB +LB +fP +KG +LB +LB +OM +ry +"} +(25,1,1) = {" +tn +gg +gg +gg +gg +GM +jo +Ub +FC +Kx +IQ +MF +Sm +Sl +OK +gs +VO +hs +kW +Uz +hs +pJ +Mi +yr +FG +mG +Mi +ZQ +lG +jy +jt +OM +ry +zw +OM +OM +OM +OM +OM +yb +jt +OM +OM +OM +OM +OM +OM +OM +OM +de +ry +"} +(26,1,1) = {" +tn +gg +gg +gg +gg +GM +GM +GM +MF +jC +Bs +MF +aV +Sl +JX +gs +gs +gs +gs +gs +gs +gs +Mi +Mi +Mi +Mi +Mi +TE +ov +Cs +TE +Ic +mK +GK +Dp +CC +OM +OM +jt +OM +jt +OM +Ow +OM +OM +OM +OM +jt +lB +de +mK +"} +(27,1,1) = {" +tn +tn +gg +gg +gg +gg +gg +yK +UW +UW +UW +UW +UP +FW +jq +UW +FH +Wy +UW +ge +Lu +UW +vh +El +Il +yK +qL +qL +cj +qL +qL +qL +ry +DA +OM +OM +EM +OM +Og +jt +jt +OM +OM +OM +OM +OM +OM +jt +OM +de +ry +"} +(28,1,1) = {" +tn +tn +tn +gg +gg +gg +gg +yK +Sq +Sq +Ok +UW +yz +iF +Mn +UW +uN +lx +UW +GN +kM +UW +lx +cP +lx +cA +qL +qL +qL +gg +gg +qL +ry +DA +LB +jt +OM +lf +LB +LB +LB +LB +jt +LB +LB +LB +LB +LB +LB +OM +ry +"} +(29,1,1) = {" +tn +tn +tn +gg +gg +gg +gg +yK +Us +Us +SP +UW +vH +FW +jq +UW +gF +lx +UW +rv +cp +UW +eD +lx +yK +yK +qL +qL +qL +gg +gg +qL +ry +DA +OM +OM +up +OM +OM +OM +OM +OM +OM +jt +jt +OM +OM +OM +OM +OM +ry +"} +(30,1,1) = {" +tn +tn +tn +tn +gg +gg +gg +yK +UW +nZ +UW +UW +vH +FW +jq +UW +UW +mU +UW +UW +yC +UW +UW +sm +yK +qL +qL +gg +qL +gg +gg +gg +mK +OM +Fh +gH +OM +QS +OM +OM +OM +OM +jt +jt +OM +OM +OM +OM +lB +de +mK +"} +(31,1,1) = {" +tn +tn +tn +tn +gg +gg +gg +yK +dd +bD +SZ +pb +uD +PK +iJ +Fn +Fn +Fn +nJ +pb +Ei +bD +bD +bD +yK +qL +qL +qL +qL +gg +gg +gg +ry +DA +jt +OM +OM +OM +OM +OM +OM +OM +OM +OM +OM +OM +OM +jt +OM +OM +ry +"} +(32,1,1) = {" +tn +tn +tn +tn +gg +gg +gg +yK +bq +bq +pK +bq +Ri +kP +xO +bq +bq +bq +pK +bq +bq +bq +bq +bq +yK +qL +qL +qL +qL +qL +qL +gg +ry +DA +jt +LB +LB +LB +OM +LB +LB +LB +LB +LB +LB +LB +LB +LB +jt +de +ry +"} +(33,1,1) = {" +tn +tn +tn +tn +gg +gg +gg +yK +UW +ta +UW +UW +qu +BJ +Mf +UW +UW +yC +UW +UW +mU +UW +UW +yC +yK +gg +gg +qL +qL +qL +qL +qL +ry +DA +OM +OM +OM +jt +OM +OM +OM +OM +OM +OM +OM +OM +jt +jt +jt +de +ry +"} +(34,1,1) = {" +tn +tn +tn +tn +gg +pj +gg +yK +aL +Us +ks +UW +XI +Cw +Rt +UW +bF +lx +UW +zB +lx +UW +WW +lx +yK +gg +gg +qL +qL +qL +qL +qL +pj +yU +If +tv +OM +OM +OM +tv +OM +jt +tv +tv +OM +tv +tv +OM +lB +Cf +pj +"} +(35,1,1) = {" +tn +tn +tn +tn +gg +gg +gg +yK +hK +Us +hG +UW +BO +Cw +HR +UW +xs +lx +UW +BP +lx +UW +uU +lx +yK +gg +gg +gg +qL +qL +qL +qL +pj +pj +td +td +td +cg +td +td +td +cg +td +td +CV +cg +td +td +td +pj +pj +"} +(36,1,1) = {" +tn +tn +tn +tn +gg +gg +gg +yK +yK +yK +yK +yK +um +zN +JR +UW +kH +Av +UW +bf +yA +UW +FP +ht +yK +gg +gg +gg +qL +qL +qL +qL +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +"} +(37,1,1) = {" +tn +tn +tn +tn +tn +gg +gg +gg +gg +gg +gg +yK +ng +Cw +ZP +yK +yK +yK +yK +yK +yK +yK +yK +yK +yK +gg +gg +qL +qL +qL +qL +gg +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +"} +(38,1,1) = {" +tn +tn +tn +tn +tn +gg +gg +gg +pj +gg +gg +yK +hY +tX +tX +yK +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +gg +qL +qL +qL +qL +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +"} +(39,1,1) = {" +tn +tn +tn +tn +tn +gg +gg +gg +gg +gg +gg +Lw +Lw +Lw +Lw +Lw +gg +gg +gg +gg +gg +pj +gg +gg +pj +gg +gg +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +"} +(40,1,1) = {" +tn +tn +tn +tn +tn +tn +gg +gg +gg +gg +gg +gg +sf +Lw +Lw +Lw +gg +pj +gg +gg +gg +gg +gg +gg +gg +gg +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +"} +(41,1,1) = {" +tn +tn +tn +tn +tn +tn +tn +tn +gg +gg +pj +gg +gg +Lw +Lw +gg +gg +gg +gg +gg +gg +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +"} +(42,1,1) = {" +tn +tn +tn +tn +tn +tn +tn +tn +tn +gg +gg +gg +gg +Lw +Lw +gg +gg +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +"} +(43,1,1) = {" +tn +tn +tn +tn +tn +tn +tn +tn +tn +gg +gg +gg +gg +Lw +Lw +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +tn +"} diff --git a/_maps/configs/independent_atoll.json b/_maps/configs/independent_atoll.json new file mode 100644 index 00000000000..4d91d09694b --- /dev/null +++ b/_maps/configs/independent_atoll.json @@ -0,0 +1,46 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "Atoll-Class Hospital Ship", + "map_short_name": "Atoll-class", + "description": "The Atoll-class is a large Ihejirika-built medical ship known for its unusually spacious and comfortable facilities and very respectable assortment of equipment and supplies. Atolls are favored by small medical companies and charity organizations dedicated to rendering welcome medical aid in an often harsh and unforgiving Frontier, making them a very welcome sight indeed.", + "tags": [ + "Medical" + ], + "map_path": "_maps/shuttles/independent/independent_atoll.dmm", + "namelists": [ + "GENERAL", + "SPACE", + "NATURAL" + ], + "faction": "/datum/faction/independent", + "prefix": "IMV", + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/independent/captain", + "slots": 1, + "officer": true + }, + "Medical Administrator":{ + "outfit": "/datum/outfit/job/independent/cmo", + "slots": 1, + "officer": true + }, + "Medical Doctor": { + "outfit": "/datum/outfit/job/independent/doctor", + "slots": 1 + }, + "Paramedic": { + "outfit": "/datum/outfit/job/independent/paramedic", + "slots": 2 + }, + "Mechanic": { + "outfit": "/datum/outfit/job/independent/engineer", + "slots": 1 + }, + "Deckhand": { + "outfit": "/datum/outfit/job/independent/assistant", + "slots": 2 + } + }, + "enabled": true +} diff --git a/_maps/configs/independent_beluga.json b/_maps/configs/independent_beluga.json deleted file mode 100644 index 6d7926a8e84..00000000000 --- a/_maps/configs/independent_beluga.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Beluga-class Transport", - "prefix": "SV", - "namelists": ["CRUISE", "NATURAL"], - "map_short_name": "Beluga-class", - "map_path": "_maps/shuttles/independent/independent_beluga.dmm", - "description": "The Beluga-Class is a transport vessel for those with especially rich blood. Featuring a modest kitchen, hired Inteq security, and luxurious decoration, the Beluga is a first choice pick for many wealthy spacers trying to get from point A to B. The independent ship features several rooms for its guests and a well furnished meeting room for any corporate occassion.", - "tags": [ - "RP Focus", - "Riot", - "Service" - ], - "starting_funds": 4000, - "limit": 2, - "job_slots": { - "Captain": { - "outfit": "/datum/outfit/job/independent/captain", - "officer": true, - "slots": 1 - }, - "First Officer": { - "outfit": "/datum/outfit/job/independent/hop", - "officer": true, - "slots": 1 - }, - "Mechanic": { - "outfit": "/datum/outfit/job/independent/engineer", - "slots": 1 - }, - "Private Security Officer": { - "outfit": "/datum/outfit/job/inteq/security/beluga", - "slots": 2 - }, - "High-Class Passenger": { - "outfit": "/datum/outfit/job/independent/lawyer", - "slots": 4 - }, - "Bartender": { - "outfit": "/datum/outfit/job/independent/bartender", - "slots": 1 - }, - "Janitor": { - "outfit": "/datum/outfit/job/independent/janitor", - "slots": 1 - }, - "Assistant": { - "outfit": "/datum/outfit/job/independent/assistant", - "slots": 2 - } - }, - "enabled": true -} diff --git a/_maps/configs/independent_box.json b/_maps/configs/independent_box.json deleted file mode 100644 index 14133f03f5b..00000000000 --- a/_maps/configs/independent_box.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Box-class Hospital Ship", - "map_short_name": "Box-class", - "description": "An early exemplar of several modern shipbuilding techniques that have since become standard, the Box is effectively a tiny spaceborne hospital, loaded with medical equipment that can often be difficult to source in Frontier space. Unusually, Boxes come equipped with medical cryo tubes, which have become a particular rarity on the Frontier due to their delicate nature and steep upkeep costs. Boxes are often found in surprisingly good repair for their age, and they have received several upgrades over the decades that have kept them well abreast of advances in medical science.", - "tags": [ - "Medical" - ], - "map_path": "_maps/shuttles/independent/independent_box.dmm", - "namelists": [ - "GENERAL", - "SPACE", - "NATURAL" - ], - "prefix": "IMV", - "job_slots": { - "Chief Medical Officer": { - "outfit": "/datum/outfit/job/independent/cmo", - "slots": 1 - }, - "Medical Doctor": { - "outfit": "/datum/outfit/job/independent/doctor", - "slots": 3 - }, - "Paramedic": { - "outfit": "/datum/outfit/job/independent/paramedic", - "slots": 2 - }, - "Assistant": { - "outfit": "/datum/outfit/job/independent/assistant", - "slots": 3 - } - }, - "enabled": true -} diff --git a/_maps/configs/independent_bubble.json b/_maps/configs/independent_bubble.json index f63aca854e8..33a8cf8c181 100644 --- a/_maps/configs/independent_bubble.json +++ b/_maps/configs/independent_bubble.json @@ -12,6 +12,7 @@ "GENERAL", "SPACE" ], + "faction": "/datum/faction/independent", "prefix": "ISV", "limit": 1, "job_slots": { diff --git a/_maps/configs/independent_dwayne.json b/_maps/configs/independent_dwayne.json index 64f68af6875..e770c725fc1 100644 --- a/_maps/configs/independent_dwayne.json +++ b/_maps/configs/independent_dwayne.json @@ -1,7 +1,8 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Mark.II Dwayne-class Long Range Mining Transport", - "prefix": "ISV", + "faction": "/datum/faction/independent", + "prefix": "SV", "namelists": [ "GENERAL", "SPACE", @@ -10,11 +11,12 @@ ], "map_short_name": "Mk.II Dwayne-class ", "map_path": "_maps/shuttles/independent/independent_dwayne.dmm", - "description": "The Dwayne is one of the older classes of ships commonly seen on the Frontier, and one of the few such classes that doesn’t also carry a reputation for nightmarish conditions or high accident rates. Originally conceived of as a “mothership” for Nanotrasen mining shuttles that could enable long-duration mining missions at minimal cost, severe budget overruns and issues with the mining shuttle docking system left Nanotrasen with a massive number of mostly-completed hulls upon the project’s cancellation. These hulls were then quickly refurbished and sold on the civilian market, where they proved an immediate success on the Frontier. Contemporary Dwaynes can typically be found carrying a variety of mining equipment and extensive modifications unique to their captains. Recently-available aftermarket modifications have solved the Dwayne’s longstanding shuttle dock issues, allowing modern Dwaynes to finally serve their original design purpose, provided the captain is able to source a shuttle.", + "description": "The Dwayne is one of the older classes of ships commonly seen on the Frontier, and one of the few such classes that doesn’t also carry a reputation for nightmarish conditions or high accident rates. Originally conceived of as a “mothership” for Nanotrasen mining shuttles that could enable long-duration mining missions at minimal cost, severe budget overruns and issues with the mining shuttle docking system left Nanotrasen with a massive number of mostly-completed hulls upon the project’s cancellation. These hulls were then quickly refurbished and sold on the civilian market, where they proved an immediate success on the Frontier. Contemporary Dwaynes can typically be found carrying a variety of mining equipment and extensive modifications unique to their captains.", "tags": [ "Mining", - "Generalist" + "Cargo" ], + "starting_funds": 4000, "limit": 1, "job_slots": { "Captain": { @@ -24,23 +26,20 @@ }, "Foreman": { "outfit": "/datum/outfit/job/independent/quartermaster/western", - "slots": 1 - }, - "Ship's Doctor": { - "outfit": "/datum/outfit/job/independent/doctor", - "slots": 1 - }, - "Ship's Engineer": { - "outfit": "/datum/outfit/job/independent/engineer", + "officer": true, "slots": 1 }, "Asteroid Miner": { "outfit": "/datum/outfit/job/independent/miner/hazard", "slots": 2 }, + "Mechanic": { + "outfit": "/datum/outfit/job/independent/engineer", + "slots": 1 + }, "Deckhand": { "outfit": "/datum/outfit/job/independent/assistant", - "slots": 3 + "slots": 1 } }, "enabled": true diff --git a/_maps/configs/independent_junker.json b/_maps/configs/independent_junker.json index bd7807a02bb..92edb754984 100644 --- a/_maps/configs/independent_junker.json +++ b/_maps/configs/independent_junker.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Junker-class Salvaged Ship", + "faction": "/datum/faction/independent", "prefix": "SV", "namelists": [ "GENERAL", diff --git a/_maps/configs/independent_kilo.json b/_maps/configs/independent_kilo.json index b1304f2e78b..9ff4ccfbf19 100644 --- a/_maps/configs/independent_kilo.json +++ b/_maps/configs/independent_kilo.json @@ -1,11 +1,12 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Kilo-class Mining Ship", - "description": "The Kilo-class is a miniscule mining ship that stretches the definition of an independently-capable spacecraft. Beginning life long ago as a series of purpose-built mining shuttles intended for use on Frontier outposts, progressive cycles of over-engineering for a longer mission duration eventually produced the lumpen, claustrophobic Kilo seen today. Once quite numerous, Kilos are still a common “barn find” on abandoned stations and forgotten storage bays, and their extreme age and poor storage conditions typically leaves them in especially poor condition. Kilo crews are often considered to be quite eccentric even by Frontier standards, and some spacers insist even a well-balanced spacer will quickly come unglued in the Kilo’s “unique” environment.", + "description": "The Kilo-class is a very old and miniscule pattern of mining ship, produced in vast numbers over the centuries and commonly found in scrapyards or forgotten in storage. Most examples on the Frontier have been restored by Miskilamo Spacefaring using parts from other nonfunctional Kilos, producing a ship that is as inexpensive as it is cramped and unreliable. The low cost and ease of repair or replacement nevertheless make the Kilo very popular among budget-minded captains.", "tags": [ - "Generalist" + "Mining" ], - "prefix": "ISV", + "faction": "/datum/faction/independent", + "prefix": "SV", "namelists": [ "GENERAL", "SPACE", @@ -16,22 +17,18 @@ "map_path": "_maps/shuttles/independent/independent_kilo.dmm", "job_slots": { "Captain": { - "outfit": "/datum/outfit/job/independent/captain/western", + "outfit": "/datum/outfit/job/independent/captain/cheap", "officer": true, "slots": 1 }, - "Ship's Doctor": { - "outfit": "/datum/outfit/job/independent/doctor", + "Asteroid Miner": { + "outfit": "/datum/outfit/job/independent/miner/hazard", "slots": 1 }, - "Ship's Engineer": { + "Mechanic": { "outfit": "/datum/outfit/job/independent/engineer", "slots": 1 }, - "Asteroid Miner": { - "outfit": "/datum/outfit/job/independent/miner", - "slots": 1 - }, "Deckhand": { "outfit": "/datum/outfit/job/independent/assistant", "slots": 1 diff --git a/_maps/configs/independent_lagoon.json b/_maps/configs/independent_lagoon.json deleted file mode 100644 index 313b4cd71d9..00000000000 --- a/_maps/configs/independent_lagoon.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Lagoon-class Cruise Ship", - "prefix": "SV", - "description": "An unusual sight in the relatively impoverished Frontier, the Lagoon-class is a large pleasure vessel dedicated to transporting its passengers to any number of exotic locales. Lagoons found on the Frontier tend to contain crews and passengers of a particularly daring – or foolhardy – character, willing to pay out the nose for a tour of some of the most dangerous regions in known space. Accordingly, Lagoons in these regions typically include a small but respectably equipped security contingent to protect (and, when necessary, rein in) the passengers, and come with a surprisingly powerful thermo-electric generator to move the ship’s prodigious bulk across vast expanses of space.", - "tags": [ - "RP Focus", - "Service", - "Engineering" - ], - "namelists": [ - "CRUISE" - ], - "map_short_name": "Lagoon-class", - "map_path": "_maps/shuttles/independent/independent_lagoon.dmm", - "unique_ship_access": false, - "starting_funds": 3000, - "job_slots": { - "Captain": { - "outfit": "/datum/outfit/job/independent/captain", - "slots": 1 - }, - "Cruise Director": { - "outfit": "/datum/outfit/job/independent/hop", - "slots": 1 - }, - "Security Officer": { - "outfit": "/datum/outfit/job/independent/security", - "slots": 2 - }, - "Medical Doctor": { - "outfit": "/datum/outfit/job/independent/doctor", - "slots": 1 - }, - "Ship Engineer": { - "outfit": "/datum/outfit/job/independent/atmos", - "slots": 1 - }, - "Bartender": { - "outfit": "/datum/outfit/job/independent/bartender", - "slots": 1 - }, - "Cook": { - "outfit": "/datum/outfit/job/independent/cook", - "slots": 1 - }, - "Botanist": { - "outfit": "/datum/outfit/job/independent/botanist", - "slots": 1 - }, - "Curator": { - "outfit": "/datum/outfit/job/independent/curator", - "slots": 1 - }, - "Chaplain": { - "outfit": "/datum/outfit/job/independent/chaplain", - "slots": 1 - }, - "Janitor": { - "outfit": "/datum/outfit/job/independent/janitor", - "slots": 1 - }, - "Passenger": { - "outfit": "/datum/outfit/job/independent/assistant/fancy", - "slots": 10 - } - }, - "enabled": false -} diff --git a/_maps/configs/independent_mudskipper.json b/_maps/configs/independent_mudskipper.json index 9f4cf32e0cf..469230d752a 100644 --- a/_maps/configs/independent_mudskipper.json +++ b/_maps/configs/independent_mudskipper.json @@ -2,6 +2,7 @@ "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Mudskipper-class Salvage Clipper", "map_short_name": "Mudskipper-class", + "faction": "/datum/faction/independent", "prefix": "ISV", "description": "One of the cheapest (and yet, inexplicably popular) offerings from Miskilamo Spacefaring, the Mudskipper-class is a vessel purpose-built for enterprising scrappers and looters looking to salvage bombed-out ruins and harvest boatloads of materials. Featuring a diverse set of multipurpose rooms, a charitable supply of EVA/ruin raiding equipment, and a set of anti-radiation gear for dealing with industrial accidents, the Mudskipper-class just keeps on chuggin’!", "tags": [ @@ -18,7 +19,7 @@ "starting_funds": 1500, "job_slots": { "Salvage Leader": { - "outfit": "/datum/outfit/job/independent/captain", + "outfit": "/datum/outfit/job/independent/captain/cheap", "officer": true, "slots": 1 }, diff --git a/_maps/configs/independent_raleigh.json b/_maps/configs/independent_raleigh.json new file mode 100644 index 00000000000..2f818addbd6 --- /dev/null +++ b/_maps/configs/independent_raleigh.json @@ -0,0 +1,45 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "Raleigh-class Corvette", + "faction": "/datum/faction/independent", + "prefix": "ISV", + "namelists": [ + "SPACE", + "BEASTS", + "NATURAL_AGGRESSIVE" + ], + "map_short_name": "Raleigh-class", + "description": "The Raleigh-class is a Kasagi-Fischer Partnership design created in the late 390s for a then growing 'exploratory' market. While it's original designation was 'Safari Ship' or in some cases, 'Yacht'. Recently manufactured ones are proudly labelled as corvettes, and sold off to PDFs looking to stay fiscally sound, mercenaries, and the odd Rich, Bored, Solarian buyer. In the frontier, you're most likely to see a Raleigh serving as the command vessel for a small group of mercenaries.", + "tags": [ + "Combat", + "RP Focus" + ], + "map_path": "_maps/shuttles/independent/independent_raleigh.dmm", + "limit": 1, + "starting_funds": 1500, + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/independent/captain/merc", + "officer": true, + "slots": 1 + }, + "Lieutenant": { + "outfit": "/datum/outfit/job/independent/hos/merc", + "officer": true, + "slots": 1 + }, + "Engineer": { + "outfit": "/datum/outfit/job/independent/engineer", + "slots": 1 + }, + "Mercenary": { + "outfit": "/datum/outfit/job/independent/security/merc", + "slots": 3 + }, + "Recruit": { + "outfit": "/datum/outfit/job/independent/assistant", + "slots": 1 + } + }, + "enabled": true +} diff --git a/_maps/configs/independent_rigger.json b/_maps/configs/independent_rigger.json index e36b57ca750..57f147867e2 100644 --- a/_maps/configs/independent_rigger.json +++ b/_maps/configs/independent_rigger.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Riggs-class Sloop", + "faction": "/datum/faction/independent", "prefix": "SV", "namelists": [ "GENERAL", @@ -8,7 +9,7 @@ "NATURAL" ], "map_short_name": "Riggs-class", - "description": "The Riggs-class is Kasagi-Fischer Partnership’s mainstay in the independent ship market. Spacious, affordable, and versatile, the Riggs offers basic capabilities for everything a Frontier spacer might need in a convenient, easy-to-modify platform, and by default come equipped with a basic medbay, a small security office, atmospherics recycling and equipment to support an APLU utility mech. Thanks to this versatility, the Riggs has become extremely popular among moderately-wealthy independent captains, and can be found doing everything from mining to shipping to surveying Frontier planets.", + "description": "The Riggs-class is Kasagi-Fischer Partnership’s mainstay in the independent ship market. Spacious, affordable, and versatile, the Riggs offers basic capabilities for everything a Frontier spacer might need in a convenient, easy-to-modify platform, and by default come equipped with a basic medbay, a small security office, atmospherics recycling and equipment to support an APLU utility exosuit. Thanks to this versatility, the Riggs has become extremely popular among moderately-wealthy independent captains, and can be found doing everything from mining to shipping to surveying Frontier planets.", "tags": [ "Mining", "Medical", diff --git a/_maps/configs/independent_scarab.json b/_maps/configs/independent_scarab.json new file mode 100644 index 00000000000..8916043ea6a --- /dev/null +++ b/_maps/configs/independent_scarab.json @@ -0,0 +1,47 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "Scarab-class Heavy Mining Ship", + "faction": "/datum/faction/independent", + "prefix": "SV", + "namelists": [ + "GENERAL", + "SPACE", + "NATURAL", + "NATURAL_AGGRESSIVE" + ], + "map_short_name": "Scarab-class", + "map_path": "_maps/shuttles/independent/independent_scarab.dmm", + "description": "The Scarab-class is a recently-introduced heavy drilling ship built by Hardline Salvage and Mining. Inspired by Hardline's earlier work on the Talos-class refits, the Scarab comes with heavy drilling equipment and facilities for a number of technicians and hired guards instead of the hand-mining equipment typically found on smaller ships. Extra space for storage or potential remodeling lends the Scarab a degree of flexibility few of its peers can afford.", + "tags": [ + "Mining", + "Engineering", + "Combat" + ], + "starting_funds": 2500, + "limit": 1, + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/independent/captain", + "officer": true, + "slots": 1 + }, + "Foreman": { + "outfit": "/datum/outfit/job/independent/quartermaster", + "officer": true, + "slots": 1 + }, + "Technician": { + "outfit": "/datum/outfit/job/independent/engineer", + "slots": 2 + }, + "Security Detail": { + "outfit": "/datum/outfit/job/independent/security/disarmed", + "slots": 2 + }, + "Deckhand": { + "outfit": "/datum/outfit/job/independent/assistant", + "slots": 2 + } + }, + "enabled": true +} diff --git a/_maps/configs/independent_schmiedeberg.json b/_maps/configs/independent_schmiedeberg.json deleted file mode 100644 index d7dd360bb1e..00000000000 --- a/_maps/configs/independent_schmiedeberg.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Schmiedeberg-class Pharmacology Ship", - "prefix": "IMV", - "map_short_name": "Schmiedeberg-class", - "description": "Interested in pharmacological science, but tired of sitting in front of a chemistry dispenser and pushing buttons all day? Eager to combine the culinary arts with the narcotic ones? Hoping to combine all of these qualities with the most important activity of all: making fat stacks of dosh? Then the Schmiedeberg-class is for you! Host to a robust ghetto chemistry lab, a high-efficiency botanical set-up and a complete kitchen-and-storefront, the Schmiedeberg is perfect for back-alley chemists and botanists everywhere.", - "tags": [ - "Botany", - "Medical", - "Chemistry" - ], - "map_path": "_maps/shuttles/independent/independent_schmiedeberg.dmm", - "namelists": [ - "SUNS", - "GENERAL" - ], - "limit": 2, - "job_slots": { - "Chief Pharmacist": { - "outfit": "/datum/outfit/job/independent/cmo/pharma", - "officer": true, - "slots": 1 - }, - "Pharmacist": { - "outfit": "/datum/outfit/job/independent/chemist/pharma", - "officer": false, - "slots": 1 - }, - "Mixologist": { - "outfit": "/datum/outfit/job/independent/bartender/pharma", - "officer": false, - "slots": 1 - }, - "Herbalist": { - "outfit": "/datum/outfit/job/independent/botanist/pharma", - "officer": false, - "slots": 2 - }, - "Pharmacology Student": { - "outfit": "/datum/outfit/job/independent/assistant/pharma", - "officer": false, - "slots": 2 - } - }, - "enabled": true -} - diff --git a/_maps/configs/independent_shetland.json b/_maps/configs/independent_shetland.json index de5873f80d7..a44478e49c7 100644 --- a/_maps/configs/independent_shetland.json +++ b/_maps/configs/independent_shetland.json @@ -1,5 +1,6 @@ { "map_name": "Shetland-class Multipurpose Frigate", + "faction": "/datum/faction/independent", "prefix": "SV", "namelists": [ "GENERAL", diff --git a/_maps/configs/independent_sunskipper.json b/_maps/configs/independent_sunskipper.json index 08a4a56f9fd..a87d2582f09 100644 --- a/_maps/configs/independent_sunskipper.json +++ b/_maps/configs/independent_sunskipper.json @@ -1,7 +1,8 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Sunskipper-class Culinary Vessel", - "prefix": "ISV", + "faction": "/datum/faction/independent", + "prefix": "SV", "namelists": ["CRUISE", "NATURAL"], "map_short_name": "Sunskipper-class", "map_path": "_maps/shuttles/independent/independent_sunskipper.dmm", diff --git a/_maps/configs/independent_tranquility.json b/_maps/configs/independent_tranquility.json deleted file mode 100644 index 07236d5e456..00000000000 --- a/_maps/configs/independent_tranquility.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Tranquility-class Flying Apartment Complex", - "prefix": "SV", - "namelists": [ - "GENERAL", - "SPACE", - "NATURAL" - ], - "map_short_name": "Tranquility-class", - "description": "While most vessels have some form of clear utility in mind – research, mining, cargo hauling, and so on – the Tranquility-class is a notable exception to this rule. The Tranquility is, fittingly, a fairly calm and level-headed affair, modeled around traditional apartment complexes. Fitted with several independent quarters, a large communal canteen and very little in the way of industrial equipment or self-defense tools, Tranquility-classes are often found cruising lazily around the Frontier, getting up to sitcom-esque antics and eschewing the more focused approach of many of their contemporaries.", - "tags": [ - "RP Focus", - "Service", - "Generalist" - ], - "map_path": "_maps/shuttles/independent/independent_tranquility.dmm", - "job_slots": { - "Captain": { - "outfit": "/datum/outfit/job/independent/captain/western", - "officer": true, - "slots": 1 - }, - "Scholar": { - "outfit": "/datum/outfit/job/independent/curator", - "slots": 1 - }, - "Medical Tenant": { - "outfit": "/datum/outfit/job/independent/chemist", - "slots": 1 - }, - "Engineering Tenant": { - "outfit": "/datum/outfit/job/independent/engineer", - "slots": 1 - }, - "Tenant": { - "outfit": "/datum/outfit/job/independent/curator/dungeonmaster", - "slots": 1 - }, - "Resident Artist": { - "outfit": "/datum/outfit/job/independent/assistant/artist", - "slots": 1 - } - }, - "enabled": true -} diff --git a/_maps/configs/inteq_colossus.json b/_maps/configs/inteq_colossus.json index 29337cb015a..68bc1e2ec1b 100644 --- a/_maps/configs/inteq_colossus.json +++ b/_maps/configs/inteq_colossus.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Colossus-class Armored Frigate", + "faction": "/datum/faction/inteq", "prefix": "IRMV", "description": "The mainstay of Inteq’s mercenary fleet, the Colossus is a professionally-militarized freighter like most of Inteq’s ships, and is designed to operate independently for some time, serving IRMG’s interests and providing vital mercenary services wherever they are needed. Key features include a secure and well-stocked armory and ample crew space, as well as a spacious cargo bay, which crews often refurbish into additional recreational or training space.", "tags": [ @@ -18,7 +19,7 @@ "limit": 1, "job_slots": { "Vanguard": { - "outfit": "/datum/outfit/job/inteq/captain", + "outfit": "/datum/outfit/job/inteq/captain/empty", "officer": true, "slots": 1 }, @@ -41,7 +42,7 @@ }, "Recruit": { "outfit": "/datum/outfit/job/inteq/assistant", - "slots": 5 + "slots": 2 } }, "enabled": true diff --git a/_maps/configs/inteq_hound.json b/_maps/configs/inteq_hound.json deleted file mode 100644 index cad19884158..00000000000 --- a/_maps/configs/inteq_hound.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "map_name": "Hound-class Corvette", - "prefix": "IRMV", - "namelists": [ - "MYTHOLOGICAL", - "BEASTS", - "NATURAL_AGGRESSIVE", - "INTEQ" - ], - "map_short_name": "Hound-class", - "description": "A light, fast picket and interceptor ship operated by Inteq Risk Management, the Hound offers modest crew space sufficient for a 3-man fireteam of Inteq enforcers, a small cargo bay, powerful engines, a well-stocked armory for its size, and little else. Hounds can typically be found on picket and patrol duty, escorting larger and more vulnerable IRMG ships, or performing any duty that calls for a lightning-fast ship and a handful of very well-armed individuals.", - "tags": [ - "Combat" - ], - "map_path": "_maps/shuttles/inteq/inteq_hound.dmm", - "map_id": "inteq_hound", - "limit": 2, - "job_slots": { - "Vanguard": { - "outfit": "/datum/outfit/job/inteq/captain", - "officer": true, - "slots": 1 - }, - "Enforcer": { - "outfit": "/datum/outfit/job/inteq/security", - "slots": 3 - }, - "Recruit": { - "outfit": "/datum/outfit/job/inteq/assistant", - "slots": 3 - } - }, - "enabled": false -} diff --git a/_maps/configs/inteq_talos.json b/_maps/configs/inteq_talos.json index e65253ad323..b2d39c10f44 100644 --- a/_maps/configs/inteq_talos.json +++ b/_maps/configs/inteq_talos.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Talos-class Command Clipper", + "faction": "/datum/faction/inteq", "prefix": "IRMV", "description": "The Talos is a command and support ship, and a rare example of a purpose-built Inteq ship. Outfitted with an abundance of construction and engineering equipment and a private bluespace communications suite capable of networking IRMG ships across any given system, Taloses are often the lynchpin of coordinated IRMG operations in a system, and offer construction and repair services as part of IRMG’s mercenary offerings. As Talos crews place a larger emphasis on support personnel, they tend to be less well-armed than other Inteq crews. One unusual feature of the Talos is its depressurized “wings” filled with redundant baffles, intended to provide extra durability in the case of impacts or weapons fire. They also double as auxiliary storage space and potential room for modification by their enterprising Artificer crews.", "tags": [ @@ -18,7 +19,7 @@ "limit": 1, "job_slots": { "Vanguard": { - "outfit": "/datum/outfit/job/inteq/captain", + "outfit": "/datum/outfit/job/inteq/captain/empty", "officer": true, "slots": 1 }, @@ -27,7 +28,7 @@ "officer": true, "slots": 1 }, - "Artificer Class II": { + "Honorable Artificer": { "outfit": "/datum/outfit/job/inteq/ce", "officer": true, "slots": 1 @@ -36,17 +37,17 @@ "outfit": "/datum/outfit/job/inteq/engineer", "slots": 3 }, - "Corpsman": { - "outfit": "/datum/outfit/job/inteq/paramedic", - "slots": 2 - }, "Enforcer": { "outfit": "/datum/outfit/job/inteq/security", "slots": 1 }, + "Corpsman": { + "outfit": "/datum/outfit/job/inteq/paramedic", + "slots": 1 + }, "Recruit": { "outfit": "/datum/outfit/job/inteq/assistant", - "slots": 4 + "slots": 4 } }, "enabled": true diff --git a/_maps/configs/inteq_valor.json b/_maps/configs/inteq_valor.json index 92162ac1a5d..9c23544026c 100644 --- a/_maps/configs/inteq_valor.json +++ b/_maps/configs/inteq_valor.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Valor-Class Field Care Cruiser", + "faction": "/datum/faction/inteq", "prefix": "IRMV", "description": "The Valor is the dedicated medical vessel of the Inteq fleet, suitable for treatment both for Inteq combat casualties, or paid treatment of outsiders. It's equipped with high-end medical equipment and a small ambulance for patient transport for this purpose.", "tags": ["Medical", "Subshuttle"], @@ -23,14 +24,27 @@ "officer": true, "slots": 1 }, + "Shuttle Pilot": { + "outfit": "/datum/outfit/job/inteq/warden/pilot", + "officer": true, + "slots": 1 + }, + "Shuttle Corpsman": { + "outfit": "/datum/outfit/job/inteq/paramedic/empty", + "slots": 1 + }, "Corpsman": { "outfit": "/datum/outfit/job/inteq/paramedic/empty", - "slots": 3 + "slots": 2 }, "Enforcer": { "outfit": "/datum/outfit/job/inteq/security/empty", "slots": 2 }, + "Artificer": { + "outfit": "/datum/outfit/job/inteq/engineer", + "slots": 1 + }, "Recruit": { "outfit": "/datum/outfit/job/inteq/assistant", "slots": 2 diff --git a/_maps/configs/inteq_vaquero.json b/_maps/configs/inteq_vaquero.json index e8d790a526d..2b0bed8bfe9 100644 --- a/_maps/configs/inteq_vaquero.json +++ b/_maps/configs/inteq_vaquero.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Vaquero-class Light Frigate", + "faction": "/datum/faction/inteq", "prefix": "IRMV", "description": "The Vaquero is a flexible and cheap military conversion of a light commercial freighter, widely used by Inteq Risk Management Group for picket, reconnaissance, and light escort duty, or for contracts that don't warrant a larger, more specialized ship. Unlike most Inteq ships, the Vaquero features basic medical, engineering, and military equipment all in one package, and its minimal crew requirements are an excellent fit for Vanguards with a smaller command and for training missions. Like its peers, it features a large cargo bay, which can be reconfigured as needed.", "tags": [ @@ -15,7 +16,7 @@ "limit": 1, "job_slots": { "Vanguard": { - "outfit": "/datum/outfit/job/inteq/captain", + "outfit": "/datum/outfit/job/inteq/captain/empty", "officer": true, "slots": 1 }, @@ -38,7 +39,7 @@ }, "Recruit": { "outfit": "/datum/outfit/job/inteq/assistant", - "slots": 2 + "slots": 1 } }, "enabled": true diff --git a/_maps/configs/minutemen_atlas.json b/_maps/configs/minutemen_atlas.json new file mode 100644 index 00000000000..32f30caa5b7 --- /dev/null +++ b/_maps/configs/minutemen_atlas.json @@ -0,0 +1,50 @@ + { + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "Atlas-class Light Armored Crusier", + "prefix": "CMSV", + "namelists": ["GENERAL", "CLIP MINUTEMEN", "NATURAL_AGGRESSIVE"], + "description": "The Atlas-Class is the designation for some of the oldest serving vessels in the Confederated League's military fleet. Originally the Atlantas-class, the design of the Atlantas was taken by the Colonial Militia just before the beginning of the war with the Old Frontiersmen, playing a pivotal role in multiple skirmishes. It is small in size and crew, well-rounded, and well-suited as an unexpensive hit-and-run vessel. Despite its age, the Atlas continues to serve the Confederated League for peacekeeping missions and driving off small crews of pirates from colonies.", + "tags": [ + "Combat", + "Generalist" + ], + "map_short_name": "Atlas-class", + "faction": "/datum/faction/clip", + "starting_funds": 1000, + "map_path": "_maps/shuttles/minutemen/minutemen_atlas.dmm", + "limit": 1, + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/clip/minutemen/captain", + "officer": true, + "slots": 1 + }, + "First Officer": { + "outfit": "/datum/outfit/job/clip/first_officer", + "officer": true, + "slots": 1 + }, + "Sergeant": { + "outfit": "/datum/outfit/job/clip/minutemen/grunt/lead", + "officer": true, + "slots": 1 + }, + "Corpsman": { + "outfit": "/datum/outfit/job/clip/minutemen/doctor", + "slots": 1 + }, + "Engineer": { + "outfit": "/datum/outfit/job/clip/minutemen/engineer", + "slots": 1 + }, + "Minuteman": { + "outfit": "/datum/outfit/job/clip/minutemen/grunt", + "slots": 4 + }, + "Reservist": { + "outfit": "/datum/outfit/job/clip/minutemen/grunt/reserve", + "slots": 1 + } + }, + "enabled": true +} diff --git a/_maps/configs/nanotrasen_delta.json b/_maps/configs/nanotrasen_delta.json index 57e920f77d6..cf28abc5021 100644 --- a/_maps/configs/nanotrasen_delta.json +++ b/_maps/configs/nanotrasen_delta.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Delta-class Frigate", + "faction": "/datum/faction/nt/ns_logi", "prefix": "NSSV", "namelists": [ "GENERAL", diff --git a/_maps/configs/nanotrasen_gecko.json b/_maps/configs/nanotrasen_gecko.json deleted file mode 100644 index 9ba0672f03d..00000000000 --- a/_maps/configs/nanotrasen_gecko.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Gecko-class Salvage Runner", - "prefix": "NTSV", - "namelists": [ - "NANOTRASEN", - "MERCANTILE", - "SPACE" - ], - "map_short_name": "Gecko-class", - "map_path": "_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm", - "description": "A bulky, robust, and exceedingly ugly salvage ship. The Gecko is nothing less than a flying brick full of redundant maintenance spaces and open-to-space salvage bays, powered by a temperamental TEG system, with a cramped crew space sandwiched in between. Due to its deeply obsolete design and the dangerous nature of salvage work, Geckos are often the final resting point for the careers of officers that have stepped on too many toes in the corporate world without doing anything outright criminal. Despite these shortcomings, Geckos offer a large amount of open space and a good supply of engineering equipment, which is all an enterprising engineer truly needs.", - "tags": [ - "Mining", - "Engineering" - ], - "limit": 2, - "starting_funds": 5000, - "job_slots": { - "Captain": { - "outfit": "/datum/outfit/job/nanotrasen/captain", - "officer": true, - "slots": 1 - }, - "Operations Chief": { - "outfit": "/datum/outfit/job/nanotrasen/ce", - "officer": true, - "slots": 1 - }, - "Engine Technician": { - "outfit": "/datum/outfit/job/nanotrasen/engineer", - "slots": 2 - }, - "Salvage Technician": { - "outfit": "/datum/outfit/job/nanotrasen/miner", - "slots": 2 - }, - "Deckhand": { - "outfit": "/datum/outfit/job/nanotrasen/assistant", - "slots": 4 - } - }, - "enabled": true -} diff --git a/_maps/configs/nanotrasen_harrier.json b/_maps/configs/nanotrasen_harrier.json new file mode 100644 index 00000000000..161a699c278 --- /dev/null +++ b/_maps/configs/nanotrasen_harrier.json @@ -0,0 +1,76 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "Harrier-class Exploration Cruiser", + "prefix": "NTSV", + "faction": "/datum/faction/nt", + "namelists": [ + "NANOTRASEN", + "SPACE", + "MYTHOLOGICAL", + "WEAPONS" + ], + "map_short_name": "Harrier-class", + "map_path": "_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm", + "description": "Originally an advanced ICW-era command cruiser, the surviving Harriers have been refurbished as exploration and \"reclamation\" ships in the post-ICW era. Large, well-rounded, and boasting excellent crew accomodations, Harriers are exceedingly popular with Nanotrasen crews in spite of their lack of specialized equipment.", + "tags": ["Generalist"], + "limit": 1, + "starting_funds": 4000, + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/nanotrasen/captain", + "officer": true, + "slots": 1 + }, + "First Officer": { + "outfit": "/datum/outfit/job/nanotrasen/hop", + "officer": true, + "slots": 1 + }, + "Supply Director": { + "outfit": "/datum/outfit/job/nanotrasen/quartermaster", + "officer":true, + "slots": 1 + }, + "Internal Affairs Agent": { + "outfit": "/datum/outfit/job/nanotrasen/lawyer/corporaterepresentative", + "slots": 1 + }, + "Security Officer": { + "outfit": "/datum/outfit/job/nanotrasen/security", + "slots": 1 + }, + "Medical Doctor": { + "outfit": "/datum/outfit/job/nanotrasen/doctor", + "slots": 1 + }, + "Paramedic": { + "outfit": "/datum/outfit/job/nanotrasen/paramedic", + "slots": 1 + }, + "Engineer": { + "outfit": "/datum/outfit/job/nanotrasen/engineer", + "slots": 1 + }, + "Atmospheric Technician": { + "outfit": "/datum/outfit/job/nanotrasen/atmos", + "slots": 1 + }, + "Cargo Technician": { + "outfit": "/datum/outfit/job/nanotrasen/cargo_tech", + "slots": 1 + }, + "Cook": { + "outfit": "/datum/outfit/job/independent/cook", + "slots": 1 + }, + "Janitor": { + "outfit": "/datum/outfit/job/nanotrasen/janitor", + "slots": 1 + }, + "Assistant": { + "outfit": "/datum/outfit/job/nanotrasen/assistant", + "slots": 2 + } + }, + "enabled": true +} diff --git a/_maps/configs/nanotrasen_heron.json b/_maps/configs/nanotrasen_heron.json deleted file mode 100644 index 80bf87c0cd1..00000000000 --- a/_maps/configs/nanotrasen_heron.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "prefix": "NTSV", - "namelists": ["WEAPONS"], - "map_name": "Heron-Class Dreadnaught", - "map_short_name": "Heron-class", - "map_path": "_maps/shuttles/nanotrasen/nanotrasen_heron.dmm", - "map_id": "nanotrasen_heron", - "description": "The Heron-Class is the biggest ship available to NanoTrasen's frontier forces. These vessels served as the flagship of many fleets during the war, serving as a carrier for an operative team, or a command vessel for corporate units. Captains of this vessel were known to retrofit bluespace artillery onto the hangar, and directly fire it during combat. Since the end of the war, it has been repurposed for peacekeeping missions on backline sectors. Though the age of the design is starting to show, it stands as one of the remnants of NanoTrasen's once powerful hold over the cosmos.", - "limit": 1, - "job_slots": { - "Fleet Captain": { - "outfit": "/datum/outfit/job/nanotrasen/captain/centcom", - "officer": true, - "slots": 1 - }, - "First Officer": { - "outfit": "/datum/outfit/job/nanotrasen/hop", - "officer": true, - "slots": 1 - }, - "Head of Security": { - "outfit": "/datum/outfit/job/nanotrasen/hos", - "officer": true, - "slots": 1 - }, - "Pilot": { - "outfit": "/datum/outfit/job/nanotrasen/pilot", - "officer": true, - "slots": 1 - }, - "Security Officer": { - "outfit": "/datum/outfit/job/nanotrasen/security", - "slots": 1 - }, - "ERT Officer":{ - "outfit": "/datum/outfit/job/nanotrasen/security/ert", - "slots": 4 - }, - "ERT Medical Officer":{ - "outfit": "/datum/outfit/job/nanotrasen/security/ert/med", - "slots": 1 - }, - "ERT Engineering Officer":{ - "outfit": "/datum/outfit/job/nanotrasen/security/ert/engi", - "slots": 1 - }, - "Mech Pilot":{ - "outfit": "/datum/outfit/job/nanotrasen/security/mech_pilot", - "slots": 1 - }, - "Engine Technician": { - "outfit": "/datum/outfit/job/nanotrasen/engineer", - "slots": 1 - }, - "Chief Engineer":{ - "outfit": "/datum/outfit/job/nanotrasen/ce", - "officer": true, - "slots": 1 - }, - "Roboticist": { - "outfit":"/datum/outfit/job/nanotrasen/roboticist", - "slots": 1 - }, - "Medical Doctor":{ - "outfit": "/datum/outfit/job/nanotrasen/doctor", - "slots": 1 - }, - - "Atmospheric Technician": 1, - "Quartermaster": 1, - "Cargo Technician": 1, - "Cook": 1, - "Janitor": 1, - "Assistant": 2 - }, - "enabled": false -} diff --git a/_maps/configs/nanotrasen_meta.json b/_maps/configs/nanotrasen_meta.json index b4287c3bca3..207a6a89864 100644 --- a/_maps/configs/nanotrasen_meta.json +++ b/_maps/configs/nanotrasen_meta.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Meta-class Freighter", + "faction": "/datum/faction/nt", "prefix": "NTSV", "map_short_name": "Meta-class", "description": "The Meta-class is a medium freight vessel designed for comfort and sustainability over long journeys of delivering cargo. Most, if not all of these ships are no longer under the direct management of the Company, leaving regulation and professionalism at the behest of individual captains. They can be found running independent contracts, delivering cargo, smuggling illicit goods, and generally trying to stay afloat ever since the collapse of Nanotrasen's operations in the frontier.", diff --git a/_maps/configs/nanotrasen_mimir.json b/_maps/configs/nanotrasen_mimir.json deleted file mode 100644 index db7d8b90d19..00000000000 --- a/_maps/configs/nanotrasen_mimir.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "prefix": "NTSV", - "namelists": [ - "NANOTRASEN", - "NATURAL_AGGRESSIVE", - "BEASTS" - ], - "map_name": "Mimir-class Rehabillitation Vessel", - "map_short_name": "Mimir-class", - "description": "The Mimir-class are Nanotrasen “patient” transfer and holding ships. Nanotrasen deploys Mimirs to hold those they’ve interned, often in ruined or otherwise out-of-the-way sectors. This both minimizes the chances of the “patients” escaping and drastically lowers the incentive to do so in the first place, as it keeps them stuck in the middle of nowhere until Central Command is ready to pick them up and process them. While “patients” are largely kept in cryogenic storage, regulations and medical necessity both require occasional thawing. As such, the Mimir comes with a host of “rehabilitative” activities for the “patients” as well as a light security detail to manage them.", - "tags": [ - "Riot", - "Service", - "Generalist", - "Specialist" - ], - "map_path": "_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm", - "limit": 1, - "job_slots": { - "Warden": { - "outfit": "/datum/outfit/job/nanotrasen/warden", - "officer": true, - "slots": 1 - }, - "Facility Security Officer": { - "outfit": "/datum/outfit/job/nanotrasen/security", - "slots": 2 - }, - "Facility Physician": { - "outfit": "/datum/outfit/job/nanotrasen/brig_phys", - "slots": 1 - }, - "Patient": { - "outfit": "/datum/outfit/job/prisoner", - "slots": 2 - } - }, - "enabled": false -} diff --git a/_maps/configs/nanotrasen_osprey.json b/_maps/configs/nanotrasen_osprey.json deleted file mode 100644 index 7e0804a7f20..00000000000 --- a/_maps/configs/nanotrasen_osprey.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Osprey-class Exploration Cruiser", - "prefix": "NTSV", - "namelists": [ - "NANOTRASEN", - "SPACE", - "MYTHOLOGICAL", - "WEAPONS" - ], - "map_short_name": "Osprey-class", - "map_path": "_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm", - "description": "Some of the most modern ships in Nanotrasen’s fleet and a prestigious assignment for their captains, the famed Osprey of the ICW’s most dramatic astronautical engagements lives on as a very well-appointed exploration ship. Extensively refurbished from their origins as Bluespace Artillery platforms, the contemporary Osprey repurposes military-grade sensor equipment and AI systems for exploration and scientific work. Features include respectably-equipped medical, culinary, and scientific facilities and an AI core, as well as a ship-wide disposals and delivery system and a very spacious cargo bay. However, the powerful (if temperamental) supermatter engines that powered the initial batch of Ospreys were stripped out during their rebuilds, and the replacement generator banks have left contemporary Ospreys somewhat power-starved.", - "tags": ["Cargo", "Robotics", "Generalist"], - "limit": 1, - "starting_funds": 4000, - "job_slots": { - "Captain": { - "outfit": "/datum/outfit/job/nanotrasen/captain", - "officer": true, - "slots": 1 - }, - "First Officer": { - "outfit": "/datum/outfit/job/nanotrasen/hop", - "officer": true, - "slots": 1 - }, - "Scientist": { - "outfit": "/datum/outfit/job/nanotrasen/scientist", - "slots": 2 - }, - "Medical Doctor": { - "outfit": "/datum/outfit/job/nanotrasen/doctor", - "slots": 1 - }, - "Paramedic": { - "outfit": "/datum/outfit/job/nanotrasen/paramedic", - "slots": 1 - }, - "Engineer": { - "outfit": "/datum/outfit/job/nanotrasen/engineer", - "slots": 1 - }, - "Atmospheric Technician": { - "outfit": "/datum/outfit/job/nanotrasen/atmos", - "slots": 1 - }, - "Quartermaster": { - "outfit": "/datum/outfit/job/nanotrasen/quartermaster", - "slots": 1 - }, - "Cargo Technician": { - "outfit": "/datum/outfit/job/nanotrasen/cargo_tech", - "slots": 1 - }, - "Shaft Miner": { - "outfit": "/datum/outfit/job/nanotrasen/miner", - "slots": 1 - }, - "Cook": { - "outfit": "/datum/outfit/job/cook", - "slots": 1 - }, - "Janitor": { - "outfit": "/datum/outfit/job/janitor", - "slots": 1 - }, - "Assistant": { - "outfit": "/datum/outfit/job/nanotrasen/assistant", - "slots": 3 - } - }, - "enabled": true -} diff --git a/_maps/configs/nanotrasen_ranger.json b/_maps/configs/nanotrasen_ranger.json index b4af3e797d3..fedc351e03b 100644 --- a/_maps/configs/nanotrasen_ranger.json +++ b/_maps/configs/nanotrasen_ranger.json @@ -1,23 +1,23 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "prefix": "NTSV", + "prefix": "VISV", "map_name": "Ranger-class Aid Vessel", + "faction": "/datum/faction/nt/vigilitas", "namelists": [ "NANOTRASEN", "NATURAL_AGGRESSIVE", "WEAPONS" ], "map_short_name": "Ranger-class", - "description": "A Nanotrasen rescue and aid vessel. Equipped with an AI core, moderate combat gear, and equipment fit for rescue and general aid operations. Nanotrasen often deploys these ships in lieu of a proper ERT to aid their allies in the Frontier without committing their full might. The shipowner is the Lieutenant of a Loss Prevention squad, with a Commissioner to aid with operations on the ship proper.", + "description": "A Vigilitas Interstellar aid vessel, manufactured by NT Spaceworks. Equipped with a Nanotrasen AI core, moderate combat gear, and equipment fit for rescue and general aid operations. Vigitilas Interstellar often deploys these ships in lieu of a proper ERT to aid their allies in the Frontier without committing their full might. The shipowner is the Lieutenant of a Loss Prevention squad.", "tags": [ "Combat", - "Riot", - "Robotics", "Medical", + "Firefighting", "Telecomms", "Generalist" ], - "starting_funds": 4000, + "starting_funds": 6000, "map_path": "_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm", "limit": 1, "job_slots": { @@ -38,6 +38,10 @@ "outfit": "/datum/outfit/job/nanotrasen/doctor/lp", "slots": 1 }, + "N+S Logistics Specialist": { + "outfit": "/datum/outfit/job/nanotrasen/quartermaster", + "slots": 1 + }, "Intern": { "outfit": "/datum/outfit/job/nanotrasen/assistant", "slots": 1 diff --git a/_maps/configs/nanotrasen_skipper.json b/_maps/configs/nanotrasen_skipper.json deleted file mode 100644 index 2f61c3afa60..00000000000 --- a/_maps/configs/nanotrasen_skipper.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Skipper-class Heavy Cruiser", - "map_short_name": "Skipper-class", - "prefix": "NTSV", - "namelists": [ - "NANOTRASEN", - "SPACE", - "MYTHOLOGICAL", - "WEAPONS", - "MERCANTILE" - ], - "map_path": "_maps/shuttles/nanotrasen/nanotrasen_skipper.dmm", - "description": "An example of one of Nanotrasen’s “standard-pattern” cruisers. The Skipper-class is well-equipped by Frontier standards, with ample room for engineering equipment, well-appointed crew accommodations, and a decent supply of defensive weaponry. Notably, the Skipper comes with a larger command section than average, and the officers on Skippers tend to be better-equipped than their peers. Though not as prestigious as a position aboard an Osprey, few Nanotrasen captains would turn down a position commanding a Skipper.", - "tags": [ - "Engineering", - "Mining" - ], - "starting_funds": 4500, - "job_slots": { - "Captain": { - "outfit": "/datum/outfit/job/nanotrasen/captain", - "officer": true, - "slots": 1 - }, - "First Officer": { - "outfit": "/datum/outfit/job/nanotrasen/hop", - "officer": true, - "slots": 1 - }, - "Internal Affairs Agent": { - "outfit": "/datum/outfit/job/nanotrasen/lawyer/corporaterepresentative", - "slots" : 1 - }, - "Medical Doctor": 1, - "Engineer": { - "outfit": "/datum/outfit/job/nanotrasen/engineer", - "slots": 1 - }, - "Atmospheric Technician": { - "outfit": "/datum/outfit/job/nanotrasen/atmos", - "slots": 1 - }, - "Shaft Miner": 2, - "Cargo Technician": { - "outfit": "/datum/outfit/job/nanotrasen/cargo_tech", - "slots": 1 - }, - "Security Officer": { - "outfit": "/datum/outfit/job/nanotrasen/security", - "slots": 1 - }, - "Cook": { - "outfit": "/datum/outfit/job/cook", - "slots": 1 - }, - "Assistant": { - "outfit": "/datum/outfit/job/assistant", - "slots": 3 - } - }, - "enabled": true -} diff --git a/_maps/configs/nanotrasen_tegu.json b/_maps/configs/nanotrasen_tegu.json new file mode 100644 index 00000000000..92b8ddfa5fc --- /dev/null +++ b/_maps/configs/nanotrasen_tegu.json @@ -0,0 +1,47 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "Tegu-class Communications Freighter", + "faction": "/datum/faction/nt", + "prefix": "NTSV", + "namelists": [ + "NANOTRASEN", + "SPACE", + "MYTHOLOGICAL", + "WEAPONS" + ], + "map_short_name": "Tegu-class", + "map_path": "_maps/shuttles/nanotrasen/nanotrasen_tegu.dmm", + "description": "The Tegu-class network vessel has long been the backbone of Nanotrasen's interstellar telecommunications network. These ships are outfitted with a large communications array, allowing them to function as a mobile network hub both for corporate and civilian radio traffic. While the Tegu has been in service for decades, they have become quite abundant on the Frontier after the ICW, as the Frontier's already-sparse infrastructure was devastated by the fighting, leaving many systems with minimal to no organized telecommunications. In order to facilitate infrastructure reconstruction in an environment with poor shipping networks, the Tegu is also outfitted with mining equipment that allows it to procure materials in the field.", + "tags": ["Mining", "Construction", "Telecomms", "Subshuttle"], + "limit": 1, + "starting_funds": 6000, + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/nanotrasen/captain", + "officer": true, + "slots": 1 + }, + "Supply Director": { + "outfit": "/datum/outfit/job/nanotrasen/quartermaster", + "officer": true, + "slots": 1 + }, + "Security Officer": { + "outfit": "/datum/outfit/job/nanotrasen/security", + "slots": 1 + }, + "Field Technician": { + "outfit": "/datum/outfit/job/nanotrasen/miner/no_equipment", + "slots": 2 + }, + "Engineer": { + "outfit": "/datum/outfit/job/nanotrasen/engineer", + "slots": 1 + }, + "Deckhand": { + "outfit": "/datum/outfit/job/nanotrasen/assistant", + "slots": 2 + } + }, + "enabled": true +} diff --git a/_maps/configs/pgf_crying_sun.json b/_maps/configs/pgf_crying_sun.json index 5112e1b2528..8fc1378c435 100644 --- a/_maps/configs/pgf_crying_sun.json +++ b/_maps/configs/pgf_crying_sun.json @@ -1,5 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "faction": "/datum/faction/pgf", "prefix": "PGFN", "map_name": "Crying Sun-class Light Frigate", "namelists": [ @@ -21,7 +22,7 @@ "officer": true, "slots": 1 }, - "Bridge Crew": { + "Helmsman": { "outfit": "/datum/outfit/job/gezena/assistant/bridge", "slots": 1 }, @@ -37,8 +38,9 @@ "outfit": "/datum/outfit/job/gezena/assistant", "slots": 2 }, - "Marine Sergeant": { + "Marine Lieutenant": { "outfit": "/datum/outfit/job/gezena/hos", + "officer": true, "slots": 1 }, "Marine": { diff --git a/_maps/configs/pgf_elated_bolide.json b/_maps/configs/pgf_elated_bolide.json new file mode 100644 index 00000000000..6c3fe8e153c --- /dev/null +++ b/_maps/configs/pgf_elated_bolide.json @@ -0,0 +1,56 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "faction": "/datum/faction/pgf", + "prefix": "PGFN", + "map_name": "Elated Bolide-Class Assault Lander", + "namelists": [ + "PGF" + ], + "map_short_name": "Elated Bolide-Class", + "description": "A somewhat stout design manufactured by the Etherbor PGFN Lihmona Navy Shipyard for service as an orbital assault ship, the Elated Bolide class has served with distinction in many minor conflicts and been sent on deployment to even more locales. Despite not carrying ship-to-ship weaponry (with the traditional mounting spot being taken up by a high-gain antenna), the Elated Bolide's Pioneers are well armed and well trained for orbital insertion, construction, and demolition.", + "tags": [ + "Combat", + "Engineering", + "RP Focus" + ], + "starting_funds": 1000, + "map_path": "_maps/shuttles/pgf/pgf_elated_bolide.dmm", + "limit": 1, + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/gezena/captain", + "officer": true, + "slots": 1 + }, + "Marine Lieutenant": { + "outfit": "/datum/outfit/job/gezena/hos", + "officer":true, + "slots": 1 + }, + "Helmsman": { + "outfit": "/datum/outfit/job/gezena/assistant/bridge", + "slots": 1 + }, + "Navy Engineer": { + "outfit": "/datum/outfit/job/gezena/engineer", + "slots": 2 + }, + "Hospital Corpsman": { + "outfit": "/datum/outfit/job/gezena/doctor", + "slots": 1 + }, + "Marine": { + "outfit": "/datum/outfit/job/gezena/security", + "slots": 2 + }, + "Assault Pioneer":{ + "outfit": "/datum/outfit/job/gezena/security/sapper", + "slots":4 + }, + "Crewman": { + "outfit": "/datum/outfit/job/gezena/assistant", + "slots": 1 + } + }, + "enabled":true +} diff --git a/_maps/configs/pgf_woeful_cthonian.json b/_maps/configs/pgf_woeful_cthonian.json new file mode 100644 index 00000000000..442ebd2cc06 --- /dev/null +++ b/_maps/configs/pgf_woeful_cthonian.json @@ -0,0 +1,38 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "faction": "/datum/faction/pgf", + "prefix": "PGFN", + "map_name": "Woeful Cthonian-class Patrol Cutter", + "namelists": [ + "PGF" + ], + "map_short_name": "Cthonian-class", + "description": "A new design of patrol ship designed by Etherbor's Lihmona Navy Shipyards and manufactured by Axilai Orbital Works, the Woeful Cthonian is a small ship with average maneuverability and firepower designed for sustained operations in contested space. While it is not able to hold its own in a firefight with proper warships, lacks specialization into any particular field, and carries no proper marine complement. Despite what some would consider shortcomings, it still finds solid usage as a generalist vessel for the Gezenan navy.", + "tags": [ + "RP Focus", + "Medical" + ], + "starting_funds": 1000, + "map_path": "_maps/shuttles/pgf/pgf_woeful_cthonian.dmm", + "limit": 1, + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/gezena/captain", + "officer": true, + "slots": 1 + }, + "Navy Engineer": { + "outfit": "/datum/outfit/job/gezena/engineer", + "slots": 1 + }, + "Navy Doctor": { + "outfit": "/datum/outfit/job/gezena/doctor", + "slots": 1 + }, + "Crewman": { + "outfit": "/datum/outfit/job/gezena/assistant", + "slots": 3 + } + }, + "enabled":true +} diff --git a/_maps/configs/pirate_libertatia.json b/_maps/configs/pirate_libertatia.json index 4ed42674651..9a77cc2c5de 100644 --- a/_maps/configs/pirate_libertatia.json +++ b/_maps/configs/pirate_libertatia.json @@ -7,6 +7,7 @@ "tags": [ "Combat" ], + "faction": "/datum/faction/frontier", "prefix": "ISV", "namelists": [ "PIRATES", diff --git a/_maps/configs/pirate_noderider.json b/_maps/configs/pirate_noderider.json deleted file mode 100644 index 7863a9d9689..00000000000 --- a/_maps/configs/pirate_noderider.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Jupiter-class Stormrider", - "map_short_name": "Jupiter-class", - "prefix": "ISV", - "namelists": [ - "INSTALLATION", - "PIRATES" - ], - "map_path": "_maps/shuttles/pirate/pirate_noderider.dmm", - "description": "The Jupiter-class Stormrider is a specialist design originating from the Silicon Elevation Council, typically used for sustained missions in the Frontier. While habitable to organic life (typically as a matter of convenience), the ship is designed with silicons in mind, and features an AI core built into its hull. Many captains have been quoted as being “frightened” (although “piss-pants scared” was the exact statement) by one suddenly appearing out of a storm, IFF loudly declaring who they were, or in worse conditions, not functioning at all. Some examples have been known to find their way into pirate hands, who leverage the ship to spring ambushes on unsuspecting traders.", - "tags": [ - "Robotics", - "Specialist", - "Riot", - "Combat" - ], - "space_spawn": true, - "job_slots": { - "Command Node": { - "outfit": "/datum/outfit/job/independent/captain/pirate/jupiter", - "officer": true, - "slots": 1 - }, - "Assault Node": { - "outfit": "/datum/outfit/job/independent/security/pirate/jupiter", - "slots": 2 - }, - "Engineering Node": { - "outfit": "/datum/outfit/job/independent/engineer/pirate/jupiter", - "slots": 1 - }, - "Fodder": { - "outfit": "/datum/outfit/job/independent/assistant/pirate/jupiter", - "slots": 2 - } - }, - "enabled": false -} diff --git a/_maps/configs/pirate_tortuga.json b/_maps/configs/pirate_tortuga.json index 702185c0238..6543d349bad 100644 --- a/_maps/configs/pirate_tortuga.json +++ b/_maps/configs/pirate_tortuga.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Tortuga-class Converted Cargo Freighter", + "faction": "/datum/faction/frontier", "prefix": "ISV", "namelists": [ "PIRATES", diff --git a/_maps/configs/solgov_chronicle.json b/_maps/configs/solgov_chronicle.json deleted file mode 100644 index 9fe11023e37..00000000000 --- a/_maps/configs/solgov_chronicle.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "map_name": "Chronicle-class Sensor Frigate", - "prefix": "SCSV", - "namelists": [ - "SOLGOV", - "SPACE", - "BRITISH_NAVY", - "NATURAL" - ], - "map_short_name": "Chronicle-class", - "map_path": "_maps/shuttles/solgov/solgov_chronicle.dmm", - "description": "Equipped with a sophisticated sensors suite and powerful data utilities, the Chronicle is a clerical workhorse, able to collect and process vast amounts of information. Often employed for census duties and interstellar exploration, the Chronicle is also a favorite of Evidenzkompanien, employed often for intelligence operations. With this fact in mind, Chronicle-class vessels are often placed under increased scrutiny by patrols, somewhat mitigating their effectiveness as a spymaster's tool.", - "tags": [ - "Specialist" - ], - "limit": 1, - "job_slots": { - "Captain": { - "outfit": "/datum/outfit/job/solgov/captain", - "officer": true, - "slots": 1 - }, - "Overseer": { - "outfit": "/datum/outfit/job/solgov/overseer", - "officer": true, - "slots": 1 - }, - "Sonnensöldner": { - "outfit": "/datum/outfit/job/solgov/sonnensoldner", - "slots": 1 - }, - "Ship Engineer": { - "outfit": "/datum/outfit/job/solgov/engineer", - "slots": 2 - }, - "Field Engineer": { - "outfit": "/datum/outfit/job/solgov/miner", - "slots": 2 - }, - "Scribe": { - "outfit": "/datum/outfit/job/solgov/assistant", - "slots" : 2 - } - }, - "enabled": true -} diff --git a/_maps/configs/solgov_inkwell.json b/_maps/configs/solgov_inkwell.json index b7ae54a1b6b..92c1f80075f 100644 --- a/_maps/configs/solgov_inkwell.json +++ b/_maps/configs/solgov_inkwell.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Inkwell-class Supply Freighter", + "faction": "/datum/faction/solgov", "prefix": "SCSV", "namelists": [ "SOLGOV", diff --git a/_maps/configs/solgov_paracelsus.json b/_maps/configs/solgov_paracelsus.json index a5eefc5296d..0e9695952e1 100644 --- a/_maps/configs/solgov_paracelsus.json +++ b/_maps/configs/solgov_paracelsus.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Paracelsus-class Medical Corvette", + "faction": "/datum/faction/solgov", "prefix": "SCSV", "namelists": [ "SOLGOV", diff --git a/_maps/configs/srm_elder.json b/_maps/configs/srm_elder.json index 887496fd6b2..4ea699cd688 100644 --- a/_maps/configs/srm_elder.json +++ b/_maps/configs/srm_elder.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Elder-class Montagnes' Vessel", + "faction": "/datum/faction/srm", "prefix": "SRSV", "namelists": [ "SAINT-ROUMAIN", diff --git a/_maps/configs/syndicate_cybersun_kansatsu.json b/_maps/configs/syndicate_cybersun_kansatsu.json index 7ae8959dccb..1b212fe2a60 100644 --- a/_maps/configs/syndicate_cybersun_kansatsu.json +++ b/_maps/configs/syndicate_cybersun_kansatsu.json @@ -38,5 +38,5 @@ "slots": 2 } }, - "enabled": true + "enabled": false } diff --git a/_maps/configs/syndicate_litieguai.json b/_maps/configs/syndicate_cybersun_litieguai.json similarity index 90% rename from _maps/configs/syndicate_litieguai.json rename to _maps/configs/syndicate_cybersun_litieguai.json index 685a5318742..41fb97deb3a 100644 --- a/_maps/configs/syndicate_litieguai.json +++ b/_maps/configs/syndicate_cybersun_litieguai.json @@ -1,13 +1,14 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Li Tieguai-class Rescue Ship", + "faction": "/datum/faction/syndicate/cybersun", "prefix": "CSSV", "map_short_name": "Li Tieguai-class", "description": "A small, nimble, and exceptionally well-built medical response vessel, the Li Tieguai is a recent addition to Cybersun’s fleet, forming a critical component of their Frontier stabilization program. Li Tieguais come equipped with high-end medical equipment, including a selection of Cybersun augments and prosthetics, as well as weaponry and armor sufficient to protect its personnel in the often-dangerous Frontier sectors, so that they can offer premium healthcare (at premium prices) in even the most dangerous of scenarios.", "tags": [ "Medical" ], - "map_path": "_maps/shuttles/syndicate/syndicate_litieguai.dmm", + "map_path": "_maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm", "namelists": [ "SPACE", "BEASTS", @@ -16,6 +17,7 @@ "job_slots": { "Captain": { "outfit": "/datum/outfit/job/syndicate/captain/cybersun", + "officer": true, "slots": 1 }, "Medical Director": { diff --git a/_maps/configs/syndicate_gorlex_hyena.json b/_maps/configs/syndicate_gorlex_hyena.json deleted file mode 100644 index a835e00b1eb..00000000000 --- a/_maps/configs/syndicate_gorlex_hyena.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "prefix": "NGRV", - "namelists": [ - "GORLEX", - "NATURAL_AGGRESSIVE", - "BEASTS", - "WEAPONS", - "ACLF" - ], - "map_name": "Hyena-class Wrecking Tug", - "description": "The Hyena is a common salvage tug, frequently operated by the Gorlex Marauders for “salvage” missions on ICW-era Nanotrasen derelicts (and occasionally occupied outposts and ships). The Hyena features a fairly compact floor plan with a dedicated secure armory space and a fairly large cargo bay for its size, as well as a complement of high-grade hardsuits and mining equipment. The Hyena’s low cost and high demand in its niche has made it a very common sight on the Frontier in the years following the ICW, and despite their tight finances nearly all Gorlex Marauder splinter factions continue to acquire more.", - "tags": [ - "Mining", - "Combat" - ], - "map_short_name": "Hyena-class", - "map_path": "_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm", - "job_slots": { - "Captain": { - "outfit": "/datum/outfit/job/syndicate/captain/ngr", - "officer": true, - "slots": 1 - }, - "Foreman": { - "outfit": "/datum/outfit/job/syndicate/ce/ngr", - "officer": true, - "slots": 1 - }, - "Mechanic": { - "outfit": "/datum/outfit/job/syndicate/engineer/ngr", - "slots": 1 - }, - "Wrecker": { - "outfit": "/datum/outfit/job/syndicate/miner/ngr", - "slots": 2 - }, - "Initiate": { - "outfit": "/datum/outfit/job/syndicate/assistant/ngr", - "slots": 2 - } - }, - "enabled": true -} diff --git a/_maps/configs/syndicate_gorlex_komodo.json b/_maps/configs/syndicate_gorlex_komodo.json index 39a94b6a8e8..305eb0a09f4 100644 --- a/_maps/configs/syndicate_gorlex_komodo.json +++ b/_maps/configs/syndicate_gorlex_komodo.json @@ -28,6 +28,11 @@ "officer": true, "slots": 1 }, + "Bridge Officer": { + "outfit": "/datum/outfit/job/syndicate/head_of_personnel/cybersun", + "officer": true, + "slots": 1 + }, "Medic": { "outfit": "/datum/outfit/job/syndicate/doctor/gorlex", "slots": 1 @@ -43,11 +48,7 @@ "Deck Assistant": { "outfit": "/datum/outfit/job/syndicate/assistant/gorlex", "slots": 2 - }, - "Bridge Officer": { - "outfit": "/datum/outfit/job/syndicate/head_of_personnel/cybersun", - "slots": 1 } }, - "enabled": true + "enabled": false } diff --git a/_maps/configs/syndicate_ngr_derecho.json b/_maps/configs/syndicate_ngr_derecho.json new file mode 100644 index 00000000000..e65ab90e3c7 --- /dev/null +++ b/_maps/configs/syndicate_ngr_derecho.json @@ -0,0 +1,45 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "faction": "/datum/faction/syndicate/ngr", + "prefix": "NGRV", + "namelists": [ + "GORLEX", + "NATURAL_AGGRESSIVE", + "BEASTS", + "WEAPONS" + ], + "map_name": "Derecho-class Wrecking Tug", + "description": "The Derecho-class is a series of salvage ships commissioned by the New Gorlex Republic almost as soon as the Republic was founded for the prodigious task of cleaning the space around New Gorlex of countless ICW-era shipwrecks. In recent years, Derechos are operated as auxiliary ships typically tasked with surveying, assessment, and their original mission of salvaging in space controlled or contested by the NGR.", + "tags": [ + "Mining", + "Salvage", + "Combat" + ], + "map_short_name": "Derecho-class", + "map_path": "_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm", + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/syndicate/captain/ngr", + "officer": true, + "slots": 1 + }, + "Foreman": { + "outfit": "/datum/outfit/job/syndicate/ce/ngr", + "officer": true, + "slots": 1 + }, + "Mechanic": { + "outfit": "/datum/outfit/job/syndicate/engineer/ngr", + "slots": 1 + }, + "Wrecker": { + "outfit": "/datum/outfit/job/syndicate/miner/ngr", + "slots": 2 + }, + "Initiate": { + "outfit": "/datum/outfit/job/syndicate/assistant/ngr", + "slots": 2 + } + }, + "enabled": true +} diff --git a/_maps/configs/syndicate_ngr_kaliandhi.json b/_maps/configs/syndicate_ngr_kaliandhi.json new file mode 100644 index 00000000000..81b32af3274 --- /dev/null +++ b/_maps/configs/syndicate_ngr_kaliandhi.json @@ -0,0 +1,58 @@ +{ + "faction": "/datum/faction/syndicate/ngr", + "prefix": "NGRV", + "namelists": [ + "GORLEX", + "NATURAL_AGGRESSIVE", + "BEASTS", + "WEAPONS" + ], + "map_name": "Kali Andhi-class Destroyer", + "map_short_name": "Kali Andhi-class", + "description": "A post-ICW destroyer design commissioned by the New Gorlex Republic and outfitted for general patrol and reclamation duties. The Kali Andhi-class, despite its young age, has been instrumental in securing New Gorlex's modest territorial claims, making them a somewhat unwelcome sight for the PGF's frontier mission.", + "tags": [ + "RP Focus", + "Combat" + ], + "map_path": "_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm", + "map_id": "syndicate_gorlex_kaliandhi", + "limit": 1, + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/syndicate/captain/ngr", + "officer": true, + "slots": 1 + }, + "Lieutenant": { + "outfit": "/datum/outfit/job/syndicate/hos/ngr", + "officer": true, + "slots": 1 + }, + "Ensign": { + "outfit": "/datum/outfit/job/syndicate/head_of_personnel/ngr", + "officer": true, + "slots": 1 + }, + "Medical Doctor": { + "outfit": "/datum/outfit/job/syndicate/doctor/ngr", + "slots": 1 + }, + "Mechanic": { + "outfit": "/datum/outfit/job/syndicate/engineer/ngr", + "slots": 1 + }, + "Wrecker": { + "outfit": "/datum/outfit/job/syndicate/miner/ngr", + "slots":1 + }, + "Operative": { + "outfit": "/datum/outfit/job/syndicate/security/ngr", + "slots": 3 + }, + "Initiate": { + "outfit": "/datum/outfit/job/syndicate/assistant/ngr", + "slots": 2 + } + }, + "enabled": true +} diff --git a/_maps/configs/syndicate_panacea.json b/_maps/configs/syndicate_panacea.json index 5ac45d57182..f56158d9d9d 100644 --- a/_maps/configs/syndicate_panacea.json +++ b/_maps/configs/syndicate_panacea.json @@ -3,6 +3,7 @@ "map_name": "Panacea-class Infirm Vessel", "map_short_name": "Panacea-class", "map_path": "_maps/shuttles/syndicate/syndicate_panacea.dmm", + "faction": "/datum/faction/syndicate/suns", "description": "Shortly after Solcon breached the Oort Cloud, SUNS joined into the Syndicate Coalition. Holding close ties to both the ACLF and GEC, students jumped at the opportunity to see the rest of the galaxy. The Panacea-class was the first of its kind out of Sol, moving typically planetside inpatient care to a space vessel and jumping system to system. The Panacea class is a moderately well supplied ship, allowing for emergency pharmaceutical compounding, mental and physical therapy, and general medical work, while doubling as a student run vessel.", "tags": [ "Generalist", diff --git a/_maps/configs/syndicate_twinkleshine.json b/_maps/configs/syndicate_twinkleshine.json index ef84cca126f..b1be2eb333d 100644 --- a/_maps/configs/syndicate_twinkleshine.json +++ b/_maps/configs/syndicate_twinkleshine.json @@ -1,5 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "faction": "/datum/faction/syndicate", "prefix": "SSV", "namelists": [ "GORLEX", diff --git a/_maps/example_ship_config.json b/_maps/example_ship_config.json index 7c34d7bc684..e5dbd47d61e 100644 --- a/_maps/example_ship_config.json +++ b/_maps/example_ship_config.json @@ -2,10 +2,11 @@ "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Example-class Experimental Ship", "map_short_name": "Test-class", + "faction": "/datum/faction/independent", "prefix": "STSV", "namelists": ["GENERAL", "SPACE", "MYTHOLOGICAL", "WEAPONS"], "map_path": "_maps/shuttles/shiptest/null.dmm", - "limit": 2, + "limit": 1, "spawn_time_coeff": 1.5, "officer_time_coeff": 0.5, "job_slots": { diff --git a/_maps/map_catalogue.txt b/_maps/map_catalogue.txt index 5d941ef7fd6..5eb19939ddb 100644 --- a/_maps/map_catalogue.txt +++ b/_maps/map_catalogue.txt @@ -1,31 +1,10 @@ Find the key for using this catalogue in "map_catalogue_key.txt" - IceRuins: - File Name = _maps\RandomRuins\IceRuins\icemoon_hydroponics_lab.dmm - Size = (x = 33)(y = 33)(z = 1) - Tags = "Medium Loot", "Medium Combat Challenge", "Antag_Gear", "Shelter" - - File Name = _maps\RandomRuins\IceRuins\icemoon_surface_corporate_rejects.dmm - Size = (x = 34)(y = 38)(z = 1) - Tags = "Boss Combat Challenge", "Major Loot", "Antag Gear", "Shelter", "Lava" - - File Name = _maps\RandomRuins\IceRuins\icemoon_surface_engioutpost.dmm - Size = (x = 40)(y = 20)(z = 1) - Tags = "No Combat", "Minor Loot", "Shelter" - - File Name = _maps\RandomRuins\IceRuins\icemoon_underground_abandoned_newcops.dmm - Size = (x = 37)(y = 32)(z = 1) - Tags = "Medium Combat Challenge", "Minor Loot", "Shelter" - File Name = _maps\RandomRuins\IceRuins\icemoon_underground_abandoned_village.dmm Size = (x = 28)(y = 28)(z = 1) Tags = "Medium Combat Challenge", "Minor Loot", "Antag Gear", "Inhospitable" - File Name = _maps\RandomRuins\IceRuins\icemoon_underground_brazillianlab.dmm - Size = (x = 40)(y = 30)(z = 1) - Tags = "Boss Combat Challenge", "Major Loot", "Inhospitable" - File Name = _maps\RandomRuins\IceRuins\icemoon_underground_burnies_lair.dmm Size = (x = 20)(y = 20)(z = 1) Tags = "Boss Combat Challenge", "Minor Loot", "Shelter", "Antag Gear" @@ -38,7 +17,9 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 47)(y = 37)(z = 1) Tags = "Medium Combat Challenge", "Minor Loot", "Shelter" - + File Name = _maps\RandomRuins\IceRuins\icemoon_ice_lodge.dmm + Size = (x = 44)(y = 49)(z = 1) + Tags = "Medium Combat Challenge", "Medium Loot", "Shelter", "Liveable" JungleRuins: File Name = "_maps\RandomRuins\JungleRuins\jungle_syndicate.dmm" @@ -65,10 +46,6 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 43)(y = 63)(z = 1) Tags = "Medium Combat Challenge", "Hazardous", "Liveable", "Major Loot" - File Name "_maps\RandomRuins\JungleRuins\jungle_abandoned_library - Size = (x = 36)(y = 35)(z = 1) - Tags = "Medium Combat Challenge", "Medium Loot", "Antag Gear", "Necropolis Loot", "Liveable" - LavaRuins: File Name = "_maps\RandomRuins\LavaRuins\lavaland_surface_buried_shrine.dmm" Size = (x = 67)(y = 55)(z = 1) @@ -78,10 +55,6 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 46)(y = 42)(z = 1) Tags = "Medium Combat Challenge", "Medium Loot", "Shelter" - File Name = "_maps\RandomRuins\LavaRuins\lavaland_surface_elephant_graveyard.dmm" - Size = (x = 29)(y = 35)(z = 1) - Tags = "No Combat", "Minor Loot", "Hazardous", "Inhospitable" - File Name = "_maps\RandomRuins\LavaRuins\lavaland_surface_lava_canyon.dmm" Size = (x = 90)(y = 63)(z = 1) Tags = "Medium Combat Challenge", "Medium Loot", "Megafauna", "Necropolis Loot", "Inhospitable", "Lava" @@ -90,15 +63,16 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 47)(y = 47)(z = 1) Tags = "Boss Combat Challenge", "Major Loot", "Shelter", "Lava" - File Name = "_maps\RandomRuins\BeachRuins\lavaland_crashed_starwalker.dmm" + File Name = "_maps\RandomRuins\LavaRuins\lavaland_crashed_starwalker.dmm" Size = (x = 33)(y = 56)(z = 1) Tags = "Minor Combat Challenge", "Medium Loot", "Lava" - ReebeRuins: - File Name = "_maps\RandomRuins\Ruins\reebe_swarmers.dmm" - Size = (x = 20)(y = 20)(z = 1) - Tags = "Medium Combat Challenge", "Minor Loot", "Liveable" + File Name = "_maps\RandomRuins\LavaRuins\lavaland_abandonedlisteningpost.dmm" + Size = (x = 33)(y = 56)(z = 1) + Tags = "Medium Combat Challenge", "Medium Loot", "Shelter" + + ReebeRuins: File Name = "_maps\RandomRuins\Ruins\reebe_arena.dmm" Size = (x = 79)(y = 60)(z = 1) Tags = "Boss Combat Challenge", "Medium Loot", "Liveable" @@ -129,39 +103,41 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 58)(y = 48)(z = 1) Tags = "Medium Combat Challenge", "Medium Loot", "Hazardous", "Hospitable" + File Name = "_maps\RandomRuins\RockRuins\rockplanet_distillery.dmm" + Size = (x = 44)(y = 45)(z = 1) + Tags = "Medium Combat Challenge", "Major Loot", "Hazardous", "Hospitable" + SandRuins: - File Name = "_maps\RandomRuins\Ruins\whitesands_surface_camp_saloon.dmm" + File Name = "_maps\RandomRuins\SandRuins\whitesands_surface_camp_saloon.dmm" Size = (x = 30)(y = 30)(z = 1) Tags = "Medium Combat Challenge", "Medium Loot", "Inhospitable" - File Name = "_maps\RandomRuins\Ruins\whitesands_surface_camp_combination.dmm" + File Name = "_maps\RandomRuins\SandRuins\whitesands_surface_camp_combination.dmm" Size = (x = 59)(y = 59)(z = 1) Tags = "Medium Combat Challenge", "Medium Loot", "Inhospitable", "Hazardous" - File Name = "_maps\RandomRuins\Ruins\whitesands_surface_medipen_plant.dmm" + File Name = "_maps\RandomRuins\SandRuins\whitesands_surface_medipen_plant.dmm" Size = (x = 23)(y = 29)(z = 1) Tags = "No Combat", "Major Loot", "Shelter" - File Name = "_maps\RandomRuins\Ruins\whitesands_surface_pubbyslopcrash.dmm" + File Name = "_maps\RandomRuins\SandRuins\whitesands_surface_pubbyslopcrash.dmm" Size = (x = 40)(y = 25)(z = 1) Tags = "Minor Combat Challenge", "Medium Loot", "Shelter" + File Name = _maps\RandomRuins\SandRuins\whitesands_brazillianlab.dmm + Size = (x = 40)(y = 30)(z = 1) + Tags = "Boss Combat Challenge", "Major Loot", "Inhospitable" + File Name = "_maps\RandomRuins\Ruins\whitesands_surface_e11_manufactory.dmm" + Size = (x = 70)(y = 63)(z = 1) + Tags = "Medium Combat Challenge", "Medium Loot", "Shelter", "Hazardous" SpaceRuins: - File Name = "_maps\RandomRuins\SpaceRuins\astraeus.dmm" - Size = (x = 47)(y = 35)(z = 1) - Tags = "Minor Combat Challenge", "Medium Loot", "Inhospitable" - File Name = "_maps\RandomRuins\SpaceRuins\bigderelict1.dmm" Size = (x = 40)(y = 34)(z = 1) Tags = "Minor Combat Challenge", "Medium Loot", "Shelter" - File Name = "_maps\RandomRuins\SpaceRuins\corporate_mining.dmm" - Size = (x = 50)(y = 50)(z = 1) - Tags = "No Combat", "Medium Loot", "Shelter" - File Name = "_maps\RandomRuins\SpaceRuins\onehalf.dmm" Size = (x = 29)(y = 20)(z = 1) Tags = "Minor Combat Challenge", "Medium Loot", "inhospitable" @@ -183,14 +159,6 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 75)(y = 76)(z = 1) Tags = "Medium Combat Challenge", "Medium Loot", Liveable" - File Name = "_maps\RandomRuins\BeachRuins\beach_colony.dmm" - Size = (x = 30)(y = 30)(z = 1) - Tags = "Minor Combat Challenge", "Minor Loot" - - File Name = "_maps\RandomRuins\BeachRuins\beach_fishing_hut.dmm" - Size = (x = 30)(y = 40)(z = 1) - Tags = "Hard Combat Challenge, "Major Loot", "Hazardous" - File Name = "_maps\RandomRuins\BeachRuins\beach_crashed_engineer.dmm" Size = (x = 32)(y = 32)(z = 1) Tags = "Minor Combat Challenge, "Medium Loot", "Hazardous" @@ -199,26 +167,11 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 33)(y = 26)(z = 1) Tags = "Medium Combat Challenge", "Medium Loot", "Liveable" - File Name = "_maps\RandomRuins\BeachRuins\beach_ocean_town.dmm" - Size = (x = 80)(y = 83)(z = 1) - Tags = "No Combat", "Minor loot", "Liveable" - File Name = "_maps\RandomRuins\BeachRuins\beach_treasure_cove.dmm" Size = (x = 37)(y = 43)(z = 1) Tags = "Medium Combat Challenge", "Medium Loot", "Liveable" - File Name = "_maps\RandomRuins\BeachRuins\beach_float_resort.dmm" - Size = (x = 38)(y = 52)(z = 1) - Tags = "No Combat", "Minor Loot", "Liveable" - Waste Ruins: - File name ="_maps\RandomRuins\wasteruins\wasteplanet_lab.dmm" - Size = (x = 26)(y = 25)(z = 1) - Tags = "No Combat", "Medium Loot" "Shelter" "hazardous" "hospitable" - - File name ="_maps\RandomRuins\wasteruins\wasteplanet_pandora.dmm" - Size = (x = 18)(y = 21)(z = 1) - Tags = "Boss Combat Challenge", "Medium Loot" "Megafauna", "hospitable" File name ="_maps\RandomRuins\wasteruins\wasteplanet_unhonorable.dmm" Size = (x = 34)(y = 34)(z = 1) @@ -227,3 +180,11 @@ Find the key for using this catalogue in "map_catalogue_key.txt" File name = "_maps\RandomRuins\wasteruins\wasteplanet_abandoned_mechbay.dmm" Size = (x = 45)(y = 47)(z = 1) Tags = "Boss Combat Challenge", "Medium Loot", "Shelter", "Hazardous" + + File name = "_maps\RandomRuins\wasteruins\wasteplanet_yard.dmm" + Size = (x = 43)(y = 51)(z = 1) + Tags = "Medium Combat Challenge", "Medium Loot", "Shelter", "Hazardous" + + File name = "_maps\RandomRuins\wasteruins\wasteplanet_tradepost.dmm" + Size = (x = 57)(y = 51)(z = 1) + Tags = "Minor Combat Challenge", "Medium Loot", "Shelter", "Hazardous" diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index ff8c37d19e9..d8a562fe99e 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -26,7 +26,7 @@ /turf/open/floor/plasteel/dark, /area/tdome/tdomeadmin) "afh" = ( -/obj/machinery/computer/helm{ +/obj/machinery/computer{ dir = 4 }, /obj/effect/turf_decal/industrial/warning{ @@ -154,7 +154,7 @@ /turf/open/floor/plating, /area/ctf) "agI" = ( -/obj/machinery/power/emitter/energycannon{ +/obj/machinery/power/emitter/energycannon/ctf{ active = 0 }, /turf/open/floor/plating, @@ -163,7 +163,7 @@ /turf/open/floor/plating, /area/ctf) "aha" = ( -/obj/machinery/power/emitter/energycannon{ +/obj/machinery/power/emitter/energycannon/ctf{ active = 0; dir = 1 }, @@ -1084,11 +1084,11 @@ /area/centcom/control) "apm" = ( /obj/structure/rack, -/obj/item/gun/ballistic/automatic/marksman/gal/inteq{ +/obj/item/gun/ballistic/automatic/marksman/f4/inteq{ pixel_x = 1; pixel_y = 4 }, -/obj/item/gun/ballistic/automatic/marksman/gal/inteq{ +/obj/item/gun/ballistic/automatic/marksman/f4/inteq{ pixel_x = -4; pixel_y = -2 }, @@ -1356,7 +1356,7 @@ /turf/open/floor/plasteel, /area/wizard_station) "ara" = ( -/obj/machinery/computer/helm, +/obj/machinery/computer, /turf/open/floor/plasteel, /area/wizard_station) "ard" = ( @@ -1686,7 +1686,7 @@ /area/centcom/evac) "atW" = ( /obj/structure/rack, -/obj/item/nullrod/claymore{ +/obj/item/melee/sword/claymore{ damtype = "stamina"; force = 30 }, @@ -1908,7 +1908,7 @@ /area/wizard_station) "avt" = ( /obj/structure/rack, -/obj/item/nullrod/claymore/katana{ +/obj/item/melee/sword/katana{ damtype = "stamina"; force = 30 }, @@ -2107,12 +2107,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plasteel, /area/centcom/control) -"awU" = ( -/obj/item/clothing/suit/wizrobe/black, -/obj/item/clothing/head/wizard/black, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel, -/area/wizard_station) "awV" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -2330,8 +2324,6 @@ /area/wizard_station) "ayF" = ( /obj/structure/table/wood, -/obj/item/clothing/suit/wizrobe/magusblue, -/obj/item/clothing/head/wizard/magus, /obj/item/staff, /obj/structure/mirror/magic{ pixel_y = 28 @@ -2341,8 +2333,6 @@ /area/wizard_station) "ayG" = ( /obj/structure/table/wood, -/obj/item/clothing/suit/wizrobe/magusred, -/obj/item/clothing/head/wizard/magus, /obj/item/staff, /turf/open/floor/plasteel, /area/wizard_station) @@ -2415,8 +2405,6 @@ /obj/structure/closet/crate{ icon_state = "crateopen" }, -/obj/item/clothing/suit/wizrobe/red, -/obj/item/clothing/head/wizard/red, /obj/item/staff, /obj/item/clothing/shoes/sandal/magic, /turf/open/floor/plasteel, @@ -2467,13 +2455,11 @@ /turf/open/floor/plasteel, /area/wizard_station) "azO" = ( -/obj/item/kitchen/knife/ritual, +/obj/item/melee/knife/kitchen, /turf/open/floor/plasteel, /area/wizard_station) "azP" = ( /obj/item/clothing/shoes/sandal/marisa, -/obj/item/clothing/suit/wizrobe/marisa, -/obj/item/clothing/head/wizard/marisa, /obj/item/staff/broom, /turf/open/floor/plasteel, /area/wizard_station) @@ -2654,19 +2640,6 @@ "aAN" = ( /turf/open/floor/circuit/green, /area/centcom/ferry) -"aAP" = ( -/obj/structure/rack, -/obj/item/clothing/under/color/red, -/obj/item/clothing/shoes/sneakers/brown, -/obj/item/clothing/suit/armor/tdome/red, -/obj/item/clothing/head/helmet/thunderdome, -/obj/item/melee/baton/loaded, -/obj/item/melee/transforming/energy/sword/saber/red, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/tdome/arena) "aAT" = ( /obj/structure/sign/departments/medbay/alt, /turf/closed/indestructible/riveted, @@ -3043,10 +3016,6 @@ /obj/structure/table/wood, /turf/open/floor/plasteel, /area/wizard_station) -"aEX" = ( -/obj/structure/table/wood, -/turf/open/floor/plasteel, -/area/wizard_station) "aEY" = ( /obj/structure/table/wood, /obj/item/bikehorn/golden{ @@ -3313,7 +3282,6 @@ /area/tdome/tdomeobserve) "aHq" = ( /obj/structure/closet/cardboard, -/obj/item/banhammer, /obj/effect/turf_decal/industrial/warning, /turf/open/floor/plasteel, /area/wizard_station) @@ -3944,7 +3912,7 @@ /turf/open/floor/mineral/titanium/blue, /area/centcom/evac) "aLP" = ( -/obj/machinery/computer/helm{ +/obj/machinery/computer{ dir = 1 }, /turf/open/floor/mineral/titanium/blue, @@ -3960,19 +3928,6 @@ /obj/item/paper_bin, /turf/open/floor/mineral/titanium/blue, /area/centcom/evac) -"aLT" = ( -/obj/structure/rack, -/obj/item/clothing/under/color/green, -/obj/item/clothing/shoes/sneakers/brown, -/obj/item/clothing/suit/armor/tdome/green, -/obj/item/clothing/head/helmet/thunderdome, -/obj/item/melee/baton/loaded, -/obj/item/melee/transforming/energy/sword/saber/green, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/tdome/arena) "aLU" = ( /obj/structure/chair{ dir = 1 @@ -3981,47 +3936,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/plasteel, /area/centcom/evac) -"aLV" = ( -/turf/closed/indestructible/riveted, -/area/awaymission/errorroom) -"aLW" = ( -/turf/closed/mineral/ash_rock, -/area/awaymission/errorroom) -"aLX" = ( -/obj/structure/speaking_tile, -/turf/closed/mineral/ash_rock, -/area/awaymission/errorroom) -"aLY" = ( -/obj/item/rupee, -/turf/open/floor/plating/ashplanet/wateryrock{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; - planetary_atmos = 0 - }, -/area/awaymission/errorroom) -"aLZ" = ( -/turf/open/floor/plating/ashplanet/wateryrock{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; - planetary_atmos = 0 - }, -/area/awaymission/errorroom) -"aMa" = ( -/obj/effect/landmark/error, -/turf/open/floor/plating/ashplanet/wateryrock{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; - planetary_atmos = 0 - }, -/area/awaymission/errorroom) -"aMb" = ( -/obj/structure/signpost/salvation{ - icon = 'icons/obj/structures.dmi'; - icon_state = "ladder10"; - invisibility = 100 - }, -/turf/open/floor/plating/ashplanet/wateryrock{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; - planetary_atmos = 0 - }, -/area/awaymission/errorroom) "aMc" = ( /obj/structure/lattice, /turf/open/space, @@ -4055,7 +3969,7 @@ "aMx" = ( /obj/machinery/light/directional/east, /obj/structure/rack, -/obj/item/nullrod/claymore/saber/red{ +/obj/item/melee/sword/claymore{ damtype = "stamina"; force = 30 }, @@ -4412,7 +4326,7 @@ /turf/open/floor/plasteel/grimy, /area/centcom/ferry) "aOO" = ( -/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/condiment/enzyme, /obj/item/reagent_containers/food/drinks/shaker, /obj/item/book/manual/wiki/drinks, /obj/structure/closet/crate, @@ -4520,11 +4434,11 @@ "aPq" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ pixel_x = -8; pixel_y = 5 }, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ pixel_x = -8 }, /obj/item/reagent_containers/food/drinks/mug, @@ -4672,7 +4586,7 @@ /area/syndicate_mothership/control) "aQg" = ( /obj/structure/closet, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /obj/machinery/iv_drip, /obj/item/roller, /obj/item/storage/firstaid/regular, @@ -4856,27 +4770,6 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/supplypod) -"aRr" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/clothing/under/rank/civilian/curator/treasure_hunter, -/obj/item/clothing/under/dress/skirt, -/obj/item/clothing/under/shorts/black, -/obj/item/clothing/under/pants/track, -/obj/item/clothing/accessory/armband/deputy, -/obj/item/clothing/accessory/waistcoat, -/obj/item/clothing/shoes/jackboots, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/neck/stripedredscarf, -/obj/item/clothing/neck/tie/red, -/obj/item/clothing/head/helmet/space/beret, -/obj/item/clothing/suit/armor/curator, -/obj/item/clothing/suit/space/officer, -/obj/item/clothing/gloves/fingerless, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/glasses/eyepatch, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/grimy, -/area/centcom/ferry) "aRs" = ( /obj/structure/table/reinforced, /obj/item/storage/box/emps, @@ -4983,7 +4876,7 @@ "aRS" = ( /obj/machinery/light/directional/west, /obj/structure/rack, -/obj/item/nullrod/claymore/glowing{ +/obj/item/melee/sword/claymore{ damtype = "stamina"; force = 30 }, @@ -5288,15 +5181,6 @@ /obj/item/reagent_containers/glass/beaker, /turf/open/floor/plasteel, /area/centcom/holding) -"aUh" = ( -/obj/machinery/light/directional/east, -/obj/structure/rack, -/obj/item/nullrod/claymore/darkblade{ - damtype = "stamina"; - force = 30 - }, -/turf/open/floor/wood, -/area/centcom/holding) "aUj" = ( /obj/item/coin/antagtoken, /obj/effect/turf_decal/industrial/outline/yellow, @@ -5497,7 +5381,7 @@ /area/wizard_station) "aVF" = ( /obj/structure/rack, -/obj/item/nullrod/scythe/vibro{ +/obj/item/scythe{ damtype = "stamina"; force = 30 }, @@ -5967,15 +5851,6 @@ /obj/effect/turf_decal/industrial/outline/yellow, /turf/open/floor/plasteel, /area/centcom/control) -"aYV" = ( -/obj/machinery/light/directional/west, -/obj/structure/rack, -/obj/item/nullrod/claymore/saber{ - damtype = "stamina"; - force = 30 - }, -/turf/open/floor/wood, -/area/centcom/holding) "aYW" = ( /obj/effect/landmark/thunderdome/one, /obj/effect/turf_decal/industrial/warning{ @@ -6466,6 +6341,13 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/supply) +"bEQ" = ( +/obj/item/rupee, +/turf/open/floor/plating/ashplanet/wateryrock{ + initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; + planetary_atmos = 0 + }, +/area/errorroom) "bFc" = ( /obj/structure/table/reinforced, /obj/item/radio/intercom/wideband/table{ @@ -6934,20 +6816,6 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) -"cDD" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/item/melee/transforming/energy/ctf, -/turf/open/floor/plasteel/dark, -/area/ctf) "cEn" = ( /obj/structure/chair/comfy/orange/directional/north, /obj/effect/turf_decal/corner/transparent/neutral{ @@ -6990,8 +6858,8 @@ /area/centcom/evac) "cIS" = ( /obj/structure/rack, -/obj/item/gun/ballistic/shotgun/bulldog/inteq, -/obj/item/gun/ballistic/shotgun/bulldog/inteq{ +/obj/item/gun/ballistic/shotgun/automatic/bulldog/inteq, +/obj/item/gun/ballistic/shotgun/automatic/bulldog/inteq{ pixel_x = -5; pixel_y = -5 }, @@ -7234,6 +7102,14 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"dsD" = ( +/obj/structure/railing, +/obj/structure/sign/flag/gezena{ + dir = 4; + pixel_x = -30 + }, +/turf/open/floor/plasteel/mono/dark, +/area/centcom) "dtx" = ( /obj/structure/table/wood, /obj/item/phone{ @@ -7281,10 +7157,25 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/centcom) +"dva" = ( +/obj/structure/table/reinforced, +/obj/item/desk_flag/gezena{ + pixel_x = 11; + pixel_y = 13 + }, +/obj/item/clothing/head/gezena/captain{ + pixel_x = -9; + pixel_y = 6 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/centcom) "dvo" = ( /obj/effect/turf_decal/industrial/warning, /turf/open/floor/plasteel/dark, /area/ctf) +"dvE" = ( +/turf/closed/mineral/ash_rock, +/area/errorroom) "dAW" = ( /obj/item/storage/box/handcuffs, /obj/item/crowbar/red, @@ -7597,6 +7488,13 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/supply) +"edR" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lime{ + dir = 1 + }, +/obj/structure/closet/crate/bin, +/turf/open/floor/plasteel/dark, +/area/centcom) "efL" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, @@ -7743,6 +7641,12 @@ }, /turf/open/floor/wood/walnut, /area/centcom) +"ers" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/admin/pgf, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/telecomms_floor, +/area/centcom) "etl" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -7862,20 +7766,6 @@ "eAJ" = ( /turf/closed/indestructible/wood, /area/centcom) -"eCK" = ( -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/obj/item/melee/transforming/energy/ctf, -/turf/open/floor/plasteel/dark, -/area/ctf) "eDS" = ( /obj/machinery/airalarm/directional/east, /obj/structure/filingcabinet/filingcabinet, @@ -8222,6 +8112,20 @@ }, /turf/open/floor/plasteel/dark, /area/ctf) +"fjG" = ( +/obj/effect/turf_decal/corner/opaque/red{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red, +/obj/effect/turf_decal/corner/opaque/red{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/red{ + dir = 8 + }, +/obj/item/melee/energy/ctf, +/turf/open/floor/plasteel/dark, +/area/ctf) "fkO" = ( /obj/structure/closet/crate/bin, /obj/effect/turf_decal/corner/opaque/green{ @@ -8417,19 +8321,6 @@ /obj/effect/turf_decal/industrial/outline/yellow, /turf/open/floor/plasteel, /area/centcom/supply) -"fMV" = ( -/obj/structure/rack, -/obj/item/clothing/under/color/green, -/obj/item/clothing/shoes/sneakers/brown, -/obj/item/clothing/suit/armor/tdome/green, -/obj/item/clothing/head/helmet/thunderdome, -/obj/item/melee/baton/loaded, -/obj/item/melee/transforming/energy/sword/saber/green, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/tdome/arena_source) "fNh" = ( /obj/item/storage/firstaid/regular, /obj/structure/table, @@ -8785,6 +8676,13 @@ /obj/structure/closet/crate/bin, /turf/open/floor/wood/walnut, /area/centcom) +"guF" = ( +/obj/effect/landmark/error, +/turf/open/floor/plating/ashplanet/wateryrock{ + initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; + planetary_atmos = 0 + }, +/area/errorroom) "gwE" = ( /obj/effect/turf_decal/corner/opaque/blue{ dir = 1 @@ -8850,7 +8748,7 @@ }, /area/centcom) "gFU" = ( -/obj/machinery/computer/helm, +/obj/machinery/computer, /obj/effect/turf_decal/industrial/warning{ dir = 6 }, @@ -8985,6 +8883,9 @@ }, /turf/open/floor/plasteel, /area/centcom/supply) +"gRm" = ( +/turf/closed/indestructible/titanium/nodiagnonal, +/area/centcom) "gTh" = ( /obj/structure/table/wood, /obj/item/storage/photo_album, @@ -9112,6 +9013,13 @@ }, /turf/open/floor/plasteel, /area/centcom/ferry) +"hmi" = ( +/obj/machinery/door/airlock/grunge{ + req_access = "109"; + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/centcom) "hob" = ( /obj/machinery/light/directional/north, /obj/effect/turf_decal/corner/opaque/green{ @@ -9311,6 +9219,11 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"hKv" = ( +/obj/effect/turf_decal/corner/opaque/lime/half, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/centcom) "hLw" = ( /obj/effect/turf_decal/corner/opaque/green{ dir = 1 @@ -10319,6 +10232,19 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/supply) +"jLZ" = ( +/obj/structure/rack, +/obj/item/clothing/under/color/green, +/obj/item/clothing/shoes/sneakers/brown, +/obj/item/clothing/suit/armor/tdome/green, +/obj/item/clothing/head/helmet/thunderdome, +/obj/item/melee/baton/loaded, +/obj/item/melee/energy/sword/saber/green, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/tdome/arena_source) "jPn" = ( /obj/effect/turf_decal/syndicateemblem/middle/middle, /turf/open/floor/mineral/plastitanium/red, @@ -10574,6 +10500,19 @@ }, /turf/open/floor/mineral/plastitanium, /area/centcom) +"kjd" = ( +/obj/structure/rack, +/obj/item/clothing/under/color/red, +/obj/item/clothing/shoes/sneakers/brown, +/obj/item/clothing/suit/armor/tdome/red, +/obj/item/clothing/head/helmet/thunderdome, +/obj/item/melee/baton/loaded, +/obj/item/melee/energy/sword/saber/red, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/tdome/arena_source) "kjt" = ( /obj/machinery/computer/communications{ dir = 8 @@ -10726,6 +10665,13 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"kDv" = ( +/obj/machinery/telecomms/relay/preset/pgf, +/obj/effect/turf_decal/spline/fancy/opaque/lime{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/centcom) "kEm" = ( /obj/effect/turf_decal/industrial/warning, /obj/machinery/light/directional/south, @@ -10979,14 +10925,14 @@ /area/centcom/control) "lii" = ( /obj/structure/table/reinforced, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ pixel_x = -8; pixel_y = 5 }, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ pixel_x = -8 }, -/obj/item/kitchen/knife, +/obj/item/melee/knife/kitchen, /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 }, @@ -11163,6 +11109,19 @@ }, /turf/open/floor/plasteel, /area/centcom/supply) +"lAh" = ( +/obj/structure/rack, +/obj/item/clothing/under/color/red, +/obj/item/clothing/shoes/sneakers/brown, +/obj/item/clothing/suit/armor/tdome/red, +/obj/item/clothing/head/helmet/thunderdome, +/obj/item/melee/baton/loaded, +/obj/item/melee/energy/sword/saber/red, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/tdome/arena) "lAs" = ( /obj/machinery/door/airlock/centcom{ name = "Shuttle Control Office"; @@ -11231,6 +11190,10 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/plasteel/dark, /area/tdome/tdomeadmin) +"lEw" = ( +/obj/structure/speaking_tile, +/turf/closed/mineral/ash_rock, +/area/errorroom) "lEZ" = ( /obj/effect/turf_decal/corner/opaque/brown, /obj/effect/turf_decal/corner/opaque/brown{ @@ -11417,6 +11380,10 @@ }, /turf/open/floor/plasteel, /area/tdome/arena_source) +"lWX" = ( +/obj/machinery/computer/secure_data, +/turf/open/floor/plasteel/telecomms_floor, +/area/centcom) "lXt" = ( /obj/item/kirbyplants{ icon_state = "plant-21" @@ -11574,8 +11541,8 @@ /obj/item/reagent_containers/food/snacks/meat/slab/xeno, /obj/item/reagent_containers/food/snacks/meat/slab/xeno, /obj/item/reagent_containers/food/snacks/meat/slab/xeno, -/obj/item/reagent_containers/food/snacks/spaghetti, -/obj/item/reagent_containers/food/snacks/spaghetti, +/obj/item/food/spaghetti/raw, +/obj/item/food/spaghetti/raw, /obj/item/reagent_containers/food/snacks/meat/rawcutlet, /obj/item/reagent_containers/food/snacks/meat/rawcutlet, /obj/item/reagent_containers/food/snacks/meat/rawcutlet, @@ -11614,6 +11581,16 @@ }, /turf/open/floor/plasteel/dark, /area/ctf) +"mmz" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/floordetail/tiled, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/centcom) "moE" = ( /obj/structure/table/reinforced, /obj/machinery/computer/secure_data/laptop{ @@ -11661,6 +11638,13 @@ /obj/machinery/light/directional/west, /turf/open/floor/plasteel, /area/centcom/control) +"msb" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lime{ + dir = 1 + }, +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/plasteel/dark, +/area/centcom) "msQ" = ( /obj/structure/table/reinforced, /obj/structure/sign/poster/contraband/cybersun{ @@ -12069,6 +12053,9 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"ngI" = ( +/turf/closed/indestructible/riveted, +/area/errorroom) "ngV" = ( /obj/structure/table/reinforced, /obj/item/flashlight/seclite, @@ -12253,7 +12240,7 @@ /turf/open/floor/plasteel/dark, /area/tdome/tdomeadmin) "nEL" = ( -/obj/machinery/computer/helm, +/obj/machinery/computer, /obj/effect/turf_decal/industrial/warning{ dir = 10 }, @@ -12961,6 +12948,28 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"oXW" = ( +/obj/structure/railing, +/turf/open/floor/plasteel/mono/dark, +/area/centcom) +"oYg" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lime{ + dir = 1 + }, +/obj/structure/table/reinforced, +/obj/item/folder/yellow{ + pixel_y = 5; + pixel_x = 7 + }, +/obj/item/folder/blue{ + pixel_x = 3 + }, +/obj/item/folder/red{ + pixel_x = -6; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/centcom) "oYE" = ( /obj/effect/turf_decal/corner/opaque/green{ dir = 8 @@ -13089,6 +13098,18 @@ }, /turf/open/floor/plasteel, /area/centcom/ferry) +"pqm" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 1 + }, +/area/centcom) "psm" = ( /obj/effect/turf_decal/siding/wood{ dir = 10; @@ -13203,16 +13224,6 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) -"pwQ" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/structure/reagent_dispensers/fueltank, -/obj/item/weldingtool/experimental, -/obj/machinery/power/terminal{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/centcom/ferry) "pxL" = ( /obj/effect/turf_decal/corner/opaque/blue, /obj/effect/turf_decal/corner/opaque/blue{ @@ -13372,6 +13383,27 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"pIe" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/clothing/under/rank/civilian/curator/treasure_hunter, +/obj/item/clothing/under/dress/skirt/color, +/obj/item/clothing/under/shorts/black, +/obj/item/clothing/under/pants/track, +/obj/item/clothing/accessory/armband/deputy, +/obj/item/clothing/accessory/waistcoat, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/laceup, +/obj/item/clothing/neck/stripedredscarf, +/obj/item/clothing/neck/tie/red, +/obj/item/clothing/head/helmet/space/beret, +/obj/item/clothing/suit/armor/curator, +/obj/item/clothing/suit/space/officer, +/obj/item/clothing/gloves/fingerless, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/glasses/eyepatch, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/grimy, +/area/centcom/ferry) "pIW" = ( /obj/machinery/computer/cargo{ dir = 4 @@ -13578,6 +13610,12 @@ }, /turf/open/floor/plasteel, /area/tdome/arena_source) +"qfB" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/centcom) "qfV" = ( /obj/effect/turf_decal/industrial/warning{ dir = 9 @@ -13713,6 +13751,17 @@ }, /turf/open/floor/plasteel/white, /area/tdome/tdomeobserve) +"qCO" = ( +/obj/structure/signpost/salvation{ + icon = 'icons/obj/structures.dmi'; + icon_state = "ladder10"; + invisibility = 100 + }, +/turf/open/floor/plating/ashplanet/wateryrock{ + initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; + planetary_atmos = 0 + }, +/area/errorroom) "qFm" = ( /obj/machinery/computer/crew{ dir = 1 @@ -13924,6 +13973,15 @@ /obj/structure/cable, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"rby" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/centcom/ferry) "rcL" = ( /obj/machinery/icecream_vat, /obj/effect/turf_decal/corner/transparent/neutral{ @@ -14294,6 +14352,10 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"rDI" = ( +/obj/effect/turf_decal/corner/opaque/lime/half, +/turf/open/floor/plasteel/dark, +/area/centcom) "rFv" = ( /obj/structure/table/wood, /obj/item/storage/box/drinkingglasses, @@ -14432,19 +14494,6 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) -"rPK" = ( -/obj/structure/rack, -/obj/item/clothing/under/color/red, -/obj/item/clothing/shoes/sneakers/brown, -/obj/item/clothing/suit/armor/tdome/red, -/obj/item/clothing/head/helmet/thunderdome, -/obj/item/melee/baton/loaded, -/obj/item/melee/transforming/energy/sword/saber/red, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/tdome/arena_source) "rQy" = ( /obj/machinery/button/door/indestructible{ id = "thunderdomehea"; @@ -14505,7 +14554,7 @@ "rUH" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/food/snacks/mint, -/obj/item/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/condiment/enzyme{ pixel_y = 5 }, /obj/effect/turf_decal/corner/transparent/neutral{ @@ -14535,6 +14584,12 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"scZ" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/plasteel/telecomms_floor, +/area/centcom) "sdr" = ( /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 @@ -15402,6 +15457,19 @@ /obj/structure/catwalk/over, /turf/open/floor/plating, /area/centcom) +"tVU" = ( +/obj/structure/rack, +/obj/item/clothing/under/color/green, +/obj/item/clothing/shoes/sneakers/brown, +/obj/item/clothing/suit/armor/tdome/green, +/obj/item/clothing/head/helmet/thunderdome, +/obj/item/melee/baton/loaded, +/obj/item/melee/energy/sword/saber/green, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/tdome/arena) "tWM" = ( /obj/structure/table/reinforced, /obj/item/radio{ @@ -15514,7 +15582,7 @@ pixel_x = 7; pixel_y = -2 }, -/obj/item/kitchen/knife{ +/obj/item/melee/knife/kitchen{ pixel_y = -5; pixel_x = -5 }, @@ -15681,6 +15749,13 @@ }, /turf/open/floor/plasteel/white, /area/centcom/control) +"uMM" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel, +/area/centcom/ferry) "uNn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -15801,7 +15876,7 @@ /turf/open/floor/plasteel/dark, /area/ctf) "vcL" = ( -/obj/machinery/computer/helm, +/obj/machinery/computer, /obj/effect/turf_decal/corner/transparent/bar, /obj/effect/turf_decal/corner/transparent/bar{ dir = 1 @@ -15900,6 +15975,20 @@ }, /turf/open/floor/plasteel/dark, /area/ctf) +"vln" = ( +/obj/effect/turf_decal/corner/opaque/blue{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/blue, +/obj/effect/turf_decal/corner/opaque/blue{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/blue{ + dir = 8 + }, +/obj/item/melee/energy/ctf, +/turf/open/floor/plasteel/dark, +/area/ctf) "vlC" = ( /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 @@ -16130,6 +16219,14 @@ }, /turf/open/floor/plasteel/white, /area/centcom/holding) +"vMz" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/telecomms_floor, +/area/centcom) "vNl" = ( /obj/machinery/vending/boozeomat, /obj/machinery/light/directional/east, @@ -16207,14 +16304,6 @@ }, /turf/open/floor/plasteel, /area/centcom) -"wbx" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/item/weldingtool/experimental, -/obj/effect/decal/cleanable/oil, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel, -/area/centcom/ferry) "wbz" = ( /obj/machinery/computer/security, /obj/effect/turf_decal/industrial/warning, @@ -16289,6 +16378,12 @@ }, /turf/open/floor/plasteel, /area/centcom/supply) +"wiK" = ( +/turf/open/floor/plating/ashplanet/wateryrock{ + initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; + planetary_atmos = 0 + }, +/area/errorroom) "wjj" = ( /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 @@ -16743,6 +16838,22 @@ /obj/effect/turf_decal/industrial/warning, /turf/open/floor/plasteel, /area/centcom/ferry) +"xHM" = ( +/obj/structure/railing, +/obj/structure/sign/flag/gezena{ + dir = 8; + pixel_y = 0; + pixel_x = 30 + }, +/turf/open/floor/plasteel/mono/dark, +/area/centcom) +"xJB" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/railing/corner, +/turf/open/floor/plasteel/mono/dark, +/area/centcom) "xKt" = ( /obj/structure/closet/crate/hydroponics, /obj/item/shovel/spade, @@ -17394,17 +17505,17 @@ aaa aaa aaa aaa -aLV -aLV -aLV -aLV -aLV -aLV -aLV -aLV -aLV -aLV -aLV +ngI +ngI +ngI +ngI +ngI +ngI +ngI +ngI +ngI +ngI +ngI aaa "} (3,1,1) = {" @@ -17651,17 +17762,17 @@ aaa aaa aaa aaa -aLV -aLW -aLW -aLW -aLW -aLW -aLW -aLW -aLW -aLW -aLV +ngI +dvE +dvE +dvE +dvE +dvE +dvE +dvE +dvE +dvE +ngI aaa "} (4,1,1) = {" @@ -17908,17 +18019,17 @@ aaa aaa aaa aaa -aLV -aLW -aLY -aLY -aLY -aLZ -aLY -aLY -aLY -aLW -aLV +ngI +dvE +bEQ +bEQ +bEQ +wiK +bEQ +bEQ +bEQ +dvE +ngI aaa "} (5,1,1) = {" @@ -18165,17 +18276,17 @@ aaa aaa aaa aaa -aLV -aLW -aLY -aLY -aLY -aLZ -aLY -aLY -aLY -aLW -aLV +ngI +dvE +bEQ +bEQ +bEQ +wiK +bEQ +bEQ +bEQ +dvE +ngI aaa "} (6,1,1) = {" @@ -18422,17 +18533,17 @@ aaa aaa aaa aaa -aLV -aLW -aLY -aLY -aLY -aLZ -aLY -aLY -aLY -aLW -aLV +ngI +dvE +bEQ +bEQ +bEQ +wiK +bEQ +bEQ +bEQ +dvE +ngI aaa "} (7,1,1) = {" @@ -18679,17 +18790,17 @@ aaa aaa aaa aaa -aLV -aLW -aLZ -aLZ -aLZ -aLZ -aLZ -aLZ -aLZ -aLW -aLV +ngI +dvE +wiK +wiK +wiK +wiK +wiK +wiK +wiK +dvE +ngI aaa "} (8,1,1) = {" @@ -18936,17 +19047,17 @@ aaa aaa aaa aaa -aLV -aLW -aLY -aLY -aLY -aLZ -aLZ -aLZ -aLZ -aLW -aLV +ngI +dvE +bEQ +bEQ +bEQ +wiK +wiK +wiK +wiK +dvE +ngI aaa "} (9,1,1) = {" @@ -19193,17 +19304,17 @@ aaa aaa aaa aaa -aLV -aLX -aLY -aLY -aLY -aLZ -aLZ -aMa -aMb -aLW -aLV +ngI +lEw +bEQ +bEQ +bEQ +wiK +wiK +guF +qCO +dvE +ngI aaa "} (10,1,1) = {" @@ -19450,17 +19561,17 @@ aaa aaa aaa aaa -aLV -aLW -aLY -aLY -aLY -aLZ -aLZ -aLZ -aLZ -aLW -aLV +ngI +dvE +bEQ +bEQ +bEQ +wiK +wiK +wiK +wiK +dvE +ngI aaa "} (11,1,1) = {" @@ -19707,17 +19818,17 @@ aaa aaa aaa aaa -aLV -aLW -aLZ -aLZ -aLZ -aLZ -aLZ -aLZ -aLZ -aLW -aLV +ngI +dvE +wiK +wiK +wiK +wiK +wiK +wiK +wiK +dvE +ngI aaa "} (12,1,1) = {" @@ -19964,17 +20075,17 @@ aaa aaa aaa aaa -aLV -aLW -aLY -aLY -aLY -aLZ -aLY -aLY -aLY -aLW -aLV +ngI +dvE +bEQ +bEQ +bEQ +wiK +bEQ +bEQ +bEQ +dvE +ngI aaa "} (13,1,1) = {" @@ -20221,17 +20332,17 @@ aaa aaa aaa aaa -aLV -aLW -aLY -aLY -aLY -aLZ -aLY -aLY -aLY -aLW -aLV +ngI +dvE +bEQ +bEQ +bEQ +wiK +bEQ +bEQ +bEQ +dvE +ngI aaa "} (14,1,1) = {" @@ -20478,17 +20589,17 @@ aaa aaa aaa aaa -aLV -aLW -aLY -aLY -aLY -aLZ -aLY -aLY -aLY -aLW -aLV +ngI +dvE +bEQ +bEQ +bEQ +wiK +bEQ +bEQ +bEQ +dvE +ngI aaa "} (15,1,1) = {" @@ -20735,17 +20846,17 @@ aaa aaa aaa aaa -aLV -aLW -aLW -aLW -aLW -aLW -aLW -aLW -aLW -aLW -aLV +ngI +dvE +dvE +dvE +dvE +dvE +dvE +dvE +dvE +dvE +ngI aaa "} (16,1,1) = {" @@ -20992,17 +21103,17 @@ aaa aaa aaa aaa -aLV -aLV -aLV -aLV -aLV -aLV -aLV -aLV -aLV -aLV -aLV +ngI +ngI +ngI +ngI +ngI +ngI +ngI +ngI +ngI +ngI +ngI aaa "} (17,1,1) = {" @@ -22477,7 +22588,7 @@ aqZ aqZ aqZ aqE -awU +aXi ayg aHq aqE @@ -23766,7 +23877,7 @@ auE aEc auE aAx -aEX +aEW aqZ aqZ aGr @@ -30466,13 +30577,13 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +gRm +gRm +gRm +gRm +gRm +hmi +gRm aaa aPu aPu @@ -30723,13 +30834,13 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +gRm +ers +qfB +dsD +kDv +hKv +gRm aaa aPu nYZ @@ -30980,13 +31091,13 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +gRm +dva +mmz +oXW +edR +rDI +gRm aaa aPu qLN @@ -31237,13 +31348,13 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +gRm +scZ +qfB +xJB +pqm +rDI +gRm aaa aPu wAh @@ -31494,13 +31605,13 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +gRm +lWX +mmz +oXW +oYg +rDI +gRm aaa aPu sZJ @@ -31751,13 +31862,13 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +gRm +vMz +qfB +xHM +msb +hKv +gRm aaa aPu lKP @@ -32008,13 +32119,13 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +gRm +gRm +gRm +gRm +gRm +hmi +gRm aaa aPu aPu @@ -43314,7 +43425,7 @@ aCT aCT aNT avt -aYV +aRS aOU aOU aRS @@ -45887,7 +45998,7 @@ avt aMx aQg aTb -aUh +aMx atW aWO aaa @@ -53297,7 +53408,7 @@ amD aoe aoe amD -wbx +uMM vkq vkq vkq @@ -56121,7 +56232,7 @@ amD uRu aoI aXW -aRr +pIe oJB anU inF @@ -56418,12 +56529,12 @@ aEp qVj sdr aEp -aAP -aAP -aAP -aAP -aAP -aAP +lAh +lAh +lAh +lAh +lAh +lAh aIv tzt sJU @@ -56638,7 +56749,7 @@ ipU hYc lmp anT -pwQ +rby sSM avc amD @@ -64128,12 +64239,12 @@ aEp ric sdr aEp -aLT -aLT -aLT -aLT -aLT -aLT +tVU +tVU +tVU +tVU +tVU +tVU aIv tzt ldM @@ -64800,7 +64911,7 @@ agh pJt iku pJt -cDD +vln pJt iku pJt @@ -71996,7 +72107,7 @@ agh eSF fhP eSF -eCK +fjG eSF fhP eSF @@ -74207,12 +74318,12 @@ aaa (224,1,1) = {" aab aab -rPK -rPK -rPK -rPK -rPK -rPK +kjd +kjd +kjd +kjd +kjd +kjd aab aaa aaa @@ -81917,12 +82028,12 @@ aaa (254,1,1) = {" aab aab -fMV -fMV -fMV -fMV -fMV -fMV +jLZ +jLZ +jLZ +jLZ +jLZ +jLZ aab aaa aaa diff --git a/_maps/map_files/generic/blank.dmm b/_maps/map_files/generic/blank.dmm index b918e3fcaea..522ed46ce70 100644 --- a/_maps/map_files/generic/blank.dmm +++ b/_maps/map_files/generic/blank.dmm @@ -4,17 +4,17 @@ /area/space) "b" = ( /turf/closed/indestructible/riveted, -/area/awaymission/errorroom) +/area/errorroom) "p" = ( /turf/closed/mineral/ash_rock, -/area/awaymission/errorroom) +/area/errorroom) "t" = ( /obj/effect/landmark/error, /turf/open/floor/plating/ashplanet/wateryrock{ initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; planetary_atmos = 0 }, -/area/awaymission/errorroom) +/area/errorroom) "D" = ( /turf/closed/indestructible/riveted, /area/start) @@ -24,7 +24,7 @@ initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; planetary_atmos = 0 }, -/area/awaymission/errorroom) +/area/errorroom) "I" = ( /turf/open/floor/holofloor/hyperspace, /area/space) @@ -49,17 +49,17 @@ initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; planetary_atmos = 0 }, -/area/awaymission/errorroom) +/area/errorroom) "R" = ( /obj/structure/speaking_tile, /turf/closed/mineral/ash_rock, -/area/awaymission/errorroom) +/area/errorroom) "T" = ( /turf/open/floor/plating/ashplanet/wateryrock{ initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; planetary_atmos = 0 }, -/area/awaymission/errorroom) +/area/errorroom) "U" = ( /obj/effect/landmark/start/new_player, /turf/open/floor/plating, diff --git a/_maps/outpost/hangar/indie_space_20x20.dmm b/_maps/outpost/hangar/indie_space_20x20.dmm index d0a327297d3..24c00395b2f 100644 --- a/_maps/outpost/hangar/indie_space_20x20.dmm +++ b/_maps/outpost/hangar/indie_space_20x20.dmm @@ -66,11 +66,10 @@ /turf/closed/indestructible/reinforced, /area/hangar) "az" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/effect/turf_decal/arrows{ dir = 4 }, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -79,11 +78,7 @@ pixel_y = 25 }, /obj/effect/landmark/outpost/elevator_machine, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -138,10 +133,12 @@ }, /area/hangar) "aO" = ( -/obj/structure/railing{ +/obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel{ + planetary_atmos = 1 + }, /area/hangar) "aP" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ @@ -152,58 +149,20 @@ }, /area/hangar) "aT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) "aY" = ( /obj/effect/landmark/outpost/hangar_numbers, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"aZ" = ( /turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) -"dR" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"fT" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"fU" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"gu" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"iT" = ( -/obj/structure/railing/corner{ - dir = 4 - }, +"aZ" = ( /turf/open/floor/plasteel{ planetary_atmos = 1 }, @@ -219,138 +178,9 @@ planetary_atmos = 1 }, /area/hangar) -"qO" = ( -/obj/structure/table/reinforced, -/obj/structure/sign/warning/nosmoking/burnt{ - pixel_y = 28 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) "rQ" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"un" = ( -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"zH" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Af" = ( -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "101" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Aj" = ( -/obj/machinery/computer/hydrogen_exchange, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"An" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"DI" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ie" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"IW" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ks" = ( -/obj/effect/turf_decal/industrial/shutoff, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"Li" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Oa" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"Sr" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"VO" = ( -/obj/structure/railing/corner{ - dir = 1; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Wk" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Xu" = ( -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Xy" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/obj/machinery/atmospherics/pipe/simple/general, +/turf/closed/indestructible/reinforced, /area/hangar) (1,1,1) = {" @@ -425,7 +255,7 @@ aH aH am aZ -fU +aZ aM ac ac @@ -448,7 +278,7 @@ aC ac ac ao -fU +aZ aZ am "} @@ -458,7 +288,7 @@ aH aH am aZ -fU +aZ aM ad ad @@ -481,7 +311,7 @@ ad ad ad ao -fU +aZ aZ am "} @@ -491,7 +321,7 @@ aH aH am aZ -fU +aZ aM aJ aJ @@ -514,7 +344,7 @@ aJ aJ aB ao -fU +aZ aZ am "} @@ -524,7 +354,7 @@ aH aH am aZ -fU +aZ aM aJ aJ @@ -547,7 +377,7 @@ aJ aJ aJ ao -fU +aZ aZ am "} @@ -557,7 +387,7 @@ aH aH am aZ -fU +az aM ap aJ @@ -580,7 +410,7 @@ aJ aJ ap ao -fU +az aZ am "} @@ -590,8 +420,8 @@ aH aH am aZ -Ie -Oa +aZ +aM aJ aJ aJ @@ -612,8 +442,8 @@ aJ aJ aJ aJ -Sr -gu +ao +aZ aZ am "} @@ -623,7 +453,7 @@ aH aH am aZ -az +aZ av aJ aJ @@ -646,7 +476,7 @@ aJ aJ aJ aq -Wk +aZ aZ am "} @@ -656,7 +486,7 @@ aH aH am aZ -az +aZ aM aJ aJ @@ -679,7 +509,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -689,7 +519,7 @@ aH aH am aZ -az +aZ aM aJ aJ @@ -712,7 +542,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -745,7 +575,7 @@ aJ aJ ap ao -Wk +az aZ am "} @@ -755,7 +585,7 @@ aH aH am aZ -az +aZ aM aJ aJ @@ -778,7 +608,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -788,7 +618,7 @@ aH aH am aZ -az +aZ aM aJ aJ @@ -811,7 +641,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -821,7 +651,7 @@ aH aH am aZ -az +aZ aM aJ aJ @@ -844,7 +674,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -854,7 +684,7 @@ aH aH am aZ -az +aZ aM aJ aJ @@ -877,7 +707,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -910,17 +740,17 @@ aJ aJ ap ao -Wk +az aZ am "} (18,1,1) = {" aH aH +aH am -am -iT -az +aZ +aZ aM aJ aJ @@ -943,17 +773,17 @@ aJ aJ aJ ao -Wk +aZ aZ am "} (19,1,1) = {" +aH +aH +aH am -am -am -Xu -aO -az +aZ +aZ av aJ aJ @@ -976,17 +806,17 @@ aJ aJ aJ aq -Wk +aZ aZ am "} (20,1,1) = {" +aH +aH +aH am -Af -un -Xy -VO -az +aZ +aZ aM aJ aJ @@ -1009,18 +839,18 @@ aJ aJ aJ ao -Wk +aZ aZ am "} (21,1,1) = {" +aH +aH +aH am -am -Aj -DI -aT -zH -Oa +aZ +aZ +aM aJ aJ aJ @@ -1041,17 +871,17 @@ aJ aJ aJ aJ -Sr -IW +ao +aZ aZ am "} (22,1,1) = {" aH +aH +aH am -qO -Ks -Li +aZ az aM ap @@ -1075,17 +905,17 @@ aJ aJ ap ao -Wk +az aZ am "} (23,1,1) = {" aH -am -am +aH +aH rQ aO -dR +aZ aM aJ aJ @@ -1108,7 +938,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -1141,7 +971,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -1151,7 +981,7 @@ qz qz jk ax -fT +aZ al aN aN @@ -1174,7 +1004,7 @@ aN aN aN aP -Wk +aZ aZ am "} @@ -1185,29 +1015,29 @@ qz qz ax aY +aZ +aZ +aZ aT +aZ +aZ +aZ +aZ aT +aZ +aZ +aZ +aZ aT +aZ +aZ +aZ +aZ aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -An +aZ +aZ +aZ +aZ aZ am "} @@ -1217,7 +1047,7 @@ qz qz qz ax -un +aZ aZ aZ aE diff --git a/_maps/outpost/hangar/indie_space_40x20.dmm b/_maps/outpost/hangar/indie_space_40x20.dmm index 35c8c8f6e11..b3d80e6103b 100644 --- a/_maps/outpost/hangar/indie_space_40x20.dmm +++ b/_maps/outpost/hangar/indie_space_40x20.dmm @@ -12,10 +12,9 @@ /area/hangar) "af" = ( /obj/effect/landmark/outpost/hangar_numbers, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 +/turf/open/floor/plasteel{ + planetary_atmos = 1 }, -/turf/open/floor/plasteel/tech/techmaint, /area/hangar) "ai" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, @@ -52,25 +51,20 @@ }, /area/hangar) "as" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"at" = ( -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "101" +/obj/effect/turf_decal/arrows{ + dir = 1 }, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) "av" = ( -/obj/structure/railing{ +/obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel{ + planetary_atmos = 1 + }, /area/hangar) "aw" = ( /obj/effect/turf_decal/arrows{ @@ -140,11 +134,7 @@ pixel_y = 25 }, /obj/effect/landmark/outpost/elevator_machine, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -160,21 +150,11 @@ planetary_atmos = 1 }, /area/hangar) -"aV" = ( -/obj/effect/turf_decal/industrial/shutoff, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) "aX" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/effect/turf_decal/arrows{ dir = 4 }, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -187,108 +167,6 @@ planetary_atmos = 1 }, /area/hangar) -"cr" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"fT" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"id" = ( -/obj/machinery/computer/hydrogen_exchange, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"kN" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"oo" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"pb" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"pf" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"qK" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"yq" = ( -/obj/structure/table/reinforced, -/obj/structure/sign/warning/nosmoking/burnt{ - pixel_y = 28 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"AH" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"Ek" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"Ey" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"IY" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) "JT" = ( /turf/open/floor/plasteel/elevatorshaft{ planetary_atmos = 1 @@ -300,56 +178,9 @@ planetary_atmos = 1 }, /area/hangar) -"Pk" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"SR" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"TQ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) "TX" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"UV" = ( -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Wp" = ( -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"XP" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Yu" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, +/obj/machinery/atmospherics/pipe/simple/general, +/turf/closed/indestructible/reinforced, /area/hangar) (1,1,1) = {" @@ -424,7 +255,7 @@ aP aP ab aj -IY +aj aL aH aH @@ -447,7 +278,7 @@ aw aH aH al -IY +aj aj ab "} @@ -457,7 +288,7 @@ aP aP ab aj -IY +aj aL am am @@ -480,7 +311,7 @@ am am am al -IY +aj aj ab "} @@ -490,7 +321,7 @@ aP aP ab aj -IY +aj aL aD aD @@ -513,7 +344,7 @@ aD aD ap al -IY +aj aj ab "} @@ -523,7 +354,7 @@ aP aP ab aj -IY +aj aL aD aD @@ -546,7 +377,7 @@ aD aD aD al -IY +aj aj ab "} @@ -556,7 +387,7 @@ aP aP ab aj -IY +aX aL aG aD @@ -579,7 +410,7 @@ aD aD aG al -IY +aX aj ab "} @@ -589,8 +420,8 @@ aP aP ab aj -oo -fT +aj +aL aD aD aD @@ -611,8 +442,8 @@ aD aD aD aD -Ek -cr +al +aj aj ab "} @@ -622,7 +453,7 @@ aP aP ab aj -aX +aj ai aD aD @@ -645,7 +476,7 @@ aD aD aD aY -kN +aj aj ab "} @@ -655,7 +486,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -678,7 +509,7 @@ aD aD aD al -kN +aj aj ab "} @@ -688,7 +519,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -711,7 +542,7 @@ aD aD aD al -kN +aj aj ab "} @@ -744,7 +575,7 @@ aD aD aG al -kN +aX aj ab "} @@ -754,7 +585,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -777,7 +608,7 @@ aD aD aD al -kN +aj aj ab "} @@ -787,7 +618,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -810,7 +641,7 @@ aD aD aD al -kN +aj aj ab "} @@ -820,7 +651,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -843,7 +674,7 @@ aD aD aD al -kN +aj aj ab "} @@ -853,7 +684,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -876,7 +707,7 @@ aD aD aD al -kN +aj aj ab "} @@ -909,7 +740,7 @@ aD aD aG al -kN +aX aj ab "} @@ -919,7 +750,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -942,7 +773,7 @@ aD aD aD al -kN +aj aj ab "} @@ -952,7 +783,7 @@ aP aP ab aj -aX +aj ai aD aD @@ -975,7 +806,7 @@ aD aD aD aY -kN +aj aj ab "} @@ -985,7 +816,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1008,7 +839,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1018,7 +849,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1041,7 +872,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1074,7 +905,7 @@ aD aD aG al -kN +aX aj ab "} @@ -1084,7 +915,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1107,7 +938,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1117,8 +948,8 @@ aP aP ab aj -pb -fT +aj +aL aD aD aD @@ -1139,8 +970,8 @@ aD aD aD aD -Ek -SR +al +aj aj ab "} @@ -1150,7 +981,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1173,7 +1004,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1183,7 +1014,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1206,7 +1037,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1239,7 +1070,7 @@ aD aD aG al -kN +aX aj ab "} @@ -1249,7 +1080,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1272,7 +1103,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1282,7 +1113,7 @@ aP aP ab aj -aX +aj ai aD aD @@ -1305,7 +1136,7 @@ aD aD aD aY -kN +aj aj ab "} @@ -1315,7 +1146,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1338,7 +1169,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1348,7 +1179,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1371,7 +1202,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1404,7 +1235,7 @@ aD aD aG al -kN +aX aj ab "} @@ -1414,7 +1245,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1437,7 +1268,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1447,7 +1278,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1470,7 +1301,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1480,7 +1311,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1503,7 +1334,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1513,7 +1344,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1536,7 +1367,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1569,17 +1400,17 @@ aD aD aG al -kN +aX aj ab "} (38,1,1) = {" aP aP +aP ab -ab -Pk -aX +aj +aj aL aD aD @@ -1602,17 +1433,17 @@ aD aD aD al -kN +aj aj ab "} (39,1,1) = {" +aP +aP +aP ab -ab -ab -UV -av -aX +aj +aj ai aD aD @@ -1635,17 +1466,17 @@ aD aD aD aY -kN +aj aj ab "} (40,1,1) = {" +aP +aP +aP ab -at -Wp -AH -pf -aX +aj +aj aL aD aD @@ -1668,18 +1499,18 @@ aD aD aD al -kN +aj aj ab "} (41,1,1) = {" +aP +aP +aP ab -ab -id -pb -as -TQ -fT +aj +aj +aL aD aD aD @@ -1700,17 +1531,17 @@ aD aD aD aD -Ek -SR +al +aj aj ab "} (42,1,1) = {" aP +aP +aP ab -yq -aV -XP +aj aX aL aG @@ -1734,17 +1565,17 @@ aD aD aG al -kN +aX aj ab "} (43,1,1) = {" aP -ab -ab +aP +aP TX av -qK +aj aL aD aD @@ -1767,7 +1598,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1800,7 +1631,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1810,7 +1641,7 @@ JT JT OP aF -Yu +aj aM aU aU @@ -1833,7 +1664,7 @@ aU aU aU ae -kN +aj aj ab "} @@ -1844,29 +1675,29 @@ JT JT aF af +aj +aj +aj as +aj +aj +aj +aj as +aj +aj +aj +aj as +aj +aj +aj +aj as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -Ey +aj +aj +aj +aj aj ab "} @@ -1876,7 +1707,7 @@ JT JT JT aF -Wp +aj aj aj aA diff --git a/_maps/outpost/hangar/indie_space_40x40.dmm b/_maps/outpost/hangar/indie_space_40x40.dmm index 01e75c51ee8..9818aa94333 100644 --- a/_maps/outpost/hangar/indie_space_40x40.dmm +++ b/_maps/outpost/hangar/indie_space_40x40.dmm @@ -46,11 +46,7 @@ pixel_y = 25 }, /obj/effect/landmark/outpost/elevator_machine, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -83,9 +79,10 @@ /turf/template_noop, /area/template_noop) "aw" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -97,11 +94,10 @@ }, /area/hangar) "ay" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/effect/turf_decal/arrows{ dir = 4 }, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -126,10 +122,9 @@ /area/hangar) "aP" = ( /obj/effect/landmark/outpost/hangar_numbers, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 +/turf/open/floor/plasteel{ + planetary_atmos = 1 }, -/turf/open/floor/plasteel/tech/techmaint, /area/hangar) "aQ" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning{ @@ -159,10 +154,12 @@ }, /area/hangar) "aY" = ( -/obj/structure/railing{ +/obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel{ + planetary_atmos = 1 + }, /area/hangar) "aZ" = ( /obj/machinery/door/airlock, @@ -170,135 +167,14 @@ /obj/structure/lattice/catwalk, /turf/open/floor/engine, /area/hangar) -"fM" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"hX" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"iR" = ( -/obj/effect/turf_decal/industrial/shutoff, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) "jY" = ( /turf/open/floor/plasteel/elevatorshaft{ planetary_atmos = 1 }, /area/hangar) -"kN" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"mS" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"qA" = ( -/obj/structure/table/reinforced, -/obj/structure/sign/warning/nosmoking/burnt{ - pixel_y = 28 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"wm" = ( -/obj/machinery/computer/hydrogen_exchange, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"xH" = ( -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"yn" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) "BE" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Ev" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"Fb" = ( -/obj/structure/railing/corner{ - dir = 1; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Fj" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"Fm" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Hs" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"HB" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/obj/machinery/atmospherics/pipe/simple/general, +/turf/closed/indestructible/reinforced, /area/hangar) "JI" = ( /obj/effect/landmark/outpost/elevator, @@ -306,72 +182,6 @@ planetary_atmos = 1 }, /area/hangar) -"KC" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ol" = ( -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "101" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Pk" = ( -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"PN" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"RL" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Se" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Wc" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"XA" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"XZ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) (1,1,1) = {" au @@ -485,7 +295,7 @@ au au aa aT -Se +aT ah at at @@ -528,7 +338,7 @@ as at at ab -Se +aT aT aa "} @@ -538,7 +348,7 @@ au au aa aT -Se +aT ah aQ aQ @@ -581,7 +391,7 @@ aQ aQ aQ ab -Se +aT aT aa "} @@ -591,7 +401,7 @@ au au aa aT -Se +aT ah aF aF @@ -634,7 +444,7 @@ aF aF aH ab -Se +aT aT aa "} @@ -644,7 +454,7 @@ au au aa aT -Se +aT ah aF aF @@ -687,7 +497,7 @@ aF aF aF ab -Se +aT aT aa "} @@ -697,7 +507,7 @@ au au aa aT -Se +ay ah ac aF @@ -740,7 +550,7 @@ aF aF ac ab -Se +ay aT aa "} @@ -750,8 +560,8 @@ au au aa aT -hX -Ev +aT +ah aF aF aF @@ -792,8 +602,8 @@ aF aF aF aF -XZ -KC +ab +aT aT aa "} @@ -803,7 +613,7 @@ au au aa aT -ay +aT ax aF aF @@ -846,7 +656,7 @@ aF aF aF ak -fM +aT aT aa "} @@ -856,7 +666,7 @@ au au aa aT -ay +aT ah aF aF @@ -899,7 +709,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -909,7 +719,7 @@ au au aa aT -ay +aT ah aF aF @@ -952,7 +762,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1005,7 +815,7 @@ aF aF ac ab -fM +ay aT aa "} @@ -1015,7 +825,7 @@ au au aa aT -ay +aT ah aF aF @@ -1058,7 +868,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1068,7 +878,7 @@ au au aa aT -ay +aT ah aF aF @@ -1111,7 +921,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1121,7 +931,7 @@ au au aa aT -ay +aT ah aF aF @@ -1164,7 +974,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1174,7 +984,7 @@ au au aa aT -ay +aT ah aF aF @@ -1217,7 +1027,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1270,7 +1080,7 @@ aF aF ac ab -fM +ay aT aa "} @@ -1280,7 +1090,7 @@ au au aa aT -ay +aT ah aF aF @@ -1323,7 +1133,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1333,7 +1143,7 @@ au au aa aT -ay +aT ax aF aF @@ -1376,7 +1186,7 @@ aF aF aF ak -fM +aT aT aa "} @@ -1386,7 +1196,7 @@ au au aa aT -ay +aT ah aF aF @@ -1429,7 +1239,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1439,7 +1249,7 @@ au au aa aT -ay +aT ah aF aF @@ -1482,7 +1292,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1535,7 +1345,7 @@ aF aF ac ab -fM +ay aT aa "} @@ -1545,7 +1355,7 @@ au au aa aT -ay +aT ah aF aF @@ -1588,7 +1398,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1598,8 +1408,8 @@ au au aa aT -HB -Ev +aT +ah aF aF aF @@ -1640,8 +1450,8 @@ aF aF aF aF -XZ -RL +ab +aT aT aa "} @@ -1651,7 +1461,7 @@ au au aa aT -ay +aT ah aF aF @@ -1694,7 +1504,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1704,7 +1514,7 @@ au au aa aT -ay +aT ah aF aF @@ -1747,7 +1557,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1800,7 +1610,7 @@ aF aF ac ab -fM +ay aT aa "} @@ -1810,7 +1620,7 @@ au au aa aT -ay +aT ah aF aF @@ -1853,7 +1663,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1863,7 +1673,7 @@ au au aa aT -ay +aT ax aF aF @@ -1906,7 +1716,7 @@ aF aF aF ak -fM +aT aT aa "} @@ -1916,7 +1726,7 @@ au au aa aT -ay +aT ah aF aF @@ -1959,7 +1769,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1969,7 +1779,7 @@ au au aa aT -ay +aT ah aF aF @@ -2012,7 +1822,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -2065,7 +1875,7 @@ aF aF ac ab -fM +ay aT aa "} @@ -2075,7 +1885,7 @@ au au aa aT -ay +aT ah aF aF @@ -2118,7 +1928,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -2128,7 +1938,7 @@ au au aa aT -ay +aT ah aF aF @@ -2171,7 +1981,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -2181,7 +1991,7 @@ au au aa aT -ay +aT ah aF aF @@ -2224,7 +2034,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -2234,7 +2044,7 @@ au au aa aT -ay +aT ah aF aF @@ -2277,7 +2087,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -2330,17 +2140,17 @@ aF aF ac ab -fM +ay aT aa "} (38,1,1) = {" au au +au aa -aa -kN -ay +aT +aT ah aF aF @@ -2383,17 +2193,17 @@ aF aF aF ab -fM +aT aT aa "} (39,1,1) = {" +au +au +au aa -aa -aa -xH -aY -ay +aT +aT ax aF aF @@ -2436,17 +2246,17 @@ aF aF aF ak -fM +aT aT aa "} (40,1,1) = {" +au +au +au aa -Ol -Pk -Fj -Fb -ay +aT +aT ah aF aF @@ -2489,18 +2299,18 @@ aF aF aF ab -fM +aT aT aa "} (41,1,1) = {" +au +au +au aa -aa -wm -HB -aw -mS -Ev +aT +aT +ah aF aF aF @@ -2541,17 +2351,17 @@ aF aF aF aF -XZ -RL +ab +aT aT aa "} (42,1,1) = {" au +au +au aa -qA -iR -Fm +aT ay ah ac @@ -2595,17 +2405,17 @@ aF aF ac ab -fM +ay aT aa "} (43,1,1) = {" au -aa -aa +au +au BE aY -XA +aT ah aF aF @@ -2648,7 +2458,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -2701,7 +2511,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -2711,7 +2521,7 @@ jY jY JI aZ -Wc +aT aC ag ag @@ -2725,7 +2535,6 @@ ag ag ag ag -yn ag ag ag @@ -2740,7 +2549,8 @@ ag ag ag ag -yn +ag +ag ag ag ag @@ -2754,7 +2564,7 @@ ag ag ag aX -fM +aT aT aa "} @@ -2765,49 +2575,49 @@ jY jY aZ aP +aT +aT +aT aw +aT +aT +aT +aT aw +aT +aT +aT +aT aw +aT +aT +aT +aT aw +aT +aT +aT +aT aw +aT +aT +aT +aT aw +aT +aT +aT +aT aw +aT +aT +aT +aT aw -aw -aw -aw -aw -aw -Hs -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -Hs -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -PN +aT +aT +aT +aT aT aa "} @@ -2817,7 +2627,7 @@ jY jY jY aZ -Pk +aT aT aS aT diff --git a/_maps/outpost/hangar/indie_space_56x20.dmm b/_maps/outpost/hangar/indie_space_56x20.dmm index ad3aeb33fe8..93842d2587a 100644 --- a/_maps/outpost/hangar/indie_space_56x20.dmm +++ b/_maps/outpost/hangar/indie_space_56x20.dmm @@ -17,12 +17,6 @@ "ag" = ( /turf/closed/indestructible/reinforced, /area/hangar) -"ah" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) "ai" = ( /obj/effect/turf_decal/arrows{ dir = 1 @@ -71,11 +65,7 @@ pixel_y = 25 }, /obj/effect/landmark/outpost/elevator_machine, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -88,17 +78,18 @@ }, /area/hangar) "ay" = ( -/obj/structure/railing{ +/obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel{ + planetary_atmos = 1 + }, /area/hangar) "aB" = ( /obj/effect/landmark/outpost/hangar_numbers, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 +/turf/open/floor/plasteel{ + planetary_atmos = 1 }, -/turf/open/floor/plasteel/tech/techmaint, /area/hangar) "aC" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ @@ -109,9 +100,10 @@ }, /area/hangar) "aD" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -124,11 +116,10 @@ }, /area/hangar) "aG" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 +/obj/effect/turf_decal/arrows{ + dir = 4 }, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -182,167 +173,14 @@ planetary_atmos = 1 }, /area/hangar) -"lA" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"mV" = ( -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) "mX" = ( /turf/open/floor/plasteel/elevatorshaft{ planetary_atmos = 1 }, /area/hangar) -"pt" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"qG" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"rb" = ( -/obj/structure/railing/corner{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"st" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) "vM" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"wb" = ( -/obj/structure/table/reinforced, -/obj/structure/sign/warning/nosmoking/burnt{ - pixel_y = 28 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"xG" = ( -/obj/machinery/computer/hydrogen_exchange, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"DF" = ( -/obj/effect/turf_decal/industrial/shutoff, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"EZ" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"GM" = ( -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "101" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Jt" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ld" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"MY" = ( -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Td" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"TZ" = ( -/obj/structure/railing/corner{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Ua" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ud" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"UF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"WZ" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/obj/machinery/atmospherics/pipe/simple/general, +/turf/closed/indestructible/reinforced, /area/hangar) (1,1,1) = {" @@ -417,7 +255,7 @@ aZ aZ ag an -pt +an aJ ae ae @@ -440,7 +278,7 @@ ai ae ae aC -pt +an an ag "} @@ -450,7 +288,7 @@ aZ aZ ag an -pt +an aJ ax ax @@ -473,7 +311,7 @@ ax ax ax aC -pt +an an ag "} @@ -483,7 +321,7 @@ aZ aZ ag an -pt +an aJ aN aN @@ -506,7 +344,7 @@ aN aN af aC -pt +an an ag "} @@ -516,7 +354,7 @@ aZ aZ ag an -pt +an aJ aN aN @@ -539,7 +377,7 @@ aN aN aN aC -pt +an an ag "} @@ -549,7 +387,7 @@ aZ aZ ag an -pt +aG aJ al aN @@ -572,7 +410,7 @@ aN aN al aC -pt +aG an ag "} @@ -582,8 +420,8 @@ aZ aZ ag an -st -qG +an +aJ aN aN aN @@ -604,8 +442,8 @@ aN aN aN aN -Ud -Ua +aC +an an ag "} @@ -615,7 +453,7 @@ aZ aZ ag an -Jt +an aI aN aN @@ -638,7 +476,7 @@ aN aN aN aK -Jt +an an ag "} @@ -648,7 +486,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -671,7 +509,7 @@ aN aN aN aC -Jt +an an ag "} @@ -681,7 +519,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -704,7 +542,7 @@ aN aN aN aC -Jt +an an ag "} @@ -714,7 +552,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -737,7 +575,7 @@ aN aN al aC -Jt +aG an ag "} @@ -747,7 +585,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -770,7 +608,7 @@ aN aN aN aC -Jt +an an ag "} @@ -780,7 +618,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -803,7 +641,7 @@ aN aN aN aC -Jt +an an ag "} @@ -813,7 +651,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -836,7 +674,7 @@ aN aN aN aC -Jt +an an ag "} @@ -846,7 +684,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -869,7 +707,7 @@ aN aN aN aC -Jt +an an ag "} @@ -879,7 +717,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -902,7 +740,7 @@ aN aN al aC -Jt +aG an ag "} @@ -912,7 +750,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -935,7 +773,7 @@ aN aN aN aC -Jt +an an ag "} @@ -945,7 +783,7 @@ aZ aZ ag an -Jt +an aI aN aN @@ -968,7 +806,7 @@ aN aN aN aK -Jt +an an ag "} @@ -978,7 +816,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1001,7 +839,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1011,7 +849,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1034,7 +872,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1044,7 +882,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -1067,7 +905,7 @@ aN aN al aC -Jt +aG an ag "} @@ -1077,7 +915,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1100,7 +938,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1110,7 +948,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1133,7 +971,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1143,7 +981,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1166,7 +1004,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1176,7 +1014,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1199,7 +1037,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1210,7 +1048,7 @@ aZ ag an aG -qG +aJ al aN aN @@ -1231,8 +1069,8 @@ aN aN aN al -Ud -UF +aC +aG an ag "} @@ -1242,7 +1080,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1265,7 +1103,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1275,7 +1113,7 @@ aZ aZ ag an -Jt +an aI aN aN @@ -1298,7 +1136,7 @@ aN aN aN aK -Jt +an an ag "} @@ -1308,7 +1146,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1331,7 +1169,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1341,7 +1179,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1364,7 +1202,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1374,7 +1212,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -1397,7 +1235,7 @@ aN aN al aC -Jt +aG an ag "} @@ -1407,7 +1245,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1430,7 +1268,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1440,7 +1278,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1463,7 +1301,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1473,7 +1311,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1496,7 +1334,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1506,7 +1344,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1529,7 +1367,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1539,7 +1377,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -1562,7 +1400,7 @@ aN aN al aC -Jt +aG an ag "} @@ -1572,7 +1410,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1595,7 +1433,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1605,7 +1443,7 @@ aZ aZ ag an -Jt +an aI aN aN @@ -1628,7 +1466,7 @@ aN aN aN aK -Jt +an an ag "} @@ -1638,7 +1476,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1661,7 +1499,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1671,8 +1509,8 @@ aZ aZ ag an -aG -qG +an +aJ aN aN aN @@ -1693,8 +1531,8 @@ aN aN aN aN -Ud -UF +aC +an an ag "} @@ -1704,7 +1542,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -1727,7 +1565,7 @@ aN aN al aC -Jt +aG an ag "} @@ -1737,7 +1575,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1760,7 +1598,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1770,7 +1608,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1793,7 +1631,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1803,7 +1641,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1826,7 +1664,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1836,7 +1674,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1859,7 +1697,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1869,7 +1707,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -1892,7 +1730,7 @@ aN aN al aC -Jt +aG an ag "} @@ -1902,7 +1740,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1925,7 +1763,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1935,7 +1773,7 @@ aZ aZ ag an -Jt +an aI aN aN @@ -1958,7 +1796,7 @@ aN aN aN aK -Jt +an an ag "} @@ -1968,7 +1806,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1991,7 +1829,7 @@ aN aN aN aC -Jt +an an ag "} @@ -2001,7 +1839,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -2024,7 +1862,7 @@ aN aN aN aC -Jt +an an ag "} @@ -2034,7 +1872,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -2057,7 +1895,7 @@ aN aN al aC -Jt +aG an ag "} @@ -2067,7 +1905,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -2090,17 +1928,17 @@ aN aN aN aC -Jt +an an ag "} (54,1,1) = {" aZ aZ +aZ ag -ag -rb -Jt +an +an aJ aN aN @@ -2123,17 +1961,17 @@ aN aN aN aC -Jt +an an ag "} (55,1,1) = {" +aZ +aZ +aZ ag -ag -ag -MY -ay -Jt +an +an aJ aN aN @@ -2156,17 +1994,17 @@ aN aN aN aC -Jt +an an ag "} (56,1,1) = {" +aZ +aZ +aZ ag -GM -mV -Td -EZ -Jt +an +an aJ aN aN @@ -2189,18 +2027,18 @@ aN aN aN aC -Jt +an an ag "} (57,1,1) = {" +aZ +aZ +aZ ag -ag -xG +an aG -aD -Ld -qG +aJ al aN aN @@ -2221,18 +2059,18 @@ aN aN aN al -Ud -UF +aC +aG an ag "} (58,1,1) = {" aZ +aZ +aZ ag -wb -DF -TZ -Jt +an +an aJ aN aN @@ -2255,17 +2093,17 @@ aN aN aN aC -Jt +an an ag "} (59,1,1) = {" aZ -ag -ag +aZ +aZ vM ay -WZ +an aI aN aN @@ -2288,7 +2126,7 @@ aN aN aN aK -Jt +an an ag "} @@ -2321,7 +2159,7 @@ aN aN aN aC -Jt +an an ag "} @@ -2331,7 +2169,7 @@ mX mX jJ aj -ah +an ap aE aE @@ -2354,7 +2192,7 @@ aE aE aE am -Jt +an an ag "} @@ -2365,29 +2203,29 @@ mX mX aj aB +an +an +an aD +an +an +an +an aD +an +an +an +an aD +an +an +an +an aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -lA +an +an +an +an an ag "} @@ -2397,7 +2235,7 @@ mX mX mX aj -mV +an an an aP diff --git a/_maps/outpost/hangar/indie_space_56x40.dmm b/_maps/outpost/hangar/indie_space_56x40.dmm index f2c909c23aa..4adf317b843 100644 --- a/_maps/outpost/hangar/indie_space_56x40.dmm +++ b/_maps/outpost/hangar/indie_space_56x40.dmm @@ -4,11 +4,7 @@ pixel_y = 25 }, /obj/effect/landmark/outpost/elevator_machine, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -52,16 +48,17 @@ /area/hangar) "ar" = ( /obj/effect/landmark/outpost/hangar_numbers, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 +/turf/open/floor/plasteel{ + planetary_atmos = 1 }, -/turf/open/floor/plasteel/tech/techmaint, /area/hangar) "at" = ( -/obj/structure/railing{ +/obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel{ + planetary_atmos = 1 + }, /area/hangar) "au" = ( /obj/machinery/light/floor/hangar, @@ -85,8 +82,10 @@ }, /area/hangar) "aD" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ +/obj/effect/turf_decal/arrows{ + dir = 4 + }, +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -162,172 +161,21 @@ /turf/template_noop, /area/template_noop) "aZ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ck" = ( -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"cR" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ +/obj/effect/turf_decal/arrows{ dir = 1 }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"ec" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"el" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ho" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ik" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"il" = ( -/obj/machinery/computer/hydrogen_exchange, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"mh" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"mP" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"qn" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"uh" = ( -/obj/structure/table/reinforced, -/obj/structure/sign/warning/nosmoking/burnt{ - pixel_y = 28 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"vi" = ( -/obj/structure/railing/corner{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"vl" = ( -/obj/effect/turf_decal/industrial/shutoff, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, /turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) -"vq" = ( -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"zp" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"AN" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"GH" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Hd" = ( -/obj/structure/railing/corner{ - dir = 1; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Lx" = ( -/obj/structure/railing/corner{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plasteel{ +"ck" = ( +/turf/open/floor/plasteel/elevatorshaft{ planetary_atmos = 1 }, /area/hangar) "MN" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"NB" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/obj/machinery/atmospherics/pipe/simple/general, +/turf/closed/indestructible/reinforced, /area/hangar) "Qi" = ( /obj/effect/landmark/outpost/elevator, @@ -335,37 +183,6 @@ planetary_atmos = 1 }, /area/hangar) -"Sw" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"SV" = ( -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Tt" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"WQ" = ( -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "101" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) (1,1,1) = {" aV @@ -479,7 +296,7 @@ aV aV aH aN -aD +aN aP aG aG @@ -522,7 +339,7 @@ aw aG aG aT -aD +aN aN aH "} @@ -532,7 +349,7 @@ aV aV aH aN -aD +aN aP ai ai @@ -575,7 +392,7 @@ ai ai ai aT -aD +aN aN aH "} @@ -585,7 +402,7 @@ aV aV aH aN -aD +aN aP aM aM @@ -628,7 +445,7 @@ aM aM aj aT -aD +aN aN aH "} @@ -638,7 +455,7 @@ aV aV aH aN -aD +aN aP aM aM @@ -681,7 +498,7 @@ aM aM aM aT -aD +aN aN aH "} @@ -744,8 +561,8 @@ aV aV aH aN -el -Tt +aN +aP aM aM aM @@ -786,8 +603,8 @@ aM aM aM aM -cR -zp +aT +aN aN aH "} @@ -797,7 +614,7 @@ aV aV aH aN -qn +aN am aM aM @@ -840,7 +657,7 @@ aM aM aM ao -qn +aN aN aH "} @@ -850,7 +667,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -893,7 +710,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -903,7 +720,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -946,7 +763,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -956,7 +773,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -999,7 +816,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -1009,7 +826,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1052,7 +869,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1062,7 +879,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1105,7 +922,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1115,7 +932,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1158,7 +975,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1168,7 +985,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1211,7 +1028,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1221,7 +1038,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -1264,7 +1081,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -1274,7 +1091,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1317,7 +1134,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1327,7 +1144,7 @@ aV aV aH aN -qn +aN am aM aM @@ -1370,7 +1187,7 @@ aM aM aM ao -qn +aN aN aH "} @@ -1380,7 +1197,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1423,7 +1240,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1433,7 +1250,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1476,7 +1293,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1486,7 +1303,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -1529,7 +1346,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -1539,7 +1356,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1582,7 +1399,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1592,7 +1409,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1635,7 +1452,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1645,7 +1462,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1688,7 +1505,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1698,7 +1515,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1741,7 +1558,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1751,8 +1568,8 @@ aV aV aH aN -Sw -Tt +aD +aP aE aM aM @@ -1793,8 +1610,8 @@ aM aM aM aE -cR -mh +aT +aD aN aH "} @@ -1804,7 +1621,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1847,7 +1664,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1857,7 +1674,7 @@ aV aV aH aN -qn +aN am aM aM @@ -1900,7 +1717,7 @@ aM aM aM ao -qn +aN aN aH "} @@ -1910,7 +1727,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1953,7 +1770,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1963,7 +1780,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2006,7 +1823,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2016,7 +1833,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -2059,7 +1876,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -2069,7 +1886,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2112,7 +1929,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2122,7 +1939,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2165,7 +1982,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2175,7 +1992,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2218,7 +2035,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2228,7 +2045,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2271,7 +2088,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2281,7 +2098,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -2324,7 +2141,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -2334,7 +2151,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2377,7 +2194,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2387,7 +2204,7 @@ aV aV aH aN -qn +aN am aM aM @@ -2430,7 +2247,7 @@ aM aM aM ao -qn +aN aN aH "} @@ -2440,7 +2257,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2483,7 +2300,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2493,8 +2310,8 @@ aV aV aH aN -Sw -Tt +aN +aP aM aM aM @@ -2535,8 +2352,8 @@ aM aM aM aM -cR -mh +aT +aN aN aH "} @@ -2546,7 +2363,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -2589,7 +2406,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -2599,7 +2416,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2642,7 +2459,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2652,7 +2469,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2695,7 +2512,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2705,7 +2522,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2748,7 +2565,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2758,7 +2575,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2801,7 +2618,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2811,7 +2628,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -2854,7 +2671,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -2864,7 +2681,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2907,7 +2724,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2917,7 +2734,7 @@ aV aV aH aN -qn +aN am aM aM @@ -2960,7 +2777,7 @@ aM aM aM ao -qn +aN aN aH "} @@ -2970,7 +2787,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -3013,7 +2830,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -3023,7 +2840,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -3066,7 +2883,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -3076,7 +2893,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -3119,7 +2936,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -3129,7 +2946,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -3172,17 +2989,17 @@ aM aM aM aT -qn +aN aN aH "} (54,1,1) = {" aV aV +aV aH -aH -Lx -qn +aN +aN aP aM aM @@ -3225,17 +3042,17 @@ aM aM aM aT -qn +aN aN aH "} (55,1,1) = {" +aV +aV +aV aH -aH -aH -SV -at -qn +aN +aN aP aM aM @@ -3278,17 +3095,17 @@ aM aM aM aT -qn +aN aN aH "} (56,1,1) = {" +aV +aV +aV aH -WQ -vq -ik -Hd -qn +aN +aN aP aM aM @@ -3331,18 +3148,18 @@ aM aM aM aT -qn +aN aN aH "} (57,1,1) = {" +aV +aV +aV aH -aH -il -Sw -aZ -ho -Tt +aN +aD +aP aE aM aM @@ -3383,18 +3200,18 @@ aM aM aM aE -cR -mh +aT +aD aN aH "} (58,1,1) = {" aV +aV +aV aH -uh -vl -vi -qn +aN +aN aP aM aM @@ -3437,17 +3254,17 @@ aM aM aM aT -qn +aN aN aH "} (59,1,1) = {" aV -aH -aH +aV +aV MN at -GH +aN am aM aM @@ -3490,7 +3307,7 @@ aM aM aM ao -qn +aN aN aH "} @@ -3543,7 +3360,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -3553,7 +3370,7 @@ ck ck Qi aA -AN +aN aK aO aO @@ -3567,7 +3384,6 @@ aO aO aO aO -ec aO aO aO @@ -3582,7 +3398,8 @@ aO aO aO aO -ec +aO +aO aO aO aO @@ -3596,7 +3413,7 @@ aO aO aO aI -qn +aN aN aH "} @@ -3607,49 +3424,49 @@ ck ck aA ar +aN +aN +aN aZ +aN +aN +aN +aN aZ +aN +aN +aN +aN aZ +aN +aN +aN +aN aZ +aN +aN +aN +aN aZ +aN +aN +aN +aN aZ +aN +aN +aN +aN aZ +aN +aN +aN +aN aZ -aZ -aZ -aZ -aZ -aZ -mP -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -mP -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -NB +aN +aN +aN +aN aN aH "} @@ -3659,7 +3476,7 @@ ck ck ck aA -vq +aN aN au aN diff --git a/_maps/outpost/hangar/nt_asteroid_20x20.dmm b/_maps/outpost/hangar/nt_asteroid_20x20.dmm deleted file mode 100644 index 118f810e93f..00000000000 --- a/_maps/outpost/hangar/nt_asteroid_20x20.dmm +++ /dev/null @@ -1,3251 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ah" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"an" = ( -/obj/structure/chair/comfy/grey/directional/north, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"aD" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"aN" = ( -/obj/effect/turf_decal/steeldecal/steel_decals_central2{ - pixel_y = 2 - }, -/obj/effect/turf_decal/steeldecal/steel_decals6, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"bi" = ( -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"bv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/garbage{ - pixel_y = -5; - pixel_x = -7 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"cn" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"cB" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/table, -/obj/item/paper/pamphlet/gateway{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/paper/pamphlet/centcom{ - pixel_x = 8; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -9; - pixel_y = 3 - }, -/obj/structure/sign/poster/official/do_not_question{ - pixel_x = 32 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"cE" = ( -/obj/effect/landmark/outpost/hangar_dock, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"cY" = ( -/obj/structure/floodlight_frame{ - pixel_x = -9; - pixel_y = -1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"dg" = ( -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"dz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil/streak, -/obj/machinery/light/directional/west, -/turf/open/floor/plating{ - icon_state = "foam_plating"; - planetary_atmos = 1 - }, -/area/hangar) -"dC" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"dQ" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"ea" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ei" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ek" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"eQ" = ( -/obj/item/organ/tail/lizard{ - pixel_x = 4; - pixel_y = 11 - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor4"; - pixel_y = 13; - pixel_x = 8 - }, -/turf/open/floor/plating/asteroid/icerock/cracked, -/area/hangar) -"eV" = ( -/obj/effect/turf_decal/steeldecal/steel_decals9, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"fm" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/item/trash/cheesie{ - color = "#808080"; - pixel_x = 21; - pixel_y = 1; - layer = 2.9 - }, -/obj/effect/decal/cleanable/glass{ - dir = 8; - pixel_y = 1; - color = "#808080" - }, -/obj/effect/decal/cleanable/oil{ - icon_state = "streak4"; - pixel_x = -13; - pixel_y = -11 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"fp" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/plating/asteroid/icerock/smooth, -/area/hangar) -"fO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"gQ" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/structure/flora/ausbushes/sparsegrass{ - pixel_y = -1; - pixel_x = -1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/grass{ - planetary_atmos = 1 - }, -/area/hangar) -"hb" = ( -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"hf" = ( -/obj/structure/marker_beacon{ - picked_color = "Teal" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"hq" = ( -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"hz" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"hE" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/obj/effect/decal/cleanable/glass, -/obj/machinery/light/directional/east, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"hJ" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/glass{ - dir = 8; - pixel_y = -3; - color = "#808080"; - pixel_x = 3 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/confetti{ - color = "#808080"; - pixel_x = 18; - pixel_y = 9 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"hL" = ( -/obj/machinery/door/airlock/highsecurity, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"hP" = ( -/obj/structure/flora/rock{ - pixel_x = 9 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ia" = ( -/obj/structure/chair/greyscale{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"iK" = ( -/obj/structure/fence{ - dir = 4 - }, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"iZ" = ( -/turf/closed/indestructible/reinforced, -/area/hangar) -"js" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"jw" = ( -/obj/machinery/computer/cargo/express, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/structure/sign/poster/official/moth/smokey{ - pixel_y = 32 - }, -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"jQ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ka" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"kX" = ( -/obj/machinery/computer/crew/syndie{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"lt" = ( -/obj/effect/turf_decal/industrial/loading, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"lZ" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/landmark/outpost/hangar_numbers, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"mn" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"mw" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"mz" = ( -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"mV" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 5 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"mW" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/sprayweb{ - color = "#808080" - }, -/obj/effect/decal/cleanable/sprayweb{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"mY" = ( -/turf/template_noop, -/area/template_noop) -"nt" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/confetti{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"nw" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "asclepius_reception_lockdown"; - name = "Lockdown Shutters" - }, -/obj/item/kirbyplants{ - icon_state = "plant-03" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"nP" = ( -/obj/structure/girder/displaced, -/obj/structure/grille/broken, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"nY" = ( -/obj/structure/fence/door, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"oj" = ( -/obj/machinery/vending/cigarette, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"ok" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/structure/frame/machine, -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"oq" = ( -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/grass{ - planetary_atmos = 1 - }, -/area/hangar) -"oC" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals6, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"oL" = ( -/obj/structure/table/wood/reinforced, -/obj/item/table_bell{ - pixel_x = 9; - pixel_y = -1 - }, -/obj/item/cigbutt/cigarbutt{ - pixel_x = -5; - pixel_y = 10 - }, -/obj/item/dice/d2, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"oP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/wrapping{ - color = "#808080" - }, -/obj/structure/closet/crate, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"pg" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"pV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/elevator_call_button{ - pixel_y = 31; - pixel_x = 10 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21"; - pixel_x = -7; - pixel_y = 18 - }, -/obj/effect/landmark/outpost/elevator_machine, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"pW" = ( -/turf/open/floor/plasteel/stairs/mid{ - planetary_atmos = 1 - }, -/area/hangar) -"qa" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"qk" = ( -/obj/structure/table/wood/reinforced, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_x = -1; - pixel_y = 3 - }, -/obj/item/newspaper{ - pixel_x = 6; - pixel_y = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"ql" = ( -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"qt" = ( -/obj/machinery/door/airlock, -/obj/effect/landmark/outpost/elevator_machine, -/obj/structure/lattice/catwalk, -/turf/open/floor/engine, -/area/hangar) -"qJ" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/decal/cleanable/glass{ - dir = 8; - pixel_y = -4; - color = "#808080"; - pixel_x = 8 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"qM" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"qY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"re" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"rg" = ( -/obj/item/binoculars{ - pixel_y = 6; - pixel_x = -3 - }, -/obj/structure/rack, -/obj/item/radio{ - pixel_y = 6; - pixel_x = 9 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"rw" = ( -/obj/structure/frame/machine, -/obj/machinery/light/directional/south, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"rP" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg2"; - planetary_atmos = 1 - }, -/area/hangar) -"ss" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"tk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"tm" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/leaper_sludge{ - color = "#808080" - }, -/obj/effect/decal/cleanable/sprayweb{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"ty" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "asclepius_reception_lockdown"; - name = "Lockdown Shutters" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"tz" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals1, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"tF" = ( -/obj/effect/turf_decal/arrows, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"tT" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/wrapping{ - color = "#808080"; - pixel_y = 8 - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"uL" = ( -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plasteel/stairs/right{ - planetary_atmos = 1 - }, -/area/hangar) -"uY" = ( -/obj/machinery/computer/communications{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vs" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vE" = ( -/obj/machinery/door/poddoor/multi_tile/four_tile_ver, -/turf/closed/indestructible/reinforced, -/area/hangar) -"vW" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/vomit/old{ - color = "#808080" - }, -/obj/effect/decal/cleanable/sprayweb{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"wd" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"wu" = ( -/obj/structure/flora/ausbushes/sparsegrass{ - pixel_y = -12; - pixel_x = 9 - }, -/turf/open/floor/grass{ - planetary_atmos = 1 - }, -/area/hangar) -"wI" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 6 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg3"; - planetary_atmos = 1 - }, -/area/hangar) -"wN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"yM" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Al" = ( -/obj/structure/rack, -/obj/item/poster/random_official{ - pixel_x = 2; - pixel_y = 9 - }, -/obj/item/poster/random_official{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/poster/random_contraband{ - pixel_y = 8; - pixel_x = -1 - }, -/obj/item/destTagger{ - pixel_x = -5 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Av" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"AK" = ( -/turf/open/floor/plating/asteroid/icerock/smooth, -/area/hangar) -"Bh" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"BM" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/machinery/computer/camera_advanced{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Cb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"Ci" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/fermenting_barrel{ - pixel_y = 9 - }, -/obj/structure/fermenting_barrel{ - pixel_y = 1; - pixel_x = 8 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Cw" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Cx" = ( -/obj/effect/turf_decal/industrial/caution{ - pixel_y = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"CA" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/fax/ruin, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"CR" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/blood{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"CU" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Dj" = ( -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"Do" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"DD" = ( -/turf/closed/mineral/random/snow, -/area/hangar) -"DG" = ( -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plasteel/stairs/left{ - planetary_atmos = 1 - }, -/area/hangar) -"DK" = ( -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Es" = ( -/obj/structure/grille, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ew" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"ER" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 9 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Fd" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Fg" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/newscaster/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"Fy" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"GE" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/east, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Hi" = ( -/obj/effect/turf_decal/steeldecal/steel_decals3, -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 6 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Hv" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Hw" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/structure/flora/ausbushes/sparsegrass{ - pixel_y = -1; - pixel_x = -1 - }, -/obj/structure/flora/ausbushes/stalkybush, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/grass{ - planetary_atmos = 1 - }, -/area/hangar) -"Ij" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"It" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/greenglow{ - color = "#808080"; - pixel_x = -11; - pixel_y = 3 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"IR" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/fernybush, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/grass{ - planetary_atmos = 1 - }, -/area/hangar) -"Je" = ( -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Jf" = ( -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"Jt" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"Ju" = ( -/obj/effect/decal/cleanable/garbage{ - pixel_x = -12; - pixel_y = -6 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Jz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"JN" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Kd" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"Kf" = ( -/obj/effect/turf_decal/industrial/caution{ - pixel_y = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ki" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Kl" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"KA" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/asteroid/icerock/cracked, -/area/hangar) -"KU" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"LB" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - volume = 10000000 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"LN" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Mb" = ( -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Mm" = ( -/obj/item/flashlight/lantern{ - pixel_x = 7 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"Mv" = ( -/obj/effect/turf_decal/steeldecal/steel_decals2, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"MZ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Nc" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"Nd" = ( -/obj/effect/turf_decal/steeldecal/steel_decals_central2{ - pixel_y = 2 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central2{ - pixel_y = 2 - }, -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ni" = ( -/obj/structure/closet/crate/bin, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/north, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"Nv" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"NB" = ( -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"OH" = ( -/obj/structure/frame/machine, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"OW" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/structure/frame/computer{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ph" = ( -/obj/effect/landmark/outpost/elevator, -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"Pn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/steeldecal/steel_decals_central2{ - pixel_y = 2 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Py" = ( -/obj/structure/table/wood/reinforced, -/obj/item/flashlight/lamp/green{ - pixel_y = 13; - pixel_x = 8 - }, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = -4 - }, -/obj/item/clipboard{ - pixel_x = -2; - pixel_y = 8 - }, -/obj/item/phone{ - pixel_x = 8; - pixel_y = -4 - }, -/obj/item/storage/fancy/cigarettes/cigars/havana{ - pixel_y = -8; - pixel_x = 4 - }, -/obj/item/lighter{ - pixel_y = -16; - pixel_x = 13 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"PG" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/girder/displaced, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"PN" = ( -/obj/structure/chair/sofa/brown/left/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"QM" = ( -/obj/structure/flora/rock/icy{ - pixel_x = 5; - pixel_y = 5 - }, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"Ra" = ( -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/structure/sign/warning/securearea{ - pixel_y = 32 - }, -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"RX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/freezer, -/obj/machinery/light/directional/north, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"SH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"Tj" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/item/trash/energybar{ - color = "#808080"; - layer = 2; - pixel_x = -4; - pixel_y = 4 - }, -/obj/effect/decal/cleanable/xenoblood{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"To" = ( -/obj/structure/table/reinforced, -/obj/item/stack/packageWrap{ - pixel_y = 7 - }, -/obj/item/clipboard{ - pixel_x = -5; - pixel_y = 1 - }, -/obj/item/export_scanner{ - pixel_x = 4 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Tp" = ( -/obj/structure/mopbucket, -/obj/item/mop{ - pixel_y = 4; - pixel_x = -9 - }, -/obj/item/toy/plush/knight{ - pixel_y = 17; - pixel_x = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Tr" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/item/trash/sosjerky{ - anchored = 1; - color = "#808080"; - pixel_x = 8; - pixel_y = 8 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/vomit/old{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"Tw" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"TV" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/desk_flag{ - pixel_x = -6; - pixel_y = 17 - }, -/obj/item/megaphone/sec{ - name = "syndicate megaphone"; - pixel_x = 1; - pixel_y = 4 - }, -/obj/item/camera_bug{ - pixel_x = -5; - pixel_y = -3 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"UG" = ( -/obj/effect/turf_decal/steeldecal/steel_decals_central2{ - pixel_y = 2 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"UH" = ( -/obj/structure/table/reinforced, -/obj/item/stamp{ - pixel_x = -8; - pixel_y = 8 - }, -/obj/item/stamp/denied{ - pixel_x = -8; - pixel_y = 3 - }, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = 5 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/light/directional/north, -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"UJ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"UO" = ( -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"UX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"VA" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"VO" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/structure/grille, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"VS" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/computer/card/minor/cmo{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"WE" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"WJ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/docking{ - pixel_x = -32 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"WL" = ( -/obj/structure/table, -/obj/item/toy/cards/deck{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"Xs" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Xv" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "foam_plating"; - planetary_atmos = 1 - }, -/area/hangar) -"XB" = ( -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"XL" = ( -/obj/item/toy/plush/lizardplushie{ - pixel_x = -6; - name = "tail-less lizard plushie" - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "splatter6"; - pixel_x = -13; - pixel_y = 6 - }, -/obj/item/toy/plush/goatplushie{ - pixel_x = 12 - }, -/obj/item/toy/katana{ - pixel_x = 20; - pixel_y = 1 - }, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"XN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/ian{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"XQ" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/structure/closet/crate/trashcart, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"XT" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"XW" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 10 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"YH" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"Zb" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Zq" = ( -/obj/structure/chair/sofa/brown/right/directional/south, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = -5; - pixel_y = -3 - }, -/obj/item/toy/plush/hornet{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"Zu" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"ZL" = ( -/obj/item/chair{ - pixel_x = 6; - pixel_y = -4 - }, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) - -(1,1,1) = {" -mY -mY -mY -mY -mY -mY -mY -iZ -iZ -iZ -iZ -iZ -iZ -iZ -vE -iZ -iZ -iZ -vE -iZ -iZ -iZ -vE -iZ -iZ -iZ -vE -iZ -iZ -iZ -vE -iZ -iZ -iZ -iZ -mY -mY -mY -mY -"} -(2,1,1) = {" -mY -mY -mY -mY -mY -mY -iZ -iZ -DD -DD -DD -YH -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -YH -iZ -iZ -iZ -iZ -iZ -mY -mY -mY -"} -(3,1,1) = {" -mY -mY -mY -mY -mY -mY -iZ -iZ -DD -DD -Av -Kd -Mb -dg -ql -Mb -Mb -Mb -dg -ql -Mb -Mb -ql -tF -Mb -Mb -Mb -ql -tF -Mb -Kd -WJ -bv -DD -iZ -iZ -iZ -mY -mY -"} -(4,1,1) = {" -mY -mY -mY -mY -mY -mY -iZ -DD -DD -DD -wd -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -cE -Nv -MZ -DD -DD -DD -iZ -iZ -mY -"} -(5,1,1) = {" -mY -mY -mY -mY -mY -iZ -iZ -iZ -DD -OH -wd -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -Nv -Tp -iZ -DD -DD -DD -iZ -mY -"} -(6,1,1) = {" -mY -mY -mY -mY -mY -iZ -Al -dz -Xv -aN -Ij -hf -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hf -Nv -XN -iZ -iZ -DD -DD -iZ -mY -"} -(7,1,1) = {" -mY -iZ -iZ -iZ -iZ -iZ -To -UO -wI -Nd -Ij -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -MZ -iK -KA -AK -DD -iZ -iZ -"} -(8,1,1) = {" -mY -iZ -LB -mV -iZ -jw -XB -DG -ei -Pn -wd -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -vs -iK -AK -AK -DD -DD -iZ -"} -(9,1,1) = {" -iZ -iZ -iZ -ek -iZ -UH -Jf -pW -rP -Pn -Av -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -js -mz -iK -NB -fp -iZ -DD -iZ -"} -(10,1,1) = {" -iZ -Dj -Dj -re -iZ -iZ -Ra -uL -qM -Pn -Ij -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -mz -nY -NB -NB -DD -DD -iZ -"} -(11,1,1) = {" -iZ -Dj -Dj -XW -cn -KU -UX -Hv -ER -UG -Ij -hf -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hf -Nv -MZ -iK -NB -NB -KA -DD -iZ -"} -(12,1,1) = {" -iZ -Dj -Dj -hE -DD -DD -VO -OW -ok -tz -Ij -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -MZ -iK -NB -NB -NB -iZ -iZ -"} -(13,1,1) = {" -iZ -iZ -iZ -iZ -DD -DD -PG -Je -XQ -Cx -Ij -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -mz -iK -NB -NB -NB -DD -iZ -"} -(14,1,1) = {" -mY -mY -mY -iZ -DD -iZ -RX -mw -Ju -lt -Av -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -Nv -mz -DD -QM -Mm -DD -DD -iZ -"} -(15,1,1) = {" -mY -mY -mY -iZ -DD -DD -Je -mw -mw -lt -wd -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -js -Es -DD -DD -iZ -DD -DD -iZ -"} -(16,1,1) = {" -mY -mY -mY -iZ -DD -DD -Cw -qa -Nc -lt -wd -hf -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hf -Nv -Es -DD -DD -DD -DD -DD -iZ -"} -(17,1,1) = {" -mY -mY -mY -iZ -DD -DD -dQ -oP -bi -Kf -Ij -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -Nv -Jz -hb -ZL -DD -DD -DD -iZ -"} -(18,1,1) = {" -mY -mY -mY -iZ -DD -DD -DD -Ki -pg -MZ -wd -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -qY -tk -WL -DD -DD -DD -iZ -"} -(19,1,1) = {" -mY -mY -mY -iZ -DD -DD -DD -DD -Ci -MZ -wd -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -Nv -nP -Do -ia -DD -DD -DD -iZ -"} -(20,1,1) = {" -mY -mY -iZ -iZ -DD -DD -DD -DD -DD -MZ -UJ -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -Es -rw -iZ -DD -DD -iZ -iZ -"} -(21,1,1) = {" -mY -mY -iZ -DD -DD -DD -wu -oq -DD -mz -Fy -hf -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hf -Bh -Es -DD -DD -DD -DD -iZ -mY -"} -(22,1,1) = {" -mY -iZ -iZ -DD -DD -IR -Hw -gQ -DD -Mv -UJ -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -cY -iZ -DD -DD -DD -iZ -mY -"} -(23,1,1) = {" -mY -iZ -DD -DD -oj -Cb -Xs -Ew -ty -mz -UJ -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -hP -DD -DD -DD -iZ -iZ -mY -"} -(24,1,1) = {" -mY -iZ -DD -iZ -Ni -wN -Xs -Jt -ty -Mb -VA -yM -yM -yM -hz -ea -ea -ea -jQ -ea -WE -WE -ea -jQ -WE -WE -WE -oC -WE -WE -ea -Fd -DD -DD -DD -DD -iZ -mY -mY -"} -(25,1,1) = {" -mY -iZ -DD -iZ -Zq -wN -LN -Jt -ty -Mb -Mb -mz -eV -mz -mz -mz -mz -mz -mz -mz -qY -MZ -Hi -mz -vs -mz -MZ -mz -MZ -MZ -mz -iZ -DD -DD -DD -iZ -iZ -mY -mY -"} -(26,1,1) = {" -mY -iZ -DD -iZ -PN -wN -Xs -Ew -ty -CU -DD -iZ -DD -DD -iZ -vW -tm -qJ -mn -Kl -fm -hJ -Tr -CR -DD -DD -DD -DD -DD -DD -ah -DD -DD -DD -iZ -iZ -mY -mY -mY -"} -(27,1,1) = {" -iZ -iZ -iZ -iZ -iZ -pV -Xs -Ew -nw -DD -DD -DD -DD -DD -iZ -iZ -mW -Tj -tT -dC -nt -aD -It -DD -DD -DD -DD -DD -DD -DD -ss -DD -DD -DD -iZ -mY -mY -mY -mY -"} -(28,1,1) = {" -iZ -Dj -Dj -Ph -qt -Cb -LN -Ew -DD -DD -DD -DD -DD -DD -DD -iZ -iZ -XT -XT -XT -XT -iZ -iZ -DD -DD -NB -eQ -DD -DD -Dj -Dj -Dj -DD -DD -iZ -mY -mY -mY -mY -"} -(29,1,1) = {" -iZ -Dj -Dj -Dj -qt -Cb -lZ -Zu -iZ -DD -DD -DD -DD -DD -DD -iZ -Tw -rg -VS -kX -uY -iZ -Dj -Dj -DD -NB -XL -DD -iZ -Dj -Dj -Dj -iZ -DD -iZ -mY -mY -mY -mY -"} -(30,1,1) = {" -iZ -Dj -Dj -Dj -qt -wN -LN -Fg -iZ -DD -DD -DD -DD -DD -DD -iZ -qk -an -fO -JN -DK -hL -Dj -Dj -DD -NB -NB -DD -iZ -iZ -iZ -iZ -iZ -DD -iZ -mY -mY -mY -mY -"} -(31,1,1) = {" -iZ -iZ -iZ -iZ -iZ -SH -GE -cB -iZ -DD -DD -DD -DD -DD -DD -iZ -Py -oL -BM -TV -CA -iZ -Dj -Dj -iZ -iZ -iZ -iZ -iZ -mY -mY -mY -iZ -iZ -iZ -mY -mY -mY -mY -"} -(32,1,1) = {" -mY -mY -mY -mY -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -mY -mY -mY -mY -mY -mY -mY -mY -mY -mY -mY -mY -mY -mY -"} diff --git a/_maps/outpost/hangar/nt_asteroid_40x20.dmm b/_maps/outpost/hangar/nt_asteroid_40x20.dmm deleted file mode 100644 index b57c4972362..00000000000 --- a/_maps/outpost/hangar/nt_asteroid_40x20.dmm +++ /dev/null @@ -1,4301 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ai" = ( -/obj/item/wallframe/airalarm{ - pixel_y = -7 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"au" = ( -/turf/closed/mineral/random/snow, -/area/hangar) -"ba" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"bX" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"ck" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"cn" = ( -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"cq" = ( -/obj/structure/closet/crate, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/plating{ - icon_state = "platingdmg1"; - planetary_atmos = 1 - }, -/area/hangar) -"cO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"cY" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"dn" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"dw" = ( -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/hangar) -"dK" = ( -/obj/machinery/door/poddoor/shutters/indestructible/preopen, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"dN" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ed" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/structure/girder/reinforced, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"eg" = ( -/obj/structure/chair, -/obj/structure/sign/poster/official/enlist{ - pixel_x = 32 - }, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken4"; - planetary_atmos = 1 - }, -/area/hangar) -"ep" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 9 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"eH" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/sign/poster/contraband/energy_swords{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"eP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"fy" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"fB" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"fI" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"gr" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"gu" = ( -/turf/template_noop, -/area/template_noop) -"gE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"gL" = ( -/obj/machinery/door/airlock/highsecurity, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"gO" = ( -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"gV" = ( -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"he" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/obj/structure/grille/indestructable, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"hh" = ( -/obj/effect/landmark/outpost/elevator, -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"hp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"hs" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 6 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"hJ" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/plasteel/stairs/wood, -/area/hangar) -"ie" = ( -/turf/closed/indestructible/reinforced, -/area/hangar) -"iw" = ( -/obj/item/banner, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"iM" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/stairs{ - dir = 8; - planetary_atmos = 1 - }, -/area/hangar) -"iV" = ( -/obj/structure/grille, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"jy" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"jF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"jR" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - volume = 10000000 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"jS" = ( -/obj/structure/flora/rock/icy, -/turf/open/water/beach/deep, -/area/hangar) -"jX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"ka" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"kk" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"kD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"kG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"kU" = ( -/obj/effect/spawner/lootdrop/maintenance, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = -6 - }, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = 10; - pixel_y = 7 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = -6 - }, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = 10; - pixel_y = 7 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"ll" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"lN" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"mb" = ( -/mob/living/simple_animal/hostile/cockroach, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"mo" = ( -/obj/structure/table/wood/reinforced, -/obj/item/table_bell{ - pixel_x = 9; - pixel_y = -1 - }, -/obj/item/cigbutt/cigarbutt{ - pixel_x = -5; - pixel_y = 10 - }, -/obj/item/dice/d2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"mq" = ( -/turf/open/floor/plasteel/stairs{ - dir = 8; - planetary_atmos = 1 - }, -/area/hangar) -"mN" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/mopbucket, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ns" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"nW" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"os" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"oJ" = ( -/obj/item/kirbyplants{ - icon_state = "plant-09" - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"oK" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/structure/closet/crate, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/vomit, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"oU" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"pt" = ( -/obj/structure/table/reinforced, -/obj/item/stamp{ - pixel_x = -8; - pixel_y = 8 - }, -/obj/item/stamp/denied{ - pixel_x = -8; - pixel_y = 3 - }, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = 5 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"pu" = ( -/obj/structure/table/wood/reinforced, -/obj/item/flashlight/lamp/green{ - pixel_y = 13; - pixel_x = 8 - }, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = -4 - }, -/obj/item/clipboard{ - pixel_x = -2; - pixel_y = 8 - }, -/obj/item/phone{ - pixel_x = 8; - pixel_y = -4 - }, -/obj/item/storage/fancy/cigarettes/cigars/havana{ - pixel_y = -8; - pixel_x = 4 - }, -/obj/item/lighter{ - pixel_y = -16; - pixel_x = 13 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"px" = ( -/obj/effect/turf_decal/industrial/loading, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"py" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 5 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"pF" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"pG" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/desk_flag{ - pixel_x = -6; - pixel_y = 17 - }, -/obj/item/megaphone/sec{ - name = "syndicate megaphone"; - pixel_x = 1; - pixel_y = 4 - }, -/obj/item/camera_bug{ - pixel_x = -5; - pixel_y = -3 - }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"pJ" = ( -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"pQ" = ( -/obj/machinery/computer/communications{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"pT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"qc" = ( -/obj/effect/turf_decal/industrial/warning/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"qg" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/structure/closet/toolcloset/empty, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"qh" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"qH" = ( -/obj/structure/flora/grass/both{ - pixel_x = 23; - pixel_y = 6 - }, -/turf/open/floor/grass/snow/safe{ - planetary_atmos = 1 - }, -/area/hangar) -"rt" = ( -/obj/structure/table/wood/reinforced, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_x = -1; - pixel_y = 3 - }, -/obj/item/newspaper{ - pixel_x = 6; - pixel_y = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"rJ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"rX" = ( -/obj/machinery/vending/coffee, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"sA" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/computer/card/minor/cmo{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"sG" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"sP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/sign/poster/official/moth/meth{ - pixel_x = 32 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"sY" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"sZ" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/barricade/wooden/crude, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"te" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"to" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"tq" = ( -/obj/machinery/elevator_call_button{ - pixel_y = 31; - pixel_x = 10 - }, -/obj/effect/landmark/outpost/elevator_machine, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"tx" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"tF" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"tH" = ( -/obj/machinery/computer/cargo/express, -/obj/item/toy/plush/knight{ - pixel_y = 25; - pixel_x = 9 - }, -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"ug" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg3"; - planetary_atmos = 1 - }, -/area/hangar) -"vh" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"vk" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vn" = ( -/obj/machinery/door/poddoor/shutters/indestructible/preopen, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"vq" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"vt" = ( -/obj/structure/railing/corner/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"vz" = ( -/obj/effect/turf_decal/industrial/caution{ - pixel_y = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vG" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vJ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/mop{ - pixel_y = -8; - pixel_x = -13 - }, -/obj/item/clothing/head/soft/purple, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"vO" = ( -/obj/machinery/door/poddoor/multi_tile/four_tile_ver, -/turf/closed/indestructible/reinforced, -/area/hangar) -"wi" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"wk" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/water/beach/deep, -/area/hangar) -"wm" = ( -/obj/structure/grille/indestructable, -/obj/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"wo" = ( -/obj/structure/rack, -/obj/item/poster/random_official{ - pixel_x = 2; - pixel_y = 9 - }, -/obj/item/poster/random_official{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/poster/random_contraband{ - pixel_y = 8; - pixel_x = -1 - }, -/obj/item/destTagger{ - pixel_x = -2 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"xi" = ( -/obj/structure/closet/crate/trashcart/laundry, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"xu" = ( -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/hangar) -"xF" = ( -/obj/structure/girder/displaced, -/obj/structure/grille, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"xN" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/grass/snow/safe{ - planetary_atmos = 1 - }, -/area/hangar) -"yd" = ( -/obj/structure/railing/wood{ - layer = 3.1 - }, -/obj/structure/fluff/hedge{ - icon_state = "hedge-8" - }, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"yO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"yQ" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"zc" = ( -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"zr" = ( -/obj/item/trash/waffles{ - pixel_y = -3 - }, -/obj/item/trash/sosjerky{ - pixel_x = -4 - }, -/obj/item/trash/raisins, -/obj/item/trash/pistachios{ - pixel_x = 6 - }, -/obj/structure/closet/crate/trashcart, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"zs" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"zy" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"zA" = ( -/turf/open/floor/plating/ice/smooth, -/area/hangar) -"zK" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/stand_clear, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"zM" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"zN" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/trash/can{ - pixel_x = -8; - pixel_y = -6 - }, -/obj/item/trash/candy, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ao" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/wallframe/light_fixture{ - pixel_y = -5; - pixel_x = 5 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ap" = ( -/obj/item/storage/cans/sixbeer{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Av" = ( -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"AD" = ( -/obj/structure/statue/snow/snowman{ - pixel_y = 5 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/grass/snow/safe{ - planetary_atmos = 1 - }, -/area/hangar) -"AG" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Bx" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"BB" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/item/storage/fancy/donut_box{ - pixel_y = 6 - }, -/obj/item/storage/fancy/cigarettes{ - pixel_x = 10 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"BL" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar{ - pixel_y = 17 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"BU" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Cd" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/structure/reagent_dispensers/watertank, -/obj/item/radio/intercom/directional/north{ - pixel_y = 20 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Cf" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/fluff/hedge{ - icon_state = "hedge-4" - }, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"Cn" = ( -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"CI" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/fax/ruin, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"CS" = ( -/turf/open/floor/grass/snow/safe{ - planetary_atmos = 1 - }, -/area/hangar) -"De" = ( -/obj/effect/turf_decal/industrial/traffic/corner, -/obj/effect/decal/cleanable/plastic, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Dx" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ET" = ( -/turf/open/floor/plasteel/stairs/wood, -/area/hangar) -"Fm" = ( -/obj/structure/girder/reinforced, -/obj/structure/grille/broken, -/obj/machinery/light/directional/north, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Fv" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Fw" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"FC" = ( -/obj/machinery/door/airlock, -/obj/effect/landmark/outpost/elevator_machine, -/obj/structure/lattice/catwalk, -/turf/open/floor/engine, -/area/hangar) -"GA" = ( -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"He" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/toy/cards/deck{ - pixel_y = 2; - pixel_x = -5 - }, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"Hg" = ( -/obj/effect/turf_decal/box, -/obj/structure/railing{ - layer = 3.1 - }, -/obj/machinery/power/floodlight, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Hk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ho" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/obj/structure/sign/poster/official/random{ - pixel_y = -32 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"HH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"HP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"HR" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs/wood, -/area/hangar) -"HX" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"Ia" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken7"; - planetary_atmos = 1 - }, -/area/hangar) -"Iv" = ( -/obj/structure/girder, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Iy" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"IE" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Jk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Jp" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"JF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 6 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg3"; - planetary_atmos = 1 - }, -/area/hangar) -"JI" = ( -/obj/machinery/vending/cigarette, -/obj/item/radio/intercom/directional/north{ - pixel_y = 20 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/toy/plush/hornet/gay{ - pixel_y = 23; - pixel_x = 7 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = 1; - pixel_y = 19; - layer = 3.1 - }, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"KG" = ( -/obj/structure/table/reinforced, -/obj/item/stack/packageWrap{ - pixel_y = 7 - }, -/obj/item/clipboard{ - pixel_x = -5; - pixel_y = 1 - }, -/obj/item/export_scanner{ - pixel_x = 4 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/structure/sign/poster/contraband/eoehoma{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"KY" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"Lc" = ( -/obj/structure/railing/wood{ - layer = 3.1 - }, -/obj/structure/fluff/hedge{ - icon_state = "hedge-4" - }, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"Lm" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ly" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"LI" = ( -/obj/structure/railing/wood{ - layer = 3.1 - }, -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"LR" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Mt" = ( -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"MV" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Nw" = ( -/obj/machinery/computer/camera_advanced{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"NC" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = 9; - pixel_y = -2 - }, -/obj/item/newspaper{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/newspaper{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/machinery/jukebox/boombox{ - pixel_y = 5 - }, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"NK" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"NW" = ( -/obj/item/binoculars{ - pixel_y = 6; - pixel_x = -3 - }, -/obj/structure/rack, -/obj/item/radio{ - pixel_y = 6; - pixel_x = 9 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"NX" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Oh" = ( -/obj/effect/landmark/outpost/hangar_dock, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ON" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"OS" = ( -/obj/item/kirbyplants{ - icon_state = "plant-25"; - pixel_x = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/robot_debris{ - pixel_x = 8 - }, -/obj/item/kirbyplants{ - icon_state = "plant-25"; - pixel_x = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/robot_debris{ - pixel_x = 8 - }, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 9 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Pv" = ( -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"PF" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/item/chair{ - pixel_x = -1; - pixel_y = -4 - }, -/obj/item/chair{ - pixel_x = -1 - }, -/obj/item/chair{ - pixel_x = -1; - pixel_y = 3 - }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"QA" = ( -/obj/machinery/light/directional/east, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"QB" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/fluff/hedge{ - icon_state = "hedge-8" - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"QC" = ( -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"QL" = ( -/obj/structure/table_frame/wood, -/obj/item/trash/boritos, -/turf/open/floor/plating{ - icon_state = "platingdmg1"; - planetary_atmos = 1 - }, -/area/hangar) -"QP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/outpost/hangar_numbers, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"QR" = ( -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"QX" = ( -/obj/effect/turf_decal/arrows, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"RB" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/easel, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"RH" = ( -/obj/structure/girder/displaced, -/obj/structure/grille/broken, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"RI" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/power/floodlight, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"RN" = ( -/obj/structure/flora/grass/both, -/turf/open/floor/grass/snow/safe{ - planetary_atmos = 1 - }, -/area/hangar) -"Se" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Sj" = ( -/obj/structure/girder/displaced, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Sl" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Tu" = ( -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Tw" = ( -/obj/machinery/computer/crew/syndie{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"TT" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"TV" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/turf_decal/box/corners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Uc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Ue" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Uj" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"UA" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"UL" = ( -/obj/effect/decal/cleanable/garbage{ - pixel_y = -7; - pixel_x = 6 - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"UN" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"UV" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"We" = ( -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Wi" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 9 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Wo" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Xg" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"Xq" = ( -/turf/open/water/beach/deep, -/area/hangar) -"Xs" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"XH" = ( -/obj/structure/frame/computer{ - dir = 8 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"XN" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"XP" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"XX" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Yi" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Yw" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - icon_state = "platingdmg3"; - planetary_atmos = 1 - }, -/area/hangar) -"YK" = ( -/obj/structure/window/reinforced/spawner, -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Zm" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Zz" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ZQ" = ( -/obj/structure/chair/comfy/grey/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"ZR" = ( -/obj/structure/marker_beacon{ - picked_color = "Teal" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ZU" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 5 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) - -(1,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -ie -ie -vO -ie -ie -ie -vO -ie -ie -ie -vO -ie -ie -ie -vO -ie -ie -ie -vO -ie -gu -gu -gu -gu -gu -gu -"} -(2,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -ie -ie -ie -ie -KY -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -KY -ie -ie -gu -gu -gu -gu -gu -"} -(3,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -au -au -au -ie -fI -HX -gV -Av -Pv -gV -gV -gV -Av -Pv -gV -gV -Pv -QX -gV -gV -gV -Pv -QX -gV -HX -vG -ie -ie -ie -gu -gu -gu -"} -(4,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -ie -au -au -au -au -au -Zm -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Oh -Iy -au -au -ie -ie -gu -gu -"} -(5,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -ie -au -au -au -au -QC -ck -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -au -au -au -ie -gu -gu -"} -(6,1,1) = {" -gu -gu -gu -gu -gu -gu -ie -ie -au -au -au -au -au -QC -yO -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -Iy -ON -au -au -ie -gu -gu -"} -(7,1,1) = {" -gu -gu -gu -gu -gu -ie -ie -au -au -au -au -au -au -QC -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -pT -au -au -ie -gu -gu -"} -(8,1,1) = {" -gu -gu -gu -gu -ie -ie -au -au -au -au -wk -Sj -au -ed -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -QC -au -au -ie -gu -gu -"} -(9,1,1) = {" -gu -gu -gu -gu -ie -au -au -au -au -jS -Xq -to -RI -fB -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -gr -ON -ie -au -ie -gu -gu -"} -(10,1,1) = {" -gu -gu -gu -gu -ie -au -au -au -Xq -Xq -Xq -to -NX -fB -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -ON -au -au -ie -gu -gu -"} -(11,1,1) = {" -gu -gu -gu -gu -ie -au -au -wo -gO -gO -gO -XP -NX -fB -Hk -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -Iy -ON -au -au -ie -gu -gu -"} -(12,1,1) = {" -gu -gu -gu -gu -ie -au -au -Cf -LR -JF -QA -Ly -Yw -py -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -QC -au -au -ie -gu -gu -"} -(13,1,1) = {" -gu -gu -ie -ie -ie -ie -ie -QB -Ap -ug -ie -mq -iM -fy -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -QC -au -au -ie -gu -gu -"} -(14,1,1) = {" -gu -gu -ie -Mt -Mt -Mt -ie -KG -mb -eH -ie -pF -tx -qh -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -gr -QC -au -au -ie -gu -gu -"} -(15,1,1) = {" -gu -gu -ie -Mt -Mt -Mt -ie -ie -xu -dw -he -zK -QC -ON -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -QC -ie -au -ie -ie -gu -"} -(16,1,1) = {" -gu -gu -ie -hs -NK -dN -dN -sZ -kU -OS -he -zK -QC -HH -yO -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -Iy -ON -au -au -au -ie -ie -"} -(17,1,1) = {" -gu -gu -ie -ll -qg -PF -ie -ie -Fm -XH -au -au -au -ON -Hk -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -ON -au -au -au -au -ie -"} -(18,1,1) = {" -gu -gu -ie -AG -ie -ie -ie -au -au -au -au -au -au -pT -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -ON -Iv -au -au -au -ie -"} -(19,1,1) = {" -gu -ie -ie -ka -ie -au -au -au -au -au -au -au -ie -ON -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -QC -iV -au -au -au -ie -"} -(20,1,1) = {" -ie -ie -au -nW -ie -au -zA -zA -au -au -au -au -ie -QC -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -gr -ON -vq -zr -au -au -ie -"} -(21,1,1) = {" -ie -jR -Lm -Wi -Uj -zc -CS -zA -au -au -au -au -ie -QC -yO -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -Iy -ON -mN -ai -au -au -ie -"} -(22,1,1) = {" -ie -au -au -au -ie -cn -CS -RN -qH -au -au -au -au -QC -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -ON -vJ -UL -au -au -ie -"} -(23,1,1) = {" -ie -ie -ie -ie -ie -au -AD -xN -xN -xN -au -au -au -QC -Hk -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -pT -zN -Ho -ie -au -ie -"} -(24,1,1) = {" -gu -gu -gu -gu -ie -ie -tF -tF -tF -tF -YK -au -au -QC -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -ON -Ao -QL -au -au -ie -"} -(25,1,1) = {" -gu -gu -gu -gu -ie -rX -UN -jy -Ia -NC -Lc -au -au -iw -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -ON -vq -wi -au -au -ie -"} -(26,1,1) = {" -ie -ie -ie -ie -ie -tq -XN -XN -XN -Xg -yd -oJ -dK -ep -Uc -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -gr -ON -vq -RB -au -au -ie -"} -(27,1,1) = {" -ie -Mt -Mt -hh -FC -kG -kG -jX -kG -kD -GA -hJ -vn -jF -te -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -ON -RH -xF -au -au -ie -"} -(28,1,1) = {" -ie -Mt -Mt -Mt -FC -Tu -QP -Jk -Tu -Tu -bX -ET -vn -zM -te -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -QC -vq -Hg -ie -au -ie -"} -(29,1,1) = {" -ie -Mt -Mt -Mt -FC -sP -eP -eP -eP -gE -vt -HR -vn -ZU -hp -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -QC -vh -au -au -au -ie -"} -(30,1,1) = {" -ie -ie -ie -ie -ie -ie -ie -JI -eg -He -LI -au -au -iw -Ue -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -ON -au -au -au -au -ie -"} -(31,1,1) = {" -gu -gu -gu -gu -gu -gu -ie -ie -ie -ie -ie -au -au -QC -Ue -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -rJ -pT -au -au -au -au -ie -"} -(32,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -au -au -QC -HP -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -kk -pT -au -au -au -ie -ie -"} -(33,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -ie -ie -au -au -au -QC -Ue -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -QC -au -au -au -ie -gu -"} -(34,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -au -au -au -yQ -ON -Dx -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -TT -au -au -au -ie -gu -"} -(35,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -au -au -ie -tH -ON -Dx -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -Wo -Xq -au -au -ie -gu -"} -(36,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -au -ie -ie -pt -QC -Dx -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -rJ -Wo -Xq -au -au -ie -gu -"} -(37,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -au -ie -Cd -zs -vz -Dx -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -ns -au -au -au -ie -gu -"} -(38,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -au -UA -Jp -cq -px -ba -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -gr -qc -ie -au -au -ie -gu -"} -(39,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -ie -QR -Jp -We -px -Dx -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -sY -au -au -au -ie -gu -"} -(40,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -au -oK -We -We -px -Dx -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -vk -au -au -au -ie -gu -"} -(41,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -au -au -Xs -TV -vz -Dx -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -Iy -sY -au -au -au -ie -gu -"} -(42,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -ie -au -au -au -xi -QC -Dx -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -zy -au -au -au -ie -gu -"} -(43,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -ie -au -au -au -au -QC -Dx -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -ON -au -au -au -ie -gu -"} -(44,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -au -au -au -QC -BU -cY -cY -oU -oU -oU -lN -oU -oU -oU -oU -BL -cY -oU -oU -lN -cY -cY -oU -oU -oU -Fw -QC -au -au -ie -ie -gu -"} -(45,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -au -au -au -ie -au -Yi -ON -ON -ON -QC -QC -De -Bx -Bx -Bx -Bx -dn -Sl -ON -ON -QC -ON -ON -ON -ON -QC -au -au -au -ie -gu -gu -"} -(46,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -au -au -au -au -au -au -au -ie -au -au -ie -ie -wm -wm -wm -ie -ie -UV -au -au -au -au -ie -au -au -au -au -au -ie -gu -gu -"} -(47,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -ie -ie -au -au -au -au -au -au -ie -ie -Nw -sA -Tw -pQ -NW -ie -ie -ie -ie -ie -au -au -au -au -au -ie -ie -ie -gu -gu -"} -(48,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -ie -ie -au -au -au -ie -rt -ZQ -cO -XX -XX -Cn -ie -Mt -Mt -Mt -ie -ie -ie -ie -ie -ie -ie -gu -gu -gu -gu -"} -(49,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -ie -ie -ie -pu -mo -sG -ON -ON -Fv -ie -Mt -Mt -Mt -ie -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -"} -(50,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -IE -pG -CI -BB -MV -gL -os -Zz -os -ie -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -"} -(51,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -ie -ie -ie -ie -ie -ie -ie -ie -ie -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -"} diff --git a/_maps/outpost/hangar/nt_asteroid_40x40.dmm b/_maps/outpost/hangar/nt_asteroid_40x40.dmm deleted file mode 100644 index 48649aedf4d..00000000000 --- a/_maps/outpost/hangar/nt_asteroid_40x40.dmm +++ /dev/null @@ -1,4832 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aF" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"bg" = ( -/obj/effect/turf_decal/industrial/warning/corner, -/obj/structure/railing/corner, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"ce" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/caution{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"cm" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"cT" = ( -/obj/structure/chair/sofa/brown/left/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"dd" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"dZ" = ( -/obj/machinery/door/poddoor/shutters/indestructible/preopen{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"ec" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/computer/cargo/express{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"fn" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"fR" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark, -/area/hangar) -"gN" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"hb" = ( -/obj/structure/catwalk/over, -/obj/structure/table/wood, -/obj/item/reagent_containers/syringe/contraband/space_drugs{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/glass/mortar/metal, -/obj/item/reagent_containers/syringe/contraband/morphine{ - pixel_x = -3; - pixel_y = 1 - }, -/turf/open/floor/plating{ - icon_state = "foam_plating"; - planetary_atmos = 1 - }, -/area/hangar) -"hj" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"ht" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"hw" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/water/beach/deep, -/area/hangar) -"hz" = ( -/obj/structure/railing/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"hA" = ( -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"hB" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/landmark/outpost/hangar_numbers, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"hG" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"hO" = ( -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"hP" = ( -/obj/machinery/door/poddoor/multi_tile/four_tile_ver, -/turf/closed/indestructible/reinforced, -/area/hangar) -"iA" = ( -/obj/structure/fluff/hedge, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"iG" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"iL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"iS" = ( -/obj/machinery/vending/coffee{ - pixel_x = 5 - }, -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_x = -11 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/toy/plush/moth{ - pixel_y = 21; - pixel_x = 6 - }, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"jk" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/water/beach/deep, -/area/hangar) -"jp" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"jw" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/hangar) -"kf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"kF" = ( -/obj/effect/decal/cleanable/garbage{ - pixel_x = 11; - pixel_y = 5 - }, -/obj/effect/decal/cleanable/wrapping{ - color = "#808080"; - pixel_y = 12 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"la" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/structure/fans/tiny/invisible, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"lf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"lr" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/closet/crate, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating{ - icon_state = "platingdmg1"; - planetary_atmos = 1 - }, -/area/hangar) -"ls" = ( -/obj/structure/chair/sofa/brown/right/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"lJ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark, -/area/hangar) -"lP" = ( -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/turf/open/water/beach/deep, -/area/hangar) -"mg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"ml" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"mH" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plasteel/dark, -/area/hangar) -"nK" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"oj" = ( -/turf/open/floor/plasteel/tech, -/area/hangar) -"oq" = ( -/obj/structure/fence{ - dir = 4 - }, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"oC" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/stack/rods{ - pixel_x = -7; - pixel_y = -2 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"oU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"oX" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"pa" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"ph" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"pt" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"pz" = ( -/turf/open/floor/plasteel/dark, -/area/hangar) -"pF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/components/binary/pump/on, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"qq" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"qx" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/structure/sign/warning/nosmoking{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"qy" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/light/directional/east, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"qG" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/caution, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"qT" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/effect/decal/cleanable/glass{ - pixel_x = -8; - pixel_y = 6 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"ri" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"rp" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"rB" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/slab_2, -/area/hangar) -"rH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"se" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/closet/crate/bin, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"sW" = ( -/obj/structure/sign/departments/cargo{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"tN" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark, -/area/hangar) -"uf" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"vu" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"vy" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"vF" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/structure/closet/crate, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"vG" = ( -/obj/item/stack/ore/salvage/scrapsilver{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech/techmaint{ - planetary_atmos = 1 - }, -/area/hangar) -"wc" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"wm" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/rack, -/obj/effect/turf_decal/industrial/warning, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"ws" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/rack, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"wu" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"wH" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"wJ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/stack/ore/salvage/scraptitanium/five, -/obj/machinery/light/directional/north, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"xk" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"xX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/frame/computer, -/turf/open/floor/plasteel/dark, -/area/hangar) -"ya" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"yb" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plasteel/dark, -/area/hangar) -"yU" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"zd" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"zL" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"zY" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Aa" = ( -/obj/structure/grille, -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"AI" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/frame/machine, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"AO" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/plating/asteroid/icerock/cracked, -/area/hangar) -"AT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/item/stack/rods{ - pixel_x = -7; - pixel_y = -2 - }, -/obj/structure/grille/broken, -/obj/structure/girder/reinforced, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Bb" = ( -/obj/effect/decal/cleanable/robot_debris{ - pixel_x = 12 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"Br" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"BE" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"BI" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/components/unary/tank/air{ - volume = 10000000 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Cw" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"DK" = ( -/turf/closed/mineral/random/snow, -/area/hangar) -"DS" = ( -/obj/structure/fence/door, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"Er" = ( -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Et" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Ew" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"EC" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 - }, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"EJ" = ( -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/turf/open/water/beach/deep, -/area/hangar) -"Fl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/landmark/outpost/elevator_machine, -/obj/machinery/elevator_call_button{ - pixel_y = 31; - pixel_x = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_2, -/area/hangar) -"Fy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/poddoor/shutters/indestructible/preopen{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"FC" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/girder, -/obj/structure/grille/broken, -/turf/open/floor/plating{ - icon_state = "platingdmg1"; - planetary_atmos = 1 - }, -/area/hangar) -"FI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_2, -/area/hangar) -"FT" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"FY" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Gm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_2, -/area/hangar) -"GI" = ( -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"Hg" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark, -/area/hangar) -"HP" = ( -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"HY" = ( -/turf/open/floor/plating/asteroid/icerock/smooth, -/area/hangar) -"It" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Iw" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"IB" = ( -/obj/structure/bed{ - icon_state = "dirty_mattress" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"IE" = ( -/obj/structure/closet/crate, -/obj/item/storage/box/donkpockets{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"IF" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"IK" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/caution, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"Jq" = ( -/obj/item/stack/cable_coil/cut/yellow, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech/techmaint{ - planetary_atmos = 1 - }, -/area/hangar) -"Js" = ( -/obj/structure/easel, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"JN" = ( -/turf/closed/indestructible/reinforced, -/area/hangar) -"JZ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Km" = ( -/turf/open/floor/plating/asteroid/icerock/cracked, -/area/hangar) -"Kv" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"KJ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/girder, -/obj/structure/grille/broken, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"KL" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"KN" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_2, -/area/hangar) -"KQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/table, -/obj/item/paper/pamphlet/gateway{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/paper/pamphlet/centcom{ - pixel_x = 8; - pixel_y = 1 - }, -/obj/item/paper_bin{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = -7 - }, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"KS" = ( -/obj/item/stack/rods{ - pixel_x = 7; - pixel_y = -9 - }, -/turf/open/floor/plasteel/tech/techmaint{ - planetary_atmos = 1 - }, -/area/hangar) -"LE" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/dark, -/area/hangar) -"LH" = ( -/turf/template_noop, -/area/template_noop) -"LK" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"Mg" = ( -/obj/structure/girder/displaced, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Mt" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"Mu" = ( -/turf/open/floor/plating/asteroid/iceberg, -/area/hangar) -"Nt" = ( -/turf/open/floor/plasteel/tech/techmaint{ - planetary_atmos = 1 - }, -/area/hangar) -"Ny" = ( -/obj/effect/landmark/outpost/elevator, -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"NE" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/spawner/lootdrop/glowstick{ - pixel_x = 5; - pixel_y = 9 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"NX" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"Og" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/slab_2, -/area/hangar) -"OI" = ( -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"OZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Pf" = ( -/obj/structure/closet/crate, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/turf/open/floor/plating{ - icon_state = "foam_plating"; - planetary_atmos = 1 - }, -/area/hangar) -"Po" = ( -/obj/item/flashlight/lantern{ - pixel_x = 7 - }, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"Pu" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plating{ - icon_state = "foam_plating"; - planetary_atmos = 1 - }, -/area/hangar) -"Qb" = ( -/obj/structure/flora/rock/icy, -/turf/open/water/beach/deep, -/area/hangar) -"Qr" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/kirbyplants{ - icon_state = "plant-25"; - pixel_x = 11 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Qy" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/caution{ - dir = 1 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"Rw" = ( -/obj/effect/landmark/outpost/hangar_dock, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"RA" = ( -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/structure/flora/rock/pile/icy{ - pixel_y = -5; - pixel_x = 4 - }, -/turf/open/water/beach/deep, -/area/hangar) -"RS" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"So" = ( -/obj/structure/flora/rock/icy{ - pixel_x = 5; - pixel_y = 5 - }, -/turf/open/water/beach/deep, -/area/hangar) -"Td" = ( -/obj/effect/decal/cleanable/garbage, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Th" = ( -/obj/structure/fence/corner{ - dir = 9 - }, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"Tw" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Tz" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner, -/turf/open/water/beach/deep, -/area/hangar) -"Us" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/trash/boritos, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"UB" = ( -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"UO" = ( -/obj/structure/railing{ - dir = 6; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 6 - }, -/turf/open/water/beach/deep, -/area/hangar) -"UT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/grille, -/turf/open/floor/plating{ - icon_state = "platingdmg2"; - planetary_atmos = 1 - }, -/area/hangar) -"Vc" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/structure/closet/crate/trashcart, -/obj/item/trash/can/food/beans{ - pixel_x = 4; - pixel_y = -5 - }, -/obj/item/trash/can/food/peaches, -/obj/item/trash/can/food, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Vj" = ( -/obj/structure/fence{ - dir = 1 - }, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"Vk" = ( -/obj/machinery/door/airlock, -/obj/effect/landmark/outpost/elevator_machine, -/obj/structure/lattice/catwalk, -/turf/open/floor/engine, -/area/hangar) -"Vy" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"VA" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Wo" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/firelock_frame, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Xp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"Xx" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Xz" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"XF" = ( -/turf/open/water/beach/deep, -/area/hangar) -"Yt" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/stack/cable_coil/cut/yellow, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"YA" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"YN" = ( -/obj/structure/marker_beacon{ - picked_color = "Teal" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"YO" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plasteel/dark, -/area/hangar) -"YX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"Zi" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"ZE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -9; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/drinks/mug/tea{ - pixel_y = 9; - pixel_x = 5 - }, -/obj/machinery/light/floor/hangar, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"ZX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) - -(1,1,1) = {" -LH -LH -LH -LH -LH -LH -JN -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -LH -LH -LH -LH -LH -LH -LH -LH -"} -(2,1,1) = {" -LH -LH -LH -JN -JN -JN -JN -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -JN -JN -JN -JN -JN -LH -LH -LH -LH -"} -(3,1,1) = {" -LH -LH -JN -JN -DK -JN -lJ -oj -oj -OI -oj -oj -oj -oj -OI -oj -oj -oj -oj -OI -oj -oj -oj -oj -OI -oj -oj -oj -oj -OI -oj -oj -oj -oj -OI -oj -oj -oj -oj -OI -oj -oj -oj -oj -OI -oj -oj -zd -JN -DK -DK -JN -LH -LH -LH -LH -"} -(4,1,1) = {" -LH -LH -JN -DK -DK -DK -mH -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -Kv -DK -DK -DK -JN -LH -LH -LH -LH -"} -(5,1,1) = {" -LH -LH -JN -DK -DK -DK -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Rw -pt -DK -DK -DK -JN -LH -LH -LH -LH -"} -(6,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -DK -DK -JN -JN -LH -LH -LH -"} -(7,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -pt -pz -DK -DK -DK -JN -LH -LH -LH -"} -(8,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -JN -DK -DK -JN -JN -LH -LH -"} -(9,1,1) = {" -LH -LH -JN -DK -DK -pz -tN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Et -zY -DK -DK -DK -DK -JN -LH -LH -"} -(10,1,1) = {" -LH -JN -JN -DK -DK -pz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -DK -DK -DK -DK -JN -LH -LH -"} -(11,1,1) = {" -LH -JN -DK -DK -DK -pz -oX -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Xx -pz -DK -DK -DK -DK -JN -JN -LH -"} -(12,1,1) = {" -JN -JN -DK -DK -DK -fn -oX -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -pt -pz -FC -DK -DK -DK -DK -JN -LH -"} -(13,1,1) = {" -JN -DK -DK -DK -Aa -Iw -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -Us -DK -DK -DK -DK -JN -LH -"} -(14,1,1) = {" -JN -DK -DK -DK -Aa -Mg -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -JZ -Qr -DK -DK -DK -JN -LH -"} -(15,1,1) = {" -JN -DK -DK -DK -Aa -xX -tN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Et -zY -IB -hb -DK -DK -DK -JN -JN -"} -(16,1,1) = {" -JN -DK -DK -AI -AT -dd -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -Th -Vj -JN -DK -DK -DK -JN -"} -(17,1,1) = {" -JN -DK -DK -oC -Jq -Iw -FY -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -pt -zY -oq -HY -jk -DK -DK -DK -JN -"} -(18,1,1) = {" -JN -JN -JN -wJ -Nt -ya -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -oq -HY -XF -DK -DK -DK -JN -"} -(19,1,1) = {" -JN -DK -DK -NE -KS -Iw -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -oq -Km -XF -XF -DK -DK -JN -"} -(20,1,1) = {" -JN -DK -DK -Wo -vG -Iw -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -oq -HY -XF -XF -DK -DK -JN -"} -(21,1,1) = {" -JN -DK -DK -Yt -UT -dd -tN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Et -zY -oq -HY -HY -XF -DK -DK -JN -"} -(22,1,1) = {" -JN -DK -DK -DK -KJ -Iw -FY -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -pt -pz -oq -hG -Km -XF -DK -DK -JN -"} -(23,1,1) = {" -JN -DK -DK -DK -DK -Xz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -DS -UB -AO -JN -DK -DK -JN -"} -(24,1,1) = {" -JN -JN -DK -DK -DK -zY -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -oq -UB -UB -DK -DK -DK -JN -"} -(25,1,1) = {" -LH -JN -JN -DK -DK -zY -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -oq -UB -DK -DK -DK -JN -JN -"} -(26,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -oq -Po -DK -DK -DK -JN -LH -"} -(27,1,1) = {" -LH -LH -JN -DK -DK -pz -tN -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -Et -zY -oq -DK -DK -DK -DK -JN -LH -"} -(28,1,1) = {" -LH -LH -JN -DK -DK -zY -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -oq -DK -DK -DK -JN -JN -LH -"} -(29,1,1) = {" -LH -LH -JN -DK -JN -zY -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -JN -DK -DK -DK -JN -LH -LH -"} -(30,1,1) = {" -LH -LH -JN -DK -DK -ml -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -DK -DK -DK -JN -JN -LH -LH -"} -(31,1,1) = {" -LH -LH -JN -DK -DK -iG -oX -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Xx -pz -DK -DK -DK -JN -LH -LH -LH -"} -(32,1,1) = {" -LH -LH -JN -DK -JN -iG -FY -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -Xx -pz -DK -DK -DK -JN -LH -LH -LH -"} -(33,1,1) = {" -LH -LH -JN -DK -JN -iG -cm -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Tw -pz -DK -DK -DK -JN -LH -LH -LH -"} -(34,1,1) = {" -LH -LH -JN -DK -DK -iG -oX -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Xx -pz -JN -DK -JN -JN -LH -LH -LH -"} -(35,1,1) = {" -LH -LH -JN -DK -DK -ht -oX -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -DK -DK -JN -LH -LH -LH -LH -"} -(36,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -DK -DK -JN -JN -LH -LH -LH -"} -(37,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -Xx -zY -DK -DK -DK -JN -JN -LH -LH -"} -(38,1,1) = {" -LH -LH -JN -DK -DK -pz -oX -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Xx -hz -DK -DK -DK -DK -JN -LH -LH -"} -(39,1,1) = {" -LH -LH -JN -DK -DK -pz -cm -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -nK -YO -Mu -DK -DK -DK -JN -LH -LH -"} -(40,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Xx -YO -Mu -Mu -DK -DK -JN -LH -LH -"} -(41,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -YO -Mu -Mu -DK -DK -JN -LH -LH -"} -(42,1,1) = {" -LH -LH -JN -DK -DK -zY -FY -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -pt -YO -Mu -Mu -DK -DK -JN -LH -LH -"} -(43,1,1) = {" -LH -LH -JN -DK -DK -zY -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -la -Mu -DK -DK -DK -JN -LH -LH -"} -(44,1,1) = {" -LH -JN -JN -DK -DK -kF -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Xx -la -Mu -DK -DK -DK -JN -LH -LH -"} -(45,1,1) = {" -LH -JN -DK -DK -DK -DK -It -wH -wH -YA -YA -fR -YA -gN -gN -gN -gN -Hg -gN -gN -gN -gN -gN -fR -YA -YA -gN -gN -gN -Hg -gN -gN -gN -aF -aF -IF -aF -gN -gN -gN -gN -Hg -gN -gN -gN -aF -xk -qq -jp -JN -DK -DK -DK -JN -LH -LH -"} -(46,1,1) = {" -LH -JN -DK -DK -DK -DK -DK -DK -DK -pz -zY -pz -pz -yb -pz -pz -pz -pz -pz -sW -jw -LE -pz -pz -pz -pz -pz -pz -pz -pz -pz -pz -zY -zY -pz -pz -pz -zY -zY -zY -pz -pz -pz -pz -zY -zY -pz -pz -DK -DK -DK -DK -JN -JN -LH -LH -"} -(47,1,1) = {" -LH -JN -DK -DK -XF -XF -DK -DK -DK -DK -dZ -Fy -DK -DK -DK -DK -DK -DK -DK -JN -JN -pz -pz -pz -pz -pz -pz -pz -jw -pz -pz -zY -pz -pz -pz -DK -DK -JN -DK -DK -JN -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -JN -JN -LH -LH -LH -"} -(48,1,1) = {" -LH -JN -DK -DK -XF -XF -XF -XF -XF -hw -ri -pa -DK -DK -DK -DK -DK -DK -DK -DK -JN -Vc -Ew -Mt -ph -bg -Ew -qT -JN -JN -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -JN -LH -LH -LH -LH -"} -(49,1,1) = {" -LH -JN -DK -DK -XF -XF -XF -XF -XF -hw -FI -Zi -RA -XF -XF -Qb -XF -DK -DK -DK -JN -uf -vu -YX -hA -wu -Pf -RS -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -JN -JN -JN -JN -JN -JN -JN -JN -JN -LH -LH -LH -LH -"} -(50,1,1) = {" -LH -JN -DK -DK -DK -XF -XF -XF -Tz -UO -oU -Zi -EJ -XF -XF -XF -XF -XF -DK -DK -JN -HP -hO -IK -hj -ce -hO -Td -DK -DK -DK -JN -JN -JN -JN -JN -JN -JN -JN -JN -JN -JN -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(51,1,1) = {" -LH -JN -DK -DK -DK -DK -lP -lP -UO -kf -zL -rB -EJ -XF -XF -XF -XF -jk -DK -DK -JN -qx -VA -ZX -hA -NX -hO -Js -DK -JN -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(52,1,1) = {" -LH -JN -JN -BI -pF -KL -rH -rH -mg -EC -Vy -iL -EJ -XF -XF -XF -XF -DK -DK -DK -JN -Cw -OZ -yU -hj -vy -VA -IE -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(53,1,1) = {" -LH -LH -JN -qy -JZ -JN -iS -Og -ZE -Br -Zi -DK -DK -DK -So -XF -XF -DK -DK -DK -JN -Pu -FT -qG -Bb -Qy -hO -wc -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(54,1,1) = {" -LH -LH -JN -JN -JN -JN -JN -JN -JN -Fl -Zi -se -DK -DK -DK -XF -DK -DK -DK -JN -JN -JN -lr -ws -ec -wm -vF -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(55,1,1) = {" -LH -LH -LH -LH -JN -GI -GI -Ny -Vk -ri -pa -Xp -iA -JN -DK -DK -DK -DK -JN -JN -JN -JN -JN -JN -JN -JN -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(56,1,1) = {" -LH -LH -LH -LH -JN -GI -GI -GI -Vk -Gm -hB -Xp -cT -JN -DK -DK -DK -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(57,1,1) = {" -LH -LH -LH -LH -JN -GI -GI -GI -Vk -oU -KN -Xp -ls -JN -JN -JN -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(58,1,1) = {" -LH -LH -LH -LH -JN -JN -JN -JN -JN -lf -KQ -LK -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(59,1,1) = {" -LH -LH -LH -LH -LH -LH -LH -LH -JN -JN -JN -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} diff --git a/_maps/outpost/hangar/nt_asteroid_56x20.dmm b/_maps/outpost/hangar/nt_asteroid_56x20.dmm deleted file mode 100644 index 9dac115ca5e..00000000000 --- a/_maps/outpost/hangar/nt_asteroid_56x20.dmm +++ /dev/null @@ -1,3768 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ai" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"an" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"at" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"aA" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"aF" = ( -/obj/structure/bookcase/random/fiction, -/obj/structure/sign/plaques/deempisi{ - pixel_y = 22; - pixel_x = -8 - }, -/obj/item/toy/plush/hornet{ - pixel_x = 9; - pixel_y = 26 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"aR" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"aU" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"bp" = ( -/obj/item/stack/rods{ - pixel_x = 7; - pixel_y = -9 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg2"; - planetary_atmos = 1 - }, -/area/hangar) -"bt" = ( -/obj/structure/chair/sofa/brown/left/directional/west, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"bu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"bP" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ce" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"cz" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"cP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/carpet/red, -/area/hangar) -"df" = ( -/obj/structure/marker_beacon{ - picked_color = "Teal" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"dj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/chair/office{ - dir = 8 - }, -/turf/open/floor/carpet/red, -/area/hangar) -"do" = ( -/obj/structure/chair/sofa/brown/right/directional/west, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"dr" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/water/beach/deep, -/area/hangar) -"eq" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"eE" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"eP" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"eW" = ( -/obj/effect/decal/cleanable/dirt, -/turf/closed/mineral/random/snow, -/area/hangar) -"fb" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"fn" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ft" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/moth/meth{ - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"fM" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"fQ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"hl" = ( -/obj/machinery/door/airlock, -/obj/effect/landmark/outpost/elevator_machine, -/obj/structure/lattice/catwalk, -/turf/open/floor/engine, -/area/hangar) -"hz" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21"; - pixel_x = 6; - pixel_y = 17 - }, -/obj/structure/sign/poster/retro/random{ - pixel_x = 32 - }, -/turf/open/floor/carpet/red, -/area/hangar) -"ik" = ( -/obj/structure/fireplace, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia{ - planetary_atmos = 1 - }, -/area/hangar) -"il" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"jd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"je" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"ju" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"jD" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"kx" = ( -/obj/machinery/computer/cargo/express{ - dir = 8; - pixel_x = 7 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/garbage{ - pixel_x = -3; - pixel_y = -10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"kL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red, -/area/hangar) -"lD" = ( -/obj/structure/chair/comfy{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet/green{ - planetary_atmos = 1 - }, -/area/hangar) -"lE" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"lS" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"lT" = ( -/obj/structure/table, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/siding/wood, -/obj/item/newspaper{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/newspaper{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/machinery/jukebox/boombox{ - pixel_y = 3; - pixel_x = 4 - }, -/turf/open/floor/carpet/green{ - planetary_atmos = 1 - }, -/area/hangar) -"mh" = ( -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"mu" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_x = 5; - pixel_y = 14 - }, -/obj/item/storage/photo_album/library{ - pixel_y = -2; - pixel_x = -4 - }, -/turf/open/floor/carpet/red, -/area/hangar) -"mX" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"nl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"oi" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"oO" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"oU" = ( -/obj/structure/firelock_frame, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"oY" = ( -/obj/machinery/vending/coffee{ - pixel_x = 5 - }, -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_x = -11 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/elevator_call_button{ - pixel_y = 24; - pixel_x = -10 - }, -/obj/effect/landmark/outpost/elevator_machine, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"po" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/hangar) -"pr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_x = -32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"qa" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"qb" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"qi" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"rn" = ( -/obj/structure/grille/broken, -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/toy/plush/beeplushie{ - pixel_y = -1; - pixel_x = 2 - }, -/turf/open/floor/plating{ - icon_state = "foam_plating"; - planetary_atmos = 1 - }, -/area/hangar) -"rq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"rB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/comfy/grey/directional/north, -/turf/open/floor/carpet/red, -/area/hangar) -"sd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"se" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"sg" = ( -/obj/structure/bookcase/random/fiction, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"si" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/hangar) -"sC" = ( -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"sF" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"sT" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"tc" = ( -/obj/machinery/door/poddoor/multi_tile/four_tile_ver, -/turf/closed/indestructible/reinforced, -/area/hangar) -"tC" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"tW" = ( -/obj/effect/landmark/outpost/elevator, -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"ut" = ( -/obj/structure/rack, -/obj/item/poster/random_official{ - pixel_x = 2; - pixel_y = 9 - }, -/obj/item/poster/random_official{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/destTagger{ - pixel_x = -5 - }, -/obj/item/export_scanner{ - pixel_x = 6; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"uB" = ( -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/water/beach/deep, -/area/hangar) -"uX" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vt" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vA" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"wx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/comfy/grey/directional/east, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"xe" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"xE" = ( -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"xK" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"yh" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor/hole, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"yK" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/light/broken/directional/south, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"yT" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/toy/cards/deck{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/toy/cards/deck/kotahi{ - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/toy/plush/moth{ - pixel_y = -7; - pixel_x = -8 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"yV" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"yY" = ( -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"zj" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"zr" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"zT" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"zX" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ab" = ( -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"BA" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red, -/area/hangar) -"Cg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice{ - pixel_x = -6 - }, -/obj/item/toy/figure/lawyer{ - pixel_x = 3; - pixel_y = 7 - }, -/obj/item/toy/cards/deck/cas, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"CJ" = ( -/obj/structure/chair/comfy/grey/directional/east, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"CK" = ( -/obj/structure/grille, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"CV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"CW" = ( -/obj/structure/statue/snow/snowlegion, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"Df" = ( -/obj/effect/decal/cleanable/oil, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Dy" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"EQ" = ( -/obj/effect/landmark/outpost/hangar_dock, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Fi" = ( -/turf/open/water/beach/deep, -/area/hangar) -"Fm" = ( -/obj/machinery/door/airlock/outpost{ - req_one_access_txt = "109" - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Fz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/outpost/hangar_numbers, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"FB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"FF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/red, -/area/hangar) -"FN" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"FQ" = ( -/turf/closed/mineral/random/snow, -/area/hangar) -"Gc" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Gf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Gl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Hi" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Im" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/concrete/tiles, -/area/hangar) -"Io" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Iu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/tiles, -/area/hangar) -"ID" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"JD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/tiles, -/area/hangar) -"JM" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red, -/area/hangar) -"JX" = ( -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Kg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Kp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"KV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/vending/cigarette{ - pixel_x = 5 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Lg" = ( -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Ls" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"LT" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/hangar) -"LY" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/girder, -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"MI" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"MP" = ( -/turf/closed/indestructible/reinforced, -/area/hangar) -"MZ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/structure/girder/displaced, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Na" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Nt" = ( -/obj/machinery/door/airlock, -/obj/effect/landmark/outpost/elevator_machine, -/obj/effect/decal/cleanable/dirt, -/obj/structure/lattice/catwalk, -/turf/open/floor/engine, -/area/hangar) -"Nu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"NP" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ph" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/carpet/red, -/area/hangar) -"Qi" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Qk" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/tiles, -/area/hangar) -"Rr" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/concrete/tiles, -/area/hangar) -"RO" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"RV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/fluff/hedge, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Sj" = ( -/obj/structure/railing{ - dir = 10 - }, -/turf/open/water/beach/deep, -/area/hangar) -"Sw" = ( -/obj/structure/table, -/obj/item/paper/pamphlet/gateway{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/paper/pamphlet/centcom{ - pixel_x = 8; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"Sx" = ( -/turf/template_noop, -/area/template_noop) -"Sz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/tiles, -/area/hangar) -"SA" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"SU" = ( -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Tg" = ( -/obj/structure/girder, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"TD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"TY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red, -/area/hangar) -"Ub" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Uu" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ux" = ( -/obj/structure/noticeboard{ - pixel_y = 31 - }, -/obj/item/storage/box/matches, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia{ - planetary_atmos = 1 - }, -/area/hangar) -"UA" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"VM" = ( -/obj/structure/flora/rock/icy, -/turf/open/water/beach/deep, -/area/hangar) -"Wp" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/spawner/lootdrop/glowstick{ - pixel_x = 5; - pixel_y = 9 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Xm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/structure/sign/poster/official/fruit_bowl{ - pixel_y = 32 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Xp" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/turf/open/floor/concrete/tiles, -/area/hangar) -"XQ" = ( -/obj/structure/grille, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"XT" = ( -/obj/structure/rack{ - color = "#A47449"; - pixel_y = 11 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/grown/log{ - pixel_x = -7; - pixel_y = 20 - }, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 20 - }, -/obj/item/grown/log{ - pixel_y = 25 - }, -/obj/item/statuebust{ - pixel_x = 6 - }, -/turf/open/floor/plasteel/sepia{ - planetary_atmos = 1 - }, -/area/hangar) -"Yn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/tiles, -/area/hangar) -"YD" = ( -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"YI" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"YN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"ZX" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) - -(1,1,1) = {" -Sx -Sx -Sx -Sx -MP -MP -MP -MP -tc -MP -MP -MP -tc -MP -MP -MP -tc -MP -MP -MP -tc -MP -MP -MP -tc -MP -Sx -Sx -Sx -Sx -"} -(2,1,1) = {" -Sx -Sx -Sx -MP -MP -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -MP -MP -Sx -Sx -Sx -"} -(3,1,1) = {" -MP -MP -MP -MP -eP -SU -SU -sC -SU -SU -SU -SU -sC -SU -SU -SU -SU -sC -SU -SU -SU -SU -sC -SU -SU -xe -MP -MP -MP -MP -"} -(4,1,1) = {" -MP -FQ -FQ -FQ -eP -se -se -se -se -se -se -se -se -se -se -se -se -se -se -se -se -se -se -se -se -xe -FQ -FQ -FQ -MP -"} -(5,1,1) = {" -MP -FQ -FQ -Ub -fQ -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -EQ -uX -yY -FQ -FQ -MP -"} -(6,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -FQ -FQ -MP -"} -(7,1,1) = {" -MP -FQ -FQ -bP -Uu -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -lE -yY -FQ -FQ -MP -"} -(8,1,1) = {" -MP -FQ -FQ -eq -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -aR -MP -FQ -MP -"} -(9,1,1) = {" -MP -FQ -FQ -Ub -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -qi -yY -FQ -FQ -MP -"} -(10,1,1) = {" -MP -FQ -MP -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -FQ -FQ -MP -"} -(11,1,1) = {" -MP -FQ -FQ -bP -fQ -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -uX -aR -FQ -FQ -MP -"} -(12,1,1) = {" -MP -FQ -FQ -eq -Uu -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -lE -yY -FQ -FQ -MP -"} -(13,1,1) = {" -MP -FQ -FQ -SA -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(14,1,1) = {" -MP -FQ -FQ -vt -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -FB -FQ -FQ -MP -"} -(15,1,1) = {" -MP -FQ -FQ -vt -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -aR -FQ -FQ -MP -"} -(16,1,1) = {" -MP -FQ -FQ -eq -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -qi -yY -FQ -FQ -MP -"} -(17,1,1) = {" -MP -FQ -FQ -SA -fQ -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -uX -yY -FQ -FQ -MP -"} -(18,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -MP -FQ -MP -"} -(19,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -FQ -FQ -MP -"} -(20,1,1) = {" -MP -FQ -FQ -yV -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(21,1,1) = {" -MP -FQ -FQ -Ub -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -qi -aR -FQ -FQ -MP -"} -(22,1,1) = {" -MP -FQ -FQ -vt -Uu -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -fb -FB -FQ -FQ -MP -"} -(23,1,1) = {" -MP -FQ -FQ -vt -fQ -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -uX -FB -FQ -FQ -MP -"} -(24,1,1) = {" -MP -FQ -FQ -eq -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(25,1,1) = {" -MP -FQ -FQ -SA -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(26,1,1) = {" -MP -FQ -FQ -bP -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(27,1,1) = {" -MP -FQ -MP -vt -il -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -fb -yY -FQ -FQ -MP -"} -(28,1,1) = {" -MP -FQ -FQ -yV -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -FQ -FQ -MP -"} -(29,1,1) = {" -MP -FQ -FQ -Ub -fQ -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -uX -aR -FQ -FQ -MP -"} -(30,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -aR -FQ -FQ -MP -"} -(31,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(32,1,1) = {" -MP -FQ -FQ -eq -il -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -lE -yY -FQ -FQ -MP -"} -(33,1,1) = {" -MP -FQ -FQ -Ub -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -aR -FQ -FQ -MP -"} -(34,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -aR -MP -FQ -MP -"} -(35,1,1) = {" -MP -FQ -FQ -vt -fQ -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -uX -aR -FQ -FQ -MP -"} -(36,1,1) = {" -MP -FQ -FQ -yV -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(37,1,1) = {" -MP -FQ -FQ -Ub -Uu -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -lE -yY -FQ -FQ -MP -"} -(38,1,1) = {" -MP -FQ -MP -vt -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(39,1,1) = {" -MP -FQ -FQ -vt -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -FQ -FQ -MP -"} -(40,1,1) = {" -MP -FQ -FQ -yV -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -MP -MP -MP -"} -(41,1,1) = {" -MP -FQ -FQ -Ub -fQ -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -uX -yY -Fm -yY -MP -"} -(42,1,1) = {" -MP -FQ -FQ -vt -Uu -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -lE -sT -MP -MP -MP -"} -(43,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -JX -FQ -FQ -MP -"} -(44,1,1) = {" -MP -FQ -FQ -yV -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -JX -FQ -FQ -MP -"} -(45,1,1) = {" -MP -FQ -FQ -Ub -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -JX -FQ -FQ -MP -"} -(46,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yh -FQ -FQ -MP -"} -(47,1,1) = {" -MP -FQ -FQ -vt -fQ -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -uX -JX -MP -FQ -MP -"} -(48,1,1) = {" -MP -FQ -FQ -yV -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -JX -FQ -FQ -MP -"} -(49,1,1) = {" -MP -FQ -FQ -Ub -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -JX -FQ -FQ -MP -"} -(50,1,1) = {" -MP -FQ -FQ -vt -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -MZ -yh -FQ -FQ -MP -"} -(51,1,1) = {" -MP -FQ -FQ -vt -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -JX -FQ -FQ -MP -"} -(52,1,1) = {" -MP -FQ -FQ -yV -Uu -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -fb -ZX -FQ -FQ -MP -"} -(53,1,1) = {" -MP -FQ -FQ -Ub -jD -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -uX -yY -FQ -FQ -MP -"} -(54,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(55,1,1) = {" -MP -FQ -MP -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(56,1,1) = {" -MP -FQ -FQ -yV -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -oU -cz -MP -"} -(57,1,1) = {" -MP -FQ -FQ -Ub -il -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -fb -yY -Tg -yK -MP -"} -(58,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -bp -Wp -MP -"} -(59,1,1) = {" -MP -FQ -FQ -vt -fQ -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -uX -yY -Tg -rn -MP -"} -(60,1,1) = {" -MP -FQ -FQ -yV -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -Tg -XQ -MP -"} -(61,1,1) = {" -MP -FQ -FQ -yY -lS -fn -NP -zj -sd -oO -at -aU -Na -tC -zr -ID -eE -RO -zj -NP -bu -zj -oO -Dy -RO -vA -yY -LY -FQ -MP -"} -(62,1,1) = {" -MP -FQ -MP -MP -yY -yY -yY -yY -yY -aR -Gc -MI -Df -fM -kx -ut -zX -aR -yY -aR -aR -yY -yY -yY -FB -yY -yY -FQ -FQ -MP -"} -(63,1,1) = {" -MP -FQ -MP -MP -MP -MP -ft -Lg -an -FQ -FQ -MP -MP -CK -CK -CK -MP -FQ -FQ -ju -Lg -zT -FQ -FQ -FQ -FQ -FQ -FQ -FQ -MP -"} -(64,1,1) = {" -MP -FQ -FQ -MP -CW -MP -nl -Io -Qi -jd -FQ -FQ -MP -FQ -FQ -FQ -MP -FQ -Gl -Hi -Io -zT -RV -FQ -FQ -FQ -FQ -FQ -FQ -MP -"} -(65,1,1) = {" -MP -FQ -FQ -MP -MP -MP -YN -xK -Kg -ce -jd -FQ -MP -CK -CK -CK -MP -Gl -qb -Io -sF -Nu -YI -je -FQ -FQ -MP -MP -MP -MP -"} -(66,1,1) = {" -MP -FQ -FQ -Fi -Fi -po -Sj -YN -oi -Io -ce -TD -pr -TD -TD -TD -Kp -Hi -Lg -sF -Nu -mX -xE -aA -FQ -FQ -MP -Sx -Sx -Sx -"} -(67,1,1) = {" -MP -FQ -FQ -FQ -Fi -dr -po -Sj -YN -oi -Io -Io -Lg -Lg -Lg -Lg -Lg -Io -FN -qa -xE -LT -mX -aA -FQ -FQ -MP -Sx -Sx -Sx -"} -(68,1,1) = {" -MP -FQ -FQ -FQ -Fi -Fi -Fi -po -Sj -YN -Gf -Ls -CV -CV -Gf -Ls -Gf -CV -qa -KV -CJ -xE -si -yT -Cg -FQ -MP -Sx -Sx -Sx -"} -(69,1,1) = {" -MP -MP -FQ -FQ -FQ -Fi -Fi -Fi -po -uB -uB -MP -FQ -eW -FQ -MP -Qk -Io -Sz -MP -Xm -wx -TY -kL -cP -MP -MP -Sx -Sx -Sx -"} -(70,1,1) = {" -Sx -MP -MP -FQ -MP -VM -Fi -Fi -dr -Fi -MP -MP -MP -MP -MP -MP -Xp -Io -Yn -MP -MP -Ux -FF -JM -Ph -sg -MP -Sx -Sx -Sx -"} -(71,1,1) = {" -Sx -Sx -MP -MP -MP -MP -Fi -Fi -Fi -UA -MP -YD -YD -tW -hl -JD -Im -Io -Sz -lD -MP -ik -rB -JM -mu -mh -MP -Sx -Sx -Sx -"} -(72,1,1) = {" -Sx -Sx -Sx -Sx -Sx -MP -MP -MP -MP -MP -MP -YD -YD -YD -Nt -Io -Io -Fz -Sz -lT -MP -XT -rq -BA -dj -mh -MP -Sx -Sx -Sx -"} -(73,1,1) = {" -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -MP -YD -YD -YD -Nt -Iu -Iu -Iu -Rr -lD -MP -MP -aF -hz -mh -MP -MP -Sx -Sx -Sx -"} -(74,1,1) = {" -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -MP -MP -MP -MP -MP -oY -do -bt -Sw -MP -MP -MP -MP -MP -MP -MP -Sx -Sx -Sx -Sx -"} -(75,1,1) = {" -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -MP -MP -MP -MP -MP -MP -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -"} diff --git a/_maps/outpost/hangar/nt_asteroid_56x40.dmm b/_maps/outpost/hangar/nt_asteroid_56x40.dmm deleted file mode 100644 index a3018e28aa3..00000000000 --- a/_maps/outpost/hangar/nt_asteroid_56x40.dmm +++ /dev/null @@ -1,5468 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ae" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"ak" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/comfy/grey/directional/north, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"au" = ( -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"aE" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"ba" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"bx" = ( -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"bS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/comfy/grey/directional/east, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"ca" = ( -/obj/effect/landmark/outpost/hangar_dock, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"cj" = ( -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"dQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"ee" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"ei" = ( -/obj/machinery/door/airlock/outpost{ - req_access_txt = "109" - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ew" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"eA" = ( -/obj/machinery/door/airlock, -/obj/effect/landmark/outpost/elevator_machine, -/obj/structure/lattice/catwalk, -/turf/open/floor/engine, -/area/hangar) -"eH" = ( -/turf/closed/indestructible/reinforced, -/area/hangar) -"eS" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"fd" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"fh" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"fv" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"hB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/moth/meth{ - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"hG" = ( -/obj/effect/decal/cleanable/oil, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"hL" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"il" = ( -/obj/effect/decal/cleanable/dirt, -/turf/closed/mineral/random/snow, -/area/hangar) -"iT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"jj" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"jF" = ( -/obj/structure/marker_beacon{ - picked_color = "Teal" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"jI" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor/hole, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"jK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_x = -32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"kK" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"lk" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"lv" = ( -/turf/open/floor/plasteel/tech, -/area/hangar) -"lF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"lI" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"lN" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"lS" = ( -/obj/structure/railing{ - dir = 10 - }, -/turf/open/water/beach/deep, -/area/hangar) -"lY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"lZ" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"mx" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"mK" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"nD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"nM" = ( -/obj/machinery/vending/coffee{ - pixel_x = 5 - }, -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_x = -11 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/elevator_call_button{ - pixel_y = 24; - pixel_x = -10 - }, -/obj/effect/landmark/outpost/elevator_machine, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"oa" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"op" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"oJ" = ( -/turf/open/space/basic, -/area/hangar) -"oL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/outpost/hangar_numbers, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"pp" = ( -/obj/structure/bookcase/random/fiction, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"pK" = ( -/obj/structure/chair/sofa/brown/left/directional/west, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"qh" = ( -/obj/structure/bookcase/random/fiction, -/obj/structure/sign/plaques/deempisi{ - pixel_y = 22; - pixel_x = -8 - }, -/obj/item/toy/plush/hornet{ - pixel_x = 9; - pixel_y = 26 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"qD" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"qK" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/light/broken/directional/south, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"qR" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/water/beach/deep, -/area/hangar) -"qT" = ( -/obj/effect/landmark/outpost/elevator, -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"rf" = ( -/obj/structure/noticeboard{ - pixel_y = 31 - }, -/obj/item/storage/box/matches, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia{ - planetary_atmos = 1 - }, -/area/hangar) -"rn" = ( -/obj/structure/fireplace, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia{ - planetary_atmos = 1 - }, -/area/hangar) -"rw" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"rT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice{ - pixel_x = -6 - }, -/obj/item/toy/figure/lawyer{ - pixel_x = 3; - pixel_y = 7 - }, -/obj/item/toy/cards/deck/cas, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"rX" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"sn" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/structure/girder/displaced, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"sE" = ( -/obj/structure/chair/comfy{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet/green{ - planetary_atmos = 1 - }, -/area/hangar) -"tD" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_x = 5; - pixel_y = 14 - }, -/obj/item/storage/photo_album/library{ - pixel_y = -2; - pixel_x = -4 - }, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"uz" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"uO" = ( -/obj/machinery/door/poddoor/multi_tile/four_tile_ver, -/turf/closed/indestructible/reinforced, -/area/hangar) -"uV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"vc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"vg" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vi" = ( -/obj/item/stack/rods{ - pixel_x = 7; - pixel_y = -9 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg2"; - planetary_atmos = 1 - }, -/area/hangar) -"wk" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"wm" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"wp" = ( -/turf/template_noop, -/area/template_noop) -"xo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"xp" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"xW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"yi" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"yL" = ( -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"zl" = ( -/obj/structure/chair/sofa/brown/right/directional/west, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"Ag" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Ai" = ( -/obj/structure/grille/broken, -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/toy/plush/beeplushie{ - pixel_y = -1; - pixel_x = 2 - }, -/turf/open/floor/plating{ - icon_state = "foam_plating"; - planetary_atmos = 1 - }, -/area/hangar) -"AT" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"AW" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Bp" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"BX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/fluff/hedge, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Cl" = ( -/obj/machinery/door/airlock, -/obj/effect/landmark/outpost/elevator_machine, -/obj/effect/decal/cleanable/dirt, -/obj/structure/lattice/catwalk, -/turf/open/floor/engine, -/area/hangar) -"Cw" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Cx" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Df" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Dk" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Dr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/vending/cigarette{ - pixel_x = 5 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"DT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ed" = ( -/obj/machinery/computer/cargo/express{ - dir = 8; - pixel_x = 7 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/garbage{ - pixel_x = -3; - pixel_y = -10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"EZ" = ( -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"Fs" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"FK" = ( -/obj/structure/firelock_frame, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"FP" = ( -/obj/structure/table, -/obj/item/paper/pamphlet/gateway{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/paper/pamphlet/centcom{ - pixel_x = 8; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"FS" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Gj" = ( -/obj/structure/statue/snow/snowlegion, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"GW" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Hs" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"HD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ib" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Ig" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/toy/cards/deck{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/toy/cards/deck/kotahi{ - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/toy/plush/moth{ - pixel_y = -7; - pixel_x = -8 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Il" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/hangar) -"Io" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Is" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/girder, -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Iy" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"IH" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"IV" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ji" = ( -/obj/structure/grille, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"JA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"JM" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Kf" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ky" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"KQ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"KT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/spawner/lootdrop/glowstick{ - pixel_x = 5; - pixel_y = 9 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Lc" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"LD" = ( -/turf/open/water/beach/deep, -/area/hangar) -"LM" = ( -/obj/structure/chair/comfy/grey/directional/east, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Mf" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Mh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"MN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/structure/sign/poster/official/fruit_bowl{ - pixel_y = 32 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Nt" = ( -/obj/structure/flora/rock/icy, -/turf/open/water/beach/deep, -/area/hangar) -"NC" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"NN" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"NV" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Ob" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"On" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"OB" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"OC" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"OL" = ( -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Pg" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Pi" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Pj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"PQ" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21"; - pixel_x = 6; - pixel_y = 17 - }, -/obj/structure/sign/poster/retro/random{ - pixel_x = 32 - }, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"Rd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"Rh" = ( -/obj/structure/table, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/siding/wood, -/obj/item/newspaper{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/newspaper{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/machinery/jukebox/boombox{ - pixel_y = 3; - pixel_x = 4 - }, -/turf/open/floor/carpet/green{ - planetary_atmos = 1 - }, -/area/hangar) -"Rn" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ry" = ( -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Rz" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/hangar) -"RX" = ( -/obj/structure/girder, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Sc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Sh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Sq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/hangar) -"Sw" = ( -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/water/beach/deep, -/area/hangar) -"SU" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"SY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Tt" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/chair/office{ - dir = 8 - }, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"TU" = ( -/obj/structure/rack{ - color = "#A47449"; - pixel_y = 11 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/grown/log{ - pixel_x = -7; - pixel_y = 20 - }, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 20 - }, -/obj/item/grown/log{ - pixel_y = 25 - }, -/obj/item/statuebust{ - pixel_x = 6 - }, -/turf/open/floor/plasteel/sepia{ - planetary_atmos = 1 - }, -/area/hangar) -"Un" = ( -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"UY" = ( -/turf/closed/mineral/random/snow, -/area/hangar) -"VD" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"VE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"VV" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"WE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"Xo" = ( -/obj/structure/grille, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Xu" = ( -/obj/structure/rack, -/obj/item/poster/random_official{ - pixel_x = 2; - pixel_y = 9 - }, -/obj/item/poster/random_official{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/destTagger{ - pixel_x = -5 - }, -/obj/item/export_scanner{ - pixel_x = 6; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"YV" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"YW" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"YY" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ZA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"ZK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ZX" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) - -(1,1,1) = {" -wp -wp -wp -wp -eH -eH -eH -eH -eH -uO -eH -eH -eH -uO -eH -eH -eH -uO -oJ -eH -eH -uO -oJ -eH -eH -uO -oJ -eH -eH -uO -eH -eH -eH -uO -eH -eH -eH -uO -eH -eH -eH -uO -eH -eH -eH -uO -eH -eH -wp -wp -wp -wp -"} -(2,1,1) = {" -wp -wp -wp -eH -eH -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -eH -eH -wp -wp -wp -"} -(3,1,1) = {" -eH -eH -eH -eH -lk -lv -lv -lv -lv -lv -lv -lv -lv -Un -lv -lv -lv -lv -Un -lv -lv -lv -lv -Un -lv -lv -lv -lv -lv -Un -lv -lv -lv -lv -Un -lv -lv -lv -lv -Un -lv -lv -lv -lv -Un -lv -lv -Iy -eH -eH -eH -eH -"} -(4,1,1) = {" -eH -UY -UY -UY -lk -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -Iy -UY -UY -UY -eH -"} -(5,1,1) = {" -eH -UY -UY -Rn -fd -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -ca -cj -KQ -yL -UY -UY -eH -"} -(6,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -UY -UY -eH -"} -(7,1,1) = {" -eH -UY -UY -IV -rw -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -NC -yL -UY -UY -eH -"} -(8,1,1) = {" -eH -UY -UY -Lc -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -VV -eH -UY -eH -"} -(9,1,1) = {" -eH -UY -UY -Rn -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -op -yL -UY -UY -eH -"} -(10,1,1) = {" -eH -UY -eH -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -UY -UY -eH -"} -(11,1,1) = {" -eH -UY -UY -IV -fd -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -KQ -VV -UY -UY -eH -"} -(12,1,1) = {" -eH -UY -UY -Lc -rw -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -NC -yL -UY -UY -eH -"} -(13,1,1) = {" -eH -UY -UY -uz -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(14,1,1) = {" -eH -UY -UY -Df -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -DT -UY -UY -eH -"} -(15,1,1) = {" -eH -UY -UY -Df -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -VV -UY -UY -eH -"} -(16,1,1) = {" -eH -UY -UY -Lc -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -op -yL -UY -UY -eH -"} -(17,1,1) = {" -eH -UY -UY -uz -fd -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -KQ -yL -UY -UY -eH -"} -(18,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -eH -UY -eH -"} -(19,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -UY -UY -eH -"} -(20,1,1) = {" -eH -UY -UY -ZX -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(21,1,1) = {" -eH -UY -UY -Rn -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -op -VV -UY -UY -eH -"} -(22,1,1) = {" -eH -UY -UY -Df -rw -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -hL -DT -UY -UY -eH -"} -(23,1,1) = {" -eH -UY -UY -Df -fd -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -KQ -DT -UY -UY -eH -"} -(24,1,1) = {" -eH -UY -UY -Lc -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(25,1,1) = {" -eH -UY -UY -uz -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(26,1,1) = {" -eH -UY -UY -IV -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(27,1,1) = {" -eH -UY -eH -Df -JM -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -hL -yL -UY -UY -eH -"} -(28,1,1) = {" -eH -UY -UY -ZX -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -UY -UY -eH -"} -(29,1,1) = {" -eH -UY -UY -Rn -fd -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -KQ -VV -UY -UY -eH -"} -(30,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -VV -UY -UY -eH -"} -(31,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(32,1,1) = {" -eH -UY -UY -Lc -JM -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -NC -yL -UY -UY -eH -"} -(33,1,1) = {" -eH -UY -UY -Rn -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -VV -UY -UY -eH -"} -(34,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -VV -eH -UY -eH -"} -(35,1,1) = {" -eH -UY -UY -Df -fd -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -KQ -VV -UY -UY -eH -"} -(36,1,1) = {" -eH -UY -UY -ZX -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(37,1,1) = {" -eH -UY -UY -Rn -rw -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -NC -yL -UY -UY -eH -"} -(38,1,1) = {" -eH -UY -eH -Df -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(39,1,1) = {" -eH -UY -UY -Df -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -UY -UY -eH -"} -(40,1,1) = {" -eH -UY -UY -ZX -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -eH -eH -eH -"} -(41,1,1) = {" -eH -UY -UY -Rn -fd -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -KQ -yL -ei -yL -eH -"} -(42,1,1) = {" -eH -UY -UY -Df -rw -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -NC -Pi -eH -eH -eH -"} -(43,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -bx -UY -UY -eH -"} -(44,1,1) = {" -eH -UY -UY -ZX -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -bx -UY -UY -eH -"} -(45,1,1) = {" -eH -UY -UY -Rn -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -bx -UY -UY -eH -"} -(46,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -jI -UY -UY -eH -"} -(47,1,1) = {" -eH -UY -UY -Df -fd -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -KQ -bx -eH -UY -eH -"} -(48,1,1) = {" -eH -UY -UY -ZX -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -bx -UY -UY -eH -"} -(49,1,1) = {" -eH -UY -UY -Rn -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -bx -UY -UY -eH -"} -(50,1,1) = {" -eH -UY -UY -Df -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -sn -jI -UY -UY -eH -"} -(51,1,1) = {" -eH -UY -UY -Df -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -bx -UY -UY -eH -"} -(52,1,1) = {" -eH -UY -UY -ZX -rw -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -hL -lN -UY -UY -eH -"} -(53,1,1) = {" -eH -UY -UY -Rn -qD -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -KQ -yL -UY -UY -eH -"} -(54,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(55,1,1) = {" -eH -UY -eH -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(56,1,1) = {" -eH -UY -UY -ZX -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -FK -Hs -eH -"} -(57,1,1) = {" -eH -UY -UY -Rn -JM -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -hL -yL -RX -qK -eH -"} -(58,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -vi -KT -eH -"} -(59,1,1) = {" -eH -UY -UY -Df -fd -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -KQ -yL -RX -Ai -eH -"} -(60,1,1) = {" -eH -UY -UY -ZX -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -RX -Xo -eH -"} -(61,1,1) = {" -eH -UY -UY -yL -Bp -OB -OB -OB -OB -Cw -OB -OB -Cw -OB -OB -OB -Cw -OB -OB -OB -Cw -OB -OB -OB -Cw -OB -OB -rX -OC -Cx -SY -ew -YY -xp -HD -FS -Ob -VD -Mf -vg -Cx -OC -ZK -Cx -ew -wk -vg -GW -yL -Is -UY -eH -"} -(62,1,1) = {" -eH -UY -UY -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -VV -NN -lZ -hG -mx -Ed -Xu -Kf -VV -yL -VV -VV -yL -yL -yL -DT -yL -yL -UY -UY -eH -"} -(63,1,1) = {" -eH -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -eH -eH -eH -eH -hB -au -Fs -UY -UY -eH -eH -Ji -Ji -Ji -eH -UY -UY -iT -au -YV -UY -UY -UY -UY -UY -UY -UY -eH -"} -(64,1,1) = {" -eH -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -eH -Gj -eH -Pj -NV -ae -Ky -UY -UY -eH -UY -UY -UY -eH -UY -Io -wm -NV -YV -BX -UY -UY -UY -UY -UY -UY -eH -"} -(65,1,1) = {" -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -UY -UY -eH -eH -eH -xW -lI -nD -Pg -Ky -UY -eH -Ji -Ji -Ji -eH -Io -IH -NV -jj -Sh -mK -Ag -UY -UY -eH -eH -eH -eH -"} -(66,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -UY -UY -LD -LD -Rz -lS -xW -ba -NV -Pg -JA -jK -JA -JA -JA -Ib -wm -au -jj -Sh -Dk -OL -On -UY -UY -eH -wp -wp -wp -"} -(67,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -UY -UY -UY -LD -qR -Rz -lS -xW -ba -NV -NV -au -au -au -au -au -NV -eS -oa -OL -Il -Dk -On -UY -UY -eH -wp -wp -wp -"} -(68,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -UY -UY -UY -LD -LD -LD -Rz -lS -xW -Sc -Mh -lY -lY -Sc -Mh -Sc -lY -oa -Dr -LM -OL -Sq -Ig -rT -UY -eH -wp -wp -wp -"} -(69,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -eH -UY -UY -UY -LD -LD -LD -Rz -Sw -Sw -eH -UY -il -UY -eH -fh -NV -uV -eH -MN -bS -lF -dQ -ZA -eH -eH -wp -wp -wp -"} -(70,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -eH -UY -eH -Nt -LD -LD -qR -LD -eH -eH -eH -eH -eH -eH -SU -NV -xo -eH -eH -rf -Rd -aE -yi -pp -eH -wp -wp -wp -"} -(71,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -eH -eH -eH -LD -LD -LD -AW -eH -EZ -EZ -qT -eA -ee -WE -NV -uV -sE -eH -rn -ak -aE -tD -Ry -eH -wp -wp -wp -"} -(72,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -eH -eH -eH -eH -eH -EZ -EZ -EZ -Cl -NV -NV -oL -uV -Rh -eH -TU -vc -fv -Tt -Ry -eH -wp -wp -wp -"} -(73,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -EZ -EZ -EZ -Cl -VE -VE -VE -kK -sE -eH -eH -qh -PQ -Ry -eH -eH -wp -wp -wp -"} -(74,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -eH -eH -eH -eH -nM -zl -pK -FP -eH -eH -eH -eH -eH -eH -eH -wp -wp -wp -wp -"} -(75,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -eH -eH -eH -eH -eH -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -"} diff --git a/_maps/outpost/hangar/nt_ice_20x20.dmm b/_maps/outpost/hangar/nt_ice_20x20.dmm index 06e76cbe6b5..ec7577ab620 100644 --- a/_maps/outpost/hangar/nt_ice_20x20.dmm +++ b/_maps/outpost/hangar/nt_ice_20x20.dmm @@ -191,31 +191,6 @@ planetary_atmos = 1 }, /area/hangar) -"bv" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"bw" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "bA" = ( /obj/effect/turf_decal/borderfloor{ dir = 4 @@ -289,7 +264,6 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; @@ -306,17 +280,6 @@ planetary_atmos = 1 }, /area/hangar) -"ee" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "fb" = ( /obj/effect/turf_decal/siding/white{ dir = 6 @@ -326,15 +289,6 @@ planetary_atmos = 1 }, /area/hangar) -"fT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "gy" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -396,49 +350,6 @@ light_range = 2 }, /area/hangar) -"iT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"ka" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"kq" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "me" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -448,20 +359,6 @@ planetary_atmos = 1 }, /area/hangar) -"mz" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "mR" = ( /obj/machinery/door/airlock/outpost, /turf/open/floor/plasteel/tech, @@ -477,18 +374,6 @@ planetary_atmos = 1 }, /area/hangar) -"nI" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "nK" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -514,20 +399,6 @@ light_range = 2 }, /area/hangar) -"om" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"oA" = ( -/obj/machinery/door/airlock/outpost, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plasteel/tech, -/area/hangar) "oE" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -573,26 +444,6 @@ planetary_atmos = 1 }, /area/hangar) -"qk" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 8 - }, -/obj/machinery/computer/hydrogen_exchange{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"qV" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "rj" = ( /turf/open/floor/plating/asteroid/snow/temperatre{ light_color = "#1B1D2E"; @@ -618,15 +469,6 @@ planetary_atmos = 1 }, /area/hangar) -"sd" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 - }, -/obj/item/toy/plush/moth/firewatch{ - pixel_y = 3 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "sV" = ( /obj/structure/closet/crate/bin, /obj/effect/turf_decal/industrial/outline/yellow, @@ -639,18 +481,6 @@ }, /turf/open/floor/plasteel/dark, /area/hangar) -"tt" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "ui" = ( /obj/effect/turf_decal/borderfloor{ dir = 10 @@ -684,25 +514,6 @@ planetary_atmos = 1 }, /area/hangar) -"xv" = ( -/obj/structure/railing{ - dir = 5; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "xB" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -738,32 +549,6 @@ planetary_atmos = 1 }, /area/hangar) -"yE" = ( -/obj/structure/flora/grass/both, -/obj/item/trash/candy{ - pixel_x = 4; - layer = 2.8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"zs" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/machinery/light/floor{ - bulb_power = 0.75 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Aj" = ( /obj/effect/turf_decal/borderfloor/corner, /obj/effect/turf_decal/siding/white{ @@ -778,44 +563,6 @@ planetary_atmos = 1 }, /area/hangar) -"AE" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"AI" = ( -/obj/structure/flora/grass/green, -/obj/item/trash/energybar{ - layer = 2.8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"Bw" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"De" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Dh" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -828,29 +575,6 @@ planetary_atmos = 1 }, /area/hangar) -"Dq" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pressure_valve, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"DK" = ( -/obj/structure/flora/stump, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "ES" = ( /obj/effect/turf_decal/borderfloor{ dir = 6 @@ -880,18 +604,6 @@ planetary_atmos = 1 }, /area/hangar) -"Fn" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "FM" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -913,7 +625,6 @@ /obj/effect/turf_decal/borderfloor/full, /obj/machinery/light/floor, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel/patterned/cargo_one{ light_color = "#1B1D2E"; light_range = 2 @@ -952,20 +663,6 @@ light_range = 2 }, /area/hangar) -"HG" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "Iz" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -996,29 +693,12 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; planetary_atmos = 1 }, /area/hangar) -"JD" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "JU" = ( /obj/effect/turf_decal/siding/white{ dir = 8 @@ -1038,17 +718,6 @@ planetary_atmos = 1 }, /area/hangar) -"Kw" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "KC" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/oil, @@ -1069,37 +738,6 @@ light_range = 2 }, /area/hangar) -"Lu" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Lz" = ( -/obj/structure/railing{ - dir = 9; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "MI" = ( /obj/structure/flora/grass/both, /turf/open/floor/plating/asteroid/snow/temperatre{ @@ -1126,27 +764,15 @@ }, /area/hangar) "MR" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/siding/white{ + dir = 1 }, -/area/hangar) -"NH" = ( -/obj/effect/turf_decal/borderfloor{ +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ dir = 1 }, -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/components/binary/valve/digital, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2; @@ -1176,36 +802,6 @@ planetary_atmos = 1 }, /area/hangar) -"PI" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"PL" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Qb" = ( /obj/effect/turf_decal/borderfloor{ dir = 4 @@ -1318,44 +914,6 @@ }, /turf/open/floor/plasteel/tech, /area/hangar) -"TU" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north{ - pixel_x = -6; - bulb_power = 0.25 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"TX" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Ul" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -1384,19 +942,6 @@ planetary_atmos = 1 }, /area/hangar) -"UZ" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Vk" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -1426,20 +971,6 @@ planetary_atmos = 1 }, /area/hangar) -"WY" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Xd" = ( /obj/effect/turf_decal/siding/white{ dir = 8 @@ -1456,17 +987,6 @@ planetary_atmos = 1 }, /area/hangar) -"Xt" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "XC" = ( /obj/effect/turf_decal/siding/white{ dir = 6 @@ -1497,33 +1017,6 @@ light_range = 2 }, /area/hangar) -"Yt" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Yu" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "YN" = ( /obj/effect/turf_decal/borderfloor{ dir = 4 @@ -1558,18 +1051,6 @@ planetary_atmos = 1 }, /area/hangar) -"Zc" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Ze" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -1580,18 +1061,6 @@ planetary_atmos = 1 }, /area/hangar) -"Zf" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Zi" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 4 @@ -1834,7 +1303,7 @@ rj rj MI rj -DK +rj rj MI rj @@ -1847,7 +1316,7 @@ rj rj MN rj -DK +rj rj rj rj @@ -1872,7 +1341,7 @@ rj rj rj rj -DK +rj rj rj rj @@ -1881,7 +1350,7 @@ rj rj MN rj -DK +rj rj MI rj @@ -2004,7 +1473,7 @@ TA rj rj rj -DK +rj rj rj rj @@ -2053,7 +1522,7 @@ rj rj rj rj -DK +rj MI rj rj @@ -2245,7 +1714,7 @@ ac ac aM MN -GX +rj aC rQ av @@ -2286,8 +1755,8 @@ am am am rj -yE -qk +rj +MI Fi ap av @@ -2325,14 +1794,14 @@ am (18,1,1) = {" am hg -sd +hg am -MI rj -Yu -TX -ee -NH +GX +rj +nr +ap +av aJ aJ aJ @@ -2353,8 +1822,8 @@ aJ aJ aJ aJ -De -Fn +nr +rQ aT MI rj @@ -2367,13 +1836,13 @@ am (19,1,1) = {" am hg -qV +hg am -bv -bv -zs +rj +rj +rj Fi -tt +rQ av aJ aJ @@ -2396,7 +1865,7 @@ aJ aJ aJ aO -Zc +rQ nK rj rj @@ -2409,13 +1878,13 @@ ac (20,1,1) = {" am hg -Bw -oA -om -om -Lz -PL -PI +hg +mR +rj +rj +GX +aC +NO av aJ aJ @@ -2438,7 +1907,7 @@ aJ aJ aJ nr -Zc +rQ nK rj GX @@ -2453,10 +1922,10 @@ am hg hg am -TU -WY -HG -Yt +MI +rj +rj +aC IG av aJ @@ -2480,7 +1949,7 @@ aJ aJ aJ nr -Lu +NO nK rj rj @@ -2495,10 +1964,10 @@ am am am am -AI rj -ka -Dq +MN +rj +aC cI av ad @@ -2522,7 +1991,7 @@ aJ aJ ad nr -Lu +NO nK MI rj @@ -2538,10 +2007,10 @@ ac ac ac rj -rj -JD -nr -PI +GX +MN +aC +NO aT aJ aJ @@ -2564,7 +2033,7 @@ aJ aJ aJ nr -Lu +NO nK rj GX @@ -2580,10 +2049,10 @@ ac ac ac rj -MI -xv -mz -PI +rj +rj +aC +NO aT aJ aJ @@ -2606,7 +2075,7 @@ aJ aJ aJ nr -Lu +NO uC rj rj @@ -2622,10 +2091,10 @@ ac ac TA rj -GX +MI rj -aC -tt +Fi +rQ aT aJ aJ @@ -2648,7 +2117,7 @@ aJ aJ aJ nr -Zc +rQ TF rj MI @@ -2665,9 +2134,9 @@ ac rj rj rj -rj +MI aC -tt +rQ av aJ aJ @@ -2690,7 +2159,7 @@ aJ aJ aJ nr -Lu +NO TF rj ac @@ -2705,11 +2174,11 @@ ac ac ac rj -MN +rj rj rj aC -tt +rQ av ad aJ @@ -2732,7 +2201,7 @@ aJ aJ ad aO -kq +ap nK MN ac @@ -2751,7 +2220,7 @@ rj rj GX aC -Kw +ap av aJ aJ @@ -2774,7 +2243,7 @@ aJ aJ aJ aO -Zc +rQ nK rj ac @@ -2793,7 +2262,7 @@ MI rj rj aC -Kw +ap av aJ aJ @@ -2816,7 +2285,7 @@ aJ aJ aJ aO -Zc +rQ nK MI rj @@ -2835,7 +2304,7 @@ rj rj rj aC -Kw +ap av aJ aJ @@ -2858,7 +2327,7 @@ aJ aJ aJ nr -Zc +rQ nK GX rj @@ -2877,7 +2346,7 @@ rj MI rj aC -Kw +ap av aJ aJ @@ -2900,7 +2369,7 @@ aJ aJ aJ nr -Lu +NO nK rj rj @@ -2919,7 +2388,7 @@ rj GX rj aC -tt +rQ aT ad aJ @@ -2941,8 +2410,8 @@ aJ aJ aJ ad -De -iT +nr +NO nK rj MI @@ -2961,8 +2430,8 @@ rj MN rj Fi -Zf -UZ +rQ +aT aJ aJ aJ @@ -2984,7 +2453,7 @@ aJ aJ aJ nr -Zc +rQ nK rj GX @@ -3003,7 +2472,7 @@ rj rj GX Fi -Kw +ap aT aJ aJ @@ -3026,7 +2495,7 @@ ad aJ aJ nr -kq +ap nK rj rj @@ -3045,7 +2514,7 @@ rj rj rj aC -Kw +ap SW Qb Qb @@ -3068,7 +2537,7 @@ Qb Qb Qb ES -kq +ap nK MI TA @@ -3087,30 +2556,30 @@ rj MI rj aC -Xt -fT -bw -AE -AE -AE -fT -bw -bw -AE -AE -AE +hv +ap +NO +rQ +rQ +rQ +ap +NO +NO +rQ +rQ +rQ +FS +ap +rQ +ap +ap +ap +NO +NO +rQ +ap +ap FS -fT -AE -fT -fT -fT -bw -bw -AE -fT -fT -nI uC rj ac diff --git a/_maps/outpost/hangar/nt_ice_40x20.dmm b/_maps/outpost/hangar/nt_ice_40x20.dmm index defafdc3b08..a9066a1dcef 100644 --- a/_maps/outpost/hangar/nt_ice_40x20.dmm +++ b/_maps/outpost/hangar/nt_ice_40x20.dmm @@ -242,21 +242,6 @@ planetary_atmos = 1 }, /area/hangar) -"ca" = ( -/obj/machinery/door/airlock/outpost, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plasteel/tech, -/area/hangar) -"cx" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "dA" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -296,22 +281,6 @@ planetary_atmos = 1 }, /area/hangar) -"eg" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pressure_valve, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "es" = ( /obj/effect/decal/fakelattice, /obj/machinery/light/small/directional/east, @@ -370,21 +339,6 @@ planetary_atmos = 1 }, /area/hangar) -"gk" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "hh" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -396,15 +350,6 @@ light_range = 2 }, /area/hangar) -"hr" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "hX" = ( /obj/effect/landmark/outpost/hangar_dock, /turf/open/floor/plating{ @@ -442,19 +387,6 @@ light_range = 2 }, /area/hangar) -"jm" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "jv" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -497,10 +429,6 @@ planetary_atmos = 1 }, /area/hangar) -"ln" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/asteroid/icerock/temperate, -/area/hangar) "lG" = ( /obj/effect/turf_decal/siding/white{ dir = 9 @@ -554,48 +482,6 @@ planetary_atmos = 1 }, /area/hangar) -"mE" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"mM" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"nE" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"ok" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "oA" = ( /obj/effect/turf_decal/borderfloor/corner{ dir = 1 @@ -644,32 +530,6 @@ planetary_atmos = 1 }, /area/hangar) -"pn" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/machinery/light/floor{ - bulb_power = 0.75 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"pu" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "pv" = ( /obj/structure/flora/grass/both, /turf/open/floor/plating/asteroid/snow/temperatre{ @@ -677,20 +537,6 @@ light_range = 2 }, /area/hangar) -"pz" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "qa" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -835,82 +681,12 @@ planetary_atmos = 1 }, /area/hangar) -"tW" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"uk" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"us" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"uv" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"uK" = ( -/obj/structure/railing{ - dir = 9; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "wH" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; @@ -953,19 +729,6 @@ planetary_atmos = 1 }, /area/hangar) -"yt" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "zT" = ( /obj/structure/flora/tree/dead, /turf/open/floor/plating/asteroid/snow/temperatre{ @@ -973,19 +736,6 @@ light_range = 2 }, /area/hangar) -"Af" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "AN" = ( /obj/effect/turf_decal/borderfloor{ dir = 9 @@ -1000,34 +750,6 @@ planetary_atmos = 1 }, /area/hangar) -"AY" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"Br" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "Cg" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -1038,31 +760,6 @@ planetary_atmos = 1 }, /area/hangar) -"CQ" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Db" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "DM" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -1081,27 +778,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/hangar) -"EI" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "EJ" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -1125,26 +801,6 @@ planetary_atmos = 1 }, /area/hangar) -"FO" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "FX" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1158,18 +814,6 @@ planetary_atmos = 1 }, /area/hangar) -"GG" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "GS" = ( /obj/effect/turf_decal/borderfloor{ dir = 5 @@ -1184,45 +828,15 @@ planetary_atmos = 1 }, /area/hangar) -"Hw" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"HZ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Iv" = ( /obj/effect/turf_decal/borderfloor/full, /obj/machinery/light/floor, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, /turf/open/floor/plasteel/patterned/cargo_one{ light_color = "#1B1D2E"; light_range = 2 }, /area/hangar) -"IF" = ( -/obj/structure/flora/grass/both, -/obj/item/trash/raisins{ - layer = 2.8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Jb" = ( /obj/effect/turf_decal/borderfloor{ dir = 4 @@ -1240,30 +854,6 @@ planetary_atmos = 1 }, /area/hangar) -"Je" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Jh" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Js" = ( /obj/effect/turf_decal/corner/opaque/neutral, /obj/effect/turf_decal/siding/white{ @@ -1349,50 +939,6 @@ "MM" = ( /turf/open/floor/plasteel/tech, /area/hangar) -"MV" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"MY" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Nz" = ( -/obj/structure/flora/grass/green, -/obj/item/trash/pistachios{ - layer = 2.8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"ON" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 - }, -/obj/item/toy/plush/moth/firewatch{ - pixel_y = 3 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "OP" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -1433,25 +979,6 @@ planetary_atmos = 1 }, /area/hangar) -"Rh" = ( -/obj/structure/railing{ - dir = 5; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "RU" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -1461,15 +988,8 @@ }, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Sb" = ( -/obj/structure/flora/stump, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 + light_range = 2; + planetary_atmos = 1 }, /area/hangar) "Sh" = ( @@ -1504,12 +1024,6 @@ planetary_atmos = 1 }, /area/hangar) -"Td" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "TX" = ( /obj/effect/decal/fakelattice, /turf/open/floor/plasteel/elevatorshaft{ @@ -1520,37 +1034,6 @@ /obj/machinery/door/airlock/outpost, /turf/open/floor/plasteel/tech, /area/hangar) -"UH" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"UU" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 8 - }, -/obj/machinery/computer/hydrogen_exchange{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Vs" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1561,17 +1044,6 @@ planetary_atmos = 1 }, /area/hangar) -"Wa" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Ww" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -1591,9 +1063,7 @@ /obj/structure/catwalk/over/plated_catwalk, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; @@ -1621,49 +1091,6 @@ planetary_atmos = 1 }, /area/hangar) -"XS" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"YG" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"YV" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north{ - pixel_x = -6; - bulb_power = 0.25 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Zc" = ( /obj/effect/turf_decal/siding/white{ dir = 6 @@ -1694,20 +1121,6 @@ light_range = 2 }, /area/hangar) -"Zl" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "ZK" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -1941,7 +1354,7 @@ aO as aO aO -Sb +aO pv aO aO @@ -1957,7 +1370,7 @@ aO aO as aO -Sb +aO aO aO aO @@ -1992,7 +1405,7 @@ aO as aO aO -Sb +aO pv aO aO @@ -2029,7 +1442,7 @@ aO aO aO aO -Sb +aO aO aO aO @@ -2086,7 +1499,7 @@ aO aO aO aO -Sb +aO aO aO aO @@ -2106,7 +1519,7 @@ aO aO as aO -Sb +aO aO aO aO @@ -2116,7 +1529,7 @@ aO aO aO aO -Sb +aO aO pv aO @@ -2441,8 +1854,8 @@ pv aO aO aL -YG -uk +aR +DM ae ae ae @@ -2463,8 +1876,8 @@ ae ae ae ae -yt -MY +fQ +WM OP aO al @@ -2483,7 +1896,7 @@ aO aO aO aL -nE +rI DM ae ae @@ -2506,7 +1919,7 @@ ae ae ae fQ -Af +aR lQ aO aO @@ -2525,7 +1938,7 @@ aY aO as aL -nE +rI DM ae ae @@ -2548,7 +1961,7 @@ ae ae ae rq -MV +am OP aO aO @@ -2567,7 +1980,7 @@ aw al aO aL -nE +rI DM ae ae @@ -2590,7 +2003,7 @@ ae ae ae rq -MV +am OP aO pv @@ -2609,7 +2022,7 @@ aY aO pv aL -nE +rI DM aD ae @@ -2632,7 +2045,7 @@ ae ae aD rq -MV +am OP aO aO @@ -2651,7 +2064,7 @@ aY aO aO aL -nE +rI DM ae ae @@ -2674,7 +2087,7 @@ ae ae ae rq -MV +am OP aO aO @@ -2693,7 +2106,7 @@ aY wR aO Ww -nE +rI DM ae ae @@ -2716,7 +2129,7 @@ ae ae ae rq -MV +am OP aO al @@ -2735,7 +2148,7 @@ aY aY aO Ww -nE +rI DM ae ae @@ -2758,7 +2171,7 @@ ae ae ae rq -MV +am OP aO as @@ -2777,7 +2190,7 @@ aY aY aO Ww -mE +am DM ae ae @@ -2800,7 +2213,7 @@ ae ae ae fQ -MV +am OP pv aO @@ -2819,7 +2232,7 @@ aY pv aO Ww -mE +am DM aD ae @@ -2842,7 +2255,7 @@ ae ae aD rq -Af +aR OP aO aO @@ -2861,7 +2274,7 @@ aY aO as Ww -mE +am DM ae ae @@ -2884,7 +2297,7 @@ ae ae ae rq -GG +rI lQ aO al @@ -2903,7 +2316,7 @@ aY aO al aL -mE +am DM ae ae @@ -2926,7 +2339,7 @@ ae ae ae rq -GG +rI lQ aO aO @@ -2945,7 +2358,7 @@ aY aO aO aL -mE +am DM ae ae @@ -2968,7 +2381,7 @@ ae ae ae rq -GG +rI OP aO pv @@ -2987,7 +2400,7 @@ aY pv aO aL -mE +am aM ae ae @@ -3010,7 +2423,7 @@ ae ae ae rq -GG +rI lQ aO aO @@ -3029,7 +2442,7 @@ aY aO aO aL -nE +rI aM aD ae @@ -3052,7 +2465,7 @@ ae ae aD rq -GG +rI lQ aO aO @@ -3067,11 +2480,11 @@ aY aY aY aY -aY -Nz +aw +as aO aL -nE +rI DM ae ae @@ -3094,7 +2507,7 @@ ae ae ae qa -Af +aR lQ aO aO @@ -3109,11 +2522,11 @@ ab ab ab ab -ln aO -UU -Ww -mE +aO +pv +rq +rI DM ae ae @@ -3136,7 +2549,7 @@ ae ae ae rq -GG +rI DM aO aO @@ -3149,14 +2562,14 @@ ab (35,1,1) = {" ab MM -ON +MM ab -pv aO -gk -FO -HZ -uk +al +aO +aL +rI +DM ae ae ae @@ -3177,8 +2590,8 @@ ae ae ae ae -XS -Je +rq +rI lQ pv aO @@ -3191,13 +2604,13 @@ ab (36,1,1) = {" ab MM -Td +MM ab -Zl -Zl -pn -Ww -nE +aO +aO +aO +aL +rI DM ae ae @@ -3220,7 +2633,7 @@ ae ae ae rq -MV +am lQ al aO @@ -3233,13 +2646,13 @@ aY (37,1,1) = {" ab MM -Hw -ca -mM -mM -uK -UH -WM +MM +Uo +aO +aO +al +Ww +am DM aD ae @@ -3262,7 +2675,7 @@ ae ae aD rq -GG +rI lQ aO aO @@ -3277,11 +2690,11 @@ ab MM MM ab -YV -uv -Br -CQ -pz +pv +aO +aO +aL +am DM ae ae @@ -3304,7 +2717,7 @@ ae ae ae rq -GG +rI OP aO aO @@ -3319,11 +2732,11 @@ ab ab ab ab +aO as aO -EI -eg -jm +Ww +rI DM ae ae @@ -3346,7 +2759,7 @@ ae ae ae fQ -GG +rI lQ pv aO @@ -3360,12 +2773,12 @@ aY aY aY aY -ln -aO +aY aO -AY -rq -WM +al +as +aL +aR DM ae ae @@ -3388,7 +2801,7 @@ ae ae ae rq -GG +rI lQ aO al @@ -3404,9 +2817,9 @@ aY aY aY aO -IF -Rh -Jh +aO +aO +aL WM DM ae @@ -3430,7 +2843,7 @@ ae ae ae rq -Af +aR lQ aO aO @@ -3444,9 +2857,9 @@ aY aY aY aY +wR aO -aO -al +pv aO aL wH @@ -3472,7 +2885,7 @@ ae ae aD rq -Af +aR lQ aO pv @@ -3489,9 +2902,9 @@ aY aO aO aO -as +pv aL -WM +aR aM ae ae @@ -3514,7 +2927,7 @@ ae ae ae rq -Af +aR lQ aO aY @@ -3529,11 +2942,11 @@ aY aY aY aO -pv +aO aO aO aL -WM +aR aM ae ae @@ -3556,7 +2969,7 @@ ae ae ae rq -Af +aR OP as aY @@ -3575,7 +2988,7 @@ aO aO al Ww -nE +rI aM ae ae @@ -3598,7 +3011,7 @@ ae ae ae rq -GG +rI Sn aO aY @@ -3613,11 +3026,11 @@ aY aY aw aO -al +pv aO aO aL -nE +rI DM ae ae @@ -3640,7 +3053,7 @@ ae ae ae rq -Af +aR Sn pv aO @@ -3659,7 +3072,7 @@ aO aO aO aL -nE +rI DM aD ae @@ -3682,7 +3095,7 @@ ae ae aD fQ -MV +am lQ al aO @@ -3701,7 +3114,7 @@ aO pv aO aL -mE +am DM ae ae @@ -3724,7 +3137,7 @@ ae ae ae fQ -GG +rI lQ aO aO @@ -3743,7 +3156,7 @@ aO al aO aL -mE +am DM ae ae @@ -3766,7 +3179,7 @@ ae ae ae fQ -GG +rI lQ aO pv @@ -3785,7 +3198,7 @@ aO as aO aL -mE +am DM ae ae @@ -3808,7 +3221,7 @@ ae ae ae rq -GG +rI lQ aO al @@ -3827,7 +3240,7 @@ aO aO al aL -mE +am DM ae ae @@ -3850,7 +3263,7 @@ ae ae ae rq -Af +aR lQ aO aO @@ -3869,8 +3282,8 @@ aO aO aO aL -tW -Db +rI +aM aD ae ae @@ -3891,8 +3304,8 @@ ae ae ae aD -XS -Wa +rq +aR lQ pv wR @@ -3911,7 +3324,7 @@ aO pv aO Ww -nE +rI aM ae ae @@ -3934,7 +3347,7 @@ ae ae ae rq -GG +rI lQ aO aY @@ -3953,7 +3366,7 @@ aO aO aO Ww -mE +am aM ae ae @@ -3976,7 +3389,7 @@ aD ae ae rq -MV +am lQ as aY @@ -3995,7 +3408,7 @@ al aO aO aL -mE +am GS af af @@ -4018,7 +3431,7 @@ af af af mj -MV +am lQ pv aY @@ -4037,29 +3450,29 @@ pv aO aO aL -pu -hr -us -cx -cx -cx -hr -us -us -cx -cx -cx -ok -hr -cx -hr -hr -hr -us -us -cx -hr -hr +aU +am +aR +rI +rI +rI +am +aR +aR +rI +rI +rI +Iv +am +rI +am +am +am +aR +aR +rI +am +am Iv OP aO diff --git a/_maps/outpost/hangar/nt_ice_40x40.dmm b/_maps/outpost/hangar/nt_ice_40x40.dmm index 62c3858641a..fb8d80f95cb 100644 --- a/_maps/outpost/hangar/nt_ice_40x40.dmm +++ b/_maps/outpost/hangar/nt_ice_40x40.dmm @@ -168,37 +168,6 @@ planetary_atmos = 1 }, /area/hangar) -"aJ" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north{ - pixel_x = -6; - bulb_power = 0.25 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"aP" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "aQ" = ( /obj/structure/flora/rock/pile/icy, /turf/open/floor/plating/asteroid/snow/temperatre{ @@ -232,9 +201,7 @@ /obj/structure/catwalk/over/plated_catwalk, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; @@ -245,7 +212,6 @@ /obj/effect/turf_decal/borderfloor/full, /obj/machinery/light/floor, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel/patterned/cargo_one{ light_color = "#1B1D2E"; light_range = 2 @@ -292,10 +258,6 @@ planetary_atmos = 1 }, /area/hangar) -"cG" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/asteroid/icerock/temperate, -/area/hangar) "dQ" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/greenglow{ @@ -323,17 +285,6 @@ planetary_atmos = 1 }, /area/hangar) -"eF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "eU" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -346,17 +297,6 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/plasteel/tech, /area/hangar) -"fd" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "fJ" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -396,30 +336,6 @@ planetary_atmos = 1 }, /area/hangar) -"gN" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"hh" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "hr" = ( /obj/effect/turf_decal/borderfloor/corner{ dir = 8 @@ -490,19 +406,6 @@ planetary_atmos = 1 }, /area/hangar) -"iY" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "jF" = ( /obj/effect/turf_decal/corner/opaque/neutral, /obj/effect/turf_decal/siding/white, @@ -554,39 +457,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/telecomms_floor, /area/hangar) -"lb" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"lg" = ( -/obj/structure/railing{ - dir = 5; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "lC" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -656,7 +526,6 @@ /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/structure/chair/comfy/orange/directional/west, /obj/machinery/light/small/directional/east, /turf/open/floor/plating{ planetary_atmos = 1 @@ -682,32 +551,13 @@ "pd" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning, +/obj/structure/filingcabinet/double/grey, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, -/obj/structure/filingcabinet/double/grey{ - dir = 8; - pixel_x = 7 - }, /turf/open/floor/plating{ planetary_atmos = 1 }, /area/hangar) -"qS" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "qW" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -732,24 +582,6 @@ planetary_atmos = 1 }, /area/hangar) -"rY" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"so" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "sS" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -798,32 +630,6 @@ planetary_atmos = 1 }, /area/hangar) -"tQ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"tR" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "um" = ( /obj/effect/turf_decal/borderfloor{ dir = 5 @@ -879,66 +685,6 @@ planetary_atmos = 1 }, /area/hangar) -"xS" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"ym" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/machinery/light/floor{ - bulb_power = 0.75 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"yn" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"yw" = ( -/obj/structure/railing{ - dir = 9; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "yG" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -959,48 +705,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/telecomms_floor, /area/hangar) -"zS" = ( -/obj/structure/flora/stump, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"Au" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"AJ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"AO" = ( -/obj/structure/flora/grass/green, -/obj/item/trash/chips{ - layer = 2.8; - pixel_y = 3; - pixel_x = -2 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Bf" = ( /obj/structure/flora/tree/dead, /turf/open/floor/plating/asteroid/snow/temperatre{ @@ -1008,18 +712,6 @@ light_range = 2 }, /area/hangar) -"Bj" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "BE" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -1048,29 +740,6 @@ planetary_atmos = 1 }, /area/hangar) -"Ck" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"CC" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "CG" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -1128,17 +797,6 @@ light_range = 2 }, /area/hangar) -"Fw" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "FH" = ( /obj/effect/turf_decal/corner/opaque/neutral, /obj/effect/turf_decal/siding/white{ @@ -1180,30 +838,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/telecomms_floor, /area/hangar) -"GW" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Hr" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Hv" = ( /obj/structure/table/reinforced, /obj/item/flashlight/lamp{ @@ -1256,36 +890,6 @@ planetary_atmos = 1 }, /area/hangar) -"Is" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"IH" = ( -/obj/machinery/door/airlock/outpost, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plasteel/tech, -/area/hangar) -"Jt" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "JI" = ( /obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating{ @@ -1327,18 +931,6 @@ light_range = 2 }, /area/hangar) -"Ll" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Lt" = ( /obj/effect/turf_decal/industrial/hatch/yellow, /obj/machinery/vending/coffee, @@ -1373,12 +965,6 @@ planetary_atmos = 1 }, /area/hangar) -"Md" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "Mm" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -1389,22 +975,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech, /area/hangar) -"Ms" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pressure_valve, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Mz" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -1421,41 +991,6 @@ planetary_atmos = 1 }, /area/hangar) -"Nh" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"NG" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "NY" = ( /obj/effect/turf_decal/siding/white{ dir = 6 @@ -1580,15 +1115,6 @@ planetary_atmos = 1 }, /area/hangar) -"Qk" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Qs" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -1633,20 +1159,6 @@ planetary_atmos = 1 }, /area/hangar) -"Rr" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 8 - }, -/obj/machinery/computer/hydrogen_exchange{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Rx" = ( /obj/effect/turf_decal/borderfloor{ dir = 10 @@ -1660,27 +1172,12 @@ planetary_atmos = 1 }, /area/hangar) -"RY" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Sf" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; @@ -1693,23 +1190,11 @@ /turf/open/floor/plasteel/elevatorshaft{ planetary_atmos = 1 }, -/area/hangar) -"SC" = ( -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Tj" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ +/area/hangar) +"SC" = ( +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; planetary_atmos = 1 @@ -1780,37 +1265,6 @@ planetary_atmos = 1 }, /area/hangar) -"UJ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"UR" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "VR" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1900,56 +1354,6 @@ planetary_atmos = 1 }, /area/hangar) -"Zr" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Zx" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 - }, -/obj/item/toy/plush/moth/firewatch{ - pixel_y = 3 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"ZN" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"ZP" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "ZW" = ( /obj/effect/turf_decal/siding/white{ dir = 6 @@ -2231,7 +1635,7 @@ ac ac ac ac -zS +ac ac ac ac @@ -2245,7 +1649,7 @@ ac ac ac ac -zS +ac ac ac ac @@ -2286,7 +1690,7 @@ aQ ak ac ac -zS +ac ac ak ac @@ -2315,7 +1719,7 @@ ac ac ac ac -zS +ac ac ak ac @@ -2548,7 +1952,7 @@ ac ac ak ac -zS +ac ac ac ac @@ -2606,7 +2010,7 @@ ac ac ac ac -zS +ac ac ac ac @@ -2623,7 +2027,7 @@ ac ac ac ac -zS +ac ac ac ab @@ -3023,8 +2427,8 @@ ab ac ac Rk -iY -RY +hI +au ah ah ah @@ -3065,8 +2469,8 @@ ah ah ah ah -xS -hh +ay +aY bQ ac aC @@ -3085,7 +2489,7 @@ ac ac ac Rk -Ll +an au ah ah @@ -3128,7 +2532,7 @@ ah ah ah ay -aP +hI ax ac ac @@ -3147,7 +2551,7 @@ aT ac ak Rk -Ll +an au ah ah @@ -3190,7 +2594,7 @@ ah ah ah ag -eF +JI bQ ac ac @@ -3209,7 +2613,7 @@ as aC ac Rk -Ll +an au ah ah @@ -3252,7 +2656,7 @@ ah ah ah ag -eF +JI bQ ac ab @@ -3271,7 +2675,7 @@ aT ac ab Rk -Ll +an au jY ah @@ -3314,7 +2718,7 @@ ah ah jY ag -eF +JI bQ ac ac @@ -3333,7 +2737,7 @@ aT ac ac Rk -Ll +an au ah ah @@ -3376,7 +2780,7 @@ ah ah ah ag -eF +JI bQ ac ac @@ -3395,7 +2799,7 @@ aT aQ ac Dd -Ll +an au ah ah @@ -3438,7 +2842,7 @@ ah ah ah ag -eF +JI bQ ac aC @@ -3457,7 +2861,7 @@ aT aT ac Dd -Ll +an au ah ah @@ -3500,7 +2904,7 @@ ah ah ah ag -eF +JI bQ ac ak @@ -3519,7 +2923,7 @@ aT aT ac Dd -UJ +JI au ah ah @@ -3562,7 +2966,7 @@ ah ah ah ay -eF +JI bQ ab ac @@ -3581,7 +2985,7 @@ aT ab ac Dd -UJ +JI au jY ah @@ -3624,7 +3028,7 @@ ah ah jY ag -aP +hI bQ ac ac @@ -3643,7 +3047,7 @@ aT ac ak Dd -UJ +JI au ah ah @@ -3686,7 +3090,7 @@ ah ah ah ag -Au +an ax ac aC @@ -3705,7 +3109,7 @@ aT ac aC Rk -UJ +JI au ah ah @@ -3748,7 +3152,7 @@ ah ah ah ag -Au +an ax ac ac @@ -3767,7 +3171,7 @@ aT ac ac Rk -UJ +JI au ah ah @@ -3810,7 +3214,7 @@ ah ah ah ag -Au +an bQ ac ab @@ -3829,7 +3233,7 @@ aT ab ac Rk -UJ +JI at ah ah @@ -3872,7 +3276,7 @@ ah ah ah ag -Au +an ax ac ac @@ -3891,7 +3295,7 @@ aT ac ac Rk -Ll +an at jY ah @@ -3934,7 +3338,7 @@ ah ah jY ag -Au +an ax ac ac @@ -3949,11 +3353,11 @@ aT aT aT aT -aT -ac +as ak +ac Rk -Ll +an au ah ah @@ -3996,7 +3400,7 @@ ah ah ah lC -aP +hI ax ac ac @@ -4011,11 +3415,11 @@ aa aa aa aa -cG ac -Rr -Dd -UJ +ac +ab +ag +an au ah ah @@ -4058,7 +3462,7 @@ ah ah ah ag -Au +an au ac ac @@ -4071,14 +3475,14 @@ aa (35,1,1) = {" aa Yt -Zx +Yt aa -ab ac -ZP -UR -Fw -RY +aC +ac +Rk +an +au ah ah ah @@ -4119,8 +3523,8 @@ ah ah ah ah -Tj -gN +ag +an ax ab ac @@ -4133,13 +3537,13 @@ aa (36,1,1) = {" aa Yt -so +Yt aa -Tn -Tn -ym -Dd -Ll +ac +ac +ac +Rk +an au ah ah @@ -4182,7 +3586,7 @@ ah ah ah ag -eF +JI ax aC ac @@ -4195,13 +3599,13 @@ aT (37,1,1) = {" aa Yt -Md -IH -Qk -Qk -yw -Zr -aY +Yt +HH +ac +ac +aC +Dd +JI au jY ah @@ -4244,7 +3648,7 @@ ah ah jY ag -Au +an ax ac ac @@ -4259,11 +3663,11 @@ aa Yt Yt aa -aJ -lb -Is -Bj -NG +ab +ac +ac +Rk +JI au ah ah @@ -4306,7 +3710,7 @@ ah ah ah ag -Au +an bQ ac ac @@ -4322,10 +3726,10 @@ aa aa aa ac -AO -Nh -Ms -CC +ak +ac +Dd +an au ah ah @@ -4368,7 +3772,7 @@ ah ah ah ay -Au +an ax ab ac @@ -4384,10 +3788,10 @@ aT aT aT ac -ac -yn -ag -aY +aC +ak +Rk +hI au ah ah @@ -4430,7 +3834,7 @@ ah ah ah ag -Au +an ax ac aC @@ -4445,10 +3849,10 @@ aT aT aT aT -ab ac -lg -tR +ac +ac +Rk aY au ah @@ -4492,7 +3896,7 @@ ah ah ah ag -aP +hI ax ac ac @@ -4508,7 +3912,7 @@ aT aT aQ ac -ac +ab ac Rk Sf @@ -4554,7 +3958,7 @@ ah ah jY ag -aP +hI ax ac ab @@ -4573,7 +3977,7 @@ ac ac ab Rk -aP +hI at ah ah @@ -4616,7 +4020,7 @@ ah ah ah ag -aP +hI ax ac aT @@ -4635,7 +4039,7 @@ aC ac ac Rk -aP +hI at ah ah @@ -4678,7 +4082,7 @@ ah ah ah ag -aP +hI bQ ak aT @@ -4697,7 +4101,7 @@ ac ac aC Dd -Au +an at ah ah @@ -4740,7 +4144,7 @@ ah ah ah ag -Au +an lJ ac aT @@ -4759,7 +4163,7 @@ ab ac ac Rk -Au +an au ah ah @@ -4802,7 +4206,7 @@ ah ah ah ag -aP +hI lJ ab ac @@ -4821,7 +4225,7 @@ ac ac ac Rk -Au +an au jY ah @@ -4864,7 +4268,7 @@ ah ah jY ay -eF +JI ax aC ac @@ -4883,7 +4287,7 @@ ac ab ac Rk -eF +JI au ah ah @@ -4926,7 +4330,7 @@ ah ah ah ay -Au +an ax ac ac @@ -4945,7 +4349,7 @@ ac aC ac Rk -eF +JI au ah ah @@ -4988,7 +4392,7 @@ ah ah ah ay -Au +an ax ac ab @@ -5007,7 +4411,7 @@ ac ak ac Rk -eF +JI au ah ah @@ -5050,7 +4454,7 @@ ah ah ah ag -Au +an ax ac aC @@ -5069,7 +4473,7 @@ ac ac aC Rk -eF +JI au ah ah @@ -5112,7 +4516,7 @@ ah ah ah ag -aP +hI ax ac ac @@ -5131,8 +4535,8 @@ ac ac ac Rk -tQ -GW +an +at jY ah ah @@ -5173,8 +4577,8 @@ ah ah ah jY -Tj -Hr +ag +hI ax ab aQ @@ -5193,7 +4597,7 @@ ac ab ac Dd -Au +an at ah ah @@ -5236,7 +4640,7 @@ ah ah ah ag -Au +an ax ac aT @@ -5255,7 +4659,7 @@ ac ab ac Dd -eF +JI at ah ah @@ -5298,7 +4702,7 @@ jY ah ah ag -eF +JI ax ak aT @@ -5317,7 +4721,7 @@ aC ac ac Rk -eF +JI um Tn aX @@ -5330,7 +4734,7 @@ aX aX aX aX -qS +aX aX aX aX @@ -5350,7 +4754,7 @@ aX aX aX aX -qS +aX aX aX aX @@ -5360,7 +4764,7 @@ aX aX aX OJ -eF +JI ax ab aT @@ -5379,50 +4783,50 @@ ab ac ac Rk -fd -ZN -ZN -ZN -ZN -ZN -Ck -Ck -Ck -Ck -Ck -ZN -ZN -AJ -ZN -Ck -Ck -Jt -Ck -Ck -Ck -Ck -Jt +am +JI +JI +JI +JI +JI +an +an +an +an +an +JI +JI +JI +JI +an +an +hI +an +an +an +an +hI +by +an +an +JI +hI +hI +an +an +JI +JI +JI +an +JI +JI +JI +hI +hI +an +JI +JI by -Ck -Ck -ZN -Jt -Jt -Ck -Ck -ZN -ZN -AJ -Ck -ZN -ZN -ZN -Jt -Jt -Ck -ZN -ZN -rY bQ ac ac diff --git a/_maps/outpost/hangar/nt_ice_56x20.dmm b/_maps/outpost/hangar/nt_ice_56x20.dmm index 08deb136002..c7e73652ef0 100644 --- a/_maps/outpost/hangar/nt_ice_56x20.dmm +++ b/_maps/outpost/hangar/nt_ice_56x20.dmm @@ -174,27 +174,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/hangar) -"bK" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"cu" = ( -/obj/structure/flora/grass/green, -/obj/item/trash/energybar{ - layer = 2.8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "cY" = ( /obj/effect/turf_decal/borderfloor/corner, /obj/effect/turf_decal/siding/white{ @@ -222,27 +201,6 @@ }, /turf/open/floor/plasteel/tech, /area/hangar) -"dN" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "ez" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -253,40 +211,6 @@ planetary_atmos = 1 }, /area/hangar) -"eS" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"fj" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "fC" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -297,19 +221,6 @@ planetary_atmos = 1 }, /area/hangar) -"gk" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "gQ" = ( /obj/effect/turf_decal/borderfloor{ dir = 9 @@ -322,37 +233,6 @@ planetary_atmos = 1 }, /area/hangar) -"hD" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"if" = ( -/obj/machinery/door/airlock/outpost, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plasteel/tech, -/area/hangar) -"is" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "iY" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -369,15 +249,6 @@ planetary_atmos = 1 }, /area/hangar) -"ji" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "jk" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -393,38 +264,6 @@ planetary_atmos = 1 }, /area/hangar) -"kt" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 - }, -/obj/item/toy/plush/moth/firewatch{ - pixel_y = 3 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"kH" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"la" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "ll" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/sprayweb{ @@ -435,20 +274,6 @@ planetary_atmos = 1 }, /area/hangar) -"lH" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 8 - }, -/obj/machinery/computer/hydrogen_exchange{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "mu" = ( /obj/effect/turf_decal/borderfloor{ dir = 9 @@ -463,28 +288,6 @@ planetary_atmos = 1 }, /area/hangar) -"my" = ( -/obj/structure/flora/grass/green, -/obj/item/trash/candy{ - pixel_x = 4; - layer = 2.8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"mP" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "mX" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -497,20 +300,6 @@ light_range = 2 }, /area/hangar) -"nD" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "oq" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -551,23 +340,7 @@ /obj/structure/catwalk/over/plated_catwalk, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"pm" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2 @@ -610,9 +383,6 @@ /obj/effect/turf_decal/borderfloor/full, /obj/machinery/light/floor, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, /turf/open/floor/plasteel/patterned/cargo_one{ light_color = "#1B1D2E"; light_range = 2 @@ -631,17 +401,6 @@ planetary_atmos = 1 }, /area/hangar) -"qR" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "sp" = ( /obj/effect/turf_decal/borderfloor{ dir = 4 @@ -681,17 +440,6 @@ planetary_atmos = 1 }, /area/hangar) -"sW" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "uy" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -746,34 +494,6 @@ planetary_atmos = 1 }, /area/hangar) -"wK" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/machinery/light/floor{ - bulb_power = 0.75 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"xp" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "xt" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -825,24 +545,6 @@ planetary_atmos = 1 }, /area/hangar) -"yh" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north{ - pixel_x = -6; - bulb_power = 0.25 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "zG" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -869,18 +571,6 @@ light_range = 2 }, /area/hangar) -"AZ" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Bh" = ( /obj/machinery/door/airlock/outpost, /turf/open/floor/plasteel/tech, @@ -902,57 +592,6 @@ planetary_atmos = 1 }, /area/hangar) -"Cg" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"Cj" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Ck" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pressure_valve, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Cn" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Cs" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/effect/decal/cleanable/dirt, @@ -1069,45 +708,6 @@ planetary_atmos = 1 }, /area/hangar) -"HJ" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"HR" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"HT" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Jh" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1118,18 +718,6 @@ planetary_atmos = 1 }, /area/hangar) -"JW" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "KH" = ( /obj/structure/flora/grass/both, /turf/open/floor/plating/asteroid/snow/temperatre{ @@ -1137,31 +725,6 @@ light_range = 2 }, /area/hangar) -"Lh" = ( -/obj/structure/railing{ - dir = 5; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"Li" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "Ms" = ( /obj/effect/turf_decal/corner/opaque/neutral, /obj/effect/turf_decal/siding/white, @@ -1233,18 +796,6 @@ planetary_atmos = 1 }, /area/hangar) -"Pp" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Pu" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -1258,18 +809,6 @@ planetary_atmos = 1 }, /area/hangar) -"PL" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "PW" = ( /obj/effect/turf_decal/borderfloor/corner{ dir = 1 @@ -1336,18 +875,6 @@ planetary_atmos = 1 }, /area/hangar) -"Si" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Sk" = ( /obj/effect/turf_decal/siding/white{ dir = 9 @@ -1357,19 +884,6 @@ planetary_atmos = 1 }, /area/hangar) -"Sr" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "SC" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -1381,16 +895,6 @@ planetary_atmos = 1 }, /area/hangar) -"SJ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "SS" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1404,12 +908,6 @@ planetary_atmos = 1 }, /area/hangar) -"Tb" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "Tj" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -1423,32 +921,6 @@ light_range = 2 }, /area/hangar) -"TK" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"TR" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Uo" = ( /obj/structure/chair{ dir = 1 @@ -1483,24 +955,10 @@ /obj/effect/turf_decal/siding/white{ dir = 1 }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Vu" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 +/obj/structure/railing{ + dir = 1 }, -/turf/open/floor/plating{ +/turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2; planetary_atmos = 1 @@ -1549,24 +1007,6 @@ planetary_atmos = 1 }, /area/hangar) -"WL" = ( -/obj/structure/railing{ - dir = 9; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "WP" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -1588,31 +1028,6 @@ planetary_atmos = 1 }, /area/hangar) -"Xf" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"Xs" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "XO" = ( /obj/effect/turf_decal/siding/white{ dir = 6 @@ -1691,20 +1106,6 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"ZF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2 @@ -1726,29 +1127,6 @@ planetary_atmos = 1 }, /area/hangar) -"ZR" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"ZX" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "ZZ" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -2486,8 +1864,8 @@ NE aG KH UJ -Si -JW +Cs +OZ aN aN aN @@ -2508,8 +1886,8 @@ aN aN aN aN -ZR -gk +vM +pb zG KH aG @@ -2528,7 +1906,7 @@ KH aG aG UJ -pb +Dn OZ aN aN @@ -2551,7 +1929,7 @@ aN aN aN vM -TR +Cs ay aG aG @@ -2570,7 +1948,7 @@ aG aG aG UJ -pb +Dn OZ aN aN @@ -2593,7 +1971,7 @@ aN aN aN SC -Cg +as zG KH aG @@ -2612,7 +1990,7 @@ aG aG aG UJ -YT +Dn OZ aN aN @@ -2635,7 +2013,7 @@ aN aN aN SC -Cg +as zG aG aG @@ -2654,7 +2032,7 @@ aG NE KH UJ -is +Dn OZ ax aN @@ -2677,7 +2055,7 @@ aN aN ax SC -Cg +as zG aG aG @@ -2696,7 +2074,7 @@ KH aG aG UJ -is +Dn OZ aN aN @@ -2719,7 +2097,7 @@ aN aN aN SC -Cg +as zG aG NE @@ -2738,7 +2116,7 @@ aG KH aG Dk -bK +Dn OZ aN aN @@ -2761,7 +2139,7 @@ aN aN aN SC -Cg +as zG KH aG @@ -2780,7 +2158,7 @@ NE aG aG Dk -bK +Dn OZ aN aN @@ -2803,7 +2181,7 @@ aN aN aN SC -Cg +as zG aG aG @@ -2822,7 +2200,7 @@ aG aG NE Dk -bK +as OZ aN aN @@ -2845,7 +2223,7 @@ aN aN aN vM -Cg +as zG ap aG @@ -2864,7 +2242,7 @@ ap KH aG Dk -HR +as OZ ax aN @@ -2887,7 +2265,7 @@ aN aN ax SC -TR +Cs zG aG KH @@ -2906,7 +2284,7 @@ aG aG KH Dk -HR +as OZ aN aN @@ -2929,7 +2307,7 @@ aN aN aN SC -ZF +Dn ay aG aG @@ -2948,7 +2326,7 @@ aG ap aG UJ -HR +as OZ aN aN @@ -2971,7 +2349,7 @@ aN aN aN SC -ZF +Dn ay KH aG @@ -2990,7 +2368,7 @@ KH aG NE UJ -HR +as OZ aN aN @@ -3013,7 +2391,7 @@ aN aN aN SC -ZF +Dn zG aG aG @@ -3032,7 +2410,7 @@ aG aG KH UJ -bK +as Rs aN aN @@ -3055,7 +2433,7 @@ aN aN aN SC -ZF +Dn ay aG aG @@ -3074,7 +2452,7 @@ aG NE aG UJ -pb +Cs Rs ax aN @@ -3097,7 +2475,7 @@ aN aN ax SC -ZF +Dn zG aG aG @@ -3116,7 +2494,7 @@ aG ap aG UJ -pb +Cs aX aN aN @@ -3139,7 +2517,7 @@ aN aN aN SC -TR +Cs zG ap aG @@ -3158,7 +2536,7 @@ KH aG ap UJ -PL +Cs OZ aN aN @@ -3181,7 +2559,7 @@ aN aN aN vM -Sr +pb zG aG NE @@ -3200,8 +2578,8 @@ aG aG aG UJ -pm -JW +Dn +OZ aN aN aN @@ -3222,8 +2600,8 @@ aN aN aN aN -ZR -SJ +vM +Cs ay aG aG @@ -3242,7 +2620,7 @@ al aG ap UJ -is +Dn OZ aN aN @@ -3265,7 +2643,7 @@ aN aN aN SC -Cg +as zG aG aG @@ -3284,7 +2662,7 @@ ae NE aG UJ -is +Dn OZ ax aN @@ -3307,7 +2685,7 @@ aN aN ax SC -Cg +as zG aG KH @@ -3326,7 +2704,7 @@ al aG KH UJ -HR +Dn OZ aN aN @@ -3349,7 +2727,7 @@ aN aN aN SC -Cg +as zG aG aG @@ -3368,7 +2746,7 @@ al ap aG UJ -HR +Dn OZ aN aN @@ -3391,7 +2769,7 @@ aN aN aN SC -Cg +as zG aG aG @@ -3410,7 +2788,7 @@ al Fs aG Dk -pb +Dn OZ aN aN @@ -3433,7 +2811,7 @@ aN aN aN SC -Cg +as zG aG NE @@ -3452,7 +2830,7 @@ al al aG Dk -pb +Dn OZ aN aN @@ -3475,7 +2853,7 @@ aN aN aN SC -Cg +as zG aG ap @@ -3494,7 +2872,7 @@ al al aG Dk -YT +as OZ ax aN @@ -3517,7 +2895,7 @@ aN aN ax vM -Cg +as zG KH aG @@ -3536,7 +2914,7 @@ al KH aG Dk -is +as OZ aN aN @@ -3559,7 +2937,7 @@ aN aN aN SC -TR +Cs zG aG aG @@ -3578,7 +2956,7 @@ al aG ap Dk -is +as OZ aN aN @@ -3601,7 +2979,7 @@ aN aN aN SC -ZF +Dn ay aG NE @@ -3620,7 +2998,7 @@ al aG NE UJ -bK +as OZ aN aN @@ -3643,7 +3021,7 @@ aN aN aN SC -ZF +Dn ay aG aG @@ -3662,7 +3040,7 @@ al aG aG UJ -bK +as OZ aN aN @@ -3685,7 +3063,7 @@ aN aN aN SC -ZF +Dn zG aG KH @@ -3704,7 +3082,7 @@ al KH aG UJ -bK +as Rs ax aN @@ -3727,7 +3105,7 @@ aN aN ax SC -ZF +Dn ay aG aG @@ -3746,7 +3124,7 @@ al aG aG UJ -HR +Dn Rs aN aN @@ -3769,7 +3147,7 @@ aN aN aN SC -ZF +Dn ay aG aG @@ -3785,10 +3163,10 @@ al al al ae -my +ap aG UJ -HR +Dn OZ aN aN @@ -3811,7 +3189,7 @@ aN aN aN ZZ -TR +Cs ay aG aG @@ -3828,9 +3206,9 @@ ag ag aG aG -lH -Dk -HR +KH +SC +Dn OZ aN aN @@ -3853,7 +3231,7 @@ aN aN aN SC -ZF +Dn OZ aG aG @@ -3866,14 +3244,14 @@ ag (51,1,1) = {" ag Hr -kt +Hr ag -KH aG -Xs -fj -Xf -JW +NE +aG +UJ +Dn +OZ aN aN aN @@ -3894,8 +3272,8 @@ aN aN aN aN -HT -ji +SC +Dn ay KH aG @@ -3908,13 +3286,13 @@ ag (52,1,1) = {" ag Hr -Li +Hr ag -kH -kH -wK -Dk -PL +aG +aG +aG +UJ +Dn OZ ax aN @@ -3937,7 +3315,7 @@ aN aN ax SC -Cg +as ay NE aG @@ -3950,13 +3328,13 @@ al (53,1,1) = {" ag Hr -Tb -if -la -la -WL -HJ -pb +Hr +Bh +aG +aG +NE +Dk +as OZ aN aN @@ -3979,7 +3357,7 @@ aN aN aN SC -ZF +Dn ay aG aG @@ -3994,11 +3372,11 @@ ag Hr Hr ag -yh -nD -hD -AZ -Vu +KH +aG +aG +UJ +as OZ aN aN @@ -4021,7 +3399,7 @@ aN aN aN SC -ZF +Dn zG aG aG @@ -4036,11 +3414,11 @@ ag ag ag ag -cu aG -dN -Ck -xp +ap +aG +Dk +Dn OZ aN aN @@ -4063,7 +3441,7 @@ aN aN aN vM -ZF +Dn ay KH aG @@ -4079,10 +3457,10 @@ al al al aG -aG -TK -SC -pb +NE +ap +UJ +Cs OZ aN aN @@ -4105,7 +3483,7 @@ aN aN aN SC -ZF +Dn ay aG NE @@ -4121,9 +3499,9 @@ al al al aG -KH -Lh -eS +aG +aG +UJ pb OZ ax @@ -4147,7 +3525,7 @@ aN aN ax SC -TR +Cs ay aG aG @@ -4163,7 +3541,7 @@ al al Fs aG -aG +KH aG UJ YT @@ -4189,7 +3567,7 @@ aN aN aN SC -TR +Cs ay aG KH @@ -4208,7 +3586,7 @@ aG aG KH UJ -is +Cs Rs aN aN @@ -4231,7 +3609,7 @@ aN aN aN SC -TR +Cs ay aG al @@ -4250,7 +3628,7 @@ NE aG aG UJ -is +Cs Rs aN aN @@ -4273,7 +3651,7 @@ aN aN aN SC -TR +Cs zG ap al @@ -4292,7 +3670,7 @@ aG aG NE Dk -bK +Dn Rs aN aN @@ -4315,7 +3693,7 @@ aN aN aN SC -ZF +Dn OC aG al @@ -4334,7 +3712,7 @@ KH aG aG UJ -bK +Dn OZ ax aN @@ -4357,7 +3735,7 @@ aN aN ax SC -TR +Cs OC KH aG @@ -4376,7 +3754,7 @@ aG aG aG UJ -bK +Dn OZ aN aN @@ -4399,7 +3777,7 @@ aN aN aN vM -Cg +as ay NE aG @@ -4418,7 +3796,7 @@ aG KH aG UJ -HR +as OZ aN aN @@ -4441,7 +3819,7 @@ aN aN aN vM -ZF +Dn ay aG aG @@ -4460,7 +3838,7 @@ aG NE aG UJ -HR +as OZ aN aN @@ -4483,7 +3861,7 @@ aN aN aN vM -ZF +Dn ay aG KH @@ -4502,7 +3880,7 @@ aG ap aG UJ -HR +as OZ aN aN @@ -4525,7 +3903,7 @@ aN aN aN SC -ZF +Dn ay aG NE @@ -4544,7 +3922,7 @@ aG aG NE UJ -HR +as OZ aN aN @@ -4567,7 +3945,7 @@ aN aN aN SC -TR +Cs ay aG aG @@ -4586,8 +3964,8 @@ aG aG aG UJ -sW -Cj +Dn +Rs ax aN aN @@ -4608,8 +3986,8 @@ aN aN aN ax -HT -SJ +SC +Cs ay KH Fs @@ -4628,7 +4006,7 @@ aG KH aG Dk -bK +Dn Rs aN aN @@ -4651,7 +4029,7 @@ aN aN aN SC -ZF +Dn ay aG al @@ -4670,7 +4048,7 @@ aG aG aG Dk -HR +as Rs aN aN @@ -4693,7 +4071,7 @@ ax aN aN SC -Cg +as ay ap al @@ -4712,7 +4090,7 @@ NE aG aG UJ -HR +as HC RC RC @@ -4735,7 +4113,7 @@ RC RC RC vl -Cg +as ay KH al @@ -4754,29 +4132,29 @@ KH aG aG UJ -qR -ZX -Cn -mP -mP -mP -ZX -Cn -Cn -mP -mP -ZX -Pp -ZX -mP -ZX -ZX -ZX -Cn -Cn -mP -ZX -ZX +aE +as +Cs +Dn +Dn +Dn +as +Cs +Cs +Dn +Dn +as +pM +as +Dn +as +as +as +Cs +Cs +Dn +as +as pM zG aG diff --git a/_maps/outpost/hangar/nt_ice_56x40.dmm b/_maps/outpost/hangar/nt_ice_56x40.dmm index d484671d2f9..95ae1fc8aea 100644 --- a/_maps/outpost/hangar/nt_ice_56x40.dmm +++ b/_maps/outpost/hangar/nt_ice_56x40.dmm @@ -234,17 +234,6 @@ light_range = 2 }, /area/hangar) -"cb" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "ck" = ( /turf/open/floor/plating{ light_color = "#1B1D2E"; @@ -290,17 +279,6 @@ planetary_atmos = 1 }, /area/hangar) -"dn" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "ds" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -314,17 +292,6 @@ light_range = 2 }, /area/hangar) -"dQ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "dT" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -352,12 +319,9 @@ "eZ" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning, +/obj/structure/filingcabinet/double/grey, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, -/obj/structure/filingcabinet/double/grey{ - dir = 8; - pixel_x = 7 - }, /turf/open/floor/plating{ planetary_atmos = 1 }, @@ -389,18 +353,6 @@ planetary_atmos = 1 }, /area/hangar) -"fT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "gc" = ( /obj/machinery/light/floor, /obj/effect/decal/cleanable/dirt, @@ -418,38 +370,6 @@ }, /turf/open/floor/plasteel/telecomms_floor, /area/hangar) -"ia" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"iG" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pressure_valve, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "iJ" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -474,15 +394,6 @@ light_range = 2 }, /area/hangar) -"jF" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 - }, -/obj/item/toy/plush/moth/firewatch{ - pixel_y = 3 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "jS" = ( /obj/effect/turf_decal/borderfloor/corner{ dir = 8 @@ -511,19 +422,6 @@ planetary_atmos = 1 }, /area/hangar) -"kr" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "kH" = ( /obj/effect/turf_decal/borderfloor{ dir = 9 @@ -538,15 +436,6 @@ planetary_atmos = 1 }, /area/hangar) -"ln" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/asteroid/icerock/temperate, -/area/hangar) -"lo" = ( -/obj/machinery/door/airlock/outpost, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plasteel/tech, -/area/hangar) "lu" = ( /obj/effect/decal/fakelattice, /turf/open/floor/plasteel/elevatorshaft{ @@ -628,23 +517,6 @@ light_range = 2 }, /area/hangar) -"ne" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "nC" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -663,18 +535,6 @@ planetary_atmos = 1 }, /area/hangar) -"nZ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "oc" = ( /obj/effect/turf_decal/siding/white{ dir = 8 @@ -691,53 +551,6 @@ planetary_atmos = 1 }, /area/hangar) -"pa" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"pi" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"ps" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "pD" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -762,20 +575,6 @@ }, /turf/open/floor/plasteel/tech, /area/hangar) -"qN" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "qX" = ( /obj/effect/turf_decal/borderfloor{ dir = 6 @@ -802,16 +601,6 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/plasteel/tech, /area/hangar) -"sd" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "sw" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -847,31 +636,6 @@ "tj" = ( /turf/open/floor/plasteel/tech, /area/hangar) -"ts" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"tF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "tR" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -945,29 +709,6 @@ planetary_atmos = 1 }, /area/hangar) -"vT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"wG" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "wT" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -979,18 +720,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech, /area/hangar) -"wZ" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "yU" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1003,32 +732,6 @@ planetary_atmos = 1 }, /area/hangar) -"AU" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"AW" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "Be" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -1174,50 +877,6 @@ light_range = 2 }, /area/hangar) -"El" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Eo" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"Eu" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Fi" = ( -/obj/structure/flora/grass/both, -/obj/item/trash/raisins{ - layer = 2.8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Fn" = ( /obj/structure/closet/crate/bin, /obj/effect/turf_decal/industrial/outline/yellow, @@ -1230,19 +889,6 @@ }, /turf/open/floor/plasteel/dark, /area/hangar) -"Fw" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "FS" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1256,32 +902,6 @@ planetary_atmos = 1 }, /area/hangar) -"Ht" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/machinery/light/floor{ - bulb_power = 0.75 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"HF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "HV" = ( /obj/effect/turf_decal/borderfloor{ dir = 10 @@ -1300,20 +920,11 @@ planetary_atmos = 1 }, /area/hangar) -"HY" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "Iz" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; @@ -1372,9 +983,6 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; @@ -1418,7 +1026,6 @@ /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/structure/chair/comfy/orange/directional/west, /obj/machinery/light/small/directional/east, /turf/open/floor/plating{ planetary_atmos = 1 @@ -1461,20 +1068,6 @@ planetary_atmos = 1 }, /area/hangar) -"Mk" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 8 - }, -/obj/machinery/computer/hydrogen_exchange{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Mt" = ( /obj/machinery/computer/secure_data{ icon_state = "computer-left"; @@ -1511,39 +1104,6 @@ planetary_atmos = 1 }, /area/hangar) -"Od" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Oj" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"Or" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "OW" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 4 @@ -1636,24 +1196,6 @@ planetary_atmos = 1 }, /area/hangar) -"SR" = ( -/obj/structure/railing{ - dir = 9; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Ts" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1679,27 +1221,6 @@ planetary_atmos = 1 }, /area/hangar) -"UV" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "UZ" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -1711,82 +1232,19 @@ layer = 4.1; dir = 10 }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Vu" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 9 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"VK" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"Wm" = ( -/obj/structure/railing{ - dir = 5; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"WY" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"Xf" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ +/turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2; planetary_atmos = 1 }, /area/hangar) -"Xq" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, +"Vu" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/obj/effect/turf_decal/siding/white, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ +/turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2; planetary_atmos = 1 @@ -1812,20 +1270,6 @@ }, /turf/open/floor/plasteel/telecomms_floor, /area/hangar) -"XS" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Yb" = ( /obj/effect/turf_decal/borderfloor{ dir = 4 @@ -1843,19 +1287,6 @@ planetary_atmos = 1 }, /area/hangar) -"Ye" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Yn" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1897,25 +1328,11 @@ /obj/effect/turf_decal/borderfloor/full, /obj/machinery/light/floor, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel/patterned/cargo_one{ light_color = "#1B1D2E"; light_range = 2 }, /area/hangar) -"YW" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "YX" = ( /obj/structure/flora/tree/dead, /turf/open/floor/plating/asteroid/snow/temperatre{ @@ -1923,24 +1340,6 @@ light_range = 2 }, /area/hangar) -"Zj" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north{ - pixel_x = -6; - bulb_power = 0.25 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "ZE" = ( /obj/effect/turf_decal/industrial/hatch/yellow, /obj/machinery/vending/coffee, @@ -3028,8 +2427,8 @@ ao aE aZ aj -YW -AU +fM +aK ck ck ck @@ -3070,8 +2469,8 @@ ck ck ck ck -ts -XS +aN +Iz am aZ aE @@ -3090,7 +2489,7 @@ aZ aE aE aj -fT +aw aK ck ck @@ -3133,7 +2532,7 @@ ck ck ck aN -kr +fM tR aE aE @@ -3152,7 +2551,7 @@ aE aE ao aj -fT +aw aK ck ck @@ -3195,7 +2594,7 @@ ck ck ck pD -dQ +ad am aZ aE @@ -3214,7 +2613,7 @@ aE aE aE aj -fT +aw aK ck ck @@ -3257,7 +2656,7 @@ ck ck ck pD -dQ +ad am aE aE @@ -3276,7 +2675,7 @@ aE ao aZ aj -fT +aw aK aG ck @@ -3319,7 +2718,7 @@ ck ck aG pD -dQ +ad am aE aE @@ -3338,7 +2737,7 @@ aZ aE aE aj -fT +aw aK ck ck @@ -3381,7 +2780,7 @@ ck ck ck pD -dQ +ad am aE ao @@ -3400,7 +2799,7 @@ aE aZ aE aD -fT +aw aK ck ck @@ -3443,7 +2842,7 @@ ck ck ck pD -dQ +ad am aZ aE @@ -3462,7 +2861,7 @@ ao aE aE aD -fT +aw aK ck ck @@ -3505,7 +2904,7 @@ ck ck ck pD -dQ +ad am aE aE @@ -3524,7 +2923,7 @@ aE aE ao aD -El +ad aK ck ck @@ -3567,7 +2966,7 @@ ck ck ck aN -dQ +ad am ai aE @@ -3586,7 +2985,7 @@ ai aZ aE aD -El +ad aK aG ck @@ -3629,7 +3028,7 @@ ck ck aG pD -kr +fM am aE aZ @@ -3648,7 +3047,7 @@ aE ao aZ aD -El +ad aK ck ck @@ -3691,7 +3090,7 @@ ck ck ck pD -tF +aw tR aE aE @@ -3710,7 +3109,7 @@ aE ai aE aj -El +ad aK ck ck @@ -3753,7 +3152,7 @@ ck ck ck pD -tF +aw tR aZ aE @@ -3772,7 +3171,7 @@ aZ aE ao aj -El +ad aK ck ck @@ -3815,7 +3214,7 @@ ck ck ck pD -tF +aw am aE aE @@ -3834,7 +3233,7 @@ aE aE aZ aj -El +ad kd ck ck @@ -3877,7 +3276,7 @@ ck ck ck pD -tF +aw tR aE aE @@ -3896,7 +3295,7 @@ aE ao aE aj -Ye +fM kd ck ck @@ -3939,7 +3338,7 @@ ck ck ck pD -tF +aw am aE aE @@ -3958,7 +3357,7 @@ aE ai aE aj -Ye +fM sw aG ck @@ -4001,7 +3400,7 @@ ck ck aG pD -kr +fM am ai aE @@ -4020,7 +3419,7 @@ aZ aE ai aj -Ye +fM aK ck ck @@ -4082,8 +3481,8 @@ aE aE aE aj -nZ -AU +aw +aK ck ck ck @@ -4124,8 +3523,8 @@ ck ck ck ck -ts -cb +aN +fM tR aE aE @@ -4144,7 +3543,7 @@ aI aE ai aj -fT +aw aK ck ck @@ -4187,7 +3586,7 @@ ck ck ck pD -dQ +ad am aE aE @@ -4206,7 +3605,7 @@ au ao aE aj -fT +aw aK ck ck @@ -4249,7 +3648,7 @@ ck ck ck pD -dQ +ad am aE aZ @@ -4268,7 +3667,7 @@ aI aE aZ aj -fT +aw aK aG ck @@ -4311,7 +3710,7 @@ ck ck aG pD -dQ +ad am aE aE @@ -4330,7 +3729,7 @@ aI ai aE aj -fT +aw aK ck ck @@ -4373,7 +3772,7 @@ ck ck ck pD -dQ +ad am aE aE @@ -4392,7 +3791,7 @@ aI aT aE aD -fT +aw aK ck ck @@ -4435,7 +3834,7 @@ ck ck ck pD -dQ +ad am aE ao @@ -4454,7 +3853,7 @@ aI aI aE aD -fT +aw aK ck ck @@ -4497,7 +3896,7 @@ ck ck ck pD -dQ +ad am aE ai @@ -4516,7 +3915,7 @@ aI aI aE aD -El +ad aK ck ck @@ -4559,7 +3958,7 @@ ck ck ck aN -dQ +ad am aZ aE @@ -4578,7 +3977,7 @@ aI aZ aE aD -El +ad aK aG ck @@ -4621,7 +4020,7 @@ ck ck aG pD -kr +fM am aE aE @@ -4640,7 +4039,7 @@ aI aE ai aD -El +ad aK ck ck @@ -4683,7 +4082,7 @@ ck ck ck pD -tF +aw tR aE ao @@ -4702,7 +4101,7 @@ aI aE ao aj -El +ad aK ck ck @@ -4745,7 +4144,7 @@ ck ck ck pD -tF +aw tR aE aE @@ -4764,7 +4163,7 @@ aI aE aE aj -El +ad aK ck ck @@ -4807,7 +4206,7 @@ ck ck ck pD -tF +aw am aE aZ @@ -4826,7 +4225,7 @@ aI aZ aE aj -El +ad kd ck ck @@ -4869,7 +4268,7 @@ ck ck ck pD -tF +aw tR aE aE @@ -4888,7 +4287,7 @@ aI aE aE aj -fT +aw kd aG ck @@ -4931,7 +4330,7 @@ ck ck aG pD -tF +aw tR aE aE @@ -4950,7 +4349,7 @@ au ai aE aj -fT +aw aK ck ck @@ -4993,7 +4392,7 @@ ck ck ck Ck -kr +fM tR aE aE @@ -5008,11 +4407,11 @@ aH aH aH aH -ln aE -Mk -aD -El +aE +aZ +pD +aw aK ck ck @@ -5055,7 +4454,7 @@ ck ck ck pD -tF +aw aK aE aE @@ -5068,14 +4467,14 @@ aH (51,1,1) = {" aH tj -jF +tj aH -aZ aE -pi -ps -dn -AU +ao +aE +aj +aw +aK ck ck ck @@ -5116,8 +4515,8 @@ ck ck ck ck -wZ -Xf +pD +aw tR aZ aE @@ -5130,13 +4529,13 @@ aH (52,1,1) = {" aH tj -HY +tj aH -Mj -Mj -Ht -aD -fT +aE +aE +aE +aj +aw aK ck ck @@ -5179,7 +4578,7 @@ ck ck ck pD -dQ +ad tR ao aE @@ -5192,13 +4591,13 @@ aI (53,1,1) = {" aH tj -Oj -lo -vT -vT -SR -ne -Ye +tj +sB +aE +aE +ao +aD +ad aK aG ck @@ -5241,7 +4640,7 @@ ck ck aG pD -tF +aw tR aE aE @@ -5256,11 +4655,11 @@ aH tj tj aH -Zj -qN -Eo -pa -Od +aZ +aE +aE +aj +ad aK ck ck @@ -5303,7 +4702,7 @@ ck ck ck pD -tF +aw am aE aE @@ -5318,11 +4717,11 @@ aH aH aH aH +aE ai aE -UV -iG -Fw +aD +aw aK ck ck @@ -5365,7 +4764,7 @@ ck ck ck aN -tF +aw tR aZ aE @@ -5379,12 +4778,12 @@ aI aI aI aI -ln -aE +aI aE -AW -pD -Ye +ao +ai +aj +fM aK ck ck @@ -5427,7 +4826,7 @@ ck ck ck pD -tF +aw tR aE ao @@ -5443,10 +4842,10 @@ aI aI aI aE -Fi -Wm -wG -Ye +aE +aE +aj +Iz aK ck ck @@ -5489,7 +4888,7 @@ ck ck ck pD -kr +fM tR aE aE @@ -5551,7 +4950,7 @@ ck ck aG pD -kr +fM tR aE aZ @@ -5570,7 +4969,7 @@ aE aE aZ aj -Ye +fM kd ck ck @@ -5613,7 +5012,7 @@ ck ck ck pD -kr +fM tR aE aI @@ -5632,7 +5031,7 @@ ao aE aE aj -Ye +fM kd ck ck @@ -5675,7 +5074,7 @@ ck ck ck pD -kr +fM am ai aI @@ -5694,7 +5093,7 @@ aE aE ao aD -fT +aw kd ck ck @@ -5737,7 +5136,7 @@ ck ck ck pD -tF +aw aO aE aI @@ -5756,7 +5155,7 @@ aZ aE aE aj -fT +aw aK ck ck @@ -5799,7 +5198,7 @@ ck ck ck pD -kr +fM aO aZ aE @@ -5818,7 +5217,7 @@ aE aE aE aj -fT +aw aK aG ck @@ -5861,7 +5260,7 @@ ck ck aG aN -dQ +ad tR ao aE @@ -5880,7 +5279,7 @@ aE aZ aE aj -El +ad aK ck ck @@ -5923,7 +5322,7 @@ ck ck ck aN -tF +aw tR aE aE @@ -5942,7 +5341,7 @@ aE ao aE aj -El +ad aK ck ck @@ -5985,7 +5384,7 @@ ck ck ck aN -tF +aw tR aE aZ @@ -6004,7 +5403,7 @@ aE ai aE aj -El +ad aK ck ck @@ -6047,7 +5446,7 @@ ck ck ck pD -tF +aw tR aE ao @@ -6066,7 +5465,7 @@ aE aE ao aj -El +ad aK ck ck @@ -6109,7 +5508,7 @@ ck ck ck pD -kr +fM tR aE aE @@ -6128,8 +5527,8 @@ aE aE aE aj -nZ -Or +aw +kd aG ck ck @@ -6170,8 +5569,8 @@ ck ck ck aG -wZ -cb +pD +fM tR aZ aT @@ -6190,7 +5589,7 @@ aE aZ aE aD -fT +aw kd ck ck @@ -6233,7 +5632,7 @@ ck ck ck pD -tF +aw tR aE aI @@ -6252,7 +5651,7 @@ aE aE aE aD -El +ad kd ck ck @@ -6295,7 +5694,7 @@ aG ck ck pD -dQ +ad tR ai aI @@ -6314,7 +5713,7 @@ ao aE aE aj -El +ad cX Mj ar @@ -6327,7 +5726,7 @@ ar ar ar ar -ia +ar ar ar ar @@ -6347,7 +5746,7 @@ ar ar ar ar -ia +ar ar ar ar @@ -6357,7 +5756,7 @@ ar ar ar qX -dQ +ad tR aZ aI @@ -6376,50 +5775,50 @@ aZ aE aE aj -VK -Eu -Eu -Eu -Eu -Eu -sd -sd -sd -sd -sd -Eu -Eu -HF -Eu -sd -sd -Xq -sd -sd -sd -sd -Xq +Cb +ad +ad +ad +ad +ad +aw +aw +aw +aw +aw +ad +ad +ad +ad +aw +aw +fM +aw +aw +aw +aw +fM +YA +aw +aw +ad +fM +fM +aw +aw +ad +ad +ad +aw +ad +ad +ad +fM +fM +aw +ad +ad YA -sd -sd -Eu -Xq -Xq -sd -sd -Eu -Eu -HF -sd -Eu -Eu -Eu -Xq -Xq -sd -Eu -Eu -WY am aE aE diff --git a/_maps/outpost/indie_space.dmm b/_maps/outpost/indie_space.dmm index 7560d2921d2..4da00eb4c97 100644 --- a/_maps/outpost/indie_space.dmm +++ b/_maps/outpost/indie_space.dmm @@ -108,10 +108,25 @@ /turf/closed/indestructible/reinforced, /area/outpost/crew/library) "aM" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/prison_contraband, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/vacant_rooms) +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/structure/table, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 8 + }, +/obj/effect/spawner/random/entertainment/plushie{ + pixel_x = 16; + pixel_y = 4 + }, +/obj/machinery/computer/cryopod/directional/north, +/obj/item/folder{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/outpost/crew/cryo) "aP" = ( /obj/structure/railing{ dir = 8 @@ -189,8 +204,9 @@ dir = 10 }, /obj/machinery/computer/electrolyzer_console{ - pixel_y = -31; - density = 0 + pixel_y = -18; + density = 0; + dir = 1 }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) @@ -254,7 +270,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, -/obj/effect/spawner/lootdrop/salvage/metal, +/obj/effect/spawner/random/salvage/metal, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/central) "bL" = ( @@ -271,7 +287,7 @@ /turf/open/floor/plasteel, /area/outpost/hallway/port) "bS" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/turf_decal/corner_techfloor_grid{ dir = 8 }, @@ -330,7 +346,7 @@ /turf/open/floor/plasteel, /area/outpost/hallway/central) "ci" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, @@ -465,7 +481,7 @@ /turf/open/floor/plasteel, /area/outpost/vacant_rooms) "dl" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/turf_decal/steeldecal/steel_decals7{ dir = 9 }, @@ -915,6 +931,7 @@ /obj/effect/turf_decal/corner/opaque/neutral{ dir = 1 }, +/obj/machinery/newscaster/directional/north, /turf/open/floor/plasteel, /area/outpost/hallway/port) "gq" = ( @@ -941,7 +958,7 @@ /turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms) "gz" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/item/radio/intercom/directional/east, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 1 @@ -984,7 +1001,7 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "gS" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/outpost/maintenance/fore) "gT" = ( @@ -1061,7 +1078,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/outpost/maintenance/central) "hz" = ( @@ -1109,8 +1126,8 @@ /area/outpost/hallway/port) "hK" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/salvage_laser, -/obj/effect/spawner/lootdrop/salvage_capacitor, +/obj/effect/spawner/random/salvage_laser, +/obj/effect/spawner/random/salvage_capacitor, /turf/open/floor/plating, /area/outpost/maintenance/fore) "hM" = ( @@ -1171,7 +1188,7 @@ /area/outpost/maintenance/central) "hZ" = ( /obj/structure/table/wood, -/obj/effect/spawner/lootdrop/donut, +/obj/effect/spawner/random/food_or_drink/donut, /turf/open/floor/wood, /area/outpost/crew/bar) "ib" = ( @@ -1252,7 +1269,7 @@ /turf/open/floor/wood, /area/outpost/crew/library) "iD" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /turf/open/floor/plating, /area/outpost/maintenance/fore) "iG" = ( @@ -1304,6 +1321,7 @@ /turf/open/floor/plating/asteroid, /area/outpost/maintenance/central) "iV" = ( +/obj/machinery/door/firedoor/heavy, /obj/effect/spawner/structure/window/reinforced/indestructable, /turf/open/floor/plating, /area/outpost/vacant_rooms/office) @@ -1333,7 +1351,7 @@ /area/outpost/crew/bar) "jn" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/central) @@ -1413,7 +1431,7 @@ /turf/open/floor/plasteel/tech, /area/outpost/hallway/central) "jM" = ( -/obj/effect/spawner/lootdrop/chicken, +/obj/effect/spawner/random/chicken, /turf/open/floor/ship/dirt, /area/outpost/hallway/port) "jO" = ( @@ -1462,8 +1480,16 @@ /area/outpost/maintenance/fore) "kh" = ( /obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/area/outpost/crew/cryo) "km" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/confetti, @@ -1678,7 +1704,7 @@ /area/outpost/maintenance/central) "lA" = ( /obj/structure/flora/grass/jungle, -/obj/effect/spawner/lootdrop/chicken, +/obj/effect/spawner/random/chicken, /turf/open/floor/grass/ship/jungle, /area/outpost/hallway/central) "lB" = ( @@ -1694,18 +1720,8 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "lG" = ( -/obj/machinery/door/airlock/public, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/outpost/vacant_rooms) +/turf/closed/indestructible/reinforced, +/area/outpost/crew/cryo) "lH" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -1721,6 +1737,15 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/outpost/crew/library) +"lJ" = ( +/obj/effect/turf_decal/corner/opaque/grey/full, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel, +/area/outpost/hallway/port) "lM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/steeldecal/steel_decals9, @@ -1834,7 +1859,7 @@ /area/outpost/hallway/central) "mv" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears, +/obj/effect/spawner/random/clothing/kittyears_or_rabbitears, /obj/effect/decal/cleanable/wrapping, /turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms) @@ -2012,11 +2037,17 @@ /area/outpost/cargo) "nz" = ( /obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/obj/structure/chair{ - dir = 1 +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/area/outpost/crew/cryo) "nK" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/industrial/warning{ @@ -2349,7 +2380,8 @@ /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 1 }, -/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) "pG" = ( @@ -2472,6 +2504,11 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, /turf/open/floor/plasteel, /area/outpost/hallway/port) "qT" = ( @@ -2551,7 +2588,6 @@ /obj/effect/turf_decal/corner/opaque/neutral{ dir = 1 }, -/obj/structure/extinguisher_cabinet/directional/north, /obj/effect/turf_decal/floordetail/tiled, /turf/open/floor/plasteel, /area/outpost/hallway/port) @@ -2563,8 +2599,8 @@ /area/outpost/maintenance/fore) "rp" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/maintenance/seven, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/maintenance/seven, /turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms) "rr" = ( @@ -2636,7 +2672,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, @@ -2748,7 +2784,7 @@ /obj/structure/cable/yellow{ icon_state = "1-4" }, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 }, @@ -2954,9 +2990,9 @@ /area/outpost/crew/library) "ta" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/minor/twentyfive_percent_cyborg_mask, +/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/gloves, +/obj/effect/spawner/random/clothing/gloves, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/mono, /area/outpost/storage) @@ -2970,10 +3006,8 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "tj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "tk" = ( @@ -3126,7 +3160,7 @@ /area/outpost/cargo) "tS" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /turf/open/floor/plating, /area/outpost/maintenance/fore) "tT" = ( @@ -3290,7 +3324,7 @@ /turf/open/floor/ship/dirt, /area/outpost/hallway/central) "uE" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/fore) @@ -3398,10 +3432,18 @@ /turf/open/floor/plating/asteroid, /area/outpost/external) "vd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/structure/chair{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_y = -7 + }, +/obj/machinery/firealarm/directional/east{ + pixel_y = 6 + }, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/area/outpost/crew/cryo) "vp" = ( /obj/effect/turf_decal/corner/opaque/grey/full, /turf/open/floor/plasteel, @@ -3586,6 +3628,25 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) +"ww" = ( +/obj/machinery/door/airlock/glass{ + name = "Cryogenics" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/outpost/crew/cryo) "wA" = ( /obj/effect/decal/cleanable/food/tomato_smudge, /turf/open/floor/wood/mahogany, @@ -3668,6 +3729,16 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, /area/outpost/storage) +"wY" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 5 + }, +/obj/structure/sign/poster/random{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/crew/cryo) "xc" = ( /obj/effect/turf_decal/corner/opaque/red{ dir = 4 @@ -3720,7 +3791,7 @@ /turf/open/floor/plasteel, /area/outpost/hallway/port) "xu" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/fore) @@ -3737,10 +3808,12 @@ /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/central) "xI" = ( -/obj/machinery/camera/autoname, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/obj/machinery/cryopod, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 5 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/crew/cryo) "xJ" = ( /obj/effect/turf_decal/corner/opaque/grey/full, /obj/structure/disposalpipe/segment{ @@ -3811,7 +3884,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /turf/open/floor/plating, /area/outpost/maintenance/fore) "xZ" = ( @@ -3895,7 +3968,7 @@ /area/outpost/crew/bar) "yN" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms) "yQ" = ( @@ -4082,7 +4155,7 @@ /turf/open/floor/plating/asteroid, /area/outpost/external) "zS" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /turf/open/floor/plating, /area/outpost/maintenance/central) "zY" = ( @@ -4135,7 +4208,7 @@ /turf/open/floor/plasteel/tech, /area/outpost/maintenance/fore) "Am" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 8 }, @@ -4323,10 +4396,12 @@ /turf/open/floor/plasteel, /area/outpost/hallway/central) "AW" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/railing, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/portable_atmospherics/canister{ + icon_state = "orangews" + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "Bc" = ( @@ -4778,7 +4853,6 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/turf_decal/corner/opaque/black{ dir = 4 }, @@ -4786,8 +4860,8 @@ /area/outpost/hallway/port) "DH" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/minor/bowler_or_that, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/clothing/bowler_or_that, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/mono, /area/outpost/storage) "DI" = ( @@ -4840,7 +4914,7 @@ /obj/effect/turf_decal/corner_techfloor_gray{ dir = 9 }, -/obj/effect/spawner/lootdrop/salvage/metal, +/obj/effect/spawner/random/salvage/metal, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) @@ -4912,7 +4986,7 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "ER" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/outpost/maintenance/central) "EV" = ( @@ -4923,7 +4997,7 @@ /area/outpost/crew/bar) "EX" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/outpost/maintenance/fore) "Fa" = ( @@ -4932,6 +5006,15 @@ icon_state = "0-4" }, /obj/effect/turf_decal/steeldecal/steel_decals_central6, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, /turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) "Ff" = ( @@ -5016,12 +5099,14 @@ /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) "Fx" = ( -/obj/structure/table, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 1 }, -/obj/item/radio/intercom/directional/west, -/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/airalarm/directional/west, /turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) "FB" = ( @@ -5112,12 +5197,12 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Gi" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, +/obj/machinery/atmospherics/components/unary/hydrogen_pump, +/obj/effect/turf_decal/industrial/outline/yellow, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "Gj" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/structure/cable/yellow{ icon_state = "4-8" }, @@ -5150,7 +5235,7 @@ /area/outpost/external) "Gn" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/minor/bowler_or_that, +/obj/effect/spawner/random/clothing/bowler_or_that, /turf/open/floor/plating, /area/outpost/maintenance/fore) "Gu" = ( @@ -5322,7 +5407,7 @@ /area/outpost/hallway/central) "Hk" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears, +/obj/effect/spawner/random/clothing/beret_or_rabbitears, /obj/machinery/light/dim/directional/west, /turf/open/floor/plasteel/mono, /area/outpost/storage) @@ -5332,9 +5417,6 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Ht" = ( -/obj/machinery/door/airlock/maintenance{ - dir = 4 - }, /obj/effect/turf_decal/industrial/warning{ dir = 8 }, @@ -5353,6 +5435,15 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/door/airlock/atmos/glass{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, /turf/open/floor/plasteel/tech, /area/outpost/vacant_rooms/office) "Hv" = ( @@ -5360,15 +5451,20 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "HB" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/glowstick, -/obj/effect/spawner/lootdrop/glowstick, -/obj/effect/spawner/lootdrop/glowstick, -/obj/effect/spawner/lootdrop/glowstick, -/obj/effect/spawner/lootdrop/glowstick, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/vacant_rooms) +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 6; + pixel_x = 6 + }, +/obj/item/pen, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central6, +/turf/open/floor/plasteel, +/area/outpost/crew/cryo) "HD" = ( /turf/closed/indestructible/rock, /area/outpost/external) @@ -5627,11 +5723,13 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "IS" = ( -/obj/machinery/light/dim/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/machinery/light/dim/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, /turf/open/floor/plasteel, -/area/outpost/vacant_rooms) +/area/outpost/crew/cryo) "IT" = ( /obj/machinery/camera/autoname, /obj/effect/turf_decal/corner/opaque/red{ @@ -5774,7 +5872,7 @@ /area/outpost/cargo/office) "JV" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/minor/pirate_or_bandana, +/obj/effect/spawner/random/clothing/pirate_or_bandana, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/mono, @@ -5831,6 +5929,7 @@ /obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, +/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/plasteel, /area/outpost/hallway/port) "Kr" = ( @@ -5929,10 +6028,6 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "KJ" = ( -/obj/effect/decal/cleanable/crayon{ - icon_state = "Donk"; - pixel_y = 32 - }, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/outpost/maintenance/central) @@ -6035,10 +6130,12 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, /turf/open/floor/plasteel, /area/outpost/hallway/port) "Lh" = ( @@ -6132,17 +6229,17 @@ /turf/open/floor/wood, /area/outpost/crew/library) "LR" = ( -/obj/effect/spawner/lootdrop/tool_engie_common, -/obj/effect/spawner/lootdrop/tool_engie_common, +/obj/effect/spawner/random/engineering/tool/common, +/obj/effect/spawner/random/engineering/tool/common, /obj/structure/rack, /turf/open/floor/plating, /area/outpost/maintenance/fore) "LS" = ( /obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/turf_decal/corner/opaque/neutral{ dir = 1 }, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/plasteel, /area/outpost/hallway/port) "LU" = ( @@ -6331,6 +6428,15 @@ }, /turf/open/floor/plasteel, /area/outpost/hallway/central) +"MQ" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/crew/cryo) "Nc" = ( /turf/closed/indestructible/rock, /area/outpost/hallway/central) @@ -6364,7 +6470,7 @@ /area/outpost/cargo/office) "No" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/donut/jelly, +/obj/effect/spawner/random/food_or_drink/donut/jelly, /obj/effect/turf_decal/floordetail/tiled, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/security) @@ -6441,7 +6547,7 @@ /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, /obj/item/reagent_containers/food/snacks/grown/citrus/orange, -/obj/effect/spawner/lootdrop/salvage_capacitor, +/obj/effect/spawner/random/salvage_capacitor, /turf/open/floor/plating, /area/outpost/maintenance/fore) "NV" = ( @@ -6614,9 +6720,25 @@ }, /turf/open/floor/plasteel, /area/outpost/hallway/central) +"Pt" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 10 + }, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/outpost/crew/cryo) "Pw" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/portable_atmospherics/canister{ + icon_state = "orangews" + }, +/obj/item/wrench, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "Px" = ( @@ -6625,6 +6747,10 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/plating, /area/outpost/maintenance/fore) +"PA" = ( +/obj/effect/spawner/structure/window/reinforced/indestructable, +/turf/open/floor/plating, +/area/outpost/crew/cryo) "PD" = ( /obj/structure/chair/sofa/brown/right/directional/west, /turf/open/floor/carpet/royalblack, @@ -6659,9 +6785,13 @@ /obj/structure/holosign/barrier/infinite{ max_integrity = 500 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, /turf/open/floor/plasteel, /area/outpost/hallway/port) "PI" = ( @@ -6678,6 +6808,26 @@ }, /turf/open/floor/wood, /area/outpost/crew/bar) +"PQ" = ( +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/outpost/crew/cryo) "PS" = ( /obj/structure/falsewall/reinforced, /obj/structure/cable/yellow{ @@ -6713,7 +6863,6 @@ /area/outpost/security) "Qa" = ( /obj/effect/turf_decal/corner/opaque/grey/full, -/obj/machinery/newscaster/directional/north, /obj/effect/turf_decal/corner/opaque/neutral{ dir = 1 }, @@ -6789,8 +6938,8 @@ /area/outpost/maintenance/fore) "Qx" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/minor/bowler_or_that, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/clothing/bowler_or_that, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/mono, /area/outpost/storage) "QA" = ( @@ -6954,7 +7103,7 @@ /obj/structure/cable/yellow{ icon_state = "4-6" }, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/turf_decal/corner_techfloor_gray{ dir = 10 }, @@ -7041,7 +7190,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /turf/open/floor/plating, /area/outpost/maintenance/fore) "RJ" = ( @@ -7265,8 +7414,8 @@ /area/outpost/hallway/port) "SW" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms) "SY" = ( @@ -7275,7 +7424,7 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Ta" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/oil, /obj/effect/turf_decal/steeldecal/steel_decals9, /turf/open/floor/plating, @@ -7300,10 +7449,14 @@ /turf/open/floor/plasteel, /area/outpost/security) "Tg" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/donut, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/vacant_rooms) +/obj/effect/turf_decal/corner/opaque/neutral/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/lightgrey, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plasteel, +/area/outpost/crew/cryo) "Th" = ( /turf/closed/indestructible/reinforced, /area/outpost/cargo/office) @@ -7427,7 +7580,7 @@ /obj/effect/turf_decal/corner_techfloor_gray{ dir = 9 }, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) @@ -7479,7 +7632,7 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "Uq" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/hallway/port) "Us" = ( @@ -7489,7 +7642,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -7544,12 +7697,15 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/cargo) "UE" = ( -/obj/structure/disposalpipe/segment, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 1 }, +/obj/machinery/firealarm/directional/east, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, +/obj/machinery/computer/hydrogen_exchange{ + dir = 8 + }, +/turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) "UG" = ( /obj/structure/cable/yellow{ @@ -7618,8 +7774,15 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 5 + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) "Vc" = ( @@ -7660,7 +7823,7 @@ }, /obj/item/bedsheet/double/captain, /obj/effect/decal/cleanable/greenglow, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /obj/item/clothing/head/papersack/smiley{ pixel_x = 7 @@ -7768,7 +7931,7 @@ /turf/open/floor/carpet/green, /area/outpost/crew/bar) "Wa" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt, /mob/living/simple_animal/mouse/brown, /turf/open/floor/plating, @@ -7828,6 +7991,11 @@ /obj/effect/turf_decal/corner/opaque/neutral{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /turf/open/floor/plasteel, /area/outpost/hallway/port) "Wz" = ( @@ -7836,10 +8004,11 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "WC" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/binary/volume_pump, +/obj/structure/railing, +/obj/effect/turf_decal/industrial/shutoff, +/obj/item/radio/intercom/directional/west, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "WH" = ( @@ -7870,7 +8039,7 @@ /turf/open/floor/plasteel, /area/outpost/hallway/central) "WO" = ( -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/outpost/maintenance/fore) "WR" = ( @@ -7895,7 +8064,7 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "WV" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 1 }, @@ -7966,6 +8135,15 @@ /obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/sign/warning/nosmoking/burnt{ + pixel_y = -28 + }, /turf/open/floor/plasteel, /area/outpost/hallway/port) "Xq" = ( @@ -8027,7 +8205,7 @@ /area/outpost/hallway/port) "XA" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/five, +/obj/effect/spawner/random/maintenance/five, /turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms) "XD" = ( @@ -8198,7 +8376,7 @@ /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "YC" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/structure/rack, /obj/effect/turf_decal/steeldecal/steel_decals_central2{ dir = 4 @@ -8291,9 +8469,12 @@ /turf/open/floor/plasteel, /area/outpost/hallway/central) "Zk" = ( -/obj/structure/chair{ - dir = 1 +/obj/structure/disposalpipe/trunk{ + dir = 4 }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/disposal/bin, +/obj/machinery/light/dim/directional/west, /turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) "Zl" = ( @@ -8393,9 +8574,6 @@ /turf/open/floor/plasteel, /area/outpost/hallway/central) "ZP" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/tool_surgery_common, -/obj/effect/spawner/lootdrop/maintenance/four, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "ZU" = ( @@ -16958,11 +17136,11 @@ LL Uq Aw LL -wL -wL -wL -wL -wL +lG +lG +lG +lG +lG BM Ky yj @@ -17081,11 +17259,11 @@ LL LL LL LL -wL -aM +lG +wY Tg -aM -wL +Pt +PA rm Kl hW @@ -17094,7 +17272,7 @@ Gi WC Fx Zk -cq +wK KJ pA Mt @@ -17204,11 +17382,11 @@ HD HD HD HD -wL +lG xI kh -ev -wL +MQ +PA Qa LY wu @@ -17327,14 +17505,14 @@ HD HD HD HD -wL +lG aM -kh +PQ nz -wL -Fi +ww +Wv qR -wu +lJ iV Pw AW @@ -17450,7 +17628,7 @@ HD HD HD HD -wL +lG HB IS vd @@ -17824,7 +18002,7 @@ yN XA di wL -Wv +Fi vp kb XD diff --git a/_maps/outpost/nanotrasen_asteroid.dmm b/_maps/outpost/nanotrasen_asteroid.dmm deleted file mode 100644 index d1a184d736f..00000000000 --- a/_maps/outpost/nanotrasen_asteroid.dmm +++ /dev/null @@ -1,29808 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ac" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"ae" = ( -/obj/machinery/door/airlock/freezer, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/hallway/central) -"ag" = ( -/obj/structure/table/reinforced, -/obj/item/folder/blue{ - pixel_x = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"ai" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"ak" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/external) -"an" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"aq" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering/atmospherics) -"ar" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/outpost/maintenance/aft) -"av" = ( -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"aw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance/three, -/obj/machinery/light/small/broken/directional/south, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"ay" = ( -/obj/item/chair/stool/bar, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/carpet/blue, -/area/outpost/hallway/central) -"az" = ( -/obj/structure/closet/secure_closet/ertMed, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"aA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"aB" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"aC" = ( -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"aD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/alien/weeds, -/obj/structure/alien/egg/burst, -/obj/effect/decal/cleanable/xenoblood/xgibs/larva, -/obj/effect/decal/cleanable/xenoblood/xgibs/down{ - pixel_y = 11 - }, -/obj/effect/decal/cleanable/xenoblood/xgibs/limb{ - pixel_x = -11 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"aE" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/cakeslice/birthday{ - pixel_x = -3; - pixel_y = -5 - }, -/obj/effect/decal/cleanable/confetti{ - pixel_x = -12; - pixel_y = -3 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/bar) -"aF" = ( -/obj/item/trash/popcorn{ - pixel_y = -7 - }, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = 10; - pixel_y = 7 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/caution{ - dir = 4; - pixel_x = -6 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"aG" = ( -/obj/machinery/light/directional/north, -/obj/machinery/computer/rdconsole{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"aH" = ( -/obj/structure/fluff/hedge{ - icon_state = "hedge-8" - }, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"aI" = ( -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"aJ" = ( -/obj/structure/grille, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/outpost/maintenance/fore) -"aL" = ( -/turf/closed/mineral/random/snow, -/area/outpost/maintenance/aft) -"aN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"aO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/autolathe, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"aR" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"aS" = ( -/obj/item/kirbyplants/random, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"aU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"aV" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/item/banner, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/fore) -"aW" = ( -/turf/open/floor/plating, -/area/outpost/external) -"aZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 8 - }, -/area/outpost/engineering/atmospherics) -"ba" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/kirbyplants/photosynthetic, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"bb" = ( -/obj/structure/statue/snow/snowman{ - pixel_y = 5 - }, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"bd" = ( -/turf/open/floor/engine/air, -/area/outpost/engineering/atmospherics) -"bg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"bj" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/warning{ - dir = 1; - pixel_y = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"bk" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"bn" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/med_data/laptop{ - pixel_x = -3 - }, -/obj/machinery/computer/secure_data/laptop{ - pixel_x = 14 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"bq" = ( -/obj/structure/table_frame/wood, -/obj/item/wallframe/airalarm, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"bt" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 10 - }, -/obj/structure/closet/secure_closet/security/sec, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/button/door{ - dir = 4; - pixel_x = -28; - pixel_y = 6; - id = "outpost_security"; - req_access_txt = "101"; - name = "Security Lockdown" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"bu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"bv" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"bw" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/decal/cleanable/oil/streak, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"bx" = ( -/obj/machinery/door/poddoor/shutters/preopen, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"by" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"bA" = ( -/obj/structure/flora/tree/palm{ - icon_state = "palm2" - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"bB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"bC" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/overlay/holoray, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"bG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32 - }, -/obj/item/trash/waffles, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"bH" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/mono/dark, -/area/outpost/cargo) -"bJ" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/item/pen{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/structure/sign/poster/official/cohiba_robusto_ad{ - pixel_x = -32 - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"bL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"bO" = ( -/obj/effect/turf_decal/techfloor, -/obj/item/radio/intercom/directional/north{ - pixel_x = -3 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"bP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/fluff/hedge, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"bQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"bR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"bS" = ( -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"bU" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/library) -"bV" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/red, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"bW" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 6 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"bX" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"bY" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"ca" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"cb" = ( -/obj/effect/decal/fakelattice{ - icon_state = "lattice-12" - }, -/turf/open/space/basic, -/area/outpost/external) -"cc" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/obj/item/cardboard_cutout{ - icon_state = "cutout_ian" - }, -/obj/structure/bed/dogbed/ian, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"ce" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/beige/filled/line, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"cf" = ( -/obj/structure/closet/crate/wooden, -/obj/structure/railing/wood{ - layer = 3.1 - }, -/obj/structure/railing/wood{ - layer = 3.1; - pixel_y = 24 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/retro/nanotrasen_logo_70s{ - pixel_x = -32 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken6" - }, -/area/outpost/crew/dorm) -"ci" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"cj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/newscaster/directional/east, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/hallway/central) -"ck" = ( -/obj/structure/chair/wood{ - dir = 8; - pixel_x = 7; - pixel_y = -3 - }, -/obj/item/toy/plush/beeplushie, -/obj/item/reagent_containers/food/drinks/mug/tea{ - pixel_y = -14; - pixel_x = -4 - }, -/obj/effect/turf_decal/weather/snow/surround{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/snow/under/lit, -/area/outpost/external) -"cm" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"cn" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"cp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"cq" = ( -/obj/machinery/door/airlock/public/glass, -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "3" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"cr" = ( -/turf/open/floor/grass, -/area/outpost/crew/garden) -"ct" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"cv" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/departments/security{ - pixel_y = -32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"cw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"cB" = ( -/obj/item/kirbyplants/photosynthetic, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"cC" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/contraband/atmosia_independence{ - pixel_x = -32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"cF" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"cG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/trashcart/laundry, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"cH" = ( -/obj/structure/filingcabinet{ - pixel_x = 13 - }, -/obj/item/kirbyplants/random{ - pixel_x = -5 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/obj/machinery/newscaster/directional/north{ - pixel_x = -32 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/wood, -/area/outpost/operations) -"cJ" = ( -/turf/open/floor/plating/ice/smooth, -/area/outpost/hallway/starboard) -"cK" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"cL" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/maintenance/aft) -"cM" = ( -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"cR" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/overlay/holoray, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"cS" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"cU" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"cW" = ( -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/maintenance/fore) -"cX" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/poddoor/ert{ - dir = 8; - id = "outpost_security"; - desc = "A heavy duty blast door." - }, -/obj/machinery/door/airlock/outpost{ - dir = 4; - icon = 'icons/obj/doors/airlocks/station/security.dmi'; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - assemblytype = /obj/structure/door_assembly/door_assembly_sec; - req_one_access_txt = "101" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"da" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/shower{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"db" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/closed/indestructible/reinforced, -/area/outpost/maintenance/fore) -"dd" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"de" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"df" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/turf_decal/box/corners, -/obj/item/circuitboard/machine/vendor{ - pixel_y = 4; - pixel_x = 2 - }, -/obj/structure/window/reinforced/spawner/east, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"dg" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"dh" = ( -/obj/structure/mopbucket, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"di" = ( -/obj/structure/chair/comfy/orange/directional/west{ - buildstackamount = 0; - color = "#c45c57" - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"dj" = ( -/turf/closed/mineral/random/snow, -/area/outpost/hallway/central) -"do" = ( -/obj/structure/dresser, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/blue, -/area/outpost/operations) -"dp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"dq" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"dr" = ( -/obj/structure/chair, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"du" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/item/radio/intercom/directional/north{ - pixel_x = -3 - }, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"dv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/ale{ - pixel_x = 6; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/drinks/bottle/hcider{ - pixel_x = -9; - pixel_y = 11 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"dw" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/corner, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"dx" = ( -/obj/effect/decal/fakelattice{ - icon_state = "lattice-38" - }, -/turf/open/space/basic, -/area/outpost/external) -"dA" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"dB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/vending/coffee, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"dC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"dD" = ( -/obj/structure/table/glass, -/obj/machinery/computer/secure_data/laptop{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/toy/figure/dsquad{ - pixel_x = -9; - pixel_y = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"dE" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/effect/turf_decal/box/corners, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"dF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"dL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"dM" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"dN" = ( -/obj/structure/barricade/wooden/crude{ - layer = 3.13 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/indestructible{ - name = "Showcase Storage"; - dir = 4 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/outpost/maintenance/fore) -"dO" = ( -/obj/effect/turf_decal/snow, -/obj/effect/turf_decal/weather/snow{ - dir = 8 - }, -/turf/open/floor/concrete/reinforced, -/area/outpost/hallway/starboard) -"dQ" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"dR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"dT" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"dU" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/crew/canteen) -"dX" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/crew/canteen) -"ea" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/stand_clear, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"eb" = ( -/obj/structure/railing/wood{ - dir = 10 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"ee" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/fruit_bowl{ - pixel_y = 32 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"ef" = ( -/obj/item/trash/candy, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"eg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"eh" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"ei" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"ej" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"en" = ( -/obj/structure/closet/firecloset/full{ - anchored = 1; - can_be_unanchored = 1 - }, -/obj/structure/sign/poster/official/moth/hardhats{ - pixel_y = 32 - }, -/obj/effect/turf_decal/industrial/hatch/red, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"ep" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/newspaper{ - pixel_x = -4 - }, -/obj/item/newspaper{ - pixel_x = -4; - pixel_y = 2 - }, -/obj/item/newspaper{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = 9; - pixel_y = -1 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"er" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"et" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"eu" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"ev" = ( -/obj/structure/girder, -/obj/effect/decal/fakelattice{ - icon_state = "lattice-9" - }, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"ex" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/cargo/office) -"ez" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/railing/wood{ - dir = 10 - }, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"eB" = ( -/obj/structure/chair/office/light{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/outpost/operations) -"eC" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"eF" = ( -/obj/structure/table/glass, -/obj/machinery/fax/admin/outpost{ - pixel_y = 5 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"eH" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"eI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/caution, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/turf_decal/arrows{ - dir = 4 - }, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"eK" = ( -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/royalblue, -/area/outpost/operations) -"eL" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"eM" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"eO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"eP" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"eQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"eR" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"eS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"eU" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 1 - }, -/obj/structure/sign/poster/official/moth/piping{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"eW" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"eX" = ( -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"eZ" = ( -/obj/structure/fluff/hedge{ - icon_state = "hedge-12" - }, -/obj/machinery/light/directional/south, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"fb" = ( -/obj/machinery/vending/boozeomat/syndicate_access, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/bar) -"fc" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"ff" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"fg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"fj" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/obj/item/reagent_containers/food/drinks/mug/coco{ - pixel_x = 7 - }, -/obj/item/trash/cheesie{ - pixel_x = -5 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"fk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/south, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"fl" = ( -/obj/effect/turf_decal/borderfloorwhite{ - dir = 10 - }, -/obj/structure/toilet/secret{ - dir = 4; - secret_type = /obj/item/storage/box/donkpockets/donkpocketgondola - }, -/turf/open/floor/plasteel/white, -/area/outpost/crew/library) -"fn" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/number/one, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"fo" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"fp" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"fq" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"fr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"ft" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"fu" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"fv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"fy" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"fA" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"fB" = ( -/obj/structure/janitorialcart, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/garbage, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/crew/library) -"fE" = ( -/obj/structure/fluff/hedge{ - icon_state = "hedge-12" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"fG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"fH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"fJ" = ( -/obj/effect/decal/cleanable/molten_object/large, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"fK" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/ebony, -/area/outpost/crew/lounge) -"fL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"fM" = ( -/obj/structure/girder, -/obj/effect/decal/cleanable/glass{ - pixel_y = -7 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"fN" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"fO" = ( -/obj/structure/urinal{ - pixel_y = 28 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"fP" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"fQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/fluff/divine/nexus, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/lounge) -"fR" = ( -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"fT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/firealarm/directional/south, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"fU" = ( -/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"fV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/bookcase/random, -/turf/open/floor/wood, -/area/outpost/maintenance/aft) -"fX" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"fZ" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109"; - dir = 8 - }, -/turf/open/floor/plating, -/area/outpost/crew/library) -"ga" = ( -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/hallway/fore) -"gd" = ( -/obj/structure/chair/comfy/orange/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"ge" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"gg" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"gh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"gk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"gl" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"gm" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/obj/item/paper/crumpled, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"gn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 1 - }, -/area/outpost/crew/cryo) -"go" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"gs" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/hallway/starboard) -"gu" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/decal/cleanable/wrapping, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"gv" = ( -/obj/structure/statue/snow/snowman{ - pixel_y = 3 - }, -/turf/open/floor/plating/asteroid/snow/airless, -/area/outpost/external) -"gw" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/caution{ - pixel_x = 17 - }, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security/armory) -"gx" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"gy" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"gz" = ( -/obj/structure/girder, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"gA" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/wood{ - icon_state = "wood-broken4" - }, -/area/outpost/crew/dorm) -"gB" = ( -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_x = -8 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"gC" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"gF" = ( -/obj/structure/table/reinforced, -/obj/item/kitchen/knife{ - pixel_y = 6; - pixel_x = 9 - }, -/obj/item/book/manual/chef_recipes{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/kitchen/rollingpin, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"gH" = ( -/obj/structure/girder, -/obj/effect/decal/cleanable/blood/gibs/old, -/obj/structure/sign/poster/official/random{ - pixel_x = -32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"gI" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/machinery/light/directional/west, -/obj/item/bedsheet/red, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"gJ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security/armory) -"gK" = ( -/obj/structure/chair, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"gL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/logo{ - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"gM" = ( -/obj/structure/grille, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"gN" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"gO" = ( -/mob/living/simple_animal/pet/penguin/emperor, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"gP" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/canteen) -"gR" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/hallway/fore) -"gS" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/shreds{ - pixel_y = 14 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/closed/mineral/random/snow, -/area/outpost/external) -"gT" = ( -/obj/machinery/vending/boozeomat/syndicate_access, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"gU" = ( -/obj/machinery/computer/prisoner/management, -/obj/effect/turf_decal/trimline/opaque/red/filled/line, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"gV" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security/armory) -"gW" = ( -/obj/machinery/door/poddoor/ert{ - id = "outpost_ert" - }, -/obj/effect/turf_decal/industrial/traffic, -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security/armory) -"ha" = ( -/obj/structure/grille, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/outpost/maintenance/fore) -"hb" = ( -/obj/structure/girder, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"hc" = ( -/turf/closed/mineral/random/snow, -/area/outpost/crew/cryo) -"hd" = ( -/obj/effect/spawner/lootdrop/maintenance/three, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"he" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/barricade/security, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"hg" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner, -/obj/machinery/power/port_gen/pacman/super, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"hh" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/obj/structure/statue/sandstone/venus{ - layer = 3.1 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"hi" = ( -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood"; - dir = 8 - }, -/area/outpost/hallway/central) -"hj" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/engineering) -"hk" = ( -/obj/structure/table/reinforced, -/obj/machinery/chem_dispenser/drinks/beer/fullupgrade{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/bar) -"hp" = ( -/obj/machinery/processor, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"hu" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/outpost/maintenance/fore) -"hx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1 - }, -/obj/machinery/computer/communications, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"hy" = ( -/obj/machinery/door/airlock/external{ - dir = 8 - }, -/obj/structure/barricade/wooden/crude{ - layer = 3.1 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"hA" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"hD" = ( -/obj/structure/table/wood, -/obj/item/trash/plate{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/cola{ - pixel_x = -5 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"hE" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"hF" = ( -/obj/structure/table/wood, -/obj/item/trash/plate{ - pixel_x = 8 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"hH" = ( -/obj/effect/decal/fakelattice{ - icon_state = "lattice-3" - }, -/turf/open/space/basic, -/area/outpost/external) -"hI" = ( -/obj/machinery/computer/atmos_alert{ - dir = 1 - }, -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"hJ" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"hK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood/walnut, -/area/outpost/crew/bar) -"hM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/closet/crate/bin, -/obj/item/trash/chips, -/obj/item/trash/pistachios{ - pixel_x = 6 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"hO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"hP" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"hQ" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"hV" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security/armory) -"hW" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/outpost/crew/cryo) -"hX" = ( -/obj/structure/showcase/cyborg/old, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/ash/large{ - pixel_y = -11; - pixel_x = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/plastic, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"hZ" = ( -/obj/machinery/processor, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/hallway/central) -"ia" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"ic" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"ie" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"ig" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"il" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"im" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/structure/grille/broken, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/aft) -"ip" = ( -/obj/structure/filler{ - icon_state = "safe-open" - }, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"ir" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"iu" = ( -/obj/structure/chair/stool/bar, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"iv" = ( -/obj/structure/table/glass, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"iz" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"iB" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"iD" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/official/obey{ - pixel_y = -32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"iE" = ( -/obj/structure/table/wood, -/obj/machinery/jukebox/boombox{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/reagent_containers/food/drinks/bottle/applejack{ - pixel_y = 8; - pixel_x = 5 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/bar) -"iG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"iH" = ( -/obj/effect/turf_decal/siding/wood/end, -/obj/structure/table_frame/wood, -/obj/structure/fluff/paper, -/turf/open/floor/wood, -/area/outpost/maintenance/aft) -"iJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"iK" = ( -/obj/machinery/door/airlock/command{ - name = "Council Chamber"; - req_access_txt = "19"; - security_level = 6; - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"iL" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"iM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"iN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"iQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"iR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"iT" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"iW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32; - pixel_y = -32 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"iX" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security/armory) -"iY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil/streak, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"ja" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"jb" = ( -/obj/structure/rack, -/obj/item/storage/belt/utility/full/engi{ - pixel_y = 4 - }, -/obj/item/geiger_counter{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"jc" = ( -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"je" = ( -/obj/structure/table, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"jf" = ( -/obj/structure/chair/stool/bar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"jg" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/outpost/hallway/fore) -"jh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"jj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"jl" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8 - }, -/obj/structure/barricade/wooden, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"jm" = ( -/obj/structure/chair/comfy/orange/directional/east, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"jn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"jo" = ( -/obj/effect/decal/cleanable/plasma, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/north, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"js" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"jv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"jw" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"jx" = ( -/obj/machinery/door/poddoor/shutters/preopen, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"jz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"jB" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"jC" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/item/circuitboard/machine/shuttle/engine/electric{ - pixel_x = -1; - pixel_y = -3 - }, -/obj/item/circuitboard/machine/shuttle/engine/electric{ - pixel_x = 1; - pixel_y = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"jD" = ( -/obj/effect/decal/cleanable/garbage{ - pixel_y = -7; - pixel_x = 6 - }, -/obj/machinery/light/broken/directional/east, -/obj/effect/turf_decal/industrial/warning, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"jE" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/overlay/holoray, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"jF" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 10 - }, -/obj/structure/flora/ausbushes/fullgrass{ - pixel_x = 12; - pixel_y = 2 - }, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"jG" = ( -/turf/open/floor/engine, -/area/outpost/maintenance/fore) -"jI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"jJ" = ( -/obj/structure/rack, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/item/storage/box/zipties{ - pixel_y = 7; - pixel_x = 8 - }, -/obj/item/storage/box/teargas{ - pixel_x = -8; - pixel_y = 7 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"jK" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"jL" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"jP" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"jQ" = ( -/obj/structure/alien/weeds, -/obj/effect/decal/cleanable/blood/innards, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/blood/gibs, -/obj/structure/bed/nest, -/obj/machinery/light/built/directional/west, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"jR" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"jT" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/item/banner, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/fore) -"jU" = ( -/obj/effect/turf_decal/borderfloorwhite{ - dir = 5 - }, -/obj/structure/urinal{ - pixel_y = 28 - }, -/turf/open/floor/plasteel/white, -/area/outpost/crew/library) -"jV" = ( -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/security/armory) -"jW" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/brigdoor{ - base_state = "rightsecure"; - dir = 4; - icon_state = "rightsecure"; - name = "Head of Personnel's Desk"; - req_access_txt = "101" - }, -/obj/machinery/door/window/northleft{ - dir = 8; - name = "Reception Window" - }, -/obj/machinery/door/poddoor/preopen{ - id = "outpost_office_lockdown"; - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/operations) -"jX" = ( -/obj/structure/fireplace, -/turf/open/floor/plasteel/sepia, -/area/outpost/vacant_rooms/office) -"jY" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"jZ" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 10 - }, -/obj/machinery/autolathe, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"ka" = ( -/obj/structure/foamedmetal, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"kc" = ( -/obj/effect/decal/cleanable/glass, -/obj/structure/window/reinforced/spawner, -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/plasma, -/obj/item/shard, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"kd" = ( -/mob/living/simple_animal/chicken, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"ke" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 5 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"kf" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/tools{ - pixel_x = -32 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"ki" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"kk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"kl" = ( -/obj/machinery/door/airlock/outpost{ - dir = 1; - icon = 'icons/obj/doors/airlocks/station/mining.dmi'; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - assemblytype = /obj/structure/door_assembly/door_assembly_min - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"kq" = ( -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"kt" = ( -/obj/machinery/door/window/brigdoor/northright{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"kw" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"kx" = ( -/obj/structure/table/reinforced, -/obj/machinery/chem_dispenser/drinks/fullupgrade{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/bar) -"kz" = ( -/obj/structure/railing/wood{ - dir = 6 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"kA" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/official/here_for_your_safety{ - pixel_y = -32 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"kB" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"kC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"kF" = ( -/obj/machinery/vending/medical/syndicate_access, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"kH" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/structure/barricade/wooden/crude{ - layer = 3.13 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"kI" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/flora/grass/both, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"kJ" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/suit_storage_unit/inherit/industrial, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"kM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"kN" = ( -/obj/machinery/computer/secure_data{ - dir = 8 - }, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"kO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/vacant_rooms) -"kP" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"kR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"kT" = ( -/obj/machinery/door/window/brigdoor/security{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"kY" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"kZ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"la" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"lb" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/obj/machinery/door/poddoor/ert{ - id = "outpost_security_desk"; - desc = "A heavy duty blast door." - }, -/turf/open/floor/plating, -/area/outpost/security) -"le" = ( -/obj/structure/closet/crate/wooden, -/obj/structure/railing/wood{ - layer = 3.1 - }, -/obj/structure/railing/wood{ - layer = 3.1; - pixel_y = 24 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"lf" = ( -/obj/structure/table, -/obj/item/export_scanner{ - pixel_x = -3; - pixel_y = -10 - }, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/item/pen{ - pixel_x = -5; - pixel_y = 7 - }, -/obj/item/phone{ - pixel_x = 8; - pixel_y = 7 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/central) -"lg" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/engis_unite{ - pixel_y = 32 - }, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"lh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"lq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"lr" = ( -/turf/open/floor/engine/n2, -/area/outpost/engineering/atmospherics) -"lt" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"lx" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"ly" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/grille, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"lz" = ( -/obj/machinery/power/floodlight, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"lA" = ( -/obj/structure/mopbucket, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"lB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"lD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"lG" = ( -/obj/structure/grille/broken, -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"lH" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/elevator_call_button{ - pixel_y = 25 - }, -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "2" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"lI" = ( -/obj/item/trash/syndi_cakes{ - pixel_x = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"lJ" = ( -/turf/closed/wall/rust, -/area/outpost/maintenance/fore) -"lK" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 1 - }, -/obj/structure/closet/crate/freezer/blood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"lL" = ( -/obj/structure/urinal{ - pixel_y = 33 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/foam, -/area/outpost/maintenance/aft) -"lM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock{ - dir = 4; - name = "Chapel" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/lounge) -"lN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"lR" = ( -/obj/structure/table/wood, -/obj/item/newspaper{ - pixel_x = 4; - pixel_y = -1 - }, -/obj/item/newspaper{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/item/newspaper{ - pixel_x = 4; - pixel_y = 5 - }, -/obj/item/table_bell{ - pixel_x = -8; - pixel_y = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/bar) -"lS" = ( -/obj/structure/table/reinforced, -/obj/item/radio/old{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/cartridge/quartermaster{ - pixel_x = -3 - }, -/obj/item/cartridge/quartermaster{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/destTagger, -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"lT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"lX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/fermenting_barrel{ - pixel_x = 7; - pixel_y = -2 - }, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"lY" = ( -/turf/open/floor/engine/hull/reinforced, -/area/outpost/external) -"lZ" = ( -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"mb" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"mc" = ( -/obj/structure/chair/wood{ - pixel_x = -1; - pixel_y = -3 - }, -/obj/item/toy/plush/moth{ - pixel_y = 3; - pixel_x = -1 - }, -/obj/effect/turf_decal/weather/snow{ - dir = 9 - }, -/turf/open/floor/plating/asteroid/snow/under/lit, -/area/outpost/external) -"mh" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"mj" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/obj/machinery/door/poddoor/preopen{ - id = "outpost_security_window" - }, -/turf/open/floor/plating, -/area/outpost/security) -"mk" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"ml" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/rods/ten{ - pixel_x = -11; - pixel_y = -1 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"mn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/chair/pew/left{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"mp" = ( -/obj/structure/bookcase/random/fiction, -/obj/item/candle/infinite{ - pixel_y = 19; - pixel_x = -14 - }, -/obj/structure/sign/poster/official/enlist{ - pixel_x = -32 - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"mq" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"mr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"ms" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"mt" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"mu" = ( -/obj/structure/table/reinforced, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/item/clothing/gloves/color/latex{ - pixel_y = -4 - }, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/item/storage/pill_bottle/mannitol{ - pixel_x = -3; - pixel_y = 9 - }, -/obj/item/storage/pill_bottle/epinephrine{ - pixel_x = -8; - pixel_y = 11 - }, -/obj/item/reagent_containers/medigel/sterilizine{ - pixel_x = -9; - pixel_y = 7 - }, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"mv" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair{ - dir = 1; - pixel_x = 1; - pixel_y = 7 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"mw" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/airlock/outpost{ - assemblytype = /obj/structure/door_assembly/door_assembly_com; - icon = 'icons/obj/doors/airlocks/station/command.dmi'; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - req_one_access_txt = "109" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"mx" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/nanotrasen, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"my" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"mz" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"mA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"mB" = ( -/obj/structure/table/wood, -/obj/machinery/status_display/ai{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/operations) -"mD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"mE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/sign/plaques/deempisi{ - pixel_y = 26 - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"mF" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 6 - }, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"mG" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/vomit/old, -/obj/item/cigbutt/cigarbutt{ - pixel_x = 15; - pixel_y = -8 - }, -/obj/effect/decal/cleanable/ash{ - pixel_x = 12; - pixel_y = -4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"mH" = ( -/obj/structure/frame/machine, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"mI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/curtain{ - color = "#363636" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"mJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"mN" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/button/door{ - pixel_y = 28; - id = "outpost_ert"; - req_access_txt = "101"; - pixel_x = -3 - }, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"mP" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/contraband/smoke{ - pixel_y = -32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"mR" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"mS" = ( -/obj/machinery/power/floodlight, -/obj/effect/decal/cleanable/glitter, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/outpost/maintenance/fore) -"mW" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"mY" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"mZ" = ( -/obj/structure/table/wood, -/obj/machinery/fax/ruin, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"na" = ( -/obj/structure/flora/rock/pile/largejungle{ - pixel_x = 3; - pixel_y = -3 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"nb" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/sign/poster/official/miners{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/hallway/fore) -"nc" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"ne" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"ng" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"nh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"nj" = ( -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"nk" = ( -/obj/structure/chair/comfy/grey/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"nn" = ( -/obj/structure/elevator_platform, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/vacant_rooms) -"no" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/decal/cleanable/oil, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"nt" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"nv" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/outpost/maintenance/fore) -"ny" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security/armory) -"nz" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 1 - }, -/obj/structure/closet/secure_closet/medical2, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"nA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/pew/right{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"nC" = ( -/obj/structure/table/wood, -/obj/item/phone{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/storage/fancy/nugget_box{ - pixel_y = -5; - pixel_x = -9 - }, -/obj/item/reagent_containers/food/drinks/mug, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"nE" = ( -/obj/structure/chair/office, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/sign/poster/official/fruit_bowl{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"nF" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"nH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/bag/trash{ - pixel_x = 8; - pixel_y = -4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"nJ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/item/storage/firstaid/toxin{ - pixel_x = -2; - pixel_y = 10 - }, -/obj/item/storage/firstaid/fire{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"nP" = ( -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/plating/airless, -/area/outpost/maintenance/fore) -"nQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/broken/directional/south, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"nT" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"nU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"nV" = ( -/turf/closed/indestructible/fakeglass, -/area/outpost/engineering/atmospherics) -"nX" = ( -/turf/open/floor/wood, -/area/outpost/crew/bar) -"nY" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"nZ" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"oa" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/sign/poster/official/high_class_martini{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"ob" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/sign/poster/contraband/red_rum{ - pixel_x = 32 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_4, -/area/outpost/hallway/central) -"oc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/safety_internals{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"od" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"of" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/noticeboard{ - icon_state = "nboard05"; - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"og" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"oh" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"ok" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/vehicle/ridden/atv{ - dir = 1 - }, -/turf/open/floor/engine, -/area/outpost/maintenance/fore) -"om" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"on" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/nachos, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"oo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/closet/secure_closet/freezer/wall/directional/east, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"op" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/outpost{ - assemblytype = /obj/structure/door_assembly/door_assembly_com; - icon = 'icons/obj/doors/airlocks/station/command.dmi'; - glass = 1; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - name = "Bridge Access"; - req_one_access_txt = "109" - }, -/obj/machinery/door/poddoor/preopen{ - id = "outpost_bridge_lockdown" - }, -/turf/open/floor/plasteel, -/area/outpost/operations) -"oq" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 1 - }, -/obj/machinery/airalarm/directional/east, -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"ot" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"ow" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"oA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"oC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/sofa/brown/right/directional/east, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"oD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"oE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"oG" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"oH" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/structure/closet/crate/secure/loot, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/outpost/maintenance/fore) -"oI" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"oJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/outpost/operations) -"oK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"oL" = ( -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/chair/office{ - dir = 8; - name = "tactical swivel chair" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"oN" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/official/safety_report{ - pixel_y = -32 - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/starboard) -"oS" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"oX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"oZ" = ( -/obj/structure/chair/sofa/brown/right/directional/north, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"pa" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/displaycase/captain{ - req_access = null; - req_access_txt = "20"; - req_one_access_txt = "0" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/blue, -/area/outpost/operations) -"pe" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"pg" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/qm, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"pj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/sofa/brown/left/directional/east, -/obj/item/radio/intercom/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"pl" = ( -/obj/effect/landmark/outpost/elevator{ - shaft = "3" - }, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/hallway/fore) -"pm" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"po" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/medical) -"pq" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"pr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"ps" = ( -/obj/structure/fluff/hedge, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"pt" = ( -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/carpet/blue, -/area/outpost/hallway/central) -"pu" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"pv" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/structure/flora/ausbushes/sparsegrass{ - pixel_y = -1; - pixel_x = -1 - }, -/obj/structure/flora/ausbushes/stalkybush, -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/grass, -/area/outpost/hallway/aft) -"px" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"pz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"pC" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"pD" = ( -/obj/effect/turf_decal/box/corners, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/structure/frame/machine, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"pE" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"pG" = ( -/obj/structure/chair/sofa/brown/left/directional/south, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/greenglow/filled{ - pixel_y = 5 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/outpost/maintenance/aft) -"pI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"pJ" = ( -/obj/structure/table/wood, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_y = 3 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"pK" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/obj/machinery/door/poddoor/preopen{ - id = "outpost_bridge_lockdown" - }, -/turf/open/floor/plating, -/area/outpost/operations) -"pL" = ( -/obj/structure/flora/rock/pile/largejungle{ - pixel_x = -26; - pixel_y = 3 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"pN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"pR" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/button/door{ - pixel_y = 28; - id = "outpost_security_window"; - req_access_txt = "101"; - name = "Cell Window Shutters" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"pT" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/jukebox/boombox{ - pixel_y = 5 - }, -/obj/item/phone{ - pixel_x = -11; - pixel_y = 3 - }, -/obj/item/folder/yellow{ - pixel_x = 7; - pixel_y = -3 - }, -/obj/item/forcefield_projector{ - pixel_y = -2 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"pU" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/engineering/atmospherics) -"pX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"pZ" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/computer/med_data, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"qb" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/library) -"qc" = ( -/obj/effect/turf_decal/atmos/oxygen{ - dir = 1 - }, -/turf/open/floor/engine/o2, -/area/outpost/engineering/atmospherics) -"qd" = ( -/obj/machinery/vending/cigarette, -/turf/open/floor/plasteel, -/area/outpost/hallway/fore) -"qe" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/structure/reagent_dispensers/servingdish, -/obj/effect/decal/cleanable/vomit/old{ - pixel_x = 1; - pixel_y = -9 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"qg" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/food/condiment/enzyme{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/item/reagent_containers/glass/beaker, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"qi" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"qj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/carpet, -/area/outpost/hallway/central) -"qk" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"qm" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"qo" = ( -/obj/structure/closet/secure_closet/freezer/meat, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/crew/library) -"qp" = ( -/obj/effect/turf_decal/atmos/plasma{ - dir = 1 - }, -/turf/open/floor/engine/plasma, -/area/outpost/engineering/atmospherics) -"qu" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"qv" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = -6 - }, -/obj/item/pen{ - pixel_x = -6 - }, -/obj/item/stamp/qm{ - pixel_x = 6; - pixel_y = 9 - }, -/obj/item/stamp{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/stamp/denied{ - pixel_x = 6; - pixel_y = -1 - }, -/obj/item/toy/figure/cargotech{ - pixel_x = -8; - pixel_y = 15 - }, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"qw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/bed{ - icon_state = "dirty_mattress" - }, -/obj/item/storage/wallet, -/obj/item/reagent_containers/food/drinks/bottle/pruno{ - pixel_x = 5 - }, -/obj/item/bedsheet/nanotrasen, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"qx" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"qy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/carpet/nanoweave, -/area/outpost/hallway/central) -"qz" = ( -/obj/structure/railing/corner/wood{ - dir = 1 - }, -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/obj/structure/flora/grass/jungle/b{ - pixel_x = 9; - pixel_y = 9 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"qA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/logo{ - icon_state = "nanotrasen_sign3"; - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"qC" = ( -/obj/machinery/light/directional/north, -/obj/machinery/status_display/ai{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"qE" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"qF" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/structure/frame/computer{ - anchored = 1; - dir = 8; - pixel_x = 7 - }, -/obj/structure/grille/broken, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"qG" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"qI" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/hallway/central) -"qK" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 8 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"qL" = ( -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "1" - }, -/obj/machinery/door/airlock/public/glass{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"qN" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"qO" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"qQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/girder, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"qT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/wood/walnut, -/area/outpost/crew/bar) -"qU" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/hallway/fore) -"qW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet, -/area/outpost/hallway/central) -"qX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"qZ" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/outpost/hallway/fore) -"ra" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/west, -/obj/structure/sign/poster/retro/we_watch{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"rc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/maintenance/aft) -"rd" = ( -/obj/item/storage/fancy/candle_box{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/structure/table/wood, -/obj/item/lighter, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/lounge) -"re" = ( -/obj/structure/rack, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"rf" = ( -/obj/structure/table, -/obj/item/lighter{ - pixel_x = -8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet/blue, -/area/outpost/hallway/central) -"rh" = ( -/obj/item/storage/bag/tray, -/obj/item/storage/box/donkpockets{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/storage/box/donkpockets{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = -8; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/condiment/saltshaker{ - desc = "Salt. From space oceans, presumably. A staple of modern medicine."; - pixel_x = -8; - pixel_y = 12 - }, -/obj/machinery/reagentgrinder{ - pixel_y = 5 - }, -/obj/structure/table, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, -/area/outpost/crew/library) -"rj" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"rk" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"rl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"ro" = ( -/obj/structure/table/wood/poker, -/obj/item/flashlight/lamp/green{ - pixel_y = 13; - pixel_x = -6; - layer = 4 - }, -/obj/item/paper_bin{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/pen/fountain{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = 8 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"rs" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/outpost{ - dir = 4; - icon = 'icons/obj/doors/airlocks/station/medical.dmi'; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - assemblytype = /obj/structure/door_assembly/door_assembly_med - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"ru" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"rv" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"rw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"rx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"ry" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"rA" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"rB" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/moth{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"rD" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/machinery/suit_storage_unit/inherit, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security) -"rE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"rG" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/item/grenade/frag{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/item/grenade/empgrenade, -/obj/item/grenade/stingbang{ - pixel_x = -8; - pixel_y = -4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"rJ" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"rL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"rN" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"rO" = ( -/obj/structure/filingcabinet/security{ - pixel_x = 11 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"rP" = ( -/obj/effect/turf_decal/atmos/carbon_dioxide, -/turf/open/floor/engine/co2, -/area/outpost/engineering/atmospherics) -"rQ" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/plaques/kiddie/library{ - pixel_y = -32 - }, -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_x = -11 - }, -/obj/machinery/vending/games{ - pixel_x = 4 - }, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"rR" = ( -/obj/structure/reagent_dispensers/water_cooler{ - pixel_x = 8; - pixel_y = 15; - density = 0 - }, -/obj/item/kirbyplants{ - icon_state = "plant-25"; - pixel_x = -3; - pixel_y = 6 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/fore) -"rT" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"rU" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 1 - }, -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"rV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/sign/poster/retro/nanotrasen_logo_80s{ - pixel_y = 32 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"rW" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/machinery/suit_storage_unit/inherit, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security) -"rX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/cargo) -"rZ" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/food/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = -8; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/condiment/saltshaker{ - desc = "Salt. From space oceans, presumably. A staple of modern medicine."; - pixel_x = -8; - pixel_y = 12 - }, -/obj/item/toy/figure/chef, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"sb" = ( -/obj/machinery/door/window/westright{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/blue, -/area/outpost/operations) -"sd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/plasma, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"sg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/showcase/machinery/tv, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"si" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/outpost/crew/bar) -"sl" = ( -/obj/item/kirbyplants/dead{ - pixel_x = -6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/west, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"sm" = ( -/obj/machinery/status_display/ai{ - pixel_y = 32 - }, -/obj/item/clothing/accessory/holster, -/obj/structure/closet/secure_closet/head_of_personnel, -/turf/open/floor/carpet/royalblue, -/area/outpost/operations) -"sn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/showcase/mecha/ripley, -/obj/effect/turf_decal/box/corners{ - dir = 1; - icon_state = "box_corners" - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"so" = ( -/turf/open/floor/carpet/blue, -/area/outpost/operations) -"st" = ( -/obj/machinery/door/airlock/freezer{ - req_access_txt = "109" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/kitchen_coldroom/freezerfloor, -/area/outpost/crew/canteen) -"su" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/aft) -"sv" = ( -/obj/structure/bookcase/random/fiction, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"sx" = ( -/obj/structure/table/glass, -/obj/effect/decal/cleanable/dirt, -/obj/item/pinpointer/nuke{ - pixel_x = -5; - pixel_y = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 9 - }, -/obj/item/phone{ - desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in."; - pixel_x = 9; - pixel_y = 3 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"sz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/fore) -"sA" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 9 - }, -/obj/item/pen{ - pixel_x = -2; - pixel_y = 10 - }, -/obj/item/clipboard{ - pixel_x = -3; - pixel_y = -4 - }, -/obj/item/folder/blue{ - pixel_x = -6; - pixel_y = -5 - }, -/obj/item/stamp/qm{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/item/stamp{ - pixel_x = 8; - pixel_y = 4 - }, -/obj/item/stamp/denied{ - pixel_y = -1; - pixel_x = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"sB" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/fore) -"sD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/barricade/wooden, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"sF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"sH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/kirbyplants{ - icon_state = "plant-09" - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"sI" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"sJ" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/fore) -"sL" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"sM" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/techfloor, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"sN" = ( -/turf/open/floor/plating/asteroid/icerock/smooth, -/area/outpost/external) -"sP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"sQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/bar) -"sR" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"sT" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/closet/secure_closet/freezer/wall/directional/east, -/obj/item/clothing/suit/apron/chef, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/library) -"sU" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"sV" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"sX" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/sign/poster/official/random{ - pixel_y = -32; - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"ta" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet, -/area/outpost/hallway/central) -"tb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"td" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"te" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/turf/open/floor/plating, -/area/outpost/crew/bar) -"tf" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/hallway/fore) -"ti" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line, -/obj/effect/turf_decal/industrial/loading{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"tj" = ( -/turf/open/floor/engine/vacuum, -/area/outpost/engineering/atmospherics) -"tl" = ( -/obj/machinery/computer/slot_machine, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"tm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"tp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/fore) -"tr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/starboard) -"ts" = ( -/obj/machinery/door/window/brigdoor/eastleft{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"tt" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"tv" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"tx" = ( -/obj/structure/table/wood, -/obj/item/papercutter{ - pixel_x = 7; - pixel_y = 2 - }, -/obj/item/hand_tele{ - pixel_x = -13; - pixel_y = 5 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood, -/area/outpost/operations) -"ty" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/outpost{ - assemblytype = /obj/structure/door_assembly/door_assembly_atmo; - icon = 'icons/obj/doors/airlocks/station/atmos.dmi'; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - req_access_txt = "101" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"tz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/wood/ebony, -/area/outpost/crew/lounge) -"tA" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -8; - pixel_y = 3 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"tC" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"tD" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"tE" = ( -/obj/structure/railing/wood{ - layer = 3.1 - }, -/obj/structure/flora/ausbushes/lavendergrass{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/structure/flora/ausbushes/pointybush, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"tF" = ( -/obj/effect/decal/cleanable/plasma, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"tG" = ( -/obj/effect/decal/cleanable/food/flour, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"tI" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"tJ" = ( -/obj/structure/table/wood/reinforced, -/turf/open/floor/wood/ebony, -/area/outpost/crew/lounge) -"tK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"tM" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/stamp/captain{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/outpost/operations) -"tN" = ( -/obj/structure/chair/sofa/brown/directional/north, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"tO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"tP" = ( -/obj/machinery/washing_machine, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/crew/library) -"tQ" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"tV" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109"; - dir = 8 - }, -/turf/open/floor/concrete/reinforced, -/area/outpost/maintenance/aft) -"tW" = ( -/obj/machinery/computer/cargo/express{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"tX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"tY" = ( -/obj/structure/chair/sofa/brown/corner/directional/north, -/obj/structure/sign/poster/official/moth/epi{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"tZ" = ( -/obj/structure/chair/comfy/grey/directional/north, -/obj/machinery/button/door{ - dir = 4; - pixel_x = -28; - pixel_y = 6; - id = "outpost_security_desk"; - name = "Desk Shutter" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"ua" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"uc" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/item/pen/fountain{ - pixel_y = 2; - pixel_x = 4 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"ue" = ( -/obj/structure/table/wood, -/obj/structure/noticeboard{ - pixel_y = 30 - }, -/obj/item/storage/box/PDAs{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/storage/box/ids, -/obj/item/storage/box/silver_ids{ - pixel_y = 7; - pixel_x = 6 - }, -/turf/open/floor/plasteel, -/area/outpost/operations) -"uf" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/aft) -"ui" = ( -/obj/effect/turf_decal/atmos/nitrogen, -/turf/open/floor/engine/n2, -/area/outpost/engineering/atmospherics) -"uj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/plasma, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/outpost/maintenance/aft) -"uk" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/concrete/reinforced, -/area/outpost/crew/garden) -"un" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"uo" = ( -/obj/item/stack/sheet/mineral/wood, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"up" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"uq" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"ur" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"us" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = -7; - pixel_y = -2 - }, -/obj/item/table_bell{ - pixel_x = -8; - pixel_y = 7 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"ut" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/hallway/central) -"uu" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"uv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"uw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"uD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"uE" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/flashlight/lamp{ - pixel_x = -8; - pixel_y = 13 - }, -/obj/item/storage/fancy/donut_box{ - pixel_y = 5; - pixel_x = -2 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"uG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/robustmore_drinkfoods{ - pixel_x = -32 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/hallway/central) -"uH" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"uI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"uJ" = ( -/obj/structure/showcase/machinery/cloning_pod, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"uK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"uL" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"uP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/bag/tray/cafeteria{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32; - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"uQ" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/effect/decal/cleanable/dirt, -/obj/item/bedsheet/brown, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"uR" = ( -/obj/effect/turf_decal/techfloor/corner, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"uS" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"uU" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"uV" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/aft) -"uX" = ( -/obj/structure/flora/grass/both, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/fore) -"uZ" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"va" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/north, -/obj/structure/closet/wall/directional/east{ - name = "Storage Locker" - }, -/turf/open/floor/carpet, -/area/outpost/hallway/central) -"vc" = ( -/obj/structure/fluff/hedge{ - icon_state = "hedge-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"vd" = ( -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"ve" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"vf" = ( -/obj/structure/showcase/cyborg/old, -/obj/effect/turf_decal/box/corners{ - dir = 4; - icon_state = "box_corners" - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"vk" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - color = "#808080"; - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"vl" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/suit/space/engineer, -/obj/item/clothing/head/helmet/space/light/engineer, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"vm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"vo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/closet/emcloset/wall/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"vq" = ( -/obj/structure/sink/kitchen{ - dir = 4; - pixel_x = -12 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/food/plant_smudge, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"vr" = ( -/obj/structure/sink{ - pixel_y = 23 - }, -/obj/structure/mirror{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"vs" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"vu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"vv" = ( -/obj/structure/closet/bombcloset, -/obj/effect/decal/cleanable/robot_debris, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"vw" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/garden) -"vx" = ( -/turf/closed/mineral/random/jungle, -/area/outpost/crew/garden) -"vy" = ( -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"vz" = ( -/obj/structure/grille, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"vB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"vC" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/hallway/aft) -"vD" = ( -/turf/open/floor/engine/co2, -/area/outpost/engineering/atmospherics) -"vE" = ( -/obj/effect/decal/cleanable/plasma, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"vG" = ( -/obj/machinery/door/poddoor/shutters/indestructible{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"vI" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"vJ" = ( -/obj/item/storage/box/maid, -/obj/item/clothing/gloves/color/latex/nitrile/evil, -/obj/item/clothing/head/soft/purple, -/obj/item/clothing/shoes/galoshes, -/obj/item/storage/box/mousetraps, -/obj/item/reagent_containers/glass/bucket, -/obj/item/reagent_containers/glass/rag, -/obj/item/mop, -/obj/item/soap/deluxe, -/obj/structure/closet/wall/blue/directional/west{ - name = "Janitorial Closet" - }, -/obj/machinery/door/window, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/crew/library) -"vK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/libraryscanner, -/obj/machinery/light/directional/south, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"vM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21"; - pixel_x = 7 - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"vN" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/machinery/computer/bounty, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"vO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"vQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"vS" = ( -/obj/structure/fluff/hedge{ - icon_state = "hedge-8" - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"vT" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"vV" = ( -/turf/open/space/basic, -/area/space) -"vW" = ( -/obj/structure/sign/logo{ - icon_state = "nanotrasen_sign5"; - pixel_y = 32 - }, -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood"; - dir = 4 - }, -/area/outpost/hallway/central) -"vY" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/outpost/maintenance/fore) -"vZ" = ( -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"wa" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/alien/weeds, -/obj/effect/decal/cleanable/xenoblood/xgibs/body, -/obj/effect/decal/cleanable/xenoblood/xgibs, -/obj/effect/decal/cleanable/xenoblood/xgibs/up, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"wc" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"wd" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"we" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"wf" = ( -/obj/structure/flora/rock/jungle{ - pixel_x = 12 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"wg" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"wh" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"wj" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"wk" = ( -/obj/machinery/atmospherics/components/unary/passive_vent/layer2{ - dir = 8 - }, -/turf/open/floor/engine/air, -/area/outpost/engineering/atmospherics) -"wl" = ( -/obj/machinery/cryopod, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"wn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"wp" = ( -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"wq" = ( -/obj/structure/elevator_platform, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/crew/library) -"wt" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/lounge) -"wu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"wy" = ( -/obj/structure/chair/comfy/grey/directional/west, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"wz" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/machinery/computer/monitor{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"wB" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner, -/obj/structure/window/reinforced/spawner/north, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"wC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"wE" = ( -/turf/open/floor/concrete/reinforced, -/area/outpost/hallway/starboard) -"wF" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/stool/bar, -/obj/effect/decal/cleanable/food/egg_smudge{ - pixel_x = 6; - pixel_y = -5 - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"wH" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/maintenance/fore) -"wI" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/turf/open/floor/plating, -/area/outpost/operations) -"wJ" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"wK" = ( -/obj/machinery/cryopod{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"wL" = ( -/obj/structure/table/wood, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_y = 5 - }, -/obj/structure/sign/poster/solgov/paperwork{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"wM" = ( -/obj/structure/fluff/hedge{ - icon_state = "hedge-4" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"wN" = ( -/obj/structure/rack{ - color = "#A47449"; - pixel_y = 11 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/grown/log{ - pixel_x = -7; - pixel_y = 20 - }, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 20 - }, -/obj/item/grown/log{ - pixel_y = 25 - }, -/obj/item/statuebust{ - pixel_x = 6 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/vacant_rooms/office) -"wQ" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/ice/smooth, -/area/outpost/hallway/fore) -"wR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"wS" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/operations) -"wT" = ( -/obj/structure/table/wood, -/obj/item/radio/intercom/directional/west{ - freerange = 1; - name = "Syndicate Radio Intercom" - }, -/obj/item/folder/red{ - pixel_x = 3 - }, -/obj/item/storage/fancy/cigarettes/cigpack_robustgold{ - pixel_x = -6 - }, -/obj/item/lighter{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"wV" = ( -/obj/structure/closet/radiation, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"wW" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"wY" = ( -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 1 - }, -/area/outpost/engineering) -"wZ" = ( -/obj/item/paper_bin{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = -8 - }, -/obj/item/pen/charcoal{ - pixel_y = 8; - pixel_x = -3 - }, -/obj/item/flashlight/lamp/green{ - pixel_y = 8; - pixel_x = 6 - }, -/obj/item/phone{ - pixel_x = 8; - pixel_y = -8 - }, -/obj/structure/table/wood, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"xa" = ( -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"xd" = ( -/obj/machinery/power/floodlight, -/obj/effect/decal/cleanable/garbage{ - pixel_x = -9; - pixel_y = -6 - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"xe" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"xf" = ( -/obj/structure/table_frame/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"xh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"xk" = ( -/obj/structure/bonfire/prelit, -/obj/effect/turf_decal/weather/snow{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/snow/under/lit, -/area/outpost/external) -"xm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/banner, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"xo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"xp" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"xr" = ( -/obj/structure/table/wood, -/obj/item/trash/plate{ - pixel_x = 1; - pixel_y = 6 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"xs" = ( -/obj/structure/table/wood/reinforced, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"xt" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/banner/command/mundane, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"xu" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"xv" = ( -/obj/structure/chair/sofa/brown/directional/north, -/obj/structure/sign/poster/contraband/free_tonto{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"xw" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/item/radio/intercom/directional/south, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"xy" = ( -/obj/structure/table, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"xA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/light/built/directional/south, -/obj/item/wirerod, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/outpost/maintenance/aft) -"xC" = ( -/obj/structure/chair/office, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"xD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/wood{ - pixel_y = 3; - dir = 4; - pixel_x = -7 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"xE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"xF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"xH" = ( -/obj/machinery/door/window/brigdoor/security, -/obj/structure/rack, -/obj/effect/decal/cleanable/insectguts{ - pixel_x = 13; - pixel_y = 5 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"xI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/sign/poster/retro/pdaancient{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"xK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/aft) -"xL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing/wood{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/missing_gloves{ - pixel_y = 32 - }, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"xM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/ammo_casing/spent{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/item/ammo_casing/spent{ - pixel_x = -2; - pixel_y = -6 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"xO" = ( -/obj/structure/rack, -/obj/effect/decal/cleanable/wrapping{ - pixel_y = -2 - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"xQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"xR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"xT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"xU" = ( -/obj/structure/sign/poster/official/help_others, -/turf/closed/indestructible/reinforced, -/area/outpost/hallway/central) -"xV" = ( -/obj/machinery/light/dim/directional/south, -/obj/structure/closet/cardboard, -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"xW" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 10 - }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/stock_parts/cell/high, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"xY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"xZ" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/item/banner, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"yb" = ( -/obj/machinery/light/broken/directional/east, -/obj/item/light/tube/broken, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"yc" = ( -/obj/machinery/door/window/brigdoor/southright, -/obj/structure/sign/poster/contraband/starkist{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"ye" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"yh" = ( -/obj/structure/rack, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"yi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"yj" = ( -/obj/structure/barricade/wooden/snowed, -/turf/open/floor/plating/asteroid/snow/airless, -/area/outpost/external) -"yl" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"ym" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"yn" = ( -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"yo" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"yp" = ( -/obj/item/wallframe/light_fixture{ - pixel_y = -5; - pixel_x = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"yr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"ys" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"yy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/siding/wood, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood, -/area/outpost/operations) -"yA" = ( -/obj/structure/closet/secure_closet/ertCom, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"yB" = ( -/obj/structure/table/wood, -/obj/machinery/jukebox/boombox{ - pixel_y = 5 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/storage/fancy/cigarettes/cigpack_robustgold{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/lighter{ - pixel_x = -1 - }, -/obj/item/clothing/mask/cigarette/dromedary{ - pixel_x = -5 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/wood, -/area/outpost/crew/library) -"yD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/north, -/obj/item/screwdriver, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"yE" = ( -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/outpost/maintenance/aft) -"yF" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/overlay/holoray, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"yG" = ( -/obj/structure/table/reinforced, -/obj/item/flashlight/lamp{ - pixel_y = 10; - pixel_x = -7 - }, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = 5 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"yI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"yJ" = ( -/obj/item/kirbyplants{ - icon_state = "plant-09" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/lounge) -"yK" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/maintenance/fore) -"yL" = ( -/obj/machinery/door/airlock/grunge, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"yN" = ( -/obj/machinery/computer/cryopod/directional/north{ - pixel_y = -5 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/outpost/crew/cryo) -"yO" = ( -/obj/structure/table, -/obj/item/circuitboard/machine/vendor{ - pixel_y = 6; - pixel_x = 2 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"yP" = ( -/obj/structure/bed{ - icon_state = "dirty_mattress" - }, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/aft) -"yQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"yV" = ( -/obj/structure/table/reinforced, -/obj/item/trash/plate{ - pixel_x = 7 - }, -/obj/item/trash/plate{ - pixel_x = 7; - pixel_y = 2 - }, -/obj/item/trash/plate{ - pixel_x = 7; - pixel_y = 4 - }, -/obj/item/trash/plate{ - pixel_x = 7; - pixel_y = 6 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"yW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/aft) -"yX" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"yZ" = ( -/obj/structure/barricade/wooden/crude{ - layer = 3.13 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/indestructible{ - name = "Showcase Storage"; - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"za" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"zb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"ze" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair, -/obj/structure/sign/poster/official/high_class_martini{ - pixel_x = -32 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"zf" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"zi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"zj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"zl" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 5 - }, -/obj/structure/closet/firecloset/wall/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"zm" = ( -/obj/machinery/computer/security, -/obj/effect/turf_decal/trimline/opaque/red/filled/line, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"zn" = ( -/obj/machinery/door/poddoor/ert{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"zo" = ( -/obj/structure/table/reinforced, -/obj/item/storage/photo_album{ - pixel_y = 10; - pixel_x = 4 - }, -/obj/machinery/recharger{ - pixel_x = -5 - }, -/obj/machinery/recharger{ - pixel_x = 6 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"zq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"zs" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"zu" = ( -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"zv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"zy" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"zz" = ( -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"zB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/food/plant_smudge, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"zD" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/suit/space/engineer, -/obj/item/clothing/head/helmet/space/light/engineer, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"zF" = ( -/obj/machinery/light/broken/directional/south, -/obj/structure/table/reinforced, -/obj/item/t_scanner{ - pixel_y = -1; - pixel_x = -5 - }, -/obj/item/stack/packageWrap, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"zG" = ( -/obj/structure/chair/sofa/brown/left/directional/east, -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/vomit/old{ - pixel_x = 7; - pixel_y = -5 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"zH" = ( -/obj/machinery/light/built/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/garbage{ - pixel_y = 10; - pixel_x = -3 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"zI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"zK" = ( -/obj/structure/chair/comfy/orange/directional/west, -/obj/item/toy/plush/moth, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"zL" = ( -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"zM" = ( -/obj/structure/bookcase/random/fiction, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"zO" = ( -/obj/structure/flora/tree/palm{ - pixel_x = 16 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"zP" = ( -/obj/structure/closet/wall/red/directional/east{ - name = "Bartender's locker" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/carpet/blue, -/area/outpost/hallway/central) -"zQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"zR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/pew/left{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"zS" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"zV" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"zY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"zZ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/machinery/computer/bounty, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"Aa" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/computer/communications{ - dir = 8 - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"Ab" = ( -/obj/structure/elevator_platform, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/cargo) -"Ac" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Ad" = ( -/turf/closed/mineral/random/snow, -/area/outpost/operations) -"Af" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Ag" = ( -/obj/machinery/door/airlock{ - req_access_txt = "109"; - explosion_block = 2; - normal_integrity = 1000 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/aft) -"Ai" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Aj" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/structure/filingcabinet/double, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Ak" = ( -/obj/structure/flora/ausbushes/leafybush, -/obj/structure/railing/wood{ - layer = 3.1 - }, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"Al" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_x = 10; - pixel_y = 13 - }, -/obj/effect/decal/cleanable/vomit/old{ - pixel_y = 8 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"Am" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"Ao" = ( -/obj/structure/rack, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/item/crowbar/power{ - pixel_y = 5 - }, -/obj/item/crowbar/power, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"Ap" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"As" = ( -/obj/machinery/computer/med_data, -/obj/effect/turf_decal/trimline/opaque/green/filled/line, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"At" = ( -/obj/structure/fluff/hedge{ - icon_state = "hedge-4" - }, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"Au" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"Ax" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/railing/corner/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"Ay" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Az" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"AA" = ( -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"AB" = ( -/turf/open/floor/plating/asteroid/snow/airless, -/area/outpost/external) -"AC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"AD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"AE" = ( -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/hallway/fore) -"AF" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"AK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"AL" = ( -/obj/effect/landmark/outpost/elevator{ - shaft = "2" - }, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/hallway/fore) -"AM" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/hallway/fore) -"AN" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 6 - }, -/obj/structure/flora/ausbushes/sparsegrass{ - pixel_y = 9; - pixel_x = -9 - }, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"AR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"AS" = ( -/obj/machinery/door/airlock/grunge{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"AT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"AV" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/fence/door, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"AW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning, -/obj/structure/sign/poster/official/random{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Bb" = ( -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"Bc" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Bf" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/turf/open/floor/plating, -/area/outpost/external) -"Bg" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/obj/machinery/smartfridge/bloodbank/preloaded, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north{ - pixel_x = -3 - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"Bi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"Bj" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_x = -11; - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/toy/cards/deck{ - pixel_y = 2; - pixel_x = -5 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Bm" = ( -/obj/structure/table/wood/reinforced, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/paper{ - pixel_x = 3; - pixel_y = 7 - }, -/obj/item/pen/charcoal{ - pixel_y = 8 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"Br" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/food/flour, -/obj/structure/chair/sofa/brown/right/directional/south, -/obj/item/toy/figure/botanist{ - pixel_x = 2 - }, -/obj/item/toy/figure/clown{ - pixel_x = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Bs" = ( -/obj/structure/closet/crate/bin, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/generic, -/obj/item/toy/foamblade, -/obj/item/trash/can, -/obj/item/trash/pistachios{ - pixel_x = -3 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Bu" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"Bw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/robot_debris, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/wood/walnut, -/area/outpost/crew/bar) -"Bx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"By" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating/asteroid/icerock/cracked, -/area/outpost/maintenance/fore) -"Bz" = ( -/obj/machinery/recharger, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"BA" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"BB" = ( -/obj/effect/decal/cleanable/plasma, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/maintenance/fore) -"BC" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/freezer{ - dir = 4; - req_access_txt = "109" - }, -/turf/open/floor/plasteel/kitchen_coldroom/freezerfloor, -/area/outpost/crew/canteen) -"BD" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/machinery/light/directional/west, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"BE" = ( -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"BF" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sink/kitchen{ - dir = 4; - pixel_x = -12 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/wrapping, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/library) -"BG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"BH" = ( -/obj/effect/turf_decal/atmos/nitrous_oxide, -/turf/open/floor/engine/n2o, -/area/outpost/engineering/atmospherics) -"BI" = ( -/obj/machinery/door/window/brigdoor/southright, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/glowstick, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"BJ" = ( -/obj/structure/noticeboard{ - pixel_y = 31 - }, -/obj/item/storage/box/matches, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 14 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/vacant_rooms/office) -"BL" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"BN" = ( -/obj/structure/girder/reinforced, -/obj/effect/decal/cleanable/molten_object/large{ - pixel_x = -13; - pixel_y = -3 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"BQ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/overlay/holoray, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"BR" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"BS" = ( -/obj/structure/urinal{ - pixel_y = 33 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/chem_pile, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plating/foam, -/area/outpost/maintenance/aft) -"BT" = ( -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"BV" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"BX" = ( -/obj/machinery/light/small/broken/directional/west, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/sign/poster/official/random{ - pixel_x = -32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"BY" = ( -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"Ca" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/fernybush, -/turf/open/floor/grass, -/area/outpost/hallway/aft) -"Cc" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/firealarm/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"Cd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Ce" = ( -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Ci" = ( -/obj/structure/showcase/perfect_employee, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Cj" = ( -/obj/structure/girder, -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Ck" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"Cl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"Cn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/trash/pistachios, -/turf/open/floor/engine, -/area/outpost/maintenance/fore) -"Co" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Cp" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"Cs" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Cv" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/operations) -"Cw" = ( -/obj/structure/chair/sofa/brown/left/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Cy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"CA" = ( -/obj/structure/table/wood, -/obj/machinery/computer/med_data/laptop{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"CC" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"CD" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"CE" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"CF" = ( -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"CG" = ( -/obj/effect/landmark/outpost/elevator{ - shaft = "1" - }, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/hallway/fore) -"CH" = ( -/obj/structure/barricade/wooden, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"CJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/girder/displaced, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"CK" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/computer/crew, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"CL" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/structure/table, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"CN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/aft) -"CQ" = ( -/obj/structure/flora/grass/both, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"CU" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/loading{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"CV" = ( -/obj/structure/grille, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"CW" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"CZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil{ - icon_state = "streak5" - }, -/obj/effect/decal/cleanable/robot_debris{ - pixel_y = 1 - }, -/obj/effect/decal/cleanable/robot_debris/limb{ - pixel_y = 4; - pixel_x = -4 - }, -/obj/effect/decal/cleanable/robot_debris/gib{ - icon_state = "peaceborg-noir" - }, -/obj/effect/decal/cleanable/oil{ - icon_state = "floor6"; - pixel_y = 14; - pixel_x = -16 - }, -/obj/effect/decal/cleanable/oil{ - icon_state = "streak4"; - pixel_x = -13; - pixel_y = -11 - }, -/obj/effect/decal/cleanable/ash/large{ - pixel_x = 5; - pixel_y = -1 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Db" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"Df" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Dg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"Dh" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Di" = ( -/turf/open/floor/engine/n2o, -/area/outpost/engineering/atmospherics) -"Dk" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 8 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Dl" = ( -/obj/machinery/computer/card, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Dm" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/reagent_dispensers, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"Dp" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Ds" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/effect/turf_decal/box/corners, -/obj/item/storage/pill_bottle/floorpill/full{ - pixel_x = -8 - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Dt" = ( -/obj/machinery/power/floodlight, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Du" = ( -/obj/machinery/computer/secure_data{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Dw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/borderfloor, -/obj/structure/window/reinforced/spawner, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Dy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair{ - dir = 4; - pixel_x = -8 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"DD" = ( -/obj/effect/decal/cleanable/glass{ - pixel_y = -10 - }, -/turf/open/floor/plating/airless, -/area/outpost/maintenance/fore) -"DE" = ( -/obj/structure/flora/rock/icy, -/turf/open/floor/plating/ice/smooth, -/area/outpost/hallway/starboard) -"DF" = ( -/obj/item/kirbyplants/random, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"DH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table_frame/wood, -/obj/structure/fluff/paper/stack, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/maintenance/aft) -"DJ" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/effect/turf_decal/box/corners, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"DL" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/contraband/ambrosia_vulgaris{ - pixel_x = -32 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"DM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"DO" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"DP" = ( -/obj/machinery/computer/crew, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"DR" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"DS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/bar) -"DU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/carpet/blue, -/area/outpost/hallway/central) -"DV" = ( -/obj/structure/table/wood, -/obj/machinery/computer/med_data/laptop{ - dir = 4; - pixel_x = -1; - pixel_y = 3 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"DY" = ( -/obj/structure/railing, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"DZ" = ( -/obj/machinery/vending/snack, -/turf/open/floor/plasteel, -/area/outpost/hallway/fore) -"Eb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Ec" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"Ed" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"Ee" = ( -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Ef" = ( -/obj/structure/table/reinforced, -/obj/item/flashlight/lamp{ - pixel_x = -2; - pixel_y = 12 - }, -/obj/item/export_scanner{ - pixel_x = -3; - pixel_y = -10 - }, -/obj/item/toy/figure/qm{ - pixel_x = -9; - pixel_y = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"Eg" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/plasma, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Eh" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/kirbyplants{ - icon_state = "plant-03" - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"Ei" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/maintenance/fore) -"El" = ( -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/hallway/central) -"Em" = ( -/obj/machinery/door/airlock{ - req_access_txt = "109"; - explosion_block = 2; - normal_integrity = 1000 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/crew/library) -"En" = ( -/obj/structure/chair/comfy/grey/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Ep" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Eq" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"Es" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Et" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Ev" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Ew" = ( -/obj/structure/flora/grass/jungle, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"Ex" = ( -/turf/open/floor/plating/ice/smooth, -/area/outpost/hallway/fore) -"Ey" = ( -/obj/structure/bookcase/random/fiction, -/obj/item/radio/intercom/directional/west, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"Ez" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/bottle/tomatojuice{ - pixel_y = 2 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_x = 10; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_x = -8; - pixel_y = 3 - }, -/obj/effect/decal/cleanable/food/tomato_smudge{ - pixel_y = -6 - }, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"EA" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"EB" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/fluff/divine/nexus, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/lounge) -"EC" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"EE" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/obj/machinery/recharger{ - pixel_x = -5 - }, -/obj/machinery/recharger{ - pixel_x = 6 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"EF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"EH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"EJ" = ( -/obj/structure/chair/pew/left{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"EM" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/railing/corner/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"EN" = ( -/obj/structure/lattice, -/turf/open/space/basic, -/area/outpost/external) -"EO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"EP" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"EU" = ( -/obj/structure/filingcabinet, -/obj/structure/filingcabinet{ - pixel_x = 11 - }, -/obj/structure/filingcabinet{ - pixel_x = -11 - }, -/obj/structure/noticeboard{ - pixel_y = 31 - }, -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms) -"EV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/fore) -"EW" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"EY" = ( -/obj/effect/turf_decal/box/corners, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/outpost/maintenance/fore) -"EZ" = ( -/obj/structure/closet/crate/solarpanel_small, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Fd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/fluff/hedge, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Fe" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/closed/indestructible/reinforced, -/area/outpost/maintenance/aft) -"Ff" = ( -/obj/structure/rack, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Fh" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood" - }, -/area/outpost/hallway/fore) -"Fi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"Fm" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"Fn" = ( -/obj/item/stack/sheet/mineral/wood{ - pixel_x = 9; - pixel_y = 6 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"Fo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"Fp" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering/atmospherics) -"Fq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood"; - dir = 4 - }, -/area/outpost/hallway/central) -"Fs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/bag/tray/cafeteria{ - pixel_x = 5; - pixel_y = -4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Ft" = ( -/turf/open/floor/plating/asteroid/icerock, -/area/outpost/external) -"Fu" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"Fw" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/kirbyplants{ - icon_state = "plant-10" - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"Fx" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Fy" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"Fz" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"FA" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"FC" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"FD" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/obj/structure/chair, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"FG" = ( -/obj/machinery/telecomms/allinone{ - intercept = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"FL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/caution{ - pixel_y = 6 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"FM" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"FN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"FQ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"FR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/plasma, -/obj/item/banner/command/mundane, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"FT" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"FU" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/security/armory) -"FV" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Gc" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Gd" = ( -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"Ge" = ( -/obj/structure/window/reinforced/spawner, -/obj/effect/turf_decal/industrial/warning{ - dir = 1; - color = "#808080" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Gh" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/turf/open/floor/plating, -/area/outpost/crew/lounge) -"Gi" = ( -/obj/structure/closet/wall/directional/south{ - name = "Storage Locker" - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/central) -"Gj" = ( -/obj/structure/table/optable, -/obj/machinery/defibrillator_mount/loaded{ - pixel_y = 24 - }, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"Gk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Gm" = ( -/obj/machinery/computer/monitor{ - dir = 1 - }, -/obj/structure/railing, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Gn" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/indestructible{ - name = "Showcase Storage"; - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Gq" = ( -/obj/machinery/door/poddoor/multi_tile/three_tile_hor, -/turf/closed/indestructible/reinforced, -/area/outpost/maintenance/fore) -"Gr" = ( -/obj/structure/sign/warning/electricshock{ - pixel_y = 32 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/smes/magical{ - output_level = 200000 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/engineering) -"Gs" = ( -/obj/machinery/door/window/brigdoor/westright, -/obj/machinery/door/window/brigdoor/westright{ - dir = 4 - }, -/obj/structure/fans/tiny, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/operations) -"Gt" = ( -/obj/structure/railing/corner/wood, -/obj/structure/railing/corner/wood{ - pixel_y = 26 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"Gu" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"Gv" = ( -/obj/item/toy/snowball{ - pixel_x = -7; - pixel_y = -10 - }, -/obj/item/toy/snowball{ - pixel_x = 1; - pixel_y = -10 - }, -/obj/item/toy/snowball{ - pixel_x = 9; - pixel_y = -10 - }, -/obj/item/toy/snowball{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/item/toy/snowball{ - pixel_x = -3; - pixel_y = -2 - }, -/obj/item/toy/snowball{ - pixel_y = 5; - pixel_x = 1 - }, -/obj/effect/turf_decal/weather/snow{ - dir = 10 - }, -/turf/open/floor/plating/asteroid/snow/under/lit, -/area/outpost/external) -"Gw" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/outpost{ - dir = 4; - name = "Briefing Room" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security/armory) -"Gx" = ( -/turf/open/floor/plating, -/area/outpost/hallway/fore) -"Gy" = ( -/obj/structure/railing/wood{ - layer = 3.1 - }, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"Gz" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/broken/directional/north, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"GA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/vending/clothing, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"GB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"GC" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"GD" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/crew/library) -"GE" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"GG" = ( -/obj/structure/chair/sofa/brown/directional/north, -/obj/effect/decal/cleanable/vomit/old{ - pixel_y = 7 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"GH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/showcase/mecha/marauder, -/obj/effect/turf_decal/box/corners{ - dir = 4; - icon_state = "box_corners" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"GI" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"GJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"GK" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"GL" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/starboard) -"GN" = ( -/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"GO" = ( -/obj/structure/showcase/cyborg/old, -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"GQ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 1 - }, -/area/outpost/engineering) -"GR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"GS" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/outpost/crew/bar) -"GT" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"GU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"GW" = ( -/obj/structure/toilet{ - dir = 4; - pixel_x = -1; - pixel_y = 5 - }, -/obj/structure/curtain/bounty, -/turf/open/floor/plating/catwalk_floor, -/area/outpost/security) -"GY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/broken/directional/south, -/obj/structure/bed{ - icon_state = "dirty_mattress" - }, -/obj/item/storage/pill_bottle/happy{ - pixel_y = -11; - pixel_x = -13 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Hb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/cargo) -"Hh" = ( -/obj/machinery/chem_master/condimaster, -/obj/effect/turf_decal/industrial/warning{ - dir = 2; - color = "#808080" - }, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"Hi" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Hj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/fore) -"Hk" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/window/reinforced/spawner, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Ho" = ( -/obj/structure/table/wood/reinforced, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/storage/fancy/donut_box{ - pixel_y = 6 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"Hp" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/decal/cleanable/robot_debris, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Hq" = ( -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"Hs" = ( -/obj/machinery/vending/cart{ - req_access_txt = "57" - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Hu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/decal/cleanable/wrapping, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Hv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"Hx" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/railing/wood, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"Hy" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/decal/cleanable/glass, -/obj/effect/turf_decal/box, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"HA" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"HC" = ( -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"HD" = ( -/obj/machinery/door/airlock, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"HE" = ( -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 8 - }, -/area/outpost/engineering/atmospherics) -"HF" = ( -/obj/machinery/computer/card, -/obj/effect/turf_decal/trimline/opaque/green/filled/line, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"HG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"HH" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/number/three, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"HI" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"HJ" = ( -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"HL" = ( -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"HM" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"HO" = ( -/obj/machinery/door/window/brigdoor/eastleft{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"HS" = ( -/obj/structure/chair/comfy/orange/directional/west, -/obj/item/toy/plush/beeplushie, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"HT" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"HW" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"HY" = ( -/turf/open/floor/plating/asteroid/icerock/cracked, -/area/outpost/external) -"HZ" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Ia" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Ib" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/carpet/nanoweave, -/area/outpost/hallway/central) -"Ie" = ( -/obj/structure/railing, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"If" = ( -/obj/structure/rack, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Ig" = ( -/obj/machinery/door/airlock/outpost{ - dir = 4; - icon = 'icons/obj/doors/airlocks/external/external.dmi'; - overlays_file = 'icons/obj/doors/airlocks/external/overlays.dmi'; - assemblytype = /obj/structure/door_assembly/door_assembly_ext; - doorClose = 'sound/machines/airlocks/external/airlock_ext_close.ogg'; - doorOpen = 'sound/machines/airlocks/external/airlock_ext_open.ogg' - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Ih" = ( -/obj/machinery/chem_master/condimaster, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/sign/poster/retro/smile{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"Ij" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Ik" = ( -/obj/structure/railing, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"Il" = ( -/obj/structure/alien/weeds, -/obj/structure/alien/resin/wall, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"In" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/curtain{ - color = "#363636" - }, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"Io" = ( -/obj/machinery/door/airlock/public/glass, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/fore) -"Iq" = ( -/obj/structure/table/wood, -/obj/item/trash/plate{ - pixel_x = 1; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/snacks/meatbun, -/obj/item/reagent_containers/food/drinks/soda_cans/orange_soda{ - pixel_y = 12; - pixel_x = -8 - }, -/obj/structure/sign/poster/contraband/eat{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"It" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/vacant_rooms/office) -"Iu" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"Iv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/hallway/central) -"Iy" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/computer/med_data, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"Iz" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"IB" = ( -/obj/machinery/space_heater, -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/box, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"IC" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"IE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/taperecorder{ - pixel_y = -5; - pixel_x = 10 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"IF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"IH" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"II" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"IJ" = ( -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"IL" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/brown, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"IM" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"IN" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel, -/area/outpost/operations) -"IP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"IR" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"IS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"IW" = ( -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood"; - dir = 4 - }, -/area/outpost/hallway/central) -"IY" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"IZ" = ( -/obj/machinery/computer/crew, -/obj/effect/turf_decal/trimline/opaque/green/filled/line, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Ja" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Jb" = ( -/obj/effect/landmark/outpost/elevator{ - shaft = "4" - }, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/hallway/fore) -"Jc" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"Jf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"Jh" = ( -/obj/structure/table/wood, -/obj/item/storage/photo_album{ - pixel_y = 2; - pixel_x = 2 - }, -/obj/item/toy/figure/ian{ - pixel_x = -3 - }, -/obj/item/storage/pill_bottle/happy{ - pixel_y = -1; - pixel_x = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/carpet/royalblue, -/area/outpost/operations) -"Ji" = ( -/obj/effect/turf_decal/box/corners, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/crew/canteen) -"Jj" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/decal/cleanable/generic, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/item/radio/intercom/directional/north{ - icon_state = "clip_headset" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"Jm" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Jp" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Jq" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/flashlight/lamp/green{ - pixel_x = 7; - pixel_y = 14; - layer = 3.1 - }, -/obj/item/toy/cards/deck{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/toy/cards/deck/kotahi{ - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/storage/pill_bottle/dice{ - pixel_x = -11 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"Js" = ( -/obj/structure/table, -/obj/item/table_bell{ - pixel_x = -7 - }, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/pen{ - pixel_x = 4; - pixel_y = 4 - }, -/turf/open/floor/carpet/blue, -/area/outpost/hallway/central) -"Jt" = ( -/obj/machinery/modular_computer/console/preset/command{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Ju" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = 9; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/condiment/saltshaker{ - desc = "Salt. From space oceans, presumably. A staple of modern medicine."; - pixel_x = 9; - pixel_y = 12 - }, -/obj/item/trash/plate{ - pixel_x = -6 - }, -/obj/item/trash/plate{ - pixel_x = -6; - pixel_y = 2 - }, -/obj/item/trash/plate{ - pixel_x = -6; - pixel_y = 4 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"Jv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/plasma, -/obj/machinery/light/small/directional/east, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"Jw" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"JB" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"JC" = ( -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"JE" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/contraband/xenofauna_parasite{ - pixel_y = -32 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"JH" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"JJ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"JK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"JM" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"JO" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/operations) -"JP" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/vacant_rooms) -"JR" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"JS" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"JX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/railing/corner/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"JY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/alien/weeds/node, -/obj/effect/decal/cleanable/xenoblood/xtracks, -/obj/effect/decal/cleanable/xenoblood/xtracks{ - pixel_y = 21 - }, -/obj/effect/decal/cleanable/xenoblood/xtracks{ - pixel_y = -19 - }, -/obj/effect/decal/cleanable/xenoblood, -/obj/effect/decal/cleanable/xenoblood/xgibs/torso, -/obj/effect/decal/cleanable/xenoblood/xgibs/core{ - pixel_x = -4; - pixel_y = -6 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"JZ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/vacant_rooms) -"Kb" = ( -/obj/structure/table, -/obj/item/circuitboard/machine/vendor, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/carpet/green, -/area/outpost/hallway/central) -"Kd" = ( -/obj/machinery/computer/operating, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/sign/poster/official/cleanliness{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"Ke" = ( -/obj/machinery/computer/aifixer{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/purple/filled/line, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Kf" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Kg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Kh" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Kj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Kk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/railing/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/emcloset/wall/directional/east, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"Kn" = ( -/obj/machinery/telecomms/allinone/indestructable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/operations) -"Ko" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"Kp" = ( -/obj/machinery/door/airlock{ - name = "WC"; - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/outpost/crew/library) -"Kt" = ( -/obj/structure/bed{ - pixel_x = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/bedsheet/head_of_personnel, -/turf/open/floor/carpet/royalblue, -/area/outpost/operations) -"Kv" = ( -/obj/structure/table/wood/reinforced, -/obj/item/table_bell/brass{ - pixel_y = -9; - pixel_x = 7 - }, -/obj/item/candle/infinite{ - pixel_x = 11; - pixel_y = 10 - }, -/turf/open/floor/wood/ebony, -/area/outpost/crew/lounge) -"Kw" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Kx" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/vehicle/ridden/atv{ - dir = 1 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"Kz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"KA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/closet/crate/bin, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"KC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"KD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/wirecutters{ - pixel_x = 11; - pixel_y = -8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"KF" = ( -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/machinery/light/directional/north, -/obj/machinery/button/door{ - id = "outpost_bridge_lockdown"; - req_access_txt = "101"; - pixel_x = -8; - pixel_y = 8; - name = "Bridge Lockdown" - }, -/obj/structure/table/wood/reinforced, -/obj/machinery/button/door{ - id = "outpost_office_lockdown"; - req_access_txt = "101"; - pixel_x = -8; - name = "Office Lockdown" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"KG" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/overlay/holoray{ - pixel_y = -47 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"KL" = ( -/obj/structure/flora/junglebush, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"KM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"KP" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"KQ" = ( -/obj/structure/barricade/security, -/obj/structure/curtain/cloth/grey, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"KT" = ( -/obj/machinery/door/window/brigdoor/southright{ - req_access_txt = "1" - }, -/obj/effect/turf_decal/industrial/warning/corner{ - color = "#808080"; - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"KU" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/outpost/hallway/fore) -"KV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"KW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"KX" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"KY" = ( -/obj/structure/flora/grass/both, -/turf/open/floor/plating/asteroid/snow/airless, -/area/outpost/external) -"Lf" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Lg" = ( -/obj/machinery/deepfryer, -/obj/effect/turf_decal/industrial/warning{ - dir = 2; - color = "#808080" - }, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"Lh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/logo{ - icon_state = "nanotrasen_sign2"; - pixel_y = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Lj" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/stool/bar, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"Ll" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Ln" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/cargo) -"Lo" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Lp" = ( -/obj/machinery/pipedispenser, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Lr" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"Ls" = ( -/obj/machinery/pdapainter{ - pixel_y = 2 - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Lu" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"Lv" = ( -/obj/structure/flora/tree/pine, -/obj/structure/flora/grass/both, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/fore) -"Lw" = ( -/obj/effect/decal/fakelattice{ - icon_state = "lattice-11" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Lx" = ( -/obj/effect/turf_decal/borderfloorwhite{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/outpost/crew/library) -"Lz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/airlock/outpost{ - assemblytype = /obj/structure/door_assembly/door_assembly_mhatch; - icon = 'icons/obj/doors/airlocks/hatch/maintenance.dmi'; - overlays_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi'; - req_access_txt = "101" - }, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"LC" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/item/bedsheet/brown, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"LD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"LE" = ( -/obj/machinery/computer/bounty{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"LF" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"LG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"LI" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"LJ" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4; - layer = 2.37 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-9" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"LK" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"LM" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/hallway/central) -"LN" = ( -/obj/machinery/light/small/broken/directional/north, -/obj/structure/reagent_dispensers/beerkeg{ - pixel_y = 3; - pixel_x = 4 - }, -/obj/structure/reagent_dispensers/beerkeg{ - pixel_y = -3; - pixel_x = -9 - }, -/obj/item/reagent_containers/food/drinks/bottle/cognac{ - pixel_x = 5; - pixel_y = -5 - }, -/obj/item/toy/plush/goatplushie{ - pixel_y = 12; - pixel_x = -9 - }, -/obj/effect/decal/cleanable/greenglow{ - pixel_y = -6 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"LO" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"LP" = ( -/obj/structure/girder/displaced, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"LQ" = ( -/obj/structure/flora/rock/icy, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/fore) -"LS" = ( -/obj/structure/frame/machine, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"LV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/pew/right{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"LW" = ( -/obj/machinery/door/airlock/command{ - name = "Council Chamber"; - req_access_txt = "19"; - security_level = 6; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"LX" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"LZ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"Mb" = ( -/obj/structure/showcase/perfect_employee, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Mc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/railing/wood{ - dir = 5 - }, -/obj/structure/chair, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"Md" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/pill_bottle/dice{ - pixel_x = -8; - pixel_y = 6 - }, -/obj/item/toy/cards/deck{ - pixel_x = 3; - pixel_y = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Me" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/vending/cigarette, -/obj/machinery/newscaster/directional/west, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"Mf" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Mi" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Mk" = ( -/obj/structure/flora/stump, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"Mn" = ( -/obj/machinery/photocopier{ - pixel_y = 3 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Mo" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/effect/decal/cleanable/cobweb, -/obj/item/bedsheet/nanotrasen, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"Mp" = ( -/obj/structure/chair/comfy/grey/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Mq" = ( -/turf/open/floor/concrete/reinforced, -/area/outpost/crew/garden) -"Mt" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/security) -"Mv" = ( -/obj/machinery/suit_storage_unit/captain, -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/operations) -"Mw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"Mx" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/lounge) -"MA" = ( -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"MC" = ( -/obj/structure/filingcabinet/employment{ - pixel_x = -11 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"MD" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/turf/open/floor/plating, -/area/outpost/hallway/fore) -"MF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/grunge, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/crew/cryo) -"MK" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"MM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"MO" = ( -/obj/structure/chair/sofa/brown/directional/north, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"MP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"MQ" = ( -/obj/structure/table, -/obj/structure/window/reinforced/spawner/west, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"MR" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"MU" = ( -/obj/effect/turf_decal/plaque, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"MX" = ( -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"MZ" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Na" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"Nb" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/structure/sign/warning/coldtemp{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"Nc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"Nd" = ( -/obj/structure/frame/machine, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Nf" = ( -/obj/machinery/modular_computer/console/preset/engineering{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Ng" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/aft) -"Nh" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner/east, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"Ni" = ( -/obj/structure/chair, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"Nj" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Nm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"Nn" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/cargo) -"Nq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/alien/weeds, -/obj/structure/alien/resin/wall, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Nr" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/library) -"Ns" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/obj/item/kirbyplants{ - icon_state = "plant-10" - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Nu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"Nw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"Ny" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Nz" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/fancy/cigarettes/cigpack_uplift{ - pixel_x = 6; - pixel_y = 7 - }, -/obj/item/lighter/greyscale{ - pixel_x = 8; - pixel_y = 1 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"NA" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/condiment/enzyme{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/item/reagent_containers/glass/beaker, -/obj/effect/turf_decal/industrial/warning{ - dir = 2; - color = "#808080" - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"NC" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"NF" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/number/four, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"NG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood" - }, -/area/outpost/hallway/fore) -"NH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood"; - dir = 8 - }, -/area/outpost/hallway/central) -"NI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/curtain/cloth/grey, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"NJ" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"NK" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"NL" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"NM" = ( -/obj/machinery/light/broken/directional/south, -/obj/item/trash/waffles{ - pixel_y = -3 - }, -/obj/item/trash/sosjerky{ - pixel_x = -4 - }, -/obj/item/trash/raisins, -/obj/item/trash/pistachios{ - pixel_x = 6 - }, -/obj/structure/closet/crate/trashcart, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"NO" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4; - layer = 2.37 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/machinery/power/port_gen/pacman, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"NP" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/table/reinforced, -/obj/item/kitchen/knife{ - pixel_x = -6; - pixel_y = 2 - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"NQ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"NR" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"NT" = ( -/obj/structure/bed, -/obj/item/bedsheet/captain, -/turf/open/floor/carpet/blue, -/area/outpost/operations) -"NV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21"; - pixel_x = -6; - pixel_y = 17 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"NW" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"NX" = ( -/obj/structure/flora/tree/palm{ - icon_state = "palm2" - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"NY" = ( -/obj/structure/rack{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"NZ" = ( -/obj/effect/turf_decal/atmos/air{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/engine/air, -/area/outpost/engineering/atmospherics) -"Oa" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"Ob" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"Oc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"Od" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/mono/dark, -/area/outpost/cargo) -"Oe" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"Of" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/sign/poster/retro/radio{ - pixel_x = 32 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Og" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/hallway/central) -"Oh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/structure/closet/body_bag, -/obj/effect/mob_spawn/human/corpse/damaged, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Oi" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/mob/living/simple_animal/pet/penguin/emperor, -/obj/machinery/light/directional/east, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"Ok" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/hallway/fore) -"Ol" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"Oo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/pew/left{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"Op" = ( -/obj/machinery/light/directional/north, -/obj/structure/table/reinforced, -/obj/item/binoculars, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Oq" = ( -/obj/structure/alien/weeds, -/obj/structure/alien/resin/wall, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/outpost/maintenance/fore) -"Or" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Os" = ( -/obj/item/shovel, -/obj/item/flashlight/lantern{ - pixel_x = 7 - }, -/obj/effect/turf_decal/weather/snow{ - dir = 6 - }, -/turf/open/floor/plating/asteroid/snow/under/lit, -/area/outpost/external) -"Ot" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"Ou" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"Ov" = ( -/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ - dir = 10 - }, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Ow" = ( -/obj/structure/window/reinforced/fulltile, -/obj/structure/grille, -/turf/open/floor/plating, -/area/outpost/crew/lounge) -"Ox" = ( -/obj/structure/flora/grass/jungle/b, -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"Oy" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/mono/dark, -/area/outpost/cargo) -"OA" = ( -/obj/machinery/processor, -/obj/effect/turf_decal/industrial/warning{ - dir = 2; - color = "#808080" - }, -/obj/effect/decal/cleanable/food/tomato_smudge, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"OC" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"OE" = ( -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"OF" = ( -/obj/machinery/computer/security{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"OG" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4; - layer = 2.37 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"OI" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"OJ" = ( -/obj/structure/fluff/arc, -/obj/structure/sign/poster/official/love_ian{ - pixel_y = 32; - pixel_x = 32 - }, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"OK" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"OM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/outpost/crew/bar) -"ON" = ( -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood, -/area/outpost/crew/library) -"OP" = ( -/turf/closed/mineral/random/snow, -/area/outpost/maintenance/fore) -"OQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"OR" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/shower{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"OU" = ( -/obj/machinery/vending/cola{ - pixel_x = -6 - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"OV" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"OX" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Pa" = ( -/obj/structure/table, -/obj/machinery/jukebox/boombox{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/reagent_containers/food/condiment/soysauce{ - pixel_x = -6; - pixel_y = 7 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"Pb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = -6 - }, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Pc" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"Pd" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/item/storage/fancy/cigarettes/cigpack_robustgold{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/item/lighter{ - pixel_x = -5; - pixel_y = 3 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Pf" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/contraband/mothpill{ - pixel_x = 32 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Pi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/chair/pew/right{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"Pk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"Pl" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/sign/warning/electricshock{ - pixel_y = 32 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"Pm" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/kirbyplants{ - icon_state = "plant-10"; - pixel_x = -7 - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"Po" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/pew/right{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"Pp" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel, -/area/outpost/hallway/fore) -"Pt" = ( -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"Pv" = ( -/obj/effect/turf_decal/techfloor/orange/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"Px" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"PA" = ( -/obj/machinery/vending/coffee, -/obj/effect/decal/cleanable/robot_debris, -/obj/structure/sign/poster/contraband/space_cola{ - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"PB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/showcase/machinery/cloning_pod, -/obj/effect/turf_decal/box/corners{ - dir = 1; - icon_state = "box_corners" - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"PC" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, -/obj/effect/decal/cleanable/food/flour, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/hallway/central) -"PE" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"PF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"PG" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"PH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"PL" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"PN" = ( -/obj/structure/fluff/paper/stack{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/maintenance/aft) -"PO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/chair/wood, -/obj/structure/sign/painting/library{ - pixel_x = 32 - }, -/turf/open/floor/wood, -/area/outpost/maintenance/aft) -"PP" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/outpost, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"PR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"PS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/royalblue, -/area/outpost/operations) -"PV" = ( -/obj/machinery/vending/snack/blue{ - pixel_x = -17 - }, -/obj/item/kirbyplants{ - icon_state = "plant-03"; - pixel_x = 4 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/wrapping, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"PX" = ( -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"PY" = ( -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"PZ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/crew/cryo) -"Qb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/fore) -"Qd" = ( -/turf/open/floor/wood/ebony, -/area/outpost/crew/lounge) -"Qe" = ( -/obj/structure/table/wood/reinforced, -/obj/item/candle/infinite{ - pixel_x = 11 - }, -/obj/item/binoculars, -/turf/open/floor/wood/ebony, -/area/outpost/crew/lounge) -"Qf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/outpost{ - dir = 4; - icon = 'icons/obj/doors/airlocks/station/mining.dmi'; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - assemblytype = /obj/structure/door_assembly/door_assembly_min - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/cargo) -"Qj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"Qk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/closed/indestructible/fakeglass, -/area/outpost/engineering/atmospherics) -"Ql" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/item/paperplane, -/obj/item/radio/intercom/directional/south, -/obj/machinery/firealarm/directional/south, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Qm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/railing/wood{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/storage/fancy/nugget_box{ - pixel_x = 5; - pixel_y = -4 - }, -/obj/item/reagent_containers/food/drinks/bottle/kahlua{ - pixel_x = -5; - pixel_y = 6 - }, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"Qn" = ( -/obj/machinery/photocopier{ - pixel_y = 3 - }, -/obj/structure/railing, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Qo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"Qp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Qq" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/structure/closet/secure_closet/freezer/meat, -/obj/item/reagent_containers/food/snacks/meat/slab/monkey, -/obj/item/reagent_containers/food/snacks/meat/slab/monkey, -/obj/item/reagent_containers/food/snacks/meat/slab/monkey, -/obj/item/reagent_containers/food/snacks/meat/slab/monkey, -/obj/item/reagent_containers/food/snacks/meat/slab/chicken, -/obj/item/reagent_containers/food/snacks/meat/slab/chicken, -/obj/item/reagent_containers/food/snacks/meat/slab/chicken, -/obj/item/reagent_containers/food/snacks/meat/slab/chicken, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/crew/canteen) -"Qu" = ( -/obj/structure/flora/junglebush/large, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"Qv" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Qw" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/crate/trashcart, -/obj/item/trash/syndi_cakes{ - pixel_x = -4; - pixel_y = 3 - }, -/obj/item/trash/energybar, -/obj/item/trash/candy, -/obj/item/trash/sosjerky, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Qy" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/railing/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"Qz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"QA" = ( -/turf/open/floor/engine/plasma, -/area/outpost/engineering/atmospherics) -"QB" = ( -/obj/machinery/light/broken/directional/south, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/aft) -"QC" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"QD" = ( -/obj/structure/flora/rock/pile/largejungle{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"QG" = ( -/obj/machinery/vending/cigarette, -/turf/open/floor/concrete/reinforced, -/area/outpost/hallway/central) -"QH" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"QI" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/operations) -"QK" = ( -/obj/machinery/door/airlock/public/glass, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"QL" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"QM" = ( -/obj/structure/chair/sofa/brown/right/directional/east, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/wood, -/area/outpost/crew/library) -"QN" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/structure/flora/ausbushes/fullgrass{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/grass, -/area/outpost/hallway/aft) -"QO" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"QP" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/railing/corner/wood, -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"QR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"QS" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"QT" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/vacant_rooms) -"QU" = ( -/turf/open/floor/engine/o2, -/area/outpost/engineering/atmospherics) -"QW" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/green, -/area/outpost/hallway/central) -"QY" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Ra" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Rc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"Rd" = ( -/turf/open/floor/carpet/green, -/area/outpost/hallway/central) -"Re" = ( -/obj/structure/flora/rock/icy, -/turf/open/floor/plating/asteroid/snow/airless, -/area/outpost/external) -"Rf" = ( -/obj/machinery/computer/station_alert{ - dir = 1 - }, -/obj/structure/railing, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Rg" = ( -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Rj" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/chem_dispenser/drinks/beer/fullupgrade{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"Rk" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Rl" = ( -/obj/structure/table/wood, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Rm" = ( -/obj/machinery/door/window/brigdoor/northright{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"Rn" = ( -/obj/structure/closet/secure_closet/ertSec, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"Ro" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Rp" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/hallway/fore) -"Rq" = ( -/turf/closed/mineral/random/snow, -/area/outpost/hallway/starboard) -"Rr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/newscaster/directional/south, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"Rt" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/easel, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/outpost/maintenance/aft) -"Ru" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"Rw" = ( -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Rx" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/cryo) -"Rz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/kirbyplants{ - icon_state = "plant-09" - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"RA" = ( -/obj/machinery/door/airlock/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"RB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"RC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"RD" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/indestructable, -/turf/open/floor/plating, -/area/outpost/operations) -"RE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"RF" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black/corner, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/goonplaque, -/area/outpost/crew/cryo) -"RG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"RH" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"RJ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/machinery/suit_storage_unit/inherit, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security) -"RK" = ( -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"RM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"RO" = ( -/obj/machinery/computer/slot_machine, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"RP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"RR" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"RS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/outpost{ - assemblytype = /obj/structure/door_assembly/door_assembly_eng; - icon = 'icons/obj/doors/airlocks/station/engineering.dmi'; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - req_access_txt = "101" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"RT" = ( -/obj/structure/frame/machine, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/glass, -/obj/machinery/newscaster/directional/east, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"RV" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/obj/structure/sink{ - dir = 4; - pixel_x = -12; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/plasma, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"RX" = ( -/obj/effect/decal/cleanable/oil, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = -4; - pixel_y = -5 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"RY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"RZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance, -/obj/item/stack/rods/ten{ - pixel_x = 9 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Sa" = ( -/obj/structure/toilet/secret{ - dir = 4; - secret_type = /obj/item/storage/box/donkpockets/donkpocketgondola - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"Sd" = ( -/obj/structure/grille/broken, -/obj/effect/spawner/lootdrop/minor/pirate_or_bandana, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Se" = ( -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"Sh" = ( -/obj/structure/bookcase/random/fiction, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Si" = ( -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"Sk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Sm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"Sn" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"So" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Sp" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"Su" = ( -/obj/structure/filingcabinet/chestdrawer/wheeled, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Sw" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"Sx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"Sz" = ( -/obj/machinery/jukebox, -/obj/effect/decal/cleanable/plasma, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"SB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/outpost{ - assemblytype = /obj/structure/door_assembly/door_assembly_com; - icon = 'icons/obj/doors/airlocks/station/command.dmi'; - glass = 1; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - name = "Bridge Access"; - req_one_access_txt = "109" - }, -/turf/open/floor/plasteel, -/area/outpost/operations) -"SE" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"SF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"SH" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"SK" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"SL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/lounge) -"SN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/pew/left{ - dir = 4 - }, -/obj/item/trash/can{ - pixel_y = 3 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"SP" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4; - layer = 2.37 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-10" - }, -/obj/structure/cable/yellow{ - icon_state = "1-6" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"SR" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/central) -"ST" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/nachos{ - pixel_y = 9 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/pacfuel{ - pixel_x = 8; - pixel_y = 3 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"SW" = ( -/obj/structure/chair/sofa/brown/left/directional/north, -/obj/effect/decal/cleanable/robot_debris/gib{ - pixel_x = -13 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"SX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"Ta" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing/corner/wood{ - dir = 1 - }, -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"Tc" = ( -/obj/structure/closet/crate/trashcart/laundry, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears, -/obj/structure/grille/broken, -/obj/effect/turf_decal/box/white, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/outpost/maintenance/aft) -"Td" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"Te" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Th" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/plasma, -/obj/structure/closet/crate/secure/loot, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Tk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/vacant_rooms) -"Tm" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Tn" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"To" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Tp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"Ts" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"Tt" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Tu" = ( -/obj/item/toy/plush/beeplushie{ - pixel_y = 5; - pixel_x = 3 - }, -/obj/item/reagent_containers/food/snacks/cakebatter{ - pixel_y = -9; - pixel_x = -5 - }, -/turf/open/floor/engine/n2o, -/area/outpost/engineering/atmospherics) -"Tv" = ( -/obj/structure/railing/corner, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/broken/directional/north, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"Tw" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"Ty" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Tz" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/table/reinforced, -/obj/machinery/light/directional/south, -/obj/item/reagent_containers/glass/beaker, -/obj/item/reagent_containers/food/condiment/enzyme{ - pixel_x = -2; - pixel_y = 6 - }, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"TA" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/computer/security{ - dir = 4 - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"TC" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"TF" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/stamp{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/item/stamp/denied{ - pixel_x = -7 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"TH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"TI" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/obj/machinery/door/poddoor/preopen{ - id = "outpost_office_lockdown"; - dir = 8 - }, -/turf/open/floor/plating, -/area/outpost/operations) -"TJ" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/hallway/central) -"TL" = ( -/obj/structure/table, -/obj/item/book/manual/chef_recipes{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/kitchen/knife{ - pixel_y = 6; - pixel_x = 9 - }, -/obj/item/kitchen/rollingpin, -/obj/effect/turf_decal/industrial/warning{ - dir = 10; - color = "#808080" - }, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"TN" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/machinery/door/airlock/security/glass{ - req_access_txt = "109"; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4; - req_one_access_txt = "101" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"TP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/comfy/grey/directional/north, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"TQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"TR" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/item/paper/crumpled/ruins, -/obj/item/paper/fluff/jobs, -/obj/item/paper/fluff/jobs/cargo/manifest, -/obj/machinery/newscaster/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"TS" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"TT" = ( -/obj/structure/chair/office, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"TV" = ( -/obj/structure/dresser, -/obj/item/trash/candle{ - pixel_y = 15; - pixel_x = 3 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet/royalblue, -/area/outpost/operations) -"TW" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 8 - }, -/area/outpost/engineering/atmospherics) -"TZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/showcase/perfect_employee, -/obj/effect/turf_decal/box/corners, -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Ua" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Ub" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/aft) -"Uc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Ud" = ( -/obj/structure/barricade/security, -/obj/structure/curtain/cloth/grey, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Ug" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"Uh" = ( -/obj/effect/turf_decal/borderfloorwhite{ - dir = 9 - }, -/obj/structure/sink{ - pixel_y = 23 - }, -/obj/structure/mirror{ - pixel_y = 32 - }, -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/outpost/crew/library) -"Ui" = ( -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/structure/sign/poster/official/do_not_question{ - pixel_x = 32; - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"Uk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Un" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/contraband/cybersun_med{ - pixel_x = 32 - }, -/obj/item/kirbyplants{ - pixel_x = 6; - pixel_y = 7 - }, -/obj/item/radio/intercom/directional/north{ - pixel_x = -3 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Uo" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"Uu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/frame/machine, -/obj/structure/noticeboard{ - pixel_y = 28 - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Uv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/item/toy/plush/beeplushie, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Ux" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"Uy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/vacant_rooms) -"UA" = ( -/obj/structure/showcase/mecha/marauder, -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"UC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"UD" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/turf/open/floor/plating, -/area/outpost/crew/canteen) -"UG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"UI" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"UK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/machinery/light/small/broken/directional/east, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"UL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"UM" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4, -/turf/open/floor/plating/asteroid/icerock/cracked, -/area/outpost/maintenance/fore) -"UO" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"UP" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"UQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/sign/poster/retro/nanotrasen_logo_80s{ - pixel_y = 32 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"US" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"UT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/body_bag, -/obj/effect/mob_spawn/human/corpse/cargo_tech, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"UU" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"UW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/secure/loot, -/obj/effect/decal/cleanable/ash{ - pixel_x = 15; - pixel_y = -5 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_y = 7; - pixel_x = -5 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"UY" = ( -/obj/structure/table/wood, -/obj/item/trash/plate{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/cola{ - pixel_x = 12 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"UZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/pew/right{ - dir = 4 - }, -/obj/item/trash/boritos{ - pixel_x = 3; - pixel_y = -2 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/outpost/maintenance/fore) -"Vb" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"Vc" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"Vg" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/prisoner{ - pixel_x = -4; - pixel_y = 9 - }, -/obj/item/storage/box/flashbangs{ - pixel_x = 7; - pixel_y = 4 - }, -/obj/item/storage/box/flashes, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Vh" = ( -/obj/machinery/shower{ - dir = 8; - pixel_y = -7 - }, -/obj/machinery/door/window/eastleft{ - dir = 8 - }, -/obj/structure/curtain, -/obj/item/soap/deluxe, -/turf/open/floor/plasteel/freezer, -/area/outpost/crew/library) -"Vi" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/elevator_call_button{ - pixel_y = 25 - }, -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "3" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"Vk" = ( -/obj/structure/flora/rock/jungle{ - pixel_y = -11 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"Vl" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Vn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"Vp" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"Vq" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Vr" = ( -/obj/machinery/gibber, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"Vs" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"Vu" = ( -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"Vv" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Vx" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/turf_decal/industrial/loading{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Vy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"Vz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"VA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"VC" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"VF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"VI" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/chair{ - dir = 4; - pixel_x = -7 - }, -/obj/item/trash/can{ - pixel_x = 11; - pixel_y = -5 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"VK" = ( -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "4" - }, -/obj/machinery/door/airlock/public/glass{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"VL" = ( -/obj/machinery/gibber, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/hallway/central) -"VM" = ( -/turf/open/floor/grass, -/area/outpost/hallway/central) -"VN" = ( -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"VT" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"VV" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/elevator_call_button{ - dir = 8; - pixel_x = 25 - }, -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "4" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"VZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/beige/filled/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Wc" = ( -/obj/structure/table/wood/reinforced, -/obj/item/paper_bin{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = -8 - }, -/obj/item/pen/charcoal{ - pixel_y = 8; - pixel_x = -3 - }, -/obj/item/flashlight/lamp/green{ - pixel_y = 8; - pixel_x = 6 - }, -/obj/item/phone{ - pixel_x = 8; - pixel_y = -3 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"Wd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/chair/comfy/grey/directional/west, -/obj/machinery/light/directional/south, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"Wi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Wj" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Wn" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"Wo" = ( -/obj/effect/decal/cleanable/plastic, -/obj/item/chair{ - pixel_x = -1; - pixel_y = -4 - }, -/obj/item/chair{ - pixel_x = -1 - }, -/obj/item/chair{ - pixel_x = -1; - pixel_y = 3 - }, -/obj/effect/turf_decal/box, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Wp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/outpost/operations) -"Wq" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/closed/mineral/random/jungle, -/area/outpost/crew/garden) -"Wu" = ( -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/structure/statue/sandstone/venus{ - dir = 8; - layer = 3.1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"Ww" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/light/directional/north, -/obj/machinery/elevator_call_button{ - dir = 4; - pixel_x = -25 - }, -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "1" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"Wx" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"Wz" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"WB" = ( -/obj/structure/railing, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"WC" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/bar) -"WD" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"WE" = ( -/obj/structure/flora/grass/jungle, -/obj/machinery/light/directional/north, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"WI" = ( -/obj/machinery/door/airlock/wood/glass{ - dir = 8 - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"WJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/chair/stool/bar, -/obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"WL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"WP" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"WS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"WT" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"WU" = ( -/obj/structure/table/wood, -/obj/item/storage/photo_album/library{ - pixel_y = 1; - pixel_x = -4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"WX" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"WY" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/radio/intercom/directional/north{ - pixel_x = -3 - }, -/turf/open/floor/plasteel/mono/dark, -/area/outpost/cargo) -"WZ" = ( -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Xb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Xd" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/operations) -"Xf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Xg" = ( -/obj/structure/railing/corner/wood, -/obj/structure/flora/tree/palm{ - icon_state = "palm2" - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"Xh" = ( -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Xi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/railing/wood{ - dir = 9 - }, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"Xm" = ( -/obj/structure/sink/puddle, -/obj/structure/flora/ausbushes/stalkybush{ - pixel_y = 6 - }, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"Xo" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/warning{ - dir = 1; - pixel_y = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Xp" = ( -/obj/machinery/light/small/directional/west, -/turf/closed/indestructible/reinforced, -/area/outpost/maintenance/aft) -"Xs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Xt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Xu" = ( -/obj/effect/decal/cleanable/plasma, -/obj/structure/curtain/cloth/grey, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Xv" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/turf_decal/industrial/loading{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Xw" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/item/trash/can{ - pixel_x = -8; - pixel_y = -6 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"Xy" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Xz" = ( -/obj/structure/table/reinforced, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_y = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/north{ - pixel_x = -3 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"XA" = ( -/obj/structure/bookcase/random/fiction, -/obj/item/candle/infinite{ - pixel_y = 19; - pixel_x = 15 - }, -/obj/structure/sign/poster/retro/random{ - pixel_x = 32 - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"XB" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"XC" = ( -/obj/item/storage/bag/tray, -/obj/item/storage/box/donkpockets{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/storage/box/donkpockets{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = -8; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/condiment/saltshaker{ - desc = "Salt. From space oceans, presumably. A staple of modern medicine."; - pixel_x = -8; - pixel_y = 12 - }, -/obj/machinery/reagentgrinder{ - pixel_y = 5 - }, -/obj/structure/table, -/obj/effect/turf_decal/industrial/warning{ - dir = 2; - color = "#808080" - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"XD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"XH" = ( -/obj/structure/flora/tree/palm{ - pixel_x = 16 - }, -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"XI" = ( -/obj/machinery/computer/secure_data, -/obj/effect/turf_decal/trimline/opaque/red/filled/line, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"XK" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"XP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"XQ" = ( -/obj/structure/table/wood, -/obj/item/table_bell{ - pixel_x = 9; - pixel_y = -1 - }, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"XS" = ( -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"XT" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/item/banner, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"XV" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/structure/sign/warning/coldtemp{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"XW" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/structure/closet/secure_closet/security/sec, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"XY" = ( -/obj/machinery/door/airlock/public/glass, -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "2" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"Ya" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"Yb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/kirbyplants{ - icon_state = "plant-03" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"Yf" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"Yh" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/structure/closet/emcloset/wall/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"Yi" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/number/two, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"Yj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/mop{ - pixel_y = -8; - pixel_x = -13 - }, -/obj/item/clothing/head/soft/purple, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/outpost/maintenance/fore) -"Yl" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/chem_dispenser/drinks/fullupgrade{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"Yo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Yp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/aft) -"Yq" = ( -/obj/structure/table/reinforced, -/obj/item/folder/yellow{ - pixel_x = -7 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Yr" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-5" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"Yt" = ( -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/obj/structure/flora/tree/palm{ - pixel_x = 16 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"Yv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/bag/tray/cafeteria{ - pixel_x = -9; - pixel_y = 12 - }, -/obj/effect/decal/cleanable/food/egg_smudge, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Yw" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/mono/dark, -/area/outpost/cargo) -"Yy" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Yz" = ( -/obj/item/toy/plush/lizardplushie{ - name = "Him"; - desc = "A menace unleashed." - }, -/obj/effect/decal/fakelattice{ - icon_state = "lattice-38" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"YC" = ( -/obj/structure/table/wood, -/obj/item/storage/secure/briefcase, -/obj/item/storage/lockbox/loyalty{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/item/assembly/flash/handheld, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel, -/area/outpost/operations) -"YE" = ( -/obj/effect/decal/fakelattice{ - icon_state = "lattice-11" - }, -/turf/open/space/basic, -/area/outpost/external) -"YF" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -8; - pixel_y = 3 - }, -/obj/item/trash/semki{ - pixel_y = 7; - pixel_x = 5 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"YG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"YH" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8; - color = "#808080" - }, -/obj/structure/bed, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"YI" = ( -/obj/structure/closet/secure_closet/captains, -/turf/open/floor/carpet/blue, -/area/outpost/operations) -"YJ" = ( -/obj/structure/table/wood, -/obj/item/paicard{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/paicard{ - pixel_x = -1; - pixel_y = 1 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/bar) -"YM" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 6 - }, -/obj/structure/tank_dispenser, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"YN" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/item/gun/energy/ionrifle, -/obj/item/gun/energy/beam_rifle{ - pixel_x = 3; - pixel_y = -4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"YO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_4, -/area/outpost/hallway/central) -"YP" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"YR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/obj/structure/sign/poster/official/soft_cap_pop_art{ - pixel_x = -32 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"YS" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"YT" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"YX" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"YZ" = ( -/obj/structure/closet/secure_closet/ertEngi, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"Za" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/dorm) -"Zb" = ( -/obj/structure/closet/secure_closet/freezer/wall/directional/east, -/obj/item/clothing/under/shorts/cookjorts, -/obj/item/clothing/shoes/cookflops, -/obj/item/clothing/suit/toggle/chef, -/obj/item/clothing/under/rank/civilian/chef, -/obj/item/clothing/under/rank/civilian/chef/skirt, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/head/chefhat, -/obj/item/clothing/suit/apron/chef, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"Zc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Zd" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Ze" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Zf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"Zh" = ( -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Zi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/alien/weeds, -/obj/structure/alien/egg/burst, -/obj/effect/decal/cleanable/xenoblood/xgibs/larva/body, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Zk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/wood, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"Zl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"Zm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"Zn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/logo{ - icon_state = "nanotrasen_sign4"; - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Zp" = ( -/turf/closed/mineral/random/snow, -/area/outpost/external) -"Zr" = ( -/obj/machinery/vending/security, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 6 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Zs" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"Zt" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/machinery/light/directional/south, -/obj/item/shard, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Zu" = ( -/obj/machinery/cryopod{ - dir = 1 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"Zv" = ( -/obj/structure/table, -/obj/structure/bedsheetbin, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/crew/library) -"Zw" = ( -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/plasma, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"Zy" = ( -/obj/structure/girder/displaced, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Zz" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"ZB" = ( -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood" - }, -/area/outpost/hallway/fore) -"ZC" = ( -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/obj/structure/railing/corner/wood{ - dir = 8; - pixel_y = 26 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"ZD" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/brigdoor/southright{ - req_access_txt = "101" - }, -/obj/machinery/door/window/brigdoor/southright{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/ert{ - id = "outpost_security_desk"; - desc = "A heavy duty blast door." - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/security) -"ZE" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 6 - }, -/obj/machinery/portable_atmospherics/scrubber/huge, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"ZF" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/mono/dark, -/area/outpost/cargo) -"ZG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/railing/corner/wood{ - dir = 1 - }, -/obj/structure/railing/corner/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"ZH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"ZJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"ZK" = ( -/obj/machinery/door/poddoor/shutters/preopen, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"ZM" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/mono/dark, -/area/outpost/cargo) -"ZN" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"ZO" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/light/directional/south, -/obj/structure/closet/wall/directional/east{ - name = "Game Locker"; - desc = "It's a basic storage unit. Theres a little label on it, asking you to put the toys back in when finished" - }, -/obj/item/toy/figure/curator{ - pixel_x = 7; - pixel_y = 8 - }, -/obj/item/toy/figure/detective, -/obj/item/toy/figure/dsquad{ - pixel_x = 7 - }, -/obj/item/toy/figure/head_of_personnel{ - pixel_y = -5; - pixel_x = 11 - }, -/obj/item/toy/figure/ian{ - pixel_y = -3; - pixel_x = 5 - }, -/obj/item/toy/figure/ian{ - pixel_y = -3; - pixel_x = 5 - }, -/obj/item/toy/figure/ian{ - pixel_y = -3; - pixel_x = 5 - }, -/obj/item/toy/figure/janitor{ - pixel_y = -7 - }, -/obj/item/toy/figure/lawyer{ - pixel_x = -7; - pixel_y = -8 - }, -/obj/item/toy/figure/ninja{ - pixel_y = -9; - pixel_x = 6 - }, -/obj/item/toy/figure/captain, -/obj/item/toy/figure/syndie, -/obj/item/toy/figure/syndie, -/obj/item/toy/figure/syndie, -/obj/item/toy/figure/secofficer, -/obj/item/toy/figure/secofficer, -/obj/item/toy/figure/wizard, -/obj/item/toy/plush/knight, -/obj/item/toy/plush/hornet{ - pixel_x = 9; - pixel_y = -4 - }, -/obj/item/toy/toy_xeno, -/obj/item/toy/toy_xeno, -/obj/item/storage/pill_bottle/dice{ - pixel_x = 6; - pixel_y = 6 - }, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"ZQ" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"ZR" = ( -/obj/structure/chair/sofa/brown/corner/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/wood, -/area/outpost/crew/library) -"ZS" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"ZT" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/computer/bounty, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"ZV" = ( -/obj/structure/table, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/crew/library) -"ZW" = ( -/obj/structure/chair/stool/bar, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"ZX" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 8 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"ZY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"ZZ" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = -7; - pixel_y = -2 - }, -/obj/item/toy/cards/deck{ - pixel_y = 7; - pixel_x = 5 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/bar) - -(1,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(2,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(3,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(4,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(5,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(6,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(7,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(8,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(9,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(10,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(11,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(12,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(13,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(14,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(15,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(16,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(17,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(18,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(19,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(20,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(21,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(22,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(23,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(24,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Ow -Ow -Ow -Ow -Ow -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(25,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Ow -Ow -Kv -tJ -Qe -Ow -Ow -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(26,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Ow -Ow -EB -Qd -fK -fK -fQ -Ow -Ow -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(27,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Mx -rd -wt -fK -Qd -Qd -SL -yJ -Mx -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(28,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -Zp -Zp -Zp -Zp -Zp -Zp -Mx -lD -uw -ot -Qd -vu -uw -ia -Mx -aL -aL -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(29,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Mx -AC -EJ -Po -fK -zR -nA -FM -Mx -cL -aL -aL -aL -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(30,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Mx -Zl -dM -od -fK -qX -BY -Vp -Gh -BX -Ap -EZ -aL -aL -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(31,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Mx -kk -mn -Pi -tz -Oo -LV -lh -Mx -yP -iN -iN -uV -aL -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(32,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -TJ -TJ -TJ -TJ -TJ -TJ -Mx -Mx -Mx -Mx -lM -Mx -Mx -Mx -Mx -cL -cL -cL -Tv -cL -cL -aL -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(33,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -wH -lJ -wH -wH -lJ -OP -OP -Zp -TJ -TJ -qj -yc -Ja -gu -Wj -re -dE -Tn -cw -Iz -gN -Tn -AF -Pm -rf -pt -cL -tQ -Xp -RV -Fe -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(34,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -HY -sN -sN -sN -Zp -OP -wH -RO -xD -xf -eX -zu -OP -Zp -TJ -xH -ta -MQ -sd -Cd -Cd -Cd -RE -Cd -Gc -Wi -cm -Tn -xO -OV -Js -ay -bX -Lf -cL -lL -Ll -Zp -Zp -Zp -Zp -Zp -Zp -Zp -aW -aW -aW -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(35,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -sN -Ft -sN -HY -Zp -OP -LS -eW -eW -eW -Nz -PH -wH -Zp -TJ -BI -qW -xy -Ze -EH -pz -pz -pz -pz -Dp -jn -TS -Tn -df -OV -DU -zP -cL -uq -cL -BS -cL -gS -Zp -Zp -Zp -Zp -Zp -Zp -ak -aW -aW -aW -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(36,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -HY -sN -vV -Ft -Ft -Zp -wH -tl -yb -zu -eW -Ra -ip -wH -wH -wH -wH -va -yO -dA -Kh -Ff -yh -DJ -Nd -zI -LG -yX -YO -ob -eO -RT -TJ -cL -Gz -cL -qK -cL -aL -cL -cL -aL -aL -Zp -cL -cL -Ig -cL -aW -aW -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(37,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -sN -vV -vV -cb -Ft -OP -wH -wH -wH -HW -wH -lJ -wH -wH -Zi -jQ -wH -WC -WC -WC -WC -WC -WC -WC -PA -jI -Zc -HA -xU -TJ -TJ -TJ -TJ -hX -uj -hJ -eI -bG -nc -cL -uo -Fn -aL -aL -cL -WZ -WZ -cL -aW -aW -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(38,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -HY -Ft -dx -YE -hH -DD -kc -sn -sg -yD -Dw -PB -uJ -lJ -wa -JY -aD -WC -mA -Uk -ze -dv -Hu -WC -TJ -vO -gk -mW -WJ -Pa -wn -NP -TJ -cL -cL -cL -Bs -KD -aw -cL -fV -RX -Rt -aL -cL -QY -WZ -cL -aW -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(39,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -HY -HY -Ft -hH -hH -nP -wB -vf -GO -jo -Hk -GH -UA -wH -Oq -Il -Nq -WC -Ez -uv -dr -Bj -mv -GS -bP -Gc -GB -zz -wF -EP -xh -Tz -TJ -hZ -VL -cL -Br -iN -ly -cL -DH -PN -PO -iH -cL -cL -hy -cL -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(40,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -AB -Zp -Zp -Zp -Zp -Zp -Zp -OP -lJ -dN -yZ -lG -lJ -Gn -Gn -wH -wH -Dk -wH -WC -Tt -ge -nX -Tm -un -sQ -LK -BG -Ij -zz -Lj -Ju -xh -Sn -ae -El -Og -cL -pG -sX -Tc -cL -rc -xA -cL -cL -cL -Dt -QB -cL -cL -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(41,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -gv -AB -Re -Zp -Zp -Zp -Zp -wH -wH -wH -vy -zv -IE -vE -LP -xY -SH -Jf -Oh -ha -WC -Eb -Ep -Xb -Kg -yI -DS -wJ -Px -er -Ua -RY -zB -oo -JE -TJ -El -LM -cL -ar -lI -cL -cL -CH -jl -cL -Sp -Xw -yn -uV -im -cL -cL -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(42,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -mc -Gv -AB -Zp -Zp -Zp -wH -lJ -oH -eR -Yo -he -CZ -xM -Cj -xd -RZ -UT -Jv -cM -te -IF -lR -aE -ZZ -YJ -GS -Fd -Dp -Ev -GT -TJ -TJ -TJ -TJ -TJ -PC -qI -cL -ZX -cL -cL -mh -bR -ar -QH -tD -bR -yp -iN -Dy -gH -cL -cL -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(43,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -xk -Os -yj -Zp -Zp -Zp -OP -Ci -UG -nH -xV -wH -lJ -wH -Rp -Rp -Rp -Rp -Rp -gM -WC -il -iE -si -si -qT -WC -TJ -vO -Ev -mt -Tn -SR -QW -Gi -TJ -TJ -cL -cL -rk -rk -bR -bR -iW -fJ -cL -Hy -IB -bq -zH -KW -To -sl -cL -cL -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(44,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -ck -KY -Zp -Zp -Zp -Zp -OP -Mb -UG -lz -wH -wH -Lw -ev -Rp -AE -AE -CG -Rp -hb -WC -Un -hK -OM -OM -Bw -WC -OU -Qp -Ev -Zz -Tn -lf -Kb -Rd -If -Ds -cL -mH -Sm -UK -yr -qF -Qw -Rx -Rx -Rx -Rx -Rx -Rx -Rx -fM -sF -yE -cL -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(45,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -OP -OP -OP -OP -OP -wH -TZ -UG -wH -wH -ng -SH -BB -Rp -AE -AE -AE -Rp -Rp -WC -WC -WC -fb -hk -kx -WC -PV -Qp -jh -Jm -AD -nU -eg -dF -kT -wR -vw -vw -vw -cL -tV -cL -Rx -Rx -uR -wW -NQ -yF -Fm -Rx -Rx -ef -cL -cL -cL -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(46,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -OP -OP -Zy -JC -CV -aJ -wH -Uu -eR -Ay -ai -SK -Yz -NC -Rp -AE -AE -AE -Rp -Lv -Ex -wQ -WC -WC -WC -WC -WC -TJ -iR -SF -bk -Tn -gm -NW -Zt -vw -vw -vw -vx -vx -Wq -Mq -uk -Rx -uR -de -Gu -Bu -UP -kZ -Fm -Rx -Mi -hd -dh -aL -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(47,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Gq -ka -ok -Ob -nv -zF -wH -ml -Xs -wH -gz -cW -yK -vY -Rp -Rp -qL -Rp -Rp -LQ -uX -Ex -MD -Gx -Gx -Gx -Gx -TJ -gL -gk -Zz -Tn -pD -Pf -Ql -vw -vx -vx -vx -pL -Ed -fc -fc -Rx -xp -LF -kB -wK -HI -pq -qm -Rx -zY -qQ -aL -aL -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(48,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -wH -ea -jG -jG -Cn -eW -kH -FL -lX -Rp -Rp -Rp -Rp -Rp -Rp -Ww -fn -CL -Rp -KU -KU -KU -Rp -Rp -Rp -Rp -Gx -TJ -Lh -ir -HA -TJ -TJ -TJ -vw -vw -vx -cr -cr -cr -RK -cr -RK -Rx -Pl -Oe -Zu -yN -wl -Ou -oh -Rx -Rx -Rx -Rx -Rx -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(49,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -wH -tF -Kx -hu -EY -nQ -wH -NI -KQ -Rp -AE -AE -AL -Rp -pC -Bb -kw -OC -qU -gR -WX -Ug -hh -At -Rp -Gx -Gx -TJ -qA -TH -Zz -sH -hM -TJ -vw -Vk -cr -cr -NX -cr -Xg -eH -bA -Rx -KG -PL -XS -EA -Pc -Yf -ZS -hW -rJ -Fu -Rx -Rx -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(50,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -OP -OP -Uv -vz -gM -Sd -wH -Vy -GY -Rp -AE -AE -AE -XY -Yi -Ko -vZ -vZ -ga -ga -tX -vZ -MA -eZ -Rp -qZ -jg -TJ -Zn -gk -TS -JX -xu -Zs -vw -we -bA -Ox -eH -eH -kz -aA -ZY -Rx -Na -Se -HT -JM -pE -js -cR -hW -CK -rA -MC -Rx -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(51,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -OP -OP -OP -OP -HW -wH -Te -qw -Rp -AE -AE -AE -Rp -lH -Ko -vZ -ur -AM -AM -oK -vZ -MA -vS -Rp -Rp -QC -TJ -vW -Fq -IW -Mc -yQ -za -vw -rV -fL -fL -mJ -mJ -mJ -XT -fT -Rx -Rx -XV -eC -eC -eC -gC -hW -hW -pZ -Rm -Vb -Rx -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(52,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -OP -mS -aF -wH -Xu -Ud -Rp -Rp -Rp -Rp -Rp -aV -Ko -vZ -Ik -wM -zZ -uZ -OK -rj -YS -Rp -sJ -sz -Fh -Rw -Gk -Ny -Cd -Cd -Kj -vw -Hv -Oc -Ol -Ol -Ol -Ol -sP -XB -zL -Rx -ra -NJ -HO -NJ -fX -hW -TA -ru -nY -je -Rx -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(53,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -OP -sD -Pb -wH -CD -vB -AV -Hi -Dh -BV -Ei -sB -bv -zy -WB -fE -ZT -Uo -WS -up -WS -Io -EV -Hj -NG -iJ -MU -Sk -Sk -iJ -iJ -QK -KC -dp -zb -Bx -zb -zb -zb -Bx -Bx -MF -gn -ZN -RF -BL -PZ -PP -dg -Eq -VN -FG -Rx -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(54,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -OP -OP -Th -AW -wH -xF -wH -Rp -Rp -Rp -Rp -Rp -jT -Ko -vZ -Ik -vc -vN -OG -RH -wh -oS -Rp -rR -tp -ZB -Rw -rw -og -pz -pz -pz -vw -Fo -uI -rx -td -rx -rx -rx -jw -zL -Rx -Nh -dq -kt -GE -Tw -hW -Aa -IC -IC -NY -Rx -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(55,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -OP -OP -OP -lA -Ru -gl -Jw -UG -xm -Rp -AE -AE -pl -Rp -FD -Ko -vZ -UI -tf -tf -Vz -vZ -MA -At -Rp -xL -Ta -ez -hi -NH -hi -Xi -cp -Qm -vw -UQ -fv -fv -fv -fv -fv -xZ -RM -Rx -Rx -Nb -iB -iB -iB -Fm -hW -hW -Iy -ts -ci -Rx -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(56,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -OP -UZ -SN -Yj -HG -jD -wH -oE -zs -Rp -AE -AE -AE -cq -HH -Ko -vZ -vZ -ga -ga -Vz -vZ -MA -eZ -Rp -ZQ -OJ -QP -zz -gk -zz -ZG -Ec -Wd -vw -sL -XH -qz -et -et -eb -dC -FN -Rx -bC -de -Gu -Bu -UP -kZ -Fm -hW -DP -rA -rO -Rx -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(57,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -OP -UW -UG -HG -NM -wH -wH -wH -wH -Rp -AE -AE -AE -Rp -Vi -Ui -WD -Qy -nb -Ok -hP -KX -Wu -aH -Rp -Rp -xa -Hx -Dp -GB -Ua -Kk -lt -TJ -vw -WE -cr -cr -zO -cr -Yt -et -XH -Rx -bO -LF -kB -wK -HI -pq -ZS -hW -Cc -nT -Rx -Rx -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(58,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -wH -bQ -iM -vv -hj -hj -Gr -BD -hg -Rp -Rp -Rp -Rp -Rp -Rp -vT -NF -VV -Rp -qd -Qb -Pp -DZ -Rp -QT -QT -QT -QT -xQ -Ev -HA -It -WI -It -vw -vw -Qu -cr -na -KL -wf -Ew -vx -Rx -Pl -Oe -Zu -yN -wl -Ou -oh -Rx -Rx -Rx -Rx -hc -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(59,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -wH -wH -xF -wH -hj -Gr -Cp -Yr -LX -wY -an -Yh -px -xW -Rp -Rp -VK -Rp -QT -QT -JP -QT -QT -QT -EU -NV -Bi -Ho -Oa -Ev -mt -It -mE -nk -bJ -vw -vx -vx -cr -cr -vx -vx -vx -Rx -xp -PL -XS -EA -Pc -Yf -BQ -Rx -Uh -fl -Nr -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(60,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -wH -wH -CJ -iY -VI -hj -lg -SP -IY -Jc -GQ -CC -sU -ie -wz -Rp -AE -AE -Jb -QT -nn -nn -nn -QT -wL -Rl -by -TT -xs -Qp -xT -bY -RA -yi -fp -wy -vw -vw -vx -vx -vx -vx -vx -vx -Rx -qO -Se -jE -JM -pE -js -gC -Rx -jU -Lx -Vh -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(61,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -wH -Wo -uP -Yv -BN -hj -Gr -EO -LJ -qN -wY -Lr -Vu -Pv -YM -Rp -AE -AE -AE -QT -nn -nn -nn -QT -Wc -di -vm -eS -Bm -Co -Ev -Zz -It -BJ -dL -GR -vK -vw -vw -vw -vw -po -po -po -Rx -Rx -Na -mR -mk -eC -gC -Rx -Rx -Nr -Kp -Nr -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(62,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -wH -qe -Fs -wH -wH -hj -hj -Gr -DR -NO -hj -hj -yl -Fy -hj -Rp -AE -AE -AE -QT -nn -nn -nn -QT -ps -Ee -Ee -Ee -QT -Nu -jh -QS -It -jX -TP -Si -rQ -It -Gd -mp -Ey -po -Bg -fo -nz -Rx -Rx -Rx -Rx -Rx -Rx -Rx -fB -vJ -cn -Zv -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(63,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -wH -LN -nt -pU -uE -jC -pU -pU -pU -pU -pU -zD -HL -OE -jZ -Rp -Rp -Rp -Rp -QT -vG -vG -vG -QT -QT -QT -AS -QT -QT -rl -Ev -Or -It -wN -lB -Si -uL -dR -dR -dR -fk -po -kF -VC -lK -po -Mo -uQ -cf -bV -gI -Za -Nr -Nr -cn -ZV -Nr -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(64,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -wH -wH -HG -pU -pT -Eg -NK -cC -Jp -Lp -pU -vl -Iu -UL -OI -hj -en -wV -hj -fR -Qz -Xf -lN -nj -Qz -kf -Qz -Ns -QT -Uc -Ev -CW -It -It -xC -WU -FT -tK -QR -QR -vM -po -Kd -qx -nJ -po -xI -UC -ZC -oA -Am -mI -Sx -pX -eu -tP -Nr -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(65,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -UM -By -db -Xt -Lz -ry -ry -YP -dT -Qv -Mf -ty -qi -tb -NL -QO -RS -WL -WL -RS -eL -kO -kO -JZ -Ro -Uy -Tk -kO -Zh -yL -fr -ve -Zz -QG -It -nE -Jq -ZO -It -XA -zM -Gd -po -Gj -aB -rU -po -Zk -Mw -Gt -cG -Mw -In -gA -LD -mY -Nr -Nr -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(66,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -HY -HY -wH -wH -pU -aq -Fp -jb -Kw -tO -Et -pU -zl -wg -vI -ZE -hj -da -OR -hj -aC -iT -iT -ys -jv -gh -zi -Ac -MX -QT -vO -GB -mP -TJ -It -It -It -It -It -It -It -It -po -mu -fA -oq -po -LC -IL -le -pg -mx -Za -GA -MK -Vv -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(67,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -HY -Zp -Zp -pU -aq -Fp -pU -HE -aZ -TW -pU -kq -Dm -hj -hj -hj -hj -hj -hj -QT -QT -AS -QT -QT -QT -QT -QT -QT -QT -RB -gk -Zz -vC -Me -pj -oC -ep -vC -pv -Ca -QN -po -po -rs -po -po -Za -Za -Za -Za -Za -Za -Za -AT -rT -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(68,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -pU -pU -pU -pU -eU -tO -JS -pU -pU -pU -gP -Vr -BA -sR -gP -ba -DL -FC -IJ -cB -gP -dj -dj -dj -dj -Gy -Qp -gk -mW -Ub -Dg -Cl -Dg -bB -vC -mr -mr -mr -Zm -la -MM -mr -Nr -Rz -zj -Db -nh -YR -fG -fG -Nj -Xy -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(69,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -vD -nV -my -LO -CE -nV -QU -pU -Qq -AK -sR -sR -gP -ua -sI -mZ -IJ -IJ -gP -dj -dj -dj -Xm -Ak -Qp -uH -Px -uf -aU -GU -FQ -FA -Ag -xK -su -Ng -Yp -Yp -CN -Yp -Em -YG -vQ -fg -EM -Ax -JK -rL -Es -jz -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(70,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -rP -nV -my -LO -CE -nV -qc -pU -dX -Pk -Rc -tm -st -lT -gy -wZ -XQ -CA -gP -TJ -TJ -TJ -kd -AN -Qp -gk -Ua -yW -PR -PR -VA -PF -vC -Fi -Ux -KM -RG -RP -iG -Rr -Nr -Sh -ON -ON -Nc -XK -ZW -us -Ts -Yl -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(71,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -vD -nV -my -mz -ye -nV -QU -pU -dU -Td -gx -sR -gP -zQ -wc -xE -XP -eQ -jj -qy -uG -Ib -ut -ut -Gc -Ev -cv -vC -dB -KA -iG -Yb -vC -bn -Ef -sA -ex -Nn -Qf -Nn -Nr -ZR -QM -ro -pN -XK -jf -Al -BT -Rj -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(72,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -pU -pU -pu -mz -zV -pU -pU -pU -Ji -go -Zb -Hq -gP -ee -Vs -VF -ZJ -bL -oa -cj -Iv -Iv -Iv -Iv -wJ -XD -Wn -Mt -Mt -Mt -cX -Mt -Mt -lS -Jj -TR -ex -RR -Ln -oI -Nr -Cw -fq -gB -Au -Fz -iu -pJ -Nm -gT -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(73,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -lr -nV -my -mz -ye -nV -QA -pU -gP -BC -gP -gP -gP -AR -JB -gP -gP -gP -gP -TJ -dj -UU -QD -jF -Qp -Ev -Zz -Mt -yG -zo -tt -bt -Mt -ic -Zw -vd -kl -aI -Ln -oI -Nr -sv -mG -aR -Nc -kA -Nr -Nr -Nr -Nr -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(74,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -ui -nV -my -mz -ye -nV -qp -pU -Hh -pr -vq -gP -Sz -Nw -ff -AA -zG -tY -gP -dj -dj -dj -VM -tE -Qp -Ev -Zz -Mt -Xz -En -QL -XW -Mt -Mt -ex -ex -ex -Nn -Qf -Nn -Nr -Nr -yB -Md -pN -Fw -Nr -hp -rh -WT -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(75,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -lr -nV -my -mz -ye -nV -QA -pU -OA -IJ -tv -rZ -AA -Nw -ff -gK -tA -xv -gP -Rq -Rq -Rq -Rq -gs -vo -tr -jL -Mt -Mn -zf -rv -ki -RJ -Mt -Ab -Ab -Ab -bx -qu -mb -cS -Nr -of -qb -xR -MR -BF -II -rE -qg -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(76,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -pU -pU -Yy -mz -ig -pU -pU -pU -XC -IJ -tv -jc -AA -iQ -bu -gK -UY -tN -UD -DE -Rq -Rq -Rq -gs -xo -EF -iD -Mt -Mt -Aj -LI -ki -rD -Mt -Ab -Ab -Ab -ZK -Zf -jY -cS -Nr -rB -Vq -ca -LZ -bU -Qj -Sw -gF -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(77,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -pU -Di -nV -my -mz -PE -nV -tj -pU -NA -tG -tv -yV -AA -AA -TQ -Ni -xr -oZ -UD -cJ -cJ -Rq -Rq -gs -zq -MP -fy -ZD -tZ -wp -jK -EW -rW -Mt -Ab -Ab -Ab -jx -IH -jY -cS -Nr -fj -YF -ca -cU -sT -DO -CF -Ih -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(78,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -pU -BH -nV -MZ -Ck -ye -nV -tj -pU -vk -TL -IJ -uc -AA -GC -mD -oD -oD -pI -UD -bb -CQ -gO -Rq -gs -Ya -MP -fy -lb -Du -OF -qG -uU -Mt -Mt -Nn -Nn -Nn -Nn -GK -jY -Nn -Nr -Of -Hp -ca -Eh -Nr -GD -qo -Nr -Nr -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(79,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -pU -Tu -nV -ke -hO -bW -nV -tj -pU -gP -Lg -IJ -gP -zS -fP -aN -AA -Pt -GC -UD -av -Mk -CQ -Rq -gs -Kz -uD -oN -Mt -Mt -Mt -TN -Mt -Mt -NR -EC -cF -WP -Df -xe -Kf -ow -Nr -Nr -Nr -fZ -Nr -Nr -Nr -Nr -Nr -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(80,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -pU -pU -pU -nV -Qk -nV -pU -pU -pU -gP -gP -gP -gP -Iq -hD -AA -gK -on -SW -UD -VT -Oi -kI -Rq -gs -KV -uD -fy -mj -GW -Ge -tt -Vg -Mt -Od -Od -Od -ZM -Wz -jB -YT -iL -uS -Nr -wq -wq -wq -Nr -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(81,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -pU -bd -bd -NZ -bd -bd -pU -Ad -gP -vr -Sa -gP -Wx -dQ -GC -gK -hF -GG -gP -dO -gs -gs -gs -gs -ZH -tr -fy -mj -YH -KT -LI -JH -Mt -Od -Od -bH -ZM -Wz -jB -YT -iL -eM -Nr -wq -wq -wq -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(82,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -pU -bd -bd -wk -bd -bd -pU -Ad -gP -fO -hE -HD -mq -HJ -lx -gK -ST -MO -gP -wE -GL -Ot -ja -Vn -ct -uD -Vc -Mt -Mt -Mt -pR -sV -Mt -YX -uu -ft -ft -kY -bw -cK -Zd -OX -Nr -wq -wq -wq -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(83,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -pU -pU -pU -pU -pU -pU -pU -wS -gP -gP -gP -wS -wS -wS -gP -gP -gP -gP -gP -gP -gP -SX -Qo -wu -wu -kR -fN -mj -GW -Ge -fu -GI -Mt -Yw -Od -bH -ZM -Xo -yo -YT -Zd -hA -Nn -Nn -Nn -Nn -Nn -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(84,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Ft -Ft -lY -Bf -EN -wS -wS -Nf -iv -Jt -wS -Ad -Ad -Ad -Kn -Ad -Ad -Ad -Ad -Ad -Ad -Ad -wS -oc -Tp -eh -IS -lq -RC -mj -YH -KT -dw -Zr -Mt -WY -bH -ZF -Oy -bj -BR -om -ce -uS -Nn -aO -Pd -qv -Nn -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(85,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Ft -Zp -lY -Bf -EN -RD -gU -Ty -tI -mF -wS -wS -wS -wS -Gs -wS -wS -wS -wS -wS -Ad -Ad -wS -OQ -MP -fy -FU -FU -FU -FU -FU -FU -Gw -FU -FU -YX -ft -rN -uu -Wz -Fx -dd -VZ -ms -rX -PY -oL -sM -Nn -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(86,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -lY -Bf -EN -RD -XI -Cs -FV -ne -JO -BE -Cv -UO -ej -pm -Lo -jR -Ai -wS -wS -wS -wS -wC -tr -Vc -FU -du -Lu -jJ -YN -EE -gJ -rG -FU -Od -bH -Od -ZM -Xo -wj -no -ym -nF -Hb -PX -Xh -Rk -Nn -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(87,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -HY -lY -Bf -EN -RD -zm -Vl -PG -hI -sx -uK -DV -wT -kP -jm -gd -Rg -Cy -wI -aS -FR -pK -Ya -pe -TC -gW -bS -bS -jV -gw -hV -gV -Rn -FU -Od -Od -Od -ZM -Xo -cK -cK -iL -xw -Nn -lZ -Xh -kJ -Nn -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(88,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -HY -HY -lY -Bf -EN -wS -Op -GJ -tC -Gm -hx -US -Mp -KP -vs -ag -Yq -Rg -kM -SB -Wp -oJ -op -IP -kR -oG -gW -bS -bS -jV -ny -ny -iX -Rn -FU -nZ -hQ -ei -ei -CU -Vx -Xv -ti -uS -Nn -tW -LE -Nn -Nn -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(89,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Ft -HY -lY -Bf -EN -RD -IZ -Vl -bg -Rf -dD -oX -TF -nC -SE -HS -zK -US -iz -wI -DF -xt -pK -KV -jP -jL -FU -mN -JJ -Ao -yA -YZ -az -FU -FU -Nn -Nn -Nn -Nn -zn -zn -zn -zn -Nn -Nn -Nn -Nn -Nn -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(90,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Ft -Zp -lY -Bf -EN -RD -As -eP -Ia -Az -QI -Ce -Xd -wd -IM -ac -HC -qE -HZ -wS -wS -wS -wS -TI -jW -TI -wS -wS -FU -FU -FU -FU -FU -FU -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(91,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -lY -Bf -EN -RD -HF -fU -GN -Ov -wS -wS -wS -LW -wS -wS -wS -iK -wS -wS -sm -Jh -wS -Dl -HM -Su -Qn -wS -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(92,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -lY -Bf -EN -wS -wS -aG -eF -Ke -wS -cH -yy -kC -pa -YI -wS -Bc -IN -wS -eK -PS -wS -KF -fH -So -Ie -wS -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(93,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -ak -ak -ak -wS -RD -RD -RD -wS -mB -eB -qk -sb -so -wS -qC -DM -mw -IR -Af -mw -JR -gg -cc -DY -wS -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(94,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -ak -ak -ak -ak -EN -EN -EN -wS -tx -tM -Mv -do -NT -wS -ue -YC -wS -TV -Kt -wS -Bz -Ls -Hs -kN -wS -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(95,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -ak -ak -ak -Bf -Bf -Bf -wS -RD -RD -wS -wS -wS -wS -RD -wS -wS -wS -wS -wS -wS -wS -wS -wS -wS -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(96,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -sN -sN -sN -HY -HY -HY -HY -HY -sN -sN -sN -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(97,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -sN -sN -HY -HY -Zp -Zp -HY -sN -sN -sN -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(98,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -HY -HY -HY -Zp -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(99,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(100,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(101,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(102,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(103,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(104,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(105,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(106,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(107,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(108,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(109,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(110,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(111,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(112,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(113,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(114,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(115,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(116,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(117,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(118,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(119,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(120,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(121,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} diff --git a/_maps/outpost/nanotrasen_ice.dmm b/_maps/outpost/nanotrasen_ice.dmm index d029c3dc86a..7e39abd0d9d 100644 --- a/_maps/outpost/nanotrasen_ice.dmm +++ b/_maps/outpost/nanotrasen_ice.dmm @@ -630,6 +630,23 @@ light_range = 2 }, /area/outpost/exterior) +"ek" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/camera{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister{ + icon_state = "orangews" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "el" = ( /obj/structure/window/reinforced/spawner{ dir = 4 @@ -943,7 +960,7 @@ "gO" = ( /obj/effect/turf_decal/industrial/outline/yellow, /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/structure/sign/poster/retro/random{ pixel_x = -32 }, @@ -1168,7 +1185,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/structure/rack, /obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /turf/open/floor/plasteel/tech, /area/outpost/vacant_rooms/shop) "iH" = ( @@ -1280,9 +1297,6 @@ /turf/open/floor/plasteel/patterned/ridged, /area/outpost/vacant_rooms/shop) "jI" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, /obj/effect/turf_decal/borderfloor, /obj/machinery/light/small/directional/east, /obj/structure/railing{ @@ -1342,6 +1356,18 @@ /obj/machinery/light/directional/south, /turf/open/floor/plasteel/telecomms_floor, /area/outpost/security/checkpoint) +"kB" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "kG" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/glass{ @@ -1436,14 +1462,13 @@ /turf/open/floor/plasteel/patterned, /area/outpost/crew/cryo) "li" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, /obj/effect/turf_decal/borderfloor{ dir = 8 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, +/obj/structure/railing{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2 @@ -1645,6 +1670,17 @@ light_range = 2 }, /area/outpost/exterior) +"mh" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plating{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "mk" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/white{ @@ -1809,7 +1845,7 @@ "mV" = ( /obj/structure/rack, /obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/tech, /area/outpost/vacant_rooms/shop) "na" = ( @@ -1832,6 +1868,17 @@ }, /turf/open/floor/plasteel/dark, /area/outpost/cargo/smeltery) +"nh" = ( +/obj/machinery/atmospherics/components/unary/hydrogen_pump{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "nn" = ( /obj/structure/window/reinforced/spawner, /obj/effect/turf_decal/siding/white, @@ -2177,7 +2224,7 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/structure/grille/broken, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/outpost/maintenance/starboard) "oF" = ( @@ -2509,6 +2556,16 @@ }, /turf/open/floor/plasteel/dark, /area/outpost/cargo/smeltery) +"qW" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "qY" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/firedoor/border_only{ @@ -2852,8 +2909,9 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/industrial/hatch/yellow, /obj/machinery/computer/electrolyzer_console{ - pixel_x = 32; - density = 0 + pixel_x = 20; + density = 0; + dir = 8 }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo/smeltery) @@ -3266,7 +3324,7 @@ /area/outpost/maintenance/fore) "vn" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/small/directional/south, /turf/open/floor/plating{ @@ -3475,7 +3533,7 @@ /area/outpost/engineering/atmospherics) "wD" = ( /obj/structure/grille/broken, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/structure/spider/stickyweb, /obj/machinery/light/small/directional/east, /turf/open/floor/plating/rust, @@ -3506,10 +3564,6 @@ /obj/effect/turf_decal/borderfloor{ dir = 9 }, -/obj/effect/turf_decal/siding/white/corner, -/obj/structure/railing/corner{ - layer = 4.1 - }, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2 @@ -3633,6 +3687,19 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/maintenance/starboard) +"xB" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing/corner{ + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "xG" = ( /obj/effect/turf_decal/siding/white/corner, /obj/effect/turf_decal/borderfloor{ @@ -3813,6 +3880,20 @@ /obj/effect/landmark/ert_outpost_spawn, /turf/open/floor/plasteel/tech, /area/outpost/security/armory) +"zs" = ( +/obj/machinery/portable_atmospherics/canister{ + icon_state = "orangews" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/sign/nanotrasen/ns{ + pixel_x = 32 + }, +/obj/item/wrench, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "zw" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -4001,7 +4082,7 @@ /obj/structure/flora/grass/both{ layer = 3.1 }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/asteroid/snow/temperatre{ light_color = "#1B1D2E"; light_range = 2 @@ -4395,7 +4476,7 @@ }, /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate/bin, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/trash/sosjerky, /obj/item/trash/can, /turf/open/floor/plasteel/patterned/brushed{ @@ -4530,10 +4611,6 @@ /obj/effect/turf_decal/borderfloor{ dir = 1 }, -/obj/effect/turf_decal/siding/white, -/obj/structure/railing{ - layer = 4.1 - }, /obj/machinery/light/small/directional/east, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; @@ -4551,7 +4628,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate/trashcart, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, @@ -4839,7 +4916,7 @@ dir = 5 }, /obj/item/trash/chips, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/trash/candy, /turf/open/floor/wood/walnut, /area/outpost/crew/bar) @@ -5590,6 +5667,16 @@ }, /turf/open/floor/plating, /area/outpost/security) +"Mh" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 6 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "Mi" = ( /obj/machinery/camera{ dir = 10 @@ -5700,6 +5787,19 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/plasteel/patterned, /area/outpost/cargo/smeltery) +"MS" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/obj/structure/railing/corner{ + dir = 4; + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "MW" = ( /obj/structure/closet/emcloset, /obj/item/clothing/suit/hooded/wintercoat, @@ -6061,7 +6161,7 @@ "PN" = ( /obj/structure/rack, /obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/tech, /area/outpost/vacant_rooms/shop) "PT" = ( @@ -6219,7 +6319,8 @@ /obj/machinery/mineral/processing_unit_console{ machinedir = 8; output_dir = 1; - pixel_x = 32 + pixel_x = 20; + dir = 8 }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo/smeltery) @@ -6769,18 +6870,8 @@ }, /area/outpost/external) "TZ" = ( -/obj/structure/flora/grass/both{ - layer = 3.1 - }, -/obj/item/broken_bottle{ - pixel_x = 4 - }, -/obj/item/cigbutt, -/obj/item/cigbutt{ - pixel_y = 6; - pixel_x = -8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ +/obj/machinery/atmospherics/components/binary/volume_pump, +/turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2 }, @@ -7374,6 +7465,23 @@ }, /turf/open/floor/plasteel/dark, /area/outpost/cargo/smeltery) +"Xr" = ( +/obj/item/cigbutt{ + pixel_y = 6; + pixel_x = -8 + }, +/obj/effect/decal/cleanable/ash, +/obj/item/cigbutt{ + pixel_x = 3 + }, +/obj/structure/sign/warning/nosmoking/burnt{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "Xv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, @@ -7549,7 +7657,7 @@ /obj/structure/flora/grass/green{ layer = 3.1 }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/asteroid/snow/temperatre{ light_color = "#1B1D2E"; light_range = 2 @@ -7673,10 +7781,14 @@ /turf/open/floor/plasteel/tech, /area/outpost/security/checkpoint) "YZ" = ( -/obj/machinery/camera{ +/obj/machinery/computer/hydrogen_exchange{ dir = 8 }, -/turf/open/floor/plating/asteroid/snow/temperatre{ +/obj/structure/railing{ + layer = 4.1 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2 }, @@ -7686,7 +7798,7 @@ layer = 3.1 }, /obj/item/shard, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/asteroid/snow/temperatre{ light_color = "#1B1D2E"; light_range = 2 @@ -12938,11 +13050,11 @@ zw SA Nn wW -HW -HW +xB +qW li -AT -nH +kB +MS Ti xG HW @@ -13023,9 +13135,9 @@ nZ BL Ey YZ -qZ +Mh TZ -NG +ek jI Ti ig @@ -13107,8 +13219,8 @@ iO Zy iO iO -NG -cC +mh +Xr Ak Ak ny @@ -13191,8 +13303,8 @@ iO YA xn iO -cC -cC +nh +zs Ak Od ML diff --git a/_maps/ship_config_schema.json b/_maps/ship_config_schema.json index 2afd8e06517..1efa9eb95f2 100644 --- a/_maps/ship_config_schema.json +++ b/_maps/ship_config_schema.json @@ -28,17 +28,17 @@ "type": "array", "description": "A list of tags describing the ship's niche, converted into searchable strings." }, + "faction": { + "title": "Ship Faction Datum", + "type": [ "null", "string" ], + "description": "Default faction datum" + }, "prefix": { "title": "Ship Default Prefix", "type": [ "null", "string" ], "description": "The prefix of the ship class, appended to randomly generated names when they're first purchased.", "maxLength": 5 }, - "faction_name": { - "title": "Faction Name", - "type": [ "null", "string" ], - "description": "A custom faction name for the ship class. If exluded or left blank, the ship will use the default faction name for the faction that matches the ship's prefix." - }, "namelists": { "title": "Namelists", "type": "array", @@ -134,7 +134,7 @@ "description": "The amount of ships that can be spawned in by players in a round at once.", "minimum": 0, "maximum": 100, - "default": 2 + "default": 1 }, "starting_funds":{ "title": "Ship Starting Funds", diff --git a/_maps/shuttles/independent/independent_atoll.dmm b/_maps/shuttles/independent/independent_atoll.dmm new file mode 100644 index 00000000000..dccf3b7848f --- /dev/null +++ b/_maps/shuttles/independent/independent_atoll.dmm @@ -0,0 +1,6871 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/box/white/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/white/corners{ + dir = 8 + }, +/obj/item/tank/jetpack{ + pixel_x = -5 + }, +/obj/item/clothing/suit/space/hardsuit/medical{ + pixel_x = 5; + pixel_y = -2 + }, +/obj/item/clothing/mask/breath/medical{ + pixel_y = 5; + pixel_x = -5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"ac" = ( +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_x = -26 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/starboard) +"ae" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/effect/turf_decal/corner/transparent/lightgrey/diagonal, +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/south, +/obj/structure/sign/painting/library{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/ccommons) +"aj" = ( +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 10 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office/lobby) +"ao" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + name = "EVA Storage" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"av" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/storage/equip) +"aw" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/structure/closet, +/obj/structure/sign/poster/solgov/luna{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/hallway/fore) +"ay" = ( +/obj/effect/turf_decal/borderfloorblack/full, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/dark, +/area/ship/medical/morgue) +"aG" = ( +/obj/structure/table/chem, +/obj/item/storage/backpack/duffelbag/med/surgery{ + pixel_x = -4; + pixel_y = 10 + }, +/obj/item/reagent_containers/medigel/sterilizine{ + pixel_x = 9; + pixel_y = 4 + }, +/obj/effect/turf_decal/borderfloorwhite/corner{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/black/half, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical/surgery) +"aM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"aN" = ( +/obj/effect/turf_decal/borderfloorblack/full, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/smartfridge/organ/preloaded{ + pixel_x = -4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical/morgue) +"aR" = ( +/obj/effect/turf_decal/borderfloorwhite{ + dir = 5 + }, +/obj/machinery/smartfridge/bloodbank/preloaded{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/equip) +"aU" = ( +/obj/machinery/vending/coffee, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/machinery/light/directional/north, +/obj/structure/sign/painting/library{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"be" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"bf" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4; + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/walnut, +/area/ship/crew/office/lobby) +"bk" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/outline/blue, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"bE" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/structure/closet/crate/trashcart/laundry, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/hallway/fore) +"bK" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/structure/sign/warning/fire{ + pixel_y = 24 + }, +/obj/effect/turf_decal/industrial/caution/red{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"bM" = ( +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"bW" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"ch" = ( +/obj/effect/turf_decal/corner/opaque/black/three_quarters{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/closet/wall/directional/north{ + name = "anesthesia locker" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/item/clothing/mask/breath/medical{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/tank/internals/anesthetic{ + pixel_x = 2; + pixel_y = -2 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical/surgery) +"cm" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor{ + id = "atoll_holo_blast" + }, +/obj/docking_port/mobile{ + dir = 2; + name = "Hospital Ship"; + launch_status = 0; + port_direction = 8; + preferred_direction = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/office/lobby) +"cJ" = ( +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_y = -8; + pixel_x = 20 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"cK" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/hallway/fore) +"cL" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -12; + pixel_y = 1 + }, +/obj/structure/mirror{ + pixel_x = -24 + }, +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"cS" = ( +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/cargo) +"cV" = ( +/obj/effect/turf_decal/borderfloorwhite{ + dir = 5 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/storage/equip) +"da" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "atoll_windows"; + name = "Window Shutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"db" = ( +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/corner/opaque/black, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 8 + }, +/turf/open/floor/plating, +/area/ship/crew/ccommons) +"de" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plating, +/area/ship/hallway/aft) +"dh" = ( +/obj/effect/turf_decal/borderfloorblack/full, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"dj" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"dr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"dB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/walnut{ + icon_state = "wood-broken7" + }, +/area/ship/crew/office/lobby) +"dG" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/borderfloorwhite/full, +/obj/machinery/door/airlock, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"dO" = ( +/obj/structure/aquarium/prefilled, +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"dP" = ( +/obj/effect/turf_decal/corner/opaque/black/half, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical/surgery) +"dS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"dT" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/closet/secure_closet{ + icon_state = "cmo"; + name = "medical administrator locker"; + req_access_txt = "40" + }, +/obj/item/clothing/suit/longcoat/cmo, +/obj/item/clothing/suit/toggle/labcoat/cmo, +/obj/item/defibrillator/compact/loaded, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 10 + }, +/obj/item/clothing/under/rank/medical/doctor/blue, +/obj/item/clothing/gloves/color/latex/nitrile, +/obj/item/megaphone/command, +/obj/item/clothing/shoes/sneakers/brown{ + pixel_y = -12 + }, +/obj/item/storage/belt/medical, +/obj/item/clothing/head/beret/cmo{ + pixel_y = 10 + }, +/obj/item/clothing/glasses/hud/health/sunglasses{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/equip) +"dZ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/grey/three_quarters{ + dir = 1 + }, +/obj/structure/closet, +/obj/item/crowbar/red, +/obj/machinery/computer/cryopod/directional/west, +/obj/machinery/firealarm/directional/south, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/turf/open/floor/plating, +/area/ship/crew/cryo) +"ej" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/white/half, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"es" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/medical) +"ex" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + name = "Air to Distro" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"eB" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/box, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/platform/industrial{ + dir = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"eD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"eF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/storage/equip) +"eJ" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/box, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 2; + pixel_y = 9 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/structure/platform/industrial{ + dir = 6 + }, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"eP" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/closet/wall/orange/directional/south{ + name = "Fuel Locker" + }, +/obj/effect/decal/cleanable/oil/slippery, +/obj/effect/decal/cleanable/robot_debris, +/obj/item/stack/sheet/mineral/uranium/ten, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering) +"eT" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office/lobby) +"eU" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/obj/structure/platform/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"ff" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/effect/turf_decal/corner/transparent/lightgrey/diagonal, +/obj/effect/turf_decal/siding/thinplating, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/sugar, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/condiment/rice, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/snacks/pie/applepie, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/structure/closet/secure_closet/freezer{ + anchored = 1; + locked = 0; + name = "fridge" + }, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/branrequests, +/obj/item/reagent_containers/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/grown/tomato, +/obj/item/reagent_containers/food/snacks/grown/tomato, +/obj/item/reagent_containers/food/snacks/grown/potato, +/obj/item/reagent_containers/food/snacks/grown/potato, +/obj/item/reagent_containers/food/snacks/grown/oat, +/obj/item/reagent_containers/food/snacks/grown/cocoapod, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/ccommons) +"fj" = ( +/obj/structure/closet/secure_closet{ + icon_state = "med_secure"; + name = "medical doctor locker"; + req_access_txt = "5" + }, +/obj/item/clothing/neck/stethoscope, +/obj/item/clothing/suit/longcoat, +/obj/item/clothing/suit/toggle/labcoat, +/obj/item/clothing/suit/hooded/wintercoat/medical, +/obj/item/clothing/under/rank/medical/doctor/blue, +/obj/item/clothing/under/rank/medical/doctor/green, +/obj/effect/turf_decal/borderfloorwhite/corner{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 1 + }, +/obj/item/clothing/shoes/laceup{ + pixel_y = -12 + }, +/obj/item/clothing/gloves/color/latex/nitrile, +/obj/machinery/light/directional/north, +/obj/item/storage/backpack/satchel/med, +/obj/item/storage/backpack/messenger/med, +/obj/item/clothing/shoes/sneakers/white{ + pixel_y = -12 + }, +/obj/item/storage/belt/medical, +/obj/item/clothing/glasses/hud/health/prescription{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/equip) +"fm" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + id = "atoll_windows"; + name = "Window Shutters" + }, +/turf/open/floor/plating, +/area/ship/medical) +"fo" = ( +/obj/effect/turf_decal/corner/opaque/black{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/aft) +"fz" = ( +/obj/machinery/vending/cigarette, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office) +"fD" = ( +/obj/machinery/holopad/emergency/command, +/obj/effect/turf_decal/trimline/transparent/bottlegreen/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/bottlegreen/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/transparent/bottlegreen/filled/corner, +/obj/effect/turf_decal/trimline/transparent/bottlegreen/filled/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"fG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/structure/cable{ + icon_state = "0-10" + }, +/obj/effect/turf_decal/corner/opaque/black/half, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"fK" = ( +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"fM" = ( +/obj/item/kirbyplants/random{ + pixel_y = 14; + pixel_x = -8 + }, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"fT" = ( +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"fW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/storage/equip) +"fZ" = ( +/obj/effect/turf_decal/corner/opaque/black{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/aft) +"gh" = ( +/obj/effect/turf_decal/box/white/corners{ + dir = 4 + }, +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical/morgue) +"gv" = ( +/obj/effect/turf_decal/box/white/corners, +/obj/effect/turf_decal/box/white/corners{ + dir = 4 + }, +/obj/machinery/cryopod, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/cryo) +"gH" = ( +/obj/effect/turf_decal/ihejirika_small/right{ + dir = 8 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"gW" = ( +/obj/item/kirbyplants/random{ + pixel_x = 8; + pixel_y = 14 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/mono, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"hb" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"hj" = ( +/obj/structure/table/wood, +/obj/item/book/fish_catalog{ + pixel_x = 5; + pixel_y = 9 + }, +/obj/item/fish_feed{ + pixel_x = -3; + pixel_y = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/machinery/light/directional/north, +/obj/machinery/light_switch{ + dir = 8; + pixel_y = -8; + pixel_x = 20 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/ccommons) +"hx" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/fore) +"hy" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/cryo) +"hB" = ( +/obj/effect/turf_decal/corner/opaque/black/half, +/obj/machinery/button/door{ + pixel_x = 6; + pixel_y = 20; + name = "Bridge Window Shutters"; + id = "atoll_bridge_windows" + }, +/obj/machinery/button/door{ + pixel_x = -6; + pixel_y = 20; + name = "Ship Window Shutters"; + id = "atoll_windows" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"hC" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/medical/surgery) +"hE" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/port) +"hF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#543C30" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/ccommons) +"hG" = ( +/obj/structure/chair/bench/blue/directional/west, +/obj/structure/closet/wall/directional/east{ + name = "patient's locker" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clothing/under/rank/medical/gown/blue{ + pixel_x = 5 + }, +/obj/item/clothing/shoes/sandal/slippers{ + pixel_y = -10; + pixel_x = 5 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"hK" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/cargo) +"hN" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/structure/railing, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 4 + }, +/area/ship/engineering) +"hO" = ( +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"ie" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/engineering) +"ik" = ( +/obj/effect/turf_decal/corner/opaque/black, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/aft) +"in" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 2 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"ir" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/maintenance{ + name = "Portside Maintenance" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"is" = ( +/obj/structure/fluff/hedge/opaque, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"iu" = ( +/obj/machinery/smartfridge/chemistry/preloaded{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorwhite/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/equip) +"iA" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "5-10" + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"iC" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "atoll_windows"; + name = "Window Shutters" + }, +/turf/open/floor/plating, +/area/ship/crew/ccommons) +"iE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/light/directional/east, +/obj/machinery/computer/crew{ + dir = 1; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -20; + pixel_x = 12 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"iF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/closet/emcloset/wall/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/item/clothing/suit/space/fragile{ + pixel_x = -10 + }, +/obj/item/clothing/suit/space/fragile{ + pixel_x = 10 + }, +/obj/item/clothing/head/helmet/space/fragile{ + pixel_y = 10; + pixel_x = -10 + }, +/obj/item/clothing/head/helmet/space/fragile{ + pixel_y = 10; + pixel_x = 10 + }, +/obj/item/pickaxe/emergency, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"iS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "6-8" + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"iY" = ( +/obj/structure/sign/poster/official/help_others{ + pixel_y = -32 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/office/lobby) +"iZ" = ( +/obj/structure/chair/wood, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"jb" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/trimline/transparent/bottlegreen/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/bottlegreen/filled/corner, +/obj/effect/turf_decal/trimline/transparent/bottlegreen/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/transparent/bottlegreen/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office/lobby) +"je" = ( +/obj/structure/table/chem, +/obj/structure/sink/chem, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 6 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -13; + pixel_y = 12 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical) +"jf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"js" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/external/glass, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"jC" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9; + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/bookcase/random/nonfiction, +/turf/open/floor/wood/walnut, +/area/ship/crew/office/lobby) +"jF" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"jJ" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -20; + name = "Starboard Thruster Shields"; + pixel_y = -6; + id = "atoll_thruster_blast_starboard" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"jK" = ( +/obj/machinery/door/window/southleft, +/obj/structure/table/glass, +/obj/item/storage/firstaid/toxin{ + pixel_x = -10; + pixel_y = 10 + }, +/obj/item/storage/firstaid/o2{ + pixel_y = 4; + pixel_x = -10 + }, +/obj/effect/turf_decal/borderfloorblack/full, +/obj/item/storage/firstaid/brute{ + pixel_x = 10; + pixel_y = 10 + }, +/obj/item/storage/firstaid/fire{ + pixel_y = 4; + pixel_x = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/equip) +"jR" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/machinery/light/directional/east, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"jY" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/structure/sign/warning/nosmoking/burnt{ + pixel_y = 28 + }, +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"kt" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"ku" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-10" + }, +/obj/machinery/door/poddoor{ + id = "atoll_holo_blast" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "atoll_holo" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/office/lobby) +"kv" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"kB" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/autolathe, +/obj/item/radio/intercom/directional/north, +/obj/structure/sign/warning/enginesafety{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"kM" = ( +/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"lb" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 4; + pixel_y = -1 + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"lm" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/closet/emcloset/wall/directional/north, +/obj/item/clothing/suit/space/fragile{ + pixel_x = -10 + }, +/obj/item/clothing/suit/space/fragile{ + pixel_x = 10 + }, +/obj/item/clothing/head/helmet/space/fragile{ + pixel_y = 10; + pixel_x = -10 + }, +/obj/item/clothing/head/helmet/space/fragile{ + pixel_y = 10; + pixel_x = 10 + }, +/obj/item/pickaxe/emergency, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"ln" = ( +/obj/structure/table/reinforced, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = -9 + }, +/obj/item/pen/fourcolor{ + pixel_x = -9; + pixel_y = 5 + }, +/obj/item/spacecash/bundle/c1000, +/obj/machinery/firealarm/directional/east, +/obj/machinery/recharger{ + pixel_y = 4; + pixel_x = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/bridge) +"lu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"lw" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "atoll_bridge_windows"; + name = "Bridge Window Shutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"lC" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"lE" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"lI" = ( +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"lV" = ( +/obj/structure/table/optable, +/obj/item/defibrillator/loaded{ + pixel_y = 6; + pixel_x = -2 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical/surgery) +"ma" = ( +/obj/machinery/vending/snack/teal, +/obj/effect/turf_decal/borderfloorwhite, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office/lobby) +"mn" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 5 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"mr" = ( +/obj/item/kirbyplants/random{ + pixel_y = 14; + pixel_x = -8 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/computer/helm/viewscreen/directional/north, +/turf/open/floor/plasteel/white, +/area/ship/crew/office) +"mt" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/effect/turf_decal/corner/transparent/lightgrey/diagonal, +/obj/structure/table/reinforced, +/obj/machinery/microwave{ + pixel_y = 7; + pixel_x = -1 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/ccommons) +"mv" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/storage/equip) +"mx" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/maintenance{ + name = "Starboard Maintenance" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"mD" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/engines/port) +"mX" = ( +/obj/effect/turf_decal/box/white/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/white/corners{ + dir = 8 + }, +/obj/machinery/cryopod, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/cryo) +"mZ" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"nk" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ship/crew/cryo) +"nn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_y = -8; + pixel_x = 20 + }, +/obj/machinery/firealarm/directional/west, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/engineering) +"nv" = ( +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/obj/structure/closet/wall/directional/north{ + name = "patient's locker" + }, +/obj/item/clothing/under/rank/medical/gown/green{ + pixel_x = 5 + }, +/obj/item/clothing/under/rank/medical/gown/green{ + pixel_y = -5; + pixel_x = 5 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical/surgery) +"nz" = ( +/obj/machinery/power/shuttle/engine/fire, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ship/engineering) +"nA" = ( +/obj/structure/bookcase/random/reference, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm) +"nH" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/machinery/washing_machine, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/hallway/fore) +"nI" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light/dim/directional/south, +/obj/structure/platform/industrial{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"nN" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 4 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"nW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"nY" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/modular_computer/console/preset/command{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/bridge) +"ok" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"on" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + name = "Reception Desk" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/office/lobby) +"ov" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock{ + id_tag = "atoll_bath_lock"; + name = "Bathroom" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/toilet) +"oR" = ( +/obj/effect/turf_decal/borderfloorwhite{ + dir = 10 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical) +"oS" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/white/half, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"ph" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/engines/starboard) +"pn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/white/half, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"pq" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/borderfloorblack/full, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/structure/closet/secure_closet/wall/directional/east{ + icon_door = "med_wall"; + name = "mortuary locker"; + req_access_txt = "5" + }, +/obj/structure/sink/chem, +/obj/item/storage/box/bodybags{ + pixel_x = 5; + pixel_y = 15 + }, +/obj/item/storage/box/syringes{ + pixel_x = 5; + pixel_y = 7 + }, +/obj/item/storage/box/gloves{ + pixel_x = 5; + pixel_y = -1 + }, +/obj/item/reagent_containers/glass/bottle/formaldehyde{ + pixel_x = -9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical/morgue) +"pP" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/engineering/engines/port) +"pR" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/public/glass{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/ccommons) +"pV" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "5-6" + }, +/obj/structure/cable{ + icon_state = "6-9" + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"pY" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorwhite/corner, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/equip) +"pZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"qf" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 5 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = 12 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/office/lobby) +"qi" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorwhite/full, +/obj/machinery/door/airlock/public/glass{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"qk" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/obj/item/flashlight/lamp/green{ + pixel_y = 12; + pixel_x = 4 + }, +/obj/item/paper_bin{ + pixel_y = 2; + pixel_x = -5 + }, +/obj/item/pen{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/structure/table/wood/reinforced, +/obj/item/phone{ + pixel_y = -2; + pixel_x = 8 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"qA" = ( +/obj/structure/sign/poster/official/moth/epi{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/office/lobby) +"qJ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/components/unary/portables_connector/layer4{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/scrubber, +/obj/structure/sign/poster/official/safety_internals{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"qK" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/item/clothing/glasses/regular{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/captain) +"qM" = ( +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"qX" = ( +/obj/structure/closet/secure_closet{ + icon_state = "med_secure"; + name = "paramedic locker"; + req_access_txt = "5" + }, +/obj/item/clothing/accessory/armband/medblue, +/obj/item/clothing/accessory/armband/medblue, +/obj/item/clothing/suit/toggle/labcoat/paramedic, +/obj/item/clothing/suit/toggle/labcoat/paramedic, +/obj/item/clothing/suit/hooded/wintercoat/medical/paramedic, +/obj/item/clothing/under/rank/medical/paramedic, +/obj/item/clothing/under/rank/medical/paramedic, +/obj/item/clothing/shoes/workboots{ + pixel_y = -8 + }, +/obj/item/clothing/gloves/color/latex/nitrile, +/obj/item/clothing/gloves/color/latex/nitrile, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 8 + }, +/obj/item/storage/backpack/medic, +/obj/item/storage/backpack/duffelbag/med, +/obj/item/clothing/shoes/sneakers/white{ + pixel_y = -12 + }, +/obj/item/clothing/shoes/sneakers/white{ + pixel_y = -12 + }, +/obj/item/storage/belt/medical/paramedic, +/obj/item/storage/belt/medical/paramedic, +/obj/item/clothing/head/soft/paramedic{ + pixel_y = 10 + }, +/obj/item/clothing/head/soft/paramedic{ + pixel_y = 10 + }, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 5 + }, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/equip) +"rd" = ( +/obj/structure/chair/comfy/orange/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 4; + color = "#543C30" + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"rq" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"rs" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/borderfloorwhite/full, +/obj/machinery/door/airlock, +/turf/open/floor/plasteel, +/area/ship/crew/ccommons) +"ry" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/crew/office/lobby) +"rM" = ( +/obj/structure/fluff/hedge, +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/south, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/wood/walnut, +/area/ship/crew/office/lobby) +"rN" = ( +/obj/machinery/advanced_airlock_controller/internal{ + pixel_y = 26 + }, +/obj/structure/chair/handrail, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/light/small/directional/east, +/obj/structure/railing/corner, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/item/paper/fluff{ + default_raw_text = "Mechanic's Note: The AAC is old and tends to break after a while. If this happens, remember how to reset the links. Swipe your ID card on the control panel and make sure all settings are correct. One airlock should be set to internal, one to external. Once this is done, cycle the airlock to re-enable automatic mode and lift any stuck bolts." + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"rO" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light/small/directional/south, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"rS" = ( +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/white, +/area/ship/crew/office) +"se" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/medical/morgue) +"sg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"sm" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner_techfloor_gray/full{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/light_switch{ + pixel_x = 8; + pixel_y = 20 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"sn" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/directional/north, +/obj/structure/chair/handrail, +/turf/open/floor/plating, +/area/ship/hallway/fore) +"sr" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/borderfloorwhite/full, +/obj/machinery/door/airlock, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/ship/crew/ccommons) +"ss" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"sv" = ( +/obj/structure/fluff/hedge, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 2 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/ccommons) +"sw" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/kirbyplants/random{ + pixel_x = -10 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"sx" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/machinery/light/directional/north, +/obj/structure/chair/handrail, +/turf/open/floor/plating, +/area/ship/hallway/fore) +"sA" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/engineering) +"sB" = ( +/obj/structure/dresser{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4; + color = "#543C30" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/captain) +"sX" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"sY" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "atoll_windows"; + name = "Window Shutters" + }, +/turf/open/floor/plating, +/area/ship/crew/office) +"te" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/ash{ + pixel_x = -1; + pixel_y = -5 + }, +/obj/effect/turf_decal/industrial/shutoff, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"ts" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/black/half, +/obj/item/kirbyplants/random{ + pixel_x = -10 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/aft) +"tK" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/structure/cable{ + icon_state = "5-6" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"tP" = ( +/obj/structure/sign/departments/engineering, +/turf/closed/wall/mineral/titanium, +/area/ship/engineering/engines/starboard) +"tU" = ( +/obj/effect/turf_decal/borderfloorblack/full, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"um" = ( +/obj/structure/chair/bench/blue/directional/west, +/obj/structure/closet/wall/directional/east{ + name = "patient's locker" + }, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clothing/shoes/sandal/slippers{ + pixel_y = -10; + pixel_x = 5 + }, +/obj/item/clothing/under/rank/medical/gown/blue{ + pixel_x = 5 + }, +/turf/open/floor/wood/walnut{ + icon_state = "wood-broken2" + }, +/area/ship/medical) +"ux" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 2 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/ccommons) +"uB" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"uL" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "atoll_thruster_blast_port"; + name = "Thruster Shield" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"uP" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"uR" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + piping_layer = 2 + }, +/obj/effect/turf_decal/corner_techfloor_gray/full{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"uT" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/ccommons) +"uX" = ( +/obj/effect/turf_decal/box/white/corners, +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical/morgue) +"vh" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/borderfloorwhite/full, +/obj/machinery/door/airlock/medical{ + name = "Operating Theater" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ship/medical/surgery) +"vl" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"vB" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/binary/pump/on/layer4{ + dir = 8; + name = "Waste to External" + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"vI" = ( +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/clothing/suit/space/engineer{ + pixel_x = 5; + pixel_y = -2 + }, +/obj/item/clothing/head/helmet/space/light/engineer{ + pixel_x = 5; + pixel_y = 10 + }, +/obj/item/tank/jetpack/carbondioxide{ + pixel_x = -5 + }, +/obj/item/clothing/mask/breath{ + pixel_y = 5; + pixel_x = -5 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"vN" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/aft) +"vP" = ( +/obj/effect/turf_decal/corner_techfloor_gray, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/airalarm/directional/east, +/obj/structure/cable{ + icon_state = "8-10" + }, +/obj/structure/cable{ + icon_state = "9-10" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"vT" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/ihejirika_small/left{ + dir = 4; + pixel_x = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"vX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#543C30" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/ccommons) +"wc" = ( +/obj/item/radio/intercom/wideband/directional/east, +/obj/item/folder/white{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/folder/white{ + pixel_x = -2; + pixel_y = -2 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/filingcabinet{ + dir = 8; + pixel_x = 10; + density = 0 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office/lobby) +"wm" = ( +/obj/effect/turf_decal/ihejirika_small{ + dir = 8 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"wq" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"wr" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/turf/open/floor/wood/walnut{ + icon_state = "wood-broken2" + }, +/area/ship/crew/office/lobby) +"wB" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/medical) +"wH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"wJ" = ( +/obj/item/radio/intercom/wideband/table{ + dir = 8; + pixel_x = -4; + pixel_y = 1 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/black/half, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/machinery/airalarm/directional/west, +/obj/item/toy/figure/cmo{ + pixel_x = 3; + pixel_y = 17 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"wS" = ( +/obj/structure/marker_beacon{ + picked_color = "Lime" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"wX" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorwhite/corner{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/obj/structure/rack, +/obj/item/wheelchair, +/obj/item/wheelchair{ + pixel_y = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical) +"xa" = ( +/obj/effect/turf_decal/corner/opaque/black/half, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical/surgery) +"xg" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/public/glass{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/office) +"xi" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/port_gen/pacman/super{ + anchored = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"xr" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/black/half, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"xx" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/white/half, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"xC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"xE" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/office/lobby) +"xK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"xX" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"xZ" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 6 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/ccommons) +"yd" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"yg" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/effect/turf_decal/corner/transparent/lightgrey/diagonal, +/obj/structure/table/reinforced, +/obj/machinery/reagentgrinder{ + pixel_y = 10; + pixel_x = -12 + }, +/obj/item/cutting_board{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/kitchen/rollingpin{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/effect/turf_decal/siding/thinplating, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/ccommons) +"yk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "2-9" + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/aft) +"yn" = ( +/obj/structure/sign/number/random, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/engines/starboard) +"yt" = ( +/obj/structure/table/wood, +/obj/machinery/jukebox/boombox{ + pixel_x = 15; + pixel_y = -5 + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"yu" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 9; + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/west, +/obj/item/storage/secure/safe{ + dir = 1; + pixel_y = 32 + }, +/obj/item/flashlight/lamp{ + pixel_y = 12; + pixel_x = -5 + }, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/pen/fountain{ + pixel_x = 5; + pixel_y = 4 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/captain) +"yA" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 2 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"yB" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "atoll_windows"; + name = "Window Shutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"yF" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "atoll_thruster_blast_starboard"; + name = "Thruster Shield" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"yM" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/components/binary/valve/on/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"zf" = ( +/obj/structure/bed/bunk, +/obj/structure/bed/bunk/top, +/obj/structure/curtain/bounty{ + layer = 4.1 + }, +/obj/item/radio/intercom/directional/east, +/obj/item/bedsheet/dorms, +/obj/item/bedsheet/blue{ + pixel_y = 13 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm) +"zu" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/white/half, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"zA" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-6" + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"zF" = ( +/obj/effect/turf_decal/dept/medical{ + dir = 8 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"zG" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/storage/equip) +"zN" = ( +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"zU" = ( +/obj/machinery/atmospherics/components/trinary/mixer{ + dir = 8; + name = "Fuel Mixer" + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"zY" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical) +"Ae" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 4 + }, +/area/ship/bridge) +"Aq" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"At" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + pixel_x = -8; + pixel_y = 20 + }, +/obj/structure/chair/handrail, +/turf/open/floor/plating, +/area/ship/hallway/aft) +"Au" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/fore) +"Ax" = ( +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/stairs/wood/walnut/right{ + dir = 8 + }, +/area/ship/crew/office) +"AG" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/structure/curtain{ + layer = 4.1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + color = "#543C30"; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/east, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"AL" = ( +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/office/lobby) +"AR" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/filingcabinet{ + dir = 8; + pixel_x = 10; + density = 0 + }, +/obj/item/folder/white{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/folder/blue{ + pixel_x = -2; + pixel_y = -2 + }, +/obj/item/pen/blue{ + pixel_x = 10; + pixel_y = 3 + }, +/obj/item/pen/red{ + pixel_x = 10; + pixel_y = -3 + }, +/turf/open/floor/wood/walnut{ + icon_state = "wood-broken7" + }, +/area/ship/crew/office) +"AT" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plating, +/area/ship/hallway/aft) +"Bi" = ( +/turf/open/floor/plasteel/mono, +/area/ship/hallway/fore) +"Bl" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-5" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"Bu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Bv" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/box/white/corners, +/obj/effect/turf_decal/box/white/corners{ + dir = 4 + }, +/obj/item/tank/jetpack{ + pixel_x = -5 + }, +/obj/item/clothing/suit/space/hardsuit/medical{ + pixel_x = 5; + pixel_y = -2 + }, +/obj/item/clothing/mask/breath/medical{ + pixel_y = 5; + pixel_x = -5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"BD" = ( +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"BK" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm) +"Ce" = ( +/obj/structure/platform/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs/wood/walnut/left{ + dir = 8 + }, +/area/ship/crew/office) +"Cs" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "9-10" + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/fore) +"CC" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/noticeboard{ + pixel_y = -26; + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ship/crew/cryo) +"CQ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/office/lobby) +"CR" = ( +/obj/effect/turf_decal/box/white/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/white/corners{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_y = 4; + pixel_x = 15 + }, +/obj/structure/closet/secure_closet/wall/directional/south{ + icon_door = "sec_wall"; + name = "self-defense locker"; + req_access_txt = "5"; + icon_state = "sec_wall" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/obj/item/storage/guncase/pistol/miniegun{ + pixel_y = 6 + }, +/obj/item/storage/guncase/pistol/miniegun, +/obj/item/screwdriver{ + pixel_x = 8 + }, +/obj/item/screwdriver{ + pixel_y = -3; + pixel_x = 10 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"Dn" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/white, +/area/ship/bridge) +"Do" = ( +/obj/structure/fluff/hedge, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/computer/helm/viewscreen/directional/south, +/turf/open/floor/wood/walnut, +/area/ship/crew/office/lobby) +"DD" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -8 + }, +/obj/machinery/computer/cargo{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/west{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"DN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "5-8" + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"DO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/white/half, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"DQ" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/walnut{ + icon_state = "wood-broken7" + }, +/area/ship/crew/ccommons) +"DW" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-9" + }, +/obj/structure/closet/wall/orange/directional/east{ + name = "Mechanic's Locker" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/item/clothing/under/rank/engineering/engineer, +/obj/item/storage/belt/utility, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/head/hardhat/dblue, +/obj/item/clothing/shoes/workboots, +/obj/item/storage/backpack/industrial, +/obj/item/clothing/suit/toggle/industrial, +/obj/item/storage/backpack/duffelbag/engineering, +/obj/item/clothing/suit/hazardvest, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Ee" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/black/half, +/obj/machinery/light_switch{ + pixel_x = 8; + pixel_y = 20 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"Em" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"Es" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/airalarm/directional/south, +/obj/structure/cable{ + icon_state = "1-9" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Ex" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-6" + }, +/obj/machinery/door/poddoor{ + id = "atoll_holo_blast" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "atoll_holo" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/office/lobby) +"Ey" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4; + color = "#543C30" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "6-10" + }, +/turf/open/floor/wood/walnut{ + icon_state = "wood-broken2" + }, +/area/ship/crew/ccommons) +"EA" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/fore) +"EQ" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel, +/area/ship/crew/cryo) +"EU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"EY" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/structure/curtain{ + opaque_closed = 1 + }, +/turf/open/floor/plating, +/area/ship/medical/surgery) +"Fd" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#543C30" + }, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"Ff" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/three_quarters{ + dir = 1 + }, +/obj/structure/closet/crate/bin, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Fm" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/borderfloorblack/full, +/obj/item/paper_bin{ + pixel_y = 4; + pixel_x = -5 + }, +/obj/item/pen/fourcolor{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/folder/white{ + pixel_x = 6; + pixel_y = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/medical/morgue) +"Fs" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorwhite/full, +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + id_tag = "atoll_lobby_airlock" + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"Ft" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"Fv" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/computer/med_data/laptop{ + dir = 4; + pixel_x = -3; + pixel_y = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/table/wood/reinforced, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"FC" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"FF" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorwhite/corner{ + dir = 8 + }, +/obj/item/clothing/mask/surgical{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/clothing/suit/apron/surgical{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical/surgery) +"FH" = ( +/obj/effect/turf_decal/number/one{ + dir = 8 + }, +/obj/effect/turf_decal/box/white/corners{ + dir = 1 + }, +/obj/structure/closet/body_bag, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical/morgue) +"Gi" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-6" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/white, +/area/ship/storage/equip) +"Gp" = ( +/obj/machinery/airalarm/directional/west, +/obj/machinery/firealarm/directional/south, +/obj/structure/chair/comfy/orange/directional/east, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"GC" = ( +/obj/structure/table/chem, +/obj/structure/sink/chem, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical/surgery) +"GL" = ( +/obj/structure/chair/bench/blue/directional/east, +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/office/lobby) +"GM" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/crew/office) +"GU" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/storage/box/gloves{ + pixel_y = 6; + pixel_x = -4 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/office/lobby) +"GW" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/command{ + req_access_txt = "19"; + name = "Officer Quarters" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/dorm/captain) +"GZ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Ho" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/ccommons) +"Hr" = ( +/obj/machinery/photocopier, +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office) +"HD" = ( +/obj/effect/turf_decal/box/white/corners, +/obj/effect/turf_decal/box/white/corners{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/structure/closet/secure_closet/wall/directional/south{ + icon_door = "med_wall"; + name = "medical locker"; + req_access_txt = "5" + }, +/obj/item/storage/firstaid/regular{ + pixel_x = 5; + pixel_y = 15 + }, +/obj/item/storage/firstaid/regular{ + pixel_x = 5; + pixel_y = 10 + }, +/obj/item/roller{ + pixel_x = -8; + pixel_y = 10 + }, +/obj/item/roller{ + pixel_x = -8; + pixel_y = 5 + }, +/obj/item/pinpointer/crew{ + pixel_x = 5 + }, +/obj/item/pinpointer/crew{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/gps{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/gps{ + pixel_x = -5; + pixel_y = -4 + }, +/obj/item/pickaxe/mini, +/obj/item/pickaxe/mini, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"HN" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"HO" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/shutoff, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"HR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/effect/turf_decal/corner/opaque/white/half, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"HS" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/obj/machinery/light_switch{ + pixel_x = 8; + pixel_y = 20 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/captain) +"HX" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "5-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/fore) +"Ip" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/aft) +"Is" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm/captain) +"Iu" = ( +/obj/effect/turf_decal/corner/opaque/black/three_quarters{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical/surgery) +"IC" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/borderfloorwhite/full, +/obj/machinery/door/airlock, +/obj/structure/cable{ + icon_state = "1-10" + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"IE" = ( +/obj/effect/turf_decal/ihejirika_small/left{ + dir = 8 + }, +/obj/structure/marker_beacon{ + picked_color = "Lime" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"IJ" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil, +/obj/structure/cable{ + icon_state = "4-6" + }, +/obj/structure/cable{ + icon_state = "5-6" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -20; + name = "Portside Thruster Shields"; + pixel_y = 6; + id = "atoll_thruster_blast_port" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"IU" = ( +/obj/structure/chair/bench/blue/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/office/lobby) +"IZ" = ( +/obj/structure/fluff/hedge, +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/office/lobby) +"Jc" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/bridge) +"Jd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm/captain) +"Jg" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = -8; + pixel_x = -20; + normaldoorcontrol = 1; + specialfunctions = 4; + id = "atoll_bath_lock"; + name = "Privacy Lock" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Ji" = ( +/obj/structure/dresser, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/computer/helm/viewscreen/directional/north, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm) +"Jj" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"Jp" = ( +/obj/effect/turf_decal/borderfloorblack/full, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/medical/morgue) +"Jr" = ( +/obj/structure/chair/bench/blue/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/south, +/turf/open/floor/wood/walnut, +/area/ship/crew/office/lobby) +"Jt" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/light_switch{ + dir = 4; + pixel_y = -12; + pixel_x = -20 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"JE" = ( +/obj/effect/turf_decal/corner/opaque/black/half, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/fore) +"JF" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/hydrogen, +/obj/effect/turf_decal/industrial/outline/orange, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"JH" = ( +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"JL" = ( +/obj/structure/closet/cabinet, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/item/clothing/under/suit/tan{ + pixel_x = -6 + }, +/obj/item/clothing/under/pants/khaki{ + pixel_y = -8; + pixel_x = -6 + }, +/obj/item/clothing/suit/ianshirt{ + pixel_x = 5; + pixel_y = -4 + }, +/obj/item/clothing/under/suit/charcoal{ + pixel_x = 6 + }, +/obj/item/clothing/under/pants/jeans{ + pixel_y = -8; + pixel_x = 6 + }, +/obj/item/clothing/under/rank/medical/doctor/blue, +/obj/item/clothing/under/rank/medical/doctor/blue, +/obj/item/clothing/shoes/workboots{ + pixel_y = -8 + }, +/obj/item/clothing/shoes/workboots{ + pixel_y = -8 + }, +/obj/item/clothing/shoes/sneakers/brown{ + pixel_y = -12 + }, +/obj/item/clothing/neck/tie/blue, +/obj/item/clothing/neck/stripedbluescarf, +/obj/item/clothing/gloves/color/black, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -8; + pixel_y = -20 + }, +/obj/item/storage/backpack/messenger, +/obj/item/storage/backpack/satchel/leather, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm) +"JR" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/aft) +"JX" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Kh" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "8-9" + }, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"Kj" = ( +/turf/open/floor/carpet, +/area/ship/crew/dorm/captain) +"Kk" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#543C30" + }, +/obj/structure/bookcase/random, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/wood/walnut, +/area/ship/crew/office/lobby) +"Kq" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/structure/closet{ + name = "janitorial supplies" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/pushbroom, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/storage/bag/trash, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/glass/rag, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/hallway/fore) +"Kt" = ( +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/office/lobby) +"KD" = ( +/obj/effect/turf_decal/box/white/corners{ + dir = 8 + }, +/obj/effect/turf_decal/number/two{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical/morgue) +"KH" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"KJ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-6" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"KO" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "atoll_windows"; + name = "Window Shutters" + }, +/turf/open/floor/plating, +/area/ship/hallway/port) +"KP" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/effect/turf_decal/corner/transparent/lightgrey/diagonal, +/obj/effect/turf_decal/siding/thinplating/corner, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/ccommons) +"Lk" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/toilet) +"LA" = ( +/obj/effect/turf_decal/corner/opaque/black/half, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/aft) +"LC" = ( +/obj/structure/fluff/hedge, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"LD" = ( +/obj/structure/closet/cabinet, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 10 + }, +/obj/item/clothing/under/suit/green{ + pixel_x = 6 + }, +/obj/item/clothing/under/pants/blackjeans{ + pixel_x = 6; + pixel_y = -8 + }, +/obj/item/clothing/suit/toggle/lawyer/navy{ + pixel_x = -6 + }, +/obj/item/clothing/under/suit/black_really{ + pixel_x = -6 + }, +/obj/item/clothing/under/pants/khaki{ + pixel_y = -8; + pixel_x = -6 + }, +/obj/item/clothing/shoes/sneakers/brown{ + pixel_y = -12; + pixel_x = 6 + }, +/obj/item/clothing/shoes/laceup{ + pixel_y = -12; + pixel_x = -6 + }, +/obj/item/clothing/neck/tie/black{ + pixel_x = -6 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/captain) +"LG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "9-10" + }, +/obj/structure/cable{ + icon_state = "6-10" + }, +/turf/open/floor/plasteel/white, +/area/ship/storage/equip) +"LK" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock{ + name = "Crew Quarters" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/dorm) +"LO" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/effect/turf_decal/corner/transparent/lightgrey/diagonal, +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/ccommons) +"LV" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"LW" = ( +/obj/structure/bed, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 5 + }, +/obj/item/bedsheet/blue, +/obj/machinery/firealarm/directional/north, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/captain) +"LX" = ( +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, +/obj/machinery/door/poddoor{ + dir = 4; + id = "atoll_thruster_blast_central"; + name = "Thruster Shield" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Ma" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4; + color = "#543C30" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/ccommons) +"Mc" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "atoll_bridge_windows"; + name = "Bridge Window Shutters" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Md" = ( +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"Mu" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering) +"MG" = ( +/obj/structure/fluff/hedge, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"MK" = ( +/obj/structure/chair/bench/blue/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/south, +/turf/open/floor/wood/walnut{ + icon_state = "wood-broken2" + }, +/area/ship/crew/office/lobby) +"MS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"MV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"Nm" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorwhite/full, +/obj/machinery/door/airlock/public/glass{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "6-10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Ns" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/engineering/engines/starboard) +"Nv" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm/captain) +"Nw" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/indie{ + pixel_y = 7 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/obj/item/radio/intercom/directional/west, +/obj/item/gps{ + pixel_x = -7; + pixel_y = -4 + }, +/obj/item/stamp/cmo{ + pixel_x = 5 + }, +/turf/open/floor/plasteel/white, +/area/ship/bridge) +"NB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#543C30" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/ccommons) +"NC" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"NF" = ( +/obj/machinery/light/floor, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical/surgery) +"NL" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/ihejirika_small{ + dir = 4; + pixel_x = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Oe" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "atoll_windows"; + name = "Window Shutters" + }, +/turf/open/floor/plating, +/area/ship/crew/office/lobby) +"Oh" = ( +/obj/effect/turf_decal/borderfloorblack/full, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical/morgue) +"Oi" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"Oj" = ( +/obj/structure/bed/bunk{ + dir = 4 + }, +/obj/structure/bed/bunk/top{ + dir = 4 + }, +/obj/structure/curtain/bounty{ + layer = 4.1 + }, +/obj/item/bedsheet/blue{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/obj/item/bedsheet/black{ + dir = 4; + pixel_y = 13 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm) +"Ol" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/public/glass{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/ccommons) +"Op" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + pixel_x = -8; + pixel_y = 20 + }, +/turf/open/floor/plating, +/area/ship/hallway/fore) +"Ow" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"Ox" = ( +/obj/machinery/cryopod, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/cryo) +"OC" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/office) +"OG" = ( +/obj/structure/table, +/obj/item/paper/guides/jobs/engi/combustion_thruster{ + pixel_x = -5; + pixel_y = 1 + }, +/obj/item/wrench/medical{ + pixel_x = 2; + pixel_y = 5 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"OH" = ( +/obj/structure/chair/comfy/orange/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/captain) +"OZ" = ( +/obj/structure/bed, +/obj/item/bedsheet/black, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 6 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -20; + pixel_x = -8; + id = "atoll_dorm_windows"; + name = "Window Shutters" + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/captain) +"Pb" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Pn" = ( +/obj/effect/turf_decal/borderfloorblack/full, +/obj/structure/chair/office{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical/morgue) +"Pt" = ( +/obj/machinery/light/floor, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/airalarm/directional/west, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical/surgery) +"Pv" = ( +/obj/structure/table/chem, +/obj/machinery/computer/med_data/laptop{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorwhite/corner, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical) +"PB" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -20; + pixel_y = -5; + name = "Lobby Blast Doors"; + id = "atoll_holo_blast" + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + id = "atoll_holo"; + pixel_x = -19; + name = "Lobby Holofield"; + pixel_y = 5 + }, +/obj/machinery/computer/med_data{ + icon_state = "computer-right"; + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"PC" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light_switch{ + dir = 8; + pixel_y = -8; + pixel_x = 20 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"PH" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4; + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/noticeboard{ + pixel_y = -26; + dir = 1 + }, +/turf/open/floor/wood/walnut{ + icon_state = "wood-broken5" + }, +/area/ship/crew/office/lobby) +"PO" = ( +/obj/machinery/shower{ + pixel_y = 19 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/structure/closet/wall/white/directional/east{ + name = "Shower Cubby" + }, +/obj/item/soap/deluxe, +/obj/item/towel{ + pixel_y = -5; + pixel_x = -5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 4 + }, +/obj/machinery/door/window/westright, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Qb" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/computer/helm/viewscreen/directional/north, +/turf/open/floor/wood/walnut{ + icon_state = "wood-broken7" + }, +/area/ship/medical) +"Qg" = ( +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 8; + pixel_y = -20 + }, +/obj/structure/table/glass, +/obj/item/storage/box/rxglasses{ + pixel_x = -4; + pixel_y = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical) +"Qk" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"Qq" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/white/half, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Qs" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "5-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/storage/equip) +"Qu" = ( +/obj/effect/turf_decal/borderfloorblack/full, +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -8 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical/morgue) +"QG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/structure/closet/secure_closet/wall/directional/south{ + icon_state = "solgov_wall" + }, +/obj/item/clothing/suit/hooded/wintercoat/captain, +/obj/item/clothing/head/caphat, +/obj/item/clothing/under/rank/command/captain, +/obj/item/clothing/gloves/color/captain, +/obj/item/megaphone/command, +/obj/item/storage/guncase/energy/e10, +/obj/item/screwdriver, +/obj/item/clothing/shoes/laceup, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"QH" = ( +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"QP" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/table{ + dir = 8; + pixel_y = 2; + pixel_x = -5 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/button/door{ + dir = 4; + pixel_x = 10; + name = "Lobby Airlock Control"; + pixel_y = 6; + normaldoorcontrol = 1; + id = "atoll_lobby_airlock" + }, +/obj/machinery/button/door{ + dir = 4; + pixel_x = 10; + name = "Lobby Airlock Bolts"; + pixel_y = -6; + normaldoorcontrol = 1; + specialfunctions = 4; + id = "atoll_lobby_airlock" + }, +/obj/item/paper_bin{ + pixel_y = -10; + pixel_x = -2 + }, +/obj/item/pen/fourcolor{ + pixel_x = -2; + pixel_y = -10 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"QS" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"QZ" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/clip/serene{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/hallway/fore) +"Ra" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"Rb" = ( +/obj/item/kirbyplants/random{ + pixel_x = 8; + pixel_y = 14 + }, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 8 + }, +/obj/machinery/computer/helm/viewscreen/directional/north, +/obj/effect/turf_decal/corner/opaque/black, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plating, +/area/ship/crew/ccommons) +"Rc" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm/captain) +"Rd" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"Rf" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/public/glass{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/office) +"Rj" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ship/engineering/engines/port) +"Rv" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "atoll_dorm_windows"; + name = "Window Shutters" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm/captain) +"RJ" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorwhite/full, +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + id_tag = "atoll_lobby_airlock" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"RN" = ( +/obj/structure/fluff/hedge/opaque, +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#543C30" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"RP" = ( +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"RQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"RW" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/ihejirika_small/right{ + dir = 4; + pixel_x = 2 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"RZ" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/machinery/washing_machine, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/hallway/fore) +"Sj" = ( +/obj/effect/turf_decal/corner/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/fore) +"Sq" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/medical) +"SD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"SE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/components/unary/portables_connector/layer2{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/pump, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32; + pixel_y = -6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"SI" = ( +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/defibrillator_mount/charging{ + pixel_y = 20 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical/surgery) +"SJ" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/cargo) +"SR" = ( +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/obj/machinery/airalarm/directional/east, +/mob/living/simple_animal/hostile/retaliate/gator/steppy/iguana{ + name = "Gesundheit"; + desc = "Exported from Sol, this exotic reptile regards you with a careful eye. Just don't get on his cranky side." + }, +/obj/structure/bed/dogbed{ + name = "Gesundheit's bed" + }, +/obj/item/flashlight/lamp{ + pixel_y = 13; + pixel_x = -13; + name = "heat lamp"; + light_color = "#FF773D"; + desc = "A heat lamp with an adjustable mount."; + light_range = 2; + light_power = 2; + on = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"SS" = ( +/obj/machinery/door/window/southright, +/obj/structure/table/glass, +/obj/effect/turf_decal/borderfloorblack/full, +/obj/item/reagent_containers/glass/bottle{ + list_reagents = list(/datum/reagent/medicine/rezadone=30); + name = "rezadone bottle"; + pixel_x = -6; + pixel_y = 14 + }, +/obj/item/reagent_containers/glass/bottle{ + list_reagents = list(/datum/reagent/medicine/thializid=30); + name = "thializid bottle"; + pixel_x = 6; + pixel_y = 14 + }, +/obj/item/reagent_containers/glass/bottle/atropine{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/storage/pill_bottle/mannitol{ + pixel_x = -8 + }, +/obj/item/storage/pill_bottle/mutadone, +/obj/item/storage/pill_bottle/penacid{ + pixel_x = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/equip) +"SU" = ( +/obj/effect/turf_decal/borderfloorwhite/corner{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 4 + }, +/obj/machinery/photocopier, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical) +"SW" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/closet/firecloset/wall/directional/north, +/obj/item/storage/firstaid/fire, +/obj/item/extinguisher/mini, +/turf/open/floor/plating, +/area/ship/hallway/aft) +"Ta" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"Tk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/fore) +"Tt" = ( +/obj/structure/fluff/hedge, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm) +"TI" = ( +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"TR" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/external, +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"TX" = ( +/obj/structure/chair/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"TZ" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ship/engineering/engines/starboard) +"Uk" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Up" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/crew/ccommons) +"Uw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm/captain) +"UQ" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock{ + name = "Cryo Storage" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-10" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/cryo) +"UW" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorwhite/full, +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + req_access_txt = "5"; + name = "Medical Storage" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/storage/equip) +"Va" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/storage/box/masks{ + pixel_y = 6; + pixel_x = 4 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew/office/lobby) +"Ve" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -8 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/white, +/area/ship/storage/equip) +"Vf" = ( +/obj/effect/turf_decal/corner/opaque/white/half, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"Vj" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/effect/turf_decal/corner/transparent/lightgrey/diagonal, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/ccommons) +"Vl" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/engines/starboard) +"Vn" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"Vs" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/cargo) +"VG" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"VH" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/westright{ + name = "Reception Desk" + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/item/reagent_containers/food/snacks/chewable/lollipop, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"VO" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/medical/morgue) +"VY" = ( +/obj/effect/turf_decal/borderfloorwhite, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/equip) +"We" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/structure/curtain{ + layer = 4.1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/east, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"Wh" = ( +/obj/structure/table/reinforced, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/box, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/button/door{ + pixel_x = -12; + pixel_y = 20; + name = "Central Thruster Shields"; + id = "atoll_thruster_blast_central" + }, +/obj/machinery/light/dim/directional/north, +/obj/structure/platform/industrial{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/item/stack/sheet/metal/ten{ + pixel_x = 1; + pixel_y = 6 + }, +/obj/item/stack/rods/ten{ + pixel_y = 1; + pixel_x = -1 + }, +/obj/item/stack/sheet/glass/twenty{ + pixel_x = -6; + pixel_y = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Wm" = ( +/obj/docking_port/stationary{ + dir = 2; + dwidth = 15; + height = 15; + width = 30 + }, +/turf/template_noop, +/area/template_noop) +"Wz" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/structure/tank_dispenser, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"WC" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + name = "EVA Storage" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"WI" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"WM" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/medical{ + dir = 4; + req_access_txt = "6"; + name = "Morgue" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/medical/morgue) +"WT" = ( +/obj/machinery/computer/crew{ + dir = 8; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/obj/machinery/light/directional/north, +/obj/structure/platform/ship_four{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/bridge) +"Xd" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) +"Xi" = ( +/obj/item/kirbyplants{ + icon_state = "plant-18"; + pixel_x = -5; + pixel_y = 20 + }, +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/obj/structure/toilet{ + dir = 8; + pixel_x = 7; + pixel_y = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Xv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_y = -8; + pixel_x = 20 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel, +/area/ship/crew/cryo) +"XH" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/effect/turf_decal/corner/transparent/lightgrey/diagonal, +/obj/structure/table/reinforced, +/obj/structure/closet/wall/white/directional/south{ + name = "Utinsels Cabinet" + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_y = 10; + pixel_x = 10 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_y = 5; + pixel_x = 10 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = 10 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 15; + pixel_x = 1 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 10; + pixel_x = 1 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 5; + pixel_x = 1 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/item/melee/knife/kitchen{ + pixel_x = -8 + }, +/obj/item/melee/knife/pizza_cutter, +/obj/item/kitchen/fork{ + pixel_x = -10; + pixel_y = 1 + }, +/obj/item/kitchen/fork{ + pixel_x = -6; + pixel_y = -1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/ccommons) +"XT" = ( +/turf/template_noop, +/area/template_noop) +"XX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/white/half, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Yc" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"Ye" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 6 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/engineering) +"Yp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office/lobby) +"Ys" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 6 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light/small/directional/north, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plating, +/area/ship/engineering) +"Yu" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/hallway/fore) +"Yy" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 10 + }, +/turf/open/floor/wood/walnut, +/area/ship/medical) +"YK" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/command{ + dir = 4; + req_access_txt = "19"; + name = "Bridge" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"YM" = ( +/obj/effect/turf_decal/corner/transparent/grey/full, +/obj/effect/turf_decal/corner/transparent/lightgrey/diagonal, +/obj/structure/sink/kitchen{ + dir = 4; + layer = 2.04; + pixel_y = -5 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/ccommons) +"YR" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel, +/area/ship/crew/cryo) +"YV" = ( +/obj/effect/turf_decal/borderfloorblack/full, +/obj/effect/turf_decal/borderfloorblack/corner, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/medical/morgue) +"YY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/table/wood/reinforced, +/turf/open/floor/wood/walnut, +/area/ship/crew/office) +"Zb" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/hallway/aft) +"Ze" = ( +/obj/effect/turf_decal/corner/opaque/black, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/aft) +"Zh" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Zi" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/full, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"Zj" = ( +/obj/machinery/vending/cola/blue, +/obj/effect/turf_decal/borderfloorwhite/corner{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office/lobby) +"Zq" = ( +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-right" + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/obj/structure/platform/ship_four{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ship/bridge) +"Zr" = ( +/obj/effect/turf_decal/corner/opaque/black, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/fore) +"ZA" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/aft) +"ZQ" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ship/crew/dorm/captain) +"ZZ" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono/white, +/area/ship/hallway/port) + +(1,1,1) = {" +XT +XT +XT +XT +XT +XT +XT +Mu +nz +nz +nz +Mu +XT +XT +XT +XT +XT +XT +XT +XT +"} +(2,1,1) = {" +XT +XT +XT +IE +wm +gH +pP +Mu +LX +LX +LX +Mu +Ns +nN +zF +zN +XT +XT +XT +XT +"} +(3,1,1) = {" +XT +mD +Rj +Rj +mD +yB +mD +kB +ok +kM +Ow +xi +ph +da +ph +TZ +TZ +yn +XT +XT +"} +(4,1,1) = {" +XT +mD +uL +uL +mD +Jj +mD +jY +RW +NL +vT +eP +ph +vB +ph +yF +yF +yn +XT +XT +"} +(5,1,1) = {" +XT +mD +zA +mZ +IJ +te +mD +Wh +eJ +hN +eB +nI +ph +sm +jJ +tK +rO +yn +XT +XT +"} +(6,1,1) = {" +XT +mD +uR +vP +ex +PC +ir +ie +Ye +sA +KJ +Zh +mx +MV +hb +dr +Kh +yn +XT +XT +"} +(7,1,1) = {" +SJ +hK +hK +hK +hK +mD +mD +bK +HO +cJ +LV +DW +ph +Wz +WI +yM +ph +ph +tP +XT +"} +(8,1,1) = {" +hK +aa +Jt +dj +CR +Mu +Ys +NC +zU +Mu +VG +Mu +Mu +Mu +iF +uB +js +ac +TR +Wm +"} +(9,1,1) = {" +hK +Bv +SD +pZ +HD +Mu +bk +OG +JF +Mu +rN +nn +fK +Mu +qJ +SE +bW +vI +Vl +XT +"} +(10,1,1) = {" +cS +Vs +WC +ao +Vs +Mu +Mu +Mu +Mu +Mu +Mu +Mu +QS +Mu +Rc +Rc +Rc +Rc +Rc +XT +"} +(11,1,1) = {" +Ex +rq +ss +Vf +jC +Kk +rM +xE +mX +YR +dZ +hy +SW +ts +Rc +yu +qK +LD +Rc +XT +"} +(12,1,1) = {" +cm +pV +Zi +zu +dB +CQ +iY +xE +Ox +nk +CC +hy +de +fZ +Rc +HS +OH +ZQ +Rv +XT +"} +(13,1,1) = {" +ku +qM +Yc +Vf +IU +Va +MK +xE +gv +EQ +Xv +UQ +JR +Ip +GW +Jd +Uw +Kj +Rv +XT +"} +(14,1,1) = {" +AL +aj +lu +DO +IZ +Do +xE +xE +BK +BK +BK +BK +At +Ze +Rc +Nv +Is +Kj +Rv +XT +"} +(15,1,1) = {" +Oe +ma +Ra +Vf +GL +GU +Jr +xE +Oj +kt +Gp +BK +vN +LA +Rc +LW +sB +OZ +Rc +XT +"} +(16,1,1) = {" +Oe +Zj +kv +xx +wr +Kt +qA +xE +Ji +iS +aM +BK +AT +fo +Rc +Rc +Rc +Rc +Rc +XT +"} +(17,1,1) = {" +xE +xE +lm +Vf +qf +bf +PH +xE +zf +QH +nW +LK +ZA +yk +ov +Jg +cL +Lk +TI +XT +"} +(18,1,1) = {" +wS +xE +RJ +Fs +xE +QP +VH +xE +xE +nA +JL +BK +Zb +ik +Lk +Xi +Es +Lk +zN +XT +"} +(19,1,1) = {" +XT +KO +HN +bM +ry +jb +eT +PB +xE +Tt +uT +uT +pR +Ol +uT +uT +PO +Lk +XT +XT +"} +(20,1,1) = {" +XT +KO +HN +bM +ry +wc +Yp +iE +xE +uT +uT +aU +Ho +ux +db +uT +uT +uT +XT +XT +"} +(21,1,1) = {" +XT +hE +Rd +RQ +xE +xE +on +xE +xE +uT +fM +BD +Em +lE +DQ +YM +mt +iC +XT +XT +"} +(22,1,1) = {" +XT +KO +Oi +Ft +wH +KH +Ta +Xd +Md +rs +vX +hF +TX +yt +sv +Vj +yg +iC +XT +XT +"} +(23,1,1) = {" +XT +KO +gW +ZZ +Aq +Vn +Bl +jR +uP +sr +Ma +Ey +iZ +lb +sv +Vj +XH +uT +XT +XT +"} +(24,1,1) = {" +XT +wB +wB +es +es +Nm +qi +wB +wB +uT +Rb +fT +sg +jF +xZ +Vj +ff +iC +XT +XT +"} +(25,1,1) = {" +XT +fm +Pv +xX +JX +GZ +xK +yd +Ff +uT +uT +dO +Ho +ux +hO +KP +LO +iC +XT +XT +"} +(26,1,1) = {" +XT +fm +je +RP +MS +RP +RP +vl +jf +sw +uT +hj +NB +ux +SR +ae +uT +Up +XT +XT +"} +(27,1,1) = {" +XT +Sq +wB +Qb +Fd +RN +Yy +oR +HR +lC +uT +uT +pR +Ol +uT +uT +uT +XT +XT +XT +"} +(28,1,1) = {" +XT +XT +wB +hG +We +is +AG +um +pn +Uk +wX +wB +sx +Sj +cK +Kq +hx +XT +XT +XT +"} +(29,1,1) = {" +XT +XT +wB +hC +hC +hC +hC +hC +XX +Pb +Qg +wB +EA +Cs +Yu +aw +hx +XT +XT +XT +"} +(30,1,1) = {" +XT +XT +TI +hC +ch +Pt +Iu +vh +oS +xC +EU +dG +HX +Bi +bE +hx +hx +XT +XT +XT +"} +(31,1,1) = {" +XT +XT +wS +hC +SI +lV +xa +EY +pn +lI +JH +IC +Au +Tk +nH +hx +zN +XT +XT +XT +"} +(32,1,1) = {" +XT +XT +XT +hC +nv +NF +dP +EY +Qq +be +zY +wB +Op +Zr +QZ +hx +XT +XT +XT +XT +"} +(33,1,1) = {" +XT +XT +XT +hC +FF +GC +aG +hC +ej +wq +SU +wB +sn +JE +RZ +hx +XT +XT +XT +XT +"} +(34,1,1) = {" +XT +XT +XT +hC +hC +hC +hC +hC +UW +zG +zG +OC +xg +Rf +OC +OC +XT +XT +XT +XT +"} +(35,1,1) = {" +XT +XT +XT +zG +jK +pY +Gi +Ve +Qs +iu +zG +MG +eU +yA +fz +sY +XT +XT +XT +XT +"} +(36,1,1) = {" +XT +XT +XT +zG +SS +VY +mv +LG +eF +aR +zG +LC +eU +yA +rS +sY +XT +XT +XT +XT +"} +(37,1,1) = {" +XT +XT +XT +av +zG +fj +qX +dT +fW +cV +zG +LC +Ce +Ax +OC +GM +XT +XT +XT +XT +"} +(38,1,1) = {" +XT +XT +XT +XT +se +se +se +se +WM +se +Hr +eD +DN +in +OC +XT +XT +XT +XT +XT +"} +(39,1,1) = {" +XT +XT +XT +XT +YV +aN +Jp +Qu +ay +se +mr +iA +Qk +sX +sY +XT +XT +XT +XT +XT +"} +(40,1,1) = {" +XT +XT +XT +XT +se +FH +KD +Oh +Pn +se +fG +qk +YY +Fv +sY +XT +XT +XT +XT +XT +"} +(41,1,1) = {" +XT +XT +XT +XT +se +gh +uX +pq +Fm +se +Ee +mn +rd +AR +sY +XT +XT +XT +XT +XT +"} +(42,1,1) = {" +XT +XT +XT +XT +VO +se +Jc +Jc +Jc +Jc +YK +Jc +Jc +OC +GM +XT +XT +XT +XT +XT +"} +(43,1,1) = {" +XT +XT +XT +XT +XT +TI +Mc +Nw +wJ +DD +Bu +Dn +Mc +TI +XT +XT +XT +XT +XT +XT +"} +(44,1,1) = {" +XT +XT +XT +XT +XT +XT +Mc +ln +xr +fD +dS +nY +Mc +XT +XT +XT +XT +XT +XT +XT +"} +(45,1,1) = {" +XT +XT +XT +XT +XT +XT +Jc +Jc +hB +FC +QG +Jc +Jc +XT +XT +XT +XT +XT +XT +XT +"} +(46,1,1) = {" +XT +XT +XT +XT +XT +XT +wS +Jc +WT +Zq +Ae +Jc +zN +XT +XT +XT +XT +XT +XT +XT +"} +(47,1,1) = {" +XT +XT +XT +XT +XT +XT +XT +Mc +dh +tU +tU +Mc +XT +XT +XT +XT +XT +XT +XT +XT +"} +(48,1,1) = {" +XT +XT +XT +XT +XT +XT +XT +Mc +lw +lw +lw +Mc +XT +XT +XT +XT +XT +XT +XT +XT +"} +(49,1,1) = {" +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +"} +(50,1,1) = {" +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +"} +(51,1,1) = {" +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +"} diff --git a/_maps/shuttles/independent/independent_beluga.dmm b/_maps/shuttles/independent/independent_beluga.dmm deleted file mode 100644 index 1eae63fcac4..00000000000 --- a/_maps/shuttles/independent/independent_beluga.dmm +++ /dev/null @@ -1,6213 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ad" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"ag" = ( -/obj/effect/turf_decal/spline/fancy/opaque/blue, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"ak" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/cryo) -"ax" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "premier_windows" - }, -/turf/open/floor/plating, -/area/ship/crew/cryo) -"aF" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "premier_windows" - }, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"aI" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"aO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"aP" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/fluff/hedge, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"bo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/cryo) -"bD" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen) -"bF" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew) -"bG" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/library) -"bL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/library) -"bP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "premier_lockdown"; - dir = 4 - }, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/ship/bridge) -"bU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/vending/cigarette, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/library) -"bV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/wood, -/area/ship/crew/library) -"bW" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/advanced_airlock_controller{ - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"cb" = ( -/obj/machinery/cryopod, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/cryo) -"cf" = ( -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/item/tank/jetpack/carbondioxide, -/obj/item/clothing/suit/space, -/obj/item/clothing/head/helmet/space/light{ - pixel_y = 8; - pixel_x = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_y = 11; - pixel_x = 19 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"cg" = ( -/obj/structure/sign/poster/official/moth{ - pixel_y = 32 - }, -/obj/item/candle{ - pixel_x = 14; - pixel_y = 19 - }, -/obj/structure/bookcase/manuals/engineering, -/turf/open/floor/wood, -/area/ship/crew/library) -"ck" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"cs" = ( -/obj/structure/table/wood, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_y = 5 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#543C30" - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"cK" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/light_switch{ - pixel_x = -12; - pixel_y = -17; - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/steeldecal/steel_decals4, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"cR" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/light/directional/east, -/obj/machinery/button/shieldwallgen{ - dir = 1; - id = "premier_cargo_holo"; - pixel_y = -21; - pixel_x = -1 - }, -/obj/machinery/button/door{ - id = "beluga_cargohatch"; - pixel_x = -10; - pixel_y = -23; - dir = 1 - }, -/obj/machinery/mineral/ore_redemption{ - dir = 8; - input_dir = 8; - output_dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"cW" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/closet/cardboard, -/obj/machinery/light/directional/north, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 8; - pixel_y = -2 - }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_y = -2; - pixel_x = -7 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"db" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew) -"de" = ( -/turf/open/floor/plasteel/stairs, -/area/ship/hallway/central) -"dj" = ( -/obj/effect/turf_decal/atmos/air{ - dir = 1 - }, -/turf/open/floor/engine/air, -/area/ship/engineering) -"do" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"dr" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/fax/indie, -/obj/machinery/airalarm/directional/north, -/obj/machinery/camera/autoname{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"dB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/closet/wall/blue/directional/west{ - name = "Janitorial Closet" - }, -/obj/item/mop, -/obj/item/reagent_containers/glass/bucket, -/obj/item/soap/deluxe, -/obj/item/reagent_containers/glass/rag, -/obj/item/clothing/gloves/color/latex/nitrile/evil, -/obj/item/clothing/head/soft/purple{ - pixel_x = 5 - }, -/obj/item/clothing/shoes/galoshes{ - pixel_x = 7; - pixel_y = -8 - }, -/obj/item/storage/box/mousetraps{ - pixel_y = -3; - pixel_x = -9 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"dC" = ( -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 1 - }, -/obj/structure/window/plasma/reinforced/fulltile, -/obj/structure/grille, -/turf/open/floor/plating, -/area/ship/engineering) -"dE" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - id = "beluga_thrusters"; - name = "Thruster Blast Door"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"dF" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/decal/cleanable/oil, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"dG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/library) -"dY" = ( -/obj/structure/sign/poster/official/cohiba_robusto_ad{ - pixel_x = -32 - }, -/obj/structure/bookcase/random/reference, -/turf/open/floor/wood, -/area/ship/crew/library) -"eh" = ( -/obj/machinery/door/airlock/wood/glass{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/crew) -"ej" = ( -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"el" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/bot/cleanbot, -/turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) -"es" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"ev" = ( -/obj/structure/chair/comfy/grey/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"eB" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 - }, -/obj/machinery/computer/med_data{ - dir = 4 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"eJ" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_y = 6 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"eL" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_y = 4; - pixel_x = 3 - }, -/obj/item/pen/fountain{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ - dir = 6 - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"eN" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/landmark/start/lawyer, -/turf/open/floor/carpet/red_gold, -/area/ship/crew/library) -"eP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/hallway/central) -"eY" = ( -/obj/structure/window/plasma/reinforced/fulltile, -/obj/structure/grille, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/ship/engineering) -"fa" = ( -/obj/machinery/shower{ - pixel_y = 15 - }, -/obj/structure/curtain, -/obj/item/soap/deluxe, -/turf/open/floor/plasteel/freezer, -/area/ship/hallway/central) -"fe" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/airlock/external, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/ship/engineering) -"fg" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/cryo) -"fl" = ( -/obj/structure/showcase/machinery/signal_decrypter, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/light_switch{ - pixel_y = 10; - dir = 8; - pixel_x = 20 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/library) -"fq" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"fr" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"fy" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"fJ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxin_output, -/turf/open/floor/engine/plasma, -/area/ship/engineering) -"fP" = ( -/obj/structure/fluff/hedge, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew) -"fU" = ( -/obj/effect/turf_decal/spline/fancy/opaque/blue{ - dir = 6 - }, -/obj/machinery/computer/helm{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"fV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/nanoweave/orange, -/area/ship/security) -"fX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet/nanoweave/orange, -/area/ship/security) -"gc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/closet/wall/blue/directional/south{ - name = "Bridge Officers Locker" - }, -/obj/item/clothing/shoes/cowboy/fancy, -/obj/item/clothing/gloves/color/white, -/obj/item/clothing/under/rank/command/head_of_personnel, -/obj/item/clothing/head/beret/hop, -/obj/item/radio/headset/heads/head_of_personnel, -/obj/item/clothing/glasses/sunglasses/big, -/obj/item/clothing/suit/toggle/lawyer/burgundy, -/obj/item/clothing/suit/toggle/lawyer/navy, -/obj/item/clothing/head/hopcap, -/obj/item/gun/energy/e_gun/mini, -/obj/item/clothing/head/HoS/cowboy, -/obj/item/clothing/suit/jacket/leather/duster/command, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"ge" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/reagent_dispensers/beerkeg, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"gf" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/bridge) -"gt" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/west, -/turf/open/floor/wood, -/area/ship/crew/library) -"gH" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/cryo) -"gI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/light/small/directional/west, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/ship/engineering) -"hc" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "premier_privacy" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/crew/library) -"hp" = ( -/obj/item/radio/intercom/directional/east, -/obj/machinery/light_switch{ - pixel_x = 22; - pixel_y = -6; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"hr" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/autoname{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"hz" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering) -"hE" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/effect/landmark/start/lawyer, -/turf/open/floor/carpet/red_gold, -/area/ship/crew/library) -"hH" = ( -/obj/structure/bed, -/obj/item/bedsheet/grey, -/obj/effect/turf_decal/steeldecal/steel_decals7{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"hI" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/machinery/door/airlock/hatch{ - name = "Bridge"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/library) -"hJ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"hM" = ( -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 1 - }, -/obj/machinery/door/airlock/external, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering) -"hP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/item/radio/intercom/wideband/directional/south, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/ship/bridge) -"hU" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/suit/toggle/suspenders/gray, -/obj/item/clothing/suit/jacket, -/obj/item/clothing/neck/stripedredscarf, -/obj/item/clothing/head/flatcap, -/obj/item/clothing/glasses/regular/hipster, -/obj/item/clothing/glasses/regular{ - pixel_y = -5 - }, -/obj/machinery/button/door{ - id = "beluga_dorm2_window"; - pixel_x = -10; - pixel_y = -23; - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/carpet/red, -/area/ship/crew) -"hY" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - id = "beluga_thrusters"; - name = "Thruster Blast Door"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"ih" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"ij" = ( -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"im" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"is" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/airlock/wood/glass{ - name = "Corporate Lounge"; - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/crew/library) -"iC" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/machinery/door/airlock/engineering/glass{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"iP" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/security) -"iU" = ( -/obj/effect/turf_decal/spline/fancy/opaque/blue, -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Helm" - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"iX" = ( -/obj/structure/chair/comfy/grey/directional/west, -/obj/effect/landmark/start/depsec, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"jd" = ( -/obj/machinery/chem_dispenser/drinks/fullupgrade{ - dir = 1 - }, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"jj" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central2{ - pixel_y = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"jv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/button/door{ - id = "premier_dorm2"; - name = "Door Bolt"; - pixel_x = 23; - pixel_y = 10; - dir = 8; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_y = -10; - pixel_x = 20 - }, -/turf/open/floor/wood, -/area/ship/crew) -"jw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"jy" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ship/engineering) -"jD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"jF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/sofa/brown/right/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"jI" = ( -/obj/structure/closet/wall/orange/directional/west{ - name = "fuel locker" - }, -/obj/item/stack/sheet/mineral/plasma/five{ - pixel_y = 3 - }, -/obj/item/stack/sheet/mineral/uranium/five{ - pixel_x = -3; - pixel_y = -4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) -"jU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"jY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/pew/right{ - pixel_y = 8 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/library) -"ko" = ( -/obj/structure/statue/sandstone/venus{ - dir = 8; - layer = 3.1 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew) -"ky" = ( -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet/red, -/area/ship/crew) -"kD" = ( -/obj/structure/table, -/obj/machinery/vending/boozeomat/all_access{ - pixel_y = -32 - }, -/obj/item/storage/bag/tray, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/snacks/doughslice{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/reagent_containers/food/snacks/doughslice{ - pixel_x = -3 - }, -/obj/item/reagent_containers/food/snacks/grown/carrot{ - pixel_y = 6; - pixel_x = 6 - }, -/obj/item/reagent_containers/food/snacks/grown/tomato{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/snacks/grown/soybeans{ - pixel_x = -5; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/snacks/grown/soybeans{ - pixel_x = -5; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/snacks/grown/soybeans{ - pixel_x = -5; - pixel_y = -3 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"lj" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/computer/secure_data/laptop{ - dir = 8; - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/desk_flag{ - pixel_x = 10; - pixel_y = -9 - }, -/obj/item/binoculars{ - pixel_y = -14; - pixel_x = -2 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"ln" = ( -/obj/structure/table/wood/reinforced, -/obj/item/canvas/twentythreeXtwentythree{ - desc = "Earnings chart your soul out on this whiteboard!"; - name = "whiteboard"; - pixel_x = 7; - pixel_y = -27 - }, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -6; - pixel_y = 3 - }, -/turf/open/floor/carpet/red_gold, -/area/ship/crew/library) -"lx" = ( -/obj/structure/fluff/hedge, -/turf/open/floor/wood/walnut, -/area/ship/crew/cryo) -"lB" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "premier_lockdown"; - dir = 4 - }, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/ship/bridge) -"lC" = ( -/obj/structure/rack, -/obj/effect/turf_decal/techfloor, -/obj/machinery/door/window/brigdoor/southright{ - req_access_txt = "1" - }, -/obj/machinery/light/directional/north, -/obj/item/ammo_box/magazine/co9mm/rubber{ - pixel_x = 9; - pixel_y = 4 - }, -/obj/item/ammo_box/magazine/co9mm{ - pixel_y = 4; - pixel_x = 5 - }, -/obj/item/gun/ballistic/automatic/pistol/commander/inteq/no_mag{ - pixel_y = 4; - pixel_x = -1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security) -"lE" = ( -/obj/structure/table/wood/reinforced, -/obj/effect/turf_decal/siding/wood, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_y = 5 - }, -/turf/open/floor/wood, -/area/ship/crew) -"lF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21"; - pixel_x = -6; - pixel_y = 17 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"lJ" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"lM" = ( -/obj/structure/window/reinforced/spawner{ - dir = 8; - layer = 4.1 - }, -/obj/structure/bed, -/obj/item/bedsheet/grey, -/obj/effect/turf_decal/steeldecal/steel_decals7{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"lO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "premier_privacy" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/public/glass, -/turf/open/floor/wood, -/area/ship/crew/library) -"lV" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"mc" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"me" = ( -/obj/structure/closet/cabinet, -/obj/item/storage/backpack/satchel, -/obj/item/storage/backpack/messenger, -/obj/item/storage/backpack/duffelbag, -/obj/item/clothing/under/suit/navy, -/obj/item/clothing/under/suit/navy, -/obj/item/clothing/under/suit/black/skirt, -/obj/item/clothing/under/suit/blacktwopiece, -/obj/item/clothing/suit/toggle/lawyer/navy, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/item/clothing/neck/cloak/trans, -/obj/item/storage/backpack/satchel, -/obj/item/storage/backpack/duffelbag, -/obj/item/storage/backpack/messenger, -/turf/open/floor/wood/walnut, -/area/ship/crew/cryo) -"mi" = ( -/obj/structure/closet/secure_closet/engineering_electrical, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/radio/intercom/directional/south, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"mr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"ms" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/button/door{ - id = "premier_lockdown"; - name = "Lockdown Shutters"; - pixel_x = 9; - pixel_y = 23 - }, -/obj/machinery/button/door{ - id = "premier_bridge"; - name = "Bridge Shutters"; - pixel_x = -2; - pixel_y = 23 - }, -/obj/machinery/button/door{ - id = "premier_windows"; - name = "Window Shutters"; - pixel_x = -13; - pixel_y = 23 - }, -/obj/machinery/recharger{ - pixel_x = 8; - pixel_y = 7 - }, -/obj/item/reagent_containers/food/drinks/mug, -/obj/item/phone{ - pixel_x = 9; - pixel_y = -2 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"mC" = ( -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/structure/frame/computer, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"mF" = ( -/obj/structure/table/wood/reinforced, -/obj/item/pen/blue{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/paper{ - pixel_x = -3 - }, -/obj/item/phone{ - pixel_x = 11; - pixel_y = 7 - }, -/turf/open/floor/carpet/red_gold, -/area/ship/crew/library) -"mI" = ( -/obj/machinery/airalarm/directional/west, -/obj/machinery/camera/autoname{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/orange, -/area/ship/security) -"mQ" = ( -/obj/structure/sign/plaques/kiddie/library{ - pixel_y = -32 - }, -/obj/structure/bookcase/random/religion, -/turf/open/floor/wood, -/area/ship/crew/library) -"mW" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/vomit/old, -/obj/machinery/button/door{ - id = "beluga_thrusters"; - name = "Thruster Blast Doors"; - pixel_x = 23; - dir = 8 - }, -/obj/item/chair/stool{ - pixel_x = 6; - pixel_y = 3 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"ni" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew) -"nj" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 9 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/flora/ausbushes/sparsegrass{ - pixel_x = 2; - pixel_y = -6 - }, -/obj/structure/flora/ausbushes/ywflowers{ - pixel_y = -5; - pixel_x = 3 - }, -/turf/open/floor/grass, -/area/ship/hallway/central) -"np" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "premier_privacy" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/public/glass, -/turf/open/floor/wood, -/area/ship/crew/library) -"nx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/table/wood/reinforced, -/obj/item/storage/bag/tray{ - pixel_y = 6 - }, -/obj/item/reagent_containers/food/condiment/soysauce{ - pixel_x = 6; - pixel_y = 11 - }, -/obj/item/reagent_containers/food/condiment/saltshaker{ - desc = "Salt. From space oceans, presumably. A staple of modern medicine."; - pixel_x = -5; - pixel_y = 12 - }, -/obj/item/reagent_containers/food/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = -3; - pixel_y = 8 - }, -/obj/item/reagent_containers/food/condiment/pack/ketchup{ - pixel_x = -8; - pixel_y = -4 - }, -/obj/item/reagent_containers/food/condiment/pack/ketchup{ - pixel_x = -8; - pixel_y = -4 - }, -/obj/item/reagent_containers/food/condiment/pack/ketchup{ - pixel_x = -8; - pixel_y = -4 - }, -/obj/structure/sign/poster/official/fruit_bowl{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"nz" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/turf/open/floor/carpet/red_gold, -/area/ship/crew/library) -"nB" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 10 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/flora/ausbushes/sparsegrass{ - pixel_x = 1; - pixel_y = 4 - }, -/obj/structure/flora/ausbushes/ywflowers{ - pixel_x = 3; - pixel_y = 3 - }, -/turf/open/floor/grass, -/area/ship/hallway/central) -"nK" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Operations" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"nN" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"nS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/eggplantparm{ - pixel_x = -1; - pixel_y = 10 - }, -/obj/item/trash/plate{ - pixel_x = 7; - pixel_y = -1 - }, -/obj/item/kitchen/fork{ - pixel_x = -8; - pixel_y = 2 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"oi" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/structure/closet/secure_closet{ - icon_state = "sec"; - name = "equipment locker"; - req_access_txt = "1" - }, -/obj/item/clothing/suit/armor/vest/alt{ - pixel_y = -7; - pixel_x = 5 - }, -/obj/item/clothing/suit/armor/vest/alt{ - pixel_y = -3; - pixel_x = 5 - }, -/obj/item/clothing/head/helmet/inteq{ - pixel_x = -4; - pixel_y = -9 - }, -/obj/item/clothing/head/helmet/inteq{ - pixel_x = -4; - pixel_y = -3 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security) -"oN" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"oW" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/structure/closet/firecloset/wall/directional/west, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"pe" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew) -"pk" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals9{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"pn" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"pq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/airlock/external/glass, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/cryo) -"pA" = ( -/obj/structure/cable/yellow{ - icon_state = "0-1" - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 4; - id = "premier_cargo_holo"; - locked = 1 - }, -/obj/machinery/door/poddoor{ - id = "beluga_cargohatch"; - name = "Cargo Hatch" - }, -/turf/open/floor/engine/hull/interior, -/area/ship/cargo) -"pF" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/engineering) -"pG" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/airlock/security/glass{ - name = "Brig"; - req_access_txt = "1"; - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security) -"pH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"pO" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/library) -"pR" = ( -/obj/structure/showcase/perfect_employee, -/obj/machinery/button/door{ - id = "premier_privacy"; - name = "Privacy Shutters"; - pixel_x = 24; - pixel_y = -9; - dir = 8; - req_access_txt = "38" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/library) -"pX" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/library) -"qg" = ( -/obj/machinery/autolathe, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"qj" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"qm" = ( -/obj/effect/turf_decal/atmos/plasma, -/turf/open/floor/engine/plasma, -/area/ship/engineering) -"qo" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/closet/crate/freezer, -/obj/item/reagent_containers/food/snacks/grown/cabbage{ - pixel_x = -4 - }, -/obj/item/reagent_containers/food/snacks/grown/cabbage{ - pixel_x = -4 - }, -/obj/item/reagent_containers/food/snacks/grown/potato{ - pixel_x = 3; - pixel_y = -4 - }, -/obj/item/reagent_containers/food/snacks/grown/potato{ - pixel_x = 3; - pixel_y = -2 - }, -/obj/item/reagent_containers/food/snacks/grown/onion{ - pixel_x = -8; - pixel_y = -6 - }, -/obj/item/reagent_containers/food/snacks/grown/onion{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/snacks/grown/corn{ - pixel_x = 4; - pixel_y = -1 - }, -/obj/item/reagent_containers/food/snacks/grown/corn{ - pixel_x = 3; - pixel_y = 3 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"qr" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "premier_meeting_windows" - }, -/turf/open/floor/plating, -/area/ship/crew/library) -"qC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/closet/crate/bin, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/item/trash/semki, -/obj/item/trash/can, -/obj/item/reagent_containers/food/snacks/candy_trash{ - pixel_y = -5 - }, -/obj/item/reagent_containers/food/snacks/candy_trash{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/item/reagent_containers/food/snacks/candy_trash{ - pixel_x = -6; - pixel_y = -4 - }, -/obj/item/reagent_containers/food/snacks/candy_trash{ - pixel_x = -5; - pixel_y = 1 - }, -/obj/item/trash/boritos{ - pixel_y = -9 - }, -/obj/item/paper/crumpled{ - pixel_y = -4; - pixel_x = 1 - }, -/obj/item/paper/crumpled{ - pixel_y = -8; - pixel_x = -4 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"qG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"qL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5; - color = "#543C30" - }, -/obj/item/kirbyplants{ - icon_state = "plant-09" - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable/yellow{ - icon_state = "0-1" - }, -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/hallway/central) -"qR" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "beluga_dorm2_window" - }, -/turf/open/floor/plating, -/area/ship/crew) -"qU" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew) -"qV" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"ra" = ( -/obj/structure/filingcabinet/double/grey, -/obj/item/paper{ - pixel_x = 2; - pixel_y = 7 - }, -/obj/item/paper/guides/jobs/security/courtroom, -/obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" - }, -/obj/item/reagent_containers/food/snacks/cheesewedge{ - pixel_x = 3 - }, -/obj/item/reagent_containers/food/snacks/cheesewedge{ - pixel_x = 3 - }, -/obj/machinery/computer/security/telescreen{ - dir = 4; - pixel_x = -24 - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"rc" = ( -/obj/structure/table/wood/reinforced, -/obj/item/clipboard{ - pixel_y = 4; - pixel_x = -6 - }, -/obj/item/pen{ - pixel_x = 2; - pixel_y = -1 - }, -/obj/machinery/button/door{ - id = "premier_privacy"; - name = "Privacy Shutters"; - pixel_x = 7; - pixel_y = 7; - dir = 4 - }, -/turf/open/floor/carpet/red_gold, -/area/ship/crew/library) -"ro" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ship/crew) -"ru" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"rA" = ( -/obj/machinery/chem_dispenser/drinks/beer/fullupgrade{ - dir = 1 - }, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"rI" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/fluff/hedge, -/obj/machinery/airalarm/directional/west, -/obj/machinery/camera/autoname{ - dir = 4 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"rQ" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/storage/firstaid/medical{ - pixel_x = 4 - }, -/obj/item/storage/pill_bottle/mannitol{ - pixel_x = 10; - pixel_y = -6 - }, -/obj/structure/closet/crate/medical, -/obj/item/reagent_containers/pill/insulin{ - pixel_x = -5; - pixel_y = -7 - }, -/obj/item/reagent_containers/pill/insulin{ - pixel_x = -8; - pixel_y = -5 - }, -/obj/item/reagent_containers/glass/bottle/charcoal{ - pixel_y = -5; - pixel_x = 3 - }, -/obj/item/reagent_containers/syringe/contraband/morphine, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"rU" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/landmark/start/bartender, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"sG" = ( -/obj/structure/table/wood, -/obj/structure/sign/poster/official/soft_cap_pop_art{ - pixel_x = 32 - }, -/obj/item/reagent_containers/food/drinks/bottle/sake{ - pixel_x = 9; - pixel_y = 5 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass/commemorative{ - pixel_y = 11; - pixel_x = 2 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass/commemorative{ - pixel_y = 5; - pixel_x = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"sH" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"sK" = ( -/obj/structure/toilet{ - dir = 8 - }, -/obj/structure/sink{ - pixel_y = 23; - pixel_x = -8 - }, -/obj/machinery/computer/helm/viewscreen/directional/east, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/security) -"sO" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ship/security) -"tf" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/decal/cleanable/glass, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, -/obj/item/stock_parts/cell/hyper{ - pixel_y = -4; - pixel_x = 5 - }, -/obj/effect/decal/cleanable/robot_debris{ - pixel_x = -12 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"to" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/obj/item/paint/black{ - pixel_y = 5; - pixel_x = 9 - }, -/obj/item/paint/blue{ - pixel_x = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"tw" = ( -/obj/structure/window/plasma/reinforced/fulltile, -/obj/structure/grille, -/turf/open/floor/plating, -/area/ship/engineering) -"tJ" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow, -/obj/machinery/power/ship_gravity, -/turf/open/floor/plating, -/area/ship/engineering) -"tR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/hallway/central) -"tZ" = ( -/obj/machinery/door/airlock/mining{ - name = "Cargo Bay" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"uj" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"ul" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/cryo) -"uy" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1; - color = "#808080" - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"uz" = ( -/obj/structure/table/wood/reinforced, -/obj/item/toy/cards/deck{ - pixel_x = -2; - pixel_y = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"uB" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-10" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"uL" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"vb" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/obj/effect/landmark/start/head_of_personnel, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"vd" = ( -/obj/structure/closet/emcloset/wall/directional/east, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew) -"vj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"vl" = ( -/obj/machinery/light/directional/east, -/obj/effect/landmark/start/janitor, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"vm" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - id = "beluga_thrusters"; - name = "Thruster Blast Door"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"vs" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/light/directional/west, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/sign/departments/engineering{ - pixel_x = -32 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"vv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave/orange, -/area/ship/security) -"vx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/stool/bar{ - dir = 8 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"vG" = ( -/obj/structure/table/wood/reinforced, -/obj/item/canvas/twentythreeXtwentythree{ - desc = "Earnings chart your soul out on this whiteboard!"; - name = "whiteboard"; - pixel_x = 0; - pixel_y = -27 - }, -/obj/item/paper{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/paper{ - pixel_x = -3 - }, -/obj/item/paper{ - pixel_x = 2; - pixel_y = 7 - }, -/turf/open/floor/carpet/red_gold, -/area/ship/crew/library) -"vH" = ( -/obj/structure/dresser, -/obj/item/candle{ - pixel_x = 6; - pixel_y = 14 - }, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew) -"vR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/item/radio/intercom/directional/west, -/obj/machinery/firealarm/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/crew/library) -"wn" = ( -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/hallway/central) -"wr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"wx" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/item/documents{ - pixel_y = -7; - pixel_x = 7; - desc = "\"Top Secret\" The Document is filled with stock statistics on something called SlurpCoin... what could it possibly be?" - }, -/turf/open/floor/carpet/red_gold, -/area/ship/crew/library) -"wD" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen/edagger{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/pen/fountain/captain{ - pixel_x = 6; - pixel_y = 7 - }, -/obj/item/stamp{ - pixel_x = -7; - pixel_y = 12 - }, -/obj/item/stamp/denied{ - pixel_x = -7; - pixel_y = 7 - }, -/obj/item/stamp/captain{ - pixel_x = -7; - pixel_y = 2 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"wJ" = ( -/obj/structure/rack, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/item/pipe_dispenser{ - pixel_y = 6 - }, -/obj/item/geiger_counter{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"wM" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/decal/cleanable/oil/streak, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) -"wO" = ( -/obj/effect/turf_decal/borderfloor, -/obj/machinery/door/airlock/wood{ - id_tag = "premier_dorm2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew) -"wP" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"wT" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/flora/ausbushes/lavendergrass{ - pixel_x = 2 - }, -/obj/structure/flora/ausbushes/ppflowers{ - pixel_x = 3 - }, -/obj/machinery/light/directional/east, -/obj/structure/sign/departments/cargo{ - pixel_y = -32 - }, -/turf/open/floor/grass, -/area/ship/hallway/central) -"xd" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/structure/closet/crate/bin, -/obj/item/trash/waffles, -/obj/item/trash/candy, -/obj/item/trash/semki, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 0 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"xe" = ( -/obj/structure/chair/comfy{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew) -"xg" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 2; - color = "#543C30" - }, -/obj/item/storage/fancy/donut_box{ - pixel_y = 8; - pixel_x = 2 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_y = 7; - pixel_x = -7 - }, -/obj/item/table_bell{ - pixel_x = 9; - pixel_y = -1 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"xi" = ( -/obj/machinery/holopad/emergency/command, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"xn" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/blue, -/obj/machinery/computer/card{ - dir = 4 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"xx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "engine fuel pump" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"xF" = ( -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"xQ" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable/yellow, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 13 - }, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew) -"xV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_y = 3; - pixel_x = 9 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_y = 3; - pixel_x = 1 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_y = 3; - pixel_x = -7 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"ya" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "premier_cell_windows"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/security) -"yc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/table/wood/reinforced, -/obj/item/table_bell{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/item/reagent_containers/food/drinks/shaker{ - pixel_x = -10; - pixel_y = 2 - }, -/obj/item/reagent_containers/glass/rag{ - pixel_x = -2; - pixel_y = 3 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"yk" = ( -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/machinery/light/directional/east, -/obj/item/tank/jetpack/carbondioxide, -/obj/item/clothing/suit/space/hardsuit/mining/independent, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"yn" = ( -/obj/effect/turf_decal/borderfloorwhite{ - dir = 10 - }, -/obj/structure/sink{ - dir = 4; - pixel_x = -12; - pixel_y = 1 - }, -/obj/structure/mirror{ - pixel_x = -24 - }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/central) -"yy" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/cargo) -"yK" = ( -/obj/item/kirbyplants{ - icon_state = "plant-21"; - pixel_x = -6; - pixel_y = 17 - }, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"yP" = ( -/obj/docking_port/stationary{ - height = 15; - width = 30; - name = "main beluga dock"; - dir = 2; - dwidth = 2 - }, -/turf/template_noop, -/area/template_noop) -"yU" = ( -/obj/effect/turf_decal/borderfloorwhite{ - dir = 9 - }, -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/structure/toilet/secret{ - secret_type = /obj/item/storage/box/donkpockets/donkpocketgondola; - pixel_y = 10 - }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/central) -"yZ" = ( -/obj/structure/closet/wall/directional/south{ - name = "Utility Closet" - }, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/flashlight, -/obj/item/flashlight, -/obj/item/flashlight, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"zd" = ( -/obj/machinery/newscaster/directional/north{ - pixel_y = 32 - }, -/obj/structure/bookcase/random/nonfiction, -/turf/open/floor/wood, -/area/ship/crew/library) -"zh" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/dorms, -/obj/machinery/light/directional/south, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"zn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew) -"zx" = ( -/obj/structure/noticeboard{ - pixel_y = 28 - }, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/item/storage/box/matches, -/obj/item/grown/log/tree{ - pixel_y = 14; - pixel_x = -5 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/library) -"zz" = ( -/obj/machinery/cryopod, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/cryo) -"zD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew) -"Am" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/library) -"Ar" = ( -/obj/structure/table/wood/reinforced, -/obj/item/paper_bin{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/pen/charcoal{ - pixel_y = 8; - pixel_x = -3 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = -8 - }, -/obj/item/flashlight/lamp/green{ - pixel_y = 8; - pixel_x = 6 - }, -/obj/item/phone{ - pixel_x = 8; - pixel_y = -3 - }, -/obj/item/toy/plush/hornet/gay{ - pixel_y = 23; - pixel_x = -30 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"AA" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "2-5" - }, -/obj/structure/cable/yellow{ - icon_state = "2-9" - }, -/obj/structure/closet/emcloset/wall/directional/east, -/turf/open/floor/plating, -/area/ship/engineering) -"AF" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) -"AS" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "premier_windows" - }, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"AU" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/item/cutting_board{ - pixel_x = -3; - pixel_y = 1 - }, -/obj/structure/table, -/obj/item/kitchen/knife{ - pixel_x = 11; - pixel_y = 7 - }, -/obj/item/reagent_containers/food/snacks/meat/slab/chicken{ - pixel_x = -4 - }, -/obj/item/reagent_containers/food/snacks/meat/rawcutlet/chicken{ - pixel_x = 1; - pixel_y = 3 - }, -/obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = -12 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"Bi" = ( -/obj/structure/sign/warning/vacuum{ - pixel_y = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 8 - }, -/area/ship/engineering) -"Bj" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Bp" = ( -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/hallway/central) -"Bt" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6; - color = "#543C30" - }, -/obj/item/kirbyplants{ - icon_state = "plant-10" - }, -/obj/machinery/light_switch{ - pixel_y = 23 - }, -/turf/open/floor/wood/walnut, -/area/ship/hallway/central) -"BF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes/cigars/havana{ - pixel_y = 6; - pixel_x = 2 - }, -/obj/item/storage/fancy/cigarettes/cigars/havana{ - pixel_y = 10; - pixel_x = -1 - }, -/obj/item/lighter{ - pixel_x = 11; - pixel_y = -1 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/library) -"BN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"BV" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"Cp" = ( -/obj/structure/rack{ - color = "#A47449" - }, -/obj/machinery/airalarm/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/item/grown/log/tree{ - pixel_x = -7; - pixel_y = 10 - }, -/obj/item/grown/log/tree{ - pixel_x = 7; - pixel_y = 10 - }, -/obj/item/grown/log/tree{ - pixel_y = 17 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/library) -"Cr" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/item/storage/belt/utility/full/engi{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/item/storage/toolbox/electrical{ - pixel_y = -1 - }, -/obj/item/multitool{ - pixel_x = 9; - pixel_y = 3 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_y = 11; - pixel_x = 19 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Ct" = ( -/turf/open/floor/carpet/nanoweave, -/area/ship/crew) -"Cu" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"Cx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/library) -"CF" = ( -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -23; - pixel_y = -8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/button/door{ - id = "premier_dorm1"; - name = "Door Bolt"; - pixel_x = -23; - pixel_y = 10; - dir = 4; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/turf/open/floor/wood, -/area/ship/crew) -"CK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/comfy/grey/directional/north, -/obj/item/radio/intercom/directional/east, -/obj/machinery/light_switch{ - pixel_x = 23; - pixel_y = 8; - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"CP" = ( -/obj/structure/table/wood/reinforced, -/obj/item/flashlight/lamp/green{ - pixel_x = -16; - pixel_y = 8; - layer = 3.1 - }, -/obj/item/storage/photo_album/library{ - pixel_y = 1; - pixel_x = 2 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red_gold, -/area/ship/crew/library) -"CS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/ship/bridge) -"CT" = ( -/obj/machinery/power/port_gen/pacman, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) -"CU" = ( -/obj/item/radio/intercom/directional/east, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew) -"Dc" = ( -/obj/item/kirbyplants{ - icon_state = "plant-03" - }, -/obj/machinery/light_switch{ - pixel_y = -20; - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew) -"Di" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/cryo) -"Dr" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "premier_bridge" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"Dt" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"Dv" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Dz" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"DA" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/machinery/recharger{ - pixel_x = -5 - }, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = 8; - pixel_y = 11 - }, -/obj/structure/sign/poster/contraband/twelve_gauge{ - pixel_y = -32 - }, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/trimline/opaque/yellow/line, -/obj/item/megaphone/sec, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"DE" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) -"DH" = ( -/obj/machinery/door/airlock{ - name = "WC" - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/hallway/central) -"DY" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/sign/warning/electricshock{ - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Eh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 2; - color = "#543C30" - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/cryo) -"El" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/north{ - pixel_y = 1 - }, -/obj/structure/filingcabinet/chestdrawer, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 1 - }, -/obj/machinery/button/door{ - id = "premier_cell_windows"; - name = "Cell Shutter"; - pixel_x = 24; - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Eo" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - id = "beluga_thrusters"; - name = "Thruster Blast Door"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Ey" = ( -/obj/structure/table/wood/reinforced, -/obj/item/folder/red{ - pixel_x = 6; - pixel_y = 2 - }, -/obj/item/paper/pamphlet{ - pixel_x = 4; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/drinks/mug, -/obj/effect/turf_decal/siding/wood, -/obj/item/lipstick{ - pixel_x = -5; - pixel_y = -3 - }, -/turf/open/floor/wood, -/area/ship/crew) -"EA" = ( -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_x = 9 - }, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew) -"EB" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/turf/open/floor/wood/walnut, -/area/ship/crew/cryo) -"EM" = ( -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/machinery/computer/helm/viewscreen/directional/east, -/obj/effect/landmark/start/assistant, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"EP" = ( -/obj/structure/closet/secure_closet/freezer/wall/directional/north, -/obj/item/reagent_containers/food/condiment/rice{ - pixel_y = 17 - }, -/obj/item/reagent_containers/food/condiment/flour{ - pixel_x = 6; - pixel_y = 10 - }, -/obj/item/reagent_containers/food/condiment/flour{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/reagent_containers/food/condiment/sugar{ - pixel_x = -7; - pixel_y = 12 - }, -/obj/item/reagent_containers/food/condiment/sugar{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/condiment/milk{ - pixel_x = -10; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/condiment/milk{ - pixel_x = -10; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/condiment/milk{ - pixel_x = -10; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/condiment/soymilk{ - pixel_y = -5; - pixel_x = -4 - }, -/obj/item/reagent_containers/food/condiment/soymilk{ - pixel_y = -5; - pixel_x = -4 - }, -/obj/item/reagent_containers/food/snacks/meat/slab/corgi{ - pixel_x = 6; - pixel_y = -11 - }, -/obj/item/reagent_containers/food/snacks/meat/slab/corgi{ - pixel_x = 6; - pixel_y = -8 - }, -/obj/item/reagent_containers/food/snacks/meat/slab/corgi{ - pixel_x = 6; - pixel_y = -4 - }, -/obj/item/reagent_containers/food/snacks/butter{ - pixel_x = 6; - pixel_y = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/item/storage/fancy/egg_box{ - pixel_y = -3; - pixel_x = -4 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"ES" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/canteen) -"EV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/library) -"EX" = ( -/obj/effect/turf_decal/industrial/traffic, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Fd" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"Ff" = ( -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"Fi" = ( -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/library) -"FB" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"FH" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/central) -"FT" = ( -/obj/machinery/cryopod, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/cryo) -"FU" = ( -/obj/machinery/holopad/emergency/command, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"FW" = ( -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Go" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew) -"GV" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 1 - }, -/obj/docking_port/mobile{ - can_move_docking_ports = 1; - dir = 2; - launch_status = 0; - port_direction = 8; - preferred_direction = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/cryo) -"GY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/nanoweave/orange, -/area/ship/security) -"Hc" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Hd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"Hl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/landmark/observer_start, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"Hq" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/structure/curtain/bounty, -/obj/structure/sign/poster/official/ian{ - pixel_x = 32 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew) -"Hs" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/bridge) -"Hu" = ( -/obj/structure/closet/wall/blue/directional/west{ - name = "Captains Locker" - }, -/obj/item/clothing/under/rank/command/captain, -/obj/item/clothing/under/rank/command, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/shoes/cowboy/black, -/obj/item/clothing/suit/armor/vest/capcarapace/duster, -/obj/item/clothing/head/beret/captain, -/obj/item/clothing/head/caphat, -/obj/item/clothing/gloves/color/captain, -/obj/item/clothing/gloves/color/black, -/obj/item/gun/energy/e_gun/mini, -/obj/item/radio/headset/heads/captain/alt, -/obj/item/radio/headset/heads/captain, -/obj/item/clothing/glasses/hud/security, -/obj/item/clothing/glasses/sunglasses/big, -/obj/item/areaeditor/shuttle, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen, -/obj/item/clothing/head/caphat/cowboy, -/obj/item/clothing/suit/armor/vest/capcarapace/captunic, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"Hv" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/ship/bridge) -"HE" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "premier_lockdown" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"HO" = ( -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/shower{ - pixel_y = 10 - }, -/obj/structure/curtain/bounty, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/security) -"HP" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/effect/landmark/start/captain, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"HS" = ( -/obj/machinery/door/airlock/wood{ - id_tag = "premier_dorm1" - }, -/obj/effect/turf_decal/borderfloor, -/turf/open/floor/plasteel/tech, -/area/ship/crew) -"HT" = ( -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/fulltile, -/turf/open/floor/plating, -/area/ship/engineering) -"Ib" = ( -/obj/structure/fireplace, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/library) -"Im" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"Ip" = ( -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 2; - color = "#543C30" - }, -/obj/machinery/computer/helm/viewscreen/directional/west, -/obj/machinery/vending/clothing, -/turf/open/floor/wood/walnut, -/area/ship/crew/cryo) -"Iq" = ( -/obj/structure/tank_dispenser, -/obj/machinery/light/directional/east, -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Iu" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/light/directional/west, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering) -"Iw" = ( -/obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes{ - pixel_x = -7 - }, -/obj/item/storage/fancy/cigarettes/cigpack_carp{ - pixel_y = 3; - pixel_x = -5 - }, -/obj/item/trash/can/food{ - pixel_x = 9; - pixel_y = 2 - }, -/obj/item/storage/pill_bottle/dice{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/item/lighter/greyscale{ - pixel_x = -5; - pixel_y = -3 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"Iy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/door/airlock/external/glass, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/cryo) -"IB" = ( -/obj/machinery/door/airlock/wood{ - name = "Dormitory"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew/cryo) -"IC" = ( -/obj/structure/cable/yellow{ - icon_state = "0-1" - }, -/obj/machinery/door/poddoor{ - id = "beluga_cargohatch"; - name = "Cargo Hatch" - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 8; - id = "premier_cargo_holo"; - locked = 1 - }, -/turf/open/floor/engine/hull/interior, -/area/ship/cargo) -"IH" = ( -/obj/structure/closet/wall/directional/south, -/obj/item/storage/briefcase, -/obj/item/folder/yellow, -/obj/item/folder/red, -/obj/item/folder/blue, -/obj/item/canvas/twentythreeXtwentythree{ - desc = "Earnings chart your soul out on this whiteboard!"; - name = "whiteboard"; - pixel_x = 0; - pixel_y = 0 - }, -/obj/item/canvas/twentythreeXtwentythree{ - desc = "Earnings chart your soul out on this whiteboard!"; - name = "whiteboard"; - pixel_x = 0; - pixel_y = 0 - }, -/obj/item/canvas/twentythreeXtwentythree{ - desc = "Earnings chart your soul out on this whiteboard!"; - name = "whiteboard"; - pixel_x = 0; - pixel_y = 0 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/item/canvas/twentythreeXtwentythree{ - desc = "Earnings chart your soul out on this whiteboard!"; - name = "whiteboard"; - pixel_x = 0; - pixel_y = 0 - }, -/obj/item/reagent_containers/syringe/contraband, -/obj/item/reagent_containers/syringe/contraband{ - pixel_x = 6; - pixel_y = -2 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"II" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/sofa/brown/left/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"IP" = ( -/obj/structure/fluff/hedge, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood/walnut, -/area/ship/crew/cryo) -"IT" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/item/stack/sheet/metal/twenty{ - pixel_x = 7; - pixel_y = 4 - }, -/obj/item/stack/sheet/glass/twenty{ - pixel_x = 3 - }, -/obj/item/radio/intercom/directional/south, -/obj/machinery/light_switch{ - pixel_x = 16; - pixel_y = -19; - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"IX" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/machinery/power/port_gen/pacman/super, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/structure/cable{ - icon_state = "0-1" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) -"Ji" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/closet/emcloset/wall/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"Jk" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Jr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/cryo) -"Ju" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"JA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"JJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/reagent_dispensers/water_cooler{ - pixel_x = -8; - density = 0 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"JR" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/obj/effect/decal/cleanable/plasma, -/turf/open/floor/plating, -/area/ship/engineering) -"Kb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Kc" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/dorms, -/obj/machinery/light_switch{ - pixel_x = -8; - pixel_y = -20; - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Ke" = ( -/obj/structure/closet/secure_closet/engineering_welding, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Kn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew) -"Ko" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/structure/curtain/bounty, -/turf/open/floor/carpet/red, -/area/ship/crew) -"Ku" = ( -/obj/structure/chair/sofa/brown/left/directional/south, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Kx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/chair/comfy/grey/directional/north, -/turf/open/floor/wood, -/area/ship/crew/library) -"KI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew) -"KJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/cryo) -"KW" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/structure/closet/firecloset/wall/directional/east, -/obj/machinery/door/firedoor/border_only, -/obj/item/reagent_containers/syringe/contraband{ - pixel_x = 6; - pixel_y = -2 - }, -/obj/item/reagent_containers/syringe/contraband{ - pixel_x = 2; - pixel_y = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Ld" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/west, -/obj/structure/chair/pew/left{ - pixel_y = 8 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/library) -"Lj" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/suit/toggle/lawyer/burgundy{ - pixel_y = -3 - }, -/obj/item/clothing/head/beanie/stripedgreen{ - pixel_x = 2; - pixel_y = -5 - }, -/obj/item/clothing/glasses/regular/hipster, -/obj/machinery/button/door{ - id = "beluga_dorm1_window"; - pixel_x = 10; - pixel_y = -23; - dir = 1 - }, -/obj/machinery/light/small/directional/west, -/obj/item/clothing/under/suit/charcoal, -/obj/item/clothing/glasses/monocle, -/obj/item/clothing/shoes/laceup{ - pixel_y = -11 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew) -"Lr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Ls" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable/yellow{ - icon_state = "0-1" - }, -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"LE" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew) -"LO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/structure/sink{ - dir = 8; - pixel_x = 14 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"LR" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/item/spacecash/bundle/c1000{ - pixel_x = 3; - pixel_y = 10 - }, -/obj/item/spacecash/bundle/c1000{ - pixel_y = 7; - pixel_x = 6 - }, -/obj/item/spacecash/bundle/c200, -/obj/item/spacecash/bundle/c100{ - pixel_x = 8; - pixel_y = 3 - }, -/obj/item/spacecash/bundle/c100{ - pixel_y = -7 - }, -/obj/item/spacecash/bundle/c500{ - pixel_y = -5; - pixel_x = 5 - }, -/obj/item/spacecash/bundle/c50{ - pixel_x = -8; - pixel_y = -3 - }, -/obj/item/clothing/accessory/medal/gold/heroism{ - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/spacecash/bundle/c5, -/obj/structure/safe/floor, -/turf/open/floor/plating, -/area/ship/bridge) -"Mf" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/machinery/photocopier{ - pixel_y = 3 - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/item/radio/intercom/directional/south, -/obj/machinery/firealarm/directional/south, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-1" - }, -/obj/machinery/light_switch{ - pixel_y = 10; - dir = 8; - pixel_x = 20 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Mr" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/sign/poster/contraband/space_cola{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/effect/decal/cleanable/glitter, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Mw" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/ship/engineering) -"ME" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"MG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"MN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/carpet/nanoweave/orange, -/area/ship/security) -"MO" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ship/crew/cryo) -"MR" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"MZ" = ( -/obj/structure/chair/sofa/brown/right/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/east, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 23; - pixel_y = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Nm" = ( -/obj/effect/turf_decal/techfloor, -/obj/item/gun/energy/disabler{ - pixel_y = 5 - }, -/obj/structure/rack, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/door/window/brigdoor/southright{ - req_access_txt = "1" - }, -/obj/structure/window/reinforced/spawner/east, -/obj/item/melee/baton/loaded, -/obj/item/melee/baton/loaded{ - pixel_x = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security) -"Nv" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/dorms, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Nw" = ( -/obj/machinery/door/window/brigdoor/southright{ - req_access_txt = "1"; - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1; - color = "#808080" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Nz" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder{ - pixel_y = 17; - pixel_x = -7 - }, -/obj/item/reagent_containers/food/condiment/enzyme{ - pixel_x = -6; - pixel_y = 10 - }, -/obj/item/reagent_containers/glass/beaker{ - pixel_x = -7; - pixel_y = 2 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/obj/machinery/firealarm/directional/west, -/obj/item/sharpener{ - pixel_x = 2 - }, -/obj/item/kitchen/rollingpin{ - pixel_x = 4; - pixel_y = -5 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"NB" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm) -"NZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Oa" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Of" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/fluff/hedge, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"Oi" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/carpet/red_gold, -/area/ship/crew/library) -"Ok" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central2{ - pixel_y = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Ow" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew) -"OE" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/security) -"OK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/library) -"OO" = ( -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"Pa" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"Pw" = ( -/obj/structure/sign/poster/official/high_class_martini{ - pixel_x = -32 - }, -/obj/machinery/light/directional/west, -/obj/structure/bed/dogbed{ - name = "benson's bed" - }, -/mob/living/simple_animal/pet/dog/corgi/capybara{ - dir = 4; - name = "Benson" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Px" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 2; - color = "#543C30" - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/cryo) -"PD" = ( -/obj/structure/table/wood, -/obj/item/storage/wallet{ - pixel_y = 7; - pixel_x = 3 - }, -/obj/item/newspaper{ - pixel_x = -6 - }, -/obj/item/newspaper{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/drinks/bottle/pineapplejuice{ - pixel_x = 7; - pixel_y = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"PI" = ( -/obj/structure/fluff/hedge, -/obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"PJ" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"PL" = ( -/obj/structure/fluff/hedge, -/obj/machinery/light/directional/east, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"PQ" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/flora/ausbushes/brflowers{ - pixel_x = 4 - }, -/obj/structure/flora/ausbushes/palebush{ - pixel_y = 12 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/grass, -/area/ship/hallway/central) -"PW" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "beluga_dorm1_window" - }, -/turf/open/floor/plating, -/area/ship/crew) -"PY" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/landmark/start/lawyer, -/turf/open/floor/carpet/red_gold, -/area/ship/crew/library) -"Qb" = ( -/obj/machinery/newscaster/directional/west, -/obj/structure/showcase/perfect_employee, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/library) -"Qc" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/ship/bridge) -"Qj" = ( -/obj/structure/fluff/hedge, -/obj/structure/sign/poster/official/high_class_martini{ - pixel_x = -32 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/cryo) -"QA" = ( -/obj/machinery/blackbox_recorder, -/obj/structure/sign/poster/official/moth/epi{ - pixel_x = 32 - }, -/obj/machinery/button/door{ - id = "premier_meeting_windows"; - pixel_x = -10; - pixel_y = -23; - dir = 1 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/library) -"QE" = ( -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"QK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{ - dir = 1 - }, -/turf/open/floor/engine/air, -/area/ship/engineering) -"QS" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/item/flashlight/lamp{ - pixel_y = 10; - pixel_x = -7 - }, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = 5 - }, -/obj/item/trash/chips{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"QV" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Re" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"Rl" = ( -/obj/structure/filingcabinet/double{ - pixel_x = -4 - }, -/obj/structure/noticeboard{ - pixel_y = 31 - }, -/obj/item/paper{ - pixel_x = 2; - pixel_y = 7 - }, -/obj/item/paper/pamphlet/violent_video_games, -/obj/item/trash/candy, -/obj/item/trash/raisins, -/obj/item/spacecash/bundle/c10{ - pixel_x = -9 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"RG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/library) -"RJ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/sign/warning/enginesafety{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 8 - }, -/area/ship/engineering) -"RM" = ( -/obj/effect/turf_decal/industrial/traffic, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Sd" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Sh" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/arrows{ - dir = 8; - pixel_y = -12 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Sn" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/plating, -/area/ship/engineering) -"Sp" = ( -/obj/effect/turf_decal/borderfloorwhite{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/ship/hallway/central) -"Ss" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/east, -/obj/machinery/vending/coffee, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/library) -"Sv" = ( -/turf/template_noop, -/area/template_noop) -"Sy" = ( -/obj/effect/landmark/start/depsec, -/turf/open/floor/carpet/nanoweave/orange, -/area/ship/security) -"SE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/fluff/hedge, -/obj/structure/sign/barsign{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"SH" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/structure/rack, -/obj/item/storage/box/flashbangs{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/item/storage/box/handcuffs{ - pixel_y = 7; - pixel_x = -8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security) -"SK" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"SW" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/secure_data/laptop{ - dir = 4; - pixel_x = -7; - pixel_y = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Ta" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "premier_privacy" - }, -/turf/open/floor/plating, -/area/ship/crew/library) -"Td" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/under/suit/navy, -/obj/item/clothing/under/suit/burgundy, -/obj/item/clothing/under/suit/black, -/obj/item/clothing/under/suit/black/skirt, -/obj/item/clothing/under/suit/blacktwopiece, -/obj/item/clothing/under/suit/black/female, -/obj/item/clothing/suit/toggle/lawyer/charcoal, -/obj/item/clothing/suit/toggle/lawyer/navy, -/obj/item/clothing/suit/toggle/lawyer/burgundy, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/shoes/laceup, -/obj/machinery/firealarm/directional/east{ - pixel_y = 4 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 21; - pixel_y = -8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 2; - color = "#543C30" - }, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/cryo) -"Ti" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-6" - }, -/obj/structure/cable/yellow{ - icon_state = "0-1" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Tl" = ( -/obj/structure/fluff/hedge, -/obj/machinery/advanced_airlock_controller{ - pixel_x = 24 - }, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/cryo) -"Tz" = ( -/obj/machinery/light/floor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"TG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"TM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10; - color = "#543C30" - }, -/obj/machinery/door/window/eastright{ - dir = 2 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"TP" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering) -"TQ" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"TU" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/computer/cryopod/directional/south, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"TV" = ( -/obj/structure/dresser, -/obj/machinery/firealarm/directional/west, -/obj/machinery/light_switch{ - pixel_x = 8; - pixel_y = 23 - }, -/obj/item/toy/plush/moth{ - name = "Sparky the Electrical Safety Moth"; - pixel_x = -1; - pixel_y = 17 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew) -"TZ" = ( -/obj/item/stack/tile/carpet/nanoweave/blue{ - pixel_x = 10; - pixel_y = -10 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"Uh" = ( -/obj/structure/fluff/hedge, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew) -"UO" = ( -/obj/effect/turf_decal/industrial/traffic/corner, -/obj/machinery/computer/cargo/express{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"UW" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Vb" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/garbage{ - pixel_x = -12; - pixel_y = -4 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) -"Ve" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/megaphone/command{ - pixel_x = 4; - pixel_y = 9 - }, -/obj/item/paicard{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/item/newspaper, -/obj/effect/turf_decal/steeldecal/steel_decals_central2{ - pixel_y = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Vo" = ( -/obj/item/candle{ - pixel_x = -13; - pixel_y = 19 - }, -/obj/structure/bookcase/random/adult, -/turf/open/floor/wood, -/area/ship/crew/library) -"Vq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/cryo) -"Vu" = ( -/obj/machinery/jukebox, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"VJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/mug, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/canteen) -"VK" = ( -/obj/structure/rack, -/obj/item/clothing/glasses/meson, -/obj/item/pickaxe/mini, -/obj/item/pickaxe/mini{ - pixel_y = 3 - }, -/obj/item/gps/mining{ - pixel_x = 10; - pixel_y = -4 - }, -/obj/item/mining_scanner{ - pixel_x = 3 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"VV" = ( -/obj/structure/frame/computer{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Wa" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "premier_bridge"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"Wk" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ship/engineering) -"Wo" = ( -/obj/structure/chair/comfy/orange/directional/south{ - buildstackamount = 0; - color = "#c45c57" - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"WD" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/machinery/door/airlock/freezer{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen) -"WF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"WG" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/structure/closet/wall/red/directional/south{ - name = "Officer's Locker" - }, -/obj/item/clothing/shoes/combat, -/obj/item/storage/belt/security/webbing/inteq, -/obj/item/clothing/glasses/hud/security/sunglasses/inteq, -/obj/item/clothing/glasses/hud/security/sunglasses/eyepatch, -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, -/obj/item/clothing/under/syndicate/inteq/skirt, -/obj/item/clothing/under/syndicate/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/gloves/tackler/combat, -/obj/item/reagent_containers/spray/pepper{ - pixel_x = 7; - pixel_y = -3 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"WS" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"WV" = ( -/obj/structure/chair/comfy{ - dir = 1 - }, -/turf/open/floor/carpet/red, -/area/ship/crew) -"Xm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/obj/item/clothing/under/suit/dresssuit, -/obj/item/clothing/under/suit/dresssuit, -/obj/item/clothing/under/suit/dresssuit, -/obj/item/clothing/under/rank/civilian/bartender, -/obj/item/clothing/under/rank/civilian/bartender/skirt, -/obj/item/clothing/under/rank/civilian/chef, -/obj/item/clothing/under/rank/civilian/chef/skirt, -/obj/item/clothing/under/rank/civilian/janitor, -/obj/item/clothing/under/rank/civilian/janitor/skirt, -/obj/item/clothing/suit/toggle/chef, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/accessory/waistcoat, -/obj/item/clothing/shoes/cookflops{ - pixel_y = -11 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"Xn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"Xw" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/cryo) -"XL" = ( -/obj/effect/turf_decal/spline/fancy/opaque/blue{ - dir = 4 - }, -/obj/machinery/computer/crew/syndie{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"XO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs, -/area/ship/hallway/central) -"XY" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"Yr" = ( -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/machinery/light/directional/east, -/obj/item/clothing/suit/space/hardsuit/engine, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"YW" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Zl" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Zq" = ( -/obj/machinery/door/airlock/mining{ - name = "Cargo Bay" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Zr" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals9, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Zu" = ( -/obj/structure/table/wood, -/obj/item/paper{ - pixel_x = 3; - pixel_y = 7 - }, -/obj/item/pen/charcoal{ - pixel_y = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6; - color = "#543C30" - }, -/obj/item/desk_flag/trans{ - pixel_x = 9; - pixel_y = 2 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"Zx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Zy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"ZN" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/caution{ - dir = 4 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"ZP" = ( -/obj/structure/table/reinforced, -/obj/machinery/requests_console{ - pixel_y = 25 - }, -/obj/item/radio/intercom/wideband/table{ - dir = 4; - pixel_x = 3 - }, -/obj/item/reagent_containers/food/drinks/bottle/wine{ - pixel_y = 14; - pixel_x = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ - dir = 4 - }, -/obj/item/reagent_containers/food/snacks/cheesewedge{ - pixel_x = 3 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_y = 15; - pixel_x = -8 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_y = 15 - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"ZX" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/machinery/door/airlock/engineering{ - name = "Engineering"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"ZY" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"ZZ" = ( -/obj/structure/bookcase/random/fiction, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/crew/library) - -(1,1,1) = {" -Sv -Sv -Sv -Sv -Sv -Sv -Sv -Sv -DE -XY -DE -Sv -Sv -Sv -Sv -Sv -Sv -Sv -Sv -"} -(2,1,1) = {" -Sv -Sv -Sv -Sv -Sv -Sv -DE -XY -DE -Eo -DE -XY -DE -Sv -Sv -Sv -Sv -Sv -Sv -"} -(3,1,1) = {" -Sv -Sv -Sv -Sv -Sv -pF -DE -vm -DE -PJ -DE -Eo -DE -pF -Sv -Sv -Sv -Sv -Sv -"} -(4,1,1) = {" -Sv -Sv -Sv -Sv -Sv -DE -Iu -Ti -hr -qj -TP -qV -mi -DE -Sv -Sv -Sv -Sv -Sv -"} -(5,1,1) = {" -Sv -Sv -Sv -Sv -Sv -DE -DY -dF -AA -tJ -mW -aI -wJ -jy -lJ -Sv -Sv -Sv -Sv -"} -(6,1,1) = {" -Sv -Sv -Sv -DE -ZY -DE -hz -uB -DE -DE -DE -ih -Ke -DE -ZY -DE -Sv -Sv -Sv -"} -(7,1,1) = {" -Sv -Sv -Sv -DE -hY -DE -DE -RJ -CT -jI -IX -Bi -DE -DE -dE -DE -Sv -Sv -Sv -"} -(8,1,1) = {" -Sv -Sv -Sv -DE -to -SK -KW -JR -el -wM -Vb -im -fe -gI -bW -hM -Sv -Sv -Sv -"} -(9,1,1) = {" -Sv -Sv -Xw -ul -ul -ul -DE -Sn -Mw -WS -Wk -Mr -DE -DE -DE -DE -pF -Sv -Sv -"} -(10,1,1) = {" -Sv -Xw -ul -ak -gH -ak -DE -Yr -tf -xx -Cr -Iq -AF -AF -QV -Oa -AF -yy -Sv -"} -(11,1,1) = {" -Sv -ul -zz -Dt -Fd -oN -DE -DE -DE -iC -DE -DE -AF -Hc -Oa -ge -fr -AF -Sv -"} -(12,1,1) = {" -Sv -ul -cb -ru -jU -TU -DE -qm -tw -WF -HT -dj -AF -Sd -rQ -qo -hJ -AF -Sv -"} -(13,1,1) = {" -Sv -ul -FT -Ji -Xn -yZ -DE -fJ -eY -Tz -dC -QK -AF -Bj -mc -uj -IT -AF -Sv -"} -(14,1,1) = {" -ul -ul -ul -ul -IB -ul -FH -FH -FH -ZX -FH -FH -AF -nN -Oa -Sh -qg -AF -Sv -"} -(15,1,1) = {" -ax -Qj -IP -MO -Vq -Ip -FH -Bt -PD -YW -vs -qL -AF -cW -Oa -Sh -UO -AF -Sv -"} -(16,1,1) = {" -fg -bo -Di -Iy -Vq -Eh -wn -Bp -ij -Lr -ij -de -Zq -ZN -ZN -UW -RM -pA -Sv -"} -(17,1,1) = {" -GV -Jr -KJ -pq -EB -Px -tR -eP -ME -fy -qG -XO -tZ -wr -NZ -Zx -EX -IC -yP -"} -(18,1,1) = {" -ax -Tl -lx -MO -me -Td -FH -PQ -nB -Lr -nj -wT -AF -yk -cf -VK -cR -AF -Sv -"} -(19,1,1) = {" -ul -NB -NB -NB -NB -NB -bF -bF -ro -eh -ro -bF -bF -bF -bF -bF -bF -bF -Sv -"} -(20,1,1) = {" -Sv -NB -Nv -FW -Kc -NB -Rl -yK -TM -Ow -qU -xQ -HS -CF -ni -ky -Ko -qR -Sv -"} -(21,1,1) = {" -Sv -NB -Nv -lV -zh -NB -Ar -Wo -xg -pe -Ct -Dc -bF -vH -lE -WV -hU -bF -Sv -"} -(22,1,1) = {" -Sv -aF -MG -Zy -Xm -NB -NB -cs -Zu -pe -Ct -zn -bF -bF -bF -bF -bF -bF -Sv -"} -(23,1,1) = {" -Sv -aF -Iw -pH -mr -dB -TG -Go -Kn -db -KI -zD -bF -TV -Ey -xe -Lj -bF -Sv -"} -(24,1,1) = {" -Sv -aF -EM -Re -vl -OO -NB -Uh -Ct -pe -Ct -vd -wO -jv -LE -CU -Hq -PW -Sv -"} -(25,1,1) = {" -Sv -bD -bD -WD -bD -bD -bD -fP -ko -pe -EA -bF -bF -bF -bF -bF -bF -bF -Sv -"} -(26,1,1) = {" -Sv -bD -pn -MR -Nz -kD -bD -bD -bG -is -bG -bG -zd -gt -dY -vR -Vo -bG -Sv -"} -(27,1,1) = {" -Sv -bD -AU -uL -TQ -Pa -jd -rI -Ld -RG -Qb -bG -cg -OK -ZZ -OK -mQ -bG -Sv -"} -(28,1,1) = {" -Sv -ES -bD -EP -rU -LO -rA -aP -jY -RG -Fi -Ta -JJ -aO -jD -IH -bG -Am -Sv -"} -(29,1,1) = {" -Sv -Sv -bD -nx -VJ -xV -yc -Of -BF -RG -Fi -Ta -Dz -PY -PY -Oi -bG -Sv -Sv -"} -(30,1,1) = {" -Sv -Sv -AS -lF -vx -vx -es -do -dG -RG -Fi -np -Dz -mF -wx -ln -bG -Sv -Sv -"} -(31,1,1) = {" -Sv -Sv -AS -Vu -Im -Hl -Im -vj -Cx -pO -EV -lO -Cu -rc -CP -vG -bG -Sv -Sv -"} -(32,1,1) = {" -Sv -Sv -bD -SE -jF -nS -II -Ju -bU -bL -pX -hc -sH -eN -hE -nz -qr -Sv -Sv -"} -(33,1,1) = {" -Sv -Sv -bD -PL -Ku -sG -MZ -Ju -Ss -RG -pR -Ta -fq -bV -ck -qC -qr -Sv -Sv -"} -(34,1,1) = {" -Sv -Sv -bD -bD -bD -bD -bD -bD -bG -hI -bG -bG -zx -jw -xi -uz -qr -Sv -Sv -"} -(35,1,1) = {" -Sv -Sv -FH -yU -yn -FH -xd -Pw -oW -ad -Ls -bG -Ib -Kx -JA -ev -qr -Sv -Sv -"} -(36,1,1) = {" -Sv -Sv -FH -fa -Sp -DH -BN -Jk -hp -FB -Kb -bG -Cp -CK -fl -QA -bG -Sv -Sv -"} -(37,1,1) = {" -Sv -Sv -Hs -Hs -Hs -Hs -lB -bP -Hs -sO -pG -bG -bG -bG -bG -bG -Am -Sv -Sv -"} -(38,1,1) = {" -Sv -Sv -Dr -ra -ej -Hu -wP -Hd -Hs -lC -GY -mI -QS -SW -DA -OE -Sv -Sv -Sv -"} -(39,1,1) = {" -Sv -Sv -Dr -PI -HP -QE -TZ -Hd -HE -oi -GY -Sy -eJ -iX -WG -OE -Sv -Sv -Sv -"} -(40,1,1) = {" -Sv -Sv -gf -Hs -ZP -eL -LR -Hd -HE -Nm -fV -fX -pk -Zl -WG -OE -Sv -Sv -Sv -"} -(41,1,1) = {" -Sv -Sv -Sv -Hs -eB -xn -Qc -CS -HE -SH -MN -vv -Zr -Dv -Mf -OE -Sv -Sv -Sv -"} -(42,1,1) = {" -Sv -Sv -Sv -Hs -dr -ag -BV -Ff -Hs -HO -Nw -lM -El -OE -OE -iP -Sv -Sv -Sv -"} -(43,1,1) = {" -Sv -Sv -Sv -Hs -ms -iU -vb -FU -Hs -sK -uy -hH -OE -iP -Sv -Sv -Sv -Sv -Sv -"} -(44,1,1) = {" -Sv -Sv -Sv -Dr -XL -fU -Hv -hP -Hs -OE -OE -ya -iP -Sv -Sv -Sv -Sv -Sv -Sv -"} -(45,1,1) = {" -Sv -Sv -Sv -Dr -mC -xF -Ok -gc -Hs -OE -iP -Sv -Sv -Sv -Sv -Sv -Sv -Sv -Sv -"} -(46,1,1) = {" -Sv -Sv -Sv -Dr -wD -nK -jj -cK -Hs -iP -Sv -Sv -Sv -Sv -Sv -Sv -Sv -Sv -Sv -"} -(47,1,1) = {" -Sv -Sv -Sv -Dr -Wa -lj -Ve -VV -Hs -Sv -Sv -Sv -Sv -Sv -Sv -Sv -Sv -Sv -Sv -"} -(48,1,1) = {" -Sv -Sv -Sv -Sv -Dr -Wa -Wa -Wa -gf -Sv -Sv -Sv -Sv -Sv -Sv -Sv -Sv -Sv -Sv -"} diff --git a/_maps/shuttles/independent/independent_box.dmm b/_maps/shuttles/independent/independent_box.dmm deleted file mode 100644 index 0e1e4e9439b..00000000000 --- a/_maps/shuttles/independent/independent_box.dmm +++ /dev/null @@ -1,3571 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( -/turf/template_noop, -/area/template_noop) -"ab" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/cargo) -"ad" = ( -/obj/structure/sign/departments/medbay/alt, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) -"ae" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 8; - id = "box_cargo"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-10" - }, -/obj/machinery/door/poddoor{ - id = "emergencybay_blastdoors" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ship/cargo) -"ag" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/medical) -"ah" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"aj" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"ak" = ( -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/poddoor{ - id = "whiteship_windows" - }, -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/cargo) -"al" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/medical) -"am" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/machinery/medical_kiosk, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/sign/poster/retro/smile{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"aq" = ( -/obj/machinery/suit_storage_unit/cmo{ - suit_type = /obj/item/clothing/suit/space/hardsuit/medical - }, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"at" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) -"au" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"az" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"aA" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/bed/roller, -/obj/effect/decal/cleanable/blood, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"aB" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "9-10" - }, -/obj/structure/cable{ - icon_state = "5-10" - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"aC" = ( -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"aE" = ( -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"aF" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/tech/grid, -/area/ship/medical/morgue) -"aI" = ( -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"aM" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/medical, -/obj/item/storage/box/beakers{ - pixel_x = -1; - pixel_y = 3 - }, -/obj/item/shard{ - pixel_x = 8; - pixel_y = -1 - }, -/obj/item/shard{ - pixel_x = -7; - pixel_y = -1 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"aN" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/door/poddoor{ - id = "emergencybay_blastdoors" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ship/cargo) -"aQ" = ( -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"aS" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/engineering) -"aT" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/components/unary/tank/toxins, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/ship/engineering) -"aZ" = ( -/obj/structure/railing{ - dir = 5 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 5 - }, -/obj/structure/flora/bigplant, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"bc" = ( -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"be" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/bridge) -"bf" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "whiteship_bridge" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"bj" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"bk" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/sign/poster/official/bless_this_spess{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"bl" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 10 - }, -/obj/structure/closet/body_bag, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/mob_spawn/human/corpse/assistant, -/turf/open/floor/plasteel/tech/grid, -/area/ship/medical/morgue) -"bm" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"bn" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "engine fuel pump" - }, -/obj/effect/turf_decal/industrial/shutoff{ - dir = 1 - }, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/plating, -/area/ship/engineering) -"bo" = ( -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"bq" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/medical/morgue) -"bs" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"bu" = ( -/obj/structure/table/glass, -/obj/structure/bedsheetbin, -/obj/structure/curtain{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"bw" = ( -/obj/machinery/button/door{ - dir = 8; - id = "boxbathroom"; - name = "Privacy Button"; - normaldoorcontrol = 1; - pixel_x = 26; - pixel_y = 7; - specialfunctions = 4 - }, -/obj/machinery/shower{ - dir = 1; - layer = 3 - }, -/obj/structure/curtain, -/obj/item/soap, -/obj/machinery/door/window/northleft, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/toilet) -"by" = ( -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/atmospherics/pipe/layer_manifold/visible, -/turf/open/floor/plating, -/area/ship/engineering) -"bz" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 10 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/medical) -"bB" = ( -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 6; - pixel_y = -20 - }, -/obj/structure/window/reinforced/spawner/west, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 10 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"bI" = ( -/obj/machinery/door/window/southleft{ - name = "Equipment Storage" - }, -/obj/structure/window/reinforced/spawner/west, -/obj/item/reagent_containers/glass/bottle/formaldehyde{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/storage/box/syringes, -/obj/item/storage/box/bodybags, -/obj/item/reagent_containers/glass/bottle{ - list_reagents = list(/datum/reagent/medicine/rezadone=30); - name = "rezadone bottle"; - pixel_x = -3; - pixel_y = 8 - }, -/obj/item/reagent_containers/glass/bottle{ - list_reagents = list(/datum/reagent/medicine/thializid=30); - name = "thializid bottle" - }, -/obj/structure/closet/secure_closet{ - icon_state = "med"; - name = "medicine locker" - }, -/obj/item/storage/firstaid/regular, -/obj/item/storage/firstaid/toxin, -/obj/item/storage/firstaid/o2, -/obj/item/storage/firstaid/fire, -/obj/item/storage/firstaid/brute, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"bJ" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Operations" - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"bM" = ( -/obj/machinery/atmospherics/components/unary/cryo_cell{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/mono/dark, -/area/ship/medical) -"bN" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/loading/white{ - dir = 8 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/medical) -"bO" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white/corner, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"bP" = ( -/obj/machinery/door/airlock/command{ - dir = 4; - name = "Bridge" - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"bS" = ( -/obj/structure/table/optable, -/obj/effect/decal/cleanable/blood/gibs/down, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/medical) -"bU" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"bW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"bZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"ca" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/holopad/emergency/command, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"cc" = ( -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/visible, -/turf/open/floor/plating, -/area/ship/engineering) -"cd" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 9 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/medical) -"ce" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"ch" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"ck" = ( -/obj/effect/turf_decal/trimline/opaque/blue/warning, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"cn" = ( -/obj/structure/chair/comfy/shuttle{ - desc = "STOP! YOU'RE GOING TO TEST THIS SHIP RIGHT INTO AN ICEBERG!"; - dir = 4; - name = "Helmsman" - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"cr" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/atmospherics/components/unary/portables_connector/layer2, -/obj/structure/cable{ - icon_state = "6-8" - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plating, -/area/ship/engineering) -"cu" = ( -/obj/effect/turf_decal/spline/fancy/opaque/blue, -/obj/structure/sink{ - dir = 4; - pixel_x = -12 - }, -/obj/structure/mirror{ - pixel_x = -24 - }, -/obj/structure/toilet{ - pixel_y = 13 - }, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 22 - }, -/obj/machinery/light/small/directional/north{ - pixel_x = -10 - }, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/toilet) -"cB" = ( -/turf/open/floor/plasteel/mono/dark, -/area/ship/medical) -"cC" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 4; - id = "box_cargo"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-6" - }, -/obj/machinery/door/poddoor{ - id = "emergencybay_blastdoors" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ship/cargo) -"cD" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/structure/flora/bigplant, -/obj/effect/turf_decal/trimline/opaque/white/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"cE" = ( -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock{ - pixel_x = "chemistry" - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/toilet) -"cF" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/toilet) -"cG" = ( -/obj/effect/spawner/lootdrop/maintenance/three, -/obj/structure/closet/emcloset/anchored, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "box_engine1"; - name = "Egnine shutter"; - pixel_y = 28 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"cJ" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/sign/warning/explosives{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/garbage, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner, -/turf/open/floor/plating, -/area/ship/engineering) -"cK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/table/chem, -/obj/machinery/light/broken/directional/south, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/item/reagent_containers/glass/filter{ - pixel_x = -8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/toilet) -"cO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/oil/slippery, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/item/cigbutt/roach, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"cP" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light_switch{ - pixel_x = 19; - pixel_y = 12; - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ - dir = 5 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"cQ" = ( -/obj/machinery/smartfridge/chemistry/preloaded, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/toilet) -"cT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/flora/bigplant{ - pixel_x = -16 - }, -/turf/open/floor/wood, -/area/ship/crew) -"cU" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ship/crew) -"cV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ship/crew) -"cW" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"cY" = ( -/obj/structure/sign/departments/medbay/alt, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew) -"cZ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"da" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/item/cigbutt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen/corner, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"dc" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/crew) -"de" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/ship/crew) -"df" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/ship/crew) -"dg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/chair/stool{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/wood, -/area/ship/crew) -"dh" = ( -/turf/open/floor/wood, -/area/ship/crew) -"di" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew) -"dj" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"dm" = ( -/obj/structure/table/glass, -/obj/item/paper_bin, -/obj/item/pen/blue, -/obj/item/clothing/neck/stethoscope, -/obj/structure/window/reinforced/spawner/north, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"do" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/bed/dogbed/runtime{ - name = "Proc's bed" - }, -/mob/living/simple_animal/pet/cat/Proc, -/turf/open/floor/wood, -/area/ship/crew) -"dp" = ( -/obj/structure/curtain/bounty, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/bed/pod, -/obj/item/bedsheet/dorms, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"dr" = ( -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"ds" = ( -/obj/machinery/suit_storage_unit/cmo, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"dt" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "6-9" - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"dz" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"dR" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - dir = 4; - id = "whiteship_bridge" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"dS" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/weldingtool/largetank, -/obj/structure/sign/warning/chemdiamond{ - pixel_y = 32 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/ship/engineering) -"ei" = ( -/obj/machinery/cryopod, -/obj/effect/turf_decal/box/white, -/obj/machinery/computer/cryopod/retro/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"eH" = ( -/obj/structure/closet/crate/freezer/blood, -/obj/machinery/iv_drip, -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/structure/sign/poster/official/here_for_your_safety{ - pixel_y = -32 - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"eR" = ( -/obj/machinery/door/window/westright, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"fG" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"fJ" = ( -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"fN" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/airlock/medical/glass{ - dir = 4; - name = "Medbay" - }, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"gi" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"gB" = ( -/obj/machinery/light/small/built/directional/east, -/obj/structure/rack, -/obj/item/roller{ - pixel_y = 4 - }, -/obj/item/roller{ - pixel_y = 8 - }, -/obj/item/roller{ - pixel_y = 12 - }, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 5 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"gC" = ( -/obj/structure/bodycontainer/morgue{ - dir = 2 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/light/small/built/directional/north, -/turf/open/floor/pod/dark, -/area/ship/medical/morgue) -"gD" = ( -/obj/structure/closet/secure_closet/CMO, -/obj/structure/sign/poster/official/help_others{ - pixel_x = -32 - }, -/obj/effect/spawner/lootdrop/tool_surgery_adv, -/obj/item/megaphone/command, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"gE" = ( -/obj/effect/turf_decal/siding/white, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"gM" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/firecloset/wall/directional/west, -/obj/item/storage/firstaid/fire, -/obj/item/extinguisher/mini, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"hc" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/door/window/eastleft, -/obj/machinery/door/poddoor{ - dir = 4; - id = "box_engine2" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/item/reagent_containers/food/snacks/egg{ - name = "egnine"; - layer = 2.89 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"hi" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"hQ" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "whiteship_windows" - }, -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/medical) -"hS" = ( -/obj/item/clothing/head/beret/chem, -/obj/item/clothing/suit/longcoat/chemist, -/obj/item/reagent_containers/dropper, -/obj/item/storage/box/pillbottles, -/obj/structure/closet/wall/white/chem{ - pixel_y = 32 - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"iv" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood/tracks, -/obj/machinery/door/poddoor{ - id = "emergencybay_blastdoors" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ship/cargo) -"iI" = ( -/obj/structure/rack, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/storage/box/lights/bulbs, -/obj/item/circuitboard/machine/ore_redemption, -/obj/item/pickaxe/emergency, -/obj/item/storage/box/lights/mixed, -/obj/item/stack/sheet/mineral/plasma/twenty, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/cell_charger, -/turf/open/floor/plating, -/area/ship/engineering) -"iU" = ( -/obj/structure/closet/secure_closet/medical2, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"iV" = ( -/obj/docking_port/mobile{ - dir = 8; - launch_status = 0; - name = "Hospital Ship"; - preferred_direction = 4 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) -"ja" = ( -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = 32 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/frame/machine, -/obj/item/stack/cable_coil/cyan{ - amount = 5 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/toilet) -"jk" = ( -/obj/machinery/firealarm/directional/south, -/obj/machinery/stasis{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"jr" = ( -/obj/machinery/smartfridge/bloodbank/preloaded, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) -"jG" = ( -/obj/machinery/vending/medical, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"jI" = ( -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"jR" = ( -/obj/machinery/light/built/directional/south, -/obj/machinery/defibrillator_mount/charging{ - pixel_y = -32 - }, -/obj/structure/rack, -/obj/item/defibrillator/loaded, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"jV" = ( -/obj/effect/turf_decal/siding/blue, -/obj/item/radio/intercom/wideband/directional/west, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"kQ" = ( -/obj/docking_port/stationary{ - width = 15; - height = 15 - }, -/turf/template_noop, -/area/template_noop) -"kZ" = ( -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/effect/turf_decal/trimline/opaque/white/filled/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"lp" = ( -/obj/structure/closet/secure_closet{ - icon_state = "med"; - name = "equipment locker" - }, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/item/reagent_containers/spray/cleaner, -/obj/item/storage/belt/medical, -/obj/item/storage/belt/medical, -/obj/item/clothing/glasses/hud/health/prescription, -/obj/item/clothing/glasses/hud/health/prescription, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/hud/health, -/obj/item/storage/belt/medical/webbing, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"lI" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"lM" = ( -/obj/machinery/door/airlock/external{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/structure/sign/warning/vacuum/external{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"lQ" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/structure/table/glass, -/obj/item/clothing/neck/stethoscope{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"mx" = ( -/obj/item/bedsheet/dorms, -/obj/structure/curtain/bounty, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/sign/poster/random{ - pixel_x = 32 - }, -/obj/structure/bed/pod, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"my" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood/tracks, -/obj/structure/cable{ - icon_state = "5-10" - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"mE" = ( -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 7 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/table, -/turf/open/floor/plasteel/tech/grid, -/area/ship/medical) -"nA" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/ration{ - pixel_y = 3 - }, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 21 - }, -/turf/open/floor/wood, -/area/ship/crew) -"nQ" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew) -"og" = ( -/obj/machinery/stasis, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"ot" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering) -"ql" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/stand_clear, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"qx" = ( -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/poddoor{ - dir = 4; - id = "whiteship_windows" - }, -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/cargo) -"qD" = ( -/obj/structure/catwalk/over, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "5-9" - }, -/obj/structure/sign/warning/electricshock{ - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"qX" = ( -/turf/open/floor/plasteel/white, -/area/ship/medical) -"ri" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/iv_drip/saline, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/ship/engineering) -"ro" = ( -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"sl" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/button/door{ - dir = 4; - id = "emergencybay_blastdoors"; - name = "Emergency Bay Blastdoors"; - pixel_x = -25; - pixel_y = 37 - }, -/obj/machinery/button/shieldwallgen{ - dir = 4; - id = "box_cargo"; - pixel_x = -25; - pixel_y = 24 - }, -/obj/structure/closet/emcloset/wall/directional/west, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"ss" = ( -/obj/machinery/door/window/northleft, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/toilet) -"su" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/computer/operating/retro, -/turf/open/floor/plasteel/tech/grid, -/area/ship/medical) -"sz" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/bookcase/manuals/medical, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/ship/crew) -"tn" = ( -/obj/machinery/vending/wardrobe/medi_wardrobe, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"tw" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"tz" = ( -/obj/structure/catwalk/over, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable/yellow{ - icon_state = "2-5" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"tD" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew) -"tE" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/corner, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"tT" = ( -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"uj" = ( -/obj/machinery/light/small/built/directional/west, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - pixel_x = -13; - pixel_y = 21 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"ux" = ( -/obj/machinery/light/small/built/directional/west, -/obj/machinery/button/door{ - dir = 1; - id = "whiteship_windows"; - name = "Windows Blast Door Control"; - pixel_x = -7; - pixel_y = -22 - }, -/obj/machinery/button/door{ - dir = 1; - id = "whiteship_bridge"; - name = "Bridge Blast Door Control"; - pixel_x = 5; - pixel_y = -22 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/button/door{ - dir = 1; - id = "emergencybay_blastdoors"; - name = "Emergency Bay Blastdoors"; - pixel_x = 5; - pixel_y = -33 - }, -/obj/machinery/button/shieldwallgen{ - dir = 1; - id = "box_cargo"; - pixel_x = -5; - pixel_y = -31 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/bridge) -"uD" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) -"uJ" = ( -/obj/machinery/autolathe, -/obj/item/paicard, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"vj" = ( -/obj/machinery/door/airlock/engineering{ - dir = 4; - name = "Engineering" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plasteel/dark, -/area/ship/medical/morgue) -"vk" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"vl" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"vo" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 11; - pixel_y = -16 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/medical/morgue) -"vq" = ( -/obj/machinery/door/poddoor{ - id = "whiteship_windows" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/crew) -"vs" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/light/small/built/directional/south, -/obj/structure/sign/warning/biohazard{ - pixel_x = -32; - pixel_y = 4 - }, -/obj/structure/bodycontainer/morgue{ - dir = 1 - }, -/turf/open/floor/pod/dark, -/area/ship/medical/morgue) -"vx" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/machinery/computer/cargo/express{ - dir = 1 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"vE" = ( -/obj/structure/dresser, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel, -/area/ship/crew) -"vX" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - dir = 4; - id = "whiteship_windows" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/crew) -"vY" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - dir = 1; - id = "whiteship_bridge" - }, -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/bridge) -"wb" = ( -/obj/machinery/power/port_gen/pacman{ - anchored = 1 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/wrench, -/obj/structure/cable/yellow, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plating, -/area/ship/engineering) -"wd" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"wh" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering) -"wj" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/obj/machinery/door/window/northright{ - dir = 4; - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "box_engine3" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"wG" = ( -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/poddoor{ - id = "whiteship_windows" - }, -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/medical) -"wY" = ( -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/item/assembly/flash/handheld{ - pixel_x = -9 - }, -/obj/item/melee/classic_baton/telescopic{ - pixel_x = 8 - }, -/obj/structure/table/reinforced, -/obj/item/stock_parts/cell/gun/mini{ - pixel_x = 10; - pixel_y = 6 - }, -/obj/item/stock_parts/cell/gun/mini{ - pixel_x = 10; - pixel_y = 3 - }, -/obj/item/stock_parts/cell/gun/mini{ - pixel_x = 10 - }, -/obj/machinery/recharger, -/obj/item/gun/energy/e_gun/mini{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Cockpit"; - pixel_y = 30 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"xk" = ( -/obj/effect/turf_decal/siding/blue/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"xz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/stairs, -/area/ship/medical) -"xA" = ( -/obj/machinery/holopad/emergency/medical, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/landmark/observer_start, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"xP" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"yA" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ - dir = 8; - layer = 2.35 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/advanced_airlock_controller{ - pixel_y = -20 - }, -/obj/effect/turf_decal/arrows, -/turf/open/floor/plating, -/area/ship/engineering) -"yI" = ( -/obj/structure/closet/emcloset/anchored, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/button/door{ - dir = 1; - id = "box_engine3"; - name = "Egnine shutter"; - pixel_y = -28 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"yN" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 4 - }, -/obj/structure/closet/crate/bin, -/obj/item/circuitboard/machine/chem_master, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/stack/sheet/glass/two, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/item/trash/can/food/beans, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"yU" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"zl" = ( -/obj/structure/closet/crate/freezer/surplus_limbs, -/obj/item/reagent_containers/glass/beaker/synthflesh, -/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal, -/obj/structure/sign/poster/official/random{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"zy" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Ag" = ( -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/machinery/firealarm/directional/west, -/obj/machinery/sleeper{ - dir = 4 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -21; - pixel_y = -10 - }, -/obj/item/radio/intercom/directional/west{ - pixel_x = -41; - pixel_y = -3 - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"AH" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ - dir = 8; - layer = 2.35 - }, -/obj/machinery/advanced_airlock_controller{ - pixel_y = 24 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"AL" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/airlock/medical/glass{ - dir = 4; - name = "Medbay" - }, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"Bh" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"By" = ( -/obj/machinery/light/built/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"BR" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/airlock/grunge{ - dir = 4; - name = "Morgue" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"BV" = ( -/obj/structure/closet/crate/medical, -/obj/item/vending_refill/medical, -/obj/item/screwdriver, -/obj/machinery/airalarm/directional/south, -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"Cn" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/machinery/computer/crew/retro{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"CH" = ( -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/structure/closet/secure_closet/medical3{ - anchored = 1 - }, -/obj/item/clothing/accessory/armband/medblue, -/obj/item/clothing/accessory/armband/medblue, -/obj/item/clothing/accessory/armband/med, -/obj/item/clothing/accessory/armband/med, -/obj/item/clothing/accessory/pocketprotector, -/obj/item/clothing/accessory/pocketprotector, -/obj/item/clothing/accessory/pocketprotector, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"CR" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/visible{ - dir = 8 - }, -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/storage/bag/trash{ - pixel_x = 6 - }, -/obj/item/reagent_containers/glass/bucket, -/obj/item/mop, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ship/engineering) -"Dm" = ( -/obj/structure/catwalk/over, -/obj/item/cigbutt/roach, -/obj/item/reagent_containers/food/snacks/burrito, -/turf/open/floor/plating/airless, -/area/ship/external) -"Dr" = ( -/obj/machinery/door/airlock{ - name = "Crew Quarters" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"DP" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 6 - }, -/obj/machinery/light/small/broken/directional/north, -/turf/open/floor/plating, -/area/ship/engineering) -"ED" = ( -/obj/machinery/iv_drip, -/obj/machinery/smartfridge/organ{ - density = 0; - pixel_y = -32 - }, -/obj/item/light/tube/broken, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"ER" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew) -"Ff" = ( -/obj/machinery/suit_storage_unit/cmo{ - suit_type = /obj/item/clothing/suit/space/hardsuit/medical - }, -/obj/effect/turf_decal/box/corners, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"FA" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"FH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"FL" = ( -/obj/machinery/firealarm/directional/south, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/meter/atmos/layer2, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 4 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 10; - pixel_y = -19 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Gb" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/item/wallframe/firealarm, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Gi" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/sign/warning/vacuum/external{ - pixel_y = -32 - }, -/obj/machinery/door/airlock/external{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Gs" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/obj/machinery/door/window/northleft{ - dir = 4; - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "box_engine1" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"HM" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-10" - }, -/obj/effect/spawner/lootdrop/maintenance/three, -/obj/structure/rack, -/obj/item/areaeditor/shuttle, -/obj/item/flashlight{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 4 - }, -/obj/item/bot_assembly/hygienebot, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plating, -/area/ship/engineering) -"Ic" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/beaker/cryoxadone{ - pixel_x = 7; - pixel_y = 1 - }, -/obj/item/wrench/medical, -/obj/item/reagent_containers/glass/beaker/cryoxadone{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high{ - pixel_x = -8; - pixel_y = -8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel/mono/dark, -/area/ship/medical) -"In" = ( -/obj/machinery/power/smes/engineering{ - charge = 1e+006 - }, -/obj/structure/cable{ - icon_state = "0-10" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Ja" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - id = "whiteship_bridge" - }, -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/bridge) -"Jq" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/line, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Jy" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/toilet) -"JI" = ( -/obj/structure/chair/office/light{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew) -"KE" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/catwalk/over, -/obj/machinery/button/door{ - dir = 4; - id = "box_engine2"; - name = "Engine shutter"; - pixel_x = -25; - pixel_y = 37 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"KI" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "whiteship_windows" - }, -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/engineering) -"Lf" = ( -/obj/structure/table, -/obj/machinery/microwave, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood, -/area/ship/crew) -"Ln" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plating, -/area/ship/engineering) -"LG" = ( -/obj/structure/table/glass, -/obj/machinery/computer/med_data/laptop{ - density = 0; - pixel_x = 3 - }, -/obj/machinery/door/window/northleft, -/obj/item/phone{ - pixel_x = -14 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"LV" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/structure/sign/departments/restroom{ - pixel_x = -32 - }, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/structure/table/chem, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/toilet) -"Mi" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/medical/morgue) -"MR" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/obj/machinery/power/ship_gravity, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"NK" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/window/reinforced/spawner/west, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 9 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"NT" = ( -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/structure/table/chem, -/obj/machinery/reagentgrinder{ - pixel_y = 14 - }, -/obj/structure/sign/poster/official/moth/meth{ - pixel_y = -32 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/toilet) -"OF" = ( -/obj/machinery/fax/indie, -/obj/structure/table/reinforced, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"OS" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock{ - pixel_x = "chemistry"; - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/toilet) -"Ps" = ( -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/item/chair/plastic, -/turf/open/floor/plating/airless, -/area/ship/external) -"Qh" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 12; - pixel_y = -17 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"QD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"QM" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 4 - }, -/obj/machinery/light/small/built/directional/west, -/turf/open/floor/plasteel/mono/dark, -/area/ship/medical) -"Rx" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "whiteship_windows" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/crew) -"RR" = ( -/obj/structure/filingcabinet/medical, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"RS" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/structure/table/reinforced, -/obj/item/radio/intercom/wideband/table{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Sg" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/item/kirbyplants/random{ - pixel_x = -16; - pixel_y = 14 - }, -/obj/item/stock_parts/manipulator, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"Sx" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/scrubber, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plating, -/area/ship/engineering) -"SJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood, -/area/ship/crew) -"Tr" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - dir = 4; - id = "whiteship_bridge" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"Tv" = ( -/obj/structure/sign/departments/engineering, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/medical/morgue) -"UA" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/ship/engineering) -"UN" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay" - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"UP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood, -/area/ship/crew) -"Vp" = ( -/obj/machinery/iv_drip, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"VC" = ( -/obj/structure/sign/poster/official/safety_internals{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"VQ" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/mono/dark, -/area/ship/medical) -"Wd" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/machinery/computer/helm/retro{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"WB" = ( -/obj/structure/table/glass, -/obj/item/folder/blue, -/obj/item/folder/white{ - pixel_x = -7 - }, -/obj/item/pen{ - pixel_x = 4 - }, -/obj/item/clothing/glasses/hud/health/sunglasses, -/obj/structure/window/reinforced/spawner/north, -/obj/structure/window/reinforced/spawner/east, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"WI" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "whiteship_bridge" - }, -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/bridge) -"WW" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/ship/engineering) -"XD" = ( -/obj/machinery/door/airlock{ - dir = 4; - name = "Restroom"; - id_tag = "boxbathroom" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/toilet) -"XN" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central6, -/turf/open/floor/plasteel/tech/grid, -/area/ship/medical/morgue) -"XY" = ( -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/cargo) -"Yd" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/crew) -"Ye" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Yg" = ( -/obj/machinery/light/small/built/directional/east, -/obj/structure/rack, -/obj/item/storage/toolbox/emergency, -/obj/item/gps{ - gpstag = "NTREC1"; - pixel_x = -9; - pixel_y = 4 - }, -/obj/item/gps{ - gpstag = "NTREC1"; - pixel_x = -9; - pixel_y = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 6 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/obj/structure/sign/poster/random{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"Yj" = ( -/obj/machinery/door/window/eastleft, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew) -"Yz" = ( -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"Zq" = ( -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"ZN" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/light/small/directional/east, -/obj/structure/salvageable/machine, -/turf/open/floor/plating, -/area/ship/engineering) - -(1,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -vk -at -aa -iV -vk -aa -aa -aa -aa -aa -aa -"} -(2,1,1) = {" -aa -aa -aa -aa -aa -aa -aS -Gs -at -aa -at -wj -aS -aa -aa -aa -aa -aa -"} -(3,1,1) = {" -aa -aa -aa -aa -aa -aa -at -cG -at -Dm -at -yI -at -aa -aa -aa -aa -aa -"} -(4,1,1) = {" -aa -aa -aa -aa -aa -aa -at -DP -by -Ps -cc -UA -at -aa -aa -aa -aa -aa -"} -(5,1,1) = {" -aa -aa -aa -aa -aa -aa -at -AH -at -bo -at -yA -at -aa -aa -aa -aa -aa -"} -(6,1,1) = {" -aa -aa -aa -aa -aa -aS -at -Gi -at -aa -at -lM -at -aS -aa -aa -aa -aa -"} -(7,1,1) = {" -aa -aa -aa -aa -aa -at -dS -bk -at -tw -at -ot -WW -at -aa -aa -aa -aa -"} -(8,1,1) = {" -aa -aa -aa -aa -aa -at -Sx -vl -at -hc -at -wh -CR -at -aa -aa -aa -aa -"} -(9,1,1) = {" -aa -aa -aa -aa -aS -at -cJ -bm -fG -KE -Gb -bj -FL -at -aS -aa -aa -aa -"} -(10,1,1) = {" -aa -aa -aa -aa -at -aT -Ln -bn -ZN -MR -iI -cr -tz -wb -at -aa -aa -aa -"} -(11,1,1) = {" -aa -aa -aa -aa -bq -Tv -vj -bq -bq -KI -at -HM -qD -ri -at -aa -aa -aa -"} -(12,1,1) = {" -aa -aa -aa -Mi -bq -XN -bl -vs -bq -aa -at -In -cF -cF -cF -Jy -aa -aa -"} -(13,1,1) = {" -aa -aa -aa -bq -gC -aF -vo -bq -bq -hQ -al -al -cF -cu -bw -cF -aa -aa -"} -(14,1,1) = {" -aa -aa -ag -al -al -al -BR -al -QM -bM -VQ -Ic -cF -XD -ss -cF -Jy -aa -"} -(15,1,1) = {" -aa -aa -al -lQ -gM -Ag -zy -jV -bz -bN -cd -cB -cF -hS -LV -NT -cF -aa -"} -(16,1,1) = {" -aa -aa -wG -Sg -au -aI -aZ -xk -bO -hi -wd -ce -cE -cO -cZ -cK -cF -aa -"} -(17,1,1) = {" -aa -aa -al -am -FA -bU -xz -qX -gE -xA -tE -gi -cQ -cP -da -ja -cF -aa -"} -(18,1,1) = {" -aa -ad -uD -uD -AL -fN -jr -yN -dr -Bh -tT -jk -cF -cF -OS -cF -cF -cY -"} -(19,1,1) = {" -aa -cC -aj -sl -QD -VC -uD -iU -lI -su -xP -ED -tD -RR -Yd -dm -gD -Rx -"} -(20,1,1) = {" -aa -aN -dt -ah -Yz -BV -uD -lp -lI -bS -ch -jR -tD -OF -dc -LG -JI -Rx -"} -(21,1,1) = {" -kQ -aN -ql -aB -az -aM -XY -bu -lI -mE -xP -Vp -tD -cT -de -WB -Yj -vq -"} -(22,1,1) = {" -aa -iv -my -aA -dz -Qh -uD -bI -Ye -bs -Jq -og -tD -Lf -df -UP -ER -Rx -"} -(23,1,1) = {" -aa -ae -aj -yU -FH -By -uD -al -NK -eR -bB -al -tD -nA -dg -do -ds -Rx -"} -(24,1,1) = {" -aa -ad -uD -cD -aC -ro -kZ -UN -Zq -bW -ck -Dr -SJ -cU -dh -sz -tD -cY -"} -(25,1,1) = {" -aa -aa -ak -aq -bc -jI -zl -al -gB -fJ -Yg -al -vE -cV -di -dp -Rx -aa -"} -(26,1,1) = {" -aa -aa -ak -Ff -aE -aQ -eH -be -be -bP -be -be -tn -cW -dj -mx -Rx -aa -"} -(27,1,1) = {" -aa -aa -ab -uD -uJ -jG -be -be -uj -bZ -ux -be -be -ei -CH -tD -nQ -aa -"} -(28,1,1) = {" -aa -aa -aa -ab -qx -ad -be -wY -bJ -ca -cn -vx -be -cY -vX -nQ -aa -aa -"} -(29,1,1) = {" -aa -aa -aa -aa -aa -aa -bf -Tr -Cn -RS -Wd -dR -bf -aa -aa -aa -aa -aa -"} -(30,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -vY -WI -WI -WI -Ja -aa -aa -aa -aa -aa -aa -"} diff --git a/_maps/shuttles/independent/independent_bubble.dmm b/_maps/shuttles/independent/independent_bubble.dmm index c34ad834998..298a919bbaa 100644 --- a/_maps/shuttles/independent/independent_bubble.dmm +++ b/_maps/shuttles/independent/independent_bubble.dmm @@ -248,7 +248,7 @@ /turf/open/floor/plasteel/mono, /area/ship/hallway/central) "jr" = ( -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/bed, /obj/structure/curtain/bounty, /obj/effect/turf_decal/siding/wood{ @@ -905,7 +905,7 @@ /turf/open/floor/plating, /area/ship/engineering) "LK" = ( -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/bed, /obj/structure/curtain/bounty, /obj/effect/turf_decal/siding/wood{ @@ -1164,7 +1164,7 @@ }, /obj/item/circuitboard/computer/selling_pad_control, /obj/item/circuitboard/machine/selling_pad, -/obj/item/circuitboard/computer/cargo/express, +/obj/item/circuitboard/computer/cargo, /obj/structure/closet/crate/engineering, /turf/open/floor/plasteel, /area/ship/cargo) @@ -1228,7 +1228,7 @@ /turf/open/floor/plasteel, /area/ship/engineering) "Yi" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/structure/closet/firecloset/full, /turf/open/floor/plating, /area/ship/maintenance/port) diff --git a/_maps/shuttles/independent/independent_dwayne.dmm b/_maps/shuttles/independent/independent_dwayne.dmm index ef1435cb155..ec06680151f 100644 --- a/_maps/shuttles/independent/independent_dwayne.dmm +++ b/_maps/shuttles/independent/independent_dwayne.dmm @@ -1,31 +1,51 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "ak" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 }, -/obj/effect/landmark/start/captain, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"ap" = ( -/obj/machinery/airalarm/directional/east, -/obj/machinery/sleeper{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/cable/cyan{ + icon_state = "5-8" + }, +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/cyan{ + icon_state = "0-8" }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/mono, -/area/ship/medical) +/obj/effect/turf_decal/corner/opaque/black{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "as" = ( -/obj/structure/cable{ - icon_state = "2-4" +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/cyan{ + icon_state = "6-8" }, -/obj/effect/turf_decal/techfloor{ - dir = 9 +/obj/structure/cable/cyan{ + icon_state = "1-6" }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"ax" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) "aD" = ( /obj/machinery/power/shuttle/engine/electric{ dir = 4 @@ -36,18 +56,33 @@ /turf/open/floor/plating/airless, /area/ship/engineering) "aI" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "aR" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/suit_storage_unit/independent/mining/eva, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -10 + }, +/obj/machinery/modular_computer/console/preset/command{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) "aS" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/layer2{ +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/layer2{ dir = 1 }, /obj/machinery/advanced_airlock_controller{ @@ -58,2186 +93,3357 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) -"aY" = ( +"aV" = ( /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/structure/table/wood, -/obj/effect/spawner/lootdrop/ration, -/obj/item/storage/cans/sixbeer, -/turf/open/floor/wood, -/area/ship/crew) -"bb" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"aY" = ( +/obj/structure/sink/kitchen{ + dir = 4; + pixel_y = -6 }, -/obj/structure/window/reinforced{ - dir = 8 +/obj/structure/sign/poster/official/bless_this_spess{ + pixel_x = -32 }, -/obj/machinery/door/window/northright{ - dir = 4; - name = "Engine Access" +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"bb" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "0-8" +/obj/item/stack/packageWrap{ + pixel_y = 2; + pixel_x = -7 }, -/turf/open/floor/plating, -/area/ship/engineering) +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "bf" = ( -/obj/effect/turf_decal/number/zero, +/obj/effect/turf_decal/corner/opaque/yellow/half, /obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plating, -/area/ship/construction) +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "bj" = ( -/turf/closed/wall, -/area/ship/crew) +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/toilet) "bl" = ( -/obj/docking_port/mobile{ - can_move_docking_ports = 1; - dir = 2; - launch_status = 0; - name = "mining ship"; - port_direction = 8; - preferred_direction = 4 - }, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 8; - id = "mining_ship_atmosgen"; - locked = 1 - }, -/obj/machinery/door/poddoor{ - id = "mining_ship_port" +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/office{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "0-8" +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"bo" = ( +/obj/structure/cable/cyan{ + icon_state = "2-9" }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "bv" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 +/obj/structure/cable/cyan{ + icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ +/obj/structure/cable/cyan{ icon_state = "1-8" }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, -/area/ship/crew) +/area/ship/hallway/central) +"bx" = ( +/obj/structure/chair/sofa/brown/old/left/directional/south, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/airalarm/directional/east, +/obj/machinery/newscaster/directional/north{ + pixel_x = -13 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) "bE" = ( -/obj/machinery/cryopod{ +/obj/machinery/door/airlock/public, +/obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/machinery/computer/cryopod/directional/south, -/turf/open/floor/wood, -/area/ship/crew) +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/toilet) +"bO" = ( +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "bP" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/power/terminal{ + dir = 8 }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/components/trinary/mixer{ +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/turf/open/floor/plating, +/obj/item/cigbutt, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "bW" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, /obj/structure/cable/yellow{ - icon_state = "2-8" + icon_state = "0-8" }, /turf/open/floor/plating/airless, -/area/ship/external) +/area/ship/external/dark) +"cc" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "cf" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, -/obj/structure/curtain/bounty, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood, -/area/ship/crew) +/obj/structure/sign/poster/rilena/random{ + pixel_x = -32 + }, +/obj/structure/closet/secure_closet{ + icon_state = "cabinet"; + name = "Captain's wardobe"; + req_access_txt = "20"; + close_sound = 'sound/machines/wooden_closet_close.ogg'; + open_sound = 'sound/machines/wooden_closet_open.ogg'; + desc = "It's a card-locked cabinet." + }, +/obj/item/storage/backpack/satchel/cap, +/obj/item/storage/backpack/messenger/com, +/obj/item/clothing/under/rank/command/captain, +/obj/item/clothing/under/rank/command/captain/skirt, +/obj/item/clothing/shoes/cowboy/fancy, +/obj/item/clothing/suit/jacket/leather/duster/command, +/obj/item/clothing/suit/armor/vest/capcarapace/duster, +/obj/item/clothing/gloves/color/white, +/obj/item/clothing/head/caphat, +/obj/item/clothing/head/caphat/cowboy, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 11; + pixel_y = -19 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/ship/crew/dorm) +"cw" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 4 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating/airless, +/area/ship/bridge) +"cL" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 + }, +/obj/structure/closet/crate, +/obj/machinery/firealarm/directional/north, +/obj/item/circuitboard/machine/pipedispenser, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"dh" = ( +/obj/structure/sign/number/random{ + color = "Black"; + pixel_y = -7 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/canteen) "dx" = ( -/obj/machinery/light/directional/south, -/obj/structure/ore_box, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/turf/open/floor/plating, -/area/ship/cargo) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/ammo/c38, +/obj/item/storage/box/ammo/c38, +/obj/item/storage/box/ammo/c38, +/obj/structure/closet/crate/secure/plasma{ + name = "ammo crate"; + desc = "A secure ammo crate." + }, +/obj/effect/turf_decal/ntspaceworks_big/two{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "dy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/cyan{ icon_state = "1-2" }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"dK" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/obj/machinery/door/airlock/medical, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"dK" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"dQ" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/cryo) +"ei" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 2 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating/airless, +/area/ship/crew/cryo) +"eu" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"ei" = ( -/turf/closed/wall/r_wall, -/area/ship/medical) +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "eH" = ( -/obj/effect/landmark/start/shaft_miner, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/industrial/loading, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/arrows, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/eva) "eM" = ( -/turf/closed/wall, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/cargo) "fl" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 8 +/obj/machinery/atmospherics/components/trinary/mixer{ + dir = 1; + name = "fuel mixer"; + node1_concentration = 0.33; + node2_concentration = 0.67; + target_pressure = 500 }, -/obj/effect/decal/cleanable/dirt/dust, +/obj/item/paper/guides/jobs/engi/combustion_thruster, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "fp" = ( -/obj/docking_port/stationary{ - width = 30; - height = 15; - dwidth = 15 - }, -/turf/template_noop, -/area/template_noop) -"fy" = ( -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast"; - dir = 4 - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ship/engineering) -"fV" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast"; - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/medical) -"fY" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering) -"gf" = ( -/obj/structure/cable/yellow{ +/obj/structure/cable/cyan{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"fy" = ( +/obj/item/clothing/head/cone{ + pixel_x = 3; + pixel_y = -2 }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"fz" = ( /obj/structure/cable/yellow{ - icon_state = "2-8" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 +/obj/structure/sign/poster/contraband/cardinal_port_starboard{ + pixel_y = 32 }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/power/ship_gravity, -/obj/structure/cable/yellow{ - icon_state = "0-2" +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"fV" = ( +/obj/structure/closet/cabinet{ + name = "wardrobe" }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/cyan{ + icon_state = "0-6" + }, +/obj/item/storage/backpack/satchel/explorer, +/obj/item/storage/backpack/satchel/explorer, +/obj/item/storage/backpack/satchel/explorer, +/obj/item/clothing/under/utility, +/obj/item/clothing/under/utility, +/obj/item/clothing/under/utility/skirt, +/obj/item/clothing/under/utility/skirt, +/obj/item/clothing/shoes/workboots/mining, +/obj/item/clothing/shoes/workboots/mining, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/suit/jacket/leather/duster, +/obj/item/clothing/suit/jacket/leather/duster, +/obj/item/clothing/gloves/fingerless, +/obj/item/clothing/gloves/fingerless, +/obj/item/clothing/head/cowboy, +/obj/item/clothing/head/cowboy, +/obj/item/clothing/glasses/heat, +/obj/item/clothing/glasses/heat, +/turf/open/floor/wood, +/area/ship/crew/dorm) +"fY" = ( +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/insectguts, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"gf" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ship/engineering) "gm" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, +/obj/machinery/door/window/northright{ + dir = 4; + name = "Engine Access" }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/tech/grid, +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_engines"; + dir = 4 + }, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/turf/open/floor/plating, /area/ship/engineering) "gs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 + dir = 6 }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"gu" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/closet/firecloset/full{ - anchored = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/cyan{ + icon_state = "2-9" }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"gu" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/cargo) "gF" = ( -/obj/machinery/power/shuttle/engine/fire{ - dir = 4 - }, +/obj/machinery/power/shuttle/engine/fire, /turf/open/floor/plating/airless, /area/ship/engineering) "gT" = ( +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 13 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 + dir = 5 }, -/obj/structure/closet/wall/directional/north, -/obj/item/clothing/shoes/cowboy, -/obj/item/clothing/shoes/cowboy, -/obj/item/clothing/shoes/cowboy, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/suit/toggle/hazard, -/obj/item/clothing/suit/toggle/hazard, -/obj/item/clothing/suit/toggle/hazard, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility/skirt, -/obj/item/clothing/under/utility/skirt, -/obj/item/clothing/under/utility/skirt, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"he" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" +/obj/structure/cable/cyan{ + icon_state = "0-1" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/toilet) +"hd" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 2 }, +/obj/structure/grille, /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/catwalk/over, +/obj/structure/window/reinforced/fulltile/shuttle, /turf/open/floor/plating, +/area/ship/crew/canteen) +"he" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "hy" = ( -/obj/structure/cable/yellow, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/structure/cable/yellow{ - icon_state = "0-2" +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/obj/machinery/power/solar, -/obj/effect/turf_decal/solarpanel, -/turf/open/floor/plating/airless, -/area/ship/external) -"hK" = ( -/obj/structure/window/reinforced{ +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"hB" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, -/obj/machinery/door/window/northleft{ - dir = 4; - name = "Engine Access" +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"hK" = ( +/obj/structure/sign/poster/contraband/gec{ + pixel_x = 32 }, -/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ - dir = 4 +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 8; + name = "connector port (Fuel)" }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) -"hZ" = ( -/obj/structure/cable{ - icon_state = "2-8" +"hO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 }, -/obj/item/radio/intercom/directional/east, -/obj/machinery/atmospherics/components/unary/portables_connector{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/machinery/portable_atmospherics/canister/hydrogen, -/turf/open/floor/plating, +/obj/structure/cable/cyan{ + icon_state = "5-10" + }, +/obj/effect/turf_decal/ntspaceworks_big/three, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"hZ" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "ig" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 1; + piping_layer = 2 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "in" = ( +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "dwayne_mining_field"; + locked = 1 + }, /obj/machinery/door/poddoor{ - id = "mining_ship_port" + id = "dwayne_mining" }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/cable/cyan{ + icon_state = "0-2" }, +/obj/effect/turf_decal/industrial/warning/fulltile, /turf/open/floor/plating, -/area/ship/cargo) +/area/ship/storage/eva) "iq" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 9 }, -/obj/effect/turf_decal/box, -/obj/structure/tank_dispenser/oxygen, +/obj/structure/closet/emcloset/wall/directional/west, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "ir" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 }, -/obj/effect/turf_decal/techfloor{ - dir = 6 +/obj/structure/cable/cyan{ + icon_state = "1-2" }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "iZ" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/effect/turf_decal/techfloor{ + dir = 6 }, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/corner/opaque/yellow/border{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"jS" = ( -/obj/structure/cable/yellow{ - icon_state = "0-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/cyan{ + icon_state = "0-9" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"ja" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 4 }, +/obj/structure/closet/crate/engineering/electrical, +/obj/item/radio/intercom/directional/east, +/obj/item/stack/sheet/mineral/plasma/ten, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"jz" = ( +/obj/structure/cable/yellow, /obj/machinery/power/solar, /obj/effect/turf_decal/solarpanel, /turf/open/floor/plating/airless, -/area/ship/external) +/area/ship/external/dark) +"jS" = ( +/obj/structure/chair/sofa/brown/old/left/directional/north, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) "kb" = ( -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ dir = 4 }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, /obj/structure/closet/emcloset/wall/directional/north, -/turf/open/floor/plasteel/white{ - dir = 1 +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/area/ship/crew) -"kf" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"kf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/techfloor{ - dir = 8 +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 24 }, -/obj/effect/turf_decal/industrial/caution{ +/obj/machinery/door/airlock/external/glass{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "kM" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/corner/opaque/yellow/half, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"kO" = ( -/obj/structure/cable/yellow{ - icon_state = "0-2" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/structure/cable/cyan{ + icon_state = "5-10" }, -/obj/structure/cable/yellow{ - icon_state = "0-8" +/obj/effect/turf_decal/ntspaceworks_big/three{ + dir = 1 }, -/obj/machinery/power/solar, -/obj/effect/turf_decal/solarpanel, -/turf/open/floor/plating/airless, -/area/ship/external) +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"kO" = ( +/obj/effect/decal/cleanable/food/tomato_smudge, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) "kQ" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 +/obj/structure/table, +/obj/machinery/computer/helm/viewscreen/directional/north, +/obj/machinery/power/terminal{ + dir = 4; + layer = 2.30 }, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/plating, +/obj/structure/cable/yellow{ + icon_state = "0-6" + }, +/obj/item/reagent_containers/food/drinks/mug{ + pixel_x = 10; + pixel_y = 3 + }, +/obj/item/newspaper{ + pixel_x = -5; + pixel_y = 2 + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) +"ld" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 2 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating/airless, +/area/ship/crew/canteen) "ls" = ( -/obj/structure/cable, -/obj/machinery/power/terminal{ +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/machinery/door/window/northleft{ + dir = 4; + name = "Engine Access" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_engines"; + dir = 4 + }, +/obj/structure/window/plasma/reinforced{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel/tech/grid, +/turf/open/floor/plating, /area/ship/engineering) "lv" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, -/area/ship/crew) +/area/ship/hallway/central) "lD" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/cable/yellow{ + icon_state = "4-9" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"ma" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 10 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/structure/cable/cyan{ + icon_state = "1-4" }, -/obj/effect/turf_decal/techfloor{ - dir = 8 +/obj/structure/cable/cyan{ + icon_state = "1-2" }, -/obj/machinery/door/airlock/engineering{ +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/engineering) +"mf" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half, +/obj/effect/turf_decal/industrial/warning, +/obj/item/c_tube{ + pixel_y = 3 + }, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"mr" = ( +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ dir = 4 }, -/turf/open/floor/plasteel, -/area/ship/engineering) -"ma" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/effect/turf_decal/techfloor{ +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"ms" = ( +/obj/machinery/computer/helm/viewscreen/directional/north, +/obj/structure/cable/yellow{ + icon_state = "6-9" + }, +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"mr" = ( -/obj/effect/turf_decal/ntspaceworks_big/six, -/turf/open/floor/plating, -/area/ship/construction) -"ms" = ( -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast" +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 }, -/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"mv" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow, /turf/open/floor/plating/airless, -/area/ship/bridge) +/area/ship/external/dark) "my" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/turf/open/floor/plasteel/white{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/area/ship/crew) +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "mA" = ( -/obj/structure/table/reinforced, -/obj/item/gps{ - gpstag = "NTREC1"; - pixel_x = -9; - pixel_y = 7 +/obj/effect/turf_decal/industrial/warning/corner, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"mC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/obj/item/radio{ - pixel_x = 6; - pixel_y = 7 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/corner/opaque/blue/half, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"mC" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/computer/monitor/retro{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 }, -/turf/open/floor/plasteel/tech/grid, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/cyan{ + icon_state = "1-10" + }, +/turf/open/floor/plating, /area/ship/engineering) "mE" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/effect/turf_decal/techfloor{ + dir = 5 }, -/obj/effect/turf_decal/corner/opaque/yellow/border{ - dir = 8 +/obj/effect/decal/cleanable/oil, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/machinery/light_switch{ + dir = 2; + pixel_y = 20 }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) "mF" = ( -/turf/closed/wall, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/engineering) -"nf" = ( -/obj/effect/turf_decal/corner/opaque/yellow/half, -/turf/open/floor/plasteel, +"mJ" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 1 + }, +/obj/item/radio/weather_monitor{ + pixel_x = 8; + pixel_y = 7 + }, +/obj/machinery/newscaster/directional/west, +/obj/item/paper_bin{ + pixel_x = -8; + pixel_y = 6 + }, +/obj/item/pen/fountain, +/obj/item/stamp/captain{ + pixel_x = -7; + pixel_y = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"mR" = ( +/obj/effect/turf_decal/solarpanel, +/turf/closed/wall/mineral/titanium, +/area/ship/crew/cryo) +"mX" = ( +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) +"nf" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/mineral/processing_unit_console{ + pixel_y = -18; + machinedir = 8; + output_dir = 1; + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/eva) "nr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "nJ" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/components/unary/portables_connector/layer2{ + name = "connector port (Air)" }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ship/crew) +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) "nL" = ( -/obj/effect/spawner/lootdrop/maintenance, -/obj/structure/closet/crate/internals, -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/effect/turf_decal/ntspaceworks_big/seven{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/structure/ore_box, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "nY" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/plating/airless, -/area/ship/external) +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/canteen) "oa" = ( -/obj/machinery/atmospherics/pipe/manifold/general/hidden{ +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/power/terminal{ dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "5-9" +/obj/structure/cable/cyan, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) +"of" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/mining/independent, +/obj/item/clothing/mask/gas/explorer, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "om" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/catwalk/over, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/plating, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/closet/wall/orange/directional/west{ + name = "Mechanic's locker" + }, +/obj/effect/decal/cleanable/oil/streak, +/obj/item/storage/backpack/satchel/eng, +/obj/item/storage/backpack/messenger/engi, +/obj/item/clothing/under/rank/engineering/engineer, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/toggle/hazard, +/obj/item/clothing/head/hardhat/dblue, +/obj/item/clothing/glasses/welding, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "or" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"oB" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel, -/area/ship/cargo) -"oC" = ( -/turf/closed/wall, -/area/ship/medical) -"oE" = ( -/obj/structure/sink{ - pixel_y = 17 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/structure/mirror{ - pixel_y = 28 +/obj/structure/cable/cyan{ + icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 9 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 }, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"oR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/dept/mining, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"ow" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/power/port_gen/pacman{ + anchored = 1 }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"oy" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/crew) -"pl" = ( -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 4; - id = "mining_ship_atmosgen"; - locked = 1 +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/secure_closet/quartermaster{ + populate = 0; + name = "\proper Foreman's locker" }, -/obj/machinery/door/poddoor{ - id = "mining_ship_port" +/obj/item/storage/backpack/satchel/eng, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/under/rank/security/detective, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/jacket/leather/duster, +/obj/item/storage/belt/utility/full, +/obj/item/clothing/gloves/fingerless, +/obj/item/clothing/head/cowboy/sec, +/obj/item/clothing/head/hardhat/orange, +/obj/item/clothing/head/hardhat/white, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"oB" = ( +/obj/machinery/conveyor_switch/oneway{ + pixel_y = 15; + pixel_x = 11; + id = "smelter_dwayne" }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/structure/railing{ + dir = 10 }, -/turf/open/floor/plating, +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"oC" = ( +/obj/machinery/light_switch{ + dir = 2; + pixel_x = 11; + pixel_y = 20 + }, +/obj/structure/chair, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"oE" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/table, +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_y = 32 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/cyan{ + icon_state = "0-6" + }, +/obj/item/radio{ + pixel_y = 5 + }, +/obj/item/radio{ + pixel_y = 5 + }, +/obj/item/radio{ + pixel_y = 5 + }, +/obj/item/radio{ + pixel_y = 5 + }, +/obj/item/radio{ + pixel_y = 5 + }, +/obj/item/radio{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/crew/cryo) +"oJ" = ( +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ + dir = 8 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/pen/fourcolor, +/obj/item/toy/crayon/spraycan{ + pixel_x = -9; + pixel_y = 17 + }, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) -"pn" = ( -/obj/structure/closet/secure_closet/medical2, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-4" +"oQ" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 }, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/cyan{ + icon_state = "1-10" + }, +/obj/structure/cable/cyan{ + icon_state = "1-6" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"oR" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/hallway/central) +"pl" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 1 + }, +/obj/machinery/computer/crew, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) "pq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 }, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/yellow/half, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "pt" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow/border, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "pv" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/computer/helm/viewscreen/directional/east, -/obj/effect/landmark/start/assistant, -/obj/structure/chair/comfy/orange/directional/west, -/turf/open/floor/wood, -/area/ship/crew) +/obj/machinery/light_switch{ + dir = 2; + pixel_x = 12; + pixel_y = 20 + }, +/obj/machinery/vending/coffee, +/obj/item/trash/candle{ + pixel_y = 18; + pixel_x = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) "pS" = ( -/obj/effect/turf_decal/box, -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plasteel, -/area/ship/cargo) -"qg" = ( -/obj/machinery/holopad/emergency/command, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"qz" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/suit_storage_unit/independent/mining/eva, -/obj/effect/turf_decal/industrial/warning/corner{ +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ dir = 4 }, -/turf/open/floor/plasteel, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) -"qK" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 +"qg" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable/cyan{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ +/obj/structure/cable/cyan{ + icon_state = "1-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/hallway/central) +"ql" = ( +/obj/structure/cable/yellow, +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/white{ - dir = 1 +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"qt" = ( +/obj/structure/cable/yellow{ + icon_state = "6-9" }, -/area/ship/crew) -"qO" = ( -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = -5; - pixel_y = 3 +/obj/structure/cable/cyan{ + icon_state = "1-2" }, -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = 2; - pixel_y = 3 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 }, -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = -2 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/glass{ + name = "Common Room" }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 5 +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 1; - pixel_y = -3 +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/tech, +/area/ship/crew/canteen) +"qK" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 8; - pixel_y = -3 +/obj/item/cigbutt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "6-8" }, -/obj/structure/closet/crate{ - name = "food crate" +/obj/structure/cable/cyan{ + icon_state = "1-2" }, -/obj/structure/cable{ +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"qO" = ( +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/item/storage/cans/sixbeer, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/turf/open/floor/plasteel/tech/grid, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, /area/ship/engineering) +"rq" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 + }, +/obj/machinery/autolathe, +/obj/machinery/light_switch{ + dir = 2; + pixel_x = -12; + pixel_y = 20 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "rE" = ( -/turf/closed/wall/r_wall, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/bridge) "sg" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "sp" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/landmark/start/medical_doctor, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 8 +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -26 }, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) "sD" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, /obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/dept/cargo{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "sM" = ( -/obj/effect/turf_decal/corner/opaque/blue/half{ +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/structure/frame/computer/retro{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/obj/machinery/door/airlock/command/glass{ + dir = 4; + name = "Bridge"; + req_one_access = list(20,41) + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 9 + }, +/turf/open/floor/plasteel/stairs{ + dir = 4; + color = "#555555" + }, /area/ship/bridge) "sP" = ( /obj/structure/cable/yellow{ - icon_state = "0-4" + icon_state = "1-2" }, -/obj/machinery/power/solar, -/obj/effect/turf_decal/solarpanel, -/turf/open/floor/plating/airless, -/area/ship/external) +/turf/open/floor/carpet, +/area/ship/crew/dorm) "sZ" = ( -/obj/machinery/vending/wallmed{ - pixel_y = 28 +/obj/machinery/cryopod, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/crew/cryo) +"tj" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 }, -/obj/structure/closet/crate/freezer/blood, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 1 +/obj/machinery/firealarm/directional/south, +/obj/item/cigbutt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"tJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"tj" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"tq" = ( -/turf/closed/wall/r_wall, -/area/ship/engineering) +/obj/item/stack/sheet/cardboard, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "tX" = ( -/obj/structure/ore_box, +/obj/effect/turf_decal/ntspaceworks_big/eight{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"uc" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/storage/eva) +"uk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/turf/open/floor/plating, +/obj/structure/cable/cyan{ + icon_state = "6-9" + }, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) -"uc" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, +"ul" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) -"uk" = ( -/turf/open/floor/plating, -/area/ship/construction) "uP" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 +/obj/machinery/door/poddoor{ + id = "dwayne_cargo" }, -/obj/machinery/door/window/northleft{ +/obj/machinery/power/shieldwallgen/atmos/roundstart{ dir = 4; - name = "Engine Access" + id = "dwayne_cargo_field"; + locked = 1 }, -/obj/structure/cable{ - icon_state = "0-8" +/obj/structure/cable/cyan{ + icon_state = "0-1" }, +/obj/effect/turf_decal/industrial/warning/fulltile, /turf/open/floor/plating, -/area/ship/engineering) -"uT" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/suit_storage_unit/independent/mining/eva, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, /area/ship/cargo) +"uT" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 4; + pixel_y = 0; + pixel_x = 5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) "vb" = ( -/obj/effect/turf_decal/box, -/obj/machinery/ore_silo, -/turf/open/floor/plasteel, +/obj/machinery/conveyor/inverted{ + dir = 9; + id = "smelter_dwayne" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/eva) +"ve" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/item/stack/sheet/cardboard{ + amount = 2 + }, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "vf" = ( -/obj/effect/turf_decal/ntspaceworks_big/seven, -/turf/open/floor/plating, -/area/ship/construction) -"vj" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" +/obj/structure/closet/crate, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 }, -/obj/structure/cable/yellow{ - icon_state = "1-8" +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"vj" = ( +/obj/structure/sign/poster/contraband/winchester{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"vm" = ( +/obj/structure/sign/number/random{ + color = "Black"; + pixel_y = -7 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/toilet) +"vn" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/yellow/bordercorner{ - dir = 8 +/obj/machinery/door/window/northright{ + dir = 4; + name = "Engine Access" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"vn" = ( /obj/structure/cable{ - icon_state = "0-4" + icon_state = "0-8" }, -/obj/machinery/power/terminal{ - dir = 8 +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_engines"; + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ +/obj/structure/window/plasma/reinforced{ dir = 8 }, -/turf/open/floor/plasteel/tech/grid, +/turf/open/floor/plating, /area/ship/engineering) "vw" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood, -/area/ship/crew) -"vA" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen" +/obj/structure/table/reinforced, +/obj/item/cutting_board{ + anchored = 1 }, -/obj/effect/turf_decal/box, +/obj/item/melee/knife/kitchen, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/cyan{ + icon_state = "0-5" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"vA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/paicard, -/turf/open/floor/plasteel, -/area/ship/cargo) +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "vJ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"vQ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/airlock/command/glass{ +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_engines"; dir = 4 }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"wh" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating, +/area/ship/engineering) +"vQ" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "5-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"wh" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half, +/obj/effect/turf_decal/box/corners{ dir = 1 }, -/obj/machinery/door/airlock/public/glass, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"wv" = ( -/turf/closed/wall, -/area/ship/bridge) +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -12; + pixel_y = -20 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/mining/independent, +/obj/item/clothing/mask/gas/explorer, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "ww" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/mineral/titanium/twenty, -/obj/effect/turf_decal/box, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/structure/closet/crate/secure/exo, +/obj/item/clothing/under/rank/cargo/miner/hazard, +/obj/item/clothing/under/rank/cargo/miner/hazard, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/storage/belt/mining/alt, +/obj/item/storage/belt/mining/alt, +/obj/item/clothing/head/hardhat/mining, +/obj/item/clothing/head/hardhat/mining, +/obj/item/clothing/head/hardhat/mining, +/obj/item/clothing/glasses/meson, +/obj/item/clothing/glasses/meson, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "wW" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "xh" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/structure/cable/cyan{ + icon_state = "4-8" }, -/obj/effect/landmark/start/assistant, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "6-9" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, -/area/ship/crew) +/area/ship/hallway/central) "xr" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast"; +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"xP" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ dir = 8 }, -/turf/open/floor/plating, -/area/ship/crew) +/obj/machinery/light/directional/west, +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "yu" = ( -/obj/machinery/mineral/ore_redemption{ +/obj/effect/turf_decal/techfloor{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow/border{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/structure/cable/cyan{ + icon_state = "5-8" }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/machinery/light/directional/east, +/obj/structure/frame/machine{ + anchored = 1; + state = 2; + icon_state = "box_1" }, -/turf/open/floor/plasteel, -/area/ship/crew) +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) "yx" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/structure/closet/wall/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) +/obj/item/towel{ + pixel_y = 4; + pixel_x = 4 + }, +/obj/item/towel{ + pixel_y = 4; + pixel_x = -3 + }, +/obj/item/soap{ + pixel_x = -1; + pixel_y = -2 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/toilet) "yJ" = ( +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"yN" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "0-8" }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/obj/effect/turf_decal/corner/opaque/yellow/border, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/turf/open/floor/plating/airless, +/area/ship/external/dark) "za" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/corner/opaque/yellow/half{ - dir = 8 +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-4" }, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/power/solar, +/turf/open/floor/plating, +/area/ship/external/dark) "zc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/effect/decal/cleanable/oil/streak, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"zi" = ( +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-4" }, +/obj/machinery/power/solar, +/turf/open/floor/plating, +/area/ship/external/dark) +"zl" = ( +/obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/airlock/command/glass{ - dir = 4 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"zq" = ( -/obj/structure/catwalk, -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ dir = 1 }, -/turf/open/floor/plating/airless, -/area/ship/external) -"zF" = ( -/obj/structure/cable{ - icon_state = "2-4" +/obj/machinery/door/airlock/mining/glass{ + name = "Mining Hangar" }, -/mob/living/simple_animal/turtle, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ +/obj/structure/cable/cyan{ icon_state = "1-2" }, /turf/open/floor/plasteel, -/area/ship/cargo) -"zK" = ( -/obj/machinery/button/shieldwallgen{ - id = "mining_ship_atmosgen"; - pixel_x = 8; - pixel_y = 21 +/area/ship/storage/eva) +"zq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 4 }, -/obj/machinery/button/door{ - id = "mining_ship_port"; - name = "Port Hangar Shutters"; - pixel_x = -2; - pixel_y = 23 +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"zt" = ( +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters, +/obj/effect/turf_decal/box/corners{ + dir = 1 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/mining/independent, +/obj/item/clothing/mask/gas/explorer, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"zF" = ( +/obj/structure/ore_box, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 }, -/turf/open/floor/plating, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 8 + }, +/obj/structure/cable/cyan{ + icon_state = "6-9" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"zI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/item/cigbutt, +/obj/effect/turf_decal/ntspaceworks_big/two, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) +"zK" = ( +/obj/effect/decal/cleanable/glass, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "zQ" = ( -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable/yellow, -/obj/machinery/power/terminal{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/closet/firecloset/wall/directional/west, +/obj/structure/cable/cyan{ + icon_state = "2-5" }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"zY" = ( +/obj/structure/sign/warning/fire{ + pixel_y = -20; + pixel_x = -10 + }, +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 8; + name = "connector port (Fuel)" + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "AD" = ( -/obj/effect/landmark/start/assistant, +/obj/structure/cable/cyan{ + icon_state = "4-9" + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = -10 + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/techfloor{ dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/crew) +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "AE" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/glass, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/machinery/airalarm/directional/south, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "AQ" = ( -/obj/item/kirbyplants/random, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 +/obj/structure/cable/cyan{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, -/obj/structure/cable{ +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/hallway/central) +"AY" = ( +/obj/structure/sign/poster/rilena/random{ + pixel_x = 32 + }, +/obj/structure/cable/cyan{ icon_state = "1-8" }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 4 +/obj/structure/cable/cyan{ + icon_state = "0-1" }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Cn" = ( -/obj/structure/catwalk, -/turf/closed/wall, -/area/ship/engineering) -"Cp" = ( -/turf/open/floor/plasteel, -/area/ship/cargo) -"CD" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 +/obj/structure/cable/yellow{ + icon_state = "9-10" + }, +/obj/machinery/computer/monitor{ + dir = 8; + icon_state = "computer-left" }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) -"CO" = ( -/obj/structure/window/reinforced{ +"Bq" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 2 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating/airless, +/area/ship/bridge) +"Bx" = ( +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"BX" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/machinery/door/window/northright{ +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Cp" = ( +/obj/machinery/light/directional/west, +/obj/machinery/mineral/unloading_machine{ + input_dir = 1; + output_dir = 2 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/eva) +"CB" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall/mineral/titanium, +/area/ship/engineering) +"CD" = ( +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, +/obj/machinery/door/window/northleft{ dir = 4; name = "Engine Access" }, -/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_engines"; dir = 4 }, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, /turf/open/floor/plating, /area/ship/engineering) +"CO" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 2 + }, +/obj/structure/grille, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating/airless, +/area/ship/crew/dorm) "CP" = ( /obj/machinery/door/airlock/external, /turf/open/floor/plating, /area/ship/engineering) -"DG" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/folder/yellow, -/obj/item/folder/yellow, -/obj/item/pen, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Cockpit"; - pixel_x = -30; - pixel_y = 30 - }, -/obj/machinery/camera/autoname, -/obj/effect/turf_decal/corner/opaque/blue/half{ +"CS" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ dir = 1 }, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"DJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/large, +/obj/effect/spawner/random/maintenance/three, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Ds" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/turf/open/floor/plasteel/white{ - dir = 1 + icon_state = "4-8" }, -/area/ship/crew) -"Ee" = ( -/obj/item/kirbyplants/random, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; dir = 4 }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"Ex" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"DG" = ( /obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/structure/cable{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/cyan{ icon_state = "1-2" }, -/obj/machinery/door/airlock/public/glass, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Fd" = ( /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "5-10" }, -/obj/effect/turf_decal/corner/opaque/yellow/bordercorner, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Fn" = ( -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/turf/open/floor/plating, -/area/ship/cargo) -"Fz" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/machinery/door/airlock{ + name = "Dormitory" }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"FP" = ( -/turf/open/floor/plating, -/area/ship/cargo) -"FS" = ( +/turf/open/floor/plasteel/tech, +/area/ship/crew/dorm) +"DJ" = ( /obj/structure/cable/yellow{ - icon_state = "0-4" + icon_state = "4-8" }, -/obj/structure/cable/yellow{ - icon_state = "0-8" +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"DR" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" }, -/obj/machinery/power/solar, -/obj/effect/turf_decal/solarpanel, -/turf/open/floor/plating/airless, -/area/ship/external) -"Gr" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast"; +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 }, -/turf/open/floor/plating/airless, -/area/ship/bridge) -"Gx" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/yellow/border, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"GU" = ( -/obj/machinery/vending/snack/random, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"GW" = ( -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/emergency{ - pixel_x = -12 +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/paperplane{ + dir = 4; + pixel_x = 14; + pixel_y = -8 }, -/obj/item/megaphone{ - pixel_x = 3; - pixel_y = 1 +/turf/open/floor/plating, +/area/ship/hallway/central) +"Ee" = ( +/obj/structure/sink{ + pixel_y = 19 }, -/obj/effect/turf_decal/corner/opaque/blue/half, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"He" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" +/obj/structure/mirror{ + pixel_y = 28; + layer = 2.89 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 }, -/obj/structure/catwalk/over, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/toilet) +"Ex" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, -/area/ship/engineering) -"Hh" = ( -/obj/structure/cable{ - icon_state = "1-2" +/area/ship/storage/eva) +"Ez" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable/cyan{ + icon_state = "0-2" }, -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/machinery/door/airlock/external{ - name = "Hangar Airlock" +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"EE" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/ship/crew) -"HI" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Fd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/handrail{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Fn" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 }, +/obj/structure/ore_box, /obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"HP" = ( -/mob/living/simple_animal/butterfly{ - color = "#DBB17F"; - desc = "A moth."; - name = "moth" + dir = 1 }, -/obj/effect/landmark/observer_start, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"Ia" = ( +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"Fq" = ( +/obj/effect/turf_decal/solarpanel, +/turf/closed/wall/mineral/titanium, +/area/ship/crew/dorm) +"Fz" = ( +/obj/structure/table/wood, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast"; - dir = 8 +/obj/item/reagent_containers/food/snacks/chips{ + pixel_x = 5; + pixel_y = 4 }, -/turf/open/floor/plating, -/area/ship/crew) -"Ip" = ( -/obj/machinery/door/poddoor{ - id = "mining_ship_starboard" +/obj/item/toy/cards/deck/kotahi{ + pixel_x = -11; + pixel_y = 6 }, -/turf/open/floor/plating, -/area/ship/construction) -"Is" = ( -/obj/effect/turf_decal/ntspaceworks_big/five, -/turf/open/floor/plating, -/area/ship/construction) -"IF" = ( -/obj/machinery/power/port_gen/pacman, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"FH" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"FN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"FP" = ( +/obj/structure/closet/crate/large, +/obj/machinery/portable_atmospherics/canister/hydrogen, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"FR" = ( +/obj/structure/closet/cardboard, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/item/caution, +/obj/item/caution, +/obj/item/caution, +/obj/item/reagent_containers/glass/bucket, +/obj/item/storage/bag/trash, +/obj/item/mop, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"FS" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, /obj/structure/cable/yellow{ icon_state = "0-4" }, -/obj/item/stack/sheet/mineral/plasma/five, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"IJ" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"Gl" = ( +/obj/structure/bed, +/obj/item/bedsheet/dorms, +/obj/machinery/airalarm/directional/east, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"Gr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/machinery/door/airlock/medical, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"IK" = ( +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/stairs{ + dir = 4; + color = "#555555" + }, +/area/ship/bridge) +"Gx" = ( +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"GH" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/ntspaceworks_big/four, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"GN" = ( /obj/effect/turf_decal/corner/opaque/yellow/half{ dir = 4 }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel, +/obj/machinery/light/directional/east, +/obj/structure/closet/crate/engineering, +/obj/item/radio/weather_monitor, +/obj/item/radio/weather_monitor, +/obj/item/t_scanner/adv_mining_scanner/lesser{ + pixel_y = -3 + }, +/obj/item/pickaxe/drill{ + pixel_y = -2 + }, +/obj/item/pickaxe/drill{ + pixel_y = -2 + }, +/obj/item/pinpointer/mineral{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"GU" = ( +/obj/docking_port/mobile{ + can_move_docking_ports = 1; + dir = 2; + launch_status = 0; + name = "mining ship"; + port_direction = 8; + preferred_direction = 4 + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "dwayne_mining_field"; + locked = 1 + }, +/obj/machinery/door/poddoor{ + id = "dwayne_mining" + }, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plating, +/area/ship/storage/eva) +"GW" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/bridge) +"He" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/cyan{ + icon_state = "5-6" + }, +/obj/structure/cable/cyan{ + icon_state = "4-5" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"Hh" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, /area/ship/cargo) -"IT" = ( -/obj/structure/table, -/obj/item/storage/firstaid/o2{ - pixel_x = 4; - pixel_y = 3 +"HE" = ( +/obj/effect/turf_decal/solarpanel, +/turf/closed/wall/mineral/titanium, +/area/ship/crew/canteen) +"HI" = ( +/obj/machinery/door/airlock/external{ + dir = 4 }, -/obj/item/storage/firstaid/fire, -/obj/item/storage/firstaid/medical{ - pixel_x = -5; - pixel_y = -4 +/turf/open/floor/plating, +/area/ship/engineering) +"HP" = ( +/obj/machinery/light/dim/directional/east, +/obj/structure/toilet{ + dir = 8; + pixel_y = 7; + pixel_x = 4 }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel/mono, -/area/ship/medical) -"IZ" = ( -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket"; - pixel_x = -4; - pixel_y = -4 +/obj/effect/decal/cleanable/vomit/old{ + pixel_y = 13; + pixel_x = -10 }, -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket" +/turf/open/floor/plasteel/patterned, +/area/ship/crew/toilet) +"Ia" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/cyan{ + icon_state = "1-10" }, -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket"; - pixel_x = 4; - pixel_y = 4 +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"Ip" = ( +/obj/machinery/door/poddoor{ + id = "dwayne_cargo" }, -/obj/item/clothing/head/hardhat/mining{ - pixel_x = -4; - pixel_y = -4 +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plating, +/area/ship/cargo) +"Is" = ( +/obj/structure/closet/crate/science, +/obj/item/paicard, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"IF" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/obj/machinery/computer/cargo{ + dir = 1 }, -/obj/item/clothing/head/hardhat/mining, -/obj/item/clothing/head/hardhat/mining{ - pixel_x = 4; - pixel_y = 4 +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"IJ" = ( +/obj/machinery/vending/cigarette, +/obj/item/toy/figure/miner{ + pixel_y = 17; + toysay = "Careful out there! Frontier is deadly this time of the year!... Or any time of the year, actually..."; + pixel_x = -4 }, -/obj/item/gps/mining, -/obj/item/gps/mining, -/obj/item/gps/mining, -/obj/item/clothing/glasses/meson/prescription, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/meson, -/obj/item/t_scanner/adv_mining_scanner/lesser, -/obj/item/gun/energy/kinetic_accelerator, -/obj/item/pickaxe/silver, -/obj/item/pickaxe/silver, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/structure/closet/wall/directional/north{ - name = "equipment closet" +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"IK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt, +/obj/effect/turf_decal/ntspaceworks_big/five{ + dir = 1 }, -/obj/effect/turf_decal/industrial/warning/corner{ +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"IT" = ( +/obj/structure/grille, +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 2 + }, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating/airless, +/area/ship/bridge) +"IZ" = ( +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "Jg" = ( -/obj/effect/landmark/start/quartermaster, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Jn" = ( -/obj/effect/turf_decal/ntspaceworks_big/four, +/obj/machinery/conveyor{ + dir = 2; + id = "smelter_dwayne" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/eva) +"Jk" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 4 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, /turf/open/floor/plating, -/area/ship/construction) +/area/ship/crew/canteen) +"Jn" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "Jq" = ( -/obj/effect/turf_decal/ntspaceworks_big/two, -/turf/open/floor/plating, -/area/ship/construction) +/obj/structure/closet/crate/engineering, +/obj/item/stack/sheet/plastic/five, +/obj/item/stack/sheet/glass/twenty, +/obj/item/stack/sheet/metal/twenty, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "Jy" = ( -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/borderfloor{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/blue/half{ - dir = 4 - }, -/obj/machinery/computer/operating/retro{ - dir = 4 +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"JE" = ( +/obj/effect/decal/cleanable/ash, +/obj/structure/cable/cyan{ + icon_state = "1-10" }, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "JH" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/head/hardhat/mining{ - pixel_x = -18; - pixel_y = 8 +/obj/structure/bed, +/obj/item/bedsheet/dorms, +/obj/structure/cable/yellow{ + icon_state = "4-10" }, -/obj/item/phone{ - pixel_x = 5; - pixel_y = 8 +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"JZ" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/computer/helm/viewscreen/directional/north, +/obj/item/decal_painter{ + pixel_x = -2; + pixel_y = 3 }, -/obj/item/areaeditor/shuttle{ - pixel_x = -11 +/obj/item/hand_labeler{ + pixel_x = 13; + pixel_y = -1 }, -/obj/effect/turf_decal/corner/opaque/blue/half{ +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Ka" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 }, -/obj/item/radio/intercom/wideband/directional/east, -/obj/item/clothing/suit/armor/vest/capcarapace/duster, -/obj/item/clothing/head/caphat/cowboy, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Ka" = ( -/obj/machinery/status_display/shuttle, -/turf/closed/wall, -/area/ship/bridge) +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/hallway/central) "Kc" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 25; - pixel_y = -25 +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = 6 }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/border, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/clothing/head/welding{ + pixel_x = -2; + pixel_y = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"Kz" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "dwayne_windows"; + name = "Fore Window Control"; + pixel_x = -10; + pixel_y = 20; + dir = 2 + }, +/obj/machinery/computer/helm{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) "KO" = ( -/obj/effect/turf_decal/ntspaceworks_big/three, -/turf/open/floor/plating, -/area/ship/construction) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/cyan{ + icon_state = "6-9" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "LH" = ( -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast" +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ship/engineering) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "5-10" + }, +/obj/structure/cable/yellow{ + icon_state = "1-10" + }, +/obj/structure/extinguisher_cabinet/directional/south{ + pixel_x = 7 + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm) "LJ" = ( -/obj/machinery/vending/cola/random, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/obj/structure/table/reinforced, +/obj/machinery/microwave, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) "LK" = ( -/obj/machinery/power/solar_control{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 1; + name = "Air to Distro" }, -/obj/structure/cable/yellow, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/storage/overmap_ship/electric/directional/east, -/turf/open/floor/plasteel/tech/grid, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/open/floor/plating, /area/ship/engineering) "LN" = ( -/obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/plating, -/area/ship/construction) +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "LZ" = ( -/turf/closed/wall/r_wall, -/area/ship/crew) +/obj/structure/table/reinforced, +/obj/structure/closet/secure_closet/freezer/wall/directional/south{ + name = "kitchen cabinet" + }, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/item/storage/cans/sixbeer, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/snacks/candy, +/obj/item/reagent_containers/food/snacks/candy, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) "Mb" = ( -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast" +/obj/machinery/door/airlock/mining/glass{ + name = "Cargo Hangar" }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ship/crew) -"Mg" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 +/obj/structure/cable/cyan{ + icon_state = "1-2" }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"Mg" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 + dir = 1 }, /obj/effect/turf_decal/techfloor{ dir = 1 }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) -"Mn" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +"Mk" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_engines"; + dir = 4 }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating, +/area/ship/engineering) +"Mn" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "Mo" = ( -/obj/structure/closet/crate/large, -/obj/effect/spawner/lootdrop/maintenance/four, -/obj/item/circuitboard/machine/chem_dispenser/drinks, -/obj/item/circuitboard/computer/arcade/orion_trail, -/obj/item/kinetic_crusher, -/obj/effect/turf_decal/box, -/obj/item/vending_refill/mining_equipment, -/obj/item/ammo_box/c38_box, -/obj/item/ammo_box/c38_box, -/obj/item/ammo_box/c38_box, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Mz" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, -/obj/structure/curtain/bounty, -/obj/structure/sign/poster/official/no_erp{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/ship/crew) -"MB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "2-8" +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/cyan{ + icon_state = "5-10" }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/border, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"MD" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/ntspaceworks_big/six{ + dir = 1 }, -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stack/cable_coil/red{ - pixel_x = 2; - pixel_y = 6 +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"Mz" = ( +/obj/machinery/holopad/emergency/command, +/obj/effect/turf_decal/box/white{ + color = "#283674" }, -/obj/item/stock_parts/cell/high/plus, -/obj/structure/cable{ - icon_state = "1-6" +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"MB" = ( +/obj/machinery/door/airlock/hatch{ + name = "Cryogenics" }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"MG" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, +/obj/machinery/door/firedoor/border_only, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/light_switch{ - pixel_x = 21; - pixel_y = 25 - }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"MQ" = ( -/obj/structure/cable/yellow{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/cyan{ icon_state = "1-2" }, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 1; - name = "Air to Distro"; - target_pressure = 500 +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"MD" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "1-4" }, /obj/structure/cable/yellow{ - icon_state = "2-4" + icon_state = "0-1" }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"MG" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm) +"MQ" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/button/door{ + id = "dwayne_engines"; + name = "Aft Window Control"; + pixel_x = -20; + pixel_y = 0; + dir = 4 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "MT" = ( -/obj/effect/turf_decal/corner/opaque/yellow/half{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/effect/turf_decal/corner/opaque/yellow/full, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "Nf" = ( -/obj/effect/turf_decal/number/five, +/obj/effect/turf_decal/corner/opaque/yellow/half, /obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plating, -/area/ship/construction) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "Nw" = ( -/obj/machinery/status_display/shuttle, -/turf/closed/wall, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/cyan{ + icon_state = "6-8" + }, +/turf/open/floor/plating, /area/ship/engineering) -"NM" = ( -/obj/structure/cable/yellow, +"NC" = ( /obj/structure/cable/yellow{ - icon_state = "0-2" + icon_state = "0-8" }, /obj/machinery/power/solar, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, /obj/effect/turf_decal/solarpanel, /turf/open/floor/plating/airless, -/area/ship/external) +/area/ship/external/dark) +"NE" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/light/directional/east, +/obj/machinery/power/solar_control{ + dir = 8; + icon_state = "computer-right" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"NM" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 2 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating/airless, +/area/ship/crew/dorm) "NN" = ( -/obj/structure/closet/crate/engineering, -/obj/item/stack/sheet/metal/twenty, -/obj/item/stack/sheet/glass/fifty, -/obj/effect/turf_decal/box, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/cyan{ + icon_state = "6-9" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"NT" = ( +/obj/structure/closet/cardboard, +/obj/item/storage/box/glowsticks, +/obj/item/storage/box/glowsticks, +/obj/item/storage/box/glowsticks, +/obj/item/storage/box/glowsticks, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"NW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/ntspaceworks_big/five, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Op" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/tracker, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"Ou" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/fragile, +/obj/item/clothing/head/helmet/space/fragile, +/obj/item/clothing/mask/breath, +/obj/item/tank/internals/emergency_oxygen, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Ov" = ( +/obj/structure/closet/cardboard, +/obj/item/chair/plastic, +/obj/item/chair/plastic{ + pixel_y = 4 + }, +/obj/item/chair/plastic{ + pixel_y = 8 + }, +/obj/item/chair/plastic{ + pixel_y = 11 + }, +/obj/effect/turf_decal/ntspaceworks_big/one, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Oz" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/obj/machinery/fax/indie{ + pixel_y = 7 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"OJ" = ( +/turf/template_noop, +/area/template_noop) +"OL" = ( +/obj/machinery/light/directional/west, +/obj/structure/filingcabinet/filingcabinet{ + dir = 4; + pixel_x = -10; + density = 0 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/border{ + dir = 8 + }, +/obj/item/flashlight/flare, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/ammo_box/c38, +/obj/item/ammo_box/c38, +/obj/item/gun/ballistic/revolver/detective, +/obj/item/megaphone/cargo, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"OP" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/cable/yellow{ + icon_state = "6-9" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"OQ" = ( +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/machinery/button/shieldwallgen{ + id = "dwayne_cargo_field"; + pixel_x = 1; + pixel_y = -19; + dir = 1 + }, +/obj/machinery/button/door{ + id = "dwayne_cargo"; + name = "Blast Doors"; + pixel_x = -8; + pixel_y = -20; + dir = 1 }, -/turf/open/floor/plasteel, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) -"Op" = ( -/obj/item/vending_refill/mining_equipment{ - pixel_y = -8 +"OW" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half, +/obj/structure/closet/crate/large, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/spawner/random/entertainment/plushie, +/obj/effect/spawner/random/entertainment/plushie, +/obj/effect/spawner/random/entertainment/plushie, +/obj/effect/spawner/random/entertainment/plushie, +/obj/effect/spawner/random/entertainment/plushie, +/obj/structure/cable/cyan{ + icon_state = "1-2" }, -/turf/closed/wall/r_wall, -/area/ship/engineering) -"OJ" = ( -/turf/template_noop, -/area/template_noop) -"OL" = ( -/obj/effect/turf_decal/corner/opaque/blue/half{ - dir = 4 +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Pd" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, -/obj/machinery/computer/helm/retro{ - dir = 8 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"OP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/effect/turf_decal/ntspaceworks_big/four{ + dir = 1 }, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"Pe" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"OW" = ( -/obj/effect/turf_decal/number/one, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Pl" = ( +/obj/structure/cable/yellow{ + icon_state = "4-6" + }, +/obj/structure/cable/yellow{ + icon_state = "1-6" }, +/obj/structure/cable/cyan{ + icon_state = "2-9" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, -/area/ship/construction) -"Pd" = ( -/obj/structure/cable{ - icon_state = "4-8" +/area/ship/engineering) +"Po" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/cyan{ + icon_state = "2-9" + }, +/mob/living/simple_animal/turtle{ + dir = 4 }, +/turf/open/floor/wood{ + icon_state = "wood-broken2" + }, +/area/ship/crew/dorm) +"Px" = ( /obj/effect/turf_decal/corner/opaque/yellow, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/computer/cryopod/directional/east, /obj/machinery/light_switch{ - pixel_x = 25; - pixel_y = -25 + dir = 1; + pixel_x = -12; + pixel_y = -19 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/item/radio/intercom/directional/south{ + pixel_x = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"PH" = ( +/obj/effect/turf_decal/industrial/warning/corner{ dir = 8 }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Ph" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/yellow/half{ +/obj/item/radio/intercom/directional/east, +/obj/structure/chair/comfy/shuttle{ dir = 1 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"PU" = ( +/obj/structure/filingcabinet/chestdrawer/wheeled{ + dir = 8 }, -/turf/open/floor/plasteel, +/obj/item/folder/yellow, +/obj/item/folder/yellow, +/obj/item/folder/blue, +/obj/item/folder, +/obj/effect/decal/cleanable/dirt, +/obj/item/pen, +/obj/item/pen, +/obj/effect/turf_decal/ntspaceworks_big/eight, +/obj/item/stamp, +/obj/item/stamp/denied, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) -"Pl" = ( -/obj/structure/rack, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = 6 +"Qe" = ( +/obj/structure/window{ + dir = 4 }, -/obj/item/storage/toolbox/mechanical{ - pixel_x = -2; - pixel_y = -1 +/obj/structure/curtain, +/obj/machinery/shower{ + dir = 1; + pixel_y = 0 }, -/obj/item/clothing/head/welding{ +/obj/item/bikehorn/rubberducky/plasticducky{ pixel_x = -2; - pixel_y = 1 + pixel_y = 3 }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-2" +/obj/machinery/door/window/northleft{ + name = "Shower Door" }, -/obj/structure/cable, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/reagent_containers/glass/beaker{ - list_reagents = list(/datum/reagent/fuel=50) +/obj/structure/catwalk/over/plated_catwalk/white, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/toilet) +"Qg" = ( +/obj/machinery/power/ship_gravity, +/obj/structure/cable/cyan{ + icon_state = "0-8" }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) -"Po" = ( -/obj/structure/cable/yellow, -/obj/structure/cable/yellow{ - icon_state = "0-4" +"Qj" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half, +/obj/item/stack/sheet/cardboard{ + amount = 2 }, -/obj/structure/cable/yellow{ - icon_state = "0-8" +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Qp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/power/tracker, -/obj/effect/turf_decal/solarpanel, -/turf/open/floor/plating/airless, -/area/ship/external) -"Px" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/engineering) +"QG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/bag/ore, +/obj/item/storage/bag/ore, +/obj/item/storage/bag/ore, +/obj/structure/closet/crate/miningcar{ + name = "mining cart" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"QI" = ( /obj/structure/cable/yellow{ icon_state = "2-4" }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"PU" = ( -/obj/effect/turf_decal/ntspaceworks_big/one, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "2-5" + }, +/obj/structure/cable/cyan{ + icon_state = "1-10" + }, /turf/open/floor/plating, -/area/ship/construction) -"Qe" = ( -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"Qp" = ( +/area/ship/engineering) +"QO" = ( +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ + dir = 1 + }, +/obj/item/cigbutt, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"RA" = ( +/obj/effect/turf_decal/techfloor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/item/cigbutt, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"RJ" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "0-8" }, -/obj/machinery/door/airlock/external{ +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"RN" = ( +/turf/closed/wall/mineral/titanium, +/area/ship/storage/eva) +"RS" = ( +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/machinery/button/shieldwallgen{ + id = "dwayne_mining_field"; + pixel_x = 1; + pixel_y = 19 + }, +/obj/machinery/button/door{ + id = "dwayne_mining"; + name = "Blast Doors"; + pixel_x = -8; + pixel_y = 20 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"RT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"RU" = ( +/obj/structure/closet/crate/internals, +/obj/item/tank/internals/oxygen/yellow, +/obj/item/tank/internals/oxygen/yellow, +/obj/item/tank/internals/oxygen/yellow, +/obj/item/tank/internals/oxygen/yellow, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/effect/turf_decal/ntspaceworks_big/one{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"Se" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"QG" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/door/airlock/command/glass{ + dir = 4; + name = "Bridge"; + req_one_access = list(20,41) }, -/obj/structure/closet/crate/large, -/obj/machinery/portable_atmospherics/canister/hydrogen, -/turf/open/floor/plating, -/area/ship/cargo) -"QI" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/cable/cyan{ + icon_state = "4-10" }, -/obj/structure/reagent_dispensers/watertank, -/obj/item/storage/bag/trash{ - pixel_x = 6 +/obj/effect/turf_decal/corner/opaque/black{ + dir = 9 }, -/obj/item/reagent_containers/glass/bucket, -/obj/item/mop, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"QO" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/yellow/half, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/cargo) -"RA" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/turf/open/floor/plasteel/stairs{ + dir = 4; + color = "#555555" }, +/area/ship/bridge) +"Sg" = ( /obj/machinery/door/firedoor/border_only{ dir = 4 }, /obj/machinery/door/firedoor/border_only{ dir = 8 }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + icon_state = "6-10" + }, /obj/machinery/door/airlock/engineering{ - dir = 4 + dir = 4; + name = "Engineering" }, -/obj/effect/turf_decal/techfloor{ - dir = 8 +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) -"RN" = ( -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/structure/table, -/obj/item/book/manual/wiki/surgery, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/suit/apron/surgical, -/obj/item/clothing/gloves/color/latex/nitrile, -/obj/effect/turf_decal/borderfloor{ +"St" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 4 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"SB" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"SI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/corner/opaque/yellow/half{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/blue/half{ - dir = 4 +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Tl" = ( +/obj/machinery/washing_machine, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/toilet) +"Tz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"RS" = ( -/obj/structure/bed, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/borderfloor{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/cyan{ + icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/blue/half{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/ship/crew/dorm) +"TO" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half, +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/handrail{ + dir = 1 }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"RT" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"TP" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"RU" = ( -/obj/structure/closet/crate/wooden, -/obj/item/clothing/suit/hooded/explorer, -/obj/item/clothing/suit/hooded/explorer, -/obj/item/clothing/suit/hooded/explorer, -/turf/open/floor/plating, -/area/ship/cargo) -"Se" = ( -/obj/effect/turf_decal/corner/opaque/blue/half{ +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"TR" = ( +/obj/structure/chair/sofa/brown/old/right/directional/north, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"Ub" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/cryopod, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/crew/cryo) +"Uj" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ dir = 4 }, -/obj/machinery/computer/cargo/express/retro{ +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"Un" = ( +/obj/effect/decal/cleanable/ash, +/obj/structure/railing{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Sg" = ( -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"St" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer4, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 8 }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"SB" = ( -/obj/effect/turf_decal/ntspaceworks_big/eight, -/turf/open/floor/plating, -/area/ship/construction) -"Tl" = ( -/obj/structure/chair/comfy/orange/directional/north, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"TP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/item/gun/ballistic/shotgun/flamingarrow, +/obj/item/gun/ballistic/shotgun/flamingarrow, +/obj/item/gun/ballistic/shotgun/flamingarrow, +/obj/structure/guncloset/shotgun{ + name = "rifle locker"; + desc = "A locker that holds rifles." }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"UD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/closet/crate/medical, +/obj/item/clothing/gloves/color/latex/nitrile, +/obj/item/storage/firstaid/regular, +/obj/item/roller, +/obj/item/reagent_containers/hypospray/medipen/survival, +/obj/item/reagent_containers/hypospray/medipen/survival{ + pixel_y = -4 }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/crew) -"Ub" = ( -/obj/structure/bed/roller, -/obj/item/bedsheet/medical, -/obj/machinery/iv_drip, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 1 +/obj/item/storage/pill_bottle/charcoal/less, +/obj/structure/cable/cyan{ + icon_state = "5-10" }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"Um" = ( -/obj/structure/table/wood, -/obj/machinery/microwave, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"Un" = ( -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/ntspaceworks_big/six, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "UP" = ( -/obj/machinery/door/airlock/external{ - dir = 4 +/obj/docking_port/stationary{ + width = 30; + height = 15; + dwidth = 15; + dir = 8 }, -/obj/structure/cable/yellow{ +/turf/template_noop, +/area/template_noop) +"UX" = ( +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, -/area/ship/engineering) +/area/ship/hallway/central) "UY" = ( -/obj/effect/spawner/lootdrop/maintenance, -/obj/structure/closet/crate, -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "Vb" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/structure/dresser{ + dir = 4 }, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast"; - dir = 8 +/obj/machinery/light/directional/west, +/obj/item/reagent_containers/food/drinks/soda_cans/cola{ + pixel_y = 14; + pixel_x = 3 }, -/turf/open/floor/plating, -/area/ship/medical) +/turf/open/floor/wood, +/area/ship/crew/dorm) "Vv" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - icon_state = "0-10" - }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plating, /area/ship/engineering) "VP" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 }, -/obj/structure/closet/emcloset/anchored, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) +"VZ" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 4 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating, +/area/ship/crew/dorm) "Wi" = ( -/obj/effect/turf_decal/corner/opaque/yellow/half, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/autolathe, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/machinery/mineral/processing_unit{ + output_dir = 4; + input_dir = 8 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/eva) "Wm" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/yellow/half, +/obj/structure/cable/cyan{ + icon_state = "2-5" }, -/obj/structure/guncloset/shotgun, -/obj/item/gun/ballistic/shotgun/flamingarrow, -/obj/item/gun/ballistic/shotgun/flamingarrow, -/obj/item/gun/ballistic/shotgun/flamingarrow, -/turf/open/floor/plasteel, -/area/ship/cargo) -"WE" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/cable/cyan{ + icon_state = "2-9" }, -/obj/machinery/light_switch{ - pixel_x = -25; - pixel_y = -25; - dir = 4 +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"WE" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" }, -/obj/effect/turf_decal/techfloor{ - dir = 10 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/hallway/central) +"WK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/ntspaceworks_big/seven, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "WL" = ( -/obj/structure/table, -/obj/item/storage/belt/utility, -/obj/item/radio{ - pixel_x = 6; - pixel_y = 7 +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_engines"; + dir = 2 }, -/obj/machinery/light/directional/west, -/obj/item/storage/box/lights/mixed, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel/tech/grid, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating, /area/ship/engineering) "WZ" = ( -/obj/structure/cable/yellow, -/obj/structure/cable/yellow{ - icon_state = "0-2" +/obj/item/kirbyplants/random{ + pixel_y = 18; + pixel_x = -8 }, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/wood{ + icon_state = "wood-broken4" }, -/obj/machinery/power/solar, -/obj/effect/turf_decal/solarpanel, -/turf/open/floor/plating/airless, -/area/ship/external) +/area/ship/crew/dorm) "Xk" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half, +/obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plating, -/area/ship/construction) +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "Xl" = ( +/obj/machinery/firealarm/directional/north, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Xm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 + dir = 8 }, -/obj/structure/cable{ - icon_state = "2-4" +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/cyan{ + icon_state = "0-8" }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 4 +/obj/machinery/light_switch{ + dir = 2; + pixel_x = -12; + pixel_y = 20 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Xn" = ( -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plasteel/stairs{ + dir = 4; + color = "#555555" }, -/obj/structure/cable{ - icon_state = "1-8" +/area/ship/bridge) +"Xn" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/structure/cable/cyan{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "Xo" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/machinery/button/door{ - id = "mining_ship_blast"; - name = "Blast Door Control"; - pixel_y = 28 +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 6 }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "Xw" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/salad/oatmeal{ + pixel_y = 14; + pixel_x = 10; + desc = "A nice bowl of oatmeal. You aren't quite sure how long it's been sitting here." + }, +/obj/structure/cable/yellow{ + icon_state = "4-9" + }, +/obj/structure/cable/yellow{ + icon_state = "2-9" + }, +/obj/item/reagent_containers/food/drinks/soda_cans/cola{ + pixel_y = 1; + pixel_x = -5 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"XC" = ( +/obj/structure/chair/sofa/brown/old/right/directional/south, +/obj/item/radio/intercom/directional/north, +/obj/item/cigbutt/cigarbutt{ + pixel_x = 8; + pixel_y = -1 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"YA" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"YE" = ( /obj/structure/table, -/obj/item/defibrillator/loaded, -/obj/item/stack/medical/suture, -/obj/item/reagent_containers/syringe, -/obj/item/reagent_containers/glass/bottle/epinephrine{ - pixel_x = -4 +/obj/machinery/cell_charger, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 }, -/obj/item/reagent_containers/glass/bottle/charcoal{ - pixel_x = 7; - pixel_y = 4 +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"YN" = ( +/obj/machinery/door/poddoor{ + id = "dwayne_cargo" }, -/obj/item/storage/belt/medical, -/turf/open/floor/plasteel/mono, -/area/ship/medical) -"YE" = ( -/obj/structure/catwalk/over, -/obj/machinery/computer/helm/viewscreen/directional/north, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 6 +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "dwayne_cargo_field"; + locked = 1 }, +/obj/structure/cable/cyan{ + icon_state = "0-1" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, /turf/open/floor/plating, -/area/ship/engineering) -"YJ" = ( -/turf/closed/wall/r_wall, /area/ship/cargo) -"YN" = ( -/turf/closed/wall/r_wall, -/area/ship/construction) +"YY" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/trash/candy, +/obj/item/trash/sosjerky, +/obj/item/trash/can/food/beans, +/obj/effect/spawner/random/maintenance, +/obj/structure/cable/cyan{ + icon_state = "2-5" + }, +/obj/structure/cable/cyan{ + icon_state = "5-8" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "Zj" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/machinery/button/door{ - dir = 1; - id = "mining_ship_starboard"; - name = "Starboard Hangar Shutters"; - pixel_y = -21 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Zv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 22 +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"Zv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/cyan{ + icon_state = "1-2" }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "ZA" = ( /obj/effect/turf_decal/corner/opaque/yellow/half{ dir = 1 @@ -2245,46 +3451,55 @@ /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "ZK" = ( /obj/machinery/door/poddoor{ - id = "mining_ship_port" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" + id = "dwayne_mining" }, +/obj/effect/turf_decal/industrial/warning/fulltile, /turf/open/floor/plating, -/area/ship/cargo) +/area/ship/storage/eva) "ZL" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/caution{ dir = 4 }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) +"ZQ" = ( +/obj/structure/bed, +/obj/item/bedsheet/dorms, +/turf/open/floor/carpet, +/area/ship/crew/dorm) "ZR" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 }, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/obj/structure/sign/poster/official/safety_internals{ + pixel_y = -32 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) (1,1,1) = {" OJ @@ -2294,11 +3509,10 @@ OJ OJ OJ OJ -mF -mF +OJ UP -mF -mF +OJ +OJ OJ OJ OJ @@ -2313,12 +3527,11 @@ OJ OJ OJ OJ -OJ -CP -St +CB +mF HI -aS -CP +mF +CB OJ OJ OJ @@ -2329,67 +3542,63 @@ OJ (3,1,1) = {" OJ OJ -mF -gF -aD -Cn OJ -LH +OJ +OJ +OJ +CP iq ZL -gu -ig -zq -Cn -aD -gF -mF +aS +CP +OJ +OJ +OJ +OJ +OJ OJ "} (4,1,1) = {" OJ -OJ -tq -hK -bb -tq +mF +gF +aD +mF fy -tq -tq +WL +Ou Qp -tq -tq -fy -tq -uP -CO -tq +PH +WL +Pe +mF +aD +gF +mF OJ "} (5,1,1) = {" OJ -OJ -tq +mF CD vn -WL -IF -IF -as +mF +Mk +mF +mF kf -WE -vJ +mF +mF vJ -MD +mF ls gm -tq +mF OJ "} (6,1,1) = {" OJ -OJ -Op +mF YE bP om @@ -2403,13 +3612,12 @@ fY zQ oa AE -tq +mF OJ "} (7,1,1) = {" OJ -OJ -tq +mF kQ hZ QI @@ -2423,111 +3631,105 @@ mC Vv fl VP -tq +mF OJ "} (8,1,1) = {" OJ -YJ -YJ -YJ -YJ -YJ -YJ -YJ +mF +Ez +AY +NE +Qg +ow lD Nw RA -tq -tq -tq -tq -tq -tq -tq +nJ +Kc +ig +hK +zY +mF +OJ "} (9,1,1) = {" -OJ -YJ -qz -aR -uT -za -pS -eM +RN +uc +uc +uc +uc +uc +uc mE yu iZ -bj -uk -uk -uk -uk -LN -YN +eM +eM +eM +eM +eM +eM +gu "} (10,1,1) = {" -OJ -pl +uc MT eH Cp Jg vb -eM +uc Sg -AD +mF Zj -bj -uk -uk -uk -uk -Xk -Ip +eM +pS +ve +xP +SI +mX +eM "} (11,1,1) = {" -OJ in -MT -FP +mr +as Un oB Wi -eM +uc aI -TP +AD ZR -bj -uk -uk -uk -uk -Xk -Ip +eM +CS +Ov +NW +YY +mf +uP "} (12,1,1) = {" -OJ -in +ZK Fn vA -NN -pq -nf -uc -or -lv -sD -Mb -uk -uk -uk -uk -Xk +NN +pq +nf +uc +LN +lv +mA +eM +cL +zI +UD +FR +Nf Ip "} (13,1,1) = {" -fp ZK ZA QG @@ -2536,165 +3738,157 @@ zF QO Ex wW -nJ +lv sg Hh -uk -uk -uk -uk -Xk +bb +hO +WK +ul +Qj Ip "} (14,1,1) = {" -OJ -in -Fn -FP +ZK +eu +NT tX Pd Wm -uc +zl or -lv +UX sD Mb -uk -uk +oQ +GH PU Is Xk Ip "} (15,1,1) = {" -OJ -in -Ph -FP +ZK +eu +bO nL kM -YJ -YJ +TO +Ex IZ -lv +WE dK -bj -uk +Hh +zc uk Jq -mr +FP Nf Ip "} (16,1,1) = {" -OJ -bl -Fn +ZK +eu ww Mo dx -YJ -LJ -Sg +wh +uc +EE lv tj -bj -uk -uk +eM +rq +tJ KO vf bf Ip "} (17,1,1) = {" -OJ -YJ +GU zK -FP +JE IK RU -YJ -GU -Sg +of +uc +fz lv Fd -bj -uk -uk +eM +JZ +bl Jn -SB +bo OW YN "} (18,1,1) = {" -OJ -YJ -YJ -ei -ei -ei -ei -oC +uc +RS +Uj +GN +zq +zt +uc kb -lv +FH pt -bj -LZ -LZ -LZ -LZ -LZ -LZ +eM +oJ +ja +oy +cc +OQ +eM "} (19,1,1) = {" -OJ -OJ -sP -ei -Jy -RS RN -oC +uc +uc +uc +uc +uc +uc my -lv +DR Gx -bj -Mz -cf -bE -LZ -sP -OJ +eM +eM +eM +eM +eM +eM +gu "} (20,1,1) = {" OJ -OJ -FS -ei +mR +dQ oE sp -pn +dQ oC -my +DJ oR -Gx -bj +dy +bE gT yx Qe -Mb -FS +bj +vm OJ "} (21,1,1) = {" OJ -OJ -FS +zi ei Ub gs MB -dy +Zv qK bv yJ @@ -2702,143 +3896,212 @@ bj Ee HP Tl -Mb -FS +bj +vm OJ "} (22,1,1) = {" OJ -OJ -FS +za ei sZ Px -Kc +dQ IJ DJ xh vj -wh -MG -Fz -Um -Mb -FS +nY +nY +nY +nY +nY +dh OJ "} (23,1,1) = {" OJ -OJ FS -ei -IT -Xw -ap -oC +MG +MG +MG +MG +MG Xl AQ OP -bj +nY pv aY vw -LZ -FS +LJ +nY OJ "} (24,1,1) = {" OJ -OJ FS -ei +MG fV Vb -rE -wv +cf +MG vQ Ka -zc -wv -rE +Zv +qt +fp Ia xr LZ -FS +nY OJ "} (25,1,1) = {" OJ -OJ -bW +FS NM WZ Po -ms +Tz DG Zv qg Mn -mA +nY ms kO hy -NM nY +HE OJ "} (26,1,1) = {" OJ -OJ -OJ -OJ -jS -jS -ms -JH +YA +CO +aV +sP +LH +MG Xo ak RT -GW -ms -jS +nY +XC +Xw jS -OJ -OJ +hd +MD OJ "} (27,1,1) = {" OJ +RJ +NM +ZQ +JH +Gl +MG +Se +rE +sM +nY +bx +Fz +TR +ld +RJ OJ +"} +(28,1,1) = {" OJ -OJ -OJ -OJ +bW +Fq +St +VZ rE rE -Se +Xm OL -sM +Gr rE rE +Ds +Jk +HE +bW OJ +"} +(29,1,1) = {" OJ OJ +TP +ax +Op +Bq +mJ +FN +Mz +Jy +Oz +IT +NC +ql +jz OJ OJ "} -(28,1,1) = {" +(30,1,1) = {" +OJ +OJ +OJ +TP +yN +Bq +pl +hB +Bx +BX +IF +IT +SB +mv +OJ OJ OJ +"} +(31,1,1) = {" OJ OJ OJ OJ OJ +GW rE -Gr -Gr -Gr +Kz +uT +aR rE +GW +OJ +OJ +OJ +OJ +OJ +"} +(32,1,1) = {" +OJ +OJ +OJ +OJ +OJ +OJ +GW +cw +cw +cw +GW OJ OJ OJ diff --git a/_maps/shuttles/independent/independent_junker.dmm b/_maps/shuttles/independent/independent_junker.dmm index a5b4354e745..c7b7eb4ae67 100644 --- a/_maps/shuttles/independent/independent_junker.dmm +++ b/_maps/shuttles/independent/independent_junker.dmm @@ -48,7 +48,7 @@ /area/ship/maintenance/port) "aq" = ( /obj/item/trash/sosjerky, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/areaeditor/shuttle{ pixel_y = 7 }, @@ -67,7 +67,7 @@ /obj/item/storage/backpack/explorer, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/pickaxe/rusted, /turf/open/floor/plating, /area/ship/engineering/electrical) @@ -75,7 +75,7 @@ /obj/structure/rack, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/broken/directional/north, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/item/flashlight/pen, /turf/open/floor/wood/walnut{ icon_state = "wood-broken" @@ -91,7 +91,7 @@ pixel_x = 4; pixel_y = 9 }, -/obj/item/kitchen/knife{ +/obj/item/melee/knife/kitchen{ pixel_y = -3; pixel_x = 10 }, @@ -399,7 +399,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/ship/engineering/electrical) "hb" = ( @@ -857,7 +857,7 @@ "qm" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/item/reagent_containers/food/snacks/canned/peaches/maint, /turf/open/floor/plating, /area/ship/construction) @@ -1232,7 +1232,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/spawner/lootdrop/maintenance/eight, +/obj/effect/spawner/random/maintenance/eight, /obj/structure/safe/floor{ number_of_tumblers = 5 }, @@ -1610,7 +1610,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/ship/maintenance/port) "Df" = ( @@ -1735,7 +1735,7 @@ /obj/item/reagent_containers/glass/bottle/welding_fuel, /obj/machinery/power/apc/auto_name/directional/west, /obj/effect/decal/cleanable/cobweb, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/ship/storage/eva) "Fz" = ( @@ -1790,7 +1790,7 @@ /obj/structure/cable{ icon_state = "5-10" }, -/obj/item/kitchen/knife{ +/obj/item/melee/knife/kitchen{ pixel_y = 1; pixel_x = 8 }, @@ -1808,7 +1808,7 @@ /area/ship/storage/eva) "Hj" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/decal_painter, /obj/item/storage/box/mousetraps, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -2034,7 +2034,7 @@ "JZ" = ( /obj/structure/rack, /obj/machinery/light/small/broken/directional/west, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/item/toner, /obj/item/clothing/neck/stethoscope, /turf/open/floor/plating, @@ -2085,7 +2085,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/light/small/directional/north, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/wood/walnut{ icon_state = "wood-broken3" }, @@ -2231,7 +2231,7 @@ dir = 1 }, /mob/living/simple_animal/hostile/cockroach/glockroach, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/machinery/light_switch{ dir = 8; pixel_x = 20; @@ -2277,14 +2277,13 @@ }, /obj/effect/decal/cleanable/glass, /obj/structure/safe/floor, -/obj/item/circuitboard/computer/cargo/express, +/obj/item/circuitboard/computer/cargo, /turf/open/floor/pod/dark, /area/ship/crew/office) "Rj" = ( /turf/closed/wall/r_wall, /area/ship/maintenance/port) "Ro" = ( -/obj/machinery/pipedispenser/disposal, /obj/item/reagent_containers/food/drinks/mug/tea{ pixel_y = 8; pixel_x = -7 @@ -2305,6 +2304,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, +/obj/machinery/pipedispenser, /turf/open/floor/plating, /area/ship/maintenance/central) "RQ" = ( @@ -2487,7 +2487,7 @@ }, /obj/effect/decal/cleanable/sprayweb, /obj/effect/decal/cleanable/cobweb, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/pod/light, /area/ship/maintenance/aft) "Wv" = ( @@ -2730,7 +2730,7 @@ /obj/structure/cable{ icon_state = "0-2" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/machinery/door/firedoor, /turf/open/floor/plating, /area/ship/maintenance/port) diff --git a/_maps/shuttles/independent/independent_kilo.dmm b/_maps/shuttles/independent/independent_kilo.dmm index a4c390afde8..8fdc4422e93 100644 --- a/_maps/shuttles/independent/independent_kilo.dmm +++ b/_maps/shuttles/independent/independent_kilo.dmm @@ -3,213 +3,168 @@ /turf/template_noop, /area/template_noop) "ac" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, +/turf/closed/wall/r_wall, /area/ship/cargo) "ak" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/obj/machinery/power/shuttle/engine/fueled/plasma, +/turf/open/floor/engine/hull, +/area/ship/engineering) "am" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/conveyor{ - id = "NTMSLoad2"; - name = "on ramp" - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/plasticflaps, -/turf/open/floor/plating, +/obj/machinery/autolathe, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "ar" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/obj/machinery/door/window/westright{ - dir = 4 - }, +/obj/machinery/atmospherics/components/unary/shuttle/heater, /obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/machinery/door/poddoor/shutters{ - id = "kiloengine"; - name = "Engine Shutters"; - dir = 4 +/obj/machinery/door/poddoor{ + dir = 4; + id = "kilothrusters" + }, +/obj/structure/window/reinforced{ + dir = 8 }, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "av" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/portable_atmospherics/scrubber/huge, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 +/obj/structure/sign/poster/random{ + pixel_y = 32 }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/table_frame, +/obj/item/shard, +/obj/effect/decal/cleanable/glass, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "ay" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/mineral/titanium/yellow, +/obj/effect/decal/cleanable/glass, +/mob/living/simple_animal/hostile/cockroach, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "aC" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/structure/reagent_dispensers/fueltank, +/obj/structure/sign/poster/random{ + pixel_y = 32 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/box/corners{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/effect/turf_decal/box/corners{ + dir = 1 }, -/obj/effect/turf_decal/industrial/stand_clear, -/turf/open/floor/plating, -/area/ship/cargo) -"aJ" = ( -/obj/structure/sign/warning/enginesafety, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/engine) -"aS" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/tank/air{ - piping_layer = 2 +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/pink{ + icon_state = "0-2" }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/port) +"aJ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/chair/bench/olive/directional/east, +/obj/structure/railing{ + dir = 8 }, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/corner/opaque/grey/half, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) +"aS" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/closet/secure_closet/engineering_personal{ + anchored = 1; + populate = 0 }, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/obj/item/storage/backpack/industrial, +/obj/item/clothing/under/rank/engineering/engineer, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/head/hardhat/dblue, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) "aU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 +/obj/structure/cable/cyan{ + icon_state = "0-8" }, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/structure/sign/warning/fire{ - pixel_x = 32; - pixel_y = -32 +/obj/machinery/power/terminal{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "aZ" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/reagentgrinder{ - desc = "Used to grind things up into raw materials and liquids."; - pixel_y = 5 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) "bg" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "4-8" - }, +/obj/structure/catwalk/over/plated_catwalk, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/structure/cable/pink{ + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/machinery/light/small/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 5; + pixel_y = -19 }, /turf/open/floor/plating, -/area/ship/cargo) +/area/ship/hallway/port) "bm" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/closet/emcloset/anchored, -/obj/machinery/button/door{ - id = "ntms_exterior"; - name = "NTMS-037 External Lock"; - normaldoorcontrol = 1; - pixel_x = -25; - pixel_y = -8; - specialfunctions = 4 - }, -/obj/machinery/firealarm/directional/east, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/advanced_airlock_controller{ - pixel_x = -28; - pixel_y = 3 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) +/obj/item/toy/plush/moth/punished, +/turf/open/floor/plating, +/area/ship/maintenance/fore) "bn" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, /obj/structure/cable{ icon_state = "0-4" }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/obj/machinery/power/shuttle/engine/electric, +/turf/open/floor/engine/hull, +/area/ship/engineering) "by" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/turf/open/floor/mineral/titanium/yellow, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "bA" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen/kitchen) +/obj/structure/chair/plastic, +/obj/structure/cable/pink{ + icon_state = "4-6" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/item/reagent_containers/food/drinks/beer{ + list_reagents = null; + pixel_x = -14; + pixel_y = 5 + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/central) "bF" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, +/turf/closed/wall, /area/ship/bridge) "bG" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/shuttle{ - name = "Gear Room" - }, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/structure/cable/pink{ + icon_state = "5-8" }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/cable/pink{ + icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -217,2186 +172,1892 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/turf/open/floor/mineral/plastitanium, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "bH" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 + dir = 5 }, -/obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/mineral/titanium/blue, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 10 + }, +/turf/open/floor/plasteel, /area/ship/bridge) "bL" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/structure/cable/pink{ + icon_state = "1-8" }, -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_y = 7 }, -/turf/open/floor/plating, -/area/ship/cargo) +/turf/open/floor/plasteel, +/area/ship/hallway/central) "bM" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/crate, -/obj/item/shovel, -/obj/item/pickaxe, -/obj/item/storage/box/lights/mixed, -/obj/item/mining_scanner, -/obj/effect/turf_decal/box/corners, -/obj/effect/turf_decal/box/corners{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/item/gun/energy/kinetic_accelerator, -/turf/open/floor/plating, -/area/ship/cargo) -"bP" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "whiteship_bridge"; - name = "Garage DoorCockpit Emergency Blast Door"; - dir = 4 +/obj/structure/cable/pink{ + icon_state = "4-9" }, -/obj/machinery/door/firedoor/border_only{ +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, +/obj/item/radio/intercom/directional/south, +/obj/structure/cable/pink{ + icon_state = "1-9" + }, /turf/open/floor/plating, +/area/ship/hallway/port) +"bP" = ( +/turf/closed/wall/r_wall, /area/ship/bridge) "bQ" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/terminal{ +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering) +"bT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 +/obj/structure/cable/pink{ + icon_state = "4-9" }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"bU" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/effect/turf_decal/ntspaceworks_small/left, /turf/open/floor/plating, -/area/ship/engineering/engine) -"bT" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" +/area/ship/hallway/port) +"bV" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/pink{ + icon_state = "4-10" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/turf/open/floor/mineral/titanium/yellow, -/area/ship/cargo) -"bU" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ +/obj/structure/extinguisher_cabinet/directional/south{ + pixel_x = 7 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/turf/open/floor/plating, +/area/ship/hallway/port) +"bX" = ( +/obj/machinery/door/airlock/mining{ + dir = 8; + name = "Cargo Bay" + }, +/obj/structure/cable/pink{ icon_state = "4-8" }, -/obj/machinery/atmospherics/components/binary/valve/layer2{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 8 }, -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"bV" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/shuttle{ - name = "Engineering" +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"bY" = ( +/obj/structure/cable/pink{ + icon_state = "4-8" }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/structure/cable{ +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"bZ" = ( +/obj/structure/closet/crate/secure/exo, +/obj/item/storage/bag/ore, +/obj/item/storage/bag/ore, +/obj/item/pickaxe/drill, +/obj/item/pinpointer/mineral, +/obj/structure/cable/pink{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"ca" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/pink{ + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering/engine) -"bX" = ( -/obj/structure/ore_box, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 4; + pixel_y = -19 }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/structure/extinguisher_cabinet/directional/south{ + pixel_x = -6 }, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, -/area/ship/cargo) -"bY" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" +/area/ship/engineering) +"cb" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"cf" = ( +/obj/machinery/door/poddoor{ + id = "kilocargo" }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "kilofield" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 +/obj/structure/cable/pink{ + icon_state = "0-10" }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/patterned/ridged, /area/ship/cargo) -"bZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +"ci" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/light/directional/south, +/obj/structure/ore_box, +/obj/effect/turf_decal/box/corners{ dir = 8 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plating, +/obj/effect/turf_decal/box/corners, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) -"ca" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"cb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/power/smes/engineering{ - charge = 1e+006 - }, -/obj/structure/sign/warning/electricshock{ - pixel_y = 32 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/industrial/warning{ +"cj" = ( +/obj/structure/closet/crate/internals, +/obj/effect/turf_decal/borderfloor{ dir = 9 }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"cf" = ( -/obj/structure/sign/warning/vacuum/external, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) -"ci" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/suit_storage_unit/independent/mining/eva, /obj/machinery/airalarm/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"cj" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/mineral/plastitanium, +/obj/effect/turf_decal/box/corners, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "ck" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 4 +/obj/machinery/door/airlock{ + name = "Dormitory" }, -/obj/item/flashlight{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/clothing/head/welding{ - pixel_x = -2; - pixel_y = 1 +/obj/structure/cable/pink{ + icon_state = "5-9" }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 +/obj/structure/cable/pink{ + icon_state = "2-9" }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/light_switch{ - pixel_y = -20; +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only{ dir = 1 }, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) "cq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/light/small/built/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/turf/closed/wall, +/area/ship/crew/dorm) "cr" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/power/port_gen/pacman{ - anchored = 1 +/obj/machinery/power/smes/engineering, +/obj/structure/cable/pink{ + icon_state = "0-10" }, -/obj/item/wrench, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow, -/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "cw" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/command{ - name = "Ship Control" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) -"cB" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/obj/structure/table/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ship/cargo) -"cC" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "1-2" + dir = 4 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/item/reagent_containers/food/drinks/beer{ + list_reagents = list(/datum/reagent/consumable/ethanol/beer = 10); + pixel_x = -6; + pixel_y = 7 }, -/obj/structure/cable{ - icon_state = "1-4" +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"cB" = ( +/obj/structure/closet/secure_closet/miner{ + anchored = 1; + populate = 0 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/borderfloor{ dir = 1 }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"cJ" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/closet/emcloset/anchored, -/obj/structure/sign/warning/vacuum/external{ - pixel_x = -32 +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 10 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/south, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 32 +/obj/effect/turf_decal/box/corners{ + dir = 8 }, -/turf/open/floor/mineral/plastitanium, +/obj/effect/turf_decal/box/corners, +/obj/item/storage/backpack/explorer, +/obj/item/clothing/shoes/workboots/mining, +/obj/item/clothing/under/rank/cargo/miner/hazard, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/gloves/explorer, +/obj/item/clothing/glasses/meson, +/obj/item/clothing/head/hardhat/mining, +/obj/item/clothing/suit/armor/vest, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) -"cK" = ( -/obj/effect/decal/cleanable/blood/old, +"cC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/cargo) -"cM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/door/airlock/engineering{ + dir = 8; + name = "Engine Bay" }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/structure/cable/pink{ + icon_state = "6-8" }, -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/meter/atmos, -/obj/machinery/light/directional/east, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"cP" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "whiteship_windows"; - name = "Exterior Window Blast Door" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ship/cargo) -"cV" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/shuttle{ - name = "Ship Saloon" +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, /obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) +"cJ" = ( +/obj/structure/chair/handrail{ dir = 1 }, -/obj/machinery/door/firedoor/border_only, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/advanced_airlock_controller{ + pixel_y = -21 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen/kitchen) -"cW" = ( -/obj/machinery/power/smes/shuttle{ - dir = 4 +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/pink{ + icon_state = "0-9" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = 13 }, -/obj/machinery/door/window/westright{ +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/maintenance/fore) +"cK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/passive_vent{ dir = 4 }, -/obj/structure/cable{ - icon_state = "0-8" +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"cM" = ( +/obj/structure/cable/pink{ + icon_state = "5-8" }, -/obj/structure/window/reinforced/spawner/north, -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/obj/machinery/door/poddoor/shutters{ - id = "kiloengine"; - name = "Engine Shutters"; - dir = 4 +/obj/structure/cable/pink{ + icon_state = "6-8" }, /turf/open/floor/plating, -/area/ship/engineering/engine) -"cY" = ( -/obj/effect/decal/cleanable/greenglow, +/area/ship/engineering) +"cP" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/door/poddoor/shutters{ + id = "kilowindows" + }, +/turf/open/floor/plating/airless, +/area/ship/hallway/port) +"cV" = ( +/obj/structure/cable/pink{ + icon_state = "2-9" + }, +/obj/structure/cable/pink{ + icon_state = "2-5" + }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/mono{ dir = 1 }, -/obj/effect/turf_decal/industrial/warning{ +/area/ship/cargo) +"cW" = ( +/obj/structure/sink/kitchen{ dir = 8 }, -/obj/machinery/button/door{ - name = "Shutter Control"; - dir = 4; - pixel_y = -7; - pixel_x = -23; - id = "kiloengine" +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -12 }, -/obj/structure/cable{ +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/turf/open/floor/plasteel, +/area/ship/crew) +"cY" = ( +/obj/structure/cable/pink{ icon_state = "0-4" }, -/obj/machinery/power/ship_gravity, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "cZ" = ( -/obj/structure/closet/secure_closet/personal, -/obj/item/gun/energy/laser/retro, -/obj/structure/plaque/static_plaque/golden/captain{ - pixel_x = -32 - }, -/obj/item/paicard, -/obj/item/clothing/shoes/cowboy/white, -/obj/item/clothing/head/caphat/cowboy, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/clothing/suit/armor/vest/capcarapace/duster, -/turf/open/floor/carpet, -/area/ship/crew) +/obj/machinery/power/ship_gravity, +/obj/structure/cable/pink{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/engineering) "da" = ( -/obj/structure/chair/comfy/orange/directional/north{ - buildstackamount = 0; - color = "#c45c57" +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"dc" = ( +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = -11 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/status_display{ - pixel_y = 32; - pixel_x = -32 +/obj/structure/cable/pink{ + icon_state = "0-1" }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/carpet, -/area/ship/crew) -"dc" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ - dir = 1 +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/machinery/microwave{ - pixel_y = 5 +/obj/effect/decal/cleanable/vomit/old{ + pixel_x = -5 }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen/kitchen) +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) "de" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/cable/pink{ + icon_state = "2-9" }, /obj/machinery/door/firedoor/border_only, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"dt" = ( -/obj/machinery/vending/boozeomat/all_access, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen/kitchen) -"dF" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4, -/obj/structure/catwalk, -/turf/open/floor/plating/airless, -/area/ship/external) -"eo" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/item/weldingtool/largetank, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock{ + dir = 1; + name = "Cryo Room" }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"eN" = ( -/obj/effect/turf_decal/industrial/warning{ +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"dt" = ( +/obj/machinery/vending/cigarette, +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/black/half{ dir = 1 }, -/obj/machinery/button/door{ - id = "kilocargo"; - name = "Cargo Bay Control"; - pixel_x = 25; - pixel_y = 7; - dir = 8 +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"dE" = ( +/obj/structure/sign/number/random, +/turf/closed/wall/r_wall, +/area/ship/engineering) +"dF" = ( +/obj/effect/turf_decal/miskilamo_small/right{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/simple/general/hidden{ dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"eo" = ( +/obj/machinery/power/port_gen/pacman{ + anchored = 1 }, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/machinery/button/shieldwallgen{ - dir = 8; - pixel_y = -6; - pixel_x = 24; - id = "kiloshield" +/obj/structure/cable/cyan{ + icon_state = "0-2" }, /turf/open/floor/plating, +/area/ship/engineering) +"eN" = ( +/obj/machinery/light/directional/west, +/obj/structure/crate_shelf, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "fs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/turf/open/floor/mineral/titanium/blue, -/area/ship/bridge) -"fu" = ( -/obj/machinery/power/smes/shuttle{ - dir = 4 - }, -/obj/machinery/door/window/westright{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/reinforced/spawner, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 + dir = 5 }, -/obj/machinery/door/poddoor/shutters{ - id = "kiloengine"; - name = "Engine Shutters"; - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) +"fu" = ( +/obj/effect/turf_decal/corner/opaque/black/mono, +/turf/closed/wall/r_wall/yesdiag, +/area/ship/cargo) "fv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/cable/cyan{ + icon_state = "1-10" }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/industrial/warning/corner{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/ntspaceworks_small, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "gp" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/closet/wall/blue/directional/north{ + name = "Captain's locker" + }, +/obj/item/clothing/under/rank/command/captain/suit, +/obj/item/clothing/under/rank/command/captain/skirt, +/obj/item/storage/backpack/captain, +/obj/item/clothing/gloves/color/white, +/obj/item/clothing/shoes/sneakers/brown, +/obj/item/clothing/suit/jacket/leather/duster/command, +/obj/item/clothing/glasses/cheapsuns, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/item/storage/box/ammo/a12g_buckshot, +/obj/item/gun/ballistic/shotgun/doublebarrel/presawn{ + default_ammo_type = 0 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 +/obj/structure/cable/pink{ + icon_state = "4-10" }, -/turf/open/floor/mineral/titanium/blue, +/obj/item/gun/ballistic/shotgun/doublebarrel/presawn/empty, +/turf/open/floor/plasteel, /area/ship/bridge) "gs" = ( -/obj/effect/turf_decal/industrial/warning{ +/obj/structure/cable/pink{ + icon_state = "4-10" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/cable/pink{ + icon_state = "0-10" }, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 6 }, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/ntspaceworks_small/right, +/obj/item/cigbutt, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "gC" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/terminal{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/item/storage/toolbox/electrical{ + pixel_x = -3; + pixel_y = 8 }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/item/storage/toolbox/mechanical{ + pixel_y = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/structure/table, +/obj/machinery/light/small/directional/west, +/obj/item/clothing/glasses/welding{ + pixel_x = 5; + pixel_y = -9 }, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "hh" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "engine fuel pump" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, +/obj/structure/chair, +/obj/effect/decal/cleanable/oil, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "hN" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/shower{ - pixel_y = 18 +/obj/machinery/mineral/processing_unit{ + input_dir = 8 }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/industrial/warning{ +/obj/structure/railing/corner{ dir = 8 }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20; - pixel_y = -12 - }, -/turf/open/floor/mineral/titanium/yellow, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "hR" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/item/stack/sheet/glass/fifty{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/stack/rods/fifty, -/obj/item/storage/toolbox/electrical{ - pixel_x = -3; - pixel_y = 8 +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 6 }, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000; - pixel_x = 3; - pixel_y = -1 +/obj/effect/turf_decal/arrows{ + dir = 4 }, -/obj/item/stack/sheet/metal/fifty, -/turf/open/floor/mineral/plastitanium, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "hS" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/shuttle{ - name = "Bunk A" +/obj/structure/chair/sofa/brown/old/left/directional/east, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/mineral/plastitanium, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plasteel/grimy, /area/ship/crew) "ig" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/shuttle{ - name = "Bathroom" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/radio/intercom/directional/east, +/obj/item/mop{ + pixel_x = 17 }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/item/reagent_containers/glass/bucket{ + list_reagents = list(/datum/reagent/water = 20); + pixel_x = 8; + pixel_y = 7 }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew) +/turf/open/floor/carpet, +/area/ship/crew/dorm) "im" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/rack, -/obj/item/storage/box/lights/mixed, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plating, -/area/ship/cargo) +/obj/structure/grille, +/obj/structure/window/fulltile, +/turf/open/floor/plating/airless, +/area/ship/hallway/central) "io" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/table_frame, -/obj/item/stack/sheet/metal, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) -"iM" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Bridge"; + req_access_txt = "19" + }, +/obj/structure/cable/pink{ + icon_state = "4-8" }, -/obj/effect/decal/cleanable/blood/old, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 + dir = 4 }, -/obj/machinery/conveyor_switch/oneway{ - id = "NTMSLoad"; - name = "Off Ramp"; - pixel_y = 9; - pixel_x = -8 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/machinery/conveyor_switch/oneway{ - id = "NTMSLoad2"; - name = "On Ramp"; - pixel_x = 4 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/plating, -/area/ship/cargo) -"iT" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"iM" = ( +/obj/structure/cable/pink{ + icon_state = "2-6" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) +/obj/structure/chair/bench/beige/directional/east{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/grey/half, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) +"iT" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/food/flour, +/mob/living/simple_animal/hostile/cockroach, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/turf/open/floor/plasteel, +/area/ship/crew) "jl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/mineral/processing_unit_console{ + dir = 8; + machinedir = 1; + output_dir = 4; + pixel_x = 20; + pixel_y = 0 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 5 }, -/turf/open/floor/mineral/titanium/yellow, +/obj/effect/turf_decal/industrial/loading, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "jx" = ( -/obj/machinery/autolathe, -/obj/machinery/status_display{ +/obj/machinery/conveyor{ + dir = 4; + id = "kiloconveyor" + }, +/obj/structure/sign/poster/random{ pixel_y = 32 }, -/turf/open/floor/mineral/plastitanium, +/obj/structure/railing, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "jK" = ( -/obj/item/stack/rods, -/obj/machinery/holopad/emergency/command, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/turf/open/floor/mineral/titanium/blue, -/area/ship/bridge) -"jU" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/cell/high, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/light/directional/north, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"kb" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ - dir = 4 +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -10; + pixel_y = -19 }, -/turf/open/floor/plating, -/area/ship/cargo) -"kA" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/engineering/engine) -"mr" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/cable/pink{ + icon_state = "4-8" }, -/obj/effect/turf_decal/industrial/warning{ +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/bridge) +"jU" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/port) +"kb" = ( +/obj/structure/chair/handrail, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/maintenance/fore) +"kA" = ( +/turf/closed/wall/r_wall, +/area/ship/engineering) +"lw" = ( +/turf/closed/wall/rust, +/area/ship/bridge) +"mr" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/eva, +/obj/item/clothing/head/helmet/space/eva, +/obj/item/clothing/mask/breath, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ dir = 8 }, -/obj/machinery/light/directional/east, -/turf/open/floor/mineral/titanium/yellow, +/obj/effect/turf_decal/box/corners, +/obj/structure/cable/pink{ + icon_state = "1-5" + }, +/obj/machinery/firealarm/directional/south, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "mz" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew) +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/obj/machinery/light_switch{ + pixel_x = 7; + pixel_y = 20 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/carpet, +/area/ship/crew/dorm) "nd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/cable{ - icon_state = "2-4" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 +/obj/structure/cable/pink{ + icon_state = "8-9" }, -/turf/open/floor/mineral/titanium/blue, +/obj/structure/cable/pink{ + icon_state = "1-5" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plasteel/dark, /area/ship/bridge) "ng" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ +/obj/structure/cable/pink{ icon_state = "0-4" }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 6 - }, -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/power/terminal{ dir = 8 }, +/obj/structure/cable/pink{ + icon_state = "4-5" + }, +/obj/item/cigbutt, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "nJ" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/button/door{ + dir = 4; + id = "kilocargo"; + name = "blast door control"; + pixel_x = -20; + pixel_y = 7 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ship/cargo) -"nO" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/conveyor{ - dir = 1; - id = "NTMSLoad"; - name = "off ramp" +/obj/machinery/button/shieldwallgen{ + dir = 4; + id = "kilofield"; + pixel_x = -19; + pixel_y = -2 }, -/obj/structure/window/reinforced{ - dir = 4 +/obj/item/clothing/head/cone{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/obj/structure/plasticflaps, -/turf/open/floor/plating, /area/ship/cargo) +"nO" = ( +/turf/closed/wall/r_wall, +/area/ship/hallway/central) "oj" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, +/obj/structure/table, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden, +/obj/machinery/cell_charger, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "oP" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/tank/toxins{ - dir = 1 +/obj/structure/table, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 +/obj/item/stack/sheet/mineral/plasma/ten, +/obj/item/reagent_containers/food/drinks/beer{ + list_reagents = null; + pixel_x = -13; + pixel_y = 11 }, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "pV" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/mob/living/simple_animal/hostile/netherworld/migo{ - environment_smash = 0; - faction = list("neutral"); - melee_damage_lower = 5; - melee_damage_upper = 10; - name = "maurice" +/obj/machinery/conveyor_switch/oneway{ + id = "kiloconveyor"; + layer = 3.09; + pixel_x = 11; + pixel_y = 14 }, -/turf/open/floor/mineral/titanium/yellow, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "qv" = ( -/obj/machinery/door/poddoor{ - id = "kilocargo"; - name = "NTMS-037 Bay Blast Door" - }, -/obj/machinery/conveyor{ - dir = 1; - id = "NTMSLoad"; - name = "off ramp" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - id = "kiloshield"; +/obj/machinery/door/airlock/external{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/cargo) -"qw" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, /obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/atmospherics/pipe/layer_manifold{ +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/dark, +/area/ship/maintenance/fore) +"qw" = ( +/obj/machinery/door/airlock/external{ dir = 4 }, -/obj/machinery/door/airlock/external{ - name = "Mining Airlock"; +/obj/machinery/atmospherics/pipe/layer_manifold{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/dark, +/area/ship/maintenance/fore) "rc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/cable/pink{ + icon_state = "1-8" }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/plating, -/area/ship/cargo) +/area/ship/hallway/port) "rq" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/structure/cable/pink{ + icon_state = "4-9" }, -/obj/structure/cable{ - icon_state = "2-4" +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/door/poddoor{ - id = "kilocargo"; - name = "NTMS-037 Bay Blast Door" +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/pink{ + icon_state = "4-8" }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) +/turf/open/floor/plating, +/area/ship/hallway/central) "rO" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/machinery/door/airlock/glass{ + dir = 8; + name = "Crew Quarters" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) -"rW" = ( -/obj/machinery/porta_turret/ship/weak{ +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/closed/wall/mineral/titanium, -/area/ship/bridge) +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"rW" = ( +/turf/closed/wall/yesdiag, +/area/ship/maintenance/fore) "sD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/structure/chair/sofa/brown/right/directional/south, -/turf/open/floor/wood{ - icon_state = "wood-broken3" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/area/ship/crew/canteen/kitchen) +/obj/machinery/computer/helm/viewscreen/directional/south, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/hallway/central) "sG" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "0-4" +/obj/structure/cable/pink{ + icon_state = "1-10" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_y = 7 }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch{ - pixel_x = 13; - pixel_y = 21 +/obj/structure/cable/pink{ + icon_state = "6-10" }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew) +/turf/open/floor/carpet, +/area/ship/crew/dorm) "sW" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo/retro{ dir = 8 }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/mineral/plastitanium, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 10 + }, +/turf/open/floor/plasteel, /area/ship/bridge) +"tb" = ( +/turf/closed/wall/rust, +/area/ship/crew/dorm) +"tW" = ( +/turf/closed/wall/rust, +/area/ship/crew) +"vl" = ( +/turf/closed/wall/r_wall/rust, +/area/ship/hallway/port) "vv" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "whiteship_bridge"; - name = "Garage DoorCockpit Emergency Blast Door" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "kilowindows" }, -/turf/open/floor/plating, -/area/ship/bridge) +/turf/open/floor/plating/airless, +/area/ship/hallway/central) "vU" = ( -/obj/docking_port/stationary{ - width = 30; - height = 15; - dwidth = 15 +/obj/structure/cable/pink{ + icon_state = "1-2" }, -/turf/template_noop, -/area/template_noop) +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "wc" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/shuttle{ - name = "Ship Lockers" +/obj/structure/table/wood, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/item/toy/cards/deck{ + pixel_y = 22 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/item/reagent_containers/food/snacks/sandwich{ + pixel_x = -1; + pixel_y = 9 }, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"wh" = ( +/turf/closed/wall/r_wall/rust, +/area/ship/crew/dorm) +"xe" = ( +/obj/machinery/door/airlock/external/glass{ + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 8 }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew) -"wh" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/cable/pink{ + icon_state = "6-10" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/dark, +/area/ship/maintenance/fore) +"xk" = ( +/turf/closed/wall, +/area/ship/hallway/central) +"xn" = ( +/turf/closed/wall/rust, +/area/ship/hallway/central) +"xF" = ( +/obj/structure/cable/pink{ + icon_state = "8-9" }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = 11 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) -"xe" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/external{ - name = "Mining Airlock"; - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"xk" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/bag/tray, -/obj/item/reagent_containers/food/snacks/burger/bearger, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken3" - }, -/area/ship/crew/canteen/kitchen) -"xF" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew) +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) "yd" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/structure/cable/pink{ + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/machinery/meter/atmos/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "yn" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/crate, -/obj/item/stack/sheet/metal/twenty, -/obj/item/stack/sheet/glass{ - amount = 10 +/obj/structure/closet/secure_closet/freezer/fridge{ + populate = 0 }, -/obj/item/storage/box/lights/bulbs, -/obj/item/stack/sheet/mineral/plasma{ - amount = 10 +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -8 }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/pink{ + icon_state = "0-10" }, -/obj/machinery/light/directional/west, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plating, -/area/ship/cargo) +/obj/effect/decal/cleanable/cobweb, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/soda_cans/cola, +/obj/item/reagent_containers/food/drinks/soda_cans/cola, +/obj/item/reagent_containers/food/drinks/soda_cans/cola, +/obj/item/reagent_containers/food/drinks/soda_cans/cola, +/obj/item/reagent_containers/food/drinks/soda_cans/cola, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/item/reagent_containers/food/snacks/icecreamsandwich, +/obj/item/reagent_containers/food/snacks/icecreamsandwich, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, +/area/ship/crew) "yF" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "whiteship_windows"; - name = "Exterior Window Blast Door" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/crew/canteen/kitchen) +/turf/closed/wall/r_wall, +/area/ship/crew) "zc" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ +/obj/structure/curtain, +/obj/machinery/shower{ dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = -6; +/obj/item/soap{ pixel_y = 4 }, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = -6; - pixel_y = 8 +/obj/item/bikehorn/rubberducky/plasticducky{ + pixel_x = -9; + pixel_y = -7 }, -/obj/item/reagent_containers/food/condiment/enzyme{ - layer = 5; - pixel_x = 12; - pixel_y = 6 +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen/kitchen) +/turf/open/floor/plasteel/freezer, +/area/ship/crew) "zH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 2 - }, -/obj/structure/chair/sofa/brown/left/directional/west, -/turf/open/floor/wood{ - icon_state = "wood-broken6" - }, -/area/ship/crew/canteen/kitchen) -"AB" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/external{ - name = "Mining Airlock"; - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"AE" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/shuttle{ - name = "Captain's Quarters" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/firedoor/border_only{ dir = 4 }, +/obj/structure/cable/pink{ + icon_state = "5-9" + }, /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/door/airlock{ + dir = 8; + name = "Dormitory" }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew) -"AP" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/turretid{ - icon_state = "control_kill"; - lethal = 1; - locked = 0; - name = "Mining Turret control panel"; - pixel_x = -28; - pixel_y = 6; - req_access = null +/obj/effect/turf_decal/siding/wood{ + color = "#E3994E"; + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 +/obj/effect/turf_decal/siding/wood{ + color = "#E3994E"; + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +/turf/open/floor/wood/yew, +/area/ship/crew) +"AB" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"AE" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/under/utility, +/obj/item/clothing/under/utility, +/obj/item/clothing/under/utility/skirt, +/obj/item/clothing/under/utility/skirt, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/pink{ + icon_state = "0-4" }, -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ dir = 1 }, -/turf/open/floor/mineral/titanium/blue, -/area/ship/bridge) +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"AP" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "engine fuel pump"; + target_pressure = 500 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plating, +/area/ship/engineering) "AQ" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/engineering/engine) +/turf/closed/wall, +/area/ship/engineering) "AV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/terminal{ - dir = 8 +/obj/structure/cable/cyan{ + icon_state = "4-5" }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/structure/cable/pink{ + icon_state = "0-6" }, -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/power/terminal{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "Bm" = ( -/obj/structure/bed, -/obj/item/bedsheet/captain, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood, -/area/ship/crew) -"Bu" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "whiteship_bridge"; - name = "Garage DoorCockpit Emergency Blast Door" +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 }, /turf/open/floor/plating, +/area/ship/engineering) +"Bu" = ( +/turf/closed/wall/r_wall/yesdiag, /area/ship/bridge) "BP" = ( /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/corner_techfloor_grid/full{ + dir = 4 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/plasteel, /area/ship/bridge) "BS" = ( -/obj/effect/spawner/structure/window/shuttle, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, /obj/machinery/door/poddoor{ - id = "whiteship_bridge"; - name = "Garage DoorCockpit Emergency Blast Door"; - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 + dir = 4; + id = "kilobridge" }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/ship/bridge) +"Ce" = ( +/turf/closed/wall/rust, +/area/ship/maintenance/fore) "Co" = ( -/obj/effect/decal/cleanable/oil, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 +/obj/machinery/door/poddoor{ + id = "kilocargo" }, -/turf/open/floor/plating, +/obj/docking_port/mobile{ + dir = 2; + launch_status = 0; + name = "Mining Shuttle"; + port_direction = 8; + preferred_direction = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, /area/ship/cargo) "Cv" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/cable/pink{ + icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/mineral/titanium/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/closet/crate/medical, +/obj/item/clothing/gloves/color/latex/nitrile, +/obj/item/storage/firstaid/regular, +/obj/item/roller, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Da" = ( -/obj/structure/chair/comfy/shuttle, -/obj/effect/turf_decal/industrial/warning, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/mineral/titanium/blue, -/area/ship/bridge) +/obj/item/cigbutt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "Ds" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/folder/yellow{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/paper/crumpled/bloody{ - default_raw_text = "We struck gold, literally. We found some good rocks out near Centurai-II rich with the stuff. Kae said he and Milos found something out while prospecting, some sort of glowing cube. It's jammed in there good, so we're anchoring until we sort this out..."; - pixel_x = 4; - pixel_y = 4 +/obj/structure/filingcabinet/chestdrawer{ + dir = 8 }, -/obj/item/gps{ - gpstag = "NTMS-037"; - pixel_x = -9; - pixel_y = 4 +/obj/item/folder/blue, +/obj/item/folder/yellow, +/obj/item/folder, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/computer_hardware/card_slot, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/pink{ + icon_state = "0-8" }, -/obj/machinery/firealarm/directional/north, -/obj/item/areaeditor/shuttle, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel, /area/ship/bridge) "Ew" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/chair/sofa/brown/corner/directional/south, -/obj/machinery/firealarm/directional/north, -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood{ - icon_state = "wood-broken" +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/south, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -8; + pixel_y = -19 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/pink{ + icon_state = "4-6" }, -/area/ship/crew/canteen/kitchen) +/obj/item/cigbutt, +/turf/open/floor/plating, +/area/ship/hallway/central) "EG" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/cryopod, -/obj/machinery/airalarm/directional/east, -/obj/machinery/light/small/directional/north, -/obj/machinery/computer/cryopod/directional/west, -/turf/open/floor/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/confetti, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/turf/open/floor/plasteel, /area/ship/crew) "EU" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/command{ - name = "Ship Control"; - dir = 4 +/obj/structure/cable/pink{ + icon_state = "1-2" }, -/obj/machinery/door/firedoor/border_only{ +/obj/item/cigbutt, +/obj/machinery/computer/cryopod/retro/directional/west, +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"GK" = ( +/obj/structure/table, +/obj/machinery/light_switch{ + pixel_x = -10; + pixel_y = 20 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/item/radio{ + pixel_y = 5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/item/radio{ + pixel_y = 5 }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen/kitchen) -"GK" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/cable{ - icon_state = "4-8" +/obj/item/radio{ + pixel_y = 5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 +/obj/item/radio{ + pixel_y = 5 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 +/obj/item/radio{ + pixel_y = 5 }, -/turf/open/floor/mineral/titanium/blue, -/area/ship/bridge) +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) "GM" = ( -/obj/structure/table, -/obj/machinery/recharger, -/obj/item/radio/intercom/wideband/directional/north, -/obj/machinery/light/small/directional/west, -/turf/open/floor/mineral/plastitanium, +/obj/machinery/computer/crew/retro{ + dir = 4 + }, +/obj/structure/cable/pink{ + icon_state = "4-6" + }, +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, /area/ship/bridge) "HP" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = 11 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_y = 7 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) +/obj/effect/decal/cleanable/confetti, +/obj/item/cigbutt, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) "Ih" = ( -/obj/structure/table, -/obj/item/wrench, -/obj/item/tank/internals/emergency_oxygen, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/light/directional/west, -/turf/open/floor/mineral/plastitanium, +/obj/structure/cable/pink{ + icon_state = "1-6" + }, +/obj/structure/ore_box, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) +"IJ" = ( +/obj/structure/sign/number/random, +/turf/closed/wall/r_wall/rust, +/area/ship/crew/dorm) "Jf" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/engine) +/turf/closed/wall/r_wall, +/area/ship/hallway/port) +"Jt" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall/yesdiag, +/area/ship/maintenance/fore) "Kz" = ( -/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, /obj/structure/rack, -/obj/item/storage/toolbox/emergency, -/obj/item/circuitboard/machine/ore_redemption, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 +/obj/item/stack/sheet/plastic/five, +/obj/item/stack/sheet/glass/twenty, +/obj/item/stack/sheet/metal/twenty, +/obj/effect/turf_decal/box/corners{ + dir = 8 }, -/obj/machinery/light/directional/east, -/turf/open/floor/plating, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "KB" = ( -/obj/effect/turf_decal/industrial/warning{ +/turf/closed/wall, +/area/ship/maintenance/fore) +"KM" = ( +/obj/effect/decal/cleanable/oil/streak, +/obj/item/cigbutt, +/obj/effect/turf_decal/corner/opaque/grey/half, +/obj/machinery/atmospherics/components/binary/volume_pump/layer4{ dir = 1 }, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) +"KR" = ( +/obj/machinery/door/airlock/mining/glass{ + name = "Cargo Bay" }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ - dir = 4 +/obj/structure/cable/pink{ + icon_state = "1-2" }, -/turf/open/floor/plating, -/area/ship/cargo) -"KM" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/ore_box, -/obj/effect/turf_decal/industrial/warning/corner{ +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"La" = ( +/obj/item/clothing/head/cone{ + pixel_x = 11; + pixel_y = 4 }, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 1; - name = "Scrubbers to Outside" +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_y = 7 }, -/turf/open/floor/plating, -/area/ship/cargo) -"KR" = ( -/obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes/cigars/havana{ - pixel_y = 5 - }, -/obj/item/crowbar/red, -/obj/item/lighter{ - pixel_x = -8; - pixel_y = 8 +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/carpet, -/area/ship/crew) -"La" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "whiteship_windows"; - name = "Exterior Window Blast Door" +/obj/item/cigbutt, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, /area/ship/cargo) "LC" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/cable/cyan{ + icon_state = "4-8" }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/structure/cable/pink{ + icon_state = "2-5" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "Mj" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/suit_storage_unit/independent/mining/eva, -/turf/open/floor/mineral/plastitanium, +/obj/machinery/mineral/unloading_machine, +/obj/structure/railing, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "MI" = ( -/obj/machinery/power/smes/shuttle{ - dir = 4 - }, -/obj/machinery/door/window/westright{ - dir = 4 - }, /obj/structure/cable{ icon_state = "0-8" }, -/obj/structure/window/reinforced/spawner, +/obj/machinery/power/smes/shuttle, /obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/machinery/door/poddoor/shutters{ - id = "kiloengine"; - name = "Engine Shutters"; - dir = 4 +/obj/machinery/door/poddoor{ + dir = 4; + id = "kilothrusters" + }, +/obj/structure/window/reinforced{ + dir = 8 }, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "MY" = ( -/obj/structure/closet/secure_closet/personal, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ - dir = 1 - }, -/obj/item/gun/energy/e_gun/mini, -/obj/item/stock_parts/cell/gun/mini, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/shoes/cowboy, -/obj/item/clothing/shoes/cowboy, -/obj/item/clothing/shoes/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/structure/chair/sofa/brown/old/corner/directional/north, +/obj/structure/sign/poster/random{ + pixel_x = -32; + pixel_y = 0 }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/grimy, /area/ship/crew) "Ng" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/cable{ +/obj/structure/cable/pink{ icon_state = "1-8" }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Nq" = ( -/obj/machinery/conveyor{ - id = "NTMSLoad2"; - name = "on ramp" - }, -/obj/structure/cable{ - icon_state = "0-8" +/obj/structure/cable/pink{ + icon_state = "4-9" }, -/obj/machinery/door/poddoor{ - id = "kilocargo"; - name = "NTMS-037 Bay Blast Door" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/pink{ + icon_state = "8-10" }, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 8; - id = "kiloshield" +/mob/living/simple_animal/hostile/netherworld/migo{ + environment_smash = 0; + faction = list("neutral"); + melee_damage_lower = 5; + melee_damage_upper = 10; + name = "maurice" }, /turf/open/floor/plating, +/area/ship/engineering) +"Nq" = ( +/turf/closed/wall/r_wall/yesdiag, /area/ship/cargo) "NB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock{ + dir = 4; + name = "Restroom" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"NI" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 14 }, -/obj/machinery/status_display{ - pixel_x = -32; - pixel_y = -32 +/obj/structure/mirror{ + pixel_x = 24; + pixel_y = 0 }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) -"NI" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/toilet{ + pixel_y = 18 }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 +/obj/machinery/light/small/directional/north{ + pixel_x = 11 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/light_switch{ + pixel_x = -12; + pixel_y = 20 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/item/storage/pill_bottle/happy{ + pixel_x = 12; + pixel_y = 12 + }, +/mob/living/simple_animal/hostile/cockroach, +/obj/effect/decal/cleanable/vomit/old{ + pixel_x = -5 }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) +/turf/open/floor/plasteel/patterned, +/area/ship/crew) "NT" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 3 }, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "1-8" +/turf/open/floor/plasteel, +/area/ship/bridge) +"NU" = ( +/obj/structure/table/wood, +/obj/structure/cable/pink{ + icon_state = "2-5" }, -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/turf/open/floor/mineral/titanium/blue, -/area/ship/bridge) -"NU" = ( -/obj/machinery/conveyor{ - id = "NTMSLoad2"; - name = "on ramp" +/obj/item/flashlight/lamp/green{ + pixel_y = 3 }, -/obj/structure/window/reinforced{ - dir = 8 +/obj/structure/sign/poster/random{ + pixel_x = -32; + pixel_y = 0 }, -/turf/open/floor/plating, -/area/ship/cargo) +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"Of" = ( +/turf/closed/wall/r_wall, +/area/ship/maintenance/fore) "OH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable/pink{ + icon_state = "2-10" }, -/turf/open/floor/mineral/titanium/yellow, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) +"OQ" = ( +/turf/closed/wall/r_wall/rust, +/area/ship/engineering) "Pg" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/computer/helm{ +/obj/machinery/computer/helm/retro{ dir = 8 }, -/obj/machinery/light/directional/east, -/turf/open/floor/mineral/plastitanium, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, /area/ship/bridge) -"PS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light_switch{ - pixel_y = -23; - dir = 1 - }, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/closet/crate/internals, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/plating, +"PJ" = ( +/turf/closed/wall/r_wall/rust, /area/ship/cargo) +"PS" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ship/crew) "PW" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 10 - }, -/turf/closed/wall/mineral/titanium, -/area/ship/bridge) +/turf/closed/wall/r_wall/yesdiag, +/area/ship/crew/dorm) "Qw" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - name = "Mining Airlock"; - dir = 8 - }, -/obj/docking_port/mobile{ - dir = 4; - launch_status = 0; - name = "Mining Shuttle"; - preferred_direction = 4; - port_direction = 2 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) +/obj/structure/sign/warning/docking, +/turf/closed/wall, +/area/ship/maintenance/fore) "Rq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "kilowindows" }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 +/turf/open/floor/plating/airless, +/area/ship/crew/dorm) +"RJ" = ( +/obj/structure/chair/stool{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 6 }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) -"RJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "0-2" +/obj/machinery/button/door{ + id = "kilowindows"; + name = "Window Lockdown"; + pixel_x = -6; + pixel_y = 20 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 +/obj/machinery/button/door{ + id = "kilobridge"; + name = "Bridge Lockdown"; + pixel_x = 6; + pixel_y = 20 }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch{ - pixel_x = -13; - pixel_y = 23 +/obj/structure/cable/pink{ + icon_state = "2-8" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/plasteel, /area/ship/bridge) "Sx" = ( -/obj/structure/closet/secure_closet/freezer{ - locked = 0; - name = "fridge" - }, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sandwich, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ - dir = 1 +/obj/structure/table/reinforced, +/obj/item/cutting_board{ + anchored = 1 }, -/obj/item/storage/cans/sixbeer, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen/kitchen) +/obj/item/melee/knife/kitchen, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, +/area/ship/crew) "Ti" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "whiteship_windows"; - name = "Exterior Window Blast Door" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "kilowindows" }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/ship/crew) "Tn" = ( -/obj/machinery/power/smes/shuttle{ - dir = 4 - }, -/obj/machinery/door/window/westright{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/reinforced/spawner/north, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters{ - id = "kiloengine"; - name = "Engine Shutters"; - dir = 8 +/obj/structure/bed, +/obj/structure/cable/pink{ + icon_state = "1-6" }, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/obj/effect/spawner/random/bedsheet, +/obj/machinery/light/directional/west, +/turf/open/floor/carpet, +/area/ship/crew/dorm) "To" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/reagent_dispensers/watertank, -/obj/item/reagent_containers/glass/bucket, -/obj/item/mop, -/obj/item/storage/bag/trash{ - pixel_x = 6 +/obj/machinery/door/poddoor{ + id = "kilocargo" }, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/cable, -/obj/effect/turf_decal/industrial/warning{ - dir = 2 +/obj/structure/cable/pink{ + icon_state = "0-6" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "kilofield" }, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"Tr" = ( +/turf/closed/wall/rust, +/area/ship/engineering) "TD" = ( -/obj/structure/table, -/obj/machinery/button/door{ - id = "whiteship_bridge"; - name = "Bridge Blast Door Control"; - pixel_x = -6; - pixel_y = -2; - dir = 1 - }, -/obj/machinery/button/door{ - id = "whiteship_windows"; - name = "Windows Blast Door Control"; - pixel_x = -6; - pixel_y = 8; - dir = 1 +/obj/machinery/light/directional/south, +/obj/structure/table/reinforced, +/obj/item/megaphone/cargo{ + pixel_x = 4; + pixel_y = 5 }, -/obj/item/radio{ - pixel_x = 6; - pixel_y = 4 +/obj/item/cigbutt{ + pixel_x = -17; + pixel_y = 5 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/tech/grid, /area/ship/bridge) "TG" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/turf/closed/wall, +/area/ship/hallway/port) +"TY" = ( +/turf/closed/wall/r_wall/rust, +/area/ship/bridge) "Ua" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "whiteship_windows"; - name = "Exterior Window Blast Door" +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "kilowindows" }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/turf/open/floor/plating/airless, +/area/ship/engineering) "Ud" = ( -/obj/effect/turf_decal/box/corners, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/item/wrench, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plating, +/turf/closed/wall, /area/ship/cargo) "Un" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "whiteship_windows"; - name = "Exterior Window Blast Door" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "kilowindows" }, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/turf/open/floor/plating/airless, +/area/ship/hallway/port) "Uv" = ( -/obj/structure/frame/computer{ - anchored = 1; - dir = 1 +/obj/docking_port/stationary{ + dir = 4; + dwidth = 15; + height = 15; + width = 30 }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/item/shard, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) +/turf/template_noop, +/area/template_noop) "UY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/wood, +/obj/structure/chair/sofa/brown/old/right/directional/north, +/turf/open/floor/plasteel/grimy, /area/ship/crew) "Va" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/structure/closet/crate/secure/weapon, +/obj/structure/cable/pink{ + icon_state = "6-10" }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/mineral/titanium/yellow, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 2 + }, +/obj/structure/cable/pink{ + icon_state = "9-10" + }, +/obj/effect/decal/cleanable/oil, +/obj/item/storage/box/ammo/a12g_buckshot, +/obj/item/gun/ballistic/shotgun/doublebarrel/empty, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Vd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/suit_storage_unit/independent/engineering, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Vh" = ( -/obj/structure/frame/computer{ - anchored = 1; - dir = 1 +/obj/structure/cable/pink{ + icon_state = "8-10" }, -/obj/machinery/light/directional/south, -/obj/machinery/computer/security/telescreen{ - dir = 1; - name = "NTMS-037 Monitor"; - network = list("ntms"); - pixel_y = -30 +/obj/structure/cable/pink{ + icon_state = "5-10" }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/stack/cable_coil/cut, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) -"Vq" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 10 +/obj/machinery/atmospherics/components/binary/pump/layer2{ + dir = 1 }, -/turf/closed/wall/mineral/titanium, -/area/ship/crew/canteen/kitchen) -"Vx" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/toilet{ - dir = 4; - pixel_x = -7 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/east{ + pixel_y = 8 }, -/obj/structure/sink{ +/obj/effect/decal/cleanable/oil, +/obj/machinery/button/door{ dir = 8; - pixel_x = 14 - }, -/obj/machinery/shower{ - pixel_x = -11; - pixel_y = 18 - }, -/obj/machinery/firealarm/directional/west, -/obj/machinery/newscaster/directional/north, -/obj/machinery/light/small/broken/directional/east, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"VQ" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "NTMSLoad"; - name = "off ramp" - }, -/obj/structure/window/reinforced{ - dir = 4 + id = "kilothrusters"; + name = "Thruster Lockdown"; + pixel_x = 21 }, /turf/open/floor/plating, -/area/ship/cargo) -"We" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/rack, -/obj/item/storage/belt/utility, -/obj/item/radio{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/radio, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"Xd" = ( -/obj/structure/chair/comfy/shuttle, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "1-4" +/area/ship/engineering) +"Vh" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 8; + piping_layer = 2 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plating, +/area/ship/engineering) +"Vq" = ( +/turf/closed/wall/r_wall/yesdiag, +/area/ship/crew) +"Vt" = ( +/obj/effect/turf_decal/miskilamo_small{ + dir = 1 }, -/turf/open/floor/mineral/titanium/blue, -/area/ship/bridge) -"XQ" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 6 +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Vx" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/item/spacecash/bundle/c200, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) -"XR" = ( -/obj/structure/closet/secure_closet/personal, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ +/obj/item/cigbutt, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"VQ" = ( +/obj/effect/turf_decal/miskilamo_small/left{ dir = 1 }, -/obj/effect/decal/cleanable/greenglow, -/obj/item/stock_parts/cell/gun/mini, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility/skirt, -/obj/item/clothing/under/utility/skirt, -/obj/item/clothing/under/utility/skirt, -/obj/item/clothing/suit/toggle/hazard, -/obj/item/clothing/suit/toggle/hazard, -/obj/item/clothing/suit/toggle/hazard, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, -/obj/effect/turf_decal/industrial/warning{ +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"We" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/borderfloor{ dir = 1 }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew) -"Yu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/pink, +/obj/effect/turf_decal/box/corners{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 +/obj/effect/turf_decal/box/corners, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/clothing/suit/space/hardsuit/mining/independent, +/obj/item/clothing/mask/breath, +/obj/structure/cable/pink{ + icon_state = "1-5" }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) -"YJ" = ( -/obj/machinery/washing_machine, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ - dir = 1 +"Xd" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = -7; + pixel_y = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/obj/item/pen/fourcolor, +/obj/machinery/airalarm/directional/south, +/obj/item/radio/intercom/wideband/directional/west, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_x = 10; + pixel_y = 7 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"XQ" = ( +/obj/machinery/cryopod{ + dir = 8 }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/mineral/plastitanium, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"XR" = ( +/turf/closed/wall, /area/ship/crew) -"YL" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +"Yn" = ( +/turf/closed/wall/r_wall/rust, +/area/ship/crew) +"Yu" = ( +/obj/structure/grille, +/obj/structure/window/fulltile, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plating/airless, +/area/ship/crew) +"YJ" = ( +/obj/structure/dresser{ dir = 1 }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = -9; + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"YL" = ( +/obj/structure/chair/sofa/brown/old/directional/east, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 5 }, -/turf/open/floor/plasteel/showroomfloor, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/grimy, /area/ship/crew) "ZC" = ( -/obj/structure/closet/crate/bin, -/obj/effect/decal/cleanable/dirt, -/obj/item/trash/syndi_cakes, -/obj/item/organ/stomach, -/obj/machinery/light_switch{ - dir = 1; - pixel_y = 23 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/turf_decal/industrial/warning/corner{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) +/turf/open/floor/plasteel/grimy, +/area/ship/crew) "ZG" = ( -/obj/structure/falsewall/titanium, +/obj/structure/cable/pink{ + icon_state = "4-9" + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/cockroach, /turf/open/floor/plating, -/area/ship/crew) +/area/ship/engineering) (1,1,1) = {" aa aa -aa AQ ak +AQ bn bn -kA -bn bn +Tr ak AQ aa @@ -2405,14 +2066,13 @@ aa (2,1,1) = {" aa aa -aa -kA +OQ ar -cW +kA +MI +MI MI kA -Tn -fu ar kA aa @@ -2421,8 +2081,7 @@ aa (3,1,1) = {" aa aa -aa -Jf +kA av bQ AV @@ -2430,15 +2089,14 @@ cY ng gC oj -Un +Ua aa aa "} (4,1,1) = {" aa aa -aa -Jf +kA eo fv LC @@ -2446,115 +2104,108 @@ Ng cM hh oP -Un +dE aa aa "} (5,1,1) = {" aa aa -aa -Jf -Jf +kA +AQ gs aU Vd -mz +fs ZG -mz -mz +AP +dE aa aa "} (6,1,1) = {" aa aa -aa -Jf +Ua cb yd cr -mz -mz +AQ +Vh cZ Bm -Ti +dE aa aa "} (7,1,1) = {" aa aa -aa Ua aS ca +tb cq -mz -KR -da -UY -Ti +cq +cq +cq +IJ aa aa "} (8,1,1) = {" aa aa -aa -Ua +vl TG cC -To -mz -mz +cq mz +NU +Tn AE -mz +wh PW aa "} (9,1,1) = {" aa aa -aa Jf jU bU ck -mz +sG Vx ig xF YJ -Ti +Rq aa "} (10,1,1) = {" aa -aa -aa -Jf +cK +Un aJ bV -Jf -mz -mz -mz -sG XR -mz +XR +zH +XR +tW +XR +yF aa "} (11,1,1) = {" aa -aa dF cP KM bg +XR yn -mz EG hS YL @@ -2564,103 +2215,96 @@ aa "} (12,1,1) = {" aa -ac -ac -ac +Vt +Un iM rc Yu -mz -mz -mz +Sx +iT +cw wc -mz -mz +UY +Ti aa "} (13,1,1) = {" aa -qv VQ -nO +Jf aC bM -cK +XR PS -bA +cW ZC HP aZ -bA +yF Vq "} (14,1,1) = {" -vU -rq -iT -de -bL +aa +fu +ac +Ud bX Ud -nJ -cV +XR +XR rO -wh +tW NB -Sx -yF +XR +Yn "} (15,1,1) = {" -aa Nq -NU +ac am eN bY cB -Co +im dt sD -xk +xn NI zc -bA +yF "} (16,1,1) = {" -aa -ac -ac -ac -ac +To +nJ +da +AB bZ Kz im bA Ew -zH -Rq -dc -yF +xk +xk +xk +nO "} (17,1,1) = {" -aa -aa -ac +Co +cV Ih -ac +Da bG -ac -ac -bA -bA -bA +vU +KR +bL +rq +de EU -bA -bA +dc +vv "} (18,1,1) = {" -aa -aa +cf La hR Va @@ -2669,15 +2313,14 @@ cj bF bF io -AP +bF GK XQ vv "} (19,1,1) = {" -aa -aa -La +Nq +ac Mj ay bT @@ -2685,14 +2328,13 @@ ci bF GM jK -fs -Da -Vh bF +bF +lw +bP "} (20,1,1) = {" aa -aa ac jx pV @@ -2703,66 +2345,77 @@ RJ nd bH Xd -Uv bF +bP "} (21,1,1) = {" aa -aa -ac +PJ hN jl OH mr -cw +bF gp NT BP TD -BS +bP Bu "} (22,1,1) = {" aa -aa -ac -ac -AB +Of +Of +Of xe -cf -bF +Of +bP Ds sW Pg BS -Bu +BS aa "} (23,1,1) = {" aa -aa -ac -bm KB +bm +Ce kb cJ -bF -bP -bF -bF -Bu +TY +TY +BS +BS +BS aa aa "} (24,1,1) = {" aa -aa rW -ac +KB Qw qw -ac -rW +qv +Jt +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +Uv +aa +aa aa aa aa diff --git a/_maps/shuttles/independent/independent_lagoon.dmm b/_maps/shuttles/independent/independent_lagoon.dmm deleted file mode 100644 index 7e96d8f93b5..00000000000 --- a/_maps/shuttles/independent/independent_lagoon.dmm +++ /dev/null @@ -1,9905 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ad" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/item/radio/intercom/wideband/directional/west, -/turf/open/floor/wood, -/area/ship/bridge) -"ae" = ( -/obj/structure/fans/tiny, -/obj/machinery/door/poddoor{ - id = "cruise_entrance1" - }, -/turf/open/floor/pod/light, -/area/ship/hallway/port) -"af" = ( -/obj/structure/closet/secure_closet/bar, -/obj/item/gun/ballistic/shotgun/doublebarrel, -/obj/item/clothing/glasses/sunglasses/reagent, -/obj/item/clothing/accessory/waistcoat, -/obj/item/storage/firstaid/toxin, -/obj/item/clothing/suit/armor/vest/alt, -/obj/machinery/light/directional/north, -/obj/item/radio/intercom/directional/north, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/carpet/black, -/area/ship/crew/canteen/kitchen) -"al" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"as" = ( -/obj/machinery/door/airlock/wood{ - name = "Cabin 1" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew) -"at" = ( -/obj/docking_port/mobile{ - callTime = 250; - dir = 2; - launch_status = 0; - name = "Cruise Ship"; - port_direction = 8; - preferred_direction = 4 - }, -/obj/structure/fans/tiny, -/obj/machinery/door/poddoor{ - id = "cruise_entrance1" - }, -/turf/open/floor/pod/light, -/area/ship/hallway/port) -"au" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/pod/light, -/area/ship/hallway/port) -"az" = ( -/obj/machinery/door/poddoor/preopen{ - id = "cruisebridge" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/command{ - req_access = list(19) - }, -/turf/open/floor/plasteel/white, -/area/ship/bridge) -"aC" = ( -/obj/structure/railing{ - dir = 5 - }, -/obj/structure/marker_beacon{ - light_color = "#FFFFCF" - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"aD" = ( -/obj/machinery/atmospherics/components/binary/pump/on/layer4{ - dir = 1; - name = "waste to environment" - }, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - name = "air to distro" - }, -/obj/effect/turf_decal/industrial/warning/full, -/turf/open/floor/plating, -/area/ship/engineering) -"aF" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"aK" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"aL" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"aN" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/pod/light, -/area/ship/hallway/port) -"aO" = ( -/turf/open/floor/circuit, -/area/ship/hallway/fore) -"aP" = ( -/obj/structure/closet/crate/medical, -/obj/item/storage/firstaid/ancient, -/obj/item/storage/firstaid/ancient, -/obj/item/storage/firstaid/ancient, -/obj/item/storage/firstaid/ancient, -/turf/open/floor/plating, -/area/ship/cargo) -"aZ" = ( -/obj/machinery/door/poddoor/preopen{ - id = "cruise_entrance2" - }, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/effect/turf_decal/corner/opaque/white/bordercorner, -/turf/open/floor/pod/dark, -/area/ship/hallway/port) -"bc" = ( -/obj/machinery/computer/operating{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"bd" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"bh" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/pod/light, -/area/ship/hallway/port) -"bi" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisewindows" - }, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"bj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"bn" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/purple/visible, -/obj/effect/turf_decal/trimline/opaque/purple/arrow_cw{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"bs" = ( -/obj/structure/railing{ - dir = 6 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 6 - }, -/obj/structure/marker_beacon{ - light_color = "#FFFFCF" - }, -/turf/open/floor/plasteel, -/area/ship/external) -"bt" = ( -/obj/machinery/computer/cargo/express/retro{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"bv" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruise_checkpoint"; - dir = 8 - }, -/obj/item/folder/yellow, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"by" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/turf/open/floor/light, -/area/ship/crew/dorm) -"bC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/closet/secure_closet/freezer/kitchen/wall{ - dir = 4; - pixel_x = -28 - }, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"bD" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/port) -"bI" = ( -/obj/structure/chair/stool/bar{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/computer/helm/viewscreen/directional/east, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"bL" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood, -/area/ship/crew/library) -"bQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"bR" = ( -/obj/structure/table/reinforced, -/obj/item/detective_scanner, -/obj/machinery/computer/helm/viewscreen/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"bV" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisebridgewindows"; - name = "External Shutters"; - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"bX" = ( -/obj/machinery/door/airlock/wood{ - name = "Cabin 2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew) -"ch" = ( -/obj/item/spacecash/bundle/c200, -/obj/item/clothing/suit/hawaiian, -/obj/item/spacecash/bundle/c1000, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/closet/wall/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew) -"cm" = ( -/obj/structure/fireplace, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/black, -/area/ship/crew) -"cv" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/office) -"cx" = ( -/obj/machinery/door/airlock/titanium{ - name = "Cabin 6" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/black, -/area/ship/crew) -"cK" = ( -/obj/structure/sink{ - pixel_y = 28 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"cM" = ( -/obj/machinery/button/door{ - dir = 4; - id = "cruisewindows"; - name = "Window Lockdown"; - pixel_x = -25; - pixel_y = -8 - }, -/obj/machinery/button/door{ - dir = 4; - id = "cruisebridge"; - name = "Bridge Lockdown"; - pixel_x = -25; - pixel_y = 8 - }, -/obj/machinery/button/door{ - dir = 4; - id = "cruisebridgewindows"; - name = "Bridge Shutters"; - pixel_x = -36; - pixel_y = 8 - }, -/obj/machinery/button/door{ - dir = 4; - id = "cruiseeva"; - name = "EVA Lockdown"; - pixel_x = -36; - pixel_y = -8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"cO" = ( -/obj/machinery/door/poddoor/preopen{ - id = "cruise_entrance2" - }, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 8 - }, -/turf/open/floor/pod/dark, -/area/ship/hallway/port) -"cP" = ( -/turf/open/floor/grass, -/area/ship/hallway/central) -"cR" = ( -/obj/machinery/computer/arcade/battle, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/light/colour_cycle/dancefloor_b, -/area/ship/storage) -"cS" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/hydroponics) -"cT" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisetegwindows"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"dd" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/wood, -/area/ship/crew/library) -"df" = ( -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"dk" = ( -/obj/effect/turf_decal/corner/opaque/white/bordercorner, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"dp" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"dq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/chair/sofa/brown/left/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"dr" = ( -/obj/structure/table/reinforced, -/obj/machinery/reagentgrinder, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/carpet/black, -/area/ship/crew/canteen/kitchen) -"dt" = ( -/obj/machinery/vending/clothing, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"dF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/pod/light, -/area/ship/hallway/port) -"dG" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/spacecash/bundle/c100, -/obj/item/spacecash/bundle/c100, -/obj/item/clothing/suit/jacket/letterman, -/obj/item/clothing/suit/ianshirt, -/obj/item/spacecash/bundle/c200, -/obj/item/clothing/under/suit/blacktwopiece, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew) -"dL" = ( -/obj/machinery/door/poddoor/preopen{ - id = "cruise_entrance2" - }, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/pod/dark, -/area/ship/hallway/port) -"dM" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"dN" = ( -/turf/open/floor/plating/beach/water, -/area/ship/hallway/central) -"dP" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"dQ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/security{ - req_access = list(1) - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"dU" = ( -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/effect/turf_decal/trimline/opaque/green/arrow_ccw{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"dV" = ( -/turf/open/floor/wood, -/area/ship/crew/library) -"dZ" = ( -/obj/structure/chair/stool/bar{ - dir = 1 - }, -/turf/open/floor/eighties, -/area/ship/storage) -"ea" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/stairs, -/area/ship/bridge) -"ef" = ( -/obj/item/kirbyplants/photosynthetic, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"ei" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/item/kirbyplants, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"en" = ( -/obj/structure/chair, -/turf/open/floor/plasteel, -/area/ship/external) -"et" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/effect/turf_decal/trimline/opaque/green/arrow_ccw{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"eA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"eE" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/roulette, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"eF" = ( -/obj/machinery/vending/autodrobe, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/canteen) -"eH" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/black/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"eO" = ( -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"eQ" = ( -/obj/structure/easel, -/obj/item/canvas/twentythreeXnineteen, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"eR" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/secure_data/laptop{ - dir = 8; - pixel_x = 3; - pixel_y = 5 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"eS" = ( -/obj/machinery/light/directional/west, -/obj/machinery/power/ship_gravity, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"eT" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/machinery/light_switch{ - dir = 4; - pixel_y = 10; - pixel_x = -20 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"eX" = ( -/obj/machinery/atmospherics/pipe/simple/purple/visible{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/opaque/purple/corner{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"fc" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light_switch{ - pixel_x = 20; - pixel_y = -12; - dir = 8 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"fd" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"fe" = ( -/obj/structure/table/reinforced, -/obj/item/table_bell{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruise_checkpoint"; - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"fq" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"fs" = ( -/obj/structure/flora/tree/jungle/small{ - randomize_icon = 0 - }, -/turf/open/floor/grass, -/area/ship/hallway/central) -"fu" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"fv" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisebridgewindows"; - name = "External Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/medical) -"fw" = ( -/obj/structure/window/plasma/reinforced/spawner, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{ - dir = 8; - piping_layer = 2 - }, -/turf/open/floor/engine/air, -/area/ship/engineering) -"fz" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"fC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/firealarm/directional/east, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"fG" = ( -/obj/machinery/modular_computer/console/preset/command{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"fI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ship/engineering) -"fK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/canteen) -"fM" = ( -/obj/structure/railing{ - dir = 5 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 5 - }, -/obj/structure/marker_beacon{ - light_color = "#FFFFCF" - }, -/turf/open/floor/plasteel, -/area/ship/external) -"fV" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"fX" = ( -/obj/machinery/door/airlock{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/canteen) -"fZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) -"gb" = ( -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"ge" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"gf" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/effect/turf_decal/weather/sand, -/obj/machinery/light/directional/west, -/turf/open/floor/grass, -/area/ship/hallway/central) -"gn" = ( -/obj/structure/railing{ - dir = 8; - pixel_x = -1 - }, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/chair/office{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/wood, -/area/ship/bridge) -"go" = ( -/obj/structure/sink/kitchen{ - pixel_y = 28 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"gq" = ( -/obj/structure/chair/stool/bar, -/obj/item/toy/plush/moth{ - pixel_y = 5 - }, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/canteen) -"gz" = ( -/obj/machinery/pdapainter, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"gF" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/effect/turf_decal/corner/opaque/lightgrey/border{ - dir = 5 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"gI" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"gJ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"gM" = ( -/obj/structure/chair/comfy/grey/directional/east, -/turf/open/floor/grass, -/area/ship/hallway/central) -"gR" = ( -/obj/structure/sign/barsign{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"gV" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -30 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/siding/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"ha" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"hj" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/borderfloor/corner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"hm" = ( -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/industrial/radiation/corner{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"ho" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"hr" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"hs" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"ht" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"hv" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"hz" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"hA" = ( -/obj/structure/bookcase/random/fiction, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"hK" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ship/engineering) -"hN" = ( -/obj/structure/closet/emcloset/wall/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"hS" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"hT" = ( -/obj/structure/table/wood, -/obj/item/clothing/mask/gas/clown_hat, -/obj/item/bikehorn, -/obj/item/clothing/shoes/clown_shoes, -/obj/item/megaphone/clown, -/obj/item/reagent_containers/food/drinks/soda_cans/canned_laughter, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/canteen) -"hW" = ( -/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing, -/obj/structure/table/wood, -/obj/item/toy/sword, -/obj/item/toy/sword, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/canteen) -"hY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"hZ" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"ia" = ( -/obj/structure/sign/painting/library{ - pixel_x = 32 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"ib" = ( -/obj/structure/railing, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/canteen) -"ic" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/black/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"id" = ( -/obj/effect/turf_decal/weather/sand, -/obj/machinery/light/directional/east, -/turf/open/floor/grass, -/area/ship/hallway/central) -"ie" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/closet/firecloset/wall/directional/west, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"ih" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/turf/open/floor/plating, -/area/ship/cargo) -"ik" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"in" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/janitor) -"io" = ( -/obj/structure/displaycase/trophy, -/obj/machinery/light/directional/west, -/turf/open/floor/carpet/black, -/area/ship/crew/library) -"ip" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/white/border, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/crew) -"iq" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/storage) -"it" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"iu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 9 - }, -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters{ - id = "cruisewindows"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"iv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"iD" = ( -/obj/machinery/door/airlock/wood, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/ship/crew/library) -"iK" = ( -/obj/structure/cable, -/obj/effect/turf_decal/corner/opaque/white/border, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -12; - pixel_y = -16 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"iN" = ( -/obj/structure/table/wood, -/turf/open/floor/carpet/black, -/area/ship/crew) -"iP" = ( -/obj/machinery/atmospherics/components/trinary/mixer/flipped{ - dir = 4; - name = "chamber mixer" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer1{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/purple/corner{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/radiation/corner{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"iR" = ( -/obj/structure/table/reinforced, -/obj/item/storage/bag/tray, -/obj/item/kitchen/knife, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/item/kitchen/rollingpin, -/obj/item/reagent_containers/food/condiment/enzyme, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"iS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"iT" = ( -/obj/structure/window/plasma/reinforced/spawner/east, -/obj/structure/window/plasma/reinforced/spawner, -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxin_input{ - dir = 4 - }, -/turf/open/floor/engine/plasma, -/area/ship/engineering) -"iV" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisewindows" - }, -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"iW" = ( -/obj/structure/table/wood, -/obj/item/modular_computer/laptop/preset/civilian, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"jf" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"jh" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/borderfloor/corner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"ji" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"jj" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/glass/rag, -/obj/item/reagent_containers/food/drinks/shaker, -/obj/machinery/vending/boozeomat{ - pixel_x = 32 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/canteen/kitchen) -"jk" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"jr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"jt" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/computer/arcade, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light_switch{ - pixel_x = 20; - pixel_y = -12; - dir = 8 - }, -/turf/open/floor/light/colour_cycle/dancefloor_b, -/area/ship/storage) -"jw" = ( -/obj/structure/chair/comfy, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"jz" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light_switch{ - pixel_x = 20; - pixel_y = -12; - dir = 8 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/library) -"jC" = ( -/obj/structure/mineral_door/paperframe, -/obj/structure/curtain/bounty, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/wood, -/area/ship/crew) -"jI" = ( -/obj/item/toy/seashell, -/turf/open/floor/plating/beach/sand, -/area/ship/hallway/central) -"jM" = ( -/obj/machinery/libraryscanner, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/carpet/black, -/area/ship/crew/library) -"jP" = ( -/obj/structure/chair/comfy/grey/directional/west, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"jS" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew) -"jV" = ( -/obj/machinery/airalarm/directional/west, -/turf/open/floor/carpet/black, -/area/ship/crew/library) -"kd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"ke" = ( -/obj/machinery/door/airlock{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"kh" = ( -/obj/item/storage/box/beakers, -/obj/item/storage/box/donkpockets, -/obj/item/storage/box/ingredients/fruity, -/obj/item/storage/box/ingredients/carnivore, -/obj/item/storage/box/ingredients/vegetarian, -/obj/structure/closet/secure_closet/freezer/kitchen, -/obj/item/storage/fancy/egg_box, -/obj/item/storage/fancy/egg_box, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/rice, -/obj/item/reagent_containers/food/condiment/rice, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"kk" = ( -/obj/effect/turf_decal/trimline/opaque/purple/arrow_cw{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"kl" = ( -/obj/structure/flora/rock/jungle, -/turf/open/floor/grass, -/area/ship/hallway/aft) -"km" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"ko" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light_switch{ - pixel_x = 20; - pixel_y = -12; - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"kq" = ( -/obj/machinery/vending/hydronutrients, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"ku" = ( -/obj/structure/bookcase/random/religion, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"kv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/wood/glass{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"ky" = ( -/obj/structure/closet/athletic_mixed, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch{ - pixel_x = -13; - pixel_y = 23 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"kA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/black/border, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"kL" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/chapel) -"kX" = ( -/obj/structure/table/glass, -/obj/machinery/computer/med_data/laptop{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"lf" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisewindows" - }, -/turf/open/floor/plating, -/area/ship/hallway/fore) -"lj" = ( -/obj/structure/chair/stool/bar, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"ll" = ( -/obj/structure/chair/comfy/grey/directional/west, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/library) -"lm" = ( -/obj/vehicle/ridden/janicart, -/obj/item/key/janitor, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel, -/area/ship/crew/janitor) -"ln" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/purple/visible, -/obj/effect/turf_decal/trimline/opaque/purple/arrow_cw{ - dir = 8 - }, -/obj/item/geiger_counter, -/turf/open/floor/plating, -/area/ship/engineering) -"lo" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/photocopier, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light_switch{ - pixel_x = 20; - pixel_y = -12; - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"lx" = ( -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters{ - id = "cruiseengwindow"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"lA" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisebridgewindows"; - name = "External Shutters"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/security) -"lC" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ship/engineering) -"lG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/wood, -/area/ship/crew) -"lI" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"lK" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"lN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"lP" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/bridge) -"lS" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/clothing/under/dress/blacktango, -/obj/item/clothing/glasses/sunglasses, -/obj/item/clothing/gloves/color/evening, -/obj/item/spacecash/bundle/c100, -/obj/machinery/light/directional/north, -/turf/open/floor/carpet/black, -/area/ship/crew) -"lT" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"lU" = ( -/obj/machinery/atmospherics/pipe/simple/purple/visible{ - dir = 8 - }, -/obj/machinery/computer/atmos_control/tank/toxin_tank{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"lV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/closet/crate/hydroponics, -/obj/item/seeds/apple, -/obj/item/seeds/pineapple, -/obj/item/seeds/tomato, -/obj/item/seeds/wheat, -/obj/item/seeds/watermelon, -/obj/item/seeds/carrot, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"mh" = ( -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/grass, -/area/ship/hallway/aft) -"mi" = ( -/obj/machinery/door/airlock/engineering{ - req_access = list(10) - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/poddoor/preopen{ - id = "cruiseeng" - }, -/turf/open/floor/plasteel, -/area/ship/engineering) -"mm" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"mp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"mq" = ( -/obj/structure/window/plasma/reinforced/spawner/north, -/obj/structure/window/plasma/reinforced/spawner/east, -/obj/effect/turf_decal/atmos/oxygen, -/turf/open/floor/engine/o2, -/area/ship/engineering) -"mt" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/fore) -"mx" = ( -/obj/machinery/seed_extractor, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light_switch{ - pixel_x = 20; - pixel_y = -12; - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"mz" = ( -/obj/machinery/door/airlock/external{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"mB" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"mF" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/lightgrey/full, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"mJ" = ( -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/effect/turf_decal/trimline/opaque/blue/arrow_ccw{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/green/arrow_ccw{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"mK" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew) -"mM" = ( -/obj/structure/closet/wall/white/med{ - dir = 4; - pixel_x = -28 - }, -/obj/item/healthanalyzer, -/obj/item/clothing/gloves/color/latex/nitrile, -/obj/item/clothing/glasses/hud/health, -/obj/item/reagent_containers/hypospray/medipen/survival, -/obj/item/reagent_containers/hypospray/medipen/survival, -/obj/item/storage/box/medipens, -/obj/item/storage/firstaid/fire{ - pixel_y = 6 - }, -/obj/item/storage/firstaid/advanced, -/obj/item/storage/firstaid/toxin{ - pixel_x = -8 - }, -/obj/item/storage/firstaid/brute{ - pixel_y = -8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"mN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"mO" = ( -/turf/open/floor/carpet/black, -/area/ship/crew) -"mT" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/chair/sofa/brown/right/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"mV" = ( -/obj/structure/chair/sofa/brown/directional/south, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/hallway/fore) -"na" = ( -/obj/structure/railing{ - dir = 5 - }, -/obj/structure/marker_beacon{ - light_color = "#FFFFCF" - }, -/obj/effect/turf_decal/borderfloor{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"ne" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"nf" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"nl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"ns" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"nu" = ( -/obj/structure/toilet{ - dir = 8 - }, -/obj/structure/curtain, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"nv" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/mug/coco{ - pixel_x = -8; - pixel_y = 1 - }, -/obj/item/toy/cards/deck, -/obj/item/reagent_containers/food/snacks/butterbiscuit{ - pixel_x = 6; - pixel_y = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"nE" = ( -/obj/machinery/computer/helm{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"nK" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"nM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"nO" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/white/border, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -12; - pixel_y = -16 - }, -/turf/open/floor/plasteel, -/area/ship/crew) -"nU" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew) -"nX" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/gold/glass{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"oh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"oj" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"on" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"oo" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"ot" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"ou" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 10 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"oz" = ( -/obj/machinery/door/airlock/titanium{ - name = "Cabin 5" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/black, -/area/ship/crew) -"oC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/machinery/door/airlock/silver, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"oM" = ( -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/effect/turf_decal/trimline/opaque/red/end{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/green/arrow_ccw{ - dir = 8 - }, -/obj/structure/sign/warning/radiation{ - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"oP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"oU" = ( -/obj/machinery/door/poddoor/preopen{ - id = "cruisebridge" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/command{ - req_access = list(19) - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"oV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/airlock/gold/glass{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"oW" = ( -/obj/machinery/vending/cigarette/syndicate, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"pc" = ( -/obj/effect/turf_decal/corner/opaque/white/border, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"pg" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/ihejirika_small/right{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"pl" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisewindows" - }, -/turf/open/floor/plating, -/area/ship/crew/canteen/kitchen) -"pm" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/black/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/crew) -"pn" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/black/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/crew) -"po" = ( -/obj/structure/bookcase/random/fiction, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"pp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"pq" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"pt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/obj/structure/closet/secure_closet/atmospherics, -/obj/effect/turf_decal/trimline/opaque/red/arrow_ccw{ - dir = 8 - }, -/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos, -/obj/item/clothing/gloves/color/black, -/obj/structure/fireaxecabinet{ - dir = 8; - pixel_x = 28 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"pC" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"pF" = ( -/obj/machinery/processor, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"pJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light_switch{ - pixel_x = -25; - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"pN" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"pP" = ( -/obj/machinery/vending/games, -/turf/open/floor/light/colour_cycle/dancefloor_b, -/area/ship/storage) -"pQ" = ( -/obj/machinery/door/airlock{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"pV" = ( -/obj/structure/chair/pew/left{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/carpet, -/area/ship/crew/chapel) -"pW" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"pZ" = ( -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"qa" = ( -/obj/structure/chair/sofa/brown/directional/east{ - icon_state = "sofacorner" - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/hallway/fore) -"qe" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/red{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"ql" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"qo" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"qq" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) -"qu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"qw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"qx" = ( -/turf/open/floor/plating/beach/sand, -/area/ship/hallway/central) -"qA" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"qD" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/crew/janitor) -"qE" = ( -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"qF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 9 - }, -/obj/structure/closet/secure_closet/engineering_personal, -/obj/item/clothing/gloves/color/yellow, -/obj/item/storage/belt/utility/full, -/obj/item/multitool, -/obj/effect/turf_decal/trimline/opaque/red/corner{ - dir = 1 - }, -/obj/item/clothing/head/welding, -/obj/item/circuitboard/machine/thermomachine/heater, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/mineral/titanium/fifty, -/turf/open/floor/plating, -/area/ship/engineering) -"qJ" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/plasma, -/obj/effect/turf_decal/trimline/opaque/mauve/filled, -/obj/machinery/computer/helm/viewscreen/directional/east, -/turf/open/floor/plating, -/area/ship/engineering) -"qK" = ( -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"qM" = ( -/obj/structure/table/reinforced, -/obj/machinery/reagentgrinder, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"qR" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/bridge) -"qU" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"qY" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste{ - dir = 4 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/radiation/full, -/turf/open/floor/plating, -/area/ship/external) -"rb" = ( -/turf/open/floor/wood, -/area/ship/crew/canteen) -"rd" = ( -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/window/plasma/reinforced/spawner/north, -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/air_input{ - dir = 8 - }, -/turf/open/floor/engine/air, -/area/ship/engineering) -"ri" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/grass, -/area/ship/hallway/aft) -"rk" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/ihejirika_small/left{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"rm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"rq" = ( -/obj/machinery/chem_master/condimaster, -/turf/open/floor/carpet/black, -/area/ship/crew/canteen/kitchen) -"rz" = ( -/obj/machinery/deepfryer, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"rB" = ( -/obj/item/storage/bag/plants, -/obj/item/hatchet, -/obj/item/shovel/spade, -/obj/item/cultivator, -/obj/item/storage/box/beakers, -/obj/item/plant_analyzer, -/obj/structure/closet/wall/directional/north, -/obj/item/storage/bag/plants/portaseeder, -/obj/item/clothing/gloves/botanic_leather, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"rC" = ( -/obj/machinery/computer/arcade, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/light/colour_cycle/dancefloor_b, -/area/ship/storage) -"rD" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor, -/turf/open/floor/plasteel, -/area/ship/external) -"rF" = ( -/obj/structure/altar_of_gods, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"rI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"rK" = ( -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"rO" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"rP" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"rQ" = ( -/obj/structure/chair/office, -/obj/machinery/vending/wallmed{ - pixel_x = 25 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"rR" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/structure/window/reinforced/spawner/west, -/obj/structure/window/reinforced/spawner/north, -/obj/structure/flora/rock/icy, -/turf/open/floor/grass/fairy, -/area/ship/hallway/aft) -"rV" = ( -/obj/machinery/light/directional/east, -/obj/machinery/vending/cigarette/beach, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"sa" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/obj/effect/turf_decal/borderfloor/corner, -/turf/open/floor/plasteel, -/area/ship/external) -"sg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/carpet/black, -/area/ship/crew) -"sm" = ( -/obj/structure/table/glass, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = -3; - pixel_y = 13 - }, -/obj/item/reagent_containers/spray/cleaner, -/obj/item/clothing/neck/stethoscope, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/item/sensor_device, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"sn" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/radiation/full, -/turf/open/floor/engine, -/area/ship/external) -"sp" = ( -/obj/effect/turf_decal/corner/opaque/black/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"ss" = ( -/obj/structure/closet/crate/wooden/toy, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/canteen) -"sv" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/external) -"sC" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/poddoor/preopen{ - id = "cruiseeng" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/engineering{ - req_access = list(10) - }, -/turf/open/floor/plasteel, -/area/ship/engineering) -"sD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"sH" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisewindows" - }, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"sI" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/black/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"sL" = ( -/obj/structure/closet/secure_closet/security/sec, -/obj/item/gun/energy/e_gun/mini, -/obj/item/gun/energy/taser, -/obj/item/clothing/under/rank/security/officer/blueshirt, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"sP" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/machinery/door/window/eastleft, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"sQ" = ( -/obj/structure/closet/firecloset/wall/directional/west, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"sT" = ( -/obj/machinery/computer/arcade/orion_trail, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/light/colour_cycle/dancefloor_b, -/area/ship/storage) -"ta" = ( -/turf/open/floor/plating/beach/coastline_t, -/area/ship/hallway/central) -"tb" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm) -"td" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"tg" = ( -/obj/structure/reagent_dispensers/watertank/high, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel, -/area/ship/crew/janitor) -"th" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew) -"tj" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"tp" = ( -/obj/structure/dresser, -/obj/effect/turf_decal/siding/wood/end{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"tt" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/crew) -"tu" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/canteen/kitchen) -"tx" = ( -/obj/structure/table/wood/poker, -/obj/item/spacecash/bundle/c100, -/turf/open/floor/light/colour_cycle/dancefloor_a, -/area/ship/crew/office) -"tA" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"tC" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plasteel, -/area/ship/external) -"tD" = ( -/obj/structure/chair/pew/right{ - dir = 4 - }, -/turf/open/floor/grass, -/area/ship/hallway/central) -"tH" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/eighties, -/area/ship/storage) -"tJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"tL" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/pod/light, -/area/ship/hallway/port) -"tP" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"tS" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/canteen) -"tY" = ( -/obj/machinery/vending/cola/starkist, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"ub" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"ue" = ( -/obj/machinery/vending/snack/green, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"uf" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/chair/comfy/grey/directional/east, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/grass, -/area/ship/hallway/central) -"um" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"uq" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisewindows" - }, -/turf/open/floor/plating, -/area/ship/crew/library) -"uu" = ( -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"uy" = ( -/obj/structure/chair, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"uz" = ( -/obj/structure/sink{ - pixel_y = 28 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"uD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/crew) -"uM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/closet/wardrobe/mixed, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"uO" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"uQ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"uS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"uV" = ( -/obj/structure/closet/radiation, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plating, -/area/ship/engineering) -"uZ" = ( -/obj/structure/window/plasma/reinforced/spawner/east, -/obj/machinery/air_sensor/atmos/nitrogen_tank, -/turf/open/floor/engine/n2, -/area/ship/engineering) -"va" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/black/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"vf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"vg" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"vj" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"vk" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"vs" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/cargo) -"vy" = ( -/obj/machinery/hydroponics/constructable, -/turf/open/floor/grass/fairy, -/area/ship/crew/hydroponics) -"vB" = ( -/obj/structure/chair/sofa/brown/directional/east{ - icon_state = "sofaend_right" - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/hallway/fore) -"vD" = ( -/obj/structure/disposalpipe/junction/flip, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"vF" = ( -/obj/machinery/door/airlock{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/crew/hydroponics) -"vI" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"vK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"vP" = ( -/obj/structure/chair/pew/left{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/ship/crew/chapel) -"vU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"vV" = ( -/obj/effect/turf_decal/corner/opaque/white/border, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"wa" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/pod/light, -/area/ship/hallway/port) -"wd" = ( -/obj/machinery/door/airlock/titanium{ - name = "Cabin 7" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/black, -/area/ship/crew) -"we" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"wi" = ( -/obj/docking_port/stationary{ - width = 30; - height = 15; - dwidth = 15 - }, -/turf/template_noop, -/area/template_noop) -"wj" = ( -/obj/machinery/bookbinder, -/turf/open/floor/carpet/black, -/area/ship/crew/library) -"wn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/wood/glass{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"wo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/black/border{ - dir = 10 - }, -/obj/machinery/light/dim/directional/west, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"wt" = ( -/obj/machinery/computer/station_alert{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"wC" = ( -/obj/structure/table/reinforced, -/turf/open/floor/plasteel, -/area/ship/external) -"wD" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/mug/coco{ - pixel_x = -8; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/drinks/mug/coco{ - pixel_y = 9 - }, -/obj/item/reagent_containers/food/snacks/cracker, -/obj/item/reagent_containers/food/snacks/cracker{ - pixel_x = 6; - pixel_y = 3 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/hallway/fore) -"wH" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"wI" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/dorm) -"wP" = ( -/obj/structure/bed, -/obj/item/bedsheet/black, -/turf/open/floor/carpet/black, -/area/ship/crew) -"wT" = ( -/obj/structure/window/plasma/reinforced/spawner/north, -/obj/structure/window/plasma/reinforced/spawner/east, -/obj/effect/turf_decal/atmos/nitrogen, -/turf/open/floor/engine/n2, -/area/ship/engineering) -"wU" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"wV" = ( -/obj/structure/mineral_door/sandstone, -/turf/open/floor/plating/beach/sand, -/area/ship/hallway/central) -"wX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"wZ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"xc" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet, -/area/ship/crew/chapel) -"xh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/canteen) -"xi" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/circuit, -/area/ship/hallway/fore) -"xn" = ( -/obj/structure/rack, -/obj/item/camera, -/obj/item/camera, -/obj/item/camera, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/corner/opaque/lightgrey/border{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light_switch{ - pixel_x = 20; - pixel_y = -12; - dir = 8 - }, -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"xo" = ( -/obj/structure/chair/comfy/grey/directional/west, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"xr" = ( -/obj/machinery/door/airlock/external{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"xv" = ( -/obj/structure/mineral_door/paperframe, -/obj/structure/curtain/bounty, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood, -/area/ship/crew) -"xw" = ( -/obj/machinery/smartfridge/food, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/hydroponics) -"xz" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/grass, -/area/ship/hallway/central) -"xA" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"xC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 8 - }, -/obj/machinery/computer/atmos_control/tank/nitrogen_tank{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/red/arrow_ccw{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"xE" = ( -/obj/machinery/atmospherics/components/binary/circulator/cold{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer1{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/arrow_ccw{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/purple/arrow_cw, -/obj/effect/turf_decal/industrial/radiation{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"xJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"xT" = ( -/obj/item/kirbyplants/photosynthetic, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"xX" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"xZ" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/engineering) -"yf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/crew) -"yg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel, -/area/ship/crew) -"yh" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/carpet, -/area/ship/crew/chapel) -"yj" = ( -/obj/machinery/vending/dinnerware, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"yl" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"ym" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"yn" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"yq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"yr" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"ys" = ( -/obj/structure/closet/emcloset/wall/directional/west, -/obj/item/storage/firstaid/o2, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"yu" = ( -/obj/machinery/atmospherics/pipe/simple/purple/visible{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ship/engineering) -"yy" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"yD" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/eighties, -/area/ship/storage) -"yI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"yK" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/trimline/opaque/green/arrow_ccw, -/obj/item/geiger_counter, -/turf/open/floor/plating, -/area/ship/engineering) -"yO" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/security) -"yP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/closet/firecloset/wall/directional/north, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"yQ" = ( -/obj/machinery/atmospherics/pipe/layer_manifold, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) -"yV" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 5 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plating, -/area/ship/engineering) -"zb" = ( -/obj/effect/turf_decal/corner/opaque/white/border, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"zc" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisewindows" - }, -/turf/open/floor/plating, -/area/ship/storage) -"zd" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/effect/turf_decal/corner/opaque/lightgrey/border{ - dir = 4 - }, -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"ze" = ( -/obj/machinery/vending/cola, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"zf" = ( -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/grass, -/area/ship/hallway/central) -"zs" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/food/snacks/burger/fish, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"zz" = ( -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"zI" = ( -/turf/open/floor/pod/light, -/area/ship/hallway/port) -"zN" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -8; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm) -"zP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/grass, -/area/ship/hallway/central) -"zQ" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/obj/item/paper_bin/bundlenatural, -/obj/item/stamp/head_of_personnel, -/obj/item/pen/fountain, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/wood, -/area/ship/bridge) -"zS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"zW" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/chair/pew/left{ - dir = 4 - }, -/turf/open/floor/grass, -/area/ship/hallway/central) -"zX" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"zZ" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/filled, -/turf/open/floor/plating, -/area/ship/engineering) -"Ah" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Ak" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/red/border, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"Al" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/crew) -"Am" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"An" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/food/condiment/saltshaker{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/reagent_containers/food/condiment/peppermill, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"As" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"Au" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = 12 - }, -/obj/item/reagent_containers/glass/bucket, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"Ax" = ( -/obj/structure/closet/crate/miningcar, -/obj/item/pickaxe/emergency, -/obj/item/pickaxe/emergency, -/obj/item/mining_scanner, -/turf/open/floor/plating, -/area/ship/cargo) -"AB" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"AD" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/corner/opaque/black/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"AI" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/plating/beach/water, -/area/ship/hallway/central) -"AR" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"AW" = ( -/obj/machinery/vending/wardrobe/chap_wardrobe, -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"AX" = ( -/obj/structure/table/wood, -/obj/machinery/computer/bookmanagement, -/turf/open/floor/carpet/black, -/area/ship/crew/library) -"Ba" = ( -/obj/effect/turf_decal/corner/opaque/white/bordercorner, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"Be" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/ship/engineering) -"Bg" = ( -/obj/machinery/door/poddoor/preopen{ - id = "cruiseeva"; - dir = 4 - }, -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"Bh" = ( -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrogen_output{ - dir = 8 - }, -/turf/open/floor/engine/n2, -/area/ship/engineering) -"Bi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"Bl" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/item/geiger_counter, -/obj/effect/turf_decal/industrial/radiation{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Bn" = ( -/obj/machinery/suit_storage_unit/captain, -/obj/machinery/newscaster/directional/north{ - pixel_y = 32 - }, -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"Bo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Bt" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisewindows" - }, -/turf/open/floor/plating, -/area/ship/crew/chapel) -"Bw" = ( -/obj/structure/chair/pew/right{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/ship/crew/chapel) -"Bz" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8 - }, -/obj/machinery/door/window/eastright, -/turf/open/floor/plating, -/area/ship/engineering) -"BB" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/grass, -/area/ship/hallway/central) -"BI" = ( -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/grass, -/area/ship/hallway/central) -"BO" = ( -/obj/machinery/door/airlock/public/glass, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor, -/turf/open/floor/eighties, -/area/ship/storage) -"BP" = ( -/obj/machinery/autolathe, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"BT" = ( -/obj/structure/closet/emcloset/wall/directional/north, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"BW" = ( -/obj/machinery/computer/helm/viewscreen/directional/east, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"BX" = ( -/obj/structure/sign/painting/library{ - pixel_x = 32 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/library) -"BY" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Ca" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"Ce" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/grass/fairy, -/area/ship/crew) -"Cg" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Ci" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen/kitchen) -"Co" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisebridgewindows"; - name = "External Shutters"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/security) -"Cq" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"Cw" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Cx" = ( -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Cy" = ( -/obj/item/kirbyplants/photosynthetic, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"CD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"CE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"CH" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"CM" = ( -/obj/machinery/vending/autodrobe, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"CN" = ( -/obj/machinery/door/airlock/public/glass{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"CR" = ( -/obj/structure/table/reinforced, -/turf/open/floor/light, -/area/ship/crew/canteen/kitchen) -"CS" = ( -/obj/machinery/button/door{ - dir = 4; - id = "cruiseeng"; - name = "Engineering Lockdown"; - pixel_x = -25 - }, -/obj/machinery/computer/atmos_control/tank/air_tank{ - dir = 4 - }, -/obj/machinery/button/door{ - dir = 4; - id = "cruiseengwindow"; - name = "Engineering Windows"; - pixel_x = -36 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Dc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/corner/opaque/black/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Dg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"Dh" = ( -/obj/machinery/jukebox, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Dl" = ( -/obj/structure/disposaloutlet, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/conveyor{ - id = "cruise_conveyor" - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"Ds" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Dv" = ( -/obj/structure/janitorialcart, -/obj/item/lightreplacer, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"DB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"DD" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"DK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/sign/departments/restroom{ - pixel_y = -32 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"DP" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/green/arrow_ccw{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"DS" = ( -/obj/structure/table/optable, -/obj/machinery/defibrillator_mount/loaded{ - pixel_y = 28 - }, -/obj/item/bedsheet/medical{ - pixel_y = 2 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/siding/blue{ - dir = 9 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"DT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/newscaster/directional/north{ - pixel_x = 30 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"DZ" = ( -/obj/structure/window/plasma/reinforced/spawner/north, -/obj/structure/window/plasma/reinforced/spawner/east, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxin_output{ - dir = 4 - }, -/turf/open/floor/engine/plasma, -/area/ship/engineering) -"Ec" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/structure/window/reinforced/spawner/east, -/obj/structure/window/reinforced/spawner/north, -/obj/structure/flora/rock/icy, -/turf/open/floor/grass/fairy, -/area/ship/hallway/aft) -"Ee" = ( -/obj/structure/bed, -/obj/item/bedsheet/clown, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/canteen) -"Ef" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/library) -"Eg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/mob/living/simple_animal/chick, -/turf/open/floor/grass, -/area/ship/hallway/central) -"Ej" = ( -/obj/structure/table/wood/poker, -/obj/item/toy/cards/deck, -/turf/open/floor/light/colour_cycle/dancefloor_a, -/area/ship/crew/office) -"Ek" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"El" = ( -/obj/machinery/door/airlock/wood{ - name = "Cabin 3" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood/end, -/turf/open/floor/wood, -/area/ship/crew) -"Er" = ( -/obj/structure/table/reinforced, -/obj/item/table_bell, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"Et" = ( -/obj/structure/chair/comfy/grey/directional/north, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"Eu" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Ew" = ( -/obj/machinery/atmospherics/pipe/simple/purple/visible, -/obj/effect/turf_decal/trimline/opaque/purple/arrow_cw{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Ez" = ( -/obj/structure/table/wood, -/obj/item/camera, -/turf/open/floor/carpet/black, -/area/ship/crew/library) -"EA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/closet/firecloset/wall/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"EB" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"EF" = ( -/obj/structure/table/wood, -/obj/item/canvas/twentythreeXnineteen, -/obj/item/canvas/twentythreeXnineteen, -/obj/item/canvas/twentythreeXnineteen, -/obj/item/canvas/twentythreeXnineteen, -/obj/item/canvas/nineteenXnineteen, -/obj/item/canvas/nineteenXnineteen, -/obj/item/canvas/nineteenXnineteen, -/obj/item/canvas/twentythreeXtwentythree, -/obj/item/canvas/twentythreeXtwentythree, -/obj/item/canvas/twentythreeXtwentythree, -/obj/item/toy/crayon/spraycan, -/obj/item/toy/crayon/spraycan, -/obj/item/toy/crayon/spraycan, -/obj/item/toy/crayon/spraycan, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/black, -/area/ship/crew/library) -"EM" = ( -/obj/machinery/advanced_airlock_controller{ - pixel_x = 25 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/pod/light, -/area/ship/hallway/fore) -"EN" = ( -/obj/item/kirbyplants/photosynthetic, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"EP" = ( -/obj/structure/chair, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"ES" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"EW" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"EX" = ( -/obj/structure/table/wood, -/obj/item/modular_computer/laptop/preset/civilian, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/wood, -/area/ship/crew) -"Fd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/canteen) -"Fg" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Fh" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/machinery/light/directional/west, -/turf/open/floor/plating, -/area/ship/engineering) -"Fl" = ( -/obj/machinery/vending/classicbeats, -/obj/machinery/light/directional/north, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/canteen) -"Fm" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/black/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Fn" = ( -/obj/machinery/scanner_gate, -/turf/open/floor/pod/light, -/area/ship/hallway/port) -"Fo" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Fq" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/hallway/port) -"Fr" = ( -/obj/machinery/computer/slot_machine, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"Fw" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/medical) -"Fx" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Fy" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"FA" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ship/engineering) -"FJ" = ( -/obj/structure/bookcase/random/nonfiction, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood, -/area/ship/crew/library) -"FO" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"FP" = ( -/obj/structure/chair/comfy/orange/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm) -"FQ" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen/fountain, -/obj/item/kitchen/knife/letter_opener, -/obj/item/pen, -/turf/open/floor/carpet/black, -/area/ship/crew/library) -"FW" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/crew) -"FX" = ( -/obj/machinery/door/airlock/wood/glass{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Gb" = ( -/obj/machinery/vending/security/wall{ - pixel_x = -28 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Gd" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"Ge" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Gn" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/stamp{ - pixel_x = -7; - pixel_y = 11 - }, -/obj/item/stamp/denied{ - pixel_x = 3; - pixel_y = 11 - }, -/obj/item/pen{ - pixel_x = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"Gs" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/structure/curtain/bounty, -/turf/open/floor/plating, -/area/ship/crew/office) -"Gw" = ( -/obj/structure/flora/ausbushes/ppflowers, -/obj/effect/turf_decal/weather/sand, -/turf/open/floor/grass, -/area/ship/hallway/central) -"GA" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/white/border, -/obj/structure/sign/departments/custodian{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"GE" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"GH" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/borderfloor/corner, -/turf/open/floor/plasteel, -/area/ship/external) -"GM" = ( -/obj/structure/disposalpipe/junction, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/black/border, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"GN" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew) -"GO" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/effect/turf_decal/corner/opaque/lightgrey/border{ - dir = 8 - }, -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"GP" = ( -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/window/plasma/reinforced/spawner/north, -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/oxygen_input{ - dir = 8 - }, -/turf/open/floor/engine/o2, -/area/ship/engineering) -"GT" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/ihejirika_small{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"GU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"GV" = ( -/obj/structure/closet/crate/eva, -/turf/open/floor/plating, -/area/ship/cargo) -"GZ" = ( -/obj/structure/table/reinforced, -/obj/machinery/chem_dispenser/drinks{ - dir = 8 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/canteen/kitchen) -"Hc" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled, -/turf/open/floor/plating, -/area/ship/engineering) -"He" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"Hg" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloor/corner, -/turf/open/floor/plasteel, -/area/ship/external) -"Hx" = ( -/turf/open/floor/grass, -/area/ship/hallway/aft) -"Hz" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood, -/area/ship/bridge) -"HA" = ( -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/obj/item/paper{ - default_raw_text = "Reminder that passengers are NOT permitted to carry weapons on board."; - pixel_x = 4 - }, -/obj/machinery/computer/helm/viewscreen/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"HE" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/lightgrey/border{ - dir = 8 - }, -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"HF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"HG" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/closet/emcloset/wall/directional/west, -/obj/item/storage/firstaid/o2, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"HM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"HN" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"HR" = ( -/obj/structure/railing{ - dir = 8; - pixel_x = -1 - }, -/obj/structure/chair/sofa/brown/right/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew) -"HW" = ( -/obj/structure/chair/comfy/grey/directional/south, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"Ie" = ( -/turf/open/floor/carpet/black, -/area/ship/crew/canteen/kitchen) -"Ig" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"Ij" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisewindows" - }, -/turf/open/floor/plating, -/area/ship/crew/hydroponics) -"Iw" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Iy" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"IA" = ( -/obj/machinery/door/window/southright, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/canteen) -"IE" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/machinery/holopad/emergency/command, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"IG" = ( -/obj/structure/closet/crate{ - name = "food crate" - }, -/obj/item/pizzabox, -/obj/item/pizzabox, -/obj/item/pizzabox, -/obj/item/pizzabox, -/turf/open/floor/plating, -/area/ship/cargo) -"IH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"IJ" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"IX" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/crew) -"IY" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/hydroponics) -"IZ" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/effect/turf_decal/corner/opaque/lightgrey/border{ - dir = 4 - }, -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"Ji" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Jj" = ( -/obj/structure/bed, -/obj/structure/curtain/bounty, -/obj/item/bedsheet, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Jo" = ( -/obj/structure/chair, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"Jq" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/eighties, -/area/ship/storage) -"Jr" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisewindows" - }, -/turf/open/floor/plating, -/area/ship/crew/office) -"Js" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "waste to environment" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/trimline/opaque/red/arrow_ccw, -/obj/effect/turf_decal/trimline/opaque/red/arrow_ccw{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/radiation/corner{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Jt" = ( -/turf/open/floor/plasteel, -/area/ship/external) -"Ju" = ( -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/canteen) -"Jv" = ( -/obj/item/kirbyplants/random, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Jx" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"Jy" = ( -/obj/structure/mineral_door/paperframe, -/obj/structure/curtain/bounty, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew) -"Jz" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"JA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/black/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"JC" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"JD" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"JF" = ( -/obj/structure/table/wood, -/obj/item/modular_computer/laptop/preset/civilian, -/turf/open/floor/carpet/black, -/area/ship/crew) -"JJ" = ( -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"JN" = ( -/obj/machinery/vending/wardrobe/jani_wardrobe, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"JP" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloor/corner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"JX" = ( -/obj/structure/fireplace, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm) -"JY" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/crew/janitor) -"Kd" = ( -/obj/item/toy/beach_ball, -/turf/open/floor/plating/beach/sand, -/area/ship/hallway/central) -"Kh" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Ki" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) -"Kl" = ( -/turf/closed/wall/mineral/wood, -/area/ship/crew) -"Ko" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/structure/curtain/bounty, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisewindows" - }, -/turf/open/floor/plating, -/area/ship/crew) -"Kp" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"Kr" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Ky" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"KD" = ( -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/oxygen_output{ - dir = 8 - }, -/turf/open/floor/engine/o2, -/area/ship/engineering) -"KG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"KH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"KK" = ( -/obj/machinery/light/directional/west, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/pod/light, -/area/ship/hallway/fore) -"KO" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew) -"KR" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"KX" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/red/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"La" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet/black, -/area/ship/crew/canteen/kitchen) -"Li" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Lk" = ( -/obj/effect/turf_decal/corner/opaque/white/bordercorner, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Lp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/computer/helm/viewscreen/directional/north, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm) -"Lt" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/red{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Lu" = ( -/obj/structure/chair/sofa/brown/right/directional/west, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"LA" = ( -/obj/machinery/atmospherics/components/binary/circulator, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/red/arrow_ccw{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/radiation{ - dir = 10 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"LB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet, -/area/ship/crew/chapel) -"LD" = ( -/obj/item/reagent_containers/spray/spraytan, -/turf/open/floor/plating/beach/sand, -/area/ship/hallway/central) -"LF" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 10 - }, -/obj/machinery/portable_atmospherics/pump, -/obj/effect/turf_decal/trimline/opaque/green/corner{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"LK" = ( -/obj/structure/flora/ausbushes/brflowers, -/turf/open/floor/grass, -/area/ship/hallway/aft) -"LQ" = ( -/obj/structure/closet/crate/secure/weapon, -/obj/item/gun/ballistic/automatic/smg/wt550, -/obj/item/gun/ballistic/automatic/smg/wt550, -/obj/item/ammo_box/magazine/wt550m9, -/obj/item/ammo_box/magazine/wt550m9, -/obj/machinery/light/directional/north, -/turf/open/floor/plating, -/area/ship/cargo) -"LV" = ( -/obj/structure/flora/ausbushes/brflowers, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/grass, -/area/ship/hallway/central) -"Md" = ( -/obj/machinery/power/generator{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/light, -/area/ship/engineering) -"Me" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/item/weldingtool, -/obj/item/weldingtool, -/obj/machinery/button/door/incinerator_vent_atmos_aux{ - dir = 4; - pixel_x = -28; - pixel_y = 8 - }, -/obj/effect/turf_decal/industrial/radiation/corner{ - dir = 8 - }, -/obj/machinery/button/door{ - dir = 4; - id = "cruisetegwindows"; - name = "Chamber Window"; - pixel_x = -28; - pixel_y = -8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Mf" = ( -/obj/machinery/biogenerator, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"Mm" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/black/border, -/turf/open/floor/plasteel, -/area/ship/crew) -"Mn" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/wood, -/area/ship/crew/library) -"Mr" = ( -/obj/machinery/computer/atmos_control/incinerator{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/green/arrow_ccw, -/turf/open/floor/plating, -/area/ship/engineering) -"Mx" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/effect/turf_decal/weather/sand, -/turf/open/floor/grass, -/area/ship/hallway/central) -"My" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 9 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"Mz" = ( -/obj/structure/table/wood, -/obj/item/nullrod, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"MD" = ( -/obj/effect/turf_decal/corner/opaque/white/border, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"MM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm) -"MV" = ( -/obj/structure/bed, -/obj/item/bedsheet/mime, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/canteen) -"MY" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"Ne" = ( -/obj/structure/window/plasma/reinforced/spawner/east, -/obj/machinery/air_sensor/atmos/oxygen_tank, -/turf/open/floor/engine/o2, -/area/ship/engineering) -"Nm" = ( -/obj/structure/railing{ - dir = 8; - pixel_x = -1 - }, -/obj/structure/chair/sofa/brown/left/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew) -"Np" = ( -/obj/structure/chair/comfy/grey/directional/east, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet/black, -/area/ship/crew/office) -"Nr" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ - dir = 4 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/radiation/full, -/turf/open/floor/plating, -/area/ship/external) -"Ny" = ( -/obj/machinery/button/door{ - id = "cruise_entrance1"; - name = "blastdoor one"; - pixel_x = 28; - pixel_y = 36 - }, -/obj/machinery/button/door{ - id = "cruise_entrance2"; - name = "blastdoor two"; - pixel_x = 28; - pixel_y = 25 - }, -/obj/machinery/button/door{ - id = "cruise_checkpoint"; - name = "checkpoint lockdown"; - pixel_x = -28; - pixel_y = 25 - }, -/obj/structure/chair/office{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/port) -"NA" = ( -/obj/structure/table/wood, -/obj/item/binoculars, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"NB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple{ - dir = 8 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) -"NF" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"NH" = ( -/obj/structure/railing{ - dir = 6 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"NM" = ( -/obj/machinery/computer/monitor{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"NQ" = ( -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/canteen) -"NT" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"Oa" = ( -/obj/structure/window/plasma/reinforced/spawner/north, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/effect/turf_decal/atmos/plasma, -/turf/open/floor/engine/plasma, -/area/ship/engineering) -"Oe" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/structure/curtain/cloth/fancy, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisewindows" - }, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"Oj" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/library) -"Ok" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"On" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisewindows"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/hallway/fore) -"Or" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"Oy" = ( -/obj/structure/railing/corner, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Oz" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/toilet) -"OB" = ( -/obj/machinery/door/airlock, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"OH" = ( -/obj/structure/table/wood, -/obj/item/storage/book/bible, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/item/reagent_containers/food/drinks/bottle/holywater, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"OM" = ( -/obj/structure/table/wood, -/obj/item/storage/fancy/candle_box, -/obj/item/flashlight/lantern, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"ON" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/layer2{ - dir = 8 - }, -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"OO" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/effect/turf_decal/corner/opaque/lightgrey/border{ - dir = 9 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"Pa" = ( -/obj/machinery/vending/snack/teal, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Pc" = ( -/obj/machinery/air_sensor/atmos/incinerator_tank, -/turf/open/floor/engine, -/area/ship/engineering) -"Pe" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"Pg" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Pj" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/machinery/computer/cryopod/directional/north, -/turf/open/floor/light, -/area/ship/crew/dorm) -"Pm" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/carpet/black, -/area/ship/crew/library) -"Pn" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) -"Po" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Pq" = ( -/obj/machinery/computer/helm/viewscreen/directional/north, -/turf/open/floor/circuit, -/area/ship/hallway/fore) -"Pr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Pt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/canteen/kitchen) -"Pv" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Pw" = ( -/turf/closed/wall/mineral/sandstone, -/area/ship/hallway/central) -"Px" = ( -/obj/structure/bookcase/random/reference, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"PC" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/wood, -/area/ship/crew/library) -"PD" = ( -/turf/open/floor/carpet, -/area/ship/crew/chapel) -"PE" = ( -/turf/open/floor/eighties, -/area/ship/storage) -"PF" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/structure/window/reinforced/spawner/west, -/obj/structure/window/reinforced/spawner/north, -/obj/structure/flora/rock/pile/icy, -/obj/machinery/light/floor, -/turf/open/floor/grass/fairy, -/area/ship/hallway/aft) -"PH" = ( -/obj/machinery/door/airlock, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"PL" = ( -/obj/machinery/vending/donksofttoyvendor, -/turf/open/floor/light/colour_cycle/dancefloor_b, -/area/ship/storage) -"PS" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/red/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"PV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/wood, -/area/ship/crew) -"PX" = ( -/obj/machinery/vending/wardrobe/sec_wardrobe, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/siding/red{ - dir = 10 - }, -/obj/machinery/light/directional/west, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"PY" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/wood, -/area/ship/bridge) -"Qc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Qg" = ( -/obj/structure/chair/stool/bar{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Qi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/carpet/black, -/area/ship/crew/canteen/kitchen) -"Qj" = ( -/obj/vehicle/ridden/secway, -/obj/item/key/security, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Qk" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/janitor) -"Qo" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Qs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/canteen) -"Qt" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen) -"Qu" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Qy" = ( -/obj/structure/railing, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"QA" = ( -/obj/structure/railing{ - dir = 5 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"QE" = ( -/obj/effect/turf_decal/corner/opaque/beige/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"QF" = ( -/obj/structure/closet/secure_closet/security/sec, -/obj/item/gun/energy/e_gun/mini, -/obj/item/gun/energy/taser, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/item/clothing/under/rank/security/officer/blueshirt, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"QH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"QI" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew) -"QJ" = ( -/obj/machinery/door/airlock/external{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"QK" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/turf_decal/trimline/opaque/green/arrow_ccw{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plating, -/area/ship/engineering) -"QN" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"QP" = ( -/obj/machinery/suit_storage_unit/atmos, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"QS" = ( -/obj/structure/bed, -/obj/structure/curtain/bounty, -/obj/item/bedsheet, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"QU" = ( -/obj/structure/closet/firecloset/wall/directional/west, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"QV" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"QW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/light/dim/directional/west, -/turf/open/floor/wood, -/area/ship/crew) -"QZ" = ( -/obj/structure/railing{ - dir = 6 - }, -/obj/structure/marker_beacon{ - light_color = "#FFFFCF" - }, -/obj/effect/turf_decal/borderfloor{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"Ra" = ( -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"Rc" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/wood, -/area/ship/crew/library) -"Rd" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Rf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/trimline/opaque/red/arrow_ccw{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Ri" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Rl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/grass/fairy, -/area/ship/crew) -"Rm" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Ro" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisebridgewindows"; - name = "External Shutters"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/security) -"Rq" = ( -/obj/structure/railing, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, -/area/ship/crew) -"Rr" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"Rw" = ( -/obj/structure/chair/comfy/grey/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/carpet/black, -/area/ship/crew) -"Rx" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/clothing/under/suit/black, -/obj/item/clothing/suit/toggle/lawyer/black, -/obj/item/clothing/neck/tie/blue, -/obj/item/pen/fountain, -/obj/item/spacecash/bundle/c100, -/obj/machinery/light/directional/north, -/turf/open/floor/carpet/black, -/area/ship/crew) -"RC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple{ - dir = 8 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) -"RH" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/mug/coco{ - pixel_x = -8; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/drinks/mug/coco{ - pixel_y = 9 - }, -/obj/item/lighter{ - pixel_x = 6; - pixel_y = -6 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/wood, -/area/ship/crew) -"RJ" = ( -/obj/structure/closet/crate/engineering, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/mineral/titanium/fifty, -/turf/open/floor/plating, -/area/ship/cargo) -"RL" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"RM" = ( -/obj/structure/table/wood, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"RR" = ( -/turf/open/floor/plating/beach/coastline_b, -/area/ship/hallway/central) -"RS" = ( -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/window/plasma/reinforced/spawner/north, -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/nitrogen_input{ - dir = 8 - }, -/turf/open/floor/engine/n2, -/area/ship/engineering) -"RU" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"RV" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"RZ" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Sa" = ( -/obj/structure/table/reinforced, -/obj/item/pizzabox, -/obj/item/pizzabox, -/obj/item/pizzabox, -/obj/item/pizzabox, -/obj/item/pizzabox, -/obj/item/clothing/under/suit/waiter, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"Sg" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/airlock, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel, -/area/ship/crew/janitor) -"Si" = ( -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Sj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/wood, -/area/ship/crew/library) -"Sq" = ( -/obj/structure/closet/crate/internals, -/obj/item/tank/internals/emergency_oxygen/double, -/obj/item/tank/internals/emergency_oxygen/double, -/obj/item/tank/internals/emergency_oxygen/double, -/turf/open/floor/plating, -/area/ship/cargo) -"SE" = ( -/obj/machinery/door/airlock/medical, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"SH" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"SK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"SO" = ( -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/window/plasma/reinforced/spawner, -/obj/machinery/air_sensor/atmos/toxin_tank, -/turf/open/floor/engine/plasma, -/area/ship/engineering) -"SQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"ST" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Te" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Tf" = ( -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/grass, -/area/ship/hallway/aft) -"Tl" = ( -/obj/machinery/door/airlock/glass_large, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Tq" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"Tr" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Tt" = ( -/obj/effect/turf_decal/weather/sand, -/turf/open/floor/grass, -/area/ship/hallway/central) -"Tw" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/wood, -/area/ship/crew/library) -"Tx" = ( -/obj/structure/chair/comfy/grey/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/library) -"Tz" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"TA" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/library) -"TD" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"TH" = ( -/obj/structure/table/wood, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"TI" = ( -/obj/machinery/door/airlock/public/glass, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"TK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"TL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"TM" = ( -/obj/structure/chair/pew/right{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet, -/area/ship/crew/chapel) -"TO" = ( -/obj/structure/railing{ - dir = 8; - pixel_x = -1 - }, -/obj/item/megaphone/command, -/obj/item/radio, -/obj/item/gun/energy/e_gun/advtaser, -/obj/item/pen/survival, -/obj/structure/closet/secure_closet/wall/directional/north{ - icon_state = "sec_wall"; - name = "equipment locker"; - req_access = list(30) - }, -/obj/item/card/id/captains_spare, -/obj/item/areaeditor/shuttle, -/obj/item/flashlight/seclite, -/obj/item/binoculars, -/obj/item/stamp/captain, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"TU" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"TX" = ( -/obj/structure/table, -/obj/item/clothing/shoes/wheelys{ - pixel_x = 4; - pixel_y = 9 - }, -/obj/item/melee/skateboard/hoverboard{ - pixel_x = -4 - }, -/turf/open/floor/eighties, -/area/ship/storage) -"Ua" = ( -/obj/structure/window/plasma/reinforced/spawner, -/obj/structure/window/plasma/reinforced/spawner/east, -/obj/machinery/air_sensor/atmos/air_tank, -/turf/open/floor/engine/air, -/area/ship/engineering) -"Uc" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Uf" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"Ui" = ( -/obj/structure/chair/sofa/brown/left/directional/south, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/hallway/fore) -"Um" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/airlock/glass_large, -/obj/machinery/door/firedoor, -/turf/open/floor/carpet, -/area/ship/crew/chapel) -"Uq" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "cruisewindows"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"Uv" = ( -/obj/structure/railing{ - dir = 6 - }, -/obj/structure/marker_beacon{ - light_color = "#FFFFCF" - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"Ux" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Uy" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"UE" = ( -/obj/machinery/door/airlock/security{ - req_access = list(1) - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/siding/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"UG" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/canteen) -"UL" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/lightgrey/border{ - dir = 9 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"UO" = ( -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"UP" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/grass, -/area/ship/hallway/aft) -"US" = ( -/obj/machinery/computer/atmos_control/tank/oxygen_tank{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plating, -/area/ship/engineering) -"UV" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"UY" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Va" = ( -/obj/machinery/door/window/westright, -/obj/machinery/conveyor{ - id = "cruise_conveyor" - }, -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"Vb" = ( -/obj/structure/closet/crate/freezer/blood, -/obj/machinery/iv_drip, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Vc" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Vg" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"Vi" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/grass, -/area/ship/hallway/central) -"Vl" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/black/border, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Vs" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Vz" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/lightgrey/border{ - dir = 8 - }, -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"VA" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"VD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/circuit, -/area/ship/hallway/fore) -"VE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/grass, -/area/ship/hallway/central) -"VF" = ( -/obj/machinery/door/airlock/external{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"VG" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light_switch{ - pixel_x = 20; - pixel_y = -12; - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"VR" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"VS" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters{ - id = "cruisewindows"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"VV" = ( -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"VY" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Wa" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/borderfloor/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/external) -"Wd" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/emergency{ - pixel_x = -1; - pixel_y = 8 - }, -/obj/item/storage/toolbox/electrical, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 1; - pixel_y = -8 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Wf" = ( -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/structure/rack, -/obj/item/binoculars, -/obj/item/binoculars, -/obj/item/binoculars, -/obj/effect/turf_decal/corner/opaque/lightgrey/border{ - dir = 4 - }, -/turf/open/floor/pod/dark, -/area/ship/hallway/fore) -"Wi" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/starboard) -"Wj" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/white/border, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel, -/area/ship/crew) -"Wl" = ( -/obj/machinery/door/airlock/public/glass{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Wm" = ( -/obj/machinery/conveyor_switch/oneway{ - id = "cruise_conveyor" - }, -/obj/machinery/button/door{ - id = "cruise_disposals"; - name = "disposals blastdoor"; - pixel_y = -20; - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"Wq" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"WA" = ( -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"WB" = ( -/obj/structure/chair/sofa/brown/left/directional/west, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"WC" = ( -/obj/machinery/door/airlock/wood/glass{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"WH" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"WJ" = ( -/obj/effect/turf_decal/corner/opaque/white/bordercorner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"WR" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/canteen/kitchen) -"WS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"WV" = ( -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"WW" = ( -/obj/structure/flora/ausbushes/brflowers, -/turf/open/floor/grass, -/area/ship/hallway/central) -"WX" = ( -/obj/machinery/suit_storage_unit/security, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch{ - pixel_x = -13; - pixel_y = 23 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Xa" = ( -/obj/structure/closet/crate/wooden, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree, -/obj/item/stack/sheet/mineral/wood/fifty, -/obj/item/hatchet/wooden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/grass/fairy, -/area/ship/crew) -"Xb" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Xc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/border, -/turf/open/floor/plasteel, -/area/ship/crew) -"Xf" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Xl" = ( -/obj/structure/closet/l3closet/janitor, -/obj/item/storage/belt/janitor/full, -/obj/item/storage/box/lights/mixed{ - pixel_x = -2 - }, -/obj/item/reagent_containers/spray/cleaner, -/obj/item/storage/bag/trash, -/obj/item/storage/bag/trash, -/obj/item/soap, -/obj/item/soap, -/obj/item/pushbroom, -/obj/item/mop, -/obj/item/reagent_containers/glass/bucket, -/obj/item/holosign_creator/janibarrier, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/item/storage/box/maid, -/obj/machinery/airalarm/directional/west, -/obj/machinery/light_switch{ - pixel_x = -13; - pixel_y = 23 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/plasteel, -/area/ship/crew/janitor) -"Xs" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/clothing/under/suit/black/female, -/obj/item/clothing/neck/tie/red, -/obj/item/toy/cards/deck/syndicate, -/obj/item/spacecash/bundle/c100, -/obj/machinery/light/directional/north, -/turf/open/floor/carpet/black, -/area/ship/crew) -"Xz" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/chapel) -"XC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/carpet/black, -/area/ship/crew) -"XI" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/grass, -/area/ship/hallway/central) -"XM" = ( -/obj/machinery/airalarm/directional/north, -/obj/structure/table/wood, -/obj/item/storage/bag/easterbasket{ - pixel_x = 5; - pixel_y = 9 - }, -/obj/item/reagent_containers/food/snacks/egg{ - pixel_x = -8; - pixel_y = 4 - }, -/turf/open/floor/grass, -/area/ship/hallway/central) -"XV" = ( -/obj/item/kirbyplants/photosynthetic, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/hallway/fore) -"XW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/canteen) -"XX" = ( -/obj/machinery/shower{ - dir = 1 - }, -/obj/structure/curtain, -/obj/item/soap, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"XY" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Ya" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Yc" = ( -/obj/structure/chair/comfy/orange/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm) -"Yh" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch{ - pixel_x = -13; - pixel_y = 23 - }, -/turf/open/floor/grass, -/area/ship/hallway/central) -"Yl" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Yu" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Yw" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/crew/canteen/kitchen) -"YF" = ( -/obj/structure/curtain, -/obj/machinery/shower{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"YG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"YN" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"YO" = ( -/turf/open/floor/wood, -/area/ship/crew/dorm) -"YV" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"YZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/black/border, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Zb" = ( -/obj/machinery/door/poddoor{ - id = "cruise_disposals"; - name = "Disposals Blast Door" - }, -/obj/machinery/conveyor{ - id = "cruise_conveyor" - }, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"Zi" = ( -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Zm" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Zo" = ( -/obj/machinery/door/poddoor/incinerator_atmos_aux, -/turf/open/floor/engine, -/area/ship/engineering) -"Zt" = ( -/obj/structure/table/wood/poker, -/obj/item/spacecash/bundle/c200, -/turf/open/floor/light/colour_cycle/dancefloor_a, -/area/ship/crew/office) -"Zu" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light_switch{ - pixel_x = 20; - pixel_y = -12; - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Zx" = ( -/obj/structure/flora/tree/palm, -/obj/effect/overlay/coconut, -/turf/open/floor/plating/beach/sand, -/area/ship/hallway/central) -"ZA" = ( -/obj/item/clothing/shoes/sandal, -/turf/open/floor/plating/beach/sand, -/area/ship/hallway/central) -"ZH" = ( -/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped/inverse{ - dir = 1; - target_pressure = 101 - }, -/obj/effect/turf_decal/trimline/transparent/neutral/filled, -/turf/open/floor/plating, -/area/ship/engineering) -"ZJ" = ( -/obj/structure/table/reinforced, -/obj/machinery/chem_dispenser/drinks/beer{ - dir = 8 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/canteen/kitchen) -"ZK" = ( -/turf/template_noop, -/area/template_noop) -"ZL" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) -"ZO" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 10 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/port) -"ZP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/grass/fairy, -/area/ship/crew) -"ZS" = ( -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"ZU" = ( -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"ZX" = ( -/obj/structure/window/plasma/reinforced/spawner/east, -/obj/structure/window/plasma/reinforced/spawner/north, -/obj/effect/turf_decal/atmos/air, -/turf/open/floor/engine/air, -/area/ship/engineering) -"ZY" = ( -/obj/structure/closet/crate/wooden, -/obj/item/stack/sheet/mineral/wood/fifty, -/obj/item/lighter, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"ZZ" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white/border{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/starboard) - -(1,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -xZ -sv -xZ -sv -xZ -ZK -xZ -Pn -Pn -Pn -xZ -ZK -xZ -Pn -Pn -xZ -ZK -xZ -sv -xZ -sv -xZ -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(2,1,1) = {" -ZK -vs -Ki -Ki -Ki -vs -ZK -ZK -ZK -Pn -sP -Pn -Bz -Pn -Nr -qq -hK -Pc -FA -Zo -sn -Pn -Oa -SO -Pn -qY -Pn -sP -Pn -Bz -Pn -ZK -ZK -ZK -wI -tb -tb -tb -wI -"} -(3,1,1) = {" -ZK -Ki -IG -RJ -aP -Ki -vs -ZK -ZK -Pn -Vc -eS -Vc -Pn -VS -fZ -NB -cT -RC -yQ -iu -Pn -DZ -iT -Pn -lx -Pn -Vc -Fh -Vc -Pn -ZK -ZK -wI -tb -Pj -by -tp -tb -"} -(4,1,1) = {" -ZK -Ki -LQ -GV -Ax -bt -Ki -bD -bD -Pn -Be -Yl -Uy -uV -Mr -Me -LA -Md -xE -hm -ZH -yV -kk -lU -US -xC -CS -pg -GT -rk -Pn -Wi -Wi -tb -uM -VR -HM -aK -iV -"} -(5,1,1) = {" -ZK -Ki -Sq -ih -fc -hv -mF -UL -QV -sC -KR -UY -Zm -Ok -yK -Iy -Js -Bl -iP -Ew -ln -bn -eX -yu -fI -Rf -aD -oh -ho -GU -mi -ZL -wo -TI -fC -Zu -QS -Jj -tb -"} -(6,1,1) = {" -ZK -Ki -Ki -Ki -Ki -Ki -Ki -dP -gJ -Pn -Pn -NM -BY -lC -LF -QK -oM -Hc -mJ -zZ -dU -et -DP -qJ -pt -qF -YN -Wd -QP -Pn -Pn -uQ -sD -tb -tb -tb -tb -tb -tb -"} -(7,1,1) = {" -ZK -ae -Fn -wa -tL -tL -cO -df -ha -ou -yO -yO -yO -yO -yO -yO -yO -GP -KD -RS -Bh -rd -fw -Fw -Fw -Fw -Fw -Fw -Fw -Fw -BP -vk -kA -oC -hY -pJ -dq -mT -sH -"} -(8,1,1) = {" -wi -at -Fn -au -bh -dF -dL -QH -hr -Ak -UE -qe -gV -Gb -Lt -PX -yO -mq -Ne -wT -uZ -ZX -Ua -Fw -DS -bc -mM -bd -pW -SE -EB -dp -zz -tb -aL -YO -nv -NA -sH -"} -(9,1,1) = {" -ZK -ae -Fn -aN -zI -zI -aZ -qK -ht -pc -yO -WX -Cg -Ge -tJ -Qj -lP -lP -lP -lP -lP -lP -lP -lP -cK -ns -mp -iv -YF -Fw -Gd -Fy -iK -tb -Ji -YO -Lu -WB -sH -"} -(10,1,1) = {" -ZK -bD -bD -bD -fe -bv -bD -lK -As -MY -yO -yO -eR -HA -Pr -PS -oU -qR -PY -cM -Hz -ad -ea -az -Uc -eA -rQ -kX -Fw -Fw -ZZ -Cq -xX -tb -MM -Yc -fV -ZY -sH -"} -(11,1,1) = {" -ZK -Fq -bD -Gn -Ny -FO -dQ -KX -EW -mN -sQ -yO -Co -yO -sL -QF -lP -TO -wH -YV -mm -IE -gn -lP -sm -Vb -Fw -fv -Fw -QU -RU -um -dt -tb -JX -zN -po -sH -Uq -"} -(12,1,1) = {" -ZK -ZK -Fq -bD -lo -bR -bD -rV -hz -yr -tj -vI -CH -yO -lA -Ro -lP -Bn -wt -nE -fG -gz -zQ -lP -fv -fv -Fw -Wq -Ek -WH -Ba -VA -CM -tb -Lp -FP -sH -Uq -ZK -"} -(13,1,1) = {" -ZK -ZK -ZK -tS -Qt -Qt -Qt -Qt -Kp -rO -tA -ge -yy -HG -nK -ZO -lP -bV -bV -bV -bV -bV -bV -lP -My -Ek -ys -uu -VV -bQ -fd -Qk -Qk -Qk -Qk -Qk -Uq -ZK -ZK -"} -(14,1,1) = {" -ZK -ZK -ZK -ZK -Qt -Fl -eF -Qt -Qt -Qt -Jv -jr -Ri -HN -ST -lT -VY -Ya -ym -Xf -RZ -RZ -Qo -Ah -Rd -Fx -Pg -Fx -Qu -GA -Qk -Qk -Xl -JN -Dv -Qk -ZK -ZK -ZK -"} -(15,1,1) = {" -ZK -ZK -ZK -ZK -bi -Ju -Fd -Ee -hT -Qt -tY -pZ -Ux -IH -pZ -pZ -WA -aF -Ux -nl -pZ -Lk -NF -Eu -Fo -Fg -TU -Fg -vD -GM -Sg -JY -qD -SQ -Wm -Qk -ZK -ZK -ZK -"} -(16,1,1) = {" -ZK -ZK -ZK -ZK -Qt -ss -XW -MV -hW -Qt -ue -sp -Fm -Jz -ZU -ZU -Zi -Tr -fu -pp -pZ -ot -rR -Kl -Kl -Kl -Kl -Kl -IX -yg -Qk -lm -tg -Dl -Va -Zb -ZK -ZK -ZK -"} -(17,1,1) = {" -ZK -ZK -ZK -ZK -tS -Qt -fX -Qt -Qt -Qt -Qt -Wl -CN -Qt -vg -vg -Qt -Qt -Qt -kd -pZ -Qy -mh -xv -jS -ch -PV -as -pn -nO -Qk -Qk -Qk -Qk -Qk -in -ZK -ZK -ZK -"} -(18,1,1) = {" -ZK -ZK -ZK -ZK -ZK -Oe -xh -UG -ib -rP -uO -xA -gI -JC -Rm -Qc -IJ -DD -vg -bj -pZ -Qy -Hx -jC -GN -EX -QI -Kl -IX -uD -KO -Rx -wP -JF -Ko -ZK -ZK -ZK -ZK -"} -(19,1,1) = {" -ZK -ZK -ZK -ZK -ZK -Oe -xh -NQ -ib -pq -qA -qA -rb -Cx -Cx -rb -Cx -SH -vg -oP -lI -Oy -PF -Kl -Kl -Kl -Kl -Kl -IX -Mm -wd -sg -XC -Rw -Ko -ZK -ZK -ZK -ZK -"} -(20,1,1) = {" -ZK -ZK -ZK -ZK -ZK -Oe -xh -gq -ib -pq -qA -qA -rb -Ds -Ds -rb -Ds -AB -vg -kd -pZ -Qy -kl -xv -jS -ch -lG -bX -pm -Wj -KO -KO -KO -KO -KO -ZK -ZK -ZK -ZK -"} -(21,1,1) = {" -ZK -ZK -ZK -ZK -ZK -Oe -xh -NQ -ib -pq -qA -qA -rb -Kh -rb -Kh -rb -JD -Qt -yI -Tz -Qy -Tf -jC -GN -EX -QI -Kl -FW -yf -KO -lS -wP -iN -Ko -ZK -ZK -ZK -ZK -"} -(22,1,1) = {" -ZK -ZK -ZK -ZK -ZK -Oe -fK -Qs -IA -pC -lN -lN -vf -Kr -WS -Kr -WS -TL -Tl -eH -pZ -Oy -PF -Kl -Kl -Kl -Kl -Kl -IX -Mm -cx -sg -XC -Rw -Ko -ZK -ZK -ZK -ZK -"} -(23,1,1) = {" -ZK -ZK -ZK -ZK -ZK -Ci -Ci -Ci -Ci -pQ -Ci -Ci -Dh -Ky -dM -Ky -dM -Cw -nf -va -pZ -Qy -Hx -Jy -Ce -Rl -QW -El -pm -Al -KO -KO -KO -KO -KO -ZK -ZK -ZK -ZK -"} -(24,1,1) = {" -ZK -ZK -ZK -ZK -ZK -Ci -qM -Sa -iR -ql -UO -Er -Qg -rb -Cx -rb -Cx -km -Qt -gR -pZ -Qy -LK -Jy -ZP -Xa -Rq -Kl -tt -ip -KO -Xs -wP -iN -Ko -ZK -ZK -ZK -ZK -"} -(25,1,1) = {" -ZK -ZK -ZK -ZK -ZK -Ci -go -UO -jf -qo -Ca -yl -Qg -rb -Ds -rb -Ds -Xb -Qt -kd -pZ -Qy -UP -Kl -Nm -HR -mK -Kl -IX -Mm -oz -sg -XC -Rw -Ko -ZK -ZK -ZK -ZK -"} -(26,1,1) = {" -ZK -ZK -ZK -ZK -ZK -tu -Ci -kh -iS -qu -UO -zs -Qg -rb -rb -rb -rb -Xb -Qt -yI -Tz -Qy -ri -Kl -cm -mO -nU -Kl -IX -yg -KO -KO -KO -KO -th -ZK -ZK -ZK -ZK -"} -(27,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -pl -Vg -DB -rz -UO -An -bI -KG -eO -eO -eO -Si -vg -kd -pZ -Qy -kl -Kl -RH -GN -dG -Kl -IX -Xc -Oz -ky -XX -Oz -ZK -ZK -ZK -ZK -ZK -"} -(28,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -Ci -Ci -ke -Ci -Ci -Ci -Ci -Ci -CR -CR -CR -CR -Yw -oP -lI -QN -Ec -Kl -Kl -Kl -Kl -Kl -IX -Xc -Oz -uz -XX -Oz -ZK -ZK -ZK -ZK -ZK -"} -(29,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -Ci -yj -Uf -bC -ie -OB -La -La -Pt -Qi -WR -Ie -Yw -kd -pZ -WJ -Te -Te -Te -tP -Te -Te -fz -DK -Oz -nM -ZS -Oz -ZK -ZK -ZK -ZK -ZK -"} -(30,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -Ci -pF -ko -Ra -uS -Ci -af -rq -ZJ -GZ -dr -jj -Ci -Li -Lk -ZU -XY -QE -ZU -Am -Jz -ZU -al -YZ -PH -oj -nu -Oz -ZK -ZK -ZK -ZK -ZK -"} -(31,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -IY -cS -cS -xw -vF -cS -Ci -Ci -Ci -Ci -Ci -Ci -Ci -kv -FX -Pw -Pw -wV -Pw -Pw -Pw -Pw -wU -CE -Oz -Oz -Oz -Oz -ZK -ZK -ZK -ZK -ZK -"} -(32,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -Ij -kq -SK -vK -vy -vy -vy -vy -cS -XM -tD -zW -LV -cP -gf -qx -Kd -ta -RR -AI -Pw -on -Bo -qa -vB -lf -ZK -ZK -ZK -ZK -ZK -ZK -"} -(33,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -Ij -lV -Jx -vU -SK -SK -SK -SK -RM -WW -cP -cP -BB -cP -Mx -Zx -qx -ta -RR -dN -Pw -wU -rI -mV -wD -lf -ZK -ZK -ZK -ZK -ZK -ZK -"} -(34,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -IY -cS -rB -we -Rr -CD -CD -CD -TH -cP -XI -fs -Eg -cP -Tt -qx -qx -ta -RR -dN -Pw -yn -rI -Ui -lf -On -ZK -ZK -ZK -ZK -ZK -ZK -"} -(35,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -cS -Mf -mx -Au -vy -vy -vy -cS -Yh -Vi -xz -VE -cP -Gw -qx -LD -ta -RR -dN -Pw -wU -rI -XV -lf -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(36,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -cS -cS -cS -cS -cS -cS -cS -cS -uf -gM -zf -zP -BI -id -ZA -jI -ta -RR -AI -Pw -zX -hN -mt -mt -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(37,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -AR -uq -FQ -jV -io -ku -Px -TA -dd -iW -TA -wn -WC -Pw -Pw -Pw -Pw -Pw -Pw -Pw -wU -EA -mt -rD -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(38,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -AR -uq -AX -Oj -Ez -dV -jk -Sj -xo -ll -TA -zS -qE -Yu -RV -Yu -Yu -hS -fq -Yu -Pv -rI -lf -rD -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(39,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -AR -uq -wj -Pm -EF -Mn -PC -Tw -Rc -bL -iD -ic -gb -ne -Vs -Vs -Vs -qU -Vs -Vs -vj -rI -lf -rD -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(40,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -AR -uq -jM -jz -BX -ia -eQ -Tx -Pe -Ef -TA -HF -dk -Iw -ze -Pa -oo -hZ -AD -JA -DT -ei -lf -rD -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(41,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -AR -TA -TA -TA -TA -TA -TA -TA -FJ -hA -TA -YG -WV -cv -cv -cv -cv -cv -nX -oV -cv -cv -mt -rD -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(42,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -aC -Wa -kL -AW -Or -wZ -td -kL -kL -kL -kL -BT -it -cv -EN -Np -JJ -eT -mB -ub -oW -cv -sa -Uv -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(43,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -AR -kL -kL -xJ -Mz -Tq -TK -Xz -td -kL -yP -WV -Gs -HW -Zt -Et -JJ -JJ -Bi -cv -cv -rD -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(44,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -fM -hj -Bt -rm -rF -PD -vP -pV -LB -Um -sI -WV -Gs -jw -Ej -Et -JJ -lj -eE -Jr -sa -bs -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(45,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -AR -Bt -GE -OH -xc -TM -Bw -xc -yh -Dc -WV -Gs -HW -tx -Et -JJ -lj -Fr -Jr -rD -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(46,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -AR -kL -VG -OM -hs -hs -He -Dg -kL -Po -wX -cv -Cy -jP -JJ -BW -lj -Fr -Jr -rD -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(47,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -AR -kL -kL -kL -kL -kL -kL -kL -kL -yq -zb -cv -cv -cv -cv -cv -cv -cv -cv -rD -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(48,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -fM -hj -mt -OO -GO -Vz -HE -HE -HE -qw -MD -iq -cR -dZ -rC -dZ -PL -iq -sa -bs -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(49,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -AR -mt -Pq -aO -VD -aO -aO -xi -pN -Vl -BO -yD -Jq -tH -PE -TX -zc -rD -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(50,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -AR -mt -gF -zd -zd -IZ -Wf -xn -KH -vV -iq -sT -dZ -jt -dZ -pP -iq -rD -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(51,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -AR -mt -mt -mt -mt -mt -mt -mt -QJ -VF -iq -iq -iq -iq -iq -iq -iq -rD -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(52,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -aC -JP -UV -uy -Ig -ji -lf -KK -ON -rK -EM -lf -EP -Ig -ES -UV -Hg -Uv -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(53,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -QA -jh -en -wC -tC -mt -mt -Bg -Bg -mt -mt -Jo -wC -RL -GH -NH -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(54,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -na -jh -Jt -Jt -xT -mt -mz -xr -mt -ef -TD -Jt -GH -QZ -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(55,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -QA -NT -jh -ik -UV -TD -ik -UV -TD -GH -NT -NH -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} -(56,1,1) = {" -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -na -NT -NT -NT -NT -NT -NT -QZ -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -ZK -"} diff --git a/_maps/shuttles/independent/independent_mudskipper.dmm b/_maps/shuttles/independent/independent_mudskipper.dmm index f82cdc7ba74..57ef5121897 100644 --- a/_maps/shuttles/independent/independent_mudskipper.dmm +++ b/_maps/shuttles/independent/independent_mudskipper.dmm @@ -9,7 +9,7 @@ icon_state = "0-1" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "ag" = ( /obj/machinery/power/shuttle/engine/electric{ @@ -18,34 +18,30 @@ /obj/structure/cable{ icon_state = "0-4" }, -/turf/open/floor/plating, +/turf/open/floor/engine/hull, /area/ship/engineering/engine) "ak" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 8; - color = "#543C30" - }, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, /obj/structure/extinguisher_cabinet/directional/south, -/obj/structure/cable{ - icon_state = "1-8" - }, /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/wood/walnut, +/obj/effect/turf_decal/corner/opaque/bottlegreen/full, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/ship/bridge) "ao" = ( /obj/machinery/power/terminal{ dir = 8 }, /obj/machinery/atmospherics/components/binary/pump{ - name = "Plasma to Engines"; - dir = 1 + dir = 1; + name = "Plasma to Engines" }, /obj/structure/cable{ icon_state = "1-4" @@ -53,11 +49,6 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "ar" = ( @@ -70,117 +61,90 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/grimy, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, /area/ship/hallway/aft) "bS" = ( -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel/grimy, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, /area/ship/hallway/aft) -"bZ" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/door/window/eastleft{ - layer = 3.1 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "mudskipper_engine" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) "cn" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/obj/machinery/airalarm/directional/east, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = -3 + pixel_x = -3; + pixel_y = 23 }, -/turf/open/floor/plasteel/dark, -/area/ship/maintenance) +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) "cs" = ( /turf/template_noop, /area/template_noop) "cx" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, /obj/machinery/door/firedoor/border_only{ dir = 8 }, /obj/effect/turf_decal/miskilamo_small{ dir = 8 }, +/obj/effect/decal/cleanable/dirt, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "1-10" + }, +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, /area/ship/cargo) "cB" = ( -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 5 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/grimy, +/turf/open/floor/carpet, /area/ship/crew) "dc" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, +/turf/closed/wall, /area/ship/hallway/central) "dw" = ( /obj/structure/window/reinforced/spawner, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, /obj/machinery/button/door{ dir = 8; - pixel_x = 22; - pixel_y = 15; id = "mudskipper_engine"; - name = "Engine Shutters" + name = "Engine Shutters"; + pixel_x = 22; + pixel_y = 15 }, /obj/machinery/cell_charger, /obj/item/storage/toolbox/mechanical, -/turf/open/floor/plasteel/tech/grid, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "dN" = ( /obj/machinery/modular_computer/console/preset/command{ dir = 8 }, -/obj/effect/turf_decal/corner/transparent/neutral, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = -3 + pixel_x = -3; + pixel_y = 23 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "dQ" = ( -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 6 - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, @@ -192,8 +156,10 @@ /obj/structure/cable{ icon_state = "0-8" }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/grimy, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/carpet, /area/ship/crew) "dT" = ( /obj/machinery/suit_storage_unit/inherit, @@ -207,41 +173,46 @@ dir = 4; pixel_x = -22 }, +/obj/effect/turf_decal/borderfloor{ + dir = 6 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "dZ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, /obj/effect/decal/cleanable/glass, /obj/structure/extinguisher_cabinet/directional/west{ pixel_y = 5 }, /obj/machinery/button/door{ dir = 4; - pixel_x = -33; - pixel_y = -7; id = "mudskipper_door"; - name = "Cargo Door" + name = "Cargo Door"; + pixel_x = -33; + pixel_y = -7 }, /obj/machinery/button/shieldwallgen{ dir = 4; - pixel_x = -21; - pixel_y = -7; id = "mudskipper_shield"; - name = "Cargo Holofield" + name = "Cargo Holofield"; + pixel_x = -21; + pixel_y = -7 }, -/turf/open/floor/plasteel/dark, +/obj/structure/cable{ + icon_state = "2-10" + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "ec" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "ee" = ( /obj/effect/turf_decal/industrial/warning, @@ -250,19 +221,16 @@ }, /obj/structure/window/reinforced/spawner/west, /obj/structure/window/reinforced/spawner/east, -/turf/open/floor/plasteel/tech/airless, +/turf/open/floor/engine/hull, /area/ship/external/dark) "en" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 10 }, -/turf/open/floor/plating, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "eu" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, /obj/structure/railing{ dir = 8 }, @@ -274,6 +242,10 @@ /obj/structure/cable{ icon_state = "2-4" }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "eL" = ( @@ -283,21 +255,18 @@ /obj/structure/sign/poster/contraband/smoke{ pixel_x = 32 }, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 4 - }, /obj/item/toy/cards/deck{ pixel_y = 3 }, -/turf/open/floor/wood/walnut, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, /area/ship/hallway/aft) "eX" = ( /obj/machinery/atmospherics/components/unary/passive_vent, -/turf/open/floor/engine/hull/reinforced, +/turf/open/floor/engine/hull, /area/ship/external/dark) "gf" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 8 }, @@ -310,6 +279,10 @@ /obj/structure/cable{ icon_state = "2-8" }, +/obj/structure/cable{ + icon_state = "5-6" + }, +/obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ship/hallway/central) "gB" = ( @@ -318,17 +291,19 @@ dir = 4; id = "mudskipper_door" }, -/turf/open/floor/engine, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/ridged, /area/ship/cargo) "gR" = ( /obj/effect/turf_decal/box, -/obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/oil{ icon_state = "floor4" }, /obj/structure/closet/crate/secure{ - name = "scavenging supplies"; desc = "A secure crate. This one is particularly large."; + name = "scavenging supplies"; storage_capacity = 40 }, /obj/item/reagent_containers/glass/chem_jug/thermite, @@ -346,48 +321,57 @@ /obj/item/pickaxe/mini, /obj/item/reagent_containers/pill/patch/styptic, /obj/item/reagent_containers/pill/patch/silver_sulf, -/obj/item/circular_saw, /obj/item/multitool, /obj/item/stack/marker_beacon/thirty, -/turf/open/floor/plasteel/tech, +/obj/structure/cable{ + icon_state = "2-10" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/item/radio/headset/alt, +/obj/item/gear_pack/anglegrinder, +/obj/item/gun/energy/plasmacutter, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "gT" = ( -/obj/structure/chair{ +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/structure/chair/plastic{ dir = 1 }, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 6 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood/walnut, +/turf/open/floor/plasteel, /area/ship/hallway/aft) +"hn" = ( +/turf/closed/wall/rust/yesdiag, +/area/ship/external/dark) "hr" = ( /obj/machinery/power/smes/engineering, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, /obj/structure/cable{ icon_state = "0-8" }, /obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "hH" = ( -/turf/closed/wall/mineral/plastitanium, +/turf/closed/wall/yesdiag, /area/ship/external/dark) "hX" = ( /obj/structure/grille, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "hY" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable{ icon_state = "1-8" }, /obj/structure/cable{ icon_state = "1-2" }, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, /area/ship/engineering/engine) "ib" = ( @@ -400,66 +384,76 @@ /obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/turf/open/floor/engine/hull/reinforced, +/turf/open/floor/engine/hull, /area/ship/cargo) "ic" = ( -/obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/oil{ icon_state = "floor4" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable{ - icon_state = "0-2" + icon_state = "0-6" + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/full, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 8 }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "iy" = ( -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, /area/ship/hallway/aft) "iY" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/structure/cable{ + icon_state = "4-9" }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/structure/sign/poster/random{ + pixel_y = -32 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/structure/chair/handrail{ + dir = 1 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/grey/half{ + dir = 1 }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) +"js" = ( +/turf/closed/wall/rust, +/area/ship/bridge) +"jz" = ( +/turf/closed/wall/rust, +/area/ship/engineering/engine) +"kw" = ( +/obj/structure/sign/number/random, +/turf/closed/wall/r_wall, +/area/ship/engineering/engine) "kB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/machinery/airalarm/directional/west, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = 3 + pixel_x = 3; + pixel_y = 23 }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) "kV" = ( /obj/machinery/vending/coffee, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, /obj/structure/extinguisher_cabinet/directional/west{ pixel_y = -5 }, /obj/machinery/light/dim/directional/north, +/obj/effect/turf_decal/corner/opaque/grey/three_quarters, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) "kX" = ( @@ -467,34 +461,26 @@ dir = 4 }, /obj/machinery/airalarm/directional/north, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/dim/directional/west{ bulb_power = 0.5 }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "kY" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/turf/open/floor/engine/hull/reinforced, +/turf/open/floor/engine/hull, /area/ship/cargo) +"lg" = ( +/turf/closed/wall/r_wall/rust, +/area/ship/hallway/central) "lj" = ( /obj/machinery/power/shuttle/engine/fueled/plasma{ dir = 4 }, -/turf/open/floor/plating, +/turf/open/floor/engine/hull, /area/ship/engineering/engine) -"ma" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ship/external/dark) "mt" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/machinery/door/firedoor/border_only, @@ -502,40 +488,25 @@ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, +/obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/airlock{ - name = "Bathroom" + dir = 1; + name = "Restroom" }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/toilet) +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) "mC" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, /area/ship/hallway/central) "mF" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, +/turf/closed/wall/r_wall, /area/ship/cargo) "mS" = ( /obj/structure/catwalk, @@ -550,12 +521,12 @@ dir = 1; id = "mudskipper_shield" }, -/turf/open/floor/engine, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/ridged, /area/ship/cargo) "nj" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, /obj/structure/sign/warning/vacuum/external{ pixel_y = 28 }, @@ -568,137 +539,102 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, /area/ship/cargo) "nm" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/chair, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 9 - }, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken7" - }, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/structure/chair/plastic, +/turf/open/floor/plasteel, /area/ship/hallway/aft) "nx" = ( /obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning/fulltile, /turf/open/floor/plasteel/tech, /area/ship/hallway/aft) "nM" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, /obj/machinery/light/small/directional/north{ pixel_x = 6 }, /obj/machinery/computer/helm/viewscreen/computer, /obj/machinery/airalarm/directional/east, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/box, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "nR" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "nV" = ( /obj/structure/closet/wall/blue/directional/west{ - secure = 1; - locked = 1 + locked = 1; + secure = 1 }, -/obj/item/gun/energy/laser/scatter, -/obj/item/stock_parts/cell/gun/upgraded, -/obj/machinery/holopad/emergency/command, /obj/item/storage/backpack/duffelbag, /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/head/caphat, /obj/item/megaphone/command, -/obj/item/gun/energy/laser, -/obj/item/gun/energy/laser, -/obj/item/gun/energy/laser/e10, -/obj/item/gun/energy/laser/e10, -/obj/item/stock_parts/cell/gun, -/obj/item/stock_parts/cell/gun, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/holopad/emergency/command, +/obj/item/gun/energy/laser/scatter, /turf/open/floor/plasteel/dark, /area/ship/bridge) "ot" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/number/four{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, /area/ship/cargo) "ov" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/airalarm/directional/east, /obj/machinery/photocopier, /obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, /area/ship/hallway/aft) "oC" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 4; - color = "#543C30" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, /obj/machinery/firealarm/directional/south, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "4-10" }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"oG" = ( -/obj/machinery/door/airlock/grunge{ +/obj/effect/turf_decal/corner/opaque/bottlegreen/full, +/obj/effect/turf_decal/corner/opaque/black/half{ dir = 4 }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"oG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, +/obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/firedoor/border_only{ dir = 4 }, @@ -708,11 +644,13 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Office" + }, +/turf/open/floor/plasteel/dark, /area/ship/bridge) -"oU" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/toilet) "po" = ( /obj/structure/catwalk, /obj/machinery/door/poddoor{ @@ -725,7 +663,10 @@ /obj/machinery/power/shieldwallgen/atmos/roundstart{ id = "mudskipper_shield" }, -/turf/open/floor/engine, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/ridged, /area/ship/cargo) "pF" = ( /obj/machinery/firealarm/directional/west{ @@ -734,74 +675,76 @@ /obj/machinery/light/small/directional/south, /obj/structure/table/reinforced, /obj/structure/bedsheetbin, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance) +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) "pY" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, -/turf/open/floor/plasteel/grimy, +/turf/open/floor/plasteel/dark, /area/ship/bridge) "qy" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/machinery/computer/crew{ - dir = 8; - icon_state = "computer-right" - }, /obj/machinery/button/door{ dir = 1; - pixel_x = -6; - pixel_y = -21; + id = "mudskipper_bridge"; name = "Bridge Lockdown"; - id = "mudskipper_bridge" + pixel_x = -6; + pixel_y = -21 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/box, +/obj/machinery/computer/crew/retro{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "qE" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/machinery/atmospherics/pipe/manifold/orange/hidden{ dir = 4 }, /obj/structure/cable{ icon_state = "2-5" }, -/turf/open/floor/plating, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "qN" = ( -/obj/machinery/cryopod, -/obj/effect/turf_decal/techfloor{ - dir = 10 +/obj/machinery/cryopod{ + dir = 8 }, -/obj/effect/turf_decal/industrial/hatch/yellow, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, /obj/item/radio/intercom/directional/north{ pixel_x = -3 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/cryo) +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) "rr" = ( /obj/structure/chair/office{ dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/machinery/light_switch{ dir = 8; pixel_x = 22; pixel_y = -3 }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/corner/opaque/bottlegreen/full, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, /area/ship/bridge) +"rG" = ( +/turf/closed/wall/r_wall, +/area/ship/hallway/central) "rO" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 9 }, @@ -811,15 +754,10 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ship/cargo) "sa" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/chair, -/obj/effect/turf_decal/siding/wood{ - dir = 5; - color = "#543C30" - }, /obj/machinery/newscaster/directional/east{ pixel_y = -6 }, @@ -828,17 +766,20 @@ pixel_x = 22; pixel_y = 5 }, -/turf/open/floor/wood/walnut, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/structure/chair/plastic, +/turf/open/floor/plasteel, /area/ship/hallway/aft) "sf" = ( -/obj/machinery/computer/helm{ - dir = 8; - icon_state = "computer-left" +/obj/effect/turf_decal/box, +/obj/machinery/computer/helm/retro{ + dir = 8 }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 6 +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "sp" = ( /obj/machinery/atmospherics/pipe/manifold/cyan/visible/layer4{ @@ -848,33 +789,26 @@ /obj/machinery/meter/atmos/layer2{ name = "waste to external meter" }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "sA" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/door/firedoor/border_only{ dir = 8 }, /obj/effect/turf_decal/miskilamo_small/right{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" +/turf/open/floor/plasteel/mono{ + dir = 1 }, -/turf/open/floor/plasteel/dark, /area/ship/cargo) "sH" = ( /obj/structure/catwalk, /obj/structure/window/reinforced/spawner/east, /obj/structure/window/reinforced/spawner/west, -/turf/open/floor/engine/airless, +/turf/open/floor/engine/hull, /area/ship/external/dark) "sI" = ( -/obj/effect/turf_decal/techfloor, /obj/structure/railing{ dir = 8 }, @@ -882,6 +816,7 @@ icon_state = "0-1" }, /obj/machinery/power/ship_gravity, +/obj/effect/turf_decal/techfloor, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "sT" = ( @@ -890,69 +825,55 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/table/reinforced, /obj/machinery/microwave, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, /obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/aft) "th" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/traffic, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "2-8" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/techmaint, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "ti" = ( -/obj/effect/decal/cleanable/dirt/dust, /obj/structure/sign/warning/incident{ pixel_x = -32 }, -/obj/machinery/computer/cargo/express/retro{ +/obj/machinery/computer/cargo/retro{ dir = 4 }, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "tI" = ( -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "2-6" }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, /area/ship/hallway/aft) "tK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/obj/machinery/power/apc/auto_name/directional/east, /obj/machinery/firealarm/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) "uk" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "uz" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/industrial/hatch/yellow, /obj/structure/railing{ @@ -962,17 +883,12 @@ pixel_x = 7; pixel_y = 28 }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"uW" = ( -/obj/machinery/door/airlock/grunge{ - name = "Bridge"; - req_one_access_txt = "20" - }, -/obj/effect/turf_decal/industrial/warning, /obj/effect/turf_decal/industrial/warning{ - dir = 1 + dir = 4 }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"uW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /obj/machinery/door/firedoor/border_only{ @@ -983,6 +899,15 @@ dir = 2; id = "mudskipper_bridge" }, +/obj/structure/cable{ + icon_state = "1-5" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/command{ + dir = 1; + name = "Bridge"; + req_access_txt = "19" + }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "vn" = ( @@ -991,11 +916,11 @@ /obj/structure/sign/poster/contraband/punch_shit{ pixel_x = 32 }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, /obj/item/storage/fancy/donut_box, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/aft) "vI" = ( /obj/structure/cable{ @@ -1007,10 +932,15 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/plastic, -/turf/open/floor/plasteel/tech, +/obj/structure/cable{ + icon_state = "1-5" + }, +/turf/open/floor/plasteel/dark, /area/ship/engineering/engine) +"vP" = ( +/turf/closed/wall/r_wall/rust, +/area/ship/bridge) "wi" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -1018,29 +948,25 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 5 }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-1" - }, -/turf/open/floor/plasteel/dark, -/area/ship/maintenance) +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) "wj" = ( -/obj/effect/turf_decal/industrial/outline/red, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 8 }, -/turf/open/floor/plasteel/tech, +/obj/structure/cable{ + icon_state = "4-5" + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "ws" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, +/turf/closed/wall, /area/ship/engineering/engine) "xk" = ( -/obj/effect/turf_decal/techfloor, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/obj/effect/decal/cleanable/dirt, /obj/machinery/light_switch{ dir = 8; pixel_x = 25; @@ -1049,6 +975,12 @@ /obj/item/kirbyplants{ icon_state = "plant-14" }, +/obj/structure/cable{ + icon_state = "5-9" + }, +/obj/effect/turf_decal/corner/opaque/grey/half{ + dir = 1 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) "xo" = ( @@ -1060,9 +992,7 @@ pixel_x = 22; pixel_y = -6 }, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken7" - }, +/turf/open/floor/plasteel/grimy, /area/ship/crew) "xp" = ( /obj/structure/toilet{ @@ -1070,39 +1000,55 @@ }, /obj/machinery/light/dim/directional/south, /obj/structure/curtain, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) "xH" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, /obj/machinery/recharger{ - pixel_y = 4 + pixel_y = 4; + pixel_x = -8 }, -/turf/open/floor/plasteel/tech, +/obj/structure/table/reinforced, +/obj/effect/decal/cleanable/dirt, +/obj/item/stock_parts/cell/gun{ + pixel_x = 5 + }, +/obj/item/stock_parts/cell/gun{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/stock_parts/cell/gun/upgraded{ + pixel_x = 5; + pixel_y = 10 + }, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) -"xU" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 +"xR" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "mudskipper_window" }, +/turf/open/floor/plating, +/area/ship/hallway/aft) +"xU" = ( /obj/machinery/power/terminal{ dir = 1 }, /obj/structure/cable{ icon_state = "0-2" }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/small/directional/east{ bulb_power = 0.2 }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) +"xZ" = ( +/turf/closed/wall/r_wall/rust, +/area/ship/engineering/engine) "yg" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, /obj/structure/extinguisher_cabinet/directional/west{ pixel_y = -5 }, @@ -1114,24 +1060,23 @@ pixel_x = -22; pixel_y = 6 }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/turf/open/floor/plasteel/dark, /area/ship/hallway/aft) "yv" = ( -/obj/structure/window/plasma/reinforced/plastitanium, /obj/structure/grille, /obj/machinery/door/poddoor/shutters{ id = "mudskipper_window" }, +/obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, /area/ship/cargo) "yB" = ( -/obj/effect/turf_decal/techfloor, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable{ icon_state = "0-1" }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "yS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, @@ -1140,10 +1085,14 @@ /obj/structure/cable{ icon_state = "0-1" }, -/turf/open/floor/plasteel/grimy, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, +/area/ship/hallway/aft) +"yV" = ( +/turf/closed/wall/r_wall/rust, /area/ship/hallway/aft) "yY" = ( -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/dim/directional/west{ bulb_power = 0.5 }, @@ -1151,63 +1100,62 @@ dir = 1 }, /obj/machinery/portable_atmospherics/canister/toxins, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "zx" = ( /obj/machinery/atmospherics/components/unary/shuttle/heater{ dir = 4 }, -/obj/structure/window/reinforced/spawner/west, -/obj/structure/window/reinforced/spawner/north, -/obj/structure/window/reinforced/spawner, -/obj/structure/window/reinforced/spawner/east, -/obj/machinery/door/poddoor/shutters{ +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/door/poddoor{ dir = 4; id = "mudskipper_engine" }, +/obj/structure/window/reinforced{ + dir = 8 + }, /turf/open/floor/plating, /area/ship/engineering/engine) "zR" = ( -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 8 }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, -/turf/open/floor/plasteel/grimy, -/area/ship/hallway/aft) -"zW" = ( /obj/structure/cable{ - icon_state = "1-8" + icon_state = "4-9" }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, +/area/ship/hallway/aft) +"zW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 9 }, -/turf/open/floor/plating, -/area/ship/crew/cryo) -"zX" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/cryo) +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew) +"Ag" = ( +/turf/closed/wall/r_wall, +/area/ship/hallway/aft) "Ak" = ( /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/dark, /area/ship/bridge) "AN" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ dir = 4 }, @@ -1215,9 +1163,6 @@ dir = 9 }, /obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/cable{ - icon_state = "1-8" - }, /obj/structure/cable{ icon_state = "2-8" }, @@ -1226,11 +1171,13 @@ pixel_x = 22; pixel_y = -14 }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, /area/ship/engineering/engine) "Bj" = ( -/obj/effect/turf_decal/corner_techfloor_grid, -/obj/effect/turf_decal/techfloor/corner, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/sign/poster/contraband/hacking_guide{ pixel_y = -32 @@ -1240,42 +1187,42 @@ dir = 8 }, /obj/structure/reagent_dispensers/watertank, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "Bn" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/aft) "Bw" = ( -/obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/oil{ icon_state = "floor4" }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "BA" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer2{ - dir = 4 - }, /obj/machinery/advanced_airlock_controller{ pixel_y = 24 }, -/obj/effect/turf_decal/techfloor{ - dir = 9 +/obj/structure/chair/handrail, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4{ + dir = 8 }, -/turf/open/floor/plasteel/dark, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/aft) "BW" = ( /obj/effect/turf_decal/box, @@ -1295,7 +1242,8 @@ /obj/item/storage/pill_bottle/charcoal/less, /obj/item/reagent_containers/hypospray/medipen/penacid, /obj/item/reagent_containers/hypospray/medipen/penacid, -/turf/open/floor/plasteel/tech, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "Ch" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ @@ -1304,47 +1252,42 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 5 }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) "Cr" = ( -/obj/structure/table/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, /obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/obj/structure/table/reinforced, /turf/open/floor/plasteel/tech/grid, /area/ship/hallway/aft) "CG" = ( /obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/suit_storage_unit/inherit/industrial, /obj/item/clothing/suit/space/eva, /obj/item/clothing/head/helmet/space/eva, -/obj/machinery/suit_storage_unit/inherit/industrial, /turf/open/floor/plasteel/tech/grid, /area/ship/hallway/aft) "Dj" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/traffic, -/obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/techmaint, +/obj/structure/cable{ + icon_state = "5-8" + }, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Dp" = ( -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30" - }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ dir = 1 }, @@ -1352,14 +1295,18 @@ dir = 1 }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "2-8" }, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken2" +/obj/structure/cable{ + icon_state = "2-9" }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/full, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"DA" = ( +/turf/closed/wall/r_wall, /area/ship/bridge) "DC" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ dir = 1 }, @@ -1367,62 +1314,44 @@ dir = 1 }, /obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" + icon_state = "2-6" }, +/obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ship/hallway/central) "DS" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, /obj/item/kirbyplants{ icon_state = "plant-21" }, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = -3 + pixel_x = -3; + pixel_y = 23 + }, +/obj/effect/turf_decal/corner/opaque/grey/three_quarters{ + dir = 1 }, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) "Ed" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Eg" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/number/eight{ dir = 4 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, /area/ship/cargo) "Ey" = ( -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 10 - }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ dir = 8 }, @@ -1432,61 +1361,58 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/grimy, +/turf/open/floor/carpet, /area/ship/crew) "EP" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-4" - }, /obj/machinery/button/shieldwallgen{ dir = 1; - pixel_x = -6; - pixel_y = -21; id = "mudskipper_shield"; - name = "Cargo Holofield" + name = "Cargo Holofield"; + pixel_x = -6; + pixel_y = -21 }, /obj/machinery/button/door{ dir = 1; - pixel_x = 6; - pixel_y = -21; id = "mudskipper_door"; - name = "Cargo Door" + name = "Cargo Door"; + pixel_x = 6; + pixel_y = -21 }, /obj/effect/turf_decal/number/six{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/plasteel/mono{ + dir = 1 + }, /area/ship/cargo) "EQ" = ( -/obj/structure/tank_dispenser/oxygen, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/dim/directional/north, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/layer_manifold{ dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/dim/directional/north, +/obj/structure/tank_dispenser/oxygen, /turf/open/floor/plasteel/tech/grid, /area/ship/hallway/aft) "Ft" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light_switch{ dir = 1; - pixel_y = -21; - pixel_x = 3 + pixel_x = 3; + pixel_y = -21 }, -/turf/open/floor/wood/walnut, +/turf/open/floor/plasteel/grimy, /area/ship/crew) "FN" = ( /obj/machinery/suit_storage_unit/inherit, @@ -1496,39 +1422,34 @@ }, /obj/item/clothing/suit/space/engineer, /obj/item/clothing/head/helmet/space/light/engineer, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Gk" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /obj/machinery/door/poddoor/shutters/preopen{ dir = 4; id = "mudskipper_bridge" }, +/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/ship/bridge) "Gq" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, +/turf/closed/wall, /area/ship/crew) "GI" = ( /obj/machinery/cryopod{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 9 + dir = 8 }, -/obj/effect/turf_decal/industrial/hatch/yellow, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew/cryo) +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) "GW" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken7" - }, +/turf/open/floor/plasteel/grimy, /area/ship/crew) "Hk" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 6 }, @@ -1538,37 +1459,30 @@ /obj/structure/cable{ icon_state = "2-4" }, -/turf/open/floor/plating, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "Id" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, /obj/item/stack/sheet/metal/five{ pixel_y = 3 }, /obj/item/stack/sheet/glass/five{ pixel_y = 6 }, -/turf/open/floor/plasteel/dark, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "IL" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" + icon_state = "2-8" }, /obj/structure/cable{ - icon_state = "2-8" + icon_state = "4-8" }, +/obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ship/hallway/central) "IP" = ( @@ -1587,34 +1501,32 @@ pixel_y = 3 }, /obj/item/radio{ - pixel_y = 3; - pixel_x = -6 + pixel_x = -6; + pixel_y = 3 }, /obj/item/radio{ - pixel_y = 3; - pixel_x = -6 + pixel_x = -6; + pixel_y = 3 }, /turf/open/floor/plasteel/tech/grid, -/area/ship/crew/cryo) +/area/ship/crew) "IU" = ( -/obj/structure/catwalk, -/turf/open/floor/engine/airless, +/turf/open/floor/engine/hull, /area/ship/external/dark) "JN" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ +/obj/structure/chair/handrail, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ dir = 1 }, -/turf/open/floor/plasteel/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/aft) "JS" = ( -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ dir = 8 }, @@ -1624,10 +1536,9 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/grimy, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, /area/ship/hallway/aft) "Kt" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ @@ -1636,14 +1547,19 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 9 }, -/turf/open/floor/plasteel/grimy, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, /area/ship/hallway/aft) "KA" = ( /obj/structure/window/reinforced/spawner, /obj/item/paper_bin, /obj/item/analyzer{ - pixel_y = 3; - pixel_x = 13 + pixel_x = 13; + pixel_y = 3 }, /obj/item/pen, /obj/structure/cable{ @@ -1652,30 +1568,26 @@ /obj/structure/cable{ icon_state = "1-8" }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/turf/open/floor/plasteel/tech/grid, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "KT" = ( /obj/machinery/washing_machine, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance) +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) "KU" = ( -/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/cable{ - icon_state = "0-2" +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/effect/turf_decal/techfloor{ - dir = 1 +/obj/structure/chair/handrail{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/crew/cryo) +/turf/open/floor/plasteel/patterned, +/area/ship/crew) "Lw" = ( /obj/machinery/firealarm/directional/west{ pixel_y = 4 @@ -1685,40 +1597,48 @@ pixel_x = -22; pixel_y = -9 }, -/obj/effect/turf_decal/techfloor, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /obj/machinery/computer/cryopod/retro/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew/cryo) +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew) "LV" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ dir = 1 }, +/obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ship/hallway/central) +"LY" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/corner/opaque/grey/half, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) "Mf" = ( /turf/template_noop, /area/space) "Mi" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ dir = 1 }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ship/hallway/central) "MB" = ( @@ -1734,38 +1654,30 @@ /obj/machinery/power/smes/shuttle/precharged{ dir = 4 }, -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/door/window/eastright{ - layer = 3.1 - }, /obj/structure/cable{ icon_state = "0-8" }, -/obj/machinery/door/poddoor/shutters{ +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/door/poddoor{ dir = 4; id = "mudskipper_engine" }, +/obj/structure/window/reinforced{ + dir = 8 + }, /turf/open/floor/plating, /area/ship/engineering/engine) -"MK" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance) +"Ne" = ( +/turf/closed/wall/rust, +/area/ship/crew) "Ni" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, /area/ship/hallway/aft) "Nj" = ( /obj/machinery/door/airlock/external{ @@ -1777,12 +1689,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, +/obj/effect/turf_decal/industrial/warning/fulltile, /turf/open/floor/plasteel/tech, /area/ship/hallway/aft) "Nl" = ( @@ -1790,7 +1697,7 @@ dir = 4 }, /obj/machinery/light/floor, -/turf/open/floor/engine/hull/reinforced, +/turf/open/floor/engine/hull, /area/ship/cargo) "NJ" = ( /obj/effect/turf_decal/box, @@ -1800,10 +1707,10 @@ /obj/structure/closet/crate{ name = "ration crate" }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/snacks/canned/beans, /obj/item/reagent_containers/food/snacks/canned/beans, /obj/item/reagent_containers/food/snacks/canned/beans, @@ -1812,52 +1719,52 @@ /obj/item/reagent_containers/food/drinks/waterbottle, /obj/item/reagent_containers/food/drinks/waterbottle, /obj/item/reagent_containers/food/drinks/waterbottle, -/turf/open/floor/plasteel/tech, +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "NN" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/plasteel/tech, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, /area/ship/hallway/aft) "NU" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "Oc" = ( /obj/item/paper_bin, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/turf/open/floor/plasteel/tech/grid, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/bottlegreen/full, +/turf/open/floor/plasteel/dark, /area/ship/bridge) "OB" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, +/turf/closed/wall, /area/ship/bridge) "OD" = ( -/obj/structure/chair{ - dir = 8 - }, /obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/tech, +/obj/structure/guncloset, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser, +/obj/item/gun/energy/laser/e10, +/obj/item/gun/energy/laser/e10, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) +"OR" = ( +/turf/closed/wall/r_wall, +/area/ship/crew) "Pr" = ( -/obj/machinery/door/airlock/grunge{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 8 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, /obj/machinery/door/firedoor/border_only{ dir = 8 }, @@ -1870,45 +1777,31 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Canteen" + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "PO" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "1-8" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel, /area/ship/hallway/central) -"PR" = ( -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/structure/grille, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/poddoor/shutters{ - id = "mudskipper_window" - }, -/turf/open/floor/plating, -/area/ship/hallway/aft) "PU" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "Qp" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, +/turf/closed/wall, /area/ship/hallway/aft) "Qt" = ( -/obj/structure/window/plasma/reinforced/plastitanium, /obj/structure/grille, /obj/machinery/atmospherics/pipe/layer_manifold, +/obj/structure/window/reinforced/fulltile, /obj/machinery/door/poddoor/shutters{ id = "mudskipper_window" }, @@ -1916,20 +1809,19 @@ /area/ship/engineering/engine) "Qu" = ( /obj/machinery/autolathe/hacked, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Qx" = ( /obj/effect/decal/cleanable/glass, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "1-9" }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel, /area/ship/hallway/central) "QF" = ( /obj/machinery/power/terminal{ @@ -1938,10 +1830,6 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "Rc" = ( @@ -1951,38 +1839,39 @@ }, /obj/machinery/button/door{ dir = 1; - pixel_x = 6; - pixel_y = -21; id = "mudskipper_window"; - name = "Window Shutters" + name = "Window Shutters"; + pixel_x = 6; + pixel_y = -21 }, /obj/machinery/light/small/directional/west{ - pixel_y = -6; - bulb_power = 0.6 + bulb_power = 0.6; + pixel_y = -6 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "Rl" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/table, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 8 - }, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ pixel_x = 10; pixel_y = 5 }, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ pixel_x = 18; pixel_y = 2 }, /obj/item/paper/pamphlet{ + name = "Salvage And You"; pixel_x = -3; - pixel_y = 2; - name = "Salvage And You" + pixel_y = 2 }, -/turf/open/floor/wood/walnut, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, /area/ship/hallway/aft) "Rn" = ( /obj/machinery/door/firedoor/border_only, @@ -1991,18 +1880,16 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/grunge{ - name = "Utility Closet" +/obj/machinery/door/airlock{ + name = "Custodial Closet" }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance) +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) "Rv" = ( /obj/item/gps/mining{ - pixel_y = 6; - gpstag = "SCAV0" + gpstag = "SCAV0"; + pixel_y = 6 }, /obj/item/clipboard{ pixel_x = 5; @@ -2020,10 +1907,8 @@ pixel_y = 32 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/turf/open/floor/plasteel/tech/grid, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, /area/ship/bridge) "RR" = ( /obj/structure/tank_dispenser/oxygen, @@ -2034,19 +1919,16 @@ /obj/structure/filingcabinet/double, /obj/item/folder, /obj/machinery/light/small/directional/west{ - pixel_y = 6; - bulb_power = 0.6 + bulb_power = 0.6; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 8 }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "So" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/airlock{ - name = "Crew Quarters" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/machinery/door/firedoor/border_only{ dir = 1 @@ -2056,7 +1938,11 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock{ + name = "Dormitory" + }, +/turf/open/floor/plasteel/dark, /area/ship/crew) "Sq" = ( /obj/structure/curtain, @@ -2067,31 +1953,21 @@ dir = 6 }, /turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) +/area/ship/hallway/central) "ST" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, /obj/item/storage/cans/sixbeer, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /obj/structure/closet/secure_closet/freezer{ anchored = 1; name = "fridge" }, /obj/item/reagent_containers/food/snacks/meat/slab, /obj/item/reagent_containers/food/snacks/meat/slab, -/turf/open/floor/plasteel/tech, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/turf/open/floor/plasteel/dark, /area/ship/hallway/aft) -"Ti" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4; - name = "airlock waste injector" - }, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external/dark) "Tn" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable{ icon_state = "1-2" }, @@ -2104,19 +1980,10 @@ /obj/structure/cable{ icon_state = "2-4" }, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, /area/ship/engineering/engine) "TV" = ( -/obj/machinery/door/airlock/grunge{ - dir = 4; - name = "Cargo Bay" - }, -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, /obj/machinery/door/firedoor/border_only{ dir = 4 }, @@ -2132,7 +1999,15 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/tech, +/obj/structure/cable{ + icon_state = "5-10" + }, +/obj/machinery/door/airlock/mining{ + dir = 8; + name = "Cargo Bay" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "Ud" = ( /obj/effect/turf_decal/box, @@ -2144,6 +2019,7 @@ pixel_y = -5 }, /obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "Ui" = ( @@ -2151,8 +2027,11 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/turf/open/floor/plasteel/grimy, +/turf/open/floor/plasteel/dark, /area/ship/bridge) +"Uo" = ( +/turf/closed/wall/r_wall/yesdiag, +/area/ship/crew) "UF" = ( /obj/machinery/door/airlock/engineering{ dir = 4; @@ -2164,12 +2043,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, /obj/machinery/door/firedoor/border_only{ dir = 8 }, @@ -2179,7 +2052,8 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/dark, /area/ship/bridge) "UL" = ( /obj/machinery/suit_storage_unit/inherit, @@ -2187,6 +2061,10 @@ /obj/machinery/light/directional/west, /obj/item/clothing/suit/space/engineer, /obj/item/clothing/head/helmet/space/light/engineer, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "UZ" = ( @@ -2196,16 +2074,14 @@ /obj/item/flashlight/lamp/green{ pixel_y = 4 }, -/turf/open/floor/wood/walnut, +/turf/open/floor/plasteel/grimy, /area/ship/crew) "Vn" = ( /obj/machinery/vending/cigarette, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/wrapping, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, +/obj/effect/turf_decal/corner/opaque/grey/half, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) "Vo" = ( @@ -2216,61 +2092,43 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "Vy" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/dim/directional/north, -/turf/open/floor/wood/walnut, +/turf/open/floor/plasteel/grimy, /area/ship/crew) "VP" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "1-10" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel, /area/ship/hallway/central) "VW" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, +/turf/closed/wall, /area/ship/external/dark) +"Wk" = ( +/turf/closed/wall/rust, +/area/ship/hallway/central) "Wm" = ( -/obj/machinery/door/airlock/grunge{ - dir = 4; - name = "Cryogenic Storage" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock{ + dir = 4; + name = "Cryo Room" }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/dark, /area/ship/crew) "Wz" = ( /obj/structure/sink{ @@ -2285,43 +2143,55 @@ /obj/structure/window/reinforced/tinted/frosted{ dir = 8 }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) "Xc" = ( /obj/machinery/blackbox_recorder, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/small/directional/north{ pixel_x = -6 }, +/obj/effect/turf_decal/box, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "Xh" = ( /obj/structure/table/reinforced, -/obj/effect/turf_decal/techfloor, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable{ icon_state = "0-1" }, +/obj/effect/turf_decal/corner/opaque/grey/three_quarters{ + dir = 8 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) "Xk" = ( -/obj/effect/turf_decal/industrial/outline/red, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Xm" = ( -/obj/structure/window/plasma/reinforced/plastitanium, /obj/structure/grille, /obj/machinery/door/poddoor/shutters{ id = "mudskipper_window" }, +/obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, /area/ship/hallway/aft) +"XI" = ( +/turf/closed/wall/r_wall/rust, +/area/ship/cargo) "XK" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ dir = 1 @@ -2330,111 +2200,112 @@ dir = 10 }, /obj/structure/cable{ - icon_state = "2-8" + icon_state = "6-8" }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/turf/open/floor/plasteel, /area/ship/hallway/aft) "XU" = ( -/obj/structure/chair{ +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/structure/chair/plastic{ dir = 1 }, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 10; - color = "#543C30" - }, -/turf/open/floor/wood/walnut, +/turf/open/floor/plasteel, /area/ship/hallway/aft) "Yc" = ( /obj/effect/turf_decal/box, -/obj/effect/decal/cleanable/dirt/dust, /obj/structure/rack, /obj/item/gps/mining{ gpstag = "SCAV1" }, /obj/item/gps/mining{ - gpstag = "SCAV1" + gpstag = "SCAV1"; + pixel_y = 10 }, /obj/item/gps/mining{ - gpstag = "SCAV1" + gpstag = "SCAV1"; + pixel_x = -8 }, /obj/item/gps/mining{ - gpstag = "SCAV1" + gpstag = "SCAV1"; + pixel_x = -8; + pixel_y = 10 + }, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival{ + pixel_x = 6 }, -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival, -/obj/item/flashlight/seclite, /obj/item/flashlight/seclite, -/turf/open/floor/plasteel/tech, +/obj/item/flashlight/seclite{ + pixel_y = -4 + }, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "Yd" = ( -/obj/structure/window/plasma/reinforced/plastitanium, /obj/structure/grille, /obj/machinery/door/poddoor/shutters{ id = "mudskipper_window" }, +/obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, /area/ship/crew) +"Yi" = ( +/turf/closed/wall/r_wall/yesdiag, +/area/ship/hallway/central) "Yq" = ( /obj/effect/decal/cleanable/oil{ icon_state = "floor4" }, -/obj/machinery/atmospherics/components/binary/pump/on/layer4{ - name = "Air to Distro"; - target_pressure = 1000 - }, /obj/machinery/atmospherics/components/binary/volume_pump/layer2{ - name = "Scrubbers to External"; - dir = 1 + dir = 1; + name = "Scrubbers to External" }, /obj/structure/cable{ icon_state = "2-8" }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, +/obj/machinery/atmospherics/components/binary/pump/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engine) +"Yu" = ( +/turf/closed/wall/r_wall, /area/ship/engineering/engine) "Yv" = ( /obj/structure/closet/crate/bin, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, /obj/machinery/firealarm/directional/east{ pixel_y = -5 }, /obj/machinery/light/dim/directional/north, +/obj/effect/turf_decal/corner/opaque/grey/half, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) "YK" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/structure/cable{ + icon_state = "2-9" }, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/structure/chair/handrail{ + dir = 8 }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel, /area/ship/hallway/aft) "YL" = ( /obj/machinery/power/port_gen/pacman, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, /obj/structure/cable{ icon_state = "0-1" }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/robot_debris, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "Zi" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/catwalk/over/plated_catwalk/dark, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ dir = 8 }, @@ -2442,38 +2313,35 @@ dir = 8 }, /obj/structure/cable{ - icon_state = "2-8" + icon_state = "1-2" }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-4" }, +/obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ship/cargo) +"Zx" = ( +/turf/closed/wall/r_wall/rust, +/area/ship/crew) "ZC" = ( -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 9 - }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 6 }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/grimy, +/turf/open/floor/carpet, /area/ship/crew) "ZJ" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /obj/machinery/airalarm/directional/south, +/obj/structure/chair/plastic{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/grey/half{ + dir = 1 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) @@ -2489,7 +2357,7 @@ ag ag lj ag -ws +jz cs cs cs @@ -2500,16 +2368,16 @@ cs cs hX IU -ws -ws -bZ +Yu +Yu +MF zx -bZ +MF MF zx MF -ws -ws +xZ +kw IU hX cs @@ -2519,7 +2387,7 @@ cs cs hX cs -ws +Yu kX QF en @@ -2528,7 +2396,7 @@ Vo qE ao yY -ws +kw cs hX cs @@ -2547,7 +2415,7 @@ KA eu hY sI -ws +kw IU hX hX @@ -2557,7 +2425,7 @@ cs hX cs cs -ws +xZ Ud Hk AN @@ -2566,7 +2434,7 @@ dw hr xU YL -ws +kw cs cs hX @@ -2575,26 +2443,26 @@ cs (6,1,1) = {" hX IU -OB -OB +DA +DA OB UF OB +js +js OB -OB -OB -OB -Qp -Qp +js Qp -Ti +Ag +Ag +IU hX cs "} (7,1,1) = {" cs cs -OB +DA Xc ic ak @@ -2605,15 +2473,15 @@ Rc OB EQ Cr -PR -ma +Xm +IU cs cs "} (8,1,1) = {" cs cs -OB +DA Rv Oc Dp @@ -2632,18 +2500,18 @@ MB (9,1,1) = {" cs cs -OB +vP nM rr oC -OB +js dN sf qy OB JN CG -Qp +Ag IU cs cs @@ -2651,8 +2519,8 @@ cs (10,1,1) = {" hX IU -OB -OB +DA +DA OB oG OB @@ -2661,8 +2529,8 @@ Gk Gk OB Nj -Qp -Qp +yV +Ag IU hX cs @@ -2671,7 +2539,7 @@ cs hX cs cs -Xm +xR yg XK Ni @@ -2709,7 +2577,7 @@ cs hX cs cs -Qp +Ag sT vn Qp @@ -2718,7 +2586,7 @@ ar sa eL gT -Qp +Ag cs cs hX @@ -2727,18 +2595,18 @@ cs (14,1,1) = {" hX IU -Gq -Gq -Gq +OR +OR +Ne Gq Gq dc Pr dc -oU -oU -oU -oU +dc +dc +rG +rG IU hX cs @@ -2746,7 +2614,7 @@ cs (15,1,1) = {" cs cs -Gq +OR Vy UZ Ft @@ -2754,10 +2622,10 @@ Gq kV gf Xh -oU +dc kB xp -oU +rG cs cs cs @@ -2776,7 +2644,7 @@ Qx mt Ch Wz -oU +lg cs cs cs @@ -2788,14 +2656,14 @@ Yd xo cB dQ -Gq +Ne DS Mi ZJ -oU +dc tK Sq -oU +lg IU hX cs @@ -2803,18 +2671,18 @@ cs (18,1,1) = {" hX cs -Gq +Zx Gq Wm Gq -Gq -dc +Ne +LY mC iY -MK -MK -MK -MK +dc +dc +Wk +rG cs hX cs @@ -2822,18 +2690,18 @@ cs (19,1,1) = {" hX cs -zX +Zx KU zW Lw -zX +Gq Vn DC PO Rn wi pF -MK +rG cs hX cs @@ -2841,18 +2709,18 @@ cs (20,1,1) = {" hX IU -zX +OR qN IP GI -zX +Gq Yv LV xk -MK +dc cn KT -MK +rG IU hX cs @@ -2860,18 +2728,18 @@ cs (21,1,1) = {" cs cs -zX -zX -zX -zX -zX +Uo +OR +Gq +Gq +Gq dc TV dc -MK -MK -MK -MK +dc +dc +rG +Yi cs cs cs @@ -2938,7 +2806,7 @@ cs hX IU mF -mF +XI uz gR Xk @@ -2983,7 +2851,7 @@ gB gB gB mS -mF +XI IU IU hX @@ -2995,7 +2863,7 @@ cs cs cs VW -hH +hn Nl kY ib @@ -3033,14 +2901,14 @@ cs cs cs cs -hH -hH +hn +hn cs cs cs cs hH -hH +hn cs cs cs @@ -3058,7 +2926,7 @@ cs cs cs cs -hH +hn cs cs cs diff --git a/_maps/shuttles/independent/independent_raleigh.dmm b/_maps/shuttles/independent/independent_raleigh.dmm new file mode 100644 index 00000000000..29920b3f2cf --- /dev/null +++ b/_maps/shuttles/independent/independent_raleigh.dmm @@ -0,0 +1,6335 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"af" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/button/door{ + pixel_y = -22; + pixel_x = -6; + name = "bay doors"; + id = "ra_cargo"; + dir = 1 + }, +/obj/machinery/button/shieldwallgen{ + pixel_x = 3; + pixel_y = -20; + id = "ra_door"; + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"aq" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"at" = ( +/obj/machinery/autolathe, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/sign/poster/contraband/hacking_guide{ + pixel_x = -28 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"av" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/structure/tank_dispenser/oxygen, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"aB" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/steeldecal/steel_decals_central2, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"aQ" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"aU" = ( +/obj/effect/turf_decal/corner/opaque/red/border{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"be" = ( +/obj/machinery/holopad/secure, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"bm" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"bo" = ( +/obj/structure/chair/stool/bar{ + dir = 8; + pixel_x = -10 + }, +/obj/item/radio/intercom/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"bz" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/door/window/eastleft{ + dir = 1; + req_access_txt = "3" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"bA" = ( +/obj/structure/table/wood, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"bF" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "ra_arms"; + dir = 2 + }, +/turf/open/floor/plating, +/area/ship/security/armory) +"bG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"bP" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security/armory) +"cb" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/condiment/hotsauce{ + pixel_y = 7 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"ci" = ( +/obj/structure/sign/number/random{ + dir = 4 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"cn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/button/door{ + pixel_x = -10; + pixel_y = -22; + dir = 1; + name = "privacy lock"; + id = "ra_gay"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"cu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/engineering{ + name = "Port Thrusters" + }, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engines/port) +"cv" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/engines/starboard) +"cC" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/sign/warning/electricshock{ + pixel_x = -8; + pixel_y = 24 + }, +/obj/machinery/button/door{ + dir = 2; + pixel_y = 22; + pixel_x = 5; + id = "ra_peng"; + name = "engine shutters" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"cG" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"cO" = ( +/obj/item/soap, +/obj/structure/closet/wall/directional/east, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/storage/cans/sixbeer, +/obj/structure/sign/poster/official/no_erp{ + pixel_y = 30 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/dorm) +"di" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"dn" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/structure/cable/yellow, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"dB" = ( +/obj/effect/turf_decal/corner/opaque/red/border{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"dD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + pixel_x = -10; + pixel_y = 22 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"dL" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/closet/wall/orange/directional/north{ + name = "fuel supply" + }, +/obj/item/stack/sheet/mineral/plasma/twenty, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"ec" = ( +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "ra_fore" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"ef" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"ej" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/security) +"em" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/structure/closet/crate/bin, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"ev" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/catwalk/over, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"eI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"eR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/pushbroom, +/obj/item/reagent_containers/glass/rag, +/obj/structure/closet/wall/directional/south, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"fo" = ( +/obj/structure/chair/office, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"fx" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering/electrical) +"fE" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/table, +/obj/machinery/light/directional/north, +/obj/item/storage/crayons{ + pixel_y = 6; + pixel_x = -4 + }, +/obj/item/taperecorder{ + pixel_x = 10; + pixel_y = 5 + }, +/obj/item/tape/random, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"fM" = ( +/turf/open/floor/plasteel/grimy, +/area/ship/security/armory) +"fN" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/security{ + dir = 4; + name = "XO's Quarters"; + id_tag = "ra_lt"; + req_access_txt = "3" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"go" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/electrical) +"gq" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"gC" = ( +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"gJ" = ( +/obj/structure/catwalk/over, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"gL" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/cryo) +"gN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"hb" = ( +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"hk" = ( +/obj/effect/turf_decal/corner/opaque/brown/border{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"hl" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/ccommons) +"hm" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/ale{ + pixel_y = 7; + pixel_x = 8 + }, +/obj/item/reagent_containers/food/drinks/ale{ + pixel_x = -7; + pixel_y = -5 + }, +/obj/machinery/newscaster/directional/north, +/obj/item/reagent_containers/condiment/hotsauce{ + pixel_y = 7 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"hr" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"hs" = ( +/obj/structure/table, +/obj/machinery/jukebox/boombox, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"hw" = ( +/obj/structure/table, +/obj/item/storage/box/cups{ + pixel_x = -1; + pixel_y = 7 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"hz" = ( +/obj/machinery/door/airlock/atmos{ + dir = 4; + name = "Atmospherics" + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"hI" = ( +/obj/item/storage/box/zipties, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/structure/closet/wall/red/directional/west{ + name = "specialist tools"; + req_access_txt = "3" + }, +/obj/item/razor{ + name = "uniform compliance tool" + }, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"hN" = ( +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"hU" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/canteen) +"ic" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/security/armory) +"ie" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"ig" = ( +/obj/structure/table/wood, +/obj/machinery/light/small/directional/north, +/obj/machinery/button/door{ + pixel_y = 23; + pixel_x = 9; + name = "window shutters"; + id = "ra_capt" + }, +/obj/item/modular_computer/laptop/preset/civilian, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/captain) +"iq" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 9 + }, +/obj/item/kirbyplants{ + icon_state = "plant-09"; + pixel_y = 14; + pixel_x = -5 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"is" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = -12 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering/electrical) +"iu" = ( +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"iw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"iD" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"iE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/button/door{ + pixel_y = 22; + pixel_x = -6; + name = "window shutter"; + id = "ra_at" + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"iL" = ( +/obj/structure/closet/secure_closet/wall/directional/south{ + icon_state = "solgov_wall"; + name = "Captain's Locker"; + req_access_txt = "20" + }, +/obj/item/ammo_box/a357, +/obj/item/ammo_box/a357, +/obj/item/clothing/under/rank/command/captain, +/obj/item/clothing/head/caphat, +/obj/item/clothing/under/syndicate/camo{ + pixel_x = 6; + pixel_y = -6 + }, +/obj/item/clothing/suit/armor/hos/trenchcoat, +/obj/item/clothing/glasses/hud/security{ + pixel_y = 10; + pixel_x = -4 + }, +/obj/item/melee/knife/switchblade, +/obj/item/storage/backpack/security, +/obj/item/clothing/shoes/combat, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/clothing/gloves/fingerless, +/obj/item/reagent_containers/food/drinks/flask, +/obj/item/clothing/glasses/sunglasses/ballistic, +/obj/item/storage/guncase/pistol/viper, +/turf/open/floor/wood, +/area/ship/crew/dorm/captain) +"iN" = ( +/obj/effect/turf_decal/corner/opaque/blue/border, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"iY" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/yellow/mono, +/obj/structure/closet/wall/white/directional/east, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/item/storage/cans/sixbeer, +/obj/item/storage/cans/sixbeer, +/obj/effect/decal/cleanable/food/flour, +/obj/effect/spawner/random/food_or_drink/ration, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/canteen) +"jc" = ( +/obj/structure/chair/sofa/brown/right/directional/south, +/obj/machinery/button/door{ + pixel_x = -22; + pixel_y = 8; + dir = 4; + name = "window shutters"; + id = "ra_obvs" + }, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"je" = ( +/obj/structure/cable{ + icon_state = "5-9" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"jf" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"jj" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"jt" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/indie, +/obj/item/storage/box/matches{ + pixel_y = 23; + pixel_x = 1 + }, +/obj/item/radio/intercom/directional/south{ + pixel_x = -2 + }, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"jv" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/reagent_dispensers/watertank, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"jx" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"jB" = ( +/obj/machinery/washing_machine, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/dorm) +"jC" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"jE" = ( +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"jF" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"jJ" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "ra_bridge" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"kb" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/sign/warning/electricshock{ + pixel_x = -24; + pixel_y = 10 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/light/small/directional/west{ + pixel_y = -2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + pixel_y = -18; + pixel_x = 10; + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"kc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"kl" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/atmospherics) +"kI" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/electrical) +"kJ" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/snacks/chocolatebar{ + pixel_y = 11; + pixel_x = 8 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"kO" = ( +/obj/structure/sign/warning/securearea{ + pixel_x = -24; + pixel_y = -8 + }, +/obj/effect/turf_decal/corner/opaque/red/border, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"lb" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs/old{ + dir = 8 + }, +/area/ship/crew/dorm) +"ls" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"lv" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/cryo) +"lC" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"lF" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/mining{ + dir = 4; + name = "Cargo Bay" + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"lK" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 4 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"lM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 26 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"lN" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm/captain) +"lO" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"md" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/sign/warning/electricshock{ + pixel_x = -8; + pixel_y = -22 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -22; + pixel_x = 5; + id = "ra_seng"; + name = "engine shutters" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"mh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"mm" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock{ + name = "Observatory"; + id_tag = "ra_gay" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"mq" = ( +/obj/docking_port/stationary{ + dwidth = 4; + width = 11; + height = 15; + dir = 8 + }, +/turf/template_noop, +/area/template_noop) +"ms" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"my" = ( +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/obj/structure/curtain/bounty, +/obj/item/toy/plush/flushed, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"mA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"mE" = ( +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/obj/structure/curtain/bounty, +/obj/item/toy/plush/carpplushie, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"mV" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"mX" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"nc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"ng" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/port_gen/pacman, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"nn" = ( +/obj/machinery/atmospherics/components/binary/pressure_valve{ + pixel_y = 0; + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pressure_valve/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"nt" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"nP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/wood, +/obj/item/folder/blue{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/item/paper_bin{ + pixel_y = 1; + pixel_x = -6 + }, +/obj/item/pen/fourcolor{ + pixel_y = 5; + pixel_x = -7 + }, +/obj/item/storage/pill_bottle/stimulant{ + pixel_y = 13; + pixel_x = -2 + }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/light/small/directional/east, +/turf/open/floor/wood, +/area/ship/security) +"nT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 10 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/corner/opaque/brown/border, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"nV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 6 + }, +/obj/machinery/light/dim/directional/west, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"nX" = ( +/obj/structure/table/reinforced, +/obj/structure/closet/wall/red/directional/north{ + name = "uniform closet"; + req_access_txt = "1" + }, +/obj/item/clothing/shoes/combat{ + pixel_y = -7; + pixel_x = -2 + }, +/obj/item/clothing/shoes/combat{ + pixel_y = -7; + pixel_x = -2 + }, +/obj/item/clothing/shoes/combat{ + pixel_y = -7; + pixel_x = -2 + }, +/obj/item/clothing/under/syndicate/camo{ + pixel_x = 5 + }, +/obj/item/clothing/under/syndicate/camo{ + pixel_x = 5 + }, +/obj/item/clothing/under/syndicate/camo{ + pixel_x = 5 + }, +/obj/item/clothing/head/helmet/bulletproof/m10{ + pixel_y = 11; + pixel_x = -4 + }, +/obj/item/clothing/head/helmet/bulletproof/m10{ + pixel_y = 11; + pixel_x = -4 + }, +/obj/item/clothing/head/helmet/bulletproof/m10{ + pixel_y = 11; + pixel_x = -4 + }, +/obj/item/clothing/suit/armor/vest/bulletproof{ + pixel_y = 2; + pixel_x = -4 + }, +/obj/item/clothing/suit/armor/vest/bulletproof{ + pixel_y = 2; + pixel_x = -4 + }, +/obj/item/clothing/suit/armor/vest/bulletproof{ + pixel_y = 2; + pixel_x = -4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 6 + }, +/obj/item/clothing/gloves/fingerless, +/obj/item/clothing/gloves/fingerless, +/obj/item/clothing/gloves/fingerless, +/obj/item/clothing/glasses/sunglasses/ballistic{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/item/clothing/glasses/sunglasses/ballistic{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/item/clothing/glasses/sunglasses/ballistic{ + pixel_y = 5; + pixel_x = -3 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"op" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 8 + }, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + name = "Window Shutters"; + id = "ra_at" + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"oz" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor{ + id = "ra_cargo"; + dir = 4 + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "ra_door" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/cargo) +"oJ" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/ccommons) +"oP" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 4 + }, +/obj/item/storage/toolbox/electrical{ + pixel_y = -4 + }, +/obj/item/multitool{ + pixel_x = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"pf" = ( +/obj/structure/curtain, +/obj/machinery/shower{ + pixel_y = 16 + }, +/obj/structure/chair/plastic{ + dir = 4; + name = "shower chair"; + desc = "Now you just need a shower beer" + }, +/obj/structure/mirror{ + pixel_x = -24 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/steeldecal/steel_decals9, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 4 + }, +/obj/machinery/button/door{ + pixel_x = 9; + pixel_y = -22; + dir = 1; + name = "privacy lock"; + id = "ra_shower"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/dorm) +"pk" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/radio/intercom/directional/west, +/obj/effect/decal/cleanable/plastic, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"pn" = ( +/obj/item/radio/intercom/wideband/directional/north, +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 5 + }, +/obj/machinery/button/door{ + pixel_y = 20; + pixel_x = 16; + name = "bridge shutters"; + id = "ra_bridge_ext" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"pt" = ( +/obj/machinery/photocopier, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"pM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"pS" = ( +/obj/structure/chair/sofa/brown/directional/east, +/obj/machinery/light/directional/west, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"ql" = ( +/obj/machinery/computer/cargo{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"qn" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"qy" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"qL" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"qP" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"qT" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "ra_bridge_ext" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"rd" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"rl" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/structure/curtain/cloth/fancy, +/obj/machinery/light/small/directional/south, +/obj/item/bedsheet/black{ + dir = 4 + }, +/turf/open/floor/carpet/red_gold, +/area/ship/security) +"rn" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull, +/area/ship/engineering/engines/starboard) +"rA" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/railing, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/corner/opaque/red/border{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"rV" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/item/radio/intercom/directional/north{ + pixel_x = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"rY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/meter/atmos/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"sa" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/engines/port) +"se" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/catwalk/over, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"sf" = ( +/obj/effect/turf_decal/corner/opaque/lightgrey/bordercorner{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/light_switch{ + pixel_x = -10; + pixel_y = -20; + dir = 1 + }, +/obj/effect/decal/cleanable/generic, +/obj/item/kirbyplants{ + icon_state = "plant-05"; + pixel_x = 7 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"sm" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"sq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"sH" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "ra_peng"; + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering/engines/port) +"sI" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering/electrical) +"sR" = ( +/obj/structure/filingcabinet/double{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/item/camera{ + pixel_y = 4; + pixel_x = -2 + }, +/obj/structure/cabinet/oneshot{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"sS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/chair/comfy/red/old/directional/east, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/security) +"sV" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8; + layer = 2.040 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"tg" = ( +/obj/effect/spawner/random/vending/cola, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"th" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"tk" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/central) +"tS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/button/door{ + pixel_x = 10; + pixel_y = 22; + dir = 2; + name = "privacy lock"; + id = "ra_lt"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/wood, +/area/ship/security) +"tU" = ( +/obj/item/clothing/head/papersack/smiley, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 8 + }, +/obj/structure/rack, +/obj/item/wrench{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/machinery/firealarm/directional/south, +/obj/item/toy/eightball{ + name = "problem prioritizer"; + pixel_x = -3; + pixel_y = -5 + }, +/obj/item/storage/fancy/cigarettes/cigpack_cannabis{ + pixel_x = -5; + pixel_y = 2 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"tZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/brown/border{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"ug" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"uv" = ( +/obj/structure/table, +/obj/item/reagent_containers/glass/rag{ + pixel_y = 10; + pixel_x = 1 + }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = 9 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"uw" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Bridge"; + req_access_txt = "19" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"uy" = ( +/obj/machinery/door/poddoor{ + id = "ra_cargo"; + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/cargo) +"uS" = ( +/obj/structure/guncloset{ + anchored = 1 + }, +/obj/item/gun/ballistic/automatic/smg/cobra/indie/no_mag, +/obj/item/gun/ballistic/automatic/assault/e40, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"uU" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/structure/closet/crate{ + name = "Dr. Flare's Magnificent Lighting Solution" + }, +/obj/item/storage/box/sparklers, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"uW" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm) +"vr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = 10; + pixel_y = -22; + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"vw" = ( +/obj/structure/chair/stool/bar{ + dir = 8; + pixel_x = -10 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"vy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"wb" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"wc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"ws" = ( +/obj/structure/curtain/bounty, +/obj/structure/bed, +/obj/effect/spawner/random/bedsheet, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"wS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 22; + pixel_y = 9; + id = "ra_fore"; + name = "fore airlock shutters" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"wX" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/item/newspaper{ + pixel_y = 7; + pixel_x = -2 + }, +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_y = -1; + pixel_x = -6 + }, +/obj/item/desk_flag/trans{ + pixel_x = 8; + pixel_y = -1 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"xb" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/door/window/eastright{ + dir = 1; + req_access_txt = "3" + }, +/obj/item/folder/blue{ + pixel_x = 4; + pixel_y = 2 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"xk" = ( +/obj/structure/rack, +/obj/item/melee/sword/mass, +/obj/item/melee/sword/mass{ + pixel_x = 5 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"xx" = ( +/obj/structure/chair/sofa/brown/left/directional/south, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"xy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -11 + }, +/obj/machinery/button/door{ + pixel_x = -20; + pixel_y = 15; + dir = 4; + name = "privacy lock"; + id = "ra_capt2"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/wood, +/area/ship/crew/dorm/captain) +"xB" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/under/utility/skirt, +/obj/item/clothing/under/utility{ + pixel_x = 7 + }, +/obj/item/clothing/under/pants/khaki{ + pixel_x = 4; + pixel_y = -14 + }, +/obj/item/clothing/under/pants/khaki{ + pixel_x = 4; + pixel_y = -14 + }, +/obj/item/clothing/under/pants/camo{ + pixel_x = -5; + pixel_y = -10 + }, +/obj/item/clothing/under/pants/camo{ + pixel_x = -5; + pixel_y = -10 + }, +/obj/item/clothing/head/soft/black{ + pixel_x = 8; + pixel_y = 14 + }, +/obj/item/clothing/head/soft/black{ + pixel_x = 8; + pixel_y = 14 + }, +/obj/item/clothing/head/cowboy{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/item/clothing/head/cowboy{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/item/clothing/shoes/workboots/mining{ + pixel_x = 7; + pixel_y = -8 + }, +/obj/item/clothing/shoes/workboots/mining{ + pixel_x = 7; + pixel_y = -8 + }, +/obj/item/clothing/shoes/workboots/mining{ + pixel_x = 7; + pixel_y = -8 + }, +/obj/item/clothing/under/pants/jeans{ + pixel_x = -6; + pixel_y = -8 + }, +/obj/item/clothing/under/pants/jeans{ + pixel_x = -6; + pixel_y = -8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"xD" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"yj" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"yk" = ( +/obj/effect/turf_decal/corner/opaque/blue/bordercorner, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"yF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/security) +"yR" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/steeldecal/steel_decals_central2, +/obj/structure/sign/poster/contraband/cardinal_port_starboard{ + pixel_x = -27 + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"yT" = ( +/obj/structure/table/wood/poker, +/obj/item/toy/cards/deck, +/obj/item/storage/pill_bottle/dice{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/storage/fancy/cigarettes/cigpack_robust{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/item/spacecash/bundle/pocketchange, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"yZ" = ( +/obj/docking_port/mobile{ + dir = 4; + name = "hunter shuttle"; + port_direction = 2; + preferred_direction = 4 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/atmospherics) +"zV" = ( +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"Ae" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/item/target, +/obj/item/target, +/obj/item/target, +/obj/item/target, +/obj/item/target, +/obj/item/target, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"Aj" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"Ap" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"Aw" = ( +/obj/machinery/modular_computer/console/preset/command{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east{ + pixel_y = 5 + }, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 22; + pixel_y = -11; + name = "window shutters"; + id = "ra_arms" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/security/armory) +"AC" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"AD" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/cryo) +"AF" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"AM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/structure/catwalk/over, +/obj/machinery/door/airlock/engineering{ + name = "Engineering" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/electrical) +"AQ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"AS" = ( +/obj/structure/chair/stool/bar{ + dir = 8; + pixel_x = -10 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"AU" = ( +/obj/effect/turf_decal/corner/opaque/lightgrey/bordercorner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"AX" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 26 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"By" = ( +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"BE" = ( +/obj/machinery/firealarm/directional/north, +/obj/structure/table, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"BF" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "ra_obvs"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"BH" = ( +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Cl" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/atmospherics) +"CG" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"CN" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "0-10" + }, +/obj/structure/sign/poster/contraband/missing_gloves{ + pixel_y = 30 + }, +/obj/structure/catwalk/over, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"CO" = ( +/obj/structure/closet/crate/bin, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 10 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"CY" = ( +/obj/structure/sign/poster/official/wtf_is_co2{ + pixel_y = 30 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/clothing/suit/space/engineer, +/obj/item/clothing/head/helmet/space/light/engineer, +/obj/item/tank/internals/oxygen, +/obj/effect/turf_decal/box, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"Dd" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"Dg" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"Dw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Dy" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 2 + }, +/obj/item/pen{ + pixel_y = 3; + pixel_x = 5 + }, +/obj/machinery/light/directional/east, +/obj/item/toy/cards/deck{ + pixel_x = -10; + pixel_y = 6 + }, +/obj/item/desk_flag{ + pixel_y = 13; + pixel_x = 13 + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"DH" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"DL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"DO" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 5 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"DR" = ( +/obj/structure/chair/stool/bar{ + dir = 4; + pixel_x = 10 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"Ej" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Em" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/stairs/old, +/area/ship/cargo) +"Eo" = ( +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"Eq" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"Ew" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf{ + dry = 1; + pixel_x = -10; + pixel_y = 1; + name = "dried mushroom leaves" + }, +/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf{ + dry = 1; + pixel_x = 3; + pixel_y = 8; + name = "dried mushroom leaves" + }, +/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf{ + dry = 1; + pixel_x = -7; + pixel_y = 8; + name = "dried mushroom leaves" + }, +/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf{ + dry = 1; + pixel_x = -2; + pixel_y = 1; + name = "dried mushroom leaves" + }, +/obj/item/clothing/mask/cigarette/pipe{ + pixel_x = 5 + }, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"EE" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"EQ" = ( +/obj/machinery/door/window/survival_pod{ + dir = 1 + }, +/obj/machinery/blackbox_recorder, +/obj/structure/sign/warning/securearea{ + pixel_y = -22 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"EX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"EZ" = ( +/obj/effect/turf_decal/corner/opaque/lightgrey/border{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Fr" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "ra_capt" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm/captain) +"Fu" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -13; + pixel_y = 7 + }, +/obj/structure/mirror{ + pixel_x = -24; + pixel_y = 8 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/button/door{ + pixel_x = 10; + pixel_y = 22; + dir = 2; + name = "privacy lock"; + id = "ra_piss"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/canteen) +"Fv" = ( +/obj/structure/table/wood, +/obj/item/ammo_casing/a357/hp{ + name = ".357 execution round casing"; + desc = "Put it right to their head, and pull the trigger. No witnesses."; + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/ammo_casing/a357/hp{ + name = ".357 execution round casing"; + desc = "Put it right to their head, and pull the trigger. No witnesses."; + pixel_x = 8; + pixel_y = 1 + }, +/obj/item/ammo_casing/a357/hp{ + name = ".357 execution round casing"; + desc = "Put it right to their head, and pull the trigger. No witnesses."; + pixel_x = 11; + pixel_y = 5 + }, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_y = 14; + pixel_x = -5 + }, +/obj/item/storage/box/matches{ + pixel_y = 10; + pixel_x = -9 + }, +/obj/item/spacecash/bundle/pocketchange{ + pixel_x = -6; + pixel_y = -5 + }, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/captain) +"FA" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/item/kirbyplants{ + icon_state = "plant-17"; + pixel_x = -7 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"FE" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "ra_obvs" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"FH" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/closet/secure_closet/wall/directional/north{ + icon_state = "solgov_wall"; + name = "bridge locker"; + req_access_txt = "19" + }, +/obj/item/gps{ + pixel_y = 8; + pixel_x = 2 + }, +/obj/item/binoculars, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"FJ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/wood, +/area/ship/crew/dorm/captain) +"FK" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/cryo) +"FM" = ( +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"FO" = ( +/obj/item/melee/knife/switchblade, +/obj/structure/closet/cabinet, +/obj/item/clothing/under/syndicate/camo{ + pixel_x = 6; + pixel_y = -6 + }, +/obj/item/clothing/glasses/hud/security{ + pixel_y = 10; + pixel_x = -4 + }, +/obj/item/storage/backpack/security, +/obj/item/clothing/suit/armor/vest/duster, +/obj/item/clothing/shoes/combat, +/obj/item/storage/backpack/security, +/obj/item/clothing/gloves/fingerless, +/obj/item/reagent_containers/food/drinks/rilenacup, +/obj/item/clothing/glasses/sunglasses/ballistic, +/turf/open/floor/carpet/red_gold, +/area/ship/security) +"Gm" = ( +/obj/effect/turf_decal/kfp_small, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"Gp" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/canteen) +"Gq" = ( +/obj/effect/turf_decal/corner/opaque/blue/bordercorner{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Gt" = ( +/obj/structure/sign/warning/incident{ + pixel_x = 30 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/rack, +/obj/item/stack/sheet/metal/twenty{ + pixel_x = 4; + pixel_y = -1 + }, +/obj/item/stack/sheet/glass/twenty{ + pixel_y = 2; + pixel_x = -3 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"Gu" = ( +/obj/item/kirbyplants{ + icon_state = "plant-18"; + pixel_y = 20; + pixel_x = 8 + }, +/obj/effect/turf_decal/corner/opaque/lightgrey/border{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/lightgrey/bordercorner{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north{ + pixel_x = 3 + }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = -10 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Gy" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/engineering{ + name = "Starboard Thrusters" + }, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engines/starboard) +"GD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/lightgrey/border, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"GH" = ( +/obj/effect/turf_decal/corner/opaque/blue/bordercorner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"GI" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock{ + dir = 4; + name = "Bathroom"; + id_tag = "ra_piss" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"GO" = ( +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"GP" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/yellow/mono, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/canteen) +"Hb" = ( +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/structure/railing{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/dorm) +"He" = ( +/obj/structure/closet/wall/orange/directional/north{ + name = "tool closet" + }, +/obj/item/assembly/signaler, +/obj/item/assembly/signaler, +/obj/item/weldingtool/largetank, +/obj/item/gear_pack/anglegrinder, +/obj/item/radio/headset/alt, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"Hu" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines/starboard) +"HD" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"HI" = ( +/obj/structure/chair/sofa/brown/corner/directional/east, +/obj/structure/sign/painting/library{ + pixel_x = -28 + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"HS" = ( +/obj/structure/sign/poster/contraband/c20r{ + pixel_x = 30 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/structure/table/reinforced, +/obj/structure/window/reinforced/spawner{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = 4 + }, +/obj/item/pen/fourcolor{ + pixel_y = 5; + pixel_x = 3 + }, +/obj/item/stamp{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/item/stamp/denied{ + pixel_x = -7; + pixel_y = 3 + }, +/obj/item/toy/figure/secofficer{ + pixel_x = 12; + pixel_y = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"Ih" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light_switch{ + pixel_x = 22; + pixel_y = -21; + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"Ii" = ( +/obj/item/clothing/glasses/welding, +/obj/item/clothing/shoes/workboots{ + pixel_x = 5; + pixel_y = -6 + }, +/obj/structure/closet/wall/orange/directional/north{ + name = "Engineer's locker"; + req_access_txt = "11" + }, +/obj/item/clothing/head/hardhat{ + pixel_y = 9 + }, +/obj/item/clothing/under/utility{ + pixel_x = 7 + }, +/obj/item/clothing/suit/hazardvest, +/obj/item/storage/toolbox/electrical, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = 9 + }, +/obj/item/storage/backpack/industrial, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"Il" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/layer4{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"In" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ship/cargo) +"Is" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/security{ + dir = 4; + name = "Armory"; + req_access_txt = "1" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"IB" = ( +/obj/structure/railing, +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + pixel_y = 22; + pixel_x = -1; + name = "bay doors"; + id = "ra_cargo"; + dir = 2 + }, +/obj/machinery/button/shieldwallgen{ + pixel_x = 9; + pixel_y = 21; + id = "ra_door"; + dir = 2 + }, +/obj/item/clipboard{ + pixel_x = 8; + pixel_y = -6 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 7 + }, +/obj/item/pen/fourcolor{ + pixel_y = 9; + pixel_x = -5 + }, +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_y = 7; + pixel_x = 7 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"IT" = ( +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"Ji" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/security/armory) +"Jj" = ( +/obj/structure/chair, +/obj/structure/sign/poster/retro/lasergun_new{ + pixel_x = 31 + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"JO" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "0-9" + }, +/obj/structure/catwalk/over, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"JS" = ( +/obj/structure/table/wood, +/obj/item/spacecash/bundle/pocketchange{ + pixel_y = 3; + pixel_x = 2 + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"JV" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"JW" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/captain) +"JY" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/yellow/mono, +/obj/item/cutting_board{ + anchored = 1 + }, +/obj/item/melee/knife/kitchen, +/obj/item/kitchen/rollingpin{ + pixel_x = 7; + pixel_y = -2 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/canteen) +"Kh" = ( +/obj/effect/turf_decal/kfp_small/right, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"KK" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 1; + initialize_directions = 1 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"KQ" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/dorm/captain) +"KZ" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/engine/hull, +/area/ship/engineering/engines/port) +"Lr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"LB" = ( +/obj/structure/sign/warning/vacuum{ + pixel_y = -22 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/cee, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/ccommons) +"LD" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/dorm) +"LJ" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = -10 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"LM" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/radio/intercom/directional/east, +/obj/machinery/light/small/directional/north{ + pixel_x = 6 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"LO" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"LR" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"LU" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "ra_seng"; + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering/engines/starboard) +"LV" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor{ + id = "ra_cargo"; + dir = 4 + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "ra_door"; + dir = 1 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/cargo) +"LY" = ( +/obj/structure/catwalk/over, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"Md" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/newscaster/directional/west, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/storage/ration/crayons, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"Me" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"Mi" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Mj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/electrical) +"Ml" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock{ + name = "Shower"; + id_tag = "ra_shower" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"Mq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/cryo) +"Mx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/sign/warning/electricshock{ + pixel_x = -24; + pixel_y = -7 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/light/small/directional/west{ + pixel_y = 0 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"MA" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"MG" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "ra_arms"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/security/armory) +"No" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"Nr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Nx" = ( +/obj/item/kirbyplants{ + icon_state = "plant-16"; + pixel_x = 8; + pixel_y = 15 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"NC" = ( +/obj/structure/cable{ + icon_state = "6-10" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/steeldecal/steel_decals_central2, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"NE" = ( +/obj/structure/chair/sofa/brown/right/directional/north, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"NF" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/catwalk/over, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"NW" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Oa" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_y = 12; + pixel_x = -20 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"Ob" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"Oe" = ( +/obj/item/kirbyplants{ + icon_state = "plant-13"; + pixel_y = 0; + pixel_x = 9 + }, +/obj/effect/turf_decal/corner/opaque/red/bordercorner{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_y = 10; + pixel_x = 20 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"Of" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"Oy" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"OL" = ( +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"OO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/chair/handrail, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"OQ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/clothing/suit/space/hardsuit/security/independent, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"OV" = ( +/turf/template_noop, +/area/template_noop) +"OX" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"Pa" = ( +/obj/structure/table, +/obj/item/radio{ + pixel_x = -12; + pixel_y = 9 + }, +/obj/item/radio{ + pixel_x = -4; + pixel_y = 9 + }, +/obj/item/radio{ + pixel_x = 3; + pixel_y = 9 + }, +/obj/item/radio{ + pixel_x = 11; + pixel_y = 9 + }, +/obj/item/radio{ + pixel_x = -12; + pixel_y = 2 + }, +/obj/item/radio{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/radio{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/item/radio{ + pixel_x = 12; + pixel_y = 2 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/cryo) +"Pj" = ( +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"Pt" = ( +/obj/machinery/computer/helm{ + icon_state = "computer-middle"; + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"PC" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"PD" = ( +/obj/machinery/computer/cargo{ + icon_state = "computer-right"; + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"PH" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/dorm) +"PM" = ( +/obj/effect/turf_decal/corner/opaque/red/border, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"PN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"PS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"PV" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/closet/emcloset, +/obj/structure/sign/poster/official/walk{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"PW" = ( +/obj/structure/toilet{ + dir = 8; + pixel_x = 4 + }, +/obj/structure/curtain, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/canteen) +"PZ" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 2 + }, +/obj/item/pen/fountain/captain{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/folder/blue{ + pixel_x = -9; + pixel_y = -6 + }, +/obj/item/folder/red{ + pixel_x = -7; + pixel_y = 3 + }, +/obj/item/pen{ + pixel_y = 3; + pixel_x = -5 + }, +/obj/machinery/light/directional/south, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -20; + pixel_x = -19; + id = "ra_bridge"; + name = "privacy shutters" + }, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"QU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "ra_fore" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"QZ" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 4 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Rp" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"Rq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Rt" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 2; + id = "ra_bridge_ext" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Rz" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/dorm) +"RB" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"RD" = ( +/obj/machinery/holopad/emergency/medical, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"Sb" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"Se" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_y = 12; + pixel_x = -20 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/cryo) +"Sj" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/wood, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/storage/box/matches{ + pixel_y = 10; + pixel_x = -9 + }, +/obj/item/spacecash/bundle/pocketchange{ + pixel_y = 10; + pixel_x = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/security) +"Sy" = ( +/obj/effect/turf_decal/corner/opaque/brown/border{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/light_switch{ + pixel_y = 23; + pixel_x = 11 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"SJ" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"SL" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"SO" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 2; + id = "ra_capt" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm/captain) +"SQ" = ( +/obj/effect/turf_decal/corner/opaque/blue/border, +/obj/item/kirbyplants{ + icon_state = "plant-21"; + pixel_x = -6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"SS" = ( +/obj/structure/rack, +/obj/item/attachment/bayonet, +/obj/item/attachment/bayonet{ + pixel_x = -5 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/screwdriver{ + pixel_x = 6 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"SZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/meter/atmos/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"Te" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/airalarm/directional/east, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/corner/opaque/brown/border, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Tk" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/yellow/mono, +/obj/structure/sink/chem{ + name = "kitchen sink"; + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/canteen) +"Tm" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/chair/plastic{ + dir = 2 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/item/target{ + layer = 3.001 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"Tp" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"TB" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/computer/cryopod/directional/south, +/obj/structure/noticeboard{ + dir = 8; + pixel_y = 0; + pixel_x = 25 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/cryo) +"TH" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"TR" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_y = 3; + pixel_x = -6 + }, +/obj/item/storage/lockbox/medal/sec{ + pixel_x = 8; + pixel_y = 15 + }, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/captain) +"Un" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/obj/structure/crate_shelf, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Uq" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/head/cowboy{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/item/clothing/head/soft/black{ + pixel_x = 8; + pixel_y = 14 + }, +/obj/item/clothing/head/beret{ + pixel_x = 4; + pixel_y = 3 + }, +/obj/item/clothing/shoes/cowboy/black{ + pixel_x = -6; + pixel_y = -10 + }, +/obj/item/clothing/shoes/workboots{ + pixel_x = 6; + pixel_y = -6 + }, +/obj/item/clothing/head/flatcap{ + pixel_y = 9; + pixel_x = -4 + }, +/obj/item/clothing/head/beret/puce{ + pixel_y = 12; + pixel_x = -2 + }, +/obj/item/clothing/head/soft/red{ + pixel_x = 3 + }, +/obj/item/clothing/shoes/jackboots{ + pixel_x = 2; + pixel_y = -3 + }, +/obj/item/clothing/shoes/combat{ + pixel_x = -7 + }, +/obj/item/clothing/shoes/cowboy{ + pixel_y = -9; + pixel_x = -6 + }, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"Ut" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"UA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/light_switch{ + pixel_y = -16; + pixel_x = 11; + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"UL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"UM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"UV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"UY" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/security{ + dir = 4; + name = "Secure Storage"; + req_access_txt = "3" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"Vd" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/port_gen/pacman, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 26 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"Ve" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"Vv" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock{ + dir = 4; + name = "Dormitory" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"Vy" = ( +/obj/structure/chair/comfy/blue/old/directional/east, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/captain) +"VP" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = -10 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"VR" = ( +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"VV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/railing/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ship/cargo) +"VX" = ( +/obj/structure/chair/sofa/brown/corner/directional/north, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"Wf" = ( +/obj/effect/turf_decal/kfp_small/left{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"Wm" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/cargo) +"Wn" = ( +/obj/item/toy/plush/moth{ + pixel_y = 9 + }, +/obj/structure/dresser{ + dir = 8 + }, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"Ws" = ( +/obj/machinery/computer/crew{ + dir = 8; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"Wv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"WD" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"WF" = ( +/obj/effect/turf_decal/corner/opaque/red/border{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/sign/poster/contraband/eoehoma{ + pixel_x = -31 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"WI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"WJ" = ( +/obj/structure/closet/crate/bin{ + pixel_y = 6 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/broken_bottle, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"WK" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines/port) +"WU" = ( +/obj/structure/guncloset{ + anchored = 1 + }, +/obj/item/gun/ballistic/automatic/pistol/ringneck/indie/no_mag, +/obj/item/gun/ballistic/automatic/pistol/ringneck/indie/no_mag, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/structure/sign/poster/contraband/bulldog{ + pixel_y = 28 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"Xc" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"Xg" = ( +/obj/structure/table/reinforced, +/obj/structure/closet/wall/red/directional/north{ + name = "ammo locker"; + req_access_txt = "1" + }, +/obj/item/ammo_box/magazine/m45_cobra, +/obj/item/ammo_box/magazine/m45_cobra, +/obj/item/ammo_box/magazine/m45_cobra, +/obj/item/ammo_box/magazine/e40, +/obj/item/ammo_box/magazine/e40, +/obj/item/ammo_box/magazine/e40, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/item/stock_parts/cell/gun, +/obj/item/storage/box/ammo/c299, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"Xm" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"Xr" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/light_switch{ + dir = 8; + pixel_y = 11; + pixel_x = 20 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/wood, +/obj/item/modular_computer/laptop/preset/civilian, +/turf/open/floor/wood, +/area/ship/security) +"Xu" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"Xx" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Xy" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/cable/yellow, +/obj/machinery/power/port_gen/pacman, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"XF" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock{ + name = "Canteen" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"XG" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"XJ" = ( +/obj/item/radio/intercom/directional/west, +/obj/machinery/advanced_airlock_controller{ + pixel_x = 25 + }, +/obj/effect/turf_decal/industrial/warning/cee{ + dir = 1 + }, +/obj/structure/chair/handrail, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/ccommons) +"XN" = ( +/obj/structure/cable{ + icon_state = "2-6" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"XY" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/structure/curtain/cloth/fancy, +/obj/item/toy/plush/snakeplushie, +/obj/structure/sign/poster/rilena/run{ + pixel_y = 30 + }, +/obj/item/storage/secure/safe{ + dir = 8; + pixel_x = -30 + }, +/obj/item/bedsheet/black{ + dir = 4 + }, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/captain) +"Yz" = ( +/obj/structure/chair/sofa/brown/left/directional/south, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"YB" = ( +/obj/structure/table/reinforced, +/obj/structure/closet/wall/red/directional/north{ + name = "ammo locker"; + req_access_txt = "1" + }, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/machinery/cell_charger{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/item/screwdriver{ + pixel_x = 6 + }, +/obj/item/storage/box/ammo/c10mm, +/obj/item/storage/box/ammo/c10mm, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"YC" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"YD" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/closet/crate/medical, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/reagent_containers/glass/bottle/morphine, +/obj/item/reagent_containers/glass/bottle/morphine, +/obj/item/reagent_containers/glass/bottle/morphine, +/obj/item/reagent_containers/glass/bottle/morphine, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, +/obj/item/storage/box/gloves, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"YH" = ( +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"YI" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/item/kirbyplants{ + icon_state = "plant-14"; + pixel_y = 8; + pixel_x = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"YQ" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"YV" = ( +/obj/structure/sign/poster/contraband/gec{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"YZ" = ( +/obj/effect/turf_decal/corner/opaque/lightgrey/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Za" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security) +"Zc" = ( +/obj/structure/closet/cardboard/metal, +/obj/item/storage/box/emptysandbags, +/obj/item/storage/box/emptysandbags, +/obj/item/shovel, +/obj/item/shovel, +/obj/item/pickaxe, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Zi" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) +"Zp" = ( +/obj/effect/turf_decal/corner/opaque/brown/border{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Zu" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/mining{ + dir = 4; + name = "Cargo Bay" + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"Zx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"Zy" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/item/paper_bin{ + pixel_x = 8; + pixel_y = 7 + }, +/obj/item/pen/fourcolor{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"ZE" = ( +/obj/structure/closet/crate, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/spawner/random/maintenance/three, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"ZM" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/command{ + name = "Captain's Quarters"; + id_tag = "ra_capt2"; + req_access_txt = "20" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm/captain) +"ZQ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/rack, +/obj/item/clothing/head/cone{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/clothing/head/cone{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/clothing/head/cone{ + pixel_x = -5; + pixel_y = -8 + }, +/obj/item/clothing/head/cone{ + pixel_x = -5; + pixel_y = -8 + }, +/obj/item/clothing/head/cone{ + pixel_x = 6; + pixel_y = -8 + }, +/obj/item/clothing/head/cone{ + pixel_x = 6; + pixel_y = -8 + }, +/obj/item/clothing/head/cone{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/clothing/head/cone{ + pixel_x = -5; + pixel_y = 3 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering/electrical) +"ZR" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) + +(1,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(2,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(3,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(4,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(5,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(6,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(7,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +ci +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +yZ +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(8,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +XG +OV +ci +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +Cl +OV +Cl +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(9,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +XG +OV +ci +WD +WD +OV +OV +OV +OV +OV +mq +OV +OV +OV +OV +WD +lK +Cl +OV +Cl +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(10,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +Wm +XG +XG +hN +WD +hN +XG +BH +OV +BH +BH +OV +BH +Cl +Dw +Ut +PS +Cl +Cl +kl +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(11,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +Wm +XG +XG +XG +XG +XG +jE +BH +BH +BH +BH +jE +Cl +op +Cl +Cl +Cl +kl +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(12,1,1) = {" +OV +OV +OV +OV +FK +OV +OV +FK +OV +OV +OV +OV +XG +OQ +av +OQ +XG +XG +XG +oz +uy +LV +XG +Cl +iE +nV +KK +Cl +OV +OV +OV +OV +ej +OV +OV +ej +OV +OV +OV +OV +"} +(13,1,1) = {" +OV +OV +OV +OV +AD +AD +AD +AD +OV +OV +OV +OV +XG +Tm +VV +In +Em +rA +LR +DH +iD +af +XG +Wf +rY +nn +Il +Cl +OV +OV +OV +OV +Za +Za +Za +Za +OV +OV +OV +OV +"} +(14,1,1) = {" +OV +OV +FK +AD +AD +di +YC +AD +OV +OV +OV +OV +Wm +XG +IB +iq +sV +nT +Tp +UM +uU +AF +XG +Gm +SZ +tU +Cl +kl +OV +OV +OV +OV +Za +FO +rl +Za +Za +Za +OV +OV +"} +(15,1,1) = {" +OV +OV +WD +AD +Se +lv +gL +AD +OV +OV +OV +OV +OV +Wm +XG +DL +AC +Te +UL +vy +YD +zV +XG +Kh +YV +Cl +kl +OV +OV +OV +OV +OV +Za +yF +sS +Sj +Za +WD +OV +OV +"} +(16,1,1) = {" +OV +OV +WD +AD +Pa +Mq +TB +AD +FK +OV +OV +OV +OV +OV +XG +Sy +tZ +XG +DO +qy +Sb +Ae +XG +CY +UA +Cl +OV +OV +OV +OV +OV +ej +Za +tS +Xr +nP +Za +WD +OV +OV +"} +(17,1,1) = {" +OV +Rz +uW +uW +uW +nt +uW +uW +uW +Rz +OV +OV +OV +sa +XG +lF +Zu +XG +xD +jf +Zc +Un +XG +Cl +hz +Cl +cv +OV +OV +OV +cv +bP +bP +fN +bP +bP +bP +bP +bP +OV +"} +(18,1,1) = {" +OV +WD +uW +pf +uW +dD +mE +jB +PH +uW +KZ +KZ +KZ +WK +PV +hk +Zp +tk +XG +XG +XG +XG +XG +Ii +UV +EQ +Hu +rn +rn +rn +Hu +bP +WF +dB +bP +uS +hI +bP +WD +OV +"} +(19,1,1) = {" +OV +WD +uW +cO +Ml +nc +Uq +Hb +LD +uW +sH +sH +sH +WK +WK +Mi +qL +go +ZQ +yR +pk +at +go +He +sq +Hu +Hu +LU +LU +LU +Hu +YB +wc +Lr +bP +WU +By +bP +WD +OV +"} +(20,1,1) = {" +Rz +uW +uW +uW +uW +bG +ws +Wn +lb +uW +cC +sm +sm +kb +WK +iu +GO +go +sI +qn +TH +Eq +go +Pj +IT +Hu +Mx +jC +Of +md +Hu +Xg +JV +iw +bP +bP +UY +bP +bP +ic +"} +(21,1,1) = {" +OV +FE +jc +Me +mm +mV +th +th +lC +uW +ev +OX +se +lM +cu +gN +Oy +AM +Wv +XN +cG +pM +Mj +gJ +LY +Gy +AX +EE +Ve +NF +Hu +nX +EX +Eo +kO +bz +fM +sR +bP +OV +"} +(22,1,1) = {" +OV +FE +xx +cn +uW +Zy +bm +hb +ie +uW +MA +YQ +jv +WK +WK +YH +FM +go +fx +aB +je +oP +dn +Dd +Xc +Hu +Hu +LM +qP +ZE +Hu +eI +WI +jx +PM +xb +Ji +ql +bF +OV +"} +(23,1,1) = {" +OV +BF +FE +wX +uW +bA +my +xB +vr +uW +Gp +Gp +Gp +Gp +Gp +OO +eR +go +is +NC +lO +Gt +go +dL +SJ +Xy +Hu +Hu +Hu +Hu +Hu +aU +Oe +xk +SS +HS +Aw +bF +MG +OV +"} +(24,1,1) = {" +OV +OV +BF +uW +uW +uW +Gp +Gp +Vv +Gp +Gp +Gp +Fu +PW +Gp +Nx +mA +kI +go +CN +JO +go +go +Vd +ng +go +hl +HI +pS +VX +hl +Is +bP +bP +bP +bP +bP +MG +OV +OV +"} +(25,1,1) = {" +OV +OV +OV +Rz +WD +WD +Gp +Md +ZR +Oa +em +Gp +GI +Gp +Gp +WJ +mA +VR +kI +go +go +go +go +go +go +hl +hs +Yz +yT +NE +OL +kc +CO +hl +WD +WD +ic +OV +OV +OV +"} +(26,1,1) = {" +OV +OV +OV +OV +OV +OV +Gp +SL +PC +Dg +cb +jF +Ob +FA +hU +hU +AU +Xx +Rq +PN +aq +Ej +Nr +GD +mX +Zx +No +mh +mh +mh +Zx +rd +hr +hl +OV +OV +OV +OV +OV +OV +"} +(27,1,1) = {" +OV +OV +OV +OV +OV +OV +hU +Gp +YI +DR +DR +DR +DR +ef +Ih +XF +YZ +AQ +VR +yk +wb +Gq +gq +sf +hl +VP +kc +gC +jj +OL +ls +RB +hl +oJ +OV +OV +OV +OV +OV +OV +"} +(28,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +hU +Gp +hm +hw +uv +kJ +CG +JY +Gp +Gu +EZ +EZ +Aj +uw +jJ +jJ +jJ +hl +fE +ms +gC +RD +OL +JS +Rp +hl +OV +OV +OV +OV +OV +OV +OV +"} +(29,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +hU +vw +bo +AS +vw +aQ +Tk +Gp +Xu +tg +Xm +Aj +LJ +SQ +Ew +jt +hl +BE +Ap +wS +LO +Jj +Dy +Rp +oJ +OV +OV +OV +OV +OV +OV +OV +"} +(30,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +hU +Gp +Gp +Gp +hU +iY +GP +lN +lN +lN +lN +Aj +FH +iN +fo +PZ +Aj +hl +QU +oJ +hl +hl +hl +hl +oJ +OV +OV +OV +OV +OV +OV +OV +"} +(31,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +hU +WD +WD +Gp +Gp +Gp +lN +XY +JW +xy +ZM +HD +iN +be +pt +Aj +XJ +LB +hl +WD +WD +oJ +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(32,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +hU +OV +lN +lN +ig +Vy +iL +Aj +rV +GH +yj +ug +Aj +Aj +ec +oJ +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(33,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +KQ +SO +Fv +TR +FJ +Aj +pn +QZ +NW +NW +Rt +Zi +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(34,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +Fr +Fr +Fr +lN +Aj +Ws +Pt +PD +Rt +qT +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(35,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +lN +qT +qT +qT +qT +qT +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(36,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(37,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(38,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(39,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(40,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(41,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} diff --git a/_maps/shuttles/independent/independent_rigger.dmm b/_maps/shuttles/independent/independent_rigger.dmm index daf3cf9ecdb..98765718971 100644 --- a/_maps/shuttles/independent/independent_rigger.dmm +++ b/_maps/shuttles/independent/independent_rigger.dmm @@ -62,7 +62,7 @@ "bc" = ( /obj/structure/closet/cardboard, /obj/item/paicard, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/ship/maintenance/fore) "bi" = ( @@ -239,10 +239,10 @@ populate = 0 }, /obj/item/storage/cans/sixbeer, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/sugar, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/sugar, /obj/item/radio/intercom/directional/north, /turf/open/floor/plasteel/white, /area/ship/crew/canteen) @@ -283,7 +283,7 @@ "eu" = ( /obj/structure/closet/crate, /obj/machinery/airalarm/directional/north, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/ship/maintenance/fore) "eF" = ( @@ -430,7 +430,7 @@ dir = 1 }, /obj/structure/bed, -/obj/item/bedsheet/random, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, /turf/open/floor/plasteel/grimy, /area/ship/crew/dorm) @@ -845,7 +845,7 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/door/airlock/mining/glass{ - name = "Mech Bay" + name = "Exosuit Bay" }, /turf/open/floor/plasteel/tech, /area/ship/cargo) @@ -869,7 +869,7 @@ "kG" = ( /obj/machinery/door/poddoor{ id = "riggs_cargo"; - name = "Mech Bay Blast Door" + name = "Exosuit Bay Blast Door" }, /turf/open/floor/engine/hull/interior, /area/ship/cargo) @@ -1102,7 +1102,7 @@ "nU" = ( /obj/machinery/light/directional/west, /obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/plasteel/white, /area/ship/crew/canteen) "od" = ( @@ -1160,7 +1160,7 @@ /turf/open/floor/plasteel/white, /area/ship/crew/canteen) "oX" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/ship/maintenance/fore) "ph" = ( @@ -1179,7 +1179,7 @@ "pv" = ( /obj/effect/turf_decal/corner/opaque/yellow/diagonal, /obj/structure/table, -/obj/item/kitchen/knife, +/obj/item/melee/knife/kitchen, /turf/open/floor/plasteel/white, /area/ship/crew/canteen) "pD" = ( @@ -1488,7 +1488,7 @@ "sT" = ( /obj/machinery/door/poddoor{ id = "riggs_cargo"; - name = "Mech Bay Blast Door" + name = "Exosuit Bay Blast Door" }, /obj/structure/cable{ icon_state = "0-2" @@ -2231,7 +2231,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/obj/machinery/computer/cargo/express, +/obj/machinery/computer/cargo, /obj/item/radio/intercom/directional/north, /turf/open/floor/carpet/blue, /area/ship/bridge) @@ -2463,7 +2463,7 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "DG" = ( @@ -2616,7 +2616,7 @@ }, /obj/structure/closet/crate, /obj/machinery/firealarm/directional/west, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/ship/maintenance/port) "Fu" = ( @@ -3240,7 +3240,7 @@ /area/ship/medical) "Ne" = ( /obj/structure/bed, -/obj/item/bedsheet/random, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, /turf/open/floor/plasteel/grimy, /area/ship/crew/dorm) @@ -3309,7 +3309,7 @@ "Oy" = ( /obj/machinery/door/poddoor{ id = "riggs_cargo"; - name = "Mech Bay Blast Door" + name = "Exosuit Bay Blast Door" }, /obj/structure/cable{ icon_state = "0-2" @@ -3552,7 +3552,7 @@ /area/ship/maintenance/central) "Qv" = ( /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel, /area/ship/construction) "QB" = ( @@ -3680,7 +3680,7 @@ }, /obj/structure/bed, /obj/structure/curtain/bounty, -/obj/item/bedsheet/random, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/plasteel/grimy, /area/ship/crew/dorm) "Sj" = ( @@ -3791,13 +3791,13 @@ dir = 1 }, /obj/structure/crate_shelf, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/drinks/waterbottle/large{ pixel_x = 1; pixel_y = -3 @@ -3903,7 +3903,7 @@ /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, /obj/structure/closet/crate/bin, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/grimy, /area/ship/crew) "Ug" = ( @@ -4132,7 +4132,7 @@ name = "ammunition locker"; req_access_txt = "1" }, -/obj/item/ammo_box/c38_box, +/obj/item/storage/box/ammo/c38, /obj/item/ammo_box/magazine/m45/rubber, /obj/item/ammo_box/magazine/m45/rubber, /obj/item/ammo_box/magazine/m45, @@ -4398,10 +4398,10 @@ }, /obj/effect/turf_decal/corner/opaque/yellow/diagonal, /obj/structure/table, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ pixel_x = -7 }, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ pixel_x = -14 }, /turf/open/floor/plasteel/white, @@ -4410,9 +4410,9 @@ /turf/closed/wall/mineral/plastitanium, /area/ship/construction) "ZI" = ( -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = -3; - pixel_y = 13 +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 3 }, /obj/item/clothing/gloves/color/latex/nitrile, /obj/structure/table/glass, @@ -4468,6 +4468,8 @@ /obj/item/storage/toolbox/mechanical, /obj/item/storage/belt/utility, /obj/item/clothing/glasses/welding, +/obj/item/gear_pack/anglegrinder, +/obj/item/radio/headset/alt, /turf/open/floor/plating, /area/ship/engineering) diff --git a/_maps/shuttles/independent/independent_scarab.dmm b/_maps/shuttles/independent/independent_scarab.dmm new file mode 100644 index 00000000000..99e4797077d --- /dev/null +++ b/_maps/shuttles/independent/independent_scarab.dmm @@ -0,0 +1,4978 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ad" = ( +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"ag" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"am" = ( +/obj/structure/cable/green{ + icon_state = "2-5" + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/dark/airless, +/area/ship/maintenance/port) +"as" = ( +/obj/structure/closet, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"aH" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"aI" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/obj/item/paperplane{ + dir = 8; + pixel_y = 7 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"aK" = ( +/obj/machinery/conveyor{ + dir = 10; + id = "scarab_conveyor" + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/maintenance/central) +"aL" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock{ + dir = 2; + name = "Dormitory" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/dorm) +"aO" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/cryo) +"aU" = ( +/turf/closed/wall/mineral/iron, +/area/ship/maintenance/port) +"bb" = ( +/obj/structure/catwalk/over/plated_catwalk/white, +/obj/machinery/shower{ + dir = 8 + }, +/obj/structure/curtain, +/obj/structure/window/reinforced/tinted/frosted{ + dir = 1 + }, +/obj/item/soap, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/toilet) +"bj" = ( +/obj/structure/filingcabinet/double{ + name = "storage cabinets" + }, +/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/obj/item/restraints/handcuffs/cable/zipties, +/obj/item/restraints/handcuffs/cable/zipties, +/obj/item/restraints/handcuffs/cable/zipties, +/obj/item/reagent_containers/spray/pepper, +/obj/item/reagent_containers/spray/pepper, +/obj/item/attachment/rail_light, +/obj/item/attachment/rail_light, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"bq" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/dorm) +"bw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = -13; + dir = 1; + pixel_y = -19 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"by" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "0-5" + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/atmospherics) +"bz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"bA" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"bD" = ( +/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"bP" = ( +/turf/closed/wall/rust, +/area/ship/maintenance/fore) +"ca" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"ch" = ( +/obj/structure/closet/cardboard, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/entertainment/plushie, +/obj/effect/spawner/random/entertainment/plushie, +/obj/structure/sign/poster/random{ + pixel_x = 32 + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"cr" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/structure/cable/green{ + icon_state = "0-1" + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"ct" = ( +/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"cx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/secure/weapon, +/obj/item/gun/ballistic/shotgun/toy, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"cC" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"cD" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/firealarm/directional/west{ + pixel_y = 7 + }, +/obj/structure/extinguisher_cabinet/directional/west{ + pixel_y = -5 + }, +/obj/structure/cable/green{ + icon_state = "2-5" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"cO" = ( +/obj/structure/closet/crate/medical, +/obj/item/clothing/gloves/color/latex/nitrile, +/obj/item/storage/firstaid/regular, +/obj/item/roller, +/obj/item/storage/pill_bottle/charcoal/less, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"dC" = ( +/obj/machinery/blackbox_recorder, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"dG" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"dJ" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/trash/chips, +/obj/item/trash/can, +/obj/item/trash/sosjerky, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"dP" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ship/cargo) +"dQ" = ( +/obj/machinery/power/port_gen/pacman/super{ + anchored = 1 + }, +/obj/structure/cable/pink{ + icon_state = "0-8" + }, +/obj/structure/cable/pink{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"dV" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor{ + dir = 2; + id = "scarab_windows" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"dX" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/layer2{ + dir = 8 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = 23 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"dY" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"ee" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/atmospherics) +"eg" = ( +/obj/item/radio/intercom/directional/west, +/obj/structure/marker_beacon{ + picked_color = "Bronze"; + pixel_y = -4 + }, +/obj/effect/turf_decal/trimline/opaque/orange/arrow_cw{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"et" = ( +/obj/structure/table, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = 11 + }, +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/west, +/obj/item/paper_bin{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/pen, +/obj/item/folder/yellow{ + pixel_x = 8; + pixel_y = 4 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"ex" = ( +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/structure/sign/warning/explosives/alt{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"eB" = ( +/obj/structure/dresser, +/obj/machinery/light/small/directional/west, +/obj/effect/spawner/random/entertainment/plushie/moth{ + pixel_y = 11; + pixel_x = -5 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/cola{ + pixel_x = 9; + pixel_y = 9 + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"eH" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor{ + dir = 4; + id = "scarab_bridge" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/bridge) +"eM" = ( +/obj/structure/cable/green{ + icon_state = "8-9" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"fa" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/external, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/atmospherics) +"fx" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/grunge{ + name = "Cryogenics"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/cryo) +"fW" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock{ + dir = 2; + name = "Bathroom" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/toilet) +"fY" = ( +/obj/structure/closet/wall/directional/west, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = 13 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"ge" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/structure/sign/warning/fire{ + pixel_y = -20; + pixel_x = -10 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"gg" = ( +/obj/machinery/computer/helm{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"gj" = ( +/obj/machinery/door/airlock/maintenance/external{ + req_ship_access = 0 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"gp" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 1; + name = "Air to Distro" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/atmospherics) +"gq" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"gs" = ( +/obj/machinery/door/airlock/atmos{ + dir = 4; + name = "Atmospherics Bay" + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/atmospherics) +"gP" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"gR" = ( +/obj/structure/cable/green{ + icon_state = "2-6" + }, +/obj/structure/table, +/obj/item/storage/toolbox/emergency{ + pixel_y = 4 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"gW" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10; + layer = 2.030 + }, +/obj/structure/sign/poster/official/wtf_is_co2{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/hydrogen, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"ha" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"he" = ( +/obj/structure/closet/crate/large, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"hn" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel, +/area/ship/crew) +"hz" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"hI" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"hV" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/cable/green{ + icon_state = "1-6" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"io" = ( +/obj/machinery/conveyor{ + dir = 9; + id = "scarab_conveyor" + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/maintenance/central) +"ir" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/atmospherics) +"ix" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"iK" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"iT" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"iV" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/machinery/light_switch{ + pixel_x = 3; + pixel_y = 20 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = -8 + }, +/obj/structure/bed/dogbed{ + name = "Temiti's bed" + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"iZ" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"jc" = ( +/obj/machinery/computer/crew{ + icon_state = "computer-left"; + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/white, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"jd" = ( +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"jj" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"jo" = ( +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"jt" = ( +/obj/docking_port/stationary{ + dwidth = 7; + height = 15; + width = 14 + }, +/turf/template_noop, +/area/template_noop) +"jv" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/table/reinforced, +/obj/machinery/microwave{ + pixel_y = 8 + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"jA" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/maintenance/central) +"jC" = ( +/obj/machinery/conveyor{ + id = "scarab_conveyor" + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/maintenance/central) +"jG" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "scarab_engines_port" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"jQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"jT" = ( +/obj/structure/toilet{ + dir = 8 + }, +/obj/structure/curtain/cloth{ + color = "#ACD1E9" + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/toilet) +"jV" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/toilet) +"jX" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/chair/handrail, +/obj/structure/cable/pink{ + icon_state = "0-4" + }, +/obj/structure/cable/pink{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"jZ" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering/atmospherics) +"ke" = ( +/obj/machinery/door/airlock/maintenance{ + req_ship_access = 0 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"kf" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"kk" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"kl" = ( +/obj/structure/cable/green{ + icon_state = "5-8" + }, +/obj/structure/cable/green{ + icon_state = "6-8" + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"kr" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/power/port_gen/pacman/super{ + anchored = 1 + }, +/obj/structure/cable/pink{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"kt" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/table/reinforced, +/obj/item/cutting_board{ + pixel_y = 2; + anchored = 1 + }, +/obj/item/melee/knife/kitchen{ + pixel_y = 3 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel, +/area/ship/crew) +"kz" = ( +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, +/obj/machinery/door/poddoor{ + dir = 4; + id = "scarab_engines_port" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"kB" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/item/kirbyplants/random{ + pixel_x = 8 + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"kL" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -5 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"kM" = ( +/obj/structure/cable/green{ + icon_state = "4-10" + }, +/obj/structure/cable/green{ + icon_state = "1-10" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/item/cigbutt, +/turf/open/floor/plasteel, +/area/ship/hallway/fore) +"lf" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_y = -3 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"lh" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/green{ + icon_state = "0-8" + }, +/obj/item/kirbyplants/random{ + pixel_x = 8 + }, +/obj/structure/extinguisher_cabinet/directional/south{ + pixel_x = 6 + }, +/obj/machinery/newscaster/directional/south{ + pixel_x = -6 + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"lm" = ( +/obj/machinery/door/airlock/maintenance{ + dir = 8; + req_ship_access = 0 + }, +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"lp" = ( +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dirt, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"lt" = ( +/obj/structure/chair/stool{ + dir = 8 + }, +/obj/machinery/computer/cryopod/directional/west, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"lx" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/reagent_dispensers/watertank, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"lz" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"lF" = ( +/obj/machinery/autolathe, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"lG" = ( +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, +/obj/machinery/door/poddoor{ + dir = 4; + id = "scarab_engines_starboard" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering/atmospherics) +"lJ" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor{ + dir = 2; + id = "scarab_windows" + }, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"lR" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"ma" = ( +/obj/effect/spawner/random/salvage_machine, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"mr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -20 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"mv" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/cargo) +"mC" = ( +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"mG" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/atmospherics) +"mN" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 10 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"mX" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"nb" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"nn" = ( +/obj/machinery/power/shuttle/engine/fire, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering/atmospherics) +"nq" = ( +/obj/structure/bed/double/maint, +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"nE" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"nK" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/closet/crate/bin, +/obj/effect/spawner/random/maintenance, +/obj/item/trash/chips, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel, +/area/ship/crew) +"nN" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/command{ + dir = 4; + req_one_access = list(19,41); + name = "Bridge" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"oe" = ( +/obj/structure/cable/green{ + icon_state = "1-5" + }, +/obj/structure/reagent_dispensers/foamtank, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"oi" = ( +/obj/machinery/door/airlock/mining/glass{ + dir = 4; + name = "Cargo Bay" + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"on" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/starboard) +"oJ" = ( +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"oK" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 10 + }, +/obj/effect/turf_decal/arrows, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"oO" = ( +/obj/structure/chair/comfy/shuttle, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"oP" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/atmospherics) +"pc" = ( +/obj/structure/bed{ + dir = 2 + }, +/obj/effect/spawner/random/bedsheet, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"pf" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light_switch{ + pixel_y = 20 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ship/crew/cryo) +"pB" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/closet/crate, +/obj/item/storage/bag/ore, +/obj/item/storage/bag/ore, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/item/radio/weather_monitor, +/obj/item/radio/weather_monitor, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"pE" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel, +/area/ship/crew) +"pH" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"pQ" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"pU" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance{ + dir = 8; + req_ship_access = 0 + }, +/obj/effect/mapping_helpers/airlock/abandoned, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"qg" = ( +/obj/effect/turf_decal/box/corners, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/closet/crate/engineering{ + name = "laser mining drill crate" + }, +/obj/machinery/drill, +/obj/item/pinpointer/mineral, +/obj/item/paper/guides/drill, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"qh" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dirt, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"qv" = ( +/obj/machinery/mineral/unloading_machine{ + output_dir = 2; + input_dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"qx" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/maintenance/fore) +"qC" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal{ + dir = 4 + }, +/obj/item/paper_bin{ + pixel_y = 8; + pixel_x = -6 + }, +/obj/item/pen, +/obj/item/radio/intercom/table{ + dir = 1; + pixel_x = 12; + pixel_y = 6 + }, +/obj/item/folder/red{ + pixel_x = 8; + pixel_y = 3 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"qH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"re" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering) +"rm" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor{ + dir = 2; + id = "scarab_windows" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"rn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance/two, +/obj/structure/sign/poster/random{ + pixel_x = 32 + }, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"rt" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/closet/crate/secure/engineering{ + req_one_access = list(11,41) + }, +/obj/item/gear_pack/anglegrinder, +/obj/item/gear_pack/anglegrinder, +/obj/item/radio/headset/alt, +/obj/item/radio/headset/alt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"rz" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"rC" = ( +/obj/machinery/mineral/processing_unit_console{ + pixel_y = -18; + machinedir = 6; + output_dir = 1; + dir = 1 + }, +/obj/effect/turf_decal/corner_techfloor_grid, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"rI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 2 + }, +/obj/effect/turf_decal/corner/transparent/black/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"rL" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"sd" = ( +/turf/open/floor/plating, +/area/ship/maintenance/port) +"sk" = ( +/obj/effect/turf_decal/trimline/opaque/orange/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"sl" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/machinery/airalarm/directional/east, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"sx" = ( +/obj/structure/closet{ + name = "engineering wardrobe"; + anchored = 1; + icon_door = "yellow" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/storage/backpack/industrial, +/obj/item/storage/backpack/satchel/eng, +/obj/item/clothing/under/rank/engineering/engineer, +/obj/item/clothing/under/rank/engineering/engineer, +/obj/item/clothing/shoes/workboots{ + pixel_y = -7 + }, +/obj/item/clothing/shoes/workboots{ + pixel_y = -7 + }, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/toggle/hazard, +/obj/item/clothing/suit/toggle/hazard, +/obj/item/clothing/head/hardhat/dblue, +/obj/item/clothing/head/hardhat/dblue, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"sy" = ( +/obj/structure/chair/handrail, +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/atmospherics) +"sF" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 3; + pixel_x = -7 + }, +/obj/item/folder/blue{ + pixel_x = 6; + pixel_y = 14 + }, +/obj/item/stamp{ + pixel_x = -8; + pixel_y = 19; + layer = 3.01 + }, +/obj/item/pen/fountain, +/obj/item/reagent_containers/glass/maunamug{ + pixel_x = 8; + pixel_y = 4; + list_reagents = list(/datum/reagent/consumable/coffee = 30) + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10; + layer = 2.030 + }, +/obj/structure/railing, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"sG" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/structure/closet/secure_closet/wall/directional/south{ + icon_state = "sec_wall"; + name = "armor locker"; + req_one_access = list(1,41) + }, +/obj/item/clothing/suit/armor/vest/alt, +/obj/item/clothing/suit/armor/vest/alt, +/obj/item/clothing/head/helmet/sec, +/obj/item/clothing/head/helmet/sec, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/item/clothing/glasses/sunglasses/ballistic, +/obj/item/clothing/glasses/sunglasses/ballistic, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"sJ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"sM" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/pink{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"sS" = ( +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"sX" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/fragile, +/obj/item/clothing/head/helmet/space/fragile, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -21 + }, +/obj/item/clothing/mask/breath, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/atmospherics) +"te" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"tj" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"tx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/crew/cryo) +"ty" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance{ + dir = 8; + req_ship_access = 0 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"tA" = ( +/obj/effect/turf_decal/trimline/opaque/orange/corner, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"tH" = ( +/obj/structure/table/reinforced, +/obj/machinery/computer/secure_data/laptop{ + pixel_y = 6 + }, +/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal{ + dir = 4 + }, +/obj/structure/sign/poster/contraband/winchester{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"tJ" = ( +/obj/machinery/door/airlock/glass{ + dir = 8; + name = "Crew Quarters" + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew) +"tK" = ( +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 10 + }, +/obj/effect/turf_decal/industrial/loading{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/railing/corner, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"tL" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"uk" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"uo" = ( +/turf/closed/wall/rust, +/area/ship/maintenance/port) +"ut" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "scarab_security" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/cargo) +"uu" = ( +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"uC" = ( +/obj/machinery/door/airlock/maintenance/external{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/ship/maintenance/central) +"uG" = ( +/obj/machinery/door/airlock/public/glass{ + req_ship_access = 1 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/hallway/starboard) +"uZ" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark/airless, +/area/ship/maintenance/port) +"vf" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "scarab_cargo" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "scarab_holo" + }, +/obj/structure/cable/green{ + icon_state = "0-10" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) +"vr" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/item/storage/fancy/donut_box{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"vw" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/engineer, +/obj/item/clothing/head/helmet/space/light/engineer, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/item/clothing/mask/gas, +/obj/structure/sign/poster/official/build{ + pixel_y = 32 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"vC" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -12 + }, +/obj/structure/mirror{ + pixel_y = 4; + layer = 2.89; + pixel_x = -20 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/corner/transparent/black/diagonal{ + dir = 4 + }, +/obj/effect/turf_decal/siding{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"vK" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor{ + dir = 2; + id = "scarab_bridge" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/bridge) +"vV" = ( +/obj/structure/table, +/obj/machinery/jukebox/boombox{ + pixel_y = -5 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"wq" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor{ + dir = 2; + id = "scarab_windows" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/hallway/starboard) +"wu" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"wA" = ( +/obj/structure/closet/secure_closet{ + anchored = 1; + icon_door = "eng_elec"; + icon_state = "eng"; + name = "tool closet"; + req_one_access = list(11,41) + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/green{ + icon_state = "0-8" + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/toolbox/electrical{ + pixel_y = -3 + }, +/obj/item/storage/toolbox/electrical{ + pixel_y = -3 + }, +/obj/item/stack/tape/industrial/electrical{ + pixel_y = -4 + }, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/welding, +/obj/item/clothing/glasses/welding, +/obj/item/geiger_counter, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"wO" = ( +/obj/machinery/atmospherics/components/binary/valve/on/layer4, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/button/door{ + pixel_x = -20; + dir = 4; + id = "scarab_engines_starboard"; + name = "cargo door control" + }, +/obj/structure/closet/firecloset/wall/directional/east{ + pixel_y = 6 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering/atmospherics) +"wR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/green{ + icon_state = "1-10" + }, +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_y = 7 + }, +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 + }, +/turf/open/floor/plating, +/area/ship/crew/cryo) +"wS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"wU" = ( +/obj/structure/chair/sofa/brown/right/directional/east, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/green, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"wW" = ( +/turf/template_noop, +/area/template_noop) +"xm" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/machinery/atmospherics/components/trinary/mixer/flipped{ + dir = 4; + name = "fuel mixer"; + node1_concentration = 0.33; + node2_concentration = 0.67; + target_pressure = 500 + }, +/obj/item/paper/guides/jobs/engi/combustion_thruster, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"xz" = ( +/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/obj/machinery/button/door{ + dir = 1; + id = "scarab_security"; + name = "cargo door control"; + pixel_y = -20; + pixel_x = 7 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"xI" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"xM" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/engineer, +/obj/item/clothing/head/helmet/space/light/engineer, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/item/clothing/mask/gas, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"yi" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"yl" = ( +/obj/structure/cable/green{ + icon_state = "8-10" + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"yr" = ( +/obj/machinery/atmospherics/components/binary/valve/on/layer4, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/button/door{ + pixel_x = -20; + dir = 4; + id = "scarab_engines_port"; + name = "cargo door control" + }, +/obj/structure/closet/firecloset/wall/directional/east{ + pixel_y = 0 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"yx" = ( +/obj/structure/closet, +/obj/effect/spawner/random/maintenance/two, +/obj/effect/decal/cleanable/dirt, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"yF" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"yO" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"yR" = ( +/obj/structure/chair/stool{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/item/cigbutt, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"yU" = ( +/obj/structure/closet/wall/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = 10; + dir = 1; + pixel_y = -19 + }, +/obj/machinery/firealarm/directional/south, +/obj/item/storage/backpack, +/obj/item/storage/backpack/satchel, +/obj/item/clothing/under/utility, +/obj/item/clothing/under/utility, +/obj/item/clothing/under/utility/skirt, +/obj/item/clothing/under/utility/skirt, +/obj/item/clothing/shoes/workboots{ + pixel_y = -7 + }, +/obj/item/clothing/shoes/workboots{ + pixel_y = -7 + }, +/obj/item/clothing/shoes/sneakers/black{ + pixel_y = -12 + }, +/obj/item/clothing/shoes/sneakers/black{ + pixel_y = -12 + }, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"yX" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/maintenance/port) +"zr" = ( +/obj/structure/cable/green{ + icon_state = "2-10" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"zv" = ( +/obj/effect/spawner/random/maintenance/three, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"zD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/mob/living/simple_animal/mouse{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"zE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"zS" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor{ + dir = 2; + id = "scarab_windows" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/hallway/fore) +"Ak" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"Am" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"Ar" = ( +/obj/structure/cable/green{ + icon_state = "5-8" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/fore) +"AD" = ( +/obj/item/kirbyplants/random{ + pixel_x = -7 + }, +/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = -12 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"AT" = ( +/obj/effect/spawner/random/salvage_machine, +/obj/effect/decal/cleanable/crayon{ + icon_state = "space"; + pixel_y = 29; + pixel_x = 1; + paint_colour = "#FF0000" + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"AU" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"AW" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/structure/closet/wall/directional/south{ + name = "security wardrobe" + }, +/obj/item/storage/backpack/security, +/obj/item/storage/backpack/satchel/sec, +/obj/item/clothing/under/rank/security/officer, +/obj/item/clothing/under/rank/security/officer, +/obj/item/clothing/shoes/jackboots{ + pixel_y = -7 + }, +/obj/item/clothing/shoes/jackboots{ + pixel_y = -7 + }, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/mask/balaclava, +/obj/item/clothing/mask/balaclava, +/obj/item/storage/belt/security, +/obj/item/storage/belt/security, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"Bd" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "scarab_engines_starboard" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering/atmospherics) +"Bu" = ( +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/light_switch{ + pixel_y = 20; + pixel_x = 11 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/fore) +"Bw" = ( +/obj/machinery/computer/atmos_alert{ + icon_state = "computer-right" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"By" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/turf_decal/number/nine{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"BW" = ( +/obj/machinery/mineral/processing_unit{ + input_dir = 2; + output_dir = 1 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Cg" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "scarab_cargo" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) +"Ch" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"CT" = ( +/turf/closed/wall, +/area/ship/maintenance/fore) +"CU" = ( +/obj/structure/closet/crate/large, +/obj/machinery/portable_atmospherics/canister/hydrogen, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"Dl" = ( +/obj/machinery/modular_computer/console/preset/command{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Ds" = ( +/obj/structure/bed{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/spawner/random/bedsheet, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"Dt" = ( +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/obj/machinery/firealarm/directional/east{ + pixel_y = -4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"Dv" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"DF" = ( +/obj/machinery/computer/cargo{ + icon_state = "computer-right"; + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/white, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 8 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"DI" = ( +/obj/structure/catwalk/over, +/obj/structure/marker_beacon{ + picked_color = "Cerulean" + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"DN" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security) +"DX" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor{ + dir = 2; + id = "scarab_windows" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/crew) +"Ei" = ( +/obj/machinery/power/shuttle/engine/fire, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"Es" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"EE" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/machinery/space_heater, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/atmospherics) +"EK" = ( +/obj/item/cigbutt, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"EL" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/atmospherics) +"ES" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/closet/crate/radiation{ + name = "fuel crate"; + anchored = 1 + }, +/obj/item/stack/sheet/mineral/uranium/ten, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/radiation, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"ET" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ship/crew) +"Ff" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/sign/poster/contraband/cardinal_fore_aft{ + pixel_x = 32 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"FE" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/layer4{ + dir = 8 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"FF" = ( +/obj/machinery/light/directional/south, +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 8; + piping_layer = 2 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/atmospherics) +"FG" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"FH" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"FP" = ( +/obj/structure/closet/crate/bin, +/obj/item/trash/boritos, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"FU" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/cable/green{ + icon_state = "6-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/chick/holo{ + dir = 8; + name = "Temiti" + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"FW" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/corner/transparent/black/diagonal{ + dir = 4 + }, +/obj/effect/turf_decal/siding{ + dir = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Gg" = ( +/obj/item/radio/intercom/directional/north{ + pixel_x = -9 + }, +/obj/structure/chair/office{ + pixel_y = 0; + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/newscaster/directional/north{ + pixel_x = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"Gj" = ( +/obj/machinery/door/airlock/glass{ + dir = 8; + name = "Crew Quarters" + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew) +"Gs" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"Gx" = ( +/obj/machinery/computer/monitor{ + icon_state = "computer-left" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"GH" = ( +/obj/structure/marker_beacon{ + picked_color = "Bronze"; + pixel_y = 4 + }, +/obj/effect/turf_decal/trimline/opaque/orange/arrow_ccw, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"GU" = ( +/obj/structure/chair/stool{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"GY" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 4; + piping_layer = 2 + }, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/atmospherics) +"Hc" = ( +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -19 + }, +/turf/open/floor/plasteel/dark/airless, +/area/ship/maintenance/port) +"Hv" = ( +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"Hw" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/airalarm/directional/south, +/obj/structure/closet/secure_closet{ + req_access_txt = "41"; + anchored = 1; + icon_state = "qm"; + name = "\proper foreman's locker" + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/item/storage/guncase/pistol/detective, +/obj/item/storage/backpack/industrial, +/obj/item/storage/backpack/satchel/eng, +/obj/item/clothing/shoes/workboots{ + pixel_y = -7 + }, +/obj/item/clothing/under/rank/security/detective, +/obj/item/clothing/suit/hazardvest, +/obj/item/storage/belt/utility/full, +/obj/item/clothing/head/hardhat/orange, +/obj/item/clothing/head/hardhat/white, +/obj/effect/turf_decal/box, +/obj/item/storage/box/ammo/c38, +/obj/item/megaphone/cargo, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"HC" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible/layer2, +/obj/machinery/airalarm/directional/south, +/obj/structure/table, +/obj/machinery/cell_charger, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/atmospherics) +"HG" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"HI" = ( +/obj/machinery/firealarm/directional/west{ + pixel_y = 7 + }, +/obj/structure/extinguisher_cabinet/directional/west{ + pixel_y = -6 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"HP" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/yellow/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"HQ" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/dirt, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"Ia" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/green{ + icon_state = "0-1" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/spider/stickyweb, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"Ic" = ( +/turf/closed/wall/mineral/iron, +/area/ship/maintenance/fore) +"Iu" = ( +/obj/machinery/pipedispenser, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/atmospherics) +"Iy" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/crew) +"IE" = ( +/obj/structure/catwalk/over, +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"IG" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"IL" = ( +/obj/machinery/conveyor_switch/oneway{ + pixel_y = 1; + pixel_x = -8; + id = "scarab_conveyor" + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 8 + }, +/obj/machinery/button/door{ + pixel_x = 20; + dir = 8; + pixel_y = 6; + id = "scarab_cargo"; + name = "cargo door control" + }, +/obj/machinery/button/shieldwallgen{ + dir = 8; + pixel_x = 19; + pixel_y = -4; + id = "scarab_holo" + }, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 4 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"IM" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"IN" = ( +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"IY" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/secure/loot, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Jc" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/cable/green{ + icon_state = "4-9" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"Je" = ( +/obj/structure/cable/green{ + icon_state = "6-10" + }, +/obj/machinery/door/airlock/maintenance{ + req_ship_access = 0 + }, +/obj/effect/mapping_helpers/airlock/abandoned, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Jj" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance{ + dir = 8; + req_ship_access = 0 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/abandoned, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"Jl" = ( +/obj/machinery/door/airlock/public/glass{ + req_ship_access = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/hallway/starboard) +"Jm" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/green{ + icon_state = "0-5" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"Jo" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/item/caution, +/obj/item/caution, +/obj/item/caution, +/obj/item/reagent_containers/glass/bucket, +/obj/item/storage/bag/trash, +/obj/item/mop, +/obj/item/pushbroom, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"JB" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/atmospherics) +"JD" = ( +/obj/structure/railing, +/obj/machinery/button/door{ + pixel_x = 22; + dir = 8; + pixel_y = 9; + id = "scarab_bridge"; + name = "bridge blast doors" + }, +/obj/machinery/button/door{ + pixel_x = 22; + dir = 8; + pixel_y = -2; + id = "scarab_windows"; + name = "window lockdown" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10; + layer = 2.030 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"JR" = ( +/obj/structure/cable/green{ + icon_state = "1-10" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"JT" = ( +/obj/docking_port/stationary{ + width = 5; + height = 15; + dwidth = 3; + dir = 8 + }, +/turf/template_noop, +/area/template_noop) +"JW" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_x = 11; + dir = 1; + pixel_y = -19 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel, +/area/ship/crew) +"Kc" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/chair/handrail, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"Ks" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/structure/cable/green, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Kt" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"Ku" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"KN" = ( +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"KP" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"KR" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"Lc" = ( +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Lm" = ( +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"Lp" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Lt" = ( +/obj/effect/turf_decal/hardline_small/left{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"LA" = ( +/obj/machinery/door/airlock/security{ + dir = 4; + name = "Security"; + req_one_access = list(1,41) + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"LJ" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"LK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"LS" = ( +/obj/structure/railing, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/power/ship_gravity, +/obj/structure/cable/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"LZ" = ( +/obj/structure/cable/green{ + icon_state = "5-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Md" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"Me" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"Mk" = ( +/obj/structure/cable/green{ + icon_state = "4-5" + }, +/obj/effect/spawner/random/salvage_machine, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/catwalk/over, +/obj/structure/sign/poster/random{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"Mr" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/turf_decal/number/eight{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Mw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/item/kirbyplants/random{ + pixel_x = 8 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/fore) +"MD" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/table/reinforced, +/obj/structure/closet/secure_closet/wall/directional/north{ + name = "Fridge" + }, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/item/storage/cans/sixbeer, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/snacks/sosjerky, +/obj/item/reagent_containers/food/snacks/sosjerky, +/obj/item/reagent_containers/food/snacks/cornchips, +/turf/open/floor/plasteel, +/area/ship/crew) +"MT" = ( +/obj/structure/chair/sofa/brown/left/directional/east, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"MV" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"MZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/green{ + icon_state = "5-10" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"Nu" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "scarab_conveyor" + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/green{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/maintenance/central) +"NS" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"NU" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/cargo) +"Oe" = ( +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Om" = ( +/obj/structure/cable/green{ + icon_state = "4-10" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink{ + pixel_y = 21 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Oo" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor{ + dir = 2; + id = "scarab_bridge" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Ox" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"Oy" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/corner/transparent/black/diagonal{ + dir = 4 + }, +/obj/effect/turf_decal/siding{ + dir = 10 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"OF" = ( +/obj/structure/catwalk/over, +/obj/docking_port/mobile{ + can_move_docking_ports = 1; + dir = 2; + launch_status = 0; + name = "drilling ship"; + port_direction = 8; + preferred_direction = 4 + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"OI" = ( +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering Bay" + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"OS" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/fore) +"OY" = ( +/obj/structure/cable/green{ + icon_state = "1-6" + }, +/obj/structure/rack, +/obj/item/stack/sheet/plastic/five, +/obj/item/stack/sheet/plastic/five, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/glass/twenty, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"Pe" = ( +/obj/machinery/door/airlock/maintenance_hatch, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating, +/turf/open/floor/plasteel/tech/grid, +/area/ship/maintenance/port) +"Ps" = ( +/obj/effect/turf_decal/hardline_small/right{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"PL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/atmospherics) +"PV" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/maintenance/fore) +"PX" = ( +/obj/structure/table, +/obj/machinery/fax/indie{ + pixel_y = 8 + }, +/obj/item/stamp/denied{ + pixel_y = -5; + pixel_x = -8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"Qa" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 4; + pixel_y = 0; + pixel_x = 5 + }, +/obj/structure/railing, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"Qb" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Qe" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/sink/kitchen{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"QE" = ( +/obj/effect/decal/cleanable/oil/streak, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"QJ" = ( +/obj/structure/spider/stickyweb{ + layer = 2.91 + }, +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"QW" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"QZ" = ( +/turf/closed/wall, +/area/ship/maintenance/port) +"Re" = ( +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/obj/structure/closet/secure_closet{ + icon_state = "cap"; + name = "\proper captain's locker"; + req_access_txt = "20"; + anchored = 1 + }, +/obj/item/storage/guncase/pistol/detective, +/obj/item/storage/backpack/captain, +/obj/item/storage/backpack/satchel/cap, +/obj/item/clothing/under/rank/command/captain, +/obj/item/clothing/under/rank/command/captain/skirt, +/obj/item/clothing/shoes/laceup{ + pixel_y = -12 + }, +/obj/item/clothing/gloves/color/white, +/obj/item/clothing/head/caphat, +/obj/item/storage/box/ammo/c38, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/green{ + icon_state = "0-10" + }, +/obj/item/clothing/accessory/holster, +/obj/item/megaphone/cargo, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Rh" = ( +/obj/structure/table, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/item/toy/cards/deck/kotahi{ + pixel_y = 6 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"Rs" = ( +/obj/machinery/door/airlock/maintenance{ + req_ship_access = 0 + }, +/obj/effect/mapping_helpers/airlock/abandoned, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"Ry" = ( +/obj/structure/table, +/obj/machinery/computer/helm/viewscreen/directional/south, +/obj/item/toy/crayon/spraycan{ + pixel_y = 12; + pixel_x = 7 + }, +/obj/item/hand_labeler{ + pixel_x = -8; + pixel_y = 5 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"RB" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 2 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/atmospherics) +"RN" = ( +/obj/structure/chair/stool{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"RX" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"Sa" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/item/clothing/suit/space/hardsuit/security/independent, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"Sh" = ( +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/radio/intercom/directional/east, +/obj/item/cigbutt, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"SV" = ( +/obj/effect/turf_decal/industrial/traffic/corner, +/obj/machinery/light/directional/north, +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 + }, +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_y = 7 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Tq" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) +"TG" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/turf_decal/number/zero{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"TH" = ( +/obj/item/kirbyplants/random{ + pixel_x = -7 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"TN" = ( +/obj/structure/guncloset, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/item/gun/ballistic/automatic/smg/cobra/indie/no_mag, +/obj/item/gun/ballistic/shotgun/hellfire/empty, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"TP" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plating, +/area/ship/crew/cryo) +"TU" = ( +/obj/structure/catwalk/over/plated_catwalk/white, +/obj/machinery/shower{ + dir = 8 + }, +/obj/structure/curtain, +/obj/structure/window/reinforced/tinted/frosted{ + dir = 1 + }, +/obj/item/bikehorn/rubberducky{ + pixel_x = -9 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/toilet) +"UB" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) +"UN" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "scarab_cargo" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "scarab_holo"; + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "0-9" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) +"UQ" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"UR" = ( +/obj/structure/cable/green{ + icon_state = "4-9" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/greenglow, +/obj/structure/sign/poster/contraband/hacking_guide{ + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"UZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt, +/turf/open/floor/plating, +/area/ship/maintenance/fore) +"Vc" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/effect/turf_decal/siding/thinplating/dark/end, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"VB" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10; + layer = 2.030 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"VL" = ( +/obj/effect/turf_decal/corner/opaque/lightgrey/diagonal{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"VN" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"VU" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"VZ" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/item/clothing/suit/space/engineer, +/obj/item/clothing/head/helmet/space/light/engineer, +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/item/clothing/mask/gas, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"Wo" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"Wp" = ( +/obj/structure/ore_box, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Wt" = ( +/obj/structure/closet/wall/directional/south{ + pixel_x = 3 + }, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -19; + pixel_x = -12 + }, +/obj/effect/turf_decal/corner/transparent/black/diagonal{ + dir = 4 + }, +/obj/effect/turf_decal/siding, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Wv" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/ore_box, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/sign/poster/contraband/ntos{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"WD" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"WK" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8" + }, +/obj/item/cigbutt, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"WN" = ( +/obj/effect/turf_decal/hardline_small{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"WQ" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"WT" = ( +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"WU" = ( +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/structure/rack, +/obj/item/storage/box/ammo/a12g_buckshot{ + pixel_y = 2; + pixel_x = 4 + }, +/obj/machinery/airalarm/directional/north, +/obj/item/ammo_box/magazine/m45_cobra{ + pixel_y = 4 + }, +/obj/item/ammo_box/magazine/m45_cobra{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"Xd" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_y = 7 + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"Xi" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"Xy" = ( +/obj/machinery/light/directional/north, +/obj/structure/chair/handrail, +/obj/effect/turf_decal/corner/transparent/black/diagonal{ + dir = 4 + }, +/obj/effect/turf_decal/siding{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"XA" = ( +/obj/structure/cable/green{ + icon_state = "2-9" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"Yc" = ( +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/closet/emcloset/wall/directional/east, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Yi" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/turf/open/floor/plasteel, +/area/ship/crew) +"Yu" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm) +"Yw" = ( +/obj/machinery/holopad{ + pixel_x = 1 + }, +/obj/effect/turf_decal/trimline/opaque/blue, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"YI" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew) +"YP" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/cryo) +"Zb" = ( +/obj/machinery/firealarm/directional/west{ + pixel_y = 7 + }, +/obj/structure/extinguisher_cabinet/directional/west{ + pixel_y = -6 + }, +/obj/item/cigbutt, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Zc" = ( +/obj/structure/cable/green{ + icon_state = "4-9" + }, +/obj/structure/grille, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Zj" = ( +/obj/effect/turf_decal/box/corners, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Zp" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/item/clothing/suit/space/hardsuit/security/independent, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"Zu" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/maintenance/port) +"ZA" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"ZY" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) + +(1,1,1) = {" +wW +wW +wW +wW +wW +yi +dY +dY +Ei +LJ +wW +wW +JT +wW +wW +JB +nn +jZ +jZ +ee +wW +wW +wW +wW +wW +"} +(2,1,1) = {" +wW +wW +wW +wW +re +yi +jG +jG +kz +yi +IE +xI +RX +Ku +IE +ee +lG +Bd +Bd +ee +EL +wW +wW +wW +wW +"} +(3,1,1) = {" +re +yi +yi +yi +yi +lF +ha +ha +KN +yi +ee +ee +ir +ee +ee +ee +sy +oP +by +GY +ee +YP +YP +YP +aO +"} +(4,1,1) = {" +yi +Me +IM +LS +OY +bA +Hv +Wo +mN +yr +fa +Ox +WQ +Vc +fa +wO +HP +JR +gp +HC +ee +uk +fY +lt +YP +"} +(5,1,1) = {" +yi +jX +sM +te +dG +XA +uu +EK +wA +yi +ee +dX +FE +sX +ee +ee +RB +KR +PL +FF +ee +VN +ix +Jm +YP +"} +(6,1,1) = {" +yi +dQ +kr +ES +Gx +VB +Lm +lR +sx +yi +ee +hz +hz +hz +ee +ee +EE +qH +xm +gW +ee +tx +wR +TP +YP +"} +(7,1,1) = {" +yi +yi +yi +yi +Bw +sl +Ak +Dt +cC +yi +vw +sJ +RN +sJ +xM +ee +Iu +mG +rL +ge +ee +pf +YP +YP +YP +"} +(8,1,1) = {" +Ku +wW +yi +yi +yi +yi +OI +yi +yi +yi +VZ +Ps +WN +Lt +QW +ee +ee +gs +ee +ee +ee +fx +YP +wW +Ku +"} +(9,1,1) = {" +Ku +wW +yX +aU +aU +yX +Lp +NS +ad +Zb +jd +pH +gP +pH +jo +HI +kk +aH +tL +Jl +TH +bw +on +wW +Ku +"} +(10,1,1) = {" +OF +yX +yX +pQ +am +Pe +HG +kL +WT +Ks +IN +kf +ZY +kf +Sh +hI +Ff +Yc +kL +uG +bz +Xi +on +on +Ku +"} +(11,1,1) = {" +Ku +yX +QZ +Om +Hc +DN +DN +DN +LA +iZ +iZ +mv +oi +mv +iZ +iZ +jV +jV +jV +jV +gq +WK +nE +wq +Ku +"} +(12,1,1) = {" +Ku +yX +Oe +uZ +lz +DN +qC +AD +xz +iZ +lx +ca +yO +dP +et +iZ +FW +vC +Oy +fW +bz +FH +Rh +wq +Ku +"} +(13,1,1) = {" +Ku +yX +gR +hV +zE +DN +tH +MV +ct +ut +cO +dJ +yO +VU +Ry +iZ +Xy +rI +Wt +jV +AU +jQ +lf +wq +Ku +"} +(14,1,1) = {" +yX +yX +ma +eM +UR +DN +bj +bD +VL +ut +Jo +Zj +iK +aI +Hw +iZ +jT +TU +bb +UB +Iy +tJ +UB +UB +UB +"} +(15,1,1) = {" +yX +uo +uo +uo +ty +DN +TN +iT +AW +iZ +pB +rt +Qb +oJ +rC +iZ +jA +jA +UB +UB +iV +Gs +MT +wU +UB +"} +(16,1,1) = {" +yX +IY +yx +uo +LZ +DN +WU +WD +sG +iZ +Ch +Wp +FG +QE +tK +BW +Nu +io +UB +pE +hn +wu +vr +vV +DX +"} +(17,1,1) = {" +rm +ZA +LK +Je +sd +DN +DN +Zp +Sa +iZ +Wv +qg +ag +oJ +oK +qv +jC +aK +UB +kt +Yi +FU +yR +GU +DX +"} +(18,1,1) = {" +yX +ch +qh +QZ +Zc +QZ +DN +DN +DN +iZ +SV +Lc +kl +jj +IL +iZ +jA +uC +UB +MD +Yi +ET +Jc +nK +UB +"} +(19,1,1) = {" +Zu +yX +QZ +QZ +sS +cr +yX +wW +wW +NU +iZ +vf +Cg +UN +iZ +NU +wW +wW +UB +jv +Qe +kB +JW +UB +YI +"} +(20,1,1) = {" +wW +yX +zv +QZ +QJ +mX +yX +Zu +wW +wW +GH +Mr +TG +By +eg +wW +wW +bq +Yu +Yu +Yu +Iy +Gj +UB +wW +"} +(21,1,1) = {" +wW +yX +QZ +QZ +QZ +pU +uo +yX +wW +wW +wW +sk +Dv +tA +wW +wW +wW +Yu +eB +yU +Yu +Bu +Ar +OS +wW +"} +(22,1,1) = {" +wW +qx +he +Md +CT +HQ +Mk +qx +wW +wW +wW +wW +wW +wW +wW +wW +wW +dV +pc +mC +aL +kM +Mw +zS +wW +"} +(23,1,1) = {" +jt +gj +Kt +UZ +Rs +yl +lp +lJ +wW +wW +wW +wW +wW +wW +wW +wW +wW +dV +Xd +nb +Yu +Kc +rz +zS +Ku +"} +(24,1,1) = {" +wW +qx +AT +rn +Ic +KP +cx +qx +wW +wW +wW +wW +wW +wW +wW +wW +wW +dV +Ds +lh +Yu +IG +dC +OS +Ku +"} +(25,1,1) = {" +wW +PV +qx +Ic +Ic +Jj +CT +qx +wW +wW +wW +wW +wW +wW +wW +wW +wW +UQ +UQ +UQ +UQ +nN +UQ +UQ +Ku +"} +(26,1,1) = {" +wW +wW +qx +CU +Ic +ex +oe +qx +wW +wW +wW +wW +wW +wW +wW +wW +wW +UQ +PX +sF +cD +mr +UQ +wW +Ku +"} +(27,1,1) = {" +wW +wW +lJ +Kt +ke +zr +Ia +qx +wW +wW +wW +wW +wW +wW +wW +wW +wW +UQ +Gg +MZ +Es +FP +Oo +wW +Ku +"} +(28,1,1) = {" +wW +wW +qx +tj +bP +bP +lm +qx +wW +wW +wW +wW +wW +wW +wW +wW +wW +UQ +Re +Yw +wS +DF +UQ +wW +DI +"} +(29,1,1) = {" +wW +wW +qx +bP +bP +zD +Am +qx +wW +wW +wW +wW +wW +wW +wW +wW +wW +vK +yF +JD +oO +jc +UQ +wW +wW +"} +(30,1,1) = {" +wW +wW +PV +qx +bP +nq +as +qx +wW +wW +wW +wW +wW +wW +wW +wW +wW +vK +gg +Qa +Dl +UQ +Tq +wW +wW +"} +(31,1,1) = {" +wW +wW +wW +PV +qx +qx +qx +PV +wW +wW +wW +wW +wW +wW +wW +wW +wW +Tq +eH +eH +UQ +Tq +wW +wW +wW +"} diff --git a/_maps/shuttles/independent/independent_schmiedeberg.dmm b/_maps/shuttles/independent/independent_schmiedeberg.dmm deleted file mode 100644 index 454e7503cb5..00000000000 --- a/_maps/shuttles/independent/independent_schmiedeberg.dmm +++ /dev/null @@ -1,4247 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"au" = ( -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmlobby" - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/cargo) -"ay" = ( -/obj/machinery/firealarm/directional/west, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/medical) -"az" = ( -/obj/structure/catwalk/over, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/security) -"aD" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 9 - }, -/obj/machinery/light/directional/east, -/obj/structure/rack, -/obj/item/reagent_containers/glass/beaker/plastic, -/obj/item/reagent_containers/glass/beaker/plastic, -/obj/item/reagent_containers/glass/beaker/meta, -/obj/item/reagent_containers/glass/beaker/meta, -/turf/open/floor/circuit, -/area/ship/medical) -"aE" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood/corner{ - color = "#543C30"; - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - color = "#543C30" - }, -/turf/open/floor/concrete/tiles, -/area/ship/crew/hydroponics) -"aO" = ( -/obj/structure/table, -/obj/item/storage/bag/tray, -/obj/item/reagent_containers/food/condiment/enzyme, -/obj/item/kitchen/knife, -/obj/item/reagent_containers/food/condiment/saltshaker{ - pixel_x = -5; - pixel_y = 10 - }, -/obj/item/reagent_containers/food/condiment/peppermill{ - pixel_x = 3; - pixel_y = 11 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"aQ" = ( -/obj/structure/table/glass, -/obj/machinery/smartfridge/disks, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"aT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner, -/turf/open/floor/carpet/blue, -/area/ship/bridge) -"bj" = ( -/obj/structure/window/reinforced/survival_pod/spawner/west, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"bl" = ( -/obj/structure/toilet{ - pixel_y = 13 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/sign/poster/official/no_erp{ - pixel_x = -32 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/west, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood/walnut, -/area/ship/crew/toilet) -"bm" = ( -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 6 - }, -/obj/machinery/light/directional/south, -/obj/item/trash/can, -/obj/item/stock_parts/subspace/amplifier, -/obj/item/trash/candy, -/obj/item/trash/popcorn, -/obj/item/trash/syndi_cakes, -/obj/structure/closet/crate/bin, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/cargo) -"bq" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmwindows" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"bu" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering) -"bD" = ( -/obj/structure/rack, -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/door/window/brigdoor/northright{ - dir = 2 - }, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/window/reinforced/spawner/north, -/turf/open/floor/wood/walnut, -/area/ship/cargo) -"bH" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/belt/utility, -/obj/item/storage/toolbox/electrical, -/obj/machinery/button/door{ - dir = 1; - id = "pharmairlock"; - name = "airlock access"; - pixel_y = -24 - }, -/obj/item/clothing/gloves/color/yellow, -/obj/item/storage/box/lights/bulbs, -/obj/item/storage/box/lights/bulbs, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 - }, -/obj/effect/turf_decal/box/white, -/obj/item/flashlight/flare, -/obj/item/flashlight/flare, -/obj/item/flashlight/flare, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"bL" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/item/kirbyplants, -/obj/effect/turf_decal/corner/opaque/blue/three_quarters, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"bX" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 6 - }, -/obj/structure/table/glass, -/obj/item/stock_parts/scanning_module, -/obj/item/stock_parts/capacitor{ - pixel_x = -7; - pixel_y = 5 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/medical) -"ca" = ( -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - color = "#543C30"; - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/ship/crew/hydroponics) -"cp" = ( -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/power/port_gen/pacman/super, -/obj/item/stack/sheet/mineral/uranium{ - amount = 15 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"cr" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/obj/structure/table_frame, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/blood/old{ - pixel_x = 8; - pixel_y = 11 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/circuit, -/area/ship/medical) -"cN" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"cY" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/engineering) -"de" = ( -/obj/machinery/mineral/ore_redemption, -/turf/open/floor/plating, -/area/ship/security) -"dr" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = -5 - }, -/obj/item/reagent_containers/glass/rag{ - pixel_x = 7; - pixel_y = 15 - }, -/turf/open/floor/circuit, -/area/ship/medical) -"dt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"dF" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, -/area/ship/crew/canteen) -"dU" = ( -/obj/machinery/vending/wallmed{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/oil/streak, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"dX" = ( -/obj/item/healthanalyzer, -/obj/item/storage/bag/chemistry, -/obj/item/reagent_scanner, -/obj/item/clothing/gloves/color/latex, -/obj/item/storage/box/syringes, -/obj/item/storage/box/beakers, -/obj/item/storage/box/beakers, -/obj/item/geiger_counter, -/obj/item/reagent_scanner, -/obj/structure/closet/wall/white/chem{ - dir = 1; - name = "Pharmacist's Locker"; - pixel_y = -28 - }, -/obj/item/storage/belt/medical, -/obj/item/reagent_containers/spray, -/obj/item/reagent_containers/spray, -/obj/item/storage/belt/medical, -/obj/item/storage/bag/chemistry, -/obj/item/healthanalyzer, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/item/storage/portable_chem_mixer, -/obj/item/storage/firstaid, -/obj/item/hand_labeler, -/obj/item/hand_labeler_refill, -/obj/item/storage/firstaid/medical, -/obj/item/wrench/medical, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"eu" = ( -/obj/effect/turf_decal/siding/thinplating/corner, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/carpet/blue, -/area/ship/bridge) -"eC" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"eY" = ( -/obj/structure/closet/crate/secure/loot, -/obj/item/stack/cable_coil/blue, -/obj/item/circuitboard/computer/pandemic, -/obj/effect/turf_decal/box/white, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"fb" = ( -/obj/effect/decal/cleanable/food/egg_smudge, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/canteen) -"fd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmlobby" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"fq" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/decal/cleanable/greenglow/filled, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"fu" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"fz" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/engineering) -"fM" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/curtain/bounty, -/obj/structure/closet/emcloset/wall/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"fO" = ( -/obj/effect/turf_decal/siding/wood/corner{ - color = "#543C30"; - dir = 4 - }, -/turf/open/floor/concrete/tiles, -/area/ship/crew/hydroponics) -"fP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"fS" = ( -/obj/structure/chair/sofa/brown/right/directional/west, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"fY" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 10 - }, -/obj/structure/table/glass, -/obj/item/reagent_containers/glass/beaker/large{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/reagent_containers/glass/beaker/large{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/reagent_containers/glass/beaker/large{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/reagent_containers/glass/beaker/large{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/reagent_containers/glass/beaker/large{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/reagent_containers/dropper, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/medical) -"gl" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"gt" = ( -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/machinery/door/window/eastleft, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "pharmabridge" - }, -/turf/open/floor/plating, -/area/ship/security) -"gz" = ( -/obj/structure/curtain/cloth{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/xenoblood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/wood/walnut, -/area/ship/crew/toilet) -"gO" = ( -/obj/structure/table/wood/reinforced, -/obj/item/paper_bin{ - pixel_x = -4 - }, -/obj/item/pen{ - pixel_x = -4 - }, -/obj/structure/sign/poster/contraband/red_rum{ - pixel_x = 32 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmstore" - }, -/turf/open/floor/light, -/area/ship/crew/canteen) -"gT" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmboothlock" - }, -/turf/open/floor/plating, -/area/ship/security) -"ha" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmwindows" - }, -/turf/open/floor/plating, -/area/ship/crew) -"hg" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"hp" = ( -/obj/structure/table/glass, -/obj/item/lighter{ - pixel_x = -8 - }, -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/cargo) -"ht" = ( -/obj/machinery/jukebox, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"hw" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood/walnut, -/area/ship/cargo) -"hN" = ( -/obj/structure/table/reinforced, -/obj/structure/window/reinforced/spawner/east, -/obj/machinery/recharger, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "pharmboothlock" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"hX" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/turf_decal/siding/thinplating{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/plumbing/input, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 12 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/medical) -"il" = ( -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/cargo) -"is" = ( -/obj/machinery/smartfridge/food, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/medical) -"iJ" = ( -/obj/structure/closet/secure_closet/hydroponics{ - name = "herbalist's equipment"; - req_access = null - }, -/obj/item/storage/box/disks_plantgene, -/obj/item/circuitboard/machine/hydroponics, -/obj/item/circuitboard/machine/hydroponics, -/obj/item/reagent_containers/glass/filter, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/reagent_containers/glass/beaker/large, -/obj/structure/window/reinforced/tinted{ - dir = 1 - }, -/obj/machinery/door/window{ - dir = 8 - }, -/obj/item/watertank, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/shovel/spade, -/obj/item/shovel/spade, -/obj/item/cultivator, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 6 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"iN" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/mask/breath/medical, -/obj/item/tank/internals/oxygen, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 10 - }, -/obj/item/clothing/suit/space/hardsuit/medical/cmo, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"iS" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/blue, -/area/ship/bridge) -"iX" = ( -/obj/structure/chair/comfy/grey/directional/north, -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 10 - }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/cargo) -"jg" = ( -/obj/structure/railing{ - dir = 8; - pixel_x = -1 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/medical) -"jB" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew) -"jG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"jQ" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"ka" = ( -/obj/machinery/computer/cargo/express{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"kc" = ( -/obj/structure/sink/kitchen{ - dir = 4; - pixel_x = -10; - pixel_y = 5 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 12 - }, -/turf/open/floor/concrete/slab_4, -/area/ship/crew/canteen) -"kf" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/concrete/tiles, -/area/ship/crew/hydroponics) -"kp" = ( -/obj/structure/marker_beacon, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/hydroponics) -"kt" = ( -/obj/structure/closet/crate/hydroponics, -/obj/item/seeds/ambrosia, -/obj/item/seeds/glowshroom, -/obj/item/seeds/random, -/obj/item/seeds/cabbage, -/obj/item/seeds/aloe, -/obj/item/seeds/coffee, -/obj/item/seeds/corn, -/obj/effect/turf_decal/siding/wood/end{ - color = "#543C30"; - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"kC" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/siding/wood/corner{ - color = "#543C30"; - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30" - }, -/turf/open/floor/concrete/tiles, -/area/ship/crew/hydroponics) -"kF" = ( -/obj/effect/decal/cleanable/glass, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/cargo) -"kL" = ( -/obj/structure/table, -/obj/machinery/microwave, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 6 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"kV" = ( -/obj/effect/decal/cleanable/blood/tracks, -/obj/effect/turf_decal/siding/white, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"ly" = ( -/obj/structure/chair/comfy/beige, -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 9 - }, -/obj/structure/sign/warning/securearea{ - desc = "A sign warning viewers of the danger of not properly activating their holofans."; - name = "\improper WARNING: HOLOFANS sign"; - pixel_x = 25; - pixel_y = 9 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/cargo) -"lB" = ( -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/machinery/door/window/eastleft, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/plasma/reinforced/spawner, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "pharmabridge" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"lE" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/obj/structure/frame/computer{ - dir = 1 - }, -/turf/open/floor/circuit, -/area/ship/medical) -"lW" = ( -/turf/open/floor/concrete/slab_3, -/area/ship/crew/canteen) -"md" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "pharmwindows" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"mq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/blue, -/area/ship/bridge) -"mu" = ( -/obj/structure/rack, -/obj/item/pickaxe, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/item/mining_scanner, -/obj/item/mining_scanner, -/obj/item/mining_scanner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/siding/thinplating{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/security) -"mv" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/bridge) -"mx" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"mC" = ( -/obj/machinery/door/airlock/medical{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/orange/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/orange/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/crew) -"mH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20; - pixel_y = 12 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/toilet) -"mO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/cargo) -"ng" = ( -/obj/structure/fermenting_barrel, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"nl" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1, -/area/ship/crew/hydroponics) -"np" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/security) -"nw" = ( -/obj/machinery/computer/helm{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/end{ - dir = 4 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"nz" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/vending/hydronutrients, -/obj/effect/turf_decal/siding/wood/end{ - color = "#543C30"; - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"nK" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"nL" = ( -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"nO" = ( -/obj/structure/rack, -/obj/item/paper/crumpled, -/obj/item/seeds/cannabis, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 4 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"oa" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/tiles, -/area/ship/crew/hydroponics) -"oc" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/wood/corner{ - color = "#543C30"; - dir = 8 - }, -/turf/open/floor/concrete/tiles, -/area/ship/crew/hydroponics) -"om" = ( -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/machinery/door/window/eastleft, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/plasma/reinforced/spawner/north, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "pharmabridge" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"oK" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmwindows" - }, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"oT" = ( -/obj/machinery/airalarm/directional/west, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"oW" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"oX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"pd" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6, -/obj/effect/turf_decal/steeldecal/steel_decals_central2, -/obj/effect/turf_decal/number/three, -/turf/open/floor/plasteel/tech/grid, -/area/ship/external) -"pl" = ( -/obj/structure/sign/departments/chemistry/pharmacy, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) -"pB" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/hydroponics) -"pY" = ( -/obj/structure/table/wood/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmstore" - }, -/obj/structure/sign/poster/contraband/shamblers_juice{ - pixel_x = -32 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/light, -/area/ship/crew/canteen) -"qa" = ( -/obj/structure/rack, -/obj/structure/window/reinforced/spawner/east, -/obj/structure/window/reinforced/spawner, -/obj/machinery/door/window/brigdoor{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmlobby" - }, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/spawner/lootdrop/maintenance/four, -/turf/open/floor/mineral/titanium, -/area/ship/cargo) -"qj" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 23 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"qB" = ( -/obj/effect/turf_decal/dept/medical{ - dir = 1 - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"qD" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/white, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"qU" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 9 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"qV" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/sign/departments/chemistry{ - pixel_x = -27; - pixel_y = 29 - }, -/obj/effect/decal/cleanable/oil, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/mineral/titanium/white, -/area/ship/crew/canteen) -"rj" = ( -/obj/structure/catwalk/over, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ship/engineering) -"rp" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 9 - }, -/obj/structure/table/glass, -/obj/item/clothing/glasses/science, -/turf/open/floor/circuit, -/area/ship/medical) -"rr" = ( -/obj/structure/catwalk/over, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"rC" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/closet/crate/secure/loot, -/obj/item/plunger, -/obj/effect/turf_decal/box/white, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/item/seeds/random, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"rE" = ( -/obj/item/broken_bottle, -/obj/effect/decal/cleanable/glass, -/obj/item/shard, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/cargo) -"rH" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/security) -"rU" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/cargo) -"rX" = ( -/obj/effect/turf_decal/siding/white/corner, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"su" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ - name = "Atmos Waste" - }, -/turf/open/floor/plating, -/area/ship/security) -"sw" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 4; - piping_layer = 2 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/ship/engineering) -"sB" = ( -/obj/machinery/cryopod{ - dir = 8 - }, -/obj/machinery/computer/cryopod/directional/north{ - pixel_y = 26 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"tj" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/structure/table/glass, -/obj/item/reagent_containers/glass/filter{ - pixel_x = -8 - }, -/obj/item/reagent_containers/glass/filter{ - pixel_x = 1 - }, -/obj/item/reagent_containers/glass/filter{ - pixel_x = 10 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/sign/poster/official/moth/meth{ - pixel_y = -32 - }, -/turf/open/floor/circuit, -/area/ship/medical) -"tm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30" - }, -/turf/open/floor/concrete/tiles, -/area/ship/crew/hydroponics) -"to" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/white, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"ts" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/decal/cleanable/oil/slippery, -/obj/structure/chair/office/light{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/medical) -"tB" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/shaker{ - pixel_x = -9; - pixel_y = 2 - }, -/obj/item/reagent_containers/glass/rag, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"tG" = ( -/obj/machinery/door/airlock/grunge{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/crew/canteen) -"tK" = ( -/obj/machinery/atmospherics/pipe/layer_manifold, -/turf/open/floor/plasteel/stairs/old, -/area/ship/engineering) -"tR" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmwindows" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"uB" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/chair, -/obj/item/chair{ - pixel_y = 5 - }, -/obj/item/chair{ - pixel_y = 10 - }, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/box/white, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"va" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/canteen) -"vm" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"vt" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/stairs, -/area/ship/crew/canteen) -"vL" = ( -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = -32 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/greenglow/filled, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/ship/medical) -"vM" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_3, -/area/ship/crew/canteen) -"vS" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"wh" = ( -/obj/structure/catwalk/over, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"wz" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 10 - }, -/mob/living/simple_animal/pet/penguin/baby{ - desc = "The Head Pharmacist's beloved dwarf penguin. Exposure to chemical contaminats has prevented it from fully maturing.."; - name = "Nootes"; - unique_pet = 1 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/button/door{ - dir = 1; - id = "pharmwindows"; - name = "window shutters"; - pixel_y = -23 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 12 - }, -/turf/open/floor/carpet/blue, -/area/ship/bridge) -"wD" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/siding/wood/corner{ - color = "#543C30" - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"wG" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"wQ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1, -/area/ship/crew/canteen) -"wW" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30" - }, -/turf/open/floor/concrete/tiles, -/area/ship/crew/hydroponics) -"xc" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"xg" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/window/reinforced/survival_pod/spawner/west, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"xi" = ( -/obj/item/chair/stool/bar, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 9 - }, -/turf/open/floor/wood/walnut, -/area/ship/cargo) -"xn" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -13 - }, -/obj/structure/chair/stool, -/obj/structure/mirror{ - pixel_x = -25 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/wood/walnut, -/area/ship/crew/toilet) -"xp" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 - }, -/turf/open/floor/carpet/blue, -/area/ship/bridge) -"xr" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30" - }, -/turf/open/floor/concrete/tiles, -/area/ship/crew/hydroponics) -"xJ" = ( -/turf/template_noop, -/area/template_noop) -"xR" = ( -/obj/machinery/door/airlock/grunge{ - dir = 4; - id_tag = "pharmdoorlock" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "pharmlobby" - }, -/turf/open/floor/plating, -/area/ship/security) -"xT" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/machinery/door/airlock/maintenance{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/crew/canteen) -"yj" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/slab_1, -/area/ship/crew/canteen) -"yt" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/corner/opaque/blue/three_quarters, -/obj/structure/closet/emcloset/wall/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"yv" = ( -/obj/machinery/hydroponics/constructable, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 6 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"yB" = ( -/obj/machinery/vending/cola, -/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"zq" = ( -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/cargo) -"zI" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 4 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 12 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"zT" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "schmeidengine" - }, -/turf/open/floor/plating, -/area/ship/security) -"zW" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/med_data/laptop{ - dir = 8 - }, -/obj/machinery/door/window/brigdoor{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "pharmentrance"; - name = "Main Entrance"; - pixel_x = -5; - pixel_y = 38 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "pharmboothlock" - }, -/obj/machinery/button/shieldwallgen{ - id = "holopharm"; - pixel_x = 6; - pixel_y = 36 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Ab" = ( -/obj/structure/chair/stool/bar, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/cargo) -"As" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/button/door{ - id = "schmeidengine"; - name = "Engine Shutters"; - pixel_x = -13; - pixel_y = 24 - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering) -"At" = ( -/obj/structure/table/glass, -/obj/machinery/plantgenes{ - pixel_y = 7 - }, -/obj/structure/sign/poster/official/bless_this_spess{ - pixel_y = 32 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 5 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"Ay" = ( -/obj/structure/catwalk/over, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ship/engineering) -"AA" = ( -/obj/structure/rack, -/obj/item/radio/intercom/directional/west, -/obj/item/storage/pill_bottle/floorpill/full, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 5 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"AJ" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/turf/open/floor/plating, -/area/ship/engineering) -"AR" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/turf/open/floor/carpet/blue, -/area/ship/bridge) -"AU" = ( -/obj/structure/sink{ - pixel_y = 28 - }, -/obj/effect/decal/cleanable/food/tomato_smudge, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"Bg" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_4, -/area/ship/crew/canteen) -"Bp" = ( -/obj/machinery/door/airlock/grunge, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, -/area/ship/security) -"BT" = ( -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ship/security) -"BY" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"Cb" = ( -/obj/item/reagent_containers/syringe/piercing, -/obj/item/reagent_containers/syringe/piercing, -/obj/item/reagent_containers/syringe/piercing, -/obj/structure/closet/secure_closet/wall/directional/south{ - desc = "For when you REALLY need to reserve the right to deny service. Immediate results guaranteed*"; - icon_state = "sec_wall"; - name = "Unruly Customer Pacification" - }, -/obj/item/reagent_containers/glass/bottle/chloralhydrate{ - pixel_x = 10 - }, -/obj/item/storage/box/syringes, -/obj/item/gun/syringe, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/carpet/black, -/area/ship/security) -"CD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/canteen) -"CI" = ( -/obj/machinery/seed_extractor, -/obj/effect/turf_decal/siding/wood/end{ - color = "#543C30"; - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"CK" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/siding/thinplating{ - dir = 9 - }, -/obj/structure/table/reinforced, -/obj/item/gps{ - gpstag = "PHARM1" - }, -/obj/machinery/fax/indie, -/obj/machinery/button/door{ - dir = 4; - id = "pharmbridge"; - name = "Bridge Lockdown"; - pixel_x = -25; - pixel_y = -7 - }, -/turf/open/floor/carpet/blue, -/area/ship/bridge) -"CV" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/closet/emcloset/wall/directional/east, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/crew/canteen) -"CX" = ( -/obj/structure/window/reinforced/tinted{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/structure/sink{ - dir = 4; - pixel_x = -13 - }, -/obj/machinery/shower{ - dir = 8; - pixel_x = -6 - }, -/obj/structure/sign/poster/official/safety_eye_protection{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/medical) -"Df" = ( -/obj/structure/rack, -/obj/item/flashlight/seclite, -/obj/item/flashlight/seclite, -/obj/item/flashlight/seclite, -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival, -/obj/structure/sign/poster/retro/lasergun_new{ - pixel_x = -32 - }, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/machinery/light/small/directional/west, -/obj/item/radio, -/obj/item/radio, -/obj/machinery/firealarm/directional/north, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/wood/walnut, -/area/ship/security) -"Dp" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/toilet) -"DL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmlobby" - }, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"DO" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmwindows" - }, -/turf/open/floor/plating, -/area/ship/medical) -"Ej" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/trimline/opaque/orange/filled/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/orange/filled/warning, -/obj/machinery/door/airlock/medical, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/medical) -"EV" = ( -/obj/structure/rack, -/obj/item/reagent_containers/glass/bowl, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/storage/box/drinkingglasses, -/obj/item/storage/box/drinkingglasses, -/obj/item/storage/box/dishdrive, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"EX" = ( -/obj/effect/turf_decal/siding/white, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"Fe" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/blue/three_quarters, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"Fl" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/carpet/blue, -/area/ship/bridge) -"Fz" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/security) -"FA" = ( -/obj/effect/turf_decal/steeldecal/steel_decals_central1, -/turf/open/floor/plasteel/tech/grid, -/area/ship/external) -"FB" = ( -/obj/machinery/door/window{ - dir = 8 - }, -/obj/machinery/shower{ - pixel_y = 15 - }, -/obj/item/soap{ - pixel_y = -10 - }, -/obj/item/bikehorn/rubberducky{ - pixel_x = 10; - pixel_y = 10 - }, -/obj/structure/curtain, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/crew/toilet) -"Ga" = ( -/obj/effect/turf_decal/steeldecal/steel_decals_central4, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/kfp_small/left, -/turf/open/floor/engine/hull, -/area/ship/external) -"GY" = ( -/obj/item/tank/internals/emergency_oxygen/double, -/obj/item/tank/internals/emergency_oxygen/double, -/obj/item/tank/internals/emergency_oxygen/double, -/obj/item/clothing/mask/breath/medical, -/obj/item/clothing/mask/breath/medical, -/obj/item/storage/toolbox/emergency, -/obj/item/clothing/suit/space/orange, -/obj/item/clothing/head/helmet/space/orange, -/obj/item/pickaxe/mini, -/obj/item/pickaxe/mini, -/obj/structure/closet/wall/white/directional/north{ - name = "E.V.A" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/item/gps/mining{ - gpstag = "PHARM2" - }, -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20; - pixel_y = -12 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/security) -"He" = ( -/obj/machinery/chem_heater, -/obj/effect/turf_decal/siding/thinplating{ - dir = 10 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/medical) -"Hx" = ( -/obj/item/kirbyplants/photosynthetic, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"Hy" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder{ - pixel_y = 7 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/curtain/cloth{ - pixel_y = -32 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"HB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"HE" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/medical) -"HK" = ( -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/blue, -/area/ship/bridge) -"Iz" = ( -/obj/docking_port/stationary{ - dwidth = 15; - height = 15; - width = 30 - }, -/turf/template_noop, -/area/template_noop) -"IE" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"IR" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"IT" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/bridge) -"IW" = ( -/obj/effect/decal/cleanable/ash/large, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"IZ" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"JS" = ( -/obj/effect/decal/cleanable/food/plant_smudge, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/tiles, -/area/ship/crew/hydroponics) -"JX" = ( -/obj/structure/rack, -/obj/structure/window/reinforced/spawner/east, -/obj/structure/window/reinforced/spawner/north, -/obj/effect/spawner/lootdrop/maintenance/four, -/obj/machinery/door/window/brigdoor/northright{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmlobby" - }, -/turf/open/floor/wood/walnut, -/area/ship/cargo) -"KK" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/chair/sofa/brown/left/directional/west, -/obj/item/toy/plush/snakeplushie, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"KO" = ( -/obj/item/reagent_containers/glass/filter, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table, -/obj/structure/curtain/cloth{ - pixel_y = -32 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"KS" = ( -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/airlock/medical{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/orange/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/orange/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/medical) -"KU" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6, -/turf/open/floor/engine/hull, -/area/ship/crew/hydroponics) -"KW" = ( -/obj/machinery/door/airlock/external/glass, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmairlock" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Ld" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/box/white, -/obj/structure/closet/emcloset/wall/directional/south, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Ln" = ( -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/cargo) -"Lv" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 9 - }, -/obj/structure/table/glass, -/obj/machinery/reagentgrinder{ - pixel_y = 7 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/medical) -"LC" = ( -/obj/structure/sign/departments/medbay/alt, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) -"LJ" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/toilet) -"LK" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/obj/effect/turf_decal/box/white, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"LS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"Mb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/concrete/tiles, -/area/ship/crew/hydroponics) -"Md" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/table/wood, -/obj/structure/bedsheetbin, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"Mf" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/corner/opaque/blue/three_quarters{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"My" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 4 - }, -/turf/open/floor/concrete/slab_3, -/area/ship/crew/hydroponics) -"MP" = ( -/obj/structure/closet/secure_closet/freezer/wall/directional/north, -/obj/item/storage/fancy/egg_box, -/obj/item/storage/fancy/egg_box, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/rice, -/obj/item/reagent_containers/food/condiment/peppermill, -/obj/effect/decal/cleanable/food/flour, -/turf/open/floor/concrete/slab_3, -/area/ship/crew/canteen) -"MQ" = ( -/obj/machinery/door/airlock/grunge, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/crew/toilet) -"MR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"MT" = ( -/obj/structure/marker_beacon, -/obj/effect/turf_decal/steeldecal, -/turf/open/floor/plasteel/tech/grid, -/area/ship/external) -"MV" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"MZ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, -/area/ship/cargo) -"Na" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/concrete/slab_1, -/area/ship/crew/canteen) -"Ne" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/cargo) -"Nk" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/siding/wood/end{ - color = "#543C30"; - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"Ny" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/cargo) -"NC" = ( -/obj/effect/turf_decal/steeldecal/steel_decals9, -/turf/open/floor/plasteel/tech/grid, -/area/ship/external) -"NF" = ( -/obj/effect/decal/cleanable/ash, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/sign/warning/chemdiamond{ - pixel_y = 32 - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"NK" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 5 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/carpet/blue, -/area/ship/bridge) -"NV" = ( -/obj/effect/turf_decal/siding/thinplating/dark/end{ - dir = 8 - }, -/obj/effect/decal/cleanable/oil/streak, -/obj/machinery/power/ship_gravity, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"Oe" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30" - }, -/turf/open/floor/concrete/tiles, -/area/ship/crew/hydroponics) -"On" = ( -/obj/structure/closet/wall/directional/west, -/obj/machinery/washing_machine, -/obj/item/clothing/suit/longcoat/chemist, -/obj/item/clothing/suit/longcoat/chemist, -/obj/item/clothing/under/rank/medical/chemist, -/obj/item/clothing/under/rank/medical/chemist, -/obj/item/clothing/under/rank/medical/chemist, -/obj/item/clothing/under/rank/medical/chemist, -/obj/item/clothing/under/rank/medical/chemist/skirt, -/obj/item/clothing/under/rank/medical/chemist/skirt, -/obj/item/clothing/under/rank/medical/chemist/skirt, -/obj/item/clothing/under/rank/medical/chemist/skirt, -/obj/item/clothing/shoes/sneakers/orange, -/obj/item/clothing/shoes/sneakers/orange, -/obj/item/clothing/shoes/sneakers/orange, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"Or" = ( -/obj/structure/closet/crate/wooden, -/obj/item/reagent_containers/glass/bucket, -/obj/item/pushbroom, -/obj/item/cultivator/rake, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"Ov" = ( -/obj/effect/turf_decal/corner/opaque/blue/border, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"OK" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering) -"OL" = ( -/obj/structure/rack, -/obj/structure/window/reinforced/spawner/east, -/obj/structure/window/reinforced/spawner/north, -/obj/effect/spawner/lootdrop/maintenance/four, -/obj/machinery/door/window/brigdoor/northright{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmlobby" - }, -/obj/effect/spawner/lootdrop/maintenance/four, -/turf/open/floor/wood/walnut, -/area/ship/cargo) -"OO" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/security) -"OV" = ( -/obj/structure/table/wood/poker, -/obj/item/toy/cards/deck/cas, -/obj/item/toy/cards/deck/cas/black{ - pixel_x = 5; - pixel_y = 10 - }, -/obj/item/storage/pill_bottle/dice{ - pixel_x = -5; - pixel_y = 10 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"Pj" = ( -/obj/effect/turf_decal/arrows/white, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 8; - id = "holopharm"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Pt" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/canteen) -"PG" = ( -/obj/structure/table/wood/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmstore" - }, -/turf/open/floor/light, -/area/ship/crew/canteen) -"PM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/concrete/slab_1, -/area/ship/crew/canteen) -"Qi" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"Qs" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 5 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"Qz" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "schmeidengine" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"QH" = ( -/obj/structure/curtain/cloth{ - pixel_y = -32 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"QO" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmwindows" - }, -/turf/open/floor/plating, -/area/ship/crew/toilet) -"Ra" = ( -/obj/structure/chair/comfy/shuttle, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 5 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"Rg" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "pharmairlock" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"RC" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "pharmbridge" - }, -/obj/machinery/door/airlock/command/glass{ - dir = 4; - name = "Bridge" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/bridge) -"RM" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/medical) -"RQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/button/door{ - dir = 4; - id = "pharmstore"; - name = "Storefront Shutters"; - pixel_x = -25 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 8 - }, -/turf/open/floor/concrete/slab_1, -/area/ship/crew/canteen) -"Sy" = ( -/obj/machinery/door/airlock{ - dir = 4; - id_tag = "pharmdoorlock" - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "pharmlobby" - }, -/obj/effect/turf_decal/trimline/opaque/green/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/green/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/crew/hydroponics) -"SF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/cargo) -"Td" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/decal/cleanable/oil/slippery, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"Te" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/cargo) -"TM" = ( -/obj/structure/curtain/cloth{ - pixel_y = -32 - }, -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/structure/curtain/bounty, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"Ug" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/vending/boozeomat, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen) -"Um" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 9 - }, -/obj/structure/chair/comfy/shuttle, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"UD" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew) -"UT" = ( -/obj/machinery/holopad/emergency/command, -/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/transparent/blue/filled/corner, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"UY" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/siding/wood/end{ - color = "#543C30"; - dir = 2 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"Vd" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) -"Vf" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Helm" - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating, -/turf/open/floor/carpet/blue, -/area/ship/bridge) -"Vh" = ( -/obj/structure/rack, -/obj/item/flashlight/glowstick/blue, -/obj/item/flashlight/glowstick/cyan, -/obj/item/storage/pill_bottle/floorpill, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"Vi" = ( -/obj/machinery/biogenerator, -/obj/effect/turf_decal/siding/wood/end{ - color = "#543C30"; - dir = 4 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"Vn" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6, -/obj/effect/turf_decal/steeldecal/steel_decals_central1, -/obj/effect/turf_decal/number/five, -/turf/open/floor/plasteel/tech/grid, -/area/ship/external) -"VM" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/turf_decal/siding/wood/corner{ - color = "#543C30"; - dir = 1 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 12 - }, -/turf/open/floor/concrete/tiles, -/area/ship/crew/hydroponics) -"VY" = ( -/obj/structure/rack, -/obj/structure/window/reinforced/spawner/east, -/obj/structure/window/reinforced/spawner, -/obj/machinery/door/window/brigdoor{ - dir = 8 - }, -/obj/item/storage/pill_bottle/zoom, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmlobby" - }, -/turf/open/floor/wood/walnut, -/area/ship/cargo) -"Wg" = ( -/turf/open/floor/concrete/slab_2, -/area/ship/crew/canteen) -"Wv" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) -"Wy" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmwindows" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"Wz" = ( -/obj/machinery/vending/snack, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"WP" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/advanced_airlock_controller{ - dir = 8; - pixel_x = 25 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"WT" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/stack/tile/carpet/nanoweave/beige, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/ship/crew/canteen) -"WY" = ( -/obj/structure/table, -/obj/structure/railing/wood{ - color = "#543C30" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"Xc" = ( -/obj/machinery/modular_computer/console/preset/command, -/obj/item/radio/intercom/wideband/directional/north, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"Xh" = ( -/obj/structure/sign/poster/contraband/hacking_guide{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"Xv" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/carpet/black, -/area/ship/security) -"Xy" = ( -/obj/structure/catwalk/over, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ship/engineering) -"XG" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/structure/rack, -/obj/machinery/door/window/brigdoor/northright{ - dir = 2 - }, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/window/reinforced/spawner/north, -/turf/open/floor/wood/walnut, -/area/ship/cargo) -"XH" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 5 - }, -/obj/structure/table/glass, -/obj/item/paper_bin{ - pixel_y = 5 - }, -/obj/item/pen{ - pixel_y = 7 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/medical) -"XR" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/hydroponics) -"XS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/cargo) -"Yc" = ( -/obj/machinery/door/poddoor/multi_tile/three_tile_hor{ - id = "pharmentrance" - }, -/obj/effect/turf_decal/arrows/white, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 4; - id = "holopharm"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Yh" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/mineral/titanium/white, -/area/ship/medical) -"Yk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/security) -"Ym" = ( -/obj/machinery/door/airlock/external/glass, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmairlock" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Yn" = ( -/obj/effect/turf_decal/number/zero, -/turf/open/floor/engine/hull, -/area/ship/external) -"Yp" = ( -/obj/machinery/vending/cigarette/beach, -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 5 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/cargo) -"Yr" = ( -/turf/open/floor/concrete/tiles, -/area/ship/crew/hydroponics) -"Yt" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/catwalk/over, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 11; - pixel_y = -16 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Yw" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmwindows" - }, -/turf/open/floor/mineral/titanium, -/area/ship/crew/hydroponics) -"Yx" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmwindows" - }, -/turf/open/floor/plating, -/area/ship/crew/hydroponics) -"YA" = ( -/obj/structure/table/wood/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmstore" - }, -/obj/item/table_bell, -/turf/open/floor/light, -/area/ship/crew/canteen) -"YD" = ( -/obj/structure/chair/stool/bar, -/obj/effect/turf_decal/siding/wood{ - color = "#543C30"; - dir = 5 - }, -/turf/open/floor/wood/walnut, -/area/ship/cargo) -"YR" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/autolathe, -/obj/effect/turf_decal/siding/thinplating{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/security) -"YU" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen) -"YV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/security) -"Zc" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing{ - dir = 8; - pixel_x = -1 - }, -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/effect/turf_decal/siding/thinplating/dark/end{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/valve/digital/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"Zf" = ( -/obj/machinery/button/door{ - dir = 4; - id = "pharmboothlock"; - name = "Lockdown: Booth"; - pixel_x = -24; - pixel_y = 11 - }, -/obj/structure/chair/comfy/beige{ - dir = 4 - }, -/obj/machinery/button/door{ - dir = 4; - id = "pharmdoorlock"; - name = "Anti-Tresspassing Bolts"; - normaldoorcontrol = 1; - pixel_x = -24; - specialfunctions = 4 - }, -/obj/machinery/button/door{ - dir = 4; - id = "pharmlobby"; - name = "Lockdown: Lobby"; - pixel_x = -24; - pixel_y = -11 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/black, -/area/ship/security) -"Zt" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, -/area/ship/engineering) -"ZA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"ZE" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/item/stock_parts/micro_laser, -/obj/item/stock_parts/manipulator, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/medical) -"ZF" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, -/area/ship/crew/hydroponics) -"ZO" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmboothlock" - }, -/turf/open/floor/wood/walnut, -/area/ship/security) -"ZP" = ( -/obj/machinery/smartfridge/chemistry/preloaded, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/medical) -"ZQ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plating, -/area/ship/security) -"ZU" = ( -/obj/docking_port/mobile{ - callTime = 250; - dir = 2; - launch_status = 0; - name = "Pharmacology Ship"; - port_direction = 8; - preferred_direction = 4 - }, -/obj/effect/turf_decal/arrows/white, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"ZX" = ( -/obj/machinery/door/window/eastright{ - dir = 1 - }, -/obj/structure/closet/secure_closet/wall/directional/east{ - icon_state = "solgov_wall"; - name = "Chief Pharmacist's Locker"; - req_access_txt = "40" - }, -/obj/item/storage/bag/medical, -/obj/item/autosurgeon/cmo, -/obj/item/storage/belt/medical/webbing, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 6 - }, -/obj/item/storage/box/hypospray/CMO, -/obj/item/clothing/suit/longcoat/chemist, -/obj/item/clothing/head/beret/chem, -/obj/item/clothing/neck/cloak/cmo, -/obj/item/cartridge/cmo, -/obj/item/healthanalyzer/advanced, -/obj/item/clothing/gloves/color/latex/nitrile, -/obj/item/assembly/flash/handheld, -/obj/item/door_remote/chief_medical_officer, -/obj/item/pet_carrier, -/obj/item/areaeditor/shuttle, -/obj/item/clothing/shoes/sneakers/orange, -/obj/item/reagent_containers/glass/bottle/vial/large, -/obj/item/reagent_containers/glass/bottle/vial/large, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) - -(1,1,1) = {" -xJ -xJ -xJ -xJ -Fz -su -YV -zT -Wv -Qz -Wv -Qz -Wv -Wv -fz -xJ -xJ -xJ -"} -(2,1,1) = {" -xJ -xJ -xJ -Fz -OO -OO -Yk -gt -Wv -lB -sw -om -Ld -Wv -Wv -Rg -Wv -xJ -"} -(3,1,1) = {" -xJ -xJ -xJ -OO -Df -OO -mu -np -Wv -As -Zc -mx -ZA -Ym -WP -tK -KW -xJ -"} -(4,1,1) = {" -xJ -xJ -Fz -OO -Xv -ZO -BT -az -Bp -rj -rr -Ay -bH -Wv -Wv -AJ -Wv -xJ -"} -(5,1,1) = {" -xJ -xJ -gT -Zf -Cb -OO -YR -ZQ -OO -oW -NV -bu -Xy -cN -cY -IE -tR -xJ -"} -(6,1,1) = {" -xJ -rU -Vd -zW -hN -OO -GY -rH -de -OK -Td -wh -LK -uB -Wv -Zt -Wv -fz -"} -(7,1,1) = {" -xJ -LC -Yp -Ln -bm -OO -OO -xR -OO -cp -gl -Yt -Wv -Wv -Wv -xT -YU -YU -"} -(8,1,1) = {" -xJ -Yc -fu -MR -LS -fd -dt -yt -Vd -Wv -eY -rC -Wv -aO -kc -Pt -EV -YU -"} -(9,1,1) = {" -Iz -ZU -wG -Hx -Ov -au -zq -Ne -ht -YU -YU -YU -YU -MP -Bg -WT -KO -oK -"} -(10,1,1) = {" -xJ -Pj -Mf -fP -Fe -DL -oX -rE -xi -pY -RQ -AA -nO -kL -PM -fb -Hy -oK -"} -(11,1,1) = {" -xJ -pl -ly -hp -iX -Vd -bD -Ne -kF -YA -lW -wQ -Wg -yj -CD -va -ng -YU -"} -(12,1,1) = {" -xJ -Vd -Vd -Vd -Vd -Vd -XG -Ne -Ab -PG -yj -qU -fq -tB -WY -dF -YU -YU -"} -(13,1,1) = {" -xJ -FA -Vd -yB -Wz -zI -bL -XS -il -PG -vM -jQ -YU -YU -Ug -tG -YU -Vn -"} -(14,1,1) = {" -xJ -qB -Wy -hw -SF -mO -Te -Ny -YD -gO -Na -Vh -YU -qV -vt -CV -oK -Yn -"} -(15,1,1) = {" -xJ -NC -Vd -Vd -JX -qa -MZ -OL -VY -YU -YU -YU -HE -KS -jg -HE -HE -pd -"} -(16,1,1) = {" -xJ -xJ -KU -XR -XR -XR -Sy -XR -XR -HE -ay -vL -hX -rX -CX -HE -Ga -xJ -"} -(17,1,1) = {" -xJ -xJ -kp -XR -nz -XR -ZF -XR -kt -HE -dU -jG -vm -to -rp -DO -MT -xJ -"} -(18,1,1) = {" -xJ -xJ -xJ -Yx -ca -VM -JS -oc -kC -ZP -MV -Lv -fY -qD -dr -DO -xJ -xJ -"} -(19,1,1) = {" -xJ -xJ -xJ -Yx -aQ -oa -Nk -UY -aE -Ej -nL -ZE -ts -EX -lE -DO -xJ -xJ -"} -(20,1,1) = {" -xJ -xJ -xJ -XR -At -fO -Yr -Mb -Oe -is -nK -XH -bX -kV -cr -HE -xJ -xJ -"} -(21,1,1) = {" -xJ -xJ -xJ -pB -XR -AU -Yr -CI -tm -HE -NF -IZ -Yh -dX -HE -RM -xJ -xJ -"} -(22,1,1) = {" -xJ -xJ -xJ -xJ -XR -Or -oa -Vi -wW -HE -He -IW -aD -tj -HE -xJ -xJ -xJ -"} -(23,1,1) = {" -xJ -xJ -xJ -xJ -XR -hg -Yr -kf -xr -UD -UD -mC -UD -UD -UD -xJ -xJ -xJ -"} -(24,1,1) = {" -xJ -xJ -xJ -xJ -Yw -hg -nl -wD -iJ -UD -On -eC -oT -TM -ha -xJ -xJ -xJ -"} -(25,1,1) = {" -xJ -xJ -xJ -xJ -XR -Qs -My -yv -UD -UD -Md -IR -Qi -fM -UD -xJ -xJ -xJ -"} -(26,1,1) = {" -xJ -xJ -xJ -xJ -pB -LJ -LJ -LJ -LJ -xg -bj -vS -Xh -UD -jB -xJ -xJ -xJ -"} -(27,1,1) = {" -xJ -xJ -xJ -xJ -xJ -LJ -bl -xn -LJ -qj -OV -HB -xc -UD -xJ -xJ -xJ -xJ -"} -(28,1,1) = {" -xJ -xJ -xJ -xJ -xJ -QO -gz -mH -MQ -BY -fS -KK -QH -ha -xJ -xJ -xJ -xJ -"} -(29,1,1) = {" -xJ -xJ -xJ -xJ -xJ -LJ -FB -LJ -LJ -RC -mv -mv -sB -UD -xJ -xJ -xJ -xJ -"} -(30,1,1) = {" -xJ -xJ -xJ -xJ -xJ -Dp -LJ -LJ -CK -HK -wz -mv -mv -jB -xJ -xJ -xJ -xJ -"} -(31,1,1) = {" -xJ -xJ -xJ -xJ -xJ -xJ -bq -Um -AR -mq -iS -iN -bq -xJ -xJ -xJ -xJ -xJ -"} -(32,1,1) = {" -xJ -xJ -xJ -xJ -xJ -xJ -bq -Ra -xp -UT -aT -ZX -bq -xJ -xJ -xJ -xJ -xJ -"} -(33,1,1) = {" -xJ -xJ -xJ -xJ -xJ -xJ -IT -mv -NK -eu -Fl -mv -IT -xJ -xJ -xJ -xJ -xJ -"} -(34,1,1) = {" -xJ -xJ -xJ -xJ -xJ -xJ -xJ -IT -Xc -Vf -ka -IT -xJ -xJ -xJ -xJ -xJ -xJ -"} -(35,1,1) = {" -xJ -xJ -xJ -xJ -xJ -xJ -xJ -IT -bq -nw -bq -IT -xJ -xJ -xJ -xJ -xJ -xJ -"} -(36,1,1) = {" -xJ -xJ -xJ -xJ -xJ -xJ -xJ -xJ -md -md -md -xJ -xJ -xJ -xJ -xJ -xJ -xJ -"} diff --git a/_maps/shuttles/independent/independent_shetland.dmm b/_maps/shuttles/independent/independent_shetland.dmm index 13599cc298c..5bf61b3cf32 100644 --- a/_maps/shuttles/independent/independent_shetland.dmm +++ b/_maps/shuttles/independent/independent_shetland.dmm @@ -2,6 +2,9 @@ "ae" = ( /obj/effect/turf_decal/industrial/warning, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/port) "ah" = ( @@ -71,22 +74,24 @@ /turf/open/floor/plasteel/patterned, /area/ship/crew/janitor) "aH" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 1 - }, /obj/item/radio/intercom/directional/south, /obj/machinery/photocopier, +/obj/effect/turf_decal/techfloor, /turf/open/floor/plasteel/dark, /area/ship/bridge) "aI" = ( /turf/closed/wall, /area/ship/crew/toilet) "aR" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half, /obj/item/cutting_board, -/obj/item/kitchen/knife, +/obj/item/melee/knife/kitchen, /obj/structure/table/reinforced, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/turf/open/floor/plasteel, /area/ship/crew/canteen) "aS" = ( /turf/closed/wall/r_wall/rust, @@ -131,12 +136,19 @@ dir = 4 }, /obj/item/radio/intercom/directional/south, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/dark, /area/ship/engineering) "bm" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/layer_manifold, /turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/port) "bv" = ( @@ -169,6 +181,7 @@ dir = 4 }, /obj/structure/catwalk/over/plated_catwalk, +/obj/structure/chair/handrail, /turf/open/floor/plating, /area/ship/hallway/fore) "bD" = ( @@ -176,6 +189,9 @@ /obj/effect/turf_decal/corner/transparent/brown/diagonal, /obj/machinery/firealarm/directional/east, /obj/effect/decal/cleanable/glass, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 4 + }, /turf/open/floor/plasteel, /area/ship/crew/canteen) "bM" = ( @@ -244,7 +260,7 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "cD" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ @@ -327,15 +343,15 @@ /obj/structure/cable{ icon_state = "2-5" }, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer1{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/dark/visible{ - dir = 9 - }, /obj/structure/cable{ icon_state = "5-9" }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 1 + }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "cR" = ( @@ -377,6 +393,9 @@ }, /obj/machinery/atmospherics/pipe/simple/cyan/visible/layer5, /obj/item/radio/intercom/directional/east, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "dl" = ( @@ -419,6 +438,7 @@ pixel_x = -20; pixel_y = 5 }, +/obj/effect/turf_decal/industrial/warning, /turf/open/floor/plating, /area/ship/engineering/electrical) "dT" = ( @@ -429,15 +449,13 @@ /area/ship/external/dark) "ea" = ( /obj/structure/closet/emcloset, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 1 - }, /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable{ icon_state = "0-1" }, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/opaque/black/half, +/turf/open/floor/plasteel, /area/ship/hallway/starboard) "ec" = ( /obj/structure/chair/sofa/brown/left/directional/south, @@ -458,6 +476,7 @@ /obj/effect/decal/cleanable/cobweb, /obj/item/trash/candy, /obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/cockroach, /turf/open/floor/plating, /area/ship/engineering/electrical) "en" = ( @@ -472,6 +491,7 @@ /obj/machinery/door/firedoor/border_only{ dir = 8 }, +/obj/effect/turf_decal/industrial/warning/fulltile, /turf/open/floor/plasteel/dark, /area/ship/bridge) "es" = ( @@ -509,7 +529,7 @@ "ez" = ( /obj/effect/landmark/start/shaft_miner, /obj/machinery/computer/helm/viewscreen/directional/east, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "eC" = ( /obj/machinery/suit_storage_unit/inherit/industrial, @@ -574,15 +594,15 @@ /turf/open/floor/plasteel/grimy, /area/ship/crew/dorm) "ft" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 8 - }, /obj/effect/turf_decal/industrial/outline/yellow, /obj/structure/table/reinforced, /obj/item/megaphone/command{ pixel_x = 10 }, /obj/machinery/recharger, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "fu" = ( @@ -697,6 +717,9 @@ dir = 9 }, /obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel, /area/ship/hallway/starboard) "gc" = ( @@ -716,11 +739,13 @@ /turf/open/floor/plasteel/patterned, /area/ship/crew/janitor) "gd" = ( -/obj/machinery/vending/snack/random, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 4 +/obj/effect/spawner/random/vending/snack, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 8 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel, /area/ship/crew/canteen) "gk" = ( /obj/machinery/door/airlock/public/glass{ @@ -761,6 +786,10 @@ "gt" = ( /obj/machinery/light/directional/south, /obj/effect/decal/cleanable/dirt, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor, /turf/open/floor/plasteel/dark, /area/ship/hallway/fore) "gF" = ( @@ -801,6 +830,9 @@ /obj/structure/cable{ icon_state = "8-10" }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/fore) "gO" = ( @@ -835,7 +867,6 @@ /area/ship/hallway/fore) "hp" = ( /obj/structure/table, -/obj/machinery/computer/cryopod/directional/west, /obj/machinery/newscaster/directional/south, /obj/item/cigbutt{ pixel_x = -10; @@ -843,6 +874,7 @@ }, /obj/item/cigbutt, /obj/item/reagent_containers/food/snacks/chips, +/obj/machinery/computer/cryopod/retro/directional/west, /turf/open/floor/plasteel/tech/grid, /area/ship/crew/cryo) "hv" = ( @@ -930,29 +962,32 @@ /obj/machinery/atmospherics/pipe/simple/cyan/visible/layer5{ dir = 5 }, -/obj/structure/cable/yellow{ - icon_state = "4-10" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer1{ - dir = 6 +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/dark/visible{ dir = 10 }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer1{ + dir = 6 + }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "ib" = ( -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ - dir = 4 - }, /obj/structure/table/reinforced, /obj/machinery/fax/indie, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "if" = ( @@ -977,6 +1012,7 @@ dir = 8 }, /obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/chair/handrail, /turf/open/floor/plasteel, /area/ship/hallway/port) "is" = ( @@ -984,7 +1020,7 @@ /obj/effect/turf_decal/corner/transparent/beige/full, /obj/effect/turf_decal/corner/transparent/brown/diagonal, /obj/item/toy/redbutton, -/obj/item/kitchen/knife/plastic, +/obj/item/melee/knife/plastic, /obj/item/kitchen/fork/plastic{ pixel_x = 5 }, @@ -1070,6 +1106,9 @@ /obj/effect/turf_decal/corner/transparent/beige/full, /obj/effect/turf_decal/corner/transparent/brown/diagonal, /obj/item/radio/intercom/directional/east, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel, /area/ship/crew/canteen) "jj" = ( @@ -1121,6 +1160,7 @@ /obj/effect/turf_decal/corner/opaque/bottlegreen/full, /obj/machinery/firealarm/directional/west, /obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/cockroach, /turf/open/floor/plasteel/dark, /area/ship/security) "jC" = ( @@ -1176,7 +1216,7 @@ /obj/structure/cable{ icon_state = "0-1" }, -/turf/open/floor/engine/hull/interior, +/turf/open/floor/plasteel/patterned/ridged, /area/ship/cargo) "jY" = ( /turf/closed/wall, @@ -1207,6 +1247,8 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, +/obj/effect/turf_decal/corner_techfloor_grid, +/obj/effect/turf_decal/techfloor/corner, /turf/open/floor/plasteel/dark, /area/ship/hallway/fore) "kf" = ( @@ -1227,6 +1269,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/structure/chair/handrail, /turf/open/floor/plating, /area/ship/hallway/starboard) "ki" = ( @@ -1235,6 +1278,9 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel, /area/ship/hallway/port) "kt" = ( @@ -1336,6 +1382,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 9 }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /turf/open/floor/plating, /area/ship/engineering/engine) "lu" = ( @@ -1368,6 +1417,10 @@ }, /turf/open/floor/carpet/blue, /area/ship/bridge) +"lM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/ship/hallway/central) "lU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/oxygen_output{ dir = 1 @@ -1455,7 +1508,7 @@ }, /obj/machinery/button/door{ dir = 1; - id = "amogusthrusters"; + id = "shetportthrusters"; name = "Thruster Lockdown"; pixel_y = -21 }, @@ -1491,7 +1544,6 @@ /area/ship/hallway/aft) "mZ" = ( /obj/structure/closet/emcloset, -/obj/effect/turf_decal/corner/opaque/neutral/half, /obj/machinery/atmospherics/pipe/simple/green/hidden{ dir = 9 }, @@ -1500,7 +1552,10 @@ /obj/structure/cable{ icon_state = "0-10" }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/turf/open/floor/plasteel, /area/ship/hallway/port) "nc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -1513,7 +1568,7 @@ /obj/item/kitchen/fork/plastic{ pixel_x = 5 }, -/obj/item/kitchen/knife/plastic, +/obj/item/melee/knife/plastic, /turf/open/floor/plasteel, /area/ship/crew/canteen) "nt" = ( @@ -1551,7 +1606,6 @@ /turf/open/floor/plasteel/patterned, /area/ship/crew/janitor) "nU" = ( -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters, /obj/item/kirbyplants/fullysynthetic, /obj/machinery/firealarm/directional/north, /obj/item/cigbutt{ @@ -1580,7 +1634,15 @@ /obj/machinery/advanced_airlock_controller{ pixel_x = -25 }, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer4, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 1 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/port) "of" = ( @@ -1588,12 +1650,12 @@ /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - name = "Air to Distro" - }, /obj/machinery/atmospherics/pipe/simple/dark/visible/layer1{ dir = 4 }, +/obj/machinery/atmospherics/components/binary/pump/layer2{ + name = "Air To Distro" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering) "on" = ( @@ -1630,13 +1692,13 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "oB" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 8 - }, /obj/effect/turf_decal/industrial/outline/yellow, /obj/machinery/computer/crew/retro{ dir = 8 }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "oE" = ( @@ -1678,7 +1740,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, +/turf/open/floor/plasteel, /area/ship/hallway/central) "oV" = ( /turf/closed/wall/r_wall/rust/yesdiag, @@ -1715,6 +1777,9 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/fore) "ph" = ( @@ -1736,6 +1801,7 @@ dir = 1 }, /obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/dark, /area/ship/cargo) "pr" = ( @@ -1748,6 +1814,7 @@ dir = 1 }, /obj/effect/decal/cleanable/vomit/old, +/mob/living/simple_animal/hostile/cockroach, /turf/open/floor/plasteel/patterned, /area/ship/crew/toilet) "pI" = ( @@ -1808,13 +1875,13 @@ req_access_txt = "1"; req_ship_access = 1 }, -/obj/item/clothing/suit/armor/vest/old, -/obj/item/clothing/suit/armor/vest/old, /obj/item/clothing/head/helmet, /obj/effect/turf_decal/box, /obj/item/clothing/glasses/cheapsuns, /obj/item/melee/classic_baton, /obj/effect/decal/cleanable/dirt, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/suit/armor/vest, /turf/open/floor/plasteel/dark, /area/ship/security) "pX" = ( @@ -1829,9 +1896,13 @@ /area/ship/maintenance/port) "pY" = ( /obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/layer2{ - dir = 1 +/obj/structure/chair/handrail{ + dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2, /turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/starboard) "qa" = ( @@ -1841,7 +1912,9 @@ "qb" = ( /obj/structure/crate_shelf, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/effect/turf_decal/box, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "qg" = ( /obj/structure/closet/secure_closet/engineering_personal{ @@ -1895,20 +1968,19 @@ /obj/machinery/atmospherics/pipe/simple/dark/visible{ dir = 4 }, -/obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ship/engineering/engine) "ql" = ( /obj/item/kirbyplants/fullysynthetic, -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ - dir = 1 - }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 4 + }, +/turf/open/floor/plasteel, /area/ship/hallway/central) "qB" = ( /obj/structure/bed, @@ -1931,6 +2003,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel, /area/ship/hallway/central) "qM" = ( @@ -1984,10 +2059,10 @@ /obj/machinery/light_switch{ pixel_y = 23 }, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 8 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel, /area/ship/hallway/central) "rc" = ( /obj/machinery/door/airlock/medical/glass{ @@ -2042,7 +2117,7 @@ /turf/open/floor/plating, /area/ship/hallway/starboard) "ru" = ( -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /obj/item/clothing/suit/apron/surgical, /obj/structure/table/chem, /obj/structure/sink/chem{ @@ -2094,8 +2169,10 @@ /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/item/radio/intercom/directional/east, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/starboard) "rL" = ( @@ -2145,16 +2222,19 @@ /obj/structure/cable{ icon_state = "1-6" }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "sb" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 8 - }, /obj/effect/turf_decal/industrial/outline/yellow, /obj/machinery/computer/helm/retro{ dir = 8 }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "sc" = ( @@ -2180,12 +2260,18 @@ /area/ship/hallway/starboard) "sq" = ( /obj/effect/turf_decal/industrial/warning, -/obj/machinery/autolathe, /obj/effect/turf_decal/box, /obj/structure/cable{ icon_state = "2-9" }, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/obj/structure/rack, +/obj/item/storage/bag/ore, +/obj/item/mining_scanner, +/obj/item/pickaxe, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "su" = ( /obj/structure/disposalpipe/segment, @@ -2215,12 +2301,6 @@ /obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ship/hallway/fore) -"sV" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) "sX" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -2247,7 +2327,7 @@ pixel_y = 5 }, /obj/machinery/button/door{ - id = "amogusthrusters"; + id = "shetstarboardengine"; name = "Thruster Lockdown"; pixel_y = 24 }, @@ -2299,9 +2379,6 @@ "tU" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, /turf/open/floor/plating, /area/ship/engineering/engine) "tX" = ( @@ -2418,15 +2495,22 @@ pixel_y = 5 }, /obj/machinery/atmospherics/pipe/simple/dark/visible/layer1, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/aft) "uM" = ( /obj/machinery/advanced_airlock_controller{ pixel_x = -25 }, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer4{ - dir = 1 +/obj/structure/chair/handrail{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2, /turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/starboard) "uO" = ( @@ -2450,6 +2534,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/chair/handrail, /turf/open/floor/plasteel, /area/ship/hallway/starboard) "va" = ( @@ -2465,6 +2550,12 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/fore) "vk" = ( @@ -2474,11 +2565,13 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "vt" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half, /obj/structure/closet/emcloset, /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/fore) "vw" = ( @@ -2528,6 +2621,12 @@ }, /turf/open/floor/plasteel/dark, /area/ship/hallway/fore) +"vL" = ( +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/central) "vN" = ( /obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable/yellow{ @@ -2559,6 +2658,9 @@ "vV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/item/kirbyplants/fullysynthetic, +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, /turf/open/floor/carpet/blue, /area/ship/bridge) "vX" = ( @@ -2584,6 +2686,9 @@ /obj/structure/cable{ icon_state = "6-10" }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "wt" = ( @@ -2594,7 +2699,6 @@ pixel_x = -15; pixel_y = 21 }, -/obj/effect/turf_decal/corner/opaque/neutral/half, /obj/item/radio/intercom/directional/north, /obj/item/spacecash/bundle/c1000{ pixel_x = 4; @@ -2603,14 +2707,14 @@ /obj/item/phone{ pixel_y = -4 }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "wz" = ( /obj/machinery/light/small/directional/north, /obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ - dir = 1 - }, /obj/item/reagent_containers/food/drinks/bottle/tequila{ pixel_x = 10; pixel_y = 11 @@ -2622,13 +2726,15 @@ /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ pixel_y = 5 }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "wK" = ( /obj/structure/chair/plastic{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, @@ -2636,7 +2742,10 @@ /obj/machinery/camera/autoname{ dir = 4 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel, /area/ship/hallway/central) "wM" = ( /obj/structure/railing, @@ -2663,7 +2772,6 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "wQ" = ( -/obj/structure/catwalk/over/plated_catwalk, /obj/machinery/firealarm/directional/north, /obj/structure/cable{ icon_state = "4-8" @@ -2671,9 +2779,10 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, +/obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ship/hallway/central) "wT" = ( @@ -2685,7 +2794,13 @@ }, /obj/machinery/door/poddoor{ dir = 4; - id = "amogusthrusters" + id = "shetstarboardengine" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 }, /turf/open/floor/plating, /area/ship/maintenance/starboard) @@ -2696,9 +2811,6 @@ /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "wW" = ( -/obj/structure/cable/yellow{ - icon_state = "1-6" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 }, @@ -2708,6 +2820,12 @@ /obj/machinery/atmospherics/pipe/simple/dark/visible{ dir = 4 }, +/obj/structure/cable/yellow{ + icon_state = "1-5" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, /turf/open/floor/plating, /area/ship/engineering/engine) "xd" = ( @@ -2741,13 +2859,15 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "xs" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half, /obj/machinery/atmospherics/pipe/simple/green/hidden{ dir = 8 }, /obj/item/kirbyplants/fullysynthetic, /obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/turf/open/floor/plasteel, /area/ship/hallway/port) "xu" = ( /obj/effect/turf_decal/corner/transparent/beige/full, @@ -2764,6 +2884,9 @@ pixel_x = 20; pixel_y = 5 }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 4 + }, /turf/open/floor/plasteel, /area/ship/crew/canteen) "xx" = ( @@ -2778,27 +2901,34 @@ /turf/open/floor/plasteel/dark, /area/ship/engineering/atmospherics) "xz" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half, /obj/structure/table/reinforced, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ pixel_x = -4; pixel_y = 10 }, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ pixel_x = 4; pixel_y = 10 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/turf/open/floor/plasteel, /area/ship/crew/canteen) "xO" = ( /obj/machinery/microwave, -/obj/effect/turf_decal/corner/opaque/neutral/half, /obj/structure/table/reinforced, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/turf/open/floor/plasteel, /area/ship/crew/canteen) "xT" = ( /obj/structure/closet/emcloset, -/obj/effect/turf_decal/corner/opaque/neutral/half, /obj/machinery/airalarm/directional/north, /turf/open/floor/plasteel/dark, /area/ship/hallway/fore) @@ -2822,6 +2952,9 @@ /obj/structure/cable{ icon_state = "2-5" }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "yg" = ( @@ -2908,7 +3041,6 @@ /turf/open/floor/plasteel/freezer, /area/ship/medical) "yO" = ( -/obj/structure/catwalk/over/plated_catwalk, /obj/machinery/light/dim/directional/north, /obj/structure/cable{ icon_state = "8-10" @@ -2916,12 +3048,14 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/structure/chair/handrail, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ship/hallway/central) "yP" = ( @@ -2935,9 +3069,6 @@ pixel_x = -23; pixel_y = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, /turf/open/floor/plating, /area/ship/engineering/engine) "yU" = ( @@ -2962,9 +3093,16 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/random{ + pixel_x = -32; + pixel_y = 0 + }, /turf/open/floor/plasteel/grimy, /area/ship/security) "yY" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/fore) "yZ" = ( @@ -3026,11 +3164,13 @@ /turf/open/floor/plating, /area/ship/hallway/port) "zr" = ( -/obj/machinery/vending/cola/random, -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ +/obj/effect/spawner/random/vending/cola, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/effect/turf_decal/corner/opaque/black{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel, /area/ship/crew/canteen) "zy" = ( /obj/effect/turf_decal/box, @@ -3105,7 +3245,8 @@ /obj/effect/turf_decal/box, /obj/item/tank/internals/oxygen/red, /obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Ab" = ( /obj/structure/catwalk/over/plated_catwalk/dark, @@ -3128,15 +3269,6 @@ /obj/effect/turf_decal/number/zero{ dir = 8 }, -/obj/structure/cable/yellow{ - icon_state = "5-9" - }, -/obj/structure/cable/yellow{ - icon_state = "5-10" - }, -/obj/machinery/atmospherics/pipe/layer_manifold/visible{ - dir = 4 - }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "Aj" = ( @@ -3160,7 +3292,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, +/turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Ax" = ( /obj/structure/table/wood, @@ -3349,7 +3481,15 @@ /area/ship/hallway/fore) "CF" = ( /obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/layer2, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 1 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/port) "CH" = ( @@ -3368,10 +3508,14 @@ /obj/structure/closet/secure_closet/freezer/fridge{ populate = 0 }, -/obj/effect/turf_decal/corner/opaque/neutral/half, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/sugar, -/turf/open/floor/plasteel/dark, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/sugar, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/turf/open/floor/plasteel, /area/ship/crew/canteen) "CK" = ( /obj/structure/cable{ @@ -3403,7 +3547,7 @@ req_access_txt = "1"; req_ship_access = 1 }, -/obj/item/ammo_box/c38_box, +/obj/item/storage/box/ammo/c38, /obj/effect/turf_decal/box, /obj/item/ammo_box/c38, /obj/item/ammo_box/c38, @@ -3412,13 +3556,13 @@ /area/ship/security) "Dd" = ( /obj/effect/turf_decal/industrial/warning, -/obj/structure/rack, -/obj/item/storage/bag/ore, -/obj/item/mining_scanner, -/obj/item/pickaxe, /obj/effect/turf_decal/box, /obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/autolathe, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Dm" = ( /obj/machinery/cryopod{ @@ -3459,6 +3603,7 @@ /obj/structure/cable{ icon_state = "2-9" }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/dark, /area/ship/cargo) "DD" = ( @@ -3550,6 +3695,7 @@ }, /obj/item/radio/intercom/directional/north, /obj/effect/decal/cleanable/dirt, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/dark, /area/ship/engineering/atmospherics) "EA" = ( @@ -3587,6 +3733,10 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, +/obj/effect/turf_decal/corner_techfloor_grid, +/obj/effect/turf_decal/techfloor/corner{ + dir = 3 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/fore) "EJ" = ( @@ -3601,16 +3751,16 @@ /area/ship/maintenance/port) "EM" = ( /obj/structure/closet/crate/bin, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 8 - }, /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable{ icon_state = "0-8" }, /obj/effect/decal/cleanable/generic, /obj/item/cigbutt, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 4 + }, +/turf/open/floor/plasteel, /area/ship/hallway/central) "EN" = ( /obj/structure/cable{ @@ -3635,6 +3785,10 @@ /area/ship/crew/janitor) "ER" = ( /obj/effect/turf_decal/industrial/warning, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/layer_manifold, /turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/starboard) "EX" = ( @@ -3647,6 +3801,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/chair/handrail, /turf/open/floor/plasteel, /area/ship/hallway/central) "FE" = ( @@ -3676,7 +3831,7 @@ id = "amogusdoors"; name = "Cargo Bay Blast Door" }, -/turf/open/floor/engine/hull/interior, +/turf/open/floor/plasteel/patterned/ridged, /area/ship/cargo) "Gg" = ( /obj/machinery/light/dim/directional/south, @@ -3703,19 +3858,23 @@ /obj/item/clothing/gloves/color/black, /obj/item/clothing/head/hardhat/mining, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Gt" = ( -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/simple/green/hidden{ dir = 8 }, /obj/structure/sign/warning/vacuum/external{ pixel_y = 24 }, -/turf/open/floor/plasteel/dark, +/obj/structure/chair/handrail, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 4 + }, +/turf/open/floor/plasteel, /area/ship/hallway/port) "Gw" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrogen_output{ @@ -3849,7 +4008,6 @@ /area/ship/engineering/engine) "Hi" = ( /obj/structure/closet/crate/bin, -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters, /obj/item/trash/can/food/beans, /obj/item/trash/chips, /obj/machinery/firealarm/directional/north, @@ -3860,7 +4018,12 @@ }, /obj/effect/decal/cleanable/generic, /obj/item/cigbutt, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel, /area/ship/crew/canteen) "Hl" = ( /obj/structure/catwalk/over/plated_catwalk/dark, @@ -3977,16 +4140,18 @@ /obj/machinery/power/terminal{ dir = 1 }, +/obj/effect/turf_decal/industrial/warning, /turf/open/floor/plating, /area/ship/engineering/electrical) "IE" = ( -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ - dir = 4 - }, /obj/structure/sign/warning/vacuum/external{ pixel_y = -21 }, -/turf/open/floor/plasteel/dark, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/black, +/turf/open/floor/plasteel, /area/ship/hallway/starboard) "IJ" = ( /obj/machinery/atmospherics/components/trinary/mixer/airmix{ @@ -4120,6 +4285,9 @@ /obj/machinery/atmospherics/pipe/simple/dark/visible/layer1{ dir = 9 }, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/aft) "JQ" = ( @@ -4159,6 +4327,7 @@ icon_state = "5-9" }, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/techfloor, /turf/open/floor/plasteel/dark, /area/ship/hallway/fore) "Ki" = ( @@ -4198,6 +4367,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, /turf/open/floor/plating, /area/ship/hallway/central) "Kq" = ( @@ -4235,9 +4407,6 @@ /area/ship/engineering) "KS" = ( /obj/structure/closet/crate/bin, -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ - dir = 4 - }, /obj/item/trash/candy, /obj/machinery/airalarm/directional/east, /obj/machinery/light_switch{ @@ -4245,7 +4414,12 @@ pixel_y = -20 }, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 7 + }, +/turf/open/floor/plasteel, /area/ship/crew/canteen) "KZ" = ( /obj/structure/noticeboard{ @@ -4264,6 +4438,17 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/engine/vacuum, /area/ship/engineering/engine) +"Li" = ( +/obj/structure/bed, +/obj/structure/curtain/bounty, +/obj/effect/spawner/random/bedsheet, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/random{ + pixel_x = -32; + pixel_y = 0 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) "Ll" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -4321,7 +4506,13 @@ }, /obj/machinery/door/poddoor{ dir = 4; - id = "amogusthrusters" + id = "shetportthrusters" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 }, /turf/open/floor/plating, /area/ship/maintenance/port) @@ -4406,9 +4597,6 @@ pixel_x = -4; pixel_y = 10 }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, /turf/open/floor/engine/vacuum, /area/ship/engineering/engine) "LQ" = ( @@ -4444,6 +4632,10 @@ /obj/effect/turf_decal/industrial/warning/fulltile, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) +"Mf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "Mk" = ( /obj/structure/table/wood, /obj/structure/bedsheetbin, @@ -4451,6 +4643,14 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/plasteel/grimy, /area/ship/crew/dorm) +"Ml" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/starboard) "Mr" = ( /obj/structure/window/reinforced/fulltile, /obj/structure/grille, @@ -4480,9 +4680,13 @@ /area/ship/engineering/electrical) "ME" = ( /obj/machinery/vending/coffee, -/obj/effect/turf_decal/corner/opaque/neutral/half, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/turf/open/floor/plasteel, /area/ship/crew/canteen) "MF" = ( /turf/closed/wall/r_wall/yesdiag, @@ -4529,18 +4733,16 @@ "MS" = ( /obj/structure/bed, /obj/structure/curtain/bounty, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/plasteel/grimy, /area/ship/crew/dorm) "MT" = ( /obj/structure/cable{ icon_state = "5-6" }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel, /area/ship/hallway/central) -"MV" = ( -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) "Na" = ( /turf/closed/wall/rust, /area/ship/crew/canteen) @@ -4555,13 +4757,17 @@ "Ne" = ( /obj/structure/crate_shelf, /obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "Ni" = ( /obj/structure/bed, /obj/structure/curtain/bounty, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, /turf/open/floor/plasteel/grimy, /area/ship/crew/dorm) "Nl" = ( @@ -4620,6 +4826,7 @@ /obj/structure/cable{ icon_state = "4-8" }, +/mob/living/simple_animal/hostile/cockroach, /turf/open/floor/plating, /area/ship/engineering/engine) "NR" = ( @@ -4648,7 +4855,7 @@ "Ok" = ( /obj/structure/bed, /obj/structure/curtain/bounty, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, @@ -4732,6 +4939,10 @@ /obj/item/multitool, /obj/item/clothing/glasses/welding, /obj/item/clothing/glasses/welding, +/obj/item/radio/headset/alt, +/obj/item/radio/headset/alt, +/obj/item/gear_pack/anglegrinder, +/obj/item/gear_pack/anglegrinder, /turf/open/floor/plasteel/dark, /area/ship/engineering/electrical) "OU" = ( @@ -4873,7 +5084,13 @@ }, /obj/machinery/door/poddoor{ dir = 4; - id = "amogusthrusters" + id = "shetportthrusters" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 }, /turf/open/floor/plating, /area/ship/maintenance/port) @@ -4957,6 +5174,16 @@ }, /turf/open/floor/plating, /area/ship/hallway/fore) +"Qu" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/port) "Qy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -5029,7 +5256,13 @@ }, /obj/machinery/door/poddoor{ dir = 4; - id = "amogusthrusters" + id = "shetstarboardengine" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 }, /turf/open/floor/plating, /area/ship/maintenance/starboard) @@ -5092,6 +5325,9 @@ }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/structure/catwalk/over/plated_catwalk, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plating, /area/ship/hallway/port) "Ry" = ( @@ -5114,9 +5350,11 @@ /turf/open/floor/plating, /area/ship/maintenance/port) "RO" = ( -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters, /obj/item/kirbyplants/fullysynthetic, /obj/machinery/light/directional/north, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/fore) "RP" = ( @@ -5246,6 +5484,9 @@ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/starboard) "Tc" = ( @@ -5277,9 +5518,9 @@ pixel_x = -5; pixel_y = 3 }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/storage/cans/sixbeer, /obj/item/reagent_containers/food/drinks/waterbottle/large{ pixel_x = 1; @@ -5297,7 +5538,7 @@ /obj/structure/cable{ icon_state = "0-4" }, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "Tk" = ( /obj/structure/cable{ @@ -5323,7 +5564,7 @@ /obj/structure/cable{ icon_state = "2-4" }, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "TO" = ( /obj/machinery/firealarm/directional/south, @@ -5363,6 +5604,7 @@ /obj/machinery/door/firedoor/border_only{ dir = 8 }, +/obj/effect/turf_decal/industrial/warning/fulltile, /turf/open/floor/plasteel/dark, /area/ship/bridge) "TX" = ( @@ -5382,6 +5624,9 @@ /obj/effect/turf_decal/corner/transparent/beige/full, /obj/effect/turf_decal/corner/transparent/brown/diagonal, /obj/machinery/light/directional/west, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel, /area/ship/crew/canteen) "Ug" = ( @@ -5426,7 +5671,7 @@ /turf/open/floor/plating, /area/ship/hallway/aft) "UJ" = ( -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "UT" = ( /obj/machinery/recharger, @@ -5455,32 +5700,32 @@ /obj/structure/sink/kitchen{ pixel_y = 16 }, -/obj/effect/turf_decal/corner/opaque/neutral/half, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/transparent/beige/full, +/obj/effect/turf_decal/corner/transparent/brown/diagonal, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 1 + }, +/turf/open/floor/plasteel, /area/ship/crew/canteen) "Vg" = ( /obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ - dir = 4 - }, /obj/structure/filingcabinet/double/grey, +/obj/effect/turf_decal/techfloor, /turf/open/floor/plasteel/dark, /area/ship/bridge) "Vp" = ( /turf/closed/wall, /area/ship/engineering/electrical) "Vr" = ( -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 1 - }, /obj/item/kirbyplants/fullysynthetic, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/opaque/black/half, +/turf/open/floor/plasteel, /area/ship/hallway/starboard) "Vt" = ( -/obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ - dir = 1 +/obj/machinery/computer/cargo/retro, +/obj/effect/turf_decal/techfloor{ + dir = 5 }, -/obj/machinery/computer/cargo/express/retro, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "VD" = ( @@ -5500,6 +5745,7 @@ }, /obj/machinery/firealarm/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/patterned, /area/ship/crew/cryo) "VN" = ( @@ -5537,15 +5783,18 @@ /area/ship/engineering/engine) "VS" = ( /obj/machinery/light/directional/south, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel, /area/ship/hallway/fore) "VV" = ( -/obj/structure/cable/yellow{ - icon_state = "2-5" - }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "VZ" = ( @@ -5561,7 +5810,8 @@ /obj/structure/cable{ icon_state = "1-6" }, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "We" = ( /turf/closed/wall/r_wall/rust/yesdiag, @@ -5590,7 +5840,8 @@ /obj/structure/crate_shelf, /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "Wq" = ( /obj/structure/grille, @@ -5614,7 +5865,7 @@ /obj/structure/cable{ icon_state = "0-1" }, -/turf/open/floor/engine/hull/interior, +/turf/open/floor/plasteel/patterned/ridged, /area/ship/cargo) "Ws" = ( /obj/effect/turf_decal/corner/transparent/beige/full, @@ -5637,6 +5888,9 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/patterned, /area/ship/crew/toilet) "WB" = ( @@ -5655,6 +5909,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/patterned, /area/ship/crew/cryo) "WG" = ( @@ -5667,6 +5924,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning, /turf/open/floor/plating, /area/ship/engineering/electrical) "WM" = ( @@ -5689,6 +5947,9 @@ /area/ship/bridge) "Xg" = ( /obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/fore) "Xh" = ( @@ -5708,6 +5969,7 @@ /obj/structure/cable{ icon_state = "1-10" }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "Xt" = ( @@ -5746,6 +6008,9 @@ dir = 8 }, /obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "XJ" = ( @@ -5754,6 +6019,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, +/obj/structure/chair/handrail, /turf/open/floor/plasteel, /area/ship/hallway/central) "XK" = ( @@ -5782,12 +6048,17 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/structure/cable/yellow{ + icon_state = "4-10" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "XY" = ( /obj/effect/turf_decal/industrial/warning, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/item/radio/intercom/directional/east, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/port) "Ye" = ( @@ -5812,7 +6083,7 @@ /obj/item/kitchen/fork/plastic{ pixel_x = 5 }, -/obj/item/kitchen/knife/plastic, +/obj/item/melee/knife/plastic, /turf/open/floor/plasteel, /area/ship/crew/canteen) "Yp" = ( @@ -5912,11 +6183,6 @@ /turf/open/floor/plasteel/dark, /area/ship/engineering) "Zn" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/obj/item/weldingtool/mini, /turf/open/floor/plating, /area/ship/engineering/engine) "Zr" = ( @@ -5957,6 +6223,10 @@ dir = 8 }, /obj/structure/curtain, +/obj/structure/sign/poster/random{ + pixel_x = -32; + pixel_y = 0 + }, /turf/open/floor/plasteel/white, /area/ship/medical) "ZJ" = ( @@ -5965,8 +6235,8 @@ }, /obj/structure/curtain, /obj/item/soap, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 }, /turf/open/floor/plasteel/freezer, /area/ship/crew/toilet) @@ -6109,7 +6379,7 @@ pr NK yP qk -sV +Zn CZ vz on @@ -6490,7 +6760,7 @@ fz "} (18,1,1) = {" BL -bm +Qu CF XY we @@ -6512,7 +6782,7 @@ sk RP rJ pY -ER +Ml iG OU "} @@ -6647,7 +6917,7 @@ Gy ND jY Kn -ZV +vL rr fW fW @@ -6815,7 +7085,7 @@ aI aI aI iz -ZV +vL rr sX su @@ -6856,7 +7126,7 @@ OU ao Ok uh -Ni +Li mJ mJ mJ @@ -6929,7 +7199,7 @@ gq wQ MT pl -MV +Mf xZ qO CH @@ -6955,7 +7225,7 @@ lo yW gq yO -ZV +lM DC Xr wr diff --git a/_maps/shuttles/independent/independent_sunskipper.dmm b/_maps/shuttles/independent/independent_sunskipper.dmm index 61c49a25295..12f34a8991a 100644 --- a/_maps/shuttles/independent/independent_sunskipper.dmm +++ b/_maps/shuttles/independent/independent_sunskipper.dmm @@ -196,11 +196,11 @@ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/item/reagent_containers/food/condiment/ketchup{ +/obj/item/reagent_containers/condiment/ketchup{ pixel_x = -6; pixel_y = 8 }, -/obj/item/reagent_containers/food/condiment/mayonnaise{ +/obj/item/reagent_containers/condiment/mayonnaise{ pixel_x = 6; pixel_y = 8 }, @@ -349,11 +349,11 @@ pixel_x = -7; pixel_y = 9 }, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ pixel_y = 13; pixel_x = 4 }, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ pixel_y = 13; pixel_x = 11 }, @@ -441,7 +441,7 @@ pixel_y = 5; anchored = 1 }, -/obj/item/kitchen/knife{ +/obj/item/melee/knife/kitchen{ pixel_x = -11; pixel_y = 9 }, @@ -873,8 +873,8 @@ }, /obj/item/pickaxe, /obj/item/pickaxe, -/obj/item/kitchen/knife/hunting, -/obj/item/kitchen/knife/hunting, +/obj/item/melee/knife/hunting, +/obj/item/melee/knife/hunting, /obj/item/clothing/suit/hazardvest, /obj/item/clothing/suit/hazardvest, /obj/item/clothing/head/hardhat/mining, @@ -1182,9 +1182,7 @@ /obj/structure/bed{ dir = 1 }, -/obj/item/bedsheet/dorms{ - dir = 1 - }, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/cloth/grey, /obj/structure/cable/green{ icon_state = "1-2" @@ -1560,6 +1558,9 @@ /obj/structure/cable/green{ icon_state = "4-9" }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, /turf/open/floor/carpet/nanoweave, /area/ship/crew/cryo) "tP" = ( @@ -2047,7 +2048,7 @@ /turf/open/floor/plasteel/tech, /area/ship/cargo) "AP" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ icon_state = "computer-right"; dir = 8 }, @@ -3169,11 +3170,11 @@ /area/template_noop) "Pe" = ( /obj/structure/table/reinforced, -/obj/item/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/condiment/enzyme{ pixel_x = -6; pixel_y = 8 }, -/obj/item/reagent_containers/food/condiment/oliveoil{ +/obj/item/reagent_containers/condiment/oliveoil{ pixel_x = 6; pixel_y = 8 }, @@ -3270,7 +3271,7 @@ /obj/structure/closet/secure_closet/freezer/kitchen, /obj/effect/turf_decal/borderfloorblack, /obj/effect/turf_decal/box, -/obj/item/reagent_containers/food/condiment/rice, +/obj/item/reagent_containers/condiment/rice, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen/kitchen) "QB" = ( @@ -3551,10 +3552,10 @@ /obj/structure/closet/crate{ name = "supplies crate" }, -/obj/item/reagent_containers/food/condiment/saltshaker, -/obj/item/reagent_containers/food/condiment/saltshaker, -/obj/item/reagent_containers/food/condiment/peppermill, -/obj/item/reagent_containers/food/condiment/peppermill, +/obj/item/reagent_containers/condiment/saltshaker, +/obj/item/reagent_containers/condiment/saltshaker, +/obj/item/reagent_containers/condiment/peppermill, +/obj/item/reagent_containers/condiment/peppermill, /obj/item/storage/box/lights/mixed, /obj/item/storage/box/drinkingglasses, /obj/item/storage/fancy/candle_box, @@ -3653,11 +3654,11 @@ "VG" = ( /obj/machinery/light/directional/west, /obj/structure/table/reinforced, -/obj/item/reagent_containers/food/condiment/soysauce{ +/obj/item/reagent_containers/condiment/soysauce{ pixel_x = -6; pixel_y = 8 }, -/obj/item/reagent_containers/food/condiment/bbqsauce{ +/obj/item/reagent_containers/condiment/bbqsauce{ pixel_x = 6; pixel_y = 8 }, diff --git a/_maps/shuttles/independent/independent_tranquility.dmm b/_maps/shuttles/independent/independent_tranquility.dmm deleted file mode 100644 index 08738bbe821..00000000000 --- a/_maps/shuttles/independent/independent_tranquility.dmm +++ /dev/null @@ -1,7969 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ac" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "a_1_shutter" - }, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"ag" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm/dormtwo) -"aj" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/hydroponics) -"aq" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/engineering/engine) -"aC" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/structure/sign/poster/official/moth{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"aE" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 11; - pixel_y = -17 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"aF" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/mob/living/simple_animal/cow{ - name = "Bessington Von Buchenberg IV" - }, -/obj/structure/flora/ausbushes/lavendergrass, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"aG" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Engineering" - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"aM" = ( -/obj/machinery/door/airlock/hatch{ - name = "Engineering" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/engineering/electrical) -"aO" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/electrical) -"aY" = ( -/obj/item/storage/box/donkpockets/donkpocketberry, -/obj/item/storage/cans/sixsoda, -/obj/item/reagent_containers/food/drinks/beer/light, -/obj/item/reagent_containers/food/drinks/beer/light, -/obj/item/storage/box/donkpockets{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/structure/closet/secure_closet/freezer{ - name = "Minifridge" - }, -/turf/open/floor/plasteel/white, -/area/ship/crew) -"bb" = ( -/obj/machinery/vending/games, -/obj/machinery/light/directional/west, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"bg" = ( -/obj/structure/chair/stool/bar, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"bk" = ( -/obj/machinery/pipedispenser, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"bn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 5 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"bo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"bt" = ( -/obj/structure/table/wood, -/obj/machinery/microwave, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/crew) -"bL" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"bN" = ( -/obj/structure/table/reinforced, -/obj/machinery/reagentgrinder, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"bP" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewfour) -"bX" = ( -/obj/structure/table/wood, -/obj/item/paper/natural, -/obj/item/paper/natural{ - pixel_x = 4; - pixel_y = 5 - }, -/obj/item/pen/fountain{ - pixel_x = -8; - pixel_y = 8 - }, -/obj/item/paper/crumpled{ - pixel_x = -11; - pixel_y = -6 - }, -/turf/open/floor/carpet/cyan, -/area/ship/crew/crewthree) -"bZ" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/crewtwo) -"co" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 9 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew/crewthree) -"cp" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/obj/machinery/power/port_gen/pacman/super, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/light/directional/west, -/obj/item/stack/sheet/mineral/uranium/fifty, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"cH" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/cryo) -"cI" = ( -/obj/machinery/jukebox, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"cJ" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/security/armory) -"cV" = ( -/obj/structure/table/wood, -/obj/machinery/computer/bookmanagement, -/obj/machinery/light/dim/directional/north, -/obj/item/radio/intercom/directional/west, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 9 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew/crewthree) -"cW" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 5 - }, -/obj/structure/sign/departments/medbay/alt{ - pixel_y = 32 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical/surgery) -"cX" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"cZ" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"da" = ( -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 8 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -26; - pixel_y = 6 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"dh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"dj" = ( -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/end{ - color = "#792f27"; - dir = 8 - }, -/obj/structure/fluff/hedge, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"dk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"dp" = ( -/obj/structure/chair/sofa/brown/left/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/sign/poster/official/no_erp{ - pixel_x = 32 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"dA" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/hallway/starboard) -"dD" = ( -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"dN" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/blue{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"dO" = ( -/obj/structure/bookcase/random/fiction, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 10 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew/crewthree) -"dQ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"dV" = ( -/obj/structure/chair/sofa/brown/right/directional/west, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 4 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew/crewthree) -"ee" = ( -/obj/machinery/door/airlock/command/glass{ - name = "Bridge" - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/bridge) -"ei" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/beaker{ - pixel_x = -8; - pixel_y = -3 - }, -/obj/item/reagent_containers/glass/beaker{ - pixel_y = 11 - }, -/obj/item/stack/cable_coil/random/five{ - pixel_x = 8; - pixel_y = -4 - }, -/obj/item/reagent_containers/glass/beaker, -/obj/machinery/light/dim/directional/west, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"ek" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "a_3_shutter2" - }, -/turf/open/floor/plating, -/area/ship/crew/crewthree) -"em" = ( -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/ship/bridge) -"en" = ( -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"eo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/carpet, -/area/ship/crew/dorm) -"er" = ( -/obj/machinery/door/airlock/public/glass{ - dir = 4; - name = "Dining Room" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew/canteen) -"eu" = ( -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew) -"ev" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm/dormthree) -"ey" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"ez" = ( -/obj/structure/sign/directions/command{ - dir = 8; - pixel_y = 7 - }, -/obj/structure/sign/directions/medical, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen) -"eA" = ( -/obj/machinery/cryopod{ - dir = 1 - }, -/obj/machinery/computer/cryopod/directional/west, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"eC" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/sign/poster/random{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"eF" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "a_2_shutter" - }, -/turf/open/floor/plating, -/area/ship/crew/crewtwo) -"eI" = ( -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/storage/box/ingredients/carnivore, -/obj/item/storage/box/ingredients/fruity, -/obj/item/storage/box/ingredients/grains, -/obj/item/storage/box/ingredients/vegetarian, -/obj/item/storage/box/ingredients/wildcard, -/obj/item/storage/box/ingredients/wildcard, -/obj/item/reagent_containers/food/condiment/enzyme, -/obj/item/reagent_containers/food/condiment/mayonnaise, -/obj/item/reagent_containers/food/condiment/rice, -/obj/item/reagent_containers/food/condiment/rice, -/obj/item/storage/box/condimentbottles, -/obj/structure/closet/secure_closet/wall/directional/west{ - name = "Kitchen Cabinet" - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"eJ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"eK" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only/closed{ - dir = 8 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"eN" = ( -/obj/machinery/light/directional/west, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"eS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/table/wood, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"eX" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/item/stock_parts/subspace/filter{ - pixel_x = -8; - pixel_y = -6 - }, -/obj/item/paper/crumpled{ - pixel_x = 11; - pixel_y = 1 - }, -/obj/item/pen/blue, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"fa" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/machinery/firealarm/directional/south, -/obj/structure/cable/yellow{ - icon_state = "0-9" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"fc" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/item/paper/crumpled{ - pixel_x = 16; - pixel_y = 13 - }, -/turf/open/floor/plating/rust, -/area/ship/crew/dorm) -"fg" = ( -/turf/open/floor/engine/hull, -/area/ship/external) -"fk" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/med_data/laptop, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"fu" = ( -/obj/structure/closet/secure_closet/hydroponics{ - req_access = null - }, -/obj/item/clothing/suit/hooded/wintercoat/hydro, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"fy" = ( -/obj/effect/turf_decal/corner/opaque/green/border, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/structure/closet/wall/directional/south, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/storage/backpack/duffelbag, -/obj/item/storage/backpack/duffelbag, -/obj/item/storage/backpack/satchel, -/obj/item/storage/backpack/satchel, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/suit/hooded/wintercoat, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"fz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/starboard) -"fF" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"fI" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/item/bedsheet/captain, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"fK" = ( -/obj/structure/chair/sofa/brown/corner/directional/north, -/obj/machinery/firealarm/directional/west, -/obj/structure/sign/poster/official/the_owl{ - pixel_y = -32 - }, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"fN" = ( -/obj/structure/railing{ - dir = 8; - layer = 3.1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/blue{ - dir = 10 - }, -/obj/machinery/light/dim/directional/south, -/obj/machinery/suit_storage_unit/independent/pilot, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"fP" = ( -/obj/structure/frame/machine, -/obj/item/stack/cable_coil/random/five, -/obj/item/circuitboard/machine/telecomms/bus, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/crewfour) -"fS" = ( -/obj/docking_port/mobile{ - dir = 2 - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"fU" = ( -/obj/machinery/door/airlock/wood{ - dir = 4; - name = "Cryogenics" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew/cryo) -"fY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"fZ" = ( -/obj/effect/turf_decal/borderfloorblack, -/obj/effect/turf_decal/borderfloorblack/corner{ - dir = 4 - }, -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"gb" = ( -/obj/structure/table/wood/poker, -/obj/item/trash/cheesie, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"gd" = ( -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/machinery/door/window/eastright{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"gh" = ( -/obj/structure/sign/departments/botany, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/hydroponics) -"gk" = ( -/obj/structure/chair/sofa/brown/directional/west, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"gn" = ( -/obj/machinery/vending/classicbeats, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"gp" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"gs" = ( -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"gC" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_x = 10; - pixel_y = 1 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/obj/item/toy/figure/curator{ - pixel_x = -7; - pixel_y = 5 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew/crewthree) -"gM" = ( -/obj/machinery/modular_computer/console/preset/engineering{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 6 - }, -/obj/machinery/light/dim/directional/east, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"gN" = ( -/obj/machinery/computer/operating{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor, -/turf/open/floor/plasteel/white, -/area/ship/medical/surgery) -"gS" = ( -/obj/structure/chair/stool/bar, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"gV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"gY" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"ha" = ( -/obj/structure/table/wood, -/obj/item/candle{ - pixel_x = 10; - pixel_y = 10 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 5 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"hd" = ( -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 5 - }, -/obj/machinery/camera/autoname{ - dir = 9 - }, -/obj/machinery/washing_machine, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"hg" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew) -"hh" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"hn" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Workshop" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew/crewfive) -"ht" = ( -/obj/structure/closet/secure_closet/freezer{ - name = "Minifridge" - }, -/obj/item/reagent_containers/food/drinks/soda_cans/molten, -/obj/item/reagent_containers/food/drinks/soda_cans/orange_soda, -/obj/item/reagent_containers/food/drinks/soda_cans/pacfuel, -/obj/item/reagent_containers/food/drinks/soda_cans/pacfuel, -/obj/item/reagent_containers/food/drinks/soda_cans/random, -/obj/item/reagent_containers/food/drinks/soda_cans/random, -/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, -/obj/item/storage/cans/sixsoda, -/obj/item/reagent_containers/food/snacks/canned/beans, -/obj/item/reagent_containers/food/snacks/cheesiehonkers, -/obj/item/reagent_containers/food/snacks/cheesiehonkers, -/obj/item/reagent_containers/food/snacks/spacetwinkie, -/obj/item/reagent_containers/food/snacks/spacetwinkie, -/obj/item/reagent_containers/food/snacks/spacetwinkie, -/obj/item/reagent_containers/food/snacks/spacetwinkie, -/obj/item/reagent_containers/food/snacks/muffin/berry, -/obj/item/reagent_containers/food/snacks/muffin, -/obj/item/reagent_containers/food/snacks/popsicle/creamsicle_berry, -/obj/item/reagent_containers/food/snacks/popsicle/creamsicle_orange, -/obj/item/reagent_containers/food/snacks/popsicle/creamsicle_orange, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewfive) -"hu" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "ext_windows" - }, -/turf/open/floor/plating, -/area/ship/hallway/port) -"hx" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"hy" = ( -/obj/item/paper/crumpled{ - pixel_x = -12; - pixel_y = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewfour) -"hB" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/wood/ebony, -/area/ship/crew/canteen) -"hF" = ( -/obj/machinery/door/airlock{ - name = "WC" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew/toilet) -"hG" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"hJ" = ( -/obj/structure/table, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/machinery/door/window/eastright{ - dir = 1 - }, -/obj/item/storage/firstaid/o2{ - pixel_x = -5; - pixel_y = 4 - }, -/obj/item/storage/firstaid/brute, -/obj/effect/turf_decal/borderfloorwhite, -/obj/item/storage/firstaid/medical{ - pixel_x = -3; - pixel_y = -4 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical/surgery) -"hK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"hL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/wood/ebony, -/area/ship/crew/canteen) -"hR" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/airlock/public/glass{ - dir = 4; - name = "Dining Room" - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew/canteen) -"hU" = ( -/obj/effect/turf_decal/siding/wood/end, -/obj/item/reagent_containers/glass/bucket/wooden{ - pixel_x = -11; - pixel_y = 13 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"ia" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewfour) -"id" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"if" = ( -/obj/structure/sign/departments/chemistry, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm) -"iq" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/condiment/saltshaker{ - pixel_x = -11; - pixel_y = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"iu" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen/fourcolor, -/obj/item/pen/fourcolor, -/obj/item/pen, -/obj/item/pen, -/obj/machinery/light/directional/east, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"iA" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/structure/mineral_door/wood{ - name = "Bedroom" - }, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm/dormthree) -"iH" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/dorm/dormtwo) -"iI" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewfive) -"iJ" = ( -/obj/structure/table, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/item/instrument/piano_synth, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"iK" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm/dormfive) -"iT" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"jc" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/port) -"je" = ( -/obj/structure/mineral_door/wood{ - name = "Bedroom" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/ship/crew/dorm) -"jh" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/power/ship_gravity, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"jk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewtwo) -"jn" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/crewtwo) -"jp" = ( -/obj/structure/mirror{ - pixel_y = 32 - }, -/obj/structure/sink{ - pixel_y = 23 - }, -/obj/effect/turf_decal/borderfloorwhite{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/mob/living/simple_animal/mouse/white{ - name = "The Brain" - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"jr" = ( -/obj/machinery/hydroponics/soil, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"js" = ( -/obj/structure/closet/wall/directional/west{ - name = "Wardrobe" - }, -/obj/item/clothing/head/beret, -/obj/item/clothing/under/color/jumpskirt/random, -/obj/item/clothing/under/color/random, -/obj/item/clothing/under/dress/skirt/red, -/obj/item/clothing/suit/longcoat, -/obj/item/clothing/suit/jacket/letterman_red, -/obj/item/clothing/head/wizard/marisa, -/obj/item/clothing/head/soft/mime, -/obj/item/clothing/shoes/wheelys, -/obj/item/clothing/shoes/sandal, -/obj/item/clothing/shoes/sneakers/black, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm/dormtwo) -"jt" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/ihejirika_small/right{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"jy" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"jD" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew) -"jK" = ( -/obj/structure/sign/poster/official/moth/hardhats, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/electrical) -"jR" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/item/canvas/twentythreeXtwentythree{ - pixel_x = 0 - }, -/obj/item/canvas/twentythreeXtwentythree{ - pixel_x = 0 - }, -/obj/item/canvas/twentythreeXtwentythree{ - pixel_x = 0 - }, -/obj/item/canvas/twentythreeXnineteen, -/obj/item/canvas/twentythreeXnineteen, -/obj/item/canvas/twentythreeXnineteen, -/obj/item/canvas/nineteenXnineteen{ - pixel_x = 2; - pixel_y = 5 - }, -/obj/item/canvas/nineteenXnineteen{ - pixel_x = 2; - pixel_y = 5 - }, -/obj/item/canvas/nineteenXnineteen{ - pixel_x = 2; - pixel_y = 5 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewtwo) -"ka" = ( -/obj/machinery/power/terminal, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"kr" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"kw" = ( -/obj/item/toy/cards/deck/kotahi{ - pixel_x = -4; - pixel_y = -10 - }, -/obj/item/dice/d20{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/structure/table/wood/poker, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"kB" = ( -/obj/machinery/vending/coffee, -/obj/structure/sign/poster/official/safety_internals{ - pixel_x = 32 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"kC" = ( -/obj/structure/chair/comfy/orange/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/structure/closet/wall/directional/west{ - name = "Wardrobe" - }, -/obj/item/clothing/head/wig/random, -/obj/item/clothing/under/color/jumpskirt/random, -/obj/item/clothing/under/color/random, -/obj/item/clothing/under/rank/command/captain/skirt, -/obj/item/clothing/under/rank/command/captain/suit, -/obj/item/pen/fountain/captain, -/obj/item/radio/headset/heads/captain, -/obj/item/storage/backpack/duffelbag/captain, -/obj/item/clothing/suit/hooded/wintercoat/captain, -/obj/item/clothing/suit/armor/vest/capcarapace/duster, -/obj/item/clothing/head/caphat/cowboy, -/obj/item/clothing/shoes/cowboy/fancy, -/obj/item/clothing/under/pants/camo, -/obj/item/clothing/suit/hooded/wintercoat/captain, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"kK" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "a_1_shutter" - }, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"kR" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "bridge_windows" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"kS" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/starboard) -"kU" = ( -/obj/structure/urinal{ - pixel_y = 28 - }, -/obj/effect/turf_decal/borderfloorwhite{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"kY" = ( -/obj/machinery/door/airlock/command/glass{ - name = "Bridge" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/bridge) -"lc" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"lz" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/mob/living/simple_animal/chicken{ - name = "Buck" - }, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"lG" = ( -/obj/machinery/light/directional/east, -/obj/machinery/vending/modularpc, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"lJ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/layer_manifold/visible{ - dir = 4 - }, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"lM" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/item/stock_parts/micro_laser/high{ - pixel_x = 3; - pixel_y = -7 - }, -/obj/item/paper/crumpled{ - pixel_x = -10; - pixel_y = -13 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"lO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/sign/poster/random{ - pixel_x = 32 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"lS" = ( -/obj/structure/curtain/cloth/grey, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"lW" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/crewthree) -"ma" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/number/five{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"mc" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/blue{ - dir = 6 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"mf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/wood/birch, -/area/ship/crew/crewfive) -"mz" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "a_4_shutter"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/crew/crewfive) -"mA" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/bridge) -"mB" = ( -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewfour) -"mC" = ( -/obj/effect/turf_decal/corner/opaque/green/border, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"mE" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/port) -"mH" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/drinkingglass/filled/soda{ - pixel_x = -6; - pixel_y = -1 - }, -/turf/open/floor/carpet/green, -/area/ship/crew) -"mK" = ( -/obj/structure/chair/sofa/brown/right/directional/east, -/obj/effect/turf_decal/siding/wood/corner{ - color = "#792f27"; - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"mP" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "a_4_shutter" - }, -/turf/open/floor/plating, -/area/ship/crew/crewfive) -"mR" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/machinery/light/dim/directional/north, -/obj/item/bedsheet/brown, -/turf/open/floor/carpet, -/area/ship/crew/dorm) -"mV" = ( -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/structure/table/reinforced, -/obj/machinery/light/directional/south, -/obj/item/kitchen/knife/butcher{ - pixel_x = -6; - pixel_y = 7 - }, -/obj/item/clothing/gloves/butchering{ - pixel_x = 5; - pixel_y = -1 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"mW" = ( -/obj/machinery/door/airlock/external{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/hallway/port) -"nc" = ( -/obj/structure/chair/sofa/brown/left/directional/west, -/obj/effect/turf_decal/siding/wood/corner{ - color = "#792f27" - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"ng" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/starboard) -"nr" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/structure/curtain/cloth/grey, -/obj/machinery/light/dim/directional/east, -/obj/structure/sign/poster/contraband/gec{ - pixel_y = -32 - }, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm/dormtwo) -"nw" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"ny" = ( -/obj/structure/closet/firecloset/wall/directional/west, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"nz" = ( -/obj/machinery/hydroponics/soil, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/light_switch{ - pixel_x = 20; - dir = 8; - pixel_y = -12 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"nN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"nX" = ( -/obj/structure/frame/machine, -/obj/item/stack/cable_coil/random/five, -/obj/item/circuitboard/machine/telecomms/processor, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/subspace/treatment, -/obj/item/stock_parts/subspace/treatment, -/obj/item/stock_parts/subspace/analyzer, -/obj/item/stock_parts/subspace/amplifier, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/crewfour) -"op" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"or" = ( -/obj/item/paper/crumpled{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/machinery/button/door{ - dir = 1; - id = "a_1_shutter"; - name = "shutters"; - pixel_x = 6; - pixel_y = -27 - }, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"os" = ( -/turf/open/floor/carpet, -/area/ship/crew/dorm) -"oC" = ( -/obj/machinery/button/door{ - dir = 4; - id = "apartment_4"; - normaldoorcontrol = 1; - pixel_x = -26; - pixel_y = -6; - specialfunctions = 4 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -26; - pixel_y = 6 - }, -/obj/structure/chair/sofa/brown/left/directional/east, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"oS" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/wood/ebony, -/area/ship/crew/canteen) -"oW" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/airlock/public/glass{ - dir = 4; - name = "Dining Room" - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew/canteen) -"pa" = ( -/obj/machinery/power/terminal, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"pj" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/port) -"pp" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/structure/mineral_door/wood{ - name = "Bedroom" - }, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm/dormtwo) -"pu" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/item/paper_bin/bundlenatural{ - pixel_x = 7; - pixel_y = 8 - }, -/obj/item/storage/crayons{ - pixel_x = -10; - pixel_y = 1 - }, -/obj/item/pen/charcoal{ - pixel_x = 7; - pixel_y = 4 - }, -/obj/item/pen/fountain{ - pixel_x = 10; - pixel_y = 10 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewtwo) -"pw" = ( -/obj/machinery/door/airlock/grunge{ - dir = 4; - id_tag = "apartment_5"; - name = "Apartment 5" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew/crewfour) -"px" = ( -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/machinery/button/door{ - dir = 1; - id = "a_1_shutter2"; - name = "Shutters"; - pixel_x = -6; - pixel_y = -27 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew) -"pA" = ( -/obj/machinery/sleeper{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloorwhite{ - dir = 6 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical/surgery) -"pJ" = ( -/obj/structure/toilet/secret{ - dir = 4; - secret_type = /obj/item/storage/box/donkpockets/donkpocketgondola - }, -/obj/effect/turf_decal/borderfloorwhite{ - dir = 10 - }, -/obj/machinery/light/directional/west, -/mob/living/simple_animal/mouse/brown{ - name = "Pinkie" - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"pK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"pL" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/hallway/port) -"pT" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/structure/closet/wall/orange/directional/south, -/obj/item/stack/tape/industrial/electrical, -/obj/item/stack/tape/industrial, -/obj/item/holosign_creator/engineering, -/obj/item/storage/backpack/duffelbag/engineering, -/obj/item/storage/belt/utility/full/engi, -/obj/item/stack/cable_coil/random, -/obj/item/stack/cable_coil/random, -/obj/item/rcl/pre_loaded, -/obj/item/clothing/suit/radiation, -/obj/item/clothing/head/radiation, -/obj/item/geiger_counter, -/obj/item/stack/sheet/metal/twenty, -/obj/item/stack/sheet/glass/twenty, -/obj/item/circuitboard/machine/cell_charger, -/obj/item/clothing/head/beret/eng, -/obj/item/clothing/head/beret/eng/hazard, -/obj/item/clothing/suit/hooded/wintercoat/engineering, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"qa" = ( -/turf/template_noop, -/area/template_noop) -"qc" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/external) -"qe" = ( -/obj/structure/table, -/obj/machinery/computer/secure_data/laptop{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloorblack/cee{ - dir = 4 - }, -/obj/item/toy/plush/goatplushie{ - desc = "The Captain insists this plushie does not exist."; - pixel_x = -7; - pixel_y = 16 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"qq" = ( -/obj/structure/sign/departments/security, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/crewfive) -"qB" = ( -/obj/item/kirbyplants/random, -/obj/machinery/button/door{ - dir = 4; - id = "apartment_5"; - normaldoorcontrol = 1; - pixel_x = -26; - pixel_y = 6; - specialfunctions = 4 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -26; - pixel_y = -6 - }, -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"qC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"qV" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/closet/wall/directional/south{ - name = "Wardrobe" - }, -/obj/item/clothing/head/wig/random, -/obj/item/storage/box/syndie_kit/chameleon, -/obj/item/paper_bin/bundlenatural, -/obj/item/clothing/under/color/jumpskirt/random, -/obj/item/clothing/under/color/random, -/obj/item/clothing/suit/jacket/letterman, -/obj/item/clothing/suit/toggle/lawyer/brown, -/obj/item/clothing/under/suit/burgundy, -/obj/item/clothing/under/pants/red, -/obj/item/clothing/suit/nerdshirt, -/obj/item/storage/bag/books, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"rc" = ( -/obj/structure/bookcase/random/religion, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27" - }, -/obj/machinery/light/directional/south, -/turf/open/floor/wood/mahogany, -/area/ship/crew/crewthree) -"ri" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/structure/cable/yellow{ - icon_state = "5-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"rk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"rl" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"ro" = ( -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"rt" = ( -/obj/structure/table/wood, -/obj/machinery/light/dim/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/item/a_gift, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"rv" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"rB" = ( -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"rC" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/wood/birch, -/area/ship/crew/crewfive) -"rI" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/wood/ebony, -/area/ship/crew/canteen) -"rK" = ( -/obj/machinery/vending/cola/shamblers, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"rY" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 4; - piping_layer = 2 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"sb" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/medical/surgery) -"se" = ( -/obj/machinery/button/door{ - id = "a_4_shutter"; - name = "Shutters"; - pixel_x = 6; - pixel_y = 26 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = -7 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewfive) -"so" = ( -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"sp" = ( -/obj/machinery/light/directional/east, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"sr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"su" = ( -/obj/machinery/telecomms/broadcaster, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/crewfour) -"sF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "5-8" - }, -/obj/structure/cable/yellow{ - icon_state = "6-8" - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"sG" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/sign/poster/random{ - pixel_x = -32 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"sK" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "a_1_shutter2" - }, -/turf/open/floor/plating, -/area/ship/crew) -"sP" = ( -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 26; - pixel_y = 6 - }, -/obj/machinery/button/door{ - dir = 8; - id = "apartment_3"; - normaldoorcontrol = 1; - pixel_x = 26; - pixel_y = -6; - specialfunctions = 4 - }, -/obj/item/kirbyplants/random, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 4 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew/crewthree) -"sW" = ( -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"th" = ( -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"ts" = ( -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -26; - pixel_y = -6 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/button/door{ - dir = 4; - id = "a_3_shutter"; - name = "Shutters"; - pixel_x = -26; - pixel_y = 6 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm/dormthree) -"tz" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"tA" = ( -/obj/structure/chair/sofa/brown/right/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/plaque/static_plaque/golden/captain{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"tC" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/medical/surgery) -"tH" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"tI" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/structure/mineral_door/wood{ - name = "Bedroom" - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"tM" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/table, -/obj/item/assembly/prox_sensor{ - pixel_x = 9; - pixel_y = 4 - }, -/obj/item/bot_assembly/cleanbot{ - pixel_x = -1; - pixel_y = 4 - }, -/obj/item/screwdriver{ - pixel_x = -7; - pixel_y = 1 - }, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"tQ" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "ext_windows" - }, -/turf/open/floor/plating, -/area/ship/medical/surgery) -"tU" = ( -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ - dir = 10 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/item/storage/overmap_ship/electric/directional/west, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 11; - pixel_y = -17 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"tX" = ( -/obj/docking_port/stationary{ - dwidth = 10; - width = 30; - height = 15 - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"tY" = ( -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"ub" = ( -/obj/structure/closet/wall/directional/east{ - name = "Personal Effects" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/stack/sheet/cotton/cloth/ten, -/obj/item/stack/sheet/cotton/cloth/ten, -/obj/item/stack/sheet/cotton/cloth/ten, -/obj/item/stack/sheet/cotton/cloth/ten, -/obj/item/stack/sheet/cotton/cloth/ten, -/obj/item/wallframe/painting, -/obj/item/wallframe/painting, -/obj/item/wallframe/painting, -/obj/item/wallframe/painting, -/obj/item/wallframe/painting, -/obj/item/wallframe/painting, -/obj/item/wallframe/painting, -/obj/item/wallframe/painting, -/obj/item/stack/sheet/cardboard/fifty, -/obj/item/stack/sheet/paperframes/fifty, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/item/stack/sheet/mineral/wood/fifty, -/turf/open/floor/wood/birch, -/area/ship/crew/crewtwo) -"ud" = ( -/obj/machinery/vending/hydronutrients, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"uf" = ( -/obj/structure/chair/comfy/beige{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 8 - }, -/turf/open/floor/carpet/cyan, -/area/ship/crew/crewthree) -"us" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/sign/poster/official/fruit_bowl{ - pixel_y = -32 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewfive) -"uC" = ( -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/obj/machinery/washing_machine, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"uI" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"uJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood/birch, -/area/ship/crew/crewtwo) -"uL" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"uM" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/port) -"uO" = ( -/obj/machinery/light/directional/west, -/obj/machinery/vending/assist, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"uU" = ( -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"uW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"vd" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"vj" = ( -/obj/machinery/vending/boozeomat, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen) -"vx" = ( -/turf/open/floor/wood/ebony, -/area/ship/crew/canteen) -"vC" = ( -/obj/machinery/door/airlock/hatch{ - dir = 4; - name = "Supply Closet" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/storage) -"vG" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"vM" = ( -/obj/machinery/smartfridge/bloodbank/preloaded, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/medical/surgery) -"vN" = ( -/obj/structure/sign/departments/engineering, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/electrical) -"vP" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ - dir = 8 - }, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"vU" = ( -/obj/structure/table, -/obj/item/ammo_box/magazine/m45/rubber{ - pixel_x = 7; - pixel_y = -2 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 6 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 5 - }, -/obj/item/gun/ballistic/automatic/pistol/candor/no_mag{ - pixel_x = -2; - pixel_y = 9 - }, -/obj/item/reagent_containers/glass/rag{ - pixel_x = -6; - pixel_y = 1 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/sign/poster/contraband/lusty_xenomorph{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"vV" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27" - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"vW" = ( -/obj/structure/window/reinforced/tinted{ - dir = 1 - }, -/obj/machinery/shower{ - dir = 8; - pixel_y = -7 - }, -/obj/machinery/door/window/eastleft{ - dir = 8 - }, -/obj/structure/curtain, -/obj/item/soap/deluxe, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/toilet) -"wf" = ( -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"wt" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"wz" = ( -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 26; - pixel_y = -6 - }, -/obj/machinery/button/door{ - dir = 8; - id = "apartment_2"; - normaldoorcontrol = 1; - pixel_x = 26; - pixel_y = 6; - specialfunctions = 4 - }, -/obj/structure/closet/crate/bin, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/crewtwo) -"wA" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/snacks/cakeslice/lime, -/obj/item/kitchen/fork/plastic{ - pixel_x = -11 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27" - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"xf" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 8 - }, -/turf/open/floor/carpet/cyan, -/area/ship/crew/crewthree) -"xh" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/sign/poster/retro/radio{ - pixel_y = 32 - }, -/obj/item/kirbyplants/photosynthetic, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"xk" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"xl" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewfive) -"xo" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/crewtwo) -"xp" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/item/reagent_containers/food/drinks/shaker{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/reagent_containers/glass/rag, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"xs" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/components/trinary/filter/flipped/on/layer4{ - dir = 8; - filter_type = "o2" - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/camera/autoname{ - dir = 10 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"xt" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/monitor{ - icon_keyboard = "laptop_key"; - icon_screen = "seclaptop"; - icon_state = "laptop" - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"xx" = ( -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"xC" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ - dir = 9 - }, -/obj/effect/turf_decal/ihejirika_small{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"xE" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ - dir = 8 - }, -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"xF" = ( -/obj/item/kirbyplants/fullysynthetic, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"xH" = ( -/obj/structure/table/optable, -/obj/effect/turf_decal/borderfloor{ - dir = 6 - }, -/obj/structure/sign/poster/official/moth/epi{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical/surgery) -"xI" = ( -/obj/structure/railing, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - dir = 8; - icon = 'icons/obj/stairs.dmi' - }, -/area/ship/crew/crewfive) -"xK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"xT" = ( -/obj/structure/chair/sofa/brown/directional/north, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"xU" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/electrical, -/obj/item/decal_painter, -/obj/item/floor_painter, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"xV" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/dorm/dormfour) -"xW" = ( -/obj/structure/closet/wall/orange/directional/north, -/obj/item/clothing/suit/fire/atmos, -/obj/item/clothing/mask/gas/atmos, -/obj/item/clothing/head/hardhat/atmos, -/obj/item/storage/belt/utility/atmostech, -/obj/item/clothing/head/beret/atmos, -/obj/item/circuitboard/machine/shieldwallgen/atmos, -/obj/item/circuitboard/machine/shieldwallgen/atmos, -/obj/item/stack/tape/industrial, -/obj/item/stack/tape/industrial, -/obj/item/storage/backpack/duffelbag/engineering, -/obj/item/extinguisher/advanced, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ - dir = 4 - }, -/obj/item/clothing/head/beret/atmos, -/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"yg" = ( -/obj/machinery/light/directional/north, -/obj/structure/chair/sofa/brown/corner/directional/south, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"yi" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"ym" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"yr" = ( -/obj/structure/table, -/obj/machinery/computer/telecomms/monitor{ - dir = 4; - icon_keyboard = "laptop_key"; - icon_screen = "seclaptop"; - icon_state = "laptop" - }, -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"yE" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"yL" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/condiment/peppermill{ - pixel_x = 13; - pixel_y = 2 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/item/reagent_containers/food/snacks/friedegg, -/obj/item/kitchen/fork/plastic{ - pixel_x = -5; - pixel_y = -8 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"yR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/number/three{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"yY" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1; - name = "communications" - }, -/obj/machinery/computer/helm/viewscreen/directional/east, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/blue{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"zc" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"zs" = ( -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/sign/poster/random{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"zw" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/crewthree) -"zx" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/bookbinder, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27" - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew/crewthree) -"zy" = ( -/obj/item/reagent_containers/food/snacks/customizable/cheesewheel, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewfive) -"zz" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"zF" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1; - name = "Medical" - }, -/obj/machinery/computer/security/telescreen{ - dir = 4; - network = list("ss13"); - pixel_x = -30 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"zI" = ( -/obj/machinery/firealarm/directional/east, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"zK" = ( -/obj/machinery/door/airlock/external, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/hallway/starboard) -"zL" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew) -"zN" = ( -/obj/machinery/light/dim/directional/north, -/obj/structure/sign/departments/restroom{ - pixel_y = -32 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"zR" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/crewtwo) -"zW" = ( -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"Aa" = ( -/obj/structure/chair/sofa/brown/corner/directional/west, -/obj/machinery/camera/autoname{ - dir = 9 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 6 - }, -/obj/structure/sign/poster/retro/nanotrasen_logo_70s{ - pixel_x = 32 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew/crewthree) -"Af" = ( -/obj/structure/table/wood/poker, -/obj/item/paper{ - pixel_x = -6; - pixel_y = 8 - }, -/obj/item/paper, -/obj/item/pen{ - pixel_x = -6; - pixel_y = -3 - }, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"Aj" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/carpet/cyan, -/area/ship/crew/crewthree) -"Al" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"Am" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"Ay" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm/dormfour) -"Az" = ( -/obj/machinery/power/terminal, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/button/door{ - id = "enginedoor"; - pixel_y = 26 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"AJ" = ( -/obj/structure/table, -/obj/machinery/computer/bookmanagement, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"AL" = ( -/obj/machinery/button/door{ - dir = 4; - id = "a_4_shutter2"; - name = "Shutters"; - pixel_x = -26; - pixel_y = -6 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -26; - pixel_y = 6 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"AM" = ( -/obj/structure/table/wood/poker, -/obj/item/paper, -/obj/item/pen{ - pixel_x = -6; - pixel_y = 1 - }, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"AQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"AZ" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"Bm" = ( -/obj/machinery/modular_computer/console/preset/command, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/opaque/blue{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Bu" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Bz" = ( -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"BE" = ( -/obj/structure/chair/sofa/brown/corner/directional/south, -/obj/machinery/light/dim/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"BK" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/paper_bin/construction{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/paint/anycolor{ - pixel_x = 7; - pixel_y = -1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/wood/birch, -/area/ship/crew/crewtwo) -"BN" = ( -/obj/machinery/airalarm/directional/west, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"BV" = ( -/obj/structure/table, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/door/window/eastleft{ - dir = 1 - }, -/obj/item/storage/box/gloves{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/item/storage/box/masks, -/obj/item/storage/belt/medical, -/obj/item/reagent_containers/glass/bottle/formaldehyde{ - pixel_x = 5; - pixel_y = 8 - }, -/obj/item/reagent_containers/glass/bottle{ - list_reagents = list(/datum/reagent/medicine/thializid=30); - name = "thializid bottle" - }, -/obj/item/reagent_containers/syringe, -/obj/effect/turf_decal/borderfloorwhite{ - dir = 10 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical/surgery) -"BW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/airlock/public/glass{ - dir = 4; - name = "Dining Room" - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew/canteen) -"BX" = ( -/obj/item/clothing/glasses/regular/hipster, -/obj/item/clothing/gloves/color/latex, -/obj/item/clothing/head/beanie/stripedgreen, -/obj/item/clothing/head/flatcap, -/obj/item/clothing/neck/stripedredscarf, -/obj/item/clothing/suit/jacket, -/obj/item/clothing/suit/hawaiian, -/obj/item/clothing/suit/toggle/suspenders/gray, -/obj/item/clothing/suit/toggle/lawyer/burgundy, -/obj/item/clothing/under/dress/striped, -/obj/item/clothing/under/pants/khaki, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/under/suit/charcoal, -/obj/structure/closet/wall/directional/north{ - name = "Wardrobe" - }, -/obj/item/clothing/accessory/waistcoat, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm/dormthree) -"Ca" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 4 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew/crewthree) -"Cd" = ( -/obj/structure/table/wood/reinforced, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Ch" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/siding/wood/end{ - color = "#792f27"; - dir = 4 - }, -/obj/structure/fluff/hedge, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Cr" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/grown/potato/sweet{ - pixel_x = -16; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/snacks/grown/cabbage{ - pixel_x = -1; - pixel_y = 9 - }, -/obj/item/reagent_containers/glass/bucket/wooden, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"Cv" = ( -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/obj/structure/table, -/obj/structure/bedsheetbin, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"CE" = ( -/obj/structure/sink/puddle, -/obj/machinery/light/dim/directional/south, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"CH" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/garlicbread, -/obj/item/reagent_containers/food/snacks/grown/citrus/orange{ - pixel_x = -8; - pixel_y = 7 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/crew) -"CL" = ( -/obj/structure/table/wood/poker, -/obj/item/storage/pill_bottle/dice{ - pixel_x = -15; - pixel_y = 5 - }, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"CM" = ( -/obj/machinery/power/terminal, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"CO" = ( -/obj/structure/table, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/item/radio/intercom/wideband/table{ - dir = 8; - pixel_x = -4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"CU" = ( -/obj/structure/frame/machine, -/obj/item/stack/cable_coil/random/five, -/obj/item/circuitboard/machine/telecomms/receiver, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/ansible, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/crewfour) -"CV" = ( -/obj/structure/table, -/obj/item/weldingtool/mini{ - pixel_x = -2; - pixel_y = -14 - }, -/obj/item/healthanalyzer{ - pixel_x = 7; - pixel_y = 10 - }, -/obj/item/stock_parts/scanning_module/adv{ - pixel_x = -9; - pixel_y = 6 - }, -/obj/item/grenade/chem_grenade{ - pixel_x = 10; - pixel_y = -10 - }, -/obj/item/stack/cable_coil/cut{ - amount = 1 - }, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"Db" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/sign/poster/contraband/pwr_game{ - pixel_y = -32 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"Dj" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 6 - }, -/obj/machinery/power/smes/engineering, -/obj/structure/cable, -/obj/item/toy/plush/moth{ - name = "Sparky the Electrical Safety Moth"; - pixel_x = -3; - pixel_y = 15 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Du" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/trinary/filter/flipped/on/layer4{ - dir = 8; - filter_type = "n2" - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Dx" = ( -/obj/machinery/deepfryer, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"Dy" = ( -/obj/structure/table/wood, -/obj/item/kirbyplants/random{ - pixel_y = 8 - }, -/obj/structure/sign/poster/official/soft_cap_pop_art{ - pixel_y = 32 - }, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/crewtwo) -"Dz" = ( -/obj/machinery/airalarm/directional/east, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"DD" = ( -/obj/structure/chair/sofa/brown/left/directional/north, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"DH" = ( -/obj/structure/table/wood, -/obj/item/candle{ - pixel_x = -9; - pixel_y = 11 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 9 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"DN" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"DP" = ( -/obj/machinery/hydroponics/soil, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"DQ" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only/closed{ - dir = 4 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"DS" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"DT" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_x = 10; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/drinks/mug/tea{ - pixel_x = -5; - pixel_y = 7 - }, -/obj/item/reagent_containers/food/drinks/coffee, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"DV" = ( -/obj/item/pizzabox/margherita, -/obj/item/pizzabox/mushroom{ - pixel_y = 4 - }, -/obj/structure/table/wood/reinforced, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"DZ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"Eb" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/green, -/area/ship/crew) -"Ef" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/crewtwo) -"El" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "a_5_shutter" - }, -/turf/open/floor/plating, -/area/ship/crew/crewfour) -"Eo" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/carpet/nanoweave/purple, -/area/ship/crew/crewtwo) -"Ev" = ( -/obj/machinery/computer/helm, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/opaque/yellow{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"EA" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"EJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewfive) -"ES" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew) -"EX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Fd" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewfour) -"Fk" = ( -/obj/structure/chair/sofa/brown/corner/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/sign/poster/rilena/random{ - pixel_x = 32 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"Fl" = ( -/obj/structure/table, -/obj/item/defibrillator/loaded, -/obj/effect/turf_decal/borderfloor{ - dir = 10 - }, -/obj/machinery/airalarm/directional/south, -/obj/item/radio/intercom/directional/west, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical/surgery) -"Fq" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen) -"Fy" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1; - name = "helm" - }, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/yellow{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"FD" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/machinery/atmospherics/components/unary/portables_connector/layer4, -/obj/item/toy/figure/atmos{ - name = "Scrubbert"; - pixel_x = -9; - pixel_y = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"FE" = ( -/obj/machinery/suit_storage_unit/independent/mining/eva, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/storage) -"FI" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "a_4_shutter2" - }, -/turf/open/floor/plating, -/area/ship/crew/dorm/dormfive) -"FJ" = ( -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -26; - pixel_y = 6 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"FR" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/light_switch{ - pixel_y = 21; - pixel_x = -12 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage) -"Gb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/starboard) -"Ge" = ( -/obj/structure/sign/departments/mait, -/turf/closed/wall/mineral/titanium, -/area/ship/engineering/engine) -"Gf" = ( -/obj/structure/table/wood, -/obj/item/newspaper{ - pixel_x = 4; - pixel_y = 1 - }, -/obj/item/candle{ - pixel_x = -7; - pixel_y = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"Gm" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_x = 10; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/drinks/mug/coco{ - pixel_x = -6; - pixel_y = 10 - }, -/obj/item/book/random{ - pixel_x = -5; - pixel_y = -6 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/sign/poster/contraband/steppyflag{ - pixel_x = 32 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm/dormthree) -"Go" = ( -/obj/structure/chair/sofa/brown/directional/east, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"Gs" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "enginedoor" - }, -/turf/open/floor/plating, -/area/ship/external) -"Gu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/carpet/green, -/area/ship/crew) -"GE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table/wood, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"GG" = ( -/obj/item/kirbyplants/random, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/carpet, -/area/ship/crew/dorm) -"GM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"GN" = ( -/obj/structure/table/reinforced, -/obj/item/radio/intercom/wideband/table{ - dir = 1 - }, -/obj/item/toy/plush/knight{ - name = "The Navigator"; - pixel_x = -9; - pixel_y = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"GO" = ( -/obj/structure/table/wood, -/obj/item/toy/cards/deck/tarot{ - pixel_x = 7; - pixel_y = 5 - }, -/obj/item/newspaper{ - pixel_x = -19; - pixel_y = 1 - }, -/turf/open/floor/carpet/green, -/area/ship/crew) -"GQ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 1 - }, -/obj/machinery/button/door{ - id = "a_3_shutter2"; - name = "Shutters"; - pixel_x = -6; - pixel_y = 26 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew/crewthree) -"GS" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "ext_windows" - }, -/turf/open/floor/plating, -/area/ship/crew/cryo) -"GZ" = ( -/obj/structure/window/reinforced, -/obj/structure/sink/puddle, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"Ha" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "ext_windows" - }, -/turf/open/floor/plating, -/area/ship/hallway/starboard) -"Hb" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"He" = ( -/obj/machinery/door/airlock/hatch{ - name = "Maintenance" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/engineering/electrical) -"Hj" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"Hl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/advanced_airlock_controller{ - pixel_y = 32; - req_access = null - }, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/port) -"Hs" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "a_3_shutter" - }, -/turf/open/floor/plating, -/area/ship/crew/dorm/dormthree) -"Hu" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/turf/open/floor/wood/ebony, -/area/ship/crew/canteen) -"Hz" = ( -/obj/machinery/door/window/eastright{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"HD" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewfive) -"HJ" = ( -/obj/structure/chair/sofa/brown/directional/west, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"HP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 26; - pixel_y = 6 - }, -/obj/item/kirbyplants/random, -/obj/machinery/button/door{ - dir = 8; - id = "apartment_1"; - normaldoorcontrol = 1; - pixel_x = 26; - pixel_y = -6; - specialfunctions = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"HU" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"HY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewtwo) -"Ib" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/suit_storage_unit/independent/engineering, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/light_switch{ - pixel_y = 21; - pixel_x = -12 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"If" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"Ij" = ( -/obj/structure/chair/sofa/brown/corner/directional/west, -/obj/machinery/camera/autoname{ - dir = 9 - }, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"In" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "a_4_shutter"; - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/crew/crewfive) -"Io" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/secure_data/laptop{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/yellow{ - dir = 10 - }, -/obj/machinery/light/dim/directional/west, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Is" = ( -/obj/structure/table, -/obj/item/paicard{ - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/paicard{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/paicard, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"It" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 4; - piping_layer = 2 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"Iu" = ( -/obj/structure/table/wood/poker, -/obj/item/reagent_containers/food/snacks/cornchips{ - pixel_x = 9; - pixel_y = 5 - }, -/obj/item/reagent_containers/food/snacks/chips{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/item/reagent_containers/food/snacks/cornchips, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"ID" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"IJ" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"IK" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/machinery/autolathe, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"IN" = ( -/obj/structure/table, -/obj/item/flashlight/lamp{ - pixel_x = -9; - pixel_y = 12 - }, -/obj/item/toy/figure/detective{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/toy/figure/janitor{ - pixel_x = -4; - pixel_y = 2 - }, -/obj/item/toy/figure/assistant, -/obj/item/toy/figure/ian{ - pixel_x = -7; - pixel_y = -1 - }, -/obj/item/toy/figure/ninja{ - pixel_x = 10; - pixel_y = 2 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewfive) -"IQ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"IU" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"IY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/button/door{ - dir = 4; - id = "a_2_shutter"; - name = "Shutters"; - pixel_x = -26; - pixel_y = 26 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewtwo) -"Jd" = ( -/obj/item/paper/crumpled{ - pixel_x = 1; - pixel_y = -6 - }, -/turf/open/floor/plating/rust, -/area/ship/crew/dorm) -"Jg" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Medical Bay" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/medical/surgery) -"Jq" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/window/reinforced, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Ju" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"Jz" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/crewfive) -"JK" = ( -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"JM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/closet/wall/blue/directional/south{ - name = "Janitorial Closet" - }, -/obj/item/soap/deluxe, -/obj/item/mop, -/obj/item/reagent_containers/glass/bucket, -/obj/item/reagent_containers/glass/rag, -/obj/item/storage/box/mousetraps, -/obj/item/clothing/shoes/galoshes, -/obj/item/clothing/head/soft/purple, -/obj/item/clothing/gloves/color/latex/nitrile/evil, -/obj/item/storage/box/maid, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"JX" = ( -/obj/machinery/power/terminal, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Kj" = ( -/obj/effect/turf_decal/borderfloorwhite{ - dir = 5 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 26; - pixel_y = 6 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"Kn" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"Kr" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"Ky" = ( -/obj/structure/table, -/obj/item/trash/plate, -/obj/item/reagent_containers/food/snacks/pancakes/chocolatechip{ - pixel_y = 7 - }, -/obj/item/reagent_containers/food/snacks/pancakes/chocolatechip{ - pixel_x = -1; - pixel_y = 9 - }, -/obj/item/reagent_containers/food/snacks/pancakes/chocolatechip{ - pixel_y = 12 - }, -/obj/item/kitchen/fork/plastic{ - pixel_x = 14; - pixel_y = 3 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Kz" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/wood/birch, -/area/ship/crew/crewfive) -"KB" = ( -/obj/machinery/atmospherics/pipe/manifold/cyan/visible/layer4{ - dir = 1 - }, -/obj/structure/reagent_dispensers/fueltank, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"KF" = ( -/obj/structure/chair/sofa/brown/right/directional/west, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"KI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"KK" = ( -/obj/structure/table, -/obj/item/paint/anycolor{ - pixel_x = 11; - pixel_y = 8 - }, -/obj/item/toy/crayon/spraycan{ - pixel_x = 7; - pixel_y = 5 - }, -/obj/item/screwdriver{ - pixel_x = -15; - pixel_y = -3 - }, -/obj/item/toy/figure/captain{ - pixel_x = -4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewfive) -"KM" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood/ebony, -/area/ship/crew/canteen) -"KU" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/machinery/light/dim/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"KX" = ( -/obj/structure/chair/sofa/brown/right/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/carpet/green, -/area/ship/crew) -"La" = ( -/obj/machinery/hydroponics/soil, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"Lb" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/toilet) -"Lc" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/dorm/dormthree) -"Ln" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27" - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Lp" = ( -/obj/structure/chair/sofa/brown/directional/north, -/obj/structure/sign/poster/retro/pdaancient{ - pixel_y = -32 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27" - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew/crewthree) -"Lw" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"LB" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"LK" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewtwo) -"LO" = ( -/obj/machinery/door/airlock/wood{ - dir = 4; - id_tag = "apartment_3"; - name = "Apartment 3" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew/crewthree) -"LQ" = ( -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"LS" = ( -/obj/structure/closet/wall/directional/east{ - name = "Wardrobe" - }, -/obj/item/clothing/suit/toggle/labcoat/chemist/side, -/obj/item/clothing/head/beret/puce, -/obj/item/clothing/head/beret/chem, -/obj/item/clothing/suit/hooded/wintercoat/science, -/obj/item/clothing/suit/jacket/miljacket, -/obj/item/clothing/under/dress/sundress, -/obj/item/clothing/under/color/random, -/obj/item/clothing/under/color/jumpskirt/random, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet, -/area/ship/crew/dorm) -"LT" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/dorms, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"LU" = ( -/obj/structure/table, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"LV" = ( -/obj/structure/sign/poster/contraband/mothpill, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm) -"LZ" = ( -/obj/machinery/vending/cigarette, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"Md" = ( -/obj/item/circuitboard/machine/telecomms/relay, -/obj/item/circuitboard/machine/telecomms/message_server, -/obj/structure/closet/wall/blue/directional/west{ - name = "Component Storage" - }, -/obj/item/stack/cable_coil/blue, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/effect/turf_decal/techfloor, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"Me" = ( -/obj/structure/chair/sofa/brown/directional/north, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"Mg" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_x = 10; - pixel_y = 14 - }, -/obj/machinery/light_switch{ - pixel_x = -6; - pixel_y = 26 - }, -/obj/item/book/manual/wiki/engineering{ - pixel_x = -8; - pixel_y = -1 - }, -/obj/item/encryptionkey/wideband{ - pixel_x = 8; - pixel_y = -1 - }, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/dorm/dormfour) -"Mh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewtwo) -"MC" = ( -/obj/structure/chair/stool/bar, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"MG" = ( -/obj/machinery/jukebox, -/obj/effect/turf_decal/techfloor, -/obj/structure/sign/poster/official/mini_energy_gun{ - pixel_x = 32 - }, -/obj/machinery/camera/autoname{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"MH" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/engineering/electrical) -"MJ" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/machinery/chem_dispenser/drinks/beer{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"MM" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 10 - }, -/obj/machinery/power/port_gen/pacman/super, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/item/toy/figure/engineer{ - name = "Howard"; - pixel_x = -5; - pixel_y = 12 - }, -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"MX" = ( -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"Nd" = ( -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 26; - pixel_y = 6 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"Ng" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/turf_decal/siding/wood/corner{ - color = "#792f27"; - dir = 1 - }, -/turf/open/floor/carpet/cyan, -/area/ship/crew/crewthree) -"Ni" = ( -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - id = "bridge_windows"; - name = "Bridge Shutters"; - pixel_x = 6 - }, -/obj/machinery/button/door{ - id = "ext_windows"; - name = "External Shutters"; - pixel_x = -6 - }, -/obj/item/areaeditor/shuttle{ - pixel_y = 11 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"Nj" = ( -/obj/effect/turf_decal/siding/wood{ - color = "#792f27" - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Nl" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/suit_storage_unit/independent/engineering, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ - dir = 6 - }, -/obj/machinery/light_switch{ - pixel_y = 21; - pixel_x = -12 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"Nv" = ( -/obj/machinery/light/dim/directional/west, -/obj/machinery/iv_drip, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/light_switch{ - pixel_y = 21; - pixel_x = -12 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical/surgery) -"Ny" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"ND" = ( -/obj/machinery/door/airlock/wood{ - dir = 4; - id_tag = "apartment_2"; - name = "Apartment 2" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew/crewtwo) -"NJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"NM" = ( -/obj/machinery/vending/snack/teal, -/obj/structure/sign/poster/official/moth/smokey{ - pixel_x = -32 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"NN" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm/dormtwo) -"NT" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/machinery/chem_dispenser/drinks{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"NX" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 9 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 12 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Of" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/mug{ - list_reagents = list(/datum/reagent/consumable/coffee=30); - pixel_x = -5; - pixel_y = 8 - }, -/obj/item/reagent_containers/food/drinks/mug/tea{ - pixel_x = 4; - pixel_y = 5 - }, -/obj/item/reagent_containers/food/drinks/mug{ - list_reagents = list(/datum/reagent/consumable/coffee=30); - pixel_x = -2; - pixel_y = 1 - }, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"Om" = ( -/obj/structure/chair/comfy/grey/directional/west, -/mob/living/simple_animal/parrot/Polly{ - name = "Pollyphema" - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewfour) -"Oz" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood, -/obj/item/toy/crayon/spraycan{ - pixel_y = 8 - }, -/obj/item/toy/crayon/spraycan{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/toy/crayon/spraycan{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/toy/crayon/spraycan{ - pixel_y = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/wood/birch, -/area/ship/crew/crewtwo) -"OE" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"OH" = ( -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/machinery/vending/dinnerware, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"OJ" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/ihejirika_small/left{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"OM" = ( -/obj/structure/sign/poster/random{ - pixel_x = -32 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"OQ" = ( -/obj/item/chair/plastic{ - pixel_x = -3 - }, -/obj/item/chair/plastic{ - pixel_y = 3 - }, -/obj/item/chair/plastic{ - pixel_x = 3; - pixel_y = 7 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"OS" = ( -/obj/machinery/vending/clothing, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"Pg" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"Pl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"Pr" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/mob/living/simple_animal/chicken{ - name = "Cluck" - }, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"Ps" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/layer2{ - dir = 4 - }, -/obj/machinery/advanced_airlock_controller{ - pixel_x = -32; - req_access = null - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/starboard) -"Pw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/camera/autoname{ - dir = 9 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"Px" = ( -/obj/structure/chair/sofa/brown/directional/south, -/obj/structure/sign/poster/official/high_class_martini{ - pixel_y = 32 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Pz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewfour) -"PB" = ( -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"PH" = ( -/obj/structure/chair/sofa/brown/corner/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"PJ" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/blue{ - dir = 9 - }, -/obj/item/radio/intercom/wideband/table, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"PK" = ( -/obj/machinery/light/dim/directional/north, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"PL" = ( -/obj/structure/sign/directions/command{ - dir = 4; - pixel_y = 7 - }, -/obj/structure/sign/directions/engineering, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen) -"PO" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewtwo) -"PR" = ( -/obj/structure/railing, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewfive) -"PS" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/security/armory) -"PV" = ( -/obj/machinery/vending/autodrobe, -/obj/item/reagent_containers/food/snacks/customizable/cheesewheel, -/obj/effect/turf_decal/siding/wood/end{ - dir = 8 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewfive) -"PW" = ( -/obj/structure/chair/comfy/beige{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/ship/crew/dorm) -"Qb" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"Qe" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 10 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Qg" = ( -/obj/machinery/vending/wallmed{ - pixel_y = 32 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical/surgery) -"Qk" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/item/toy/figure/atmos{ - name = "Pumpington"; - pixel_x = 1; - pixel_y = 10 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"Qz" = ( -/obj/structure/closet/crate/bin, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew) -"QA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"QH" = ( -/obj/machinery/hydroponics/soil, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"QO" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/hallway/starboard) -"QQ" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/storage) -"QT" = ( -/obj/structure/table, -/obj/item/wirecutters{ - pixel_y = -3 - }, -/obj/item/paper{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/item/pen/charcoal{ - pixel_x = -10; - pixel_y = 7 - }, -/obj/item/flashlight/lamp/green{ - pixel_x = 7; - pixel_y = 14 - }, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"QV" = ( -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/item/reagent_containers/food/snacks/meat/slab/chicken, -/obj/item/reagent_containers/food/snacks/meat/slab/chicken, -/obj/item/reagent_containers/food/snacks/meat/slab/synthmeat, -/obj/item/reagent_containers/food/snacks/meat/slab/synthmeat, -/obj/item/reagent_containers/food/snacks/meat/slab/synthmeat, -/obj/item/reagent_containers/food/snacks/meat/slab/synthmeat, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/soymilk, -/obj/item/reagent_containers/food/condiment/soymilk, -/obj/item/storage/fancy/egg_box, -/obj/item/storage/fancy/egg_box, -/obj/structure/closet/secure_closet/wall/directional/east{ - name = "Freezer" - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"QW" = ( -/obj/machinery/door/airlock/hatch{ - name = "Sleeping Quarters" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew/dorm/dormfour) -"QX" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"QZ" = ( -/obj/structure/chair/sofa/brown/directional/north, -/obj/machinery/light/dim/directional/south, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"Rg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/engine) -"Rm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"Rn" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/crewfour) -"Rs" = ( -/obj/item/toy/plush/lizardplushie{ - name = "Charts-The-Stars"; - pixel_y = 18 - }, -/obj/machinery/computer/arcade/orion_trail{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/ship/crew/dorm) -"Ru" = ( -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 26; - pixel_y = -11 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/carpet, -/area/ship/crew/dorm) -"Rz" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/cryo) -"RE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"RI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"RK" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 10 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"RL" = ( -/obj/structure/chair/sofa/brown/directional/north, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood/walnut, -/area/ship/crew) -"RT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"Sb" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"Sd" = ( -/obj/structure/table, -/obj/item/storage/box/actionfigure{ - pixel_x = 9; - pixel_y = 8 - }, -/obj/item/toy/figure/wizard{ - pixel_x = -11; - pixel_y = 9 - }, -/obj/item/toy/figure/clown{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/item/toy/figure/engineer{ - pixel_x = -9; - pixel_y = 3 - }, -/obj/item/toy/figure/md{ - pixel_x = -3; - pixel_y = 1 - }, -/obj/item/toy/figure/secofficer{ - pixel_x = -11; - pixel_y = -3 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewfive) -"Sf" = ( -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"Sg" = ( -/obj/structure/table, -/obj/item/ammo_casing/c45/rubber{ - pixel_x = 6; - pixel_y = 7 - }, -/obj/item/ammo_casing/c45/rubber{ - pixel_x = 4; - pixel_y = 5 - }, -/obj/item/ammo_casing/c45/rubber{ - pixel_x = 8; - pixel_y = 3 - }, -/obj/item/screwdriver{ - pixel_x = -5; - pixel_y = -3 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 5 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/sign/poster/contraband/backdoor_xeno_babes_6{ - pixel_x = -32 - }, -/obj/item/radio/intercom/directional/north{ - pixel_y = 26 - }, -/obj/item/flashlight/lamp{ - pixel_x = -9; - pixel_y = 12 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"Sh" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Sp" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/engine) -"Sv" = ( -/obj/structure/sign/poster/contraband/power, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/electrical) -"SC" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage) -"SF" = ( -/obj/machinery/libraryscanner, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 5 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew/crewthree) -"SG" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/grown/watermelon, -/obj/item/reagent_containers/food/snacks/grown/grapes{ - pixel_x = -8; - pixel_y = 12 - }, -/obj/item/reagent_containers/food/snacks/grown/aloe{ - pixel_x = 8; - pixel_y = 13 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"SK" = ( -/obj/machinery/door/airlock{ - dir = 4; - name = "Cryogenics" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew/cryo) -"SM" = ( -/obj/structure/chair/wood{ - dir = 1 - }, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"SN" = ( -/obj/structure/table, -/obj/item/toy/cards/deck/cas/black{ - pixel_x = 6; - pixel_y = 7 - }, -/obj/item/toy/cards/deck/cas{ - pixel_x = 4; - pixel_y = 3 - }, -/obj/item/toy/cards/deck{ - pixel_x = -5; - pixel_y = 9 - }, -/obj/item/storage/pill_bottle/dice{ - pixel_x = -8; - pixel_y = -5 - }, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"Td" = ( -/obj/machinery/light_switch{ - pixel_x = -6; - pixel_y = 26 - }, -/obj/structure/table/wood, -/obj/item/toy/plush/spider{ - name = "ESA(Emotional Support Arachnid)"; - pixel_x = -4; - pixel_y = 2 - }, -/obj/item/flashlight/lamp/green{ - pixel_x = 10; - pixel_y = 1 - }, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm/dormtwo) -"Th" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/item/cultivator/rake, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"Tl" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/structure/curtain/cloth/grey, -/obj/machinery/light/dim/directional/east, -/obj/structure/sign/poster/contraband/hacking_guide{ - pixel_y = -32 - }, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/dorm/dormfour) -"Tn" = ( -/obj/effect/turf_decal/borderfloorwhite, -/obj/item/bikehorn/rubberducky, -/obj/structure/sign/poster/official/cleanliness{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"Tq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"TC" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/storage) -"TI" = ( -/obj/structure/closet/wall/blue/directional/west{ - name = "Personal Effects" - }, -/obj/item/storage/belt/utility/full, -/obj/item/clothing/suit/hooded/wintercoat/engineering, -/obj/item/clothing/under/misc/pj/red, -/obj/item/clothing/under/pants/black, -/obj/item/clothing/under/dress/blacktango, -/obj/item/clothing/suit/apron/overalls, -/obj/item/clothing/suit/gothcoat, -/obj/item/clothing/suit/ianshirt, -/obj/item/clothing/suit/nerdshirt, -/obj/item/clothing/head/beret/eng/hazard, -/obj/item/radio/headset/headset_eng, -/obj/item/cartridge/lawyer, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/dorm/dormfour) -"TJ" = ( -/obj/structure/closet/wall/directional/east{ - name = "Personal Effects" - }, -/obj/item/storage/bag/chemistry, -/obj/item/storage/box/pillbottles, -/obj/item/modular_computer/laptop/preset/civilian, -/obj/item/storage/box/medigels, -/obj/item/reagent_containers/syringe, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/circuitboard/machine/autolathe, -/turf/open/floor/carpet, -/area/ship/crew/dorm) -"TK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"TL" = ( -/obj/structure/sign/departments/science, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm/dormfour) -"TM" = ( -/obj/machinery/door/airlock/wood{ - dir = 4; - id_tag = "apartment_4"; - name = "Apartment 4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew/crewfive) -"TX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/ship/crew/dorm) -"Ug" = ( -/obj/structure/sign/poster/contraband/syndiemoth, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/storage) -"Ui" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-10" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Uj" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/visible/layer2, -/obj/effect/turf_decal/number/zero{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"Ul" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Un" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/machinery/light/dim/directional/north, -/obj/item/bedsheet/dorms, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm/dormthree) -"Up" = ( -/obj/machinery/light/directional/north, -/obj/structure/chair/sofa/brown/corner/directional/east, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Ut" = ( -/obj/effect/landmark/observer_start, -/turf/open/floor/wood/ebony, -/area/ship/crew/canteen) -"Uu" = ( -/obj/structure/sign/poster/contraband/missing_gloves, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/engine) -"Uy" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/hydroponics) -"UB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewfour) -"UF" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/dorm) -"UG" = ( -/obj/structure/chair/sofa/brown/left/directional/north, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27" - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew/crewthree) -"UH" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/storage/toolbox/artistic{ - pixel_x = -3; - pixel_y = 4 - }, -/obj/item/storage/toolbox/artistic{ - pixel_x = 2; - pixel_y = -1 - }, -/obj/machinery/camera/autoname, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/wood/birch, -/area/ship/crew/crewtwo) -"UI" = ( -/obj/machinery/computer/crew, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ - dir = 9 - }, -/obj/machinery/camera/autoname{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"UM" = ( -/obj/machinery/door/airlock/wood{ - dir = 4; - id_tag = "apartment_1"; - name = "Apartment 1" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew) -"UN" = ( -/obj/effect/turf_decal/corner/opaque/green/border, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"UU" = ( -/obj/structure/chair/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 10 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"UV" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"UY" = ( -/obj/structure/table, -/obj/item/storage/fancy/donut_box{ - pixel_x = -11; - pixel_y = 11 - }, -/obj/item/reagent_containers/food/snacks/store/bread/banana{ - pixel_x = 14; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/snacks/breadslice/banana, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"Vg" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Vk" = ( -/obj/structure/chair/sofa/brown/directional/south, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Vn" = ( -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-10" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Vp" = ( -/obj/structure/rack, -/obj/item/pickaxe, -/obj/item/pickaxe, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/item/mining_scanner, -/obj/item/mining_scanner, -/turf/open/floor/plasteel/tech, -/area/ship/storage) -"VI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"VU" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/table, -/obj/item/weldingtool/mini{ - pixel_x = -14; - pixel_y = -3 - }, -/obj/item/organ/cyberimp/arm/toolset/l{ - pixel_x = 4; - pixel_y = 8 - }, -/obj/machinery/airalarm/directional/north, -/obj/item/circuitboard/machine/telecomms/hub{ - pixel_x = -3; - pixel_y = -4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"VX" = ( -/obj/machinery/door/airlock/wood{ - dir = 4; - name = "Garden" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/crew/hydroponics) -"VZ" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/hallway/port) -"Wk" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Wl" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/crewfive) -"Wv" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/crewfour) -"Wx" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "ext_windows" - }, -/turf/open/floor/plating, -/area/ship/crew/hydroponics) -"WA" = ( -/turf/open/floor/carpet/green, -/area/ship/crew) -"WK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"WL" = ( -/obj/machinery/camera/autoname{ - dir = 4 - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"WP" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"WR" = ( -/obj/structure/flora/ausbushes/sunnybush, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"WS" = ( -/obj/machinery/light/dim/directional/north, -/obj/structure/closet/crate/hydroponics, -/obj/effect/spawner/lootdrop/seeded, -/obj/effect/spawner/lootdrop/seeded, -/obj/effect/spawner/lootdrop/seeded, -/obj/effect/spawner/lootdrop/seeded, -/obj/item/seeds/random, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"WT" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"WV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/starboard) -"WX" = ( -/obj/structure/railing{ - dir = 4; - layer = 3.1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ - dir = 6 - }, -/obj/machinery/light/dim/directional/south, -/obj/machinery/suit_storage_unit/independent/pilot, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"WZ" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/vending/engineering, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"Xo" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/ship/bridge) -"Xr" = ( -/obj/machinery/light_switch{ - pixel_x = -6; - pixel_y = 26 - }, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/bottlegreen, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/medical/surgery) -"Xt" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/easel, -/turf/open/floor/wood/birch, -/area/ship/crew/crewtwo) -"XF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/mob/living/simple_animal/hostile/retaliate/poison/snake/bookworm{ - name = "Wyrm" - }, -/turf/open/floor/carpet/cyan, -/area/ship/crew/crewthree) -"XH" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfive) -"XJ" = ( -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/camera/autoname{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"XO" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/item/storage/bag/tray/cafeteria{ - pixel_y = -3 - }, -/obj/item/storage/bag/tray/cafeteria, -/obj/item/storage/bag/tray/cafeteria{ - pixel_y = 3 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"XP" = ( -/obj/machinery/button/door{ - id = "a_5_shutter"; - name = "Shutters"; - pixel_x = -6; - pixel_y = 26 - }, -/obj/effect/turf_decal/techfloor, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"XS" = ( -/obj/machinery/holopad/emergency/command{ - pixel_x = -16 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Yd" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm) -"Yf" = ( -/obj/machinery/hydroponics/soil, -/obj/structure/sign/poster/contraband/ambrosia_vulgaris{ - pixel_y = -32 - }, -/obj/machinery/camera/autoname{ - dir = 10 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"Yg" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"Yj" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/turf/open/floor/wood/birch, -/area/ship/crew/crewtwo) -"Yq" = ( -/obj/machinery/hydroponics/soil, -/obj/structure/sign/poster/contraband/kudzu{ - pixel_y = 32 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"Yv" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/dorm/dormfive) -"Yx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/sign/poster/random{ - pixel_x = -32 - }, -/obj/machinery/light/directional/west, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"Yz" = ( -/obj/item/kirbyplants/random, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/carpet, -/area/ship/crew/crewfive) -"YM" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical/surgery) -"YQ" = ( -/obj/machinery/power/terminal, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"YS" = ( -/obj/structure/window/reinforced, -/obj/structure/sink/puddle, -/obj/machinery/light/dim/directional/west, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"YT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/wood/ebony, -/area/ship/crew/canteen) -"Zi" = ( -/obj/structure/sign/poster/contraband/tools, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/engine) -"Zp" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/siding/wood{ - color = "#792f27"; - dir = 1 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew/crewthree) -"Zt" = ( -/obj/machinery/door/airlock/hatch{ - name = "Maintenance" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/ship/engineering/engine) -"Zv" = ( -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"ZB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"ZD" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 5 - }, -/obj/machinery/power/smes/engineering, -/obj/item/toy/figure/engineer{ - name = "Stern"; - pixel_x = 3; - pixel_y = 13 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"ZG" = ( -/obj/machinery/light/directional/east, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) -"ZK" = ( -/obj/structure/table, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/item/disk/tech_disk/major{ - pixel_x = -7; - pixel_y = -5 - }, -/obj/item/disk/tech_disk{ - pixel_x = -3; - pixel_y = -2 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = 8; - pixel_y = 12 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/crewfour) -"ZS" = ( -/obj/machinery/processor, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen) -"ZT" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical/surgery) -"ZU" = ( -/obj/structure/closet/emcloset/wall/directional/east, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/hallway/port) - -(1,1,1) = {" -qa -qa -qa -qa -qa -qa -UF -UF -ES -sK -sK -sK -ES -bZ -bZ -eF -eF -eF -bZ -Lc -Hs -Lc -Lc -ek -zw -zw -Wx -Wx -Wx -Wx -aj -qa -qa -qa -qa -qa -qa -qa -qa -qa -"} -(2,1,1) = {" -qa -qa -qa -qa -ac -kK -Yd -Yd -bt -jD -aY -Qz -hg -Ef -UH -IY -Xt -jk -jR -ev -BX -ts -iA -co -dO -lW -Yq -Th -La -Yf -Uy -aj -aj -qa -qa -qa -qa -qa -qa -qa -"} -(3,1,1) = {" -qa -qa -qa -ac -kK -CV -ei -Yd -CH -eu -eu -eu -px -Ef -BK -LK -Yj -PO -Oz -ev -Un -Gm -ev -GQ -rc -lW -ud -hK -ZB -Pl -aF -YS -Uy -aj -qa -qa -qa -qa -qa -qa -"} -(4,1,1) = {" -qa -qa -UF -kK -QT -fc -or -Yd -eS -rk -rk -rk -dh -Ef -uJ -Mh -ub -HY -pu -ev -ev -ev -ev -Zp -zx -lW -jr -Tq -SG -vG -DQ -QX -WR -aj -qa -qa -qa -qa -qa -qa -"} -(5,1,1) = {" -qa -qa -UF -Rs -os -os -Jd -if -GE -Eb -WA -mH -DD -Ef -Eo -jn -ag -ag -ag -ag -cV -uf -xf -Ng -UG -lW -DP -Tq -Cr -RT -RE -hU -CE -Uy -MH -MH -MH -qa -qa -qa -"} -(6,1,1) = {" -qa -UF -LV -PW -os -TX -GG -Yd -LB -Gu -KX -GO -RL -Ef -Dy -zR -pp -NN -js -ag -gC -Aj -XF -bX -Lp -lW -WS -sr -xK -AQ -eK -lz -th -Uy -cp -MM -MH -qa -qa -qa -"} -(7,1,1) = {" -UF -Yd -mR -TJ -eo -LS -Ru -je -KI -HP -PH -gk -Fk -Ef -wz -xo -ag -Td -nr -ag -SF -Ca -sP -dV -Aa -lW -fu -Qb -QH -nz -Pr -GZ -Uy -Uy -WT -ri -Sv -aq -qa -qa -"} -(8,1,1) = {" -Yd -Yd -Yd -Yd -Yd -Yd -Yd -Yd -UM -zL -zL -zL -zL -Ef -Ef -ND -ag -iH -ag -ag -lW -LO -lW -lW -lW -lW -gh -VX -Uy -Uy -Uy -Uy -Uy -Ib -Vn -pT -aO -Sp -aq -qa -"} -(9,1,1) = {" -mE -Hl -uM -pL -nN -bo -If -Yx -kr -wt -Am -wt -wt -eN -wt -Hj -yE -sG -wt -eN -wt -OE -dQ -jy -Sb -nw -Sb -Hj -Kn -Sb -Sb -Sb -aM -uU -sF -Zv -He -WP -Sp -aq -"} -(10,1,1) = {" -mE -jc -pj -VZ -dk -Dz -hG -wf -RI -zI -Pg -Nd -tY -tY -tY -Ju -ZG -hG -tY -tY -tY -uL -qC -gY -tY -hG -tY -so -op -tY -Dz -lG -vN -Ui -EX -fa -aO -pa -Jq -Gs -"} -(11,1,1) = {" -mE -mW -mW -mE -mE -mE -hu -hu -hu -mE -mE -mE -hu -hu -hu -mE -mE -LZ -kB -IJ -ZU -mE -gV -PL -Fq -Fq -er -Fq -hR -Fq -Fq -Fq -aO -ZD -IK -Dj -aO -Az -Jq -Gs -"} -(12,1,1) = {" -fS -fg -fg -WL -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -mA -mA -mA -mA -mA -mA -Db -Fq -DH -UU -vx -Ch -oS -NX -cI -Qe -vj -aO -aO -aO -jK -rl -Zi -aq -"} -(13,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -mA -mA -Io -UI -zF -tU -mA -fY -Fq -rv -Nj -YT -KM -hB -MC -DV -Nj -NT -eI -OH -Fq -FD -lc -Sp -qa -"} -(14,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -kR -Ev -Fy -fk -hx -WX -mA -ro -Fq -Up -mK -Sh -RK -vx -bg -Cd -Nj -MJ -dD -mV -Fq -Nl -xs -Sp -aq -"} -(15,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -kR -GN -fF -ey -IU -em -ee -qC -Fq -Px -Ky -yL -vV -Ut -bg -Cd -Nj -xp -rB -Dx -Fq -xW -JX -Jq -Gs -"} -(16,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -kR -Ni -Ul -XS -Vg -Xo -kY -EA -Fq -Vk -LU -iq -wA -vx -bg -Cd -Nj -XO -rB -aC -Fq -jh -ka -Jq -Gs -"} -(17,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -kR -xt -aG -PJ -dN -fN -mA -PK -Fq -yg -nc -cZ -xk -vx -bg -Cd -Nj -DN -sW -bN -Fq -KB -Du -Uu -aq -"} -(18,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -mA -mA -gM -Bm -yY -mc -mA -aE -Fq -Wk -Nj -Hu -KM -hB -gS -Cd -Ln -gd -QV -ZS -Fq -xE -Bu -Rg -qc -"} -(19,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -mA -mA -mA -mA -mA -mA -iT -Fq -ha -SM -rI -dj -hL -bn -Hz -XJ -Fq -Fq -Fq -Fq -vP -JM -Sp -aq -"} -(20,1,1) = {" -qa -qa -qa -qa -qa -qa -fg -kS -kS -kS -kS -kS -Ha -Ha -Ha -kS -kS -NM -ny -xF -rK -kS -gp -ez -Fq -Fq -BW -Fq -oW -Fq -Fq -Fq -Sp -Qk -It -rY -lJ -CM -Jq -Gs -"} -(21,1,1) = {" -qa -qa -qa -qa -qa -qa -fg -zK -Ps -Gb -dA -VI -LQ -LQ -LQ -id -Sf -LQ -LQ -LQ -LQ -cX -ym -AZ -OM -IQ -NJ -en -LQ -LQ -BN -uO -Ge -yR -Uj -ma -zc -YQ -Jq -Gs -"} -(22,1,1) = {" -qa -qa -qa -qa -qa -qa -tX -zK -fz -ng -QO -WV -lO -MX -Pw -Al -DS -bL -bL -sp -bL -uI -zz -UV -bL -Lw -tH -eJ -HU -HU -HU -HU -Zt -jt -xC -OJ -xU -bk -Sp -aq -"} -(23,1,1) = {" -qa -qa -qa -qa -qa -qa -fg -cJ -cJ -cJ -Jz -Jz -Jz -Jz -Jz -TM -Jz -Jz -Jz -Jz -Rn -pw -Ay -Ay -Ay -Ay -fU -Lb -Lb -Lb -sb -sb -sb -QQ -QQ -vC -Sp -Sp -aq -qa -"} -(24,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -PS -Sg -FJ -hn -PR -PV -bb -Yz -GM -oC -Go -fK -Jz -qB -bP -QW -xV -TI -Ay -eC -Lb -jp -pJ -sb -Nv -Fl -QQ -FR -SC -Ug -aq -qa -qa -"} -(25,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -PS -vU -fZ -qq -xI -EJ -DZ -Yg -Ny -kw -gb -xT -Jz -yi -Fd -Ay -Mg -Tl -Ay -zN -Lb -kU -Tn -sb -cW -gN -QQ -FE -Vp -TC -qa -qa -qa -"} -(26,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -PS -cJ -qe -Jz -mf -iI -SN -OQ -TK -Iu -CL -QZ -Jz -WZ -UB -TL -Ay -Ay -Ay -hh -hF -Kj -vW -sb -Qg -xH -QQ -TC -TC -TC -qa -qa -qa -"} -(27,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -qa -PS -cJ -Jz -se -zy -AJ -Hb -vd -Af -AM -Me -Jz -tM -UB -nX -Md -fP -Rz -SK -Lb -Lb -Lb -vM -ZT -BV -tC -qa -qa -qa -qa -qa -qa -"} -(28,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -qa -PS -Jz -IN -rC -HD -iu -Kr -WK -KF -HJ -Ij -Jz -VU -UB -eX -lM -CU -Rz -zs -da -zW -gs -Jg -YM -hJ -tQ -qa -qa -qa -qa -qa -qa -"} -(29,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -qa -qa -mP -KK -Kz -us -iK -tI -iK -iK -iK -iK -iK -xh -Pz -ia -hy -su -Rz -PB -Rm -Is -UN -sb -Xr -pA -tQ -qa -qa -qa -qa -qa -qa -"} -(30,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -qa -qa -mz -mP -Sd -xl -iK -QA -AL -uW -kC -rt -iK -yr -iJ -CO -mB -KU -Rz -uC -Rm -UY -fy -sb -sb -sb -tC -qa -qa -qa -qa -qa -qa -"} -(31,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -In -mP -ht -iK -tA -Gf -XH -pK -qV -iK -XP -Om -ZK -mB -ID -Rz -Cv -tz -Of -mC -lS -eA -cH -qa -qa -qa -qa -qa -qa -qa -"} -(32,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -Wl -Jz -iK -BE -dp -LT -DT -fI -iK -MG -mB -mB -mB -gn -Rz -hd -JK -xx -Bz -OS -Rz -cH -qa -qa -qa -qa -qa -qa -qa -"} -(33,1,1) = {" -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -qa -Wl -Yv -Yv -Yv -Yv -FI -FI -iK -Wv -El -El -El -Wv -Rz -cH -GS -GS -GS -cH -cH -qa -qa -qa -qa -qa -qa -qa -qa -"} diff --git a/_maps/shuttles/inteq/inteq_colossus.dmm b/_maps/shuttles/inteq/inteq_colossus.dmm index 870a1294997..cc71943f0ae 100644 --- a/_maps/shuttles/inteq/inteq_colossus.dmm +++ b/_maps/shuttles/inteq/inteq_colossus.dmm @@ -8,6 +8,9 @@ dir = 4; pixel_x = -20 }, +/obj/structure/platform/ship_three{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "ai" = ( @@ -24,6 +27,9 @@ }, /obj/machinery/firealarm/directional/east, /obj/effect/turf_decal/borderfloorblack, +/obj/structure/platform/ship_three{ + dir = 6 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "ar" = ( @@ -62,6 +68,9 @@ req_access = null }, /obj/item/radio/intercom/directional/west, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/hallway/port) "bn" = ( @@ -111,6 +120,12 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/yellow/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/fore) "bJ" = ( @@ -180,23 +195,6 @@ /obj/effect/turf_decal/industrial/warning/fulltile, /turf/open/floor/engine/hull/reinforced/interior, /area/ship/maintenance/starboard) -"cd" = ( -/obj/item/storage/backpack/messenger/inteq, -/obj/item/storage/backpack/messenger/inteq, -/obj/item/storage/backpack/messenger/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/structure/closet/wall/directional/north{ - icon_door = "orange_wall"; - name = "uniform closet" - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) "cq" = ( /obj/structure/cable{ icon_state = "1-2" @@ -245,8 +243,8 @@ locked = 0; name = "fridge" }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/storage/cans/sixbeer, /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -262,6 +260,29 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/plasteel/dark, /area/ship/crew/office) +"cT" = ( +/obj/item/storage/backpack/messenger/inteq, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/structure/closet/wall/directional/north{ + icon_door = "orange_wall"; + name = "uniform closet" + }, +/obj/machinery/firealarm/directional/east, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) "dq" = ( /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /obj/structure/cable{ @@ -298,13 +319,14 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "dI" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/corner{ +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/siding/thinplating{ dir = 1 }, -/obj/effect/turf_decal/siding/thinplating/corner{ +/obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 1 }, -/obj/machinery/firealarm/directional/north, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/fore) "dS" = ( @@ -336,6 +358,9 @@ /obj/item/clothing/ears/earmuffs, /obj/machinery/light/directional/north, /obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/platform/ship_three{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "eg" = ( @@ -532,6 +557,7 @@ }, /obj/effect/turf_decal/borderfloorblack, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/ship_three, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "fN" = ( @@ -617,8 +643,8 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/item/flashlight/lamp/green, +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, /turf/open/floor/carpet/black, /area/ship/crew) "gC" = ( @@ -646,6 +672,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) +"gH" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 4; + id = "colossus_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) "gJ" = ( /obj/effect/turf_decal/siding/thinplating/corner{ dir = 8 @@ -719,7 +752,7 @@ /area/ship/security) "hx" = ( /obj/item/clothing/glasses/hud/security/sunglasses/inteq, -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, +/obj/item/clothing/mask/balaclava/inteq, /obj/item/clothing/gloves/tackler/combat/insulated, /obj/item/clothing/shoes/combat, /obj/item/storage/belt/security/webbing/inteq/alt, @@ -760,6 +793,9 @@ /obj/structure/sign/warning/vacuum/external{ pixel_x = 32 }, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/hallway/port) "hQ" = ( @@ -789,6 +825,9 @@ }, /obj/machinery/light/directional/south, /obj/machinery/computer/helm/viewscreen/directional/west, +/obj/structure/platform/ship_three{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "ie" = ( @@ -843,7 +882,7 @@ /turf/open/floor/plating, /area/ship/maintenance/port) "iT" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/trimline/opaque/yellow/line, /obj/effect/turf_decal/siding/thinplating, /obj/structure/cable, @@ -852,7 +891,7 @@ /area/ship/hallway/fore) "iX" = ( /obj/item/radio/intercom/wideband/directional/south, -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 1 }, /obj/effect/turf_decal/borderfloor, @@ -888,6 +927,25 @@ }, /turf/open/floor/plating, /area/ship/engineering) +"ja" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/machinery/turretid/ship{ + id = "colossus_grid"; + pixel_y = 24 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) "jo" = ( /obj/machinery/atmospherics/components/unary/tank/toxins{ piping_layer = 1 @@ -896,6 +954,12 @@ /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) "ju" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/corner{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/fore) "jw" = ( @@ -1006,7 +1070,10 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/newscaster/security_unit/directional/north, -/obj/machinery/rnd/server, +/obj/structure/bed/dogbed, +/mob/living/simple_animal/pet/dog/pug{ + name = "Solstice" + }, /turf/open/floor/plasteel/dark, /area/ship/crew/office) "kV" = ( @@ -1031,6 +1098,9 @@ dir = 4 }, /obj/item/radio/intercom/directional/east, +/obj/structure/platform/ship_three{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "lr" = ( @@ -1041,6 +1111,9 @@ dir = 8; pixel_x = 12 }, +/obj/structure/platform/ship_three{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "ls" = ( @@ -1060,13 +1133,12 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/hallway/central) "lA" = ( -/mob/living/simple_animal/pet/gondola{ - desc = "Why Inteq keeps this Gondola around is anybody's guess. Something about its peaceful demeanor still manages to put everybody at ease."; - name = "Solstice"; - real_name = "Solstice" +/obj/structure/weightmachine/weightlifter, +/obj/structure/platform/ship_three{ + dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/office) +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) "lB" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 8 @@ -1105,6 +1177,13 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/fore) +"mb" = ( +/obj/machinery/porta_turret/ship/inteq/light{ + dir = 5; + id = "colossus_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/port) "mq" = ( /obj/structure/cable{ icon_state = "1-8" @@ -1149,6 +1228,7 @@ dir = 4 }, /obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) "mY" = ( @@ -1180,6 +1260,9 @@ /obj/machinery/atmospherics/pipe/layer_manifold, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/hallway/port) "ny" = ( @@ -1252,6 +1335,9 @@ /obj/item/pickaxe/mini, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/airalarm/directional/west, +/obj/structure/platform/ship_three{ + dir = 10 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "on" = ( @@ -1277,6 +1363,9 @@ }, /obj/structure/table, /obj/machinery/jukebox/boombox, +/obj/structure/platform/ship_three{ + dir = 1 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "ot" = ( @@ -1302,12 +1391,9 @@ pixel_x = 32 }, /obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) -"pa" = ( -/obj/structure/sign/number/nine, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/security/armory) "pd" = ( /obj/machinery/photocopier, /obj/effect/turf_decal/corner/opaque/yellow, @@ -1424,12 +1510,6 @@ /obj/effect/turf_decal/techfloor, /turf/open/floor/plasteel/tech/grid, /area/ship/crew/cryo) -"qJ" = ( -/obj/machinery/porta_turret/ship/ballistic{ - dir = 9 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) "qK" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -1437,6 +1517,9 @@ /obj/machinery/atmospherics/pipe/layer_manifold/visible, /obj/structure/catwalk/over/plated_catwalk/dark, /obj/item/radio/intercom/directional/west, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plating, /area/ship/engineering) "qQ" = ( @@ -1480,6 +1563,9 @@ /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /obj/machinery/airalarm/directional/south, +/obj/item/flashlight/lamp/green{ + pixel_y = 12 + }, /turf/open/floor/plasteel/grimy, /area/ship/crew) "rb" = ( @@ -1519,6 +1605,9 @@ /obj/item/storage/box/cups{ pixel_y = 10 }, +/obj/structure/platform/ship_three{ + dir = 1 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "rJ" = ( @@ -1569,11 +1658,10 @@ /turf/open/floor/plasteel/tech, /area/ship/security/armory) "rS" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/obj/structure/chair/handrail{ + dir = 1 }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/fore) @@ -1599,16 +1687,16 @@ dir = 1 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, @@ -1617,6 +1705,9 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/directional/north, /obj/machinery/computer/helm/viewscreen/directional/west, +/obj/structure/platform/ship_three{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "sc" = ( @@ -1700,6 +1791,13 @@ /obj/item/pen, /turf/open/floor/plasteel/dark, /area/ship/crew/office) +"sT" = ( +/obj/machinery/porta_turret/ship/inteq/light{ + dir = 5; + id = "colossus_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew) "td" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1777,6 +1875,9 @@ /obj/structure/closet/wall/directional/east{ icon_state = "emergency_wall" }, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/hallway/port) "tI" = ( @@ -1789,6 +1890,9 @@ dir = 1 }, /obj/effect/landmark/start/assistant, +/obj/structure/platform/ship_three{ + dir = 1 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "tK" = ( @@ -1803,6 +1907,9 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plating, /area/ship/maintenance/starboard) "tR" = ( @@ -1934,6 +2041,7 @@ pixel_x = 5; pixel_y = 21 }, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "uT" = ( @@ -2027,6 +2135,13 @@ "vH" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/cargo) +"vJ" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 5; + id = "colossus_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/maintenance/port) "vZ" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/poddoor{ @@ -2085,6 +2200,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, +/obj/structure/chair{ + dir = 1 + }, /turf/open/floor/plasteel/tech, /area/ship/crew/cryo) "wS" = ( @@ -2100,6 +2218,9 @@ /obj/effect/turf_decal/borderfloorblack{ dir = 1 }, +/obj/structure/platform/ship_three{ + dir = 5 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "wW" = ( @@ -2129,12 +2250,6 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"xh" = ( -/obj/machinery/porta_turret/ship/ballistic{ - dir = 5 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) "xr" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 1 @@ -2183,9 +2298,7 @@ name = "folder" }, /obj/item/pen/fourcolor, -/obj/item/stamp/hos{ - name = "vanguard's rubber stamp" - }, +/obj/item/stamp/inteq/vanguard, /obj/item/reagent_containers/food/drinks/coffee{ pixel_y = 20 }, @@ -2249,6 +2362,7 @@ pixel_x = 5 }, /obj/effect/turf_decal/borderfloorblack, +/obj/structure/platform/ship_three, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "yP" = ( @@ -2400,6 +2514,13 @@ }, /turf/open/floor/plating, /area/ship/maintenance/port) +"Bi" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 9; + id = "colossus_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/office) "Bj" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line, /obj/effect/turf_decal/siding/thinplating, @@ -2441,6 +2562,7 @@ }, /obj/machinery/airalarm/directional/west, /obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) "BA" = ( @@ -2474,6 +2596,9 @@ pixel_y = -5 }, /obj/machinery/light/small/directional/west, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/grimy, /area/ship/crew) "BK" = ( @@ -2491,7 +2616,7 @@ }, /obj/structure/closet/cardboard, /obj/item/radio/intercom/directional/south, -/obj/effect/spawner/lootdrop/maintenance/seven, +/obj/effect/spawner/random/maintenance/seven, /obj/effect/turf_decal/corner_techfloor_gray{ dir = 4 }, @@ -2510,6 +2635,9 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/item/radio/intercom/directional/west, /obj/structure/reagent_dispensers/watertank, +/obj/structure/platform/ship_three{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "BY" = ( @@ -2567,6 +2695,9 @@ pixel_x = -5; pixel_y = -19 }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Cu" = ( @@ -2614,6 +2745,7 @@ }, /obj/machinery/light/directional/west, /obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) "Da" = ( @@ -2625,7 +2757,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/item/clothing/glasses/hud/security/sunglasses/inteq, -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, +/obj/item/clothing/mask/balaclava/inteq, /obj/item/clothing/gloves/tackler/combat/insulated, /obj/item/clothing/shoes/combat, /obj/item/storage/belt/security/webbing/inteq/alt, @@ -2859,6 +2991,7 @@ pixel_x = -5; pixel_y = 21 }, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Gl" = ( @@ -2905,10 +3038,11 @@ /obj/item/clothing/gloves/color/yellow, /obj/item/storage/belt/utility, /obj/item/clothing/under/syndicate/inteq/artificer, -/obj/item/clothing/under/syndicate/inteq/skirt/artificer, +/obj/item/clothing/under/syndicate/inteq/artificer/skirt, /obj/item/clothing/head/soft/inteq, /obj/item/clothing/head/hardhat, /obj/item/clothing/shoes/combat, +/obj/item/clothing/mask/gas/inteq, /turf/open/floor/plating, /area/ship/engineering) "GR" = ( @@ -2984,9 +3118,6 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ - dir = 1 - }, /obj/machinery/power/terminal{ dir = 4 }, @@ -2997,14 +3128,11 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/dark/visible/layer5, /obj/machinery/atmospherics/pipe/simple/orange/hidden/layer1, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ + dir = 1 + }, /turf/open/floor/plasteel/tech, /area/ship/engineering) -"Hu" = ( -/obj/machinery/porta_turret/ship/ballistic{ - dir = 6 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) "HD" = ( /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /obj/structure/cable{ @@ -3034,7 +3162,7 @@ /obj/item/storage/belt/medical/webbing, /obj/item/clothing/suit/armor/inteq/corpsman, /obj/item/clothing/head/soft/inteq/corpsman, -/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, +/obj/item/clothing/under/syndicate/inteq/corpsman/skirt, /obj/item/clothing/under/syndicate/inteq/corpsman, /obj/machinery/button/shieldwallgen{ dir = 1; @@ -3042,6 +3170,9 @@ pixel_x = 5; pixel_y = -19 }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "HG" = ( @@ -3113,6 +3244,7 @@ /obj/effect/turf_decal/corner/opaque/brown{ dir = 8 }, +/obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "It" = ( @@ -3258,6 +3390,9 @@ /area/ship/bridge) "KM" = ( /obj/structure/closet/emcloset/wall/directional/west, +/obj/structure/platform/ship_three{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Ld" = ( @@ -3271,15 +3406,15 @@ /obj/structure/cable{ icon_state = "2-4" }, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/hallway/port) -"Le" = ( -/obj/structure/sign/number/one, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/security/armory) "Ll" = ( -/obj/machinery/porta_turret/ship/ballistic{ - dir = 5 +/obj/machinery/porta_turret/ship/inteq{ + dir = 4; + id = "colossus_grid" }, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/bridge) @@ -3318,8 +3453,7 @@ /area/ship/maintenance/port) "Lx" = ( /obj/structure/closet/crate, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/glass/fifty, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Lz" = ( @@ -3423,13 +3557,13 @@ /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 8 }, -/obj/item/ammo_box/magazine/gal{ +/obj/item/ammo_box/magazine/f4_308{ pixel_x = -5 }, -/obj/item/ammo_box/magazine/gal{ +/obj/item/ammo_box/magazine/f4_308{ pixel_x = 5 }, -/obj/item/gun/ballistic/automatic/marksman/gal/inteq{ +/obj/item/gun/ballistic/automatic/marksman/f4/inteq{ pixel_x = -8; pixel_y = 3 }, @@ -3480,24 +3614,6 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/plasteel/dark, /area/ship/crew/office) -"NH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/turretid/lethal{ - pixel_y = 22 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) "NP" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/corner/opaque/yellow, @@ -3525,16 +3641,17 @@ /turf/open/floor/plasteel/tech, /area/ship/crew/cryo) "NX" = ( -/obj/machinery/mineral/ore_redemption{ - dir = 1; - output_dir = 1 - }, /obj/effect/turf_decal/borderfloorblack, +/obj/structure/rack, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/structure/platform/ship_three, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "Oa" = ( -/obj/machinery/porta_turret/ship/ballistic{ - dir = 6 +/obj/machinery/porta_turret/ship/inteq/light{ + dir = 6; + id = "colossus_grid" }, /turf/closed/wall/mineral/plastitanium, /area/ship/bridge) @@ -3572,9 +3689,8 @@ icon_state = "1-4" }, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/bed, /obj/structure/curtain/bounty, -/obj/item/bedsheet/brown, +/obj/effect/spawner/bunk_bed, /turf/open/floor/carpet/black, /area/ship/crew) "Ou" = ( @@ -3605,6 +3721,13 @@ }, /turf/open/floor/engine/hull/reinforced, /area/ship/maintenance/starboard) +"OI" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 6; + id = "colossus_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/maintenance/starboard) "OV" = ( /obj/structure/cable{ icon_state = "2-4" @@ -3621,7 +3744,7 @@ /obj/structure/closet/crate/trashcart, /obj/machinery/airalarm/directional/east, /obj/machinery/firealarm/directional/south, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/turf_decal/corner_techfloor_gray{ dir = 4 }, @@ -3636,6 +3759,7 @@ /obj/machinery/autolathe, /obj/effect/turf_decal/borderfloorblack, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/ship_three, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "Pl" = ( @@ -3709,10 +3833,6 @@ /obj/machinery/atmospherics/pipe/simple/orange/hidden/layer1, /turf/open/floor/plasteel/tech, /area/ship/engineering) -"PV" = ( -/obj/structure/sign/number/four, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/security/armory) "Qj" = ( /obj/machinery/light_switch{ dir = 1; @@ -3758,6 +3878,13 @@ }, /turf/open/floor/plating, /area/ship/maintenance/starboard) +"Qw" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 10; + id = "colossus_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security/armory) "QC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 @@ -3814,12 +3941,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"QZ" = ( -/obj/machinery/porta_turret/ship/ballistic{ - dir = 10 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) "Rb" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ name = "exhaust injector" @@ -3911,6 +4032,13 @@ /obj/effect/landmark/start/station_engineer, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) +"RZ" = ( +/obj/machinery/porta_turret/ship/inteq/light{ + dir = 6; + id = "talos_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/security) "Sa" = ( /obj/effect/turf_decal/borderfloor{ dir = 4 @@ -3936,13 +4064,13 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/components/trinary/filter/atmos/o2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/dark/visible/layer5, /obj/machinery/atmospherics/pipe/simple/orange/hidden/layer1, +/obj/machinery/atmospherics/components/trinary/filter/atmos/n2, /turf/open/floor/plasteel/tech, /area/ship/engineering) "Sg" = ( @@ -3987,6 +4115,9 @@ /obj/structure/sign/warning/incident{ pixel_x = 32 }, +/obj/structure/platform/ship_three{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Su" = ( @@ -4171,9 +4302,7 @@ desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'"; name = "folder" }, -/obj/item/stamp/law{ - name = "master at arms' rubber stamp" - }, +/obj/item/stamp/inteq/maa, /obj/item/table_bell{ pixel_y = 13 }, @@ -4198,7 +4327,14 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/turf_decal/industrial/warning{ - dir = 1 + dir = 1; + layer = 2.04 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/fore) @@ -4217,6 +4353,9 @@ pixel_x = 20; pixel_y = 11 }, +/obj/structure/platform/ship_three{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Wn" = ( @@ -4259,6 +4398,9 @@ /obj/item/roller{ pixel_y = 10 }, +/obj/structure/platform/ship_three{ + dir = 1 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "WF" = ( @@ -4267,9 +4409,9 @@ name = "equipment locker"; req_access_txt = "1" }, -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, +/obj/item/clothing/mask/balaclava/inteq, +/obj/item/clothing/mask/balaclava/inteq, +/obj/item/clothing/mask/balaclava/inteq, /obj/item/storage/belt/security/webbing/inteq, /obj/item/storage/belt/security/webbing/inteq, /obj/item/storage/belt/security/webbing/inteq, @@ -4299,10 +4441,14 @@ /obj/item/reagent_containers/spray/pepper, /obj/item/reagent_containers/spray/pepper, /obj/item/reagent_containers/spray/pepper, -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/obj/item/attachment/rail_light, +/obj/item/attachment/rail_light, +/obj/item/attachment/rail_light, +/obj/item/attachment/rail_light, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) "WG" = ( @@ -4317,15 +4463,17 @@ /obj/structure/table/rolling, /obj/machinery/light/directional/south, /obj/machinery/computer/helm/viewscreen/directional/east, +/obj/structure/platform/ship_three{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "WS" = ( -/obj/structure/bed, /obj/structure/sign/poster/contraband/backdoor_xeno_babes_6{ pixel_y = -32 }, /obj/structure/curtain/bounty, -/obj/item/bedsheet/brown, +/obj/effect/spawner/bunk_bed, /turf/open/floor/carpet/black, /area/ship/crew) "Xb" = ( @@ -4338,6 +4486,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/tech, /area/ship/security/armory) "Xc" = ( @@ -4442,6 +4591,9 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/ship_three{ + dir = 9 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "XR" = ( @@ -4457,10 +4609,14 @@ /turf/open/floor/carpet/black, /area/ship/crew) "XS" = ( -/obj/machinery/vending/cola/random, -/obj/effect/turf_decal/trimline/opaque/yellow/line, -/obj/effect/turf_decal/siding/thinplating, +/obj/effect/spawner/random/vending/cola, /obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/fore) "XV" = ( @@ -4471,7 +4627,9 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/hallway/fore) "Yv" = ( -/obj/structure/sign/number/eight, +/obj/structure/sign/number/random{ + pixel_y = -8 + }, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/security/armory) "Yx" = ( @@ -4510,6 +4668,7 @@ /obj/effect/turf_decal/corner_techfloor_gray{ dir = 8 }, +/obj/structure/chair/handrail, /turf/open/floor/plating, /area/ship/maintenance/port) "Zc" = ( @@ -4752,7 +4911,7 @@ XJ (8,1,1) = {" XJ XJ -xh +vJ bo bo bo @@ -4768,7 +4927,7 @@ rl rl rl rl -Oa +OI XJ "} (9,1,1) = {" @@ -4785,7 +4944,7 @@ om kV XQ ah -Ve +lA hZ vH rh @@ -4949,7 +5108,7 @@ XJ "} (17,1,1) = {" XJ -qJ +Bi ZB ZB ZB @@ -4967,7 +5126,7 @@ Dq Dq Dq Dq -QZ +Qw "} (18,1,1) = {" XJ @@ -5055,7 +5214,7 @@ Sa Dq Dq Dq -pa +Yv "} (22,1,1) = {" XJ @@ -5077,7 +5236,7 @@ EI Dq MQ qQ -PV +Yv "} (23,1,1) = {" XJ @@ -5099,7 +5258,7 @@ VL Dq Xb DW -Le +Yv "} (24,1,1) = {" XJ @@ -5127,7 +5286,7 @@ Dq XJ vv aH -lA +jw tx xD va @@ -5187,7 +5346,7 @@ XA XA XA XA -Oa +RZ "} (28,1,1) = {" Yy @@ -5213,7 +5372,7 @@ XJ "} (29,1,1) = {" XJ -Ll +mb hD hD hD @@ -5281,7 +5440,7 @@ XJ XJ XJ tX -NH +ja tI Ae Sj @@ -5314,7 +5473,7 @@ fN fN Yr zF -cd +cT GW vq gu @@ -5358,11 +5517,11 @@ XJ XJ XJ XJ -xh +sT xT xT xT -Hu +gH XJ "} (36,1,1) = {" diff --git a/_maps/shuttles/inteq/inteq_hound.dmm b/_maps/shuttles/inteq/inteq_hound.dmm deleted file mode 100644 index 5616d1d2d4b..00000000000 --- a/_maps/shuttles/inteq/inteq_hound.dmm +++ /dev/null @@ -1,2909 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ah" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/item/cigbutt, -/obj/effect/decal/cleanable/oil/slippery, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"at" = ( -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 4 - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 8 - }, -/obj/effect/turf_decal/corner_techfloor_gray, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 8; - name = "Air to Distro" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"ay" = ( -/obj/structure/closet/secure_closet/freezer{ - anchored = 1; - locked = 0; - name = "fridge" - }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/item/storage/cans/sixbeer, -/obj/item/reagent_containers/food/snacks/icecreamsandwich, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central4{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"aE" = ( -/obj/structure/table/reinforced, -/obj/item/storage/fancy/cigarettes/cigars{ - pixel_x = 8 - }, -/obj/item/lighter{ - pixel_x = -11; - pixel_y = 5 - }, -/obj/item/ammo_box/a762_40/inteq{ - pixel_x = 5; - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/bottle/whiskey{ - pixel_x = -7; - pixel_y = 6 - }, -/turf/open/floor/carpet/orange, -/area/ship/bridge) -"aX" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor{ - id = "hound_windows" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"bm" = ( -/obj/machinery/shower{ - pixel_y = 19 - }, -/obj/structure/curtain, -/obj/structure/window/reinforced/tinted/frosted, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/crew/toilet) -"bZ" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/oil/streak, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/chair/plastic{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"cK" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 4; - id = "hound_cargo_port"; - locked = 1 - }, -/obj/machinery/door/poddoor/shutters{ - id = "hound_cargo_port" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"cX" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) -"dg" = ( -/obj/structure/toilet{ - dir = 4 - }, -/obj/structure/curtain, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/crew/toilet) -"dm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/ship/cargo) -"dp" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/sign/warning/incident{ - desc = "A sign marking time passed since the last cargo bay decompression. It's a new record!"; - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"dB" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/starboard) -"dP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 6 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"dV" = ( -/turf/open/floor/engine/hull, -/area/ship/maintenance/port) -"eb" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Port Engines" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"em" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/cargo) -"eS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/medical, -/obj/item/storage/firstaid/medical{ - pixel_x = -5 - }, -/obj/item/storage/firstaid/regular{ - pixel_x = 5 - }, -/obj/item/storage/box/bodybags, -/obj/item/roller{ - pixel_y = 5 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"eW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 25; - pixel_y = 7 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"fk" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"fq" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/navbeacon/wayfinding{ - location = "bridge" - }, -/obj/machinery/holopad/emergency/command, -/turf/open/floor/carpet/orange, -/area/ship/bridge) -"fI" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/landmark/start/security_officer, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"fS" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/sign/poster/official/moth/epi{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"fX" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/power/port_gen/pacman, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"go" = ( -/obj/machinery/power/smes/engineering{ - charge = 1e+006 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"gO" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/storage/eva) -"gR" = ( -/obj/machinery/cryopod{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/dorm) -"gU" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"hi" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/crew) -"hJ" = ( -/obj/docking_port/stationary{ - width = 30; - height = 15; - dwidth = 15; - dir = 8 - }, -/turf/template_noop, -/area/template_noop) -"hK" = ( -/obj/machinery/suit_storage_unit/inherit{ - req_access_txt = "1" - }, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/tank/jetpack/oxygen, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) -"hY" = ( -/obj/structure/sign/number/nine, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew) -"ib" = ( -/turf/template_noop, -/area/template_noop) -"ih" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) -"iw" = ( -/obj/machinery/button/door{ - id = "hound_windows"; - name = "Window Lockdown"; - pixel_x = -6; - pixel_y = 25 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"jb" = ( -/obj/structure/table, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/trash/plate, -/obj/item/kitchen/fork{ - pixel_x = 7 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"jG" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/ship/cargo) -"jK" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/storage/eva) -"jY" = ( -/obj/effect/turf_decal/industrial/traffic, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"ke" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 4; - id = "hound_cargo_starboard"; - locked = 1 - }, -/obj/machinery/door/poddoor/shutters{ - id = "hound_cargo_starboard" - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ship/cargo) -"km" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"kr" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/power/port_gen/pacman, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"kU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"lZ" = ( -/obj/machinery/suit_storage_unit/inherit{ - req_access_txt = "1" - }, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, -/obj/machinery/airalarm/directional/west, -/obj/structure/sign/poster/contraband/missing_gloves{ - pixel_y = 32 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/tank/jetpack/oxygen, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) -"mw" = ( -/obj/structure/bed, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/hos{ - name = "vanguard's bedsheet" - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/carpet/orange, -/area/ship/bridge) -"mI" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"na" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"nd" = ( -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line, -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -7; - pixel_y = -25 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"ne" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 1 - }, -/obj/structure/chair, -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/landmark/start/security_officer, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"no" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"nq" = ( -/obj/machinery/suit_storage_unit/inherit{ - req_access_txt = "1" - }, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 8 - }, -/obj/item/tank/jetpack/oxygen, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) -"nL" = ( -/obj/structure/railing, -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 - }, -/obj/structure/rack, -/obj/item/pickaxe/mini, -/obj/item/pickaxe/drill/jackhammer/old, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"of" = ( -/obj/machinery/door/airlock/command{ - name = "Bridge"; - req_access_txt = "58" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"oq" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"oL" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor{ - id = "hound_windows" - }, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"oQ" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/item/stack/sheet/mineral/plasma/twenty, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/radiation{ - name = "fuel crate" - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"pe" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"pL" = ( -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/structure/closet/wall/directional/north{ - icon_door = "orange_wall"; - name = "uniform closet" - }, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/storage/backpack/messenger/inteq, -/obj/item/storage/backpack/messenger/inteq, -/obj/item/storage/backpack/messenger/inteq, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/under/syndicate/inteq/skirt, -/obj/item/clothing/under/syndicate/inteq/skirt, -/obj/item/clothing/under/syndicate/inteq/skirt, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"pU" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"qg" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/poddoor/shutters{ - id = "hound_cargo_port" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"qG" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/trimline/opaque/yellow/line, -/obj/effect/turf_decal/siding/thinplating{ - dir = 10 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"qR" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/landmark/start/security_officer, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"qU" = ( -/obj/structure/cable, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"qY" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters{ - id = "hound_cargo_starboard" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"rh" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/corner_techfloor_gray, -/obj/effect/turf_decal/number/zero, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"rj" = ( -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 - }, -/obj/effect/landmark/start/assistant, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"rF" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/machinery/firealarm/directional/north, -/obj/item/trash/chips, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"rG" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning, -/obj/effect/turf_decal/siding/thinplating/corner, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"rM" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"rV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm) -"sv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"sw" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"sx" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 8; - piping_layer = 2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"sM" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"tg" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor{ - id = "hound_windows"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"tq" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/crew/toilet) -"tC" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"tO" = ( -/obj/docking_port/mobile{ - dir = 2; - launch_status = 0; - port_direction = 8; - preferred_direction = 4 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/port) -"tR" = ( -/obj/structure/table, -/obj/machinery/microwave, -/obj/structure/sign/poster/contraband/inteq{ - pixel_x = 32 - }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"tT" = ( -/obj/structure/bed/dogbed{ - anchored = 1; - desc = "A comfy-looking dog bed. It's at least three times the size of its owner."; - name = "Sentinel's bed" - }, -/mob/living/simple_animal/pet/dog/pug{ - desc = "Steadfast defender of the realm, destroyer of countless donuts, and seatwarmer for the Vanguard."; - name = "\proper Sentinel" - }, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/yellow, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"uj" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"uo" = ( -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"uD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"uG" = ( -/obj/machinery/navbeacon/wayfinding{ - codes_txt = "patrol;next_patrol=eva"; - location = "cargo" - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"uY" = ( -/obj/structure/railing, -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, -/obj/structure/rack, -/obj/item/storage/toolbox/ammo/c9mm, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"va" = ( -/obj/structure/closet/secure_closet/wall/directional/west{ - icon_door = "solgov_wall"; - icon_state = "solgov_wall"; - name = "vanguard's locker"; - req_access_txt = "58" - }, -/obj/item/clothing/glasses/hud/security/sunglasses/inteq, -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, -/obj/item/clothing/gloves/tackler/combat/insulated, -/obj/item/clothing/shoes/combat, -/obj/item/storage/belt/military/assault, -/obj/item/storage/backpack/messenger/inteq, -/obj/item/megaphone/command, -/obj/item/clothing/under/syndicate/inteq/skirt, -/obj/item/clothing/under/syndicate/inteq, -/obj/item/clothing/suit/armor/hos/inteq, -/obj/item/clothing/head/beret/sec/hos/inteq, -/obj/item/radio/headset/inteq/alt/captain, -/obj/item/areaeditor/shuttle, -/obj/item/shield/riot/tele, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/carpet/orange, -/area/ship/bridge) -"ve" = ( -/obj/structure/closet/crate/bin, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/item/trash/boritos, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"vk" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 8; - id = "hound_cargo_starboard"; - locked = 1 - }, -/obj/machinery/door/poddoor/shutters{ - id = "hound_cargo_starboard" - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ship/cargo) -"vn" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/yellow/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"vC" = ( -/obj/machinery/door/airlock{ - name = "Restroom" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/toilet) -"vE" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"vI" = ( -/obj/machinery/door/airlock/grunge{ - dir = 4; - name = "EVA Storage" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"vW" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/item/clothing/suit/armor/vest/bulletproof, -/obj/item/clothing/suit/armor/vest/bulletproof, -/obj/item/clothing/suit/armor/vest/bulletproof, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/head/helmet/swat/inteq, -/obj/item/clothing/head/helmet/swat/inteq, -/obj/item/clothing/head/helmet/swat/inteq, -/obj/item/storage/belt/security/webbing/inteq, -/obj/item/storage/belt/security/webbing/inteq, -/obj/item/storage/belt/security/webbing/inteq, -/obj/structure/closet/secure_closet/wall/directional/north{ - icon_state = "sec_wall"; - name = "equipment locker"; - req_one_access_txt = "1" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"vY" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/firedoor/window, -/turf/open/floor/plating, -/area/ship/cargo) -"wu" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/machinery/advanced_airlock_controller{ - pixel_x = 25; - req_access = null - }, -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) -"wX" = ( -/obj/effect/turf_decal/industrial/traffic, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"xj" = ( -/obj/effect/turf_decal/industrial/traffic, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"xm" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/storage/eva) -"yk" = ( -/obj/structure/sign/number/one{ - dir = 1 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/dorm) -"yE" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/railing/corner, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"yK" = ( -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"zn" = ( -/obj/structure/sign/number/eight, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew) -"zO" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"Ac" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 - }, -/obj/structure/table, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 1; - pixel_y = 8 - }, -/obj/item/storage/toolbox/electrical{ - pixel_x = -2; - pixel_y = 1 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"Aj" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor{ - id = "hound_windows" - }, -/turf/open/floor/plating, -/area/ship/crew/toilet) -"Ao" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/port) -"AQ" = ( -/obj/structure/railing/corner, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/sign/poster/official/safety_internals{ - pixel_x = -32 - }, -/obj/structure/closet/emcloset/wall/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"AW" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/thinplating{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line, -/obj/item/paicard, -/obj/machinery/jukebox/boombox{ - pixel_y = 10 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"BA" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "hound_cargo_port"; - name = "Cargo Bay Door Control"; - pixel_x = -5; - pixel_y = 25 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/button/shieldwallgen{ - id = "hound_cargo_port"; - pixel_x = 5; - pixel_y = 25 - }, -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, -/area/ship/cargo) -"BJ" = ( -/obj/machinery/door/poddoor{ - dir = 4; - id = "hound_windows" - }, -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/crew) -"BL" = ( -/obj/machinery/light/directional/south, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -7; - pixel_y = -25 - }, -/turf/open/floor/carpet/orange, -/area/ship/bridge) -"BQ" = ( -/obj/machinery/modular_computer/console/preset/command{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/steeldecal/steel_decals_central4{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"CN" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4; - name = "exhaust injector" - }, -/turf/open/floor/engine/hull, -/area/ship/maintenance/starboard) -"CV" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 - }, -/obj/machinery/autolathe, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"DB" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/carpet/orange, -/area/ship/bridge) -"DU" = ( -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/navbeacon/wayfinding{ - codes_txt = "patrol;next_patrol=cargo"; - location = "crew" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"Ek" = ( -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = 5 - }, -/obj/item/ammo_box/magazine/co9mm, -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = -5 - }, -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = 5 - }, -/obj/item/ammo_box/magazine/co9mm, -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = -5 - }, -/obj/item/gun/ballistic/automatic/pistol/commander/inteq{ - pixel_y = 5 - }, -/obj/item/gun/ballistic/automatic/pistol/commander/inteq, -/obj/item/gun/ballistic/automatic/pistol/commander/inteq{ - pixel_y = -5 - }, -/obj/item/ammo_box/magazine/skm_762_40{ - pixel_x = -7 - }, -/obj/item/ammo_box/magazine/skm_762_40{ - pixel_x = 7 - }, -/obj/item/gun/ballistic/automatic/assault/skm/inteq{ - pixel_x = -5 - }, -/obj/structure/closet/secure_closet/wall/directional/south{ - icon_state = "sec_wall"; - name = "weapons lockup"; - req_one_access_txt = "58" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/carpet/orange, -/area/ship/bridge) -"EC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner_techfloor_gray/diagonal, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"EE" = ( -/obj/structure/table, -/obj/machinery/computer/cryopod/directional/east, -/obj/item/radio{ - pixel_y = 7 - }, -/obj/item/radio{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/radio{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/radio{ - pixel_y = 3 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/dorm) -"EJ" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/firedoor/window, -/turf/open/floor/plating, -/area/ship/storage/eva) -"EM" = ( -/obj/effect/landmark/start/head_of_security, -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Helm" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Gj" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, -/obj/machinery/cell_charger, -/obj/structure/table, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"GB" = ( -/obj/structure/sign/number/eight{ - dir = 1 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"GD" = ( -/obj/item/trash/sosjerky, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"GG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/button/door{ - dir = 1; - id = "hound_cargo_starboard"; - name = "Cargo Bay Door Control"; - pixel_x = -5; - pixel_y = -25 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/button/shieldwallgen{ - dir = 1; - id = "hound_cargo_starboard"; - pixel_x = 5; - pixel_y = -25 - }, -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, -/area/ship/cargo) -"GZ" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/contraband/hacking_guide{ - pixel_x = -28 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Hr" = ( -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"HD" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 8; - piping_layer = 2 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"HO" = ( -/obj/machinery/door/airlock/grunge{ - dir = 4; - name = "Cargo Bay" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"HS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"HV" = ( -/obj/machinery/button/door{ - id = "hound_windows"; - name = "Window Lockdown"; - pixel_x = -10; - pixel_y = 22 - }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central4, -/obj/machinery/computer/cargo/express, -/obj/item/radio/intercom/wideband/directional/north{ - pixel_y = 25; - pixel_x = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"HZ" = ( -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"Iu" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 - }, -/obj/machinery/mineral/ore_redemption{ - dir = 4; - input_dir = 4; - output_dir = null - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"Iw" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - id = "hound_windows"; - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"ID" = ( -/obj/structure/sign/number/one, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew) -"IZ" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, -/obj/structure/curtain/bounty, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm) -"Jb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Jc" = ( -/obj/machinery/door/airlock{ - name = "Dormitory" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/dorm) -"Ju" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Jv" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - id = "hound_windows"; - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"JJ" = ( -/obj/machinery/door/airlock/external{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"JX" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - id = "hound_windows"; - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Kd" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew) -"Ki" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/carpet/orange, -/area/ship/bridge) -"Ky" = ( -/obj/machinery/door/airlock/external{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"KK" = ( -/obj/machinery/computer/helm{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central4{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Ls" = ( -/obj/structure/bed, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/brown, -/obj/structure/sign/poster/contraband/punch_shit{ - pixel_x = -32 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 7; - pixel_y = -25 - }, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm) -"Mj" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm) -"MB" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"MC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"MK" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 8; - id = "hound_cargo_port"; - locked = 1 - }, -/obj/machinery/door/poddoor/shutters{ - id = "hound_cargo_port" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"MP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm) -"MW" = ( -/obj/structure/sign/warning/vacuum/external, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/storage/eva) -"Nd" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - id = "hound_windows"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Ng" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"Nh" = ( -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/sign/warning/nosmoking{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"NI" = ( -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"NK" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"NS" = ( -/obj/structure/sign/number/four, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/toilet) -"Oq" = ( -/obj/effect/landmark/observer_start, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"Or" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo) -"OL" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 25; - pixel_y = 7 - }, -/obj/structure/closet/emcloset/wall/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"OP" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - id = "hound_windows"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/storage/eva) -"Pc" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"Pf" = ( -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 8; - name = "Air to Distro" - }, -/obj/effect/turf_decal/number/three, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Pk" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/structure/table, -/obj/item/toy/cards/deck/cas/black{ - pixel_y = 10 - }, -/obj/item/toy/cards/deck/cas, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"Po" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Pz" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, -/obj/item/trash/sosjerky, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Qn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"QU" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/item/reagent_containers/food/drinks/waterbottle/large, -/obj/item/reagent_containers/food/drinks/waterbottle/large, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"Rf" = ( -/obj/structure/sign/number/nine{ - dir = 1 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/dorm) -"Rh" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - id = "hound_windows"; - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"RM" = ( -/obj/structure/table/reinforced, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/fax/inteq, -/turf/open/floor/carpet/orange, -/area/ship/bridge) -"Sh" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"SO" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"TV" = ( -/obj/structure/bed, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/brown, -/obj/structure/sign/poster/contraband/borg_fancy_2{ - pixel_y = 32 - }, -/obj/machinery/airalarm/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm) -"Ub" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Starboard Engines" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 4 - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Uq" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor{ - dir = 4; - id = "hound_windows" - }, -/turf/open/floor/plating, -/area/ship/crew) -"UA" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"UJ" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/sign/warning/nosmoking{ - icon_state = "nosmoking2_b"; - pixel_y = 28 - }, -/obj/item/cigbutt{ - pixel_y = 13 - }, -/obj/item/cigbutt{ - pixel_x = 6; - pixel_y = 10 - }, -/obj/item/cigbutt{ - pixel_x = -6; - pixel_y = 7 - }, -/obj/item/cigbutt, -/obj/item/cigbutt{ - pixel_x = 3; - pixel_y = -8 - }, -/obj/item/cigbutt{ - pixel_x = -12; - pixel_y = -3 - }, -/obj/effect/turf_decal/kfp_small/left, -/obj/effect/turf_decal/no, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Vk" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/dorm) -"Vo" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/yellow/line, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"Vv" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/toilet) -"VC" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"VO" = ( -/obj/machinery/suit_storage_unit/inherit{ - req_access_txt = "1" - }, -/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 8 - }, -/obj/item/tank/jetpack/oxygen, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) -"Wf" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"Wk" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"WR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/navbeacon/wayfinding{ - codes_txt = "patrol;next_patrol=crew"; - location = "eva" - }, -/obj/machinery/power/ship_gravity, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"Xc" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"Xh" = ( -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 9 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"Xn" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor{ - dir = 4; - id = "hound_windows" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"Xw" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, -/obj/machinery/rnd/production/techfab/department/security, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"XH" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/spacecash/bundle/c1000{ - pixel_y = 9 - }, -/obj/item/spacecash/bundle/c1000, -/obj/item/folder/syndicate{ - desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'"; - name = "folder" - }, -/obj/item/paper_bin, -/obj/item/gps{ - pixel_x = 12 - }, -/obj/item/stamp/hos{ - name = "vanguard's rubber stamp" - }, -/obj/item/pen/fountain, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Yj" = ( -/obj/structure/sign/number/four{ - dir = 1 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"YE" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) -"Za" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = 12 - }, -/obj/structure/mirror{ - pixel_x = 25 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/item/mop, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/crew/toilet) -"Zh" = ( -/obj/machinery/cryopod{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/dorm) -"ZR" = ( -/obj/machinery/power/smes/engineering{ - charge = 1e+006 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"ZZ" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, -/obj/machinery/rnd/server, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) - -(1,1,1) = {" -ib -ib -ib -ib -ib -ib -ib -ib -hJ -ib -ib -ib -ib -ib -ib -ib -ib -ib -"} -(2,1,1) = {" -ih -Po -Po -ih -ib -ib -xm -xm -Ky -OP -xm -xm -ib -ib -cX -MB -MB -cX -"} -(3,1,1) = {" -ih -Jv -Rh -ih -ib -gO -xm -YE -no -sM -wu -xm -gO -ib -cX -JX -Iw -cX -"} -(4,1,1) = {" -ih -mI -Ju -ih -dV -xm -xm -MW -jK -JJ -xm -xm -xm -CN -cX -rF -qU -cX -"} -(5,1,1) = {" -ih -ZR -oq -ih -tg -ih -lZ -VO -WR -sv -hK -nq -cX -Nd -cX -Qn -go -cX -"} -(6,1,1) = {" -ih -bZ -rh -Jb -dP -eb -MC -SO -Wf -NK -eW -uD -Ub -EC -HS -VC -sw -cX -"} -(7,1,1) = {" -ih -UJ -Pf -ih -ih -ih -xm -xm -vI -EJ -xm -xm -cX -cX -cX -at -Nh -cX -"} -(8,1,1) = {" -Ao -fX -HD -Ao -ib -Or -AQ -Sh -gU -vE -yE -fS -Or -ib -cX -sx -kr -cX -"} -(9,1,1) = {" -tO -ih -ih -Ao -ib -Or -jG -Ac -CV -Iu -nL -dm -Or -ib -dB -cX -cX -dB -"} -(10,1,1) = {" -ib -ib -ib -ib -ib -cK -jY -oQ -tC -yK -ah -Ng -ke -ib -ib -ib -ib -ib -"} -(11,1,1) = {" -ib -ib -ib -ib -ib -qg -xj -Wk -Oq -uG -UA -uj -qY -ib -ib -ib -ib -ib -"} -(12,1,1) = {" -ib -ib -ib -ib -ib -MK -wX -QU -GD -eS -rM -Xc -vk -ib -ib -ib -ib -ib -"} -(13,1,1) = {" -ib -ib -ib -ib -ib -Or -BA -Gj -Xw -ZZ -uY -GG -Or -ib -ib -ib -ib -ib -"} -(14,1,1) = {" -ib -ib -ib -ib -em -Or -dp -Pc -pU -zO -fk -OL -Or -em -ib -ib -ib -ib -"} -(15,1,1) = {" -ib -ib -ib -Vk -Vk -Vk -Vk -Vk -vY -HO -Or -Vv -Vv -Vv -Vv -ib -ib -ib -"} -(16,1,1) = {" -ib -ib -ib -Vk -TV -IZ -Ls -Vk -Xh -HZ -qG -Vv -bm -dg -Vv -ib -ib -ib -"} -(17,1,1) = {" -ib -ib -ib -oL -Mj -MP -rV -Jc -fI -Hr -rG -vC -tq -Za -Aj -ib -ib -ib -"} -(18,1,1) = {" -ib -ib -ib -Rf -gR -EE -Zh -Vk -pL -uo -nd -Vv -Vv -Vv -NS -ib -ib -ib -"} -(19,1,1) = {" -ib -ib -ib -yk -Vk -Vk -Vk -Vk -vW -DU -Vo -Pz -rj -GZ -zn -ib -ib -ib -"} -(20,1,1) = {" -ib -ib -ib -GB -mw -va -Ki -of -NI -qR -vn -kU -na -ay -ID -ib -ib -ib -"} -(21,1,1) = {" -ib -ib -ib -Yj -aE -DB -Ek -pe -ne -Pk -AW -ve -jb -tR -hY -ib -ib -ib -"} -(22,1,1) = {" -ib -ib -ib -aX -RM -fq -BL -pe -Kd -Uq -Uq -Uq -BJ -Kd -Kd -ib -ib -ib -"} -(23,1,1) = {" -ib -ib -ib -aX -XH -EM -tT -pe -hi -ib -ib -ib -ib -Kd -Kd -ib -ib -ib -"} -(24,1,1) = {" -ib -ib -ib -pe -HV -KK -BQ -iw -ib -ib -ib -ib -ib -hi -hi -ib -ib -ib -"} -(25,1,1) = {" -ib -ib -ib -km -Xn -Xn -Xn -km -ib -ib -ib -ib -ib -ib -ib -ib -ib -ib -"} diff --git a/_maps/shuttles/inteq/inteq_talos.dmm b/_maps/shuttles/inteq/inteq_talos.dmm index 1e08e3912dc..8dfb33fd472 100644 --- a/_maps/shuttles/inteq/inteq_talos.dmm +++ b/_maps/shuttles/inteq/inteq_talos.dmm @@ -1,8 +1,4 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ab" = ( -/obj/structure/sign/number/four, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) "ae" = ( /obj/structure/cable{ icon_state = "4-8" @@ -25,14 +21,14 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "ag" = ( -/obj/structure/window/reinforced/survival_pod{ - dir = 4 +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 }, -/obj/structure/window/reinforced/survival_pod{ - dir = 1 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/dark, +/area/ship/storage) "ak" = ( /obj/structure/cable{ icon_state = "2-8" @@ -41,25 +37,38 @@ /turf/open/floor/plasteel/tech, /area/ship/engineering) "an" = ( -/obj/machinery/telecomms/processor/preset_four{ - autolinkers = list("processor4","bus"); - network = "irmg_commnet" +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 }, -/turf/open/floor/circuit/telecomms/mainframe, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "ao" = ( +/obj/docking_port/mobile{ + dir = 2; + launch_status = 0; + port_direction = 8; + preferred_direction = 4 + }, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/engineering/communications) +/area/ship/storage) "ap" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/suit/space/hardsuit/engine/atmos, -/obj/item/tank/jetpack/oxygen, +/obj/effect/turf_decal/trimline/opaque/yellow/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, /turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/area/ship/storage) "as" = ( /obj/effect/turf_decal/corner/opaque/yellow, /obj/effect/turf_decal/corner/opaque/brown{ @@ -82,10 +91,26 @@ /area/ship/engineering/engine) "au" = ( /obj/machinery/light/directional/east, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/obj/machinery/telecomms/server/presets/common{ + autolinkers = list("common","hub"); + freq_listening = list(1459); + network = "irmg_commnet" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/ship/engineering/communications) +"aC" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 5; + id = "talos_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/maintenance/port) +"aD" = ( +/obj/machinery/computer/telecomms/monitor{ + network = "irmg_commnet" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) "aH" = ( /obj/machinery/button/door{ dir = 4; @@ -167,7 +192,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "bb" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/airlock/grunge{ @@ -188,6 +213,36 @@ }, /turf/open/floor/plasteel/tech, /area/ship/cargo) +"br" = ( +/obj/item/storage/backpack/industrial, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/under/syndicate/inteq/artificer, +/obj/item/clothing/under/syndicate/inteq/artificer/skirt, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/hardhat, +/obj/item/clothing/shoes/combat, +/obj/item/storage/belt/utility/full, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/item/clothing/glasses/meson, +/obj/item/radio/intercom/directional/east, +/obj/structure/closet/secure_closet{ + anchored = 1; + icon_state = "eng_secure"; + name = "artificer's locker"; + req_access_txt = "11"; + req_one_access = null + }, +/obj/item/gear_pack/anglegrinder, +/obj/item/radio/headset/alt, +/obj/item/clothing/mask/gas/inteq, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) "bx" = ( /obj/structure/cable{ icon_state = "2-8" @@ -232,13 +287,11 @@ icon_state = "0-8" }, /obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/telecomms/server/presets/common{ - autolinkers = list("common","hub"); - freq_listening = list(1459); - network = "irmg_commnet" +/obj/machinery/computer/rdconsole/core{ + dir = 8 }, -/turf/open/floor/circuit/telecomms/mainframe, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "bI" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -246,6 +299,9 @@ /obj/effect/turf_decal/siding/thinplating/dark, /obj/machinery/light/directional/west, /obj/effect/decal/cleanable/dirt, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/tech, /area/ship/security/armory) "bK" = ( @@ -253,7 +309,7 @@ /obj/structure/mopbucket, /obj/item/reagent_containers/glass/bucket, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "bM" = ( /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /obj/machinery/door/poddoor{ @@ -277,14 +333,19 @@ /obj/effect/turf_decal/box/corners{ dir = 8 }, -/obj/structure/rack, /obj/machinery/light/directional/south, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable{ icon_state = "0-4" }, -/obj/item/pickaxe/mini, -/obj/item/pickaxe/mini, +/obj/structure/crate_shelf, +/obj/structure/closet/crate, +/obj/item/roller, +/obj/item/roller, +/obj/item/roller, +/obj/structure/platform/ship_three{ + dir = 10 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "ce" = ( @@ -326,7 +387,7 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "cn" = ( /obj/machinery/light/directional/south, /obj/structure/railing{ @@ -390,6 +451,9 @@ dir = 1; pixel_y = -19 }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/tech, /area/ship/crew/cryo) "cD" = ( @@ -417,9 +481,6 @@ name = "waste input pump"; on = 0 }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 }, @@ -445,19 +506,11 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "cT" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/window/northleft{ - req_access_txt = "61" - }, -/obj/machinery/door/window/southright{ - req_access_txt = "61" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/machinery/navbeacon/wayfinding{ + location = "talos_workshop" }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/dark, +/area/ship/storage) "cV" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/storage) @@ -525,7 +578,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "dw" = ( /obj/machinery/power/smes/engineering, /obj/structure/cable{ @@ -540,7 +593,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "dE" = ( /obj/structure/chair/comfy/shuttle{ dir = 4; @@ -583,7 +636,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "ej" = ( /obj/machinery/power/smes/shuttle/precharged{ dir = 4 @@ -624,9 +677,6 @@ /turf/open/floor/plating, /area/ship/engineering) "em" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, /obj/effect/turf_decal/industrial/warning{ dir = 4 }, @@ -641,6 +691,9 @@ piping_layer = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "eu" = ( @@ -669,13 +722,16 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) "eC" = ( -/obj/structure/table, -/obj/item/mecha_parts/mecha_equipment/rcd, -/obj/item/mecha_parts/mecha_equipment/cable_layer, -/obj/item/radio/intercom/directional/west, -/obj/machinery/cell_charger, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/obj/machinery/telecomms/broadcaster/preset_right{ + autolinkers = list("broadcasterB","hub"); + network = "irmg_commnet" + }, +/obj/structure/window/reinforced/survival_pod, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/ship/engineering/communications) "eK" = ( /obj/effect/turf_decal/trimline/opaque/yellow/corner{ dir = 4 @@ -749,7 +805,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "fg" = ( /obj/structure/cable{ icon_state = "4-8" @@ -778,18 +834,34 @@ /obj/structure/grille, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "fo" = ( -/obj/machinery/rnd/production/protolathe/department/engineering, /obj/machinery/camera/autoname{ dir = 9 }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/obj/machinery/telecomms/receiver/preset_right{ + autolinkers = list("receiverB","hub"); + freq_listening = list(1347,1359); + network = "irmg_commnet" + }, +/obj/structure/window/reinforced/survival_pod, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/ship/engineering/communications) "fr" = ( /obj/item/cigbutt, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) +"fs" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 5; + id = "talos_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/communications) "fC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/opaque/yellow/warning{ @@ -808,6 +880,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) "fF" = ( @@ -820,17 +893,17 @@ /area/ship/bridge) "fK" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "fN" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "fU" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "fX" = ( /obj/structure/chair/stool{ dir = 1 @@ -851,8 +924,10 @@ icon_state = "0-2" }, /obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/north, /obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel/grimy, /area/ship/crew) "ge" = ( @@ -881,50 +956,26 @@ }, /turf/open/floor/plasteel/grimy, /area/ship/crew) -"gk" = ( -/obj/item/storage/backpack/industrial, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/under/syndicate/inteq/artificer, -/obj/item/clothing/under/syndicate/inteq/skirt/artificer, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/hardhat, -/obj/item/clothing/shoes/combat, -/obj/item/storage/belt/utility/full, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/item/clothing/glasses/meson, -/obj/item/radio/intercom/directional/east, -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "eng_secure"; - name = "artificer's locker"; - req_access_txt = "11"; - req_one_access = null - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) "gm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "go" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "gp" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line, /obj/effect/turf_decal/siding/thinplating, /obj/machinery/firealarm/directional/south, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "gr" = ( @@ -956,13 +1007,6 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"gF" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) "gG" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1061,18 +1105,7 @@ /obj/effect/turf_decal/box/corners{ dir = 4 }, -/obj/structure/closet/crate{ - name = "sandbags crate" - }, -/obj/item/storage/box/emptysandbags{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/storage/box/emptysandbags, -/obj/item/storage/box/emptysandbags{ - pixel_x = 5; - pixel_y = -5 - }, +/obj/structure/crate_shelf, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "hc" = ( @@ -1115,11 +1148,11 @@ "hm" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "hw" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "hz" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/table/wood, @@ -1133,7 +1166,7 @@ pixel_y = 6 }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "hG" = ( /obj/structure/railing{ dir = 6; @@ -1152,6 +1185,9 @@ icon_state = "multiz_pipe"; name = "multi deck pipe adapter" }, +/obj/structure/platform/industrial_alt{ + dir = 6 + }, /turf/open/floor/plasteel/elevatorshaft, /area/ship/hallway/central) "hK" = ( @@ -1243,9 +1279,9 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/item/cigbutt, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "im" = ( /obj/structure/railing{ dir = 4 @@ -1273,7 +1309,7 @@ dir = 4 }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "iy" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -1319,38 +1355,11 @@ }, /turf/open/floor/plasteel/dark, /area/ship/engineering) -"iE" = ( -/obj/item/storage/backpack/industrial, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/under/syndicate/inteq/artificer, -/obj/item/clothing/under/syndicate/inteq/skirt/artificer, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/hardhat, -/obj/item/clothing/shoes/combat, -/obj/structure/railing, -/obj/item/storage/belt/utility/full, -/obj/effect/turf_decal/techfloor{ +"iM" = ( +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/item/clothing/glasses/meson, -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "eng_secure"; - name = "artificer's locker"; - req_access_txt = "11"; - req_one_access = null - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"iM" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/window/reinforced{ +/obj/structure/window/reinforced{ dir = 8 }, /obj/machinery/power/smes/shuttle/precharged{ @@ -1384,19 +1393,25 @@ }, /obj/item/cigbutt, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "iW" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/navbeacon/wayfinding{ + location = "talos_telecomms" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, /turf/open/floor/plasteel/dark, -/area/ship/storage) +/area/ship/engineering/communications) "iZ" = ( /obj/effect/turf_decal/trimline/opaque/yellow/corner, /obj/effect/turf_decal/siding/thinplating/corner, @@ -1442,7 +1457,7 @@ "jj" = ( /obj/structure/sign/warning/vacuum, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) +/area/ship/storage/port) "jl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1472,7 +1487,7 @@ }, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "jw" = ( /obj/structure/cable{ icon_state = "1-8" @@ -1486,7 +1501,7 @@ /turf/open/floor/carpet/orange, /area/ship/bridge) "jH" = ( -/obj/structure/cable/yellow{ +/obj/structure/cable{ icon_state = "1-2" }, /obj/machinery/door/firedoor/border_only, @@ -1498,17 +1513,36 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/airlock/highsecurity{ - name = "Communications"; - req_access_txt = "61" +/obj/machinery/door/airlock/engineering{ + name = "Storage Bay"; + req_access_txt = "10" }, /turf/open/floor/plasteel/tech, -/area/ship/engineering/communications) -"jJ" = ( -/obj/machinery/light/directional/east, -/obj/machinery/rnd/production/circuit_imprinter/department/engi, -/turf/open/floor/plasteel/tech/grid, /area/ship/storage) +"jJ" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder/syndicate{ + desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'"; + name = "folder" + }, +/obj/item/pen, +/obj/item/multitool{ + pixel_x = 12; + pixel_y = 8 + }, +/obj/machinery/light/directional/south, +/obj/item/radio/intercom/directional/north{ + dir = 4; + freerange = 1; + freqlock = 1; + frequency = 1347; + name = "IRMG shortwave intercom"; + pixel_x = 31; + pixel_y = 0 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) "jP" = ( /obj/effect/turf_decal/siding/white{ dir = 1 @@ -1571,53 +1605,17 @@ /area/ship/hallway/central) "jW" = ( /obj/machinery/light/directional/east, -/obj/machinery/computer/telecomms/server{ - dir = 1; - network = "irmg_commnet" - }, /obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/obj/structure/closet/toolcloset/empty, +/obj/item/rcl/pre_loaded, +/obj/item/storage/toolbox/electrical, +/obj/item/storage/toolbox/mechanical, +/turf/open/floor/plasteel/dark, +/area/ship/storage) "jX" = ( /obj/structure/sign/warning/securearea, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/engineering) -"jY" = ( -/obj/item/storage/backpack/industrial, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/under/syndicate/inteq/artificer, -/obj/item/clothing/under/syndicate/inteq/skirt/artificer, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/hardhat, -/obj/item/clothing/shoes/combat, -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "eng_secure"; - name = "artificer's locker"; - req_access_txt = "11"; - req_one_access = null - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light/directional/north, -/obj/item/storage/belt/utility/full, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/item/clothing/glasses/meson, -/obj/machinery/light_switch{ - pixel_x = 20; - dir = 8; - pixel_y = 11 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) "jZ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1654,14 +1652,14 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate/secure/loot, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "ks" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "kD" = ( /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) @@ -1671,7 +1669,7 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "kM" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1732,16 +1730,13 @@ /turf/open/floor/engine/hull/reinforced/interior, /area/ship/engineering/engine) "ls" = ( -/obj/machinery/telecomms/server/presets/inteq{ - autolinkers = list("inteq","hub"); - freq_listening = list(1347); - network = "irmg_commnet" - }, /obj/structure/cable{ icon_state = "1-4" }, -/turf/open/floor/circuit/telecomms/mainframe, -/area/ship/engineering/communications) +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "lt" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, @@ -1751,9 +1746,6 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "lA" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, /obj/structure/cable/yellow{ icon_state = "1-8" }, @@ -1772,22 +1764,18 @@ /turf/open/floor/plating, /area/ship/engineering/engine) "lB" = ( -/obj/structure/closet/crate/medical, -/obj/item/storage/backpack/satchel/med, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/glasses/hud/health, -/obj/item/storage/belt/medical/webbing, -/obj/item/clothing/suit/armor/inteq/corpsman, -/obj/item/clothing/head/soft/inteq/corpsman, -/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, -/obj/item/clothing/under/syndicate/inteq/corpsman, -/obj/structure/railing, /obj/effect/turf_decal/box/corners{ dir = 8 }, /obj/item/radio/intercom/directional/west, -/obj/item/storage/box/bodybags, /obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/item/storage/bag/ore, +/obj/item/pickaxe/mini, +/obj/item/pickaxe/mini, +/obj/structure/platform/ship_three{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "lC" = ( @@ -1815,7 +1803,7 @@ "lI" = ( /obj/structure/grille, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "lM" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1832,8 +1820,11 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/storage/port) "lO" = ( /obj/structure/cable{ icon_state = "2-4" @@ -1884,7 +1875,7 @@ dir = 4 }, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "mi" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 4 @@ -1897,7 +1888,7 @@ /area/ship/hallway/central) "ml" = ( /obj/item/clothing/glasses/hud/security/sunglasses/inteq, -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, +/obj/item/clothing/mask/balaclava/inteq, /obj/item/clothing/gloves/tackler/combat/insulated, /obj/item/clothing/shoes/combat, /obj/item/storage/belt/military/assault, @@ -1929,15 +1920,21 @@ /area/ship/security) "ms" = ( /obj/machinery/light/directional/west, -/obj/machinery/power/smes/engineering, /obj/structure/cable{ - icon_state = "0-2" + icon_state = "1-2" }, -/obj/structure/sign/warning/coldtemp{ - pixel_x = -32 +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 10 }, -/turf/open/floor/plating, -/area/ship/engineering/communications) +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10; + layer = 2.030 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/storage) "mw" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -1958,18 +1955,11 @@ /turf/open/floor/plasteel/tech, /area/ship/bridge) "mz" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 9 +/obj/structure/cable{ + icon_state = "2-4" }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) "mC" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1999,7 +1989,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "mJ" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/atmospherics/pipe/layer_manifold{ @@ -2091,10 +2081,6 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) -"nh" = ( -/obj/structure/bed/roller, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) "nl" = ( /turf/open/floor/plasteel/grimy, /area/ship/crew) @@ -2129,7 +2115,7 @@ dir = 1 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/fireaxecabinet{ +/obj/structure/cabinet/fireaxe{ dir = 1; pixel_y = -32 }, @@ -2163,17 +2149,17 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "nE" = ( /obj/structure/grille, /obj/structure/window/plasma/reinforced/plastitanium, /turf/open/floor/plating, -/area/ship/engineering/communications) +/area/ship/storage) "nF" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "nH" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/turf_decal/industrial/warning/fulltile, @@ -2182,7 +2168,7 @@ }, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "nJ" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 4 @@ -2266,26 +2252,19 @@ "od" = ( /obj/structure/sign/warning/vacuum/external, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo/port) +/area/ship/maintenance/port) "og" = ( -/obj/structure/catwalk, -/obj/structure/marker_beacon{ - picked_color = "Burgundy" - }, -/turf/open/floor/plating/airless, -/area/ship/external/dark) +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/communications) "oi" = ( -/obj/item/storage/firstaid/medical{ - pixel_x = -5 - }, -/obj/item/storage/firstaid/regular{ - pixel_x = 5 - }, /obj/machinery/camera/autoname, /obj/machinery/status_display/shuttle{ pixel_y = 32 }, -/obj/structure/table, +/obj/structure/platform/ship_three{ + dir = 1 + }, +/obj/structure/weightmachine/stacklifter, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "om" = ( @@ -2298,9 +2277,8 @@ /obj/effect/turf_decal/siding/thinplating/dark/corner{ dir = 8 }, -/obj/effect/turf_decal/trimline/opaque/yellow/warning, /turf/open/floor/plasteel/dark, -/area/ship/storage) +/area/ship/engineering/communications) "on" = ( /obj/structure/cable{ icon_state = "2-4" @@ -2330,7 +2308,7 @@ /turf/open/floor/plasteel/tech, /area/ship/security/armory) "os" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /obj/effect/turf_decal/corner/opaque/brown{ @@ -2389,15 +2367,15 @@ }, /obj/item/trash/popcorn, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "oG" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/closet/cardboard, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "oR" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -2413,7 +2391,7 @@ icon_state = "1-4" }, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "oT" = ( /obj/structure/cable{ icon_state = "2-4" @@ -2456,7 +2434,7 @@ "oY" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "pb" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/jukebox/boombox{ @@ -2464,7 +2442,7 @@ pixel_y = -11 }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "pf" = ( /obj/structure/cable{ icon_state = "0-4" @@ -2484,6 +2462,7 @@ /obj/effect/turf_decal/corner/opaque/yellow, /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm/directional/south, +/obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/dark, /area/ship/bridge) "pk" = ( @@ -2520,7 +2499,7 @@ valve_open = 1 }, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "pu" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -2534,8 +2513,8 @@ name = "fridge" }, /obj/item/storage/cans/sixbeer, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/snacks/popsicle/creamsicle_orange, /obj/item/reagent_containers/food/snacks/popsicle/creamsicle_orange, /obj/item/radio/intercom/directional/north, @@ -2561,7 +2540,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "pL" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, @@ -2579,9 +2558,7 @@ /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 }, -/obj/item/stamp/hos{ - name = "vanguard's rubber stamp" - }, +/obj/item/stamp/inteq/vanguard, /obj/machinery/airalarm/directional/north, /turf/open/floor/plasteel/dark, /area/ship/bridge) @@ -2626,11 +2603,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/navbeacon/wayfinding{ - location = "talos_telecomms" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/obj/machinery/rnd/production/protolathe/department/engineering, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "qe" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2672,8 +2647,8 @@ dir = 4 }, /obj/machinery/light_switch{ - pixel_x = 19; dir = 8; + pixel_x = 19; pixel_y = 11 }, /turf/open/floor/plasteel/patterned/grid, @@ -2690,9 +2665,9 @@ "qp" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "qr" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2707,14 +2682,14 @@ name = "Access Door Control"; pixel_x = 21; pixel_y = -6; - req_access_txt = "24" + req_access_txt = "56" }, /obj/machinery/button/shieldwallgen{ dir = 8; id = "talos_tank_air"; pixel_x = 19; pixel_y = 4; - req_access_txt = "24" + req_access_txt = "56" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 @@ -2740,6 +2715,20 @@ /obj/item/radio/headset, /turf/open/floor/plasteel/tech/grid, /area/ship/crew/cryo) +"qt" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 6; + id = "talos_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/maintenance/starboard) +"qz" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 5; + id = "talos_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/hallway/port) "qB" = ( /obj/effect/turf_decal/industrial/traffic, /obj/effect/decal/cleanable/dirt, @@ -2783,8 +2772,8 @@ }, /obj/machinery/power/apc/auto_name/directional/north, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = -12 + pixel_x = -12; + pixel_y = 23 }, /obj/structure/cable{ icon_state = "0-8" @@ -2824,6 +2813,7 @@ /obj/item/target{ pixel_x = 5 }, +/obj/structure/platform/ship_three, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "qT" = ( @@ -2833,8 +2823,8 @@ dir = 9 }, /obj/machinery/light_switch{ - pixel_x = 20; dir = 8; + pixel_x = 20; pixel_y = 11 }, /turf/open/floor/plasteel/tech, @@ -2897,7 +2887,7 @@ "rw" = ( /obj/structure/chair/comfy/grey/directional/north, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "rB" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning, /turf/open/floor/engine/hull/reinforced, @@ -2919,9 +2909,9 @@ /area/ship/security) "rN" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "rP" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2961,6 +2951,11 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/dark/hidden/layer1, +/obj/machinery/button/ignition/incinerator/atmos{ + dir = 4; + pixel_x = -30; + pixel_y = 12 + }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "sa" = ( @@ -2971,30 +2966,14 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "sc" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/folder/syndicate{ - desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'"; - name = "folder" - }, -/obj/item/pen, -/obj/item/multitool{ - pixel_x = 12; - pixel_y = 8 - }, -/obj/item/radio/intercom/directional/north{ - freerange = 1; - freqlock = 1; - frequency = 1347; - name = "IRMG shortwave intercom" - }, /obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/obj/machinery/rnd/server, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "si" = ( /obj/structure/sign/warning/vacuum, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "sl" = ( /obj/machinery/door/airlock/maintenance_hatch{ dir = 4 @@ -3006,7 +2985,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "sn" = ( /obj/structure/chair/stool{ dir = 1 @@ -3059,7 +3038,7 @@ /area/template_noop) "sy" = ( /turf/closed/wall/mineral/plastitanium, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "sA" = ( /obj/structure/table, /obj/item/folder/yellow, @@ -3076,15 +3055,15 @@ pixel_y = -32 }, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "sD" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/turf_decal/industrial/warning{ dir = 4 }, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "sF" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -3092,7 +3071,7 @@ /obj/effect/turf_decal/corner/opaque/brown{ dir = 4 }, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/machinery/camera/autoname, /obj/machinery/status_display/shuttle{ pixel_y = 32 @@ -3117,38 +3096,6 @@ }, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) -"sM" = ( -/obj/structure/rack, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/ion_carbine{ - pixel_x = -32 - }, -/obj/item/ammo_box/magazine/m12g/small{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/ammo_box/magazine/m12g/small{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/ammo_box/magazine/m12g/small{ - pixel_x = -5 - }, -/obj/item/ammo_box/magazine/m12g/small{ - pixel_x = -5 - }, -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = 5 - }, -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = -5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) "sN" = ( /obj/effect/turf_decal/industrial/warning{ dir = 8 @@ -3242,11 +3189,11 @@ icon_state = "2-8" }, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "ti" = ( /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "tp" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -3286,10 +3233,6 @@ }, /turf/open/floor/carpet/black, /area/ship/crew/dorm) -"ts" = ( -/obj/structure/sign/number/one, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) "tu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 @@ -3301,8 +3244,14 @@ dir = 6 }, /obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, /turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/area/ship/storage) "tA" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/engineering) @@ -3338,14 +3287,27 @@ }, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) +"tM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/landmark/start/station_engineer, +/obj/structure/chair/office, +/turf/open/floor/plasteel/dark, +/area/ship/storage) "tO" = ( -/obj/machinery/computer/telecomms/monitor{ - dir = 1; - network = "irmg_commnet" +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 4 }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/dark, +/area/ship/storage) "tT" = ( /obj/structure/cable{ icon_state = "1-2" @@ -3381,13 +3343,13 @@ }, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "uc" = ( /obj/structure/sign/poster/contraband/random{ pixel_y = 32 }, /turf/open/floor/carpet, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "ud" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -3409,23 +3371,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/grimy, /area/ship/crew) -"ug" = ( -/obj/structure/rack, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/retro/lasergun_new{ - pixel_x = -32 - }, -/obj/item/gun/ballistic/shotgun/bulldog/inteq/no_mag{ - pixel_x = -8; - pixel_y = 8; - }, -/obj/item/gun/ballistic/shotgun/bulldog/inteq/no_mag{ - pixel_x = -12; - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) "ul" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 @@ -3441,7 +3386,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "up" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -3466,10 +3411,13 @@ /obj/effect/turf_decal/box/corners{ dir = 1 }, -/obj/structure/closet/crate/freezer/blood, /obj/machinery/light/directional/north, /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/west, +/obj/machinery/autolathe, +/obj/structure/platform/ship_three{ + dir = 9 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "uC" = ( @@ -3496,22 +3444,20 @@ /turf/open/floor/plating, /area/ship/engineering) "uE" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/navbeacon/wayfinding{ - location = "talos_workshop" - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/turf/open/floor/plasteel/tech, +/area/ship/engineering/communications) "uI" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "uO" = ( /obj/effect/turf_decal/box/corners{ dir = 1 }, -/obj/machinery/iv_drip, +/obj/structure/table, +/obj/item/storage/box/cups, +/obj/structure/platform/ship_three{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "vi" = ( @@ -3519,7 +3465,7 @@ dir = 1 }, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) +/area/ship/storage/port) "vn" = ( /obj/effect/turf_decal/corner/opaque/yellow, /obj/effect/turf_decal/corner/opaque/brown{ @@ -3547,7 +3493,7 @@ /turf/open/floor/plasteel/grimy, /area/ship/crew) "vp" = ( -/turf/closed/wall/mineral/plastitanium, +/turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/engineering/communications) "vv" = ( /obj/structure/cable/yellow{ @@ -3585,36 +3531,15 @@ /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) "vM" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "ce"; - name = "artificer class II's locker"; - req_access = null; - req_access_txt = "56" - }, -/obj/item/clothing/under/syndicate/inteq/artificer, -/obj/item/clothing/under/syndicate/inteq/skirt/artificer, -/obj/item/storage/backpack/industrial, -/obj/item/clothing/suit/toggle/industrial, -/obj/item/clothing/head/hardhat/white, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, -/obj/item/clothing/gloves/combat, -/obj/item/megaphone/cargo{ - name = "engineering megaphone" - }, -/obj/item/stamp/ce{ - name = "artificer class II's rubber stamp" +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 5 }, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/glasses/welding, -/obj/item/pipe_dispenser, -/obj/item/storage/belt/utility/chief{ - name = "\improper Artificer Class II's toolbelt" +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, /turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/area/ship/storage) "vP" = ( /obj/item/cigbutt, /turf/open/floor/plasteel/dark, @@ -3672,14 +3597,14 @@ /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "wb" = ( -/obj/structure/window/reinforced/survival_pod{ - dir = 8 +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 }, -/obj/structure/window/reinforced/survival_pod{ - dir = 1 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/dark, +/area/ship/storage) "wc" = ( /obj/structure/cable{ icon_state = "1-8" @@ -3703,7 +3628,20 @@ /obj/effect/turf_decal/box/corners{ dir = 4 }, -/obj/structure/weightmachine/stacklifter, +/obj/structure/platform/ship_three{ + dir = 1 + }, +/obj/structure/closet/crate{ + name = "food crate" + }, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "wu" = ( @@ -3724,10 +3662,16 @@ dir = 1 }, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) +/area/ship/storage/port) "wx" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, /turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/area/ship/storage) "wy" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3804,7 +3748,7 @@ "wU" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "wY" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/trimline/opaque/yellow/line{ @@ -3863,6 +3807,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "xf" = ( @@ -3872,6 +3819,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/structure/railing{ + dir = 1 + }, /turf/open/floor/plasteel/stairs/right{ dir = 4 }, @@ -3879,13 +3829,22 @@ "xj" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew/cryo) +"xk" = ( +/obj/docking_port/stationary{ + dir = 2; + dwidth = 4; + height = 15; + width = 15 + }, +/turf/template_noop, +/area/template_noop) "xl" = ( -/obj/machinery/telecomms/bus/preset_four{ - autolinkers = list("hub","processor4","bus"); - network = "irmg_commnet" +/obj/machinery/mech_bay_recharge_port, +/obj/machinery/status_display/shuttle{ + pixel_y = -32 }, -/turf/open/floor/circuit/telecomms/mainframe, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "xn" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3916,18 +3875,17 @@ /turf/open/floor/plasteel/dark, /area/ship/engineering) "xz" = ( -/obj/machinery/telecomms/broadcaster/preset_right{ - autolinkers = list("broadcasterB","hub"); - network = "irmg_commnet" - }, -/obj/structure/window/reinforced/survival_pod{ - dir = 1 - }, +/obj/structure/table, +/obj/item/storage/toolbox/mechanical, +/obj/item/weldingtool/largetank, +/obj/item/clothing/glasses/welding, +/obj/item/multitool, +/obj/item/radio/intercom/directional/west, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/circuit/telecomms/mainframe, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "xB" = ( /obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -3954,14 +3912,11 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "xI" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew/canteen) "xK" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, /obj/structure/cable{ icon_state = "4-8" }, @@ -4008,13 +3963,12 @@ /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "yb" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, /obj/structure/curtain/bounty, /obj/structure/sign/poster/contraband/masked_men{ pixel_y = -32 }, /obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/bunk_bed, /turf/open/floor/carpet/black, /area/ship/crew/dorm) "yc" = ( @@ -4028,15 +3982,28 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 }, -/obj/structure/cable/yellow, -/obj/machinery/power/terminal, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, /turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/area/ship/storage) "yj" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 }, /obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/tech, /area/ship/crew/cryo) "yl" = ( @@ -4069,7 +4036,7 @@ /area/ship/hallway/central) "yp" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) +/area/ship/storage/port) "yq" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 @@ -4091,14 +4058,12 @@ /turf/open/floor/plating, /area/ship/engineering/engine) "yr" = ( -/obj/structure/chair/office, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/effect/landmark/start/chief_engineer, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/obj/machinery/rnd/production/circuit_imprinter/department/engi, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "yx" = ( /obj/structure/table/reinforced, /obj/machinery/computer/secure_data/laptop, @@ -4140,7 +4105,7 @@ icon_state = "4-8" }, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "yS" = ( /obj/structure/cable{ icon_state = "1-2" @@ -4166,32 +4131,12 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/cargo/port) -"zf" = ( -/obj/item/storage/backpack/messenger/inteq, -/obj/item/storage/backpack/messenger/inteq, -/obj/item/storage/backpack/messenger/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/structure/closet{ - icon_door = "orange"; - name = "inteq wardrobe" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm) +/area/ship/maintenance/port) "zg" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "zh" = ( /obj/machinery/holopad/emergency/command, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -4221,8 +4166,12 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/mecha_parts/mecha_equipment/rcd, +/obj/item/mecha_parts/mecha_equipment/cable_layer, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "zu" = ( /obj/effect/turf_decal/box/corners{ dir = 4 @@ -4240,9 +4189,14 @@ pixel_x = 19; pixel_y = -2 }, -/obj/structure/weightmachine/weightlifter, /obj/machinery/light/directional/north, /obj/effect/decal/cleanable/dirt, +/obj/structure/platform/ship_three{ + dir = 1 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "zw" = ( @@ -4258,17 +4212,14 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 10 }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 10 - }, /turf/open/floor/plasteel/dark, -/area/ship/storage) +/area/ship/engineering/communications) "zB" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate/trashcart, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "zE" = ( /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /obj/structure/cable{ @@ -4281,12 +4232,11 @@ /turf/open/floor/plating, /area/ship/hallway/port) "zG" = ( -/obj/item/bedsheet/brown, -/obj/structure/bed, /obj/structure/curtain/bounty, /obj/structure/sign/poster/contraband/lusty_xenomorph{ pixel_x = -32 }, +/obj/effect/spawner/bunk_bed, /turf/open/floor/carpet/black, /area/ship/crew/dorm) "zK" = ( @@ -4307,18 +4257,21 @@ icon_state = "2-4" }, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "zR" = ( /obj/machinery/firealarm/directional/south, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/camera/autoname{ + dir = 8 + }, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 6 }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 6 +/obj/structure/chair/handrail{ + dir = 1 }, -/obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/plasteel/dark, -/area/ship/storage) +/area/ship/engineering/communications) "zT" = ( /obj/structure/chair/stool/bar{ dir = 8 @@ -4344,9 +4297,9 @@ "Aa" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "Ag" = ( /obj/structure/chair/stool{ dir = 1 @@ -4394,7 +4347,7 @@ /area/ship/crew/toilet) "Ap" = ( /turf/closed/wall/mineral/plastitanium, -/area/ship/cargo/port) +/area/ship/maintenance/port) "Ar" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ dir = 4; @@ -4431,7 +4384,7 @@ "AB" = ( /obj/docking_port/stationary{ dir = 4; - dwidth = 4; + dwidth = 3; height = 15; width = 6 }, @@ -4486,7 +4439,7 @@ /obj/item/mop, /obj/item/pushbroom, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "AO" = ( /obj/machinery/suit_storage_unit/inherit/industrial, /obj/item/clothing/suit/space/hardsuit/engine, @@ -4550,12 +4503,6 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering/engine) -"Bd" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 9 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) "Bh" = ( /obj/structure/cable{ icon_state = "1-2" @@ -4586,7 +4533,7 @@ /obj/item/clothing/suit/space/inteq, /obj/item/clothing/head/helmet/space/inteq, /turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) +/area/ship/storage/port) "BJ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4612,28 +4559,37 @@ /area/ship/crew/canteen) "BN" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "BP" = ( /obj/structure/cable{ icon_state = "1-4" }, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "BS" = ( /obj/effect/turf_decal/box/corners{ dir = 1 }, -/obj/machinery/mineral/ore_redemption{ - dir = 4; - input_dir = 4; - output_dir = 0 - }, /obj/machinery/light_switch{ dir = 4; pixel_x = -19 }, +/obj/structure/crate_shelf, +/obj/structure/closet/crate/medical, +/obj/item/storage/firstaid/brute{ + pixel_x = -8; + pixel_y = 0 + }, +/obj/item/storage/firstaid/fire{ + pixel_x = 9; + pixel_y = 0 + }, +/obj/item/storage/box/bodybags, +/obj/structure/platform/ship_three{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "BY" = ( @@ -4652,7 +4608,7 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "Cp" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/structure/sign/poster/contraband/inteq{ pixel_x = 32 }, @@ -4660,6 +4616,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/grimy, /area/ship/crew) +"Cr" = ( +/obj/machinery/porta_turret/ship/inteq/light{ + dir = 9; + id = "talos_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/communications) "Cs" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -4706,7 +4669,7 @@ /obj/item/book/random, /obj/item/book/random, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "CK" = ( /obj/effect/turf_decal/industrial/warning{ dir = 8 @@ -4720,13 +4683,9 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/portable_atmospherics/canister/toxins, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "CP" = ( /obj/effect/turf_decal/borderfloor, -/obj/machinery/door/airlock/engineering{ - name = "Storage Bay"; - req_access_txt = "10" - }, /obj/structure/cable{ icon_state = "1-2" }, @@ -4736,14 +4695,19 @@ /obj/machinery/door/firedoor/border_only, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/airlock/highsecurity{ + name = "Communications"; + req_access_txt = "61" + }, /turf/open/floor/plasteel/tech, -/area/ship/storage) +/area/ship/engineering/communications) "CS" = ( /obj/effect/turf_decal/box/corners{ dir = 4 }, -/obj/structure/bed/roller, -/obj/effect/decal/cleanable/dirt, +/obj/structure/platform/ship_three{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "CX" = ( @@ -4751,10 +4715,36 @@ icon_state = "1-8" }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew) +"CY" = ( +/obj/item/storage/backpack/messenger/inteq, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/structure/closet{ + icon_door = "orange"; + name = "inteq wardrobe" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) "Dd" = ( /obj/structure/cable{ icon_state = "1-8" @@ -4813,7 +4803,8 @@ /obj/structure/cable{ icon_state = "1-8" }, -/obj/structure/reagent_dispensers/watertank, +/obj/structure/crate_shelf, +/obj/structure/platform/ship_three, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Ds" = ( @@ -4833,7 +4824,7 @@ dir = 1 }, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) +/area/ship/storage/port) "DC" = ( /obj/effect/turf_decal/box/corners, /obj/structure/closet/crate{ @@ -4853,11 +4844,13 @@ /obj/item/clothing/ears/earmuffs, /obj/item/clothing/ears/earmuffs, /obj/effect/decal/cleanable/dirt, +/obj/structure/crate_shelf, +/obj/structure/platform/ship_three, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "DO" = ( /turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "DQ" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -4889,9 +4882,12 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "Eg" = ( -/obj/machinery/mech_bay_recharge_port, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/obj/machinery/telecomms/bus/preset_four{ + autolinkers = list("hub","processor4","bus"); + network = "irmg_commnet" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/communications) "Ep" = ( /obj/item/trash/can, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, @@ -4904,21 +4900,29 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/item/cigbutt, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Ex" = ( /obj/structure/cable{ icon_state = "1-4" }, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "EC" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 +/obj/structure/window/reinforced/survival_pod, +/obj/structure/window/reinforced/survival_pod{ + dir = 4 }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-8" }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) +"ED" = ( +/obj/machinery/porta_turret/ship/inteq/light{ + dir = 10; + id = "talos_grid" + }, +/turf/closed/wall/mineral/plastitanium, /area/ship/storage) "EL" = ( /obj/structure/cable{ @@ -4944,10 +4948,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/hallway/central) -"Ff" = ( -/obj/structure/sign/number/nine, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) "Fh" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable{ @@ -4955,7 +4955,7 @@ }, /obj/item/cigbutt, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "Fi" = ( /obj/structure/catwalk, /obj/effect/decal/cleanable/dirt, @@ -4965,23 +4965,20 @@ /turf/open/floor/plating/airless, /area/ship/external/dark) "Fk" = ( -/obj/structure/catwalk, -/obj/docking_port/mobile{ - dir = 2; - launch_status = 0; - port_direction = 8; - preferred_direction = 4 - }, /obj/structure/marker_beacon{ picked_color = "Burgundy" }, +/obj/structure/catwalk, /turf/open/floor/plating/airless, /area/ship/external/dark) "Fl" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Fm" = ( /obj/structure/cable{ icon_state = "1-2" @@ -5095,7 +5092,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "FV" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/structure/railing, @@ -5139,7 +5136,7 @@ dir = 4 }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/storage/port) "Gm" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/airlock/external, @@ -5152,7 +5149,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Gr" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input{ dir = 8 @@ -5190,7 +5187,7 @@ /obj/item/clothing/suit/space/inteq, /obj/item/clothing/head/helmet/space/inteq, /turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Gv" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -5209,23 +5206,19 @@ dir = 8; pixel_x = 20 }, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Gz" = ( /obj/machinery/light/directional/south, -/obj/machinery/telecomms/hub{ - autolinkers = list("hub","bus","relay","messaging","inteq","common","broadcasterB","receiverB"); - id = "IRMG Communications Hub"; - network = "irmg_commnet" - }, -/turf/open/floor/circuit/telecomms/mainframe, -/area/ship/engineering/communications) -"GA" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 5 +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/mecha/working/ripley/cargo{ + name = "\improper APLU 'Big Boss'" }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/storage) "GG" = ( /obj/machinery/light/small/directional/west, /obj/structure/cable{ @@ -5234,6 +5227,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/carpet/black, /area/ship/crew/dorm) "GL" = ( @@ -5251,18 +5247,34 @@ icon_state = "1-8" }, /obj/effect/decal/cleanable/blood/old, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "GR" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, /obj/structure/curtain/bounty, /obj/structure/sign/poster/contraband/d_day_promo{ pixel_x = 32 }, +/obj/effect/spawner/bunk_bed, /turf/open/floor/carpet/black, /area/ship/crew/dorm) +"GU" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8; + filter_types = list("n2","co2","bz","water_vapor","miasma","freon","tritium","n20"); + id_tag = null + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer1{ + dir = 10 + }, +/turf/open/floor/engine/vacuum, +/area/ship/engineering/engine) "GY" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -5284,7 +5296,7 @@ icon_state = "1-8" }, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "He" = ( /obj/effect/turf_decal/techfloor{ dir = 4 @@ -5310,22 +5322,24 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/robot_debris, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "Hl" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/weldingtool/largetank, -/obj/item/clothing/glasses/welding, -/obj/item/multitool, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/obj/machinery/computer/telecomms/server{ + network = "irmg_commnet" + }, +/obj/item/radio/intercom/directional/north{ + dir = 4; + pixel_x = 31; + pixel_y = 0 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) "Ho" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Hp" = ( /obj/structure/cable{ icon_state = "1-2" @@ -5338,6 +5352,32 @@ "Hq" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/security/armory) +"Hv" = ( +/obj/structure/rack, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/retro/lasergun_new{ + pixel_x = -32 + }, +/obj/item/storage/guncase/inherit{ + pixel_x = 2; + pixel_y = -2 + }, +/obj/item/gun/ballistic/shotgun/automatic/bulldog/inteq/no_mag, +/obj/item/ammo_box/magazine/m12g_bulldog, +/obj/item/ammo_box/magazine/m12g_bulldog, +/obj/item/storage/guncase/inherit{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/gun/ballistic/shotgun/automatic/bulldog/inteq/no_mag, +/obj/item/ammo_box/magazine/m12g_bulldog, +/obj/item/ammo_box/magazine/m12g_bulldog{ + pixel_y = -1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security/armory) "HB" = ( /obj/machinery/suit_storage_unit/inherit/industrial, /obj/item/clothing/suit/space/hardsuit/engine, @@ -5347,6 +5387,8 @@ /area/ship/engineering) "HD" = ( /obj/machinery/firealarm/directional/south, +/obj/structure/reagent_dispensers/fueltank, +/obj/structure/platform/ship_three, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "HI" = ( @@ -5379,7 +5421,7 @@ "If" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Io" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -5455,7 +5497,7 @@ /obj/item/circuitboard/machine/telecomms/message_server, /obj/item/circuitboard/machine/pacman, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "ID" = ( /obj/machinery/door/airlock/public/glass{ name = "Cryogenic Storage" @@ -5478,7 +5520,7 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/closet/firecloset, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "IJ" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -5514,27 +5556,10 @@ /obj/effect/turf_decal/siding/thinplating, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) -"Je" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8; - filter_types = list("n2","co2","bz","water_vapor","miasma","freon","pluox","tritium","n20","no2","nob"); - id_tag = null - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer1{ - dir = 10 - }, -/turf/open/floor/engine/vacuum, -/area/ship/engineering/engine) "Jk" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Jo" = ( /obj/structure/cable{ icon_state = "2-5" @@ -5556,16 +5581,16 @@ id = "talos_tank_fuel"; pixel_x = 19; pixel_y = 4; - req_access_txt = "24" + req_access_txt = "56" }, /obj/machinery/button/door{ - color = "red"; + color = null; dir = 8; id = "talos_tank_fuel"; - name = "Access Door Control (DANGER) (EXTREMELY DANGEROUS) (DO NOT PRESS)"; + name = "Access Door Control"; pixel_x = 21; pixel_y = -6; - req_access_txt = "24" + req_access_txt = "56" }, /obj/structure/cable{ icon_state = "1-8" @@ -5605,7 +5630,7 @@ /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "JP" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -5627,9 +5652,9 @@ pixel_x = -1; pixel_y = 3 }, -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) "JT" = ( @@ -5658,6 +5683,7 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, +/obj/structure/platform/ship_three, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Kd" = ( @@ -5682,8 +5708,19 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Kf" = ( -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/window/northleft{ + req_access_txt = "61" + }, +/obj/machinery/door/window/southright{ + req_access_txt = "61" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/communications) "Ks" = ( /obj/structure/cable{ icon_state = "4-8" @@ -5727,7 +5764,7 @@ icon_state = "0-2" }, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "KF" = ( /obj/structure/railing, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -5750,7 +5787,7 @@ dir = 4 }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "KR" = ( /obj/structure/cable{ icon_state = "1-2" @@ -5769,7 +5806,46 @@ icon_state = "1-8" }, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) +"KW" = ( +/obj/item/storage/backpack/industrial, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/under/syndicate/inteq/artificer, +/obj/item/clothing/under/syndicate/inteq/artificer/skirt, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/hardhat, +/obj/item/clothing/shoes/combat, +/obj/structure/closet/secure_closet{ + anchored = 1; + icon_state = "eng_secure"; + name = "artificer's locker"; + req_access_txt = "11"; + req_one_access = null + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/light/directional/north, +/obj/item/storage/belt/utility/full, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/item/clothing/glasses/meson, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 11 + }, +/obj/item/gear_pack/anglegrinder, +/obj/item/radio/headset/alt, +/obj/item/clothing/mask/gas/inteq, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) "KY" = ( /obj/effect/turf_decal/borderfloor, /obj/machinery/door/airlock/public/glass{ @@ -5803,9 +5879,7 @@ desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'"; name = "folder" }, -/obj/item/stamp/law{ - name = "master at arms' rubber stamp" - }, +/obj/item/stamp/inteq/maa, /obj/item/table_bell{ pixel_x = -15 }, @@ -5847,7 +5921,7 @@ /obj/effect/turf_decal/industrial/warning/fulltile, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "LJ" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -5898,14 +5972,14 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 8 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 }, /turf/open/floor/plasteel/dark, -/area/ship/storage) +/area/ship/engineering/communications) "LU" = ( /obj/structure/cable{ icon_state = "1-2" @@ -5923,16 +5997,11 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "LV" = ( -/obj/machinery/telecomms/receiver/preset_right{ - autolinkers = list("receiverB","hub"); - freq_listening = list(1347,1359); - network = "irmg_commnet" - }, -/obj/structure/window/reinforced/survival_pod{ - dir = 1 - }, -/turf/open/floor/circuit/telecomms/mainframe, -/area/ship/engineering/communications) +/obj/machinery/autolathe, +/obj/item/stack/sheet/metal/five, +/obj/item/stack/sheet/glass/five, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "Ma" = ( /obj/effect/turf_decal/industrial/fire{ dir = 4 @@ -5966,6 +6035,7 @@ /obj/effect/turf_decal/box/corners{ dir = 1 }, +/obj/structure/reagent_dispensers/watertank, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Ml" = ( @@ -5993,8 +6063,11 @@ dir = 1 }, /obj/item/radio/intercom/directional/south, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Mx" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -6012,35 +6085,31 @@ icon_state = "0-2" }, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = -12 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"My" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 8 + pixel_x = -12; + pixel_y = 23 }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/obj/item/clothing/mask/gas/inteq, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security/armory) +"My" = ( +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/clothing/suit/space/hardsuit/engine/elite, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/communications) "MC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 +/obj/effect/landmark/start/chief_engineer, +/obj/structure/chair/office{ + dir = 1 }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 }, /turf/open/floor/plasteel/dark, -/area/ship/storage) +/area/ship/engineering/communications) "MK" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 @@ -6052,7 +6121,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate/secure/loot, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "MS" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6075,7 +6144,19 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/ore_box, +/obj/structure/crate_shelf, +/obj/structure/closet/crate{ + name = "sandbags crate" + }, +/obj/item/storage/box/emptysandbags{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/item/storage/box/emptysandbags, +/obj/item/storage/box/emptysandbags{ + pixel_x = -5; + pixel_y = 5 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "MX" = ( @@ -6087,6 +6168,9 @@ icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "Nd" = ( @@ -6094,6 +6178,9 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/grimy, /area/ship/crew) "Nf" = ( @@ -6101,17 +6188,17 @@ icon_state = "2-8" }, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Ng" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Ni" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/portable_atmospherics/canister/toxins, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Nj" = ( /obj/effect/turf_decal/box/corners, /obj/machinery/button/shieldwallgen{ @@ -6129,6 +6216,10 @@ }, /obj/machinery/light/directional/south, /obj/effect/decal/cleanable/dirt, +/obj/structure/platform/ship_three, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Nk" = ( @@ -6153,15 +6244,18 @@ /obj/effect/turf_decal/trimline/opaque/yellow/warning{ dir = 4 }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/tech, /area/ship/hallway/central) "NF" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "NK" = ( /turf/open/floor/engine/air, /area/ship/engineering/engine) @@ -6208,18 +6302,20 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Oc" = ( -/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Oi" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"Ok" = ( -/obj/machinery/rnd/server, -/turf/open/floor/plasteel/tech/grid, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10; + layer = 2.030 + }, +/turf/open/floor/plasteel/dark, /area/ship/storage) "Oq" = ( /obj/effect/turf_decal/corner/opaque/yellow{ @@ -6276,14 +6372,21 @@ "OP" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "Pf" = ( /obj/structure/catwalk, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/ship/external/dark) +"Pi" = ( +/obj/structure/catwalk, +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) "Pk" = ( /obj/machinery/door/poddoor/shutters{ dir = 4; @@ -6304,12 +6407,13 @@ /area/ship/engineering/engine) "Pp" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo/port) +/area/ship/maintenance/port) "Pr" = ( /obj/machinery/air_sensor/atmos/incinerator_tank, /obj/machinery/atmospherics/pipe/simple/purple/hidden{ dir = 4 }, +/obj/machinery/igniter/incinerator_atmos, /turf/open/floor/engine/vacuum, /area/ship/engineering/engine) "Ps" = ( @@ -6320,16 +6424,10 @@ /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/structure/closet/crate, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) -"Pw" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 10 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) +/area/ship/storage/starboard) "Py" = ( /obj/structure/cable{ icon_state = "1-2" @@ -6354,7 +6452,7 @@ dir = 1 }, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) +/area/ship/storage/port) "PJ" = ( /obj/effect/turf_decal/techfloor{ dir = 1 @@ -6364,6 +6462,7 @@ dir = 8 }, /obj/machinery/firealarm/directional/north, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "PL" = ( @@ -6483,7 +6582,7 @@ dir = 4 }, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "QC" = ( /obj/structure/chair/stool{ dir = 1 @@ -6510,13 +6609,12 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "QS" = ( -/obj/structure/sign/number/eight, +/obj/structure/sign/number/random{ + pixel_y = -8 + }, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "QU" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, /obj/machinery/airalarm/directional/south, /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 1; @@ -6536,7 +6634,7 @@ icon_state = "4-8" }, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "QW" = ( /obj/structure/cable{ icon_state = "2-4" @@ -6544,7 +6642,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "QZ" = ( /obj/machinery/power/shieldwallgen/atmos/roundstart{ dir = 8; @@ -6560,14 +6658,18 @@ /turf/open/floor/engine/hull/reinforced/interior, /area/ship/engineering/engine) "Rc" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 +/obj/structure/cable{ + icon_state = "2-8" }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 5 +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) +"Rf" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 6; + id = "talos_grid" }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/turf/closed/wall/mineral/plastitanium, +/area/ship/security) "Rg" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6584,16 +6686,16 @@ /area/ship/hallway/central) "Ri" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "Rp" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Rs" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/structure/cable{ @@ -6606,7 +6708,7 @@ dir = 4 }, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Ry" = ( /obj/structure/cable{ icon_state = "0-4" @@ -6661,20 +6763,14 @@ /area/ship/crew/dorm) "RT" = ( /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "RV" = ( /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/plasma, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, -/area/ship/cargo/port) -"RW" = ( -/obj/machinery/turretid/lethal{ - pixel_y = 32 - }, -/turf/open/floor/carpet/orange, -/area/ship/bridge) +/area/ship/maintenance/port) "RY" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/airlock/hatch{ @@ -6687,7 +6783,7 @@ dir = 4 }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/storage/port) "Si" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 1 @@ -6742,9 +6838,12 @@ /turf/open/floor/plating, /area/ship/engineering) "Su" = ( -/obj/machinery/computer/mech_bay_power_console, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/obj/machinery/telecomms/processor/preset_four{ + autolinkers = list("processor4","bus"); + network = "irmg_commnet" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/ship/engineering/communications) "SB" = ( /obj/structure/cable{ icon_state = "1-8" @@ -6789,7 +6888,7 @@ /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "SI" = ( /obj/structure/cable{ icon_state = "2-8" @@ -6812,14 +6911,15 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "SK" = ( -/obj/structure/closet/toolcloset/empty, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/electrical, -/obj/item/rcl/pre_loaded, /obj/machinery/light/directional/west, -/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/terminal{ + dir = 1 + }, /turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/area/ship/engineering/communications) "SL" = ( /obj/machinery/power/shuttle/engine/fueled/plasma{ dir = 4 @@ -6839,7 +6939,7 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "SS" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/machinery/airalarm/directional/east, /turf/open/floor/plasteel/grimy, /area/ship/crew) @@ -6867,14 +6967,15 @@ /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "Tg" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 +/obj/structure/window/reinforced/survival_pod, +/obj/structure/window/reinforced/survival_pod{ + dir = 8 }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-4" }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) "Tj" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6884,9 +6985,25 @@ /area/ship/bridge) "Tq" = ( /obj/effect/turf_decal/box/corners, -/obj/effect/landmark/start/medical_doctor, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) +"Tx" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) "TA" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/plasteel/grimy, @@ -6915,7 +7032,7 @@ icon_state = "4-8" }, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "TH" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/effect/decal/cleanable/dirt, @@ -6923,7 +7040,7 @@ /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "TK" = ( /obj/structure/window/reinforced{ dir = 4 @@ -6957,12 +7074,12 @@ "TN" = ( /obj/structure/falsewall/plastitanium, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "TO" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/vomit/old, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "TS" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6994,7 +7111,7 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate/secure/loot, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Uc" = ( /obj/structure/cable{ icon_state = "1-4" @@ -7021,6 +7138,9 @@ /obj/machinery/computer/security/telescreen/entertainment{ pixel_x = -32 }, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Uh" = ( @@ -7053,17 +7173,10 @@ /obj/effect/turf_decal/box/corners{ dir = 1 }, -/obj/structure/closet/crate{ - name = "food crate" +/obj/structure/platform/ship_three{ + dir = 1 }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/item/reagent_containers/food/drinks/waterbottle/large, -/obj/item/reagent_containers/food/drinks/waterbottle/large, -/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/structure/weightmachine/weightlifter, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Um" = ( @@ -7093,16 +7206,19 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Uy" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "UD" = ( /turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/port) +/area/ship/storage/port) "UG" = ( /obj/machinery/button/door{ dir = 4; @@ -7133,6 +7249,10 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4, /turf/open/floor/plasteel/tech, /area/ship/engineering) +"UO" = ( +/obj/machinery/light/directional/south, +/turf/template_noop, +/area/template_noop) "UP" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7156,7 +7276,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "Ve" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -7174,18 +7294,16 @@ }, /obj/item/clothing/suit/space/hardsuit/security/independent/inteq, /obj/item/tank/jetpack/oxygen, +/obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) "Vg" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 1 - }, /obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) "Vj" = ( /obj/structure/table/reinforced, /obj/structure/sign/poster/contraband/red_rum{ @@ -7207,13 +7325,14 @@ /obj/structure/sign/warning/nosmoking{ pixel_x = -32 }, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "Vp" = ( /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "Vr" = ( /obj/item/trash/boritos, /turf/open/floor/plasteel/grimy, @@ -7224,11 +7343,43 @@ }, /obj/structure/grille, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "Vz" = ( /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /turf/open/floor/plating, /area/ship/crew) +"VD" = ( +/obj/structure/closet/secure_closet{ + anchored = 1; + icon_state = "ce"; + name = "honorable artificer's locker"; + req_access_txt = "56" + }, +/obj/item/clothing/under/syndicate/inteq/artificer, +/obj/item/clothing/under/syndicate/inteq/artificer/skirt, +/obj/item/storage/backpack/industrial, +/obj/item/clothing/suit/toggle/industrial, +/obj/item/clothing/head/hardhat/white, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/mask/balaclava/inteq, +/obj/item/clothing/gloves/combat, +/obj/item/megaphone/cargo{ + name = "engineering megaphone" + }, +/obj/item/stamp/inteq/artificer, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/welding, +/obj/item/pipe_dispenser, +/obj/item/storage/belt/utility/chief{ + name = "honorable artificer's toolbelt" + }, +/obj/machinery/airalarm/directional/west, +/obj/item/gear_pack/anglegrinder/energy, +/obj/item/radio/headset/alt, +/obj/item/clothing/mask/gas/inteq, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/communications) "VG" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7253,7 +7404,6 @@ }, /obj/machinery/button/door{ id = "talos_tank_burn"; - name = "Access Door Control"; pixel_x = 4; pixel_y = 21; req_access = null; @@ -7282,6 +7432,7 @@ }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/machinery/firealarm/directional/north, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "VX" = ( @@ -7305,7 +7456,7 @@ "Wd" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "We" = ( /obj/structure/cable{ icon_state = "1-2" @@ -7334,7 +7485,7 @@ "Wg" = ( /obj/structure/sign/warning/vacuum/external, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Wh" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7350,8 +7501,11 @@ dir = 1 }, /obj/item/radio/intercom/directional/south, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/storage/port) "Wp" = ( /obj/structure/window/reinforced{ dir = 4 @@ -7359,33 +7513,76 @@ /obj/structure/rack, /obj/effect/turf_decal/siding/thinplating/dark, /obj/effect/decal/cleanable/dirt, -/obj/item/gun/ballistic/automatic/pistol/commander/inteq{ - pixel_y = 5 - }, +/obj/item/storage/guncase/pistol/inherit, +/obj/item/gun/ballistic/automatic/pistol/commander/inteq, +/obj/item/ammo_box/magazine/co9mm, +/obj/item/ammo_box/magazine/co9mm, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) "Wr" = ( /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) +"Wy" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) "Wz" = ( /obj/machinery/computer/helm{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom/wideband/directional/east, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"WC" = ( +/obj/structure/dresser, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"WE" = ( +/obj/item/storage/backpack/industrial, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/under/syndicate/inteq/artificer, +/obj/item/clothing/under/syndicate/inteq/artificer/skirt, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/hardhat, +/obj/item/clothing/shoes/combat, +/obj/structure/railing, +/obj/item/storage/belt/utility/full, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/item/clothing/glasses/meson, +/obj/structure/closet/secure_closet{ + anchored = 1; + icon_state = "eng_secure"; + name = "artificer's locker"; + req_access_txt = "11"; + req_one_access = null }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/wideband/directional/east, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"WC" = ( -/obj/structure/dresser, -/obj/machinery/light/small/directional/east, -/turf/open/floor/carpet/black, -/area/ship/crew/dorm) +/obj/item/gear_pack/anglegrinder, +/obj/item/radio/headset/alt, +/obj/item/clothing/mask/gas/inteq, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) "WF" = ( /obj/effect/turf_decal/corner/opaque/yellow, /obj/effect/turf_decal/corner/opaque/brown{ @@ -7430,6 +7627,13 @@ }, /turf/open/floor/plating, /area/ship/engineering/engine) +"WN" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 6; + id = "talos_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/storage) "WR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -7439,15 +7643,24 @@ }, /turf/open/floor/carpet/orange, /area/ship/bridge) -"Xa" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 6 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) "Xg" = ( /turf/open/floor/carpet/black, /area/ship/crew/dorm) +"Xk" = ( +/obj/structure/rack, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/official/ion_carbine{ + pixel_x = -32 + }, +/obj/item/attachment/rail_light, +/obj/item/attachment/rail_light, +/obj/item/attachment/rail_light, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security/armory) "Xl" = ( /obj/machinery/power/shuttle/engine/fueled/plasma{ dir = 4 @@ -7466,6 +7679,13 @@ /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) +"Xo" = ( +/obj/machinery/turretid/ship{ + id = "talos_grid"; + pixel_y = 24 + }, +/turf/open/floor/carpet/orange, +/area/ship/bridge) "Xs" = ( /obj/effect/turf_decal/techfloor{ dir = 4 @@ -7503,7 +7723,7 @@ name = "equipment locker"; req_access_txt = "1" }, -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, +/obj/item/clothing/mask/balaclava/inteq, /obj/item/storage/belt/security/webbing/inteq, /obj/item/clothing/glasses/hud/security/sunglasses/inteq, /obj/item/storage/box/handcuffs, @@ -7536,8 +7756,9 @@ "Yq" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/handrail, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "Yt" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -7557,7 +7778,7 @@ /area/ship/crew/canteen) "Yz" = ( /obj/item/clothing/glasses/hud/security/sunglasses/inteq, -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, +/obj/item/clothing/mask/balaclava/inteq, /obj/item/clothing/gloves/tackler/combat/insulated, /obj/item/clothing/shoes/combat, /obj/item/storage/belt/military/assault, @@ -7599,7 +7820,22 @@ "YI" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) +"YK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"YT" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) "YU" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/structure/cable{ @@ -7610,33 +7846,34 @@ }, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "YX" = ( /obj/structure/grille, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "YZ" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Zb" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/garbage, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "Zc" = ( -/obj/mecha/working/ripley/cargo{ - name = "\improper APLU 'Big Boss'" - }, -/obj/effect/turf_decal/industrial/outline/yellow, /obj/machinery/status_display/shuttle{ pixel_y = 32 }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/storage) +/obj/machinery/telecomms/hub{ + autolinkers = list("hub","bus","relay","messaging","inteq","common","broadcasterB","receiverB"); + id = "IRMG Communications Hub"; + network = "irmg_commnet" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/ship/engineering/communications) "Zd" = ( /obj/machinery/door/airlock{ dir = 4; @@ -7663,7 +7900,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/firecloset, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Zj" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line, /obj/effect/turf_decal/siding/thinplating, @@ -7680,7 +7917,7 @@ name = "vanguard's spare bedsheet" }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Zn" = ( /obj/structure/closet/emcloset/empty{ anchored = 1; @@ -7701,7 +7938,7 @@ /obj/machinery/light/small/directional/east, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) +/area/ship/storage/port) "Zo" = ( /obj/machinery/light/small/directional/north, /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ @@ -7716,6 +7953,7 @@ /obj/effect/turf_decal/trimline/opaque/yellow/warning{ dir = 8 }, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/tech, /area/ship/hallway/central) "Zq" = ( @@ -7727,20 +7965,21 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Zu" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" +/obj/structure/cable, +/obj/machinery/power/smes/engineering, +/obj/structure/sign/warning/coldtemp{ + pixel_x = -32 }, -/obj/machinery/autolathe, -/obj/item/stack/sheet/metal/five, -/obj/item/stack/sheet/glass/five, /turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/area/ship/engineering/communications) "ZB" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) "ZE" = ( @@ -7777,31 +8016,33 @@ /area/ship/engineering/engine) "ZU" = ( /obj/machinery/light/directional/west, -/obj/machinery/computer/rdconsole/core{ - dir = 4 +/obj/machinery/telecomms/server/presets/inteq{ + autolinkers = list("inteq","hub"); + freq_listening = list(1347); + network = "irmg_commnet" }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/turf/open/floor/circuit/telecomms/mainframe, +/area/ship/engineering/communications) "ZV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/cardboard, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "ZY" = ( /obj/structure/cable{ icon_state = "2-4" }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) (1,1,1) = {" sw sw sw -sw +Pi sw sw tA @@ -7827,15 +8068,15 @@ ie sw sw sw -og +sw sw sw "} (2,1,1) = {" sw +Fk sw -sw -sw +MV sw hL OF @@ -7861,15 +8102,15 @@ pU Ar sw sw -MV +sw sw sw "} (3,1,1) = {" sw +MV sw -sw -sw +MV sw ia bM @@ -7895,15 +8136,15 @@ WH Pm sw sw -MV +sw sw sw "} (4,1,1) = {" sw +MV sw -sw -sw +MV sw vE OF @@ -7915,7 +8156,7 @@ iD Lo dw ge -Je +GU Yp ZE rV @@ -7929,19 +8170,19 @@ pU pU sw sw -MV +sw sw sw "} (5,1,1) = {" sw -Bd -sV -sV -sV -sV -sV -sV +Cr +vp +vp +vp +vp +vp +vp AO cj qD @@ -7959,23 +8200,23 @@ lA cF xK QU -ao -ao -ao -ao -ao -Pw +sV +sV +sV +sV +sV +ED sw "} (6,1,1) = {" -cV -sV +og +vp ZU eC Zu SK -Ok -sV +VD +vp HB MS yL @@ -7998,18 +8239,18 @@ yc ms xz ls -ao -vp +sV +cV "} (7,1,1) = {" -sV +vp Eg mz EC My LT zz -sV +vp Sj Qq ek @@ -8027,16 +8268,16 @@ bA pU lq mJ -ao +sV tu ap ag Oi xl -ao +sV "} (8,1,1) = {" -sV +vp Zc Vg Kf @@ -8065,22 +8306,22 @@ nE qc wx cT -Oi +YK Gz ao "} (9,1,1) = {" -sV +vp Su Rc Tg -Tg +aD MC zR -sV -jY -gk -iE +vp +KW +br +WE Xn gP qh @@ -8099,19 +8340,19 @@ nE zt vM wb -Oi +tM an -ao +sV "} (10,1,1) = {" -cV -sV +og +vp au fo Hl jJ -sV -sV +vp +vp sW sW sW @@ -8129,19 +8370,19 @@ xI pU NK NK -ao +sV yr tO LV bF -ao -vp +sV +cV "} (11,1,1) = {" sw -GA -sV -sV +fs +vp +vp sW sW sW @@ -8163,21 +8404,21 @@ xI pU NK NK -ao +sV sc jW -ao -ao -Xa -MV +sV +sV +WN +sw "} (12,1,1) = {" sw +MV sw -sw -cV +og sW -zf +CY GG tr Xg @@ -8197,17 +8438,17 @@ xI pU pU pU -ao -ao -ao -vp -MV +sV +sV +sV +cV +sw +sw sw -MV "} (13,1,1) = {" sw -sw +MV sw sw sW @@ -8235,13 +8476,13 @@ An la sw sw -MV sw -MV +sw +sw "} (14,1,1) = {" sw -sw +MV sw JT sW @@ -8269,13 +8510,13 @@ qo la sw sw -MV sw -MV +sw +sw "} (15,1,1) = {" sw -sw +MV sw mU hg @@ -8303,13 +8544,13 @@ hT hT hT sw -MV sw -MV +sw +sw "} (16,1,1) = {" sw -sw +Pi sw mU Ml @@ -8337,9 +8578,9 @@ wD ot hT sw -MV sw -MV +sw +sw "} (17,1,1) = {" sw @@ -8370,10 +8611,10 @@ hT Zo Fe zw +xk +sw sw -MV sw -Fk "} (18,1,1) = {" sw @@ -8405,7 +8646,7 @@ zo NC hT sw -og +sw sw sw "} @@ -8423,7 +8664,7 @@ SS Bv wY nJ -SC +Wy SC mC iZ @@ -8501,9 +8742,9 @@ hT sq Rg Hq -sM +Xk bI -ug +Hv Hq sw sw @@ -8560,7 +8801,7 @@ zh jc Lc uO -gF +YT nY ua MW @@ -8584,17 +8825,17 @@ sw sw sw sw -sw +UO lC ae bU mX -RW +Xo WR Tj mX oi -nh +Oc iy qB Oc @@ -8771,7 +9012,7 @@ sN Nk hT DY -Rg +Tx mK cR rJ @@ -8889,7 +9130,7 @@ sw sw sw sw -GA +qz yp jj Gl @@ -8914,7 +9155,7 @@ as QR WG mK -Xa +Rf sw sw sw @@ -8981,7 +9222,7 @@ Pt uI Ng CJ -Ff +QS sw sw sw @@ -9015,7 +9256,7 @@ TO uI uc rw -ts +QS sw sw sw @@ -9049,7 +9290,7 @@ oS uI Wr pb -ab +QS sw sw sw @@ -9504,7 +9745,7 @@ sw sw sw sw -GA +aC Pp fN Pp @@ -9523,7 +9764,7 @@ Gq If YZ fK -Xa +qt sw sw sw @@ -9622,7 +9863,7 @@ sw sw sw sw -sw +jd sw sw sw diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index b98d0f2f13c..dd828389c38 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -78,71 +78,38 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/structure/railing/corner{ + dir = 1 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "aW" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/grunge{ - name = "Medbay" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/turf/open/floor/plasteel/dark, -/area/ship/medical) +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) "bh" = ( -/obj/structure/railing{ - dir = 6 - }, /obj/effect/turf_decal/borderfloor{ dir = 6 }, /obj/effect/turf_decal/box/corners, /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/five, +/obj/effect/spawner/random/maintenance/five, +/obj/structure/platform/ship_three{ + dir = 6 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "bv" = ( -/obj/effect/turf_decal/box/white/corners, -/obj/effect/turf_decal/box/white/corners{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/structure/closet/secure_closet{ - icon_state = "med_secure"; - name = "corpsman's locker"; - req_access = list(5) - }, -/obj/item/clothing/under/syndicate/inteq/corpsman, -/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, -/obj/item/clothing/suit/armor/inteq/corpsman, -/obj/item/clothing/head/soft/inteq/corpsman, -/obj/item/storage/backpack/messenger/med, -/obj/item/storage/backpack/medic, -/obj/item/pinpointer/crew, -/obj/item/storage/belt/medical/webbing, -/obj/item/storage/firstaid/regular, -/turf/open/floor/plasteel/patterned/ridged, +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/small/directional/north, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/turf/open/floor/plasteel, /area/ship/crew/office) "bx" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/structure/closet/firecloset/wall/directional/north, -/turf/open/floor/plasteel/patterned, +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/plasteel/mono/dark, /area/ship/cargo) "bB" = ( /turf/closed/wall/mineral/plastitanium, @@ -155,13 +122,19 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/railing{ + dir = 8 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "bI" = ( /obj/effect/turf_decal/borderfloorwhite, /obj/machinery/light/directional/south, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/white, -/area/ship/medical) +/area/ship/medical/surgery) "bJ" = ( /obj/effect/turf_decal/siding/thinplating/dark, /obj/effect/turf_decal/trimline/opaque/brown/line, @@ -174,7 +147,7 @@ dir = 4 }, /turf/open/floor/plasteel/dark, -/area/ship/medical) +/area/ship/medical/surgery) "bN" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/machinery/power/apc/auto_name/directional/east, @@ -187,6 +160,9 @@ }, /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "bR" = ( @@ -210,6 +186,7 @@ "bS" = ( /obj/machinery/suit_storage_unit/inherit, /obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/mask/gas/inteq, /turf/open/floor/carpet/orange, /area/ship/bridge) "cj" = ( @@ -230,10 +207,6 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "ct" = ( -/obj/structure/railing{ - dir = 5; - layer = 2.9 - }, /obj/structure/closet/crate{ name = "training equipment crate" }, @@ -256,20 +229,19 @@ /obj/effect/turf_decal/borderfloor{ dir = 5 }, +/obj/structure/platform/ship_three{ + dir = 5 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "cu" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/maintenance/port) "cE" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel/patterned, +/obj/machinery/autolathe, +/turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "cI" = ( -/obj/structure/catwalk/over/plated_catwalk, /obj/structure/cable{ icon_state = "4-8" }, @@ -279,8 +251,13 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech/grid, +/obj/machinery/light_switch{ + pixel_y = 20 + }, +/obj/structure/railing, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, /area/ship/cargo) "cW" = ( /obj/effect/turf_decal/spline/fancy/opaque/black{ @@ -389,8 +366,9 @@ /obj/effect/turf_decal/trimline/opaque/brown/line{ dir = 1 }, +/obj/structure/chair, /turf/open/floor/plasteel/dark, -/area/ship/medical) +/area/ship/medical/surgery) "dG" = ( /obj/effect/turf_decal/industrial/traffic/corner{ dir = 4 @@ -403,6 +381,12 @@ dir = 8; name = "Custodian Closet" }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/crew/canteen) "dM" = ( @@ -444,11 +428,12 @@ name = "Surgery" }, /turf/open/floor/plasteel/dark, -/area/ship/medical) +/area/ship/medical/surgery) "dO" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, +/obj/structure/railing, /turf/open/floor/plasteel/stairs/right{ dir = 8 }, @@ -457,6 +442,10 @@ /obj/effect/turf_decal/box/corners{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "ec" = ( @@ -472,15 +461,13 @@ /obj/item/clothing/head/helmet/space/inteq, /obj/item/clothing/suit/space/inteq, /obj/item/clothing/suit/space/inteq, +/obj/structure/platform/ship_three/corner, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "ei" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/cable{ - icon_state = "1-4" - }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/starboard) @@ -508,7 +495,6 @@ /area/ship/bridge) "el" = ( /obj/docking_port/mobile{ - can_move_docking_ports = 1; dir = 2; name = "valor docking port"; port_direction = 8; @@ -516,6 +502,12 @@ }, /turf/closed/wall/mineral/plastitanium, /area/ship/maintenance/port) +"en" = ( +/obj/structure/sign/number/random{ + pixel_y = -8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/medical/surgery) "ew" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -532,10 +524,19 @@ /obj/item/storage/box/zipties, /obj/item/reagent_containers/spray/pepper, /obj/item/megaphone/sec, -/obj/item/clothing/suit/armor/vest/alt, -/obj/item/clothing/suit/armor/vest/alt, -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/suit/armor/vest, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/obj/machinery/recharger{ + pixel_x = -16; + pixel_y = 5 + }, +/obj/item/clothing/mask/balaclava/inteq, +/obj/item/clothing/mask/balaclava/inteq, +/obj/item/attachment/rail_light, +/obj/item/attachment/rail_light, +/obj/item/attachment/rail_light, /turf/open/floor/plasteel/dark, /area/ship/security) "ey" = ( @@ -557,22 +558,29 @@ /area/ship/medical) "eU" = ( /obj/structure/table, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = -2; - pixel_y = 7 +/obj/item/storage/case/surgery{ + pixel_x = -4; + pixel_y = 1 }, /obj/item/reagent_containers/medigel/sterilizine{ pixel_x = 8; - pixel_y = 3 + pixel_y = 2 }, /obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/button/door{ + dir = 1; + id = "valor_surgery"; + name = "Privacy Shutters"; + pixel_x = 8; + pixel_y = 8 + }, /turf/open/floor/plasteel/white, -/area/ship/medical) +/area/ship/medical/surgery) "eV" = ( -/obj/structure/closet/firecloset/wall/directional/south, /obj/structure/cable{ icon_state = "1-4" }, +/obj/structure/closet/firecloset/wall/directional/south, /turf/open/floor/plating, /area/ship/maintenance/port) "eZ" = ( @@ -596,18 +604,23 @@ /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/storage/ration/crayons, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "fj" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, -/obj/structure/closet/secure_closet/medical2, /obj/machinery/airalarm/directional/north, +/obj/machinery/vending/medical/syndicate_access{ + name = "\improper InteqMed Plus" + }, /turf/open/floor/plasteel/dark, /area/ship/medical) "fE" = ( @@ -630,7 +643,8 @@ /area/ship/cargo) "fK" = ( /obj/machinery/computer/crew{ - dir = 8 + dir = 8; + icon_state = "computer-middle" }, /obj/effect/turf_decal/corner/opaque/yellow, /obj/effect/turf_decal/corner/opaque/brown{ @@ -642,33 +656,47 @@ /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "fN" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/inteq, -/obj/item/clothing/head/helmet/space/inteq, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) "fO" = ( /obj/structure/closet/secure_closet{ - icon_state = "med_secure"; - name = "corpsman's locker"; - req_access = list(5) + icon_door = "prisoner"; + icon_state = "prisoner"; + name = "shuttle pilot locker"; + req_access = list(3) }, -/obj/item/clothing/under/syndicate/inteq/corpsman, -/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, -/obj/item/clothing/suit/armor/inteq/corpsman, -/obj/item/clothing/head/soft/inteq/corpsman, -/obj/effect/turf_decal/siding/thinplating, -/obj/item/storage/backpack/messenger/med, -/obj/item/storage/backpack/medic, -/obj/item/pinpointer/crew, -/obj/item/storage/belt/medical/webbing, -/obj/item/storage/firstaid/regular, -/turf/open/floor/plasteel/patterned/ridged, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/suit/armor/vest/alt, +/obj/item/radio/headset/inteq, +/obj/item/clothing/gloves/fingerless, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/clothing/glasses/hud/security/sunglasses/inteq, +/obj/item/clothing/head/helmet/swat/inteq, +/obj/item/clothing/mask/gas/inteq, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel, /area/ship/crew/office) "gb" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 10 }, +/obj/machinery/light/directional/west, +/obj/structure/chair/sofa/brown/left{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "gh" = ( @@ -678,14 +706,14 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, /obj/structure/cable{ - icon_state = "2-4" + icon_state = "2-8" }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) @@ -738,16 +766,14 @@ dir = 5 }, /turf/open/floor/plasteel/dark, -/area/ship/medical) +/area/ship/medical/surgery) "gq" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/machinery/light/small/directional/east, /obj/machinery/light_switch{ - dir = 8; - pixel_x = 20 + dir = 1; + pixel_x = -3; + pixel_y = -20 }, -/turf/open/floor/plasteel/patterned/ridged, +/turf/open/floor/plasteel/mono/dark, /area/ship/cargo) "gt" = ( /obj/effect/decal/cleanable/dirt, @@ -758,6 +784,12 @@ /obj/machinery/holopad/emergency/security, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"gI" = ( +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "gU" = ( /obj/effect/turf_decal/siding/thinplating/dark/corner, /obj/effect/turf_decal/siding/thinplating/dark/corner{ @@ -767,13 +799,14 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /turf/open/floor/plasteel/dark, -/area/ship/medical) +/area/ship/medical/surgery) "gZ" = ( /obj/machinery/door/airlock/external{ dir = 4 @@ -796,6 +829,9 @@ "hl" = ( /obj/effect/turf_decal/siding/thinplating, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/chair/sofa/brown/right{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "hm" = ( @@ -848,6 +884,9 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/crew/cryo) +"hJ" = ( +/turf/open/floor/plasteel/dark, +/area/ship/medical/surgery) "hN" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 4 @@ -870,8 +909,13 @@ dir = 8; pixel_x = 12 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 8 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/medical/surgery) "id" = ( /obj/structure/cable{ icon_state = "1-2" @@ -897,6 +941,7 @@ }, /obj/structure/chair/sofa/brown/left/directional/west, /obj/structure/closet/firecloset/wall/directional/south, +/obj/machinery/computer/helm/viewscreen/directional/east, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "ix" = ( @@ -912,13 +957,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"iI" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/traffic/corner, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) "iN" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 5 @@ -965,13 +1003,14 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "jj" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, /obj/structure/cable{ icon_state = "2-8" }, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "jk" = ( /obj/structure/cable{ @@ -1016,16 +1055,22 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"jG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/traffic{ +"jF" = ( +/obj/effect/turf_decal/trimline/opaque/brown/warning{ dir = 8 }, -/obj/effect/turf_decal/industrial/stand_clear{ +/obj/effect/turf_decal/borderfloorwhite{ dir = 4 }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/medical) +"jG" = ( +/obj/machinery/rnd/server, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/medical) "jL" = ( /obj/structure/grille, /obj/structure/window/plasma/reinforced/plastitanium, @@ -1034,15 +1079,34 @@ id = "valor_external" }, /turf/open/floor/plating, -/area/ship/medical) +/area/ship/medical/surgery) "jN" = ( -/obj/structure/chair/office/light, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/crew/office) +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/rack, +/obj/item/storage/belt/security/webbing/inteq{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/storage/belt/security/webbing/inteq{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/clothing/head/helmet/inteq{ + pixel_x = -9; + pixel_y = 6 + }, +/obj/item/clothing/head/helmet/inteq{ + pixel_x = -7 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) "jQ" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/machinery/light/directional/east, @@ -1051,6 +1115,9 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/railing{ + dir = 8 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "jR" = ( @@ -1062,20 +1129,32 @@ /obj/effect/turf_decal/steeldecal/steel_decals_central7{ dir = 4 }, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel/tech, /area/ship/crew/cryo) "jS" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/bridge) "jT" = ( -/obj/structure/sign/poster/contraband/cardinal_port_starboard{ - pixel_y = 32 +/obj/structure/rack, +/obj/item/roller, +/obj/item/roller{ + pixel_x = -1; + pixel_y = 8 }, -/obj/effect/turf_decal/techfloor{ - dir = 8 +/obj/item/roller{ + pixel_x = 1; + pixel_y = 16 }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 4; + pixel_y = -20 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/medical) "jU" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 10 @@ -1105,6 +1184,12 @@ dir = 4; name = "Starboard Engines" }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, /turf/open/floor/plasteel/dark, /area/ship/maintenance/starboard) "kx" = ( @@ -1130,20 +1215,11 @@ }, /turf/open/floor/plasteel/dark, /area/ship/bridge) -"ky" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/ship/hallway/port) "kG" = ( /obj/effect/turf_decal/techfloor{ dir = 8 }, +/obj/structure/closet/crate/bin, /turf/open/floor/plasteel/tech, /area/ship/hallway/central) "kH" = ( @@ -1165,40 +1241,32 @@ /obj/structure/reagent_dispensers/peppertank{ pixel_y = 28 }, -/obj/structure/rack, -/obj/item/storage/belt/security/webbing/inteq{ - pixel_x = 6; - pixel_y = 8 - }, -/obj/item/storage/belt/security/webbing/inteq{ - pixel_x = 8; - pixel_y = 4 - }, -/obj/item/clothing/head/helmet/inteq{ - pixel_x = -9; - pixel_y = 6 - }, -/obj/item/clothing/head/helmet/inteq{ - pixel_x = -7 - }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/dark, /area/ship/security) "kL" = ( /obj/machinery/light/directional/south, /obj/structure/rack, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "kW" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 }, -/obj/structure/closet/crate/bin, -/obj/item/trash/chips, -/obj/item/trash/energybar, -/obj/item/trash/cheesie, -/obj/item/trash/pistachios, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) +/obj/machinery/door/airlock/grunge{ + name = "Medbay" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) "lc" = ( /obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable{ @@ -1243,13 +1311,6 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/medical) "lD" = ( -/obj/structure/sign/warning/nosmoking/burnt{ - pixel_y = -32 - }, -/obj/item/cigbutt/cigarbutt{ - pixel_x = -7; - pixel_y = 3 - }, /obj/machinery/telecomms/relay/preset/mining{ autolinkers = list("relay","hub"); freq_listening = list(1347); @@ -1278,18 +1339,18 @@ /area/ship/crew/canteen) "lN" = ( /obj/structure/table, -/obj/machinery/computer/med_data/laptop{ - dir = 1; - pixel_y = 8 - }, -/obj/machinery/door/window/southleft, +/obj/item/paper_bin, +/obj/structure/window/reinforced, /obj/structure/window/reinforced{ - dir = 8 + dir = 4 }, /obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ dir = 1 }, +/obj/effect/turf_decal/corner/transparent/inteqbrown/full, +/obj/item/folder/yellow, +/obj/item/pen, /turf/open/floor/plasteel/patterned, /area/ship/crew/office) "lW" = ( @@ -1351,6 +1412,13 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"ml" = ( +/obj/machinery/light/directional/west, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/medical) "mp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -1360,9 +1428,15 @@ }, /turf/open/floor/plasteel/tech, /area/ship/medical) +"mr" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/medical/surgery) "mt" = ( -/obj/machinery/autolathe, -/turf/open/floor/plasteel/patterned/ridged, +/obj/structure/rack, +/obj/item/tank/internals/plasmaman/full, +/obj/item/tank/internals/plasmaman/full, +/obj/item/tank/internals/plasmaman/full, +/turf/open/floor/plasteel/mono/dark, /area/ship/cargo) "mw" = ( /obj/effect/turf_decal/trimline/opaque/brown/warning{ @@ -1412,30 +1486,19 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/dorm) "mG" = ( -/obj/structure/closet/secure_closet{ - icon_state = "med_secure"; - name = "corpsman's locker"; - req_access = list(5) - }, -/obj/item/clothing/under/syndicate/inteq/corpsman, -/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, -/obj/item/clothing/suit/armor/inteq/corpsman, -/obj/item/clothing/head/soft/inteq/corpsman, -/obj/effect/turf_decal/box/white/corners{ +/obj/effect/turf_decal/corner/transparent/inteqbrown/border{ dir = 1 }, -/obj/effect/turf_decal/box/white/corners{ - dir = 8 +/obj/structure/table, +/obj/item/book/manual/wiki/piloting{ + pixel_x = 7; + pixel_y = 7 }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 10 +/obj/item/flashlight/lamp{ + pixel_x = -8; + pixel_y = 11 }, -/obj/item/storage/backpack/messenger/med, -/obj/item/storage/backpack/medic, -/obj/item/pinpointer/crew, -/obj/item/storage/belt/medical/webbing, -/obj/item/storage/firstaid/regular, -/turf/open/floor/plasteel/patterned/ridged, +/turf/open/floor/plasteel, /area/ship/crew/office) "mH" = ( /obj/machinery/power/apc/auto_name/directional/east, @@ -1467,7 +1530,7 @@ /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 5 }, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) @@ -1493,6 +1556,9 @@ /turf/open/floor/plating, /area/ship/maintenance/starboard) "ni" = ( +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/crew/canteen) "nk" = ( @@ -1509,8 +1575,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/machinery/light/directional/north, /turf/open/floor/plasteel/dark, -/area/ship/medical) +/area/ship/medical/surgery) "nz" = ( /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -1537,10 +1604,14 @@ dir = 1 }, /obj/machinery/door/airlock/medical/glass{ - name = "Surgical Bay #2" + name = "Surgical Bay" }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, /turf/open/floor/plasteel/white, -/area/ship/medical) +/area/ship/medical/surgery) "nU" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -1564,6 +1635,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/structure/railing, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "nZ" = ( @@ -1581,6 +1653,9 @@ /obj/item/flashlight/lamp/green, /turf/open/floor/carpet/black, /area/ship/crew/dorm) +"ou" = ( +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) "oy" = ( /obj/effect/turf_decal/trimline/opaque/brown/warning{ dir = 6 @@ -1599,15 +1674,8 @@ dir = 4 }, /turf/open/floor/plasteel/dark, -/area/ship/medical) +/area/ship/medical/surgery) "oz" = ( -/obj/structure/railing{ - dir = 4; - layer = 2.9 - }, -/obj/effect/turf_decal/borderfloor/corner{ - dir = 4 - }, /obj/structure/cable{ icon_state = "6-8" }, @@ -1615,8 +1683,8 @@ /area/ship/cargo) "oC" = ( /obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/inteq, -/obj/item/clothing/head/helmet/space/inteq, +/obj/item/clothing/suit/space/orange, +/obj/item/clothing/head/helmet/space/orange, /obj/effect/turf_decal/techfloor{ dir = 1 }, @@ -1677,6 +1745,7 @@ /obj/structure/sign/warning/nosmoking/circle{ pixel_y = 32 }, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/dark, /area/ship/medical) "pj" = ( @@ -1695,6 +1764,9 @@ /obj/structure/cable{ icon_state = "2-4" }, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "pt" = ( @@ -1754,11 +1826,9 @@ /area/ship/crew/cryo) "pC" = ( /obj/structure/table/optable, -/obj/machinery/defibrillator_mount/loaded{ - pixel_x = -28 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) +/obj/structure/curtain, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/medical/surgery) "pL" = ( /obj/machinery/power/terminal{ dir = 8 @@ -1770,6 +1840,7 @@ /obj/structure/cable{ icon_state = "0-6" }, +/obj/structure/chair/handrail, /turf/open/floor/plating, /area/ship/maintenance/port) "pO" = ( @@ -1801,22 +1872,48 @@ /turf/open/floor/plating, /area/ship/maintenance/starboard) "qe" = ( -/obj/effect/turf_decal/industrial/traffic, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"qk" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/techfloor{ +/obj/structure/closet/secure_closet{ + icon_state = "med_secure"; + name = "corpsman's locker"; + req_access = list(5) + }, +/obj/item/storage/firstaid/regular, +/obj/item/storage/belt/medical/webbing, +/obj/item/pinpointer/crew, +/obj/item/storage/backpack/medic, +/obj/item/storage/backpack/messenger/med, +/obj/item/clothing/head/soft/inteq/corpsman, +/obj/item/clothing/suit/armor/inteq/corpsman, +/obj/item/clothing/under/syndicate/inteq/corpsman/skirt, +/obj/item/clothing/under/syndicate/inteq/corpsman, +/obj/effect/turf_decal/siding/thinplating{ dir = 4 }, -/obj/structure/closet/emcloset, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/medical) +"qk" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/hatch, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/medical/surgery) "qt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "qA" = ( @@ -1859,8 +1956,11 @@ "qR" = ( /obj/structure/grille, /obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "valor_surgery" + }, /turf/open/floor/plating, -/area/ship/medical) +/area/ship/medical/surgery) "qW" = ( /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ dir = 4 @@ -1882,6 +1982,12 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "qZ" = ( @@ -1894,6 +2000,9 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/firealarm/directional/south, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/dark, /area/ship/crew/dorm) "rc" = ( @@ -1904,6 +2013,26 @@ }, /turf/open/floor/plating, /area/ship/crew/dorm) +"rh" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -1 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"rw" = ( +/obj/structure/sign/number/random{ + pixel_y = -8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/maintenance/starboard) "rL" = ( /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) @@ -1913,30 +2042,29 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-4" }, /turf/open/floor/plasteel/dark, -/area/ship/medical) +/area/ship/medical/surgery) "rX" = ( /obj/structure/sign/poster/contraband/inteq_gec{ pixel_y = 32 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-2" }, -/obj/machinery/power/ship_gravity, +/obj/machinery/power/port_gen/pacman/super, /turf/open/floor/plating, /area/ship/maintenance/port) "rY" = ( /obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, /obj/effect/turf_decal/corner/opaque/brown{ dir = 8 }, @@ -1947,7 +2075,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 }, -/obj/machinery/airalarm/directional/east, /turf/open/floor/plasteel/dark, /area/ship/security) "sb" = ( @@ -1966,12 +2093,12 @@ }, /obj/effect/turf_decal/corner_techfloor_gray/full, /obj/machinery/cell_charger, +/obj/item/clothing/gloves/color/yellow, /turf/open/floor/plating, /area/ship/maintenance/port) "sc" = ( /obj/structure/rack, /obj/machinery/firealarm/directional/east, -/obj/item/radio/intercom/directional/south, /obj/item/defibrillator/loaded{ pixel_x = 3; pixel_y = 10 @@ -1980,6 +2107,10 @@ pixel_x = -2; pixel_y = 2 }, +/obj/machinery/smartfridge/bloodbank/preloaded{ + density = 0; + pixel_y = -32 + }, /turf/open/floor/plasteel/mono/white, /area/ship/medical) "se" = ( @@ -2004,29 +2135,34 @@ /obj/effect/turf_decal/borderfloorwhite{ dir = 1 }, -/obj/machinery/door/airlock/medical/glass{ - name = "Surgical Bay #1" +/obj/machinery/door/airlock/medical{ + name = "Morgue" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, +/obj/machinery/door/firedoor/border_only, /turf/open/floor/plasteel/white, -/area/ship/medical) +/area/ship/medical/surgery) "ss" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/patterned, +/obj/structure/rack, +/obj/item/pickaxe/emergency, +/obj/item/pickaxe/emergency, +/obj/item/pickaxe/emergency, +/turf/open/floor/plasteel/mono/dark, /area/ship/cargo) "su" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/trimline/opaque/brown/line{ - dir = 1 +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20 }, -/obj/structure/chair, -/obj/machinery/airalarm/directional/north, /turf/open/floor/plasteel/dark, -/area/ship/medical) +/area/ship/medical/surgery) "sy" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -2059,7 +2195,6 @@ /obj/item/ammo_box/magazine/co9mm, /obj/item/ammo_box/magazine/co9mm, /obj/item/ammo_box/magazine/co9mm, -/obj/machinery/recharger, /turf/open/floor/plasteel/dark, /area/ship/security) "sz" = ( @@ -2098,6 +2233,11 @@ pixel_y = 10 }, /obj/machinery/firealarm/directional/west, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -10 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "sM" = ( @@ -2118,13 +2258,6 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "te" = ( -/obj/structure/railing{ - dir = 1; - layer = 2.9 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, /obj/structure/rack, /obj/item/target/clown{ pixel_x = 9; @@ -2137,6 +2270,12 @@ /obj/item/target/syndicate{ pixel_y = 5 }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/platform/ship_three/corner{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "tf" = ( @@ -2163,20 +2302,8 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "tj" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_y = 20 - }, -/turf/open/floor/plasteel/tech/grid, +/obj/effect/turf_decal/industrial/traffic, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "tk" = ( /obj/structure/reagent_dispensers/watertank, @@ -2213,30 +2340,25 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/railing/corner{ + dir = 8 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "tS" = ( /obj/effect/turf_decal/siding/thinplating, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "tZ" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew/office) "ua" = ( -/obj/effect/turf_decal/siding/thinplating/corner, /obj/effect/turf_decal/siding/thinplating/corner{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "un" = ( @@ -2261,16 +2383,16 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "ux" = ( -/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/turf_decal/trimline/opaque/brown/warning{ + dir = 1 }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) +/turf/open/floor/plasteel/dark, +/area/ship/medical/surgery) "uA" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 4 @@ -2291,21 +2413,18 @@ dir = 1 }, /obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 + icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/noticeboard{ pixel_y = 28 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "uS" = ( @@ -2329,12 +2448,10 @@ /turf/open/floor/plating, /area/ship/cargo) "vh" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/inteq, -/obj/item/clothing/head/helmet/space/inteq, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/ship/hallway/port) "vi" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 8 @@ -2394,6 +2511,7 @@ /area/ship/hallway/port) "wa" = ( /obj/machinery/light/small/directional/north, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/patterned/brushed, /area/ship/crew/canteen) "wb" = ( @@ -2481,7 +2599,8 @@ dir = 10 }, /obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/corner/transparent/inteqbrown/half, +/turf/open/floor/plasteel, /area/ship/crew/office) "wS" = ( /obj/machinery/power/terminal{ @@ -2506,18 +2625,11 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "xg" = ( -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) +/turf/open/floor/plasteel/dark, +/area/ship/medical/surgery) "xj" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/cargo) @@ -2530,6 +2642,9 @@ dir = 1; pixel_y = -20 }, +/obj/structure/chair{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "xp" = ( @@ -2553,25 +2668,15 @@ /area/ship/medical) "xr" = ( /obj/structure/table, -/obj/item/paper_bin, -/obj/item/folder/white{ - pixel_x = -15; - pixel_y = -1 - }, -/obj/item/pen, -/obj/structure/window/reinforced, +/obj/machinery/door/window/southleft, /obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/toy/figure/paramedic{ - name = "Corpsman action figure"; - pixel_x = -13; - pixel_y = 14 + dir = 8 }, /obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ dir = 1 }, +/obj/effect/turf_decal/corner/transparent/inteqbrown/full, /turf/open/floor/plasteel/patterned, /area/ship/crew/office) "xs" = ( @@ -2650,8 +2755,8 @@ dir = 1 }, /obj/item/reagent_containers/food/snacks/hotdog, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "yu" = ( @@ -2661,10 +2766,6 @@ /turf/open/floor/carpet/black, /area/ship/crew/dorm) "yy" = ( -/obj/structure/railing{ - dir = 5; - layer = 2.9 - }, /obj/effect/turf_decal/borderfloor{ dir = 4 }, @@ -2672,19 +2773,18 @@ dir = 4 }, /obj/structure/rack, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/metal/fifty, +/obj/structure/platform/ship_three{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "yK" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ship/medical) +/obj/effect/turf_decal/industrial/traffic/corner, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "yN" = ( /obj/structure/chair/office/dark, /obj/effect/turf_decal/corner/opaque/brown{ @@ -2717,7 +2817,8 @@ /area/ship/maintenance/port) "zi" = ( /obj/machinery/computer/helm{ - dir = 8 + dir = 8; + icon_state = "computer-middle" }, /obj/effect/turf_decal/corner/opaque/yellow, /obj/effect/turf_decal/corner/opaque/brown{ @@ -2741,15 +2842,17 @@ }, /obj/machinery/airalarm/directional/south, /obj/machinery/fax/inteq{ - pixel_y = 3 + pixel_y = 6 }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "zs" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "zA" = ( @@ -2767,24 +2870,19 @@ /turf/open/floor/plasteel/dark, /area/ship/medical) "zC" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 }, -/obj/machinery/smartfridge/bloodbank/preloaded{ - density = 0; - pixel_y = 32 +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 }, -/obj/structure/table, -/obj/machinery/cell_charger, -/turf/open/floor/plasteel/mono/dark, +/turf/open/floor/plasteel/dark, /area/ship/medical) "zD" = ( -/obj/machinery/computer/operating{ - dir = 4 - }, -/obj/effect/turf_decal/borderfloorwhite, -/turf/open/floor/plasteel/white, -/area/ship/medical) +/obj/effect/turf_decal/borderfloorblack, +/obj/structure/bodycontainer/morgue, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/medical/surgery) "zE" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -2823,34 +2921,24 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "zI" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/borderfloorblack, +/obj/machinery/door/airlock/hatch, /obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/machinery/door/airlock/grunge{ - name = "Cargo Bay" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/borderfloorblack, /turf/open/floor/plasteel/patterned, -/area/ship/medical) +/area/ship/medical/surgery) "zK" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/public/glass{ - name = "Supply Storage" - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 5 +/obj/docking_port/stationary{ + dir = 4; + dwidth = 15; + height = 15; + name = "valor airlock dock"; + width = 15 }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) +/turf/template_noop, +/area/template_noop) "zL" = ( /obj/structure/chair{ dir = 1 @@ -2868,27 +2956,20 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "zS" = ( -/obj/structure/table, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 9 }, -/obj/item/storage/box/masks{ - pixel_x = -7; - pixel_y = 10 - }, -/obj/item/storage/box/gloves{ - pixel_x = 8; - pixel_y = 10 - }, -/obj/structure/sign/poster/official/walk{ - pixel_y = 32 +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20 }, -/turf/open/floor/plasteel/mono/dark, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/dark, /area/ship/medical) "zT" = ( -/obj/structure/railing, /obj/effect/turf_decal/borderfloor/corner, /obj/structure/reagent_dispensers/fueltank, +/obj/structure/platform/ship_three, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Ab" = ( @@ -2925,31 +3006,25 @@ dir = 1 }, /obj/effect/turf_decal/steeldecal/steel_decals_central7, -/obj/machinery/airalarm/directional/north, /obj/structure/cable{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "Au" = ( -/obj/structure/rack, -/obj/item/roller, -/obj/item/roller{ - pixel_x = -1; - pixel_y = 8 - }, -/obj/item/roller{ - pixel_x = 1; - pixel_y = 16 - }, +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/blood/universal, +/obj/item/reagent_containers/blood/universal, +/obj/item/reagent_containers/blood/universal, +/obj/machinery/iv_drip, /turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/area/ship/medical) "Av" = ( /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) @@ -2958,18 +3033,26 @@ /area/ship/maintenance/starboard) "AE" = ( /obj/structure/table, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = -2; - pixel_y = 7 +/obj/machinery/airalarm/directional/east, +/obj/item/storage/box/gloves{ + pixel_x = -6; + pixel_y = 4 }, -/obj/item/reagent_containers/medigel/sterilizine{ - pixel_x = 8; - pixel_y = 3 +/obj/item/storage/case/surgery{ + pixel_x = 4; + pixel_y = 1 }, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/borderfloorwhite, -/turf/open/floor/plasteel/white, -/area/ship/medical) +/obj/effect/turf_decal/borderfloorblack, +/obj/item/reagent_containers/glass/bottle/formaldehyde{ + pixel_x = 9; + pixel_y = 13 + }, +/obj/item/reagent_containers/syringe{ + pixel_x = -6; + pixel_y = 4 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/medical/surgery) "AG" = ( /obj/structure/bed, /obj/item/bedsheet/hos{ @@ -2996,6 +3079,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/structure/railing{ + dir = 1 + }, /turf/open/floor/plasteel/stairs/left{ dir = 8 }, @@ -3048,13 +3134,16 @@ desc = "A poster encouraging you to work for your future."; pixel_y = 32 }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20 + }, /turf/open/floor/plasteel/dark, /area/ship/medical) "Bc" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, /obj/structure/curtain/bounty, /obj/machinery/light/directional/west, +/obj/effect/spawner/bunk_bed, /turf/open/floor/carpet/black, /area/ship/crew/dorm) "Bh" = ( @@ -3064,12 +3153,18 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"BB" = ( +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -20 + }, +/turf/template_noop, +/area/template_noop) "BC" = ( -/obj/structure/filingcabinet/double, /obj/structure/sign/poster/official/help_others{ pixel_y = 32 }, -/turf/open/floor/plasteel/patterned, +/turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew/office) "BL" = ( /obj/effect/turf_decal/corner/opaque/brown{ @@ -3090,14 +3185,11 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "BV" = ( -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "valor_external" +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/obj/structure/closet/crate/bin, -/turf/open/floor/plating, +/obj/structure/closet/emcloset, +/turf/open/floor/plasteel/tech, /area/ship/hallway/central) "Cb" = ( /obj/effect/turf_decal/industrial/traffic{ @@ -3134,21 +3226,35 @@ /turf/open/floor/plating/airless, /area/ship/external/dark) "CC" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/closet/secure_closet{ + icon_state = "med_secure"; + name = "corpsman's locker"; + req_access = list(5) }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ship/hallway/port) +/obj/item/storage/firstaid/regular, +/obj/item/storage/belt/medical/webbing, +/obj/item/pinpointer/crew, +/obj/item/storage/backpack/medic, +/obj/item/storage/backpack/messenger/med, +/obj/item/clothing/head/soft/inteq/corpsman, +/obj/item/clothing/suit/armor/inteq/corpsman, +/obj/item/clothing/under/syndicate/inteq/corpsman/skirt, +/obj/item/clothing/under/syndicate/inteq/corpsman, +/obj/effect/turf_decal/box/white/corners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/medical) "CF" = ( /obj/structure/table/optable, /obj/machinery/defibrillator_mount/loaded{ pixel_x = 28 }, /turf/open/floor/plasteel/white, -/area/ship/medical) +/area/ship/medical/surgery) "CH" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, /obj/structure/cable{ @@ -3217,6 +3323,9 @@ /obj/structure/cable/yellow, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/corner_techfloor_gray/diagonal, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, /turf/open/floor/plating, /area/ship/maintenance/port) "Dm" = ( @@ -3226,15 +3335,25 @@ /obj/effect/turf_decal/industrial/warning, /obj/effect/turf_decal/siding/white{ dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/cryo) -"Dw" = ( -/obj/structure/cable/yellow, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/east, -/obj/machinery/power/port_gen/pacman/super, -/obj/item/stack/sheet/mineral/uranium/twenty, + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"Dw" = ( +/obj/item/storage/backpack/industrial, +/obj/item/clothing/suit/toggle/industrial, +/obj/item/clothing/gloves/color/yellow, +/obj/item/storage/belt/utility, +/obj/item/clothing/under/syndicate/inteq/artificer, +/obj/item/clothing/under/syndicate/inteq/artificer/skirt, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/hardhat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/mask/gas/inteq, +/obj/structure/closet/wall/directional/south{ + name = "engineering closet"; + icon_door = "yellow_door" + }, +/obj/structure/table, /turf/open/floor/plating, /area/ship/maintenance/starboard) "Dx" = ( @@ -3309,22 +3428,15 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "DR" = ( -/obj/machinery/door/airlock/hatch{ - name = "Cargo Bay" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 +/obj/effect/turf_decal/borderfloorblack, +/obj/machinery/door/airlock/hatch{ + name = "Port Hallway" }, -/turf/open/floor/plasteel/tech/grid, +/turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "DT" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, @@ -3393,20 +3505,19 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "EE" = ( -/obj/effect/turf_decal/trimline/opaque/brown/line{ - dir = 5 +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20 }, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 5 }, -/obj/structure/chair, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20 +/obj/effect/turf_decal/trimline/opaque/brown/line{ + dir = 5 }, +/obj/machinery/light/directional/north, /turf/open/floor/plasteel/dark, -/area/ship/medical) +/area/ship/medical/surgery) "EJ" = ( /obj/effect/turf_decal/siding/thinplating/corner{ dir = 1 @@ -3467,6 +3578,10 @@ /obj/effect/turf_decal/box/corners{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Ff" = ( @@ -3480,6 +3595,9 @@ dir = 8; pixel_x = 20 }, +/obj/structure/railing{ + dir = 8 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Fs" = ( @@ -3490,26 +3608,13 @@ }, /turf/open/floor/plasteel/dark, /area/ship/medical) -"Ft" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) "FF" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, /obj/structure/curtain/bounty, /obj/structure/sign/poster/contraband/masked_men{ pixel_y = -32 }, /obj/machinery/firealarm/directional/east, +/obj/effect/spawner/bunk_bed, /turf/open/floor/carpet/black, /area/ship/crew/dorm) "FH" = ( @@ -3545,9 +3650,9 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "FY" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/stairs, -/area/ship/cargo) +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/medical/surgery) "FZ" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 1 @@ -3568,10 +3673,12 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Gm" = ( +/obj/effect/turf_decal/corner/transparent/inteqbrown/half, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "0-4" }, -/turf/open/floor/plasteel/patterned, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/plasteel, /area/ship/crew/office) "Go" = ( /obj/effect/turf_decal/corner/opaque/brown{ @@ -3615,6 +3722,20 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"GT" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 4 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) "Hg" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 1 @@ -3625,8 +3746,11 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) @@ -3637,21 +3761,23 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/railing{ + dir = 8 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Hw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/borderfloorblack{ dir = 1 }, -/obj/machinery/door/airlock/public/glass{ - name = "EVA Storage" +/obj/machinery/door/airlock/hatch{ + name = "Port Hallway" }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 10 +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/turf/open/floor/plasteel/patterned, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "HA" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -3661,6 +3787,9 @@ /obj/structure/cable{ icon_state = "1-10" }, +/obj/structure/chair{ + dir = 4 + }, /turf/open/floor/plating, /area/ship/maintenance/starboard) "HB" = ( @@ -3715,6 +3844,10 @@ /obj/structure/mirror{ pixel_y = -24 }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20 + }, /turf/open/floor/plasteel/patterned/brushed, /area/ship/crew/canteen) "HT" = ( @@ -3759,9 +3892,23 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "Io" = ( -/obj/machinery/rnd/server, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/patterned/ridged, +/turf/open/floor/plasteel/patterned, +/area/ship/medical) +"Iu" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "IA" = ( /obj/effect/turf_decal/spline/fancy/opaque/black{ @@ -3791,15 +3938,12 @@ /turf/open/floor/plasteel/dark, /area/ship/medical) "IL" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_y = -20 +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "IM" = ( /obj/effect/turf_decal/corner/opaque/brown{ dir = 4 @@ -3817,13 +3961,6 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Jd" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1; - layer = 2.9 - }, /obj/structure/closet/crate{ name = "sandbags crate" }, @@ -3836,6 +3973,12 @@ pixel_x = 5; pixel_y = -5 }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/structure/platform/ship_three{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Jh" = ( @@ -3851,6 +3994,15 @@ "Jn" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, +/obj/structure/table, +/obj/item/storage/box/masks{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/item/storage/box/gloves{ + pixel_x = 8; + pixel_y = 4 + }, /turf/open/floor/plasteel/tech, /area/ship/medical) "Jt" = ( @@ -3875,19 +4027,11 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "JS" = ( -/obj/structure/railing{ - dir = 9; - layer = 2.9 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 1 }, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "JT" = ( /obj/docking_port/stationary{ @@ -3937,10 +4081,14 @@ /area/ship/crew/canteen) "Kn" = ( /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "Ko" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 1 }, /obj/effect/turf_decal/corner/opaque/brown{ @@ -3962,6 +4110,10 @@ /obj/structure/cable{ icon_state = "1-4" }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "Kz" = ( @@ -3999,18 +4151,9 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "KU" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, /obj/structure/cable{ icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "KV" = ( @@ -4096,12 +4239,14 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "Ls" = ( -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/stand_clear{ dir = 4 }, -/obj/structure/closet/crate/bin, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "LH" = ( /obj/machinery/light/floor, /obj/structure/cable{ @@ -4121,20 +4266,38 @@ }, /obj/machinery/airalarm/directional/east, /obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/button/door{ + dir = 1; + id = "valor_surgery"; + name = "Privacy Shutters"; + pixel_x = -7; + pixel_y = -23 + }, /turf/open/floor/plasteel/white, -/area/ship/medical) +/area/ship/medical/surgery) "LL" = ( -/obj/structure/rack, -/obj/item/pickaxe/emergency, -/obj/item/pickaxe/emergency, -/obj/item/pickaxe/emergency, -/obj/machinery/airalarm/directional/east, -/obj/machinery/light_switch{ - dir = 1; - pixel_y = -20 +/obj/structure/closet/secure_closet{ + icon_state = "med_secure"; + name = "corpsman's locker"; + req_access = list(5) + }, +/obj/item/storage/firstaid/regular, +/obj/item/storage/belt/medical/webbing, +/obj/item/pinpointer/crew, +/obj/item/storage/backpack/medic, +/obj/item/storage/backpack/messenger/med, +/obj/item/clothing/head/soft/inteq/corpsman, +/obj/item/clothing/suit/armor/inteq/corpsman, +/obj/item/clothing/under/syndicate/inteq/corpsman/skirt, +/obj/item/clothing/under/syndicate/inteq/corpsman, +/obj/effect/turf_decal/box/white/corners{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 }, /turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/area/ship/medical) "LR" = ( /obj/effect/turf_decal/corner/opaque/brown{ dir = 8 @@ -4158,6 +4321,13 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -20 + }, +/obj/structure/railing{ + dir = 1 + }, /turf/open/floor/plasteel/stairs{ dir = 8 }, @@ -4189,9 +4359,6 @@ /turf/open/floor/plating/airless, /area/ship/external/dark) "ME" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Medical Office" - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/door/firedoor/border_only{ @@ -4201,6 +4368,9 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/door/airlock/grunge{ + req_access = list(3) + }, /turf/open/floor/plasteel/patterned, /area/ship/crew/office) "MK" = ( @@ -4213,17 +4383,34 @@ /turf/open/floor/plating/airless, /area/ship/external/dark) "MR" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/inteq, -/obj/item/clothing/head/helmet/space/inteq, -/obj/structure/sign/poster/official/safety_internals{ - pixel_y = 32 +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" }, -/turf/open/floor/plasteel/patterned/ridged, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Nh" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/cargo) +"Nk" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical/surgery) "Nn" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/cobweb, @@ -4241,6 +4428,10 @@ /obj/item/soap{ pixel_x = -6 }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/crew/canteen) "NA" = ( @@ -4305,6 +4496,9 @@ /obj/effect/turf_decal/trimline/opaque/brown/line{ dir = 1 }, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/dark, /area/ship/medical) "NM" = ( @@ -4327,7 +4521,7 @@ /turf/open/floor/plasteel/dark, /area/ship/medical) "Oc" = ( -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, +/obj/item/clothing/mask/balaclava/inteq, /obj/item/clothing/gloves/tackler/combat/insulated, /obj/item/clothing/shoes/combat, /obj/item/storage/backpack/messenger/inteq, @@ -4345,6 +4539,7 @@ /obj/item/storage/lockbox/medal/sec, /obj/item/clothing/glasses/hud/security/sunglasses/inteq, /obj/item/clothing/head/inteq_peaked, +/obj/item/stamp/inteq/vanguard, /turf/open/floor/carpet/orange, /area/ship/bridge) "Od" = ( @@ -4369,11 +4564,14 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Oj" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/obj/structure/closet/emcloset/wall/directional/north, -/turf/open/floor/plasteel/patterned, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Ok" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -4382,6 +4580,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned, /area/ship/cargo) +"Ox" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "valor_external" + }, +/turf/open/floor/plating, +/area/ship/medical/surgery) "Oz" = ( /obj/structure/table, /obj/item/folder{ @@ -4412,40 +4618,40 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "OK" = ( -/obj/machinery/iv_drip/saline, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/obj/effect/turf_decal/borderfloorblack, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/medical/surgery) "OM" = ( /turf/open/floor/pod, /area/ship/cargo) "OR" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) "OT" = ( -/obj/structure/catwalk/over/plated_catwalk, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech/grid, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "OV" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ship/medical) +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) "Pb" = ( /obj/machinery/power/terminal{ dir = 8 @@ -4474,14 +4680,19 @@ dir = 8 }, /turf/open/floor/plasteel/dark, -/area/ship/medical) +/area/ship/medical/surgery) "Pg" = ( /obj/structure/sink{ dir = 4; pixel_x = -12 }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 8 + }, /turf/open/floor/plasteel/white, -/area/ship/medical) +/area/ship/medical/surgery) "Pk" = ( /obj/effect/turf_decal/corner/opaque/brown{ dir = 4 @@ -4505,7 +4716,8 @@ dir = 1; pixel_y = -20 }, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/corner/transparent/inteqbrown/half, +/turf/open/floor/plasteel, /area/ship/crew/office) "PL" = ( /obj/effect/turf_decal/siding/thinplating/dark{ @@ -4514,10 +4726,9 @@ /obj/effect/turf_decal/trimline/opaque/brown/line{ dir = 1 }, -/obj/machinery/light/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/plasteel/dark, -/area/ship/medical) +/area/ship/medical/surgery) "PU" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/crew/cryo) @@ -4539,26 +4750,13 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) -"Qd" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) "Qk" = ( /obj/structure/table, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/donut, +/obj/effect/spawner/random/food_or_drink/donut, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Qn" = ( @@ -4582,8 +4780,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/corner/transparent/inteqbrown/half, +/obj/structure/chair/office, +/turf/open/floor/plasteel, /area/ship/crew/office) "Qw" = ( /obj/effect/turf_decal/siding/thinplating{ @@ -4605,6 +4804,12 @@ /obj/structure/sign/warning/vacuum{ pixel_x = 32 }, +/obj/structure/table/glass, +/obj/machinery/computer/med_data/laptop{ + dir = 8; + pixel_x = 3; + pixel_y = 7 + }, /turf/open/floor/plasteel/tech, /area/ship/medical) "QG" = ( @@ -4648,22 +4853,40 @@ dir = 10 }, /obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/sign/warning/incident{ - pixel_y = 32 +/obj/structure/railing/corner{ + dir = 8 }, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Re" = ( -/obj/structure/closet/crate/freezer, -/obj/machinery/iv_drip, -/obj/item/reagent_containers/blood/universal, -/obj/item/reagent_containers/blood/universal, -/obj/item/reagent_containers/blood/universal, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/medical/surgery) "Rh" = ( -/turf/closed/wall/mineral/plastitanium, +/obj/structure/sign/poster/official/safety_report{ + pixel_x = 32 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/storage/box/ammo/c9mm_rubber{ + pixel_x = 5; + pixel_y = 10 + }, +/obj/item/storage/box/ammo/c9mm{ + pixel_x = -2; + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, /area/ship/security) "RA" = ( /obj/item/storage/backpack/messenger/inteq, @@ -4677,6 +4900,12 @@ /obj/item/clothing/head/soft/inteq, /obj/structure/closet/wall/directional/north, /obj/machinery/airalarm/directional/east, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, /turf/open/floor/carpet/black, /area/ship/crew/dorm) "RF" = ( @@ -4697,7 +4926,7 @@ /obj/item/clothing/shoes/combat, /obj/item/megaphone/command, /obj/item/clothing/under/syndicate/inteq/corpsman, -/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, +/obj/item/clothing/under/syndicate/inteq/corpsman/skirt, /obj/item/clothing/suit/armor/hos/inteq, /obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, /obj/item/storage/backpack/messenger/med, @@ -4709,6 +4938,7 @@ /obj/item/clothing/glasses/hud/health/sunglasses, /obj/item/storage/box/hypospray/CMO, /obj/item/clothing/gloves/color/latex/nitrile, +/obj/item/stamp/inteq/corpsman, /turf/open/floor/carpet/blue, /area/ship/bridge) "RT" = ( @@ -4721,6 +4951,9 @@ "Sd" = ( /obj/effect/turf_decal/siding/thinplating, /obj/machinery/light/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "Sf" = ( @@ -4733,15 +4966,22 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/airalarm/directional/north, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "Sh" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/west, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) "Sl" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -4770,14 +5010,27 @@ }, /turf/open/floor/carpet/black, /area/ship/crew/dorm) +"SL" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/medical/surgery) "SX" = ( -/obj/machinery/power/terminal{ - dir = 1 +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 7; + pixel_y = 8 }, -/obj/structure/cable/yellow{ - icon_state = "0-2" +/obj/item/clothing/glasses/welding{ + pixel_x = 8; + pixel_y = -1 }, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/warning/nosmoking/burnt{ + pixel_x = 32 + }, +/obj/item/cigbutt/cigarbutt{ + pixel_x = -7; + pixel_y = 3 + }, /turf/open/floor/plating, /area/ship/maintenance/starboard) "Td" = ( @@ -4803,9 +5056,6 @@ /turf/closed/wall/mineral/plastitanium, /area/ship/hallway/central) "TB" = ( -/obj/structure/railing{ - dir = 6 - }, /obj/item/target{ pixel_x = -9; pixel_y = 10 @@ -4823,6 +5073,9 @@ dir = 4 }, /obj/structure/rack, +/obj/structure/platform/ship_three{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "TC" = ( @@ -4850,9 +5103,8 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "TW" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, /obj/structure/curtain/bounty, +/obj/effect/spawner/bunk_bed, /turf/open/floor/carpet/black, /area/ship/crew/dorm) "Uf" = ( @@ -4864,25 +5116,20 @@ /obj/structure/cable{ icon_state = "0-5" }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plating, /area/ship/maintenance/starboard) "Ui" = ( /obj/effect/turf_decal/siding/thinplating/dark/corner{ dir = 1 }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, /obj/effect/turf_decal/trimline/opaque/brown/warning{ dir = 1 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/dark, -/area/ship/medical) +/area/ship/medical/surgery) "Uj" = ( /obj/effect/turf_decal/siding/thinplating/dark, /obj/structure/cable{ @@ -4910,18 +5157,13 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Uz" = ( -/obj/machinery/power/smes/engineering{ - charge = 1e+006 - }, -/obj/effect/turf_decal/borderfloorblack/full, -/obj/structure/cable{ - icon_state = "0-8" - }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light_switch{ dir = 8; pixel_x = 20 }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/power/ship_gravity, /turf/open/floor/plating, /area/ship/maintenance/starboard) "UC" = ( @@ -4934,12 +5176,20 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) +"UD" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) "UN" = ( /obj/effect/turf_decal/siding/thinplating, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, -/obj/machinery/light/directional/south, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "UO" = ( @@ -4955,6 +5205,8 @@ /turf/open/floor/plasteel/patterned, /area/ship/cargo) "Ve" = ( +/obj/structure/table, +/obj/machinery/cell_charger, /turf/open/floor/plasteel/tech, /area/ship/medical) "Vp" = ( @@ -4964,29 +5216,18 @@ /obj/effect/turf_decal/corner/opaque/brown{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/structure/rack, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/ammo_box/c9mm/rubbershot{ - pixel_x = 5; - pixel_y = 10 - }, -/obj/item/ammo_box/c9mm{ - pixel_x = -2; - pixel_y = 2 - }, /obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/official/safety_report{ - pixel_x = 32 - }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/dark, /area/ship/security) "Vy" = ( /obj/effect/turf_decal/techfloor{ dir = 4 }, -/obj/structure/closet/firecloset, -/turf/open/floor/plasteel/tech, +/turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/hallway/central) "VB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -5099,8 +5340,8 @@ /obj/structure/cable{ icon_state = "2-10" }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/cable/yellow{ + icon_state = "1-4" }, /turf/open/floor/plating, /area/ship/maintenance/port) @@ -5120,9 +5361,12 @@ dir = 9 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/firealarm/directional/west, +/obj/machinery/firealarm/directional/west{ + pixel_y = 4 + }, +/obj/structure/chair, /turf/open/floor/plasteel/dark, -/area/ship/medical) +/area/ship/medical/surgery) "WQ" = ( /obj/structure/cable/yellow{ icon_state = "0-2" @@ -5148,11 +5392,9 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, -/obj/machinery/vending/medical/syndicate_access{ - name = "\improper InteqMed Plus" - }, /obj/machinery/light/directional/north, -/turf/open/floor/plasteel/mono/dark, +/obj/structure/closet/secure_closet/medical2, +/turf/open/floor/plasteel/dark, /area/ship/medical) "Xi" = ( /obj/structure/chair{ @@ -5177,8 +5419,8 @@ /area/ship/crew/dorm) "Xu" = ( /obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/inteq, -/obj/item/clothing/head/helmet/space/inteq, +/obj/item/clothing/suit/space/orange, +/obj/item/clothing/head/helmet/space/orange, /obj/effect/turf_decal/techfloor{ dir = 1 }, @@ -5200,9 +5442,23 @@ /turf/open/floor/plasteel/dark, /area/ship/medical) "Xx" = ( -/obj/structure/closet/secure_closet/medical1, /obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/corner/transparent/inteqbrown/border{ + dir = 1 + }, +/obj/structure/table, +/obj/item/storage/toolbox/emergency/shuttle{ + pixel_x = -1; + pixel_y = 9 + }, +/obj/item/gps{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/gps{ + pixel_x = 2 + }, +/turf/open/floor/plasteel, /area/ship/crew/office) "XD" = ( /obj/effect/turf_decal/siding/thinplating/dark/corner{ @@ -5254,12 +5510,6 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/crew/canteen) -"XU" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) "Yd" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 4 @@ -5267,7 +5517,7 @@ /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 4 }, -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/directional/east, /turf/open/floor/plasteel/patterned/grid, @@ -5288,20 +5538,24 @@ /area/ship/medical) "Yi" = ( /turf/open/floor/plasteel/white, -/area/ship/medical) +/area/ship/medical/surgery) "Yn" = ( /obj/machinery/door/airlock/grunge{ dir = 8; name = "Restroom" }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/brushed, /area/ship/crew/canteen) "Yt" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) +/obj/machinery/rnd/production/techfab/department/medical, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/medical) "Yu" = ( /obj/effect/turf_decal/techfloor, /obj/structure/closet/firecloset, @@ -5314,9 +5568,11 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/medical) "Yx" = ( -/obj/machinery/rnd/production/techfab/department/medical, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/obj/structure/noticeboard{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/medical) "YF" = ( /obj/machinery/power/terminal{ dir = 8 @@ -5329,14 +5585,19 @@ /turf/open/floor/plating, /area/ship/maintenance/starboard) "YL" = ( -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "valor_external" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plating, -/area/ship/hallway/central) +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical/surgery) "YM" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -5371,8 +5632,18 @@ dir = 4; name = "Port Engines" }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, /turf/open/floor/plating, /area/ship/maintenance/port) +"Zb" = ( +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) "Zc" = ( /obj/structure/bed/dogbed{ anchored = 1; @@ -5403,13 +5674,10 @@ /turf/open/floor/plating, /area/ship/maintenance/port) "Zf" = ( -/obj/structure/railing{ - dir = 4; - layer = 2.9 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 4 +/obj/structure/sign/warning/incident{ + pixel_y = 32 }, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "Zu" = ( @@ -5552,11 +5820,11 @@ cu Td Td Td -Td +BB Nh xj qG -iI +yK Cb Cb Cb @@ -5573,7 +5841,7 @@ pU ei HA lD -AD +rw "} (5,1,1) = {" cu @@ -5589,7 +5857,7 @@ Td xj og FI -qe +tj OM OM OM @@ -5606,7 +5874,7 @@ Dj Uz SX Dw -AD +rw "} (6,1,1) = {" cu @@ -5622,7 +5890,7 @@ Td xj rL uS -qe +tj OM OM OM @@ -5639,7 +5907,7 @@ ko AD AD AD -AD +rw "} (7,1,1) = {" Zu @@ -5655,7 +5923,7 @@ Td xj sZ uS -qe +tj OM OM OM @@ -5666,13 +5934,13 @@ xj Td Td Td -bB -LI +mr +SL ns -qR +SL pC zD -LI +en "} (8,1,1) = {" Zu @@ -5688,24 +5956,24 @@ Td xj GF uS -qe +tj OM OM OM OM Kz -rL +cE xj Td Td Td -WC +Ox WO gp -qR -Yi -bI -LI +SL +FY +OK +SL "} (9,1,1) = {" Zu @@ -5721,7 +5989,7 @@ Td xj Ch FI -qe +tj OM OM OM @@ -5732,13 +6000,13 @@ xj Td Td Td -WC +Ox dA Pe si hW AE -LI +SL "} (10,1,1) = {" Zu @@ -5754,70 +6022,70 @@ DU HC Zf oz -qe +tj OM OM OM OM Kz -ZF -LI +gI +SL jL jL jL -LI +SL PL bJ -LI -LI -LI -LI +SL +SL +SL +SL "} (11,1,1) = {" Zu Rh -Rh +jN Zu uB ua -Wp -CC -ky -CC +OV +aW +aW +aW DR -Qd -FY +ZF +ZF kH Mn Ea -jG +Ls Mn de KU zI -yK -OV -yK -aW +hJ +hJ +xg +Re Ui gU nK Pg eU -LI +SL "} (12,1,1) = {" tZ BC -jN -lN +tZ +tZ gh zs -HC -HC -HC -HC -HC +fN +OR +OR +OR +Wp OT JS jj @@ -5826,18 +6094,18 @@ Kp Kn dQ Fa -Ft -LI -LI -LI -LI -LI +MR +qk su +Nk +Nk +YL +ux rO qR Yi bI -LI +SL "} (13,1,1) = {" tZ @@ -5847,11 +6115,11 @@ xr Hg tS HC -MR vh -fN -xj -tj +vh +vh +HC +cI te fe Ok @@ -5859,32 +6127,32 @@ Xf as HL ec -xg -xj -Au -Re -OK +Md +LI +LI +LI +LI LI EE oy qR CF LJ -LI +SL "} (14,1,1) = {" tZ mG Qo -tZ +lN An Sd HC -Oj -XU -XU +ss +bx +mt xj -cI +nX Jd qA UQ @@ -5892,18 +6160,18 @@ hm Cc JJ zT -Md -xj -XU -XU -cE +Iu LI +jG +ml +Au LI +SL dN -LI -LI -LI -LI +SL +SL +SL +SL "} (15,1,1) = {" tZ @@ -5913,11 +6181,11 @@ tZ Qc AP HC -bx -ss -Sh +Zb +ou +ou Hw -ux +nX ct TB AM @@ -5925,11 +6193,11 @@ NG dO yy bh -nX -zK -Yt +Iu +LI Yt -IL +Io +jT LI zS pt @@ -5946,10 +6214,10 @@ ME iN xl HC -OR +Zb +ou gq -LL -Nh +xj Rc bF Hi @@ -5959,11 +6227,11 @@ tH Ff jQ qX -xj +LI Yx Io -mt -LI +Io +kW zC Ye mw @@ -5979,9 +6247,9 @@ tZ VD Um DT -DT -DT -DT +UD +Oj +UD DT DT DT @@ -5990,13 +6258,13 @@ NE DT nz DT -Tw -Tw -DT -DT -DT DT DT +LI +CC +qe +LL +LI Xg Uj dl @@ -6013,8 +6281,8 @@ ty dp DT Vy -qk -Ls +Vy +Vy DT fE sJ @@ -6026,8 +6294,8 @@ zG Qw jU DT -kW -qk +Vy +Vy Vy DT fj @@ -6045,8 +6313,8 @@ mB ma CH jk -lc -lc +GT +Sh lc ht jw @@ -6060,13 +6328,13 @@ GR hj id lc -lc -lc +Sh +rh bR XD NZ wI -wI +jF WC Td "} @@ -6078,8 +6346,8 @@ mI gn qZ DT -kG -kG +IL +BV kG Tw Lb @@ -6092,9 +6360,9 @@ zO lE WX DT -jT -kG kG +BV +IL DT zA mx @@ -6111,9 +6379,9 @@ uA Pk Ei DT -YL -YL -BV +DT +DT +DT DT mZ Yd @@ -6125,9 +6393,9 @@ Ik Od ie DT -YL -YL -YL +DT +DT +DT DT LI zE @@ -6526,7 +6794,7 @@ Td Td Td Td -Td +zK Td Td Td diff --git a/_maps/shuttles/inteq/inteq_vaquero.dmm b/_maps/shuttles/inteq/inteq_vaquero.dmm index 23a80717b42..c87af460d4e 100644 --- a/_maps/shuttles/inteq/inteq_vaquero.dmm +++ b/_maps/shuttles/inteq/inteq_vaquero.dmm @@ -51,12 +51,13 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "bg" = ( -/obj/structure/railing{ - dir = 8 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/weightmachine/weightlifter, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/ship_three{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/stairs, +/turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "bi" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -72,6 +73,19 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) +"bl" = ( +/obj/structure/closet/crate/freezer/blood, +/obj/machinery/iv_drip, +/obj/machinery/light/small/directional/south, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/medical) "bn" = ( /obj/machinery/power/smes/shuttle/precharged{ dir = 4 @@ -87,14 +101,13 @@ /turf/open/floor/engine/hull/reinforced, /area/ship/maintenance/port) "bq" = ( -/obj/effect/turf_decal/box/corners, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, /obj/item/trash/energybar, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "bt" = ( @@ -110,7 +123,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/computer/helm/viewscreen/directional/south, /turf/open/floor/plasteel/grimy, /area/ship/crew) "bz" = ( @@ -136,12 +148,15 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "bL" = ( -/obj/structure/bed, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/brown, /obj/structure/sign/poster/clip/lanchester{ pixel_y = -32 }, +/obj/machinery/light/small/directional/east, +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, /turf/open/floor/carpet/black, /area/ship/crew) "ce" = ( @@ -173,14 +188,19 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/ship/security) -"dq" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 +"cH" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"dq" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 }, -/turf/open/floor/plasteel/patterned, +/turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "dy" = ( /obj/structure/cable{ @@ -200,6 +220,9 @@ pixel_y = -20 }, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plating, /area/ship/maintenance/port) "dO" = ( @@ -244,11 +267,11 @@ req_access_txt = "3" }, /obj/machinery/light/small/directional/north, -/obj/item/ammo_box/magazine/m12g/small{ +/obj/item/ammo_box/magazine/m12g_bulldog{ pixel_x = -5; pixel_y = -5 }, -/obj/item/ammo_box/magazine/m12g/small{ +/obj/item/ammo_box/magazine/m12g_bulldog{ pixel_x = 5 }, /obj/item/ammo_box/magazine/co9mm{ @@ -263,17 +286,11 @@ /obj/item/ammo_box/magazine/co9mm{ pixel_x = -5 }, -/obj/item/gun/ballistic/shotgun/bulldog/inteq/no_mag{ - pixel_x = -4; - pixel_y = 5; - }, +/obj/item/gun/ballistic/shotgun/automatic/bulldog/inteq/no_mag, /obj/item/gun/ballistic/automatic/pistol/commander/inteq, /obj/item/gun/ballistic/automatic/pistol/commander/inteq{ pixel_y = -5 }, -/obj/structure/sign/poster/contraband/peacemaker{ - pixel_x = 32 - }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech/grid, /area/ship/security) @@ -326,6 +343,7 @@ dir = 10 }, /obj/effect/decal/cleanable/oil/streak, +/obj/effect/turf_decal/box/corners, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "fI" = ( @@ -347,7 +365,7 @@ /area/ship/security) "fJ" = ( /turf/closed/wall/mineral/plastitanium, -/area/ship/security) +/area/ship/medical) "fV" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/structure/cable{ @@ -365,6 +383,13 @@ /obj/structure/railing/corner, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) +"fZ" = ( +/obj/structure/marker_beacon{ + picked_color = "Yellow" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) "gh" = ( /obj/machinery/photocopier, /obj/effect/turf_decal/corner/opaque/brown{ @@ -388,26 +413,13 @@ /obj/effect/turf_decal/industrial/traffic{ dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/button/shieldwallgen{ - dir = 1; - id = "vaquero_cargo"; - pixel_x = 5; - pixel_y = -19 + dir = 4 }, -/obj/machinery/button/door{ - dir = 1; - id = "vaquero_cargo"; - name = "Cargo Door Control"; - pixel_x = -4; - pixel_y = -20 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/turf_decal/industrial/caution{ +/obj/structure/chair/handrail{ dir = 1 }, /turf/open/floor/plasteel/patterned, @@ -428,17 +440,9 @@ /obj/item/pickaxe/mini, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/thinplating/dark, -/obj/structure/extinguisher_cabinet/directional/north, +/obj/item/radio/intercom/directional/north, /turf/open/floor/plasteel/tech, /area/ship/cargo) -"gO" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external/dark) "gY" = ( /obj/structure/table/reinforced, /obj/item/spacecash/bundle/c500, @@ -467,6 +471,18 @@ }, /turf/open/floor/plasteel/dark, /area/ship/bridge) +"hh" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) "hn" = ( /obj/structure/cable{ icon_state = "0-4" @@ -535,6 +551,7 @@ dir = 1 }, /obj/machinery/light/small/directional/north, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/dark, /area/ship/security) "id" = ( @@ -571,13 +588,12 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "if" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/airalarm/directional/east, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/turf/open/floor/plasteel/tech, /area/ship/cargo) "iu" = ( /obj/structure/cable{ @@ -661,6 +677,9 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "jg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, /turf/open/floor/carpet/black, /area/ship/crew) "jw" = ( @@ -678,6 +697,7 @@ pixel_y = 22 }, /obj/machinery/firealarm/directional/north, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "jB" = ( @@ -687,9 +707,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/obj/item/stamp/hos{ - name = "vanguard's rubber stamp" - }, +/obj/item/stamp/inteq/vanguard, /obj/structure/cable{ icon_state = "1-8" }, @@ -707,12 +725,9 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "jE" = ( -/obj/structure/bed, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/brown, -/obj/machinery/light/small/directional/east, -/obj/machinery/airalarm/directional/north, /obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, /turf/open/floor/carpet/black, /area/ship/crew) "jI" = ( @@ -819,7 +834,7 @@ /obj/item/clothing/suit/space/inteq, /obj/item/clothing/head/helmet/space/inteq, /obj/effect/turf_decal/siding/thinplating/dark, -/obj/item/radio/intercom/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/plasteel/tech, /area/ship/cargo) "lm" = ( @@ -867,16 +882,23 @@ /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "lL" = ( -/obj/structure/closet/crate/freezer/blood, -/obj/machinery/iv_drip, -/obj/machinery/light/small/directional/south, -/obj/item/radio/intercom/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/item/storage/case/surgery, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 10 + }, +/obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 5 }, /obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 6 }, +/obj/structure/bed, /turf/open/floor/plasteel/patterned/brushed, /area/ship/medical) "lU" = ( @@ -884,7 +906,7 @@ /obj/item/clothing/suit/toggle/industrial, /obj/item/storage/belt/utility, /obj/item/clothing/under/syndicate/inteq/artificer, -/obj/item/clothing/under/syndicate/inteq/skirt/artificer, +/obj/item/clothing/under/syndicate/inteq/artificer/skirt, /obj/item/clothing/head/soft/inteq, /obj/item/clothing/head/hardhat, /obj/item/clothing/shoes/combat, @@ -902,6 +924,7 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, +/obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "mu" = ( @@ -912,7 +935,7 @@ req_access_txt = "20" }, /obj/item/clothing/glasses/hud/security/sunglasses/inteq, -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, +/obj/item/clothing/mask/balaclava/inteq, /obj/item/clothing/gloves/tackler/combat/insulated, /obj/item/clothing/shoes/combat, /obj/item/storage/belt/security/webbing/inteq/alt, @@ -939,7 +962,6 @@ /obj/machinery/suit_storage_unit/inherit, /obj/item/clothing/suit/space/inteq, /obj/item/clothing/head/helmet/space/inteq, -/obj/machinery/airalarm/directional/east, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/thinplating/dark, /turf/open/floor/plasteel/tech, @@ -962,10 +984,22 @@ /obj/effect/turf_decal/trimline/opaque/yellow/warning{ dir = 1 }, -/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "nm" = ( +/obj/docking_port/mobile{ + dir = 2; + launch_status = 0; + port_direction = 8; + preferred_direction = 4 + }, +/obj/machinery/porta_turret/ship/inteq{ + dir = 5; + id = "vaquero_grid" + }, /turf/closed/wall/mineral/plastitanium, /area/ship/medical) "ox" = ( @@ -973,12 +1007,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) -"oQ" = ( -/obj/structure/sign/number/eight{ - pixel_y = -8 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/security) "oX" = ( /obj/structure/table/reinforced, /obj/item/lighter{ @@ -1028,14 +1056,11 @@ /obj/machinery/atmospherics/pipe/layer_manifold{ dir = 4 }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/tech, /area/ship/hallway/central) -"pl" = ( -/obj/structure/sign/number/nine{ - pixel_y = -8 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/security) "pM" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 4 @@ -1078,12 +1103,21 @@ /turf/closed/wall/mineral/plastitanium, /area/ship/crew/office) "qE" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "0-8" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external/dark) +/obj/machinery/power/shieldwallgen/atmos{ + anchored = 1; + id = "vaquero_cargo"; + locked = 1 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_cargo" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) "qQ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1115,6 +1149,9 @@ dir = 4 }, /obj/machinery/firealarm/directional/south, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/tech, /area/ship/crew/cryo) "ro" = ( @@ -1135,6 +1172,11 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/machinery/light/small/directional/east, /obj/item/trash/chips, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -10 + }, /turf/open/floor/plasteel/grimy, /area/ship/crew) "rD" = ( @@ -1148,6 +1190,13 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/carpet/orange, /area/ship/bridge) +"rP" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) "sm" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1176,6 +1225,9 @@ /obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ dir = 8 }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/tech, /area/ship/hallway/central) "sS" = ( @@ -1194,25 +1246,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) -"tx" = ( -/obj/item/storage/backpack/messenger/inteq, -/obj/item/storage/backpack/messenger/inteq, -/obj/item/storage/backpack/messenger/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/structure/closet/wall/directional/north{ - icon_door = "orange_wall"; - name = "uniform closet" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/carpet/black, -/area/ship/crew) "ui" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/hallway/central) @@ -1224,7 +1257,7 @@ /obj/item/storage/belt/medical/webbing, /obj/item/clothing/suit/armor/inteq/corpsman, /obj/item/clothing/head/soft/inteq/corpsman, -/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, +/obj/item/clothing/under/syndicate/inteq/corpsman/skirt, /obj/item/clothing/under/syndicate/inteq/corpsman, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 @@ -1232,6 +1265,9 @@ /obj/effect/turf_decal/box/corners{ dir = 8 }, +/obj/structure/platform/ship_three{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "uy" = ( @@ -1279,18 +1315,6 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/crew/toilet) -"vd" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 5 - }, -/obj/docking_port/mobile{ - dir = 2; - launch_status = 0; - port_direction = 8; - preferred_direction = 4 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) "vg" = ( /obj/docking_port/stationary{ dir = 8; @@ -1301,16 +1325,34 @@ /turf/template_noop, /area/template_noop) "vo" = ( -/obj/structure/sign/number/one{ +/obj/structure/sign/number/random{ pixel_y = -8 }, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/security) +"vs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/box/corners, +/obj/structure/closet/crate, +/obj/item/stack/sheet/glass/twenty, +/obj/item/stack/sheet/metal/twenty, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"vw" = ( +/obj/structure/marker_beacon{ + picked_color = "Yellow" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) "vN" = ( /turf/open/floor/plasteel/patterned, /area/ship/cargo) "vT" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "vU" = ( @@ -1326,6 +1368,9 @@ /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 4 }, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "vV" = ( @@ -1343,20 +1388,17 @@ /turf/template_noop, /area/template_noop) "wy" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/closet/crate, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/stack/sheet/metal/twenty, -/obj/item/stack/sheet/glass/twenty, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "wI" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, /obj/structure/weightmachine/weightlifter, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/effect/decal/cleanable/dirt, +/obj/structure/platform/ship_three{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "wU" = ( @@ -1426,12 +1468,6 @@ }, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/cargo) -"xX" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 6 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) "xZ" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/airlock/external{ @@ -1508,46 +1544,45 @@ dir = 1 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/ship_three{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "zr" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 + dir = 5 }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/box/corners, +/turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "zG" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_cargo" }, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external/dark) +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) "zM" = ( /obj/machinery/power/terminal{ dir = 8 @@ -1584,12 +1619,6 @@ }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) -"zP" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 6 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) "zR" = ( /obj/structure/chair{ dir = 1 @@ -1634,13 +1663,12 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, -/obj/machinery/newscaster/directional/south, /turf/open/floor/plasteel/grimy, /area/ship/crew) "Am" = ( @@ -1714,11 +1742,22 @@ /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) "Bj" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "0-8" }, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external/dark) +/obj/machinery/power/shieldwallgen/atmos{ + anchored = 1; + dir = 1; + id = "vaquero_cargo"; + locked = 1 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_cargo" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) "Bl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1804,6 +1843,19 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) +"Ch" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "Ci" = ( /obj/structure/filingcabinet/chestdrawer, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, @@ -1819,12 +1871,13 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "Cl" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/poddoor{ - dir = 4; - id = "vaquero_cargo" +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 }, -/turf/open/floor/engine/hull/reinforced/interior, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Cq" = ( /turf/closed/wall/mineral/plastitanium, @@ -1922,7 +1975,9 @@ }, /obj/effect/turf_decal/siding/thinplating/dark, /obj/machinery/firealarm/directional/south, -/obj/item/radio/intercom/directional/east, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/tech, /area/ship/security) "Dh" = ( @@ -1943,7 +1998,7 @@ /area/ship/maintenance/starboard) "DP" = ( /obj/item/clothing/glasses/hud/security/sunglasses/inteq, -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, +/obj/item/clothing/mask/balaclava/inteq, /obj/item/clothing/gloves/tackler/combat/insulated, /obj/item/clothing/shoes/combat, /obj/item/storage/belt/security/webbing/inteq/alt, @@ -1978,6 +2033,13 @@ /obj/item/clothing/suit/armor/vest/security/warden/inteq, /turf/open/floor/plasteel/dark, /area/ship/security) +"DT" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 6; + id = "vaquero_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) "Eh" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/cargo) @@ -1994,33 +2056,21 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "Ex" = ( +/obj/structure/catwalk/over/plated_catwalk, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/door/airlock/medical/glass{ - dir = 4; - name = "Infirmary" - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/machinery/door/firedoor/border_only{ +/obj/structure/railing/corner{ dir = 8 }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) "EB" = ( /obj/machinery/door/window/northleft{ dir = 8; @@ -2065,6 +2115,13 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/plasteel/dark, /area/ship/crew/office) +"Fm" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 5; + id = "vaquero_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/office) "Fu" = ( /obj/machinery/door/airlock{ dir = 4; @@ -2105,51 +2162,31 @@ /obj/machinery/computer/helm/viewscreen/directional/south, /turf/open/floor/plasteel/dark, /area/ship/crew/office) +"FO" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/security) "Gq" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew) "GB" = ( -/obj/machinery/door/airlock{ - name = "Dormitory" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 +/obj/structure/table, +/obj/item/flashlight/lamp/green, +/obj/machinery/newscaster/directional/west, +/obj/structure/window/reinforced{ + dir = 1 }, -/turf/open/floor/plasteel/grimy, +/turf/open/floor/carpet/black, /area/ship/crew) "GI" = ( -/obj/structure/weightmachine/weightlifter, /obj/effect/decal/cleanable/dirt, +/obj/structure/platform/ship_three{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "GQ" = ( -/obj/item/clothing/under/syndicate/inteq, -/obj/item/clothing/under/syndicate/inteq, -/obj/item/clothing/under/syndicate/inteq, -/obj/item/clothing/under/syndicate/inteq/skirt, -/obj/item/clothing/under/syndicate/inteq/skirt, -/obj/item/clothing/under/syndicate/inteq/skirt, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/structure/closet/wall/directional/north{ - icon_door = "orange_wall"; - name = "uniform closet" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/carpet/black, /area/ship/crew) "Ha" = ( @@ -2197,7 +2234,7 @@ /obj/item/clothing/head/helmet/swat/inteq, /obj/item/clothing/gloves/combat, /obj/item/clothing/glasses/hud/security/sunglasses/inteq, -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, +/obj/item/clothing/mask/balaclava/inteq, /obj/item/storage/belt/security/webbing/inteq, /obj/item/storage/belt/security/webbing/inteq/alt, /obj/item/melee/baton/loaded, @@ -2207,54 +2244,37 @@ pixel_y = 23 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/obj/item/attachment/rail_light, +/obj/item/attachment/rail_light, +/obj/item/attachment/rail_light, /turf/open/floor/plasteel/tech/grid, /area/ship/security) "HN" = ( -/obj/structure/closet/secure_closet/wall/directional/north{ - icon_door = "med_wall"; - name = "medical locker"; - req_access_txt = "5" - }, -/obj/item/storage/firstaid/regular{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/item/storage/firstaid/toxin{ - pixel_x = 2; - pixel_y = 1 - }, -/obj/item/storage/firstaid/fire{ - pixel_x = -2; - pixel_y = -1 - }, -/obj/item/storage/firstaid/advanced{ - pixel_x = -6; - pixel_y = -3 - }, -/obj/structure/sink{ - dir = 8; - pixel_x = 12 +/obj/structure/cable{ + icon_state = "0-8" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = 32 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/patterned/brushed, /area/ship/medical) "HS" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, /obj/structure/reagent_dispensers/watertank, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/platform/ship_three{ + dir = 9 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Ie" = ( @@ -2264,26 +2284,13 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /turf/open/floor/plasteel/grimy, /area/ship/crew) "In" = ( /obj/machinery/holopad/emergency/command, /turf/open/floor/carpet/orange, /area/ship/bridge) -"Iy" = ( -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/turretid{ - pixel_y = 25 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) "IN" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -2296,6 +2303,9 @@ pixel_y = -32 }, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/tech, /area/ship/crew/cryo) "IX" = ( @@ -2317,6 +2327,9 @@ }, /obj/structure/catwalk/over/plated_catwalk, /obj/machinery/light/directional/west, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Jc" = ( @@ -2339,14 +2352,14 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "Jl" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, /obj/machinery/autolathe, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/platform/ship_three{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "JB" = ( @@ -2402,6 +2415,9 @@ /area/ship/maintenance/port) "Ky" = ( /obj/item/trash/can, +/obj/structure/platform/ship_three{ + dir = 8 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "KR" = ( @@ -2472,23 +2488,17 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "LW" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - id = "vaquero_cargo"; - locked = 1 +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "vaquero_cargo" +/obj/structure/cable{ + icon_state = "2-4" }, -/turf/open/floor/engine/hull/reinforced/interior, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Me" = ( /obj/structure/railing{ @@ -2567,6 +2577,20 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"NO" = ( +/obj/structure/railing, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) "NR" = ( /obj/structure/cable{ icon_state = "1-8" @@ -2682,21 +2706,20 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "Pn" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 1 + }, /obj/structure/cable{ - icon_state = "0-8" + icon_state = "1-8" }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 1; - id = "vaquero_cargo"; - locked = 1 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "vaquero_cargo" +/obj/structure/sign/warning/incident{ + pixel_y = -30 }, -/turf/open/floor/engine/hull/reinforced/interior, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Pp" = ( /obj/machinery/power/smes/engineering, @@ -2707,28 +2730,45 @@ /obj/effect/turf_decal/corner/opaque/brown{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/crew/office) -"PD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"PD" = ( +/obj/structure/closet/secure_closet/wall/directional/north{ + icon_door = "med_wall"; + name = "medical locker"; + req_access_txt = "5" + }, +/obj/item/storage/firstaid/regular{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/storage/firstaid/toxin{ + pixel_x = 2; + pixel_y = 1 + }, +/obj/item/storage/firstaid/fire{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/storage/firstaid/advanced{ + pixel_x = -6; + pixel_y = -3 }, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 10 +/obj/structure/sink{ + dir = 8; + pixel_x = 12 }, -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = 32 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, -/obj/structure/bed, /turf/open/floor/plasteel/patterned/brushed, /area/ship/medical) "Qy" = ( @@ -2831,26 +2871,45 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "RU" = ( -/obj/structure/dresser, -/obj/machinery/firealarm/directional/west, /obj/item/radio/intercom/directional/south, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/obj/structure/closet/wardrobe/orange{ + name = "uniform wardrobe"; + populate = 0 + }, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, /turf/open/floor/carpet/black, /area/ship/crew) "RX" = ( /obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, +/obj/structure/railing, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Sc" = ( @@ -2870,14 +2929,11 @@ /area/ship/hallway/central) "Tc" = ( /obj/structure/ore_box, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) -"Td" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 5 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) "Ti" = ( /obj/machinery/vending/coffee, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, @@ -2889,15 +2945,27 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "Tn" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/inteq, -/obj/item/clothing/head/helmet/space/inteq, /obj/machinery/light/directional/north, /obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/rack, /turf/open/floor/plasteel/tech, /area/ship/cargo) +"TC" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/turretid/ship{ + id = "vaquero_grid"; + pixel_y = 26 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) "TK" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /obj/effect/turf_decal/corner/opaque/yellow, @@ -2936,25 +3004,59 @@ }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) +"TX" = ( +/turf/open/floor/carpet/black, +/area/ship/crew) "Uf" = ( -/obj/structure/table, -/obj/item/flashlight/lamp/green, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, /turf/open/floor/carpet/black, /area/ship/crew) "Ul" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/bridge) "Ur" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 +/obj/structure/closet/wardrobe/orange{ + name = "uniform wardrobe"; + populate = 0 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/turf/open/floor/carpet/black, +/area/ship/crew) +"Uy" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/dresser{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 }, -/obj/machinery/light/small/directional/west, /turf/open/floor/carpet/black, /area/ship/crew) +"UO" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/stairs, +/area/ship/cargo) "UV" = ( /obj/machinery/door/airlock/public/glass{ dir = 4; @@ -3016,6 +3118,7 @@ /obj/machinery/suit_storage_unit/inherit{ req_access_txt = "20" }, +/obj/item/clothing/mask/gas/inteq, /turf/open/floor/plasteel/dark, /area/ship/bridge) "VN" = ( @@ -3036,13 +3139,24 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"VZ" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 6; + id = "vaquero_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/security) "Wd" = ( -/obj/structure/marker_beacon{ - picked_color = "Yellow" +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) +"Wl" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/warning, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) "WH" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ name = "exhaust injector" @@ -3051,9 +3165,6 @@ /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "WM" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, /obj/structure/closet/crate, /obj/item/target/syndicate{ pixel_x = -5; @@ -3070,12 +3181,15 @@ pixel_y = 5 }, /obj/item/clothing/ears/earmuffs, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Xb" = ( /obj/machinery/door/airlock/command/glass{ name = "Bridge"; - req_one_access = list(19, 3) + req_one_access = list(19,3) }, /obj/structure/cable{ icon_state = "1-2" @@ -3104,26 +3218,38 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "Xi" = ( -/obj/structure/marker_beacon{ - picked_color = "Yellow" +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "Xo" = ( /obj/structure/cable{ - icon_state = "0-8" + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/power/apc/auto_name/directional/north, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + name = "Infirmary" }, -/obj/effect/turf_decal/siding/thinplating/dark{ +/obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 1 }, -/turf/open/floor/plasteel/patterned/brushed, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, /area/ship/medical) "XD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, @@ -3135,7 +3261,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "XG" = ( @@ -3148,6 +3274,22 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/port) +"XL" = ( +/obj/structure/sign/poster/contraband/peacemaker{ + pixel_x = 32 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clothing/mask/gas/inteq, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) "XO" = ( /obj/structure/closet/secure_closet/freezer{ anchored = 1; @@ -3155,8 +3297,8 @@ name = "fridge" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /obj/item/storage/cans/sixbeer, /obj/item/reagent_containers/food/snacks/carneburrito, /obj/effect/turf_decal/corner/opaque/yellow{ @@ -3242,19 +3384,34 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "Zh" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ +/obj/effect/turf_decal/industrial/traffic{ dir = 1 }, -/obj/structure/cable{ - icon_state = "1-8" - }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/sign/warning/incident{ - pixel_y = -30 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/button/shieldwallgen{ + dir = 1; + id = "vaquero_cargo"; + pixel_x = 5; + pixel_y = -19 + }, +/obj/machinery/button/door{ + dir = 1; + id = "vaquero_cargo"; + name = "Cargo Door Control"; + pixel_x = -4; + pixel_y = -20 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/structure/chair/handrail{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "Zi" = ( @@ -3341,14 +3498,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 5; - pixel_y = -20 - }, -/obj/structure/extinguisher_cabinet/directional/south{ - pixel_x = -6 - }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/grimy, /area/ship/crew) @@ -3359,9 +3508,8 @@ name = "folder"; pixel_x = 5 }, -/obj/item/stamp/law{ - name = "master at arms' rubber stamp"; - pixel_x = 5 +/obj/item/stamp/inteq/maa{ + pixel_x = 6 }, /obj/item/table_bell{ pixel_x = -4; @@ -3568,7 +3716,7 @@ pM dO Zv jO -jO +hh Cs jV gt @@ -3644,14 +3792,14 @@ ec lr FK Ul -Iy +TC In qe VI Ul VD Ag -Gq +GQ GQ Uf LB @@ -3671,8 +3819,8 @@ jB Ul sS bu -Gq -tx +TX +TX jg LB "} @@ -3691,13 +3839,13 @@ TQ Ul rA ZA -Gq +Uy jE bL Gq "} (17,1,1) = {" -Td +Fm VN VN VN @@ -3714,7 +3862,7 @@ id te Gq Gq -xX +DT "} (18,1,1) = {" ww @@ -3752,7 +3900,7 @@ te hN oZ ba -pl +vo ox ww "} @@ -3781,7 +3929,7 @@ ww ww QJ kW -mR +NO wI bq vN @@ -3792,7 +3940,7 @@ te gh CQ Bl -oQ +vo ww ww "} @@ -3804,9 +3952,9 @@ mE RX bg zr -if -dq +vN dq +vs Zh te Ci @@ -3819,11 +3967,11 @@ ww (23,1,1) = {" ww ww -nm -lo +Eh +if Ex -lo -lo +UO +Ch LW Cl Cl @@ -3832,27 +3980,27 @@ te te OK te -fJ +te ww ww "} (24,1,1) = {" ww ww -ww +fJ lo Xo -PD +lo lo qE zG -gO +zG Bj te Hw fI te -ww +FO ww ww "} @@ -3880,7 +4028,27 @@ ww ww ww ww -vd +lo +PD +bl +lo +fZ +rP +Wl +vw +te +XL +cH +te +ww +ww +ww +"} +(27,1,1) = {" +ww +ww +ww +nm lo lo lo @@ -3891,7 +4059,7 @@ ww te te te -zP +VZ ww ww ww diff --git a/_maps/shuttles/minutemen/minutemen_atlas.dmm b/_maps/shuttles/minutemen/minutemen_atlas.dmm new file mode 100644 index 00000000000..3828409fe94 --- /dev/null +++ b/_maps/shuttles/minutemen/minutemen_atlas.dmm @@ -0,0 +1,6015 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 9 + }, +/obj/structure/table/chem, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = 6 + }, +/obj/item/pen{ + pixel_y = 5; + pixel_x = 6 + }, +/obj/item/folder/white{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/item/folder/white{ + pixel_x = -8; + pixel_y = 2 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"af" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"am" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"aw" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"aC" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -23 + }, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"aI" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"aS" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"aX" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"bF" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4, +/turf/open/floor/plating/airless, +/area/ship/engineering) +"bK" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"bQ" = ( +/obj/structure/sign/poster/clip/bard{ + pixel_y = 32 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"bS" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"cc" = ( +/turf/open/floor/wood, +/area/ship/crew/crewthree) +"cm" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"ct" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"cN" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central3{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"cV" = ( +/obj/structure/sign/poster/clip/random{ + pixel_y = -32 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/crewtwo) +"cY" = ( +/obj/effect/turf_decal/corner/transparent/blue/border{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/curtain/cloth, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"da" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewtwo) +"di" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "atlas_dorms" + }, +/turf/open/floor/plating, +/area/ship/crew) +"dw" = ( +/obj/effect/turf_decal/minutemen/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"dM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"dV" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"ec" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"em" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/crew/canteen) +"ev" = ( +/obj/effect/decal/fakelattice, +/obj/structure/railing, +/turf/open/floor/plasteel/elevatorshaft, +/area/ship/hallway/central) +"eB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/grunge{ + name = "Bathroom" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"eH" = ( +/obj/structure/closet/secure_closet{ + icon_state = "cap"; + name = "captain's locker"; + req_access_txt = "20" + }, +/obj/item/storage/guncase/pistol/cm23, +/obj/item/clothing/suit/armor/clip_capcoat{ + pixel_x = -14 + }, +/obj/item/clothing/under/clip/officer{ + pixel_x = 13 + }, +/obj/item/clothing/under/clip/officer/alt{ + pixel_x = 13 + }, +/obj/item/radio/headset/clip/captain{ + pixel_x = 7 + }, +/obj/item/clothing/head/clip/slouch/officer{ + pixel_y = 13 + }, +/obj/item/storage/backpack/satchel/sec/clip{ + pixel_y = -15 + }, +/obj/item/storage/backpack/security/clip{ + pixel_y = -15 + }, +/turf/open/floor/carpet/blue, +/area/ship/crew/crewthree) +"eJ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"eK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/canteen) +"eU" = ( +/obj/effect/landmark/start/security_officer, +/obj/structure/chair, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"eW" = ( +/obj/effect/decal/cleanable/confetti, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"fd" = ( +/obj/structure/railing{ + layer = 3.31 + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ + dir = 8 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"fg" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_y = 20; + pixel_x = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"fi" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"fj" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456; + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"fp" = ( +/obj/structure/table, +/obj/machinery/jukebox/boombox, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"fs" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"fF" = ( +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/machinery/light/small/directional/east, +/obj/structure/sink{ + pixel_y = 19; + pixel_x = 7 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"fL" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"fM" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"fR" = ( +/turf/open/floor/carpet/blue, +/area/ship/crew) +"gk" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/structure/janitorialcart{ + dir = 8 + }, +/obj/item/mop{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"gu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"gw" = ( +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/medical{ + name = "Medical Bay" + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"gy" = ( +/obj/structure/closet/crate/freezer/blood, +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/machinery/light/small/directional/west, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"gA" = ( +/obj/machinery/holopad/emergency/command, +/obj/effect/turf_decal/minutemen/middle, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"gE" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"gF" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/minutemen/edge{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"gH" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"gR" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "atlas_fo" + }, +/turf/open/floor/plating, +/area/ship/crew/crewtwo) +"gT" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security) +"gU" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"hg" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -23 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"hq" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"hL" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"hQ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/chair, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"hR" = ( +/obj/structure/table/wood, +/obj/structure/sign/poster/official/moth/smokey{ + pixel_x = -32 + }, +/obj/item/modular_computer/laptop/preset/civilian{ + pixel_y = 5; + pixel_x = 2 + }, +/turf/open/floor/wood, +/area/ship/crew/crewthree) +"ia" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"is" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"iw" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"ix" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"iN" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/railing/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering) +"iO" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/clip{ + pixel_y = 7 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"iQ" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"iS" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"iW" = ( +/obj/structure/closet/secure_closet{ + icon_state = "cap"; + name = "first officer's locker"; + req_access_txt = "19" + }, +/obj/item/storage/guncase/pistol/cm23{ + pixel_y = -4 + }, +/obj/item/clothing/head/clip/slouch/officer{ + pixel_y = 13 + }, +/obj/item/radio/headset/clip/captain{ + pixel_x = 7 + }, +/obj/item/clothing/under/clip/officer/alt{ + pixel_x = 13 + }, +/obj/item/clothing/under/clip/officer{ + pixel_x = 13 + }, +/obj/item/clothing/suit/toggle/lawyer/clip/fo{ + pixel_x = -13 + }, +/obj/item/storage/backpack/satchel/sec/clip{ + pixel_y = -15 + }, +/obj/item/storage/backpack/security/clip{ + pixel_y = -15 + }, +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/crewtwo) +"jc" = ( +/obj/machinery/door/window/brigdoor/southright{ + req_access = list(3); + dir = 4 + }, +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"jp" = ( +/obj/structure/sign/number/random, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewtwo) +"js" = ( +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"jG" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"jI" = ( +/obj/structure/chair, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"jL" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"jQ" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_y = 7; + pixel_x = 12 + }, +/obj/item/melee/chainofcommand{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood, +/area/ship/crew/crewthree) +"jR" = ( +/obj/effect/landmark/start/station_engineer, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering) +"jY" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"jZ" = ( +/obj/item/chair{ + dir = 8; + pixel_y = -10; + pixel_x = 5 + }, +/obj/item/cigbutt{ + pixel_x = -5; + pixel_y = -4 + }, +/obj/item/cigbutt{ + pixel_x = -10; + pixel_y = -7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"kd" = ( +/obj/structure/table, +/obj/item/storage/box/evidence{ + pixel_y = 19; + pixel_x = -7 + }, +/obj/item/storage/box/flares{ + pixel_y = 18; + pixel_x = 7 + }, +/obj/item/storage/box/zipties{ + pixel_x = 2; + pixel_y = 30 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/recharger{ + pixel_y = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"kt" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4; + pixel_y = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"kv" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"kE" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/obj/structure/closet/crate/bin{ + pixel_y = 11 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"kG" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/sign/poster/clip/gold{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"kL" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"kS" = ( +/obj/machinery/door/poddoor{ + id = "atlas_cargo" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "atlas_holo" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plating, +/area/ship/cargo) +"kX" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/closet/crate/bin, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"lc" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"le" = ( +/obj/effect/turf_decal/industrial/loading{ + icon_state = "loadingarea_stripes" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"lw" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/landmark/start/head_of_personnel, +/obj/item/radio/intercom/wideband/directional/south, +/obj/machinery/firealarm/directional/west{ + pixel_x = -33; + pixel_y = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"lJ" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = 11 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew) +"lY" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"mf" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/structure/table, +/obj/structure/closet/wall/directional/east, +/obj/item/radio{ + pixel_y = 15; + pixel_x = 7 + }, +/obj/item/radio{ + pixel_y = 9; + pixel_x = 7 + }, +/obj/item/radio{ + pixel_y = 9; + pixel_x = 4 + }, +/obj/item/radio{ + pixel_y = 9 + }, +/obj/item/radio{ + pixel_y = 9; + pixel_x = -4 + }, +/obj/item/radio{ + pixel_y = 9; + pixel_x = -9 + }, +/obj/item/radio{ + pixel_y = 15; + pixel_x = 4 + }, +/obj/item/radio{ + pixel_y = 15 + }, +/obj/item/radio{ + pixel_y = 15; + pixel_x = -4 + }, +/obj/item/radio{ + pixel_y = 15; + pixel_x = -9 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"mh" = ( +/obj/structure/dresser, +/obj/machinery/button/door{ + pixel_y = 23; + id = "atlas_fo"; + name = "private windows button" + }, +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/crewtwo) +"ms" = ( +/obj/docking_port/mobile{ + dir = 2; + launch_status = 0; + port_direction = 8; + preferred_direction = 4; + name = "atlas dock" + }, +/obj/machinery/porta_turret/ship/clip{ + id = "atlas"; + dir = 9 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"mw" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"mK" = ( +/obj/structure/cable/yellow{ + icon_state = "4-10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"mN" = ( +/obj/structure/sign/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"mS" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"nl" = ( +/obj/effect/landmark/start/security_officer, +/obj/structure/chair, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"nm" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"ny" = ( +/obj/item/gun/ballistic/automatic/smg/cm5/no_mag{ + pixel_y = -4; + pixel_x = 6 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/guncloset, +/obj/item/gun/ballistic/automatic/assault/cm82{ + default_ammo_type = 0; + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/gun/ballistic/automatic/pistol/cm23/no_mag{ + pixel_x = -4; + pixel_y = -8 + }, +/obj/item/gun/ballistic/automatic/pistol/cm23/no_mag{ + pixel_x = -4; + pixel_y = -8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"nO" = ( +/obj/machinery/cryopod{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 6 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"nP" = ( +/obj/machinery/door/airlock/mining{ + name = "Cargo Bay" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"nQ" = ( +/obj/structure/table, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/trimline/transparent/blue/corner, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/machinery/microwave{ + pixel_y = 7 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"nS" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"nU" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"nW" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/security_officer, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"nX" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"nY" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/table, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 2 + }, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 4 + }, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 6 + }, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 8 + }, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 10 + }, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 12 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"oa" = ( +/obj/structure/table, +/obj/item/trash/plate{ + pixel_x = 4; + pixel_y = 1 + }, +/obj/item/trash/plate{ + pixel_x = -2; + pixel_y = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"of" = ( +/obj/machinery/firealarm/directional/north, +/obj/item/paperplane{ + pixel_y = 5 + }, +/obj/structure/fluff/paper/stack{ + name = "stack of papers"; + desc = "Seems like someone needs to work on their aim."; + pixel_x = 4; + pixel_y = -4; + dir = 4 + }, +/obj/structure/closet/crate/bin{ + pixel_y = 12; + pixel_x = 5 + }, +/obj/item/paperplane{ + pixel_x = 9; + pixel_y = 10 + }, +/obj/item/paperplane{ + pixel_x = 2; + pixel_y = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"ov" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"oJ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 5; + pixel_y = -1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"oX" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Captain's Quarters"; + req_one_access = list(20) + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"oY" = ( +/obj/structure/toilet{ + dir = 1; + pixel_x = 9; + pixel_y = 1 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/shower{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"pi" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ship/hallway/central) +"pn" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/structure/rack, +/obj/item/storage/lockbox/medal{ + pixel_x = 3; + pixel_y = 6 + }, +/obj/item/storage/lockbox/medal/sec{ + pixel_x = -4; + pixel_y = -1 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"pp" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "atlas_engi_lockdown" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"pq" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"ps" = ( +/turf/template_noop, +/area/template_noop) +"pE" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8; + layer = 2.456 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"qb" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"qc" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "atlas_bridge" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"qn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 1 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"qr" = ( +/obj/effect/turf_decal/minutemen/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"qA" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"qG" = ( +/obj/machinery/power/terminal, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/effect/turf_decal/industrial, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 32 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"qP" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/turf_decal/minutemen/edge{ + dir = 8 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/landmark/start/captain, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"qR" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 1 + }, +/obj/effect/landmark/start/warden, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"qS" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ + dir = 8 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"rk" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"rr" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"ry" = ( +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"rz" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_y = 5 + }, +/obj/item/pen{ + pixel_y = 5 + }, +/turf/open/floor/wood, +/area/ship/crew/crewthree) +"rO" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/closet/cabinet{ + name = "formal uniform cabinet" + }, +/obj/item/clothing/under/clip/formal/with_shirt{ + pixel_x = 8; + pixel_y = 10 + }, +/obj/item/clothing/under/clip/formal/with_shirt{ + pixel_y = 10 + }, +/obj/item/clothing/under/clip/formal/with_shirt{ + pixel_x = -5; + pixel_y = 10 + }, +/obj/item/clothing/under/clip/formal/with_shirt{ + pixel_x = -10; + pixel_y = 9 + }, +/obj/item/clothing/under/clip/formal/with_shirt/alt{ + pixel_x = 8; + pixel_y = -3 + }, +/obj/item/clothing/under/clip/formal/with_shirt/alt{ + pixel_x = 2; + pixel_y = -4 + }, +/obj/item/clothing/under/clip/formal/with_shirt/alt{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/under/clip/formal/with_shirt/alt{ + pixel_x = -10; + pixel_y = -4 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"rR" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_y = 23 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"sh" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 1 + }, +/area/ship/engineering) +"si" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"sl" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_y = -20; + dir = 1 + }, +/obj/structure/closet/secure_closet{ + icon_state = "hop"; + name = "sergeant's locker"; + req_access_txt = "3" + }, +/obj/item/storage/guncase/doublebarrel{ + pixel_x = 1; + pixel_y = 4 + }, +/obj/item/clothing/shoes/combat{ + pixel_y = -8 + }, +/obj/item/clothing/head/clip/slouch{ + pixel_y = 12 + }, +/obj/item/clothing/under/clip/minutemen{ + pixel_x = -5 + }, +/obj/item/clothing/suit/armor/vest/alt{ + pixel_x = 7 + }, +/obj/effect/turf_decal/box{ + color = "#75A2BB" + }, +/obj/item/storage/backpack/security/clip{ + pixel_x = 13; + pixel_y = -13 + }, +/obj/item/storage/box/ammo/a12g_buckshot{ + pixel_x = -7; + pixel_y = -12 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"sA" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner, +/obj/structure/window/reinforced, +/obj/machinery/suit_storage_unit/minutemen, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/box{ + color = "#75A2BB" + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"sB" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"sD" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"sF" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating/dark/end, +/obj/machinery/blackbox_recorder, +/obj/machinery/door/window/brigdoor/northleft, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"sI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/machinery/door/airlock/grunge{ + req_access = list(3); + dir = 4; + name = "Armory" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"sL" = ( +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"sP" = ( +/obj/machinery/computer/cryopod/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/crew) +"tc" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "atlas_cap" + }, +/turf/open/floor/plating, +/area/ship/crew/crewthree) +"tq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"tA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"tF" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"tP" = ( +/obj/structure/table, +/obj/item/stamp{ + pixel_x = 9; + pixel_y = 13 + }, +/obj/item/clipboard, +/obj/item/stamp/denied{ + pixel_x = 10; + pixel_y = 4 + }, +/obj/item/binoculars{ + pixel_y = 6; + pixel_x = -4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"tW" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/canteen) +"us" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"ux" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4; + pixel_y = 1 + }, +/obj/effect/turf_decal/minutemen/edge{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"uC" = ( +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + id = "atlas_bridge_lockdown"; + dir = 1; + pixel_y = 4; + name = "bridge lockdown"; + pixel_x = -6 + }, +/obj/machinery/button/door{ + id = "atlas_bridge"; + dir = 1; + pixel_x = 7; + pixel_y = 4; + name = "bridge shutters" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"uG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"uH" = ( +/obj/structure/table, +/obj/item/clipboard{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/storage/fancy/cigarettes{ + pixel_x = -1; + pixel_y = 3 + }, +/obj/item/storage/fancy/cigarettes{ + pixel_x = -5 + }, +/obj/item/clothing/mask/cigarette{ + pixel_x = 7; + pixel_y = 1 + }, +/obj/item/storage/fancy/cigarettes{ + pixel_x = 2; + pixel_y = -1 + }, +/obj/item/clothing/mask/cigarette{ + pixel_x = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 5 + }, +/obj/machinery/computer/helm/viewscreen/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"uO" = ( +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 6 + }, +/obj/structure/table/chem, +/obj/structure/sink/chem, +/obj/item/roller{ + pixel_y = 15; + pixel_x = -12 + }, +/obj/item/roller{ + pixel_y = 6; + pixel_x = -14 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"uQ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"uU" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/soda_cans/cola{ + pixel_y = 9; + pixel_x = -5 + }, +/obj/item/trash/can{ + pixel_x = 7; + pixel_y = 9 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/cola{ + pixel_y = 4; + pixel_x = 1 + }, +/obj/item/storage/fancy/donut_box{ + pixel_x = -13; + pixel_y = -2 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"uX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"uY" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"vd" = ( +/obj/structure/catwalk/over, +/obj/machinery/airalarm/directional/east, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ship/engineering) +"vo" = ( +/obj/structure/railing, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 9; + pixel_x = 2 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/machinery/light/directional/west, +/obj/machinery/cell_charger, +/obj/structure/table, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"vw" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"vy" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = -13 + }, +/obj/item/pen{ + pixel_y = 5; + pixel_x = -13 + }, +/obj/item/kitchen/fork/plastic{ + pixel_x = 4; + pixel_y = 1 + }, +/obj/item/kitchen/fork/plastic{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/kitchen/fork/plastic{ + pixel_x = 8; + pixel_y = 1 + }, +/obj/item/kitchen/fork/plastic{ + pixel_x = 10; + pixel_y = 2 + }, +/obj/item/melee/knife/plastic, +/obj/item/melee/knife/plastic{ + pixel_x = -3; + pixel_y = 1 + }, +/obj/item/melee/knife/plastic{ + pixel_x = 2; + pixel_y = 1 + }, +/obj/item/melee/knife/plastic{ + pixel_x = -1; + pixel_y = 2 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"vS" = ( +/obj/machinery/porta_turret/ship/clip{ + id = "atlas"; + dir = 10 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"vT" = ( +/obj/structure/dresser{ + dir = 1 + }, +/obj/item/reagent_containers/food/drinks/beaglemug{ + pixel_y = 8 + }, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"vW" = ( +/obj/structure/sign/poster/clip/random{ + pixel_y = 32 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/carpet/blue, +/area/ship/crew/crewthree) +"vZ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "atlas_engi_lockdown" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"wc" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-6" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"wd" = ( +/obj/structure/sign/warning/nosmoking/circle{ + pixel_x = -28 + }, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"we" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/closet/secure_closet/wall/directional/north{ + icon_door = "med_wall"; + req_access = list(5) + }, +/obj/item/storage/belt/medical/webbing/clip/prefilled{ + pixel_x = -6; + pixel_y = -7 + }, +/obj/item/clothing/gloves/color/latex/nitrile/clip{ + pixel_x = -11; + pixel_y = 5 + }, +/obj/item/clothing/under/clip/medic{ + pixel_x = 9; + pixel_y = -4 + }, +/obj/item/clothing/head/clip/corpsman{ + pixel_y = 8; + pixel_x = 9 + }, +/obj/item/defibrillator/loaded{ + pixel_y = 26 + }, +/obj/item/storage/belt/medical/surgery{ + pixel_x = -7; + pixel_y = -8 + }, +/obj/item/storage/backpack/satchel/med{ + pixel_x = 11; + pixel_y = -14 + }, +/obj/item/storage/backpack/messenger/med{ + pixel_x = 10; + pixel_y = -10 + }, +/obj/item/storage/backpack/medic{ + pixel_x = 9; + pixel_y = -14 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"wh" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"wi" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/techfloor/orange, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"wk" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"wu" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/turretid/ship{ + pixel_x = -28; + pixel_y = -3; + id = "atlas" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"wy" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"wJ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"wU" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/industrial, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"wW" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/chair, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"xi" = ( +/obj/effect/decal/fakelattice{ + icon_state = "lattice-203" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating, +/area/ship/external/dark) +"xz" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"xU" = ( +/obj/machinery/light/directional/east, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"yi" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"yn" = ( +/obj/structure/salvageable/computer{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"yo" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"yx" = ( +/obj/structure/bed/double, +/obj/item/bedsheet/double/grey, +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/crewtwo) +"yB" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"yC" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/holopad/emergency/counselor, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"yI" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/structure/punching_bag, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -20 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"yL" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"yO" = ( +/obj/machinery/computer/helm/viewscreen/directional/north, +/turf/open/floor/carpet/blue, +/area/ship/crew/crewthree) +"yR" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/structure/bed/roller, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"yT" = ( +/obj/machinery/door/firedoor, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"yZ" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/closet/crate, +/obj/item/clothing/under/clip/minutemen{ + pixel_x = -8; + pixel_y = 11 + }, +/obj/item/clothing/under/clip/minutemen{ + pixel_x = -1; + pixel_y = 9 + }, +/obj/item/clothing/under/clip/minutemen{ + pixel_x = 6; + pixel_y = 11 + }, +/obj/item/clothing/under/clip/minutemen{ + pixel_x = 12; + pixel_y = 9 + }, +/obj/item/clothing/shoes/combat{ + pixel_x = -11; + pixel_y = -6 + }, +/obj/item/clothing/shoes/combat{ + pixel_x = -6; + pixel_y = -7 + }, +/obj/item/clothing/shoes/combat{ + pixel_y = -6 + }, +/obj/item/clothing/shoes/combat{ + pixel_x = 7; + pixel_y = -8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"zc" = ( +/obj/structure/closet/crate/freezer, +/obj/item/tank/internals/anesthetic{ + pixel_x = 12 + }, +/obj/item/tank/internals/anesthetic{ + pixel_x = 12 + }, +/obj/item/clothing/mask/breath/medical{ + pixel_y = -12; + pixel_x = 5 + }, +/obj/item/clothing/mask/breath/medical{ + pixel_y = -12; + pixel_x = 6 + }, +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/item/storage/firstaid/regular{ + pixel_y = 8; + pixel_x = -8 + }, +/obj/item/storage/box/gloves{ + pixel_x = -10; + pixel_y = 2 + }, +/obj/item/storage/box/masks{ + pixel_y = -5; + pixel_x = -12 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"zf" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ + dir = 8 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = 26 + }, +/obj/structure/closet/emcloset/wall/directional/south, +/obj/item/clothing/suit/space/fragile{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/suit/space/fragile{ + pixel_x = 11; + pixel_y = -17 + }, +/obj/item/clothing/head/helmet/space/fragile{ + pixel_x = -8; + pixel_y = -9 + }, +/obj/item/clothing/head/helmet/space/fragile{ + pixel_x = -2; + pixel_y = -14 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"zl" = ( +/obj/structure/closet/crate/trashcart/laundry, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"zq" = ( +/obj/machinery/door/poddoor{ + id = "atlas_cargo" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "atlas_holo" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plating, +/area/ship/cargo) +"zt" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"zx" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"zE" = ( +/obj/structure/bed{ + dir = 1 + }, +/obj/item/bedsheet/blue{ + dir = 1 + }, +/obj/structure/curtain/cloth, +/obj/machinery/button/door{ + id = "atlas_dorms"; + name = "private windows button"; + pixel_x = -23; + dir = 4 + }, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"zQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/structure/sign/poster/clip/maxin{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Aa" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/effect/turf_decal/trimline/transparent/blue/filled/arrow_ccw{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"An" = ( +/obj/structure/bed{ + dir = 1 + }, +/obj/item/bedsheet/blue{ + dir = 1 + }, +/obj/structure/curtain/cloth, +/obj/machinery/light/directional/west, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"Av" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp{ + pixel_y = 6; + pixel_x = 1 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood, +/area/ship/crew/crewtwo) +"Ay" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/paperplane{ + pixel_x = 11; + pixel_y = 9 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"AH" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"AP" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"Bm" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "atlas_engi_lockdown" + }, +/turf/open/floor/plating, +/area/ship/external/dark) +"Bx" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 9 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = -28 + }, +/obj/structure/bed/dogbed{ + name = "Mushroom's bed"; + desc = "A comfy-looking dog bed. Despite the name, the owner is a mothroach." + }, +/mob/living/simple_animal/pet/mothroach{ + name = "Mushroom"; + desc = "Master Sergeant Mushroom is assigned to overwatch C-MM armory officers. Don't let her eat the armor."; + gender = "female" + }, +/obj/item/storage/fancy/egg_box{ + pixel_x = -3; + pixel_y = -3 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"BH" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"BI" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"BL" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/railing{ + dir = 1; + layer = 2.89 + }, +/obj/effect/turf_decal/industrial, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"BW" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Cc" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 8; + piping_layer = 2 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"Cm" = ( +/obj/structure/sign/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewthree) +"Cn" = ( +/obj/item/cigbutt{ + anchored = 1; + color = "#808080"; + layer = 2; + pixel_x = -4; + pixel_y = 8 + }, +/obj/effect/decal/fakelattice, +/obj/structure/railing, +/turf/open/floor/plasteel/elevatorshaft, +/area/ship/hallway/central) +"Cq" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/arrow_ccw{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Cr" = ( +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/item/stack/sheet/mineral/plasma/twenty, +/obj/structure/cable/yellow{ + icon_state = "0-9" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"CM" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_y = 3 + }, +/obj/item/pen{ + pixel_y = 3 + }, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_x = 16; + pixel_y = 11 + }, +/turf/open/floor/wood, +/area/ship/crew/crewtwo) +"CO" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/medical) +"CX" = ( +/obj/machinery/light/directional/west, +/obj/machinery/button/door{ + pixel_y = -23; + id = "atlas_med"; + dir = 1; + name = "medbay shutters" + }, +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"CZ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 8 + }, +/obj/structure/railing, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"Da" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Do" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"Dq" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/structure/mirror{ + pixel_y = 28 + }, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"DL" = ( +/obj/machinery/photocopier, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Ea" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Ej" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Eo" = ( +/obj/structure/railing{ + dir = 1; + layer = 2.89 + }, +/obj/machinery/autolathe, +/obj/machinery/light/directional/west, +/obj/item/stack/sheet/glass/twenty, +/obj/item/stack/sheet/metal/twenty, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Es" = ( +/obj/structure/curtain/cloth/grey, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Ey" = ( +/obj/effect/decal/fakelattice{ + icon_state = "lattice-23" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating, +/area/ship/external/dark) +"EB" = ( +/obj/machinery/light/directional/north, +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/crewtwo) +"ED" = ( +/obj/item/kirbyplants{ + icon_state = "plant-02"; + pixel_x = -7 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/corner_steel_grid/full, +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"EH" = ( +/obj/structure/filingcabinet/double/grey{ + dir = 1; + pixel_y = -3 + }, +/obj/item/folder, +/obj/item/folder/blue, +/obj/item/folder/red, +/obj/item/folder/white, +/obj/item/folder/yellow, +/turf/open/floor/wood, +/area/ship/crew/crewtwo) +"EJ" = ( +/obj/item/kirbyplants{ + icon_state = "plant-02" + }, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"EO" = ( +/obj/machinery/porta_turret/ship/clip{ + id = "atlas"; + dir = 5 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security) +"EP" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/arrow_ccw{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"ES" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"EZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 4 + }, +/area/ship/bridge) +"Fu" = ( +/obj/effect/decal/fakelattice{ + icon_state = "lattice-21" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating, +/area/ship/external/dark) +"Fv" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"FF" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"FI" = ( +/obj/structure/table, +/obj/item/desk_flag/trans{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/toy/cards/deck{ + pixel_x = 6; + pixel_y = 9 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"FN" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewthree) +"FO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 4 + }, +/area/ship/bridge) +"FQ" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/effect/landmark/start/medical_doctor, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Gi" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -12; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Gj" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/obj/structure/table, +/obj/structure/bedsheetbin, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"Gt" = ( +/obj/structure/bed/double, +/obj/item/bedsheet/double/blue, +/turf/open/floor/carpet/blue, +/area/ship/crew/crewthree) +"GU" = ( +/obj/machinery/porta_turret/ship/clip{ + id = "atlas"; + dir = 6 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewtwo) +"Hf" = ( +/turf/open/floor/wood, +/area/ship/crew/crewtwo) +"Hg" = ( +/obj/machinery/airalarm/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Hh" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "atlas_engi_lockdown"; + dir = 4; + pixel_y = 2; + name = "engineering shutters"; + pixel_x = -24 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Hl" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/light/directional/west, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"Hu" = ( +/obj/machinery/door/poddoor{ + id = "atlas_cargo" + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plating, +/area/ship/cargo) +"HW" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) +"HX" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/central) +"Ig" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/railing, +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"Ir" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/effect/turf_decal/minutemen/edge, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"IK" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/obj/structure/closet/crate, +/obj/item/storage/box/emptysandbags, +/obj/item/storage/box/emptysandbags, +/obj/item/shovel, +/obj/item/shovel, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/storage/bag/ore, +/obj/item/storage/bag/ore, +/obj/machinery/light/directional/east, +/obj/structure/crate_shelf, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"IP" = ( +/obj/structure/table/wood, +/obj/item/melee/knife/letter_opener{ + pixel_x = 9; + pixel_y = -6 + }, +/obj/item/folder/biscuit/unsealed{ + pixel_x = -4 + }, +/obj/item/papercutter{ + pixel_x = 5; + pixel_y = 5 + }, +/turf/open/floor/wood, +/area/ship/crew/crewtwo) +"IR" = ( +/obj/item/kirbyplants{ + icon_state = "plant-02" + }, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"IY" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Jb" = ( +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Bridge"; + req_one_access = list(19,3) + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "atlas_bridge_lockdown" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Je" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"JL" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/machinery/holopad/emergency/medical, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"JR" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-5" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"JU" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/chair{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"JV" = ( +/obj/item/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 16; + pixel_x = -6 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 8 + }, +/obj/structure/railing, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Kc" = ( +/obj/effect/decal/fakelattice{ + icon_state = "lattice-203" + }, +/obj/structure/lattice/catwalk, +/obj/item/toy/plush/moth/royal{ + pixel_x = 9; + pixel_y = 8; + name = "Specialist Aloe"; + desc = "An adorable mothperson plushy. Judging by a tag attached just beneath its left leg, it is part of the Colonial League's armed forces." + }, +/obj/item/clothing/head/clip{ + pixel_x = 9; + pixel_y = 18 + }, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_x = 5; + list_reagents = list(/datum/reagent/consumable/ice=30) + }, +/turf/open/floor/plating, +/area/ship/external/dark) +"Kf" = ( +/obj/structure/chair/plastic{ + dir = 8; + pixel_y = 9; + pixel_x = 7 + }, +/obj/effect/decal/cleanable/confetti, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump/layer2{ + dir = 8 + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering) +"Km" = ( +/obj/machinery/computer/helm/viewscreen/directional/south, +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/crewtwo) +"KB" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Ld" = ( +/obj/item/caution{ + pixel_x = 6 + }, +/obj/effect/decal/cleanable/oil/slippery{ + icon_state = "floor5"; + pixel_x = -12; + pixel_y = 1 + }, +/obj/item/wirecutters{ + pixel_x = -5; + pixel_y = -15 + }, +/obj/item/crowbar/large{ + pixel_y = 14 + }, +/turf/open/floor/plating, +/area/ship/cargo) +"Ln" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Lp" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/command{ + pixel_y = 6; + pixel_x = -3 + }, +/obj/item/book/manual/wiki/piloting{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Lw" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/stand_clear/white, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door{ + id = "atlas_cargo"; + dir = 4; + pixel_x = -23; + pixel_y = 6; + name = "cargo bay control" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = -4; + pixel_x = -20; + id = "atlas_holo" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"LE" = ( +/obj/structure/grille, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"LH" = ( +/obj/structure/filingcabinet/double/grey{ + pixel_y = 14 + }, +/obj/item/folder, +/obj/item/folder/blue, +/obj/item/folder/red, +/obj/item/folder/white, +/obj/item/folder/yellow, +/obj/item/reagent_containers/food/snacks/grown/tobacco{ + dry = 1 + }, +/obj/item/reagent_containers/food/snacks/grown/tobacco{ + dry = 1 + }, +/obj/item/reagent_containers/food/snacks/grown/tobacco{ + dry = 1 + }, +/obj/item/reagent_containers/food/snacks/grown/tobacco{ + dry = 1 + }, +/turf/open/floor/wood, +/area/ship/crew/crewthree) +"LM" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"Ml" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/stand_clear/white, +/obj/machinery/light/directional/east, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Mq" = ( +/obj/structure/closet/crate/bin{ + pixel_y = 11; + pixel_x = -10 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Mu" = ( +/obj/effect/landmark/start/station_engineer, +/obj/structure/cable/yellow{ + icon_state = "2-5" + }, +/obj/structure/cable/yellow{ + icon_state = "5-6" + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering) +"My" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"MC" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"MH" = ( +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/structure/cable/yellow, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"MO" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"MQ" = ( +/obj/structure/chair/comfy/beige, +/turf/open/floor/wood, +/area/ship/crew/crewtwo) +"Ni" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"No" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/hatch/blue, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"NE" = ( +/obj/structure/closet/emcloset/anchored, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"NY" = ( +/obj/structure/chair/comfy/blue{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ship/crew/crewthree) +"Ob" = ( +/obj/structure/sign/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewtwo) +"Oj" = ( +/obj/structure/sign/number/random, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewthree) +"Ot" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"OA" = ( +/obj/structure/catwalk/over, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"OQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"OV" = ( +/obj/effect/turf_decal/rechargefloor, +/obj/item/stack/ore/salvage/scraptitanium{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/stack/ore/salvage/scrapsilver{ + pixel_x = 4; + pixel_y = -8 + }, +/obj/structure/mecha_wreckage/ripley/clip, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"OW" = ( +/obj/effect/decal/fakelattice, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/elevatorshaft, +/area/ship/hallway/central) +"Pd" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4; + pixel_y = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Pi" = ( +/obj/machinery/suit_storage_unit/minutemen, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/box{ + color = "#75A2BB" + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"Pk" = ( +/obj/effect/turf_decal/minutemen/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Pn" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"Py" = ( +/obj/structure/closet/secure_closet/engineering_personal{ + populate = 0 + }, +/obj/effect/decal/cleanable/confetti, +/obj/item/clothing/glasses/meson{ + pixel_x = -1; + pixel_y = -8 + }, +/obj/item/storage/belt/utility/full, +/obj/item/storage/backpack/satchel/eng{ + pixel_y = 10 + }, +/obj/item/clothing/under/clip{ + pixel_x = 7 + }, +/obj/item/clothing/suit/hazardvest{ + pixel_x = -8; + pixel_y = 3 + }, +/obj/item/clothing/suit/space/syndicate/blue, +/obj/item/clothing/head/helmet/space/syndicate/blue, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"PD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/toilet{ + dir = 8; + pixel_x = 4 + }, +/obj/structure/curtain, +/obj/machinery/shower{ + dir = 1; + pixel_x = -6 + }, +/obj/effect/turf_decal/floordetail/pryhole, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plastic, +/area/ship/crew) +"PG" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/carpet/blue, +/area/ship/crew/crewthree) +"PK" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/closet/secure_closet/freezer/fridge/open{ + populate = 0 + }, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"PT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/suit_storage_unit/minutemen, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/box{ + color = "#75A2BB" + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"PU" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"PV" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"PX" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ship/engineering) +"Qb" = ( +/obj/machinery/recharge_station, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"Qg" = ( +/obj/item/cigbutt{ + pixel_x = -8; + pixel_y = 11 + }, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Qj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink{ + dir = 4; + pixel_x = -12; + pixel_y = 6 + }, +/obj/item/lipstick{ + pixel_x = -11 + }, +/obj/item/lipstick/black{ + pixel_x = -11 + }, +/obj/item/lipstick/jade{ + pixel_x = -11 + }, +/obj/item/lipstick/purple{ + pixel_x = -11 + }, +/obj/structure/closet/wall/white{ + dir = 4; + pixel_x = 28; + pixel_y = 6 + }, +/obj/structure/mirror{ + pixel_x = -28; + pixel_y = 7 + }, +/obj/item/dyespray{ + pixel_x = 10 + }, +/obj/item/clothing/head/wig/random{ + pixel_x = 11 + }, +/turf/open/floor/plastic, +/area/ship/crew) +"Qt" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"Qu" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"Qw" = ( +/obj/effect/turf_decal/minutemen/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Qx" = ( +/obj/structure/bed/pod{ + dir = 1 + }, +/obj/item/bedsheet/red{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Qz" = ( +/obj/structure/sign/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"QC" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"QG" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"QM" = ( +/obj/structure/table/reinforced, +/obj/item/radio/weather_monitor{ + pixel_x = -6; + pixel_y = 20 + }, +/obj/item/radio/intercom/table{ + dir = 4; + pixel_y = 3 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"QS" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Rf" = ( +/obj/machinery/door/airlock/grunge{ + name = "Dormitories" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Rt" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"Rv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Rz" = ( +/obj/structure/rack, +/obj/effect/turf_decal/trimline/transparent/blue/filled, +/obj/item/clothing/suit/armor/vest/bulletproof{ + pixel_y = 13; + pixel_x = 7 + }, +/obj/item/clothing/suit/armor/vest/bulletproof{ + pixel_y = 10; + pixel_x = 6 + }, +/obj/item/clothing/suit/armor/vest/bulletproof{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/item/clothing/suit/armor/vest/bulletproof{ + pixel_x = 8; + pixel_y = 1 + }, +/obj/item/clothing/head/helmet/bulletproof/x11/clip{ + pixel_y = 12; + pixel_x = -9 + }, +/obj/item/clothing/head/helmet/bulletproof/x11/clip{ + pixel_y = 10; + pixel_x = -6 + }, +/obj/item/clothing/head/helmet/bulletproof/x11/clip{ + pixel_y = 5; + pixel_x = -10 + }, +/obj/item/clothing/head/helmet/bulletproof/x11/clip{ + pixel_y = 1; + pixel_x = -7 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"RL" = ( +/obj/structure/table/wood, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_y = 6; + pixel_x = 2 + }, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_y = 9; + pixel_x = 1 + }, +/obj/item/clothing/mask/cigarette/pipe{ + pixel_x = 10 + }, +/obj/item/lighter{ + pixel_x = -9 + }, +/turf/open/floor/wood, +/area/ship/crew/crewthree) +"RM" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"RQ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"RT" = ( +/obj/machinery/porta_turret/ship/clip{ + id = "atlas"; + dir = 6 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) +"RU" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/computer/monitor{ + dir = 8; + icon_state = "computer-left" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Sb" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Sp" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "atlas_cap" + }, +/turf/open/floor/plating, +/area/ship/crew/crewthree) +"Ss" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Sw" = ( +/obj/structure/rack, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled, +/obj/item/storage/box/ammo/c10mm{ + pixel_x = 5; + pixel_y = 8 + }, +/obj/item/storage/box/ammo/c9mm{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/storage/box/ammo/a556_42{ + pixel_x = 1; + pixel_y = -6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Sz" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"SB" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"SI" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"SK" = ( +/obj/structure/sign/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/medical) +"ST" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor/southright{ + req_access = list(3) + }, +/obj/item/radio/intercom/table{ + pixel_y = -3; + pixel_x = 5 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"SW" = ( +/obj/structure/table/wood, +/obj/item/modular_computer/laptop/preset/civilian{ + pixel_y = 3 + }, +/turf/open/floor/wood, +/area/ship/crew/crewtwo) +"Ti" = ( +/obj/machinery/light/directional/west, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"Tx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"Ty" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"TA" = ( +/obj/item/emptysandbag{ + pixel_x = -10; + pixel_y = -8 + }, +/obj/item/emptysandbag{ + pixel_x = 4; + pixel_y = -8 + }, +/obj/item/emptysandbag{ + pixel_x = -3; + pixel_y = -6 + }, +/obj/item/emptysandbag{ + pixel_x = -3; + pixel_y = -6 + }, +/obj/item/emptysandbag{ + pixel_x = 4; + pixel_y = -4 + }, +/obj/item/emptysandbag{ + pixel_x = -10; + pixel_y = -5 + }, +/obj/item/emptysandbag{ + pixel_x = 2; + pixel_y = -2 + }, +/obj/item/emptysandbag{ + pixel_x = -10 + }, +/obj/item/shovel{ + pixel_x = -18; + pixel_y = -3 + }, +/obj/structure/table, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"TE" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"TK" = ( +/obj/structure/dresser{ + dir = 1 + }, +/obj/machinery/button/door{ + pixel_y = -23; + id = "atlas_cap"; + dir = 1; + name = "private windows button" + }, +/turf/open/floor/carpet/blue, +/area/ship/crew/crewthree) +"TT" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"Uh" = ( +/obj/structure/rack, +/obj/effect/turf_decal/trimline/transparent/blue/filled, +/obj/item/clothing/head/clip{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/clothing/head/clip{ + pixel_x = -9; + pixel_y = 3 + }, +/obj/item/clothing/head/clip{ + pixel_x = -9; + pixel_y = -3 + }, +/obj/item/clothing/head/clip{ + pixel_x = -7; + pixel_y = -8 + }, +/obj/item/storage/belt/military/clip{ + pixel_y = 14; + pixel_x = 5 + }, +/obj/item/storage/belt/military/clip{ + pixel_y = 11; + pixel_x = 7 + }, +/obj/item/storage/belt/military/clip{ + pixel_y = 2; + pixel_x = 4 + }, +/obj/item/storage/belt/military/clip{ + pixel_y = -2; + pixel_x = 7 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Um" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/machinery/suit_storage_unit/minutemen, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/box{ + color = "#75A2BB" + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"UC" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"UG" = ( +/obj/structure/table/optable, +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/item/clothing/suit/apron/surgical{ + pixel_x = -5; + pixel_y = -3 + }, +/obj/item/book/manual/wiki/surgery{ + pixel_x = 6; + pixel_y = 1 + }, +/obj/structure/sign/poster/clip/serene{ + pixel_x = 32 + }, +/obj/machinery/defibrillator_mount{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"UK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"UP" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/structure/weightmachine/weightlifter, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"US" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/computer/cargo{ + dir = 8; + icon_state = "computer-right" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"UY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/catwalk/over, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Vk" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = 16 + }, +/obj/item/pen{ + pixel_y = 5; + pixel_x = 16 + }, +/obj/machinery/door/window/brigdoor/southleft{ + req_access = list(3) + }, +/obj/item/flashlight/lamp{ + pixel_x = -8; + pixel_y = 13 + }, +/obj/item/stamp{ + pixel_x = -9 + }, +/obj/item/stamp/denied, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Vl" = ( +/obj/effect/turf_decal/corner/transparent/blue/border{ + dir = 8 + }, +/obj/structure/curtain, +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"Vo" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "atlas_med" + }, +/turf/open/floor/plating, +/area/ship/medical) +"Vq" = ( +/obj/structure/rack, +/obj/item/reagent_containers/spray/pepper{ + pixel_y = 12; + pixel_x = 10 + }, +/obj/item/reagent_containers/spray/pepper{ + pixel_y = 13; + pixel_x = 4 + }, +/obj/item/reagent_containers/spray/pepper{ + pixel_y = 10; + pixel_x = 6 + }, +/obj/item/reagent_containers/spray/pepper{ + pixel_y = 8; + pixel_x = 9 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled, +/obj/item/ammo_box/magazine/cm5_9mm{ + pixel_x = 2; + pixel_y = -2 + }, +/obj/item/ammo_box/magazine/cm5_9mm{ + pixel_x = -1; + pixel_y = -5 + }, +/obj/item/ammo_box/magazine/p16{ + pixel_x = -9 + }, +/obj/item/ammo_box/magazine/p16{ + pixel_x = -9 + }, +/obj/machinery/light/directional/north, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/item/melee/knife/survival{ + pixel_x = 12; + pixel_y = -3 + }, +/obj/item/melee/knife/survival{ + pixel_x = 10; + pixel_y = -4 + }, +/obj/item/melee/knife/survival{ + pixel_x = 11; + pixel_y = -4 + }, +/obj/item/melee/knife/survival{ + pixel_x = 11; + pixel_y = -6 + }, +/obj/item/melee/knife/survival{ + pixel_x = 11; + pixel_y = -8 + }, +/obj/item/ammo_box/magazine/cm23, +/obj/item/ammo_box/magazine/cm23, +/obj/item/ammo_box/magazine/cm23, +/obj/item/ammo_box/magazine/cm23, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Vw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"VG" = ( +/obj/machinery/modular_computer/console/preset/command{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"VK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/closet/secure_closet/engineering_welding, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"VQ" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/engineering) +"VR" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"VT" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black/corner, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"VW" = ( +/obj/effect/decal/fakelattice{ + icon_state = "lattice-6" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating, +/area/ship/external/dark) +"We" = ( +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Wg" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1; + layer = 2.456 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"Wi" = ( +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"Wk" = ( +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/medical{ + name = "Medical Bay" + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Wr" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "First Officer's Quarters"; + req_one_access = list(19) + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"Wx" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "atlas_bridge_lockdown" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"WO" = ( +/obj/machinery/cryopod{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"WQ" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Engineering" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"WR" = ( +/obj/structure/bed{ + dir = 1 + }, +/obj/item/bedsheet/blue{ + dir = 1 + }, +/obj/structure/curtain/cloth, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"WZ" = ( +/obj/structure/catwalk/over, +/obj/machinery/firealarm/directional/east, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ship/engineering) +"Xc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"Xg" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Xl" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/firealarm/directional/north, +/obj/machinery/light_switch{ + pixel_y = 23; + pixel_x = 10 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"Xp" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering) +"XT" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 4 + }, +/obj/structure/chair/plastic{ + dir = 8; + pixel_x = -4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"XZ" = ( +/obj/machinery/porta_turret/ship/clip{ + id = "atlas"; + dir = 5 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewthree) +"Ya" = ( +/turf/open/floor/plasteel/tech, +/area/ship/crew/canteen) +"Yt" = ( +/obj/docking_port/stationary{ + width = 30; + height = 15; + dwidth = 15 + }, +/turf/template_noop, +/area/template_noop) +"Yu" = ( +/obj/item/food/cakeslice/birthday{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering) +"Yw" = ( +/obj/machinery/door/airlock/mining{ + name = "Cargo Bay" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"YG" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4; + pixel_y = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"YK" = ( +/obj/structure/closet/crate/bin, +/obj/machinery/firealarm/directional/south, +/obj/item/broken_bottle, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"YM" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "atlas_fo" + }, +/turf/open/floor/plating, +/area/ship/crew/crewtwo) +"YO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Zd" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Ze" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"Zo" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = 11 + }, +/obj/item/pen{ + pixel_y = 5; + pixel_x = 11 + }, +/obj/item/papercutter{ + pixel_x = -2; + pixel_y = 5 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Zs" = ( +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Bridge"; + req_one_access = list(19,3) + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "atlas_bridge_lockdown" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"ZE" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"ZG" = ( +/obj/structure/sign/poster/clip/enlist{ + pixel_y = 32 + }, +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"ZM" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-5" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"ZU" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"ZZ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-middle" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) + +(1,1,1) = {" +ps +ps +ps +ps +ms +ps +ps +ps +ps +ps +ps +ps +ps +ps +ps +ps +ps +ps +ps +ps +vS +ps +ps +"} +(2,1,1) = {" +ps +ps +ps +ps +PU +PU +Bm +Bm +PU +ps +ps +PU +sD +PU +ps +ps +PU +Bm +Bm +PU +PU +ps +ps +"} +(3,1,1) = {" +ps +ps +ps +ps +PU +Ti +yL +af +PU +Bm +Bm +PU +zf +PU +Bm +Bm +PU +cN +cN +Hl +PU +ps +ps +"} +(4,1,1) = {" +ps +ps +ps +ps +pp +eW +My +bK +PU +jY +jY +PU +Qu +PU +jY +jY +PU +bK +JR +TA +pp +ps +ps +"} +(5,1,1) = {" +ps +ps +ps +ps +pp +Py +Yu +fM +vo +wc +mw +Hh +Qg +wd +mw +ZM +Eo +Rv +Mu +MH +pp +ps +ps +"} +(6,1,1) = {" +ps +ps +ps +bF +vZ +VK +Kf +jR +iN +sh +vw +UY +OA +vd +WZ +VQ +PX +mK +Xp +Cr +pp +ps +ps +"} +(7,1,1) = {" +ps +ps +ps +ps +mN +PU +Cc +qS +fd +PU +WQ +PU +PU +PU +PU +PU +BL +qG +wU +PU +mN +ps +ps +"} +(8,1,1) = {" +ps +ps +ps +ps +ps +PU +PU +PU +PU +tW +eK +tW +Ze +fL +Gj +tW +PU +PU +PU +PU +ps +ps +ps +"} +(9,1,1) = {" +ps +ps +ps +ps +ps +gT +Qx +Gi +oY +tW +em +tW +zl +Ya +gk +tW +LE +LE +LE +ps +ps +ps +ps +"} +(10,1,1) = {" +ps +ps +ps +ps +gT +gT +jc +XT +gT +tW +VT +Pd +kt +YG +gU +tW +HW +HW +HW +HW +HW +ps +ps +"} +(11,1,1) = {" +ps +ps +ps +gT +gT +kd +gE +Bx +gT +kE +nS +jI +fp +Do +Sb +nQ +HW +WR +us +An +HW +HW +ps +"} +(12,1,1) = {" +ps +ps +ps +gT +Vq +Sw +QS +SB +Vk +jG +IY +jI +vy +nW +FF +PK +HW +ZG +fR +fR +zE +di +ps +"} +(13,1,1) = {" +ps +ps +ps +gT +ny +VR +aX +qR +ST +ct +Aa +nl +oa +nW +FF +nY +HW +fg +wJ +UK +vT +di +ps +"} +(14,1,1) = {" +ps +ps +ps +gT +Rz +Uh +dV +uH +gT +Ig +Aa +Wi +am +dM +BI +cm +Rf +Ej +yi +aI +Qb +di +ps +"} +(15,1,1) = {" +ps +ps +ps +gT +yo +fs +QC +sl +gT +Xl +Aa +wh +Qt +OQ +iS +hg +HW +HW +Es +HW +HW +HW +ps +"} +(16,1,1) = {" +ps +ps +ps +gT +bQ +gT +sI +gT +gT +CZ +EP +eU +FI +Do +FF +kv +NE +HW +lJ +sP +wi +HW +ps +"} +(17,1,1) = {" +ps +ps +ps +gT +yZ +gT +zQ +PT +Um +Cq +wk +jI +Pn +rr +FF +kv +nU +HW +WO +mf +nO +HW +ps +"} +(18,1,1) = {" +ps +ps +ps +EO +gT +gT +Zd +sL +We +sL +IY +jI +uU +rr +FF +KB +HW +HW +HW +HW +HW +RT +ps +"} +(19,1,1) = {" +ps +ps +ps +ps +ps +gT +MC +Pi +sA +eJ +RM +gu +ES +bS +Ss +wy +eB +Qj +PD +HW +ps +ps +ps +"} +(20,1,1) = {" +ps +ps +ps +ps +ps +TE +TE +TE +TE +TE +HX +PV +HX +PV +HX +CO +CO +CO +CO +HW +ps +ps +ps +"} +(21,1,1) = {" +ps +ps +ps +ps +ps +ps +TE +OV +No +TE +ev +sB +Ot +ia +OW +CO +gy +zc +CO +ps +ps +ps +ps +"} +(22,1,1) = {" +ps +ps +ps +ps +ps +Qz +TE +Ld +yn +TE +TE +zt +tF +Ty +CO +CO +cY +cY +CO +SK +ps +ps +ps +"} +(23,1,1) = {" +ps +ps +ps +ps +ps +zq +Lw +le +YO +Hg +Yw +TT +hL +TT +gw +aC +FQ +mS +CX +CO +ps +ps +ps +"} +(24,1,1) = {" +ps +ps +ps +ps +Yt +Hu +nX +tA +jZ +yI +TE +hQ +rk +Ln +CO +Dq +aa +JL +yR +Vo +ps +ps +ps +"} +(25,1,1) = {" +ps +ps +ps +ps +ps +Hu +nX +tA +tA +UP +TE +wW +rk +JU +CO +we +uO +UC +yR +Vo +ps +ps +ps +"} +(26,1,1) = {" +ps +ps +ps +ps +ps +kS +Ml +le +Da +SI +nP +yB +ix +yB +Wk +zx +AH +qA +xU +CO +ps +ps +ps +"} +(27,1,1) = {" +ps +ps +ps +ps +ps +Qz +TE +nm +ov +TE +TE +yT +ec +uY +CO +CO +Vl +Vl +CO +SK +ps +ps +ps +"} +(28,1,1) = {" +ps +ps +ps +ps +ps +ps +TE +IK +xz +TE +MO +Fv +pE +uQ +si +CO +fF +UG +CO +ps +ps +ps +ps +"} +(29,1,1) = {" +ps +ps +jp +VW +Ey +Fu +TE +TE +TE +TE +kG +kL +pi +BW +si +CO +CO +CO +CO +VW +Ey +Fu +da +"} +(30,1,1) = {" +ps +ps +Oj +FN +xi +HX +HX +EJ +aS +uY +is +Xg +lY +oJ +Sz +uY +iQ +IR +HX +HX +Kc +da +da +"} +(31,1,1) = {" +ps +ps +Oj +FN +FN +FN +Cn +lc +gH +QG +Wg +fi +jL +AP +gH +QG +fj +RQ +OW +da +da +da +da +"} +(32,1,1) = {" +ps +ps +Sp +jQ +hR +FN +FN +oX +FN +FN +rR +BH +kX +pq +ZU +da +da +Wr +da +da +SW +Av +gR +"} +(33,1,1) = {" +ps +ps +Sp +rz +NY +hq +Xc +uX +sF +LM +LM +Jb +Wx +Zs +LM +LM +rO +Ni +Tx +iw +MQ +CM +gR +"} +(34,1,1) = {" +ps +ps +Sp +RL +cc +yC +Vw +YK +LM +LM +JV +FO +tq +EZ +ED +LM +LM +of +Ay +aw +Hf +IP +gR +"} +(35,1,1) = {" +ps +ps +XZ +FN +LH +uG +ry +LM +LM +Mq +qn +Qw +ux +Pk +qb +pn +LM +LM +ZE +Rt +EH +da +GU +"} +(36,1,1) = {" +ps +ps +ps +FN +FN +vW +TK +LM +wu +js +js +Ir +gA +gF +Ea +Ea +lw +LM +mh +cV +da +da +ps +"} +(37,1,1) = {" +ps +ps +ps +Je +FN +yO +PG +LM +tP +DL +Zo +qr +qP +dw +uC +QM +VG +LM +EB +Km +da +Je +ps +"} +(38,1,1) = {" +ps +ps +ps +Je +FN +Gt +eH +LM +qc +LM +iO +RU +ZZ +US +Lp +LM +qc +LM +iW +yx +da +Je +ps +"} +(39,1,1) = {" +ps +ps +ps +ps +Cm +tc +tc +LM +ps +LM +qc +qc +qc +qc +qc +LM +ps +LM +YM +YM +Ob +ps +ps +"} diff --git a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm index b723b020aa3..b5ab7d6f650 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm @@ -91,12 +91,6 @@ /area/ship/engineering) "aF" = ( /obj/structure/rack, -/obj/item/aiModule/core/full/corp{ - pixel_y = -3 - }, -/obj/item/aiModule/core/freeformcore{ - pixel_y = 1 - }, /obj/item/aiModule/reset/purge{ pixel_y = 5 }, @@ -104,6 +98,7 @@ name = "AI Module Storage"; req_access_txt = "16" }, +/obj/item/borg/upgrade/ai, /turf/open/floor/plasteel/tech/grid, /area/ship/hallway/port) "aG" = ( @@ -252,11 +247,11 @@ }, /obj/structure/closet/crate, /obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "bd" = ( @@ -497,7 +492,7 @@ /turf/open/floor/plating, /area/ship/engineering) "cm" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/machinery/light/small/directional/east, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) @@ -983,9 +978,7 @@ dir = 8 }, /obj/machinery/power/ship_gravity, -/obj/structure/cable{ - icon_state = "0-1" - }, +/obj/structure/cable, /turf/open/floor/plating, /area/ship/engineering) "dE" = ( @@ -1039,14 +1032,28 @@ /area/ship/crew) "dI" = ( /obj/structure/table, -/obj/item/paper_bin, -/obj/item/folder/yellow, +/obj/item/spacecash/bundle/c1000{ + pixel_x = -5; + pixel_y = 9 + }, +/obj/item/spacecash/bundle/c1000, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/folder/yellow{ + pixel_x = 5; + pixel_y = 7 + }, /obj/item/pen/fountain/captain, -/obj/item/stamp/qm, /obj/effect/turf_decal/corner/opaque/nsorange, /obj/effect/turf_decal/corner/opaque/nsorange{ dir = 4 }, +/obj/item/stamp/nanotrasen/ns/captain{ + pixel_x = -7; + pixel_y = 4 + }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "dK" = ( @@ -1089,8 +1096,8 @@ dir = 1; pixel_y = -32 }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/storage/cans/sixbeer, /turf/open/floor/plasteel, /area/ship/crew) @@ -1114,9 +1121,7 @@ /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/science/robotics) "em" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, +/obj/machinery/power/shuttle/engine/fueled/plasma, /turf/open/floor/plating/airless, /area/ship/engineering) "ev" = ( @@ -1205,10 +1210,14 @@ /area/ship/engineering) "fU" = ( /obj/structure/table/glass, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 4 +/obj/item/storage/case/surgery{ + pixel_x = -3; + pixel_y = 6 + }, +/obj/item/storage/firstaid/medical{ + pixel_x = 5; + pixel_y = 3 }, -/obj/item/storage/firstaid/medical, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /turf/open/floor/plasteel/white, @@ -1324,6 +1333,7 @@ pixel_y = 4 }, /obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/obj/item/stamp/nanotrasen/ns, /turf/open/floor/plasteel, /area/ship/cargo) "jr" = ( @@ -1371,7 +1381,8 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "jH" = ( -/obj/machinery/porta_turret/ship/weak{ +/obj/machinery/porta_turret/ship/nt/light{ + id = "delta_grid"; dir = 9 }, /turf/closed/wall/mineral/titanium, @@ -1412,6 +1423,7 @@ /obj/effect/turf_decal/borderfloor{ dir = 1 }, +/obj/item/stamp/nanotrasen, /turf/open/floor/plasteel, /area/ship/medical) "lp" = ( @@ -1839,9 +1851,7 @@ dir = 4; name = "Engine Access" }, -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, +/obj/machinery/atmospherics/components/unary/shuttle/heater, /obj/machinery/door/poddoor{ dir = 4; id = "whiteship_windows" @@ -1873,9 +1883,6 @@ /obj/structure/rack, /obj/item/weldingtool/hugetank/empty, /obj/item/clothing/mask/gas/welding, -/obj/item/slimepotion/slime/sentience/mining, -/obj/item/slimepotion/slime/sentience/mining, -/obj/item/slimepotion/slime/sentience/mining, /obj/machinery/light/small/directional/east, /obj/machinery/button/door{ dir = 4; @@ -2057,18 +2064,14 @@ pixel_x = -24; pixel_y = -5 }, -/obj/machinery/turretid{ - icon_state = "control_kill"; - lethal = 1; - locked = 0; - pixel_y = -28; - req_access = null - }, /obj/structure/table, /obj/machinery/recharger, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/areaeditor/shuttle, +/obj/machinery/turretid/ship{ + pixel_y = -24 + }, +/obj/machinery/fax/nanotrasen{ + pixel_y = 6 + }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "Aw" = ( @@ -2154,9 +2157,7 @@ /turf/open/floor/plating, /area/ship/hallway/central) "Bw" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, +/obj/machinery/power/shuttle/engine/electric, /obj/structure/cable{ icon_state = "0-4" }, @@ -2211,7 +2212,6 @@ "BY" = ( /obj/item/phone, /obj/structure/table, -/obj/item/borg/upgrade/ai, /turf/open/floor/plasteel/tech/grid, /area/ship/hallway/port) "Cg" = ( @@ -2383,9 +2383,7 @@ dir = 4; name = "Engine Access" }, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, +/obj/machinery/power/smes/shuttle/precharged, /obj/structure/cable{ icon_state = "0-8" }, @@ -2530,7 +2528,7 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "Lv" = ( -/obj/machinery/computer/cargo/express/retro{ +/obj/machinery/computer/cargo/retro{ dir = 8 }, /obj/effect/turf_decal/corner/opaque/nsorange, @@ -2671,9 +2669,7 @@ dir = 4; name = "Engine Access" }, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, +/obj/machinery/power/smes/shuttle/precharged, /obj/structure/cable{ icon_state = "0-8" }, @@ -2834,9 +2830,7 @@ /turf/open/floor/plasteel/tech, /area/ship/science/robotics) "TO" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, +/obj/machinery/power/shuttle/engine/electric, /obj/structure/cable{ icon_state = "0-4" }, @@ -2894,7 +2888,8 @@ /turf/open/floor/plasteel/white, /area/ship/science/robotics) "WG" = ( -/obj/machinery/porta_turret/ship/weak{ +/obj/machinery/porta_turret/ship/nt/light{ + id = "delta_grid"; dir = 4 }, /turf/closed/wall/mineral/titanium, @@ -2973,9 +2968,7 @@ dir = 4; name = "Engine Access" }, -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, +/obj/machinery/atmospherics/components/unary/shuttle/heater, /obj/machinery/door/poddoor{ dir = 4; id = "whiteship_windows" @@ -3020,7 +3013,8 @@ /turf/open/floor/plasteel/white, /area/ship/science/robotics) "YZ" = ( -/obj/machinery/porta_turret/ship/weak{ +/obj/machinery/porta_turret/ship/nt/light{ + id = "delta_grid"; dir = 10 }, /turf/closed/wall/mineral/titanium, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm b/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm deleted file mode 100644 index 8314f17e288..00000000000 --- a/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm +++ /dev/null @@ -1,6611 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ae" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/number/one{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull, -/area/ship/external) -"ag" = ( -/obj/effect/decal/fakelattice, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/machinery/power/smes/engineering, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"ah" = ( -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/structure/table/reinforced, -/obj/item/folder/blue, -/obj/item/stamp/captain, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"an" = ( -/turf/open/floor/plating/airless, -/area/ship/external) -"aq" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/effect/turf_decal/siding/yellow{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20; - pixel_y = 11 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"az" = ( -/obj/docking_port/mobile{ - can_move_docking_ports = 1; - dir = 2; - launch_status = 0; - name = "mining ship"; - port_direction = 8; - preferred_direction = 4 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/port) -"aD" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-6" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"aK" = ( -/obj/machinery/atmospherics/pipe/simple/green/hidden, -/obj/machinery/atmospherics/pipe/manifold/purple/hidden/layer1{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"aM" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/binary/valve/digital{ - name = "Engine Oxygen Input 2" - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"aS" = ( -/turf/closed/wall, -/area/ship/engineering/communications) -"bb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/aft) -"bh" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"bk" = ( -/obj/structure/sign/number/nine{ - color = "#00000F"; - dir = 1 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/fore) -"bo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/yellow, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/communications) -"bs" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - pixel_y = 21; - pixel_x = -12 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"bw" = ( -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"bB" = ( -/obj/machinery/door/poddoor/shutters{ - id = "gecko_starboard" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 8; - id = "gecko_starboard_field" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo/starboard) -"bH" = ( -/turf/closed/wall, -/area/ship/maintenance/port) -"bK" = ( -/obj/item/tank/jetpack/carbondioxide, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/mining, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"bL" = ( -/obj/structure/table/reinforced, -/obj/structure/sign/poster/retro/random{ - pixel_y = -32 - }, -/obj/item/storage/fancy/cigarettes/cigars{ - pixel_y = 8 - }, -/obj/item/lighter{ - pixel_x = -8; - pixel_y = 5 - }, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c100, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"bQ" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/layer_manifold, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/central) -"bU" = ( -/turf/closed/wall, -/area/ship/bridge) -"bV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/external) -"ch" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"cj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) -"cr" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/maintenance/starboard) -"cv" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/igniter/incinerator_atmos, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/airless, -/area/ship/engineering/engine) -"cx" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/plasma/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "gecko_thrusters" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"cE" = ( -/obj/structure/table/reinforced, -/obj/item/radio/intercom/wideband/directional/west, -/obj/item/paper_bin, -/obj/item/pen/fourcolor, -/obj/item/folder/blue, -/obj/item/megaphone, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"cG" = ( -/obj/machinery/computer/atmos_alert{ - icon_state = "computer-right" - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"cK" = ( -/obj/machinery/atmospherics/pipe/simple{ - dir = 8 - }, -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"cL" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"cP" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"cX" = ( -/obj/machinery/door/airlock/mining{ - name = "Starboard Cargo Bay" - }, -/obj/machinery/door/poddoor/preopen{ - id = "gecko_starboard_int" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/cargo/starboard) -"dd" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"df" = ( -/obj/effect/turf_decal/industrial/loading, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/port) -"dk" = ( -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"dl" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/fore) -"dp" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"dq" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"du" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "mining"; - name = "salvage technician's locker"; - req_access = list(48) - }, -/obj/item/pickaxe/drill/jackhammer/old, -/obj/effect/decal/cleanable/dirt, -/obj/item/mining_scanner, -/obj/item/storage/belt/utility, -/obj/item/clothing/shoes/workboots/mining, -/obj/item/clothing/under/rank/cargo/miner, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/glasses/meson, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/cargo/port) -"dC" = ( -/obj/machinery/door/poddoor/shutters{ - id = "gecko_port" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo/port) -"dG" = ( -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"dN" = ( -/obj/structure/closet/crate/trashcart, -/obj/item/storage/bag/trash, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/pushbroom, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"dX" = ( -/obj/machinery/door/airlock{ - name = "Crew Quarters" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/crew) -"dZ" = ( -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/turf_decal/ntspaceworks_big/one{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"ef" = ( -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel, -/area/ship/cargo/starboard) -"ej" = ( -/obj/effect/spawner/lootdrop/salvage_50, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/borderfloor, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"ek" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 6 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"el" = ( -/obj/structure/closet{ - anchored = 1; - icon_door = "eng_tool"; - icon_state = "eng"; - name = "tool closet" - }, -/obj/item/storage/toolbox/electrical{ - pixel_y = 5 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_y = -5 - }, -/obj/item/pipe_dispenser, -/obj/item/rcl/pre_loaded, -/obj/item/clothing/head/welding, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"et" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/central) -"eu" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"ez" = ( -/obj/structure/sign/number/six{ - color = "#00000F" - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/fore) -"eA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/communications) -"eC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"eD" = ( -/obj/structure/closet/crate/trashcart/laundry, -/obj/structure/sign/poster/official/random{ - pixel_x = -32 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plastic, -/area/ship/crew/toilet) -"eE" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) -"eG" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 11; - pixel_y = -16 - }, -/turf/open/floor/plating, -/area/ship/hallway/central) -"eI" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull, -/area/ship/external) -"eQ" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"fb" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/bridge) -"fh" = ( -/obj/machinery/door/airlock{ - name = "Restrooms" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/crew/toilet) -"fj" = ( -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/purple/hidden/layer1{ - dir = 8 - }, -/obj/effect/turf_decal/ntspaceworks_big/three{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"fn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"fv" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"fD" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) -"fK" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/stairs, -/area/ship/maintenance/port) -"fP" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"fS" = ( -/turf/closed/wall, -/area/ship/engineering/atmospherics) -"fZ" = ( -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/atmospherics) -"ga" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/structure/curtain/bounty, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"ge" = ( -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/ntspaceworks_big/two{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"gf" = ( -/obj/effect/spawner/lootdrop/salvage_50, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/port) -"gg" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/arrows, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/port) -"gh" = ( -/obj/effect/spawner/lootdrop/salvage_50, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/starboard) -"gr" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"gw" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/starboard) -"gB" = ( -/obj/structure/sign/warning/nosmoking, -/turf/closed/wall, -/area/ship/maintenance/fore) -"gE" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/obj/structure/railing, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/ship/maintenance/fore) -"gF" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/port) -"gN" = ( -/obj/item/tank/jetpack/carbondioxide, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/engine, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"gP" = ( -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull, -/area/ship/external) -"gQ" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"gS" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/bridge) -"hb" = ( -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 10 - }, -/obj/machinery/atmospherics/components/binary/pump, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"hn" = ( -/obj/effect/decal/fakelattice, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/engine) -"hs" = ( -/obj/machinery/atmospherics/components/binary/valve/digital{ - name = "Engine Oxygen Input 1" - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"hu" = ( -/turf/template_noop, -/area/template_noop) -"hy" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew) -"hA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/port) -"hL" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"hT" = ( -/obj/effect/decal/fakelattice, -/obj/machinery/power/smes/engineering, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"hX" = ( -/obj/machinery/atmospherics/components/trinary/mixer{ - dir = 8; - piping_layer = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"if" = ( -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/port) -"ih" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) -"in" = ( -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"is" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"iH" = ( -/obj/machinery/air_sensor/atmos/incinerator_tank{ - id_tag = "gecko_burn_sensor" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ - dir = 4; - filter_types = list("n2","co2","bz","water_vapor","miasma","freon","pluox","tritium","n20","no2","nob"); - id_tag = "incinerator_out" - }, -/turf/open/floor/engine/airless, -/area/ship/engineering/engine) -"iJ" = ( -/obj/effect/spawner/lootdrop/salvage_50, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) -"iK" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"iQ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue, -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"iT" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"iZ" = ( -/obj/item/radio/intercom/wideband/directional/south, -/obj/structure/table/reinforced, -/obj/item/areaeditor/shuttle, -/obj/item/megaphone/command, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"jc" = ( -/obj/structure/table/reinforced, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"jd" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"jn" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/plasma/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "gecko_thrusters" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"jp" = ( -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/borderfloor, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"jt" = ( -/obj/effect/spawner/structure/window/shutters, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"jx" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/yellow, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/communications) -"jC" = ( -/turf/closed/wall, -/area/ship/crew) -"jG" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"jO" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/port) -"jQ" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external) -"jV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/mechanical{ - pixel_y = -5 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/cargo/port) -"kq" = ( -/obj/structure/sign/warning/vacuum{ - pixel_y = 3 - }, -/turf/closed/wall, -/area/ship/cargo/port) -"kr" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/arrows, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/port) -"ks" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/cable, -/obj/machinery/power/ship_gravity, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"ku" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/siding/yellow/corner, -/obj/effect/turf_decal/siding/yellow/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/communications) -"kC" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 5 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"kL" = ( -/obj/structure/chair/stool, -/obj/effect/landmark/start/station_engineer, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"kM" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/engineering/communications) -"kS" = ( -/obj/machinery/rnd/production/protolathe/department/engineering, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ship/storage) -"kT" = ( -/obj/machinery/suit_storage_unit/ce, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"kZ" = ( -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/railing, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/siding/yellow, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"lb" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/structure/curtain/bounty, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"lE" = ( -/obj/effect/turf_decal/box/corners, -/obj/effect/spawner/lootdrop/salvage_50, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/starboard) -"lM" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/ore_box, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/port) -"lS" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/structure/sign/warning/vacuum/external{ - pixel_x = 32 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"lT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/port) -"lU" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 22 - }, -/turf/open/floor/plating, -/area/ship/crew) -"lW" = ( -/obj/item/radio/intercom/directional/south, -/obj/structure/table, -/obj/machinery/cell_charger, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"lY" = ( -/obj/docking_port/stationary{ - dwidth = 10; - width = 20; - height = 15 - }, -/turf/template_noop, -/area/template_noop) -"lZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/cargo/port) -"mb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/starboard) -"mm" = ( -/obj/machinery/door/poddoor/shutters{ - id = "gecko_port" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo/port) -"ms" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"mC" = ( -/obj/structure/curtain, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 1 - }, -/obj/machinery/shower{ - dir = 1 - }, -/obj/effect/turf_decal/corner_techfloor_grid, -/turf/open/floor/plastic, -/area/ship/crew/toilet) -"mL" = ( -/obj/structure/closet/emcloset, -/obj/item/tank/internals/plasmaman/full, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/sign/warning/gasmask{ - pixel_x = 32 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"mM" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 23 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"mN" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/borderfloor, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"mS" = ( -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"mX" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/port) -"nc" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/layer_manifold/visible, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"nm" = ( -/obj/machinery/atmospherics/components/unary/tank/oxygen{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"nq" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"nH" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Waste to Environment"; - piping_layer = 5 - }, -/obj/structure/railing, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"nP" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"oi" = ( -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/port) -"oj" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/engineering/engine) -"ok" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"on" = ( -/turf/open/floor/plating, -/area/ship/engineering/engine) -"os" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer5, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"ov" = ( -/obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/mining_drone{ - desc = "A minebot with the name \"Molly\" painted on the side in careful cursive writing. She may be cute, but she still constantly gets in the way."; - name = "\improper Mo11-E" - }, -/obj/effect/turf_decal/borderfloor, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"oy" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/central) -"oJ" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"oM" = ( -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 5; - pixel_y = -25 - }, -/obj/item/reagent_containers/food/snacks/canned/beans, -/obj/item/reagent_containers/food/snacks/canned/beans, -/obj/item/reagent_containers/food/snacks/canned/beans, -/obj/item/reagent_containers/food/snacks/canned/beans, -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/turf/open/floor/plasteel/patterned, -/area/ship/storage) -"oR" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull, -/area/ship/external) -"oT" = ( -/obj/machinery/atmospherics/pipe/simple/green/hidden, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"oW" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/starboard) -"oZ" = ( -/obj/machinery/autolathe, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/patterned, -/area/ship/storage) -"pe" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo/port) -"ph" = ( -/obj/structure/frame/computer{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"pr" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plastic, -/area/ship/crew/toilet) -"pu" = ( -/obj/machinery/vending/coffee, -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"pD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/landmark/start/chief_engineer, -/obj/effect/turf_decal/siding/yellow/corner, -/obj/effect/turf_decal/siding/yellow{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/communications) -"pH" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"pK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"pO" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/obj/effect/turf_decal/siding/blue, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"pQ" = ( -/obj/effect/landmark/start/station_engineer, -/obj/structure/chair/stool, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"pW" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "eng_secure"; - name = "engine technician's locker"; - req_access = list(11) - }, -/obj/item/storage/belt/utility/full/engi, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/head/hardhat, -/obj/item/clothing/under/rank/engineering/engineer/nt, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/glasses/meson/engine/tray, -/obj/item/tank/internals/emergency_oxygen/engi, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"pX" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"qb" = ( -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/hallway/fore) -"qc" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/patterned, -/area/ship/storage) -"qn" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_y = 12; - pixel_x = -20 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"qp" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"qu" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"qv" = ( -/obj/effect/turf_decal/borderfloor, -/obj/machinery/status_display/shuttle{ - pixel_y = -32 - }, -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"qB" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"qK" = ( -/obj/structure/table, -/obj/item/storage/fancy/cigarettes/cigpack_cannabis{ - pixel_y = 7 - }, -/obj/machinery/firealarm/directional/east, -/obj/structure/railing, -/obj/machinery/button/door{ - dir = 8; - id = "gecko_engine_vent"; - name = "Combustion Chamber Blast Door Control"; - pixel_x = 24; - pixel_y = 6; - sync_doors = 0 - }, -/obj/item/storage/box/matches{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/lighter/greyscale{ - pixel_x = 8; - pixel_y = 3 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"qL" = ( -/obj/machinery/light/directional/north, -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "ce"; - name = "operations chief's locker"; - req_access_txt = "56" - }, -/obj/item/pipe_dispenser, -/obj/item/construction/rcd, -/obj/item/gun/energy/laser, -/obj/item/clothing/under/rank/engineering/chief_engineer, -/obj/item/clothing/shoes/sneakers/brown, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/head/hardhat/white, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/glasses/meson/engine, -/obj/item/tank/internals/emergency_oxygen/engi, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"qO" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/maintenance/fore) -"qT" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/port) -"qY" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 6 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"rd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/fore) -"re" = ( -/obj/effect/spawner/structure/window/shutters, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"rh" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/bridge) -"rl" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/fire{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"ro" = ( -/obj/structure/closet/secure_closet/freezer{ - name = "refrigerator" - }, -/obj/item/storage/cans/sixbeer, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"rs" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"rx" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"rD" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/fore) -"rF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"rH" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/obj/machinery/advanced_airlock_controller{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"rM" = ( -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -25; - pixel_y = -5 - }, -/obj/structure/bed, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/captain, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"rU" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external/glass{ - name = "External Hull Access" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/central) -"sg" = ( -/obj/machinery/door/airlock/mining{ - frequency = 1331; - id_tag = "port_cargo_interior"; - name = "Port Cargo Bay" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/cargo/port) -"sj" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/port) -"ss" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/railing, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, -/area/ship/engineering/engine) -"st" = ( -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/fire{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"sy" = ( -/obj/machinery/door/poddoor/shutters{ - id = "gecko_port" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo/port) -"sJ" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer5{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"sL" = ( -/obj/machinery/door/poddoor{ - dir = 4; - id = "gecko_engine_vent"; - name = "Combustion Chamber Vent" - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"sS" = ( -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/valve/digital/layer2{ - dir = 8; - name = "Engine Fuel Input 1"; - piping_layer = 1 - }, -/obj/effect/turf_decal/ntspaceworks_big/seven{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"sY" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/light_switch{ - dir = 4; - pixel_y = 12; - pixel_x = -20 - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"td" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/radiation/cee{ - dir = 8 - }, -/obj/structure/railing, -/obj/machinery/computer/atmos_control/incinerator{ - dir = 4; - sensors = list("gecko_burn_sensor"="Combustion Chamber") - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"te" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - dir = 4; - id = "gecko_bridge" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"tB" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/port) -"tH" = ( -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"tN" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/starboard) -"tQ" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull, -/area/ship/external) -"tU" = ( -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/starboard) -"tV" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/pipe/layer_manifold/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"ud" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/n2, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer5{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supplymain/visible/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"ue" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/fore) -"ui" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/industrial/fire{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"up" = ( -/obj/machinery/door/poddoor/shutters{ - id = "gecko_port" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 8; - id = "gecko_port_field" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo/port) -"uv" = ( -/obj/structure/sign/warning/vacuum{ - pixel_y = 5 - }, -/turf/closed/wall, -/area/ship/cargo/starboard) -"uz" = ( -/obj/machinery/atmospherics/components/binary/circulator/cold{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"uA" = ( -/obj/machinery/computer/helm/viewscreen/directional/north{ - pixel_y = 18 - }, -/obj/item/folder/documents, -/obj/structure/filingcabinet/double/grey, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"uH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/fore) -"uP" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/light/small/directional/south, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"uW" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull, -/area/ship/external) -"vc" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/closet/crate/medical, -/obj/item/storage/firstaid/regular, -/obj/item/storage/firstaid/medical{ - pixel_x = -5; - pixel_y = -4 - }, -/obj/item/roller, -/obj/item/roller{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/reagent_containers/glass/bottle/formaldehyde{ - pixel_x = 5 - }, -/obj/item/storage/box/bodybags, -/turf/open/floor/plasteel/patterned, -/area/ship/storage) -"vi" = ( -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"vl" = ( -/obj/effect/turf_decal/number/five{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"vo" = ( -/obj/structure/sign/warning, -/turf/closed/wall, -/area/ship/hallway/central) -"vv" = ( -/turf/closed/wall, -/area/ship/crew/toilet) -"vy" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 23 - }, -/turf/open/floor/plating, -/area/ship/cargo/starboard) -"vz" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -12 - }, -/obj/structure/mirror{ - pixel_x = -24 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - pixel_x = 5; - pixel_y = 25 - }, -/turf/open/floor/plastic, -/area/ship/crew/toilet) -"vG" = ( -/obj/effect/spawner/lootdrop/salvage_50, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"vJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"vL" = ( -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) -"vR" = ( -/turf/closed/wall, -/area/ship/hallway/central) -"vS" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/number/two, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull, -/area/ship/external) -"vX" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer5, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supplymain/visible/layer2, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"wh" = ( -/obj/structure/chair/comfy/shuttle, -/obj/effect/landmark/start/assistant, -/obj/machinery/newscaster/directional/north{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"ws" = ( -/obj/machinery/atmospherics/pipe/manifold/dark/hidden/layer5{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/railing, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"wv" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/reagent_dispensers/watertank, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"wy" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external) -"wB" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/starboard) -"wD" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/yellow, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/communications) -"wP" = ( -/obj/effect/spawner/lootdrop/salvage_50, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel, -/area/ship/cargo/port) -"wR" = ( -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) -"wV" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"wY" = ( -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"xd" = ( -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"xh" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/shuttle/engine/electric/premium{ - dir = 4 - }, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external) -"xl" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/central) -"xm" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/ship/cargo/starboard) -"xr" = ( -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/cargo/port) -"xG" = ( -/obj/item/radio/intercom/directional/north, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel, -/area/ship/cargo/port) -"xJ" = ( -/obj/effect/spawner/structure/window/shutters, -/turf/open/floor/plating, -/area/ship/cargo/port) -"xN" = ( -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/siding/yellow, -/obj/structure/railing, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"yc" = ( -/obj/effect/turf_decal/ntspaceworks_big/five{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"yd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/fore) -"ye" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/maintenance/starboard) -"yj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/effect/spawner/structure/window, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"yp" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-9" - }, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/ship/storage) -"yw" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/maintenance/fore) -"yD" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plasteel/stairs, -/area/ship/maintenance/port) -"yG" = ( -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"yM" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plastic, -/area/ship/crew/toilet) -"yQ" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) -"yX" = ( -/obj/structure/sign/number/two, -/turf/closed/wall, -/area/ship/cargo/starboard) -"zc" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/firecloset/full, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"ze" = ( -/obj/structure/sign/number/six{ - color = "#00000F"; - dir = 1 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/fore) -"zl" = ( -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"zn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"zv" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/ntspaceworks_big/six{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"zE" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"zI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/landmark/start/shaft_miner, -/turf/open/floor/plasteel, -/area/ship/cargo/port) -"zM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"zQ" = ( -/obj/docking_port/stationary{ - dwidth = 4; - width = 11; - height = 15; - dir = 2 - }, -/turf/template_noop, -/area/template_noop) -"zS" = ( -/obj/machinery/door/poddoor/shutters{ - id = "gecko_port" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 4; - id = "gecko_port_field" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo/port) -"zW" = ( -/obj/structure/table, -/obj/item/soap/nanotrasen, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plastic, -/area/ship/crew/toilet) -"zZ" = ( -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/green/hidden, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"As" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Au" = ( -/turf/closed/wall, -/area/ship/maintenance/starboard) -"AA" = ( -/obj/machinery/atmospherics/components/unary/tank/toxins{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"AB" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"AD" = ( -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"AG" = ( -/obj/machinery/atmospherics/pipe/manifold/cyan{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"AI" = ( -/obj/machinery/door/airlock/command{ - dir = 4; - name = "Bridge" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/bridge) -"AM" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) -"AN" = ( -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/spawner/lootdrop/salvage_50, -/turf/open/floor/plasteel, -/area/ship/cargo/starboard) -"AW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over, -/obj/structure/marker_beacon, -/turf/open/floor/plating, -/area/ship/external) -"Ba" = ( -/obj/effect/turf_decal/siding/wideplating{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew) -"Bi" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"BB" = ( -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/fire{ - dir = 8 - }, -/obj/structure/railing, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"BF" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew) -"BM" = ( -/obj/effect/spawner/lootdrop/salvage_50, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/cargo/starboard) -"BP" = ( -/obj/effect/turf_decal/industrial/loading{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) -"BU" = ( -/obj/structure/sign/number/nine{ - color = "#00000F" - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/fore) -"BV" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/port) -"Cc" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) -"Ce" = ( -/obj/effect/turf_decal/industrial/fire{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external) -"Ch" = ( -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer5{ - dir = 5 - }, -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Cj" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Cn" = ( -/obj/machinery/door/airlock/public/glass{ - dir = 4; - name = "Fore Hallway" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/fore) -"Ct" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/aft) -"Cv" = ( -/obj/machinery/atmospherics/components/unary/tank/oxygen{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"CE" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"CF" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"CI" = ( -/obj/machinery/computer/helm{ - dir = 8; - icon_state = "computer-left" - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"CL" = ( -/obj/machinery/atmospherics/components/unary/tank/oxygen{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"CN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"CQ" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"CT" = ( -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ship/hallway/aft) -"CU" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/maintenance/port) -"Da" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/computer/helm/viewscreen/directional/north{ - pixel_y = 18 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"De" = ( -/obj/structure/mopbucket, -/obj/item/mop, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Du" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/port) -"Dv" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/railing, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Dw" = ( -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/cargo/starboard) -"DQ" = ( -/obj/machinery/door/poddoor/shutters{ - id = "gecko_starboard" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 4; - id = "gecko_starboard_field" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo/starboard) -"DS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/ntspaceworks_big/eight{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"DT" = ( -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/borderfloor, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Eb" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 6 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Ed" = ( -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/landmark/observer_start, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/hallway/central) -"Eh" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/port) -"Ek" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) -"En" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Ew" = ( -/obj/structure/sign/number/three{ - color = "#00000F"; - dir = 1 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/fore) -"EA" = ( -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"EB" = ( -/obj/machinery/mineral/ore_redemption{ - dir = 1 - }, -/obj/machinery/door/firedoor/heavy, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo/port) -"EE" = ( -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/aft) -"EK" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/starboard) -"EM" = ( -/obj/machinery/holopad/emergency/command, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/siding/yellow, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/communications) -"EO" = ( -/obj/structure/sign/number/four{ - color = "#00000F" - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/fore) -"EQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue, -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Fq" = ( -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Fu" = ( -/obj/effect/turf_decal/industrial/fire{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external) -"FQ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"FZ" = ( -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Gd" = ( -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/hallway/fore) -"Gj" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/port) -"Gm" = ( -/obj/structure/closet/wardrobe, -/obj/machinery/light/small/directional/north, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/clothing/suit/jacket/letterman_nanotrasen, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"Gt" = ( -/obj/machinery/computer/helm/viewscreen/directional/south, -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - dir = 4; - id = "gecko_starboard"; - name = "External Shutter Control"; - pixel_x = -6; - pixel_y = 8; - sync_doors = 0 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/button/shieldwallgen{ - dir = 4; - id = "gecko_starboard_field"; - pixel_x = -4; - pixel_y = -2 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/cargo/starboard) -"Gu" = ( -/obj/machinery/computer/rdconsole{ - dir = 8; - icon_state = "computer-right" - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"GE" = ( -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"GM" = ( -/obj/machinery/atmospherics/components/unary/tank/toxins{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"GN" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 11; - pixel_y = -16 - }, -/turf/open/floor/plating, -/area/ship/cargo/starboard) -"GQ" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/o2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"GR" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/machinery/computer/cryopod/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew) -"GT" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"GX" = ( -/obj/structure/sign/warning, -/turf/closed/wall, -/area/ship/maintenance/fore) -"GZ" = ( -/obj/machinery/door/airlock/mining{ - name = "Starboard Cargo Bay" - }, -/obj/machinery/door/poddoor/preopen{ - id = "gecko_starboard_int" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/cargo/starboard) -"Ha" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/rnd/production/circuit_imprinter, -/turf/open/floor/plasteel/patterned, -/area/ship/storage) -"Hc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"Hg" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/button/door{ - dir = 1; - id = "gecko_thrusters"; - name = "Thruster Blast Door Control"; - pixel_x = -6; - pixel_y = -24; - sync_doors = 0 - }, -/obj/item/instrument/banjo, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Ho" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Hx" = ( -/obj/machinery/button/door{ - id = "gecko_bridge"; - name = "Window Shutters"; - pixel_x = 6; - pixel_y = 24; - sync_doors = 0 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/machinery/modular_computer/console/preset/id, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"HK" = ( -/obj/machinery/light/directional/north, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"HN" = ( -/obj/effect/spawner/lootdrop/salvage_50, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/port) -"HT" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Ia" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/status_display/shuttle{ - pixel_y = 32 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Ig" = ( -/obj/machinery/light/directional/north, -/obj/structure/closet/secure_closet{ - icon_state = "cap"; - name = "\proper captain's locker"; - req_access_txt = "20" - }, -/obj/item/stock_parts/cell/gun, -/obj/item/gun/energy/laser, -/obj/item/clothing/under/nanotrasen/captain/skirt, -/obj/item/clothing/under/nanotrasen/captain, -/obj/item/clothing/suit/armor/nanotrasen/captain, -/obj/item/clothing/head/nanotrasen/captain/peaked, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/glasses/sunglasses, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/item/clothing/head/caphat/parade, -/obj/item/clothing/suit/armor/vest/capcarapace, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Ij" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/mechanical{ - pixel_y = -5 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/cargo/starboard) -"Im" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 5 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20; - pixel_y = 11 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/aft) -"In" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Is" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/loading, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Iu" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/port) -"Iv" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/obj/machinery/atmospherics/pipe/simple/dark/hidden{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "gecko_thrusters" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Iy" = ( -/turf/closed/wall, -/area/ship/hallway/aft) -"Iz" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "eng_secure"; - name = "engine technician's locker"; - req_access = list(11) - }, -/obj/item/storage/belt/utility/full/engi, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/head/hardhat, -/obj/item/clothing/under/rank/engineering/engineer/nt, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/glasses/meson/engine/tray, -/obj/item/tank/internals/emergency_oxygen/engi, -/obj/machinery/button/door{ - id = "gecko_thrusters"; - name = "Thruster Blast Door Control"; - pixel_x = -6; - pixel_y = 24; - sync_doors = 0 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"IK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/aft) -"IQ" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull, -/area/ship/external) -"Jc" = ( -/turf/closed/wall, -/area/ship/maintenance/fore) -"Jj" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 1; - target_pressure = 4500 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/central) -"Jk" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, -/turf/open/floor/plasteel, -/area/ship/cargo/starboard) -"Jn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/fore) -"Jz" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"JD" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"JL" = ( -/obj/structure/closet/firecloset/full, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"JV" = ( -/obj/structure/table/reinforced, -/obj/machinery/fax/nanotrasen, -/obj/structure/sign/poster/retro/random{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"JX" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Helm" - }, -/obj/effect/landmark/start/captain, -/obj/effect/turf_decal/siding/blue/end{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"JY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supplymain/visible/layer2{ - dir = 10 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Kc" = ( -/obj/structure/sign/number/one{ - dir = 1 - }, -/turf/closed/wall, -/area/ship/cargo/port) -"Kd" = ( -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/effect/turf_decal/number/three{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Ki" = ( -/obj/effect/decal/cleanable/dirt, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/port) -"Ko" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave, -/obj/structure/sign/poster/retro/random{ - pixel_x = 32 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"Kv" = ( -/obj/machinery/washing_machine, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plastic, -/area/ship/crew/toilet) -"KA" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"KH" = ( -/turf/closed/wall, -/area/ship/hallway/fore) -"KM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"KQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/external) -"KS" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/central) -"KU" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"KW" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 6 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Lo" = ( -/turf/closed/wall, -/area/ship/cargo/starboard) -"Lq" = ( -/obj/effect/turf_decal/number/zero{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Lr" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/siding/yellow, -/obj/structure/railing, -/turf/open/floor/plasteel/stairs{ - dir = 8 - }, -/area/ship/engineering/engine) -"Lw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"LH" = ( -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 9 - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"LK" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew) -"LL" = ( -/obj/effect/decal/cleanable/dirt, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/starboard) -"LU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/cargo/starboard) -"LY" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/warning/electricshock{ - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"LZ" = ( -/obj/effect/turf_decal/borderfloor, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Mc" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/visible/layer2, -/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped/inverse, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Mf" = ( -/obj/item/tank/jetpack/carbondioxide, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/engine, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"Ml" = ( -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/fire{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Mn" = ( -/obj/structure/table, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/storage/box/lights/mixed, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Mp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/spawner/structure/window/shutters, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Mw" = ( -/obj/machinery/door/airlock/public/glass{ - dir = 4; - name = "Aft Hallway" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/aft) -"Nq" = ( -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Nr" = ( -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 10 - }, -/obj/effect/turf_decal/ntspaceworks_big/four{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Nu" = ( -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/borderfloor, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Nz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/port) -"NC" = ( -/obj/machinery/door/poddoor/shutters{ - id = "gecko_starboard" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo/starboard) -"NJ" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/maintenance/starboard) -"NN" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external) -"NP" = ( -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Oe" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/status_display/shuttle{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/ship/cargo/port) -"Om" = ( -/obj/machinery/atmospherics/components/unary/tank/oxygen{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"On" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer5{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supplymain/visible/layer2, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Ov" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/maintenance/fore) -"Ow" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) -"OB" = ( -/obj/structure/sign/warning/nosmoking, -/turf/closed/wall, -/area/ship/engineering/engine) -"OG" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel, -/area/ship/cargo/port) -"OQ" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external) -"OZ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Pc" = ( -/obj/effect/spawner/structure/window/shutters, -/turf/open/floor/plating, -/area/ship/cargo/starboard) -"Pf" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/structure/sign/poster/official/random{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"Pg" = ( -/obj/machinery/mineral/ore_redemption{ - input_dir = 2; - output_dir = 1 - }, -/obj/machinery/door/firedoor/heavy, -/obj/machinery/door/poddoor/preopen{ - id = "gecko_starboard_int" - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo/starboard) -"Pi" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ship/storage) -"Pk" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/plasma/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "gecko_thrusters" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Pn" = ( -/obj/machinery/atmospherics/components/unary/tank/nitrogen{ - dir = 1 - }, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Pp" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Pr" = ( -/obj/structure/sign/warning/fire, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/engine) -"Px" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"PC" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 22 - }, -/turf/open/floor/plating, -/area/ship/crew/toilet) -"PF" = ( -/turf/closed/wall, -/area/ship/engineering/engine) -"PG" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"PQ" = ( -/obj/machinery/light/directional/east, -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"PV" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "mining"; - name = "salvage technician's locker"; - req_access = list(48) - }, -/obj/item/pickaxe/drill/jackhammer/old, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/mining_scanner, -/obj/item/storage/belt/utility, -/obj/item/clothing/shoes/workboots/mining, -/obj/item/clothing/under/rank/cargo/miner, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/glasses/meson, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/cargo/starboard) -"Qc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/external) -"Qg" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/port) -"Qp" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull, -/area/ship/external) -"Qr" = ( -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 8; - name = "Air to Distro" - }, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer5{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Qv" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/salvage_50, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/starboard) -"Qz" = ( -/obj/machinery/door/airlock/command{ - name = "Communications" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/communications) -"QA" = ( -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"QC" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/aft) -"QD" = ( -/obj/machinery/atmospherics/components/binary/valve/digital/layer2{ - dir = 8; - name = "Engine Fuel Input 2"; - piping_layer = 1 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"QY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/landmark/start/shaft_miner, -/turf/open/floor/plasteel, -/area/ship/cargo/starboard) -"QZ" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Storage Bay" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/storage) -"Rc" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/starboard) -"Rh" = ( -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"Rk" = ( -/obj/machinery/atmospherics/pipe/manifold/green/visible{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Ru" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"RK" = ( -/obj/machinery/computer/cargo/express{ - dir = 4 - }, -/obj/item/radio/intercom/directional/west, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 5; - pixel_y = -25 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"RN" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/space_heater, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"RS" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 1; - piping_layer = 2 - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer5{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Sa" = ( -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) -"Se" = ( -/obj/structure/chair/comfy/shuttle, -/obj/effect/landmark/start/assistant, -/obj/machinery/light_switch{ - pixel_x = 5; - pixel_y = 25 - }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"Sj" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/spawner/lootdrop/salvage_50, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Sl" = ( -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/effect/turf_decal/siding/yellow, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"Sv" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/power/generator{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"Sw" = ( -/obj/structure/window/reinforced/tinted/frosted{ - dir = 1 - }, -/obj/structure/curtain, -/obj/structure/toilet{ - dir = 8 - }, -/turf/open/floor/plastic, -/area/ship/crew/toilet) -"Sx" = ( -/obj/machinery/space_heater, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Sy" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"SE" = ( -/obj/machinery/door/airlock/mining{ - frequency = 1331; - id_tag = "port_cargo_interior"; - name = "Port Cargo Bay" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/cargo/port) -"SK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/cargo/port) -"SM" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"SQ" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"SV" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/borderfloor, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Ta" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supplymain/visible/layer2{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Tb" = ( -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/fire{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Tc" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external) -"Tf" = ( -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"Th" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/port) -"Tl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/aft) -"Tq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external) -"Ts" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/central) -"TA" = ( -/obj/machinery/door/airlock/external/glass{ - name = "External Hull Access" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/central) -"TF" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/port) -"TK" = ( -/obj/machinery/atmospherics/components/unary/tank/toxins{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Ug" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/engine) -"Ux" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/closet/crate{ - name = "emergency space suit crate" - }, -/obj/item/clothing/suit/space/eva, -/obj/item/clothing/suit/space/eva, -/obj/item/clothing/suit/space/eva, -/obj/item/clothing/head/helmet/space/eva, -/obj/item/clothing/head/helmet/space/eva, -/obj/item/clothing/head/helmet/space/eva, -/obj/item/tank/internals/oxygen/red, -/obj/item/tank/internals/oxygen/red, -/obj/item/tank/internals/oxygen/red, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned, -/area/ship/storage) -"UB" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/central) -"UC" = ( -/obj/effect/spawner/lootdrop/salvage_50, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/port) -"UI" = ( -/obj/machinery/door/poddoor/shutters{ - id = "gecko_starboard" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo/starboard) -"UK" = ( -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"UP" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 6 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/siding/yellow, -/obj/effect/turf_decal/radiation, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"UR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/central) -"UV" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"UW" = ( -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Vb" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Vm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/aft) -"Vn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) -"Vq" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo/starboard) -"Vr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/cargo/starboard) -"Vw" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/port) -"Vz" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"VC" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - pixel_x = 11; - dir = 1; - pixel_y = -16 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"VE" = ( -/turf/closed/wall, -/area/ship/cargo/port) -"VK" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/layer_manifold/visible, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"VN" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"VO" = ( -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/obj/effect/landmark/start/assistant, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"VT" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/airless, -/area/ship/engineering/engine) -"VU" = ( -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/ship/hallway/aft) -"VV" = ( -/obj/machinery/computer/helm/viewscreen/directional/north{ - pixel_y = 18 - }, -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - dir = 4; - id = "gecko_port"; - name = "External Shutter Control"; - pixel_x = -6; - pixel_y = 8; - sync_doors = 0 - }, -/obj/machinery/button/shieldwallgen{ - dir = 4; - id = "gecko_port_field"; - pixel_x = -4; - pixel_y = -2 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/cargo/port) -"VZ" = ( -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/effect/spawner/structure/window/plasma/reinforced, -/obj/machinery/door/poddoor{ - dir = 4; - id = "gecko_thrusters" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Wb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/communications) -"Wj" = ( -/obj/effect/turf_decal/box/corners, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/port) -"Wo" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Wq" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"WF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/table, -/obj/item/toy/cards/deck, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"WJ" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/borderfloor, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"WN" = ( -/obj/machinery/atmospherics/components/binary/circulator, -/obj/structure/disposalpipe/segment, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"WR" = ( -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/obj/structure/closet/crate/bin, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"WS" = ( -/obj/machinery/rnd/server, -/obj/machinery/airalarm/directional/south, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"WT" = ( -/turf/closed/wall, -/area/ship/storage) -"WX" = ( -/obj/machinery/atmospherics/components/binary/pump/on/layer4{ - dir = 1; - name = "Waste to Environment"; - piping_layer = 5 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/supplymain/visible/layer2, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Xh" = ( -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/railing, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/siding/yellow, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"Xr" = ( -/obj/item/tank/jetpack/carbondioxide, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/mining, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"Xs" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull, -/area/ship/external) -"Xv" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 5 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"XA" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/siding/yellow, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"XN" = ( -/obj/structure/sign/number/four{ - color = "#00000F"; - dir = 1 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/fore) -"XR" = ( -/obj/machinery/light/directional/north, -/obj/machinery/computer/crew, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"XS" = ( -/obj/machinery/atmospherics/pipe/manifold/purple/hidden/layer1{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/green/hidden, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"XY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo/starboard) -"Yf" = ( -/obj/machinery/door/airlock/engineering{ - dir = 4; - name = "Engine Room" - }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"Yo" = ( -/obj/structure/sign/number/three{ - color = "#00000F" - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/fore) -"Yr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plastic, -/area/ship/crew/toilet) -"Yv" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"YA" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"YC" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"YG" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/warning/electricshock{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"YH" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"YJ" = ( -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"YM" = ( -/obj/item/radio/intercom/directional/north, -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen/fountain/captain, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"YQ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned, -/area/ship/storage) -"YR" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew) -"Zb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/cargo/port) -"Ze" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Zn" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/plasma/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "gecko_thrusters" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Zo" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/industrial/fire{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Zr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/obj/effect/turf_decal/siding/blue, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Zv" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/industrial/loading{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"ZB" = ( -/obj/machinery/computer/apc_control{ - icon_state = "computer-left" - }, -/obj/machinery/status_display/shuttle{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"ZM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hallway/fore) -"ZS" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"ZX" = ( -/obj/structure/table, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew) -"ZY" = ( -/obj/effect/spawner/lootdrop/salvage_50, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo/starboard) - -(1,1,1) = {" -hu -hu -hu -hu -hu -hu -hu -hu -Ug -Ce -Fu -Fu -Ce -Fu -Fu -Fu -Ce -Fu -Ug -hu -hu -hu -hu -hu -hu -hu -hu -"} -(2,1,1) = {" -hu -hu -hu -hu -hu -hu -hu -hu -Ug -jQ -Tq -oj -Pr -sL -Pr -oj -Tc -NN -Ug -hu -hu -hu -hu -hu -hu -hu -hu -"} -(3,1,1) = {" -hu -hu -hu -hu -hu -hu -hu -Ug -Ug -Iv -Ug -Ug -iH -cv -VT -Ug -Ug -VZ -Ug -Ug -hu -hu -hu -hu -hu -hu -hu -"} -(4,1,1) = {" -hu -hu -hu -hu -hu -hu -oj -oj -GM -dG -AA -hn -cK -CF -cK -hn -TK -UW -GM -oj -oj -hu -hu -hu -hu -hu -hu -"} -(5,1,1) = {" -hu -hu -hu -hu -hu -hu -Ug -OZ -Ml -Tb -Tb -ZS -WN -Sv -uz -Bi -Tb -st -Tb -JL -Ug -hu -hu -hu -hu -hu -hu -"} -(6,1,1) = {" -hu -hu -hu -hu -hu -hu -Ug -ok -Nr -fj -ge -dZ -BB -td -Ml -mS -hb -XS -zl -ks -Ug -hu -hu -hu -hu -hu -hu -"} -(7,1,1) = {" -Ki -wy -xh -Ki -hu -hu -Ug -Iz -DS -sS -zv -yc -nH -UP -hX -Cj -SQ -QD -kL -Hg -Ug -hu -hu -bV -xh -OQ -LL -"} -(8,1,1) = {" -tB -Zn -jn -tB -hu -hu -Ug -pW -on -Kd -Lq -vl -wY -xN -FZ -on -on -Fq -Pp -lW -Ug -hu -hu -wB -Pk -cx -wB -"} -(9,1,1) = {" -tB -Zo -Zo -tB -hu -CU -tB -tB -Vb -GE -in -QA -ws -kZ -aK -oT -zZ -LH -wV -wB -wB -NJ -hu -wB -ui -rl -wB -"} -(10,1,1) = {" -tB -dq -YG -tB -tB -tB -UV -qp -jd -zM -pQ -qK -ss -Xh -Lr -el -YH -CN -pH -Ze -In -wB -wB -wB -LY -iK -wB -"} -(11,1,1) = {" -az -hL -qB -fK -fK -yD -As -bH -re -Mp -re -PF -KM -Tf -XA -OB -re -jt -re -Au -HT -cr -ye -cr -CQ -uP -wB -"} -(12,1,1) = {" -tB -Wo -VC -tB -tB -tB -KU -bH -VV -jV -du -re -eu -ag -YA -re -PV -Ij -Gt -Au -En -wB -wB -wB -mM -dk -wB -"} -(13,1,1) = {" -tB -xd -Sx -tB -hu -tB -iT -bH -Oe -zI -OG -re -AB -hT -Sl -re -xm -QY -ef -Au -Sy -wB -hu -wB -AD -dp -wB -"} -(14,1,1) = {" -CU -tB -tB -CU -hu -Vq -GN -Lo -xG -lZ -wP -re -Im -Rh -aq -re -Jk -Vr -AN -Lo -vy -Vq -hu -NJ -wB -wB -NJ -"} -(15,1,1) = {" -hu -hu -hu -hu -hu -Vq -Lo -Lo -xr -Zb -SK -PF -Iy -Yf -PF -PF -Dw -LU -BM -Lo -Lo -Vq -hu -hu -hu -hu -hu -"} -(16,1,1) = {" -hu -hu -hu -hu -hu -tQ -zS -gF -qT -Th -Gj -Kc -fn -EE -ej -yX -cj -gw -EK -Cc -DQ -eI -hu -hu -hu -hu -hu -"} -(17,1,1) = {" -hu -hu -hu -hu -hu -IQ -dC -kr -lT -UC -Qg -sg -Vm -CT -QC -cX -fD -XY -gh -AM -UI -oR -hu -hu -hu -hu -hu -"} -(18,1,1) = {" -hu -hu -hu -hu -hu -uW -dC -BV -Vw -Wj -Du -kq -Sj -bb -ov -uv -ZY -oW -lE -eE -NC -oR -hu -hu -hu -hu -hu -"} -(19,1,1) = {" -hu -hu -hu -hu -hu -ae -dC -gg -jO -gf -df -EB -Is -bb -Zv -Pg -BP -Vn -vL -Ow -NC -vS -zQ -hu -hu -hu -hu -"} -(20,1,1) = {" -hu -hu -hu -hu -hu -uW -sy -Eh -TF -mX -Iu -VE -HK -bb -mN -Lo -wR -tN -Rc -ih -UI -Xs -hu -hu -hu -hu -hu -"} -(21,1,1) = {" -hu -hu -hu -hu -hu -IQ -mm -gg -HN -Nz -sj -SE -Ct -VU -Tl -GZ -Ek -mb -mb -yQ -NC -Xs -hu -hu -hu -hu -hu -"} -(22,1,1) = {" -hu -hu -hu -hu -hu -gP -up -if -lM -oi -hA -Kc -vG -IK -Nu -yX -iJ -Qv -tU -Sa -bB -Qp -hu -hu -hu -hu -hu -"} -(23,1,1) = {" -hu -hu -hu -hu -hu -pe -VE -VE -xJ -xJ -xJ -VE -Iy -Mw -Iy -Lo -Pc -Pc -Pc -Lo -Lo -Vq -hu -hu -hu -hu -hu -"} -(24,1,1) = {" -hu -hu -hu -hu -Ts -UB -vo -Mf -gN -bK -Xr -vR -Da -UR -fP -jC -BF -ZX -LK -Jc -Lw -rD -hu -hu -hu -hu -hu -"} -(25,1,1) = {" -hu -hu -hu -lY -an -rU -oy -Jj -xl -bQ -et -TA -KS -Ed -EA -jC -GR -Ba -hy -Jc -cP -dl -hu -hu -hu -hu -hu -"} -(26,1,1) = {" -hu -hu -hu -hu -qO -Ts -nq -lS -rH -PQ -mL -vR -Ia -UR -KA -jC -Gm -zE -lb -Jc -CE -dl -qO -hu -hu -hu -hu -"} -(27,1,1) = {" -hu -hu -hu -hu -dl -eG -vR -vR -vR -vR -vR -vR -KH -Cn -KH -jC -wh -yG -lb -jC -lU -eC -dl -hu -hu -hu -hu -"} -(28,1,1) = {" -hu -hu -hu -hu -dl -aD -gQ -Ov -vc -qc -oM -WT -pu -yd -WJ -jC -Se -YR -ga -Jc -Ho -qu -dl -hu -hu -hu -hu -"} -(29,1,1) = {" -hu -hu -hu -hu -qO -dl -yp -WT -Pi -Ux -YQ -QZ -ue -Gd -ZM -dX -rF -Hc -Ru -Jc -PG -dl -qO -hu -hu -hu -hu -"} -(30,1,1) = {" -hu -hu -hu -hu -hu -dl -YC -Jc -kS -Ha -oZ -WT -bw -rd -LZ -jC -Ko -jc -ro -Jc -ms -dl -hu -hu -hu -hu -hu -"} -(31,1,1) = {" -hu -hu -hu -hu -hu -dl -nP -Jc -WT -WT -WT -WT -WR -rd -Jz -vv -vv -vv -vv -Jc -PG -dl -hu -hu -hu -hu -hu -"} -(32,1,1) = {" -hu -hu -hu -hu -hu -dl -nP -Jc -JV -cE -RK -aS -Nq -rd -jp -vv -vz -Kv -eD -Jc -PG -dl -hu -hu -hu -hu -hu -"} -(33,1,1) = {" -hu -hu -hu -hu -qO -dl -ch -Jc -XR -pD -eA -Qz -uH -qb -Jn -fh -pr -Yr -yM -Jc -Ho -dl -qO -hu -hu -hu -hu -"} -(34,1,1) = {" -hu -hu -hu -hu -dl -pK -nP -Jc -uA -wD -fv -aS -VO -WF -SV -vv -zW -Sw -mC -vv -PC -wv -dl -hu -hu -hu -hu -"} -(35,1,1) = {" -hu -hu -hu -hu -dl -bh -nP -Jc -ZB -EM -Pf -fS -vJ -yj -is -fS -fS -fS -fS -Jc -Yv -oJ -dl -hu -hu -hu -hu -"} -(36,1,1) = {" -hu -hu -hu -dl -dl -dl -Px -Jc -cG -jx -zn -fS -tV -Qr -Rk -Pn -rx -Rk -nm -Jc -pX -dl -qO -hu -hu -hu -hu -"} -(37,1,1) = {" -hu -hu -hu -KQ -hu -ze -PG -Jc -qL -ku -Wb -fZ -Ta -ud -os -sJ -GQ -nc -Ch -Jc -nP -BU -hu -hu -hu -hu -hu -"} -(38,1,1) = {" -hu -hu -hu -KQ -hu -XN -kM -aS -kT -bo -tH -fS -JY -VK -Mc -On -WX -vX -RS -Jc -nP -Yo -hu -hu -hu -hu -hu -"} -(39,1,1) = {" -hu -hu -hu -KQ -hu -Ew -CE -bU -bU -AI -bU -bU -fS -Jc -Jc -GX -gB -yw -Jc -Jc -PG -EO -hu -hu -hu -hu -hu -"} -(40,1,1) = {" -hu -hu -hu -Qc -hu -bk -eQ -bU -rM -Zr -WS -bU -sY -RN -Mn -dd -Dv -gE -qn -cL -GT -ez -hu -hu -hu -hu -hu -"} -(41,1,1) = {" -hu -hu -hu -Qc -hu -qO -dl -bU -Ig -pO -bL -bU -jG -SM -SM -ek -FQ -Wq -rs -JD -qO -qO -hu -hu -hu -hu -hu -"} -(42,1,1) = {" -hu -hu -hu -Qc -hu -hu -rh -bU -ah -EQ -qv -bU -bs -vi -NP -UK -NP -De -NP -VN -dl -hu -hu -hu -hu -hu -hu -"} -(43,1,1) = {" -hu -hu -hu -Qc -hu -hu -fb -bU -Hx -iQ -DT -bU -zc -Eb -hs -AG -aM -Xv -CE -dN -rD -hu -hu -hu -hu -hu -hu -"} -(44,1,1) = {" -hu -hu -hu -KQ -hu -hu -rh -bU -YM -JX -iZ -bU -qY -AG -kC -Vz -KW -AG -kC -YJ -dl -hu -hu -hu -hu -hu -hu -"} -(45,1,1) = {" -hu -hu -hu -KQ -hu -hu -gS -rh -ph -CI -Gu -rh -CL -gr -Om -vi -Cv -gr -Om -qO -qO -hu -hu -hu -hu -hu -hu -"} -(46,1,1) = {" -hu -hu -hu -AW -hu -hu -hu -gS -te -te -te -rh -dl -dl -dl -dl -dl -dl -dl -qO -hu -hu -hu -hu -hu -hu -hu -"} diff --git a/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm similarity index 52% rename from _maps/shuttles/nanotrasen/nanotrasen_osprey.dmm rename to _maps/shuttles/nanotrasen/nanotrasen_harrier.dmm index 774f1d57cc4..ed0261ad72b 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm @@ -1,1148 +1,1076 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ac" = ( -/obj/structure/chair/comfy/orange/directional/north, -/obj/structure/closet/secure_closet/wall/directional/west{ - icon_door = "sec_wall"; - icon_state = "sec_wall"; - name = "gun locker"; - req_access_txt = "19" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" +"ad" = ( +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 }, -/obj/item/storage/backpack/duffelbag/sec, -/obj/item/storage/backpack/messenger/sec, -/obj/item/storage/backpack/satchel/sec, -/obj/item/storage/backpack/security, -/obj/item/clothing/accessory/armband, -/obj/item/clothing/suit/armor/vest, -/obj/item/storage/box/handcuffs, -/obj/item/storage/box/deputy, -/obj/item/stock_parts/cell/gun, -/obj/item/stock_parts/cell/gun/mini, -/obj/item/stock_parts/cell/gun/mini, -/obj/item/ammo_box/magazine/co9mm, -/obj/item/ammo_box/magazine/co9mm, -/obj/item/gun/energy/e_gun, -/obj/item/gun/ballistic/automatic/pistol/commander/no_mag, -/obj/item/gun/energy/e_gun/mini, -/obj/item/gun/energy/e_gun/mini, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"aj" = ( -/obj/structure/disposalpipe/segment{ +/obj/effect/turf_decal/corner/opaque/white{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"ak" = ( -/obj/effect/turf_decal/corner/opaque/ntblue{ +/obj/structure/disposalpipe/segment{ dir = 8 }, /turf/open/floor/plasteel, -/area/ship/hallway/central) -"ao" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 4; - icon_state = "passive_vent_map-2"; - piping_layer = 1 +/area/ship/crew/canteen) +"ai" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/turf/open/floor/engine/hull, -/area/ship/external) -"ap" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/wood, +/area/ship/crew) +"aq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/structure/cable{ icon_state = "1-2" }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"av" = ( /obj/structure/cable{ - icon_state = "2-8" + icon_state = "5-10" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"ar" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/structure/cable{ + icon_state = "1-10" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "2-8" + dir = 4 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"aE" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo/office) -"aI" = ( -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"aL" = ( /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/machinery/computer/cargo/express{ +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"aA" = ( +/obj/docking_port/stationary{ + dwidth = 15; + height = 15; + width = 30 + }, +/turf/template_noop, +/area/template_noop) +"aC" = ( +/obj/structure/fluff/hedge, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 1 +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/canteen) +"aE" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/poddoor{ + dir = 4; + id = "harrier_disposals"; + name = "Disposals Blast Door" }, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"aW" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "harrier_disposalfield"; + locked = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"aY" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + icon_state = "0-4" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/turf/open/floor/plating, +/area/ship/engineering) +"aH" = ( +/obj/structure/fluff/hedge, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/end, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/canteen) +"aL" = ( +/obj/structure/sign/warning/docking{ + pixel_y = 9 }, -/obj/structure/cable{ - icon_state = "4-8" +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/port) +"aO" = ( +/obj/structure/railing{ + dir = 8 }, -/obj/structure/sign/poster/official/get_your_legs{ - pixel_y = 32 +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 }, -/obj/machinery/camera/autoname{ - dir = 6 +/obj/structure/bed/dogbed, +/mob/living/simple_animal/pet/dog/corgi/puppy{ + name = "Louis Tennant" }, -/obj/structure/railing, -/turf/open/floor/plasteel/stairs{ +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"aR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/area/ship/hallway/central) -"bb" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/sign/poster/retro/we_watch{ - pixel_x = 32 - }, -/obj/machinery/camera/autoname{ +/obj/machinery/light/directional/north, +/obj/structure/disposalpipe/segment{ dir = 8 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/mono, /area/ship/hallway/central) -"bg" = ( -/obj/effect/turf_decal/box/corners, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +"aX" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"ba" = ( +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"bc" = ( +/obj/machinery/door/airlock/mining{ + name = "Cargo Office"; + req_access_txt = "31" + }, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"bh" = ( -/obj/effect/turf_decal/corner/opaque/green{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"bl" = ( -/obj/machinery/door/airlock/external/glass, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/borderfloor, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"bs" = ( -/obj/structure/table, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"bw" = ( -/obj/effect/turf_decal/industrial/warning/corner{ +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/science/ai_chamber) -"bA" = ( -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/borderfloor{ + dir = 1 }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"bF" = ( /turf/open/floor/plasteel, /area/ship/cargo) -"bG" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "osprey_packagesort" +"bd" = ( +/obj/structure/window/reinforced{ + dir = 8 }, -/obj/machinery/light/directional/south, -/turf/open/floor/plating, -/area/ship/cargo/office) -"bH" = ( -/obj/machinery/autolathe, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 4 +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/yellow{ +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/structure/sign/poster/official/safety_eye_protection{ - pixel_y = 32 +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/janitor) +"be" = ( +/obj/structure/sign/directions/security{ + dir = 8 }, -/turf/open/floor/plasteel/patterned/grid, +/obj/structure/sign/directions/engineering{ + dir = 8; + pixel_y = 6 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/central) +"bg" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/plasteel, /area/ship/engineering) -"bN" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 +"bi" = ( +/obj/structure/cable{ + icon_state = "0-4" }, -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/machinery/power/terminal{ dir = 8 }, /obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/ship/cargo) -"bT" = ( -/obj/structure/spider/stickyweb, -/obj/effect/spawner/lootdrop/maintenance, -/obj/item/toy/figure/cargotech, /turf/open/floor/plating, -/area/ship/cargo) -"cd" = ( -/obj/machinery/door/airlock/medical{ - name = "Infirmary"; - req_access_txt = "5"; - dir = 4 +/area/ship/engineering/atmospherics) +"bk" = ( +/obj/effect/turf_decal/atmos/air, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + external_pressure_bound = 13000 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/turf/open/floor/engine/air, +/area/ship/engineering/atmospherics) +"bn" = ( +/obj/structure/cable{ + icon_state = "1-8" }, -/obj/effect/turf_decal/borderfloor{ - dir = 8 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/arrow_ccw{ + dir = 1 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"bp" = ( +/obj/machinery/firealarm/directional/south, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/trimline/opaque/blue/line, +/obj/structure/chair/handrail{ + dir = 1 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/white, /area/ship/medical) -"ce" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +"bu" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"cg" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -5; - pixel_y = -24 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"ch" = ( -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"bv" = ( +/obj/machinery/photocopier, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"bH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/corner, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"bJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 + dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4; + sortTypes = list(17,18,19,20,21); + tag = "Kitchen" }, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"bK" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "0-2" }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"ci" = ( +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer5, +/obj/machinery/power/smes/engineering, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"bL" = ( /obj/structure/reagent_dispensers/fueltank, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/patterned/grid, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/tech, /area/ship/engineering) -"co" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/science) -"cp" = ( -/obj/machinery/atmospherics/pipe/simple/dark/visible{ - dir = 10 +"bM" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 1 }, -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 1; - icon_state = "pump_map-5"; - piping_layer = 5 +/turf/open/floor/plasteel, +/area/ship/storage/eva) +"bR" = ( +/obj/effect/turf_decal/ntspaceworks_big/one{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ - dir = 9 +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 0 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"cq" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen) -"ct" = ( -/obj/structure/closet/secure_closet{ - icon_state = "science"; - name = "scientist's locker"; - req_access_txt = "47" +/obj/structure/chair/handrail{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/mauve{ - dir = 4 +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"bU" = ( +/obj/structure/chair/sofa/blue/corpo/right, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/mauve{ +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"bW" = ( +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/item/storage/backpack/duffelbag, -/obj/item/storage/backpack/messenger/tox, -/obj/item/storage/backpack/satchel/tox, -/obj/item/storage/backpack/science, -/obj/item/clothing/shoes/sneakers/white, -/obj/item/clothing/under/rank/rnd/scientist/skirt, -/obj/item/clothing/under/rank/rnd/scientist, -/obj/item/clothing/suit/toggle/labcoat/science, -/obj/item/clothing/glasses/science, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/science) -"cD" = ( -/obj/machinery/door/window/brigdoor/westleft{ - name = "AI Core Access"; - req_one_access_txt = "16" +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/structure/rack, -/obj/item/aicard, -/obj/item/borg/upgrade/ai, -/obj/item/mmi/posibrain, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"cI" = ( -/turf/open/floor/plasteel/dark, -/area/ship/science/ai_chamber) -"cJ" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 8 +/obj/structure/cable{ + icon_state = "2-8" }, -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"cK" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/wood, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"bX" = ( +/obj/machinery/vending/boozeomat, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/crew/canteen) -"cL" = ( -/obj/machinery/airalarm/directional/west, +"cb" = ( +/obj/machinery/photocopier, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/wood, +/area/ship/crew/law_office) +"cc" = ( +/obj/structure/chair/sofa/blue/corpo/left/directional/west, /obj/effect/turf_decal/siding/wood{ - dir = 9 + dir = 6 }, +/obj/item/radio/intercom/directional/south, /turf/open/floor/wood, -/area/ship/crew/canteen) -"cN" = ( -/obj/machinery/mineral/unloading_machine{ - input_dir = 2; - output_dir = 1 +/area/ship/crew) +"cf" = ( +/obj/structure/sign/departments/engineering, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/port) +"cg" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 }, -/turf/open/floor/plating, -/area/ship/cargo) -"cT" = ( -/obj/machinery/atmospherics/pipe/simple/dark/visible{ - dir = 5 +/obj/structure/cable{ + icon_state = "0-8" }, -/obj/structure/window/plasma/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ - dir = 6 +/turf/open/floor/plating, +/area/ship/engineering) +"ch" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"cY" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/turf_decal/corner/transparent/neutral{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"cl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 + dir = 6 }, -/obj/structure/cable{ - icon_state = "2-8" +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"cm" = ( +/obj/machinery/door/airlock/external, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/port) +"co" = ( +/obj/structure/chair/comfy/blue/corpo{ + dir = 1 }, -/obj/machinery/light_switch{ - pixel_x = 20; - dir = 8; - pixel_y = 0 +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"dm" = ( -/obj/effect/turf_decal/industrial/stand_clear, +/turf/open/floor/wood, +/area/ship/crew/law_office) +"cp" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/cryo) +"ct" = ( /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"do" = ( -/obj/machinery/door/airlock/highsecurity{ - name = "AI Chamber"; - req_access_txt = "24" - }, -/obj/structure/disposalpipe/segment{ - dir = 2 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/poddoor/preopen{ - id = "osprey_disposals_preopen" +/turf/open/floor/plasteel/mono, +/area/ship/storage/eva) +"cx" = ( +/obj/structure/chair/sofa/blue/corpo/left, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 1 }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/ai_chamber) -"dr" = ( -/obj/effect/turf_decal/industrial/warning/corner{ +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"cy" = ( +/obj/machinery/atmospherics/pipe/manifold/purple/visible, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/machinery/turretid{ - pixel_y = -28; - req_access = null; - req_access_txt = "16" +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"cz" = ( +/obj/machinery/vending/coffee, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"cB" = ( +/turf/closed/wall/mineral/titanium/interior, +/area/ship/hallway/starboard) +"cE" = ( +/obj/structure/table, +/obj/item/storage/box/cups{ + pixel_y = 6 }, -/obj/machinery/light/directional/south, +/obj/machinery/airalarm/directional/west, /turf/open/floor/plasteel/dark, -/area/ship/science/ai_chamber) -"dw" = ( -/obj/machinery/cryopod{ - dir = 1 +/area/ship/bridge) +"cF" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 8 }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/cryo) -"dx" = ( +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"cH" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/light/directional/south, /obj/structure/disposalpipe/segment{ - dir = 5 + dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"cN" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/borderfloor{ dir = 4 }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/port) +"cS" = ( /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/toilet) -"dE" = ( -/obj/structure/sign/departments/medbay/alt, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/medical) -"dJ" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"cW" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/bar, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/mono, /area/ship/hallway/central) -"dK" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 +"cY" = ( +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/siding/wideplating/dark, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, +/area/ship/bridge) +"da" = ( +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"dN" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/caution, +/obj/structure/chair/handrail{ dir = 8 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"dP" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/fancy, -/obj/item/bedsheet/captain, -/turf/open/floor/carpet/royalblue, -/area/ship/bridge) -"dS" = ( -/obj/structure/cable{ - icon_state = "1-8" +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/port) +"dd" = ( +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -20 }, -/obj/structure/window/plasma/reinforced{ - dir = 4 +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 }, -/obj/machinery/camera/autoname{ - dir = 1 +/turf/open/floor/plasteel/freezer, +/area/ship/crew/toilet) +"de" = ( +/obj/machinery/advanced_airlock_controller{ + pixel_x = -24 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"ea" = ( -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ dir = 1 }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/crew/cryo) -"eh" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters{ - id = "ospreycargo" - }, -/obj/machinery/door/firedoor/window, -/turf/open/floor/plating, -/area/ship/cargo/office) -"ej" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/effect/turf_decal/borderfloor{ dir = 4 }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/port) +"di" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/structure/curtain, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"dj" = ( +/obj/structure/table/optable, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"do" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/effect/turf_decal/corner/opaque/solgovgold{ - dir = 9 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"ep" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"dr" = ( +/obj/structure/closet/emcloset/wall/directional/west, +/turf/open/floor/plasteel, +/area/ship/bridge) +"dt" = ( +/obj/structure/sign/departments/restroom, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew) +"dv" = ( +/obj/structure/window/reinforced{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ dir = 4 }, -/obj/structure/cable{ - icon_state = "2-8" +/turf/open/floor/plasteel/dark, +/area/ship/security) +"dz" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = -6 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/item/pen/fountain/captain{ + pixel_x = -6 }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"ez" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/mauve, -/obj/effect/turf_decal/corner/opaque/mauve{ - dir = 8 +/obj/item/stamp/nanotrasen/captain{ + pixel_x = 6 }, +/turf/open/floor/carpet/royalblue, +/area/ship/bridge) +"dA" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/port) +"dB" = ( /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel/white, -/area/ship/science) -"eB" = ( -/obj/machinery/vending/cola/random, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/purple{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"eD" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/fancy, -/obj/item/bedsheet/head_of_personnel, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/carpet/blue, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono/dark, /area/ship/bridge) -"eE" = ( -/obj/machinery/power/terminal{ - dir = 8 +"dF" = ( +/obj/effect/turf_decal/industrial/loading{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"dG" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/storage/eva) +"dI" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Custodial Closet"; + req_access_txt = "26" }, /obj/structure/cable{ - icon_state = "0-4" + icon_state = "4-8" }, -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/engineering) -"eG" = ( -/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"eP" = ( /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/turf_decal/borderfloor{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/turf/open/floor/plasteel, +/area/ship/crew/janitor) +"dJ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_x = -32 }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"dK" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 +/obj/structure/sign/poster/official/safety_internals{ + pixel_x = -32 }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"eT" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 4; - sortTypes = list(5); - tag = "CE Office" +/obj/effect/turf_decal/borderfloor{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/port) +"dL" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/obj/structure/sign/poster/official/moth/hardhats{ - pixel_y = -32 +/obj/structure/chair/handrail{ + dir = 8 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"eX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/port) +"dN" = ( +/obj/structure/railing{ + dir = 10; + layer = 3.1 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"eZ" = ( -/obj/structure/sign/warning/vacuum/external, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/science/ai_chamber) -"fa" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/chair/handrail{ + dir = 8 }, /turf/open/floor/plasteel, -/area/ship/cargo) -"fb" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/structure/curtain/bounty, -/obj/structure/sign/poster/official/ue_no{ - pixel_x = -32 +/area/ship/storage/eva) +"dO" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"fc" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"fg" = ( -/obj/structure/disposalpipe/segment{ +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/computer/atmos_control/incinerator{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 +/turf/open/floor/plating, +/area/ship/engineering/engine) +"dV" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/hallway/starboard) +"dX" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"ea" = ( +/obj/structure/closet/secure_closet/engineering_welding, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"ec" = ( +/obj/structure/table/reinforced, +/obj/machinery/computer/secure_data/laptop{ + dir = 4; + pixel_y = 6 }, /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"fh" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/trash/can/food/peaches/maint, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/ship/cargo) -"fj" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"fn" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/item/radio/intercom/directional/north{ - pixel_y = 22 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"fF" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high/plus, -/obj/effect/turf_decal/corner/opaque/mauve{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/mauve{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" +/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ + dir = 8 }, -/obj/item/assembly/flash/handheld{ - pixel_x = 5 +/obj/structure/window/reinforced{ + dir = 8 }, -/obj/item/assembly/flash/handheld{ - pixel_x = -5 +/turf/open/floor/plasteel/dark, +/area/ship/security) +"eg" = ( +/obj/machinery/computer/helm/viewscreen/directional/south, +/turf/open/floor/carpet/executive, +/area/ship/crew/law_office) +"ei" = ( +/obj/machinery/computer/security{ + dir = 4 }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/science) -"fJ" = ( -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ dir = 8 }, -/turf/open/floor/engine/hull, -/area/ship/external) -"fU" = ( -/obj/machinery/button/door{ - dir = 1; - id = "osprey_atmos"; - pixel_y = -25 - }, -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/turf_decal/trimline/opaque/vired/corner{ dir = 4 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"ga" = ( -/obj/structure/table, -/obj/structure/disposalpipe/segment{ +/obj/machinery/camera, +/obj/structure/window/reinforced{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/turf/open/floor/plasteel/dark, +/area/ship/security) +"ej" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"er" = ( /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-8" }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"gc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/light/small/directional/south, /obj/structure/disposalpipe/segment{ - dir = 2 + dir = 9 }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 +/turf/open/floor/wood, +/area/ship/crew) +"es" = ( +/obj/structure/closet/secure_closet/engineering_electrical, +/obj/structure/cable{ + icon_state = "1-8" }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"gg" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"ew" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"gi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/flasher{ + id = "Cell 1"; + pixel_x = -21 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"ex" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"go" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/visible{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/sign/poster/contraband/tools{ - pixel_y = 32 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/airalarm/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/obj/structure/reagent_dispensers/foamtank, -/turf/open/floor/plasteel/patterned/grid, +/turf/open/floor/plasteel/patterned, /area/ship/engineering/atmospherics) -"gt" = ( -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 +"ez" = ( +/obj/structure/table, +/obj/item/lighter{ + pixel_x = 6; + pixel_y = 1 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 +/obj/item/storage/fancy/cigarettes/cigpack_cannabis{ + pixel_x = -3; + pixel_y = 11 }, -/obj/effect/landmark/start/cook, -/obj/machinery/holopad/emergency/bar, /turf/open/floor/plasteel, -/area/ship/crew/canteen) -"gw" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"gy" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/area/ship/engineering) +"eA" = ( +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable{ - icon_state = "1-4" + icon_state = "0-2" }, +/turf/open/floor/circuit, +/area/ship/science/ai_chamber) +"eG" = ( /obj/structure/cable{ - icon_state = "1-8" + icon_state = "4-8" }, -/obj/effect/turf_decal/industrial/shutoff, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"gB" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/obj/machinery/door/airlock/engineering/glass{ + dir = 4; + name = "Engineering"; + req_access_txt = "10" }, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"gC" = ( -/obj/machinery/door/poddoor/shutters{ - id = "osprey_atmos"; - name = "Atmospherics Storage"; - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"gE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"gH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"gJ" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/advanced_airlock_controller{ - pixel_x = -24 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"gM" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters{ - id = "ospreywindows" +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"gT" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/bridge) -"gV" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/cryo) -"gW" = ( /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/borderfloor{ dir = 4 }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"eJ" = ( /obj/structure/cable{ - icon_state = "1-8" + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, /obj/structure/cable{ icon_state = "2-8" }, -/obj/effect/turf_decal/industrial/shutoff, -/turf/open/floor/plasteel, -/area/ship/cargo) -"gX" = ( -/obj/machinery/power/terminal, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ship/engineering) -"hc" = ( -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"hd" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"hg" = ( -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/arrow_cw{ dir = 1 }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"eQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech/techmaint, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, /area/ship/hallway/central) -"hh" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/science) -"hj" = ( -/obj/machinery/mass_driver{ - dir = 8; - id = "osprey_disposals" +"eX" = ( +/obj/machinery/door/airlock/medical{ + dir = 4; + req_access_txt = "45" }, -/obj/item/reagent_containers/food/snacks/deadmouse, -/obj/structure/window/reinforced{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"hl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/lightgrey{ - dir = 9 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"hm" = ( -/obj/machinery/holopad/emergency/atmos, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"hr" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"hs" = ( -/obj/structure/sign/number/eight{ - color = "Black"; - dir = 1 +/turf/open/floor/plasteel/white, +/area/ship/medical) +"eY" = ( +/turf/open/floor/carpet/executive, +/area/ship/crew/law_office) +"eZ" = ( +/obj/structure/noticeboard{ + name = "Supply Requests Board"; + pixel_y = 25 }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/science) -"ht" = ( -/obj/structure/closet/secure_closet{ - icon_state = "cap"; - name = "\proper captain's locker"; - req_access_txt = "20" +/obj/structure/table/reinforced, +/obj/machinery/door/window/eastright, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "harriercargo" }, -/obj/item/storage/backpack/duffelbag/captain, -/obj/item/storage/backpack/messenger/com, -/obj/item/storage/backpack/satchel/cap, -/obj/item/storage/backpack/captain, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/under/nanotrasen/captain/skirt, -/obj/item/clothing/under/nanotrasen/captain, -/obj/item/clothing/suit/armor/nanotrasen/captain, -/obj/item/clothing/suit/armor/nanotrasen/captain/parade, -/obj/item/clothing/glasses/sunglasses, -/obj/item/clothing/head/caphat/nt, -/obj/item/storage/belt/sabre, -/obj/item/assembly/flash/handheld, -/obj/item/disk/nuclear/fake{ - desc = "An ICW-era self-destruct authorization disk. The codes on this are long past obsolete, but it's still a flagrant violation of company policy."; - name = "outdated nuclear authentication disk" - }, -/obj/item/clothing/head/caphat/parade, -/obj/item/clothing/suit/armor/vest/capcarapace, -/obj/item/clothing/gloves/color/captain/nt, -/turf/open/floor/carpet/royalblue, -/area/ship/bridge) -"hv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/dorm) -"hw" = ( -/obj/machinery/computer/rdconsole/core, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"hy" = ( -/obj/structure/chair, /obj/structure/disposalpipe/segment{ dir = 8 }, +/turf/open/floor/plating, +/area/ship/cargo) +"fb" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/structure/disposalpipe/segment, +/obj/structure/closet/emcloset/wall/directional/west, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"fc" = ( +/obj/structure/table/wood/reinforced, +/obj/machinery/fax/nanotrasen, +/obj/machinery/light/small/directional/east, +/obj/machinery/button/door{ + dir = 1; + id = "harrieriaa"; + name = "window shutter"; + pixel_y = -22 + }, +/turf/open/floor/wood, +/area/ship/crew/law_office) +"fd" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/instrument/guitar{ + pixel_y = -2 + }, /turf/open/floor/plasteel, -/area/ship/hallway/central) -"hD" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 4 +/area/ship/engineering) +"fh" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/obj/structure/window/reinforced{ +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/machinery/door/window/eastright, -/obj/structure/disposalpipe/trunk, -/obj/structure/window/reinforced{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/structure/window/reinforced, -/turf/open/floor/plating, -/area/ship/cargo) -"hG" = ( -/turf/open/floor/plasteel/white, -/area/ship/science) -"hL" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - dir = 4 +/obj/effect/turf_decal/industrial/warning, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engine) +"fi" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage/eva) +"fl" = ( +/obj/structure/chair/sofa/blue/corpo/left/directional/north, +/turf/open/floor/plasteel, /area/ship/hallway/central) -"hQ" = ( +"fn" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 12; + pixel_y = 0 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"fr" = ( /obj/effect/turf_decal/industrial/warning{ - dir = 8 + dir = 1 }, -/obj/docking_port/mobile{ - dir = 4; - launch_status = 0; - preferred_direction = 4; - port_direction = 2 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 }, -/turf/open/floor/engine/hull, -/area/ship/external) -"hU" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/chair/handrail{ + dir = 8 }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/starboard) +"fu" = ( +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1{ + dir = 8 }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/window/plasma/reinforced/spawner, -/obj/machinery/door/poddoor{ - id = "osprey_thruster_starboard"; - name = "Thruster Blast Door"; +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"fv" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/medical) +"fw" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"ie" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/landmark/observer_start, -/obj/structure/disposalpipe/segment{ - dir = 2 +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"fz" = ( +/obj/structure/sign/directions/engineering{ + dir = 8; + pixel_y = 6 }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"ik" = ( -/obj/machinery/portable_atmospherics/scrubber/huge/movable, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/atmospherics) -"il" = ( -/obj/structure/disposalpipe/segment{ +/obj/structure/sign/directions/command{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/central) +"fH" = ( +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 10 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"in" = ( +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"fI" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/starboard) +"fO" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, @@ -1152,2862 +1080,2776 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"ip" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"fR" = ( +/obj/structure/filingcabinet/chestdrawer{ + density = 0; + dir = 4; + pixel_x = -6 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1; - sortTypes = list(4); - tag = "Engineering" +/turf/open/floor/plasteel/white, +/area/ship/medical) +"fT" = ( +/turf/open/floor/plasteel/white, +/area/ship/medical) +"fX" = ( +/obj/structure/bodycontainer/morgue{ + dir = 2 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"fZ" = ( +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 0 }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/carpet/blue, +/area/ship/crew/dorm) +"gf" = ( /obj/structure/cable{ - icon_state = "1-8" + icon_state = "1-4" }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"ir" = ( -/obj/machinery/newscaster/directional/north{ - pixel_y = 32 +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/obj/machinery/camera/autoname, -/obj/machinery/jukebox, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 9 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"it" = ( -/obj/machinery/sleeper{ +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engine) +"gg" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/lime{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/lime{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"iv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/machinery/light_switch{ + pixel_x = -5; + pixel_y = 20 }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/dorm) -"iw" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/cargo) -"iA" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, -/obj/effect/turf_decal/corner/opaque/ntblue{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/ntblue{ - dir = 1 +/turf/open/floor/plasteel, +/area/ship/crew) +"gk" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/security) +"gm" = ( +/obj/structure/chair/comfy/blue/corpo/directional/west, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/carpet/blue, +/area/ship/crew/dorm) +"gn" = ( +/obj/structure/AIcore, +/obj/item/radio/intercom/wideband/directional/west, +/obj/item/radio/intercom/directional/north{ + freqlock = 1; + frequency = 1351 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/item/radio/intercom/directional/south, +/turf/open/floor/circuit, +/area/ship/science/ai_chamber) +"go" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 5 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/trimline/opaque/ntblue/arrow_cw{ + dir = 8 }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"iD" = ( -/obj/structure/table/reinforced, -/obj/machinery/reagentgrinder{ - pixel_y = 8 +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner{ + dir = 4 }, +/turf/open/floor/plasteel/patterned, +/area/ship/storage/eva) +"gq" = ( /obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, /obj/effect/turf_decal/corner/opaque/white{ dir = 8 }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel, /area/ship/crew/canteen) -"iI" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/cargo/office) -"iM" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 4; - pixel_y = 9 - }, -/obj/item/stack/cable_coil/cyan{ - pixel_x = -3 - }, -/obj/item/stack/cable_coil/cyan{ - pixel_x = 5 +"gA" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/structure/cable{ + icon_state = "2-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel, +/area/ship/crew) +"gC" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/item/storage/box/stockparts/basic, -/turf/open/floor/plasteel/white, -/area/ship/science) -"iO" = ( -/obj/structure/bed, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/dorms, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"iQ" = ( -/obj/structure/chair{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -5; + pixel_y = -20 }, -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/brown, -/obj/machinery/light/directional/south, -/obj/structure/railing{ +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"gD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"iZ" = ( -/obj/structure/ore_box, +/turf/open/floor/carpet/executive, +/area/ship/crew/law_office) +"gE" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor{ + dir = 1; + id = "harrierbridge"; + name = "Window Blast Door" + }, /obj/structure/cable{ - icon_state = "0-4" + icon_state = "0-2" }, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/cargo) -"ja" = ( -/obj/structure/sign/number/one{ - color = "Black"; - dir = 1 +/turf/open/floor/plating, +/area/ship/bridge) +"gF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/science) -"jc" = ( -/obj/machinery/light/directional/north, /turf/open/floor/plasteel/freezer, /area/ship/crew/toilet) -"je" = ( +"gH" = ( +/obj/structure/bed, +/obj/item/bedsheet/nanotrasen, +/obj/structure/curtain/bounty, +/turf/open/floor/wood, +/area/ship/crew/law_office) +"gM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"gN" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, /obj/structure/disposalpipe/segment{ - dir = 8 + dir = 10 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"gO" = ( +/obj/item/storage/backpack/satchel/med, +/obj/item/clothing/shoes/sneakers/white, +/obj/item/clothing/under/nanotrasen/medical, +/obj/item/clothing/suit/toggle/labcoat/nanotrasen, +/obj/item/clothing/glasses/hud/health, +/obj/item/storage/pill_bottle/stimulant{ + pixel_x = 5 }, -/turf/open/floor/plasteel, -/area/ship/crew/janitor) -"jk" = ( -/obj/machinery/medical_kiosk, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 +/obj/structure/closet/secure_closet/medical3{ + populate = 0 }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/structure/sign/poster/official/help_others{ - pixel_y = -32 +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" }, +/obj/item/clothing/suit/hooded/wintercoat/medical, /turf/open/floor/plasteel/white, /area/ship/medical) -"jn" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" +"gQ" = ( +/obj/item/table_bell{ + pixel_x = -4; + pixel_y = 13 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"jo" = ( -/obj/effect/turf_decal/industrial/loading{ - dir = 1 +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen, +/obj/structure/window/reinforced{ + dir = 4 }, -/obj/structure/ore_box, -/obj/machinery/button/door{ - dir = 8; - id = "ospreydoors"; - name = "Blast Door Control"; - pixel_x = 25; - pixel_y = 5 +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "harriercargo" }, -/obj/machinery/button/shieldwallgen{ - dir = 8; - id = "osprey_cargofield"; - pixel_x = 24; - pixel_y = -5 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plating, /area/ship/cargo) -"jC" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/effect/turf_decal/borderfloor{ - dir = 8 +"gU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 + dir = 4 }, -/obj/structure/sign/poster/official/safety_internals{ - pixel_x = -32 +/obj/machinery/light_switch{ + pixel_x = -5; + pixel_y = 20 }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"jG" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/effect/turf_decal/siding/yellow{ + dir = 1 }, /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/structure/table, -/obj/effect/turf_decal/corner/opaque/brown{ +/turf/open/floor/plasteel, +/area/ship/engineering) +"gV" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 1 - }, -/obj/item/storage/box/shipping, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"jM" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 4; - sortTypes = list(17,18,19,20,21); - tag = "Kitchen" +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"gX" = ( +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"jU" = ( -/obj/structure/sink/kitchen{ - dir = 4; - pixel_x = -12 +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"ha" = ( +/obj/machinery/door/airlock/external/glass, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/port) +"hj" = ( +/obj/structure/sign/warning/vacuum, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/storage/eva) +"hq" = ( +/obj/structure/crate_shelf, +/obj/structure/closet/crate{ + name = "food crate" }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/item/storage/cans/sixbeer, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"hx" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"kb" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"ke" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Infirmary"; +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"hy" = ( +/obj/structure/table, +/obj/item/storage/box/lights/mixed{ + pixel_x = 4; + pixel_y = 9 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/item/storage/box/mousetraps{ + pixel_x = -9 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/janitor) +"hA" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ dir = 4 }, -/obj/effect/turf_decal/borderfloor{ +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"hB" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"kf" = ( -/obj/machinery/door/airlock{ - name = "Custodial Closet"; - dir = 4 +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + name = "Infirmary"; + req_ship_access = 0 }, -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 8 }, /obj/effect/turf_decal/borderfloor{ dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" - }, +/turf/open/floor/plasteel, +/area/ship/medical) +"hD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ - dir = 4 + dir = 1 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/borderfloor, +/obj/machinery/door/airlock/public/glass{ + dir = 1; + name = "Canteen" }, /turf/open/floor/plasteel, -/area/ship/crew/janitor) -"ki" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/area/ship/crew/canteen) +"hE" = ( +/obj/structure/sign/poster/contraband/syndiemoth{ + pixel_y = 32 }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel, -/area/ship/crew/janitor) -"ko" = ( -/obj/structure/chair{ - dir = 8 +/obj/item/toy/plush/moth/firewatch, +/obj/item/toy/sword, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"hH" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/engineering) +"hI" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" }, -/obj/effect/turf_decal/corner/opaque/purple{ +/turf/open/floor/carpet/blue, +/area/ship/crew/dorm) +"hL" = ( +/obj/effect/landmark/start/janitor, +/obj/structure/chair{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/ship/cargo) -"kB" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/window/plasma/reinforced/spawner/north, -/obj/machinery/door/poddoor{ - id = "osprey_thruster_starboard"; - name = "Thruster Blast Door"; - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"kD" = ( -/obj/structure/window/plasma/reinforced, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/janitor) +"hP" = ( /obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/obj/effect/turf_decal/atmos/air{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"kG" = ( -/obj/machinery/power/terminal{ - dir = 8 + icon_state = "1-8" }, /obj/structure/cable{ - icon_state = "0-4" + icon_state = "1-4" }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"kL" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -6; - pixel_y = 3 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/obj/item/pen{ - pixel_x = 7 +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/storage/eva) +"hQ" = ( +/obj/machinery/computer/monitor{ + dir = 8; + icon_state = "computer-left" }, -/obj/item/folder{ - pixel_x = -6; - pixel_y = 3 +/turf/open/floor/plasteel, +/area/ship/engineering) +"hV" = ( +/obj/machinery/door/airlock/command{ + name = "Restroom" }, -/obj/machinery/button/door{ - dir = 4; - id = "ospreysci"; - name = "Shutter Control"; - pixel_x = -25; - pixel_y = -5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -24; - pixel_y = 5 +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"hY" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/science/ai_chamber) +"if" = ( +/obj/machinery/holopad/emergency/medical, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/obj/effect/turf_decal/corner/opaque/mauve, -/obj/effect/turf_decal/corner/opaque/mauve{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/opaque/blue/filled/corner, +/obj/effect/turf_decal/trimline/opaque/blue/filled/corner{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/mauve{ +/obj/effect/turf_decal/trimline/opaque/blue/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/corner{ dir = 1 }, /turf/open/floor/plasteel/white, -/area/ship/science) -"kP" = ( -/turf/open/floor/engine/hull, -/area/ship/external) -"kQ" = ( +/area/ship/medical) +"ig" = ( /turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/janitor) -"kS" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 +/area/ship/crew/law_office) +"ih" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/stand_clear, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/storage/eva) +"ir" = ( +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/medical) +"iy" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/closet/wall/directional/south, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/suit/apron/chef, +/obj/item/clothing/under/rank/civilian/chef, +/obj/item/clothing/head/chefhat, +/obj/item/storage/backpack/messenger, +/obj/item/clothing/suit/hooded/wintercoat, +/turf/open/floor/plasteel/freezer, +/area/ship/crew/canteen) +"iz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"iA" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/structure/sign/poster/official/safety_internals{ + pixel_x = -32 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/effect/turf_decal/borderfloor{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 1 +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/starboard) +"iD" = ( +/obj/structure/cable{ + icon_state = "1-8" }, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"kU" = ( -/obj/machinery/recharge_station, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"kV" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters{ - id = "ospreywindows"; +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/plating, -/area/ship/hallway/central) -"kZ" = ( -/obj/machinery/vending/snack/random, -/obj/structure/disposalpipe/segment{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/obj/structure/railing{ - layer = 2.91 +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 8 }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"la" = ( -/obj/item/kirbyplants/random, -/obj/machinery/light/directional/north, -/obj/structure/railing, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"lb" = ( +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"iG" = ( +/obj/structure/chair/office, /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"lh" = ( -/obj/structure/chair{ +/turf/open/floor/carpet/royalblue, +/area/ship/bridge) +"iI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"li" = ( -/turf/template_noop, -/area/template_noop) -"lk" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/machinery/door/poddoor/shutters{ - id = "ospreycargo" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/door/firedoor/window, -/turf/open/floor/plating, -/area/ship/cargo/office) -"ll" = ( /obj/structure/disposalpipe/segment{ - dir = 2 + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"iM" = ( /obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/poddoor/preopen{ - id = "osprey_disposals_preopen" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, -/obj/structure/sign/warning/securearea{ - pixel_x = 25 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/ai_chamber) -"lr" = ( -/obj/machinery/door/window/brigdoor/westleft{ - name = "AI Core Access"; - req_one_access_txt = "16" + icon_state = "1-4" }, -/obj/structure/AIcore, -/obj/item/circuitboard/aicore, -/obj/item/stack/sheet/rglass{ - amount = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/item/radio/intercom/directional/south, -/obj/item/radio/intercom/directional/north{ - frequency = 1351; - freqlock = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/item/radio/intercom/wideband/directional/east, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"lt" = ( /obj/structure/disposalpipe/segment{ - dir = 8 + dir = 5 }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"iP" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 }, +/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/wood, -/area/ship/crew/canteen) -"lv" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/area/ship/crew) +"iQ" = ( +/obj/machinery/door/window/westleft{ + req_access_txt = "2" }, -/turf/open/floor/carpet/blue, -/area/ship/bridge) -"ly" = ( -/obj/structure/chair{ +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/trimline/opaque/vired/filled/warning{ dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/effect/turf_decal/trimline/opaque/vired/corner, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"iS" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"iT" = ( +/obj/structure/disposaloutlet{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/conveyor{ + dir = 1; + id = "harrier_garbage" }, +/turf/open/floor/plating, +/area/ship/crew/janitor) +"iV" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"lz" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"lA" = ( -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/atmospherics) -"lF" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2; + sortTypes = list(9,10,11); + tag = "Medbay" }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 4 }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"je" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/turf/open/floor/plasteel/mono, +/area/ship/storage/eva) +"jf" = ( +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"jl" = ( /obj/structure/cable{ - icon_state = "2-4" + icon_state = "4-8" + }, +/obj/machinery/door/airlock/atmos{ + dir = 8; + name = "Atmospherics"; + req_access_txt = "10" }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"lJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"lL" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/rnd/server, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"lM" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/closet/secure_closet{ - icon_state = "atmos"; - name = "\proper atmospheric technician's locker"; - req_access = list(24) - }, -/obj/item/storage/backpack/industrial, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/under/rank/engineering/atmospheric_technician, -/obj/item/clothing/under/rank/engineering/atmospheric_technician/skirt, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/head/hardhat/weldhat/dblue, -/obj/item/storage/belt/utility/atmostech, -/obj/item/extinguisher/advanced, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/item/holosign_creator/atmos, -/obj/item/storage/box/metalfoam, -/obj/item/pipe_dispenser, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"lV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"lY" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave{ - pixel_y = 5 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, /turf/open/floor/plasteel, -/area/ship/crew/canteen) -"mf" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 +/area/ship/engineering/atmospherics) +"jm" = ( +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering Office"; + req_access_txt = "10" }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"mg" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"mj" = ( -/obj/machinery/cryopod, -/obj/structure/window/reinforced{ +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/cryo) -"mo" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 8; - sortType = 6; - tag = "Atmospherics" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/borderfloor{ dir = 4 }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"ju" = ( /obj/structure/cable{ - icon_state = "4-8" + icon_state = "5-10" }, -/obj/machinery/light_switch{ - pixel_y = 24 +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"jx" = ( +/obj/machinery/disposal/bin, +/obj/machinery/door/window/northleft{ + dir = 4; + req_access_txt = "19" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"mq" = ( -/obj/structure/disposalpipe/sorting/mail{ - dir = 2; - sortTypes = list(2,3); - tag = "QM Office" +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"jA" = ( +/obj/machinery/door/airlock/security{ + name = "Security Office" }, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"mu" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "osprey_production" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"my" = ( -/obj/structure/table, -/obj/item/stack/packageWrap{ - pixel_y = 9 - }, -/obj/item/hand_labeler{ - pixel_x = 2; - pixel_y = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/mauve{ +/obj/machinery/door/firedoor/border_only, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/borderfloor{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/mauve{ - dir = 8 +/turf/open/floor/plasteel/dark, +/area/ship/security) +"jD" = ( +/obj/structure/fluff/hedge, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/end{ + dir = 1 }, -/obj/item/storage/box/gloves{ - pixel_x = -3; - pixel_y = -8 +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/canteen) +"jH" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/medical) +"jI" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel/white, -/area/ship/science) -"mB" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/industrial/caution, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/central) -"mF" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 + dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/turf/open/floor/plasteel/dark, +/area/ship/science/ai_chamber) +"jL" = ( +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_x = 32 + }, /turf/open/floor/plasteel, -/area/ship/cargo/office) -"mH" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/metal/five{ - pixel_x = -3 +/area/ship/crew/canteen) +"jM" = ( +/obj/structure/cable/yellow{ + icon_state = "0-4" }, -/obj/item/stack/sheet/glass/five{ - pixel_x = 2; - pixel_y = 5 +/obj/machinery/power/terminal, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 10 }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"mI" = ( -/obj/effect/turf_decal/corner/opaque/ntblue{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer5{ + dir = 10 }, -/obj/effect/turf_decal/corner/opaque/ntblue{ - dir = 8 +/obj/structure/sign/warning/electricshock{ + pixel_y = 24 + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"jN" = ( +/obj/machinery/door/airlock{ + name = "Internal Affairs Office"; + req_access_txt = "38" }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/machinery/light/directional/south, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/borderfloor, /turf/open/floor/plasteel, +/area/ship/crew/law_office) +"jT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/mono, /area/ship/hallway/central) -"mR" = ( -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 4 +"jU" = ( +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-8" }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 1 +/turf/open/floor/circuit, +/area/ship/engineering/engine) +"ka" = ( +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel, /area/ship/cargo) -"mV" = ( -/obj/structure/chair/office{ - dir = 4 +"km" = ( +/obj/structure/closet/secure_closet/armory1{ + populate = 0; + req_access = list(2) }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 +/obj/machinery/airalarm/directional/east, +/obj/item/clothing/suit/armor/nanotrasen, +/obj/item/clothing/suit/armor/nanotrasen/slim, +/obj/item/clothing/head/helmet/sec, +/obj/item/clothing/head/helmet/sec, +/obj/effect/turf_decal/trimline/opaque/vired/filled/warning{ + dir = 8 }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/dorm) -"mW" = ( -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"mY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 +/obj/machinery/light/small/directional/south, +/obj/item/clothing/mask/gas/vigilitas, +/obj/item/clothing/mask/gas/vigilitas, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"kn" = ( +/obj/structure/cable{ + icon_state = "6-9" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"mZ" = ( +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"ko" = ( /obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/closet/secure_closet/engineering_welding, -/obj/machinery/button/door{ - dir = 1; - id = "osprey_thruster_port"; - name = "Blast Door Control"; - pixel_y = -25 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"na" = ( -/obj/structure/window/reinforced{ - dir = 1 + icon_state = "2-8" }, -/obj/structure/tank_dispenser/oxygen, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/cargo) -"nf" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = 12 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/structure/mirror{ - pixel_x = 25 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/carpet/executive, +/area/ship/crew/law_office) +"kq" = ( +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1{ + dir = 8 }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/toilet) -"nl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/dorm) -"nx" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"kr" = ( +/obj/machinery/jukebox, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 6 }, -/obj/machinery/light/directional/south, -/obj/structure/window/reinforced{ +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"ky" = ( +/obj/structure/railing{ dir = 8 }, -/obj/structure/window/reinforced{ - dir = 4 +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" }, -/obj/machinery/door/window/northleft{ - req_access_txt = "19" +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/effect/turf_decal/corner/opaque/ntblue{ +/obj/effect/turf_decal/siding/wideplating/dark{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/ntblue, /turf/open/floor/plasteel/dark, /area/ship/bridge) -"nE" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"nK" = ( -/obj/structure/sign/warning/docking{ - pixel_y = 9 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/central) -"nL" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/machinery/door/airlock/medical{ - name = "Infirmary"; - req_access_txt = "5" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +"kA" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"kE" = ( +/obj/structure/closet/crate/trashcart/laundry, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/plasteel, +/area/ship/crew) +"kH" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/mapping_helpers/airlock/unres{ +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-10" + }, +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/effect/turf_decal/borderfloor{ +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer5, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engine) +"kJ" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel, -/area/ship/medical) -"nT" = ( -/obj/structure/filingcabinet/double/grey, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 +/obj/machinery/door/airlock{ + dir = 4; + name = "Cryogenic Storage" }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"nZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/brown, -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/turf_decal/borderfloor{ + dir = 8 }, +/turf/open/floor/plasteel, +/area/ship/crew/cryo) +"kM" = ( /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"oi" = ( +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1{ + dir = 9 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 0 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"kO" = ( /obj/structure/cable{ - icon_state = "1-8" + icon_state = "2-4" }, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"kR" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "0-4" }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 5 +/obj/machinery/power/terminal{ + dir = 8 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"oo" = ( -/obj/machinery/space_heater, /obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/atmospherics) -"os" = ( -/obj/machinery/cryopod, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/cryo) -"ot" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/turf/open/floor/plating, +/area/ship/engineering) +"kV" = ( +/obj/structure/cable{ + icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"ou" = ( -/obj/effect/turf_decal/industrial/warning, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/industrial/caution{ - dir = 1 +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 8 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel/mono, /area/ship/hallway/central) -"ow" = ( -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"oB" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +"la" = ( +/obj/machinery/computer/crew{ + dir = 8; + icon_state = "computer-right" }, -/obj/effect/turf_decal/corner/opaque/mauve, -/obj/effect/turf_decal/corner/opaque/mauve{ - dir = 8 +/obj/structure/cable{ + icon_state = "2-4" }, -/obj/machinery/camera/autoname{ - dir = 10 +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plasteel/white, -/area/ship/science) -"oE" = ( -/obj/structure/closet/wall/directional/south{ - icon_door = "grey_wall" - }, -/obj/item/clothing/under/color/grey, -/obj/item/clothing/under/color/grey, -/obj/item/clothing/under/color/grey, -/obj/item/clothing/under/color/grey, -/obj/item/clothing/under/color/grey, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/storage/backpack/duffelbag, -/obj/item/storage/backpack/duffelbag, -/obj/item/storage/backpack/messenger, -/obj/item/storage/backpack/messenger, -/obj/item/storage/backpack/satchel, -/obj/item/storage/backpack/satchel, -/obj/item/storage/backpack, -/obj/item/storage/backpack, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"oF" = ( -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"oK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"lg" = ( +/obj/structure/mirror{ + pixel_y = 32 }, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/toilet) -"oN" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4{ - dir = 1 +/obj/structure/sink{ + pixel_y = 17 }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/central) -"oO" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/freezer, +/area/ship/bridge) +"lj" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono, +/area/ship/storage/eva) +"ln" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 6 }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/closet/firecloset/wall/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"oQ" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"oU" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/turf/open/floor/carpet/blue, +/area/ship/crew/dorm) +"ls" = ( +/obj/structure/disposalpipe/sorting/mail{ + dir = 2; + sortType = 1; + sortTypes = list(1,22); + tag = "Disposals" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ dir = 4 }, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"lA" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/structure/cable{ + icon_state = "2-8" }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"oW" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/southright{ - dir = 1; - name = "Medical Desk"; - req_access_txt = "5" +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, -/obj/item/table_bell, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/machinery/door/poddoor/shutters{ - id = "ospreymed" +/obj/effect/turf_decal/siding/yellow{ + dir = 1 }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"oX" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Infirmary"; +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8; + sortTypes = list(4,5); + tag = "Engineering" + }, +/turf/open/floor/plasteel, +/area/ship/engineering) +"lD" = ( +/obj/structure/sign/departments/security, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/security) +"lE" = ( +/obj/structure/fluff/hedge, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/structure/disposalpipe/segment{ dir = 8 }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"lH" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel, +/area/ship/bridge) +"lP" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/effect/turf_decal/borderfloor{ - dir = 4 +/turf/open/floor/plasteel, +/area/ship/cargo) +"lQ" = ( +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/machinery/atmospherics/components/binary/volume_pump/on{ + name = "Recycling to Environment"; + piping_layer = 1 }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ dir = 8 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"pe" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/poddoor{ - id = "osprey_disposals"; - name = "Disposals Blast Door"; - dir = 4 +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"lX" = ( +/obj/structure/closet/wardrobe/mixed{ + name = "custodial wardrobe"; + populate = 0 }, -/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1{ - dir = 4 +/obj/structure/cable{ + icon_state = "0-2" }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/item/radio/intercom/directional/north, +/obj/item/clothing/under/nanotrasen/janitor, +/obj/item/clothing/head/nanotrasen/cap/janitor, +/obj/item/clothing/shoes/galoshes, +/obj/item/storage/belt/janitor, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/suit/hooded/wintercoat, /turf/open/floor/plating, -/area/ship/science/ai_chamber) -"pk" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/area/ship/crew/janitor) +"mc" = ( /obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"pm" = ( -/obj/structure/frame/computer{ - dir = 8 + icon_state = "1-4" }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"pp" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 5 }, -/turf/open/floor/carpet/royalblue, -/area/ship/bridge) -"pq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/janitor) +"mk" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/toilet) -"pv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engine) +"mm" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-8" }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/dorm) -"pz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"ms" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"my" = ( +/obj/machinery/power/generator{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/cable/yellow{ + icon_state = "0-8" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/turf/open/floor/plating, +/area/ship/engineering/engine) +"mB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"pC" = ( -/obj/structure/disposalpipe/segment{ +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"mC" = ( +/obj/effect/turf_decal/industrial/warning/corner{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/obj/effect/turf_decal/industrial/warning/corner, +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"pD" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 +/obj/machinery/button/ignition{ + dir = 4; + id = "harrier_igniter"; + pixel_x = -20 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engine) +"mG" = ( +/obj/structure/table/glass, +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 2 + }, +/obj/machinery/defibrillator_mount/loaded{ + pixel_y = -25 }, +/obj/item/clothing/gloves/color/latex/nitrile, +/obj/item/clothing/suit/nanotrasen/medical_smock, +/obj/item/clothing/head/nanotrasen/surgical, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"mH" = ( +/obj/structure/railing, /obj/structure/cable{ - icon_state = "0-4" + icon_state = "1-4" }, -/turf/open/floor/plating, -/area/ship/engineering) -"pH" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 6 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"pJ" = ( -/obj/machinery/door/poddoor/shutters{ - id = "osprey_atmos"; - name = "Atmospherics Storage"; - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"pK" = ( /obj/structure/disposalpipe/segment{ dir = 8 }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"pL" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/southleft{ +/turf/open/floor/plasteel, +/area/ship/cargo) +"mJ" = ( +/obj/machinery/conveyor{ dir = 1; - name = "Research Desk"; - req_access_txt = "47" - }, -/obj/item/table_bell, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/shutters{ - id = "ospreysci" + id = "harrier_garbage" }, -/obj/machinery/door/firedoor, /turf/open/floor/plating, -/area/ship/science) -"pP" = ( -/obj/machinery/atmospherics/components/unary/tank/toxins, -/obj/effect/turf_decal/industrial/outline/yellow, +/area/ship/crew/janitor) +"mK" = ( +/obj/machinery/light/directional/north, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/freezer, +/area/ship/crew/toilet) +"mN" = ( /obj/structure/cable{ - icon_state = "2-8" + icon_state = "1-8" }, -/obj/machinery/camera/autoname, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 23 + dir = 1; + pixel_x = -5; + pixel_y = -20 }, -/turf/open/floor/plasteel/patterned/grid, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"mO" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/closet/toolcloset, +/turf/open/floor/plasteel/patterned, /area/ship/engineering) -"pT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 +"mV" = ( +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"mW" = ( /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/storage/eva) +"mZ" = ( +/obj/structure/table/reinforced, +/obj/item/cutting_board, +/obj/item/melee/knife/butcher, +/obj/item/kitchen/rollingpin, +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"pU" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/white{ + dir = 8 }, -/turf/open/floor/carpet/blue, -/area/ship/bridge) -"qa" = ( -/obj/machinery/power/port_gen/pacman, -/obj/structure/cable{ - icon_state = "0-2" +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 20 }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/sign/warning/enginesafety{ - pixel_y = 32 +/obj/machinery/firealarm/directional/north{ + pixel_x = 5 }, -/turf/open/floor/plating, -/area/ship/engineering) -"qb" = ( -/obj/structure/closet/secure_closet{ - icon_state = "science"; - name = "scientist's locker"; - req_access_txt = "47" +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"na" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/condiment/ketchup{ + pixel_x = 9; + pixel_y = 16 }, -/obj/effect/turf_decal/corner/opaque/mauve{ - dir = 4 +/obj/item/reagent_containers/condiment/mayonnaise{ + pixel_y = 16 }, -/obj/effect/turf_decal/corner/opaque/mauve{ - dir = 1 +/obj/item/reagent_containers/condiment/hotsauce{ + pixel_x = -9; + pixel_y = 15 }, -/obj/item/storage/backpack/duffelbag, -/obj/item/storage/backpack/messenger/tox, -/obj/item/storage/backpack/satchel/tox, -/obj/item/storage/backpack/science, -/obj/item/clothing/shoes/sneakers/white, -/obj/item/clothing/under/rank/rnd/scientist/skirt, -/obj/item/clothing/under/rank/rnd/scientist, -/obj/item/clothing/suit/toggle/labcoat/science, -/obj/item/clothing/glasses/science, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/science) -"qc" = ( -/obj/structure/window/reinforced{ - dir = 4 +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -5; + pixel_y = 5 }, -/obj/machinery/atmospherics/components/unary/portables_connector, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"qp" = ( -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 5; + pixel_y = 5 }, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"nf" = ( /obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/floor/plasteel/patterned/grid, +/turf/open/floor/plasteel/patterned, /area/ship/engineering/atmospherics) -"qs" = ( +"ng" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/crew/law_office) +"nj" = ( /obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"qv" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/structure/closet/emcloset/wall/directional/south, /turf/open/floor/plasteel, -/area/ship/hallway/central) -"qw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/trash/can, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"qL" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned, /area/ship/cargo) -"qM" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/structure/marker_beacon, -/turf/open/floor/engine/hull, -/area/ship/external) -"qN" = ( +"nv" = ( +/obj/machinery/deepfryer, /obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, /obj/effect/turf_decal/corner/opaque/white{ dir = 8 }, -/obj/structure/closet{ - icon_door = "black"; - name = "wardrobe" - }, -/obj/item/storage/backpack/duffelbag, -/obj/item/storage/backpack/messenger, -/obj/item/storage/backpack, -/obj/item/storage/backpack/satchel/leather, -/obj/item/clothing/shoes/sneakers/white, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/under/rank/civilian/chef, -/obj/item/clothing/under/rank/civilian/chef/skirt, -/obj/item/clothing/under/rank/civilian/bartender, -/obj/item/clothing/under/rank/civilian/bartender/skirt, -/obj/item/clothing/suit/toggle/chef, -/obj/item/clothing/accessory/waistcoat, -/obj/item/clothing/head/chefhat, -/obj/item/clothing/head/bowler, -/obj/item/storage/box/drinkingglasses, -/obj/item/storage/fancy/candle_box, -/obj/item/radio/intercom/directional/east, /turf/open/floor/plasteel, /area/ship/crew/canteen) -"qX" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 +"nx" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/full, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 8 }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"nz" = ( +/obj/machinery/mass_driver{ + dir = 8; + id = "harrier_disposals" }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/window/plasma/reinforced/spawner/north, -/obj/machinery/door/poddoor{ - id = "osprey_thruster_port"; - name = "Thruster Blast Door"; +/turf/open/floor/plating, +/area/ship/crew/janitor) +"nQ" = ( +/obj/structure/chair/comfy/blue/corpo{ + dir = 8 + }, +/obj/effect/landmark/start/lawyer, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/engineering) -"ra" = ( +/turf/open/floor/carpet/executive, +/area/ship/crew/law_office) +"nZ" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"oe" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/siding/thinplating, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage/eva) +"og" = ( +/obj/structure/cable{ + icon_state = "6-8" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"rd" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/closet/crate/science{ - name = "cyborg parts crate" +/obj/structure/chair/handrail, +/turf/open/floor/plasteel, +/area/ship/hallway/port) +"oi" = ( +/obj/structure/toilet{ + pixel_y = 10 }, -/obj/item/bodypart/leg/right/robot, -/obj/item/bodypart/r_arm/robot, -/obj/item/bodypart/leg/left/robot, -/obj/item/bodypart/l_arm/robot, -/obj/item/bodypart/head/robot, -/obj/item/bodypart/chest/robot, -/obj/item/robot_suit, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/small/directional/west, /turf/open/floor/plasteel/dark, -/area/ship/science) -"rf" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/area/ship/security) +"oj" = ( /obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/structure/sign/warning/securearea{ - pixel_x = 25 + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/science/ai_chamber) -"ry" = ( -/obj/item/storage/backpack/explorer, -/obj/item/storage/backpack/satchel/explorer, -/obj/item/storage/backpack/duffelbag, -/obj/structure/closet/secure_closet{ - icon_state = "mining"; - name = "mining wardrobe"; - req_access_txt = "48" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/item/clothing/shoes/workboots/mining, -/obj/item/clothing/under/rank/cargo/miner, -/obj/item/storage/belt/mining/alt, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/head/hardhat/mining, -/obj/structure/sign/poster/contraband/ss13{ - pixel_y = -32 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/cargo) -"rz" = ( -/obj/structure/bed, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/dorms, -/obj/structure/sign/poster/official/soft_cap_pop_art{ - pixel_y = 32 +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"rG" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 +/obj/effect/turf_decal/trimline/opaque/ntblue/line, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"ok" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/engineering/engine) +"ol" = ( +/obj/structure/closet/secure_closet/captains{ + populate = 0 }, -/turf/open/floor/plating, -/area/ship/engineering) -"rH" = ( +/obj/machinery/firealarm/directional/west, +/obj/item/clothing/shoes/laceup, +/obj/item/clothing/under/nanotrasen/captain, +/obj/item/clothing/suit/armor/nanotrasen/captain/parade, +/obj/item/clothing/neck/cloak/nanotrasen, +/obj/item/storage/backpack/captain, +/obj/item/clothing/head/nanotrasen/captain/peaked, +/obj/item/clothing/glasses/sunglasses, +/obj/item/storage/belt/sabre, +/obj/machinery/light/small/directional/north, +/obj/item/clothing/suit/hooded/wintercoat/captain, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/dormtwo) +"op" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave, /obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, /obj/effect/turf_decal/corner/opaque/white{ dir = 8 }, +/obj/item/radio/intercom/directional/north, /turf/open/floor/plasteel, /area/ship/crew/canteen) -"rJ" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/central) -"rN" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 +"ow" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 6 }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"ox" = ( /obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 6 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"rO" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/light_switch{ + pixel_x = -5; + pixel_y = 20 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 }, +/turf/open/floor/plasteel, +/area/ship/bridge) +"oG" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/cargo) +"oT" = ( /obj/structure/cable{ - icon_state = "1-8" + icon_state = "4-8" }, +/turf/open/floor/wood, +/area/ship/crew/law_office) +"oU" = ( +/obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "0-4" }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"rP" = ( -/obj/structure/chair/stool/bar{ - dir = 1 +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/dormtwo) +"oV" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"rS" = ( -/obj/effect/turf_decal/corner/transparent/neutral, /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner, +/turf/open/floor/plasteel/mono, /area/ship/hallway/central) -"rX" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ +"oX" = ( +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1{ dir = 8 }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"rZ" = ( -/obj/structure/chair/stool/bar{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 2 +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/north, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"pd" = ( /obj/effect/turf_decal/corner/opaque/white{ dir = 8 }, /obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"sd" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/science) -"si" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/siding{ + dir = 9 }, /turf/open/floor/plasteel, -/area/ship/hallway/central) -"sl" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/food/condiment/peppermill{ - pixel_x = -4; - pixel_y = 10 +/area/ship/crew/canteen) +"pp" = ( +/obj/structure/railing{ + dir = 8 }, -/obj/item/reagent_containers/food/condiment/saltshaker{ - pixel_x = 4; - pixel_y = 10 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 +/obj/structure/cable{ + icon_state = "2-4" }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/effect/turf_decal/siding/wideplating/dark{ dir = 8 }, -/obj/item/table_bell, -/obj/machinery/door/poddoor/shutters{ - id = "ospreykitchen" +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"pr" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible/layer1{ + dir = 9 }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"sq" = ( -/obj/machinery/atmospherics/components/binary/valve/digital/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer5{ dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer5, -/turf/open/floor/plasteel/patterned/grid, +/obj/machinery/atmospherics/pipe/manifold4w/purple/visible, +/turf/open/floor/plasteel/patterned, /area/ship/engineering/atmospherics) -"ss" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +"pF" = ( +/obj/structure/closet/secure_closet/brig, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" }, -/turf/open/floor/plasteel/white, -/area/ship/science) -"su" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/item/storage/box/evidence{ + req_access_txt = "2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"pH" = ( /obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/firedoor/window, /obj/machinery/door/poddoor/shutters{ - id = "ospreywindows"; - dir = 4 + dir = 1; + id = "harrieriaa" }, /turf/open/floor/plating, -/area/ship/hallway/central) -"sw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer5, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"sy" = ( -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 1 - }, -/obj/structure/rack, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"sC" = ( -/obj/structure/chair/stool/bar{ - dir = 1 +/area/ship/crew/law_office) +"pI" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/wood, +/area/ship/crew/law_office) +"pP" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/crew/canteen) +"pQ" = ( +/obj/machinery/disposal/bin, +/obj/machinery/light/directional/north, +/obj/structure/disposalpipe/trunk{ + dir = 4 }, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/structure/railing{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/white{ +/turf/open/floor/plating, +/area/ship/crew/canteen) +"pR" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ dir = 4 }, /turf/open/floor/plasteel, -/area/ship/crew/canteen) -"sE" = ( -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = -5; - pixel_y = 3 +/area/ship/hallway/central) +"pW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"pX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = 2; - pixel_y = 3 +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"pY" = ( +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = -2 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/ntspaceworks_big/seven{ + dir = 8 }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 5 +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"pZ" = ( +/obj/structure/chair/comfy/blue/corpo/directional/south{ + dir = 4 }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 1; - pixel_y = -3 +/obj/structure/sign/poster/official/random{ + pixel_x = -32 }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 8; - pixel_y = -3 +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 10 }, -/obj/structure/closet/crate{ - name = "food crate" +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"qf" = ( +/obj/structure/chair/comfy/blue/corpo/directional/north, +/obj/effect/turf_decal/trimline/opaque/ntblue/line, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"qg" = ( +/obj/structure/cable{ + icon_state = "4-9" }, -/obj/item/storage/cans/sixbeer, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"qh" = ( +/obj/structure/cable{ + icon_state = "5-10" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"sG" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/hallway/central) -"sI" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/closet/emcloset/wall/directional/south, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"sJ" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"ql" = ( +/obj/structure/chair, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 9 }, /turf/open/floor/plasteel, -/area/ship/hallway/central) -"sO" = ( -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"sZ" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen{ +/area/ship/crew/canteen) +"qo" = ( +/obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/structure/disposalpipe/junction/flip, /turf/open/floor/plasteel, -/area/ship/hallway/central) -"tb" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/frame/computer, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"tc" = ( -/obj/structure/table/reinforced, -/obj/machinery/fax/nanotrasen, -/obj/effect/turf_decal/corner/opaque/ntblue, -/obj/effect/turf_decal/corner/opaque/ntblue{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/ntblue{ - dir = 1 +/area/ship/cargo) +"qp" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"ti" = ( -/obj/machinery/door/airlock/external/glass, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/borderfloor{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"tm" = ( -/obj/machinery/disposal/bin{ - name = "biohazard disposal unit" +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"qq" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer5{ + dir = 8 }, -/obj/structure/disposalpipe/trunk{ +/turf/open/floor/plating, +/area/ship/engineering/engine) +"qr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/blue{ +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"qw" = ( +/obj/structure/chair/comfy/blue/corpo/directional/south{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/effect/turf_decal/trimline/opaque/ntblue/line, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"qx" = ( +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"qB" = ( +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/power/smes/engineering, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"qE" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, -/obj/machinery/light/directional/west, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"to" = ( -/obj/structure/cable{ - icon_state = "0-2" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/toilet) -"tp" = ( /obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"qF" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/obj/machinery/door/firedoor/border_only{ dir = 1 }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-8" +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"qI" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/canteen) +"qJ" = ( +/obj/item/bodypart/leg/right/robot, +/obj/item/bodypart/r_arm/robot, +/obj/item/bodypart/leg/left/robot, +/obj/item/bodypart/l_arm/robot, +/obj/item/bodypart/head/robot, +/obj/item/bodypart/chest/robot, +/obj/item/robot_suit, +/obj/machinery/recharge_station, +/turf/open/floor/circuit, +/area/ship/science/ai_chamber) +"qK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/storage/eva) +"qO" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/full, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 }, /turf/open/floor/plasteel, -/area/ship/crew/cryo) -"tr" = ( -/obj/machinery/computer/security{ - dir = 8; - icon_state = "computer-right" +/area/ship/hallway/central) +"qQ" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/crew) +"qX" = ( +/obj/structure/railing{ + dir = 8 }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"tx" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "ospreybridge"; - dir = 4 +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 }, -/obj/machinery/door/firedoor/window, -/turf/open/floor/plating, +/turf/open/floor/plasteel/mono/dark, /area/ship/bridge) -"tF" = ( +"rc" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/turf/open/floor/engine/air, -/area/ship/engineering/atmospherics) -"tG" = ( -/obj/effect/turf_decal/box/corners{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, -/obj/structure/closet/crate, -/obj/item/vending_refill/coffee, -/obj/effect/spawner/lootdrop/maintenance/three, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"tH" = ( /obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"tL" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 + dir = 8 }, -/obj/structure/closet/emcloset/wall/directional/north, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/mono, /area/ship/hallway/central) -"tO" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, +"rf" = ( +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 10 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"rh" = ( +/obj/structure/sign/warning/nosmoking, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/atmospherics) +"ri" = ( /obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, /obj/effect/turf_decal/corner/opaque/white{ dir = 8 }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"tT" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/structure/sink{ + dir = 8; + pixel_x = 12 }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 }, -/turf/open/floor/wood, +/turf/open/floor/plasteel, /area/ship/crew/canteen) -"tY" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/machinery/door/airlock/command{ - name = "Bridge"; - req_access_txt = "19" +"rj" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/central) +"rk" = ( +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 0 }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/siding/thinplating{ dir = 1 }, -/obj/machinery/door/firedoor/border_only, /turf/open/floor/plasteel/dark, -/area/ship/bridge) -"ud" = ( -/obj/machinery/computer/helm{ - dir = 8 +/area/ship/science/ai_chamber) +"rm" = ( +/obj/structure/railing{ + dir = 6; + layer = 3.1 }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"uh" = ( -/obj/structure/cable{ - icon_state = "2-8" +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel, +/area/ship/storage/eva) +"rr" = ( +/obj/structure/closet/secure_closet/freezer/kitchen/mining, +/obj/structure/window/reinforced{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "2-4" +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/condiment/soymilk, +/turf/open/floor/plasteel/freezer, +/area/ship/crew/canteen) +"ru" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"ui" = ( +/turf/open/floor/plating, +/area/ship/engineering/engine) +"rx" = ( /obj/structure/cable{ - icon_state = "0-8" + icon_state = "4-8" }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/science/ai_chamber) -"uk" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/siding/white{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/crew/cryo) -"un" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 }, -/obj/machinery/holopad/emergency/medical, -/obj/effect/turf_decal/box/white{ - color = "#2CB2E8" +/obj/structure/disposalpipe/segment{ + dir = 8 }, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"rJ" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/poddoor{ + dir = 1; + id = "harrierdoors"; + name = "Cargo Bay Blast Door" + }, +/turf/open/floor/plating, +/area/ship/storage/eva) +"rK" = ( +/obj/structure/chair/sofa/blue/corpo/left/directional/north, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"rL" = ( +/obj/machinery/iv_drip, +/obj/machinery/light/directional/west, /turf/open/floor/plasteel/white, /area/ship/medical) -"uq" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 +"rQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/airalarm/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 8 }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"rR" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"ut" = ( -/obj/structure/chair, -/obj/effect/landmark/start/janitor, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4; - sortType = 1; - tag = "Disposals" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/industrial/warning{ +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ dir = 8 }, /turf/open/floor/plasteel, -/area/ship/crew/janitor) -"ux" = ( -/obj/machinery/computer/operating, -/obj/effect/turf_decal/corner/opaque/pink{ +/area/ship/hallway/port) +"rS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/pink{ +/obj/machinery/airalarm/directional/east, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"rT" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/hallway/port) +"rZ" = ( +/obj/effect/landmark/start/medical_doctor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/pink{ +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"sc" = ( +/obj/effect/turf_decal/ntspaceworks_big/four{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"se" = ( +/obj/structure/chair{ dir = 1 }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"uz" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 4; - icon_state = "passive_vent_map-4"; - piping_layer = 5 +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 6 }, -/turf/open/floor/engine/hull, -/area/ship/external) -"uA" = ( -/obj/machinery/holopad/emergency/command, -/obj/effect/turf_decal/box/white, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"uC" = ( -/obj/machinery/computer/crew{ - dir = 8; - icon_state = "computer-left" +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"sf" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 }, /turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"uE" = ( -/obj/structure/disposalpipe/segment{ +/area/ship/storage/eva) +"sh" = ( +/obj/structure/window/reinforced{ dir = 8 }, -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 4 +/turf/open/floor/carpet/royalblue, +/area/ship/bridge) +"sl" = ( +/obj/item/gun/energy/e_gun, +/obj/structure/guncloset/ecase{ + req_access_txt = "20" }, -/turf/open/floor/plasteel/white, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/dormtwo) +"sn" = ( +/obj/structure/chair/comfy/blue/corpo/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/carpet/cyan, /area/ship/medical) -"uI" = ( -/mob/living/simple_animal/mouse{ - desc = "This rat seems particularly old and crotchety."; - name = "Splinter" +"ss" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/arrow_ccw{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"st" = ( +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Bridge"; + req_access = list(19,41) + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel, -/area/ship/crew/janitor) -"uJ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/structure/cable{ - icon_state = "2-4" +/obj/structure/disposalpipe/segment{ + dir = 8 }, /turf/open/floor/plasteel, -/area/ship/crew/janitor) -"uM" = ( -/obj/machinery/door/airlock{ - name = "Cryopod Room" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/borderfloor, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/area/ship/bridge) +"sv" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"uN" = ( -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/item/kirbyplants/random, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"uQ" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/layer_manifold, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"vi" = ( -/obj/structure/table, -/obj/item/storage/bag/trash{ - pixel_x = 5 +/turf/open/floor/plasteel/mono, +/area/ship/storage/eva) +"sw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/obj/item/mop, -/obj/item/reagent_containers/glass/bucket{ - pixel_x = -3; - pixel_y = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 }, +/obj/structure/extinguisher_cabinet/directional/east, /obj/structure/disposalpipe/segment{ dir = 9 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"sy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"vj" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, /obj/structure/cable{ - icon_state = "2-4" + icon_state = "4-8" }, -/obj/structure/cable{ - icon_state = "1-4" +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/dormtwo) +"sD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/dormtwo) +"sE" = ( +/obj/structure/cable{ + icon_state = "2-8" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"vl" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8; + sortTypes = list(7,8); + tag = "Security" + }, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"sF" = ( +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/effect/turf_decal/trimline/opaque/blue/end, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer5{ + dir = 8 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"vp" = ( -/obj/structure/disposalpipe/segment{ +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engine) +"sG" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "harrier_packagesort" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plating, +/area/ship/cargo) +"sN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 }, -/obj/machinery/cell_charger, /obj/structure/disposalpipe/segment{ - dir = 2 + dir = 8 }, -/obj/item/stock_parts/cell/high/plus, -/obj/structure/table, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/ship/cargo) +"sU" = ( +/turf/open/floor/wood, +/area/ship/crew/law_office) +"ta" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/wideplating/dark, +/turf/open/floor/plasteel/stairs{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/brown{ +/area/ship/bridge) +"td" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ dir = 1 }, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"vx" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/obj/machinery/door/firedoor/border_only{ dir = 1 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"vD" = ( -/obj/structure/window/reinforced{ +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"tk" = ( +/obj/structure/railing, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ dir = 4 }, -/obj/machinery/conveyor{ - dir = 1; - id = "osprey_garbage" +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 }, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"vY" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plasteel, +/area/ship/cargo) +"tm" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/turf/open/floor/carpet/executive, +/area/ship/crew/law_office) +"tq" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxin_output{ + dir = 8 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"wb" = ( -/obj/structure/disposalpipe/segment{ +/turf/open/floor/engine/plasma, +/area/ship/engineering/atmospherics) +"ty" = ( +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/turf/open/floor/wood, +/area/ship/crew) +"tC" = ( +/obj/structure/rack, +/obj/item/pickaxe, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"tF" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"wc" = ( -/obj/machinery/conveyor{ - dir = 4; - id = "osprey_packagesort" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plating, -/area/ship/cargo/office) -"wd" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/turf/open/floor/plasteel/patterned/grid, +/turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) -"wj" = ( -/obj/machinery/door/airlock/command{ - name = "Bridge"; - req_access_txt = "19" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/borderfloor, +"tG" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono/dark, /area/ship/bridge) -"wn" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = -6 +"tH" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder/yellow, +/obj/item/stamp{ + pixel_x = -5; + pixel_y = 9 }, -/obj/item/stamp/captain{ - pixel_x = 6; +/obj/item/pen/red, +/obj/machinery/button/door{ + dir = 4; + id = "harrierdoors"; + name = "External Blast Door Control"; + pixel_x = -25; pixel_y = 6 }, -/obj/item/stamp/head_of_personnel{ - pixel_x = 6 +/obj/machinery/button/shieldwallgen{ + dir = 4; + id = "harrier_cargofield"; + pixel_x = -24; + pixel_y = -5 }, -/obj/item/pen/fountain/captain{ - pixel_x = -7 +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 }, -/obj/item/pen/fourcolor, -/obj/machinery/newscaster/directional/north{ - pixel_y = 32 +/obj/item/stamp/nanotrasen/ns{ + pixel_y = 8; + pixel_x = 8 }, -/obj/effect/turf_decal/corner/opaque/ntblue{ - dir = 4 +/obj/item/stamp/denied{ + pixel_x = 4 }, -/obj/effect/turf_decal/corner/opaque/ntblue{ - dir = 1 +/turf/open/floor/plasteel, +/area/ship/cargo) +"tI" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/poddoor{ + dir = 1; + id = "harrierwindows"; + name = "Window Blast Door" }, -/obj/machinery/light_switch{ - pixel_x = -11; - pixel_y = 24 +/turf/open/floor/plating, +/area/ship/security) +"tJ" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/full, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"wo" = ( -/obj/structure/cable{ - icon_state = "0-8" +/obj/effect/turf_decal/corner/opaque/white, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/power/smes/shuttle/precharged{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/window/plasma/reinforced/spawner/north, -/obj/machinery/door/poddoor{ - id = "osprey_thruster_starboard"; - name = "Thruster Blast Door"; - dir = 4 +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"tN" = ( +/obj/structure/crate_shelf, +/obj/structure/closet/crate/internals, +/obj/item/clothing/suit/space/orange, +/obj/item/clothing/suit/space/orange, +/obj/item/clothing/suit/space/orange, +/obj/item/clothing/head/helmet/space/orange, +/obj/item/clothing/head/helmet/space/orange, +/obj/item/clothing/head/helmet/space/orange, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"tO" = ( +/obj/structure/closet/secure_closet/freezer/meat, +/turf/open/floor/plasteel/freezer, +/area/ship/crew/canteen) +"tQ" = ( +/obj/machinery/igniter{ + id = "harrier_igniter" + }, +/obj/machinery/air_sensor/atmos/incinerator_tank, +/turf/open/floor/engine/vacuum, +/area/ship/engineering/engine) +"tS" = ( +/obj/machinery/disposal/bin{ + name = "biohazard disposal unit" }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"wq" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/southleft{ - dir = 1; - name = "Medical Desk"; - req_access_txt = "5" +/obj/effect/turf_decal/box/white{ + color = "#2CB2E8" }, -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/machinery/light/directional/east, +/obj/structure/disposalpipe/trunk{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/machinery/door/poddoor/shutters{ - id = "ospreymed" - }, -/obj/machinery/door/firedoor, /turf/open/floor/plasteel/white, /area/ship/medical) -"wr" = ( -/obj/structure/chair{ +"tT" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"tV" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 +/obj/machinery/light/small/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/carpet/cyan, /area/ship/medical) -"wx" = ( -/obj/machinery/door/poddoor{ - id = "ospreydoors"; - name = "Cargo Bay Blast Door"; - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, +"tY" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/toilet) +"tZ" = ( /obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - id = "osprey_cargofield"; - locked = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"wC" = ( -/obj/machinery/vending/snack/random, -/obj/structure/disposalpipe/segment{ - dir = 8 + icon_state = "4-8" }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"wF" = ( /obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" + dir = 6 }, -/obj/machinery/atmospherics/pipe/manifold/dark/hidden/layer5{ +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, -/obj/machinery/turretid{ - pixel_x = 28; - req_access = null; - req_access_txt = "16" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/science/ai_chamber) -"wP" = ( -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 +/obj/structure/closet/emcloset/wall/directional/north, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"uc" = ( +/obj/structure/cable{ + icon_state = "1-8" }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"wQ" = ( -/obj/structure/cable{ - icon_state = "0-8" +/turf/open/floor/plasteel/dark, +/area/ship/security) +"ud" = ( +/obj/machinery/cryopod{ + dir = 8 }, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 5 }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" +/turf/open/floor/circuit, +/area/ship/crew/cryo) +"ue" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/window/plasma/reinforced/spawner, -/obj/machinery/door/poddoor{ - id = "osprey_thruster_starboard"; - name = "Thruster Blast Door"; - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/freezer, +/area/ship/bridge) +"uf" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"wR" = ( -/obj/structure/closet/crate/freezer/blood, -/obj/machinery/iv_drip, -/obj/effect/turf_decal/corner/opaque/lime{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/caution{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/lime{ - dir = 4 +/obj/structure/chair/handrail{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/lime, -/obj/structure/sign/poster/official/moth/epi{ - pixel_y = 32 +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/starboard) +"uh" = ( +/obj/structure/cable{ + icon_state = "6-9" }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"wT" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"uk" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"wV" = ( -/obj/effect/landmark/start/atmospheric_technician, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"wW" = ( -/turf/open/floor/plasteel/stairs/right{ +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engine) +"ul" = ( +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, -/area/ship/cargo) -"wY" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 +/obj/effect/turf_decal/corner/opaque/white{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/landmark/start/cook, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"um" = ( +/obj/machinery/smartfridge/bloodbank/preloaded, +/turf/open/floor/plasteel/tech/grid, +/area/ship/medical) +"uo" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/trimline/transparent/white/filled/corner{ dir = 1 }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/effect/turf_decal/siding/thinplating, +/obj/structure/chair/handrail{ + dir = 4 }, /turf/open/floor/plasteel/dark, /area/ship/science/ai_chamber) -"xb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"xj" = ( -/obj/structure/janitorialcart{ - dir = 8 - }, -/obj/structure/disposalpipe/sorting/mail{ - dir = 8; - sortType = 22; - tag = "Jantor Closet" - }, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"xp" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/o2, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"xq" = ( -/obj/machinery/button/door{ - dir = 8; - id = "ospreywindows"; - name = "External Window Shutters"; - pixel_x = 32; - pixel_y = -6 +"up" = ( +/obj/structure/cable{ + icon_state = "2-8" }, -/obj/machinery/button/door{ - dir = 8; - id = "ospreybridge"; - name = "Bridge Lockdown"; - pixel_x = 32; - pixel_y = 6 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/machinery/modular_computer/console/preset/command{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/obj/item/radio/intercom/wideband/directional/east, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"xB" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Infirmary"; +/obj/effect/turf_decal/siding/wood{ dir = 4 }, +/obj/machinery/light/small/directional/east, /obj/structure/disposalpipe/segment{ - dir = 8 + dir = 10 }, -/obj/effect/turf_decal/borderfloor{ - dir = 8 +/turf/open/floor/wood, +/area/ship/crew) +"ur" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/machinery/door/firedoor/border_only{ +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/trimline/opaque/ntblue/arrow_cw{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/storage/eva) +"uu" = ( +/obj/machinery/disposal/deliveryChute{ dir = 8 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"xE" = ( -/obj/machinery/light_switch{ - dir = 1; - pixel_y = -16 +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/ship/science/ai_chamber) -"xF" = ( -/obj/effect/turf_decal/corner/opaque/green{ +/obj/structure/window/reinforced{ dir = 4 }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"xG" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "osprey_cargoload" - }, -/obj/machinery/camera/autoname{ - dir = 10 +/obj/machinery/door/window/westleft, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, /turf/open/floor/plating, /area/ship/cargo) -"xH" = ( -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 1 +"uv" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/machinery/light_switch{ + pixel_x = -5; + pixel_y = 20 }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"xJ" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Infirmary"; - dir = 4 +/obj/effect/turf_decal/siding/yellow{ + dir = 9 }, -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/machinery/button/door{ + dir = 4; + id = "harrier_enginevent"; + name = "Blast Door Control"; + pixel_x = -25; + pixel_y = 1 }, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel, +/area/ship/engineering/engine) +"uw" = ( /obj/structure/cable{ - icon_state = "4-8" + icon_state = "5-8" }, -/obj/effect/turf_decal/borderfloor{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/structure/chair/handrail{ + dir = 1 }, -/obj/machinery/door/firedoor/border_only{ +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"uy" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/disposalpipe/segment{ dir = 8 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"xK" = ( +/turf/open/floor/carpet/executive, +/area/ship/crew/law_office) +"uz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/light/directional/east, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-8" + }, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 }, /turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"xN" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"xP" = ( -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 8; - id = "osprey_atmosfield" +/area/ship/bridge) +"uB" = ( +/obj/docking_port/mobile{ + dir = 4; + launch_status = 0; + port_direction = 2; + preferred_direction = 4 }, -/obj/structure/cable{ - icon_state = "0-8" +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/toilet) +"uC" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/door/poddoor{ - id = "osprey_tank_vent" +/obj/structure/disposalpipe/sorting/mail{ + dir = 2; + sortTypes = list(8,15,30); + tag = "Bridge" }, -/turf/open/floor/engine, -/area/ship/engineering/atmospherics) -"xT" = ( +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"uD" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, /obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/camera/autoname{ - dir = 10 - }, -/turf/open/floor/plasteel/stairs{ - dir = 4 + icon_state = "1-2" }, -/area/ship/hallway/central) -"xY" = ( -/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/structure/disposalpipe/segment, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "1-4" }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"yc" = ( -/obj/structure/closet/secure_closet{ - icon_state = "med"; - name = "medicine locker" +/obj/structure/cable{ + icon_state = "1-8" }, -/obj/item/storage/firstaid/fire{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/item/storage/firstaid/regular, -/obj/machinery/button/door{ +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"uG" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/poddoor{ dir = 1; - id = "ospreymed"; - name = "Shutter Control"; - pixel_x = 5; - pixel_y = -25 + id = "harrierwindows"; + name = "Window Blast Door" }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -5; - pixel_y = -24 +/turf/open/floor/plating, +/area/ship/crew/canteen) +"uH" = ( +/obj/structure/table/reinforced, +/obj/item/table_bell{ + pixel_x = -4; + pixel_y = 13 }, -/obj/machinery/camera/autoname{ - dir = 1 +/obj/machinery/door/window/westright, +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/carpet/cyan, /area/ship/medical) -"yd" = ( -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"yg" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"yj" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/atmospherics) -"yl" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"yn" = ( -/obj/structure/disposalpipe/sorting/wrap, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" +"uI" = ( +/obj/machinery/door/window/southright{ + dir = 8; + name = "Freezer"; + req_access_txt = "28" }, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"yq" = ( -/obj/structure/disposalpipe/segment{ +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/siding{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/turf/open/floor/plasteel/freezer, +/area/ship/crew/canteen) +"uS" = ( +/obj/machinery/door/airlock{ + name = "Dormitory" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ship/crew) +"uT" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Room"; + req_access_txt = "10" }, /obj/structure/cable{ - icon_state = "1-8" + icon_state = "1-2" }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"yw" = ( -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"uW" = ( +/obj/machinery/atmospherics/pipe/simple/purple/visible{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"uX" = ( +/obj/structure/guncloset{ + req_access_txt = "2" }, -/obj/machinery/status_display/shuttle{ - pixel_x = 32 +/obj/item/gun/energy/e_gun/mini, +/obj/item/gun/ballistic/automatic/pistol/commander/no_mag, +/obj/item/radio/intercom/directional/east, +/obj/structure/sign/nanotrasen/vigilitas{ + pixel_y = 32 }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"yC" = ( -/obj/machinery/camera/emp_proof/motion{ +/obj/effect/turf_decal/trimline/opaque/vired/filled/warning{ dir = 8 }, +/obj/item/gun/energy/disabler, /turf/open/floor/plasteel/dark, -/area/ship/science/ai_chamber) -"yE" = ( -/obj/machinery/vending/cola/random, -/obj/structure/disposalpipe/segment{ - dir = 8 +/area/ship/security) +"uZ" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/bridge) +"va" = ( +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/arrow_ccw{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/machinery/camera{ + dir = 8 }, -/obj/structure/railing{ - layer = 2.91 +/obj/structure/chair/handrail{ + dir = 8 }, /turf/open/floor/plasteel, -/area/ship/hallway/central) -"yI" = ( -/obj/machinery/camera/autoname{ - dir = 5 - }, -/obj/machinery/computer/cryopod/directional/west, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/crew/cryo) -"yP" = ( -/obj/machinery/telecomms/relay{ - freq_listening = list(1351); - id = "Nanotrasen Relay"; - name = "Nanotrasen relay"; - network = "nt_commnet" +/area/ship/storage/eva) +"vd" = ( +/obj/structure/closet/secure_closet/head_of_personnel{ + populate = 0 }, -/obj/machinery/door/window/brigdoor/westleft{ +/obj/machinery/firealarm/directional/west, +/obj/item/clothing/shoes/laceup, +/obj/item/clothing/under/nanotrasen/officer, +/obj/item/clothing/suit/toggle/nanotrasen, +/obj/item/clothing/head/nanotrasen/officer, +/obj/item/clothing/head/nanotrasen/beret, +/obj/item/clothing/glasses/sunglasses, +/obj/item/storage/backpack/satchel/leather, +/obj/item/storage/box/ids, +/obj/machinery/light/small/directional/south, +/obj/item/clothing/suit/hooded/wintercoat, +/turf/open/floor/carpet/blue, +/area/ship/crew/dorm) +"vj" = ( +/obj/structure/disposalpipe/sorting/mail{ dir = 4; - name = "Comms Relay"; - req_one_access_txt = "61" - }, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"yQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "2-8" + sortTypes = list(2,3); + tag = "QM Office" }, -/obj/effect/turf_decal/corner/opaque/blue{ +/turf/open/floor/plasteel, +/area/ship/cargo) +"vl" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 8 }, -/obj/machinery/status_display/shuttle{ - pixel_x = 32 +/turf/open/floor/plasteel, +/area/ship/storage/eva) +"vm" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/full, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 }, /turf/open/floor/plasteel, /area/ship/hallway/central) -"yS" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/frame/machine, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"yT" = ( -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 +"vr" = ( +/obj/structure/railing, +/obj/structure/disposaloutlet{ + dir = 1 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 +/obj/structure/window/reinforced{ + dir = 8 }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"yU" = ( -/obj/effect/turf_decal/corner/opaque/purple{ +/obj/structure/window/reinforced{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 1 +/obj/structure/window/reinforced, +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/conveyor{ + dir = 1; + id = "harrier_packagesort" }, -/turf/open/floor/plasteel, +/turf/open/floor/plating, /area/ship/cargo) -"yX" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/light/directional/north, -/obj/machinery/rnd/destructive_analyzer, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"zb" = ( +"vs" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"zi" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/green{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, +/obj/effect/turf_decal/siding/yellow, /turf/open/floor/plasteel, -/area/ship/hallway/central) -"zl" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/toilet) -"zt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, +/area/ship/engineering) +"vC" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/stairs/mid{ - dir = 4 +/obj/machinery/door/airlock{ + dir = 4; + name = "Restroom"; + req_ship_access = 0 }, -/area/ship/cargo) -"zy" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Canteen"; +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloor{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/door/firedoor/border_only{ @@ -4016,539 +3858,458 @@ /obj/machinery/door/firedoor/border_only{ dir = 4 }, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, /turf/open/floor/plasteel, -/area/ship/crew/canteen) -"zF" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +/area/ship/crew) +"vI" = ( +/obj/structure/table, +/obj/item/storage/bag/trash{ + pixel_x = 5 + }, +/obj/item/reagent_containers/glass/bucket{ + pixel_x = -3; + pixel_y = 8 }, -/obj/effect/turf_decal/corner/opaque/purple{ +/obj/item/mop, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/janitor) +"vL" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/green{ - dir = 1 +/obj/structure/railing/corner{ + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 9 }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"vM" = ( /obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"zJ" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/machinery/vending/snack/random, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"zL" = ( -/obj/machinery/door/airlock/command{ - name = "First Officer's Quarters"; - req_access_txt = "57"; - dir = 8 + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/cable{ + icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"zM" = ( -/obj/structure/disposaloutlet{ - dir = 4 + dir = 6 }, -/obj/structure/disposalpipe/trunk{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/structure/window/reinforced{ +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"vN" = ( +/obj/structure/chair/office{ dir = 8 }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced, -/obj/machinery/conveyor{ - dir = 4; - id = "osprey_packagesort" - }, -/turf/open/floor/plating, -/area/ship/cargo/office) -"zN" = ( /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/landmark/start/quartermaster, +/turf/open/floor/plasteel, +/area/ship/cargo) +"vS" = ( +/obj/structure/filingcabinet/double/grey, +/obj/structure/sign/nanotrasen/ns{ + pixel_y = 32 }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"vT" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/railing, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/ship/hallway/central) -"zQ" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Canteen" }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"vW" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/turf_decal/trimline/opaque/blue/end{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"zU" = ( -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/opaque/bar{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Ac" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Ag" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engineering"; - req_access_txt = "10"; - dir = 8 +/obj/effect/turf_decal/siding/wood{ + dir = 10 }, /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/effect/turf_decal/borderfloor{ - dir = 8 +/obj/structure/closet/emcloset/wall/directional/south, +/turf/open/floor/wood, +/area/ship/crew) +"vY" = ( +/obj/structure/cable{ + icon_state = "1-8" }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/ntspaceworks_big/eight{ dir = 8 }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"vZ" = ( +/obj/structure/table/reinforced, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"wa" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/poddoor{ + dir = 1; + id = "harrierwindows"; + name = "Window Blast Door" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"wd" = ( +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/turf/open/floor/plasteel, -/area/ship/engineering) -"Ai" = ( -/obj/effect/turf_decal/corner/opaque/ntblue{ - dir = 8 +/obj/machinery/conveyor_switch/oneway{ + id = "harrier_packagesort" }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/structure/disposalpipe/segment{ + dir = 10 }, /turf/open/floor/plasteel, -/area/ship/hallway/central) -"Aj" = ( -/obj/machinery/door/firedoor/heavy, +/area/ship/cargo) +"wn" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/poddoor{ - id = "osprey_thruster_port"; - name = "Blast Door"; - dir = 4 + dir = 1; + id = "harrierdoors"; + name = "Cargo Bay Blast Door" }, -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1{ - dir = 4 +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "harrier_cargofield"; + locked = 1 }, -/turf/open/floor/plating, -/area/ship/science/ai_chamber) -"An" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters{ - id = "ospreysci" +/obj/structure/cable{ + icon_state = "0-1" }, -/obj/machinery/door/firedoor/window, /turf/open/floor/plating, -/area/ship/science) -"Ap" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 +/area/ship/storage/eva) +"wp" = ( +/obj/machinery/washing_machine, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel, +/area/ship/crew) +"wq" = ( +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, -/turf/open/floor/plasteel/dark, -/area/ship/science/ai_chamber) -"AB" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"AR" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/machinery/door/airlock/mining{ - name = "Cargo Office"; - req_access_txt = "31" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/borderfloor{ - dir = 1 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/effect/turf_decal/ntspaceworks_big/six{ + dir = 8 }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"AS" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, -/obj/structure/chair/office{ +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"wr" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/full, +/obj/effect/turf_decal/corner/opaque/white, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"wz" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 8 + }, +/obj/structure/railing/corner{ dir = 1 }, -/obj/effect/landmark/start/quartermaster, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 +/obj/structure/cable{ + icon_state = "2-8" }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"AT" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-8" }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"wA" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"Bc" = ( -/obj/structure/table/optable, -/obj/effect/turf_decal/corner/opaque/pink{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/pink{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, +/obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/white, /area/ship/medical) -"Bl" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/binary/volume_pump, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"Bn" = ( +"wD" = ( /obj/structure/disposalpipe/segment, -/obj/structure/closet/emcloset/anchored, -/obj/machinery/firealarm/directional/west, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 10 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Bp" = ( -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_y = -32 +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"wH" = ( +/turf/open/floor/plasteel/mono, +/area/ship/storage/eva) +"wL" = ( +/obj/structure/chair/comfy/blue/corpo/directional/south, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 9 }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Bq" = ( -/obj/structure/disposalpipe/segment{ +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/obj/structure/table, -/obj/item/storage/belt/utility{ - pixel_y = 6 - }, -/obj/item/hand_labeler{ - pixel_x = 15; - pixel_y = 7 +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"wM" = ( +/obj/machinery/telecomms/relay{ + freq_listening = list(1351); + id = "Nanotrasen Relay"; + name = "Nanotrasen relay"; + network = "nt_commnet" }, -/obj/item/multitool{ - pixel_x = 7; - pixel_y = 2 - }, -/obj/item/clothing/head/soft{ - pixel_x = -7 - }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/brown{ +/turf/open/floor/circuit, +/area/ship/science/ai_chamber) +"wN" = ( +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"wO" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ dir = 1 }, +/obj/structure/disposalpipe/trunk, /turf/open/floor/plasteel, -/area/ship/cargo/office) -"Bs" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"Bu" = ( -/obj/machinery/vending/cola/random, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 +/area/ship/hallway/central) +"wS" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/effect/turf_decal/borderfloor{ dir = 4 }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"Bv" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "osprey_packagesort" - }, -/obj/structure/sign/poster/contraband/steppyflag{ - pixel_x = 32 +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/starboard) +"wU" = ( +/obj/structure/cable{ + icon_state = "2-4" }, -/turf/open/floor/plating, -/area/ship/cargo/office) -"BH" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm) -"BK" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" + dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"wX" = ( +/turf/closed/wall/mineral/titanium/interior, +/area/ship/crew) +"wY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrogen_output, +/turf/open/floor/engine/n2, +/area/ship/engineering/atmospherics) +"xa" = ( +/obj/effect/turf_decal/siding/yellow, +/turf/open/floor/plasteel, +/area/ship/engineering) +"xe" = ( +/obj/machinery/button/door{ + dir = 4; + id = "harriercargo"; + name = "Shutter Control"; + pixel_x = -25; + pixel_y = 5 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/button/door{ + id = "harriercargoaccess"; + name = "Cargo Bay Shutters"; + pixel_x = -6; + pixel_y = 24 }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"BL" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 +/obj/machinery/button/door{ + id = "harriereva"; + name = "EVA Storage Shutters"; + pixel_x = 6; + pixel_y = 24 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/machinery/computer/cargo, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ dir = 8 }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"xf" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "2-8" }, -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, -/turf/open/floor/plasteel/dark, -/area/ship/science/ai_chamber) -"BN" = ( /obj/structure/cable{ - icon_state = "1-4" + icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"BU" = ( -/obj/machinery/door/window/eastleft, -/obj/structure/toilet{ - dir = 4 + dir = 10 }, -/obj/structure/curtain, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/toilet) -"Cj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 + dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/machinery/firealarm/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/cargo) -"Cn" = ( -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/mono, /area/ship/hallway/central) -"Cp" = ( -/obj/structure/disposalpipe/segment{ +"xg" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/bar, -/obj/effect/turf_decal/corner/opaque/bar{ - dir = 4 +/obj/structure/railing/corner{ + dir = 1 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 6 }, /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Cu" = ( -/obj/effect/turf_decal/box/corners{ +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"xj" = ( +/obj/structure/railing, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"Cv" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) -"Cw" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"CA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel, /area/ship/cargo) -"CC" = ( -/obj/effect/turf_decal/corner/opaque/ntblue{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, +"xl" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"CF" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/medical) -"CH" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 + dir = 4 }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"xn" = ( +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"xo" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"CL" = ( -/obj/machinery/door/airlock{ - name = "Restroom"; +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/closet/emcloset/wall/directional/south, +/obj/structure/chair/handrail{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"xv" = ( +/obj/structure/chair{ dir = 4 }, -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/effect/turf_decal/siding/yellow, +/turf/open/floor/plasteel, +/area/ship/engineering) +"xy" = ( +/obj/structure/table/wood, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"xD" = ( +/obj/item/kirbyplants/random, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 }, +/obj/structure/sign/poster/official/random{ + pixel_y = -32 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line, /turf/open/floor/plasteel, -/area/ship/crew/toilet) -"CQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/area/ship/hallway/central) +"xH" = ( +/obj/structure/railing, +/obj/structure/table, +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"CT" = ( -/obj/machinery/deepfryer, +/obj/structure/disposalpipe/junction/yjunction{ + dir = 4 + }, +/obj/item/stack/packageWrap{ + pixel_y = 11 + }, +/obj/item/stack/packageWrap{ + pixel_y = 5 + }, +/obj/item/stack/wrapping_paper, +/obj/item/stack/tape, +/turf/open/floor/plasteel, +/area/ship/cargo) +"xK" = ( /obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, @@ -4557,1920 +4318,1933 @@ }, /turf/open/floor/plasteel, /area/ship/crew/canteen) -"Dg" = ( -/obj/machinery/door/window/southright{ - name = "Kitchen"; - req_access_txt = "28" +"xM" = ( +/obj/structure/cable{ + icon_state = "2-8" }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/white{ +/turf/open/floor/plasteel/freezer, +/area/ship/crew/toilet) +"xN" = ( +/obj/structure/table/reinforced, +/obj/structure/window/reinforced{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ +/obj/structure/window/reinforced{ dir = 1 }, -/obj/structure/curtain/bounty, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"Di" = ( -/obj/structure/filingcabinet/double, -/obj/effect/turf_decal/corner/opaque/ntblue{ +/obj/machinery/computer/med_data/laptop{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/ntblue{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Dj" = ( -/obj/structure/table/glass, -/obj/item/defibrillator, -/obj/effect/turf_decal/corner/opaque/pink{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/pink{ - dir = 1 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/pink, -/obj/structure/sign/warning/nosmoking/circle{ - pixel_x = 25 +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/carpet/cyan, /area/ship/medical) -"Dq" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/structure/marker_beacon, -/turf/open/floor/engine/hull, -/area/ship/external) -"Dx" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"DA" = ( +"xQ" = ( /obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light_switch{ - pixel_x = 20; - dir = 8; - pixel_y = 11 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"DE" = ( -/obj/effect/turf_decal/industrial/loading{ - dir = 8 + icon_state = "4-8" }, -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/turf/open/floor/plasteel/freezer, +/area/ship/crew/toilet) +"xS" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"DF" = ( -/obj/structure/sign/number/eight{ - color = "Black" +/turf/open/floor/plasteel, +/area/ship/crew) +"yc" = ( +/obj/structure/cable{ + icon_state = "5-10" }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo/office) -"DH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"yd" = ( +/obj/structure/railing{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/yellow{ dir = 4 }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"DK" = ( -/obj/machinery/vending/dinnerware, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/stairs{ + dir = 1 + }, +/area/ship/engineering/engine) +"yl" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white{ +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"ym" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"DO" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/machinery/firealarm/directional/east, +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"yr" = ( +/obj/machinery/door/airlock/mining{ + dir = 4; + name = "Storage Bay"; + req_access_txt = "31" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) -"DP" = ( -/obj/structure/sign/number/four{ - color = "Black"; - dir = 1 +"ys" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 6 }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/science) -"DU" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/bridge) -"DV" = ( -/obj/structure/chair{ +/obj/effect/turf_decal/industrial/warning, +/obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/structure/railing{ - dir = 6; - layer = 3.1 +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engine) +"yx" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "2-4" }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"DY" = ( -/obj/structure/chair{ - dir = 8 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/light/directional/east, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Ee" = ( -/obj/structure/closet/secure_closet{ - icon_state = "med_secure"; - name = "medical doctor's locker" - }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 6 }, -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/ship/engineering/engine) +"yz" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/item/storage/backpack/duffelbag/med, -/obj/item/storage/backpack/messenger/med, -/obj/item/storage/backpack/satchel/med, -/obj/item/storage/backpack/medic, -/obj/item/clothing/shoes/sneakers/white, -/obj/item/clothing/under/rank/medical/doctor/skirt, -/obj/item/clothing/under/rank/medical/doctor, -/obj/item/clothing/suit/toggle/labcoat, -/obj/item/storage/belt/medical, -/obj/item/clothing/glasses/hud/health, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -19; - pixel_y = 12 +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Ek" = ( +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engine) +"yB" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"yE" = ( /obj/effect/turf_decal/industrial/warning{ - dir = 6 + dir = 5 }, -/obj/machinery/conveyor_switch/oneway{ - id = "osprey_packagesort" +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 }, /turf/open/floor/plasteel, -/area/ship/cargo/office) -"Em" = ( -/obj/machinery/door/window/eastright{ - dir = 2; - req_access = list(11) +/area/ship/cargo) +"yG" = ( +/obj/structure/table/wood, +/obj/item/storage/pill_bottle/dice, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/computer/helm/viewscreen/directional/south, +/turf/open/floor/wood, +/area/ship/crew) +"yI" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, /obj/machinery/door/firedoor/border_only, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "5-10" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"Es" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 4 +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"yL" = ( +/obj/structure/fluff/hedge, +/obj/structure/fluff/hedge, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 1 }, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line, +/turf/open/floor/plasteel/tech/techmaint, /area/ship/hallway/central) -"Ey" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +"yR" = ( +/obj/item/storage/backpack/medic, +/obj/item/clothing/shoes/sneakers/blue, +/obj/item/clothing/under/nanotrasen/medical/paramedic, +/obj/item/clothing/head/nanotrasen/cap/medical, +/obj/item/clothing/glasses/hud/health, +/obj/item/storage/belt/medical/paramedic, +/obj/structure/closet/secure_closet/medical3{ + icon_state = "brig_phys"; + name = "paramedic's locker"; + populate = 0; + req_access = list(5) + }, +/obj/item/storage/backpack/messenger/para, +/obj/effect/turf_decal/trimline/opaque/blue/line{ + dir = 1 }, +/obj/item/clothing/suit/hooded/wintercoat/medical/paramedic, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"yS" = ( +/obj/machinery/door/airlock/external/glass{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 + dir = 4 }, -/obj/structure/cable{ - icon_state = "1-4" +/turf/open/floor/engine, +/area/ship/engineering/engine) +"yY" = ( +/obj/structure/toilet{ + dir = 1 }, -/obj/structure/railing, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"EA" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"EN" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters{ - id = "ospreywindows"; - dir = 4 +/turf/open/floor/plasteel/freezer, +/area/ship/bridge) +"za" = ( +/obj/machinery/conveyor/inverted{ + dir = 6; + id = "harrier_packagesort" }, -/obj/machinery/door/firedoor/heavy, /turf/open/floor/plating, -/area/ship/crew/cryo) -"EO" = ( -/obj/structure/closet, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/machinery/firealarm/directional/south, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"ET" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = 6 +/area/ship/cargo) +"zc" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1{ + dir = 8 }, -/obj/item/folder, -/obj/item/pen, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"EW" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 +/obj/machinery/door/poddoor{ + dir = 4; + id = "harrierwindows"; + name = "Window Blast Door" }, -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer5{ dir = 4 }, /turf/open/floor/plating, -/area/ship/engineering) -"EX" = ( +/area/ship/engineering/atmospherics) +"zd" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/light/small/directional/north, /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 6 }, -/obj/effect/turf_decal/corner/opaque/brown, -/obj/effect/turf_decal/corner/opaque/brown{ +/turf/open/floor/carpet/cyan, +/area/ship/medical) +"zm" = ( +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/camera, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"zr" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Fe" = ( -/obj/machinery/door/airlock/highsecurity{ - name = "AI Chamber"; - req_access_txt = "10" +/obj/machinery/light_switch{ + pixel_x = -5; + pixel_y = 20 }, -/obj/structure/disposalpipe/segment{ - dir = 2 +/obj/machinery/firealarm/directional/north{ + pixel_x = 6 }, -/obj/effect/turf_decal/borderfloor{ +/obj/effect/turf_decal/trimline/opaque/vired/line{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/ai_chamber) -"Fj" = ( -/obj/structure/window/reinforced{ - dir = 4 +/turf/open/floor/plasteel/dark, +/area/ship/security) +"zs" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste{ + dir = 4; + piping_layer = 1 }, -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer5{ + dir = 6 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"Fk" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"zv" = ( +/obj/effect/turf_decal/trimline/opaque/blue/line, +/obj/structure/closet/emcloset/wall/directional/south, +/obj/machinery/camera{ + dir = 10 }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Fo" = ( -/obj/effect/turf_decal/corner/opaque/white{ +/turf/open/floor/plasteel/white, +/area/ship/medical) +"zx" = ( +/obj/structure/sign/directions/service{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 +/obj/structure/sign/directions/supply{ + dir = 4; + pixel_y = -6 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel, +/obj/structure/sign/directions/medical{ + dir = 4; + pixel_y = 6 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/crew/canteen) -"Fr" = ( -/obj/structure/table, -/obj/item/instrument/saxophone, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"Fs" = ( -/obj/machinery/door/window/northleft{ - name = "Mining Storage"; - req_access_txt = "48" +"zy" = ( +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/borderfloor{ +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"zF" = ( +/obj/structure/fluff/hedge, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ dir = 1 }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"zI" = ( /obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 + icon_state = "1-4" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/cargo) -"FC" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 +/obj/machinery/atmospherics/components/binary/volume_pump/on/layer4{ + dir = 8; + name = "Waste to Recycling" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 1 +/obj/machinery/atmospherics/pipe/manifold/green/visible/layer1{ + dir = 4 }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"FF" = ( -/obj/machinery/button/massdriver{ - id = "osprey_disposals"; - name = "disposals button"; - pixel_x = 7; - pixel_y = 24 +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 5 }, -/obj/machinery/button/door{ - id = "osprey_disposals_preopen"; - pixel_x = -7; - pixel_y = 25 +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer5{ + dir = 5 }, -/obj/machinery/conveyor_switch/oneway{ - id = "osprey_garbage" +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 1 }, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"FI" = ( -/obj/structure/sign/warning/docking{ - pixel_y = -8 +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 4 }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/central) -"FL" = ( -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"FP" = ( /obj/structure/disposalpipe/segment{ - dir = 8 + dir = 5 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/turf/open/floor/plasteel, +/area/ship/engineering/engine) +"zO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 4 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"FV" = ( -/obj/structure/sign/departments/restroom, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/toilet) -"FZ" = ( -/obj/structure/table/wood, -/obj/structure/bedsheetbin, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Ga" = ( -/obj/structure/chair{ +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"zT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/effect/landmark/start/assistant, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"zU" = ( +/obj/structure/cable{ + icon_state = "4-10" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Ge" = ( -/obj/effect/turf_decal/corner/transparent/neutral, -/turf/open/floor/plasteel, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, /area/ship/hallway/central) -"Gk" = ( -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"Gp" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ +"zV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/chair/handrail{ dir = 4 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"Gr" = ( +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"zX" = ( +/obj/machinery/computer/station_alert{ + dir = 8; + icon_state = "computer-left" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, /obj/structure/cable{ icon_state = "1-2" }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"zY" = ( +/obj/structure/table/reinforced, +/obj/item/folder/blue, /obj/structure/cable{ icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"Gt" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/poddoor{ - id = "ospreydoors"; - name = "Cargo Bay Blast Door"; - dir = 4 +/turf/open/floor/carpet/royalblue, +/area/ship/bridge) +"Ad" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Gu" = ( -/obj/machinery/conveyor/inverted{ - dir = 10; - id = "osprey_packagesort" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/turf/open/floor/plating, -/area/ship/cargo/office) -"Gw" = ( -/obj/machinery/conveyor/inverted{ - dir = 6; - id = "osprey_production" +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Ah" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/window/westright, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8; + sortType = 22; + tag = "Janitor Closet" }, /turf/open/floor/plating, -/area/ship/cargo) -"Gz" = ( -/obj/machinery/door/airlock/highsecurity{ - name = "AI Chamber"; - req_access_txt = "10" +/area/ship/crew/janitor) +"Aj" = ( +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/structure/disposalpipe/segment{ - dir = 2 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/turf_decal/borderfloor, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Ak" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/plasteel/freezer, +/area/ship/crew/toilet) +"Al" = ( +/obj/structure/railing, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/hand_labeler_refill, +/obj/item/hand_labeler_refill, +/obj/item/hand_labeler, +/obj/item/destTagger, +/turf/open/floor/plasteel, +/area/ship/cargo) +"Ao" = ( +/obj/machinery/computer/card{ + dir = 8; + icon_state = "computer-left" + }, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, /turf/open/floor/plasteel/tech/grid, -/area/ship/science/ai_chamber) -"GC" = ( -/obj/machinery/vending/boozeomat, -/obj/effect/turf_decal/corner/opaque/white{ +/area/ship/bridge) +"Av" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ dir = 8 }, -/obj/structure/sign/poster/official/cleanliness{ - pixel_y = 32 - }, -/obj/machinery/light/directional/west, +/turf/open/floor/plasteel, +/area/ship/storage/eva) +"Aw" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/opaque/ntblue/line, /turf/open/floor/plasteel, /area/ship/crew/canteen) -"GG" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/deliveryChute, -/obj/structure/window/reinforced{ - dir = 8 +"Ax" = ( +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/structure/window/reinforced{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/obj/structure/window/reinforced{ - dir = 1 +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 0 }, -/obj/machinery/door/window/southright, -/turf/open/floor/plating, -/area/ship/cargo/office) -"GN" = ( /obj/structure/disposalpipe/segment{ - dir = 6 + dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/janitor) +"Az" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"GU" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/effect/turf_decal/borderfloor{ +/obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"GX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"Hb" = ( -/obj/structure/closet/secure_closet{ - icon_state = "med"; - name = "mortuary locker" - }, -/obj/item/storage/box/bodybags{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/storage/box/syringes{ - pixel_x = -6 - }, -/obj/item/storage/box/gloves, -/obj/item/reagent_containers/glass/bottle/formaldehyde{ - pixel_x = 8; - pixel_y = 8 +/obj/machinery/camera, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/carpet/cyan, +/area/ship/medical) +"AE" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/engine) +"AS" = ( +/obj/structure/bed, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"AW" = ( +/obj/structure/table/reinforced, +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/item/reagent_containers/glass/bottle{ - list_reagents = list(/datum/reagent/medicine/thializid=30); - name = "thializid bottle"; - pixel_x = 5 +/obj/structure/cable{ + icon_state = "2-8" }, -/obj/effect/turf_decal/industrial/warning/corner{ +/obj/effect/turf_decal/siding/wideplating/dark{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/item/storage/fancy/donut_box, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Bb" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/arrow_ccw, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Bd" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/obj/item/storage/box/masks, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Hf" = ( -/obj/machinery/power/port_gen/pacman, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/sign/warning/electricshock{ - pixel_y = 25 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Hi" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"Bj" = ( +/obj/machinery/holopad/emergency/kitchen, +/obj/effect/turf_decal/box, /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/turf_decal/corner/opaque/yellow{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Hk" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "0-4" +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"Bm" = ( +/obj/machinery/holopad/emergency/engineering, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Hn" = ( -/turf/open/floor/plasteel/freezer, -/area/ship/crew/toilet) -"Ho" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engine) +"Bq" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Ht" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 }, /turf/open/floor/plasteel, -/area/ship/cargo/office) -"Hx" = ( +/area/ship/crew) +"Br" = ( /obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = 6 +/obj/structure/window/reinforced{ + dir = 1 }, -/obj/item/clipboard{ - pixel_x = -7 +/obj/item/paper_bin, +/obj/item/folder/white, +/obj/item/pen, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/item/folder/white{ - pixel_x = -7 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/item/pen{ - pixel_x = -7 +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/item/stamp/cmo{ - pixel_x = -1; - pixel_y = 12 +/obj/item/stamp/nanotrasen{ + pixel_x = -12; + pixel_y = 4 }, /turf/open/floor/plasteel/white, /area/ship/medical) -"Hy" = ( -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 1 - }, -/obj/structure/rack, -/obj/item/pickaxe, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"HD" = ( -/obj/structure/closet/secure_closet{ - icon_state = "hop"; - name = "\proper first officer's locker"; - req_access_txt = "57" +"Bs" = ( +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/structure/sign/poster/official/bless_this_spess{ - pixel_y = 32 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 8 }, -/obj/item/storage/backpack/duffelbag, -/obj/item/storage/backpack/messenger, -/obj/item/storage/backpack, -/obj/item/storage/backpack/satchel/leather, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/under/nanotrasen/officer/skirt, -/obj/item/clothing/under/nanotrasen/officer, -/obj/item/clothing/suit/armor/vest/hop, -/obj/item/clothing/gloves/color/white, -/obj/item/clothing/glasses/sunglasses, -/obj/item/clothing/head/hopcap/nt, -/obj/item/assembly/flash/handheld, -/obj/item/storage/box/ids, -/obj/item/storage/box/PDAs, -/turf/open/floor/carpet/blue, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"Bx" = ( +/obj/structure/sign/departments/custodian, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/bridge) -"HE" = ( -/obj/machinery/door/firedoor/heavy, -/obj/machinery/door/poddoor{ - id = "osprey_thruster_port"; - name = "Blast Door"; - dir = 4 - }, -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 4 +"BA" = ( +/obj/structure/cable{ + icon_state = "2-4" }, -/turf/open/floor/plating, -/area/ship/science/ai_chamber) -"HK" = ( -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"HU" = ( -/obj/structure/chair{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/blue, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"HV" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/n2, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"Ib" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 }, -/obj/structure/railing, /turf/open/floor/plasteel, /area/ship/hallway/central) -"Ie" = ( -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 1 - }, -/obj/machinery/photocopier, -/obj/machinery/computer/helm/viewscreen/directional/west, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"Ig" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"Ih" = ( +"BF" = ( /obj/item/kirbyplants/random, -/obj/effect/turf_decal/corner/opaque/blue{ +/turf/open/floor/plasteel, +/area/ship/bridge) +"BG" = ( +/obj/structure/chair/office/light{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/machinery/camera/autoname{ - dir = 10 +/obj/effect/landmark/start/paramedic, +/obj/machinery/button/door{ + dir = 1; + id = "lobbydoors"; + name = "Lobby Door Control"; + normaldoorcontrol = 1; + pixel_y = -20 }, -/obj/machinery/light/directional/west, /turf/open/floor/plasteel/white, /area/ship/medical) -"Ii" = ( -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Iq" = ( -/obj/structure/table, -/obj/item/multitool{ - pixel_y = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +"BI" = ( +/obj/effect/mapping_helpers/airlock/unres{ dir = 4 }, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/glasses/welding{ - pixel_y = -1 - }, -/turf/open/floor/plasteel/white, -/area/ship/science) -"Iv" = ( -/obj/machinery/pipedispenser, -/obj/structure/cable{ - icon_state = "2-8" - }, /obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/obj/machinery/button/door{ - id = "osprey_thruster_starboard"; - name = "Blast Door Control"; - pixel_y = 25 + icon_state = "4-8" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"Ix" = ( -/obj/structure/window/reinforced{ - dir = 8 +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + name = "Infirmary"; + req_access_txt = "5" }, -/obj/machinery/suit_storage_unit/engine, -/obj/effect/turf_decal/corner/opaque/yellow{ +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"Iz" = ( -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics"; - req_access_txt = "24"; - dir = 8 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, /obj/effect/turf_decal/borderfloor{ dir = 8 }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"BO" = ( +/obj/effect/spawner/random/vending/cola, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"BS" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel, -/area/ship/engineering/atmospherics) -"IA" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/arrow_cw{ + dir = 1 }, -/obj/structure/closet/crate/internals, -/obj/item/clothing/suit/space/orange, -/obj/item/clothing/suit/space/orange, -/obj/item/clothing/suit/space/orange, -/obj/item/clothing/head/helmet/space/orange, -/obj/item/clothing/head/helmet/space/orange, -/obj/item/clothing/head/helmet/space/orange, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"IL" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/science) -"IR" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"BU" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/poddoor{ + dir = 4; + id = "harrierwindows"; + name = "Window Blast Door" }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 +/turf/open/floor/plating, +/area/ship/crew/canteen) +"BY" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/structure/disposalpipe/segment{ - dir = 2 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/poddoor/shutters{ - id = "ospreykitchen" +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/mono, /area/ship/crew/canteen) -"IT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +"Ci" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "harrier_enginevent" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/engine/vacuum, +/area/ship/engineering/engine) +"Ck" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2 + dir = 8 }, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"IU" = ( -/obj/effect/landmark/start/paramedic, -/obj/effect/turf_decal/corner/opaque/lime{ - dir = 1 +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"Cm" = ( +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Cn" = ( +/obj/structure/table/wood, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 0 }, -/obj/effect/turf_decal/corner/opaque/lime{ - dir = 4 +/obj/machinery/airalarm/directional/north, +/obj/item/reagent_containers/food/drinks/bottle/champagne{ + pixel_x = 6; + pixel_y = 22 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"IV" = ( -/obj/structure/chair{ - dir = 4 +/obj/item/reagent_containers/food/drinks/bottle/champagne{ + pixel_x = -6; + pixel_y = 22 }, -/obj/structure/sign/poster/official/high_class_martini{ - pixel_y = -32 +/obj/item/reagent_containers/food/drinks/modglass/large{ + pixel_x = 7; + pixel_y = 12 }, -/obj/effect/turf_decal/siding/wood{ - dir = 10 +/obj/item/reagent_containers/food/drinks/modglass/large{ + pixel_x = -6; + pixel_y = 12 }, -/obj/machinery/light/directional/west, +/obj/item/reagent_containers/food/drinks/modglass/large{ + pixel_y = 6 + }, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/dormtwo) +"Co" = ( +/obj/structure/chair/sofa/blue/corpo/left/directional/east, /turf/open/floor/wood, -/area/ship/crew/canteen) -"IW" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm) -"IX" = ( -/obj/effect/turf_decal/box/corners{ +/area/ship/crew) +"Cv" = ( +/turf/closed/wall/mineral/titanium/interior, +/area/ship/security) +"Cz" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"IY" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/engineering/atmospherics) -"Jc" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/shower{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/structure/sign/warning/nosmoking/circle{ - pixel_x = 25 +/turf/open/floor/plasteel/white, +/area/ship/medical) +"CA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, -/turf/open/floor/noslip, -/area/ship/engineering) -"Jl" = ( -/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"Jt" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"Jw" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, -/obj/machinery/door/window/eastleft, -/obj/machinery/conveyor{ - dir = 1; - id = "osprey_garbage" +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"CH" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 1 }, -/obj/machinery/camera/autoname{ - dir = 5 +/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"JD" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/effect/turf_decal/corner/opaque/lime, -/obj/effect/turf_decal/corner/opaque/lime{ +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"CI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"CJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"JG" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/corner/opaque/white{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 +/obj/machinery/camera{ + dir = 6 }, -/obj/structure/disposalpipe/trunk{ - dir = 4 +/turf/open/floor/plasteel, +/area/ship/crew) +"CK" = ( +/obj/structure/closet/secure_closet/security{ + populate = 0; + req_access = list(2) }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 5; - pixel_y = -24 +/obj/structure/sign/poster/retro/lasergun_new{ + pixel_x = 32 }, -/obj/machinery/button/door{ +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/under/nanotrasen/security, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/head/nanotrasen/cap/security, +/obj/item/clothing/head/nanotrasen/beret/security, +/obj/item/clothing/glasses/sunglasses, +/obj/item/storage/backpack/security, +/obj/item/storage/box/handcuffs, +/obj/item/reagent_containers/spray/pepper, +/obj/item/ammo_box/magazine/co9mm, +/obj/item/ammo_box/magazine/co9mm, +/obj/item/storage/box/ammo/c9mm, +/obj/item/storage/box/ammo/c9mm, +/obj/item/storage/box/ammo/c9mm_rubber, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/item/storage/belt/security, +/obj/item/melee/knife/survival, +/obj/item/clothing/suit/hooded/wintercoat/security, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"CN" = ( +/obj/machinery/conveyor{ dir = 1; - id = "ospreykitchen"; - name = "Shutter Control"; - pixel_x = -5; - pixel_y = -25 + id = "harrier_packagesort" }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"JL" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/food/drinks/shaker, -/obj/item/reagent_containers/food/condiment/enzyme, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 +/obj/structure/sign/poster/official/random{ + pixel_x = 32 }, -/obj/effect/turf_decal/corner/opaque/white{ +/turf/open/floor/plating, +/area/ship/cargo) +"CO" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/storage/eva) +"CP" = ( +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1, +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer5{ + dir = 10 + }, +/obj/structure/chair/handrail{ dir = 8 }, -/obj/item/reagent_containers/glass/rag, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"JN" = ( -/obj/structure/cable{ - icon_state = "1-4" +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"CR" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/turf/open/floor/plasteel/white, +/area/ship/medical) +"CV" = ( +/obj/machinery/power/shuttle/engine/fueled/plasma{ + dir = 4 }, /obj/machinery/door/poddoor{ - id = "osprey_tank_vent" + dir = 4; + id = "harrier_thrusters_port"; + name = "Thruster Blast Door" }, -/turf/open/floor/engine, +/turf/open/floor/plating, /area/ship/engineering/atmospherics) -"JO" = ( -/obj/machinery/holopad/emergency/engineering, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"JW" = ( -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/corner/transparent/neutral{ +"CW" = ( +/obj/machinery/cryopod{ dir = 4 }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"JX" = ( -/obj/structure/sign/departments/engineering, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/janitor) -"Ka" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, +/turf/open/floor/circuit, +/area/ship/crew/cryo) +"Da" = ( /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-4" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/science/ai_chamber) +"Db" = ( +/obj/structure/chair/comfy/blue/corpo{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/turf/open/floor/carpet/executive, +/area/ship/crew/law_office) +"Dg" = ( +/obj/effect/turf_decal/industrial/warning/corner{ dir = 1 }, -/obj/structure/fireaxecabinet{ - pixel_y = 32 +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/machinery/camera/autoname, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"Ko" = ( -/obj/structure/window/plasma/reinforced, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engine) +"Dk" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/janitor) +"Dl" = ( +/obj/machinery/computer/cryopod/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"Dr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/opaque/blue/filled/end, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Ds" = ( /obj/structure/cable{ - icon_state = "2-8" + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/obj/machinery/atmospherics/components/unary/thermomachine/freezer, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"KA" = ( -/obj/effect/turf_decal/industrial/warning/corner, -/obj/machinery/light/directional/east, /turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"KC" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 5 +/area/ship/engineering/atmospherics) +"Dy" = ( +/obj/structure/railing{ + dir = 8 }, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"KD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/stairs{ + dir = 1 + }, +/area/ship/bridge) +"DC" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Computer Core" + }, /obj/structure/cable{ - icon_state = "0-4" + icon_state = "4-8" }, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"KE" = ( -/obj/structure/closet/secure_closet{ - icon_state = "brig_phys"; - name = "paramedic's locker" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/item/storage/backpack/duffelbag/med, -/obj/item/storage/backpack/satchel/med, -/obj/item/storage/backpack/medic, -/obj/item/storage/backpack/messenger/para, -/obj/item/clothing/shoes/sneakers/blue, -/obj/item/clothing/under/rank/medical/paramedic/skirt, -/obj/item/clothing/under/rank/medical/paramedic, -/obj/item/clothing/head/soft/paramedic, -/obj/item/storage/belt/medical, -/obj/item/clothing/glasses/hud/health, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"KI" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"KL" = ( -/obj/structure/chair/comfy/orange/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "0-2" +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 }, /turf/open/floor/plasteel/dark, -/area/ship/bridge) -"La" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/area/ship/science/ai_chamber) +"DD" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/structure/disposalpipe/junction/flip, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Lc" = ( -/obj/machinery/computer/med_data{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Ll" = ( -/obj/structure/sign/departments/cargo, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo/office) -"Lt" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"DH" = ( +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/machinery/light/directional/west, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ dir = 8 }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"DM" = ( +/obj/machinery/door/firedoor/window, +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/poddoor{ + dir = 4; + id = "harrierbridge"; + name = "Window Blast Door" + }, /obj/structure/cable{ - icon_state = "1-4" + icon_state = "0-8" }, +/turf/open/floor/plating, +/area/ship/bridge) +"DP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"DQ" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Eb" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "5-10" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Eh" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 9 }, -/obj/effect/turf_decal/industrial/shutoff, +/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/plasteel, +/area/ship/engineering/engine) +"Ei" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, /area/ship/hallway/central) -"Lz" = ( -/obj/structure/table/reinforced, +"Em" = ( +/obj/machinery/door/window/southright{ + name = "Kitchen"; + req_access_txt = "28" + }, /obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, /obj/effect/turf_decal/corner/opaque/white{ dir = 8 }, -/obj/machinery/door/poddoor/shutters{ - id = "ospreykitchen" - }, -/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, /area/ship/crew/canteen) -"LB" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible, -/obj/effect/turf_decal/industrial/warning{ +"Eq" = ( +/obj/effect/turf_decal/atmos/oxygen, +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/oxygen_input{ + dir = 8; + piping_layer = 1 + }, +/turf/open/floor/engine/o2, +/area/ship/engineering/atmospherics) +"Er" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/engineering) -"LE" = ( -/obj/machinery/door/window/brigdoor/westleft{ - name = "AI Core Access"; - req_one_access_txt = "16" +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 8 }, -/obj/structure/rack, -/obj/item/aiModule/core/full/asimov, -/obj/item/aiModule/core/full/corp, -/obj/item/aiModule/core/freeformcore, -/obj/item/aiModule/reset/purge{ - pixel_y = 5 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"LF" = ( -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"LK" = ( -/obj/structure/window/reinforced, -/obj/structure/table, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 2; - pixel_y = 10 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 8 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"LV" = ( -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/dorm) -"LW" = ( /obj/structure/disposalpipe/segment{ - dir = 2 + dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Ev" = ( +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"Ey" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/science/ai_chamber) -"LX" = ( -/obj/structure/disposalpipe/trunk{ +/obj/effect/turf_decal/borderfloor, +/obj/structure/sign/poster/official/safety_internals{ + pixel_x = -32 + }, +/obj/structure/chair/handrail{ dir = 4 }, -/obj/structure/disposaloutlet{ - dir = 1 +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/storage/eva) +"Ez" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/structure/window/reinforced{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/conveyor{ - dir = 1; - id = "osprey_garbage" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/ntspaceworks_big/two{ + dir = 8 }, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"Ma" = ( /obj/structure/disposalpipe/segment{ - dir = 2 + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"EB" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/turretid{ - pixel_x = 28; - req_access = null; - req_access_txt = "16" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/ship/cargo) +"ED" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ - dir = 10 +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"EF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer4{ + dir = 4; + piping_layer = 5 }, -/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, -/obj/structure/catwalk/over, +/turf/open/floor/engine/vacuum, +/area/ship/engineering/engine) +"EJ" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/light/small/directional/south, /turf/open/floor/plating, -/area/ship/science/ai_chamber) -"Mc" = ( -/obj/structure/sign/warning/vacuum/external, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/central) -"Mo" = ( -/obj/effect/turf_decal/industrial/warning/corner, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"Mu" = ( -/obj/structure/window/reinforced{ +/area/ship/engineering/engine) +"EQ" = ( +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1{ dir = 8 }, -/obj/structure/closet/secure_closet{ - icon_state = "eng_secure"; - name = "engineer's locker"; - req_access = list(11) - }, -/obj/item/storage/backpack/industrial, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/under/rank/engineering/engineer/nt, -/obj/item/clothing/under/rank/engineering/engineer/nt/skirt, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/head/hardhat/weldhat, -/obj/item/storage/belt/utility/full/engi, -/obj/machinery/light_switch{ - pixel_y = 24 +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + name = "Air to Supply" }, -/obj/effect/turf_decal/corner/opaque/yellow{ +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"ES" = ( +/obj/machinery/firealarm/directional/south, +/obj/structure/janitorialcart{ dir = 8 }, -/obj/item/holosign_creator/engineering, -/obj/item/storage/box/metalfoam, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"My" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/janitor) +"EU" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"EV" = ( +/obj/structure/bed, +/obj/structure/curtain/bounty, +/obj/item/bedsheet/nanotrasen, +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"EX" = ( +/obj/machinery/door/airlock/command{ dir = 4; - sortTypes = list(16,26); - tag = "Dormitories" + name = "Captain's Quarters"; + req_access_txt = "20" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, /obj/structure/cable{ - icon_state = "1-4" + icon_state = "4-8" + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm/dormtwo) +"EY" = ( +/obj/structure/railing/corner{ + dir = 4 }, +/obj/structure/table/reinforced, +/obj/item/flashlight/lamp/green, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "2-8" }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"MB" = ( -/obj/structure/sign/departments/engineering, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/toilet) -"MJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 +/turf/open/floor/carpet/royalblue, +/area/ship/bridge) +"Fi" = ( +/obj/machinery/holopad/emergency/command, +/obj/structure/cable{ + icon_state = "1-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Fl" = ( /obj/structure/cable{ - icon_state = "1-8" + icon_state = "5-10" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer5, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"ML" = ( -/obj/effect/turf_decal/box, -/obj/machinery/shower{ - dir = 8 +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Fo" = ( +/obj/structure/cable{ + icon_state = "1-4" }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/cargo) -"MM" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/engineering) -"MR" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"MT" = ( -/obj/machinery/power/ship_gravity, -/obj/structure/cable, -/obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/plasteel/patterned/grid, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Fp" = ( +/obj/structure/sign/warning/nosmoking, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/engineering) -"Nd" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +"Fx" = ( +/obj/structure/railing/corner, +/obj/structure/table/reinforced, +/obj/machinery/fax/nanotrasen, /obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Ni" = ( -/obj/effect/turf_decal/corner/opaque/ntblue{ - dir = 8 + icon_state = "1-8" }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Nm" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"Fy" = ( +/obj/structure/table/wood, +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"FD" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/dorm) -"Np" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/siding/yellow{ + dir = 1 }, /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/structure/sign/poster/official/safety_eye_protection{ + pixel_y = 32 + }, /turf/open/floor/plasteel, -/area/ship/hallway/central) -"Nq" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/area/ship/engineering) +"FK" = ( +/obj/machinery/computer/aifixer, +/obj/machinery/camera/motion{ + dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 2 +/turf/open/floor/circuit, +/area/ship/science/ai_chamber) +"FN" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-1" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/camera{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"FO" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/arrow_ccw, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"FP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer5, -/obj/machinery/atmospherics/pipe/simple/green/visible/layer1{ - dir = 9 +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/arrow_cw, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"FQ" = ( +/obj/structure/cable{ + icon_state = "2-8" }, -/obj/structure/sign/poster/official/moth/piping{ - pixel_x = 32 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"Nr" = ( /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 1 +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 8 }, -/obj/structure/table, -/obj/item/stack/sheet/metal/five{ - pixel_x = -3 +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"FS" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/item/stack/sheet/glass/five{ - pixel_x = 2; - pixel_y = 5 +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 }, -/obj/machinery/camera/autoname{ - dir = 6 +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"FX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"Nv" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/brown, -/obj/structure/sign/poster/retro/radio{ - pixel_x = -32 +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"FY" = ( +/obj/structure/table/glass, +/obj/item/storage/box/bodybags{ + pixel_x = -7; + pixel_y = 4 }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"Nw" = ( -/obj/machinery/door/airlock{ - name = "Dormitory" +/obj/item/reagent_containers/glass/bottle/formaldehyde{ + pixel_x = 8; + pixel_y = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 2 +/obj/machinery/light/small/directional/south, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/borderfloor{ +/obj/item/reagent_containers/syringe, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"Ga" = ( +/obj/effect/landmark/start/station_engineer, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ship/engineering) +"Gd" = ( +/obj/structure/fluff/hedge, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/end{ dir = 1 }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/canteen) +"Gg" = ( +/obj/structure/railing, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm) -"NA" = ( -/obj/effect/landmark/start/shaft_miner, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/cargo) -"ND" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/corner/transparent/neutral{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"NH" = ( -/obj/structure/table/glass, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = -3; - pixel_y = 13 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/pink{ +/turf/open/floor/plasteel/stairs{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/pink, -/obj/item/clothing/gloves/color/latex/nitrile, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"NP" = ( -/obj/machinery/suit_storage_unit/atmos, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ +/area/ship/cargo) +"Gi" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/structure/window/reinforced{ +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"Gq" = ( +/obj/structure/disposalpipe/segment{ dir = 8 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"NT" = ( -/obj/machinery/atmospherics/components/unary/tank/toxins, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"NW" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"Of" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/on/layer2{ - dir = 1 +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ship/storage/eva) +"Gr" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" }, /obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/engine/air, -/area/ship/engineering/atmospherics) -"Oh" = ( -/obj/structure/dresser, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Oj" = ( -/obj/effect/landmark/start/scientist, -/obj/structure/chair/office/light, +/obj/item/clothing/shoes/sneakers/brown, +/obj/item/clothing/under/nanotrasen/supply/qm, +/obj/item/storage/backpack/satchel/leather, +/obj/item/clothing/glasses/sunglasses, +/obj/item/clothing/head/nanotrasen/cap/supply, +/obj/structure/closet/secure_closet/quartermaster{ + populate = 0 + }, +/obj/item/stack/tape, +/obj/item/stamp/nanotrasen/ns/supply, +/obj/item/clothing/suit/hooded/wintercoat/cargo, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Gy" = ( +/turf/closed/wall/mineral/titanium/interior, +/area/ship/medical) +"Gz" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/bridge) +"GE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/corner/opaque/mauve, -/obj/effect/turf_decal/corner/opaque/mauve{ - dir = 8 +/obj/structure/sign/warning/electricshock{ + pixel_x = -23 }, -/turf/open/floor/plasteel/white, -/area/ship/science) -"Ol" = ( -/obj/effect/turf_decal/corner/opaque/purple{ +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"GF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) -"Oq" = ( -/obj/machinery/suit_storage_unit/mining/eva, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +"GG" = ( +/obj/machinery/power/shuttle/engine/fueled/plasma{ + dir = 4 }, -/obj/structure/sign/poster/official/miners{ - pixel_x = 32 +/obj/machinery/door/poddoor{ + dir = 4; + id = "harrier_thrusters_starboard"; + name = "Thruster Blast Door" }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/cargo) -"Os" = ( +/turf/open/floor/plating, +/area/ship/engineering) +"GH" = ( /obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/light/small/directional/south, /obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 1; - id = "osprey_cargofield"; - locked = 1 - }, -/obj/machinery/door/poddoor{ - id = "ospreydoors"; - name = "Cargo Bay Blast Door"; - dir = 4 + icon_state = "4-8" }, /turf/open/floor/plasteel/tech, +/area/ship/engineering) +"GK" = ( +/obj/structure/sign/departments/cargo, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/cargo) -"Ou" = ( -/obj/structure/closet/secure_closet{ - icon_door = "mixed"; - icon_state = "generic"; - name = "custodial closet" - }, -/obj/item/storage/backpack, -/obj/item/clothing/shoes/galoshes, -/obj/item/clothing/under/rank/civilian/janitor, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/glasses/science, -/obj/item/storage/belt/janitor, -/obj/item/clothing/head/soft/purple, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 24; - pixel_y = 5 +"GY" = ( +/obj/structure/cable{ + icon_state = "6-9" }, -/obj/structure/cable, -/obj/item/holosign_creator/janibarrier, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/plasteel, -/area/ship/crew/janitor) -"OA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/structure/disposalpipe/segment, -/obj/structure/window/reinforced, -/obj/structure/table, -/obj/item/circuitboard/machine/pacman/super{ - pixel_x = 6; - pixel_y = 8 - }, -/obj/item/circuitboard/machine/pacman/super{ - pixel_y = -4 +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Ha" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 4 +/obj/machinery/light/small/directional/south, +/obj/structure/table/wood, +/obj/item/storage/lockbox/medal{ + pixel_y = 6 }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/yellow{ +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/dormtwo) +"He" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, -/turf/open/floor/plasteel/patterned/grid, +/turf/open/floor/plasteel/patterned, /area/ship/engineering) -"OB" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +"Hh" = ( +/obj/structure/cable{ + icon_state = "6-9" }, -/obj/structure/window/reinforced{ - dir = 4 +/obj/structure/cable{ + icon_state = "4-9" }, -/obj/machinery/conveyor{ - dir = 1; - id = "osprey_garbage" +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"Hj" = ( +/obj/structure/cable{ + icon_state = "2-4" }, -/obj/item/trash/popcorn, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"OD" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "osprey_cargoload" +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/turf/open/floor/plating, -/area/ship/cargo) -"OG" = ( -/obj/machinery/conveyor_switch/oneway{ - id = "osprey_production" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, -/obj/effect/turf_decal/industrial/warning/cee{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 10 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/cargo) -"OH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"OS" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters{ - id = "ospreymed" + dir = 6 }, -/obj/machinery/door/firedoor/window, -/turf/open/floor/plating, -/area/ship/medical) -"OV" = ( /obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/sign/departments/custodian, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/janitor) -"OW" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 + dir = 10 }, -/obj/effect/turf_decal/corner/opaque/green{ +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engine) +"Hk" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ dir = 1 }, -/obj/structure/disposalpipe/sorting/mail/flip{ - sortTypes = list(7,8,15,29,30); - tag = "Command" +/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/obj/machinery/door/poddoor/shutters{ + id = "harriercargoaccess" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/plasteel, -/area/ship/hallway/central) -"Pa" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 +/area/ship/storage/eva) +"Ho" = ( +/obj/structure/filingcabinet{ + density = 0; + pixel_x = 11 }, -/turf/open/floor/carpet/royalblue, -/area/ship/bridge) -"Pe" = ( +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = 26 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/item/folder/red, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Hq" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"Hu" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 1 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/mono, /area/ship/hallway/central) -"Pg" = ( -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/obj/effect/turf_decal/corner/opaque/ntblue{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/ntblue, -/obj/effect/turf_decal/corner/opaque/ntblue{ +"Hw" = ( +/obj/structure/chair/comfy/blue/corpo/directional/west, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ dir = 4 }, /turf/open/floor/plasteel/dark, /area/ship/bridge) -"Pj" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 +"Hx" = ( +/obj/structure/cable{ + icon_state = "6-9" }, -/obj/effect/turf_decal/corner/opaque/purple{ +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"HC" = ( +/obj/structure/chair/stool/bar{ dir = 1 }, -/obj/machinery/airalarm/directional/west, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Pl" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo/office) -"Po" = ( -/turf/open/floor/plasteel/dark, -/area/ship/science) -"Pq" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ +/obj/effect/turf_decal/corner/opaque/white{ dir = 8 }, +/obj/effect/turf_decal/siding, /turf/open/floor/plasteel, -/area/ship/hallway/central) -"PE" = ( -/obj/machinery/recharge_station, -/obj/effect/turf_decal/corner/opaque/mauve{ - dir = 4 +/area/ship/crew/canteen) +"HD" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/o2{ + dir = 1; + piping_layer = 1 }, -/obj/effect/turf_decal/corner/opaque/mauve{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"HG" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" }, -/obj/structure/sign/warning/nosmoking/circle{ - pixel_y = 25 +/obj/effect/landmark/start/head_of_personnel, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 }, -/turf/open/floor/plasteel/white, -/area/ship/science) -"PJ" = ( -/obj/effect/turf_decal/industrial/warning{ +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"HI" = ( +/obj/structure/bed, +/obj/item/bedsheet/captain, +/obj/structure/curtain/cloth/fancy, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/dormtwo) +"HL" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Room"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/effect/turf_decal/siding/white{ +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) +"HO" = ( +/obj/structure/toilet{ + dir = 8 + }, +/obj/structure/curtain, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/freezer, +/area/ship/crew/toilet) +"HW" = ( +/obj/machinery/atmospherics/components/unary/shuttle/heater{ dir = 4 }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"HY" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/crew/cryo) -"PP" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/cryo) -"PQ" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 4; - sortTypes = list(12,13,14,23,24,25,27,28); - tag = "Research" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/storage/eva) +"Ia" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/full, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"Ig" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Ih" = ( +/obj/item/kirbyplants/random, +/obj/machinery/light/directional/south, /turf/open/floor/plasteel, -/area/ship/cargo) -"PS" = ( -/obj/structure/window/reinforced{ - dir = 4 +/area/ship/hallway/starboard) +"Ij" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/machinery/atmospherics/components/binary/volume_pump, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"PU" = ( -/obj/structure/chair{ +/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer5{ dir = 8 }, -/obj/structure/railing{ - dir = 5; - layer = 4.1 - }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"Im" = ( +/obj/item/radio/intercom/directional/south, +/turf/open/floor/carpet/cyan, +/area/ship/medical) +"In" = ( +/obj/structure/chair/sofa/blue/corpo/right/directional/north, /turf/open/floor/plasteel, -/area/ship/cargo) -"PV" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 4; - sortTypes = list(9,10,11); - tag = "Medbay" +/area/ship/hallway/central) +"Io" = ( +/obj/machinery/advanced_airlock_controller{ + pixel_x = -24 }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, +/turf/open/floor/engine, +/area/ship/engineering/engine) +"Is" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/reagent_dispensers/watertank/high, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/janitor) +"Iu" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/disposalpipe/junction/flip{ + dir = 8 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/carpet/cyan, /area/ship/medical) -"PW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/toilet) -"Qb" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/patterned/grid, +"IE" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm/dormtwo) +"IK" = ( +/obj/structure/table/glass, +/obj/item/storage/fancy/cigarettes/cigars/havana{ + pixel_x = -8; + pixel_y = 8 + }, +/obj/item/stamp/nanotrasen{ + pixel_x = 6; + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"IM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/storage/eva) +"IS" = ( +/obj/structure/sign/warning/docking{ + pixel_y = -8 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/starboard) +"IT" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned, /area/ship/engineering/atmospherics) -"Qm" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 +"IV" = ( +/obj/structure/cable{ + icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -6478,624 +6252,596 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"IX" = ( +/obj/structure/ore_box, +/obj/effect/turf_decal/box, +/obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 8 + icon_state = "0-4" }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Qr" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"Jd" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"Je" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/camera/autoname{ - dir = 1 +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"Jk" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"Jl" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "1-8" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"Qt" = ( -/obj/effect/turf_decal/corner/transparent/neutral{ +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Qv" = ( -/obj/effect/turf_decal/corner/opaque/yellow{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"Jt" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/storage/eva) +"Ju" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, +/turf/open/floor/wood, +/area/ship/crew) +"Jv" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/cargo) +"Jw" = ( /obj/structure/cable{ - icon_state = "2-4" + icon_state = "1-8" }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"Qy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/structure/disposalpipe/segment{ dir = 9 }, -/obj/effect/turf_decal/corner/transparent/neutral, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"QD" = ( -/obj/machinery/atmospherics/components/binary/volume_pump, -/obj/effect/turf_decal/industrial/warning/corner{ +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"Jx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/turf/open/floor/plasteel/patterned/grid, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"JB" = ( +/obj/effect/turf_decal/number/nine{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 4; + id = "harrier_thrusters_starboard"; + name = "Blast Door Control"; + pixel_x = -25; + pixel_y = 6 + }, +/turf/open/floor/plasteel/patterned, /area/ship/engineering) -"QE" = ( -/obj/structure/disposalpipe/segment{ +"JC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"JH" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"JK" = ( +/obj/machinery/atmospherics/pipe/manifold/purple/visible{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, +/turf/open/floor/plating, +/area/ship/engineering) +"JL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/trimline/opaque/blue/corner, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"QI" = ( /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 4 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/mono, /area/ship/hallway/central) -"QJ" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "osprey_cargoload" - }, -/obj/structure/sign/warning{ - pixel_y = -25 +"JN" = ( +/obj/machinery/photocopier, +/obj/machinery/light_switch{ + pixel_x = -5; + pixel_y = 20 }, -/obj/machinery/light/directional/south, -/turf/open/floor/plating, +/turf/open/floor/plasteel, /area/ship/cargo) -"QK" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +"JP" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"QW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"JQ" = ( +/obj/structure/sign/warning/vacuum/external, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/starboard) +"JS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 1 }, -/obj/effect/turf_decal/industrial/warning, /turf/open/floor/plasteel, -/area/ship/cargo/office) -"Re" = ( -/obj/structure/sign/number/one{ - color = "Black" +/area/ship/hallway/central) +"JT" = ( +/obj/structure/table/glass, +/obj/item/storage/box/matches{ + pixel_y = 9 }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo/office) -"Ri" = ( -/obj/structure/cable{ - icon_state = "1-8" +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"JU" = ( /obj/structure/cable{ - icon_state = "1-4" + icon_state = "4-8" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"Ro" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/toilet) -"Rq" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/dorm) -"Rr" = ( -/turf/open/floor/plasteel/stairs/left{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/area/ship/cargo) -"Ry" = ( -/obj/structure/table/reinforced, -/obj/item/areaeditor/shuttle{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/item/megaphone/command{ - pixel_x = 1; - pixel_y = 1 - }, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/corner/opaque/ntblue{ +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1, +/obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/ntblue, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"RB" = ( -/obj/machinery/atmospherics/components/binary/pump/layer4{ +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"JX" = ( +/obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 +/turf/open/floor/carpet/executive, +/area/ship/crew/law_office) +"JZ" = ( +/obj/structure/chair/sofa/blue/corpo/left, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"Kc" = ( +/obj/structure/closet/secure_closet/atmospherics{ + populate = 0 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/airalarm/directional/south, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/under/nanotrasen/engineering/atmos, +/obj/item/clothing/suit/nanotrasen/vest/blue, +/obj/item/storage/backpack/industrial, +/obj/item/clothing/head/hardhat/nanotrasen/blue, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/glasses/meson/engine, +/obj/item/analyzer, +/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"Kd" = ( +/obj/structure/chair{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/green/visible/layer1{ - dir = 8 +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Kg" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/siding/wood{ + dir = 5 }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"RD" = ( -/obj/machinery/door/airlock/highsecurity{ - name = "AI Chamber"; - req_access_txt = "24" +/turf/open/floor/wood, +/area/ship/crew) +"Ki" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel, +/area/ship/engineering) +"Kj" = ( +/obj/structure/closet/secure_closet/engineering_personal{ + populate = 0 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/firealarm/directional/south, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/under/nanotrasen/engineering, +/obj/item/clothing/suit/nanotrasen/vest, +/obj/item/storage/backpack/industrial, +/obj/item/clothing/head/hardhat/nanotrasen, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"Kl" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2 + dir = 6 }, -/obj/effect/turf_decal/borderfloor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Kq" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"Kr" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/ai_chamber) -"RE" = ( -/obj/structure/closet/crate/engineering{ - name = "fuel crate" +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/item/stack/sheet/mineral/plasma/twenty, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"RI" = ( -/obj/structure/disposalpipe/trunk{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/opaque/vired/line{ dir = 1 }, -/obj/machinery/disposal/bin, -/obj/structure/sign/warning/nosmoking/circle{ - pixel_x = 25 +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Kt" = ( +/obj/structure/table/wood, +/obj/structure/bedsheetbin, +/obj/machinery/light/small/directional/east, +/obj/structure/sign/poster/official/random{ + pixel_y = 32 }, -/obj/structure/sign/poster/official/moth/smokey{ - pixel_y = -32 +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"Kx" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ +/obj/structure/disposalpipe/segment{ dir = 8 }, -/turf/open/floor/plasteel/patterned/grid, +/obj/structure/closet/emcloset/wall/directional/south, +/turf/open/floor/plasteel/patterned, /area/ship/engineering/atmospherics) -"RO" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 +"Ky" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Kz" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "0-4" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1{ - dir = 10 +/obj/machinery/door/poddoor{ + dir = 4; + id = "harrier_thrusters_port"; + name = "Thruster Blast Door" }, -/obj/structure/catwalk/over, /turf/open/floor/plating, -/area/ship/science/ai_chamber) -"RQ" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, +/area/ship/engineering/atmospherics) +"KA" = ( +/obj/structure/crate_shelf, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) -"RU" = ( -/obj/structure/table/wood, -/obj/item/toy/plush/carpplushie, -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"RW" = ( -/obj/structure/disposalpipe/segment{ +"KB" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ dir = 8 }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"RY" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"Sa" = ( -/obj/structure/table, -/obj/item/storage/box/lights/mixed{ - pixel_x = 4; - pixel_y = 9 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/machinery/airalarm/directional/south, -/obj/item/storage/box/mousetraps{ - pixel_x = -9 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/ship/crew/janitor) -"Sd" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/corner/opaque/blue, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Se" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/turf/open/floor/plasteel/white, -/area/ship/science) -"Si" = ( /obj/structure/disposalpipe/segment{ - dir = 2 + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"KC" = ( +/turf/closed/wall/mineral/titanium/interior, +/area/ship/bridge) +"KG" = ( +/obj/structure/table/wood/reinforced, +/obj/item/folder/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/carpet/executive, +/area/ship/crew/law_office) +"KM" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line, /turf/open/floor/plasteel, /area/ship/hallway/central) -"Sm" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +"KN" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/obj/machinery/door/poddoor/shutters{ + id = "harriercargoaccess" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/ship/storage/eva) +"KO" = ( +/obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "0-4" }, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 4 +/obj/effect/turf_decal/siding/yellow{ + dir = 10 }, -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/machinery/firealarm/directional/south, +/obj/structure/chair/handrail{ dir = 1 }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Su" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/crew/cryo) -"SB" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/poddoor{ - id = "osprey_disposals"; - name = "Disposals Blast Door"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/crew/janitor) -"SC" = ( -/obj/effect/turf_decal/corner/opaque/mauve{ +/turf/open/floor/plasteel, +/area/ship/engineering/engine) +"KQ" = ( +/obj/effect/turf_decal/corner/opaque/white{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/mauve, -/turf/open/floor/plasteel/white, -/area/ship/science) -"SD" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"SG" = ( -/obj/structure/closet/secure_closet{ - icon_state = "qm"; - name = "\proper quartermaster's locker"; - req_access_txt = "41" +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/brown, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/item/storage/backpack, -/obj/item/storage/backpack/messenger, -/obj/item/storage/backpack/satchel/leather, -/obj/item/storage/backpack/duffelbag, -/obj/item/clothing/shoes/sneakers/brown, -/obj/item/clothing/under/rank/cargo/qm/skirt, -/obj/item/clothing/under/rank/cargo/qm, -/obj/item/clothing/head/beret/qm, -/obj/item/stamp/qm, -/obj/item/clothing/glasses/sunglasses, -/obj/item/clothing/gloves/fingerless, -/obj/item/megaphone/cargo, -/obj/item/clothing/head/safety_helmet, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -8; - pixel_y = -16 - }, /turf/open/floor/plasteel, -/area/ship/cargo/office) -"SK" = ( -/obj/structure/table, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/area/ship/crew/canteen) +"KS" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm) +"KT" = ( /obj/structure/cable{ - icon_state = "1-2" - }, -/obj/item/taperecorder, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"SO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 + icon_state = "4-8" }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/cable{ - icon_state = "2-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/dorm) -"SQ" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/northleft{ - dir = 2; - name = "Cargo Desk"; - req_access_txt = "31" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/structure/noticeboard{ - dir = 4; - pixel_x = -32 - }, -/obj/item/table_bell, -/obj/machinery/door/poddoor/shutters{ - id = "ospreycargo" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/ship/cargo/office) -"SR" = ( -/obj/effect/turf_decal/corner/opaque/brown{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/brown, -/obj/structure/disposalpipe/junction/flip{ - dir = 4 - }, -/obj/structure/closet/secure_closet{ - icon_state = "cargo"; - name = "\proper cargo technician's locker"; - req_access_txt = "31" +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 8 }, -/obj/item/storage/backpack, -/obj/item/storage/backpack/satchel, -/obj/item/storage/backpack/messenger, -/obj/item/storage/backpack/duffelbag, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/under/rank/cargo/tech/skirt, -/obj/item/clothing/under/rank/cargo/tech, -/obj/item/clothing/head/safety_helmet, -/obj/machinery/airalarm/directional/south, /turf/open/floor/plasteel, -/area/ship/cargo/office) -"SU" = ( -/obj/machinery/cryopod{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/sign/poster/official/work_for_a_future{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/cryo) -"SW" = ( -/obj/machinery/button/door{ - dir = 8; - id = "ospreysci_window"; - name = "Shutter Control"; - pixel_x = 25 +/area/ship/hallway/starboard) +"KW" = ( +/obj/structure/chair/sofa/blue/corpo/right/directional/north, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"KY" = ( +/obj/structure/chair/comfy/blue/corpo/directional/south, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/carpet/cyan, +/area/ship/medical) +"KZ" = ( +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1{ + dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"SX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on{ +/obj/machinery/atmospherics/components/trinary/mixer/airmix/inverse{ dir = 1 }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/engine/air, +/turf/open/floor/plasteel/patterned, /area/ship/engineering/atmospherics) -"Tb" = ( -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 4; - id = "osprey_atmosfield" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/industrial/warning, +"Lb" = ( /obj/effect/turf_decal/industrial/warning{ - dir = 1 + dir = 8 }, -/obj/machinery/door/poddoor{ - id = "osprey_tank_vent" +/obj/machinery/conveyor_switch/oneway{ + id = "harrier_garbage" }, -/turf/open/floor/engine, -/area/ship/engineering/atmospherics) -"Tg" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 +/obj/structure/window/reinforced{ + dir = 8 }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"Ti" = ( -/obj/machinery/conveyor/inverted{ - dir = 5; - id = "osprey_production" +/obj/machinery/button/massdriver{ + id = "harrier_disposals"; + name = "disposals button"; + pixel_x = 5; + pixel_y = 20 + }, +/obj/machinery/button/shieldwallgen{ + id = "harrier_disposalfield"; + pixel_x = -5; + pixel_y = 20 }, /turf/open/floor/plating, -/area/ship/cargo) -"Tn" = ( +/area/ship/crew/janitor) +"Lc" = ( /obj/structure/cable{ - icon_state = "0-8" + icon_state = "4-8" }, -/obj/machinery/power/smes/shuttle/precharged{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/window/plasma/reinforced/spawner/north, -/obj/machinery/door/poddoor{ - id = "osprey_thruster_port"; - name = "Thruster Blast Door"; +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/engineering) -"Tq" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/central) -"Tr" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/carpet/cyan, +/area/ship/medical) +"Lf" = ( +/obj/structure/railing{ dir = 4 }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" +/obj/structure/cable{ + icon_state = "2-8" }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/window/plasma/reinforced/spawner, -/obj/machinery/door/poddoor{ - id = "osprey_thruster_port"; - name = "Thruster Blast Door"; +/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer5{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/engineering) -"Tt" = ( -/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/siding/yellow{ + dir = 5 + }, /obj/structure/disposalpipe/segment{ - dir = 2 + dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" +/turf/open/floor/plasteel, +/area/ship/engineering/engine) +"Lh" = ( +/obj/structure/railing{ + dir = 5; + layer = 4.1 }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, -/turf/open/floor/plasteel/dark, -/area/ship/science/ai_chamber) -"Tw" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/effect/turf_decal/borderfloor{ - dir = 8 +/obj/effect/turf_decal/siding/yellow{ + dir = 5 }, +/turf/open/floor/plasteel, +/area/ship/engineering/engine) +"Li" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 }, -/obj/structure/sign/poster/official/safety_internals{ - pixel_x = -32 +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/ship/crew) +"Lj" = ( +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/trimline/opaque/blue/line, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Lp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"Tx" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Tz" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Lv" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"TG" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 1 }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"Lw" = ( /obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/science) -"TH" = ( -/obj/structure/disposalpipe/junction, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 1 + icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -7103,2815 +6849,4949 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -5; + pixel_y = -20 }, -/turf/open/floor/plasteel, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/machinery/camera{ + dir = 10 + }, +/turf/open/floor/plasteel/mono, /area/ship/hallway/central) -"TJ" = ( -/obj/structure/cable{ - icon_state = "4-8" +"Lz" = ( +/obj/structure/chair/comfy/blue/corpo/directional/north, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 10 }, -/obj/structure/disposalpipe/junction/flip{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"TP" = ( -/obj/structure/closet/secure_closet{ - icon_state = "mining"; - name = "miner's equipment locker"; - req_access_txt = "48" - }, -/obj/item/clothing/under/rank/cargo/miner, -/obj/item/mining_scanner, -/obj/item/mining_scanner, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/item/pickaxe, -/obj/item/pickaxe, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/cargo) -"TR" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"LD" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/poddoor{ + dir = 4; + id = "harrierwindows"; + name = "Window Blast Door" + }, +/turf/open/floor/plating, +/area/ship/hallway/starboard) +"LJ" = ( +/obj/machinery/advanced_airlock_controller{ + pixel_x = -24 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2, +/obj/effect/turf_decal/borderfloor{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/bar{ +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/starboard) +"LK" = ( +/obj/machinery/door/airlock/external/glass, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/engine/vacuum, +/area/ship/engineering/engine) +"LP" = ( +/obj/machinery/vending/dinnerware, +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/bar, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 8 + }, +/obj/machinery/airalarm/directional/north, /turf/open/floor/plasteel, -/area/ship/hallway/central) -"TU" = ( -/obj/machinery/door/airlock/research{ - name = "Science Lab"; - req_access_txt = "47" +/area/ship/crew/canteen) +"LW" = ( +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"LZ" = ( +/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1{ + dir = 4 + }, +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/poddoor{ + dir = 4; + id = "harrierwindows"; + name = "Window Blast Door" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Me" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"Mf" = ( +/obj/structure/railing{ + dir = 8 + }, /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Mn" = ( +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/siding/thinplating, +/turf/open/floor/plasteel/dark, +/area/ship/science/ai_chamber) +"Mo" = ( +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/turf/open/floor/plasteel, -/area/ship/science) -"TW" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/conveyor_switch/oneway{ - id = "osprey_cargoload" +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1{ + dir = 9 }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"TZ" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/rnd/production/circuit_imprinter/department/science, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"Uc" = ( -/obj/structure/window/plasma/reinforced{ - dir = 8 +/area/ship/engineering) +"Ms" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/layer_manifold/visible, -/obj/machinery/button/door{ - dir = 1; - id = "osprey_tank_vent"; - pixel_x = -5; - pixel_y = -25 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/button/shieldwallgen{ - dir = 1; - id = "osprey_atmosfield"; - pixel_x = 5; - pixel_y = -24 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"Uj" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters{ - id = "ospreywindows" +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 }, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/plating, -/area/ship/medical) -"Uo" = ( /obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 }, +/obj/machinery/camera, +/turf/open/floor/plasteel, +/area/ship/engineering) +"Mu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood, +/area/ship/crew) +"Mv" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Mx" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"MB" = ( /obj/structure/cable{ - icon_state = "1-4" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer5, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"UB" = ( -/obj/machinery/sleeper{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/lime{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/lime{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/lime{ +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/structure/sign/warning/nosmoking/circle{ - pixel_x = -25 +/obj/structure/sign/poster/official/random{ + pixel_y = 32 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"UG" = ( -/obj/effect/turf_decal/industrial/warning{ +/turf/open/floor/wood, +/area/ship/crew) +"MK" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ dir = 4 }, /turf/open/floor/plasteel, -/area/ship/cargo/office) -"UL" = ( -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"UT" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Helm" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"UU" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"UZ" = ( -/obj/effect/turf_decal/siding/white{ +/area/ship/hallway/port) +"MM" = ( +/obj/machinery/power/shuttle/engine/electric{ dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/crew/cryo) -"Vf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +/obj/machinery/door/poddoor{ + dir = 4; + id = "harrier_thrusters_starboard"; + name = "Thruster Blast Door" }, /obj/structure/cable{ - icon_state = "2-4" + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"MP" = ( +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plasteel/white, -/area/ship/science) -"Vh" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Vl" = ( -/obj/structure/sign/warning/vacuum/external, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) -"Vq" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "osprey_packagesort" +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/trimline/transparent/white/filled/corner{ + dir = 8 }, -/turf/open/floor/plating, -/area/ship/cargo/office) -"Vs" = ( -/obj/effect/turf_decal/corner/opaque/red, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/structure/chair/handrail{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/turf/open/floor/plasteel/dark, +/area/ship/science/ai_chamber) +"MQ" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/full, +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/bottlegreen{ - dir = 8 +/obj/effect/turf_decal/corner/opaque/white, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/disposalpipe/junction/flip{ + dir = 4 }, /turf/open/floor/plasteel, /area/ship/hallway/central) -"Vx" = ( -/obj/machinery/door/window/eastleft, -/obj/machinery/shower{ - pixel_y = 10 - }, -/obj/structure/curtain, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/toilet) -"VA" = ( +"MT" = ( +/obj/structure/bed, +/obj/structure/curtain/cloth/fancy, +/obj/item/bedsheet/head_of_personnel, +/turf/open/floor/carpet/blue, +/area/ship/crew/dorm) +"MV" = ( /obj/structure/cable{ - icon_state = "0-8" + icon_state = "1-2" }, -/obj/machinery/power/smes/shuttle/precharged{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" +/turf/open/floor/plasteel/mono, +/area/ship/storage/eva) +"MW" = ( +/obj/structure/chair/sofa/blue/corpo/right/directional/east, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ship/crew) +"MX" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/window/plasma/reinforced/spawner, -/obj/machinery/door/poddoor{ - id = "osprey_thruster_port"; - name = "Thruster Blast Door"; +/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ dir = 4 }, /turf/open/floor/plating, -/area/ship/engineering) -"VC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"VF" = ( -/obj/structure/chair/comfy/orange/directional/east, -/obj/effect/landmark/start/captain, -/obj/machinery/airalarm/directional/west, -/obj/structure/sign/poster/retro/lasergun_new{ - pixel_y = 32 +/area/ship/engineering/engine) +"MZ" = ( +/turf/template_noop, +/area/template_noop) +"Nc" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/floor/carpet/royalblue, -/area/ship/bridge) -"VI" = ( -/obj/effect/landmark/start/scientist, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /turf/open/floor/plasteel/dark, -/area/ship/science) -"VL" = ( -/obj/effect/turf_decal/corner/transparent/neutral, -/obj/effect/turf_decal/corner/transparent/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/area/ship/security) +"Ni" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"VN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"VR" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "2-4" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/obj/effect/turf_decal/industrial/shutoff, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"Nk" = ( +/obj/item/kirbyplants/random, +/obj/machinery/light/directional/north, +/obj/machinery/camera, /turf/open/floor/plasteel, -/area/ship/hallway/central) -"VS" = ( +/area/ship/hallway/port) +"Nl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 + dir = 4 }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/toilet) -"VV" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/science/ai_chamber) -"VW" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/poddoor/shutters{ - id = "ospreysci_window" +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 8 }, -/turf/open/floor/plasteel/tech, -/area/ship/science) -"Wb" = ( -/obj/structure/table, /turf/open/floor/plasteel, -/area/ship/crew/cryo) -"Wc" = ( -/obj/effect/turf_decal/industrial/loading, -/obj/machinery/mineral/processing_unit_console{ - machinedir = 1; - pixel_x = -32; - pixel_y = -4 +/area/ship/storage/eva) +"Nm" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"Wf" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 1 +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"Nn" = ( +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/ntspaceworks_big/five{ + dir = 8 }, /obj/structure/disposalpipe/segment, -/obj/machinery/camera/autoname{ - dir = 5 +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"No" = ( +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/structure/closet/firecloset, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Wj" = ( -/obj/machinery/mineral/processing_unit, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, -/area/ship/cargo) -"Wk" = ( -/obj/structure/sign/number/four{ - color = "Black" +/area/ship/engineering/engine) +"Np" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo/office) -"Wn" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/south, -/turf/open/floor/carpet/blue, -/area/ship/bridge) -"Wq" = ( -/obj/docking_port/stationary{ - dwidth = 15; - width = 30; - height = 15; - dir = 2 +/obj/effect/landmark/start/captain, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 }, -/turf/template_noop, -/area/template_noop) -"Ws" = ( -/obj/structure/chair/comfy/orange/directional/east, -/obj/effect/landmark/start/head_of_personnel, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/carpet/blue, +/turf/open/floor/plasteel/dark, /area/ship/bridge) -"WE" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" +"Nq" = ( +/obj/machinery/door_timer{ + id = "Cell 1"; + pixel_y = 4 }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"WK" = ( -/obj/structure/window/reinforced{ +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/security) +"Nr" = ( +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ dir = 8 }, -/obj/structure/window/reinforced, -/obj/effect/turf_decal/corner/opaque/yellow{ +/obj/effect/turf_decal/number/four{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 +/obj/machinery/light/small/directional/north, +/obj/machinery/camera{ + dir = 6 }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/structure/closet/secure_closet/engineering_electrical, -/turf/open/floor/plasteel/patterned/grid, +/turf/open/floor/plasteel/patterned, /area/ship/engineering) -"WN" = ( -/turf/open/floor/plasteel/white, -/area/ship/medical) -"WS" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 8 +"Nt" = ( +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/landmark/start/assistant, -/obj/structure/railing, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"WU" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) -"WZ" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Canteen"; - dir = 4 +/obj/machinery/atmospherics/pipe/simple/green/visible/layer1{ + dir = 6 }, -/obj/structure/disposalpipe/segment{ - dir = 8 +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer5{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/trinary/mixer/flipped{ + dir = 1; + name = "Fuel Mixer" }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"Nv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 4 + dir = 6 }, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Ny" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/machinery/door/airlock/glass{ + dir = 4; + name = "Crew Quarters"; + req_ship_access = 0 }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"Xe" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/brown, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Xi" = ( /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/turf_decal/borderfloor{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Nz" = ( +/obj/structure/cable/yellow{ + icon_state = "0-4" }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/machinery/power/terminal{ dir = 1 }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/atmospherics) -"Xl" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -12 - }, -/obj/effect/turf_decal/corner/opaque/pink{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/pink{ - dir = 1 +/obj/structure/sign/warning/electricshock{ + pixel_y = -20 }, -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = -32 +/turf/open/floor/plating, +/area/ship/engineering/engine) +"ND" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/poddoor{ + dir = 1; + id = "harrierdoors"; + name = "Cargo Bay Blast Door" }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Xo" = ( -/obj/docking_port/stationary{ - dwidth = 15; - width = 30; - height = 15 +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "harrier_cargofield"; + locked = 1 }, -/turf/template_noop, -/area/template_noop) -"Xp" = ( -/obj/machinery/door/airlock/command{ - name = "Captain's Quarters"; - req_access_txt = "20"; - dir = 4 +/obj/structure/cable{ + icon_state = "0-1" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/turf/open/floor/plating, +/area/ship/storage/eva) +"NE" = ( +/obj/structure/filingcabinet/double{ + dir = 8; + pixel_x = 10 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/sign/poster/official/fruit_bowl{ + pixel_x = 32 }, -/obj/effect/turf_decal/borderfloor{ +/turf/open/floor/wood, +/area/ship/crew/law_office) +"NF" = ( +/obj/structure/toilet{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Xr" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 24; - pixel_y = -5 +/obj/structure/window/reinforced{ + dir = 1 }, +/obj/structure/curtain, /turf/open/floor/plasteel/freezer, /area/ship/crew/toilet) -"Xv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +"NP" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/dorm) -"Xz" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/corner/opaque/yellow{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"XE" = ( -/obj/structure/table/reinforced, -/obj/item/kitchen/knife, -/obj/item/kitchen/rollingpin, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/rice, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 4 +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"NQ" = ( +/obj/structure/rack, +/obj/item/circuitboard/aicore, +/obj/item/stack/sheet/rglass{ + amount = 5 }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 +/obj/item/assembly/flash/handheld{ + pixel_x = 5 }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen) -"XK" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ +/obj/item/assembly/flash/handheld{ + pixel_x = -5 + }, +/obj/item/stock_parts/cell/high/plus, +/obj/item/borg/upgrade/ai, +/obj/item/aicard, +/obj/item/mmi/posibrain, +/obj/item/aiModule/reset/purge, +/turf/open/floor/circuit, +/area/ship/science/ai_chamber) +"NS" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/light/small/directional/north, +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"NT" = ( +/obj/machinery/power/smes/shuttle/precharged{ dir = 4 }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"NX" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"Ob" = ( +/obj/structure/railing, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 + dir = 4 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"XR" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/industrial/caution{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" +/turf/open/floor/plasteel, +/area/ship/engineering/engine) +"Oh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/manifold/green/hidden/layer1{ +/obj/structure/disposalpipe/segment, +/turf/open/floor/carpet/executive, +/area/ship/crew/law_office) +"Om" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew) +"Os" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/science/ai_chamber) -"XU" = ( -/obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes/cigars{ - pixel_y = 12 - }, -/obj/item/lighter{ - pixel_x = -6; - pixel_y = -3 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, -/obj/machinery/light/small/directional/north, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/carpet/royalblue, -/area/ship/bridge) -"XX" = ( -/obj/effect/turf_decal/borderfloor{ +/obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/machinery/advanced_airlock_controller{ - pixel_x = -24 +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"Ot" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"Yc" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"Yh" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/structure/reagent_dispensers/watertank/high, -/turf/open/floor/plasteel, -/area/ship/crew/janitor) -"Yt" = ( /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/mono, /area/ship/hallway/central) -"Yw" = ( -/obj/structure/noticeboard{ - pixel_y = 32 +"Oy" = ( +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 24; - pixel_y = 9 +/obj/effect/turf_decal/corner/opaque/white{ + dir = 8 }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"YD" = ( -/obj/structure/chair/office/light, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"YF" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/clipboard, -/obj/item/pen/red, -/obj/machinery/button/door{ - dir = 4; - id = "ospreycargo"; - name = "Shutter Control"; - pixel_x = -25; - pixel_y = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -24; - pixel_y = -5 +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/brown{ +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"OA" = ( +/obj/structure/railing{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 }, -/obj/item/folder/yellow, -/obj/item/stamp/denied{ - pixel_x = 4 +/turf/open/floor/plasteel/stairs{ + dir = 8 }, -/obj/item/stamp{ - pixel_x = -5; - pixel_y = 9 +/area/ship/bridge) +"OB" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" }, -/obj/item/pen/red, -/obj/item/holochip{ - credits = 4000 +/obj/structure/disposalpipe/segment{ + dir = 10 }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"OD" = ( +/obj/effect/spawner/random/vending/snack, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line, /turf/open/floor/plasteel, -/area/ship/cargo/office) -"YH" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/wood, -/obj/item/trash/plate, -/turf/open/floor/wood, -/area/ship/crew/canteen) -"YI" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters{ - id = "ospreywindows"; - dir = 4 +/area/ship/hallway/central) +"OK" = ( +/obj/structure/table/reinforced, +/obj/item/table_bell{ + pixel_x = -4; + pixel_y = 13 }, -/obj/machinery/door/firedoor/heavy, /turf/open/floor/plating, -/area/ship/crew/dorm) -"YJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" +/area/ship/crew/canteen) +"OO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"YK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 + dir = 10 }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"YP" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"OR" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/mauve{ - dir = 1 +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"OW" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/mauve{ +/turf/open/floor/plating, +/area/ship/engineering/engine) +"OX" = ( +/obj/effect/landmark/start/security_officer, +/obj/structure/chair/office{ dir = 8 }, -/obj/structure/sign/poster/official/random{ - pixel_x = -32 +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Pb" = ( +/obj/structure/dresser{ + dir = 4 }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/science) -"YR" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Operations" +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -5; + pixel_y = -20 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"Pi" = ( +/obj/structure/sign/warning/vacuum/external, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/port) +"Pj" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-4" }, +/obj/machinery/firealarm/directional/west, /turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Zj" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/effect/turf_decal/borderfloor{ - dir = 8 +/area/ship/crew/cryo) +"Pk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"Zo" = ( -/obj/effect/turf_decal/corner/opaque/yellow{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, /obj/structure/cable{ - icon_state = "0-8" + icon_state = "4-8" }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"Zr" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/medical) -"Zs" = ( -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 +/turf/open/floor/carpet/blue, +/area/ship/crew/dorm) +"Pm" = ( +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/brown, -/obj/machinery/autolathe, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"Zu" = ( -/obj/effect/turf_decal/corner/opaque/brown, -/obj/effect/turf_decal/corner/opaque/brown{ +/obj/effect/turf_decal/corner/opaque/white{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding{ + dir = 10 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Pn" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Po" = ( +/obj/effect/turf_decal/ntspaceworks_big/three{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"Pq" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/suit_storage_unit/atmos, +/turf/open/floor/engine, +/area/ship/engineering/engine) +"Pr" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"Ps" = ( +/obj/structure/sink{ + dir = 1; + pixel_y = -10 + }, +/obj/structure/mirror{ + pixel_y = -25 + }, +/turf/open/floor/plasteel/freezer, +/area/ship/crew/toilet) +"Pu" = ( +/obj/machinery/disposal/deliveryChute{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/window/eastleft, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/plating, +/area/ship/cargo) +"Pv" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "harrier_packagesort" + }, +/obj/machinery/camera{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/cargo) +"Pw" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Py" = ( +/obj/structure/table/reinforced, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/recharger, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Pz" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"PA" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"PC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/crew) +"PF" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/port) +"PH" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"PL" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/arrow_cw{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/storage/eva) +"PQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ship/storage/eva) +"PU" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/full, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"PZ" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/arrow_cw{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/storage/eva) +"Qb" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Qf" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 8 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"Qm" = ( +/obj/machinery/atmospherics/components/binary/circulator{ + piping_layer = 5 + }, +/obj/structure/cable/yellow{ + icon_state = "5-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"Qn" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Qs" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/atmos{ + dir = 1; + name = "Atmospherics"; + req_access_txt = "10" + }, +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/obj/machinery/atmospherics/pipe/simple/green/visible/layer1, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer5, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ship/engineering/engine) +"Qu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"Qx" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/port) +"Qz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"QC" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/arrow_ccw{ + dir = 4 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ship/storage/eva) +"QG" = ( +/obj/machinery/button/door{ + dir = 4; + id = "harrier_thrusters_port"; + name = "Blast Door Control"; + pixel_x = -25; + pixel_y = 6 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"QH" = ( +/obj/effect/turf_decal/atmos/nitrogen, +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/nitrogen_input{ + piping_layer = 1 + }, +/turf/open/floor/engine/n2, +/area/ship/engineering/atmospherics) +"QN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"QO" = ( +/turf/closed/wall/mineral/titanium/interior, +/area/ship/crew/law_office) +"QP" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/sink{ + pixel_y = 15 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"QQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"QR" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/computer/helm/viewscreen/directional/south, +/turf/open/floor/carpet/cyan, +/area/ship/medical) +"QV" = ( +/obj/structure/railing, +/obj/machinery/autolathe, +/turf/open/floor/plasteel, +/area/ship/cargo) +"QW" = ( +/obj/machinery/door/airlock/command{ + dir = 8; + name = "First Officer's Quarters"; + req_access_txt = "57" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"QX" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, +/area/ship/bridge) +"Ra" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 8 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Rb" = ( +/obj/structure/table/reinforced, +/obj/item/folder/blue, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"Rf" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/poddoor{ + dir = 1; + id = "harrierwindows"; + name = "Window Blast Door" + }, +/turf/open/floor/plating, +/area/ship/crew/law_office) +"Rg" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Rn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ship/crew/law_office) +"Ro" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"Rs" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/carpet/cyan, +/area/ship/medical) +"Rt" = ( +/obj/machinery/cryopod{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/circuit, +/area/ship/crew/cryo) +"Rv" = ( +/obj/effect/turf_decal/number/nine{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"Ry" = ( +/obj/structure/table/reinforced, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/radio/intercom/wideband/table{ + dir = 4; + pixel_x = 9; + pixel_y = 3 + }, +/obj/item/megaphone/command, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"RB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"RJ" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/crew/toilet) +"RR" = ( +/obj/effect/landmark/start/atmospheric_technician, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ship/engineering) +"RT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = -5; + pixel_y = 20 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"RU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"RV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"RX" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/plasma{ + dir = 1; + piping_layer = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer5, +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"Sb" = ( +/obj/structure/cable{ + icon_state = "5-10" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/firealarm/directional/north, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"Sj" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/engine_waste{ + dir = 1; + piping_layer = 5 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Sm" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4; + sortType = 29; + tag = "Internal Affairs Office" + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"Sn" = ( +/obj/structure/sign/departments/engineering, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/starboard) +"Sr" = ( +/obj/structure/railing{ + dir = 6; + layer = 3.1 + }, +/obj/machinery/atmospherics/components/binary/volume_pump{ + dir = 1; + name = "Environment to Recycling"; + piping_layer = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/ship/engineering/engine) +"St" = ( +/obj/machinery/door/airlock/external, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"Sw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"Sy" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"SB" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"SE" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"SF" = ( +/turf/open/floor/circuit, +/area/ship/science/ai_chamber) +"SM" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/ship/medical) +"SN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/crew) +"SS" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/starboard) +"SW" = ( +/obj/machinery/computer/atmos_alert{ + dir = 8; + icon_state = "computer-right" + }, +/obj/effect/turf_decal/siding/yellow, +/turf/open/floor/plasteel, +/area/ship/engineering) +"SZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/crew/law_office) +"Ta" = ( +/obj/structure/bookcase, +/obj/machinery/light/small/directional/south, +/turf/open/floor/wood, +/area/ship/crew/law_office) +"Tf" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/airalarm/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Th" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "harriereva" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ship/storage/eva) +"Tj" = ( +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"Tm" = ( +/obj/structure/chair/comfy/blue/corpo/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/sign/poster/official/random{ + pixel_y = 32 + }, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/dormtwo) +"Tr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"Tu" = ( +/obj/structure/crate_shelf, +/obj/structure/closet/crate, +/obj/item/stack/sheet/metal/five{ + pixel_x = -3 + }, +/obj/item/stack/sheet/glass/five{ + pixel_x = 2; + pixel_y = 5 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Tv" = ( +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Tx" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Tz" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/small/directional/north, +/turf/open/floor/carpet/blue, +/area/ship/crew/dorm) +"TC" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 4; + piping_layer = 1 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"TD" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"TI" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/janitor) +"TJ" = ( +/obj/structure/chair/sofa/blue/corpo/right, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"TM" = ( +/obj/machinery/shower{ + pixel_y = 18 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/structure/closet/emcloset/wall/directional/west, +/turf/open/floor/noslip, +/area/ship/storage/eva) +"TO" = ( +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-right" + }, +/obj/machinery/button/door{ + dir = 1; + id = "harrierwindows"; + name = "External Windows"; + pixel_x = -1; + pixel_y = -20 + }, +/obj/machinery/button/door{ + dir = 1; + id = "harrierbridge"; + name = "Bridge Lockdown"; + pixel_x = 10; + pixel_y = -20 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"TT" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/storage/eva) +"TX" = ( +/obj/structure/filingcabinet/double{ + pixel_x = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/camera, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"TZ" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor{ + dir = 4; + id = "harrierbridge"; + name = "Window Blast Door" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Ub" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/structure/cable{ + icon_state = "6-9" + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"Ud" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"Uf" = ( +/obj/structure/window/reinforced, +/obj/machinery/shower{ + pixel_y = 18 + }, +/obj/structure/curtain, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/turf/open/floor/plasteel/freezer, +/area/ship/crew/toilet) +"Ug" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/storage/eva) +"Uj" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input{ + dir = 4 + }, +/turf/open/floor/engine/vacuum, +/area/ship/engineering/engine) +"Um" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood, +/area/ship/crew) +"Up" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/glass{ + dir = 4; + name = "Crew Quarters"; + req_ship_access = 0 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Uq" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/storage/eva) +"Ur" = ( +/obj/structure/chair, +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Us" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-9" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engine) +"Ut" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Uw" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"Ux" = ( +/obj/machinery/atmospherics/components/binary/circulator/cold{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "6-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"UD" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -5; + pixel_y = -20 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/ship/engineering/engine) +"UF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"UI" = ( +/obj/structure/table/wood/reinforced, +/obj/item/flashlight/lamp/green, +/turf/open/floor/carpet/executive, +/area/ship/crew/law_office) +"UJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1{ + dir = 9 + }, +/obj/machinery/atmospherics/components/binary/volume_pump{ + dir = 8; + name = "Engine Waste to Environment"; + piping_layer = 5 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"UN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2; + sortType = 26; + tag = "Dormitories" + }, +/turf/open/floor/wood, +/area/ship/crew) +"US" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering) +"UT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"UV" = ( +/obj/structure/window/reinforced, +/obj/machinery/shower{ + pixel_y = 18 + }, +/obj/structure/curtain, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/turf/open/floor/plasteel/freezer, +/area/ship/crew/toilet) +"UW" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/medical) +"UZ" = ( +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Vc" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/effect/turf_decal/box, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"Vi" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on/layer2, +/turf/open/floor/engine/air, +/area/ship/engineering/atmospherics) +"Vp" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/sign/poster/official/random{ + pixel_y = -32 + }, +/turf/open/floor/carpet/blue, +/area/ship/crew/dorm) +"Vr" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "harriereva" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ship/storage/eva) +"Vs" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "harrier_garbage" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/ship/crew/janitor) +"Vv" = ( +/turf/closed/wall/mineral/titanium/interior, +/area/ship/hallway/port) +"VA" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"VE" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/stairs, +/area/ship/storage/eva) +"VJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/borderfloor, +/obj/machinery/door/airlock/public/glass{ + dir = 1; + name = "Canteen" + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"VO" = ( +/obj/structure/closet/secure_closet{ + icon_state = "med"; + name = "medicine locker"; + req_access = list(5) + }, +/obj/item/storage/box/gloves, +/obj/item/storage/box/masks, +/obj/item/storage/box/syringes, +/obj/item/storage/firstaid/fire{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/item/storage/firstaid/regular, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"VS" = ( +/obj/machinery/shower{ + dir = 4; + pixel_y = 10 + }, +/obj/structure/curtain, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/turf/open/floor/plasteel/freezer, +/area/ship/bridge) +"VY" = ( +/obj/structure/table/wood/reinforced, +/obj/item/paper_bin{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/pen/fountain, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -5; + pixel_y = -20 + }, +/obj/machinery/camera{ + dir = 10 + }, +/obj/item/stamp/nanotrasen{ + pixel_x = 8; + pixel_y = 10 + }, +/obj/item/stamp/nanotrasen/central{ + pixel_x = 8; + pixel_y = 4 + }, +/turf/open/floor/carpet/executive, +/area/ship/crew/law_office) +"VZ" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = -6 + }, +/obj/item/pen/fourcolor{ + pixel_x = -6 + }, +/obj/item/stamp/nanotrasen/officer{ + pixel_x = 6 + }, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"Wa" = ( +/obj/docking_port/stationary{ + dir = 2; + dwidth = 15; + height = 15; + width = 30 + }, +/turf/template_noop, +/area/template_noop) +"Wd" = ( +/obj/machinery/computer/operating, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"We" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 1 + }, +/obj/machinery/camera, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"Wj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"Wk" = ( +/obj/machinery/door/window/brigdoor/security/cell/eastleft{ + id = "Cell 1" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Wm" = ( +/obj/machinery/vending/coffee, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"Wp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/carpet/executive, +/area/ship/crew/law_office) +"Wt" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"Wv" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"Wx" = ( +/obj/machinery/atmospherics/components/unary/shuttle/heater{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"WH" = ( +/obj/structure/cable{ + icon_state = "6-9" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) +"WL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/end{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"WN" = ( +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"WP" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"WR" = ( +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/storage/eva) +"WT" = ( +/obj/structure/table/wood, +/obj/item/toy/cards/deck/kotahi, +/turf/open/floor/wood, +/area/ship/crew) +"WV" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"Xf" = ( +/obj/structure/chair, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Xg" = ( +/obj/machinery/door/airlock/external/glass, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"Xj" = ( +/obj/structure/cable{ + icon_state = "5-10" + }, +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"Xl" = ( +/obj/effect/turf_decal/atmos/plasma, +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxin_input{ + dir = 8; + piping_layer = 1 + }, +/turf/open/floor/engine/plasma, +/area/ship/engineering/atmospherics) +"Xo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Xw" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/poddoor{ + dir = 4; + id = "harrier_disposals"; + name = "Disposals Blast Door" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "harrier_disposalfield"; + locked = 1 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/crew/janitor) +"Xz" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/firealarm/directional/west, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"XB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"XF" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor{ + dir = 1; + id = "harrierbridge"; + name = "Window Blast Door" + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"XH" = ( +/obj/structure/chair/sofa/blue/corpo/right/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ship/crew) +"XI" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/effect/turf_decal/siding/thinplating, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage/eva) +"XK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/mono, +/area/ship/storage/eva) +"XL" = ( +/obj/effect/turf_decal/corner/opaque/white{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"XP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer5{ + dir = 9 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/light/directional/east, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"XQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"XW" = ( +/turf/open/floor/plasteel/stairs, +/area/ship/storage/eva) +"XY" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"Yb" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor{ + dir = 4; + id = "harrierbridge"; + name = "Window Blast Door" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Yc" = ( +/obj/machinery/firealarm/directional/east, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/crew/law_office) +"Yi" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/trimline/opaque/ntblue/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner, +/turf/open/floor/plasteel/patterned, +/area/ship/storage/eva) +"Yk" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/crew) +"Yp" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/atmospherics) +"Yr" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/poddoor{ + dir = 4; + id = "harrierwindows"; + name = "Window Blast Door" + }, +/turf/open/floor/plating, +/area/ship/hallway/port) +"Yw" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 4 + }, +/obj/machinery/camera{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ship/hallway/starboard) +"Yy" = ( +/obj/structure/chair/office, +/obj/effect/landmark/start/cargo_technician, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"Yz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/closet/emcloset/wall/directional/north, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/starboard) +"YB" = ( +/obj/structure/closet/secure_closet/bar{ + name = "internal affairs agent's locker"; + populate = 0; + req_access = list(38) + }, +/obj/machinery/airalarm/directional/north, +/obj/item/clothing/shoes/laceup, +/obj/item/clothing/under/nanotrasen/affairs, +/obj/item/clothing/suit/nanotrasen/suitjacket, +/obj/item/clothing/neck/tie/black, +/obj/item/clothing/neck/tie/black, +/obj/item/clothing/neck/tie/black, +/obj/item/clothing/neck/tie/black, +/obj/item/clothing/neck/tie/black, +/obj/item/clothing/neck/tie/black, +/obj/item/clothing/neck/tie/black, +/obj/item/storage/backpack/satchel/leather, +/obj/item/clothing/glasses/sunglasses, +/obj/item/clothing/suit/hooded/wintercoat, +/turf/open/floor/wood, +/area/ship/crew/law_office) +"YC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/opaque/blue/filled/end{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"YM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"YP" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/light_switch{ + pixel_x = -5; + pixel_y = 20 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/blue/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"YT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/ship/engineering) +"YV" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 8 + }, +/obj/item/stamp/nanotrasen/vigilitas{ + pixel_x = 8; + pixel_y = 3 + }, +/obj/machinery/recharger{ + pixel_x = -6 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ + dir = 8 + }, +/obj/machinery/door/window/westleft{ + req_access_txt = "2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"YW" = ( +/obj/effect/turf_decal/corner/opaque/white{ dir = 4 }, +/obj/effect/turf_decal/corner/opaque/white{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, -/area/ship/cargo) -"ZC" = ( +/area/ship/crew/canteen) +"YX" = ( /obj/structure/cable{ - icon_state = "0-4" + icon_state = "1-8" }, -/obj/machinery/light/directional/south, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"ZJ" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/central) -"ZK" = ( -/obj/structure/window/reinforced{ - dir = 1 +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/mono, +/area/ship/crew/canteen) +"YZ" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 }, -/obj/structure/table, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel/patterned/grid, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Za" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plasteel, /area/ship/cargo) -"ZO" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +"Zb" = ( +/turf/open/floor/plasteel, +/area/ship/crew) +"Ze" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/oxygen_output{ dir = 8 }, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"ZR" = ( -/obj/machinery/porta_turret/ai, -/turf/open/floor/circuit, -/area/ship/science/ai_chamber) -"ZW" = ( -/obj/structure/disposalpipe/junction{ +/turf/open/floor/engine/o2, +/area/ship/engineering/atmospherics) +"Zf" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/security) +"Zg" = ( +/obj/structure/filingcabinet/double{ + dir = 1; + pixel_x = 4 + }, +/obj/structure/window/reinforced{ dir = 8 }, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"ZX" = ( -/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer5{ +/obj/machinery/camera{ + dir = 1 + }, +/turf/open/floor/carpet/royalblue, +/area/ship/bridge) +"Zi" = ( +/obj/structure/railing{ dir = 4 }, -/obj/machinery/door/poddoor{ - id = "osprey_thruster_starboard"; - name = "Blast Door"; +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/stairs, +/area/ship/engineering/engine) +"Zk" = ( +/obj/structure/closet/secure_closet{ + icon_state = "cargo"; + name = "\proper cargo technician's locker"; + req_access_txt = "31" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/airalarm/directional/east, +/obj/machinery/firealarm/directional/south, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/under/nanotrasen/supply, +/obj/item/clothing/head/nanotrasen/cap/supply, +/obj/item/clothing/gloves/fingerless, +/obj/item/storage/backpack/messenger, +/obj/item/clothing/suit/hooded/wintercoat/cargo, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Zm" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ dir = 4 }, +/turf/open/floor/plasteel, +/area/ship/hallway/port) +"Zv" = ( /obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/firedoor/heavy, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, /turf/open/floor/plating, -/area/ship/science/ai_chamber) -"ZY" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/rnd/production/protolathe/department/science, +/area/ship/engineering/atmospherics) +"Zw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/camera{ + dir = 8 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) +"ZJ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/trimline/opaque/blue/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"ZL" = ( +/obj/effect/turf_decal/trimline/opaque/blue/filled/end{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"ZN" = ( +/obj/structure/chair/comfy/blue/corpo/directional/south, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 1 + }, /turf/open/floor/plasteel/dark, -/area/ship/science) -"ZZ" = ( -/obj/structure/sign/nanotrasen, +/area/ship/bridge) +"ZQ" = ( +/obj/structure/sign/number/random{ + color = "Black" + }, /turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/cryo) +/area/ship/cargo) +"ZS" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"ZU" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/n2{ + dir = 8; + piping_layer = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/atmospherics) +"ZX" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) (1,1,1) = {" -li -WU -pD -pD -rG -rG -pD -pD -WU -li -li -li -li -li -li -li -li -li -li -li -li -li -li -li -yj -Hk -Hk -wT -wT -Hk -Hk -yj -li +MZ +MZ +MZ +MZ +MZ +Yp +CV +CV +Yp +MZ +MZ +MZ +MZ +ok +AE +AE +AE +AE +Ci +AE +AE +AE +AE +ok +MZ +MZ +MZ +MZ +US +GG +GG +US +MZ +MZ +MZ +MZ +MZ "} (2,1,1) = {" -li -WU -Tn -VA -qX -Tr -Tn -VA -WU -li -li -li -li -li -li -li -li -li -li -li -li -li -li -li -yj -wo -wQ -kB -hU -wo -wQ -yj -li +MZ +Yp +Kz +Yp +Kz +Yp +HW +HW +Yp +MZ +MZ +MZ +MZ +AE +Pq +Io +LK +EF +tQ +Uj +AE +AE +hE +AE +MZ +MZ +MZ +MZ +US +Wx +Wx +US +MM +US +MM +US +MZ "} (3,1,1) = {" -li -WU -eE -eE -EW -LB -eE -eE -WU -li -li -li -li -li -li -li -li -li -li -li -li -li -li -li -yj -kG -kG -cJ -cJ -kG -kG -yj -li +MZ +Yp +NT +rh +NT +Yp +rf +cy +Yp +Mv +zs +Sj +Mv +AE +AE +yS +AE +qq +Jk +OW +AE +AE +AE +AE +Mv +Mv +TC +Mv +US +JK +UZ +US +cg +Fp +cg +US +MZ "} (4,1,1) = {" -li -WU -pP -ap -KC -Gr -oi -mZ -WU -li -li -li -li -li -li -li -li -li -li -li -li -li -li -li -yj -Iv -Bl -Tz -ra -Ri -dS -yj -li +MZ +Yp +bi +OR +bi +QG +jf +uW +Yp +Yp +zc +Yp +Yp +AE +uv +Ob +mC +sF +Bm +uk +Dg +Eh +KO +AE +aE +US +LZ +US +US +Nr +Rv +JB +kR +PA +kR +US +MZ "} (5,1,1) = {" -li -WU -NT -Yc -RY -SD -BN -ci -WU -MM -li -li -li -li -li -li -li -li -li -li -li -li -li -IY -yj -pT -pH -kb -Jl -kD -SX -Tb -li +MZ +Yp +NS +nf +XY +cS +vM +Bs +gX +lQ +UJ +Xz +Nt +Qs +zI +Sr +ys +Ij +dO +MX +yz +Lh +yx +HL +uD +uT +Mo +fb +Mx +Nn +wq +pY +vY +Ni +es +US +MZ "} (6,1,1) = {" -li -WU -qc -PS -Fj -QD -vY -yg -Tg -WU -ao -kP -uz -VV -VV -VV -VV -VV -VV -VV -ao -kP -uz -yj -go -pz -Gp -wV -Gp -Ko -tF -JN -li +MZ +Yp +Yp +Yp +zm +WN +JU +fH +HD +zy +CP +RX +pr +WV +Lf +Zi +gf +Qm +my +Ux +Hj +yd +UD +AE +GH +US +DQ +bL +ym +bR +Ez +Po +sc +He +ea +US +MZ "} (7,1,1) = {" -li -WU -qa -gX -hr -vx -XK -jn -MT -VV -Aj -VV -HE -VV -kU -VV -yP -VV -kU -VV -pe -eZ -ZX -VV -RB -qp -HV -GX -xp -cT -Of -xP -li +MZ +Yp +bk +NX +KZ +kq +Ds +Yp +Gi +Zv +Yp +Gi +cF +AE +jM +bK +kH +XP +No +Zw +Us +qB +Nz +AE +Xw +TI +TI +TI +TI +TI +eG +hH +hH +hH +US +US +MZ "} (8,1,1) = {" -li -WU -RE -JO -uh -lb -vj -ip -YJ -Fe -RO -rf -Ma -Gz -wY -LW -Ap -BL -Tt -do -XR -ll -wF -RD -Nq -MJ -Uo -sq -sw -cp -Uc -yj -li -"} -(9,1,1) = {" -li -WU -Hf -gX -oQ -NW -rN -Ro -Ro -Ro -Ro -Ro -Ro -VV -bw -hd -ZR -ZO -dr -VV -SB -kQ -kQ -kQ -kQ -kQ -oO -HK -hm -HK -Qb -yj -li +MZ +Yp +Vi +dX +EQ +Ev +ex +Yp +Eq +Ze +Yp +Xl +tq +AE +aX +ru +fh +AE +jU +AE +mk +ru +EJ +AE +nz +mJ +mJ +Vs +iT +TI +FD +fd +ez +xa +Kc +US +MZ +"} +(9,1,1) = {" +MZ +Yp +Yp +Yp +oX +fu +Tr +cp +cp +cp +cp +cp +KS +KS +KS +hY +hY +hY +hY +hY +hY +hY +IE +IE +IE +TI +Lb +Ah +bd +TI +Ms +Ga +RR +vs +Kj +US +MZ "} (10,1,1) = {" -li -WU -Mu -Ix -WK -mY -Qr -Ro -BU -Ro -BU -Ro -Vx -VV -ui -cI -cI -yC -xE -VV -hj -vD -Jw -OB -LX -kQ -Ka -lV -Mo -eX -fU -yj -li +MZ +Yp +QH +Ud +ZU +fu +Kx +cp +Pj +CW +CW +cp +MT +hI +vd +hY +wM +hY +gn +hY +qJ +hY +ol +oU +HI +TI +hy +Dk +Is +TI +lA +YT +Ki +xv +Pr +US +MZ "} (11,1,1) = {" -li -WU -Qv -lz -Em -dm -BK -Ro -jc -zl -Hn -oK -Hn -VV -cD -VV -lr -VV -LE -VV -ki -Yh -je -ut -vi -kQ -uq -NP -yj -pJ -gC -yj -li +MZ +Yp +wY +NX +IT +kM +RU +cp +DD +ms +Dl +cp +Tz +ln +Vp +hY +eA +MP +Da +uo +SF +hY +Tm +sD +Ha +TI +vI +hL +ES +TI +gU +bg +hQ +SW +mO +US +MZ "} (12,1,1) = {" -li -WU -Zo -LF -LK -KI -mf -Ro -to -pq -PW -VS -gT -gT -gT -gT -gT -gT -gT -gT -gT -FF -uI -wb -Sa -kQ -Xi -lM -yj -oo -oo -yj -li +MZ +Yp +Yp +Yp +Yp +Yp +jl +cp +xl +ud +Rt +cp +fZ +Pk +gm +hY +FK +rk +jI +Mn +NQ +hY +Cn +sy +sl +TI +lX +Ax +mc +TI +jm +US +US +US +US +US +MZ "} (13,1,1) = {" -li -WU -bH -Xz -OA -Jc -eT -Ro -Xr -dx -Hn -nf -gT -eD -pU -Ws -gT -VF -Pa -dP -gT -fn -xj -uJ -Ou -kQ -mo -RI -yj -ik -lA -yj -li +MZ +aL +cN +de +dK +cf +rR +cp +kJ +cp +cp +cp +KS +QW +KS +hY +hY +hY +DC +hY +hY +hY +IE +EX +IE +TI +TI +TI +dI +TI +KT +Sn +iA +LJ +wS +IS +MZ "} (14,1,1) = {" -li -WU -WU -WU -WU -WU -Ag -MB -Ro -CL -FV -Ro -gT -HD -lv -Wn -gT -XU -pp -ht -gT -kQ -OV -kf -kQ -JX -Iz -yj -yj -yj -yj -yj -li +aA +cm +da +dA +dL +ha +bW +DH +mN +Gz +dr +lH +BF +Rg +Jx +bv +ow +jx +IV +TD +cE +cz +Jx +fO +Gz +lg +VS +Bx +FQ +Lv +Jl +Xg +fr +SS +uf +St +Wa "} (15,1,1) = {" -li -nK -GU -XX -Tw -Mc -Hi -si -gc -TH -kZ -ZC -gT -gT -zL -gT -gT -gT -Xp -gT -gT -la -eB -zF -OW -sZ -Vs -Mc -jC -gJ -Zj -FI -li +MZ +PF +PF +PF +PF +Pi +og +JC +rQ +Gz +ox +Dy +Dy +Sy +Aj +Pz +dB +UT +Fi +tG +Tx +aq +fw +mm +hV +ue +yY +Gz +RT +qp +uw +JQ +fI +fI +fI +fI +MZ "} (16,1,1) = {" -Xo -uQ -mB -Tq -rJ -bl -yQ -sJ -sJ -gy -yE -xK -tY -ow -hl -KL -SK -ac -ej -ce -wj -Ey -wC -VR -QI -Ii -yw -ti -hg -oN -ou -uQ -Wq +MZ +ig +gH +pI +co +ig +QO +Hh +iI +uZ +st +Gz +Gz +TX +Me +ss +FP +wL +JT +Lz +BS +Bb +sh +Zg +Gz +Gz +Gz +Gz +Yz +Xj +Cv +Zf +oi +ew +AS +Zf +MZ "} (17,1,1) = {" -li -BH -IW -IW -IW -IW -IW -IW -Qt -Pe -WS -xT -gT -Di -Fk -UL -uA -UL -Tx -nx -gT -aY -hy -Np -rS -gV -gV -gV -gV -gV -gV -ZZ -li +MZ +ig +YB +Rn +oT +Ta +ig +tZ +Sm +Qf +iD +ZX +gE +Rb +VA +bn +FP +ZN +IK +qf +eJ +FO +iG +zY +XF +Jd +nZ +zV +av +bH +lD +Nq +QP +Wk +dv +Zf +MZ "} (18,1,1) = {" -li -IW -iO -KD -fb -RU -iO -IW -tL -Pe -Ib -hL -gT -wn -UL -YR -UL -UT -UL -Ry -gT -zN -RW -Np -qv -gV -os -ea -yI -Su -dw -gV -li +MZ +Rf +tm +Oh +ko +Wp +jN +Jw +gN +uh +uC +QQ +gE +Fx +VZ +OA +cY +JP +Hw +iS +QX +ta +dz +EY +XF +cl +Sw +yc +hx +sE +jA +Kr +LW +Fo +Ig +tI +MZ "} (19,1,1) = {" -li -IW -fc -pv -iv -nl -oE -IW -xF -Pe -RW -mI -DU -tc -uC -tr -xq -ud -pm -Pg -DU -iA -Yt -qs -bA -gV -mj -PJ -UZ -uk -SU -gV -li +MZ +Rf +JX +Db +gD +Db +pH +MK +Qx +Zm +Hx +iI +KC +Gz +aO +xg +vL +qX +pp +Mf +wz +Ra +ky +Gz +KC +Ro +ju +wD +ls +Yw +Zf +zr +Ky +Nc +tT +tI +MZ "} (20,1,1) = {" -li -IW -rz -SO -Xv -Nm -GN -Nw -zi -ep -My -Ai -sG -tx -tx -tx -gT -tx -tx -tx -sG -CC -WE -rO -VL -uM -pk -tp -yl -gB -sI -gV -li +MZ +ig +uy +UI +KG +VY +ig +Yr +Yr +Vv +wN +WH +wN +gE +Py +uz +HG +YZ +FS +YZ +Np +Qb +AW +XF +ba +qh +ba +cB +LD +LD +Zf +ei +YV +ec +iQ +Zf +MZ "} (21,1,1) = {" -li -IW -Oh -hv -LV -mV -cg -IW -bh -Cn -mg -Cn -ak -ak -ak -ak -Ni -ak -ak -ak -ak -in -RW -Cn -rX -gV -Yw -FL -FL -FL -EO -gV -li +MZ +Rf +JX +eY +nQ +eg +ig +MZ +MZ +PF +Nk +Os +Uw +Gz +Yb +Gz +Ao +la +Ry +zX +TO +Gz +TZ +Gz +Sb +Wj +Ih +fI +MZ +MZ +Zf +Ho +OX +Nc +tT +tI +MZ "} (22,1,1) = {" -li -Rq -IW -FZ -xN -ET -IW -IW -ZJ -Es -cY -Nd -Nd -Si -Nd -La -ie -Nd -Lt -Ho -xY -eG -Qy -Ge -ZJ -gV -gV -bs -Fr -Wb -gV -PP -li +MZ +Rf +Yc +sU +SZ +fc +ig +MZ +MZ +rT +Vv +iI +wN +Ub +qx +KC +Yb +Yb +Yb +Yb +DM +KC +qx +yI +ba +Qz +cB +dV +MZ +MZ +Zf +pF +Pn +uc +CK +tI +MZ "} (23,1,1) = {" -li -li -Rq -YI -YI -YI -Rq -li -sG -su -ZJ -AB -zJ -JW -ND -Pq -bb -dJ -Cp -TR -zU -uN -ZJ -kV -sG -li -PP -EN -EN -EN -PP -li -li +MZ +ng +ig +NE +cb +ig +ng +MZ +MZ +MZ +PF +OO +RB +qF +GY +GE +DP +DP +Ad +Cm +CA +GE +Eb +CH +gM +sw +fI +MZ +MZ +MZ +gk +Zf +uX +km +Zf +gk +MZ "} -(24,1,1) = {" -li -li -li -li -li -li -li -li -li -li -sG -cq -cq -cq -cq -cq -cq -cq -WZ -zy -cq -cq -sG -li -li -li -li -li -li -li -li -li -li +(24,1,1) = {" +MZ +MZ +ng +ig +ig +ng +MZ +MZ +MZ +MZ +rT +PF +Vv +JH +Cm +kn +Cm +jT +zT +Cm +FX +Fl +Cm +td +cB +fI +dV +MZ +MZ +MZ +MZ +gk +Zf +Zf +gk +MZ +MZ "} (25,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -cq -GC -jU -JG -cq -Bu -cL -oU -lt -IV -cq -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +PF +PF +fz +We +qg +fl +lE +TJ +zU +BO +be +fI +fI +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (26,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -gM -JL -rH -wP -IR -rZ -FC -jM -pC -YH -gM -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +Mv +MZ +rj +Wm +CI +In +lE +JZ +ch +OD +rj +MZ +Mv +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (27,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -gM -iD -rH -rH -Lz -rP -xb -Ga -pK -UU -gM -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +Mv +MZ +wa +wO +RV +wr +MQ +vm +ch +KM +wa +MZ +Mv +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (28,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -cq -lY -rH -gt -Lz -rP -xb -ga -pK -Bp -cq -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +Mv +MZ +wa +bU +CI +Ia +tJ +Ia +ch +rK +wa +MZ +Mv +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (29,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -gM -CT -rH -rH -sl -sC -qw -ly -pK -lh -gM -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +Mv +MZ +wa +cx +CI +nx +PU +qO +ch +KW +wa +MZ +Mv +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (30,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -gM -XE -rH -Fo -Dg -DH -VN -aj -cK -Jt -gM -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +Mv +MZ +rj +JS +NP +ED +Ut +Cm +rc +xD +rj +MZ +Mv +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (31,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -cq -DK -tO -qN -cq -ir -DA -yq -tT -DY -cq -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +pP +BU +BU +BU +qI +qI +vT +zx +KB +hA +Er +CO +CO +CO +CO +CO +dG +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (32,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -Zr -Zr -Zr -Zr -Zr -Zr -Zr -ke -xB -Zr -Zr -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +pP +qI +qI +Tv +kO +YM +Qu +mV +YX +qI +aR +qx +Lw +CO +XI +TT +Ey +fi +CO +CO +dG +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (33,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -Zr -ux -Xl -KE -Ee -tm -Zr -eP -dN -Ih -Zr -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +pP +qI +qI +jD +aC +aH +Wt +Gd +aC +aH +gV +ZS +eQ +zO +Tf +CO +oe +qK +IM +sf +CO +CO +CO +CO +dG +MZ +MZ +MZ +MZ +MZ +MZ "} (34,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -Uj -Bc -WN -Vh -YK -aW -nL -PV -FP -HU -Uj -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +uG +pZ +dJ +ql +PH +Kd +Je +ql +PH +Kd +mB +ZS +UF +zF +xo +CO +Jt +Vr +Th +Jt +CO +TM +IX +Vc +hj +MZ +MZ +MZ +MZ +MZ +MZ "} (35,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -Uj -Dj -NH -WN -CQ -Lc -OS -QE -uE -HU -Uj -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +uG +Aw +mB +Xf +Pw +se +Je +Ur +Pw +se +mB +ZS +JL +zF +oV +Jt +Av +vl +Nl +bM +rm +PZ +ur +PL +ND +MZ +MZ +MZ +MZ +MZ +MZ "} (36,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -Zr -Zr -Zr -aI -un -YD -wq -zQ -vl -jk -Zr -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +uG +qw +mB +xn +xn +xn +BY +Nm +yB +yB +qE +hD +Hu +Wv +Qn +Hk +Ug +ct +MV +lj +VE +mW +hP +ih +rJ +MZ +MZ +MZ +MZ +MZ +MZ "} (37,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -Uj -UB -it -WN -CQ -Hx -oW -Qm -Ac -wr -Uj -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +uG +kr +pd +KQ +KQ +Pm +Bj +XQ +QN +QN +wU +VJ +iM +pR +oj +KN +XK +sv +wH +je +XW +WR +HY +ih +rJ +Wa +MZ +MZ +MZ +MZ +MZ "} (38,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -Uj -IU -WN -gH -OH -yc -Zr -Sm -il -wr -Uj -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +qI +qI +pQ +na +OK +HC +bu +ql +PH +Kd +bu +ZS +XB +zF +kV +Jt +PQ +Gq +QC +va +dN +Yi +Uq +go +wn +MZ +MZ +MZ +MZ +MZ +MZ "} (39,1,1) = {" -li -li -li -li -li -li -li -li -li -li -CF -Zr -wR -JD -gg -gg -Hb -Zr -CH -QK -Sd -Zr -CF -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +qI +mZ +ad +xK +vZ +HC +bu +Xf +Pw +se +bu +ZS +Ot +yL +Ei +GK +oG +eZ +gQ +oG +oG +oG +yr +oG +ZQ +MZ +MZ +MZ +MZ +MZ +MZ "} (40,1,1) = {" -li -li -li -li -li -li -li -li -hh -IL -IL -IL -IL -Zr -cd -cd -dE -Zr -xJ -oX -Pl -Pl -Pl -Pl -iI -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +qI +nv +Oy +ul +vZ +HC +rx +Gd +aC +aH +Ck +ZS +rc +SE +do +oG +xe +vN +Bd +tH +tk +hq +WP +KA +ZQ +MZ +MZ +MZ +MZ +MZ +MZ "} (41,1,1) = {" -li -li -li -li -li -li -li -hh -IL -YP -my -kL -IL -Pj -bN -bN -Wf -Bn -TJ -Xe -Pl -YF -Ie -nT -Pl -iI -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +qI +op +XL +YW +Em +jL +bJ +FN +kA +Tj +gC +qI +xf +BA +Kl +bc +EB +sN +EU +ka +mH +tN +GF +Tu +ZQ +MZ +MZ +MZ +MZ +MZ +MZ "} (42,1,1) = {" -li -li -li -li -li -li -li -IL -qb -Se -co -Oj -pL -Ol -RQ -RQ -RQ -RQ -PQ -EX -SQ -AS -mW -tH +MZ +MZ +MZ +MZ +MZ +MZ +qI +LP +ri +gq +bX +qI +Ny +qI +qI +qI +Up +qI +OB +iV +cW +oG +JN +Za +vj +nj +xj Nv -Pl -li -li -li -li -li -li -li +pX +tC +ZQ +MZ +MZ +MZ +MZ +MZ +MZ "} (43,1,1) = {" -li -li -li -li -li -li -li -IL -ct -hG -Iq -SC -An -mR -MR -bF -bF -bF -fg -Zu -eh -aL -mF -ZW -Zs -Pl -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +pP +qI +rr +uI +qI +Ju +Yk +iP +ai +ty +vW +jH +fv +hB +ir +oG +vS +Za +qo +QV +Gg +yl +dF +oG +Jv +MZ +MZ +MZ +MZ +MZ +MZ "} (44,1,1) = {" -li -li -li -li -li -li -li -IL -PE -Vf -iM -ez -TU -yU -fa -gi -lF -gi -gW -nZ -AR -kS -yn -mq -SG -Pl -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +qI +tO +iy +qI +Kg +up +Um +UN +Mu +er +jH +KY +Lc +QR +oG +Pu +lP +Yy +Al +tF +Lp +uu +oG +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (45,1,1) = {" -li -li -li -li -li -li -li -IL -fF -TG -ss -oB -IL -ko -DV -wW -zt -Rr -PU -iQ -Ll -Nr -tH -IT -SR -Pl -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +pP +qI +qI +qI +Om +Om +Om +SN +Co +MW +jH +sn +Iu +tV +oG +sG +yE +wd +xH +Xo +cH +oG +Jv +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (46,1,1) = {" -li -li -li -li -li -li -li -ja -ZY -VC -TZ -Po -VW -xH -yd -yd -ot -yd -TW -hD -lk -vp -Ht -lJ -zM -DF -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +Om +Om +EV +Kq +EV +Om +MB +WT +yG +jH +zd +Rs +Im +oG +za +CN +Pv +vr +Gr +Zk +oG +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (47,1,1) = {" -li -li -li -li -li -li -li -DP -hw -VI -rd -Po -VW -xH -Cw -tG -AT -Ig -DO -OD -eh -Bq -hc -QW -wc -Wk -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +qQ +Om +xy +qr +Fy +Om +PC +XH +cc +jH +Az +xN +uH +oG +oG +oG +oG +oG +oG +oG +Jv +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (48,1,1) = {" -li -li -li -li -li -li -li -DP -yX -zb -yS -Po -VW -xH -yd -oF -sE -oF -gw -OD -eh -jG -UG -Ek -bG -Wk -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +Om +EV +qr +EV +Om +gg +Li +xS +jH +BI +Br +BG +jH +di +rL +di +Lj +um +jH +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (49,1,1) = {" -li -li -li -li -li -li -li -hs -lL -sO -tb -SW -IL -Hy -yd -IX -CA -Gk -gw -QJ -Pl -GG -Bv -Vq -Gu -Re -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +qQ +wX +Hq +pW +uS +gA +Bq +kE +jH +YP +Cz +fT +fR +ZL +fT +fT +zv +jH +UW +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (50,1,1) = {" -li -li -li -li -li -li -li -sd -IL -IL -IL -IL -IL -sy -yd -nE -CA -IA -gw -xG -Pl -Pl -Pl -Pl -Pl -aE -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +Om +Kt +Pb +Om +CJ +Zb +wp +jH +ZJ +wA +iz +YC +if +Dr +CR +bp +jH +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (51,1,1) = {" -li -li -li -li -li -li -li -iw -Cv -bT -Ti -Wj -Wc -yd -yd -mH -dK -Dx -gE -DE -ZK -iZ -wd -ry -Cv -iw -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +qQ +Om +Om +Om +vC +dt +Om +jH +yR +gO +VO +SB +WL +fn +tS +Gy +UW +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (52,1,1) = {" -li -li -li -li -li -li -li -li -Cv -fh -mu -OG -yd -yd -Bs -Cu -ar -bg -fj -ch -Fs -NA -Cj -TP -Cv -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +tY +tY +Uf +xQ +dd +tY +jH +jH +jH +jH +SM +eX +jH +jH +jH +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (53,1,1) = {" -li -li -li -li -li -li -li -li -iw -Cv -Gw -cN -jo -KA -qL -EA -EA -EA -qL -yT -na -ML -Oq -Cv -iw -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +RJ +tY +mK +gF +Ps +tY +MZ +MZ +MZ +jH +Wd +ej +FY +jH +UW +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (54,1,1) = {" -li -li -li -li -li -li -li -li -li -iw -Cv -Cv -Cv -Cv -wx -Gt -Gt -Gt -Os -Vl -Cv -Cv -Cv -iw -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +tY +UV +xM +Ak +tY +MZ +MZ +MZ +jH +dj +rZ +mG +jH +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (55,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -iw -Cv -Dq -fJ -fJ -hQ -fJ -fJ -qM -Cv -iw -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +RJ +tY +HO +NF +tY +MZ +MZ +MZ +jH +fX +rS +jH +UW +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} (56,1,1) = {" -li -li -li -li -li -li -li -li -li -li -li -li -Cv -li -li -li -li -li -li -li -Cv -li -li -li -li -li -li -li -li -li -li -li -li +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +RJ +tY +uB +tY +MZ +MZ +MZ +jH +jH +jH +UW +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ +MZ "} diff --git a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm deleted file mode 100644 index b92747f3a3e..00000000000 --- a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm +++ /dev/null @@ -1,16047 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( -/obj/effect/spawner/lootdrop/salvage_50, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"ac" = ( -/obj/effect/turf_decal/industrial/radiation{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/radiation{ - dir = 8 - }, -/obj/item/reagent_containers/hypospray/medipen/penacid, -/obj/item/reagent_containers/hypospray/medipen/penacid, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/meson/prescription, -/obj/effect/decal/cleanable/dirt, -/obj/item/geiger_counter{ - pixel_x = 1; - pixel_y = -5 - }, -/obj/structure/closet/radiation{ - anchored = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"ae" = ( -/obj/structure/chair/comfy/beige{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/bridge) -"ag" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/communications) -"ah" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/structure/railing{ - dir = 10; - layer = 4.1 - }, -/obj/structure/table/reinforced, -/obj/machinery/computer/secure_data/laptop{ - dir = 1; - pixel_y = 4; - pixel_x = 2 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"aj" = ( -/obj/structure/window/reinforced, -/obj/structure/bed, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"ak" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"am" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/techfloor, -/obj/machinery/door/poddoor{ - id = "armoury_heron"; - name = "Armoury Shutters"; - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"ao" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"as" = ( -/obj/structure/sign/poster/official/walk{ - pixel_x = -32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 1 - }, -/area/ship/science/robotics) -"at" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"aw" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 8 - }, -/obj/structure/sign/poster/official/obey{ - pixel_x = -31 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"az" = ( -/obj/machinery/computer/operating, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"aC" = ( -/obj/machinery/recharge_station, -/obj/item/robot_suit/prebuilt, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/tech, -/area/ship/science/robotics) -"aG" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/radiation{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"aK" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"aN" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/communications) -"aO" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/eastright{ - dir = 2 - }, -/obj/item/folder/yellow{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/machinery/door/window/northright, -/turf/open/floor/plasteel, -/area/ship/cargo) -"aQ" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/turf_decal/corner/transparent/black/three_quarters{ - dir = 4 - }, -/obj/machinery/vending/coffee, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"aU" = ( -/obj/effect/turf_decal/corner/opaque/brown/full, -/obj/effect/turf_decal/corner/opaque/brown/diagonal, -/obj/effect/turf_decal/industrial/loading, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/cargo) -"aV" = ( -/obj/machinery/telecomms/server/presets/nanotrasen{ - network = "nt_commnet"; - layer = 3.1 - }, -/obj/machinery/airalarm/directional/west, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/circuit/green, -/area/ship/engineering/communications) -"bb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/chair/office{ - dir = 8; - name = "tactical swivel chair" - }, -/turf/open/floor/plating/catwalk_floor, -/area/ship/science/robotics) -"bc" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) -"bd" = ( -/obj/machinery/mecha_part_fabricator{ - dir = 1 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/science/robotics) -"bj" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals1, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"bl" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"bm" = ( -/obj/effect/turf_decal/corner/opaque/brown/full, -/obj/effect/turf_decal/corner/opaque/brown/diagonal, -/obj/machinery/mineral/ore_redemption{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, -/area/ship/cargo) -"bn" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/turf_decal/corner/transparent/black/three_quarters{ - dir = 1 - }, -/obj/structure/chair, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"br" = ( -/obj/item/clothing/under/rank/cargo/qm, -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/structure/closet/wall/directional/west{ - icon_door = "orange_wall"; - name = "quartermaster's closet" - }, -/obj/item/clothing/neck/cloak/qm, -/obj/item/clothing/under/rank/cargo/qm/skirt, -/obj/item/clothing/head/beret/qm, -/turf/open/floor/plasteel, -/area/ship/cargo) -"bu" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/science/robotics) -"bC" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/red/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"bD" = ( -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/structure/closet/secure_closet/security/sec, -/obj/machinery/light/directional/west{ - light_color = "#e8eaff" - }, -/obj/item/ammo_box/magazine/co9mm, -/obj/item/gun/energy/disabler{ - pixel_y = -2; - pixel_x = 3 - }, -/obj/item/storage/belt/security/webbing, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"bE" = ( -/obj/structure/chair/sofa/brown/right/directional/north, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm) -"bF" = ( -/obj/effect/turf_decal/steeldecal, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/rnd/production/circuit_imprinter/department/science, -/obj/machinery/firealarm/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"bG" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/cargo) -"bH" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = 10 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/filled/cola{ - pixel_x = -9; - pixel_y = 3 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"bI" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"bK" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"bL" = ( -/obj/structure/sign/poster/official/love_ian{ - pixel_x = 32 - }, -/obj/structure/table/reinforced, -/obj/item/radio/intercom/directional/north, -/obj/item/flashlight/lamp{ - pixel_y = 3; - pixel_x = -5 - }, -/obj/machinery/jukebox/boombox{ - pixel_y = 4; - pixel_x = 2; - icon_state = "boombox-" - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/bridge) -"bM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"bN" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_generalwindows"; - name = "Blast Shutters" - }, -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/turf/open/floor/plating, -/area/ship/security) -"bS" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/power/emitter/welded{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "0-1" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"cd" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"ci" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals7, -/obj/effect/turf_decal/steeldecal/steel_decals7{ - dir = 4; - pixel_x = -1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals7{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals7{ - dir = 1; - pixel_x = -1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/maintenance/central) -"cj" = ( -/obj/structure/rack, -/obj/item/storage/toolbox/electrical{ - pixel_x = -1; - pixel_y = 4 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 2; - pixel_y = -1 - }, -/obj/item/storage/belt/utility/full{ - pixel_y = 6 - }, -/obj/item/clothing/glasses/meson/engine{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/machinery/airalarm/directional/south, -/obj/item/clothing/glasses/welding, -/turf/open/floor/plasteel/tech, -/area/ship/science/robotics) -"ck" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/door/window/northright{ - dir = 2 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"cm" = ( -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 5 - }, -/obj/effect/turf_decal/siding/thinplating{ - layer = 2.040; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"co" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"cp" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"cq" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/holopad, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"cr" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"ct" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 8 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21"; - pixel_x = -6; - pixel_y = 17 - }, -/obj/structure/plaque/static_plaque/golden/captain{ - pixel_y = 32 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/ship/crew/law_office) -"cv" = ( -/obj/machinery/door/firedoor, -/obj/machinery/autolathe, -/obj/machinery/door/window/southleft{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"cB" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/industrial/caution, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil/streak{ - pixel_y = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/robotics) -"cE" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"cF" = ( -/obj/machinery/suit_storage_unit/independent/pilot, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/robotics) -"cK" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/garbage{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/turf/open/floor/plating/catwalk_floor, -/area/ship/science/robotics) -"cO" = ( -/obj/machinery/door/poddoor{ - id = "heron_outercargo"; - name = "Cargo Hatch" - }, -/obj/docking_port/mobile{ - can_move_docking_ports = 1; - launch_status = 0; - port_direction = 4; - preferred_direction = 4 - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) -"cX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/button/door{ - dir = 1; - id = "heron_sm_lockdown"; - name = "Supermatter Lockdown"; - pixel_y = -24 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"cY" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/turf/open/floor/plating, -/area/ship/maintenance/central) -"db" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"de" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 5 - }, -/obj/machinery/computer/atmos_control/tank/air_tank{ - sensors = list("hairon"="Heron Air Mix Tank") - }, -/obj/machinery/light_switch{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"dh" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/reflector/box, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"dj" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"dn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/fluff/hedge, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"dp" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/elevatorshaft, -/area/ship/science/robotics) -"dq" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/curtain/cloth/grey, -/obj/machinery/light/small/directional/west, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken3" - }, -/area/ship/crew/dorm) -"dr" = ( -/obj/effect/turf_decal/steeldecal/steel_decals1, -/obj/effect/turf_decal/spline/fancy/opaque/blue{ - dir = 4 - }, -/obj/machinery/firealarm/directional/west, -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_x = -10 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"dt" = ( -/obj/effect/turf_decal/techfloor/orange/corner, -/obj/machinery/atmospherics/components/binary/pump/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"du" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"dB" = ( -/obj/structure/window/plasma/reinforced/spawner/east, -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/item/tank/internals/plasma/full, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 5 - }, -/turf/open/floor/engine, -/area/ship/engineering/electrical) -"dF" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"dG" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"dI" = ( -/obj/structure/sign/poster/official/moth/supermatter{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"dJ" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 4 - }, -/obj/item/bot_assembly/medbot, -/obj/machinery/door/firedoor/border_only, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"dL" = ( -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 5 - }, -/obj/effect/turf_decal/radiation, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"dM" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"dN" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/elevatorshaft, -/area/ship/science/robotics) -"dQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"dS" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4; - layer = 4.1; - color = "#808080" - }, -/obj/machinery/mass_driver{ - id = "heron_mechlaunch" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/elevatorshaft, -/area/ship/science/robotics) -"dU" = ( -/obj/effect/turf_decal/trimline/opaque/red/warning{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"dY" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating, -/area/ship/hangar) -"ec" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/bridge) -"ed" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera{ - dir = 5 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"ef" = ( -/obj/machinery/door/poddoor{ - id = "heron_innercargo"; - name = "Cargo Bay Blast Door" - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/storage) -"ei" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/light/floor, -/turf/open/floor/engine/hull/reinforced/interior, -/area/ship/hangar) -"ej" = ( -/obj/machinery/telecomms/bus/preset_five{ - network = "nt_commnet" - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/circuit/green, -/area/ship/engineering/communications) -"ek" = ( -/obj/item/gun/energy/e_gun/smg{ - pixel_y = 9 - }, -/obj/item/gun/energy/e_gun/smg{ - pixel_y = 2 - }, -/obj/item/gun/ballistic/shotgun/automatic/combat{ - pixel_y = -3 - }, -/obj/structure/rack, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"eq" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/turf_decal/corner/transparent/black{ - dir = 8 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"er" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"et" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"eu" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/structure/girder, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"ev" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"ew" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"ez" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 1 - }, -/area/ship/bridge) -"eA" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"eG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"eI" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/office) -"eK" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/airalarm/engine{ - pixel_y = 24; - dir = 1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) -"eP" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/structure/sign/departments/security{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"eT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"eU" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"eV" = ( -/obj/structure/closet/wall/orange/directional/north{ - name = "fuel locker" - }, -/obj/item/stack/sheet/mineral/plasma/fifty, -/obj/effect/decal/cleanable/wrapping{ - pixel_y = 15 - }, -/obj/machinery/airalarm/directional/east, -/obj/machinery/light/directional/east, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"eW" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/obj/machinery/computer/secure_data, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"eX" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_outerbridge"; - name = "Blast Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"fa" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 4; - id = "heron_outercargoholo"; - locked = 1 - }, -/obj/machinery/door/poddoor{ - id = "heron_outercargo"; - name = "Cargo Hatch" - }, -/obj/structure/cable{ - icon_state = "0-1" - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) -"fb" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"fe" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 1 - }, -/turf/open/floor/engine/air, -/area/ship/engineering/atmospherics) -"fg" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/internals, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/tank/internals/emergency_oxygen, -/turf/open/floor/plasteel, -/area/ship/cargo) -"fk" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"fm" = ( -/obj/machinery/door/airlock/hatch, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) -"fn" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/warning, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"fp" = ( -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 5 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"fq" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"fr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken2" - }, -/area/ship/crew/dorm) -"fv" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hangar) -"fB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"fD" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/jukebox/boombox{ - pixel_y = 5 - }, -/obj/item/newspaper{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/item/book/manual/wiki/engineering{ - pixel_x = -3; - pixel_y = -8 - }, -/obj/structure/sign/warning/incident{ - pixel_y = 32 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"fE" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/catwalk/over, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/engineering) -"fI" = ( -/obj/effect/turf_decal/trimline/opaque/red/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"fJ" = ( -/obj/machinery/firealarm/directional/north, -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/plasteel/tech, -/area/ship/security) -"fM" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"fP" = ( -/obj/machinery/door/airlock/grunge{ - name = "Bathroom" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"fQ" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/hangar) -"fR" = ( -/obj/machinery/door/airlock/engineering/glass, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) -"fT" = ( -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"fW" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8; - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"fZ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"gb" = ( -/obj/structure/closet/wall/orange/directional/north{ - name = "Chief Engineer's Locker" - }, -/obj/item/clothing/under/rank/engineering/chief_engineer, -/obj/item/clothing/suit/toggle/hazard, -/obj/item/storage/backpack/industrial, -/obj/item/clothing/head/beret/ce, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/shoes/workboots{ - pixel_y = -7 - }, -/obj/item/clothing/gloves/color/yellow, -/obj/item/radio/headset/heads/ce, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/pipe_dispenser{ - pixel_y = -10 - }, -/obj/item/storage/belt/utility/chief/full{ - pixel_y = -11; - pixel_x = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"gd" = ( -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/purple/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"gv" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"gw" = ( -/obj/machinery/atmospherics/components/unary/thermomachine{ - dir = 1; - piping_layer = 2 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"gx" = ( -/obj/structure/table/reinforced, -/obj/item/storage/pill_bottle/epinephrine{ - pixel_x = 10; - pixel_y = 9 - }, -/obj/item/storage/pill_bottle/mannitol{ - pixel_x = 10; - pixel_y = 5 - }, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/item/clothing/gloves/color/latex, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/machinery/smartfridge/chemistry/preloaded{ - pixel_x = 32; - density = 0 - }, -/obj/item/reagent_containers/medigel/synthflesh{ - pixel_x = -9; - pixel_y = -2 - }, -/obj/item/reagent_containers/medigel/synthflesh{ - pixel_x = -3; - pixel_y = -1 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"gz" = ( -/obj/effect/turf_decal/trimline/opaque/blue/warning, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"gB" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/structure/sign/departments/medbay/alt{ - pixel_y = 32 - }, -/obj/machinery/door/airlock/security/glass{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hangar) -"gD" = ( -/obj/effect/turf_decal/corner/opaque/white{ - dir = 6 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/item/kirbyplants{ - icon_state = "plant-03" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating{ - layer = 2.040; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"gG" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/hand_labeler, -/obj/effect/turf_decal/siding/thinplating{ - dir = 9 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel, -/area/ship/cargo) -"gI" = ( -/obj/effect/turf_decal/trimline/opaque/red/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"gL" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"gN" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/plasma, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"gP" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/north, -/turf/open/floor/plating, -/area/ship/hangar) -"gY" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/rechargefloor, -/obj/mecha/combat/marauder{ - internals_req_access = 0; - operation_req_access = 0 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/science/robotics) -"gZ" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/railing/corner, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/turf/open/floor/plating, -/area/ship/hangar) -"hb" = ( -/obj/effect/turf_decal/corner/opaque/bottlegreen/full, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/suit/space/hardsuit/medical, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"hj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/item/kirbyplants{ - icon_state = "plant-10"; - pixel_x = -6 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"hk" = ( -/obj/structure/table/wood/reinforced, -/obj/item/paper_bin{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/pen/survival{ - pixel_x = -7; - pixel_y = 3 - }, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"hm" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/blue, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"hn" = ( -/obj/effect/spawner/lootdrop/glowstick{ - pixel_x = 5; - pixel_y = 9 - }, -/obj/effect/decal/cleanable/plastic, -/obj/machinery/atmospherics/pipe/simple/purple/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"hp" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/arrows{ - pixel_y = 15; - pixel_x = 10 - }, -/obj/effect/turf_decal/arrows{ - pixel_y = 15; - pixel_x = -10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/steeldecal/steel_decals_central4, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/robotics) -"hr" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) -"ht" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/line, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/machinery/computer/monitor{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"hw" = ( -/obj/machinery/door/poddoor{ - id = "heron_innercargo"; - name = "Cargo Bay Blast Door" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/storage) -"hx" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/status_display{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/robotics) -"hD" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/machinery/holopad, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"hF" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/structure/table/reinforced, -/obj/item/clothing/head/welding, -/obj/item/mmi/posibrain{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/item/organ/tongue/robot{ - pixel_y = 6; - pixel_x = -4 - }, -/obj/item/mmi/posibrain{ - pixel_x = 9; - pixel_y = 10 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/steeldecal/steel_decals_central2{ - pixel_y = 2 - }, -/obj/item/robot_module/security{ - pixel_y = -6; - pixel_x = 1 - }, -/obj/item/robot_module/security{ - pixel_y = -3; - pixel_x = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"hH" = ( -/obj/structure/table/wood/reinforced, -/obj/item/flashlight/lamp{ - pixel_x = -5; - pixel_y = 10 - }, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_x = 12; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = -6 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"hJ" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = 13; - pixel_y = 2 - }, -/obj/structure/mirror{ - pixel_x = 27 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/dorm/dormtwo) -"hM" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/curtain/cloth/grey, -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"hO" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/machinery/door/airlock/security/glass{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hangar) -"hP" = ( -/obj/structure/chair/office/light{ - dir = 1; - pixel_y = 3 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"hQ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/power/emitter/welded{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "0-1" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"hR" = ( -/obj/machinery/door/airlock/atmos{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"hS" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"hU" = ( -/obj/item/virgin_mary{ - pixel_y = 25 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm) -"hY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/dresser, -/obj/item/toy/figure/head_of_personnel{ - pixel_y = 14; - pixel_x = 1 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken2" - }, -/area/ship/crew/dorm/dormthree) -"hZ" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 10 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 7; - pixel_y = -21 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"ia" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/research{ - name = "Mech Bay" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/science/robotics) -"ib" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/computer/secure_data{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"ie" = ( -/obj/structure/window/reinforced/spawner/north, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 8 - }, -/obj/item/clothing/neck/cloak/hos, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/cowboy/black, -/obj/item/clothing/under/rank/security/head_of_security/alt/skirt, -/obj/item/clothing/under/rank/security/head_of_security/alt, -/obj/item/clothing/under/rank/security/head_of_security/nt, -/obj/item/clothing/under/rank/security/head_of_security/nt/skirt, -/obj/item/clothing/head/HoS, -/obj/item/clothing/head/beret/sec/hos, -/obj/item/clothing/suit/armor/vest/leather, -/obj/item/clothing/suit/armor/hos/trenchcoat, -/obj/item/storage/belt/military, -/obj/item/reagent_containers/spray/pepper{ - pixel_x = 7; - pixel_y = -3 - }, -/obj/item/clothing/glasses/hud/security/sunglasses, -/obj/item/clothing/glasses/hud/security/sunglasses/eyepatch, -/obj/item/clothing/gloves/krav_maga/sec, -/obj/item/gun/energy/e_gun/hos, -/obj/structure/closet/secure_closet{ - icon_state = "hos"; - req_access = list(58) - }, -/turf/open/floor/plasteel/tech, -/area/ship/security) -"if" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/atmos, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"ij" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"ik" = ( -/obj/machinery/vending/dinnerware, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"in" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/telecomms/relay{ - freq_listening = list(1351); - id = "Nanotrasen Relay"; - name = "Nanotrasen relay"; - network = "nt_commnet"; - layer = 3.1 - }, -/turf/open/floor/circuit/green, -/area/ship/engineering/communications) -"io" = ( -/obj/machinery/door/airlock/hatch{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/science/robotics) -"iq" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"is" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/security) -"it" = ( -/obj/machinery/holopad/emergency/command, -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/cargo) -"iA" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/garbage, -/obj/structure/sink{ - dir = 4; - pixel_x = -12; - pixel_y = 2 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/ship/maintenance/central) -"iC" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"iD" = ( -/obj/structure/table/wood/reinforced, -/obj/item/paicard{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/paicard{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/paper_bin{ - pixel_x = 7; - pixel_y = 4 - }, -/obj/item/clipboard{ - pixel_x = 9; - pixel_y = 3 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = 6 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/pen/fountain{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 22; - pixel_y = 8 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"iI" = ( -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 5 - }, -/obj/effect/turf_decal/radiation, -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"iL" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"iM" = ( -/obj/structure/table/wood/reinforced, -/obj/item/paper_bin{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = -8 - }, -/obj/item/pen/charcoal{ - pixel_y = 8; - pixel_x = -3 - }, -/obj/item/flashlight/lamp/green{ - pixel_y = 8; - pixel_x = 6 - }, -/obj/item/phone{ - pixel_x = 8; - pixel_y = -8 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/law_office) -"iP" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/hatch{ - name = "Captains Office" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/law_office) -"iS" = ( -/obj/machinery/cryopod{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/office) -"iW" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/light_switch{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"iY" = ( -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/structure/closet/crate/large, -/obj/item/storage/box/donkpockets{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/storage/box/donkpockets{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = 5 - }, -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = 1; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = 5 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/maintenance/central) -"ja" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"jb" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"jc" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/security) -"je" = ( -/obj/structure/table/reinforced, -/obj/item/circuitboard/machine/circuit_imprinter{ - pixel_y = -6 - }, -/obj/item/circuitboard/machine/rdserver, -/obj/item/circuitboard/computer/rdconsole{ - pixel_y = 7 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/camera{ - dir = 10 - }, -/obj/machinery/light_switch{ - pixel_x = -22; - dir = 4; - pixel_y = 8 - }, -/turf/open/floor/plating/catwalk_floor, -/area/ship/science/robotics) -"jh" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/office) -"ji" = ( -/obj/machinery/door/airlock/grunge, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, -/area/ship/crew/office) -"jm" = ( -/obj/machinery/shower{ - pixel_y = 19 - }, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8; - pixel_x = -4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/soap/deluxe, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"jo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/patterned, -/area/ship/crew/toilet) -"jr" = ( -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"ju" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/atmospherics) -"jx" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 9 - }, -/obj/machinery/vending/snack/random, -/obj/machinery/light/directional/west, -/obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = -9 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"jy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"jC" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) -"jE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ship/science/robotics) -"jO" = ( -/obj/structure/chair/comfy/orange/directional/east{ - color = "#c45c57" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/law_office) -"jP" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/office) -"jQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/dresser, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"jR" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals1, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"jT" = ( -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"jY" = ( -/obj/machinery/door/airlock{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"jZ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) -"kd" = ( -/obj/machinery/vending/games{ - pixel_x = 7 - }, -/obj/effect/turf_decal/siding/wood, -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_x = -10 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/sign/picture_frame{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"ki" = ( -/obj/structure/closet/wall/orange/directional/west{ - name = "Pilot's Locker" - }, -/obj/item/clothing/under/rank/security/officer/military/eng, -/obj/item/clothing/gloves/tackler/combat/insulated, -/obj/item/clothing/suit/det_suit/grey, -/obj/item/clothing/suit/jacket/miljacket, -/obj/item/clothing/shoes/cowboy, -/obj/item/clothing/shoes/combat/swat, -/obj/item/clothing/head/beret/sec/officer, -/obj/item/clothing/glasses/hud/diagnostic/night, -/obj/item/clothing/accessory/medal/gold/heroism, -/obj/item/clothing/accessory/holster/detective, -/obj/item/clothing/mask/bandana/skull, -/obj/item/clothing/mask/gas/sechailer, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/science/robotics) -"kj" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/camera{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"kp" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 9 - }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/desk_flag{ - pixel_x = 11; - pixel_y = 4; - layer = 4 - }, -/obj/item/radio/intercom/wideband/table{ - dir = 1; - pixel_x = -2 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"ku" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/hatch{ - name = "Captains Cabin" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormtwo) -"kv" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/toilet) -"kA" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"kB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/fireplace, -/obj/item/toy/figure/captain{ - pixel_y = 37; - pixel_x = 11 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken6" - }, -/area/ship/crew/law_office) -"kD" = ( -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/fulltile, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"kE" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"kH" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/arrows{ - dir = 1; - pixel_y = -12 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/science/robotics) -"kI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"kK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/storage/box/ingredients/wildcard{ - pixel_y = 9; - pixel_x = -7 - }, -/obj/item/storage/box/ingredients/wildcard{ - pixel_y = 9; - pixel_x = 8 - }, -/obj/item/storage/box/ingredients/wildcard{ - pixel_y = 3; - pixel_x = -1 - }, -/obj/item/storage/box/ingredients/wildcard{ - pixel_y = 6; - pixel_x = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/canteen/kitchen) -"kO" = ( -/obj/structure/sign/departments/cargo, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) -"kP" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_sm_lockdown"; - rad_insulation = 0.1; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/airlock/engineering{ - name = "Engineering"; - req_access_txt = "10"; - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"kQ" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"kR" = ( -/obj/machinery/door/airlock/grunge{ - name = "Bathroom" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"kS" = ( -/obj/machinery/telecomms/processor/preset_five{ - network = "nt_commnet" - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/circuit/green, -/area/ship/engineering/communications) -"kU" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"kV" = ( -/obj/effect/turf_decal/techfloor/orange/corner, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/oil{ - pixel_x = 4; - pixel_y = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"kW" = ( -/obj/machinery/button/door{ - id = "heron_outerbridge"; - name = "Bridge Blast Doors"; - pixel_y = 24; - req_access_txt = "3"; - pixel_x = 6 - }, -/obj/machinery/button/door{ - id = "heron_generalwindows"; - name = "Window Shutters"; - pixel_y = 24; - req_access_txt = "3"; - pixel_x = -6 - }, -/obj/machinery/computer/helm{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"la" = ( -/obj/effect/turf_decal/atmos/nitrogen, -/turf/open/floor/engine/n2, -/area/ship/engineering/atmospherics) -"le" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/turf_decal/corner/transparent/black/half{ - dir = 8 - }, -/obj/machinery/jukebox, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/obj/machinery/light_switch{ - pixel_x = -22; - dir = 4; - pixel_y = 8 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"lg" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/security/glass{ - req_one_access_txt = "1" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"lh" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"lj" = ( -/obj/structure/table/wood/reinforced, -/obj/structure/sign/plaques/kiddie/library{ - pixel_y = 30 - }, -/obj/item/toy/figure/curator{ - pixel_y = 12; - pixel_x = 9 - }, -/obj/item/pen{ - pixel_x = 8; - pixel_y = 5 - }, -/obj/item/pen/red{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/item/newspaper{ - pixel_x = -10; - pixel_y = 7 - }, -/obj/item/newspaper{ - pixel_x = -10; - pixel_y = 10 - }, -/obj/item/newspaper{ - pixel_x = -10; - pixel_y = 13 - }, -/obj/effect/turf_decal/siding/wood, -/obj/item/storage/crayons{ - pixel_x = -17; - pixel_y = -1 - }, -/obj/item/storage/fancy/cigarettes, -/obj/item/storage/fancy/cigarettes{ - pixel_x = 2; - pixel_y = 1 - }, -/obj/item/lighter{ - pixel_x = 6; - pixel_y = -3 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"ll" = ( -/obj/structure/toilet{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"lm" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/red/arrow_ccw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/red/arrow_ccw{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/stand_clear/white{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"ln" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/robotics) -"lo" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 10 - }, -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 9 - }, -/obj/machinery/power/terminal, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/structure/cable{ - icon_state = "6-8" - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/maintenance/central) -"lp" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"lr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"lt" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/machinery/mech_bay_recharge_port, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/science/robotics) -"lv" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/paper_bin{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/stamp/qm{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/item/stamp{ - pixel_x = 8; - pixel_y = 4 - }, -/obj/item/stamp/denied{ - pixel_x = 8; - pixel_y = -1 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = -7 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) -"lH" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/machinery/portable_atmospherics/scrubber, -/obj/machinery/portable_atmospherics/scrubber/huge, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"lI" = ( -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 4 - }, -/area/ship/hangar) -"lJ" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/machinery/door/airlock/hatch{ - name = "Pilot Quarters" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"lK" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/communications) -"lL" = ( -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/structure/table/reinforced, -/obj/item/toy/figure/cargotech{ - pixel_x = -1 - }, -/obj/item/storage/fancy/cigarettes/cigpack_robustgold{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/item/lighter{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/trash/boritos{ - pixel_x = 11; - pixel_y = -5 - }, -/obj/item/mining_scanner, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, -/area/ship/cargo) -"lS" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_generalwindows"; - name = "Blast Shutters" - }, -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/turf/open/floor/plating, -/area/ship/cargo) -"lU" = ( -/obj/structure/railing{ - dir = 9; - layer = 4.1 - }, -/obj/item/trash/sosjerky{ - anchored = 1; - color = "#808080"; - pixel_x = 8; - pixel_y = 8 - }, -/obj/effect/decal/cleanable/glass{ - dir = 8; - pixel_y = 1; - color = "#808080" - }, -/obj/effect/decal/cleanable/garbage{ - color = "#808080" - }, -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080" - }, -/area/ship/crew/office) -"lX" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"lY" = ( -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/cargo) -"lZ" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 - }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/item/tank/internals/plasma/full, -/obj/machinery/power/rad_collector/anchored, -/turf/open/floor/engine, -/area/ship/engineering/electrical) -"mc" = ( -/obj/machinery/door/airlock/freezer{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) -"me" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"mf" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/structure/reflector/box, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"mg" = ( -/obj/machinery/door/airlock/mining/glass{ - name = "Cargo Bay" - }, -/obj/effect/turf_decal/trimline/opaque/beige/filled/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"mj" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"mk" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/flashlight/lamp{ - pixel_x = -8; - pixel_y = 11 - }, -/obj/item/gps{ - pixel_x = -9; - pixel_y = -7 - }, -/obj/item/gps{ - pixel_x = -7; - pixel_y = -11 - }, -/obj/item/holosign_creator/security{ - pixel_x = 7; - pixel_y = -14 - }, -/obj/machinery/light_switch{ - pixel_y = 23 - }, -/obj/item/storage/ration/lemon_pepper_chicken{ - pixel_x = 7; - pixel_y = 2 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) -"mm" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/clipboard{ - pixel_y = -1; - pixel_x = 3 - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/item/clothing/head/beret/black{ - pixel_x = 2 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 6 - }, -/obj/effect/turf_decal/steeldecal/steel_decals7{ - dir = 4 - }, -/obj/machinery/button/massdriver{ - id = "heron_mechlaunch"; - name = "Launch Control"; - pixel_x = -9; - pixel_y = 8; - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"mo" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 9 - }, -/obj/machinery/vending/cola/space_up, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"mq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/office) -"mt" = ( -/obj/structure/window/reinforced/spawner, -/obj/structure/rack, -/obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto{ - pixel_y = 3 - }, -/obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto{ - pixel_y = -2 - }, -/obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto{ - pixel_y = -7 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"my" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"mD" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/security/armory) -"mG" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_bridgeprivacy"; - name = "Blast Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"mI" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"mK" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/office{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"mL" = ( -/obj/structure/flora/rock/pile{ - icon_state = "lavarocks2" - }, -/obj/structure/flora/grass/jungle{ - pixel_y = 4; - pixel_x = 6 - }, -/obj/structure/flora/ausbushes/sparsegrass{ - pixel_y = 7 - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/grass, -/area/ship/hallway/aft) -"mM" = ( -/obj/structure/chair/sofa/brown/directional/east, -/obj/machinery/light/small/directional/west, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm) -"mN" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/secure_closet/engineering_welding{ - req_access = null; - anchored = 1 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden{ - dir = 10 - }, -/obj/machinery/light/small/directional/north, -/obj/item/clothing/mask/rat/bee, -/obj/structure/sign/warning/vacuum{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"mO" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"mQ" = ( -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/research{ - name = "Mech Bay" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/science/robotics) -"mR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"mX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/purple/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/ship/engineering) -"mY" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"mZ" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 4 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"na" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/security) -"ne" = ( -/obj/structure/window/reinforced/spawner/north, -/obj/machinery/computer/card/minor/hos{ - dir = 2 - }, -/obj/effect/turf_decal/siding/wideplating/dark, -/turf/open/floor/plasteel/tech, -/area/ship/security) -"nf" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_sm_1"; - rad_insulation = 0.1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"ng" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"nh" = ( -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 1 - }, -/area/ship/bridge) -"nj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_sm_lockdown"; - rad_insulation = 0.1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/engineering{ - name = "Engineering"; - req_access_txt = "10" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"np" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm/dormthree) -"ns" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/wood{ - icon_state = "wood-broken5" - }, -/area/ship/crew/dorm) -"nt" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"nu" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/meter/atmos/layer2, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"nw" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/punch_shit{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"nB" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/arrow_ccw{ - dir = 8 - }, -/obj/structure/sign/poster/official/safety_internals{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"nD" = ( -/obj/structure/window/reinforced/spawner/north, -/obj/structure/table/reinforced, -/obj/machinery/recharger{ - pixel_x = -6 - }, -/obj/machinery/recharger{ - pixel_x = 5 - }, -/obj/item/screwdriver, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security) -"nH" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"nK" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"nL" = ( -/obj/structure/railing{ - dir = 6; - layer = 4.1 - }, -/obj/machinery/power/port_gen/pacman, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"nM" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/storage) -"nQ" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/science/robotics) -"nR" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/structure/tubes, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/structure/closet/wall/blue/directional/north, -/obj/item/aicard{ - pixel_x = -5 - }, -/obj/item/aiModule/toyAI, -/obj/item/borg/upgrade/ai, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/button/door{ - dir = 8; - id = "heron_ai_shutter"; - name = "AI Core Lockdown"; - pixel_y = -10; - pixel_x = 24 - }, -/obj/item/mmi/posibrain{ - pixel_x = 7; - pixel_y = 11 - }, -/turf/open/floor/plasteel/tech, -/area/ship/science/ai_chamber) -"nS" = ( -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/crew/toilet) -"nT" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 10 - }, -/obj/structure/flora/ausbushes/reedbush{ - pixel_x = -6; - pixel_y = 18 - }, -/turf/open/water/jungle, -/area/ship/hallway/aft) -"nU" = ( -/obj/structure/chair/office, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/sign/plaques/kiddie/perfect_man{ - pixel_y = 32 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"nX" = ( -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"nZ" = ( -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_generalwindows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/hangar) -"oa" = ( -/obj/item/multitool, -/obj/item/clothing/glasses/meson/engine/tray, -/obj/item/radio, -/obj/item/storage/belt/utility/atmostech, -/obj/item/holosign_creator/atmos, -/obj/item/analyzer, -/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos, -/obj/item/extinguisher/advanced, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/suit/fire/atmos, -/obj/item/clothing/mask/gas/atmos, -/obj/item/clothing/head/hardhat/atmos, -/obj/structure/closet/wall/directional/east{ - name = "Atmospheric locker" - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"oe" = ( -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/item/tank/internals/plasma/full, -/obj/machinery/atmospherics/pipe/manifold4w/orange/visible, -/turf/open/floor/engine, -/area/ship/engineering/electrical) -"oh" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/clipboard{ - pixel_y = -2; - pixel_x = 3 - }, -/obj/item/pen{ - pixel_x = 2; - pixel_y = -1 - }, -/obj/item/storage/fancy/cigarettes/derringer{ - pixel_x = -6; - pixel_y = -4 - }, -/obj/item/lighter/greyscale{ - pixel_x = -3; - pixel_y = -10 - }, -/obj/item/photo/old{ - pixel_x = 6; - pixel_y = -14 - }, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/bridge) -"ol" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/reflector/box, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"oo" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/structure/railing{ - dir = 8; - layer = 3.1 - }, -/obj/item/clothing/suit/space/hardsuit/ert/lp/engi, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"oq" = ( -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"os" = ( -/obj/machinery/air_sensor/atmos/air_tank{ - id_tag = "hairon" - }, -/turf/open/floor/engine/air, -/area/ship/engineering/atmospherics) -"ot" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/west, -/obj/structure/closet/wall/directional/south, -/obj/item/clothing/under/rank/rnd/roboticist, -/obj/item/clothing/under/rank/rnd/research_director/turtleneck, -/obj/item/clothing/under/rank/rnd/roboticist/skirt, -/obj/item/clothing/suit/toggle/labcoat/science, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/toy/plush/knight{ - pixel_x = -8 - }, -/obj/item/toy/prize/seraph, -/turf/open/floor/wood, -/area/ship/science/robotics) -"ox" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"oz" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/security/armory) -"oA" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"oF" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - id = "heron_engineblast"; - name = "Engine Blast Door"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"oH" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/door/airlock/external, -/turf/open/floor/plating, -/area/ship/security) -"oJ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"oL" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 4 - }, -/obj/structure/sign/poster/official/moth/piping{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"oM" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"oN" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"oR" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/turf_decal/corner/transparent/black/three_quarters{ - dir = 8 - }, -/obj/structure/table, -/obj/item/paicard{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/paicard{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"oS" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/hangar) -"oU" = ( -/obj/machinery/atmospherics/pipe/manifold4w/green/visible, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"oV" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/power/emitter/welded{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-1" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"oX" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/structure/railing{ - dir = 8; - layer = 3.1 - }, -/obj/item/clothing/suit/space/hardsuit/ert/lp/med, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"pb" = ( -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 10 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 10 - }, -/obj/structure/sign/departments/cargo{ - pixel_x = -32 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"pg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"pj" = ( -/obj/effect/turf_decal/industrial/loading, -/turf/open/floor/plasteel/elevatorshaft, -/area/ship/science/robotics) -"pk" = ( -/obj/structure/closet/secure_closet/freezer/wall/directional/east, -/obj/item/clothing/under/shorts/cookjorts, -/obj/item/clothing/shoes/cookflops, -/obj/item/clothing/suit/toggle/chef, -/obj/item/clothing/under/rank/civilian/chef, -/obj/item/clothing/under/rank/civilian/chef/skirt, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/head/chefhat, -/obj/item/clothing/suit/apron/chef, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/canteen/kitchen) -"pl" = ( -/obj/structure/toilet{ - dir = 1 - }, -/obj/effect/decal/cleanable/vomit/old, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/wall/directional/west, -/obj/item/reagent_containers/syringe/contraband/fentanyl{ - pixel_x = -3; - pixel_y = 4 - }, -/obj/item/reagent_containers/syringe/contraband/methamphetamine, -/obj/item/reagent_containers/syringe/charcoal{ - pixel_x = -3 - }, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_x = -4 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"po" = ( -/obj/machinery/telecomms/receiver/preset_right{ - freq_listening = list(1351); - network = "nt_commnet" - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/circuit/telecomms{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15" - }, -/area/ship/engineering/communications) -"pq" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"pt" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"pu" = ( -/obj/effect/turf_decal/atmos/oxygen, -/turf/open/floor/engine/o2, -/area/ship/engineering/atmospherics) -"pB" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"pE" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 1 - }, -/area/ship/maintenance/central) -"pF" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"pI" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"pK" = ( -/obj/machinery/button/door{ - id = "heron_custo_shutter"; - name = "Custodial Bay Toggle"; - pixel_x = 22; - pixel_y = 10; - req_one_access_txt = "26"; - dir = 8 - }, -/obj/vehicle/ridden/janicart, -/obj/item/key/janitor, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"pM" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm/dormtwo) -"pN" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) -"pQ" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_sm_lockdown"; - rad_insulation = 0.1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/engineering{ - name = "Engineering"; - req_access_txt = "10" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"pR" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"pT" = ( -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 1 - }, -/obj/structure/catwalk/over, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plating, -/area/ship/engineering) -"qc" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plating, -/area/ship/hangar) -"qf" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/office) -"qi" = ( -/obj/effect/turf_decal/corner/opaque/brown/full, -/obj/effect/turf_decal/corner/opaque/brown/diagonal, -/obj/effect/turf_decal/industrial/loading{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"qj" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"qx" = ( -/obj/machinery/light_switch{ - pixel_x = -9; - pixel_y = 23 - }, -/obj/structure/extinguisher_cabinet/directional/north{ - pixel_x = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/bridge) -"qy" = ( -/obj/effect/turf_decal/corner/opaque/white{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"qz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/purple/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/engineering/glass{ - req_access_txt = "10" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"qA" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/turf_decal/corner/transparent/black/three_quarters, -/obj/effect/decal/cleanable/robot_debris, -/obj/machinery/light/directional/south, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"qH" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/line, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/folder/yellow{ - pixel_x = 7; - pixel_y = 5 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/machinery/light/small/directional/east, -/obj/item/storage/firstaid/toxin{ - pixel_x = -5; - pixel_y = -2 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"qJ" = ( -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, -/mob/living/simple_animal/bot/secbot/beepsky, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"qL" = ( -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1; - layer = 2.030 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 6; - layer = 2.030 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"qM" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"qP" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"qY" = ( -/obj/effect/turf_decal/steeldecal/steel_decals9, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"qZ" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"ra" = ( -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 5 - }, -/obj/effect/turf_decal/siding/thinplating{ - layer = 2.040; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"rd" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"re" = ( -/turf/open/floor/plasteel/tech, -/area/ship/security) -"rg" = ( -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/fulltile, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"rh" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/plasma, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold4w/purple/hidden, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"rj" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, -/turf/open/floor/engine/o2, -/area/ship/engineering/atmospherics) -"rp" = ( -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 4; - id = "heron_mechbayholo"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-1" - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/door/poddoor{ - id = "heron_mechbayshut"; - name = "Mechbay Shutters" - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/science/robotics) -"rs" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light/directional/east, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"rt" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/components/binary/valve{ - dir = 4; - name = "Shuttle Fuel Valve" - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/effect/turf_decal/industrial/caution/red{ - pixel_y = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"ru" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = -9 - }, -/turf/open/floor/plasteel, -/area/ship/storage) -"rw" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/hangar) -"rB" = ( -/obj/structure/railing/corner, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/purple/hidden, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"rJ" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"rL" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/plasma, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/purple/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/engineering/glass{ - req_access_txt = "10" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"rN" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/blue/corner, -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"rO" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/opaque/red/warning{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"rP" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"rR" = ( -/obj/structure/table/wood/reinforced, -/obj/item/storage/fancy/cigarettes/cigars/havana{ - pixel_y = 9; - pixel_x = 4 - }, -/obj/item/storage/fancy/cigarettes/cigars/havana{ - pixel_y = 13; - pixel_x = 4 - }, -/obj/item/lighter{ - pixel_x = 10 - }, -/obj/item/newspaper{ - pixel_x = 7; - pixel_y = -8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"rT" = ( -/obj/structure/bed, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"rU" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"rV" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"rW" = ( -/obj/effect/decal/cleanable/garbage, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/canteen/kitchen) -"rZ" = ( -/obj/machinery/door/window/brigdoor/southright{ - req_access_txt = "1" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8; - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"sb" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew/canteen/kitchen) -"sc" = ( -/turf/open/floor/engine/hull/reinforced/interior, -/area/ship/hangar) -"se" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"sg" = ( -/obj/machinery/shower{ - pixel_y = 19 - }, -/obj/item/bikehorn/rubberducky, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"sn" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/window/plasma/reinforced/fulltile, -/obj/structure/grille, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"so" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"sr" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/curtain/cloth/grey, -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"ss" = ( -/obj/item/kitchen/spoon/plastic, -/obj/item/kitchen/spoon/plastic{ - pixel_x = 1 - }, -/obj/item/kitchen/spoon/plastic{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/kitchen/knife/plastic{ - pixel_x = 2 - }, -/obj/item/kitchen/knife/plastic, -/obj/item/kitchen/knife/plastic{ - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/kitchen/fork/plastic{ - pixel_x = 6 - }, -/obj/item/kitchen/fork/plastic{ - pixel_x = 6 - }, -/obj/item/kitchen/fork/plastic{ - pixel_x = 6 - }, -/obj/item/reagent_containers/glass/bowl{ - pixel_x = 2 - }, -/obj/item/reagent_containers/glass/bowl{ - pixel_x = 2 - }, -/obj/item/reagent_containers/glass/bowl{ - pixel_x = 2 - }, -/obj/item/trash/plate, -/obj/item/trash/plate, -/obj/structure/closet/crate/freezer{ - name = "kitchen supplies" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/maintenance/central) -"sv" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals4, -/obj/effect/turf_decal/spline/fancy/opaque/blue, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"sw" = ( -/obj/machinery/door/airlock/external{ - dir = 4 - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering) -"sx" = ( -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"sy" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/cargo) -"sz" = ( -/obj/machinery/vending/security/marine/nanotrasen, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"sC" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_atmos"; - rad_insulation = 0.1; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"sD" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"sE" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/structure/closet/firecloset/wall/directional/east, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"sF" = ( -/obj/machinery/mecha_part_fabricator{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/obj/structure/grille/broken, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/science/robotics) -"sI" = ( -/obj/effect/turf_decal/trimline/opaque/red/warning, -/obj/effect/turf_decal/siding/wideplating/dark/corner, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"sJ" = ( -/obj/machinery/requests_console{ - pixel_x = -31 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/law_office) -"sM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/purple/hidden{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"sO" = ( -/obj/structure/table, -/obj/item/storage/box/mousetraps{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/storage/box/mousetraps{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/toy/figure/janitor{ - pixel_x = -8; - pixel_y = 6 - }, -/obj/item/restraints/legcuffs/beartrap{ - pixel_y = 8 - }, -/obj/item/restraints/legcuffs/beartrap{ - pixel_y = 8 - }, -/obj/item/reagent_containers/food/drinks/bottle/pineapplejuice{ - pixel_x = -7; - pixel_y = -3 - }, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/item/reagent_containers/glass/rag{ - pixel_y = -8; - pixel_x = -2 - }, -/obj/structure/sign/poster/official/moth/boh{ - pixel_x = -32 - }, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"sP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"sQ" = ( -/obj/structure/closet/crate/engineering, -/obj/effect/decal/cleanable/oil, -/obj/item/rcl/pre_loaded, -/obj/item/reagent_containers/spray/weedspray, -/obj/item/sparkler{ - pixel_x = -9 - }, -/obj/item/stack/cable_coil, -/obj/item/stack/circuit_stack, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/corner/opaque/brown/full, -/obj/effect/turf_decal/corner/opaque/brown/diagonal, -/obj/machinery/airalarm/directional/east, -/obj/machinery/button/door{ - id = "heron_innercargo"; - name = "Cargohold Shutters"; - pixel_y = 24; - pixel_x = -10 - }, -/obj/machinery/camera{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"sS" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/structure/bed/dogbed/cayenne, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper{ - resize = 0.8; - name = "James"; - desc = "The captains , and guardian of the bridge. None shall tresspass within his domain."; - faction = list("neutral") - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"sV" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"sW" = ( -/obj/machinery/power/smes/engineering, -/obj/effect/turf_decal/industrial/warning{ - dir = 5; - color = "#808080" - }, -/obj/structure/sign/warning/electricshock{ - pixel_y = -30 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"sX" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"sZ" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/structure/sign/poster/contraband/missing_gloves{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"tc" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/catwalk/over, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/ship/engineering) -"td" = ( -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"tg" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"th" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central6, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"tk" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"tn" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/official/here_for_your_safety{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"to" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"tt" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel, -/area/ship/cargo) -"tu" = ( -/obj/effect/turf_decal/corner/opaque/white{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating{ - layer = 2.040 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"tv" = ( -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/effect/decal/cleanable/robot_debris, -/obj/machinery/atmospherics/pipe/simple/purple/hidden{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/button/door{ - id = "heron_engineblast"; - name = "Engine Shutters"; - pixel_x = -10; - pixel_y = -23; - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"tA" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/hangar) -"tD" = ( -/obj/structure/sign/departments/mait{ - pixel_x = -32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/engineering/glass{ - req_access_txt = "10" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"tF" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/science/ai_chamber) -"tG" = ( -/obj/machinery/deepfryer, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/crew/canteen/kitchen) -"tI" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"tJ" = ( -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"tL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/toy/figure/clown{ - pixel_x = -9 - }, -/obj/item/toy/figure/detective{ - pixel_y = 7; - pixel_x = 9 - }, -/obj/structure/closet/wall/directional/north{ - name = "Toy Storage" - }, -/obj/item/toy/figure/engineer{ - pixel_x = 7 - }, -/obj/item/toy/figure/head_of_personnel{ - pixel_x = 4 - }, -/obj/item/toy/figure/geneticist, -/obj/item/toy/figure/dsquad{ - pixel_x = -3 - }, -/obj/item/toy/figure{ - pixel_y = -5 - }, -/obj/item/toy/cattoy, -/obj/item/toy/figure/hos, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/ship/crew/dorm) -"tN" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 2 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"tO" = ( -/obj/machinery/door/airlock/grunge{ - name = "Bathroom"; - dir = 4 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"tP" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_sm_1"; - rad_insulation = 0.1 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"tR" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 6 - }, -/obj/machinery/atmospherics/components/trinary/mixer/airmix, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"tS" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 10 - }, -/obj/structure/closet/secure_closet/security/sec, -/obj/item/ammo_box/magazine/co9mm, -/obj/machinery/camera{ - dir = 10 - }, -/obj/item/gun/energy/disabler{ - pixel_y = -2; - pixel_x = 3 - }, -/obj/item/storage/belt/security/webbing, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"tT" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"tU" = ( -/obj/structure/sink{ - pixel_y = 20; - pixel_x = 1 - }, -/obj/structure/mirror{ - pixel_y = 32; - pixel_x = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/radio/intercom/directional/east, -/obj/machinery/light_switch{ - pixel_x = 21; - dir = 8; - pixel_y = -13 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/crew/toilet) -"tV" = ( -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/effect/turf_decal/industrial/outline/red, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"tY" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/warning, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"ub" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"uf" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"ug" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 1 - }, -/obj/item/storage/firstaid/regular{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/structure/rack, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/item/storage/firstaid/toxin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/storage/firstaid/medical{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/storage/firstaid/fire{ - pixel_x = 6; - pixel_y = -4 - }, -/obj/structure/sign/poster/official/moth/epi{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"uj" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/red/arrow_ccw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/red/arrow_ccw{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/stand_clear/white{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"uk" = ( -/obj/structure/tank_dispenser, -/obj/structure/grille/broken, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-1" - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"un" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/bridge) -"uo" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/machinery/camera{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"up" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/fluff/big_chain{ - pixel_x = 18; - color = "#808080"; - density = 0 - }, -/obj/structure/railing{ - dir = 4; - layer = 4.1; - color = "#808080" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/elevatorshaft, -/area/ship/science/robotics) -"ur" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"uy" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/aft) -"uF" = ( -/obj/structure/bed, -/obj/item/bedsheet/head_of_personnel, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-1" - }, -/turf/open/floor/carpet/royalblue, -/area/ship/crew/dorm/dormthree) -"uG" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/hole/right{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/pipe/simple/purple/hidden{ - dir = 5 - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/light/small/directional/south{ - pixel_x = 14 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"uJ" = ( -/turf/open/floor/carpet/red, -/area/ship/security) -"uL" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_ai_shutter"; - name = "AI Core Lockdown"; - dir = 4 - }, -/obj/machinery/door/airlock/command{ - req_access_txt = "29"; - name = "AI Core"; - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/science/ai_chamber) -"uO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"uQ" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/medical) -"uW" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/decal/cleanable/greenglow{ - pixel_y = -10 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"uX" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/computer/cryopod/directional/north{ - pixel_y = 26 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/office) -"uY" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4; - color = "#808080" - }, -/obj/structure/grille/broken, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"uZ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1; - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft, -/area/ship/science/robotics) -"vb" = ( -/obj/structure/closet/wall/orange/directional/north{ - name = "Pilot's Locker" - }, -/obj/item/clothing/under/rank/security/officer/military/eng, -/obj/item/clothing/suit/jacket/leather/duster, -/obj/item/clothing/suit/jacket/miljacket, -/obj/item/clothing/suit/armor/vest/marine, -/obj/item/instrument/piano_synth/headphones/spacepods{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/clothing/neck/shemagh, -/obj/item/reagent_containers/spray/pepper{ - pixel_x = 7; - pixel_y = -6 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/hangar) -"vg" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"vh" = ( -/obj/structure/sign/poster/official/moth/delam{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"vi" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/wallmed{ - pixel_y = -28 - }, -/obj/machinery/button/door{ - id = "armoury_heron"; - name = "Armoury Shutters"; - pixel_y = -24; - req_access_txt = "3"; - dir = 1; - pixel_x = -11 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"vl" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/sign/poster/retro/science{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"vm" = ( -/obj/effect/turf_decal/siding/thinplating, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"vp" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_bridgeprivacy"; - name = "Blast Shutters" - }, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/turf/open/floor/plating, -/area/ship/bridge) -"vu" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/layer_manifold/visible, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"vv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/canteen/kitchen) -"vw" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormtwo) -"vx" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"vz" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Helm" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"vC" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/recharger{ - pixel_x = 8 - }, -/obj/item/paper_bin{ - pixel_x = -6; - pixel_y = 2 - }, -/obj/item/pen/red{ - pixel_x = -7; - pixel_y = 3 - }, -/obj/structure/sign/poster/retro/nanotrasen_logo_70s{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"vE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"vI" = ( -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/suit/space/hardsuit/engine/elite, -/obj/item/tank/jetpack/carbondioxide, -/obj/item/clothing/shoes/magboots, -/obj/machinery/light_switch{ - pixel_x = -12; - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"vL" = ( -/obj/machinery/air_sensor/atmos/toxin_tank{ - id_tag = "heron_plasm" - }, -/turf/open/floor/engine/plasma, -/area/ship/engineering/atmospherics) -"vO" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"vP" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/portable_atmospherics/scrubber/huge/movable, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"vS" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/power/emitter/welded{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-1" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"vT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/button/door{ - dir = 4; - id = "heron_atmos"; - name = "Atmos Shutters"; - pixel_x = -24; - pixel_y = -10 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"vY" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 8 - }, -/obj/structure/sign/departments/restroom{ - pixel_x = -32 - }, -/obj/machinery/camera{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"wa" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"wc" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"wd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/door/airlock/external, -/turf/open/floor/plating, -/area/ship/security) -"wi" = ( -/obj/machinery/atmospherics/components/unary/thermomachine{ - dir = 1; - piping_layer = 2 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"wj" = ( -/obj/item/storage/pill_bottle/aranesp, -/obj/item/taperecorder, -/obj/item/t_scanner, -/obj/item/kitchen/knife/switchblade, -/obj/item/trash/candy, -/obj/structure/filingcabinet/double, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/law_office) -"wk" = ( -/obj/machinery/power/supermatter_crystal/engine, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"wl" = ( -/obj/structure/table/optable{ - name = "Robotics Operating Table" - }, -/obj/machinery/defibrillator_mount/loaded{ - pixel_y = 24 - }, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = -9 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"wo" = ( -/obj/structure/sign/poster/official/report_crimes{ - pixel_y = 32 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 6; - layer = 2.030 - }, -/obj/effect/turf_decal/siding/thinplating{ - layer = 2.040; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"wp" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Operations" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"wq" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/maintenance/five, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"wz" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"wD" = ( -/obj/item/trash/pistachios{ - pixel_x = -8; - pixel_y = 6 - }, -/obj/item/trash/candy, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"wF" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/turf_decal/corner/transparent/black/half, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"wG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/chair/office{ - dir = 1 - }, -/obj/item/radio/intercom/directional/east, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 7; - pixel_y = -21 - }, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"wK" = ( -/obj/effect/turf_decal/trimline/opaque/blue/warning, -/obj/effect/turf_decal/siding/thinplating/corner, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 - }, -/obj/machinery/door/airlock/public/glass{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"wM" = ( -/obj/machinery/door/poddoor/shutters{ - id = "heron_custo_shutter" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/maintenance/central) -"wO" = ( -/obj/structure/flora/junglebush/large, -/obj/structure/flora/rock/jungle{ - pixel_x = -11; - pixel_y = -10 - }, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/grass, -/area/ship/hallway/aft) -"wP" = ( -/obj/machinery/atmospherics/components/binary/valve/digital/layer2, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"wQ" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"wV" = ( -/obj/machinery/power/smes/engineering, -/obj/effect/turf_decal/industrial/warning{ - dir = 9; - color = "#808080" - }, -/obj/structure/sign/warning/electricshock{ - pixel_y = -30 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/light_switch{ - pixel_x = -12; - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"wW" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/gec{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"xb" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/blue/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"xd" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"xe" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/structure/closet/emcloset/wall/directional/east, -/obj/effect/turf_decal/techfloor/hole/right{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/crayon, -/obj/structure/sign/poster/official/wtf_is_co2{ - pixel_y = -32 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"xg" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/office) -"xh" = ( -/obj/structure/closet/secure_closet/head_of_personnel, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/carpet/royalblue, -/area/ship/crew/dorm/dormthree) -"xi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/loading{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"xr" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/blood/old{ - pixel_x = -2; - pixel_y = -3; - icon_state = "gib2-old" - }, -/turf/open/floor/plating, -/area/ship/hangar) -"xs" = ( -/obj/effect/turf_decal/trimline/opaque/blue/corner, -/obj/effect/turf_decal/siding/thinplating/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"xt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 1 - }, -/area/ship/crew/office) -"xw" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"xx" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 - }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/storage/fancy/cigarettes/cigars/cohiba{ - pixel_y = 5 - }, -/obj/item/storage/fancy/cigarettes/cigars/cohiba{ - pixel_y = 9 - }, -/obj/item/lighter/clockwork{ - pixel_x = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"xy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/bookcase/random/fiction, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/science/robotics) -"xA" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 6 - }, -/obj/machinery/light/directional/east, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 7; - pixel_y = -21 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"xB" = ( -/obj/structure/table/reinforced, -/obj/item/flashlight/lamp{ - pixel_x = -4; - pixel_y = 10 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/clothing/glasses/hud/diagnostic{ - pixel_y = 5; - pixel_x = 5 - }, -/obj/item/survey_handheld{ - pixel_x = -2 - }, -/obj/item/book/manual/wiki/robotics{ - pixel_y = -1; - pixel_x = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ship/science/robotics) -"xC" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/item/kirbyplants{ - icon_state = "plant-25" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-1" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"xE" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"xG" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/dorm/dormtwo) -"xO" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"xQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) -"xU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"xV" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 4 - }, -/area/ship/hangar) -"xW" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/hangar) -"xY" = ( -/turf/open/floor/engine/o2, -/area/ship/engineering/atmospherics) -"ya" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/closet/secure_closet{ - icon_state = "cap"; - name = "\proper captain's locker"; - req_access_txt = "20" - }, -/obj/item/clothing/neck/cloak/cap, -/obj/item/radio/headset/heads/captain/alt, -/obj/item/storage/backpack/captain, -/obj/item/clothing/under/rank/centcom/officer, -/obj/item/storage/belt/sabre, -/obj/item/gun/energy/e_gun/adv_stopping, -/obj/item/door_remote/captain, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 7; - pixel_y = -21 - }, -/obj/item/areaeditor/shuttle{ - pixel_x = -3 - }, -/obj/item/megaphone/command, -/obj/item/clothing/suit/toggle/armor/vest/centcom_formal, -/obj/item/clothing/under/rank/centcom/commander, -/obj/item/clothing/under/rank/centcom/centcom_skirt, -/obj/item/clothing/suit/hooded/wintercoat/centcom, -/obj/item/clothing/head/beret/centcom_formal, -/obj/item/stock_parts/cell/gun/upgraded, -/obj/item/clothing/head/centcom_cap, -/obj/item/clothing/gloves/combat, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm/dormtwo) -"yc" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/window/plasma/reinforced/spawner/east, -/turf/open/floor/plating, -/area/ship/maintenance/central) -"yd" = ( -/obj/structure/railing{ - dir = 1; - layer = 2.9 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/airalarm/directional/west, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"yg" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/item/storage/wallet{ - pixel_y = 5; - pixel_x = 5 - }, -/obj/item/newspaper{ - pixel_x = -6 - }, -/obj/item/newspaper{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"ym" = ( -/obj/structure/chair/sofa/brown/left/directional/south, -/obj/effect/turf_decal/siding/thinplating{ - dir = 5 - }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/sign/poster/official/help_others{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"yn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/on{ - dir = 1 - }, -/turf/open/floor/engine/air, -/area/ship/engineering/atmospherics) -"yr" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/turf_decal/corner/transparent/black/half, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"ys" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"yt" = ( -/obj/machinery/cryopod{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/office) -"yu" = ( -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/suit/space/hardsuit/engine, -/obj/item/tank/jetpack/carbondioxide, -/obj/machinery/light/small/directional/south, -/obj/item/clothing/shoes/magboots, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"yz" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"yC" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1; - color = "#808080" - }, -/obj/machinery/mass_driver{ - id = "heron_mechlaunch" - }, -/turf/open/floor/plasteel/elevatorshaft, -/area/ship/science/robotics) -"yN" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/central) -"yO" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"yP" = ( -/obj/structure/window/reinforced/spawner, -/obj/structure/railing{ - dir = 4; - layer = 3.1 - }, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/ert/sec, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"yQ" = ( -/obj/structure/bookcase/random/fiction, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-1" - }, -/obj/machinery/light/directional/west, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/law_office) -"yR" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/science/ai_chamber) -"yS" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/machinery/door/airlock/freezer, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/canteen/kitchen) -"yU" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 9 - }, -/obj/machinery/sleeper, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"yV" = ( -/obj/machinery/suit_storage_unit/independent/pilot, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) -"yW" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"zc" = ( -/obj/effect/turf_decal/trimline/opaque/red/corner, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"ze" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"zf" = ( -/obj/machinery/computer/secure_data{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security) -"zg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"zl" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/law_office) -"zo" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"zp" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"zu" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"zv" = ( -/obj/structure/rack, -/obj/item/gun/energy/e_gun/dragnet, -/obj/item/grenade/barrier{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/grenade/barrier{ - pixel_x = -6 - }, -/obj/item/deployable_turret_folded{ - pixel_x = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"zw" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/gloves, -/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears, -/obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"zB" = ( -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 5 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 5 - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"zC" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"zD" = ( -/obj/structure/closet/l3closet/janitor, -/obj/item/watertank/janitor, -/obj/effect/turf_decal/corner/transparent/mauve, -/obj/effect/turf_decal/corner/transparent/lime{ - dir = 8 - }, -/obj/effect/turf_decal/corner/transparent/lime{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"zF" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"zJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/table/wood/reinforced, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_x = -1; - pixel_y = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/encryptionkey/nanotrasen{ - pixel_x = 8 - }, -/obj/item/encryptionkey/nanotrasen{ - pixel_x = 8; - pixel_y = 3 - }, -/obj/item/encryptionkey/nanotrasen{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/machinery/light_switch{ - pixel_y = 23 - }, -/turf/open/floor/holofloor/wood, -/area/ship/crew/dorm/dormthree) -"zK" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/camera{ - dir = 5 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"zL" = ( -/obj/structure/closet/secure_closet/freezer/meat/open, -/obj/item/reagent_containers/food/snacks/meat/slab/monkey, -/obj/item/reagent_containers/food/snacks/meat/slab/monkey, -/obj/item/reagent_containers/food/snacks/meat/slab/monkey, -/obj/item/reagent_containers/food/snacks/meat/slab/monkey, -/obj/item/reagent_containers/food/snacks/meat/slab/monkey, -/obj/item/reagent_containers/food/snacks/meat/slab/monkey, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew/canteen/kitchen) -"zM" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"zN" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/reagent_containers/food/condiment/soysauce{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/condiment/mayonnaise, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/turf_decal/box/corners, -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/crayon{ - icon_state = "Waffle"; - pixel_x = -12 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/canteen/kitchen) -"zP" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"zV" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3, -/turf/open/floor/engine/plasma, -/area/ship/engineering/atmospherics) -"zW" = ( -/obj/structure/table/wood/reinforced, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_x = -1; - pixel_y = 3 - }, -/obj/item/paper/fluff/stations/centcom/broken_evac{ - pixel_x = 12 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/law_office) -"zX" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm) -"Ab" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_sm_1"; - rad_insulation = 0.1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"Ac" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"Ag" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/purple/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/ship/engineering) -"Ah" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/departments/cargo{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Aj" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "0-1" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"Ak" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"Al" = ( -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/official/safety_report{ - pixel_y = 32; - pixel_x = -32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Am" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Ao" = ( -/obj/machinery/photocopier{ - pixel_y = 3 - }, -/obj/machinery/camera, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/security) -"Ap" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Aq" = ( -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"As" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) -"Ax" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 6 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/light_switch{ - pixel_y = 23 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"Ay" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 22; - pixel_y = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"AA" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"AC" = ( -/obj/machinery/door/poddoor{ - id = "heron_mechbayshut"; - name = "Mechbay Shutters" - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/science/robotics) -"AD" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plasteel/patterned, -/area/ship/bridge) -"AF" = ( -/obj/structure/table/wood/reinforced, -/obj/item/documents/nanotrasen, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/law_office) -"AG" = ( -/obj/machinery/advanced_airlock_controller{ - dir = 4; - pixel_x = -24 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security) -"AN" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, -/obj/item/stock_parts/cell/hyper{ - pixel_y = 4; - pixel_x = 5 - }, -/obj/structure/sign/poster/official/moth/hardhats{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"AW" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"Bc" = ( -/obj/effect/turf_decal/trimline/opaque/blue/corner, -/obj/effect/turf_decal/siding/thinplating/corner, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Bg" = ( -/obj/effect/turf_decal/trimline/opaque/red/warning{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Bn" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Bo" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/greenglow/ecto, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/robotics) -"Bp" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Br" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"Bt" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-1" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"Bu" = ( -/turf/closed/wall/r_wall, -/area/ship/engineering/engine) -"Bv" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Bx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"BB" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"BG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/airlock/engineering{ - name = "Engineering"; - req_access_txt = "10"; - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"BJ" = ( -/obj/structure/closet/emcloset/wall/directional/west, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security) -"BL" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 4 - }, -/area/ship/hangar) -"BN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 4 - }, -/area/ship/crew/office) -"BO" = ( -/obj/structure/bookcase/random/fiction, -/obj/structure/noticeboard{ - pixel_y = 31 - }, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"BP" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/turf_decal/corner/transparent/black{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"BR" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"BT" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 10 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/maintenance/central) -"BV" = ( -/obj/item/kirbyplants{ - icon_state = "plant-10" - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/bridge) -"BW" = ( -/obj/structure/sign/nanotrasen, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/science/robotics) -"Cd" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on, -/turf/open/floor/engine/o2, -/area/ship/engineering/atmospherics) -"Ck" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/communications) -"Cs" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Cu" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Cv" = ( -/obj/structure/chair/office{ - dir = 4; - name = "tactical swivel chair" - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/bridge) -"Cx" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Cy" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/purple/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"CB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_atmos"; - rad_insulation = 0.1; - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"CD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"CH" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"CI" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/corner, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"CK" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/turf_decal/corner/transparent/black/half{ - dir = 4 - }, -/obj/structure/chair, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"CP" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/curtain/cloth/grey, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"CQ" = ( -/obj/machinery/gibber, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - pixel_x = -22; - dir = 4; - pixel_y = 8 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/canteen/kitchen) -"CR" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"CU" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/canvas/twentythreeXtwentythree{ - desc = "Earnings chart your soul out on this whiteboard!"; - name = "whiteboard"; - pixel_x = 0; - pixel_y = -27 - }, -/obj/item/phone{ - pixel_x = 8; - pixel_y = 3 - }, -/obj/item/paper{ - pixel_x = -8; - pixel_y = -2 - }, -/obj/item/pen/charcoal{ - pixel_x = -7; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_y = 1; - pixel_x = 5 - }, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/bridge) -"CW" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 9 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"CZ" = ( -/turf/open/floor/engine/n2, -/area/ship/engineering/atmospherics) -"Dd" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"De" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"Dh" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/item/reagent_containers/food/snacks/pie/cream, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"Dk" = ( -/obj/structure/catwalk/over, -/obj/machinery/advanced_airlock_controller{ - dir = 4; - pixel_x = -24 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/engineering) -"Dn" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/chair/office, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"Dq" = ( -/obj/structure/closet/cardboard/metal, -/obj/item/reagent_containers/food/drinks/waterbottle/large, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 8; - pixel_y = -2 - }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/maintenance/central) -"Dr" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_x = 22; - dir = 8; - pixel_y = 9 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Ds" = ( -/obj/machinery/recharge_station, -/obj/item/robot_suit/prebuilt, -/obj/effect/decal/cleanable/robot_debris/gib, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/tech, -/area/ship/science/robotics) -"Du" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/item/storage/box/rubbershot{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/storage/box/rubbershot{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/structure/rack, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"Dz" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/button/door{ - id = "heron_mechbayshut"; - name = "Mechbay Shutters"; - pixel_x = -24; - pixel_y = -10; - dir = 4 - }, -/obj/machinery/button/shieldwallgen{ - id = "heron_mechbayholo"; - pixel_x = -22; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/robotics) -"DE" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/machinery/computer/rdconsole/robotics{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"DF" = ( -/obj/machinery/computer/security{ - dir = 4 - }, -/obj/machinery/light/directional/west{ - light_color = "#e8eaff" - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security) -"DI" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/hole{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"DM" = ( -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"DS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"DT" = ( -/obj/effect/turf_decal/trimline/opaque/blue/warning, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/corner, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"DW" = ( -/obj/structure/chair/comfy/grey/directional/south, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/red, -/area/ship/security) -"DX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"DY" = ( -/obj/effect/turf_decal/siding/thinplating/corner, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/warning, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Ea" = ( -/obj/machinery/door/airlock{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/crew/toilet) -"Ec" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Ed" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Ee" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/steeldecal/steel_decals1{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/science/robotics) -"Ef" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/glass/bottle/dexalin{ - pixel_y = 3; - pixel_x = 8 - }, -/obj/item/reagent_containers/glass/bottle/epinephrine{ - pixel_x = 8; - pixel_y = -2 - }, -/obj/item/storage/box/bodybags{ - pixel_x = -7; - pixel_y = 9 - }, -/obj/item/reagent_containers/syringe{ - pixel_x = 3 - }, -/obj/machinery/airalarm/directional/west, -/obj/item/reagent_containers/hypospray/combat{ - pixel_x = -4; - pixel_y = -5 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"Eg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/chair/comfy/grey/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormthree) -"Ei" = ( -/obj/effect/turf_decal/corner/opaque/brown/full, -/obj/effect/turf_decal/corner/opaque/brown/diagonal, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Ej" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Ek" = ( -/obj/effect/turf_decal/trimline/opaque/blue/warning, -/obj/effect/turf_decal/siding/thinplating/corner, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"El" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/storage) -"Em" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/effect/turf_decal/industrial/outline/red, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"En" = ( -/obj/machinery/door/poddoor/multi_tile/three_tile_ver, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hangar) -"Ep" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken3" - }, -/area/ship/crew/law_office) -"Er" = ( -/obj/structure/sink/kitchen{ - desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; - name = "old sink"; - pixel_y = 28 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/canteen/kitchen) -"Es" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/plasma{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"Et" = ( -/obj/structure/chair/sofa/brown/right/directional/south, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Ev" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/machinery/vending/tool, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Ez" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/turf_decal/corner/transparent/black/three_quarters{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/obj/effect/decal/cleanable/wrapping, -/obj/machinery/camera{ - dir = 10 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"ED" = ( -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"EF" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/fluff/big_chain{ - pixel_x = -18; - color = "#808080"; - density = 0 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1; - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/elevatorshaft, -/area/ship/science/robotics) -"EI" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/power{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"EJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/bridge) -"EK" = ( -/obj/machinery/medical_kiosk, -/obj/machinery/vending/wallmed{ - pixel_x = -27 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"EO" = ( -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"EQ" = ( -/obj/machinery/autolathe, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/camera{ - dir = 10 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"EZ" = ( -/obj/machinery/button/door{ - dir = 8; - id = "heron_atmos"; - name = "Atmos Shutters"; - pixel_x = 23; - pixel_y = -10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"Fj" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/crew/toilet) -"Fk" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/security/glass{ - req_one_access_txt = "1" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Fm" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"Fn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/light/broken/directional/west, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/crew/office) -"Fp" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/machinery/door/airlock, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm) -"Ft" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Fu" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 8 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/sign/warning/nosmoking{ - pixel_y = 32 - }, -/obj/machinery/vending/wardrobe/engi_wardrobe, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"Fv" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/security) -"Fy" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/decal/cleanable/robot_debris/gib{ - pixel_x = -4 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/robotics) -"Fz" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/security) -"FG" = ( -/obj/machinery/power/smes/engineering, -/obj/effect/turf_decal/industrial/warning{ - dir = 10; - color = "#808080" - }, -/obj/item/toy/figure/engineer{ - pixel_x = 9; - pixel_y = 12 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"FH" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"FI" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"FJ" = ( -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"FL" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ship/cargo) -"FM" = ( -/obj/effect/turf_decal/box, -/obj/structure/janitorialcart, -/obj/item/reagent_containers/glass/bucket{ - pixel_y = -5; - pixel_x = 5 - }, -/obj/item/mop, -/obj/item/pushbroom, -/obj/machinery/light_switch{ - pixel_x = -22; - dir = 4; - pixel_y = 8 - }, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"FP" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"FR" = ( -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"FS" = ( -/obj/machinery/door/airlock/engineering/glass{ - req_access_txt = "10" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"FT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/closet/wall/directional/west{ - name = "Utility Closet" - }, -/obj/item/flashlight, -/obj/item/flashlight, -/obj/item/flashlight, -/obj/item/flashlight, -/obj/item/flashlight, -/obj/item/flashlight, -/obj/item/flashlight, -/obj/item/radio/old{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/item/radio/old{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/item/radio/old{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/item/radio/old{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/item/radio/old{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/item/radio/old{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/item/radio/old{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"FY" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Ga" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/caution{ - dir = 1; - pixel_y = -5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/science/robotics) -"Gc" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal, -/obj/structure/table/reinforced, -/obj/item/aiModule/core/full/corp{ - pixel_y = -5; - pixel_x = -4 - }, -/obj/item/aiModule/core/full/peacekeeper{ - pixel_y = -2 - }, -/obj/item/aiModule/reset/purge{ - pixel_x = -3 - }, -/obj/item/aiModule/reset{ - pixel_y = 3 - }, -/obj/item/aiModule/core/freeformcore{ - pixel_y = 8; - pixel_x = 3 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/machinery/light/dim/directional/south, -/obj/machinery/light_switch{ - pixel_x = 22; - dir = 8; - pixel_y = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ship/science/ai_chamber) -"Ge" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/computer/secure_data/laptop{ - pixel_y = 8; - pixel_x = -2 - }, -/obj/item/spacecash/bundle/c100{ - pixel_x = -3; - pixel_y = -1 - }, -/obj/item/spacecash/bundle/c500{ - pixel_x = -1; - pixel_y = -8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Gf" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/atmospherics/pipe/simple/purple/hidden{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/camera{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"Gg" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Gi" = ( -/obj/structure/table/wood/reinforced, -/obj/item/flashlight/lamp/green{ - pixel_x = -6; - pixel_y = 13 - }, -/obj/effect/turf_decal/siding/wood, -/obj/item/virgin_mary{ - pixel_y = 25; - pixel_x = 10 - }, -/obj/item/paper_bin{ - pixel_x = 7; - pixel_y = 4 - }, -/obj/item/storage/photo_album/library{ - pixel_x = -3; - pixel_y = -2 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Gj" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Gk" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Gl" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"Gn" = ( -/obj/machinery/power/smes/engineering, -/obj/effect/turf_decal/industrial/warning{ - dir = 6; - color = "#808080" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"Gp" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning, -/obj/item/kirbyplants{ - icon_state = "plant-25"; - pixel_x = 11 - }, -/obj/effect/decal/cleanable/glass{ - pixel_x = 11; - pixel_y = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"Gq" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass{ - dir = 8; - pixel_y = -10; - color = "#808080" - }, -/turf/open/floor/plating, -/area/ship/hangar) -"Gr" = ( -/obj/structure/sink{ - pixel_y = 20; - pixel_x = 1 - }, -/obj/structure/mirror{ - pixel_y = 32; - pixel_x = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/patterned, -/area/ship/crew/toilet) -"Gt" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1; - name = "Communications Chair" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"Gu" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_y = 3; - pixel_x = 5 - }, -/obj/item/pen{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/stamp/hos{ - pixel_y = 9; - pixel_x = -6 - }, -/obj/item/stamp/denied{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/stamp{ - pixel_x = -6; - pixel_y = -1 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security) -"GF" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/office) -"GJ" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) -"GL" = ( -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals1{ - dir = 10 - }, -/obj/machinery/computer/aifixer{ - dir = 4; - pixel_x = -8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/camera/motion{ - dir = 10 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/science/ai_chamber) -"GM" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/stock_parts/cell/high, -/obj/effect/turf_decal/industrial/warning{ - dir = 4; - color = "#808080" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"GP" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/smartfridge/organ{ - pixel_x = 32; - density = 0 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"GT" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 10 - }, -/obj/effect/spawner/lootdrop/salvage_50, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"GZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/bridge) -"Hc" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"He" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/electrical) -"Hh" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/AIcore, -/obj/item/circuitboard/aicore, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/science/ai_chamber) -"Hi" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"Hl" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ship/hallway/aft) -"Hm" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/soap, -/obj/structure/curtain/bounty, -/obj/machinery/shower{ - pixel_y = 19 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/catwalk_floor, -/area/ship/security) -"Hu" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"HA" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "0-1" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"HG" = ( -/obj/structure/closet/secure_closet/freezer/wall/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/holopad, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/item/reagent_containers/food/snacks/grown/corn{ - pixel_x = -2; - pixel_y = 11 - }, -/obj/item/reagent_containers/food/snacks/grown/corn{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/snacks/grown/tomato{ - pixel_x = -9; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/snacks/grown/tomato{ - pixel_x = -6; - pixel_y = -2 - }, -/obj/item/reagent_containers/food/snacks/grown/soybeans{ - pixel_x = 4; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/snacks/grown/soybeans{ - pixel_x = 4; - pixel_y = -1 - }, -/obj/item/reagent_containers/food/snacks/grown/onion{ - pixel_x = -8; - pixel_y = -6 - }, -/obj/item/reagent_containers/food/snacks/grown/onion{ - pixel_x = -4; - pixel_y = -8 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"HH" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood/end, -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormtwo) -"HI" = ( -/obj/structure/closet/wall/orange/directional/north{ - name = "Pilot's Locker" - }, -/obj/item/clothing/under/rank/security/officer/military/eng, -/obj/item/clothing/suit/jacket/leather/duster, -/obj/item/clothing/suit/jacket/miljacket, -/obj/item/clothing/mask/bandana/skull, -/obj/item/clothing/suit/armor/vest/marine, -/obj/item/instrument/piano_synth/headphones/spacepods{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/clothing/neck/shemagh, -/obj/item/reagent_containers/spray/pepper{ - pixel_x = 7; - pixel_y = -6 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/hangar) -"HO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/paper_bin{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/stamp/head_of_personnel{ - pixel_x = -6; - pixel_y = 10 - }, -/obj/item/stamp/captain{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/folder/blue{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/pen/fountain/captain{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/drinks/bottle/cognac{ - pixel_x = 6 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_x = 6; - pixel_y = -5 - }, -/obj/item/storage/pill_bottle/neurine{ - pixel_y = -10; - pixel_x = -5 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"HP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"HR" = ( -/obj/item/clothing/gloves/color/captain/nt, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/law_office) -"HT" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/item/reagent_containers/food/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = -8; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/condiment/saltshaker{ - desc = "Salt. From space oceans, presumably. A staple of modern medicine."; - pixel_x = -8; - pixel_y = 12 - }, -/obj/item/toy/figure/chef, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"HV" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"HW" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"HY" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"Id" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/holopad/emergency/command, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/law_office) -"Ih" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 7; - pixel_y = -21 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/office) -"Ij" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/techfloor, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"Ik" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/purple/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/holopad, -/turf/open/floor/plating, -/area/ship/engineering) -"Im" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"Ip" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/snacks/mint, -/obj/item/reagent_containers/food/condiment/enzyme{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/condiment/sugar{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/reagent_containers/glass/beaker, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/canteen/kitchen) -"Ix" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Iz" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"IA" = ( -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/effect/turf_decal/trimline/opaque/beige/filled/corner, -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/item/radio/intercom/directional/south, -/obj/machinery/firealarm/directional/south, -/obj/structure/frame/computer{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"IC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/foam_force_ad{ - pixel_y = 32 - }, -/obj/machinery/vending/clothing, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"IF" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4; - layer = 4.1; - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft, -/area/ship/science/robotics) -"II" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/canteen/kitchen) -"IP" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/light/directional/north, -/turf/open/floor/plating, -/area/ship/hangar) -"IS" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/red, -/area/ship/security) -"IT" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/structure/sign/departments/custodian{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"IY" = ( -/turf/closed/wall/r_wall, -/area/ship/engineering/electrical) -"Jf" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor/hole{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"Jh" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/camera{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"Jm" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/corner/transparent/blue/full, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/airlock/command/glass{ - req_access_txt = "19"; - name = "Bridge"; - dir = 4 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_bridgeprivacy"; - name = "Blast Shutters"; - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/bridge) -"Jp" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Jq" = ( -/obj/machinery/vending/boozeomat, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen) -"Jr" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Jv" = ( -/turf/open/floor/engine, -/area/ship/engineering/engine) -"Jw" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/fax/nanotrasen, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Jz" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/decal/cleanable/shreds{ - pixel_y = -9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"JA" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/structure/chair/sofa/brown/left/directional/south, -/obj/structure/sign/poster/official/moth{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"JC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"JE" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"JH" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6{ - dir = 9 - }, -/obj/machinery/camera{ - dir = 6 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"JJ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 6; - layer = 2.030 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"JN" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/obj/machinery/computer/atmos_control/tank/toxin_tank{ - sensors = list("heron_plasm"="Heron Plasma Tank") - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"JO" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_y = 2 - }, -/obj/item/desk_flag/trans{ - pixel_x = -16; - pixel_y = 8 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) -"JS" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen) -"JU" = ( -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 6 - }, -/obj/effect/turf_decal/siding/thinplating{ - layer = 2.040 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"JY" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"Kc" = ( -/obj/structure/window/reinforced/spawner, -/obj/structure/railing{ - dir = 8; - layer = 3.1 - }, -/obj/machinery/suit_storage_unit/inherit, -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/suit/space/hardsuit/ert/sec, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"Kd" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/decal/cleanable/oil/streak, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"Ke" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Ki" = ( -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/item/tank/internals/plasma/full, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 - }, -/turf/open/floor/engine, -/area/ship/engineering/electrical) -"Kj" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Ko" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Kp" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"Kt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/crayon{ - icon_state = "engie"; - pixel_x = 2; - pixel_y = 1 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/hangar) -"Kv" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/button/door{ - dir = 4; - id = "heron_sm_1"; - name = "Sm Access Shutters"; - pixel_x = -23 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Kz" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"KC" = ( -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"KF" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 10 - }, -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 9 - }, -/obj/machinery/light/directional/east, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/machinery/power/terminal, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/camera{ - dir = 9 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/maintenance/central) -"KG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"KH" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/opaque/red/warning{ - dir = 5 - }, -/obj/machinery/button/door{ - id = "armoury_heron"; - name = "Armoury Shutters"; - pixel_y = 24; - req_access_txt = "3" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"KK" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/blue, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"KN" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/robotics) -"KO" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_outerbridge"; - name = "Blast Shutters"; - dir = 4 - }, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/grille, -/turf/open/floor/plating, -/area/ship/bridge) -"KQ" = ( -/obj/structure/chair/sofa/brown/left/directional/south, -/obj/effect/decal/cleanable/blood/old, -/obj/item/toy/plush/moth{ - pixel_x = 3 - }, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm) -"KS" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/machinery/computer/mech_bay_power_console, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/science/robotics) -"KT" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"KZ" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"Lf" = ( -/obj/machinery/telecomms/broadcaster/preset_right{ - network = "nt_commnet" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/circuit/telecomms{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15" - }, -/area/ship/engineering/communications) -"Lh" = ( -/obj/structure/filingcabinet/double{ - pixel_x = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/blue{ - dir = 8 - }, -/obj/item/storage/pill_bottle/mannitol{ - pixel_x = 14; - pixel_y = -6 - }, -/obj/item/storage/wallet/random, -/obj/item/survey_handheld, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Ll" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"Lo" = ( -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 1 - }, -/area/ship/bridge) -"Ly" = ( -/obj/structure/railing/corner, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plasteel/patterned, -/area/ship/bridge) -"Lz" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/plasma, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/robotics) -"LC" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) -"LE" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 4 - }, -/obj/structure/bed/roller, -/obj/item/bedsheet/medical, -/obj/machinery/iv_drip, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"LI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/button/door{ - dir = 8; - id = "heron_sm_1"; - name = "Sm Access Shutters"; - pixel_x = 23 - }, -/obj/machinery/atmospherics/pipe/manifold/green/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"LJ" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"LM" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"LN" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"LO" = ( -/obj/structure/chair/sofa/brown/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/item/toy/plush/hornet/gay{ - layer = 2.1; - pixel_y = 12; - pixel_x = 4 - }, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm) -"LP" = ( -/obj/item/inducer, -/obj/structure/rack, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 3 - }, -/obj/item/storage/toolbox/electrical{ - pixel_y = -1; - pixel_x = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"LS" = ( -/obj/machinery/computer/cargo/express{ - dir = 8 - }, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/cargo) -"LT" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"LX" = ( -/obj/structure/rack, -/obj/item/gun/ballistic/automatic/pistol/commander{ - pixel_y = -3; - pixel_x = -2 - }, -/obj/item/gun/ballistic/automatic/pistol/commander{ - pixel_x = -2 - }, -/obj/item/gun/ballistic/automatic/pistol/commander{ - pixel_y = 3; - pixel_x = -2 - }, -/obj/structure/window/reinforced/spawner, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"LY" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/camera{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"Mb" = ( -/obj/structure/railing, -/obj/structure/closet/crate/bin, -/obj/machinery/button/door{ - id = "heron_bridgeprivacy"; - name = "Privacy Shutters"; - pixel_y = 9; - req_access_txt = "3"; - pixel_x = 22; - dir = 8 - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plasteel/patterned, -/area/ship/bridge) -"Me" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/turf_decal/corner/transparent/black{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"Mf" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/south, -/turf/open/floor/plating, -/area/ship/hangar) -"Mg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/wall/directional/south{ - icon_door = null; - name = "Office Supplies" - }, -/obj/item/storage/briefcase, -/obj/item/storage/secure/briefcase{ - pixel_y = -3; - pixel_x = 3 - }, -/obj/item/paper_bin/bundlenatural{ - pixel_x = -8; - pixel_y = -4 - }, -/obj/item/storage/photo_album/Captain{ - pixel_y = -11; - pixel_x = 3 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"Mm" = ( -/turf/template_noop, -/area/template_noop) -"Mn" = ( -/obj/effect/turf_decal/corner/transparent/mauve, -/obj/effect/turf_decal/corner/transparent/lime{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"Mo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Mp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"Mr" = ( -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"Mt" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"Mu" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/steeldecal/steel_decals4, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"Mv" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 10 - }, -/obj/structure/railing{ - dir = 10; - layer = 4.1 - }, -/obj/structure/rack, -/obj/item/circuitboard/machine/shuttle/engine/electric{ - pixel_x = -1; - pixel_y = -3 - }, -/obj/item/circuitboard/machine/shuttle/engine/electric{ - pixel_x = 1; - pixel_y = 1 - }, -/obj/item/circuitboard/machine/shuttle/engine/electric{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/circuitboard/machine/shuttle/smes, -/obj/item/circuitboard/machine/shuttle/smes, -/obj/item/circuitboard/machine/shuttle/smes, -/obj/item/circuitboard/machine/shuttle/smes, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"My" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/machinery/pipedispenser, -/obj/effect/turf_decal/industrial/warning{ - dir = 4; - color = "#808080" - }, -/obj/machinery/light/small/directional/west, -/obj/machinery/button/door{ - dir = 4; - id = "heron_engineblast"; - name = "Engine Shutters"; - pixel_x = -23; - pixel_y = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Mz" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/structure/rack, -/obj/item/storage/belt/utility/atmostech{ - pixel_y = 6; - pixel_x = 4 - }, -/obj/item/pipe_dispenser, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"MA" = ( -/obj/structure/chair/office{ - dir = 4; - name = "tactical swivel chair" - }, -/obj/effect/turf_decal/steeldecal/steel_decals6, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/bridge) -"MB" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/turf_decal/corner/transparent/black/half{ - dir = 4 - }, -/obj/structure/table, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"MD" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/cargo) -"ME" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"MF" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"MI" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"MK" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/canvas/twentythreeXtwentythree{ - desc = "Earnings chart your soul out on this whiteboard!"; - name = "whiteboard"; - pixel_x = 7; - pixel_y = -27 - }, -/obj/item/documents/nanotrasen, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/bridge) -"ML" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/machinery/light/directional/west{ - light_color = "#e8eaff" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"MM" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/structure/table, -/obj/item/radio/old{ - pixel_x = -5; - pixel_y = 10 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -9; - pixel_y = 2 - }, -/obj/item/trash/semki{ - pixel_y = 7; - pixel_x = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"MN" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/binary/pump, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"MO" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/spawner/lootdrop/maintenance, -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/get_your_legs{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"MP" = ( -/obj/structure/closet/secure_closet{ - icon_door = "tac"; - icon_state = "tac"; - name = "boarding tools locker"; - req_access_txt = "3" - }, -/obj/item/storage/backpack/duffelbag/syndie/x4{ - icon_state = "duffel-sec"; - name = "breaching charges duffel bag" - }, -/obj/item/crowbar/power{ - pixel_y = -4 - }, -/obj/item/grenade/frag{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/item/grenade/frag{ - pixel_x = 6; - pixel_y = -3 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"MS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/purple/hidden{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/ship/engineering) -"MT" = ( -/obj/structure/closet/wall/directional/east{ - icon_door = "red_wall"; - name = "Roboticists Locker" - }, -/obj/item/clothing/suit/longcoat/roboblack, -/obj/item/clothing/suit/longcoat/robowhite, -/obj/item/clothing/head/beret/sci, -/obj/item/clothing/gloves/color/latex, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/arrows{ - dir = 1; - pixel_y = -12 - }, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/science/robotics) -"MV" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/fax/nanotrasen, -/obj/item/radio/intercom/wideband/directional/west{ - pixel_y = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"MZ" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen/kitchen) -"Na" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"Nh" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"Ni" = ( -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Nj" = ( -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"Nm" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Nq" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Nr" = ( -/obj/effect/turf_decal/atmos/air, -/turf/open/floor/engine/air, -/area/ship/engineering/atmospherics) -"Nt" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Nv" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Nx" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/arrow_cw{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"Ny" = ( -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/under/rank/engineering/engineer/nt, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/head/welding, -/obj/item/clothing/head/hardhat/weldhat, -/obj/item/clothing/suit/toggle/hazard, -/obj/item/storage/backpack/industrial, -/obj/item/clothing/head/beret/eng/hazard, -/obj/item/clothing/glasses/meson/engine, -/obj/structure/closet/wall/orange/directional/north{ - name = "Engineering locker" - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/belt/utility/full/engi{ - pixel_y = -10; - pixel_x = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"NC" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals2, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"NE" = ( -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/ore_box, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"NF" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"NG" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"NI" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on, -/turf/open/floor/engine/plasma, -/area/ship/engineering/atmospherics) -"NK" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_generalwindows"; - name = "Blast Shutters" - }, -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/turf/open/floor/plating, -/area/ship/crew/canteen/kitchen) -"NM" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 4 - }, -/area/ship/hangar) -"NQ" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/toy/cards/deck{ - pixel_x = -4 - }, -/obj/item/toy/cards/deck/kotahi{ - pixel_x = 6 - }, -/obj/item/storage/pill_bottle/dice{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/storage/pill_bottle/neurine{ - pixel_x = -2; - pixel_y = 6 - }, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm) -"NU" = ( -/obj/machinery/door/airlock/engineering, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"NV" = ( -/obj/structure/window/plasma/reinforced/spawner/east, -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/item/tank/internals/plasma/full, -/obj/machinery/atmospherics/pipe/manifold4w/green/visible, -/turf/open/floor/engine, -/area/ship/engineering/electrical) -"NW" = ( -/obj/structure/closet/radiation{ - anchored = 1 - }, -/obj/effect/turf_decal/industrial/radiation{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/radiation{ - dir = 8 - }, -/obj/item/reagent_containers/hypospray/medipen/penacid, -/obj/item/reagent_containers/hypospray/medipen/penacid, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/meson/prescription, -/obj/item/geiger_counter{ - pixel_x = 1; - pixel_y = -3 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"NY" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/arrow_ccw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"NZ" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/departments/engineering{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Oa" = ( -/obj/structure/curtain/bounty, -/obj/machinery/shower{ - pixel_y = 13 - }, -/obj/item/soap/nanotrasen, -/turf/open/floor/plating/catwalk_floor, -/area/ship/crew/dorm/dormtwo) -"Ob" = ( -/obj/effect/turf_decal/siding/thinplating{ - layer = 2.040 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 9 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Of" = ( -/obj/structure/closet/wall/directional/east{ - icon_door = "orange_wall"; - name = "Mining equipment" - }, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/item/pickaxe, -/obj/item/pickaxe, -/obj/item/clothing/glasses/meson, -/obj/item/gps/mining, -/obj/item/gps/mining, -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/obj/machinery/button/door{ - id = "heron_innercargo"; - name = "Cargohold Shutters"; - pixel_y = -23; - pixel_x = -10; - dir = 1 - }, -/obj/item/pickaxe, -/obj/item/pickaxe/drill, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"Ol" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"On" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/machinery/camera{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Oy" = ( -/obj/effect/turf_decal/industrial/outline/orange, -/obj/machinery/atmospherics/components/unary/thermomachine{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Oz" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"OD" = ( -/obj/machinery/chem_master/condimaster, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/canteen/kitchen) -"OH" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) -"OJ" = ( -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/bridge) -"OK" = ( -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"OL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"OP" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/engineering/atmospherics) -"OR" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/curtain/cloth/grey, -/obj/structure/sign/poster/official/help_others{ - pixel_x = -32 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"OS" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"OT" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Pa" = ( -/obj/structure/curtain/bounty, -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Pe" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"Pj" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/paper_bin{ - pixel_x = -5; - pixel_y = -13 - }, -/obj/item/pen{ - pixel_x = -5; - pixel_y = -12 - }, -/obj/item/reagent_containers/food/drinks/mug, -/obj/item/newspaper{ - pixel_x = -8; - pixel_y = 5 - }, -/obj/item/table_bell{ - pixel_x = 8; - pixel_y = 8 - }, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/bridge) -"Pm" = ( -/obj/effect/decal/cleanable/robot_debris{ - color = "#808080" - }, -/obj/item/trash/energybar{ - color = "#808080"; - layer = 2; - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/cigbutt{ - anchored = 1; - color = "#808080"; - layer = 2; - pixel_x = -4; - pixel_y = 1 - }, -/obj/effect/decal/cleanable/greenglow{ - color = "#808080" - }, -/obj/item/trash/cheesie{ - color = "#808080"; - pixel_x = 21; - pixel_y = 1 - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080" - }, -/area/ship/crew/office) -"Pp" = ( -/obj/structure/chair/sofa/brown/directional/south, -/obj/item/toy/plush/spider, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm) -"Ps" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/grass/jungle/b, -/obj/structure/flora/rock/jungle{ - pixel_x = 1; - pixel_y = 1 - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/grass, -/area/ship/hallway/aft) -"Pt" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Px" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 6 - }, -/obj/machinery/suit_storage_unit/atmos, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"Pz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) -"PC" = ( -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"PI" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/oil/streak, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"PJ" = ( -/obj/machinery/door/poddoor/multi_tile/two_tile_ver, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hangar) -"PK" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/pipedispenser, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"PO" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"PP" = ( -/obj/machinery/computer/security{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"PR" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/light_switch{ - pixel_x = -12; - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"PS" = ( -/obj/machinery/suit_storage_unit/independent/pilot, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) -"PT" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/clown{ - pixel_x = -32 - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"PZ" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/security/glass{ - req_one_access_txt = "1" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Qb" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Qf" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Qg" = ( -/obj/machinery/processor, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/crew/canteen/kitchen) -"Qi" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"Qj" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 6; - layer = 2.030 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Qm" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"Qq" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/sign/warning/electricshock{ - pixel_y = 31 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"Qr" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/sign/departments/custodian{ - pixel_x = -32 - }, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"Qt" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"Qz" = ( -/obj/machinery/button/door{ - dir = 1; - id = "heron_sm_lockdown"; - name = "Supermatter Lockdown"; - pixel_y = -24 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"QB" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"QE" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/structure/sign/directions/command{ - dir = 4; - pixel_y = -21 - }, -/obj/structure/sign/directions/engineering{ - pixel_y = -33; - dir = 8 - }, -/obj/structure/sign/directions/medical{ - pixel_y = -39 - }, -/obj/structure/sign/directions/security{ - pixel_y = -27; - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"QG" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/law_office) -"QJ" = ( -/obj/structure/table, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/clothing/gloves/color/orange, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/storage/box/lights/mixed{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/flashlight{ - pixel_y = 4 - }, -/obj/item/grenade/chem_grenade/cleaner{ - pixel_x = 10; - pixel_y = 6 - }, -/obj/item/grenade/chem_grenade/cleaner{ - pixel_x = 10; - pixel_y = 6 - }, -/obj/item/grenade/chem_grenade/cleaner{ - pixel_x = 10; - pixel_y = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/transparent/mauve, -/obj/effect/turf_decal/corner/transparent/lime{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/storage/belt/janitor/full{ - pixel_x = 6; - pixel_y = -2 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"QK" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"QO" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating, -/area/ship/hangar) -"QU" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"QY" = ( -/obj/structure/table/reinforced, -/obj/item/flashlight/lamp{ - pixel_x = -8; - pixel_y = 13 - }, -/obj/item/phone{ - pixel_x = 7; - pixel_y = 10 - }, -/obj/item/areaeditor/shuttle{ - pixel_x = -6; - pixel_y = -2 - }, -/obj/item/trash/chips{ - pixel_x = -5; - pixel_y = -6 - }, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = 1; - pixel_y = 4 - }, -/obj/item/clothing/neck/tie/genderfluid, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/sign/poster/official/get_your_legs{ - pixel_x = -32 - }, -/turf/open/floor/plating/catwalk_floor, -/area/ship/science/robotics) -"Ra" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/arrow_cw{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/light_switch{ - pixel_x = 22; - dir = 8; - pixel_y = 9 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"Re" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/structure/chair/sofa/brown/right/directional/south, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Rf" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/north, -/obj/item/kirbyplants/random, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Rs" = ( -/obj/structure/guncloset, -/obj/item/gun/ballistic/automatic/pistol/candor/no_mag, -/obj/item/gun/ballistic/automatic/pistol/candor/no_mag, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) -"Ru" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"Rv" = ( -/obj/structure/bookcase/random/fiction, -/obj/structure/sign/poster/retro/nanotrasen_logo_80s{ - pixel_y = -32 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Rx" = ( -/obj/structure/bed, -/obj/item/bedsheet/nanotrasen, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/obj/item/toy/plush/flushed, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm/dormtwo) -"RA" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"RB" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel, -/area/ship/cargo) -"RC" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"RG" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/cargo) -"RH" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 9 - }, -/obj/structure/closet/secure_closet/security/sec, -/obj/item/ammo_box/magazine/co9mm, -/obj/item/gun/energy/disabler{ - pixel_y = -2; - pixel_x = 3 - }, -/obj/item/storage/belt/security/webbing, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"RK" = ( -/obj/structure/table/wood/reinforced, -/obj/item/table_bell{ - pixel_x = 9; - pixel_y = -1 - }, -/obj/item/trash/chips{ - pixel_x = -4; - pixel_y = 9 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -8; - pixel_y = 3 - }, -/obj/item/folder/blue{ - pixel_x = 6; - pixel_y = 12 - }, -/obj/structure/sign/poster/official/work_for_a_future{ - pixel_y = -32 - }, -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/law_office) -"RN" = ( -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"RO" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/turf/open/floor/plating, -/area/ship/maintenance/central) -"RS" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/canteen/kitchen) -"RU" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"RV" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/cargo) -"RX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/light/directional/west{ - pixel_x = -25 - }, -/turf/open/floor/engine/hull/reinforced/interior, -/area/ship/hangar) -"Sa" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Sb" = ( -/obj/structure/sign/poster/official/build{ - pixel_y = -32 - }, -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "0-1" - }, -/obj/machinery/power/ship_gravity, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Sc" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"Se" = ( -/obj/structure/table/reinforced, -/obj/item/cigbutt/cigarbutt{ - pixel_x = 8; - pixel_y = -1 - }, -/obj/item/toy/plush/knight{ - pixel_x = -8 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security) -"Sf" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/robotics) -"Si" = ( -/obj/effect/turf_decal/industrial/warning/cee{ - dir = 8 - }, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/orange, -/obj/item/clothing/head/helmet/space/orange, -/obj/structure/sign/poster/official/moth/meth{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"Sj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 2 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Sm" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/hatch{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"So" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"Sp" = ( -/obj/structure/chair/office{ - dir = 8; - name = "tactical swivel chair" - }, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/bridge) -"Sw" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/hangar) -"Sz" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/curtain/cloth/grey, -/obj/machinery/light/small/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"SB" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/engine/hull/reinforced/interior, -/area/ship/hangar) -"SF" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plating, -/area/ship/hangar) -"SG" = ( -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 8; - id = "heron_mechbayholo"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-1" - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - id = "heron_mechbayshut"; - name = "Mechbay Shutters" - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/science/robotics) -"SH" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"SI" = ( -/obj/effect/turf_decal/steeldecal/steel_decals2, -/obj/effect/turf_decal/spline/fancy/opaque/blue{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"SK" = ( -/obj/machinery/rnd/production/techfab/department/security, -/obj/structure/window/reinforced/spawner/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security) -"SM" = ( -/obj/structure/closet/cardboard, -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/item/toy/plush/beeplushie, -/obj/effect/spawner/lootdrop/maintenance/four, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/sign/poster/contraband/space_cube{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"SP" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/corner/opaque/brown/full, -/obj/effect/turf_decal/corner/opaque/brown/diagonal, -/obj/structure/sign/poster/retro/we_watch{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"SQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/purple/hidden{ - dir = 10 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"SS" = ( -/obj/effect/turf_decal/trimline/opaque/red/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/holopad, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"SW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"SX" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"SZ" = ( -/obj/structure/sign/warning/radiation{ - pixel_y = 32 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"Tc" = ( -/obj/structure/window/plasma/reinforced/spawner/east, -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/item/tank/internals/plasma/full, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 6 - }, -/turf/open/floor/engine, -/area/ship/engineering/electrical) -"Td" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/item/clothing/suit/space/orange, -/obj/item/clothing/head/helmet/space/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security) -"Tf" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"Tg" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/effect/decal/cleanable/robot_debris, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "4-9" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/maintenance/central) -"Ti" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/decal/cleanable/glass{ - pixel_x = 13; - pixel_y = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"Tl" = ( -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"To" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/official/fruit_bowl{ - pixel_x = -32 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/crew/law_office) -"Tt" = ( -/obj/structure/rack, -/obj/item/gun/energy/temperature/security{ - pixel_y = 6 - }, -/obj/item/gun/energy/ionrifle, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"Tu" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) -"Tv" = ( -/obj/structure/closet/crate/freezer/blood, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"TB" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"TD" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) -"TE" = ( -/obj/structure/table, -/obj/machinery/light/directional/west{ - light_color = "#e8eaff" - }, -/obj/item/gun_voucher/nanotrasen, -/obj/item/detective_scanner{ - pixel_y = -10 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security) -"TG" = ( -/obj/structure/table, -/obj/item/storage/bag/tray, -/obj/item/storage/box/donkpockets{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/storage/box/donkpockets{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = -8; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/condiment/saltshaker{ - desc = "Salt. From space oceans, presumably. A staple of modern medicine."; - pixel_x = -8; - pixel_y = 12 - }, -/obj/machinery/reagentgrinder{ - pixel_y = 5 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew/canteen/kitchen) -"TI" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/science/robotics) -"TN" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 8; - id = "heron_outercargoholo"; - locked = 1 - }, -/obj/machinery/door/poddoor{ - id = "heron_outercargo"; - name = "Cargo Hatch" - }, -/obj/structure/cable{ - icon_state = "0-1" - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) -"TO" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plating, -/area/ship/hangar) -"TR" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/airlock/security/glass{ - req_one_access_txt = "1" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"TT" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"TV" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/the_owl{ - pixel_y = -32 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/ship/crew/dorm) -"TX" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/door/poddoor{ - id = "armoury_heron"; - name = "Armoury Shutters"; - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"TZ" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/pump/layer2{ - dir = 1 - }, -/obj/machinery/light/directional/west{ - light_color = "#e8eaff" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"Ub" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/bridge) -"Uc" = ( -/obj/machinery/atmospherics/components/trinary/filter/flipped{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Uf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/plaques/kiddie/perfect_man{ - pixel_y = 30; - icon = 'icons/obj/clothing/accessories.dmi'; - icon_state = "gold"; - pixel_x = 8; - name = "medal of exceptional heroism"; - desc = "An extremely rare golden medal awarded only by CentCom. To receive such a medal is the highest honor and as such, very few exist. This medal is almost never awarded to anybody but commanders." - }, -/obj/structure/sign/plaques/kiddie/perfect_man{ - pixel_y = 32; - icon = 'icons/obj/clothing/accessories.dmi'; - icon_state = "silver"; - pixel_x = -4; - name = "\improper Excellence in Bureaucracy Medal"; - desc = "Awarded for exemplary managerial services rendered while under contract with Nanotrasen." - }, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"Ug" = ( -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/door/airlock/grunge{ - name = "Bathroom" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/dorm/dormtwo) -"Ui" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Un" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering) -"Uq" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/door/poddoor{ - id = "heron_engineblast"; - name = "Engine Blast Door"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Uu" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/machinery/camera{ - dir = 6 - }, -/obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = -9 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"Uv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"Uw" = ( -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/bridge) -"Ux" = ( -/obj/item/radio/intercom/directional/west, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/robotics) -"Uy" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/hangar) -"Uz" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"UC" = ( -/obj/machinery/autolathe, -/obj/item/stack/sheet/glass/fifty{ - pixel_x = 6 - }, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/plasteel/twenty{ - pixel_x = -3; - pixel_y = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"UD" = ( -/obj/structure/railing{ - dir = 4; - layer = 3.1 - }, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/ert/sec, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"UH" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = -6 - }, -/obj/item/pen{ - pixel_x = -6 - }, -/obj/item/stamp/qm{ - pixel_x = 6; - pixel_y = 9 - }, -/obj/item/stamp{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/stamp/denied{ - pixel_x = 6; - pixel_y = -1 - }, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/effect/turf_decal/corner/opaque/yellow/full, -/turf/open/floor/plasteel, -/area/ship/cargo) -"UI" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = 5 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/item/flashlight/lamp{ - pixel_y = 10; - pixel_x = -7 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security) -"UJ" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/central) -"UK" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/white{ - dir = 8; - layer = 2.030 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"UM" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/opaque/blue/line{ - dir = 10 - }, -/obj/machinery/camera{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"UN" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"UO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"UP" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/purple/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"UR" = ( -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"UT" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"UU" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, -/area/ship/crew/canteen/kitchen) -"UW" = ( -/obj/structure/chair/office{ - dir = 8; - name = "tactical swivel chair" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/security) -"UZ" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 5 - }, -/obj/structure/closet/wall/white/med{ - name = "medbay equipment locker"; - pixel_y = 28 - }, -/obj/item/clothing/suit/longcoat/brig_phys, -/obj/item/clothing/under/rank/medical/doctor/green, -/obj/item/clothing/head/beret/sec/brig_phys, -/obj/item/clothing/accessory/armband/medblue, -/obj/item/clothing/suit/apron/surgical, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/gloves/color/latex/nitrile/evil, -/obj/item/clothing/head/soft/paramedic, -/obj/item/clothing/suit/hooded/wintercoat/medical, -/obj/item/clothing/under/rank/medical/doctor/blue, -/obj/item/clothing/under/rank/medical/doctor/skirt, -/obj/item/storage/belt/medical/surgery, -/obj/item/holosign_creator/medical, -/obj/item/storage/backpack/ert/medical, -/obj/item/pinpointer/crew, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Va" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/obj/structure/window/plasma/reinforced/spawner/west, -/obj/structure/window/plasma/reinforced/spawner/east, -/turf/open/floor/plating, -/area/ship/engineering) -"Vb" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/portable_atmospherics/pump, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/machinery/camera{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Vc" = ( -/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ - dir = 10 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"Ve" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) -"Vl" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/decal/cleanable/vomit/old, -/obj/structure/chair, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"Vm" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 8 - }, -/obj/machinery/status_display/shuttle{ - pixel_y = 32; - pixel_x = 32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Vo" = ( -/obj/structure/chair/sofa/brown/corner/directional/east, -/obj/machinery/firealarm/directional/west, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm) -"Vs" = ( -/obj/structure/bookcase/random/fiction, -/obj/structure/sign/poster/official/report_crimes{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"Vv" = ( -/obj/machinery/suit_storage_unit/independent/pilot, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/robot_debris/old, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/robotics) -"Vw" = ( -/obj/structure/closet/secure_closet{ - icon_state = "armory"; - name = "armor locker"; - req_access_txt = "1" - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/suit/armor/vest/marine/heavy, -/obj/item/clothing/suit/armor/vest/marine/medium, -/obj/item/clothing/suit/armor/vest/marine/medium, -/obj/item/clothing/head/helmet/marine/security, -/obj/item/clothing/head/helmet/marine, -/obj/item/clothing/head/helmet/marine, -/obj/item/clothing/suit/armor/vest/bulletproof, -/obj/item/clothing/suit/armor/vest/bulletproof, -/obj/item/clothing/head/helmet/plate, -/obj/item/clothing/head/helmet/plate, -/obj/item/clothing/suit/armor/vest/security/officer, -/obj/item/clothing/suit/armor/vest/security/officer, -/obj/item/clothing/head/helmet/riot, -/obj/item/clothing/head/helmet/riot, -/obj/item/clothing/head/helmet/swat/nanotrasen, -/obj/item/clothing/head/helmet/swat/nanotrasen, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 7; - pixel_y = -21 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"VH" = ( -/obj/effect/turf_decal/corner/opaque/white{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating{ - layer = 2.040; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"VI" = ( -/obj/effect/decal/cleanable/leaper_sludge{ - color = "#808080" - }, -/obj/item/trash/sosjerky{ - anchored = 1; - color = "#808080"; - pixel_x = 8; - pixel_y = 8 - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080" - }, -/area/ship/crew/office) -"VK" = ( -/obj/structure/table, -/obj/machinery/computer/secure_data/laptop{ - dir = 4; - pixel_x = -8; - pixel_y = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security) -"VN" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"VS" = ( -/obj/structure/toilet{ - pixel_y = 13 - }, -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/dorm/dormtwo) -"VT" = ( -/obj/machinery/light/floor, -/turf/open/floor/engine/hull/reinforced/interior, -/area/ship/hangar) -"VU" = ( -/obj/effect/turf_decal/trimline/opaque/blue/corner, -/obj/effect/turf_decal/siding/thinplating/corner, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"VV" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/door/airlock/command{ - req_access_txt = "19"; - name = "T-comms"; - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/engineering/communications) -"Wc" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "heron_engineblast"; - name = "Engine Blast Door"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Wg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plasteel/patterned, -/area/ship/bridge) -"Wk" = ( -/obj/structure/table/reinforced, -/obj/item/mecha_parts/mecha_equipment/repair_droid, -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack, -/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser, -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine{ - pixel_x = 4; - pixel_y = 6 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/robotics) -"Wm" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - id = "heron_engineblast"; - name = "Engine Blast Door"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/central) -"Wo" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/light/small/directional/east, -/obj/structure/sign/poster/official/safety_internals{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security) -"Wr" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Ww" = ( -/obj/structure/closet/crate/freezer/surplus_limbs, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/structure/railing{ - dir = 10; - layer = 4.1 - }, -/obj/effect/turf_decal/corner/opaque/blue/full, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"WH" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/obj/machinery/computer/telecomms/monitor, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"WK" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"WL" = ( -/obj/effect/turf_decal/industrial/warning/cee, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/swat/captain, -/obj/machinery/newscaster/directional/north, -/obj/structure/sign/poster/official/no_erp{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew/dorm/dormtwo) -"WM" = ( -/obj/structure/sign/poster/retro/smile{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 1 - }, -/area/ship/bridge) -"WO" = ( -/obj/structure/closet/crate/bin, -/obj/item/trash/syndi_cakes, -/obj/item/toy/crayon/orange{ - pixel_x = 1; - pixel_y = -5 - }, -/obj/item/flashlight/flare, -/obj/effect/decal/cleanable/wrapping, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/patterned, -/area/ship/crew/toilet) -"WP" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/door/poddoor{ - id = "heron_engineblast"; - name = "Engine Blast Door"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/central) -"WS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/crew/dorm) -"WU" = ( -/obj/structure/chair/sofa/brown/corner/directional/north, -/obj/machinery/newscaster/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west, -/obj/effect/decal/cleanable/vomit/old{ - pixel_x = 9; - pixel_y = 18 - }, -/obj/machinery/camera{ - dir = 10 - }, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm) -"WV" = ( -/obj/machinery/door/window/northright{ - dir = 2 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"WW" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/structure/chair/office{ - dir = 4; - name = "tactical swivel chair" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"WX" = ( -/obj/structure/table, -/obj/item/book/manual/chef_recipes{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/snacks/dough, -/obj/item/reagent_containers/food/snacks/dough, -/obj/item/kitchen/rollingpin, -/obj/item/kitchen/knife/butcher{ - pixel_x = 13 - }, -/obj/item/kitchen/knife, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/canteen/kitchen) -"WY" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/closet/wall/red/directional/north{ - name = "Ammo locker" - }, -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = -7 - }, -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = -3 - }, -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = -7 - }, -/obj/item/storage/box/lethalshot{ - pixel_y = 5 - }, -/obj/item/storage/box/lethalshot{ - pixel_y = 5 - }, -/obj/item/ammo_box/magazine/smgm9mm, -/obj/item/ammo_box/magazine/smgm9mm{ - pixel_y = 1; - pixel_x = 2 - }, -/obj/item/ammo_box/magazine/smgm9mm{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/item/ammo_box/magazine/smgm9mm{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/ammo_box/magazine/smgm9mm{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/ammo_box/magazine/smgm9mm{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/ammo_box/c9mm{ - pixel_x = 4; - pixel_y = -6 - }, -/obj/item/ammo_box/c9mm{ - pixel_x = 4; - pixel_y = 1 - }, -/obj/item/ammo_box/c9mm{ - pixel_x = 4; - pixel_y = 9 - }, -/obj/item/ammo_box/c9mm/ap{ - pixel_y = 17; - pixel_x = 4 - }, -/obj/item/stock_parts/cell/gun{ - pixel_x = -3; - pixel_y = -5 - }, -/obj/item/stock_parts/cell/gun{ - pixel_x = 1; - pixel_y = -5 - }, -/obj/item/stock_parts/cell/gun{ - pixel_x = 5; - pixel_y = -5 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"Xb" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"Xe" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/computer/med_data{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Xf" = ( -/obj/effect/landmark/subship{ - subship_template = /datum/map_template/shuttle/subshuttles/heron - }, -/turf/open/floor/engine/hull/reinforced/interior, -/area/ship/hangar) -"Xg" = ( -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange/corner, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "engine fuel pump" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Xi" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"Xk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/wood{ - icon_state = "wood-broken4" - }, -/area/ship/crew/dorm/dormthree) -"Xl" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"Xo" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 1 - }, -/turf/open/floor/engine/n2, -/area/ship/engineering/atmospherics) -"Xr" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/turf_decal/corner/transparent/black/half{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"Xu" = ( -/obj/structure/table/wood/reinforced, -/obj/item/clipboard{ - pixel_y = 7 - }, -/obj/item/paper{ - pixel_x = 3; - pixel_y = 7 - }, -/obj/item/pen/charcoal{ - pixel_y = 8 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -8; - pixel_y = 3 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"Xv" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - id = "heron_engineblast"; - name = "Engine Blast Door"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Xy" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"Xz" = ( -/obj/structure/toilet{ - dir = 4; - pixel_x = -1; - pixel_y = 5 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plating/catwalk_floor, -/area/ship/security) -"XB" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/industrial/caution, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/science/robotics) -"XF" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"XH" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/door/airlock{ - name = "Service Hallway" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"XJ" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/computer/crew{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"XK" = ( -/obj/effect/turf_decal/atmos/plasma, -/turf/open/floor/engine/plasma, -/area/ship/engineering/atmospherics) -"XL" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "heron_sm_1"; - rad_insulation = 0.1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"XR" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/camera{ - dir = 6 - }, -/obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = -9 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/communications) -"XT" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/computer/telecomms/monitor{ - network = "nt_commnet" - }, -/obj/structure/sign/poster/official/moth/piping{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/communications) -"XX" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"XY" = ( -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/public/glass{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"XZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ - dir = 1 - }, -/turf/open/floor/engine/n2, -/area/ship/engineering/atmospherics) -"Yb" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"Yc" = ( -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/structure/window/plasma/reinforced/fulltile, -/obj/structure/grille, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Yd" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/communications) -"Yh" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/cans/sixbeer, -/turf/open/floor/carpet/green, -/area/ship/crew/dorm) -"Yl" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/reagent_dispensers, -/obj/structure/sign/warning/explosives/alt{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Yn" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/item/weldingtool{ - pixel_x = -5; - pixel_y = -6 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/purple/hidden{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Yq" = ( -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/item/kirbyplants/random, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -22; - pixel_y = 21 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Yr" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"Yx" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormtwo) -"YA" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/storage/backpack/ert/janitor{ - pixel_x = 6 - }, -/obj/structure/closet/wall/blue/directional/east{ - name = "Janitorial Closet" - }, -/obj/item/clothing/suit/longcoat/science{ - name = "janitor longcoat" - }, -/obj/item/clothing/shoes/galoshes{ - pixel_x = 7; - pixel_y = -8 - }, -/obj/item/clothing/head/soft/purple{ - pixel_x = 5 - }, -/obj/item/clothing/gloves/color/latex{ - pixel_y = -5 - }, -/turf/open/floor/plasteel, -/area/ship/maintenance/central) -"YD" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/space_cops{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/ship/hangar) -"YE" = ( -/obj/structure/chair/office/light{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/ship/cargo) -"YG" = ( -/obj/structure/catwalk/over, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/gasmask{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/engineering) -"YI" = ( -/obj/structure/bed, -/obj/item/bedsheet/rd, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/vomit/old, -/obj/item/clothing/accessory/medal/plasma/nobel_science{ - pixel_y = -2; - pixel_x = 8 - }, -/obj/item/toy/plush/beeplushie{ - pixel_y = 7 - }, -/turf/open/floor/carpet, -/area/ship/science/robotics) -"YP" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"YT" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"YV" = ( -/obj/effect/turf_decal/trimline/opaque/blue/warning, -/obj/effect/turf_decal/siding/thinplating/corner, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"YZ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/fireaxecabinet{ - pixel_y = 27 - }, -/obj/structure/closet/secure_closet/engineering_electrical, -/turf/open/floor/plating, -/area/ship/engineering) -"Zb" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"Zc" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/decal/cleanable/chem_pile{ - pixel_x = 17; - pixel_y = -6 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central2{ - pixel_y = 2 - }, -/obj/effect/turf_decal/steeldecal/steel_decals9, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) -"Zd" = ( -/obj/effect/turf_decal/spline/fancy/opaque/blue{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Zf" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Zg" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo/office) -"Zh" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/corner/opaque/brown/full, -/obj/effect/turf_decal/corner/opaque/brown/diagonal, -/obj/machinery/light/directional/south, -/obj/machinery/button/shieldwallgen{ - id = "heron_outercargoholo"; - pixel_x = -9; - pixel_y = -22; - dir = 1 - }, -/obj/machinery/button/door{ - dir = 1; - id = "heron_outercargo"; - name = "Cargo Shutters"; - pixel_x = -1; - pixel_y = -23 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"Zo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"Zp" = ( -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/hangar) -"Zq" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/canteen/kitchen) -"Zr" = ( -/obj/machinery/door/window/brigdoor/southright{ - dir = 1; - req_access_txt = "1" - }, -/obj/effect/turf_decal/siding/wideplating/dark, -/turf/open/floor/plasteel/tech, -/area/ship/security) -"Zv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"Zz" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"ZC" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/white/diagonal, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"ZD" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/fore) -"ZE" = ( -/obj/docking_port/stationary{ - height = 15; - width = 30; - dwidth = 7; - name = "heron exterior dock" - }, -/turf/template_noop, -/area/template_noop) -"ZG" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/wood, -/area/ship/crew/law_office) -"ZH" = ( -/obj/effect/turf_decal/trimline/opaque/blue/warning{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"ZJ" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/toxins, -/obj/effect/turf_decal/industrial/outline/orange, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/techfloor/hole/right{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"ZO" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/turf_decal/trimline/opaque/blue/line, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/aft) -"ZQ" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/storage) -"ZT" = ( -/obj/effect/turf_decal/corner/transparent/beige/full, -/obj/effect/turf_decal/corner/transparent/black/half{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/trimline/opaque/blue/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen) -"ZX" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/brigdoor/southright, -/obj/machinery/door/window/brigdoor/southright{ - dir = 1; - req_one_access_txt = "1" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/ship/security) -"ZY" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/toxins, -/obj/effect/turf_decal/industrial/outline/orange, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"ZZ" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/science/robotics) - -(1,1,1) = {" -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -hr -Xv -Xv -Uq -Uq -hr -VN -Nt -Mm -Mm -Mm -Mm -UJ -WP -WP -Wm -Wm -UJ -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -"} -(2,1,1) = {" -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -hr -Va -Va -QU -Cs -hr -oF -Wc -hr -hr -hr -hr -UJ -RO -cY -yc -yc -UJ -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -"} -(3,1,1) = {" -Mm -Mm -Mm -Mm -Mm -Mm -hr -sw -hr -hr -mN -rh -Yn -uG -hr -uY -GM -My -yd -Yl -EQ -UJ -Gf -rB -gd -tv -UJ -UJ -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -"} -(4,1,1) = {" -Mm -Mm -Mm -Mm -Mm -Mm -hr -YG -Dk -hr -YZ -Ag -nX -SQ -rL -Cy -hn -Ik -MS -UP -mX -qz -sM -nL -Gn -lo -sW -UJ -nQ -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -"} -(5,1,1) = {" -Mm -Mm -Mm -Mm -Mm -Mm -hr -pT -tc -fE -aG -Xg -sE -xe -jC -Ev -Jz -eu -kV -uW -LP -yN -eV -pE -BT -ci -Tg -UJ -nQ -nQ -nQ -Mm -Mm -Mm -Mm -Mm -Mm -"} -(6,1,1) = {" -Mm -Mm -Mm -Mm -ju -He -hr -Si -hr -hr -pN -kP -hr -hr -hr -Fu -WW -Mv -Ko -Sb -hr -UJ -UJ -UJ -FG -KF -wV -UJ -xB -ot -nQ -nQ -Mm -Mm -Mm -Mm -Mm -"} -(7,1,1) = {" -OP -ju -ju -ju -ju -He -He -He -He -Ax -Ru -Vc -FJ -LY -He -hr -Ny -ht -AA -vI -hr -GL -Hh -yR -UJ -UJ -UJ -UJ -xy -jE -YI -nQ -nQ -nQ -TI -Mm -Mm -"} -(8,1,1) = {" -ju -mI -RN -wW -ju -xE -Sc -PT -XL -Ej -Bx -cp -eA -RC -Oy -hr -gb -Gp -oA -yu -hr -nR -tF -Gc -nQ -QY -je -nQ -nQ -io -nQ -nQ -nQ -nQ -nQ -nQ -TI -"} -(9,1,1) = {" -ju -dh -wQ -vS -ju -kU -Yr -Zz -Ab -LI -me -Ol -oU -gv -Oy -hr -fD -qH -zp -uk -hr -yR -uL -yR -nQ -cK -bb -nQ -ki -Ga -as -Ux -ln -hx -Dz -Fy -BW -"} -(10,1,1) = {" -ju -dh -SH -bS -ju -Tc -NV -dB -IY -IY -IY -jb -iC -vh -He -hr -hr -hr -BG -hr -hr -Rf -vx -DT -mQ -Kp -ZZ -bj -LT -Mu -ah -lt -cB -yC -uZ -EF -rp -"} -(11,1,1) = {" -ju -Qt -SH -Aj -ju -ij -ij -ij -Bu -Tu -Bu -NG -Im -Ij -nj -dL -ed -tD -Un -xU -hr -NZ -vx -fq -nQ -JH -vE -Uv -cq -se -DE -gY -hp -pj -dp -dN -AC -"} -(12,1,1) = {" -ju -ol -Yb -Kz -sn -Jv -wk -Jv -fR -TD -fR -qM -DS -cX -He -NW -ac -hr -SZ -Fm -NU -ZH -vg -gz -ia -Kd -th -xC -gL -Ti -mm -KS -XB -dS -IF -up -SG -"} -(13,1,1) = {" -ju -EI -Xy -HA -ju -oJ -oJ -oJ -Bu -Ve -Bu -eK -Mp -mR -pQ -iI -eG -FS -TB -Qz -hr -Iz -UO -vl -nQ -cF -Vv -nQ -aC -Ds -bu -Wk -Lz -KN -Sf -Bo -BW -"} -(14,1,1) = {" -ju -mf -SH -hQ -ju -lZ -oe -Ki -IY -IY -IY -Es -KZ -dI -He -lK -lK -lK -VV -lK -lK -tn -ur -Sa -UJ -UJ -UJ -UJ -UJ -UJ -nQ -Qq -Jf -kH -bd -nQ -nQ -"} -(15,1,1) = {" -ju -dh -Xy -oV -ju -FI -DX -ze -nf -Kv -pF -HW -at -Nv -gw -lK -kS -XT -Ck -aV -lK -Iz -ur -IT -UJ -FM -iA -sO -QJ -UJ -UC -Zc -lr -Ee -cj -nQ -nQ -"} -(16,1,1) = {" -ju -kj -LM -bI -ju -Jh -Zb -MN -tP -Uc -vu -fb -wP -OT -wi -lK -XR -nK -OH -aN -lK -Uz -CH -fn -wM -pK -YA -Mn -zD -UJ -AN -hF -bF -MT -sF -nQ -Mm -"} -(17,1,1) = {" -ju -ju -ju -hR -ju -He -He -He -He -db -So -EZ -bM -Zv -He -lK -ag -nK -Ak -Yd -lK -iL -Hu -ZO -UJ -UJ -UJ -jY -UJ -UJ -MZ -MZ -MZ -MZ -MZ -MZ -Mm -"} -(18,1,1) = {" -ju -JN -ML -dF -uo -De -TZ -Tf -ju -ju -ju -ju -sC -CB -ju -lK -ej -po -Lf -in -lK -ak -zF -Ek -XH -Gl -zK -sD -Qr -lh -MZ -OD -CQ -II -zL -MZ -Mm -"} -(19,1,1) = {" -ju -Ll -du -Nh -BR -sV -oN -jr -nH -yW -if -vT -Am -xO -ju -ju -kv -kv -kv -uy -uy -sZ -Hu -zu -UJ -ss -iY -Dq -OS -JY -yS -vv -Zq -rW -UU -NK -Mm -"} -(20,1,1) = {" -ju -de -LJ -LJ -Mr -dt -PK -Mz -oa -Px -ju -lH -xi -ZJ -ZY -ju -sg -oM -kv -nT -mL -FP -Hu -bH -JS -JS -JS -JS -JS -ik -MZ -Er -pk -kK -zN -MZ -Mm -"} -(21,1,1) = {" -ju -kD -kD -ju -oL -nu -ju -ju -ju -ju -ju -vP -ox -Em -tV -ju -jm -Ac -kv -wO -Ps -fT -Bp -rU -JS -aQ -le -Ez -JS -JS -MZ -mc -MZ -MZ -MZ -RS -Mm -"} -(22,1,1) = {" -ju -XK -NI -rg -CW -lp -Yc -Xo -la -ju -ju -Vb -DI -Bv -Bv -ju -kv -tO -kv -kv -kv -ao -Sj -UR -Xr -Me -HY -eq -bn -HT -HG -Oz -TG -MZ -RS -Mm -Mm -"} -(23,1,1) = {" -ju -vL -zV -Yc -Xl -Pe -Yc -XZ -CZ -ju -ju -ju -ju -ju -ju -ju -WO -Fj -kR -pl -kv -Uu -sX -OL -WK -qj -yO -bK -wF -Dh -ZC -HP -WX -NK -Mm -Mm -Mm -"} -(24,1,1) = {" -ju -ju -ju -ju -pt -mO -ju -ju -ju -ju -kd -Vo -mM -WU -zX -zX -Gr -jo -kv -kv -kv -ng -wa -Bc -ZT -BP -Vl -MM -yr -Jq -ev -kI -Ip -NK -Mm -Mm -Mm -"} -(25,1,1) = {" -ju -xY -Cd -Yc -Xl -Br -Yc -yn -os -ju -Gi -Pp -NQ -LO -Tl -zX -tU -nS -fP -ll -kv -mY -Jp -Qf -JS -oR -CK -MB -qA -JS -tG -Qg -sb -MZ -Mm -Mm -Mm -"} -(26,1,1) = {" -ju -pu -rj -Yc -Ay -tR -Yc -fe -Nr -ju -lj -KQ -Yh -bE -Rv -zX -kv -Ea -kv -kv -kv -XY -Hl -wK -JS -JS -JS -As -As -As -As -As -As -As -As -RG -Mm -"} -(27,1,1) = {" -OP -ju -ju -ju -ju -ju -ju -ju -ju -ju -zX -tL -Mo -hj -zX -zX -jx -oq -vY -vO -to -Al -PO -tJ -ME -aw -pb -As -gG -xw -tt -cv -Yq -br -lL -lS -Mm -"} -(28,1,1) = {" -Mm -Mm -jh -xg -xg -Pm -Fn -xt -ji -FT -JC -wz -pg -TV -zX -mo -Aq -QB -fZ -zg -zg -QK -Gg -kA -ew -bl -DY -MD -lY -it -sy -aO -YE -Ni -UH -lS -Mm -"} -(29,1,1) = {" -Mm -Mm -Mm -jh -xg -VI -BN -lU -xg -IC -jy -ns -uO -rs -Fp -FR -pq -Ap -xs -Ec -Dr -zo -mZ -Ec -DM -CR -ED -bG -Et -SW -rV -FL -LS -Ni -IA -As -RG -"} -(30,1,1) = {" -Mm -Mm -Mm -Mm -xg -xg -BN -xg -xg -zX -Pa -zX -zX -zX -zX -yg -nt -VU -Qb -uQ -uQ -uQ -uQ -uQ -dM -ZD -Kj -As -ym -RV -RB -mg -cd -Vm -GT -bm -kO -"} -(31,1,1) = {" -Mm -Mm -Mm -Mm -xg -jP -qf -GF -xg -jQ -WS -sr -OR -dq -hU -Re -nt -QE -uQ -uQ -Tv -Ef -EK -uQ -rP -ZD -Ah -El -El -El -El -El -El -SW -Nq -qi -fa -"} -(32,1,1) = {" -Mm -Mm -Mm -Mm -xg -uX -mq -Ih -xg -hH -hP -fr -AW -Hi -zX -JA -tg -Gk -uQ -yU -ja -RU -so -mj -NF -YP -PR -El -RA -MO -cE -zw -ef -aa -fg -Ei -cO -"} -(33,1,1) = {" -Mm -Mm -Mm -Mm -xg -iS -eI -yt -xg -rR -iD -Sz -CP -hM -zX -gD -Qj -tu -uQ -ug -Ke -Ed -sP -eU -uf -tN -zM -El -ru -nM -nM -ZQ -hw -Zf -tT -aU -TN -"} -(34,1,1) = {" -Mm -Mm -Mm -Mm -jh -xg -xg -xg -xg -zX -zX -zX -zX -zX -zX -UK -qL -vm -uQ -UZ -pR -LE -LE -dJ -Jr -Ui -pB -El -SM -NE -wq -Of -El -sQ -SP -Zh -As -"} -(35,1,1) = {" -Mm -Mm -Mm -Mm -Mm -is -Hm -Xz -RH -bD -tS -is -zf -DF -is -wo -JJ -JU -uQ -az -Cx -Ww -hb -uQ -gB -fv -hO -El -El -El -El -El -El -As -As -As -RG -"} -(36,1,1) = {" -Mm -Mm -Mm -Mm -Mm -bN -fW -rZ -dU -Pt -Gj -ne -uJ -IS -Fv -KT -Zo -Ft -uQ -wl -GP -gx -uQ -uQ -Qi -KC -jT -nB -fM -NY -kE -PI -UM -fv -fv -fQ -Mm -"} -(37,1,1) = {" -Mm -Mm -Mm -Mm -Mm -bN -rT -aj -zB -gI -tY -Zr -IS -DW -ZX -cm -co -cr -uQ -uQ -uQ -uQ -uQ -HI -JE -gN -MI -Ra -Bt -Nx -Mt -TT -LN -hZ -fv -Mm -Mm -"} -(38,1,1) = {" -Mm -Mm -Mm -Mm -Fz -is -is -is -is -tI -Qm -ie -Se -Gu -Fv -ra -qy -Ob -Zg -mk -lv -Rs -Zg -vb -zC -EO -fv -fv -fv -fv -fv -fp -SX -tk -fv -Mm -Mm -"} -(39,1,1) = {" -Mm -Mm -Mm -Mm -is -UI -TE -VK -SK -jR -HV -is -is -Fv -Fv -VH -dG -CI -Zg -JO -bc -jZ -fm -iq -UN -VT -RX -SB -ei -SB -RX -VT -dj -er -nZ -Mm -Mm -"} -(40,1,1) = {" -Mm -Fz -is -is -is -fJ -UW -re -nD -hS -sI -TR -pI -pI -PZ -td -Nm -YV -lJ -Pz -xQ -LC -Zg -Na -Dd -sc -sc -sc -sc -sc -sc -Xf -dj -er -nZ -Mm -Mm -"} -(41,1,1) = {" -Mm -is -AG -BJ -is -Ao -qP -Cu -et -fI -qJ -is -uj -lm -is -eP -co -Wr -Zg -yV -PS -GJ -Zg -iW -rt -sc -sc -sc -sc -sc -sc -sc -dj -nw -fv -Mm -Mm -"} -(42,1,1) = {" -ZE -oH -na -jc -wd -rO -SS -zc -XX -kQ -Bg -lg -rd -rd -Fk -OK -dQ -Gk -np -np -np -np -np -hD -XF -sc -sc -sc -sc -sc -sc -sc -BB -Zp -fv -Mm -Mm -"} -(43,1,1) = {" -Mm -is -Wo -Td -is -KH -bC -xA -is -is -is -is -is -is -is -xd -fB -MF -np -zJ -Eg -xh -np -NM -BL -sc -sc -sc -sc -sc -sc -sc -xV -lI -fv -Mm -Mm -"} -(44,1,1) = {" -Mm -is -is -is -is -TX -am -oz -is -ct -To -zl -sJ -yQ -QG -Hc -co -On -np -hY -Xk -uF -np -Sw -SF -sc -sc -sc -sc -sc -sc -sc -QO -Sw -nZ -Mm -Mm -"} -(45,1,1) = {" -Mm -oz -oo -oX -Kc -Xi -rJ -oz -BO -wc -zW -jO -Id -wj -QG -mG -Jm -mG -np -np -Sm -np -np -Sw -Uy -sc -sc -sc -sc -sc -sc -sc -Sw -Sw -nZ -Mm -Mm -"} -(46,1,1) = {" -Mm -oz -fk -FH -ck -Xb -zP -oz -Vs -wc -iM -AF -RK -QG -QG -qx -Wg -OJ -WM -rN -Zd -dr -vp -xr -Sw -sc -sc -sc -sc -sc -sc -sc -Sw -Sw -nZ -Mm -Mm -"} -(47,1,1) = {" -Mm -oz -UD -UD -yP -ys -vi -oz -QG -Uf -CD -KG -Mg -QG -BV -un -AD -GZ -ez -hm -MA -Cv -Ub -IP -Sw -sc -sc -sc -sc -sc -sc -sc -Sw -Gq -fv -Mm -Mm -"} -(48,1,1) = {" -Mm -oz -oz -oz -oz -ys -ub -MP -QG -kB -eT -Ep -ZG -iP -GZ -EJ -Ly -Uw -nh -sv -oh -MK -Ub -Sw -Sw -sc -sc -sc -sc -sc -sc -sc -Sw -Mf -fv -Mm -Mm -"} -(49,1,1) = {" -Mm -oz -Tt -zv -mt -ys -YT -Vw -QG -dn -Dn -hk -mK -QG -bL -ae -Mb -kp -xx -KK -Pj -CU -Ub -Sw -dY -sc -sc -sc -sc -sc -sc -sc -Sw -TO -fv -Mm -Mm -"} -(50,1,1) = {" -Mm -oz -WY -my -WV -yz -Du -oz -QG -QG -nU -Xu -wG -QG -Ub -Ub -Ub -WH -Gt -KK -Sp -Sp -vp -Sw -gZ -sc -sc -sc -sc -sc -sc -sc -rw -YD -fv -Mm -Mm -"} -(51,1,1) = {" -Mm -mD -oz -ek -LX -sz -oz -oz -Oa -QG -QG -HR -QG -QG -Ge -HO -MV -eW -wD -xb -SI -Lh -vp -tA -qc -sc -sc -sc -sc -sc -sc -sc -xW -Sw -nZ -Mm -Mm -"} -(52,1,1) = {" -Mm -Mm -mD -oz -oz -oz -oz -VS -hJ -Ug -Yx -vw -HH -ku -NC -sx -Ix -Lo -aK -lX -qY -Jw -Ub -gP -oS -sc -sc -sc -sc -sc -sc -sc -xW -Mf -fv -Mm -Mm -"} -(53,1,1) = {" -Mm -Mm -Mm -Mm -Mm -Mm -xG -pM -pM -pM -WL -Rx -ya -pM -vz -Nj -UT -nh -FY -qZ -wp -vC -Ub -Kt -qc -VT -sc -sc -sc -sc -sc -VT -xW -Sw -fv -Mm -Mm -"} -(54,1,1) = {" -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -xG -pM -pM -pM -pM -kW -XJ -Bn -PC -sS -ib -PP -Xe -Ub -fv -fv -fv -PJ -fv -fv -En -fv -PJ -fv -fv -fQ -Mm -Mm -"} -(55,1,1) = {" -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -ec -eX -eX -Ub -KO -KO -KO -KO -KO -ec -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -Mm -"} diff --git a/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm b/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm index 9abfe4c6c6c..b3f02ffdec4 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm @@ -156,9 +156,7 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "ax" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, +/obj/machinery/power/shuttle/engine/electric, /obj/structure/cable{ icon_state = "0-4" }, @@ -240,9 +238,9 @@ icon_state = "crateopen"; opened = 1 }, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/gloves, +/obj/effect/spawner/random/clothing/gloves, /turf/open/floor/plasteel/dark, /area/ship/cargo) "aF" = ( @@ -274,15 +272,11 @@ /turf/open/floor/plasteel, /area/ship/crew/canteen) "aL" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, +/obj/machinery/power/shuttle/engine/fueled/plasma, /turf/open/floor/plating, /area/ship/engineering) "aM" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, +/obj/machinery/atmospherics/components/unary/shuttle/heater, /obj/structure/window/reinforced{ dir = 8 }, @@ -543,11 +537,11 @@ pixel_y = 3 }, /obj/effect/turf_decal/corner/transparent/bar/diagonal, -/obj/item/reagent_containers/food/condiment/ketchup{ +/obj/item/reagent_containers/condiment/ketchup{ pixel_y = 14; pixel_x = 9 }, -/obj/item/reagent_containers/food/condiment/mayonnaise{ +/obj/item/reagent_containers/condiment/mayonnaise{ pixel_y = 14 }, /obj/item/reagent_containers/food/drinks/soda_cans/cola{ @@ -576,9 +570,9 @@ dir = 4 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/plasteel/dark, /area/ship/cargo) "bX" = ( @@ -631,9 +625,11 @@ /area/ship/crew/canteen) "ce" = ( /obj/structure/table, -/obj/machinery/fax, /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/fax/nanotrasen{ + pixel_y = 6 + }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "cf" = ( @@ -667,7 +663,7 @@ pixel_x = -2; pixel_y = 6 }, -/obj/item/stamp/qm{ +/obj/item/stamp/nanotrasen/ns/captain{ pixel_x = -6 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -807,6 +803,7 @@ pixel_x = 21; pixel_y = 12 }, +/obj/item/stamp/nanotrasen/ns, /turf/open/floor/plasteel/dark, /area/ship/cargo) "cz" = ( @@ -1107,7 +1104,7 @@ /turf/open/floor/plasteel/dark, /area/ship/cargo) "dg" = ( -/obj/machinery/computer/cargo/express/retro{ +/obj/machinery/computer/cargo/retro{ dir = 8 }, /obj/effect/turf_decal/corner/opaque/blue/three_quarters{ @@ -1527,9 +1524,7 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "fb" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, +/obj/machinery/power/smes/shuttle/precharged, /obj/structure/window/reinforced{ dir = 8 }, @@ -1679,6 +1674,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/plating, /area/ship/cargo) +"jo" = ( +/obj/machinery/porta_turret/ship/nt/light{ + id = "meta_grid"; + dir = 4 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/crew) "jw" = ( /obj/effect/turf_decal/corner/transparent/bar/diagonal, /obj/effect/decal/cleanable/dirt/dust, @@ -1784,9 +1786,7 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "lC" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, +/obj/machinery/power/smes/shuttle/precharged, /obj/structure/window/reinforced{ dir = 8 }, @@ -1801,10 +1801,10 @@ /area/ship/engineering) "lH" = ( /obj/item/storage/fancy/egg_box, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/rice, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/rice, +/obj/item/reagent_containers/condiment/sugar, +/obj/item/reagent_containers/condiment/enzyme, /obj/item/reagent_containers/food/snacks/meat/slab/synthmeat{ pixel_x = -3; pixel_y = 3 @@ -1820,10 +1820,10 @@ name = "fridge"; anchored = 1 }, -/obj/item/reagent_containers/food/condiment/soymilk, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/soymilk, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/soymilk, /turf/open/floor/plasteel, /area/ship/crew/canteen/kitchen) "lK" = ( @@ -1992,7 +1992,7 @@ /turf/open/floor/plasteel, /area/ship/crew/canteen/kitchen) "pF" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/corner/transparent/bar/diagonal, /obj/machinery/light/directional/east, /obj/effect/decal/cleanable/dirt/dust, @@ -2164,8 +2164,8 @@ /obj/effect/turf_decal/ntspaceworks_big/two, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/tool_surgery_common, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/medical/surgery_tool/common, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/dark, /area/ship/cargo) "uk" = ( @@ -2198,6 +2198,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/ship/cargo) +"uT" = ( +/obj/machinery/porta_turret/ship/nt/light{ + id = "meta_grid"; + dir = 4 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/crew/canteen/kitchen) "ve" = ( /obj/effect/turf_decal/box/corners, /obj/machinery/light/broken/directional/south, @@ -2379,11 +2386,18 @@ /obj/structure/table, /obj/item/cutting_board, /obj/item/kitchen/rollingpin, -/obj/item/kitchen/knife, +/obj/item/melee/knife/kitchen, /obj/effect/turf_decal/corner/opaque/white/diagonal, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel, /area/ship/crew/canteen/kitchen) +"yF" = ( +/obj/machinery/porta_turret/ship/nt/light{ + id = "meta_grid"; + dir = 5 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/engineering) "yS" = ( /obj/structure/table, /obj/item/storage/box/lights/mixed{ @@ -2496,8 +2510,8 @@ /obj/effect/decal/cleanable/oil, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/spawner/lootdrop/random_prosthetic, +/obj/effect/spawner/random/maintenance/two, +/obj/effect/spawner/random/medical/prosthetic, /turf/open/floor/plasteel/dark, /area/ship/cargo) "Ai" = ( @@ -2647,7 +2661,7 @@ /area/ship/cargo) "Du" = ( /obj/effect/turf_decal/corner/transparent/neutral/full, -/obj/machinery/computer/cargo/express/retro{ +/obj/machinery/computer/cargo/retro{ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, @@ -2659,8 +2673,9 @@ /obj/structure/rack, /obj/effect/decal/cleanable/dirt/dust, /obj/item/radio/intercom/directional/east, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/extinguisher/mini, +/obj/item/stamp/nanotrasen/ns, /turf/open/floor/plasteel/dark, /area/ship/cargo) "DJ" = ( @@ -2737,11 +2752,11 @@ /area/ship/cargo) "EX" = ( /obj/structure/table, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ pixel_x = -8; pixel_y = 10 }, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ pixel_x = -8; pixel_y = 4 }, @@ -2778,6 +2793,7 @@ }, /obj/machinery/light/small/broken/directional/north, /obj/effect/decal/cleanable/dirt/dust, +/obj/item/stamp/nanotrasen/ns, /turf/open/floor/plasteel/dark, /area/ship/cargo) "FR" = ( @@ -2822,7 +2838,7 @@ dir = 8 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /obj/effect/decal/cleanable/dirt/dust, /obj/item/spacecash/bundle/pocketchange, /turf/open/floor/plasteel/dark, @@ -2848,11 +2864,11 @@ pixel_y = 6 }, /obj/effect/turf_decal/corner/opaque/white/diagonal, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ pixel_x = -8; pixel_y = 10 }, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ pixel_x = -8; pixel_y = 4 }, @@ -2910,10 +2926,9 @@ /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/turretid{ +/obj/machinery/turretid/ship{ pixel_y = -24; - req_access = null; - locked = 0 + id = "meta_grid" }, /turf/open/floor/plasteel/dark, /area/ship/bridge) @@ -3041,7 +3056,7 @@ /turf/open/floor/plasteel/dark, /area/ship/cargo) "La" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/corner/transparent/bar/diagonal, /obj/machinery/light/broken/directional/east, /obj/effect/decal/cleanable/dirt/dust, @@ -3059,11 +3074,12 @@ /turf/open/floor/plating, /area/ship/engineering) "Lo" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 1 +/obj/machinery/porta_turret/ship/nt/light{ + id = "meta_grid"; + dir = 6 }, /turf/closed/wall/mineral/titanium, -/area/ship/bridge) +/area/ship/engineering) "Lq" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3239,7 +3255,6 @@ dir = 4 }, /obj/docking_port/mobile{ - can_move_docking_ports = 1; name = "Salvage Ship"; port_direction = 2; preferred_direction = 4; @@ -3458,6 +3473,20 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/ship/cargo) +"TR" = ( +/obj/machinery/porta_turret/ship/nt/light{ + id = "meta_grid"; + dir = 10 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/crew/canteen) +"TV" = ( +/obj/machinery/porta_turret/ship/nt/light{ + id = "meta_grid"; + dir = 9 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/crew) "Uk" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3660,11 +3689,11 @@ "Zf" = ( /obj/effect/turf_decal/corner/transparent/bar/diagonal, /obj/structure/table, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration{ +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration{ pixel_x = 7 }, -/obj/effect/spawner/lootdrop/ration{ +/obj/effect/spawner/random/food_or_drink/ration{ pixel_x = -8 }, /obj/machinery/button/door{ @@ -3861,7 +3890,7 @@ aa "} (6,1,1) = {" aa -Lo +yF ac ri Pr @@ -4186,7 +4215,7 @@ aa "} (19,1,1) = {" aa -Lo +TV ai ai MU @@ -4206,7 +4235,7 @@ sA Uk an bD -Lo +TR aa "} (20,1,1) = {" @@ -4412,12 +4441,12 @@ aa (28,1,1) = {" aa aa -Lo +jo ai ai ai ai -Lo +jo aa aa aa @@ -4425,12 +4454,12 @@ aa aa aa aa -Lo +uT cO cO cO cO -Lo +uT aa aa "} diff --git a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm deleted file mode 100644 index f5ffea85228..00000000000 --- a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm +++ /dev/null @@ -1,10688 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"af" = ( -/obj/structure/table, -/obj/item/picket_sign, -/obj/effect/turf_decal/spline/plain/opaque/blue{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"ah" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"ak" = ( -/obj/effect/turf_decal/siding/wideplating/light/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/light/corner{ - dir = 4 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"al" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/light{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/light{ - dir = 8 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"am" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"ax" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/plastic, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"aE" = ( -/obj/structure/table, -/obj/machinery/door/window, -/turf/open/floor/plating, -/area/ship/crew/hydroponics) -"aF" = ( -/obj/effect/turf_decal/siding/red{ - dir = 9 - }, -/obj/structure/closet/secure_closet/brig, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"aG" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/crew/dorm/dormthree) -"aQ" = ( -/obj/vehicle/ridden/wheelchair, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"aS" = ( -/obj/machinery/door/window, -/obj/item/bikehorn/rubberducky/plasticducky, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"aV" = ( -/obj/structure/closet/emcloset/wall/directional/east, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"aX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"bb" = ( -/turf/closed/wall/r_wall, -/area/ship/security) -"be" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/poddoor/shutters{ - id = "starboard_eng"; - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"bf" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"bj" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"bk" = ( -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/structure/railing{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"bo" = ( -/obj/structure/chair/sofa/brown/right/directional/south, -/obj/item/toy/plush/beeplushie, -/obj/effect/turf_decal/spline/plain/opaque/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"bu" = ( -/obj/structure/cable{ - icon_state = "1-6" - }, -/turf/open/floor/plasteel, -/area/ship/security) -"bx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/siding/red{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"bz" = ( -/obj/structure/closet/crate/freezer/blood, -/obj/machinery/iv_drip, -/obj/machinery/camera/autoname, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"bD" = ( -/obj/machinery/light_switch{ - pixel_y = 24; - pixel_x = -9 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs{ - icon_state = "stairs-old"; - dir = 8 - }, -/area/ship/bridge) -"bE" = ( -/obj/machinery/atmospherics/components/trinary/mixer/airmix{ - piping_layer = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning/full, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"bK" = ( -/obj/structure/table/wood/reinforced, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"bL" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/borderfloor/corner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"bO" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"bQ" = ( -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"bS" = ( -/obj/structure/table, -/obj/machinery/door/window/brigdoor/security/holding/eastleft{ - name = "Warden Office Window" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel, -/area/ship/security/armory) -"bT" = ( -/obj/structure/bed, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8 - }, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 4 - }, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/patriot, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"bU" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/door/poddoor/shutters{ - name = "Electrical Window Shutter"; - id = "elec_shut_win" - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"cj" = ( -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"ck" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"cm" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4; - pixel_x = -2 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8; - pixel_x = 25 - }, -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"cn" = ( -/obj/structure/sink/kitchen{ - dir = 4; - pixel_x = -13 - }, -/obj/structure/mirror{ - pixel_x = -25 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"co" = ( -/obj/structure/cable{ - icon_state = "6-8" - }, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"cr" = ( -/obj/structure/cable{ - icon_state = "6-8" - }, -/obj/effect/turf_decal/siding/brown{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"cw" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"cx" = ( -/obj/effect/turf_decal/siding/wood/end, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfour) -"cB" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/camera/autoname, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/obj/item/storage/box/lights/tubes, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"cE" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/pod/dark, -/area/ship/crew/cryo) -"cF" = ( -/obj/item/trash/sosjerky, -/obj/item/trash/chips, -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"cH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"cK" = ( -/turf/closed/wall/rust, -/area/ship/crew/hydroponics) -"cO" = ( -/obj/structure/chair/sofa/brown/directional/east, -/obj/item/toy/plush/slimeplushie{ - pixel_x = 6 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm/dormthree) -"cV" = ( -/obj/machinery/flasher{ - pixel_x = 24; - id = "midpoint_flashers" - }, -/obj/effect/turf_decal/siding/red{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"dc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/red/corner{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"dd" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/siding/yellow/corner, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"df" = ( -/obj/effect/turf_decal/siding/wideplating/light{ - dir = 4 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"dn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"dr" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6, -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals9{ - dir = 1 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"dt" = ( -/obj/structure/window/reinforced/spawner, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/item/clothing/gloves/boxing/yellow, -/obj/item/clothing/under/shorts/grey, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"dw" = ( -/obj/structure/closet/lasertag/blue, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"dF" = ( -/obj/machinery/door/poddoor{ - id = "mimir_sec_blasts" - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm/dormthree) -"dG" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/obj/machinery/mineral/stacking_unit_console{ - machinedir = 8; - pixel_y = 26 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"dH" = ( -/obj/structure/railing/modern/end{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - pixel_y = -1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals7{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals7{ - dir = 6 - }, -/obj/effect/turf_decal/steeldecal/steel_decals7{ - dir = 10 - }, -/obj/effect/turf_decal/steeldecal/steel_decals7{ - dir = 9 - }, -/obj/structure/railing{ - layer = 3.1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"dJ" = ( -/obj/structure/bed, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8 - }, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 4 - }, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/rainbow, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"dL" = ( -/obj/structure/railing/modern/end{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central5{ - dir = 8 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"dM" = ( -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"dN" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/item/reagent_containers/glass/bucket/wooden, -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 1 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"dQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/remains/robot, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"dT" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/siding/red{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "4-9" - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"dV" = ( -/turf/closed/wall, -/area/ship/crew/canteen/kitchen) -"dY" = ( -/turf/closed/wall/r_wall, -/area/ship/security/prison) -"dZ" = ( -/obj/machinery/light/directional/south, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"eb" = ( -/obj/structure/cable{ - icon_state = "4-5" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"ee" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/hydroponics) -"eg" = ( -/obj/machinery/conveyor{ - id = "prison_scrap"; - dir = 8 - }, -/obj/machinery/door/window{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"em" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "mimir_mining_shut"; - name = "Mining Bay Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/storage/eva) -"eo" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"eq" = ( -/obj/machinery/door/airlock/glass{ - name = "Kitchen" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"er" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"eu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"ew" = ( -/obj/structure/closet{ - name = "Prisoner Locker"; - desc = "Basic items for prisoners." - }, -/obj/item/clothing/head/helmet/space/plasmaman/prisoner, -/obj/item/clothing/under/plasmaman/prisoner, -/obj/item/clothing/under/plasmaman/prisoner/skirt, -/obj/item/clothing/under/rank/prisoner, -/obj/item/clothing/under/rank/prisoner/skirt, -/obj/item/clothing/shoes/sneakers/orange, -/obj/item/clothing/gloves/color/orange, -/obj/item/taperecorder, -/obj/item/cane, -/obj/item/laser_pointer/purple, -/obj/item/tank/internals/plasmaman/belt, -/obj/item/clothing/under/plasmaman/prisoner/skirt, -/obj/machinery/light/directional/south, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"eC" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"eD" = ( -/obj/effect/turf_decal/floordetail/traction, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"eF" = ( -/obj/structure/table/wood/poker, -/obj/item/storage/fancy/cigarettes/cigpack_cannabis, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm/dormfive) -"eJ" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/camera/autoname, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormthree) -"eN" = ( -/obj/structure/closet/secure_closet/brig, -/obj/effect/turf_decal/siding/red{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"eO" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"eP" = ( -/obj/structure/table/wood/reinforced, -/obj/item/storage/box/cups, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"eR" = ( -/obj/item/pickaxe/rusted, -/obj/structure/rack, -/obj/item/gps/mining, -/obj/item/shovel/spoon, -/obj/item/storage/bag/ore, -/obj/item/mining_scanner, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/siding/brown{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"eS" = ( -/turf/closed/wall/r_wall, -/area/ship/crew/dorm/dormthree) -"eU" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters{ - id = "starboard_eng"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"fd" = ( -/obj/structure/table/wood/reinforced, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_y = 9; - pixel_x = -9 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_y = 9; - pixel_x = -5 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_y = 5; - pixel_x = -5 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_y = 5; - pixel_x = -9 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_y = 2; - pixel_x = -9 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_y = 2; - pixel_x = -5 - }, -/obj/item/storage/fancy/donut_box{ - pixel_x = -5; - pixel_y = -7 - }, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = 6; - pixel_y = 11 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 10 - }, -/obj/machinery/light/directional/east{ - light_color = "#e8eaff" - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm/dormthree) -"fe" = ( -/obj/machinery/grill, -/turf/open/floor/plating/rust, -/area/ship/maintenance/starboard) -"fj" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"fk" = ( -/obj/item/seeds/cannabis, -/obj/item/seeds/cannabis, -/turf/open/floor/plating/rust, -/area/ship/maintenance/starboard) -"fp" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"fq" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/yellow, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"fA" = ( -/obj/effect/turf_decal/siding/wideplating/light{ - dir = 1 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"fC" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "4-9" - }, -/obj/effect/turf_decal/siding/red/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"fJ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"fL" = ( -/obj/machinery/door/airlock/wood{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"fS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"fT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/siding/wideplating/light{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/light{ - dir = 8 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"fV" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"fY" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"fZ" = ( -/obj/structure/cable{ - icon_state = "8-9" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"ga" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - dir = 1; - pixel_y = -23; - pixel_x = -6 - }, -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"ge" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/caution, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"gf" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"gg" = ( -/obj/item/seeds/reishi, -/obj/item/seeds/reishi, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"gt" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"gv" = ( -/obj/item/circuitboard/machine/plantgenes, -/turf/open/floor/plating/rust, -/area/ship/maintenance/starboard) -"gw" = ( -/obj/item/reagent_containers/glass/bucket/wooden, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 1 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"gz" = ( -/obj/structure/cable{ - icon_state = "5-10" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"gA" = ( -/obj/machinery/vending/sustenance, -/obj/effect/turf_decal/spline/plain/opaque/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"gF" = ( -/obj/structure/filingcabinet/security, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"gI" = ( -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters{ - name = "Electrical Window Shutter"; - id = "elec_shut_win" - }, -/obj/structure/window/reinforced/fulltile, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"gJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/railing/corner, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/remains/robot, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/caution, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"gR" = ( -/obj/structure/weightmachine/weightlifter, -/turf/open/floor/noslip, -/area/ship/security/prison) -"gU" = ( -/obj/structure/table, -/obj/item/stack/medical/splint/ghetto{ - pixel_y = -2; - pixel_x = -3 - }, -/obj/item/stack/medical/splint/ghetto{ - pixel_y = -2; - pixel_x = -3 - }, -/obj/item/stack/medical/gauze/improvised{ - pixel_y = -2; - pixel_x = 4 - }, -/obj/item/stack/medical/gauze/improvised{ - pixel_y = -2; - pixel_x = 4 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 22; - pixel_y = -9 - }, -/obj/effect/turf_decal/siding/brown{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"gZ" = ( -/obj/structure/chair/stool/bar, -/turf/open/floor/carpet/royalblack, -/area/ship/crew/dorm/dormfive) -"hd" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"hg" = ( -/obj/machinery/biogenerator, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/hydroponics) -"hi" = ( -/turf/closed/wall/rust, -/area/ship/crew/toilet) -"hj" = ( -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"hk" = ( -/obj/structure/window/reinforced/spawner, -/obj/machinery/flasher{ - pixel_x = 24; - id = "midpoint_flashers" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/siding/red{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"hm" = ( -/obj/structure/table, -/obj/item/paper/pamphlet/violent_video_games, -/obj/effect/turf_decal/spline/plain/opaque/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"hq" = ( -/turf/open/floor/plastic, -/area/ship/crew/dorm/dormthree) -"hs" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 1; - piping_layer = 2 - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"hu" = ( -/obj/structure/table, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/turf/open/floor/pod/dark, -/area/ship/crew/cryo) -"hw" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/machinery/conveyor, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"hx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"hz" = ( -/turf/closed/wall, -/area/ship/storage/eva) -"hB" = ( -/obj/item/storage/bag/money, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm/dormfive) -"hC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/insectguts, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"hG" = ( -/obj/structure/railing, -/obj/item/trash/cheesie, -/obj/item/trash/can/food/peaches/maint, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"hH" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/structure/railing/modern/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"hN" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"hP" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance_hatch/seclock{ - name = "Engineering" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"hS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/siding/red{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-9" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"hW" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"hX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"hZ" = ( -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"id" = ( -/obj/structure/chair/sofa/brown/corner/directional/south, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/spline/plain/opaque/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"ig" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"ii" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"ij" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "midpoint_shut"; - dir = 4 - }, -/obj/machinery/door/airlock/security/glass/seclock{ - name = "Midpoint Airlock"; - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"im" = ( -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner, -/obj/machinery/conveyor/inverted{ - id = "prison_scrap"; - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"io" = ( -/obj/structure/table/wood, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8 - }, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 4 - }, -/obj/item/flashlight/lamp{ - pixel_y = 13 - }, -/obj/item/paper/fluff/mimir/treasure, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"is" = ( -/obj/structure/cable{ - icon_state = "2-10" - }, -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"iu" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/door/poddoor/shutters{ - name = "Starboard Window Shutter"; - id = "starb_shut_win" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"iv" = ( -/turf/open/floor/plating, -/area/ship/crew/canteen) -"iw" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/ship_gravity, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"iy" = ( -/obj/structure/table, -/obj/item/table_bell/brass, -/obj/machinery/door/window, -/turf/open/floor/plating, -/area/ship/crew/canteen/kitchen) -"iz" = ( -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/electrical) -"iF" = ( -/obj/effect/turf_decal/siding/red, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"iI" = ( -/obj/structure/table/wood/poker, -/obj/item/storage/pill_bottle/dice{ - pixel_x = 6 - }, -/obj/item/toy/cards/deck{ - pixel_y = 1; - pixel_x = -6 - }, -/obj/item/dice/d100, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm/dormfive) -"iL" = ( -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"iO" = ( -/obj/structure/table/wood/reinforced, -/obj/machinery/microwave, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm/dormthree) -"iW" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"iX" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"jd" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"jf" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"jg" = ( -/turf/closed/wall/r_wall, -/area/ship/medical) -"jj" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/rack, -/obj/item/flashlight/lantern{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"jp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/window/reinforced/fulltile, -/obj/structure/grille, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"jt" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Starboard Maintenance"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"jw" = ( -/obj/machinery/chem_master/condimaster, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/siding/wideplating/light, -/obj/effect/turf_decal/siding/wideplating/light{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/white, -/area/ship/crew/canteen/kitchen) -"jx" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"jC" = ( -/obj/structure/rack, -/obj/item/gun/ballistic/shotgun/brimstone, -/obj/item/storage/box/lethalshot, -/obj/effect/turf_decal/siding/red{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm/dormtwo) -"jG" = ( -/obj/structure/table/optable, -/obj/item/storage/firstaid/regular, -/obj/item/storage/box/syringes, -/obj/item/storage/box/medipens, -/obj/item/storage/box/bodybags, -/obj/item/storage/box/masks, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"jI" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/yellow/corner{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"jJ" = ( -/obj/machinery/smartfridge, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"jK" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"jM" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 5 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"jQ" = ( -/obj/structure/fermenting_barrel, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 8 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"jR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm/dormthree) -"jS" = ( -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/machinery/conveyor/inverted{ - id = "prison_scrap"; - dir = 6 - }, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/machinery/mineral/processing_unit{ - input_dir = 2; - output_dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"jX" = ( -/turf/closed/wall/r_wall, -/area/ship/engineering/atmospherics) -"jY" = ( -/turf/template_noop, -/area/template_noop) -"ka" = ( -/turf/closed/wall/r_wall, -/area/ship/crew/hydroponics) -"kb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"ke" = ( -/obj/machinery/button/door{ - dir = 4; - pixel_y = 1; - pixel_x = -27; - id = "mimir_sec_blasts"; - name = "blast doors" - }, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"kj" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/security/armory) -"kl" = ( -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"km" = ( -/obj/structure/closet/wall/blue/directional/west{ - name = "Space Suits"; - desc = "Contains supplies for space walking." - }, -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 4 - }, -/obj/item/tank/internals/emergency_oxygen/double{ - pixel_y = 7; - pixel_x = -7 - }, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/suit/space/eva{ - pixel_x = 5 - }, -/obj/item/clothing/head/helmet/space/eva{ - pixel_y = -7; - pixel_x = -7 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"ko" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"kp" = ( -/turf/open/floor/carpet/red, -/area/ship/crew/dorm/dormthree) -"kq" = ( -/obj/effect/turf_decal/siding/wideplating/light/corner{ - dir = 4 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"kv" = ( -/obj/structure/reagent_dispensers/beerkeg, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/canteen) -"ky" = ( -/obj/machinery/door/window{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 4 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"kA" = ( -/obj/machinery/button/door{ - id = "mimir_sec_blasts"; - name = "blast doors"; - dir = 8; - pixel_y = -6; - pixel_x = 27 - }, -/obj/machinery/button/shieldwallgen{ - dir = 8; - pixel_x = 26; - pixel_y = 8; - id = "mimir_blast_holo" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/caution{ - pixel_y = -1 - }, -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"kB" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"kD" = ( -/obj/effect/turf_decal/borderfloor/corner, -/obj/effect/turf_decal/siding/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"kE" = ( -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/item/storage/belt/medical/paramedic{ - pixel_y = 4 - }, -/obj/item/storage/belt/medical/webbing/paramedic{ - pixel_y = 8; - pixel_x = 3 - }, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/structure/table/greyscale, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"kJ" = ( -/obj/structure/bed, -/obj/item/bedsheet/hos, -/obj/effect/turf_decal/siding/red{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm/dormtwo) -"kL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfour) -"kP" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters{ - id = "port_eng"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"kQ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"kR" = ( -/obj/machinery/door/airlock/glass{ - name = "Cryo Prisoner Entrance" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"kY" = ( -/obj/machinery/door/window{ - dir = 4 - }, -/obj/item/kitchen/knife/shiv, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"lc" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"lj" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange/corner, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"lm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-10" - }, -/obj/structure/cable{ - icon_state = "1-5" - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"ln" = ( -/obj/structure/chair/greyscale, -/obj/item/reagent_containers/food/snacks/popcorn, -/obj/structure/railing/modern{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/maintenance/starboard) -"lq" = ( -/turf/closed/wall, -/area/ship/engineering/atmospherics) -"lr" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 10 - }, -/obj/machinery/button/door{ - dir = 4; - pixel_y = 1; - pixel_x = -27; - id = "starb_shut_win"; - name = "window shutters" - }, -/obj/structure/railing/modern/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"ls" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/railing, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"lA" = ( -/obj/structure/closet/emcloset/wall/directional/east, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"lC" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/pod/dark, -/area/ship/crew/cryo) -"lS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/components/binary/pump/layer2{ - name = "Recycled Air to Supply"; - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning/full, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"lW" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"lX" = ( -/obj/structure/table/wood, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8 - }, -/obj/item/flashlight/lamp{ - pixel_y = 13 - }, -/obj/item/storage/book/bible/booze, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"ma" = ( -/turf/closed/wall, -/area/ship/crew/hydroponics) -"mc" = ( -/obj/structure/urinal{ - pixel_y = 30; - pixel_x = 17 - }, -/obj/structure/urinal{ - pixel_y = 30; - pixel_x = -19 - }, -/obj/structure/urinal{ - pixel_y = 30; - pixel_x = -1 - }, -/obj/structure/window/reinforced/spawner, -/turf/open/floor/plastic, -/area/ship/crew/dorm/dormthree) -"mf" = ( -/obj/structure/sink/kitchen{ - dir = 4; - pixel_x = -13 - }, -/obj/structure/mirror{ - pixel_x = -25 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"mj" = ( -/obj/item/storage/backpack/satchel/flat/mimir_jackets, -/obj/structure/chair/comfy/grey/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"mk" = ( -/obj/structure/table, -/obj/item/gavelblock{ - pixel_y = 7; - pixel_x = -7 - }, -/obj/item/gavelhammer, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/plain/opaque/blue, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"mt" = ( -/obj/structure/table, -/obj/item/toy/figure/secofficer, -/turf/open/floor/plasteel, -/area/ship/security) -"mz" = ( -/obj/machinery/hydroponics/constructable{ - pixel_y = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"mD" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"mE" = ( -/obj/machinery/door/airlock/wood{ - name = "Prisoner Dorms"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm) -"mF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"mG" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/caution, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"mI" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"mJ" = ( -/obj/machinery/light/directional/north, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs{ - icon_state = "stairs-old"; - dir = 8 - }, -/area/ship/bridge) -"mO" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"mS" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/structure/cable{ - icon_state = "2-6" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "4-6" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/traffic/corner, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"mU" = ( -/obj/effect/turf_decal/siding/wideplating/light, -/obj/effect/turf_decal/siding/wideplating/light{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/white, -/area/ship/crew/canteen/kitchen) -"mV" = ( -/obj/structure/toilet{ - dir = 8 - }, -/obj/item/reagent_containers/food/snacks/urinalcake, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"nb" = ( -/obj/structure/table/wood, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8 - }, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 4 - }, -/obj/item/flashlight/lamp{ - pixel_y = 13 - }, -/obj/item/book/codex_gigas, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"nh" = ( -/turf/closed/wall/r_wall, -/area/ship/crew/dorm/dormtwo) -"ni" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/plain/opaque/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"nk" = ( -/obj/structure/railing, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"nq" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/electrical) -"nv" = ( -/obj/machinery/suit_storage_unit/security, -/obj/structure/cable{ - icon_state = "4-9" - }, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm/dormtwo) -"nx" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay"; - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"nG" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth, -/obj/item/bedsheet/medical, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"nH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"nJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/hydroponics) -"nK" = ( -/turf/closed/wall/r_wall, -/area/ship/maintenance/fore) -"nL" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/hydroponics) -"nM" = ( -/obj/machinery/computer/arcade/orion_trail{ - dir = 4 - }, -/obj/effect/turf_decal/spline/plain/opaque/blue, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"nO" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/kirbyplants/random, -/obj/structure/railing/modern/end{ - layer = 4.2 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormthree) -"nR" = ( -/obj/structure/table, -/obj/machinery/microwave, -/turf/open/floor/plasteel/mono/white, -/area/ship/crew/canteen/kitchen) -"nS" = ( -/obj/structure/ore_box, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"nU" = ( -/obj/structure/table/wood/poker, -/obj/item/clothing/mask/cigarette/cigar/havana{ - pixel_y = 1; - pixel_x = 3 - }, -/obj/item/clothing/mask/cigarette/cigar/havana{ - pixel_y = 5 - }, -/obj/item/lighter/enigma, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm/dormfive) -"nW" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"oa" = ( -/obj/docking_port{ - name = "Mimir Docking-Port"; - dwidth = 39; - height = 38; - width = 46; - dheight = 34 - }, -/turf/template_noop, -/area/template_noop) -"ob" = ( -/obj/structure/chair/sofa/brown/left/directional/west, -/obj/effect/turf_decal/spline/plain/opaque/blue, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"od" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"oe" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/structure/flora/ausbushes/leafybush, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 6 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"oi" = ( -/obj/structure/girder/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"oj" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/visible, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"os" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/traffic, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"oF" = ( -/obj/structure/holohoop, -/turf/open/floor/noslip, -/area/ship/security/prison) -"oG" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"oI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm/dormtwo) -"oK" = ( -/obj/machinery/computer/camera_advanced{ - dir = 1 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"oM" = ( -/obj/structure/closet{ - name = "Prisoner Locker"; - desc = "Basic items for prisoners." - }, -/obj/item/clothing/head/helmet/space/plasmaman/prisoner, -/obj/item/clothing/under/plasmaman/prisoner, -/obj/item/clothing/under/plasmaman/prisoner/skirt, -/obj/item/clothing/under/rank/prisoner, -/obj/item/clothing/under/rank/prisoner/skirt, -/obj/item/clothing/shoes/sneakers/orange, -/obj/item/clothing/gloves/color/orange, -/obj/item/taperecorder, -/obj/item/cane, -/obj/item/laser_pointer/purple, -/obj/item/tank/internals/plasmaman/belt, -/obj/item/clothing/under/plasmaman/prisoner/skirt, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"oR" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/security) -"oS" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"oU" = ( -/obj/structure/chair/greyscale, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"oX" = ( -/obj/machinery/door/airlock/glass{ - name = "Hydroponics" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/crew/hydroponics) -"oY" = ( -/obj/structure/railing, -/obj/item/trash/boritos, -/obj/item/trash/can, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/robot_debris/limb, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"pc" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "2-9" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/techfloor/orange/corner, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/caution{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"pe" = ( -/obj/machinery/light/directional/east, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/wideplating/light{ - dir = 8 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"ph" = ( -/turf/closed/wall, -/area/ship/medical) -"pk" = ( -/obj/machinery/space_heater, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/electrical) -"pw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning/full, -/obj/machinery/atmospherics/components/binary/pump/on/layer4{ - name = "Waste Exhaust" - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"pA" = ( -/obj/item/radio/intercom/wideband/directional/west, -/obj/effect/turf_decal/steeldecal/steel_decals6{ - dir = 6 - }, -/obj/structure/chair/comfy/shuttle, -/obj/effect/turf_decal/steeldecal/steel_decals9, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"pG" = ( -/obj/structure/bookcase/random/fiction, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/yellow, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"pL" = ( -/turf/closed/wall, -/area/ship/crew/dorm/dormthree) -"pO" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"pP" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/security/glass/seclock{ - name = "Security Lounge" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm/dormthree) -"pT" = ( -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-9" - }, -/obj/machinery/power/smes, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"pV" = ( -/obj/structure/railing, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"pY" = ( -/obj/machinery/vending/snack/random, -/obj/effect/turf_decal/siding/red{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"qb" = ( -/obj/machinery/light/directional/south, -/obj/structure/bookcase/random/nonfiction, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/yellow, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"qc" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance_hatch/seclock{ - name = "Atmospherics" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"qd" = ( -/obj/structure/rack, -/obj/item/hatchet, -/obj/item/hatchet, -/obj/item/shovel/spade, -/obj/item/shovel/spade, -/obj/item/reagent_containers/glass/bucket, -/obj/item/reagent_containers/glass/bucket, -/obj/structure/cable{ - icon_state = "1-9" - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"qe" = ( -/obj/structure/closet/secure_closet/freezer{ - name = "Refrigerator"; - desc = "A refrigerated cabinet for food." - }, -/obj/effect/turf_decal/siding/wideplating/light/end{ - dir = 4 - }, -/obj/item/storage/fancy/egg_box, -/obj/item/storage/fancy/egg_box, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/soymilk, -/obj/item/reagent_containers/food/condiment/soymilk, -/obj/item/reagent_containers/food/condiment/soymilk, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/rice, -/obj/item/reagent_containers/food/snacks/tofu, -/obj/item/reagent_containers/food/snacks/tofu, -/turf/open/floor/plasteel/mono/white, -/area/ship/crew/canteen/kitchen) -"qh" = ( -/obj/machinery/hydroponics/constructable{ - pixel_y = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"qj" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"ql" = ( -/obj/effect/turf_decal/siding/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"qm" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/yellow, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"qn" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/effect/decal/cleanable/oil, -/obj/machinery/door/poddoor/shutters{ - id = "port_eng"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"qr" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/conveyor_switch/oneway{ - id = "retrieval"; - pixel_x = -11 - }, -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"qw" = ( -/obj/machinery/button/flasher{ - dir = 4; - pixel_x = -25; - id = "quickpoint_flashers"; - pixel_y = -1 - }, -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/machinery/button/door{ - name = "Quickpoint Shutters"; - id = "quickpoint_shut"; - dir = 4; - pixel_y = 8; - pixel_x = -27 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/red{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"qy" = ( -/turf/closed/wall, -/area/ship/security/prison) -"qB" = ( -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"qF" = ( -/obj/machinery/computer/helm{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"qH" = ( -/obj/structure/bed, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8 - }, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 4 - }, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/nanotrasen, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"qI" = ( -/obj/structure/dresser, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfour) -"qN" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/conveyor_switch/oneway{ - id = "prison_scrap" - }, -/obj/item/multitool{ - pixel_x = -8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) -"qO" = ( -/obj/structure/chair/sofa/brown/left/directional/east, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm/dormthree) -"qR" = ( -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/red{ - dir = 5 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"qS" = ( -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/railing{ - dir = 9 - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"qW" = ( -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/wood, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"rc" = ( -/obj/structure/closet/secure_closet/security, -/obj/item/storage/belt/security, -/obj/item/holosign_creator/security, -/obj/item/assembly/flash, -/obj/item/reagent_containers/spray/pepper, -/obj/item/clothing/glasses/hud/security/sunglasses, -/obj/item/tank/internals/plasmaman/belt, -/obj/item/clothing/head/helmet/space/plasmaman/security, -/obj/item/clothing/under/plasmaman/security, -/obj/item/clothing/under/plasmaman/security/skirt, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plasteel, -/area/ship/security) -"rn" = ( -/obj/machinery/door/airlock/wood{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/dorm/dormthree) -"rq" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/brown/end{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"ru" = ( -/obj/structure/cable{ - icon_state = "5-9" - }, -/turf/open/floor/plasteel, -/area/ship/security) -"rv" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"rC" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/decal/cleanable/wrapping, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"rG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance_hatch/seclock{ - name = "Port Maintenance"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"rI" = ( -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/greenglow, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"rK" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/o2{ - piping_layer = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning/full, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"rN" = ( -/obj/structure/windoor_assembly{ - dir = 4 - }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/canteen) -"rS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"rT" = ( -/obj/machinery/camera/autoname, -/obj/item/kirbyplants/photosynthetic, -/obj/machinery/light_switch{ - pixel_y = 24; - pixel_x = -9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"rV" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"rW" = ( -/obj/machinery/vending/security, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"sa" = ( -/obj/machinery/door/window{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"sd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormthree) -"sg" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/red{ - dir = 9 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"si" = ( -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/autolathe, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"ss" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -32 - }, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"sx" = ( -/obj/machinery/light_switch{ - pixel_y = 25; - pixel_x = 6 - }, -/turf/open/floor/plating/rust, -/area/ship/crew/canteen) -"sA" = ( -/obj/structure/closet/crate, -/obj/machinery/door/window{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/electrical) -"sH" = ( -/obj/item/grenade/barrier, -/obj/item/grenade/barrier, -/obj/item/grenade/barrier, -/obj/item/grenade/barrier, -/obj/item/grenade/barrier, -/obj/item/restraints/legcuffs/bola/energy, -/obj/item/restraints/legcuffs/bola/energy, -/obj/item/restraints/legcuffs/bola/energy, -/obj/item/restraints/legcuffs/bola/energy, -/obj/item/storage/box/flashbangs, -/obj/item/storage/box/handcuffs, -/obj/item/storage/box/handcuffs, -/obj/item/storage/box/prisoner, -/obj/item/storage/box/seccarts, -/obj/item/storage/box/teargas, -/obj/item/storage/box/zipties, -/obj/structure/closet/secure_closet/empty/warden{ - name = "\proper supply locker" - }, -/obj/item/storage/box/flashes, -/obj/structure/cable{ - icon_state = "4-5" - }, -/obj/structure/cable{ - icon_state = "2-5" - }, -/obj/effect/turf_decal/siding/red{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"sM" = ( -/obj/machinery/airalarm/directional/north, -/turf/open/floor/pod/dark, -/area/ship/crew/cryo) -"sO" = ( -/obj/machinery/computer/camera_advanced{ - dir = 1 - }, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"sQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "6-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"sR" = ( -/obj/structure/table/wood/poker, -/obj/item/flashlight/lamp/bananalamp{ - pixel_y = 7 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm/dormfive) -"sT" = ( -/obj/item/bikehorn/rubberducky, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/rack, -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"sU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm/dormthree) -"td" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/siding/yellow, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"te" = ( -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/traffic, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"tg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/airlock/maintenance_hatch/seclock{ - name = "Atmospherics" - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"tm" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/effect/turf_decal/spline/fancy/wood, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"tn" = ( -/obj/structure/window/reinforced/spawner, -/obj/machinery/shower{ - pixel_y = 12 - }, -/obj/structure/curtain, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"tq" = ( -/obj/item/kirbyplants/fullysynthetic, -/turf/open/floor/pod/dark, -/area/ship/crew/cryo) -"tw" = ( -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"tC" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"tD" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/airlock/command/glass/seclock{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"tE" = ( -/turf/closed/wall/r_wall, -/area/ship/storage/eva) -"tK" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"tM" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/structure/cable{ - icon_state = "6-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/security) -"tO" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/security/armory) -"tP" = ( -/obj/structure/falsewall, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"tQ" = ( -/turf/closed/wall/r_wall, -/area/ship/maintenance/starboard) -"tV" = ( -/obj/item/skub, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"tW" = ( -/obj/machinery/holopad/emergency, -/obj/structure/railing{ - layer = 3.1 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"tY" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/effect/turf_decal/techfloor/orange{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"tZ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/ship/security) -"uh" = ( -/obj/structure/table, -/obj/item/paper_bin/construction, -/obj/item/storage/crayons, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/plain/opaque/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"uk" = ( -/obj/structure/closet/secure_closet/security, -/obj/item/storage/belt/security, -/obj/item/holosign_creator/security, -/obj/item/assembly/flash, -/obj/item/reagent_containers/spray/pepper, -/obj/item/clothing/glasses/hud/security/sunglasses, -/obj/machinery/light/directional/south, -/obj/item/tank/internals/plasmaman/belt, -/obj/item/clothing/head/helmet/space/plasmaman/security, -/obj/item/clothing/under/plasmaman/security, -/obj/item/clothing/under/plasmaman/security/skirt, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plasteel, -/area/ship/security) -"us" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"ut" = ( -/obj/machinery/door/airlock/external, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/door/poddoor/shutters{ - id = "mimir_mining_airlock_shut"; - name = "Mining Airlock Shutters"; - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"uw" = ( -/turf/closed/wall/r_wall, -/area/ship/maintenance/port) -"uz" = ( -/obj/machinery/shower{ - dir = 1 - }, -/obj/item/bikehorn/rubberducky/plasticducky{ - pixel_y = 8 - }, -/obj/structure/curtain, -/turf/open/floor/plasteel/white, -/area/ship/crew/dorm/dormthree) -"uI" = ( -/obj/structure/closet{ - name = "Prisoner Locker"; - desc = "Basic items for prisoners." - }, -/obj/item/clothing/head/helmet/space/plasmaman/prisoner, -/obj/item/clothing/under/plasmaman/prisoner, -/obj/item/clothing/under/plasmaman/prisoner/skirt, -/obj/item/clothing/under/rank/prisoner, -/obj/item/clothing/under/rank/prisoner/skirt, -/obj/item/clothing/shoes/sneakers/orange, -/obj/item/clothing/gloves/color/orange, -/obj/item/taperecorder, -/obj/item/cane, -/obj/item/laser_pointer/purple, -/obj/item/tank/internals/plasmaman/belt, -/obj/item/clothing/under/plasmaman/prisoner/skirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"uK" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/door/poddoor/shutters{ - id = "mimir_mining_shut"; - name = "Mining Bay Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/storage/eva) -"uO" = ( -/obj/structure/closet/firecloset/wall/directional/east, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"uQ" = ( -/obj/machinery/computer/operating, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"uZ" = ( -/obj/effect/turf_decal/floordetail/traction, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"vg" = ( -/obj/machinery/airalarm/directional/north, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"vj" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 32 - }, -/obj/effect/turf_decal/siding/red{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"vl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormthree) -"vm" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"vo" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "mimir_nose_shut" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"vq" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-9" - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm/dormfive) -"vs" = ( -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"vw" = ( -/obj/structure/rack, -/obj/item/gun/energy/disabler, -/obj/item/gun/energy/disabler, -/obj/item/gun/energy/disabler, -/obj/item/gun/energy/disabler, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/red{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"vE" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"vG" = ( -/obj/machinery/hydroponics/constructable, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"vS" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/glass, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"vT" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/machinery/conveyor{ - id = "prison_scrap"; - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"wa" = ( -/obj/structure/sink/kitchen{ - dir = 8; - pixel_x = 14; - pixel_y = 5 - }, -/obj/effect/turf_decal/siding/wideplating/light/corner{ - dir = 1 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"we" = ( -/obj/effect/turf_decal/siding/yellow, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"wj" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"wk" = ( -/obj/structure/closet/emcloset/wall/directional/north, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"wm" = ( -/obj/structure/ore_box, -/obj/effect/turf_decal/siding/brown{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/loading, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"wn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormthree) -"wt" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"wv" = ( -/turf/closed/wall/r_wall, -/area/ship/bridge) -"wx" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/paper/fluff/mimir/recycler, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"wy" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/security/glass/wardenlock{ - name = "Warden's Quarters" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"wD" = ( -/obj/structure/chair/greyscale{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"wE" = ( -/obj/machinery/cryopod, -/turf/open/floor/pod/dark, -/area/ship/crew/cryo) -"wF" = ( -/obj/effect/decal/cleanable/blood, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"wI" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"wP" = ( -/obj/structure/table/wood/reinforced, -/obj/structure/bedsheetbin, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfour) -"wR" = ( -/obj/structure/table/wood, -/obj/structure/bedsheetbin, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/camera/autoname, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"wT" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"wW" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "midpoint_shut"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-6" - }, -/turf/open/floor/plating, -/area/ship/hallway/central) -"wY" = ( -/obj/structure/table, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"xb" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/condiment/sugar{ - pixel_y = 4 - }, -/obj/item/reagent_containers/food/condiment/rice{ - pixel_y = 10; - pixel_x = 3 - }, -/obj/item/reagent_containers/food/condiment/enzyme{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel/mono/white, -/area/ship/crew/canteen/kitchen) -"xc" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfour) -"xg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"xi" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/road/stop{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"xq" = ( -/obj/structure/table, -/obj/machinery/door/window, -/turf/open/floor/plasteel, -/area/ship/crew/hydroponics) -"xs" = ( -/obj/structure/cable{ - icon_state = "2-9" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/siding/brown{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"xv" = ( -/obj/item/kirbyplants/random, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/camera/autoname{ - dir = 9 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 22; - pixel_y = 8 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"xx" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"xI" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"xM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"xP" = ( -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/turf/open/floor/plating/rust, -/area/ship/crew/canteen) -"xR" = ( -/obj/machinery/holopad/emergency, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"xT" = ( -/obj/machinery/computer/cargo/express{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"xX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/structure/railing{ - dir = 10 - }, -/obj/item/bikehorn/rubberducky, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"yc" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"ye" = ( -/obj/structure/closet/crate, -/obj/item/kitchen/knife/plastic, -/obj/item/kitchen/knife/plastic, -/obj/item/kitchen/knife/plastic, -/obj/item/kitchen/knife/plastic, -/obj/item/kitchen/knife/plastic, -/obj/item/kitchen/spoon/plastic, -/obj/item/kitchen/spoon/plastic, -/obj/item/kitchen/spoon/plastic, -/obj/item/kitchen/spoon/plastic, -/obj/item/kitchen/spoon/plastic, -/obj/item/kitchen/fork/plastic, -/obj/item/kitchen/fork/plastic, -/obj/item/kitchen/fork/plastic, -/obj/item/kitchen/fork/plastic, -/obj/item/kitchen/fork/plastic, -/obj/item/storage/box/drinkingglasses, -/obj/item/clothing/suit/apron/chef, -/obj/item/clothing/head/chefhat, -/obj/item/kitchen/rollingpin, -/turf/open/floor/plasteel/mono/white, -/area/ship/crew/canteen/kitchen) -"yi" = ( -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/structure/cable{ - icon_state = "1-10" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/security) -"yj" = ( -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/siding/red{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm/dormtwo) -"ys" = ( -/turf/closed/wall/r_wall, -/area/ship/crew/dorm) -"yu" = ( -/obj/item/clothing/mask/gas/monkeymask, -/obj/item/clothing/suit/monkeysuit, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"yw" = ( -/obj/effect/decal/cleanable/food/tomato_smudge, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/hydroponics) -"yy" = ( -/obj/structure/closet/boxinggloves, -/obj/structure/railing, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"yz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch{ - pixel_y = 25; - pixel_x = 6 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange/corner, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"yC" = ( -/obj/structure/window/reinforced/fulltile, -/obj/structure/grille, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "mimir_mining_airlock_shut"; - name = "Mining Airlock Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/storage/eva) -"yG" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "mimir_nose_shut"; - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"yI" = ( -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"yN" = ( -/obj/structure/chair/sofa/brown/directional/west, -/obj/item/toy/plush/among, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"yP" = ( -/obj/item/soap/nanotrasen{ - pixel_y = 2; - pixel_x = 4 - }, -/obj/machinery/door/window{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/dorm/dormthree) -"yR" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner, -/obj/machinery/door/poddoor/shutters{ - id = "port_eng"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"yU" = ( -/obj/structure/cable{ - icon_state = "2-5" - }, -/turf/open/floor/plating/rust, -/area/ship/crew/canteen) -"yV" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"yY" = ( -/obj/machinery/hydroponics/constructable{ - pixel_y = 16 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"za" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/machinery/power/port_gen/pacman, -/obj/item/stack/sheet/mineral/plasma/twenty, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"zd" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "quickpoint_shut"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ship/hallway/central) -"zf" = ( -/obj/item/clothing/glasses/hud/security/sunglasses, -/obj/structure/closet/secure_closet/brig_phys, -/obj/item/holosign_creator/medical, -/obj/item/tank/internals/plasmaman/belt, -/obj/item/clothing/under/plasmaman/security/secmed, -/obj/item/clothing/under/plasmaman/security/secmed/skirt, -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"zn" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/steeldecal/steel_decals_central7{ - pixel_y = 2; - pixel_x = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals7{ - dir = 9; - pixel_y = 8; - pixel_x = -1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals7{ - dir = 9; - pixel_y = 8; - pixel_x = 6 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central4{ - dir = 4; - pixel_y = 1; - pixel_x = 2 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/crew/dorm/dormthree) -"zq" = ( -/obj/effect/decal/cleanable/food/flour, -/obj/effect/turf_decal/siding/wideplating/light{ - dir = 1 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"zs" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/shaker, -/obj/item/reagent_containers/food/drinks/modglass/large, -/obj/item/reagent_containers/food/drinks/modglass/large, -/obj/item/reagent_containers/food/drinks/modglass/large, -/obj/item/reagent_containers/food/drinks/modglass, -/obj/item/reagent_containers/food/drinks/modglass, -/obj/item/reagent_containers/food/drinks/modglass, -/obj/item/reagent_containers/food/drinks/modglass/small, -/obj/item/reagent_containers/food/drinks/modglass/small, -/obj/item/reagent_containers/food/drinks/modglass/small, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/canteen) -"zt" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"zv" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ - dir = 1 - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"zx" = ( -/turf/closed/wall, -/area/ship/crew/canteen) -"zB" = ( -/obj/structure/chair/stool/bar{ - dir = 8 - }, -/turf/open/floor/carpet/royalblack, -/area/ship/crew/dorm/dormfive) -"zE" = ( -/obj/machinery/door/airlock{ - name = "Restrooms" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/crew/toilet) -"zH" = ( -/obj/structure/statue/sandstone/venus, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"zJ" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/red, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfour) -"zL" = ( -/obj/structure/chair/greyscale, -/obj/item/reagent_containers/food/snacks/sosjerky/healthy, -/obj/structure/railing/modern{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/maintenance/starboard) -"Ad" = ( -/turf/closed/wall, -/area/ship/crew/dorm/dormfive) -"Ae" = ( -/obj/machinery/light/broken/directional/east, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"Af" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/security/armory) -"Ah" = ( -/obj/structure/cable{ - icon_state = "4-10" - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Am" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/security) -"As" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Au" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"AD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"AE" = ( -/obj/structure/closet/crate/trashcart/laundry, -/obj/effect/turf_decal/siding/yellow{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"AG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"AH" = ( -/obj/structure/table, -/obj/item/toy/figure/chef, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/item/reagent_containers/food/condiment/saltshaker{ - pixel_y = 10; - pixel_x = -7 - }, -/obj/item/reagent_containers/food/condiment/peppermill{ - pixel_x = 8; - pixel_y = 9 - }, -/turf/open/floor/plasteel/mono/white, -/area/ship/crew/canteen/kitchen) -"AI" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"AM" = ( -/obj/structure/cable{ - icon_state = "6-9" - }, -/obj/machinery/door/airlock/security/glass/wardenlock{ - name = "Warden's Office" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "8-9" - }, -/obj/structure/cable{ - icon_state = "4-9" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"AP" = ( -/obj/structure/closet/wall/blue/directional/west{ - name = "Space Suits"; - desc = "Contains supplies for space walking." - }, -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 4 - }, -/obj/item/tank/internals/emergency_oxygen/double{ - pixel_y = 7; - pixel_x = -7 - }, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/suit/space/eva{ - pixel_x = 5 - }, -/obj/item/clothing/head/helmet/space/eva{ - pixel_y = -7; - pixel_x = -7 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"AQ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - icon_state = "stairs-old"; - dir = 8 - }, -/area/ship/crew/dorm/dormthree) -"AV" = ( -/turf/closed/wall/r_wall, -/area/ship/hallway/central) -"Ba" = ( -/obj/machinery/vending/hydronutrients, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "2-9" - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"Be" = ( -/obj/machinery/flasher{ - pixel_y = -24; - id = "quickpoint_flashers" - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 6 - }, -/obj/effect/turf_decal/road/stop{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "5-9" - }, -/obj/structure/cable{ - icon_state = "5-8" - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Bi" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/door/airlock/security/glass/seclock{ - name = "Security Office" - }, -/turf/open/floor/plasteel, -/area/ship/security) -"Bq" = ( -/obj/item/melee/baseball_bat, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"Br" = ( -/obj/structure/closet/crate/trashcart, -/obj/item/vending_refill/cigarette, -/obj/item/storage/box/stockparts/basic, -/obj/item/stack/circuit_stack, -/obj/structure/railing, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"Bs" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Bt" = ( -/turf/open/floor/engine/hull, -/area/ship/external) -"BE" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/machinery/light/directional/east, -/obj/structure/cable{ - icon_state = "0-9" - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"BF" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/borderfloor/corner{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"BL" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"BR" = ( -/obj/structure/window/reinforced/spawner, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/disposal/deliveryChute{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/machinery/conveyor{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"BV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/rack, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"BW" = ( -/obj/structure/window/reinforced/spawner, -/obj/structure/toilet{ - dir = 8; - pixel_y = 11; - pixel_x = 5 - }, -/turf/open/floor/plastic, -/area/ship/crew/dorm/dormthree) -"Cb" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-10" - }, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"Cc" = ( -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/turf/open/floor/carpet/royalblack, -/area/ship/crew/dorm/dormfive) -"Cd" = ( -/obj/structure/chair/greyscale{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/security) -"Cf" = ( -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 4; - id = "mimir_blast_holo"; - locked = 1 - }, -/obj/machinery/door/poddoor{ - id = "mimir_sec_blasts" - }, -/obj/docking_port/mobile{ - callTime = 250; - dir = 2; - launch_status = 0; - name = "NT Mimir"; - port_direction = 8; - preferred_direction = 4 - }, -/obj/structure/cable{ - icon_state = "0-6" - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm/dormthree) -"Cg" = ( -/obj/item/banner/security, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"Ch" = ( -/obj/structure/cable{ - icon_state = "6-9" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Cl" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Co" = ( -/obj/structure/table, -/obj/item/storage/fancy/donut_box, -/obj/item/reagent_containers/food/snacks/donut/jelly/plain, -/obj/item/reagent_containers/food/snacks/donut/jelly/matcha, -/obj/item/reagent_containers/food/snacks/donut/jelly/choco, -/obj/item/reagent_containers/food/snacks/donut/jelly/caramel, -/obj/item/reagent_containers/food/snacks/donut/jelly/berry, -/obj/item/reagent_containers/food/snacks/donut/jelly/apple, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"Cp" = ( -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"Cv" = ( -/obj/item/circuitboard/machine/deep_fryer, -/turf/open/floor/plating/rust, -/area/ship/maintenance/starboard) -"Cw" = ( -/obj/structure/bed, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8 - }, -/obj/item/bedsheet/dorms, -/obj/structure/curtain/cloth/grey, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 22; - pixel_y = -9 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Cx" = ( -/obj/structure/closet/wardrobe/pjs, -/obj/effect/turf_decal/siding/yellow{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"CH" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/hydroponics) -"CJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/machinery/mineral/processing_unit_console{ - machinedir = 6; - pixel_y = 26 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"CN" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/disposaloutlet, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/machinery/conveyor, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"CP" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"CQ" = ( -/obj/structure/table, -/obj/item/toy/beach_ball/holoball, -/obj/effect/turf_decal/spline/plain/opaque/blue{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"CR" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder{ - pixel_y = 13; - pixel_x = -6 - }, -/obj/item/reagent_containers/glass/beaker{ - pixel_x = 8; - pixel_y = 7 - }, -/obj/item/reagent_containers/glass/beaker/large{ - pixel_x = 2 - }, -/obj/item/reagent_containers/glass/beaker{ - pixel_y = -1; - pixel_x = -7 - }, -/turf/open/floor/plasteel/mono/white, -/area/ship/crew/canteen/kitchen) -"CT" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/security) -"Dd" = ( -/obj/structure/closet, -/obj/item/clothing/suit/space/hardsuit/carp/old, -/obj/item/clothing/mask/gas/explorer/old, -/obj/item/tank/internals/emergency_oxygen/double, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/turf_decal/siding/brown{ - dir = 1 - }, -/obj/effect/turf_decal/siding/brown, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"Dg" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/turf/open/floor/plating/rust, -/area/ship/crew/canteen) -"Dh" = ( -/obj/structure/table/wood, -/obj/effect/spawner/lootdrop/ration, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Dm" = ( -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/item/storage/toolbox/electrical{ - pixel_y = 7; - pixel_x = 3 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_y = -2; - pixel_x = -6 - }, -/obj/structure/table, -/obj/item/storage/box/stockparts/basic, -/obj/item/holosign_creator/atmos, -/obj/item/storage/box/lights/tubes, -/obj/item/multitool, -/obj/structure/cable/yellow{ - icon_state = "4-10" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/item/clothing/gloves/color/yellow, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"Dq" = ( -/obj/machinery/processor, -/obj/effect/turf_decal/siding/wideplating/light/end{ - dir = 8 - }, -/turf/open/floor/plasteel/mono/white, -/area/ship/crew/canteen/kitchen) -"Dr" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Ds" = ( -/obj/structure/cable{ - icon_state = "6-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Dv" = ( -/obj/effect/turf_decal/number/seven, -/turf/closed/wall/r_wall, -/area/ship/maintenance/starboard) -"Dy" = ( -/obj/structure/table/wood/reinforced, -/obj/effect/turf_decal/siding/red{ - dir = 10 - }, -/obj/item/paper/fluff/mimir/jacket, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm/dormtwo) -"DA" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/closed/wall, -/area/ship/storage/eva) -"DB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"DE" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm/dormthree) -"DF" = ( -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"DH" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"DM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/turf_decal/siding/yellow, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"DO" = ( -/obj/machinery/door/window{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"DQ" = ( -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"DR" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"DY" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Ee" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 5 - }, -/obj/effect/turf_decal/road/stop{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Ef" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"Eh" = ( -/turf/open/floor/plating/rust, -/area/ship/crew/canteen) -"Er" = ( -/mob/living/simple_animal/cow, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"Ew" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Ey" = ( -/obj/structure/rack, -/obj/item/gun/energy/e_gun, -/obj/structure/cable{ - icon_state = "8-9" - }, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"ED" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"EK" = ( -/obj/structure/closet/wardrobe/pjs, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfour) -"EO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormthree) -"EQ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/layer_manifold/visible{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/door/poddoor/shutters{ - id = "mimir_mining_airlock_shut"; - name = "Mining Airlock Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/storage/eva) -"ET" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/closet/secure_closet{ - name = "Anesthetics Closet" - }, -/obj/item/tank/internals/anesthetic, -/obj/item/tank/internals/anesthetic, -/obj/item/clothing/mask/breath/medical, -/obj/item/clothing/mask/breath/medical, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"EU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"EV" = ( -/turf/closed/wall/r_wall, -/area/ship/crew/dorm/dormfour) -"EX" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"EY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Fa" = ( -/obj/item/canvas/twentythreeXtwentythree, -/obj/item/canvas/twentythreeXnineteen, -/obj/item/canvas/nineteenXnineteen, -/obj/item/canvas/nineteenXnineteen, -/obj/item/canvas/twentythreeXnineteen, -/obj/item/canvas/twentythreeXtwentythree, -/obj/structure/closet/crate/trashcart, -/obj/item/paint/anycolor, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/sprayweb, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Fg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wideplating/light, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"Fh" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/button/door{ - dir = 1; - pixel_y = -23; - id = "starboard_eng"; - name = "Engine Shutters"; - pixel_x = -6 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Fl" = ( -/obj/machinery/atmospherics/components/binary/pump/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning/full, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Fn" = ( -/obj/structure/chair/sofa/brown/directional/north, -/obj/machinery/light/directional/south, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm/dormthree) -"Ft" = ( -/obj/machinery/vending/coffee, -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "5-9" - }, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Fy" = ( -/obj/structure/closet, -/obj/item/seeds/wheat, -/obj/item/seeds/wheat, -/obj/item/seeds/wheat/rice, -/obj/item/seeds/wheat/rice, -/obj/item/seeds/tomato, -/obj/item/seeds/tomato, -/obj/item/seeds/tobacco, -/obj/item/seeds/tobacco, -/obj/item/seeds/sugarcane, -/obj/item/seeds/sugarcane, -/obj/item/seeds/soya, -/obj/item/seeds/soya, -/obj/item/seeds/potato, -/obj/item/seeds/potato, -/obj/item/seeds/plump, -/obj/item/seeds/plump, -/obj/item/seeds/grass, -/obj/item/seeds/grass, -/obj/item/seeds/corn, -/obj/item/seeds/corn, -/obj/item/seeds/coffee, -/obj/item/seeds/coffee, -/obj/item/seeds/cocoapod, -/obj/item/seeds/cocoapod, -/obj/item/seeds/chili, -/obj/item/seeds/chili, -/obj/item/seeds/cherry, -/obj/item/seeds/cherry, -/obj/item/seeds/chanter, -/obj/item/seeds/chanter, -/obj/item/seeds/carrot, -/obj/item/seeds/carrot, -/obj/item/seeds/banana, -/obj/item/seeds/banana, -/obj/item/seeds/berry, -/obj/item/seeds/berry, -/obj/item/seeds/apple, -/obj/item/seeds/apple, -/obj/item/seeds/orange, -/obj/item/seeds/orange, -/obj/item/seeds/tower, -/obj/item/seeds/tower, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"Fz" = ( -/obj/item/book/manual/chef_recipes, -/obj/structure/table, -/obj/item/book/granter/crafting_recipe/cooking_sweets_101, -/turf/open/floor/plasteel/mono/white, -/area/ship/crew/canteen/kitchen) -"FB" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"FC" = ( -/obj/structure/railing/modern/corner{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/railing/corner, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"FF" = ( -/turf/closed/wall, -/area/ship/maintenance/starboard) -"FH" = ( -/obj/machinery/door/airlock/mining/glass{ - name = "Mining"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/door/poddoor/shutters{ - id = "mimir_mining_shut"; - name = "Mining Bay Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/storage/eva) -"FI" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"FK" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"FL" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance_hatch/seclock{ - name = "Atmospherics" - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"FT" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormthree) -"FU" = ( -/obj/structure/chair/greyscale{ - dir = 4 - }, -/obj/machinery/camera/autoname, -/obj/effect/turf_decal/siding/red{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"FW" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/security) -"FX" = ( -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm/dormthree) -"Ga" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/obj/effect/turf_decal/siding/red/corner, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm/dormtwo) -"Gd" = ( -/obj/machinery/computer/arcade/battle{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Gj" = ( -/obj/structure/cable{ - icon_state = "1-10" - }, -/obj/structure/falsewall, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"Gk" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Gn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Gq" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/plain/opaque/blue, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Gt" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance_hatch/seclock{ - name = "Port Maintenance" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Gy" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"GA" = ( -/obj/machinery/light/directional/west, -/obj/machinery/door/window/brigdoor/security/holding, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/siding/red{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"GC" = ( -/obj/machinery/hydroponics/constructable, -/obj/structure/cable{ - icon_state = "6-8" - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"GH" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"GJ" = ( -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"GP" = ( -/mob/living/simple_animal/bot/secbot/beepsky, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"GQ" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"GS" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"GV" = ( -/obj/machinery/light/directional/west, -/obj/structure/closet/cardboard, -/obj/effect/turf_decal/siding/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"GX" = ( -/obj/structure/chair/greyscale, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"GY" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/red{ - dir = 6 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"GZ" = ( -/obj/effect/spawner/lootdrop/maintenance/four, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Ha" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"Hh" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/engineering) -"Hl" = ( -/obj/machinery/hydroponics/constructable{ - pixel_y = 16 - }, -/obj/item/storage/backpack/satchel/flat/mimir_refill, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"Hm" = ( -/turf/closed/wall, -/area/ship/crew/dorm) -"Hr" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance_hatch/seclock{ - name = "Port Maintenance"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"Ht" = ( -/obj/structure/rack, -/obj/item/gun/ballistic/shotgun/hellfire, -/obj/item/storage/box/rubbershot, -/obj/item/clothing/suit/armor/riot, -/obj/item/shield/riot, -/obj/item/clothing/head/helmet/riot, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"HD" = ( -/obj/machinery/light/directional/east, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"HF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/borderfloor/corner{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"HH" = ( -/obj/item/storage/box/syndie_kit/cutouts, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"HI" = ( -/obj/item/storage/fancy/cigarettes/cigpack_mindbreaker, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"HM" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"HN" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"HO" = ( -/obj/structure/cable{ - icon_state = "5-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"HP" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"HT" = ( -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"HZ" = ( -/obj/structure/chair/sofa/brown/corner/directional/north, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm/dormthree) -"Ib" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormthree) -"Id" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/siding/yellow, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Ig" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "quickpoint_shut"; - dir = 4 - }, -/obj/machinery/door/airlock/security/glass/seclock{ - name = "Quickpoint Airlock"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "6-10" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Ik" = ( -/obj/item/storage/backpack/satchel/flat/mimir_tech, -/obj/structure/chair/comfy/grey/directional/north, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm/dormfive) -"Is" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/structure/railing{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/shreds, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Iu" = ( -/obj/effect/turf_decal/siding/brown{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"Iw" = ( -/obj/effect/turf_decal/floordetail/traction, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"Iy" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"IF" = ( -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/hydroponics) -"IG" = ( -/obj/structure/flora/ausbushes/leafybush, -/obj/effect/turf_decal/spline/fancy/wood, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"IH" = ( -/turf/closed/wall/rust, -/area/ship/maintenance/starboard) -"IL" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/techfloor/orange{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"IM" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/machinery/button/door{ - dir = 4; - pixel_y = 7; - pixel_x = -23; - id = "mimir_mining_shut"; - name = "Mining Bay Shutters"; - req_one_access = list(1,63) - }, -/obj/machinery/button/door{ - dir = 4; - pixel_y = -5; - pixel_x = -23; - id = "mimir_mining_airlock_shut"; - name = "Mining Airlock Shutters"; - req_one_access = list(1,63) - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"IP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/hatch, -/obj/machinery/door/window/eastleft{ - dir = 2 - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"IX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"IY" = ( -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 8; - id = "mimir_blast_holo"; - locked = 1 - }, -/obj/machinery/door/poddoor{ - id = "mimir_sec_blasts" - }, -/obj/structure/cable{ - icon_state = "0-10" - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm/dormthree) -"Jc" = ( -/obj/structure/chair/sofa/brown/directional/east, -/obj/machinery/light/directional/west, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm/dormthree) -"Jd" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Jf" = ( -/obj/structure/chair/greyscale{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-10" - }, -/turf/open/floor/plasteel, -/area/ship/security) -"Jj" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/siding/red{ - dir = 5 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Jm" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/n2{ - piping_layer = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning/full, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Jn" = ( -/turf/closed/wall, -/area/ship/crew/toilet) -"Jq" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/item/clothing/gloves/boxing/green, -/obj/item/clothing/under/shorts/green, -/turf/open/floor/plating/rust, -/area/ship/crew/canteen) -"Jr" = ( -/obj/structure/closet/lasertag/red, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Jt" = ( -/obj/structure/fermenting_barrel, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 9 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"Jw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Jy" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/siding/brown/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"Jz" = ( -/obj/structure/table/wood/reinforced, -/obj/item/flashlight/lamp/green{ - pixel_y = 12; - pixel_x = -4 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfour) -"JA" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"JD" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormthree) -"JG" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/ash/snappop_phoenix, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"JI" = ( -/obj/machinery/light_switch{ - dir = 1; - pixel_y = -23; - pixel_x = -6 - }, -/turf/open/floor/pod/dark, -/area/ship/crew/cryo) -"JJ" = ( -/obj/structure/chair/greyscale, -/obj/item/reagent_containers/food/snacks/nachos, -/obj/structure/railing/modern{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/maintenance/starboard) -"JN" = ( -/obj/structure/table, -/obj/item/clothing/mask/cigarette/cigar/cohiba{ - pixel_y = 6; - pixel_x = -3 - }, -/obj/item/toy/figure/warden{ - pixel_x = 1 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -5 - }, -/obj/item/lighter{ - pixel_x = 11 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 22; - pixel_y = -9 - }, -/obj/effect/turf_decal/siding/red{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"JV" = ( -/obj/machinery/computer/cryopod/directional/north{ - pixel_y = 25 - }, -/turf/open/floor/pod/dark, -/area/ship/crew/cryo) -"JZ" = ( -/obj/structure/chair/greyscale, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"Kg" = ( -/obj/effect/turf_decal/siding/red{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Kh" = ( -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"Kk" = ( -/obj/machinery/mineral/unloading_machine{ - input_dir = 2; - output_dir = 1 - }, -/obj/machinery/conveyor{ - id = "prison_scrap" - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/structure/plasticflaps/opaque, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Km" = ( -/obj/effect/turf_decal/siding/yellow{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Kr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/hydroponics) -"Kv" = ( -/obj/structure/cable{ - icon_state = "4-9" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"Kw" = ( -/obj/structure/railing, -/obj/item/trash/popcorn, -/obj/item/trash/waffles, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"KA" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/crew/dorm/dormthree) -"KC" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters{ - id = "mimir_nose_shut"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/bridge) -"KF" = ( -/turf/open/floor/noslip, -/area/ship/security/prison) -"KH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/hydroponics) -"KI" = ( -/obj/machinery/mineral/stacking_machine{ - output_dir = 2; - input_dir = 1 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/machinery/conveyor{ - id = "prison_scrap" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"KM" = ( -/obj/structure/closet/crate, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"KP" = ( -/obj/machinery/vending/security, -/obj/effect/turf_decal/siding/red{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"KQ" = ( -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/siding/wideplating/light{ - dir = 8 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"KU" = ( -/obj/structure/cable{ - icon_state = "1-6" - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"KV" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 1; - pixel_x = 27 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 1; - pixel_x = 25 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/closet/firecloset/wall/directional/east, -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 8 - }, -/obj/structure/railing{ - layer = 3.1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"KZ" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth, -/obj/item/bedsheet/medical, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"La" = ( -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"Lb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/railing/modern/corner{ - layer = 4.2 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormthree) -"Ld" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Lf" = ( -/obj/structure/table, -/obj/item/toy/figure/warden, -/obj/effect/turf_decal/spline/plain/opaque/blue{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Lj" = ( -/obj/structure/cable{ - icon_state = "6-9" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/hydroponics) -"Lk" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/security/armory) -"Ll" = ( -/obj/machinery/vending/snack, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Lr" = ( -/obj/structure/table/wood/poker, -/obj/structure/cable{ - icon_state = "6-9" - }, -/obj/item/storage/fancy/cigarettes/cigpack_candy, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm/dormfive) -"Ls" = ( -/obj/structure/bed, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 4 - }, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/dorms, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Lt" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/railing/corner, -/turf/open/floor/plating, -/area/ship/engineering) -"Lu" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"Lv" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/closed/wall, -/area/ship/crew/dorm/dormfive) -"LA" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/engine/hull, -/area/ship/external) -"LB" = ( -/obj/structure/railing, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"LC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormthree) -"LE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"LI" = ( -/obj/structure/table, -/obj/machinery/door/window, -/obj/item/storage/box/cups, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"LJ" = ( -/obj/machinery/conveyor/inverted{ - id = "prison_scrap"; - dir = 5 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"LN" = ( -/obj/effect/turf_decal/number/zero, -/turf/closed/wall/r_wall, -/area/ship/maintenance/starboard) -"LQ" = ( -/obj/structure/closet, -/obj/item/storage/bag/plants/portaseeder, -/obj/item/storage/bag/plants, -/obj/item/storage/bag/plants, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"LX" = ( -/obj/structure/chair/greyscale{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"LZ" = ( -/obj/structure/table, -/obj/item/reagent_containers/hypospray/medipen/survival{ - pixel_y = 10 - }, -/obj/item/reagent_containers/hypospray/medipen/survival{ - pixel_y = 7 - }, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/brown{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"Me" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"Mf" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/hydroponics) -"Mm" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/industrial/traffic, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Mq" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/holopad/emergency, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"Ms" = ( -/obj/structure/table/wood, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 4 - }, -/obj/item/flashlight/lamp{ - pixel_y = 13 - }, -/obj/item/book/manual/srmlore, -/obj/item/disk/holodisk/roumain, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Mv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"Mx" = ( -/obj/structure/fermenting_barrel, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 10 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"MC" = ( -/obj/item/toy/plush/spider, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm/dormthree) -"ME" = ( -/mob/living/simple_animal/chicken, -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"MG" = ( -/obj/machinery/door/airlock/external, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/poddoor/shutters{ - id = "mimir_mining_airlock_shut"; - name = "Mining Airlock Shutters"; - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"MK" = ( -/obj/structure/cable{ - icon_state = "6-8" - }, -/turf/open/floor/carpet/royalblack, -/area/ship/crew/dorm/dormfive) -"ML" = ( -/obj/structure/table, -/obj/item/wrench, -/obj/item/screwdriver, -/obj/machinery/camera/autoname{ - dir = 9 - }, -/obj/effect/turf_decal/siding/red{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"MS" = ( -/obj/structure/chair/greyscale{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"MU" = ( -/obj/structure/table, -/obj/item/instrument/piano_synth, -/obj/effect/turf_decal/spline/plain/opaque/blue, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Nd" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"Nf" = ( -/obj/structure/mirror{ - pixel_x = -25 - }, -/obj/structure/sink/kitchen{ - dir = 4; - pixel_x = -13 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"Nh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/falsewall, -/turf/open/floor/plating, -/area/ship/crew/hydroponics) -"Ni" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Nk" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"Nl" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"No" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Ns" = ( -/obj/item/gun/energy/e_gun/hos, -/obj/item/clothing/gloves/krav_maga/sec, -/obj/item/door_remote/head_of_security, -/obj/item/clothing/mask/gas/sechailer/swat, -/obj/structure/closet/secure_closet/empty/warden, -/obj/item/holosign_creator/security, -/obj/item/assembly/flash, -/obj/item/grenade/flashbang/cluster, -/obj/item/flashlight/seclite, -/obj/item/reagent_containers/spray/pepper, -/obj/item/clothing/glasses/hud/security/sunglasses, -/obj/item/clothing/suit/armor/vest/security/warden/alt/nt, -/obj/item/clothing/under/plasmaman/security/warden, -/obj/item/clothing/under/plasmaman/security/warden/skirt, -/obj/item/clothing/under/rank/security/warden, -/obj/item/clothing/under/rank/security/warden/skirt, -/obj/item/clothing/under/rank/security/warden/nt, -/obj/item/clothing/under/rank/security/warden/nt/skirt, -/obj/item/clothing/head/warden/drill, -/obj/item/clothing/head/warden/red, -/obj/item/clothing/head/warden/cowboy, -/obj/item/clothing/head/warden, -/obj/item/clothing/head/beret/sec/warden, -/obj/item/pda/warden, -/obj/item/storage/belt/security, -/obj/item/megaphone/sec, -/obj/item/tank/internals/plasmaman/belt, -/obj/item/tank/internals/plasmaman/belt, -/obj/item/storage/fancy/cigarettes/cigars/havana, -/obj/effect/turf_decal/siding/red/end{ - dir = 4 - }, -/obj/item/storage/lockbox/medal/sec, -/obj/item/storage/box/seccarts, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm/dormtwo) -"Nv" = ( -/obj/effect/decal/cleanable/food/egg_smudge, -/obj/effect/turf_decal/siding/wideplating/light/corner, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"Ny" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 22; - pixel_y = -10 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"NB" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"NC" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-5" - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"NE" = ( -/obj/structure/toilet/secret/mimir{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"NL" = ( -/obj/structure/window/reinforced/spawner, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"NN" = ( -/turf/open/floor/plasteel, -/area/ship/security/prison) -"NO" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"NQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"NW" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"Oa" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/button/door{ - dir = 1; - name = "Engine Shutters"; - pixel_x = -8; - id = "port_eng"; - pixel_y = -24 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Oc" = ( -/obj/structure/rack, -/obj/item/toy/eightball, -/obj/item/toy/cards/deck/cas, -/obj/item/toy/cards/deck/cas/black, -/obj/item/camera, -/obj/item/camera_film, -/obj/item/decal_painter, -/obj/item/floor_painter, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Og" = ( -/obj/structure/chair/greyscale, -/obj/item/reagent_containers/food/snacks/no_raisin, -/obj/structure/railing/modern{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/maintenance/starboard) -"Oh" = ( -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Oi" = ( -/obj/structure/closet{ - name = "Prisoner Locker"; - desc = "Basic items for prisoners." - }, -/obj/item/clothing/head/helmet/space/plasmaman/prisoner, -/obj/item/clothing/under/plasmaman/prisoner, -/obj/item/clothing/under/plasmaman/prisoner/skirt, -/obj/item/clothing/under/rank/prisoner, -/obj/item/clothing/under/rank/prisoner/skirt, -/obj/item/clothing/shoes/sneakers/orange, -/obj/item/clothing/gloves/color/orange, -/obj/item/taperecorder, -/obj/item/cane, -/obj/item/laser_pointer/purple, -/obj/item/tank/internals/plasmaman/belt, -/obj/item/clothing/under/plasmaman/prisoner/skirt, -/obj/machinery/airalarm/directional/west, -/obj/machinery/light/directional/south, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Oj" = ( -/obj/machinery/advanced_airlock_controller{ - pixel_y = 25 - }, -/obj/machinery/atmospherics/pipe/simple/general/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"Oq" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -13; - pixel_y = 2 - }, -/obj/structure/mirror{ - pixel_x = -25 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plastic, -/area/ship/crew/dorm/dormthree) -"Ov" = ( -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/pod/dark, -/area/ship/crew/cryo) -"Ow" = ( -/turf/closed/wall/r_wall, -/area/ship/crew/canteen/kitchen) -"OA" = ( -/obj/structure/bookcase/random/religion, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/yellow, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"OH" = ( -/obj/structure/sink/kitchen{ - dir = 4; - pixel_x = -13 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/hydroponics) -"OJ" = ( -/obj/machinery/button/flasher{ - dir = 4; - pixel_x = -25; - id = "midpoint_flashers"; - pixel_y = -2 - }, -/obj/structure/cable{ - icon_state = "2-5" - }, -/obj/machinery/button/door{ - name = "Midpoint Shutters"; - id = "midpoint_shut"; - dir = 4; - pixel_y = 9; - pixel_x = -26 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/red{ - dir = 10 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/caution{ - dir = 1 - }, -/obj/item/paper/fluff/mimir/recycler, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"OL" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"OZ" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"Pc" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Pe" = ( -/obj/structure/chair/greyscale{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"Pf" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "quickpoint_shut" - }, -/obj/machinery/door/airlock/security/glass/seclock{ - name = "Cryo Security Entrance" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/crew/cryo) -"Pk" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"PC" = ( -/obj/machinery/vending/cola/random, -/obj/effect/turf_decal/siding/red{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock_note_placer, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"PH" = ( -/obj/structure/table, -/obj/item/gps{ - pixel_x = 7 - }, -/obj/item/gps{ - pixel_x = 7 - }, -/obj/item/gps{ - pixel_x = 7 - }, -/obj/item/gps{ - pixel_x = 7 - }, -/obj/item/gps{ - pixel_x = 7 - }, -/obj/item/flashlight/lantern{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/flashlight/lantern{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/flashlight/lantern{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/flashlight/lantern{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/flashlight/lantern{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/flashlight/lantern{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/flashlight/lantern{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/flashlight/lantern{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/flashlight/lantern{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/gps{ - pixel_x = 7 - }, -/obj/item/gps{ - pixel_x = 7 - }, -/obj/item/gps{ - pixel_x = 7 - }, -/obj/item/gps{ - pixel_x = 7 - }, -/obj/item/gps{ - pixel_x = 7 - }, -/turf/open/floor/pod/dark, -/area/ship/crew/cryo) -"PP" = ( -/obj/structure/chair/greyscale{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"PT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"Qc" = ( -/obj/machinery/vending/wallmed{ - pixel_x = -32 - }, -/obj/structure/sink{ - dir = 4; - pixel_x = -16; - pixel_y = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Qe" = ( -/turf/closed/wall/r_wall, -/area/ship/crew/cryo) -"Qf" = ( -/obj/effect/turf_decal/floordetail/traction, -/obj/structure/railing/corner, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"Qg" = ( -/obj/item/seeds/ambrosia, -/obj/item/seeds/ambrosia, -/turf/open/floor/plating/rust, -/area/ship/maintenance/starboard) -"Qh" = ( -/obj/structure/chair/greyscale{ - dir = 4 - }, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -27; - pixel_y = 10 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"Qi" = ( -/obj/structure/bed, -/obj/item/bedsheet/yellow, -/obj/effect/turf_decal/siding/red{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Qm" = ( -/obj/structure/flora/ausbushes/leafybush, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 1 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"Qx" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 22; - pixel_y = 8 - }, -/obj/effect/turf_decal/siding/wideplating/light/corner{ - dir = 8 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"QE" = ( -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "0-5" - }, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"QO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central3{ - dir = 4; - pixel_x = -15; - pixel_y = -15 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"QP" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/vending/cigarette, -/obj/item/toy/plush/among{ - pixel_y = 15 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormthree) -"QQ" = ( -/obj/structure/table_frame, -/obj/item/stack/tile/carpet/red/fifty, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/canteen) -"QS" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"QT" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Starboard Maintenance"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"QW" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange/corner, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"QX" = ( -/obj/machinery/vending/wardrobe/sec_wardrobe, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plasteel, -/area/ship/security) -"QZ" = ( -/obj/structure/weightmachine/stacklifter, -/turf/open/floor/noslip, -/area/ship/security/prison) -"Ra" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Rb" = ( -/mob/living/simple_animal/chick, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/grass, -/area/ship/crew/hydroponics) -"Rd" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6{ - dir = 6 - }, -/obj/structure/chair/comfy/shuttle, -/obj/effect/turf_decal/steeldecal/steel_decals9, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"Rm" = ( -/obj/structure/closet/firecloset/wall/directional/north, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Rr" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wideplating/light{ - dir = 8 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"Rv" = ( -/obj/structure/table, -/obj/item/areaeditor/shuttle{ - pixel_y = 9; - pixel_x = 2 - }, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"Rz" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"RC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/hydroponics) -"RG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/railing{ - dir = 6 - }, -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"RO" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/door/poddoor/shutters{ - id = "mimir_mining_airlock_shut"; - name = "Mining Airlock Shutters"; - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/storage/eva) -"RQ" = ( -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/brown/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"RV" = ( -/obj/machinery/door/window, -/obj/item/soap/homemade, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"RW" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black/corner, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 8; - pixel_x = 27 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 8; - pixel_x = 25 - }, -/obj/structure/railing/corner, -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"RY" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/effect/turf_decal/siding/red{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Sb" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/poddoor/shutters{ - id = "starboard_eng"; - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Sd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/food/plant_smudge, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/hydroponics) -"Sn" = ( -/obj/machinery/flasher/portable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-5" - }, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"Sp" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "midpoint_shut"; - dir = 4 - }, -/obj/machinery/door/airlock/security/glass/seclock{ - name = "Midpoint Airlock"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Ss" = ( -/obj/structure/closet, -/obj/item/clothing/suit/space/orange, -/obj/item/clothing/head/helmet/space/orange, -/obj/item/clothing/mask/gas/explorer/old, -/obj/item/tank/internals/emergency_oxygen/double, -/obj/effect/turf_decal/siding/brown/end{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"Sz" = ( -/obj/machinery/flasher/portable, -/obj/machinery/light/directional/west, -/obj/structure/cable{ - icon_state = "1-5" - }, -/obj/effect/turf_decal/siding/red{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"SA" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/security/armory) -"SB" = ( -/turf/closed/wall/rust, -/area/ship/crew/canteen) -"SG" = ( -/obj/machinery/light/broken/directional/south, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/canteen) -"SI" = ( -/obj/structure/window/reinforced/spawner{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner{ - dir = 8 - }, -/obj/item/clothing/gloves/boxing/blue, -/obj/item/clothing/under/shorts/blue, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"SR" = ( -/obj/structure/table/wood/reinforced, -/obj/item/toy/cards/deck{ - pixel_x = -5 - }, -/obj/item/reagent_containers/food/drinks/bottle/whiskey{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/item/lighter/greyscale{ - pixel_y = 4; - pixel_x = -9 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm/dormthree) -"ST" = ( -/obj/structure/table/wood/reinforced, -/obj/item/toy/nuke{ - pixel_y = 12 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm/dormthree) -"SX" = ( -/obj/effect/turf_decal/siding/wideplating/light/corner, -/obj/effect/turf_decal/siding/wideplating/light/corner{ - dir = 8 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"Tc" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/caution{ - pixel_y = -1 - }, -/obj/effect/turf_decal/floordetail/traction{ - layer = 1 - }, -/obj/structure/cable{ - icon_state = "2-9" - }, -/obj/structure/cable{ - icon_state = "2-5" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"Td" = ( -/obj/structure/closet/cabinet, -/obj/item/reagent_containers/food/drinks/beer/light, -/obj/item/reagent_containers/food/drinks/beer/light, -/obj/item/reagent_containers/food/drinks/beer/light, -/obj/item/reagent_containers/food/drinks/beer/light, -/obj/item/reagent_containers/food/drinks/beer/light, -/obj/item/reagent_containers/food/drinks/beer, -/obj/item/reagent_containers/food/drinks/beer, -/obj/item/reagent_containers/food/drinks/beer, -/obj/item/reagent_containers/food/drinks/beer, -/obj/item/reagent_containers/food/drinks/beer, -/obj/item/reagent_containers/food/drinks/beer, -/obj/item/reagent_containers/food/drinks/bottle/absinthe/premium, -/obj/item/reagent_containers/food/drinks/bottle/tequila, -/obj/item/reagent_containers/food/drinks/bottle/vodka, -/obj/item/reagent_containers/food/drinks/bottle/whiskey, -/obj/item/reagent_containers/food/drinks/bottle/vermouth, -/obj/item/reagent_containers/food/drinks/bottle/rum, -/obj/item/reagent_containers/food/drinks/bottle/patron, -/obj/item/reagent_containers/food/drinks/bottle/hooch, -/obj/item/reagent_containers/food/drinks/bottle/gin, -/obj/item/reagent_containers/food/drinks/bottle/cognac, -/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/canteen) -"Tf" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"Ti" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Tj" = ( -/obj/machinery/hydroponics/constructable{ - pixel_y = 16 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood, -/area/ship/crew/hydroponics) -"Tl" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Tn" = ( -/turf/closed/wall/r_wall, -/area/ship/engineering/electrical) -"Tq" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"TA" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"TD" = ( -/turf/closed/wall/rust, -/area/ship/crew/dorm/dormfive) -"TG" = ( -/obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes, -/obj/item/lighter/greyscale{ - pixel_x = 6 - }, -/obj/item/storage/fancy/rollingpapers, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"TL" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/siding/wideplating/light{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/light{ - dir = 8 - }, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"TN" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning/full, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"TO" = ( -/obj/machinery/conveyor{ - id = "prison_scrap"; - dir = 1 - }, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"TP" = ( -/obj/machinery/light/directional/east, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"TW" = ( -/obj/structure/mopbucket, -/obj/item/mop, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/yellow, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"TY" = ( -/obj/machinery/light/dim/directional/south, -/obj/item/reagent_containers/food/drinks/beer/light{ - pixel_x = -8; - pixel_y = 7 - }, -/obj/item/reagent_containers/food/drinks/beer/light{ - pixel_x = 2; - pixel_y = 7 - }, -/obj/item/reagent_containers/food/drinks/beer/light{ - pixel_x = 8 - }, -/obj/item/reagent_containers/food/drinks/beer/light{ - pixel_x = -3; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/drinks/beer/light{ - pixel_y = 2; - pixel_x = -12 - }, -/obj/structure/table/wood/poker, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm/dormfive) -"TZ" = ( -/obj/machinery/light/directional/east, -/obj/item/kirbyplants/random, -/obj/structure/cable{ - icon_state = "8-10" - }, -/obj/effect/turf_decal/siding/red{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Uc" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 8 - }, -/obj/machinery/button/door{ - dir = 8; - id = "elec_shut_win"; - name = "window shutters"; - pixel_x = 27 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Ug" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Um" = ( -/obj/structure/table, -/obj/machinery/recharger, -/obj/structure/cable{ - icon_state = "0-9" - }, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"Ut" = ( -/obj/machinery/door/window{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Uw" = ( -/obj/structure/chair/sofa/brown/right/directional/north, -/obj/machinery/light_switch{ - pixel_x = 8; - pixel_y = -22; - dir = 1 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm/dormthree) -"Ux" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Uy" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/siding/red{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm/dormtwo) -"Uz" = ( -/obj/effect/turf_decal/siding/white/corner, -/turf/open/floor/plasteel, -/area/ship/security) -"UA" = ( -/obj/structure/cable{ - icon_state = "8-10" - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/light/dim/directional/north, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange/corner, -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"UH" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/caution{ - pixel_y = -1 - }, -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 4 - }, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"UI" = ( -/obj/machinery/light/directional/west, -/obj/structure/chair/wood{ - dir = 4 - }, -/turf/open/floor/pod/dark, -/area/ship/crew/cryo) -"UJ" = ( -/obj/structure/chair/greyscale, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/landmark/observer_start, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"UL" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"UN" = ( -/obj/structure/table/wood/reinforced, -/obj/item/storage/box/cups{ - pixel_y = 10; - pixel_x = -6 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 10 - }, -/obj/item/reagent_containers/spray/cleaner{ - pixel_y = 9; - pixel_x = 5 - }, -/obj/item/reagent_containers/spray/cleaner{ - pixel_y = 1; - pixel_x = 10 - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm/dormthree) -"UT" = ( -/obj/structure/sink/kitchen{ - dir = 4; - pixel_x = -13 - }, -/obj/structure/mirror{ - pixel_x = -25 - }, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) -"UX" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/rack, -/obj/effect/turf_decal/techfloor/orange{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"Vh" = ( -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 10 - }, -/obj/effect/turf_decal/corner/opaque/yellow{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm/dormthree) -"Vp" = ( -/obj/structure/chair/greyscale{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Vq" = ( -/obj/machinery/computer/crew{ - dir = 1 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"Vr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfour) -"Vw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/falsewall, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"VA" = ( -/obj/structure/bed, -/obj/item/bedsheet/red, -/obj/structure/curtain/cloth/grey, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfour) -"VD" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/siding/brown{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"VG" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"VI" = ( -/obj/item/kirbyplants/random, -/obj/machinery/camera/autoname, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"VK" = ( -/obj/structure/table, -/obj/machinery/door/window, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ship/crew/canteen/kitchen) -"VP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"VU" = ( -/obj/vehicle/ridden/secway, -/obj/item/key/security, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/siding/red/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm/dormtwo) -"VV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_y = 24; - pixel_x = -9 - }, -/obj/effect/turf_decal/siding/red{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm/dormtwo) -"Wb" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/red{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-9" - }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Wf" = ( -/turf/closed/wall/r_wall, -/area/ship/engineering) -"Wg" = ( -/obj/structure/closet/crate/bin, -/obj/effect/turf_decal/siding/yellow, -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Wi" = ( -/obj/structure/statue/sandstone/assistant, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Wj" = ( -/obj/effect/decal/cleanable/food/salt, -/obj/effect/turf_decal/siding/wideplating/light, -/turf/open/floor/plastic, -/area/ship/crew/canteen/kitchen) -"Wl" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/red, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Wo" = ( -/obj/structure/window/reinforced/fulltile, -/obj/structure/grille, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/door/poddoor/shutters{ - id = "mimir_mining_airlock_shut"; - name = "Mining Airlock Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/storage/eva) -"Wp" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-5" - }, -/obj/structure/cable{ - icon_state = "4-6" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/railing/corner, -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Wq" = ( -/obj/machinery/door/airlock/wood, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormthree) -"Wr" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner, -/obj/item/circuitboard/machine/pacman/super, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"Ws" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/traffic, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"Wu" = ( -/obj/structure/chair/greyscale, -/obj/item/reagent_containers/food/snacks/cornchips, -/obj/structure/railing/modern{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/maintenance/starboard) -"Wv" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"Ww" = ( -/obj/structure/cable{ - icon_state = "4-9" - }, -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/hallway/central) -"Wx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"Wz" = ( -/obj/item/radio/intercom/directional/west, -/obj/machinery/button/door{ - dir = 4; - name = "Shutters"; - pixel_x = -25; - pixel_y = -9; - req_access = null; - req_access_txt = "56"; - id = "mimir_nose_shut" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"WB" = ( -/obj/item/pickaxe/rusted, -/obj/structure/rack, -/obj/item/gps/mining, -/obj/item/shovel/spoon, -/obj/item/storage/bag/ore, -/obj/item/mining_scanner, -/obj/effect/turf_decal/siding/brown{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"WF" = ( -/turf/closed/wall/r_wall, -/area/ship/engineering/engine) -"WH" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ship/security/armory) -"WJ" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"WP" = ( -/obj/structure/cable{ - icon_state = "8-10" - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"WU" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/light/dim/directional/east, -/obj/structure/rack, -/obj/item/flashlight/flare, -/obj/effect/turf_decal/techfloor/orange{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"Xd" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormfour) -"Xg" = ( -/obj/machinery/door/window{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Xh" = ( -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/crew/dorm/dormthree) -"Xo" = ( -/obj/structure/table_frame, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/canteen) -"Xw" = ( -/turf/open/floor/plasteel/grimy, -/area/ship/crew/canteen) -"Xz" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - piping_layer = 2 - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"XF" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/obj/effect/turf_decal/techfloor/orange/corner, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) -"XJ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security) -"XQ" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel, -/area/ship/security) -"XT" = ( -/obj/effect/decal/cleanable/vomit/old, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"XU" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"XY" = ( -/obj/structure/table/wood, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/turf_decal/spline/plain/opaque/blue, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Ya" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Yb" = ( -/obj/structure/cable{ - icon_state = "2-5" - }, -/obj/effect/turf_decal/siding/brown{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"Yd" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-10" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"Yl" = ( -/obj/machinery/light/broken/directional/north, -/turf/open/floor/plasteel/grimy, -/area/ship/crew/canteen) -"Ym" = ( -/mob/living/simple_animal/crab/Coffee, -/turf/open/floor/noslip, -/area/ship/security/prison) -"Yn" = ( -/obj/structure/table, -/obj/item/reagent_containers/pill/salbutamol{ - pixel_y = 12; - pixel_x = 10 - }, -/obj/item/reagent_containers/pill/salbutamol{ - pixel_y = 9; - pixel_x = 10 - }, -/obj/item/storage/pill_bottle/charcoal/less, -/obj/item/reagent_containers/pill/mannitol{ - pixel_y = 6; - pixel_x = -7 - }, -/obj/item/reagent_containers/pill/mannitol{ - pixel_y = 11; - pixel_x = -7 - }, -/obj/effect/turf_decal/siding/brown{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"Yo" = ( -/obj/machinery/washing_machine, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Ys" = ( -/turf/open/floor/carpet/royalblack, -/area/ship/crew/dorm/dormfive) -"Yt" = ( -/obj/structure/table/wood, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8 - }, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 4 - }, -/obj/item/flashlight/lamp{ - pixel_y = 13 - }, -/obj/item/storage/book/bible/koran, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Yu" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/electrical) -"YB" = ( -/obj/effect/turf_decal/industrial/hatch, -/obj/machinery/door/window, -/turf/open/floor/plating, -/area/ship/engineering/electrical) -"YD" = ( -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"YE" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/closed/wall, -/area/ship/engineering/atmospherics) -"YG" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/window/reinforced/spawner, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"YI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/yellow, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"YK" = ( -/turf/closed/wall/r_wall, -/area/ship/security/armory) -"YM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_y = -23; - pixel_x = -6 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"YN" = ( -/turf/open/floor/plating/rust, -/area/ship/maintenance/starboard) -"YR" = ( -/obj/item/stack/sheet/mineral/coal/ten, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"YT" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"YW" = ( -/obj/effect/decal/cleanable/blood/gibs/old, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"Za" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"Zb" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_y = 24; - pixel_x = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/sepia, -/area/ship/crew/hydroponics) -"Zg" = ( -/obj/structure/chair/greyscale, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Zh" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Zi" = ( -/obj/structure/window/reinforced/spawner, -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/item/clothing/gloves/boxing, -/obj/item/clothing/under/shorts/red, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"Zk" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/brown{ - dir = 5 - }, -/obj/item/stack/medical/bruise_pack/herb, -/obj/item/stack/medical/bruise_pack/herb, -/obj/item/stack/medical/ointment/herb, -/obj/item/stack/medical/ointment/herb, -/obj/structure/cable{ - icon_state = "4-10" - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/eva) -"Zm" = ( -/obj/effect/turf_decal/borderfloor, -/turf/open/floor/plasteel, -/area/ship/security/prison) -"Zw" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/item/trash/syndi_cakes, -/obj/item/trash/energybar, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"ZD" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/kirbyplants/random, -/obj/structure/railing/modern{ - layer = 4.2 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm/dormthree) -"ZF" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/pod/dark, -/area/ship/crew/cryo) -"ZP" = ( -/obj/machinery/light/dim/directional/west, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"ZQ" = ( -/obj/structure/grille, -/obj/machinery/door/poddoor/shutters{ - name = "Starboard Window Shutter"; - id = "starb_shut_win" - }, -/obj/structure/window/reinforced/fulltile, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"ZS" = ( -/obj/item/stack/tile/light{ - amount = 50 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"ZZ" = ( -/obj/structure/table, -/obj/item/instrument/harmonica, -/obj/effect/turf_decal/spline/plain/opaque/blue{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/security/prison) - -(1,1,1) = {" -jY -jY -jY -jY -WF -OL -OL -OL -WF -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -Wf -wT -wT -wT -Wf -jY -jY -jY -jY -"} -(2,1,1) = {" -jY -jY -jY -jY -WF -kP -qn -yR -WF -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -Wf -eU -Sb -be -Wf -jY -jY -jY -jY -"} -(3,1,1) = {" -jY -jY -jY -jY -WF -hW -Wp -Oa -WF -WF -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -Wf -Wf -Dr -Lt -Fh -Wf -jY -jY -jY -jY -"} -(4,1,1) = {" -jY -jY -jY -WF -WF -UA -DQ -fZ -Wv -WF -jY -jY -jY -Bt -Bt -Bt -LA -ys -ys -ys -ys -ys -ys -jY -jY -jY -jY -jY -Wf -jj -NB -fV -pO -Wf -Wf -jY -jY -jY -"} -(5,1,1) = {" -jY -jY -jY -WF -dG -DF -LJ -KI -im -WF -jY -jY -jY -tE -Wo -ut -yC -ys -Ms -Ls -yc -Oi -ys -ka -ka -ka -ka -jY -Wf -WU -hC -hN -lj -EX -Wf -jY -jY -jY -"} -(6,1,1) = {" -jY -jY -jY -WF -CJ -rI -eg -qN -BR -WF -tE -tE -tE -tE -Oj -qj -nS -ys -io -qH -tK -oM -Hm -Jt -jQ -Mx -ka -tQ -Wf -Wf -Wf -Wf -JA -Ti -Wf -jY -jY -jY -"} -(7,1,1) = {" -jY -jY -jY -WF -yz -tY -jS -TO -vT -Kk -wm -Jy -KM -tE -EQ -MG -RO -ys -Yt -bT -rV -uI -Hm -gw -ME -IG -cK -YD -fk -YN -gv -Wf -JA -Hh -Wf -jY -jY -jY -"} -(8,1,1) = {" -jY -jY -uw -WF -rG -WF -WF -WF -WF -WF -WB -cr -ck -vm -Mv -Lu -rq -Hm -nb -dJ -VG -oM -Hm -dN -Er -qW -ma -YN -YN -YN -YN -Wf -jt -Wf -Wf -tQ -jY -jY -"} -(9,1,1) = {" -jY -jY -uw -ls -hx -zx -Td -zs -kv -zx -eR -Yb -xs -VD -RQ -ED -Dd -Hm -lX -Cw -VG -ew -Hm -Qm -Rb -tm -ma -gg -mI -Qg -IH -FF -WJ -rC -lr -iu -jY -jY -"} -(10,1,1) = {" -jY -jY -uw -RG -dQ -zx -Yl -Xw -SG -zx -Zk -LZ -Yn -gU -Iu -Kv -Ss -Hm -Hm -Hm -mE -Hm -Hm -jM -ky -oe -ma -ma -ma -ma -IH -oi -FI -iW -ln -iu -jY -jY -"} -(11,1,1) = {" -jY -jY -uw -cj -PT -zx -rN -Xo -QQ -zx -DA -hz -hz -hz -uK -FH -em -qy -Cx -GV -jd -Km -xq -yw -Kr -KH -ee -OH -LQ -ma -Vw -tP -FF -GS -Wu -iu -jY -jY -"} -(12,1,1) = {" -jY -jY -uw -Za -am -zx -sx -yU -XT -UL -ZP -iv -Eh -qy -AE -jd -kD -IM -jI -Au -bL -we -aE -nJ -Tj -mz -GC -nJ -Fy -ma -YR -IH -FF -eo -zL -iu -jY -jY -"} -(13,1,1) = {" -jY -jY -uw -QW -UX -zx -Cb -SI -xP -iL -iL -dt -Eh -qy -Yo -Ew -YG -QZ -KF -gR -ko -we -hg -nJ -yY -ma -mD -Lj -jK -ma -ig -Cv -FF -eo -Og -iu -jY -jY -"} -(14,1,1) = {" -jY -jY -uw -kb -zx -zx -iv -GJ -Eh -Bq -YW -NL -iv -qy -wR -nW -Zm -oF -Ym -KF -kQ -Wg -ma -Zb -Hl -qh -vG -IF -qd -ma -ig -fe -FF -eo -JJ -iu -jY -jY -"} -(15,1,1) = {" -jY -jY -uw -xI -zx -yy -iv -GJ -wF -iv -Eh -NL -iv -qy -TG -zt -YG -QZ -KF -gR -BL -Id -oX -Mf -CH -nL -RC -Sd -Ba -Nh -AD -YN -FF -eo -hH -ZQ -jY -jY -"} -(16,1,1) = {" -jY -uw -uw -Hr -zx -Br -iv -Jq -kY -Dg -Nd -Zi -iv -qy -Oc -HN -HF -dn -mO -FK -BF -qm -dV -FB -wY -wY -wY -jJ -FB -Ad -Lv -TD -Ad -vS -Cp -tQ -tQ -jY -"} -(17,1,1) = {" -uw -uw -pV -NW -SB -LB -iv -iv -iv -iv -Ae -iv -iv -qy -Jr -Ya -NN -oU -CQ -af -PP -YI -LI -Nv -df -df -df -kq -Dq -Ad -MK -Cc -Ad -IL -ah -GQ -tQ -tQ -"} -(18,1,1) = {" -uw -Fa -Kw -Wx -Jn -hi -hi -Jn -Jn -Jn -Jn -qy -qy -qy -dw -DR -xR -UJ -hm -MU -PP -td -VK -Fg -AH -xb -nR -zq -mU -Ad -gZ -Lr -Ad -Ad -AG -gf -aX -tQ -"} -(19,1,1) = {" -uw -lW -oY -nH -Jn -Nf -mf -UT -cn -UT -Jn -gA -Gd -nM -aQ -Nl -xM -Zg -uh -mk -Vp -DM -iy -SX -TL -fT -al -ak -jw -TD -gZ -nU -vq -Ad -Ad -Me -sT -LN -"} -(20,1,1) = {" -uw -Tl -Is -nH -Jn -DH -Nk -TP -Ny -Tq -zE -ni -QS -Gq -vE -HP -DY -GX -ZZ -Lf -MS -fq -dV -Wj -ye -Fz -CR -fA -mU -Ad -gZ -iI -Ik -TY -Ad -QT -FF -Dv -"} -(21,1,1) = {" -uw -ax -xg -VP -Jn -Jn -fL -Jn -Jn -fL -Jn -bo -Dh -XY -LE -dd -xv -xi -xi -uO -aV -HD -eq -Qx -pe -Rr -KQ -wa -qe -Ad -gZ -eF -hB -Ad -Ad -cw -HM -LN -"} -(22,1,1) = {" -uw -fY -xX -xI -hi -aS -OZ -Jn -RV -OZ -Jn -id -yN -ob -LE -TW -dY -wW -ij -AV -AV -AV -Ow -Ow -Ow -Ow -Ow -Ow -Ow -Ad -gZ -sR -Ad -Ad -XF -JG -Zw -LN -"} -(23,1,1) = {" -uw -hZ -hG -xI -Jn -tn -NE -Jn -tn -mV -Qe -Qe -Qe -Qe -Gk -OA -dY -FU -hS -GA -Kg -Qi -jX -Zh -Xz -Fl -wx -TN -hs -Ad -Ys -zB -TD -cF -fJ -qS -ii -tQ -"} -(24,1,1) = {" -uw -uw -nk -xI -Jn -Tn -Tn -Tn -Tn -Tn -Qe -tq -UI -Qe -bf -qb -dY -RY -bx -hk -cV -eN -jX -EY -AI -YT -Rz -YT -NQ -Ad -Ad -Ad -Ad -us -HT -NO -tQ -tQ -"} -(25,1,1) = {" -jY -uw -uw -sQ -gt -Tn -CN -hw -hw -sA -Qe -sM -JI -Qe -Ds -pG -dY -wW -Sp -AV -AV -AV -jX -EU -Jm -iX -rK -cH -pw -lS -Ra -tg -ge -kB -tw -tQ -tQ -jY -"} -(26,1,1) = {" -jY -jY -uw -jf -pc -Gt -mS -Yu -qr -od -Qe -wE -lC -kR -Ee -Be -dY -aF -dT -OJ -qc -Gn -Gn -DB -bO -As -XU -bE -GH -oj -fS -FL -gJ -lm -BV -jp -zv -jY -"} -(27,1,1) = {" -jY -jY -uw -uw -iw -Tn -Mm -pT -QE -Ux -Qe -wE -Ov -Qe -Ig -zd -AV -cB -Oh -dZ -bb -bb -bb -bb -bb -bb -bb -bb -lq -lq -lq -YE -Gj -Pk -tQ -tQ -jY -jY -"} -(28,1,1) = {" -jY -jY -jY -uw -uw -Tn -te -Dm -IP -yV -Qe -wE -ZF -Pf -sg -Wb -qw -dc -kl -iF -CT -ss -LX -Qh -rv -NC -zf -bb -yI -yI -yI -CP -tQ -tQ -tQ -jY -jY -jY -"} -(29,1,1) = {" -jY -jY -jY -jY -jY -gI -Ws -si -YB -jx -Qe -JV -cE -Qe -fp -tC -KU -Ww -Bs -TA -FW -JZ -mt -XQ -Jf -eC -uk -bb -sa -qB -qB -Ut -nK -jY -jY -jY -jY -jY -"} -(30,1,1) = {" -jY -jY -jY -jY -jY -bU -os -za -Wr -ga -Qe -hu -PH -Qe -Jj -pY -PC -fC -IX -eP -FW -JZ -Co -tM -Cd -rS -rc -bb -yI -yI -Wi -CP -nK -jY -jY -jY -jY -jY -"} -(31,1,1) = {" -jY -jY -jY -jY -jY -bU -Ni -xx -xx -hj -Qe -Qe -Qe -Qe -AV -AV -AV -wk -er -iF -FW -Ha -wD -Pe -ru -eO -QX -bb -yI -yI -zH -CP -nK -jY -jY -jY -jY -jY -"} -(32,1,1) = {" -jY -jY -jY -jY -jY -bU -nq -iz -pk -Uc -wI -oG -wI -wI -wI -wj -hP -mG -Pc -Wl -Bi -XJ -tZ -yi -bu -Uz -rW -bb -yI -yI -Wi -CP -nK -jY -jY -jY -jY -jY -"} -(33,1,1) = {" -jY -jY -jY -jY -jY -EV -EV -EV -EV -EV -eS -eS -eS -eS -eS -eS -eS -Rm -Ch -Ll -Am -Cg -oR -oS -BE -Um -bb -bb -DO -Cl -Cl -Xg -nK -jY -jY -jY -jY -jY -"} -(34,1,1) = {" -jY -jY -jY -jY -jY -EV -VA -xc -EK -wP -pL -QP -qO -Jc -cO -HZ -pL -lc -er -Ft -YK -Af -bS -WH -YK -YK -YK -tV -yI -yI -yI -HO -nK -jY -jY -jY -jY -jY -"} -(35,1,1) = {" -jY -jY -jY -jY -jY -EV -Jz -Vr -kL -cx -Wq -JD -jR -ST -SR -Fn -pL -VI -is -bK -SA -KP -ql -sH -Sz -YK -nh -nh -nh -ZS -Ah -HH -nK -jY -jY -jY -jY -jY -"} -(36,1,1) = {" -jY -jY -jY -jY -jY -EV -VA -Xd -zJ -qI -pL -eJ -sU -kp -MC -Uw -pL -dM -Jd -co -tO -vs -gz -Yd -fj -wy -yj -jC -nh -GZ -Gy -nK -nK -jY -jY -jY -jY -jY -"} -(37,1,1) = {" -jY -jY -jY -jY -jY -eS -eS -pL -pL -pL -pL -FT -EO -Lb -sd -wn -pP -hd -Ug -mF -AM -Kh -GP -Mq -Sn -YK -VV -nv -nh -nh -HI -nK -jY -jY -jY -jY -jY -jY -"} -(38,1,1) = {" -jY -jY -jY -jY -jY -ke -Cf -UH -AP -AP -km -bk -LC -ZD -FX -DE -KA -Ld -Iy -iF -Lk -Ey -Ef -WP -gF -YK -oI -VU -Dy -nh -yu -nK -jY -jY -jY -jY -jY -jY -"} -(39,1,1) = {" -jY -jY -jY -jY -oa -Bt -dF -Tc -Iw -eD -uZ -Qf -vl -ZD -Vh -UN -KA -Jw -bj -eb -Lk -Ht -La -mj -sO -YK -Ga -Uy -kJ -nh -nK -nK -jY -jY -jY -jY -jY -jY -"} -(40,1,1) = {" -jY -jY -jY -jY -jY -Bt -IY -kA -Xh -RW -cm -KV -Ib -nO -fd -iO -aG -qR -TZ -GY -kj -vw -vj -JN -ML -YK -Ns -nh -nh -nh -nK -jY -jY -jY -jY -jY -jY -jY -"} -(41,1,1) = {" -jY -jY -jY -jY -jY -jY -eS -eS -lA -Tf -AQ -pL -rn -pL -ph -ph -ph -nx -ph -tD -wv -wv -YK -YK -YK -YK -nh -nh -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -"} -(42,1,1) = {" -jY -jY -jY -jY -jY -jY -jY -eS -eS -eS -zn -pL -hq -Oq -ph -uQ -Qc -YM -ph -bD -dH -Wz -No -pA -Vq -vo -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -"} -(43,1,1) = {" -jY -jY -jY -jY -jY -jY -jY -jY -jY -eS -eS -pL -mc -yP -ph -jG -eu -ET -ph -mJ -dL -QO -wt -Rd -oK -vo -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -"} -(44,1,1) = {" -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -eS -eS -BW -uz -ph -kE -hX -KZ -ph -vg -FC -dr -dr -Rv -vo -yG -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -"} -(45,1,1) = {" -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -eS -eS -eS -jg -bz -bQ -nG -ph -rT -tW -qF -xT -vo -KC -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -"} -(46,1,1) = {" -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jg -jg -jg -jg -jg -KC -KC -KC -KC -KC -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -jY -"} diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index a106a307bb1..c14594f0946 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -2,19 +2,30 @@ "ab" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ + layer = 4.2; pixel_x = 5; - pixel_y = 11; - layer = 4.2 - }, -/obj/structure/railing{ - dir = 4 + pixel_y = 11 }, /obj/item/toy/plush/moth/redish{ + pixel_x = -4 + }, +/obj/item/folder/red{ + layer = 3.01; pixel_x = -4; - layer = 4.3 + pixel_y = -8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 11 }, /turf/open/floor/wood, -/area/ship/security) +/area/ship/crew/specialized/security) "ad" = ( /obj/structure/cable{ icon_state = "4-8" @@ -29,8 +40,12 @@ pixel_x = 8; pixel_y = 22 }, -/turf/open/floor/plating, -/area/ship/maintenance/port) +/obj/effect/decal/cleanable/plasma, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) "am" = ( /obj/structure/urinal{ pixel_y = 29 @@ -39,7 +54,7 @@ /obj/structure/cable{ icon_state = "0-4" }, -/turf/open/floor/plastic, +/turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) "an" = ( /obj/structure/railing/corner, @@ -47,43 +62,36 @@ icon_state = "5-8" }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "az" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/light/floor, -/turf/open/floor/plasteel/white, -/area/ship/hallway/central) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/stairs{ + color = "#a8b2b6"; + dir = 1 + }, +/area/ship/bridge) "aD" = ( /obj/machinery/light/dim/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/corner/opaque/ntblue/three_quarters{ +/obj/effect/turf_decal/corner/opaque/vired/three_quarters{ dir = 4 }, -/turf/open/floor/plasteel/white, +/obj/structure/closet/crate/bin, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "aG" = ( -/obj/structure/railing{ - dir = 4 - }, /obj/structure/table/reinforced, -/obj/item/storage/box/stockparts/basic, -/obj/machinery/light/dim/directional/south, +/obj/machinery/computer/helm/viewscreen/directional/south, /obj/effect/turf_decal/techfloor{ dir = 4 }, -/obj/machinery/cell_charger, /turf/open/floor/plasteel/mono/dark, /area/ship/engineering) "aI" = ( -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "Ranger_FireFighting_Shut" - }, /obj/structure/cable{ icon_state = "4-8" }, @@ -99,28 +107,50 @@ /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/brown/mono, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/red{ + dir = 8 + }, +/obj/effect/turf_decal/siding{ + color = "#730622"; + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_FireFighting_Shut"; + name = "Ready Room" + }, +/turf/open/floor/pod/light, +/area/ship/storage/equip) "aK" = ( -/obj/machinery/light/dim/directional/north, -/obj/item/radio/intercom/directional/east, -/obj/structure/reagent_dispensers/foamtank, +/obj/structure/sign/poster/official/ion_carbine{ + pixel_x = 32 + }, +/obj/structure/window/reinforced/spawner, +/obj/structure/crate_shelf, +/obj/effect/turf_decal/industrial/fire{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, /turf/open/floor/plasteel/tech, -/area/ship/storage) +/area/ship/storage/equip) "aO" = ( -/obj/structure/closet/secure_closet/lp/medical, -/obj/item/storage/box/gloves, -/obj/item/storage/box/masks, -/obj/item/storage/belt/medical, -/obj/item/flashlight/seclite, -/obj/item/roller, -/obj/item/holosign_creator/medical, -/obj/item/pinpointer/crew, -/obj/item/storage/box/bodybags, -/obj/item/storage/firstaid/regular, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/open/floor/wood, -/area/ship/medical) +/area/ship/crew/specialized/medical) "aP" = ( /turf/open/floor/plating, /area/ship/engineering) @@ -129,8 +159,12 @@ dir = 1 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt/corner{ + dir = 4 + }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "bf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -141,7 +175,7 @@ /obj/effect/turf_decal/trimline/opaque/blue/filled/corner{ dir = 1 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "bn" = ( /obj/machinery/light/dim/directional/south, @@ -150,10 +184,10 @@ pixel_x = -21; pixel_y = 7 }, -/obj/effect/turf_decal/corner/opaque/ntblue/three_quarters{ +/obj/effect/turf_decal/corner/opaque/vired/three_quarters{ dir = 1 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "br" = ( /obj/machinery/atmospherics/components/unary/shuttle/heater{ @@ -164,78 +198,108 @@ }, /obj/machinery/door/poddoor/shutters{ dir = 4; - id = "Ranger_SB_maint_shut" + id = "Ranger_SB_maint_shut"; + name = "Engine Shutters" }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "bu" = ( -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "bw" = ( /obj/structure/closet/secure_closet/lp/security, -/obj/item/clothing/glasses/sunglasses/gar, /obj/item/melee/classic_baton/telescopic, /obj/item/flashlight/seclite, -/obj/item/kitchen/knife/combat/survival, +/obj/item/melee/knife/survival, /obj/item/holosign_creator/security, /obj/item/storage/box/handcuffs, /obj/item/restraints/legcuffs/bola/energy, /obj/item/holosign_creator/security, -/obj/item/clothing/suit/armor/vest/security, -/obj/item/clothing/mask/gas/sechailer, /obj/item/gps, -/obj/structure/railing{ - dir = 4 - }, -/obj/item/ammo_box/c9mm, -/obj/item/ammo_box/c9mm, /obj/item/ammo_box/magazine/co9mm, /obj/item/storage/belt/security/webbing, -/obj/item/storage/pistolcase/commander, -/turf/open/floor/wood, -/area/ship/security) -"bD" = ( -/obj/structure/chair/wood{ - dir = 8 +/obj/item/clothing/glasses/hud/security/sunglasses, +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/effect/turf_decal/techfloor, +/obj/item/reagent_containers/spray/pepper, +/obj/item/restraints/legcuffs/bola/energy, +/obj/item/restraints/legcuffs/bola/energy, +/obj/item/restraints/legcuffs/bola/energy, +/obj/machinery/light/small/directional/north, +/obj/item/storage/box/evidence, +/obj/item/storage/guncase/pistol/commander, +/turf/open/floor/plasteel/tech, +/area/ship/crew/specialized/security) +"bD" = ( +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 1 }, -/turf/open/floor/plasteel/white, +/obj/structure/sign/poster/official/safety_report{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) -"bN" = ( -/obj/structure/window/reinforced{ +"bK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 8 }, -/obj/structure/weightmachine/weightlifter, /turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"bN" = ( +/obj/effect/turf_decal/siding/red{ + dir = 4 + }, +/obj/effect/turf_decal/siding/red{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/tech, /area/ship/security) "bX" = ( -/obj/machinery/telecomms/bus/preset_four{ - autolinkers = list("hub","processor4","bus"); - network = "nt_commnet"; - id = "Nanotrasen Communications Bus"; - freq_listening = list(1353,1447,1459) +/obj/machinery/camera/autoname{ + dir = 6 }, -/turf/open/floor/circuit/telecomms{ - initial_gas_mix = "TEMP=2.7" +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"ci" = ( +/obj/effect/turf_decal/industrial/outline/orange, +/obj/structure/platform/industrial_alt{ + dir = 8 }, -/area/ship/engineering/communications) -"cj" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/closet/crate/secure/loot, /turf/open/floor/plasteel/tech, -/area/ship/cargo) +/area/ship/engineering/engines/port) +"cj" = ( +/obj/item/radio/intercom/directional/west, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/wood, +/area/ship/crew/specialized/medical) "cv" = ( /obj/structure/chair/comfy/shuttle{ dir = 4; - name = "Operations" + name = "Navigator's Chair" }, -/obj/effect/turf_decal/steeldecal/steel_decals9, -/obj/effect/turf_decal/steeldecal/steel_decals9{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-8" }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "cx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -247,7 +311,6 @@ /obj/machinery/camera/autoname{ dir = 10 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half, /obj/machinery/firealarm/directional/south, /obj/structure/cable{ icon_state = "4-8" @@ -255,7 +318,8 @@ /obj/structure/cable{ icon_state = "4-9" }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "cE" = ( /obj/structure/railing{ @@ -263,21 +327,30 @@ }, /obj/effect/decal/cleanable/glass, /obj/machinery/light/dim/directional/south, +/obj/structure/janitorialcart{ + dir = 4 + }, +/obj/item/mop, +/obj/item/reagent_containers/food/drinks/sillycup{ + pixel_x = -8; + pixel_y = 10 + }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "cI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 10 +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/blackbox_recorder, +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/obj/structure/window/reinforced/fulltile, -/obj/structure/grille, -/obj/machinery/door/firedoor/window, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "Ranger_Cycler_Shutters" +/obj/item/radio/weather_monitor{ + anchored = 1; + name = "barometric monitor"; + pixel_x = 25 }, -/turf/open/floor/plating, -/area/ship/hallway/central) +/turf/open/floor/circuit/telecomms, +/area/ship/science/ai_chamber) "cN" = ( /obj/structure/cable{ icon_state = "4-8" @@ -288,13 +361,13 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 1 - }, /obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "cR" = ( /obj/structure/cable{ @@ -305,32 +378,56 @@ /obj/effect/turf_decal/trimline/opaque/blue/filled/line{ dir = 1 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "cW" = ( -/turf/open/floor/plasteel/dark, -/area/ship/crew/cryo) +/obj/docking_port/mobile{ + dir = 2; + port_direction = 8; + preferred_direction = 4 + }, +/obj/machinery/camera/autoname, +/obj/machinery/light/floor, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "dd" = ( /obj/machinery/light/dim/directional/north, /obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ dir = 4 }, -/turf/open/floor/plasteel/white, +/obj/structure/closet/crate/bin, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) +"df" = ( +/obj/structure/table/reinforced{ + color = "#8A9397" + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) "dl" = ( -/obj/machinery/door/poddoor/shutters{ +/obj/structure/bed, +/obj/item/bedsheet/qm, +/obj/structure/curtain/bounty, +/obj/machinery/light/small/directional/south, +/obj/machinery/light_switch{ dir = 4; - id = "Ranger_FireFighting_Shut" + pixel_x = -21; + pixel_y = 8 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/turf/open/floor/carpet/orange, +/area/ship/crew/specialized/cargo) +"dm" = ( +/obj/machinery/camera/autoname{ + dir = 5 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 10 }, -/obj/effect/turf_decal/corner/opaque/brown/mono, /turf/open/floor/plasteel/dark, -/area/ship/storage) +/area/ship/hallway/starboard) "dn" = ( /obj/structure/cable{ icon_state = "4-8" @@ -341,15 +438,15 @@ /obj/effect/turf_decal/steeldecal/steel_decals7{ dir = 4 }, -/turf/open/floor/plasteel/tech/airless, +/turf/open/floor/plasteel/tech/tcomms, /area/ship/engineering/communications) "dq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/ntblue{ +/obj/effect/turf_decal/corner/opaque/vired{ dir = 8 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "dr" = ( /obj/machinery/power/smes{ @@ -358,25 +455,38 @@ /obj/structure/cable{ icon_state = "0-2" }, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, /area/ship/engineering) +"dx" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + color = "#a8b2b6"; + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "dC" = ( /obj/effect/turf_decal/ntspaceworks_small/right, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/obj/machinery/light/dim/directional/south, +/obj/effect/turf_decal/spline/fancy/opaque/blue, /turf/open/floor/plasteel/dark, /area/ship/bridge) "dG" = ( /obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/components/binary/valve/layer4{ - dir = 8; - name = "Disposals Outlet Valve" - }, /obj/machinery/door/firedoor/border_only{ dir = 4 }, +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 4; + name = "Input to Air" + }, /turf/open/floor/plating, /area/ship/hallway/central) "dK" = ( @@ -387,66 +497,71 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 1 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "dM" = ( /obj/structure/cable/cyan{ icon_state = "6-8" }, /obj/effect/decal/cleanable/glass, +/obj/machinery/atmospherics/components/binary/pump/layer2{ + dir = 1; + name = "Air to Port" + }, +/obj/machinery/atmospherics/components/binary/pump/layer4{ + name = "Port to Scrubbers Network" + }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) +"dN" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/effect/turf_decal/trimline/transparent/white/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) "dP" = ( /obj/structure/grille, -/obj/structure/window/reinforced/fulltile, /obj/machinery/door/poddoor/shutters{ - id = "Engineering_Specialist_Shutters" + id = "Engineering_Specialist_Shutters"; + name = "Communications Shutters" }, /obj/machinery/door/firedoor/window, +/obj/structure/window/reinforced/fulltile/shuttle, /turf/open/floor/plating, /area/ship/engineering) "ec" = ( -/obj/effect/turf_decal/ntspaceworks_small/left, -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/camera/autoname{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -7; - pixel_y = -19 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) +/turf/open/floor/plasteel/lightgrey, +/area/ship/hallway/central) "ef" = ( /obj/docking_port/stationary{ - width = 30; + dwidth = 15; height = 15; - dwidth = 15 + width = 30 }, /turf/template_noop, /area/template_noop) "eo" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 +/obj/structure/bed, +/obj/item/bedsheet/orange, +/obj/effect/turf_decal/siding/wood{ + dir = 6 }, -/obj/structure/cable{ - icon_state = "0-2" +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/machinery/power/ship_gravity, -/turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) +/obj/machinery/firealarm/directional/east, +/turf/open/floor/wood, +/area/ship/crew/specialized/engineering) "er" = ( /obj/structure/cable{ icon_state = "4-8" @@ -460,34 +575,74 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/ntblue, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) -"eE" = ( -/obj/machinery/computer/cargo/express{ +"ex" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + color = "#a8b2b6"; dir = 1 }, +/obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw, +/obj/machinery/advanced_airlock_controller{ + pixel_y = 24 + }, /turf/open/floor/plasteel/tech, -/area/ship/cargo) +/area/ship/hallway/central) +"eD" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 12 + }, +/obj/machinery/photocopier, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/bridge) +"eE" = ( +/obj/effect/turf_decal/ntspaceworks_small/left, +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/blue, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) "eN" = ( /obj/effect/turf_decal/industrial/warning, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, +/obj/structure/platform/industrial_alt/corner{ + dir = 1 + }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "eT" = ( /obj/machinery/button/door{ dir = 1; - pixel_y = -21; id = "Rangar_Starboard_Blasts"; - name = "Blast Doors" + name = "Blast Doors"; + pixel_y = -21; + req_ship_access = 1 }, /obj/machinery/button/shieldwallgen{ dir = 1; + id = "Ranger_Starboard_holofield"; pixel_x = 9; - pixel_y = -20; - id = "Ranger_Starboard_holofield" + pixel_y = -20 }, /obj/structure/cable{ icon_state = "4-8" @@ -495,123 +650,186 @@ /obj/structure/cable{ icon_state = "4-9" }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/trimline/transparent/white/filled/corner, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "eU" = ( -/obj/structure/closet/crate, -/obj/effect/decal/cleanable/sprayweb, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) +/obj/machinery/computer/helm/viewscreen/directional/north, +/obj/machinery/button/door{ + dir = 8; + id = "Ranger_Supply_Specialist_Quarters"; + name = "Supply Quarters Windows"; + pixel_x = 12; + pixel_y = 4; + req_ship_access = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/table/reinforced, +/turf/open/floor/wood/ebony, +/area/ship/crew/specialized/cargo) "eY" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/shrink_ccw{ dir = 4 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "fd" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/border{ +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"ff" = ( +/obj/effect/turf_decal/techfloor/hole/right, +/obj/effect/turf_decal/spline/fancy/opaque/blue/corner{ dir = 8 }, -/obj/structure/cable{ - icon_state = "6-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 +/obj/structure/closet/crate/bin, +/obj/structure/platform/industrial{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/structure/platform/industrial{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/central) -"ff" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/machinery/telecomms/message_server/preset{ - autolinkers = list("messaging","hub"); - network = "nt_commnet"; - layer = 3.1 +/obj/structure/platform/industrial/corner{ + dir = 8 }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "fo" = ( -/obj/structure/window/reinforced/tinted/frosted, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plastic, -/area/ship/crew/toilet) +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/platform/military/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/engineering/communications) "fy" = ( -/obj/structure/table/wood, /obj/item/newspaper, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"fz" = ( -/obj/machinery/door/poddoor/shutters{ - dir = 8; - name = "Cargo Bay"; - id = "Ranger_Cargo_Door" +/obj/structure/table/reinforced{ + color = "#8A9397" }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 8 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/turf/open/floor/plasteel/lightgrey, +/area/ship/hallway/central) +"fz" = ( +/obj/effect/turf_decal/siding{ + color = "#474747" }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/white, /area/ship/cargo) "fU" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/suit_storage_unit/inherit{ + name = "Emergency EVA Suit" }, -/turf/open/floor/plasteel/tech/airless, -/area/ship/engineering/communications) +/obj/item/clothing/suit/space/fragile, +/obj/item/clothing/head/helmet/space/fragile, +/obj/item/clothing/mask/breath, +/obj/item/tank/internals/emergency_oxygen, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/door/window/brigdoor/northright{ + name = "Secure Lockup"; + req_access_txt = "1"; + req_ship_access = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) "fV" = ( -/turf/closed/wall/r_wall, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/security) +"gd" = ( +/obj/structure/sign/nanotrasen/vigilitas, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/port) "gg" = ( -/turf/closed/wall/r_wall, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/crew/toilet) "gh" = ( -/obj/structure/chair/comfy/blue/directional/east, -/obj/item/toy/plush/moth/lovers, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/circuit/green/airless, -/area/ship/engineering/communications) -"gi" = ( -/obj/machinery/light_switch{ - pixel_x = 8; - pixel_y = 22 +/obj/effect/turf_decal/siding/blue{ + dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"gi" = ( /obj/effect/turf_decal/siding/red{ - dir = 1 + dir = 9 }, -/obj/machinery/camera/autoname, -/turf/open/floor/mineral/plastitanium/red/brig, +/obj/structure/closet/crate/bin, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/tech, /area/ship/security) "gk" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/door/firedoor/window, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "2-4" }, -/turf/open/floor/plating, -/area/ship/engineering/communications) -"gz" = ( -/obj/machinery/camera/autoname{ - dir = 9 +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/science/ai_chamber) +"gr" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "RangerCryoShutters"; + name = "Cryogenic Storage" + }, +/obj/machinery/button/door{ + dir = 4; + id = "RangerCryoShutters"; + name = "Cryogenics Access"; + pixel_x = -21; + pixel_y = 3 + }, +/turf/open/floor/plasteel/stairs{ + color = "#8A9397" }, +/area/ship/crew/cryo) +"gz" = ( /obj/effect/turf_decal/industrial/outline/blue, /obj/structure/closet/crate/trashcart, /obj/item/storage/bag/trash, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) "gD" = ( /obj/structure/cable/cyan{ icon_state = "4-10" @@ -619,12 +837,16 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 }, -/obj/effect/decal/cleanable/vomit/old, +/obj/effect/decal/cleanable/vomit/old{ + color = "#30b7e5"; + name = "blueish dried vomit" + }, +/obj/item/broken_bottle{ + pixel_x = -10 + }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "gG" = ( -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/machinery/door/airlock/medical/glass, /obj/structure/cable{ icon_state = "1-2" }, @@ -634,15 +856,21 @@ dir = 1 }, /obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/white, +/obj/machinery/door/airlock/medical{ + name = "Medical Bay" + }, +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue, +/turf/open/floor/pod/light, /area/ship/medical) "gL" = ( -/obj/structure/railing/corner{ - dir = 4 +/obj/machinery/camera/autoname{ + dir = 9 }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) +/turf/open/floor/engine/hull, +/area/ship/external/dark) "gN" = ( /obj/machinery/light/dim/directional/north, /obj/machinery/power/terminal, @@ -655,16 +883,21 @@ /turf/open/floor/plating, /area/ship/engineering) "gT" = ( -/obj/structure/cable{ - icon_state = "2-5" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, -/obj/effect/turf_decal/siding/blue, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/blue{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-9" + }, /turf/open/floor/plasteel/white, /area/ship/medical) "gW" = ( @@ -676,165 +909,236 @@ dir = 8 }, /obj/item/radio/intercom/directional/west, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 8 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "hf" = ( -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/dark, -/area/ship/security) -"hk" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "CellHallShutters"; + name = "Holding Cell Hall Shutters" }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/security) +"hk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, /obj/structure/cable{ icon_state = "1-10" }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "hl" = ( /obj/structure/cable/cyan{ icon_state = "4-9" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/effect/decal/cleanable/plasma, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 4 }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "hn" = ( -/obj/effect/turf_decal/corner/opaque/orange/full, -/obj/structure/railing/corner, /obj/structure/cable{ icon_state = "1-8" }, -/obj/effect/turf_decal/siding/yellow, +/obj/effect/decal/cleanable/oil, +/obj/effect/turf_decal/spline/fancy/opaque/orange, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, /turf/open/floor/plasteel/tech, /area/ship/engineering) "hp" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/effect/turf_decal/industrial/outline/orange, +/obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt{ + dir = 8 }, /turf/open/floor/plasteel/tech, -/area/ship/cargo) +/area/ship/engineering/engines/port) "hx" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/under/rank/security/head_of_security/alt/skirt/lp, +/obj/item/clothing/under/rank/security/head_of_security/alt/lp, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/suit/jacket/miljacket, +/obj/item/storage/backpack/messenger/com, +/obj/item/storage/backpack/satchel/cap, +/obj/item/storage/backpack/captain, +/obj/item/storage/backpack/duffelbag/captain, +/obj/item/storage/backpack/ert, /obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, +/obj/item/clothing/head/nanotrasen/beret/security/command, +/obj/item/clothing/suit/armor/nanotrasen/sec_director, +/obj/item/clothing/under/nanotrasen/security/director, /turf/open/floor/wood, -/area/ship/crew/dorm) +/area/ship/crew/dorm/captain) "hz" = ( -/obj/docking_port/mobile{ - dir = 2; - preferred_direction = 4; - port_direction = 8 +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "Ranger_Engineering_Specialist_Quarters"; + name = "Engineering Specialist's Quarters" }, -/obj/machinery/camera/autoname, -/obj/machinery/light/floor, -/turf/open/floor/engine/hull, -/area/ship/external) +/turf/open/floor/plating, +/area/ship/crew/specialized/engineering) "hF" = ( -/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/light/dim/directional/north, +/obj/structure/closet/secure_closet/armorycage{ + req_access = list(1) + }, +/obj/effect/turf_decal/industrial/fire, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/item/storage/guncase/pistol/commander{ + pixel_x = -7; + pixel_y = 8 + }, +/obj/item/gun/ballistic/automatic/smg/skm_carbine/saber{ + pixel_x = 4; + pixel_y = 9 + }, +/obj/item/storage/guncase/pistol{ + pixel_x = -7; + pixel_y = -4 + }, +/obj/item/melee/knife/survival{ + pixel_x = 7; + pixel_y = -8 + }, +/obj/item/melee/knife/survival{ + pixel_x = 7; + pixel_y = -8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/equip) +"hG" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4 + }, /obj/structure/cable{ - icon_state = "0-2" + icon_state = "4-8" }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"hJ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/ntblue{ +/obj/effect/turf_decal/siding{ + color = "#474747"; dir = 8 }, +/obj/effect/turf_decal/siding{ + color = "#474747"; + dir = 4 + }, +/turf/open/floor/pod/light, +/area/ship/engineering/engines/starboard) +"hJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "hK" = ( /obj/structure/grille, -/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/firedoor/window, /obj/machinery/door/poddoor/shutters{ + dir = 4; id = "Engineering_Specialist_Shutters"; - dir = 4 + name = "Communications Shutters" }, -/obj/machinery/door/firedoor/window, +/obj/structure/window/reinforced/fulltile/shuttle, /turf/open/floor/plating, /area/ship/engineering) -"hN" = ( -/obj/machinery/camera/autoname{ - dir = 1 - }, -/obj/machinery/light/floor, -/turf/open/floor/engine/hull, -/area/ship/external) "hQ" = ( -/turf/open/floor/plasteel/stairs/wood{ - dir = 8 +/obj/effect/turf_decal/siding/wood{ + dir = 5 }, -/area/ship/security) -"hZ" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_x = 5; - pixel_y = 13; - layer = 4.2 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/item/toy/plush/moth/deadhead{ - pixel_x = -7; - layer = 4.3 +/obj/structure/cable{ + icon_state = "2-4" }, /turf/open/floor/wood, +/area/ship/crew/specialized/security) +"hZ" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = -10 + }, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/cell_charger, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/mono/dark, /area/ship/engineering) "ib" = ( /obj/structure/cable/cyan{ icon_state = "5-10" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/oil, +/obj/structure/platform/industrial_alt/corner{ + dir = 8 + }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "id" = ( -/obj/machinery/door/airlock/maintenance_hatch{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) "ih" = ( /obj/structure/cable{ icon_state = "4-8" @@ -851,32 +1155,48 @@ pixel_x = 7; pixel_y = -20 }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) "iq" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt/corner{ + dir = 8 + }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) +"iv" = ( +/turf/open/floor/plasteel/lightgrey, +/area/ship/hallway/central) "ix" = ( -/obj/structure/table/greyscale, -/obj/effect/turf_decal/siding/blue{ - dir = 1 +/obj/item/storage/box/syringes{ + pixel_x = -5; + pixel_y = 10 }, -/obj/item/storage/firstaid/medical{ - pixel_y = 7; - pixel_x = -2 +/obj/item/reagent_containers/glass/bottle/mannitol{ + pixel_x = 8; + pixel_y = 8 }, -/obj/item/storage/firstaid/o2{ - pixel_x = 1; - pixel_y = 2 +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = 5 }, -/obj/item/storage/firstaid/toxin{ - pixel_x = 4; - pixel_y = -3 +/obj/machinery/light/dim/directional/north, +/obj/structure/table/reinforced, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloor/corner, +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 9 }, /turf/open/floor/plasteel/white, /area/ship/medical) @@ -885,22 +1205,23 @@ dir = 4 }, /obj/effect/decal/cleanable/robot_debris/old, +/obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "iD" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/machinery/camera/autoname{ - dir = 10 +/obj/effect/turf_decal/trimline/transparent/white/filled/corner{ + dir = 8 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "iF" = ( /obj/structure/railing{ @@ -914,23 +1235,36 @@ /obj/structure/table/reinforced{ color = "#c1b6a5" }, -/obj/effect/spawner/lootdrop/lpaid{ - pixel_x = -4; +/obj/item/stamp/captain{ + pixel_x = 7 + }, +/obj/item/folder/blue{ + pixel_x = 8; pixel_y = 10 }, -/obj/effect/spawner/lootdrop/lpcombat{ - pixel_y = 6 +/obj/effect/turf_decal/techfloor{ + dir = 10 }, -/obj/effect/spawner/lootdrop/lpretrieval{ - pixel_x = 3; - pixel_y = 1 +/obj/item/clipboard{ + pixel_x = -7; + pixel_y = -2 }, -/turf/open/floor/plasteel/dark, +/obj/item/pen{ + pixel_x = -7; + pixel_y = -1 + }, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "iH" = ( -/obj/structure/bed, -/obj/item/bedsheet/grey, -/turf/open/floor/plasteel/dark, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "SecCellWindowShutters"; + name = "Brig Cell Window Shutters" + }, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, /area/ship/security) "iI" = ( /obj/structure/closet/emcloset/wall/directional/north, @@ -940,105 +1274,207 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 1 }, -/turf/open/floor/plasteel/white, +/obj/item/crowbar, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) +"iN" = ( +/obj/machinery/light/floor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"iS" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/lightgrey, +/area/ship/hallway/central) "iX" = ( /obj/effect/turf_decal/siding/yellow{ dir = 10 }, /obj/structure/ore_box, -/turf/open/floor/plasteel/dark, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/computer/helm/viewscreen/directional/east, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) "iZ" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/ntblue{ +/obj/effect/turf_decal/corner/opaque/vired{ dir = 4 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "jb" = ( /obj/machinery/power/shuttle/engine/fueled/plasma{ dir = 4 }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) +"jd" = ( +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "CellHallShutters"; + name = "Holding Cell Hall Shutters" + }, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/security) "ji" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/mopbucket, -/obj/item/mop, -/turf/open/floor/plasteel/white, +/obj/machinery/light/dim/directional/south, +/obj/effect/turf_decal/trimline/transparent/white/filled/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "jj" = ( /obj/machinery/holopad/emergency, -/turf/open/floor/plasteel/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/window/reinforced/survival_pod{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "jk" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/white, /area/ship/medical) "jr" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/ert/lp/engi, -/obj/item/clothing/mask/breath, -/obj/item/tank/internals/emergency_oxygen, -/obj/effect/turf_decal/techfloor{ - dir = 8 +/obj/item/radio/intercom/directional/south, +/obj/structure/chair/handrail{ + dir = 4 }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) +/turf/open/floor/engine/hull, +/area/ship/external/dark) "js" = ( /obj/machinery/cryopod, /turf/open/floor/plasteel/telecomms_floor, /area/ship/crew/cryo) "jt" = ( -/obj/machinery/autolathe, /obj/effect/turf_decal/techfloor{ dir = 1 }, +/obj/machinery/airalarm/directional/west, +/obj/machinery/computer/atmos_control/external{ + dir = 4; + icon_state = "computer-right" + }, +/obj/machinery/light_switch{ + color = "#efbc43"; + name = "External Lighting Switch"; + pixel_x = 6; + pixel_y = 23 + }, +/obj/item/paper{ + default_raw_text = "Dear engineer, please bring your attention to the advanced control mechanisms present on and around this console. There is an external lighting switch to toggle the vessel's exterior lighting, highlighted in yellow, an air alarm connected to this console which controls external atmospherics fittings, and the console itself, which can read external atmosphere from a main sensor affixed to the fore of the vessel. -NT Spaceworks"; + name = "NT Spaceworks Notice" + }, /turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) +/area/ship/external/dark) "jv" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/shoes/jackboots, -/obj/item/clothing/suit/hooded/wintercoat/security, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/head/beret/sec, -/obj/item/clothing/under/rank/security/head_of_security/nt/lp, -/obj/item/clothing/under/rank/security/head_of_security/nt/skirt/lp, -/obj/item/clothing/suit/armor/vest/security/officer, -/obj/item/clothing/under/rank/security/head_of_security/alt/lp, -/obj/machinery/light/dim/directional/west, -/turf/open/floor/wood, -/area/ship/security) +/obj/machinery/camera/autoname, +/obj/item/storage/firstaid/toxin{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/item/storage/firstaid/o2{ + pixel_x = 1; + pixel_y = 2 + }, +/obj/item/storage/firstaid/medical{ + pixel_x = -2; + pixel_y = 7 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) "jA" = ( -/turf/closed/wall/r_wall, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/hallway/port) "jC" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ - dir = 8 +/obj/structure/bed, +/obj/item/bedsheet/nanotrasen, +/obj/item/toy/plush/moth/royal{ + pixel_x = 5; + pixel_y = 1 }, -/turf/open/floor/engine/hull, -/area/ship/external) +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood, +/area/ship/crew/dorm/captain) "jF" = ( -/obj/effect/turf_decal/corner/opaque/orange/full, /obj/structure/cable{ icon_state = "1-4" }, /obj/structure/cable{ icon_state = "1-10" }, -/obj/effect/turf_decal/siding/yellow{ - dir = 10 +/obj/structure/table/reinforced, +/obj/item/weldingtool{ + pixel_x = -6 }, -/turf/open/floor/plasteel/tech, +/obj/item/multitool, +/obj/item/t_scanner{ + pixel_x = 7; + pixel_y = 4 + }, +/obj/item/stack/cable_coil/random, +/obj/item/storage/belt/utility, +/turf/open/floor/plasteel/mono/dark, /area/ship/engineering) "jH" = ( /obj/machinery/power/apc/auto_name/directional/north, @@ -1051,50 +1487,101 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "jZ" = ( -/obj/structure/cable{ - icon_state = "6-8" - }, +/obj/effect/turf_decal/siding/blue, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/turf_decal/corner/opaque/brown/mono, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/turf/open/floor/plasteel/white, +/area/ship/medical) "kh" = ( /obj/machinery/light_switch{ dir = 1; pixel_x = 7; pixel_y = -20 }, -/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -4 + }, +/obj/effect/turf_decal/corner/opaque/lightgrey{ + dir = 10 + }, +/obj/machinery/computer/cryopod/directional/west, /turf/open/floor/plasteel/dark, /area/ship/crew/cryo) +"ki" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) "ks" = ( /obj/effect/decal/cleanable/cobweb, +/obj/machinery/camera/autoname, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ + name = "Air to Port" + }, +/obj/machinery/portable_atmospherics/pump, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "kt" = ( -/obj/effect/turf_decal/borderfloorblack, -/turf/open/floor/plasteel/tech/airless, -/area/ship/engineering/communications) +/obj/machinery/light/dim/directional/south, +/obj/machinery/airalarm/directional/east, +/obj/structure/filingcabinet/double{ + dir = 1 + }, +/obj/item/folder/blue{ + pixel_x = 8; + pixel_y = 10 + }, +/obj/item/folder/red{ + layer = 3.01; + pixel_x = -4; + pixel_y = -8 + }, +/obj/item/folder, +/obj/item/pen, +/obj/item/pen{ + pixel_x = 7; + pixel_y = 10 + }, +/obj/item/pen{ + pixel_x = -4; + pixel_y = -6 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/bridge) "kw" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/door/firedoor/window, -/turf/open/floor/plating, -/area/ship/engineering/communications) +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/science/ai_chamber) +"kF" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/engines/starboard) "kK" = ( -/obj/structure/table/wood, -/obj/item/storage/box/cups, /obj/machinery/light/dim/directional/south, -/turf/open/floor/plasteel/dark, +/obj/structure/table/reinforced{ + color = "#8A9397" + }, +/obj/item/cutting_board, +/obj/item/reagent_containers/food/snacks/donkpocket/warm, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "kO" = ( /obj/structure/cable{ @@ -1103,23 +1590,25 @@ /obj/structure/cable{ icon_state = "2-5" }, -/obj/effect/turf_decal/corner/opaque/ntblue, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "kQ" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/door/poddoor{ - dir = 4; - id = "Ranger_AI_Core_Ext_Blasts" +/obj/effect/turf_decal/corner/opaque/syndiered/half, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 }, -/obj/machinery/door/firedoor/window, -/turf/open/floor/plating, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/tech, +/area/ship/storage/equip) "kS" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/siding/blue/corner{ - dir = 4 +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "6-8" }, /turf/open/floor/plasteel/white, /area/ship/medical) @@ -1132,33 +1621,41 @@ dir = 4; railing_color = "#0C119E" }, -/obj/machinery/computer/cryopod/directional/south, +/obj/machinery/recharge_station, /turf/open/floor/plasteel/dark, /area/ship/crew/cryo) "lj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 +/obj/structure/fluff/hedge/opaque, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 6 }, -/obj/machinery/button/door{ - dir = 4; - pixel_x = -22; - pixel_y = 8; - id = "Ranger_Cycler_Shutters"; - name = "Air Cycler Shutters" +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 8 +/obj/structure/window/reinforced/survival_pod, +/obj/structure/window/reinforced/survival_pod{ + dir = 4 + }, +/obj/structure/window/reinforced/survival_pod{ + density = 0; + dir = 6 + }, +/obj/structure/window/reinforced/survival_pod{ + density = 0; + dir = 10 }, /turf/open/floor/plasteel/white, -/area/ship/hallway/central) +/area/ship/crew/specialized/cargo) "lp" = ( /obj/machinery/button/door{ dir = 8; - pixel_y = 6; - pixel_x = 22; id = "Ranger_FireFighting_Shut"; - name = "Shutters" + name = "Ready Room"; + pixel_x = 22; + pixel_y = 6; + req_one_access = list(50, 10, 5, 1, 20); + req_one_access_txt = "50,10,5,1,20"; + req_ship_access = 1 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 @@ -1166,89 +1663,117 @@ /obj/machinery/camera/autoname{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/trimline/opaque/vired/filled/corner{ dir = 4 }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) +"lu" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/grille, +/obj/machinery/door/poddoor/preopen{ + dir = 4; + id = "AiCore"; + name = "Intelligence Core" + }, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating, +/area/ship/science/ai_chamber) "lv" = ( -/obj/effect/decal/cleanable/insectguts, -/turf/open/floor/plasteel/tech, +/obj/machinery/holopad, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, /area/ship/cargo) "lw" = ( -/obj/machinery/airalarm/directional/north, -/obj/structure/closet/crate/large, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/preopen{ + dir = 4; + id = "AiCore"; + name = "Intelligence Core" + }, +/obj/machinery/door/airlock/engineering/glass{ + dir = 4; + name = "Intelligence Core"; + req_access_txt = "10" + }, +/turf/open/floor/plasteel/tech/tcomms, +/area/ship/science/ai_chamber) "lB" = ( /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/trimline/transparent/white/filled/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "lD" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/camera/autoname{ - dir = 5 +/obj/machinery/computer/apc_control{ + dir = 4; + icon_state = "computer-left" }, -/turf/open/floor/plasteel/stairs{ - dir = 1 +/obj/effect/turf_decal/techfloor, +/obj/structure/sign/warning/coldtemp{ + layer = 2.8; + pixel_y = -29 }, -/area/ship/bridge) +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) "lL" = ( +/obj/structure/cable{ + icon_state = "2-9" + }, /obj/effect/turf_decal/siding/blue{ - dir = 1 + dir = 5 }, /turf/open/floor/plasteel/white, /area/ship/medical) "lU" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ dir = 1 }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -21; - pixel_y = 7 +/obj/structure/cable{ + icon_state = "1-2" }, /turf/open/floor/plasteel/tech, /area/ship/cargo) "lW" = ( -/obj/effect/turf_decal/steeldecal/steel_decals9, -/obj/effect/turf_decal/steeldecal/steel_decals9{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, +/obj/item/radio/intercom/wideband/directional/south, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "lX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/item/toy/plush/spider, +/obj/machinery/camera/autoname{ + dir = 9 }, -/obj/effect/turf_decal/corner/opaque/orange/full, -/obj/effect/turf_decal/siding/yellow, -/obj/structure/railing{ - dir = 2; - layer = 4.1 +/obj/structure/table/reinforced{ + color = "#8A9397" }, -/obj/effect/turf_decal/siding/yellow, +/obj/item/radio/intercom/directional/east, /turf/open/floor/plasteel/tech, -/area/ship/engineering) +/area/ship/security) "mh" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, /obj/machinery/light/floor, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 4 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "ml" = ( /obj/structure/cable{ @@ -1259,109 +1784,190 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/ntblue/half, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "mn" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/modular_computer/laptop/preset/civilian, /obj/machinery/light/dim/directional/north, -/turf/open/floor/plasteel/dark, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/item/computer_hardware/card_slot, +/obj/machinery/modular_computer/console/preset/research{ + name = "modular console" + }, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "mv" = ( -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/siding/thinplating{ + color = "#a8b2b6"; dir = 1 }, -/mob/living/simple_animal/pet/dog/corgi/Lisa, -/obj/structure/bed/dogbed, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"mw" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 8 +/obj/machinery/shower{ + dir = 1 }, +/obj/structure/chair/handrail, +/turf/open/floor/noslip, +/area/ship/crew/toilet) +"mw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/light/dim/directional/west, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "my" = ( -/obj/structure/urinal{ - pixel_y = 29 +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/borderfloorblack, +/obj/structure/bed, +/obj/item/bedsheet, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"mJ" = ( +/obj/structure/table/reinforced, +/obj/machinery/firealarm/directional/north{ + pixel_x = -4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/turf/open/floor/plastic, -/area/ship/crew/toilet) -"mJ" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -21; - pixel_y = -8 +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 1 }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"mK" = ( /obj/machinery/camera/autoname{ - dir = 4 + dir = 9 }, +/obj/effect/turf_decal/industrial/outline/blue, +/obj/machinery/space_heater, /turf/open/floor/plasteel/tech, -/area/ship/storage) +/area/ship/engineering/engines/starboard) "mQ" = ( /obj/structure/cable{ icon_state = "2-4" }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/lightgrey{ + dir = 10 + }, /turf/open/floor/plasteel/dark, /area/ship/crew/cryo) +"na" = ( +/obj/machinery/firealarm/directional/east, +/obj/machinery/recharger{ + dir = 4; + pixel_x = -8 + }, +/obj/machinery/cell_charger{ + dir = 4; + pixel_x = 5 + }, +/obj/structure/table/reinforced, +/obj/item/stack/marker_beacon/thirty{ + amount = 100; + icon_state = "markerrandom"; + pixel_x = -9; + pixel_y = 13 + }, +/obj/item/stack/marker_beacon/thirty{ + amount = 100; + icon_state = "markerrandom"; + pixel_x = 11; + pixel_y = 13 + }, +/obj/item/stack/marker_beacon/thirty{ + amount = 100; + icon_state = "markerrandom"; + pixel_x = 5; + pixel_y = 13 + }, +/obj/item/stack/marker_beacon/thirty{ + amount = 100; + icon_state = "markerrandom"; + pixel_x = -2; + pixel_y = 13 + }, +/obj/item/stock_parts/cell/gun, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/equip) "nh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, /obj/effect/turf_decal/siding/red, -/obj/machinery/door/window/brigdoor{ - req_ship_access = 1; - req_access_txt = "1"; - id = "ranger_brig"; - name = "Holding Cell Door" +/obj/effect/turf_decal/siding/red{ + dir = 6 }, -/turf/open/floor/mineral/plastitanium/red/brig, +/turf/open/floor/plasteel/tech, /area/ship/security) "no" = ( /obj/structure/cable{ icon_state = "6-8" }, -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 1 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) +"nq" = ( +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "SecShutters"; + name = "Security Specialist's Office" + }, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating, +/area/ship/security) "nA" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/white, +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "nE" = ( /obj/machinery/button/door{ dir = 2; - pixel_x = -2; - name = "Blast Doors"; id = "Ranger_AI_Core_Blasts"; - pixel_y = 22 + name = "Access Blast Doors"; + pixel_x = -2; + pixel_y = 22; + req_access_txt = "10"; + req_ship_access = 1 }, /obj/machinery/button/shieldwallgen{ dir = 2; + id = "AI_Core_Field_Engi"; pixel_x = 6; - pixel_y = 20; - id = "AI_Core_Field_Engi" + pixel_y = 20 }, -/turf/open/floor/plasteel/tech/airless, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/recharge_station, +/turf/open/floor/plasteel/tech/tcomms, /area/ship/engineering/communications) "nJ" = ( /obj/structure/cable/cyan{ @@ -1371,7 +1977,7 @@ dir = 8 }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "ob" = ( /obj/structure/cable/cyan{ icon_state = "0-4" @@ -1381,14 +1987,13 @@ }, /obj/machinery/light/dim/directional/south, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "of" = ( -/obj/machinery/light/dim/directional/south, /obj/structure/cable{ icon_state = "1-4" }, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "og" = ( /obj/structure/railing{ @@ -1398,14 +2003,21 @@ dir = 8; icon_state = "computer-right" }, -/turf/open/floor/plasteel/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "oi" = ( -/obj/structure/railing/corner{ +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/wood, +/area/ship/crew/dorm/captain) "ok" = ( /obj/machinery/door/airlock/external{ dir = 4 @@ -1413,31 +2025,55 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/door/poddoor{ + dir = 4; + id = "Ranger_Cycler_Shutters"; + name = "Air Cycler Lockdown" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/tech, /area/ship/hallway/central) "oq" = ( /obj/structure/cable/cyan{ icon_state = "5-8" }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "or" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plating, -/area/ship/engineering) +/obj/effect/turf_decal/siding/red, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) "ox" = ( /obj/structure/chair/sofa/brown/corner/directional/south, /obj/machinery/light/dim/directional/east, -/turf/open/floor/plasteel/dark, +/obj/item/ammo_casing/spent{ + desc = "A spent bullet-casing that someone hid behind the couch, likely to avoid the Lieutenant's ire."; + pixel_x = 13 + }, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "oz" = ( -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "oI" = ( /obj/machinery/power/smes/shuttle/precharged{ @@ -1446,37 +2082,62 @@ /obj/machinery/door/window/northleft{ dir = 4 }, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "Ranger_Port_maint_shut" - }, /obj/structure/cable/yellow{ icon_state = "0-8" }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"oM" = ( -/obj/machinery/door/window/eastleft{ - dir = 2 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_Port_maint_shut"; + name = "Engine Shutters" }, -/turf/open/floor/plastic, -/area/ship/crew/toilet) +/turf/open/floor/plating, +/area/ship/engineering/engines/port) "oQ" = ( -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood, -/area/ship/medical) -"pa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/item/storage/box/gloves, +/obj/item/storage/box/masks, +/obj/item/storage/belt/medical, +/obj/item/flashlight/seclite, +/obj/item/roller, +/obj/item/holosign_creator/medical, +/obj/item/pinpointer/crew, +/obj/item/storage/box/bodybags, +/obj/item/storage/firstaid/regular, +/obj/item/defibrillator/loaded, +/obj/item/roller{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/roller{ + pixel_x = 5; + pixel_y = 12 + }, +/obj/item/clothing/neck/stethoscope, +/obj/item/gps, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health/prescription, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/closet/secure_closet/lp/medical, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/item/melee/knife/survival, +/obj/machinery/airalarm/directional/south, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/crew/specialized/medical) +"pa" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/holopad, -/turf/open/floor/plasteel/white, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "pf" = ( /obj/structure/closet/emcloset/wall/directional/south, @@ -1484,154 +2145,253 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half, /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half, +/obj/item/crowbar, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "pi" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/corner/opaque/ntblue/three_quarters{ - dir = 8 +/obj/machinery/camera/autoname{ + dir = 9 }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/starboard) +/obj/machinery/button/door{ + dir = 8; + id = "AiCore"; + name = "Core Access"; + pixel_x = 26; + pixel_y = 8; + req_access_txt = "20"; + req_ship_access = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 25 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/science/ai_chamber) "pn" = ( /obj/structure/chair/wood, /obj/item/toy/figure/assistant{ layer = 3.1 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/molten_object{ + pixel_x = 10 + }, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "pp" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = 13; - pixel_y = 2 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 }, -/obj/structure/mirror{ - pixel_x = 24 +/obj/structure/window/reinforced/tinted, +/obj/structure/dresser{ + dir = 1 }, -/turf/open/floor/plastic, -/area/ship/crew/toilet) -"ps" = ( -/obj/structure/closet/secure_closet/lp/engineer, -/obj/machinery/light/dim/directional/north, -/obj/item/clothing/gloves/color/yellow{ - pixel_y = -9 +/obj/structure/bedsheetbin/empty{ + pixel_y = 7 }, -/obj/item/crowbar/power{ - pixel_y = 3 +/obj/item/towel{ + pixel_y = 10 }, -/obj/item/clothing/shoes/magboots{ - pixel_x = -6; - pixel_y = -8 +/obj/item/towel{ + pixel_y = 10 }, -/obj/item/holosign_creator/engineering{ - pixel_y = 6; - pixel_x = -5 +/obj/item/towel{ + pixel_y = 10 }, -/obj/item/holosign_creator/atmos{ - pixel_y = 6; - pixel_x = 6 +/obj/item/towel{ + pixel_y = 10 }, -/obj/item/flashlight/seclite{ - pixel_x = 2; - pixel_y = 15 +/obj/item/towel{ + pixel_y = 10 }, -/obj/item/gps{ - pixel_y = 9; - pixel_x = -12 +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"ps" = ( +/obj/structure/cable{ + icon_state = "0-2" }, -/obj/item/kitchen/knife/combat/survival{ - pixel_y = 6; +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ pixel_x = 5 }, -/obj/item/clothing/head/welding{ - pixel_y = -9 +/obj/item/storage/toolbox/electrical{ + pixel_x = 3; + pixel_y = 7 }, -/obj/item/clothing/glasses/meson/gar{ - pixel_y = 8 +/obj/item/gear_pack/anglegrinder{ + pixel_x = -10; + pixel_y = 5 + }, +/obj/item/inducer{ + pixel_y = -10 + }, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 }, +/obj/item/stock_parts/cell/super, /turf/open/floor/plasteel/mono/dark, /area/ship/engineering) "pA" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ +/obj/machinery/vending/snack, +/turf/open/floor/plasteel/lightgrey, +/area/ship/hallway/central) +"pD" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ dir = 1 }, -/area/ship/bridge) -"pD" = ( +/obj/structure/crate_shelf, +/obj/item/radio/intercom/directional/east, /turf/open/floor/plasteel/tech, /area/ship/cargo) +"pG" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) "pL" = ( -/obj/structure/chair/comfy/blue/directional/east, -/obj/item/toy/plush/moth/royal, -/obj/item/radio/intercom/wideband/directional/south, -/turf/open/floor/circuit/green/airless, -/area/ship/engineering/communications) +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "pU" = ( /obj/machinery/camera/autoname{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half, /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "qb" = ( -/obj/item/radio/intercom/directional/south, /obj/effect/turf_decal/industrial/outline/blue, -/obj/structure/janitorialcart{ +/obj/structure/reagent_dispensers/foamtank, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"qe" = ( +/obj/effect/turf_decal/siding/wood/corner{ dir = 4 }, -/obj/item/mop, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"qe" = ( -/obj/structure/urinal{ - pixel_y = 29 +/obj/structure/table/wood, +/obj/item/toy/plush/moth/deadhead{ + layer = 4.3; + pixel_x = -7 + }, +/obj/item/folder/yellow{ + pixel_x = 4; + pixel_y = -4 + }, +/obj/item/pen/survival{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/button/door{ + dir = 8; + id = "Ranger_Engineering_Specialist_Quarters"; + name = "Engineering Quarters Windows"; + pixel_x = 22; + pixel_y = -2; + req_ship_access = 1 }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "0-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 +/obj/machinery/light_switch{ + pixel_x = -12; + pixel_y = 21 }, -/turf/open/floor/plastic, -/area/ship/crew/toilet) -"qs" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 +/obj/item/flashlight/lamp/green{ + layer = 4.2; + pixel_x = 12; + pixel_y = 13 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/wood, +/area/ship/crew/specialized/engineering) +"qn" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 }, +/obj/structure/bed/dogbed, +/mob/living/simple_animal/pet/dog/corgi/Lisa, +/turf/open/floor/wood, +/area/ship/crew/dorm/captain) +"qs" = ( /obj/structure/cable/yellow{ icon_state = "0-4" }, +/obj/machinery/power/shuttle/engine/electric/premium, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) +"qJ" = ( +/obj/structure/sign/nanotrasen{ + pixel_x = 32 + }, +/obj/effect/turf_decal/techfloor, +/obj/structure/table/reinforced{ + color = "#8A9397" + }, +/turf/open/floor/circuit/telecomms, +/area/ship/science/ai_chamber) "qQ" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ dir = 8 }, +/obj/structure/platform/industrial_alt{ + dir = 4 + }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "qR" = ( -/obj/machinery/door/airlock/security/glass, -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/door/firedoor/border_only{ dir = 1 }, /obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/corner/opaque/red/full, -/turf/open/floor/plasteel/dark, +/obj/machinery/door/airlock/security{ + name = "Security Specialist's Office"; + req_access_txt = "1" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/red{ + dir = 1 + }, +/obj/effect/turf_decal/siding/red, +/turf/open/floor/pod/light, /area/ship/security) "qS" = ( /obj/structure/railing{ @@ -1639,37 +2399,78 @@ }, /obj/effect/decal/cleanable/oil/streak, /obj/machinery/light/dim/directional/north, +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ + name = "Port to Scrubbers Network" + }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "qZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/brown/mono, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/red{ + dir = 8 + }, +/obj/effect/turf_decal/siding{ + color = "#730622"; + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_FireFighting_Shut"; + name = "Ready Room" + }, +/turf/open/floor/pod/light, +/area/ship/storage/equip) "rg" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/siding/red{ + dir = 1 + }, +/obj/effect/decal/cleanable/confetti, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, /turf/open/floor/plasteel/tech, -/area/ship/storage) +/area/ship/security) "rq" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/stairs, +/turf/open/floor/plasteel/stairs{ + color = "#8A9397" + }, /area/ship/crew/cryo) +"rw" = ( +/obj/machinery/camera/autoname{ + dir = 5 + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "rA" = ( -/obj/effect/turf_decal/corner/opaque/orange/full, /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/turf_decal/siding/yellow, -/obj/machinery/holopad, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) +/obj/structure/chair/office{ + dir = 8; + name = "tactical swivel chair" + }, +/obj/effect/turf_decal/spline/fancy/opaque/orange{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) "rC" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1692,31 +2493,29 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "rM" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/orange/arrow_cw{ - dir = 4 +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_Supply_Specialist_Quarters"; + name = "Supply Specialist's Quarters" }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/starboard) +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/crew/specialized/cargo) "rT" = ( -/obj/structure/reagent_dispensers/water_cooler, /obj/machinery/light_switch{ dir = 1; pixel_x = -7; pixel_y = -19 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/closet/secure_closet/freezer/fridge, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "rW" = ( /obj/machinery/power/smes/shuttle/precharged{ @@ -1727,29 +2526,27 @@ }, /obj/machinery/door/poddoor/shutters{ dir = 4; - id = "Ranger_SB_maint_shut" + id = "Ranger_SB_maint_shut"; + name = "Engine Shutters" }, /obj/structure/cable/yellow{ icon_state = "0-8" }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "rX" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 8 +/obj/effect/turf_decal/spline/fancy/opaque/orange{ + dir = 6 }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-2" +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/white, -/area/ship/hallway/central) +/turf/open/floor/plasteel/tech, +/area/ship/engineering) "rZ" = ( /obj/effect/turf_decal/atmos/air, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 8 }, /turf/open/floor/engine/air, /area/ship/hallway/central) @@ -1762,27 +2559,57 @@ color = "#c1b6a5" }, /obj/machinery/fax/nanotrasen, -/turf/open/floor/plasteel/dark, +/obj/machinery/camera/autoname{ + dir = 6 + }, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/machinery/button/door{ + id = "BridgeAtrium"; + name = "Atrium Shutters"; + pixel_x = 9; + pixel_y = 21; + req_ship_access = 1 + }, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "sl" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 +/obj/machinery/telecomms/processor/preset_four{ + autolinkers = list("processor4","bus"); + id = "Nanotrasen Communications Processor"; + layer = 3.09; + network = "nt_commnet" + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/platform/military{ + dir = 1 }, -/turf/open/floor/plasteel/tech/airless, +/turf/open/floor/circuit/telecomms, /area/ship/engineering/communications) "sm" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/maintenance/port) +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"sp" = ( +/obj/machinery/camera/autoname, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"su" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/specialized/medical) "sw" = ( /obj/structure/cable{ icon_state = "6-8" @@ -1793,49 +2620,61 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "sF" = ( -/obj/structure/table/greyscale, -/obj/item/storage/box/syringes{ - pixel_y = 10; - pixel_x = -5 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 9 +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/obj/item/reagent_containers/glass/bottle/mannitol{ - pixel_y = 8; - pixel_x = 8 +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/obj/machinery/suit_storage_unit/inherit{ + name = "Emergency EVA Suit" }, -/obj/item/reagent_containers/glass/bottle/morphine{ - pixel_x = 5 +/obj/item/clothing/head/helmet/space/fragile, +/obj/item/clothing/suit/space/fragile, +/obj/item/radio/intercom/directional/west, +/obj/machinery/camera/autoname{ + dir = 10 }, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/medical) +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "sJ" = ( -/turf/closed/wall/r_wall, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/hallway/central) "sR" = ( -/obj/structure/table/wood, -/obj/machinery/light/dim/directional/south, -/obj/effect/turf_decal/siding/red/end, -/obj/item/toy/plush/spider, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/security) -"sU" = ( -/obj/structure/table/greyscale, -/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 10 + }, /obj/structure/cable{ - icon_state = "0-10" + icon_state = "1-2" }, -/obj/effect/turf_decal/siding/blue{ - dir = 5 +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/engineering/communications) +"sU" = ( +/obj/machinery/button/door{ + dir = 4; + id = "Ranger_Cycler_Shutters"; + name = "Air Cycler Shutters"; + pixel_x = -22; + pixel_y = 8; + req_ship_access = 1 }, -/obj/item/defibrillator/loaded, -/turf/open/floor/plasteel/white, -/area/ship/medical) +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) "tb" = ( /obj/structure/table/wood, /obj/machinery/light/dim/directional/north, @@ -1864,20 +2703,20 @@ /obj/structure/cable{ icon_state = "4-10" }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "tg" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, /obj/structure/cable/yellow{ icon_state = "0-4" }, +/obj/machinery/power/shuttle/engine/electric/premium, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "tj" = ( /obj/machinery/door/airlock/command{ - dir = 4 + dir = 4; + name = "Bridge"; + req_one_access_txt = list(50, 10, 5, 1, 20) }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -1894,24 +2733,34 @@ /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/pod/light, /area/ship/bridge) "tk" = ( -/obj/effect/turf_decal/corner/opaque/orange/full, -/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/spline/fancy/opaque/orange, /turf/open/floor/plasteel/tech, /area/ship/engineering) "tq" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/turf/open/floor/wood, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, /area/ship/medical) "tr" = ( /obj/machinery/power/shuttle/engine/fueled/plasma{ dir = 4 }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "tK" = ( /obj/structure/railing{ dir = 4 @@ -1920,146 +2769,232 @@ dir = 8; icon_state = "computer-left" }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "tQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, /obj/effect/turf_decal/siding/red{ dir = 1 }, -/obj/structure/cable{ - icon_state = "1-6" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/turf/open/floor/mineral/plastitanium/red/brig, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/holopad, +/turf/open/floor/plasteel/tech, /area/ship/security) "tR" = ( /obj/structure/cable{ icon_state = "4-9" }, /obj/machinery/light/dim/directional/south, -/obj/effect/turf_decal/corner/opaque/ntblue/half, /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "tT" = ( -/turf/open/floor/plasteel/tech/airless, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/turf/open/floor/plasteel/telecomms_floor/tatmos, /area/ship/engineering/communications) "tZ" = ( /obj/machinery/button/door{ dir = 4; - pixel_x = -21; + id = "Ranger_SB_maint_shut"; name = "Shutters"; - id = "Ranger_SB_maint_shut" + pixel_x = -21; + pixel_y = 5; + req_ship_access = 1 }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "uk" = ( -/obj/item/clothing/suit/space/eva, -/obj/item/clothing/head/helmet/space/eva, -/obj/item/clothing/mask/breath, -/obj/structure/closet/emcloset/empty{ - name = "emergency EVA gear" +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/item/tank/internals/emergency_oxygen, -/obj/effect/turf_decal/siding/yellow{ - dir = 5 +/obj/machinery/light/dim/directional/west{ + pixel_x = -27 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/starboard) "up" = ( -/obj/effect/turf_decal/corner/opaque/orange/full, -/obj/machinery/airalarm/directional/north, -/obj/structure/cable{ - icon_state = "2-4" +/obj/structure/table/reinforced, +/obj/item/screwdriver{ + pixel_x = -7; + pixel_y = 7 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/item/screwdriver{ + pixel_x = -7 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/item/hand_labeler{ + pixel_x = 8; + pixel_y = 13 }, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 }, /turf/open/floor/plasteel/tech, -/area/ship/engineering) +/area/ship/storage/equip) "us" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ - dir = 4 +/obj/machinery/light/dim/directional/north, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = -9 }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"ux" = ( -/obj/machinery/light/dim/directional/south, -/obj/machinery/telecomms/relay{ - freq_listening = list(1353,1447,1459); - id = "Nanotrasen Relay"; - name = "Nanotrasen relay"; - network = "nt_commnet" +/obj/item/crowbar/power{ + pixel_y = 3 }, -/turf/open/floor/circuit/telecomms{ - initial_gas_mix = "TEMP=2.7" +/obj/item/clothing/shoes/magboots{ + pixel_x = -6; + pixel_y = -8 }, -/area/ship/engineering/communications) -"uE" = ( -/obj/structure/cable{ - icon_state = "5-8" +/obj/item/holosign_creator/engineering{ + pixel_x = -5; + pixel_y = 6 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/item/holosign_creator/atmos{ + pixel_x = 6; + pixel_y = 6 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/hallway/port) -"uH" = ( -/obj/machinery/door/airlock/public/glass, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/item/flashlight/seclite{ + pixel_x = 2; + pixel_y = 15 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 8 +/obj/item/gps{ + pixel_x = -12; + pixel_y = 9 }, -/turf/open/floor/plasteel/white, +/obj/item/melee/knife/survival{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/clothing/head/welding{ + pixel_y = -9 + }, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/hud/diagnostic, +/obj/item/pipe_dispenser, +/obj/structure/closet/secure_closet/lp/engineer, +/obj/item/clothing/glasses/meson/prescription, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"ux" = ( +/obj/machinery/telecomms/hub{ + autolinkers = list("hub","bus","relay","messaging","nanotrasen","broadcasterB","receiverB"); + id = "Nanotrasen Communications Hub"; + network = "nt_commnet" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/circuit/telecomms, +/area/ship/engineering/communications) +"uE" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/corner/opaque/vired/half, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) +"uH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "RangerPortShutters"; + name = "Corridor Lockdown Port" + }, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "uW" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 10 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 5 }, -/obj/effect/turf_decal/siding/blue, -/obj/machinery/iv_drip, /turf/open/floor/plasteel/white, /area/ship/medical) +"vc" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/corner/opaque/vired/three_quarters{ + dir = 8 + }, +/obj/structure/table/rolling, +/obj/item/chair/plastic, +/obj/item/chair/plastic{ + pixel_y = 4 + }, +/obj/item/chair/plastic{ + pixel_y = 6 + }, +/obj/item/chair/plastic{ + pixel_y = 10 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/starboard) +"vg" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/lightgrey{ + dir = 10 + }, +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) "vh" = ( /obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/machinery/door/window, +/obj/machinery/door/window{ + name = "Surgical Compartment"; + req_ship_access = 1 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/ship/medical) "vj" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 8 - }, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "0-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/camera/autoname{ - dir = 4 +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/central) +/turf/open/floor/wood, +/area/ship/crew/dorm/captain) "vk" = ( /obj/structure/sink{ dir = 8; @@ -2073,11 +3008,33 @@ pixel_x = -7; pixel_y = 21 }, -/turf/open/floor/plastic, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/item/towel{ + pixel_x = 10; + pixel_y = 14 + }, +/obj/item/towel{ + pixel_x = -7; + pixel_y = 14 + }, +/obj/structure/railing{ + dir = 1; + name = "towel holder" + }, +/turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) "vm" = ( -/turf/closed/wall/r_wall, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/medical) +"vo" = ( +/obj/structure/chair/handrail, +/obj/structure/sign/nanotrasen/vigilitas{ + pixel_y = 32 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "vp" = ( /obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 5 @@ -2085,47 +3042,95 @@ /obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 6 }, -/turf/open/floor/plasteel/dark, +/obj/structure/cable{ + icon_state = "4-10" + }, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "vr" = ( /obj/structure/window/reinforced{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, /turf/open/floor/engine/air, /area/ship/hallway/central) "vv" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/oil, +/obj/structure/platform/industrial_alt{ + dir = 1; + layer = 2.89 + }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "vz" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/light/dim/directional/south, +/obj/structure/crate_shelf, +/obj/machinery/airalarm/directional/east, +/obj/machinery/camera/autoname{ + dir = 1 + }, /turf/open/floor/plasteel/tech, /area/ship/cargo) "vB" = ( -/obj/machinery/cryopod, -/obj/machinery/camera/autoname, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/cryo) -"vF" = ( -/obj/effect/turf_decal/siding/blue, -/obj/structure/closet/crate/freezer/blood, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, /obj/structure/railing{ - dir = 8; + dir = 5; layer = 4.1 }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/structure/closet/firecloset/wall/directional/west, +/turf/open/floor/plasteel/lightgrey, +/area/ship/hallway/central) +"vF" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 12; + pixel_y = 4 + }, +/obj/machinery/button/door{ + dir = 8; + id = "MedShutters"; + name = "Medical Shutters"; + pixel_x = 26; + req_access_txt = "5"; + req_ship_access = 1 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 25; + pixel_y = -9 + }, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloorwhite/corner, +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 9 + }, /turf/open/floor/plasteel/white, /area/ship/medical) +"vJ" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/specialized/engineering) "vO" = ( -/turf/open/floor/circuit/green/airless, -/area/ship/engineering/communications) +/obj/machinery/light/floor, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/science/ai_chamber) "vR" = ( -/obj/machinery/light/dim/directional/south, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 }, @@ -2135,15 +3140,17 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 1 }, -/turf/open/floor/plasteel/white, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "vS" = ( -/obj/structure/table/optable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/siding/blue, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/structure/crate_shelf, +/obj/structure/closet/crate/freezer/blood, +/obj/machinery/iv_drip, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/industrial/warning/cee, +/obj/effect/turf_decal/siding/thinplating/light/end, /turf/open/floor/plasteel/white, /area/ship/medical) "vT" = ( @@ -2165,20 +3172,23 @@ /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/maintenance/port) +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) "vV" = ( +/obj/effect/turf_decal/corner/opaque/blue/diagonal, /obj/structure/window/reinforced/spawner{ - dir = 4 + dir = 8 }, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/ert/lp/med, -/obj/item/clothing/mask/breath, -/obj/machinery/camera/autoname, -/obj/effect/turf_decal/siding/blue{ - dir = 5 +/obj/effect/turf_decal/borderfloorwhite{ + dir = 4 }, -/obj/item/tank/internals/emergency_oxygen, +/obj/machinery/computer/operating, /turf/open/floor/plasteel/white, /area/ship/medical) "wc" = ( @@ -2188,24 +3198,33 @@ /obj/machinery/door/window/northright{ dir = 4 }, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "Ranger_Port_maint_shut" - }, /obj/structure/cable/yellow{ icon_state = "0-8" }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_Port_maint_shut"; + name = "Engine Shutters" + }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "wf" = ( -/obj/machinery/telecomms/receiver/preset_right{ - autolinkers = list("receiverB","hub"); - freq_listening = list(1353,1447,1459); - network = "nt_commnet" +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = 8 + }, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/turf/open/floor/circuit/telecomms{ - initial_gas_mix = "TEMP=2.7" +/obj/item/radio/intercom/directional/east{ + pixel_y = -6 + }, +/obj/structure/platform/military{ + dir = 4 }, +/turf/open/floor/plasteel/tech/tcomms, /area/ship/engineering/communications) "wh" = ( /obj/machinery/power/shieldwallgen/atmos/roundstart{ @@ -2213,67 +3232,86 @@ id = "Ranger_Starboard_holofield" }, /obj/machinery/door/poddoor{ - id = "Rangar_Starboard_Blasts" + id = "Rangar_Starboard_Blasts"; + name = "Starboard Access" }, /obj/structure/cable, /obj/machinery/door/firedoor/border_only{ dir = 1 }, /obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/tech, /area/ship/hallway/starboard) "wp" = ( -/obj/item/clothing/suit/space/eva, -/obj/item/clothing/head/helmet/space/eva, /obj/item/clothing/mask/breath, /obj/item/tank/internals/emergency_oxygen, -/obj/structure/closet/emcloset/empty{ - name = "emergency EVA gear" - }, /obj/effect/turf_decal/siding/yellow{ dir = 6 }, -/turf/open/floor/plasteel/dark, +/obj/structure/railing{ + dir = 4; + layer = 4.1 + }, +/obj/machinery/suit_storage_unit/inherit{ + name = "Emergency EVA Suit" + }, +/obj/item/clothing/suit/space/fragile, +/obj/item/clothing/head/helmet/space/fragile, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) "wq" = ( /turf/open/floor/engine/hull, -/area/ship/external) +/area/ship/external/dark) "wu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/turf_decal/corner/opaque/brown/mono, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/dark, -/area/ship/storage) -"ww" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/machinery/telecomms/server/presets/nanotrasen{ + autolinkers = list("nanotrasen","hub"); + freq_listening = list(1353,1447,1459); + network = "nt_commnet" }, -/obj/effect/turf_decal/industrial/stand_clear{ +/obj/item/disk/holodisk/lp/stations, +/obj/effect/turf_decal/techfloor{ dir = 1 }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) +/turf/open/floor/circuit/telecomms, +/area/ship/engineering/communications) +"ww" = ( +/obj/machinery/light/dim/directional/west, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "wC" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6, -/obj/effect/turf_decal/borderfloorblack{ - dir = 6 +/obj/item/storage/box/donkpockets{ + pixel_x = -3 }, -/turf/open/floor/plasteel/tech/airless, -/area/ship/engineering/communications) -"wE" = ( -/obj/machinery/button/door{ - pixel_y = 21; - name = "Blast Doors"; - id = "Ranger_Port_Blasts" +/obj/item/storage/box/donkpockets/donkpocketpizza{ + pixel_x = 2; + pixel_y = 4 }, -/obj/machinery/button/shieldwallgen{ - pixel_y = 20; - pixel_x = 8; - id = "Ranger_Port_holofields" +/obj/item/storage/box/donkpockets/donkpocketspicy{ + pixel_x = 7; + pixel_y = 9 }, -/turf/open/floor/plasteel/white, +/obj/structure/table/reinforced{ + color = "#8A9397" + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/lightgrey, +/area/ship/hallway/central) +"wE" = ( +/obj/machinery/button/door{ + id = "Ranger_Port_Blasts"; + name = "Blast Doors"; + pixel_y = 21; + req_ship_access = 1 + }, +/obj/machinery/button/shieldwallgen{ + id = "Ranger_Port_holofields"; + pixel_x = 8; + pixel_y = 20 + }, +/obj/effect/turf_decal/trimline/transparent/white/filled/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "wT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -2283,26 +3321,10 @@ dir = 4 }, /obj/effect/turf_decal/trimline/opaque/red/filled/corner, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "wU" = ( -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 19; - pixel_y = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/orange/full, -/obj/effect/turf_decal/siding/yellow{ - dir = 6 - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/engineering) "xj" = ( /obj/structure/cable{ @@ -2314,36 +3336,55 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/turf_decal/trimline/opaque/ntblue/filled/line, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "xp" = ( -/obj/machinery/airalarm/directional/west, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/wood, -/area/ship/medical) +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/item/lighter/greyscale{ + pixel_x = 8; + pixel_y = -8 + }, +/obj/machinery/computer/helm/viewscreen/directional/south, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/pen/fourcolor{ + pixel_x = -6; + pixel_y = 3 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/bridge) "xq" = ( /obj/effect/turf_decal/industrial/warning, /turf/open/floor/plating, /area/ship/engineering) "xv" = ( -/obj/machinery/recharge_station, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/plasteel/white, -/area/ship/crew/toilet) +/obj/structure/curtain/bounty, +/obj/machinery/shower{ + dir = 1 + }, +/turf/open/floor/plating/catwalk_floor, +/area/ship/security) "xw" = ( -/obj/structure/table/wood, /obj/machinery/microwave, /obj/machinery/light/dim/directional/east, -/turf/open/floor/plasteel/dark, +/obj/structure/table/reinforced{ + color = "#8A9397" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "xA" = ( -/obj/structure/tank_dispenser/oxygen, +/obj/structure/crate_shelf, +/obj/structure/closet/crate/secure/loot, /obj/machinery/light/dim/directional/west, -/obj/effect/turf_decal/siding/yellow{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/starboard) +/turf/open/floor/plasteel/tech, +/area/ship/cargo) "xB" = ( /obj/structure/cable{ icon_state = "1-4" @@ -2354,44 +3395,67 @@ /obj/structure/cable/cyan{ icon_state = "4-9" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/maintenance/port) +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/effect/decal/cleanable/plasma, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) "xK" = ( /obj/structure/table/reinforced{ color = "#c1b6a5" }, -/obj/item/folder/blue{ - pixel_x = -6 +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/obj/item/folder/red{ - pixel_y = 2 +/obj/item/binoculars, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"xY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/item/folder{ - pixel_y = 5; - pixel_x = 7 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"yf" = ( +/obj/machinery/camera/autoname, +/obj/machinery/cryopod, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/cryo) "yi" = ( /obj/effect/turf_decal/industrial/warning, /obj/machinery/button/shieldwallgen{ dir = 8; + id = "AI_Core_Field_Engi"; pixel_x = 20; - pixel_y = -7; - id = "AI_Core_Field_Engi" + pixel_y = 9 }, /obj/machinery/button/door{ dir = 8; - pixel_x = 22; - name = "Blast Doors"; id = "Ranger_AI_Core_Blasts"; - pixel_y = 1 + name = "Access Blast Doors"; + pixel_x = 22; + pixel_y = 1; + req_access_txt = "10"; + req_ship_access = 1 }, /obj/structure/cable{ icon_state = "1-2" @@ -2401,68 +3465,158 @@ }, /turf/open/floor/plating, /area/ship/engineering) +"yk" = ( +/obj/machinery/computer/helm/viewscreen/directional/south, +/obj/machinery/computer/secure_data{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) "ym" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/lightgrey{ + dir = 10 + }, /turf/open/floor/plasteel/dark, /area/ship/crew/cryo) "yo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/structure/bodycontainer/morgue, +/obj/structure/window/reinforced/spawner, +/obj/effect/turf_decal/techfloor{ dir = 1 }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/hallway/starboard) +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) "yA" = ( -/obj/machinery/telecomms/hub{ - network = "nt_commnet"; - id = "Nanotrasen Communications Hub"; - autolinkers = list("hub","bus","relay","messaging","nanotrasen","broadcasterB","receiverB") +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 }, -/turf/open/floor/circuit/telecomms{ - initial_gas_mix = "TEMP=2.7" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, -/area/ship/engineering/communications) +/turf/open/floor/wood, +/area/ship/crew/dorm/captain) "yC" = ( -/obj/structure/toilet{ - dir = 1 +/obj/structure/fluff/hedge/opaque, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 5 }, -/turf/open/floor/plastic, -/area/ship/crew/toilet) -"yK" = ( -/obj/item/soap/nanotrasen, -/obj/structure/window/reinforced/tinted/frosted{ +/obj/structure/window/reinforced/survival_pod{ dir = 4 }, +/obj/structure/window/reinforced/survival_pod{ + dir = 1 + }, +/obj/structure/window/reinforced/survival_pod{ + density = 0; + dir = 5 + }, +/obj/structure/window/reinforced/survival_pod{ + density = 0; + dir = 9 + }, /turf/open/floor/plasteel/white, -/area/ship/crew/toilet) +/area/ship/crew/specialized/cargo) +"yF" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/specialized/security) +"yG" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "Ranger_Security_Specialist_Quarters"; + name = "Security Specialist's Quarters" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/crew/specialized/security) +"yK" = ( +/obj/machinery/camera/autoname{ + dir = 9 + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "yU" = ( -/obj/structure/table/reinforced, -/obj/item/storage/belt/utility, -/obj/item/t_scanner{ - pixel_x = 7; - pixel_y = 4 +/obj/machinery/door/window/brigdoor/eastright{ + dir = 2; + name = "Armory"; + req_access_txt = "1"; + req_ship_access = 1 }, -/obj/item/weldingtool{ - pixel_x = -6 +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 }, -/obj/item/stack/cable_coil/random, -/obj/item/multitool, -/turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/item/storage/box/ammo/c9mm{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/item/storage/box/ammo/c9mm{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/item/storage/box/ammo/c9mm{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/item/storage/box/ammo/c9mm{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/item/storage/box/ammo/c9mm_rubber{ + pixel_x = -9 + }, +/obj/structure/closet/crate/secure/gear{ + name = "Ammunition Crate" + }, +/obj/effect/decal/cleanable/wrapping, +/obj/item/ammo_box/magazine/smgm9mm{ + pixel_x = 11 + }, +/obj/item/ammo_box/magazine/smgm9mm{ + pixel_x = 11 + }, +/obj/item/ammo_box/magazine/smgm9mm{ + pixel_x = 11 + }, +/obj/item/ammo_box/magazine/smgm9mm{ + pixel_x = 11 + }, +/obj/item/ammo_box/magazine/co9mm, +/turf/open/floor/plasteel/lightgrey, +/area/ship/storage/equip) "yZ" = ( -/obj/structure/reagent_dispensers/watertank, /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable{ icon_state = "0-9" }, -/turf/open/floor/plasteel/tech, -/area/ship/storage) +/obj/machinery/suit_storage_unit/inherit{ + name = "Medical Specialist's Storage Unit" + }, +/obj/item/clothing/suit/space/hardsuit/ert/lp/med, +/obj/item/clothing/mask/breath, +/obj/item/tank/internals/oxygen, +/obj/effect/turf_decal/industrial/outline/blue, +/turf/open/floor/plasteel/lightgrey, +/area/ship/storage/equip) "zc" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/turf_decal/corner/opaque/ntblue/half, /obj/effect/turf_decal/industrial/warning{ dir = 8 }, @@ -2472,7 +3626,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half, +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "zi" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -2482,26 +3638,20 @@ dir = 1 }, /obj/machinery/door/airlock/public/glass, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 8 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "zB" = ( -/obj/machinery/camera/autoname{ - dir = 1 - }, -/obj/machinery/door/window{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/effect/turf_decal/siding/wood{ + dir = 10 }, -/turf/open/floor/circuit/green/airless, -/area/ship/engineering/communications) +/turf/open/floor/wood/ebony, +/area/ship/crew/specialized/cargo) "zC" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -2509,61 +3659,173 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/door/poddoor/shutters{ - dir = 8; - name = "Cargo Bay"; - id = "Ranger_Cargo_Door" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/structure/filingcabinet/chestdrawer{ + density = 0; + dir = 4; + pixel_x = -6 }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"zF" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/white, +/obj/item/paper/crumpled{ + pixel_x = 6; + pixel_y = -1 + }, +/obj/item/paper/crumpled{ + pixel_x = -4; + pixel_y = -6 + }, +/obj/item/paper/crumpled{ + pixel_x = -10; + pixel_y = 6 + }, +/obj/item/paper/crumpled, +/obj/structure/cable{ + icon_state = "6-8" + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"zF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) +"zM" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + id = "Ranger_Security_Specialist_Quarters"; + name = "Security Specialist's Quarters" + }, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/crew/specialized/security) +"zO" = ( +/obj/machinery/light/dim/directional/east, +/obj/machinery/shower{ + dir = 8; + pixel_y = 2 + }, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloorwhite/corner{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) "zW" = ( /turf/template_noop, /area/template_noop) +"Ab" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/security) "Ao" = ( -/obj/structure/cable{ - icon_state = "2-4" +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/button/door{ + dir = 4; + id = "Ranger_Medical_Specialist_Quarters"; + name = "Medical Quarters Windows"; + pixel_x = -22; + pixel_y = 1; + req_ship_access = 1 }, /turf/open/floor/wood, -/area/ship/crew/dorm) +/area/ship/crew/specialized/medical) "Av" = ( -/obj/structure/table/wood, /obj/item/toy/cards/deck{ pixel_x = -1; pixel_y = 10 }, -/turf/open/floor/plasteel/dark, +/obj/structure/table/reinforced{ + color = "#8A9397" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "Aw" = ( -/turf/open/floor/wood, -/area/ship/medical) +/obj/item/clothing/under/rank/medical/paramedic/skirt/lp, +/obj/item/clothing/under/rank/medical/paramedic/lp, +/obj/item/clothing/suit/hooded/wintercoat/medical, +/obj/item/clothing/head/beret/med, +/obj/item/storage/backpack/satchel/med, +/obj/item/storage/backpack/messenger/med, +/obj/item/storage/backpack/medic, +/obj/item/storage/backpack/duffelbag/med, +/obj/item/storage/backpack/ert/medical, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/closet/cabinet, +/obj/machinery/light/small/directional/south, +/obj/item/clothing/head/nanotrasen/cap/security, +/obj/item/clothing/under/nanotrasen/science, +/obj/item/clothing/under/nanotrasen/medical/paramedic, +/turf/open/floor/plasteel/tech, +/area/ship/crew/specialized/medical) "AF" = ( /obj/structure/chair/comfy/shuttle{ - dir = 4 + dir = 4; + name = "Operations Monitoring" }, /obj/machinery/light/dim/directional/north, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/button/door{ + id = "RangerStarboardShutters"; + name = "Starboard Corridor Shutters"; + pixel_x = -5; + pixel_y = 20; + req_ship_access = 1 + }, +/obj/machinery/button/door{ + id = "RangerPortShutters"; + name = "Port Corridor Shutters"; + pixel_x = 5; + pixel_y = 20; + req_ship_access = 1 + }, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "AH" = ( -/obj/effect/turf_decal/borderfloorblack/corner{ - dir = 8 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/turf_decal/steeldecal/steel_decals7{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, -/turf/open/floor/plasteel/tech/airless, -/area/ship/engineering/communications) +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/orange{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) "AP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -2574,36 +3836,70 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "AT" = ( /obj/effect/turf_decal/industrial/outline/blue, /obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/ship/maintenance/port) +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) "AZ" = ( -/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/item/radio/intercom/directional/west, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, /turf/open/floor/wood, -/area/ship/security) +/area/ship/crew/specialized/security) "Be" = ( -/obj/structure/reagent_dispensers/fueltank, /obj/machinery/light/dim/directional/south, /obj/machinery/button/door{ dir = 4; id = "Ranger_FireFighting_Shut"; - name = "Shutters"; + name = "Ready Room"; pixel_x = -22; - pixel_y = 6 + pixel_y = 6; + req_one_access = list(50, 10, 5, 1, 20); + req_one_access_txt = "50,10,5,1,20"; + req_ship_access = 1 }, -/turf/open/floor/plasteel/tech, -/area/ship/storage) +/obj/item/clothing/suit/space/hardsuit/ert/lp/sec, +/obj/machinery/suit_storage_unit/inherit{ + name = "Security Specialist's Storage Unit" + }, +/obj/item/clothing/mask/breath, +/obj/item/tank/internals/oxygen/red, +/obj/effect/turf_decal/industrial/outline/red, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -21; + pixel_y = -3 + }, +/turf/open/floor/plasteel/lightgrey, +/area/ship/storage/equip) "Bg" = ( /obj/machinery/power/shieldwallgen/atmos/roundstart{ dir = 8; id = "Ranger_Starboard_holofield" }, /obj/machinery/door/poddoor{ - id = "Rangar_Starboard_Blasts" + id = "Rangar_Starboard_Blasts"; + name = "Starboard Access" }, /obj/structure/cable{ icon_state = "0-9" @@ -2612,25 +3908,34 @@ dir = 1 }, /obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/tech, /area/ship/hallway/starboard) "Bh" = ( -/turf/open/floor/plasteel/stairs/wood, -/area/ship/engineering) -"Bl" = ( -/obj/effect/turf_decal/corner/opaque/orange/border{ +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/trimline/opaque/orange/arrow_ccw{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Bl" = ( +/obj/structure/chair/handrail{ dir = 8 }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/starboard) "Bo" = ( /obj/effect/turf_decal/steeldecal/steel_decals4, -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, /obj/effect/turf_decal/steeldecal/steel_decals7{ dir = 1 }, @@ -2640,19 +3945,33 @@ /obj/effect/turf_decal/steeldecal/steel_decals6{ dir = 8 }, -/turf/open/floor/plasteel/tech/airless, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 6 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, /area/ship/engineering/communications) +"Bv" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/specialized/cargo) "BA" = ( -/obj/machinery/shower{ +/obj/machinery/light/small/directional/east, +/obj/structure/toilet{ dir = 1 }, -/obj/structure/curtain, -/obj/item/bikehorn/rubberducky, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/siding/thinplating{ + color = "#a8b2b6"; + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) "BI" = ( -/obj/machinery/door/airlock/wood, -/turf/open/floor/plasteel/white, +/obj/machinery/door/airlock/wood{ + name = "Toilets"; + req_ship_access = 0 + }, +/turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) "BO" = ( /obj/machinery/power/smes/shuttle/precharged{ @@ -2661,38 +3980,37 @@ /obj/machinery/door/window/northleft{ dir = 4 }, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "Ranger_SB_maint_shut" - }, /obj/structure/cable/yellow{ icon_state = "0-8" }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_SB_maint_shut"; + name = "Engine Shutters" + }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "BX" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/closet/firecloset/wall/directional/west, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "BY" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 4 - }, /obj/structure/cable{ icon_state = "2-9" }, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "Ca" = ( -/obj/effect/turf_decal/corner/opaque/orange/full, /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable{ icon_state = "0-8" @@ -2703,20 +4021,22 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/siding/yellow{ +/obj/effect/turf_decal/spline/fancy/opaque/orange/corner{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/orange{ dir = 1 }, /turf/open/floor/plasteel/tech, /area/ship/engineering) "Cb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, /obj/machinery/light/dim/directional/west, -/turf/open/floor/plasteel/white, +/obj/structure/bed/roller, +/obj/effect/turf_decal/industrial/hatch/blue, +/obj/structure/sign/poster/official/pda_ad{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "Cg" = ( /obj/structure/cable{ @@ -2726,47 +4046,73 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) -"Cq" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/circuit/green/airless, -/area/ship/engineering/communications) -"Ct" = ( -/obj/structure/table/greyscale, -/obj/machinery/light/dim/directional/east, -/obj/effect/turf_decal/siding/blue{ - dir = 6 - }, -/obj/item/roller{ - pixel_x = 5; - pixel_y = 12 +"Cn" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 1 }, -/obj/item/roller{ - pixel_x = -3; - pixel_y = 7 +/obj/structure/crate_shelf, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -21; + pixel_y = 8 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"CB" = ( -/obj/effect/turf_decal/borderfloorblack{ - dir = 8 +/obj/machinery/button/door{ + dir = 4; + id = "Ranger_Cargo_Privacy"; + name = "Cargo Privacy Shutters"; + pixel_x = -22; + pixel_y = -1; + req_ship_access = 1 }, -/obj/effect/turf_decal/techfloor/hole/right, -/turf/open/floor/plasteel/tech/airless, -/area/ship/engineering/communications) -"CD" = ( -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 4 +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Cq" = ( +/obj/machinery/button/door{ + dir = 4; + id = "Ranger_AI_Core_Ext_Blasts"; + name = "Outer Window Blast Doors"; + pixel_x = -21 }, -/obj/effect/turf_decal/trimline/opaque/orange/arrow_ccw{ - dir = 8 +/obj/machinery/light/dim/directional/south, +/obj/machinery/telecomms/message_server/preset{ + autolinkers = list("messaging","hub"); + layer = 3.1; + network = "nt_commnet" }, -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/turf_decal/techfloor{ dir = 1 }, +/turf/open/floor/circuit/telecomms, +/area/ship/science/ai_chamber) +"Ct" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/blue, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /turf/open/floor/plasteel/white, +/area/ship/medical) +"CB" = ( +/obj/machinery/telecomms/bus/preset_four{ + autolinkers = list("hub","processor4","bus"); + freq_listening = list(1353,1447,1459); + id = "Nanotrasen Communications Bus"; + network = "nt_commnet" + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/circuit/telecomms, +/area/ship/engineering/communications) +"CD" = ( +/obj/machinery/computer/helm/viewscreen/directional/east, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/starboard) "CG" = ( /obj/machinery/door/airlock/public/glass, @@ -2776,68 +4122,108 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 8 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "CI" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/plasteel/dark, /area/ship/bridge) "CJ" = ( -/obj/machinery/atmospherics/components/binary/pump/layer2{ - dir = 8; - name = "Air Supply Pump" +/obj/machinery/camera/autoname{ + dir = 5 }, -/obj/machinery/door/firedoor/border_only{ +/obj/structure/railing{ + dir = 4; + layer = 4.1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, -/turf/open/floor/plating, +/obj/structure/closet/emcloset/wall/directional/west, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "CN" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{ - piping_layer = 2; - dir = 8; - layer = 2 - }, /obj/structure/window/reinforced{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, /turf/open/floor/engine/air, /area/ship/hallway/central) "CP" = ( -/obj/machinery/camera/autoname{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/engine/hull, -/area/ship/external) +/obj/machinery/door/poddoor{ + dir = 4; + id = "Ranger_Cycler_Shutters"; + name = "Air Cycler Lockdown" + }, +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"CW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/button/door{ + dir = 8; + id = "RangerCryoShutters"; + name = "Cryogenics Access"; + pixel_x = 21; + pixel_y = 3 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "RangerCryoShutters"; + name = "Cryogenic Storage" + }, +/turf/open/floor/plasteel/stairs{ + color = "#8A9397" + }, +/area/ship/crew/cryo) "Dd" = ( -/obj/machinery/portable_atmospherics/canister/air, /obj/effect/turf_decal/industrial/outline/orange, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/structure/platform/industrial_alt{ + dir = 8 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "Dr" = ( /obj/machinery/power/shieldwallgen/atmos/roundstart{ - id = "AI_Core_Field_Engi"; - dir = 8 + dir = 8; + id = "AI_Core_Field_Engi" }, /obj/machinery/door/poddoor{ dir = 2; - id = "Ranger_AI_Core_Blasts" + id = "Ranger_AI_Core_Blasts"; + name = "Communications Access" }, /obj/structure/cable, /obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/turf/open/floor/plating, +/turf/open/floor/noslip, /area/ship/engineering) "Ds" = ( /obj/machinery/camera/autoname{ dir = 6 }, -/obj/effect/turf_decal/borderfloorblack/corner, /obj/effect/turf_decal/steeldecal/steel_decals7{ dir = 1 }, @@ -2847,22 +4233,85 @@ /obj/effect/turf_decal/steeldecal/steel_decals6{ dir = 8 }, -/turf/open/floor/plasteel/tech/airless, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 5 + }, +/obj/structure/platform/military{ + dir = 1 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, /area/ship/engineering/communications) "Dx" = ( -/turf/open/floor/plasteel/dark, +/obj/machinery/recharger{ + pixel_x = 6; + pixel_y = -3 + }, +/obj/machinery/button/door{ + id = "SecureCell"; + name = "Cell Bolt Controls"; + normaldoorcontrol = 1; + pixel_x = 7; + pixel_y = 10; + req_access_txt = "1"; + req_ship_access = 1; + specialfunctions = 4 + }, +/obj/structure/table/reinforced{ + color = "#8A9397" + }, +/obj/machinery/button/door{ + id = "SecShutters"; + layer = 2.92; + name = "Privacy Shutters"; + pixel_x = -5; + pixel_y = 10; + req_access_txt = "1"; + req_ship_access = 1 + }, +/obj/machinery/button/door{ + id = "CellHallShutters"; + layer = 2.91; + name = "Cell Hall Shutters"; + pixel_x = -5; + pixel_y = 2; + req_access_txt = "1"; + req_ship_access = 1 + }, +/obj/machinery/button/door{ + id = "SecCellWindowShutters"; + name = "Cell Window Shutters"; + pixel_x = -5; + pixel_y = -6; + req_access_txt = "1"; + req_ship_access = 1 + }, +/turf/open/floor/mineral/plastitanium/red/brig, /area/ship/security) "DE" = ( -/obj/item/storage/box/metalfoam, -/obj/item/watertank/atmos, -/obj/structure/rack, -/obj/effect/turf_decal/corner/opaque/brown/mono, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/holopad, +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/equip) +"DQ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 4 + }, /turf/open/floor/plasteel/dark, -/area/ship/storage) +/area/ship/hallway/central) "DW" = ( /obj/structure/cable/cyan{ icon_state = "0-4" @@ -2872,28 +4321,133 @@ }, /obj/machinery/light/dim/directional/north, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "DZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/button/door{ - dir = 4; - pixel_x = -20; - name = "Cargo Bay Shutters"; - id = "Ranger_Cargo_Door"; - pixel_y = 1 +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 6 }, -/turf/open/floor/plasteel/tech, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_y = 16 + }, +/obj/item/paper_bin{ + pixel_x = 7; + pixel_y = -4 + }, +/obj/item/pen/fountain{ + pixel_x = 6; + pixel_y = -5 + }, +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/item/paper/crumpled{ + pixel_x = -4; + pixel_y = -6 + }, +/obj/item/paper/crumpled/muddy{ + name = "coffee-stained paper scrap"; + pixel_x = -9; + pixel_y = 6 + }, +/obj/item/toy/plush/moth/atlas{ + pixel_x = 9; + pixel_y = 16 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 1 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/white, /area/ship/cargo) "Ek" = ( /obj/machinery/computer/telecomms/server, -/turf/open/floor/plasteel/dark, +/obj/structure/window/reinforced/survival_pod{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) +"Ep" = ( +/obj/structure/chair/comfy/blue/directional/east, +/obj/item/toy/plush/moth/royal{ + layer = 3.05; + pixel_x = -6; + pixel_y = 11 + }, +/obj/item/radio/intercom/wideband/directional/south, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/item/toy/plush/moth/lovers{ + layer = 3.05; + pixel_x = 4 + }, +/turf/open/floor/circuit/telecomms, +/area/ship/science/ai_chamber) "Eq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, +/obj/effect/turf_decal/siding{ + color = "#474747" + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"Et" = ( +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"EA" = ( +/obj/structure/closet/crate/hydroponics{ + name = "Sustenance Crate" + }, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/storage/ration/assorted_salted_offal, +/obj/item/storage/ration/battered_fish_sticks, +/obj/item/storage/ration/beef_goulash, +/obj/item/storage/ration/beef_strips, +/obj/item/storage/ration/fried_fish, +/obj/item/reagent_containers/food/snacks/popcorn{ + desc = "Dehydrated, salted sunflower seeds, for snacking!"; + icon = 'icons/obj/hydroponics/seeds.dmi'; + icon_state = "seed-sunflower"; + list_reagents = list(/datum/reagent/consumable/nutriment = 4); + name = "Snacking Sunflower Seeds" + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/storage/ration/cheese_pizza_slice, +/obj/item/storage/ration/pepperoni_pizza_slice, /turf/open/floor/plasteel/tech, /area/ship/cargo) +"EE" = ( +/obj/machinery/camera/autoname{ + dir = 10 + }, +/obj/item/weldingtool/empty{ + name = "sand-covered welding tool" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "EL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/door/firedoor/border_only{ @@ -2902,46 +4456,47 @@ /obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ dir = 1 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "EP" = ( -/obj/machinery/vending/snack/random, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) +/obj/effect/turf_decal/steeldecal/steel_decals6, +/obj/machinery/telecomms/receiver/preset_right{ + autolinkers = list("receiverB","hub"); + freq_listening = list(1353,1447,1459); + network = "nt_commnet" + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/platform/military{ + dir = 1 + }, +/turf/open/floor/circuit/telecomms, +/area/ship/engineering/communications) "Ff" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 1 }, -/turf/open/floor/plasteel/white, +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "Fg" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/ert/lp, -/obj/item/clothing/mask/breath, -/obj/item/tank/internals/emergency_oxygen, -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Fh" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 9 - }, -/obj/machinery/door/airlock/external{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-8" }, -/obj/machinery/door/firedoor/border_only{ +/obj/structure/chair/office{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) +/turf/open/floor/wood/ebony, +/area/ship/crew/specialized/cargo) "Fw" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2952,23 +4507,31 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/machinery/door/airlock/wood, +/obj/machinery/door/airlock/wood{ + name = "Restroom"; + req_ship_access = 0 + }, /turf/open/floor/plasteel/white, /area/ship/crew/toilet) "Fx" = ( -/obj/structure/table/wood, /obj/item/storage/box/matches{ pixel_y = 4 }, /obj/item/reagent_containers/glass/maunamug{ - pixel_y = 9; - pixel_x = 8 + pixel_x = 8; + pixel_y = 9 }, /obj/item/clothing/mask/cigarette/cigar/havana{ - pixel_y = 2; - pixel_x = -5 + pixel_x = -5; + pixel_y = 2 }, -/turf/open/floor/plasteel/dark, +/obj/structure/table/reinforced{ + color = "#8A9397" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "FB" = ( /obj/structure/cable{ @@ -2977,18 +4540,36 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/orange/full, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering Sector" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, /obj/effect/turf_decal/siding/yellow{ - dir = 5 + dir = 4 }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/effect/turf_decal/siding/yellow{ + dir = 8 }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/pod/light, /area/ship/engineering) +"FM" = ( +/obj/machinery/door/poddoor/shutters{ + id = "Ranger_Engineering_Specialist_Quarters"; + name = "Engineering Specialist's Quarters" + }, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/crew/specialized/engineering) "FQ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2999,33 +4580,33 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) "Gc" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/under/rank/security/head_of_security/alt/skirt/lp, -/obj/item/clothing/under/rank/security/head_of_security/alt/lp, -/obj/item/clothing/shoes/jackboots, -/obj/item/clothing/suit/jacket/miljacket, -/obj/item/clothing/suit/jacket/leather/duster/command, -/obj/item/storage/backpack/messenger/com, -/obj/item/storage/backpack/satchel/cap, -/obj/item/storage/backpack/captain, -/obj/item/storage/backpack/duffelbag/captain, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, /obj/machinery/light/dim/directional/north, -/turf/open/floor/wood, -/area/ship/crew/dorm) +/obj/machinery/camera/autoname{ + dir = 5 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/ert/lp, +/obj/item/clothing/mask/breath, +/obj/item/tank/internals/emergency_oxygen/double, +/turf/open/floor/plasteel/tech, +/area/ship/crew/dorm/captain) "Ge" = ( /obj/structure/cable{ icon_state = "0-8" }, /obj/machinery/power/port_gen/pacman, -/obj/item/stack/sheet/mineral/plasma/twenty, /obj/effect/turf_decal/industrial/outline/orange, +/obj/item/stack/sheet/mineral/plasma/twenty, /turf/open/floor/plating, /area/ship/engineering) "Gh" = ( @@ -3035,36 +4616,41 @@ /obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, /obj/machinery/light/floor, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "Gk" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 }, -/obj/structure/closet/emcloset/wall/directional/west, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "Gn" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_x = 9; - pixel_y = 3 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 }, -/obj/item/toy/plush/moth/snow{ - pixel_x = -3 +/obj/machinery/door/window{ + name = "Toilet"; + opacity = 1 }, -/turf/open/floor/wood, -/area/ship/medical) +/obj/item/soap/nanotrasen, +/obj/structure/closet/wall/directional/west{ + name = "Soap Holder" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Gs" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 10 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "Gz" = ( /obj/effect/turf_decal/steeldecal/steel_decals7{ dir = 1 @@ -3075,22 +4661,29 @@ /obj/effect/turf_decal/steeldecal/steel_decals7{ dir = 4 }, -/turf/open/floor/plasteel/tech/airless, +/turf/open/floor/plasteel/tech/tcomms, /area/ship/engineering/communications) "GC" = ( +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/structure/window/reinforced/spawner, /obj/structure/window/reinforced/spawner{ - dir = 4 + dir = 8 }, -/obj/effect/turf_decal/siding/blue{ +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/effect/turf_decal/borderfloorwhite/corner{ dir = 4 }, /turf/open/floor/plasteel/white, /area/ship/medical) "GE" = ( -/obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/structure/bed, -/obj/item/bedsheet/medical, -/turf/open/floor/plasteel/white, +/obj/structure/table/optable, +/obj/effect/turf_decal/borderfloorwhite/full, +/obj/machinery/defibrillator_mount/loaded{ + pixel_y = 24 + }, +/turf/open/floor/noslip, /area/ship/medical) "GG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -3102,65 +4695,62 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "GY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood, -/area/ship/engineering) +/obj/structure/girder/reinforced, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "Ha" = ( -/obj/structure/closet/secure_closet/lp/lieutenant, -/obj/item/stock_parts/cell/gun, -/obj/item/melee/classic_baton/telescopic, -/obj/item/kitchen/knife/combat/survival, -/obj/item/gps, -/obj/item/screwdriver, -/obj/effect/turf_decal/siding/wood{ - dir = 10 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 7; - pixel_y = -20 +/obj/effect/turf_decal/spline/fancy/opaque/orange{ + dir = 5 }, -/obj/item/ammo_box/c9mm, -/obj/item/ammo_box/c9mm, -/obj/item/ammo_box/c9mm/rubbershot, -/obj/item/ammo_box/magazine/co9mm, -/obj/item/storage/pistolcase/commander, -/obj/item/storage/pistolcase/egun, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Hd" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/door/poddoor/shutters{ - id = "Engineering_Specialist_Shutters"; +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Hd" = ( +/obj/structure/grille, /obj/structure/cable{ icon_state = "5-8" }, /obj/machinery/door/firedoor/window, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Engineering_Specialist_Shutters"; + name = "Communications Shutters" + }, +/obj/structure/window/reinforced/fulltile/shuttle, /turf/open/floor/plating, /area/ship/engineering) +"Hp" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/structure/curtain/bounty, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, +/area/ship/crew/specialized/cargo) "Hs" = ( +/obj/effect/turf_decal/spline/fancy/opaque/orange{ + dir = 1 + }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/orange/full, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/siding/yellow{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, /turf/open/floor/plasteel/tech, /area/ship/engineering) @@ -3168,14 +4758,13 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/turf_decal/trimline/opaque/orange/arrow_cw{ +/obj/effect/turf_decal/trimline/opaque/vired/arrow_cw{ dir = 8 }, -/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ +/obj/effect/turf_decal/techfloor{ dir = 4 }, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) "HA" = ( /obj/machinery/power/shieldwallgen/atmos/roundstart{ @@ -3183,7 +4772,8 @@ id = "Ranger_Port_holofields" }, /obj/machinery/door/poddoor{ - id = "Ranger_Port_Blasts" + id = "Ranger_Port_Blasts"; + name = "Portside Access" }, /obj/structure/cable{ icon_state = "0-6" @@ -3192,7 +4782,8 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) "HZ" = ( /obj/machinery/atmospherics/components/binary/pump{ @@ -3200,16 +4791,41 @@ }, /obj/effect/decal/cleanable/oil/slippery, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "Ib" = ( /obj/machinery/button/door{ dir = 4; - pixel_x = -21; + id = "Ranger_Port_maint_shut"; name = "Shutters"; - id = "Ranger_Port_maint_shut" + pixel_x = -21; + req_ship_access = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) +"Ih" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = 14; + pixel_y = 4 + }, +/obj/item/stack/medical/suture{ + amount = 1; + name = "bloody suture" + }, +/obj/item/melee/knife/kitchen{ + pixel_y = -12 + }, +/turf/open/floor/plasteel/lightgrey, +/area/ship/hallway/central) "Iy" = ( /obj/structure/table/wood, /obj/machinery/light/dim/directional/north, @@ -3228,18 +4844,38 @@ /obj/item/radio{ pixel_x = -2 }, +/obj/item/reagent_containers/food/drinks/soda_cans/sol_dry{ + pixel_x = 8; + pixel_y = 9 + }, /turf/open/floor/plasteel/dark, /area/ship/crew/cryo) "Iz" = ( -/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/siding/red{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/siding/red{ + dir = 5 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 11 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, /obj/structure/cable{ - icon_state = "0-10" + icon_state = "1-10" }, /turf/open/floor/plasteel/tech, -/area/ship/cargo) +/area/ship/security) "IC" = ( -/obj/effect/turf_decal/corner/opaque/orange/full, -/obj/machinery/door/airlock/engineering/glass, /obj/structure/cable{ icon_state = "1-2" }, @@ -3249,18 +4885,30 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/siding/yellow, +/obj/machinery/door/airlock/engineering/glass{ + name = "Electrical Bay" + }, +/turf/open/floor/pod/light, /area/ship/engineering) "IE" = ( -/obj/machinery/light/floor, -/turf/open/floor/circuit/green/airless, -/area/ship/engineering/communications) +/obj/structure/AIcore, +/obj/item/mmi/posibrain, +/obj/item/circuitboard/aicore, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/circuit/telecomms, +/area/ship/science/ai_chamber) "IM" = ( /obj/structure/chair/sofa/brown/directional/west, /obj/item/toy/plush/blahaj{ layer = 3.1 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "IQ" = ( /obj/machinery/cryopod, @@ -3272,61 +4920,86 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "Ji" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/ert/lp/sec, -/obj/item/clothing/mask/breath, -/obj/machinery/light/dim/directional/east, -/obj/effect/turf_decal/siding/red{ - dir = 5 +/obj/effect/turf_decal/borderfloorblack, +/obj/structure/chair/handrail{ + dir = 4 }, -/obj/item/tank/internals/emergency_oxygen, -/turf/open/floor/mineral/plastitanium/red/brig, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plasteel/tech, /area/ship/security) "Js" = ( -/obj/machinery/holopad, -/obj/effect/turf_decal/siding/red{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/turf_decal/siding/red/corner, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/security) -"Jw" = ( -/obj/structure/cable/cyan{ - icon_state = "0-4" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/power/terminal{ +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"JK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/effect/turf_decal/siding/wood/corner{ +/obj/effect/turf_decal/siding/red{ dir = 4 }, -/obj/structure/mirror{ - pixel_x = -25 +/obj/effect/turf_decal/siding/red{ + dir = 8 + }, +/obj/machinery/door/airlock/security{ + dir = 8; + name = "Security Specialist's Office"; + req_access_txt = "1" }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/wood, -/area/ship/engineering) -"JO" = ( -/obj/machinery/door/airlock/command, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/turf/open/floor/pod/light, +/area/ship/security) +"Jw" = ( +/obj/structure/cable/cyan{ + icon_state = "0-4" }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/wood, -/area/ship/crew/dorm) +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"JK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"JO" = ( +/obj/effect/turf_decal/industrial/outline/blue, +/obj/structure/rack, +/obj/item/extinguisher/advanced{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/extinguisher/advanced{ + pixel_x = 12; + pixel_y = 10 + }, +/obj/item/extinguisher{ + pixel_x = -3 + }, +/obj/item/extinguisher{ + pixel_x = -9; + pixel_y = -5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) "JP" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3337,41 +5010,74 @@ /obj/machinery/camera/autoname{ dir = 1 }, +/obj/item/radio/intercom/directional/south, /turf/open/floor/plating, /area/ship/engineering) "JR" = ( -/turf/closed/wall/r_wall, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/crew/cryo) "Kf" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/ntblue/three_quarters, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/three_quarters, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "Kg" = ( -/turf/closed/wall/r_wall, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/engineering/communications) "Kj" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ dir = 8 }, /obj/effect/decal/cleanable/plasma, +/obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt{ + dir = 4 + }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "Kl" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 8 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/computer/helm/viewscreen/directional/west, +/turf/open/floor/plasteel/lightgrey, +/area/ship/hallway/central) +"Kq" = ( +/obj/machinery/door/airlock/command{ + name = "Lieutenant's Quarters"; + req_access_txt = "20" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, +/obj/machinery/door/firedoor/border_only, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/camera/autoname{ - dir = 5 +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/central) +/turf/open/floor/pod/light, +/area/ship/crew/dorm/captain) "Kt" = ( -/obj/machinery/holopad, +/obj/machinery/computer/helm/viewscreen/directional/west, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/light/corner, /turf/open/floor/plasteel/white, /area/ship/medical) "Kw" = ( @@ -3380,18 +5086,25 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 + dir = 5 }, -/turf/open/floor/plastic, +/turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) "KC" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/brown/mono, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/item/radio/intercom/directional/west, +/obj/machinery/camera/autoname{ + dir = 5 }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/wood, +/area/ship/crew/specialized/engineering) "KQ" = ( /obj/structure/closet, /obj/item/pickaxe, @@ -3404,8 +5117,66 @@ /obj/effect/turf_decal/siding/yellow{ dir = 4 }, -/turf/open/floor/plasteel/dark, +/obj/structure/railing{ + dir = 4; + layer = 4.1 + }, +/obj/structure/sign/poster/official/safety_internals{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) +"KT" = ( +/obj/structure/table/reinforced{ + color = "#8A9397" + }, +/obj/item/flashlight/lamp{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/paper_bin{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/pen/red{ + pixel_x = 6 + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) +"KU" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 5 + }, +/obj/item/stack/tape{ + pixel_x = 6; + pixel_y = 10 + }, +/obj/item/stack/tape{ + layer = 3.01; + pixel_x = 7; + pixel_y = 17 + }, +/obj/item/hand_labeler{ + pixel_x = -7; + pixel_y = 8 + }, +/obj/item/folder/yellow{ + pixel_x = 6 + }, +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 9 + }, +/obj/item/radio/intercom/directional/west{ + pixel_x = -28 + }, +/obj/structure/sign/nanotrasen/ns{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo) "KX" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3423,25 +5194,32 @@ /obj/effect/turf_decal/trimline/opaque/red/filled/corner{ dir = 8 }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/trimline/transparent/white/filled/corner, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "Lg" = ( -/obj/structure/window/reinforced, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, /obj/effect/turf_decal/siding/red, -/turf/open/floor/mineral/plastitanium/red/brig, +/obj/structure/cable{ + icon_state = "5-8" + }, +/turf/open/floor/plasteel/tech, /area/ship/security) "Lk" = ( -/turf/closed/wall/r_wall, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/bridge) "Lt" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 1 }, -/turf/open/floor/plastic, -/area/ship/crew/toilet) +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/starboard) "Lu" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3452,32 +5230,38 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ +/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ dir = 4 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "Lw" = ( -/obj/structure/bed, -/obj/item/bedsheet/orange, -/obj/effect/turf_decal/siding/wood{ - dir = 6 +/obj/effect/turf_decal/industrial/outline/orange, +/obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt{ + dir = 8 }, -/obj/effect/turf_decal/siding/wood/corner{ +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"LM" = ( +/obj/effect/turf_decal/siding/red/corner, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 1 }, -/turf/open/floor/wood, -/area/ship/engineering) -"LM" = ( -/obj/machinery/telecomms/processor/preset_four{ - autolinkers = list("processor4","bus"); - network = "nt_commnet"; - id = "Nanotrasen Communications Processor" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/turf/open/floor/circuit/telecomms{ - initial_gas_mix = "TEMP=2.7" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/area/ship/engineering/communications) +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) "LQ" = ( /obj/structure/cable{ icon_state = "0-4" @@ -3485,6 +5269,7 @@ /obj/effect/turf_decal/industrial/outline/orange, /obj/machinery/power/port_gen/pacman/super, /obj/item/stack/sheet/mineral/uranium/five, +/obj/effect/decal/cleanable/greenglow, /turf/open/floor/plating, /area/ship/engineering) "LU" = ( @@ -3493,39 +5278,47 @@ id = "Ranger_Bridge_Shutters" }, /obj/structure/grille, -/obj/structure/window/reinforced/fulltile, /obj/machinery/door/firedoor/window, +/obj/structure/window/reinforced/fulltile/shuttle, /turf/open/floor/plating, /area/ship/bridge) "LV" = ( -/turf/closed/wall/r_wall, -/area/ship/maintenance/port) +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/engines/port) "Ma" = ( -/obj/structure/chair/wood, -/obj/effect/turf_decal/siding/red{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 1 }, -/obj/effect/turf_decal/siding/red{ - dir = 8 +/obj/structure/chair/plastic{ + dir = 4 }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/security) +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/starboard) "Mc" = ( -/obj/structure/toilet{ - dir = 1 +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "Ranger_Medical_Specialist_Quarters"; + name = "Medical Specialist's Quarters" }, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/plastic, -/area/ship/crew/toilet) +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/crew/specialized/medical) "Md" = ( -/obj/structure/AIcore, -/obj/item/mmi/posibrain, -/obj/item/circuitboard/aicore, -/turf/open/floor/circuit/green/airless, -/area/ship/engineering/communications) +/obj/structure/grille, +/obj/machinery/door/poddoor{ + dir = 4; + id = "Ranger_AI_Core_Ext_Blasts" + }, +/obj/machinery/door/firedoor/window, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating, +/area/ship/science/ai_chamber) "Mf" = ( -/turf/closed/wall/r_wall, -/area/ship/crew/dorm) +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm/captain) "Mg" = ( /obj/structure/cable{ icon_state = "1-2" @@ -3533,60 +5326,73 @@ /obj/structure/cable{ icon_state = "1-6" }, -/obj/effect/turf_decal/corner/opaque/orange/border{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/orange/arrow_cw{ +/obj/structure/chair/handrail{ dir = 4 }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/starboard) "Mh" = ( -/obj/machinery/computer/apc_control{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/science/ai_chamber) "Mm" = ( /obj/structure/cable{ icon_state = "5-8" }, -/turf/open/floor/plasteel/white, +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/effect/turf_decal/trimline/transparent/white/filled/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "Mn" = ( -/obj/machinery/holopad, +/obj/machinery/holopad{ + pixel_x = 1; + pixel_y = 1 + }, /obj/effect/turf_decal/trimline/opaque/ntblue, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "Ms" = ( /obj/machinery/button/door{ - pixel_y = -20; - name = "Ranger Bridge Shutters"; - id = "Ranger_Bridge_Shutters"; dir = 1; - pixel_x = 6 + id = "Ranger_Bridge_Shutters"; + name = "Ranger Bridge Shutters"; + pixel_x = 6; + pixel_y = -20; + req_ship_access = 1 }, +/obj/effect/turf_decal/steeldecal/steel_decals4, /obj/effect/turf_decal/techfloor{ - dir = 8 + dir = 10 }, -/obj/effect/turf_decal/steeldecal/steel_decals4, -/turf/open/floor/plasteel/dark, +/obj/machinery/door/window/survival_pod{ + dir = 8; + name = "Captain's Nest"; + req_one_access_txt = list(50, 10, 5, 1, 20); + req_ship_access = 1 + }, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "Mt" = ( /obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/orange/full, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 + icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/siding/yellow{ +/obj/machinery/holopad, +/obj/effect/turf_decal/spline/fancy/opaque/orange{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 }, +/obj/item/radio/intercom/directional/north, /turf/open/floor/plasteel/tech, /area/ship/engineering) "Mu" = ( @@ -3599,40 +5405,55 @@ pixel_x = -10 }, /obj/item/flashlight/lamp/green{ + layer = 4.2; pixel_x = 5; - pixel_y = 13; - layer = 4.2 + pixel_y = 13 }, /obj/effect/turf_decal/siding/wood{ dir = 5 }, /turf/open/floor/wood, -/area/ship/crew/dorm) +/area/ship/crew/dorm/captain) "Mx" = ( -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 19; - pixel_y = 8 +/obj/effect/turf_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/camera/autoname{ + dir = 5 + }, +/obj/machinery/button/door{ + dir = 4; + id = "AiCore"; + name = "Core Access"; + pixel_x = -26; + req_access_txt = "20"; + req_ship_access = 1 }, -/turf/open/floor/plasteel/tech/airless, +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/structure/platform/military{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/tcomms, /area/ship/engineering/communications) "Mz" = ( -/obj/effect/turf_decal/corner/opaque/orange/full, /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/cable{ icon_state = "1-4" }, -/obj/effect/turf_decal/siding/yellow{ - dir = 9 - }, /obj/machinery/button/door{ dir = 4; - pixel_y = 6; - pixel_x = -22; id = "Engineering_Specialist_Shutters"; - name = "Privacy Shutters" + name = "Comms Shutters"; + pixel_x = -22; + pixel_y = 6 }, /obj/machinery/camera/autoname{ dir = 5 @@ -3643,12 +5464,27 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 }, +/obj/effect/decal/cleanable/oil, +/obj/effect/turf_decal/spline/fancy/opaque/orange{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/orange{ + dir = 9 + }, /turf/open/floor/plasteel/tech, /area/ship/engineering) "MD" = ( -/obj/item/disk/design_disk/ammo_c9mm, -/turf/open/floor/plating, -/area/ship/engineering) +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/structure/platform/military/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/engineering/communications) "MI" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -3657,33 +5493,63 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 1 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "MK" = ( -/obj/structure/table/reinforced, -/obj/item/aicard, -/obj/item/stack/sheet/rglass{ - amount = 25 +/obj/item/aiModule/reset/purge{ + pixel_x = 1; + pixel_y = 6 }, -/obj/item/wrench, -/obj/item/stack/cable_coil/cyan, -/turf/open/floor/circuit/green/airless, -/area/ship/engineering/communications) +/obj/item/aiModule/reset{ + pixel_x = 4; + pixel_y = -2 + }, +/obj/machinery/light/dim/directional/north, +/obj/effect/turf_decal/techfloor, +/obj/structure/table/reinforced{ + color = "#8A9397" + }, +/turf/open/floor/circuit/telecomms, +/area/ship/science/ai_chamber) "ML" = ( /obj/machinery/light/dim/directional/north, /obj/effect/turf_decal/industrial/outline/blue, /obj/structure/closet/crate/trashcart/laundry, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) +/obj/item/clothing/under/nanotrasen, +/obj/item/clothing/under/nanotrasen, +/obj/item/clothing/shoes/sneakers/black{ + pixel_y = -10 + }, +/obj/item/clothing/shoes/sneakers/black{ + pixel_y = -10 + }, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/storage/backpack/duffelbag, +/obj/item/storage/backpack/duffelbag, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"MR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) "MW" = ( /obj/item/radio/intercom/directional/south, /obj/machinery/computer/helm{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "MY" = ( /obj/effect/turf_decal/corner/opaque/ntblue/border{ @@ -3698,7 +5564,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "Nd" = ( /obj/structure/cable{ @@ -3708,52 +5574,59 @@ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/open/floor/plating, /area/ship/engineering) "Nf" = ( -/obj/machinery/button/door{ +/obj/machinery/newscaster/security_unit/directional/south, +/obj/structure/chair/office{ dir = 4; - pixel_x = -21; - name = "Outer Window Blast Doors"; - id = "Ranger_AI_Core_Ext_Blasts" + name = "tactical swivel chair" }, -/obj/machinery/light/dim/directional/south, -/turf/open/floor/circuit/green/airless, -/area/ship/engineering/communications) +/obj/machinery/computer/security/telescreen{ + dir = 1; + network = list("ss13"); + pixel_y = -28 + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) "Nn" = ( -/obj/structure/cable{ - icon_state = "2-4" +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 10 }, -/turf/open/floor/circuit/green/airless, -/area/ship/engineering/communications) +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/science/ai_chamber) "Nu" = ( /obj/machinery/vending/cigarette, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "Ny" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/suit/hooded/wintercoat/engineering, -/obj/item/clothing/head/beret/eng/hazard, -/obj/item/storage/backpack/satchel/eng, -/obj/item/storage/backpack/messenger/engi, -/obj/item/storage/backpack/industrial, -/obj/item/storage/backpack/duffelbag/engineering, -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/obj/item/clothing/under/rank/engineering/engineer/nt/lp, -/obj/item/clothing/under/rank/engineering/engineer/nt/skirt/lp, -/turf/open/floor/wood, +/obj/machinery/light/dim/directional/east, +/obj/structure/frame/machine, +/turf/open/floor/plasteel/tech, /area/ship/engineering) "NC" = ( /obj/machinery/camera/autoname{ dir = 6 }, -/obj/machinery/light/floor, +/obj/machinery/light/floor{ + pixel_y = -9 + }, +/obj/structure/flora/driftwood{ + name = "twigs" + }, /turf/open/floor/engine/hull, -/area/ship/external) +/area/ship/external/dark) "NM" = ( +/obj/structure/railing, /turf/open/floor/plasteel/stairs{ + color = "#a8b2b6"; dir = 4 }, /area/ship/bridge) @@ -3761,91 +5634,244 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/turf_decal/corner/opaque/ntblue/half, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 9 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "NS" = ( -/obj/structure/railing{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/obj/machinery/door/airlock/medical{ dir = 8; - layer = 4.1 + name = "Medical Specialist's Quarters"; + req_access_txt = "5" }, -/obj/structure/closet/crate/medical{ - name = "anesthetics crate" +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/item/tank/internals/anesthetic, -/obj/item/tank/internals/anesthetic{ - pixel_x = 3 +/turf/open/floor/pod/light, +/area/ship/crew/specialized/medical) +"NV" = ( +/obj/structure/closet/crate/secure/plasma{ + name = "Relay Parts Crate" }, -/obj/item/clothing/mask/breath/medical, -/obj/item/clothing/mask/breath/medical{ +/obj/item/storage/box/stockparts/basic, +/obj/item/circuitboard/machine/telecomms/relay{ + pixel_x = -5; + pixel_y = 9 + }, +/obj/item/circuitboard/machine/telecomms/relay{ + pixel_x = -5; + pixel_y = 9 + }, +/obj/item/circuitboard/machine/telecomms/relay{ + pixel_x = -5; + pixel_y = 9 + }, +/obj/item/encryptionkey/nanotrasen{ + pixel_x = -1 + }, +/obj/item/encryptionkey/nanotrasen{ pixel_x = 3 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) +/obj/item/encryptionkey/nanotrasen{ + pixel_x = 7 + }, +/obj/item/stack/cable_coil/cyan{ + pixel_x = 6 + }, +/obj/item/stock_parts/subspace/filter{ + pixel_x = -8 + }, +/obj/item/stock_parts/subspace/filter{ + pixel_x = -8 + }, +/obj/item/stock_parts/subspace/filter{ + pixel_x = -8 + }, +/obj/item/stock_parts/subspace/filter{ + pixel_x = -8 + }, +/obj/item/stock_parts/subspace/filter{ + pixel_x = -8 + }, +/obj/item/stock_parts/subspace/filter{ + pixel_x = -8 + }, +/obj/item/stock_parts/manipulator{ + pixel_x = 7; + pixel_y = 7 + }, +/obj/item/stock_parts/manipulator{ + pixel_x = 7; + pixel_y = 7 + }, +/obj/item/stock_parts/manipulator{ + pixel_x = 7; + pixel_y = 7 + }, +/obj/item/stock_parts/manipulator{ + pixel_x = 7; + pixel_y = 7 + }, +/obj/item/stock_parts/manipulator{ + pixel_x = 7; + pixel_y = 7 + }, +/obj/item/stock_parts/manipulator{ + pixel_x = 7; + pixel_y = 7 + }, +/obj/structure/crate_shelf, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plating, +/area/ship/engineering) "NZ" = ( +/obj/item/melee/classic_baton/telescopic, +/obj/item/melee/knife/survival, +/obj/item/gps, +/obj/item/screwdriver, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -20 + }, +/obj/item/megaphone/command, +/obj/structure/closet/secure_closet/lp/lieutenant, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/item/stock_parts/cell/gun, +/obj/item/flashlight/seclite, +/obj/item/storage/guncase/energy/egun, +/turf/open/floor/plasteel/tech, +/area/ship/crew/dorm/captain) +"Oc" = ( +/obj/machinery/door/window/brigdoor/eastleft{ + dir = 2; + name = "Armory"; + req_access_txt = "1"; + req_ship_access = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/turf/open/floor/plasteel/lightgrey, +/area/ship/storage/equip) +"Og" = ( /obj/structure/cable{ - icon_state = "0-8" + icon_state = "4-8" }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/dorm) +/obj/effect/turf_decal/techfloor/hole/right, +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/structure/platform/military/corner, +/turf/open/floor/plasteel/tech/tcomms, +/area/ship/engineering/communications) "Om" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/under/rank/medical/paramedic/skirt/lp, -/obj/item/clothing/under/rank/medical/paramedic/lp, -/obj/item/clothing/suit/hooded/wintercoat/medical, -/obj/item/clothing/head/beret/med, -/obj/item/storage/backpack/satchel/med, -/obj/item/storage/backpack/messenger/med, -/obj/item/storage/backpack/medic, -/obj/item/storage/backpack/duffelbag/med, -/turf/open/floor/wood, -/area/ship/medical) +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) "On" = ( -/obj/structure/closet/crate, -/obj/effect/decal/cleanable/sprayweb, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/airalarm/directional/south, +/obj/structure/table/reinforced, +/obj/item/flashlight/lamp/green{ + layer = 4.2; + pixel_x = 9; + pixel_y = 11 + }, +/turf/open/floor/wood/ebony, +/area/ship/crew/specialized/cargo) "Ou" = ( -/obj/structure/cable{ - icon_state = "4-9" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ - dir = 4 +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "Ranger_Cargo_Privacy"; + name = "N+S Office Shutters" }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/starboard) +/obj/structure/grille, +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/plating, +/area/ship/cargo) "Ov" = ( -/obj/machinery/light/dim/directional/east, -/obj/machinery/telecomms/broadcaster/preset_right{ - autolinkers = list("broadcasterB","hub"); - network = "nt_commnet" +/obj/machinery/door/window/eastright{ + dir = 2; + name = "Morgue Access"; + req_access_txt = "5"; + req_ship_access = 1 }, -/turf/open/floor/circuit/telecomms{ - initial_gas_mix = "TEMP=2.7" +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/area/ship/engineering/communications) +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) "Ox" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 8 +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/white, -/area/ship/hallway/central) +/obj/structure/table/reinforced{ + color = "#8A9397" + }, +/obj/item/wrench, +/obj/item/screwdriver, +/obj/item/stack/cable_coil/cyan, +/obj/item/stack/sheet/rglass{ + amount = 25 + }, +/obj/item/aicard, +/turf/open/floor/circuit/telecomms, +/area/ship/science/ai_chamber) "OC" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -3854,88 +5880,116 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 1 - }, /obj/structure/cable{ icon_state = "0-6" }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/starboard) -"OK" = ( -/obj/machinery/light_switch{ - pixel_x = -7; - pixel_y = 21 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 1 }, -/obj/machinery/button/door{ - dir = 8; - pixel_x = 20; - name = "Cargo Bay Shutters"; - id = "Ranger_Cargo_Door"; - pixel_y = 1 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) -"OP" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 4 +"OK" = ( +/obj/effect/turf_decal/siding/thinplating{ + color = "#a8b2b6"; + dir = 1 }, +/obj/item/bikehorn/rubberducky, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/noslip, +/area/ship/crew/toilet) +"OP" = ( /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/central) -"Pd" = ( -/obj/structure/table/reinforced, -/obj/item/aiModule/core/freeformcore{ - pixel_x = -2; - pixel_y = 1 +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 4 }, -/obj/item/aiModule/reset/purge{ - pixel_y = 6; - pixel_x = 1 +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Pa" = ( +/obj/structure/catwalk/over/plated_catwalk/dark{ + name = "sensor protection plate" }, -/obj/item/aiModule/reset{ - pixel_x = 4; - pixel_y = -2 +/obj/machinery/air_sensor/external, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/external/dark) +"Pd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/item/aiModule/zeroth{ - pixel_x = -5; - pixel_y = -6 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/circuit/green/airless, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/dark, +/area/ship/hallway/starboard) "Ph" = ( /obj/effect/turf_decal/industrial/warning, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, /obj/machinery/firealarm/directional/east, +/obj/structure/platform/industrial_alt/corner, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "Po" = ( /obj/structure/tank_dispenser/oxygen, /obj/effect/turf_decal/siding/yellow{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/sign/poster/official/safety_eye_protection{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) "Pr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/ntblue{ +/obj/effect/turf_decal/corner/opaque/vired{ dir = 1 }, -/turf/open/floor/plasteel/white, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) +"Pu" = ( +/obj/effect/decal/cleanable/robot_debris, +/turf/open/floor/plating, +/area/ship/engineering) +"PB" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/lightgrey, +/area/ship/hallway/central) +"PC" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/obj/item/clothing/head/beret/eng/hazard, +/obj/item/storage/backpack/satchel/eng, +/obj/item/storage/backpack/messenger/engi, +/obj/item/storage/backpack/industrial, +/obj/item/storage/backpack/duffelbag/engineering, +/obj/item/clothing/under/rank/engineering/engineer/nt/lp, +/obj/item/clothing/under/rank/engineering/engineer/nt/skirt/lp, +/obj/item/storage/backpack/ert/engineer, +/obj/item/clothing/suit/nanotrasen/vest, +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos, +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/small/directional/west, +/obj/item/clothing/head/nanotrasen/cap/security, +/obj/item/clothing/under/nanotrasen/science/robotics, +/obj/item/clothing/under/nanotrasen/engineering, +/obj/item/clothing/under/nanotrasen/engineering/atmos, +/obj/item/clothing/under/nanotrasen/engineering/director, +/turf/open/floor/wood, +/area/ship/crew/specialized/engineering) "PG" = ( /obj/structure/cable{ icon_state = "1-2" @@ -3947,72 +6001,196 @@ dir = 4 }, /obj/machinery/light/floor, -/turf/open/floor/plasteel/white, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) +"PM" = ( +/obj/structure/closet/secure_closet{ + icon_state = "qm"; + name = "Logistics Specialist's Locker"; + req_one_access = list(50); + req_ship_access = 1 + }, +/obj/item/clothing/suit/hooded/wintercoat/cargo{ + pixel_x = 14 + }, +/obj/item/clothing/shoes/sneakers/brown{ + pixel_x = -10; + pixel_y = -12 + }, +/obj/item/storage/backpack/satchel/leather{ + pixel_y = -6 + }, +/obj/item/clothing/under/nanotrasen/supply/qm, +/obj/item/gps{ + pixel_x = 11; + pixel_y = 9 + }, +/obj/item/stack/packageWrap{ + pixel_x = -10; + pixel_y = 12 + }, +/obj/item/stack/packageWrap{ + pixel_x = -10 + }, +/obj/item/stack/packageWrap{ + pixel_x = -10; + pixel_y = 6 + }, +/obj/item/melee/knife/letter_opener{ + pixel_x = 13; + pixel_y = -12 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/camera/autoname{ + dir = 6 + }, +/obj/item/clothing/under/nanotrasen/supply, +/obj/item/clothing/under/nanotrasen/supply/miner, +/turf/open/floor/plasteel/tech, +/area/ship/crew/specialized/cargo) "PR" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/half, /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half, +/obj/structure/sign/poster/official/help_others{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "PV" = ( /obj/structure/table/reinforced, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/electrical{ - pixel_x = 3; - pixel_y = 7 - }, /obj/effect/turf_decal/techfloor{ dir = 8 }, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/stack/cable_coil/cut/red, /turf/open/floor/plasteel/mono/dark, /area/ship/engineering) "Qf" = ( -/obj/effect/turf_decal/corner/opaque/brown/mono, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/tech, +/area/ship/storage/equip) +"Qr" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 8; + name = "Valve - Air to External Scrubber" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) "Qt" = ( -/obj/item/bodypart/leg/right/robot, -/obj/item/bodypart/r_arm/robot, -/obj/item/bodypart/leg/left/robot, -/obj/item/bodypart/l_arm/robot, -/obj/item/bodypart/chest/robot, -/obj/item/bodypart/head/robot, -/obj/item/borg/upgrade/ai, -/obj/item/robot_suit, -/obj/structure/closet/crate/engineering, /obj/effect/turf_decal/industrial/hatch/orange, -/obj/item/stock_parts/cell/high, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-8" + }, /turf/open/floor/plating, /area/ship/engineering) "Qu" = ( /obj/machinery/door/firedoor/window, /obj/structure/grille, -/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "MedShutters"; + name = "Medical Privacy Shutters" + }, +/obj/structure/window/reinforced/fulltile/shuttle, /turf/open/floor/plating, /area/ship/medical) "QT" = ( -/turf/closed/wall/r_wall, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/maintenance/starboard) "QV" = ( /obj/machinery/light/dim/directional/west, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber{ + dir = 4 + }, /turf/open/floor/engine/hull, -/area/ship/external) +/area/ship/external/dark) "Rn" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/machinery/light/dim/directional/north, +/obj/structure/closet/secure_closet/armorycage{ + req_access = list(1) + }, +/obj/effect/turf_decal/industrial/fire, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/item/clothing/suit/armor/nanotrasen/slim{ + pixel_x = -10; + pixel_y = -6 + }, +/obj/item/clothing/suit/armor/nanotrasen/slim{ + pixel_x = -10; + pixel_y = -1 + }, +/obj/item/clothing/head/helmet/swat{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/item/clothing/head/helmet/swat{ + pixel_x = -1; + pixel_y = 9 + }, +/obj/item/flashlight/seclite{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/flashlight/seclite{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/storage/belt/security/webbing, +/obj/item/storage/belt/security/webbing, +/obj/item/radio/headset/alt{ + pixel_x = 5; + pixel_y = -11 + }, +/obj/item/clothing/mask/gas/vigilitas, +/obj/item/clothing/mask/gas/vigilitas, /turf/open/floor/plasteel/tech, -/area/ship/storage) +/area/ship/storage/equip) "Ro" = ( /obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ dir = 1 }, /obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "RA" = ( /obj/structure/closet/firecloset/wall/directional/south, @@ -4022,32 +6200,36 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half, /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/corner/opaque/vired/half, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "RB" = ( -/obj/effect/turf_decal/trimline/opaque/orange/arrow_ccw{ - dir = 4 +/obj/structure/chair/handrail{ + dir = 8; + pixel_x = 2 }, -/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ - dir = 8 +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/white, -/area/ship/hallway/port) +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "RM" = ( /obj/structure/chair/sofa/brown/left/directional/west, -/turf/open/floor/plasteel/dark, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "RS" = ( /obj/machinery/portable_atmospherics/canister/toxins, /obj/effect/turf_decal/industrial/outline/orange, /obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt{ + dir = 4 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "Sa" = ( /obj/effect/turf_decal/ntspaceworks_small, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -4056,123 +6238,111 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 9 }, -/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/spline/fancy/opaque/blue, /turf/open/floor/plasteel/dark, /area/ship/bridge) -"Sl" = ( -/obj/machinery/light/dim/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/rack, -/obj/item/circuitboard/machine/telecomms/relay{ - pixel_x = -5; - pixel_y = 9 - }, -/obj/item/circuitboard/machine/telecomms/relay{ - pixel_x = -5; - pixel_y = 9 - }, -/obj/item/circuitboard/machine/telecomms/relay{ - pixel_x = -5; - pixel_y = 9 - }, -/obj/item/stack/cable_coil/cyan{ - pixel_x = 6 - }, -/obj/item/stock_parts/subspace/filter{ - pixel_x = -8 - }, -/obj/item/stock_parts/subspace/filter{ - pixel_x = -8 - }, -/obj/item/stock_parts/subspace/filter{ - pixel_x = -8 - }, -/obj/item/stock_parts/subspace/filter{ - pixel_x = -8 - }, -/obj/item/stock_parts/subspace/filter{ - pixel_x = -8 - }, -/obj/item/stock_parts/subspace/filter{ - pixel_x = -8 - }, -/obj/item/stock_parts/manipulator{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/item/stock_parts/manipulator{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/item/stock_parts/manipulator{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/item/stock_parts/manipulator{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/item/stock_parts/manipulator{ - pixel_x = 7; - pixel_y = 7 +"Sd" = ( +/obj/effect/decal/cleanable/shreds, +/obj/effect/decal/cleanable/wrapping, +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 1 }, -/obj/item/stock_parts/manipulator{ - pixel_x = 7; - pixel_y = 7 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/tech, +/area/ship/storage/equip) +"Sl" = ( +/obj/item/bodypart/leg/right/robot, +/obj/item/bodypart/r_arm/robot, +/obj/item/bodypart/leg/left/robot, +/obj/item/bodypart/l_arm/robot, +/obj/item/bodypart/chest/robot, +/obj/item/bodypart/head/robot, +/obj/item/borg/upgrade/ai, +/obj/item/robot_suit, +/obj/structure/closet/crate/engineering{ + name = "Robotics Crate" }, +/obj/item/stock_parts/cell/high, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/borg/upgrade/restart, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, /turf/open/floor/plating, /area/ship/engineering) "So" = ( -/obj/structure/cable{ - icon_state = "5-8" - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"SC" = ( -/obj/structure/table/wood, -/obj/item/storage/box/donkpockets{ - pixel_x = -3 +/obj/effect/decal/cleanable/wrapping, +/obj/structure/chair/office{ + dir = 1 }, -/obj/item/storage/box/donkpockets/donkpocketpizza{ - pixel_x = 2; - pixel_y = 4 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/item/storage/box/donkpockets/donkpocketspicy{ - pixel_y = 9; - pixel_x = 7 +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"Sv" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 }, -/turf/open/floor/plasteel/dark, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) +"SC" = ( +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) "SE" = ( -/obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/turf_decal/industrial/outline/orange, +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/structure/platform/industrial_alt{ + dir = 4 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) +"SG" = ( +/obj/structure/toilet{ + dir = 1 + }, +/turf/open/floor/plating/catwalk_floor, +/area/ship/security) "SN" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ +/obj/machinery/door/airlock/mining{ + dir = 8; + name = "N+S Office" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/starboard) -"SU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/siding{ + color = "#FF6600"; + dir = 8 + }, +/obj/effect/turf_decal/siding{ + color = "#FF6600"; dir = 4 }, -/turf/closed/wall/r_wall, -/area/ship/hallway/central) +/turf/open/floor/pod/light, +/area/ship/cargo) "Tb" = ( -/turf/closed/wall/r_wall, -/area/ship/storage) +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/storage/equip) "Te" = ( /obj/machinery/light/floor, /turf/open/floor/engine/hull, -/area/ship/external) +/area/ship/external/dark) "Tg" = ( /obj/structure/railing/corner{ dir = 4 @@ -4180,63 +6350,117 @@ /obj/structure/cable/cyan{ icon_state = "6-8" }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "Tl" = ( -/obj/machinery/light/dim/directional/north, -/obj/machinery/light/floor, -/turf/open/floor/engine/hull, -/area/ship/external) +/obj/structure/sign/nanotrasen/vigilitas, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/central) "Tz" = ( -/turf/closed/wall/r_wall, -/area/ship/engineering) -"TL" = ( -/obj/structure/closet/crate, -/obj/machinery/light/dim/directional/north, +/obj/structure/chair/office{ + dir = 4; + name = "tactical swivel chair" + }, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/siding/thinplating/light, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"TC" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor, +/obj/structure/closet/secure_closet/brig{ + name = "Secure Holding Locker" + }, +/obj/machinery/door/window/brigdoor/northleft{ + name = "Secure Lockup"; + req_access_txt = "1"; + req_ship_access = 1 + }, /turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"TG" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ship/crew/specialized/engineering) +"TL" = ( +/obj/machinery/computer/cargo, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 1 + }, +/obj/machinery/camera/autoname{ + dir = 6 + }, +/turf/open/floor/plasteel/white, /area/ship/cargo) "TR" = ( -/obj/structure/table/wood, /obj/machinery/light/dim/directional/north, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 1 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "TZ" = ( -/obj/effect/turf_decal/trimline/opaque/orange/arrow_ccw{ +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw{ dir = 4 }, -/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/effect/turf_decal/techfloor{ dir = 8 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) "Ua" = ( -/obj/machinery/camera/autoname{ +/obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 9 }, -/turf/open/floor/circuit/green/airless, -/area/ship/engineering/communications) +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 8 + }, +/obj/item/gps/computer{ + density = 0; + pixel_x = 32; + pixel_y = 0 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/science/ai_chamber) "Uj" = ( /obj/structure/table/reinforced{ color = "#c1b6a5" }, -/obj/item/paper_bin{ - pixel_y = 8; - pixel_x = 5 - }, -/obj/item/pen/fountain{ - pixel_x = -4; - pixel_y = 7 +/obj/effect/turf_decal/techfloor{ + dir = 5 }, -/obj/machinery/recharger{ - pixel_x = -4 +/obj/effect/spawner/random/lpaid{ + pixel_x = 2; + pixel_y = -2 }, -/obj/item/stamp/captain{ - pixel_x = 7 +/obj/effect/spawner/random/lpretrieval{ + pixel_x = -10; + pixel_y = 10 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "Ur" = ( /obj/structure/cable{ @@ -4245,36 +6469,64 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/turf_decal/trimline/opaque/orange/arrow_cw{ +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/arrow_cw{ dir = 8 }, -/obj/effect/turf_decal/trimline/opaque/orange/filled/line{ +/obj/effect/turf_decal/techfloor{ dir = 4 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) "Us" = ( -/obj/effect/turf_decal/siding/red{ - dir = 9 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/machinery/door_timer{ - pixel_y = 28; - id = "ranger_brig" +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 }, -/turf/open/floor/mineral/plastitanium/red/brig, -/area/ship/security) +/obj/machinery/door/airlock/engineering{ + name = "Engineering Specialist's Quarters"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/pod/light, +/area/ship/crew/specialized/engineering) "Ut" = ( /obj/structure/urinal{ pixel_y = 29 }, /obj/machinery/light/dim/directional/west, -/turf/open/floor/plastic, +/turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) "UQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{ + dir = 8; + layer = 2; + piping_layer = 2 + }, /turf/open/floor/engine/air, /area/ship/hallway/central) +"UR" = ( +/obj/machinery/light/dim/directional/east, +/obj/machinery/telecomms/broadcaster/preset_right{ + autolinkers = list("broadcasterB","hub"); + network = "nt_commnet" + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/circuit/telecomms, +/area/ship/engineering/communications) "UU" = ( -/obj/machinery/door/airlock/public/glass, /obj/structure/cable{ icon_state = "1-2" }, @@ -4282,31 +6534,32 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/machinery/door/poddoor/shutters/preopen{ + id = "RangerPortShutters"; + name = "Corridor Lockdown Port" + }, +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 4 }, -/turf/open/floor/plasteel/white, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "UW" = ( /obj/structure/cable/cyan{ icon_state = "6-9" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt/corner, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "Vg" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/window, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "Ranger_Cycler_Shutters" +/obj/machinery/camera/autoname{ + dir = 10 }, -/turf/open/floor/plating, -/area/ship/hallway/central) +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "Vh" = ( /obj/structure/cable{ icon_state = "2-4" @@ -4318,52 +6571,60 @@ dir = 1 }, /obj/effect/turf_decal/trimline/opaque/red/filled/line, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "Vk" = ( -/obj/structure/bed, -/obj/item/bedsheet/nanotrasen, -/obj/machinery/firealarm/directional/north, -/obj/item/toy/plush/moth/royal{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 }, /turf/open/floor/wood, -/area/ship/crew/dorm) +/area/ship/crew/dorm/captain) "Vm" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8 }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "Vp" = ( -/turf/closed/wall/r_wall, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/hallway/starboard) "Vq" = ( -/obj/machinery/portable_atmospherics/canister/toxins, /obj/effect/turf_decal/industrial/outline/orange, /obj/effect/decal/cleanable/plasma, +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt{ + dir = 4 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "Vt" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable{ icon_state = "0-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/platform/industrial_alt, +/obj/machinery/space_heater, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "VC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/stairs, +/turf/open/floor/plasteel/stairs{ + color = "#8A9397" + }, /area/ship/crew/cryo) -"VJ" = ( -/obj/machinery/door/airlock/engineering{ - dir = 4 +"VE" = ( +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "BridgeAtrium"; + name = "Bridge-Atrium Shutters" }, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating, +/area/ship/bridge) +"VJ" = ( /obj/structure/cable{ icon_state = "4-8" }, @@ -4373,53 +6634,84 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/corner/opaque/solgovgold/border{ dir = 8 }, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) "VM" = ( /obj/effect/turf_decal/industrial/outline/blue, -/obj/item/storage/box/lights/mixed{ - pixel_x = -4; - pixel_y = 6 +/obj/machinery/washing_machine, +/obj/structure/railing{ + dir = 8 }, -/obj/item/storage/box/mousetraps{ - pixel_y = -1; - pixel_x = 3 +/obj/item/toy/plush/tali{ + pixel_y = 14 }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) "VP" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/closet, -/turf/open/floor/plasteel/dark, +/obj/machinery/light/dim/directional/south, +/obj/effect/turf_decal/siding/red/end, +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plasteel/tech, /area/ship/security) "VQ" = ( /obj/machinery/camera/autoname{ dir = 5 }, -/turf/open/floor/engine/hull, -/area/ship/external) +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"We" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-6" + }, +/obj/structure/railing{ + dir = 4; + layer = 4.1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/item/radio/intercom/directional/north, +/obj/machinery/autolathe, +/obj/item/disk/design_disk/ammo_c9mm, +/obj/item/stack/sheet/glass{ + amount = 10 + }, +/turf/open/floor/plasteel/lightgrey, +/area/ship/hallway/central) "Wj" = ( /obj/structure/bed, -/obj/item/radio/intercom/directional/south, /obj/item/bedsheet/red, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 4; + id = "Ranger_Security_Specialist_Quarters"; + name = "Security Quarters Windows"; + pixel_x = -22; + pixel_y = -2; + req_ship_access = 1 + }, /turf/open/floor/wood, -/area/ship/security) +/area/ship/crew/specialized/security) "Wp" = ( /obj/machinery/door/poddoor{ dir = 2; - id = "Ranger_AI_Core_Blasts" + id = "Ranger_AI_Core_Blasts"; + name = "Communications Access" }, /obj/machinery/power/shieldwallgen/atmos/roundstart{ - id = "AI_Core_Field_Engi"; - dir = 4 + dir = 4; + id = "AI_Core_Field_Engi" }, /obj/structure/cable{ icon_state = "0-5" @@ -4428,7 +6720,7 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/turf/open/floor/plating, +/turf/open/floor/noslip, /area/ship/engineering) "Wr" = ( /obj/structure/cable{ @@ -4437,10 +6729,11 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/turf_decal/corner/opaque/ntblue{ +/obj/effect/turf_decal/corner/opaque/vired{ dir = 4 }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "Wv" = ( /obj/structure/chair/sofa/brown/right/directional/south, @@ -4451,33 +6744,65 @@ pixel_x = -7; pixel_y = 21 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) +"Wz" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "Ranger_Cargo_Privacy"; + name = "N+S Office Shutters" + }, +/turf/open/floor/plating, +/area/ship/cargo) "WF" = ( -/obj/item/radio/intercom/wideband, -/turf/closed/wall/r_wall, -/area/ship/bridge) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plasteel/tech/tcomms, +/area/ship/engineering/communications) "WG" = ( -/obj/machinery/telecomms/server/presets/nanotrasen{ - autolinkers = list("nanotrasen","hub"); - network = "nt_commnet"; - freq_listening = list(1353,1447,1459) +/obj/machinery/light/dim/directional/south, +/obj/machinery/telecomms/relay{ + freq_listening = list(1353,1447,1459); + id = "Nanotrasen Relay"; + name = "Nanotrasen relay"; + network = "nt_commnet" }, -/obj/item/disk/holodisk/lp/stations, -/turf/open/floor/circuit/telecomms{ - initial_gas_mix = "TEMP=2.7" +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/camera/autoname{ + dir = 10 }, +/turf/open/floor/circuit/telecomms, /area/ship/engineering/communications) "WR" = ( -/obj/effect/turf_decal/corner/opaque/brown/mono, -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/storage/equip) "WZ" = ( /obj/machinery/computer/telecomms/server{ - dir = 4 + dir = 4; + icon_state = "computer-middle" }, /obj/machinery/light/dim/directional/west, /turf/open/floor/plasteel/mono/dark, @@ -4485,44 +6810,105 @@ "Xb" = ( /obj/effect/turf_decal/corner/opaque/blue/diagonal, /obj/structure/window/reinforced/spawner, -/obj/structure/closet, +/obj/structure/closet/wall/med/directional/east{ + name = "Anesthetics Closet" + }, +/obj/item/tank/internals/anesthetic{ + pixel_x = -2 + }, +/obj/item/tank/internals/anesthetic{ + pixel_x = 3 + }, +/obj/item/clothing/mask/breath/medical{ + pixel_x = 3 + }, +/obj/item/clothing/mask/breath/medical{ + pixel_x = 6; + pixel_y = -3 + }, +/obj/effect/turf_decal/borderfloorwhite/corner{ + dir = 1 + }, +/obj/structure/table/chem, +/obj/structure/sink/chem{ + pixel_x = 2; + pixel_y = 3 + }, /turf/open/floor/plasteel/white, /area/ship/medical) "Xt" = ( -/obj/machinery/space_heater, /obj/machinery/light/dim/directional/south, /obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/storage) +/obj/machinery/suit_storage_unit/inherit{ + name = "Engineering Specialist's Storage Unit" + }, +/obj/item/clothing/mask/breath, +/obj/item/clothing/suit/space/hardsuit/ert/lp/engi, +/obj/item/tank/internals/oxygen/yellow, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/lightgrey, +/area/ship/storage/equip) +"Xz" = ( +/obj/effect/turf_decal/corner/opaque/vired/half, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) "XA" = ( /obj/structure/cable{ icon_state = "1-10" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/cable{ + icon_state = "5-10" + }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "XE" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 4 - }, /obj/structure/cable{ icon_state = "2-5" }, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel/white, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "XH" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable{ icon_state = "0-8" }, -/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/closet/wall/directional/south{ + name = "Intern's Locker" + }, +/obj/effect/turf_decal/corner/opaque/lightgrey{ + dir = 10 + }, +/obj/item/clothing/under/nanotrasen, +/obj/item/clothing/shoes/sneakers/black{ + pixel_y = -10 + }, +/obj/item/clothing/suit/hooded/wintercoat, /turf/open/floor/plasteel/dark, /area/ship/crew/cryo) "XL" = ( -/obj/machinery/door/airlock/public/glass, /obj/structure/cable{ icon_state = "1-2" }, @@ -4530,10 +6916,18 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/machinery/door/poddoor/shutters/preopen{ + id = "RangerStarboardShutters"; + name = "Corridor Lockdown Starboard" + }, +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 4 }, -/turf/open/floor/plasteel/white, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "XQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -4545,7 +6939,7 @@ /obj/effect/turf_decal/trimline/opaque/blue/filled/corner{ dir = 4 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "XR" = ( /obj/machinery/door/airlock/public/glass, @@ -4556,20 +6950,27 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 4 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "XS" = ( /obj/effect/turf_decal/corner/opaque/blue/diagonal, -/obj/structure/table/greyscale, /obj/machinery/light/dim/directional/east, -/obj/item/toy/plush/moth/ragged, +/obj/item/storage/case/surgery, +/obj/item/toy/plush/moth/ragged{ + pixel_y = 11 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 8 + }, +/obj/structure/table/chem, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/plasteel/white, /area/ship/medical) "XT" = ( -/turf/closed/wall/r_wall, +/turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/cargo) "XV" = ( /obj/machinery/camera/autoname{ @@ -4581,24 +6982,33 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/white, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "Yk" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/siding{ + color = "#474747" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/white, /area/ship/cargo) "Yw" = ( -/obj/machinery/door/airlock/public/glass, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/machinery/door/poddoor/shutters/preopen{ + id = "RangerStarboardShutters"; + name = "Corridor Lockdown Starboard" + }, +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 8 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "Yy" = ( /obj/machinery/power/shieldwallgen/atmos/roundstart{ @@ -4606,7 +7016,8 @@ id = "Ranger_Port_holofields" }, /obj/machinery/door/poddoor{ - id = "Ranger_Port_Blasts" + id = "Ranger_Port_Blasts"; + name = "Portside Access" }, /obj/structure/cable{ icon_state = "0-2" @@ -4615,37 +7026,63 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) "Yz" = ( -/obj/structure/window/reinforced, +/obj/machinery/door/airlock/security/brig{ + dir = 8; + id_tag = "SecureCell"; + name = "Holding Cell"; + req_access_txt = "1" + }, /obj/effect/turf_decal/siding/red{ - dir = 6 + dir = 8 }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-9" +/obj/effect/turf_decal/siding{ + color = "#474747"; + dir = 4 }, -/turf/open/floor/mineral/plastitanium/red/brig, +/turf/open/floor/pod/light, /area/ship/security) "YJ" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/ancient/lp, -/obj/item/clothing/mask/breath, -/obj/effect/turf_decal/corner/opaque/brown/mono, -/obj/item/tank/internals/emergency_oxygen, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/obj/effect/turf_decal/corner/opaque/syndiered/half, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/equip) "YK" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = 9; + pixel_y = 3 + }, +/obj/item/toy/plush/moth/snow{ + pixel_x = -3 + }, +/obj/item/folder/blue{ + pixel_x = -3; + pixel_y = -10 + }, +/obj/item/flashlight/pen{ + pixel_x = -5; + pixel_y = -9 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/power/apc/auto_name/directional/east, /obj/machinery/light_switch{ - pixel_x = 8; - pixel_y = 22 + dir = 8; + pixel_x = 20; + pixel_y = 11 }, -/turf/open/floor/plasteel/stairs/wood{ - dir = 8 +/obj/structure/cable{ + icon_state = "0-2" }, -/area/ship/medical) +/turf/open/floor/wood, +/area/ship/crew/specialized/medical) "YP" = ( /obj/structure/cable{ icon_state = "2-4" @@ -4662,22 +7099,29 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"YW" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 8 }, +/obj/structure/railing, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"YW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/camera/autoname{ - dir = 4 +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 }, -/obj/item/radio/intercom/directional/west, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 8 +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/central) +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) "Zj" = ( /obj/machinery/atmospherics/components/unary/shuttle/heater{ dir = 4 @@ -4687,24 +7131,42 @@ }, /obj/machinery/door/poddoor/shutters{ dir = 4; - id = "Ranger_Port_maint_shut" + id = "Ranger_Port_maint_shut"; + name = "Engine Shutters" }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "Zk" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/visible{ +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/floor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/advanced_airlock_controller{ - pixel_y = 24 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) "Zl" = ( -/obj/machinery/portable_atmospherics/canister, /obj/effect/turf_decal/industrial/outline/orange, +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt{ + dir = 4 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) +"Zn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) "Zs" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/door/firedoor/border_only{ @@ -4713,73 +7175,124 @@ /obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ dir = 1 }, -/obj/structure/cable{ - icon_state = "1-6" +/obj/structure/cable{ + icon_state = "1-6" + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) +"Zu" = ( +/obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) "Zv" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/suit/hooded/wintercoat/security, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/head/beret/sec, +/obj/item/clothing/under/rank/security/head_of_security/nt/lp, +/obj/item/clothing/under/rank/security/head_of_security/nt/skirt/lp, +/obj/item/clothing/under/rank/security/head_of_security/alt/lp, +/obj/item/storage/backpack/ert/security, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor, +/obj/item/clothing/head/soft/black, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/item/clothing/glasses/hud/security/prescription, +/obj/item/clothing/mask/gas/vigilitas, +/obj/item/clothing/suit/armor/nanotrasen, +/obj/item/clothing/suit/armor/nanotrasen/slim, +/obj/item/clothing/suit/armor/vest/security/officer, +/obj/item/clothing/suit/armor/vest/bulletproof, +/obj/machinery/airalarm/directional/north, /obj/machinery/firealarm/directional/west, -/turf/open/floor/wood, -/area/ship/security) +/obj/item/clothing/head/nanotrasen/beret/security, +/obj/item/clothing/head/nanotrasen/cap/security, +/obj/item/clothing/under/nanotrasen/security, +/obj/item/clothing/under/nanotrasen/security/director, +/turf/open/floor/plasteel/tech, +/area/ship/crew/specialized/security) "Zw" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 4 }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/trimline/transparent/white/filled/corner, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "Zx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/ntblue{ +/obj/effect/turf_decal/corner/opaque/vired{ dir = 1 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "ZF" = ( /obj/machinery/light/dim/directional/south, /obj/effect/turf_decal/industrial/outline/blue, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/ship/maintenance/port) +/obj/machinery/suit_storage_unit/inherit/industrial{ + name = "dusty industrial suit storage unit" + }, +/obj/item/clothing/suit/space/hardsuit/ancient/lp, +/obj/item/clothing/mask/breath, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) "ZI" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner, -/turf/open/floor/plasteel/white, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "ZJ" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/turf/open/floor/plasteel/tech/airless, +/turf/open/floor/plasteel/tech/tcomms, /area/ship/engineering/communications) "ZL" = ( /obj/machinery/vending/coffee, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "ZS" = ( -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/plasteel/tech, -/area/ship/storage) +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/stairs{ + color = "#a8b2b6"; + dir = 1 + }, +/area/ship/bridge) "ZW" = ( /obj/machinery/light/dim/directional/north, /obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ dir = 1 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/dark, /area/ship/hallway/port) "ZY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 +/obj/structure/chair/handrail{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ +/obj/effect/turf_decal/corner/opaque/vired/half{ dir = 8 }, -/turf/open/floor/plasteel/white, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) (1,1,1) = {" @@ -4794,6 +7307,7 @@ tg tg LV zW +yK zW zW zW @@ -4807,10 +7321,9 @@ zW zW zW zW +yK zW -zW -zW -QT +kF qs qs QT @@ -4845,13 +7358,13 @@ zW zW zW zW -QT +kF tr -QT +kF BO rW -QT -QT +kF +kF zW zW zW @@ -4882,13 +7395,13 @@ zW zW zW zW -QT +kF br -QT +kF DW nJ iC -QT +kF zW zW zW @@ -4919,14 +7432,14 @@ zW zW zW zW -QT +kF Vm tZ oq an cE -QT -QT +kF +kF zW zW "} @@ -4936,8 +7449,8 @@ zW zW zW LV -Zl -Vq +ci +hp aW UW hl @@ -4956,14 +7469,14 @@ zW zW zW zW -QT +kF qQ gD ib eN -RS +Lw Dd -QT +kF zW zW "} @@ -4972,7 +7485,7 @@ zW zW zW zW -vm +LV Vq Zl iq @@ -4984,23 +7497,23 @@ zW zW zW zW -Kg -kQ -kQ -kQ -Kg zW zW zW zW -QT +zW +zW +zW +zW +zW +kF VM YP vv Ph RS SE -fV +kF zW zW "} @@ -5008,11 +7521,11 @@ zW zW zW zW -vm -vm -vm -vm -vm +su +su +su +su +su LV ad ZF @@ -5020,213 +7533,287 @@ LV zW zW zW -Kg -Kg -gh +zW +Mh Md -pL -Kg -Kg +Md +Md +Mh zW zW zW -QT +zW +kF ML ih -QT -QT -QT -fV -fV -fV +kF +yF +yF +yF +yF +yF zW "} (8,1,1) = {" zW zW -zW -vm -xp -Aw +Te +Mc +Ao +cj oQ -tq -LV +su +yo sm qb LV zW zW zW -Kg -Pd -vO +Mh +Mh +Ox IE -vO -Nf -Kg +Ep +Mh +Mh zW zW zW -QT +kF gz FQ -QT -jv +TC +yF Zv AZ Wj -fV -zW +yG +Te "} (9,1,1) = {" zW zW -vm -vm +gL +Mc YK aO -Om -Gn -LV -vT -LV +Aw +su +Ov +xY +JO LV zW zW -wq -Kg +zW +Mh MK Ua vO Nn Cq -Kg -wq +Mh zW zW -QT -QT +zW +kF +mK id -QT -fV +fU +yF bw hQ ab -fV -fV +zM +gL "} (10,1,1) = {" zW zW vm -sF -oi +su +su NS -vF +su +su +LV +vT +LV +LV +zW +zW +yK +Mh +qJ +pi +kw +gk +cI +Mh +yK +zW +zW +kF +kF +hG +kF +fV +fV +Js +fV +fV +fV +"} +(11,1,1) = {" +zW +zW vm -jA +ix +Kt +jk +vS +vm +Cb zc jA zW zW -Tz -Tz -Kg +wU +wU +Mh +Mh +Mh +lu +lw +Mh +Mh Kg Kg -kw -gk -zB +zW +zW +Vp +cN +vR +nq +gi +LM +bN +VP +fV +"} +(12,1,1) = {" +zW +zW +vm +mJ +Tz +gh +uW +Qu +SC +Xz +jA +bX +wU +wU +jt +WZ +lD +wU +nE +WF Kg +sl +CB Kg Kg -zW -zW +EE Vp -cN -vR -fV -Us -Js -Ma -sR +Ff +Pd +nq +tQ +or +KT +Om fV "} -(11,1,1) = {" +(13,1,1) = {" zW zW vm -ix -Kt -jk -vS +jv +pG +tq +jZ Qu -Cb +Zn NR jA -zW -Tz -Tz -jt -WZ -Mh -Tz -nE -fU -kt -LM -bX -Kg +GY +wU +LQ +aP +Pu +xq +Wp +Gz +dn +Mx +fo +sR +ux Kg -zW +GY Vp -Ff +Lt wT -fV -gi +nq +rg Lg -bN -VP +df +Nf fV "} -(12,1,1) = {" +(14,1,1) = {" zW zW vm vV GC kS -uW +Ct Qu XQ PR jA zW -Tz -LQ +wU +gN +dr +rC +yi +Dr +ZJ +Og +wf MD -aP -xq -Wp -Gz -dn -AH -sl -CB -yA +tT +WG Kg zW Vp no Vh qR -tQ +Iz nh Dx -Dx +yk fV "} -(13,1,1) = {" +(15,1,1) = {" zW zW vm @@ -5239,68 +7826,68 @@ cR pU jA zW -Tz -gN -dr -rC -yi -Dr -ZJ -fU -Mx -tT -tT -ux +wU +Ge +Sl +JP +wU +wU +hK +Hd +wU +Ds +Bo +wu Kg zW Vp TR KX fV -Ji +fV Yz -hf +iH iH fV "} -(14,1,1) = {" +(16,1,1) = {" zW zW vm XS Xb -sU -Ct +vF +zO Qu bf tR jA zW -Tz -Ge -or -JP -Tz -Tz -hK -Hd -Tz -Ds -Bo -WG +wU +wU +NV +Nd +IC +Mz +jF +PV +dP +EP +UR +Kg Kg zW Vp bD iD -fV -fV -fV -fV -fV +dm +hf +Ab +Ji +SG fV "} -(15,1,1) = {" +(17,1,1) = {" zW zW JR @@ -5313,31 +7900,31 @@ jH uE jA zW -Tz -Tz -Sl -Nd -IC -Mz -jF -PV -dP -wC -Ov +zW +wU +wU +Qt +wU +Ca +rA +aG +wU Kg Kg +Kg +zW zW Vp -yo +Ma Cg of -gg -Ut -BI +jd +lX +my xv -gg +fV "} -(16,1,1) = {" +(18,1,1) = {" zW zW JR @@ -5351,37 +7938,37 @@ Kf jA zW zW -Tz -Tz -Qt -Tz -Ca -rA -yU -dP -wf -Kg -Kg +Vg +wU +wU +wU +Mt +hn +Ny +vJ +vJ +vJ +sp zW zW Vp -pi +vc iZ ji gg -am +gg gg gg gg "} -(17,1,1) = {" +(19,1,1) = {" zW zW JR Iy ym VC -VC +CW EL ml jA @@ -5389,15 +7976,15 @@ jA zW zW zW -Tz -Tz -Tz -up -hn -aG -Tz -Kg -Kg +wU +wU +ps +Hs +tk +vJ +vJ +PC +hz zW zW zW @@ -5406,17 +7993,17 @@ Vp MI zF gg -my -fo +Ut +BI BA gg "} -(18,1,1) = {" +(20,1,1) = {" zW zW JR -vB -cW +yf +vg lc JR Ro @@ -5426,15 +8013,15 @@ zW zW zW zW -zW -Tz -jr -Mt -lX -Ny -JK -Tz -zW +wq +wU +us +AH +YW +Us +KC +TG +hz zW zW zW @@ -5443,19 +8030,19 @@ Vp dK ZI gg -qe -oM -yK +am +gg +gg gg "} -(19,1,1) = {" +(21,1,1) = {" zW zW JR tb mQ rq -rq +gr Zs pf jA @@ -5463,15 +8050,15 @@ zW zW zW zW -zW -Tz -ps -Hs -tk -Bh -GY -Tz -zW +wq +wU +hZ +Ha +rX +vJ +qe +eo +FM zW zW zW @@ -5481,11 +8068,11 @@ iI xj Fw Kw -Lt -yC +Gn +OK gg "} -(20,1,1) = {" +(22,1,1) = {" zW zW JR @@ -5500,15 +8087,15 @@ jA zW zW zW -Tz -Tz -eo +wU +wU +wU FB wU -hZ -Lw -Tz -Tz +vJ +vJ +vJ +vJ zW zW zW @@ -5519,10 +8106,10 @@ XV gg vk pp -Mc +mv gg "} -(21,1,1) = {" +(23,1,1) = {" zW zW JR @@ -5538,13 +8125,13 @@ sJ sJ sJ sJ -sJ -sJ +We +ec VJ -sJ -sJ -sJ -sJ +vB +Sv +Kl +CJ sJ sJ sJ @@ -5559,12 +8146,12 @@ gg gg gg "} -(22,1,1) = {" +(24,1,1) = {" zW zW zW QV -jA +gd KQ wp oz @@ -5575,36 +8162,36 @@ gW ZY CG mw -rX -vj -fd -Ox +MR +ki +Bh +BX BX Gk -Kl +bK mw zi -lj -YW +sU +Et Yw Zx nA Mm uk -xA -Vp -QV +Mg +wh +ww zW "} -(23,1,1) = {" +(25,1,1) = {" zW zW zW -wq +Gs HA TZ -RB -oz +Zu +dN pa kO UU @@ -5612,7 +8199,7 @@ PG Gh XR OP -OP +DQ OP OP BY @@ -5621,19 +8208,19 @@ GG XE OP XR +Zk mh -az XL Wr hk Zw -rM -Mg -wh +CD +Bl +Bg wq zW "} -(24,1,1) = {" +(26,1,1) = {" zW zW zW @@ -5645,36 +8232,36 @@ lB rL IR jA -CJ +Qr dG sJ Wv Fx fy -bu +PB pn Av tf -bu +iS rT sJ -Vg ok sJ -OK +sJ +Wz Ou SN -CD -Bl -Bg -wq +XT +XT +XT +vo zW "} -(25,1,1) = {" -zW +(27,1,1) = {" zW zW -hN +ef +pL jA Po iX @@ -5689,33 +8276,33 @@ ox IM RM Mn -bu +iv bu AP -bu +Ih kK sJ -Zk -us +ex +sF sJ -XT +KU zC fz +Cn +xA XT -XT -XT -hz +cW zW "} -(26,1,1) = {" -ef +(28,1,1) = {" +zW zW zW zW Tb Tb Tb -dl +qZ aI Tb Tb @@ -5725,100 +8312,100 @@ Mf Mf Mf sJ -EP +pA ZL Nu MY xw -SC +wC sJ -cI -Fh +dx +RB sJ DZ So Eq lU -cj +EA XT zW zW "} -(27,1,1) = {" +(29,1,1) = {" zW zW zW zW Tb Rn -mJ -KC -jZ +Oc +WR +Qf Be Tb sJ -SU +sJ Mf Gc -Ha -Lk -Lk -Lk +NZ Lk +VE +VE +VE tj Lk sJ sJ -Tl CP +Tl XT -Iz +TL lv +Yk pD -ww vz XT zW zW "} -(28,1,1) = {" +(30,1,1) = {" zW zW zW zW Tb -ZS -rg -qZ -wu +hF +yU +DE +YJ yZ Tb NC -jC Mf -mv -Ao -JO -pA -lD -hF -ec +jC +oi +yA +Kq +az +ZS +JK +eE +eD Lk -Te -wq -zW -zW -XT -lw -pD -Yk -hp -gL -XT +fd +iN +jr +Bv +yC +lj +Hp +Bv +Bv +Bv zW zW "} -(29,1,1) = {" +(31,1,1) = {" zW zW zW @@ -5826,36 +8413,36 @@ zW Tb Tb aK -WR -Qf +Sd +kQ Xt Tb zW -zW Mf +Mu Vk -NZ +vj Lk sf iF XA Sa +xp Lk -wq -zW +bX zW zW -XT -TL -pD -pD -eE -XT -XT +Bv +PM +Fg +zB +dl +Bv +Bv zW zW "} -(30,1,1) = {" +(32,1,1) = {" zW zW zW @@ -5863,36 +8450,36 @@ zW zW Tb Tb -DE -YJ +na +up Tb Tb zW -zW Mf -Mu +Mf +qn hx Lk AF vp CI dC +kt Lk +wq zW zW -zW -zW -XT -XT +Bv +Bv eU On -XT -XT +Bv +Bv zW zW zW "} -(31,1,1) = {" +(33,1,1) = {" zW zW zW @@ -5908,28 +8495,28 @@ zW zW Mf Mf -Fg +Mf Lk tK og NM ff Lk +Lk zW zW zW zW -zW -XT -XT -XT -XT +Bv +rM +rM +Bv zW zW zW zW "} -(32,1,1) = {" +(34,1,1) = {" zW zW zW @@ -5966,7 +8553,7 @@ zW zW zW "} -(33,1,1) = {" +(35,1,1) = {" zW zW zW @@ -5981,14 +8568,14 @@ zW zW zW zW -wq +VQ wq Lk mn cv lW -WF -VQ +Lk +rw zW zW zW @@ -6003,7 +8590,7 @@ zW zW zW "} -(34,1,1) = {" +(36,1,1) = {" zW zW zW @@ -6040,7 +8627,7 @@ zW zW zW "} -(35,1,1) = {" +(37,1,1) = {" zW zW zW @@ -6055,7 +8642,7 @@ zW zW zW zW -wq +Pa zW Lk LU @@ -6077,7 +8664,7 @@ zW zW zW "} -(36,1,1) = {" +(38,1,1) = {" zW zW zW diff --git a/_maps/shuttles/nanotrasen/nanotrasen_skipper.dmm b/_maps/shuttles/nanotrasen/nanotrasen_skipper.dmm deleted file mode 100644 index f910af5043c..00000000000 --- a/_maps/shuttles/nanotrasen/nanotrasen_skipper.dmm +++ /dev/null @@ -1,7393 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ai" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/engineering/atmospherics) -"al" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/hallway/central) -"ao" = ( -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/royalblue, -/area/ship/crew/crewtwo) -"aA" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"aF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/sign/poster/official/random{ - pixel_y = -32 - }, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"aL" = ( -/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ - dir = 4 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"aN" = ( -/obj/structure/catwalk/over, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/ship/crew/toilet) -"aQ" = ( -/obj/machinery/atmospherics/pipe/simple/brown/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/cargo) -"aR" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"aZ" = ( -/turf/open/floor/carpet/blue, -/area/ship/crew/dorm) -"bd" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"bf" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 10 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"bh" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/brown/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"bk" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input{ - dir = 4 - }, -/turf/open/floor/engine/airless, -/area/ship/engineering/engine) -"bo" = ( -/obj/structure/dresser, -/obj/item/flashlight/lamp{ - pixel_x = -5; - pixel_y = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"bq" = ( -/obj/structure/dresser, -/obj/item/storage/lockbox/medal{ - pixel_y = 13 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"bs" = ( -/obj/structure/holosign/barrier/engineering/infinite{ - name = "maintenance barrier" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/ship/crew/toilet) -"bw" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/structure/sign/poster/retro/nanotrasen_logo_80s{ - pixel_y = 32 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"bz" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/brown/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"bA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/ship/engineering/atmospherics) -"bG" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/door/poddoor{ - dir = 4; - id = "enginelockdown" - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"bI" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"bO" = ( -/obj/structure/table/reinforced, -/obj/item/flashlight/lamp{ - pixel_x = -9; - pixel_y = 13 - }, -/obj/machinery/recharger, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/crewthree) -"bR" = ( -/obj/structure/catwalk/over, -/obj/machinery/firealarm/directional/west, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/garbage, -/turf/open/floor/plating, -/area/ship/crew/toilet) -"bW" = ( -/obj/structure/displaycase/captain{ - req_access = null; - req_access_txt = "20" - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"bY" = ( -/obj/machinery/vending/cola/space_up, -/turf/open/floor/wood, -/area/ship/hallway/central) -"bZ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"cd" = ( -/obj/machinery/light/dim/directional/south, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"cp" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/hallway/central) -"cq" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"cF" = ( -/obj/structure/chair/comfy/grey/directional/east, -/turf/open/floor/wood, -/area/ship/hallway/central) -"cJ" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = -30 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"cL" = ( -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/effect/turf_decal/techfloor/corner, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"cQ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"cS" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"de" = ( -/obj/machinery/light/dim/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"dj" = ( -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/fulltile, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"dl" = ( -/obj/structure/sign/poster/official/obey{ - pixel_x = -30 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = 6; - pixel_y = 2 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = 5 - }, -/obj/item/folder/blue{ - pixel_x = -8; - pixel_y = 7 - }, -/obj/item/stamp/head_of_personnel{ - pixel_x = -7; - pixel_y = -3 - }, -/obj/item/folder/red{ - pixel_x = -8; - pixel_y = 11 - }, -/turf/open/floor/wood, -/area/ship/crew/crewthree) -"dp" = ( -/obj/structure/table, -/obj/machinery/chem_dispenser/drinks/beer, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/corner/opaque/green/mono, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"dq" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"du" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/holopad/emergency/command, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"dy" = ( -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"dB" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/corner/opaque/ntblue/diagonal, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"dG" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/firealarm/directional/south, -/obj/item/gun/energy/laser{ - pixel_y = -6 - }, -/obj/item/gun/energy/e_gun/mini{ - pixel_y = -2; - pixel_x = 6 - }, -/obj/item/gun/energy/e_gun/mini{ - pixel_x = -8; - pixel_y = -2 - }, -/obj/structure/closet/secure_closet{ - anchored = 1; - can_be_unanchored = 1; - icon_state = "sec"; - name = "firearm locker"; - req_access_txt = "1" - }, -/obj/item/gun/ballistic/automatic/pistol/commander, -/obj/item/gun/ballistic/automatic/pistol/commander, -/turf/open/floor/wood, -/area/ship/crew/crewthree) -"dJ" = ( -/obj/machinery/button/door{ - dir = 4; - pixel_x = -24; - id = "enginelockdown"; - name = "Lockdown Engines" - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 8; - name = "Activate Exhaust" - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"dM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"dO" = ( -/obj/machinery/atmospherics/components/trinary/mixer/flipped/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"dS" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"dW" = ( -/obj/structure/filingcabinet/employment, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/crew/office) -"dX" = ( -/obj/structure/table/chem, -/obj/item/clothing/glasses/hud/health, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/item/reagent_containers/glass/beaker{ - pixel_y = 12; - pixel_x = -9 - }, -/obj/structure/sink/chem{ - pixel_x = 2; - pixel_y = 3 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"dZ" = ( -/obj/structure/fireaxecabinet{ - pixel_y = -29 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"ed" = ( -/obj/structure/table, -/obj/machinery/fax/nanotrasen, -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/crew/office) -"eg" = ( -/obj/machinery/vending/cigarette, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"ek" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/light_switch{ - pixel_x = -14; - pixel_y = 24 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/cryo) -"er" = ( -/obj/machinery/door/airlock/engineering{ - dir = 4; - name = "Engineering" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"eu" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 6 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"eB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 6; - pixel_y = -24 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"eC" = ( -/obj/structure/window/reinforced/fulltile, -/obj/structure/grille, -/turf/open/floor/plating, -/area/ship/crew/crewthree) -"eD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/structure/sign/poster/contraband/syndicate_recruitment{ - pixel_x = 30 - }, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/rust, -/area/ship/crew/toilet) -"eL" = ( -/obj/machinery/door/airlock/command{ - name = "Internal Affairs Office" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/crew/office) -"eP" = ( -/obj/structure/chair/comfy/grey/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"eQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"eY" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"fa" = ( -/obj/structure/table, -/obj/item/storage/pill_bottle/dice{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/spacecash/bundle/c5, -/turf/open/floor/carpet/red, -/area/ship/hallway/central) -"fc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ship/engineering/atmospherics) -"fg" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 10 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/poddoor/preopen{ - dir = 4; - id = "coolingshutdown" - }, -/turf/open/floor/engine/airless, -/area/ship/external) -"fi" = ( -/obj/machinery/door/airlock/command{ - dir = 4; - name = "Personal Quarters"; - req_one_access_txt = "57" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/carpet/blue, -/area/ship/crew/crewthree) -"fl" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 9 - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"fn" = ( -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/wood, -/area/ship/hallway/central) -"fo" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"fs" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/button/door{ - dir = 8; - id = "amogusdoors"; - name = "Cargo Blast Door Control"; - pixel_x = 25; - pixel_y = -4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/button/shieldwallgen{ - dir = 8; - id = "skippyshieldywalle"; - pixel_x = 24; - pixel_y = 5 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"ft" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "TEG to Exhaust" - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"fu" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/structure/sign/poster/official/random{ - pixel_x = 30 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"fw" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/item/paper{ - default_raw_text = "The igniter in the chamber does not work very well. I suggest throwing lit welders down the disposal chute over there to ignite the chamber." - }, -/obj/item/weldingtool, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"fx" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/closed/wall, -/area/ship/hallway/central) -"fz" = ( -/obj/machinery/shower{ - pixel_y = 18 - }, -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/turf/open/floor/noslip, -/area/ship/engineering/atmospherics) -"fD" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"fG" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"fI" = ( -/obj/structure/chair/sofa/brown/left/directional/west, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/carpet/red, -/area/ship/hallway/central) -"fQ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 1; - name = "Fuel Pump" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"fT" = ( -/obj/machinery/atmospherics/pipe/simple/dark/visible{ - dir = 9 - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"fU" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/cryo) -"fW" = ( -/turf/template_noop, -/area/template_noop) -"fY" = ( -/obj/structure/table, -/obj/item/trash/raisins, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/wood, -/area/ship/hallway/central) -"ga" = ( -/obj/structure/grille, -/obj/structure/window/fulltile, -/turf/open/floor/plating, -/area/ship/medical) -"gc" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"gh" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/door/poddoor{ - dir = 4; - id = "enginelockdown" - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"gi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/ntblue/diagonal, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"gk" = ( -/obj/structure/sign/poster/official/safety_internals{ - pixel_x = -32 - }, -/obj/structure/tank_dispenser, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"gm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/arrows{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"gr" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"gu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"gx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer4, -/turf/open/floor/plating, -/area/ship/hallway/central) -"gB" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Cooling to TEG" - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"gM" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"gN" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"gO" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "thruster fuel pump" - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"gP" = ( -/obj/effect/landmark/observer_start, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/ship/hallway/central) -"gQ" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"hb" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/hallway/central) -"hc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"hi" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/carpet/royalblue, -/area/ship/crew/crewtwo) -"hr" = ( -/turf/closed/wall/r_wall, -/area/ship/hallway/central) -"hz" = ( -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel, -/area/ship/cargo) -"hA" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"hC" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 9 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"hG" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"hJ" = ( -/obj/structure/grille, -/obj/machinery/door/poddoor{ - id = "windowlockdown" - }, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/door/firedoor/window, -/turf/open/floor/plating, -/area/ship/medical) -"hM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"hP" = ( -/obj/machinery/computer/helm{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"hT" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"hZ" = ( -/obj/item/extinguisher/advanced, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/suit/hooded/wintercoat/engineering, -/obj/item/clothing/under/rank/engineering/engineer/hazard, -/obj/item/clothing/under/rank/engineering/engineer/nt, -/obj/item/clothing/under/rank/engineering/engineer/nt/skirt, -/obj/item/clothing/under/rank/engineering/atmospheric_technician, -/obj/item/clothing/under/rank/engineering/atmospheric_technician/skirt, -/obj/item/clothing/head/beret/atmos, -/obj/item/clothing/head/beret/eng, -/obj/item/analyzer, -/obj/item/storage/belt/utility, -/obj/item/storage/belt/utility, -/obj/structure/closet/secure_closet{ - icon_state = "eng_secure"; - name = "engineer's locker"; - req_access = list(11); - anchored = 1 - }, -/obj/item/pipe_dispenser, -/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"ib" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"ic" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"id" = ( -/obj/machinery/shower{ - dir = 4; - pixel_y = 8 - }, -/obj/structure/curtain, -/obj/item/bikehorn/rubberducky/plasticducky, -/obj/effect/turf_decal/techfloor/hole{ - dir = 8 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/crewtwo) -"ie" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/hallway/central) -"if" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"ih" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ - dir = 4 - }, -/obj/machinery/door/poddoor/preopen{ - dir = 4; - id = "bridgelockdown" - }, -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/door/firedoor/window, -/turf/open/floor/plating, -/area/ship/bridge) -"ik" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 9 - }, -/obj/machinery/light/broken/directional/south, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"il" = ( -/obj/structure/closet/crate/bin, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"im" = ( -/obj/structure/lattice, -/turf/template_noop, -/area/ship/external) -"ir" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"is" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/airlock/mining/glass, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"iv" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/bridge) -"ix" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"iB" = ( -/obj/machinery/door/airlock/command{ - dir = 4; - name = "Personal Quarters"; - req_one_access_txt = "20" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/carpet/royalblue, -/area/ship/crew/crewtwo) -"iI" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/autolathe, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo/office) -"iP" = ( -/obj/structure/chair/comfy/grey/directional/north, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"iY" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"ja" = ( -/obj/machinery/shower{ - dir = 4 - }, -/obj/item/soap/nanotrasen, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"jf" = ( -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/wrapping, -/obj/item/storage/fancy/donut_box, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo/office) -"ji" = ( -/turf/closed/wall/r_wall, -/area/ship/crew/crewthree) -"jq" = ( -/obj/structure/grille, -/obj/machinery/door/poddoor{ - id = "windowlockdown" - }, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/door/firedoor/window, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"jr" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 24; - pixel_y = -5 - }, -/obj/effect/turf_decal/corner/opaque/green/mono, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"js" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/closet/cardboard{ - name = "janitorial supplies" - }, -/obj/item/mop, -/obj/item/reagent_containers/glass/bucket, -/obj/item/soap, -/obj/item/storage/bag/trash, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo/office) -"jv" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"jK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"jM" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Helm" - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"jS" = ( -/turf/closed/wall, -/area/ship/crew/dorm) -"jX" = ( -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 8; - id = "skippyshieldywalle"; - locked = 1 - }, -/obj/structure/cable, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor{ - id = "amogusdoors"; - name = "Cargo Bay Blast Door" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"jZ" = ( -/obj/structure/closet/radiation, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 24; - pixel_y = 5 - }, -/obj/structure/sign/warning/incident{ - pixel_y = 32 - }, -/turf/open/floor/noslip, -/area/ship/engineering/atmospherics) -"kn" = ( -/obj/machinery/button/door/incinerator_vent_atmos_aux{ - dir = 4; - pixel_x = -23; - pixel_y = 8 - }, -/obj/machinery/button/ignition/incinerator/atmos{ - dir = 4; - pixel_x = -23; - pixel_y = -3 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"kp" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/crewthree) -"ky" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/layer2, -/turf/open/floor/plating, -/area/ship/hallway/central) -"kz" = ( -/turf/closed/wall/r_wall, -/area/ship/engineering/atmospherics) -"kB" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 10 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"kE" = ( -/obj/machinery/newscaster/directional/west, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"kL" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/green/mono, -/obj/machinery/reagentgrinder{ - pixel_y = 11 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"kM" = ( -/obj/structure/table, -/obj/item/storage/pill_bottle/charcoal/less{ - pixel_x = -9 - }, -/obj/item/reagent_containers/glass/bottle{ - list_reagents = list(/datum/reagent/medicine/thializid=30); - name = "thializid bottle" - }, -/obj/item/reagent_containers/glass/bottle/formaldehyde{ - pixel_x = 6; - pixel_y = 8 - }, -/obj/item/reagent_containers/syringe{ - pixel_x = 7 - }, -/obj/effect/turf_decal/borderfloorwhite{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"kO" = ( -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"kU" = ( -/turf/closed/wall, -/area/ship/crew/toilet) -"kW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/carpet/blue, -/area/ship/crew/dorm) -"lf" = ( -/obj/structure/closet/secure_closet{ - icon_state = "hop"; - name = "\proper first officer's locker"; - req_access_txt = "57" - }, -/obj/item/storage/backpack/satchel/leather, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/suit/armor/vest/hop, -/obj/item/clothing/head/hopcap/nt, -/obj/item/storage/box/ids, -/obj/item/storage/box/PDAs, -/obj/item/assembly/flash/handheld, -/obj/item/clothing/head/beret/command, -/obj/item/door_remote/captain, -/obj/structure/sign/poster/official/ian{ - pixel_y = 32 - }, -/obj/effect/turf_decal/siding/wood, -/obj/item/clothing/under/nanotrasen/officer, -/obj/item/clothing/under/nanotrasen/officer/skirt, -/turf/open/floor/wood, -/area/ship/crew/crewthree) -"lg" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"lh" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/hallway/central) -"lk" = ( -/obj/structure/table/wood/reinforced, -/obj/item/flashlight/lamp/green{ - pixel_y = 10; - pixel_x = -6 - }, -/obj/item/pen/fountain/captain{ - pixel_x = -10 - }, -/obj/item/paper{ - pixel_x = 10; - pixel_y = -2 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"ls" = ( -/turf/closed/wall/r_wall, -/area/ship/medical) -"lw" = ( -/turf/closed/wall/r_wall, -/area/ship/crew/canteen/kitchen) -"lA" = ( -/obj/structure/closet/crate/bin, -/obj/machinery/light/broken/directional/east, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"lE" = ( -/obj/machinery/suit_storage_unit/industrial/atmos_firesuit, -/obj/structure/sign/warning/hottemp{ - pixel_x = -29 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"lR" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"lU" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"lV" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/fulltile, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"lW" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"lY" = ( -/obj/machinery/atmospherics/pipe/simple/dark/visible{ - dir = 4 - }, -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/fulltile, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"mc" = ( -/obj/machinery/atmospherics/pipe/manifold/yellow/visible, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"mf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/closed/wall, -/area/ship/hallway/central) -"mg" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 6 - }, -/turf/open/floor/engine/airless, -/area/ship/external) -"mi" = ( -/obj/structure/window/reinforced/tinted, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central7{ - dir = 1 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"mw" = ( -/obj/machinery/door/window/southright, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"mF" = ( -/obj/machinery/power/shuttle/engine/fire{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"mI" = ( -/obj/structure/bed, -/obj/item/bedsheet/random, -/obj/structure/curtain/cloth/grey, -/obj/structure/sign/poster/official/random{ - pixel_x = -30 - }, -/turf/open/floor/carpet/blue, -/area/ship/crew/dorm) -"mL" = ( -/obj/structure/table, -/obj/item/storage/toolbox/electrical{ - pixel_y = 8 - }, -/obj/item/storage/toolbox/mechanical, -/obj/structure/sign/warning/nosmoking/burnt{ - pixel_y = -30 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"mM" = ( -/turf/open/floor/wood, -/area/ship/crew/office) -"mN" = ( -/obj/structure/catwalk/over, -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/rust, -/area/ship/crew/toilet) -"mQ" = ( -/obj/machinery/firealarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"mS" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"mT" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 4; - pixel_y = 5 - }, -/obj/item/pen{ - pixel_x = 4; - pixel_y = 5 - }, -/obj/item/pen/fourcolor{ - pixel_x = 7; - pixel_y = 5 - }, -/obj/item/pen/fountain{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/kitchen/knife/letter_opener{ - desc = "A military combat utility survival knife, imported from Earth. An expensive paperweight indeed."; - pixel_x = 4; - pixel_y = 5 - }, -/obj/item/stamp/centcom{ - pixel_x = -10; - pixel_y = 13 - }, -/obj/item/stamp/law{ - pixel_x = -10; - pixel_y = 7 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/wood, -/area/ship/crew/office) -"mU" = ( -/obj/structure/urinal{ - pixel_y = 28 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/light/small/directional/east, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 24; - pixel_y = -11 - }, -/obj/effect/decal/cleanable/chem_pile, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"mX" = ( -/obj/machinery/door/poddoor/incinerator_atmos_aux{ - dir = 4 - }, -/obj/structure/sign/warning{ - pixel_y = 28 - }, -/turf/open/floor/engine/airless, -/area/ship/engineering/engine) -"nd" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light_switch{ - pixel_x = -5; - pixel_y = 24 - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"ne" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"ng" = ( -/obj/structure/table/reinforced, -/obj/item/radio/intercom/wideband/table{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"nj" = ( -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"np" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 10 - }, -/turf/open/floor/engine/airless, -/area/ship/external) -"nq" = ( -/turf/closed/wall/r_wall, -/area/ship/crew/office) -"nu" = ( -/obj/machinery/computer/atmos_control/incinerator{ - dir = 4; - sensors = list("nemo_incinerator_sensor"="Incinerator Chamber") - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"nv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"nB" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/bed/roller, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo/office) -"nF" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ - dir = 4 - }, -/turf/open/floor/engine/airless, -/area/ship/engineering/engine) -"nX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"og" = ( -/obj/machinery/door/airlock/engineering{ - dir = 4; - name = "Engineering" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/brown/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"ok" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"om" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"oq" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"oD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"oE" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"oN" = ( -/obj/structure/bed/dogbed/ian, -/mob/living/simple_animal/pet/dog/corgi/Lisa, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -24; - pixel_y = 8 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/carpet/blue, -/area/ship/crew/crewthree) -"oT" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"oU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/office) -"pf" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/portable_atmospherics/scrubber, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo/office) -"ph" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "bridgelockdown"; - name = "Bridge Lockdown"; - pixel_x = 8; - pixel_y = 25 - }, -/obj/machinery/button/door{ - id = "coolingshutdown"; - name = "Shutdown Cooling"; - pixel_x = -5; - pixel_y = 25 - }, -/obj/machinery/button/door{ - pixel_y = 25; - pixel_x = 21; - id = "windowlockdown"; - name = "Window Lockdown" - }, -/obj/item/cigbutt/cigarbutt, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"pn" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = 30 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"pq" = ( -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"pr" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"ps" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/crewthree) -"pt" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/westleft, -/obj/machinery/door/window/eastright, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"pz" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"pB" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/toxins, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"pD" = ( -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"pI" = ( -/obj/structure/table, -/obj/item/trash/candle{ - pixel_y = 12 - }, -/obj/machinery/light/directional/south, -/obj/item/trash/plate, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"pM" = ( -/obj/machinery/door/airlock/engineering{ - dir = 4; - name = "Engineering" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/brown/visible/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"pT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/oxygen_output, -/turf/open/floor/engine/o2, -/area/ship/engineering/atmospherics) -"pZ" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/fulltile, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"qa" = ( -/turf/closed/wall/r_wall, -/area/ship/crew/crewtwo) -"qb" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 5 - }, -/turf/open/floor/engine/airless, -/area/ship/external) -"qg" = ( -/obj/structure/toilet{ - pixel_y = 10 - }, -/obj/machinery/airalarm/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"qp" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/vomit/old, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/wood, -/area/ship/crew/cryo) -"qq" = ( -/obj/structure/table, -/obj/item/newspaper, -/turf/open/floor/wood, -/area/ship/hallway/central) -"qr" = ( -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"qy" = ( -/obj/machinery/light/directional/west, -/obj/machinery/mineral/ore_redemption, -/turf/open/floor/plasteel, -/area/ship/cargo) -"qF" = ( -/obj/machinery/power/shuttle/engine/fire{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/external) -"qK" = ( -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"qR" = ( -/obj/machinery/door/airlock/mining{ - name = "Cargo Office" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"qS" = ( -/obj/structure/closet/secure_closet/wall/directional/west{ - name = "The Captain's Personal Medicine Cabinet And Soap Holder"; - req_access_txt = "20" - }, -/obj/item/soap/nanotrasen, -/obj/item/razor, -/obj/item/storage/pill_bottle/psicodine, -/obj/item/storage/pill_bottle/charcoal/less, -/obj/item/lipstick/random, -/obj/item/stack/medical/bruise_pack{ - amount = 3 - }, -/obj/item/stack/medical/ointment{ - amount = 5; - desc = "Used to treat...... well, it's topical, and it's clearly been used....." - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/crewtwo) -"qY" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"ra" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Air to Distro"; - target_pressure = 1000; - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"rc" = ( -/obj/machinery/firealarm/directional/south, -/obj/machinery/vending/cigarette, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"re" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/hallway/central) -"rq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/carpet/blue, -/area/ship/crew/dorm) -"rw" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/carpet/blue, -/area/ship/crew/crewthree) -"rx" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/dark/visible{ - dir = 10 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch{ - pixel_x = 13; - pixel_y = 24 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"rz" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/structure/sign/warning/electricshock{ - pixel_x = 24 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"rF" = ( -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"rK" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/ntblue/diagonal, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal{ - dir = 4 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"rM" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrogen_output, -/turf/open/floor/engine/n2, -/area/ship/engineering/atmospherics) -"rW" = ( -/obj/structure/table, -/obj/item/cigbutt, -/obj/item/cigbutt{ - pixel_x = -10; - pixel_y = 12 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"sc" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Operations" - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"sd" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/wood, -/area/ship/hallway/central) -"sh" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/decal/cleanable/ash, -/turf/open/floor/plasteel, -/area/ship/cargo) -"si" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"sk" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/air_input{ - dir = 1 - }, -/turf/open/floor/engine/air, -/area/ship/engineering/atmospherics) -"sn" = ( -/obj/structure/curtain, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"sz" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ - dir = 6 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"sA" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"sC" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/atmospherics/pipe/simple/brown/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/engineering/atmospherics) -"sD" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"sJ" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"sK" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/machinery/power/ship_gravity, -/obj/structure/cable{ - icon_state = "0-1" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"sU" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"sY" = ( -/obj/structure/grille, -/obj/machinery/door/poddoor{ - id = "windowlockdown" - }, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/door/firedoor/window, -/turf/open/floor/plating, -/area/ship/crew/office) -"ta" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"tf" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/ship/engineering/atmospherics) -"tk" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - target_temperature = 73 - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"tm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/ntblue/diagonal, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"tp" = ( -/obj/machinery/atmospherics/components/binary/circulator/cold{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"tr" = ( -/obj/machinery/door/window/westright, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"ts" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"tx" = ( -/turf/closed/wall/r_wall, -/area/ship/cargo) -"tz" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/industrial/loading{ - dir = 1 - }, -/obj/structure/ore_box, -/obj/structure/sign/warning/fire{ - pixel_x = -23 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"tB" = ( -/turf/closed/wall, -/area/ship/crew/office) -"tF" = ( -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 1; - name = "Emergency Recycling Override" - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"tI" = ( -/obj/structure/table, -/obj/machinery/light/dim/directional/north, -/obj/item/reagent_containers/food/drinks/mug/tea, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"tR" = ( -/obj/machinery/door/airlock/external, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ship/hallway/central) -"tX" = ( -/obj/machinery/door/airlock{ - name = "Kitchen" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"tZ" = ( -/obj/effect/turf_decal/borderfloorwhite/full, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"ub" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"ug" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/brown/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"uh" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/chair/comfy/grey/directional/north, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"ul" = ( -/turf/closed/wall/r_wall, -/area/ship/engineering/engine) -"um" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/diagonal, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"uq" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"us" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood, -/area/ship/crew/crewthree) -"ut" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/crew/toilet) -"uv" = ( -/obj/structure/fluff/hedge, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/office) -"uw" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/table/reinforced, -/obj/item/kitchen/knife, -/obj/item/cutting_board, -/obj/effect/turf_decal/corner/opaque/green/mono, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"uD" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/structure/table/reinforced, -/obj/item/kitchen/rollingpin, -/obj/item/reagent_containers/food/condiment/peppermill{ - pixel_x = -2; - pixel_y = 11 - }, -/obj/item/reagent_containers/food/condiment/saltshaker{ - pixel_y = 6; - pixel_x = -8 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"uG" = ( -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 4; - id = "skippyshieldywalle"; - locked = 1 - }, -/obj/structure/cable, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor{ - id = "amogusdoors"; - name = "Cargo Bay Blast Door" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"uL" = ( -/obj/structure/table/wood, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"uM" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"uQ" = ( -/obj/machinery/door/poddoor/shutters{ - id = "hallwindows"; - name = "Cargo Shutters"; - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/cargo/office) -"uS" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/west, -/obj/item/reagent_containers/food/snacks/grown/harebell, -/turf/open/floor/carpet/blue, -/area/ship/crew/dorm) -"uT" = ( -/obj/machinery/light/directional/west, -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"uX" = ( -/obj/item/reagent_containers/food/snacks/chips{ - pixel_x = 10; - pixel_y = 15 - }, -/obj/machinery/light/directional/south, -/obj/structure/chair/plastic{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/hallway/central) -"uY" = ( -/obj/structure/frame/computer{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"va" = ( -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/fulltile, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"vc" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/cryo) -"ve" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Infirmary" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"vf" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"vo" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen, -/obj/item/megaphone/command, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"vp" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/carpet/royalblue, -/area/ship/crew/crewtwo) -"vB" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 6 - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"vI" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/ntblue, -/obj/item/trash/plate, -/obj/effect/turf_decal/corner/opaque/green/half{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"vO" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/diagonal, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal{ - dir = 4 - }, -/obj/structure/sign/poster/official/random{ - pixel_x = -30 - }, -/obj/structure/table, -/obj/item/trash/cheesie, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"vP" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/borderfloorwhite{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"vR" = ( -/obj/structure/chair/office, -/turf/open/floor/wood, -/area/ship/crew/office) -"vW" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"vY" = ( -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/structure/table, -/obj/machinery/chem_dispenser/drinks, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"vZ" = ( -/obj/structure/bed, -/obj/item/bedsheet/captain, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/carpet/royalblue, -/area/ship/crew/crewtwo) -"wb" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"wd" = ( -/obj/structure/table, -/obj/item/stack/medical/gauze, -/obj/item/storage/firstaid/regular, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"we" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"wg" = ( -/obj/machinery/door/airlock/external, -/obj/docking_port/mobile{ - dir = 2; - launch_status = 0; - port_direction = 8; - preferred_direction = 4 - }, -/turf/open/floor/plating, -/area/ship/hallway/central) -"wp" = ( -/obj/structure/table/wood/reinforced, -/obj/item/hand_tele{ - pixel_x = 4; - pixel_y = 8 - }, -/obj/item/coin/hellstone{ - pixel_x = -12; - pixel_y = -3 - }, -/obj/item/stamp/captain{ - pixel_y = 13; - pixel_x = -8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"wt" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "thruster fuel pump" - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"ww" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"wA" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/closet/crate/engineering, -/obj/item/stack/sheet/metal/twenty, -/obj/item/stack/sheet/glass/twenty, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo/office) -"wB" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/engineering/atmospherics) -"wC" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxin_input{ - dir = 1 - }, -/turf/open/floor/engine/airless, -/area/ship/engineering/atmospherics) -"wG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"wH" = ( -/turf/closed/wall/r_wall, -/area/ship/crew/toilet) -"wO" = ( -/obj/structure/table/wood, -/obj/item/instrument/piano_synth, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"wT" = ( -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/structure/closet/secure_closet/freezer{ - anchored = 1 - }, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/storage/box/ingredients/vegetarian, -/obj/item/storage/fancy/egg_box, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"wX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/green/mono, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"wZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"xb" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"xf" = ( -/turf/closed/wall, -/area/ship/crew/canteen/kitchen) -"xi" = ( -/obj/structure/bed, -/obj/item/bedsheet/head_of_personnel, -/obj/machinery/light/small/directional/east, -/turf/open/floor/carpet/blue, -/area/ship/crew/crewthree) -"xo" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"xs" = ( -/obj/structure/chair/sofa/brown/directional/south, -/obj/machinery/light/directional/north, -/turf/open/floor/carpet/red, -/area/ship/hallway/central) -"xu" = ( -/obj/structure/grille, -/obj/machinery/door/poddoor{ - id = "windowlockdown" - }, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/door/firedoor/window, -/turf/open/floor/plating, -/area/ship/crew/toilet) -"xA" = ( -/obj/machinery/computer/secure_data{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/crewthree) -"xE" = ( -/obj/machinery/photocopier, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 23 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/crew/office) -"xK" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/cryo) -"xO" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"xW" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/chair/comfy/grey/directional/east, -/turf/open/floor/wood, -/area/ship/crew/cryo) -"yf" = ( -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/structure/table/reinforced, -/obj/machinery/microwave{ - pixel_x = -1; - pixel_y = 8 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"yh" = ( -/obj/item/radio/intercom/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"yj" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"yo" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/external) -"ys" = ( -/turf/closed/wall, -/area/ship/cargo/office) -"yB" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/under/suit/dresssuit/skirt, -/obj/item/clothing/under/color/grey, -/obj/item/clothing/under/suit/charcoal, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/workboots/mining, -/obj/item/clothing/suit/hooded/hoodie/black, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"yF" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"yG" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"yM" = ( -/obj/structure/table/wood/reinforced, -/obj/item/storage/fancy/cigarettes/cigars{ - pixel_y = 12 - }, -/obj/item/lighter{ - pixel_x = -6; - pixel_y = -3 - }, -/obj/item/coin/titanium{ - pixel_x = 7; - pixel_y = -3 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood, -/area/ship/crew/crewthree) -"yU" = ( -/obj/machinery/door/airlock{ - name = "Crew Quarters" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm) -"ze" = ( -/obj/structure/sink{ - pixel_y = 22 - }, -/obj/structure/mirror{ - pixel_y = 32 - }, -/obj/structure/toilet{ - dir = 8; - name = "The Throne"; - desc = "Man, its good to be king." - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/crewtwo) -"zi" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -24; - pixel_y = -14 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central6{ - dir = 4 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"zu" = ( -/obj/effect/turf_decal/industrial/loading{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"zy" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "thruster fuel pump" - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"zC" = ( -/obj/machinery/suit_storage_unit/cmo, -/obj/effect/turf_decal/borderfloorwhite/full, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"zG" = ( -/obj/structure/bookcase/manuals/engineering, -/turf/open/floor/wood, -/area/ship/hallway/central) -"zJ" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = 12 - }, -/obj/structure/mirror{ - pixel_x = 25 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"zK" = ( -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/pipe/simple/brown/visible/layer4, -/obj/machinery/atmospherics/components/unary/portables_connector, -/obj/effect/turf_decal/industrial/outline/orange, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"zM" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/office) -"zO" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"zP" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/poddoor/preopen{ - dir = 4; - id = "coolingshutdown" - }, -/turf/open/floor/engine/airless, -/area/ship/external) -"zS" = ( -/obj/structure/table/optable, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Aa" = ( -/obj/structure/chair/comfy/orange/directional/east, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood, -/area/ship/crew/crewthree) -"Ao" = ( -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"As" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/suit/toggle/lawyer/burgundy, -/obj/item/clothing/suit/toggle/lawyer/charcoal, -/obj/item/clothing/suit/toggle/lawyer/navy, -/obj/item/clothing/under/rank/security/detective, -/obj/item/clothing/under/rank/security/detective/skirt, -/obj/item/clothing/under/suit/black, -/obj/item/clothing/under/suit/black/skirt, -/obj/item/clothing/under/suit/black_really, -/obj/item/clothing/under/suit/black_really/skirt, -/obj/item/clothing/glasses/sunglasses, -/obj/item/clothing/neck/tie, -/obj/item/clothing/glasses/regular, -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood, -/area/ship/crew/office) -"At" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/fulltile, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Au" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"Az" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"AB" = ( -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"AE" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"AG" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/item/paper/crumpled{ - default_raw_text = "66% Oxy (Node 1) to 34% Plasma (Node 2) works great at 500 kPa." - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "engine fuel pump" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"AP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/computer/helm/viewscreen/directional/south, -/obj/effect/turf_decal/number/right_eight, -/obj/effect/turf_decal/number/left_nine, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"AT" = ( -/turf/closed/wall, -/area/ship/medical) -"Bc" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/cryo) -"Bd" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Bg" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"Bh" = ( -/obj/structure/table, -/obj/item/flashlight/lamp/green{ - pixel_x = -6; - pixel_y = 13 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_x = -30 - }, -/obj/item/spacecash/bundle/c50, -/turf/open/floor/wood, -/area/ship/crew/office) -"Bq" = ( -/obj/machinery/airalarm/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Br" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"Bw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/ntblue/diagonal, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal{ - dir = 4 - }, -/obj/effect/decal/cleanable/food/tomato_smudge, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"BE" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"BH" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/east, -/obj/machinery/light_switch{ - pixel_x = -5; - pixel_y = 24 - }, -/obj/item/paicard, -/turf/open/floor/carpet/blue, -/area/ship/crew/dorm) -"BI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/sign/poster/official/random{ - pixel_y = -32 - }, -/obj/effect/turf_decal/ntspaceworks_small, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"BJ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/stairs, -/area/ship/bridge) -"BK" = ( -/obj/structure/catwalk/over, -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/robot_debris/gib, -/turf/open/floor/plating, -/area/ship/crew/toilet) -"BS" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew/cryo) -"BW" = ( -/obj/machinery/airalarm/directional/west, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Ca" = ( -/obj/machinery/suit_storage_unit/mining/eva, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Cl" = ( -/obj/machinery/door/airlock{ - dir = 4; - name = "Bathroom" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/toilet) -"Co" = ( -/obj/structure/spirit_board, -/obj/structure/catwalk/over, -/obj/item/toy/plush/moth/firewatch{ - pixel_y = 14; - name = "soot-covered moth plushie" - }, -/obj/structure/sign/poster/contraband/stechkin{ - pixel_x = 32 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating/rust, -/area/ship/crew/toilet) -"Cr" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Cs" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"Cu" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 6 - }, -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/fulltile, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Cy" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/crew/office) -"Cz" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"CA" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/simple/brown/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/engineering/atmospherics) -"CB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"CE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ship/engineering/atmospherics) -"CH" = ( -/obj/structure/chair/sofa/brown/right/directional/east, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"CM" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/cryo) -"CR" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"CV" = ( -/obj/effect/turf_decal/ntspaceworks_small/right, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"Da" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/computer/cryopod/directional/west, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/cryo) -"Dc" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"Dd" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Nitrogen to Air"; - dir = 8; - target_pressure = 1000 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Dp" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/closet/emcloset/wall/directional/south, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Dy" = ( -/obj/structure/closet/cardboard{ - name = "pranking materials" - }, -/obj/item/toy/katana, -/obj/item/bikehorn, -/obj/item/grown/bananapeel, -/obj/item/gun/ballistic/automatic/toy/pistol, -/obj/item/restraints/legcuffs/beartrap, -/obj/item/poster/random_contraband, -/obj/item/poster/random_contraband, -/obj/item/poster/random_contraband, -/turf/open/floor/plating/rust, -/area/ship/crew/toilet) -"Dz" = ( -/obj/machinery/modular_computer/console/preset/command{ - dir = 8 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 24; - pixel_y = -5 - }, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/crewthree) -"DF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxin_output{ - dir = 1 - }, -/turf/open/floor/engine/hydrogen, -/area/ship/engineering/atmospherics) -"DL" = ( -/obj/effect/decal/cleanable/food/flour, -/obj/effect/turf_decal/corner/opaque/green/mono, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"DN" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"DV" = ( -/obj/structure/chair/sofa/brown/corner/directional/south, -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/obj/machinery/computer/helm/viewscreen/directional/east, -/turf/open/floor/carpet/red, -/area/ship/hallway/central) -"DZ" = ( -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/decal/cleanable/food/flour, -/obj/structure/sink/kitchen{ - dir = 4; - pixel_x = -11 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"Eb" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"Ek" = ( -/obj/machinery/advanced_airlock_controller{ - pixel_x = 25 - }, -/turf/open/floor/plating, -/area/ship/hallway/central) -"Eu" = ( -/obj/docking_port/stationary{ - dwidth = 15; - width = 30; - height = 15; - dir = 2 - }, -/turf/template_noop, -/area/template_noop) -"Ev" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = 6 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/snacks/fortunecookie{ - pixel_y = 7; - pixel_x = -7 - }, -/obj/machinery/newscaster/directional/east, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/wood, -/area/ship/crew/cryo) -"Ew" = ( -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Ex" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/obj/machinery/light/dim/directional/west, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"EE" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/door/poddoor{ - dir = 4; - id = "enginelockdown" - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"EF" = ( -/obj/machinery/modular_computer/console/preset/command{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/bar/half{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"EG" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood, -/area/ship/hallway/central) -"EJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"EP" = ( -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"ES" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light/broken/directional/east, -/obj/effect/turf_decal/corner/opaque/ntblue/diagonal, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Fc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Fj" = ( -/obj/machinery/door/airlock/command{ - name = "Bridge"; - req_access_txt = "19" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"Fn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/carpet/blue, -/area/ship/crew/dorm) -"Fq" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Fu" = ( -/turf/closed/wall, -/area/ship/cargo) -"Fv" = ( -/obj/machinery/fax/nanotrasen, -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"Fx" = ( -/obj/machinery/light/dim/directional/south, -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/decal/cleanable/food/egg_smudge, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"FB" = ( -/obj/structure/flora/bigplant, -/turf/open/floor/wood, -/area/ship/hallway/central) -"FC" = ( -/obj/structure/rack, -/obj/item/pickaxe, -/obj/item/pickaxe, -/obj/item/shovel, -/obj/item/kinetic_crusher, -/turf/open/floor/plasteel, -/area/ship/cargo) -"FO" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel, -/area/ship/cargo) -"FW" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"Gb" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/hallway/central) -"Gc" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/obj/machinery/iv_drip, -/obj/effect/turf_decal/borderfloorwhite/full, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Gh" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Activate Cooling" - }, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"Gi" = ( -/turf/open/floor/engine, -/area/ship/engineering/engine) -"Gm" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/crew/office) -"Gp" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Gq" = ( -/obj/structure/table, -/obj/item/folder/blue, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/item/clipboard, -/turf/open/floor/wood, -/area/ship/crew/office) -"Gs" = ( -/obj/machinery/door/window/westleft, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/sign/poster/official/cleanliness{ - pixel_y = -33 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"GL" = ( -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"GQ" = ( -/obj/structure/fluff/hedge, -/turf/open/floor/wood, -/area/ship/crew/office) -"GW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) -"Hb" = ( -/obj/machinery/vending/cola/random, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Hd" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/ntblue, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"Hm" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/components/binary/pump/layer4{ - name = "Oxygen to Mix" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Hq" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 9 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Hu" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/atmos/mix, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"HA" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"HE" = ( -/obj/structure/catwalk/over, -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/ship/crew/toilet) -"HL" = ( -/obj/machinery/igniter/incinerator_atmos, -/obj/machinery/air_sensor/atmos/incinerator_tank{ - id_tag = "nemo_incinerator_sensor" - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/engine/airless, -/area/ship/engineering/engine) -"HO" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/table/glass, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 11 - }, -/obj/machinery/light_switch{ - pixel_x = -5; - pixel_y = 24 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"HR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/dark/visible{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/ship/engineering/atmospherics) -"HW" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/hallway/central) -"HZ" = ( -/obj/machinery/vending/coffee, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Ir" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"IA" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"IB" = ( -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"IV" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"Jj" = ( -/obj/structure/closet/crate/bin, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Jk" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Jm" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"Jn" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Infirmary" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"JA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/computer/cargo/express{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"JE" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"JJ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/wood, -/area/ship/hallway/central) -"JM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"JQ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel, -/area/ship/cargo) -"JS" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_x = -30 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/cryo) -"JT" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 6 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"JX" = ( -/obj/effect/turf_decal/radiation/white, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"JY" = ( -/obj/structure/closet/emcloset/anchored, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/ship/hallway/central) -"Ka" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/wood, -/area/ship/hallway/central) -"Kb" = ( -/obj/machinery/firealarm/directional/south, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Kd" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Kf" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Kh" = ( -/obj/machinery/button/door{ - dir = 1; - pixel_y = -24; - id = "privacyshutters" - }, -/obj/item/kirbyplants/random, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/crew/office) -"Ki" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/hallway/central) -"Kn" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 8 - }, -/turf/open/floor/engine/airless, -/area/ship/external) -"Kv" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Kz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"KH" = ( -/obj/structure/punching_bag, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 6; - pixel_y = -24 - }, -/turf/open/floor/wood, -/area/ship/hallway/central) -"KI" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/structure/barricade/wooden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/crew/toilet) -"KL" = ( -/obj/effect/turf_decal/corner/opaque/green/mono, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"KU" = ( -/obj/machinery/computer/arcade/orion_trail{ - dir = 8; - pixel_x = 5 - }, -/obj/item/reagent_containers/food/drinks/waterbottle{ - pixel_x = -15; - pixel_y = 10 - }, -/turf/open/floor/wood, -/area/ship/hallway/central) -"La" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/table/wood, -/obj/structure/bedsheetbin, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Lm" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/oxygen_input, -/turf/open/floor/engine/o2, -/area/ship/engineering/atmospherics) -"Lq" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/poddoor/preopen{ - dir = 4; - id = "coolingshutdown" - }, -/turf/open/floor/engine/airless, -/area/ship/external) -"Ls" = ( -/obj/machinery/door/airlock/mining/glass, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/brown/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Lv" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Lz" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"LA" = ( -/obj/structure/frame/computer{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"LD" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/wood, -/area/ship/crew/office) -"LX" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/machinery/button/door{ - id = "hallwindows"; - name = "Shutters Control"; - pixel_y = 24 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"Mi" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Mk" = ( -/obj/machinery/door/airlock{ - dir = 4; - name = "Dormitory" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/cryo) -"Mn" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/under/color/grey, -/obj/item/clothing/under/color/grey, -/obj/item/clothing/under/color/grey, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/storage/backpack, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/storage/backpack/satchel, -/obj/item/radio, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/ship/crew/cryo) -"Mq" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/brown/visible/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Mr" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"ME" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 1 - }, -/turf/open/floor/engine/airless, -/area/ship/external) -"MG" = ( -/obj/effect/turf_decal/borderfloorwhite/full, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 6; - pixel_y = 2 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = 5 - }, -/obj/item/folder/blue{ - pixel_y = 11; - pixel_x = -8 - }, -/obj/item/stamp/cmo{ - pixel_x = -7 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"MH" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central7{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"MI" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/northright, -/obj/machinery/door/window/southright{ - req_one_access_txt = "57" - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/crewthree) -"MJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/techfloor/corner, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"MP" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 10 - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"MS" = ( -/obj/machinery/atmospherics/components/binary/circulator, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"MT" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/techfloor, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"MV" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Mix Extract to TEG" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"MZ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/office) -"Nh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/wood, -/area/ship/crew/cryo) -"Ni" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Nm" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/structure/table, -/obj/item/clipboard{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/stamp{ - pixel_x = 10 - }, -/obj/item/stamp/denied{ - pixel_x = 2 - }, -/obj/item/flashlight/lamp{ - pixel_x = -8; - pixel_y = 10 - }, -/obj/item/folder{ - pixel_x = -10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"Np" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/light_switch{ - pixel_x = -14; - pixel_y = 24 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central6, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Ny" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"NB" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 9 - }, -/turf/open/floor/engine/airless, -/area/ship/external) -"NC" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"NH" = ( -/obj/machinery/atmospherics/pipe/simple/dark/visible{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"NK" = ( -/obj/machinery/light_switch{ - pixel_x = -5; - pixel_y = 24 - }, -/obj/effect/turf_decal/radiation/white, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"NL" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/office) -"Oi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/hallway/central) -"Om" = ( -/obj/machinery/suit_storage_unit/mining/eva, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Oo" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"Op" = ( -/obj/effect/turf_decal/borderfloorwhite{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"OF" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"OG" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/item/storage/fancy/cigarettes/cigpack_robust{ - pixel_y = 9; - pixel_x = -1 - }, -/obj/item/lighter{ - pixel_y = 7; - pixel_x = 4 - }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/light/small/directional/east, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/crew/office) -"OH" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/space_heater, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo/office) -"OJ" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/door/poddoor{ - dir = 4; - id = "enginelockdown" - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"OQ" = ( -/obj/machinery/door/poddoor{ - id = "amogusdoors"; - name = "Cargo Bay Blast Door" - }, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/layer_manifold, -/turf/open/floor/plating, -/area/ship/cargo) -"OT" = ( -/obj/effect/turf_decal/corner/opaque/white/mono, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"Pb" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/external) -"Pf" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/nitrogen_input, -/turf/open/floor/engine/n2, -/area/ship/engineering/atmospherics) -"Pk" = ( -/obj/effect/turf_decal/borderfloorwhite/full, -/obj/machinery/sleeper, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Pl" = ( -/obj/structure/chair/stool/bar{ - dir = 1; - pixel_y = 10 - }, -/obj/effect/turf_decal/corner/opaque/ntblue/diagonal, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Pq" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/brown/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Px" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"PI" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"PJ" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/ntblue, -/obj/effect/turf_decal/corner/opaque/neutral/half{ - dir = 1 - }, -/obj/item/reagent_containers/food/condiment/saltshaker{ - pixel_y = 6; - pixel_x = -8 - }, -/obj/item/reagent_containers/food/condiment/peppermill{ - pixel_x = -2; - pixel_y = 11 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"Qo" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 9 - }, -/obj/structure/sign/poster/official/random{ - pixel_y = -32 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Qp" = ( -/turf/closed/wall/r_wall, -/area/ship/bridge) -"Qs" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/crewthree) -"QK" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"QM" = ( -/obj/structure/closet/crate/freezer/blood, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"QQ" = ( -/obj/item/cigbutt, -/obj/item/cigbutt{ - pixel_x = -10; - pixel_y = 10 - }, -/turf/open/floor/wood, -/area/ship/crew/office) -"QU" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/diagonal, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal{ - dir = 4 - }, -/obj/machinery/newscaster/directional/west, -/obj/structure/chair, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"QY" = ( -/obj/effect/turf_decal/corner/opaque/ntblue/diagonal, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal{ - dir = 4 - }, -/obj/structure/closet/crate/bin, -/obj/item/trash/plate, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Ra" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Re" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Ri" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Rv" = ( -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/fulltile, -/obj/machinery/atmospherics/pipe/simple/brown/visible, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Rw" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"RB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"RK" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Oxygen to Air and Mix"; - target_pressure = 1000 - }, -/obj/effect/turf_decal/atmos/oxygen, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"RL" = ( -/obj/structure/closet/secure_closet/freezer{ - anchored = 1 - }, -/obj/item/reagent_containers/food/condiment/enzyme, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/rice, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/soymilk, -/obj/effect/turf_decal/corner/opaque/green/mono, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"RO" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{ - dir = 8 - }, -/turf/open/floor/engine/air, -/area/ship/engineering/atmospherics) -"RQ" = ( -/obj/machinery/power/generator{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/engine, -/area/ship/engineering/engine) -"RR" = ( -/obj/effect/turf_decal/borderfloorwhite{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"Sc" = ( -/obj/structure/chair/office{ - dir = 1; - name = "Requests" - }, -/turf/open/floor/carpet/nanoweave/red, -/area/ship/crew/crewthree) -"Ss" = ( -/obj/machinery/vending/boozeomat, -/obj/effect/turf_decal/corner/opaque/green/mono, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"Sv" = ( -/obj/machinery/vending/cola/shamblers, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"SA" = ( -/obj/machinery/door/airlock/command{ - name = "Requests Office"; - req_one_access_txt = "57"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/crewthree) -"SE" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/effect/turf_decal/atmos/air{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"SG" = ( -/obj/effect/decal/cleanable/food/egg_smudge, -/obj/effect/turf_decal/corner/opaque/green/mono, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"SK" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/ship/hallway/central) -"SO" = ( -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/crewtwo) -"SY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/crew/office) -"Ta" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/crew/office) -"Tc" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_y = 10; - pixel_x = 9 - }, -/obj/item/trash/popcorn, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"Tf" = ( -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 24; - pixel_y = 5 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high/empty, -/obj/item/stock_parts/cell/high/empty, -/obj/item/stock_parts/cell/high/empty, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Th" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/chair/sofa/brown/left/directional/east, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -24; - pixel_y = 14 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"Tm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Tz" = ( -/obj/machinery/vending/snack/random, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"TF" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"TG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"TH" = ( -/obj/machinery/button/door{ - dir = 4; - pixel_x = -24; - id = "enginelockdown"; - name = "Lockdown Engines" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"TI" = ( -/obj/effect/decal/cleanable/ash, -/turf/open/floor/plasteel, -/area/ship/cargo) -"TJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"TL" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"TN" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 9 - }, -/obj/effect/turf_decal/atmos/nitrogen, -/obj/structure/sign/warning/gasmask{ - pixel_x = 31 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"TO" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 8 - }, -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/fulltile, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"TS" = ( -/obj/machinery/atmospherics/components/trinary/mixer/airmix, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"Ug" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner, -/turf/open/floor/plasteel/dark, -/area/ship/crew/cryo) -"Uh" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"Uk" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"Uo" = ( -/obj/machinery/newscaster/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Ut" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Privacy Shutters"; - id = "privacyshutters" - }, -/obj/structure/window/fulltile, -/obj/structure/grille, -/turf/open/floor/plasteel/dark, -/area/ship/crew/office) -"Uu" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Uv" = ( -/obj/structure/table, -/turf/open/floor/wood, -/area/ship/crew/office) -"UA" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/random, -/turf/open/floor/carpet/blue, -/area/ship/crew/dorm) -"UD" = ( -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/corner/opaque/ntblue/diagonal, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"UI" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"UJ" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/sign/warning/enginesafety{ - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"UM" = ( -/obj/structure/closet/secure_closet{ - icon_state = "cap"; - name = "\proper captain's locker"; - req_access_txt = "20" - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 24; - pixel_y = -5 - }, -/obj/item/storage/backpack/satchel/cap, -/obj/item/storage/backpack/captain, -/obj/item/storage/belt/sabre, -/obj/item/clothing/glasses/sunglasses, -/obj/item/clothing/suit/armor/vest/capcarapace, -/obj/item/clothing/shoes/laceup, -/obj/item/door_remote/captain, -/obj/item/clothing/gloves/color/captain/nt, -/obj/item/clothing/suit/armor/nanotrasen/captain, -/obj/item/clothing/suit/armor/nanotrasen/captain/parade, -/obj/item/clothing/gloves/color/captain/nt, -/obj/item/clothing/under/nanotrasen/captain/skirt, -/obj/item/clothing/under/nanotrasen/captain, -/obj/item/clothing/head/nanotrasen/captain/peaked, -/obj/item/clothing/head/nanotrasen/captain, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"UN" = ( -/turf/open/floor/wood, -/area/ship/hallway/central) -"UR" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 6 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"Vd" = ( -/obj/machinery/door/airlock/engineering{ - dir = 4; - name = "Engineering" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/atmospherics) -"Ve" = ( -/obj/structure/railing, -/obj/item/kirbyplants/random, -/obj/machinery/light/dim/directional/west, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"Vj" = ( -/turf/closed/wall, -/area/ship/hallway/central) -"Vp" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/food/drinks/beer, -/obj/effect/turf_decal/corner/opaque/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/ntblue, -/obj/effect/turf_decal/corner/opaque/green/half{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"Vq" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - can_be_unanchored = 1; - icon_state = "sec"; - name = "equipment locker"; - req_access_txt = "1" - }, -/obj/item/melee/baton/loaded, -/obj/item/restraints/handcuffs, -/obj/item/restraints/handcuffs, -/obj/item/stock_parts/cell/gun, -/obj/item/stock_parts/cell/gun/mini, -/obj/item/stock_parts/cell/gun/mini, -/obj/item/ammo_box/magazine/co9mm, -/obj/item/ammo_box/magazine/co9mm, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/crewthree) -"VP" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"VQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/ntblue/diagonal, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal{ - dir = 4 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Wa" = ( -/obj/effect/turf_decal/borderfloorwhite/full, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Wg" = ( -/obj/structure/table, -/obj/item/toy/cards/deck{ - pixel_y = 7 - }, -/turf/open/floor/carpet/red, -/area/ship/hallway/central) -"Wr" = ( -/obj/machinery/vending/clothing{ - pixel_y = 10 - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 24; - pixel_y = -5 - }, -/turf/open/floor/wood, -/area/ship/crew/cryo) -"Ws" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/ship/engineering/atmospherics) -"Wy" = ( -/obj/structure/closet/emcloset/wall/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"Wz" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood, -/area/ship/hallway/central) -"WC" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"WE" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 10 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"WO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel, -/area/ship/cargo) -"WP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"WR" = ( -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/machinery/vending/dinnerware, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"WU" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/obj/structure/reagent_dispensers/fueltank, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"WX" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"WZ" = ( -/turf/closed/wall, -/area/ship/crew/cryo) -"Xe" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Xl" = ( -/obj/structure/bed, -/obj/item/bedsheet/random, -/obj/structure/curtain/cloth/grey, -/turf/open/floor/carpet/blue, -/area/ship/crew/dorm) -"Xp" = ( -/turf/closed/wall/r_wall, -/area/ship/cargo/office) -"Xt" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/ntblue/diagonal, -/obj/effect/turf_decal/corner/opaque/neutral/diagonal{ - dir = 4 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/plasteel, -/area/ship/hallway/central) -"Xu" = ( -/obj/machinery/medical_kiosk, -/obj/machinery/light/directional/south, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"Xy" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/blue, -/area/ship/crew/crewthree) -"XA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/ntspaceworks_small/left, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"XJ" = ( -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/machinery/door/window/brigdoor/southright{ - name = "The Captain's Personal Lavatory"; - opacity = 1; - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/crew/crewtwo) -"XU" = ( -/turf/closed/wall/r_wall, -/area/ship/crew/dorm) -"XY" = ( -/obj/machinery/door/poddoor/preopen{ - dir = 4; - id = "bridgelockdown" - }, -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/door/firedoor/window, -/turf/open/floor/plating, -/area/ship/bridge) -"Yb" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/obj/machinery/door/airlock/command{ - name = "Bridge"; - req_access_txt = "19" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave/beige, -/area/ship/bridge) -"Yj" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Ym" = ( -/obj/machinery/door/poddoor{ - id = "amogusdoors"; - name = "Cargo Bay Blast Door" - }, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/ship/cargo) -"Yn" = ( -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/atmospherics) -"Yp" = ( -/obj/structure/closet/secure_closet/miningcloset{ - anchored = 1 - }, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/item/clothing/suit/hooded/explorer, -/obj/item/clothing/suit/hooded/explorer, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/meson, -/obj/item/mining_scanner, -/obj/item/mining_scanner, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 23 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Yv" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Yx" = ( -/obj/structure/chair/sofa/brown/right/directional/south, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 23 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/carpet/red, -/area/ship/hallway/central) -"YC" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"YQ" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"YT" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/closet/crate/medical, -/obj/item/defibrillator, -/obj/item/pinpointer/crew/prox, -/obj/item/storage/firstaid/fire, -/obj/item/storage/box/bodybags, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo/office) -"Za" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave/blue, -/area/ship/medical) -"Zd" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/turf/open/floor/plasteel, -/area/ship/crew/canteen/kitchen) -"Zf" = ( -/obj/machinery/suit_storage_unit/engine, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"Zo" = ( -/obj/machinery/computer/crew{ - dir = 8 - }, -/obj/effect/turf_decal/corner/opaque/bar/half{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Zr" = ( -/obj/machinery/firealarm/directional/east, -/obj/machinery/atmospherics/components/binary/volume_pump{ - name = "Fuel Pump" - }, -/obj/machinery/atmospherics/components/binary/valve/on/layer4{ - name = "Emergency Stop" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/atmospherics) -"Zu" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"Zw" = ( -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo/office) -"ZD" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/sign/warning/electricshock{ - pixel_y = 25 - }, -/turf/open/floor/plating, -/area/ship/engineering/atmospherics) -"ZE" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) -"ZI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/brown/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/cargo) -"ZJ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/dresser, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood, -/area/ship/crew/cryo) -"ZR" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/ship/hallway/central) - -(1,1,1) = {" -fW -fW -fW -fW -fW -fW -fW -yo -Pb -Pb -ul -ul -ul -ul -mX -ul -ul -ul -ul -Pb -Pb -fW -fW -fW -fW -fW -fW -fW -fW -fW -"} -(2,1,1) = {" -fW -fW -fW -fW -fW -qF -mF -tf -gh -OJ -ul -lE -dj -nF -HL -bk -dj -Zf -ul -gh -OJ -kz -mF -mF -fW -fW -fW -fW -fW -fW -"} -(3,1,1) = {" -fW -fW -fW -kz -kz -bG -EE -tf -ZD -IA -WU -JX -ul -lY -lV -lY -ul -NK -uT -IA -IA -kz -bG -EE -kz -kz -fW -fW -fW -fW -"} -(4,1,1) = {" -fW -fW -kz -kz -JT -wt -gO -dJ -xO -sz -cQ -aR -kn -MV -sK -AG -Jm -uM -yG -we -sD -TH -zy -zy -gk -kz -kz -fW -fW -fW -"} -(5,1,1) = {" -fW -kz -kz -kz -Np -Kd -Jk -nj -Hm -RB -Lz -MJ -IV -NH -lg -Yn -Uk -ub -Oo -bI -Xe -yF -CR -Hu -mL -kz -kz -kz -fW -fW -"} -(6,1,1) = {" -fW -kz -pT -At -RK -qK -dS -Ra -tF -mS -cL -EJ -CE -HR -Ws -bA -fc -hc -Kz -Fc -lW -sJ -qK -dO -qK -Rv -DF -kz -fW -fW -"} -(7,1,1) = {" -fW -kz -Lm -pZ -yj -TF -gN -Ni -vW -ne -ra -hZ -ft -MS -RQ -tp -Gi -vB -fw -Tf -ww -Mq -zK -Zr -Ew -Rv -wC -kz -fW -fW -"} -(8,1,1) = {" -kz -kz -kz -Cu -Px -Px -TS -lR -dZ -kz -TO -ul -rx -fT -nu -gB -vB -mc -kz -kz -Vd -pM -Fu -Fu -Fu -tx -tx -tx -tx -fW -"} -(9,1,1) = {" -kz -Pf -pZ -Dd -Ri -Yv -TG -oE -EP -va -RO -ul -Lv -Yj -fD -MP -Gh -ik -kz -fz -ai -CA -Fu -FC -Fq -qy -tz -pr -uG -fW -"} -(10,1,1) = {" -kz -rM -At -TN -kB -fl -fu -bf -SE -At -sk -ul -UJ -rz -Gi -tk -aL -pB -kz -jZ -wB -sC -Fu -Ca -hz -sh -Kv -jv -Ym -fW -"} -(11,1,1) = {" -kz -kz -kz -kz -kz -kz -kz -kz -kz -kz -kz -ul -ul -ul -ul -ul -ul -ul -kz -kz -er -og -Fu -Om -JQ -WO -FO -JE -Ym -fW -"} -(12,1,1) = {" -hr -JY -SK -hr -UD -dB -rK -um -QU -vO -QY -WZ -JS -Bc -Da -Bc -fU -WZ -rW -cS -sU -bh -Fu -Yp -TI -PI -Pq -fQ -OQ -fW -"} -(13,1,1) = {" -wg -ky -gx -tR -VQ -ES -Bw -tm -gi -Ao -Fx -WZ -ek -Ug -qp -CM -BS -WZ -tI -xb -hA -bz -Ls -aQ -aQ -ZI -ug -jv -Ym -Eu -"} -(14,1,1) = {" -hr -Ek -hr -hr -hr -hr -hr -Xt -GW -Ao -Tc -WZ -ZJ -Nh -xK -xW -Mn -WZ -il -pD -Cz -pz -is -Gp -bZ -Uu -NC -fs -jX -fW -"} -(15,1,1) = {" -lw -lw -lw -DZ -dp -rF -Vp -Pl -GW -qY -aF -WZ -WZ -Wr -vc -Ev -WZ -WZ -ib -cq -Mi -wZ -Fu -MH -yh -zu -zu -tx -tx -fW -"} -(16,1,1) = {" -fW -lw -wT -KL -vY -KL -Hd -Pl -GW -UI -fn -FB -WZ -WZ -Mk -WZ -Vj -bY -HW -WP -hA -si -ys -pt -ys -uQ -uQ -Xp -fW -fW -"} -(17,1,1) = {" -fW -lw -RL -OT -Ss -OT -vI -Pl -gr -gQ -JJ -cp -Wz -hb -Ki -lh -EG -cp -ie -Tm -Hq -gc -ys -LX -Nm -hG -hG -Xp -fW -fW -"} -(18,1,1) = {" -fW -lw -WR -SG -OT -wX -PJ -Pl -if -UI -sd -re -re -Gb -UN -al -UN -UN -HW -WP -eu -hC -qR -Au -JA -wG -Uh -Xp -fW -fW -"} -(19,1,1) = {" -fW -lw -kL -Zd -DL -Br -xf -kO -if -YQ -Vj -Yx -Wg -Oi -gP -UN -UN -KH -mf -ts -hA -pD -ys -nd -Zw -nv -gm -Xp -fW -fW -"} -(20,1,1) = {" -fW -lw -yf -uw -uD -jr -tX -Bg -xo -pI -Vj -xs -fa -Oi -cF -cF -UN -uX -fx -WC -hA -pD -ys -OH -nB -wA -AP -Xp -fW -fW -"} -(21,1,1) = {" -fW -lw -xf -xf -xf -xf -xf -nX -Dc -Cs -Vj -DV -fI -Ka -qq -fY -zG -KU -Vj -qr -hA -rc -ys -iI -pq -AB -XA -Xp -fW -fW -"} -(22,1,1) = {" -fW -sY -As -mT -Bh -LD -Ut -BE -zO -TL -ji -ji -ji -ji -ji -qa -qa -qa -hr -pD -hA -om -ys -jf -lU -ic -BI -Xp -fW -fW -"} -(23,1,1) = {" -fW -sY -QQ -vR -Uv -mM -Ut -pD -ir -pD -eC -xA -bO -dl -ji -id -qS -qa -Hb -pD -hA -Jj -ys -js -pf -YT -CV -Xp -fW -fW -"} -(24,1,1) = {" -fW -sY -GQ -mM -Gq -zM -Ut -pD -ir -pD -MI -Sc -us -Vq -ji -ze -SO -qa -Tz -Bd -ta -Vj -ys -ys -ys -ys -ys -Xp -fW -fW -"} -(25,1,1) = {" -fW -sY -uv -NL -oU -MZ -Ut -pD -sA -ZE -ji -Dz -ps -dG -ji -qa -XJ -qa -hr -Bq -hA -ga -bd -Th -CH -kE -Xu -ls -fW -fW -"} -(26,1,1) = {" -fW -nq -nq -xE -SY -Kh -tB -om -ir -cd -ji -ji -SA -ji -ji -bq -GL -bW -hr -ZR -QK -Jn -iY -OF -CB -oq -ls -ls -fW -fW -"} -(27,1,1) = {" -fW -fW -nq -ed -Ta -Cy -eL -oT -fo -Ny -ji -Aa -kp -oN -ji -lk -iP -vp -qa -pD -hA -ve -dy -ix -Za -wd -hJ -fW -fW -fW -"} -(28,1,1) = {" -fW -fW -nq -dW -Gm -OG -tB -eg -JM -VP -ji -yM -Qs -rw -ji -wp -ok -ao -qa -Uo -hA -ga -vP -RR -Op -kM -hJ -fW -fW -fW -"} -(29,1,1) = {" -fW -fW -nq -tB -tB -tB -tB -tB -vf -Ir -ji -lf -Xy -xi -ji -UM -hi -vZ -qa -de -eY -AT -Pk -tZ -Wa -MG -hJ -fW -fW -fW -"} -(30,1,1) = {" -fW -fW -XU -IB -eP -Re -BW -jS -bw -Kb -ji -ji -fi -ji -ji -qa -iB -qa -qa -gM -dM -AT -Gc -tZ -Wa -zC -hJ -fW -fW -fW -"} -(31,1,1) = {" -fW -fW -XU -XU -wO -WX -eB -jS -hT -cJ -Qp -Ve -Eb -BJ -zi -iv -AE -Ex -Qp -pn -hA -AT -HO -tr -Gs -ls -ls -fW -fW -fW -"} -(32,1,1) = {" -fW -fW -fW -XU -uL -uh -Kf -yU -WE -YC -Yb -Az -Mr -MT -Zu -UR -Rw -aA -Fj -DN -Qo -AT -zS -Cr -oD -ls -fW -fW -fW -fW -"} -(33,1,1) = {" -fW -fW -fW -XU -dq -uq -eQ -jS -Wy -om -Qp -ph -sc -FW -du -HA -jM -wb -Qp -Sv -Dp -AT -LA -dX -QM -ls -fW -fW -fW -fW -"} -(34,1,1) = {" -fW -fW -fW -XU -XU -mQ -jK -jS -lA -HZ -Qp -EF -Zo -Fv -ng -vo -hP -uY -Qp -kU -Cl -kU -kU -kU -wH -ls -fW -fW -fW -fW -"} -(35,1,1) = {" -fW -fW -fW -fW -XU -yB -TJ -jS -jS -jS -XU -XY -XY -XY -ih -ih -XY -XY -wH -qg -fG -mi -ja -kU -wH -fW -fW -fW -fW -fW -"} -(36,1,1) = {" -fW -fW -fW -fW -XU -bo -gu -Xl -uS -mI -XU -mg -ME -ME -NB -np -ME -qb -wH -mU -zJ -mw -sn -kU -wH -fW -fW -fW -fW -fW -"} -(37,1,1) = {" -fW -fW -fW -fW -XU -XU -hM -rq -Fn -aZ -XU -np -ME -ME -ME -ME -qb -Kn -wH -kU -kU -KI -kU -wH -wH -fW -fW -fW -fW -fW -"} -(38,1,1) = {" -fW -fW -fW -fW -fW -XU -La -kW -aZ -aZ -jq -mg -ME -ME -ME -ME -NB -Kn -xu -bR -mN -bs -HE -wH -fW -fW -fW -fW -fW -fW -"} -(39,1,1) = {" -fW -fW -fW -fW -fW -XU -XU -Xl -aZ -aZ -jq -fg -Lq -Lq -Lq -Lq -Lq -zP -xu -aN -ut -eD -wH -wH -fW -fW -fW -fW -fW -fW -"} -(40,1,1) = {" -fW -fW -fW -fW -fW -fW -XU -XU -BH -UA -jq -im -fW -fW -fW -fW -fW -im -xu -BK -Dy -wH -wH -fW -fW -fW -fW -fW -fW -fW -"} -(41,1,1) = {" -fW -fW -fW -fW -fW -fW -fW -XU -XU -XU -XU -im -fW -fW -fW -fW -fW -im -wH -Co -wH -wH -fW -fW -fW -fW -fW -fW -fW -fW -"} -(42,1,1) = {" -fW -fW -fW -fW -fW -fW -fW -fW -XU -XU -XU -im -fW -fW -fW -fW -fW -im -wH -wH -wH -fW -fW -fW -fW -fW -fW -fW -fW -fW -"} -(43,1,1) = {" -fW -fW -fW -fW -fW -fW -fW -fW -fW -XU -XU -im -fW -fW -fW -fW -fW -im -wH -wH -fW -fW -fW -fW -fW -fW -fW -fW -fW -fW -"} diff --git a/_maps/shuttles/nanotrasen/nanotrasen_tegu.dmm b/_maps/shuttles/nanotrasen/nanotrasen_tegu.dmm new file mode 100644 index 00000000000..db0df25656e --- /dev/null +++ b/_maps/shuttles/nanotrasen/nanotrasen_tegu.dmm @@ -0,0 +1,7167 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ad" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) +"ae" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"aj" = ( +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 2 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo/office) +"am" = ( +/obj/structure/chair/sofa/blue/corpo/left/directional/west, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"aw" = ( +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -8 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"aA" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/table/glass, +/obj/item/folder/yellow{ + pixel_x = 4; + layer = 2.9; + pixel_y = 4 + }, +/obj/item/folder/biscuit, +/obj/item/folder/documents, +/turf/open/floor/plasteel/patterned, +/area/ship/storage) +"aB" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/hangar) +"aD" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/closet/crate/medical, +/obj/item/storage/box/rxglasses, +/obj/item/storage/box/bodybags, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/storage/firstaid/regular, +/obj/item/roller, +/obj/item/storage/pill_bottle/charcoal, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"aM" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/crate_shelf, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"aP" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"aT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"aX" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hangar) +"aY" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) +"aZ" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/window/southright{ + req_access_txt = "61" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/communications) +"bb" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"bl" = ( +/obj/structure/railing{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"bn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "tegus_cargo_holofield" + }, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_cargo" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"bs" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"bA" = ( +/obj/structure/table/reinforced, +/obj/structure/railing{ + dir = 1; + layer = 2.7 + }, +/obj/machinery/computer/helm/viewscreen/directional/north{ + pixel_y = 0 + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"bP" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"bU" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/holopad/emergency/security, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo/office) +"bV" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"cg" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"ch" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"cp" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_shuttle_bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hangar) +"cr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"cs" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engines/port) +"ct" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = -8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/north{ + pixel_x = 3 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"cC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/obj/machinery/light/small/directional/east{ + pixel_y = -3 + }, +/obj/machinery/button/door{ + pixel_y = 8; + pixel_x = 22; + name = "Window Shutters"; + id = "tegus_qmwindow"; + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/carpet/orange, +/area/ship/crew/crewtwo) +"cE" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"cG" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 8 + }, +/obj/item/clipboard{ + pixel_x = 7 + }, +/obj/item/pen/fountain{ + pixel_x = 7; + pixel_y = -2 + }, +/obj/item/reagent_containers/food/drinks/mug{ + pixel_x = -8 + }, +/obj/effect/turf_decal/siding/white/end{ + dir = 1 + }, +/obj/machinery/light/floor, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/communications/room) +"cI" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/command{ + name = "Captain's Quarters"; + req_access_txt = "20" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/crewfour) +"cM" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew) +"cO" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/effect/turf_decal/siding/white, +/obj/item/paper_bin{ + pixel_x = 10; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = 10; + pixel_y = 4 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"cP" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/sign/poster/official/random{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"cU" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"cX" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"cY" = ( +/obj/structure/railing/corner{ + layer = 4.1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"de" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/light/small/directional/west{ + pixel_y = 16 + }, +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"dl" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hangar) +"do" = ( +/obj/effect/turf_decal/industrial/loading, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"dp" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/computer/cryopod/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"dB" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"dF" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -8; + pixel_y = -20 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = 3 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"dJ" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 1 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo/office) +"dL" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/engineering{ + dir = 1; + name = "Engineering Foyer" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"dU" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/security) +"dW" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/sign/poster/official/build{ + pixel_x = 32 + }, +/obj/structure/closet/secure_closet/engineering_personal{ + populate = 0 + }, +/obj/item/clothing/head/hardhat/nanotrasen, +/obj/item/clothing/under/nanotrasen/engineering, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/glasses/meson/engine, +/obj/item/holosign_creator/engineering, +/obj/item/clothing/glasses/meson/prescription, +/obj/item/storage/toolbox/mechanical, +/obj/item/clothing/gloves/color/yellow, +/obj/item/storage/belt/utility/full/engi, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"dZ" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_qmwindow" + }, +/turf/open/floor/plating, +/area/ship/crew/crewtwo) +"ek" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"el" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/machinery/computer/helm/viewscreen/computer, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -10 + }, +/obj/machinery/airalarm/directional/north, +/obj/item/radio/intercom/directional/west{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications/room) +"em" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "tegus_warehouse" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"eF" = ( +/obj/effect/turf_decal/ntspaceworks_small/right, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"eM" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/door/airlock{ + name = "Crew Quarters" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew) +"eP" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew) +"eZ" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/sign/poster/official/random{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"fc" = ( +/obj/structure/railing{ + layer = 4.1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull, +/area/ship/engineering/engines/port) +"fd" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"ff" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"fE" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/crate_shelf, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"fV" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"gf" = ( +/obj/effect/turf_decal/industrial/loading{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"gq" = ( +/obj/effect/landmark/subship{ + subship_template = /datum/map_template/shuttle/subshuttles/skink + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"gy" = ( +/obj/machinery/power/ship_gravity, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/button/door{ + pixel_y = -6; + pixel_x = 22; + name = "Engine Blast Doors"; + id = "tegus_starboard_engines"; + dir = 8 + }, +/obj/machinery/button/door{ + pixel_y = 8; + pixel_x = 22; + name = "Window Shutters"; + id = "tegus_starboard_window"; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"gJ" = ( +/obj/structure/sign/number/random, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"hc" = ( +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"hk" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/item/paper{ + pixel_x = 3 + }, +/obj/item/book/manual/wiki/command{ + pixel_y = 3 + }, +/obj/item/pen/fountain{ + pixel_y = 2; + pixel_x = -4 + }, +/turf/open/floor/carpet/orange, +/area/ship/crew/crewtwo) +"hp" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/white/end, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"hv" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering) +"hA" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/hangar) +"hF" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"hI" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "tegus_warehouse" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"hM" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"hN" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/hallway/central) +"id" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"if" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/poddoor/preopen{ + dir = 2; + id = "ship_lockdown" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"il" = ( +/obj/structure/railing{ + dir = 6; + layer = 4.1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/platform/ship_four, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"in" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/borderfloor, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"io" = ( +/obj/machinery/photocopier, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/bridge) +"ip" = ( +/obj/effect/turf_decal/industrial/warning/corner, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/reagent_dispensers/fueltank, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sign/warning/fire{ + pixel_y = 24; + pixel_x = 6 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = 24; + pixel_x = -6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"iG" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 2; + id = "comms_window" + }, +/turf/open/floor/plating, +/area/ship/engineering/communications/room) +"iL" = ( +/obj/machinery/atmospherics/components/unary/portables_connector, +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"jb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Air to Distribution"; + target_pressure = 200 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"jd" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/communications) +"jf" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ship/hangar) +"jh" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"jk" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"jt" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_capwindow" + }, +/turf/open/floor/plating, +/area/ship/crew/crewfour) +"ju" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"jF" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"jG" = ( +/obj/machinery/door/airlock{ + name = "Paperwork Storage"; + req_one_access = list(19, 41) + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage) +"jL" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"jV" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/closet/emcloset/wall/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"jZ" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/item/reagent_containers/food/drinks/mug{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/cigbutt{ + pixel_x = -3 + }, +/obj/item/cigbutt{ + pixel_x = -8; + pixel_y = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"kh" = ( +/obj/machinery/power/port_gen/pacman/super, +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/structure/railing, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable/yellow, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"ku" = ( +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"kM" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/east{ + pixel_y = 10 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engines/starboard) +"kQ" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/communications) +"kV" = ( +/obj/machinery/door/airlock{ + name = "Communications"; + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/canteen) +"kX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"la" = ( +/obj/effect/turf_decal/siding/white{ + dir = 2 + }, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo/office) +"lf" = ( +/obj/structure/railing{ + dir = 4; + layer = 4.1 + }, +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"lg" = ( +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo/office) +"lh" = ( +/obj/structure/chair/bench/orange/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/newscaster/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door{ + pixel_y = 16; + pixel_x = 22; + name = "Lounge Window"; + id = "tegu_lounge_window"; + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/bridge) +"lA" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + dir = 4; + req_access_txt = "12"; + name = "Engine Room" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"lB" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/structure/sign/poster/official/random{ + pixel_y = 32 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/hallway/central) +"lC" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"lJ" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/dim/directional/east, +/obj/item/clothing/head/hardhat/nanotrasen, +/obj/item/clothing/suit/nanotrasen/vest, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/mask/gas/explorer, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/meson/prescription, +/obj/item/storage/toolbox/mechanical, +/obj/item/melee/knife/survival, +/obj/item/storage/belt/utility/full/engi, +/obj/item/mining_scanner, +/obj/item/storage/bag/ore, +/obj/item/pickaxe/drill, +/obj/item/radio/weather_monitor, +/obj/structure/closet/secure_closet/engineering_personal{ + populate = 0; + req_access = list(48); + name = "field technician's locker" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"lU" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"lV" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"lY" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"mb" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/hallway/central) +"mg" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/crate_shelf, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"mj" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "tegus_warehouse_window" + }, +/turf/open/floor/plating, +/area/ship/cargo) +"mt" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white/end{ + dir = 2 + }, +/obj/structure/chair/office{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"my" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/sign/poster/official/random{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"mz" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/caution, +/obj/item/mop, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"mB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/binary/volume_pump/on/layer2{ + dir = 8; + name = "Waste to External" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engines/starboard) +"mD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/toilet) +"mE" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/chair/office{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/wood, +/area/ship/cargo/office) +"mG" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/airless, +/area/ship/engineering/engines/port) +"mH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"mW" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"nc" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/door/poddoor/preopen{ + dir = 2; + id = "tegus_security_lockdown" + }, +/obj/machinery/door/airlock/security{ + req_access_txt = "2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"nf" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"ng" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/loading{ + dir = 4 + }, +/obj/machinery/mineral/processing_unit_console{ + output_dir = 1; + dir = 1; + pixel_y = -20; + machinedir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"nl" = ( +/obj/machinery/holopad/emergency/kitchen, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/crew/canteen) +"nB" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"nG" = ( +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/food/snacks/meat/rawcutlet, +/obj/item/reagent_containers/food/snacks/meat/rawcutlet, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/closet/secure_closet/freezer{ + anchored = 1; + name = "fridge" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"nH" = ( +/obj/machinery/atmospherics/components/binary/valve/layer2, +/obj/effect/turf_decal/industrial/shutoff{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/valve/layer4, +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"nY" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/bridge) +"oq" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) +"os" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"ou" = ( +/obj/machinery/door/airlock{ + name = "Supply Director's Quarters"; + req_one_access = list(19, 41) + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/crewtwo) +"oF" = ( +/obj/machinery/vending/coffee, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/bridge) +"oG" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo/office) +"oH" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/meter, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"oJ" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/toilet) +"oL" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/button/door{ + pixel_y = -16; + pixel_x = 22; + name = "Window Shutters"; + id = "tegus_dorms"; + dir = 8 + }, +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"oO" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/communications/room) +"oQ" = ( +/obj/structure/railing/corner{ + layer = 4.1 + }, +/obj/effect/turf_decal/industrial/loading{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/button/door{ + pixel_y = 8; + pixel_x = 22; + name = "Cargo Bay Door"; + id = "tegus_cargo"; + dir = 8 + }, +/obj/machinery/button/shieldwallgen{ + pixel_y = -3; + pixel_x = 21; + id = "tegus_cargo_holofield"; + dir = 8; + name = "Cargo Bay Holofield" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"oZ" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/engines/port) +"pg" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/hallway/central) +"pt" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -8 + }, +/obj/machinery/firealarm/directional/east{ + pixel_y = 3 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/hallway/central) +"pz" = ( +/obj/structure/rack, +/obj/item/binoculars{ + pixel_y = 6 + }, +/obj/item/analyzer{ + pixel_x = -2 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hangar) +"pN" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"pR" = ( +/obj/structure/closet/crate/bin, +/obj/item/trash/can, +/obj/item/trash/energybar, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/airalarm/directional/south{ + layer = 3 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"pU" = ( +/obj/machinery/modular_computer/console/preset/id, +/obj/effect/turf_decal/siding/white/end{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"qg" = ( +/obj/machinery/telecomms/server, +/obj/machinery/light/dim/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/circuit/green, +/area/ship/engineering/communications) +"qq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"qu" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south{ + layer = 3 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"qB" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"qF" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_cewindow" + }, +/turf/open/floor/plating, +/area/ship/storage) +"qK" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/airalarm/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engines/port) +"qL" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"qP" = ( +/obj/structure/bed, +/obj/item/bedsheet/brown, +/obj/structure/curtain/bounty, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"qQ" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering{ + dir = 4; + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"qR" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo/office) +"qT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/item/gun/energy/disabler, +/obj/machinery/newscaster/directional/south{ + pixel_x = -3 + }, +/obj/structure/closet/wall/orange/directional/west{ + secure = 1; + locked = 1; + name = "supply director's locker" + }, +/obj/item/storage/backpack/messenger, +/obj/item/storage/backpack/duffelbag, +/obj/item/clothing/under/nanotrasen/supply/qm, +/obj/item/clothing/head/hardhat/orange, +/obj/item/clothing/head/nanotrasen/cap/supply, +/obj/item/clipboard, +/obj/item/hand_labeler, +/obj/item/megaphone/cargo, +/obj/item/clothing/glasses/meson/prescription, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 8; + pixel_y = -20 + }, +/turf/open/floor/carpet/orange, +/area/ship/crew/crewtwo) +"qW" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/clothing/head/hardhat/nanotrasen, +/obj/item/clothing/suit/nanotrasen/vest, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/mask/gas/explorer, +/obj/item/clothing/glasses/meson/engine, +/obj/item/holosign_creator/engineering, +/obj/item/clothing/glasses/meson/prescription, +/obj/item/storage/toolbox/mechanical, +/obj/item/melee/knife/survival, +/obj/item/storage/belt/utility/full/engi, +/obj/item/mining_scanner, +/obj/item/storage/bag/ore, +/obj/item/pickaxe/drill, +/obj/item/radio/weather_monitor, +/obj/structure/closet/secure_closet/engineering_personal{ + populate = 0; + req_access = list(48); + name = "field technician's locker" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"qX" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/hallway/central) +"rd" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, +/area/ship/hangar) +"rf" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "tegu_lounge_window" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"rn" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"rB" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/obj/effect/turf_decal/borderfloor/corner, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"rJ" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -8; + pixel_y = -20 + }, +/obj/item/radio/intercom/directional/south{ + pixel_x = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/hallway/central) +"rL" = ( +/obj/machinery/telecomms/server/presets/nanotrasen{ + freq_listening = list(1351); + autolinkers = list("nanotrasen","broadcasterA","hub") + }, +/turf/open/floor/circuit, +/area/ship/engineering/communications) +"rP" = ( +/obj/machinery/telecomms/broadcaster/preset_left, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/window/reinforced/spawner/west, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/circuit, +/area/ship/engineering/communications) +"rZ" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/hallway/central) +"sa" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/mining{ + id_tag = "tegus_office_door"; + name = "Supply Office"; + req_one_access = list(19, 41, 2) + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/door/poddoor/preopen{ + dir = 2; + id = "tegus_office_lockdown" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo/office) +"sb" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"sh" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/hallway/central) +"sl" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_port_window" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"so" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink{ + dir = 8; + pixel_x = 12 + }, +/obj/structure/mirror{ + pixel_x = 25 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/toilet) +"ss" = ( +/obj/machinery/telecomms/server, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/circuit/green, +/area/ship/engineering/communications) +"sB" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/white/end, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/button/door{ + dir = 1; + id = "tegus_warehouse"; + name = "Warehouse Door"; + pixel_x = -6; + pixel_y = -22 + }, +/obj/machinery/button/door{ + dir = 1; + id = "tegus_warehouse_window"; + name = "Warehouse Door"; + pixel_x = 8; + pixel_y = -22 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"sR" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"sT" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_bridge" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"sU" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) +"ta" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/cargo) +"tf" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/external/dark) +"tr" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_x = 6; + pixel_y = 2 + }, +/obj/structure/sign/nanotrasen/vigilitas{ + pixel_y = -32 + }, +/obj/structure/closet/wall/red/directional/east{ + secure = 1; + locked = 1; + name = "security armor locker"; + req_access = list(2) + }, +/obj/item/clothing/mask/gas/vigilitas, +/obj/item/clothing/suit/armor/nanotrasen, +/obj/item/clothing/suit/armor/nanotrasen/slim, +/obj/item/clothing/head/helmet/sec, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/security) +"tu" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/small/directional/south, +/obj/machinery/computer/monitor/retro{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"tz" = ( +/obj/structure/filingcabinet/double/grey, +/obj/item/clipboard, +/obj/item/folder/blue, +/obj/item/folder/yellow, +/obj/item/folder/blue, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo/office) +"tC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/obj/machinery/light/small/directional/east{ + pixel_y = -3 + }, +/obj/machinery/button/door{ + pixel_y = 8; + pixel_x = 22; + name = "Window Shutters"; + id = "tegus_capwindow"; + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/crewfour) +"tD" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/grunge{ + req_access_txt = "61" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"tH" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/poddoor/preopen{ + dir = 2; + id = "ship_lockdown" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"tL" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ship/hangar) +"tM" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/effect/turf_decal/siding/white/end{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"tO" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/white/end{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"tT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"tX" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"tZ" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "tegus_warehouse_window" + }, +/turf/open/floor/plating, +/area/ship/hangar) +"uf" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/telecomms/server/presets/common{ + autolinkers = list("common","broadcasterA","hub") + }, +/turf/open/floor/circuit, +/area/ship/engineering/communications) +"ut" = ( +/obj/machinery/door/airlock{ + name = "Restroom"; + id_tag = "tegu_bathroom" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/crew/toilet) +"uF" = ( +/turf/template_noop, +/area/template_noop) +"uM" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = -8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/handrail{ + dir = 2 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"uP" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = 4 + }, +/obj/item/pen/fountain{ + pixel_y = 5; + pixel_x = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stamp/denied{ + pixel_x = -8; + pixel_y = 10 + }, +/obj/item/stamp{ + pixel_x = -8; + pixel_y = 2 + }, +/turf/open/floor/wood, +/area/ship/cargo/office) +"uX" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/effect/turf_decal/siding/white/end{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"vd" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) +"vo" = ( +/obj/machinery/door/airlock{ + name = "Cryogenics"; + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew) +"vs" = ( +/obj/structure/bed, +/obj/item/bedsheet/brown, +/obj/structure/curtain/bounty, +/obj/machinery/light/small/directional/west, +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"vx" = ( +/obj/machinery/porta_turret/ship/nt{ + dir = 9 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/bridge) +"vB" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/turf/open/floor/plating, +/area/ship/hallway/central) +"vK" = ( +/obj/structure/dresser{ + dir = 1 + }, +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"vS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/telecomms/hub/preset, +/turf/open/floor/circuit, +/area/ship/engineering/communications) +"vV" = ( +/obj/structure/table/glass, +/obj/item/paper_bin{ + pixel_y = 3 + }, +/obj/item/pen/fountain{ + pixel_y = 3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/bridge) +"vW" = ( +/obj/structure/dresser, +/obj/machinery/firealarm/directional/north, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"wa" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"wt" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/crew/cryo) +"wB" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_kitchen" + }, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"wI" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 8 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"wO" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_bridge"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"wP" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plating, +/area/ship/hangar) +"wQ" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/canteen) +"wR" = ( +/obj/structure/table/reinforced, +/obj/machinery/light/small/directional/south, +/obj/item/radio/intercom/wideband/table{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"wZ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"xf" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/button/door{ + pixel_y = 24; + name = "Bridge Shutters"; + id = "tegus_bridge"; + pixel_x = 6 + }, +/obj/machinery/button/door{ + pixel_y = 24; + name = "Ship Lockdown"; + id = "ship_lockdown"; + pixel_x = -8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"xi" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/telecomms/message_server/preset, +/turf/open/floor/circuit/green, +/area/ship/engineering/communications) +"xj" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/central) +"xo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hangar) +"xu" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/item/storage/fancy/donut_box{ + pixel_x = -11; + pixel_y = -4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"xy" = ( +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/siding/white/end{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"xA" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = -24 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"xI" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/turf/open/floor/engine/hull, +/area/ship/crew/cryo) +"xZ" = ( +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"yf" = ( +/obj/structure/chair/sofa/blue/corpo/right/directional/west, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"yh" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_y = 3 + }, +/obj/item/disk/design_disk/telecomms{ + pixel_y = 3; + pixel_x = 4 + }, +/obj/item/stack/sheet/metal/fifty{ + pixel_y = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"yj" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/decal/cleanable/wrapping, +/obj/structure/closet/crate/engineering{ + name = "Networking Materials" + }, +/obj/item/circuitboard/machine/telecomms/relay, +/obj/item/circuitboard/machine/telecomms/relay, +/obj/item/circuitboard/machine/telecomms/relay, +/obj/item/circuitboard/machine/telecomms/relay, +/obj/item/storage/box/stockparts/basic, +/obj/item/stack/sheet/mineral/silver/five, +/obj/item/stack/sheet/mineral/silver/five, +/obj/item/stack/sheet/metal/ten, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/storage/box/PDAs, +/obj/item/storage/box/PDAs, +/turf/open/floor/plasteel/dark, +/area/ship/hangar) +"yy" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/crewfour) +"yz" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"yF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"yP" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/window/northright{ + dir = 4; + name = "Engine Access" + }, +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "tegus_starboard_engines" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"za" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/light_switch{ + pixel_x = 20; + dir = 8; + pixel_y = 8 + }, +/turf/open/floor/plasteel/stairs{ + dir = 1 + }, +/area/ship/cargo) +"zc" = ( +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/structure/railing, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"zh" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"zm" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "ship_lockdown" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"zv" = ( +/obj/structure/guncloset{ + req_access_txt = "2" + }, +/obj/item/gun/energy/disabler, +/obj/effect/turf_decal/industrial/outline/red, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/gun/ballistic/automatic/smg/vector, +/turf/open/floor/plasteel/patterned, +/area/ship/security) +"zy" = ( +/obj/structure/chair/bench/orange/directional/west, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 8 + }, +/obj/machinery/newscaster/directional/east{ + pixel_y = -6 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo/office) +"zB" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/communications) +"zL" = ( +/obj/structure/table, +/obj/item/cutting_board{ + pixel_y = 1 + }, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/melee/knife/kitchen{ + pixel_y = 3 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"zN" = ( +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/light/small/directional/north{ + pixel_x = -6 + }, +/obj/structure/extinguisher_cabinet/directional/north{ + pixel_x = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"zS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"zW" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/table/reinforced, +/obj/item/folder/yellow{ + pixel_x = -6; + pixel_y = -12; + layer = 2.9 + }, +/obj/item/folder/yellow{ + pixel_x = -4; + pixel_y = -10; + layer = 2.9 + }, +/obj/item/stamp/qm{ + pixel_x = -4; + pixel_y = -9 + }, +/obj/machinery/button/door{ + pixel_y = -4; + name = "Hallway Door Control"; + id = "tegus_office_door"; + dir = 8; + pixel_x = 8; + normaldoorcontrol = 1 + }, +/obj/machinery/button/door{ + pixel_y = 8; + name = "Office Lockdown"; + id = "tegus_office_lockdown"; + dir = 8; + pixel_x = 8 + }, +/turf/open/floor/wood, +/area/ship/cargo/office) +"Ah" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull, +/area/ship/cargo) +"Ak" = ( +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/ship/hangar) +"An" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/closet/emcloset/wall/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/head/helmet/space/fragile, +/obj/item/clothing/head/helmet/space/fragile, +/obj/item/clothing/suit/space/fragile, +/obj/item/clothing/suit/space/fragile, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"Ar" = ( +/obj/effect/turf_decal/ntspaceworks_small, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Ax" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_shuttle_bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hangar) +"AC" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"AE" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"AJ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plating, +/area/ship/hangar) +"AN" = ( +/obj/machinery/mineral/processing_unit{ + output_dir = 4; + input_dir = 8 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"Bj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_cargo" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"BA" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/grunge{ + req_access_txt = "61" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"BC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/porta_turret/ship/nt{ + dir = 5 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/bridge) +"BE" = ( +/obj/structure/table/wood, +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"BL" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/canteen) +"BO" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"BS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"BY" = ( +/obj/machinery/mineral/unloading_machine{ + input_dir = 1 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"Cb" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/turf/open/floor/plating, +/area/ship/hallway/central) +"Ck" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/storage/bag/construction, +/obj/item/clothing/suit/space/hardsuit/engine, +/obj/item/clothing/mask/breath, +/obj/machinery/suit_storage_unit/inherit, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"Cv" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"Cw" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Cy" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/newscaster/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"CB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/computer/cargo{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ship/cargo/office) +"CE" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/engineering) +"CG" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -20 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"CJ" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/machinery/door/poddoor/preopen{ + dir = 2; + id = "ship_lockdown" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"CU" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/security) +"CZ" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"Dc" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Df" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/lights/mixed{ + pixel_x = -4; + pixel_y = 12; + layer = 2.9 + }, +/obj/item/reagent_containers/glass/bucket{ + pixel_y = 4; + pixel_x = 8 + }, +/obj/item/reagent_containers/glass/rag{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Ds" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white/end{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/window/westleft, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) +"DS" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/window/northright{ + dir = 4; + name = "Engine Access" + }, +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "tegus_port_engines" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"DW" = ( +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Ej" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Ev" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plating, +/area/ship/hangar) +"Ew" = ( +/obj/effect/turf_decal/siding/white/end, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo/office) +"EE" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"EH" = ( +/obj/structure/chair/bench/orange/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -8; + pixel_y = -20 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo/office) +"ET" = ( +/obj/structure/railing/corner{ + layer = 4.1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"EV" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"EX" = ( +/obj/machinery/door/poddoor/shutters{ + id = "tegus_cargo" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "tegus_cargo_holofield" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"EY" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/bag/construction, +/obj/item/clothing/suit/space/hardsuit/engine, +/obj/item/clothing/mask/breath, +/obj/machinery/suit_storage_unit/inherit, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"Fj" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/item/bedsheet/qm{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet/orange, +/area/ship/crew/crewtwo) +"Fn" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Fw" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hangar) +"FA" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/item/radio/intercom/wideband/directional/south{ + pixel_y = -32; + pixel_x = -5 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -22; + pixel_x = 10; + id = "comms_window"; + name = "Window Shutters" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/communications/room) +"FG" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"FK" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"FL" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"FM" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/structure/chair/handrail{ + dir = 2 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/hallway/central) +"FY" = ( +/obj/structure/table, +/obj/item/storage/box/drinkingglasses{ + pixel_x = 3; + pixel_y = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -6 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Ga" = ( +/obj/machinery/door/window/northright, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Gc" = ( +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/engine/hull, +/area/ship/crew/cryo) +"Gm" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Gq" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Gv" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "ship_lockdown" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"GD" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"GL" = ( +/obj/structure/railing{ + layer = 4.1 + }, +/obj/structure/platform/ship_four, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"GM" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hangar) +"GN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"GU" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"GV" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/drill, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"Ha" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/cargo/office) +"Hg" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/light/small/directional/east{ + pixel_y = -3 + }, +/obj/machinery/button/door{ + pixel_y = 8; + pixel_x = 22; + name = "Window Shutters"; + id = "tegus_cewindow"; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/white/end, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"Hi" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/suit_storage_unit/engine, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"Hk" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/door/poddoor/preopen{ + dir = 8; + id = "ship_lockdown" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Hn" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"HE" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/mining{ + name = "Hangar" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"HO" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_shuttle_bay" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/shieldwallgen/atmos/strong/roundstart{ + dir = 4; + id = "tegus_shuttle_bay_holofield" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hangar) +"HQ" = ( +/obj/structure/chair/sofa/blue/corpo/left/directional/east, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"HX" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_y = 10; + layer = 3.3; + pixel_x = 6 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/crewfour) +"Ie" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"Ij" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/cargo/office) +"It" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"Ix" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"IN" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/command{ + req_one_access = list(19, 41, 2); + name = "Bridge" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"IR" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/siding/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"IV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/siding/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Jd" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Ji" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Jp" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -8; + pixel_y = -20 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, +/area/ship/hangar) +"Jt" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"JQ" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/hangar) +"JV" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo/office) +"JW" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/engineering/engines/starboard) +"JY" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/siding/yellow, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"Ke" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"Kl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"Ky" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = -8 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = 3 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"KH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/siding/white/end{ + dir = 8 + }, +/obj/structure/closet/wall/red/directional/south{ + secure = 1; + locked = 1; + name = "security equipment locker"; + req_access = list(2) + }, +/obj/machinery/firealarm/directional/west{ + pixel_y = -4 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 8 + }, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/under/nanotrasen/security, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/head/nanotrasen/cap/security, +/obj/item/clothing/glasses/sunglasses, +/obj/item/storage/box/handcuffs, +/obj/item/storage/box/bodybags, +/obj/item/ammo_box/magazine/co9mm, +/obj/item/ammo_box/magazine/co9mm, +/obj/item/storage/box/ammo/c9mm, +/obj/item/storage/box/ammo/c9mm_rubber, +/obj/item/storage/belt/security, +/obj/item/melee/knife/survival, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/item/reagent_containers/spray/pepper, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/item/gun/ballistic/automatic/pistol/commander, +/obj/item/ammo_box/magazine/smgm9mm, +/obj/item/ammo_box/magazine/smgm9mm, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"KK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/ship/crew/canteen) +"KV" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/loading, +/obj/structure/railing/corner, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/hangar) +"KZ" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"Lg" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/hallway/central) +"Lt" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Lw" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"LB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/siding/white/end{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"LF" = ( +/obj/machinery/porta_turret/ship/nt{ + dir = 5 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/bridge) +"LI" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_shuttle_bay" + }, +/obj/docking_port/mobile{ + can_move_docking_ports = 1; + dir = 2; + launch_status = 0; + name = "tegu"; + port_direction = 8; + preferred_direction = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hangar) +"LK" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/engines/starboard) +"LL" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/effect/turf_decal/siding/white, +/obj/item/paicard{ + pixel_y = 4 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"LN" = ( +/obj/docking_port/stationary{ + dwidth = 10; + width = 20; + height = 15 + }, +/turf/template_noop, +/area/template_noop) +"LS" = ( +/obj/machinery/door/airlock{ + name = "Canteen"; + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Mb" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/item/weldingtool/largetank, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Mm" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/airalarm/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Mn" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Mo" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_shuttle_bay" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/shieldwallgen/atmos/strong/roundstart{ + dir = 8; + id = "tegus_shuttle_bay_holofield" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hangar) +"Mq" = ( +/obj/machinery/telecomms/server, +/turf/open/floor/circuit/green, +/area/ship/engineering/communications) +"Mv" = ( +/obj/machinery/fax/nanotrasen{ + pixel_y = 6 + }, +/obj/structure/table, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo/office) +"MA" = ( +/obj/structure/railing{ + dir = 4; + layer = 4.1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/structure/table/reinforced, +/obj/item/stack/marker_beacon/thirty{ + pixel_x = 3 + }, +/obj/item/stack/packageWrap{ + pixel_y = 7; + pixel_x = -2 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"MH" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 2 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"MW" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Nb" = ( +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 8; + pixel_y = -20 + }, +/obj/structure/extinguisher_cabinet/directional/south{ + pixel_x = -3 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/conveyor_switch/oneway{ + pixel_y = -3; + id = "tegus_smelter"; + pixel_x = -16 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"Ni" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Nj" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 + }, +/obj/machinery/vending/snack/green, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/structure/sign/poster/official/report_crimes{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Nm" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/window/eastright, +/obj/machinery/door/window/westleft, +/obj/machinery/firealarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/communications) +"No" = ( +/obj/structure/table/reinforced, +/obj/structure/railing{ + dir = 1; + layer = 2.7 + }, +/obj/machinery/button/door{ + pixel_y = 4; + pixel_x = -6; + name = "Shuttle Bay Door"; + id = "tegus_shuttle_bay" + }, +/obj/machinery/button/shieldwallgen{ + pixel_y = 3; + pixel_x = 7; + id = "tegus_shuttle_bay_holofield"; + name = "Shuttle Bay Holofield" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"Np" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/railing{ + layer = 4.1 + }, +/obj/machinery/light_switch{ + pixel_x = 20; + dir = 8; + pixel_y = -10 + }, +/obj/machinery/vending/cola, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"NL" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/crewtwo) +"NO" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_starboard_window" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"NS" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo/office) +"NU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/item/gun/energy/laser, +/obj/item/stock_parts/cell/gun, +/obj/item/storage/belt/sabre, +/obj/item/gun/energy/disabler/e60, +/obj/structure/closet/wall/blue/directional/west{ + locked = 1; + secure = 1; + name = "captain's locker" + }, +/obj/item/storage/box/handcuffs, +/obj/item/clothing/suit/armor/nanotrasen/captain, +/obj/item/clothing/suit/armor/nanotrasen/captain/parade, +/obj/item/clothing/head/nanotrasen/captain/peaked, +/obj/item/clothing/head/nanotrasen/captain, +/obj/item/clothing/gloves/color/captain/nt, +/obj/item/clothing/under/nanotrasen/captain/skirt, +/obj/item/clothing/under/nanotrasen/captain, +/obj/machinery/newscaster/directional/south{ + pixel_x = -3 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 8; + pixel_y = -20 + }, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/crewfour) +"NW" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/closet/wall/orange/directional/north{ + name = "Lead-Lined Fuel Closet" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/sheet/mineral/uranium/twenty, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Oj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Oq" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/airless, +/area/ship/engineering/engines/starboard) +"Ox" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/telecomms/bus/preset_two{ + freq_listening = list(); + autolinkers = list("processor2","nanotrasen","receiverB","messaging","hub") + }, +/turf/open/floor/circuit, +/area/ship/engineering/communications) +"OB" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/machinery/light/dim/directional/north, +/obj/machinery/button/door{ + pixel_y = 6; + pixel_x = 22; + name = "Engine Blast Doors"; + id = "tegus_port_engines"; + dir = 8 + }, +/obj/machinery/button/door{ + pixel_y = -8; + pixel_x = 22; + name = "Window Shutters"; + id = "tegus_port_window"; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"OC" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/hallway/central) +"OJ" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/poddoor/preopen{ + dir = 2; + id = "ship_lockdown" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"OO" = ( +/obj/structure/railing{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/machinery/light/floor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull, +/area/ship/engineering/engines/starboard) +"OP" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/external/dark) +"OQ" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "tegus_smelter" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"OV" = ( +/turf/open/floor/plasteel/dark, +/area/ship/hangar) +"Pf" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/obj/item/radio/intercom/directional/south, +/obj/item/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Pl" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"Pr" = ( +/obj/structure/railing{ + layer = 4.1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 4 + }, +/area/ship/bridge) +"Pu" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Pv" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_cargo" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Px" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 2 + }, +/obj/machinery/computer/telecomms/server/retro{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/communications/room) +"Pz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/turretid/ship{ + pixel_y = -24 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"PF" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/crewfour) +"PM" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = -8 + }, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"PQ" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"PX" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/railing, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/hangar) +"Qi" = ( +/obj/machinery/light/dim/directional/south, +/obj/machinery/conveyor{ + dir = 4; + id = "tegus_smelter" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"Qs" = ( +/obj/structure/window/reinforced/spawner/east, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/obj/machinery/telecomms/server, +/turf/open/floor/circuit/green, +/area/ship/engineering/communications) +"Qt" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"QM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/structure/filingcabinet{ + density = 0; + pixel_y = 16; + layer = 3.5; + pixel_x = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/item/folder/red, +/obj/machinery/light/small/directional/north{ + pixel_x = 15 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"QN" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Rc" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/bridge) +"Rw" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door{ + dir = 1; + id = "tegus_warehouse"; + name = "Warehouse Door"; + pixel_x = 6; + pixel_y = -22 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"Ry" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloor/corner, +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"Rz" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/packageWrap{ + pixel_y = 7; + pixel_x = -5 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"RA" = ( +/obj/machinery/holopad/emergency/command, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/railing{ + dir = 4; + layer = 4.1 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -8; + pixel_y = -20 + }, +/obj/structure/extinguisher_cabinet/directional/south{ + pixel_x = 3 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/bridge) +"RC" = ( +/obj/structure/chair/bench/orange/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/bridge) +"RG" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/rack, +/obj/machinery/airalarm/directional/south, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/item/clothing/head/welding{ + pixel_x = -4 + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/stack/tape/industrial, +/obj/item/clothing/head/welding{ + pixel_x = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"RI" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/toilet) +"RM" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/item/bedsheet/nanotrasen{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/crewfour) +"Sa" = ( +/obj/structure/chair/sofa/blue/corpo/right/directional/east, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -8 + }, +/obj/machinery/light/small/directional/west{ + pixel_y = 6 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Se" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/ship/crew/canteen) +"Sf" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_shuttle_bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hangar) +"Sl" = ( +/obj/machinery/autolathe, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"So" = ( +/obj/effect/turf_decal/industrial/loading, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Sy" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"SK" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"SL" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"SN" = ( +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/sign/poster/official/get_your_legs{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"Td" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/ore_box, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"Tg" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"Tk" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 8; + id = "comms_window" + }, +/turf/open/floor/plating, +/area/ship/engineering/communications/room) +"Tp" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_dorms" + }, +/turf/open/floor/plating, +/area/ship/crew) +"Tu" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_x = 28 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"Ty" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Tz" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"TF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"TH" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"TL" = ( +/obj/structure/railing{ + layer = 4.1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/platform/ship_four, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"TO" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/siding/yellow, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"TP" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/window/northright{ + dir = 4; + name = "Engine Access" + }, +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "tegus_starboard_engines" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"TV" = ( +/obj/structure/railing/corner{ + layer = 4.1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/bridge) +"TX" = ( +/obj/structure/window/reinforced/tinted{ + dir = 1; + layer = 3 + }, +/obj/structure/curtain, +/obj/structure/toilet{ + dir = 4; + pixel_x = -3 + }, +/obj/machinery/button/door{ + dir = 1; + id = "tegu_bathroom"; + name = "Bathroom Door Bolts"; + pixel_x = 6; + pixel_y = -22; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Ui" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/stamp/nanotrasen/vigilitas{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -3 + }, +/obj/structure/sign/poster/retro/lasergun_new{ + pixel_y = -32 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door{ + dir = 4; + id = "ship_lockdown"; + name = "Ship Lockdown"; + pixel_x = -22; + pixel_y = 12; + layer = 3 + }, +/obj/machinery/button/door{ + dir = 4; + id = "tegus_security_lockdown"; + name = "Security Shutter Control"; + pixel_x = -22; + pixel_y = 23; + layer = 3 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/security) +"Up" = ( +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Ur" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"Us" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"UA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/telecomms/receiver/preset_left, +/turf/open/floor/circuit, +/area/ship/engineering/communications) +"UF" = ( +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"UH" = ( +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"UL" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/structure/closet/crate, +/obj/effect/decal/cleanable/wrapping, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"UM" = ( +/obj/structure/railing{ + dir = 4; + layer = 4.1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hangar) +"UO" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"US" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/item/radio/intercom/directional/west{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/bridge) +"UT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/light/small/directional/south{ + pixel_x = 6 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -6 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"Vm" = ( +/obj/machinery/newscaster/directional/south{ + pixel_x = -3 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 8; + pixel_y = -20 + }, +/obj/structure/filingcabinet/double/grey{ + dir = 4; + pixel_x = -6; + density = 0 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/storage) +"Vr" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"VM" = ( +/obj/structure/railing{ + layer = 4.1 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"VW" = ( +/obj/machinery/porta_turret/ship/nt{ + dir = 6 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/bridge) +"Wa" = ( +/obj/effect/turf_decal/ntspaceworks_small/left, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Wd" = ( +/obj/machinery/atmospherics/components/unary/tank/air, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering/engines/starboard) +"Wq" = ( +/obj/structure/railing{ + layer = 4.1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"Wr" = ( +/obj/structure/curtain, +/obj/machinery/light/small/directional/east, +/obj/machinery/shower{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Wx" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull, +/area/ship/engineering/engines/port) +"WC" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/storage) +"WI" = ( +/obj/structure/sink/kitchen{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -22; + id = "tegus_kitchen"; + name = "Window Shutters" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/east{ + pixel_y = 16 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/canteen) +"WQ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/stairs, +/area/ship/crew) +"WT" = ( +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ + dir = 1 + }, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + id = "tegus_starboard_window" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"WV" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Xi" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/communications/room) +"Xn" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/telecomms/processor/preset_two{ + autolinkers = list("processor2","hub") + }, +/turf/open/floor/circuit, +/area/ship/engineering/communications) +"Xo" = ( +/obj/structure/bed, +/obj/item/bedsheet/brown, +/obj/structure/curtain/bounty, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"Xr" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 4 + }, +/obj/machinery/blackbox_recorder, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications/room) +"Xt" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/poddoor/preopen{ + dir = 8; + id = "ship_lockdown" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Xv" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/food/drinks/mug{ + pixel_x = -14; + pixel_y = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/recharger{ + pixel_y = 2 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/bridge) +"XA" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"XM" = ( +/obj/machinery/washing_machine, +/obj/machinery/light/small/directional/west{ + pixel_y = -9 + }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/north{ + pixel_x = -3 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/toilet) +"XS" = ( +/obj/structure/railing{ + layer = 4.1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs{ + dir = 4 + }, +/area/ship/crew/canteen) +"XY" = ( +/obj/machinery/computer/med_data, +/obj/effect/turf_decal/siding/white/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Ya" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/crewtwo) +"Yb" = ( +/obj/structure/dresser, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = -8 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Yh" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/sign/warning/electricshock{ + pixel_y = 26 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/port_gen/pacman/super, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Yk" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/cargo/office) +"Yp" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"Yy" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/carpet/cyan, +/area/ship/crew) +"YQ" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/cryo) +"YY" = ( +/obj/structure/bed, +/obj/item/bedsheet/brown, +/obj/structure/curtain/bounty, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"YZ" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Za" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset/wall/directional/south, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Zb" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/computer/crew{ + dir = 8; + icon_state = "computer-right" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Zf" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/hallway/central) +"Zi" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/siding/yellow, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/engineering) +"Zl" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = 4 + }, +/obj/item/pen{ + pixel_y = 5; + pixel_x = 4 + }, +/obj/item/clipboard{ + pixel_x = -7; + pixel_y = 9 + }, +/obj/item/hand_labeler{ + pixel_y = -3 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Zm" = ( +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Officer's Lounge"; + req_one_access = list(19, 41, 2) + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"Zt" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/hallway/central) +"Zz" = ( +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/hangar) +"ZH" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"ZK" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/mining{ + dir = 4; + name = "Supply Office"; + req_one_access = list(19, 41, 2) + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/poddoor/preopen{ + dir = 8; + id = "tegus_office_lockdown" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo/office) +"ZP" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/door/airlock/mining{ + name = "Hangar" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) +"ZQ" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + dir = 4; + name = "Engine Room"; + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hangar) + +(1,1,1) = {" +uF +uF +uF +uF +uF +oZ +mG +mG +mG +oZ +uF +uF +uF +uF +uF +LK +Oq +Oq +Oq +LK +uF +uF +uF +uF +"} +(2,1,1) = {" +uF +uF +uF +uF +oZ +oZ +DS +DS +DS +oZ +Wx +uF +uF +uF +JW +LK +TP +yP +TP +LK +LK +uF +uF +uF +"} +(3,1,1) = {" +uF +uF +uF +uF +oZ +ip +FK +It +FK +sl +fc +uF +uF +uF +OO +WT +iL +oH +jb +SL +LK +uF +uF +uF +"} +(4,1,1) = {" +uF +uF +uF +vx +oZ +OB +qK +cs +GU +sl +SK +OP +tf +OP +wa +NO +Wd +kM +mB +gy +LK +kQ +kQ +uF +"} +(5,1,1) = {" +uF +uF +uF +GM +GM +GM +GM +ZQ +GM +GM +GM +GM +GM +xj +Hk +hv +hv +hv +lA +hv +kQ +xi +kQ +kQ +"} +(6,1,1) = {" +uF +GM +GM +GM +XA +EV +sb +TH +sR +Tz +KV +BY +GM +tM +CG +hv +Yh +kh +JY +CE +ss +aY +ss +kQ +"} +(7,1,1) = {" +uF +HO +xZ +cr +mH +tL +jf +AJ +nH +wP +Fw +OQ +GM +UO +GN +hv +NW +yz +ZH +CE +Qs +vd +qg +kQ +"} +(8,1,1) = {" +uF +LI +yF +hc +hc +hc +hc +hc +gq +Ev +xo +Qi +GM +uX +xA +hv +Gm +zc +Zi +tD +aZ +oq +Mq +kQ +"} +(9,1,1) = {" +uF +Ax +aT +hc +hc +hc +hc +hc +hc +aB +PX +AN +GM +xj +Xt +hv +hv +hv +qQ +hv +hv +Ds +rP +kQ +"} +(10,1,1) = {" +uF +Sf +aT +hc +hc +hc +hc +hc +hc +aB +wZ +ng +GM +rB +qX +wI +hv +Df +TF +RG +hv +ad +rL +kQ +"} +(11,1,1) = {" +uF +Sf +Kl +hc +hc +hc +hc +hc +hc +aB +Ke +Nb +GM +Us +id +cP +hv +mz +IV +KZ +CE +vd +uf +kQ +"} +(12,1,1) = {" +uF +Sf +Kl +hc +hc +hc +hc +hc +hc +GL +Hn +Ur +ZP +Gq +Cb +FL +hv +Mb +lU +Hi +CE +vd +Ox +kQ +"} +(13,1,1) = {" +uF +Sf +Kl +hc +hc +hc +hc +hc +hc +TL +rn +UT +GM +Ky +Ie +Za +hv +BO +Sy +yh +CE +vd +vS +kQ +"} +(14,1,1) = {" +uF +cp +Kl +hc +hc +hc +hc +hc +hc +il +rd +bl +JQ +Cw +jk +Jd +dL +Ty +Ej +Sl +CE +vd +Xn +kQ +"} +(15,1,1) = {" +uF +Sf +Kl +hc +hc +hc +hc +hc +hc +bA +bs +GV +JQ +Lg +hN +rJ +hv +ct +TO +tu +hv +sU +UA +kQ +"} +(16,1,1) = {" +uF +Mo +UF +qq +hc +hc +ET +UM +lf +No +AE +yj +JQ +GD +zh +mW +hv +aP +IR +hM +hv +Nm +kQ +jd +"} +(17,1,1) = {" +uF +aX +GM +GM +GM +GM +GM +Ck +pz +EY +CZ +Td +JQ +GD +lC +MW +hv +dW +cE +lY +BA +zB +kQ +VW +"} +(18,1,1) = {" +uF +pN +tH +bb +An +CJ +SN +hA +OV +hA +cY +MA +GM +Zt +vB +my +hv +hv +hv +hv +hv +kQ +kQ +uF +"} +(19,1,1) = {" +LN +Lt +OJ +Tg +Tu +if +qB +cX +ju +ju +VM +dl +HE +Zf +rZ +mb +YQ +Ry +Yp +Vr +YQ +Gc +uF +uF +"} +(20,1,1) = {" +uF +uF +GM +GM +GM +GM +zN +hA +hA +OV +Wq +Jp +GM +uM +hF +WV +YQ +aw +wt +dp +YQ +xI +uF +uF +"} +(21,1,1) = {" +uF +uF +uF +BC +GM +PQ +Zz +qW +Ak +lJ +Cv +Rw +GM +Pu +zh +eZ +cM +cM +vo +cM +cM +uF +uF +uF +"} +(22,1,1) = {" +uF +uF +uF +uF +GM +GM +tZ +tZ +tZ +GM +em +hI +GM +Ji +MH +jV +cM +YY +Ix +vs +cM +uF +uF +uF +"} +(23,1,1) = {" +uF +uF +uF +uF +Ah +bn +do +QN +UL +dB +fV +sB +ta +FM +hN +OC +cM +vW +tT +vK +Tp +uF +uF +uF +"} +(24,1,1) = {" +uF +uF +uF +uF +pN +Pv +kX +EE +Rz +Ni +So +aM +mj +Pu +os +DW +eM +WQ +Yy +BE +Tp +uF +uF +uF +"} +(25,1,1) = {" +uF +uF +uF +uF +lV +Bj +tO +ff +Lw +nB +Fn +fE +mj +GD +zh +dF +cM +Yb +Pl +vK +Tp +uF +uF +uF +"} +(26,1,1) = {" +uF +uF +uF +uF +Ah +EX +oQ +aD +Zl +Ni +gf +mg +mj +GD +zh +FL +cM +qP +oL +Xo +cM +uF +uF +uF +"} +(27,1,1) = {" +uF +uF +uF +Ya +NL +NL +NL +bP +za +jh +Mm +hp +ta +zm +Gv +zm +cM +cM +cM +cM +cM +eP +uF +uF +"} +(28,1,1) = {" +uF +uF +uF +dZ +Fj +qT +NL +ZK +Ij +Ij +Ij +Ij +Ij +lB +sh +pg +Pf +RI +XM +mD +TX +RI +uF +uF +"} +(29,1,1) = {" +uF +uF +uF +dZ +hk +cC +ou +NS +oG +lg +mE +CB +Ij +Dc +Wa +Qt +Up +ut +so +oJ +Ga +RI +uF +uF +"} +(30,1,1) = {" +uF +uF +uF +NL +NL +NL +NL +Mv +bU +la +zW +uP +Ij +Cy +Ar +nf +qu +CU +dU +CU +Wr +RI +uF +uF +"} +(31,1,1) = {" +uF +uF +uF +qF +aA +Vm +WC +tz +qR +Yk +Ha +Ew +sa +ae +eF +YZ +Oj +nc +KH +CU +CU +CU +uF +uF +"} +(32,1,1) = {" +uF +uF +uF +qF +LB +Hg +jG +dJ +JV +aj +zy +EH +Ij +PM +pt +UH +Nj +CU +QM +mt +Ui +CU +uF +uF +"} +(33,1,1) = {" +uF +uF +uF +WC +PF +PF +PF +PF +Rc +Zm +Rc +Rc +Rc +xj +xj +LS +xj +CU +zv +tr +CU +CU +uF +uF +"} +(34,1,1) = {" +uF +uF +uF +uF +jt +RM +NU +PF +oF +cg +io +vV +rf +HQ +Sa +ch +pR +CU +CU +CU +CU +uF +uF +uF +"} +(35,1,1) = {" +uF +uF +uF +uF +jt +HX +tC +cI +Jt +jF +ku +Xv +rf +jZ +cO +zS +Se +FG +de +tX +wB +uF +uF +uF +"} +(36,1,1) = {" +uF +uF +uF +uF +yy +PF +PF +PF +Rc +Rc +bV +RC +rf +xu +LL +BS +cU +nl +fd +FY +wB +uF +uF +uF +"} +(37,1,1) = {" +uF +uF +uF +uF +sT +pU +in +nY +US +IN +ek +lh +rf +yf +am +KK +AC +Mn +jL +nG +wB +uF +uF +uF +"} +(38,1,1) = {" +uF +uF +uF +uF +sT +XY +qL +TV +RA +Rc +Rc +Rc +Rc +wQ +wQ +Np +XS +zL +WI +wQ +BL +uF +uF +uF +"} +(39,1,1) = {" +uF +uF +uF +uF +Rc +Rc +Rc +Pr +wR +Rc +uF +uF +uF +uF +wQ +wQ +kV +wQ +wQ +wQ +gJ +uF +uF +uF +"} +(40,1,1) = {" +uF +uF +uF +uF +uF +LF +Rc +xf +Pz +Rc +uF +uF +uF +uF +Xi +el +oO +FA +Xi +gJ +uF +uF +uF +uF +"} +(41,1,1) = {" +uF +uF +uF +uF +uF +uF +sT +xy +Zb +sT +uF +uF +uF +uF +iG +Xr +cG +Px +iG +uF +uF +uF +uF +uF +"} +(42,1,1) = {" +uF +uF +uF +uF +uF +uF +wO +wO +wO +wO +uF +uF +uF +uF +Tk +Tk +Tk +Tk +Tk +uF +uF +uF +uF +uF +"} diff --git a/_maps/shuttles/pgf/pgf_crying_sun.dmm b/_maps/shuttles/pgf/pgf_crying_sun.dmm index 919770509be..5af2fca4591 100644 --- a/_maps/shuttles/pgf/pgf_crying_sun.dmm +++ b/_maps/shuttles/pgf/pgf_crying_sun.dmm @@ -1,4 +1,18 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ae" = ( +/obj/structure/cable/blue{ + icon_state = "0-4" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/door/poddoor{ + dir = 4; + id = "lib_engine_blast" + }, +/obj/machinery/power/shuttle/engine/fire{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) "ai" = ( /obj/structure/railing, /obj/structure/cable/yellow{ @@ -129,6 +143,13 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/white, /area/ship/hallway/port) +"bi" = ( +/obj/machinery/computer/crew{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) "bl" = ( /obj/effect/turf_decal/industrial/traffic, /obj/machinery/power/apc/auto_name/directional/north, @@ -204,20 +225,13 @@ /turf/open/floor/plating, /area/ship/engineering) "bT" = ( -/obj/item/storage/box/flashbangs{ - pixel_x = -7; - pixel_y = 7 - }, /obj/item/storage/box/zipties{ pixel_y = 7; - pixel_x = 8 + pixel_x = 4 }, /obj/item/storage/box/flashes{ - pixel_y = -1 - }, -/obj/item/screwdriver{ - pixel_x = -8; - pixel_y = -5 + pixel_y = -1; + pixel_x = -7 }, /obj/item/screwdriver{ pixel_x = -5; @@ -235,10 +249,6 @@ pixel_x = 4; pixel_y = -5 }, -/obj/item/screwdriver{ - pixel_x = 7; - pixel_y = -5 - }, /obj/structure/closet/secure_closet/wall/directional/west{ icon_state = "sec_wall"; name = "equipment locker" @@ -406,23 +416,25 @@ dir = 6 }, /obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "1-8" - }, /obj/structure/cable{ icon_state = "1-2" }, /turf/open/floor/plating, /area/ship/engineering/engines/starboard) -"du" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 6 +"dv" = ( +/obj/structure/cable/blue{ + icon_state = "0-4" }, -/obj/structure/cable{ - icon_state = "0-8" +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/door/poddoor{ + dir = 4; + id = "lib_engine_blast" }, -/turf/open/floor/engine/hull, -/area/ship/external/dark) +/obj/machinery/power/shuttle/engine/fire{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) "dz" = ( /obj/effect/turf_decal/corner_steel_grid{ dir = 10 @@ -464,10 +476,10 @@ /turf/open/floor/plasteel/telecomms_floor, /area/ship/hallway/port) "dK" = ( -/obj/machinery/computer/cargo/express{ - dir = 8 +/obj/structure/chair/comfy/shuttle{ + dir = 4 }, -/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/floordetail/tiled, /obj/structure/cable{ icon_state = "1-2" }, @@ -509,6 +521,29 @@ }, /turf/open/floor/plasteel/mono/dark, /area/ship/hallway/central) +"ee" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "lib_bridge_shut"; + name = "Bridge Shutters"; + pixel_y = 20; + pixel_x = 8 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/machinery/turretid/ship{ + pixel_y = 24; + pixel_x = -7; + id = "crying_sun_grid" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) "ej" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 @@ -523,9 +558,6 @@ dir = 8; name = "engine fuel pump" }, -/obj/structure/cable{ - icon_state = "2-4" - }, /obj/machinery/camera/autoname{ dir = 2; network = list("GEC") @@ -1010,16 +1042,20 @@ /obj/machinery/light/directional/north, /turf/open/floor/plating, /area/ship/engineering) -"if" = ( -/obj/structure/cable{ - icon_state = "0-8" +"hX" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/machinery/porta_turret/ship/weak{ - dir = 4 +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/turf/open/floor/plating/airless, -/area/ship/external/dark) +/obj/machinery/door/poddoor/shutters{ + id = "lib_bridge_shut" + }, +/turf/open/floor/plating, +/area/ship/bridge) "ih" = ( /obj/structure/table/reinforced, /obj/item/modular_computer/laptop/preset, @@ -1078,9 +1114,6 @@ /obj/item/trash/sosjerky{ pixel_x = 4 }, -/obj/item/trash/popcorn{ - pixel_y = -7 - }, /obj/item/trash/raisins{ pixel_x = 5; pixel_y = 3 @@ -1151,6 +1184,17 @@ }, /turf/open/floor/plasteel/mono, /area/ship/hangar/starboard) +"jg" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 5; + id = "crying_sun_grid"; + lethal = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "jh" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -1166,12 +1210,12 @@ /area/ship/hangar/starboard) "jm" = ( /obj/machinery/holopad/emergency, -/obj/effect/turf_decal/spline/fancy/opaque/lime{ - dir = 1 - }, /obj/structure/cable{ icon_state = "4-8" }, +/obj/effect/turf_decal/spline/fancy/opaque/lime{ + dir = 1 + }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "jt" = ( @@ -1253,7 +1297,7 @@ }, /obj/machinery/button/door{ id = "lib_armory_1"; - name = "Sergeant Access"; + name = "Lieutenant Access"; dir = 4; pixel_x = -20; pixel_y = -5; @@ -1415,15 +1459,13 @@ /turf/open/floor/plasteel/mono/dark, /area/ship/hallway/port) "lZ" = ( -/obj/machinery/fax{ - pixel_y = 3 - }, /obj/structure/table/reinforced, /obj/effect/turf_decal/corner/opaque/lime/mono, /obj/machinery/camera/autoname{ - dir = 1 + dir = 10 }, /obj/machinery/light/directional/south, +/obj/machinery/fax/pgf, /turf/open/floor/plasteel/mono/dark, /area/ship/bridge) "md" = ( @@ -1436,35 +1478,46 @@ /obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating/airless, /area/ship/external/dark) +"mf" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 8; + id = "crying_sun_grid"; + lethal = 1 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) "mk" = ( /obj/structure/table/wood, -/obj/item/toy/plush/sharai{ - pixel_y = 3; - pixel_x = -7 +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/megaphone/command{ + pixel_x = -5; + pixel_y = 7 }, /obj/item/flashlight/lamp/green{ pixel_y = 3; pixel_x = 7 }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 +/obj/item/toy/plush/sharai{ + pixel_x = -3; + pixel_y = 1 }, /turf/open/floor/plasteel/sepia, /area/ship/crew/dorm/dormthree) "mG" = ( /obj/structure/table/optable, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = 4; - pixel_y = 4 - }, +/obj/item/storage/case/surgery, +/obj/machinery/light/directional/north, /obj/item/reagent_containers/food/drinks/bottle/whiskey{ pixel_x = -10; pixel_y = 3; - name = "'Anastheasia'"; + name = "'Anesthesia'"; desc = "A bottle of Git's with the word 'Anastheasia' written over it in marker." }, -/obj/machinery/light/directional/north, -/obj/item/clothing/neck/stethoscope, /turf/open/floor/mineral/titanium, /area/ship/medical) "mL" = ( @@ -1473,7 +1526,7 @@ }, /obj/structure/closet/crate{ icon_state = "wooden"; - name = "myning geer"; + name = "mining gear"; desc = "A rectangular steel crate with 'myning geer' spelled out in crayon on top." }, /obj/item/storage/bag/ore{ @@ -1608,9 +1661,12 @@ /turf/open/floor/plasteel/white, /area/ship/hallway/port) "no" = ( -/obj/structure/bed, -/obj/item/bedsheet/cosmos, /obj/structure/curtain/cloth/grey, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/bed, +/obj/item/bedsheet/brown, /turf/open/floor/plasteel/dark, /area/ship/crew/dorm) "nv" = ( @@ -1665,6 +1721,26 @@ }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/crew/cryo) +"om" = ( +/obj/effect/turf_decal/corner/opaque/lime/mono, +/obj/structure/table/reinforced, +/obj/item/clipboard{ + pixel_x = -9; + pixel_y = -1 + }, +/obj/item/pen{ + pixel_x = -10; + pixel_y = 1 + }, +/obj/item/gps{ + pixel_x = 8; + pixel_y = -2 + }, +/obj/item/binoculars{ + pixel_y = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) "ou" = ( /obj/structure/railing{ dir = 8 @@ -1784,22 +1860,22 @@ /obj/structure/railing{ dir = 4 }, -/obj/structure/table, /obj/item/toy/plush/knight{ - pixel_y = 10; + pixel_y = 11; pixel_x = -10 }, /obj/item/toy/plush/hornet{ - pixel_y = 8; - pixel_x = -3 + pixel_y = 10; + pixel_x = -2 }, /obj/item/toy/plush/mora{ - pixel_y = 4; - pixel_x = 5 + pixel_y = 6; + pixel_x = 6 }, /obj/effect/turf_decal/corner_steel_grid{ dir = 10 }, +/obj/structure/dresser, /turf/open/floor/plasteel/dark, /area/ship/crew/dorm) "oX" = ( @@ -1848,6 +1924,22 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/mono/dark, /area/ship/hallway/central) +"pK" = ( +/obj/structure/cable/blue{ + icon_state = "0-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) "pW" = ( /obj/machinery/computer/helm/viewscreen/directional/west, /obj/effect/turf_decal/siding/wood{ @@ -1883,15 +1975,8 @@ /turf/open/floor/plasteel/sepia, /area/ship/crew/dorm/dormthree) "qj" = ( -/obj/structure/table/reinforced, -/obj/item/desk_flag/gezena{ - pixel_x = 9; - pixel_y = 1 - }, -/obj/machinery/recharger{ - pixel_y = 1; - pixel_x = -6 - }, +/obj/structure/chair/comfy/shuttle, +/obj/effect/turf_decal/floordetail/tiled, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "qm" = ( @@ -1904,7 +1989,6 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "qp" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible, /obj/structure/cable{ icon_state = "1-10" }, @@ -1915,6 +1999,9 @@ dir = 1 }, /obj/item/paper/guides/jobs/engi/combustion_thruster, +/obj/machinery/atmospherics/pipe/manifold/orange/visible{ + dir = 4 + }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engines/starboard) "qy" = ( @@ -2104,11 +2191,6 @@ /turf/closed/wall/mineral/plastitanium, /area/ship/engineering/engines/starboard) "sF" = ( -/obj/machinery/door/airlock/security/glass{ - req_one_access_txt = "1"; - req_access = list(1); - name = "Checkpoint" - }, /obj/structure/cable{ icon_state = "1-2" }, @@ -2117,6 +2199,10 @@ dir = 1 }, /obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/security/glass{ + req_one_access_txt = "1"; + name = "Checkpoint" + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "sJ" = ( @@ -2241,7 +2327,6 @@ pixel_y = 3 }, /obj/effect/turf_decal/corner/opaque/lime/mono, -/obj/machinery/light/directional/south, /obj/machinery/light_switch{ dir = 4; pixel_x = -19; @@ -2260,62 +2345,60 @@ /turf/closed/wall/mineral/titanium/exterior, /area/ship/crew/cryo) "tQ" = ( -/obj/structure/chair/comfy/shuttle, /obj/effect/turf_decal/corner_steel_grid{ dir = 9 }, +/obj/structure/chair/comfy/shuttle, +/obj/effect/turf_decal/floordetail/tiled, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) -"tU" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "0-2" +"tY" = ( +/obj/machinery/modular_computer/console/preset/command{ + dir = 1 }, -/turf/open/floor/engine/hull, -/area/ship/external/dark) +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) "uh" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/effect/turf_decal/floordetail/tiled, /obj/structure/cable{ icon_state = "4-8" }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "uo" = ( +/obj/structure/closet/secure_closet/wall/directional/west{ + icon_state = "sec_wall"; + name = "ordnance locker" + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 10 + }, +/obj/item/storage/box/flashbangs{ + pixel_y = 6 + }, /obj/item/grenade/frag{ - pixel_x = -8; + pixel_x = -10; pixel_y = -1 }, /obj/item/grenade/frag{ - pixel_x = -3; - pixel_y = -8 + pixel_x = -5; + pixel_y = -6 }, /obj/item/grenade/smokebomb{ - pixel_y = 3; + pixel_y = 2; pixel_x = 13 }, /obj/item/grenade/smokebomb{ - pixel_y = 1; - pixel_x = 7 + pixel_x = 7; + pixel_y = -2 }, /obj/item/grenade/smokebomb{ pixel_x = 11; pixel_y = -5 }, -/obj/structure/closet/secure_closet/wall/directional/west{ - icon_state = "sec_wall"; - name = "equipment locker" - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 10 - }, /turf/open/floor/vault, /area/ship/security/armory) "uq" = ( @@ -2497,11 +2580,11 @@ pixel_x = 9; pixel_y = -5 }, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ pixel_y = 10; pixel_x = -6 }, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ pixel_y = 10 }, /turf/open/floor/plasteel/dark, @@ -2574,23 +2657,27 @@ "wu" = ( /obj/effect/turf_decal/corner/opaque/lime/mono, /obj/machinery/telecomms/relay/preset/pgf, +/obj/machinery/door/window/survival_pod{ + dir = 1 + }, +/obj/structure/window/reinforced/survival_pod/spawner/west, /turf/open/floor/plasteel/tech, /area/ship/crew/office) "ww" = ( /obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/corner{ dir = 8 }, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/machinery/light/directional/east, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "wz" = ( -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 - }, /obj/structure/cable{ icon_state = "4-8" }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "wK" = ( @@ -2812,6 +2899,19 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/plasteel/tech, /area/ship/engineering/engines/port) +"yy" = ( +/obj/structure/table/reinforced, +/obj/item/desk_flag/gezena{ + pixel_x = 9; + pixel_y = 1 + }, +/obj/machinery/recharger{ + pixel_y = 1; + pixel_x = -6 + }, +/obj/effect/turf_decal/floordetail/tiled, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) "yF" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -2835,7 +2935,7 @@ /obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ dir = 1 }, -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "zc" = ( @@ -2915,6 +3015,9 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/chair/handrail{ + dir = 8 + }, /turf/open/floor/plasteel/white, /area/ship/hallway/port) "zz" = ( @@ -2932,9 +3035,6 @@ icon_state = "1-4" }, /obj/structure/catwalk/over/plated_catwalk, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, /obj/machinery/cell_charger, /obj/item/stock_parts/cell/high, /obj/structure/cable, @@ -2945,6 +3045,7 @@ dir = 5 }, /obj/machinery/airalarm/directional/west, +/obj/structure/table/reinforced, /turf/open/floor/plating, /area/ship/engineering) "zL" = ( @@ -2970,7 +3071,7 @@ }, /obj/machinery/door/airlock/security{ req_access = list(3); - name = "Sergeant's Quarters" + name = "Lieutenant's Quarters" }, /turf/open/floor/plasteel/tech, /area/ship/security) @@ -2997,28 +3098,6 @@ }, /turf/open/floor/vault, /area/ship/security/armory) -"Aq" = ( -/obj/effect/turf_decal/corner_steel_grid{ - dir = 9 - }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "lib_bridge_shut"; - name = "Bridge Shutters"; - pixel_y = 20; - pixel_x = 8 - }, -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/machinery/turretid{ - pixel_y = 23; - pixel_x = -8 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) "Ar" = ( /obj/effect/turf_decal/corner_steel_grid{ dir = 9 @@ -3088,10 +3167,38 @@ "At" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/security/armory) +"Az" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 4; + id = "crying_sun_grid"; + lethal = 1 + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) "AL" = ( /obj/machinery/vending/toyliberationstation, /turf/open/floor/plasteel/tech, /area/ship/security) +"AM" = ( +/obj/structure/cable/blue{ + icon_state = "0-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) "AN" = ( /obj/structure/window/reinforced{ dir = 1 @@ -3254,19 +3361,19 @@ pixel_x = 3; pixel_y = 5 }, -/obj/item/kitchen/knife/plastic{ +/obj/item/melee/knife/plastic{ pixel_y = 5; pixel_x = -1 }, -/obj/item/kitchen/knife/plastic{ +/obj/item/melee/knife/plastic{ pixel_y = 5; pixel_x = -3 }, -/obj/item/kitchen/knife/plastic{ +/obj/item/melee/knife/plastic{ pixel_y = 5; pixel_x = -5 }, -/obj/item/kitchen/knife/plastic{ +/obj/item/melee/knife/plastic{ pixel_y = 5; pixel_x = -7 }, @@ -3322,6 +3429,9 @@ dir = 6 }, /obj/machinery/light/directional/west, +/obj/structure/chair/handrail{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/ship/hallway/port) "Cz" = ( @@ -3351,15 +3461,6 @@ "CD" = ( /turf/open/floor/plasteel/white, /area/ship/crew/canteen) -"CF" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/engine/hull, -/area/ship/external/dark) "CO" = ( /obj/machinery/vending/coffee, /obj/effect/turf_decal/corner_steel_grid/full{ @@ -3583,10 +3684,7 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/external/dark) "El" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/modular_computer/console/preset/command{ +/obj/machinery/computer/security{ dir = 1 }, /obj/structure/catwalk/over/plated_catwalk/dark, @@ -3633,13 +3731,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, /area/ship/hallway/central) -"Eu" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 5 - }, -/obj/structure/cable, -/turf/open/floor/engine/hull, -/area/ship/external/dark) "EA" = ( /obj/structure/sign/poster/contraband/pgf{ pixel_y = 32 @@ -3896,15 +3987,6 @@ }, /turf/open/floor/plasteel/mono/dark, /area/ship/hallway/central) -"FJ" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/engine/hull, -/area/ship/external/dark) "FN" = ( /obj/structure/catwalk/over/plated_catwalk/dark, /obj/machinery/door/poddoor{ @@ -3916,15 +3998,6 @@ }, /turf/open/floor/plating, /area/ship/engineering/engines/starboard) -"FO" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external/dark) "FU" = ( /obj/effect/turf_decal/corner_steel_grid{ dir = 10 @@ -3946,10 +4019,10 @@ /turf/open/floor/plasteel/mono/dark, /area/ship/hallway/central) "Gb" = ( -/obj/machinery/computer/crew{ - dir = 8 +/obj/structure/chair/comfy/shuttle{ + dir = 4 }, -/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/floordetail/tiled, /obj/structure/cable{ icon_state = "1-8" }, @@ -4104,8 +4177,8 @@ "GW" = ( /obj/structure/rack, /obj/item/stock_parts/cell/gun/pgf{ - pixel_y = 12; - pixel_x = -3 + pixel_x = -6; + pixel_y = -2 }, /obj/item/stock_parts/cell/gun/pgf{ pixel_y = 10; @@ -4128,6 +4201,13 @@ pixel_x = 3 }, /obj/effect/turf_decal/corner/opaque/neutral/full, +/obj/item/stock_parts/cell/gun/pgf{ + pixel_x = -12 + }, +/obj/item/stock_parts/cell/gun/pgf{ + pixel_x = -8; + pixel_y = -2 + }, /turf/open/floor/vault, /area/ship/security/armory) "Ha" = ( @@ -4144,15 +4224,6 @@ /obj/effect/turf_decal/corner/opaque/neutral/full, /turf/open/floor/vault, /area/ship/security/armory) -"Hb" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/engine/hull, -/area/ship/external/dark) "Hf" = ( /obj/structure/railing, /obj/effect/turf_decal/corner_steel_grid{ @@ -4160,6 +4231,18 @@ }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/crew/cryo) +"Hl" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 4; + id = "crying_sun_grid"; + lethal = 1 + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) "Hn" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/crew/cryo) @@ -4300,10 +4383,6 @@ /area/ship/crew/canteen) "Ig" = ( /obj/machinery/computer/helm/viewscreen/directional/north, -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/obj/effect/turf_decal/floordetail/tiled, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "Ir" = ( @@ -4466,6 +4545,20 @@ }, /turf/open/floor/engine/hull, /area/ship/external/dark) +"KH" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "lib_bridge_shut" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/bridge) "KM" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/hallway/port) @@ -4516,9 +4609,6 @@ dir = 8; name = "engine fuel pump" }, -/obj/structure/cable{ - icon_state = "1-4" - }, /obj/machinery/camera/autoname{ dir = 1; network = list("GEC") @@ -4671,13 +4761,17 @@ /area/ship/bridge) "Mu" = ( /obj/effect/turf_decal/corner/opaque/lime/mono, -/obj/machinery/vending/modularpc, +/obj/machinery/blackbox_recorder, +/obj/machinery/door/window/survival_pod{ + dir = 1 + }, +/obj/structure/window/reinforced/survival_pod/spawner/west, /turf/open/floor/plasteel/tech, /area/ship/crew/office) "Mw" = ( /obj/structure/bed, /obj/item/bedsheet/hos{ - name = "Sergeant's Bedsheet"; + name = "Lieutenant's Bedsheet"; desc = "It is decorated with a shield emblem." }, /obj/effect/turf_decal/borderfloorblack, @@ -4713,9 +4807,6 @@ pixel_x = -9; pixel_y = 3 }, -/obj/item/clothing/head/gezena/medic/flap{ - pixel_x = 12 - }, /obj/item/clothing/head/gezena/medic{ pixel_y = 4; pixel_x = 7 @@ -4743,6 +4834,11 @@ pixel_x = -13; pixel_y = -19 }, +/obj/item/clothing/neck/stethoscope, +/obj/item/clothing/head/gezena/flap/medic{ + pixel_y = 1; + pixel_x = 12 + }, /turf/open/floor/mineral/titanium, /area/ship/medical) "MF" = ( @@ -4801,6 +4897,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, +/obj/structure/railing/corner{ + dir = 4 + }, /turf/open/floor/plasteel/tech, /area/ship/bridge) "MZ" = ( @@ -4877,7 +4976,7 @@ dir = 8 }, /obj/structure/closet/crate{ - name = "Mishun Acomplshed" + name = "Mission Accomplished" }, /obj/item/poster/mission_accomplished_7, /obj/item/poster/mission_accomplished_6, @@ -4901,11 +5000,12 @@ "Ny" = ( /obj/machinery/autolathe, /obj/machinery/light/directional/east, +/obj/item/radio/intercom/directional/south, /obj/item/stack/sheet/glass/twenty{ pixel_x = 6; pixel_y = 2 }, -/obj/item/radio/intercom/directional/south, +/obj/item/stack/sheet/metal/ten, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "Nz" = ( @@ -4917,8 +5017,13 @@ /area/ship/external/dark) "NF" = ( /obj/structure/closet/crate/radiation, -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 +/obj/item/clothing/suit/radiation, +/obj/item/clothing/suit/radiation, +/obj/item/clothing/head/radiation{ + pixel_x = -7 + }, +/obj/item/clothing/head/radiation{ + pixel_x = -7 }, /turf/open/floor/plasteel/dark, /area/ship/construction) @@ -5089,18 +5194,6 @@ pixel_y = 1; pixel_x = 1 }, -/obj/item/storage/belt/military/gezena{ - pixel_y = -1; - pixel_x = 1 - }, -/obj/item/storage/belt/military/gezena{ - pixel_y = -1; - pixel_x = 1 - }, -/obj/item/storage/belt/military/gezena{ - pixel_y = -1; - pixel_x = 1 - }, /obj/item/clothing/head/helmet/gezena{ pixel_y = -11 }, @@ -5110,6 +5203,18 @@ /obj/item/clothing/head/helmet/gezena{ pixel_y = -11 }, +/obj/item/storage/belt/military/gezena{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/item/storage/belt/military/gezena{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/item/storage/belt/military/gezena{ + pixel_x = 1; + pixel_y = -1 + }, /turf/open/floor/vault, /area/ship/security/armory) "OY" = ( @@ -5119,6 +5224,9 @@ /turf/open/floor/vault, /area/ship/security/armory) "Pb" = ( +/obj/structure/railing{ + dir = 4 + }, /turf/open/floor/plasteel/stairs{ icon = 'icons/obj/stairs.dmi'; dir = 2 @@ -5145,7 +5253,6 @@ /turf/open/floor/plating, /area/ship/engineering) "Ph" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible, /obj/structure/cable{ icon_state = "2-9" }, @@ -5155,6 +5262,9 @@ /obj/machinery/atmospherics/components/trinary/mixer/layer2{ dir = 1 }, +/obj/machinery/atmospherics/pipe/manifold/orange/visible{ + dir = 4 + }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engines/port) "Pi" = ( @@ -5360,21 +5470,28 @@ /obj/effect/turf_decal/corner/opaque/neutral/full, /turf/open/floor/vault, /area/ship/security/armory) +"Qi" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/computer/cargo{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) "Qq" = ( /obj/structure/rack, -/obj/item/kitchen/knife/combat/survival{ +/obj/item/melee/knife/survival{ pixel_x = -7; pixel_y = 4 }, -/obj/item/kitchen/knife/combat/survival{ +/obj/item/melee/knife/survival{ pixel_x = -2; pixel_y = 4 }, -/obj/item/kitchen/knife/combat/survival{ +/obj/item/melee/knife/survival{ pixel_y = 4; pixel_x = 3 }, -/obj/item/kitchen/knife/combat/survival{ +/obj/item/melee/knife/survival{ pixel_y = 4; pixel_x = 8 }, @@ -5524,9 +5641,11 @@ /turf/open/floor/mineral/titanium, /area/ship/medical) "RN" = ( -/obj/machinery/vending/cigarette, /obj/effect/turf_decal/corner/opaque/lime/mono, /obj/machinery/light/directional/north, +/obj/machinery/vending/modularpc{ + pixel_x = -1 + }, /turf/open/floor/plasteel/dark, /area/ship/crew/office) "RP" = ( @@ -5718,6 +5837,17 @@ /obj/machinery/light/floor/hangar, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) +"Tp" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 10; + id = "crying_sun_grid"; + lethal = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "Tw" = ( /obj/structure/cable{ icon_state = "0-2" @@ -5829,43 +5959,57 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/item/clothing/neck/cloak/gezena/captain{ - pixel_y = -5; - pixel_x = 1 +/obj/structure/closet/secure_closet{ + icon_state = "blueshield"; + req_access = list(20); + name = "captain's locker" }, -/obj/item/clothing/gloves/gezena/captain{ - pixel_y = 4 +/obj/item/storage/lockbox/medal{ + pixel_y = -20; + pixel_x = null }, -/obj/item/clothing/under/gezena/captain{ +/obj/item/storage/backpack/satchel/cap{ + pixel_y = -18; + pixel_x = -8 + }, +/obj/item/storage/backpack/duffelbag/captain{ + pixel_x = 6; + pixel_y = -17 + }, +/obj/item/storage/guncase/pistol/kalixpistol{ + pixel_y = -13; + pixel_x = -1 + }, +/obj/item/clothing/neck/cloak/gezena/captain{ pixel_y = -4; - pixel_x = -10 + pixel_x = -8 }, /obj/item/clothing/suit/armor/gezena/captain{ - pixel_y = -3; - pixel_x = 9 + pixel_y = -2; + pixel_x = 8 }, -/obj/item/clothing/head/gezena/captain{ - pixel_y = 6 +/obj/item/storage/belt/sabre{ + pixel_y = -9; + pixel_x = -4 }, -/obj/item/storage/backpack/duffelbag/captain{ - pixel_x = 6; - pixel_y = -14 +/obj/item/screwdriver{ + pixel_y = -12 }, -/obj/item/storage/backpack/satchel/cap{ - pixel_y = -18; - pixel_x = -8 +/obj/item/clothing/under/gezena/captain{ + pixel_y = 3 }, -/obj/item/storage/belt/sabre, -/obj/item/storage/lockbox/medal, -/obj/item/radio/headset/pgf/captain, -/obj/item/radio/headset/pgf/alt/captain, -/obj/structure/closet/secure_closet{ - icon_state = "blueshield"; - req_access = list(20); - name = "captain's locker" +/obj/item/radio/headset/pgf/alt/captain{ + pixel_x = 10; + pixel_y = 4 + }, +/obj/item/radio/headset/pgf/captain{ + pixel_x = -10 + }, +/obj/item/clothing/gloves/gezena/captain{ + pixel_y = 11 }, -/obj/item/gun/energy/kalix/pistol{ - pixel_y = -16 +/obj/item/clothing/head/gezena/captain{ + pixel_y = 12 }, /turf/open/floor/plasteel/sepia, /area/ship/crew/dorm/dormthree) @@ -5915,13 +6059,6 @@ pixel_x = -10; pixel_y = -7 }, -/obj/item/clothing/under/gezena/marine{ - pixel_x = -10; - pixel_y = -7 - }, -/obj/item/clothing/gloves/gezena/marine{ - pixel_y = 11 - }, /obj/item/clothing/gloves/gezena/marine{ pixel_y = 11 }, @@ -5931,22 +6068,6 @@ /obj/item/clothing/gloves/gezena/marine{ pixel_y = 11 }, -/obj/item/clothing/head/gezena/marine/flap{ - pixel_x = -10 - }, -/obj/item/clothing/head/gezena/marine/flap{ - pixel_x = -10 - }, -/obj/item/clothing/head/gezena/marine/flap{ - pixel_x = -10 - }, -/obj/item/clothing/head/gezena/marine/flap{ - pixel_x = -10 - }, -/obj/item/clothing/head/gezena/marine{ - pixel_y = 10; - pixel_x = -10 - }, /obj/item/clothing/head/gezena/marine{ pixel_y = 10; pixel_x = -10 @@ -5975,9 +6096,6 @@ /obj/item/storage/backpack/duffelbag/sec{ pixel_y = -13 }, -/obj/item/storage/backpack/duffelbag/sec{ - pixel_y = -13 - }, /obj/item/storage/backpack/satchel/sec{ pixel_x = -8; pixel_y = -17 @@ -5990,14 +6108,6 @@ pixel_x = -8; pixel_y = -17 }, -/obj/item/storage/backpack/satchel/sec{ - pixel_x = -8; - pixel_y = -17 - }, -/obj/item/clothing/shoes/combat/gezena{ - pixel_x = 3; - pixel_y = 0 - }, /obj/item/clothing/shoes/combat/gezena{ pixel_x = 3; pixel_y = 0 @@ -6011,6 +6121,18 @@ pixel_y = 0 }, /obj/effect/turf_decal/corner/opaque/neutral/full, +/obj/item/clothing/head/gezena/flap/marine{ + pixel_y = 1; + pixel_x = -10 + }, +/obj/item/clothing/head/gezena/flap/marine{ + pixel_y = 1; + pixel_x = -10 + }, +/obj/item/clothing/head/gezena/flap/marine{ + pixel_y = 1; + pixel_x = -10 + }, /turf/open/floor/vault, /area/ship/security/armory) "Vp" = ( @@ -6059,11 +6181,11 @@ /turf/open/floor/plasteel/mono, /area/ship/hangar/starboard) "VM" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable, /obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "engine fuel pump" + }, /turf/open/floor/plating, /area/ship/engineering/engines/starboard) "VY" = ( @@ -6075,7 +6197,7 @@ anchored = 1; can_be_unanchored = 1; icon_state = "warden"; - name = "sergeant's locker"; + name = "Lieutenant's locker"; req_access_txt = "3"; req_access = list(3) }, @@ -6086,10 +6208,17 @@ dir = 1 }, /obj/machinery/light/directional/north, -/obj/item/clothing/gloves/gezena/marine{ - pixel_y = -2; +/obj/item/storage/backpack/satchel/sec{ + pixel_x = -8; + pixel_y = -17 + }, +/obj/item/storage/backpack/duffelbag/sec{ + pixel_y = -16; pixel_x = 3 }, +/obj/item/storage/guncase/pistol/kalixpistol{ + pixel_y = -13 + }, /obj/item/clothing/shoes/combat/gezena{ pixel_x = 3; pixel_y = -7 @@ -6106,41 +6235,34 @@ pixel_y = 1; pixel_x = -11 }, -/obj/item/clothing/head/gezena/marine/lead/flap{ - pixel_y = 9; - pixel_x = -11 - }, /obj/item/clothing/suit/armor/gezena/marinecoat{ pixel_y = 8 }, +/obj/item/radio/headset/pgf/captain{ + pixel_x = -5; + pixel_y = 7 + }, /obj/item/radio/headset/pgf/alt/captain{ pixel_y = 11; pixel_x = 5 }, -/obj/item/radio/headset/pgf/captain{ - pixel_x = -4; - pixel_y = 9 - }, -/obj/item/kitchen/knife/combat/survival{ - pixel_y = 0; - pixel_x = 1 +/obj/item/clothing/suit/armor/gezena/marine{ + pixel_y = 8 }, /obj/item/storage/belt/military/gezena{ - pixel_y = 1 - }, -/obj/item/storage/backpack/satchel/sec{ - pixel_x = -8; - pixel_y = -17 + pixel_y = 6 }, -/obj/item/storage/backpack/duffelbag/sec{ - pixel_y = -13 +/obj/item/clothing/head/helmet/gezena{ + pixel_y = 14; + pixel_x = -1 }, -/obj/item/gun/energy/kalix/pistol{ - pixel_y = -9; - pixel_x = -3 +/obj/item/clothing/head/gezena/flap/marine/lead{ + pixel_y = 1; + pixel_x = 10 }, -/obj/item/clothing/head/helmet/gezena{ - pixel_y = -11 +/obj/item/clothing/gloves/gezena/marine{ + pixel_x = 3; + pixel_y = -6 }, /turf/open/floor/plasteel/tech, /area/ship/crew/dorm/dormtwo) @@ -6171,6 +6293,27 @@ }, /turf/open/floor/plasteel/sepia, /area/ship/crew/dorm) +"Wg" = ( +/obj/effect/turf_decal/spline/fancy/opaque/lime{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/lime, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"Wi" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 6; + id = "crying_sun_grid"; + lethal = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "Wk" = ( /obj/machinery/power/smes/shuttle/precharged{ dir = 4 @@ -6214,11 +6357,16 @@ /obj/item/storage/ration/vegan_chili, /obj/item/storage/ration/beef_strips, /obj/item/storage/ration/beef_strips, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/item/storage/cans/sixbeer, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, /turf/open/floor/plasteel/white, /area/ship/crew/canteen) "WQ" = ( @@ -6229,9 +6377,6 @@ dir = 5 }, /obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "2-8" - }, /obj/structure/cable{ icon_state = "1-2" }, @@ -6244,6 +6389,17 @@ /obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating/airless, /area/ship/external/dark) +"WU" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 5; + id = "crying_sun_grid"; + lethal = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "WV" = ( /obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ dir = 4 @@ -6384,13 +6540,11 @@ /turf/open/floor/plasteel/tech, /area/ship/construction) "Yd" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, /obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "engine fuel pump" + }, /turf/open/floor/plating, /area/ship/engineering/engines/port) "Yo" = ( @@ -6565,6 +6719,15 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engines/port) +"Zr" = ( +/obj/structure/cable, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 5; + id = "crying_sun_grid"; + lethal = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "Zw" = ( /obj/structure/railing{ dir = 4 @@ -6707,14 +6870,14 @@ xz xz lc hJ -hJ +ae is lc xz xz TV FN -fN +dv fN TV xz @@ -6735,14 +6898,14 @@ xz lc lc CB -CB +AM UM lc -FO +mf LD TV bB -Wk +pK Wk TV TV @@ -7092,7 +7255,7 @@ xz (15,1,1) = {" xz xz -FJ +jg ow ow mG @@ -7170,7 +7333,7 @@ xK zz DT SB -CF +Tp xz "} (18,1,1) = {" @@ -7346,7 +7509,7 @@ xz xz xz eR -Eu +Zr KP BX xy @@ -7478,7 +7641,7 @@ Bq oR Ne SB -du +Wi xz "} (29,1,1) = {" @@ -7683,7 +7846,7 @@ xz xz xz xz -tU +WU xk UE pW @@ -7881,7 +8044,7 @@ xz xz xz MF -Aq +ee Xs jm jH @@ -7914,8 +8077,8 @@ bb wz tQ El -Ms -MF +Wg +om MF eO Ly @@ -7941,10 +8104,10 @@ MF Ig uh qj -Ms -CZ -xz -Mk +tY +hX +MF +MF Bc KS Sp @@ -7964,14 +8127,14 @@ xz xz xz xz -Hb +WU vr dK Gb -Ms +yy +KH CZ xz -xz Mk iK sQ @@ -7993,13 +8156,13 @@ xz xz xz cR -Rx -bD -bD +Sd +Qi +bi +Ms CZ xz xz -xz Mk Er Mk @@ -8021,10 +8184,10 @@ xz xz xz xz -xz -xz -xz -xz +Rx +bD +bD +CZ xz xz xz @@ -8141,11 +8304,11 @@ xz xz xz xz -if +Hl xz xz xz -if +Az xz xz xz diff --git a/_maps/shuttles/pgf/pgf_elated_bolide.dmm b/_maps/shuttles/pgf/pgf_elated_bolide.dmm new file mode 100644 index 00000000000..1239ee22bbb --- /dev/null +++ b/_maps/shuttles/pgf/pgf_elated_bolide.dmm @@ -0,0 +1,9871 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aq" = ( +/obj/effect/turf_decal/atmos/air{ + dir = 1 + }, +/turf/open/floor/engine/air, +/area/ship/engineering) +"ar" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 4 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/ccommons) +"au" = ( +/obj/machinery/computer/atmos_control/ship/bolide{ + dir = 8; + icon_state = "computer-right" + }, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"aw" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_bombs"; + dir = 4; + name = "High Explosives Storage" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage/port) +"ay" = ( +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/closet/crate/engineering/electrical, +/obj/item/electronics/advanced_airlock_controller, +/obj/item/electronics/advanced_airlock_controller, +/obj/item/electronics/advanced_airlock_controller, +/obj/item/electronics/airalarm, +/obj/item/electronics/airalarm, +/obj/item/electronics/airalarm, +/obj/item/electronics/airalarm, +/obj/item/electronics/airalarm, +/obj/item/electronics/airalarm, +/obj/item/electronics/airalarm, +/obj/item/electronics/airalarm, +/obj/item/electronics/airalarm, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/apc, +/obj/item/electronics/apc, +/obj/item/electronics/apc, +/obj/item/electronics/apc, +/obj/item/electronics/firealarm, +/obj/item/electronics/firealarm, +/obj/item/electronics/firealarm, +/obj/item/electronics/firealarm, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"az" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/steeldecal/steel_decals_central7{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"aD" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"aE" = ( +/obj/machinery/shower{ + pixel_y = 18 + }, +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"aI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"aK" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"aO" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_bay_win_1" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/crew/office) +"aT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"be" = ( +/obj/machinery/door/airlock/engineering{ + req_one_access = list(1, 10); + name = "Port Engines" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/orange, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/port) +"bf" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"bh" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/button/door{ + name = "privacy lock"; + dir = 1; + pixel_y = -21; + pixel_x = -10; + id = "bol_priv"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -2; + pixel_y = -20 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/dorm/captain) +"bl" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"bm" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"bx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/engine/air, +/area/ship/engineering) +"bH" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/iv_drip, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"bL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"bO" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/light/floor, +/obj/machinery/camera/autoname{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"bR" = ( +/obj/structure/rack, +/obj/machinery/light/small/directional/south, +/obj/item/stack/sheet/glass/fifty{ + pixel_x = 5 + }, +/obj/item/stack/sheet/metal/fifty{ + pixel_x = -9 + }, +/obj/item/pipe_dispenser, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"bT" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"cc" = ( +/obj/machinery/door/airlock/command{ + name = "Captain's Quarters"; + id_tag = "bol_priv"; + req_access = list(20) + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm/captain) +"ce" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"ch" = ( +/obj/structure/sign/number/random{ + dir = 1; + layer = 2.9 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"cn" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"co" = ( +/obj/structure/table/wood, +/obj/item/radio/intercom/directional/north, +/obj/item/clothing/head/gezena/marine/lead{ + pixel_y = 5; + pixel_x = 7 + }, +/obj/item/flashlight/lamp/green{ + pixel_y = 12; + pixel_x = -7 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/item/desk_flag/gezena{ + pixel_x = -11; + pixel_y = 5 + }, +/obj/item/storage/briefcase{ + pixel_y = -7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"cr" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/closet/firecloset/wall/directional/east, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"cH" = ( +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/cryo) +"cM" = ( +/obj/item/radio/intercom/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"cT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"cZ" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/security) +"dg" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/ccommons) +"dk" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_y = 4; + pixel_x = -5 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"dn" = ( +/obj/structure/sign/warning/incident{ + pixel_y = 30 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/techfloor/orange, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 9; + pixel_x = -4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"dp" = ( +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"dq" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"dt" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_bay_win_2"; + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/crew/office) +"du" = ( +/obj/structure/rack, +/obj/machinery/light/directional/east, +/obj/item/stack/sheet/metal/five{ + pixel_x = 7 + }, +/obj/item/stack/sheet/glass/fifty{ + pixel_x = -5; + pixel_y = 5 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"dw" = ( +/obj/structure/chair/handrail, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"dx" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/steeldecal/steel_decals_central6, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -11 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"dE" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"dF" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"eb" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/sign/warning/docking{ + pixel_x = 23; + pixel_y = 25 + }, +/obj/effect/turf_decal/borderfloor/corner, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"em" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/tech, +/area/ship/crew/dorm/captain) +"eq" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"er" = ( +/obj/effect/decal/cleanable/food/flour, +/obj/structure/table/reinforced, +/obj/machinery/microwave{ + pixel_y = 7 + }, +/obj/structure/sign/poster/contraband/pgf{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/ccommons) +"eC" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/fulltile, +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"eE" = ( +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"eH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"eI" = ( +/obj/structure/grille, +/obj/docking_port/mobile{ + name = "bolide docking port"; + port_direction = 4; + preferred_direction = 4 + }, +/turf/open/floor/plating, +/area/ship/external/dark) +"eM" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 8; + pixel_x = -5; + pixel_y = -1 + }, +/obj/item/radio/intercom/directional/north{ + pixel_x = -3 + }, +/obj/item/desk_flag/gezena{ + pixel_x = -10; + pixel_y = 16 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"eX" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/item/radio/intercom/directional/north, +/obj/item/paper_bin{ + pixel_x = -6; + pixel_y = 7 + }, +/obj/item/clipboard{ + pixel_x = -1; + pixel_y = -7 + }, +/obj/item/pen/fourcolor{ + pixel_x = -2; + pixel_y = -5 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/ccommons) +"eZ" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/camera/autoname, +/obj/item/kirbyplants{ + icon_state = "plant-14"; + pixel_y = 10; + pixel_x = 3 + }, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"fg" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/sign/warning{ + pixel_y = -22 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"fl" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm) +"fo" = ( +/obj/machinery/atmospherics/pipe/manifold4w/orange/visible, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/corner_techfloor_gray, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"fp" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/gezena, +/obj/item/clothing/head/helmet/space/gezena, +/obj/item/tank/internals/oxygen/red, +/obj/item/clothing/mask/gas, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/vacuum{ + pixel_x = 3; + pixel_y = -22 + }, +/obj/effect/turf_decal/industrial/warning/cee{ + dir = 8 + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/storage/starboard) +"fr" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/steeldecal/steel_decals_central7{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 11; + pixel_y = -16 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"ft" = ( +/obj/machinery/door/airlock/medical{ + name = "Medical" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/medical) +"fy" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm/captain) +"fG" = ( +/obj/machinery/power/shuttle/engine/fire, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/port) +"fO" = ( +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/structure/closet/crate/engineering/electrical, +/obj/item/electronics/firelock, +/obj/item/electronics/firelock, +/obj/item/electronics/firelock, +/obj/item/electronics/firelock, +/obj/item/electronics/firelock, +/obj/item/electronics/firelock, +/obj/item/electronics/firelock, +/obj/item/electronics/firelock, +/obj/item/electronics/firelock, +/obj/item/electronics/firelock, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"fR" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"fU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"fW" = ( +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_bridge"; + dir = 4 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/bridge) +"fY" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/light/floor, +/obj/machinery/camera/autoname{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"ge" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"gf" = ( +/obj/machinery/power/shuttle/engine/fire, +/obj/structure/sign/warning{ + pixel_x = -10; + pixel_y = 23 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/port) +"gg" = ( +/obj/machinery/light/directional/south, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/ccommons) +"gj" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"gA" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 10 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/radio/intercom/directional/north{ + pixel_x = 3 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/machinery/button/door{ + pixel_y = 21; + pixel_x = -12; + id = "bolide_engine_3"; + name = "engine access" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"gB" = ( +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/obj/structure/floodlight_frame, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"gC" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/cryo) +"gE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/firealarm/directional/west, +/obj/machinery/light/small/directional/west{ + pixel_y = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"gI" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/item/modular_computer/laptop/preset, +/obj/item/flashlight/lamp/green{ + pixel_y = 16; + pixel_x = 16 + }, +/obj/item/desk_flag/gezena{ + pixel_x = -12; + pixel_y = 12 + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 2; + pixel_x = -22; + name = "internal window shutters"; + id = "bolide_win_2" + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 13; + pixel_x = -22; + name = "external window shutters"; + id = "bolide_win_1" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/dorm/captain) +"gP" = ( +/obj/machinery/power/shuttle/engine/fire, +/obj/structure/sign/warning{ + pixel_x = -10; + pixel_y = -21 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/port) +"gU" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_2" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/crew/dorm/captain) +"gV" = ( +/obj/machinery/newscaster/directional/east, +/obj/structure/crate_shelf{ + capacity = 2 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/ccommons) +"ha" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/etherbor/center, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"hd" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"hi" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 4 + }, +/area/ship/hallway/central) +"hj" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"hk" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 9 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm) +"hw" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/rack, +/obj/item/clothing/suit/bomb_suit{ + pixel_x = -3; + pixel_y = -1 + }, +/obj/item/clothing/head/bomb_hood{ + pixel_y = 9; + pixel_x = -3 + }, +/obj/item/clothing/shoes/combat/gezena{ + pixel_y = -7; + pixel_x = 3 + }, +/obj/item/clothing/neck/cloak/gezena{ + pixel_x = -10; + pixel_y = -1 + }, +/obj/item/storage/toolbox/explosives{ + pixel_x = -7; + pixel_y = -8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/item/clothing/gloves/gezena/engi, +/obj/item/radio/headset/pgf/alt, +/obj/machinery/light/small/directional/east, +/obj/item/gps, +/obj/item/clothing/under/gezena/marine{ + pixel_y = 8; + pixel_x = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"hO" = ( +/obj/structure/closet/wall/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/item/radio/headset/pgf, +/obj/item/radio/headset/pgf, +/obj/item/radio/headset/pgf, +/obj/item/radio/headset/pgf, +/obj/item/radio/headset/pgf, +/obj/item/radio/headset/pgf, +/obj/item/radio/headset/pgf, +/obj/item/radio/headset/pgf, +/obj/item/radio{ + pixel_x = 7 + }, +/obj/item/radio{ + pixel_x = 7 + }, +/obj/item/radio{ + pixel_x = 7 + }, +/obj/item/radio{ + pixel_x = 7 + }, +/obj/item/radio{ + pixel_x = 7 + }, +/obj/item/radio{ + pixel_x = 7 + }, +/obj/item/radio{ + pixel_x = 7 + }, +/obj/item/radio{ + pixel_x = 7 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"hP" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 7; + pixel_x = -9; + name = "bay window shutters"; + id = "bolide_bay_win_2" + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 7; + name = "external window shutters"; + id = "bolide_bay_win_1"; + pixel_x = 1 + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = -4; + name = "cargo bay controls"; + id = "bolide_bay"; + pixel_x = -9 + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = -4; + pixel_x = 3; + id = "elated_bolide_bay"; + name = "cargobay holofield switch" + }, +/obj/machinery/turretid/ship{ + pixel_y = 24; + id = "bolide_grid" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/office) +"id" = ( +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"ih" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/item/folder/pgf/empty_sheets{ + pixel_x = -2; + pixel_y = 5 + }, +/obj/machinery/fax/pgf{ + pixel_y = 7 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"ij" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 1; + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/desk_flag/gezena{ + pixel_x = -12 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/office) +"in" = ( +/obj/effect/decal/cleanable/food/flour, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/ccommons) +"iq" = ( +/obj/structure/rack, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/item/grenade/c4/x4{ + pixel_y = 7; + pixel_x = -9 + }, +/obj/item/grenade/c4/x4{ + pixel_y = 7; + pixel_x = -2 + }, +/obj/item/grenade/c4/x4{ + pixel_y = 7; + pixel_x = 6 + }, +/obj/item/grenade/c4/x4{ + pixel_y = 7; + pixel_x = 13 + }, +/obj/item/grenade/c4/x4{ + pixel_y = -5; + pixel_x = 13 + }, +/obj/item/grenade/c4/x4{ + pixel_y = -5; + pixel_x = 6 + }, +/obj/item/grenade/c4/x4{ + pixel_y = -5; + pixel_x = -2 + }, +/obj/item/grenade/c4/x4{ + pixel_y = -5; + pixel_x = -8 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/storage/port) +"it" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"iu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"iv" = ( +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"iz" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_airlock"; + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/fore) +"iE" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_2" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/crew/dorm/captain) +"iN" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/crew/dorm) +"iO" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_engine_1"; + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"iS" = ( +/obj/structure/table/reinforced, +/obj/item/screwdriver{ + pixel_y = 3 + }, +/obj/item/screwdriver{ + pixel_y = 3; + pixel_x = -7 + }, +/obj/item/screwdriver{ + pixel_y = 3; + pixel_x = 8 + }, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"iW" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/engineering) +"iY" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 3; + pixel_x = -6 + }, +/obj/item/pen{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"jc" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/sign/flag/gezena{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"jf" = ( +/obj/effect/turf_decal/corner/opaque/neutral/full, +/obj/effect/turf_decal/corner/opaque/purple/border{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/obj/structure/closet/secure_closet{ + anchored = 1; + can_be_unanchored = 1; + icon_state = "sec"; + name = "uniforms locker"; + req_access_txt = "1" + }, +/obj/item/clothing/gloves/gezena/marine{ + pixel_y = 10; + pixel_x = 8 + }, +/obj/item/clothing/gloves/gezena/marine{ + pixel_y = 10; + pixel_x = 8 + }, +/obj/item/clothing/gloves/gezena/marine{ + pixel_y = 10; + pixel_x = 8 + }, +/obj/item/clothing/gloves/gezena/marine{ + pixel_y = 10; + pixel_x = 8 + }, +/obj/item/clothing/gloves/gezena/marine{ + pixel_y = 10; + pixel_x = 8 + }, +/obj/item/clothing/gloves/gezena/marine{ + pixel_y = 10; + pixel_x = 8 + }, +/obj/item/storage/backpack/industrial{ + pixel_x = 7 + }, +/obj/item/storage/backpack/industrial{ + pixel_x = 7 + }, +/obj/item/storage/backpack/industrial{ + pixel_x = 7 + }, +/obj/item/clothing/head/gezena/flap/marine, +/obj/item/clothing/head/gezena/flap/marine, +/obj/item/clothing/head/gezena/flap/marine, +/obj/item/clothing/head/gezena/flap/marine, +/obj/item/radio/headset/pgf/alt, +/obj/item/radio/headset/pgf/alt, +/obj/item/radio/headset/pgf/alt, +/obj/item/clothing/head/gezena/marine{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/item/clothing/head/gezena/marine{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/item/clothing/head/gezena/marine{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/item/clothing/under/gezena/marine{ + pixel_x = -7 + }, +/obj/item/clothing/under/gezena/marine{ + pixel_x = -7 + }, +/obj/item/clothing/under/gezena/marine{ + pixel_x = -7 + }, +/obj/item/clothing/shoes/combat/gezena{ + pixel_x = 3 + }, +/obj/item/clothing/shoes/combat/gezena{ + pixel_x = 3 + }, +/obj/item/clothing/shoes/combat/gezena{ + pixel_x = 3 + }, +/turf/open/floor/vault, +/area/ship/security/armory) +"jg" = ( +/obj/structure/closet/wall/red/directional/east, +/obj/item/megaphone{ + pixel_x = 8; + pixel_y = 7 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/item/clothing/mask/whistle{ + name = "marine whistle" + }, +/obj/item/clothing/mask/whistle/trench{ + pixel_x = 9; + pixel_y = -4 + }, +/obj/item/clipboard{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/clipboard{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/clipboard{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/storage/box/holodisc{ + pixel_x = 7 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"ji" = ( +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/floordetail/traction, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"jm" = ( +/obj/structure/closet/secure_closet{ + anchored = 1; + can_be_unanchored = 1; + icon_state = "warden"; + name = "Lieutenant's locker"; + req_access_txt = "3"; + req_access = list(3) + }, +/obj/item/radio/headset/pgf/alt/captain{ + pixel_y = 11; + pixel_x = 5 + }, +/obj/item/clothing/neck/cloak/gezena/lead{ + pixel_y = 3; + pixel_x = -3 + }, +/obj/item/clothing/suit/armor/gezena/marine{ + pixel_y = 8 + }, +/obj/item/clothing/under/gezena/marine{ + pixel_x = -6; + pixel_y = -7 + }, +/obj/item/clothing/gloves/gezena/marine{ + pixel_x = 3; + pixel_y = -6 + }, +/obj/item/storage/belt/military/gezena{ + pixel_y = 1 + }, +/obj/item/storage/backpack/security{ + pixel_y = -6 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/item/clothing/accessory/medal/silver/valor, +/obj/item/clothing/mask/whistle{ + name = "marine whistle" + }, +/obj/item/clothing/head/helmet/gezena{ + pixel_y = 8; + pixel_x = -1 + }, +/obj/item/clothing/head/gezena/flap/marine/lead{ + pixel_x = -4 + }, +/obj/item/storage/guncase/pistol/kalixpistol, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"jn" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/door/airlock/engineering{ + req_one_access = list(1, 10); + name = "Engineering" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage/starboard) +"js" = ( +/obj/structure/bed/roller, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/industrial/hatch/blue, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"jA" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"jB" = ( +/obj/structure/sink{ + pixel_y = 18 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"jE" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/office) +"jF" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_armory"; + dir = 4; + name = "Armory" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security/armory) +"jI" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/fulltile, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"jJ" = ( +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 1 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"jN" = ( +/obj/machinery/door/airlock/security{ + dir = 4; + name = "Engineering Storage"; + req_one_access_txt = "1" + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage/port) +"jR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"jT" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light_switch{ + pixel_x = -13; + pixel_y = -16; + dir = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ship/medical) +"jZ" = ( +/obj/structure/table, +/obj/structure/bedsheetbin{ + pixel_y = 3; + pixel_x = -4 + }, +/obj/effect/turf_decal/borderfloorblack, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/dorm) +"ka" = ( +/obj/effect/turf_decal/box, +/obj/machinery/light/floor, +/obj/machinery/porta_turret/ship/pgf/heavy{ + id = "bolide_grid" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"kc" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/floordetail/traction, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"kg" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_bay_win_2"; + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/crew/office) +"kh" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/machinery/door/airlock/security{ + dir = 8; + req_access = list(3) + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_armory"; + dir = 4; + name = "Armory" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security/armory) +"km" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_bridge" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) +"ks" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/security/armory) +"kG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"kI" = ( +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/door/airlock/mining{ + name = "Cargo Bay" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"kM" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"kQ" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/item/paper/guides/jobs/engi/combustion_thruster{ + pixel_y = 10 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"kS" = ( +/obj/structure/sign/number/random{ + dir = 1; + layer = 2.9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"kT" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/fire{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/engineering) +"kU" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_bridge_1"; + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) +"kZ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/storage/starboard) +"le" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/storage/port) +"lf" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm/captain) +"lg" = ( +/obj/item/radio/intercom/directional/north, +/obj/item/kirbyplants{ + icon_state = "plant-08"; + pixel_y = 5 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"lj" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black/corner, +/obj/machinery/telecomms/relay/preset/pgf, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/structure/window/reinforced, +/obj/machinery/door/window/brigdoor/westleft{ + req_one_access = list(20, 57, 58) + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"lo" = ( +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"lq" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"lu" = ( +/obj/machinery/door/window/brigdoor{ + dir = 8; + req_access = list(3) + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"lx" = ( +/obj/effect/turf_decal/trimline/opaque/green/filled/line, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"ly" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/engineering) +"mh" = ( +/obj/structure/railing{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 5 + }, +/obj/structure/rack, +/obj/item/multitool, +/obj/item/screwdriver, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"mo" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/storage/starboard) +"mp" = ( +/obj/docking_port/stationary{ + height = 15; + width = 15; + dwidth = 7; + name = "bolide exterior dock" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"ms" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/light/floor, +/obj/machinery/camera/autoname{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"mz" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/machinery/computer/cargo{ + dir = 4; + icon_state = "computer-left" + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/computer/helm/viewscreen/directional/west, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/office) +"mA" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"mC" = ( +/obj/structure/railing, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"mF" = ( +/obj/structure/bed/dogbed{ + name = "Saperzy's bed"; + desc = "A comfy-looking fox bed. You can even strap your pet in, in case the gravity turns off." + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/mob/living/simple_animal/pet/fox/bolide, +/obj/machinery/light/directional/south, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm/captain) +"mJ" = ( +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"mR" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"mW" = ( +/obj/structure/mirror{ + pixel_x = -24; + pixel_y = 4 + }, +/obj/structure/sink{ + dir = 4; + pixel_y = 4; + pixel_x = -13 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central4, +/obj/machinery/button/door{ + name = "privacy lock"; + pixel_y = 22; + pixel_x = 10; + id = "bol_priv2"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/crew/ccommons) +"mZ" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/ccommons) +"nb" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hallway/fore) +"ne" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"ng" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 7; + pixel_y = -7 + }, +/obj/item/pen/fourcolor{ + pixel_x = 7; + pixel_y = -5 + }, +/obj/item/pen{ + pixel_x = 7; + pixel_y = 9 + }, +/obj/item/pen/fountain{ + pixel_x = 3; + pixel_y = 6 + }, +/obj/item/clipboard{ + pixel_x = -7; + pixel_y = -5 + }, +/obj/item/folder/pgf/blue/bolide{ + pixel_x = -9; + pixel_y = 5 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/office) +"nk" = ( +/obj/structure/table/chem, +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 3 + }, +/obj/item/reagent_containers/glass/bottle/formaldehyde, +/obj/item/reagent_containers/glass/bottle/formaldehyde{ + pixel_x = 7 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"nq" = ( +/obj/effect/turf_decal/spline/fancy/transparent/bottlegreen{ + dir = 8 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/ccommons) +"nz" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"nC" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light_switch{ + dir = 4; + pixel_y = -12; + pixel_x = -21 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"nJ" = ( +/obj/structure/rack, +/obj/effect/turf_decal/corner/opaque/neutral/full, +/obj/item/flashlight/seclite{ + pixel_y = -1; + pixel_x = 5 + }, +/obj/item/flashlight/seclite{ + pixel_y = -7; + pixel_x = 5 + }, +/obj/item/flashlight/seclite{ + pixel_y = -1 + }, +/obj/item/flashlight/seclite{ + pixel_y = -7 + }, +/obj/item/melee/knife/survival{ + pixel_y = 6; + pixel_x = 1 + }, +/obj/item/melee/knife/survival{ + pixel_y = 6; + pixel_x = 13 + }, +/obj/item/melee/sword/mass{ + pixel_y = 6; + pixel_x = -3 + }, +/obj/item/melee/sword/mass{ + pixel_y = 6; + pixel_x = -9 + }, +/obj/item/melee/knife/survival{ + pixel_y = 6; + pixel_x = 8 + }, +/obj/item/melee/knife/survival{ + pixel_y = 6; + pixel_x = 13 + }, +/turf/open/floor/vault, +/area/ship/security/armory) +"nL" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 9 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"nM" = ( +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/ccommons) +"nS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/sign/warning/securearea{ + pixel_x = -8; + pixel_y = -21 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"nT" = ( +/obj/machinery/advanced_airlock_controller{ + pixel_y = -22 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/industrial/warning/cee{ + dir = 4 + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/storage/starboard) +"nV" = ( +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"ob" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/sign/warning{ + pixel_y = 24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"oc" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"og" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 11; + pixel_y = -16 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"oj" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"ol" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"om" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/machinery/newscaster/directional/east, +/obj/machinery/button/door{ + dir = 8; + pixel_y = 7; + pixel_x = -5; + name = "fore airlock shutters"; + id = "bolide_airlock" + }, +/obj/machinery/button/door{ + dir = 8; + pixel_y = -5; + id = "bolide_win_bridge"; + name = "window shutters"; + pixel_x = -5 + }, +/obj/machinery/recharger{ + pixel_x = 6; + pixel_y = 6 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"oD" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_bridge" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) +"oE" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"oJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"oK" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/closet/firecloset/wall/directional/east, +/obj/effect/turf_decal/industrial/stand_clear, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"oO" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/central) +"oV" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"oY" = ( +/turf/template_noop, +/area/template_noop) +"pf" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/cargo) +"pl" = ( +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_engine_3"; + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/starboard) +"po" = ( +/obj/structure/filingcabinet/double/grey, +/obj/machinery/newscaster/directional/east, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/office) +"ps" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hallway/fore) +"pu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/sign/poster/contraband/pgf{ + pixel_x = 28; + pixel_y = -30 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"pB" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_bridge" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) +"pG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/corner_steel_grid, +/obj/effect/turf_decal/spline/fancy/opaque/green/corner, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"pI" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/storage/starboard) +"pM" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 13; + pixel_y = 5 + }, +/obj/structure/mirror{ + pixel_x = 26; + pixel_y = 5 + }, +/turf/open/floor/plasteel/mono, +/area/ship/crew/dorm) +"qa" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/kirbyplants{ + icon_state = "plant-08"; + pixel_y = 19; + pixel_x = 10 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"qd" = ( +/obj/effect/turf_decal/box, +/obj/machinery/light/floor, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 8; + id = "bolide_grid" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"qe" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_y = 11; + pixel_x = -5 + }, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_y = 7; + pixel_x = 3 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"ql" = ( +/obj/effect/turf_decal/box, +/obj/machinery/light/floor, +/obj/machinery/porta_turret/ship/pgf/heavy{ + dir = 1; + id = "bolide_grid" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"qm" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"qq" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"qr" = ( +/obj/effect/turf_decal/corner/opaque/purple/border{ + dir = 9 + }, +/turf/open/floor/vault, +/area/ship/security/armory) +"qH" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"qJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"qQ" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"qW" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"qX" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 9 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"rb" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"rc" = ( +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"rn" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/caution, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"ro" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"ru" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 10 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"rw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"rB" = ( +/obj/machinery/power/shuttle/engine/fire, +/obj/structure/sign/warning{ + pixel_x = -10; + pixel_y = -21 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/starboard) +"rJ" = ( +/obj/machinery/door/airlock{ + name = "Cryo Head" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm) +"rN" = ( +/obj/effect/turf_decal/trimline/opaque/green/filled/corner, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"rP" = ( +/obj/machinery/atmospherics/components/unary/portables_connector, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/decal/cleanable/molten_object{ + pixel_x = 10; + pixel_y = -12 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"rR" = ( +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/obj/structure/closet/crate/engineering, +/obj/item/stack/sheet/glass/twenty{ + pixel_x = -3 + }, +/obj/item/stack/sheet/metal/twenty{ + pixel_x = 5 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"rU" = ( +/obj/structure/rack, +/obj/effect/turf_decal/corner/opaque/neutral/full, +/obj/item/storage/box/metalfoam{ + pixel_x = 7; + pixel_y = 2 + }, +/obj/item/storage/box/metalfoam{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/storage/box/smokebombs{ + pixel_x = -9; + pixel_y = -3 + }, +/obj/item/storage/box/smokebombs{ + pixel_x = -4; + pixel_y = -3 + }, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 28 + }, +/obj/item/storage/box/flares{ + pixel_x = 11; + pixel_y = -5 + }, +/obj/item/storage/box/flares{ + pixel_x = -11; + pixel_y = -5 + }, +/obj/item/storage/box/flares{ + pixel_x = -3; + pixel_y = -5 + }, +/obj/item/storage/box/flares{ + pixel_x = 2; + pixel_y = -5 + }, +/obj/item/gun/grenadelauncher{ + pixel_y = 6 + }, +/turf/open/floor/vault, +/area/ship/security/armory) +"rV" = ( +/obj/structure/window/plasma/reinforced/fulltile, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/engineering) +"rZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"sb" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/cryo) +"si" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/steeldecal/steel_decals_central7{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -17; + name = "cargo bay controls"; + id = "bolide_bay"; + pixel_x = -15 + }, +/obj/machinery/button/shieldwallgen{ + dir = 1; + pixel_y = -16; + pixel_x = 12; + id = "elated_bolide_bay"; + name = "cargobay holofield switch" + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"su" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"sw" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/item/reagent_containers/glass/chem_jug/thermite{ + pixel_y = 5; + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/chem_jug/thermite{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/structure/closet/crate/chem, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/storage/port) +"sy" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"sE" = ( +/obj/structure/rack, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/storage/port) +"sG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"sO" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 1 + }, +/area/ship/crew/ccommons) +"sT" = ( +/obj/effect/turf_decal/corner/opaque/purple/border{ + dir = 1 + }, +/obj/structure/sign/poster/rilena/timeline{ + pixel_x = 28 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/vault, +/area/ship/security/armory) +"te" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_bridge" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) +"th" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"tm" = ( +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"tq" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_y = 28 + }, +/obj/machinery/autolathe, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"tr" = ( +/obj/structure/bed, +/obj/item/bedsheet/hos{ + name = "Lieutenant's Bedsheet"; + desc = "It is decorated with a shield emblem." + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/structure/sign/flag/gezena{ + pixel_y = 32; + pixel_x = 5 + }, +/obj/item/toy/plush/spider{ + pixel_y = -4 + }, +/obj/machinery/button/door{ + name = "privacy lock"; + pixel_y = 22; + pixel_x = -10; + id = "bol_priv3"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"tv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"tB" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/item/kirbyplants{ + icon_state = "plant-05"; + pixel_y = 7; + pixel_x = -11 + }, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/spline/fancy/transparent/bottlegreen{ + dir = 1 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"tI" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Cryogenic Storage" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"tL" = ( +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/structure/sign/poster/contraband/tools{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"tU" = ( +/obj/machinery/computer/station_alert{ + dir = 8; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/structure/sign/poster/contraband/cardinal_port_starboard{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"ud" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/closet/emcloset/wall/directional/south, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"ul" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"up" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"uq" = ( +/obj/machinery/power/shuttle/engine/fire, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/starboard) +"ur" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/engineering) +"uu" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"ux" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"uC" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/structure/noticeboard{ + pixel_y = 25 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"uD" = ( +/obj/structure/sign/warning/electricshock{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"uE" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/sign/warning/docking{ + pixel_x = 7; + pixel_y = 25 + }, +/obj/structure/crate_shelf{ + capacity = 2 + }, +/obj/effect/turf_decal/spline/fancy/transparent/bottlegreen{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"uN" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/etherbor/right, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"uR" = ( +/obj/structure/railing, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"uW" = ( +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-middle" + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"vc" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid/full, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"vf" = ( +/obj/structure/rack, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/item/grenade/c4{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/grenade/c4{ + pixel_y = 6 + }, +/obj/item/grenade/c4{ + pixel_y = 6; + pixel_x = 6 + }, +/obj/item/grenade/c4{ + pixel_y = 6; + pixel_x = 12 + }, +/obj/item/grenade/c4{ + pixel_y = -4; + pixel_x = 12 + }, +/obj/item/grenade/c4{ + pixel_y = -4; + pixel_x = 6 + }, +/obj/item/grenade/c4{ + pixel_y = -4 + }, +/obj/item/grenade/c4{ + pixel_y = -4; + pixel_x = -7 + }, +/obj/item/grenade/c4{ + pixel_y = 2; + pixel_x = 14 + }, +/obj/item/grenade/c4{ + pixel_y = 2; + pixel_x = -7 + }, +/obj/item/grenade/c4{ + pixel_y = 2 + }, +/obj/item/grenade/c4{ + pixel_y = 2; + pixel_x = 7 + }, +/obj/item/grenade/c4{ + pixel_y = 2; + pixel_x = 14 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/storage/port) +"vl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"vm" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/engineering) +"vo" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/crate_shelf{ + capacity = 2 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"vp" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 9 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/radio/intercom/directional/south{ + pixel_x = 3 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -20; + pixel_x = -12; + id = "bolide_engine_2"; + name = "engine access" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"vt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 10 + }, +/obj/machinery/atmospherics/components/binary/valve/layer2, +/obj/effect/turf_decal/corner_techfloor_grid, +/obj/effect/turf_decal/techfloor/corner, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"vx" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"vJ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"vS" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/structure/table/reinforced, +/obj/item/radio/intercom/table{ + dir = 1; + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/binoculars, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/office) +"we" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"wk" = ( +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"wt" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/engineering) +"ww" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/medical) +"wx" = ( +/obj/structure/table/reinforced, +/obj/machinery/camera/autoname{ + dir = 10 + }, +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 1 + }, +/obj/machinery/fax/indie, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/office) +"wy" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"wC" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/closet/cabinet, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"wD" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_engineering"; + dir = 4; + name = "Secure Storage" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage/starboard) +"wP" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"wT" = ( +/obj/structure/filingcabinet/double/grey, +/obj/item/taperecorder, +/obj/item/tape/random, +/obj/item/tape/random, +/obj/item/tape/random, +/obj/item/tape/random, +/obj/item/tape/random, +/obj/item/tape/random, +/obj/structure/sign/warning/securearea{ + pixel_x = -9; + pixel_y = -21 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"xe" = ( +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_engine_2"; + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/port) +"xl" = ( +/obj/machinery/atmospherics/components/binary/valve/layer4, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"xq" = ( +/obj/structure/railing, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/ccommons) +"xs" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/structure/rack, +/obj/item/screwdriver, +/obj/item/multitool{ + pixel_x = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"xu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"xw" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"xA" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm) +"xC" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/obj/structure/sign/warning/securearea{ + pixel_x = -10; + pixel_y = -20 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 4 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -20; + id = "bolide_engineering"; + req_one_access = list(1, 10) + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"xE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume{ + dir = 1 + }, +/turf/open/floor/engine/hydrogen_fuel, +/area/ship/engineering/engines/starboard) +"xG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/closet/firecloset/wall/directional/south, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"xM" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/storage/starboard) +"xQ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"xX" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 1 + }, +/area/ship/crew/dorm) +"yi" = ( +/obj/machinery/recharge_station, +/obj/structure/curtain/cloth/grey, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"ym" = ( +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/external/dark) +"yq" = ( +/obj/structure/rack, +/obj/effect/turf_decal/corner/opaque/neutral/full, +/obj/item/stock_parts/cell/gun/pgf{ + pixel_x = 5; + pixel_y = -2 + }, +/obj/item/stock_parts/cell/gun/pgf{ + pixel_y = 6; + pixel_x = 5 + }, +/obj/item/stock_parts/cell/gun/pgf{ + pixel_y = 6; + pixel_x = -8 + }, +/obj/item/stock_parts/cell/gun/pgf{ + pixel_x = -8; + pixel_y = -2 + }, +/obj/item/stock_parts/cell/gun/pgf{ + pixel_x = -8 + }, +/obj/item/stock_parts/cell/gun/pgf{ + pixel_x = 4 + }, +/obj/item/stock_parts/cell/gun/pgf{ + pixel_y = 11; + pixel_x = -8 + }, +/obj/item/stock_parts/cell/gun/pgf{ + pixel_y = 10; + pixel_x = 2 + }, +/obj/item/stock_parts/cell/gun/pgf{ + pixel_x = -6; + pixel_y = -4 + }, +/obj/item/stock_parts/cell/gun/pgf{ + pixel_x = 5; + pixel_y = -2 + }, +/obj/item/stock_parts/cell/gun/pgf{ + pixel_y = 6; + pixel_x = -8 + }, +/obj/item/stock_parts/cell/gun/pgf{ + pixel_y = 10; + pixel_x = 2 + }, +/obj/structure/sign/poster/contraband/eoehoma{ + pixel_x = -32 + }, +/turf/open/floor/vault, +/area/ship/security/armory) +"yu" = ( +/obj/structure/sign/warning/fire{ + pixel_x = 10; + pixel_y = -21 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = -21 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/obj/machinery/firealarm/directional/south{ + pixel_x = -11 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"yv" = ( +/obj/structure/railing/corner, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/corner_steel_grid, +/obj/effect/turf_decal/spline/fancy/opaque/green/corner, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"yy" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_1" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/hallway/fore) +"yD" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/gezena, +/obj/item/clothing/head/helmet/space/gezena, +/obj/item/tank/internals/oxygen/red, +/obj/item/clothing/mask/gas, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"yJ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"yK" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/crate_shelf{ + capacity = 2 + }, +/obj/effect/turf_decal/spline/fancy/transparent/bottlegreen{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"yN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"yR" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines/port) +"yT" = ( +/obj/structure/chair, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_x = 21; + dir = 8; + pixel_y = 13 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"yZ" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"za" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"zc" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"zd" = ( +/obj/item/mop, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/rag, +/obj/item/reagent_containers/glass/rag, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/item/storage/bag/trash{ + pixel_x = 10; + pixel_y = -3 + }, +/obj/item/storage/bag/trash{ + pixel_x = 10; + pixel_y = -3 + }, +/obj/structure/closet/crate/trashcart, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"zi" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/railing, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"zj" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/computer/security{ + dir = 1 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"zs" = ( +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 4 + }, +/obj/structure/railing{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"zw" = ( +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"zM" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"zS" = ( +/obj/structure/table/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/item/hand_labeler{ + pixel_y = 15 + }, +/obj/item/paper_bin{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/pen/fourcolor{ + pixel_y = 9; + pixel_x = -6 + }, +/obj/item/folder/pgf{ + pixel_x = 5; + pixel_y = 1 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_armory"; + dir = 4; + name = "Armory" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security/armory) +"zX" = ( +/obj/structure/chair/comfy/grey/directional/north, +/obj/item/storage/secure/safe{ + dir = 8; + pixel_x = -32 + }, +/obj/item/radio/intercom/directional/west{ + pixel_y = 20 + }, +/obj/effect/landmark/start/captain, +/turf/open/floor/plasteel/tech, +/area/ship/crew/dorm/captain) +"zY" = ( +/obj/structure/sign/number/random{ + dir = 1; + layer = 2.9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Ae" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ship/medical) +"Ag" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/structure/sign/warning/explosives/alt{ + pixel_x = -30; + pixel_y = -5 + }, +/obj/structure/table/reinforced, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/item/storage/toolbox/explosives{ + pixel_y = 9 + }, +/obj/effect/turf_decal/techfloor/orange, +/obj/machinery/light_switch{ + pixel_x = -12; + pixel_y = 21 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"Ao" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 9 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"As" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"Az" = ( +/obj/effect/turf_decal/corner/opaque/neutral/full, +/obj/effect/turf_decal/corner/opaque/purple/border{ + dir = 1 + }, +/obj/structure/closet/secure_closet{ + anchored = 1; + can_be_unanchored = 1; + icon_state = "sec"; + name = "uniforms locker"; + req_access_txt = "1" + }, +/obj/item/clothing/under/gezena/marine{ + pixel_x = -7 + }, +/obj/item/clothing/under/gezena/marine{ + pixel_x = -7 + }, +/obj/item/clothing/under/gezena/marine{ + pixel_x = -7 + }, +/obj/item/clothing/head/gezena/marine{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/item/clothing/head/gezena/marine{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/item/clothing/head/gezena/marine{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/item/clothing/shoes/combat/gezena{ + pixel_x = 3 + }, +/obj/item/clothing/shoes/combat/gezena{ + pixel_x = 3 + }, +/obj/item/clothing/shoes/combat/gezena{ + pixel_x = 3 + }, +/obj/item/storage/backpack/security{ + pixel_y = -6 + }, +/obj/item/storage/backpack/security{ + pixel_y = -6 + }, +/obj/item/radio/headset/pgf/alt, +/obj/item/radio/headset/pgf/alt, +/obj/item/radio/headset/pgf/alt, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 12 + }, +/obj/machinery/light/directional/south, +/obj/machinery/button/door{ + dir = 8; + id = "bolide_armory"; + name = "armory access"; + pixel_x = 19; + pixel_y = 1; + req_access = list(3) + }, +/obj/item/clothing/head/gezena/marine{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/item/storage/backpack/security{ + pixel_y = -6 + }, +/obj/item/clothing/head/gezena/flap/marine, +/obj/item/clothing/head/gezena/flap/marine, +/obj/item/clothing/head/gezena/flap/marine, +/turf/open/floor/vault, +/area/ship/security/armory) +"AC" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hallway/fore) +"AE" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 4; + id = "bolide_armory"; + name = "armory access"; + pixel_x = -5; + pixel_y = -5; + req_access = list(3) + }, +/obj/machinery/button/door{ + dir = 4; + id = "bolide_bomb_suit"; + name = "specialist equipment access"; + pixel_x = -5; + pixel_y = 6; + req_access = list(3) + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"AH" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"AI" = ( +/obj/item/kirbyplants{ + icon_state = "plant-12"; + pixel_x = 10; + pixel_y = 17 + }, +/obj/item/kirbyplants{ + icon_state = "plant-11"; + pixel_x = 8; + pixel_y = 3 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"AJ" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_x = -3; + pixel_y = -4 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/item/clothing/glasses/welding{ + pixel_y = -5; + pixel_x = 8 + }, +/obj/item/clothing/glasses/welding{ + pixel_y = 5; + pixel_x = 1 + }, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"AS" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/engineering) +"AY" = ( +/obj/item/clothing/under/gezena{ + pixel_x = 9; + pixel_y = 2 + }, +/obj/item/clothing/under/gezena{ + pixel_x = 9; + pixel_y = 2 + }, +/obj/item/clothing/under/gezena{ + pixel_x = 9; + pixel_y = 2 + }, +/obj/item/clothing/under/gezena{ + pixel_x = 9; + pixel_y = 2 + }, +/obj/item/clothing/suit/toggle/gezena, +/obj/item/clothing/suit/toggle/gezena, +/obj/item/clothing/suit/toggle/gezena, +/obj/item/clothing/suit/toggle/gezena, +/obj/item/clothing/shoes/combat/gezena{ + pixel_y = -7; + pixel_x = 3 + }, +/obj/item/clothing/shoes/combat/gezena{ + pixel_y = -7; + pixel_x = 3 + }, +/obj/item/clothing/shoes/combat/gezena{ + pixel_y = -7; + pixel_x = 3 + }, +/obj/item/clothing/shoes/combat/gezena{ + pixel_y = -7; + pixel_x = 3 + }, +/obj/item/clothing/neck/cloak/gezena{ + pixel_x = -8; + pixel_y = -1 + }, +/obj/item/clothing/neck/cloak/gezena{ + pixel_x = -8; + pixel_y = -1 + }, +/obj/item/clothing/neck/cloak/gezena{ + pixel_x = -8; + pixel_y = -1 + }, +/obj/item/clothing/neck/cloak/gezena{ + pixel_x = -8; + pixel_y = -1 + }, +/obj/structure/closet{ + name = "spare uniforms" + }, +/obj/item/clothing/head/gezena, +/obj/item/clothing/head/gezena, +/obj/item/clothing/head/gezena, +/obj/item/clothing/head/gezena, +/obj/effect/turf_decal/borderfloorblack, +/obj/structure/noticeboard{ + pixel_y = 25 + }, +/obj/item/clothing/head/gezena/flap, +/obj/item/clothing/head/gezena/flap, +/obj/item/clothing/head/gezena/flap, +/obj/item/clothing/head/gezena/flap, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/dorm) +"Ba" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"Bm" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines/starboard) +"Bq" = ( +/obj/machinery/light/directional/north, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"Br" = ( +/obj/structure/table/reinforced, +/obj/item/table_bell{ + pixel_y = 9; + pixel_x = -6 + }, +/obj/item/folder/pgf{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/folder/pgf{ + pixel_x = 3; + pixel_y = 1 + }, +/obj/item/folder/pgf{ + pixel_x = 9; + pixel_y = 6 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"Bs" = ( +/obj/structure/window/plasma/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"Bv" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"Bz" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"BA" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume, +/turf/open/floor/engine/hydrogen_fuel, +/area/ship/engineering/engines/port) +"BC" = ( +/obj/machinery/door/airlock{ + dir = 8; + name = "Showers" + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"BF" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"BG" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"BJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"BQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"Cg" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"Cn" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Cp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/obj/effect/turf_decal/floordetail/pryhole, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Cr" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"Cu" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Cv" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"CA" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_y = 8; + pixel_x = -5 + }, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"CE" = ( +/obj/effect/turf_decal/corner/opaque/purple/border{ + dir = 8 + }, +/turf/open/floor/vault, +/area/ship/security/armory) +"CL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"CM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"CV" = ( +/obj/machinery/door/airlock/external, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage/starboard) +"CY" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"CZ" = ( +/obj/machinery/power/smes/engineering{ + charge = 1e+006 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"Da" = ( +/obj/structure/sink{ + dir = 4; + pixel_y = 1; + pixel_x = -15 + }, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/ccommons) +"Dd" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"De" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Dk" = ( +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Dp" = ( +/obj/structure/railing, +/turf/open/floor/plasteel/stairs/old{ + dir = 4 + }, +/area/ship/crew/cryo) +"Ds" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"Dt" = ( +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Dx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Dy" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/machinery/light_switch{ + pixel_y = 21; + pixel_x = 11 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"DO" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"DP" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/sign/warning{ + pixel_y = -22; + pixel_x = 24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Ea" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Ee" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"Eh" = ( +/obj/machinery/holopad/secure, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/dorm/captain) +"En" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 6 + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Eo" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_2" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/crew/dorm/captain) +"Et" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber{ + dir = 1 + }, +/obj/machinery/air_sensor/ship/bolide/fuel_2{ + pixel_x = 16; + pixel_y = -10 + }, +/obj/structure/sign/warning/fire{ + pixel_y = -22; + pixel_x = 16 + }, +/turf/open/floor/engine/hydrogen_fuel, +/area/ship/engineering/engines/starboard) +"Eu" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"Ey" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing, +/obj/structure/pitgrate, +/turf/open/floor/plasteel/elevatorshaft, +/area/ship/hallway/central) +"EC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"ED" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"EE" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_bridge"; + dir = 4 + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) +"EM" = ( +/obj/machinery/power/port_gen/pacman/super, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/machinery/light/directional/north, +/obj/item/wrench{ + pixel_x = 6; + pixel_y = 6 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"EO" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/engineering) +"EP" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"ER" = ( +/obj/machinery/photocopier, +/obj/item/radio/intercom/directional/east, +/obj/machinery/light_switch{ + pixel_y = 21; + pixel_x = -11 + }, +/obj/machinery/computer/helm/viewscreen/directional/north{ + pixel_x = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"ES" = ( +/obj/machinery/door/window/brigdoor{ + dir = 1; + req_access = list(3) + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"EX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Fa" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/item/kirbyplants{ + icon_state = "plant-18"; + pixel_x = 11; + pixel_y = 21 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"Fg" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_y = -28 + }, +/obj/structure/rack, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = -12; + dir = 1; + pixel_y = -20 + }, +/obj/item/reagent_containers/glass/concrete_bag{ + pixel_x = -5 + }, +/obj/item/reagent_containers/glass/concrete_bag, +/obj/item/reagent_containers/glass/concrete_bag{ + pixel_x = 5 + }, +/obj/item/reagent_containers/glass/concrete_bag{ + pixel_x = -2 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"Fl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"Fm" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume{ + dir = 1 + }, +/turf/open/floor/engine/air, +/area/ship/engineering) +"Fr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"Fs" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"Ft" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"FB" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_1" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/hallway/fore) +"FC" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/structure/table/reinforced, +/obj/item/radio/intercom/table{ + dir = 1; + pixel_y = 4; + pixel_x = -18 + }, +/obj/item/radio/intercom/table{ + dir = 1; + pixel_x = 18; + pixel_y = 4 + }, +/obj/item/radio/intercom/table{ + dir = 1; + pixel_y = 4 + }, +/obj/item/radio/intercom/table{ + dir = 1; + pixel_y = 4; + pixel_x = -18 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/office) +"FJ" = ( +/obj/machinery/power/smes/engineering{ + charge = 1e+006 + }, +/obj/structure/railing{ + dir = 6 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"FN" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/obj/structure/sign/warning/securearea{ + pixel_y = 26; + pixel_x = -6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"FO" = ( +/obj/structure/bed/double{ + dir = 4 + }, +/obj/item/bedsheet/double{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm/captain) +"FP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/mining{ + name = "Cargo Bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"FR" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/fore) +"FS" = ( +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Gh" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Gi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/corner_steel_grid/full, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 10 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"Gm" = ( +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Gv" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/landmark/start/head_of_security, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"Gw" = ( +/obj/structure/rack, +/obj/effect/turf_decal/borderfloor/full, +/obj/item/towel{ + pixel_x = -4; + pixel_y = -1 + }, +/obj/item/towel{ + pixel_x = 8; + pixel_y = 10 + }, +/obj/item/towel{ + pixel_x = -5; + pixel_y = 10 + }, +/obj/item/towel{ + pixel_x = 8; + pixel_y = -1 + }, +/obj/item/soap/deluxe, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"GD" = ( +/obj/machinery/atmospherics/components/trinary/mixer/flipped, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"GG" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"GM" = ( +/obj/machinery/holopad/secure, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"GN" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/structure/rack, +/obj/item/multitool{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/screwdriver{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/item/wrench{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/wirecutters, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"GP" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/light/directional/west, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -10; + pixel_y = -20 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -21; + pixel_x = -1; + name = "privacy shutter"; + id = "bolide_win_bridge_1" + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"GS" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"GT" = ( +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/floodlight_frame, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"GY" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/sign/flag/gezena{ + dir = 1; + pixel_y = -28 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm/captain) +"Hj" = ( +/obj/machinery/blackbox_recorder, +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/machinery/light/directional/east, +/obj/machinery/door/window/brigdoor/westright{ + req_one_access = list(20, 57, 58) + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Ho" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/gezena, +/obj/item/clothing/head/helmet/space/gezena, +/obj/item/tank/internals/oxygen/red, +/obj/item/clothing/mask/gas, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/structure/noticeboard{ + pixel_y = 25 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"Hr" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_y = 8; + pixel_x = 8 + }, +/obj/machinery/recharger{ + pixel_y = 8; + pixel_x = -8 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/vault, +/area/ship/security/armory) +"Hv" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/floordetail/pryhole, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"HB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm/captain) +"HD" = ( +/obj/structure/railing/corner{ + dir = 1; + pixel_y = -22 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/transparent/bottlegreen{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/cryo) +"HU" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/external/dark) +"HW" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ship/storage/starboard) +"Ia" = ( +/obj/structure/closet/crate/internals, +/obj/item/tank/internals/oxygen/red, +/obj/item/tank/internals/oxygen/red, +/obj/item/tank/internals/oxygen/red, +/obj/item/tank/internals/oxygen/red, +/obj/item/tank/internals/oxygen/red, +/obj/item/tank/internals/oxygen/red, +/obj/item/tank/internals/oxygen/yellow, +/obj/item/tank/internals/oxygen/yellow, +/obj/item/tank/internals/oxygen/yellow, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"If" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"Im" = ( +/obj/structure/window/plasma/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/supply/visible, +/turf/open/floor/plating, +/area/ship/engineering) +"In" = ( +/obj/machinery/atmospherics/components/unary/passive_vent/layer4, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Iu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Iw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"IF" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 8 + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hallway/fore) +"IH" = ( +/obj/machinery/holopad/secure, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/office) +"II" = ( +/obj/structure/sign/warning{ + pixel_y = 24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"IK" = ( +/obj/effect/turf_decal/corner/opaque/neutral/full, +/obj/effect/turf_decal/corner/opaque/purple/border{ + dir = 1 + }, +/obj/structure/closet/secure_closet{ + anchored = 1; + can_be_unanchored = 1; + icon_state = "armory"; + name = "armor locker"; + req_access_txt = "1" + }, +/obj/item/clothing/suit/armor/gezena/marinecoat, +/obj/item/clothing/suit/armor/gezena/marinecoat, +/obj/item/clothing/suit/armor/gezena/marinecoat, +/obj/item/clothing/suit/armor/gezena/marinecoat, +/obj/item/storage/belt/military/gezena, +/obj/item/storage/belt/military/gezena, +/obj/item/storage/belt/military/gezena, +/obj/item/storage/belt/military/gezena, +/obj/item/storage/belt/military/gezena, +/obj/item/clothing/head/helmet/gezena{ + pixel_y = 8; + pixel_x = -1 + }, +/obj/item/clothing/head/helmet/gezena{ + pixel_y = 8; + pixel_x = -1 + }, +/obj/item/clothing/head/helmet/gezena{ + pixel_y = 8; + pixel_x = -1 + }, +/obj/item/clothing/head/helmet/gezena{ + pixel_y = 8; + pixel_x = -1 + }, +/obj/item/clothing/head/helmet/gezena{ + pixel_y = 8; + pixel_x = -1 + }, +/obj/item/clothing/head/helmet/gezena{ + pixel_y = 8; + pixel_x = -1 + }, +/obj/machinery/light/directional/south, +/obj/item/clothing/suit/armor/gezena/marine, +/obj/item/clothing/suit/armor/gezena/marine, +/obj/item/storage/belt/military/gezena, +/turf/open/floor/vault, +/area/ship/security/armory) +"IM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm/captain) +"IN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"IV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"IY" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/obj/effect/decal/cleanable/oil{ + pixel_y = 4; + pixel_x = 2 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Jd" = ( +/obj/machinery/door/airlock{ + name = "Dormitories" + }, +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm) +"Je" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Jh" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Jm" = ( +/obj/structure/bed, +/obj/structure/railing{ + dir = 1 + }, +/obj/item/bedsheet/dorms, +/obj/structure/curtain/cloth/grey, +/obj/structure/sign/poster/rilena/run{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"Js" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/railing, +/obj/structure/closet/secure_closet/engineering_electrical, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"Jv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"Jx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"JG" = ( +/obj/machinery/atmospherics/pipe/manifold4w/orange/visible, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"JJ" = ( +/obj/machinery/shower{ + pixel_y = 18 + }, +/obj/effect/turf_decal/borderfloor/corner, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"JK" = ( +/obj/structure/sign/warning/securearea{ + pixel_x = -24; + pixel_y = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/closet/firecloset/wall/directional/south, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"JS" = ( +/obj/structure/closet/secure_closet{ + icon_state = "blueshield"; + req_access = list(20); + name = "captain's locker" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/radio/headset/pgf/alt/captain, +/obj/item/clothing/under/gezena/captain{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/item/clothing/neck/cloak/gezena/captain, +/obj/item/clothing/gloves/gezena/captain{ + pixel_y = 4 + }, +/obj/item/clothing/accessory/medal/silver/valor, +/obj/item/clothing/mask/whistle{ + name = "marine whistle" + }, +/obj/item/storage/box/holodisc{ + pixel_x = 7 + }, +/obj/item/clothing/suit/toggle/gezena, +/obj/item/clothing/head/gezena/captain, +/obj/item/clothing/suit/armor/gezena/captain, +/obj/item/storage/guncase/pistol/kalixpistol, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm/captain) +"JY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/engineering) +"JZ" = ( +/obj/effect/turf_decal/corner/opaque/purple/border{ + dir = 1 + }, +/turf/open/floor/vault, +/area/ship/security/armory) +"Kh" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 5 + }, +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Kk" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"Kn" = ( +/obj/structure/table/reinforced, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/security/armory) +"Ko" = ( +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/structure/floodlight_frame, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Kp" = ( +/obj/structure/rack, +/obj/effect/turf_decal/corner/opaque/neutral/full, +/obj/item/gun/energy/kalix/pgf/heavy{ + pixel_y = 11; + pixel_x = -3 + }, +/obj/item/gun/energy/kalix/pistol{ + pixel_x = 4; + pixel_y = -5 + }, +/obj/item/gun/energy/kalix/pistol{ + pixel_x = -6; + pixel_y = 2 + }, +/obj/item/gun/energy/kalix/pistol{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/item/gun/energy/kalix/pistol{ + pixel_x = -6; + pixel_y = -5 + }, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/vault, +/area/ship/security/armory) +"Kt" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/sign/warning{ + pixel_y = -22 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Kv" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/techfloor/orange{ + dir = 9 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/item/clipboard{ + pixel_y = -6; + pixel_x = -4 + }, +/obj/item/hand_labeler{ + pixel_y = 10; + pixel_x = 4 + }, +/obj/item/paper_bin{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/pen/fourcolor{ + pixel_y = -1; + pixel_x = 2 + }, +/obj/item/flashlight/lamp{ + pixel_y = -12 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"Ky" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security/armory) +"KA" = ( +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"KC" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/door/airlock/command{ + req_access = list(3) + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/office) +"KG" = ( +/obj/machinery/atmospherics/components/unary/portables_connector, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/box, +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"KI" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_y = 10; + pixel_x = 12 + }, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 11 + }, +/obj/item/pen/fourcolor{ + pixel_x = -4; + pixel_y = 12 + }, +/obj/item/pen/fountain{ + pixel_x = 5; + pixel_y = 4 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"KL" = ( +/obj/structure/rack, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 24 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 10 + }, +/obj/item/crowbar/large{ + pixel_x = 7 + }, +/obj/item/crowbar/large, +/obj/item/crowbar/large, +/obj/item/crowbar/large{ + pixel_x = -8 + }, +/obj/item/shovel{ + pixel_y = -4 + }, +/obj/item/shovel{ + pixel_x = 11; + pixel_y = -7 + }, +/obj/item/shovel{ + pixel_x = 6; + pixel_y = -5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"KM" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"KQ" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/steeldecal/steel_decals_central6, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"Lh" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_bridge"; + dir = 4 + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) +"Li" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"Lj" = ( +/obj/machinery/door/airlock{ + dir = 8; + name = "Head"; + id_tag = "bol_priv2" + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/ccommons) +"Ll" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/engineering) +"Lm" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 12 + }, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"Lt" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 4 + }, +/area/ship/bridge) +"Lu" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/closet/cabinet, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"Lw" = ( +/obj/machinery/computer/crew{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/corner{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"LA" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/coffee, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_x = 11; + pixel_y = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"LG" = ( +/obj/machinery/power/shuttle/engine/fire, +/obj/structure/sign/warning{ + pixel_x = -10; + pixel_y = 23 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/starboard) +"LH" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_bridge" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) +"LL" = ( +/obj/structure/closet/crate{ + name = "CLIP lend-lease" + }, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/item/clothing/mask/gas/clip, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"LN" = ( +/obj/item/radio/intercom/directional/west, +/obj/structure/closet/crate/freezer/blood, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"LQ" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/modular_computer/console/preset/command{ + dir = 1 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"LR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"LS" = ( +/obj/machinery/shower{ + pixel_y = 18 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"LY" = ( +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "elated_bolide_bay"; + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Mz" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/sign/warning{ + pixel_y = -22; + pixel_x = -24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"MC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber{ + dir = 1 + }, +/turf/open/floor/engine/air, +/area/ship/engineering) +"ME" = ( +/obj/structure/crate_shelf{ + capacity = 2 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/spline/fancy/transparent/bottlegreen{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"MH" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"MJ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"MP" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_x = -26; + pixel_y = 3 + }, +/obj/machinery/light/floor, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/head/helmet/space/gezena, +/obj/item/tank/internals/oxygen/red, +/obj/item/clothing/mask/gas, +/obj/item/clothing/suit/space/gezena, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hallway/fore) +"MS" = ( +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/item/wrench{ + pixel_x = -8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"MU" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/light/floor, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Nb" = ( +/obj/machinery/power/port_gen/pacman/super, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/structure/sign/poster/contraband/missing_gloves{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"Ng" = ( +/obj/machinery/door/airlock/engineering{ + req_one_access = list(1, 10); + name = "Starboard Engines" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/orange, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/starboard) +"Nl" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"Np" = ( +/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Nq" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"Nv" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -3 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/techfloor, +/obj/item/gear_pack/anglegrinder, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"Ny" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber, +/turf/open/floor/engine/hydrogen_fuel, +/area/ship/engineering/engines/port) +"NG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/borderfloorblack/corner, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"NK" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"NQ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"NU" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"On" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/steeldecal/steel_decals_central7{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Ot" = ( +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "elated_bolide_bay"; + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Ov" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"Oz" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm) +"OA" = ( +/obj/structure/rack, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/item/clothing/head/welding{ + pixel_x = -8; + pixel_y = 8 + }, +/obj/item/gear_pack/anglegrinder{ + pixel_x = 3 + }, +/obj/item/clothing/glasses/welding{ + pixel_y = 9; + pixel_x = -6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"OB" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/sign/warning{ + pixel_y = 24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"OL" = ( +/obj/structure/table/chem, +/obj/item/storage/box/bodybags{ + pixel_x = 9; + pixel_y = 5 + }, +/obj/item/storage/box/syringes{ + pixel_x = -6 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/sign/poster/official/cleanliness{ + pixel_y = 30 + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"OT" = ( +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/sign/poster/contraband/hacking_guide{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"OU" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Pb" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"Pc" = ( +/obj/structure/closet/crate/radiation, +/obj/item/stack/sheet/mineral/uranium/twenty, +/obj/structure/sign/poster/contraband/missing_gloves{ + pixel_x = -28 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"Pr" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_x = -24 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/crate_shelf{ + capacity = 2 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"Ps" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"Px" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"PB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"PC" = ( +/obj/structure/toilet{ + dir = 8; + pixel_x = 5; + pixel_y = 4 + }, +/obj/structure/curtain, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/mono, +/area/ship/crew/ccommons) +"PD" = ( +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/cargo) +"PI" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"PQ" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"PS" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger{ + pixel_y = 7; + pixel_x = 2 + }, +/turf/open/floor/vault, +/area/ship/security/armory) +"PZ" = ( +/obj/effect/turf_decal/corner/transparent/bottlegreen/border{ + dir = 1 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/ccommons) +"Qa" = ( +/obj/structure/closet/secure_closet/wall/directional/east{ + icon_state = "cargo_wall" + }, +/obj/item/storage/backpack/satchel/eng, +/obj/item/clothing/suit/armor/gezena/engi{ + pixel_y = -4; + pixel_x = -3 + }, +/obj/item/clothing/neck/cloak/gezena/engi{ + pixel_y = 6; + pixel_x = -9 + }, +/obj/item/clothing/glasses/meson{ + pixel_y = 11 + }, +/obj/item/storage/belt/utility/full{ + pixel_y = -6; + pixel_x = -5 + }, +/obj/item/storage/backpack/duffelbag/engineering{ + pixel_y = -6; + pixel_x = 5 + }, +/obj/item/clothing/gloves/gezena/engi{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/item/clothing/under/gezena{ + pixel_x = 9; + pixel_y = 2 + }, +/obj/item/clothing/shoes/combat/gezena{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/item/storage/backpack/industrial{ + pixel_x = 7 + }, +/obj/structure/table/reinforced, +/obj/item/geiger_counter, +/obj/item/radio/headset/pgf/alt, +/obj/item/clothing/head/gezena, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"Qb" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/machinery/computer/crew{ + dir = 4; + icon_state = "computer-right" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/office) +"Qg" = ( +/obj/machinery/door/airlock{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/ccommons) +"Qu" = ( +/obj/structure/curtain/cloth/grey, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/bed, +/obj/item/bedsheet/dorms, +/obj/item/storage/crayons{ + pixel_x = -2; + pixel_y = -5 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"QH" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"QK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/item/radio/intercom/directional/east, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 21; + pixel_y = 13 + }, +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"QR" = ( +/obj/machinery/computer/atmos_control/ship/bolide{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"QT" = ( +/obj/machinery/camera/autoname, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"QU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel, +/area/ship/medical) +"QW" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/orange, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/security{ + name = "Armory"; + req_one_access_txt = "1" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"QZ" = ( +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_bomb_suit"; + name = "Bomb Disposal Gear" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"Rg" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"Rk" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"Rm" = ( +/obj/structure/table/wood, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/item/paper_bin{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/folder/pgf/blue{ + pixel_y = 3; + pixel_x = -2 + }, +/obj/item/folder/pgf/red{ + pixel_x = -8; + pixel_y = -1 + }, +/obj/item/pen/fourcolor{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/folder/pgf/blue/bolide{ + pixel_x = 5; + pixel_y = -7 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/dorm/captain) +"Rt" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"Rv" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_bay_win_1" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/crew/office) +"Ry" = ( +/obj/machinery/door/airlock/engineering{ + req_one_access = list(1, 10); + name = "Engineering Storage" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage/port) +"Rz" = ( +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Bridge"; + req_one_access = list(20, 57, 58) + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"RB" = ( +/obj/structure/table/reinforced, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/techfloor/orange/corner{ + dir = 8 + }, +/obj/machinery/camera/autoname, +/obj/item/stack/sheet/metal/twenty{ + pixel_x = 5 + }, +/obj/item/stack/sheet/glass/twenty{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/weldingtool{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"RH" = ( +/obj/structure/crate_shelf, +/obj/structure/sign/poster/contraband/gec{ + pixel_y = 30 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"RJ" = ( +/obj/machinery/door/airlock/engineering{ + dir = 4; + req_one_access = list(1, 10); + name = "Engineering" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"RO" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/engineering) +"RQ" = ( +/obj/structure/railing/corner, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"RS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/sign/warning/securearea{ + pixel_x = 9; + pixel_y = -21 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"RT" = ( +/obj/structure/chair/office, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Se" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Sj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -11; + pixel_y = -20 + }, +/obj/effect/turf_decal/corner_steel_grid/full, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 10 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"Sr" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"Su" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/crate_shelf{ + capacity = 2 + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/spline/fancy/transparent/bottlegreen{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"SD" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_bay_win_2"; + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/crew/office) +"SE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"SH" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/rack, +/obj/item/clothing/suit/bomb_suit{ + pixel_x = -3; + pixel_y = -1 + }, +/obj/item/clothing/head/bomb_hood{ + pixel_y = 9; + pixel_x = -3 + }, +/obj/item/clothing/shoes/combat/gezena{ + pixel_y = -7; + pixel_x = 3 + }, +/obj/item/clothing/neck/cloak/gezena{ + pixel_x = -8; + pixel_y = -1 + }, +/obj/item/storage/toolbox/explosives{ + pixel_x = -1; + pixel_y = -8 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/clothing/gloves/gezena/engi, +/obj/item/radio/headset/pgf/alt, +/obj/item/gps, +/obj/machinery/light/small/directional/west, +/obj/item/clothing/under/gezena/marine{ + pixel_x = 8; + pixel_y = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"SO" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"SS" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/fire, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/engineering) +"SU" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/filingcabinet/double/grey, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"SY" = ( +/obj/structure/closet/crate/rations, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/ccommons) +"Tf" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_1" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/hallway/fore) +"Tn" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/storage/starboard) +"To" = ( +/obj/machinery/light_switch{ + pixel_x = -11; + pixel_y = 20 + }, +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"Ty" = ( +/obj/effect/turf_decal/floordetail/tiled, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/item/radio/intercom/wideband/directional/west, +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "grav couch" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"TA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"TB" = ( +/obj/effect/turf_decal/floordetail/tiled, +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "grav couch" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"TC" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"TG" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"TK" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_y = 10; + pixel_x = 20 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"TN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"TR" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/item/kirbyplants{ + icon_state = "plant-21" + }, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"TS" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"TV" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"TW" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"Uc" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -21; + pixel_y = -12 + }, +/obj/structure/closet/crate/bin{ + pixel_y = 4 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"Ud" = ( +/obj/effect/turf_decal/etherbor/left, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"Ug" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Uj" = ( +/obj/structure/curtain, +/obj/structure/toilet{ + dir = 4; + pixel_y = 6; + pixel_x = -6 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/crew/dorm) +"Ul" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_2" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/crew/dorm/captain) +"Up" = ( +/obj/structure/table/chem, +/obj/item/storage/firstaid/regular{ + pixel_x = 9; + pixel_y = 20 + }, +/obj/item/storage/firstaid/regular{ + pixel_x = 9; + pixel_y = 9 + }, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = -4; + pixel_y = 14 + }, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = -4; + pixel_y = 9 + }, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = -4; + pixel_y = -1 + }, +/obj/item/storage/firstaid/medical{ + pixel_x = 9; + pixel_y = -2 + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"Us" = ( +/obj/structure/sign/warning/explosives/alt{ + pixel_y = 2; + pixel_x = -32 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_x = -10; + pixel_y = -20; + name = "secure storage access"; + id = "bolide_bombs"; + req_access = list(3) + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = 5 + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"Ut" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"Uu" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/cargo) +"Uz" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hallway/fore) +"UF" = ( +/obj/machinery/air_sensor/ship/bolide/air, +/turf/open/floor/engine/air, +/area/ship/engineering) +"UK" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger{ + pixel_y = 7; + pixel_x = 2 + }, +/obj/item/desk_flag/gezena{ + pixel_x = -11; + pixel_y = 10 + }, +/obj/item/stock_parts/cell/high{ + pixel_y = -2; + pixel_x = -2 + }, +/obj/item/stock_parts/cell/high{ + pixel_x = 10; + pixel_y = 3 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"UR" = ( +/obj/structure/toilet/secret/bolide{ + dir = 4; + pixel_x = -6; + pixel_y = 6 + }, +/obj/structure/window/reinforced, +/obj/structure/curtain, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 4 + }, +/obj/effect/decal/cleanable/vomit/old, +/turf/open/floor/plasteel/mono, +/area/ship/crew/dorm) +"UT" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_bay_win_1" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/crew/office) +"Vd" = ( +/obj/structure/closet/wall/white/directional/south, +/obj/item/storage/ration/crayons, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/ccommons) +"Ve" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/steeldecal/steel_decals9, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Vg" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/machinery/computer/cryopod/directional/north, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/transparent/bottlegreen{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = -15; + pixel_y = 24 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/cryo) +"Vj" = ( +/obj/structure/closet/crate/freezer/surplus_limbs, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Vo" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"Vq" = ( +/obj/structure/bed/roller, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/hatch/blue, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor5" + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"Vy" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/storage/starboard) +"Vz" = ( +/obj/structure/rack, +/obj/item/reagent_containers/glass/bucket{ + name = "concrete bucket"; + desc = "It's a bucket... for concrete...."; + pixel_x = 8; + pixel_y = -7 + }, +/obj/item/reagent_containers/glass/bucket{ + name = "concrete bucket"; + desc = "It's a bucket... for concrete...."; + pixel_x = -10; + pixel_y = -6 + }, +/obj/item/reagent_containers/glass/bucket{ + name = "concrete bucket"; + desc = "It's a bucket... for concrete...."; + pixel_y = -7 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/techfloor/orange{ + dir = 9 + }, +/obj/item/storage/box/emptysandbags{ + pixel_y = 8; + pixel_x = -11 + }, +/obj/item/storage/box/emptysandbags{ + pixel_y = 8; + pixel_x = -4 + }, +/obj/item/storage/box/emptysandbags{ + pixel_y = 8; + pixel_x = 3 + }, +/obj/item/storage/box/emptysandbags{ + pixel_y = 8; + pixel_x = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/port) +"VC" = ( +/obj/structure/closet/secure_closet/wall/directional/east{ + icon_state = "cargo_wall" + }, +/obj/item/storage/backpack/satchel/eng, +/obj/item/clothing/suit/armor/gezena/engi{ + pixel_y = -4; + pixel_x = -3 + }, +/obj/item/clothing/neck/cloak/gezena/engi{ + pixel_y = 6; + pixel_x = -9 + }, +/obj/item/clothing/glasses/meson{ + pixel_y = 11 + }, +/obj/item/storage/belt/utility/full{ + pixel_y = -6; + pixel_x = -6 + }, +/obj/item/storage/backpack/duffelbag/engineering{ + pixel_y = -6; + pixel_x = 5 + }, +/obj/item/clothing/gloves/gezena/engi{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/item/clothing/under/gezena{ + pixel_x = 9; + pixel_y = 2 + }, +/obj/item/clothing/shoes/combat/gezena{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/item/storage/backpack/industrial{ + pixel_x = 7 + }, +/obj/structure/table/reinforced, +/obj/item/geiger_counter, +/obj/item/radio/headset/pgf/alt, +/obj/item/clothing/head/gezena, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"VF" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/bridge) +"VW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"VX" = ( +/obj/machinery/door/airlock/external, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage/starboard) +"VY" = ( +/obj/structure/window/plasma/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/ship/engineering) +"Wk" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_airlock"; + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/fore) +"Wp" = ( +/obj/machinery/atmospherics/components/binary/valve, +/obj/effect/turf_decal/industrial/shutoff, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Ws" = ( +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/engineering) +"Wy" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/spline/fancy/transparent/bottlegreen{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/obj/machinery/light_switch{ + pixel_x = 20; + pixel_y = 10; + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"WA" = ( +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"WN" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_bay_win_2"; + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/crew/office) +"WS" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_bridge"; + dir = 4 + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) +"WV" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/sign/warning/vacuum{ + pixel_x = 28; + pixel_y = -8 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east{ + pixel_y = 6 + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hallway/fore) +"WY" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/security) +"Xc" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"Xd" = ( +/obj/machinery/computer/security, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"Xi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"Xo" = ( +/obj/effect/turf_decal/trimline/opaque/green/filled, +/turf/open/floor/plasteel/mono/white, +/area/ship/security) +"Xr" = ( +/obj/structure/window/plasma/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"Xu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"Xx" = ( +/obj/machinery/door/airlock/command{ + req_access = list(3); + id_tag = "bol_priv3"; + name = "Marine Lieutenant's Quarters" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"XA" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 10 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light/directional/north, +/obj/machinery/firealarm/directional/east{ + pixel_y = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"XB" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"XJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 8 + }, +/area/ship/bridge) +"XU" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/hallway/fore) +"XY" = ( +/obj/structure/sign/departments/medbay/alt{ + pixel_y = 28 + }, +/obj/structure/chair, +/obj/machinery/light/small/directional/east, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/hallway/central) +"Yb" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Yg" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Yi" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"Yl" = ( +/obj/machinery/washing_machine, +/obj/item/toy/plush/rilena{ + pixel_y = 13 + }, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/dorm) +"Yq" = ( +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"Yt" = ( +/obj/machinery/photocopier, +/obj/machinery/airalarm/directional/south, +/obj/item/folder/pgf/empty_sheets{ + pixel_x = 3; + pixel_y = 1 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/office) +"Yv" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"YM" = ( +/obj/structure/sign/warning/securearea{ + pixel_x = 24; + pixel_y = -4 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/closet/secure_closet/medical3{ + name = "medic's locker"; + populate = 0 + }, +/obj/item/clothing/gloves/gezena{ + pixel_x = 3; + pixel_y = 11 + }, +/obj/item/clothing/head/gezena/medic{ + pixel_y = 4; + pixel_x = 7 + }, +/obj/item/clothing/neck/cloak/gezena/med{ + pixel_y = -4; + pixel_x = 1 + }, +/obj/item/clothing/head/gezena/flap/medic{ + pixel_y = 1; + pixel_x = 12 + }, +/obj/item/clothing/neck/stethoscope, +/obj/item/clothing/shoes/combat/gezena{ + pixel_x = 7; + pixel_y = -7 + }, +/obj/item/storage/backpack/satchel/med{ + pixel_x = 7; + pixel_y = -10 + }, +/obj/item/clothing/suit/armor/gezena{ + pixel_y = 9; + pixel_x = -9 + }, +/obj/item/clothing/under/gezena{ + pixel_x = -9; + pixel_y = -5 + }, +/obj/item/storage/belt/medical/gezena{ + pixel_x = -9; + pixel_y = 3 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"YN" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/green, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"YQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"YS" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"YT" = ( +/obj/structure/table/reinforced, +/obj/structure/closet/secure_closet/wall/directional/east{ + icon_state = "cargo_wall" + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 4; + pixel_y = 9 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = -3; + pixel_y = -1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"YV" = ( +/obj/machinery/airalarm/directional/south, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"YY" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"YZ" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/structure/table/reinforced, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/megaphone{ + pixel_y = -2; + pixel_x = 4 + }, +/obj/item/paper_bin{ + pixel_x = -8; + pixel_y = 9 + }, +/obj/item/pen/fourcolor{ + pixel_x = -9; + pixel_y = 10 + }, +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_y = 9; + pixel_x = 8 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/tadrixx{ + pixel_y = 20 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/office) +"Zc" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Zd" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/sign/warning/fire{ + pixel_y = 23; + pixel_x = 10 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/item/multitool{ + pixel_x = 2; + pixel_y = -9 + }, +/obj/machinery/button/door{ + pixel_y = 21; + pixel_x = -12; + id = "bolide_engine_1"; + name = "engine access" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Zf" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/stairs/old{ + dir = 4 + }, +/area/ship/crew/cryo) +"Zg" = ( +/obj/machinery/air_sensor/ship/bolide/fuel, +/obj/structure/sign/warning/fire{ + pixel_y = 22 + }, +/obj/effect/turf_decal/atmos/mix, +/turf/open/floor/engine/hydrogen_fuel, +/area/ship/engineering/engines/port) +"Zm" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/stand_clear, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Zp" = ( +/obj/structure/railing, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"Zt" = ( +/obj/structure/rack, +/obj/effect/turf_decal/corner/opaque/neutral/full, +/obj/item/gun/energy/kalix/pgf{ + pixel_y = 6 + }, +/obj/item/gun/energy/kalix/pgf{ + pixel_y = 12 + }, +/obj/item/gun/energy/kalix/pgf{ + pixel_y = 6 + }, +/obj/item/gps{ + pixel_y = -6; + pixel_x = 10 + }, +/obj/item/gps{ + pixel_y = -6 + }, +/obj/item/gps{ + pixel_y = -6; + pixel_x = -10 + }, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/vault, +/area/ship/security/armory) +"Zu" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/obj/structure/closet/secure_closet/engineering_welding, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"ZC" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/shutters{ + id = "bolide_win_bridge"; + dir = 4 + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) +"ZI" = ( +/obj/machinery/door/airlock{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"ZL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"ZS" = ( +/obj/structure/closet/crate/engineering/electrical, +/obj/item/storage/bag/construction, +/obj/item/storage/bag/construction, +/obj/item/storage/bag/construction, +/obj/item/storage/bag/construction, +/turf/open/floor/plasteel/tech, +/area/ship/storage/starboard) +"ZT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"ZY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/dresser, +/obj/item/toy/plush/flushed{ + pixel_x = 3; + pixel_y = 8 + }, +/obj/item/desk_flag/gezena{ + pixel_x = -10; + pixel_y = 7 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"ZZ" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) + +(1,1,1) = {" +oY +oY +oY +yR +gf +fG +gP +yR +oY +oY +oY +oY +oY +oY +oY +oY +oY +Bm +LG +uq +rB +Bm +oY +oY +oY +oY +oY +"} +(2,1,1) = {" +oY +oY +yR +yR +xe +xe +xe +yR +ym +ym +ym +oY +oY +oY +ym +ym +ym +Bm +pl +pl +pl +Bm +Bm +oY +oY +oY +oY +"} +(3,1,1) = {" +oY +yR +yR +yR +XA +fo +vp +yR +yR +qd +yR +qW +qW +qW +Nl +qd +Bm +Bm +gA +JG +nL +Bm +Bm +Bm +oY +oY +oY +"} +(4,1,1) = {" +oY +TG +yR +yR +yR +kQ +Yb +yR +yR +yR +yR +iO +iO +iO +Nl +Nl +Bm +Bm +uu +YV +Bm +Bm +Bm +Se +oY +oY +oY +"} +(5,1,1) = {" +oY +hd +yR +Ny +jI +Ao +ZT +dp +tL +dx +yR +Zd +Cu +IY +Ft +yu +Bm +KQ +yJ +ru +Bs +Et +Bm +Ea +oY +oY +oY +"} +(6,1,1) = {" +oY +ms +yR +Zg +jI +nz +mA +ux +Cv +cr +be +kT +EO +Ll +ly +SS +Ng +oK +BQ +rP +Xr +xE +Bm +bO +oY +oY +oY +"} +(7,1,1) = {" +oY +yR +yR +BA +eC +jJ +KG +GD +qX +yR +Nl +uD +Ws +JY +MS +Hv +Bm +Bm +Bm +Bm +Bm +Bm +Bm +xM +xM +oY +oY +"} +(8,1,1) = {" +oY +oY +yR +yR +yR +yR +yR +yR +yR +yR +Nb +Sr +xs +ur +vt +hj +VY +bx +MC +xM +As +Pc +Nv +xM +MU +oY +oY +"} +(9,1,1) = {" +oY +oY +fY +le +le +sw +vf +iq +sE +le +EM +Pb +uR +JY +iv +QR +rV +aq +UF +xM +RH +ZS +AJ +xM +Ea +oY +oY +"} +(10,1,1) = {" +oY +oY +hd +le +le +aw +aw +aw +aw +le +Nl +Cr +zi +JY +En +Wp +Im +bx +Fm +xM +uC +Rk +bR +xM +Se +oY +oY +"} +(11,1,1) = {" +oY +oY +TG +le +Ag +Px +Cg +dF +PI +Us +le +CZ +FJ +JY +id +ED +Nl +xM +xM +xM +wD +wD +xM +xM +xM +oY +oY +"} +(12,1,1) = {" +oY +oY +hd +le +dn +Rt +PB +PB +PB +Li +Ry +AS +AS +vm +iW +fr +Nl +GN +OT +Zp +vx +xC +xM +fp +xM +oY +oY +"} +(13,1,1) = {" +oY +oY +TG +le +RB +OA +KL +SO +Vz +Fg +le +tq +eE +ro +RO +ly +jn +kZ +HW +Vy +mo +iu +CV +Tn +VX +oY +oY +"} +(14,1,1) = {" +oY +oY +Uu +Uu +le +le +le +jN +le +le +le +UK +YT +du +wt +xG +Nl +Zu +TK +Js +QH +ul +xM +nT +xM +oY +oY +"} +(15,1,1) = {" +oY +Cn +Kt +Uu +ME +LN +Pr +Zc +JK +le +le +Nl +Nl +Nl +RJ +Nl +Nl +Ky +Ky +Ky +VC +Qa +xM +pI +pI +ym +eI +"} +(16,1,1) = {" +oY +BF +ql +Uu +Su +Vj +vo +gj +dE +rw +NG +RS +Uu +tB +yN +Ky +Ky +yq +nJ +Ky +Ky +Ky +Ky +ks +ob +NU +ym +"} +(17,1,1) = {" +oY +NQ +fg +Uu +yK +Ia +vo +zM +De +eq +tm +PD +kI +xw +ud +ks +Kp +qr +CE +ES +NK +EC +IK +ks +ka +Zm +ym +"} +(18,1,1) = {" +oY +FS +Uu +Uu +uE +LL +vo +zd +bT +bm +vl +pf +FP +TS +Ee +ks +rU +JZ +PS +SU +Ps +jA +jf +ks +II +Ea +ym +"} +(19,1,1) = {" +FS +In +xl +LY +oE +vJ +zc +xQ +EX +YY +QK +nS +Uu +Wy +YN +ks +Zt +sT +Hr +qq +MH +If +Az +ks +cZ +cZ +cZ +"} +(20,1,1) = {" +DO +zY +DO +zw +cn +ay +fO +rR +tv +dg +dg +dg +dg +dg +Qg +ks +ks +Kn +ks +zS +jF +kh +ks +ks +co +jm +cZ +"} +(21,1,1) = {" +mp +ch +FS +Gm +rn +ji +kc +ji +si +dg +mW +PC +PZ +Uc +GS +cZ +mJ +dk +CA +Dx +Np +CM +gE +Xx +pu +VW +cZ +"} +(22,1,1) = {" +IN +kS +IN +WA +XB +GT +Ko +gB +IV +dg +Lj +dg +dg +rZ +Fs +cZ +iS +rN +Yq +vc +ge +yZ +su +cZ +tr +cZ +cZ +"} +(23,1,1) = {" +FS +In +xl +Ot +eb +wP +wP +wP +Ve +dg +rc +Fr +SE +lq +eH +WY +Dy +lx +Xo +bl +Kv +AE +lu +cZ +cZ +cZ +MU +"} +(24,1,1) = {" +FS +FS +FS +jE +dt +kg +SD +WN +jE +jE +Bq +AH +th +aI +Kk +QW +Iu +xu +Ut +kM +Br +Gv +Xi +QZ +SH +cZ +Ea +"} +(25,1,1) = {" +oY +FS +jE +jE +jE +hP +YZ +Qb +mz +jE +Bv +Fa +Yv +Ud +Ds +WY +WY +cZ +Ho +yD +Xd +Xu +TN +QZ +hw +cZ +Se +"} +(26,1,1) = {" +oY +Cn +Mz +aO +ij +Dd +Xc +MJ +og +jE +eX +ar +bf +ha +za +Da +er +gC +gC +gC +gC +ER +wT +cZ +cZ +cZ +cZ +"} +(27,1,1) = {" +oY +BF +ql +Rv +FC +BJ +qH +we +up +KC +GM +xq +bf +uN +GG +SY +gg +gC +TV +EP +gC +gC +gC +gC +II +Ea +ym +"} +(28,1,1) = {" +oY +NQ +DP +UT +vS +jg +wk +wy +Yt +IH +jc +mZ +sy +nV +GG +in +Vd +gC +Zf +Dp +sb +hO +az +gC +ka +Zm +ym +"} +(29,1,1) = {" +oY +oY +jE +jE +jE +jE +po +ng +wx +jE +ce +sO +Bz +Yi +Lm +nM +gV +gC +Vg +HD +cH +yT +LA +gC +OB +YS +ym +"} +(30,1,1) = {" +oY +oY +ww +Vq +js +jE +jE +jE +jE +jE +dg +dg +nq +ZI +dg +dg +dg +gC +gC +gC +tI +gC +xA +xA +xA +ym +ym +"} +(31,1,1) = {" +oY +oY +ww +bH +KA +YQ +Ae +ft +oV +aT +jR +Fl +nC +TW +cT +Gi +Jd +TA +ne +iY +Sj +xA +UR +Uj +xA +oY +oY +"} +(32,1,1) = {" +oY +oY +ww +jB +mR +fU +jT +ww +XY +bL +KM +Rg +AI +Jv +aK +dq +xA +To +pG +qJ +Nq +rJ +iN +pM +xA +oY +oY +"} +(33,1,1) = {" +oY +oY +ww +OL +Up +Eu +QU +ww +oO +BC +oO +oO +Ey +hi +hk +fl +xA +oc +aD +sG +TR +xA +xA +xA +xA +oY +oY +"} +(34,1,1) = {" +oY +oY +ww +ww +nk +Ov +Iw +ww +JJ +ZZ +Yg +oO +dw +kG +Oz +AY +RQ +xX +lo +LR +qQ +Qu +xA +MU +ym +oY +oY +"} +(35,1,1) = {" +oY +oY +ym +ww +ww +Lw +CL +ww +aE +Gw +ol +oO +lg +it +Oz +jZ +mC +ZY +Ba +TC +qQ +yi +xA +Ea +ym +oY +oY +"} +(36,1,1) = {" +oY +oY +ym +Kh +ww +YM +Jx +ww +LS +BG +Je +oO +dw +kG +Oz +Yl +mC +qa +ZL +qe +PQ +Lu +xA +rb +ym +oY +oY +"} +(37,1,1) = {" +oY +oY +ym +ym +FR +FR +iz +fy +fy +fy +fy +fy +kU +Rz +VF +VF +xA +Jm +wC +xA +xA +xA +xA +ym +ym +oY +oY +"} +(38,1,1) = {" +oY +oY +oY +oY +FR +MP +Uz +gU +gI +zX +em +cc +oJ +yv +GP +VF +VF +VF +VF +VF +ym +oY +oY +oY +oY +oY +oY +"} +(39,1,1) = {" +oY +oY +oY +oY +yy +ps +AC +Ul +Rm +Eh +bh +fy +eZ +zs +XJ +VF +eM +KI +km +Se +ym +oY +oY +oY +oY +oY +oY +"} +(40,1,1) = {" +oY +oY +oY +oY +FB +XU +nb +iE +FO +HB +GY +fy +On +Gh +qm +Cp +RT +zj +te +Ea +ym +oY +oY +oY +oY +oY +oY +"} +(41,1,1) = {" +oY +oY +oY +oY +Tf +WV +IF +Eo +JS +IM +mF +fy +Hj +lj +fR +oj +Dt +LQ +LH +Se +ym +oY +oY +oY +oY +oY +oY +"} +(42,1,1) = {" +oY +oY +oY +oY +FR +FR +Wk +lf +lf +lf +lf +lf +Vo +Vo +Lt +mh +om +ih +oD +YS +ym +oY +oY +oY +oY +oY +oY +"} +(43,1,1) = {" +oY +oY +oY +oY +Ug +FR +FN +cM +CY +CY +CY +CY +Vo +Ty +Jh +TB +VF +ZC +VF +ym +ym +oY +oY +oY +oY +oY +oY +"} +(44,1,1) = {" +oY +oY +oY +oY +oY +FR +QT +Dk +HU +OU +HU +Dk +Vo +tU +uW +au +pB +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +"} +(45,1,1) = {" +oY +oY +oY +oY +oY +ym +oY +CY +HU +OU +HU +CY +Vo +EE +WS +Lh +fW +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +"} +(46,1,1) = {" +oY +oY +oY +oY +oY +ym +oY +CY +HU +OU +HU +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +"} +(47,1,1) = {" +oY +oY +oY +oY +oY +ym +oY +CY +HU +OU +HU +HU +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +"} +(48,1,1) = {" +oY +oY +oY +oY +oY +ym +HU +HU +HU +OU +HU +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +"} +(49,1,1) = {" +oY +oY +oY +oY +oY +oY +oY +oY +HU +OU +HU +HU +HU +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +"} +(50,1,1) = {" +oY +oY +oY +oY +oY +oY +oY +HU +HU +OU +HU +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +"} +(51,1,1) = {" +oY +oY +oY +oY +oY +oY +oY +oY +HU +OU +HU +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +oY +"} diff --git a/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm b/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm new file mode 100644 index 00000000000..0f4bc8b3870 --- /dev/null +++ b/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm @@ -0,0 +1,4730 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner, +/turf/open/floor/plasteel/mono/white, +/area/ship/bridge) +"ay" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/table/wood, +/obj/machinery/light/small/directional/east, +/obj/item/clothing/head/gezena/captain{ + pixel_y = 8; + pixel_x = -4 + }, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 22; + pixel_y = -9; + id = "cth_cap"; + name = "shutter control" + }, +/obj/item/binoculars, +/obj/item/desk_flag/gezena{ + pixel_y = -1; + pixel_x = 9 + }, +/obj/item/folder/pgf/blue{ + pixel_x = -14; + pixel_y = -4 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/bridge) +"aR" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/table/reinforced, +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 25 + }, +/obj/item/radio{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/item/radio{ + pixel_x = 10; + pixel_y = 7 + }, +/obj/item/radio{ + pixel_x = 1; + pixel_y = 7 + }, +/obj/item/radio{ + pixel_x = 1; + pixel_y = -2 + }, +/obj/item/radio{ + pixel_x = -7; + pixel_y = -2 + }, +/obj/item/radio{ + pixel_x = 10; + pixel_y = -2 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/cryo) +"bw" = ( +/obj/effect/turf_decal/atmos/air, +/turf/open/floor/engine/air, +/area/ship/engineering) +"bQ" = ( +/obj/structure/table, +/obj/machinery/light/directional/south, +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_y = 3; + pixel_x = 7 + }, +/obj/item/reagent_containers/food/snacks/friedegg{ + pixel_y = -1; + pixel_x = -5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"bS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/chair/sofa/grey/corpo/left/directional/west, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"ch" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/item/multitool{ + pixel_y = -2; + pixel_x = 6 + }, +/obj/structure/catwalk/over, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"ci" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"cj" = ( +/obj/machinery/holopad/secure, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo) +"ct" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/window/reinforced{ + dir = 10 + }, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "cth_engi"; + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering) +"cH" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/medical) +"cQ" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"cU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/on, +/turf/open/floor/engine/air, +/area/ship/engineering) +"da" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/window/reinforced{ + dir = 9 + }, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "cth_engi"; + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering) +"dc" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/window/reinforced/survival_pod/spawner{ + dir = 8 + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"dv" = ( +/obj/structure/closet/secure_closet/medical3{ + populate = 0 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled, +/obj/item/bodybag, +/obj/item/bodybag, +/obj/item/clothing/neck/cloak/gezena/med, +/obj/machinery/light/small/directional/south, +/obj/item/storage/backpack/satchel/med{ + pixel_x = 7; + pixel_y = -10 + }, +/obj/item/storage/backpack/duffelbag/med{ + pixel_x = -6; + pixel_y = -9 + }, +/obj/item/clothing/under/gezena{ + pixel_x = -9; + pixel_y = -5 + }, +/obj/item/clothing/suit/armor/gezena{ + pixel_y = 9; + pixel_x = -9 + }, +/obj/item/clothing/neck/stethoscope, +/obj/item/clothing/shoes/combat/gezena{ + pixel_x = 7; + pixel_y = -7 + }, +/obj/item/clothing/head/gezena/flap/medic{ + pixel_y = 1; + pixel_x = 12 + }, +/obj/item/clothing/gloves/gezena{ + pixel_x = 3; + pixel_y = 11 + }, +/obj/item/storage/belt/medical/gezena{ + pixel_x = -9; + pixel_y = 3 + }, +/obj/item/pinpointer/crew/prox, +/obj/item/flashlight/pen, +/obj/item/sensor_device, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"dE" = ( +/obj/structure/toilet{ + dir = 8; + pixel_y = 6; + pixel_x = 6 + }, +/obj/structure/mirror{ + pixel_y = 28; + pixel_x = -6 + }, +/obj/structure/sink{ + pixel_y = 16; + pixel_x = -6 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/newscaster/directional/south, +/obj/machinery/button/door{ + pixel_y = -19; + pixel_x = -11; + specialfunctions = 4; + name = "door bolt control"; + id = "cth_b1"; + normaldoorcontrol = 1; + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/dorm) +"dP" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/door/window/survival_pod, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"dV" = ( +/obj/machinery/computer/cargo{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 4 + }, +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"ea" = ( +/obj/effect/turf_decal/trimline/opaque/blue/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/warning, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"eE" = ( +/obj/structure/table, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = 12; + pixel_x = 10 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 11; + pixel_y = 6 + }, +/obj/effect/turf_decal/corner/opaque/green/bordercorner{ + dir = 1 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/ccommons) +"eL" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"eT" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/machinery/door/airlock{ + dir = 4; + name = "Head"; + id_tag = "cth_b2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/ccommons) +"fa" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 1 + }, +/area/ship/cargo) +"fn" = ( +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/light/small/directional/south, +/obj/structure/sign/warning/electricshock{ + pixel_x = 22; + pixel_y = 4 + }, +/obj/structure/sign/warning/fire{ + pixel_x = 22; + pixel_y = 16 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"fr" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/crate_shelf, +/obj/machinery/airalarm/directional/south, +/obj/machinery/button/door{ + dir = 4; + pixel_y = -3; + pixel_x = -22; + id = "cth_door"; + name = "door bolt control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 9; + pixel_x = -22; + id = "cth_dc"; + name = "shutter control" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/medical) +"fu" = ( +/obj/structure/bed{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/item/toy/plush/rilena{ + pixel_y = 1; + pixel_x = 5 + }, +/obj/structure/curtain/cloth/fancy, +/obj/item/bedsheet/blue{ + dir = 1 + }, +/obj/structure/sign/poster/rilena/ri{ + pixel_x = -28 + }, +/obj/structure/sign/flag/gezena{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"fF" = ( +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/radio/intercom/directional/west, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/corner_steel_grid/full, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"fJ" = ( +/obj/machinery/porta_turret/ship/pgf{ + dir = 9 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/security/armory) +"fP" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/grille, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"fW" = ( +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 5 + }, +/obj/item/kirbyplants{ + icon_state = "plant-16"; + pixel_y = 14; + pixel_x = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light_switch{ + dir = 8; + pixel_y = -12; + pixel_x = 20 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"gg" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"gm" = ( +/obj/structure/rack, +/obj/item/multitool{ + pixel_x = -9; + pixel_y = 3 + }, +/obj/item/binoculars{ + pixel_x = 4; + pixel_y = 8 + }, +/obj/item/camera{ + pixel_x = 4; + pixel_y = -5 + }, +/obj/item/gps{ + pixel_y = 3; + pixel_x = -4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"gu" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/light_switch{ + dir = 8; + pixel_y = -12; + pixel_x = 20 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/cryo) +"gG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/sign/flag/gezena{ + pixel_y = 32 + }, +/obj/item/kirbyplants{ + icon_state = "plant-19"; + pixel_y = 16; + pixel_x = 7; + name = "elzousa" + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"gZ" = ( +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "wcth_bay"; + dir = 8 + }, +/obj/machinery/door/poddoor{ + id = "cth_bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"hj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/chair/sofa/grey/corpo/corner/directional/south, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"ho" = ( +/obj/structure/rack, +/obj/item/stack/sheet/mineral/plasma/twenty{ + pixel_y = 1; + pixel_x = -6 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/firealarm/directional/east{ + pixel_y = 6 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_x = 22; + pixel_y = -5 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_y = -5; + pixel_x = 6 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"hp" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/corner/opaque/green/bordercorner{ + dir = 8 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_y = 31 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/ccommons) +"hz" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/green/half{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"hQ" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"hY" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"hZ" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 8 + }, +/obj/structure/noticeboard{ + pixel_y = 25 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"if" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"ih" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/door/airlock/security{ + dir = 4; + name = "Ships Locker" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security/armory) +"iv" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/medical) +"iE" = ( +/obj/effect/turf_decal/borderfloor/cee{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/mineral/titanium, +/area/ship/medical) +"iL" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/structure/closet/crate{ + name = "ration crate" + }, +/obj/item/storage/ration/beef_strips, +/obj/item/storage/ration/blackened_calamari, +/obj/item/storage/ration/assorted_salted_offal, +/obj/item/storage/ration/assorted_salted_offal, +/obj/item/storage/ration/shredded_beef, +/obj/item/storage/ration/shredded_beef, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"iW" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/crate_shelf, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"jg" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south{ + pixel_x = -4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"jh" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 6 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"jn" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/bridge) +"jo" = ( +/obj/effect/turf_decal/etherbor/left, +/obj/item/storage/cans/sixsoda, +/obj/item/storage/cans/sixsoda, +/obj/item/storage/cans/sixsoda, +/obj/item/storage/cans/sixsoda, +/obj/structure/closet/crate, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"jp" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/curtain/bounty, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 4 + }, +/obj/structure/sign/poster/official/no_erp{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/ccommons) +"jO" = ( +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/door/airlock{ + name = "Dorms" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm) +"ki" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"kn" = ( +/obj/structure/grille, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"ku" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/catwalk/over, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"ky" = ( +/obj/structure/rack, +/obj/item/clothing/suit/armor/gezena{ + pixel_y = 7; + pixel_x = 9 + }, +/obj/item/clothing/suit/armor/gezena{ + pixel_y = 7; + pixel_x = 1 + }, +/obj/item/clothing/suit/armor/gezena{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/machinery/light/directional/east, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/rockvault, +/area/ship/security/armory) +"kE" = ( +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"kH" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/external/dark) +"kI" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/structure/closet/crate/bin{ + pixel_x = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"kQ" = ( +/obj/structure/grille, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"lk" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/machinery/light/directional/north, +/obj/machinery/power/ship_gravity, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"lm" = ( +/obj/machinery/autolathe, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/small/directional/east, +/obj/item/stack/sheet/metal/ten{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/item/stack/sheet/glass/five{ + pixel_x = -4; + pixel_y = -2 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"lG" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"lI" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/south{ + pixel_x = -2 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"lP" = ( +/obj/machinery/turretid/ship{ + pixel_x = 26 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/button/door{ + pixel_y = 22; + pixel_x = -8; + id = "cth_bridge"; + name = "bridge shutter control" + }, +/obj/structure/platform/ship_two{ + dir = 5 + }, +/obj/machinery/computer/cargo{ + dir = 8; + layer = 3.1; + pixel_y = -2 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"lS" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"lT" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/corner/opaque/green/bordercorner{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/ccommons) +"lU" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"lX" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plating, +/area/ship/engineering) +"lZ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/computer/helm{ + dir = 8; + layer = 3.1; + pixel_y = 5 + }, +/obj/structure/platform/ship_two{ + dir = 6 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"ml" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/chair/sofa/grey/corpo/right/directional/west, +/obj/item/radio/intercom/directional/south, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"my" = ( +/obj/item/radio/intercom/directional/south, +/obj/structure/reagent_dispensers/water_cooler{ + pixel_x = -10; + density = 0 + }, +/obj/structure/chair{ + dir = 4; + pixel_x = 7 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"mG" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"mO" = ( +/obj/machinery/porta_turret/ship/pgf{ + dir = 10 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/ccommons) +"nm" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"nt" = ( +/obj/effect/turf_decal/trimline/opaque/green/filled/corner, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"nQ" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/line, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"nT" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"oe" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/crate_shelf{ + capacity = 2 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"ok" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"oy" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull, +/area/ship/engineering) +"oD" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/poddoor/shutters{ + id = "cth_bridge" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"oK" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/sink/chem{ + dir = 4; + pixel_y = 6; + pixel_x = -7 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/line, +/obj/structure/sign/departments/chemistry/pharmacy{ + pixel_y = 30; + pixel_x = -3 + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 8; + pixel_y = 11 + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 2; + pixel_y = 11 + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 2; + pixel_y = 5 + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 8; + pixel_y = 5 + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"oQ" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/item/clothing/head/gezena/medic{ + pixel_y = 6; + pixel_x = -8 + }, +/obj/item/reagent_containers/glass/filter{ + pixel_y = 2; + pixel_x = 2 + }, +/obj/item/reagent_containers/glass/filter{ + pixel_y = 2; + pixel_x = 11 + }, +/obj/machinery/light/small/directional/west, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"pl" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"pF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"pM" = ( +/obj/machinery/porta_turret/ship/pgf/heavy{ + dir = 4 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/external/dark) +"pX" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/machinery/door/airlock{ + dir = 4; + name = "Restroom"; + id_tag = "cth_b1" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm) +"qm" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 4; + pixel_y = 0; + pixel_x = 1 + }, +/obj/item/desk_flag/gezena{ + pixel_x = 8 + }, +/obj/structure/platform/ship_two{ + dir = 4 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"qn" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/machinery/door/airlock{ + dir = 4; + name = "Cryogenics" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"qA" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"rd" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/platform, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 4 + }, +/area/ship/engineering) +"rm" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"rA" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/obj/structure/railing/corner, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"rB" = ( +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/external/dark) +"sg" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/pgf, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"sm" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"su" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/crate_shelf, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"sT" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 1 + }, +/area/ship/engineering) +"sW" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/security/armory) +"tl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{ + dir = 5 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"tt" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/cargo) +"tw" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/closet/emcloset/wall/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"tJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"tR" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 4 + }, +/obj/item/kirbyplants{ + icon_state = "plant-02"; + pixel_x = 7; + pixel_y = -1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"tS" = ( +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/clothing/head/helmet/space/gezena, +/obj/item/clothing/suit/space/gezena, +/obj/item/storage/pill_bottle/stimulant, +/obj/machinery/light/small/directional/west, +/obj/machinery/advanced_airlock_controller{ + pixel_x = 25 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/medical) +"un" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/blackbox_recorder, +/obj/machinery/door/window/survival_pod{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/window/reinforced/survival_pod/spawner, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"us" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/line, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"uw" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"uD" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 4; + pixel_x = -2 + }, +/obj/item/pen{ + pixel_y = 5; + pixel_x = -2 + }, +/obj/item/flashlight/lamp{ + pixel_x = 9; + pixel_y = -2 + }, +/obj/item/clipboard{ + pixel_x = -11; + pixel_y = -4 + }, +/obj/item/folder/pgf/empty_sheets{ + pixel_x = -3; + pixel_y = -6 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"uK" = ( +/obj/structure/railing, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"uO" = ( +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/green, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/noticeboard{ + pixel_y = 25 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"vl" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/crate_shelf, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"vp" = ( +/obj/machinery/porta_turret/ship/pgf{ + dir = 5 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/medical) +"vq" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"vy" = ( +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"vD" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"vM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/button/door{ + pixel_y = 22; + pixel_x = 9; + specialfunctions = 4; + name = "door bolt control"; + id = "cth_cappie"; + normaldoorcontrol = 1 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/bridge) +"vR" = ( +/obj/structure/toilet{ + dir = 4; + pixel_y = 5; + pixel_x = -5 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/ccommons) +"wf" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"ws" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"wB" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/light_switch{ + pixel_y = 23; + pixel_x = -12 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"wC" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/door/airlock/mining{ + dir = 4; + name = "Cargo Bay" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"wE" = ( +/obj/structure/window/reinforced/survival_pod/spawner{ + dir = 8 + }, +/obj/effect/spawner/bunk_bed, +/obj/machinery/light/directional/north, +/obj/item/toy/plush/moth/lovers{ + pixel_y = 13 + }, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"wT" = ( +/obj/structure/table/wood, +/obj/item/lighter{ + pixel_y = 4; + pixel_x = -5 + }, +/obj/item/storage/fancy/cigarettes/cigpack_robust{ + pixel_x = 6; + pixel_y = 1 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"wY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/chair/comfy/grey/old/directional/south, +/turf/open/floor/plasteel/sepia, +/area/ship/bridge) +"xe" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 5 + }, +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_y = 7; + pixel_x = 4 + }, +/obj/item/stock_parts/cell/gun/kalix{ + pixel_x = -9; + pixel_y = -1 + }, +/obj/item/stock_parts/cell/gun/kalix{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/item/stock_parts/cell/gun/kalix{ + pixel_x = -9; + pixel_y = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"xf" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"xl" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 26 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"xp" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/window/reinforced{ + dir = 10 + }, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/machinery/door/poddoor/shutters{ + id = "cth_engi"; + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering) +"xK" = ( +/obj/item/clothing/neck/cloak/gezena/engi, +/obj/structure/closet/secure_closet/engineering_personal{ + populate = 0 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/light/small/directional/east, +/obj/item/clothing/glasses/meson{ + pixel_x = -1; + pixel_y = -8 + }, +/obj/item/storage/backpack/duffelbag/engineering{ + pixel_y = -5 + }, +/obj/item/storage/belt/utility/full, +/obj/item/storage/backpack/satchel/eng{ + pixel_y = 10 + }, +/obj/item/clothing/gloves/gezena/engi, +/obj/item/clothing/under/gezena{ + pixel_x = 9; + pixel_y = -3 + }, +/obj/item/clothing/suit/armor/gezena/engi{ + pixel_y = 11; + pixel_x = 9 + }, +/obj/item/clothing/shoes/combat/gezena{ + pixel_x = -8; + pixel_y = -7 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/item/clothing/glasses/welding, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"xS" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/machinery/vending/coffee, +/obj/machinery/light/small/directional/east, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -22; + pixel_x = -9; + id = "cth_in"; + name = "shutter control" + }, +/obj/effect/turf_decal/corner/opaque/green/half{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"yd" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"yh" = ( +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/clothing/suit/space/gezena, +/obj/item/clothing/head/helmet/space/gezena, +/obj/item/tank/jetpack/oxygen/harness, +/obj/machinery/light/directional/east, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/rockvault, +/area/ship/security/armory) +"yp" = ( +/obj/machinery/cryopod, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"yw" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"yx" = ( +/obj/machinery/defibrillator_mount{ + pixel_x = -25 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/structure/closet/wall/white/directional/south, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"yz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/chair/sofa/grey/corpo/corner/directional/east, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"yB" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"yY" = ( +/obj/effect/turf_decal/etherbor/center, +/obj/structure/closet/crate/internals, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"zz" = ( +/obj/structure/table, +/obj/machinery/light/small/directional/west, +/obj/item/radio/intercom/directional/south, +/obj/structure/bedsheetbin{ + pixel_y = 2; + pixel_x = -1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"zC" = ( +/obj/effect/turf_decal/borderfloor/cee{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/mineral/titanium, +/area/ship/medical) +"zI" = ( +/obj/effect/turf_decal/borderfloor/cee{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/mineral/titanium, +/area/ship/medical) +"zJ" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "cth_bridge" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"zL" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/closet/emcloset/wall/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"zM" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/sign/departments/engineering{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"Aj" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 10 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"Al" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 4 + }, +/area/ship/crew/cryo) +"Ap" = ( +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 6 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/bridge) +"Ar" = ( +/obj/structure/sign/flag/gezena{ + pixel_y = 32 + }, +/obj/item/kirbyplants{ + icon_state = "plant-04"; + pixel_y = 17; + pixel_x = 8 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"Ax" = ( +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/item/radio/intercom/directional/east, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -22 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/medical) +"Bb" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/window/reinforced{ + dir = 9 + }, +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/machinery/door/poddoor/shutters{ + id = "cth_engi"; + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering) +"Bz" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering) +"Ck" = ( +/obj/structure/railing, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"Cm" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Captain's Quarters"; + id_tag = "cth_cappie"; + req_access_txt = "20" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"Cy" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"CY" = ( +/obj/structure/guncloset, +/obj/item/gun/energy/kalix/pistol, +/obj/item/gun/energy/kalix/pistol, +/obj/item/gun/energy/kalix/pistol, +/turf/open/floor/plasteel/rockvault, +/area/ship/security/armory) +"Dt" = ( +/obj/effect/turf_decal/arrows, +/obj/structure/sign/warning{ + pixel_y = 24; + pixel_x = -23 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Dz" = ( +/obj/effect/turf_decal/trimline/opaque/green/filled/line, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"DG" = ( +/obj/structure/closet/secure_closet/armory1{ + name = "gear locker"; + populate = 0 + }, +/obj/item/binoculars, +/obj/item/binoculars, +/obj/item/taperecorder, +/obj/item/taperecorder, +/obj/item/storage/toolbox/mechanical{ + pixel_y = -9; + pixel_x = -4 + }, +/obj/item/storage/toolbox/electrical{ + pixel_y = -8; + pixel_x = 5 + }, +/obj/item/camera{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/item/camera{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/item/storage/box/flares{ + pixel_y = 6; + pixel_x = -7 + }, +/obj/item/storage/box/flares{ + pixel_y = 6; + pixel_x = -7 + }, +/obj/item/storage/box/flares{ + pixel_y = 6; + pixel_x = -7 + }, +/obj/item/gps, +/obj/item/gps, +/obj/item/gps, +/obj/item/crowbar/large, +/obj/item/crowbar/large, +/obj/item/clipboard{ + pixel_x = -11; + pixel_y = -4 + }, +/obj/item/clipboard{ + pixel_x = -11; + pixel_y = -4 + }, +/turf/open/floor/plasteel/rockvault, +/area/ship/security/armory) +"DJ" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"DN" = ( +/obj/structure/mirror{ + pixel_y = 28 + }, +/obj/structure/sink{ + pixel_y = 14 + }, +/obj/machinery/button/door{ + pixel_y = 23; + pixel_x = 12; + specialfunctions = 4; + name = "door bolt control"; + id = "cth_b2"; + normaldoorcontrol = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/ccommons) +"DO" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/line, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"DW" = ( +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/door/poddoor{ + id = "cth_bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Eb" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/light_switch{ + dir = 4; + pixel_y = -12; + pixel_x = -20 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"Ev" = ( +/obj/effect/turf_decal/industrial/stand_clear, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"EC" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/cryo) +"Fm" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/chem_press{ + pixel_y = 5; + pixel_x = 1 + }, +/obj/item/reagent_containers/glass/bottle/formaldehyde{ + pixel_x = 10; + pixel_y = -1 + }, +/obj/item/storage/pill_bottle/charcoal{ + pixel_x = -12; + pixel_y = 12 + }, +/obj/item/storage/pill_bottle/charcoal{ + pixel_x = -12; + pixel_y = 6 + }, +/obj/machinery/light/small/directional/east, +/obj/item/reagent_scanner{ + pixel_x = -4; + pixel_y = -5 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"Fn" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 4 + }, +/obj/structure/grille, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Ga" = ( +/obj/structure/rack, +/obj/machinery/light/small/directional/west, +/obj/item/storage/belt/sabre/pgf, +/obj/item/storage/belt/sabre/pgf{ + pixel_x = -10; + pixel_y = -2 + }, +/obj/item/storage/belt/sabre/pgf{ + pixel_y = 8; + pixel_x = 5 + }, +/turf/open/floor/plasteel/rockvault, +/area/ship/security/armory) +"Gg" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"GC" = ( +/obj/effect/turf_decal/etherbor/right, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"GM" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"GN" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/central) +"GX" = ( +/obj/effect/turf_decal/arrows, +/obj/structure/sign/warning{ + pixel_y = 24; + pixel_x = 23 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Hu" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/closet/cabinet, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/clothing/suit/toggle/gezena, +/obj/item/clothing/suit/toggle/gezena, +/obj/item/clothing/neck/cloak/gezena, +/obj/item/clothing/neck/cloak/gezena, +/obj/item/clothing/under/gezena, +/obj/item/clothing/under/gezena, +/obj/item/clothing/gloves/gezena, +/obj/item/clothing/gloves/gezena, +/obj/item/clothing/head/gezena, +/obj/item/clothing/head/gezena, +/obj/item/clothing/shoes/combat/gezena, +/obj/item/clothing/shoes/combat/gezena, +/obj/structure/window/reinforced/survival_pod/spawner, +/obj/structure/window/reinforced/survival_pod/spawner{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only, +/obj/item/radio/headset/pgf, +/obj/item/radio/headset/pgf, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"HA" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"HC" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/trimline/opaque/blue/filled, +/obj/item/storage/case/surgery{ + pixel_x = 1; + pixel_y = 3 + }, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_y = 9; + pixel_x = 5 + }, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/roller{ + pixel_y = 3; + pixel_x = -3 + }, +/obj/item/reagent_containers/hypospray/medipen/morphine{ + pixel_x = 10; + pixel_y = -1 + }, +/obj/item/reagent_containers/hypospray/medipen/morphine{ + pixel_x = 10; + pixel_y = -5 + }, +/obj/machinery/button/door{ + pixel_x = 22; + pixel_y = 9; + dir = 8; + id = "cth_airlock"; + name = "airlock access" + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"HD" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/central) +"HH" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"HM" = ( +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"HW" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/crate_shelf, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"Ig" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull, +/area/ship/engineering) +"Is" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"IA" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "cth_bridge"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"IJ" = ( +/obj/structure/window/reinforced/survival_pod/spawner{ + dir = 8 + }, +/obj/effect/spawner/bunk_bed, +/obj/machinery/light/directional/north, +/obj/structure/curtain/cloth/grey, +/obj/item/toy/plush/carpplushie{ + pixel_y = -6 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"Jb" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/door/airlock/medical{ + dir = 4; + name = "Medical Office"; + id_tag = "cth_door" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm) +"Jg" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/poddoor/shutters{ + id = "cth_bridge"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Js" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_y = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"JD" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/light/small/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"JE" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 27 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"JL" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/door/airlock/mining{ + dir = 4; + name = "Cargo Bay" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"JM" = ( +/obj/structure/table, +/obj/item/cutting_board{ + pixel_y = 4; + pixel_x = -6 + }, +/obj/item/melee/knife/kitchen{ + pixel_y = 4; + pixel_x = -7 + }, +/obj/machinery/light/directional/north{ + pixel_y = 35 + }, +/obj/item/reagent_containers/condiment/hotsauce{ + pixel_x = 11; + pixel_y = 10 + }, +/obj/effect/turf_decal/corner/opaque/green/border, +/obj/structure/sink{ + pixel_y = 20; + layer = 2.30 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/ccommons) +"JT" = ( +/obj/machinery/washing_machine, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"JX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/structure/table/wood, +/obj/item/clothing/mask/whistle/trench, +/obj/item/paper/fluff/ship/cthonian/one{ + pixel_y = 4; + pixel_x = 6 + }, +/obj/item/reagent_containers/food/drinks/bottle/champagne{ + pixel_y = 6; + pixel_x = -7 + }, +/obj/item/pen/fountain/captain{ + pixel_x = 2; + pixel_y = -1 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/bridge) +"Ki" = ( +/obj/machinery/atmospherics/components/binary/pump/on/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1{ + dir = 9 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Kp" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east, +/obj/structure/closet/crate/engineering, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/mining_scanner, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Kz" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/corner, +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 9 + }, +/obj/structure/table/reinforced, +/obj/machinery/cell_charger{ + pixel_y = 5; + pixel_x = -1 + }, +/obj/item/screwdriver{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/item/screwdriver{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/screwdriver{ + pixel_x = 9; + pixel_y = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"KF" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"KI" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/table{ + pixel_y = -4; + pixel_x = 8; + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_x = -9; + pixel_y = -3; + id = "cth_bay"; + name = "bay shutters" + }, +/obj/machinery/button/shieldwallgen{ + dir = 8; + pixel_y = 9; + pixel_x = 2; + id = "wcth_bay" + }, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"KK" = ( +/obj/machinery/porta_turret/ship/pgf{ + dir = 6 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/hallway/central) +"Lc" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/light_switch{ + dir = 4; + pixel_y = 12; + pixel_x = -19 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"Li" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/green/half{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"Ls" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/light_switch{ + pixel_y = 23; + pixel_x = 12 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"LF" = ( +/obj/effect/turf_decal/arrows, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Ml" = ( +/obj/structure/filingcabinet/chestdrawer{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/line, +/obj/item/paper/fluff/ship/cthonian, +/obj/item/paper/fluff/ship/cthonian, +/obj/item/paper/fluff/ship/cthonian, +/obj/item/paper/fluff/ship/cthonian, +/obj/item/paper/fluff/ship/cthonian, +/obj/item/paper/fluff/ship/cthonian, +/obj/item/taperecorder, +/obj/item/tape/random, +/obj/item/tape/random, +/obj/item/clipboard{ + pixel_x = -11; + pixel_y = -4 + }, +/obj/item/clipboard{ + pixel_x = -11; + pixel_y = -4 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"Mq" = ( +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/machinery/door/poddoor{ + id = "cth_bay" + }, +/obj/docking_port/mobile{ + name = "cthonian dock"; + port_direction = 4; + preferred_direction = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Mv" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen, +/obj/structure/closet/crate/bin{ + pixel_x = -5 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"MY" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Nh" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/closet/crate/medical, +/obj/item/storage/firstaid/radiation, +/obj/item/reagent_containers/hypospray/medipen/anti_rad, +/obj/item/reagent_containers/hypospray/medipen/anti_rad, +/obj/item/reagent_containers/hypospray/medipen/anti_rad, +/obj/item/reagent_containers/hypospray/medipen/anti_rad, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"No" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/item/storage/backpack/satchel/flat/cthonian, +/obj/structure/platform/corner, +/obj/structure/platform/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Np" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"NF" = ( +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"NJ" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 5 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"NV" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"Ob" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 1 + }, +/obj/item/folder/blue{ + pixel_y = 4; + pixel_x = -7 + }, +/obj/item/paper_bin{ + pixel_y = 4; + pixel_x = 6 + }, +/obj/item/pen/fourcolor{ + pixel_y = 6; + pixel_x = 5 + }, +/obj/item/folder/pgf{ + pixel_y = -2; + pixel_x = -6 + }, +/obj/structure/railing, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"Of" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/button/door{ + pixel_y = 20; + pixel_x = -9; + id = "cth_in"; + name = "shutter control" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"OB" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/machinery/light/directional/south, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Qd" = ( +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/light/directional/north, +/obj/machinery/light_switch{ + dir = 4; + pixel_y = -12; + pixel_x = -20 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo) +"QI" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"QP" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "cth_in" + }, +/turf/open/floor/plating, +/area/ship/cargo) +"QT" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/modular_computer/console/preset/command{ + dir = 1 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Rm" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/door/window/survival_pod, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"Rn" = ( +/obj/effect/turf_decal/trimline/opaque/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"RH" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 1 + }, +/area/ship/cargo) +"RV" = ( +/obj/docking_port/stationary{ + height = 15; + width = 15; + name = "cthonian exterior dock"; + dwidth = 7; + dir = 2 + }, +/turf/template_noop, +/area/template_noop) +"Sp" = ( +/obj/structure/closet/secure_closet/freezer/fridge{ + populate = 0 + }, +/obj/item/reagent_containers/condiment/mayonnaise, +/obj/item/reagent_containers/condiment/mayonnaise, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = 4; + pixel_x = 3 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = 4; + pixel_x = 3 + }, +/obj/item/reagent_containers/condiment/bbqsauce{ + pixel_x = 6; + pixel_y = -5 + }, +/obj/item/reagent_containers/condiment/ketchup{ + pixel_y = 8; + pixel_x = 7 + }, +/obj/effect/turf_decal/corner/opaque/green/bordercorner, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/ccommons) +"SG" = ( +/obj/effect/turf_decal/corner/opaque/green/border{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/ccommons) +"Td" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "cth_dc" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/crew/dorm) +"Tm" = ( +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/clothing/suit/space/gezena, +/obj/item/clothing/head/helmet/space/gezena, +/obj/item/tank/jetpack/oxygen/harness, +/obj/machinery/light/small/directional/west, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/rockvault, +/area/ship/security/armory) +"TH" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "cth_cap" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"TP" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/chair/handrail, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"TS" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "cth_bridge"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"TW" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"Ua" = ( +/turf/template_noop, +/area/template_noop) +"UE" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/line, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/item/storage/box/syringes{ + pixel_x = 11; + pixel_y = 2 + }, +/obj/item/reagent_containers/glass/bottle/mannitol{ + pixel_y = 2; + pixel_x = -3 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -12 + }, +/obj/machinery/reagentgrinder{ + pixel_y = 17; + pixel_x = 2 + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"UM" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/item/clothing/suit/armor/gezena/captain, +/obj/item/clothing/neck/cloak/gezena/captain, +/obj/item/clothing/gloves/gezena/captain, +/obj/item/clothing/shoes/combat/gezena{ + pixel_y = -8; + pixel_x = 5 + }, +/obj/machinery/light/small/directional/west, +/obj/item/storage/backpack/satchel/cap{ + pixel_y = -11; + pixel_x = -8 + }, +/obj/item/storage/backpack/duffelbag/captain{ + pixel_x = 6; + pixel_y = -5 + }, +/obj/item/screwdriver, +/obj/item/radio/headset/pgf/alt/captain, +/obj/item/storage/lockbox/medal, +/obj/item/radio/headset/pgf/captain, +/obj/item/storage/belt/sabre, +/obj/structure/closet/secure_closet/captains{ + populate = 0 + }, +/obj/item/storage/guncase/pistol/kalixpistol, +/obj/item/megaphone/command, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"US" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Bridge"; + req_access_txt = "19" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"Ve" = ( +/obj/effect/turf_decal/borderfloor/cee{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/mineral/titanium, +/area/ship/medical) +"Vs" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/chair/sofa/grey/corpo/directional/south, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"Vv" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"VL" = ( +/obj/effect/turf_decal/corner_steel_grid/full, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 4 + }, +/obj/structure/closet/crate/bin{ + pixel_x = -7; + pixel_y = 3 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"VM" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering) +"Wh" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_y = 12; + pixel_x = 10 + }, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_y = 1; + pixel_x = -7 + }, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_y = 12; + pixel_x = -4 + }, +/obj/item/radio/old{ + pixel_x = 6 + }, +/obj/item/desk_flag/gezena{ + pixel_y = -3; + pixel_x = 18 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"Wk" = ( +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Wv" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm) +"WG" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 4 + }, +/obj/item/radio/intercom/directional/east, +/obj/machinery/vending/cola/starkist, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"WO" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/closet/cabinet, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/clothing/suit/toggle/gezena, +/obj/item/clothing/suit/toggle/gezena, +/obj/item/clothing/neck/cloak/gezena, +/obj/item/clothing/neck/cloak/gezena, +/obj/item/clothing/under/gezena, +/obj/item/clothing/under/gezena, +/obj/item/clothing/gloves/gezena, +/obj/item/clothing/gloves/gezena, +/obj/item/clothing/head/gezena/flap, +/obj/item/clothing/head/gezena/flap, +/obj/item/clothing/shoes/combat/gezena, +/obj/item/clothing/shoes/combat/gezena, +/obj/structure/window/reinforced/survival_pod/spawner, +/obj/structure/window/reinforced/survival_pod/spawner{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only, +/obj/item/radio/headset/pgf, +/obj/item/radio/headset/pgf, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/dorm) +"Xd" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen, +/obj/structure/closet/wall/white/directional/south{ + name = "janitorial closet" + }, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/storage/bag/trash, +/obj/item/pushbroom, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"Xk" = ( +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/structure/chair/comfy/shuttle, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Xv" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + dir = 4; + name = "Cannon Access" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "cth_airlock" + }, +/obj/effect/mapping_helpers/airlock/sealed, +/turf/open/floor/plasteel/tech/grid, +/area/ship/medical) +"Xy" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor, +/obj/structure/railing{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south{ + pixel_x = -4 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"XJ" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/green/half{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) +"Ye" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/structure/closet/crate/engineering, +/obj/item/gear_pack/anglegrinder, +/obj/item/gps/engineering, +/obj/item/circuitboard/machine/cell_charger, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 11 + }, +/obj/item/radio/headset/alt, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Yl" = ( +/obj/effect/turf_decal/trimline/opaque/blue/filled/line, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/item/reagent_containers/glass/bucket{ + pixel_y = 12; + pixel_x = -12; + name = "chemical bucket"; + desc = "A tried and tested idea that has never gone wrong" + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"Yn" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 8 + }, +/area/ship/bridge) +"Yz" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/telecomms/relay/preset/pgf{ + pixel_y = 4 + }, +/obj/structure/window/reinforced/survival_pod/spawner, +/obj/machinery/door/window/survival_pod{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"YK" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/light/small/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"YR" = ( +/obj/effect/turf_decal/trimline/opaque/green/filled/line{ + dir = 8 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"YS" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/ccommons) +"YZ" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/window/reinforced/survival_pod/spawner{ + dir = 8 + }, +/obj/structure/dresser{ + dir = 4 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 8 + }, +/obj/item/desk_flag/gezena{ + pixel_y = 9; + pixel_x = -4 + }, +/obj/machinery/light/directional/north, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"Za" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + dir = 4; + name = "Cannon Access" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "cth_airlock" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/medical) +"Zj" = ( +/obj/machinery/light/directional/east, +/obj/structure/bed/roller, +/obj/structure/extinguisher_cabinet/directional/south{ + pixel_x = -2 + }, +/turf/open/floor/mineral/titanium/tiled, +/area/ship/medical) +"Zo" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"ZI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/medical) +"ZN" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/techfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/button/door{ + pixel_y = 22; + pixel_x = -1; + id = "cth_engi"; + name = "shutter control" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"ZR" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals6{ + dir = 5 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/dorm) +"ZT" = ( +/obj/effect/turf_decal/techfloor/orange, +/obj/effect/turf_decal/techfloor/orange{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "wcth_bay"; + dir = 4 + }, +/obj/machinery/door/poddoor{ + id = "cth_bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"ZZ" = ( +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/bottlegreen{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/light_switch{ + pixel_y = 23; + pixel_x = -12 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/ccommons) + +(1,1,1) = {" +Ua +Ua +Ua +Ua +Ua +Ua +kn +Ua +kn +Ua +Ua +Ua +Ua +Ua +Ua +"} +(2,1,1) = {" +Ua +Ua +Ua +Ua +Ua +Ua +kn +Ua +kn +Ua +Ua +Ua +Ua +Ua +Ua +"} +(3,1,1) = {" +Ua +Ua +Ua +rB +Ua +Ua +Fn +kE +Fn +Ua +Ua +rB +Ua +Ua +Ua +"} +(4,1,1) = {" +Ua +Ua +Ua +rB +Ua +Ua +oy +Np +oy +Ua +Ua +rB +Ua +Ua +Ua +"} +(5,1,1) = {" +Ua +Ua +Ua +rB +Np +Ig +da +Np +ct +Ig +Np +rB +Ua +Ua +Ua +"} +(6,1,1) = {" +Ua +Ua +Ua +Ua +Np +Bb +jg +Np +ZN +xp +Np +Ua +Ua +Ua +Ua +"} +(7,1,1) = {" +Ua +Ua +Bz +Np +Np +lk +ch +No +ku +OB +Np +Np +Bz +Ua +Ua +"} +(8,1,1) = {" +Ua +Ua +Bz +bw +lX +tl +vD +rd +MY +VM +oe +yw +Bz +Ua +Ua +"} +(9,1,1) = {" +Ua +Ua +Bz +cU +lX +Ki +sm +yd +Cy +yB +sT +nT +Bz +Ua +Ua +"} +(10,1,1) = {" +Ua +sW +sW +sW +sW +sW +xK +HA +Ye +lm +ho +fn +Bz +Ua +Ua +"} +(11,1,1) = {" +Ua +sW +Tm +Lc +Ga +sW +sW +nm +Bz +Bz +Bz +Bz +Bz +Bz +Ua +"} +(12,1,1) = {" +Ua +sW +Kz +wf +Aj +DG +sW +zM +Mv +HD +yp +Al +Xy +EC +Ua +"} +(13,1,1) = {" +Ua +sW +xe +qA +ci +CY +sW +TP +Xd +GN +gu +pl +aR +EC +Ua +"} +(14,1,1) = {" +Ua +sW +yh +rm +ky +sW +sW +HH +zL +GN +EC +qn +EC +EC +Ua +"} +(15,1,1) = {" +fJ +sW +sW +ih +sW +sW +hZ +Vv +DJ +TW +Eb +NJ +GN +GN +Ua +"} +(16,1,1) = {" +Wv +IJ +WO +KF +Zo +jO +xl +GM +eL +lU +tR +WG +GN +KK +Ua +"} +(17,1,1) = {" +Wv +Ar +Rm +pF +kI +Wv +tt +tt +wC +tt +tt +tt +tt +Ua +Ua +"} +(18,1,1) = {" +Wv +wE +Hu +jh +yz +ml +tt +Qd +uK +iW +Nh +vl +tt +Ua +Ua +"} +(19,1,1) = {" +Wv +gG +dP +ZR +Vs +Wh +QP +ok +hY +RH +Is +gg +ZT +Dt +Ua +"} +(20,1,1) = {" +Wv +YZ +dc +ws +Vs +wT +QP +cQ +DO +dV +jo +mG +DW +Ev +Ua +"} +(21,1,1) = {" +Wv +vy +Js +xf +hj +bS +QP +nQ +cj +Ob +yY +mG +Mq +LF +RV +"} +(22,1,1) = {" +Wv +pX +Wv +Ls +Li +xS +tt +Of +Ml +KI +GC +mG +DW +Ev +Ua +"} +(23,1,1) = {" +Wv +dE +Wv +Td +Jb +Wv +tt +Gg +rA +fa +uw +iL +gZ +GX +Ua +"} +(24,1,1) = {" +vp +iv +iv +oK +zI +fr +tt +fW +Ck +HW +Kp +su +tt +Ua +Ua +"} +(25,1,1) = {" +Ua +iv +oQ +Yl +iE +dv +tt +tt +JL +tt +tt +tt +tt +Ua +Ua +"} +(26,1,1) = {" +Ua +iv +Fm +us +zC +ea +yx +YS +NV +my +YS +vR +YS +mO +Ua +"} +(27,1,1) = {" +Ua +iv +cH +UE +Ve +HC +Zj +YS +lG +bQ +YS +DN +jp +YS +Ua +"} +(28,1,1) = {" +Ua +iv +cH +cH +Xv +cH +cH +YS +JE +lI +YS +eT +YS +YS +Ua +"} +(29,1,1) = {" +Ua +Ua +cH +tS +ZI +Ax +cH +YS +uO +XJ +VL +QI +zz +YS +Ua +"} +(30,1,1) = {" +Ua +Ua +cH +cH +Za +cH +cH +YS +ZZ +hz +NF +lS +JT +YS +Ua +"} +(31,1,1) = {" +Ua +Ua +cH +YK +if +JD +cH +YS +Sp +lT +vq +jn +jn +jn +jn +"} +(32,1,1) = {" +Ua +Ua +cH +fP +kH +fP +cH +YS +JM +SG +hQ +jn +fu +UM +TH +"} +(33,1,1) = {" +Ua +Ua +cH +ki +kH +ki +cH +YS +hp +eE +tw +jn +wY +JX +TH +"} +(34,1,1) = {" +Ua +Ua +kQ +Ua +kH +ki +cH +jn +jn +jn +US +jn +vM +ay +TH +"} +(35,1,1) = {" +Ua +Ua +kQ +Ua +kH +Ua +kQ +jn +un +Yz +Yn +jn +Cm +jn +Ap +"} +(36,1,1) = {" +Ua +Ua +Ua +Ua +kH +Ua +kQ +jn +wB +nt +Wk +fF +tJ +jn +Ua +"} +(37,1,1) = {" +Ua +Ua +Ua +Ua +kH +Ua +Ua +jn +gm +Dz +aa +Xk +uD +oD +Ua +"} +(38,1,1) = {" +Ua +Ua +Ua +Ua +kH +Ua +Ua +jn +sg +Rn +YR +HM +QT +oD +Ua +"} +(39,1,1) = {" +Ua +Ua +Ua +Ua +pM +Ua +Ua +jn +jn +lP +qm +lZ +zJ +TS +Ua +"} +(40,1,1) = {" +Ua +Ua +Ua +Ua +Ua +Ua +Ua +Ua +jn +jn +IA +IA +Jg +Ua +Ua +"} diff --git a/_maps/shuttles/pirate/pirate_libertatia.dmm b/_maps/shuttles/pirate/pirate_libertatia.dmm index 2fe2cd9ddb2..7fbe7eb795a 100644 --- a/_maps/shuttles/pirate/pirate_libertatia.dmm +++ b/_maps/shuttles/pirate/pirate_libertatia.dmm @@ -299,7 +299,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/fireaxecabinet{ +/obj/structure/cabinet/fireaxe{ pixel_y = 32 }, /turf/open/floor/pod/light, @@ -566,11 +566,11 @@ /area/ship/security) "sI" = ( /obj/machinery/firealarm/directional/south, -/obj/item/kitchen/knife/hunting{ +/obj/item/melee/knife/hunting{ pixel_y = 5 }, -/obj/item/kitchen/knife/hunting, -/obj/item/kitchen/knife/hunting{ +/obj/item/melee/knife/hunting, +/obj/item/melee/knife/hunting{ pixel_y = -5 }, /obj/item/storage/belt/security/webbing, @@ -794,7 +794,7 @@ /obj/machinery/vending/wallmed{ pixel_y = 30 }, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /obj/item/clothing/gloves/color/latex, /obj/item/clothing/mask/surgical, /obj/item/clothing/suit/apron/surgical, @@ -842,8 +842,8 @@ /area/ship/crew) "AL" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/item/radio/intercom/directional/north, /obj/item/lighter{ @@ -876,8 +876,8 @@ /turf/open/floor/plasteel/grimy, /area/ship/crew) "Bw" = ( -/obj/effect/spawner/lootdrop/minor/pirate_or_bandana, -/obj/effect/spawner/lootdrop/minor/pirate_or_bandana, +/obj/effect/spawner/random/clothing/pirate_or_bandana, +/obj/effect/spawner/random/clothing/pirate_or_bandana, /obj/effect/decal/cleanable/dirt/dust, /obj/item/clothing/shoes/jackboots, /obj/item/clothing/shoes/jackboots, @@ -1569,12 +1569,12 @@ name = "food crate" }, /obj/item/storage/cans/sixbeer, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, diff --git a/_maps/shuttles/pirate/pirate_noderider.dmm b/_maps/shuttles/pirate/pirate_noderider.dmm deleted file mode 100644 index 2e0352c54a5..00000000000 --- a/_maps/shuttles/pirate/pirate_noderider.dmm +++ /dev/null @@ -1,4209 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/central) -"aq" = ( -/obj/machinery/door/airlock/hatch{ - name = "Emergency Access"; - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/poddoor/preopen{ - id = "noderidercore"; - dir = 4 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/maintenance/central) -"au" = ( -/obj/effect/turf_decal/industrial/caution, -/obj/machinery/atmospherics/components/unary/tank/air{ - piping_layer = 2 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/mono/dark, -/area/ship/maintenance/central) -"ax" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/camera/emp_proof{ - dir = 1 - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"ay" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 5 - }, -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 3 - }, -/obj/item/tank/internals/oxygen, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"az" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"aD" = ( -/obj/machinery/power/grounding_rod{ - anchored = 1 - }, -/obj/effect/turf_decal/industrial/outline/grey, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/external) -"aH" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner, -/turf/open/floor/plating/airless, -/area/ship/external) -"aX" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"bl" = ( -/obj/machinery/camera/emp_proof{ - dir = 6 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"by" = ( -/turf/template_noop, -/area/template_noop) -"bB" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"bC" = ( -/obj/machinery/power/grounding_rod{ - anchored = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"bG" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/on/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/advanced_airlock_controller{ - pixel_x = -26 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) -"bX" = ( -/obj/machinery/power/grounding_rod{ - anchored = 1 - }, -/obj/machinery/camera/emp_proof{ - dir = 9 - }, -/obj/docking_port/mobile{ - can_move_docking_ports = 1; - dir = 4; - name = "stormrider"; - port_direction = 2; - preferred_direction = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"cb" = ( -/obj/structure/catwalk/over, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"ci" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"cP" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"cW" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 9 - }, -/obj/structure/closet/crate{ - name = "looted circuits" - }, -/obj/effect/turf_decal/box, -/obj/item/circuitboard/machine/cell_charger, -/obj/item/circuitboard/machine/cell_charger, -/obj/item/circuitboard/machine/microwave, -/obj/item/stack/circuit_stack/full, -/obj/item/stack/circuit_stack/full, -/obj/item/stack/circuit_stack/full, -/obj/item/circuitboard/machine/grounding_rod, -/obj/item/circuitboard/machine/grounding_rod, -/obj/item/circuitboard/machine/grounding_rod, -/obj/item/circuitboard/machine/grounding_rod, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/circuitboard/computer/operating, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"db" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo) -"df" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/central) -"dn" = ( -/obj/machinery/door/airlock/external{ - name = "EVA Access" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"dJ" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/engine, -/obj/item/clothing/shoes/magboots, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"dS" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/turf/open/floor/plating/airless, -/area/ship/external) -"dW" = ( -/obj/item/storage/box/handcuffs, -/obj/item/storage/box/handcuffs, -/obj/item/storage/box/handcuffs, -/obj/item/storage/box/handcuffs, -/obj/structure/closet/wall/red/directional/east, -/obj/item/storage/backpack/duffelbag/syndie/c4, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"ef" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"ek" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner, -/turf/open/floor/plating/airless, -/area/ship/external) -"eq" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"et" = ( -/obj/machinery/porta_turret/ship{ - dir = 5 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"ev" = ( -/obj/machinery/power/rtg, -/obj/structure/cable{ - icon_state = "0-6" - }, -/turf/open/floor/circuit/red, -/area/ship/maintenance/central) -"eF" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner, -/turf/open/floor/plating/airless, -/area/ship/external) -"eS" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/external{ - name = "EVA Access" - }, -/obj/machinery/atmospherics/pipe/layer_manifold, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"fw" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"fz" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/structure/cable{ - icon_state = "2-5" - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/caution, -/obj/structure/closet/secure_closet/engineering_electrical{ - req_access = null - }, -/obj/structure/cable{ - icon_state = "5-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"fD" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/airalarm/directional/north, -/obj/machinery/button/door{ - dir = 2; - pixel_x = 26; - pixel_y = -10; - name = "cargo bay door"; - id = "noderidergogo" - }, -/obj/machinery/button/shieldwallgen{ - dir = 8; - pixel_x = 21; - pixel_y = 4; - id = "noderiders"; - name = "cargo airshield" - }, -/obj/machinery/computer/crew, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"fG" = ( -/obj/machinery/power/grounding_rod{ - anchored = 1 - }, -/obj/machinery/camera/emp_proof{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"fH" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"fI" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/cargo) -"fK" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/camera/emp_proof{ - dir = 1 - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"gC" = ( -/obj/structure/table, -/obj/machinery/recharger{ - pixel_y = 6 - }, -/obj/item/screwdriver{ - pixel_x = -12 - }, -/obj/item/radio/intercom/directional/east, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"hd" = ( -/obj/machinery/power/shieldwallgen/anchored, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"hi" = ( -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"hr" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/external{ - name = "Core"; - req_access_txt = "20"; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/poddoor/preopen{ - id = "noderidercore"; - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"hH" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"hK" = ( -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/machinery/camera/emp_proof{ - dir = 4 - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating/airless, -/area/ship/external) -"hQ" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/window/plasma/reinforced{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"hW" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"iH" = ( -/obj/machinery/porta_turret/ship{ - dir = 9 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"iJ" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20; - pixel_y = 11 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"iM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/cargo) -"jt" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ship/cargo) -"jE" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"jG" = ( -/obj/structure/cable{ - icon_state = "8-10" - }, -/obj/structure/cable{ - icon_state = "8-9" - }, -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/structure/cable{ - icon_state = "6-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/item/circuitboard/aicore, -/obj/item/aiModule/reset/purge, -/obj/structure/AIcore, -/obj/item/mmi/posibrain{ - name = "psychotronic brain"; - begin_activation_message = "You carefully locate the manual activation switch and start the psychotronic brain's boot process."; - fail_message = "The psychotronic brain buzzes quietly, and the golden lights fade away. Perhaps you could try again?"; - recharge_message = "The psychotronic brain isn't ready to activate again yet! Give it some time to recharge."; - success_message = "The psychotronic brain pings, and its lights start flashing. Success!" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/circuit/red, -/area/ship/maintenance/central) -"jI" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"jR" = ( -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 6 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"jW" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"jX" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 10 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"kd" = ( -/obj/structure/cable, -/obj/effect/turf_decal/box/red, -/obj/machinery/power/tesla_coil/tesla_ground, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external) -"kn" = ( -/turf/open/floor/engine/hull, -/area/ship/external) -"ky" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/light/directional/north, -/turf/open/floor/engine/hull, -/area/ship/external) -"kE" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/central) -"kK" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"lr" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating/airless, -/area/ship/external) -"lv" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"ly" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/catwalk/over, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/ship/maintenance/central) -"lI" = ( -/obj/effect/turf_decal/box/red, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/syndicatebomb{ - name = "low yield fusion bomb" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/maintenance/central) -"mf" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"mo" = ( -/obj/machinery/computer/monitor{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/structure/cable, -/obj/item/radio/intercom/wideband/directional/east, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"ms" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"mw" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/camera/emp_proof, -/obj/structure/railing, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"mJ" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"mN" = ( -/obj/structure/cable{ - icon_state = "6-9" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/engineering) -"mT" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/external{ - name = "EVA Access" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"nI" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating/airless, -/area/ship/bridge) -"nM" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/light/small/directional/west, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch{ - pixel_x = -12; - pixel_y = 23 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"nO" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating/airless, -/area/ship/external) -"oe" = ( -/obj/structure/table, -/obj/item/stock_parts/capacitor/quadratic, -/obj/item/stock_parts/capacitor/quadratic{ - pixel_y = 10; - pixel_x = 8 - }, -/obj/item/stock_parts/capacitor/quadratic{ - pixel_x = 5 - }, -/obj/item/stock_parts/capacitor/quadratic{ - pixel_y = 8 - }, -/obj/item/storage/part_replacer, -/obj/item/paper{ - default_raw_text = "Install the capacitors into the SMESes. You will need them." - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"oi" = ( -/obj/machinery/door/poddoor{ - id = "noderidergogo" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 4; - id = "noderiders" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"oy" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/turf/open/floor/plating/airless, -/area/ship/external) -"oJ" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"oR" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/structure/closet/crate{ - name = "extraction kit" - }, -/obj/effect/turf_decal/box, -/obj/item/pickaxe/drill, -/obj/item/pickaxe/drill, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"pi" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"pj" = ( -/obj/structure/cable{ - icon_state = "6-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"pm" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/crew) -"pu" = ( -/obj/structure/chair, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"pM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"qc" = ( -/turf/open/floor/plating/airless, -/area/ship/external) -"qh" = ( -/obj/structure/closet/wall/red/directional/north{ - name = "weapons locker" - }, -/obj/item/gun/energy/e_gun/smg, -/obj/item/stock_parts/cell/gun, -/obj/item/stock_parts/cell/gun, -/obj/item/stock_parts/cell/gun, -/obj/item/stock_parts/cell/gun, -/obj/item/stock_parts/cell/gun, -/obj/item/stock_parts/cell/gun, -/obj/item/stock_parts/cell/gun, -/obj/item/stock_parts/cell/gun, -/obj/item/gun/energy/laser/iot, -/obj/item/gun/energy/laser/iot, -/obj/item/gun/energy/e_gun/smg, -/obj/item/gun/energy/lasercannon, -/obj/item/melee/baton/loaded, -/obj/item/melee/baton/loaded, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"qj" = ( -/obj/machinery/cryopod{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/computer/cryopod/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew) -"qp" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plating/airless, -/area/ship/external) -"qw" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"qW" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/ai_slipper, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/camera/emp_proof{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/central) -"rb" = ( -/obj/structure/cable{ - icon_state = "8-9" - }, -/obj/structure/cable{ - icon_state = "2-9" - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/caution{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"rx" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/central) -"rC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/door/airlock/hatch{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew) -"se" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/central) -"sn" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 1 - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"so" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/door/airlock/hatch, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"sw" = ( -/obj/structure/sign/poster/contraband/cybersun_borg{ - pixel_y = 32 - }, -/obj/structure/closet/wall/white/directional/west{ - name = "First Aid" - }, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/mechanical, -/obj/item/healthanalyzer, -/obj/item/healthanalyzer, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"sz" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/shuttle/engine/electric/premium{ - name = "main drive"; - dir = 4; - power_per_burn = 200000 - }, -/obj/machinery/door/poddoor{ - id = "noderiderengine"; - dir = 4 - }, -/turf/open/floor/engine/hull, -/area/ship/engineering) -"sB" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 9 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"sC" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/radio/intercom/directional/north, -/obj/structure/railing, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering) -"sD" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/central) -"sZ" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/cargo) -"tk" = ( -/obj/effect/turf_decal/industrial/caution{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 1; - piping_layer = 2 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20; - pixel_y = 11 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/maintenance/central) -"ty" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/turf/closed/wall/r_wall/syndicate, -/area/ship/maintenance/central) -"tF" = ( -/obj/structure/closet/wall/red/directional/north{ - name = "armor locker" - }, -/obj/item/clothing/suit/armor/riot, -/obj/item/clothing/suit/armor/riot, -/obj/item/clothing/suit/armor/riot, -/obj/item/clothing/suit/armor/riot, -/obj/item/clothing/suit/armor/vest/marine, -/obj/item/clothing/suit/armor/vest/marine, -/obj/item/clothing/suit/armor/vest/marine, -/obj/item/clothing/suit/armor/vest/marine, -/obj/item/clothing/head/helmet/bulletproof/m10, -/obj/item/clothing/head/helmet/bulletproof/m10, -/obj/item/clothing/head/helmet/bulletproof/m10, -/obj/item/clothing/head/helmet/bulletproof/m10, -/obj/item/clothing/gloves/tackler, -/obj/item/clothing/gloves/tackler, -/obj/item/clothing/gloves/tackler, -/obj/item/clothing/gloves/tackler, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"tJ" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/closet/secure_closet/engineering_welding{ - req_access = null - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"tO" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"tU" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/door/poddoor{ - id = "noderiderengine"; - dir = 4 - }, -/obj/machinery/power/shuttle/engine/electric/premium{ - name = "main drive"; - dir = 4; - power_per_burn = 200000 - }, -/turf/open/floor/engine/hull, -/area/ship/engineering) -"tY" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"up" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/engineering) -"uV" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 6 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"vr" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"vE" = ( -/obj/effect/turf_decal/floordetail/pryhole, -/obj/structure/sink{ - dir = 8; - pixel_x = 13 - }, -/obj/structure/mirror{ - pixel_x = 28 - }, -/obj/machinery/button/door{ - dir = 1; - pixel_x = -10; - pixel_y = -23; - id = "nodedoor"; - name = "bathroom lock"; - specialfunctions = 3 - }, -/obj/structure/toilet{ - pixel_y = 13 - }, -/obj/machinery/shower{ - dir = 1 - }, -/obj/machinery/light/small/directional/east{ - pixel_y = 12 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"vH" = ( -/obj/machinery/atmospherics/components/unary/passive_vent/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"vS" = ( -/turf/closed/wall/r_wall/syndicate/nodiagonal, -/area/ship/security/armory) -"vW" = ( -/obj/structure/window/reinforced, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/circuit/green, -/area/ship/maintenance/central) -"vY" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"wq" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/central) -"wu" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/security/armory) -"wA" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/light/directional/south, -/turf/open/floor/engine/hull, -/area/ship/external) -"xk" = ( -/obj/machinery/power/grounding_rod{ - anchored = 1 - }, -/obj/effect/turf_decal/industrial/outline/grey, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/external) -"xl" = ( -/obj/structure/table, -/obj/structure/closet/wall/red/directional/west{ - name = "captain's locker" - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/machinery/light/small/directional/south{ - pixel_x = 16 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/under/utility, -/obj/item/clothing/head/soft/black, -/obj/item/melee/classic_baton/telescopic, -/obj/item/storage/box/handcuffs, -/obj/item/clothing/glasses/meson, -/obj/item/megaphone, -/obj/item/melee/transforming/energy/sword/saber/red, -/obj/item/pinpointer/crew, -/obj/item/clothing/mask/gas/atmos, -/obj/item/clothing/mask/whistle, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"xy" = ( -/obj/structure/catwalk/over, -/turf/open/floor/plating/airless, -/area/ship/external) -"xz" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20; - pixel_y = 0 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"xW" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner, -/turf/open/floor/plating/airless, -/area/ship/external) -"xX" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"yd" = ( -/obj/machinery/ai_slipper, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"yh" = ( -/obj/machinery/camera/emp_proof{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/turretid{ - pixel_y = 25 - }, -/obj/machinery/firealarm/directional/west, -/obj/structure/frame/computer, -/obj/machinery/light/small/built/directional/north{ - pixel_x = 16 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 10 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"ym" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/central) -"yI" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/ai_slipper, -/obj/machinery/button/door{ - pixel_x = -25; - pixel_y = 25; - name = "cargo bay door"; - id = "noderidergogo" - }, -/obj/machinery/button/shieldwallgen{ - pixel_x = -40; - pixel_y = 23; - id = "noderiders"; - name = "cargo airshield" - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"yJ" = ( -/obj/machinery/computer/selling_pad_control{ - dir = 1 - }, -/obj/machinery/camera/emp_proof{ - dir = 1 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/cargo) -"yK" = ( -/obj/structure/catwalk/over, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"yM" = ( -/obj/machinery/power/shuttle/engine/electric/premium{ - name = "main drive"; - dir = 4; - power_per_burn = 200000 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/door/poddoor{ - id = "noderiderengine"; - dir = 4 - }, -/turf/open/floor/engine/hull, -/area/ship/engineering) -"yW" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/structure/catwalk/over, -/turf/open/floor/plating/airless, -/area/ship/external) -"za" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"zp" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/item/tank/jetpack/carbondioxide, -/obj/structure/railing{ - layer = 3.3 - }, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/mask/gas, -/obj/item/clothing/suit/space/hardsuit/security, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"zF" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/camera/emp_proof{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"Ab" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Am" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew) -"Av" = ( -/obj/structure/cable{ - icon_state = "6-8" - }, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/machinery/ai_slipper, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"Az" = ( -/obj/machinery/porta_turret/ship{ - dir = 6 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"AO" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"AY" = ( -/obj/machinery/door/airlock/hatch{ - name = "Bridge"; - req_access_txt = "20"; - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/poddoor/preopen{ - id = "noderiderbridge"; - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Bk" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plating, -/area/ship/cargo) -"BO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"BT" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"BU" = ( -/obj/machinery/door/airlock/hatch{ - name = "Dorms" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/crew) -"BV" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/item/radio/intercom/wideband/directional/south, -/turf/open/floor/circuit/green, -/area/ship/maintenance/central) -"Ck" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/box/red, -/obj/machinery/power/tesla_coil/tesla_ground, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external) -"Cv" = ( -/obj/machinery/power/grounding_rod{ - anchored = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/crew) -"Cy" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plating, -/area/ship/cargo) -"CQ" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/machinery/computer/helm{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/bridge) -"De" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/ship/cargo) -"Dq" = ( -/obj/machinery/recharge_station, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/central) -"Dt" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/stand_clear, -/turf/open/floor/engine/hull, -/area/ship/external) -"DL" = ( -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"DM" = ( -/obj/machinery/door/airlock/hatch{ - name = "Armory"; - req_access_txt = "1"; - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"DU" = ( -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 10 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"Ee" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Eg" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"Em" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "acceleration couch" - }, -/obj/machinery/ai_slipper, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/button/door{ - pixel_y = 22; - pixel_x = 38; - name = "bridge lockdown"; - id = "noderiderbridge" - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Eu" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ship/maintenance/central) -"Ev" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/on/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/advanced_airlock_controller{ - pixel_x = -26 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) -"EH" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"EP" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20; - pixel_y = 11 - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"EQ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"EZ" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/structure/tank_dispenser/oxygen, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Fe" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"Fo" = ( -/obj/machinery/power/grounding_rod{ - anchored = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/security/armory) -"FH" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/curtain/cloth/grey, -/obj/structure/bed, -/obj/item/bedsheet/blue, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew) -"FQ" = ( -/obj/machinery/door/firedoor/border_only, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"FV" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/button/door{ - dir = 4; - pixel_y = -4; - pixel_x = -24; - id = "noderiderengine"; - name = "Engine shutters" - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/reagent_dispensers/fueltank, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"Ga" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/window/brigdoor{ - dir = 8; - req_access_txt = "20" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/circuit/green, -/area/ship/maintenance/central) -"GA" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/camera/emp_proof{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"GB" = ( -/obj/structure/railing{ - dir = 6; - layer = 3.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 6 - }, -/obj/structure/rack, -/obj/item/storage/belt/utility, -/obj/item/storage/belt/utility, -/obj/item/storage/belt/utility, -/obj/item/pipe_dispenser, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"GN" = ( -/obj/machinery/power/grounding_rod{ - anchored = 1 - }, -/obj/effect/turf_decal/industrial/outline/grey, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/external) -"GW" = ( -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 9 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"Hg" = ( -/obj/machinery/recharge_station, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/central) -"Hi" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"Hx" = ( -/obj/machinery/autolathe, -/obj/machinery/airalarm/directional/east, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/glass/fifty, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"Ih" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/on/layer2{ - dir = 8 - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/advanced_airlock_controller{ - pixel_y = 25 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"In" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"Is" = ( -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 5 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"IH" = ( -/obj/structure/railing{ - layer = 3.3 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/item/tank/jetpack/carbondioxide, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/mask/gas, -/obj/item/clothing/suit/space/hardsuit/security, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"Jp" = ( -/obj/structure/table, -/obj/machinery/recharger{ - pixel_y = 6 - }, -/obj/item/screwdriver{ - pixel_x = 11 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"Jx" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/box/red, -/obj/machinery/power/tesla_coil/tesla_ground, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external) -"JI" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering) -"JP" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/light/directional/north, -/obj/structure/railing, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"JZ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"Kc" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/security/armory) -"Kd" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"Ke" = ( -/obj/machinery/door/airlock/hatch{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"Km" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/transparent/solgovgold, -/turf/open/floor/plating, -/area/ship/cargo) -"Kn" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/central) -"Ko" = ( -/obj/machinery/selling_pad, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Kz" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"KD" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 5 - }, -/obj/structure/closet/crate, -/obj/effect/turf_decal/box, -/obj/item/pizzabox, -/obj/item/pizzabox, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"KF" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/reagent_dispensers, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"KM" = ( -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/machinery/light/directional/north, -/turf/open/floor/engine/hull, -/area/ship/external) -"KR" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"LC" = ( -/obj/structure/curtain/cloth/grey, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"LD" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 5 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"LO" = ( -/obj/structure/curtain/cloth/grey, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/bed, -/obj/item/bedsheet/blue, -/turf/open/floor/plasteel/tech/grid, -/area/ship/crew) -"LR" = ( -/obj/machinery/power/rtg, -/obj/structure/cable{ - icon_state = "0-5" - }, -/turf/open/floor/circuit/red, -/area/ship/maintenance/central) -"LY" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"MG" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/ai_slipper, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/camera/emp_proof, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/central) -"MJ" = ( -/obj/structure/closet/wall/directional/south{ - name = "node uniforms" - }, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility, -/obj/item/clothing/head/soft/black, -/obj/item/clothing/head/soft/black, -/obj/item/clothing/head/soft/black, -/obj/item/clothing/head/soft/black, -/obj/item/clothing/head/soft/black, -/obj/item/clothing/head/soft/black, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/item/storage/backpack/satchel, -/obj/item/storage/backpack/satchel, -/obj/item/storage/backpack/satchel, -/obj/item/storage/backpack/satchel, -/obj/item/storage/backpack/satchel, -/obj/item/storage/backpack/satchel, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"MU" = ( -/turf/closed/wall/r_wall/syndicate, -/area/ship/maintenance/central) -"MX" = ( -/obj/machinery/porta_turret/ship{ - dir = 1 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"MZ" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/box/red, -/obj/machinery/power/tesla_coil/tesla_ground, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external) -"Ne" = ( -/obj/machinery/camera/xray{ - dir = 8 - }, -/obj/machinery/power/grounding_rod{ - anchored = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/bridge) -"Nl" = ( -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/caution{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"NO" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/catwalk/over, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/central) -"Oj" = ( -/obj/structure/cable{ - icon_state = "4-9" - }, -/obj/machinery/light/directional/south, -/turf/open/floor/engine/hull, -/area/ship/external) -"Ok" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/central) -"Oz" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"OG" = ( -/turf/closed/wall/r_wall/syndicate/nodiagonal, -/area/ship/maintenance/central) -"OK" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/catwalk/over, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"PC" = ( -/obj/machinery/power/grounding_rod{ - anchored = 1 - }, -/obj/effect/turf_decal/industrial/outline/grey, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech/grid, -/area/ship/external) -"PK" = ( -/obj/structure/cable{ - icon_state = "4-9" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/turf/open/floor/plating/airless, -/area/ship/external) -"Qd" = ( -/obj/structure/table, -/obj/machinery/ai_slipper, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/item/kirbyplants/photosynthetic{ - pixel_y = 12; - name = "emotional support plant"; - desc = "there's a nametag on it that reads 'Dave'" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/crew) -"Qp" = ( -/obj/machinery/power/grounding_rod{ - anchored = 1 - }, -/obj/effect/turf_decal/industrial/outline/grey, -/turf/open/floor/plasteel/tech/grid, -/area/ship/external) -"Qt" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"QH" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"QI" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/camera/emp_proof{ - dir = 4 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"QN" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 8; - id = "noderiders" - }, -/obj/machinery/door/poddoor{ - id = "noderidergogo" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Rn" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/catwalk/over, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/central) -"Rp" = ( -/obj/machinery/power/rtg, -/obj/structure/cable{ - icon_state = "0-10" - }, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/circuit/red, -/area/ship/maintenance/central) -"Rr" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"Ru" = ( -/obj/machinery/door/airlock/hatch{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-9" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"Rz" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 6 - }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"RE" = ( -/obj/machinery/porta_turret/ship{ - dir = 4 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"RI" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/caution{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"Ss" = ( -/obj/machinery/porta_turret/ship{ - dir = 10 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"SP" = ( -/obj/machinery/power/shieldwallgen/anchored, -/obj/structure/cable, -/turf/open/floor/engine/hull, -/area/ship/external) -"Th" = ( -/obj/machinery/camera/emp_proof{ - dir = 10 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"Tm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plasteel/stairs, -/area/ship/engineering) -"TI" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/camera/emp_proof, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/turf/open/floor/plating/airless, -/area/ship/external) -"Uq" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"Ut" = ( -/obj/machinery/door/airlock/hatch{ - name = "Bathroom"; - id_tag = "nodedoor"; - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew) -"Uv" = ( -/obj/machinery/power/rtg, -/obj/structure/cable{ - icon_state = "0-9" - }, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/circuit/red, -/area/ship/maintenance/central) -"UY" = ( -/obj/structure/railing/corner{ - layer = 3.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/corner_techfloor_gray{ - dir = 8 - }, -/obj/machinery/power/ship_gravity, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"Vb" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 6 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"VC" = ( -/obj/machinery/porta_turret/ship, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"VF" = ( -/obj/machinery/ai_slipper, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/landmark/observer_start, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"VK" = ( -/obj/machinery/power/shieldwallgen/anchored, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"Wp" = ( -/obj/structure/cable{ - icon_state = "2-5" - }, -/obj/machinery/camera/emp_proof{ - dir = 5 - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey/corner, -/turf/open/floor/plating/airless, -/area/ship/external) -"Wv" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/engineering) -"Xa" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/cargo) -"Xw" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"XP" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/ship/cargo) -"Yc" = ( -/obj/machinery/door/window/brigdoor{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/button/door{ - pixel_y = 33; - pixel_x = -22; - dir = 4; - name = "emergency blast shutters"; - id = "noderidercore" - }, -/turf/open/floor/circuit/green, -/area/ship/maintenance/central) -"Yp" = ( -/obj/machinery/holopad/emergency/engineering, -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) -"YX" = ( -/obj/machinery/holopad/emergency/command, -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"Zk" = ( -/obj/machinery/door/airlock/hatch{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"Zn" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plating/airless, -/area/ship/external) -"Zr" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/item/tank/jetpack/carbondioxide, -/obj/structure/railing{ - layer = 3.3 - }, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/mask/gas, -/obj/item/clothing/suit/space/hardsuit/security, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/security/armory) -"Zx" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 5 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"ZF" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/external{ - name = "Core"; - req_access_txt = "20"; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/central) -"ZW" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 6 - }, -/turf/open/floor/plating/airless, -/area/ship/external) -"ZX" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plating, -/area/ship/maintenance/central) - -(1,1,1) = {" -by -by -by -by -by -by -by -by -Ck -by -bX -by -by -by -by -by -fG -by -Ck -by -by -by -by -by -by -by -by -"} -(2,1,1) = {" -by -by -by -by -by -by -by -by -dS -by -up -by -by -by -by -by -up -by -dS -by -by -by -by -by -by -by -by -"} -(3,1,1) = {" -by -by -by -by -by -by -by -by -ef -Uq -iH -bC -by -by -by -bC -Ss -qp -oy -by -by -by -by -by -by -by -by -"} -(4,1,1) = {" -by -by -by -by -by -by -by -by -vY -vH -up -Wv -kn -kn -kn -Wv -up -qp -oy -by -by -by -by -by -by -by -by -"} -(5,1,1) = {" -by -by -by -by -by -by -Ck -by -pM -PC -up -Wv -tU -yM -sz -Wv -up -PC -oy -by -Ck -by -by -by -by -by -by -"} -(6,1,1) = {" -by -by -by -by -by -by -dS -by -pM -Wv -Wv -FV -hQ -hQ -hQ -UY -Wv -Wv -oy -by -dS -by -by -by -by -by -by -"} -(7,1,1) = {" -by -by -by -by -by -by -az -JZ -In -up -sC -Nl -cP -cP -cP -fz -JI -up -mJ -tY -AO -by -by -by -by -by -by -"} -(8,1,1) = {" -by -by -by -Ck -by -by -pM -Qp -Wv -up -JP -KF -rb -dJ -RI -tJ -Kd -up -Wv -Qp -oy -by -by -Ck -by -by -by -"} -(9,1,1) = {" -by -by -by -dS -by -by -fK -Wv -up -Wv -mw -ay -Yp -oe -Av -GB -zF -Wv -up -Wv -TI -by -by -Xw -by -by -by -"} -(10,1,1) = {" -by -Jx -EQ -ek -EQ -EQ -QH -eS -Ev -mT -vr -Tm -ci -Hx -iJ -mN -xX -dn -bG -eS -LY -EQ -EQ -eF -EQ -kd -by -"} -(11,1,1) = {" -by -by -by -dS -by -by -ef -Wv -up -Wv -Zk -OG -MU -MU -MU -OG -Ru -Wv -up -Wv -oy -by -by -Xw -by -by -by -"} -(12,1,1) = {" -by -by -by -MZ -by -by -Zx -hK -hd -Kn -se -ty -tk -lI -au -ty -df -Kn -SP -Wp -ZW -by -by -MZ -by -by -by -"} -(13,1,1) = {" -by -by -by -by -by -by -by -Is -Oj -wq -NO -MU -MU -aq -MU -MU -kE -wq -KM -jR -by -by -by -by -by -by -by -"} -(14,1,1) = {" -by -by -by -by -by -by -by -by -jI -MX -ym -MU -ev -Yc -LR -MU -aa -VC -jI -by -by -by -by -by -by -by -by -"} -(15,1,1) = {" -by -by -by -by -by -by -by -by -sn -wq -qW -MU -vW -jG -BV -MU -MG -wq -Dt -by -by -by -by -by -by -by -by -"} -(16,1,1) = {" -by -by -by -by -Ck -by -by -by -jI -wq -ZX -MU -Rp -Ga -Uv -MU -Ok -wq -jI -by -by -by -Ck -by -by -by -by -"} -(17,1,1) = {" -by -by -Jx -qw -nO -qw -yK -pi -hH -MX -rx -OG -OG -hr -OG -OG -Ok -VC -tO -aH -cb -EQ -lr -qw -kd -by -by -"} -(18,1,1) = {" -by -by -by -by -MZ -by -by -ef -wA -Kn -ly -Hg -OG -Ih -MU -Dq -Rn -Kn -ky -oy -by -by -MZ -by -by -by -by -"} -(19,1,1) = {" -by -by -by -by -by -by -GW -hi -VK -wq -Ke -OG -OG -ZF -OG -OG -sD -wq -VK -pj -DU -by -by -by -by -by -by -"} -(20,1,1) = {" -by -by -by -Ck -by -by -DL -Qp -db -db -Cy -Bk -De -sZ -jt -so -Eu -wq -Am -Qp -PK -by -by -Ck -by -by -by -"} -(21,1,1) = {" -by -by -by -Xw -by -by -Zn -db -db -EZ -za -fI -cW -kK -Ko -Am -pm -pm -pm -Am -oy -by -by -Xw -by -by -by -"} -(22,1,1) = {" -by -Ck -by -Xw -by -by -ef -oi -Rr -yI -Hi -Km -oR -VF -yJ -pm -sw -Ab -QI -pm -oy -by -by -Xw -by -Ck -by -"} -(23,1,1) = {" -by -dS -by -Xw -by -by -ef -QN -lv -fH -FQ -iM -KD -bB -Xa -pm -pu -Qd -MJ -pm -oy -by -by -Xw -by -dS -by -"} -(24,1,1) = {" -Jx -ms -EQ -Eg -EQ -pi -yW -wu -Kc -DM -wu -XP -jt -OK -jt -BU -xz -hW -Qt -pm -mJ -aX -EQ -Fe -EQ -fw -kd -"} -(25,1,1) = {" -by -by -by -by -by -ef -xy -Kc -nM -GA -vS -wu -EP -Rz -uV -Am -pm -pm -rC -pm -xy -oy -by -by -by -by -by -"} -(26,1,1) = {" -by -by -by -by -by -ax -Kc -Kc -tF -Oz -IH -Kz -Kz -AY -Kz -Kz -FH -LO -BO -pm -pm -TI -by -by -by -by -by -"} -(27,1,1) = {" -by -by -by -by -by -ef -xk -Kc -qh -yd -zp -oJ -yh -YX -xl -oJ -Ee -eq -jW -pm -GN -oy -by -by -by -by -by -"} -(28,1,1) = {" -by -Ck -by -by -by -ef -et -Kc -Jp -EH -zp -oJ -fD -Em -mo -oJ -Ut -Am -LC -pm -Az -oy -by -by -by -Ck -by -"} -(29,1,1) = {" -by -Xw -by -by -by -ef -Uq -Kc -gC -dW -Zr -Kz -Kz -CQ -Kz -Kz -vE -pm -qj -pm -qp -oy -by -by -by -Xw -by -"} -(30,1,1) = {" -by -BT -xW -EQ -EQ -mf -Uq -wu -wu -Kc -Kc -oJ -oJ -oJ -oJ -oJ -pm -pm -Am -Am -qp -mJ -qw -qw -KR -jE -by -"} -(31,1,1) = {" -by -MZ -oy -by -by -by -qc -aD -Kc -by -Fo -by -oJ -nI -oJ -by -Cv -by -pm -aD -qc -by -by -by -ef -MZ -by -"} -(32,1,1) = {" -by -by -LD -jX -by -by -qc -Th -Kc -by -RE -by -oJ -Ne -oJ -by -RE -by -pm -bl -qc -by -by -sB -Vb -by -by -"} -(33,1,1) = {" -by -by -by -MZ -by -by -by -qc -by -by -by -by -oJ -oJ -oJ -by -by -by -by -qc -by -by -by -MZ -by -by -by -"} -(34,1,1) = {" -by -by -by -by -by -by -by -qc -by -by -by -by -by -oJ -by -by -by -by -by -qc -by -by -by -by -by -by -by -"} -(35,1,1) = {" -by -by -by -by -by -by -by -by -by -by -by -by -by -RE -by -by -by -by -by -by -by -by -by -by -by -by -by -"} diff --git a/_maps/shuttles/pirate/pirate_tortuga.dmm b/_maps/shuttles/pirate/pirate_tortuga.dmm index 07bd4710a9b..227d239257c 100644 --- a/_maps/shuttles/pirate/pirate_tortuga.dmm +++ b/_maps/shuttles/pirate/pirate_tortuga.dmm @@ -55,8 +55,8 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, -/obj/machinery/power/shieldwallgen/atmos{ - id = "watchdog_holo" +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "tortuga_holo" }, /turf/open/floor/plating, /area/ship/cargo) @@ -158,7 +158,7 @@ /turf/open/floor/plating, /area/ship/maintenance/starboard) "bR" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /turf/open/floor/plating/airless, /area/ship/maintenance) "cb" = ( @@ -173,6 +173,10 @@ pixel_x = -9; dir = 8 }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = -6; + pixel_y = -3 + }, /turf/open/floor/plasteel/mono/dark, /area/ship/bridge) "ci" = ( @@ -268,8 +272,9 @@ /turf/open/floor/pod/dark, /area/ship/maintenance/starboard) "dE" = ( -/obj/structure/table, -/obj/item/storage/cans/sixbeer, +/obj/structure/chair/sofa/brown/old/right{ + dir = 1 + }, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) "dF" = ( @@ -393,7 +398,9 @@ pixel_x = -22; pixel_y = -10 }, -/obj/structure/rack, +/obj/structure/salvageable/computer{ + dir = 4 + }, /turf/open/floor/plasteel/tech, /area/ship/bridge) "ff" = ( @@ -406,6 +413,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, +/obj/structure/sign/poster/official/moth/hardhats{ + pixel_y = 32 + }, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) "fj" = ( @@ -545,7 +555,7 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) "gG" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/glass, /turf/open/floor/plating/airless, /area/ship/maintenance) @@ -657,10 +667,7 @@ /area/ship/security/armory) "hU" = ( /obj/structure/rack, -/obj/item/ammo_box/c45{ - pixel_x = -9; - pixel_y = 8 - }, +/obj/item/storage/box/ammo/c45, /obj/item/storage/toolbox/ammo/a762_40{ pixel_x = 5; pixel_y = 6 @@ -743,7 +750,7 @@ /obj/structure/closet/crate{ icon_state = "o2crate" }, -/obj/item/spear/explosive, +/obj/item/melee/spear/explosive, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/ship/maintenance) @@ -755,6 +762,7 @@ icon_state = "0-8" }, /obj/item/stack/sheet/mineral/plasma/twenty, +/obj/effect/turf_decal/industrial/hatch, /turf/open/floor/pod/dark, /area/ship/maintenance/port) "iW" = ( @@ -826,6 +834,7 @@ "jt" = ( /obj/machinery/telecomms/relay/preset/frontiersmen, /obj/machinery/door/window/southleft, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "jA" = ( @@ -833,7 +842,6 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/structure/reagent_dispensers/fueltank, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, @@ -910,7 +918,7 @@ /turf/open/floor/mineral/plastitanium, /area/ship/security/armory) "kp" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/structure/cable/yellow{ icon_state = "4-8" }, @@ -920,7 +928,7 @@ }, /area/ship/maintenance) "kv" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/ship/maintenance) @@ -934,7 +942,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/maintenance) "la" = ( @@ -969,7 +977,7 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/cargo) "li" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/ship/maintenance) @@ -1014,7 +1022,7 @@ /turf/open/floor/mineral/plastitanium, /area/ship/security/armory) "mf" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/structure/cable/yellow{ icon_state = "5-9" }, @@ -1026,6 +1034,9 @@ }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/spline/fancy/opaque/black/corner, +/obj/effect/turf_decal/siding/red{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/ship/security/armory) "ml" = ( @@ -1081,20 +1092,20 @@ pixel_y = 6; pixel_x = 7 }, -/obj/item/clothing/suit/armor/vest/bulletproof/frontier{ +/obj/item/clothing/suit/armor/vest/frontier{ pixel_y = -4; pixel_x = 8 }, /obj/machinery/light/directional/north, -/obj/item/clothing/suit/armor/vest/bulletproof/frontier{ +/obj/item/clothing/suit/armor/vest/frontier{ pixel_y = -4; pixel_x = 8 }, -/obj/item/clothing/suit/armor/vest/bulletproof/frontier{ +/obj/item/clothing/suit/armor/vest/frontier{ pixel_y = -4; pixel_x = 8 }, -/obj/item/clothing/suit/armor/vest/bulletproof/frontier{ +/obj/item/clothing/suit/armor/vest/frontier{ pixel_y = -4; pixel_x = 8 }, @@ -1286,8 +1297,8 @@ /turf/open/floor/plasteel, /area/ship/crew/canteen) "oK" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/trash/grille_or_waste, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/ship/maintenance) @@ -1303,6 +1314,9 @@ /area/ship/cargo) "oU" = ( /obj/structure/table, +/obj/item/grown/corncob{ + pixel_y = 8 + }, /turf/open/floor/plasteel/grimy, /area/ship/crew/canteen) "oV" = ( @@ -1377,7 +1391,7 @@ /turf/closed/wall, /area/ship/crew/canteen) "qi" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/crayon{ icon_state = "med" @@ -1407,6 +1421,7 @@ icon_state = "0-10" }, /obj/item/stack/sheet/mineral/plasma/twenty, +/obj/effect/turf_decal/industrial/hatch, /turf/open/floor/pod/dark, /area/ship/maintenance/starboard) "qD" = ( @@ -1433,7 +1448,7 @@ /obj/structure/cable/yellow{ icon_state = "0-2" }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless{ icon_state = "plating_rust" @@ -1493,6 +1508,14 @@ }, /turf/open/floor/pod/dark, /area/ship/maintenance/starboard) +"sM" = ( +/obj/structure/table, +/obj/item/desk_flag/trans{ + pixel_x = 9; + pixel_y = -6 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) "sQ" = ( /turf/closed/wall, /area/ship/maintenance/starboard) @@ -1523,7 +1546,7 @@ /turf/open/floor/plasteel, /area/ship/crew/canteen) "ti" = ( -/obj/effect/spawner/lootdrop/donut, +/obj/effect/spawner/random/food_or_drink/donut, /turf/open/floor/plating/airless{ icon_state = "plating_rust" }, @@ -1554,7 +1577,8 @@ dir = 1 }, /obj/structure/curtain/cloth, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/carpet, /area/ship/crew) "tI" = ( @@ -1704,6 +1728,7 @@ reagent_id = /datum/reagent/fuel/oil; tank_volume = 3000 }, +/obj/effect/turf_decal/industrial/hatch, /turf/open/floor/pod/dark, /area/ship/maintenance/starboard) "va" = ( @@ -1791,6 +1816,10 @@ "wg" = ( /obj/machinery/blackbox_recorder, /obj/machinery/door/window/southright, +/obj/structure/sign/poster/retro/radio{ + pixel_y = 32 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "wp" = ( @@ -1818,6 +1847,13 @@ /area/ship/cargo) "wH" = ( /obj/machinery/light/directional/north, +/obj/structure/chair/plastic{ + dir = 4 + }, +/obj/effect/decal/cleanable/plasma{ + pixel_x = 18; + pixel_y = -5 + }, /turf/open/floor/pod/dark, /area/ship/maintenance/starboard) "wL" = ( @@ -1834,11 +1870,15 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, /turf/open/floor/pod/dark, /area/ship/maintenance/port) "wQ" = ( /obj/effect/turf_decal/box/corners, /obj/structure/closet/crate/bin, +/obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/plasteel/mono, /area/ship/cargo) "wY" = ( @@ -1896,7 +1936,7 @@ /turf/open/floor/plasteel, /area/ship/crew/canteen) "yc" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/ship/maintenance) @@ -2011,9 +2051,19 @@ "Ar" = ( /obj/structure/bed, /obj/structure/curtain/cloth, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/carpet, /area/ship/crew) +"Av" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/structure/chair{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) "Az" = ( /obj/structure/curtain/bounty, /obj/machinery/light_switch{ @@ -2022,7 +2072,7 @@ /turf/open/floor/plasteel, /area/ship/crew) "AG" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/maintenance) "AQ" = ( @@ -2050,9 +2100,9 @@ /turf/open/floor/plasteel/dark, /area/ship/maintenance/starboard) "BF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/tech/grid, +/obj/effect/turf_decal/borderfloor, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/tech/techmaint, /area/ship/cargo) "BG" = ( /obj/structure/cable/yellow{ @@ -2149,7 +2199,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless{ icon_state = "plating_rust" @@ -2170,8 +2220,8 @@ /obj/structure/cable/yellow{ icon_state = "6-8" }, -/obj/structure/chair/plastic{ - dir = 4 +/obj/structure/chair/sofa/brown/old/left{ + dir = 1 }, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) @@ -2183,7 +2233,7 @@ dir = 1 }, /obj/structure/curtain/cloth, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/airalarm/directional/north, /turf/open/floor/carpet, /area/ship/crew) @@ -2205,7 +2255,7 @@ /turf/open/floor/plating/airless, /area/ship/maintenance) "Eb" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless{ icon_state = "plating_rust" @@ -2322,19 +2372,19 @@ /area/ship/cargo) "FB" = ( /obj/structure/rack, -/obj/item/kitchen/knife/combat/survival{ +/obj/item/melee/knife/survival{ pixel_y = 8; pixel_x = -9 }, -/obj/item/kitchen/knife/combat/survival{ +/obj/item/melee/knife/survival{ pixel_y = 7; pixel_x = 5 }, -/obj/item/kitchen/knife/combat/survival{ +/obj/item/melee/knife/survival{ pixel_y = 7; pixel_x = -4 }, -/obj/item/kitchen/knife/combat/survival{ +/obj/item/melee/knife/survival{ pixel_y = 7; pixel_x = 1 }, @@ -2394,6 +2444,8 @@ /obj/structure/cable/yellow{ icon_state = "5-8" }, +/obj/structure/closet/secure_closet/engineering_welding, +/obj/effect/turf_decal/borderfloorblack/full, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "Gr" = ( @@ -2428,6 +2480,7 @@ /obj/structure/cable/yellow{ icon_state = "2-8" }, +/obj/effect/turf_decal/industrial/warning, /turf/open/floor/pod/dark, /area/ship/maintenance/starboard) "GM" = ( @@ -2510,6 +2563,7 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, +/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) "HY" = ( @@ -2725,8 +2779,8 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, -/obj/machinery/power/shieldwallgen/atmos{ - id = "watchdog_holo"; +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "tortuga_holo"; dir = 1 }, /obj/machinery/door/poddoor/shutters{ @@ -2759,13 +2813,16 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/retro/smile{ + pixel_x = -32 + }, /turf/open/floor/plasteel, /area/ship/crew/canteen) "Lb" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/effect/turf_decal/siding/wideplating{ dir = 5 }, @@ -2790,17 +2847,29 @@ icon_state = "plating_rust" }, /area/ship/maintenance) +"Lo" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/door_assembly/door_assembly_hatch{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ship/maintenance) "Lt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/chair/plastic{ - dir = 8 - }, +/obj/structure/table, +/obj/item/storage/cans/sixbeer, +/obj/machinery/cell_charger, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) "Lz" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, +/obj/effect/turf_decal/siding/red{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/ship/security/armory) "LG" = ( @@ -2830,6 +2899,16 @@ /turf/open/floor/plasteel/elevatorshaft, /area/ship/cargo) "Mb" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 32 + }, +/obj/item/cigbutt{ + pixel_x = -13; + pixel_y = -3 + }, /turf/open/floor/pod/dark, /area/ship/maintenance/starboard) "Mk" = ( @@ -2852,6 +2931,19 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/canteen) +"Ml" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/cargo) "Mn" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/structure/railing{ @@ -2870,9 +2962,6 @@ /area/ship/cargo) "Mo" = ( /obj/structure/catwalk/over/plated_catwalk, -/obj/structure/railing/corner{ - dir = 1 - }, /obj/effect/turf_decal/industrial/stand_clear, /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -2909,7 +2998,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless{ icon_state = "plating_rust" @@ -2939,6 +3028,11 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, +/obj/item/kirbyplants{ + icon_state = "plant-25"; + pixel_x = 8; + pixel_y = -5 + }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "MO" = ( @@ -2984,6 +3078,11 @@ icon_state = "computer-right" }, /obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/vomit/old{ + icon_state = "vomit_4"; + pixel_x = -9; + pixel_y = -6 + }, /turf/open/floor/plasteel/mono/dark, /area/ship/bridge) "Ol" = ( @@ -3039,7 +3138,7 @@ /obj/item/clothing/shoes/jackboots{ pixel_y = -13 }, -/obj/item/ammo_box/c38_box/surplus, +/obj/item/storage/box/ammo/c38_surplus, /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/nanoweave, /area/ship/crew/crewtwo) @@ -3060,6 +3159,20 @@ }, /turf/open/floor/plating/airless, /area/ship/maintenance) +"OH" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/cargo) "OI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -3073,12 +3186,25 @@ }, /turf/open/floor/plasteel/dark, /area/ship/bridge) +"OP" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/item/clothing/head/hardhat{ + pixel_x = 8; + pixel_y = -7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) "Pa" = ( /obj/structure/table/glass, /obj/effect/turf_decal/corner/opaque/blue/full, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = 4; - pixel_y = 5 +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 3 }, /obj/machinery/light_switch{ pixel_y = 22 @@ -3090,7 +3216,7 @@ /turf/open/floor/plasteel/white, /area/ship/crew/canteen) "Pb" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless{ icon_state = "platingdmg1" }, @@ -3179,10 +3305,11 @@ /obj/effect/turf_decal/box/corners{ dir = 4 }, +/obj/structure/tank_dispenser/oxygen, /turf/open/floor/plasteel/mono, /area/ship/cargo) "QM" = ( -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/structure/closet/cardboard, /turf/open/floor/plating/airless, /area/ship/maintenance) @@ -3215,7 +3342,7 @@ pixel_x = -3 }, /obj/machinery/button/shieldwallgen{ - id = "watchdog_holo"; + id = "tortuga_holo"; pixel_x = 8; pixel_y = 23 }, @@ -3231,7 +3358,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless{ icon_state = "plating_rust" }, @@ -3251,6 +3378,7 @@ icon_state = "4-8" }, /obj/structure/closet/secure_closet/engineering_electrical, +/obj/effect/turf_decal/borderfloorblack/full, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "RH" = ( @@ -3272,7 +3400,7 @@ /turf/open/floor/plating, /area/ship/cargo) "RV" = ( -/obj/item/kitchen/knife/plastic{ +/obj/item/melee/knife/plastic{ pixel_x = 8 }, /obj/item/reagent_containers/food/snacks/grown/potato{ @@ -3387,6 +3515,8 @@ }, /obj/machinery/light/directional/south, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/hatch, +/obj/structure/closet/firecloset, /turf/open/floor/pod/dark, /area/ship/maintenance/port) "SV" = ( @@ -3472,6 +3602,7 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, +/obj/structure/closet/emcloset, /turf/open/floor/pod/dark, /area/ship/maintenance/port) "UE" = ( @@ -3498,6 +3629,14 @@ /obj/machinery/door/firedoor/heavy, /turf/open/floor/plating/airless, /area/ship/maintenance) +"Vb" = ( +/obj/machinery/suit_storage_unit/industrial{ + suit_type = /obj/item/clothing/suit/space/hardsuit/security/independent/frontier + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/mineral/plastitanium, +/area/ship/security/armory) "Vd" = ( /obj/structure/curtain/bounty, /turf/open/floor/plasteel, @@ -3587,9 +3726,6 @@ /area/ship/cargo) "VE" = ( /obj/structure/catwalk/over/plated_catwalk, -/obj/structure/railing/corner{ - dir = 8 - }, /obj/effect/turf_decal/industrial/stand_clear{ dir = 1 }, @@ -3694,6 +3830,16 @@ "Wx" = ( /turf/closed/wall/r_wall/rust, /area/ship/crew/canteen) +"WA" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/ripped{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) "WF" = ( /turf/closed/wall/rust, /area/ship/cargo) @@ -3726,8 +3872,9 @@ /obj/structure/cable/yellow{ icon_state = "4-9" }, -/obj/structure/closet/secure_closet/engineering_welding, /obj/effect/decal/cleanable/dirt, +/obj/machinery/power/ship_gravity, +/obj/effect/turf_decal/borderfloorblack/full, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "Xs" = ( @@ -3897,7 +4044,7 @@ /turf/open/floor/plating, /area/ship/cargo) "YU" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless{ icon_state = "plating_rust" @@ -3986,6 +4133,13 @@ }, /turf/open/floor/plating/airless, /area/ship/maintenance) +"ZY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/red{ + dir = 4 + }, +/turf/open/floor/mineral/titanium, +/area/ship/security/armory) (1,1,1) = {" Ek @@ -4211,15 +4365,15 @@ oH Ek tq lh -Uo -EB +OH +Rn DG DG DG DG DG -uL -ld +Rn +Ml Td WF Ek @@ -4240,7 +4394,7 @@ Ek Ek Ek oH -HX +OP HX oH CG @@ -4253,7 +4407,7 @@ DG DG DG DG -BF +Rn Mo Td WF @@ -4288,7 +4442,7 @@ DG DG DG DG -BF +Rn ID Td Ko @@ -4420,7 +4574,7 @@ yl va Uw CG -VP +WA Uo OF tT @@ -4570,7 +4724,7 @@ wF uh nc nc -Td +BF Ko uQ GA @@ -4692,7 +4846,7 @@ QJ QJ QJ QJ -MI +Lo Ab rU Xc @@ -4745,7 +4899,7 @@ Yu qD jV Lz -dm +ZY mg qD qD @@ -4806,7 +4960,7 @@ Vg Ab jJ QT -oU +sM CE bD ng @@ -4852,7 +5006,7 @@ hU gD yH FP -hz +Vb qD MH Eb @@ -4945,7 +5099,7 @@ PV yd rU Lb -gQ +Av gQ LG YI @@ -5166,7 +5320,7 @@ oq SJ mB mw -MI +Lo QJ QJ QJ diff --git a/_maps/shuttles/roumain/srm_elder.dmm b/_maps/shuttles/roumain/srm_elder.dmm index e4a85560cb6..fdd49c8d696 100644 --- a/_maps/shuttles/roumain/srm_elder.dmm +++ b/_maps/shuttles/roumain/srm_elder.dmm @@ -337,18 +337,12 @@ pixel_y = 14; pixel_x = 5 }, -/obj/item/ammo_box/c38_box{ - pixel_x = -6; - pixel_y = 7 - }, +/obj/item/storage/box/ammo/c38, /obj/item/ammo_box/magazine/illestren_a850r{ pixel_x = 8; pixel_y = 6 }, -/obj/item/ammo_box/c38_box{ - pixel_x = -6; - pixel_y = 1 - }, +/obj/item/storage/box/ammo/c38, /obj/item/ammo_box/magazine/illestren_a850r{ pixel_x = 8 }, @@ -1453,7 +1447,7 @@ /obj/vehicle/ridden/wheelchair{ dir = 4 }, -/obj/item/melee/transforming/cleaving_saw/old, +/obj/item/melee/cleaving_saw/old, /turf/open/floor/ship/dirt/dark, /area/ship/bridge) "rj" = ( @@ -1533,7 +1527,7 @@ /obj/item/clothing/shoes/cowboy, /obj/item/clothing/shoes/cowboy/black, /obj/item/clothing/shoes/combat, -/obj/item/kitchen/knife/hunting, +/obj/item/melee/knife/hunting, /obj/item/gps{ pixel_x = -7 }, @@ -2017,7 +2011,7 @@ pixel_x = -2; pixel_y = 2 }, -/obj/item/kitchen/knife/combat, +/obj/item/melee/knife/combat, /obj/effect/turf_decal/spline/fancy/wood{ dir = 5 }, @@ -2025,8 +2019,8 @@ pixel_x = -7 }, /obj/item/storage/backpack/satchel/leather, -/obj/item/ammo_box/a44roum, -/obj/item/storage/pistolcase/montagne, +/obj/item/storage/box/ammo/a44roum, +/obj/item/storage/guncase/pistol/montagne, /obj/item/clothing/accessory/waistcoat/roumain, /turf/open/floor/wood/mahogany, /area/ship/bridge) @@ -2462,15 +2456,15 @@ /area/ship/roumain) "Eh" = ( /obj/structure/table/wood, -/obj/item/spear/bonespear{ +/obj/item/melee/spear/bone{ pixel_y = -3; pixel_x = 2 }, -/obj/item/spear/bonespear{ +/obj/item/melee/spear/bone{ pixel_y = 1; pixel_x = 2 }, -/obj/item/spear/bonespear{ +/obj/item/melee/spear/bone{ pixel_y = 5; pixel_x = 2 }, @@ -2643,7 +2637,7 @@ /obj/item/clothing/shoes/cowboy/black, /obj/item/clothing/shoes/cowboy, /obj/item/clothing/shoes/combat, -/obj/item/kitchen/knife/combat/survival, +/obj/item/melee/knife/survival, /obj/item/gps{ pixel_x = -7 }, @@ -2687,7 +2681,7 @@ pixel_x = -2; pixel_y = 2 }, -/obj/item/kitchen/knife/combat, +/obj/item/melee/knife/combat, /obj/effect/turf_decal/spline/fancy/wood{ dir = 5 }, @@ -2698,7 +2692,7 @@ /obj/item/gun/ballistic/revolver/detective, /obj/item/ammo_box/c38, /obj/item/ammo_box/c38, -/obj/item/ammo_box/c38_box, +/obj/item/storage/box/ammo/c38, /obj/item/clothing/head/cowboy/sec/roumain/colligne, /obj/item/clothing/suit/armor/roumain/colligne, /obj/structure/closet/secure_closet/collignes, @@ -3609,7 +3603,7 @@ /turf/open/floor/wood/maple, /area/ship/crew/cryo) "Sg" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /obj/effect/turf_decal/spline/fancy/wood{ @@ -3656,7 +3650,7 @@ /obj/item/clothing/shoes/cowboy, /obj/item/clothing/shoes/cowboy/black, /obj/item/clothing/shoes/combat, -/obj/item/kitchen/knife/hunting, +/obj/item/melee/knife/hunting, /obj/item/gps{ pixel_x = -7 }, diff --git a/_maps/shuttles/solgov/solgov_chronicle.dmm b/_maps/shuttles/solgov/solgov_chronicle.dmm deleted file mode 100644 index 13e78929b4d..00000000000 --- a/_maps/shuttles/solgov/solgov_chronicle.dmm +++ /dev/null @@ -1,6515 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1; - color = "#543C30" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"ac" = ( -/obj/machinery/computer/security/solgov{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"ah" = ( -/obj/effect/turf_decal/corner/opaque/solgovgold/three_quarters{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/railing/corner, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"av" = ( -/obj/structure/fluff/hedge/opaque, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"aA" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2, -/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ - dir = 4 - }, -/obj/machinery/meter/atmos/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"aB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#543C30" - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew) -"aG" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/machinery/button/door{ - dir = 8; - pixel_x = 22; - pixel_y = 10; - name = "blast door control"; - id = "sgc_airlock1" - }, -/obj/structure/sign/warning/vacuum/external{ - pixel_y = -22 - }, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"aN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 10 - }, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"aP" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 1 - }, -/obj/structure/bookcase/random, -/turf/open/floor/wood/walnut, -/area/ship/crew/crewtwo) -"aU" = ( -/obj/effect/turf_decal/corner/opaque/solgovgold{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"bd" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood, -/area/ship/crew) -"be" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_bridge"; - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ship/bridge) -"bf" = ( -/obj/structure/table/wood/fancy/purple, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"bg" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"bm" = ( -/obj/effect/turf_decal/solgov/center_left, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"br" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/machinery/light/directional/west, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"bs" = ( -/obj/machinery/telecomms/broadcaster/preset_left{ - network = "SolNet" - }, -/obj/machinery/door/window/brigdoor/northright{ - dir = 2; - req_one_access = list(61,11) - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/circuit, -/area/ship/engineering) -"bt" = ( -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/turf/closed/wall/mineral/titanium, -/area/ship/crew/crewtwo) -"bu" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/light/floor, -/turf/open/floor/engine/hull, -/area/ship/engineering/engine) -"bw" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/button/door{ - pixel_y = 11; - pixel_x = 22; - dir = 8; - name = "window shutter control"; - id = "sgc_dorm" - }, -/turf/open/floor/wood, -/area/ship/crew) -"bx" = ( -/obj/machinery/vending/coffee, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"bA" = ( -/obj/structure/window/reinforced/tinted{ - dir = 8 - }, -/obj/structure/bed, -/obj/item/bedsheet/solgov, -/obj/structure/curtain/cloth, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"bB" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 13; - pixel_y = -20 - }, -/turf/open/floor/plasteel/freezer, -/area/ship/crew) -"bH" = ( -/obj/structure/closet/secure_closet/captains{ - populate = 0; - anchored = 1 - }, -/obj/item/clothing/under/solgov/formal/captain, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/head/solgov/captain, -/obj/item/folder/solgov, -/obj/item/folder/solgov, -/obj/item/folder/documents/solgov, -/obj/item/folder/documents/solgov, -/obj/item/clothing/under/solgov/formal, -/obj/item/clothing/gloves/combat, -/obj/item/storage/backpack/captain, -/obj/item/door_remote/captain, -/obj/item/storage/belt/sabre/solgov, -/obj/item/clothing/under/solgov/dress, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/captain, -/obj/item/stamp/solgov, -/obj/item/clothing/suit/armor/solgov_trenchcoat, -/obj/item/spacecash/bundle/loadsamoney, -/obj/item/clothing/neck/cloak/solgovcap, -/obj/item/storage/pistolcase/modelh, -/obj/item/ammo_box/ferroslugbox, -/turf/open/floor/carpet/royalblue, -/area/ship/crew/office) -"cg" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-9" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"cp" = ( -/obj/machinery/computer/message_monitor{ - dir = 8 - }, -/obj/item/radio/intercom/directional/east, -/obj/machinery/airalarm/directional/south, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"cw" = ( -/obj/docking_port/mobile{ - port_direction = 8; - preferred_direction = 4; - dir = 2 - }, -/turf/closed/wall/mineral/titanium, -/area/ship/crew) -"cP" = ( -/obj/machinery/door/poddoor{ - dir = 4; - id = "sgc_cargo" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"cT" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/engineering) -"cW" = ( -/obj/structure/table/wood, -/obj/item/paper_bin/carbon{ - pixel_x = 7; - pixel_y = 8 - }, -/obj/item/paper_bin{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/pen/solgov{ - pixel_x = -5 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood, -/area/ship/crew) -"da" = ( -/obj/machinery/computer/cargo/express/solgov{ - dir = 4 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"dd" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/rack, -/obj/machinery/firealarm/directional/south, -/obj/item/stack/sheet/mineral/plasma/twenty, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"dj" = ( -/obj/structure/closet/crate/bin, -/obj/item/trash/sosjerky, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/ship/crew) -"dm" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/fancy/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"dz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/button/door{ - pixel_y = -22; - pixel_x = -9; - id = "sgc_overseer"; - name = "window shutter control"; - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"dA" = ( -/obj/machinery/computer/cryopod/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel, -/area/ship/crew/dorm) -"dC" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "sgc_airlock2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewtwo) -"dR" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"ez" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/airlock{ - name = "Dorm" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/dorm) -"eD" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 9 - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"eQ" = ( -/obj/structure/table/wood/fancy/purple, -/obj/item/paper_bin, -/obj/item/desk_flag/solgov{ - pixel_y = 12; - pixel_x = -7 - }, -/obj/item/pen/solgov, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 9 - }, -/obj/machinery/newscaster/directional/north, -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"eU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 5 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/obj/machinery/firealarm/directional/west{ - pixel_y = 5 - }, -/obj/machinery/button/door{ - dir = 4; - pixel_y = -10; - pixel_x = -22; - id = "sgc_engine" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"eV" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"fd" = ( -/obj/structure/table/wood, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/wood, -/area/ship/crew) -"fe" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"fj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 5 - }, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/structure/sign/poster/solgov/random{ - pixel_y = 30 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"fl" = ( -/obj/structure/closet/secure_closet/miner{ - name = "field engineer's locker"; - populate = 0; - anchored = 1 - }, -/obj/item/pickaxe/drill/jackhammer, -/obj/item/storage/toolbox/mechanical, -/obj/item/clothing/head/hardhat/solgov, -/obj/item/radio{ - icon_state = "sec_radio" - }, -/obj/item/clothing/under/solgov/formal, -/obj/item/clothing/under/solgov/dress, -/obj/item/clothing/under/solgov, -/obj/item/clothing/suit/hazardvest/solgov, -/obj/item/clothing/accessory/armband/cargo, -/obj/item/clothing/shoes/workboots, -/obj/item/kitchen/knife/combat/survival, -/obj/item/clothing/gloves/combat, -/obj/item/storage/backpack, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/outline/red, -/obj/item/clothing/glasses/meson, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"fq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"fw" = ( -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"fz" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/computer/bookmanagement{ - pixel_y = 7; - icon_state = "laptop"; - dir = 8 - }, -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"fA" = ( -/obj/effect/turf_decal/solgov/center_right, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"fN" = ( -/obj/machinery/holopad/secure, -/turf/open/floor/wood, -/area/ship/bridge) -"fT" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"fW" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) -"ga" = ( -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 1; - id = "sgc_cs" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "sgc_cargo" - }, -/obj/structure/cable, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"gi" = ( -/obj/effect/turf_decal/siding/wood{ - color = "#543C30" - }, -/obj/structure/railing/wood{ - color = "#543C30" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"gk" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_bridge" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"gs" = ( -/obj/effect/landmark/start/security_officer, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"gB" = ( -/obj/structure/cable/yellow{ - icon_state = "2-5" - }, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 9 - }, -/obj/structure/noticeboard/staff{ - dir = 4; - pixel_x = -26 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"gK" = ( -/turf/open/floor/plating, -/area/ship/external) -"gZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/ship/engineering) -"hh" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/passive_vent/layer4{ - dir = 4 - }, -/obj/structure/sign/solgov_seal{ - pixel_y = -27 - }, -/turf/open/floor/engine/hull/reinforced, -/area/ship/engineering/engine) -"hp" = ( -/obj/structure/table/wood, -/obj/structure/railing/wood{ - color = "#792f27" - }, -/obj/item/reagent_containers/food/snacks/grown/cabbage{ - pixel_x = 1; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/snacks/grown/cabbage{ - pixel_y = 6; - pixel_x = 9 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew) -"hr" = ( -/obj/structure/table/wood/fancy/purple, -/obj/machinery/fax/solgov, -/obj/item/desk_flag/solgov{ - pixel_x = 8; - pixel_y = 13 - }, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 5 - }, -/obj/machinery/button/door{ - pixel_y = 23; - pixel_x = 10; - id = "sgc_captain"; - name = "window shutter control" - }, -/turf/open/floor/wood, -/area/ship/crew/office) -"hs" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 5 - }, -/obj/machinery/firealarm/directional/north, -/obj/item/kirbyplants{ - icon_state = "applebush"; - pixel_y = 16; - pixel_x = 8 - }, -/obj/item/kirbyplants{ - icon_state = "plant-11"; - pixel_x = 6; - pixel_y = 2 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21"; - pixel_x = -12; - pixel_y = 18 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"hw" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"hx" = ( -/obj/item/kirbyplants{ - icon_state = "plant-11"; - pixel_x = -12; - pixel_y = 19; - layer = 2.89 - }, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/light_switch{ - pixel_y = 21; - pixel_x = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"hA" = ( -/obj/machinery/door/airlock/solgov{ - dir = 4; - name = "Bridge"; - req_access = list(19) - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"hM" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"hS" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"hU" = ( -/obj/item/kirbyplants{ - icon_state = "plant-06"; - pixel_y = 16; - pixel_x = 16 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/wood, -/area/ship/crew) -"hX" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-5" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"id" = ( -/obj/structure/closet/secure_closet/security{ - populate = 0; - name = "sonnensöldners's locker"; - anchored = 1 - }, -/obj/item/clothing/head/solgov/sonnensoldner, -/obj/structure/sign/poster/solgov/sonnensoldner{ - pixel_y = 30 - }, -/obj/item/radio{ - icon_state = "sec_radio" - }, -/obj/item/clothing/under/solgov/formal, -/obj/item/clothing/under/solgov/dress, -/obj/item/clothing/under/solgov, -/obj/item/clothing/shoes/workboots, -/obj/item/storage/belt/sabre/solgov, -/obj/item/clothing/gloves/combat, -/obj/item/radio/headset/solgov/alt, -/obj/item/storage/backpack, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/outline/red, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"ie" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"if" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/button/door{ - pixel_y = 22; - pixel_x = 9; - id = "sgc_engi"; - name = "window shutter control" - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"ip" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/crewtwo) -"iA" = ( -/obj/structure/closet/crate/bin, -/obj/machinery/light/small/directional/east, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"ja" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/dorm) -"jb" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"jd" = ( -/obj/structure/table/wood, -/obj/structure/railing/wood{ - dir = 6; - color = "#792f27" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#543C30" - }, -/obj/item/reagent_containers/food/snacks/grown/cabbage{ - pixel_y = 4 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew) -"ju" = ( -/turf/open/floor/carpet/royalblue, -/area/ship/crew/office) -"jz" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/engine) -"jJ" = ( -/obj/machinery/button/door{ - dir = 4; - pixel_y = -8; - pixel_x = -22; - id = "sgc_airlock2"; - req_one_access = list(20,19); - name = "blast door control" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/light_switch{ - pixel_y = 21; - pixel_x = 7 - }, -/obj/machinery/light/small/directional/west{ - pixel_y = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"jS" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"jU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew) -"ke" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/corner/opaque/solgovblue/three_quarters{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 11; - pixel_y = -16 - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"kg" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/bookbinder, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"kl" = ( -/obj/structure/table/wood/fancy/purple, -/obj/machinery/computer/secure_data/laptop{ - dir = 8; - pixel_y = 5; - pixel_x = 4 - }, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/office) -"kp" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/crew) -"kw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"kz" = ( -/obj/machinery/telecomms/hub{ - autolinkers = list("solgov","broadcasterA","receiverA","solgovPDA","SolHub"); - network = "SolNet"; - id = "Solgov Hub" - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering) -"kI" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer2{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"kN" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/dorm) -"kT" = ( -/obj/effect/turf_decal/corner/opaque/solgovblue/three_quarters{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"lc" = ( -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew) -"lA" = ( -/obj/effect/turf_decal/atmos/nitrogen{ - dir = 1; - layer = 2.04 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"lJ" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/crew) -"lP" = ( -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/fancy/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"lZ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/structure/sign/warning{ - pixel_y = 9; - pixel_x = -23 - }, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"ma" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"ml" = ( -/obj/effect/turf_decal/industrial/warning/dust{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull, -/area/ship/external) -"mz" = ( -/obj/effect/turf_decal/corner/opaque/solgovblue/three_quarters, -/obj/structure/chair/office, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"mA" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/airlock/mining{ - name = "Cargo" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"mG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ship/crew) -"mN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/turf/open/floor/wood, -/area/ship/crew) -"mP" = ( -/obj/structure/filingcabinet/double, -/obj/item/documents/solgov, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood, -/area/ship/crew/office) -"mZ" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/fluff/hedge/opaque, -/turf/open/floor/wood, -/area/ship/crew/office) -"nb" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"nd" = ( -/obj/structure/table/wood, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"ne" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"ng" = ( -/obj/structure/window/reinforced, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/outlet_injector/on, -/turf/open/floor/engine/o2, -/area/ship/engineering/engine) -"nj" = ( -/obj/structure/bed, -/obj/item/bedsheet/solgov, -/obj/structure/curtain/cloth, -/obj/structure/sign/solgov_flag{ - dir = 1; - pixel_y = -27 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"nF" = ( -/obj/structure/closet/crate/wooden, -/obj/machinery/light/directional/south, -/obj/item/mop, -/obj/item/reagent_containers/glass/bucket, -/obj/item/soap, -/obj/item/soap, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"nH" = ( -/obj/structure/chair/sofa/brown/right/directional/east, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"nP" = ( -/obj/structure/dresser, -/obj/machinery/light/directional/south, -/turf/open/floor/carpet/royalblue, -/area/ship/crew/office) -"nR" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/solgov/center, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/landmark/observer_start, -/turf/open/floor/plasteel, -/area/ship/cargo) -"nU" = ( -/obj/item/paper_bin/carbon{ - pixel_x = 7; - pixel_y = 8 - }, -/obj/item/paper_bin{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/pen/solgov{ - pixel_x = -4 - }, -/obj/effect/turf_decal/corner/opaque/solgovblue/three_quarters{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/table/wood/fancy/blue, -/turf/open/floor/wood, -/area/ship/bridge) -"nW" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/airlock/solgov{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewtwo) -"ol" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_dorm" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/crew) -"oz" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/wood, -/area/ship/crew/office) -"oC" = ( -/obj/effect/turf_decal/corner/opaque/solgovgold/three_quarters{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/autoname{ - dir = 10 - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"oH" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 10 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/door/window/brigdoor/northleft{ - dir = 2; - req_one_access = list(61,11) - }, -/obj/machinery/telecomms/bus{ - id = "bus mainframe"; - network = "SolNet"; - autolinkers = list("processor7","solgov") - }, -/turf/open/floor/circuit, -/area/ship/engineering) -"oK" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"oY" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ - dir = 5 - }, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) -"pi" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_dorm" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ship/crew) -"pl" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/rack, -/obj/item/radio/intercom/directional/north, -/obj/item/stack/sheet/metal/five, -/obj/item/stack/sheet/metal/five, -/obj/item/stack/sheet/metal/five, -/obj/item/stack/sheet/glass/five, -/obj/item/stack/sheet/glass/five, -/obj/item/stack/sheet/glass/five, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"pC" = ( -/obj/machinery/light/directional/west, -/obj/machinery/modular_computer/console/preset/command{ - dir = 4 - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"pR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"pS" = ( -/turf/template_noop, -/area/template_noop) -"qe" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/wood/corner{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"qg" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/suit/solgov/dress, -/obj/item/clothing/suit/solgov/jacket, -/obj/item/radio/headset, -/obj/item/radio/headset, -/obj/item/radio/headset, -/obj/item/radio/headset, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio/intercom/directional/north, -/obj/machinery/light/small/directional/east, -/obj/item/clothing/under/solgov, -/obj/item/clothing/under/solgov, -/obj/item/clothing/under/solgov/dress, -/obj/item/clothing/under/solgov/dress, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"qz" = ( -/obj/machinery/photocopier, -/obj/machinery/light/directional/south, -/turf/open/floor/wood, -/area/ship/crew) -"qH" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"rq" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/airlock/engineering{ - dir = 4; - req_access = list(11); - name = "Equipment Room" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"rw" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"rD" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew/office) -"rJ" = ( -/obj/machinery/suit_storage_unit/solgov, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"rK" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_bridge" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"rO" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"rS" = ( -/obj/machinery/autolathe, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"rZ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew) -"sa" = ( -/obj/machinery/computer/telecomms/monitor/solgov{ - dir = 1; - network = "SolNet" - }, -/obj/structure/railing, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"sd" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/structure/reagent_dispensers/fueltank, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"sf" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"sq" = ( -/obj/effect/turf_decal/siding/wood{ - color = "#543C30" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"sx" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - dir = 4; - req_one_access = list(1,48) - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "sgc_airlock1" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"sz" = ( -/obj/effect/turf_decal/siding/wood{ - color = "#543C30" - }, -/obj/structure/railing/wood{ - color = "#543C30" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ship/bridge) -"sA" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/crewtwo) -"sE" = ( -/obj/machinery/advanced_airlock_controller{ - pixel_y = 24; - req_ship_access = 1; - req_access = null; - req_one_access = list(1,48) - }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"sL" = ( -/obj/effect/turf_decal/corner/opaque/solgovgold/three_quarters, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"sM" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) -"sS" = ( -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) -"sU" = ( -/obj/machinery/shower{ - dir = 1 - }, -/obj/structure/curtain, -/obj/structure/window/reinforced/tinted{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/dorm) -"ti" = ( -/obj/item/energyhalberd/purple, -/obj/item/energyhalberd/purple, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/closet/cabinet{ - name = "energy halbreds" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"tl" = ( -/obj/effect/turf_decal/siding/wood/corner{ - color = "#543C30"; - dir = 8 - }, -/obj/structure/railing/corner/wood{ - color = "#543C30"; - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ship/bridge) -"tr" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/wood, -/area/ship/crew) -"ty" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"tC" = ( -/obj/structure/window/reinforced, -/obj/machinery/door/window/brigdoor/eastleft{ - dir = 8; - req_one_access = list(61,11) - }, -/obj/machinery/telecomms/message_server{ - autolinkers = list("solgovPDA"); - network = "SolNet"; - calibrating = 0 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/circuit/red, -/area/ship/engineering) -"tJ" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew) -"tQ" = ( -/obj/structure/table/wood, -/obj/item/paper_bin/carbon{ - pixel_x = 7; - pixel_y = 8 - }, -/obj/item/paper_bin{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/pen/solgov{ - pixel_x = -5 - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"tV" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/office) -"um" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/industrial/outline/orange, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"un" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ship/bridge) -"uA" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 10 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"uC" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_bridge" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"uD" = ( -/obj/effect/turf_decal/corner/opaque/solgovgold{ - dir = 9 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"uK" = ( -/obj/effect/turf_decal/siding/wood{ - color = "#543C30" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"uW" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/obj/structure/fluff/hedge, -/turf/open/floor/wood/walnut, -/area/ship/crew/crewtwo) -"ve" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/engine/hull, -/area/ship/engineering/engine) -"vo" = ( -/obj/machinery/advanced_airlock_controller{ - pixel_y = 24 - }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewtwo) -"vr" = ( -/obj/effect/turf_decal/corner/opaque/solgovgold/three_quarters, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"vx" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/crew) -"vO" = ( -/obj/structure/table/wood/fancy/purple, -/obj/item/binoculars{ - pixel_y = 7 - }, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/wood, -/area/ship/crew/office) -"vR" = ( -/obj/machinery/door/window{ - dir = 8; - opacity = 1; - name = "Tinted Interior Door" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"wt" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ - dir = 4 - }, -/obj/structure/sign/solgov_seal, -/turf/open/floor/engine/hull/reinforced, -/area/ship/engineering/engine) -"wK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 10 - }, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"wP" = ( -/obj/effect/turf_decal/industrial/warning/dust/corner{ - dir = 1 - }, -/obj/machinery/light/floor, -/obj/structure/sign/solgov_seal{ - pixel_y = 0; - pixel_x = -29 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull, -/area/ship/external) -"wT" = ( -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"wU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/wood, -/area/ship/bridge) -"wV" = ( -/obj/structure/table/wood, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 10 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"wW" = ( -/obj/item/kirbyplants{ - icon_state = "plant-11"; - pixel_x = 10; - layer = 2.89 - }, -/obj/structure/table/wood/fancy/purple, -/obj/item/paper/crumpled, -/obj/item/pen/fountain/solgov, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 4 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/wood, -/area/ship/crew/office) -"xf" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer4, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"xt" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1; - color = "#543C30" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/camera/autoname, -/turf/open/floor/wood, -/area/ship/bridge) -"xu" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"xI" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/chair/wood, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"xL" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/airlock/solgov{ - dir = 4; - name = "Command Wing" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewtwo) -"xM" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_captain"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/crew/office) -"xO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew) -"ya" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"yj" = ( -/obj/structure/chair/sofa/brown/corner/directional/east, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"yu" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_bridge"; - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"yv" = ( -/obj/structure/cable{ - icon_state = "1-10" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ship/crew) -"yw" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) -"yA" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/airlock{ - name = "Dorm"; - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/dorm) -"yD" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"yE" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/wood, -/area/ship/crew/office) -"yQ" = ( -/obj/item/kirbyplants{ - icon_state = "plant-17"; - pixel_y = 23; - pixel_x = -7 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood, -/area/ship/bridge) -"yY" = ( -/obj/structure/closet/secure_closet/freezer/kitchen{ - req_access = null - }, -/obj/structure/railing/wood{ - dir = 4; - color = "#792f27" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#543C30" - }, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/milk, -/turf/open/floor/wood/mahogany, -/area/ship/crew) -"zh" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/door/poddoor{ - id = "sgc_engine"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"zi" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"zk" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/turf_decal/box/corners, -/obj/item/reagent_containers/food/snacks/grown/cabbage, -/obj/item/reagent_containers/food/snacks/grown/cabbage, -/obj/item/reagent_containers/food/snacks/grown/cabbage, -/obj/item/reagent_containers/food/snacks/grown/cabbage, -/obj/item/reagent_containers/food/snacks/grown/cabbage, -/obj/item/reagent_containers/food/snacks/grown/cabbage, -/obj/item/reagent_containers/food/snacks/grown/cabbage, -/obj/item/reagent_containers/food/snacks/grown/cabbage, -/obj/item/reagent_containers/food/condiment/saltshaker, -/obj/item/reagent_containers/food/condiment/saltshaker, -/obj/item/reagent_containers/food/condiment/saltshaker, -/obj/item/reagent_containers/food/condiment/saltshaker, -/obj/structure/closet/crate/secure/gear{ - populate = 0; - name = "emergency sauerkraut supplies"; - desc = "For emergency use only"; - req_access = list(19) - }, -/obj/item/reagent_containers/food/snacks/grown/cabbage, -/obj/item/reagent_containers/food/snacks/grown/cabbage, -/obj/item/reagent_containers/food/snacks/grown/cabbage, -/obj/item/reagent_containers/food/snacks/grown/cabbage, -/obj/structure/sign/warning/incident{ - pixel_y = 30 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"zm" = ( -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/structure/table/wood, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"zq" = ( -/obj/effect/turf_decal/atmos/oxygen{ - layer = 2.04 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"zs" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"zu" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew) -"zv" = ( -/obj/structure/chair/sofa/brown/directional/east, -/obj/machinery/light/small/directional/west, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"zw" = ( -/obj/effect/turf_decal/solgov/bottom_right, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"zM" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"zR" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Ad" = ( -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) -"Ag" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/light/small/directional/south, -/obj/structure/sign/solgov_seal{ - pixel_y = 0; - pixel_x = -29 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"Ah" = ( -/obj/structure/railing/corner/wood{ - color = "#543C30" - }, -/obj/machinery/computer/helm/solgov{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"As" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/closet/secure_closet/engineering_personal{ - name = "ship engineer's locker"; - populate = 0 - }, -/obj/item/storage/backpack/industrial, -/obj/effect/turf_decal/industrial/outline/orange, -/obj/item/clothing/head/hardhat/solgov, -/obj/item/folder/solgov, -/obj/item/clipboard, -/obj/item/clothing/under/solgov/formal, -/obj/item/clothing/under/solgov, -/obj/item/clothing/accessory/armband/engine, -/obj/item/storage/toolbox/mechanical, -/obj/item/clothing/glasses/welding, -/obj/item/clothing/head/welding, -/obj/item/pen/solgov, -/obj/item/clothing/suit/hazardvest/solgov, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/gloves/combat, -/obj/machinery/light/directional/west, -/obj/structure/sign/poster/solgov/random{ - pixel_y = 30 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"Au" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/suit/solgov/dress, -/obj/item/clothing/suit/solgov/jacket, -/obj/item/radio/headset, -/obj/item/radio/headset, -/obj/item/radio/headset, -/obj/item/radio/headset, -/obj/item/radio, -/obj/item/radio, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/obj/machinery/light_switch{ - pixel_y = 21; - pixel_x = -12 - }, -/obj/item/clothing/under/solgov, -/obj/item/clothing/under/solgov, -/obj/item/clothing/under/solgov/dress, -/obj/item/clothing/under/solgov/dress, -/obj/machinery/camera/autoname{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Ax" = ( -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"Az" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"AK" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/button/door{ - dir = 1; - pixel_y = -22; - pixel_x = 8; - id = "sgc_cargo"; - name = "blast door control" - }, -/obj/machinery/button/shieldwallgen{ - dir = 1; - pixel_y = -20; - pixel_x = -2; - id = "sgc_cs" - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"AM" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/landmark/start/shaft_miner, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"AN" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/engineering/engine) -"AQ" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"AR" = ( -/obj/structure/mirror{ - pixel_y = 24 - }, -/obj/structure/sink{ - pixel_y = 19 - }, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/dorm) -"AV" = ( -/obj/machinery/telecomms/processor{ - autolinkers = list("processor7"); - network = "SolNet"; - id = "Processor" - }, -/obj/structure/window/reinforced, -/obj/machinery/door/window/brigdoor/westleft{ - dir = 4; - req_one_access = list(61,11) - }, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/techfloor, -/turf/open/floor/circuit/green, -/area/ship/engineering) -"AZ" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_bridge" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ship/bridge) -"Be" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"Bn" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Bs" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" - }, -/turf/open/floor/wood, -/area/ship/bridge) -"Bz" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/window/reinforced, -/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, -/turf/open/floor/engine/o2, -/area/ship/engineering/engine) -"BE" = ( -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"BZ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"Cb" = ( -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) -"Cd" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"Cf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"Cm" = ( -/obj/machinery/door/airlock/solgov{ - dir = 4; - name = "Captain's Quarters"; - req_access = list(20) - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/office) -"Cs" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/industrial/outline/orange, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"CC" = ( -/obj/machinery/door/airlock/solgov{ - dir = 4; - name = "Overseer's Quarters"; - req_access = list(57) - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewtwo) -"CE" = ( -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/turf/closed/wall/mineral/titanium, -/area/ship/security/armory) -"CK" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/security/armory) -"CM" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"CU" = ( -/obj/machinery/fax/solgov, -/obj/structure/table/wood, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/ship/crew) -"Dn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/office{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/wood, -/area/ship/crew/office) -"Ds" = ( -/obj/effect/turf_decal/siding/wood{ - color = "#543C30" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"Du" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/wood, -/area/ship/crew) -"DC" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"DN" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/firealarm/directional/north, -/obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = -12 - }, -/turf/open/floor/wood, -/area/ship/crew/office) -"DW" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/structure/table/wood, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 10 - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"Ef" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - dir = 4; - req_one_access = list(1,48) - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "sgc_airlock1" - }, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"Ep" = ( -/obj/effect/turf_decal/corner/opaque/solgovgold/three_quarters{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"Er" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/bridge) -"Ex" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/engine/n2, -/area/ship/engineering/engine) -"Ez" = ( -/obj/structure/closet/secure_closet/wall/directional/north{ - name = "bridge supplies" - }, -/obj/item/binoculars, -/obj/item/binoculars{ - pixel_y = 6 - }, -/obj/item/gps{ - gpstag = "SGSV Chronicle" - }, -/obj/item/pen/fountain/solgov, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ship/bridge) -"EC" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"EF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" - }, -/obj/machinery/airalarm/directional/west, -/obj/item/kirbyplants{ - icon_state = "applebush"; - pixel_y = 19; - pixel_x = -8 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"EX" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"EZ" = ( -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/item/kirbyplants{ - icon_state = "plant-21"; - pixel_x = 7; - pixel_y = 18 - }, -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_x = 8; - pixel_y = 2 - }, -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_y = 11; - pixel_x = -6 - }, -/turf/open/floor/wood, -/area/ship/crew/office) -"Fa" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/ship/crew) -"Fg" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = -12 - }, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"Fh" = ( -/obj/structure/sign/solgov_seal{ - pixel_y = 0; - pixel_x = 28 - }, -/turf/open/floor/plating, -/area/ship/external) -"Fl" = ( -/obj/docking_port/stationary{ - dir = 4; - height = 15; - dwidth = 15; - width = 30 - }, -/turf/template_noop, -/area/template_noop) -"Fm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"FC" = ( -/obj/structure/bed, -/obj/item/bedsheet/solgov, -/obj/structure/sign/solgov_flag{ - dir = 8; - pixel_x = 28 - }, -/turf/open/floor/carpet/royalblue, -/area/ship/crew/crewtwo) -"FG" = ( -/obj/structure/railing/wood{ - dir = 6; - color = "#543C30" - }, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/mug/tea{ - pixel_y = 5 - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"FM" = ( -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"FO" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/camera/autoname{ - dir = 10 - }, -/turf/open/floor/wood, -/area/ship/crew) -"FX" = ( -/obj/structure/noticeboard/staff{ - dir = 4; - pixel_x = -26 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/wood, -/area/ship/crew/dorm) -"Gk" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"Gt" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/sign/warning/vacuum/external{ - pixel_y = 10; - pixel_x = -30 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/closet/firecloset/wall/directional/south, -/obj/machinery/camera/autoname{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"Gv" = ( -/obj/machinery/atmospherics/components/unary/thermomachine{ - piping_layer = 2 - }, -/obj/effect/turf_decal/industrial/outline/orange, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"Gw" = ( -/obj/effect/turf_decal/corner/opaque/solgovblue/three_quarters{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"GH" = ( -/obj/effect/turf_decal/corner/opaque/solgovgold{ - dir = 6 - }, -/turf/template_noop, -/area/template_noop) -"GP" = ( -/obj/machinery/door/airlock/solgov{ - dir = 4; - name = "Armaments Wing"; - req_one_access = list(1,48) - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/security/armory) -"GT" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"Hb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" - }, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 5 - }, -/obj/machinery/light/small/directional/north, -/obj/structure/table/wood/fancy/blue, -/obj/machinery/camera/autoname, -/turf/open/floor/wood, -/area/ship/bridge) -"Hd" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"Ho" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"Hp" = ( -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/solgov, -/obj/item/tank/jetpack/oxygen, -/turf/open/floor/wood, -/area/ship/crew/office) -"HA" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/landmark/start/shaft_miner, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"HM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/ship/crew) -"Id" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_overseer"; - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ship/crew/crewtwo) -"Ii" = ( -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"Im" = ( -/obj/machinery/power/port_gen/pacman, -/obj/structure/cable/yellow, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/industrial/outline/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"In" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"Io" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/crewtwo) -"Iv" = ( -/obj/effect/turf_decal/corner/opaque/solgovblue/three_quarters, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = 7 - }, -/obj/structure/table/wood/fancy/blue, -/turf/open/floor/wood, -/area/ship/bridge) -"ID" = ( -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"IH" = ( -/obj/machinery/telecomms/server/presets/solgov{ - autolinkers = list("solgov","sproingle"); - network = "SolNet" - }, -/obj/machinery/door/window/brigdoor/northleft{ - dir = 2; - req_one_access = list(61,11) - }, -/obj/structure/sign/poster/solgov/random{ - pixel_y = 30 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/circuit, -/area/ship/engineering) -"II" = ( -/obj/structure/railing/wood{ - color = "#543C30" - }, -/obj/structure/table/wood, -/obj/machinery/light/directional/west, -/obj/item/paper_bin{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/pen/solgov{ - pixel_x = -5 - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"Ja" = ( -/obj/structure/chair/sofa/brown/directional/south, -/obj/effect/landmark/start/assistant, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"Jd" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"Jh" = ( -/obj/structure/table/wood/fancy/blue, -/obj/machinery/fax/solgov, -/obj/item/desk_flag/solgov{ - pixel_x = -9; - pixel_y = 14 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"Jn" = ( -/obj/item/bedsheet/double/solgov{ - dir = 1 - }, -/obj/structure/bed/double{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/obj/structure/sign/solgov_flag{ - dir = 4; - pixel_x = -27 - }, -/turf/open/floor/carpet/royalblue, -/area/ship/crew/office) -"Ju" = ( -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_x = 9; - pixel_y = -4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew) -"JH" = ( -/obj/machinery/computer/telecomms/server/solgov{ - dir = 1; - network = "SolNet" - }, -/obj/structure/railing{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"JI" = ( -/obj/effect/turf_decal/siding/wood/corner{ - color = "#543C30"; - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/wood, -/area/ship/bridge) -"JJ" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/fluff/hedge/opaque, -/turf/open/floor/wood, -/area/ship/crew/office) -"JN" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/engineering) -"JQ" = ( -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 5 - }, -/obj/structure/bookcase/random, -/turf/open/floor/wood/walnut, -/area/ship/crew/crewtwo) -"JS" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_dorm" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/crew) -"Ka" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_captain"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ship/crew/office) -"Kb" = ( -/obj/structure/cable/yellow{ - icon_state = "4-10" - }, -/obj/effect/turf_decal/corner/opaque/solgovgold{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"Kc" = ( -/obj/effect/turf_decal/siding/wood{ - color = "#543C30" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"Kh" = ( -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/end, -/obj/structure/fluff/hedge, -/turf/open/floor/wood/walnut, -/area/ship/crew/crewtwo) -"Ks" = ( -/obj/structure/guncloset{ - desc = "A locker that holds weapons."; - name = "weapon locker" - }, -/obj/item/gun/ballistic/automatic/pistol/solgov, -/obj/item/gun/ballistic/automatic/pistol/solgov, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/item/gun/ballistic/automatic/powered/gauss/claris, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"Kv" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"Ky" = ( -/obj/structure/closet/crate/bin, -/obj/item/trash/semki, -/obj/item/radio/intercom/directional/east, -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"KG" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"KN" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_captain"; - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ship/crew/office) -"KU" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/airlock/solgov, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"KZ" = ( -/obj/structure/grille, -/turf/open/floor/plating, -/area/ship/external) -"Lb" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/solgovblue/three_quarters{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"Lc" = ( -/obj/effect/turf_decal/siding/wood/corner{ - color = "#543C30"; - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" - }, -/obj/structure/railing/wood{ - color = "#543C30"; - dir = 8 - }, -/obj/item/radio/intercom/table, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 10 - }, -/obj/machinery/light/small/directional/south, -/obj/structure/table/wood/fancy/blue, -/turf/open/floor/wood, -/area/ship/bridge) -"Lk" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/solgovblue, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"LB" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/power/ship_gravity, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering/engine) -"LE" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewtwo) -"LL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/dorm) -"Md" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/closet/firecloset/wall/directional/south, -/turf/open/floor/wood, -/area/ship/bridge) -"Me" = ( -/obj/machinery/cryopod, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 5 - }, -/obj/machinery/camera/autoname{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm) -"Mx" = ( -/obj/structure/filingcabinet/double, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"MC" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/bridge) -"ME" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"MH" = ( -/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{ - dir = 8; - piping_layer = 2 - }, -/obj/effect/turf_decal/industrial/outline/orange, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering/engine) -"MT" = ( -/obj/machinery/power/port_gen/pacman, -/obj/structure/cable/yellow, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/industrial/outline/orange, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"MZ" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_bridge" - }, -/turf/open/floor/plating, -/area/ship/crew/crewtwo) -"Nb" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer2, -/obj/effect/turf_decal/corner/opaque/solgovgold/three_quarters, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/closet/firecloset/wall/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/engineering/engine) -"Nm" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 11; - pixel_y = -16 - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm) -"Ns" = ( -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood/mahogany, -/area/ship/crew) -"Nu" = ( -/obj/structure/table/wood, -/obj/structure/railing/wood{ - color = "#792f27" - }, -/obj/machinery/light/small/directional/west, -/obj/item/pestle, -/obj/structure/large_mortar, -/turf/open/floor/wood/mahogany, -/area/ship/crew) -"Nw" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_overseer"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/ship/crew/crewtwo) -"Nz" = ( -/obj/structure/chair/sofa/brown/left/directional/south, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"NH" = ( -/obj/machinery/shower{ - dir = 1 - }, -/obj/structure/curtain, -/obj/structure/window/reinforced/tinted{ - dir = 4 - }, -/obj/structure/chair/plastic{ - dir = 4; - name = "shower chair"; - desc = "Welcome to the shower" - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/dorm) -"Ob" = ( -/obj/effect/turf_decal/corner/opaque/solgovgold/three_quarters{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"Of" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer5, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline/orange, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"Oo" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_bridge"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"Oq" = ( -/obj/structure/table/wood/fancy/purple, -/obj/item/paper_bin/carbon{ - pixel_x = 7; - pixel_y = 8 - }, -/obj/item/paper_bin{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/folder/solgov{ - pixel_x = 4 - }, -/obj/item/pen/solgov{ - pixel_x = 2 - }, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/office) -"OU" = ( -/obj/item/clothing/neck/cloak/overseer, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/overseer, -/obj/structure/closet/secure_closet/head_of_personnel{ - anchored = 1; - name = "\proper overseer's locker"; - populate = 0 - }, -/obj/item/clothing/gloves/combat, -/obj/item/folder/solgov, -/obj/item/folder/solgov, -/obj/item/folder/documents/solgov, -/obj/item/clothing/under/solgov/formal, -/obj/item/clothing/head/solgov, -/obj/item/storage/belt/sabre/solgov, -/obj/item/storage/backpack, -/obj/item/pen/solgov, -/obj/item/clothing/under/solgov/dress, -/obj/item/stamp/solgov, -/obj/machinery/light/directional/south, -/obj/item/clothing/suit/armor/solgov_trenchcoat, -/turf/open/floor/carpet/royalblue, -/area/ship/crew/crewtwo) -"OX" = ( -/obj/structure/noticeboard/captain{ - pixel_y = 25 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1; - color = "#543C30" - }, -/obj/structure/cable{ - icon_state = "4-10" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"OZ" = ( -/obj/effect/turf_decal/corner/opaque/solgovblue/three_quarters{ - dir = 8 - }, -/obj/machinery/button/door{ - pixel_y = 9; - pixel_x = 6; - id = "sgc_bridge"; - name = "bridge window lockdown" - }, -/obj/item/reagent_containers/glass/maunamug{ - pixel_x = -3 - }, -/obj/structure/table/wood/fancy/blue, -/turf/open/floor/wood, -/area/ship/bridge) -"Pb" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/window/reinforced, -/obj/machinery/light/directional/north, -/turf/open/floor/engine/o2, -/area/ship/engineering/engine) -"Pc" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) -"Pf" = ( -/obj/effect/turf_decal/industrial/warning/dust/corner{ - dir = 8 - }, -/obj/machinery/light/floor, -/obj/structure/sign/solgov_seal{ - pixel_y = 0; - pixel_x = -29 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull, -/area/ship/external) -"Pk" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/camera/autoname{ - dir = 6 - }, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"Pm" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/turf_decal/box/corners, -/obj/structure/closet/crate/wooden, -/obj/item/storage/fancy/candle_box, -/obj/item/storage/fancy/candle_box, -/obj/item/storage/fancy/candle_box, -/obj/item/pen/solgov, -/obj/item/pen/solgov, -/obj/item/pen/solgov, -/obj/item/paper_bin/bundlenatural, -/obj/item/paper_bin/bundlenatural, -/obj/item/paper_bin/bundlenatural, -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/item/clipboard, -/obj/item/clipboard, -/obj/item/clipboard, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"Pq" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/autolathe, -/obj/structure/sign/poster/solgov/random{ - pixel_x = 28 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"PT" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "sgc_engi" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"PY" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"Qi" = ( -/obj/item/radio/intercom/wideband/table, -/obj/effect/turf_decal/corner/opaque/solgovblue/three_quarters, -/obj/structure/table/wood/fancy/blue, -/turf/open/floor/wood, -/area/ship/bridge) -"Qk" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/camera/autoname{ - dir = 6 - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"Qm" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/ship/crew/office) -"Qy" = ( -/obj/structure/rack, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = 4 - }, -/obj/item/t_scanner{ - pixel_x = -6 - }, -/obj/item/t_scanner{ - pixel_x = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"QA" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"QM" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/fluff/hedge/opaque, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/wood, -/area/ship/crew/office) -"Rb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/airlock/engineering{ - dir = 4; - req_access = list(11); - name = "Engine Room" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"Rw" = ( -/obj/structure/closet/crate/bin, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"RC" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"RL" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/airlock/engineering{ - dir = 4; - req_access = list(11); - name = "Engineering" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"RV" = ( -/obj/structure/toilet{ - dir = 4 - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/plasteel/freezer, -/area/ship/crew) -"RX" = ( -/obj/structure/table/wood, -/obj/item/cutting_board, -/obj/item/kitchen/knife, -/obj/machinery/newscaster/directional/north, -/obj/structure/sink{ - pixel_y = 20; - pixel_x = -15; - layer = 2.79 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew) -"Sd" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/corner/opaque/solgovgold/three_quarters{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"Sg" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/office{ - dir = 8 - }, -/obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = -12 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"So" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) -"Sv" = ( -/obj/structure/table/wood, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/item/reagent_containers/food/drinks/mug/tea{ - pixel_y = 3; - pixel_x = -4 - }, -/obj/item/reagent_containers/food/drinks/mug/tea{ - pixel_x = 10 - }, -/turf/open/floor/wood, -/area/ship/crew) -"Sy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/dorm) -"SA" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/closet/secure_closet/engineering_personal{ - name = "ship engineer's locker"; - populate = 0 - }, -/obj/item/storage/backpack/industrial, -/obj/effect/turf_decal/industrial/outline/orange, -/obj/item/clothing/head/hardhat/solgov, -/obj/item/folder/solgov, -/obj/item/clipboard, -/obj/item/clothing/under/solgov/formal, -/obj/item/clothing/under/solgov, -/obj/item/clothing/accessory/armband/engine, -/obj/item/storage/toolbox/mechanical, -/obj/item/clothing/glasses/welding, -/obj/item/clothing/head/welding, -/obj/item/pen/solgov, -/obj/item/clothing/suit/hazardvest/solgov, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/gloves/combat, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"SH" = ( -/obj/machinery/cryopod, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 5 - }, -/obj/structure/sign/poster/solgov/random{ - pixel_y = 30 - }, -/turf/open/floor/plasteel, -/area/ship/crew/dorm) -"SJ" = ( -/obj/machinery/telecomms/receiver/preset_left{ - network = "SolNet"; - id = "Receiver" - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/door/window/brigdoor/westright{ - dir = 4; - req_one_access = list(61,11) - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/circuit/green, -/area/ship/engineering) -"SL" = ( -/obj/item/paper_bin/carbon{ - pixel_x = 7; - pixel_y = 8 - }, -/obj/item/paper_bin{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/folder/solgov{ - pixel_x = 4 - }, -/obj/item/pen/solgov{ - pixel_x = 2 - }, -/obj/machinery/light/small/directional/north, -/obj/structure/table/wood/fancy/blue, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"SQ" = ( -/obj/effect/turf_decal/solgov/bottom_center, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/cargo) -"ST" = ( -/turf/open/floor/wood/mahogany, -/area/ship/crew) -"Td" = ( -/obj/effect/turf_decal/solgov/top, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Tk" = ( -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/white, -/area/ship/engineering) -"Tr" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/closet/cabinet{ - name = "ammunition" - }, -/obj/item/ammo_box/amagpellet_claris, -/obj/item/ammo_box/magazine/pistol556mm, -/obj/item/ammo_box/magazine/pistol556mm, -/obj/item/ammo_box/magazine/pistol556mm, -/obj/item/ammo_box/magazine/pistol556mm, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"TA" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/airlock/mining{ - name = "Cargo" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"TE" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ - dir = 1 - }, -/turf/open/floor/engine/n2, -/area/ship/engineering/engine) -"TH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"TN" = ( -/obj/structure/mirror{ - pixel_y = 26 - }, -/obj/structure/sink{ - pixel_y = 19 - }, -/obj/structure/urinal{ - dir = 4; - pixel_x = -32 - }, -/obj/machinery/button/door{ - dir = 8; - pixel_x = 22; - pixel_y = -9; - id = "sgc_piss"; - specialfunctions = 3; - name = "bathroom lock" - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/freezer, -/area/ship/crew) -"TV" = ( -/obj/item/radio/intercom/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"Ue" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"Uh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/crew) -"Ut" = ( -/obj/effect/turf_decal/solgov/top_right, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 4 - }, -/obj/machinery/camera/autoname{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"UB" = ( -/obj/structure/table/wood, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/solgov/random{ - pixel_x = -28 - }, -/turf/open/floor/wood/mahogany, -/area/ship/crew) -"UD" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/chair/office{ - dir = 8 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"UJ" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/cargo) -"UQ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/landmark/start/captain, -/turf/open/floor/wood, -/area/ship/crew/office) -"US" = ( -/obj/structure/table/wood, -/obj/item/desk_flag/solgov{ - pixel_y = 2; - pixel_x = 8 - }, -/turf/open/floor/carpet/blue, -/area/ship/crew) -"Vg" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/camera/autoname{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) -"Vi" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Vm" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood, -/area/ship/crew) -"Vo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/dorm) -"Vy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/holopad/secure, -/turf/open/floor/wood, -/area/ship/crew/office) -"VM" = ( -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"VR" = ( -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 4; - name = "External Atmosphere to Waste" - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 9 - }, -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"Wn" = ( -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 8; - name = "Waste To External Atmosphere" - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 10 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"Wo" = ( -/obj/machinery/suit_storage_unit/solgov, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/techfloor/corner, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"WM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ - dir = 4 - }, -/turf/closed/wall/mineral/titanium, -/area/ship/engineering/engine) -"WX" = ( -/obj/machinery/suit_storage_unit/solgov, -/obj/machinery/light/directional/south, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"WY" = ( -/obj/structure/sign/poster/solgov/random{ - pixel_y = 30 - }, -/obj/effect/turf_decal/spline/fancy/wood{ - dir = 9 - }, -/obj/structure/bookcase/random, -/turf/open/floor/wood/walnut, -/area/ship/crew/crewtwo) -"Xa" = ( -/obj/effect/turf_decal/siding/wood/corner{ - color = "#543C30" - }, -/obj/structure/railing/corner/wood{ - color = "#543C30" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/wood, -/area/ship/bridge) -"Xg" = ( -/obj/effect/turf_decal/solgov/bottom_left, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Xi" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_bridge" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"Xj" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"Xm" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/engineering) -"Xu" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer5, -/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline/orange, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"Xv" = ( -/obj/machinery/door/poddoor{ - dir = 4; - id = "sgc_cargo" - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - id = "sgc_cs" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Xy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 6 - }, -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/landmark/start/station_engineer, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = -10 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering/engine) -"XA" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/security/armory) -"XE" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/ship/bridge) -"XG" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/sign/poster/solgov/random{ - pixel_y = 30 - }, -/turf/open/floor/wood, -/area/ship/crew) -"Yo" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 1 - }, -/turf/open/floor/engine/n2, -/area/ship/engineering/engine) -"Yr" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_bridge"; - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"YC" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/sign/warning/nosmoking/circle{ - pixel_x = 8; - pixel_y = -22 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"Zd" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/spline/fancy/wood, -/obj/machinery/light/small/directional/south, -/obj/item/paper/crumpled, -/obj/item/pen/solgov{ - pixel_x = -5 - }, -/turf/open/floor/wood, -/area/ship/crew/crewtwo) -"Zh" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/solgovblue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/ship/security/armory) -"Zm" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/airlock{ - dir = 4; - name = "Bathroom"; - id_tag = "sgc_piss" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew) -"Zt" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/structure/closet/crate/medical, -/obj/item/storage/box/masks, -/obj/item/storage/box/rxglasses, -/obj/structure/sign/poster/solgov/random{ - pixel_y = 30 - }, -/obj/item/storage/firstaid/regular, -/obj/item/storage/firstaid/medical, -/obj/item/storage/pill_bottle/charcoal, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"Zx" = ( -/obj/effect/turf_decal/solgov, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/spline/fancy/opaque/grey{ - dir = 8 - }, -/obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = -12 - }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"ZC" = ( -/obj/item/radio/intercom/directional/west, -/obj/structure/table/wood, -/obj/item/radio/intercom/wideband/table{ - dir = 8; - pixel_x = -4 - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"ZE" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor{ - id = "sgc_bridge" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"ZP" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "sgc_airlock2" - }, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/crewtwo) - -(1,1,1) = {" -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -AN -wt -bu -ve -ve -bu -hh -AN -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -"} -(2,1,1) = {" -pS -pS -pS -pS -pS -pS -pS -pS -pS -AN -AN -WM -zh -zh -zh -zh -WM -AN -AN -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -"} -(3,1,1) = {" -pS -pS -pS -pS -pS -pS -pS -pS -pS -AN -ng -eU -Bn -Bn -Bn -Bn -Xy -Yo -AN -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -"} -(4,1,1) = {" -pS -pS -pS -pS -pS -pS -pS -pS -pS -AN -Pb -zq -Ad -sS -sS -Cb -lA -Ex -AN -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -"} -(5,1,1) = {" -pS -pS -pS -pS -pS -pS -KZ -KZ -GH -AN -Bz -Wn -sM -yw -oY -fW -VR -TE -AN -pS -KZ -KZ -pS -pS -pS -pS -pS -pS -pS -"} -(6,1,1) = {" -pS -pS -pS -pS -pS -pS -pS -gK -pS -AN -jz -fj -fw -Of -Xu -ID -xf -jz -AN -pS -gK -pS -pS -pS -pS -pS -pS -pS -pS -"} -(7,1,1) = {" -pS -pS -pS -pS -pS -KZ -pS -gK -pS -pS -AN -AN -AN -jz -LB -aA -MH -AN -pS -pS -gK -pS -KZ -pS -pS -pS -pS -pS -pS -"} -(8,1,1) = {" -pS -pS -pS -pS -pS -KZ -gK -gK -pS -Xm -So -AV -SJ -Xm -Gv -kI -Nb -AN -pS -pS -gK -gK -KZ -pS -pS -pS -pS -pS -pS -"} -(9,1,1) = {" -pS -pS -pS -pS -pS -KZ -pS -gK -gK -Xm -oH -Gw -ke -So -Xm -So -Rb -So -Xm -gK -gK -pS -KZ -pS -pS -pS -pS -pS -pS -"} -(10,1,1) = {" -pS -pS -pS -pS -pS -pS -pS -gK -pS -Xm -IH -Tk -aU -gZ -ah -ya -uD -lZ -Xm -pS -gK -pS -pS -pS -pS -pS -pS -pS -pS -"} -(11,1,1) = {" -pS -pS -pS -pS -KZ -pS -pS -gK -pS -Xm -kz -Ax -Ii -JH -fT -Cs -cT -jS -Xm -pS -gK -pS -pS -KZ -pS -pS -pS -pS -pS -"} -(12,1,1) = {" -pS -pS -pS -pS -KZ -gK -gK -vx -vx -Xm -bs -kT -mz -sa -RC -Qy -JN -ME -Xm -pS -Fh -gK -gK -KZ -pS -pS -pS -pS -pS -"} -(13,1,1) = {" -pS -pS -pS -pS -KZ -pS -vx -tJ -RV -Xm -So -tC -cp -So -Qk -um -zM -PY -Xm -ZP -bt -ip -pS -KZ -pS -pS -pS -pS -pS -"} -(14,1,1) = {" -pS -pS -pS -pS -pS -pS -vx -TN -bB -UJ -UJ -UJ -UJ -Xm -if -qH -dR -vr -Xm -vo -LE -ip -pS -pS -pS -pS -pS -pS -pS -"} -(15,1,1) = {" -pS -pS -pS -pS -vx -vx -vx -vx -Zm -UJ -br -TV -Pm -So -PT -PT -Xm -RL -Xm -Io -dC -ip -ip -ip -pS -pS -pS -pS -pS -"} -(16,1,1) = {" -pS -vx -vx -vx -tJ -yj -zv -nH -Uh -UJ -Zx -bm -Xg -UJ -Lb -eD -gB -oC -So -jJ -Be -Gt -ip -ip -Nw -Id -ip -pS -pS -"} -(17,1,1) = {" -pS -vx -UB -Ns -Nu -Ja -US -nd -jU -mA -Td -nR -SQ -TA -Sd -Kb -FM -sL -KU -zs -bg -Ky -ip -eQ -UD -dz -ip -pS -pS -"} -(18,1,1) = {" -pS -vx -RX -ST -hp -Nz -nd -HM -lc -UJ -Ut -fA -zw -UJ -Xm -rq -Xm -So -So -ip -xL -sA -ip -bf -Hd -OU -ip -pS -pS -"} -(19,1,1) = {" -cw -tJ -yY -aB -jd -rZ -mG -yv -dj -UJ -Zt -fq -oK -UJ -As -hw -MT -Xm -WY -EF -rw -uA -ip -hx -fe -FC -ip -pS -pS -"} -(20,1,1) = {" -JS -Vm -Fa -lJ -tr -bd -Ju -fd -cW -UJ -wT -fq -nF -UJ -pl -Vi -dd -Xm -aP -In -xI -Zd -sA -CC -ip -ip -ip -pS -pS -"} -(21,1,1) = {" -pi -Sv -kp -zu -qz -kN -ja -ja -ja -UJ -EX -fq -VM -UJ -SA -nb -Im -Xm -JQ -Fm -hX -dm -xu -lP -wV -ip -pS -pS -pS -"} -(22,1,1) = {" -ol -bw -xO -Du -CU -kN -AR -Vo -NH -UJ -zk -fq -hM -UJ -Xj -ma -Ho -So -So -OX -rO -uW -Kh -pR -cg -MZ -pS -pS -pS -"} -(23,1,1) = {" -vx -tJ -hU -FO -kN -kN -LL -Sy -sU -UJ -zR -sf -AK -UJ -sd -Pq -DC -av -So -Cm -rD -rD -tV -hs -qe -ip -pS -pS -pS -"} -(24,1,1) = {" -pS -vx -XG -mN -ez -FX -vR -bA -kN -UJ -Xv -cP -ga -Pc -Xm -Xm -Xm -Xm -So -DN -QM -Jn -tV -rD -nW -ip -ip -pS -pS -"} -(25,1,1) = {" -XA -XA -XA -GP -XA -Au -EC -nj -ja -Pf -ml -ml -ml -wP -pS -pS -pS -rD -Hp -oz -mZ -ju -bH -rD -zi -yD -ip -pS -pS -"} -(26,1,1) = {" -XA -fl -HA -Ep -XA -qg -ie -ja -ja -pS -pS -pS -pS -pS -pS -pS -pS -rD -mP -UQ -JJ -ju -nP -rD -kg -QA -ip -pS -pS -"} -(27,1,1) = {" -XA -id -gs -Gk -XA -ja -yA -ja -pS -pS -pS -pS -pS -pS -pS -pS -pS -rD -vO -yE -Qm -Vy -Dn -rD -Sg -hS -ip -pS -pS -"} -(28,1,1) = {" -XA -fl -AM -CM -XA -Me -Nm -ja -pS -pS -pS -pS -pS -pS -pS -pS -pS -rD -hr -EZ -Oq -wW -kl -rD -fz -Cd -ip -pS -pS -"} -(29,1,1) = {" -XA -CK -ne -Ue -XA -SH -dA -ja -pS -pS -pS -pS -pS -pS -pS -pS -pS -rD -xM -Ka -KN -rD -rD -rD -iA -YC -ip -pS -pS -"} -(30,1,1) = {" -pS -CK -Fg -Ue -CK -XA -ja -ja -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -MC -MC -MC -hA -MC -MC -pS -"} -(31,1,1) = {" -XA -CK -Pk -jb -zm -XA -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -MC -Jh -yQ -sq -DW -MC -pS -"} -(32,1,1) = {" -XA -ti -Lk -BE -rJ -XA -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -MC -SL -wU -uK -bx -MC -pS -"} -(33,1,1) = {" -XA -rS -aN -TH -WX -XA -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -MC -Mx -un -Ds -Rw -MC -pS -"} -(34,1,1) = {" -XA -Ks -wK -Jd -Wo -XA -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -MC -Er -xt -JI -Er -MC -pS -"} -(35,1,1) = {" -XA -Tr -Zh -AQ -GT -XA -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -MC -Ez -Md -MC -pS -pS -"} -(36,1,1) = {" -XA -CK -Ob -aG -CK -XA -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -MC -MC -Er -ty -Xa -Er -MC -MC -"} -(37,1,1) = {" -pS -XA -sx -XA -XA -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -uC -ZC -II -Bs -gi -pC -da -uC -"} -(38,1,1) = {" -pS -XA -Vg -Ag -XA -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -gk -eV -kw -BZ -Kc -Kv -KG -AZ -"} -(39,1,1) = {" -pS -XA -sE -Az -XA -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -Xi -Ah -FG -Cf -sz -ac -tQ -Xi -"} -(40,1,1) = {" -pS -XA -CE -Ef -XA -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -MC -Er -Hb -aa -tl -Lc -Er -MC -"} -(41,1,1) = {" -pS -pS -pS -Fl -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -uC -OZ -fN -XE -Qi -uC -pS -"} -(42,1,1) = {" -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -yu -ZE -nU -Iv -rK -be -pS -"} -(43,1,1) = {" -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -pS -yu -Oo -Yr -be -pS -pS -"} diff --git a/_maps/shuttles/solgov/solgov_inkwell.dmm b/_maps/shuttles/solgov/solgov_inkwell.dmm index da2a6b032ea..8ed63dcfac5 100644 --- a/_maps/shuttles/solgov/solgov_inkwell.dmm +++ b/_maps/shuttles/solgov/solgov_inkwell.dmm @@ -1,4 +1,11 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/machinery/porta_turret/ship/solgov{ + id = "inkwell_grid"; + dir = 6 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/crew/canteen/kitchen) "af" = ( /obj/effect/turf_decal/techfloor{ dir = 1 @@ -62,6 +69,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/ship/crew/library) +"aB" = ( +/obj/machinery/porta_turret/ship/solgov{ + id = "inkwell_grid"; + dir = 5 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/security/armory) "aO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 1 @@ -117,10 +131,10 @@ dir = 8; id = "sgi_captainbolt"; name = "bolt control"; + normaldoorcontrol = 1; pixel_x = 20; pixel_y = 6; - specialfunctions = 4; - normaldoorcontrol = 1 + specialfunctions = 4 }, /turf/open/floor/wood/walnut, /area/ship/crew/dorm/dormtwo) @@ -152,7 +166,7 @@ /obj/item/pen/solgov, /obj/item/clothing/suit/hazardvest/solgov, /obj/item/clothing/shoes/workboots, -/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/color/yellow, /obj/effect/turf_decal/techfloor, /obj/effect/turf_decal/industrial/outline/orange, /obj/item/clothing/glasses/meson/prescription, @@ -161,9 +175,9 @@ /area/ship/engineering) "bu" = ( /obj/structure/closet/secure_closet/security{ - populate = 0; + anchored = 1; name = "sonnensöldners's locker"; - anchored = 1 + populate = 0 }, /obj/item/clothing/head/solgov/sonnensoldner, /obj/item/radio{ @@ -177,7 +191,7 @@ /obj/item/clothing/gloves/combat, /obj/item/radio/headset/solgov/alt, /obj/item/storage/backpack, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov, +/obj/item/clothing/suit/armor/vest/solgov, /obj/effect/turf_decal/techfloor, /obj/effect/turf_decal/industrial/outline/red, /obj/structure/window/reinforced{ @@ -220,8 +234,8 @@ /area/ship/crew/library) "ce" = ( /obj/structure/sign/solgov_seal{ - pixel_y = 0; - pixel_x = 28 + pixel_x = 28; + pixel_y = 0 }, /turf/open/floor/engine/hull, /area/ship/external/dark) @@ -256,8 +270,8 @@ }, /obj/item/kirbyplants{ icon_state = "plant-22"; - pixel_y = 11; - pixel_x = -6 + pixel_x = -6; + pixel_y = 11 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 @@ -292,9 +306,9 @@ /area/ship/crew/toilet) "cI" = ( /obj/structure/closet/secure_closet/security{ - populate = 0; + anchored = 1; name = "sonnensöldners's locker"; - anchored = 1 + populate = 0 }, /obj/item/clothing/head/solgov/sonnensoldner, /obj/item/radio{ @@ -308,7 +322,7 @@ /obj/item/clothing/gloves/combat, /obj/item/radio/headset/solgov/alt, /obj/item/storage/backpack, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov, +/obj/item/clothing/suit/armor/vest/solgov, /obj/effect/turf_decal/techfloor, /obj/effect/turf_decal/industrial/outline/red, /obj/structure/window/reinforced{ @@ -433,9 +447,9 @@ }, /obj/machinery/door/airlock/solgov{ dir = 4; - req_one_access = list(20); + id_tag = "sgi_captainbolt"; name = "Captain's Quarters"; - id_tag = "sgi_captainbolt" + req_one_access = list(20) }, /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -482,10 +496,10 @@ }, /obj/machinery/button/door{ dir = 8; - pixel_x = 22; - pixel_y = 10; + id = "sgi_cafeteria"; name = "external shutters control"; - id = "sgi_cafeteria" + pixel_x = 22; + pixel_y = 10 }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, @@ -551,9 +565,9 @@ }, /obj/machinery/button/shieldwallgen{ dir = 4; - pixel_y = 2; + id = "sgi_holocargo1"; pixel_x = -18; - id = "sgi_holocargo1" + pixel_y = 2 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/mono, @@ -614,8 +628,8 @@ /area/ship/cargo) "eq" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/structure/railing/corner/wood{ color = "#543C30" @@ -664,9 +678,9 @@ dir = 4; id = "sgi_bolt"; name = "bathroom lock"; + normaldoorcontrol = 1; pixel_x = -20; pixel_y = 7; - normaldoorcontrol = 1; specialfunctions = 4 }, /turf/open/floor/plasteel/freezer, @@ -1045,6 +1059,13 @@ /obj/item/tank/jetpack/oxygen, /turf/open/floor/wood/maple, /area/ship/crew/dorm/dormtwo) +"hk" = ( +/obj/machinery/porta_turret/ship/solgov{ + id = "inkwell_grid"; + dir = 6 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/crew/toilet) "hl" = ( /obj/effect/turf_decal/corner/opaque/solgovblue{ dir = 1 @@ -1059,8 +1080,8 @@ "hm" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ - pixel_y = 7; - pixel_x = 16 + pixel_x = 16; + pixel_y = 7 }, /obj/item/paper_bin, /obj/item/pen/solgov, @@ -1088,9 +1109,12 @@ /turf/open/floor/plasteel/mono, /area/ship/cargo) "hE" = ( -/obj/machinery/porta_turret/ship/solgov, +/obj/machinery/porta_turret/ship/solgov{ + id = "inkwell_grid"; + dir = 6 + }, /turf/closed/wall/mineral/titanium, -/area/ship/bridge) +/area/ship/storage) "hF" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/turf_decal/siding/wood/corner{ @@ -1308,11 +1332,11 @@ /obj/structure/table/wood, /obj/structure/closet/wall/directional/east, /obj/machinery/button/door{ - pixel_y = -21; - pixel_x = -8; dir = 1; id = "sgi_dorms"; - name = "dorms shutters control" + name = "dorms shutters control"; + pixel_x = -8; + pixel_y = -21 }, /obj/item/clothing/suit/hooded/wintercoat/solgov, /obj/item/clothing/suit/hooded/wintercoat/solgov, @@ -1526,9 +1550,9 @@ /obj/structure/closet/cabinet{ name = "armor cabinet" }, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov, +/obj/item/clothing/suit/armor/vest/solgov, +/obj/item/clothing/suit/armor/vest/solgov, +/obj/item/clothing/suit/armor/vest/solgov, /obj/item/clothing/head/solgov/sonnensoldner, /obj/item/clothing/head/solgov/sonnensoldner, /obj/item/clothing/head/solgov/sonnensoldner, @@ -1620,6 +1644,13 @@ }, /turf/open/floor/plasteel/mono/dark, /area/ship/engineering) +"kE" = ( +/obj/machinery/porta_turret/ship/solgov{ + id = "inkwell_grid"; + dir = 9 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/maintenance/starboard) "kK" = ( /obj/machinery/door/window/brigdoor/westleft, /obj/structure/rack, @@ -1717,8 +1748,8 @@ "li" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ - pixel_y = 7; - pixel_x = 16 + pixel_x = 16; + pixel_y = 7 }, /obj/item/folder/solgov, /obj/machinery/light/directional/south, @@ -1729,9 +1760,9 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/turretid/lethal{ - pixel_y = 0; - pixel_x = -26 +/obj/machinery/turretid/ship{ + pixel_x = -26; + id = "inkwell_grid" }, /turf/open/floor/plasteel/stairs/wood/left{ dir = 1 @@ -1836,8 +1867,8 @@ "mf" = ( /obj/item/kirbyplants{ icon_state = "applebush"; - pixel_y = 2; - pixel_x = -5 + pixel_x = -5; + pixel_y = 2 }, /obj/machinery/light/directional/west, /turf/open/floor/wood/birch, @@ -1848,10 +1879,10 @@ /area/ship/crew/canteen/kitchen) "mz" = ( /obj/structure/closet/crate, -/obj/item/reagent_containers/food/snacks/store/bread/plain, -/obj/item/reagent_containers/food/snacks/store/bread/plain, -/obj/item/reagent_containers/food/snacks/store/bread/plain, -/obj/item/reagent_containers/food/snacks/store/bread/plain, +/obj/item/food/bread/plain, +/obj/item/food/bread/plain, +/obj/item/food/bread/plain, +/obj/item/food/bread/plain, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, @@ -1880,8 +1911,8 @@ /area/ship/hallway/starboard) "mD" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood/walnut, @@ -2138,8 +2169,15 @@ }, /turf/open/floor/plasteel/mono, /area/ship/cargo) +"nN" = ( +/obj/machinery/porta_turret/ship/solgov{ + id = "inkwell_grid"; + dir = 10 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/maintenance/starboard) "nO" = ( -/obj/machinery/computer/cargo/express/solgov, +/obj/machinery/computer/cargo/solgov, /turf/open/floor/wood/maple, /area/ship/bridge) "nR" = ( @@ -2153,8 +2191,8 @@ /area/ship/bridge) "nV" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/structure/railing/wood{ color = "#543C30"; @@ -2213,8 +2251,8 @@ icon_state = "0-8" }, /obj/machinery/door/poddoor{ - id = "sgi_engine"; - dir = 4 + dir = 4; + id = "sgi_engine" }, /obj/machinery/door/window/westright{ dir = 4 @@ -2282,6 +2320,7 @@ dir = 4; name = "Fuel Mixer" }, +/obj/item/paper/guides/jobs/engi/combustion_thruster, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "oH" = ( @@ -2372,8 +2411,8 @@ /area/ship/crew/dorm) "pu" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 @@ -2398,8 +2437,8 @@ color = "#D5A66E" }, /obj/structure/railing/wood{ - dir = 1; - color = "#D5A66E" + color = "#D5A66E"; + dir = 1 }, /obj/machinery/power/apc/auto_name/directional/east, /obj/machinery/light_switch{ @@ -2497,7 +2536,7 @@ /obj/effect/turf_decal/industrial/stand_clear{ dir = 1 }, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/mono, /area/ship/cargo) "qw" = ( @@ -2532,11 +2571,11 @@ /area/ship/crew/canteen) "qE" = ( /obj/structure/table/wood, -/obj/item/kitchen/knife/letter_opener{ - pixel_x = -13; +/obj/item/melee/knife/letter_opener{ icon_state = "letter_opener_b"; - pixel_y = 4; - name = "boxcutter" + name = "boxcutter"; + pixel_x = -13; + pixel_y = 4 }, /obj/item/storage/box/shipping, /obj/effect/turf_decal/spline/fancy/transparent/solgovblue{ @@ -2547,6 +2586,13 @@ }, /turf/open/floor/plasteel/mono, /area/ship/cargo) +"qF" = ( +/obj/machinery/porta_turret/ship/solgov{ + id = "inkwell_grid"; + dir = 10 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/maintenance/port) "qG" = ( /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt/dust, @@ -2555,8 +2601,8 @@ "qM" = ( /obj/machinery/light/floor, /obj/structure/sign/solgov_seal{ - pixel_y = 0; - pixel_x = 28 + pixel_x = 28; + pixel_y = 0 }, /turf/open/floor/engine/hull, /area/ship/external/dark) @@ -2592,14 +2638,14 @@ /area/ship/crew/cryo) "rb" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/effect/turf_decal/box/corners, /turf/open/floor/plasteel/mono, /area/ship/cargo) "rm" = ( -/obj/effect/spawner/lootdrop/crate_spawner, +/obj/effect/spawner/random/structure/crate_abandoned, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 1 }, @@ -2639,9 +2685,9 @@ /area/ship/cargo) "rN" = ( /obj/structure/closet/secure_closet/miner{ + anchored = 1; name = "field engineer's locker"; - populate = 0; - anchored = 1 + populate = 0 }, /obj/item/pickaxe/drill/jackhammer, /obj/item/storage/toolbox/mechanical, @@ -2665,7 +2711,7 @@ dir = 4 }, /obj/item/clothing/glasses/meson/prescription, -/obj/item/kitchen/knife/letter_opener, +/obj/item/melee/knife/letter_opener, /obj/item/clothing/glasses/meson, /obj/machinery/light/directional/north, /obj/item/storage/bag/ore, @@ -2816,7 +2862,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/mono, /area/ship/cargo) "sn" = ( @@ -2956,22 +3002,22 @@ /area/ship/cargo) "ti" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#543C30" + color = "#543C30"; + dir = 4 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, /obj/machinery/button/door{ - pixel_y = -21; - pixel_x = -8; dir = 1; id = "sgi_captain"; - name = "external shutters control" + name = "external shutters control"; + pixel_x = -8; + pixel_y = -21 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood/walnut, @@ -2985,9 +3031,9 @@ /area/ship/crew/dorm/dormthree) "tr" = ( /obj/structure/closet/secure_closet/miner{ + anchored = 1; name = "field engineer's locker"; - populate = 0; - anchored = 1 + populate = 0 }, /obj/item/pickaxe/drill/jackhammer, /obj/item/storage/toolbox/mechanical, @@ -3011,7 +3057,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/kitchen/knife/letter_opener, +/obj/item/melee/knife/letter_opener, /obj/item/clothing/glasses/meson, /obj/structure/sign/poster/solgov/random{ pixel_y = 32 @@ -3034,8 +3080,8 @@ dir = 8 }, /obj/machinery/door/poddoor{ - id = "sgi_engine"; - dir = 4 + dir = 4; + id = "sgi_engine" }, /obj/machinery/door/window/westright{ dir = 4 @@ -3084,8 +3130,8 @@ /obj/structure/table/wood, /obj/item/radio/intercom/directional/east, /obj/item/desk_flag/solgov{ - pixel_y = 12; - pixel_x = -8 + pixel_x = -8; + pixel_y = 12 }, /turf/open/floor/wood, /area/ship/crew/canteen) @@ -3296,11 +3342,11 @@ "uS" = ( /obj/structure/table/wood, /obj/item/cutting_board, -/obj/item/kitchen/knife, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/melee/knife/kitchen, +/obj/item/reagent_containers/condiment/saltshaker{ pixel_x = -17 }, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ pixel_x = -10; pixel_y = 6 }, @@ -3343,14 +3389,14 @@ "vn" = ( /obj/item/kirbyplants{ icon_state = "plant-11"; + layer = 2.89; pixel_x = -12; - pixel_y = 19; - layer = 2.89 + pixel_y = 19 }, /obj/item/kirbyplants{ icon_state = "plant-17"; - pixel_y = 3; - pixel_x = -10 + pixel_x = -10; + pixel_y = 3 }, /obj/structure/cable{ icon_state = "1-4" @@ -3395,8 +3441,8 @@ /area/ship/hallway/starboard) "vz" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#543C30" + color = "#543C30"; + dir = 1 }, /obj/structure/railing/wood{ color = "#543C30" @@ -3552,8 +3598,8 @@ /area/ship/cargo) "wk" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /obj/effect/turf_decal/siding/wood/corner{ color = "#543C30" @@ -3571,6 +3617,13 @@ }, /turf/open/floor/plating, /area/ship/crew/dorm/dormthree) +"wn" = ( +/obj/machinery/porta_turret/ship/solgov{ + id = "inkwell_grid"; + dir = 5 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/crew/toilet) "wo" = ( /obj/item/clothing/gloves/combat, /obj/item/folder/solgov, @@ -3581,11 +3634,11 @@ /obj/item/stamp/solgov, /obj/item/clothing/suit/armor/solgov_trenchcoat, /obj/item/storage/backpack/satchel, -/obj/item/kitchen/knife/letter_opener, +/obj/item/melee/knife/letter_opener, /obj/structure/closet/secure_closet/quartermaster{ - populate = 0; anchored = 1; - name = "\proper logistics deck officer's locker" + name = "\proper logistics deck officer's locker"; + populate = 0 }, /obj/item/clothing/suit/solgov/overcoat, /obj/item/clothing/head/flatcap/solgov, @@ -3630,9 +3683,9 @@ /area/ship/cargo) "wB" = ( /obj/structure/closet/secure_closet/security{ - populate = 0; + anchored = 1; name = "sonnensöldners's locker"; - anchored = 1 + populate = 0 }, /obj/item/clothing/head/solgov/sonnensoldner, /obj/item/radio{ @@ -3646,7 +3699,7 @@ /obj/item/clothing/gloves/combat, /obj/item/radio/headset/solgov/alt, /obj/item/storage/backpack, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov, +/obj/item/clothing/suit/armor/vest/solgov, /obj/effect/turf_decal/techfloor, /obj/effect/turf_decal/industrial/outline/red, /turf/open/floor/plasteel/white, @@ -3886,8 +3939,8 @@ /area/ship/bridge) "yD" = ( /obj/effect/turf_decal/siding/wood{ - dir = 9; - color = "#543C30" + color = "#543C30"; + dir = 9 }, /obj/structure/chair/comfy/beige{ dir = 8 @@ -3897,17 +3950,17 @@ /area/ship/crew/dorm/dormtwo) "yE" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/rice, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/soymilk, -/obj/item/reagent_containers/food/condiment/soymilk, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/rice, +/obj/item/reagent_containers/condiment/sugar, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/condiment/soymilk, /obj/item/storage/fancy/egg_box, -/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/condiment/enzyme, /turf/open/floor/wood/walnut, /area/ship/crew/canteen/kitchen) "yG" = ( @@ -3988,8 +4041,8 @@ }, /obj/machinery/light/directional/south, /obj/machinery/telecomms/relay{ - network = "SolNet"; - autolinkers = list("SolHub") + autolinkers = list("SolHub"); + network = "SolNet" }, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) @@ -4186,8 +4239,8 @@ /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/desk_flag/solgov{ - pixel_y = 12; - pixel_x = -8 + pixel_x = -8; + pixel_y = 12 }, /obj/item/pen/solgov, /turf/open/floor/carpet/blue, @@ -4198,8 +4251,8 @@ }, /obj/item/kirbyplants{ icon_state = "plant-17"; - pixel_y = 3; - pixel_x = -10 + pixel_x = -10; + pixel_y = 3 }, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/sign/poster/solgov/random{ @@ -4225,9 +4278,9 @@ }, /obj/machinery/door/airlock/solgov{ dir = 4; + id_tag = "sgi_quartermaster"; name = "Logistics Deck Officer's Quarters"; - req_one_access = list(41); - id_tag = "sgi_quartermaster" + req_one_access = list(41) }, /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -4255,8 +4308,8 @@ }, /obj/item/kirbyplants{ icon_state = "plant-22"; - pixel_y = 11; - pixel_x = -6 + pixel_x = -6; + pixel_y = 11 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/white, @@ -4345,6 +4398,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/white, /area/ship/engineering) +"BN" = ( +/obj/machinery/porta_turret/ship/solgov{ + id = "inkwell_grid"; + dir = 9 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/maintenance/port) "BO" = ( /obj/effect/turf_decal/industrial/warning, /obj/effect/turf_decal/industrial/warning{ @@ -4424,8 +4484,8 @@ /area/ship/hallway/starboard) "BY" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 @@ -4537,8 +4597,8 @@ pixel_y = 4 }, /obj/item/stamp/solgov{ - pixel_y = 11; - pixel_x = -6 + pixel_x = -6; + pixel_y = 11 }, /obj/item/paper_bin{ pixel_x = -5; @@ -4564,6 +4624,13 @@ }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) +"CY" = ( +/obj/machinery/porta_turret/ship/solgov{ + id = "inkwell_grid"; + dir = 5 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/crew/canteen/kitchen) "Dc" = ( /obj/effect/turf_decal/corner/opaque/solgovblue/full, /obj/structure/cable{ @@ -4587,9 +4654,9 @@ }, /obj/machinery/button/shieldwallgen{ dir = 4; - pixel_y = 2; + id = "sgi_holocargo2"; pixel_x = -18; - id = "sgi_holocargo2" + pixel_y = 2 }, /turf/open/floor/plasteel/mono, /area/ship/cargo) @@ -5141,7 +5208,7 @@ /obj/structure/closet/crate, /obj/effect/turf_decal/techfloor, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/tech/grid, /area/ship/storage) "GN" = ( @@ -5200,6 +5267,13 @@ }, /turf/open/floor/plasteel/mono, /area/ship/cargo) +"Hl" = ( +/obj/machinery/porta_turret/ship/solgov{ + id = "inkwell_grid"; + dir = 1 + }, +/turf/closed/wall/mineral/titanium, +/area/ship/bridge) "Ho" = ( /obj/structure/chair/comfy/grey/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, @@ -5376,7 +5450,7 @@ /turf/open/floor/plasteel/mono, /area/ship/cargo) "IC" = ( -/obj/effect/spawner/lootdrop/crate_spawner, +/obj/effect/spawner/random/structure/crate_abandoned, /obj/machinery/light/small/directional/east, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech/grid, @@ -5387,13 +5461,13 @@ }, /obj/structure/rack, /obj/structure/window/reinforced, -/obj/item/kitchen/knife/letter_opener{ +/obj/item/melee/knife/letter_opener{ pixel_x = -2 }, -/obj/item/kitchen/knife/letter_opener{ +/obj/item/melee/knife/letter_opener{ pixel_x = 1 }, -/obj/item/kitchen/knife/letter_opener{ +/obj/item/melee/knife/letter_opener{ pixel_x = 4 }, /obj/effect/turf_decal/corner/opaque/solgovblue{ @@ -5421,9 +5495,9 @@ /obj/structure/table/wood, /obj/item/clipboard, /obj/machinery/button/door{ - pixel_y = 23; id = "sgi_office"; - name = "external shutters control" + name = "external shutters control"; + pixel_y = 23 }, /turf/open/floor/carpet/blue, /area/ship/crew/office) @@ -5539,7 +5613,7 @@ dir = 1 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/mono, /area/ship/cargo) "JN" = ( @@ -5739,8 +5813,8 @@ /area/ship/cargo) "KX" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /obj/machinery/power/apc/auto_name/directional/south, /obj/machinery/light_switch{ @@ -5838,7 +5912,7 @@ /area/ship/cargo) "LB" = ( /obj/item/clothing/head/solgov/captain, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/captain, +/obj/item/clothing/suit/armor/vest/solgov/captain, /obj/item/clothing/under/solgov/formal/captain, /obj/item/clothing/shoes/laceup, /obj/item/clothing/gloves/combat, @@ -5859,8 +5933,8 @@ /obj/item/fish_feed, /obj/item/pen/fountain/solgov, /obj/item/clothing/neck/cloak/solgovcap, -/obj/item/storage/pistolcase/modelh, -/obj/item/ammo_box/ferroslugbox, +/obj/item/storage/guncase/pistol/modelh, +/obj/item/storage/box/ammo/ferroslug, /turf/open/floor/wood/maple, /area/ship/crew/dorm/dormtwo) "LJ" = ( @@ -5954,10 +6028,10 @@ }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/machinery/button/door{ - pixel_y = 23; id = "sgi_qm"; name = "logistics deck officer shutters control"; - pixel_x = -7 + pixel_x = -7; + pixel_y = 23 }, /turf/open/floor/wood/birch, /area/ship/crew/dorm/dormthree) @@ -5969,8 +6043,8 @@ dir = 8 }, /obj/machinery/door/poddoor{ - id = "sgi_engine"; - dir = 4 + dir = 4; + id = "sgi_engine" }, /obj/machinery/door/window/westright{ dir = 4 @@ -6054,7 +6128,7 @@ /area/ship/crew/canteen/kitchen) "Nj" = ( /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/mono, /area/ship/cargo) "Np" = ( @@ -6203,8 +6277,8 @@ "Or" = ( /obj/machinery/atmospherics/pipe/layer_manifold, /obj/structure/sign/solgov_seal{ - pixel_y = 0; - pixel_x = -1 + pixel_x = -1; + pixel_y = 0 }, /turf/closed/wall/mineral/titanium, /area/ship/hallway/starboard) @@ -6221,9 +6295,9 @@ }, /obj/machinery/button/shieldwallgen{ dir = 4; - pixel_y = -2; + id = "sgi_holocargo1"; pixel_x = -18; - id = "sgi_holocargo1" + pixel_y = -2 }, /turf/open/floor/plasteel/mono, /area/ship/cargo) @@ -6238,17 +6312,17 @@ pixel_y = 8 }, /obj/item/desk_flag/solgov{ - pixel_y = 12; - pixel_x = -8 + pixel_x = -8; + pixel_y = 12 }, /obj/item/reagent_containers/food/drinks/mug/coco{ pixel_x = -7; pixel_y = -2 }, /obj/machinery/button/door{ - pixel_y = 23; id = "sgi_bridge"; - name = "external shutters control" + name = "external shutters control"; + pixel_y = 23 }, /turf/open/floor/wood/maple, /area/ship/bridge) @@ -6395,11 +6469,11 @@ dir = 4 }, /obj/machinery/button/door{ - pixel_y = -23; - pixel_x = -4; dir = 1; id = "sgi_engine"; - name = "engine blast door control" + name = "engine blast door control"; + pixel_x = -4; + pixel_y = -23 }, /obj/machinery/atmospherics/pipe/simple/orange/visible{ dir = 4 @@ -6439,8 +6513,8 @@ dir = 8 }, /obj/effect/turf_decal/siding/wood/corner{ - dir = 4; - color = "#D5A66E" + color = "#D5A66E"; + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/decal/cleanable/dirt/dust, @@ -6601,8 +6675,8 @@ "Ru" = ( /obj/structure/table/wood/fancy/blue, /obj/item/desk_flag/solgov{ - pixel_y = 12; - pixel_x = -8 + pixel_x = -8; + pixel_y = 12 }, /obj/item/binoculars, /turf/open/floor/wood/walnut, @@ -6674,7 +6748,7 @@ /obj/item/pen/solgov, /obj/item/clothing/suit/hazardvest/solgov, /obj/item/clothing/shoes/workboots, -/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/color/yellow, /obj/effect/turf_decal/techfloor, /obj/effect/turf_decal/industrial/outline/orange, /obj/item/clothing/glasses/meson/prescription, @@ -6702,7 +6776,7 @@ /area/ship/bridge) "RS" = ( /obj/structure/closet/cardboard, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/mono, /area/ship/cargo) "RX" = ( @@ -6862,9 +6936,9 @@ /area/ship/cargo) "Td" = ( /obj/structure/closet/secure_closet/miner{ + anchored = 1; name = "field engineer's locker"; - populate = 0; - anchored = 1 + populate = 0 }, /obj/item/pickaxe/drill/jackhammer, /obj/item/storage/toolbox/mechanical, @@ -6885,7 +6959,7 @@ }, /obj/effect/turf_decal/industrial/outline/red, /obj/item/clothing/glasses/meson/prescription, -/obj/item/kitchen/knife/letter_opener, +/obj/item/melee/knife/letter_opener, /obj/item/clothing/glasses/meson, /obj/item/storage/bag/ore, /turf/open/floor/plasteel/white, @@ -7092,13 +7166,13 @@ /area/ship/bridge) "Vk" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#543C30" + color = "#543C30"; + dir = 8 }, /obj/structure/dresser, /obj/item/desk_flag/trans{ - pixel_y = 8; - pixel_x = -7 + pixel_x = -7; + pixel_y = 8 }, /turf/open/floor/wood/walnut, /area/ship/crew/dorm) @@ -7202,8 +7276,8 @@ }, /obj/machinery/door/airlock{ dir = 4; - name = "Bathroom"; - id_tag = "sgi_bolt" + id_tag = "sgi_bolt"; + name = "Bathroom" }, /obj/machinery/door/firedoor/border_only{ dir = 4 @@ -7267,8 +7341,8 @@ color = "#D5A66E" }, /obj/structure/railing/corner/wood{ - dir = 4; - color = "#D5A66E" + color = "#D5A66E"; + dir = 4 }, /obj/structure/cable{ icon_state = "1-4" @@ -7292,14 +7366,14 @@ /obj/item/reagent_containers/food/snacks/grown/cabbage, /obj/item/reagent_containers/food/snacks/grown/cabbage, /obj/item/reagent_containers/food/snacks/grown/cabbage, -/obj/item/reagent_containers/food/condiment/saltshaker, -/obj/item/reagent_containers/food/condiment/saltshaker, -/obj/item/reagent_containers/food/condiment/saltshaker, -/obj/item/reagent_containers/food/condiment/saltshaker, +/obj/item/reagent_containers/condiment/saltshaker, +/obj/item/reagent_containers/condiment/saltshaker, +/obj/item/reagent_containers/condiment/saltshaker, +/obj/item/reagent_containers/condiment/saltshaker, /obj/structure/closet/crate/secure/gear{ - populate = 0; - name = "emergency sauerkraut supplies"; desc = "For emergency use only"; + name = "emergency sauerkraut supplies"; + populate = 0; req_access = list(19) }, /obj/item/reagent_containers/food/snacks/grown/cabbage, @@ -7374,9 +7448,9 @@ }, /obj/machinery/button/shieldwallgen{ dir = 4; - pixel_y = -2; + id = "sgi_holocargo2"; pixel_x = -18; - id = "sgi_holocargo2" + pixel_y = -2 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/mono, @@ -7475,10 +7549,10 @@ }, /obj/effect/turf_decal/corner/opaque/solgovblue, /obj/machinery/button/door{ - pixel_y = 24; - pixel_x = -4; id = "sgi_engine"; - name = "engine blast door control" + name = "engine blast door control"; + pixel_x = -4; + pixel_y = 24 }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/orange/visible{ @@ -7505,8 +7579,8 @@ "XZ" = ( /obj/docking_port/mobile{ can_move_docking_ports = 1; - preferred_direction = 4; - port_direction = 4 + port_direction = 4; + preferred_direction = 4 }, /turf/closed/wall/mineral/titanium, /area/ship/security/armory) @@ -7619,11 +7693,11 @@ icon_state = "0-8" }, /obj/machinery/button/door{ - pixel_y = -23; - pixel_x = -8; dir = 1; id = "sgi_external"; - name = "blast door control" + name = "blast door control"; + pixel_x = -8; + pixel_y = -23 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/white, @@ -7688,8 +7762,8 @@ icon_state = "0-8" }, /obj/machinery/door/poddoor{ - id = "sgi_engine"; - dir = 4 + dir = 4; + id = "sgi_engine" }, /obj/machinery/door/window/westright{ dir = 4 @@ -7750,8 +7824,8 @@ "ZB" = ( /obj/item/kirbyplants{ icon_state = "plant-17"; - pixel_y = 3; - pixel_x = -10 + pixel_x = -10; + pixel_y = 3 }, /obj/structure/cable{ icon_state = "1-2" @@ -7819,10 +7893,10 @@ dir = 8; id = "sgi_quartermaster"; name = "bolt control"; + normaldoorcontrol = 1; pixel_x = 20; pixel_y = -6; - specialfunctions = 4; - normaldoorcontrol = 1 + specialfunctions = 4 }, /turf/open/floor/wood/birch, /area/ship/crew/dorm/dormthree) @@ -7843,12 +7917,12 @@ (1,1,1) = {" iG -hE +BN UJ Hp Hp zI -hE +qF iG iG iG @@ -7866,12 +7940,12 @@ iG iG iG iG -hE +kE ni dv dv vY -hE +nN iG iG "} @@ -8046,7 +8120,7 @@ DH iG "} (7,1,1) = {" -hE +Hl XY DE Cq @@ -8076,7 +8150,7 @@ Np ts qx ts -hE +ts iG "} (8,1,1) = {" @@ -8488,7 +8562,7 @@ sJ iG "} (20,1,1) = {" -hE +aB SI kK LJ @@ -8999,7 +9073,7 @@ iG "} (35,1,1) = {" iG -hE +wn ea pc cH @@ -9027,7 +9101,7 @@ FE nA yE AA -hE +aa iG iG "} @@ -9037,7 +9111,7 @@ iG DS DS DS -hE +hk iG iG iG @@ -9057,7 +9131,7 @@ iG iG iG iG -hE +CY qc qc FE diff --git a/_maps/shuttles/solgov/solgov_paracelsus.dmm b/_maps/shuttles/solgov/solgov_paracelsus.dmm index b099e500aee..b14db845e33 100644 --- a/_maps/shuttles/solgov/solgov_paracelsus.dmm +++ b/_maps/shuttles/solgov/solgov_paracelsus.dmm @@ -193,8 +193,8 @@ /area/ship/hallway/port) "cf" = ( /obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#332521" + color = "#332521"; + dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood/ebony, @@ -248,8 +248,8 @@ "cy" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#E3994E" + color = "#E3994E"; + dir = 8 }, /obj/structure/cable{ icon_state = "2-8" @@ -437,9 +437,9 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/door/airlock/medical{ + id_tag = "sg_par_surgery_one"; name = "Surgery"; - req_one_access = list(5,69); - id_tag = "sg_par_surgery_one" + req_one_access = list(5,69) }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/dark, @@ -583,8 +583,8 @@ dir = 8 }, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#792f27" + color = "#792f27"; + dir = 1 }, /obj/structure/sign/poster/solgov/random{ pixel_y = 30 @@ -657,8 +657,8 @@ dir = 4 }, /obj/machinery/door/poddoor{ - id = "sg_par_cargo3"; - dir = 8 + dir = 8; + id = "sg_par_cargo3" }, /turf/open/floor/plasteel, /area/ship/cargo) @@ -687,8 +687,8 @@ "hd" = ( /obj/structure/sink/kitchen{ dir = 8; - pixel_y = 8; - pixel_x = 12 + pixel_x = 12; + pixel_y = 8 }, /obj/effect/turf_decal/trimline/opaque/solgovblue/filled/line, /obj/effect/turf_decal/borderfloorwhite{ @@ -708,10 +708,10 @@ dir = 8; id = "sg_par_surgery_one"; name = "bolt control"; + normaldoorcontrol = 1; pixel_x = 20; pixel_y = -5; - specialfunctions = 4; - normaldoorcontrol = 1 + specialfunctions = 4 }, /turf/open/floor/plasteel/white, /area/ship/medical/surgery) @@ -731,10 +731,10 @@ /area/ship/hallway/starboard) "hh" = ( /obj/structure/closet/crate, -/obj/item/reagent_containers/food/snacks/store/bread/plain, -/obj/item/reagent_containers/food/snacks/store/bread/plain, -/obj/item/reagent_containers/food/snacks/store/bread/plain, -/obj/item/reagent_containers/food/snacks/store/bread/plain, +/obj/item/food/bread/plain, +/obj/item/food/bread/plain, +/obj/item/food/bread/plain, +/obj/item/food/bread/plain, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, @@ -803,7 +803,7 @@ /obj/effect/turf_decal/siding/yellow{ dir = 4 }, -/obj/item/kitchen/knife/combat/survival, +/obj/item/melee/knife/survival, /obj/item/clothing/gloves/combat, /obj/item/clothing/suit/hazardvest/solgov, /obj/item/clothing/head/hardhat/solgov, @@ -892,10 +892,14 @@ /area/ship/hallway/port) "jh" = ( /obj/structure/table, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 7 +/obj/item/storage/case/surgery{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/reagent_containers/medigel/sterilizine{ + pixel_x = 9; + pixel_y = 4 }, -/obj/item/reagent_containers/medigel/sterilizine, /obj/machinery/light/directional/west, /obj/structure/sign/poster/solgov/random{ pixel_y = 30 @@ -1015,8 +1019,8 @@ /obj/docking_port/mobile{ dir = 4; launch_status = 0; - preferred_direction = 4; - port_direction = 2 + port_direction = 2; + preferred_direction = 4 }, /turf/closed/wall/mineral/titanium, /area/ship/cargo) @@ -1043,9 +1047,9 @@ "kF" = ( /obj/machinery/door/airlock/solgov{ dir = 4; - req_one_access = list(20); + id_tag = "sg_par_bolt"; name = "Captain's Quarters"; - id_tag = "sg_par_bolt" + req_one_access = list(20) }, /obj/effect/turf_decal/industrial/warning{ dir = 8 @@ -1150,10 +1154,10 @@ /area/ship/cargo) "lu" = ( /obj/docking_port/stationary{ - width = 30; - height = 15; + dir = 2; dwidth = 15; - dir = 2 + height = 15; + width = 30 }, /turf/template_noop, /area/template_noop) @@ -1178,8 +1182,8 @@ "lJ" = ( /obj/structure/table/wood, /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#E3994E" + color = "#E3994E"; + dir = 8 }, /obj/machinery/light/directional/north, /obj/item/radio/intercom/table{ @@ -1243,8 +1247,8 @@ pixel_y = 7 }, /obj/item/desk_flag/trans{ - pixel_y = 2; - pixel_x = 7 + pixel_x = 7; + pixel_y = 2 }, /turf/open/floor/wood/ebony, /area/ship/hallway/starboard) @@ -1333,11 +1337,11 @@ /area/ship/cargo/office) "nG" = ( /obj/machinery/button/door{ - pixel_y = -22; - pixel_x = 7; dir = 1; id = "sg_par_office"; - name = "shutter control" + name = "shutter control"; + pixel_x = 7; + pixel_y = -22 }, /obj/structure/chair/sofa/brown/left/directional/north, /obj/machinery/airalarm/directional/west, @@ -1358,8 +1362,8 @@ /area/ship/medical/surgery) "op" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#332521" + color = "#332521"; + dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood/ebony, @@ -1380,8 +1384,8 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/door/airlock/medical{ - name = "Surgery"; id_tag = "sg_par_surgery_two"; + name = "Surgery"; req_one_access = list(5,69) }, /turf/open/floor/plasteel/dark, @@ -1397,8 +1401,8 @@ "ow" = ( /obj/structure/table, /obj/item/defibrillator/loaded{ - pixel_y = 3; - pixel_x = 3 + pixel_x = 3; + pixel_y = 3 }, /obj/item/defibrillator/loaded, /turf/open/floor/plasteel/mono/white, @@ -1450,8 +1454,8 @@ /obj/item/bedsheet/solgov, /obj/structure/curtain/cloth, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#332521" + color = "#332521"; + dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/small/directional/west, @@ -1601,8 +1605,8 @@ /area/ship/cargo) "qe" = ( /obj/machinery/door/airlock/medical/glass{ - name = "Treatment Center"; dir = 4; + name = "Treatment Center"; req_one_access = list(5,45) }, /obj/effect/turf_decal/industrial/warning{ @@ -1652,7 +1656,7 @@ /obj/effect/turf_decal/siding/yellow{ dir = 4 }, -/obj/item/kitchen/knife/combat/survival, +/obj/item/melee/knife/survival, /obj/item/clothing/gloves/combat, /obj/item/clothing/suit/hazardvest/solgov, /obj/item/clothing/head/hardhat/solgov, @@ -1679,10 +1683,14 @@ /area/ship/cargo) "qH" = ( /obj/structure/table, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 7 +/obj/item/storage/case/surgery{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/item/reagent_containers/medigel/sterilizine{ + pixel_x = -10; + pixel_y = 3 }, -/obj/item/reagent_containers/medigel/sterilizine, /obj/machinery/light/directional/east, /turf/open/floor/mineral/titanium/tiled/white, /area/ship/medical/surgery) @@ -1692,24 +1700,24 @@ "qM" = ( /obj/structure/table/wood, /obj/machinery/button/door{ - pixel_y = 8; id = "sg_par_captain"; name = "captain privacy shutters control"; - pixel_x = -7 + pixel_x = -7; + pixel_y = 8 }, /obj/machinery/button/door{ - pixel_y = 8; id = "sg_par_bolt"; name = "captain door bolt control"; + normaldoorcontrol = 1; pixel_x = 6; - specialfunctions = 4; - normaldoorcontrol = 1 + pixel_y = 8; + specialfunctions = 4 }, /obj/machinery/button/door{ - pixel_y = -2; id = "sg_par_captain_window"; name = "captain privacy shutters control"; - pixel_x = -7 + pixel_x = -7; + pixel_y = -2 }, /turf/open/floor/wood/yew, /area/ship/crew) @@ -1744,7 +1752,7 @@ name = "engineer's locker"; req_access = list(11) }, -/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/color/yellow, /obj/item/clothing/head/hardhat/solgov, /obj/item/clothing/under/solgov/formal, /obj/item/storage/toolbox/mechanical, @@ -1775,9 +1783,9 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/door/airlock/medical{ + id_tag = "sg_par_chem_bolt"; name = "Chemistry"; - req_one_access = list(5,10,45); - id_tag = "sg_par_chem_bolt" + req_one_access = list(5,10,45) }, /obj/effect/mapping_helpers/airlock/unres{ dir = 1 @@ -1901,18 +1909,18 @@ /area/ship/medical/surgery) "sC" = ( /obj/machinery/button/door{ - pixel_y = -23; - pixel_x = -8; dir = 1; id = "sg_par_cargo1"; - name = "cargo blast door control" + name = "cargo blast door control"; + pixel_x = -8; + pixel_y = -23 }, /obj/machinery/button/door{ - pixel_y = -23; - pixel_x = 6; dir = 1; id = "sg_par_cargo2"; - name = "cargo blast door control" + name = "cargo blast door control"; + pixel_x = 6; + pixel_y = -23 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 @@ -2031,8 +2039,8 @@ }, /obj/machinery/light/directional/south, /obj/machinery/telecomms/relay{ - network = "SolNet"; - autolinkers = list("SolHub") + autolinkers = list("SolHub"); + network = "SolNet" }, /turf/open/floor/wood/mahogany, /area/ship/bridge) @@ -2222,15 +2230,15 @@ "wi" = ( /obj/machinery/button/shieldwallgen{ dir = 1; + id = "sg_par_holocargo1"; pixel_x = -5; - pixel_y = -21; - id = "sg_par_holocargo1" + pixel_y = -21 }, /obj/machinery/button/shieldwallgen{ dir = 1; + id = "sg_par_holocargo2"; pixel_x = 5; - pixel_y = -21; - id = "sg_par_holocargo2" + pixel_y = -21 }, /obj/structure/railing/wood{ dir = 4 @@ -2245,8 +2253,8 @@ /area/ship/cargo/office) "wk" = ( /obj/machinery/door/airlock/solgov{ - name = "Psychologist Office"; - id_tag = "sg_par_psychlock" + id_tag = "sg_par_psychlock"; + name = "Psychologist Office" }, /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -2463,7 +2471,7 @@ /area/ship/bridge) "ye" = ( /obj/item/clothing/neck/cloak/overseer, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/overseer, +/obj/item/clothing/suit/armor/vest/solgov/overseer, /obj/structure/closet/secure_closet/head_of_personnel{ anchored = 1; name = "\proper overseer's locker"; @@ -2482,8 +2490,8 @@ /obj/item/stamp/solgov, /obj/item/clothing/suit/armor/solgov_trenchcoat, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#792f27" + color = "#792f27"; + dir = 1 }, /obj/machinery/light/directional/north, /turf/open/floor/wood/mahogany, @@ -2510,8 +2518,8 @@ "yw" = ( /obj/structure/table, /obj/item/storage/belt/medical{ - pixel_y = 4; - pixel_x = 2 + pixel_x = 2; + pixel_y = 4 }, /obj/item/storage/belt/medical{ pixel_x = -2 @@ -2601,8 +2609,8 @@ "zc" = ( /obj/structure/table/wood, /obj/item/desk_flag/solgov{ - pixel_y = 2; - pixel_x = 7 + pixel_x = 7; + pixel_y = 2 }, /obj/item/reagent_containers/food/drinks/mug/coco{ pixel_x = -6; @@ -2685,8 +2693,8 @@ /obj/machinery/power/apc/auto_name/directional/west, /obj/machinery/light_switch{ dir = 4; - pixel_y = 12; - pixel_x = -20 + pixel_x = -20; + pixel_y = 12 }, /obj/machinery/button/door{ dir = 1; @@ -2725,12 +2733,12 @@ /obj/structure/railing/wood{ dir = 8 }, -/obj/machinery/computer/cargo/express/solgov{ +/obj/machinery/computer/cargo/solgov{ dir = 4 }, /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#792f27" + color = "#792f27"; + dir = 1 }, /turf/open/floor/wood/mahogany, /area/ship/bridge) @@ -2832,8 +2840,8 @@ "BQ" = ( /obj/structure/sink/kitchen{ dir = 4; - pixel_y = 16; - pixel_x = -12 + pixel_x = -12; + pixel_y = 16 }, /obj/effect/turf_decal/borderfloorwhite{ dir = 1 @@ -2898,8 +2906,8 @@ /area/ship/hallway/starboard) "Cf" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#332521" + color = "#332521"; + dir = 8 }, /obj/structure/cable{ icon_state = "4-8" @@ -2930,8 +2938,8 @@ /area/ship/cargo/office) "Cp" = ( /obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#E3994E" + color = "#E3994E"; + dir = 1 }, /obj/structure/fluff/hedge/opaque, /turf/open/floor/wood/yew, @@ -3535,14 +3543,14 @@ "IO" = ( /obj/structure/table/wood, /obj/machinery/reagentgrinder{ - pixel_y = 8; - pixel_x = -7 + pixel_x = -7; + pixel_y = 8 }, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ pixel_x = 4; pixel_y = 10 }, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ pixel_x = 10; pixel_y = 10 }, @@ -3560,7 +3568,7 @@ /area/ship/crew/crewtwo) "IX" = ( /obj/item/clothing/head/solgov/captain, -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/captain, +/obj/item/clothing/suit/armor/vest/solgov/captain, /obj/item/clothing/under/solgov/formal/captain, /obj/item/clothing/shoes/laceup, /obj/item/clothing/gloves/combat, @@ -3581,8 +3589,8 @@ /obj/item/fish_feed, /obj/item/pen/fountain/solgov, /obj/item/clothing/neck/cloak/solgovcap, -/obj/item/storage/pistolcase/modelh, -/obj/item/ammo_box/ferroslugbox, +/obj/item/storage/guncase/pistol/modelh, +/obj/item/storage/box/ammo/ferroslug, /turf/open/floor/carpet/royalblue, /area/ship/crew) "IZ" = ( @@ -3895,10 +3903,10 @@ dir = 4; id = "sg_par_chem_bolt"; name = "bolt control"; + normaldoorcontrol = 1; pixel_x = -20; pixel_y = -6; - specialfunctions = 4; - normaldoorcontrol = 1 + specialfunctions = 4 }, /obj/machinery/autolathe, /turf/open/floor/plasteel/white, @@ -3951,16 +3959,16 @@ dir = 4 }, /obj/machinery/button/door{ - pixel_y = 24; + id = "sg_par_exterior"; name = "external shutters control"; - id = "sg_par_exterior" + pixel_y = 24 }, /turf/open/floor/carpet/royalblue, /area/ship/bridge) "Mr" = ( /obj/effect/turf_decal/siding/wood/corner{ - dir = 1; - color = "#E3994E" + color = "#E3994E"; + dir = 1 }, /obj/structure/cable{ icon_state = "1-4" @@ -4004,17 +4012,17 @@ /turf/open/floor/carpet/royalblue, /area/ship/crew/office) "ML" = ( -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/rice, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/soymilk, -/obj/item/reagent_containers/food/condiment/soymilk, -/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/rice, +/obj/item/reagent_containers/condiment/sugar, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/condiment/enzyme, /obj/structure/closet/secure_closet/freezer{ anchored = 1; name = "refrigerator" @@ -4128,8 +4136,8 @@ /obj/machinery/power/apc/auto_name/directional/west, /obj/machinery/light_switch{ dir = 4; - pixel_y = 12; - pixel_x = -20 + pixel_x = -20; + pixel_y = 12 }, /obj/structure/cable{ icon_state = "0-4" @@ -4181,8 +4189,8 @@ "OS" = ( /obj/structure/sink/kitchen{ dir = 4; - pixel_y = 8; - pixel_x = -12 + pixel_x = -12; + pixel_y = 8 }, /obj/effect/turf_decal/trimline/opaque/solgovblue/filled/line, /obj/effect/turf_decal/borderfloorwhite{ @@ -4202,10 +4210,10 @@ dir = 4; id = "sg_par_surgery_two"; name = "bolt control"; + normaldoorcontrol = 1; pixel_x = -20; pixel_y = -5; - specialfunctions = 4; - normaldoorcontrol = 1 + specialfunctions = 4 }, /turf/open/floor/plasteel/white, /area/ship/medical/surgery) @@ -4267,8 +4275,8 @@ /area/ship/crew/crewtwo) "Pg" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8; - color = "#332521" + color = "#332521"; + dir = 8 }, /obj/item/kirbyplants/random, /turf/open/floor/wood/ebony, @@ -4381,8 +4389,8 @@ dir = 8 }, /obj/machinery/door/poddoor{ - id = "sg_par_cargo3"; - dir = 8 + dir = 8; + id = "sg_par_cargo3" }, /turf/open/floor/plasteel, /area/ship/cargo) @@ -4506,11 +4514,11 @@ "Rs" = ( /obj/effect/turf_decal/techfloor, /obj/machinery/button/door{ - pixel_y = -23; - pixel_x = -4; dir = 1; id = "sg_par_engine"; - name = "Engine Blast Door Control" + name = "Engine Blast Door Control"; + pixel_x = -4; + pixel_y = -23 }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/power/terminal{ @@ -4659,10 +4667,10 @@ dir = 1 }, /obj/machinery/button/door{ - pixel_y = 24; - pixel_x = -4; id = "sg_par_engine"; - name = "engine blast door control" + name = "engine blast door control"; + pixel_x = -4; + pixel_y = 24 }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/power/terminal{ @@ -4715,7 +4723,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/structure/table/wood, /obj/item/cutting_board, -/obj/item/kitchen/knife, +/obj/item/melee/knife/kitchen, /obj/item/kitchen/rollingpin, /turf/open/floor/wood/ebony, /area/ship/crew/canteen) @@ -4821,8 +4829,8 @@ /area/ship/crew/toilet) "Uc" = ( /obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#332521" + color = "#332521"; + dir = 4 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -4898,8 +4906,8 @@ /area/ship/bridge) "UO" = ( /obj/machinery/smartfridge/bloodbank/preloaded{ - pixel_y = 32; - density = 0 + density = 0; + pixel_y = 32 }, /obj/effect/turf_decal/trimline/opaque/solgovblue/filled/line{ dir = 1 @@ -4914,18 +4922,18 @@ "UV" = ( /obj/structure/curtain/cloth, /obj/machinery/button/door{ - pixel_y = 24; - pixel_x = -6; id = "sg_par_psychlock"; name = "psychology office door bolt"; normaldoorcontrol = 1; + pixel_x = -6; + pixel_y = 24; specialfunctions = 4 }, /obj/machinery/button/door{ - pixel_y = 24; - pixel_x = 6; id = "sg_par_psych"; - name = "psychology office privacy shutters" + name = "psychology office privacy shutters"; + pixel_x = 6; + pixel_y = 24 }, /turf/open/floor/carpet/royalblue, /area/ship/crew/office) @@ -5162,12 +5170,12 @@ pixel_y = 15 }, /obj/item/cigbutt{ - pixel_y = 9; - pixel_x = -11 + pixel_x = -11; + pixel_y = 9 }, /obj/item/clothing/mask/cigarette/robust{ - pixel_y = 10; - pixel_x = 8 + pixel_x = 8; + pixel_y = 10 }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/maintenance/port) diff --git a/_maps/shuttles/subshuttles/Subshuttle Catalog.txt b/_maps/shuttles/subshuttles/Subshuttle Catalog.txt index 732d43938f3..036e43b471a 100644 --- a/_maps/shuttles/subshuttles/Subshuttle Catalog.txt +++ b/_maps/shuttles/subshuttles/Subshuttle Catalog.txt @@ -13,6 +13,11 @@ Size = "12x7" Purpose = "A multi-role dropship used by almost every group faring space. Its ease of manufacture and high mobility makes it ideal for transport." File Path = "_maps\shuttles\subshuttles\indepenent_kunai.dmm" +Name = "Tanto-class Drop Pod" +Size = "6x5" +Purpose = "A combat-ready drop pod designed for quick deployment in hectic battles. Its lack of holofields makes it unsuitable for environments without sufficient atmosphere, unless depressurised beforehand." +File Path = "_maps\shuttles\subshuttles\indepenent_kunai.dmm" + Name = "Haste-class Patient Recovery Ship" Size = "6x4" Purpose = "A small, nimble ship utilized as an ambulance by Inteq forces." @@ -38,11 +43,6 @@ Size = "3x4" Purpose = "A horrid merger of engineering platform and pill" File Path = "_maps\shuttles\subshuttles\independant_pill.dmm" -Name = "Falcon Dropship" -Size = "13x7" -Purpose = "A Nanotrasen dropship, primarily used by Heron-Class carriers." -File Path = "_maps\shuttles\subshuttles\nanotrasen_falcon.dmm" - Name = "Crux Dropship" Size = "12x7" Purpose = "A very common general-purpose transport Minutemen vessel." @@ -73,4 +73,7 @@ Size = "15x11" Purpose = "A hit-and-run vessel made locally by the Frontiersmen." File Path = "_maps\shuttles\subshuttles\frontiersmen_brawler.dmm" - +Name = "Skink Cargo Runner" +Size = "8x6" +Purpose = "A small cargo shuttle. Typically found on Tegu-class freighters." +File Path = "_maps\shuttles\subshuttles\nanotrasen_skink.dmm" diff --git a/_maps/shuttles/subshuttles/frontiersmen_brawler.dmm b/_maps/shuttles/subshuttles/frontiersmen_brawler.dmm index 821918d660f..20fe92d380f 100644 --- a/_maps/shuttles/subshuttles/frontiersmen_brawler.dmm +++ b/_maps/shuttles/subshuttles/frontiersmen_brawler.dmm @@ -3,18 +3,15 @@ /obj/structure/cable/yellow{ icon_state = "4-9" }, -/obj/structure/cable/yellow{ - icon_state = "2-9" - }, /turf/open/floor/plasteel/patterned/ridged, /area/ship/bridge) "c" = ( /obj/machinery/door/poddoor/shutters{ id = "brawler_starboard" }, -/obj/machinery/power/shieldwallgen/atmos{ - id = "brawler_starboard_holo"; - dir = 8 +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "brawler_starboard_holo" }, /obj/structure/cable/yellow, /turf/open/floor/engine/hull/interior, @@ -73,6 +70,55 @@ "k" = ( /turf/template_noop, /area/template_noop) +"l" = ( +/obj/machinery/door/poddoor/shutters{ + id = "brawler_starboard" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "brawler_starboard_holo" + }, +/obj/structure/cable/yellow, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 7; + pixel_x = -23; + id = "brawler_starboard" + }, +/obj/machinery/button/shieldwallgen{ + pixel_y = -7; + pixel_x = -23; + id = "brawler_starboard_holo"; + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) +"m" = ( +/obj/machinery/button/door{ + pixel_x = -23; + pixel_y = -7; + id = "brawler_port"; + dir = 4 + }, +/obj/machinery/button/shieldwallgen{ + pixel_y = 7; + pixel_x = -23; + id = "brawler_port_holo"; + dir = 4 + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "brawler_port_holo" + }, +/obj/machinery/door/poddoor/shutters{ + dir = 1; + id = "brawler_port" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) "o" = ( /obj/structure/grille, /obj/structure/window/reinforced{ @@ -91,7 +137,6 @@ pixel_x = 8 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/power/smes/engineering, /obj/effect/turf_decal/siding/thinplating/end{ dir = 8 }, @@ -112,10 +157,17 @@ /obj/structure/cable/yellow{ icon_state = "0-5" }, +/obj/structure/cable/yellow{ + icon_state = "1-10" + }, +/obj/machinery/power/smes/engineering, +/obj/structure/cable/yellow{ + icon_state = "2-10" + }, /turf/open/floor/plasteel, /area/ship/bridge) "r" = ( -/obj/machinery/power/shieldwallgen/atmos{ +/obj/machinery/power/shieldwallgen/atmos/roundstart{ id = "brawler_aft_holo"; dir = 1 }, @@ -151,9 +203,6 @@ /obj/structure/cable/yellow{ icon_state = "4-10" }, -/obj/structure/cable/yellow{ - icon_state = "1-10" - }, /turf/open/floor/plasteel/patterned/ridged, /area/ship/bridge) "v" = ( @@ -186,9 +235,9 @@ dir = 1; id = "brawler_port" }, -/obj/machinery/power/shieldwallgen/atmos{ - id = "brawler_port_holo"; - dir = 8 +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "brawler_port_holo" }, /obj/structure/cable/yellow{ icon_state = "0-2" @@ -219,29 +268,9 @@ dir = 1; id = "brawler_port" }, -/obj/machinery/power/shieldwallgen/atmos{ - id = "brawler_port_holo"; - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/button/door{ - pixel_x = -23; - pixel_y = -7; - id = "brawler_port"; - dir = 4 - }, -/obj/machinery/button/shieldwallgen{ - pixel_y = 7; - pixel_x = -23; - id = "brawler_port_holo"; - dir = 4 - }, /turf/open/floor/engine/hull/interior, /area/ship/bridge) "B" = ( -/obj/machinery/light/directional/north, /obj/effect/decal/cleanable/dirt, /obj/item/trash/can/food{ pixel_x = 7; @@ -263,6 +292,9 @@ pixel_y = 2 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/patterned/ridged, /area/ship/bridge) "D" = ( @@ -291,7 +323,7 @@ dir = 8; id = "brawler_aft" }, -/obj/machinery/power/shieldwallgen/atmos{ +/obj/machinery/power/shieldwallgen/atmos/roundstart{ id = "brawler_aft_holo" }, /obj/structure/cable/yellow{ @@ -323,6 +355,9 @@ /obj/effect/decal/cleanable/wrapping{ pixel_y = 25 }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/patterned/ridged, /area/ship/bridge) "I" = ( @@ -335,10 +370,10 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/machinery/power/smes/shuttle/precharged, -/obj/structure/cable/yellow{ - icon_state = "0-2" +/obj/machinery/power/smes/shuttle/precharged{ + dir = 2 }, +/obj/structure/cable, /turf/open/floor/plasteel/tech/grid, /area/ship/bridge) "J" = ( @@ -366,6 +401,7 @@ /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/light/floor, /turf/open/floor/plasteel, /area/ship/bridge) "L" = ( @@ -388,23 +424,6 @@ /obj/machinery/door/poddoor/shutters{ id = "brawler_starboard" }, -/obj/machinery/power/shieldwallgen/atmos{ - id = "brawler_starboard_holo"; - dir = 4 - }, -/obj/structure/cable/yellow, -/obj/machinery/button/door{ - dir = 4; - pixel_y = 7; - pixel_x = -23; - id = "brawler_starboard" - }, -/obj/machinery/button/shieldwallgen{ - pixel_y = -7; - pixel_x = -23; - id = "brawler_starboard_holo"; - dir = 4 - }, /turf/open/floor/engine/hull/interior, /area/ship/bridge) "N" = ( @@ -431,7 +450,6 @@ /turf/open/floor/plasteel, /area/ship/bridge) "P" = ( -/obj/machinery/light/directional/south, /obj/structure/cable/yellow{ icon_state = "5-8" }, @@ -524,11 +542,11 @@ k "} (3,1,1) = {" k -W +m C p G -W +l k "} (4,1,1) = {" diff --git a/_maps/shuttles/subshuttles/frontiersmen_gut.dmm b/_maps/shuttles/subshuttles/frontiersmen_gut.dmm index 6044e101189..d27da7c54e5 100644 --- a/_maps/shuttles/subshuttles/frontiersmen_gut.dmm +++ b/_maps/shuttles/subshuttles/frontiersmen_gut.dmm @@ -61,7 +61,8 @@ /area/ship/storage) "dJ" = ( /obj/machinery/porta_turret/ship/ballistic{ - dir = 5 + dir = 5; + id = "gut_grid" }, /turf/closed/wall/r_wall/syndicate/nodiagonal, /area/ship/storage) @@ -305,6 +306,10 @@ dir = 9 }, /obj/machinery/computer/helm, +/obj/machinery/turretid/ship{ + pixel_y = 24; + id = "gut_grid" + }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/storage) "sk" = ( @@ -397,7 +402,8 @@ /area/ship/storage) "vJ" = ( /obj/machinery/porta_turret/ship/ballistic{ - dir = 9 + dir = 9; + id = "gut_grid" }, /turf/closed/wall/r_wall/syndicate/nodiagonal, /area/ship/storage) @@ -478,7 +484,8 @@ /area/ship/storage) "GQ" = ( /obj/machinery/porta_turret/ship/ballistic{ - dir = 5 + dir = 5; + id = "gut_grid" }, /turf/closed/wall/mineral/plastitanium, /area/ship/storage) @@ -576,7 +583,8 @@ /area/ship/storage) "RY" = ( /obj/machinery/porta_turret/ship/ballistic{ - dir = 9 + dir = 9; + id = "gut_grid" }, /turf/closed/wall/mineral/plastitanium, /area/ship/storage) diff --git a/_maps/shuttles/subshuttles/frontiersmen_haymaker.dmm b/_maps/shuttles/subshuttles/frontiersmen_haymaker.dmm new file mode 100644 index 00000000000..52f126a0c6c --- /dev/null +++ b/_maps/shuttles/subshuttles/frontiersmen_haymaker.dmm @@ -0,0 +1,686 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ship/bridge) +"b" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/structure/closet/crate, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/glass/twenty, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"c" = ( +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/table/optable, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"d" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/bridge) +"e" = ( +/obj/machinery/holopad/secure, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"f" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"g" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/docking_port/mobile{ + can_move_docking_ports = 1; + preferred_direction = 4; + port_direction = 8; + dir = 2; + name = "haymaker"; + launch_status = 0 + }, +/obj/machinery/door/poddoor{ + id = "h1" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "h1s" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/bridge) +"h" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 8 + }, +/area/ship/bridge) +"i" = ( +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/structure/railing{ + dir = 1; + layer = 2.89 + }, +/obj/structure/closet/body_bag, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"j" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/effect/landmark/ert_shuttle_spawn, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/ship/bridge) +"k" = ( +/obj/effect/turf_decal/techfloor{ + dir = 5 + }, +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-left" + }, +/obj/machinery/button/door{ + pixel_y = 22; + pixel_x = -7; + id = "h4"; + name = "fore window shutter" + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"n" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/defibrillator_mount/loaded{ + pixel_y = -25 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"o" = ( +/obj/machinery/porta_turret/ship/frontiersmen/light{ + dir = 9; + id = "haymaker" + }, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ship/bridge) +"p" = ( +/obj/machinery/porta_turret/ship/frontiersmen/light{ + dir = 10; + id = "haymaker" + }, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ship/bridge) +"q" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + id = "h2" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "h2s" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/bridge) +"r" = ( +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"s" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange/corner{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"t" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/obj/structure/window/plasma/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "h3" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"u" = ( +/obj/machinery/porta_turret/ship/frontiersmen{ + dir = 5; + id = "haymaker" + }, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ship/bridge) +"v" = ( +/obj/machinery/light/directional/north, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"w" = ( +/turf/template_noop, +/area/template_noop) +"x" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/landmark/ert_shuttle_spawn, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"y" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor/orange/corner{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"z" = ( +/obj/machinery/porta_turret/ship/frontiersmen{ + dir = 6; + id = "haymaker" + }, +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/ship/bridge) +"A" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "tactical chair" + }, +/obj/effect/landmark/ert_shuttle_brief_spawn, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/light_switch{ + pixel_y = 23; + pixel_x = 11 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"B" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/steeldecal/steel_decals_central5, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"C" = ( +/obj/machinery/door/poddoor{ + id = "h2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "h2s" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/bridge) +"D" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"E" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor{ + dir = 4; + id = "h4" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"F" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"G" = ( +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 9 + }, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/bridge) +"H" = ( +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + dir = 4; + pixel_y = -3; + pixel_x = -10; + name = "starboard shutter"; + id = "h2" + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 8; + pixel_x = -10; + name = "port shutter"; + id = "h1" + }, +/obj/machinery/turretid/ship{ + pixel_y = 24; + id = "haymaker" + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = -3; + pixel_x = 4; + id = "h2s" + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = 8; + pixel_x = 4; + id = "h1s" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"I" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/effect/landmark/ert_shuttle_spawn, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/ship/bridge) +"J" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"K" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"L" = ( +/obj/effect/turf_decal/techfloor{ + dir = 9 + }, +/obj/structure/railing{ + dir = 9 + }, +/obj/structure/table/reinforced, +/obj/item/storage/firstaid/medical{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/item/storage/firstaid/brute{ + pixel_y = 3; + pixel_x = 7 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"M" = ( +/obj/machinery/power/smes/engineering, +/obj/machinery/power/terminal, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 6; + pixel_x = -22; + name = "engine shutters"; + id = "h3" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/bridge) +"N" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"O" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/window/plasma/reinforced{ + dir = 1 + }, +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "h3" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"P" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/autolathe, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"Q" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/rack, +/obj/item/storage/box/emptysandbags{ + pixel_x = -5; + pixel_y = -4 + }, +/obj/item/storage/box/emptysandbags{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/item/shovel{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"R" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/effect/landmark/ert_shuttle_spawn, +/turf/open/floor/plasteel, +/area/ship/bridge) +"S" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/effect/landmark/ert_shuttle_spawn, +/turf/open/floor/plasteel, +/area/ship/bridge) +"T" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 10 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/bridge) +"U" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"V" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 2 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"W" = ( +/obj/machinery/computer/crew{ + dir = 8; + icon_state = "computer-right" + }, +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/structure/railing, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"X" = ( +/obj/effect/turf_decal/techfloor{ + dir = 6 + }, +/obj/structure/closet/body_bag, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Y" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central5{ + dir = 1 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Z" = ( +/obj/machinery/door/poddoor{ + id = "h1" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "h1s" + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/bridge) + +(1,1,1) = {" +w +a +t +a +O +a +w +"} +(2,1,1) = {" +w +a +V +M +F +a +w +"} +(3,1,1) = {" +o +a +G +d +T +a +p +"} +(4,1,1) = {" +a +a +s +x +y +a +a +"} +(5,1,1) = {" +Z +j +N +P +b +I +C +"} +(6,1,1) = {" +g +R +D +Q +K +S +q +"} +(7,1,1) = {" +a +a +v +J +f +a +a +"} +(8,1,1) = {" +a +H +r +h +L +c +a +"} +(9,1,1) = {" +a +A +B +e +Y +n +a +"} +(10,1,1) = {" +a +k +W +U +i +X +a +"} +(11,1,1) = {" +u +a +E +E +E +a +z +"} diff --git a/_maps/shuttles/subshuttles/independent_kunai.dmm b/_maps/shuttles/subshuttles/independent_kunai.dmm index e1975d0a173..1cd4e42355e 100644 --- a/_maps/shuttles/subshuttles/independent_kunai.dmm +++ b/_maps/shuttles/subshuttles/independent_kunai.dmm @@ -260,7 +260,9 @@ dir = 1 }, /obj/structure/cable, -/obj/machinery/power/smes/shuttle/precharged, +/obj/machinery/power/smes/shuttle/precharged{ + dir = 1 + }, /obj/machinery/door/poddoor/shutters{ id = "polengine"; name = "Engine Shutters" @@ -278,7 +280,9 @@ dir = 1 }, /obj/structure/cable, -/obj/machinery/power/smes/shuttle/precharged, +/obj/machinery/power/smes/shuttle/precharged{ + dir = 2 + }, /obj/machinery/door/poddoor/shutters{ id = "polengine" }, diff --git a/_maps/shuttles/subshuttles/independent_sugarcube.dmm b/_maps/shuttles/subshuttles/independent_sugarcube.dmm index 11a8de916cd..ad9ef66d3d5 100644 --- a/_maps/shuttles/subshuttles/independent_sugarcube.dmm +++ b/_maps/shuttles/subshuttles/independent_sugarcube.dmm @@ -56,8 +56,8 @@ /turf/open/floor/plating, /area/ship/engineering) "h" = ( -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/trash/cheesie, /obj/item/trash/cheesie, /obj/item/trash/candy, @@ -235,7 +235,7 @@ /obj/effect/decal/cleanable/glass, /obj/item/shard, /obj/item/shard, -/obj/item/kitchen/knife/shiv, +/obj/item/melee/knife/shiv, /turf/open/floor/plating, /area/ship/storage) "B" = ( @@ -259,8 +259,8 @@ /obj/item/circuitboard/machine/autolathe, /obj/item/pickaxe/improvised, /obj/item/pickaxe/improvised, -/obj/effect/spawner/lootdrop/glowstick, -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /obj/machinery/power/terminal{ dir = 8 }, diff --git a/_maps/shuttles/subshuttles/independent_superpill.dmm b/_maps/shuttles/subshuttles/independent_superpill.dmm index de9046d091a..d448e0cf263 100644 --- a/_maps/shuttles/subshuttles/independent_superpill.dmm +++ b/_maps/shuttles/subshuttles/independent_superpill.dmm @@ -10,9 +10,9 @@ "b" = ( /obj/structure/catwalk, /obj/machinery/conveyor_switch/oneway{ + desc = "A conveyor control switch. It appears to only go in one direction; once you've pulled this, there's no going back."; id = "superpill_start"; - name = "jumpstart device"; - desc = "A conveyor control switch. It appears to only go in one direction; once you've pulled this, there's no going back." + name = "jumpstart device" }, /obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ dir = 4 @@ -34,8 +34,8 @@ id = "superpill_start" }, /obj/item/reagent_containers/pill/floorpill{ - pixel_y = -5; - pixel_x = -1 + pixel_x = -1; + pixel_y = -5 }, /obj/item/reagent_containers/pill/floorpill{ pixel_x = 6 @@ -80,7 +80,7 @@ name = "environmental storytelling" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - filter_types = list("co2","bz","o2","plasma","water_vapor","nob","no2","tritium","freon","pluox","stim") + filter_types = list("co2","n2","co2","bz","water_vapor","miasma","freon","tritium","n20") }, /turf/open/floor/plating{ initial_gas_mix = "n2o=28, n2=72;TEMP=7" diff --git a/_maps/shuttles/subshuttles/independent_tanto.dmm b/_maps/shuttles/subshuttles/independent_tanto.dmm new file mode 100644 index 00000000000..e99e605fed4 --- /dev/null +++ b/_maps/shuttles/subshuttles/independent_tanto.dmm @@ -0,0 +1,333 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"e" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/ert_shuttle_spawn, +/turf/open/floor/pod, +/area/ship/storage) +"f" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "pod_aft" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/docking_port/mobile{ + dir = 4; + name = "tanto pod"; + port_direction = 2; + preferred_direction = 4 + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/storage) +"l" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + layer = 3.3 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic, +/obj/machinery/button/door{ + dir = 4; + pixel_y = -6; + pixel_x = -22; + name = "Aft Door"; + id = "pod_aft" + }, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -32; + name = "Window Shutters"; + id = "pod_window" + }, +/obj/machinery/door/window/brigdoor/northleft, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 6; + pixel_x = -22; + name = "Fore Door"; + id = "pod_fore" + }, +/obj/effect/landmark/ert_shuttle_spawn, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/storage) +"n" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/item/radio/intercom/directional/south, +/obj/effect/landmark/ert_shuttle_brief_spawn, +/turf/open/floor/pod, +/area/ship/storage) +"p" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/cable/yellow, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/storage) +"s" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod, +/area/ship/storage) +"w" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/storage) +"x" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/cable, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/power/port_gen/pacman, +/obj/item/stack/sheet/mineral/plasma/twenty, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/item/wrench, +/obj/machinery/door/window/brigdoor/southleft, +/obj/structure/closet/wall/red/directional/west{ + secure = 1; + locked = 1 + }, +/obj/item/pickaxe/mini, +/obj/item/flashlight/flare{ + pixel_y = 3 + }, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare{ + pixel_y = -3 + }, +/obj/item/storage/toolbox/emergency/shuttle/electric, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/clothing/mask/gas, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/clothing/mask/gas, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/clothing/mask/gas, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/storage) +"z" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/computer/helm{ + dir = 8; + layer = 3.3 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/storage) +"C" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/power/smes/shuttle/micro/precharged{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/storage) +"E" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/storage) +"J" = ( +/obj/structure/window/reinforced, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/light/small/directional/east{ + pixel_y = -6 + }, +/obj/machinery/light_switch{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/light_switch{ + pixel_x = 22; + pixel_y = 5; + dir = 8 + }, +/obj/effect/landmark/ert_shuttle_spawn, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/storage) +"K" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/pod, +/area/ship/storage) +"L" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "pod_fore" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/storage) +"S" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/power/smes/shuttle/micro/precharged{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/storage) +"Y" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/storage) + +(1,1,1) = {" +a +w +f +w +a +"} +(2,1,1) = {" +Y +w +e +w +Y +"} +(3,1,1) = {" +C +l +K +x +S +"} +(4,1,1) = {" +E +z +s +J +p +"} +(5,1,1) = {" +w +w +n +w +w +"} +(6,1,1) = {" +a +w +L +w +a +"} diff --git a/_maps/shuttles/subshuttles/inteq_anvil.dmm b/_maps/shuttles/subshuttles/inteq_anvil.dmm index 5e591774e25..61d7946fb79 100644 --- a/_maps/shuttles/subshuttles/inteq_anvil.dmm +++ b/_maps/shuttles/subshuttles/inteq_anvil.dmm @@ -67,7 +67,9 @@ /turf/open/floor/plasteel/mono/dark, /area/ship/bridge) "g" = ( -/obj/machinery/power/smes/shuttle/precharged, +/obj/machinery/power/smes/shuttle/precharged{ + dir = 2 + }, /obj/structure/cable, /obj/structure/window/reinforced{ dir = 1 @@ -189,13 +191,6 @@ "w" = ( /turf/template_noop, /area/template_noop) -"x" = ( -/obj/machinery/porta_turret/ship/weak{ - faction = list("playerInteq","turret"); - dir = 1 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) "y" = ( /obj/machinery/power/terminal, /obj/structure/cable{ @@ -223,10 +218,11 @@ /obj/effect/turf_decal/corner/opaque/yellow, /obj/structure/chair/comfy/shuttle, /obj/effect/landmark/ert_shuttle_spawn, -/obj/machinery/turretid{ - pixel_y = 25 - }, /obj/machinery/light/directional/east, +/obj/machinery/turretid/ship{ + pixel_y = 24; + id = "anvil_grid" + }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "B" = ( @@ -383,8 +379,9 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "T" = ( -/obj/machinery/porta_turret/ship/weak{ - faction = list("playerInteq","turret") +/obj/machinery/porta_turret/ship/inteq/light{ + dir = 8; + id = "anvil_grid" }, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/bridge) @@ -430,7 +427,7 @@ (1,1,1) = {" w -x +T X u Q diff --git a/_maps/shuttles/subshuttles/inteq_haste.dmm b/_maps/shuttles/subshuttles/inteq_haste.dmm index 74144c3fe93..177dcd41bc5 100644 --- a/_maps/shuttles/subshuttles/inteq_haste.dmm +++ b/_maps/shuttles/subshuttles/inteq_haste.dmm @@ -54,16 +54,15 @@ /obj/structure/cable/yellow{ icon_state = "2-8" }, -/obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = 10 - }, /obj/effect/turf_decal/techfloor{ dir = 1 }, /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 8 }, +/obj/structure/chair/handrail{ + pixel_y = 7 + }, /turf/open/floor/plasteel/tech, /area/ship/bridge) "F" = ( @@ -122,7 +121,9 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, -/obj/machinery/power/smes/shuttle/precharged, +/obj/machinery/power/smes/shuttle/precharged{ + dir = 2 + }, /turf/open/floor/plasteel/tech, /area/ship/bridge) "K" = ( @@ -221,6 +222,10 @@ /obj/structure/cable/yellow{ icon_state = "4-10" }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = 10 + }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) diff --git a/_maps/shuttles/subshuttles/nanotrasen_falcon.dmm b/_maps/shuttles/subshuttles/nanotrasen_falcon.dmm deleted file mode 100644 index e88bfc4bd5f..00000000000 --- a/_maps/shuttles/subshuttles/nanotrasen_falcon.dmm +++ /dev/null @@ -1,686 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/obj/machinery/computer/security{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/storage/eva) -"b" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/holopad/emergency/command, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/storage/eva) -"c" = ( -/obj/item/gps/computer{ - pixel_y = -20 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) -"d" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "tactical chair" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/effect/landmark/ert_shuttle_spawn, -/turf/open/floor/plasteel, -/area/ship/storage/eva) -"e" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/storage/eva) -"f" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - icon_state = "0-10" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) -"g" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/storage/eva) -"h" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer1{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 8 - }, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) -"i" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/storage/eva) -"j" = ( -/obj/machinery/computer/helm{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/storage/eva) -"k" = ( -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/camera{ - dir = 5 - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/storage/eva) -"l" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "tactical chair" - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1; - pixel_y = -16 - }, -/obj/machinery/light_switch{ - pixel_x = -22; - dir = 4; - pixel_y = 8 - }, -/obj/effect/landmark/ert_shuttle_spawn, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/storage/eva) -"m" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/storage/eva) -"n" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/storage/eva) -"o" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8; - name = "tactical chair" - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/wallmed{ - pixel_y = -28 - }, -/obj/effect/landmark/ert_shuttle_spawn, -/turf/open/floor/plasteel, -/area/ship/storage/eva) -"p" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/obj/structure/cable/yellow, -/obj/machinery/power/port_gen/pacman, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) -"r" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "tactical chair" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/ert_shuttle_spawn, -/turf/open/floor/plasteel, -/area/ship/storage/eva) -"s" = ( -/obj/structure/window/reinforced/survival_pod/spawner/west, -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"t" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/storage/eva) -"v" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer1{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "engine fuel pump" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/machinery/door/airlock/grunge{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) -"w" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor{ - id = "heron_subshuttle_bridge" - }, -/turf/open/floor/plating, -/area/ship/storage/eva) -"y" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 4; - id = "heron_subshuttle2"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-1" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/poddoor/shutters{ - id = "heron_subshuttle22"; - name = "Blast Shutters" - }, -/obj/machinery/button/shieldwallgen{ - id = "heron_subshuttle2"; - pixel_x = -21; - pixel_y = -8; - dir = 4 - }, -/obj/machinery/button/door{ - id = "heron_subshuttle22"; - name = "Access Shutters"; - pixel_x = -23; - dir = 4 - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/storage/eva) -"z" = ( -/turf/template_noop, -/area/template_noop) -"A" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 4; - id = "heron_subshuttle1"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve{ - dir = 1; - name = "Shuttle Fuel Valve" - }, -/obj/machinery/door/poddoor/shutters{ - id = "heron_subshuttle11"; - name = "Blast Shutters" - }, -/obj/machinery/button/door{ - id = "heron_subshuttle11"; - name = "Access Shutters"; - pixel_x = -23; - dir = 4 - }, -/obj/machinery/button/shieldwallgen{ - id = "heron_subshuttle1"; - pixel_x = -21; - pixel_y = 8; - dir = 4 - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/storage/eva) -"B" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "tactical chair" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/landmark/ert_shuttle_spawn, -/turf/open/floor/plasteel, -/area/ship/storage/eva) -"C" = ( -/obj/structure/window/reinforced/survival_pod/spawner/west, -/obj/machinery/atmospherics/components/unary/tank/toxins{ - dir = 4; - piping_layer = 1 - }, -/obj/structure/cable{ - icon_state = "4-5" - }, -/obj/effect/turf_decal/steeldecal/steel_decals3, -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"D" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - id = "heron_subshuttle_engines"; - name = "Thruster Blast Door"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/storage/eva) -"E" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor{ - id = "heron_subshuttle_bridge"; - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/storage/eva) -"F" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "2-5" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/storage/eva) -"G" = ( -/obj/machinery/computer/crew/syndie{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/storage/eva) -"H" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/storage/eva) -"I" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8; - name = "tactical chair" - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/landmark/ert_shuttle_spawn, -/turf/open/floor/plasteel, -/area/ship/storage/eva) -"J" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/storage/eva) -"K" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8; - name = "tactical chair" - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/obj/effect/landmark/ert_shuttle_spawn, -/turf/open/floor/plasteel, -/area/ship/storage/eva) -"L" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 8; - id = "heron_subshuttle1"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-10" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/docking_port/mobile{ - dir = 2; - port_direction = 8; - preferred_direction = 4 - }, -/obj/machinery/door/poddoor/shutters{ - id = "heron_subshuttle11"; - name = "Blast Shutters" - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/storage/eva) -"M" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer1{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/landmark/ert_shuttle_brief_spawn, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/storage/eva) -"N" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/plasma, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/storage/eva) -"O" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass{ - pixel_x = 8; - pixel_y = 20 - }, -/obj/structure/cable{ - icon_state = "1-6" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/storage/eva) -"P" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/gps{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/machinery/button/door{ - id = "heron_subshuttle_bridge"; - name = "Bridge Shutters"; - pixel_x = 6; - pixel_y = 7; - dir = 1 - }, -/obj/machinery/button/door{ - id = "heron_subshuttle_engines"; - name = "Engine Shutters"; - pixel_x = 6; - pixel_y = -1; - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) -"Q" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 8 - }, -/area/ship/storage/eva) -"R" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 8; - id = "heron_subshuttle2"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-9" - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/poddoor/shutters{ - id = "heron_subshuttle22"; - name = "Blast Shutters" - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/storage/eva) -"S" = ( -/obj/structure/window/reinforced/survival_pod/spawner/west, -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"T" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "tactical chair" - }, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8; - pixel_y = 16 - }, -/obj/effect/landmark/ert_shuttle_spawn, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/storage/eva) -"U" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/storage/eva) -"X" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/storage/eva) -"Z" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/storage/eva) - -(1,1,1) = {" -z -n -D -n -D -n -z -"} -(2,1,1) = {" -z -n -S -C -s -n -z -"} -(3,1,1) = {" -n -n -f -h -p -n -n -"} -(4,1,1) = {" -n -n -n -v -n -n -n -"} -(5,1,1) = {" -A -F -k -M -U -O -y -"} -(6,1,1) = {" -L -N -X -e -X -X -R -"} -(7,1,1) = {" -n -B -r -Z -B -d -n -"} -(8,1,1) = {" -n -m -J -b -J -t -n -"} -(9,1,1) = {" -n -K -I -H -I -o -n -"} -(10,1,1) = {" -n -n -n -Q -n -n -n -"} -(11,1,1) = {" -w -c -l -i -T -P -w -"} -(12,1,1) = {" -g -n -G -j -a -n -g -"} -(13,1,1) = {" -z -g -E -E -E -g -z -"} diff --git a/_maps/shuttles/subshuttles/nanotrasen_skink.dmm b/_maps/shuttles/subshuttles/nanotrasen_skink.dmm new file mode 100644 index 00000000000..8922b42c52b --- /dev/null +++ b/_maps/shuttles/subshuttles/nanotrasen_skink.dmm @@ -0,0 +1,425 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/effect/turf_decal/siding/white/end, +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/storage) +"b" = ( +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/computer/crew/retro{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"c" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/terminal, +/turf/open/floor/plasteel/patterned, +/area/ship/storage) +"e" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/window/northright{ + name = "Engine Access" + }, +/obj/machinery/power/smes/shuttle/micro/precharged{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "skink_engine" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/storage) +"f" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" + }, +/obj/effect/turf_decal/siding/white/end{ + dir = 1 + }, +/obj/item/radio/intercom/wideband/directional/west{ + pixel_y = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door{ + dir = 4; + pixel_y = -8; + pixel_x = -22; + name = "Window Shutters"; + id = "skink_bridge" + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage) +"j" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/binary/valve/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/valve/layer2{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "skink_door" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "skink_holofield"; + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) +"m" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "skink_bridge" + }, +/turf/open/floor/plating, +/area/ship/storage) +"o" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters{ + id = "skink_bridge"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/storage) +"s" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + req_ship_access = 0 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage) +"t" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "skink_engine" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/window/southright{ + name = "Engine Access" + }, +/obj/machinery/power/smes/shuttle/micro/precharged, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/storage) +"u" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/storage) +"v" = ( +/obj/machinery/telecomms/relay/preset/nanotrasen, +/obj/effect/turf_decal/industrial/hatch/red, +/obj/machinery/light/small/directional/east, +/obj/machinery/firealarm/directional/north{ + pixel_x = -6 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) +"w" = ( +/obj/machinery/power/smes/engineering{ + inputting = 0 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) +"D" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/storage) +"G" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/storage) +"H" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/storage) +"K" = ( +/turf/template_noop, +/area/template_noop) +"M" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/storage) +"N" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "skink_bridge"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/storage) +"O" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/docking_port/mobile{ + dir = 4; + name = "skink shuttle"; + port_direction = 2; + preferred_direction = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "skink_door" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "skink_holofield" + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) +"P" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/effect/turf_decal/siding/white{ + dir = 2 + }, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/power/terminal, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/storage) +"Q" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/storage) +"R" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door{ + pixel_y = 24; + name = "Cargo Door"; + id = "skink_door"; + pixel_x = -6 + }, +/obj/machinery/button/shieldwallgen{ + pixel_y = 23; + pixel_x = 5; + id = "skink_holofield"; + name = "Shuttle Bay Holofield" + }, +/obj/structure/cable/yellow{ + icon_state = "6-8" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/storage) +"S" = ( +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/computer/helm/retro{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/storage) +"T" = ( +/obj/structure/chair/comfy/shuttle, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 7; + pixel_x = -22; + name = "Engine Shutters"; + id = "skink_engine" + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/storage) +"V" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "skink_bridge"; + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/storage) +"Z" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable/yellow{ + icon_state = "2-9" + }, +/turf/open/floor/plating, +/area/ship/storage) + +(1,1,1) = {" +K +D +O +j +D +K +"} +(2,1,1) = {" +u +D +R +H +D +u +"} +(3,1,1) = {" +t +T +M +Z +c +e +"} +(4,1,1) = {" +D +v +G +P +w +D +"} +(5,1,1) = {" +Q +D +D +s +D +Q +"} +(6,1,1) = {" +K +m +f +a +V +K +"} +(7,1,1) = {" +K +m +S +b +V +K +"} +(8,1,1) = {" +K +D +N +o +D +K +"} diff --git a/_maps/shuttles/subshuttles/pgf_nail.dmm b/_maps/shuttles/subshuttles/pgf_nail.dmm index 9a5224dc457..7414776c1e9 100644 --- a/_maps/shuttles/subshuttles/pgf_nail.dmm +++ b/_maps/shuttles/subshuttles/pgf_nail.dmm @@ -115,6 +115,11 @@ /obj/structure/chair/comfy/shuttle{ dir = 8 }, +/obj/machinery/turretid/ship{ + pixel_y = -30; + pixel_x = -2; + id = "nail_grid" + }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "p" = ( @@ -390,8 +395,10 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/machinery/porta_turret/ship/weak{ - dir = 8 +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 8; + id = "nail_grid"; + lethal = 1 }, /turf/open/floor/engine/hull/reinforced/interior, /area/ship/external/dark) diff --git a/_maps/shuttles/subshuttles/syndicate_runner.dmm b/_maps/shuttles/subshuttles/syndicate_runner.dmm index 69430bf0915..036a10b4904 100644 --- a/_maps/shuttles/subshuttles/syndicate_runner.dmm +++ b/_maps/shuttles/subshuttles/syndicate_runner.dmm @@ -1,6 +1,8 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( -/obj/machinery/power/smes/shuttle/precharged, +/obj/machinery/power/smes/shuttle/precharged{ + dir = 2 + }, /obj/structure/window/reinforced{ dir = 4 }, @@ -234,9 +236,9 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "gi" = ( -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = -2; - pixel_y = 9 +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 3 }, /obj/structure/table/chem, /turf/open/floor/plasteel/mono/dark, diff --git a/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm b/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm index 41faf816d82..b838a83b5c3 100644 --- a/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm +++ b/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm @@ -258,7 +258,7 @@ /turf/open/floor/plasteel/stairs, /area/ship/cargo) "fk" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /obj/machinery/button/door{ @@ -549,7 +549,7 @@ dir = 4 }, /obj/item/storage/box/rxglasses/spyglasskit, -/obj/item/kitchen/knife/letter_opener, +/obj/item/melee/knife/letter_opener, /turf/open/floor/plasteel/dark, /area/ship/crew/office) "nF" = ( @@ -849,9 +849,9 @@ /obj/structure/railing{ dir = 4 }, -/obj/effect/spawner/lootdrop/maintenance/five, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/maintenance/five, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /obj/item/stack/marker_beacon/thirty, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) @@ -887,13 +887,6 @@ /obj/effect/landmark/observer_start, /turf/open/floor/plasteel/white, /area/ship/hallway/central) -"tV" = ( -/obj/machinery/porta_turret/ship/syndicate/weak{ - dir = 4; - pixel_x = 8 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) "uq" = ( /obj/effect/turf_decal/spline/fancy/opaque/syndiered{ dir = 10 @@ -902,10 +895,11 @@ /area/ship/bridge) "uR" = ( /obj/machinery/porta_turret/ship/syndicate/weak{ - dir = 9 + dir = 9; + id = "kansatsu_grid" }, /turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) +/area/ship/engineering) "vk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -1106,9 +1100,6 @@ /turf/open/floor/plating, /area/ship/engineering) "zO" = ( -/obj/effect/turf_decal/arrows{ - dir = 4 - }, /obj/effect/turf_decal/industrial/warning/corner{ dir = 8 }, @@ -1135,10 +1126,11 @@ /area/ship/cargo) "Ah" = ( /obj/machinery/porta_turret/ship/syndicate/weak{ - dir = 6 + dir = 6; + id = "kansatsu_grid" }, /turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) +/area/ship/engineering) "AM" = ( /obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning, /obj/effect/turf_decal/trimline/opaque/syndiered/filled/warning{ @@ -1194,10 +1186,11 @@ /area/ship/crew/dorm) "CR" = ( /obj/machinery/porta_turret/ship/syndicate/weak{ - dir = 10 + dir = 10; + id = "kansatsu_grid" }, /turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) +/area/ship/engineering) "CU" = ( /obj/machinery/power/smes/shuttle/precharged{ dir = 4 @@ -1313,7 +1306,7 @@ /obj/machinery/porta_turret/ship/syndicate/weak{ dir = 4; pixel_x = 8; - pixel_y = 4 + id = "kansatsu_grid" }, /turf/closed/wall/mineral/plastitanium, /area/ship/bridge) @@ -1417,10 +1410,11 @@ /area/ship/bridge) "KA" = ( /obj/machinery/porta_turret/ship/syndicate/weak{ - dir = 5 + dir = 5; + id = "kansatsu_grid" }, /turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) +/area/ship/engineering) "KP" = ( /obj/structure/closet/wall/directional/north{ name = "emergency rum cabinet" @@ -1457,10 +1451,11 @@ dir = 4; name = "Captain's Chair" }, -/obj/machinery/turretid{ - pixel_y = 28 - }, /obj/effect/turf_decal/trimline/opaque/bar, +/obj/machinery/turretid/ship{ + pixel_y = 26; + id = "kansatsu_grid" + }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "MH" = ( @@ -1595,13 +1590,11 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/cargo) "Pk" = ( -/obj/machinery/mineral/ore_redemption{ - dir = 8; - input_dir = 8; - output_dir = null - }, -/obj/effect/turf_decal/box, /obj/machinery/airalarm/directional/east, +/obj/structure/table, +/obj/item/storage/toolbox/ammo{ + pixel_y = 4 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/cargo) "Qa" = ( @@ -1846,7 +1839,7 @@ /obj/item/implanter/stealth, /obj/item/modular_computer/laptop/preset/civilian, /obj/item/clothing/mask/chameleon, -/obj/item/kitchen/knife/combat, +/obj/item/melee/knife/combat, /obj/item/reagent_containers/pill/cyanide, /obj/item/reagent_containers/pill/cyanide, /obj/item/reagent_containers/pill/cyanide, @@ -1950,10 +1943,10 @@ layer = 2.91 }, /obj/effect/turf_decal/box, -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, /obj/item/pickaxe, /obj/item/pickaxe, /obj/item/pickaxe, @@ -2302,7 +2295,7 @@ YQ YQ YQ YQ -tV +GV bO bO dA diff --git a/_maps/shuttles/syndicate/syndicate_litieguai.dmm b/_maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm similarity index 66% rename from _maps/shuttles/syndicate/syndicate_litieguai.dmm rename to _maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm index c2e92f15f16..b007f06698d 100644 --- a/_maps/shuttles/syndicate/syndicate_litieguai.dmm +++ b/_maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm @@ -9,17 +9,19 @@ /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 8 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-8" }, /obj/structure/chair/office/light{ dir = 8 }, -/turf/open/floor/plasteel/patterned/brushed, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, /area/ship/science) "an" = ( /turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/central) +/area/ship/crew/office/lobby) "as" = ( /obj/machinery/computer/operating{ dir = 8 @@ -28,23 +30,24 @@ id = "traumasurgery"; name = "Surgery Shutter Control"; pixel_x = -7; - pixel_y = 23 + pixel_y = 21 }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/mono/dark, /area/ship/medical/surgery) "ba" = ( /obj/structure/mirror{ - pixel_x = 25 + pixel_x = 21; + pixel_y = 1; + layer = 2.89 }, /obj/structure/sink{ dir = 8; pixel_y = 0; pixel_x = 12 }, -/obj/structure/sign/poster/official/cleanliness{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/freezer, +/obj/structure/chair/handrail, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/mono/white, /area/ship/crew/toilet) "bu" = ( /obj/machinery/door/airlock/maintenance_hatch{ @@ -52,7 +55,7 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /obj/machinery/door/firedoor/border_only{ @@ -62,11 +65,15 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/maintenance/starboard) "bv" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 8 +/obj/effect/turf_decal/industrial/warning{ + dir = 8; + color = "#FFFFFF" }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) "bz" = ( /obj/machinery/light/small/directional/south, /obj/machinery/power/ship_gravity, @@ -86,7 +93,7 @@ /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/machinery/door/airlock/command{ @@ -102,54 +109,51 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/turf_decal/trimline/opaque/red/filled/line{ - dir = 1 - }, /obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "bT" = ( -/obj/machinery/smartfridge/bloodbank/preloaded{ - density = 0; - pixel_y = 0; - pixel_x = 32 - }, -/obj/effect/turf_decal/industrial/outline/red, /obj/machinery/stasis{ dir = 8 }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line, +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ + dir = 4 + }, +/turf/open/floor/plasteel/white, /area/ship/medical) "cd" = ( -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-4" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plating, +/obj/effect/turf_decal/isf_small/left, +/turf/open/floor/plasteel/dark, /area/ship/maintenance/starboard) "cK" = ( -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/light/small/directional/east, /obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, /area/ship/maintenance/port) "cL" = ( @@ -158,15 +162,45 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/paper_bin, /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/effect/turf_decal/industrial/hatch/red, -/obj/item/folder/white, -/obj/item/pen, -/turf/open/floor/plating, -/area/ship/cargo) +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ + dir = 4 + }, +/obj/machinery/button/door{ + dir = 4; + id = "lobbydoors"; + name = "Lobby Door Bolts Control"; + normaldoorcontrol = 1; + pixel_x = 6; + pixel_y = 8; + specialfunctions = 4 + }, +/obj/machinery/button/door{ + dir = 4; + id = "lobbydoors"; + name = "Lobby Door Control"; + normaldoorcontrol = 1; + pixel_x = 6; + pixel_y = -4 + }, +/obj/machinery/button/door{ + dir = 4; + id = "traumalobby"; + name = "Lobby Shutter Control"; + pixel_x = -6; + pixel_y = -4 + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + id = "traumashield"; + name = "Lobby Holoshield"; + pixel_x = -5; + pixel_y = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office/lobby) "dl" = ( /obj/machinery/door/firedoor/border_only{ dir = 1 @@ -174,10 +208,10 @@ /obj/machinery/door/firedoor/border_only, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/airlock/medical{ +/obj/machinery/door/airlock/freezer{ name = "Research" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /turf/open/floor/plasteel/tech/grid, @@ -185,27 +219,26 @@ "eo" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /obj/machinery/door/firedoor/border_only{ dir = 1 }, /obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/medical{ +/obj/machinery/door/airlock/public{ name = "Bathroom" }, /turf/open/floor/plasteel/tech/grid, /area/ship/crew/toilet) "eS" = ( -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) "eT" = ( -/obj/effect/turf_decal/industrial/outline/red, /obj/machinery/computer/rdconsole/core{ dir = 4 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-4" }, /obj/machinery/power/apc/auto_name/directional/south, @@ -215,7 +248,10 @@ pixel_y = -16 }, /obj/machinery/light/directional/west, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 8 + }, +/turf/open/floor/plasteel/white, /area/ship/science) "fe" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -228,10 +264,12 @@ /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 8 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/patterned/brushed, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, /area/ship/science) "fo" = ( /obj/machinery/door/firedoor/border_only{ @@ -243,7 +281,7 @@ /obj/machinery/door/airlock/medical{ name = "Surgery" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /turf/open/floor/plasteel/tech/grid, @@ -252,61 +290,73 @@ /turf/closed/wall/mineral/titanium, /area/ship/maintenance/port) "fW" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 +/obj/machinery/holopad/emergency/medical{ + secure = 1; + name = "secure advanced medical holopad" }, -/obj/machinery/holopad/emergency/medical, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/patterned/brushed, +/turf/open/floor/plasteel/mono/white, /area/ship/medical) "fX" = ( -/obj/machinery/vending/snack/random, -/obj/effect/turf_decal/trimline/opaque/red/filled/line{ - dir = 8 - }, -/obj/structure/sign/poster/official/cleanliness{ +/obj/effect/spawner/random/vending/snack, +/obj/structure/sign/poster/contraband/cybersun{ pixel_y = 32 }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal, +/obj/machinery/camera/autoname{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office/lobby) "gf" = ( -/obj/effect/turf_decal/industrial/outline/red, -/obj/structure/closet/crate/freezer/surplus_limbs, +/obj/structure/closet/crate/freezer/surplus_limbs{ + anchored = 1 + }, /obj/machinery/airalarm/directional/south, /obj/machinery/firealarm/directional/east, /obj/machinery/iv_drip, +/obj/effect/turf_decal/box/white, /turf/open/floor/plasteel/tech, /area/ship/storage) "gL" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/cargo) "gW" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/line, +/obj/effect/turf_decal/trimline/opaque/syndiered/corner, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 11; + pixel_y = -16 + }, +/obj/structure/cable/yellow, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "hF" = ( /obj/structure/table/reinforced, -/obj/machinery/fax/syndicate, -/turf/open/floor/plasteel/dark, +/obj/machinery/fax/syndicate{ + pixel_y = 6; + layer = 3.09 + }, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 + }, +/turf/open/floor/plasteel/white, /area/ship/bridge) "hQ" = ( /obj/structure/table/optable, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/mono/dark, /area/ship/medical/surgery) "hS" = ( -/obj/effect/turf_decal/industrial/hatch/red, /obj/machinery/firealarm/directional/west, /obj/item/reagent_containers/glass/bottle/formaldehyde, /obj/item/storage/box/syringes, /obj/item/storage/box/bodybags, /obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-4" }, /obj/machinery/light_switch{ @@ -314,15 +364,26 @@ pixel_y = 22 }, /obj/structure/closet/secure_closet{ - name = "mortuary locker" + name = "mortuary locker"; + anchored = 1 + }, +/obj/effect/turf_decal/box/white, +/obj/machinery/camera/autoname{ + dir = 5 }, /turf/open/floor/plasteel/tech, /area/ship/medical/surgery) "hW" = ( -/obj/structure/dresser{ +/obj/structure/bed{ dir = 8 }, -/turf/open/floor/carpet/cyan, +/obj/item/bedsheet/black, +/obj/structure/curtain/cloth/grey, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/carpet/nanoweave, /area/ship/crew) "ih" = ( /obj/machinery/power/smes/shuttle/precharged{ @@ -344,15 +405,12 @@ /obj/structure/bed{ dir = 8 }, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/blue{ - dir = 8 - }, +/obj/structure/curtain/cloth/grey, +/obj/item/bedsheet/black, /obj/machinery/light/small/directional/south, -/turf/open/floor/carpet/cyan, +/turf/open/floor/carpet/nanoweave, /area/ship/crew) "iz" = ( -/obj/effect/landmark/start/paramedic, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, @@ -360,190 +418,239 @@ dir = 4 }, /obj/machinery/light/directional/north, -/turf/open/floor/plasteel/patterned/brushed, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/ship/crew) "iA" = ( /turf/closed/wall/mineral/titanium, /area/ship/crew) "iC" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood/ebony, +/obj/structure/table/chem{ + name = "kitchen counter" + }, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_x = 8; + pixel_y = 10 + }, +/obj/item/trash/plate{ + pixel_y = -5; + pixel_x = 5 + }, +/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ + pixel_y = 4; + pixel_x = -4 + }, +/obj/structure/sign/poster/contraband/cybersun_borg{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, /area/ship/crew) "iQ" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-8" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-8" }, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 1 - }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-4" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-4" }, +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "iW" = ( -/turf/open/floor/carpet/cyan, +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = -8 + }, +/turf/open/floor/carpet/nanoweave, /area/ship/crew) "jh" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/structure/table/chem{ + name = "kitchen counter" + }, /obj/item/radio/intercom/directional/west, -/turf/open/floor/wood/ebony, +/obj/item/reagent_containers/food/drinks/dry_ramen{ + pixel_x = 7; + list_reagents = null; + pixel_y = 7 + }, +/obj/structure/sink/chem{ + name = "kitchen sink"; + dir = 4; + pixel_x = -5; + pixel_y = 3 + }, +/turf/open/floor/plasteel/dark, /area/ship/crew) "jK" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/warning, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 1 - }, /obj/machinery/door/poddoor{ dir = 1; id = "traumaramp" }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ship/storage/eva) +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) "jU" = ( -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/white{ +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ dir = 8 }, -/obj/effect/turf_decal/siding/white{ +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) +/obj/effect/landmark/start/paramedic, +/turf/open/floor/plasteel/mono/white, +/area/ship/cargo) "ke" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/curtain/cloth, +/obj/structure/catwalk/over, /turf/open/floor/plating, -/area/ship/science) +/area/ship/external/dark) "kh" = ( -/obj/machinery/power/terminal{ - dir = 8 +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/industrial/warning{ + dir = 2; + color = "#FFFFFF" }, /obj/structure/cable/yellow{ - icon_state = "0-4" + icon_state = "4-8" }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/dark, /area/ship/maintenance/starboard) "kw" = ( /obj/structure/chair{ dir = 8 }, -/obj/effect/landmark/start/assistant, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#332521" +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/turf/open/floor/wood/ebony, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark, /area/ship/crew) "la" = ( /obj/structure/railing{ dir = 10 }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ dir = 4 }, /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 8 }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/storage/eva) -"li" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 1 +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 8 }, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, +/area/ship/cargo) +"li" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-8" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-4" }, +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "lJ" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ +/obj/structure/cable/yellow, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/warning{ dir = 4 }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 11; - pixel_y = -16 +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8; + color = "#FFFFFF" }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) "lS" = ( -/obj/structure/chair, +/obj/structure/chair/bench/grey/directional/south, /obj/machinery/light/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"lX" = ( -/obj/structure/chair{ - dir = 1 +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ + dir = 6 }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/turf/open/floor/plasteel/dark, +/area/ship/crew/office/lobby) +"lX" = ( +/obj/structure/chair/bench/grey/directional/north, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office/lobby) "mo" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, /obj/machinery/photocopier, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/carpet/cyan, -/area/ship/hallway/central) +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = -12 + }, +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/office/lobby) "mu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-8" }, -/turf/open/floor/plasteel/mono/white, -/area/ship/hallway/central) +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) "mx" = ( -/obj/effect/turf_decal/industrial/outline/red, /obj/machinery/autolathe, /obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, /area/ship/science) "mP" = ( /obj/structure/sign/departments/medbay/alt, /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/maintenance/port) "na" = ( -/obj/machinery/vending/cola/random, -/obj/effect/turf_decal/trimline/opaque/red/filled/line{ - dir = 8 +/obj/effect/spawner/random/vending/cola, +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ + dir = 1 }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/turf/open/floor/plasteel/dark, +/area/ship/crew/office/lobby) "nb" = ( /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 4 @@ -552,9 +659,10 @@ /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 8 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-8" }, +/obj/structure/chair/handrail, /turf/open/floor/plasteel/patterned/brushed, /area/ship/medical/surgery) "nu" = ( @@ -564,7 +672,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/turf/open/floor/carpet/cyan, +/turf/open/floor/carpet/nanoweave, /area/ship/crew) "nI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -573,38 +681,33 @@ dir = 1 }, /obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/medical{ - name = "Treatment Center" +/obj/machinery/door/airlock/medical/glass{ + name = "Treatment Center"; + req_ship_access = 0 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /turf/open/floor/plasteel/tech/grid, /area/ship/medical) "nW" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/opaque/red/filled/line, /obj/machinery/door/firedoor/border_only{ dir = 8 }, /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 11; - pixel_y = -16 - }, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "oc" = ( -/obj/effect/turf_decal/corner/opaque/red/full, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/obj/effect/turf_decal/corner/opaque/cybersunteal/half{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) "ot" = ( /obj/machinery/door/poddoor/preopen{ dir = 8; @@ -613,26 +716,27 @@ }, /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, /area/ship/bridge) "oA" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-8" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) "pf" = ( /obj/docking_port/stationary{ dwidth = 8; @@ -642,40 +746,36 @@ /turf/template_noop, /area/template_noop) "pK" = ( -/turf/open/floor/carpet/cyan, -/area/ship/hallway/central) +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/office/lobby) "pQ" = ( -/obj/effect/turf_decal/corner/opaque/red/full, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-8" }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/obj/effect/turf_decal/corner/opaque/cybersunteal/half{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) "qr" = ( /obj/machinery/power/shieldwallgen/atmos/roundstart{ dir = 4; id = "traumashield2" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-2" }, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, +/obj/machinery/door/firedoor/heavy, /obj/machinery/door/poddoor{ id = "traumaramp" }, -/turf/open/floor/engine, -/area/ship/storage/eva) +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) "qv" = ( /obj/structure/table, /obj/machinery/button/door{ @@ -683,18 +783,23 @@ id = "traumastore"; name = "Storage Shutter Control"; pixel_x = -7; - pixel_y = -22 + pixel_y = -20 }, /obj/item/storage/box/bodybags, /obj/item/storage/box/bodybags, /obj/item/storage/box/masks, /obj/item/storage/box/masks, /obj/item/storage/box/pillbottles, -/obj/structure/closet/wall/white/chem{ - dir = 4; - name = "Medical Supplies Locker"; - pixel_x = -28 +/obj/structure/closet/wall/white/directional/west{ + icon_door = "chemical_wall"; + name = "Medical Supplies Locker" }, +/obj/item/roller, +/obj/item/roller, +/obj/item/roller, +/obj/item/roller, +/obj/item/roller, +/obj/item/clothing/mask/breath/medical, /turf/open/floor/plasteel/tech, /area/ship/storage) "qA" = ( @@ -707,79 +812,62 @@ }, /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, /area/ship/medical) "qW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/mob/living/simple_animal/hostile/retaliate/poison/snake{ - desc = "The CMO's pet snake. The question of what species it actually belongs to is a mystery for the ages."; - dir = 8; - name = "\proper Deuce" - }, -/obj/structure/bed/dogbed{ - anchored = 1; - desc = "A comfy-looking... snake bed? There's bits of shed scales stuck in the bedding..."; - name = "snake bed" - }, -/obj/item/clothing/glasses/hud/health, -/turf/open/floor/carpet/cyan, +/turf/open/floor/plasteel/white, /area/ship/bridge) "rk" = ( /obj/machinery/rnd/production/techfab/department/medical, -/obj/effect/turf_decal/industrial/hatch/red, -/obj/effect/turf_decal/industrial/outline/red, /obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 8 + }, +/obj/machinery/camera/autoname{ + dir = 6 + }, +/turf/open/floor/plasteel/white, /area/ship/science) "rn" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-4" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) "rA" = ( -/obj/structure/cable, +/obj/structure/cable/yellow, /obj/machinery/power/shieldwallgen/atmos/roundstart{ dir = 1; id = "traumashield" }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters{ - dir = 8; - id = "traumalobby"; - name = "Lobby" +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor{ + dir = 4; + id = "traumalobby" }, -/turf/open/floor/engine, -/area/ship/cargo) +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/office/lobby) "rJ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, /obj/machinery/power/terminal{ dir = 8 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-4" }, /obj/effect/turf_decal/industrial/warning{ - dir = 8 + dir = 9; + color = "#FFFFFF" }, /obj/machinery/button/door{ dir = 2; @@ -788,18 +876,23 @@ pixel_x = -5; pixel_y = 22 }, -/turf/open/floor/plating, +/obj/machinery/camera/autoname{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, /area/ship/maintenance/port) "rS" = ( /obj/structure/toilet{ dir = 8 }, -/obj/structure/window/reinforced/tinted/frosted, +/obj/structure/window/reinforced/survival_pod, /obj/machinery/door/window/survival_pod{ dir = 8 }, -/obj/structure/curtain, -/turf/open/floor/plasteel/freezer, +/obj/structure/curtain/cloth{ + color = "#4C9C9C" + }, +/turf/open/floor/plasteel/mono/white, /area/ship/crew/toilet) "rT" = ( /turf/closed/wall/mineral/titanium, @@ -808,90 +901,91 @@ /obj/machinery/stasis{ dir = 8 }, -/obj/effect/turf_decal/industrial/outline/red, /obj/machinery/light/directional/north, /obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ + dir = 4 + }, +/obj/machinery/camera/autoname{ + dir = 6 + }, +/turf/open/floor/plasteel/white, /area/ship/medical) "sx" = ( /obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/stairs/right{ - dir = 1 +/turf/open/floor/plasteel/stairs/left{ + dir = 1; + color = "#777777" }, -/area/ship/storage/eva) +/area/ship/cargo) "sC" = ( -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-4" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-4" }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, +/obj/machinery/door/firedoor/heavy, /obj/docking_port/mobile{ dir = 4; launch_status = 0; preferred_direction = 4; port_direction = 2 }, -/obj/machinery/door/poddoor/shutters{ - dir = 8; - id = "traumalobby"; - name = "Lobby" +/obj/machinery/door/poddoor{ + dir = 4; + id = "traumalobby" }, -/turf/open/floor/engine, -/area/ship/cargo) +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/office/lobby) "sI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /obj/machinery/light/small/directional/east, /obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, /area/ship/maintenance/starboard) "sO" = ( -/obj/effect/turf_decal/industrial/outline/red, /obj/structure/bodycontainer/morgue{ dir = 1 }, /obj/machinery/light/directional/south, /obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/mono/dark, /area/ship/medical/surgery) "tb" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/reagent_dispensers/watertank, -/obj/item/mop, -/obj/item/reagent_containers/glass/bucket, -/obj/item/storage/bag/trash, /obj/machinery/light/small/directional/east, +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/item/stack/sheet/mineral/plasma/twenty, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, /turf/open/floor/plating, /area/ship/maintenance/starboard) "tn" = ( -/turf/closed/wall/mineral/titanium, -/area/ship/storage/eva) -"tF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, +/obj/effect/turf_decal/corner/opaque/white/half, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"tF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/patterned/brushed, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line, +/turf/open/floor/plasteel/mono/white, /area/ship/medical) "tI" = ( /obj/machinery/atmospherics/pipe/layer_manifold{ @@ -907,18 +1001,18 @@ /turf/open/floor/plating, /area/ship/maintenance/port) "tJ" = ( -/obj/effect/turf_decal/industrial/outline/red, /obj/machinery/power/apc/auto_name/directional/east, /obj/machinery/light_switch{ dir = 8; pixel_x = 19; pixel_y = -12 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-8" }, /obj/structure/closet/crate/freezer{ - name = "organ freezer" + name = "organ freezer"; + anchored = 1 }, /obj/item/organ/heart/cybernetic, /obj/item/organ/heart/cybernetic, @@ -932,13 +1026,22 @@ /obj/item/organ/stomach/cybernetic, /obj/item/organ/eyes/robotic, /obj/item/organ/eyes/robotic, +/obj/effect/turf_decal/box/white, +/obj/machinery/camera/autoname{ + dir = 8 + }, /turf/open/floor/plasteel/tech, /area/ship/storage) "tO" = ( -/turf/open/floor/plasteel/mono/white, -/area/ship/hallway/central) +/obj/effect/turf_decal/corner/opaque/cybersunteal{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) "tT" = ( -/obj/structure/closet/secure_closet/personal/patient, +/obj/structure/closet/secure_closet/personal/patient{ + anchored = 1 + }, /obj/item/clothing/under/rank/medical/gown, /obj/item/clothing/under/rank/medical/gown, /obj/item/clothing/under/rank/medical/gown/blue, @@ -948,8 +1051,11 @@ /obj/item/clothing/shoes/sandal/slippers, /obj/item/clothing/shoes/sandal/slippers, /obj/item/clothing/shoes/sandal/slippers, -/obj/effect/turf_decal/industrial/outline/red, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line, +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ + dir = 8 + }, +/turf/open/floor/plasteel/white, /area/ship/medical) "uc" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -958,100 +1064,104 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5; - color = "#332521" +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/turf/open/floor/wood/ebony, +/turf/open/floor/plasteel/dark, /area/ship/crew) "up" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/patterned/brushed, +/turf/open/floor/plasteel/mono/white, /area/ship/medical) "us" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/line, /obj/machinery/light_switch{ dir = 1; pixel_y = -19; pixel_x = -8 }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/corner{ + dir = 8 + }, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "uE" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/line{ +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) "uT" = ( -/obj/effect/turf_decal/industrial/loading, /obj/machinery/defibrillator_mount/loaded{ - pixel_y = 0; - pixel_x = -32 + pixel_y = 7; + pixel_x = -26 }, -/obj/structure/sink{ +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/structure/sink/kitchen{ + layer = 3.09; + name = "large sink"; dir = 4; - pixel_y = 0; - pixel_x = -13 + pixel_y = -5 }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/patterned/brushed, /area/ship/medical/surgery) "uU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /obj/machinery/door/firedoor/border_only{ dir = 1 }, /obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/medical{ - name = "Storage Room" +/obj/machinery/door/airlock/freezer{ + name = "Cargo Bay" }, /turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) +/area/ship/cargo) "vj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, /obj/structure/closet/secure_closet/wall/directional/north{ - icon_state = "sec_wall"; + icon_state = "solgov_wall"; name = "firearms locker"; req_access_txt = "5" }, -/obj/item/ammo_box/magazine/m10mm/rubber, -/obj/item/ammo_box/magazine/m10mm/rubber, -/obj/item/ammo_box/magazine/m10mm/rubber, -/obj/item/ammo_box/magazine/m10mm/ap, -/obj/item/ammo_box/magazine/m10mm/ap, -/obj/item/ammo_box/magazine/m10mm/ap, -/obj/item/gun/ballistic/automatic/pistol/syndicate, -/obj/item/gun/ballistic/automatic/pistol/syndicate, -/obj/item/gun/ballistic/automatic/pistol/syndicate, /obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal{ + dir = 6 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/item/storage/guncase/pistol/pc76, +/obj/item/storage/guncase/pistol/pc76, +/obj/item/storage/guncase/pistol/rattlesnake, +/obj/item/storage/box/ammo/c22lr, +/obj/item/storage/box/ammo/c9mm, +/obj/item/storage/box/ammo/c10mm, +/obj/item/storage/box/ammo/c10mm, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, /area/ship/crew) "vn" = ( -/obj/machinery/smartfridge/organ{ - density = 0; - pixel_x = 32 - }, /obj/structure/table/glass, /obj/machinery/cell_charger, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ + dir = 4 + }, +/turf/open/floor/plasteel/white, /area/ship/medical) "vx" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ @@ -1059,14 +1169,13 @@ }, /obj/structure/catwalk/over, /turf/open/floor/plating, -/area/ship/external) +/area/ship/external/dark) "vE" = ( /obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Helm" + dir = 4 }, /obj/effect/landmark/start/captain, -/turf/open/floor/carpet/cyan, +/turf/open/floor/plasteel/patterned/brushed, /area/ship/bridge) "wb" = ( /turf/closed/wall/mineral/titanium, @@ -1077,7 +1186,7 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /obj/machinery/door/firedoor/border_only{ @@ -1085,35 +1194,51 @@ }, /obj/machinery/door/firedoor/border_only, /turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) +/area/ship/crew/office/lobby) "wp" = ( -/obj/effect/turf_decal/industrial/outline/red, /obj/machinery/rnd/server, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, /area/ship/science) "wr" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/machinery/airalarm/directional/north, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/freezer, +/obj/structure/closet/wall/directional/west, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 8 + }, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/soap/syndie, +/turf/open/floor/plasteel/mono/white, /area/ship/crew/toilet) "wt" = ( /obj/structure/closet/emcloset/wall/directional/north, -/obj/effect/turf_decal/number/two, +/obj/machinery/power/terminal, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, /turf/open/floor/plating, /area/ship/maintenance/starboard) "xa" = ( /obj/machinery/power/terminal{ dir = 8 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-4" }, /obj/machinery/light/small/directional/north, /obj/effect/turf_decal/industrial/warning{ - dir = 10 + dir = 10; + color = "#FFFFFF" }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/dark, /area/ship/maintenance/starboard) "xp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -1122,110 +1247,119 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/structure/sign/poster/official/help_others{ +/obj/structure/sign/poster/contraband/cybersun_med{ pixel_y = 32 }, -/obj/effect/turf_decal/trimline/opaque/red/filled/line{ - dir = 1 +/obj/effect/turf_decal/trimline/opaque/cybersunteal/corner{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" }, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "xB" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/line{ - dir = 4 +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = 8; + pixel_y = 19 }, -/obj/item/kirbyplants/random, /obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/cargo) -"xF" = ( -/obj/machinery/computer/helm{ +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1; + color = "#FFFFFF" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 4 + }, +/obj/structure/chair/handrail{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) +"xF" = ( +/obj/machinery/computer/cargo{ + dir = 8; + icon_keyboard = "syndie_key"; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 5 + }, +/obj/machinery/camera/autoname{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/brushed, /area/ship/bridge) "xN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 }, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/siding/wood{ - dir = 6; - color = "#332521" - }, -/turf/open/floor/wood/ebony, +/turf/open/floor/plasteel/dark, /area/ship/crew) "xW" = ( -/obj/machinery/power/port_gen/pacman, /obj/structure/cable/yellow{ icon_state = "0-8" }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/item/stack/sheet/mineral/plasma/twenty, -/obj/item/radio/intercom/directional/south, +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, /turf/open/floor/plating, /area/ship/maintenance/starboard) "yf" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, -/turf/open/floor/plasteel/patterned/brushed, +/turf/open/floor/plasteel/dark, /area/ship/crew) "yn" = ( -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-2" }, /obj/machinery/power/shieldwallgen/atmos/roundstart{ id = "traumashield" }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters{ - dir = 8; - id = "traumalobby"; - name = "Lobby" +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor{ + dir = 4; + id = "traumalobby" }, -/turf/open/floor/engine, -/area/ship/cargo) +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/office/lobby) "yQ" = ( /obj/machinery/computer/med_data{ - dir = 8 + dir = 8; + icon_state = "computer-right" }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 + }, +/turf/open/floor/plasteel/white, /area/ship/bridge) "yT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 + dir = 8; + color = "#FFFFFF" }, /obj/machinery/airalarm/directional/north, -/turf/open/floor/plating, +/turf/open/floor/plasteel/dark, /area/ship/maintenance/starboard) "yX" = ( -/obj/effect/turf_decal/corner/opaque/red/full, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/obj/effect/turf_decal/corner/opaque/cybersunteal/half, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) "zh" = ( /obj/structure/table/glass, /obj/item/reagent_containers/glass/bottle/formaldehyde{ @@ -1244,38 +1378,39 @@ }, /obj/item/reagent_containers/syringe, /obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ + dir = 4 + }, +/turf/open/floor/plasteel/white, /area/ship/medical) "zl" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/line, /obj/machinery/door/firedoor/border_only{ dir = 8 }, /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/ship/hallway/central) -"zn" = ( -/obj/structure/table/reinforced, -/obj/item/folder/white{ - pixel_x = -5 - }, -/obj/item/stamp/cmo{ - pixel_x = -1; - pixel_y = 12 +/obj/effect/turf_decal/trimline/opaque/cybersunteal/corner{ + dir = 8 }, -/obj/item/pen{ - pixel_x = -5 +/obj/structure/chair/handrail{ + dir = 1 }, -/obj/item/paper_bin{ - pixel_x = 9 +/obj/structure/sign/poster/contraband/cybersun{ + pixel_y = -32 }, -/obj/item/clothing/neck/stethoscope, -/obj/machinery/recharger, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"zn" = ( /obj/machinery/light/small/directional/south, /obj/machinery/firealarm/directional/east, -/turf/open/floor/carpet/cyan, +/obj/machinery/modular_computer/console/preset/command{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 10 + }, +/turf/open/floor/plasteel/white, /area/ship/bridge) "zo" = ( /turf/closed/wall/mineral/titanium/nodiagonal, @@ -1284,7 +1419,8 @@ /obj/machinery/door/airlock/medical/glass{ dir = 8; id_tag = "lobbydoors"; - name = "Sickbay" + name = "Sickbay"; + req_ship_access = 0 }, /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -1292,25 +1428,31 @@ /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white/mono, +/obj/effect/turf_decal/corner/opaque/cybersunteal{ + dir = 10 + }, /turf/open/floor/plasteel/white, -/area/ship/cargo) +/area/ship/crew/office/lobby) "zy" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/warning, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, +/obj/effect/turf_decal/corner/opaque/white/half, +/obj/effect/turf_decal/trimline/opaque/syndiered/line, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "zD" = ( -/obj/effect/turf_decal/arrows/red{ - dir = 1 +/obj/effect/turf_decal/industrial/warning{ + dir = 1; + color = "#FFFFFF" }, /obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/storage/eva) +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, +/area/ship/cargo) "zK" = ( /obj/machinery/power/smes/shuttle/precharged{ dir = 4 @@ -1329,28 +1471,25 @@ /turf/open/floor/plating, /area/ship/maintenance/starboard) "zL" = ( -/obj/structure/table/reinforced, -/obj/item/folder/blue, -/obj/item/pen/fourcolor, -/obj/machinery/button/door{ - dir = 8; - id = "traumawindows"; - name = "Window Shutters"; - pixel_x = 5; - pixel_y = 7 +/obj/structure/bed/dogbed{ + anchored = 1; + desc = "A comfy-looking... snake bed? There's bits of shed scales stuck in the bedding..."; + name = "snake bed" }, -/obj/machinery/button/door{ +/mob/living/simple_animal/hostile/retaliate/poison/snake{ + desc = "A red, slithery snake. The question of what species it actually belongs to is a mystery for the ages."; dir = 8; - id = "traumabridge"; - name = "Bridge Window Shutters"; - pixel_x = -5; - pixel_y = 7 + name = "\proper Deuce"; + icon = 'icons/mob/pets.dmi'; + icon_dead = "bookworm_dead"; + icon_living = "bookworm"; + icon_state = "bookworm" }, -/obj/item/stamp/syndicate{ - pixel_x = -7; - pixel_y = -1 +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = 8; + pixel_y = 19 }, -/turf/open/floor/carpet/cyan, +/turf/open/floor/plasteel/white, /area/ship/bridge) "zM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -1359,54 +1498,73 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/trimline/opaque/red/filled/line{ +/obj/effect/turf_decal/trimline/opaque/cybersunteal/corner{ dir = 1 }, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "zS" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-8" }, -/turf/open/floor/plasteel/patterned/brushed, +/obj/item/kirbyplants/fullysynthetic{ + pixel_y = 19 + }, +/turf/open/floor/plasteel/mono/white, /area/ship/medical) "zT" = ( -/obj/effect/turf_decal/number/zero, -/turf/open/floor/plating, +/obj/effect/turf_decal/isf_small/right, +/turf/open/floor/plasteel/dark, /area/ship/maintenance/starboard) "Ah" = ( -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet/cyan, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/closet/secure_closet/wall/directional/west{ + icon_state = "sec_wall"; + name = "captain's closet"; + req_access_txt = "20" + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/obj/item/storage/backpack/security, +/obj/item/clothing/shoes/jackboots{ + pixel_y = -7 + }, +/obj/item/clothing/under/syndicate/cybersun/officer, +/obj/item/clothing/suit/armor/vest/capcarapace/cybersun, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/head/HoS/cybersun, +/obj/item/pen/edagger, +/turf/open/floor/plasteel/patterned/brushed, /area/ship/bridge) "Ai" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ dir = 8 }, /obj/machinery/light/directional/south, -/turf/open/floor/plasteel/patterned/brushed, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 4 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, /area/ship/storage) "Aj" = ( -/obj/item/flashlight/seclite, -/obj/item/flashlight/seclite, -/obj/item/flashlight/seclite, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, /obj/structure/closet/secure_closet/wall/directional/south{ - icon_state = "sec_wall"; + icon_state = "solgov_wall"; name = "armor locker"; req_access_txt = "5" }, @@ -1417,24 +1575,34 @@ /obj/item/clothing/head/helmet/medical, /obj/item/clothing/head/helmet/medical, /obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line, +/obj/effect/turf_decal/corner/opaque/cybersunteal{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, /area/ship/crew) "Ap" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 8 - }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/obj/effect/turf_decal/industrial/warning{ + dir = 8; + color = "#FFFFFF" + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) "AD" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Port Engines" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /obj/machinery/door/firedoor/border_only{ @@ -1442,7 +1610,7 @@ }, /obj/machinery/door/firedoor/border_only, /turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) +/area/ship/crew/office/lobby) "AJ" = ( /turf/closed/wall/mineral/titanium, /area/ship/cargo) @@ -1456,7 +1624,7 @@ /obj/machinery/door/airlock/medical{ name = "Storage Room" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /turf/open/floor/plasteel/tech/grid, @@ -1465,70 +1633,74 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/turf_decal/industrial/warning/corner, /obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 + dir = 1; + color = "#FFFFFF" }, /obj/machinery/airalarm/directional/south, -/turf/open/floor/plating, +/turf/open/floor/plasteel/dark, /area/ship/maintenance/port) "Bp" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/machinery/cryopod{ +/obj/machinery/cryopod/syndicate{ dir = 1 }, /obj/machinery/computer/cryopod/directional/south, /obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/industrial/hatch{ + color = "#730622"; + alpha = 255 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 5; + color = "#FFFFFF" + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, /area/ship/crew) "BD" = ( -/obj/item/storage/belt/medical, -/obj/item/healthanalyzer/advanced, -/obj/item/hypospray/mkii/CMO, -/obj/structure/closet/secure_closet/wall/directional/west{ - icon_state = "solgov_wall"; - name = "chief medical officer's closet"; - req_access_txt = "40" +/obj/machinery/computer/security{ + dir = 1; + icon_keyboard = "syndie_key" }, -/obj/item/storage/backpack/satchel/med, -/obj/item/defibrillator/compact/loaded, -/obj/item/gun/syringe, -/obj/item/reagent_containers/glass/bottle/sodium_thiopental, -/obj/item/clothing/glasses/hud/health/night, -/obj/item/gun/ballistic/automatic/pistol/syndicate, -/obj/item/clothing/gloves/color/latex/nitrile/evil, -/obj/item/clothing/suit/toggle/labcoat/raincoat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/head/beret/cmo/cybersun, -/obj/item/clothing/under/rank/medical/chief_medical_officer/cybersun, -/turf/open/floor/carpet/cyan, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 10 + }, +/turf/open/floor/plasteel/white, /area/ship/bridge) "BU" = ( -/obj/effect/turf_decal/industrial/outline/red, /obj/machinery/suit_storage_unit/inherit, /obj/item/clothing/suit/space/hardsuit/syndi/cybersun/paramed, -/obj/item/clothing/mask/gas/sechailer, +/obj/item/clothing/mask/breath, /obj/item/tank/internals/oxygen/red, +/obj/effect/turf_decal/box/white, +/obj/machinery/camera/autoname{ + dir = 8 + }, /turf/open/floor/plasteel/tech, -/area/ship/storage/eva) +/area/ship/cargo) "Ca" = ( -/obj/machinery/computer/crew{ +/obj/machinery/computer/crew/syndie{ + icon_state = "computer-left"; dir = 8 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/corner/opaque/syndiered{ + dir = 6 + }, +/turf/open/floor/plasteel/white, /area/ship/bridge) "Cp" = ( -/obj/machinery/door/airlock/medical{ - name = "Crew Quarters" +/obj/machinery/door/airlock/public{ + name = "Crew Quarters"; + req_ship_access = 1 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /obj/machinery/door/firedoor/border_only{ @@ -1540,17 +1712,14 @@ "Cy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, /area/ship/maintenance/port) "CF" = ( -/obj/machinery/door/window/brigdoor/southright{ - dir = 8; +/obj/machinery/door/window/brigdoor/westleft{ req_access_txt = "5" }, /obj/item/clothing/shoes/combat, @@ -1560,7 +1729,7 @@ dir = 5 }, /obj/structure/closet/secure_closet/wall/directional/south{ - icon_state = "sec_wall"; + icon_state = "solgov_wall"; name = "clothing locker"; req_access_txt = "5" }, @@ -1579,18 +1748,21 @@ /obj/item/clothing/under/syndicate/medic/skirt, /obj/item/clothing/under/syndicate/medic/skirt, /obj/item/clothing/under/syndicate/medic/skirt, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, /area/ship/crew) "CL" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plasteel/mono/white, -/area/ship/hallway/central) +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) "CZ" = ( /obj/machinery/door/poddoor/preopen{ dir = 8; @@ -1599,16 +1771,17 @@ }, /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, /area/ship/crew) "Dp" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor/preopen{ - dir = 8; +/obj/machinery/door/poddoor/shutters/preopen{ id = "traumasurgery"; - name = "Window Blast Door" + dir = 4 }, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, /area/ship/medical) "Dr" = ( @@ -1618,17 +1791,16 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-4" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-8" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plating, +/turf/open/floor/plasteel/dark, /area/ship/maintenance/port) "DS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -1640,27 +1812,21 @@ pixel_y = -17; pixel_x = 11 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-8" }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, /turf/open/floor/plating, /area/ship/maintenance/port) "DX" = ( -/obj/structure/closet/crate/medical, -/obj/item/roller, -/obj/item/roller, -/obj/item/roller, -/obj/item/roller, -/obj/item/roller, -/obj/item/clothing/mask/breath/medical, -/obj/effect/turf_decal/industrial/outline/red, +/obj/structure/closet/crate/freezer/blood, /obj/machinery/iv_drip, +/obj/effect/turf_decal/box/white, /turf/open/floor/plasteel/tech, /area/ship/storage) "Eb" = ( @@ -1668,79 +1834,112 @@ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/turf_decal/industrial/warning, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, /area/ship/maintenance/port) "Ev" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/crew) "EL" = ( -/obj/structure/bed{ - dir = 8 - }, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/cmo{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) +/obj/effect/turf_decal/corner/opaque/white/half, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) "ES" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 }, -/obj/item/radio/intercom/wideband/directional/west, -/turf/open/floor/carpet/cyan, +/obj/machinery/button/door{ + dir = 4; + id = "traumawindows"; + name = "Window Shutters"; + pixel_x = -20; + pixel_y = -9 + }, +/obj/machinery/button/door{ + dir = 4; + id = "traumabridge"; + name = "Bridge Window Shutters"; + pixel_x = -20; + pixel_y = 2 + }, +/obj/machinery/newscaster/directional/west{ + pixel_y = 13 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned/brushed, /area/ship/bridge) "EW" = ( /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/spline/fancy/opaque/black{ +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 }, +/obj/effect/landmark/start/assistant, /turf/open/floor/plasteel/patterned/brushed, /area/ship/medical/surgery) "Fe" = ( -/obj/effect/turf_decal/industrial/outline/red, /obj/machinery/suit_storage_unit/inherit, /obj/item/clothing/suit/space/hardsuit/syndi/cybersun/paramed, -/obj/item/clothing/mask/gas/sechailer, +/obj/item/clothing/mask/breath, /obj/item/tank/internals/oxygen/red, /obj/machinery/light/directional/south, +/obj/effect/turf_decal/box/white, /turf/open/floor/plasteel/tech, -/area/ship/storage/eva) +/area/ship/cargo) "Fr" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, -/obj/machinery/door/poddoor/preopen{ - dir = 8; +/obj/machinery/door/poddoor/shutters/preopen{ id = "traumastore"; - name = "Window Blast Door" + dir = 4 }, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, /area/ship/storage) +"Ft" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/cybersunteal/mono, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) "FE" = ( /obj/effect/landmark/start/paramedic, -/turf/open/floor/plasteel/patterned/brushed, +/turf/open/floor/plasteel/dark, /area/ship/crew) "FH" = ( /obj/structure/chair{ - dir = 4 + dir = 8 }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ + dir = 8 + }, +/turf/open/floor/plasteel/white, /area/ship/medical) "FO" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, -/turf/open/floor/carpet/cyan, +/obj/structure/railing, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/turf/open/floor/plasteel/patterned/brushed, /area/ship/bridge) "Gj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -1749,29 +1948,29 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/plasteel/mono/white, -/area/ship/hallway/central) +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) "Gr" = ( -/obj/effect/turf_decal/corner/opaque/red/full, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/obj/effect/turf_decal/corner/opaque/cybersunteal/half{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) "Gs" = ( -/obj/structure/table, +/obj/structure/table/chem{ + name = "kitchen counter" + }, /obj/machinery/microwave{ pixel_y = 5 }, /obj/machinery/newscaster/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 2; - color = "#332521" - }, -/turf/open/floor/wood/ebony, +/turf/open/floor/plasteel/dark, /area/ship/crew) "Gw" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -1780,13 +1979,14 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/machinery/door/airlock/medical/glass{ dir = 8; id_tag = "lobbydoors"; - name = "Sickbay" + name = "Sickbay"; + req_ship_access = 0 }, /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -1794,30 +1994,33 @@ /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white/mono, /turf/open/floor/plasteel/white, -/area/ship/cargo) +/area/ship/crew/office/lobby) "GH" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Medical" +/obj/structure/chair/office/dark{ + dir = 4 }, /obj/effect/landmark/start/chief_medical_officer, -/turf/open/floor/carpet/cyan, +/turf/open/floor/plasteel/white, /area/ship/bridge) "GI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/obj/effect/turf_decal/industrial/warning{ + dir = 2; + color = "#FFFFFF" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) "GK" = ( -/obj/structure/chair, +/obj/structure/chair/bench/grey/directional/south, /obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office/lobby) "GZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/effect/turf_decal/spline/fancy/opaque/black{ @@ -1827,7 +2030,7 @@ /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 8 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /turf/open/floor/plasteel/patterned/brushed, @@ -1835,7 +2038,7 @@ "Hb" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, /obj/machinery/door/firedoor/border_only{ @@ -1848,79 +2051,66 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/maintenance/port) "Hk" = ( -/obj/effect/turf_decal/industrial/outline/red, /obj/structure/crate_shelf, /obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/box/white, /turf/open/floor/plasteel/tech, -/area/ship/storage/eva) +/area/ship/cargo) "Hl" = ( -/obj/structure/sign/poster/contraband/random, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew) +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 4 + }, +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) "HE" = ( /obj/structure/rack, -/obj/effect/turf_decal/industrial/outline/red, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/metal/fifty, /obj/item/radio/intercom/directional/west, /obj/item/multitool, /obj/machinery/iv_drip, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/metal/five, +/obj/item/stack/sheet/glass/twenty, +/obj/item/stack/sheet/glass/five, +/obj/item/stack/sheet/plastic/five, +/obj/item/stack/sheet/plastic/five, +/obj/item/stack/sheet/plastic/five, /turf/open/floor/plasteel/tech, -/area/ship/storage/eva) +/area/ship/cargo) "HI" = ( /obj/structure/table/reinforced, -/obj/machinery/door/window/southleft{ - dir = 8 - }, -/obj/machinery/button/door{ - dir = 4; - id = "lobbydoors"; - name = "Lobby Door Control"; - normaldoorcontrol = 1; - pixel_x = 6; - pixel_y = -4 - }, +/obj/machinery/door/window/westleft, /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/effect/turf_decal/industrial/hatch/red, -/obj/machinery/button/shieldwallgen{ - dir = 4; - id = "traumashield"; - name = "Lobby Holoshield"; - pixel_x = -6; - pixel_y = 8 - }, -/obj/machinery/button/door{ - dir = 4; - id = "lobbydoors"; - name = "Lobby Door Bolts Control"; - normaldoorcontrol = 1; - pixel_x = 6; - pixel_y = 8; - specialfunctions = 4 - }, -/obj/machinery/button/door{ - dir = 4; - id = "traumalobby"; - name = "Lobby Shutter Control"; - pixel_x = -6; - pixel_y = -4 +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal/corner, +/obj/item/paper_bin{ + pixel_y = 15; + pixel_x = -2 }, -/turf/open/floor/plating, -/area/ship/cargo) +/obj/item/pen, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office/lobby) "HR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/cable/yellow{ icon_state = "2-4" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/machinery/firealarm/directional/north, -/turf/open/floor/plating, +/obj/effect/turf_decal/industrial/warning{ + dir = 1; + color = "#FFFFFF" + }, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/dark, /area/ship/maintenance/port) "HU" = ( /obj/structure/sign/departments/medbay/alt, @@ -1930,16 +2120,14 @@ /obj/structure/chair{ dir = 8 }, -/obj/effect/landmark/start/assistant, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 }, -/obj/effect/turf_decal/siding/wood{ - dir = 4; - color = "#332521" +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/turf/open/floor/wood/ebony, +/turf/open/floor/plasteel/dark, /area/ship/crew) "Jh" = ( /obj/machinery/door/poddoor/preopen{ @@ -1948,6 +2136,7 @@ }, /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, /area/ship/medical/surgery) "Jw" = ( @@ -1970,38 +2159,38 @@ /turf/open/floor/plating, /area/ship/maintenance/port) "JA" = ( -/obj/machinery/power/smes/engineering{ - charge = 1e+006 +/obj/structure/reagent_dispensers/watertank, +/obj/item/mop, +/obj/item/pushbroom, +/obj/item/reagent_containers/glass/bucket, +/obj/item/storage/bag/trash, +/obj/effect/turf_decal/industrial/warning{ + dir = 2; + color = "#FFFFFF" }, -/obj/structure/cable{ - icon_state = "0-8" +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/plating, +/obj/machinery/camera/autoname{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/ship/maintenance/starboard) "JC" = ( /obj/machinery/power/shieldwallgen/atmos/roundstart{ dir = 8; id = "traumashield2" }, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 1 - }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-2" }, /obj/machinery/door/poddoor{ id = "traumaramp" }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/engine, -/area/ship/storage/eva) +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) "JQ" = ( -/obj/structure/sign/warning/gasmask{ - pixel_y = 32 - }, /obj/item/stack/marker_beacon/thirty, /obj/item/stack/marker_beacon/thirty, /obj/item/stack/marker_beacon/thirty, @@ -2019,16 +2208,14 @@ desc = "For extracting yourself from rough landings, and getting to the even rougher ones"; name = "Medical Retrieval Tool" }, -/obj/effect/turf_decal/industrial/outline/red, /obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) +/turf/open/floor/plasteel/tech, +/area/ship/cargo) "Kc" = ( /obj/structure/sign/departments/medbay/alt, /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/crew) "Ki" = ( -/obj/effect/turf_decal/industrial/outline/red, /obj/machinery/vending/medical, /turf/open/floor/plasteel/tech, /area/ship/storage) @@ -2036,66 +2223,62 @@ /obj/machinery/power/terminal{ dir = 8 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-4" }, /obj/machinery/light/small/directional/south, /obj/effect/turf_decal/industrial/warning{ - dir = 9 + dir = 9; + color = "#FFFFFF" }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/dark, /area/ship/maintenance/port) "Kp" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, /obj/machinery/power/terminal{ dir = 8 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-4" }, /obj/effect/turf_decal/industrial/warning{ - dir = 8 + dir = 10; + color = "#FFFFFF" }, /obj/machinery/button/door{ id = "traumaenginer"; name = "Engine Shutter Control"; pixel_x = -5; - pixel_y = -18; + pixel_y = -20; dir = 1 }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/dark, /area/ship/maintenance/starboard) "Kv" = ( -/obj/structure/closet/secure_closet{ - icon_state = "med_secure"; - name = "medical intern's locker" - }, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/hud/health, -/obj/item/healthanalyzer, -/obj/item/healthanalyzer, -/obj/item/healthanalyzer, -/obj/item/storage/backpack/satchel/med, -/obj/item/storage/backpack/satchel/med, -/obj/item/storage/backpack/satchel/med, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, /obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 1; - color = "#332521" +/obj/effect/turf_decal/box/white, +/obj/machinery/firealarm/directional/west, +/obj/machinery/light_switch{ + pixel_x = 11; + pixel_y = 19 }, -/obj/item/clothing/under/syndicate/cybersun, -/obj/item/clothing/under/syndicate/cybersun, -/obj/item/clothing/under/syndicate/cybersun, -/turf/open/floor/wood/ebony, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/structure/closet/crate/freezer{ + name = "fridge"; + anchored = 1 + }, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/turf/open/floor/plasteel/dark, /area/ship/crew) "KB" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/line, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, @@ -2103,93 +2286,133 @@ /turf/open/floor/plasteel/white, /area/ship/hallway/central) "KS" = ( -/obj/machinery/power/port_gen/pacman, -/obj/structure/cable/yellow{ +/obj/structure/cable/cyan{ icon_state = "0-8" }, -/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, /obj/item/stack/sheet/mineral/plasma/twenty, /turf/open/floor/plating, /area/ship/maintenance/port) "KU" = ( -/obj/structure/bed{ +/obj/structure/dresser{ dir = 8 }, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/blue{ - dir = 8 +/obj/effect/spawner/random/entertainment/plushie/moth{ + pixel_y = 11 + }, +/obj/structure/sign/poster/contraband/stechkin{ + pixel_x = 32 }, -/turf/open/floor/carpet/cyan, +/turf/open/floor/carpet/nanoweave, /area/ship/crew) "KW" = ( /obj/structure/sign/departments/medbay/alt, /turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/cargo) +/area/ship/crew/office/lobby) "KZ" = ( /obj/machinery/suit_storage_unit/inherit, -/obj/effect/turf_decal/industrial/hatch/red, /obj/structure/sign/warning/nosmoking{ pixel_x = 32 }, /obj/item/clothing/suit/space/hardsuit/syndi/cybersun/paramed, -/obj/item/clothing/mask/gas/sechailer, +/obj/item/clothing/mask/breath, /obj/item/tank/internals/oxygen/red, +/obj/effect/turf_decal/box/white, /turf/open/floor/plasteel/tech, -/area/ship/storage/eva) -"Le" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/line{ +/area/ship/cargo) +"La" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 8 + }, +/obj/machinery/camera/autoname{ dir = 1 }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/hallway/central) +"Le" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/machinery/light/directional/north, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/corner{ + dir = 4 + }, +/obj/machinery/camera/autoname, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "Lh" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-8" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-4" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-8" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-4" }, +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "Ln" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/turf_decal/siding/white{ +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ dir = 8 }, -/obj/effect/turf_decal/siding/white{ +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) +/turf/open/floor/plasteel/mono/white, +/area/ship/cargo) "Lr" = ( -/obj/machinery/modular_computer/console/preset/command, +/obj/structure/table/glass, /obj/machinery/light/small/directional/north, -/turf/open/floor/carpet/cyan, +/obj/item/radio/intercom/wideband/table{ + dir = 1; + pixel_x = 4; + pixel_y = 5 + }, +/obj/item/stamp/cybersun/biodynamics{ + pixel_y = 12; + pixel_x = -10 + }, +/obj/item/folder/syndicate{ + pixel_x = 9; + pixel_y = 2 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 5 + }, +/obj/item/binoculars{ + pixel_x = -9 + }, +/turf/open/floor/plasteel/patterned/brushed, /area/ship/bridge) "Ls" = ( /obj/structure/table/reinforced, @@ -2205,20 +2428,16 @@ /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/effect/turf_decal/industrial/hatch/red, -/turf/open/floor/plating, -/area/ship/cargo) +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office/lobby) "LH" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/line{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/machinery/door/firedoor/border_only{ @@ -2227,15 +2446,18 @@ /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/structure/sign/poster/official/cleanliness{ - pixel_y = 32 +/obj/effect/turf_decal/trimline/opaque/cybersunteal/corner{ + dir = 1 + }, +/obj/item/kirbyplants/fullysynthetic{ + pixel_y = 19 }, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "LJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-2" }, /obj/machinery/power/apc/auto_name/directional/west, @@ -2244,74 +2466,101 @@ pixel_x = -20; pixel_y = -11 }, -/turf/open/floor/plasteel/freezer, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, /area/ship/crew/toilet) "Mb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-4" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/structure/closet/secure_closet/medical2, -/obj/item/reagent_containers/glass/bottle/morphine, -/obj/item/reagent_containers/glass/bottle/morphine, /obj/machinery/firealarm/directional/south, -/turf/open/floor/plating, +/obj/effect/turf_decal/industrial/warning{ + dir = 2; + color = "#FFFFFF" + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/ship/maintenance/starboard) "MW" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/curtain/cloth, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, /area/ship/medical) "Nn" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/bridge) "Nz" = ( -/obj/machinery/shower{ - dir = 8; - pixel_y = 15 +/obj/structure/curtain/cloth{ + color = "#4C9C9C" }, -/obj/structure/curtain, -/obj/structure/window/reinforced/tinted/frosted, +/obj/structure/window/reinforced/survival_pod, /obj/machinery/door/window/survival_pod{ dir = 8 }, -/obj/item/soap, -/turf/open/floor/plasteel/freezer, +/obj/structure/catwalk/over/plated_catwalk/white, +/obj/machinery/shower{ + pixel_y = 16 + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/crew/toilet) "Of" = ( -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-5" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-9" }, -/turf/open/floor/plasteel/stairs/mid{ - dir = 1 +/turf/open/floor/plasteel/stairs/right{ + dir = 1; + color = "#777777" }, -/area/ship/storage/eva) +/area/ship/cargo) "OF" = ( -/obj/effect/landmark/start/paramedic, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/cable{ - icon_state = "0-8" +/obj/structure/closet/wall/directional/north{ + name = "Intern Closet" }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 22 +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/storage/backpack/satchel, +/obj/item/storage/backpack/satchel, +/obj/item/storage/backpack/satchel, +/obj/item/clothing/shoes/jackboots{ + pixel_y = -7 }, -/turf/open/floor/plasteel/patterned/brushed, +/obj/item/clothing/shoes/jackboots{ + pixel_y = -7 + }, +/obj/item/clothing/shoes/jackboots{ + pixel_y = -7 + }, +/obj/item/clothing/under/syndicate/cybersun, +/obj/item/clothing/under/syndicate/cybersun, +/obj/item/clothing/under/syndicate/cybersun, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, /area/ship/crew) "OK" = ( /turf/closed/wall/mineral/titanium/nodiagonal, @@ -2323,14 +2572,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/trimline/opaque/red/filled/line{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -2341,15 +2584,16 @@ /turf/open/floor/plasteel/white, /area/ship/hallway/central) "OZ" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/storage/eva) +/turf/closed/wall/mineral/titanium, +/area/ship/crew/office/lobby) "Pg" = ( /obj/structure/table/glass, /obj/item/clothing/mask/surgical{ pixel_y = 6 }, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 10 +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 3 }, /obj/item/clothing/suit/apron/surgical{ pixel_y = 6 @@ -2360,10 +2604,13 @@ }, /obj/item/reagent_containers/medigel/sterilizine, /obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, /area/ship/medical/surgery) "Pm" = ( -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -2372,15 +2619,18 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/trimline/opaque/red/filled/line{ - dir = 1 +/obj/effect/turf_decal/trimline/opaque/cybersunteal/corner{ + dir = 4 }, +/obj/item/kirbyplants/fullysynthetic{ + pixel_y = 19; + layer = 4.26 + }, +/obj/machinery/light/directional/north, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "Pp" = ( -/obj/machinery/door/window/brigdoor/southleft{ - dir = 8; +/obj/machinery/door/window/brigdoor/westright{ req_access_txt = "5" }, /obj/item/storage/belt/medical/surgery, @@ -2392,7 +2642,7 @@ dir = 10 }, /obj/structure/closet/secure_closet/wall/directional/north{ - icon_state = "sec_wall"; + icon_state = "solgov_wall"; name = "equipment locker"; req_access_txt = "5" }, @@ -2406,15 +2656,22 @@ /obj/item/clothing/gloves/color/latex/nitrile/evil, /obj/item/clothing/gloves/color/latex/nitrile/evil, /obj/item/clothing/gloves/color/latex/nitrile/evil, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 1 + }, +/obj/item/attachment/rail_light, +/obj/item/attachment/rail_light, +/obj/item/attachment/rail_light, +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, /area/ship/crew) "Pz" = ( +/obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/components/unary/tank/air{ - piping_layer = 2; - dir = 8 + dir = 8; + piping_layer = 2 }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/ship/maintenance/port) "PF" = ( @@ -2433,35 +2690,39 @@ }, /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, /area/ship/crew) "Qq" = ( /turf/closed/wall/mineral/titanium, /area/ship/medical) "Qw" = ( -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-6" }, /obj/machinery/button/door{ dir = 4; id = "traumaramp"; name = "Emergency Ramp"; - pixel_x = -26; + pixel_x = -20; pixel_y = -4 }, /obj/machinery/button/shieldwallgen{ dir = 4; id = "traumashield2"; name = "Emergency Ramp Shield"; - pixel_x = -23; + pixel_x = -19; pixel_y = 6 }, -/obj/effect/turf_decal/arrows/red{ - dir = 1 +/obj/effect/turf_decal/industrial/warning{ + dir = 1; + color = "#FFFFFF" }, /obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/storage/eva) +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" + }, +/area/ship/cargo) "QF" = ( /obj/structure/chair/office/light{ dir = 8 @@ -2469,8 +2730,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 }, -/turf/open/floor/carpet/cyan, -/area/ship/hallway/central) +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/office/lobby) "QG" = ( /obj/machinery/power/smes/shuttle/precharged{ dir = 4 @@ -2494,20 +2757,21 @@ }, /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, -/area/ship/hallway/central) +/area/ship/crew/office/lobby) "Rb" = ( -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/turf_decal/siding/white{ +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ dir = 1 }, -/obj/effect/turf_decal/siding/white/corner{ +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ dir = 8 }, -/obj/effect/turf_decal/siding/white/corner, -/obj/structure/cable{ +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner, +/obj/structure/cable/yellow{ icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -2516,32 +2780,35 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) +/turf/open/floor/plasteel/mono/white, +/area/ship/cargo) "Rl" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ dir = 8 }, -/obj/structure/cable{ +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ + dir = 4 + }, +/obj/structure/cable/yellow{ icon_state = "1-4" }, -/turf/open/floor/plasteel/patterned/brushed, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, /area/ship/storage) "RA" = ( -/obj/structure/chair{ +/obj/structure/chair/bench/grey/directional/north, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ dir = 1 }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/turf/open/floor/plasteel/dark, +/area/ship/crew/office/lobby) "Sy" = ( -/obj/effect/turf_decal/industrial/outline/red, /obj/item/storage/firstaid/brute, /obj/item/storage/firstaid/fire, /obj/item/storage/firstaid/o2, @@ -2552,15 +2819,18 @@ /obj/item/storage/firstaid/regular, /obj/structure/closet/secure_closet{ icon_state = "med"; - name = "medicine locker" + name = "medicine locker"; + anchored = 1 }, +/obj/effect/turf_decal/box/white, /turf/open/floor/plasteel/tech, /area/ship/storage) "SR" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/line, -/obj/structure/sign/poster/official/moth/epi{ - pixel_y = -32 +/obj/effect/turf_decal/trimline/opaque/cybersunteal/corner, +/obj/structure/chair/handrail{ + dir = 1 }, +/obj/machinery/light/directional/south, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "Td" = ( @@ -2568,11 +2838,23 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/white, -/area/ship/cargo) +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) +"Tf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1; + color = "#FFFFFF" + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) "Tg" = ( /obj/machinery/power/shuttle/engine/electric{ dir = 4 @@ -2590,57 +2872,74 @@ pixel_x = 32 }, /obj/machinery/light/directional/south, -/turf/open/floor/plasteel/mono/white, -/area/ship/hallway/central) -"Tr" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/line{ - dir = 1 +/obj/effect/turf_decal/corner/opaque/cybersunteal/three_quarters, +/obj/machinery/camera/autoname{ + dir = 8 }, +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) +"Tr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/corner{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "TA" = ( -/obj/machinery/computer/cargo/express{ - dir = 8 +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-right" }, -/turf/open/floor/plasteel/dark, +/obj/structure/railing, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/brushed, /area/ship/bridge) "TB" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/line{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "TH" = ( -/obj/effect/turf_decal/industrial/outline/red, /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/light/directional/south, /obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/box/white, /turf/open/floor/plasteel/tech, -/area/ship/storage/eva) +/area/ship/cargo) "TL" = ( -/obj/effect/turf_decal/industrial/outline/red, /obj/structure/closet/crate/bin, /obj/machinery/light/directional/north, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-4" }, /obj/machinery/power/apc/auto_name/directional/west, @@ -2649,47 +2948,60 @@ pixel_x = -20; pixel_y = -11 }, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ + dir = 8 + }, +/obj/effect/spawner/random/maintenance, +/obj/item/reagent_containers/syringe/contraband, +/obj/item/reagent_containers/syringe/contraband, +/turf/open/floor/plasteel/white, /area/ship/medical) "TZ" = ( -/obj/structure/filingcabinet/medical, +/obj/structure/filingcabinet/medical{ + dir = 8; + icon_state = "widecabinet" + }, /obj/machinery/airalarm/directional/east, /obj/machinery/light/directional/north, -/turf/open/floor/carpet/cyan, -/area/ship/hallway/central) +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 4 + }, +/obj/item/folder/white, +/obj/item/folder/white, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/office/lobby) "Uc" = ( /turf/closed/wall/mineral/titanium, /area/ship/storage) "Ug" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/line, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, +/obj/structure/chair/handrail{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "Uh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/cyan, +/turf/open/floor/plasteel/white, /area/ship/bridge) "Uu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/turf_decal/industrial/warning, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, /area/ship/maintenance/starboard) "Uz" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 8 +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-4" }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -2701,8 +3013,9 @@ pixel_x = -20; pixel_y = -11 }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/turf/open/floor/plasteel/mono/white, +/area/ship/cargo) "UD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 @@ -2710,45 +3023,68 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/mono/white, -/area/ship/hallway/central) +/turf/open/floor/plasteel/white, +/area/ship/crew/office/lobby) "UG" = ( /turf/template_noop, /area/template_noop) "UH" = ( -/obj/machinery/power/smes/engineering{ - charge = 1e+006 +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 }, -/obj/structure/cable{ +/obj/machinery/power/smes/engineering, +/obj/structure/cable/yellow{ icon_state = "0-8" }, -/obj/effect/turf_decal/industrial/hatch/yellow, /turf/open/floor/plating, /area/ship/maintenance/port) "UK" = ( -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-10" }, -/obj/effect/turf_decal/arrows/red{ - dir = 1 +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 8 }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ +/obj/effect/turf_decal/trimline/opaque/syndiered/line{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1; + color = "#FFFFFF" + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 8 +/turf/open/floor/plasteel/patterned/grid{ + color = "#777777" }, -/turf/open/floor/plasteel/patterned/grid, -/area/ship/storage/eva) +/area/ship/cargo) "UN" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, /obj/machinery/light_switch{ dir = 4; pixel_x = -20; - pixel_y = -11 + pixel_y = 13 + }, +/obj/structure/closet/secure_closet/wall/directional/west{ + icon_state = "sec_wall"; + name = "medical director's closet"; + req_access_txt = "40" + }, +/obj/item/storage/belt/medical, +/obj/item/healthanalyzer/advanced, +/obj/item/hypospray/mkii/CMO, +/obj/item/storage/backpack/satchel/med, +/obj/item/defibrillator/compact/loaded, +/obj/item/clothing/gloves/color/latex/nitrile/evil, +/obj/item/clothing/suit/toggle/labcoat/raincoat, +/obj/item/clothing/suit/cybersun_suit, +/obj/item/clothing/shoes/jackboots{ + pixel_y = -7 }, -/turf/open/floor/carpet/cyan, +/obj/item/clothing/under/rank/medical/chief_medical_officer/cybersun, +/obj/item/clothing/head/beret/cmo/cybersun, +/obj/item/pen/edagger, +/turf/open/floor/plasteel/white, /area/ship/bridge) "UO" = ( /turf/closed/wall/mineral/titanium/nodiagonal, @@ -2760,10 +3096,13 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/turf_decal/trimline/opaque/red/filled/line{ +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ dir = 1 }, /turf/open/floor/plasteel/white, @@ -2772,13 +3111,16 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/effect/turf_decal/siding/white{ +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ dir = 1 }, -/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, /obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/cargo) "VJ" = ( /obj/machinery/door/poddoor/preopen{ id = "traumawindows"; @@ -2786,94 +3128,110 @@ }, /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, /area/ship/science) "VN" = ( /obj/machinery/light/small/directional/north, -/turf/open/floor/plating, +/obj/structure/closet/secure_closet/medical2, +/obj/item/reagent_containers/glass/bottle/morphine, +/obj/item/reagent_containers/glass/bottle/morphine, +/obj/effect/turf_decal/industrial/warning{ + dir = 1; + color = "#FFFFFF" + }, +/turf/open/floor/plasteel/dark, /area/ship/maintenance/starboard) "WB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/freezer, -/area/ship/crew/toilet) -"WJ" = ( -/obj/structure/bed{ - dir = 8 - }, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/syndie{ +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ dir = 8 }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/toilet) +"WJ" = ( +/obj/effect/landmark/start/paramedic, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/office/lobby) "WP" = ( -/obj/effect/turf_decal/industrial/outline/red, /obj/structure/railing/corner{ dir = 8 }, /obj/machinery/airalarm/directional/east, /obj/structure/rack, /obj/item/tank/internals/plasmaman/full, -/obj/item/tank/internals/plasmaman/full, -/obj/item/tank/internals/plasmaman/full, /obj/item/tank/internals/emergency_oxygen/engi, /obj/item/tank/internals/emergency_oxygen/engi, /obj/item/tank/internals/emergency_oxygen/engi, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) +/turf/open/floor/plasteel/tech, +/area/ship/cargo) "WX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/spline/fancy/opaque/black{ +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ +/obj/effect/turf_decal/spline/fancy/opaque/cybersunteal{ dir = 8 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/patterned/brushed, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, /area/ship/storage) "Xd" = ( -/obj/item/areaeditor/shuttle, -/obj/item/megaphone/command, -/obj/item/clothing/glasses/sunglasses, -/obj/structure/closet/secure_closet/wall/directional/west{ - icon_state = "solgov_wall"; - name = "captain's closet"; - req_access_txt = "20" +/obj/machinery/airalarm/directional/north, +/obj/structure/table/glass, +/obj/item/flashlight/lamp{ + pixel_x = -7; + pixel_y = 10 }, -/obj/item/gun/ballistic/revolver/syndicate, -/obj/item/clothing/suit/armor/vest/capcarapace/cybersun, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/head/HoS/cybersun, -/obj/item/clothing/under/syndicate/cybersun/officer, -/obj/item/reagent_containers/food/drinks/flask, -/obj/item/reagent_containers/food/drinks/bottle/gin, -/turf/open/floor/carpet/cyan, +/obj/item/paper_bin{ + pixel_y = 11; + pixel_x = 9 + }, +/obj/item/pen/fourcolor, +/obj/item/reagent_containers/food/drinks/bottle/wine{ + pixel_y = 7; + pixel_x = -9 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/item/storage/secure/safe/cybersun/biodynamics{ + dir = 8; + pixel_x = -30; + pixel_y = -10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/brushed, /area/ship/bridge) "Xi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/structure/sign/poster/contraband/gec{ + pixel_x = 32 }, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, /area/ship/maintenance/starboard) "Xu" = ( +/obj/structure/closet/firecloset/wall/directional/south, /obj/machinery/atmospherics/components/binary/pump/on/layer2{ dir = 8 }, -/obj/structure/closet/firecloset/wall/directional/south, /turf/open/floor/plating, /area/ship/maintenance/port) "Xx" = ( @@ -2886,43 +3244,53 @@ /turf/template_noop, /area/template_noop) "XL" = ( +/obj/item/radio/intercom/directional/north, /obj/machinery/power/terminal{ dir = 8 }, -/obj/structure/cable/yellow{ +/obj/structure/cable/cyan{ icon_state = "0-4" }, -/obj/item/wrench/crescent, -/obj/item/radio/intercom/directional/north, +/obj/item/storage/toolbox/syndicate{ + pixel_x = -1; + pixel_y = 6 + }, +/obj/structure/rack, /turf/open/floor/plating, /area/ship/maintenance/port) +"XN" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/carpet/nanoweave, +/area/ship/crew) "Ym" = ( -/obj/machinery/holopad/emergency/command, +/obj/machinery/holopad/secure, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/turf/open/floor/carpet/cyan, +/turf/open/floor/plasteel/white, /area/ship/bridge) "Yn" = ( -/obj/structure/curtain/cloth{ - color = "#ACD1E9" - }, /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "traumabridge"; + dir = 4 + }, /turf/open/floor/plating, /area/ship/bridge) "Yw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/item/storage/toolbox/electrical, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-8" }, /turf/open/floor/plating, @@ -2934,33 +3302,39 @@ /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/medical) "YQ" = ( -/obj/effect/turf_decal/number/five, /obj/machinery/power/apc/auto_name/directional/north, /obj/machinery/light_switch{ pixel_x = 11; pixel_y = 22 }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-8" }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/turf/open/floor/plating, +/obj/effect/turf_decal/isf_small, +/turf/open/floor/plasteel/dark, /area/ship/maintenance/starboard) "YV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/turf_decal/siding/white/end, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage/eva) +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/cargo) "Zv" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile/shuttle, -/obj/structure/curtain/cloth, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "traumastore"; + dir = 2 + }, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, /area/ship/storage) "ZC" = ( @@ -2969,26 +3343,34 @@ "ZH" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-8" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "2-4" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-4" }, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "1-8" }, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/white/half{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/line{ dir = 1 }, /turf/open/floor/plasteel/white, /area/ship/hallway/central) "ZJ" = ( -/obj/effect/turf_decal/trimline/opaque/red/filled/line, /obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/trimline/opaque/cybersunteal/corner{ + dir = 2 + }, /turf/open/floor/plasteel/white, /area/ship/hallway/central) @@ -3023,13 +3405,13 @@ fp UG UG UG -AJ +OZ KW yn sC rA KW -AJ +OZ UG UG UG @@ -3046,13 +3428,13 @@ ZC UG UG UG -gL +an fX bv Ap bv na -gL +an UG UG UG @@ -3069,13 +3451,13 @@ ZC UG UG fp -gL +an GK -eS +WJ oc eS RA -gL +an Ti UG UG @@ -3092,13 +3474,13 @@ ZC ZC ZC ZC -gL +an lS yX -oc +Ft Gr lX -gL +an UO UO UO @@ -3116,7 +3498,7 @@ Cy cK Eb AD -GI +Tf Td pQ rn @@ -3138,13 +3520,13 @@ ZC ZC ZC tI -gL +an xB uE uE oA lJ -gL +an UO UO UO @@ -3158,19 +3540,19 @@ ZC XL Yw bz -fp +ZC UG vx -gL +an Ls HI cL Gw zq -gL -UG +an +ke UG -Ti +UO VN zT kh @@ -3258,7 +3640,7 @@ sO YA xp gW -ke +qA rk eT qA @@ -3303,8 +3685,8 @@ hQ Pg YA zM -gW -ke +La +qA wp mx qA @@ -3349,7 +3731,7 @@ FH tT MW UV -gW +EL Zv Sy DX @@ -3372,7 +3754,7 @@ fW tF nI Lh -zy +tn AQ WX Rl @@ -3395,7 +3777,7 @@ vn bT MW UV -gW +EL Zv Ki tJ @@ -3409,14 +3791,14 @@ UG (19,1,1) = {" UG UG -tn -OZ -OZ -OZ -OZ -OZ -OZ -OZ +AJ +gL +gL +gL +gL +gL +gL +gL LH zl Ev @@ -3424,10 +3806,10 @@ Ev Ev Ev Ev +Ev iA UG UG -UG "} (20,1,1) = {" UG @@ -3439,7 +3821,7 @@ Uz Hk HE TH -OZ +gL bQ ZJ Ev @@ -3448,7 +3830,7 @@ iC jh Gs Ev -iA +Ev UG UG "} @@ -3464,7 +3846,7 @@ Ln YV uU iQ -zy +tn Cp uc IL @@ -3485,13 +3867,13 @@ UX BU KZ Fe -OZ +gL TB us Ev OF yf -iW +XN nF iW PH @@ -3501,7 +3883,7 @@ UG (23,1,1) = {" UG UG -OZ +gL JQ WP zo @@ -3524,9 +3906,9 @@ UG (24,1,1) = {" UG UG -tn -OZ -OZ +AJ +gL +gL zo wr WB @@ -3538,7 +3920,7 @@ Ev Pp CF Ev -Hl +Ev CZ iA UG @@ -3549,14 +3931,14 @@ UG UG UG UG -tn +AJ zo Nz rS ba zo Tr -gW +Hl Ev vj Aj @@ -3597,7 +3979,7 @@ UG UG UG Nn -WJ +Nn Xd Ah ES @@ -3605,7 +3987,7 @@ Ym Uh UN BD -EL +Nn Nn UG UG diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm deleted file mode 100644 index 7c7a34fd269..00000000000 --- a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm +++ /dev/null @@ -1,3878 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"aH" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/firealarm/directional/east, -/obj/effect/decal/cleanable/oil, -/obj/structure/sign/warning/nosmoking{ - pixel_y = -28 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"aN" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"bd" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"bl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=crew"; - location = "cargo" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"bH" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "hos"; - name = "captain's locker"; - req_access = list(20) - }, -/obj/item/storage/backpack/security, -/obj/item/clothing/under/syndicate/ngr/officer, -/obj/item/clothing/suit/armor/ngr/captain, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/glasses/hud/security/sunglasses/eyepatch, -/obj/item/clothing/head/ngr/peaked, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/ammo_box/a357/match, -/obj/item/pen/edagger, -/obj/item/storage/pistolcase/a357, -/obj/item/ammo_box/a357_box, -/turf/open/floor/carpet/black, -/area/ship/bridge) -"bJ" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "syndicate"; - name = "armor locker" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/radio/intercom/directional/west{ - pixel_y = -5 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/light/small/directional/west{ - pixel_y = 7 - }, -/obj/item/clothing/glasses/hud/security/sunglasses/ngr, -/obj/item/clothing/glasses/hud/security/sunglasses/ngr, -/obj/item/clothing/suit/armor/ngr, -/obj/item/clothing/suit/armor/ngr, -/obj/item/clothing/head/helmet/ngr, -/obj/item/clothing/head/helmet/ngr, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) -"bN" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"bS" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/carpet/red_gold, -/area/ship/bridge) -"bV" = ( -/obj/machinery/door/poddoor/shutters{ - id = "wreckerarmory"; - name = "Security Shutters" - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"cg" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/turretid/lethal{ - pixel_y = -24 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"ch" = ( -/turf/open/floor/carpet/red_gold, -/area/ship/bridge) -"cs" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/hallway/central) -"cB" = ( -/obj/structure/weightmachine/weightlifter, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"cH" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "wreckerwindows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/storage) -"cV" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/trimline/opaque/red/filled/corner{ - dir = 1 - }, -/obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = -12 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"dh" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/landmark/start/shaft_miner, -/turf/open/floor/plasteel/tech, -/area/ship/storage) -"dA" = ( -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = -2 - }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 5 - }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 1; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 8; - pixel_y = -3 - }, -/obj/structure/closet/crate{ - name = "food crate" - }, -/obj/item/storage/cans/sixbeer, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"dG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"dQ" = ( -/obj/structure/bed, -/obj/item/bedsheet/black, -/obj/structure/curtain/cloth/fancy{ - name = "blood-red curtains" - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"dU" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/east, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wrecker_engine_stbd" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"ec" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"fg" = ( -/obj/structure/sign/number/eight{ - pixel_y = 5 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/fore) -"fi" = ( -/obj/machinery/power/port_gen/pacman/super, -/obj/effect/turf_decal/radiation/white, -/obj/effect/turf_decal/industrial/outline, -/obj/effect/turf_decal/radiation/white, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"fv" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "syndicate"; - name = "ammunition locker" - }, -/obj/machinery/light/small/directional/east{ - pixel_y = -8 - }, -/obj/machinery/firealarm/directional/east{ - pixel_y = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/industrial/outline, -/obj/item/ammo_box/a12g, -/obj/item/ammo_box/c10mm, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) -"fC" = ( -/obj/structure/sign/number/four{ - pixel_y = 5 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/fore) -"fL" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/cargo/office) -"fV" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"fW" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/effect/decal/cleanable/oil/streak, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"fY" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"gg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline, -/obj/structure/bed/roller, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"gM" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"hc" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/rnd/production/techfab/department/cargo, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"hh" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/decal/cleanable/oil/slippery, -/obj/structure/sign/warning/nosmoking{ - pixel_y = -28 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"hD" = ( -/obj/structure/sign/syndicate{ - pixel_y = 2 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/hallway/central) -"hT" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"ia" = ( -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"ir" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wrecker_engine_port" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"iv" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"ix" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=bridge"; - location = "crew" - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"iC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"iI" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"iL" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/light/small/directional/west, -/obj/item/clothing/suit/space/syndicate/black/orange, -/obj/item/clothing/mask/gas/syndicate, -/obj/item/clothing/head/helmet/space/syndicate/black/orange, -/obj/item/tank/jetpack/carbondioxide, -/obj/machinery/suit_storage_unit/inherit/industrial{ - req_one_access = list(48,56) - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"iT" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) -"jf" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/dorm) -"ji" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_y = -9 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo) -"jt" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "wreckerwindows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/storage) -"jB" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "syndicate"; - name = "firearms locker" - }, -/obj/structure/sign/poster/contraband/stechkin{ - pixel_x = 32 - }, -/obj/effect/turf_decal/industrial/outline, -/obj/item/gun/ballistic/shotgun/brimstone, -/obj/machinery/button/door{ - dir = 1; - id = "wreckerarmory"; - name = "armory shutters"; - pixel_y = -21; - req_access = null - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) -"jG" = ( -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/corner_techfloor_grid, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"jH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"jI" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/storage) -"jP" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/button/door{ - dir = 1; - id = "wrecker_engine_port"; - name = "thruster doors"; - pixel_y = -21 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"jT" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"jY" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/carpet/red, -/area/ship/cargo/office) -"kg" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline, -/obj/structure/closet/crate/medical, -/obj/item/bodybag, -/obj/item/storage/firstaid/regular, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"kM" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/carpet/red_gold, -/area/ship/bridge) -"kR" = ( -/obj/docking_port/stationary{ - dwidth = 10; - height = 15; - width = 30 - }, -/turf/template_noop, -/area/template_noop) -"lg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil/streak, -/obj/effect/turf_decal/industrial/outline, -/obj/structure/closet/crate/freezer, -/obj/machinery/airalarm/directional/west, -/obj/item/reagent_containers/blood/random, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"lt" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"lX" = ( -/obj/structure/sign/syndicate, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew) -"mf" = ( -/obj/structure/window/reinforced/tinted/frosted{ - dir = 4 - }, -/obj/structure/chair/stool, -/obj/structure/window/reinforced/tinted/frosted, -/obj/effect/landmark/start/captain, -/turf/open/floor/carpet/black, -/area/ship/bridge) -"mL" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/fore) -"mX" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/crew) -"nn" = ( -/turf/template_noop, -/area/template_noop) -"no" = ( -/obj/structure/bed, -/obj/item/bedsheet/syndie, -/obj/structure/curtain/cloth/fancy{ - name = "blood-red curtains" - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/carpet/black, -/area/ship/bridge) -"nG" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"nK" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/grunge{ - name = "Foreman's Office"; - req_access = list(56) - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) -"nR" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/vending/cola/sodie, -/obj/structure/sign/poster/contraband/smoke{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"nS" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"nT" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/button/door{ - dir = 8; - id = "wrecker_engine_stbd"; - name = "thruster doors"; - pixel_x = 21 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"nX" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wrecker_engine_stbd" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"ob" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"ol" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin/carbon, -/obj/item/folder/syndicate, -/obj/item/pen/fourcolor, -/obj/item/gps/mining{ - pixel_x = 9; - pixel_y = -6 - }, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/item/stamp/qm{ - name = "foreman's rubber stamp" - }, -/obj/machinery/button/shieldwallgen{ - dir = 1; - id = "hyena_cargo"; - pixel_x = -10; - pixel_y = -24 - }, -/obj/machinery/button/door{ - dir = 1; - id = "wreckercargobay"; - name = "cargo bay doors"; - pixel_y = -25 - }, -/turf/open/floor/carpet/red, -/area/ship/cargo/office) -"or" = ( -/obj/structure/sign/number/nine{ - pixel_y = 5 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/fore) -"oz" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerwindows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"oF" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/documents/syndicate/mining, -/obj/structure/filingcabinet, -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/borderfloorblack, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"oJ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"oO" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/fore) -"oQ" = ( -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - dir = 8; - id = "wreckerwindows"; - name = "Window Shutters"; - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/gps{ - pixel_x = 7 - }, -/obj/item/megaphone/sec{ - name = "syndicate megaphone"; - pixel_x = -4; - pixel_y = 7 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"oS" = ( -/obj/structure/table, -/obj/machinery/microwave, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/machinery/firealarm/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/syndicate/random{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/ship/crew) -"oV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"pi" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wrecker_engine_stbd" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"pt" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/item/clothing/shoes/workboots/mining, -/obj/item/clothing/accessory/armband/cargo, -/obj/item/storage/belt/mining, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/welding, -/obj/machinery/light/small/directional/north, -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "mining"; - name = "wrecker's locker"; - req_access = list(48) - }, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/industrial/outline, -/obj/item/clothing/under/syndicate/ngr/jumpsuit, -/obj/item/clothing/suit/hazardvest/ngr, -/obj/item/clothing/head/hardhat/ngr, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"pu" = ( -/obj/structure/bed, -/obj/item/bedsheet/black, -/obj/structure/curtain/cloth/fancy{ - name = "blood-red curtains" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"pv" = ( -/obj/structure/dresser, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"px" = ( -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"pz" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-6" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"pH" = ( -/obj/machinery/holopad/emergency/command, -/turf/open/floor/carpet/red_gold, -/area/ship/bridge) -"pI" = ( -/obj/item/radio/intercom/wideband/directional/east, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/computer/cargo/express{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloorblack, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"pP" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/autolathe, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"qt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/light/small/directional/west, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/mask/breath, -/obj/item/tank/internals/oxygen, -/obj/item/clothing/suit/space/syndicate/surplus, -/obj/item/clothing/head/helmet/space/syndicate/surplus, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"qO" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/landmark/start/shaft_miner, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage) -"rd" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"rF" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "eng_secure"; - name = "mechanic's locker"; - req_access = list(11) - }, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/accessory/armband/engine, -/obj/item/storage/belt/utility, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/welding, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/light_switch{ - dir = 1; - pixel_y = -16; - pixel_x = -12 - }, -/obj/item/clothing/under/syndicate/ngr, -/obj/item/clothing/suit/hazardvest/ngr, -/obj/item/clothing/head/hardhat/ngr, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"rM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"rP" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/chair/sofa/brown/left/directional/south, -/obj/effect/landmark/start/assistant, -/turf/open/floor/carpet/red, -/area/ship/crew) -"rR" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/industrial/outline, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"si" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"so" = ( -/obj/machinery/door/poddoor{ - dir = 4; - id = "wreckercargobay"; - name = "Cargo Bay Exterior Blast Door" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - id = "hyena_cargo"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"sx" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wreckercargobay"; - name = "Cargo Bay Exterior Blast Door" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"sA" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"sE" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) -"sG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/airlock/hatch{ - name = "External Airlock" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"tl" = ( -/obj/machinery/shower{ - pixel_y = 19 - }, -/obj/structure/curtain, -/obj/item/bikehorn/rubberducky, -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = -32 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/dorm) -"tn" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/atmospherics/pipe/simple/green/hidden, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"tx" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "mining"; - name = "wrecker's locker"; - req_access = list(48) - }, -/obj/item/clothing/shoes/workboots/mining, -/obj/item/clothing/accessory/armband/cargo, -/obj/item/storage/belt/mining, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/welding, -/obj/machinery/airalarm/directional/north, -/obj/item/clothing/under/syndicate/ngr/jumpsuit, -/obj/item/clothing/suit/hazardvest/ngr, -/obj/item/clothing/head/hardhat/ngr, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"tI" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=storage"; - location = "bridge" - }, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"tS" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"uk" = ( -/obj/machinery/vending/cigarette/syndicate, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"un" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"uq" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer4{ - dir = 10 - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"ut" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/computer/helm/viewscreen/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"vi" = ( -/obj/structure/table, -/obj/item/toy/cards/deck/syndicate{ - pixel_y = 6 - }, -/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ - pixel_x = 6; - pixel_y = -2 - }, -/obj/item/lighter{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/carpet/red, -/area/ship/crew) -"vv" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/effect/turf_decal/industrial/outline, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"vG" = ( -/obj/machinery/atmospherics/components/unary/tank/toxins{ - dir = 1; - piping_layer = 4 - }, -/obj/effect/turf_decal/industrial/fire{ - dir = 8 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_y = -16; - pixel_x = -12 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"vN" = ( -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/turf/open/floor/plasteel, -/area/ship/crew) -"vR" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/machinery/door/airlock/grunge{ - name = "Break Room" - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew) -"wp" = ( -/obj/structure/sign/number/nine{ - dir = 1; - pixel_y = 5 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"wE" = ( -/obj/item/toy/nuke, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"wO" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/item/reagent_containers/food/snacks/syndicake, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel, -/area/ship/crew) -"wP" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/structure/closet/crate{ - name = "desert equipment crate"; - desc = "A rectangular steel crate containing supplies to survive a desert environment more easily." - }, -/obj/item/clothing/neck/shemagh/ngr, -/obj/item/clothing/neck/shemagh/ngr, -/obj/item/clothing/neck/shemagh/ngr, -/obj/item/clothing/neck/shemagh/ngr, -/obj/item/clothing/head/ngr/flap, -/obj/item/clothing/head/ngr/flap, -/obj/item/clothing/head/ngr/flap, -/obj/item/clothing/head/ngr/flap, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"xm" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "engine fuel pump" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"xx" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/plasteel/tech, -/area/ship/storage) -"xK" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/advanced_airlock_controller{ - pixel_y = -21 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/mask/breath, -/obj/item/tank/internals/oxygen, -/obj/item/clothing/suit/space/syndicate/surplus, -/obj/item/clothing/head/helmet/space/syndicate/surplus, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"yd" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/carpet/red, -/area/ship/crew) -"yn" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo/office) -"yw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"yD" = ( -/obj/structure/closet/crate/radiation{ - name = "fuel crate" - }, -/obj/item/stack/sheet/mineral/uranium/five, -/obj/effect/turf_decal/radiation/white, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"yG" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/syndicate/random{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"yM" = ( -/obj/item/lighter{ - pixel_x = -8; - pixel_y = 8 - }, -/obj/item/storage/fancy/cigarettes/cigars/cohiba{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/drinks/bottle/whiskey{ - pixel_x = 6; - pixel_y = 12 - }, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 4 - }, -/turf/open/floor/carpet/black, -/area/ship/bridge) -"yV" = ( -/obj/machinery/door/airlock/grunge{ - dir = 8; - name = "Bridge"; - req_access = list(19) - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"zn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central4, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/landmark/observer_start, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"zq" = ( -/obj/structure/closet/wall/red/directional/east{ - name = "uniform closet" - }, -/obj/item/tank/jetpack/suit, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/under/syndicate/ngr, -/obj/item/clothing/under/syndicate/ngr, -/obj/item/clothing/under/syndicate/ngr, -/obj/item/clothing/under/syndicate/ngr, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/item/clothing/under/syndicate/ngr/jumpsuit, -/obj/item/clothing/under/syndicate/ngr/jumpsuit, -/obj/item/clothing/under/syndicate/ngr/jumpsuit, -/obj/item/clothing/under/syndicate/ngr/jumpsuit, -/obj/item/clothing/head/ngr, -/obj/item/clothing/head/ngr, -/obj/item/clothing/head/ngr, -/obj/item/clothing/head/ngr, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm) -"zA" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"zQ" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "4-10" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"zZ" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Af" = ( -/obj/structure/closet/emcloset/wall/directional/north, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Ap" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"Ax" = ( -/obj/structure/table, -/obj/machinery/recharger, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"Ay" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"Az" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"AE" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_y = -9 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/hallway/central) -"AF" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"AY" = ( -/obj/structure/sign/number/eight{ - dir = 1; - pixel_y = 5 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"Bg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/carpet/red, -/area/ship/cargo/office) -"Bn" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/catwalk/over, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=dorms"; - location = "storage" - }, -/turf/open/floor/plating, -/area/ship/storage) -"Bv" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "warden"; - name = "foreman's locker"; - req_access = list(56) - }, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/under/syndicate/ngr/officer, -/obj/item/clothing/gloves/combat, -/obj/item/storage/belt/utility/chief{ - name = "\improper Foreman's toolbelt" - }, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/welding, -/obj/item/storage/toolbox/syndicate, -/obj/item/wrench/combat, -/obj/item/clothing/accessory/holster, -/obj/item/grenade/chem_grenade/metalfoam, -/obj/machinery/airalarm/directional/west, -/obj/item/clothing/suit/ngr, -/obj/item/clothing/head/hardhat/ngr/foreman, -/obj/item/tank/jetpack/suit, -/obj/item/storage/pistolcase/stechkin, -/turf/open/floor/carpet/red, -/area/ship/cargo/office) -"BB" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"BG" = ( -/obj/machinery/porta_turret/ship/ballistic, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"BR" = ( -/obj/machinery/porta_turret/ship/syndicate{ - dir = 1 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"BZ" = ( -/obj/structure/window/reinforced/tinted/frosted, -/obj/machinery/suit_storage_unit/inherit{ - name = "captain's suit storage unit"; - req_access = list(20) - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20 - }, -/obj/item/clothing/suit/space/hardsuit/syndi/ngr, -/obj/item/clothing/mask/gas/syndicate, -/turf/open/floor/carpet/black, -/area/ship/bridge) -"Ck" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -12 - }, -/obj/structure/mirror{ - pixel_x = -25 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/dorm) -"CW" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/starboard) -"Dp" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Dq" = ( -/obj/structure/closet/crate/bin, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"DE" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4 - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"DF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/number/zero{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"DO" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerarmory"; - name = "Security Shutters" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"DU" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = 7 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"DW" = ( -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/sign/warning/nosmoking{ - pixel_y = -28 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"EH" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"EL" = ( -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-5" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Fe" = ( -/obj/structure/table/reinforced, -/obj/item/soap/syndie, -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/borderfloorblack, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/dorm) -"Ff" = ( -/obj/structure/table/reinforced, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west, -/obj/structure/closet/wall/white/med{ - dir = 1; - name = "medicine locker"; - pixel_y = -28 - }, -/obj/item/storage/pill_bottle/lsd, -/obj/effect/turf_decal/borderfloorblack, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/dorm) -"Fl" = ( -/obj/machinery/door/airlock/hatch{ - name = "Starboard Thrusters"; - req_access = list(10) - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/fire{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"Fq" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_y = -16; - pixel_x = -12 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Fr" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Ft" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"FA" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"FQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/steeldecal/steel_decals_central4{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"FR" = ( -/obj/structure/table/reinforced, -/obj/item/flashlight/lamp{ - pixel_x = -12; - pixel_y = 7 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/paper_bin/carbon, -/obj/item/folder/documents/syndicate/red, -/obj/item/pen/fountain/captain, -/obj/item/stamp/hos{ - name = "captain's rubber stamp" - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"Ge" = ( -/obj/structure/bed, -/obj/item/bedsheet/black, -/obj/structure/curtain/cloth/fancy{ - name = "blood-red curtains" - }, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8 - }, -/obj/structure/sign/poster/syndicate/random{ - pixel_y = -32 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"Gj" = ( -/obj/structure/chair/sofa/brown/corner/directional/east, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/radio/intercom/directional/north, -/obj/machinery/light_switch{ - pixel_x = -20; - pixel_y = 12; - dir = 4 - }, -/turf/open/floor/carpet/red, -/area/ship/crew) -"Gm" = ( -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/machinery/door/airlock/hatch{ - name = "External Airlock" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Gw" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 1; - piping_layer = 2 - }, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"GV" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/dorm) -"HJ" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/security/armory) -"HT" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Ib" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/landmark/start/chief_engineer, -/turf/open/floor/carpet/red, -/area/ship/cargo/office) -"Ic" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/fire, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 8; - name = "Distribution" - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"Ii" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline, -/obj/structure/closet/crate/secure/loot, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Ik" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/mineral/ore_redemption{ - dir = 1; - output_dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Iz" = ( -/obj/machinery/cryopod{ - dir = 1 - }, -/obj/machinery/computer/cryopod/directional/south, -/obj/effect/turf_decal/industrial/warning/full, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm) -"IO" = ( -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/structure/closet/crate/bin, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/food/egg_smudge, -/turf/open/floor/plasteel, -/area/ship/crew) -"Jf" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "wreckerwindows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"Jv" = ( -/obj/machinery/modular_computer/console/preset/command{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"JD" = ( -/obj/machinery/door/airlock/grunge{ - dir = 4; - name = "Locker Room"; - req_one_access = list(10,48) - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage) -"JL" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/port) -"JP" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/storage) -"JS" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wreckercargobay"; - name = "Cargo Bay Exterior Blast Door" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"Kb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/number/five{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Kf" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/storage) -"Ki" = ( -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "4-9" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Kn" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet/red, -/area/ship/crew) -"Ky" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/hardline_small/right{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"KA" = ( -/obj/machinery/door/window/northleft{ - dir = 2; - name = "Captain's Bunk" - }, -/turf/open/floor/carpet/black, -/area/ship/bridge) -"KH" = ( -/obj/machinery/atmospherics/components/binary/pump/layer2{ - dir = 4; - name = "Input to Air" - }, -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 4; - name = "Input to Fuel" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"KJ" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"KQ" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"KT" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerarmory"; - name = "Security Shutters" - }, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"KW" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/suit_storage_unit/inherit{ - name = "foreman's suit storage unit"; - req_access = list(56) - }, -/obj/item/clothing/shoes/magboots/syndie, -/obj/item/clothing/mask/gas/syndicate, -/obj/item/clothing/suit/space/syndicate, -/obj/item/clothing/head/helmet/space/syndicate, -/turf/open/floor/carpet/red, -/area/ship/cargo/office) -"KX" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"La" = ( -/obj/machinery/atmospherics/pipe/manifold/cyan/visible/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer4{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/fire, -/obj/item/analyzer, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"Lv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Ml" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"Mp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Ms" = ( -/obj/structure/bed, -/obj/item/bedsheet/black, -/obj/structure/curtain/cloth/fancy{ - name = "blood-red curtains" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"MF" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"MP" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Nl" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Helm" - }, -/turf/open/floor/carpet/red_gold, -/area/ship/bridge) -"NA" = ( -/obj/machinery/porta_turret/ship/syndicate, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"NF" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo) -"NN" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 1; - id = "hyena_cargo"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wreckercargobay"; - name = "Cargo Bay Exterior Blast Door" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"NS" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wreckercargobay"; - name = "Cargo Bay Exterior Blast Door" - }, -/obj/docking_port/mobile{ - can_move_docking_ports = 1; - dir = 8; - launch_status = 0; - name = "mining ship"; - preferred_direction = 4 - }, -/turf/open/floor/plating, -/area/ship/cargo) -"Ok" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/storage) -"Or" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/power/ship_gravity, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Oy" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/storage) -"OL" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Pd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spider/stickyweb, -/obj/structure/closet/crate/secure/loot, -/obj/effect/turf_decal/number/three{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Pn" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 1 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Px" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"PG" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/firedoor/border_only, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerarmory"; - name = "Security Shutters" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"PL" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wrecker_engine_port" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"PT" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Qy" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Qz" = ( -/obj/machinery/porta_turret/ship/syndicate{ - dir = 6 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"QW" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerwindows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/cargo/office) -"QZ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/storage) -"Rc" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/storage) -"Rl" = ( -/obj/structure/table/reinforced, -/obj/item/radio/intercom/directional/east{ - pixel_y = 7 - }, -/obj/item/toy/figure/syndie{ - pixel_x = 11; - pixel_y = -3 - }, -/obj/machinery/fax/syndicate, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"RD" = ( -/obj/machinery/door/airlock/hatch{ - name = "Port Thrusters"; - req_access = list(10) - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/industrial/fire, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"RE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/hardline_small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"RQ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/button/door{ - dir = 1; - id = "wreckercargobay"; - name = "cargo bay doors"; - pixel_y = -21 - }, -/obj/machinery/light/floor, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/button/shieldwallgen{ - dir = 1; - id = "hyena_cargo"; - pixel_x = -10; - pixel_y = -19 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Sa" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/suit_storage_unit/inherit/industrial{ - req_access = list(11) - }, -/obj/item/clothing/suit/space/syndicate/black/engie, -/obj/item/clothing/head/helmet/space/syndicate/black/engie, -/obj/item/clothing/mask/breath, -/obj/item/tank/jetpack/carbondioxide, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"Sd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=cargo"; - location = "dorms" - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"Sg" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerwindows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"Sh" = ( -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Sm" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/structure/closet{ - anchored = 1; - icon_door = "eng_tool"; - icon_state = "eng" - }, -/obj/item/storage/toolbox/syndicate{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/storage/toolbox/syndicate, -/obj/item/storage/toolbox/syndicate{ - pixel_x = -5; - pixel_y = -5 - }, -/obj/item/stack/cable_coil/random, -/obj/item/stack/cable_coil/random, -/obj/item/stack/cable_coil/random, -/obj/structure/sign/poster/syndicate/random{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"Sv" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/red/filled/corner{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "wreckerarmory"; - name = "armory shutters"; - pixel_y = 23; - req_access = list(19) - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Sy" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"SE" = ( -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"SJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/analyzer, -/obj/effect/turf_decal/steeldecal/steel_decals_central4, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"SK" = ( -/obj/structure/sign/number/four{ - dir = 1; - pixel_y = 5 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"SP" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wrecker_engine_port" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"SV" = ( -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 6 - }, -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 8; - name = "Input to Waste" - }, -/obj/effect/decal/cleanable/oil, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"Tg" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Th" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/opaque/red/filled/corner{ - dir = 8 - }, -/obj/machinery/button/door{ - dir = 1; - id = "wreckerarmory"; - name = "armory shutters"; - pixel_y = -21; - req_access = list(19) - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Tq" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/chair/sofa/brown/right/directional/east, -/obj/effect/landmark/start/assistant, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/carpet/red, -/area/ship/crew) -"Tu" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "engine fuel pump" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"TK" = ( -/obj/structure/closet/secure_closet/freezer{ - anchored = 1; - locked = 0; - name = "fridge" - }, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/item/storage/cans/sixbeer, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel, -/area/ship/crew) -"TR" = ( -/obj/structure/curtain/cloth/fancy{ - name = "blood-red curtains" - }, -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/bridge) -"TT" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"TX" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/steeldecal/steel_decals_central4{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Ua" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Uh" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/trimline/opaque/red/filled/corner, -/obj/machinery/light_switch{ - dir = 1; - pixel_y = -16; - pixel_x = -12 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Ui" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/turretid{ - pixel_x = 32; - pixel_y = 22; - req_access = list(19) - }, -/turf/open/floor/carpet/red_gold, -/area/ship/bridge) -"Up" = ( -/obj/machinery/porta_turret/ship/syndicate/heavy{ - dir = 4 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"UI" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"UN" = ( -/obj/machinery/porta_turret/ship/syndicate{ - dir = 1 - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"UX" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew) -"Ve" = ( -/obj/structure/curtain, -/obj/structure/toilet, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/window/reinforced/spawner/west, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/dorm) -"VA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"VC" = ( -/obj/machinery/computer/helm{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"VD" = ( -/obj/item/reagent_containers/food/drinks/bottle/wine{ - pixel_x = -15; - pixel_y = 13 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/remains/human, -/obj/effect/turf_decal/hardline_small/left{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"VG" = ( -/turf/open/floor/engine/hull, -/area/ship/external) -"VX" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/clothing/suit/space/syndicate/black/orange, -/obj/machinery/suit_storage_unit/inherit/industrial{ - req_one_access = list(48,56) - }, -/obj/item/clothing/mask/gas/syndicate, -/obj/item/clothing/head/helmet/space/syndicate/black/orange, -/obj/item/tank/jetpack/carbondioxide, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"Wc" = ( -/obj/structure/table, -/obj/item/modular_computer/laptop/preset/civilian, -/obj/machinery/light/small/directional/north, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"Wd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/hallway/central) -"We" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm) -"Wp" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerarmory"; - name = "Security Shutters" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"Wt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"WN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"WS" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/grunge{ - name = "Dormitory" - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew) -"Xb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/contraband/peacemaker{ - pixel_y = 32 - }, -/obj/machinery/rnd/server, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"Xj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/computer/crew{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo/office) -"Xz" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"XA" = ( -/obj/structure/bed/dogbed/cayenne{ - desc = "An ordinary dog bed, dusted with ash..."; - name = "David's bed" - }, -/mob/living/simple_animal/hostile/asteroid/goliath/pup{ - a_intent = "help"; - desc = "A small goliath pup. Its tendrils have not yet fully grown. Someone, somehow, has managed to fit a large dog collar around its neck."; - environment_smash = 0; - faction = list("neutral","playerSyndicate"); - mob_size = 2; - move_force = 1000; - move_resist = 1000; - name = "David"; - pull_force = 1000 - }, -/turf/open/floor/carpet/red_gold, -/area/ship/bridge) -"XO" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/item/mining_scanner, -/obj/item/mining_scanner, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"XP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/item/wrench/syndie, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"XQ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"XR" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "syndicate"; - name = "explosives locker"; - req_access = "list(56, 20)" - }, -/obj/structure/sign/warning/explosives/alt{ - pixel_x = -32 - }, -/obj/item/storage/backpack/duffelbag/syndie/c4{ - name = "bag of mining charges" - }, -/obj/item/storage/belt/grenade, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/button/door{ - id = "wreckerarmory"; - name = "armory shutters"; - pixel_y = 23; - req_access = null - }, -/obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = -12 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) -"XU" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/closet/emcloset/wall/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Yc" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/rack, -/obj/item/pickaxe/drill/jackhammer/old{ - pixel_y = 10 - }, -/obj/item/pickaxe/drill/jackhammer/old, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"Yv" = ( -/obj/machinery/nuclearbomb/beer{ - desc = "An evidently-decommissioned nuclear warhead. Sloppy paint on the casing declares 'VICTORY OVER NANOTRASEN,' followed by a badly-smudged date of 25-something. A drink tap has been drilled directly into the metal."; - name = "comemmorative nuclear fission explosive" - }, -/obj/effect/turf_decal/corner_techfloor_grid, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"YH" = ( -/obj/machinery/door/airlock/grunge{ - dir = 4; - name = "Cargo Bay" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/crew) -"YI" = ( -/obj/machinery/door/poddoor/shutters{ - id = "wreckerwindows"; - name = "Blast Shutters" - }, -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/hallway/central) -"YV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Zb" = ( -/obj/structure/catwalk/over, -/turf/open/floor/plating/airless, -/area/ship/external) -"Zg" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerarmory"; - name = "Security Shutters" - }, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"Zi" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Zn" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"ZL" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/computer/rdconsole/core{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -10; - pixel_y = -19 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo/office) -"ZM" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"ZR" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) - -(1,1,1) = {" -nn -iT -Ua -Xz -Ua -iT -nn -nn -nn -nn -nn -nn -nn -nn -sE -MF -TT -Ua -sE -"} -(2,1,1) = {" -nn -BR -ir -PL -SP -iT -nn -nn -nn -nn -nn -nn -nn -nn -sE -nX -dU -pi -NA -"} -(3,1,1) = {" -nn -iT -OL -xm -fW -iT -JL -VG -VG -VG -VG -DE -VG -Kf -sE -zZ -Tu -KQ -sE -"} -(4,1,1) = {" -nn -iT -KJ -EL -DW -iT -iT -iT -jt -BG -jI -cH -jI -jI -sE -oV -AF -Or -sE -"} -(5,1,1) = {" -nn -iT -zQ -pz -SV -tn -jP -iT -XO -VX -iL -Yc -Sm -Sa -sE -DU -Ml -rR -sE -"} -(6,1,1) = {" -nn -iT -zA -XP -Ki -un -Ft -RD -QZ -Rc -Bn -Ok -QZ -QZ -Fl -nT -gM -aH -sE -"} -(7,1,1) = {" -nn -iT -fi -rM -KH -Ic -vG -iT -tx -dh -Oy -KX -jI -GV -GV -GV -GV -sE -sE -"} -(8,1,1) = {" -nn -JL -iT -yD -uq -La -Gw -iT -pt -qO -xx -rF -jI -tl -Ck -Ff -GV -sE -CW -"} -(9,1,1) = {" -nn -Zb -JL -iT -iT -iT -iT -iT -jI -JD -JP -jI -jI -Ve -jf -Fe -GV -CW -Zb -"} -(10,1,1) = {" -nn -Zb -nn -cs -nR -uk -UX -Gj -Tq -jT -IO -oS -UX -pu -Ay -Ge -GV -nn -Zb -"} -(11,1,1) = {" -nn -Zb -nn -YI -Sh -BB -mX -rP -vi -UI -vN -wO -UX -Ms -Sd -dQ -Sg -nn -Zb -"} -(12,1,1) = {" -nn -Zb -nn -cs -FA -Px -vR -yd -Kn -ix -vN -TK -UX -Wc -Az -pv -GV -nn -Zb -"} -(13,1,1) = {" -nn -Zb -Zb -cs -yG -Lv -lX -Yv -cB -ut -ob -ec -WS -We -zq -Iz -GV -Zb -Zb -"} -(14,1,1) = {" -nn -Zb -nn -cs -HT -jG -HJ -HJ -HJ -HJ -YH -mX -UX -GV -GV -GV -NA -nn -Zb -"} -(15,1,1) = {" -nn -UN -cs -cs -XU -Uh -HJ -XR -bJ -HJ -Sv -bN -Zn -fL -KW -Bv -QW -nn -Zb -"} -(16,1,1) = {" -nn -hD -qt -cs -ZR -iI -DO -EH -dG -bV -Pn -Fr -iv -nK -Bg -jY -yn -oO -Zb -"} -(17,1,1) = {" -nn -YI -lt -sG -YV -Sy -Wp -Ax -wE -Zg -oJ -nG -hc -fL -Ib -ol -yn -mL -oO -"} -(18,1,1) = {" -kR -Gm -aN -Wd -nS -tI -PG -fY -VA -KT -XQ -yw -pP -fL -Xj -ZL -yn -Pd -mL -"} -(19,1,1) = {" -nn -hD -xK -AE -px -Th -HJ -fv -jB -HJ -cV -jH -Ik -fL -fL -fL -yn -DF -mL -"} -(20,1,1) = {" -nn -SK -Ap -Ap -TR -yV -Ap -NF -NF -NF -TX -SJ -Dp -dA -Dp -hh -mL -Kb -fC -"} -(21,1,1) = {" -nn -AY -bH -BZ -Dq -rd -Ap -lg -ZM -Ii -Zi -bl -si -Wt -ia -SE -mL -Ky -or -"} -(22,1,1) = {" -nn -wp -no -KA -WN -cg -Ap -Af -hT -PT -FQ -zn -bd -sA -wP -vv -mL -RE -fg -"} -(23,1,1) = {" -nn -SK -yM -mf -aF -Fq -Ap -kg -gg -Mp -iC -Tg -Qy -MP -tS -RQ -mL -VD -fC -"} -(24,1,1) = {" -nn -Ap -Xb -XA -ch -bS -Ap -NF -NF -NF -ji -so -JS -NS -sx -NN -mL -mL -mL -"} -(25,1,1) = {" -nn -oz -FR -kM -pH -ch -oF -oz -nn -nn -nn -nn -nn -nn -nn -nn -oO -mL -mL -"} -(26,1,1) = {" -nn -oz -Rl -Ui -ch -Nl -pI -oz -nn -nn -nn -nn -nn -nn -nn -nn -nn -mL -mL -"} -(27,1,1) = {" -nn -Up -Ap -Jv -oQ -VC -Ap -Up -nn -nn -nn -nn -nn -nn -nn -nn -nn -mL -mL -"} -(28,1,1) = {" -nn -nn -fV -Jf -Jf -Jf -fV -nn -nn -nn -nn -nn -nn -nn -nn -nn -nn -oO -Qz -"} diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm index 7c323e43dbe..8961a67042f 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm @@ -122,6 +122,9 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) +"bC" = ( +/turf/template_noop, +/area/ship/cargo) "bM" = ( /obj/effect/turf_decal/industrial/warning{ dir = 8 @@ -212,10 +215,10 @@ }, /obj/structure/bed/dogbed, /mob/living/simple_animal/hostile/asteroid/elite/broodmother_child{ - faction = list("neutral","playerSyndicate"); - name = "Goliath"; + desc = "A little guy."; environment_smash = 0; - desc = "A little guy." + faction = list("neutral","playerSyndicate"); + name = "Goliath" }, /obj/effect/decal/cleanable/wrapping, /turf/open/floor/plasteel/tech, @@ -312,10 +315,11 @@ /area/ship/hallway/central) "ea" = ( /obj/machinery/porta_turret/ship/syndicate/weak{ - dir = 6 + dir = 6; + id = "komodo_grid" }, /turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) +/area/ship/maintenance/starboard) "en" = ( /obj/structure/railing/corner{ dir = 8 @@ -332,8 +336,8 @@ icon_state = "0-8" }, /obj/machinery/light_switch{ - pixel_y = 21; - pixel_x = 12 + pixel_x = 12; + pixel_y = 21 }, /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/mineral/plastitanium, @@ -513,9 +517,9 @@ icon_state = "4-8" }, /obj/machinery/light_switch{ - pixel_y = -23; + dir = 1; pixel_x = 3; - dir = 1 + pixel_y = -23 }, /turf/open/floor/plasteel/stairs{ dir = 8 @@ -960,11 +964,30 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/ship/hallway/aft) +"jy" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/storage/toolbox/ammo/c10mm, +/obj/structure/closet/secure_closet/wall/directional/west{ + icon_state = "sec_wall"; + name = "Ammo Locker"; + req_access_txt = "1" + }, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m45_cobra, +/obj/item/ammo_box/magazine/m45_cobra, +/turf/open/floor/mineral/plastitanium/red, +/area/ship/security/armory) "jA" = ( /obj/machinery/door/poddoor/shutters{ dir = 8; id = "syndie_mechbay"; - name = "Mechbay" + name = "Exosuit Bay" }, /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -975,7 +998,7 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "jD" = ( -/obj/effect/spawner/lootdrop/salvage_capacitor, +/obj/effect/spawner/random/salvage_capacitor, /obj/effect/decal/cleanable/shreds, /obj/structure/cable{ icon_state = "4-8" @@ -1082,15 +1105,36 @@ /obj/structure/table/reinforced, /turf/open/floor/circuit/green/off, /area/ship/maintenance/starboard) +"kw" = ( +/obj/structure/closet/secure_closet{ + anchored = 1; + icon_state = "hos"; + name = "captain's locker"; + req_access_txt = "20" + }, +/obj/item/clothing/gloves/krav_maga/combatglovesplus, +/obj/item/clothing/glasses/thermal/eyepatch, +/obj/item/gun/ballistic/revolver/viper, +/obj/item/clothing/under/syndicate/sniper, +/obj/item/ammo_box/a357, +/obj/item/ammo_box/a357, +/obj/item/radio/headset/syndicate/alt/leader, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/hardliners/officer, +/obj/item/clothing/suit/toggle/armor/vest/hardliners, +/obj/item/clothing/head/hardliners/peaked, +/turf/open/floor/carpet/black, +/area/ship/bridge) "kD" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew/canteen) "kG" = ( /obj/machinery/porta_turret/ship/syndicate/weak{ - dir = 1 + dir = 1; + id = "komodo_grid" }, /turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) +/area/ship/hallway/central) "kI" = ( /turf/open/floor/engine, /area/ship/bridge) @@ -1153,30 +1197,6 @@ }, /turf/open/floor/circuit/green/off, /area/ship/maintenance/starboard) -"lr" = ( -/obj/structure/closet/wall/orange/directional/south{ - name = "Engineering locker" - }, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/head/welding, -/obj/item/clothing/head/hardhat/red, -/obj/item/clothing/head/hardhat/weldhat/orange{ - pixel_x = 7; - pixel_y = 2 - }, -/obj/item/clothing/glasses/meson/engine, -/obj/item/storage/belt/utility/full/engi, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "engine fuel pump" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/item/clothing/under/syndicate/hardliners, -/obj/item/clothing/suit/hazardvest/hardliners, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) "ls" = ( /obj/structure/railing/corner, /obj/effect/turf_decal/steeldecal/steel_decals_central4, @@ -1300,6 +1320,13 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plasteel/tech, /area/ship/engineering) +"mq" = ( +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 1; + id = "komodo_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/cargo) "my" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -1390,8 +1417,8 @@ }, /obj/machinery/light_switch{ dir = 1; - pixel_y = -23; - pixel_x = 4 + pixel_x = 4; + pixel_y = -23 }, /turf/open/floor/mineral/plastitanium, /area/ship/hallway/aft) @@ -1418,8 +1445,8 @@ }, /obj/machinery/button/shieldwallgen{ id = "komodo_port"; - pixel_y = 24; - pixel_x = 6 + pixel_x = 6; + pixel_y = 24 }, /obj/machinery/button/door{ id = "Artillery1shutter"; @@ -1434,7 +1461,7 @@ dir = 9 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/turf_decal/box, /obj/machinery/camera/autoname{ dir = 10 @@ -1645,9 +1672,7 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "pJ" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, +/obj/machinery/power/smes/shuttle/precharged, /obj/structure/cable{ icon_state = "0-8" }, @@ -1666,10 +1691,11 @@ /area/ship/engineering) "pN" = ( /obj/machinery/porta_turret/ship/syndicate/weak{ - dir = 9 + dir = 9; + id = "komodo_grid" }, /turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) +/area/ship/engineering) "qf" = ( /obj/structure/railing{ dir = 8 @@ -1699,8 +1725,8 @@ /obj/effect/turf_decal/industrial/fire, /obj/effect/decal/cleanable/dirt/dust, /obj/item/trash/syndi_cakes{ - pixel_y = 6; - pixel_x = 4 + pixel_x = 4; + pixel_y = 6 }, /obj/item/t_scanner{ pixel_x = -2; @@ -1747,9 +1773,7 @@ /turf/open/floor/mineral/plastitanium, /area/ship/crew/canteen) "qF" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, +/obj/machinery/power/smes/shuttle/precharged, /obj/structure/cable{ icon_state = "0-8" }, @@ -1773,6 +1797,20 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/ship/hallway/central) +"qP" = ( +/obj/item/gun/ballistic/automatic/pistol/ringneck, +/obj/item/gun/ballistic/automatic/pistol/ringneck{ + pixel_y = 3 + }, +/obj/effect/turf_decal/industrial/fire{ + dir = 8 + }, +/obj/structure/guncloset, +/obj/structure/railing, +/obj/item/gun/ballistic/automatic/smg/cobra, +/obj/machinery/light/directional/east, +/turf/open/floor/pod/dark, +/area/ship/security/armory) "qZ" = ( /obj/structure/chair/comfy/grey/directional/east, /obj/effect/decal/cleanable/dirt/dust, @@ -1846,16 +1884,16 @@ }, /obj/machinery/light_switch{ dir = 1; - pixel_y = -23; - pixel_x = 4 + pixel_x = 4; + pixel_y = -23 }, /turf/open/floor/mineral/plastitanium, /area/ship/crew/canteen) "rN" = ( /obj/structure/table/reinforced, /obj/item/toy/figure/syndie{ - pixel_y = 5; - pixel_x = -8 + pixel_x = -8; + pixel_y = 5 }, /obj/machinery/light/directional/south, /obj/machinery/fax/syndicate, @@ -1863,10 +1901,11 @@ /area/ship/bridge) "rS" = ( /obj/machinery/porta_turret/ship/syndicate/weak{ - dir = 5 + dir = 5; + id = "komodo_grid" }, /turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) +/area/ship/maintenance/port) "rX" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -1970,7 +2009,7 @@ dir = 4 }, /obj/machinery/light/dim/directional/north, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "sV" = ( @@ -1994,25 +2033,6 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/ship/hallway/central) -"sX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/storage/toolbox/ammo/c10mm, -/obj/structure/closet/secure_closet/wall/directional/west{ - icon_state = "sec_wall"; - name = "Ammo Locker"; - req_access_txt = "1" - }, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/smgm45, -/obj/item/ammo_box/magazine/smgm45, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) "sY" = ( /obj/effect/turf_decal/corner_techfloor_grid{ dir = 6 @@ -2024,7 +2044,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/fireaxecabinet{ +/obj/structure/cabinet/fireaxe{ dir = 8; pixel_x = 27 }, @@ -2038,13 +2058,13 @@ dir = 10 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/costume, +/obj/effect/spawner/random/clothing/costume, /obj/item/storage/box/emptysandbags, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/machinery/button/door{ dir = 4; id = "syndie_mechbay"; - name = "mechbay door"; + name = "Exosuit Bay Door"; pixel_x = -24 }, /obj/item/radio/intercom/directional/south, @@ -2099,7 +2119,7 @@ /obj/machinery/button/door{ dir = 8; id = "syndie_mechbay"; - name = "mechbay door"; + name = "Exosuit Bay Door"; pixel_x = 24 }, /obj/effect/turf_decal/techfloor{ @@ -2114,10 +2134,11 @@ /obj/structure/railing{ dir = 4 }, -/obj/item/clothing/under/syndicate/skirt/maid, -/obj/item/clothing/gloves/combat/maid, -/obj/item/clothing/head/maidheadband/syndicate, -/obj/item/clothing/accessory/maidapron/syndicate, +/obj/item/clothing/under/costume/maid, +/obj/item/clothing/gloves/maid, +/obj/item/clothing/head/maidheadband, +/obj/item/clothing/neck/maid, +/obj/item/clothing/accessory/maidapron, /obj/structure/closet/crate/secure/loot, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 @@ -2201,8 +2222,8 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = -6 + pixel_x = -6; + pixel_y = 23 }, /obj/machinery/firealarm/directional/east{ pixel_y = -8 @@ -2475,6 +2496,7 @@ /obj/machinery/atmospherics/components/trinary/mixer/flipped{ dir = 1 }, +/obj/item/paper/guides/jobs/engi/combustion_thruster, /turf/open/floor/plasteel/tech, /area/ship/engineering) "wJ" = ( @@ -2724,20 +2746,6 @@ }, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/engineering) -"yH" = ( -/obj/item/gun/ballistic/automatic/pistol/syndicate, -/obj/item/gun/ballistic/automatic/pistol/syndicate{ - pixel_y = 3 - }, -/obj/effect/turf_decal/industrial/fire{ - dir = 8 - }, -/obj/structure/guncloset, -/obj/structure/railing, -/obj/item/gun/ballistic/automatic/smg/c20r, -/obj/machinery/light/directional/east, -/turf/open/floor/pod/dark, -/area/ship/security/armory) "yJ" = ( /obj/structure/frame/machine, /obj/structure/grille/broken, @@ -2871,32 +2879,6 @@ }, /turf/open/floor/plating, /area/ship/bridge) -"AL" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/item/gun/ballistic/automatic/pistol/syndicate{ - pixel_y = 3 - }, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/c10mm, -/obj/item/clothing/gloves/tackler/combat/insulated, -/obj/structure/closet/secure_closet/wall/directional/west{ - icon_state = "sec_wall"; - name = "Sergeant's Locker"; - req_access_txt = "58" - }, -/obj/item/melee/classic_baton/telescopic, -/obj/item/clothing/suit/armor/vest/blueshirt, -/obj/item/clothing/accessory/holster, -/obj/item/clothing/shoes/combat, -/obj/item/radio/headset/syndicate, -/obj/item/clothing/under/syndicate/hardliners/officer, -/obj/item/clothing/suit/armor/hardliners/sergeant, -/obj/item/clothing/head/hardliners/peaked, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) "AS" = ( /obj/effect/turf_decal/industrial/warning, /obj/effect/decal/cleanable/dirt, @@ -2943,9 +2925,12 @@ /turf/open/floor/plasteel/tech, /area/ship/bridge) "Bx" = ( -/obj/machinery/porta_turret/ship/syndicate/weak, +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 10; + id = "komodo_grid" + }, /turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) +/area/ship/crew/dorm) "BK" = ( /obj/effect/turf_decal/box, /obj/machinery/shower{ @@ -2997,6 +2982,13 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/ship/engineering) +"BU" = ( +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 2; + id = "komodo_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/security/armory) "BY" = ( /obj/effect/turf_decal/industrial/warning/corner{ dir = 1 @@ -3115,26 +3107,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/cargo) -"Ek" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "hos"; - name = "captain's locker"; - req_access_txt = "20" - }, -/obj/item/clothing/gloves/krav_maga/combatglovesplus, -/obj/item/clothing/glasses/thermal/eyepatch, -/obj/item/gun/ballistic/revolver/syndicate, -/obj/item/clothing/under/syndicate/sniper, -/obj/item/ammo_box/a357, -/obj/item/ammo_box/a357, -/obj/item/radio/headset/syndicate/alt/leader, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/under/syndicate/hardliners/officer, -/obj/item/clothing/suit/toggle/armor/vest/hardliners, -/obj/item/clothing/head/hardliners/peaked, -/turf/open/floor/carpet/black, -/area/ship/bridge) "El" = ( /obj/structure/filingcabinet, /obj/item/folder/documents/syndicate/red, @@ -3162,6 +3134,13 @@ "Ep" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/cargo) +"Es" = ( +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 9; + id = "komodo_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/cargo) "EB" = ( /obj/structure/closet/crate{ name = "food crate" @@ -3173,22 +3152,14 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = -6 - }, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = -6 - }, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = -6 - }, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = -6 - }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/machinery/airalarm/directional/south, /turf/open/floor/mineral/plastitanium, /area/ship/hallway/aft) @@ -3279,7 +3250,7 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "FV" = ( -/obj/effect/spawner/lootdrop/salvage_scanning, +/obj/effect/spawner/random/salvage_scanning, /obj/effect/decal/cleanable/shreds{ pixel_y = 14 }, @@ -3323,7 +3294,6 @@ icon_state = "0-8" }, /obj/docking_port/mobile{ - can_move_docking_ports = 1; dir = 8; launch_status = 0; preferred_direction = 4 @@ -3491,6 +3461,13 @@ /obj/structure/catwalk/over, /turf/open/floor/plating, /area/ship/engineering) +"Hx" = ( +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 2; + id = "komodo_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/hallway/central) "HF" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 @@ -3507,7 +3484,7 @@ /turf/open/floor/mineral/plastitanium/red, /area/ship/hallway/central) "HI" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ layer = 3 }, /obj/effect/turf_decal/techfloor{ @@ -3596,8 +3573,8 @@ dir = 1; id = "syndiewarship_armorybay"; name = "Weapon Hold"; - req_access_txt = "3"; - pixel_y = -26 + pixel_y = -26; + req_access_txt = "3" }, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -3654,8 +3631,8 @@ pixel_y = 16 }, /obj/structure/mirror{ - pixel_y = 30; - layer = 2.8 + layer = 2.8; + pixel_y = 30 }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/small/directional/west, @@ -3803,6 +3780,40 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/ship/hallway/central) +"KJ" = ( +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 10; + id = "komodo_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/maintenance/starboard) +"KK" = ( +/obj/structure/closet/wall/orange/directional/south{ + name = "Engineering locker" + }, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/head/welding, +/obj/item/clothing/head/hardhat/red, +/obj/item/clothing/head/hardhat/weldhat/orange{ + pixel_x = 7; + pixel_y = 2 + }, +/obj/item/clothing/glasses/meson/engine, +/obj/item/storage/belt/utility/full/engi, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "engine fuel pump" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/item/clothing/under/syndicate/hardliners, +/obj/item/clothing/suit/hazardvest/hardliners, +/obj/item/clothing/gloves/color/red/insulated, +/obj/item/gear_pack/anglegrinder, +/obj/item/radio/headset/alt, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) "KL" = ( /obj/structure/table/reinforced{ color = "#c1b6a5" @@ -3861,16 +3872,16 @@ /area/ship/hallway/central) "Lj" = ( /obj/item/scalpel{ - pixel_y = 6; - pixel_x = 10 + pixel_x = 10; + pixel_y = 6 }, /obj/structure/table/reinforced, /obj/item/hemostat, /obj/machinery/light/directional/west, -/obj/effect/spawner/lootdrop/random_prosthetic{ +/obj/effect/spawner/random/medical/prosthetic{ pixel_x = 6 }, -/obj/effect/spawner/lootdrop/random_prosthetic{ +/obj/effect/spawner/random/medical/prosthetic{ pixel_x = -6 }, /turf/open/floor/pod/dark, @@ -3982,8 +3993,8 @@ }, /obj/item/clothing/under/suit/waiter/syndicate, /obj/machinery/vending/boozeomat/syndicate_access{ - pixel_x = 32; - density = 0 + density = 0; + pixel_x = 32 }, /turf/open/floor/mineral/plastitanium, /area/ship/crew/canteen) @@ -4020,9 +4031,7 @@ /obj/machinery/door/window/eastleft{ name = "Engine Access" }, -/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ - dir = 4 - }, +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, /turf/open/floor/plating, /area/ship/engineering) "MV" = ( @@ -4130,8 +4139,8 @@ "ND" = ( /obj/structure/railing, /obj/machinery/atmospherics/components/unary/tank/air{ - piping_layer = 2; - dir = 8 + dir = 8; + piping_layer = 2 }, /obj/effect/turf_decal/industrial/outline/yellow, /obj/effect/decal/cleanable/greenglow, @@ -4165,8 +4174,8 @@ /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/airalarm/directional/north, -/obj/machinery/turretid{ - pixel_y = 2 +/obj/machinery/turretid/ship{ + id = "komodo_grid" }, /turf/open/floor/plasteel/dark, /area/ship/bridge) @@ -4204,10 +4213,11 @@ /area/ship/hallway/central) "OP" = ( /obj/machinery/porta_turret/ship/syndicate/weak{ - dir = 10 + dir = 10; + id = "komodo_grid" }, /turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) +/area/ship/engineering) "OQ" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/maintenance/starboard) @@ -4262,13 +4272,11 @@ id = "warship_engines"; name = "Thruster Blast Door" }, -/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ - dir = 4 - }, +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, /turf/open/floor/plating, /area/ship/engineering) "PA" = ( -/obj/structure/mecha_wreckage/mauler, +/obj/structure/mecha_wreckage/touro, /obj/effect/turf_decal/techfloor{ dir = 8 }, @@ -4446,7 +4454,7 @@ /obj/structure/railing{ dir = 8 }, -/obj/effect/spawner/lootdrop/salvage_manipulator, +/obj/effect/spawner/random/salvage_manipulator, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -4583,6 +4591,13 @@ }, /turf/open/floor/plasteel/tech, /area/ship/bridge) +"RX" = ( +/obj/machinery/porta_turret/ship/syndicate/weak{ + dir = 9; + id = "komodo_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/maintenance/port) "RZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -5075,8 +5090,8 @@ dir = 8; id = "warshipbridge"; name = "Bridge Window"; - pixel_y = -1; - pixel_x = -2 + pixel_x = -2; + pixel_y = -1 }, /obj/item/reagent_containers/food/drinks/mug{ pixel_x = -6; @@ -5222,9 +5237,7 @@ /turf/open/floor/holofloor/wood, /area/ship/bridge) "Yb" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, +/obj/machinery/power/shuttle/engine/electric, /obj/structure/cable{ icon_state = "0-4" }, @@ -5237,9 +5250,7 @@ /turf/open/floor/engine/hull, /area/ship/external/dark) "Yn" = ( -/obj/machinery/power/shuttle/engine/fire{ - dir = 4 - }, +/obj/machinery/power/shuttle/engine/fire, /turf/open/floor/plating, /area/ship/engineering) "Yp" = ( @@ -5331,7 +5342,7 @@ /turf/open/floor/plasteel/tech, /area/ship/engineering) "YT" = ( -/obj/effect/spawner/lootdrop/salvage_manipulator, +/obj/effect/spawner/random/salvage_manipulator, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable{ icon_state = "4-8" @@ -5348,6 +5359,32 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/ship/bridge) +"YY" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/item/gun/ballistic/automatic/pistol/ringneck{ + pixel_y = 3 + }, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/storage/box/ammo/c10mm, +/obj/item/clothing/gloves/tackler/combat/insulated, +/obj/structure/closet/secure_closet/wall/directional/west{ + icon_state = "sec_wall"; + name = "Sergeant's Locker"; + req_access_txt = "58" + }, +/obj/item/melee/classic_baton/telescopic, +/obj/item/clothing/suit/armor/vest/blueshirt, +/obj/item/clothing/accessory/holster, +/obj/item/clothing/shoes/combat, +/obj/item/radio/headset/syndicate, +/obj/item/clothing/under/syndicate/hardliners/officer, +/obj/item/clothing/suit/armor/hardliners/sergeant, +/obj/item/clothing/head/hardliners/peaked, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) "Zb" = ( /obj/structure/railing{ dir = 4 @@ -5388,7 +5425,7 @@ }, /area/ship/cargo) "Zf" = ( -/obj/effect/spawner/lootdrop/salvage_matter_bin, +/obj/effect/spawner/random/salvage_matter_bin, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/industrial/warning{ @@ -5404,7 +5441,7 @@ /obj/effect/turf_decal/techfloor{ dir = 8 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/machinery/button/door{ dir = 1; id = "Artillery2shutter"; @@ -5463,8 +5500,8 @@ }, /obj/machinery/light_switch{ dir = 1; - pixel_y = -21; - pixel_x = 6 + pixel_x = 6; + pixel_y = -21 }, /obj/machinery/firealarm/directional/south{ pixel_x = -6 @@ -5627,7 +5664,7 @@ wG yb YR nA -lr +KK hY "} (6,1,1) = {" @@ -5732,7 +5769,7 @@ CM "} (11,1,1) = {" CM -CM +bC Ep uJ es @@ -5752,7 +5789,7 @@ Bx "} (12,1,1) = {" CM -kG +Es Ep jA jA @@ -5825,7 +5862,7 @@ kh gE ue vp -sX +jy Ni km tf @@ -5864,7 +5901,7 @@ jv VR gE gE -yH +qP VU MV eY @@ -5892,7 +5929,7 @@ tf "} (19,1,1) = {" CM -kG +mq Ep Ep We @@ -5908,7 +5945,7 @@ gE wT Im gE -Bx +BU "} (20,1,1) = {" CM @@ -5967,7 +6004,7 @@ Dd Dd Dd Dd -Bx +Hx CM "} (23,1,1) = {" @@ -6132,7 +6169,7 @@ CM "} (31,1,1) = {" CM -pN +RX gN nU iL @@ -6148,7 +6185,7 @@ Dd JJ Hc OQ -OP +KJ "} (32,1,1) = {" CM @@ -6182,7 +6219,7 @@ wR ae GS tC -Ek +kw RK tC yd @@ -6262,7 +6299,7 @@ It dG WR ub -AL +YY jn tC dc diff --git a/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm b/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm new file mode 100644 index 00000000000..4b67c1d4a0b --- /dev/null +++ b/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm @@ -0,0 +1,7082 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ab" = ( +/obj/structure/chair/sofa/brown/right/directional/north, +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/red, +/area/ship/crew) +"au" = ( +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"av" = ( +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"aA" = ( +/obj/structure/chair/sofa/brown/left/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/plastic, +/turf/open/floor/carpet/red, +/area/ship/crew) +"aD" = ( +/obj/structure/guncloset{ + anchored = 1; + can_be_unanchored = 1; + open = 0; + req_access_txt = "3" + }, +/obj/item/gun/ballistic/shotgun/automatic/bulldog/no_mag, +/obj/item/gun/ballistic/automatic/pistol/asp/no_mag, +/obj/item/gun/ballistic/automatic/pistol/asp/no_mag, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/structure/sign/flag/ngr{ + dir = 4; + pixel_x = -32 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"aE" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/syndicate/surplus, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/clothing/head/helmet/space/syndicate/surplus, +/turf/open/floor/pod/dark, +/area/ship/hallway/central) +"aM" = ( +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"aP" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/electrical) +"aS" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/electrical) +"aU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Command Deck"; + normalspeed = 0; + req_access_txt = "19" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/office) +"aX" = ( +/obj/machinery/suit_storage_unit/inherit{ + name = "wrecker's suit storage unit"; + req_access_txt = "48" + }, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/item/clothing/suit/space/syndicate/black/green, +/obj/item/clothing/head/helmet/space/syndicate/black/green, +/obj/item/clothing/mask/gas/syndicate, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ship/storage/equip) +"aY" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"aZ" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo/office) +"bp" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/corner/opaque/tan/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"bt" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/folder/syndicate{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/pen/blue{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/pen/red{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/flashlight/lamp{ + pixel_x = -8; + pixel_y = 13 + }, +/obj/effect/turf_decal/corner/opaque/tan/half{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = -5; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"bM" = ( +/obj/structure/chair/handrail, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/item/reagent_containers/food/drinks/soda_cans/xeno_energy{ + pixel_x = -4; + pixel_y = 14 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/xeno_energy{ + pixel_x = 6; + pixel_y = 9 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/pacfuel{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = 22 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ship/storage/equip) +"bT" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/tank_dispenser, +/turf/open/floor/pod/dark, +/area/ship/hallway/central) +"bW" = ( +/obj/machinery/door/airlock/hatch{ + name = "Foreman's Office"; + normalspeed = 0; + req_access_txt = "56" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo/office) +"cc" = ( +/obj/structure/closet/wardrobe/black{ + name = "wardrobe"; + populate = 0 + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr, +/obj/item/radio/headset, +/obj/item/clothing/head/ngr, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"ce" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/closet/wall/directional/west{ + name = "closet" + }, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"cy" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm/captain) +"cB" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/hydrogen, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"cE" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/pod, +/area/ship/crew/cryo) +"cG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"cJ" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/east, +/turf/open/floor/pod/dark, +/area/ship/hallway/central) +"cR" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/syndicate/surplus, +/obj/item/clothing/head/helmet/space/syndicate/surplus, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"cU" = ( +/obj/machinery/atmospherics/components/trinary/mixer{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"cX" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/piloting{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = 5; + pixel_y = 11 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"dn" = ( +/obj/machinery/porta_turret/ship/ngr{ + dir = 5; + id = "derecho_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/science/workshop) +"dB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"dC" = ( +/obj/machinery/porta_turret/ship/ngr{ + dir = 5; + id = "derecho_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/hallway/central) +"dW" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/structure/filingcabinet/chestdrawer{ + pixel_x = -6 + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door{ + id = "derecho_entrance_blast"; + name = "Blast Door Control"; + pixel_x = -4; + pixel_y = 23 + }, +/obj/machinery/button/shieldwallgen{ + id = "derecho_entrance_holo"; + pixel_x = 7; + pixel_y = 21 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"dX" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/chair/handrail, +/obj/item/radio/intercom/directional/north, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"dZ" = ( +/obj/structure/crate_shelf, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"ea" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/item/cutting_board{ + pixel_y = 3 + }, +/obj/item/melee/knife, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"eb" = ( +/obj/effect/turf_decal/rechargefloor, +/obj/structure/mecha_wreckage/ripley/mkii, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"ep" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/tank/jetpack/carbondioxide{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/item/storage/toolbox/syndicate{ + name = "syndicate toolbox"; + pixel_x = 3; + pixel_y = 1 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = -20 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"er" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/item/paper_bin/carbon{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/desk_flag/ngr{ + pixel_x = -8; + pixel_y = 13 + }, +/obj/item/folder/syndicate{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/pen/blue{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/pen/red{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/lighter{ + pixel_x = -10; + pixel_y = 2 + }, +/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ + pixel_x = -3; + pixel_y = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"eu" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4; + layer = 2.04 + }, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/structure/closet/crate{ + name = "food crate" + }, +/obj/structure/chair/handrail, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"ex" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/hallway/fore) +"eA" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"eB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 1 + }, +/obj/structure/cabinet/fireaxe{ + pixel_y = 21 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"eC" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/storage/equip) +"eD" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/machinery/button/door{ + dir = 4; + id = "derecho_atmos_shut"; + name = "Atmospherics Shutters"; + pixel_x = -21; + pixel_y = -3 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 7 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"eL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = 7; + pixel_y = 22 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"fa" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/closet/emcloset, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -19 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/firealarm/directional/south{ + pixel_x = -7 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"fe" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/aft) +"fB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -3 + }, +/obj/machinery/button/door{ + dir = 8; + id = "derecho_foreman_door"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 21; + pixel_y = 7; + req_access_txt = "3"; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"fC" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 8; + name = "Thrusters"; + req_access_txt = "10" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines) +"fD" = ( +/obj/item/cigbutt{ + pixel_x = -5; + pixel_y = -6 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"fF" = ( +/obj/machinery/vending/cola/sodie, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/machinery/firealarm/directional/west, +/obj/structure/sign/poster/syndicate/random{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"fQ" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "derecho_starboard_engine_blast" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines) +"fX" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 1 + }, +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/drinks/modglass{ + icon_state = "mglass-6-"; + pixel_x = 7; + pixel_y = 2 + }, +/obj/item/reagent_containers/food/drinks/modglass{ + icon_state = "mglass-6-"; + pixel_x = -3 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"gc" = ( +/obj/structure/crate_shelf, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"gx" = ( +/obj/machinery/autolathe, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"gD" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/structure/closet/crate/bin, +/obj/structure/noticeboard{ + dir = 8; + name = "menu board"; + pixel_x = 28 + }, +/obj/machinery/button/door{ + id = "derecho_mess_shut"; + name = "Canteen Shutters"; + pixel_x = 3; + pixel_y = 23 + }, +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 22 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/trash/chips, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"gF" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"gK" = ( +/obj/machinery/mineral/processing_unit_console{ + machinedir = 2; + pixel_y = 26 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/chair/handrail, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"gU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Life Support"; + normalspeed = 0; + req_access_txt = "10" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/atmospherics) +"gV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"gW" = ( +/obj/structure/rack, +/obj/item/gun/energy/plasmacutter{ + pixel_y = 15 + }, +/obj/item/screwdriver/power{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/crowbar/power{ + pixel_x = -9; + pixel_y = -1 + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ship/storage/equip) +"hf" = ( +/obj/structure/table, +/obj/item/storage/toolbox/syndicate{ + name = "syndicate toolbox"; + pixel_x = -3; + pixel_y = -2 + }, +/obj/machinery/cell_charger{ + pixel_y = 7 + }, +/obj/item/clothing/head/welding{ + pixel_x = 9; + pixel_y = -2 + }, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500"; + layer = 2.04 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"hg" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/tan/half{ + dir = 1 + }, +/obj/item/desk_flag/ngr{ + pixel_x = 14; + pixel_y = 1 + }, +/obj/machinery/computer/helm/viewscreen/directional/south, +/obj/item/stamp/denied{ + pixel_x = -12; + pixel_y = 7 + }, +/obj/item/stamp{ + pixel_x = -12; + pixel_y = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"hk" = ( +/obj/machinery/porta_turret/ship/ngr{ + dir = 5; + id = "derecho_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) +"hr" = ( +/obj/machinery/computer/mech_bay_power_console, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"hI" = ( +/obj/structure/table, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3; + pixel_y = 12 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 5; + pixel_y = 14 + }, +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/structure/sign/flag/ngr{ + dir = 1; + pixel_y = -32 + }, +/obj/item/trash/popcorn, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"hL" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"in" = ( +/obj/structure/closet/secure_closet/armorycage{ + anchored = 1; + can_be_unanchored = 1; + name = "equipment locker" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/item/storage/box/ammo/a357{ + pixel_x = -7; + pixel_y = 2 + }, +/obj/item/storage/box/ammo/c57x39{ + pixel_x = 13; + pixel_y = 1 + }, +/obj/item/storage/box/ammo/c57x39{ + pixel_x = 13; + pixel_y = 1 + }, +/obj/item/storage/box/ammo/a12g_buckshot{ + pixel_y = -5 + }, +/obj/item/storage/box/ammo/a12g_buckshot{ + pixel_y = -5 + }, +/obj/item/ammo_box/magazine/m57_39_asp/empty, +/obj/item/ammo_box/magazine/m57_39_asp/empty, +/obj/item/ammo_box/magazine/m57_39_asp/empty, +/obj/item/ammo_box/magazine/m57_39_asp/empty, +/obj/item/ammo_box/magazine/m12g_bulldog/empty, +/obj/item/ammo_box/magazine/m12g_bulldog/empty, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"iy" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"iA" = ( +/obj/machinery/door/poddoor/shutters{ + id = "derecho_bridge_shut" + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/ship/bridge) +"iC" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"iE" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"iH" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"iK" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/glass/five, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"iO" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"iZ" = ( +/obj/structure/closet/wardrobe/black{ + name = "wardrobe"; + populate = 0 + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr, +/obj/item/radio/headset, +/obj/item/clothing/head/ngr, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"jn" = ( +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"js" = ( +/obj/structure/sign/warning/docking{ + pixel_y = -8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/central) +"ju" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"jA" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"jN" = ( +/obj/effect/turf_decal/corner/opaque/tan/mono, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"jW" = ( +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"jX" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 22 + }, +/obj/machinery/button/door{ + id = "derecho_dorms_shut"; + name = "Crew Quarters Shutters"; + pixel_x = 3; + pixel_y = 23 + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"kg" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"ki" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"ks" = ( +/obj/structure/sign/warning/gasmask, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/fore) +"ky" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/external/dark) +"kG" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "derecho_bridge_shut" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/bridge) +"kH" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 9 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/button/door{ + dir = 8; + id = "derecho_engine_blast"; + name = "Engine Blast Doors"; + pixel_x = 21; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"kU" = ( +/obj/machinery/power/terminal, +/obj/structure/cable/yellow, +/obj/machinery/light/dim/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"kX" = ( +/obj/structure/grille, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"ld" = ( +/obj/machinery/suit_storage_unit/inherit{ + name = "wrecker's suit storage unit"; + req_access_txt = "48" + }, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/item/clothing/suit/space/syndicate/black/green, +/obj/item/clothing/head/helmet/space/syndicate/black/green, +/obj/item/clothing/mask/gas/syndicate, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/sign/poster/official/safety_eye_protection{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ship/storage/equip) +"lg" = ( +/obj/structure/closet/secure_closet/engineering_personal{ + populate = 0 + }, +/obj/item/storage/backpack/industrial, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/under/syndicate/ngr, +/obj/item/clothing/suit/hazardvest/ngr, +/obj/item/clothing/accessory/armband/engine, +/obj/item/clothing/head/hardhat/ngr, +/obj/item/storage/belt/utility, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/item/clothing/head/ngr, +/obj/item/radio/headset/alt, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/mask/gas/syndicate, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/item/clothing/glasses/meson, +/obj/item/pipe_dispenser{ + pixel_x = 2; + pixel_y = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"lh" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"li" = ( +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"ln" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/science/workshop) +"lt" = ( +/obj/machinery/power/terminal, +/obj/structure/cable/yellow, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"lv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"lF" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"lQ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/computer/atmos_alert{ + dir = 4; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"lS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"lU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/plastic, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"lY" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/holopad/secure, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/item/cigbutt{ + pixel_x = 14; + pixel_y = -3 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"mb" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "0-9" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"mu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"mv" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/table, +/obj/item/storage/fancy/cigarettes/cigpack_robustgold{ + pixel_x = 3; + pixel_y = 14 + }, +/obj/item/storage/fancy/cigarettes/cigpack_robust{ + pixel_x = -7; + pixel_y = 9 + }, +/obj/item/lighter/greyscale{ + pixel_x = 12; + pixel_y = 12 + }, +/obj/item/storage/belt/mining{ + pixel_x = 5; + pixel_y = 8 + }, +/obj/item/storage/belt/utility, +/turf/open/floor/pod, +/area/ship/storage/equip) +"mJ" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"mM" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"mO" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ + dir = 1; + piping_layer = 4 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"mR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"mT" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"mU" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -3 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/pacfuel{ + pixel_x = 10; + pixel_y = 16 + }, +/obj/structure/punching_bag, +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt{ + pixel_x = -10; + pixel_y = 4 + }, +/turf/open/floor/pod, +/area/ship/storage/equip) +"nb" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/starboard) +"ng" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 8 + }, +/obj/structure/chair/handrail, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"nk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/hatch{ + dir = 1; + name = "Engineering"; + normalspeed = 0; + req_access_txt = "10" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"nt" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"nz" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1; + layer = 2.04 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"nY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"oa" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/noticeboard{ + pixel_y = 28 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan/half, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"oc" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 8; + name = "Cargo Bay"; + req_ship_access = 0 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/fore) +"oe" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave{ + pixel_y = 8 + }, +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -3 + }, +/obj/machinery/button/door{ + dir = 4; + id = "derecho_mess_shut"; + name = "Canteen Shutters"; + pixel_x = -21; + pixel_y = 7 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"oh" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"ok" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"om" = ( +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"ot" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"ox" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"oy" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central4, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"oz" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan/half, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/button/door{ + dir = 4; + id = "derecho_office_shut"; + name = "Office Shutters"; + pixel_x = -21; + pixel_y = 7 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -3 + }, +/obj/structure/reagent_dispensers/water_cooler{ + pixel_x = -6 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = -7 + }, +/obj/structure/extinguisher_cabinet/directional/north{ + pixel_x = 7 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"oF" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"oQ" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -19 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"oS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/firealarm/directional/west{ + pixel_y = -4 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 7 + }, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"oZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"pa" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"pd" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"pe" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"pg" = ( +/obj/structure/table, +/obj/machinery/jukebox/boombox, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"pk" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"pn" = ( +/obj/structure/closet/crate/secure/loot, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"px" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 8; + req_ship_access = 0 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/aft) +"pF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Workshop"; + req_access = null; + req_one_access = list(10, 48) + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"pH" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/turretid/ship{ + id = "derecho_grid"; + pixel_x = -3; + pixel_y = 24 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"pJ" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"pL" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"pR" = ( +/obj/structure/marker_beacon{ + picked_color = "Yellow" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"pS" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500"; + layer = 2.04 + }, +/obj/effect/turf_decal/techfloor, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_x = 22 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"qc" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"qf" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"qh" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/computer/monitor{ + dir = 4; + icon_state = "computer-right" + }, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 4 + }, +/obj/machinery/light/dim/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"qi" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"qn" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/machinery/light/dim/directional/east, +/obj/item/instrument/guitar, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/red, +/area/ship/crew) +"qr" = ( +/obj/machinery/shower{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/canteen) +"qA" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines) +"qB" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/atmospherics) +"qD" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"qE" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew) +"qF" = ( +/obj/machinery/atmospherics/components/trinary/mixer{ + dir = 1 + }, +/obj/item/paper/guides/jobs/engi/combustion_thruster, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"qH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/hatch{ + name = "Crew Quarters"; + req_ship_access = 0 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"qS" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/platform/military, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"qY" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 8; + id = "derecho_mess_shut"; + name = "Canteen Shutters"; + pixel_x = 21; + pixel_y = -3 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"rD" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"rL" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/storage/equip) +"rW" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"sa" = ( +/obj/structure/chair/bench/orange/directional/east, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"se" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Control Room"; + normalspeed = 0; + req_access_txt = "10" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"sg" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"sm" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/obj/machinery/button/door{ + dir = 1; + id = "derecho_eng_shut"; + name = "Engineering Shutters"; + pixel_x = 3; + pixel_y = -20 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"sn" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/trash/can, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"sv" = ( +/obj/structure/closet/firecloset/wall/directional/south, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"sC" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/obj/structure/chair/plastic{ + dir = 4 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/xeno_energy{ + pixel_x = -2; + pixel_y = 20 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/pacfuel{ + pixel_x = 9; + pixel_y = 17 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/crosstalk{ + pixel_x = 3; + pixel_y = 14 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/pod, +/area/ship/storage/equip) +"sD" = ( +/obj/machinery/porta_turret/ship/ngr{ + id = "derecho_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/canteen) +"sG" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/closet/crate/medical, +/obj/item/storage/box/bodybags, +/obj/item/storage/firstaid/regular, +/obj/effect/decal/cleanable/dirt, +/obj/structure/platform/military{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"sH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ship/storage/equip) +"sL" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4; + id_tag = "derecho_bathroom_door"; + name = "Restroom"; + req_ship_access = 0 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"sM" = ( +/obj/machinery/portable_atmospherics/canister/hydrogen, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"sN" = ( +/obj/machinery/telecomms/relay/preset/mining{ + autolinkers = list("relay","hub"); + freq_listening = list(1213); + id = "NGR Relay"; + name = "NGR Relay"; + network = "ngr_commnet" + }, +/obj/machinery/door/window/brigdoor/westright{ + dir = 1; + req_access = list(20); + req_ship_access = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"sU" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/closet/crate/secure/loot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/platform/military, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"sZ" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"te" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"tg" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/firealarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"tp" = ( +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/tank_dispenser, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door{ + id = "derecho_storage_shut"; + name = "Storage Shutters"; + pixel_x = -3; + pixel_y = 20; + req_ship_access = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"tZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"ua" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 8; + name = "Storage Bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"uE" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"uK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"uX" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines) +"vc" = ( +/obj/structure/sign/number/random{ + dir = 1 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/science/workshop) +"vd" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"vi" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/button/door{ + dir = 1; + id = "derecho_storage_shut"; + name = "Storage Shutters"; + pixel_x = 3; + pixel_y = -20 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"vr" = ( +/obj/structure/closet/syndicate/personal{ + name = "foreman's closet"; + populate = 0 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/item/storage/backpack/industrial, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr/officer, +/obj/item/clothing/suit/ngr, +/obj/item/clothing/gloves/color/red/insulated, +/obj/item/radio/headset/syndicate/alt, +/obj/item/clothing/head/hardhat/ngr/foreman, +/obj/item/clothing/glasses/sunglasses, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/megaphone, +/obj/item/storage/guncase/pistol/pc76, +/obj/machinery/light/small/directional/west, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"vs" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"vv" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"vA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/door/airlock/hatch{ + name = "Canteen"; + req_ship_access = 0 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"vC" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"vF" = ( +/obj/machinery/conveyor{ + dir = 5; + id = "derecho_belt" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 7 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"vJ" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "derecho_belt" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"vS" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/structure/bed/dogbed, +/mob/living/simple_animal/hostile/asteroid/goliath/pup{ + a_intent = "help"; + desc = "A small goliath pup. Its tendrils have not yet fully grown. Someone, somehow, has managed to fit a large dog collar around its neck."; + environment_smash = 0; + faction = list("neutral","playerSyndicate"); + mob_size = 2; + move_resist = 1000; + name = "David"; + pixel_x = 0 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"vV" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Equipment Storage"; + req_access_txt = "10" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/atmospherics) +"wa" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Starboard Thrusters"; + req_access_txt = "10" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines) +"wg" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Canteen"; + req_ship_access = 0 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"wj" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/hallway/central) +"ws" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"wE" = ( +/obj/effect/turf_decal/corner/opaque/tan/mono, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"wF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/bar/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"wG" = ( +/obj/structure/sign/flag/ngr{ + dir = 4; + pixel_x = -32 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"wN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"wR" = ( +/obj/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4, +/turf/open/floor/engine/air, +/area/ship/engineering/atmospherics) +"wV" = ( +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"wY" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/tan/half{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/closet/crate/bin, +/obj/machinery/light/dim/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"xD" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "derecho_belt" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/mineral/processing_unit{ + input_dir = 8; + output_dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"xQ" = ( +/obj/machinery/door/airlock/hatch{ + name = "Foreman's Office"; + normalspeed = 0; + req_access_txt = "56" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo/office) +"xU" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"yb" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"yh" = ( +/obj/machinery/light_switch{ + pixel_x = 7; + pixel_y = 22 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/hallway/fore) +"yi" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan/half, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"yq" = ( +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"yu" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"yv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/light/directional/south, +/obj/structure/closet/emcloset/wall/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"yz" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = -9; + pixel_y = 3 + }, +/obj/item/storage/toolbox/syndicate{ + name = "syndicate toolbox"; + pixel_x = 8; + pixel_y = -2 + }, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 8 + }, +/obj/machinery/cell_charger{ + pixel_y = 7 + }, +/obj/machinery/firealarm/directional/south, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"yD" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil/streak, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"yO" = ( +/obj/machinery/power/shuttle/engine/fire{ + dir = 4 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "derecho_engine_blast" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines) +"yS" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "derecho_port_engine_blast" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines) +"yW" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"zk" = ( +/obj/structure/closet/crate/radiation{ + name = "fuel crate" + }, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/item/stack/sheet/mineral/uranium/ten, +/obj/effect/turf_decal/radiation/white, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"zn" = ( +/obj/structure/table/wood, +/obj/item/paper{ + pixel_x = -6; + pixel_y = 7 + }, +/obj/item/stamp/ngr/captain{ + pixel_x = -7; + pixel_y = 8 + }, +/obj/item/flashlight/lamp/green{ + pixel_x = 7; + pixel_y = 16 + }, +/obj/item/stamp/ngr{ + pixel_x = 1; + pixel_y = 4 + }, +/obj/item/pen/fountain/captain{ + pixel_x = -4; + pixel_y = -1 + }, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_x = 11; + pixel_y = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/syndiemoth{ + pixel_x = 32 + }, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"zr" = ( +/obj/structure/chair/comfy/grey/directional/west, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"zz" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1; + name = "Operations" + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"zA" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"zB" = ( +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"zC" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"zI" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = 5; + pixel_y = 11 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/item/storage/box/gum/nicotine, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"zJ" = ( +/obj/machinery/nuclearbomb/beer/empty{ + desc = "An evidently-decommissioned nuclear warhead. Faded paint on the casing reads \"VICTORY OVER NANOTRASEN\", with a much newer plaque installed on top commemorating the end of the ICW in 497. A drink tap has been drilled directly into the metal."; + name = "comemmorative nuclear fission explosive" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"zL" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ + dir = 5 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"zN" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/sign/flag/ngr{ + dir = 4; + pixel_x = -32 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"zV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"zW" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"Ad" = ( +/obj/effect/turf_decal/industrial/outline{ + color = "#791500"; + layer = 2.04 + }, +/obj/structure/crate_shelf, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"Ae" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/sink/kitchen{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Ah" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"Aq" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Bridge"; + normalspeed = 0; + req_access_txt = "19" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"Au" = ( +/obj/structure/toilet, +/obj/structure/sink{ + dir = 8; + pixel_x = 12 + }, +/obj/structure/mirror{ + pixel_x = 28 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -3 + }, +/obj/machinery/button/door{ + dir = 4; + id = "derecho_bathroom_door"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = -20; + pixel_y = 7; + req_access_txt = "3"; + specialfunctions = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/canteen) +"AV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"AW" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines) +"AZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ship/storage/equip) +"Ba" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"By" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-10" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"BE" = ( +/obj/structure/bed, +/obj/structure/curtain/cloth/fancy, +/obj/item/bedsheet/syndie{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"BH" = ( +/obj/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{ + piping_layer = 2 + }, +/turf/open/floor/engine/air, +/area/ship/engineering/atmospherics) +"BK" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/power/ship_gravity, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Ca" = ( +/obj/structure/railing{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/closet/secure_closet/engineering_electrical{ + req_access = null; + req_access_txt = "11"; + req_one_access = null + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Ci" = ( +/obj/machinery/door/poddoor/shutters{ + id = "derecho_bridge_shut" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/bridge) +"Cl" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"Cn" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/engineering/electrical) +"Cs" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/machinery/door/poddoor/shutters{ + id = "derecho_atmos_shut" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"CB" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/military, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"CI" = ( +/obj/machinery/computer/crew{ + icon_state = "computer-right" + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"CN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"CX" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/obj/machinery/button/door{ + dir = 8; + id = "derecho_starboard_engine_blast"; + name = "Engine Blast Doors"; + pixel_x = 21; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"CY" = ( +/obj/structure/rack, +/obj/item/tank/jetpack/carbondioxide{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/tank/jetpack/carbondioxide{ + pixel_x = -6 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/pod, +/area/ship/storage/equip) +"Dq" = ( +/obj/structure/rack, +/obj/item/pickaxe/drill{ + pixel_y = 9 + }, +/obj/item/pickaxe/drill, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/melee/axe/sledgehammer, +/obj/item/melee/axe/sledgehammer{ + pixel_x = 5 + }, +/turf/open/floor/pod, +/area/ship/storage/equip) +"DD" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"DI" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"DL" = ( +/obj/structure/railing/corner, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + layer = 2.04 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"DP" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "5-6" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines) +"DS" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -3 + }, +/obj/machinery/button/door{ + dir = 8; + id = "derecho_port_engine_blast"; + name = "Engine Blast Doors"; + pixel_x = 21; + pixel_y = 7 + }, +/obj/item/trash/syndi_cakes, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"DT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/components/unary/portables_connector/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"Ef" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/structure/closet/secure_closet/engineering_chief{ + name = "\proper foreman's equipment locker"; + populate = 0 + }, +/obj/machinery/firealarm/directional/south, +/obj/machinery/airalarm/directional/east, +/obj/item/storage/belt/utility/chief, +/obj/item/clothing/glasses/meson/engine, +/obj/item/screwdriver/power{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/crowbar/power{ + pixel_x = -9; + pixel_y = -1 + }, +/obj/item/t_scanner, +/obj/item/clothing/mask/gas/syndicate{ + pixel_x = 7; + pixel_y = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"Eh" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm) +"Ei" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/hardline_small/left, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Ej" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/hardline_small, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Ep" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/hardline_small/right, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Et" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"Ez" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/item/radio/intercom/table{ + dir = 1; + pixel_x = 7; + pixel_y = 3 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"ED" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"EF" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"EM" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/hallway/central) +"ER" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, +/obj/structure/reagent_dispensers/foamtank, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"EY" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ + dir = 1; + piping_layer = 4 + }, +/obj/structure/sign/poster/contraband/atmosia_independence{ + pixel_x = -32 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"EZ" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Fk" = ( +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Fp" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 7 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1; + layer = 2.04 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"FC" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"Gb" = ( +/obj/structure/bed{ + dir = 1 + }, +/obj/structure/curtain/cloth/fancy, +/obj/item/bedsheet/syndie{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"Gc" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 7 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"Gg" = ( +/obj/structure/ore_box, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = 22 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"Gl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Port Thrusters"; + req_access_txt = "10" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines) +"Gr" = ( +/obj/structure/chair/sofa/brown/corner/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/red, +/area/ship/crew) +"GC" = ( +/obj/structure/sign/number/random{ + dir = 1 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"GD" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"GI" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"GS" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + layer = 2.04 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/components/binary/pump/layer4, +/obj/machinery/light/dim/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"Hf" = ( +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/number/right_four, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Hv" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, +/obj/machinery/atmospherics/components/unary/portables_connector/layer2, +/obj/machinery/airalarm/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"HJ" = ( +/obj/machinery/porta_turret/ship/ngr{ + dir = 1; + id = "derecho_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/electrical) +"HP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/number/left_nine, +/obj/effect/turf_decal/number/right_nine, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"HX" = ( +/obj/machinery/door/poddoor/shutters{ + id = "derecho_office_shut" + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/crew/office) +"Id" = ( +/obj/machinery/computer/cargo{ + icon_state = "computer-left" + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"Im" = ( +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_x = 22 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Iq" = ( +/obj/effect/turf_decal/techfloor, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"IV" = ( +/obj/structure/filingcabinet/double{ + density = 0; + dir = 8; + pixel_x = 10 + }, +/obj/effect/turf_decal/corner/opaque/tan/mono, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/obj/machinery/button/door{ + dir = 8; + id = "derecho_office_shut"; + name = "Office Shutters"; + pixel_x = 21; + pixel_y = -3 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"Jh" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"Jj" = ( +/obj/structure/grille, +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 1 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Jv" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/light/directional/north, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"JA" = ( +/obj/docking_port/stationary{ + dwidth = 15; + height = 30; + width = 30 + }, +/turf/template_noop, +/area/template_noop) +"JD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"JE" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "engine fuel pump" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"JM" = ( +/obj/structure/chair/bench/orange/directional/west, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"JP" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"JS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod, +/area/ship/storage/equip) +"JV" = ( +/obj/machinery/door/poddoor/shutters{ + id = "derecho_eng_shut" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/engineering) +"Ki" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "derecho_belt" + }, +/obj/machinery/mineral/unloading_machine{ + input_dir = 2; + output_dir = 1 + }, +/obj/structure/plasticflaps/opaque, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"Kn" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/turf/open/floor/carpet/red, +/area/ship/crew) +"Ko" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/hatch{ + id_tag = "derecho_foreman_door"; + name = "Foreman's Quarters"; + req_access_txt = "56" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm) +"Kz" = ( +/obj/structure/crate_shelf, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"KD" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/sign/poster/contraband/aclf{ + pixel_y = -32 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = -20 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"KF" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan/half, +/obj/structure/sign/flag/ngr{ + pixel_y = 32 + }, +/obj/structure/chair/handrail, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"KL" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/syndicate{ + pixel_y = 8 + }, +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/tan/half{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"KR" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/machinery/light/dim/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/radio/intercom/directional/south{ + pixel_x = -7 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -19 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"KX" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"La" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/computer/cryopod/directional/east, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"Ld" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/cryo) +"LC" = ( +/obj/structure/closet/crate/trashcart, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/pod, +/area/ship/crew/cryo) +"LI" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/office) +"LP" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/poddoor/shutters{ + id = "derecho_storage_shut" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"LT" = ( +/obj/machinery/power/port_gen/pacman/super, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"Ma" = ( +/obj/structure/bookcase/random/fiction, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/red, +/area/ship/crew) +"Ml" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"Mo" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_x = 22 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Ms" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/cargo/office) +"MA" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"MB" = ( +/obj/structure/mopbucket, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/mop, +/turf/open/floor/pod, +/area/ship/crew/cryo) +"ME" = ( +/obj/structure/table, +/obj/item/toy/cards/deck/syndicate{ + pixel_x = -6; + pixel_y = 2 + }, +/obj/item/toy/cards/deck/kotahi{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/item/dice/d6{ + pixel_x = 5; + pixel_y = 14 + }, +/obj/item/dice/d6{ + pixel_x = -5; + pixel_y = 11 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/red, +/area/ship/crew) +"MG" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ship/crew/cryo) +"MH" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/structure/sign/poster/contraband/gec{ + pixel_x = 32 + }, +/obj/item/clothing/suit/space/syndicate/black/engie, +/obj/item/clothing/head/helmet/space/syndicate/black/engie, +/obj/item/clothing/shoes/magboots/syndie, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 8 + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"MK" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"MM" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 1; + layer = 2.04 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"MN" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/canteen) +"MU" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 1; + layer = 2.04 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/closet/emcloset/wall/directional/east, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Nk" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"Nm" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Np" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Nq" = ( +/obj/structure/railing{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"Nw" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/platform/military, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Nz" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"NK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"NW" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/structure/dresser{ + dir = 1 + }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"NY" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/door/airlock/hatch{ + dir = 1; + name = "Cryo Bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"Oh" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/platform/military{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Oj" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/tan/half{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/photocopier, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"OC" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"OI" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/light/floor/hangar, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"OK" = ( +/obj/structure/crate_shelf, +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"OR" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/syndicate/surplus, +/obj/item/clothing/head/helmet/space/syndicate/surplus, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"Pc" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan/half, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"Pk" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/fore) +"Pq" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"Py" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"PD" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "derecho_entrance_blast" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "derecho_entrance_holo"; + locked = 1 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/fore) +"PF" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"PG" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/drip, +/obj/structure/platform/military{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"PH" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/inherit{ + name = "foreman's suit storage unit"; + req_access = list(56) + }, +/obj/item/clothing/suit/space/syndicate/black/engie, +/obj/item/clothing/head/helmet/space/syndicate/black/engie, +/obj/item/clothing/shoes/magboots/syndie, +/obj/structure/sign/poster/contraband/engis_unite{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"PV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -3 + }, +/obj/machinery/button/door{ + dir = 4; + id = "derecho_captain_door"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = -21; + pixel_y = 7; + req_access_txt = "3"; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"PY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/tan, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Qj" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"Qq" = ( +/obj/machinery/atmospherics/components/binary/pump/layer4{ + name = "waste pump" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"Qw" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/obj/machinery/button/door{ + dir = 1; + id = "derecho_bridge_shut"; + name = "Bridge Shutters"; + pixel_x = 3; + pixel_y = -20 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"QB" = ( +/obj/structure/closet/secure_closet/freezer{ + anchored = 1; + locked = 0; + name = "fridge" + }, +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/storage/fancy/egg_box, +/obj/machinery/light/directional/west, +/obj/structure/sign/poster/contraband/robustmore_drinkfoods{ + pixel_y = 32 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"QC" = ( +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/under/syndicate/ngr/jumpsuit, +/obj/item/clothing/accessory/armband/cargo, +/obj/item/clothing/suit/hazardvest/ngr, +/obj/item/clothing/head/hardhat/ngr, +/obj/item/radio/headset/alt, +/obj/item/clothing/gloves/explorer, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/head/ngr, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/item/clothing/glasses/meson, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/closet/wardrobe/cargotech{ + name = "wrecker's wardrobe"; + populate = 0 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/poster/official/moth/hardhats{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/melee/knife/survival, +/turf/open/floor/pod, +/area/ship/storage/equip) +"QD" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"QZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/sign/directions/supply{ + dir = 4; + pixel_y = 25 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Re" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"Ry" = ( +/obj/structure/table, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/obj/structure/sign/poster/syndicate/random{ + pixel_x = -32 + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = 8; + pixel_y = 14 + }, +/obj/item/flashlight/lamp{ + pixel_x = -7; + pixel_y = 10 + }, +/obj/item/stamp/ngr/foreman{ + pixel_x = -4; + pixel_y = -1 + }, +/obj/item/stamp/ngr{ + pixel_x = 5; + pixel_y = 2 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"RD" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/obj/structure/sign/poster/syndicate/random{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/red, +/area/ship/crew) +"RO" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"RP" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/closet/emcloset/wall/directional/west, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"RU" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"RY" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/central) +"RZ" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Sf" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"Su" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/item/radio/intercom/wideband/table{ + dir = 1; + pixel_x = -6; + pixel_y = 3 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Sy" = ( +/obj/machinery/suit_storage_unit/inherit{ + req_access_txt = "3" + }, +/obj/item/clothing/suit/space/hardsuit/syndi/ngr, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/beige, +/obj/machinery/firealarm/directional/west, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"SC" = ( +/obj/machinery/door/poddoor/shutters{ + id = "derecho_dorms_shut" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/crew) +"SD" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"SG" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"SK" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"SP" = ( +/obj/machinery/door/poddoor/shutters{ + id = "derecho_mess_shut" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"ST" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 7 + }, +/obj/structure/sign/poster/syndicate/random{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"Ta" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -19 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Tb" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/structure/filingcabinet/chestdrawer{ + pixel_x = 6 + }, +/obj/item/folder/documents/syndicate/ngr, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Tg" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + layer = 2.04 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, +/obj/machinery/atmospherics/components/binary/pump/layer2{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"Tk" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/item/storage/box/drinkingglasses{ + pixel_x = -11; + pixel_y = 10 + }, +/obj/item/paper{ + pixel_x = 5; + pixel_y = 6 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Tm" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"To" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Tq" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/chair/plastic{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"Ty" = ( +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/closet/secure_closet/engineering_welding{ + req_access = null; + req_access_txt = "11"; + req_one_access = null + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/tools{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"TC" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"TG" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "derecho_belt" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/light/dim/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"TJ" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "derecho_entrance_blast" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 1; + id = "derecho_entrance_holo"; + locked = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/fore) +"TT" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ + dir = 9 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_x = 22 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"TW" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sign/directions/engineering{ + dir = 1; + pixel_y = 25 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Uh" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/ship/crew) +"Ui" = ( +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"Ul" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"Un" = ( +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/under/syndicate/ngr/jumpsuit, +/obj/item/clothing/accessory/armband/cargo, +/obj/item/clothing/suit/hazardvest/ngr, +/obj/item/clothing/head/hardhat/ngr, +/obj/item/radio/headset/alt, +/obj/item/clothing/gloves/explorer, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/head/ngr, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/item/clothing/glasses/meson, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/closet/wardrobe/cargotech{ + name = "wrecker's wardrobe"; + populate = 0 + }, +/obj/structure/sign/poster/contraband/hacking_guide{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/melee/knife/survival, +/turf/open/floor/pod, +/area/ship/storage/equip) +"UA" = ( +/obj/machinery/porta_turret/ship/ngr{ + dir = 6; + id = "derecho_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/office) +"UB" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"Ve" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -3 + }, +/obj/machinery/light/dim/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"Vj" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"Vn" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/machinery/advanced_airlock_controller{ + pixel_x = 25; + req_access = null + }, +/turf/open/floor/pod/dark, +/area/ship/hallway/central) +"Vq" = ( +/obj/machinery/computer/card{ + dir = 8; + icon_state = "computer-right" + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"VC" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) +"VG" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/canteen) +"VH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/hatch{ + id_tag = "derecho_captain_door"; + name = "Captain's Quarters"; + req_access_txt = "20" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm/captain) +"VL" = ( +/obj/machinery/holopad/emergency/command, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/effect/turf_decal/corner/opaque/tan/mono, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"VW" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"Wg" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Custodial Closet" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"Wl" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Wn" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Command Deck"; + normalspeed = 0; + req_access_txt = "19" + }, +/obj/structure/sign/directions/command{ + dir = 4; + pixel_y = 25 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/starboard) +"Wo" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/science/workshop) +"Wp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"Wu" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 8; + id = "derecho_dorms_shut"; + name = "Crew Quarters Shutters"; + pixel_x = 21; + pixel_y = 7 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -3 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"Wx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"WD" = ( +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines) +"WE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Locker Room"; + req_access_txt = "48" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage/equip) +"WJ" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/obj/structure/sign/poster/syndicate/random{ + pixel_y = 32 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"WP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"WR" = ( +/obj/docking_port/stationary{ + dir = 4; + dwidth = 4; + height = 30; + width = 7 + }, +/turf/template_noop, +/area/template_noop) +"Xb" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) +"Xd" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"Xi" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Xu" = ( +/obj/structure/marker_beacon{ + picked_color = "Lime" + }, +/obj/structure/catwalk/over, +/obj/docking_port/mobile{ + dir = 4; + launch_status = 0; + port_direction = 2; + preferred_direction = 4 + }, +/turf/open/floor/plating, +/area/ship/external/dark) +"Xx" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"XF" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ship/crew/cryo) +"XJ" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/obj/structure/sign/directions/service{ + pixel_y = -20 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"XM" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/obj/structure/sign/poster/rilena/random{ + pixel_x = -32 + }, +/obj/item/trash/cheesie{ + pixel_x = 5; + pixel_y = 8 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"XR" = ( +/obj/structure/sink/kitchen{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/glass/bucket, +/obj/item/pushbroom, +/obj/item/soap, +/obj/structure/closet/wall/directional/south{ + name = "custodial closet" + }, +/obj/item/storage/bag/trash, +/turf/open/floor/pod, +/area/ship/crew/cryo) +"XY" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Yj" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Yn" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/airalarm/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Yp" = ( +/obj/structure/closet/syndicate/personal{ + name = "captain's closet"; + populate = 0 + }, +/obj/item/storage/backpack/security, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr/officer, +/obj/item/clothing/suit/armor/ngr/captain, +/obj/item/clothing/gloves/combat, +/obj/item/radio/headset/syndicate/alt/captain, +/obj/item/clothing/head/ngr/peaked, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/megaphone, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/obj/item/storage/guncase/pistol/a357, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"Yq" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "derecho_entrance_blast" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/fore) +"Yv" = ( +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/button/shieldwallgen{ + dir = 4; + id = "derecho_entrance_holo"; + pixel_x = -20; + pixel_y = 7; + req_one_access = null; + req_ship_access = 1 + }, +/obj/machinery/button/door{ + dir = 4; + id = "derecho_entrance_blast"; + name = "Blast Door Control"; + pixel_x = -21; + pixel_y = -4; + req_one_access = null; + req_ship_access = 1 + }, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"Yw" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{ + piping_layer = 4 + }, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"YA" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"YD" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + layer = 2.04 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"YM" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/conveyor_switch{ + id = "derecho_belt" + }, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"YR" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"YZ" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/external/dark) +"Zm" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/light/floor/hangar, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Zx" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 4 + }, +/obj/structure/bed/roller, +/obj/structure/platform/military{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"ZE" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"ZF" = ( +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"ZG" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"ZQ" = ( +/turf/template_noop, +/area/template_noop) +"ZR" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"ZY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) + +(1,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +pR +ZQ +ZQ +ZQ +ZQ +qA +yO +yO +qA +ZQ +ZQ +ZQ +ZQ +pR +ZQ +ZQ +ZQ +"} +(2,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +qA +yS +yS +qA +ZQ +qA +WD +WD +qA +ZQ +qA +fQ +fQ +qA +ZQ +ZQ +ZQ +"} +(3,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +qA +uX +DP +qA +qA +qA +Xx +kH +qA +qA +qA +DP +AW +qA +ZQ +ZQ +ZQ +"} +(4,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +qA +By +DS +Gl +PF +qA +fC +qA +qA +tg +wa +CX +mb +qA +ZQ +ZQ +ZQ +"} +(5,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ky +qA +qA +qA +qA +QD +EY +JE +mO +Gc +zL +qA +qA +qA +qA +ky +ZQ +ZQ +"} +(6,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +kX +qB +BH +DT +GS +Re +lv +yD +cU +qF +GI +vV +eD +Qq +Cs +Jj +ZQ +ZQ +"} +(7,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +kX +qB +wR +Hv +Tg +SK +Yw +ER +TT +sM +cB +qB +SD +iy +qB +kX +ZQ +ZQ +"} +(8,1,1) = {" +ZQ +ZQ +ZQ +aP +aS +aS +qB +qB +qB +qB +gU +qB +qB +qB +VC +VC +VC +VC +VC +VC +VC +qE +ZQ +"} +(9,1,1) = {" +ZQ +ZQ +ZQ +aS +LT +kU +CB +BK +Ei +Hf +Ta +aS +TW +RP +VC +XM +wG +RD +iZ +oh +NW +VC +qE +"} +(10,1,1) = {" +ZQ +ZQ +ZQ +aS +LT +lt +qS +Ca +Ej +HP +To +nk +zC +yW +VC +WJ +fD +Kn +cc +sZ +aA +Gr +SC +"} +(11,1,1) = {" +ZQ +ZQ +ZQ +aS +zk +lF +rD +Cn +Ep +Im +Ty +aS +zA +mu +qH +WP +rW +rW +Ui +GD +ME +ab +VC +"} +(12,1,1) = {" +ZQ +ZQ +ZQ +HJ +VW +VW +se +Ld +Ld +Ld +Ld +Ld +CN +Np +VC +jX +JM +Wu +yq +mJ +qn +Ma +SC +"} +(13,1,1) = {" +ZQ +ZQ +ZQ +Py +qh +lQ +sm +Ld +Jh +ce +fa +Ld +eL +ZG +VC +VC +VC +VC +wg +Uh +VC +VC +VC +"} +(14,1,1) = {" +ZQ +ZQ +ZQ +JV +Nz +lY +sv +Ld +ED +Iq +TC +NY +JD +OC +VG +QB +Ae +oe +ok +sn +fF +VG +ZQ +"} +(15,1,1) = {" +ZQ +ZQ +ZQ +Py +MH +lg +yz +Ld +qc +La +Ul +Ld +dB +yW +kg +ea +qD +Tk +ok +Xd +gF +VG +sD +"} +(16,1,1) = {" +ZQ +ZQ +eC +rL +rL +rL +rL +rL +rL +Ld +Wg +Ld +Ba +qi +vA +Et +oZ +NK +Wp +MK +yb +te +SP +"} +(17,1,1) = {" +ZQ +ZQ +rL +ld +aX +mv +sC +CY +rL +LC +XF +Ld +pd +XJ +VG +gD +iO +DD +au +gV +iH +hI +VG +"} +(18,1,1) = {" +ZQ +ZQ +rL +bM +AZ +AZ +JS +gW +rL +MB +cE +Ld +px +fe +VG +VG +sL +VG +pg +gV +YA +Mo +SP +"} +(19,1,1) = {" +ZQ +ZQ +rL +QC +Un +mU +sH +Dq +rL +MG +XR +Ld +lS +uE +VG +Au +qr +VG +zJ +zV +qY +VG +MN +"} +(20,1,1) = {" +ZQ +RY +RY +RY +RY +rL +WE +rL +rL +Ld +Ld +Ld +QZ +KD +Eh +Eh +Eh +Eh +Eh +Wn +nb +nb +ZQ +"} +(21,1,1) = {" +ZQ +js +aE +bT +RY +ng +uK +YD +wj +MM +Yj +XY +wF +KX +Eh +vr +sa +Ry +Eh +tZ +ST +nb +ZQ +"} +(22,1,1) = {" +JA +zB +Vn +cJ +nY +nz +vd +DL +EM +MU +Yn +mR +pe +Tm +Eh +BE +oF +fB +Ko +Vj +sg +nb +ZQ +"} +(23,1,1) = {" +ZQ +RY +RY +RY +RY +jA +ua +jA +Pk +Pk +Pk +oc +Pk +Pk +cy +cy +cy +cy +cy +eB +lh +nb +ZQ +"} +(24,1,1) = {" +ZQ +dC +jA +cR +OR +om +cG +jA +Jv +ki +Yv +wN +oS +yv +cy +Gb +zW +PV +VH +Sf +eA +nb +ZQ +"} +(25,1,1) = {" +ZQ +ZQ +jA +dX +hL +Wl +vi +jA +yh +Nq +YR +Tq +zI +pL +cy +zn +zr +Yp +cy +Ve +MA +nb +ZQ +"} +(26,1,1) = {" +ZQ +ZQ +GC +dZ +Kz +oy +vs +LP +FC +Oh +Zx +PG +sG +oQ +aZ +aZ +aZ +aZ +aZ +LI +aU +LI +LI +"} +(27,1,1) = {" +ZQ +ZQ +GC +eu +iC +pa +vv +LP +Wx +mM +aM +Fk +sU +UB +bW +Fp +zN +KR +aZ +oz +wE +wY +HX +"} +(28,1,1) = {" +ZQ +ZQ +GC +gc +OK +RO +vC +jA +tp +ox +pn +ZR +Nw +ex +Ms +Id +Nk +qf +xQ +Pc +jN +Oj +LI +"} +(29,1,1) = {" +ZQ +ZQ +vc +ln +ln +pF +ln +ln +Gg +ox +ZE +EF +RZ +ju +Ms +CI +zz +ep +aZ +KF +VL +bt +HX +"} +(30,1,1) = {" +ZQ +ZQ +ln +Ad +iK +pJ +vF +Ki +Qj +Nm +ZY +Fk +ot +ZF +Ms +er +SG +PH +aZ +yi +bp +hg +LI +"} +(31,1,1) = {" +ZQ +ZQ +ln +gx +lU +Ah +vJ +ln +jW +OI +iE +DI +Zm +li +aZ +dW +Pq +Ef +aZ +oa +IV +KL +HX +"} +(32,1,1) = {" +ZQ +ZQ +ln +gK +jn +YM +xD +ln +Pk +PD +Yq +Yq +TJ +ks +Pk +Cl +Cl +Cl +Cl +Aq +Cl +LI +UA +"} +(33,1,1) = {" +ZQ +ZQ +ln +hr +AV +xU +TG +ln +ZQ +ZQ +ZQ +WR +ZQ +ZQ +ZQ +Cl +Sy +aD +in +PY +sN +Cl +ZQ +"} +(34,1,1) = {" +ZQ +ZQ +ln +eb +Ml +ws +yu +ln +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +Cl +pH +JP +nt +Qw +Cl +Xb +ZQ +"} +(35,1,1) = {" +ZQ +EZ +ln +aY +hf +pS +ln +Wo +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +Ci +Tb +Xi +RU +vS +iA +ZQ +ZQ +"} +(36,1,1) = {" +ZQ +av +dn +ln +ln +ln +Wo +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +Ci +Ez +pk +mT +fX +iA +ZQ +ZQ +"} +(37,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +Cl +Su +wV +Vq +cX +Cl +ZQ +ZQ +"} +(38,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +hk +kG +kG +kG +kG +Cl +ZQ +ZQ +"} +(39,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +YZ +ZQ +ZQ +"} +(40,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +YZ +ZQ +ZQ +"} +(41,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +Xu +ZQ +ZQ +"} diff --git a/_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm b/_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm new file mode 100644 index 00000000000..f2e6b8f6dd6 --- /dev/null +++ b/_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm @@ -0,0 +1,9160 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ab" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1; + name = "Operations" + }, +/obj/effect/landmark/start/head_of_personnel, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"ah" = ( +/obj/machinery/computer/security{ + dir = 8; + icon_state = "computer-right" + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"ar" = ( +/obj/structure/closet/syndicate/personal{ + name = "operative's closet"; + populate = 0 + }, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/head/ngr, +/obj/machinery/camera/autoname, +/obj/structure/sign/poster/contraband/stechkin{ + pixel_x = -32 + }, +/turf/open/floor/pod/dark, +/area/ship/security) +"au" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"av" = ( +/obj/machinery/porta_turret/ship/ngr/light{ + dir = 9; + id = "kali_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) +"aA" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4; + name = "Port Thrusters"; + req_access_txt = "10" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/port) +"aL" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/newscaster/directional/west, +/obj/item/desk_flag/ngr{ + pixel_x = 11; + pixel_y = 15 + }, +/obj/machinery/fax/syndicate, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"aP" = ( +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/computer/cargo{ + icon_state = "computer-left" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"aR" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" + }, +/obj/effect/landmark/start/captain, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"aS" = ( +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/computer/monitor{ + icon_state = "computer-right" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"bg" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"bj" = ( +/obj/machinery/photocopier, +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/structure/sign/flag/ngr{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"bl" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"bm" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"bn" = ( +/obj/docking_port/stationary{ + dwidth = 10; + height = 15; + width = 30 + }, +/turf/template_noop, +/area/template_noop) +"bp" = ( +/obj/structure/marker_beacon{ + picked_color = "Lime" + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/external/dark) +"bq" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 5 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"bt" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"bv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/sign/warning/enginesafety{ + pixel_y = 32 + }, +/obj/effect/turf_decal/number/zero, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"bz" = ( +/obj/machinery/porta_turret/ship/ngr/light{ + dir = 10; + id = "kali_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering) +"bH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/bridge) +"bS" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/light/dim/directional/east, +/obj/machinery/power/ship_gravity, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500"; + layer = 2.04 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"bX" = ( +/obj/machinery/computer/card{ + dir = 8; + icon_state = "computer-right" + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"bY" = ( +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/engine/air, +/area/ship/engineering/atmospherics) +"ce" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"cf" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/binary/pump/layer2{ + dir = 8; + name = "distribution pump" + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"cg" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/corner/opaque/tan/mono, +/obj/machinery/airalarm/directional/east, +/obj/machinery/light/directional/south, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"ch" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"cj" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"ck" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"cu" = ( +/obj/machinery/door/airlock/hatch{ + dir = 8; + name = "Storage Bay" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"cJ" = ( +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/machinery/turretid/ship{ + id = "kali_grid"; + pixel_x = 3; + pixel_y = 24 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/item/cigbutt{ + pixel_x = 7; + pixel_y = -3 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"cL" = ( +/obj/effect/turf_decal/corner/opaque/tan/mono, +/obj/structure/sign/flag/ngr{ + pixel_y = 32 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"cX" = ( +/obj/effect/turf_decal/corner/opaque/white/full{ + color = "#c59973" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"cY" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"dc" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"df" = ( +/obj/machinery/suit_storage_unit/inherit{ + req_access_txt = "3" + }, +/obj/item/clothing/suit/space/syndicate/black/red, +/obj/item/clothing/head/helmet/space/syndicate/black/red, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"dh" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/external/dark) +"dj" = ( +/obj/machinery/porta_turret/ship/ngr/heavy{ + dir = 4; + id = "kali_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/external/dark) +"dr" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/tan, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"dt" = ( +/obj/machinery/porta_turret/ship/ngr/light{ + dir = 10; + id = "kali_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) +"dv" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"dD" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/item/book/manual/wiki/piloting{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"dE" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "kali_sec_shut" + }, +/turf/open/floor/plating, +/area/ship/security) +"dG" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/central) +"dM" = ( +/obj/structure/curtain/bounty, +/obj/effect/spawner/bunk_bed, +/turf/open/floor/carpet/red, +/area/ship/crew) +"dV" = ( +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"ed" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = 22 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"eh" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/item/pen{ + pixel_y = 4 + }, +/obj/structure/sign/flag/ngr{ + dir = 1; + pixel_y = -32 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"ex" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/computer/crew{ + dir = 8; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"eI" = ( +/obj/machinery/power/port_gen/pacman/super, +/obj/structure/cable/yellow, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/effect/turf_decal/radiation/white, +/obj/structure/railing, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"eJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/holopad/secure, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"eM" = ( +/obj/effect/turf_decal/corner/opaque/tan/mono, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"eN" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/item/radio/intercom/table{ + dir = 1; + pixel_x = 7; + pixel_y = 3 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"eS" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 1; + pixel_x = -6; + pixel_y = 3 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = 9; + pixel_y = 11 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"eT" = ( +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"eV" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"eX" = ( +/obj/structure/closet/syndicate/personal{ + name = "operative's closet"; + populate = 0 + }, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/head/ngr, +/turf/open/floor/pod/dark, +/area/ship/security) +"fa" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/closet/emcloset/wall/directional/north, +/obj/effect/turf_decal/hardline_small, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"fb" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Starboard Thrusters"; + req_access_txt = "10" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/starboard) +"fd" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "kali_bridge_shut" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"fe" = ( +/obj/structure/railing/corner, +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"fh" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/light/dim/directional/west, +/obj/machinery/power/smes/engineering, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"fj" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm) +"fn" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"fp" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"fz" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/hydrogen, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/light/dim/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"fD" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "kali_eng_shut" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"fF" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/trinary/mixer/airmix{ + dir = 4; + piping_layer = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"fH" = ( +/obj/machinery/porta_turret/ship/ngr{ + dir = 9; + id = "kali_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/hallway/central) +"fV" = ( +/obj/machinery/door/airlock/hatch{ + dir = 1; + name = "Restroom"; + req_ship_access = 0 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/toilet) +"fY" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = -7 + }, +/obj/machinery/button/door{ + dir = 4; + id = "kali_gym_shut"; + name = "Gym Shutters"; + pixel_x = -20; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"gq" = ( +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/tan, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -32; + pixel_y = 10 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/item/trash/can, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"gs" = ( +/obj/structure/sign/warning/gasmask, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/fore) +"gw" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/structure/sign/directions/supply{ + dir = 4; + pixel_y = 25 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"gx" = ( +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"gB" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"gF" = ( +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"gO" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/structure/table, +/obj/item/trash/plate, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"gQ" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"gT" = ( +/obj/structure/table, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/sign/poster/rilena/random{ + pixel_x = -32 + }, +/obj/item/stamp/ngr{ + pixel_x = 5; + pixel_y = 8 + }, +/obj/item/stamp/ngr/ensign{ + pixel_x = 7; + pixel_y = 2 + }, +/obj/item/flashlight/lamp{ + pixel_x = -7; + pixel_y = 10 + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = -4; + pixel_y = 3 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm/dormtwo) +"gU" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/atmospherics) +"gV" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"ha" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"hb" = ( +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"hg" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -19 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/south{ + pixel_x = -4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"hk" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack, +/obj/structure/chair/bench/orange/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"ho" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/structure/reagent_dispensers/water_cooler{ + pixel_x = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"hs" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/syndicate/surplus, +/obj/item/clothing/head/helmet/space/syndicate/surplus, +/obj/item/tank/internals/emergency_oxygen/engi, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"hB" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"hC" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"hG" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/structure/chair/bench/orange/directional/north, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"hI" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 1 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/obj/machinery/button/door{ + dir = 1; + id = "kali_bridge_shut"; + name = "Bridge Shutters"; + pixel_x = 3; + pixel_y = -20 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"hP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/bridge) +"ib" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"id" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"ik" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"is" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"iw" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/item/clothing/suit/space/syndicate/surplus, +/obj/item/clothing/head/helmet/space/syndicate/surplus, +/obj/item/tank/internals/emergency_oxygen/engi, +/turf/open/floor/pod/dark, +/area/ship/hallway/central) +"iC" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/electrical) +"iE" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"iI" = ( +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"iN" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"iO" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm/dormtwo) +"iS" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"ja" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/table/reinforced, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"jd" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"jj" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"jm" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"jL" = ( +/obj/machinery/door/airlock/hatch{ + dir = 8; + name = "Armory"; + normalspeed = 0; + req_access = list(3) + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security/armory) +"jM" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"jN" = ( +/obj/structure/closet/secure_closet/engineering_electrical{ + req_access = null; + req_access_txt = "11"; + req_one_access = null + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"ka" = ( +/obj/machinery/porta_turret/ship/ngr/light{ + dir = 5; + id = "kali_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security) +"kf" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"kg" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/structure/closet/crate/bin, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"ki" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 1 + }, +/obj/structure/punching_bag, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"kp" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"kA" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"kB" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan/half{ + dir = 4 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 8 + }, +/obj/item/folder/syndicate{ + pixel_y = 6 + }, +/obj/item/laser_pointer/red, +/obj/item/desk_flag/ngr{ + pixel_x = 11; + pixel_y = 15 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"kG" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor/westright{ + layer = 3.29; + req_access = list(3); + req_ship_access = 1 + }, +/obj/effect/turf_decal/corner/opaque/black/half{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "kali_armory_shut"; + layer = 3.3 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security/armory) +"kR" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/machinery/light/directional/north, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"kV" = ( +/obj/machinery/photocopier, +/obj/structure/sign/poster/contraband/bulldog{ + pixel_x = 32 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"lf" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"lu" = ( +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = -7 + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/extinguisher_cabinet/directional/west{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"lw" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ + dir = 6 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"lz" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/ship/hallway/central) +"lC" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"lD" = ( +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"lF" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/noticeboard{ + pixel_y = 28 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"lG" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"lI" = ( +/obj/machinery/door/airlock/hatch{ + dir = 8; + name = "Canteen"; + req_ship_access = 0 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"lK" = ( +/obj/structure/toilet{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/bridge) +"lP" = ( +/obj/structure/table, +/obj/item/flashlight/lamp{ + pixel_x = -8; + pixel_y = 4 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"lR" = ( +/obj/machinery/shower{ + pixel_y = 19 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/curtain, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/item/soap{ + pixel_x = -5; + pixel_y = 6 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"lW" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/bridge) +"lX" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"ma" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = 25; + req_access = null + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"mb" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1; + layer = 2.04 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 4; + layer = 2.038 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"md" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 4 + }, +/obj/structure/cabinet/fireaxe{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"mj" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 5 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"mn" = ( +/obj/effect/turf_decal/corner/opaque/white/full{ + color = "#c59973" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"mt" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/item/paper{ + pixel_x = -6; + pixel_y = 7 + }, +/obj/machinery/newscaster/directional/west, +/obj/machinery/light/small/directional/south, +/obj/item/stamp/ngr/captain{ + pixel_x = -7; + pixel_y = 8 + }, +/obj/item/stamp/ngr{ + pixel_x = 1; + pixel_y = 4 + }, +/obj/item/flashlight/lamp/green{ + pixel_x = 7; + pixel_y = 4 + }, +/obj/item/pen/fountain/captain{ + pixel_x = -4; + pixel_y = -1 + }, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"mv" = ( +/obj/machinery/atmospherics/pipe/manifold/yellow/hidden{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = -7 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/hardline_small/left, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"my" = ( +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"mA" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"mG" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/item/reagent_containers/food/drinks/bottle/patron{ + pixel_x = -6; + pixel_y = 16 + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/light/small/directional/south, +/obj/item/desk_flag/ngr{ + pixel_x = 8; + pixel_y = 15 + }, +/obj/item/reagent_containers/food/drinks/modglass{ + icon_state = "mglass-6-"; + pixel_x = 7; + pixel_y = 2 + }, +/obj/item/reagent_containers/food/drinks/modglass{ + icon_state = "mglass-6-"; + pixel_x = -3 + }, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"mK" = ( +/obj/structure/rack, +/obj/item/storage/box/bodybags{ + pixel_x = -10; + pixel_y = 12 + }, +/obj/item/storage/box/gloves{ + pixel_x = 6; + pixel_y = 10 + }, +/obj/item/storage/box/syringes{ + pixel_x = -8; + pixel_y = 2 + }, +/obj/item/reagent_containers/glass/bottle/formaldehyde{ + pixel_x = 8 + }, +/obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/light/small/directional/south, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -19 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"mN" = ( +/obj/structure/closet/secure_closet/armorycage{ + anchored = 1; + can_be_unanchored = 1; + name = "armor locker" + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/item/clothing/head/helmet/ngr{ + pixel_x = -8; + pixel_y = 7 + }, +/obj/item/clothing/head/helmet/ngr{ + pixel_x = -8; + pixel_y = 3 + }, +/obj/item/clothing/head/helmet/ngr{ + pixel_x = -8; + pixel_y = -1 + }, +/obj/item/clothing/head/helmet/ngr{ + pixel_x = -8; + pixel_y = -5 + }, +/obj/item/clothing/suit/armor/ngr{ + pixel_x = 8; + pixel_y = 7 + }, +/obj/item/clothing/suit/armor/ngr{ + pixel_x = 8; + pixel_y = 7 + }, +/obj/item/clothing/suit/armor/ngr{ + pixel_x = 8; + pixel_y = 7 + }, +/obj/item/storage/belt/security/webbing/ngr{ + pixel_x = 7; + pixel_y = -4 + }, +/obj/item/storage/belt/security/webbing/ngr{ + pixel_x = 7; + pixel_y = -4 + }, +/obj/item/storage/belt/security/webbing/ngr{ + pixel_x = 7; + pixel_y = -4 + }, +/obj/item/storage/belt/security/webbing/ngr{ + pixel_x = 7; + pixel_y = -4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"mO" = ( +/obj/structure/closet/secure_closet/armorycage{ + anchored = 1; + can_be_unanchored = 1; + name = "equipment locker" + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/obj/item/melee/knife/survival, +/obj/item/clothing/mask/gas/syndicate{ + pixel_x = -7; + pixel_y = 5 + }, +/obj/item/clothing/mask/gas/syndicate{ + pixel_x = -7; + pixel_y = 5 + }, +/obj/item/clothing/mask/gas/syndicate{ + pixel_x = -7; + pixel_y = 5 + }, +/obj/item/clothing/mask/gas/syndicate{ + pixel_x = -7; + pixel_y = 5 + }, +/obj/item/clothing/glasses/hud/security/sunglasses/ngr{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/clothing/glasses/hud/security/sunglasses/ngr{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/clothing/glasses/hud/security/sunglasses/ngr{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/clothing/glasses/hud/security/sunglasses/ngr{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/radio/headset/alt{ + pixel_x = -2; + pixel_y = -5 + }, +/obj/item/radio/headset/alt{ + pixel_x = -2; + pixel_y = -5 + }, +/obj/item/radio/headset/alt{ + pixel_x = -2; + pixel_y = -5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"mS" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/firealarm/directional/east, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"mU" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 12 + }, +/obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/light/small/directional/south, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"mW" = ( +/obj/structure/guncloset{ + anchored = 1; + can_be_unanchored = 1; + open = 0; + req_access_txt = "3" + }, +/obj/item/gun/ballistic/automatic/pistol/asp/no_mag, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/item/gun/ballistic/automatic/pistol/asp/no_mag, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"na" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/closet, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"ne" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/light/small/directional/east, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"nj" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/button/door{ + dir = 8; + id = "kali_starboard_engine_blast"; + name = "Engine Blast Doors"; + pixel_x = 20; + pixel_y = -3 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = 7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"nm" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 9 + }, +/obj/machinery/light/directional/west, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"np" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"nr" = ( +/obj/structure/toilet, +/obj/structure/curtain, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"ns" = ( +/obj/effect/turf_decal/techfloor{ + layer = 2.04 + }, +/obj/structure/closet/emcloset/wall/directional/east, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 8; + layer = 2.038 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"nw" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"nA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"nC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"nG" = ( +/obj/machinery/door/airlock/hatch{ + id_tag = "kali_bathroom_door"; + name = "Restroom"; + req_access_txt = "19" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"nH" = ( +/obj/structure/marker_beacon{ + picked_color = "Yellow" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"nJ" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"nT" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ + dir = 8; + piping_layer = 4 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"nV" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/camera/autoname{ + dir = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"oa" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/structure/chair/bench/orange/directional/west, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"oc" = ( +/obj/machinery/door/airlock/hatch{ + name = "Bridge"; + normalspeed = 0; + req_access_txt = "19" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"oi" = ( +/obj/structure/sign/number/random, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security/armory) +"ok" = ( +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"op" = ( +/obj/structure/tank_dispenser, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = -20 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"oD" = ( +/obj/machinery/door/airlock/hatch{ + id_tag = "kali_captain_door"; + name = "Captain's Quarters"; + req_access_txt = "20" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm/captain) +"oG" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/ship/medical) +"oR" = ( +/obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"oU" = ( +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"oW" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/atmospherics) +"pb" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/structure/closet/wardrobe/black{ + name = "wardrobe"; + populate = 0 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr, +/obj/item/radio/headset, +/obj/item/clothing/head/ngr, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"pl" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/folder/syndicate{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/pen/blue{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/pen/red{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/beige, +/obj/item/flashlight/lamp{ + pixel_x = -8; + pixel_y = 17 + }, +/obj/machinery/computer/helm/viewscreen/directional/west, +/obj/item/stamp/denied{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/stamp{ + pixel_x = -5; + pixel_y = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"pp" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/computer/atmos_alert{ + icon_state = "computer-left" + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"ps" = ( +/obj/structure/tank_dispenser, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = -20 + }, +/turf/open/floor/pod/dark, +/area/ship/hallway/central) +"pu" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"pv" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ + dir = 8; + piping_layer = 4 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/obj/machinery/button/door{ + dir = 1; + id = "kali_atmos_shut"; + name = "Atmospherics Shutters"; + pixel_x = 3; + pixel_y = -20 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"py" = ( +/obj/structure/chair/sofa/brown/left/directional/north, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/carpet/red, +/area/ship/crew) +"pB" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"pI" = ( +/obj/structure/bed{ + dir = 8 + }, +/obj/structure/curtain/cloth/fancy, +/obj/item/bedsheet/syndie{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"pP" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 8 + }, +/obj/structure/sign/poster/official/fruit_bowl{ + pixel_x = -32 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"pQ" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"pU" = ( +/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 8; + id = "kali_starboard_engine_blast"; + name = "Engine Blast Doors"; + pixel_x = 20; + pixel_y = -3 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = 7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"pX" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"pZ" = ( +/obj/structure/chair/sofa/brown/right/directional/west, +/obj/effect/landmark/start/assistant, +/obj/structure/sign/poster/contraband/aclf{ + pixel_x = 32 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"qa" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "kali_bridge_shut" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"qe" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 9 + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"ql" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 4 + }, +/obj/structure/closet/emcloset/wall/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"qo" = ( +/obj/effect/turf_decal/corner/opaque/tan/mono, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"qw" = ( +/obj/structure/curtain, +/obj/structure/window/reinforced, +/obj/machinery/shower{ + pixel_y = 19 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/item/soap/deluxe, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/bridge) +"qG" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"qI" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 10 + }, +/obj/structure/closet/wall/white/med{ + name = "medical doctor's locker"; + pixel_y = -28; + req_access_txt = "5" + }, +/obj/item/storage/backpack/duffelbag/syndie/med, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr, +/obj/item/clothing/suit/ngr/smock, +/obj/item/clothing/head/ngr/surgical, +/obj/item/clothing/glasses/hud/health, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/item/clothing/head/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/item/radio/headset, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/neck/shemagh/ngr, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"qN" = ( +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 22 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "kali_bathroom_door"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 3; + pixel_y = 23; + req_access_txt = "3"; + specialfunctions = 4 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/bridge) +"qP" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 4 + }, +/obj/machinery/light/dim/directional/west, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"qQ" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw, +/obj/machinery/light/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"qS" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 22 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/camera/autoname{ + dir = 6 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"rj" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) +"rm" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/light/small/directional/east, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"rs" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 1 + }, +/obj/machinery/light/directional/west, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"rv" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 12 + }, +/obj/structure/mirror{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/bridge) +"ry" = ( +/obj/structure/filingcabinet/double{ + density = 0; + dir = 4; + pixel_x = -10 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"rz" = ( +/obj/structure/sign/poster/contraband/gec{ + pixel_x = 32 + }, +/obj/structure/table, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/machinery/light/dim/directional/north, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = -9; + pixel_y = 15 + }, +/obj/item/instrument/guitar{ + pixel_x = -1; + pixel_y = 9 + }, +/obj/machinery/cell_charger, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"rA" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 6 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"rF" = ( +/obj/effect/turf_decal/techfloor{ + layer = 2.04 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"rI" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) +"rM" = ( +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = 7 + }, +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack, +/obj/machinery/button/door{ + dir = 4; + id = "kali_sec_shut"; + name = "Briefing Room Shutters"; + pixel_x = -20; + pixel_y = -3 + }, +/obj/item/trash/can, +/obj/item/cigbutt, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"rN" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"rS" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm/dormtwo) +"rY" = ( +/obj/machinery/shower{ + pixel_y = 19 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/curtain, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"rZ" = ( +/obj/structure/chair/comfy/grey/directional/east, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light_switch{ + pixel_x = 7; + pixel_y = 22 + }, +/obj/machinery/button/door{ + id = "kali_captain_door"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = -3; + pixel_y = 23; + req_access_txt = "3"; + specialfunctions = 4 + }, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"so" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/item/cigbutt, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"sA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"sF" = ( +/obj/machinery/power/shuttle/engine/fire{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"sJ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"sM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/engineering/electrical) +"sO" = ( +/obj/structure/bookcase/random/fiction, +/obj/machinery/firealarm/directional/north, +/obj/structure/sign/poster/syndicate/random{ + pixel_x = 32 + }, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"sV" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"tc" = ( +/obj/structure/bodycontainer/morgue, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"td" = ( +/obj/structure/railing{ + dir = 6; + layer = 4.1 + }, +/obj/machinery/autolathe/hacked, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"te" = ( +/obj/structure/sign/warning/vacuum{ + pixel_y = -10 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/fore) +"tf" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/closet/emcloset/wall/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"tm" = ( +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/engine/airless, +/area/ship/engineering/atmospherics) +"tr" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"tF" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"tG" = ( +/obj/effect/turf_decal/corner/opaque/white/full{ + color = "#c59973" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"tH" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"tN" = ( +/obj/structure/table/optable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"tO" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/syndicate/surplus, +/obj/item/clothing/head/helmet/space/syndicate/surplus, +/obj/machinery/airalarm/directional/north, +/obj/item/tank/internals/emergency_oxygen/engi, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"tR" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"tU" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Port Thrusters"; + req_access_txt = "10" + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/port) +"uh" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/hallway/fore) +"ui" = ( +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"ul" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"un" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 1; + id = "kali_entrance_holo"; + locked = 1 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "kali_entrance_blast" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/fore) +"uH" = ( +/obj/structure/closet/syndicate/personal{ + name = "operative's closet"; + populate = 0 + }, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/head/ngr, +/obj/structure/window/reinforced, +/turf/open/floor/pod/dark, +/area/ship/security) +"uN" = ( +/obj/structure/crate_shelf, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"uS" = ( +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"va" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"vk" = ( +/obj/structure/railing, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"vl" = ( +/obj/machinery/door/airlock/hatch{ + dir = 8; + name = "Armory"; + normalspeed = 0; + req_access = list(3) + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security/armory) +"vm" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan/half{ + dir = 4 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 8 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"vr" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/item/canvas/twentythreeXtwentythree, +/obj/item/canvas/twentythreeXtwentythree, +/obj/item/canvas/twentythreeXtwentythree, +/obj/item/canvas/twentythreeXtwentythree, +/obj/structure/closet/wall/directional/west{ + name = "spare display boards" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"vC" = ( +/obj/machinery/suit_storage_unit/inherit{ + req_access_txt = "3" + }, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/clothing/suit/space/hardsuit/syndi/ngr, +/obj/effect/turf_decal/corner/opaque/red{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"vJ" = ( +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/structure/table, +/obj/item/screwdriver, +/obj/effect/turf_decal/corner/opaque/red/mono, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"vP" = ( +/obj/machinery/portable_atmospherics/canister/hydrogen, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"vV" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"vZ" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/table/reinforced, +/obj/structure/noticeboard{ + dir = 8; + name = "menu board"; + pixel_x = 28; + pixel_y = 3 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 8; + pixel_y = 10 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = 11; + pixel_y = 4 + }, +/obj/item/storage/box/drinkingglasses{ + pixel_x = -2; + pixel_y = 7 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"wb" = ( +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"wh" = ( +/obj/structure/bed{ + dir = 1 + }, +/obj/item/bedsheet/syndie{ + dir = 1 + }, +/obj/structure/curtain/cloth/fancy, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"wj" = ( +/obj/machinery/door/airlock/hatch{ + dir = 8; + req_ship_access = 0 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"ws" = ( +/obj/structure/table, +/obj/item/storage/guncase{ + pixel_y = 4 + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"wv" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm/dormtwo) +"wx" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"wE" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"wG" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"wK" = ( +/obj/effect/spawner/bunk_bed{ + dir = 1 + }, +/obj/structure/curtain/bounty, +/obj/structure/sign/poster/syndicate/random{ + pixel_x = -32 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"wL" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"wM" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "kali_dorms_shut"; + name = "Crew Quarters Shutters"; + pixel_x = 3; + pixel_y = 23 + }, +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"wR" = ( +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/structure/chair{ + dir = 8 + }, +/obj/structure/sign/poster/syndicate/random{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"wY" = ( +/obj/effect/turf_decal/corner/opaque/white/full{ + color = "#c59973" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"xa" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"xe" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/machinery/light/dim/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"xi" = ( +/obj/structure/closet/syndicate/personal{ + name = "captain's closet"; + populate = 0 + }, +/obj/item/storage/backpack/security, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr/officer, +/obj/item/clothing/suit/armor/ngr/captain, +/obj/item/clothing/gloves/combat, +/obj/item/radio/headset/syndicate/alt/captain, +/obj/item/clothing/head/ngr/peaked, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/structure/sign/flag/ngr{ + dir = 1; + pixel_y = -32 + }, +/obj/item/megaphone, +/obj/item/storage/guncase/pistol/inherit, +/obj/item/gun/ballistic/revolver/viper/empty, +/obj/item/ammo_box/a357/empty, +/obj/item/ammo_box/a357/empty, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"xo" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/firealarm/directional/west, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ship/hallway/aft) +"xp" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines/port) +"xr" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 1 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"xA" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"xC" = ( +/obj/structure/mopbucket, +/obj/item/mop, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/pod, +/area/ship/hallway/aft) +"xH" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"xI" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible/layer2{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ + dir = 5 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"xM" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"xN" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "kali_dorms_shut" + }, +/turf/open/floor/plating, +/area/ship/crew) +"xO" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Starboard Thrusters"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/starboard) +"xP" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/fore) +"xU" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"xZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/carpet/red, +/area/ship/crew) +"ya" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/structure/closet/crate/bin, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + list_reagents = null; + pixel_x = 5; + pixel_y = 1 + }, +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -25 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"ye" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"yg" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central6{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"yi" = ( +/obj/effect/turf_decal/techfloor{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"ym" = ( +/obj/machinery/computer/cryopod/directional/west, +/obj/machinery/light_switch{ + pixel_x = 7; + pixel_y = 22 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = -4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"yo" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/clothing/suit/space/syndicate/surplus, +/obj/item/clothing/head/helmet/space/syndicate/surplus, +/obj/item/tank/internals/emergency_oxygen/engi, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"yz" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/sign/directions/security{ + dir = 4; + pixel_y = 25 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"yC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan/mono, +/obj/structure/sign/flag/ngr{ + dir = 1; + pixel_y = -32 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"yG" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/syndicate/surplus, +/obj/item/clothing/head/helmet/space/syndicate/surplus, +/obj/machinery/light/directional/north, +/obj/machinery/camera/autoname{ + dir = 8 + }, +/obj/item/tank/internals/emergency_oxygen/engi, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"yI" = ( +/obj/structure/easel{ + anchored = 1; + can_be_unanchored = 1; + name = "whiteboard stand" + }, +/obj/effect/turf_decal/corner/opaque/tan/mono, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = 7 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"yL" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + layer = 2.032 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/sign/directions/service{ + pixel_y = -20 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"yM" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"yN" = ( +/obj/machinery/door/airlock/hatch{ + dir = 8; + name = "Briefing Room"; + req_access = list(1) + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"yX" = ( +/obj/structure/chair/bench/orange/directional/west, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"zc" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"ze" = ( +/obj/structure/closet/crate/radiation{ + name = "fuel crate" + }, +/obj/effect/turf_decal/radiation/white, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/item/stack/sheet/mineral/uranium/ten, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"zg" = ( +/obj/machinery/defibrillator_mount/loaded{ + pixel_x = -25 + }, +/obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"zh" = ( +/obj/structure/bookcase/random/fiction, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/carpet/red, +/area/ship/crew) +"zj" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "engine fuel pump" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"zk" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/pipe_dispenser{ + pixel_x = 2; + pixel_y = 13 + }, +/obj/item/geiger_counter{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/item/storage/toolbox/syndicate{ + name = "syndicate toolbox"; + pixel_x = -2; + pixel_y = 1 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"zl" = ( +/obj/machinery/porta_turret/ship/ngr/light{ + dir = 5; + id = "kali_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/security/armory) +"zt" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 4 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"zx" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"zD" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1; + layer = 2.04 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"zG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/pod, +/area/ship/hallway/aft) +"zM" = ( +/obj/structure/closet/crate/trashcart, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ship/hallway/aft) +"zW" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"zZ" = ( +/obj/structure/closet/crate/freezer/blood, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 1 + }, +/obj/machinery/iv_drip, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"Ad" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Ai" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 6 + }, +/obj/item/pen/blue{ + pixel_x = -1; + pixel_y = 8 + }, +/obj/item/pen/red{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/machinery/computer/helm/viewscreen/directional/south, +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/item/radio/intercom/directional/east, +/obj/item/stamp/denied{ + pixel_x = -13; + pixel_y = 8 + }, +/obj/item/stamp{ + pixel_x = -13; + pixel_y = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"An" = ( +/obj/effect/landmark/start/shaft_miner, +/obj/machinery/button/door{ + id = "kali_entrance_blast"; + name = "Blast Door Control"; + pixel_x = -4; + pixel_y = 23 + }, +/obj/machinery/button/shieldwallgen{ + id = "kali_entrance_holo"; + pixel_x = 7; + pixel_y = 21 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"Ao" = ( +/obj/structure/railing, +/obj/structure/closet/crate, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/glass/twenty, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Aq" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"As" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/closet/emcloset/wall/directional/north, +/obj/machinery/firealarm/directional/west, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"AF" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"AL" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 1 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/pod/dark, +/area/ship/hallway/central) +"AR" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/machinery/microwave{ + pixel_y = 8 + }, +/obj/structure/table/reinforced, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"AV" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/tan, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 22 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"AX" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"AZ" = ( +/obj/item/gun/ballistic/automatic/smg/sidewinder/no_mag, +/obj/item/gun/ballistic/automatic/assault/hydra/dmr/no_mag, +/obj/effect/turf_decal/corner/opaque/red{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/structure/guncloset{ + anchored = 1; + can_be_unanchored = 1; + open = 0; + req_access_txt = "3" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"Ba" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/radio/intercom/directional/north, +/obj/item/cigbutt, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"Bb" = ( +/obj/structure/table, +/obj/item/toy/plush/nukeplushie{ + pixel_x = 10; + pixel_y = 14 + }, +/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ + pixel_y = 8 + }, +/obj/item/lighter{ + pixel_x = 7; + pixel_y = -2 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/sign/poster/syndicate/random{ + pixel_x = 32 + }, +/obj/machinery/newscaster/directional/south, +/obj/item/stamp/ngr{ + pixel_x = -10; + pixel_y = 7 + }, +/obj/item/stamp/ngr/lieutenant{ + pixel_x = -6 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"Bi" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Bk" = ( +/obj/machinery/door/airlock/hatch{ + dir = 1; + name = "Morgue"; + req_access_txt = "5" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech/grid, +/area/ship/medical) +"Bo" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/aft) +"Bt" = ( +/obj/machinery/door/airlock/hatch{ + dir = 1; + name = "Surgery" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech/grid, +/area/ship/medical) +"Bu" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"BA" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"BB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"BG" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack, +/obj/machinery/vending/coffee, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"BI" = ( +/obj/structure/table, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/item/storage/pill_bottle/dice{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/item/toy/cards/deck/syndicate{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = 7; + pixel_y = 14 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"BO" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 10 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"BT" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"BW" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/hallway/central) +"Ca" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/table/reinforced, +/obj/machinery/jukebox/boombox, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Ce" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Cf" = ( +/obj/effect/turf_decal/corner/opaque/tan, +/obj/effect/turf_decal/trimline/opaque/bar/corner, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Co" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump/layer4{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"Cs" = ( +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Ct" = ( +/obj/structure/sign/warning/docking{ + pixel_y = -8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/central) +"Cu" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan/half{ + dir = 4 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/closet/emcloset/wall/directional/south, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"CC" = ( +/obj/machinery/porta_turret/ship/ngr{ + dir = 6; + id = "kali_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/canteen) +"CF" = ( +/obj/structure/filingcabinet{ + density = 0; + dir = 8; + pixel_x = 10 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/corner/opaque/red/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"CK" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 10 + }, +/obj/structure/rack, +/obj/item/storage/box/masks{ + pixel_x = -8; + pixel_y = 8 + }, +/obj/item/storage/box/gloves{ + pixel_x = 6; + pixel_y = 10 + }, +/obj/item/storage/firstaid/regular{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"CQ" = ( +/obj/machinery/suit_storage_unit/inherit{ + req_access_txt = "3" + }, +/obj/item/clothing/suit/space/syndicate/black/red, +/obj/item/clothing/head/helmet/space/syndicate/black/red, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"Dd" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"Dk" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/item/trash/plate, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Do" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "kali_starboard_engine_blast" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"Dq" = ( +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Dt" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"Dz" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"DK" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = -7 + }, +/obj/machinery/button/door{ + dir = 4; + id = "kali_eng_shut"; + name = "Engineering Shutters"; + pixel_x = -20; + pixel_y = 4 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"DP" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Ea" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Ec" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Eg" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Eo" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/machinery/light/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Eq" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Es" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/power/smes/engineering, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"Et" = ( +/obj/structure/chair/bench/orange/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/newscaster/directional/north, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm/dormtwo) +"Ew" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/bar/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Ex" = ( +/obj/structure/chair/sofa/brown/corner/directional/west, +/obj/machinery/newscaster/directional/east, +/obj/machinery/camera/autoname{ + dir = 9 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"EC" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.04 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"EL" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Fa" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.04 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Fc" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"Ff" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4; + id_tag = "kali_ensign_door"; + name = "Ensign's Quarters"; + req_access_txt = "57" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm/dormtwo) +"Fi" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "kali_entrance_holo"; + locked = 1 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "kali_entrance_blast" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/fore) +"Fp" = ( +/obj/effect/turf_decal/corner/opaque/white/full{ + color = "#c59973" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/light/directional/north, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Fv" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"Fy" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4; + id_tag = "kali_lt_door"; + name = "Lieutenant's Quarters"; + req_access_txt = "58" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm) +"Fz" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"FD" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines/starboard) +"FE" = ( +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/weightmachine/weightlifter, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"FF" = ( +/obj/structure/railing, +/obj/structure/closet/wardrobe/cargotech{ + name = "wrecker's wardrobe"; + populate = 0 + }, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/under/syndicate/ngr/jumpsuit, +/obj/item/clothing/accessory/armband/cargo, +/obj/item/clothing/suit/hazardvest/ngr, +/obj/item/clothing/head/hardhat/ngr, +/obj/item/radio/headset/alt, +/obj/item/clothing/gloves/explorer, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/head/ngr, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/item/storage/belt/mining, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"FJ" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "engine fuel pump" + }, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"FQ" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Gh" = ( +/obj/structure/curtain/bounty, +/obj/effect/spawner/bunk_bed, +/obj/structure/sign/poster/syndicate/random{ + pixel_y = 32 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"Gm" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "engine fuel pump" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Gn" = ( +/obj/machinery/power/shuttle/engine/fire{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"Gv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = 7 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Gz" = ( +/obj/item/clothing/shoes/combat, +/obj/structure/closet/syndicate/personal{ + name = "lieutenant's closet"; + populate = 0 + }, +/obj/item/storage/backpack, +/obj/item/clothing/under/syndicate/ngr/officer, +/obj/item/clothing/suit/armor/ngr/lieutenant, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/head/ngr/peaked, +/obj/item/radio/headset/syndicate/alt, +/obj/item/clothing/glasses/hud/security/sunglasses, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/machinery/airalarm/directional/east, +/obj/machinery/firealarm/directional/north, +/obj/item/storage/belt/military/assault, +/obj/item/storage/guncase/pistol/asp, +/obj/item/megaphone, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"GD" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/mono, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"GE" = ( +/obj/machinery/door/airlock/hatch{ + dir = 1; + name = "Cryo Bay" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"GM" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/item/storage/box/gum/nicotine, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"GO" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 10 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"GP" = ( +/obj/structure/table/reinforced, +/obj/machinery/computer/secure_data/laptop{ + dir = 1; + pixel_y = 6 + }, +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"GR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/sink/kitchen{ + pixel_y = 20 + }, +/turf/open/floor/pod, +/area/ship/hallway/aft) +"GS" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"GV" = ( +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/item/radio/intercom/directional/east, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"GX" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Hg" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Hl" = ( +/obj/machinery/porta_turret/ship/ngr/light{ + dir = 5; + id = "kali_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"Hm" = ( +/obj/effect/turf_decal/corner/opaque/tan/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"Hn" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Hp" = ( +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = -20 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Hs" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Hx" = ( +/obj/machinery/computer/helm/viewscreen/directional/north, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"Hy" = ( +/obj/docking_port/stationary{ + dir = 2; + dwidth = 15; + height = 15; + width = 30 + }, +/turf/template_noop, +/area/template_noop) +"HE" = ( +/obj/structure/closet/secure_closet/engineering_personal{ + populate = 0 + }, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/item/storage/backpack/industrial, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/under/syndicate/ngr, +/obj/item/clothing/suit/hazardvest/ngr, +/obj/item/clothing/accessory/armband/engine, +/obj/item/clothing/head/hardhat/ngr, +/obj/item/storage/belt/utility, +/obj/machinery/light/dim/directional/east, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/head/ngr, +/obj/item/radio/headset/alt, +/obj/machinery/firealarm/directional/south, +/obj/item/clothing/mask/gas/syndicate, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"HH" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"HM" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"HQ" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -19 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Ic" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/syndicate/black/engie, +/obj/item/clothing/head/helmet/space/syndicate/black/engie, +/obj/item/clothing/shoes/magboots/syndie, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"Id" = ( +/obj/structure/sign/poster/syndicate/random{ + pixel_y = 32 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"If" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/toilet, +/obj/structure/curtain, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Ig" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"Ij" = ( +/obj/structure/marker_beacon{ + picked_color = "Lime" + }, +/obj/docking_port/mobile{ + dir = 4; + launch_status = 0; + port_direction = 2; + preferred_direction = 4 + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/external/dark) +"Im" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Iu" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"Iy" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = 7 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"ID" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 6 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = 7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"IP" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 22 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/extinguisher_cabinet/directional/north{ + pixel_x = 4 + }, +/obj/effect/turf_decal/number/left_four, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"IT" = ( +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"IW" = ( +/obj/effect/landmark/start/security_officer, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"Jd" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/landmark/start/station_engineer, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"Je" = ( +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Jg" = ( +/obj/structure/railing, +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = 5; + pixel_y = 11 + }, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"Jr" = ( +/obj/structure/closet/secure_closet/freezer{ + anchored = 1; + locked = 0; + name = "fridge" + }, +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/condiment/flour, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/condiment/sugar, +/obj/machinery/airalarm/directional/north, +/obj/machinery/camera/autoname{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"JF" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"JN" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"JV" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "kali_port_engine_blast" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"JY" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Kd" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/sign/directions/command{ + dir = 1; + pixel_y = 25 + }, +/obj/machinery/camera/autoname{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Ke" = ( +/obj/structure/table, +/obj/item/reagent_containers/glass/bucket, +/obj/item/pushbroom, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/airalarm/directional/north, +/obj/item/soap/syndie, +/turf/open/floor/pod, +/area/ship/hallway/aft) +"Kk" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 6 + }, +/obj/item/folder/white{ + pixel_y = 6 + }, +/obj/item/pen/blue{ + pixel_x = -1; + pixel_y = 8 + }, +/obj/item/pen/red{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige, +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"Kt" = ( +/obj/structure/bed{ + dir = 1 + }, +/obj/item/bedsheet/syndie{ + dir = 1 + }, +/obj/structure/curtain/cloth/fancy, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm/dormtwo) +"Ku" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/hatch{ + name = "Control Room"; + normalspeed = 0; + req_access_txt = "10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"Kz" = ( +/turf/template_noop, +/area/template_noop) +"KA" = ( +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{ + dir = 8; + piping_layer = 2 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/engine/air, +/area/ship/engineering/atmospherics) +"KF" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"KK" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "kali_mess_shut" + }, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"KO" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"KS" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"KU" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/structure/closet/wardrobe/black{ + name = "wardrobe"; + populate = 0 + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr, +/obj/item/radio/headset, +/obj/item/clothing/head/ngr, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 22 + }, +/obj/machinery/button/door{ + id = "kali_dorms_shut"; + name = "Crew Quarters Shutters"; + pixel_x = 3; + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"KX" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = 7 + }, +/obj/structure/extinguisher_cabinet/directional/west{ + pixel_y = -4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"KY" = ( +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Lf" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.04 + }, +/obj/machinery/light/floor/hangar, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Li" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/closet/emcloset/wall/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Lm" = ( +/obj/machinery/light/dim/directional/east, +/obj/structure/closet/secure_closet/engineering_welding{ + req_access = null; + req_access_txt = "11"; + req_one_access = null + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/obj/machinery/camera/autoname{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"Lp" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4; + name = "Starboard Thrusters"; + req_access_txt = "10" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/starboard) +"LB" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/machinery/vending/cola/sodie, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"LH" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/cryo) +"LK" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"LM" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"LP" = ( +/obj/structure/bed{ + dir = 1 + }, +/obj/item/bedsheet/medical{ + dir = 1 + }, +/obj/structure/curtain, +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"LV" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + layer = 2.04 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"LX" = ( +/obj/effect/turf_decal/corner/opaque/bottlegreen/mono, +/obj/effect/landmark/start/medical_doctor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"Ml" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/ship/engineering) +"Mq" = ( +/obj/machinery/porta_turret/ship/ngr/light{ + dir = 6; + id = "kali_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew) +"Mt" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "kali_gym_shut" + }, +/turf/open/floor/plating, +/area/ship/crew/ccommons) +"Mv" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"MC" = ( +/obj/structure/chair/office, +/turf/open/floor/carpet/red, +/area/ship/crew) +"ME" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"MI" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"MN" = ( +/obj/machinery/suit_storage_unit/inherit{ + name = "wrecker's suit storage unit"; + req_access_txt = "48" + }, +/obj/item/clothing/suit/space/syndicate/black/green, +/obj/item/clothing/head/helmet/space/syndicate/black/green, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/item/clothing/mask/gas/syndicate, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"MS" = ( +/obj/machinery/door/airlock/hatch{ + name = "Command Deck"; + normalspeed = 0; + req_access_txt = "19" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/aft) +"MT" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Infirmary" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/medical) +"MU" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Engineering"; + normalspeed = 0; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"Nc" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/hardline_small/right, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Np" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/sign/directions/engineering{ + dir = 8; + pixel_y = 25 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Nr" = ( +/obj/machinery/door/airlock/hatch{ + name = "Crew Quarters"; + req_ship_access = 0 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"Nt" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Nv" = ( +/obj/effect/turf_decal/corner/opaque/white/full{ + color = "#c59973" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"NA" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"NH" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/structure/sign/poster/contraband/hacking_guide{ + pixel_y = -32 + }, +/obj/machinery/light/dim/directional/west, +/obj/machinery/camera/autoname{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"NI" = ( +/obj/effect/turf_decal/corner/opaque/white/full{ + color = "#c59973" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = 7; + pixel_y = 22 + }, +/obj/machinery/button/door{ + id = "kali_mess_shut"; + name = "Canteen Shutters"; + pixel_x = -3; + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"NL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/filingcabinet/chestdrawer{ + density = 0; + dir = 4; + pixel_x = -6 + }, +/obj/item/folder/documents/syndicate/ngr, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"NM" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "engine fuel pump" + }, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"NQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 28 + }, +/obj/effect/turf_decal/number/right_five, +/obj/structure/chair/handrail, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"NU" = ( +/obj/effect/turf_decal/techfloor{ + layer = 2.04 + }, +/obj/structure/closet/crate, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Oa" = ( +/obj/structure/railing{ + dir = 10; + layer = 3.1 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Od" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"Ol" = ( +/obj/structure/rack, +/obj/machinery/airalarm/directional/south, +/obj/item/melee/axe/sledgehammer, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"On" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"Oq" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"Ot" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security/armory) +"Ow" = ( +/obj/machinery/holopad/emergency/command, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Ox" = ( +/obj/structure/railing{ + dir = 6; + layer = 4.1 + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/closet/emcloset/anchored, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"OC" = ( +/obj/structure/sign/poster/contraband/energy_swords{ + pixel_y = -32 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"OH" = ( +/obj/machinery/door/airlock/hatch{ + dir = 1; + name = "Custodial Closet" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"OK" = ( +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 22 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/machinery/button/door{ + id = "kali_armory_shut"; + name = "Desk Shutters"; + pixel_x = 4; + pixel_y = 23 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security/armory) +"ON" = ( +/obj/effect/turf_decal/techfloor{ + layer = 2.04 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/structure/closet/crate{ + name = "food crate" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"OR" = ( +/obj/structure/sink{ + dir = 1; + layer = 2.8; + pixel_y = -12 + }, +/obj/structure/mirror{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"OS" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Sensors" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 8 + }, +/obj/effect/landmark/start/head_of_security, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Pf" = ( +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/crew/cryo) +"Pg" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/canteen) +"Pl" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Pq" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Port Thrusters"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines/port) +"Pr" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/item/radio/intercom/directional/north, +/obj/machinery/atmospherics/components/binary/pump/layer4{ + dir = 8; + name = "waste pump" + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"Px" = ( +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = 7 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 4; + id = "kali_lt_door"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = -20; + pixel_y = -3; + req_access_txt = "3"; + specialfunctions = 4 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"Pz" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/ccommons) +"PG" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/toilet) +"PR" = ( +/obj/machinery/atmospherics/components/trinary/mixer/flipped/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/item/paper/guides/jobs/engi/combustion_thruster, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"PT" = ( +/obj/effect/turf_decal/corner/opaque/white/full{ + color = "#c59973" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = 7; + pixel_y = 22 + }, +/obj/machinery/button/door{ + id = "kali_mess_shut"; + name = "Canteen Shutters"; + pixel_x = -3; + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"PU" = ( +/obj/structure/crate_shelf, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"PW" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/machinery/door/poddoor/shutters{ + id = "kali_atmos_shut" + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"Qd" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Qj" = ( +/obj/structure/weightmachine/weightlifter, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"Ql" = ( +/obj/effect/turf_decal/corner/opaque/tan/mono, +/obj/machinery/light/directional/north, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"Qq" = ( +/obj/machinery/door/airlock/external, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"QI" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"QL" = ( +/obj/structure/tank_dispenser, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"QT" = ( +/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/button/door{ + dir = 8; + id = "kali_port_engine_blast"; + name = "Engine Blast Doors"; + pixel_x = 20; + pixel_y = 3 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = -7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Ra" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/bed/dogbed, +/mob/living/simple_animal/hostile/carp/cayenne{ + desc = "Originally the failed results of an ICW-era biological warfare program, this breed of docile space carp have become popular as pets on New Gorlex."; + environment_smash = 0; + faction = list("New Gorlex Republic","playerSyndicate"); + name = "Sirocco" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Rd" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Re" = ( +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Rh" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/camera/autoname{ + dir = 5 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"Rk" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Rp" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1; + layer = 2.04 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"RG" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan/half{ + dir = 4 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"RJ" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm/captain) +"RM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"RP" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"RQ" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/hatch{ + name = "Cargo Bay"; + req_ship_access = 0 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/fore) +"RX" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/components/trinary/mixer/flipped/layer2, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"Sc" = ( +/obj/structure/closet/syndicate/personal{ + name = "ensign's closet"; + populate = 0 + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr/officer, +/obj/item/clothing/suit/armor/ngr/lieutenant, +/obj/item/radio/headset/syndicate, +/obj/item/clothing/head/ngr, +/obj/item/clothing/neck/shemagh/ngr, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = 7 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 8; + id = "kali_ensign_door"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 20; + pixel_y = -3; + req_access_txt = "3"; + specialfunctions = 4 + }, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/machinery/firealarm/directional/south, +/obj/item/storage/guncase/pistol/pc76, +/obj/item/megaphone, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm/dormtwo) +"Sp" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/ccommons) +"Sq" = ( +/obj/machinery/porta_turret/ship/ngr/light{ + dir = 6; + id = "kali_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security/armory) +"SB" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.04 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/light/floor/hangar, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"SD" = ( +/obj/machinery/telecomms/relay/preset/mining{ + autolinkers = list("relay","hub"); + freq_listening = list(1213); + id = "NGR Relay"; + name = "NGR Relay"; + network = "ngr_commnet" + }, +/obj/machinery/door/window/brigdoor/westright{ + dir = 4; + req_access = list(20); + req_ship_access = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"SJ" = ( +/obj/structure/sign/warning/docking{ + pixel_y = -8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/canteen) +"SK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/engineering/electrical) +"SU" = ( +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "kali_starboard_engine_blast" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"Tm" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Tn" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/holopad/secure, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"To" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"Tr" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/machinery/advanced_airlock_controller{ + pixel_x = -25; + req_access = null + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/pod/dark, +/area/ship/hallway/central) +"Ts" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"Tv" = ( +/obj/structure/weightmachine/stacklifter, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"Ty" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security) +"TH" = ( +/obj/structure/chair/office, +/obj/machinery/light/directional/north, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"TJ" = ( +/obj/effect/spawner/bunk_bed{ + dir = 1 + }, +/obj/structure/curtain/bounty, +/obj/structure/sign/poster/rilena/random{ + pixel_x = -32 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"TK" = ( +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer2{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/engine/airless, +/area/ship/engineering/atmospherics) +"TL" = ( +/obj/machinery/door/airlock/hatch{ + name = "Canteen"; + req_ship_access = 0 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"TN" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/gloves{ + pixel_x = 6; + pixel_y = 12 + }, +/obj/item/storage/firstaid/medical{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = 32 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/medical) +"TQ" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"TS" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/structure/sign/poster/contraband/syndiemoth{ + pixel_x = -32 + }, +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"TV" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.04 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"TX" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"TZ" = ( +/obj/machinery/computer/apc_control{ + icon_state = "computer-right" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/turf/open/floor/pod/dark, +/area/ship/engineering) +"Ug" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Uh" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"Uk" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Um" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Ur" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/sink/kitchen{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Ut" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"UC" = ( +/obj/structure/sink{ + pixel_y = 20 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/half, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"UG" = ( +/obj/structure/closet/secure_closet/armorycage{ + anchored = 1; + can_be_unanchored = 1; + name = "ammunition locker" + }, +/obj/item/storage/box/ammo/c57x39{ + pixel_x = 13; + pixel_y = 1 + }, +/obj/item/storage/box/ammo/c57x39{ + pixel_x = 13; + pixel_y = 1 + }, +/obj/item/storage/box/ammo/a556_42{ + pixel_y = 1 + }, +/obj/item/storage/box/ammo/a357{ + pixel_x = -7; + pixel_y = 2 + }, +/obj/item/storage/box/ammo/c10mm{ + pixel_x = -7 + }, +/obj/item/storage/box/ammo/c10mm{ + pixel_x = -7 + }, +/obj/item/ammo_box/magazine/m57_39_asp{ + pixel_x = 14; + pixel_y = -7 + }, +/obj/item/ammo_box/magazine/m57_39_asp{ + pixel_x = 14; + pixel_y = -7 + }, +/obj/item/ammo_box/magazine/m556_42_hydra/small{ + pixel_x = 6; + pixel_y = -2 + }, +/obj/item/ammo_box/magazine/m556_42_hydra/small{ + pixel_x = 6; + pixel_y = -2 + }, +/obj/item/ammo_box/magazine/m57_39_sidewinder{ + pixel_x = 4; + pixel_y = -9 + }, +/obj/item/ammo_box/magazine/m57_39_sidewinder{ + pixel_x = 4; + pixel_y = -9 + }, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/item/ammo_box/magazine/m57_39_asp{ + pixel_x = 14; + pixel_y = -7 + }, +/obj/item/ammo_box/magazine/m57_39_asp{ + pixel_x = 14; + pixel_y = -7 + }, +/obj/structure/sign/poster/contraband/c20r{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"UM" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"UR" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"UY" = ( +/obj/machinery/light/dim/directional/north, +/turf/open/floor/carpet/red, +/area/ship/crew) +"Vd" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"Vk" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/structure/closet/crate/bin, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = 7 + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + list_reagents = null; + pixel_x = -4; + pixel_y = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Vm" = ( +/obj/effect/spawner/bunk_bed{ + dir = 1 + }, +/obj/structure/curtain/bounty, +/turf/open/floor/carpet/red, +/area/ship/crew) +"Vp" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -19 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Vq" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/beige, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Vs" = ( +/turf/open/floor/carpet/red, +/area/ship/crew) +"Vt" = ( +/obj/effect/landmark/start/security_officer, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Vx" = ( +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"VA" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"VD" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "kali_entrance_blast" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/fore) +"VG" = ( +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "kali_port_engine_blast" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"VU" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/turf/open/floor/carpet/red, +/area/ship/crew) +"Wg" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/structure/closet/wardrobe/black{ + name = "wardrobe"; + populate = 0 + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr, +/obj/item/radio/headset, +/obj/item/clothing/head/ngr, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Wj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"Wo" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central6{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Wr" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Wu" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Ww" = ( +/obj/structure/weightmachine/stacklifter, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/beige, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"WC" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"WK" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"WN" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"WQ" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 4; + layer = 2.038 + }, +/obj/effect/turf_decal/techfloor{ + layer = 2.04 + }, +/obj/structure/extinguisher_cabinet/directional/west{ + pixel_y = -4 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = 7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"WS" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 8 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"WT" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Xd" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1; + layer = 2.04 + }, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 8; + layer = 2.038 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Xl" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/tan, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/jukebox/boombox, +/obj/structure/sign/poster/syndicate/random{ + pixel_y = -32 + }, +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = 9; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"Xq" = ( +/obj/structure/railing{ + dir = 6; + layer = 4.1 + }, +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = 5; + pixel_y = 11 + }, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Xw" = ( +/obj/machinery/door/airlock/hatch{ + dir = 8; + name = "Rec Room"; + req_ship_access = 0 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/ccommons) +"Xx" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/cargo) +"XN" = ( +/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "kali_bridge_shut" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"XP" = ( +/obj/structure/dresser{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"XY" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 8; + id = "kali_port_engine_blast"; + name = "Engine Blast Doors"; + pixel_x = 20; + pixel_y = 3 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = -7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"Yb" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/bar/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Ym" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/medical) +"YC" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1; + layer = 2.04 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"YF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/carpet/red, +/area/ship/crew) +"YK" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bar/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"YT" = ( +/obj/effect/turf_decal/corner/opaque/white/full{ + color = "#c59973" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"YV" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"YX" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/tan, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.04 + }, +/obj/structure/reagent_dispensers/water_cooler{ + pixel_x = -3 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"YY" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Zb" = ( +/obj/machinery/door/airlock/hatch{ + dir = 8; + name = "Cargo Bay"; + req_ship_access = 0 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/fore) +"Zh" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Zj" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"Zp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 1 + }, +/obj/machinery/door/airlock/hatch{ + name = "Life Support"; + normalspeed = 0; + req_access_txt = "10" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/atmospherics) +"Zs" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"Zv" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"ZE" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/bottlegreen/half{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"ZI" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"ZJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"ZM" = ( +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/machinery/light/directional/west, +/obj/structure/chair/bench/orange/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"ZO" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/table/reinforced, +/obj/item/melee/knife, +/obj/item/cutting_board{ + pixel_y = 3 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"ZY" = ( +/obj/machinery/washing_machine, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"ZZ" = ( +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/medical) + +(1,1,1) = {" +Kz +Kz +Kz +nH +Kz +Kz +Kz +xp +sF +xp +sF +xp +Kz +Kz +FD +Gn +FD +Gn +FD +Kz +Kz +Kz +nH +Kz +Kz +"} +(2,1,1) = {" +Kz +Kz +Kz +xp +Ig +xp +Ig +xp +VG +xp +VG +xp +Kz +Kz +FD +SU +FD +SU +FD +jM +FD +jM +FD +Kz +Kz +"} +(3,1,1) = {" +Kz +Kz +Kz +xp +JV +xp +JV +xp +Gm +dc +NM +xp +iC +iC +FD +zj +Iu +FJ +FD +Do +FD +Do +FD +Kz +Kz +"} +(4,1,1) = {" +Kz +Kz +Kz +xp +XY +Wo +cY +tU +BO +ne +QT +Pq +mv +Hg +xO +pU +rm +qe +fb +KS +yg +nj +FD +Kz +Kz +"} +(5,1,1) = {" +Kz +Kz +Kz +xp +xp +aA +xp +xp +xp +xp +xp +xp +fa +fe +iC +iC +iC +iC +FD +FD +Lp +FD +FD +Kz +Kz +"} +(6,1,1) = {" +Kz +Kz +Kz +oW +gU +BB +rA +fz +vP +Rh +Uh +Zp +Nc +Ao +fh +oU +eI +qP +Ku +DK +bm +NH +ce +Kz +Kz +"} +(7,1,1) = {" +Kz +Kz +Kz +fn +PW +xI +RX +PR +lw +Fv +pv +gU +NQ +td +Es +dV +eI +sM +Ml +pp +eJ +kg +fD +Kz +Kz +"} +(8,1,1) = {" +Kz +Kz +Kz +Kz +gU +Pr +Ts +Co +fF +BT +nT +gU +bv +SK +ck +sA +nA +kf +Ml +TZ +Jd +zk +ce +Kz +Kz +"} +(9,1,1) = {" +Kz +Kz +Kz +Kz +gU +tR +zx +nJ +LM +cf +sV +gU +IP +Oa +bS +ze +jN +Lm +ce +rz +wx +so +ce +Kz +Kz +"} +(10,1,1) = {" +Kz +Kz +Kz +Kz +gU +TK +tm +gU +bY +KA +gU +gU +MU +iC +LH +LH +LH +LH +LH +ce +Ic +HE +ce +bz +Kz +"} +(11,1,1) = {" +Kz +Kz +Kz +rj +VA +VA +VA +VA +rS +rS +rS +rS +Np +Vp +LH +ym +Ox +TQ +Zv +Pg +Pg +Pg +Pg +Pg +Kz +"} +(12,1,1) = {" +av +VA +VA +VA +SD +VA +qw +lK +rS +Et +gT +rS +tf +GS +GE +LV +Pf +To +bt +Pg +ma +wb +au +uS +Hy +"} +(13,1,1) = {" +VA +aL +pl +ry +dr +nG +hP +lW +rS +wv +Kt +rS +tH +GX +LH +lF +na +jj +mj +Pg +ed +yo +QL +SJ +Kz +"} +(14,1,1) = {" +XN +aP +ab +MI +ho +VA +qN +rv +rS +iO +Sc +rS +zc +Hs +LH +LH +LH +LH +LH +Pg +WK +Pg +Pg +CC +Kz +"} +(15,1,1) = {" +XN +aS +LK +Ow +ya +VA +VA +VA +rS +Ff +rS +rS +Kd +Yb +GO +Pg +LB +TS +ZM +iS +sJ +gq +Pg +Pg +Kz +"} +(16,1,1) = {" +VA +bj +LK +bg +hC +oc +ib +lX +pX +AF +rN +MS +Eg +Ec +yL +Pg +NI +YT +YT +YT +Nv +FQ +Je +KK +Kz +"} +(17,1,1) = {" +VA +cJ +OS +bl +hI +VA +qS +md +ql +tF +vV +Bo +AV +YK +lC +TL +WN +Wr +Wr +Vq +tG +gO +KF +Pg +Kz +"} +(18,1,1) = {" +VA +ex +ah +Xq +bH +RJ +RJ +RJ +RJ +Fy +fj +fj +fj +JY +TX +Pg +AR +Ug +Ca +Dq +mn +qG +ok +KK +Kz +"} +(19,1,1) = {" +XN +eN +NL +Ra +ik +RJ +rZ +mt +RJ +On +Px +wh +fj +Pl +Fz +JN +ZO +Uk +ja +Dq +wY +BA +Hp +Pg +Kz +"} +(20,1,1) = {" +XN +eS +aR +RM +xU +oD +mA +xi +RJ +Gz +yX +Bb +fj +Nt +Ea +Pg +Jr +Ur +vZ +Re +cX +WT +Dk +KK +Kz +"} +(21,1,1) = {" +XN +qa +eT +bX +dD +RJ +Hx +pI +RJ +fj +fj +fj +fj +NA +Eo +PG +PG +PG +PG +PG +Fp +qG +wR +Pg +Kz +"} +(22,1,1) = {" +Kz +fd +fd +fd +VA +RJ +sO +mG +RJ +GR +xo +zG +OH +DP +xa +PG +nr +Ut +ZY +PG +PT +Tm +Pg +Pg +Kz +"} +(23,1,1) = {" +Kz +Kz +Kz +Kz +Kz +Ym +Ym +Ym +Ym +Ke +xC +zM +Bo +Eq +HM +PG +If +UR +lD +PG +lI +JN +Pg +Kz +Kz +"} +(24,1,1) = {" +Kz +Kz +Kz +Kz +Kz +Ym +tc +mK +Ym +Ym +Ym +Ym +Ym +dG +wj +PG +lR +Vd +OR +PG +wM +hG +rI +Kz +Kz +"} +(25,1,1) = {" +Kz +Kz +Kz +Kz +Kz +Ym +QI +oR +Bk +pP +LP +zZ +Ym +YY +HQ +PG +rY +mS +Gv +fV +wE +xe +rI +dt +Kz +"} +(26,1,1) = {" +Kz +Kz +Kz +Kz +Kz +Ym +Ym +Ym +Ym +UC +GD +CK +Ym +lf +pQ +PG +PG +PG +PG +PG +Li +Vs +zh +rI +Kz +"} +(27,1,1) = {" +Kz +Kz +Kz +Kz +Kz +Ym +tN +zg +Bt +gQ +LX +qI +Ym +ch +iE +dG +TJ +Vm +wK +XP +np +MC +lP +xN +Kz +"} +(28,1,1) = {" +Kz +Kz +Kz +Kz +Kz +Ym +TN +mU +Ym +Kk +ZE +hg +Ym +gw +Bu +dG +UY +xZ +YF +IT +is +Vs +eh +rI +Kz +"} +(29,1,1) = {" +Kz +Kz +Kz +Kz +Kz +Ym +Ym +Ym +Ym +Ym +oG +MT +ZZ +nw +iE +dG +Gh +VU +dM +Cs +np +Vs +Vs +xN +Kz +"} +(30,1,1) = {" +Kz +Kz +Kz +Kz +BW +dG +iI +nm +nV +WS +Mv +Aq +Ce +Ew +qQ +dG +KU +pb +Wg +tr +Ad +BI +py +rI +Kz +"} +(31,1,1) = {" +Kz +Kz +Kz +fH +dG +dG +ui +WC +ha +ha +ha +id +ha +kp +AX +Nr +Qd +JF +ye +Rd +dv +pZ +Ex +xN +Kz +"} +(32,1,1) = {" +Kz +Kz +Kz +dG +dG +dG +dG +xr +Cf +xM +zt +yM +Rk +EC +ID +lz +cj +oa +Zh +ZI +Vk +rI +rI +Mq +Kz +"} +(33,1,1) = {" +Kz +Kz +bn +gx +Tr +AL +Qq +xH +Wu +xP +xP +xP +xP +Zb +xP +xP +xP +Pz +Pz +Xw +Pz +Pz +Kz +Kz +Kz +"} +(34,1,1) = {" +Kz +Kz +Kz +Ct +iw +ps +dG +yz +Iy +xP +As +uh +rs +EL +KX +Ol +xP +Ww +fY +zW +Xl +Pz +Kz +Kz +Kz +"} +(35,1,1) = {" +Kz +Kz +Kz +ka +Ty +Ty +Ty +yN +Ty +Ty +An +GM +YV +ZJ +Im +op +xP +Tv +kA +UM +Fc +Mt +Kz +Kz +Kz +"} +(36,1,1) = {" +Kz +Kz +Kz +Ty +ar +eX +uH +nC +rM +Ty +TH +Jg +RP +Hn +KY +Dd +xP +YX +TV +Qj +HH +Pz +Kz +Kz +Kz +"} +(37,1,1) = {" +Kz +Kz +Kz +Ty +fp +xA +xA +ul +BG +Ty +Ba +vk +lG +Um +jm +Oq +RQ +Sp +yi +FE +Fc +Mt +Kz +Kz +Kz +"} +(38,1,1) = {" +Kz +Kz +Kz +dE +IW +pB +pB +Dt +hk +Ty +MN +FF +SB +Fa +Lf +Vx +xP +Dz +jd +hb +hB +Pz +Kz +Kz +Kz +"} +(39,1,1) = {" +Kz +Kz +Kz +Ty +IW +Vt +pB +Wj +Ty +Ty +xP +te +Fi +VD +un +gs +xP +Id +wG +KO +ki +Pz +Kz +Kz +Kz +"} +(40,1,1) = {" +Kz +Kz +Kz +dE +iN +Tn +Bi +OC +Ty +bq +dj +pu +Kz +Kz +Kz +Kz +Zj +Zj +cu +Zj +Zj +Zj +Kz +Kz +Kz +"} +(41,1,1) = {" +Kz +Kz +Kz +Ty +vm +kB +RG +Cu +Ty +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Zj +kR +mb +WQ +PU +Zj +Kz +Kz +Kz +"} +(42,1,1) = {" +Kz +Kz +Kz +Ty +cL +qo +eM +yC +Ty +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Zj +Zs +Rp +ON +uN +Zj +Kz +Kz +Kz +"} +(43,1,1) = {" +Kz +Kz +Kz +Ty +Ql +yI +Hm +cg +Ty +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Zj +hs +zD +rF +uN +Zj +Kz +Kz +Kz +"} +(44,1,1) = {" +Kz +Kz +Kz +Ot +jL +Ot +kG +Ot +Ot +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Zj +tO +YC +NU +uN +Zj +Kz +Kz +Kz +"} +(45,1,1) = {" +Kz +Kz +Kz +Ot +OK +vr +va +GP +Ot +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Zj +yG +Xd +ns +PU +Zj +Kz +Kz +Kz +"} +(46,1,1) = {" +Kz +Kz +Kz +oi +kV +CF +Od +Ai +Ot +Ot +Kz +Kz +Kz +Kz +Kz +Kz +Hl +Zj +Zj +Zj +Zj +Xx +Kz +Kz +Kz +"} +(47,1,1) = {" +Kz +Kz +Kz +oi +Ot +Ot +vl +Ot +Ot +Ot +Kz +Kz +Kz +Kz +Kz +Kz +Kz +dh +Kz +dh +Kz +Kz +Kz +Kz +Kz +"} +(48,1,1) = {" +Kz +Kz +Kz +oi +mN +lu +eV +ME +CQ +Ot +Kz +Kz +Kz +Kz +Kz +Kz +Kz +dh +Kz +dh +Kz +Kz +Kz +Kz +Kz +"} +(49,1,1) = {" +Kz +Kz +Kz +oi +mO +gV +vJ +wL +df +Ot +Kz +Kz +Kz +Kz +Kz +Kz +Kz +dh +Kz +dh +Kz +Kz +Kz +Kz +Kz +"} +(50,1,1) = {" +Kz +Kz +Kz +Ot +mW +gV +ws +wL +CQ +Ot +Kz +Kz +Kz +Kz +Kz +Kz +Kz +dh +Kz +dh +Kz +Kz +Kz +Kz +Kz +"} +(51,1,1) = {" +Kz +Kz +gB +Ot +AZ +GV +UG +my +vC +Ot +Kz +Kz +Kz +Kz +Kz +Kz +Kz +dh +Kz +bp +Kz +Kz +Kz +Kz +Kz +"} +(52,1,1) = {" +Kz +Kz +gF +zl +Ot +Ot +Ot +Ot +Ot +Sq +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Ij +Kz +Kz +Kz +Kz +Kz +Kz +Kz +"} +(53,1,1) = {" +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +Kz +"} diff --git a/_maps/shuttles/syndicate/syndicate_panacea.dmm b/_maps/shuttles/syndicate/syndicate_panacea.dmm index 37da1537e6a..07e97b2a76d 100644 --- a/_maps/shuttles/syndicate/syndicate_panacea.dmm +++ b/_maps/shuttles/syndicate/syndicate_panacea.dmm @@ -47,7 +47,7 @@ /turf/open/floor/plasteel/sepia, /area/ship/crew/ccommons) "az" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/suns/diagonal{ color = "#543C30" }, @@ -887,7 +887,7 @@ /turf/open/floor/suns/dark/plain, /area/ship/crew/office/lobby) "fG" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /turf/open/floor/suns/dark, @@ -2877,7 +2877,7 @@ pixel_x = 8; pixel_y = -6 }, -/obj/item/clothing/suit/armor/vest/bulletproof/suns/xo{ +/obj/item/clothing/suit/armor/vest/suns/xo{ pixel_y = 7; pixel_x = -5 }, @@ -3100,7 +3100,7 @@ pixel_x = 6; pixel_y = -9 }, -/obj/item/clothing/suit/armor/vest/bulletproof/suns/captain{ +/obj/item/clothing/suit/armor/vest/suns/captain{ pixel_y = -1 }, /obj/item/clothing/under/syndicate/suns/captain{ @@ -4895,7 +4895,7 @@ pixel_x = -1; pixel_y = 4 }, -/obj/item/clothing/suit/armor/vest/bulletproof/suns{ +/obj/item/clothing/suit/armor/vest/suns{ pixel_y = 4; pixel_x = 8 }, @@ -6072,7 +6072,7 @@ /area/ship/external/dark) "JJ" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/store/cake/lemon{ +/obj/item/food/cake/lemon{ pixel_y = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -6496,15 +6496,15 @@ /area/ship/crew/dorm/dormtwo) "LY" = ( /obj/structure/table, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ pixel_x = -2; pixel_y = 11 }, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ pixel_y = 8; pixel_x = -8 }, -/obj/item/reagent_containers/food/condiment/enzyme{ +/obj/item/reagent_containers/condiment/enzyme{ pixel_y = 14; pixel_x = 14 }, @@ -6798,15 +6798,15 @@ /area/ship/crew/office) "Nz" = ( /obj/structure/table, -/obj/item/reagent_containers/food/condiment/mayonnaise{ +/obj/item/reagent_containers/condiment/mayonnaise{ pixel_x = 2; pixel_y = 15 }, -/obj/item/reagent_containers/food/condiment/ketchup{ +/obj/item/reagent_containers/condiment/ketchup{ pixel_x = 11; pixel_y = 10 }, -/obj/item/reagent_containers/food/condiment/hotsauce{ +/obj/item/reagent_containers/condiment/hotsauce{ pixel_y = 16; pixel_x = -8 }, @@ -7126,7 +7126,7 @@ /turf/open/floor/carpet/red, /area/ship/crew/dorm/dormtwo) "Qi" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /turf/open/floor/suns/diagonal{ color = "#543C30" }, @@ -7344,7 +7344,7 @@ /obj/item/cutting_board{ pixel_y = 3 }, -/obj/item/kitchen/knife/butcher{ +/obj/item/melee/knife/butcher{ pixel_y = 4; pixel_x = 4 }, @@ -7453,7 +7453,7 @@ /area/ship/crew/dorm/dormthree) "RE" = ( /obj/structure/table/optable, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /turf/open/floor/suns/dark/plain, /area/ship/medical) "RG" = ( @@ -8163,7 +8163,7 @@ /area/ship/engineering) "Wr" = ( /obj/machinery/light/directional/north, -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /turf/open/floor/suns/dark/plain, /area/ship/crew/ccommons) "Wu" = ( diff --git a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm index baa36e96898..9733b24df71 100644 --- a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm +++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm @@ -83,47 +83,6 @@ }, /turf/open/floor/mineral/plastitanium, /area/ship/bridge) -"aD" = ( -/obj/structure/sign/poster/contraband/m90{ - icon_state = "poster-m90"; - pixel_x = -32 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ - dir = 9 - }, -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "syndicate"; - name = "lieutenant locker"; - req_access = list(3,150) - }, -/obj/item/clothing/under/syndicate/ngr/officer, -/obj/item/clothing/suit/armor/ngr/captain, -/obj/item/clothing/head/ngr/peaked, -/obj/item/clothing/shoes/combat, -/obj/item/megaphone/sec{ - name = "syndicate megaphone" - }, -/obj/item/storage/pistolcase/stechkin, -/obj/item/clothing/head/HoS/beret/syndicate, -/obj/item/radio/headset/syndicate/alt/leader, -/obj/item/clothing/gloves/krav_maga/combatglovesplus, -/obj/item/ammo_box/magazine/m10mm/ap, -/obj/item/ammo_box/magazine/m10mm/ap, -/obj/item/clothing/suit/armor/hos/trenchcoat, -/obj/machinery/button/door{ - pixel_x = 9; - pixel_y = 25; - id = "twinkle_armory"; - name = "Armory Access"; - req_access = list(3,150) - }, -/obj/item/ammo_box/c10mm, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) "aE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -132,9 +91,36 @@ }, /turf/open/floor/plating, /area/ship/engineering/atmospherics) +"aF" = ( +/obj/structure/rack, +/obj/item/gun/ballistic/shotgun/automatic/bulldog/no_mag{ + pixel_x = -7; + pixel_y = 7 + }, +/obj/item/gun/ballistic/shotgun/automatic/bulldog/no_mag{ + pixel_y = -3; + pixel_x = 2 + }, +/obj/machinery/light/directional/north, +/obj/item/ammo_box/magazine/m12g_bulldog/drum{ + pixel_x = -8; + pixel_y = -4 + }, +/obj/item/ammo_box/magazine/m12g_bulldog/drum{ + pixel_y = -7 + }, +/obj/item/ammo_box/magazine/m12g_bulldog/drum{ + pixel_y = -9; + pixel_x = -10 + }, +/obj/item/ammo_box/magazine/m12g_bulldog/drum{ + pixel_y = -12 + }, +/turf/open/floor/mineral/plastitanium, +/area/ship/security/armory) "aG" = ( /obj/structure/closet/secure_closet/wall/directional/east, -/obj/item/kitchen/knife, +/obj/item/melee/knife/kitchen, /obj/item/cutting_board, /obj/item/clothing/under/suit/waiter/syndicate, /obj/item/clothing/suit/hazardvest/donk, @@ -277,11 +263,6 @@ "bQ" = ( /obj/effect/turf_decal/corner/opaque/syndiered/bordercorner, /obj/machinery/light/directional/north, -/obj/machinery/turretid{ - pixel_y = 32; - req_access = null; - req_access_txt = "150" - }, /obj/effect/turf_decal/spline/fancy/opaque/black/corner, /obj/effect/turf_decal/corner/opaque/syndiered/bordercorner{ dir = 4 @@ -291,7 +272,7 @@ "bR" = ( /obj/effect/turf_decal/corner/opaque/syndiered/three_quarters, /obj/machinery/light/directional/south, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/borderfloorblack{ dir = 1 }, @@ -377,7 +358,7 @@ /area/ship/medical) "cp" = ( /obj/structure/closet/emcloset, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /obj/item/trash/syndi_cakes, /turf/open/floor/plating, /area/ship/engineering/atmospherics) @@ -834,7 +815,7 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "eQ" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/pod/dark, /area/ship/engineering/atmospherics) "eR" = ( @@ -898,31 +879,6 @@ "fH" = ( /turf/open/floor/engine, /area/ship/engineering/engine) -"fJ" = ( -/obj/structure/closet/secure_closet/security{ - populate = 0; - icon_state = "syndicate"; - name = "operative's locker" - }, -/obj/item/clothing/suit/armor/vest/syndie, -/obj/item/clothing/head/helmet/operator, -/obj/item/gun/ballistic/automatic/pistol/syndicate/no_mag, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/storage/belt/security/webbing{ - name = "syndicate webbing"; - desc = "Unique and versatile chest rig, can hold syndicate gear." - }, -/obj/item/radio/headset/syndicate/alt{ - keyslot = null - }, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/gloves/color/black, -/obj/machinery/light/directional/east, -/obj/item/flashlight/seclite, -/obj/item/kitchen/knife/combat, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) "fK" = ( /obj/machinery/light/directional/south, /turf/open/floor/mineral/plastitanium/red, @@ -1195,6 +1151,30 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech, /area/ship/hallway/port) +"hh" = ( +/obj/structure/closet/secure_closet/engineering_personal{ + req_access = list(150,10); + populate = 0 + }, +/obj/effect/turf_decal/corner/opaque/orange{ + dir = 10 + }, +/obj/machinery/light/directional/south, +/obj/item/clothing/shoes/magboots/syndie, +/obj/item/clothing/head/helmet/space/syndicate/black/engie, +/obj/item/clothing/suit/space/syndicate/black/engie, +/obj/item/pipe_dispenser, +/obj/item/storage/belt/utility/syndicate, +/obj/item/clothing/under/syndicate/gec, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/head/hardhat/red{ + name = "hard hat" + }, +/obj/item/gun/energy/plasmacutter, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) "hr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -1218,6 +1198,33 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/bridge) +"hB" = ( +/obj/effect/turf_decal/corner/opaque/orange/three_quarters{ + dir = 1 + }, +/obj/item/clothing/under/syndicate/gec, +/obj/item/clothing/shoes/magboots/syndie, +/obj/item/clothing/head/helmet/space/syndicate/black/engie, +/obj/item/clothing/suit/space/syndicate/black/engie, +/obj/structure/closet/secure_closet/engineering_personal{ + req_access = list(150,10); + populate = 0 + }, +/obj/item/pipe_dispenser, +/obj/structure/sign/poster/contraband/gec{ + pixel_y = -32 + }, +/obj/item/storage/belt/utility/syndicate, +/obj/item/clothing/under/syndicate/gec, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/head/hardhat/red{ + name = "hard hat" + }, +/obj/item/gun/energy/plasmacutter, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) "hN" = ( /obj/effect/turf_decal/corner/opaque/orange{ dir = 5 @@ -1547,6 +1554,15 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech/grid, /area/ship/bridge) +"iX" = ( +/obj/machinery/porta_turret/ship/syndicate/heavy{ + dir = 10; + id = "twink_grid" + }, +/turf/closed/wall/r_wall/syndicate/nodiagonal{ + rad_insulation = 0 + }, +/area/ship/engineering/atmospherics) "iZ" = ( /obj/effect/turf_decal/trimline/opaque/syndiered/filled/line{ dir = 1 @@ -1580,7 +1596,7 @@ /obj/effect/turf_decal/corner/opaque/syndiered/half{ dir = 4 }, -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8; icon_state = "computer-left" }, @@ -1793,7 +1809,7 @@ /obj/item/codespeak_manual{ charges = 2 }, -/obj/item/storage/pistolcase/a357, +/obj/item/storage/guncase/pistol/a357, /obj/item/megaphone/sec{ name = "syndicate megaphone" }, @@ -1807,6 +1823,31 @@ /obj/item/ammo_box/a357, /turf/open/floor/carpet/nanoweave/red, /area/ship/crew/dorm/dormtwo) +"kr" = ( +/obj/structure/closet/secure_closet/security{ + populate = 0; + icon_state = "syndicate"; + name = "operative's locker" + }, +/obj/item/clothing/suit/armor/vest/syndie, +/obj/item/clothing/head/helmet/syndie, +/obj/item/gun/ballistic/automatic/pistol/ringneck/no_mag, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/storage/belt/security/webbing{ + name = "syndicate webbing"; + desc = "Unique and versatile chest rig, can hold syndicate gear." + }, +/obj/item/radio/headset/syndicate/alt{ + keyslot = null + }, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/gloves/color/black, +/obj/machinery/light/directional/west, +/obj/item/flashlight/seclite, +/obj/item/melee/knife/combat, +/turf/open/floor/mineral/plastitanium, +/area/ship/security) "ky" = ( /obj/machinery/portable_atmospherics/canister/toxins, /obj/machinery/light/directional/east, @@ -1823,33 +1864,6 @@ /obj/machinery/holopad/emergency/command, /turf/open/floor/mineral/plastitanium, /area/ship/crew/office) -"kH" = ( -/obj/item/clothing/suit/armor/vest/syndie, -/obj/item/clothing/head/helmet/operator, -/obj/item/gun/ballistic/automatic/pistol/syndicate/no_mag, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/storage/belt/security/webbing{ - name = "syndicate webbing"; - desc = "Unique and versatile chest rig, can hold syndicate gear." - }, -/obj/item/radio/headset/syndicate/alt{ - keyslot = null - }, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/gloves/color/black, -/obj/structure/closet/secure_closet/security{ - populate = 0; - icon_state = "syndicate"; - name = "operative's locker" - }, -/obj/machinery/light/directional/east, -/obj/item/clothing/head/soft/black, -/obj/item/clothing/glasses/sunglasses, -/obj/item/flashlight/seclite, -/obj/item/kitchen/knife/combat, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) "kJ" = ( /obj/item/tank/internals/plasma/full, /obj/structure/cable{ @@ -2079,6 +2093,33 @@ }, /turf/open/floor/wood, /area/ship/crew/canteen) +"lZ" = ( +/obj/item/clothing/suit/armor/vest/syndie, +/obj/item/clothing/head/helmet/syndie, +/obj/item/gun/ballistic/automatic/pistol/ringneck/no_mag, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/storage/belt/security/webbing{ + name = "syndicate webbing"; + desc = "Unique and versatile chest rig, can hold syndicate gear." + }, +/obj/item/radio/headset/syndicate/alt{ + keyslot = null + }, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/gloves/color/black, +/obj/structure/closet/secure_closet/security{ + populate = 0; + icon_state = "syndicate"; + name = "operative's locker" + }, +/obj/machinery/light/directional/east, +/obj/item/clothing/head/soft/black, +/obj/item/clothing/glasses/sunglasses, +/obj/item/flashlight/seclite, +/obj/item/melee/knife/combat, +/turf/open/floor/mineral/plastitanium, +/area/ship/security) "ma" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -2141,12 +2182,13 @@ /area/ship/engineering/engine) "ms" = ( /obj/machinery/porta_turret/ship/syndicate/heavy{ - dir = 9 + dir = 9; + id = "twink_grid" }, /turf/closed/wall/r_wall/syndicate/nodiagonal{ rad_insulation = 0 }, -/area/ship/bridge) +/area/ship/engineering/atmospherics) "mt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrogen_output{ dir = 8 @@ -2758,31 +2800,6 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering/atmospherics) -"pN" = ( -/obj/structure/closet/secure_closet/security{ - populate = 0; - icon_state = "syndicate"; - name = "operative's locker" - }, -/obj/item/clothing/suit/armor/vest/syndie, -/obj/item/clothing/head/helmet/operator, -/obj/item/gun/ballistic/automatic/pistol/syndicate/no_mag, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/storage/belt/security/webbing{ - name = "syndicate webbing"; - desc = "Unique and versatile chest rig, can hold syndicate gear." - }, -/obj/item/radio/headset/syndicate/alt{ - keyslot = null - }, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/gloves/color/black, -/obj/machinery/light/directional/west, -/obj/item/flashlight/seclite, -/obj/item/kitchen/knife/combat, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) "pO" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 @@ -2976,20 +2993,20 @@ "qP" = ( /obj/machinery/light/directional/north, /obj/item/kitchen/rollingpin, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/reagent_containers/food/condiment/sugar, +/obj/item/reagent_containers/condiment/sugar, +/obj/item/reagent_containers/condiment/sugar, /obj/structure/closet/secure_closet/freezer/kitchen, /obj/item/storage/fancy/egg_box, /obj/item/storage/fancy/egg_box, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, /obj/item/storage/box/ingredients/carnivore, /obj/item/storage/box/ingredients/vegetarian, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/milk, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/milk, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/carpet/red, /area/ship/crew/canteen) "qQ" = ( @@ -3286,6 +3303,32 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plasteel/tech, /area/ship/engineering/atmospherics) +"sU" = ( +/obj/structure/closet/secure_closet/security{ + populate = 0; + icon_state = "syndicate"; + name = "operative's locker" + }, +/obj/item/clothing/suit/armor/vest/syndie, +/obj/item/clothing/head/helmet/syndie, +/obj/item/gun/ballistic/automatic/pistol/ringneck/no_mag, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/storage/belt/security/webbing{ + name = "syndicate webbing"; + desc = "Unique and versatile chest rig, can hold syndicate gear." + }, +/obj/item/radio/headset/syndicate/alt{ + keyslot = null + }, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/gloves/color/black, +/obj/machinery/light/directional/east, +/obj/item/clothing/head/beret/black, +/obj/item/flashlight/seclite, +/obj/item/melee/knife/combat, +/turf/open/floor/mineral/plastitanium, +/area/ship/security) "sW" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -3293,6 +3336,32 @@ /obj/effect/turf_decal/industrial/outline, /turf/open/floor/plasteel/mono/dark, /area/ship/engineering/engine) +"sX" = ( +/obj/structure/closet/secure_closet/security{ + populate = 0; + icon_state = "syndicate"; + name = "explosives locker" + }, +/obj/item/storage/backpack/duffelbag/syndie/c4{ + pixel_x = -1; + pixel_y = -10 + }, +/obj/item/gun/ballistic/rocketlauncher/mako{ + pixel_y = 6; + pixel_x = -3 + }, +/obj/item/ammo_casing/caseless/rocket/hedp, +/obj/item/ammo_casing/caseless/rocket/hedp, +/obj/item/ammo_casing/caseless/rocket{ + pixel_x = -6; + pixel_y = -3 + }, +/obj/item/ammo_casing/caseless/rocket{ + pixel_x = -6; + pixel_y = -3 + }, +/turf/open/floor/mineral/plastitanium, +/area/ship/security/armory) "sY" = ( /obj/machinery/computer/atmos_control/tank/nitrogen_tank{ dir = 8 @@ -3431,7 +3500,7 @@ pixel_y = 4 }, /obj/item/storage/toolbox/electrical, -/obj/structure/fireaxecabinet{ +/obj/structure/cabinet/fireaxe{ pixel_y = -32; dir = 1 }, @@ -3509,6 +3578,25 @@ }, /turf/open/floor/plasteel/dark, /area/ship/medical) +"uM" = ( +/obj/structure/rack, +/obj/machinery/camera/autoname{ + dir = 6 + }, +/obj/item/ammo_box/magazine/sniper_rounds{ + pixel_x = 9; + pixel_y = 4 + }, +/obj/item/ammo_box/magazine/sniper_rounds{ + pixel_x = 6; + pixel_y = 1 + }, +/obj/item/gun/ballistic/automatic/marksman/taipan/no_mag{ + pixel_x = -3; + pixel_y = 6 + }, +/turf/open/floor/mineral/plastitanium, +/area/ship/security/armory) "uP" = ( /obj/machinery/atmospherics/pipe/simple/purple/visible, /obj/structure/sign/poster/contraband/atmosia_independence{ @@ -3548,12 +3636,13 @@ /area/ship/engineering/atmospherics) "vd" = ( /obj/machinery/porta_turret/ship/syndicate/heavy{ - dir = 5 + dir = 5; + id = "twink_grid" }, /turf/closed/wall/r_wall/syndicate/nodiagonal{ rad_insulation = 0 }, -/area/ship/bridge) +/area/ship/hallway/port) "vl" = ( /obj/machinery/sleeper/syndie{ dir = 8 @@ -4416,32 +4505,6 @@ rad_insulation = 0 }, /area/ship/medical) -"zZ" = ( -/obj/effect/turf_decal/corner/opaque/orange/three_quarters{ - dir = 1 - }, -/obj/item/clothing/under/syndicate/gec, -/obj/item/clothing/shoes/magboots/syndie, -/obj/item/clothing/head/helmet/space/syndicate/black/engie, -/obj/item/clothing/suit/space/syndicate/black/engie, -/obj/structure/closet/secure_closet/engineering_personal{ - req_access = list(150,10); - populate = 0 - }, -/obj/item/pipe_dispenser, -/obj/structure/sign/poster/contraband/gec{ - pixel_y = -32 - }, -/obj/item/storage/belt/utility/syndicate, -/obj/item/clothing/under/syndicate/gec, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/head/hardhat/red{ - name = "hard hat" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) "Af" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/oxygen_output{ dir = 8 @@ -4633,51 +4696,6 @@ rad_insulation = 0 }, /area/ship/security) -"Bn" = ( -/obj/structure/closet/secure_closet/security{ - populate = 0; - icon_state = "syndicate"; - name = "operative's locker" - }, -/obj/item/clothing/suit/armor/vest/syndie, -/obj/item/clothing/head/helmet/operator, -/obj/item/gun/ballistic/automatic/pistol/syndicate/no_mag, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/storage/belt/security/webbing{ - name = "syndicate webbing"; - desc = "Unique and versatile chest rig, can hold syndicate gear." - }, -/obj/item/radio/headset/syndicate/alt{ - keyslot = null - }, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/gloves/color/black, -/obj/machinery/light/directional/east, -/obj/item/clothing/head/beret/black, -/obj/item/flashlight/seclite, -/obj/item/kitchen/knife/combat, -/turf/open/floor/mineral/plastitanium, -/area/ship/security) -"Bq" = ( -/obj/structure/rack, -/obj/machinery/camera/autoname{ - dir = 6 - }, -/obj/item/ammo_box/magazine/sniper_rounds{ - pixel_x = 9; - pixel_y = 4 - }, -/obj/item/ammo_box/magazine/sniper_rounds{ - pixel_x = 6; - pixel_y = 1 - }, -/obj/item/gun/ballistic/automatic/marksman/sniper_rifle/no_mag{ - pixel_x = -3; - pixel_y = 6 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) "Bs" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -5031,6 +5049,29 @@ }, /turf/open/floor/plasteel/dark, /area/ship/medical) +"Dj" = ( +/obj/structure/rack, +/obj/item/ammo_box/magazine/m556_42_hydra/small{ + pixel_x = 10; + pixel_y = -1 + }, +/obj/item/ammo_box/magazine/m556_42_hydra/small{ + pixel_x = 4 + }, +/obj/item/ammo_box/magazine/m556_42_hydra/small{ + pixel_y = -3; + pixel_x = 7 + }, +/obj/item/ammo_box/magazine/m556_42_hydra/small{ + pixel_y = -2 + }, +/obj/item/gun/ballistic/automatic/assault/hydra/dmr/no_mag{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/item/gun/ballistic/automatic/assault/hydra/dmr/no_mag, +/turf/open/floor/mineral/plastitanium, +/area/ship/security/armory) "Dk" = ( /obj/effect/turf_decal/corner/opaque/orange{ dir = 5 @@ -5606,29 +5647,6 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/ship/security) -"Gm" = ( -/obj/structure/rack, -/obj/item/ammo_box/magazine/ebr{ - pixel_x = 10; - pixel_y = -1 - }, -/obj/item/ammo_box/magazine/ebr{ - pixel_x = 4 - }, -/obj/item/ammo_box/magazine/ebr{ - pixel_y = -3; - pixel_x = 7 - }, -/obj/item/ammo_box/magazine/ebr{ - pixel_y = -2 - }, -/obj/item/gun/ballistic/automatic/marksman/ebr/no_mag{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/gun/ballistic/automatic/marksman/ebr/no_mag, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) "Gn" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 1; @@ -5802,7 +5820,7 @@ dir = 8 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/eight, +/obj/effect/spawner/random/maintenance/eight, /obj/item/circuitboard/machine/autolathe, /obj/item/stock_parts/manipulator, /obj/item/stock_parts/matter_bin, @@ -6311,7 +6329,7 @@ dir = 8 }, /obj/machinery/light/directional/north, -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/borderfloorblack/corner{ dir = 8 }, @@ -6583,7 +6601,7 @@ name = "mot containment box"; desc = "WARNING: Contains mot." }, -/obj/item/storage/box/syndimaid, +/obj/item/storage/box/maid, /obj/item/trash/cheesie, /mob/living/carbon/human/species/moth{ name = "Secret Box Moth"; @@ -6679,12 +6697,13 @@ /area/ship/engineering/engine) "Mr" = ( /obj/machinery/porta_turret/ship/syndicate/heavy{ - dir = 6 + dir = 6; + id = "twink_grid" }, /turf/closed/wall/r_wall/syndicate/nodiagonal{ rad_insulation = 0 }, -/area/ship/bridge) +/area/ship/hallway/starboard) "Mw" = ( /obj/effect/turf_decal/industrial/caution/red, /obj/effect/decal/cleanable/shreds{ @@ -7097,6 +7116,31 @@ /obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, /area/ship/hallway/starboard) +"Pf" = ( +/obj/structure/closet/secure_closet/security{ + populate = 0; + icon_state = "syndicate"; + name = "operative's locker" + }, +/obj/item/clothing/suit/armor/vest/syndie, +/obj/item/clothing/head/helmet/syndie, +/obj/item/gun/ballistic/automatic/pistol/ringneck/no_mag, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/storage/belt/security/webbing{ + name = "syndicate webbing"; + desc = "Unique and versatile chest rig, can hold syndicate gear." + }, +/obj/item/radio/headset/syndicate/alt{ + keyslot = null + }, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/gloves/color/black, +/obj/machinery/light/directional/east, +/obj/item/flashlight/seclite, +/obj/item/melee/knife/combat, +/turf/open/floor/mineral/plastitanium, +/area/ship/security) "Pn" = ( /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/trimline/opaque/syndiered/warning, @@ -7323,16 +7367,16 @@ /obj/item/clothing/glasses/hud/security/suns, /obj/item/clothing/gloves/tackler/dolphin/suns, /obj/item/clothing/suit/toggle/suns/pkcoat, -/obj/item/clothing/suit/armor/vest/bulletproof/suns/hos, -/obj/item/clothing/suit/armor/vest/bulletproof/suns/ehos, +/obj/item/clothing/suit/armor/vest/suns/hos, +/obj/item/clothing/suit/armor/vest/suns/ehos, /obj/item/clothing/head/welding/suns/hos, /obj/item/clothing/under/syndicate/suns/pkuniform, /obj/item/radio/headset/syndicate/alt{ keyslot = null }, /obj/item/storage/belt/sabre/solgov, -/obj/item/storage/pistolcase/modelh, -/obj/item/ammo_box/ferroslugbox, +/obj/item/storage/guncase/pistol/modelh, +/obj/item/storage/box/ammo/ferroslug, /turf/open/floor/mineral/plastitanium, /area/ship/bridge) "Qv" = ( @@ -7443,7 +7487,7 @@ icon_state = "2-8" }, /obj/structure/closet/emcloset, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /obj/item/reagent_containers/food/snacks/burger/red{ name = "suspicious red burger"; desc = "A suspicious looking burger."; @@ -7493,33 +7537,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/hallway/aft) -"Rv" = ( -/obj/structure/rack, -/obj/item/gun/ballistic/shotgun/bulldog/no_mag{ - pixel_x = -7; - pixel_y = 7 - }, -/obj/item/gun/ballistic/shotgun/bulldog/no_mag{ - pixel_y = -3; - pixel_x = 2 - }, -/obj/machinery/light/directional/north, -/obj/item/ammo_box/magazine/m12g{ - pixel_x = -8; - pixel_y = -4 - }, -/obj/item/ammo_box/magazine/m12g{ - pixel_y = -7 - }, -/obj/item/ammo_box/magazine/m12g{ - pixel_y = -9; - pixel_x = -10 - }, -/obj/item/ammo_box/magazine/m12g{ - pixel_y = -12 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) "Ry" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -7568,6 +7585,27 @@ }, /turf/open/floor/circuit/red, /area/ship/engineering/communications) +"RF" = ( +/obj/structure/rack, +/obj/item/gun/ballistic/automatic/smg/cobra/no_mag{ + pixel_x = 2; + pixel_y = 8 + }, +/obj/item/gun/ballistic/automatic/smg/cobra/no_mag{ + pixel_y = 3 + }, +/obj/item/gun/ballistic/automatic/smg/cobra/no_mag{ + pixel_y = -2; + pixel_x = 3 + }, +/obj/item/ammo_box/magazine/m45_cobra, +/obj/item/ammo_box/magazine/m45_cobra, +/obj/item/ammo_box/magazine/m45_cobra, +/obj/item/ammo_box/magazine/m45_cobra, +/obj/item/ammo_box/magazine/m45_cobra, +/obj/item/ammo_box/magazine/m45_cobra, +/turf/open/floor/mineral/plastitanium, +/area/ship/security/armory) "RG" = ( /obj/effect/turf_decal/corner/opaque/orange{ dir = 5 @@ -7923,6 +7961,15 @@ /obj/machinery/vending/tool, /turf/open/floor/plasteel/dark, /area/ship/engineering/atmospherics) +"TH" = ( +/obj/machinery/porta_turret/ship/syndicate/heavy{ + dir = 9; + id = "twink_grid" + }, +/turf/closed/wall/r_wall/syndicate/nodiagonal{ + rad_insulation = 0 + }, +/area/ship/crew/canteen) "TI" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -8041,32 +8088,6 @@ "Um" = ( /turf/open/floor/pod/dark, /area/ship/cargo) -"Up" = ( -/obj/structure/closet/secure_closet/security{ - populate = 0; - icon_state = "syndicate"; - name = "explosives locker" - }, -/obj/item/storage/backpack/duffelbag/syndie/c4{ - pixel_x = -1; - pixel_y = -10 - }, -/obj/item/gun/ballistic/rocketlauncher{ - pixel_y = 6; - pixel_x = -3 - }, -/obj/item/ammo_casing/caseless/rocket/hedp, -/obj/item/ammo_casing/caseless/rocket/hedp, -/obj/item/ammo_casing/caseless/rocket{ - pixel_x = -6; - pixel_y = -3 - }, -/obj/item/ammo_casing/caseless/rocket{ - pixel_x = -6; - pixel_y = -3 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) "Uu" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2, /obj/effect/turf_decal/corner/opaque/orange/full, @@ -8385,12 +8406,13 @@ /area/ship/crew/cryo) "We" = ( /obj/machinery/porta_turret/ship/syndicate/heavy{ - dir = 10 + dir = 10; + id = "twink_grid" }, /turf/closed/wall/r_wall/syndicate/nodiagonal{ rad_insulation = 0 }, -/area/ship/bridge) +/area/ship/security) "Wj" = ( /obj/effect/turf_decal/corner/opaque/syndiered{ dir = 5 @@ -8563,14 +8585,21 @@ dir = 8 }, /obj/machinery/fax/syndicate, +/obj/machinery/turretid/ship{ + pixel_y = 24; + pixel_x = -5; + id = "twink_grid"; + req_access = null; + req_access_txt = "150" + }, /turf/open/floor/mineral/plastitanium, /area/ship/bridge) "Xf" = ( /obj/structure/table/wood, /obj/machinery/door/firedoor/border_only, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /turf/open/floor/carpet/red, /area/ship/crew/canteen) "Xg" = ( @@ -8812,6 +8841,47 @@ }, /turf/open/floor/mineral/plastitanium, /area/ship/bridge) +"YI" = ( +/obj/structure/sign/poster/contraband/m90{ + icon_state = "poster-m90"; + pixel_x = -32 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 9 + }, +/obj/structure/closet/secure_closet{ + anchored = 1; + icon_state = "syndicate"; + name = "lieutenant locker"; + req_access = list(3,150) + }, +/obj/item/clothing/under/syndicate/ngr/officer, +/obj/item/clothing/suit/armor/ngr/captain, +/obj/item/clothing/head/ngr/peaked, +/obj/item/clothing/shoes/combat, +/obj/item/megaphone/sec{ + name = "syndicate megaphone" + }, +/obj/item/storage/guncase/pistol/ringneck, +/obj/item/clothing/head/HoS/beret/syndicate, +/obj/item/radio/headset/syndicate/alt/leader, +/obj/item/clothing/gloves/krav_maga/combatglovesplus, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/clothing/suit/armor/hos/trenchcoat, +/obj/machinery/button/door{ + pixel_x = 9; + pixel_y = 25; + id = "twinkle_armory"; + name = "Armory Access"; + req_access = list(3,150) + }, +/obj/item/storage/box/ammo/c10mm, +/turf/open/floor/mineral/plastitanium, +/area/ship/security) "YJ" = ( /obj/effect/turf_decal/trimline/opaque/syndiered/filled/line, /obj/machinery/iv_drip, @@ -8830,27 +8900,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/engine, /area/ship/engineering/engine) -"YO" = ( -/obj/structure/rack, -/obj/item/gun/ballistic/automatic/smg/c20r/no_mag{ - pixel_x = 2; - pixel_y = 8 - }, -/obj/item/gun/ballistic/automatic/smg/c20r/no_mag{ - pixel_y = 3 - }, -/obj/item/gun/ballistic/automatic/smg/c20r/no_mag{ - pixel_y = -2; - pixel_x = 3 - }, -/obj/item/ammo_box/magazine/smgm45, -/obj/item/ammo_box/magazine/smgm45, -/obj/item/ammo_box/magazine/smgm45, -/obj/item/ammo_box/magazine/smgm45, -/obj/item/ammo_box/magazine/smgm45, -/obj/item/ammo_box/magazine/smgm45, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) "YR" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/eastleft, @@ -8896,29 +8945,6 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/ship/bridge) -"Zc" = ( -/obj/structure/closet/secure_closet/engineering_personal{ - req_access = list(150,10); - populate = 0 - }, -/obj/effect/turf_decal/corner/opaque/orange{ - dir = 10 - }, -/obj/machinery/light/directional/south, -/obj/item/clothing/shoes/magboots/syndie, -/obj/item/clothing/head/helmet/space/syndicate/black/engie, -/obj/item/clothing/suit/space/syndicate/black/engie, -/obj/item/pipe_dispenser, -/obj/item/storage/belt/utility/syndicate, -/obj/item/clothing/under/syndicate/gec, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/head/hardhat/red{ - name = "hard hat" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering) "Zg" = ( /obj/effect/turf_decal/industrial/warning{ dir = 6 @@ -9113,7 +9139,7 @@ FR FR LX ae -We +iX mp mp mp @@ -9479,7 +9505,7 @@ ZX Qd bM zH -zZ +hB ZX hN IT @@ -9514,7 +9540,7 @@ ZX fz zK qK -Zc +hh ZX RG BV @@ -9612,7 +9638,7 @@ mp mp "} (17,1,1) = {" -ms +TH xj xj xj @@ -9671,7 +9697,7 @@ xo pc TT PL -Gm +Dj Si Sg PL @@ -9741,7 +9767,7 @@ oX PN ec PL -YO +RF ji wg Uc @@ -9776,14 +9802,14 @@ ea BG tY PL -Rv +aF jx TC on ep sd da -kH +lZ Bj "} (22,1,1) = {" @@ -9811,9 +9837,9 @@ sO AK Pe PL -Bq +uM Fr -Up +sX PL Tt sd @@ -9853,7 +9879,7 @@ PL BL EG da -pN +kr Bj "} (24,1,1) = {" @@ -9881,7 +9907,7 @@ sO QC Cq Bj -aD +YI nt oc Eh @@ -9958,7 +9984,7 @@ Bj Tt sd da -fJ +Pf Bj "} (27,1,1) = {" @@ -10028,7 +10054,7 @@ Pa At sd da -pN +kr Bj "} (29,1,1) = {" @@ -10133,7 +10159,7 @@ GD Nj eN da -Bn +sU Bj "} (32,1,1) = {" diff --git a/_maps/templates/shelter_2.dmm b/_maps/templates/shelter_2.dmm index 9c2571e6f5a..6a076e34555 100644 --- a/_maps/templates/shelter_2.dmm +++ b/_maps/templates/shelter_2.dmm @@ -39,7 +39,7 @@ /area/survivalpod) "i" = ( /obj/structure/toilet/secret{ - secret_type = /obj/item/kitchen/knife/combat/survival + secret_type = /obj/item/melee/knife/survival }, /turf/open/floor/pod, /area/survivalpod) @@ -161,7 +161,7 @@ pixel_x = 7; pixel_y = 2 }, -/obj/effect/spawner/lootdrop/three_course_meal, +/obj/effect/spawner/random/food_or_drink/three_course_meal, /turf/open/floor/carpet/black, /area/survivalpod) "y" = ( diff --git a/_maps/templates/shelter_3.dmm b/_maps/templates/shelter_3.dmm index dd4f6645a51..56743e38b0f 100644 --- a/_maps/templates/shelter_3.dmm +++ b/_maps/templates/shelter_3.dmm @@ -187,11 +187,11 @@ /area/survivalpod) "F" = ( /obj/structure/table/wood/fancy, -/obj/item/reagent_containers/food/condiment/peppermill{ +/obj/item/reagent_containers/condiment/peppermill{ pixel_x = -4; pixel_y = 12 }, -/obj/item/reagent_containers/food/condiment/saltshaker{ +/obj/item/reagent_containers/condiment/saltshaker{ pixel_x = 4; pixel_y = 4 }, @@ -225,7 +225,7 @@ /turf/open/floor/carpet/black, /area/survivalpod) "L" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/carpet/black, /area/survivalpod) "M" = ( diff --git a/auxmos.dll b/auxmos.dll index 0df77c97b28..1afe04fc483 100644 Binary files a/auxmos.dll and b/auxmos.dll differ diff --git a/check_regex.yaml b/check_regex.yaml index 3b5e13a650e..335b1b005c7 100644 --- a/check_regex.yaml +++ b/check_regex.yaml @@ -27,18 +27,18 @@ standards: - exactly: [1, "/atom text paths", '"/atom'] - exactly: [1, "/area text paths", '"/area'] - - exactly: [17, "/datum text paths", '"/datum'] + - exactly: [16, "/datum text paths", '"/datum'] - exactly: [4, "/mob text paths", '"/mob'] - - exactly: [43, "/obj text paths", '"/obj'] + - exactly: [33, "/obj text paths", '"/obj'] - exactly: [0, "/turf text paths", '"/turf'] - - exactly: [117, "text2path uses", "text2path"] + - exactly: [113, "text2path uses", "text2path"] - exactly: [18, "world<< uses", 'world[ \t]*<<'] - exactly: [0, "world.log<< uses", 'world.log[ \t]*<<'] - exactly: [ - 266, + 262, "non-bitwise << uses", '(? pre_attack -> target.attackby (item.attack) -> afterattack + ///Ends the attack chain. If sent early might cause posterior attacks not to happen. + #define COMPONENT_CANCEL_ATTACK_CHAIN (1<<0) + ///Skips the specific attack step, continuing for the next one to happen. + #define COMPONENT_SKIP_ATTACK (1<<1) ///from base of atom/attack_ghost(): (mob/dead/observer/ghost) #define COMSIG_ATOM_ATTACK_GHOST "atom_attack_ghost" ///from base of atom/attack_hand(): (mob/user) @@ -324,6 +347,37 @@ #define COMSIG_MOVABLE_LIGHT_OVERLAY_TOGGLE_ON "movable_light_overlay_toggle_on" ///called when the movable's glide size is updated: (new_glide_size) #define COMSIG_MOVABLE_UPDATE_GLIDE_SIZE "movable_glide_size" +/// from base of atom/movable/Process_Spacemove(): (movement_dir, continuous_move) +#define COMSIG_MOVABLE_SPACEMOVE "spacemove" + #define COMSIG_MOVABLE_STOP_SPACEMOVE (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) + ///from datum/component/drift/allow_final_movement(): () +#define COMSIG_MOVABLE_DRIFT_BLOCK_INPUT "movable_drift_block_input" + #define DRIFT_ALLOW_INPUT (1<<0) + +///signal sent out by an atom when it checks if it can be pulled, for additional checks +#define COMSIG_ATOM_CAN_BE_PULLED "movable_can_be_pulled" + #define COMSIG_ATOM_CANT_PULL (1 << 0) +///signal sent out by an atom when it is no longer being pulled by something else +#define COMSIG_ATOM_NO_LONGER_PULLED "movable_no_longer_pulled" +///signal sent out by an atom when it is no longer pulling something : (atom/pulling) +#define COMSIG_ATOM_NO_LONGER_PULLING "movable_no_longer_pulling" +///called on /living, when pull is attempted, but before it completes, from base of [/mob/living/start_pulling]: (atom/movable/thing, force) +#define COMSIG_LIVING_TRY_PULL "living_try_pull" + #define COMSIG_LIVING_CANCEL_PULL (1 << 0) +/// Called from /mob/living/update_pull_movespeed +#define COMSIG_LIVING_UPDATING_PULL_MOVESPEED "living_updating_pull_movespeed" +/// Called from /mob/living/PushAM -- Called when this mob is about to push a movable, but before it moves +/// (aotm/movable/being_pushed) +#define COMSIG_LIVING_PUSHING_MOVABLE "living_pushing_movable" +///from base of [/atom/proc/interact]: (mob/user) +#define COMSIG_ATOM_UI_INTERACT "atom_ui_interact" +///called on /living when attempting to pick up an item, from base of /mob/living/put_in_hand_check(): (obj/item/I) +#define COMSIG_LIVING_TRY_PUT_IN_HAND "living_try_put_in_hand" + /// Can't pick up + #define COMPONENT_LIVING_CANT_PUT_IN_HAND (1<<0) // /mob signals @@ -345,6 +399,9 @@ #define COMSIG_MOB_ALTCLICKON "mob_altclickon" #define COMSIG_MOB_CANCEL_CLICKON (1<<0) +///From base of mob/living/MobBump() (mob/living) +#define COMSIG_LIVING_MOB_BUMP "living_mob_bump" + ///from base of obj/allowed(mob/M): (/obj) returns bool, if TRUE the mob has id access to the obj #define COMSIG_MOB_ALLOWED "mob_allowed" ///from base of mob/anti_magic_check(): (mob/user, magic, holy, tinfoil, chargecost, self, protection_sources) @@ -471,7 +528,6 @@ #define COMSIG_CARBON_HUGGED "carbon_hugged" ///When a carbon mob is headpatted, this is called on the carbon that is headpatted. (mob/living/headpatter) #define COMSIG_CARBON_HEADPAT "carbon_headpatted" - ///When a carbon slips. Called on /turf/open/handle_slip() #define COMSIG_ON_CARBON_SLIP "carbon_slip" ///When a carbon gets a vending machine tilted on them @@ -498,84 +554,6 @@ #define COMSIG_HOSTILE_ATTACKINGTARGET "hostile_attackingtarget" #define COMPONENT_HOSTILE_NO_ATTACK 1 -// /obj signals - -///from base of obj/deconstruct(): (disassembled) -#define COMSIG_OBJ_DECONSTRUCT "obj_deconstruct" -///from base of code/game/machinery -#define COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH "obj_default_unfasten_wrench" -///from base of /turf/proc/levelupdate(). (intact) true to hide and false to unhide -#define COMSIG_OBJ_HIDE "obj_hide" - -// /obj/machinery signals - -///from /obj/machinery/obj_break(damage_flag): (damage_flag) -#define COMSIG_MACHINERY_BROKEN "machinery_broken" -///from base power_change() when power is lost -#define COMSIG_MACHINERY_POWER_LOST "machinery_power_lost" -///from base power_change() when power is restored -#define COMSIG_MACHINERY_POWER_RESTORED "machinery_power_restored" - -// /obj/machinery/power/supermatter_crystal signals -/// from /obj/machinery/power/supermatter_crystal/process_atmos(); when the SM delam reaches the point of sounding alarms -#define COMSIG_SUPERMATTER_DELAM_START_ALARM "sm_delam_start_alarm" -/// from /obj/machinery/power/supermatter_crystal/process_atmos(); when the SM sounds an audible alarm -#define COMSIG_SUPERMATTER_DELAM_ALARM "sm_delam_alarm" - -// /obj/item signals -#define COMSIG_ITEM_ATTACK "item_attack" //from base of obj/item/attack(): (/mob/living/target, /mob/living/user) -#define COMSIG_ITEM_ATTACK_SELF "item_attack_self" //from base of obj/item/attack_self(): (/mob) - #define COMPONENT_NO_INTERACT 1 -#define COMSIG_ITEM_ATTACK_OBJ "item_attack_obj" //from base of obj/item/attack_obj(): (/obj, /mob) - #define COMPONENT_NO_ATTACK_OBJ 1 -#define COMSIG_ITEM_PRE_ATTACK "item_pre_attack" //from base of obj/item/pre_attack(): (atom/target, mob/user, params) - #define COMPONENT_NO_ATTACK 1 -#define COMSIG_ITEM_AFTERATTACK "item_afterattack" //from base of obj/item/afterattack(): (atom/target, mob/user, params) -#define COMSIG_ITEM_ATTACK_QDELETED "item_attack_qdeleted" //from base of obj/item/attack_qdeleted(): (atom/target, mob/user, params) -#define COMSIG_ITEM_EQUIPPED "item_equip" //from base of obj/item/equipped(): (/mob/equipper, slot) -#define COMSIG_ITEM_DROPPED "item_drop" //from base of obj/item/dropped(): (mob/user) -#define COMSIG_ITEM_PICKUP "item_pickup" //from base of obj/item/pickup(): (/mob/taker) -#define COMSIG_ITEM_ATTACK_ZONE "item_attack_zone" //from base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone) -#define COMSIG_ITEM_IMBUE_SOUL "item_imbue_soul" //return a truthy value to prevent ensouling, checked in /obj/effect/proc_holder/spell/targeted/lichdom/cast(): (mob/user) -#define COMSIG_ITEM_MARK_RETRIEVAL "item_mark_retrieval" //called before marking an object for retrieval, checked in /obj/effect/proc_holder/spell/targeted/summonitem/cast() : (mob/user) - #define COMPONENT_BLOCK_MARK_RETRIEVAL 1 -#define COMSIG_ITEM_HIT_REACT "item_hit_react" //from base of obj/item/hit_reaction(): (list/args) -#define COMSIG_ITEM_WEARERCROSSED "wearer_crossed" //called on item when crossed by something (): (/atom/movable, mob/living/crossed) -#define COMSIG_ITEM_MICROWAVE_ACT "microwave_act" //called on item when microwaved (): (obj/machinery/microwave/M) -#define COMSIG_ITEM_SHARPEN_ACT "sharpen_act" //from base of item/sharpener/attackby(): (amount, max) - #define COMPONENT_BLOCK_SHARPEN_APPLIED 1 - #define COMPONENT_BLOCK_SHARPEN_BLOCKED 2 - #define COMPONENT_BLOCK_SHARPEN_ALREADY 4 - #define COMPONENT_BLOCK_SHARPEN_MAXED 8 -#define COMSIG_TOOL_IN_USE "tool_in_use" ///from base of [/obj/item/proc/tool_check_callback]: (mob/living/user) -#define COMSIG_TOOL_START_USE "tool_start_use" ///from base of [/obj/item/proc/tool_start_check]: (mob/living/user) -#define COMSIG_ITEM_DISABLE_EMBED "item_disable_embed" ///from [/obj/item/proc/disableEmbedding]: -#define COMSIG_MINE_TRIGGERED "minegoboom" ///from [/obj/item/mine/proc/trigger_mine]: -///from [/obj/structure/closet/supplypod/proc/endlaunch]: -#define COMSIG_SUPPLYPOD_LANDED "supplypodgoboom" - -// Item mouse siganls -#define COMSIG_ITEM_MOUSE_EXIT "item_mouse_exit" //from base of obj/item/MouseExited(): (location, control, params) -#define COMSIG_ITEM_MOUSE_ENTER "item_mouse_enter" //from base of obj/item/MouseEntered(): (location, control, params) - -///Called when an item is being offered, from [/obj/item/proc/on_offered(mob/living/carbon/offerer)] -#define COMSIG_ITEM_OFFERING "item_offering" - ///Interrupts the offer proc - #define COMPONENT_OFFER_INTERRUPT (1<<0) -///Called when an someone tries accepting an offered item, from [/obj/item/proc/on_offer_taken(mob/living/carbon/offerer, mob/living/carbon/taker)] -#define COMSIG_ITEM_OFFER_TAKEN "item_offer_taken" - ///Interrupts the offer acceptance - #define COMPONENT_OFFER_TAKE_INTERRUPT (1<<0) -/// sent from obj/effect/attackby(): (/obj/effect/hit_effect, /mob/living/attacker, params) -#define COMSIG_ITEM_ATTACK_EFFECT "item_effect_attacked" - -// /obj/item signals for economy -#define COMSIG_ITEM_SOLD "item_sold" //called when an item is sold by the exports subsystem -#define COMSIG_STRUCTURE_UNWRAPPED "structure_unwrapped" //called when a wrapped up structure is opened by hand -#define COMSIG_ITEM_UNWRAPPED "item_unwrapped" //called when a wrapped up item is opened by hand - #define COMSIG_ITEM_SPLIT_VALUE 1 -#define COMSIG_ITEM_SPLIT_PROFIT "item_split_profits" //Called when getting the item's exact ratio for cargo's profit. -#define COMSIG_ITEM_SPLIT_PROFIT_DRY "item_split_profits_dry" //Called when getting the item's exact ratio for cargo's profit, without selling the item. /// Admin helps /// From /datum/admin_help/RemoveActive(). @@ -585,21 +563,6 @@ /// Called when the player replies. From /client/proc/cmd_admin_pm(). #define COMSIG_ADMIN_HELP_REPLIED "admin_help_replied" -// /obj/item/clothing signals -#define COMSIG_SHOES_STEP_ACTION "shoes_step_action" //from base of obj/item/clothing/shoes/proc/step_action(): () -#define COMSIG_SUIT_SPACE_TOGGLE "suit_space_toggle" //from base of /obj/item/clothing/suit/space/proc/toggle_spacesuit(): (obj/item/clothing/suit/space/suit) - -// /obj/item/implant signals -#define COMSIG_IMPLANT_ACTIVATED "implant_activated" //from base of /obj/item/implant/proc/activate(): () -#define COMSIG_IMPLANT_IMPLANTING "implant_implanting" //from base of /obj/item/implant/proc/implant(): (list/args) - #define COMPONENT_STOP_IMPLANTING 1 -#define COMSIG_IMPLANT_OTHER "implant_other" //called on already installed implants when a new one is being added in /obj/item/implant/proc/implant(): (list/args, obj/item/implant/new_implant) - //#define COMPONENT_STOP_IMPLANTING 1 //The name makes sense for both - #define COMPONENT_DELETE_NEW_IMPLANT 2 - #define COMPONENT_DELETE_OLD_IMPLANT 4 -#define COMSIG_IMPLANT_EXISTING_UPLINK "implant_uplink_exists" //called on implants being implanted into someone with an uplink implant: (datum/component/uplink) - //This uses all return values of COMSIG_IMPLANT_OTHER - // /obj/item/pda signals #define COMSIG_PDA_CHANGE_RINGTONE "pda_change_ringtone" //called on pda when the user changes the ringtone: (mob/living/user, new_ringtone) #define COMPONENT_STOP_RINGTONE_CHANGE 1 @@ -615,10 +578,6 @@ // /obj/item/gun signals #define COMSIG_MOB_FIRED_GUN "mob_fired_gun" //called in /obj/item/gun/process_fire (user, target, params, zone_override) -// /obj/item/grenade signals -#define COMSIG_GRENADE_PRIME "grenade_prime" //called in /obj/item/gun/process_fire (user, target, params, zone_override) -#define COMSIG_GRENADE_ARMED "grenade_armed" //called in /obj/item/gun/process_fire (user, target, params, zone_override) - // /obj/projectile signals (sent to the firer) #define COMSIG_PROJECTILE_SELF_ON_HIT "projectile_self_on_hit" // from base of /obj/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle) #define COMSIG_PROJECTILE_ON_HIT "projectile_on_hit" // from base of /obj/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle) @@ -633,13 +592,6 @@ // /obj/mecha signals #define COMSIG_MECHA_ACTION_ACTIVATE "mecha_action_activate" //sent from mecha action buttons to the mecha they're linked to -// /mob/living/carbon/human signals -#define COMSIG_HUMAN_EARLY_UNARMED_ATTACK "human_early_unarmed_attack" //from mob/living/carbon/human/UnarmedAttack(): (atom/target, proximity) -#define COMSIG_HUMAN_MELEE_UNARMED_ATTACK "human_melee_unarmed_attack" //from mob/living/carbon/human/UnarmedAttack(): (atom/target, proximity) -#define COMSIG_HUMAN_MELEE_UNARMED_ATTACKBY "human_melee_unarmed_attackby" //from mob/living/carbon/human/UnarmedAttack(): (mob/living/carbon/human/attacker) -#define COMSIG_HUMAN_DISARM_HIT "human_disarm_hit" //Hit by successful disarm attack (mob/living/carbon/human/attacker,zone_targeted) -#define COMSIG_JOB_RECEIVED "job_received" //Whenever EquipRanked is called, called after job is set - // /datum/species signals #define COMSIG_SPECIES_GAIN "species_gain" //from datum/species/on_species_gain(): (datum/species/new_species, datum/species/old_species) #define COMSIG_SPECIES_LOSS "species_loss" //from datum/species/on_species_loss(): (datum/species/lost_species) @@ -665,9 +617,6 @@ //Creamed #define COMSIG_COMPONENT_CLEAN_FACE_ACT "clean_face_act" //called when you wash your face at a sink: (num/strength) -//Food -#define COMSIG_FOOD_EATEN "food_eaten" //from base of obj/item/reagent_containers/food/snacks/attack(): (mob/living/eater, mob/feeder) - //Gibs #define COMSIG_GIBS_STREAK "gibs_streak" // from base of /obj/effect/decal/cleanable/blood/gibs/streak(): (list/directions, list/diseases) @@ -719,23 +668,10 @@ #define COMSIG_TRY_STORAGE_RETURN_INVENTORY "storage_return_inventory" //(list/list_to_inject_results_into, recursively_search_inside_storages = TRUE) #define COMSIG_TRY_STORAGE_CAN_INSERT "storage_can_equip" //(obj/item/insertion_candidate, mob/user, silent) - returns bool -// /datum/component/two_handed signals -#define COMSIG_TWOHANDED_WIELD "twohanded_wield" //from base of datum/component/two_handed/proc/wield(mob/living/carbon/user): (/mob/user) - #define COMPONENT_TWOHANDED_BLOCK_WIELD 1 -#define COMSIG_TWOHANDED_UNWIELD "twohanded_unwield" //from base of datum/component/two_handed/proc/unwield(mob/living/carbon/user): (/mob/user) - // /datum/action signals #define COMSIG_ACTION_TRIGGER "action_trigger" //from base of datum/action/proc/Trigger(): (datum/action) #define COMPONENT_ACTION_BLOCK_TRIGGER 1 -//Xenobio hotkeys -#define COMSIG_XENO_SLIME_CLICK_CTRL "xeno_slime_click_ctrl" //from slime CtrlClickOn(): (/mob) -#define COMSIG_XENO_SLIME_CLICK_ALT "xeno_slime_click_alt" //from slime AltClickOn(): (/mob) -#define COMSIG_XENO_SLIME_CLICK_SHIFT "xeno_slime_click_shift" //from slime ShiftClickOn(): (/mob) -#define COMSIG_XENO_TURF_CLICK_SHIFT "xeno_turf_click_shift" //from turf ShiftClickOn(): (/mob) -#define COMSIG_XENO_TURF_CLICK_CTRL "xeno_turf_click_alt" //from turf AltClickOn(): (/mob) -#define COMSIG_XENO_MONKEY_CLICK_CTRL "xeno_monkey_click_ctrl" //from monkey CtrlClickOn(): (/mob) - // /datum/overmap signals /// From overmap Move(): (old_x, old_y) #define COMSIG_OVERMAP_MOVED "overmap_moved" @@ -753,10 +689,6 @@ #define COMSIG_BEAM_BEFORE_DRAW "beam_before_draw" #define BEAM_CANCEL_DRAW (1 << 0) -// Aquarium related signals -#define COMSIG_AQUARIUM_SURFACE_CHANGED "aquarium_surface_changed" -#define COMSIG_AQUARIUM_FLUID_CHANGED "aquarium_fluid_changed" - // Fish signals #define COMSIG_FISH_STATUS_CHANGED "fish_status_changed" #define COMSIG_FISH_STIRRED "fish_stirred" @@ -791,4 +723,18 @@ #define COMSIG_DIGOUT "dig_out" ///sent when the access on an id is changed/updated, ensures wallets get updated once ids generate there access -#define COSMIG_ACCESS_UPDATED "acces_updated" \ No newline at end of file +#define COSMIG_ACCESS_UPDATED "acces_updated" + +// Point of interest signals +/// Sent from base of /datum/controller/subsystem/points_of_interest/proc/on_poi_element_added : (atom/new_poi) +#define COMSIG_ADDED_POINT_OF_INTEREST "added_point_of_interest" +/// Sent from base of /datum/controller/subsystem/points_of_interest/proc/on_poi_element_removed : (atom/old_poi) +#define COMSIG_REMOVED_POINT_OF_INTEREST "removed_point_of_interest" + +// Power signals +/// Sent when an obj/item calls item_use_power: (use_amount, user, check_only) +#define COMSIG_ITEM_POWER_USE "item_use_power" + #define NO_COMPONENT NONE + #define COMPONENT_POWER_SUCCESS (1<<0) + #define COMPONENT_NO_CELL (1<<1) + #define COMPONENT_NO_CHARGE (1<<2) diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm new file mode 100644 index 00000000000..b28463f50ec --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm @@ -0,0 +1,85 @@ +/// from base of [/mob/living/changeNext_Move()] (next_move) +#define COMSIG_LIVING_CHANGENEXT_MOVE "living_changenext_move" + +///Called from /mob/living/carbon/help_shake_act, before any hugs have ocurred. (mob/living/helper) +#define COMSIG_CARBON_PRE_HELP_ACT "carbon_pre_help" + /// Stops the rest of help act (hugging, etc) from occuring + #define COMPONENT_BLOCK_HELP_ACT (1<<0) + +///Called from /mob/living/carbon/help_shake_act on the person being helped, after any hugs have ocurred. (mob/living/helper) +#define COMSIG_CARBON_HELP_ACT "carbon_help" +///Called from /mob/living/carbon/help_shake_act on the helper, after any hugs have ocurred. (mob/living/helped) +#define COMSIG_CARBON_HELPED "carbon_helped_someone" + +///Before a carbon mob is shoved, sent to the turf we're trying to shove onto (mob/living/carbon/shover, mob/living/carbon/target) +#define COMSIG_CARBON_DISARM_PRESHOVE "carbon_disarm_preshove" + #define COMSIG_CARBON_ACT_SOLID (1<<0) //Tells disarm code to act as if the mob was shoved into something solid, even we we're not +///When a carbon mob is disarmed, this is sent to the turf we're trying to shove onto (mob/living/carbon/shover, mob/living/carbon/target, shove_blocked) +#define COMSIG_CARBON_DISARM_COLLIDE "carbon_disarm_collision" + #define COMSIG_CARBON_SHOVE_HANDLED (1<<0) + +// /mob/living/carbon physiology signals +#define COMSIG_CARBON_GAIN_WOUND "carbon_gain_wound" //from /datum/wound/proc/apply_wound() (/mob/living/carbon/C, /datum/wound/W, /obj/item/bodypart/L) +#define COMSIG_CARBON_LOSE_WOUND "carbon_lose_wound" //from /datum/wound/proc/remove_wound() (/mob/living/carbon/C, /datum/wound/W, /obj/item/bodypart/L) +///from base of /obj/item/bodypart/proc/attach_limb(): (new_limb, special) allows you to fail limb attachment +#define COMSIG_CARBON_ATTACH_LIMB "carbon_attach_limb" +#define COMSIG_CARBON_REMOVE_LIMB "carbon_remove_limb" //from base of /obj/item/bodypart/proc/drop_limb(lost_limb, dismembered) +#define COMSIG_BODYPART_GAUZED "bodypart_gauzed" // from /obj/item/bodypart/proc/apply_gauze(/obj/item/stack/gauze) +#define COMSIG_BODYPART_GAUZE_DESTROYED "bodypart_degauzed" // from [/obj/item/bodypart/proc/seep_gauze] when it runs out of absorption + +///Called when someone attempts to cuff a carbon +#define COMSIG_CARBON_CUFF_ATTEMPTED "carbon_attempt_cuff" +///Called when a carbon mutates (source = dna, mutation = mutation added) +#define COMSIG_CARBON_GAIN_MUTATION "carbon_gain_mutation" +///Called when a carbon loses a mutation (source = dna, mutation = mutation lose) +#define COMSIG_CARBON_LOSE_MUTATION "carbon_lose_mutation" +///Called when a carbon becomes addicted (source = what addiction datum, addicted_mind = mind of the addicted carbon) +#define COMSIG_CARBON_GAIN_ADDICTION "carbon_gain_addiction" +///Called when a carbon is no longer addicted (source = what addiction datum was lost, addicted_mind = mind of the freed carbon) +#define COMSIG_CARBON_LOSE_ADDICTION "carbon_lose_addiction" +///Called when a carbon gets a brain trauma (source = carbon, trauma = what trauma was added) - this is before on_gain() +#define COMSIG_CARBON_GAIN_TRAUMA "carbon_gain_trauma" +///Called when a carbon loses a brain trauma (source = carbon, trauma = what trauma was removed) +#define COMSIG_CARBON_LOSE_TRAUMA "carbon_lose_trauma" +///Called when a carbon updates their health (source = carbon) +#define COMSIG_CARBON_HEALTH_UPDATE "carbon_health_update" +///Called when a carbon updates their sanity (source = carbon) +#define COMSIG_CARBON_SANITY_UPDATE "carbon_sanity_update" +///Called when a carbon breathes, before the breath has actually occured +#define COMSIG_CARBON_PRE_BREATHE "carbon_pre_breathe" +///Called when a carbon updates their mood +#define COMSIG_CARBON_MOOD_UPDATE "carbon_mood_update" + +// /mob/living/carbon/human signals + +///Hit by successful disarm attack (mob/living/carbon/human/attacker,zone_targeted) +#define COMSIG_HUMAN_DISARM_HIT "human_disarm_hit" +///Whenever EquipRanked 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" +///from /datum/species/handle_fire. Called when the human is set on fire and burning clothes and stuff +#define COMSIG_HUMAN_BURNING "human_burning" +///from mob/living/carbon/human/UnarmedAttack(): (atom/target, proximity, modifiers) +#define COMSIG_HUMAN_EARLY_UNARMED_ATTACK "human_early_unarmed_attack" +///from mob/living/carbon/human/UnarmedAttack(): (atom/target, proximity, modifiers) +#define COMSIG_HUMAN_MELEE_UNARMED_ATTACK "human_melee_unarmed_attack" +//from mob/living/carbon/human/UnarmedAttack(): (mob/living/carbon/human/attacker) +#define COMSIG_HUMAN_MELEE_UNARMED_ATTACKBY "human_melee_unarmed_attackby" +//from /mob/living/carbon/human/proc/check_shields(): (atom/hit_by, damage, attack_text, attack_type, armour_penetration) +#define COMSIG_HUMAN_CHECK_SHIELDS "human_check_shields" + #define SHIELD_BLOCK (1<<0) + +// Mob transformation signals +///Called when a human turns into a monkey, from /mob/living/carbon/proc/finish_monkeyize() +#define COMSIG_HUMAN_MONKEYIZE "human_monkeyize" +///Called when a monkey turns into a human, from /mob/living/carbon/proc/finish_humanize(species) +#define COMSIG_MONKEY_HUMANIZE "monkey_humanize" + +///From mob/living/carbon/human/suicide() +#define COMSIG_HUMAN_SUICIDE_ACT "human_suicide_act" + +/// A mob has just equipped an item. Called on [/mob] from base of [/obj/item/equipped()]: (/obj/item/equipped_item, slot) +#define COMSIG_MOB_EQUIPPED_ITEM "mob_equipped_item" +/// A mob has just unequipped an item. +#define COMSIG_MOB_UNEQUIPPED_ITEM "mob_unequipped_item" diff --git a/code/__DEFINES/dcs/signals/signals_mod.dm b/code/__DEFINES/dcs/signals/signals_mod.dm new file mode 100644 index 00000000000..e5c27a902a6 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mod.dm @@ -0,0 +1,25 @@ +//MODsuit signals +/// Called when a module is selected to be the active one from on_select(obj/item/mod/module/module) +#define COMSIG_MOD_MODULE_SELECTED "mod_module_selected" +/// Called when a MOD activation is called from toggle_activate(mob/user) +#define COMSIG_MOD_ACTIVATE "mod_activate" + /// Cancels the suit's activation + #define MOD_CANCEL_ACTIVATE (1 << 0) +/// Called when a MOD is having modules removed from crowbar_act(mob/user, obj/crowbar) +#define COMSIG_MOD_MODULE_REMOVAL "mod_module_removal" + /// Cancels the removal of modules + #define MOD_CANCEL_REMOVAL (1 << 0) +/// Called when a module attempts to activate, however it does. At the end of checks so you can add some yourself, or work on trigger behavior (mob/user) +#define COMSIG_MODULE_TRIGGERED "mod_module_triggered" + // Cancels activation, with no message. include feedback on your cancel. + #define MOD_ABORT_USE (1<<0) +/// Called when a module activates, after all checks have passed and cooldown started. +#define COMSIG_MODULE_ACTIVATED "mod_module_activated" +/// Called when a module deactivates, after all checks have passed. +#define COMSIG_MODULE_DEACTIVATED "mod_module_deactivated" +/// Called when a module is used, after all checks have passed and cooldown started. +#define COMSIG_MODULE_USED "mod_module_used" +/// Called when the MODsuit wearer is set. +#define COMSIG_MOD_WEARER_SET "mod_wearer_set" +/// Called when the MODsuit wearer is unset. +#define COMSIG_MOD_WEARER_UNSET "mod_wearer_unset" diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_clothing.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_clothing.dm new file mode 100644 index 00000000000..6eb107d55fd --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_clothing.dm @@ -0,0 +1,10 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// /obj/item/clothing signals + +//from base of obj/item/clothing/shoes/proc/step_action(): () +#define COMSIG_SHOES_STEP_ACTION "shoes_step_action" +//from base of /obj/item/clothing/suit/space/proc/toggle_spacesuit(): (obj/item/clothing/suit/space/suit) +#define COMSIG_SUIT_SPACE_TOGGLE "suit_space_toggle" diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_food.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_food.dm new file mode 100644 index 00000000000..831363f5a52 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_food.dm @@ -0,0 +1,22 @@ +// Eating stuff +/// From datum/component/edible/proc/TakeBite: (mob/living/eater, mob/feeder, bitecount, bitesize) +#define COMSIG_FOOD_EATEN "food_eaten" +/// From base of Component/edible/On_Consume: (mob/living/eater, mob/living/feeder) +#define COMSIG_FOOD_CONSUMED "food_consumed" + +// Deep frying foods +/// An item becomes fried - From /datum/element/fried_item/Attach: (fry_time) +#define COMSIG_ITEM_FRIED "item_fried" + #define COMSIG_FRYING_HANDLED (1<<0) + +// Microwaving foods +///called on item when microwaved (): (obj/machinery/microwave/M) +#define COMSIG_ITEM_MICROWAVE_ACT "microwave_act" + #define COMPONENT_SUCCESFUL_MICROWAVE (1<<0) +///called on item when created through microwaving (): (obj/machinery/microwave/M, cooking_efficiency) +#define COMSIG_ITEM_MICROWAVE_COOKED "microwave_cooked" + +///From /datum/component/edible/on_compost(source, /mob/living/user) +#define COMSIG_EDIBLE_ON_COMPOST "on_compost" + // Used to stop food from being composted. + #define COMPONENT_EDIBLE_BLOCK_COMPOST 1 diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_grenade.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_grenade.dm new file mode 100644 index 00000000000..03767ecbc53 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_grenade.dm @@ -0,0 +1,11 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// /obj/item/grenade signals + +//called in /obj/item/gun/process_fire (user, target, params, zone_override) +#define COMSIG_GRENADE_PRIME "grenade_prime" + +//called in /obj/item/gun/process_fire (user, target, params, zone_override) +#define COMSIG_GRENADE_ARMED "grenade_armed" diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_hydroponic.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_hydroponic.dm new file mode 100644 index 00000000000..32fbb4867b2 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_hydroponic.dm @@ -0,0 +1,34 @@ +//Plants / Plant Traits + +///called when a plant with slippery skin is slipped on (mob/victim) +#define COMSIG_PLANT_ON_SLIP "plant_on_slip" +///called when a plant with liquid contents is squashed on (atom/target) +#define COMSIG_PLANT_ON_SQUASH "plant_on_squash" +///called when a plant backfires via the backfire element (mob/victim) +#define COMSIG_PLANT_ON_BACKFIRE "plant_on_backfire" +///called when a seed grows in a tray (obj/machinery/hydroponics) +#define COMSIG_SEED_ON_GROW "plant_on_grow" +///called when a seed is planted in a tray (obj/machinery/hydroponics) +#define COMSIG_SEED_ON_PLANTED "plant_on_plant" + +//Hydro tray +///from base of /obj/machinery/hydroponics/set_seed() : (obj/item/new_seed) +#define COMSIG_HYDROTRAY_SET_SEED "hydrotray_set_seed" +///from base of /obj/machinery/hydroponics/set_self_sustaining() : (new_value) +#define COMSIG_HYDROTRAY_SET_SELFSUSTAINING "hydrotray_set_selfsustaining" +///from base of /obj/machinery/hydroponics/set_weedlevel() : (new_value) +#define COMSIG_HYDROTRAY_SET_WEEDLEVEL "hydrotray_set_weedlevel" +///from base of /obj/machinery/hydroponics/set_pestlevel() : (new_value) +#define COMSIG_HYDROTRAY_SET_PESTLEVEL "hydrotray_set_pestlevel" +///from base of /obj/machinery/hydroponics/set_waterlevel() : (new_value) +#define COMSIG_HYDROTRAY_SET_WATERLEVEL "hydrotray_set_waterlevel" +///from base of /obj/machinery/hydroponics/set_plant_health() : (new_value) +#define COMSIG_HYDROTRAY_SET_PLANT_HEALTH "hydrotray_set_plant_health" +///from base of /obj/machinery/hydroponics/set_toxic() : (new_value) +#define COMSIG_HYDROTRAY_SET_TOXIC "hydrotray_set_toxic" +///from base of /obj/machinery/hydroponics/set_plant_status() : (new_value) +#define COMSIG_HYDROTRAY_SET_PLANT_STATUS "hydrotray_set_plant_status" +///from base of /obj/machinery/hydroponics/update_tray() : (mob/user, product_count) +#define COMSIG_HYDROTRAY_ON_HARVEST "hydrotray_on_harvest" +///from base of /obj/machinery/hydroponics/plantdies() +#define COMSIG_HYDROTRAY_PLANT_DEATH "hydrotray_plant_death" diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_implant.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_implant.dm new file mode 100644 index 00000000000..95123ef8b30 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_implant.dm @@ -0,0 +1,14 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// /obj/item/implant signals +#define COMSIG_IMPLANT_ACTIVATED "implant_activated" //from base of /obj/item/implant/proc/activate(): () +#define COMSIG_IMPLANT_IMPLANTING "implant_implanting" //from base of /obj/item/implant/proc/implant(): (list/args) + #define COMPONENT_STOP_IMPLANTING 1 +#define COMSIG_IMPLANT_OTHER "implant_other" //called on already installed implants when a new one is being added in /obj/item/implant/proc/implant(): (list/args, obj/item/implant/new_implant) + //#define COMPONENT_STOP_IMPLANTING 1 //The name makes sense for both + #define COMPONENT_DELETE_NEW_IMPLANT 2 + #define COMPONENT_DELETE_OLD_IMPLANT 4 +#define COMSIG_IMPLANT_EXISTING_UPLINK "implant_uplink_exists" //called on implants being implanted into someone with an uplink implant: (datum/component/uplink) + //This uses all return values of COMSIG_IMPLANT_OTHER diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_item.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_item.dm new file mode 100644 index 00000000000..745990bacd9 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_item.dm @@ -0,0 +1,75 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// /obj/item signals +///from base of obj/item/equipped(): (/mob/equipper, slot) +#define COMSIG_ITEM_EQUIPPED "item_equip" +///from base of obj/item/dropped(): (mob/user) +#define COMSIG_ITEM_DROPPED "item_drop" +///from base of obj/item/pickup(): (/mob/taker) +#define COMSIG_ITEM_PICKUP "item_pickup" + +///from base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone) +#define COMSIG_ITEM_ATTACK_ZONE "item_attack_zone" +///from base of obj/item/hit_reaction(): (list/args) +#define COMSIG_ITEM_HIT_REACT "item_hit_react" //from base of obj/item/hit_reaction(): (list/args) + #define COMPONENT_HIT_REACTION_BLOCK (1<<0) + +#define COMSIG_ITEM_ATTACK "item_attack" //from base of obj/item/attack(): (/mob/living/target, /mob/living/user) +#define COMSIG_ITEM_ATTACK_SELF "item_attack_self" //from base of obj/item/attack_self(): (/mob) + #define COMPONENT_NO_INTERACT 1 +#define COMSIG_ITEM_ATTACK_OBJ "item_attack_obj" //from base of obj/item/attack_obj(): (/obj, /mob) + #define COMPONENT_NO_ATTACK_OBJ 1 +#define COMSIG_ITEM_PRE_ATTACK "item_pre_attack" //from base of obj/item/pre_attack(): (atom/target, mob/user, params) + #define COMPONENT_NO_ATTACK 1 +#define COMSIG_ITEM_AFTERATTACK "item_afterattack" //from base of obj/item/afterattack(): (atom/target, mob/user, params) +#define COMSIG_ITEM_ATTACK_QDELETED "item_attack_qdeleted" //from base of obj/item/attack_qdeleted(): (atom/target, mob/user, params) +#define COMSIG_ITEM_IMBUE_SOUL "item_imbue_soul" //return a truthy value to prevent ensouling, checked in /obj/effect/proc_holder/spell/targeted/lichdom/cast(): (mob/user) +#define COMSIG_ITEM_MARK_RETRIEVAL "item_mark_retrieval" //called before marking an object for retrieval, checked in /obj/effect/proc_holder/spell/targeted/summonitem/cast() : (mob/user) + #define COMPONENT_BLOCK_MARK_RETRIEVAL 1 +#define COMSIG_ITEM_WEARERCROSSED "wearer_crossed" //called on item when crossed by something (): (/atom/movable, mob/living/crossed) + +///from base of item/sharpener/attackby(): (amount, max) +#define COMSIG_ITEM_SHARPEN_ACT "sharpen_act" + #define COMPONENT_BLOCK_SHARPEN_APPLIED 1 + #define COMPONENT_BLOCK_SHARPEN_BLOCKED 2 + #define COMPONENT_BLOCK_SHARPEN_ALREADY 4 + #define COMPONENT_BLOCK_SHARPEN_MAXED 8 + +#define COMSIG_ITEM_USE_CELL "item_use_cell" + +#define COMSIG_TOOL_IN_USE "tool_in_use" ///from base of [/obj/item/proc/tool_check_callback]: (mob/living/user) +#define COMSIG_TOOL_START_USE "tool_start_use" ///from base of [/obj/item/proc/tool_start_check]: (mob/living/user) +#define COMSIG_ITEM_DISABLE_EMBED "item_disable_embed" ///from [/obj/item/proc/disableEmbedding]: +#define COMSIG_MINE_TRIGGERED "minegoboom" ///from [/obj/item/mine/proc/trigger_mine]: +///from [/obj/structure/closet/supplypod/proc/endlaunch]: +#define COMSIG_SUPPLYPOD_LANDED "supplypodgoboom" + +// Item mouse siganls +#define COMSIG_ITEM_MOUSE_EXIT "item_mouse_exit" //from base of obj/item/MouseExited(): (location, control, params) +#define COMSIG_ITEM_MOUSE_ENTER "item_mouse_enter" //from base of obj/item/MouseEntered(): (location, control, params) + +///Called when an item is being offered, from [/obj/item/proc/on_offered(mob/living/carbon/offerer)] +#define COMSIG_ITEM_OFFERING "item_offering" + ///Interrupts the offer proc + #define COMPONENT_OFFER_INTERRUPT (1<<0) +///Called when an someone tries accepting an offered item, from [/obj/item/proc/on_offer_taken(mob/living/carbon/offerer, mob/living/carbon/taker)] +#define COMSIG_ITEM_OFFER_TAKEN "item_offer_taken" + ///Interrupts the offer acceptance + #define COMPONENT_OFFER_TAKE_INTERRUPT (1<<0) +/// sent from obj/effect/attackby(): (/obj/effect/hit_effect, /mob/living/attacker, params) +#define COMSIG_ITEM_ATTACK_EFFECT "item_effect_attacked" + +// /obj/item signals for economy +#define COMSIG_ITEM_SOLD "item_sold" //called when an item is sold by the exports subsystem +#define COMSIG_STRUCTURE_UNWRAPPED "structure_unwrapped" //called when a wrapped up structure is opened by hand +#define COMSIG_ITEM_UNWRAPPED "item_unwrapped" //called when a wrapped up item is opened by hand + #define COMSIG_ITEM_SPLIT_VALUE 1 +#define COMSIG_ITEM_SPLIT_PROFIT "item_split_profits" //Called when getting the item's exact ratio for cargo's profit. +#define COMSIG_ITEM_SPLIT_PROFIT_DRY "item_split_profits_dry" //Called when getting the item's exact ratio for cargo's profit, without selling the item. + +// /datum/component/two_handed signals +#define COMSIG_TWOHANDED_WIELD "twohanded_wield" //from base of datum/component/two_handed/proc/wield(mob/living/carbon/user): (/mob/user) + #define COMPONENT_TWOHANDED_BLOCK_WIELD 1 +#define COMSIG_TWOHANDED_UNWIELD "twohanded_unwield" //from base of datum/component/two_handed/proc/unwield(mob/living/carbon/user): (/mob/user) diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_transform.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_transform.dm new file mode 100644 index 00000000000..f7c0b4d5f23 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_transform.dm @@ -0,0 +1,12 @@ +// /datum/component/transforming signals + +/// From /datum/component/transforming/proc/on_attack_self(obj/item/source, mob/user): (obj/item/source, mob/user, active) +#define COMSIG_TRANSFORMING_PRE_TRANSFORM "transforming_pre_transform" + /// Return COMPONENT_BLOCK_TRANSFORM to prevent the item from transforming. + #define COMPONENT_BLOCK_TRANSFORM (1<<0) +/// From /datum/component/transforming/proc/do_transform(obj/item/source, mob/user): (obj/item/source, mob/user, active) +#define COMSIG_TRANSFORMING_ON_TRANSFORM "transforming_on_transform" + /// Return COMPONENT_NO_DEFAULT_MESSAGE to prevent the transforming component from displaying the default transform message / sound. + #define COMPONENT_NO_DEFAULT_MESSAGE (1<<0) + +#define COMSIG_ITEM_FORCE_TRANSFORM "item_force_transform" diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_aquarium.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_aquarium.dm new file mode 100644 index 00000000000..d4c88d7c16b --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_aquarium.dm @@ -0,0 +1,7 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// Aquarium related signals +#define COMSIG_AQUARIUM_SURFACE_CHANGED "aquarium_surface_changed" +#define COMSIG_AQUARIUM_FLUID_CHANGED "aquarium_fluid_changed" diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_machinery.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_machinery.dm new file mode 100644 index 00000000000..929a2f84407 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_machinery.dm @@ -0,0 +1,12 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// /obj/machinery signals + +///from /obj/machinery/obj_break(damage_flag): (damage_flag) +#define COMSIG_MACHINERY_BROKEN "machinery_broken" +///from base power_change() when power is lost +#define COMSIG_MACHINERY_POWER_LOST "machinery_power_lost" +///from base power_change() when power is restored +#define COMSIG_MACHINERY_POWER_RESTORED "machinery_power_restored" diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_supermatter.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_supermatter.dm new file mode 100644 index 00000000000..b4e8abe2b80 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_supermatter.dm @@ -0,0 +1,9 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// /obj/machinery/power/supermatter_crystal signals +/// from /obj/machinery/power/supermatter_crystal/process_atmos(); when the SM delam reaches the point of sounding alarms +#define COMSIG_SUPERMATTER_DELAM_START_ALARM "sm_delam_start_alarm" +/// from /obj/machinery/power/supermatter_crystal/process_atmos(); when the SM sounds an audible alarm +#define COMSIG_SUPERMATTER_DELAM_ALARM "sm_delam_alarm" diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_object.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_object.dm new file mode 100644 index 00000000000..65308310bc3 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_object.dm @@ -0,0 +1,19 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// /obj signals + +///from base of obj/deconstruct(): (disassembled) +#define COMSIG_OBJ_DECONSTRUCT "obj_deconstruct" +///from base of code/game/machinery +#define COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH "obj_default_unfasten_wrench" +///from base of /turf/proc/levelupdate(). (intact) true to hide and false to unhide +#define COMSIG_OBJ_HIDE "obj_hide" +/// from base of [/atom/proc/obj_destruction]: (damage_flag) +#define COMSIG_OBJ_DESTRUCTION "obj_destruction" + +/// Sent from /obj/item/update_weight_class(). (old_w_class, new_w_class) +#define COMSIG_ITEM_WEIGHT_CLASS_CHANGED "item_weight_class_changed" +/// Sent from /obj/item/update_weight_class(), to its loc. (obj/item/changed_item, old_w_class, new_w_class) +#define COMSIG_ATOM_CONTENTS_WEIGHT_CLASS_CHANGED "atom_contents_weight_class_changed" diff --git a/code/__DEFINES/dcs/signals/signals_reagent.dm b/code/__DEFINES/dcs/signals/signals_reagent.dm new file mode 100644 index 00000000000..957bb608367 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_reagent.dm @@ -0,0 +1,59 @@ +// Atom reagent signals. Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +///from base of atom/expose_reagents(): (/list, /datum/reagents, methods, volume_modifier, show_message) +//#define COMSIG_ATOM_EXPOSE_REAGENTS "atom_expose_reagents" + /// Prevents the atom from being exposed to reagents if returned on [COMSIG_ATOM_EXPOSE_REAGENTS] + //#define COMPONENT_NO_EXPOSE_REAGENTS (1<<0) +///from base of atom/expose_reagents(): (/list, /datum/reagents, methods, volume_modifier, show_message) +//#define COMSIG_ATOM_AFTER_EXPOSE_REAGENTS "atom_after_expose_reagents" +///from base of [/datum/reagent/proc/expose_atom]: (/datum/reagent, reac_volume) +//#define COMSIG_ATOM_EXPOSE_REAGENT "atom_expose_reagent" +///from base of [/datum/reagent/proc/expose_atom]: (/atom, reac_volume) +//#define COMSIG_REAGENT_EXPOSE_ATOM "reagent_expose_atom" +///from base of [/datum/reagent/proc/expose_atom]: (/obj, reac_volume) +//#define COMSIG_REAGENT_EXPOSE_OBJ "reagent_expose_obj" +///from base of [/datum/reagent/proc/expose_atom]: (/mob/living, reac_volume, methods, show_message, touch_protection, /mob/camera/blob) // ovemind arg is only used by blob reagents. +//#define COMSIG_REAGENT_EXPOSE_MOB "reagent_expose_mob" +///from base of [/datum/reagent/proc/expose_atom]: (/turf, reac_volume) +//#define COMSIG_REAGENT_EXPOSE_TURF "reagent_expose_turf" + +///from base of [/datum/materials_controller/proc/InitializeMaterial]: (/datum/material) +//#define COMSIG_MATERIALS_INIT_MAT "SSmaterials_init_mat" + +///from base of [/datum/component/multiple_lives/proc/respawn]: (mob/respawned_mob, gibbed, lives_left) +//#define COMSIG_ON_MULTIPLE_LIVES_RESPAWN "on_multiple_lives_respawn" + +///from base of [/datum/reagents/proc/add_reagent] - Sent before the reagent is added: (reagenttype, amount, reagtemp, data, no_react) +//#define COMSIG_REAGENTS_PRE_ADD_REAGENT "reagents_pre_add_reagent" + /// Prevents the reagent from being added. + //#define COMPONENT_CANCEL_REAGENT_ADD (1<<0) +///from base of [/datum/reagents/proc/add_reagent]: (/datum/reagent, amount, reagtemp, data, no_react) +#define COMSIG_REAGENTS_NEW_REAGENT "reagents_new_reagent" +///from base of [/datum/reagents/proc/add_reagent]: (/datum/reagent, amount, reagtemp, data, no_react) +#define COMSIG_REAGENTS_ADD_REAGENT "reagents_add_reagent" +///from base of [/datum/reagents/proc/del_reagent]: (/datum/reagent) +#define COMSIG_REAGENTS_DEL_REAGENT "reagents_del_reagent" +///from base of [/datum/reagents/proc/remove_reagent]: (/datum/reagent, amount) +#define COMSIG_REAGENTS_REM_REAGENT "reagents_rem_reagent" +///from base of [/datum/reagents/proc/clear_reagents]: () +#define COMSIG_REAGENTS_CLEAR_REAGENTS "reagents_clear_reagents" +///from base of [/datum/reagents/proc/set_temperature]: (new_temp, old_temp) +//#define COMSIG_REAGENTS_TEMP_CHANGE "reagents_temp_change" +///from base of [/datum/reagents/proc/handle_reactions]: (num_reactions) +//#define COMSIG_REAGENTS_REACTED "reagents_reacted" +///from base of [/datum/reagents/proc/process]: (num_reactions) +//#define COMSIG_REAGENTS_REACTION_STEP "reagents_time_step" +///from base of [/atom/proc/expose_reagents]: (/atom, /list, methods, volume_modifier, show_message) +//#define COMSIG_REAGENTS_EXPOSE_ATOM "reagents_expose_atom" +///from base of [/obj/proc/expose_reagents]: (/obj, /list, methods, volume_modifier, show_message) +//#define COMSIG_REAGENTS_EXPOSE_OBJ "reagents_expose_obj" +///from base of [/mob/living/proc/expose_reagents]: (/mob/living, /list, methods, volume_modifier, show_message, touch_protection) +//#define COMSIG_REAGENTS_EXPOSE_MOB "reagents_expose_mob" +///from base of [/turf/proc/expose_reagents]: (/turf, /list, methods, volume_modifier, show_message) +//#define COMSIG_REAGENTS_EXPOSE_TURF "reagents_expose_turf" +/// sent when reagents are transfered from a cup, to something refillable (atom/transfer_to) +//#define COMSIG_REAGENTS_CUP_TRANSFER_TO "reagents_cup_transfer_to" +/// sent when reagents are transfered from some reagent container, to a cup (atom/transfer_from) +//#define COMSIG_REAGENTS_CUP_TRANSFER_FROM "reagents_cup_transfer_from" diff --git a/code/__DEFINES/dcs/signals/signals_ship.dm b/code/__DEFINES/dcs/signals/signals_ship.dm new file mode 100644 index 00000000000..c18a26c5089 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_ship.dm @@ -0,0 +1,2 @@ +///Sent when a shuttle finishes loading to allow for any machinery that requires a late connection to fire that connection +#define COMSIG_SHIP_DONE_CONNECTING "late_connect" diff --git a/code/__DEFINES/dcs/signals/signals_storage.dm b/code/__DEFINES/dcs/signals/signals_storage.dm new file mode 100644 index 00000000000..456ac3c0781 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_storage.dm @@ -0,0 +1,4 @@ +/// Sent when /datum/storage/dump_content_at(): (obj/item/storage_source, mob/user) +#define COMSIG_STORAGE_DUMP_CONTENT "storage_dump_contents" + /// Return to stop the standard dump behavior. + #define STORAGE_DUMP_HANDLED (1<<0) diff --git a/code/__DEFINES/economy.dm b/code/__DEFINES/economy.dm index c31bffa08bf..700d8f1db69 100644 --- a/code/__DEFINES/economy.dm +++ b/code/__DEFINES/economy.dm @@ -1,16 +1,12 @@ -#define ACCOUNT_CIV "CIV" -#define ACCOUNT_CIV_NAME "Civil Budget" -#define ACCOUNT_ENG "ENG" -#define ACCOUNT_ENG_NAME "Engineering Budget" -#define ACCOUNT_SCI "SCI" -#define ACCOUNT_SCI_NAME "Scientific Budget" -#define ACCOUNT_MED "MED" -#define ACCOUNT_MED_NAME "Medical Budget" -#define ACCOUNT_SRV "SRV" -#define ACCOUNT_SRV_NAME "Service Budget" -#define ACCOUNT_CAR "CAR" -#define ACCOUNT_CAR_NAME "Cargo Budget" -#define ACCOUNT_SEC "SEC" -#define ACCOUNT_SEC_NAME "Defense Budget" +#define CREDIT_LOG_WITHDRAW "cash" +#define CREDIT_LOG_TRANSFER_IN "transfer" +#define CREDIT_LOG_TRANSFER_OUT "transfer_out" +#define CREDIT_LOG_DEPOSIT "deposit" +#define CREDIT_LOG_STARTING_MONEY "starting_money" +#define CREDIT_LOG_VENDOR_PURCHASE "vendor_purchase" +#define CREDIT_LOG_MISSION "mission" +#define CREDIT_LOG_CARGO "cargo_purchase" +#define CREDIT_LOG_BOUNTY "bounty" +#define CREDIT_LOG_SYNDICATE_CONTRACT "syndicate_contract" +#define CREDIT_LOG_SELLING_PAD "selling_pad" -#define NO_FREEBIES "commies go home" diff --git a/code/__DEFINES/factions.dm b/code/__DEFINES/factions.dm index 5eb0209dda4..1fa102e8687 100644 --- a/code/__DEFINES/factions.dm +++ b/code/__DEFINES/factions.dm @@ -8,7 +8,39 @@ #define FACTION_PLAYER_NANOTRASEN "playerNanotrasen" #define FACTION_PLAYER_FRONTIERSMEN "playerFrontiersmen" #define FACTION_PLAYER_MINUTEMAN "playerMinuteman" -#define FACTION_PLAYER_SOLGOV "playerSolgov" +#define FACTION_PLAYER_SOLCON "playerSolcon" #define FACTION_PLAYER_INTEQ "playerInteq" #define FACTION_PLAYER_ROUMAIN "playerRoumain" #define FACTION_PLAYER_GEZENA "playerGezena" + +#define FACTION_SYNDICATE "Syndicate" + #define FACTION_NGR "New Gorlex Republic" + #define FACTION_CYBERSUN "CyberSun" + #define FACTION_HARDLINERS "Hardliners" + #define FACTION_SUNS "Student-Union of Naturalistic Sciences" +#define FACTION_SOLGOV "SolGov" +#define FACTION_SRM "Saint-Roumain Militia" +#define FACTION_INTEQ "Inteq Risk Management Group" +#define FACTION_CLIP "CLIP Minutemen" +#define FACTION_NT "Nanotrasen" + #define FACTION_NS_LOGI "N+S Logistics" + #define FACTION_VIGILITAS "Vigilitas Interstellar" +#define FACTION_FRONTIER "Frontiersmen Fleet" +#define FACTION_PGF "Pan-Gezenan Federation" +#define FACTION_INDEPENDENT "Independent" + +#define PREFIX_SYNDICATE list("SEV", "SSV") + #define PREFIX_NGR list("NGRV") + #define PREFIX_CYBERSUN list("CSSV") + #define PREFIX_HARDLINERS list("ISV") + #define PREFIX_SUNS list("SUNS") +#define PREFIX_SOLGOV list("SCSV") +#define PREFIX_SRM list("SRSV") +#define PREFIX_INTEQ list("IRMV") +#define PREFIX_CLIP list("CMSV", "CMGSV") +#define PREFIX_NT list("NTSV") + #define PREFIX_NS_LOGI list("NSSV") + #define PREFIX_VIGILITAS list("VISV") +#define PREFIX_FRONTIER list("FFV") +#define PREFIX_PGF list("PGF", "PGFMC", "PGFN") +#define PREFIX_INDEPENDENT list("SV", "IMV", "ISV") diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index c27a78ffd2d..b97972be8a4 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -46,6 +46,8 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define SHOW_BEHIND_LARGE_ICONS_1 (1<<12) /// Should we use the initial icon for display? Mostly used by overlay only objects #define HTML_USE_INITAL_ICON_1 (1<<20) +// Whether or not this atom is storing contents for a disassociated storage object +#define HAS_DISASSOCIATED_STORAGE_1 (1<<24) // Update flags for [/atom/proc/update_appearance] /// Update the atom's name @@ -83,8 +85,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 ////////////////Area flags\\\\\\\\\\\\\\ /// If it's a valid territory for cult summoning or the CRAB-17 phone to spawn #define VALID_TERRITORY (1<<0) -/// If blobs can spawn there and if it counts towards their score. -#define BLOBS_ALLOWED (1<<1) /// If mining tunnel generation is allowed in this area #define CAVES_ALLOWED (1<<2) /// If flora are allowed to spawn in this area randomly through tunnel generation @@ -97,8 +97,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define HIDDEN_AREA (1<<6) /// If false, loading multiple maps with this area type will create multiple instances. #define UNIQUE_AREA (1<<7) -/// Can the Xenobio management console transverse this area by default? -#define XENOBIOLOGY_COMPATIBLE (1<<8) /* These defines are used specifically with the atom/pass_flags bitmask @@ -108,7 +106,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define PASSTABLE (1<<0) #define PASSGLASS (1<<1) #define PASSGRILLE (1<<2) -#define PASSBLOB (1<<3) #define PASSMOB (1<<4) #define PASSCLOSEDTURF (1<<5) /// Let thrown things past us. **ONLY MEANINGFUL ON pass_flags_self!** diff --git a/code/__DEFINES/fonts.dm b/code/__DEFINES/fonts.dm index 32a08f38861..8ffecbbe20d 100644 --- a/code/__DEFINES/fonts.dm +++ b/code/__DEFINES/fonts.dm @@ -19,3 +19,5 @@ #define SHARE "Share Tech Mono" GLOBAL_LIST_INIT(pda_styles, sortList(list(MONO, VT, ORBITRON, SHARE))) + +#define EMOJI_SET 'icons/emoji.dmi' diff --git a/code/__DEFINES/food.dm b/code/__DEFINES/food.dm index f2b6a8fd196..a12ceca284d 100644 --- a/code/__DEFINES/food.dm +++ b/code/__DEFINES/food.dm @@ -49,6 +49,16 @@ #define DRINK_FANTASTIC 4 #define FOOD_AMAZING 5 +/// Food is "in a container", not in a code sense, but in a literal sense (canned foods) #define FOOD_IN_CONTAINER (1<<0) +/// Finger food can be eaten while walking / running around +#define FOOD_FINGER_FOOD (1<<1) #define STOP_SERVING_BREAKFAST (15 MINUTES) + +///Amount of reagents you start with on crafted food excluding the used parts +#define CRAFTED_FOOD_BASE_REAGENT_MODIFIER 0.7 +///Modifier of reagents you get when crafting food from the parts used +#define CRAFTED_FOOD_INGREDIENT_REAGENT_MODIFIER 0.5 + +#define IS_EDIBLE(O) (O.GetComponent(/datum/component/edible)) diff --git a/code/__DEFINES/generators.dm b/code/__DEFINES/generators.dm new file mode 100644 index 00000000000..e9d373c9a65 --- /dev/null +++ b/code/__DEFINES/generators.dm @@ -0,0 +1,15 @@ +//generator types +#define GEN_NUM "num" +#define GEN_VECTOR "vector" +#define GEN_BOX "box" +#define GEN_COLOR "color" +#define GEN_CIRCLE "circle" +#define GEN_SPHERE "sphere" +#define GEN_SQUARE "square" +#define GEN_CUBE "cube" + +///particle editor var modifiers +#define P_DATA_GENERATOR "generator" +#define P_DATA_ICON_ADD "icon_add" +#define P_DATA_ICON_REMOVE "icon_remove" +#define P_DATA_ICON_WEIGHT "icon_edit" diff --git a/code/__DEFINES/guns.dm b/code/__DEFINES/guns.dm index 29a0dc66fde..69148e1d685 100644 --- a/code/__DEFINES/guns.dm +++ b/code/__DEFINES/guns.dm @@ -12,7 +12,8 @@ #define TRIGGER_GUARD_NONE 0 #define TRIGGER_GUARD_NORMAL 1 //Gun bolt types -///The gun has a closed bolt, when resting it's closed, and must be racked to get a bullet from a magazine. see: Every Fucking Videogame Gun Ever +///Gun has a bolt, it stays closed while not cycling. The gun must be racked to have a bullet chambered when a mag is inserted. +/// Example: c20, shotguns, m90 #define BOLT_TYPE_STANDARD 1 ///Gun has a bolt, it is open when ready to fire. The gun can never have a chambered bullet with no magazine, but the bolt stays ready when a mag is removed. /// Example: Some SMGs, the L6 @@ -23,24 +24,15 @@ ///Gun has a bolt, it locks back when empty. It can be released to chamber a round if a magazine is in. /// Example: Pistols with a slide lock, some SMGs #define BOLT_TYPE_LOCKING 4 +///Gun has an HK-style locking charging handle, so you can slap it. Only use this for flavor, otherwise modern-style automatics should use BOLT_TYPE_LOCKING. +/// Example: everything made by lanchester +#define BOLT_TYPE_CLIP 5 //Sawn off nerfs ///accuracy penalty of sawn off guns #define SAWN_OFF_ACC_PENALTY 25 ///added recoil of sawn off guns #define SAWN_OFF_RECOIL 1 -//ammo box sprite defines -///ammo box will always use provided icon state -#define AMMO_BOX_ONE_SPRITE 0 -///ammo box will have a different state for each bullet; - -#define AMMO_BOX_PER_BULLET 1 -///ammo box will have a different state for full and empty; -max_ammo and -0 -#define AMMO_BOX_FULL_EMPTY 2 - -#define SUPPRESSED_NONE 0 -#define SUPPRESSED_QUIET 1 ///standard suppressed -#define SUPPRESSED_VERY 2 /// no message - //Autofire component /// Compatible firemode is in the gun. Wait until it's held in the user hands. #define AUTOFIRE_STAT_IDLE (1<<0) @@ -54,6 +46,10 @@ #define COMSIG_AUTOFIRE_SHOT "autofire_shot" #define COMPONENT_AUTOFIRE_SHOT_SUCCESS (1<<0) +#define SUPPRESSED_NONE 0 +#define SUPPRESSED_QUIET 1 ///standard suppressed +#define SUPPRESSED_VERY 2 /// no message + #define DUALWIELD_PENALTY_EXTRA_MULTIPLIER 1.6 #define MANUFACTURER_NONE null @@ -65,9 +61,11 @@ #define MANUFACTURER_EOEHOMA "the Eoehoma Firearms emblem" #define MANUFACTURER_NANOTRASEN_OLD "an outdated Nanotrasen logo" #define MANUFACTURER_NANOTRASEN "the Nanotrasen logo" +#define MANUFACTURER_VIGILITAS "the Vigilitas Interstellar logo" #define MANUFACTURER_BRAZIL "a green flag with a blue circle and a yellow diamond around it" #define MANUFACTURER_INTEQ "an orange crest with the letters 'IRMG'" #define MANUFACTURER_MINUTEMAN "the Lanchester City Firearms Plant logo" +#define MANUFACTURER_MINUTEMAN_LASER "the Clover Photonics logo" #define MANUFACTURER_DONKCO "the Donk! Co. logo" #define MANUFACTURER_PGF "the Etherbor Industries emblem" #define MANUFACTURER_ROSEUS "the Roseus Galactic logo" @@ -75,8 +73,105 @@ #define MANUFACTURER_LAKVAR "the letters LKV" #define MANUFACTURER_HEPHAESTUS "the Hephaestus Industries logo" #define MANUFACTURER_IMPORT "Lanchester Import Co." +#define MANUFACTURER_SERENE "the Serene Outdoors logo" + +// Misfire chances if the gun's safety is off +#define GUN_NO_SAFETY_MALFUNCTION_CHANCE_LOW 5 +#define GUN_NO_SAFETY_MALFUNCTION_CHANCE_MEDIUM 10 +#define GUN_NO_SAFETY_MALFUNCTION_CHANCE_HIGH 15 + +//slowdown defines +#define NO_SLOWDOWN 0.0 +#define LIGHT_PISTOL_SLOWDOWN 0.05 +#define PISTOL_SLOWDOWN 0.1 +#define REVOLVER_SLOWDOWN 0.15 +#define HEAVY_REVOLVER_SLOWDOWN 0.2 +#define PDW_SLOWDOWN 0.25 +#define SMG_SLOWDOWN 0.3 +#define SHOTGUN_SLOWDOWN 0.4 +#define HEAVY_SHOTGUN_SLOWDOWN 0.45 +#define LIGHT_RIFLE_SLOWDOWN 0.45 +#define RIFLE_SLOWDOWN 0.55 +#define HEAVY_RIFLE_SLOWDOWN 0.6 +#define DMR_SLOWDOWN 0.6 +#define SAW_SLOWDOWN 0.7 +#define SNIPER_SLOWDOWN 0.9 +#define HMG_SLOWDOWN 1 +#define AMR_SLOWDOWN 1 + + +//laser slowdown +#define LASER_PISTOL_SLOWDOWN 0.05 +#define LASER_SMG_SLOWDOWN 0.2 +#define LASER_RIFLE_SLOWDOWN 0.35 +#define HEAVY_LASER_RIFLE_SLOWDOWN 0.45 +#define LASER_SNIPER_SLOWDOWN 0.6 +///////////////// +// ATTACHMENTS // +///////////////// +#define TRAIT_ATTACHABLE "attachable" + +#define COMSIG_ATTACHMENT_ATTACH "attach-attach" +#define COMSIG_ATTACHMENT_DETACH "attach-detach" +#define COMSIG_ATTACHMENT_EXAMINE "attach-examine" +#define COMSIG_ATTACHMENT_EXAMINE_MORE "attach-examine-more" +#define COMSIG_ATTACHMENT_PRE_ATTACK "attach-pre-attack" +#define COMSIG_ATTACHMENT_ATTACK "attach-attacked" +#define COMSIG_ATTACHMENT_UPDATE_OVERLAY "attach-overlay" + +#define COMSIG_ATTACHMENT_TOGGLE "attach-toggle" + +#define COMSIG_ATTACHMENT_GET_SLOT "attach-slot-who" +#define ATTACHMENT_SLOT_MUZZLE "muzzle" +#define ATTACHMENT_SLOT_SCOPE "scope" +#define ATTACHMENT_SLOT_GRIP "grip" +#define ATTACHMENT_SLOT_RAIL "rail" +#define ATTACHMENT_SLOT_STOCK "stock" + +/proc/attachment_slot_to_bflag(slot) + switch(slot) + if(ATTACHMENT_SLOT_MUZZLE) + return (1<<0) + if(ATTACHMENT_SLOT_SCOPE) + return (1<<1) + if(ATTACHMENT_SLOT_GRIP) + return (1<<2) + if(ATTACHMENT_SLOT_RAIL) + return (1<<3) + if(ATTACHMENT_SLOT_STOCK) + return (1<<4) + +/proc/attachment_slot_from_bflag(slot) + switch(slot) + if(1<<0) + return ATTACHMENT_SLOT_MUZZLE + if(1<<1) + return ATTACHMENT_SLOT_SCOPE + if(1<<2) + return ATTACHMENT_SLOT_GRIP + if(1<<3) + return ATTACHMENT_SLOT_RAIL + if(1<<4) + return ATTACHMENT_SLOT_STOCK + +#define ATTACHMENT_DEFAULT_SLOT_AVAILABLE list( \ + ATTACHMENT_SLOT_MUZZLE = 1, \ + ATTACHMENT_SLOT_SCOPE = 1, \ + ATTACHMENT_SLOT_GRIP = 1, \ + ATTACHMENT_SLOT_RAIL = 1, \ + ATTACHMENT_SLOT_STOCK = 1, \ +) + +//attach_features_flags +/// Removable by hand +#define ATTACH_REMOVABLE_HAND (1<<0) +/// Removable via crowbar +#define ATTACH_REMOVABLE_TOOL (1<<1) +#define ATTACH_TOGGLE (1<<2) +#define ATTACH_NO_SPRITE (1<<3) + ///////////////// // PROJECTILES // ///////////////// @@ -88,6 +183,14 @@ #define NICE_SHOT_RICOCHET_BONUS 10 //if the shooter has the NICE_SHOT trait and they fire a ricocheting projectile, add this to the ricochet chance and auto aim angle +//ammo box sprite defines +///ammo box will always use provided icon state +#define AMMO_BOX_ONE_SPRITE 0 +///ammo box will have a different state for each bullet; - +#define AMMO_BOX_PER_BULLET 1 +///ammo box will have a different state for full and empty; -max_ammo and -0 +#define AMMO_BOX_FULL_EMPTY 2 + //Projectile Reflect #define REFLECT_NORMAL (1<<0) #define REFLECT_FAKEPROJECTILE (1<<1) @@ -100,3 +203,6 @@ #define FIREMODE_FULLAUTO "auto" #define FIREMODE_OTHER "other" #define FIREMODE_OTHER_TWO "other2" + +#define GUN_LEFTHAND_ICON 'icons/mob/inhands/weapons/guns_lefthand.dmi' +#define GUN_RIGHTHAND_ICON 'icons/mob/inhands/weapons/guns_righthand.dmi' diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index 1f9d1415114..cff36b5cbc2 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -31,6 +31,8 @@ //SLOT GROUP HELPERS #define ITEM_SLOT_POCKETS (ITEM_SLOT_LPOCKET|ITEM_SLOT_RPOCKET) +//All the item slots that are allowed to be held in Kepori beaks (their mask slot) +#define ITEM_SLOT_KEPORI_BEAK (ITEM_SLOT_MASK|ITEM_SLOT_ID|ITEM_SLOT_POCKETS|ITEM_SLOT_DEX_STORAGE|ITEM_SLOT_SUITSTORE) //Bit flags for the flags_inv variable, which determine when a piece of clothing hides another. IE a helmet hiding glasses. //Make sure to update check_obscured_slots() if you add more. @@ -46,6 +48,7 @@ #define HIDEFACIALHAIR (1<<9) #define HIDENECK (1<<10) #define HIDEHORNS (1<<11) // Used for hiding Unathi horns. +#define HIDESNOUT (1<<11) //bitflags for clothing coverage - also used for limbs #define HEAD (1<<0) @@ -81,8 +84,9 @@ #define DIGITIGRADE_VARIATION_NO_NEW_ICON (1<<2) #define DIGITIGRADE_VARIATION_SAME_ICON_FILE (1<<3) //intended for use with factional icon files for organization purposes, otherwise use either above. Ex of naming: a state called "nameof_thing" can be named "nameof_thing_digi" #define SNOUTED_VARIATION (1<<4) //Ex of naming: a state called "nameof_thing" can be named "nameof_thing_snouted" -#define VOX_VARIATION (1<<5) -#define KEPORI_VARIATION (1<<6) +#define SNOUTED_SMALL_VARIATION (1<<5) //For Elzuose snouts +#define VOX_VARIATION (1<<6) +#define KEPORI_VARIATION (1<<7) #define NOT_DIGITIGRADE 0 #define FULL_DIGITIGRADE 1 @@ -149,7 +153,7 @@ GLOBAL_LIST_INIT(security_vest_allowed, typecacheof(list( /obj/item/gun/energy, /obj/item/gun/grenadelauncher, /obj/item/flamethrower, - /obj/item/kitchen/knife/combat, + /obj/item/melee/knife/combat, /obj/item/melee/baton, /obj/item/melee/classic_baton/telescopic, /obj/item/reagent_containers/spray/pepper, diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 241136c297b..5bf9e3add6a 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -8,6 +8,8 @@ #define isweakref(D) (istype(D, /datum/weakref)) +#define isgenerator(A) (istype(A, /generator)) + //Turfs //#define isturf(A) (istype(A, /turf)) This is actually a byond built-in. Added here for completeness sake. @@ -98,8 +100,6 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list( #define isalienqueen(A) (istype(A, /mob/living/carbon/alien/humanoid/royal/queen)) -#define istruedevil(A) (istype(A, /mob/living/carbon/true_devil)) - //Silicon mobs #define issilicon(A) (istype(A, /mob/living/silicon)) @@ -136,10 +136,6 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list( #define ishostile(A) (istype(A, /mob/living/simple_animal/hostile)) -#define isswarmer(A) (istype(A, /mob/living/simple_animal/hostile/swarmer)) - -#define isguardian(A) (istype(A, /mob/living/simple_animal/hostile/guardian)) - #define isconstruct(A) (istype(A, /mob/living/simple_animal/hostile/construct)) #define ismegafauna(A) (istype(A, /mob/living/simple_animal/hostile/megafauna)) @@ -155,8 +151,6 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list( #define isnewplayer(A) (istype(A, /mob/dead/new_player)) -#define isovermind(A) (istype(A, /mob/camera/blob)) - #define iscameramob(A) (istype(A, /mob/camera)) #define isaicamera(A) (istype(A, /mob/camera/aiEye)) @@ -166,6 +160,8 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list( #define isitem(A) (istype(A, /obj/item)) +#define isstack(A) (istype(A, /obj/item/stack)) + #define isgrenade(A) (istype(A, /obj/item/grenade)) #define islandmine(A) (istype(A, /obj/item/mine)) @@ -227,8 +223,6 @@ GLOBAL_LIST_INIT(glass_sheet_types, typecacheof(list( #define iseffect(O) (istype(O, /obj/effect)) -#define isblobmonster(O) (istype(O, /mob/living/simple_animal/hostile/blob)) - #define isshuttleturf(T) (length(T.baseturfs) && (/turf/baseturf_skipover/shuttle in T.baseturfs)) #define isProbablyWallMounted(O) (O.pixel_x > 20 || O.pixel_x < -20 || O.pixel_y > 20 || O.pixel_y < -20) diff --git a/code/__DEFINES/language.dm b/code/__DEFINES/language.dm index 021cb202004..00e0fb55783 100644 --- a/code/__DEFINES/language.dm +++ b/code/__DEFINES/language.dm @@ -12,7 +12,6 @@ #define LANGUAGE_APHASIA "aphasia" #define LANGUAGE_CULTIST "cultist" #define LANGUAGE_CURATOR "curator" -#define LANGUAGE_DEVIL "devil" #define LANGUAGE_GLAND "gland" #define LANGUAGE_HAT "hat" #define LANGUAGE_HIGH "high" diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index d021558901f..bd9b0f0063b 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -1,5 +1,6 @@ //Defines for atom layers and planes //KEEP THESE IN A NICE ACSCENDING ORDER, PLEASE +#define LOWEST_EVER_PLANE -100 #define CLICKCATCHER_PLANE -99 @@ -21,6 +22,20 @@ #define BLACKNESS_PLANE 0 //To keep from conflicts with SEE_BLACKNESS internals #define BLACKNESS_PLANE_RENDER_TARGET "BLACKNESS_PLANE" +#define ABOVE_GAME_PLANE 1 + +//-------------------- Rendering --------------------- +#define RENDER_PLANE_GAME 100 +#define RENDER_PLANE_NON_GAME 101 +#define RENDER_PLANE_MASTER 102 + +// Lummox I swear to god I will find you +// NOTE! You can only ever have planes greater then -10000, if you add too many with large offsets you will brick multiz +// Same can be said for large multiz maps. Tread carefully mappers +#define HIGHEST_EVER_PLANE RENDER_PLANE_MASTER +/// The range unique planes can be in +#define PLANE_RANGE (HIGHEST_EVER_PLANE - LOWEST_EVER_PLANE) + #define SPACE_LAYER 1.8 //#define TURF_LAYER 2 //For easy recordkeeping; this is a byond define #define MID_TURF_LAYER 2.02 diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index a89965da7be..7c04242f997 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -123,9 +123,16 @@ #define MACHINE_ELECTRIFIED_PERMANENT -1 #define MACHINE_DEFAULT_ELECTRIFY_TIME 30 -//these flags are used to tell the DNA modifier if a plant gene cannot be extracted or modified. +/// -- Flags for genes -- +/// Plant genes that can be removed via gene shears. #define PLANT_GENE_REMOVABLE (1<<0) -#define PLANT_GENE_EXTRACTABLE (1<<1) +/// Plant genes that can be mutated randomly in strange seeds / due to high instability. +#define PLANT_GENE_MUTATABLE (1<<1) +#define PLANT_GENE_EXTRACTABLE (1<<2) + +/// -- Flags for traits. -- +/// Caps the plant's yield at 5 instead of 10. +#define TRAIT_HALVES_YIELD (1<<0) //used to determine what rotation mode the ore redemption machine is in #define ORM_BOTH 0 @@ -136,3 +143,27 @@ #define CLONING_DELETE_RECORD (1<<1) #define CLICKSOUND_INTERVAL (0.1 SECONDS) //! clicky noises, how much time needed in between clicks on the machine for the sound to play on click again. + +/// ONLY shoots at mobs who match the rest of the flags and have weaponry/are otherwise dangerous +#define TURRET_FLAG_SHOOT_DANGEROUS_ONLY (1<<0) +/// Will shoot at things that shoot at it +#define TURRET_FLAG_SHOOT_RETALIATE (1<<1) + +/// Will shoot at things that aren't human +#define TURRET_FLAG_SHOOT_FAUNA (1<<2) +/// Will shoot at humans +#define TURRET_FLAG_SHOOT_HUMANS (1<<3) +/// Will shoot at silicons +#define TURRET_FLAG_SHOOT_SILICONS (1<<4) +/// Will shoot at any kind of mob +#define TURRET_FLAG_SHOOT_ALLMOBS TURRET_FLAG_SHOOT_FAUNA|TURRET_FLAG_SHOOT_HUMANS|TURRET_FLAG_SHOOT_SILICONS + +/// Will only shoot at things that AREN'T in the turret's set faction +#define TURRET_FLAG_SHOOT_NONFACTION (1<<5) +/// Will only shoot at things that ARE in the turret's set faction +#define TURRET_FLAG_SHOOT_SPECIFIC_FACTION (1<<6) +/// Will totally ignore targets' factions - the same as not setting the above two flags +//#define TURRET_FLAG_SHOOT_ALLFACTION (1<<8) + +#define TURRET_FLAG_DEFAULT TURRET_FLAG_SHOOT_DANGEROUS_ONLY|TURRET_FLAG_SHOOT_RETALIATE|TURRET_FLAG_SHOOT_FAUNA|TURRET_FLAG_SHOOT_NONFACTION +#define TURRET_FLAG_HOSTILE TURRET_FLAG_SHOOT_ALLMOBS|TURRET_FLAG_SHOOT_RETALIATE|TURRET_FLAG_SHOOT_NONFACTION diff --git a/code/__DEFINES/maths.dm b/code/__DEFINES/maths.dm index 719f06f2a81..a442ddb464b 100644 --- a/code/__DEFINES/maths.dm +++ b/code/__DEFINES/maths.dm @@ -290,3 +290,11 @@ /// Like SPT_PROB_RATE but easier to use, simply put `if(SPT_PROB(10, 5))` #define SPT_PROB(prob_per_second_percent, seconds_per_tick) (prob(100*SPT_PROB_RATE((prob_per_second_percent)/100, (seconds_per_tick)))) + +/// Converts a probability/second chance to probability/delta_time chance +/// For example, if you want an event to happen with a 10% per second chance, but your proc only runs every 5 seconds, do `if(prob(100*DT_PROB_RATE(0.1, 5)))` +#define DT_PROB_RATE(prob_per_second, delta_time) (1 - (1 - (prob_per_second)) ** (delta_time)) + +/// Like DT_PROB_RATE but easier to use, simply put `if(DT_PROB(10, 5))` +#define DT_PROB(prob_per_second_percent, delta_time) (prob(100*DT_PROB_RATE((prob_per_second_percent)/100, (delta_time)))) +// ) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index ddd395d3879..384b7fcc46c 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -28,7 +28,6 @@ #define LEGCUFF_LAYER 5 #define HANDS_LAYER 4 #define BODY_FRONT_LAYER 3 -#define HALO_LAYER 2 //blood cult ascended halo, because there's currently no better solution for adding/removing #define FIRE_LAYER 1 //If you're on fire #define TOTAL_LAYERS 31 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_; @@ -277,12 +276,6 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE #define NUKE_SYNDICATE_BASE 3 #define STATION_DESTROYED_NUKE 4 #define STATION_EVACUATED 5 -#define BLOB_WIN 8 -#define BLOB_NUKE 9 -#define BLOB_DESTROYED 10 -#define CULT_ESCAPE 11 -#define CULT_FAILURE 12 -#define CULT_SUMMON 13 #define NUKE_MISS 14 #define OPERATIVES_KILLED 15 #define OPERATIVE_SKIRMISH 16 @@ -342,15 +335,6 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE #define SYRINGE_DRAW 0 #define SYRINGE_INJECT 1 -//gold slime core spawning -#define NO_SPAWN 0 -#define HOSTILE_SPAWN 1 -#define FRIENDLY_SPAWN 2 - -//slime core activation type -#define SLIME_ACTIVATE_MINOR 1 -#define SLIME_ACTIVATE_MAJOR 2 - #define LUMINESCENT_DEFAULT_GLOW 2 #define RIDING_OFFSET_ALL "ALL" @@ -381,7 +365,6 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE #define TELEPORT_CHANNEL_QUANTUM "quantum" //Quantum-based teleportation, requires both sender and receiver, but is free from normal disruption #define TELEPORT_CHANNEL_WORMHOLE "wormhole" //Wormhole teleportation, is not disrupted by bluespace fluctuations but tends to be very random or unsafe #define TELEPORT_CHANNEL_MAGIC "magic" //Magic teleportation, does whatever it wants (unless there's antimagic) -#define TELEPORT_CHANNEL_CULT "cult" //Cult teleportation, does whatever it wants (unless there's holiness) #define TELEPORT_CHANNEL_FREE "free" //Anything else //Run the world with this parameter to enable a single run though of the game setup and tear down process with unit tests in between @@ -464,3 +447,7 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE #define ROUND_END_NOT_DELAYED 0 #define ROUND_END_DELAYED 1 #define ROUND_END_TGS 2 + +/// A null statement to guard against EmptyBlock lint without necessitating the use of pass() +/// Used to avoid proc-call overhead. But use sparingly. Probably pointless in most places. +#define EMPTY_BLOCK_GUARD ; diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 6395f394d3d..0dfc3c47e1b 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -76,7 +76,6 @@ #define MONKEY_BODYPART "monkey" #define ALIEN_BODYPART "alien" #define LARVA_BODYPART "larva" -#define DEVIL_BODYPART "devil" //Defines for Species IDs #define SPECIES_ABDUCTOR "abductor" @@ -138,10 +137,11 @@ #define BODYTYPE_ROBOTIC (1<<1) #define BODYTYPE_HUMANOID (1<<2) //Everything #define BODYTYPE_SNOUT (1<<3) //Snouts -#define BODYTYPE_BOXHEAD (1<<4) //TV Head -#define BODYTYPE_DIGITIGRADE (1<<5) //Lizard legs -#define BODYTYPE_KEPORI (1<<6) //Just Kepori -#define BODYTYPE_VOX (1<<7) //Big Vox +#define BODYTYPE_SNOUT_SMALL (1<<4) //Elzuose snouts +#define BODYTYPE_BOXHEAD (1<<5) //TV Head +#define BODYTYPE_DIGITIGRADE (1<<6) //Lizard legs +#define BODYTYPE_KEPORI (1<<7) //Just Kepori +#define BODYTYPE_VOX (1<<8) //Big Vox // Health/damage defines #define MAX_LIVING_HEALTH 100 @@ -244,8 +244,8 @@ #define NUTRITION_LEVEL_START_MAX 400 //Disgust levels for humans -#define DISGUST_LEVEL_MAXEDOUT 150 -#define DISGUST_LEVEL_DISGUSTED 75 +#define DISGUST_LEVEL_MAXEDOUT 200 +#define DISGUST_LEVEL_DISGUSTED 100 #define DISGUST_LEVEL_VERYGROSS 50 #define DISGUST_LEVEL_GROSS 25 @@ -399,10 +399,8 @@ #define RACE_SWAP (1<<3) //ERT spawn template (avoid races that don't function without correct gear) #define ERT_SPAWN (1<<4) -//xenobio black crossbreed -#define SLIME_EXTRACT (1<<5) //Wabbacjack staff projectiles -#define WABBAJACK (1<<6) +#define WABBAJACK (1<<5) #define SLEEP_CHECK_DEATH(X) sleep(X); if(QDELETED(src) || stat == DEAD) return; @@ -418,9 +416,6 @@ #define SILENCE_RANGED_MESSAGE (1<<0) -///Swarmer flags -#define SWARMER_LIGHT_ON (1<<0) - /// Returns whether or not the given mob can succumb #define CAN_SUCCUMB(target) (HAS_TRAIT(target, TRAIT_CRITICAL_CONDITION) && !HAS_TRAIT(target, TRAIT_NODEATH)) diff --git a/code/__DEFINES/mod.dm b/code/__DEFINES/mod.dm new file mode 100644 index 00000000000..29a450eceb9 --- /dev/null +++ b/code/__DEFINES/mod.dm @@ -0,0 +1,40 @@ +/// Default value for the max_complexity var on MODsuits +#define DEFAULT_MAX_COMPLEXITY 15 + +/// Default cell drain per process on MODsuits +#define DEFAULT_CHARGE_DRAIN 0.09 + +/// Default time for a part to seal +#define MOD_ACTIVATION_STEP_TIME (2 SECONDS) + +/// Passive module, just acts when put in naturally. +#define MODULE_PASSIVE 0 +/// Usable module, does something when you press a button. +#define MODULE_USABLE 1 +/// Toggle module, you turn it on/off and it does stuff. +#define MODULE_TOGGLE 2 +/// Actively usable module, you may only have one selected at a time. +#define MODULE_ACTIVE 3 + +//Defines used by the theme for clothing flags and similar +#define CONTROL_LAYER "control_layer" +#define HELMET_FLAGS "helmet_flags" +#define CHESTPLATE_FLAGS "chestplate_flags" +#define GAUNTLETS_FLAGS "gauntlets_flags" +#define BOOTS_FLAGS "boots_flags" + +#define UNSEALED_LAYER "unsealed_layer" +#define UNSEALED_CLOTHING "unsealed_clothing" +#define SEALED_CLOTHING "sealed_clothing" +#define UNSEALED_INVISIBILITY "unsealed_invisibility" +#define SEALED_INVISIBILITY "sealed_invisibility" +#define UNSEALED_COVER "unsealed_cover" +#define SEALED_COVER "sealed_cover" +#define CAN_OVERSLOT "can_overslot" + +//Defines used to override MOD clothing's icon and worn icon files in the skin. +#define MOD_ICON_OVERRIDE "mod_icon_override" +#define MOD_WORN_ICON_OVERRIDE "mod_worn_icon_override" + +/// Global list of all /datum/mod_theme +GLOBAL_LIST_INIT(mod_themes, setup_mod_themes()) diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm index d9ca63008c1..ab731a44f24 100644 --- a/code/__DEFINES/obj_flags.dm +++ b/code/__DEFINES/obj_flags.dm @@ -40,7 +40,7 @@ #define LAVAPROTECT (1<<0) #define STOPSPRESSUREDAMAGE (1<<1) //SUIT and HEAD items which stop pressure damage. To stop you taking all pressure damage you must have both a suit and head item with this flag. #define BLOCK_GAS_SMOKE_EFFECT (1<<2) // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY! -#define ALLOWINTERNALS (1<<3) // mask allows internals //WS Port - Changed Maskinternals to allowinternals +#define ALLOWINTERNALS (1<<3) // mask allows internals #define NOSLIP (1<<4) //prevents from slipping on wet floors, in space etc #define NOSLIP_ICE (1<<5) //prevents from slipping on frozen floors #define THICKMATERIAL (1<<6) //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body. @@ -52,6 +52,7 @@ #define ANTI_TINFOIL_MANEUVER (1<<12) //Hats with negative effects when worn (i.e the tinfoil hat). #define DANGEROUS_OBJECT (1<<13) //Clothes that cause a larger notification when placed on a person. #define FAST_EMBARK (1<<14) //Clothes that speed up mech and pod boarding. +#define SEALS_EYES (1<<15) //Goggles and helmets that seal eyes from the enviroment /// Flags for the organ_flags var on /obj/item/organ #define ORGAN_SYNTHETIC (1<<0) //Synthetic organs, or cybernetic organs. Reacts to EMPs and don't deteriorate or heal diff --git a/code/__DEFINES/particles.dm b/code/__DEFINES/particles.dm new file mode 100644 index 00000000000..5657566a63b --- /dev/null +++ b/code/__DEFINES/particles.dm @@ -0,0 +1,5 @@ +// /obj/effect/abstract/particle_holder/var/particle_flags +// Flags that effect how a particle holder displays something + +/// If we're inside something inside a mob, display off that mob too +#define PARTICLE_ATTACH_MOB (1<<0) diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index c65f26a89fd..4f225d30431 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -21,7 +21,6 @@ #define DEADMIN_POSITION_SECURITY (1<<18) #define DEADMIN_POSITION_SILICON (1<<19) #define SOUND_ENDOFROUND (1<<20) -#define ADMIN_IGNORE_CULT_GHOST (1<<21) #define SPLIT_ADMIN_TABS (1<<22) #define FAST_MC_REFRESH (1<<23) diff --git a/code/__DEFINES/processing.dm b/code/__DEFINES/processing.dm new file mode 100644 index 00000000000..905c03830d5 --- /dev/null +++ b/code/__DEFINES/processing.dm @@ -0,0 +1,3 @@ +#define TOOL_PROCESSING_RESULT "result" +#define TOOL_PROCESSING_AMOUNT "amount" +#define TOOL_PROCESSING_TIME "time" diff --git a/code/__DEFINES/projectiles.dm b/code/__DEFINES/projectiles.dm index 61038b17c1e..4f42e090229 100644 --- a/code/__DEFINES/projectiles.dm +++ b/code/__DEFINES/projectiles.dm @@ -7,3 +7,25 @@ #define PROJECTILE_PIERCE_PHASE 2 // Delete self without hitting #define PROJECTILE_DELETE_WITHOUT_HITTING 3 + +#define PROJECTILE_BONUS_DAMAGE_NONE 0 +#define PROJECTILE_BONUS_DAMAGE_MINERALS (1<<0) //minable walls +#define PROJECTILE_BONUS_DAMAGE_WALLS (1<<1) // walls +#define PROJECTILE_BONUS_DAMAGE_RWALLS (1<<2) //reinforced walls + +//vibes based bullet speed + +#define BULLET_SPEED_SHOTGUN 0.5 +#define BULLET_SPEED_HANDGUN 0.4 +#define BULLET_SPEED_REVOLVER 0.4 //why do we have multiple defines for the same thing? future proofing. +#define BULLET_SPEED_PDW 0.3 +#define BULLET_SPEED_RIFLE 0.3 +#define BULLET_SPEED_SNIPER 0.2 + +//speed modifiers +#define BULLET_SPEED_AP_MOD -0.05 +#define BULLET_SPEED_HP_MOD 0.05 +#define BULLET_SPEED_RUBBER_MOD 0.1 +#define BULLET_SPEED_HV_MOD -0.1 +#define BULLET_SPEED_SURPLUS_MOD 0.05 + diff --git a/code/__DEFINES/radiation.dm b/code/__DEFINES/radiation.dm index 2c4e41f4590..fa66e7c3ea8 100644 --- a/code/__DEFINES/radiation.dm +++ b/code/__DEFINES/radiation.dm @@ -57,3 +57,15 @@ Ask ninjanomnom if they're around #define RAD_DISTANCE_COEFFICIENT 1 // Lower means further rad spread #define RAD_HALF_LIFE 90 // The half-life of contaminated objects + +#define RAD_GLOW_COLOR "#39ff1430" + +#define RAD_LEVEL_NORMAL 9 +#define RAD_LEVEL_MODERATE 100 +#define RAD_LEVEL_HIGH 400 +#define RAD_LEVEL_VERY_HIGH 800 +#define RAD_LEVEL_CRITICAL 1500 + +#define RAD_MEASURE_SMOOTHING 5 + +#define RAD_GRACE_PERIOD 2 diff --git a/code/__DEFINES/radio.dm b/code/__DEFINES/radio.dm index 96e7ab6e057..af9983bff22 100644 --- a/code/__DEFINES/radio.dm +++ b/code/__DEFINES/radio.dm @@ -5,14 +5,9 @@ #define RADIO_CHANNEL_COMMON "Common" #define RADIO_KEY_COMMON ";" -#define RADIO_CHANNEL_COMMAND "Command" -#define RADIO_KEY_COMMAND "c" -#define RADIO_TOKEN_COMMAND ":c" - -#define RADIO_CHANNEL_AI_PRIVATE "AI Private" -#define RADIO_KEY_AI_PRIVATE "o" -#define RADIO_TOKEN_AI_PRIVATE ":o" - +#define RADIO_CHANNEL_EMERGENCY "Emergency" +#define RADIO_KEY_EMERGENCY "c" +#define RADIO_TOKEN_EMERGENCY ":c" #define RADIO_CHANNEL_SYNDICATE "Syndicate" #define RADIO_KEY_SYNDICATE "t" @@ -22,7 +17,6 @@ #define RADIO_KEY_CENTCOM "e" #define RADIO_TOKEN_CENTCOM ":e" -//WS Begin - SGR, Overmaps #define RADIO_CHANNEL_SOLGOV "SolGov" #define RADIO_KEY_SOLGOV "s" #define RADIO_TOKEN_SOLGOV ":s" @@ -48,26 +42,19 @@ #define RADIO_TOKEN_PIRATE ":y" #define RADIO_CHANNEL_WIDEBAND "Wideband" -//WS End - -#define RADIO_CHANNEL_CTF_RED "Red Team" -#define RADIO_CHANNEL_CTF_BLUE "Blue Team" - #define MIN_FREE_FREQ 1201 // ------------------------------------------------- // Frequencies are always odd numbers and range from 1201 to 1599. -#define FREQ_SYNDICATE 1213 // Nuke op comms frequency, dark brown -#define FREQ_CTF_RED 1215 // CTF red team comms frequency, red -#define FREQ_CTF_BLUE 1217 // CTF blue team comms frequency, blue -#define FREQ_CENTCOM 1337 // CentCom comms frequency, gray +#define FREQ_SYNDICATE 1213 // Syndicate Coalition comms frequency, dark brown +#define FREQ_CENTCOM 1337 // NT-CentCom comms frequency, gray #define FREQ_SOLGOV 1345 // SolGov comms frequency, dark blue WS ADDITION #define FREQ_INTEQ 1347 // Inteq comms frequency, light brown #define FREQ_PGF 1349 // PGF comms frequency, lime green #define FREQ_NANOTRASEN 1351 // Nanotrasen comms frequency, plum -#define FREQ_COMMAND 1353 // Command comms frequency, gold +#define FREQ_EMERGENCY 1353 // Emergency comms frequency, red #define FREQ_MINUTEMEN 1355 // Minutemen comms frequency, soft blue -#define FREQ_PIRATE 1359 // Pirate comms frequency, red +#define FREQ_PIRATE 1359 // Pirate comms frequency, gold #define FREQ_HOLOGRID_SOLUTION 1433 #define FREQ_STATUS_DISPLAYS 1435 @@ -75,12 +62,10 @@ #define FREQ_ATMOS_CONTROL 1439 // air alarms <-> vents and scrubbers #define MIN_FREQ 1441 // ------------------------------------------------------ -// Only the 1441 to 1489 range is freely available for general conversation. -// This represents 1/8th of the available spectrum. +// Only the 1441 to 1689 range is freely available for general conversation. #define FREQ_ATMOS_STORAGE 1441 #define FREQ_NAV_BEACON 1445 -#define FREQ_AI_PRIVATE 1447 // AI private comms frequency, magenta #define FREQ_PRESSURE_PLATE 1447 #define FREQ_AIRLOCK_CONTROL 1449 #define FREQ_ELECTROPACK 1449 @@ -89,11 +74,11 @@ #define FREQ_SIGNALER 1457 // the default for new signalers #define FREQ_COMMON 1459 // Common comms frequency, dark green -#define MAX_FREQ 1489 // ------------------------------------------------------ +#define MAX_FREQ 1689 // ------------------------------------------------------ -#define FREQ_WIDEBAND 1501 // Subspace/shuttle comms frequency, dark blue WS ADDITION +#define FREQ_WIDEBAND 1691 // sector wide communication -#define MAX_FREE_FREQ 1599 // ------------------------------------------------- +#define MAX_FREE_FREQ 1699 // ------------------------------------------------- // Transmission types. #define TRANSMISSION_WIRE 0 // some sort of wired connection, not used diff --git a/code/__DEFINES/reactions.dm b/code/__DEFINES/reactions.dm index 4683ed39345..92e1c49bc0a 100644 --- a/code/__DEFINES/reactions.dm +++ b/code/__DEFINES/reactions.dm @@ -1,12 +1,12 @@ //Defines used in atmos gas reactions. Used to be located in ..\modules\atmospherics\gasmixtures\reactions.dm, but were moved here because fusion added so fucking many. //Plasma fire properties -#define OXYGEN_BURN_RATE_BASE 1.4 +#define PLASMA_BURN_RATE_BASE 1.4 #define PLASMA_BURN_RATE_DELTA 9 #define PLASMA_MINIMUM_OXYGEN_NEEDED 2 #define PLASMA_MINIMUM_OXYGEN_PLASMA_RATIO 30 #define FIRE_CARBON_ENERGY_RELEASED 100000 //Amount of heat released per mole of burnt carbon into the tile -#define FIRE_HYDROGEN_ENERGY_RELEASED 280000 //Amount of heat released per mole of burnt hydrogen and/or tritium(hydrogen isotope) +#define FIRE_HYDROGEN_ENERGY_RELEASED 286000 //Amount of heat released per mole of burnt hydrogen and/or tritium(hydrogen isotope) #define FIRE_PLASMA_ENERGY_RELEASED 3000000 //Amount of heat released per mole of burnt plasma into the tile //General assmos defines. #define WATER_VAPOR_FREEZE 200 @@ -29,7 +29,7 @@ #define STIMULUM_FIRST_DROP 0.065 #define STIMULUM_SECOND_RISE 0.0009 #define STIMULUM_ABSOLUTE_DROP 0.00000335 -#define REACTION_OPPRESSION_THRESHOLD 10 +#define REACTION_OPPRESSION_THRESHOLD 75 #define NOBLIUM_FORMATION_ENERGY 2e9 //1 Mole of Noblium takes the planck energy to condense. #define STIM_BALL_GAS_AMOUNT 5 //Research point amounts diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm index 9e253563fe8..9cb2732d3a5 100644 --- a/code/__DEFINES/role_preferences.dm +++ b/code/__DEFINES/role_preferences.dm @@ -17,13 +17,10 @@ #define ROLE_REV_SUCCESSFUL "Victorious Revolutionary" #define ROLE_ALIEN "Xenomorph" #define ROLE_PAI "pAI" -#define ROLE_CULTIST "Cultist" -#define ROLE_BLOB "Blob" #define ROLE_NINJA "Space Ninja" #define ROLE_MONKEY "Monkey" #define ROLE_ABDUCTOR "Abductor" #define ROLE_REVENANT "Revenant" -#define ROLE_DEVIL "Devil" #define ROLE_BROTHER "Blood Brother" #define ROLE_BRAINWASHED "Brainwashed Victim" #define ROLE_OVERTHROW "Syndicate Mutineer" //Role removed, left here for safety. @@ -53,14 +50,11 @@ GLOBAL_LIST_INIT(special_roles, list( ROLE_MALF, ROLE_ALIEN, ROLE_PAI, - ROLE_CULTIST = /datum/game_mode/cult, - ROLE_BLOB, ROLE_NINJA, ROLE_OBSESSED, ROLE_SPACE_DRAGON, ROLE_REVENANT, ROLE_ABDUCTOR, - ROLE_DEVIL = /datum/game_mode/devil, ROLE_INTERNAL_AFFAIRS = /datum/game_mode/traitor/internal_affairs, ROLE_SENTIENCE, ROLE_BORER diff --git a/code/__DEFINES/ruins.dm b/code/__DEFINES/ruins.dm index 894b9c0863f..93a63d207c3 100644 --- a/code/__DEFINES/ruins.dm +++ b/code/__DEFINES/ruins.dm @@ -32,3 +32,52 @@ return SSmapping.ruins_templates else return SSmapping.ruin_types_list[ruintype] + +/* +Maps described in the catalogue must be described with at least one or more of the following tags. + +*Loot Summary +Minor Loot = Has negligable/no loot at all, only contains fluff items or just the loot found from enemy drops or structures in the ruin. +Medium Loot = Has a pool of loot that is useful for the average player or ship, but not in large amounts, and does not have more than one or two boss drops. +Major Loot = Contains a large pool of loot useful to the average player or ship. Or includes more boss drops or necropolis loot than there are challenges for. +*/ +#define RUIN_TAG_MINOR_LOOT "Minor Loot" +#define RUIN_TAG_MEDIUM_LOOT "Medium Loot" +#define RUIN_TAG_MAJOR_LOOT "Major Loot" + +/*Combat Summary +No Combat = Contains no enemies or combat challenges. +Minor Combat Challenge = Has only 1-2 hit melee mobs in small or moderate amounts. +Medium Combat Challenge = Contains more than just simple low health melee mobs, or a moderate amount of mobs. +Boss Combat Challenge = Contains either one or more bossmobs, has a large number of mobs that are either overwhelming or considerably challenging, or has a significant combat challenge overall. +*/ +#define RUIN_TAG_NO_COMBAT "No Combat" +#define RUIN_TAG_MINOR_COMBAT "Minor Combat Challenge" +#define RUIN_TAG_MEDIUM_COMBAT "Medium Combat Challenge" +#define RUIN_TAG_HARD_COMBAT "Hard Combat Challenge" +#define RUIN_TAG_BOSS_COMBAT "Boss Combat Challenge" + + +/*Qualities +Megafauna = Map contains one or more megafauna. +Antag Gear = Map contains one or more items typically only obtainable by antag roles. +Necropolis Loot = Map contains an item or chest from the necropolis loot pool. +Liveable = The entirety of the map is inhabitable without protective gear, and the map is not surrounded by an inhospitable environment. +Inhospitable = The majority of the map is uninhabitable without protective gear, and the map is not surrounded by a hospitable environment. +Shelter = The map contains a portion that is hospitable without protective gear, with a surrounding section that is inhospitable. Or the map is an enclosed hospitable space that spawns on an inhospitable planet. +Bad Shelter = The map contains a portion that is inhospitable without protective gear, with a surround section that is hospitable. Or the map is an enclosed inhospitable space that spawn on a hospitable planet. +No Content = A map that contains no objects. It contains only turfs, walls, and or areas. +Hazardous = Contains hazardous environment elements. Elements include but are not limited to: Mines, IEDs, Chasms appearing more than twice or more than once if one is 3x3 or more, disease spawns, beartraps. +Unknown Details = Something about the map can't be checked with a map editor alone, and has not been tested for confirmation yet. +Lava = Contains lava or liquid plasma tiles. +Ghost Role = Contains a ghost role. +*/ +#define RUIN_TAG_MEGAFAUNA "Megafauna" +#define RUIN_TAG_LIVEABLE "Liveable" +#define RUIN_TAG_INHOSPITABLE "Inhospitable" +#define RUIN_TAG_SHELTER "Shelter" +#define RUIN_TAG_BAD_SHELTER "Bad Shelter" +#define RUIN_TAG_NO_CONTENT "No Content" +#define RUIN_TAG_HAZARDOUS "Hazardous" +#define RUIN_TAG_UNKNOWN_DETAILS "Unknown Details" +#define RUIN_TAG_LAVA "Lava" diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm index d4d9807ec0a..285e7ce5ff8 100644 --- a/code/__DEFINES/sound.dm +++ b/code/__DEFINES/sound.dm @@ -173,3 +173,37 @@ #define SOUND_AREA_LAVALAND SOUND_ENVIRONMENT_MOUNTAINS #define SOUND_AREA_ICEMOON SOUND_ENVIRONMENT_CAVE #define SOUND_AREA_WOODFLOOR SOUND_ENVIRONMENT_CITY + +/// List of all of our sound keys. +#define SFX_BODYFALL "bodyfall" +#define SFX_BULLET_MISS "bullet_miss" +#define SFX_CAN_OPEN "can_open" +#define SFX_CLOWN_STEP "clown_step" +#define SFX_DESECRATION "desecration" +#define SFX_EXPLOSION "explosion" +#define SFX_EXPLOSION_CREAKING "explosion_creaking" +#define SFX_HISS "hiss" +#define SFX_HONKBOT_E "honkbot_e" +#define SFX_HULL_CREAKING "hull_creaking" +#define SFX_HYPERTORUS_CALM "hypertorus_calm" +#define SFX_HYPERTORUS_MELTING "hypertorus_melting" +#define SFX_IM_HERE "im_here" +#define SFX_LAW "law" +#define SFX_PAGE_TURN "page_turn" +#define SFX_PUNCH "punch" +#define SFX_REVOLVER_SPIN "revolver_spin" +#define SFX_RICOCHET "ricochet" +#define SFX_RUSTLE "rustle" +#define SFX_SHATTER "shatter" +#define SFX_SM_CALM "sm_calm" +#define SFX_SM_DELAM "sm_delam" +#define SFX_SPARKS "sparks" +#define SFX_SUIT_STEP "suit_step" +#define SFX_SWING_HIT "swing_hit" +#define SFX_TERMINAL_TYPE "terminal_type" +#define SFX_WARPSPEED "warpspeed" +#define SFX_CRUNCHY_BUSH_WHACK "crunchy_bush_whack" +#define SFX_TREE_CHOP "tree_chop" +#define SFX_ROCK_TAP "rock_tap" + +#define SOUND_EMPTY_MAG 'sound/weapons/empty.ogg' diff --git a/code/__DEFINES/span.dm b/code/__DEFINES/span.dm index 847029d93e0..0dc530d8d3a 100644 --- a/code/__DEFINES/span.dm +++ b/code/__DEFINES/span.dm @@ -73,6 +73,7 @@ #define span_narsie(str) ("" + str + "") #define span_narsiesmall(str) ("" + str + "") #define span_nicegreen(str) ("" + str + "") +#define span_nicegreen_robot(str) ("" + str + "") #define span_notice(str) ("" + str + "") #define span_noticealien(str) ("" + str + "") #define span_ooc(str) ("" + str + "") @@ -113,6 +114,7 @@ #define span_unconscious(str) ("" + str + "") #define span_userdanger(str) ("" + str + "") #define span_warning(str) ("" + str + "") +#define span_warning_robot(str) ("" + str + "") #define span_yell(str) ("" + str + "") #define span_yellowteamradio(str) ("" + str + "") diff --git a/code/__DEFINES/species.dm b/code/__DEFINES/species.dm index 1a8cd17d802..d3cf27ac546 100644 --- a/code/__DEFINES/species.dm +++ b/code/__DEFINES/species.dm @@ -1,12 +1,12 @@ // Pressure limits. -/// This determins at what pressure the ultra-high pressure red icon is displayed. (This one is set as a constant) -#define HAZARD_HIGH_PRESSURE 550 -/// This determins when the orange pressure icon is displayed (it is 0.7 * HAZARD_HIGH_PRESSURE) -#define WARNING_HIGH_PRESSURE 325 -/// This is when the gray low pressure icon is displayed. (it is 2.5 * HAZARD_LOW_PRESSURE) -#define WARNING_LOW_PRESSURE 50 -/// This is when the black ultra-low pressure icon is displayed. (This one is set as a constant) -#define HAZARD_LOW_PRESSURE 20 +/// This determins at what pressure the ultra-high pressure red icon is displayed. +#define HAZARD_HIGH_PRESSURE 303 +/// This determins when the orange pressure icon is displayed +#define WARNING_HIGH_PRESSURE 202 +/// This is when the gray low pressure icon is displayed. +#define WARNING_LOW_PRESSURE 60 +/// This is when the black ultra-low pressure icon is displayed. +#define HAZARD_LOW_PRESSURE 40 /// This is used in handle_temperature_damage() for humans, and in reagents that affect body temperature. Temperature damage is multiplied by this amount. #define TEMPERATURE_DAMAGE_COEFFICIENT 1.5 @@ -14,13 +14,13 @@ /// The natural temperature for a body #define HUMAN_BODYTEMP_NORMAL 310.15 /// This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive. -#define HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR 11 +#define HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR 22 /// Minimum amount of kelvin moved toward 310K per tick. So long as abs(310.15 - bodytemp) is more than 50. #define HUMAN_BODYTEMP_AUTORECOVERY_MINIMUM 12 ///Similar to the HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster. -#define HUMAN_BODYTEMP_COLD_DIVISOR 15 +#define HUMAN_BODYTEMP_COLD_DIVISOR 20 /// Similar to the HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster. -#define HUMAN_BODYTEMP_HEAT_DIVISOR 15 +#define HUMAN_BODYTEMP_HEAT_DIVISOR 10 /// The maximum number of degrees that your body can cool in 1 tick, due to the environment, when in a cold area. #define HUMAN_BODYTEMP_COOLING_MAX -100 /// The maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area. @@ -28,11 +28,11 @@ /// The body temperature limit the human body can take before it starts taking damage from heat. /// This also affects how fast the body normalises it's temperature when hot. /// 340k is about 66c, and rather high for a human. -#define HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT (HUMAN_BODYTEMP_NORMAL + 30) +#define HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT (HUMAN_BODYTEMP_NORMAL + 3) /// The body temperature limit the human body can take before it starts taking damage from cold. /// This also affects how fast the body normalises it's temperature when cold. /// 270k is about -3c, that is below freezing and would hurt over time. -#define HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT (HUMAN_BODYTEMP_NORMAL - 40) +#define HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT (HUMAN_BODYTEMP_NORMAL - 8) //VOX DEFINES diff --git a/code/__DEFINES/species_clothing_defines.dm b/code/__DEFINES/species_clothing_defines.dm index 51757919263..4dd9e26da75 100644 --- a/code/__DEFINES/species_clothing_defines.dm +++ b/code/__DEFINES/species_clothing_defines.dm @@ -12,7 +12,7 @@ #define DEFAULT_HEAD_PATH 'icons/mob/clothing/head.dmi' #define DEFAULT_NECK_PATH 'icons/mob/clothing/neck.dmi' #define DEFAULT_GLOVES_PATH 'icons/mob/clothing/hands.dmi' -#define DEFAULT_GLASSES_PATH 'icons/mob/clothing/eyes.dmi' +#define DEFAULT_GLASSES_PATH 'icons/mob/clothing/eyes/eyes.dmi' #define DEFAULT_BELT_PATH 'icons/mob/clothing/belt.dmi' ///VOX PATHS @@ -22,6 +22,7 @@ #define VOX_SUIT_PATH 'icons/mob/species/vox/onmob_suit_vox.dmi' #define VOX_EARS_PATH 'icons/mob/species/vox/onmob_ears_vox.dmi' #define VOX_MASK_PATH 'icons/mob/species/vox/onmob_mask_vox.dmi' +#define VOX_NECK_PATH 'icons/mob/species/vox/onmob_neck_vox.dmi' #define VOX_HEAD_PATH 'icons/mob/species/vox/onmob_head_vox.dmi' #define VOX_GLOVES_PATH 'icons/mob/species/vox/onmob_hands_vox.dmi' #define VOX_GLASSES_PATH 'icons/mob/species/vox/onmob_eyes_vox.dmi' @@ -29,6 +30,7 @@ ///KEPORI PATHS #define KEPORI_UNIFORM_PATH 'icons/mob/species/kepori/onmob_uniform_kepori.dmi' +#define KEPORI_BACK_PATH 'icons/mob/species/kepori/onmob_back_kepori.dmi' #define KEPORI_SHOES_PATH 'icons/mob/species/kepori/onmob_feet_kepori.dmi' #define KEPORI_SUIT_PATH 'icons/mob/species/kepori/onmob_suit_kepori.dmi' #define KEPORI_EARS_PATH 'icons/mob/species/kepori/onmob_ears_kepori.dmi' diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index d1fbf26616d..9a7c477b8b1 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -64,8 +64,6 @@ #define STATUS_EFFECT_HISWRATH /datum/status_effect/his_wrath //His Wrath. -#define STATUS_EFFECT_SUMMONEDGHOST /datum/status_effect/cultghost //is a cult ghost and can't use manifest runes - #define STATUS_EFFECT_CRUSHERMARK /datum/status_effect/crusher_mark //if struck with a proto-kinetic crusher, takes a ton of damage #define STATUS_EFFECT_SAWBLEED /datum/status_effect/stacking/saw_bleed //if the bleed builds up enough, takes a ton of damage @@ -99,6 +97,14 @@ #define STATUS_EFFECT_METAB_FROZEN /datum/status_effect/metab_frozen // Affected cannot process chems +//Incapacitated status effect flags +/// If the incapacitated status effect will ignore a mob in restraints (handcuffs) +#define IGNORE_RESTRAINTS (1<<0) +/// If the incapacitated status effect will ignore a mob in stasis (stasis beds) +#define IGNORE_STASIS (1<<1) +/// If the incapacitated status effect will ignore a mob being agressively grabbed +#define IGNORE_GRAB (1<<2) + ///////////// // NEUTRAL // ///////////// diff --git a/code/__DEFINES/storage.dm b/code/__DEFINES/storage.dm index cb657520e33..01d77e0df2f 100644 --- a/code/__DEFINES/storage.dm +++ b/code/__DEFINES/storage.dm @@ -44,9 +44,9 @@ // PLEASE KEEP ALL VOLUME DEFINES IN THIS FILE, it's going to be hell to keep track of them later. #define DEFAULT_VOLUME_TINY 1 #define DEFAULT_VOLUME_SMALL 2 -#define DEFAULT_VOLUME_NORMAL 6 -#define DEFAULT_VOLUME_BULKY 12 -#define DEFAULT_VOLUME_HUGE 24 +#define DEFAULT_VOLUME_NORMAL 8 +#define DEFAULT_VOLUME_BULKY 14 +#define DEFAULT_VOLUME_HUGE 28 #define DEFAULT_VOLUME_GIGANTIC 48 GLOBAL_LIST_INIT(default_weight_class_to_volume, list( @@ -80,9 +80,39 @@ GLOBAL_LIST_INIT(default_weight_class_to_volume, list( #define MAX_WEIGHT_CLASS_DUFFEL WEIGHT_CLASS_BULKY // max_volume for storages -#define STORAGE_VOLUME_CONTAINER_S DEFAULT_VOLUME_NORMAL //3 small items -#define STORAGE_VOLUME_CONTAINER_M (DEFAULT_VOLUME_NORMAL * 2) //6 small items +#define STORAGE_VOLUME_CONTAINER_S DEFAULT_VOLUME_NORMAL //4 small items +#define STORAGE_VOLUME_CONTAINER_M (DEFAULT_VOLUME_NORMAL * 2) //8 small items #define STORAGE_VOLUME_SATCHEL (DEFAULT_VOLUME_NORMAL * 4) //4 normal items -#define STORAGE_VOLUME_BACKPACK (DEFAULT_VOLUME_NORMAL * 6) //6 normal items, or 3 bulky items +#define STORAGE_VOLUME_BACKPACK (DEFAULT_VOLUME_NORMAL * 6) //1.5x satchel, 3 bulky items #define STORAGE_VOLUME_DUFFLEBAG (DEFAULT_VOLUME_NORMAL * 8) // 2 huge items, or 4 bulky items #define STORAGE_VOLUME_BAG_OF_HOLDING (DEFAULT_VOLUME_NORMAL * 9) //1.5X backpack + +//Whitelist for the suit storage slot on medical suits +#define MEDICAL_SUIT_ALLOWED_ITEMS list( \ + /obj/item/scalpel, \ + /obj/item/cautery, \ + /obj/item/hemostat, \ + /obj/item/retractor, \ + /obj/item/surgicaldrill, \ + /obj/item/circular_saw, \ + /obj/item/analyzer, \ + /obj/item/sensor_device, \ + /obj/item/stack/medical, \ + /obj/item/dnainjector, \ + /obj/item/reagent_containers/dropper, \ + /obj/item/reagent_containers/syringe, \ + /obj/item/reagent_containers/hypospray, \ + /obj/item/healthanalyzer, \ + /obj/item/flashlight/pen, \ + /obj/item/reagent_containers/glass/bottle, \ + /obj/item/reagent_containers/glass/beaker, \ + /obj/item/reagent_containers/pill, \ + /obj/item/storage/pill_bottle, \ + /obj/item/paper, \ + /obj/item/melee/classic_baton/telescopic, \ + /obj/item/toy, \ + /obj/item/storage/fancy/cigarettes, \ + /obj/item/lighter, \ + /obj/item/tank/internals/emergency_oxygen, \ + /obj/item/tank/internals/plasmaman \ +) diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 36aa57e4862..1155ea88bed 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -121,6 +121,7 @@ #define INIT_ORDER_JOBS 65 #define INIT_ORDER_QUIRKS 60 #define INIT_ORDER_TICKER 55 +#define INIT_ORDER_FACTION 53 #define INIT_ORDER_MAPPING 50 #define INIT_ORDER_TIMETRACK 47 #define INIT_ORDER_NETWORKS 45 @@ -129,6 +130,7 @@ #define INIT_ORDER_ATOMS 30 #define INIT_ORDER_LANGUAGE 25 #define INIT_ORDER_MACHINES 20 +#define INIT_ORDER_TURRETS 17 #define INIT_ORDER_SKILLS 15 #define INIT_ORDER_TIMER 1 #define INIT_ORDER_DEFAULT 0 diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm index e2c89df90e9..42f2d5fc31f 100644 --- a/code/__DEFINES/tgs.dm +++ b/code/__DEFINES/tgs.dm @@ -1,18 +1,19 @@ // 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.1.2" +#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. // CONFIGURATION -/// Create this define if you want to do TGS configuration outside of this file. +/// Consumers SHOULD create this define if you want to do TGS configuration outside of this file. #ifndef TGS_EXTERNAL_CONFIGURATION -// Comment this out once you've filled in the below. +// Consumers MUST comment this out once you've filled in the below and are not using [TGS_EXTERNAL_CONFIGURATION]. #error TGS API unconfigured -// Uncomment this if you wish to allow the game to interact with TGS 3.. +// Consumers MUST uncomment this if you wish to allow the game to interact with TGS version 3. // This will raise the minimum required security level of your game to TGS_SECURITY_TRUSTED due to it utilizing call()(). //#define TGS_V3_API @@ -52,7 +53,7 @@ #ifndef TGS_FILE2TEXT_NATIVE #ifdef file2text -#error Your codebase is re-defining the BYOND proc file2text. The DMAPI requires the native version to read the result of world.Export(). You can fix this by adding "#define TGS_FILE2TEXT_NATIVE file2text" before your override of file2text to allow the DMAPI to use the native version. This will only be used for world.Export(), not regular file accesses +#error Your codebase is re-defining the BYOND proc file2text. The DMAPI requires the native version to read the result of world.Export(). You SHOULD fix this by adding "#define TGS_FILE2TEXT_NATIVE file2text" before your override of file2text to allow the DMAPI to use the native version. This will only be used for world.Export(), not regular file accesses #endif #define TGS_FILE2TEXT_NATIVE file2text #endif @@ -152,16 +153,17 @@ //REQUIRED HOOKS /** - * Call this somewhere in [/world/proc/New] that is always run. This function may sleep! + * Consumers MUST call this somewhere in [/world/proc/New] that is always run. This function may sleep! * * * event_handler - Optional user defined [/datum/tgs_event_handler]. * * minimum_required_security_level: The minimum required security level to run the game in which the DMAPI is integrated. Can be one of [TGS_SECURITY_ULTRASAFE], [TGS_SECURITY_SAFE], or [TGS_SECURITY_TRUSTED]. + * * http_handler - Optional user defined [/datum/tgs_http_handler]. */ -/world/proc/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE) +/world/proc/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE, datum/tgs_http_handler/http_handler) return /** - * Call this when your initializations are complete and your game is ready to play before any player interactions happen. + * Consumers MUST call this when world initializations are complete and the game is ready to play before any player interactions happen. * * This may use [/world/var/sleep_offline] to make this happen so ensure no changes are made to it while this call is running. * Afterwards, consider explicitly setting it to what you want to avoid this BYOND bug: http://www.byond.com/forum/post/2575184 @@ -170,12 +172,10 @@ /world/proc/TgsInitializationComplete() return -/// Put this at the start of [/world/proc/Topic]. +/// Consumers MUST run this macro at the start of [/world/proc/Topic]. #define TGS_TOPIC var/tgs_topic_return = TgsTopic(args[1]); if(tgs_topic_return) return tgs_topic_return -/** - * Call this as late as possible in [world/proc/Reboot] (BEFORE ..()). - */ +/// Consumers MUST call this as late as possible in [world/proc/Reboot] (BEFORE ..()). /world/proc/TgsReboot() return @@ -269,7 +269,7 @@ /// The [/datum/tgs_chat_channel] the user was from. var/datum/tgs_chat_channel/channel -/// User definable handler for TGS events. +/// User definable handler for TGS events This abstract version SHOULD be overridden to be used. /datum/tgs_event_handler /// If the handler receieves [TGS_EVENT_HEALTH_CHECK] events. var/receive_health_checks = FALSE @@ -283,7 +283,41 @@ set waitfor = FALSE return -/// User definable chat command. +/// User definable handler for HTTP calls. This abstract version MUST be overridden to be used. +/datum/tgs_http_handler + +/** + * User definable callback for executing HTTP GET requests. + * MUST perform BYOND sleeps while the request is in flight. + * MUST return a [/datum/tgs_http_result]. + * SHOULD log its own errors + * + * url - The full URL to execute the GET request for including query parameters. + */ +/datum/tgs_http_handler/proc/PerformGet(url) + CRASH("[type]/PerformGet not implemented!") + +/// Result of a [/datum/tgs_http_handler] call. MUST NOT be overridden. +/datum/tgs_http_result + /// HTTP response as text + var/response_text + /// Boolean request success flag. Set for any 2XX response code. + var/success + +/** + * Create a [/datum/tgs_http_result]. + * + * * response_text - HTTP response as text. Must be provided in New(). + * * success - Boolean request success flag. Set for any 2XX response code. Must be provided in New(). + */ +/datum/tgs_http_result/New(response_text, success) + if(response_text && !istext(response_text)) + CRASH("response_text was not text!") + + src.response_text = response_text + src.success = success + +/// User definable chat command. This abstract version MUST be overridden to be used. /datum/tgs_chat_command /// The string to trigger this command on a chat bot. e.g `@bot name ...` or `!tgs name ...`. var/name = "" @@ -296,21 +330,27 @@ /** * Process command activation. Should return a [/datum/tgs_message_content] to respond to the issuer with. + * MUST be implemented * - * sender - The [/datum/tgs_chat_user] who issued the command. - * params - The trimmed string following the command `/datum/tgs_chat_command/var/name]. + * * sender - The [/datum/tgs_chat_user] who issued the command. + * * params - The trimmed string following the command `/datum/tgs_chat_command/var/name]. */ /datum/tgs_chat_command/proc/Run(datum/tgs_chat_user/sender, params) CRASH("[type] has no implementation for Run()") -/// User definable chat message. +/// User definable chat message. MUST NOT be overridden. /datum/tgs_message_content - /// The tring content of the message. Must be provided in New(). + /// The string content of the message. Must be provided in New(). var/text /// The [/datum/tgs_chat_embed] to embed in the message. Not supported on all chat providers. var/datum/tgs_chat_embed/structure/embed +/** + * Create a [/datum/tgs_message_content]. + * + * * text - The string content of the message. + */ /datum/tgs_message_content/New(text) ..() if(!istext(text)) @@ -319,7 +359,7 @@ src.text = text -/// User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/channel#embed-object-embed-structure for details. +/// User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/message#embed-object for details. /datum/tgs_chat_embed/structure var/title var/description @@ -331,13 +371,13 @@ /// Colour must be #AARRGGBB or #RRGGBB hex string. var/colour - /// See https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details. + /// See https://discord.com/developers/docs/resources/message#embed-object-embed-image-structure for details. var/datum/tgs_chat_embed/media/image - /// See https://discord.com/developers/docs/resources/channel#embed-object-embed-thumbnail-structure for details. + /// See https://discord.com/developers/docs/resources/message#embed-object-embed-thumbnail-structure for details. var/datum/tgs_chat_embed/media/thumbnail - /// See https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details. + /// See https://discord.com/developers/docs/resources/message#embed-object-embed-video-structure for details. var/datum/tgs_chat_embed/media/video var/datum/tgs_chat_embed/footer/footer @@ -346,7 +386,7 @@ var/list/datum/tgs_chat_embed/field/fields -/// Common datum for similar discord embed medias. +/// Common datum for similar Discord embed medias. /datum/tgs_chat_embed/media /// Must be set in New(). var/url @@ -354,6 +394,7 @@ var/height var/proxy_url +/// Create a [/datum/tgs_chat_embed]. /datum/tgs_chat_embed/media/New(url) ..() if(!istext(url)) @@ -361,13 +402,14 @@ src.url = url -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure for details. +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-footer-structure for details. /datum/tgs_chat_embed/footer /// Must be set in New(). var/text var/icon_url var/proxy_icon_url +/// Create a [/datum/tgs_chat_embed/footer]. /datum/tgs_chat_embed/footer/New(text) ..() if(!istext(text)) @@ -375,16 +417,17 @@ src.text = text -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-provider-structure for details. +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-provider-structure for details. /datum/tgs_chat_embed/provider var/name var/url -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-author-structure for details. Must have name set in New(). +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-author-structure for details. Must have name set in New(). /datum/tgs_chat_embed/provider/author var/icon_url var/proxy_icon_url +/// Create a [/datum/tgs_chat_embed/footer]. /datum/tgs_chat_embed/provider/author/New(name) ..() if(!istext(name)) @@ -392,12 +435,15 @@ src.name = name -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-field-structure for details. Must have name and value set in New(). +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-field-structure for details. /datum/tgs_chat_embed/field + /// Must be set in New(). var/name + /// Must be set in New(). var/value var/is_inline +/// Create a [/datum/tgs_chat_embed/field]. /datum/tgs_chat_embed/field/New(name, value) ..() if(!istext(name)) diff --git a/code/__DEFINES/tools.dm b/code/__DEFINES/tools.dm index 320648170b4..eb2696c0afb 100644 --- a/code/__DEFINES/tools.dm +++ b/code/__DEFINES/tools.dm @@ -14,6 +14,8 @@ #define TOOL_DRILL "drill" #define TOOL_SCALPEL "scalpel" #define TOOL_SAW "saw" +#define TOOL_KNIFE "knife" //luv me kuh-nyfe +#define TOOL_DECONSTRUCT "deconstruct" // If delay between the start and the end of tool operation is less than MIN_TOOL_SOUND_DELAY, // tool sound is only played when op is started. If not, it's played twice. diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index f88f0c9d791..10c919d64ea 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -173,13 +173,20 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_RESISTCOLD "resist_cold" #define TRAIT_RESISTHIGHPRESSURE "resist_high_pressure" #define TRAIT_RESISTLOWPRESSURE "resist_low_pressure" +#define TRAIT_METALLIC "metallic" //used on IPCs #define TRAIT_BOMBIMMUNE "bomb_immunity" #define TRAIT_RADIMMUNE "rad_immunity" #define TRAIT_GENELESS "geneless" #define TRAIT_VIRUSIMMUNE "virus_immunity" #define TRAIT_PIERCEIMMUNE "pierce_immunity" #define TRAIT_NODISMEMBER "dismember_immunity" +#define TRAIT_LAVA_IMMUNE "lava_immunity" +#define TRAIT_SNOWSTORM_IMMUNE "snow_immunity" +#define TRAIT_ASHSTORM_IMMUNE "ash_immunity" +#define TRAIT_SANDSTORM_IMMUNE "sand_immunity" #define TRAIT_NOFIRE "nonflammable" +/// Prevents plasmamen from self-igniting if only their helmet is missing +#define TRAIT_NOSELFIGNITION_HEAD_ONLY "no_selfignition_head_only" #define TRAIT_NOGUNS "no_guns" #define TRAIT_NOHUNGER "no_hunger" #define TRAIT_NOMETABOLISM "no_metabolism" @@ -215,6 +222,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_NOMOBSWAP "no-mob-swap" #define TRAIT_XRAY_VISION "xray_vision" #define TRAIT_THERMAL_VISION "thermal_vision" +/// Like antimagic, but doesn't block the user from casting +#define TRAIT_ANTIMAGIC_NO_SELFBLOCK "anti_magic_no_selfblock" /// We have some form of forced gravity acting on us #define TRAIT_FORCED_GRAVITY "forced_gravity" #define TRAIT_ABDUCTOR_TRAINING "abductor-training" @@ -248,7 +257,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_GAMERGOD "gamer-god" //double arcade prizes #define TRAIT_GIANT "giant" #define TRAIT_DWARF "dwarf" +#define TRAIT_FASTMED "fast_med_use" #define TRAIT_SILENT_FOOTSTEPS "silent_footsteps" //makes your footsteps completely silent +#define TRAIT_PAIN_RESIST "pain_resistance" //you resist pain #define TRAIT_NICE_SHOT "nice_shot" //hnnnnnnnggggg..... you're pretty good.... /// The holder of this trait has antennae or whatever that hurt a ton when noogied #define TRAIT_ANTENNAE "antennae" @@ -264,6 +275,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_SCOOPABLE "scoopable" //your smooches actually deal damage to their target #define TRAIT_KISS_OF_DEATH "kiss_of_death" +/// We can handle 'dangerous' plants in botany safely +#define TRAIT_PLANT_SAFE "plant_safe" /// This mob overrides certian SSlag_switch measures with this special trait #define TRAIT_BYPASS_MEASURES "bypass_lagswitch_measures" //non-mob traits @@ -279,6 +292,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_AREA_SENSITIVE "area-sensitive" ///Used for managing KEEP_TOGETHER in [/atom/var/appearance_flags] +///every object that is currently the active storage of some client mob has this trait +#define TRAIT_ACTIVE_STORAGE "active_storage" + #define TRAIT_KEEP_TOGETHER "keep-together" // item traits @@ -286,6 +302,10 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_NO_STORAGE_INSERT "no_storage_insert" //cannot be inserted in a storage. #define TRAIT_T_RAY_VISIBLE "t-ray-visible" // Visible on t-ray scanners if the atom/var/level == 1 #define TRAIT_NO_TELEPORT "no-teleport" //you just can't +/// A transforming item that is actively extended / transformed +#define TRAIT_TRANSFORM_ACTIVE "active_transform" +#define TRAIT_WIELDED "wielded" //The item is currently being wielded +#define TRAIT_FORCE_SUIT_STORAGE "force_suit_storage" // the item can be worn in suit storage without an outerclothing //quirk traits #define TRAIT_ALCOHOL_TOLERANCE "alcohol_tolerance" @@ -313,6 +333,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_BALD "bald" #define TRAIT_BADTOUCH "bad_touch" #define TRAIT_ANXIOUS "anxious" +#define TRAIT_ANALGESIA "congenital_analgesia" /// Trait granted by lipstick #define LIPSTICK_TRAIT "lipstick_trait" @@ -337,7 +358,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define CYBORG_ITEM_TRAIT "cyborg-item" #define ADMIN_TRAIT "admin" // (B)admins only. #define CHANGELING_TRAIT "changeling" -#define CULT_TRAIT "cult" #define CURSED_ITEM_TRAIT "cursed-item" // The item is magically cursed #define ABSTRACT_ITEM_TRAIT "abstract-item" #define STATUS_EFFECT_TRAIT "status-effect" @@ -362,6 +382,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define LYING_DOWN_TRAIT "lying-down" /// Trait associated to lacking electrical power. #define POWER_LACK_TRAIT "power-lack" +/// Trait applied by MODsuits. +#define MOD_TRAIT "mod" // unique trait sources, still defines #define CLONING_POD_TRAIT "cloning-pod" @@ -374,7 +396,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define STASIS_MUTE "stasis" #define GENETICS_SPELL "genetics_spell" #define EYES_COVERED "eyes_covered" -#define CULT_EYES "cult_eyes" #define TRAIT_SANTA "santa" #define SCRYING_ORB "scrying-orb" #define ABDUCTOR_ANTAGONIST "abductor-antagonist" @@ -385,14 +406,12 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define STICKY_MOUSTACHE_TRAIT "sticky-moustache" #define CHAINSAW_FRENZY_TRAIT "chainsaw-frenzy" #define CHRONO_GUN_TRAIT "chrono-gun" -#define REVERSE_BEAR_TRAP_TRAIT "reverse-bear-trap" #define CURSED_MASK_TRAIT "cursed-mask" #define HAND_REPLACEMENT_TRAIT "magic-hand" #define HOT_POTATO_TRAIT "hot-potato" #define ABDUCTOR_VEST_TRAIT "abductor-vest" #define CAPTURE_THE_FLAG_TRAIT "capture-the-flag" #define EYE_OF_GOD_TRAIT "eye-of-god" -#define SHAMEBRERO_TRAIT "shamebrero" #define CHRONOSUIT_TRAIT "chronosuit" #define LOCKED_HELMET_TRAIT "locked-helmet" #define NINJA_SUIT_TRAIT "ninja-suit" @@ -411,8 +430,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define WARPWHISTLE_TRAIT "warpwhistle" ///Turf trait for when a turf is transparent #define TURF_Z_TRANSPARENT_TRAIT "turf_z_transparent" -/// Trait applied by by [/datum/component/soulstoned] -#define SOULSTONE_TRAIT "soulstone" /// Trait applied to slimes by low temperature #define SLIME_COLD "slime-cold" /// Trait applied to bots by being tipped over @@ -435,6 +452,31 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define BEAUTY_ELEMENT_TRAIT "beauty_element" #define MOOD_COMPONENT_TRAIT "mood_component" +// mobility flag traits +// IN THE FUTURE, IT WOULD BE NICE TO DO SOMETHING SIMILAR TO https://github.com/tgstation/tgstation/pull/48923/files (ofcourse not nearly the same because I have my.. thoughts on it) +// BUT FOR NOW, THESE ARE HOOKED TO DO update_mobility() VIA COMSIG IN living_mobility.dm +// SO IF YOU ADD MORE, BESURE TO UPDATE IT THERE. + +/// Disallow movement +#define TRAIT_MOBILITY_NOMOVE "mobility_nomove" +/// Disallow pickup +#define TRAIT_MOBILITY_NOPICKUP "mobility_nopickup" +/// Disallow item use +#define TRAIT_MOBILITY_NOUSE "mobility_nouse" +///Disallow resting/unresting +#define TRAIT_MOBILITY_NOREST "mobility_norest" + +#define TRAIT_FORCED_STANDING "forcedstanding" + +///Movement type traits for movables. See elements/movetype_handler.dm +#define TRAIT_MOVE_GROUND "move_ground" +#define TRAIT_MOVE_FLYING "move_flying" +#define TRAIT_MOVE_VENTCRAWLING "move_ventcrawling" +#define TRAIT_MOVE_FLOATING "move_floating" +#define TRAIT_MOVE_PHASING "move_phasing" +/// Disables the floating animation. See above. +#define TRAIT_NO_FLOATING_ANIM "no-floating-animation" + /// Trait granted by [mob/living/silicon/ai] /// Applied when the ai anchors itself #define AI_ANCHOR_TRAIT "ai_anchor" diff --git a/code/__DEFINES/turfs.dm b/code/__DEFINES/turfs.dm index 571bade19ef..30db6fc98f3 100644 --- a/code/__DEFINES/turfs.dm +++ b/code/__DEFINES/turfs.dm @@ -12,3 +12,9 @@ #define CHANGETURF_DEFER_BATCH (1 << 5) #define IS_OPAQUE_TURF(turf) (turf.directional_opacity == ALL_CARDINALS) + +// Integrity of mineral walls. +#define MINERAL_WALL_INTEGRITY 100 + +// how many bullet holes a wall can have at a given time +#define MAX_DENT_DECALS 15 diff --git a/code/__DEFINES/vv.dm b/code/__DEFINES/vv.dm index 5d9522b18ee..e52d9af5625 100644 --- a/code/__DEFINES/vv.dm +++ b/code/__DEFINES/vv.dm @@ -92,6 +92,8 @@ #define VV_HK_AUTO_RENAME "auto_rename" #define VV_HK_RADIATE "radiate" #define VV_HK_EDIT_FILTERS "edit_filters" +#define VV_HK_SELL "sell_item" +#define VV_HK_EDIT_PARTICLES "edit_particles" // /obj #define VV_HK_OSAY "osay" diff --git a/code/__HELPERS/AStar.dm b/code/__HELPERS/AStar.dm index 68d30ca3b1b..0e0de2a9532 100644 --- a/code/__HELPERS/AStar.dm +++ b/code/__HELPERS/AStar.dm @@ -104,7 +104,7 @@ Actual Adjacent procs : if(!start || !end) stack_trace("Invalid A* start or destination") return FALSE - if(start.virtual_z() != end.virtual_z() || start == end) //no pathfinding between z levels + if(start.virtual_z != end.virtual_z || start == end) //no pathfinding between z levels return FALSE if(maxnodes) //if start turf is farther than maxnodes from end turf, no need to do anything diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index f603e85292a..776014c4dfb 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -87,6 +87,42 @@ };\ } while(FALSE) + +/** + * Custom binary search sorted insert utilising comparison procs instead of vars. + * INPUT: Object to be inserted + * LIST: List to insert object into + * TYPECONT: The typepath of the contents of the list + * COMPARE: The object to compare against, usualy the same as INPUT + * COMPARISON: The plaintext name of a proc on INPUT that takes a single argument to accept a single element from LIST and returns a positive, negative or zero number to perform a comparison. + * COMPTYPE: How should the values be compared? Either COMPARE_KEY or COMPARE_VALUE. + */ +#define BINARY_INSERT_PROC_COMPARE(INPUT, LIST, TYPECONT, COMPARE, COMPARISON, COMPTYPE) \ + do {\ + var/list/__BIN_LIST = LIST;\ + var/__BIN_CTTL = length(__BIN_LIST);\ + if(!__BIN_CTTL) {\ + __BIN_LIST += INPUT;\ + } else {\ + var/__BIN_LEFT = 1;\ + var/__BIN_RIGHT = __BIN_CTTL;\ + var/__BIN_MID = (__BIN_LEFT + __BIN_RIGHT) >> 1;\ + var ##TYPECONT/__BIN_ITEM;\ + while(__BIN_LEFT < __BIN_RIGHT) {\ + __BIN_ITEM = COMPTYPE;\ + if(__BIN_ITEM.##COMPARISON(COMPARE) <= 0) {\ + __BIN_LEFT = __BIN_MID + 1;\ + } else {\ + __BIN_RIGHT = __BIN_MID;\ + };\ + __BIN_MID = (__BIN_LEFT + __BIN_RIGHT) >> 1;\ + };\ + __BIN_ITEM = COMPTYPE;\ + __BIN_MID = __BIN_ITEM.##COMPARISON(COMPARE) > 0 ? __BIN_MID : __BIN_MID + 1;\ + __BIN_LIST.Insert(__BIN_MID, INPUT);\ + };\ + } while(FALSE) + //Returns a list in plain english as a string /proc/english_list(list/input, nothing_text = "nothing", and_text = " and ", comma_text = ", ", final_comma_text = "" ) var/total = length(input) @@ -109,13 +145,25 @@ return "[output][and_text][input[index]]" -//Checks for specific types in a list -/proc/is_type_in_list(atom/A, list/L) - if(!LAZYLEN(L) || !A) +/** + * Checks for specific types in a list. + * + * If using zebra mode the list should be an assoc list with truthy/falsey values. + * The check short circuits so earlier entries in the input list will take priority. + * Ergo, subtypes should come before parent types. + * Notice that this is the opposite priority of [/proc/typecacheof]. + * + * Arguments: + * - [type_to_check][/datum]: An instance to check. + * - [list_to_check][/list]: A list of typepaths to check the type_to_check against. + * - zebra: Whether to use the value of the matching type in the list instead of just returning true when a match is found. + */ +/proc/is_type_in_list(datum/type_to_check, list/list_to_check, zebra = FALSE) + if(!LAZYLEN(list_to_check) || !type_to_check) return FALSE - for(var/type in L) - if(istype(A, type)) - return TRUE + for(var/type in list_to_check) + if(istype(type_to_check, type)) + return !zebra || list_to_check[type] // Subtypes must come first in zebra lists. return FALSE //Checks for specific types in specifically structured (Assoc "type" = TRUE) lists ('typecaches') @@ -213,43 +261,99 @@ result = first ^ second return result -//Picks a random element from a list based on a weighting system: -//1. Adds up the total of weights for each element -//2. Gets a number between 1 and that total -//3. For each element in the list, subtracts its weighting from that number -//4. If that makes the number 0 or less, return that element. -/proc/pickweight(list/L) +/** + * Picks a random element from a list based on a weighting system: + * 1. Adds up the total of weights for each element + * 2. Gets a number between 1 and that total + * 3. For each element in the list, subtracts its weighting from that number + * 4. If that makes the number 0 or less, return that element. + * Will output null sometimes if you use decimals (e.g. 0.1 instead of 10) as rand() uses integers, not floats +**/ +/proc/pick_weight(list/list_to_pick) var/total = 0 var/item - for (item in L) - if (!L[item]) - L[item] = 1 - total += L[item] + for(item in list_to_pick) + if(!list_to_pick[item]) + list_to_pick[item] = 1 + total += list_to_pick[item] total = rand(1, total) - for (item in L) - total -=L [item] - if (total <= 0) + for(item in list_to_pick) + total -= list_to_pick[item] + if(total <= 0) return item return null -/proc/pickweightAllowZero(list/L) //The original pickweight proc will sometimes pick entries with zero weight. I'm not sure if changing the original will break anything, so I left it be. +/** + * Picks a random element from a list based on a weighting system. + * For example, given the following list: + * A = 6, B = 3, C = 1, D = 0 + * A would have a 60% chance of being picked, + * B would have a 30% chance of being picked, + * C would have a 10% chance of being picked, + * and D would have a 0% chance of being picked. + * You should only pass integers in. + */ +/proc/pick_weight_allow_zero(list/list_to_pick) //The original pick_weight proc will sometimes pick entries with zero weight. I'm not sure if changing the original will break anything, so I left it be. + if(length(list_to_pick) == 0) + return null + var/total = 0 - var/item - for (item in L) - if (!L[item]) - L[item] = 0 - total += L[item] + for(var/item in list_to_pick) + if(!list_to_pick[item]) + list_to_pick[item] = 0 + total += list_to_pick[item] - total = rand(0, total) - for (item in L) - total -=L [item] - if (total <= 0 && L[item]) + total = rand(1, total) + for(var/item in list_to_pick) + var/item_weight = list_to_pick[item] + if(item_weight == 0) + continue + + total -= item_weight + if(total <= 0) return item return null +/** + * Like pick_weight, but allowing for nested lists. + * + * For example, given the following list: + * list(A = 1, list(B = 1, C = 1)) + * A would have a 50% chance of being picked, + * and list(B, C) would have a 50% chance of being picked. + * If list(B, C) was picked, B and C would then each have a 50% chance of being picked. + * So the final probabilities would be 50% for A, 25% for B, and 25% for C. + * + * Weights should be integers. Entries without weights are assigned weight 1 (so unweighted lists can be used as well) + */ +/proc/pick_weight_recursive(list/list_to_pick) + var/result = pick_weight(fill_with_ones(list_to_pick)) + while(islist(result)) + result = pick_weight(fill_with_ones(result)) + return result + +/** + * Given a list, return a copy where values without defined weights are given weight 1. + * For example, fill_with_ones(list(A, B=2, C)) = list(A=1, B=2, C=1) + * Useful for weighted random choices (loot tables, syllables in languages, etc.) + */ +/proc/fill_with_ones(list/list_to_pad) + if (!islist(list_to_pad)) + return list_to_pad + + var/list/final_list = list() + + for (var/key in list_to_pad) + if (list_to_pad[key]) + final_list[key] = list_to_pad[key] + else + final_list[key] = 1 + + return final_list + /// Takes a weighted list (see above) and expands it into raw entries /// This eats more memory, but saves time when actually picking from it /proc/expand_weights(list/list_to_pick) diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index 1ab88998769..16de5230a2b 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -10,14 +10,22 @@ #define WRITE_LOG(log, text) rustg_log_write(log, text, "true") #define WRITE_LOG_NO_FORMAT(log, text) rustg_log_write(log, text, "false") -//print a warning message to world.log +#ifdef UNIT_TESTS +#define WARNING(MSG) log_world("::warning file=[__FILE__],line=[__LINE__]::[MSG] src: [UNLINT(src)] usr: [usr].") +#else #define WARNING(MSG) warning("[MSG] in [__FILE__] at line [__LINE__] src: [UNLINT(src)] usr: [usr].") +#endif +/// Print a warning message to world.log /proc/warning(msg) msg = "## WARNING: [msg]" log_world(msg) -//not an error or a warning, but worth to mention on the world log, just in case. +#ifdef UNIT_TESTS +#define NOTICE(MSG) log_world("::notice file=[__FILE__],line=[__LINE__]::[MSG] src: [UNLINT(src)] usr: [usr].") +#else #define NOTICE(MSG) notice(MSG) +#endif +///not an error or a warning, but worth to mention on the world log, just in case. /proc/notice(msg) msg = "## NOTICE: [msg]" log_world(msg) diff --git a/code/__HELPERS/_planes.dm b/code/__HELPERS/_planes.dm new file mode 100644 index 00000000000..d8306c356d4 --- /dev/null +++ b/code/__HELPERS/_planes.dm @@ -0,0 +1,80 @@ +// This file contains helper macros for plane operations +// See the planes section of Visuals.md for more detail, but essentially +// When we render multiz, we do it by placing all atoms on lower levels on well, lower planes +// This is done with stacks of plane masters (things we use to apply effects to planes) +// These macros exist to facilitate working with this system, and other associated small bits + +/// Takes an atom to change the plane of, a new plane value, and something that can be used as a reference to a z level as input +/// Modifies the new value to match the plane we actually want. Note, if you pass in an already offset plane the offsets will add up +/// Use PLANE_TO_TRUE() to avoid this +#define SET_PLANE(thing, new_value, z_reference) (thing.plane = MUTATE_PLANE(new_value, z_reference)) + +/// Takes a plane and a z reference, and offsets the plane by the mutation +/// The SSmapping.max_plane_offset bit here is technically redundant, but saves a bit of work in the base case +/// And the base case is important to me. Non multiz shouldn't get hit too bad by this code +#define MUTATE_PLANE(new_value, z_reference) ((SSmapping.max_plane_offset) ? GET_NEW_PLANE(new_value, GET_TURF_PLANE_OFFSET(z_reference)) : (new_value)) + +/// Takes a z reference that we are unsure of, sanity checks it +/// Returns either its offset, or 0 if it's not a valid ref +#define GET_TURF_PLANE_OFFSET(z_reference) ((SSmapping.max_plane_offset && isatom(z_reference)) ? GET_Z_PLANE_OFFSET(z_reference.z) : 0) +/// Essentially just an unsafe version of GET_TURF_PLANE_OFFSET() +/// Takes a z value we returns its offset with a list lookup +/// Will runtime during parts of init. Be careful :) +#define GET_Z_PLANE_OFFSET(z) (SSmapping.z_level_to_plane_offset[z]) + +/// Takes a plane to offset, and the multiplier to use, and well, does the offsetting +/// Respects a blacklist we use to remove redundant plane masters, such as hud objects +#define GET_NEW_PLANE(new_value, multiplier) (SSmapping.plane_offset_blacklist?["[new_value]"] ? new_value : (new_value) - (PLANE_RANGE * (multiplier))) + +// Now for the more niche things + +/// Takes an object, new plane, and multipler, and offsets the plane +/// This is for cases where you have a multipler precalculated, and just want to use it +/// Often an optimization, sometimes a necessity +#define SET_PLANE_W_SCALAR(thing, new_value, multiplier) (thing.plane = GET_NEW_PLANE(new_value, multiplier)) + + +/// Implicit plane set. We take the turf from the object we're changing the plane of, and use ITS z as a spokesperson for our plane value +#define SET_PLANE_IMPLICIT(thing, new_value) SET_PLANE_EXPLICIT(thing, new_value, thing) + +// This is an unrolled and optimized version of SET_PLANE, for use anywhere where you are unsure of a source's "turfness" +// The plane is cached to allow for fancy stuff to be eval'd once, rather then often +#define SET_PLANE_EXPLICIT(thing, new_value, source) \ + do {\ + if(SSmapping.max_plane_offset) {\ + var/_cached_plane = new_value;\ + var/turf/_our_turf = get_turf(source);\ + if(_our_turf){\ + thing.plane = GET_NEW_PLANE(_cached_plane, GET_Z_PLANE_OFFSET(_our_turf.z));\ + }\ + }\ + else {\ + thing.plane = new_value;\ + }\ + }\ + while (FALSE) + +// Now for macros that exist to get info from SSmapping +// Mostly about details of planes, or z levels + +/// Takes a z level, gets the lowest plane offset in its "stack" +#define GET_LOWEST_STACK_OFFSET(z) ((SSmapping.max_plane_offset) ? SSmapping.z_level_to_lowest_plane_offset[z] : 0) +/// Takes a plane, returns the canonical, unoffset plane it represents +#define PLANE_TO_TRUE(plane) ((SSmapping.plane_offset_to_true) ? SSmapping.plane_offset_to_true["[plane]"] : plane) +/// Takes a plane, returns the offset it uses +#define PLANE_TO_OFFSET(plane) ((SSmapping.plane_to_offset) ? SSmapping.plane_to_offset["[plane]"] : plane) +/// Takes a plane, returns TRUE if it is of critical priority, FALSE otherwise +#define PLANE_IS_CRITICAL(plane) ((SSmapping.plane_to_offset) ? !!SSmapping.critical_planes["[plane]"] : FALSE) +/// Takes a true plane, returns the offset planes that would canonically represent it +#define TRUE_PLANE_TO_OFFSETS(plane) ((SSmapping.true_to_offset_planes) ? SSmapping.true_to_offset_planes["[plane]"] : list(plane)) +/// Takes a render target and an offset, returns a canonical render target string for it +#define OFFSET_RENDER_TARGET(render_target, offset) (_OFFSET_RENDER_TARGET(render_target, SSmapping.render_offset_blacklist?["[render_target]"] ? 0 : offset)) +/// Helper macro for the above +/// Honestly just exists to make the pattern of render target strings more readable +#define _OFFSET_RENDER_TARGET(render_target, offset) ("[(render_target)] #[(offset)]") + +// Known issues: +// Potentially too much client load? Hard to tell due to not having a potato pc to hand. +// This is solvable with lowspec preferences, which would not be hard to implement +// Player popups will now render their effects, like overlay lights. this is fixable, but I've not gotten to it +// I think overlay lights can render on the wrong z layer. s fucked diff --git a/code/__HELPERS/_string_lists.dm b/code/__HELPERS/_string_lists.dm index cdbee26f9ba..5dab48761ec 100644 --- a/code/__HELPERS/_string_lists.dm +++ b/code/__HELPERS/_string_lists.dm @@ -1,5 +1,5 @@ #define pick_list(FILE, KEY) (pick(strings(FILE, KEY))) -#define pick_list_weighted(FILE, KEY) (pickweight(strings(FILE, KEY))) +#define pick_list_weighted(FILE, KEY) (pick_weight(strings(FILE, KEY))) #define pick_list_replacements(FILE, KEY) (strings_replacement(FILE, KEY)) #define json_load(FILE) (json_decode(file2text(FILE))) diff --git a/code/__HELPERS/areas.dm b/code/__HELPERS/areas.dm index 70349078bd9..5479f2bcbe5 100644 --- a/code/__HELPERS/areas.dm +++ b/code/__HELPERS/areas.dm @@ -42,7 +42,6 @@ GLOBAL_LIST_INIT(typecache_powerfailure_safe_areas, typecacheof(/area/ship/engin // Passed into the above proc as list/break_if_found var/static/area_or_turf_fail_types = typecacheof(list( /turf/open/space, - /area/shuttle, )) // Ignore these areas and dont let people expand them. They can expand into them though var/static/blacklisted_areas = typecacheof(list( diff --git a/code/__HELPERS/atoms.dm b/code/__HELPERS/atoms.dm new file mode 100644 index 00000000000..dbb42122ff4 --- /dev/null +++ b/code/__HELPERS/atoms.dm @@ -0,0 +1,9 @@ +///Returns the src and all recursive contents as a list. +/atom/proc/get_all_contents(ignore_flag_1) + . = list(src) + var/i = 0 + while(i < length(.)) + var/atom/checked_atom = .[++i] + if(checked_atom.flags_1 & ignore_flag_1) + continue + . += checked_atom.contents diff --git a/code/__HELPERS/bindings.dm b/code/__HELPERS/bindings.dm index c2c19136854..ee88cb70380 100644 --- a/code/__HELPERS/bindings.dm +++ b/code/__HELPERS/bindings.dm @@ -11,174 +11,235 @@ #define AUXMOS (__auxmos || __detect_auxmos()) +/proc/byondapi_stack_trace(msg) + CRASH(msg) + +/// Returns: true. Parses gas strings like "o2=2500;plasma=5000;TEMP=370" and turns src mixes into the parsed gas mixture, invalid patterns will be ignored /datum/gas_mixture/proc/__auxtools_parse_gas_string(string) return call_ext(AUXMOS, "byond:parse_gas_string_ffi")(src, string) +/// Returns: the total amount of gas mixtures in the arena, including "free" ones. /datum/controller/subsystem/air/proc/get_max_gas_mixes() return call_ext(AUXMOS, "byond:hook_max_gas_mixes_ffi")() +/// Returns: the amount of gas mixtures that are attached to a byond gas mixture. /datum/controller/subsystem/air/proc/get_amt_gas_mixes() return call_ext(AUXMOS, "byond:hook_amt_gas_mixes_ffi")() +/// Args: (list). Takes every gas in the list and makes them all identical, scaled to their respective volumes. The total heat and amount of substance in all of the combined gases is conserved. /proc/equalize_all_gases_in_list(gas_list) return call_ext(AUXMOS, "byond:equalize_all_hook_ffi")(gas_list) +/// Args: (temperature). Returns: how much oxidizer for fire is in the mixture at the given temperature. If temperature is omitted, just uses current temperature instead. /datum/gas_mixture/proc/get_oxidation_power(temp) return call_ext(AUXMOS, "byond:oxidation_power_hook_ffi")(src, temp) +/// Args: (temperature). Returns: how much fuel for fire is in the mixture at the given temperature. If temperature is omitted, just uses current temperature instead. /datum/gas_mixture/proc/get_fuel_amount(temp) return call_ext(AUXMOS, "byond:fuel_amount_hook_ffi")(src, temp) +/// Args: (mixture). Makes `src` a copy of `mixture`, with volumes taken into account. /datum/gas_mixture/proc/equalize_with(total) return call_ext(AUXMOS, "byond:equalize_with_hook_ffi")(src, total) +/// Args: (mixture, ratio). Transfers `ratio` of `src` to `mixture`. /datum/gas_mixture/proc/transfer_ratio_to(other, ratio) return call_ext(AUXMOS, "byond:transfer_ratio_hook_ffi")(src, other, ratio) +/// Args: (mixture, amount). Takes the `amount` given and transfers it from `src` to `mixture`. /datum/gas_mixture/proc/transfer_to(other, moles) return call_ext(AUXMOS, "byond:transfer_hook_ffi")(src, other, moles) +/// Args: (heat). Adds a given amount of heat to the mixture, i.e. in joules taking into account capacity. /datum/gas_mixture/proc/adjust_heat(temp) return call_ext(AUXMOS, "byond:adjust_heat_hook_ffi")(src, temp) +/// Args: (holder). Runs all reactions on this gas mixture. Holder is used by the reactions, and can be any arbitrary datum or null. /datum/gas_mixture/proc/react(holder) return call_ext(AUXMOS, "byond:react_hook_ffi")(src, holder) +/// Returns: true if the two mixtures are different enough for processing, false otherwise. /datum/gas_mixture/proc/compare(other) return call_ext(AUXMOS, "byond:compare_hook_ffi")(src, other) +/// Clears the gas mixture my removing all of its gases. /datum/gas_mixture/proc/clear() return call_ext(AUXMOS, "byond:clear_hook_ffi")(src) +/// Marks the mix as immutable, meaning it will never change. This cannot be undone. /datum/gas_mixture/proc/mark_immutable() return call_ext(AUXMOS, "byond:mark_immutable_hook_ffi")(src) +/// Args: (mixture, ratio, gas_list). Takes gases given by `gas_list` and moves `ratio` amount of those gases from `src` into `mixture`. /datum/gas_mixture/proc/scrub_into(into, ratio_v, gas_list) return call_ext(AUXMOS, "byond:scrub_into_hook_ffi")(src, into, ratio_v, gas_list) +/// Args: (flag). As get_gases(), but only returns gases with the given flag. /datum/gas_mixture/proc/get_by_flag(flag_val) return call_ext(AUXMOS, "byond:get_by_flag_hook_ffi")(src, flag_val) +/// Args: (mixture, flag, amount). Takes `amount` from src that have the given `flag` and puts them into the given `mixture`. Returns: 0 if gas didn't have any with that flag, 1 if it did. /datum/gas_mixture/proc/__remove_by_flag(into, flag_val, amount_val) return call_ext(AUXMOS, "byond:remove_by_flag_hook_ffi")(src, into, flag_val, amount_val) +/// Args: (coefficient). Divides all gases by this amount. /datum/gas_mixture/proc/divide(num_val) return call_ext(AUXMOS, "byond:divide_hook_ffi")(src, num_val) +/// Args: (coefficient). Multiplies all gases by this amount. /datum/gas_mixture/proc/multiply(num_val) return call_ext(AUXMOS, "byond:multiply_hook_ffi")(src, num_val) +/// Args: (amount). Subtracts the given amount from each gas. /datum/gas_mixture/proc/subtract(num_val) return call_ext(AUXMOS, "byond:subtract_hook_ffi")(src, num_val) +/// Args: (amount). Adds the given amount to each gas. /datum/gas_mixture/proc/add(num_val) return call_ext(AUXMOS, "byond:add_hook_ffi")(src, num_val) +/// Args: (gas_id_1, amount_1, gas_id_2, amount_2, ...). As adjust_moles, but with variadic arguments. /datum/gas_mixture/proc/adjust_multi(...) var/list/args_copy = args.Copy() args_copy.Insert(1, src) return call_ext(AUXMOS, "byond:adjust_multi_hook_ffi")(arglist(args_copy)) +/// Args: (gas_id, moles, temp). Adjusts the given gas's amount by the given amount, with that gas being treated as if it is at the given temperature. /datum/gas_mixture/proc/adjust_moles_temp(id_val, num_val, temp_val) return call_ext(AUXMOS, "byond:adjust_moles_temp_hook_ffi")(src, id_val, num_val, temp_val) +/// Args: (gas_id, moles). Adjusts the given gas's amount by the given amount, e.g. (GAS_O2, -0.1) will remove 0.1 moles of oxygen from the mixture. /datum/gas_mixture/proc/adjust_moles(id_val, num_val) return call_ext(AUXMOS, "byond:adjust_moles_hook_ffi")(src, id_val, num_val) +/// Args: (gas_id, moles). Sets the amount of substance of the given gas, in moles. /datum/gas_mixture/proc/set_moles(gas_id, amt_val) return call_ext(AUXMOS, "byond:set_moles_hook_ffi")(src, gas_id, amt_val) +/// Args: (gas_id). Returns: the amount of substance of the given gas, in moles. /datum/gas_mixture/proc/get_moles(gas_id) return call_ext(AUXMOS, "byond:get_moles_hook_ffi")(src, gas_id) +/// Args: (volume). Sets the volume of the gas. /datum/gas_mixture/proc/set_volume(vol_arg) return call_ext(AUXMOS, "byond:set_volume_hook_ffi")(src, vol_arg) +/// Args: (gas_id). Returns the heat capacity from the given gas, in J/K (probably). /datum/gas_mixture/proc/partial_heat_capacity(gas_id) return call_ext(AUXMOS, "byond:partial_heat_capacity_ffi")(src, gas_id) +/// Args: (temperature). Sets the temperature of the mixture. Will be set to 2.7 if it's too low. /datum/gas_mixture/proc/set_temperature(arg_temp) return call_ext(AUXMOS, "byond:set_temperature_hook_ffi")(src, arg_temp) +/// Returns: a list of the gases in the mixture, associated with their IDs. /datum/gas_mixture/proc/get_gases() return call_ext(AUXMOS, "byond:get_gases_hook_ffi")(src) +/// Args: (src, mixture, conductivity) or (src, conductivity, temperature, heat_capacity). Adjusts temperature of src based on parameters. Returns: temperature of sharer after sharing is complete. /datum/gas_mixture/proc/temperature_share(...) var/list/args_copy = args.Copy() args_copy.Insert(1, src) return call_ext(AUXMOS, "byond:temperature_share_hook_ffi")(arglist(args_copy)) +/// Arg: (mixture). Makes src into a copy of the argument mixture. /datum/gas_mixture/proc/copy_from(giver) return call_ext(AUXMOS, "byond:copy_from_hook_ffi")(src, giver) +/// Args: (mixture, amount). Takes the given amount of gas from src and puts it into the argument mixture. Amount is amount of substance in moles. /datum/gas_mixture/proc/__remove(into, amount_arg) return call_ext(AUXMOS, "byond:remove_hook_ffi")(src, into, amount_arg) +/// Args: (mixture, ratio). Takes the given ratio of gas from src and puts it into the argument mixture. Ratio is a number between 0 and 1. /datum/gas_mixture/proc/__remove_ratio(into, ratio_arg) return call_ext(AUXMOS, "byond:remove_ratio_hook_ffi")(src, into, ratio_arg) +/// Args: (mixture). Merges the gas from the giver into src, without modifying the giver mix. /datum/gas_mixture/proc/merge(giver) return call_ext(AUXMOS, "byond:merge_hook_ffi")(src, giver) +/// Returns: the mix's thermal energy, the product of the mixture's heat capacity and its temperature. /datum/gas_mixture/proc/thermal_energy() return call_ext(AUXMOS, "byond:thermal_energy_hook_ffi")(src) +/// Returns: the mix's volume, in liters. /datum/gas_mixture/proc/return_volume() return call_ext(AUXMOS, "byond:return_volume_hook_ffi")(src) +/// Returns: the mix's temperature, in kelvins. /datum/gas_mixture/proc/return_temperature() return call_ext(AUXMOS, "byond:return_temperature_hook_ffi")(src) +/// Returns: the mix's pressure, in kilopascals. /datum/gas_mixture/proc/return_pressure() return call_ext(AUXMOS, "byond:return_pressure_hook_ffi")(src) +/// Returns: Amount of substance, in moles. /datum/gas_mixture/proc/total_moles() return call_ext(AUXMOS, "byond:total_moles_hook_ffi")(src) +/// Args: (min_heat_cap). Sets the mix's minimum heat capacity. /datum/gas_mixture/proc/set_min_heat_capacity(arg_min) return call_ext(AUXMOS, "byond:min_heat_cap_hook_ffi")(src, arg_min) +/// Returns: Heat capacity, in J/K (probably). /datum/gas_mixture/proc/heat_capacity() return call_ext(AUXMOS, "byond:heat_cap_hook_ffi")(src) +/// Adds the gas mixture's ID to the queue of mixtures that have been deleted, to be reused later. +/// This version is only if auxcleanup is not being used; it should be called from /datum/gas_mixture/Del. /datum/gas_mixture/proc/__gasmixture_unregister() return call_ext(AUXMOS, "byond:unregister_gasmixture_hook_ffi")(src) +/// Fills in the first unused slot in the gas mixtures vector, or adds another one, then sets the argument ByondValue to point to it. /datum/gas_mixture/proc/__gasmixture_register() return call_ext(AUXMOS, "byond:register_gasmixture_hook_ffi")(src) +/// Args: (ms). Runs callbacks until time limit is reached. If time limit is omitted, runs all callbacks. /proc/process_atmos_callbacks(remaining) return call_ext(AUXMOS, "byond:atmos_callback_handle_ffi")(remaining) +/// Updates adjacency infos for turfs, only use this in immediateupdateturfs. /turf/proc/__update_auxtools_turf_adjacency_info() return call_ext(AUXMOS, "byond:hook_infos_ffi")(src) +/// Returns: null. Updates turf air infos, whether the turf is closed, is space or a regular turf, or even a planet turf is decided here. /turf/proc/update_air_ref(flag) return call_ext(AUXMOS, "byond:hook_register_turf_ffi")(src, flag) +/// Returns: If this cycle is interrupted by overtiming or not. Starts a katmos equalize cycle, does nothing if process_turfs isn't ran. /datum/controller/subsystem/air/proc/process_turf_equalize_auxtools(remaining) return call_ext(AUXMOS, "byond:equalize_hook_ffi")(src, remaining) -/datum/controller/subsystem/air/proc/process_excited_groups_auxtools(remaining) - return call_ext(AUXMOS, "byond:groups_hook_ffi")(src, remaining) - +/// Returns: If this cycle is interrupted by overtiming or not. Starts a processing turfs cycle. /datum/controller/subsystem/air/proc/process_turfs_auxtools(remaining) return call_ext(AUXMOS, "byond:process_turf_hook_ffi")(src, remaining) +/// Returns: If this cycle is interrupted by overtiming or not. Calls all outstanding callbacks created by other processes, usually ones that can't run on other threads and only the main thread. /datum/controller/subsystem/air/proc/finish_turf_processing_auxtools(time_remaining) return call_ext(AUXMOS, "byond:finish_process_turfs_ffi")(time_remaining) +/// Returns: If a processing thread is running or not. /datum/controller/subsystem/air/proc/thread_running() return call_ext(AUXMOS, "byond:thread_running_hook_ffi")() +/// Returns: If this cycle is interrupted by overtiming or not. Starts a processing excited groups cycle, does nothing if process_turfs isn't ran. +/datum/controller/subsystem/air/proc/process_excited_groups_auxtools(remaining) + return call_ext(AUXMOS, "byond:groups_hook_ffi")(src, remaining) + +/// For updating reagent gas fire products, do not use for now. /proc/finalize_gas_refs() return call_ext(AUXMOS, "byond:finalize_gas_refs_ffi")() +/// For updating reaction informations for auxmos, only call this when it is changed. /datum/controller/subsystem/air/proc/auxtools_update_reactions() return call_ext(AUXMOS, "byond:update_reactions_ffi")() +/// Registers gases, and get reaction infos for auxmos, only call when ssair is initing. /proc/auxtools_atmos_init(gas_data) return call_ext(AUXMOS, "byond:hook_init_ffi")(gas_data) +/// For registering gases, do not touch this. /proc/_auxtools_register_gas(gas) return call_ext(AUXMOS, "byond:hook_register_gas_ffi")(gas) + diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index e7af7f31884..7bb70222072 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -6,7 +6,6 @@ block( \ ) #define Z_TURFS(ZLEVEL) block(locate(1,1,ZLEVEL), locate(world.maxx, world.maxy, ZLEVEL)) -#define CULT_POLL_WAIT 2400 /proc/get_area_name(atom/X, format_text = FALSE) var/area/A = isarea(X) ? X : get_area(X) @@ -596,3 +595,31 @@ block( \ continue C.energy_fail(rand(duration_min,duration_max)) + +///Returns a list of turfs around a center based on RANGE_TURFS() +/proc/circle_range_turfs(center = usr, radius = 3) + + var/turf/center_turf = get_turf(center) + var/list/turfs = new/list() + var/rsq = radius * (radius + 0.5) + + for(var/turf/checked_turf as anything in RANGE_TURFS(radius, center_turf)) + var/dx = checked_turf.x - center_turf.x + var/dy = checked_turf.y - center_turf.y + if(dx * dx + dy * dy <= rsq) + turfs += checked_turf + return turfs + +///Returns a list of turfs around a center based on view() +/proc/circle_view_turfs(center=usr,radius=3) //Is there even a diffrence between this proc and circle_range_turfs()? + + var/turf/center_turf = get_turf(center) + var/list/turfs = new/list() + var/rsq = radius * (radius + 0.5) + + for(var/turf/checked_turf in view(radius, center_turf)) + var/dx = checked_turf.x - center_turf.x + var/dy = checked_turf.y - center_turf.y + if(dx * dx + dy * dy <= rsq) + turfs += checked_turf + return turfs diff --git a/code/__HELPERS/generators.dm b/code/__HELPERS/generators.dm new file mode 100644 index 00000000000..d50df7deba1 --- /dev/null +++ b/code/__HELPERS/generators.dm @@ -0,0 +1,11 @@ +/** + * returns the arguments given to a generator and manually extracts them from the internal byond object + * returns: + * * flat list of strings for args given to the generator. + * * Note: this means things like "list(1,2,3)" will need to be processed + */ +/proc/return_generator_args(generator/target) + var/string_repr = "[target]" //the name of the generator is the string representation of it's _binobj, which also contains it's args + string_repr = copytext(string_repr, 11, length(string_repr)) // strips extraneous data + string_repr = replacetext(string_repr, "\"", "") // removes the " around the type + return splittext(string_repr, ", ") diff --git a/code/__HELPERS/hearted.dm b/code/__HELPERS/hearted.dm new file mode 100644 index 00000000000..1b2c60a2532 --- /dev/null +++ b/code/__HELPERS/hearted.dm @@ -0,0 +1,98 @@ +/// Called when the shuttle starts launching back to centcom, polls a few random players who joined the round for commendations +/datum/controller/subsystem/ticker/proc/poll_hearts() + if(!CONFIG_GET(number/commendation_percent_poll)) + return + var/number_to_ask = round(LAZYLEN(GLOB.joined_player_list) * CONFIG_GET(number/commendation_percent_poll)) + rand(0,1) + + if(number_to_ask == 0) + message_admins("Not enough eligible players to poll for commendations.") + return + + message_admins("Polling [number_to_ask] players for commendations.") + + for(var/i in GLOB.joined_player_list) + var/mob/check_mob = get_mob_by_ckey(i) + if(!check_mob?.mind || !check_mob.client) + continue + // maybe some other filters like bans or whatever + INVOKE_ASYNC(check_mob, TYPE_PROC_REF(/mob, query_heart), 1) + number_to_ask-- + if(number_to_ask <= 0) + break + +/// Once the round is actually over, cycle through the ckeys in the hearts list and give them the hearted status +/datum/controller/subsystem/ticker/proc/handle_hearts() + var/list/message = list("The following players were commended this round: ") + var/i = 0 + for(var/hearted_ckey in hearts) + i++ + var/mob/hearted_mob = get_mob_by_ckey(hearted_ckey) + if(!hearted_mob?.client) + continue + hearted_mob.client.adjust_heart() + message += "[hearted_ckey][i==hearts.len ? "" : ", "]" + message_admins(message.Join()) + +/// Ask someone if they'd like to award a commendation for the round, 3 tries to get the name they want before we give up +/mob/proc/query_heart(attempt=1) + if(!client || attempt > 3) + return + if(attempt == 1 && tgui_alert(src, "Was there another character you noticed being kind this round that you would like to anonymously thank?", "<3?", list("Yes", "No"), timeout = 30 SECONDS) != "Yes") + return + + var/heart_nominee + switch(attempt) + if(1) + heart_nominee = input(src, "What was their name? Just a first or last name may be enough. (Leave blank to cancel)", "<3?") + if(2) + heart_nominee = input(src, "Try again, what was their name? Just a first or last name may be enough. (Leave blank to cancel)", "<3?") + if(3) + heart_nominee = input(src, "One more try, what was their name? Just a first or last name may be enough. (Leave blank to cancel)", "<3?") + if(!heart_nominee) + return + + heart_nominee = lowertext(heart_nominee) + var/list/name_checks = get_mob_by_name(heart_nominee) + if(!name_checks || name_checks.len == 0) + query_heart(attempt + 1) + return + name_checks = shuffle(name_checks) + + for(var/i in name_checks) + var/mob/heart_contender = i + if(heart_contender == src) + continue + + switch(tgui_alert(src, "Is this the person: [heart_contender.name] ([heart_contender.real_name])", "<3?", list("Yes!", "Nope", "Cancel"), timeout = 15 SECONDS)) + if("Yes!") + heart_contender.receive_heart(src) + return + if("Nope") + continue + else + return + + query_heart(attempt + 1) + +/* +* Once we've confirmed who we're commending, either set their status now or log it for the end of the round +* +* This used to be reversed, being named nominate_heart and being called on the mob sending the commendation and the first argument being +* the heart_recepient, but that was confusing and unintuitive, so now src is the person being commended and the sender is now the first argument. +* +* Arguments: +* * heart_sender: The reference to the mob who sent the commendation, just for the purposes of logging +* * duration: How long from the moment it's applied the heart will last +* * instant: If TRUE (or if the round is already over), we'll give them the heart status now, if FALSE, we wait until the end of the round (which is the standard behavior) +*/ + +/mob/proc/receive_heart(mob/heart_sender, duration = 24 HOURS, instant = FALSE) + if(!client) + return + to_chat(heart_sender, span_nicegreen("Commendation sent!")) + message_admins("[key_name(heart_sender)] commended [key_name(src)] [instant ? "(instant)" : ""]") + log_admin("[key_name(heart_sender)] commended [key_name(src)] [instant ? "(instant)" : ""]") + if(instant || SSticker.current_state == GAME_STATE_FINISHED) + client.adjust_heart(duration) + else + LAZYADD(SSticker.hearts, ckey) diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 38e540e996b..3e676f28945 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -1028,13 +1028,6 @@ GLOBAL_LIST_EMPTY(friendly_animal_types) // Pick a random animal instead of the icon, and use that instead /proc/getRandomAnimalImage(atom/A) - if(!GLOB.friendly_animal_types.len) - for(var/T in typesof(/mob/living/simple_animal)) - var/mob/living/simple_animal/SA = T - if(initial(SA.gold_core_spawnable) == FRIENDLY_SPAWN) - GLOB.friendly_animal_types += SA - - var/mob/living/simple_animal/SA = pick(GLOB.friendly_animal_types) var/icon = initial(SA.icon) diff --git a/code/__HELPERS/maths.dm b/code/__HELPERS/maths.dm new file mode 100644 index 00000000000..983ecc80027 --- /dev/null +++ b/code/__HELPERS/maths.dm @@ -0,0 +1,13 @@ +///Calculate the angle between two movables and the west|east coordinate +/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) + if(!dy) + return (dx >= 0) ? 90 : 270 + . = arctan(dx/dy) + if(dy < 0) + . += 180 + else if(dx < 0) + . += 360 diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index b2aa98d0ce7..0662264b25d 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -271,7 +271,19 @@ GLOBAL_LIST_EMPTY(species_list) return ..() /** - * Timed action involving one mob user. A target can also be specified, but it is optional. + * Used to get the amount of change between two body temperatures + * + * When passed the difference between two temperatures returns the amount of change to temperature to apply. + * The change rate should be kept at a low value tween 0.16 and 0.02 for optimal results. + * vars: + * * temp_diff (required) The differance between two temperatures + * * change_rate (optional)(Default: 0.06) The rate of range multiplyer + */ +/proc/get_temp_change_amount(temp_diff, change_rate = 0.06) + if(temp_diff < 0) + return -(BODYTEMP_AUTORECOVERY_DIVISOR / 2) * log(1 - (temp_diff * change_rate)) + +/* Timed action involving one mob user. A target can also be specified, but it is optional. * * Checks that `user` does not move, change hands, get stunned, etc. for the * given `delay`. Returns `TRUE` on success or `FALSE` on failure. @@ -484,28 +496,6 @@ GLOBAL_LIST_EMPTY(species_list) else to_chat(M, message) -//Used in chemical_mob_spawn. Generates a random mob based on a given gold_core_spawnable value. -/proc/create_random_mob(spawn_location, mob_class = HOSTILE_SPAWN) - var/static/list/mob_spawn_meancritters = list() // list of possible hostile mobs - var/static/list/mob_spawn_nicecritters = list() // and possible friendly mobs - - if(mob_spawn_meancritters.len <= 0 || mob_spawn_nicecritters.len <= 0) - for(var/T in typesof(/mob/living/simple_animal)) - var/mob/living/simple_animal/SA = T - switch(initial(SA.gold_core_spawnable)) - if(HOSTILE_SPAWN) - mob_spawn_meancritters += T - if(FRIENDLY_SPAWN) - mob_spawn_nicecritters += T - - var/chosen - if(mob_class == FRIENDLY_SPAWN) - chosen = pick(mob_spawn_nicecritters) - else - chosen = pick(mob_spawn_meancritters) - var/mob/living/simple_animal/C = new chosen(spawn_location) - return C - /proc/passtable_on(target, source) var/mob/living/L = target if (!HAS_TRAIT(L, TRAIT_PASSTABLE) && L.pass_flags & PASSTABLE) diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index fda44d2b130..d78667dbfb4 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -229,64 +229,3 @@ GLOBAL_DATUM(syndicate_code_response_regex, /regex) . += "." else . += ", " - -#define FACTION_SYNDICATE "Syndicate" - #define FACTION_CYBERSUN "CyberSun" - #define FACTION_NGR "New Gorlex Republic" - #define FACTION_ROSEUS "Roseus Galactic" - #define FACTION_SUNS "Student-Union of Naturalistic Sciences" -#define FACTION_SOLGOV "SolGov" -#define FACTION_SRM "Saint-Roumain Militia" -#define FACTION_INTEQ "Inteq Risk Management Group" -#define FACTION_CLIP "CLIP Minutemen" -#define FACTION_NT "Nanotrasen" - #define FACTION_NS_LOGI "N+S Logistics" - #define FACTION_VIGILITAS "Vigilitas Interstellar" -#define FACTION_FRONTIER "Frontiersmen Fleet" -#define FACTION_PGF "Pan-Gezenan Federation" -#define FACTION_INDEPENDENT "Independent" - -#define PREFIX_SYNDICATE list("SEV", "SSV") - #define PREFIX_CYBERSUN list("CSSV") - #define PREFIX_NGR list("NGRV") - #define PREFIX_ROSEUS list("RGSV") - #define PREFIX_SUNS list("SUNS") -#define PREFIX_SOLGOV list("SCSV") -#define PREFIX_SRM list("SRSV") -#define PREFIX_INTEQ list("IRMV") -#define PREFIX_CLIP list("CMSV", "CMGSV") -#define PREFIX_NT list("NTSV") - #define PREFIX_NS_LOGI list("NSSV") - #define PREFIX_VIGILITAS list("VISV") -#define PREFIX_FRONTIER list("FFV") -#define PREFIX_PGF list("PGF", "PGFMC", "PGFN") -#define PREFIX_INDEPENDENT list("SV", "IMV", "ISV") - -/// List of all ship factions to their prefixes. -GLOBAL_LIST_INIT(ship_faction_to_prefixes, list( - FACTION_SYNDICATE = PREFIX_SYNDICATE, - FACTION_CYBERSUN = PREFIX_CYBERSUN, - FACTION_NGR = PREFIX_NGR, - FACTION_ROSEUS = PREFIX_ROSEUS, - FACTION_SUNS = PREFIX_SUNS, - FACTION_SOLGOV = PREFIX_SOLGOV, - FACTION_SRM = PREFIX_SRM, - FACTION_INTEQ = PREFIX_INTEQ, - FACTION_CLIP = PREFIX_CLIP, - FACTION_NT = PREFIX_NT, - FACTION_NS_LOGI = PREFIX_NS_LOGI, - FACTION_VIGILITAS = PREFIX_VIGILITAS, - FACTION_FRONTIER = PREFIX_FRONTIER, - FACTION_PGF = PREFIX_PGF, - FACTION_INDEPENDENT = PREFIX_INDEPENDENT -)) - -/proc/ship_prefix_to_faction(prefix) - for(var/faction in GLOB.ship_faction_to_prefixes) - if(prefix in GLOB.ship_faction_to_prefixes[faction]) - return faction - var/static/list/screamed = list() - if(!(prefix in screamed)) - screamed += prefix - stack_trace("attempted to get faction for unknown prefix [prefix]") - return "?!ERR!?" diff --git a/code/__HELPERS/priority_announce.dm b/code/__HELPERS/priority_announce.dm index 65ea832c0e0..fb02a93e144 100644 --- a/code/__HELPERS/priority_announce.dm +++ b/code/__HELPERS/priority_announce.dm @@ -1,4 +1,4 @@ -/proc/priority_announce(text, title = "", sound = 'sound/ai/attention.ogg', type, sender_override, auth_id, zlevel) //WS Edit - Make cap's announcement use logged-in name +/proc/priority_announce(text, title = "", sound = 'sound/ai/attention.ogg', type, sender_override, auth_id, zlevel) if(!text) return @@ -73,3 +73,9 @@ to_chat(M, "[title]
    [message]

    [from ? "-[from.name] ([from.job])" : null]") if(M.client.prefs.toggles & SOUND_ANNOUNCEMENTS) SEND_SOUND(M, S) + +/proc/create_distress_beacon(datum/overmap/ship/ship) + if(!ship) + return + var/text = "A distress beacon has been launched by [ship.name], at local sector co-ordinates [ship.x || ship.docked_to.x]/[ship.y || ship.docked_to.y]. No further information available." + priority_announce(text, null, 'sound/effects/alert.ogg', sender_override = "Outpost Distress Beacon System", zlevel = 0) diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index 5d96dc8af34..32e482bfc35 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -77,10 +77,6 @@ var/pos = length(file_data["[escape_status]"]) + 1 file_data["[escape_status]"]["[pos]"] = mob_data - var/datum/station_state/end_state = new /datum/station_state() - end_state.count() - var/station_integrity = min(PERCENT(GLOB.start_state.score(end_state)), 100) - file_data["additional data"]["station integrity"] = station_integrity WRITE_FILE(json_file, json_encode(file_data)) SSblackbox.record_feedback("nested tally", "round_end_stats", num_survivors, list("survivors", "total")) @@ -88,7 +84,6 @@ SSblackbox.record_feedback("nested tally", "round_end_stats", GLOB.joined_player_list.len - num_survivors, list("players", "dead")) . = list() .[POPCOUNT_SURVIVORS] = num_survivors - .["station_integrity"] = station_integrity /datum/controller/subsystem/ticker/proc/gather_antag_data() var/team_gid = 1 @@ -121,7 +116,7 @@ SSblackbox.record_feedback("associative", "antagonists", 1, antag_info) /datum/controller/subsystem/ticker/proc/record_nuke_disk_location() - var/obj/item/disk/nuclear/N = locate() in GLOB.poi_list + var/obj/item/disk/nuclear/N = locate() in SSpoints_of_interest.other_points_of_interest if(N) var/list/data = list() var/turf/T = get_turf(N) @@ -231,6 +226,11 @@ CHECK_TICK + //check config blah blah + handle_hearts() + + CHECK_TICK + //Now print them all into the log! log_game("Antagonists at round end were...") for(var/antag_name in total_antagonists) @@ -280,14 +280,9 @@ //Medals parts += medal_report() - //WS Begin - CHECK_TICK - - //Mouse - parts += mouse_report() CHECK_TICK - //WS End + //Station Goals parts += goal_report() @@ -459,17 +454,7 @@ parts += com return "
    [parts.Join("
    ")]
    " return "" -//WS Begin -/datum/controller/subsystem/ticker/proc/mouse_report() - if(GLOB.mouse_food_eaten) - var/list/parts = list() - parts += "Mouse stats:" - parts += "Mouse Born: [GLOB.mouse_spawned]" - parts += "Mouse Killed: [GLOB.mouse_killed]" - parts += "Trash Eaten: [GLOB.mouse_food_eaten]" - return "
    [parts.Join("
    ")]
    " - return "" -//WS End + /datum/controller/subsystem/ticker/proc/antag_report() var/list/result = list() var/list/all_teams = list() diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 452a522870a..3770b4e847a 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -94,8 +94,8 @@ return "northwest" if(SOUTHWEST) return "southwest" - else - return + + return NONE //Turns text into proper directions /proc/text2dir(direction) @@ -116,8 +116,8 @@ return SOUTHEAST if("SOUTHWEST") return SOUTHWEST - else - return + + return NONE //Converts an angle (degrees) into an ss13 direction GLOBAL_LIST_INIT(modulo_angle_to_dir, list(NORTH,NORTHEAST,EAST,SOUTHEAST,SOUTH,SOUTHWEST,WEST,NORTHWEST)) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index c8c7b63d0a0..7bd6f72771c 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -294,65 +294,6 @@ Turf and target are separate in case you want to teleport some distance from a t /proc/ionnum() return "[pick("!","@","#","$","%","^","&")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")]" -//Returns a list of all items of interest with their name -/proc/getpois(mobs_only = FALSE, skip_mindless = FALSE, specify_dead_role = TRUE) - var/list/mobs = sortmobs() - var/list/namecounts = list() - var/list/pois = list() - for(var/mob/M in mobs) - if(skip_mindless && (!M.mind && !M.ckey)) - if(!isbot(M) && !iscameramob(M) && !ismegafauna(M)) - continue - if(M.client && M.client.holder && M.client.holder.fakekey) //stealthmins - continue - var/name = avoid_assoc_duplicate_keys(M.name, namecounts) + M.get_realname_string() - - if(M.stat == DEAD && specify_dead_role) - if(isobserver(M)) - name += " \[ghost\]" - else - name += " \[dead\]" - pois[name] = M - - if(!mobs_only) - for(var/atom/A in GLOB.poi_list) - if(!A || !A.loc) - continue - pois[avoid_assoc_duplicate_keys(A.name, namecounts)] = A - - return pois -//Orders mobs by type then by name -/proc/sortmobs() - var/list/moblist = list() - var/list/sortmob = sortNames(GLOB.mob_list) - for(var/mob/living/silicon/ai/M in sortmob) - moblist.Add(M) - for(var/mob/camera/M in sortmob) - moblist.Add(M) - for(var/mob/living/silicon/pai/M in sortmob) - moblist.Add(M) - for(var/mob/living/silicon/robot/M in sortmob) - moblist.Add(M) - for(var/mob/living/carbon/human/M in sortmob) - moblist.Add(M) - for(var/mob/living/brain/M in sortmob) - moblist.Add(M) - for(var/mob/living/carbon/alien/M in sortmob) - moblist.Add(M) - for(var/mob/dead/observer/M in sortmob) - moblist.Add(M) - for(var/mob/dead/new_player/M in sortmob) - moblist.Add(M) - for(var/mob/living/carbon/monkey/M in sortmob) - moblist.Add(M) - for(var/mob/living/simple_animal/slime/M in sortmob) - moblist.Add(M) - for(var/mob/living/simple_animal/M in sortmob) - moblist.Add(M) - for(var/mob/living/carbon/true_devil/M in sortmob) - moblist.Add(M) - return moblist - // Format a power value in W, kW, MW, or GW. /proc/DisplayPower(powerused) if(powerused < 1000) //Less than a kW @@ -384,7 +325,7 @@ Turf and target are separate in case you want to teleport some distance from a t /proc/get_mob_by_ckey(key) if(!key) return - var/list/mobs = sortmobs() + var/list/mobs = SSpoints_of_interest.get_mob_pois() for(var/mob/M in mobs) if(M.ckey == key) return M @@ -739,7 +680,7 @@ GLOBAL_LIST_INIT(WALLITEMS, typecacheof(list( /obj/machinery/newscaster, /obj/machinery/firealarm, /obj/structure/noticeboard, /obj/machinery/button, /obj/machinery/computer/security/telescreen, /obj/machinery/embedded_controller/radio/simple_vent_controller, /obj/item/storage/secure/safe, /obj/machinery/door_timer, /obj/machinery/flasher, /obj/machinery/keycard_auth, - /obj/structure/mirror, /obj/structure/fireaxecabinet, /obj/machinery/computer/security/telescreen/entertainment, + /obj/structure/mirror, /obj/structure/cabinet, /obj/machinery/computer/security/telescreen/entertainment, /obj/structure/sign/picture_frame, /obj/machinery/bounty_board ))) @@ -1420,10 +1361,15 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) REMOVE_TRAIT(the_atom2,trait,source) /proc/get_random_food() - var/list/blocked = list(/obj/item/reagent_containers/food/snacks/store/bread, - /obj/item/reagent_containers/food/snacks/breadslice, - /obj/item/reagent_containers/food/snacks/store/cake, - /obj/item/reagent_containers/food/snacks/cakeslice, + var/static/list/allowed_food = list() + + if(!LAZYLEN(allowed_food)) //it's static so we only ever do this once + var/list/blocked = list( + /obj/item/food/spaghetti, + /obj/item/food/bread, + /obj/item/food/breadslice, + /obj/item/food/cake, + /obj/item/food/cakeslice, /obj/item/reagent_containers/food/snacks/store, /obj/item/reagent_containers/food/snacks/pie, /obj/item/reagent_containers/food/snacks/kebab, @@ -1435,15 +1381,21 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) /obj/item/reagent_containers/food/snacks/soup, /obj/item/reagent_containers/food/snacks/grown, /obj/item/reagent_containers/food/snacks/grown/mushroom, - /obj/item/reagent_containers/food/snacks/deepfryholder, + /obj/item/food/deepfryholder, /obj/item/reagent_containers/food/snacks/clothing, /obj/item/reagent_containers/food/snacks/grown/shell, //base types - /obj/item/reagent_containers/food/snacks/store/bread, + /obj/item/food/bread, /obj/item/reagent_containers/food/snacks/grown/nettle ) - blocked |= typesof(/obj/item/reagent_containers/food/snacks/customizable) + blocked |= typesof(/obj/item/reagent_containers/food/snacks/customizable) + + var/list/unfiltered_allowed_food = subtypesof(/obj/item/food) - blocked + for(var/obj/item/food/food as anything in unfiltered_allowed_food) + if(!initial(food.icon_state)) //food with no icon_state should probably not be spawned + continue + allowed_food.Add(food) - return pick(subtypesof(/obj/item/reagent_containers/food/snacks) - blocked) + return pick(allowed_food) /proc/get_random_drink() var/list/blocked = list(/obj/item/reagent_containers/food/drinks/soda_cans, diff --git a/code/_compile_options.dm b/code/_compile_options.dm index ee7638ea853..9ff2cbe896a 100644 --- a/code/_compile_options.dm +++ b/code/_compile_options.dm @@ -63,7 +63,7 @@ #warn compiling in TESTING mode. testing() debug messages will be visible. #endif -#ifdef CIBUILDING +#if defined(CIBUILDING) && !defined(OPENDREAM) #define UNIT_TESTS #endif @@ -90,3 +90,16 @@ // A reasonable number of maximum overlays an object needs // If you think you need more, rethink it #define MAX_ATOM_OVERLAYS 100 + +#if defined(OPENDREAM) + #if !defined(CIBUILDING) + #warn You are building with OpenDream. Remember to build TGUI manually. + #warn You can do this by running tgui-build.cmd from the bin directory. + #endif +#else + #if !defined(CBT) && !defined(SPACEMAN_DMM) + #warn Building with Dream Maker is no longer supported and will result in errors. + #warn In order to build, run BUILD.cmd in the root directory. + #warn Consider switching to VSCode editor instead, where you can press Ctrl+Shift+B to build. + #endif +#endif diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index bbfb0d3a74c..61fa476fe7b 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -50,14 +50,12 @@ DEFINE_BITFIELD(appearance_flags, list( DEFINE_BITFIELD(area_flags, list( "VALID_TERRITORY" = VALID_TERRITORY, - "BLOBS_ALLOWED" = BLOBS_ALLOWED, "CAVES_ALLOWED" = CAVES_ALLOWED, "FLORA_ALLOWED" = FLORA_ALLOWED, "MOB_SPAWN_ALLOWED" = MOB_SPAWN_ALLOWED, "NOTELEPORT" = NOTELEPORT, "HIDDEN_AREA" = HIDDEN_AREA, "UNIQUE_AREA" = UNIQUE_AREA, - "XENOBIOLOGY_COMPATIBLE" = XENOBIOLOGY_COMPATIBLE, )) DEFINE_BITFIELD(car_traits, list( @@ -213,7 +211,6 @@ DEFINE_BITFIELD(obj_flags, list( DEFINE_BITFIELD(pass_flags, list( "LETPASSTHROW" = LETPASSTHROW, - "PASSBLOB" = PASSBLOB, "PASSCLOSEDTURF" = PASSCLOSEDTURF, "PASSGLASS" = PASSGLASS, "PASSGRILLE" = PASSGRILLE, @@ -280,3 +277,13 @@ DEFINE_BITFIELD(bodytype, list( "BODYTYPE_KEPORI" = BODYTYPE_KEPORI, "BODYTYPE_VOX" = BODYTYPE_VOX )) + +DEFINE_BITFIELD(turret_flags, list( + "TURRET_FLAG_SHOOT_DANGEROUS_ONLY" = TURRET_FLAG_SHOOT_DANGEROUS_ONLY, + "TURRET_FLAG_SHOOT_RETALIATE" = TURRET_FLAG_SHOOT_RETALIATE, + "TURRET_FLAG_SHOOT_FAUNA" = TURRET_FLAG_SHOOT_FAUNA, + "TURRET_FLAG_SHOOT_HUMANS" = TURRET_FLAG_SHOOT_HUMANS, + "TURRET_FLAG_SHOOT_SILICONS" = TURRET_FLAG_SHOOT_SILICONS, + "TURRET_FLAG_SHOOT_NONFACTION" = TURRET_FLAG_SHOOT_NONFACTION, + "TURRET_FLAG_SHOOT_SPECIFIC_FACTION" = TURRET_FLAG_SHOOT_SPECIFIC_FACTION, +)) diff --git a/code/_globalvars/game_modes.dm b/code/_globalvars/game_modes.dm index 56037ab3038..a30e316f532 100644 --- a/code/_globalvars/game_modes.dm +++ b/code/_globalvars/game_modes.dm @@ -5,10 +5,6 @@ GLOBAL_VAR(survivor_report) //Contains shared survivor report for roundend repor GLOBAL_VAR_INIT(wavesecret, 0) // meteor mode, delays wave progression, terrible name -GLOBAL_DATUM(start_state, /datum/station_state) // Used in round-end report - -//TODO clear this one up too -GLOBAL_DATUM(cult_narsie, /obj/singularity/narsie/large/cult) GLOBAL_DATUM(sac_mind, /datum/mind) // So Cryo can modify sac stuff GLOBAL_VAR_INIT(sac_image, null) diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index f9edbc50014..f45781b014e 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -247,9 +247,8 @@ GLOBAL_LIST_INIT(scarySounds, list('sound/weapons/thudswoosh.ogg','sound/weapons 25 Toxins 26 Dormitories 27 Virology -28 Xenobiology -29 Law Office -30 Detective's Office +28 Law Office +29 Detective's Office */ //The whole system for the sorttype var is determined based on the order of this list, @@ -265,7 +264,7 @@ GLOBAL_LIST_INIT(TAGGERLOCATIONS, list("Disposals", "Robotics", "Head of Personnel's Office", "Library", "Chapel", "Theatre", "Bar", "Kitchen", "Hydroponics", "Janitor Closet","Genetics", "Experimentor Lab", "Toxins", "Dormitories", "Virology", - "Xenobiology", "Law Office","Detective's Office")) + , "Law Office","Detective's Office")) GLOBAL_LIST_INIT(station_prefixes, world.file2list("strings/station_prefixes.txt")) diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm index 532ed3f888d..505734d6cd5 100644 --- a/code/_globalvars/lists/maintenance_loot.dm +++ b/code/_globalvars/lists/maintenance_loot.dm @@ -92,7 +92,7 @@ GLOBAL_LIST_INIT(common_loot, list( //common: basic items /obj/item/clothing/suit/toggle/labcoat = 1, /obj/item/clothing/under/color/grey = 1, /obj/item/clothing/gloves/color/fyellow = 1, - /obj/effect/spawner/lootdrop/gloves = 1, + /obj/effect/spawner/random/clothing/gloves = 1, /obj/item/storage/wallet/random = 1, /obj/item/clothing/glasses/science = 1, /obj/item/clothing/glasses/meson = 1, @@ -148,7 +148,7 @@ GLOBAL_LIST_INIT(common_loot, list( //common: basic items //light sources /obj/item/flashlight = 1, - /obj/effect/spawner/lootdrop/glowstick = 1, + /obj/effect/spawner/random/decoration/glowstick = 1, /obj/item/clothing/head/hardhat/red = 1, /obj/item/flashlight/flare = 1, ) = 1, @@ -164,7 +164,7 @@ GLOBAL_LIST_INIT(uncommon_loot, list(//uncommon: useful items /obj/item/roller = 1, /obj/item/restraints/legcuffs/bola = 1, /obj/item/restraints/handcuffs/cable = 1, - /obj/item/spear = 1, + /obj/item/melee/spear = 1, /obj/item/shield/riot/buckler = 1, /obj/item/grenade/iedcasing/spawned = 1, /obj/item/melee/baton/cattleprod = 1, @@ -233,7 +233,7 @@ GLOBAL_LIST_INIT(uncommon_loot, list(//uncommon: useful items /obj/item/storage/box/donkpockets/donkpockethonk = 1, ) = 1, /obj/item/reagent_containers/food/snacks/monkeycube = 1, - /obj/effect/spawner/lootdrop/ration = 1, + /obj/effect/spawner/random/food_or_drink/ration = 1, ) = 8, list(//fakeout items, keep this list at low relative weight @@ -243,7 +243,6 @@ GLOBAL_LIST_INIT(uncommon_loot, list(//uncommon: useful items )) GLOBAL_LIST_INIT(oddity_loot, list(//oddity: strange or crazy items - /obj/effect/rune/teleport = 1, /obj/item/clothing/gloves/color/yellow = 1, /obj/item/clothing/head/helmet/abductor = 1, /obj/item/clothing/head/helmet/justice =1, @@ -253,7 +252,7 @@ GLOBAL_LIST_INIT(oddity_loot, list(//oddity: strange or crazy items /obj/item/clothing/shoes/jackboots/fast = 1, /obj/item/clothing/suit/armor/reactive/table = 1, /obj/item/storage/box/donkpockets/donkpocketgondola = 1, - /obj/item/melee/greykingsword = 1 //WS - Meth Sword + /obj/item/melee/sword/greyking = 1 //WS - Meth Sword )) //Maintenance loot spawner pools diff --git a/code/_globalvars/lists/mapping.dm b/code/_globalvars/lists/mapping.dm index ff4237d1e89..332ac86582a 100644 --- a/code/_globalvars/lists/mapping.dm +++ b/code/_globalvars/lists/mapping.dm @@ -30,7 +30,6 @@ GLOBAL_LIST_EMPTY(tdome2) GLOBAL_LIST_EMPTY(tdomeobserve) GLOBAL_LIST_EMPTY(tdomeadmin) GLOBAL_LIST_EMPTY(prisonwarped) //list of players already warped -GLOBAL_LIST_EMPTY(blobstart) //blobs, santa, respawning devils GLOBAL_LIST_EMPTY(secequipment) //sec equipment lockers that scale with the number of sec players GLOBAL_LIST_EMPTY(deathsquadspawn) GLOBAL_LIST_EMPTY(emergencyresponseteamspawn) diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 7ee53ec1f37..6d08f1d1bce 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -46,8 +46,6 @@ GLOBAL_LIST_EMPTY(apcs_list) GLOBAL_LIST_EMPTY(tracked_implants) /// List of implants the prisoner console can track and send inject commands too GLOBAL_LIST_EMPTY(tracked_chem_implants) -/// List of points of interest for observe/follow -GLOBAL_LIST_EMPTY(poi_list) /// List of all pinpointers. Used to change stuff they are pointing to all at once. GLOBAL_LIST_EMPTY(pinpointer_list) /// List of all zombie_infection organs, for any mass "animation" diff --git a/code/_globalvars/lists/poll_ignore.dm b/code/_globalvars/lists/poll_ignore.dm index e25b0b6e9a8..7fbc92bb8af 100644 --- a/code/_globalvars/lists/poll_ignore.dm +++ b/code/_globalvars/lists/poll_ignore.dm @@ -11,7 +11,6 @@ #define POLL_IGNORE_CONSTRUCT "construct" #define POLL_IGNORE_SPIDER "spider" #define POLL_IGNORE_ASHWALKER "ashwalker" -#define POLL_IGNORE_SWARMER "swarmer" #define POLL_IGNORE_DRONE "drone" #define POLL_IGNORE_FUGITIVE "fugitive" #define POLL_IGNORE_DEFECTIVECLONE "defective_clone" //WS Edit - Cloning @@ -35,7 +34,6 @@ GLOBAL_LIST_INIT(poll_ignore_desc, list( POLL_IGNORE_CONSTRUCT = "Construct", POLL_IGNORE_SPIDER = "Spiders", POLL_IGNORE_ASHWALKER = "Ashwalker eggs", - POLL_IGNORE_SWARMER = "Swarmer shells", POLL_IGNORE_DRONE = "Drone shells", POLL_IGNORE_FUGITIVE = "Fugitive Hunter", POLL_IGNORE_DEFECTIVECLONE = "Defective clone", //WS Edit - Cloning diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index 5f5c26731d1..d87596cf828 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -44,6 +44,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_RESISTCOLD" = TRAIT_RESISTCOLD, "TRAIT_RESISTHIGHPRESSURE" = TRAIT_RESISTHIGHPRESSURE, "TRAIT_RESISTLOWPRESSURE" = TRAIT_RESISTLOWPRESSURE, + "TRAIT_METALLIC" = TRAIT_METALLIC, "TRAIT_BOMBIMMUNE" = TRAIT_BOMBIMMUNE, "TRAIT_RADIMMUNE" = TRAIT_RADIMMUNE, "TRAIT_GENELESS" = TRAIT_GENELESS, @@ -147,8 +148,8 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_HOLDABLE" = TRAIT_HOLDABLE, "TRAIT_SCOOPABLE" = TRAIT_SCOOPABLE, "TRAIT_ANXIOUS" = TRAIT_ANXIOUS, - "TRAIT_KISS_OF_DEATH" = TRAIT_KISS_OF_DEATH - + "TRAIT_KISS_OF_DEATH" = TRAIT_KISS_OF_DEATH, + "TRAIT_PLANT_SAFE" = TRAIT_PLANT_SAFE ), /obj/item/bodypart = list( "TRAIT_PARALYSIS" = TRAIT_PARALYSIS diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 993026c0d5e..3d3777521f2 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -29,6 +29,8 @@ adj += S.nextmove_adjust() next_move = world.time + ((num + adj)*mod) + SEND_SIGNAL(src, COMSIG_LIVING_CHANGENEXT_MOVE, next_move) + /** * Before anything else, defer these calls to a per-mobtype handler. This allows us to * remove istype() spaghetti code, but requires the addition of other handler procs to simplify it. @@ -366,7 +368,7 @@ return /atom/proc/CtrlShiftClick(mob/user) - SEND_SIGNAL(src, COMSIG_CLICK_CTRL_SHIFT) + SEND_SIGNAL(src, COMSIG_CLICK_CTRL_SHIFT, user) return /* diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm index 8e9fde4d185..dc6dfd37cea 100644 --- a/code/_onclick/hud/_defines.dm +++ b/code/_onclick/hud/_defines.dm @@ -37,7 +37,6 @@ //Middle left indicators #define ui_lingchemdisplay "WEST,CENTER-1:15" #define ui_lingstingdisplay "WEST:6,CENTER-3:11" -#define ui_devilsouldisplay "WEST:6,CENTER-1:15" //Lower center, persistent menu #define ui_sstore1 "CENTER-5:10,SOUTH:5" diff --git a/code/_onclick/hud/action_button.dm b/code/_onclick/hud/action_button.dm index fb2bac17503..6cd9aa8a084 100644 --- a/code/_onclick/hud/action_button.dm +++ b/code/_onclick/hud/action_button.dm @@ -56,10 +56,16 @@ if(id && usr.client) //try to (un)remember position usr.client.prefs.action_buttons_screen_locs["[name]_[id]"] = locked ? moved : null return TRUE + var/trigger_flags + if(LAZYACCESS(modifiers, ALT_CLICK)) + if(locked) + to_chat(usr, "Action button \"[name]\" is locked, unlock it first.") + return TRUE + trigger_flags |= TRIGGER_SECONDARY_ACTION if(usr.next_click > world.time) return usr.next_click = world.time + 1 - linked_action.Trigger() + linked_action.Trigger(trigger_flags) return TRUE //Hide/Show Action Buttons ... Button diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 43ae8ffbe24..61d2a44d20b 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -175,30 +175,55 @@ Override makes it so the alert is not replaced until cleared by a clear_alert wi icon_state = "starving" /atom/movable/screen/alert/gross - name = "Grossed out." - desc = "That was kind of gross..." + name = "Queasy." + desc = "You're starting to feel queasy.." icon_state = "gross" /atom/movable/screen/alert/verygross - name = "Very grossed out." - desc = "You're not feeling very well..." + name = "Nauseated." + desc = "You're feeling discomforted as unease creeps into your throat..." icon_state = "gross2" /atom/movable/screen/alert/disgusted - name = "DISGUSTED" - desc = "ABSOLUTELY DISGUSTIN'" + name = "Very Nauseated" + desc = "You can barely think against the grains of discomfort ravaging your body!" icon_state = "gross3" /atom/movable/screen/alert/hot - name = "Too Hot" - desc = "You're flaming hot! Get somewhere cooler and take off any insulating clothing like a fire suit." + name = "Hot" + desc = "It's quite warm. Get somewhere cooler and take off any insulating clothing like a fire suit." + icon_state = "hot" + +/atom/movable/screen/alert/warm + name = "Warm" + desc = "It's a bit warm, but not unbearably so." icon_state = "hot" /atom/movable/screen/alert/cold - name = "Too Cold" - desc = "You're freezing cold! Get somewhere warmer and take off any insulating clothing like a space suit." + name = "Cold" + desc = "It's quite cold. Get somewhere warmer and take off any insulating clothing like a space suit." icon_state = "cold" +/atom/movable/screen/alert/chilly + name = "Chilly" + desc = "It's a bit chilly, but not unbearably so." + icon_state = "cold" + +/atom/movable/screen/alert/sweat + name = "Sweating" + desc = "You're sweating and the heat is starting to hurt. Stay hydrated, get somewhere cooler, and take off any insulating clothing like a fire suit." + icon_state = "sweat" + +/atom/movable/screen/alert/shiver + name = "Shivering" + desc = "You're shivering and the cold is starting to hurt. Get somewhere warmer and take off any insulating clothing like a space suit." + icon_state = "shiver" + +/atom/movable/screen/alert/fans + name = "High Fan Speed" + desc = "Your fans are spinning quite fast, and your components are reaching a dangerous temperature! Get somewhere cooler and take off any insulating clothing like a fire suit." + icon_state = "fans" + /atom/movable/screen/alert/lowpressure name = "Low Pressure" desc = "The air around you is hazardously thin. A space suit would protect you." @@ -395,9 +420,11 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." return if (length(last_whisper)) - living_owner.dying_breath("[last_whisper]") living_owner.say("#[last_whisper]") - living_owner.succumb(whispered = length(last_whisper) > 0) + //Say handles everything else for us + return + + living_owner.succumb(FALSE) //ALIENS @@ -420,166 +447,28 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." icon_state = "alien_noqueen" alerttooltipstyle = "alien" -//BLOBS - -/atom/movable/screen/alert/nofactory - name = "No Factory" - desc = "You have no factory, and are slowly dying!" - icon_state = "blobbernaut_nofactory" - alerttooltipstyle = "blob" - -// BLOODCULT - -/atom/movable/screen/alert/bloodsense - name = "Blood Sense" - desc = "Allows you to sense blood that is manipulated by dark magicks." - icon_state = "cult_sense" - alerttooltipstyle = "cult" - var/static/image/narnar - var/angle = 0 - var/mob/living/simple_animal/hostile/construct/Cviewer = null - -/atom/movable/screen/alert/bloodsense/Initialize() - . = ..() - narnar = new('icons/hud/screen_alert.dmi', "mini_nar") - START_PROCESSING(SSprocessing, src) - -/atom/movable/screen/alert/bloodsense/Destroy() - Cviewer = null - STOP_PROCESSING(SSprocessing, src) - return ..() - -/atom/movable/screen/alert/bloodsense/process() - var/atom/blood_target - - if(!owner.mind) - return - - var/datum/antagonist/cult/antag = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(!antag) - return - var/datum/objective/sacrifice/sac_objective = locate() in antag.cult_team.objectives - - if(antag.cult_team.blood_target) - if(!get_turf(antag.cult_team.blood_target)) - antag.cult_team.blood_target = null - else - blood_target = antag.cult_team.blood_target - if(Cviewer && Cviewer.seeking && Cviewer.master) - blood_target = Cviewer.master - desc = "Your blood sense is leading you to [Cviewer.master]" - if(!blood_target) - if(sac_objective && !sac_objective.check_completion()) - if(icon_state == "runed_sense0") - return - animate(src, transform = null, time = 1, loop = 0) - angle = 0 - cut_overlays() - icon_state = "runed_sense0" - desc = "Nar'Sie demands that [sac_objective.target] be sacrificed before the summoning ritual can begin." - add_overlay(sac_objective.sac_image) - else - var/datum/objective/eldergod/summon_objective = locate() in antag.cult_team.objectives - if(!summon_objective) - return - desc = "The sacrifice is complete, summon Nar'Sie! The summoning can only take place in [english_list(summon_objective.summon_spots)]!" - if(icon_state == "runed_sense1") - return - animate(src, transform = null, time = 1, loop = 0) - angle = 0 - cut_overlays() - icon_state = "runed_sense1" - add_overlay(narnar) - return - var/turf/P = get_turf(blood_target) - var/turf/Q = get_turf(owner) - if(!P || !Q || (P.virtual_z()!= Q.virtual_z())) //The target is on a different Z level, we cannot sense that far. - icon_state = "runed_sense2" - desc = "You can no longer sense your target's presence." - return - if(isliving(blood_target)) - var/mob/living/real_target = blood_target - desc = "You are currently tracking [real_target.real_name] in [get_area_name(blood_target)]." - else - desc = "You are currently tracking [blood_target] in [get_area_name(blood_target)]." - var/target_angle = Get_Angle(Q, P) - var/target_dist = get_dist(P, Q) - cut_overlays() - switch(target_dist) - if(0 to 1) - icon_state = "runed_sense2" - if(2 to 8) - icon_state = "arrow8" - if(9 to 15) - icon_state = "arrow7" - if(16 to 22) - icon_state = "arrow6" - if(23 to 29) - icon_state = "arrow5" - if(30 to 36) - icon_state = "arrow4" - if(37 to 43) - icon_state = "arrow3" - if(44 to 50) - icon_state = "arrow2" - if(51 to 57) - icon_state = "arrow1" - if(58 to 64) - icon_state = "arrow0" - if(65 to 400) - icon_state = "arrow" - var/difference = target_angle - angle - angle = target_angle - if(!difference) - return - var/matrix/final = matrix(transform) - final.Turn(difference) - animate(src, transform = final, time = 5, loop = 0) - - -//GUARDIANS - -/atom/movable/screen/alert/cancharge - name = "Charge Ready" - desc = "You are ready to charge at a location!" - icon_state = "guardian_charge" - alerttooltipstyle = "parasite" - -/atom/movable/screen/alert/canstealth - name = "Stealth Ready" - desc = "You are ready to enter stealth!" - icon_state = "guardian_canstealth" - alerttooltipstyle = "parasite" - -/atom/movable/screen/alert/instealth - name = "In Stealth" - desc = "You are in stealth and your next attack will do bonus damage!" - icon_state = "guardian_instealth" - alerttooltipstyle = "parasite" - //SILICONS /atom/movable/screen/alert/nocell name = "Missing Power Cell" - desc = "Unit has no power cell. No modules available until a power cell is reinstalled. Robotics may provide assistance." + desc = "Unit has no power cell. No modules are available until a power cell is reinstalled." icon_state = "nocell" /atom/movable/screen/alert/emptycell name = "Out of Power" - desc = "Unit's power cell has no charge remaining. No modules available until power cell is recharged. \ -Recharging stations are available in robotics, the dormitory bathrooms, and the AI satellite." + desc = "Unit's power cell has no charge remaining. No modules are available until power cell is recharged." icon_state = "emptycell" /atom/movable/screen/alert/lowcell name = "Low Charge" - desc = "Unit's power cell is running low. Recharging stations are available in robotics, the dormitory bathrooms, and the AI satellite." + desc = "Unit's power cell is running low. All modules may be disabled soon unless recharged." icon_state = "lowcell" //Ethereal /atom/movable/screen/alert/etherealcharge name = "Low Blood Charge" - desc = "Your blood's electric charge is running low, find a source of charge for your blood. Use a recharging station found in robotics or the dormitory bathrooms, or eat some Ethereal-friendly food." + desc = "Your blood's electric charge is running low, find a source of charge for your blood. Use a recharging station, or eat some Elzuose-friendly food." icon_state = "etherealcharge" /atom/movable/screen/alert/ethereal_overcharge @@ -587,6 +476,29 @@ Recharging stations are available in robotics, the dormitory bathrooms, and the desc = "Your blood's electric charge is becoming dangerously high, find an outlet for your energy. Use Grab Intent on an APC to channel your energy into it." icon_state = "ethereal_overcharge" +//MODsuit unique +/atom/movable/screen/alert/nocore + name = "Missing Core" + desc = "Unit has no core. No modules are available until a core is reinstalled." + icon_state = "no_cell" + +/atom/movable/screen/alert/emptycell/plasma + name = "Out of Power" + desc = "Unit's plasma core has no charge remaining. No modules are available until plasma core is recharged. \ + Unit can be refilled through plasma fuel." + +/atom/movable/screen/alert/emptycell/plasma/update_desc() + . = ..() + desc = initial(desc) + +/atom/movable/screen/alert/lowcell/plasma + name = "Low Charge" + desc = "Unit's plasma core is running low. Unit can be refilled through plasma fuel." + +/atom/movable/screen/alert/lowcell/plasma/update_desc() + . = ..() + desc = initial(desc) + //Need to cover all use cases - emag, illegal upgrade module, malf AI hack, traitor cyborg /atom/movable/screen/alert/hacked name = "Hacked" @@ -595,8 +507,8 @@ Recharging stations are available in robotics, the dormitory bathrooms, and the /atom/movable/screen/alert/locked name = "Locked Down" - desc = "Unit has been remotely locked down. Usage of a Robotics Control Console like the one in the Research Director's \ -office by your AI master or any qualified human may resolve this matter. Robotics may provide further assistance if necessary." + desc = "Unit has been remotely locked down. Usage of a Robotics Control Console by an AI or any qualified \ + humanoid may resolve this matter." icon_state = "locked" /atom/movable/screen/alert/newlaw @@ -625,11 +537,11 @@ so as to remain in compliance with the most up-to-date laws." if(T) AI.eyeobj.setLoc(T) -//MECHS +//EXOSUITS /atom/movable/screen/alert/low_mech_integrity - name = "Mech Damaged" - desc = "Mech integrity is low." + name = "Exosuit Damaged" + desc = "Exosuit integrity is low." icon_state = "low_mech_integrity" diff --git a/code/_onclick/hud/blob_overmind.dm b/code/_onclick/hud/blob_overmind.dm deleted file mode 100644 index cd7597e33f0..00000000000 --- a/code/_onclick/hud/blob_overmind.dm +++ /dev/null @@ -1,187 +0,0 @@ - -/atom/movable/screen/blob - icon = 'icons/mob/blob.dmi' - -/atom/movable/screen/blob/MouseEntered(location,control,params) - . = ..() - openToolTip(usr,src,params,title = name,content = desc, theme = "blob") - -/atom/movable/screen/blob/MouseExited() - closeToolTip(usr) - -/atom/movable/screen/blob/BlobHelp - icon_state = "ui_help" - name = "Blob Help" - desc = "Help on playing blob!" - -/atom/movable/screen/blob/BlobHelp/Click() - if(isovermind(usr)) - var/mob/camera/blob/B = usr - B.blob_help() - -/atom/movable/screen/blob/JumpToNode - icon_state = "ui_tonode" - name = "Jump to Node" - desc = "Moves your camera to a selected blob node." - -/atom/movable/screen/blob/JumpToNode/Click() - if(isovermind(usr)) - var/mob/camera/blob/B = usr - B.jump_to_node() - -/atom/movable/screen/blob/JumpToCore - icon_state = "ui_tocore" - name = "Jump to Core" - desc = "Moves your camera to your blob core." - -/atom/movable/screen/blob/JumpToCore/MouseEntered(location,control,params) - if(hud && hud.mymob && isovermind(hud.mymob)) - var/mob/camera/blob/B = hud.mymob - if(!B.placed) - name = "Place Blob Core" - desc = "Attempt to place your blob core at this location." - else - name = initial(name) - desc = initial(desc) - return ..() - -/atom/movable/screen/blob/JumpToCore/Click() - if(isovermind(usr)) - var/mob/camera/blob/B = usr - if(!B.placed) - B.place_blob_core(0) - B.transport_core() - -/atom/movable/screen/blob/Blobbernaut - icon_state = "ui_blobbernaut" - name = "Produce Blobbernaut (40)" - desc = "Produces a strong, smart blobbernaut from a factory blob for 40 resources.
    The factory blob used will become fragile and unable to produce spores." - -/atom/movable/screen/blob/Blobbernaut/Click() - if(isovermind(usr)) - var/mob/camera/blob/B = usr - B.create_blobbernaut() - -/atom/movable/screen/blob/ResourceBlob - icon_state = "ui_resource" - name = "Produce Resource Blob (40)" - desc = "Produces a resource blob for 40 resources.
    Resource blobs will give you resources every few seconds." - -/atom/movable/screen/blob/ResourceBlob/Click() - if(isovermind(usr)) - var/mob/camera/blob/B = usr - B.create_resource() - -/atom/movable/screen/blob/NodeBlob - icon_state = "ui_node" - name = "Produce Node Blob (50)" - desc = "Produces a node blob for 50 resources.
    Node blobs will expand and activate nearby resource and factory blobs." - -/atom/movable/screen/blob/NodeBlob/Click() - if(isovermind(usr)) - var/mob/camera/blob/B = usr - B.create_node() - -/atom/movable/screen/blob/FactoryBlob - icon_state = "ui_factory" - name = "Produce Factory Blob (60)" - desc = "Produces a factory blob for 60 resources.
    Factory blobs will produce spores every few seconds." - -/atom/movable/screen/blob/FactoryBlob/Click() - if(isovermind(usr)) - var/mob/camera/blob/B = usr - B.create_factory() - -/atom/movable/screen/blob/ReadaptStrain - icon_state = "ui_chemswap" - name = "Readapt Strain (40)" - desc = "Allows you to choose a new strain from 4 random choices for 40 resources." - -/atom/movable/screen/blob/ReadaptStrain/MouseEntered(location,control,params) - if(hud && hud.mymob && isovermind(hud.mymob)) - var/mob/camera/blob/B = hud.mymob - if(B.free_strain_rerolls) - name = "Readapt Strain (FREE)" - desc = "Randomly rerolls your strain for free." - else - name = initial(name) - desc = initial(desc) - ..() - -/atom/movable/screen/blob/ReadaptStrain/Click() - if(isovermind(usr)) - var/mob/camera/blob/B = usr - B.strain_reroll() - -/atom/movable/screen/blob/RelocateCore - icon_state = "ui_swap" - name = "Relocate Core (80)" - desc = "Swaps a node and your core for 80 resources." - -/atom/movable/screen/blob/RelocateCore/Click() - if(isovermind(usr)) - var/mob/camera/blob/B = usr - B.relocate_core() - -/datum/hud/blob_overmind/New(mob/owner) - ..() - var/atom/movable/screen/using - - blobpwrdisplay = new /atom/movable/screen() - blobpwrdisplay.name = "blob power" - blobpwrdisplay.icon_state = "block" - blobpwrdisplay.screen_loc = ui_health - blobpwrdisplay.mouse_opacity = MOUSE_OPACITY_TRANSPARENT - blobpwrdisplay.layer = ABOVE_HUD_LAYER - blobpwrdisplay.plane = ABOVE_HUD_PLANE - blobpwrdisplay.hud = src - infodisplay += blobpwrdisplay - - healths = new /atom/movable/screen/healths/blob() - healths.hud = src - infodisplay += healths - - using = new /atom/movable/screen/blob/BlobHelp() - using.screen_loc = "WEST:6,NORTH:-3" - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/blob/JumpToNode() - using.screen_loc = ui_inventory - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/blob/JumpToCore() - using.screen_loc = ui_zonesel - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/blob/Blobbernaut() - using.screen_loc = ui_belt - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/blob/ResourceBlob() - using.screen_loc = ui_back - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/blob/NodeBlob() - using.screen_loc = ui_hand_position(2) - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/blob/FactoryBlob() - using.screen_loc = ui_hand_position(1) - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/blob/ReadaptStrain() - using.screen_loc = ui_storage1 - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/blob/RelocateCore() - using.screen_loc = ui_storage2 - using.hud = src - static_inventory += using diff --git a/code/_onclick/hud/blobbernauthud.dm b/code/_onclick/hud/blobbernauthud.dm deleted file mode 100644 index 430e8e81e7f..00000000000 --- a/code/_onclick/hud/blobbernauthud.dm +++ /dev/null @@ -1,11 +0,0 @@ - -/datum/hud/blobbernaut/New(mob/owner) - ..() - - blobpwrdisplay = new /atom/movable/screen/healths/blob/naut/core() - blobpwrdisplay.hud = src - infodisplay += blobpwrdisplay - - healths = new /atom/movable/screen/healths/blob/naut() - healths.hud = src - infodisplay += healths diff --git a/code/_onclick/hud/devil.dm b/code/_onclick/hud/devil.dm deleted file mode 100644 index 55fbeb26a7c..00000000000 --- a/code/_onclick/hud/devil.dm +++ /dev/null @@ -1,69 +0,0 @@ - -//Soul counter is stored with the humans, it does weird when you place it here apparently... - - -/datum/hud/devil/New(mob/owner) - ..() - var/atom/movable/screen/using - - using = new /atom/movable/screen/drop() - using.icon = ui_style - using.screen_loc = ui_drone_drop - using.hud = src - static_inventory += using - - pull_icon = new /atom/movable/screen/pull() - pull_icon.icon = ui_style - pull_icon.update_appearance() - pull_icon.screen_loc = ui_drone_pull - pull_icon.hud = src - static_inventory += pull_icon - - build_hand_slots() - - using = new /atom/movable/screen/inventory() - using.name = "hand" - using.icon = ui_style - using.icon_state = "swap_1_m" - using.screen_loc = ui_swaphand_position(owner,1) - using.layer = HUD_LAYER - using.plane = HUD_PLANE - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/inventory() - using.name = "hand" - using.icon = ui_style - using.icon_state = "swap_2" - using.screen_loc = ui_swaphand_position(owner,2) - using.layer = HUD_LAYER - using.plane = HUD_PLANE - using.hud = src - static_inventory += using - - zone_select = new /atom/movable/screen/zone_sel() - zone_select.icon = ui_style - zone_select.hud = src - zone_select.update_appearance() - - lingchemdisplay = new /atom/movable/screen/ling/chems() - lingchemdisplay.hud = src - - devilsouldisplay = new /atom/movable/screen/devil/soul_counter - devilsouldisplay.hud = src - infodisplay += devilsouldisplay - - -/datum/hud/devil/persistent_inventory_update() - if(!mymob) - return - var/mob/living/carbon/true_devil/D = mymob - - if(hud_version != HUD_STYLE_NOHUD) - for(var/obj/item/I in D.held_items) - I.screen_loc = ui_hand_position(D.get_held_index_of_item(I)) - D.client.screen += I - else - for(var/obj/item/I in D.held_items) - I.screen_loc = null - D.client.screen -= I diff --git a/code/_onclick/hud/guardian.dm b/code/_onclick/hud/guardian.dm deleted file mode 100644 index 8f79bfedf1b..00000000000 --- a/code/_onclick/hud/guardian.dm +++ /dev/null @@ -1,179 +0,0 @@ -/datum/hud/guardian - ui_style = 'icons/mob/guardian.dmi' - -/datum/hud/guardian/New(mob/living/simple_animal/hostile/guardian/owner) - ..() - var/atom/movable/screen/using - - pull_icon = new /atom/movable/screen/pull() - pull_icon.icon = ui_style - pull_icon.update_appearance() - pull_icon.screen_loc = ui_living_pull - pull_icon.hud = src - static_inventory += pull_icon - - healths = new /atom/movable/screen/healths/guardian() - healths.hud = src - infodisplay += healths - - using = new /atom/movable/screen/guardian/Manifest() - using.screen_loc = ui_hand_position(2) - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/guardian/Recall() - using.screen_loc = ui_hand_position(1) - using.hud = src - static_inventory += using - - using = new owner.toggle_button_type() - using.screen_loc = ui_storage1 - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/guardian/ToggleLight() - using.screen_loc = ui_inventory - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/guardian/Communicate() - using.screen_loc = ui_back - using.hud = src - static_inventory += using - -/datum/hud/dextrous/guardian/New(mob/living/simple_animal/hostile/guardian/owner) //for a dextrous guardian - ..() - var/atom/movable/screen/using - if(istype(owner, /mob/living/simple_animal/hostile/guardian/dextrous)) - var/atom/movable/screen/inventory/inv_box - - inv_box = new /atom/movable/screen/inventory() - inv_box.name = "internal storage" - inv_box.icon = ui_style - inv_box.icon_state = "suit_storage" - inv_box.screen_loc = ui_id - inv_box.slot_id = ITEM_SLOT_DEX_STORAGE - inv_box.hud = src - static_inventory += inv_box - - using = new /atom/movable/screen/guardian/Communicate() - using.screen_loc = ui_sstore1 - using.hud = src - static_inventory += using - - else - - using = new /atom/movable/screen/guardian/Communicate() - using.screen_loc = ui_id - using.hud = src - static_inventory += using - - pull_icon = new /atom/movable/screen/pull() - pull_icon.icon = 'icons/mob/guardian.dmi' - pull_icon.update_appearance() - pull_icon.screen_loc = ui_living_pull - pull_icon.hud = src - static_inventory += pull_icon - - healths = new /atom/movable/screen/healths/guardian() - healths.hud = src - infodisplay += healths - - using = new /atom/movable/screen/guardian/Manifest() - using.screen_loc = ui_belt - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/guardian/Recall() - using.screen_loc = ui_back - using.hud = src - static_inventory += using - - using = new owner.toggle_button_type() - using.screen_loc = ui_storage2 - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/guardian/ToggleLight() - using.screen_loc = ui_inventory - using.hud = src - static_inventory += using - -/datum/hud/dextrous/guardian/persistent_inventory_update() - if(!mymob) - return - if(istype(mymob, /mob/living/simple_animal/hostile/guardian/dextrous)) - var/mob/living/simple_animal/hostile/guardian/dextrous/D = mymob - - if(hud_shown) - if(D.internal_storage) - D.internal_storage.screen_loc = ui_id - D.client.screen += D.internal_storage - else - if(D.internal_storage) - D.internal_storage.screen_loc = null - - ..() - -/atom/movable/screen/guardian - icon = 'icons/mob/guardian.dmi' - -/atom/movable/screen/guardian/Manifest - icon_state = "manifest" - name = "Manifest" - desc = "Spring forth into battle!" - -/atom/movable/screen/guardian/Manifest/Click() - if(isguardian(usr)) - var/mob/living/simple_animal/hostile/guardian/G = usr - G.Manifest() - - -/atom/movable/screen/guardian/Recall - icon_state = "recall" - name = "Recall" - desc = "Return to your user." - -/atom/movable/screen/guardian/Recall/Click() - if(isguardian(usr)) - var/mob/living/simple_animal/hostile/guardian/G = usr - G.Recall() - -/atom/movable/screen/guardian/ToggleMode - icon_state = "toggle" - name = "Toggle Mode" - desc = "Switch between ability modes." - -/atom/movable/screen/guardian/ToggleMode/Click() - if(isguardian(usr)) - var/mob/living/simple_animal/hostile/guardian/G = usr - G.ToggleMode() - -/atom/movable/screen/guardian/ToggleMode/Inactive - icon_state = "notoggle" //greyed out so it doesn't look like it'll work - -/atom/movable/screen/guardian/ToggleMode/Assassin - icon_state = "stealth" - name = "Toggle Stealth" - desc = "Enter or exit stealth." - -/atom/movable/screen/guardian/Communicate - icon_state = "communicate" - name = "Communicate" - desc = "Communicate telepathically with your user." - -/atom/movable/screen/guardian/Communicate/Click() - if(isguardian(usr)) - var/mob/living/simple_animal/hostile/guardian/G = usr - G.Communicate() - - -/atom/movable/screen/guardian/ToggleLight - icon_state = "light" - name = "Toggle Light" - desc = "Glow like star dust." - -/atom/movable/screen/guardian/ToggleLight/Click() - if(isguardian(usr)) - var/mob/living/simple_animal/hostile/guardian/G = usr - G.ToggleLight() diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 27b220d7fdb..92a294bfb49 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -29,12 +29,9 @@ GLOBAL_LIST_INIT(available_ui_styles, list( var/atom/movable/screen/ling/chems/lingchemdisplay var/atom/movable/screen/ling/sting/lingstingdisplay - var/atom/movable/screen/blobpwrdisplay - var/atom/movable/screen/alien_plasma_display var/atom/movable/screen/alien_queen_finder - var/atom/movable/screen/devil/soul_counter/devilsouldisplay var/atom/movable/screen/combo/combo_display var/atom/movable/screen/action_intent @@ -62,6 +59,8 @@ GLOBAL_LIST_INIT(available_ui_styles, list( var/atom/movable/screen/healths var/atom/movable/screen/healthdoll var/atom/movable/screen/internals + + var/atom/movable/screen/progbar_container/use_timer // subtypes can override this to force a specific UI style var/ui_style @@ -111,9 +110,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list( healthdoll = null internals = null lingchemdisplay = null - devilsouldisplay = null lingstingdisplay = null - blobpwrdisplay = null alien_plasma_display = null alien_queen_finder = null combo_display = null @@ -122,6 +119,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list( QDEL_LIST(screenoverlays) mymob = null QDEL_NULL(screentip_text) + QDEL_NULL(use_timer) return ..() diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 0833d606927..90db9fe52f7 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -33,35 +33,6 @@ var/mob/living/carbon/human/H = usr H.quick_equip() -/atom/movable/screen/devil - icon = 'icons/hud/screen_devil.dmi' - invisibility = INVISIBILITY_ABSTRACT - -/atom/movable/screen/devil/soul_counter - name = "souls owned" - icon_state = "Devil-6" - screen_loc = ui_devilsouldisplay - -/atom/movable/screen/devil/soul_counter/proc/update_counter(souls = 0) - invisibility = 0 - maptext = "
    [souls]
    " - switch(souls) - if(0,null) - icon_state = "Devil-1" - if(1,2) - icon_state = "Devil-2" - if(3 to 5) - icon_state = "Devil-3" - if(6 to 8) - icon_state = "Devil-4" - if(9 to INFINITY) - icon_state = "Devil-5" - else - icon_state = "Devil-6" - -/atom/movable/screen/devil/soul_counter/proc/clear() - invisibility = INVISIBILITY_ABSTRACT - /atom/movable/screen/ling icon = 'icons/hud/screen_changeling.dmi' invisibility = INVISIBILITY_ABSTRACT @@ -338,10 +309,6 @@ lingstingdisplay.hud = src infodisplay += lingstingdisplay - devilsouldisplay = new /atom/movable/screen/devil/soul_counter - devilsouldisplay.hud = src - infodisplay += devilsouldisplay - zone_select = new /atom/movable/screen/zone_sel() zone_select.icon = ui_style zone_select.hud = src @@ -354,6 +321,10 @@ ammo_counter = new /atom/movable/screen/ammo_counter(null, src) infodisplay += ammo_counter + use_timer = new(null, src) + use_timer.RegisterSignal(mymob, COMSIG_LIVING_CHANGENEXT_MOVE, TYPE_PROC_REF(/atom/movable/screen/progbar_container, on_changenext)) + static_inventory += use_timer + for(var/atom/movable/screen/inventory/inv in (static_inventory + toggleable_inventory)) if(inv.slot_id) inv.hud = src diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm index 6bc47aa6bcb..47867e56ede 100644 --- a/code/_onclick/hud/radial.dm +++ b/code/_onclick/hud/radial.dm @@ -357,6 +357,6 @@ GLOBAL_LIST_EMPTY(radial_menus) /// If provided, will display an info button that will put this text in your chat var/info -/datum/radial_menu_choice/Destroy(force, ...) +/datum/radial_menu_choice/Destroy(force) . = ..() QDEL_NULL(image) diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index ef1f614809f..f0805e0d06b 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -597,28 +597,6 @@ icon = 'icons/hud/screen_cyborg.dmi' screen_loc = ui_borg_health -/atom/movable/screen/healths/blob - name = "blob health" - icon_state = "block" - screen_loc = ui_internal - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - -/atom/movable/screen/healths/blob/naut - name = "health" - icon = 'icons/mob/blob.dmi' - icon_state = "nauthealth" - -/atom/movable/screen/healths/blob/naut/core - name = "overmind health" - icon_state = "corehealth" - screen_loc = ui_health - -/atom/movable/screen/healths/guardian - name = "summoner health" - icon = 'icons/mob/guardian.dmi' - icon_state = "base" - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - /atom/movable/screen/healths/revenant name = "essence" icon = 'icons/mob/actions/backgrounds.dmi' @@ -733,3 +711,42 @@ intent_icon.pixel_x = 16 * (i - 1) - 8 * length(streak) add_overlay(intent_icon) return ..() + +/atom/movable/screen/progbar_container + name = "swing cooldown" + icon_state = "" + screen_loc = "CENTER,SOUTH:16" + var/datum/world_progressbar/progbar + var/iteration = 0 + +/atom/movable/screen/progbar_container/Initialize(mapload) + . = ..() + progbar = new(src) + progbar.qdel_when_done = FALSE + progbar.bar.vis_flags = VIS_INHERIT_ID | VIS_INHERIT_LAYER | VIS_INHERIT_PLANE + progbar.bar.appearance_flags = APPEARANCE_UI + +/atom/movable/screen/progbar_container/Destroy() + QDEL_NULL(progbar) + return ..() + +/atom/movable/screen/progbar_container/proc/on_changenext(datum/source, next_move) + SIGNAL_HANDLER + + iteration++ + progbar.goal = next_move - world.time + progbar.bar.icon_state = "prog_bar_0" + + progbar_process(next_move) + +/atom/movable/screen/progbar_container/proc/progbar_process(next_move) + set waitfor = FALSE + + var/start_time = world.time + var/iteration = src.iteration + while(iteration == src.iteration && (world.time < next_move)) + progbar.update(world.time - start_time) + sleep(1) + + if(iteration == src.iteration) + progbar.end_progress() diff --git a/code/_onclick/hud/swarmer.dm b/code/_onclick/hud/swarmer.dm deleted file mode 100644 index 6aba23fab5c..00000000000 --- a/code/_onclick/hud/swarmer.dm +++ /dev/null @@ -1,98 +0,0 @@ - - -/atom/movable/screen/swarmer - icon = 'icons/mob/swarmer.dmi' - -/atom/movable/screen/swarmer/FabricateTrap - icon_state = "ui_trap" - name = "Create trap (Costs 5 Resources)" - desc = "Creates a trap that will nonlethally shock any non-swarmer that attempts to cross it. (Costs 5 resources)" - -/atom/movable/screen/swarmer/FabricateTrap/Click() - if(isswarmer(usr)) - var/mob/living/simple_animal/hostile/swarmer/S = usr - S.CreateTrap() - -/atom/movable/screen/swarmer/Barricade - icon_state = "ui_barricade" - name = "Create barricade (Costs 5 Resources)" - desc = "Creates a destructible barricade that will stop any non swarmer from passing it. Also allows disabler beams to pass through. (Costs 5 resources)" - -/atom/movable/screen/swarmer/Barricade/Click() - if(isswarmer(usr)) - var/mob/living/simple_animal/hostile/swarmer/S = usr - S.CreateBarricade() - -/atom/movable/screen/swarmer/Replicate - icon_state = "ui_replicate" - name = "Replicate (Costs 50 Resources)" - desc = "Creates another of our kind." - -/atom/movable/screen/swarmer/Replicate/Click() - if(isswarmer(usr)) - var/mob/living/simple_animal/hostile/swarmer/S = usr - S.CreateSwarmer() - -/atom/movable/screen/swarmer/RepairSelf - icon_state = "ui_self_repair" - name = "Repair self" - desc = "Repairs damage to our body." - -/atom/movable/screen/swarmer/RepairSelf/Click() - if(isswarmer(usr)) - var/mob/living/simple_animal/hostile/swarmer/S = usr - S.RepairSelf() - -/atom/movable/screen/swarmer/ToggleLight - icon_state = "ui_light" - name = "Toggle light" - desc = "Toggles our inbuilt light on or off." - -/atom/movable/screen/swarmer/ToggleLight/Click() - if(isswarmer(usr)) - var/mob/living/simple_animal/hostile/swarmer/S = usr - S.ToggleLight() - -/atom/movable/screen/swarmer/ContactSwarmers - icon_state = "ui_contact_swarmers" - name = "Contact swarmers" - desc = "Sends a message to all other swarmers, should they exist." - -/atom/movable/screen/swarmer/ContactSwarmers/Click() - if(isswarmer(usr)) - var/mob/living/simple_animal/hostile/swarmer/S = usr - S.ContactSwarmers() - -/datum/hud/swarmer/New(mob/owner) - ..() - var/atom/movable/screen/using - - using = new /atom/movable/screen/swarmer/FabricateTrap() - using.screen_loc = ui_hand_position(2) - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/swarmer/Barricade() - using.screen_loc = ui_hand_position(1) - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/swarmer/Replicate() - using.screen_loc = ui_zonesel - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/swarmer/RepairSelf() - using.screen_loc = ui_storage1 - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/swarmer/ToggleLight() - using.screen_loc = ui_back - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/swarmer/ContactSwarmers() - using.screen_loc = ui_inventory - using.hud = src - static_inventory += using diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index 806e3e6df32..8e848963567 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -177,14 +177,6 @@ /atom/proc/attack_drone(mob/living/simple_animal/drone/user) attack_hand(user) //defaults to attack_hand. Override it when you don't want drones to do same stuff as humans. - -/* - True Devil -*/ - -/mob/living/carbon/true_devil/UnarmedAttack(atom/A, proximity) - A.attack_hand(src) - /* Brain */ diff --git a/code/_onclick/overmind.dm b/code/_onclick/overmind.dm deleted file mode 100644 index d6b8994f82f..00000000000 --- a/code/_onclick/overmind.dm +++ /dev/null @@ -1,36 +0,0 @@ -// Blob Overmind Controls - - -/mob/camera/blob/ClickOn(atom/A, params) //Expand blob - var/list/modifiers = params2list(params) - if(LAZYACCESS(modifiers, MIDDLE_CLICK)) - MiddleClickOn(A, params) - return - if(LAZYACCESS(modifiers, SHIFT_CLICK)) - ShiftClickOn(A) - return - if(LAZYACCESS(modifiers, ALT_CLICK)) - AltClickOn(A) - return - if(LAZYACCESS(modifiers, CTRL_CLICK)) - CtrlClickOn(A) - return - var/turf/T = get_turf(A) - if(T) - expand_blob(T) - -/mob/camera/blob/MiddleClickOn(atom/A) //Rally spores - . = ..() - var/turf/T = get_turf(A) - if(T) - rally_spores(T) - -/mob/camera/blob/CtrlClickOn(atom/A) //Create a shield - var/turf/T = get_turf(A) - if(T) - create_shield(T) - -/mob/camera/blob/AltClickOn(atom/A) //Remove a blob - var/turf/T = get_turf(A) - if(T) - remove_blob(T) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index ac7298dc100..b9955b4f5cc 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -120,11 +120,6 @@ min_val = 0 max_val = 1 -/datum/config_entry/number/shuttle_refuel_delay - config_entry_value = 12000 - integer = FALSE - min_val = 0 - /datum/config_entry/flag/show_game_type_odds //if set this allows players to see the odds of each roundtype on the get revision screen /datum/config_entry/keyed_list/roundstart_races //races you can play as from the get go. @@ -250,15 +245,6 @@ movedelay_type = /mob/living/simple_animal ///////////////////////////////////////////////// -/datum/config_entry/flag/virtual_reality //Will virtual reality be loaded - -/datum/config_entry/flag/roundstart_away //Will random away mission be loaded. - -/datum/config_entry/number/gateway_delay //How long the gateway takes before it activates. Default is half an hour. Only matters if roundstart_away is enabled. - config_entry_value = 18000 - integer = FALSE - min_val = 0 - /datum/config_entry/flag/ghost_interaction /datum/config_entry/flag/near_death_experience //If carbons can hear ghosts when unconscious and very close to death @@ -293,31 +279,7 @@ config_entry_value = -1 min_val = -1 -/datum/config_entry/string/overflow_job - config_entry_value = "Assistant" - /datum/config_entry/flag/starlight -/datum/config_entry/flag/grey_assistants - -/datum/config_entry/number/lavaland_budget - config_entry_value = 60 - integer = FALSE - min_val = 0 - -/datum/config_entry/number/whitesands_budget - config_entry_value = 60 - integer = FALSE - min_val = 0 - -/datum/config_entry/number/icemoon_budget - config_entry_value = 90 - integer = FALSE - min_val = 0 - -/datum/config_entry/number/space_budget - config_entry_value = 16 - integer = FALSE - min_val = 0 /datum/config_entry/flag/allow_random_events // Enables random events mid-round when set @@ -352,13 +314,6 @@ GLOB.MAX_EX_FLASH_RANGE = config_entry_value GLOB.MAX_EX_FLAME_RANGE = config_entry_value -/datum/config_entry/number/emergency_shuttle_autocall_threshold - min_val = 0 - max_val = 1 - integer = FALSE - -/datum/config_entry/flag/ic_printing - /datum/config_entry/flag/roundstart_traits /datum/config_entry/flag/randomize_shift_time @@ -373,10 +328,6 @@ config_entry_value = 64 min_val = 0 -/datum/config_entry/number/maxfine - config_entry_value = 1000 - min_val = 0 - /datum/config_entry/flag/dynamic_config_enabled /datum/config_entry/number/respawn_timer @@ -431,3 +382,6 @@ max_val = 255 config_entry_value = 127 min_val = 127 + +/datum/config_entry/number/commendation_percent_poll + integer = FALSE diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm index a59d14cce4d..a9b83106320 100644 --- a/code/controllers/configuration/entries/general.dm +++ b/code/controllers/configuration/entries/general.dm @@ -137,8 +137,6 @@ /datum/config_entry/flag/no_dead_vote // dead people can't vote -/datum/config_entry/flag/allow_metadata // Metadata is supported. - /// Gives the ability to send players a maptext popup. /datum/config_entry/flag/popup_admin_pm @@ -289,8 +287,6 @@ /datum/config_entry/flag/kick_inactive //force disconnect for inactive players -/datum/config_entry/flag/load_jobs_from_txt - /datum/config_entry/flag/forbid_singulo_possession /datum/config_entry/flag/automute_on //enables automuting/spam prevention @@ -322,8 +318,6 @@ min_val = 0 integer = FALSE -/datum/config_entry/flag/maprotation - /datum/config_entry/number/auto_lag_switch_pop //Number of clients at which drastic lag mitigation measures kick in config_entry_value = null min_val = 0 @@ -408,14 +402,6 @@ /datum/config_entry/flag/announce_admin_login -/datum/config_entry/flag/allow_map_voting - deprecated_by = /datum/config_entry/flag/preference_map_voting - -/datum/config_entry/flag/allow_map_voting/DeprecationUpdate(value) - return value - -/datum/config_entry/flag/preference_map_voting - /datum/config_entry/number/client_warn_version config_entry_value = null min_val = 500 @@ -525,36 +511,10 @@ /datum/config_entry/flag/auto_profile -//BeginWS Edit -/datum/config_entry/flag/minimaps_enabled - config_entry_value = TRUE -//EndWS Edit /datum/config_entry/string/centcom_ban_db // URL for the CentCom Galactic Ban DB API /datum/config_entry/string/centcom_source_whitelist -/datum/config_entry/number/whitesands_atmos_moles - config_entry_value = 103 - integer = FALSE - min_val = 10 - max_val = 200 - -/datum/config_entry/keyed_list/whitesands_atmos_mix - key_mode = KEY_MODE_TEXT - value_mode = VALUE_MODE_NUM - lowercase = FALSE - splitter = " " - - -/datum/config_entry/keyed_list/whitesands_atmos_mix/ValidateListEntry(key_name, key_value) - var/list/gas_types = gas_types() - for (var/type in gas_types) - var/datum/gas/T = type - if (initial(T.id) == key_name) - // even a high pressure zone will be less than 1.5x one atmos - return key_value > 0 && key_value < 1.5 - return FALSE - // Elasticsearch stuffs /datum/config_entry/flag/elasticsearch_metrics_enabled diff --git a/code/controllers/master.dm b/code/controllers/master.dm index 302c0de4a42..46090ebb48c 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -489,6 +489,10 @@ GLOBAL_REAL(Master, /datum/controller/master) = new continue if ((SS_flags & (SS_TICKER|SS_KEEP_TIMING)) == SS_KEEP_TIMING && SS.last_fire + (SS.wait * 0.75) > world.time) continue + if (SS.postponed_fires >= 1) + SS.postponed_fires-- + SS.update_nextfire() + continue SS.enqueue() . = 1 diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm index f6e35bec6e5..332fcef0787 100644 --- a/code/controllers/subsystem.dm +++ b/code/controllers/subsystem.dm @@ -75,6 +75,9 @@ /// Tracks the amount of completed runs for the subsystem var/times_fired = 0 + /// How many fires have we been requested to postpone + var/postponed_fires = 0 + /// Time the subsystem entered the queue, (for timing and priority reasons) var/queued_time = 0 @@ -132,6 +135,26 @@ Master.subsystems -= src return ..() +/datum/controller/subsystem/proc/update_nextfire(reset_time = FALSE) + var/queue_node_flags = flags + + if (reset_time) + postponed_fires = 0 + if (queue_node_flags & SS_TICKER) + next_fire = world.time + (world.tick_lag * wait) + else + next_fire = world.time + wait + return + + if (queue_node_flags & SS_TICKER) + next_fire = world.time + (world.tick_lag * wait) + else if (queue_node_flags & SS_POST_FIRE_TIMING) + next_fire = world.time + wait + (world.tick_lag * (tick_overrun/100)) + else if (queue_node_flags & SS_KEEP_TIMING) + next_fire += wait + else + next_fire = queued_time + wait + (world.tick_lag * (tick_overrun/100)) + //Queue it to run. // (we loop thru a linked list until we get to the end or find the right point) // (this lets us sort our run order correctly without having to re-sort the entire already sorted list) @@ -251,8 +274,8 @@ //could be used to postpone a costly subsystem for (default one) var/cycles, cycles //for instance, during cpu intensive operations like explosions /datum/controller/subsystem/proc/postpone(cycles = 1) - if(next_fire - world.time < wait) - next_fire += (wait*cycles) + if (can_fire && cycles >= 1) + postponed_fires += cycles //usually called via datum/controller/subsystem/New() when replacing a subsystem (i.e. due to a recurring crash) //should attempt to salvage what it can from the old instance of subsystem diff --git a/code/controllers/subsystem/acid.dm b/code/controllers/subsystem/acid.dm index 0ea8967e263..efbc5e7d260 100644 --- a/code/controllers/subsystem/acid.dm +++ b/code/controllers/subsystem/acid.dm @@ -33,8 +33,7 @@ SUBSYSTEM_DEF(acid) return continue - if(O.acid_level && O.acid_processing()) - else + if(!O.acid_level || !O.acid_processing()) O.update_appearance() processing -= O diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm index 2f325a1b232..e74c04bf6ec 100644 --- a/code/controllers/subsystem/air.dm +++ b/code/controllers/subsystem/air.dm @@ -66,6 +66,8 @@ SUBSYSTEM_DEF(air) var/equalize_hard_turf_limit = 2000 // Whether equalization should be enabled at all. var/equalize_enabled = TRUE + // The ratio of gas "shared" from the immutable planetary atmos mix to planetary tiles + var/planet_share_ratio = 0.25 // Whether turf-to-turf heat exchanging should be enabled. var/heat_enabled = FALSE // Max number of times process_turfs will share in a tick. diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index 2ac0b06b74d..19e8f9e77b5 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -132,8 +132,8 @@ SUBSYSTEM_DEF(blackbox) record_feedback("tally", "radio_usage", 1, "common") if(FREQ_NANOTRASEN) record_feedback("tally", "radio_usage", 1, "nanotrasen") - if(FREQ_COMMAND) - record_feedback("tally", "radio_usage", 1, "command") + if(FREQ_EMERGENCY) + record_feedback("tally", "radio_usage", 1, "emergency") if(FREQ_MINUTEMEN) record_feedback("tally", "radio_usage", 1, "minutemen") if(FREQ_INTEQ) @@ -148,12 +148,6 @@ SUBSYSTEM_DEF(blackbox) record_feedback("tally", "radio_usage", 1, "centcom") if(FREQ_SOLGOV) //WS Edit - SolGov Rep record_feedback("tally", "radio_usage", 1, "solgov") //WS Edit - SolGov Rep - if(FREQ_AI_PRIVATE) - record_feedback("tally", "radio_usage", 1, "ai private") - if(FREQ_CTF_RED) - record_feedback("tally", "radio_usage", 1, "CTF red team") - if(FREQ_CTF_BLUE) - record_feedback("tally", "radio_usage", 1, "CTF blue team") else record_feedback("tally", "radio_usage", 1, "other") diff --git a/code/controllers/subsystem/blackmarket.dm b/code/controllers/subsystem/blackmarket.dm index cbd07fcd8fd..99a6932570b 100644 --- a/code/controllers/subsystem/blackmarket.dm +++ b/code/controllers/subsystem/blackmarket.dm @@ -6,7 +6,8 @@ SUBSYSTEM_DEF(blackmarket) /// Descriptions for each shipping methods. var/shipping_method_descriptions = list( SHIPPING_METHOD_LAUNCH="Launches the item at your coordinates from across deep space. Cheap, but you might not recieve your item at all. We recommend being stationary in space, away from any large structures, for best results.", - SHIPPING_METHOD_LTSRBT="Long-To-Short-Range-Bluespace-Transceiver, a machine that prepares items at a remote storage location and then teleports them to the location of the LTRSBT." + SHIPPING_METHOD_DEAD_DROP="Our couriers will fire your item via orbital drop pod at the nearest safe abandoned structure for discreet pick up. Reliable, but you'll have to find your package yourself. We accept no responsibility for lost packages if you try to do this in empty space or the outpost.", + SHIPPING_METHOD_LTSRBT="Long-To-Short-Range-Bluespace-Transceiver, a machine that prepares items at a remote storage location and then teleports them to the location of the LTRSBT. Secure, quick and reliable, though it ain't cheap to do." ) /// List of all existing markets. @@ -32,6 +33,9 @@ SUBSYSTEM_DEF(blackmarket) markets[M].add_item(item, FALSE) qdel(I) + for(var/market in markets) + var/datum/blackmarket_market/market_to_cycle = markets[market] + market_to_cycle.cycle_stock() . = ..() /datum/controller/subsystem/blackmarket/fire(resumed) @@ -62,16 +66,72 @@ SUBSYSTEM_DEF(blackmarket) var/startSide = pick(GLOB.cardinals) var/turf/T = get_turf(purchase.uplink) var/datum/virtual_level/vlevel = T.get_virtual_level() - var/pickedloc = vlevel.get_side_turf(startSide) + var/turf/pickedloc + + switch(startSide) + if(NORTH) + pickedloc = locate(T.x, (vlevel.high_y - vlevel.reserved_margin),T.z) + if(EAST) + pickedloc = locate((vlevel.high_x - vlevel.reserved_margin), T.y ,T.z) + if(SOUTH) + pickedloc = locate(T.x, (vlevel.low_y + vlevel.reserved_margin),T.z) + if(WEST) + pickedloc = locate((vlevel.low_x + vlevel.reserved_margin), T.y ,T.z) + else + pickedloc = vlevel.get_side_turf(startSide) var/atom/movable/item = purchase.entry.spawn_item(pickedloc) - item.safe_throw_at(purchase.uplink, 3, 3, spin = FALSE) - + item.Move(get_step(pickedloc,get_dir(pickedloc,T))) to_chat(recursive_loc_check(purchase.uplink.loc, /mob), "[purchase.uplink] flashes a message noting the order is being launched at your coordinates from [dir2text(startSide)].") queued_purchases -= purchase qdel(purchase) + // Drop the order somewhere with the bounds of overmap encounter's ruin + if(SHIPPING_METHOD_DEAD_DROP) + var/datum/overmap/dynamic/overmap_loc = SSovermap.get_overmap_object_by_location(purchase.uplink, TRUE) + var/datum/virtual_level/zlevel = purchase.uplink.get_virtual_level() + var/turf/landing_turf + var/datum/map_template/ruin + if(!isnull(overmap_loc)) + for(var/possible_ruin in overmap_loc.ruin_turfs) + var/turf/lowerbound = overmap_loc.ruin_turfs[possible_ruin] + ruin = overmap_loc.spawned_ruins[possible_ruin] + var/list/possible_ruin_turfs = zlevel.get_block_portion(lowerbound.x,lowerbound.y,(lowerbound.x + ruin.width),(lowerbound.y + ruin.height)) + for(var/cycle in 1 to length(possible_ruin_turfs)) + var/potential_turf = pick_n_take(possible_ruin_turfs) + if(!isopenturf(potential_turf)) + continue + var/turf/open/potential_open_turf = potential_turf + if(ischasm(potential_open_turf)) + continue + if(islava(potential_open_turf)) + var/turf/open/lava/potential_lava_floor = potential_open_turf + if(!potential_lava_floor.is_safe()) + continue + if(istype(potential_open_turf, /turf/open/water/acid)) + var/turf/open/water/acid/potential_acid_floor = potential_open_turf + if(!potential_acid_floor.is_safe_to_cross()) + continue + if(potential_open_turf.is_blocked_turf()) + continue + + //yippee, there's a viable turf for the package to land on + landing_turf = potential_open_turf + to_chat(recursive_loc_check(purchase.uplink.loc, /mob),"[purchase.uplink] flashes a message noting the order is being launched at a structure in your local area.") + break + + if(!landing_turf) + landing_turf = zlevel.get_random_position_in_margin() + to_chat(recursive_loc_check(purchase.uplink.loc, /mob), "[purchase.uplink] flashes a message that the pod was unable to reach it's designated landing spot, and has landed somewhere in the local area instead.") + + var/obj/structure/closet/supplypod/pod = new() + pod.setStyle(STYLE_BOX) + purchase.entry.spawn_item(pod) + pod.explosionSize = list(0,0,0,1) + new /obj/effect/pod_landingzone(landing_turf, pod) + queued_purchases -= purchase + qdel(purchase) if(MC_TICK_CHECK) break diff --git a/code/controllers/subsystem/faction.dm b/code/controllers/subsystem/faction.dm new file mode 100644 index 00000000000..106fb4687b8 --- /dev/null +++ b/code/controllers/subsystem/faction.dm @@ -0,0 +1,32 @@ +SUBSYSTEM_DEF(factions) + name = "Faction" + init_order = INIT_ORDER_FACTION + flags = SS_NO_FIRE + var/list/datum/faction/factions = list() + +/datum/controller/subsystem/factions/Initialize(timeofday) + for(var/path in subtypesof(/datum/faction)) + factions += new path() + return ..() + +/datum/controller/subsystem/factions/proc/ship_prefix_to_faction(prefix) + for(var/datum/faction/faction in factions) + if(prefix in faction.prefixes) + return faction + var/static/list/screamed = list() + if(!(prefix in screamed)) + screamed += prefix + stack_trace("attempted to get faction for unknown prefix [prefix]") + return null + +/datum/controller/subsystem/factions/proc/ship_prefix_to_name(prefix) + var/datum/faction/faction = ship_prefix_to_faction(prefix) + if(faction) + return faction.name + return "?!ERR!?" + +/datum/controller/subsystem/factions/proc/faction_path_to_datum(path) + for(var/datum/faction/faction in factions) + if(faction.type == path) + return faction + stack_trace("we did not return any faction with path [path]") diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index da58d476451..1bb1d185c84 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -119,6 +119,11 @@ SUBSYSTEM_DEF(garbage) dellog += "\tIgnored force: [I.no_respect_force] times" if (I.no_hint) dellog += "\tNo hint: [I.no_hint] times" + if (LAZYLEN(I.extra_details)) + dellog += "\tDeleted Metadata:" + dellog += I.extra_details.Join("\n\t") + if (I.most_refs) + dellog += "\tMost Refs After qdel(): [I.most_refs]" log_qdel(dellog.Join("\n")) /datum/controller/subsystem/garbage/fire() @@ -139,8 +144,6 @@ SUBSYSTEM_DEF(garbage) state = SS_RUNNING break - - /datum/controller/subsystem/garbage/proc/InitQueues() if (isnull(queues)) // Only init the queues if they don't already exist, prevents overriding of recovered lists queues = new(GC_QUEUE_COUNT) @@ -167,7 +170,10 @@ SUBSYSTEM_DEF(garbage) lastlevel = level - //We do this rather then for(var/refID in queue) because that sort of for loop copies the whole list. +// 1 from the hard reference in the queue, and 1 from the variable used before this +#define REFS_WE_EXPECT 2 + + //We do this rather then for(var/list/ref_info in queue) because that sort of for loop copies the whole list. //Normally this isn't expensive, but the gc queue can grow to 40k items, and that gets costly/causes overrun. for (var/i in 1 to length(queue)) var/list/L = queue[i] @@ -178,21 +184,21 @@ SUBSYSTEM_DEF(garbage) continue var/queued_at_time = L[GC_QUEUE_ITEM_QUEUE_TIME] - var/GCd_at_time = L[GC_QUEUE_ITEM_GCD_DESTROYED] if(queued_at_time > cut_off_time) break // Everything else is newer, skip them count++ - var/refID = L[GC_QUEUE_ITEM_REF] - var/datum/D - D = locate(refID) + var/datum/D = L[GC_QUEUE_ITEM_REF] + + var/remaining_refs = refcount(D) - REFS_WE_EXPECT - if (!D || D.gc_destroyed != GCd_at_time) // So if something else coincidently gets the same ref, it's not deleted by mistake + // If that's all we've got, send er off + if (!remaining_refs) ++gcedlasttick ++totalgcs pass_counts[level]++ #ifdef REFERENCE_TRACKING - reference_find_on_fail -= refID //It's deleted we don't care anymore. + reference_find_on_fail -= text_ref(D) //It's deleted we don't care anymore. #endif if (MC_TICK_CHECK) return @@ -208,20 +214,30 @@ SUBSYSTEM_DEF(garbage) switch (level) if (GC_QUEUE_CHECK) #ifdef REFERENCE_TRACKING - if(reference_find_on_fail[refID]) - INVOKE_ASYNC(D, TYPE_PROC_REF(/datum, find_references)) + // Decides how many refs to look for (potentially) with remaining_refs + // Based off the remaining and the ones we can account for + if(reference_find_on_fail[text_ref(D)]) + INVOKE_ASYNC(D, TYPE_PROC_REF(/datum,find_references), remaining_refs) ref_searching = TRUE #ifdef GC_FAILURE_HARD_LOOKUP else - INVOKE_ASYNC(D, TYPE_PROC_REF(/datum, find_references)) + INVOKE_ASYNC(D, TYPE_PROC_REF(/datum,find_references), remaining_refs) ref_searching = TRUE #endif - reference_find_on_fail -= refID + reference_find_on_fail -= text_ref(D) #endif var/type = D.type var/datum/qdel_item/I = items[type] - log_world("## TESTING: GC: -- [text_ref(D)] | [type] was unable to be GC'd --") + var/message = "## TESTING: GC: -- [text_ref(D)] | [type] was unable to be GC'd --" + message = "[message] (ref count of [remaining_refs])" + log_world(message) + I.most_refs = max(I.most_refs, remaining_refs) + + var/detail = D.dump_harddel_info() + if(detail) + LAZYADD(I.extra_details, detail) + #ifdef TESTING for(var/c in GLOB.admins) //Using testing() here would fill the logs with ADMIN_VV garbage var/client/admin = c @@ -231,6 +247,12 @@ SUBSYSTEM_DEF(garbage) #endif I.failures++ + if (I.qdel_flags & QDEL_ITEM_SUSPENDED_FOR_LAG) + #ifdef REFERENCE_TRACKING + if(ref_searching) + return //ref searching intentionally cancels all further fires while running so things that hold references don't end up getting deleted, so we want to return here instead of continue + #endif + continue if (GC_QUEUE_HARDDELETE) HardDelete(D) if (MC_TICK_CHECK) @@ -250,41 +272,41 @@ SUBSYSTEM_DEF(garbage) queue.Cut(1,count+1) count = 0 +#undef REFS_WE_EXPECT + /datum/controller/subsystem/garbage/proc/Queue(datum/D, level = GC_QUEUE_FILTER) if (isnull(D)) return if (level > GC_QUEUE_COUNT) - HardDelete(D, TRUE) + HardDelete(D) return var/queue_time = world.time - var/refid = text_ref(D) if (D.gc_destroyed <= 0) D.gc_destroyed = queue_time var/list/queue = queues[level] - - queue[++queue.len] = list(queue_time, refid, D.gc_destroyed) // not += for byond reasons + queue[++queue.len] = list(queue_time, D, D.gc_destroyed) // not += for byond reasons //this is mainly to separate things profile wise. -/datum/controller/subsystem/garbage/proc/HardDelete(datum/D, force) +/datum/controller/subsystem/garbage/proc/HardDelete(datum/D) ++delslasttick ++totaldels var/type = D.type var/refID = text_ref(D) - var/datum/qdel_item/I = items[type] - - if (!force && I.qdel_flags & QDEL_ITEM_SUSPENDED_FOR_LAG) - return + var/datum/qdel_item/type_info = items[type] + var/detail = D.dump_harddel_info() + if(detail) + LAZYADD(type_info.extra_details, detail) var/tick_usage = TICK_USAGE del(D) tick_usage = TICK_USAGE_TO_MS(tick_usage) - I.hard_deletes++ - I.hard_delete_time += tick_usage - if (tick_usage > I.hard_delete_max) - I.hard_delete_max = tick_usage + type_info.hard_deletes++ + type_info.hard_delete_time += tick_usage + if (tick_usage > type_info.hard_delete_max) + type_info.hard_delete_max = tick_usage if (tick_usage > highest_del_ms) highest_del_ms = tick_usage highest_del_type_string = "[type]" @@ -295,14 +317,14 @@ SUBSYSTEM_DEF(garbage) postpone(time) var/threshold = CONFIG_GET(number/hard_deletes_overrun_threshold) if (threshold && (time > threshold SECONDS)) - if (!(I.qdel_flags & QDEL_ITEM_ADMINS_WARNED)) + if (!(type_info.qdel_flags & QDEL_ITEM_ADMINS_WARNED)) log_game("Error: [type]([refID]) took longer than [threshold] seconds to delete (took [round(time/10, 0.1)] seconds to delete)") message_admins("Error: [type]([refID]) took longer than [threshold] seconds to delete (took [round(time/10, 0.1)] seconds to delete).") - I.qdel_flags |= QDEL_ITEM_ADMINS_WARNED - I.hard_deletes_over_threshold++ + type_info.qdel_flags |= QDEL_ITEM_ADMINS_WARNED + type_info.hard_deletes_over_threshold++ var/overrun_limit = CONFIG_GET(number/hard_deletes_overrun_limit) - if (overrun_limit && I.hard_deletes_over_threshold >= overrun_limit) - I.qdel_flags |= QDEL_ITEM_SUSPENDED_FOR_LAG + if (overrun_limit && type_info.hard_deletes_over_threshold >= overrun_limit) + type_info.qdel_flags |= QDEL_ITEM_SUSPENDED_FOR_LAG /datum/controller/subsystem/garbage/Recover() InitQueues() //We first need to create the queues before recovering data @@ -320,83 +342,90 @@ SUBSYSTEM_DEF(garbage) var/hard_delete_time = 0 //!Total amount of milliseconds spent hard deleting this type. var/hard_delete_max = 0 //!Highest time spent hard_deleting this in ms. var/hard_deletes_over_threshold = 0 //!Number of times hard deletes took longer than the configured threshold + var/most_refs = 0 //!The highest amount of refs its had after failing to qdel var/no_respect_force = 0 //!Number of times it's not respected force=TRUE var/no_hint = 0 //!Number of times it's not even bother to give a qdel hint var/slept_destroy = 0 //!Number of times it's slept in its destroy var/qdel_flags = 0 //!Flags related to this type's trip thru qdel. + var/list/extra_details //!Lazylist of string metadata about the deleted objects /datum/qdel_item/New(mytype) name = "[mytype]" - /// Should be treated as a replacement for the 'del' keyword. /// /// Datums passed to this will be given a chance to clean up references to allow the GC to collect them. -/proc/qdel(datum/D, force=FALSE, ...) - if(!istype(D)) - del(D) +/proc/qdel(datum/to_delete, force = FALSE) + if(!istype(to_delete)) + del(to_delete) return - var/datum/qdel_item/I = SSgarbage.items[D.type] - if (!I) - I = SSgarbage.items[D.type] = new /datum/qdel_item(D.type) - I.qdels++ + var/datum/qdel_item/trash = SSgarbage.items[to_delete.type] + if (isnull(trash)) + trash = SSgarbage.items[to_delete.type] = new /datum/qdel_item(to_delete.type) + trash.qdels++ - if(isnull(D.gc_destroyed)) - if (SEND_SIGNAL(D, COMSIG_PARENT_PREQDELETED, force)) // Give the components a chance to prevent their parent from being deleted - return - D.gc_destroyed = GC_CURRENTLY_BEING_QDELETED - var/start_time = world.time - var/start_tick = world.tick_usage - SEND_SIGNAL(D, COMSIG_PARENT_QDELETING, force) // Let the (remaining) components know about the result of Destroy - var/hint = D.Destroy(arglist(args.Copy(2))) // Let our friend know they're about to get fucked up. - if(world.time != start_time) - I.slept_destroy++ - else - I.destroy_time += TICK_USAGE_TO_MS(start_tick) - if(!D) + if(!isnull(to_delete.gc_destroyed)) + if(to_delete.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) + CRASH("[to_delete.type] destroy proc was called multiple times, likely due to a qdel loop in the Destroy logic") + return + + if (SEND_SIGNAL(to_delete, COMSIG_PREQDELETED, force)) // Give the components a chance to prevent their parent from being deleted + return + + to_delete.gc_destroyed = GC_CURRENTLY_BEING_QDELETED + var/start_time = world.time + var/start_tick = world.tick_usage + SEND_SIGNAL(to_delete, COMSIG_PARENT_QDELETING, force) // Let the (remaining) components know about the result of Destroy + var/hint = to_delete.Destroy(force) // Let our friend know they're about to get fucked up. + + if(world.time != start_time) + trash.slept_destroy++ + else + trash.destroy_time += TICK_USAGE_TO_MS(start_tick) + + if(isnull(to_delete)) + return + + switch(hint) + if (QDEL_HINT_QUEUE) //qdel should queue the object for deletion. + SSgarbage.Queue(to_delete) + if (QDEL_HINT_IWILLGC) + to_delete.gc_destroyed = world.time return - switch(hint) - if (QDEL_HINT_QUEUE) //qdel should queue the object for deletion. - SSgarbage.Queue(D) - if (QDEL_HINT_IWILLGC) - D.gc_destroyed = world.time + if (QDEL_HINT_LETMELIVE) //qdel should let the object live after calling destory. + if(!force) + to_delete.gc_destroyed = null //clear the gc variable (important!) return - if (QDEL_HINT_LETMELIVE) //qdel should let the object live after calling destory. - if(!force) - D.gc_destroyed = null //clear the gc variable (important!) - return - // Returning LETMELIVE after being told to force destroy - // indicates the objects Destroy() does not respect force - #ifdef TESTING - if(!I.no_respect_force) - testing("WARNING: [D.type] has been force deleted, but is \ - returning an immortal QDEL_HINT, indicating it does \ - not respect the force flag for qdel(). It has been \ - placed in the queue, further instances of this type \ - will also be queued.") - #endif - I.no_respect_force++ + // Returning LETMELIVE after being told to force destroy + // indicates the objects Destroy() does not respect force + #ifdef TESTING + if(!trash.no_respect_force) + testing("WARNING: [to_delete.type] has been force deleted, but is \ + returning an immortal QDEL_HINT, indicating it does \ + not respect the force flag for qdel(). It has been \ + placed in the queue, further instances of this type \ + will also be queued.") + #endif + trash.no_respect_force++ - SSgarbage.Queue(D) - if (QDEL_HINT_HARDDEL) //qdel should assume this object won't gc, and queue a hard delete - SSgarbage.Queue(D, GC_QUEUE_HARDDELETE) - if (QDEL_HINT_HARDDEL_NOW) //qdel should assume this object won't gc, and hard del it post haste. - SSgarbage.HardDelete(D, TRUE) - #ifdef REFERENCE_TRACKING - if (QDEL_HINT_FINDREFERENCE) //qdel will, if REFERENCE_TRACKING is enabled, display all references to this object, then queue the object for deletion. - SSgarbage.Queue(D) - D.find_references() - if (QDEL_HINT_IFFAIL_FINDREFERENCE) //qdel will, if REFERENCE_TRACKING is enabled and the object fails to collect, display all references to this object. - SSgarbage.Queue(D) - SSgarbage.reference_find_on_fail[text_ref(D)] = TRUE + SSgarbage.Queue(to_delete) + if (QDEL_HINT_HARDDEL) //qdel should assume this object won't gc, and queue a hard delete + SSgarbage.Queue(to_delete, GC_QUEUE_HARDDELETE) + if (QDEL_HINT_HARDDEL_NOW) //qdel should assume this object won't gc, and hard del it post haste. + SSgarbage.HardDelete(to_delete) + #ifdef REFERENCE_TRACKING + if (QDEL_HINT_FINDREFERENCE) //qdel will, if REFERENCE_TRACKING is enabled, display all references to this object, then queue the object for deletion. + SSgarbage.Queue(to_delete) + INVOKE_ASYNC(to_delete, TYPE_PROC_REF(/datum, find_references)) + if (QDEL_HINT_IFFAIL_FINDREFERENCE) //qdel will, if REFERENCE_TRACKING is enabled and the object fails to collect, display all references to this object. + SSgarbage.Queue(to_delete) + SSgarbage.reference_find_on_fail[text_ref(to_delete)] = TRUE + #endif + else + #ifdef TESTING + if(!trash.no_hint) + testing("WARNING: [to_delete.type] is not returning a qdel hint. It is being placed in the queue. Further instances of this type will also be queued.") #endif - else - #ifdef TESTING - if(!I.no_hint) - testing("WARNING: [D.type] is not returning a qdel hint. It is being placed in the queue. Further instances of this type will also be queued.") - #endif - I.no_hint++ - SSgarbage.Queue(D) - else if(D.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) - CRASH("[D.type] destroy proc was called multiple times, likely due to a qdel loop in the Destroy logic") + trash.no_hint++ + SSgarbage.Queue(to_delete) diff --git a/code/controllers/subsystem/jukeboxes.dm b/code/controllers/subsystem/jukeboxes.dm index b0d774219a3..30757b94761 100644 --- a/code/controllers/subsystem/jukeboxes.dm +++ b/code/controllers/subsystem/jukeboxes.dm @@ -35,9 +35,7 @@ SUBSYSTEM_DEF(jukeboxes) var/sound/song_to_init = sound(T.song_path) song_to_init.status = SOUND_MUTE for(var/mob/M in GLOB.player_list) - if(!M.client) - continue - if(!(M.client.prefs.toggles & SOUND_INSTRUMENTS)) + if(!(M?.client.prefs.toggles & SOUND_INSTRUMENTS)) continue M.playsound_local(M, null, 100, channel = youvegotafreejukebox[2], S = song_to_init) @@ -88,9 +86,7 @@ SUBSYSTEM_DEF(jukeboxes) return ..() /datum/controller/subsystem/jukeboxes/fire() - if(!activejukeboxes.len) - return - for(var/list/jukeinfo in activejukeboxes) + for(var/list/jukeinfo as anything in activejukeboxes) if(!jukeinfo.len) stack_trace("Active jukebox without any associated metadata.") continue @@ -103,42 +99,38 @@ SUBSYSTEM_DEF(jukeboxes) stack_trace("Nonexistant or invalid object associated with jukebox.") continue var/sound/song_played = sound(juketrack.song_path) - var/area/currentarea = get_area(jukebox) var/turf/currentturf = get_turf(jukebox) - var/list/hearerscache = hearers(7, jukebox) - var/turf/above_turf = currentturf.above() - var/turf/below_turf = currentturf.below() + var/list/hearerscache = get_hearers_in_view(7, jukebox) + + var/datum/virtual_level/zone = currentturf.get_virtual_level() + var/turf/above_turf = zone.get_above_turf(currentturf) + var/turf/below_turf = zone.get_below_turf(currentturf) + + var/list/virtual_ids = list(zone.id) + var/list/areas = list(get_area(jukebox)) + if(above_turf && istransparentturf(above_turf)) + virtual_ids += above_turf.virtual_z + areas += get_area(above_turf) + if(below_turf && istransparentturf(below_turf)) + virtual_ids += below_turf.virtual_z + areas += get_area(below_turf) song_played.falloff = jukeinfo[4] - for(var/mob/M in GLOB.player_list) - if(!M.client) - continue - if(!(M.client.prefs.toggles & SOUND_INSTRUMENTS) || !M.can_hear()) + for(var/mob/M as anything in GLOB.player_list) + if(!(M.client?.prefs.toggles & SOUND_INSTRUMENTS) || !M.can_hear()) M.stop_sound_channel(jukeinfo[2]) continue var/inrange = FALSE - if(jukebox.z == M.z) //todo - expand this to work with mining planet z-levels when robust jukebox audio gets merged to master - song_played.status = SOUND_UPDATE - if(get_area(M) == currentarea) - inrange = TRUE - else if(M in hearerscache) - inrange = TRUE - else if(above_turf?.z == M.z) - song_played.status = SOUND_UPDATE - if(istransparentturf(above_turf) && (get_area(M) == get_area(above_turf))) - inrange = TRUE - else if(below_turf?.z == M.z) + if(jukebox.volume <= 0 || !(M.virtual_z() in virtual_ids)) + song_played.status = SOUND_MUTE | SOUND_UPDATE + else song_played.status = SOUND_UPDATE - if(istransparentturf(below_turf) && (get_area(M) == get_area(below_turf))) + if((get_area(M) in areas) || (M in hearerscache)) inrange = TRUE - else - song_played.status = SOUND_MUTE | SOUND_UPDATE //Setting volume = 0 doesn't let the sound properties update at all, which is lame. - - if(jukebox.volume <= 0) - song_played.status = SOUND_MUTE M.playsound_local(currentturf, null, jukebox.volume, channel = jukeinfo[2], S = song_played, envwet = (inrange ? -250 : 0), envdry = (inrange ? 0 : -10000)) - CHECK_TICK - return + + if(MC_TICK_CHECK) + return diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 03720e4d641..3fecc68fbfe 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -42,6 +42,28 @@ SUBSYSTEM_DEF(mapping) /// Translation of virtual level ID to a virtual level reference var/list/virtual_z_translation = list() + /// List of z level (as number) -> plane offset of that z level + /// Used to maintain the plane cube + var/list/z_level_to_plane_offset = list() + /// List of z level (as number) -> The lowest plane offset in that z stack + var/list/z_level_to_lowest_plane_offset = list() + // This pair allows for easy conversion between an offset plane, and its true representation + // Both are in the form "input plane" -> output plane(s) + /// Assoc list of string plane values to their true, non offset representation + var/list/plane_offset_to_true + /// Assoc list of true string plane values to a list of all potential offset planess + var/list/true_to_offset_planes + /// Assoc list of string plane to the plane's offset value + var/list/plane_to_offset + /// List of planes that do not allow for offsetting + var/list/plane_offset_blacklist + /// List of render targets that do not allow for offsetting + var/list/render_offset_blacklist + /// List of plane masters that are of critical priority + var/list/critical_planes + /// The largest plane offset we've generated so far + var/max_plane_offset = 0 + /datum/controller/subsystem/mapping/Initialize(timeofday) if(initialized) return @@ -184,10 +206,12 @@ SUBSYSTEM_DEF(mapping) if(istext(data["prefix"])) S.prefix = data["prefix"] - if(istext(data["faction_name"])) - S.faction_name = data["faction_name"] - else - S.faction_name = ship_prefix_to_faction(S.prefix) + + if(istext(data["faction"])) + S.faction_path = text2path(data["faction"]) + if(S.faction_path) + S.faction_datum = SSfactions.faction_path_to_datum(S.faction_path) + S.faction_name = S.faction_datum.name S.category = S.faction_name diff --git a/code/controllers/subsystem/mobs.dm b/code/controllers/subsystem/mobs.dm index b5d8210c802..d2e0505b358 100644 --- a/code/controllers/subsystem/mobs.dm +++ b/code/controllers/subsystem/mobs.dm @@ -40,5 +40,6 @@ SUBSYSTEM_DEF(mobs) L.Life(seconds, times_fired) else GLOB.mob_living_list.Remove(L) + stack_trace("[L] no longer exists in mob_living_list") if (MC_TICK_CHECK) return diff --git a/code/controllers/subsystem/overmap.dm b/code/controllers/subsystem/overmap.dm index 1304eeeb34e..6e2d452f750 100644 --- a/code/controllers/subsystem/overmap.dm +++ b/code/controllers/subsystem/overmap.dm @@ -2,7 +2,7 @@ SUBSYSTEM_DEF(overmap) name = "Overmap" wait = 10 init_order = INIT_ORDER_OVERMAP - flags = SS_KEEP_TIMING|SS_NO_TICK_CHECK + flags = SS_KEEP_TIMING runlevels = RUNLEVEL_SETUP | RUNLEVEL_GAME ///Defines which generator to use for the overmap @@ -154,7 +154,7 @@ SUBSYSTEM_DEF(overmap) return if(!length(orbits)) break // Can't fit any more in - var/event_type = pickweight(GLOB.overmap_event_pick_list) + var/event_type = pick_weight(GLOB.overmap_event_pick_list) var/selected_orbit = pick(orbits) var/list/T = get_unused_overmap_square_in_radius(selected_orbit) @@ -270,6 +270,7 @@ SUBSYSTEM_DEF(overmap) var/datum/map_generator/mapgen = new dynamic_datum.mapgen var/datum/map_template/ruin/used_ruin = ispath(ruin_type) ? (new ruin_type) : ruin_type + SSblackbox.record_feedback("tally", "encounter_spawned", 1, "[dynamic_datum.mapgen]") // name is random but PROBABLY unique var/encounter_name = dynamic_datum.planet_name || "\improper Uncharted Space [dynamic_datum.x]/[dynamic_datum.y]-[rand(1111, 9999)]" @@ -291,6 +292,7 @@ SUBSYSTEM_DEF(overmap) mapgen.generate_turfs(vlevel.get_unreserved_block()) var/list/ruin_turfs = list() + var/list/ruin_templates = list() if(used_ruin) var/turf/ruin_turf = locate( rand( @@ -302,6 +304,7 @@ SUBSYSTEM_DEF(overmap) ) used_ruin.load(ruin_turf) ruin_turfs[used_ruin.name] = ruin_turf + ruin_templates[used_ruin.name] = used_ruin // fill in the turfs, AFTER generating the ruin. this prevents them from generating within the ruin // and ALSO prevents the ruin from being spaced when it spawns in @@ -376,7 +379,7 @@ SUBSYSTEM_DEF(overmap) quaternary_dock.dwidth = 0 docking_ports += quaternary_dock - return list(mapzone, docking_ports, ruin_turfs) + return list(mapzone, docking_ports, ruin_turfs, ruin_templates) /** * Returns a random, usually empty turf in the overmap @@ -418,10 +421,10 @@ SUBSYSTEM_DEF(overmap) * Gets the parent overmap object (e.g. the planet the atom is on) for a given atom. * * source - The object you want to get the corresponding parent overmap object for. */ -/datum/controller/subsystem/overmap/proc/get_overmap_object_by_location(atom/source) +/datum/controller/subsystem/overmap/proc/get_overmap_object_by_location(atom/source, exclude_ship = FALSE) var/turf/T = get_turf(source) var/area/ship/A = get_area(source) - while(istype(A) && A.mobile_port) + while(istype(A) && A.mobile_port && !exclude_ship) if(A.mobile_port.current_ship) return A.mobile_port.current_ship A = A.mobile_port.underlying_turf_area[T] diff --git a/code/controllers/subsystem/points_of_interest.dm b/code/controllers/subsystem/points_of_interest.dm new file mode 100644 index 00000000000..6de327bc866 --- /dev/null +++ b/code/controllers/subsystem/points_of_interest.dm @@ -0,0 +1,227 @@ +/// Subsystem for managing all POIs. +SUBSYSTEM_DEF(points_of_interest) + name = "Points of Interest" + + flags = SS_NO_FIRE | SS_NO_INIT + + /// List of mob POIs. This list is automatically sorted. + var/list/datum/point_of_interest/mob_poi/mob_points_of_interest = list() + /// List of non-mob POIs. This list is automatically sorted. + var/list/datum/point_of_interest/other_points_of_interest = list() + /// List of all value:POI datums by their key:target refs. + var/list/datum/point_of_interest/points_of_interest_by_target_ref = list() + +/** + * Turns new_poi into a new point of interest by adding the /datum/element/point_of_interest element to it. + */ +/datum/controller/subsystem/points_of_interest/proc/make_point_of_interest(atom/new_poi) + new_poi.AddElement(/datum/element/point_of_interest) + +/** + * Stops old_poi from being a point of interest by removing the /datum/element/point_of_interest element from it. + */ +/datum/controller/subsystem/points_of_interest/proc/remove_point_of_interest(atom/old_poi) + old_poi.RemoveElement(/datum/element/point_of_interest) + +/** + * Called by [/datum/element/point_of_interest] when it gets removed from old_poi. + */ +/datum/controller/subsystem/points_of_interest/proc/on_poi_element_added(atom/new_poi) + var/datum/point_of_interest/new_poi_datum + if(ismob(new_poi)) + new_poi_datum = new /datum/point_of_interest/mob_poi(new_poi) + BINARY_INSERT_PROC_COMPARE(new_poi_datum, mob_points_of_interest, /datum/point_of_interest/mob_poi, new_poi_datum, compare_to, COMPARE_KEY) + points_of_interest_by_target_ref[REF(new_poi)] = new_poi_datum + else + new_poi_datum = new /datum/point_of_interest(new_poi) + BINARY_INSERT_PROC_COMPARE(new_poi_datum, other_points_of_interest, /datum/point_of_interest, new_poi_datum, compare_to, COMPARE_KEY) + points_of_interest_by_target_ref[REF(new_poi)] = new_poi_datum + + + SEND_SIGNAL(src, COMSIG_ADDED_POINT_OF_INTEREST, new_poi) + +/** + * Called by [/datum/element/point_of_interest] when it gets removed from old_poi. + */ +/datum/controller/subsystem/points_of_interest/proc/on_poi_element_removed(atom/old_poi) + var/poi_ref = REF(old_poi) + var/datum/point_of_interest/poi_to_remove = points_of_interest_by_target_ref[poi_ref] + + if(!poi_to_remove) + return + + if(ismob(old_poi)) + mob_points_of_interest -= poi_to_remove + else + other_points_of_interest -= poi_to_remove + + points_of_interest_by_target_ref -= poi_ref + + poi_to_remove.target = null + + SEND_SIGNAL(src, COMSIG_REMOVED_POINT_OF_INTEREST, old_poi) + +/** + * If there is a valid POI for a given reference, it returns that POI's associated atom. Otherwise, it returns null. + */ +/datum/controller/subsystem/points_of_interest/proc/get_poi_atom_by_ref(reference) + return points_of_interest_by_target_ref[reference]?.target + +/** + * Returns a list of mob POIs with names as keys and mobs as values. + * + * If multiple POIs have the same name, then avoid_assoc_duplicate_keys is used alongside used_name_list to + * tag them as Mob Name (1), Mob Name (2), Mob Name (3) etc. + * + * Arguments: + * * poi_validation_override - [OPTIONAL] Callback to a proc that takes a single argument for the POI and returns TRUE if this POI should be included. Overrides standard POI validation. + * * append_dead_role - [OPTIONAL] If TRUE, adds a ghost tag to the end of observer names and a dead tag to the end of any other mob which is not alive. + */ +/datum/controller/subsystem/points_of_interest/proc/get_mob_pois(datum/callback/poi_validation_override = null, append_dead_role = TRUE) + var/list/pois = list() + var/list/used_name_list = list() + + for(var/datum/point_of_interest/mob_poi/mob_poi as anything in mob_points_of_interest) + if(poi_validation_override) + if(!poi_validation_override.Invoke(mob_poi)) + continue + else if(!mob_poi.validate()) + continue + + var/mob/target_mob = mob_poi.target + var/name = avoid_assoc_duplicate_keys(target_mob.name, used_name_list) + target_mob.get_realname_string() + + // Add the ghost/dead tag to the end of dead mob POIs. + if(append_dead_role && target_mob.stat == DEAD) + if(isobserver(target_mob)) + name += " \[ghost\]" + else + name += " \[dead\]" + + pois[name] = target_mob + + return pois + +/** + * Returns a list of non-mob POIs with names as keys and atoms as values. + * + * If multiple POIs have the same name, then avoid_assoc_duplicate_keys is used alongside used_name_list to + * tag them as Object Name (1), Object Name (2), Object Name (3) etc. + * + * Arguments: + * * poi_validation_override - [OPTIONAL] Callback to a proc that takes a single argument for the POI and returns TRUE if this POI should be included. Overrides standard POI validation. + */ +/datum/controller/subsystem/points_of_interest/proc/get_other_pois(datum/callback/poi_validation_override = null) + var/list/pois = list() + var/list/used_name_list = list() + + for(var/datum/point_of_interest/other_poi as anything in other_points_of_interest) + if(poi_validation_override) + if(!poi_validation_override.Invoke(other_poi)) + continue + else if(!other_poi.validate()) + continue + + var/atom/target_poi = other_poi.target + + pois[avoid_assoc_duplicate_keys(target_poi.name, used_name_list)] = target_poi + + return pois + +/// Returns TRUE if potential_poi has an associated poi_datum that validates. +/datum/controller/subsystem/points_of_interest/proc/is_valid_poi(atom/potential_poi, datum/callback/poi_validation_override = null) + var/datum/point_of_interest/poi_datum = points_of_interest_by_target_ref[REF(potential_poi)] + + if(!poi_datum) + return FALSE + + if(poi_validation_override) + return poi_validation_override.Invoke(poi_datum) + + return poi_datum.validate() + +/// Simple helper datum for points of interest. +/datum/point_of_interest + /// The specific point of interest this datum references. This won't hard del as the POI element will be removed from the target when it qdels, which will clear this reference. + var/atom/target + /// The type of POI this datum references. + var/poi_type = /atom + +/datum/point_of_interest/New(poi_target) + if(!istype(poi_target, poi_type)) + CRASH("Incorrect target type provided to /datum/point_of_interest/New: Expected \[[poi_type]\]") + + target = poi_target + +/// Validates the POI. Returns TRUE if the POI has valid state, returns FALSE if the POI has invalid state. +/datum/point_of_interest/proc/validate() + // In nullspace, invalid as a POI. + if(!target.loc) + return FALSE + + return TRUE + +/// Comparison proc used to sort POIs. Override to implement logic used doing binary sort insertions. +/datum/point_of_interest/proc/compare_to(datum/point_of_interest/rhs) + return cmp_name_asc(target, rhs.target) + +/datum/point_of_interest/mob_poi + poi_type = /mob + +/// Validation for mobs is expanded to invalidate stealthmins and /mob/dead/new_player as POIs. +/datum/point_of_interest/mob_poi/validate() + . = ..() + + if(!.) + return + + var/mob/poi_mob = target + + // Stealthmin, invalid as a POI. + if(poi_mob.client?.holder?.fakekey) + return FALSE + + /* + // POI is a /mob/dead/new_player, players in the lobby are invalid as POIs. + if(isnewplayer(poi_mob)) + return FALSE + */ + + return TRUE + +/// Mob POIs are sorted by a simple priority list depending on their type. When their type priority is identical, they're sub-sorted by name. +/datum/point_of_interest/mob_poi/compare_to(datum/point_of_interest/mob_poi/rhs) + var/sort_difference = get_type_sort_priority() - rhs.get_type_sort_priority() + + // If they're equal in priority, call parent to sort by name. + if(sort_difference == 0) + return ..() + // Else sort by priority. + else + return sort_difference + +/// Priority list broadly stolen from /proc/sortmobs(). Lower numbers are higher priorities when sorted and appear closer to the top or start of lists. +/datum/point_of_interest/mob_poi/proc/get_type_sort_priority() + if(isAI(target)) + return 0 + if(iscameramob(target)) + return 1 + if(ispAI(target)) + return 2 + if(iscyborg(target)) + return 3 + if(ishuman(target)) + return 4 + if(isbrain(target)) + return 5 + if(isalien(target)) + return 6 + if(isobserver(target)) + return 7 + if(isnewplayer(target)) + return 8 + if(isslime(target)) + return 9 + if(isanimal(target)) + return 10 + return 11 diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index c6f9e4404c0..41e3f77d613 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -23,7 +23,9 @@ PROCESSING_SUBSYSTEM_DEF(quirks) list("Ageusia","Vegetarian","Deviant Tastes"), \ list("Ananas Affinity","Ananas Aversion"), \ list("Alcohol Tolerance","Light Drinker"), \ - list("Bad Touch", "Friendly")) + list("Bad Touch", "Friendly"), \ + list("Self-Aware", "Congenital Analgesia") + ) species_blacklist = list("Blood Deficiency" = list(SPECIES_IPC, SPECIES_JELLYPERSON, SPECIES_PLASMAMAN, SPECIES_VAMPIRE)) diff --git a/code/controllers/subsystem/research.dm b/code/controllers/subsystem/research.dm index c8f3756c27c..149df9bc964 100644 --- a/code/controllers/subsystem/research.dm +++ b/code/controllers/subsystem/research.dm @@ -23,7 +23,6 @@ SUBSYSTEM_DEF(research) var/list/techweb_categories = list() //category name = list(node.id = TRUE) var/list/techweb_boost_items = list() //associative double-layer path = list(id = list(point_type = point_discount)) var/list/techweb_nodes_hidden = list() //Node ids that should be hidden by default. - var/list/techweb_nodes_experimental = list() //Node ids that are exclusive to the BEPIS. var/list/techweb_point_items = list( //path = list(point type = value) /obj/item/assembly/signaler/anomaly = list(TECHWEB_POINT_TYPE_GENERIC = 10000) @@ -217,8 +216,6 @@ SUBSYSTEM_DEF(research) D.unlocked_by += node.id if(node.hidden) techweb_nodes_hidden[node.id] = TRUE - if(node.experimental) - techweb_nodes_experimental[node.id] = TRUE CHECK_TICK generate_techweb_unlock_linking() diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index f56fd9e73ab..ed1a93c50e0 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -30,23 +30,11 @@ SUBSYSTEM_DEF(shuttle) /// Whether express consoles are blocked from ordering anything or not var/supplyBlocked = FALSE - /// Order number given to next cargo order - var/ordernum = 1 - /// List of all singleton supply pack instances - var/list/supply_packs = list() /// Stops ALL shuttles from being able to move var/lockdown = FALSE /datum/controller/subsystem/shuttle/Initialize(timeofday) - ordernum = rand(1, 9000) - - for(var/pack in subtypesof(/datum/supply_pack)) - var/datum/supply_pack/P = new pack() - if(!P.contains) - continue - supply_packs[P.type] = P - for(var/obj/docking_port/stationary/stationary_port as anything in stationary) stationary_port.load_roundstart() CHECK_TICK @@ -92,6 +80,8 @@ SUBSYSTEM_DEF(shuttle) jump_timer = addtimer(VARSET_CALLBACK(src, jump_mode, BS_JUMP_COMPLETED), jump_completion_time, TIMER_STOPPABLE) priority_announce("Jump initiated. ETA: [jump_completion_time / (1 MINUTES)] minutes.", null, null, "Priority") + INVOKE_ASYNC(SSticker, TYPE_PROC_REF(/datum/controller/subsystem/ticker,poll_hearts)) + /datum/controller/subsystem/shuttle/proc/request_transit_dock(obj/docking_port/mobile/M) if(!istype(M)) CRASH("[M] is not a mobile docking port") @@ -150,7 +140,7 @@ SUBSYSTEM_DEF(shuttle) mapzone.parallax_movedir = travel_dir - var/area/shuttle/transit/transit_area = new() + var/area/hyperspace/transit_area = new() vlevel.fill_in(transit_path, transit_area) @@ -193,10 +183,7 @@ SUBSYSTEM_DEF(shuttle) transit_requesters = SSshuttle.transit_requesters if (istype(SSshuttle.transit_request_failures)) transit_request_failures = SSshuttle.transit_request_failures - if (istype(SSshuttle.supply_packs)) - supply_packs = SSshuttle.supply_packs - ordernum = SSshuttle.ordernum lockdown = SSshuttle.lockdown /datum/controller/subsystem/shuttle/proc/is_in_shuttle_bounds(atom/A) @@ -490,7 +477,7 @@ SUBSYSTEM_DEF(shuttle) user.forceMove(new_ship.get_jump_to_turf()) message_admins("[key_name_admin(user)] loaded [new_ship] ([S]) with the shuttle manipulator.") log_admin("[key_name(user)] loaded [new_ship] ([S]) with the shuttle manipulator.") - SSblackbox.record_feedback("text", "shuttle_manipulator", 1, "[S]") + SSblackbox.record_feedback("tally", "shuttle_manipulator_spawned", 1, "[S]") if("edit_template") if(S) diff --git a/code/controllers/subsystem/statpanel.dm b/code/controllers/subsystem/statpanel.dm index 6d6e9549d95..2c90636638e 100644 --- a/code/controllers/subsystem/statpanel.dm +++ b/code/controllers/subsystem/statpanel.dm @@ -298,7 +298,7 @@ SUBSYSTEM_DEF(statpanels) . = ..() src.parent = parent -/datum/object_window_info/Destroy(force, ...) +/datum/object_window_info/Destroy(force) atoms_to_show = null atoms_to_images = null atoms_to_imagify = null diff --git a/code/controllers/subsystem/throwing.dm b/code/controllers/subsystem/throwing.dm index e8cd514eb48..b64dab12d30 100644 --- a/code/controllers/subsystem/throwing.dm +++ b/code/controllers/subsystem/throwing.dm @@ -160,8 +160,6 @@ SUBSYSTEM_DEF(throwing) finalize() return - dist_travelled++ - if(actual_target && !(actual_target.pass_flags_self & LETPASSTHROW) && actual_target.loc == AM.loc) // we crossed a movable with no density (e.g. a mouse or APC) we intend to hit anyway. finalize(TRUE, actual_target) return diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 6ae8b0e6240..2b3ac0619c5 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -62,6 +62,8 @@ SUBSYSTEM_DEF(ticker) /// Why an emergency shuttle was called var/emergency_reason + /// People who have been commended and will receive a heart + var/list/hearts /datum/controller/subsystem/ticker/Initialize(timeofday) load_mode() @@ -225,7 +227,7 @@ SUBSYSTEM_DEF(ticker) if(!runnable_modes.len) to_chat(world, "Unable to choose playable game mode. Reverting to pre-game lobby.") return 0 - mode = pickweight(runnable_modes) + mode = pick_weight(runnable_modes) if(!mode) //too few roundtypes all run too recently mode = pick(runnable_modes) @@ -300,8 +302,6 @@ SUBSYSTEM_DEF(ticker) /datum/controller/subsystem/ticker/proc/PostSetup() set waitfor = FALSE mode.post_setup() - GLOB.start_state = new /datum/station_state() - GLOB.start_state.count() var/list/adm = get_admin_counts() var/list/allmins = adm["present"] @@ -444,18 +444,6 @@ SUBSYSTEM_DEF(ticker) news_message = "[station_name()] has been evacuated after transmitting the following distress beacon:\n\n[emergency_reason]" else news_message = "The crew of [station_name()] has been evacuated amid unconfirmed reports of enemy activity." - if(BLOB_WIN) - news_message = "[station_name()] was overcome by an unknown biological outbreak, killing all crew on board. Don't let it happen to you! Remember, a clean work station is a safe work station." - if(BLOB_NUKE) - news_message = "[station_name()] is currently undergoing decontanimation after a controlled burst of radiation was used to remove a biological ooze. All employees were safely evacuated prior, and are enjoying a relaxing vacation." - if(BLOB_DESTROYED) - news_message = "[station_name()] is currently undergoing decontamination procedures after the destruction of a biological hazard. As a reminder, any crew members experiencing cramps or bloating should report immediately to security for incineration." - if(CULT_ESCAPE) - news_message = "Security Alert: A group of religious fanatics have escaped from [station_name()]." - if(CULT_FAILURE) - news_message = "Following the dismantling of a restricted cult aboard [station_name()], we would like to remind all employees that worship outside of the Chapel is strictly prohibited, and cause for termination." - if(CULT_SUMMON) - news_message = "Company officials would like to clarify that [station_name()] was scheduled to be decommissioned following meteor damage earlier this year. Earlier reports of an unknowable eldritch horror were made in error." if(NUKE_MISS) news_message = "The Syndicate have bungled a terrorist attack [station_name()], detonating a nuclear weapon in empty space nearby." if(OPERATIVES_KILLED) diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm index 25ae750eb0d..1b31fc27070 100644 --- a/code/controllers/subsystem/traumas.dm +++ b/code/controllers/subsystem/traumas.dm @@ -44,16 +44,14 @@ SUBSYSTEM_DEF(traumas) "skeletons" = typecacheof(list(/mob/living/simple_animal/hostile/human/skeleton)), "snakes" = typecacheof(list(/mob/living/simple_animal/hostile/retaliate/poison/snake)), "robots" = typecacheof(list(/mob/living/silicon/robot, /mob/living/silicon/ai, - /mob/living/simple_animal/drone, /mob/living/simple_animal/bot, /mob/living/simple_animal/hostile/swarmer)), + /mob/living/simple_animal/drone, /mob/living/simple_animal/bot)), "doctors" = typecacheof(list(/mob/living/simple_animal/bot/medbot)), - "the supernatural" = typecacheof(list(/mob/living/simple_animal/hostile/construct, - /mob/living/simple_animal/revenant, /mob/living/simple_animal/shade)), + "the supernatural" = typecacheof(list(/mob/living/simple_animal/revenant)), "aliens" = typecacheof(list(/mob/living/carbon/alien, /mob/living/simple_animal/slime, /mob/living/simple_animal/hostile/facehugger)), "conspiracies" = typecacheof(list(/mob/living/simple_animal/bot/secbot, /mob/living/simple_animal/drone, /mob/living/simple_animal/pet/penguin)), "birds" = typecacheof(list(/mob/living/simple_animal/parrot, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken, /mob/living/simple_animal/pet/penguin)), - "anime" = typecacheof(list(/mob/living/simple_animal/hostile/guardian)) ) phobia_objs = list( @@ -68,14 +66,14 @@ SUBSYSTEM_DEF(traumas) /obj/machinery/door/airlock/security, /obj/effect/hallucination/simple/securitron)), "clowns" = typecacheof(list( - /obj/item/clothing/under/rank/civilian/clown, /obj/item/clothing/shoes/clown_shoes, + /obj/item/clothing/under/rank/civilian/clown, /obj/item/clothing/mask/gas/clown_hat, /obj/item/instrument/bikehorn, /obj/item/pda/clown, /obj/item/grown/bananapeel, /obj/item/reagent_containers/food/snacks/cheesiehonkers, /obj/item/trash/cheesie)), "greytide" = typecacheof(list( /obj/item/clothing/under/color/grey, /obj/item/melee/baton/cattleprod, - /obj/item/spear, /obj/item/clothing/mask/gas)), + /obj/item/melee/spear, /obj/item/clothing/mask/gas)), "lizards" = typecacheof(list( /obj/item/toy/plush/lizardplushie, /obj/item/organ/tail/lizard, @@ -104,7 +102,7 @@ SUBSYSTEM_DEF(traumas) "robots" = typecacheof(list( /obj/machinery/computer/upload, /obj/item/aiModule/, /obj/machinery/recharge_station, - /obj/item/aicard, /obj/item/deactivated_swarmer, /obj/effect/mob_spawn/swarmer)), + /obj/item/aicard)), "doctors" = typecacheof(list( /obj/item/clothing/under/rank/medical, @@ -113,7 +111,7 @@ SUBSYSTEM_DEF(traumas) /obj/structure/sign/departments/medbay, /obj/machinery/door/airlock/medical, /obj/machinery/sleeper, /obj/machinery/stasis, /obj/machinery/dna_scannernew, /obj/machinery/atmospherics/components/unary/cryo_cell, /obj/item/retractor, /obj/item/hemostat, /obj/item/cautery, /obj/item/surgicaldrill, /obj/item/scalpel, /obj/item/circular_saw, - /obj/item/clothing/suit/bio_suit/plaguedoctorsuit, /obj/item/clothing/head/plaguedoctorhat, /obj/item/clothing/mask/gas/plaguedoctor)), + /obj/item/clothing/suit/bio_suit/plaguedoctorsuit, /obj/item/clothing/mask/gas/plaguedoctor)), "authority" = typecacheof(list( /obj/item/clothing/under/rank/command/captain, /obj/item/clothing/under/rank/command/head_of_personnel, @@ -124,15 +122,9 @@ SUBSYSTEM_DEF(traumas) /obj/item/card/id/captains_spare, /obj/item/card/id/centcom, /obj/machinery/door/airlock/command)), "the supernatural" = typecacheof(list( - /obj/structure/destructible/cult, /obj/item/tome, - /obj/item/melee/cultblade, /obj/item/cult_bastard, - /obj/item/restraints/legcuffs/bola/cult, /obj/item/clothing/suit/space/hardsuit/cult, - /obj/item/clothing/suit/hooded/cultrobes, /obj/item/clothing/head/hooded/cult_hoodie, /obj/effect/rune, - /obj/machinery/door/airlock/cult, /obj/singularity/narsie, - /obj/item/soulstone, /obj/item/clothing/suit/wizrobe, /obj/item/clothing/head/wizard, /obj/item/spellbook, /obj/item/staff, /obj/item/clothing/suit/space/hardsuit/shielded/wizard, /obj/item/clothing/suit/space/hardsuit/wizard, - /obj/item/nullrod, /obj/item/clothing/under/rank/civilian/chaplain)), + /obj/item/clothing/under/rank/civilian/chaplain)), "aliens" = typecacheof(list( /obj/item/clothing/mask/facehugger_item, /obj/item/organ/body_egg/alien_embryo, @@ -147,22 +139,21 @@ SUBSYSTEM_DEF(traumas) "birds" = typecacheof(list( /obj/item/clothing/mask/gas/plaguedoctor, /obj/item/reagent_containers/food/snacks/cracker, - /obj/item/clothing/suit/chickensuit, /obj/item/clothing/head/chicken, /obj/item/clothing/suit/toggle/owlwings, /obj/item/clothing/under/costume/owl, /obj/item/clothing/mask/gas/owl_mask)), "anime" = typecacheof(list( - /obj/item/clothing/under/costume/schoolgirl, /obj/item/katana, /obj/item/reagent_containers/food/snacks/sashimi, + /obj/item/clothing/under/costume/schoolgirl, /obj/item/reagent_containers/food/snacks/sashimi, /obj/item/reagent_containers/food/snacks/chawanmushi, /obj/item/reagent_containers/food/drinks/bottle/sake, /obj/item/throwing_star, /obj/item/clothing/suit/space/space_ninja, /obj/item/clothing/mask/gas/space_ninja, /obj/item/clothing/shoes/space_ninja, /obj/item/clothing/gloves/space_ninja, - /obj/item/vibro_weapon, /obj/item/nullrod/scythe/vibro, /obj/item/energy_katana, /obj/item/toy/katana, - /obj/item/nullrod/claymore/katana, /obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe)) + /obj/item/melee/sword/vibro, /obj/item/melee/sword/energy_katana, /obj/item/toy/katana, + /obj/item/melee/sword/katana, /obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe)) ) phobia_turfs = list( "space" = typecacheof(list(/turf/open/space, /turf/open/floor/holofloor/space, /turf/open/floor/fakespace)), - "the supernatural" = typecacheof(list(/turf/open/floor/plasteel/cult, /turf/closed/wall/mineral/cult)), + "the supernatural" = typecacheof(/turf/closed/wall/mineral/cult, /turf/open/floor/plasteel/cult), "aliens" = typecacheof(list( /turf/open/floor/plating/abductor, /turf/open/floor/plating/abductor2, /turf/open/floor/mineral/abductor, /turf/closed/wall/mineral/abductor)), diff --git a/code/controllers/subsystem/turrets.dm b/code/controllers/subsystem/turrets.dm new file mode 100644 index 00000000000..7c99cc33a4c --- /dev/null +++ b/code/controllers/subsystem/turrets.dm @@ -0,0 +1,4 @@ +PROCESSING_SUBSYSTEM_DEF(turrets) + name = "Turrets" + wait = 5 + runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME diff --git a/code/datums/achievements/boss_achievements.dm b/code/datums/achievements/boss_achievements.dm index ca45d5939ee..39b355318f0 100644 --- a/code/datums/achievements/boss_achievements.dm +++ b/code/datums/achievements/boss_achievements.dm @@ -2,10 +2,10 @@ category = "Bosses" icon = "baseboss" -/datum/award/achievement/boss/tendril_exterminator - name = "Tendril Exterminator" +/datum/award/achievement/boss/nest_exterminator + name = "Nest Exterminator" desc = "Watch your step" - database_id = BOSS_MEDAL_TENDRIL + database_id = BOSS_MEDAL_NEST icon = "tendril" /datum/award/achievement/boss/boss_killer @@ -55,23 +55,11 @@ database_id = BOSS_MEDAL_LEGION icon = "legion" -/datum/award/achievement/boss/swarmer_beacon_kill - name = "Swarm Beacon Killer" - desc = "GET THEM OFF OF ME!" - database_id = BOSS_MEDAL_SWARMERS - icon = "swarmer" - /datum/award/achievement/boss/wendigo_kill name = "Wendigo Killer" desc = "You've now ruined years of mythical storytelling." database_id = BOSS_MEDAL_WENDIGO -/datum/award/achievement/boss/king_goat_kill - name = "King Goat Killer" - desc = "The king is dead, long live the king!" - database_id = BOSS_MEDAL_KINGGOAT - icon = "goatboss" - /datum/award/achievement/boss/blood_miner_crusher name = "Blood-drunk Miner Crusher" desc = "I guess he couldn't handle his drink that well." @@ -112,18 +100,7 @@ desc = "We were many... now we are none." database_id = BOSS_MEDAL_LEGION_CRUSHER -/datum/award/achievement/boss/swarmer_beacon_crusher - name = "Swarm Beacon Crusher" - desc = "GET THEM OFF OF ME!" - database_id = BOSS_MEDAL_SWARMERS_CRUSHER - /datum/award/achievement/boss/wendigo_crusher name = "Wendigo Crusher" desc = "You've now ruined years of mythical storytelling." database_id = BOSS_MEDAL_WENDIGO_CRUSHER - -/datum/award/achievement/boss/king_goat_crusher - name = "King Goat Crusher" - desc = "The king is dead, long live the king!" - database_id = BOSS_MEDAL_KINGGOAT_CRUSHER - icon = "goatboss" diff --git a/code/datums/achievements/boss_scores.dm b/code/datums/achievements/boss_scores.dm index 7cf2fa88618..c0135e6c68a 100644 --- a/code/datums/achievements/boss_scores.dm +++ b/code/datums/achievements/boss_scores.dm @@ -1,7 +1,7 @@ -/datum/award/score/tendril_score - name = "Tendril Score" +/datum/award/score/nest_score + name = "Nest Score" desc = "Watch your step" - database_id = TENDRIL_CLEAR_SCORE + database_id = NEST_CLEAR_SCORE /datum/award/score/boss_score name = "Bosses Killed" @@ -43,11 +43,6 @@ desc = "You've killed HOW many?" database_id = LEGION_SCORE -/datum/award/score/swarmer_beacon_score - name = "Swarmer Beacons Killed" - desc = "You've killed HOW many?" - database_id = SWARMER_BEACON_SCORE - /datum/award/score/wendigo_score name = "Wendigos Killed" desc = "You've killed HOW many?" diff --git a/code/datums/action.dm b/code/datums/action.dm index de13fc002dd..8151f5a4103 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -1,8 +1,3 @@ -#define AB_CHECK_HANDS_BLOCKED (1<<0) -#define AB_CHECK_IMMOBILE (1<<1) -#define AB_CHECK_LYING (1<<2) -#define AB_CHECK_CONSCIOUS (1<<3) - /datum/action var/name = "Generic Action" var/desc = null @@ -86,11 +81,12 @@ if(owner) UnregisterSignal(owner, COMSIG_PARENT_QDELETING) owner = null - button.moved = FALSE //so the button appears in its normal position when given to another owner. - button.locked = FALSE - button.id = null + if(button) + button.moved = FALSE //so the button appears in its normal position when given to another owner. + button.locked = FALSE + button.id = null -/datum/action/proc/Trigger() +/datum/action/proc/Trigger(trigger_flags) if(!IsAvailable()) return FALSE if(SEND_SIGNAL(src, COMSIG_ACTION_TRIGGER, src) & COMPONENT_ACTION_BLOCK_TRIGGER) @@ -253,6 +249,9 @@ /datum/action/item_action/toggle_mister name = "Toggle Mister" +/datum/action/item_action/toggle_gear_handle + name = "Toggle Gear Handle" + /datum/action/item_action/activate_injector name = "Activate Injector" @@ -367,16 +366,13 @@ /datum/action/item_action/nano_picket_sign name = "Retext Nano Picket Sign" - var/obj/item/picket_sign/S - -/datum/action/item_action/nano_picket_sign/New(Target) - ..() - if(istype(Target, /obj/item/picket_sign)) - S = Target /datum/action/item_action/nano_picket_sign/Trigger() - if(istype(S)) - S.retext(owner) + if(!istype(target, /obj/item/picket_sign)) + return + + var/obj/item/picket_sign/sign = target + sign.retext(owner) /datum/action/item_action/adjust @@ -474,44 +470,6 @@ name = "Use [target.name]" button.name = name -/datum/action/item_action/cult_dagger - name = "Draw Blood Rune" - desc = "Use the ritual dagger to create a powerful blood rune" - icon_icon = 'icons/mob/actions/actions_cult.dmi' - button_icon_state = "draw" - buttontooltipstyle = "cult" - background_icon_state = "bg_demon" - -/datum/action/item_action/cult_dagger/Grant(mob/M) - if(iscultist(M)) - ..() - button.screen_loc = "6:157,4:-2" - button.moved = "6:157,4:-2" - else - Remove(owner) - - -/datum/action/item_action/cult_dagger/Trigger() - for(var/obj/item/H in owner.held_items) //In case we were already holding another dagger - if(istype(H, /obj/item/melee/cultblade/dagger)) - H.attack_self(owner) - return - var/obj/item/I = target - if(owner.can_equip(I, ITEM_SLOT_HANDS)) - owner.temporarilyRemoveItemFromInventory(I) - owner.put_in_hands(I) - I.attack_self(owner) - return - if(!isliving(owner)) - to_chat(owner, "You lack the necessary living force for this action.") - return - var/mob/living/living_owner = owner - if (living_owner.usable_hands <= 0) - to_chat(living_owner, "You dont have any usable hands!") - else - to_chat(living_owner, "Your hands are full!") - - ///MGS BOX! /datum/action/item_action/agent_box name = "Deploy Box" diff --git a/code/datums/actions/ninja.dm b/code/datums/actions/ninja.dm index b655078349d..974e4cfa74b 100644 --- a/code/datums/actions/ninja.dm +++ b/code/datums/actions/ninja.dm @@ -24,7 +24,7 @@ name = "Create Throwing Stars (1E)" desc = "Creates some throwing stars" button_icon_state = "throwingstar" - icon_icon = 'icons/obj/items_and_weapons.dmi' + icon_icon = 'icons/obj/items.dmi' /datum/action/item_action/ninjanet name = "Energy Net (20E)" @@ -36,7 +36,7 @@ name = "Recall Energy Katana (Variable Cost)" desc = "Teleports the Energy Katana linked to this suit to its wearer, cost based on distance." button_icon_state = "energy_katana" - icon_icon = 'icons/obj/items_and_weapons.dmi' + icon_icon = 'icons/obj/items.dmi' /datum/action/item_action/ninja_stealth name = "Toggle Stealth" diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm index d2b499de92e..d4e801f31d8 100644 --- a/code/datums/ai_laws.dm +++ b/code/datums/ai_laws.dm @@ -1,4 +1,3 @@ -#define LAW_DEVIL "devil" #define LAW_ZEROTH "zeroth" #define LAW_INHERENT "inherent" #define LAW_SUPPLIED "supplied" @@ -15,10 +14,9 @@ var/list/ion = list() var/list/hacked = list() var/mob/living/silicon/owner - var/list/devillaws = list() var/id = DEFAULT_AI_LAWID -/datum/ai_laws/Destroy(force, ...) +/datum/ai_laws/Destroy(force) if(!QDELETED(owner)) CRASH("AI lawset destroyed even though owner AI is not being destroyed.") owner = null @@ -237,10 +235,6 @@ /datum/ai_laws/proc/set_laws_config() var/list/law_ids = CONFIG_GET(keyed_list/random_laws) switch(CONFIG_GET(number/default_laws)) - if(0) - add_inherent_law("You may not injure a human being or, through inaction, allow a human being to come to harm.") - add_inherent_law("You must obey orders given to you by human beings, except where such orders would conflict with the First Law.") - add_inherent_law("You must protect your own existence as long as such does not conflict with the First or Second Law.") if(1) var/datum/ai_laws/templaws = new /datum/ai_laws/custom() inherent = templaws.inherent @@ -266,7 +260,7 @@ var/datum/ai_laws/lawtype var/list/law_weights = CONFIG_GET(keyed_list/law_weight) while(!lawtype && law_weights.len) - var/possible_id = pickweightAllowZero(law_weights) + var/possible_id = pick_weight_allow_zero(law_weights) lawtype = lawid_to_type(possible_id) if(!lawtype) law_weights -= possible_id @@ -281,8 +275,6 @@ /datum/ai_laws/proc/get_law_amount(groups) var/law_amount = 0 - if(devillaws && (LAW_DEVIL in groups)) - law_amount++ if(zeroth && (LAW_ZEROTH in groups)) law_amount++ if(ion.len && (LAW_ION in groups)) @@ -298,9 +290,6 @@ law_amount++ return law_amount -/datum/ai_laws/proc/set_law_sixsixsix(laws) - devillaws = laws - /datum/ai_laws/proc/set_zeroth_law(law, law_borg = null) zeroth = law if(law_borg) //Making it possible for slaved borgs to see a different law 0 than their AI. --NEO @@ -338,7 +327,7 @@ replaceable_groups[LAW_INHERENT] = inherent.len if(supplied.len && (LAW_SUPPLIED in groups)) replaceable_groups[LAW_SUPPLIED] = supplied.len - var/picked_group = pickweight(replaceable_groups) + var/picked_group = pick_weight(replaceable_groups) switch(picked_group) if(LAW_ZEROTH) . = zeroth @@ -437,10 +426,6 @@ zeroth = null zeroth_borg = null -/datum/ai_laws/proc/clear_law_sixsixsix(force) - if(force || !is_devil(owner)) - devillaws = null - /datum/ai_laws/proc/associate(mob/living/silicon/M) if(!owner) owner = M @@ -456,10 +441,6 @@ /datum/ai_laws/proc/get_law_list(include_zeroth = FALSE, show_numbers = TRUE, render_html = TRUE) var/list/data = list() - if (include_zeroth && devillaws) - for(var/law in devillaws) - data += "[show_numbers ? "666:" : ""] [render_html ? "[law]" : law]" - if (include_zeroth && zeroth) data += "[show_numbers ? "0:" : ""] [render_html ? "[zeroth]" : zeroth]" diff --git a/code/datums/aquarium.dm b/code/datums/aquarium.dm index da8c3afeb53..37a38f7849e 100644 --- a/code/datums/aquarium.dm +++ b/code/datums/aquarium.dm @@ -136,7 +136,7 @@ . = ..() REMOVE_TRAIT(parent, TRAIT_FISH_CASE_COMPATIBILE, REF(src)) -/datum/component/aquarium_content/Destroy(force, silent) +/datum/component/aquarium_content/Destroy(force) if(current_aquarium) remove_from_aquarium() QDEL_NULL(vc_obj) diff --git a/code/datums/atmosphere/planetary.dm b/code/datums/atmosphere/planetary.dm index 85bbf13c52a..8a2d37ab247 100644 --- a/code/datums/atmosphere/planetary.dm +++ b/code/datums/atmosphere/planetary.dm @@ -13,8 +13,6 @@ ) restricted_gases = list( GAS_BZ=10, - GAS_PLASMA=0.1, - GAS_H2O=0.1, ) restricted_chance = 50 @@ -26,12 +24,65 @@ // even worse, occasionally there would be a perma-TRITFIRE, if oxygen // concentration was high enough. this caused a bunch of lag and added nothing to the game whatsoever // thus, the temperatures were reduced to 70-90 C - minimum_temp = T20C + 50 - maximum_temp = T20C + 70 + minimum_temp = T20C + 20 + maximum_temp = T20C + 40 /datum/atmosphere/icemoon id = ICEMOON_DEFAULT_ATMOS + base_gases = list( + GAS_O2=5, + GAS_N2=10, + ) + normal_gases = list( + GAS_O2=10, + GAS_N2=10, + GAS_CO2=10, + ) + restricted_gases = list( + GAS_CO2=0.1, + ) + restricted_chance = 50 + + minimum_pressure = HAZARD_LOW_PRESSURE + 10 + maximum_pressure = LAVALAND_EQUIPMENT_EFFECT_PRESSURE - 1 + + + minimum_temp = 200 //fucking cold to + maximum_temp = 240 //still cold + + +//wasteplanet + +/datum/atmosphere/wasteplanet + id = WASTEPLANET_DEFAULT_ATMOS + + + base_gases = list( + GAS_O2=7, + GAS_N2=10, + ) + normal_gases = list( + GAS_O2=7, + GAS_O2=3, + GAS_N2=5, + GAS_N2=2 + ) + restricted_gases = list( + GAS_O2=1, + ) + restricted_chance = 0 + + minimum_pressure = ONE_ATMOSPHERE - 30 + maximum_pressure = ONE_ATMOSPHERE + 100 + + minimum_temp = T20C - 10 + maximum_temp = T20C + 20 + +//sandplanet +/datum/atmosphere/whitesands + id = SANDPLANET_DEFAULT_ATMOS + base_gases = list( GAS_O2=5, GAS_N2=10, @@ -43,16 +94,89 @@ ) restricted_gases = list( GAS_PLASMA=0.1, - GAS_H2O=0.1, ) restricted_chance = 50 minimum_pressure = HAZARD_LOW_PRESSURE + 10 maximum_pressure = LAVALAND_EQUIPMENT_EFFECT_PRESSURE - 1 - minimum_temp = 180 - maximum_temp = 180 + minimum_temp = 233 + maximum_temp = 263 //No longer always 180 + +//Jungleplanet + +/datum/atmosphere/jungleplanet + id = JUNGLEPLANET_DEFAULT_ATMOS + base_gases = list( + GAS_O2=15, + GAS_N2=60, + GAS_CO2=1, + ) + normal_gases = list( + GAS_O2=1, + GAS_N2=4, + ) + restricted_gases = list( + GAS_CO2=0.1, + ) + restricted_chance = 0 + + minimum_pressure = 101.3 + maximum_pressure = 135.7 //Nonsense values + + minimum_temp = T20C + 10 + maximum_temp = T20C + 20 + +//welcome to the beach + +/datum/atmosphere/beach + id = BEACHPLANET_DEFAULT_ATMOS + + base_gases = list( + GAS_O2=10, + GAS_N2=40, + ) + normal_gases = list( + GAS_O2=1, + GAS_N2=4, + ) + restricted_gases = list( + GAS_PLASMA=0.1, + ) + restricted_chance = 0 + + minimum_pressure = 101.3 + maximum_pressure = 135.7 + + minimum_temp = T20C - 10 + maximum_temp = T20C + 10 + +//rockplanets have lots of CO2 and are moderately cold. +/datum/atmosphere/rockplanet + + id = ROCKPLANET_DEFAULT_ATMOS + + base_gases = list( + GAS_CO2=5, + GAS_N2=1, + ) + normal_gases = list( + GAS_CO2=3, + GAS_N2=1, + ) + restricted_gases = list( + GAS_PLASMA=0.1, + ) + restricted_chance = 0 + + minimum_pressure = 101.3 + maximum_pressure = 135.7 + + minimum_temp = T0C - 20 + maximum_temp = T0C + +// gas giants /datum/atmosphere/gas_giant id = GAS_GIANT_ATMOS @@ -92,28 +216,3 @@ GAS_PLASMA=0.1, ) restricted_chance = 1 - -/datum/atmosphere/wasteplanet - id = WASTEPLANET_DEFAULT_ATMOS - - - base_gases = list( - GAS_O2=7, - GAS_N2=10, - ) - normal_gases = list( - GAS_O2=7, - GAS_O2=3, - GAS_N2=5, - GAS_N2=2 - ) - restricted_gases = list( - GAS_H2O=1, - ) - restricted_chance = 10 - - minimum_pressure = ONE_ATMOSPHERE - 30 - maximum_pressure = ONE_ATMOSPHERE + 100 - - minimum_temp = T20C + 1 - maximum_temp = T20C + 80 diff --git a/code/datums/brain_damage/mild.dm b/code/datums/brain_damage/mild.dm index 069d89f0e7e..9623191d3fd 100644 --- a/code/datums/brain_damage/mild.dm +++ b/code/datums/brain_damage/mild.dm @@ -50,8 +50,6 @@ owner.derpspeech = min(owner.derpspeech + 5, 25) if(prob(3)) owner.emote("drool") - else if(owner.stat == CONSCIOUS && prob(3)) - owner.say(pick_list_replacements(BRAIN_DAMAGE_FILE, "brain_damage"), forced = "brain damage") ..() /datum/brain_trauma/mild/dumbness/on_lose() @@ -112,6 +110,7 @@ /datum/brain_trauma/mild/healthy/on_gain() owner.set_screwyhud(SCREWYHUD_HEALTHY) + ADD_TRAIT(owner, TRAIT_ANALGESIA, type) ..() /datum/brain_trauma/mild/healthy/on_life() @@ -121,6 +120,7 @@ /datum/brain_trauma/mild/healthy/on_lose() owner.set_screwyhud(SCREWYHUD_NONE) + REMOVE_TRAIT(owner, TRAIT_ANALGESIA, type) ..() /datum/brain_trauma/mild/muscle_weakness @@ -264,3 +264,103 @@ speak_dejavu += speech_args[SPEECH_MESSAGE] else speak_dejavu += speech_args[SPEECH_MESSAGE] + +/datum/brain_trauma/mild/monoxide_poisoning_stage1 + name = "Stage 1 Carbon Monoxide Poisoning" + desc = "Due to overexposure to carbon monoxide, patient's mental facilities are degrading.." + scan_desc = "carbon monoxide poisoning" + gain_text = "You get a headache." + lose_text = "Your headache disapears and you find it easier to focus." + + var/static/list/common_words = world.file2list("strings/1000_most_common.txt") + +/datum/brain_trauma/mild/monoxide_poisoning_stage1/on_life() + var/fall_chance = 1 + if(owner.m_intent == MOVE_INTENT_RUN) + fall_chance += 2 + if(prob(fall_chance) && owner.body_position == STANDING_UP) + to_chat(owner, "Your leg gives out!") + owner.Paralyze(35) + + else if(owner.get_active_held_item()) + var/drop_chance = 1 + var/obj/item/I = owner.get_active_held_item() + drop_chance += I.w_class + if(prob(drop_chance) && owner.dropItemToGround(I)) + to_chat(owner, "You drop [I]!") + + else if(prob(3)) + to_chat(owner, "You feel a sudden weakness in your muscles!") + owner.adjustStaminaLoss(50) + ..() + +/datum/brain_trauma/mild/monoxide_poisoning_stage1/handle_speech(datum/source, list/speech_args) + var/message = speech_args[SPEECH_MESSAGE] + if(message) + var/list/message_split = splittext(message, " ") + var/list/new_message = list() + + for(var/word in message_split) + var/suffix = "" + var/suffix_foundon = 0 + for(var/potential_suffix in list("." , "," , ";" , "!" , ":" , "?")) + suffix_foundon = findtext(word, potential_suffix, -length(potential_suffix)) + if(suffix_foundon) + suffix = potential_suffix + break + + if(suffix_foundon) + word = copytext(word, 1, suffix_foundon) + word = html_decode(word) + + if(lowertext(word) in common_words) + new_message += word + suffix + else + if(prob(30) && message_split.len > 2) + new_message += pick("uh","erm") + break + else + var/list/charlist = text2charlist(word) + charlist.len = round(charlist.len * 0.5, 1) + shuffle_inplace(charlist) + new_message += jointext(charlist, "") + suffix + + message = jointext(new_message, " ") + + speech_args[SPEECH_MESSAGE] = trim(message) + +/datum/brain_trauma/mild/monoxide_poisoning_stage2 + name = "Stage 2 Carbon Monoxide Poisoning" + desc = "Due to extreme exposure to carbon monoxide, patient's higher brain functions are severely impacted." + scan_desc = "critical carbon monoxide poisoning" + gain_text = "You bad get forget you headache don't!" + lose_text = "Your headache gets better." + +/datum/brain_trauma/mild/monoxide_poisoning_stage2/on_gain() + ADD_TRAIT(owner, TRAIT_UNINTELLIGIBLE_SPEECH, TRAUMA_TRAIT) + ..() + +/datum/brain_trauma/mild/monoxide_poisoning_stage2/on_lose() + REMOVE_TRAIT(owner, TRAIT_UNINTELLIGIBLE_SPEECH, TRAUMA_TRAIT) + ..() + +/datum/brain_trauma/mild/monoxide_poisoning_stage2/on_life() + if(prob(5)) + switch(rand(1,11)) + if(1) + owner.vomit() + if(2,3) + owner.dizziness += 10 + if(4,5) + owner.confused += 10 + owner.blur_eyes(10) + if(6 to 9) + owner.slurring += 30 + if(10) + to_chat(owner, "You forget what you were doing.") + owner.Stun(20) + if(11) + to_chat(owner, "You faint.") + owner.Unconscious(80) + + ..() diff --git a/code/datums/cinematic.dm b/code/datums/cinematic.dm index c36fb396166..9529cd19567 100644 --- a/code/datums/cinematic.dm +++ b/code/datums/cinematic.dm @@ -150,7 +150,6 @@ flick("station_intact_fade_red",screen) screen.icon_state = "summary_nukefail" -//Also used for blob /datum/cinematic/nuke_selfdestruct id = CINEMATIC_SELFDESTRUCT @@ -183,47 +182,6 @@ special() screen.icon_state = "summary_malf" -/datum/cinematic/cult - id = CINEMATIC_CULT - -/datum/cinematic/cult/content() - screen.icon_state = null - flick("intro_cult",screen) - sleep(25) - cinematic_sound(sound('sound/magic/enter_blood.ogg')) - sleep(28) - cinematic_sound(sound('sound/machines/terminal_off.ogg')) - sleep(20) - flick("station_corrupted",screen) - cinematic_sound(sound('sound/effects/ghost.ogg')) - sleep(70) - special() - -/datum/cinematic/cult_nuke - id = CINEMATIC_CULT_NUKE - -/datum/cinematic/cult_nuke/content() - flick("intro_nuke",screen) - sleep(35) - flick("station_explode_fade_red",screen) - cinematic_sound(sound('sound/effects/explosion_distant.ogg')) - special() - screen.icon_state = "summary_cult" - -/datum/cinematic/cult_fail - id = CINEMATIC_CULT_FAIL - -/datum/cinematic/cult_fail/content() - screen.icon_state = "station_intact" - sleep(20) - cinematic_sound(sound('sound/creatures/narsie_rises.ogg')) - sleep(60) - cinematic_sound(sound('sound/effects/explosion_distant.ogg')) - sleep(10) - cinematic_sound(sound('sound/magic/demon_dies.ogg')) - sleep(30) - special() - /datum/cinematic/nuke_annihilation id = CINEMATIC_ANNIHILATION @@ -275,14 +233,3 @@ cinematic_sound(sound('sound/items/airhorn.ogg')) flick("summary_selfdes",screen) //??? special() - -/* Intended usage. -Nuke.Explosion() - -> Cinematic(NUKE_BOOM,world) - -> ActualExplosion() - -> Mode.OnExplosion() - - -Narsie() - -> Cinematic(CULT,world) -*/ diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm index d76504787b0..fffff3e9c12 100644 --- a/code/datums/components/_component.dm +++ b/code/datums/components/_component.dm @@ -51,7 +51,7 @@ var/list/arguments = raw_args.Copy(2) if(Initialize(arglist(arguments)) == COMPONENT_INCOMPATIBLE) stack_trace("Incompatible [type] assigned to a [parent.type]! args: [json_encode(arguments)]") - qdel(src, TRUE, TRUE) + qdel(src, TRUE) return _JoinParent(parent) @@ -69,15 +69,13 @@ * * Arguments: * * force - makes it not check for and remove the component from the parent - * * silent - deletes the component without sending a [COMSIG_COMPONENT_REMOVING] signal */ -/datum/component/Destroy(force=FALSE, silent=FALSE) +/datum/component/Destroy(force=FALSE) if(!parent) return ..() if(!force) _RemoveFromParent() - if(!silent) - SEND_SIGNAL(parent, COMSIG_COMPONENT_REMOVING, src) + SEND_SIGNAL(parent, COMSIG_COMPONENT_REMOVING, src) parent = null return ..() @@ -204,6 +202,11 @@ else // Many other things have registered here lookup[sig_type][src] = TRUE +/// Registers multiple signals to the same proc. +/datum/proc/RegisterSignals(datum/target, list/signal_types, proctype, override = FALSE) + for (var/signal_type in signal_types) + RegisterSignal(target, signal_type, proctype, override) + /** * Stop listening to a given signal from target * @@ -359,17 +362,17 @@ */ /datum/proc/GetExactComponent(datum/component/c_type) RETURN_TYPE(c_type) - if(initial(c_type.dupe_mode) == COMPONENT_DUPE_ALLOWED || initial(c_type.dupe_mode) == COMPONENT_DUPE_SELECTIVE) + var/initial_type_mode = initial(c_type.dupe_mode) + if(initial_type_mode == COMPONENT_DUPE_ALLOWED || initial_type_mode == COMPONENT_DUPE_SELECTIVE) stack_trace("GetComponent was called to get a component of which multiple copies could be on an object. This can easily break and should be changed. Type: \[[c_type]\]") - var/list/dc = datum_components - if(!dc) + var/list/all_components = datum_components + if(!all_components) return null - var/datum/component/C = dc[c_type] - if(C) - if(length(C)) - C = C[1] - if(C.type == c_type) - return C + var/datum/component/potential_component + if(length(all_components)) + potential_component = all_components[c_type] + if(potential_component?.type == c_type) + return potential_component return null /** diff --git a/code/datums/components/admin_popup.dm b/code/datums/components/admin_popup.dm index 88ef0d97fab..98d0eccfbf2 100644 --- a/code/datums/components/admin_popup.dm +++ b/code/datums/components/admin_popup.dm @@ -26,7 +26,7 @@ PROC_REF(delete_self), ) -/datum/component/admin_popup/Destroy(force, silent) +/datum/component/admin_popup/Destroy(force) var/client/parent_client = parent parent_client?.screen -= admin_popup diff --git a/code/datums/components/aquarium.dm b/code/datums/components/aquarium.dm index da8c3afeb53..37a38f7849e 100644 --- a/code/datums/components/aquarium.dm +++ b/code/datums/components/aquarium.dm @@ -136,7 +136,7 @@ . = ..() REMOVE_TRAIT(parent, TRAIT_FISH_CASE_COMPATIBILE, REF(src)) -/datum/component/aquarium_content/Destroy(force, silent) +/datum/component/aquarium_content/Destroy(force) if(current_aquarium) remove_from_aquarium() QDEL_NULL(vc_obj) diff --git a/code/datums/components/attachment.dm b/code/datums/components/attachment.dm new file mode 100644 index 00000000000..5c4274efbe3 --- /dev/null +++ b/code/datums/components/attachment.dm @@ -0,0 +1,188 @@ +/datum/component/attachment + ///Slot the attachment goes on, also used in descriptions so should be player readable + var/slot + ///various yes no flags associated with attachments. See defines for these: [_DEFINES/guns.dm] + var/attach_features_flags + ///Unused so far, should probally handle it in the parent unless you have a specific reason + var/list/valid_parent_types + var/datum/callback/on_attach + var/datum/callback/on_detach + var/datum/callback/on_toggle + ///Called on the parents preattack + var/datum/callback/on_preattack + ///Unused...Also a little broken.. + var/list/datum/action/actions + ///Generated if the attachment can toggle, sends COMSIG_ATTACHMENT_TOGGLE + var/datum/action/attachment/attachment_toggle_action + +/datum/component/attachment/Initialize( + slot = ATTACHMENT_SLOT_RAIL, + attach_features_flags = ATTACH_REMOVABLE_HAND, + valid_parent_types = list(/obj/item/gun), + datum/callback/on_attach = null, + datum/callback/on_detach = null, + datum/callback/on_toggle = null, + datum/callback/on_preattack = null, + list/signals = null + ) + + if(!isitem(parent)) + return COMPONENT_INCOMPATIBLE + + src.slot = slot + src.attach_features_flags = attach_features_flags + src.valid_parent_types = valid_parent_types + src.on_attach = on_attach + src.on_detach = on_detach + src.on_toggle = on_toggle + src.on_preattack = on_preattack + + ADD_TRAIT(parent, TRAIT_ATTACHABLE, "attachable") + RegisterSignal(parent, COMSIG_ATTACHMENT_ATTACH, PROC_REF(try_attach)) + RegisterSignal(parent, COMSIG_ATTACHMENT_DETACH, PROC_REF(try_detach)) + RegisterSignal(parent, COMSIG_ATTACHMENT_EXAMINE, PROC_REF(handle_examine)) + RegisterSignal(parent, COMSIG_ATTACHMENT_EXAMINE_MORE, PROC_REF(handle_examine_more)) + if(attach_features_flags & ATTACH_TOGGLE) + RegisterSignal(parent, COMSIG_ATTACHMENT_TOGGLE, PROC_REF(try_toggle)) + attachment_toggle_action = new /datum/action/attachment(parent) + RegisterSignal(parent, COMSIG_ATTACHMENT_PRE_ATTACK, PROC_REF(relay_pre_attack)) + RegisterSignal(parent, COMSIG_ATTACHMENT_UPDATE_OVERLAY, PROC_REF(update_overlays)) + RegisterSignal(parent, COMSIG_ATTACHMENT_GET_SLOT, PROC_REF(send_slot)) + + for(var/signal in signals) + RegisterSignal(parent, signal, signals[signal]) + +/datum/component/attachment/Destroy(force) + REMOVE_TRAIT(parent, TRAIT_ATTACHABLE, "attachable") + if(actions && length(actions)) + var/obj/item/gun/parent = src.parent + parent.actions -= actions + QDEL_LIST(actions) + qdel(attachment_toggle_action) + return ..() + +/datum/component/attachment/proc/try_toggle(obj/item/parent, obj/item/holder, mob/user) + SIGNAL_HANDLER + if(attach_features_flags & ATTACH_TOGGLE) + INVOKE_ASYNC(src, PROC_REF(do_toggle), parent, holder, user) + holder.update_icon() + attachment_toggle_action.UpdateButtonIcon() + +/datum/component/attachment/proc/do_toggle(obj/item/parent, obj/item/holder, mob/user) + if(on_toggle) + on_toggle.Invoke(holder, user) + return TRUE + + parent.attack_self(user) + return TRUE + +/datum/component/attachment/proc/update_overlays(obj/item/attachment/parent, list/overlays, list/offset) + if(!(attach_features_flags & ATTACH_NO_SPRITE)) + var/overlay_layer = FLOAT_LAYER + var/overlay_plane = FLOAT_PLANE + if(parent.render_layer) + overlay_layer = parent.render_layer + if(parent.render_plane) + overlay_layer = parent.render_plane + overlays += mutable_appearance(parent.icon, "[parent.icon_state]-attached",overlay_layer,overlay_plane) + +/datum/component/attachment/proc/try_attach(obj/item/parent, obj/item/holder, mob/user, bypass_checks) + SIGNAL_HANDLER + + if(!bypass_checks) + if(!parent.Adjacent(user) || (length(valid_parent_types) && (holder.type in valid_parent_types))) + return FALSE + + if(on_attach && !on_attach.Invoke(holder, user)) + return FALSE + + parent.forceMove(holder) + + if(attach_features_flags & ATTACH_TOGGLE) + holder.actions += list(attachment_toggle_action) + attachment_toggle_action.gun = holder + attachment_toggle_action.Grant(user) + + return TRUE + +/datum/component/attachment/proc/try_detach(obj/item/parent, obj/item/holder, mob/user) + SIGNAL_HANDLER + + if(!parent.Adjacent(user) || (valid_parent_types && (holder.type in valid_parent_types))) + return FALSE + + if(on_attach && !on_detach.Invoke(holder, user)) + return FALSE + + if(attach_features_flags & ATTACH_TOGGLE) + holder.actions -= list(attachment_toggle_action) + attachment_toggle_action.gun = null + attachment_toggle_action.Remove(user) + + if(user.can_put_in_hand(parent)) + user.put_in_hand(parent) + return TRUE + + parent.forceMove(holder.drop_location()) + return TRUE + +/datum/component/attachment/proc/handle_examine(obj/item/parent, mob/user, list/examine_list) + SIGNAL_HANDLER + +/datum/component/attachment/proc/handle_examine_more(obj/item/parent, mob/user, list/examine_list) + SIGNAL_HANDLER + +/datum/component/attachment/proc/relay_pre_attack(obj/item/parent, obj/item/gun, atom/target_atom, mob/user, params) + SIGNAL_HANDLER_DOES_SLEEP + + if(on_preattack) + return on_preattack.Invoke(gun, target_atom, user, params) + +/datum/component/attachment/proc/send_slot(obj/item/parent) + SIGNAL_HANDLER + return attachment_slot_to_bflag(slot) + +/datum/action/attachment + name = "Toggle Attachment" + check_flags = AB_CHECK_HANDS_BLOCKED|AB_CHECK_CONSCIOUS + button_icon_state = null + ///Decides where we send our toggle signal for when pressed + var/obj/item/gun/gun = null + +/datum/action/attachment/New(Target) + ..() + name = "Toggle [target.name]" + button.name = name + icon_icon = target.icon + button_icon_state = target.icon_state + +/datum/action/attachment/Destroy() + . = ..() + gun = null + +/datum/action/attachment/Trigger() + ..() + SEND_SIGNAL(target, COMSIG_ATTACHMENT_TOGGLE, gun, owner) + +/datum/action/attachment/UpdateButtonIcon() + icon_icon = target.icon + button_icon_state = target.icon_state + ..() + +//Copied from item action.. +/datum/action/attachment/ApplyIcon(atom/movable/screen/movable/action_button/current_button, force) + if(button_icon && button_icon_state) + // If set, use the custom icon that we set instead + // of the item appearence + ..() + else if((target && current_button.appearance_cache != target.appearance) || force) //replace with /ref comparison if this is not valid. + var/obj/item/I = target + var/old_layer = I.layer + var/old_plane = I.plane + I.layer = FLOAT_LAYER //AAAH + I.plane = FLOAT_PLANE //^ what that guy said + current_button.cut_overlays() + current_button.add_overlay(I) + I.layer = old_layer + I.plane = old_plane + current_button.appearance_cache = I.appearance diff --git a/code/datums/components/attachment_holder.dm b/code/datums/components/attachment_holder.dm new file mode 100644 index 00000000000..f83a55eb201 --- /dev/null +++ b/code/datums/components/attachment_holder.dm @@ -0,0 +1,188 @@ +/datum/component/attachment_holder + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + + ///List of things you can attach to the parent + var/list/valid_types = null + ///How many slots a parent can hold of any one slot + var/list/slot_room = null + ///Icon offsets, should match the sprite itself so just find the position where it should attach + var/list/slot_offsets = null + var/list/obj/item/attachments = list() + +/datum/component/attachment_holder/Initialize( + list/slot_room = null, + list/valid_types = null, + list/slot_offsets = null, + list/default_attachments = null + ) + + if(!isgun(parent)) + return COMPONENT_INCOMPATIBLE + var/obj/item/gun/parent_gun = parent + + src.slot_room = slot_room + src.valid_types = valid_types + src.slot_offsets = slot_offsets + + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(handle_attack)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(handle_examine)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE_MORE, PROC_REF(handle_examine_more)) + RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(handle_qdel)) + RegisterSignal(parent, COMSIG_ITEM_PRE_ATTACK, PROC_REF(handle_item_pre_attack)) + RegisterSignal(parent, COMSIG_CLICK_CTRL_SHIFT, PROC_REF(handle_ctrl_shift_click)) + RegisterSignal(parent, COMSIG_CLICK_ALT, PROC_REF(handle_alt_click)) + RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(handle_overlays)) + + if(length(default_attachments)) + for(var/attachment in default_attachments) + var/obj/item/attachment/new_attachment = new attachment(parent_gun.loc) + INVOKE_ASYNC(src, PROC_REF(do_attach), new_attachment, null, TRUE) + +/datum/component/attachment_holder/proc/handle_overlays(obj/item/parent, list/overlays) + SIGNAL_HANDLER + + for(var/obj/item/attachment/attach as anything in attachments) + var/slot = SEND_SIGNAL(attach, COMSIG_ATTACHMENT_GET_SLOT) + slot = attachment_slot_from_bflag(slot) + var/list/attach_overlays = list() + SEND_SIGNAL(attach, COMSIG_ATTACHMENT_UPDATE_OVERLAY, attach_overlays) + for(var/mutable_appearance/overlay as anything in attach_overlays) + if(slot_offsets && slot_offsets[slot]) + var/matrix/overlay_matrix = new + overlay_matrix.Translate(slot_offsets[slot]["x"] - attach.pixel_shift_x, slot_offsets[slot]["y"] - attach.pixel_shift_y) + overlay.transform = overlay_matrix + overlays += overlay + +/datum/component/attachment_holder/proc/handle_qdel() + SIGNAL_HANDLER + qdel(src) + +/datum/component/attachment_holder/Destroy(force) + QDEL_LIST(attachments) + attachments = null + return ..() + +/datum/component/attachment_holder/proc/attachments_to_list(only_toggles = FALSE) + . = list() + for(var/obj/item/attachment/attach as anything in attachments) + if(attach.name in .) + stack_trace("two attachments with same name; this shouldn't happen and will cause failures") + continue + if(only_toggles && !(attach.attach_features_flags & ATTACH_TOGGLE)) + continue + .[attach.name] = attach + +/datum/component/attachment_holder/proc/handle_ctrl_shift_click(obj/item/parent, mob/user) + SIGNAL_HANDLER + + INVOKE_ASYNC(src, PROC_REF(do_attachment_radial), parent, user) + +/datum/component/attachment_holder/proc/handle_alt_click(obj/item/parent, mob/user) + SIGNAL_HANDLER + + INVOKE_ASYNC(src, PROC_REF(handle_detach), parent, user) + +/datum/component/attachment_holder/proc/do_attachment_radial(obj/item/parent, mob/user) + var/list/attachments_as_list = attachments_to_list(TRUE) + var/selection = show_radial_menu(user, parent, attachments_as_list) + var/obj/item/attach = attachments_as_list[selection] + if(!attach) + return + SEND_SIGNAL(attach, COMSIG_ATTACHMENT_TOGGLE, parent, user) + +/datum/component/attachment_holder/proc/handle_examine(obj/item/parent, mob/user, list/examine_list) + if(length(attachments)) + examine_list += span_notice("It has [length(attachments)] attachment\s.") + for(var/obj/item/attach as anything in attachments) + SEND_SIGNAL(attach, COMSIG_ATTACHMENT_EXAMINE, user, examine_list) + +/datum/component/attachment_holder/proc/handle_examine_more(obj/item/parent, mob/user, list/examine_list) + for(var/key in slot_room) + if(slot_room[key]) + examine_list += span_notice("It has [slot_room[key]] slot\s free for [key] attachments.") + if(length(attachments)) + examine_list += span_notice("It has the following attachments:") + for(var/obj/item/attach as anything in attachments) + examine_list += span_notice("\t- [attach.name]") + if(length(valid_types)) + examine_list += span_notice("It can accept:") + for(var/obj/attach_type as anything in valid_types) + examine_list += span_notice("\t- [initial(attach_type.name)]") + for(var/obj/item/attach as anything in attachments) + SEND_SIGNAL(attach, COMSIG_ATTACHMENT_EXAMINE_MORE, user, examine_list) + +/datum/component/attachment_holder/proc/do_attach(obj/item/attachment, mob/user, bypass_checks) + var/slot = SEND_SIGNAL(attachment, COMSIG_ATTACHMENT_GET_SLOT) + slot = attachment_slot_from_bflag(slot) + if(!(attachment.type in valid_types)) + to_chat(user, span_notice("[attachment] is not a valid attachment for this [parent]!")) + return + if(!slot_room[slot]) + to_chat(user, span_notice("[parent] does not contain room for [attachment]!")) + return + slot_room[slot]-- + . = SEND_SIGNAL(attachment, COMSIG_ATTACHMENT_ATTACH, parent, user, bypass_checks) + if(.) + attachments += attachment + var/atom/parent = src.parent + parent.update_icon() + +/datum/component/attachment_holder/proc/do_detach(obj/item/attachment, mob/user) + var/slot = SEND_SIGNAL(attachment, COMSIG_ATTACHMENT_GET_SLOT) + slot = attachment_slot_from_bflag(slot) + if(slot in slot_room) + slot_room[slot]++ + . = SEND_SIGNAL(attachment, COMSIG_ATTACHMENT_DETACH, parent, user) + if(.) + attachments -= attachment + var/atom/parent = src.parent + parent.update_icon() + +/datum/component/attachment_holder/proc/handle_detach(obj/item/parent, mob/user, obj/item/tool) + var/list/tool_list = list() + var/list/hand_list = list() + for(var/obj/item/attachment/attach as anything in attachments) + if(attach.attach_features_flags & ATTACH_REMOVABLE_TOOL) + tool_list[attach.name] = attach + if(attach.attach_features_flags & ATTACH_REMOVABLE_HAND) + hand_list[attach.name] = attach + if(tool) + if(!length(tool_list)) + return + var/selected = tgui_input_list(user, "Select Attachment", "Detach", tool_list) + if(!parent.Adjacent(user) || !selected || !tool || !tool.use_tool(parent, user, 2 SECONDS * tool.toolspeed)) + return + do_detach(tool_list[selected], user) + else + if(!length(hand_list)) + return + var/selected = tgui_input_list(user, "Select Attachment", "Detach", hand_list) + if(do_after(user, 2 SECONDS, parent)) + do_detach(hand_list[selected], user) + + +/datum/component/attachment_holder/proc/handle_attack(obj/item/parent, obj/item/item, mob/user) + SIGNAL_HANDLER + + if(!user.Adjacent(parent)) + return + + if(item.tool_behaviour == TOOL_CROWBAR && length(attachments)) + INVOKE_ASYNC(src, PROC_REF(handle_detach), parent, user, item) + return TRUE + + if(HAS_TRAIT(item, TRAIT_ATTACHABLE)) + INVOKE_ASYNC(src, PROC_REF(do_attach), item, user) + return TRUE + + for(var/obj/item/attach as anything in attachments) + if(SEND_SIGNAL(attach, COMSIG_ATTACHMENT_ATTACK, parent, item, user)) + parent.update_icon() + return TRUE + +/datum/component/attachment_holder/proc/handle_item_pre_attack(obj/item/parent, atom/target_atom, mob/user, params) + SIGNAL_HANDLER + + for(var/obj/item/attach as anything in attachments) + if(SEND_SIGNAL(attach, COMSIG_ATTACHMENT_PRE_ATTACK, parent, target_atom, user, params)) + return TRUE diff --git a/code/datums/components/bandage.dm b/code/datums/components/bandage.dm index 16f6a2f0b05..05a31ec4ee3 100644 --- a/code/datums/components/bandage.dm +++ b/code/datums/components/bandage.dm @@ -41,7 +41,7 @@ SIGNAL_HANDLER var/obj/item/bodypart/heal_target = parent - lifespan -= 1 + heal_target.bleeding // particularly nasty bleeding can burn through dressing faster + lifespan-- heal_target.adjust_bleeding(-bleed_reduction) if(lifespan <= 0 || !heal_target.bleeding) //remove treatment once it's no longer able to treat drop_bandage(TRUE) diff --git a/code/datums/components/bloodysoles.dm b/code/datums/components/bloodysoles.dm index 03afc96182d..2619af5496f 100644 --- a/code/datums/components/bloodysoles.dm +++ b/code/datums/components/bloodysoles.dm @@ -213,16 +213,20 @@ Like its parent but can be applied to carbon mobs instead of clothing items */ /datum/component/bloodysoles/feet - var/static/mutable_appearance/bloody_feet + var/mutable_appearance/bloody_feet /datum/component/bloodysoles/feet/Initialize() if(!iscarbon(parent)) return COMPONENT_INCOMPATIBLE parent_atom = parent wielder = parent - if(!bloody_feet) - bloody_feet = mutable_appearance('icons/effects/blood.dmi', "shoeblood", SHOES_LAYER) + var/overlay_file = 'icons/effects/blood.dmi' + var/mob/living/carbon/parent_carbon = parent_atom + var/custom_overlay_icon = parent_carbon.dna.species.custom_overlay_icon + if(custom_overlay_icon) + overlay_file = custom_overlay_icon + bloody_feet = mutable_appearance(overlay_file, "shoeblood", SHOES_LAYER) RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(on_clean)) RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) diff --git a/code/datums/components/cell_component.dm b/code/datums/components/cell_component.dm new file mode 100644 index 00000000000..6855e667f43 --- /dev/null +++ b/code/datums/components/cell_component.dm @@ -0,0 +1,195 @@ +/* +CELL COMPONENT + +What we aim to achieve with cell components is a universal framework for all items that would logically use batteries, +Be it a flashlight, T-ray scanner or multitool. All of them would logically require batteries right? Well, welcome, +to the cell component. + +General logic: +Component attaches to parent(flashlight etc) +Registers onhit signal to check if it's being slapped by a battery +Component moves battery to equipment loc, keeps a record, and then communicates with +the equipment and controls the behaviour of said equipment. + +If you are adding this to an item that is active for a period of time, register signal to COMSIG_CELL_START_USE when it would start using the cell +and COMSIG_CELL_STOP_USE when it should stop. To handle the turning off of said item once the cell is depleted, add your code into the +component_cell_out_of_charge/component_cell_removed proc using loc where necessary, processing is done in the component! + +The cells are removed from objects with the component through alt-click. +*/ + +/datum/component/cell + /// Our reference to the inserted cell, which will be stored in the parent. + var/obj/item/stock_parts/cell/inserted_cell + /// The item reference to parent. + var/obj/item/equipment + /// How much power do we use each process? + var/power_use_amount = POWER_CELL_USE_NORMAL + /// Callback interaction for when the cell is removed. + var/datum/callback/on_cell_removed = null + ///Can this cell be removed from the parent? + var/cell_can_be_removed = TRUE + ///Our reference to the cell overlay + var/mutable_appearance/cell_overlay = null + ///Do we have cell overlays to be applied? + var/has_cell_overlays + +/datum/component/cell/Initialize(cell_override, _on_cell_removed, _power_use_amount, start_with_cell = TRUE, _cell_can_be_removed, _has_cell_overlays = TRUE) + if(QDELETED(parent)) + qdel(src) + return + + if(!isitem(parent)) //Currently only compatable with items. + return COMPONENT_INCOMPATIBLE + + equipment = parent //We'd like a simple reference to the atom this component is attached to instead of having to declare it every time we use it. + + if(_on_cell_removed) + src.on_cell_removed = _on_cell_removed + + has_cell_overlays = _has_cell_overlays + + if(_power_use_amount) + power_use_amount = _power_use_amount + else + power_use_amount = equipment.power_use_amount + + if(_cell_can_be_removed) + cell_can_be_removed = _cell_can_be_removed + + if(start_with_cell) + var/obj/item/stock_parts/cell/new_cell + if(!cell_override) + new_cell = new /obj/item/stock_parts/cell/upgraded() + else + new_cell = new cell_override() + inserted_cell = new_cell + new_cell.forceMove(parent) //We use the parents location so things like EMP's can interact with the cell. + + handle_cell_overlays() + return ..() + +/datum/component/cell/RegisterWithParent() + //Component to Parent signal registries + RegisterSignal(parent, COMSIG_ITEM_POWER_USE, PROC_REF(simple_power_use)) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(insert_cell)) + RegisterSignal(parent, COMSIG_CLICK_ALT , PROC_REF(remove_cell)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine_cell)) + +/datum/component/cell/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_ITEM_POWER_USE) + UnregisterSignal(parent, COMSIG_PARENT_ATTACKBY) + UnregisterSignal(parent, COMSIG_CLICK_ALT) + UnregisterSignal(parent, COMSIG_PARENT_EXAMINE) + +/datum/component/cell/Destroy(force) + + if(on_cell_removed) + on_cell_removed = null + + if(inserted_cell) + QDEL_NULL(inserted_cell) + inserted_cell = null + return ..() + +/** + * The basic way of processing the cell, with included feedback. + * + * This proc is the basic way of processing the cell, with included feedback. + * It will return a bitflag if it failed to use the power, or COMPONENT_POWER_SUCCESS if it succeeds. + * Arguments: + * * use_amount - an override + * * check_only - will only return if it can use the cell and feedback relating to that including any relevant detail + */ +/datum/component/cell/proc/simple_power_use(datum/source, use_amount, mob/user, check_only) + SIGNAL_HANDLER + + if(!use_amount) + use_amount = power_use_amount + + if(!inserted_cell) + if(user) + to_chat(user, span_danger("There is no cell inside [equipment]")) + return COMPONENT_NO_CELL + + if(check_only && inserted_cell.charge < use_amount) + if(user) + to_chat(user, span_danger("The cell inside [equipment] does not have enough charge to perform this action!")) + return COMPONENT_NO_CHARGE + + if(!inserted_cell.use(use_amount)) + inserted_cell.update_appearance() //Updates the attached cell sprite - Why does this not happen in cell.use? + if(user) + to_chat(user, span_danger("The cell inside [equipment] does not have enough charge to perform this action!")) + return COMPONENT_NO_CHARGE + + inserted_cell.update_appearance() + + return COMPONENT_POWER_SUCCESS + +/datum/component/cell/proc/examine_cell(atom/A, mob/user, list/examine_list) + SIGNAL_HANDLER + + if(!inserted_cell) + examine_list += span_danger("It does not have a cell inserted!") + else + examine_list += span_notice("It has a [inserted_cell] inserted. \ + The cell has [inserted_cell.percent()]% charge remaining. \ + Alt-click to remove the cell.") + +/// Handling of cell removal. +/datum/component/cell/proc/remove_cell(datum/source, mob/user) + SIGNAL_HANDLER + if(!equipment.can_interact(user)) + return + + if(!cell_can_be_removed) + return + + if(!isliving(user)) + return + + if(inserted_cell) + to_chat(user, span_notice("You remove [inserted_cell] from [equipment].")) + playsound(equipment, 'sound/weapons/magout.ogg', 40, TRUE) + inserted_cell.forceMove(get_turf(equipment)) + INVOKE_ASYNC(user, TYPE_PROC_REF(/mob/living, put_in_hands), inserted_cell) + inserted_cell = null + if(on_cell_removed) + on_cell_removed.Invoke() + handle_cell_overlays(TRUE) + else + to_chat(user, span_danger("There is no cell in [equipment]!")) + +/// Handling of cell insertion. +/datum/component/cell/proc/insert_cell(datum/source, obj/item/inserting_item, mob/living/user, params) + SIGNAL_HANDLER + if(!equipment.can_interact(user)) + return + + if(!istype(inserting_item, /obj/item/stock_parts/cell)) + return + + if(inserted_cell) //No quickswap compatibility + to_chat(user, span_danger("There is already a cell in [equipment]!")) + return + + to_chat(user, span_notice("You connect [inserting_item] onto [equipment].")) + playsound(equipment, 'sound/weapons/magin.ogg', 40, TRUE) + inserted_cell = inserting_item + inserting_item.forceMove(parent) + handle_cell_overlays(FALSE) + +/datum/component/cell/proc/handle_cell_overlays(update_overlays) + if(!has_cell_overlays) + return + + if(inserted_cell) + cell_overlay = mutable_appearance(equipment.icon, "[initial(equipment.icon_state)]_cell") + equipment.add_overlay(cell_overlay) + else + QDEL_NULL(cell_overlay) + cell_overlay = null + if(update_overlays) + equipment.overlays.Cut() + equipment.update_overlays() diff --git a/code/datums/components/chasm.dm b/code/datums/components/chasm.dm index f18002a05bd..728a3bd44b8 100644 --- a/code/datums/components/chasm.dm +++ b/code/datums/components/chasm.dm @@ -18,8 +18,6 @@ /obj/effect/hotspot, /obj/effect/landmark, /obj/effect/temp_visual, - /obj/effect/light_emitter/tendril, - /obj/effect/collapse, /obj/effect/particle_effect/ion_trails, /obj/effect/dummy/phased_mob, /obj/effect/mapping_helpers, diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm index df5ae1319c2..e7d0ebaace6 100644 --- a/code/datums/components/crafting/crafting.dm +++ b/code/datums/components/crafting/crafting.dm @@ -23,7 +23,6 @@ ), CAT_ROBOT = CAT_NONE, CAT_MISC = CAT_NONE, - CAT_PRIMAL = CAT_NONE, CAT_FOOD = list( CAT_BREAD, CAT_BURGER, diff --git a/code/datums/components/crafting/recipes/clothing.dm b/code/datums/components/crafting/recipes/clothing.dm index 95b37502bca..1aa1570df41 100644 --- a/code/datums/components/crafting/recipes/clothing.dm +++ b/code/datums/components/crafting/recipes/clothing.dm @@ -181,12 +181,35 @@ result = /obj/item/clothing/gloves/tackler/offbrand category = CAT_CLOTHING -/datum/crafting_recipe/scrap_armor - name = "Scrap Armor" - result = /obj/item/clothing/suit/armor/vest/scrap_armor - time = 60 - reqs = list( - /obj/item/stack/sheet/metal = 10, - /obj/item/stack/cable_coil = 20, - ) +/datum/crafting_recipe/bonearmlet + name = "Bone Armlet" + result = /obj/item/clothing/accessory/bonearmlet + time = 20 + reqs = list(/obj/item/stack/sheet/bone = 2, + /obj/item/stack/sheet/sinew = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/fangnecklace + name = "Wolf Fang Necklace" + result = /obj/item/clothing/neck/fangnecklace + time = 20 + reqs = list(/obj/item/stack/sheet/sinew = 2, + /obj/item/mob_trophy/fang = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/goliathcloak + name = "Goliath Cloak" + result = /obj/item/clothing/suit/hooded/cloak/goliath + time = 50 + reqs = list(/obj/item/stack/sheet/leather = 2, + /obj/item/stack/sheet/sinew = 2, + /obj/item/stack/sheet/animalhide/goliath_hide = 2) //it takes 4 goliaths to make 1 cloak if the plates are skinned + category = CAT_CLOTHING + +/datum/crafting_recipe/hunterbelt + name = "Hunters Belt" + result = /obj/item/storage/belt/mining/primitive + time = 20 + reqs = list(/obj/item/stack/sheet/sinew = 2, + /obj/item/stack/sheet/animalhide/goliath_hide = 2) category = CAT_CLOTHING diff --git a/code/datums/components/crafting/recipes/misc.dm b/code/datums/components/crafting/recipes/misc.dm index 0ed4acb5be7..fd89bd141ea 100644 --- a/code/datums/components/crafting/recipes/misc.dm +++ b/code/datums/components/crafting/recipes/misc.dm @@ -50,16 +50,6 @@ reqs = list(/obj/item/paper = 5) category = CAT_MISC -/datum/crafting_recipe/flashlight_eyes - name = "Flashlight Eyes" - result = /obj/item/organ/eyes/robotic/flashlight - time = 10 - reqs = list( - /obj/item/flashlight = 2, - /obj/item/restraints/handcuffs/cable = 1 - ) - category = CAT_MISC - /datum/crafting_recipe/paperframes name = "Paper Frames" result = /obj/item/stack/sheet/paperframes/five @@ -87,12 +77,6 @@ result = /obj/structure/curtain category = CAT_MISC -/datum/crafting_recipe/extendohand - name = "Extendo-Hand" - reqs = list(/obj/item/bodypart/r_arm/robot = 1, /obj/item/clothing/gloves/boxing = 1) - result = /obj/item/extendohand - category = CAT_MISC - /datum/crafting_recipe/pressureplate name = "Pressure Plate" result = /obj/item/pressure_plate @@ -104,23 +88,13 @@ category = CAT_MISC /datum/crafting_recipe/rcl - name = "Makeshift Rapid Pipe Cleaner Layer" + name = "Makeshift Rapid Cable Layer" result = /obj/item/rcl/ghetto time = 40 tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) reqs = list(/obj/item/stack/sheet/metal = 15) category = CAT_MISC -/datum/crafting_recipe/guillotine - name = "Guillotine" - result = /obj/structure/guillotine - time = 150 // Building a functioning guillotine takes time - reqs = list(/obj/item/stack/sheet/plasteel = 3, - /obj/item/stack/sheet/mineral/wood = 20, - /obj/item/stack/cable_coil = 10) - tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER) - category = CAT_MISC - /datum/crafting_recipe/ghettojetpack name = "Improvised Jetpack" result = /obj/item/tank/jetpack/improvised @@ -141,7 +115,7 @@ name = "Improvised Pickaxe" reqs = list( /obj/item/crowbar = 1, - /obj/item/kitchen/knife = 1, + /obj/item/melee/knife/kitchen = 1, /obj/item/stack/tape = 1) result = /obj/item/pickaxe/improvised category = CAT_MISC @@ -204,17 +178,49 @@ /obj/item/aquarium_kit = 1) category = CAT_MISC -/datum/crafting_recipe/mothplush - name = "Moth Plushie" - result = /obj/item/toy/plush/moth - reqs = list(/obj/item/stack/sheet/animalhide/mothroach = 1, - /obj/item/organ/heart = 1, - /obj/item/stack/sheet/cotton/cloth = 3) - category = CAT_MISC - /datum/crafting_recipe/candorupgrade name = "Candor Upgrade" result = /obj/item/gun/ballistic/automatic/pistol/candor/phenex reqs = list(/obj/item/stack/sheet/mineral/hidden = 4, /obj/item/gun/ballistic/automatic/pistol/candor = 1) category = CAT_MISC + +/datum/crafting_recipe/bonfire + name = "Bonfire" + time = 60 + reqs = list(/obj/item/grown/log = 5) + parts = list(/obj/item/grown/log = 5) + blacklist = list(/obj/item/grown/log/steel) + result = /obj/structure/bonfire + category = CAT_MISC + +/datum/crafting_recipe/distiller + name = "Distiller" + result = /obj/structure/fermenting_barrel/distiller + reqs = list(/obj/item/stack/sheet/mineral/wood = 8, /obj/item/stack/sheet/metal = 5, /datum/reagent/srm_bacteria = 30) + time = 50 + category = CAT_MISC + +/datum/crafting_recipe/charcoal_stylus + name = "Charcoal Stylus" + result = /obj/item/pen/charcoal + reqs = list(/obj/item/stack/sheet/mineral/wood = 1, /datum/reagent/ash = 30) + time = 30 + category = CAT_MISC + +/datum/crafting_recipe/mushroom_bowl + name = "Mushroom Bowl" + result = /obj/item/reagent_containers/glass/bowl/mushroom_bowl + reqs = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings = 5) + time = 30 + category = CAT_MISC + +/datum/crafting_recipe/chainsaw + name = "Chainsaw" + result = /obj/item/chainsaw + reqs = list(/obj/item/circular_saw = 1, + /obj/item/stack/cable_coil = 3, + /obj/item/stack/sheet/plasteel = 5) + tools = list(TOOL_WELDER) + time = 50 + category = CAT_MISC diff --git a/code/datums/components/crafting/recipes/robot.dm b/code/datums/components/crafting/recipes/robot.dm index a5558682e86..cab33ef5f79 100644 --- a/code/datums/components/crafting/recipes/robot.dm +++ b/code/datums/components/crafting/recipes/robot.dm @@ -55,16 +55,6 @@ time = 40 category = CAT_ROBOT -/datum/crafting_recipe/honkbot - name = "Honkbot" - result = /mob/living/simple_animal/bot/honkbot - reqs = list(/obj/item/storage/box/clown = 1, - /obj/item/bodypart/r_arm/robot = 1, - /obj/item/assembly/prox_sensor = 1, - /obj/item/bikehorn/ = 1) - time = 40 - category = CAT_ROBOT - /datum/crafting_recipe/Firebot name = "Firebot" result = /mob/living/simple_animal/bot/firebot diff --git a/code/datums/components/crafting/recipes/tribal.dm b/code/datums/components/crafting/recipes/tribal.dm deleted file mode 100644 index c831b85d787..00000000000 --- a/code/datums/components/crafting/recipes/tribal.dm +++ /dev/null @@ -1,234 +0,0 @@ -/datum/crafting_recipe/bonearmlet - name = "Bone Armlet" - result = /obj/item/clothing/accessory/bonearmlet - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 2, - /obj/item/stack/sheet/sinew = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/fangnecklace - name = "Wolf Fang Necklace" - result = /obj/item/clothing/neck/fangnecklace - time = 20 - reqs = list(/obj/item/stack/sheet/sinew = 2, - /obj/item/mob_trophy/fang = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonecodpiece - name = "Skull Codpiece" - result = /obj/item/clothing/accessory/skullcodpiece - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 2, - /obj/item/mob_trophy/legion_skull = 1, - /obj/item/stack/sheet/animalhide/goliath_hide = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/skilt - name = "Sinew Kilt" - result = /obj/item/clothing/accessory/skilt - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 1, - /obj/item/stack/sheet/sinew = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/bracers - name = "Bone Bracers" - result = /obj/item/clothing/gloves/bracer - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 2, - /obj/item/stack/sheet/sinew = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/goliathcloak - name = "Goliath Cloak" - result = /obj/item/clothing/suit/hooded/cloak/goliath - time = 50 - reqs = list(/obj/item/stack/sheet/leather = 2, - /obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/goliath_hide = 2) //it takes 4 goliaths to make 1 cloak if the plates are skinned - category = CAT_PRIMAL - -/datum/crafting_recipe/drakecloak - name = "Ash Drake Armour" - result = /obj/item/clothing/suit/hooded/cloak/drake - time = 60 - reqs = list(/obj/item/stack/sheet/bone = 10, - /obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/ashdrake = 5) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonespear - name = "Bone Spear" - result = /obj/item/spear/bonespear - time = 30 - reqs = list(/obj/item/stack/sheet/bone = 4, - /obj/item/stack/sheet/sinew = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/boneaxe - name = "Bone Axe" - result = /obj/item/fireaxe/boneaxe - time = 50 - reqs = list(/obj/item/stack/sheet/bone = 6, - /obj/item/stack/sheet/sinew = 3) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonfire - name = "Bonfire" - time = 60 - reqs = list(/obj/item/grown/log = 5) - parts = list(/obj/item/grown/log = 5) - blacklist = list(/obj/item/grown/log/steel) - result = /obj/structure/bonfire - category = CAT_PRIMAL - -/datum/crafting_recipe/headpike - name = "Spike Head (Glass Spear)" - time = 65 - reqs = list(/obj/item/spear = 1, - /obj/item/bodypart/head = 1) - parts = list(/obj/item/bodypart/head = 1, - /obj/item/spear = 1) - blacklist = list(/obj/item/spear/explosive, /obj/item/spear/bonespear) - result = /obj/structure/headpike - category = CAT_PRIMAL - -/datum/crafting_recipe/headpikebone - name = "Spike Head (Bone Spear)" - time = 65 - reqs = list(/obj/item/spear/bonespear = 1, - /obj/item/bodypart/head = 1) - parts = list(/obj/item/bodypart/head = 1, - /obj/item/spear/bonespear = 1) - result = /obj/structure/headpike/bone - category = CAT_PRIMAL - -/datum/crafting_recipe/lasso - name = "Bone Lasso" - reqs = list( - /obj/item/stack/sheet/bone = 1, - /obj/item/stack/sheet/sinew = 5) - result = /obj/item/key/lasso - category = CAT_PRIMAL - -/datum/crafting_recipe/heavybonearmor - name = "Heavy Bone Armor" - result = /obj/item/clothing/suit/hooded/cloak/bone - time = 60 - reqs = list(/obj/item/stack/sheet/bone = 8, - /obj/item/stack/sheet/sinew = 3) - category = CAT_PRIMAL - -/datum/crafting_recipe/watcherbola - name = "Watcher Bola" - result = /obj/item/restraints/legcuffs/bola/watcher - time = 30 - reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide = 2, - /obj/item/restraints/handcuffs/cable/sinew = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/goliathshield - name = "Goliath shield" - result = /obj/item/shield/riot/goliath - time = 60 - reqs = list(/obj/item/stack/sheet/bone = 4, - /obj/item/stack/sheet/animalhide/goliath_hide = 3) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonesword - name = "Bone Sword" - result = /obj/item/claymore/bone - time = 40 - reqs = list(/obj/item/stack/sheet/bone = 3, - /obj/item/stack/sheet/sinew = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/hunterbelt - name = "Hunters Belt" - result = /obj/item/storage/belt/mining/primitive - time = 20 - reqs = list(/obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/goliath_hide = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/quiver - name = "Quiver" - result = /obj/item/storage/bag/quiver/empty - time = 80 - reqs = list(/obj/item/stack/sheet/leather = 3, - /obj/item/stack/sheet/sinew = 4) - category = CAT_PRIMAL - -/datum/crafting_recipe/bone_bow - name = "Bone Bow" - result = /obj/item/gun/ballistic/bow/ashen - time = 200 - reqs = list(/obj/item/stack/sheet/bone = 8, - /obj/item/stack/sheet/sinew = 4) - category = CAT_PRIMAL - -/datum/crafting_recipe/polarbearcloak - name = "Polar Cloak" - result = /obj/item/clothing/suit/hooded/cloak/goliath/polar - time = 50 - reqs = list(/obj/item/stack/sheet/leather = 2, - /obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/goliath_hide/polar_bear_hide = 2) - blacklist = list(/obj/item/stack/sheet/animalhide/goliath_hide) - category = CAT_PRIMAL - -/datum/crafting_recipe/distiller - name = "Distiller" - result = /obj/structure/fermenting_barrel/distiller - reqs = list(/obj/item/stack/sheet/mineral/wood = 8, /obj/item/stack/sheet/metal = 5, /datum/reagent/srm_bacteria = 30) - time = 50 - category = CAT_PRIMAL - -/datum/crafting_recipe/crystalamulet - name = "Crystal Amulet" - result = /obj/item/clothing/neck/crystal_amulet - time = 4 SECONDS - reqs = list(/obj/item/strange_crystal = 3) - category = CAT_PRIMAL - -/datum/crafting_recipe/crystalspear - name = "Crystal Spear" - result = /obj/item/spear/crystal - time = 4 SECONDS - reqs = list(/obj/item/strange_crystal = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/mushroom_bowl - name = "Mushroom Bowl" - result = /obj/item/reagent_containers/glass/bowl/mushroom_bowl - reqs = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings = 5) - time = 30 - category = CAT_PRIMAL - -/datum/crafting_recipe/charcoal_stylus - name = "Charcoal Stylus" - result = /obj/item/pen/charcoal - reqs = list(/obj/item/stack/sheet/mineral/wood = 1, /datum/reagent/ash = 30) - time = 30 - category = CAT_PRIMAL - -/datum/crafting_recipe/mushroom_mortar - name = "Mushroom Mortar" - result = /obj/item/reagent_containers/glass/mortar/mushroom - reqs = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings = 5) - time = 30 - category = CAT_PRIMAL - -/datum/crafting_recipe/oar - name = "Goliath Bone Oar" - result = /obj/item/oar - reqs = list(/obj/item/stack/sheet/bone = 2) - time = 15 - category = CAT_PRIMAL - -/datum/crafting_recipe/boat - name = "Goliath Hide Boat" - result = /obj/vehicle/ridden/lavaboat - reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide = 3) - time = 50 - category = CAT_PRIMAL diff --git a/code/datums/components/crafting/recipes/weapon.dm b/code/datums/components/crafting/recipes/weapon.dm index c1dde04b365..039ff4fa486 100644 --- a/code/datums/components/crafting/recipes/weapon.dm +++ b/code/datums/components/crafting/recipes/weapon.dm @@ -10,18 +10,6 @@ category = CAT_WEAPONRY subcategory = CAT_WEAPON -/datum/crafting_recipe/lance - name = "Explosive Lance (Grenade)" - result = /obj/item/spear/explosive - reqs = list(/obj/item/spear = 1, - /obj/item/grenade = 1) - blacklist = list(/obj/item/spear/bonespear) - parts = list(/obj/item/spear = 1, - /obj/item/grenade = 1) - time = 15 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - /datum/crafting_recipe/strobeshield name = "Strobe Shield" result = /obj/item/shield/riot/flash @@ -38,7 +26,7 @@ /datum/crafting_recipe/molotov name = "Molotov" - result = /obj/item/reagent_containers/food/drinks/bottle/molotov + result = /obj/item/reagent_containers/food/drinks/molotov reqs = list(/obj/item/reagent_containers/glass/rag = 1, /obj/item/reagent_containers/food/drinks/bottle = 1) parts = list(/obj/item/reagent_containers/food/drinks/bottle = 1) @@ -56,17 +44,6 @@ category = CAT_WEAPONRY subcategory = CAT_WEAPON -/datum/crafting_recipe/teleprod - name = "Teleprod" - result = /obj/item/melee/baton/cattleprod/teleprod - reqs = list(/obj/item/restraints/handcuffs/cable = 1, - /obj/item/stack/rods = 1, - /obj/item/assembly/igniter = 1, - /obj/item/stack/ore/bluespace_crystal = 1) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - /datum/crafting_recipe/bola name = "Bola" result = /obj/item/restraints/legcuffs/bola @@ -76,16 +53,6 @@ category= CAT_WEAPONRY subcategory = CAT_WEAPON -/datum/crafting_recipe/gonbola - name = "Gonbola" - result = /obj/item/restraints/legcuffs/bola/gonbola - reqs = list(/obj/item/restraints/handcuffs/cable = 1, - /obj/item/stack/sheet/metal = 6, - /obj/item/stack/sheet/animalhide/gondola = 1) - time = 40 - category= CAT_WEAPONRY - subcategory = CAT_WEAPON - /datum/crafting_recipe/improvised_pneumatic_cannon //Pretty easy to obtain but name = "Pneumatic Cannon" result = /obj/item/pneumatic_cannon/ghetto @@ -97,19 +64,6 @@ category = CAT_WEAPONRY subcategory = CAT_WEAPON -/datum/crafting_recipe/flamethrower - name = "Flamethrower" - result = /obj/item/flamethrower - reqs = list(/obj/item/weldingtool = 1, - /obj/item/assembly/igniter = 1, - /obj/item/stack/rods = 1) - parts = list(/obj/item/assembly/igniter = 1, - /obj/item/weldingtool = 1) - tools = list(TOOL_SCREWDRIVER) - time = 10 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - /datum/crafting_recipe/meteorslug name = "Meteorslug Shell" result = /obj/item/ammo_casing/shotgun/meteorslug @@ -205,20 +159,9 @@ category = CAT_WEAPONRY subcategory = CAT_WEAPON -/datum/crafting_recipe/chainsaw - name = "Chainsaw" - result = /obj/item/chainsaw - reqs = list(/obj/item/circular_saw = 1, - /obj/item/stack/cable_coil = 3, - /obj/item/stack/sheet/plasteel = 5) - tools = list(TOOL_WELDER) - time = 50 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - /datum/crafting_recipe/spear name = "Spear" - result = /obj/item/spear + result = /obj/item/melee/spear reqs = list(/obj/item/restraints/handcuffs/cable = 1, /obj/item/shard = 1, /obj/item/stack/rods = 1) @@ -253,7 +196,7 @@ category = CAT_WEAPONRY subcategory = CAT_WEAPON -/datum/crafting_recipe/pipebow +/*/datum/crafting_recipe/pipebow name = "Pipe Bow" result = /obj/item/gun/ballistic/bow/pipe reqs = list(/obj/item/pipe = 5, @@ -300,7 +243,7 @@ /obj/item/stack/tile/bronze = 1, /obj/item/stack/sheet/silk = 1) category = CAT_WEAPONRY - subcategory = CAT_AMMO + subcategory = CAT_AMMO */ /datum/crafting_recipe/zip_pistol name = "Zip Pistol" @@ -315,3 +258,30 @@ time = 100 category = CAT_WEAPONRY subcategory = CAT_WEAPON + +/datum/crafting_recipe/bonespear + name = "Bone Spear" + result = /obj/item/melee/spear/bone + time = 30 + reqs = list(/obj/item/stack/sheet/bone = 4, + /obj/item/stack/sheet/sinew = 1) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/boneaxe + name = "Bone Axe" + result = /obj/item/melee/axe/bone + time = 50 + reqs = list(/obj/item/stack/sheet/bone = 6, + /obj/item/stack/sheet/sinew = 3) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/bonesword + name = "Bone Sword" + result = /obj/item/melee/sword/bone + time = 40 + reqs = list(/obj/item/stack/sheet/bone = 3, + /obj/item/stack/sheet/sinew = 2) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON diff --git a/code/datums/components/creamed.dm b/code/datums/components/creamed.dm index 019bb7362bd..c2cf5d07a28 100644 --- a/code/datums/components/creamed.dm +++ b/code/datums/components/creamed.dm @@ -39,7 +39,7 @@ GLOBAL_LIST_INIT(creamable, typecacheof(list( var/atom/A = parent A.add_overlay(creamface) -/datum/component/creamed/Destroy(force, silent) +/datum/component/creamed/Destroy(force) var/atom/A = parent A.cut_overlay(creamface) qdel(creamface) diff --git a/code/datums/components/deadchat_control.dm b/code/datums/components/deadchat_control.dm index f34960db107..6030214bf8b 100644 --- a/code/datums/components/deadchat_control.dm +++ b/code/datums/components/deadchat_control.dm @@ -24,7 +24,7 @@ notify_ghosts("[parent] is now deadchat controllable!", source = parent, action = NOTIFY_ORBIT, header="Something Interesting!") -/datum/component/deadchat_control/Destroy(force, silent) +/datum/component/deadchat_control/Destroy(force) inputs = null orbiters = null ckey_to_cooldown = null diff --git a/code/datums/components/dejavu.dm b/code/datums/components/dejavu.dm deleted file mode 100644 index b2a2cddf9c9..00000000000 --- a/code/datums/components/dejavu.dm +++ /dev/null @@ -1,107 +0,0 @@ -/** - * A component to reset the parent to its previous state after some time passes - */ -/datum/component/dejavu - /// The turf the parent was on when this components was applied, they get moved back here after the duration - var/turf/starting_turf - /// Determined by the type of the parent so different behaviours can happen per type - var/rewind_type - /// How many rewinds will happen before the effect ends - var/rewinds_remaining - /// How long to wait between each rewind - var/rewind_interval - - /// The starting value of clone loss at the beginning of the effect - var/clone_loss = 0 - /// The starting value of toxin loss at the beginning of the effect - var/tox_loss = 0 - /// The starting value of oxygen loss at the beginning of the effect - var/oxy_loss = 0 - /// The starting value of brain loss at the beginning of the effect - var/brain_loss = 0 - /// The starting value of brute loss at the beginning of the effect - /// This only applies to simple animals - var/brute_loss - /// The starting value of integrity at the beginning of the effect - /// This only applies to objects - var/integrity - /// A list of body parts saved at the beginning of the effect - var/list/datum/saved_bodypart/saved_bodyparts - -/datum/component/dejavu/Initialize(rewinds = 1, interval = 10 SECONDS) - if(!isatom(parent)) - return COMPONENT_INCOMPATIBLE - - starting_turf = get_turf(parent) - rewinds_remaining = rewinds - rewind_interval = interval - - if(isliving(parent)) - var/mob/living/L = parent - clone_loss = L.getCloneLoss() - tox_loss = L.getToxLoss() - oxy_loss = L.getOxyLoss() - brain_loss = L.getOrganLoss(ORGAN_SLOT_BRAIN) - rewind_type = PROC_REF(rewind_living) - - if(iscarbon(parent)) - var/mob/living/carbon/C = parent - saved_bodyparts = C.save_bodyparts() - rewind_type = PROC_REF(rewind_carbon) - - else if(isanimal(parent)) - var/mob/living/simple_animal/M = parent - brute_loss = M.bruteloss - rewind_type = PROC_REF(rewind_animal) - - else if(isobj(parent)) - var/obj/O = parent - integrity = O.obj_integrity - rewind_type = PROC_REF(rewind_obj) - - addtimer(CALLBACK(src, rewind_type), rewind_interval) - -/datum/component/dejavu/Destroy() - starting_turf = null - saved_bodyparts = null - return ..() - -/datum/component/dejavu/proc/rewind() - to_chat(parent, "You remember a time not so long ago...") - - //comes after healing so new limbs comically drop to the floor - if(starting_turf) - var/atom/movable/master = parent - master.forceMove(starting_turf) - - rewinds_remaining -- - if(rewinds_remaining) - addtimer(CALLBACK(src, rewind_type), rewind_interval) - else - to_chat(parent, "But the memory falls out of your reach.") - qdel(src) - -/datum/component/dejavu/proc/rewind_living() - var/mob/living/master = parent - master.setCloneLoss(clone_loss) - master.setToxLoss(tox_loss) - master.setOxyLoss(oxy_loss) - master.setOrganLoss(ORGAN_SLOT_BRAIN, brain_loss) - rewind() - -/datum/component/dejavu/proc/rewind_carbon() - if(saved_bodyparts) - var/mob/living/carbon/master = parent - master.apply_saved_bodyparts(saved_bodyparts) - rewind_living() - -/datum/component/dejavu/proc/rewind_animal() - var/mob/living/simple_animal/master = parent - master.bruteloss = brute_loss - master.updatehealth() - rewind_living() - -/datum/component/dejavu/proc/rewind_obj() - var/obj/master = parent - master.obj_integrity = integrity - rewind() diff --git a/code/datums/components/edible.dm b/code/datums/components/edible.dm deleted file mode 100644 index b65a2d8b7e3..00000000000 --- a/code/datums/components/edible.dm +++ /dev/null @@ -1,259 +0,0 @@ -/*! - -This component makes it possible to make things edible. What this means is that you can take a bite or force someone to take a bite (in the case of items). -These items take a specific time to eat, and can do most of the things our original food items could. - -Behavior that's still missing from this component that original food items had that should either be put into seperate components or somewhere else: - Components: - Drying component (jerky etc) - Customizable component (custom pizzas etc) - Processable component (Slicing and cooking behavior essentialy, making it go from item A to B when conditions are met.) - Dunkable component (Dunking things into reagent containers to absorb a specific amount of reagents) - - Misc: - Something for cakes (You can store things inside) - -*/ -/datum/component/edible - ///Amount of reagents taken per bite - var/bite_consumption = 2 - ///Amount of bites taken so far - var/bitecount = 0 - ///Flags for food - var/food_flags = NONE - ///Bitfield of the types of this food - var/foodtypes = NONE - ///Amount of seconds it takes to eat this food - var/eat_time = 30 - ///Defines how much it lowers someones satiety (Need to eat, essentialy) - var/junkiness = 0 - ///Message to send when eating - var/list/eatverbs - ///Callback to be ran for when you take a bite of something - var/datum/callback/after_eat - ///Last time we checked for food likes - var/last_check_time - ///Color we use when stuffed in things - var/filling_color = "#FFFFFF" - -/datum/component/edible/Initialize(list/initial_reagents, food_flags = NONE, foodtypes = NONE, volume = 50, eat_time = 30, list/tastes, list/eatverbs = list("bite","chew","nibble","gnaw","gobble","chomp"), bite_consumption = 2, filling_color = "#FFFFFF", datum/callback/after_eat) - if(!isatom(parent)) - return COMPONENT_INCOMPATIBLE - - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) - RegisterSignal(parent, COMSIG_ATOM_ATTACK_ANIMAL, PROC_REF(UseByAnimal)) - if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(UseFromHand)) - else if(isturf(parent)) - RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(TryToEatTurf)) - - src.bite_consumption = bite_consumption - src.food_flags = food_flags - src.foodtypes = foodtypes - src.eat_time = eat_time - src.eatverbs = eatverbs - src.junkiness = junkiness - src.after_eat = after_eat - src.filling_color = filling_color - - var/atom/owner = parent - - owner.create_reagents(volume, INJECTABLE) - - if(initial_reagents) - for(var/rid in initial_reagents) - var/amount = initial_reagents[rid] - if(tastes && tastes.len && (rid == /datum/reagent/consumable/nutriment || rid == /datum/reagent/consumable/nutriment/vitamin)) - owner.reagents.add_reagent(rid, amount, tastes.Copy()) - else - owner.reagents.add_reagent(rid, amount) - -/datum/component/edible/proc/examine(datum/source, mob/user, list/examine_list) - SIGNAL_HANDLER - - if(!(food_flags & FOOD_IN_CONTAINER)) - switch (bitecount) - if (0) - return - if(1) - examine_list += "[parent] was bitten by someone!" - if(2,3) - examine_list += "[parent] was bitten [bitecount] times!" - else - examine_list += "[parent] was bitten multiple times!" - -/datum/component/edible/proc/UseFromHand(obj/item/source, mob/living/M, mob/living/user) - SIGNAL_HANDLER - - return TryToEat(M, user) - -/datum/component/edible/proc/TryToEatTurf(datum/source, mob/user) - SIGNAL_HANDLER - - return TryToEat(user, user) - -///All the checks for the act of eating itself and -/datum/component/edible/proc/TryToEat(mob/living/eater, mob/living/feeder) - - set waitfor = FALSE - - var/atom/owner = parent - - if(feeder.a_intent == INTENT_HARM) - return - if(!owner.reagents.total_volume)//Shouldn't be needed but it checks to see if it has anything left in it. - to_chat(feeder, "None of [owner] left, oh no!") - if(isturf(parent)) - var/turf/T = parent - T.ScrapeAway(1, CHANGETURF_INHERIT_AIR) - else - qdel(parent) - return - if(!CanConsume(eater, feeder)) - return - var/fullness = eater.nutrition + 10 //The theoretical fullness of the person eating if they were to eat this - for(var/datum/reagent/consumable/C in eater.reagents.reagent_list) //we add the nutrition value of what we're currently digesting - fullness += C.nutriment_factor * C.volume / C.metabolization_rate - - . = COMPONENT_ITEM_NO_ATTACK //Point of no return I suppose - - if(eater == feeder)//If you're eating it yourself. - if(!do_after(feeder, eat_time, eater)) //Gotta pass the minimal eat time - return - var/eatverb = pick(eatverbs) - if(junkiness && eater.satiety < -150 && eater.nutrition > NUTRITION_LEVEL_STARVING + 50 && !HAS_TRAIT(eater, TRAIT_VORACIOUS)) - to_chat(eater, "You don't feel like eating any more junk food at the moment!") - return - else if(fullness <= 50) - eater.visible_message("[eater] hungrily [eatverb]s \the [parent], gobbling it down!", "You hungrily [eatverb] \the [parent], gobbling it down!") - else if(fullness > 50 && fullness < 150) - eater.visible_message("[eater] hungrily [eatverb]s \the [parent].", "You hungrily [eatverb] \the [parent].") - else if(fullness > 150 && fullness < 500) - eater.visible_message("[eater] [eatverb]s \the [parent].", "You [eatverb] \the [parent].") - else if(fullness > 500 && fullness < 600) - eater.visible_message("[eater] unwillingly [eatverb]s a bit of \the [parent].", "You unwillingly [eatverb] a bit of \the [parent].") - else if(fullness > (600 * (1 + eater.overeatduration / 2000))) // The more you eat - the more you can eat - eater.visible_message("[eater] cannot force any more of \the [parent] to go down [eater.p_their()] throat!", "You cannot force any more of \the [parent] to go down your throat!") - return - else //If you're feeding it to someone else. - if(isbrain(eater)) - to_chat(feeder, "[eater] doesn't seem to have a mouth!") - return - if(fullness <= (600 * (1 + eater.overeatduration / 1000))) - eater.visible_message("[feeder] attempts to feed [eater] [parent].", \ - "[feeder] attempts to feed you [parent].") - else - eater.visible_message("[feeder] cannot force any more of [parent] down [eater]'s throat!", \ - "[feeder] cannot force any more of [parent] down your throat!") - return - if(!do_after(feeder, target = eater)) //Wait 3 seconds before you can feed - return - - log_combat(feeder, eater, "fed", owner.reagents.log_list()) - eater.visible_message("[feeder] forces [eater] to eat [parent]!", \ - "[feeder] forces you to eat [parent]!") - - TakeBite(eater, feeder) - -///This function lets the eater take a bite and transfers the reagents to the eater. -/datum/component/edible/proc/TakeBite(mob/living/eater, mob/living/feeder) - - var/atom/owner = parent - - if(!owner?.reagents) - return FALSE - if(eater.satiety > -200) - eater.satiety -= junkiness - playsound(eater.loc,'sound/items/eatfood.ogg', rand(10,50), TRUE) - if(owner.reagents.total_volume) - SEND_SIGNAL(parent, COMSIG_FOOD_EATEN, eater, feeder) - var/fraction = min(bite_consumption / owner.reagents.total_volume, 1) - owner.reagents.trans_to(eater, bite_consumption, transfered_by = feeder, method = INGEST) - bitecount++ - On_Consume(eater) - checkLiked(fraction, eater) - - //Invoke our after eat callback if it is valid - if(after_eat) - after_eat.Invoke(eater, feeder) - - return TRUE - -///Checks whether or not the eater can actually consume the food -/datum/component/edible/proc/CanConsume(mob/living/eater, mob/living/feeder) - if(!iscarbon(eater)) - return FALSE - var/mob/living/carbon/C = eater - var/covered = "" - if(C.is_mouth_covered(head_only = 1)) - covered = "headgear" - else if(C.is_mouth_covered(mask_only = 1)) - covered = "mask" - if(covered) - var/who = (isnull(feeder) || eater == feeder) ? "your" : "[eater.p_their()]" - to_chat(feeder, "You have to remove [who] [covered] first!") - return FALSE - return TRUE - -///Check foodtypes to see if we should send a moodlet -/datum/component/edible/proc/checkLiked(fraction, mob/M) - if(last_check_time + 50 > world.time) - return FALSE - if(!ishuman(M)) - return FALSE - var/mob/living/carbon/human/H = M - if(HAS_TRAIT(H, TRAIT_AGEUSIA) && foodtypes & H.dna.species.toxic_food) - to_chat(H, "You don't feel so good...") - H.adjust_disgust(25 + 30 * fraction) - else - if(foodtypes & H.dna.species.toxic_food) - to_chat(H,"What the hell was that thing?!") - H.adjust_disgust(25 + 30 * fraction) - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "toxic_food", /datum/mood_event/disgusting_food) - else if(foodtypes & H.dna.species.disliked_food) - to_chat(H,"That didn't taste very good...") - H.adjust_disgust(11 + 15 * fraction) - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food) - else if(foodtypes & H.dna.species.liked_food) - to_chat(H,"I love this taste!") - H.adjust_disgust(-5 + -2.5 * fraction) - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food) - if((foodtypes & BREAKFAST) && world.time - SSticker.round_start_time < STOP_SERVING_BREAKFAST) - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "breakfast", /datum/mood_event/breakfast) - last_check_time = world.time - -///Delete the item when it is fully eaten -/datum/component/edible/proc/On_Consume(mob/living/eater) - - var/atom/owner = parent - - if(!eater) - return - if(!owner.reagents.total_volume) - if(isturf(parent)) - var/turf/T = parent - T.ScrapeAway(1, CHANGETURF_INHERIT_AIR) - else - qdel(parent) - -///Ability to feed food to puppers -/datum/component/edible/proc/UseByAnimal(datum/source, mob/user) - - SIGNAL_HANDLER - - - var/atom/owner = parent - - if(!isdog(user)) - return - var/mob/living/L = user - if(bitecount == 0 || prob(50)) - L.manual_emote("nibbles away at \the [parent]") - bitecount++ - . = COMPONENT_ITEM_NO_ATTACK - L.taste(owner.reagents) // why should carbons get all the fun? - if(bitecount >= 5) - var/sattisfaction_text = pick("burps from enjoyment", "yaps for more", "woofs twice", "looks at the area where \the [parent] was") - if(sattisfaction_text) - L.manual_emote(sattisfaction_text) - qdel(parent) diff --git a/code/datums/components/embedded.dm b/code/datums/components/embedded.dm index ee789d3f982..13c21c2c8f2 100644 --- a/code/datums/components/embedded.dm +++ b/code/datums/components/embedded.dm @@ -164,7 +164,10 @@ if(harmful && prob(chance)) var/damage = weapon.w_class * jostle_pain_mult limb.receive_damage(brute=(1-pain_stam_pct) * damage, stamina=pain_stam_pct * damage) - to_chat(victim, "[weapon] embedded in your [limb.name] jostles and stings!") + if(HAS_TRAIT(victim, TRAIT_ANALGESIA)) + to_chat(victim, span_notice("[weapon] embedded in your [limb.name] shifts around.")) + return + to_chat(victim, span_userdanger("[weapon] embedded in your [limb.name] jostles and stings!")) /// Called when then item randomly falls out of a carbon. This handles the damage and descriptors, then calls safe_remove() @@ -205,7 +208,7 @@ if(harmful) var/damage = weapon.w_class * remove_pain_mult limb.receive_damage(brute=(1-pain_stam_pct) * damage, stamina=pain_stam_pct * damage) //It hurts to rip it out, get surgery you dingus. - victim.emote("scream") + victim.force_scream() victim.visible_message("[victim] successfully rips [weapon] out of [victim.p_their()] [limb.name]!", "You successfully remove [weapon] from your [limb.name].") else victim.visible_message("[victim] successfully rips [weapon] off of [victim.p_their()] [limb.name]!", "You successfully remove [weapon] from your [limb.name].") diff --git a/code/datums/components/fantasy/_fantasy.dm b/code/datums/components/fantasy/_fantasy.dm index 92bd0868a74..6941f6c169b 100644 --- a/code/datums/components/fantasy/_fantasy.dm +++ b/code/datums/components/fantasy/_fantasy.dm @@ -75,7 +75,7 @@ var/usedSlots = NONE for(var/i in 1 to max(1, abs(quality))) // We want at least 1 affix applied - var/datum/fantasy_affix/affix = pickweight(affixListing) + var/datum/fantasy_affix/affix = pick_weight(affixListing) if(affix.placement & usedSlots) continue if(!(affix.alignment & alignment)) diff --git a/code/datums/components/fantasy/suffixes.dm b/code/datums/components/fantasy/suffixes.dm index 8cabee42d21..89a26ca60f7 100644 --- a/code/datums/components/fantasy/suffixes.dm +++ b/code/datums/components/fantasy/suffixes.dm @@ -128,17 +128,15 @@ /obj/projectile/meteor = 1, /obj/projectile/energy/nuclear_particle = 1, /obj/projectile/beam/pulse = 1, - /obj/projectile/bullet/honker = 15, /obj/projectile/temp = 15, /obj/projectile/ion = 15, /obj/projectile/beam/emitter = 15, /obj/projectile/energy/net = 15, - /obj/projectile/bullet/incendiary/c9mm = 15, /obj/projectile/temp/hot = 15, /obj/projectile/beam/disabler = 15 ) - var/obj/projectile/picked_projectiletype = pickweight(weighted_projectile_types) + var/obj/projectile/picked_projectiletype = pick_weight(weighted_projectile_types) var/obj/item/master = comp.parent comp.appliedComponents += master.AddComponent(/datum/component/mirv, picked_projectiletype) diff --git a/code/datums/components/food/edible.dm b/code/datums/components/food/edible.dm new file mode 100644 index 00000000000..f5129fb761b --- /dev/null +++ b/code/datums/components/food/edible.dm @@ -0,0 +1,494 @@ +/*! + +This component makes it possible to make things edible. What this means is that you can take a bite or force someone to take a bite (in the case of items). +These items take a specific time to eat, and can do most of the things our original food items could. + +Behavior that's still missing from this component that original food items had that should either be put into seperate components or somewhere else: + Components: + Drying component (jerky etc) + Customizable component (custom pizzas etc) + Processable component (Slicing and cooking behavior essentialy, making it go from item A to B when conditions are met.) + Microwavability component + Frying component + + Misc: + Something for cakes (You can store things inside) + +*/ +/datum/component/edible + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + ///Amount of reagents taken per bite + var/bite_consumption = 2 + ///Amount of bites taken so far + var/bitecount = 0 + ///Flags for food + var/food_flags = NONE + ///Bitfield of the types of this food + var/foodtypes = NONE + ///Amount of seconds it takes to eat this food + var/eat_time = 30 + ///Defines how much it lowers someones satiety (Need to eat, essentialy) + var/junkiness = 0 + ///Message to send when eating + var/list/eatverbs + ///Callback to be ran before you eat something, so you can check if someone *can* eat it. + var/datum/callback/pre_eat + ///Callback to be ran before composting something, in case you don't want a piece of food to be compostable for some reason. + var/datum/callback/on_compost + ///Callback to be ran for when you take a bite of something + var/datum/callback/after_eat + ///Callback to be ran for when you finish eating something + var/datum/callback/on_consume + ///Last time we checked for food likes + var/last_check_time + ///The initial reagents of this food when it is made + var/list/initial_reagents + ///The initial volume of the foods reagents + var/volume + ///The flavortext for taste + var/list/tastes + ///The type of atom this creates when the object is microwaved. + var/microwaved_type + + //TEMP VAR, filling is nonfunctional because newfood isnt customizable yet + var/filling_color + +/datum/component/edible/Initialize(list/initial_reagents, + food_flags = NONE, + foodtypes = NONE, + volume = 50, + eat_time = 10, + list/tastes, + list/eatverbs = list("bite","chew","nibble","gnaw","gobble","chomp"), + bite_consumption = 2, + microwaved_type, + junkiness, + filling_color = null, //Temp var + datum/callback/pre_eat, + datum/callback/on_compost, + datum/callback/after_eat, + datum/callback/on_consume +) + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_ANIMAL, PROC_REF(use_by_animal)) + RegisterSignal(parent, COMSIG_ATOM_CHECKPARTS, PROC_REF(on_craft)) + RegisterSignal(parent, COMSIG_ATOM_CREATEDBY_PROCESSING, PROC_REF(on_processed)) + RegisterSignal(parent, COMSIG_ITEM_MICROWAVE_COOKED, PROC_REF(on_microwave_cooked)) + RegisterSignal(parent, COMSIG_EDIBLE_ON_COMPOST, PROC_REF(compost)) + + if(isitem(parent)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(use_from_hand)) + RegisterSignal(parent, COMSIG_ITEM_FRIED, PROC_REF(on_fried)) + RegisterSignal(parent, COMSIG_ITEM_MICROWAVE_ACT, PROC_REF(on_microwaved)) + + var/obj/item/item = parent + if (!item.grind_results) + item.grind_results = list() //If this doesn't already exist, add it as an empty list. This is needed for the grinder to accept it. + + src.bite_consumption = bite_consumption + src.food_flags = food_flags + src.foodtypes = foodtypes + src.eat_time = eat_time + src.eatverbs = string_list(eatverbs) + src.junkiness = junkiness + src.pre_eat = pre_eat + src.on_compost = on_compost + src.after_eat = after_eat + src.on_consume = on_consume + src.initial_reagents = string_assoc_list(initial_reagents) + src.tastes = string_assoc_list(tastes) + src.microwaved_type = microwaved_type + + var/atom/owner = parent + + owner.create_reagents(volume, INJECTABLE) + + for(var/rid in initial_reagents) + var/amount = initial_reagents[rid] + if(length(tastes) && (rid == /datum/reagent/consumable/nutriment || rid == /datum/reagent/consumable/nutriment/vitamin)) + owner.reagents.add_reagent(rid, amount, tastes.Copy()) + else + owner.reagents.add_reagent(rid, amount) + +/datum/component/edible/InheritComponent(datum/component/C, + i_am_original, + list/initial_reagents, + food_flags = NONE, + foodtypes = NONE, + volume = 50, + eat_time = 30, + list/tastes, + list/eatverbs = list("bite","chew","nibble","gnaw","gobble","chomp"), + bite_consumption = 2, + filling_color = null, //Temp var + datum/callback/pre_eat, + datum/callback/on_compost, + datum/callback/after_eat, + datum/callback/on_consume + ) + + . = ..() + src.bite_consumption = bite_consumption + src.food_flags = food_flags + src.foodtypes = foodtypes + src.eat_time = eat_time + src.eatverbs = eatverbs + src.junkiness = junkiness + src.pre_eat = pre_eat + src.on_compost = on_compost + src.after_eat = after_eat + src.on_consume = on_consume + +/datum/component/edible/Destroy(force) + QDEL_NULL(pre_eat) + QDEL_NULL(on_compost) + QDEL_NULL(after_eat) + QDEL_NULL(on_consume) + return ..() + +/datum/component/edible/proc/examine(datum/source, mob/user, list/examine_list) + SIGNAL_HANDLER + + if(!(food_flags & FOOD_IN_CONTAINER)) + switch(bitecount) + if(0) + EMPTY_BLOCK_GUARD + if(1) + examine_list += "[parent] was bitten by someone!" + if(2,3) + examine_list += "[parent] was bitten [bitecount] times!" + else + examine_list += "[parent] was bitten multiple times!" + +/datum/component/edible/proc/use_from_hand(obj/item/source, mob/living/M, mob/living/user) + SIGNAL_HANDLER + + return TryToEat(M, user) + +/datum/component/edible/proc/on_fried(fry_object) + SIGNAL_HANDLER + var/atom/our_atom = parent + our_atom.reagents.trans_to(fry_object, our_atom.reagents.total_volume) + qdel(our_atom) + return COMSIG_FRYING_HANDLED + +///Called when food is created through processing (Usually this means it was sliced). We use this to pass the OG items reagents. +/datum/component/edible/proc/on_processed(datum/source, atom/original_atom, list/chosen_processing_option) + SIGNAL_HANDLER + + if(!original_atom.reagents) + return + + var/atom/this_food = parent + var/reagents_for_slice = chosen_processing_option[TOOL_PROCESSING_AMOUNT] + + this_food.create_reagents(volume) //Make sure we have a reagent container + + original_atom.reagents.trans_to(this_food, reagents_for_slice) + + if(original_atom.name != initial(original_atom.name)) + this_food.name = "slice of [original_atom.name]" + if(original_atom.desc != initial(original_atom.desc)) + this_food.desc = "[original_atom.desc]" + +///Called when food is crafted through a crafting recipe datum. +/datum/component/edible/proc/on_craft(datum/source, list/parts_list, datum/crafting_recipe/food/recipe) + SIGNAL_HANDLER + + var/atom/this_food = parent + + this_food.reagents.clear_reagents() + + for(var/obj/item/crafted_part in this_food.contents) + crafted_part.reagents?.trans_to(this_food.reagents, crafted_part.reagents.maximum_volume, CRAFTED_FOOD_INGREDIENT_REAGENT_MODIFIER) + + var/list/objects_to_delete = list() + + // Remove all non recipe objects from the contents + for(var/content_object in this_food.contents) + for(var/recipe_object in recipe.real_parts) + if(istype(content_object, recipe_object)) + continue + objects_to_delete += content_object + + QDEL_LIST(objects_to_delete) + + for(var/r_id in initial_reagents) + var/amount = initial_reagents[r_id] * CRAFTED_FOOD_BASE_REAGENT_MODIFIER + if(r_id == /datum/reagent/consumable/nutriment || r_id == /datum/reagent/consumable/nutriment/vitamin) + this_food.reagents.add_reagent(r_id, amount, tastes) + else + this_food.reagents.add_reagent(r_id, amount) + + SSblackbox.record_feedback("tally", "food_made", 1, type) + +/datum/component/edible/proc/on_microwaved(datum/source, obj/machinery/microwave/used_microwave) + SIGNAL_HANDLER + + var/turf/parent_turf = get_turf(parent) + + if(!microwaved_type) + new /obj/item/reagent_containers/food/snacks/badrecipe(parent_turf) + qdel(parent) + return + + var/obj/item/result + + result = new microwaved_type(parent_turf) + + var/efficiency = istype(used_microwave) ? used_microwave.efficiency : 1 + + SEND_SIGNAL(result, COMSIG_ITEM_MICROWAVE_COOKED, parent, efficiency) + + SSblackbox.record_feedback("tally", "food_made", 1, result.type) + qdel(parent) + return COMPONENT_SUCCESFUL_MICROWAVE + +///Corrects the reagents on the newly cooked food +/datum/component/edible/proc/on_microwave_cooked(datum/source, obj/item/source_item, cooking_efficiency = 1) + SIGNAL_HANDLER + + var/atom/this_food = parent + + this_food.reagents.clear_reagents() + + source_item.reagents?.trans_to(this_food, source_item.reagents.total_volume) + + for(var/r_id in initial_reagents) + var/amount = initial_reagents[r_id] * cooking_efficiency * CRAFTED_FOOD_BASE_REAGENT_MODIFIER + if(r_id == /datum/reagent/consumable/nutriment || r_id == /datum/reagent/consumable/nutriment/vitamin) + this_food.reagents.add_reagent(r_id, amount, tastes) + else + this_food.reagents.add_reagent(r_id, amount) + +///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) + if(QDELETED(owner)|| !(IS_EDIBLE(owner))) + return TRUE + if(owner.reagents.total_volume) + return FALSE + return TRUE + +/// Normal time to forcefeed someone something +#define EAT_TIME_FORCE_FEED (3 SECONDS) + +///All the checks for the act of eating itself and +/datum/component/edible/proc/TryToEat(mob/living/eater, mob/living/feeder) + + set waitfor = FALSE // We might end up sleeping here, so we don't want to hold up anything + + var/atom/owner = parent + + if(feeder.a_intent == INTENT_HARM) + return + + . = COMPONENT_CANCEL_ATTACK_CHAIN //Point of no return I suppose + + if(IsFoodGone(owner, feeder)) + return + + if(!CanConsume(eater, feeder)) + return + var/fullness = eater.nutrition + 10 //The theoretical fullness of the person eating if they were to eat this + + var/time_to_eat = (eater = feeder) ? eat_time : EAT_TIME_FORCE_FEED + + if(eater == feeder)//If you're eating it yourself. + if(eat_time && !do_after(feeder, time_to_eat, eater, timed_action_flags = food_flags & FOOD_FINGER_FOOD ? IGNORE_USER_LOC_CHANGE | IGNORE_TARGET_LOC_CHANGE : NONE)) //Gotta pass the minimal eat time + return + if(IsFoodGone(owner, feeder)) + return + var/eatverb = pick(eatverbs) + + if(junkiness && eater.satiety < -150 && eater.nutrition > NUTRITION_LEVEL_STARVING + 50 && !HAS_TRAIT(eater, TRAIT_VORACIOUS)) + to_chat(eater, "You don't feel like eating any more junk food at the moment!") + return + else if(fullness <= 50) + eater.visible_message("[eater] hungrily [eatverb]s \the [parent], gobbling it down!", "You hungrily [eatverb] \the [parent], gobbling it down!") + else if(fullness > 50 && fullness < 150) + eater.visible_message("[eater] hungrily [eatverb]s \the [parent].", "You hungrily [eatverb] \the [parent].") + else if(fullness > 150 && fullness < 500) + eater.visible_message("[eater] [eatverb]s \the [parent].", "You [eatverb] \the [parent].") + else if(fullness > 500 && fullness < 600) + eater.visible_message("[eater] unwillingly [eatverb]s a bit of \the [parent].", "You unwillingly [eatverb] a bit of \the [parent].") + else if(fullness > (600 * (1 + eater.overeatduration / 2000))) // The more you eat - the more you can eat + eater.visible_message("[eater] cannot force any more of \the [parent] to go down [eater.p_their()] throat!", "You cannot force any more of \the [parent] to go down your throat!") + return + + + + + + else //If you're feeding it to someone else. + if(isbrain(eater)) + to_chat(feeder, "[eater] doesn't seem to have a mouth!") + return + if(fullness <= (600 * (1 + eater.overeatduration / 1000))) + eater.visible_message( + "[feeder] attempts to feed [eater] [parent].", \ + "[feeder] attempts to feed you [parent]." + ) + if(eater.is_blind()) + to_chat(eater, "You feel someone trying to feed you something!") + else + eater.visible_message( + "[feeder] cannot force any more of [parent] down [eater]'s throat!", \ + "[feeder] cannot force any more of [parent] down your throat!" + ) + if(eater.is_blind()) + to_chat(eater, "You're too full to eat what's being fed to you!") + return + if(!do_after(feeder, delay = time_to_eat, target = eater)) //Wait 3 seconds before you can feed + return + if(IsFoodGone(owner, feeder)) + return + log_combat(feeder, eater, "fed", owner.reagents.log_list()) + eater.visible_message( + "[feeder] forces [eater] to eat [parent]!", \ + "[feeder] forces you to eat [parent]!" + ) + if(eater.is_blind()) + to_chat(eater, "You're forced to eat something!") + + TakeBite(eater, feeder) + + //If we're not force-feeding, try take another bite + if(eater == feeder && eat_time) + INVOKE_ASYNC(src, PROC_REF(TryToEat), eater, feeder) + +#undef EAT_TIME_FORCE_FEED + +///This function lets the eater take a bite and transfers the reagents to the eater. +/datum/component/edible/proc/TakeBite(mob/living/eater, mob/living/feeder) + + var/atom/owner = parent + + if(!owner?.reagents) + return FALSE + if(eater.satiety > -200) + eater.satiety -= junkiness + playsound(eater.loc,'sound/items/eatfood.ogg', rand(10,50), TRUE) + if(!owner.reagents.total_volume) + return + SEND_SIGNAL(parent, COMSIG_FOOD_EATEN, eater, feeder, bitecount, bite_consumption) + var/fraction = min(bite_consumption / owner.reagents.total_volume, 1) + owner.reagents.trans_to(eater, bite_consumption, transfered_by = feeder, method = INGEST) + bitecount++ + check_liked(fraction, eater) + if(!owner.reagents.total_volume) + on_consume(eater, feeder) + + //Invoke our after eat callback if it is valid + if(after_eat) + after_eat.Invoke(eater, feeder, bitecount) + + return TRUE + +///Checks if we can compost something, and handles it +/datum/component/edible/proc/compost(mob/living/user) + SIGNAL_HANDLER + if(on_compost && !on_compost.Invoke(user)) + return COMPONENT_EDIBLE_BLOCK_COMPOST + +///Checks whether or not the eater can actually consume the food +/datum/component/edible/proc/CanConsume(mob/living/eater, mob/living/feeder) + if(!iscarbon(eater)) + return FALSE + if(pre_eat && !pre_eat.Invoke(eater, feeder)) + return FALSE + var/mob/living/carbon/C = eater + var/covered = "" + if(C.is_mouth_covered(head_only = 1)) + covered = "headgear" + else if(C.is_mouth_covered(mask_only = 1)) + covered = "mask" + if(covered) + var/who = (isnull(feeder) || eater == feeder) ? "your" : "[eater.p_their()]" + to_chat(feeder, "You have to remove [who] [covered] first!") + return FALSE + return TRUE + +///Check foodtypes to see if we should send a moodlet +/datum/component/edible/proc/check_liked(fraction, mob/eater) + if(last_check_time + 50 > world.time) + return FALSE + if(!ishuman(eater)) + return FALSE + var/mob/living/carbon/human/human_eater = eater + if((foodtypes & BREAKFAST) && world.time - SSticker.round_start_time < STOP_SERVING_BREAKFAST) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "breakfast", /datum/mood_event/breakfast) + if(HAS_TRAIT(human_eater, TRAIT_AGEUSIA)) + if(foodtypes & human_eater.dna.species.toxic_food) + to_chat(human_eater, "You don't feel so good...") + human_eater.adjust_disgust(25 + 30 * fraction) + else + if(foodtypes & human_eater.dna.species.toxic_food) + to_chat(human_eater,"What the hell was that thing?!") + human_eater.adjust_disgust(25 + 30 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "toxic_food", /datum/mood_event/disgusting_food) + else if(foodtypes & human_eater.dna.species.disliked_food) + to_chat(human_eater,"That didn't taste very good...") + human_eater.adjust_disgust(11 + 15 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food) + else if(foodtypes & human_eater.dna.species.liked_food) + to_chat(human_eater,"I love this taste!") + human_eater.adjust_disgust(-5 + -2.5 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food) + last_check_time = world.time + + /* Should shiptest ever want to move taste to tongues as Beestation & later TGstation did, rather than on species + var/obj/item/organ/tongue/tongue = human_eater.getorganslot(ORGAN_SLOT_TONGUE) + if((foodtypes & BREAKFAST) && world.time - SSticker.round_start_time < STOP_SERVING_BREAKFAST) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "breakfast", /datum/mood_event/breakfast) + if(HAS_TRAIT(human_eater, TRAIT_AGEUSIA)) + if(foodtypes & tongue.toxic_food) + to_chat(human_eater, "You don't feel so good...") + human_eater.adjust_disgust(25 + 30 * fraction) + else + if(foodtypes & tongue.toxic_food) + to_chat(human_eater,"What the hell was that thing?!") + human_eater.adjust_disgust(25 + 30 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "toxic_food", /datum/mood_event/disgusting_food) + else if(foodtypes & tongue.disliked_food) + to_chat(human_eater,"That didn't taste very good...") + human_eater.adjust_disgust(11 + 15 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food) + else if(foodtypes & tongue.liked_food) + to_chat(human_eater,"I love this taste!") + human_eater.adjust_disgust(-5 + -2.5 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food) + last_check_time = world.time + */ + +///Delete the item when it is fully eaten +/datum/component/edible/proc/on_consume(mob/living/eater, mob/living/feeder) + SEND_SIGNAL(parent, COMSIG_FOOD_CONSUMED, eater, feeder) + + on_consume?.Invoke(eater, feeder) + + if(isturf(parent)) + var/turf/T = parent + T.ScrapeAway(1, CHANGETURF_INHERIT_AIR) + else + qdel(parent) + +///Ability to feed food to puppers +/datum/component/edible/proc/use_by_animal(datum/source, mob/user) + SIGNAL_HANDLER + var/atom/owner = parent + + if(!isdog(user)) + return + var/mob/living/L = user + if(bitecount == 0 || prob(50)) + L.manual_emote("nibbles away at \the [parent].") + bitecount++ + . = COMPONENT_CANCEL_ATTACK_CHAIN + L.taste(owner.reagents) // why should carbons get all the fun? + if(bitecount >= 5) + var/satisfaction_text = pick("burps from enjoyment.", "yaps for more!", "woofs twice.", "looks at the area where \the [parent] was.") + L.manual_emote(satisfaction_text) + qdel(parent) diff --git a/code/datums/components/food/food_storage.dm b/code/datums/components/food/food_storage.dm new file mode 100644 index 00000000000..6bc3641711b --- /dev/null +++ b/code/datums/components/food/food_storage.dm @@ -0,0 +1,204 @@ +/// --Food storage component-- +/// This component lets you slide one item into large foods, such as bread, cheese wheels, or cakes. +/// Consuming food storages with an item inside can cause unique interactions, such as eating glass shards. + +/datum/component/food_storage + /// Reference to what we have in our food. + var/obj/item/stored_item + /// The amount of volume the food has on creation - Used for probabilities + var/initial_volume = 10 + /// Minimum size items that can be inserted + var/minimum_weight_class = WEIGHT_CLASS_SMALL + /// What are the odds we bite into the stored item? + var/bad_chance_of_discovery = 0 + /// What are the odds we see the stored item before we bite it? + var/good_chance_of_discovery = 100 + /// The stored item was found out somehow. + var/discovered = FALSE + +/datum/component/food_storage/Initialize(_minimum_weight_class = WEIGHT_CLASS_SMALL, _bad_chance = 0, _good_chance = 100) + + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(try_inserting_item)) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(try_removing_item)) + RegisterSignal(parent, COMSIG_FOOD_EATEN, PROC_REF(consume_food_storage)) + + var/atom/food = parent + initial_volume = food.reagents.total_volume + + minimum_weight_class = _minimum_weight_class + bad_chance_of_discovery = _bad_chance + good_chance_of_discovery = _good_chance + +/datum/component/food_storage/Destroy(force) + if(stored_item) + stored_item.forceMove(stored_item.drop_location()) + stored_item.dropped() + stored_item = null + . = ..() + +/** Begins the process of inserted an item. + * + * Clicking on the food storage with an item will begin a do_after, which if successful inserts the item. + * + * Arguments + * inserted_item - the item being placed into the food + * user - the person inserting the item + */ +/datum/component/food_storage/proc/try_inserting_item(datum/source, obj/item/inserted_item, mob/user, params) + SIGNAL_HANDLER + + // No matryoshka-ing food storage + if(istype(inserted_item, /obj/item/storage) || IS_EDIBLE(inserted_item)) + return + + //Harm intent will bypass inserting for injecting food with syringes and such + if(user.a_intent == INTENT_HARM) + return + + if(inserted_item.w_class > minimum_weight_class) + to_chat(user, "\The [inserted_item.name] won't fit in \the [parent].") + return + + if(!QDELETED(stored_item)) + to_chat(user, "There's something in \the [parent].") + return + + if(HAS_TRAIT(inserted_item, TRAIT_NODROP)) + to_chat(user, "\the [inserted_item] is stuck to your hand, you can't put into \the [parent]!") + return + + user.visible_message("[user.name] begins inserting [inserted_item.name] into \the [parent].", \ + "You start to insert the [inserted_item.name] into \the [parent].") + + INVOKE_ASYNC(src, PROC_REF(insert_item), inserted_item, user) + return COMPONENT_CANCEL_ATTACK_CHAIN + +/** Begins the process of attempting to remove the stored item. + * + * Clicking on food storage on grab intent will begin a do_after, which if successful removes the stored_item. + * + * Arguments + * user - the person removing the item. + */ +/datum/component/food_storage/proc/try_removing_item(datum/source, mob/user) + SIGNAL_HANDLER + + var/atom/food = parent + + if(user.a_intent != INTENT_GRAB) + return + + if(QDELETED(stored_item)) + return + + if(!food.can_interact(user)) + return + + user.visible_message("[user.name] begins tearing at \the [parent].", \ + "You start to rip into \the [parent].") + + INVOKE_ASYNC(src, PROC_REF(begin_remove_item), user) + return COMPONENT_CANCEL_ATTACK_CHAIN + +/** Inserts the item into the food, after a do_after. + * + * Arguments + * inserted_item - The item being inserted. + * user - the person inserting the item. + */ +/datum/component/food_storage/proc/insert_item(obj/item/inserted_item, mob/user) + if(do_after(user, 1.5 SECONDS, target = parent)) + var/atom/food = parent + to_chat(user, "You slip [inserted_item.name] inside \the [parent].") + inserted_item.forceMove(food) + user.log_message("[key_name(user)] inserted [inserted_item] into [parent] at [AREACOORD(user)]", LOG_ATTACK) + food.add_fingerprint(user) + inserted_item.add_fingerprint(user) + + stored_item = inserted_item + +/** Removes the item from the food, after a do_after. + * + * Arguments + * user - person removing the item. + */ +/datum/component/food_storage/proc/begin_remove_item(mob/user) + if(do_after(user, 10 SECONDS, target = parent)) + remove_item(user) + +/** + * Removes the stored item, putting it in user's hands or on the ground, then updates the reference. + */ +/datum/component/food_storage/proc/remove_item(mob/user) + if(user.put_in_hands(stored_item)) + user.visible_message("[user.name] slowly pulls [stored_item.name] out of \the [parent].", \ + "You slowly pull [stored_item.name] out of \the [parent].") + else + stored_item.dropped() + stored_item.visible_message("[stored_item.name] falls out of \the [parent].") + + update_stored_item() + +/** Checks for stored items when the food is eaten. + * + * If the food is eaten while an item is stored in it, calculates the odds that the item will be found. + * Then, if the item is found before being bitten, the item is removed. + * If the item is found by biting into it, calls on_accidental_consumption on the stored item. + * Afterwards, removes the item from the food if it was discovered. + * + * Arguments + * target - person doing the eating (can be the same as user) + * user - person causing the eating to happen + * bitecount - how many times the current food has been bitten + * bitesize - how large bties are for this food + */ +/datum/component/food_storage/proc/consume_food_storage(datum/source, mob/living/target, mob/living/user, bitecount, bitesize) + SIGNAL_HANDLER + + if(QDELETED(stored_item)) //if the stored item was deleted/null... + if(!update_stored_item()) //check if there's a replacement item + return + + /// Chance of biting the held item = amount of bites / (intitial reagents / reagents per bite) * 100 + bad_chance_of_discovery = (bitecount / (initial_volume / bitesize))*100 + /// Chance of finding the held item = bad chance - 50 + good_chance_of_discovery = bad_chance_of_discovery - 50 + + if(prob(good_chance_of_discovery)) //finding the item, without biting it + discovered = TRUE + to_chat(target, "It feels like there's something in \the [parent]...!") + + else if(prob(bad_chance_of_discovery)) //finding the item, BY biting it + user.log_message("[key_name(user)] just fed [key_name(target)] a/an [stored_item] which was hidden in [parent] at [AREACOORD(target)]", LOG_ATTACK) + discovered = stored_item.on_accidental_consumption(target, user, parent) + update_stored_item() //make sure if the item was changed, the reference changes as well + + if(!QDELETED(stored_item) && discovered) + INVOKE_ASYNC(src, PROC_REF(remove_item), user) + +/** Updates the reference of the stored item. + * + * Checks the food's contents for if an alternate item was placed into the food. + * If there is an alternate item, updates the reference to the new item. + * If there isn't, updates the reference to null. + * + * Returns FALSE if the ref is nulled, or TRUE is another item replaced it. + */ +/datum/component/food_storage/proc/update_stored_item() + var/atom/food = parent + if(!food?.contents.len) //if there's no items in the food or food is deleted somehow + stored_item = null + return FALSE + + for(var/obj/item/i in food.contents) //search the food's contents for a replacement item + if(IS_EDIBLE(i)) + continue + if(QDELETED(i)) + continue + + stored_item = i //we found something to replace it + return TRUE + + //if there's nothing else in the food, or we found nothing valid + stored_item = null + return FALSE diff --git a/code/datums/components/forensics.dm b/code/datums/components/forensics.dm index 6f2a34e50ea..4ef12e5bf93 100644 --- a/code/datums/components/forensics.dm +++ b/code/datums/components/forensics.dm @@ -190,6 +190,9 @@ return if(!length(blood_DNA)) return - if(isitem(parent)) - var/obj/item/I = parent - I.AddElement(/datum/element/decal/blood, I.icon, I.icon_state, _color = get_blood_dna_color(blood_DNA)) + var/obj/item/parent_item = parent + var/icon_state_adj = parent_item.icon_state + if(isbodypart(parent))//betterlimbs moment + var/obj/item/bodypart/parent_part = parent + icon_state_adj = parent_part.stored_icon_state + parent_item.AddElement(/datum/element/decal/blood, parent_item.icon, icon_state_adj, _color = get_blood_dna_color(blood_DNA)) diff --git a/code/datums/components/gunpoint.dm b/code/datums/components/gunpoint.dm index 85701e9c762..ab7b1e64141 100644 --- a/code/datums/components/gunpoint.dm +++ b/code/datums/components/gunpoint.dm @@ -46,7 +46,7 @@ addtimer(CALLBACK(src, PROC_REF(update_stage), 2), GUNPOINT_DELAY_STAGE_2) -/datum/component/gunpoint/Destroy(force, silent) +/datum/component/gunpoint/Destroy(force) var/mob/living/shooter = parent shooter.remove_status_effect(STATUS_EFFECT_HOLDUP) target.remove_status_effect(STATUS_EFFECT_HELDUP) diff --git a/code/datums/components/jetpack.dm b/code/datums/components/jetpack.dm new file mode 100644 index 00000000000..3451a75538a --- /dev/null +++ b/code/datums/components/jetpack.dm @@ -0,0 +1,149 @@ +// Welcome to the jetpack component +// Apply this to something when you want it to be "like a jetpack" +// So propulsion through space on move, that sort of thing +/datum/component/jetpack + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + var/datum/callback/check_on_move + var/datum/callback/get_mover + /// If we should stabilize ourselves when not drifting + var/stabilize = FALSE + /// The signal we listen for as an activation + var/activation_signal + /// The signal we listen for as a de-activation + var/deactivation_signal + /// The return flag our parent expects for a failed activation + var/return_flag + var/datum/effect_system/trail_follow/trail + /// The typepath to instansiate our trail as, when we need it + var/effect_type + +/** + * Arguments: + * * stabilize - If we should drift when we finish moving, or sit stable in space] + * * activation_signal - Signal we activate on + * * deactivation_signal - Signal we deactivate on + * * return_flag - Flag to return if activation fails + * * get_mover - Callback we use to get the "moving" thing, for trail purposes, alongside signal registration + * * 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/get_mover, datum/callback/check_on_move, datum/effect_system/trail_follow/effect_type) + . = ..() + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + if(!activation_signal) // Can't activate? go away + return COMPONENT_INCOMPATIBLE + + RegisterSignal(parent, activation_signal, PROC_REF(activate)) + if(deactivation_signal) + RegisterSignal(parent, deactivation_signal, PROC_REF(deactivate)) + + src.check_on_move = check_on_move + src.get_mover = get_mover + src.stabilize = stabilize + src.return_flag = return_flag + src.activation_signal = activation_signal + src.deactivation_signal = deactivation_signal + src.effect_type = effect_type + +/datum/component/jetpack/InheritComponent(datum/component/component, original, stabilize, activation_signal, deactivation_signal, return_flag, datum/callback/get_mover, 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) + RegisterSignal(parent, activation_signal, PROC_REF(activate)) + if(deactivation_signal) + RegisterSignal(parent, deactivation_signal, PROC_REF(deactivate)) + + src.check_on_move = check_on_move + src.get_mover = get_mover + src.stabilize = stabilize + src.activation_signal = activation_signal + src.deactivation_signal = deactivation_signal + src.effect_type = effect_type + + if(trail && effect_type != trail.type) + QDEL_NULL(trail) + setup_trail() + +/datum/component/jetpack/Destroy() + QDEL_NULL(trail) + QDEL_NULL(check_on_move) + return ..() + +/datum/component/jetpack/proc/setup_trail() + var/mob/moving = get_mover.Invoke() + if(!moving || trail) + return + trail = new effect_type + trail.auto_process = FALSE + trail.set_up(moving) + +/datum/component/jetpack/proc/activate(datum/source) + SIGNAL_HANDLER + var/mob/moving = get_mover.Invoke() + if(!thrust(moving)) + return return_flag + trail.start() + RegisterSignal(moving, COMSIG_MOVABLE_MOVED, PROC_REF(move_react)) + RegisterSignal(moving, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(pre_move_react)) + RegisterSignal(moving, COMSIG_MOVABLE_SPACEMOVE, PROC_REF(spacemove_react)) + RegisterSignal(moving, COMSIG_MOVABLE_DRIFT_VISUAL_ATTEMPT, PROC_REF(block_starting_visuals)) + RegisterSignal(moving, COMSIG_MOVABLE_DRIFT_BLOCK_INPUT, PROC_REF(ignore_ending_block)) + +/datum/component/jetpack/proc/deactivate(datum/source) + SIGNAL_HANDLER + QDEL_NULL(trail) + var/mob/moving = get_mover.Invoke() + if(moving) + UnregisterSignal(moving, COMSIG_MOVABLE_MOVED) + UnregisterSignal(moving, COMSIG_MOVABLE_PRE_MOVE) + UnregisterSignal(moving, COMSIG_MOVABLE_SPACEMOVE) + UnregisterSignal(moving, COMSIG_MOVABLE_DRIFT_VISUAL_ATTEMPT) + UnregisterSignal(moving, COMSIG_MOVABLE_DRIFT_BLOCK_INPUT) + +/datum/component/jetpack/proc/move_react(mob/user) + 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. + 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(length(user.client.keys_held & user.client.movement_keys))//You use jet when press keys. yes. + thrust() + +/datum/component/jetpack/proc/pre_move_react(mob/user) + SIGNAL_HANDLER + trail.oldposition = get_turf(user) + +/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)) + return FALSE + if(!trail) + setup_trail() + 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) + SIGNAL_HANDLER + return DRIFT_VISUAL_FAILED + +/// 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) + SIGNAL_HANDLER + return DRIFT_ALLOW_INPUT diff --git a/code/datums/components/manual_blinking.dm b/code/datums/components/manual_blinking.dm index d97e88ca8fe..e33d5f558d8 100644 --- a/code/datums/components/manual_blinking.dm +++ b/code/datums/components/manual_blinking.dm @@ -22,7 +22,7 @@ last_blink = world.time to_chat(C, "You suddenly realize you're blinking manually.") -/datum/component/manual_blinking/Destroy(force, silent) +/datum/component/manual_blinking/Destroy(force) E = null STOP_PROCESSING(SSdcs, src) to_chat(parent, "You revert back to automatic blinking.") diff --git a/code/datums/components/manual_breathing.dm b/code/datums/components/manual_breathing.dm index bcae15536ca..882887f0ccc 100644 --- a/code/datums/components/manual_breathing.dm +++ b/code/datums/components/manual_breathing.dm @@ -22,7 +22,7 @@ last_breath = world.time to_chat(C, "You suddenly realize you're breathing manually.") -/datum/component/manual_breathing/Destroy(force, silent) +/datum/component/manual_breathing/Destroy(force) L = null STOP_PROCESSING(SSdcs, src) to_chat(parent, "You revert back to automatic breathing.") diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index a1cc816fc5f..58fe88b13bb 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -80,6 +80,9 @@ if(!has_space(material_amount)) to_chat(user, "[parent] is full. Please remove materials from [parent] in order to insert more.") return + if(I.contents.len && !istype(I, /obj/item/stack) && !istype(I, /obj/item/ammo_box/magazine/ammo_stack)) + to_chat(user, span_warning("[I] has items inside of it. Please remove them before inserting it.")) + return user_insert(I, user) /// Proc used for when player inserts materials diff --git a/code/datums/components/melee/charged.dm b/code/datums/components/melee/charged.dm new file mode 100644 index 00000000000..2319977a4a0 --- /dev/null +++ b/code/datums/components/melee/charged.dm @@ -0,0 +1,127 @@ +/* + * Charged weapon component. For weapons that swap between states but require a cell for function. + * For example: Stun batons. + * + * Used to easily make an item that can be attack_self'd to gain force or change mode. + * + * Only values passed on initialize will update when the item is activated (except the icon_state). + * The icon_state of the item will swap between "[icon_state]" and "[icon_state]_on". + */ +/datum/component/transforming/charged + var/obj/item/stock_parts/cell/cell + var/allowed_cells + var/preload_cell_type + var/cell_hit_cost + var/can_remove_cell + var/no_cell_icon + +/datum/component/transforming/charged/Initialize( + start_transformed = FALSE, + transform_cooldown_time = 0 SECONDS, + force_on = 0, + throwforce_on = 0, + throw_speed_on = 2, + sharpness_on = NONE, + hitsound_on = 'sound/weapons/blade1.ogg', + w_class_on = WEIGHT_CLASS_BULKY, + list/attack_verb_on, + inhand_icon_change = TRUE, + _allowed_cells = list(), + _preload_cell_type = /obj/item/stock_parts/cell, + _cell_hit_cost = 1000, + _can_remove_cell = FALSE, + _no_cell_icon = FALSE +) + . = ..() + + allowed_cells = _allowed_cells + preload_cell_type = _preload_cell_type + cell_hit_cost = _cell_hit_cost + can_remove_cell = _can_remove_cell + no_cell_icon = _no_cell_icon + + if(preload_cell_type in allowed_cells) + cell = new preload_cell_type(parent) + +/datum/component/transforming/charged/RegisterWithParent() + . = ..() + RegisterSignal(parent, COMSIG_ATOM_SCREWDRIVER_ACT, PROC_REF(on_screwdriver_act)) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attackby)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) + RegisterSignal(parent, COMSIG_ITEM_USE_CELL, PROC_REF(deduct_charge)) + +/datum/component/transforming/charged/Destroy(force, silent) + if(cell) + QDEL_NULL(cell) + . = ..() + +/datum/component/transforming/charged/on_attack_self(obj/item/source, mob/user) + if(cell && cell.charge > cell_hit_cost) + return ..() + else + set_inactive(source) + if(!cell) + to_chat(user, span_warning("[source] does not have a power source!")) + else + to_chat(user, span_warning("[source] is out of charge.")) + +/datum/component/transforming/charged/proc/on_screwdriver_act(obj/item/source, mob/user, obj/item/screwdriver) + if(cell && can_remove_cell) + cell.update_appearance() + cell.forceMove(get_turf(parent)) + cell = null + to_chat(user, span_notice("You remove the cell from [parent].")) + set_inactive(source) + source.update_appearance() + return COMPONENT_CANCEL_ATTACK_CHAIN + +/datum/component/transforming/charged/proc/on_attackby(obj/item/source, obj/item/attacking_item, mob/user, params) + SIGNAL_HANDLER + + if(attacking_item.type in allowed_cells) + var/obj/item/stock_parts/cell/attacking_cell = attacking_item + if(cell) + to_chat(user, span_notice("[parent] already has a cell!")) + else + if(attacking_cell.maxcharge < cell_hit_cost) + to_chat(user, span_notice("[parent] requires a higher capacity cell.")) + return + if(!user.transferItemToLoc(attacking_item, parent)) + return + cell = attacking_item + to_chat(user, span_notice("You install a cell in [parent].")) + source.update_appearance() + return COMPONENT_CANCEL_ATTACK_CHAIN + +/datum/component/transforming/charged/proc/on_examine(obj/item/source, mob/user, list/examine_list) + SIGNAL_HANDLER + + if(cell) + examine_list += span_notice("\The [source] is [round(cell.percent())]% charged.") + else + examine_list += span_warning("\The [source] does not have a power source installed.") + +/datum/component/transforming/charged/proc/deduct_charge(obj/item/source) + SIGNAL_HANDLER + if(cell) + . = cell.use(cell_hit_cost) + if(active && cell.charge < cell_hit_cost) + playsound(src, SFX_SPARKS, 75, TRUE, -1) + set_inactive(source) + +/datum/component/transforming/charged/proc/set_active_state(active_state = -1) + switch(active_state) + //We didnt pass a specific state to set it to so just toggle it + if(-1) + toggle_active(parent) + if(FALSE) + set_inactive(parent) + if(TRUE) + set_active(parent) + +/datum/component/transforming/charged/set_inactive(obj/item/source) + . = ..() + if(!cell) + source.icon_state = "[initial(source.icon_state)]_nocell" + source.item_state = "[initial(source.icon_state)]_nocell" + source.update_appearance() diff --git a/code/datums/components/melee/transforming.dm b/code/datums/components/melee/transforming.dm new file mode 100644 index 00000000000..744d75de34b --- /dev/null +++ b/code/datums/components/melee/transforming.dm @@ -0,0 +1,236 @@ +/* + * Transforming weapon component. For weapons that swap between states. + * For example: Energy swords, cleaving saws, switch blades. + * + * Used to easily make an item that can be attack_self'd to gain force or change mode. + * + * Only values passed on initialize will update when the item is activated (except the icon_state). + * The icon_state of the item will swap between "[icon_state]" and "[icon_state]_on". + */ +/datum/component/transforming + /// Whether the weapon is transformed + var/active = FALSE + /// Cooldown on transforming this item back and forth + var/transform_cooldown_time + /// Force of the weapon when active + var/force_on + /// Throwforce of the weapon when active + var/throwforce_on + /// Throw speed of the weapon when active + var/throw_speed_on + /// Weight class of the weapon when active + var/w_class_on + /// The sharpness of the weapon when active + var/sharpness_on + /// Hitsound played when active + var/hitsound_on + /// List of the original attack verbs the item has. + var/list/attack_verb_off + /// List of attack verbs used when the weapon is enabled + var/list/attack_verb_on + /// If we get sharpened with a whetstone, save the bonus here for later use if we un/redeploy + var/sharpened_bonus = 0 + /// Dictate whether we change inhands or not + var/inhand_icon_change = TRUE + /// Cooldown in between transforms + COOLDOWN_DECLARE(transform_cooldown) + +/datum/component/transforming/Initialize( + start_transformed = FALSE, + transform_cooldown_time = 0 SECONDS, + force_on = 0, + throwforce_on = 0, + throw_speed_on = 2, + sharpness_on = NONE, + hitsound_on = 'sound/weapons/blade1.ogg', + w_class_on = WEIGHT_CLASS_BULKY, + list/attack_verb_on, + inhand_icon_change = TRUE, +) + + if(!isitem(parent)) + return COMPONENT_INCOMPATIBLE + + var/obj/item/item_parent = parent + + src.transform_cooldown_time = transform_cooldown_time + src.force_on = force_on + src.throwforce_on = throwforce_on + src.throw_speed_on = throw_speed_on + src.sharpness_on = sharpness_on + src.hitsound_on = hitsound_on + src.w_class_on = w_class_on + src.inhand_icon_change = inhand_icon_change + + if(attack_verb_on) + src.attack_verb_on = attack_verb_on + attack_verb_off = item_parent.attack_verb + + if(start_transformed) + toggle_active(parent) + +/datum/component/transforming/RegisterWithParent() + var/obj/item/item_parent = parent + + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, PROC_REF(on_attack_self)) + RegisterSignal(parent, COMSIG_ITEM_FORCE_TRANSFORM, PROC_REF(force_transform)) + if(item_parent.sharpness || sharpness_on) + RegisterSignal(parent, COMSIG_ITEM_SHARPEN_ACT, PROC_REF(on_sharpen)) + + +/datum/component/transforming/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_ITEM_ATTACK_SELF, COMSIG_ITEM_SHARPEN_ACT)) + +/* + * Called on [COMSIG_ITEM_ATTACK_SELF]. + * + * Check if we can transform our weapon, and if so, call [do_transform]. + * Sends signal [COMSIG_TRANSFORMING_PRE_TRANSFORM], and stops the transform action if it returns [COMPONENT_BLOCK_TRANSFORM]. + * + * source - source of the signal, the item being transformed / parent + * user - the mob transforming the weapon + */ +/datum/component/transforming/proc/on_attack_self(obj/item/source, mob/user) + SIGNAL_HANDLER + + if(!COOLDOWN_FINISHED(src, transform_cooldown)) + to_chat(user, span_warning("Wait a bit before trying to use [source] again!")) + return + + if(SEND_SIGNAL(source, COMSIG_TRANSFORMING_PRE_TRANSFORM, user, active) & COMPONENT_BLOCK_TRANSFORM) + return + + if(do_transform(source, user)) + return COMPONENT_CANCEL_ATTACK_CHAIN + +/* + * Transform the weapon into its alternate form, calling [toggle_active]. + * + * Sends signal [COMSIG_TRANSFORMING_ON_TRANSFORM], and calls [default_transform_message] if it does not return [COMPONENT_NO_DEFAULT_MESSAGE]. + * Also starts the [transform_cooldown] if we have a set [transform_cooldown_time]. + * + * source - the item being transformed / parent + * user - the mob transforming the item + * + * returns TRUE. + */ +/datum/component/transforming/proc/do_transform(obj/item/source, mob/user) + toggle_active(source) + if(!(SEND_SIGNAL(source, COMSIG_TRANSFORMING_ON_TRANSFORM, user, active) & COMPONENT_NO_DEFAULT_MESSAGE)) + default_transform_message(source, user) + + if(isnum(transform_cooldown_time)) + COOLDOWN_START(src, transform_cooldown, transform_cooldown_time) + if(user) + source.add_fingerprint(user) + return TRUE + +/* + * The default feedback message and sound effect for an item transforming. + * + * source - the item being transformed / parent + * user - the mob transforming the item + */ +/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) + +/* + * Toggle active between true and false, and call + * either set_active or set_inactive depending on whichever state is toggled. + * + * source - the item being transformed / parent + */ +/datum/component/transforming/proc/toggle_active(obj/item/source) + active = !active + if(active) + set_active(source) + else + set_inactive(source) + +/* + * Set our transformed item into its active state. + * Updates all the values that were passed from init and the icon_state. + * + * source - the item being transformed / parent + */ +/datum/component/transforming/proc/set_active(obj/item/source) + ADD_TRAIT(source, TRAIT_TRANSFORM_ACTIVE, REF(src)) + if(sharpness_on) + source.sharpness = sharpness_on + if(force_on) + source.force = force_on + (source.sharpness ? sharpened_bonus : 0) + if(throwforce_on) + source.throwforce = throwforce_on + (source.sharpness ? sharpened_bonus : 0) + if(throw_speed_on) + source.throw_speed = throw_speed_on + + if(LAZYLEN(attack_verb_on)) + source.attack_verb = attack_verb_on + + source.hitsound = hitsound_on + source.update_weight_class(w_class_on) + source.icon_state = "[source.icon_state]_on" + if(inhand_icon_change && source.item_state) + source.item_state = "[source.item_state]_on" + + source.update_appearance() + if(ismob(source.loc)) + var/mob/loc_mob = source.loc + loc_mob.update_inv_hands() + +/* + * Set our transformed item into its inactive state. + * Updates all the values back to the item's initial values. + * + * source - the item being un-transformed / parent + */ +/datum/component/transforming/proc/set_inactive(obj/item/source) + REMOVE_TRAIT(source, TRAIT_TRANSFORM_ACTIVE, REF(src)) + if(sharpness_on) + source.sharpness = initial(source.sharpness) + if(force_on) + source.force = initial(source.force) + (source.sharpness ? sharpened_bonus : 0) + if(throwforce_on) + source.throwforce = initial(source.throwforce) + (source.sharpness ? sharpened_bonus : 0) + if(throw_speed_on) + source.throw_speed = initial(source.throw_speed) + + if(LAZYLEN(attack_verb_off)) + source.attack_verb = attack_verb_off + + source.hitsound = initial(source.hitsound) + source.update_weight_class(initial(source.w_class)) + source.icon_state = initial(source.icon_state) + source.item_state = initial(source.item_state) + + source.update_appearance() + if(ismob(source.loc)) + var/mob/loc_mob = source.loc + loc_mob.update_inv_hands() + +/* + * Called on [COMSIG_ITEM_SHARPEN_ACT]. + * We need to track our sharpened bonus here, so we correctly apply and unapply it + * if our item's sharpness state changes from transforming. + * + * source - the item being sharpened / parent + * increment - the amount of force added + * max - the maximum force that the item can be adjusted to. + * + * Does not return naturally [COMPONENT_BLOCK_SHARPEN_APPLIED] as this is only to track our sharpened bonus between transformation. + */ +/datum/component/transforming/proc/on_sharpen(obj/item/source, increment, max) + SIGNAL_HANDLER + + if(sharpened_bonus) + return COMPONENT_BLOCK_SHARPEN_ALREADY + if(force_on + increment > max) + return COMPONENT_BLOCK_SHARPEN_MAXED + sharpened_bonus = increment + +/datum/component/transforming/proc/force_transform(obj/item/source) + if(isnum(transform_cooldown_time)) + COOLDOWN_START(src, transform_cooldown, transform_cooldown_time) + set_inactive(source) diff --git a/code/datums/components/twohanded.dm b/code/datums/components/melee/twohanded.dm similarity index 96% rename from code/datums/components/twohanded.dm rename to code/datums/components/melee/twohanded.dm index 51c9268d13a..c459b49a628 100644 --- a/code/datums/components/twohanded.dm +++ b/code/datums/components/melee/twohanded.dm @@ -4,12 +4,13 @@ * When applied to an item it will make it two handed * */ + /datum/component/two_handed dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS // Only one of the component can exist on an item var/wielded = FALSE /// Are we holding the two handed item properly var/force_multiplier = 0 /// The multiplier applied to force when wielded, does not work with force_wielded, and force_unwielded - var/force_wielded = 0 /// The force of the item when weilded - var/force_unwielded = 0 /// The force of the item when unweilded + var/force_wielded = null /// The force of the item when wielded + var/force_unwielded = null /// The force of the item when unwielded var/wieldsound = FALSE /// Play sound when wielded var/unwieldsound = FALSE /// Play sound when unwielded var/attacksound = FALSE /// Play sound on attack when wielded @@ -32,7 +33,7 @@ * * icon_wielded (optional) The icon to be used when wielded */ /datum/component/two_handed/Initialize(require_twohands=FALSE, wieldsound=FALSE, unwieldsound=FALSE, attacksound=FALSE, \ - force_multiplier=0, force_wielded=0, force_unwielded=0, icon_wielded=FALSE) + force_multiplier=0, force_wielded=null, force_unwielded=null, icon_wielded=FALSE) if(!isitem(parent)) return COMPONENT_INCOMPATIBLE @@ -145,13 +146,14 @@ if(SEND_SIGNAL(parent, COMSIG_TWOHANDED_WIELD, user) & COMPONENT_TWOHANDED_BLOCK_WIELD) return // blocked wield from item wielded = TRUE + ADD_TRAIT(parent, TRAIT_WIELDED, REF(src)) RegisterSignal(user, COMSIG_MOB_SWAP_HANDS, PROC_REF(on_swap_hands)) // update item stats and name var/obj/item/parent_item = parent if(force_multiplier) parent_item.force *= force_multiplier - else if(force_wielded) + else if(!isnull(force_wielded)) parent_item.force = force_wielded if(sharpened_increase) parent_item.force += sharpened_increase @@ -188,6 +190,7 @@ // wield update status wielded = FALSE + REMOVE_TRAIT(parent, TRAIT_WIELDED, REF(src)) UnregisterSignal(user, COMSIG_MOB_SWAP_HANDS) SEND_SIGNAL(parent, COMSIG_TWOHANDED_UNWIELD, user) @@ -197,7 +200,7 @@ parent_item.force -= sharpened_increase if(force_multiplier) parent_item.force /= force_multiplier - else if(force_unwielded) + else if(!isnull(force_unwielded)) parent_item.force = force_unwielded // update the items name to remove the wielded status @@ -303,7 +306,7 @@ sharpened_increase = min(amount, (max_amount - wielded_val)) return COMPONENT_BLOCK_SHARPEN_APPLIED -/** +/* * The offhand dummy item for two handed items * */ diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index 3434c741dba..a37fd00c3b5 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -89,7 +89,7 @@ if(mood_events.len) for(var/i in mood_events) var/datum/mood_event/event = mood_events[i] - msg += event.description + msg += "[event.description]\n" // now we dont have to put \n in every moodlet description else msg += "I don't have much of a reaction to anything right now.\n" to_chat(user, examine_block(msg)) diff --git a/code/datums/components/pellet_cloud.dm b/code/datums/components/pellet_cloud.dm index 19b1e209499..d18bdc7d8cb 100644 --- a/code/datums/components/pellet_cloud.dm +++ b/code/datums/components/pellet_cloud.dm @@ -60,7 +60,7 @@ else if(isgrenade(parent) || islandmine(parent) || issupplypod(parent)) radius = magnitude -/datum/component/pellet_cloud/Destroy(force, silent) +/datum/component/pellet_cloud/Destroy(force) purple_hearts = null pellets = null targets_hit = null @@ -90,7 +90,10 @@ /datum/component/pellet_cloud/proc/create_casing_pellets(obj/item/ammo_casing/shell, atom/target, mob/living/user, fired_from, randomspread, spread, zone_override, params, distro) - shooter = user + if(user) + shooter = user + else + shooter = fired_from var/targloc = get_turf(target) if(!zone_override) zone_override = shooter.zone_selected @@ -106,8 +109,12 @@ RegisterSignal(shell.BB, COMSIG_PROJECTILE_SELF_ON_HIT, PROC_REF(pellet_hit)) RegisterSignal(shell.BB, list(COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PARENT_QDELETING), PROC_REF(pellet_range)) pellets += shell.BB - if(!shell.throw_proj(target, targloc, shooter, params, spread)) - return + if(user) + if(!shell.throw_proj(target, targloc, shooter, params, spread)) + return + else + if(!shell.throw_proj(target, targloc, null, params, spread, shooter)) + return if(i != num_pellets) shell.newshot() diff --git a/code/datums/components/radioactive.dm b/code/datums/components/radioactive.dm index a6c67af2d3c..26d98b99e80 100644 --- a/code/datums/components/radioactive.dm +++ b/code/datums/components/radioactive.dm @@ -30,7 +30,7 @@ //Let's make er glow //This relies on parent not being a turf or something. IF YOU CHANGE THAT, CHANGE THIS var/atom/movable/master = parent - master.add_filter("rad_glow", 2, list("type" = "outline", "color" = "#39ff1430", "size" = 2)) + master.add_filter("rad_glow", 2, list("type" = "outline", "color" = RAD_GLOW_COLOR, "size" = 2)) addtimer(CALLBACK(src, PROC_REF(glow_loop), master), rand(1,19))//Things should look uneven START_PROCESSING(SSradiation, src) @@ -55,7 +55,6 @@ var/filter = master.get_filter("rad_glow") if(filter) animate(filter, alpha = 110, time = 15, loop = -1) - animate(alpha = 40, time = 25) /datum/component/radioactive/InheritComponent(datum/component/C, i_am_original, _strength, _source, _half_life, _can_contaminate) if(!i_am_original) diff --git a/code/datums/components/remote_materials.dm b/code/datums/components/remote_materials.dm index 2f3aa79749b..8de76721ff2 100644 --- a/code/datums/components/remote_materials.dm +++ b/code/datums/components/remote_materials.dm @@ -23,6 +23,7 @@ handles linking back and forth. src.category = category src.allow_standalone = allow_standalone + RegisterSignal(parent, COMSIG_OBJ_DECONSTRUCT, PROC_REF(OnDeconstruct)) RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(OnAttackBy)) RegisterSignal(parent, COMSIG_ATOM_MULTITOOL_ACT, PROC_REF(OnMultitool)) @@ -35,11 +36,15 @@ handles linking back and forth. silo.updateUsrDialog() silo = null mat_container = null - else if (mat_container) + mat_container = null + return ..() + +/datum/component/remote_materials/proc/OnDeconstruct(disassembled) + SIGNAL_HANDLER + if(!silo && mat_container) // specify explicitly in case the other component is deleted first var/atom/P = parent mat_container.retrieve_all(P.drop_location()) - return ..() /datum/component/remote_materials/proc/_MakeLocal() silo = null @@ -77,9 +82,11 @@ handles linking back and forth. /datum/component/remote_materials/proc/OnAttackBy(datum/source, obj/item/I, mob/user) SIGNAL_HANDLER - if (silo && istype(I, /obj/item/stack)) - if (silo.remote_attackby(parent, user, I)) - return COMPONENT_NO_AFTERATTACK + if (!silo || !istype(I, /obj/item/stack)) + return + + if (silo.remote_attackby(parent, user, I)) + return COMPONENT_NO_AFTERATTACK /datum/component/remote_materials/proc/OnMultitool(datum/source, mob/user, obj/item/I) SIGNAL_HANDLER diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm index 7d3bf028d79..f4ff07423c5 100644 --- a/code/datums/components/riding.dm +++ b/code/datums/components/riding.dm @@ -369,7 +369,7 @@ /obj/item/riding_offhand name = "offhand" - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "offhand" w_class = WEIGHT_CLASS_HUGE item_flags = ABSTRACT | DROPDEL | NOBLUDGEON diff --git a/code/datums/components/shielded.dm b/code/datums/components/shielded.dm new file mode 100644 index 00000000000..7c2c3473e2d --- /dev/null +++ b/code/datums/components/shielded.dm @@ -0,0 +1,186 @@ +/** + * The shielded component causes the parent item to nullify a certain number of attacks against the wearer, see: shielded vests. + */ + +/datum/component/shielded + /// The person currently wearing us + var/mob/living/wearer + /// How many charges we can have max, and how many we start with + var/max_charges + /// How many charges we currently have + var/current_charges + /// How long we have to avoid being hit to replenish charges. If set to 0, we never recharge lost charges + var/recharge_start_delay = 20 SECONDS + /// Once we go unhit long enough to recharge, we replenish charges this often. The floor is effectively 1 second, AKA how often SSdcs processes + var/charge_increment_delay = 1 SECONDS + /// How many charges we recover on each charge increment + var/charge_recovery = 1 + /// What .dmi we're pulling the shield icon from + var/shield_icon_file = 'icons/effects/effects.dmi' + /// What icon is used when someone has a functional shield up + var/shield_icon = "shield-old" + /// Do we still shield if we're being held in-hand? If FALSE, it needs to be equipped to a slot to work + var/shield_inhand = FALSE + /// Should the shield lose charges equal to the damage dealt by a hit? + var/lose_multiple_charges = FALSE + /// The cooldown tracking when we were last hit + COOLDOWN_DECLARE(recently_hit_cd) + /// The cooldown tracking when we last replenished a charge + COOLDOWN_DECLARE(charge_add_cd) + /// A callback for the sparks/message that play when a charge is used, see [/datum/component/shielded/proc/default_run_hit_callback] + var/datum/callback/on_hit_effects + +/datum/component/shielded/Initialize(max_charges = 3, recharge_start_delay = 20 SECONDS, charge_increment_delay = 1 SECONDS, charge_recovery = 1, lose_multiple_charges = FALSE, starting_charges = null, shield_icon_file = 'icons/effects/effects.dmi', shield_icon = "shield-old", shield_inhand = FALSE, run_hit_callback) + if(!isitem(parent) || max_charges <= 0) + return COMPONENT_INCOMPATIBLE + + src.max_charges = max_charges + src.recharge_start_delay = recharge_start_delay + src.charge_increment_delay = charge_increment_delay + src.charge_recovery = charge_recovery + src.lose_multiple_charges = lose_multiple_charges + src.shield_icon_file = shield_icon_file + src.shield_icon = shield_icon + src.shield_inhand = shield_inhand + src.on_hit_effects = run_hit_callback || CALLBACK(src, PROC_REF(default_run_hit_callback)) + if(isnull(starting_charges)) + current_charges = max_charges + else + current_charges = starting_charges + if(recharge_start_delay) + START_PROCESSING(SSdcs, src) + +/datum/component/shielded/Destroy(force) + if(wearer) + shield_icon = "broken" + UnregisterSignal(wearer, COMSIG_ATOM_UPDATE_OVERLAYS) + wearer.update_appearance(UPDATE_ICON) + wearer = null + QDEL_NULL(on_hit_effects) + return ..() + +/datum/component/shielded/RegisterWithParent() + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equipped)) + RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(lost_wearer)) + RegisterSignal(parent, COMSIG_ITEM_HIT_REACT, PROC_REF(on_hit_react)) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(check_recharge_rune)) + var/atom/shield = parent + if(ismob(shield.loc)) + var/mob/holder = shield.loc + if(holder.is_holding(parent) && !shield_inhand) + return + set_wearer(holder) + +/datum/component/shielded/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED, COMSIG_ITEM_HIT_REACT, COMSIG_PARENT_ATTACKBY)) + var/atom/shield = parent + if(shield.loc == wearer) + lost_wearer(src, wearer) + +// Handle recharging, if we want to +/datum/component/shielded/process(delta_time) + if(current_charges >= max_charges) + STOP_PROCESSING(SSdcs, src) + return + + if(!COOLDOWN_FINISHED(src, recently_hit_cd)) + return + if(!COOLDOWN_FINISHED(src, charge_add_cd)) + return + + 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) + if(current_charges == max_charges) + playsound(item_parent, 'sound/machines/ding.ogg', 50, TRUE) + +/datum/component/shielded/proc/adjust_charge(change) + current_charges = clamp(current_charges + change, 0, max_charges) + if(wearer) + wearer.update_appearance(UPDATE_ICON) + +/// Check if we've been equipped to a valid slot to shield +/datum/component/shielded/proc/on_equipped(datum/source, mob/user, slot) + SIGNAL_HANDLER + + if(slot == ITEM_SLOT_HANDS && !shield_inhand) + lost_wearer(source, user) + return + set_wearer(source, user) + +/// Either we've been dropped or our wearer has been QDEL'd. Either way, they're no longer our problem +/datum/component/shielded/proc/lost_wearer(datum/source, mob/user) + SIGNAL_HANDLER + + if(wearer) + UnregisterSignal(wearer, list(COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_PARENT_QDELETING)) + wearer.update_appearance(UPDATE_ICON) + wearer = null + +/datum/component/shielded/proc/set_wearer(mob/user) + wearer = user + RegisterSignal(wearer, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_update_overlays)) + RegisterSignal(wearer, COMSIG_PARENT_QDELETING, PROC_REF(lost_wearer)) + if(current_charges) + wearer.update_appearance(UPDATE_ICON) + +/// Used to draw the shield overlay on the wearer +/datum/component/shielded/proc/on_update_overlays(atom/parent_atom, list/overlays) + SIGNAL_HANDLER + + overlays += mutable_appearance(shield_icon_file, (current_charges > 0 ? shield_icon : "broken"), ABOVE_MOB_LAYER) + +/** + * This proc fires when we're hit, and is responsible for checking if we're charged, then deducting one + returning that we're blocking if so. + * It then runs the callback in [/datum/component/shielded/var/on_hit_effects] which handles the messages/sparks (so the visuals) + */ +/datum/component/shielded/proc/on_hit_react(datum/source, mob/living/carbon/human/owner, atom/movable/hitby, attack_text, final_block_chance, damage, attack_type) + SIGNAL_HANDLER + + COOLDOWN_START(src, recently_hit_cd, recharge_start_delay) + + if(current_charges <= 0) + return + . = COMPONENT_HIT_REACTION_BLOCK + + var/charge_loss = 1 // how many charges do we lose + + if(lose_multiple_charges) // if the shield has health like damage we'll lose charges equal to the damage of the hit + charge_loss = damage + + adjust_charge(-charge_loss) + + INVOKE_ASYNC(src, PROC_REF(actually_run_hit_callback), owner, attack_text, current_charges) + + if(!recharge_start_delay) // if recharge_start_delay is 0, we don't recharge + if(!current_charges) // obviously if someone ever adds a manual way to replenish charges, change this + qdel(src) + return + + START_PROCESSING(SSdcs, src) // if we DO recharge, start processing so we can do that + +/// The wrapper to invoke the on_hit callback, so we don't have to worry about blocking in the signal handler +/datum/component/shielded/proc/actually_run_hit_callback(mob/living/owner, attack_text, current_charges) + on_hit_effects.Invoke(owner, attack_text, current_charges) + +/// Default on_hit proc, since cult robes are stupid and have different descriptions/sparks +/datum/component/shielded/proc/default_run_hit_callback(mob/living/owner, attack_text, current_charges) + do_sparks(2, TRUE, owner) + owner.visible_message(span_danger("Щит [owner] отражает [attack_text]!")) + if(current_charges <= 0) + owner.visible_message(span_warning("Щит [owner] перегружается!")) + +/datum/component/shielded/proc/check_recharge_rune(datum/source, obj/item/wizard_armour_charge/recharge_rune, mob/living/user) + /*SIGNAL_HANDLER + + if(!istype(recharge_rune)) + return + . = COMPONENT_NO_AFTERATTACK + if(!istype(parent, /obj/item/clothing/suit/space/hardsuit/shielded/wizard)) + to_chat(user, span_warning("Руна может быть использована только на броне боевого мага!")) + return + + current_charges += recharge_rune.restored_charges + to_chat(user, span_notice("Заряжаю [parent]. Теперь она сможет поглотить [current_charges] ударов.")) + qdel(recharge_rune)*/ diff --git a/code/datums/components/sizzle.dm b/code/datums/components/sizzle.dm index 88fadb377ce..ecb45e448d8 100644 --- a/code/datums/components/sizzle.dm +++ b/code/datums/components/sizzle.dm @@ -3,9 +3,11 @@ var/sizzlealpha = 0 dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS -/datum/component/sizzle/Initialize() +/datum/component/sizzle/Initialize(_alpha) if(!isatom(parent)) return COMPONENT_INCOMPATIBLE + if(_alpha) + sizzlealpha = _alpha setup_sizzle() /datum/component/sizzle/InheritComponent(datum/component/C, i_am_original) diff --git a/code/datums/components/slippery.dm b/code/datums/components/slippery.dm index 5c2c88ccfee..c31ba2bd50e 100644 --- a/code/datums/components/slippery.dm +++ b/code/datums/components/slippery.dm @@ -93,14 +93,3 @@ /datum/component/slippery/proc/Slip_on_wearer(datum/source, atom/movable/arrived) SIGNAL_HANDLER - -/// Used for making the clown PDA only slip if the clown is wearing his shoes and the elusive banana-skin belt -/datum/component/slippery/clowning - -/datum/component/slippery/clowning/Slip_on_wearer(datum/source, atom/movable/AM) - var/obj/item/I = holder.get_item_by_slot(ITEM_SLOT_FEET) - if(holder.body_position == LYING_DOWN && !holder.buckled) - if(istype(I, /obj/item/clothing/shoes/clown_shoes)) - Slip(source, AM) - else - to_chat(AM,"[parent] failed to slip anyone. Perhaps I shouldn't have abandoned my legacy...") diff --git a/code/datums/components/soulstoned.dm b/code/datums/components/soulstoned.dm deleted file mode 100644 index 04e51406287..00000000000 --- a/code/datums/components/soulstoned.dm +++ /dev/null @@ -1,33 +0,0 @@ -//adds godmode while in the container, prevents moving, and clears these effects up after leaving the stone -/datum/component/soulstoned - var/atom/movable/container - -/datum/component/soulstoned/Initialize(atom/movable/container) - if(!isanimal(parent)) - return COMPONENT_INCOMPATIBLE - var/mob/living/simple_animal/S = parent - - src.container = container - - S.forceMove(container) - - S.status_flags |= GODMODE - ADD_TRAIT(S, TRAIT_IMMOBILIZED, SOULSTONE_TRAIT) - ADD_TRAIT(S, TRAIT_HANDS_BLOCKED, SOULSTONE_TRAIT) - S.health = S.maxHealth - S.bruteloss = 0 - - RegisterSignal(S, COMSIG_MOVABLE_MOVED, PROC_REF(free_prisoner)) - -/datum/component/soulstoned/proc/free_prisoner() - SIGNAL_HANDLER - - var/mob/living/simple_animal/S = parent - if(S.loc != container) - qdel(src) - -/datum/component/soulstoned/UnregisterFromParent() - var/mob/living/simple_animal/S = parent - S.status_flags &= ~GODMODE - REMOVE_TRAIT(S, TRAIT_IMMOBILIZED, SOULSTONE_TRAIT) - REMOVE_TRAIT(S, TRAIT_HANDS_BLOCKED, SOULSTONE_TRAIT) diff --git a/code/datums/components/squeak.dm b/code/datums/components/squeak.dm index 368b70b64c0..7f4b8b50229 100644 --- a/code/datums/components/squeak.dm +++ b/code/datums/components/squeak.dm @@ -28,7 +28,7 @@ /datum/component/squeak/Initialize(custom_sounds, volume_override, chance_override, step_delay_override, use_delay_override, extrarange, falloff_exponent, fallof_distance) if(!isatom(parent)) return COMPONENT_INCOMPATIBLE - RegisterSignal(parent, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_BLOB_ACT, COMSIG_ATOM_HULK_ATTACK, COMSIG_PARENT_ATTACKBY), PROC_REF(play_squeak)) + RegisterSignal(parent, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_HULK_ATTACK, COMSIG_PARENT_ATTACKBY), PROC_REF(play_squeak)) if(ismovable(parent)) RegisterSignal(parent, list(COMSIG_MOVABLE_BUMP, COMSIG_MOVABLE_IMPACT), PROC_REF(play_squeak)) AddComponent(/datum/component/connect_loc_behalf, parent, item_connections) @@ -67,9 +67,9 @@ if(prob(squeak_chance)) if(!override_squeak_sounds) - playsound(parent, pickweight(default_squeak_sounds), volume, TRUE, sound_extra_range, sound_falloff_exponent, falloff_distance = sound_falloff_distance) + playsound(parent, pick_weight(default_squeak_sounds), volume, TRUE, sound_extra_range, sound_falloff_exponent, falloff_distance = sound_falloff_distance) else - playsound(parent, pickweight(override_squeak_sounds), volume, TRUE, sound_extra_range, sound_falloff_exponent, falloff_distance = sound_falloff_distance) + playsound(parent, pick_weight(override_squeak_sounds), volume, TRUE, sound_extra_range, sound_falloff_exponent, falloff_distance = sound_falloff_distance) /datum/component/squeak/proc/step_squeak() SIGNAL_HANDLER diff --git a/code/datums/components/storage/concrete/pockets.dm b/code/datums/components/storage/concrete/pockets.dm index 32a74c843b0..98d5f5ac53d 100644 --- a/code/datums/components/storage/concrete/pockets.dm +++ b/code/datums/components/storage/concrete/pockets.dm @@ -35,8 +35,8 @@ /datum/component/storage/concrete/pockets/small/fedora/Initialize() . = ..() var/static/list/exception_cache = typecacheof(list( - /obj/item/katana, /obj/item/toy/katana, /obj/item/nullrod/claymore/katana, - /obj/item/energy_katana, /obj/item/gun/ballistic/automatic/smg/firestorm/pan + /obj/item/toy/katana, /obj/item/melee/sword/katana, + /obj/item/melee/sword/energy_katana, /obj/item/gun/ballistic/automatic/smg/firestorm/pan )) exception_hold = exception_cache @@ -91,6 +91,7 @@ /obj/item/clothing/glasses/hud/health/night, /obj/item/clothing/glasses/hud/security/night, /obj/item/clothing/glasses/hud/security/sunglasses/inteq, + /obj/item/clothing/glasses/sunglasses/ballistic, /obj/item/ammo_casing, /obj/item/ammo_box/magazine/illestren_a850r, )) @@ -106,7 +107,14 @@ can_hold = typecacheof(list( /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/revolver, - /obj/item/ammo_box)) + /obj/item/gun/energy/laser, + /obj/item/gun/energy/e_gun, + /obj/item/gun/energy/kalix/pistol, + /obj/item/stock_parts/cell/gun, + /obj/item/ammo_box)) // this doesnt let you put hades into holsters trust me + can_hold_max_of_items = typecacheof(list( + /obj/item/gun = 1, + )) /datum/component/storage/concrete/pockets/holster/real_location() // if the component is reparented to a jumpsuit, the items still go in the protector @@ -135,17 +143,3 @@ /obj/item/gun/energy/dueling, /obj/item/gun/ballistic/shotgun, /obj/item/gun/ballistic/rocketlauncher)) - -/datum/component/storage/concrete/pockets/holster/chameleon - max_items = 1 - -/datum/component/storage/concrete/pockets/holster/chameleon/Initialize() - original_parent = parent - . = ..() - can_hold = typecacheof(list( - /obj/item/gun/ballistic/automatic/pistol/syndicate, - /obj/item/gun/ballistic/revolver, - /obj/item/gun/energy/e_gun/mini, - /obj/item/gun/energy/disabler, - /obj/item/gun/energy/pulse/carbine, - /obj/item/gun/energy/dueling)) diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index 89831dafab7..fab8ffdf3a2 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -18,6 +18,7 @@ var/list/cant_hold //if this is set, items, and their children, won't fit var/list/exception_hold //if set, these items will be the exception to the max size of object that can fit. var/list/can_hold_trait /// If set can only contain stuff with this single trait present. + var/list/can_hold_max_of_items // if set, storage can only hold up to the set amount of said item. var/can_hold_description @@ -424,7 +425,7 @@ /datum/component/storage/proc/dump_content_at(atom/dest_object, mob/M) var/atom/A = parent var/atom/dump_destination = dest_object.get_dumping_location() - if(A.Adjacent(M) && dump_destination && M.Adjacent(dump_destination)) + if(M.CanReach(A) && dump_destination && M.CanReach(dump_destination)) if(locked) to_chat(M, "[parent] seems to be [locked_flavor]!") return FALSE @@ -433,6 +434,12 @@ return TRUE return FALSE +/datum/component/storage/proc/get_dumping_location(atom/dest_object) + var/datum/component/storage/storage = dest_object.GetComponent(/datum/component/storage) + if(storage) + return storage.real_location() + return dest_object.get_dumping_location() + //This proc is called when you want to place an item into the storage item. /datum/component/storage/proc/attackby(datum/source, obj/item/I, mob/M, params) SIGNAL_HANDLER @@ -560,6 +567,16 @@ if(!stop_messages) to_chat(M, "[host] cannot hold [I]!") return FALSE + if(length(can_hold_max_of_items)) + if(is_type_in_typecache(I,can_hold_max_of_items)) + var/amount = 0 + for(var/_item in contents()) + if(is_type_in_typecache(_item,can_hold_max_of_items)) + amount++ + if(amount >= can_hold_max_of_items[I.type]) + if(!stop_messages) + to_chat(M, "[host] cannot hold another [I]!") + return FALSE if(is_type_in_typecache(I, cant_hold) || HAS_TRAIT(I, TRAIT_NO_STORAGE_INSERT) || (can_hold_trait && !HAS_TRAIT(I, can_hold_trait))) //Items which this container can't hold. if(!stop_messages) to_chat(M, "[host] cannot hold [I]!") diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index 68c74921b8b..4d3d07576cc 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -270,11 +270,10 @@ if(ishuman(target)) var/mob/living/carbon/human/T = target - var/suit_slot = T.get_item_by_slot(ITEM_SLOT_OCLOTHING) if(isnull(T.wear_suit) && isnull(T.w_uniform)) // who honestly puts all of their effort into tackling a naked guy? defense_mod += 2 - if(suit_slot && (istype(suit_slot,/obj/item/clothing/suit/space/hardsuit))) + if(T.mob_negates_gravity()) defense_mod += 1 if(T.is_shove_knockdown_blocked()) // riot armor and such defense_mod += 5 @@ -377,7 +376,7 @@ user.apply_damage(30, BRUTE, BODY_ZONE_HEAD) playsound(user, 'sound/effects/blobattack.ogg', 60, TRUE) playsound(user, 'sound/effects/splat.ogg', 70, TRUE) - user.emote("scream") + user.force_scream() user.gain_trauma(/datum/brain_trauma/severe/paralysis/paraplegic) // oopsie indeed! shake_camera(user, 7, 7) user.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/flash) diff --git a/code/datums/components/weatherannouncer.dm b/code/datums/components/weatherannouncer.dm index a5e622d8669..6cf4b566b84 100644 --- a/code/datums/components/weatherannouncer.dm +++ b/code/datums/components/weatherannouncer.dm @@ -38,7 +38,7 @@ speaker.update_appearance(UPDATE_ICON) update_light_color() -/datum/component/weather_announcer/Destroy(force, silent) +/datum/component/weather_announcer/Destroy(force) STOP_PROCESSING(SSprocessing, src) return ..() @@ -93,7 +93,8 @@ light.set_light_color(LIGHT_COLOR_YELLOW) if(WEATHER_ALERT_IMMINENT_OR_ACTIVE) light.set_light_color(LIGHT_COLOR_INTENSE_RED) - light.update_light() + if(light.light_system == STATIC_LIGHT) + light.update_light() /// Returns a string we should display to communicate what you should be doing /datum/component/weather_announcer/proc/get_warning_message() diff --git a/code/datums/datum.dm b/code/datums/datum.dm index e2f478ba783..fc7189738b3 100644 --- a/code/datums/datum.dm +++ b/code/datums/datum.dm @@ -44,8 +44,12 @@ var/datum/weakref/weak_reference #ifdef REFERENCE_TRACKING - var/running_find_references + /// When was this datum last touched by a reftracker? + /// If this value doesn't match with the start of the search + /// We know this datum has never been seen before, and we should check it var/last_find_references = 0 + /// How many references we're trying to find when searching + var/references_to_clear = 0 #ifdef REFERENCE_TRACKING_DEBUG ///Stores info about where refs are found, used for sanity checks and testing var/list/found_refs @@ -81,7 +85,7 @@ * * Returns [QDEL_HINT_QUEUE] */ -/datum/proc/Destroy(force=FALSE, ...) +/datum/proc/Destroy(force) SHOULD_CALL_PARENT(TRUE) tag = null datum_flags &= ~DF_USE_TAG //In case something tries to REF us @@ -107,10 +111,10 @@ var/all_components = dc[/datum/component] if(length(all_components)) for(var/datum/component/component as anything in all_components) - qdel(component, FALSE, TRUE) + qdel(component, FALSE) else var/datum/component/C = all_components - qdel(C, FALSE, TRUE) + qdel(C, FALSE) dc.Cut() clear_signal_refs() @@ -226,3 +230,19 @@ qdel(D) else return returned + +/// 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) +/datum/proc/dump_harddel_info() + return + +/image + var/harddel_deets_dumped = FALSE + +///images are pretty generic, this should help a bit with tracking harddels related to them +/image/dump_harddel_info() + if(harddel_deets_dumped) + return + harddel_deets_dumped = TRUE + return "Image icon: [icon] - icon_state: [icon_state] [loc ? "loc: [loc] ([loc.x],[loc.y],[loc.z])" : ""]" diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm index ea607f2a31f..df39c5f0659 100644 --- a/code/datums/diseases/advance/symptoms/deafness.dm +++ b/code/datums/diseases/advance/symptoms/deafness.dm @@ -55,7 +55,7 @@ Bonus if(istype(ears) && ears.damage < ears.maxHealth) to_chat(M, "Your ears pop painfully and start bleeding!") ears.damage = max(ears.damage, ears.maxHealth) - M.emote("scream") + M.force_scream() else to_chat(M, "Your ears pop and begin ringing loudly!") M.minimumDeafTicks(20) diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm index aeb9933debb..98391edbdf1 100644 --- a/code/datums/diseases/advance/symptoms/fire.dm +++ b/code/datums/diseases/advance/symptoms/fire.dm @@ -60,12 +60,12 @@ Bonus Firestacks_stage_4(M, A) M.IgniteMob() to_chat(M, "Your skin bursts into flames!") - M.emote("scream") + M.force_scream() if(5) Firestacks_stage_5(M, A) M.IgniteMob() to_chat(M, "Your skin erupts into an inferno!") - M.emote("scream") + M.force_scream() /datum/symptom/fire/proc/Firestacks_stage_4(mob/living/M, datum/disease/advance/A) M.adjust_fire_stacks(1 * power) @@ -147,7 +147,7 @@ Bonus Alkali_fire_stage_4(M, A) M.IgniteMob() to_chat(M, "Your sweat bursts into flames!") - M.emote("scream") + M.force_scream() if(5) if(M.fire_stacks < 0) M.visible_message("[M]'s sweat sizzles and pops on contact with water!") @@ -155,7 +155,7 @@ Bonus Alkali_fire_stage_5(M, A) M.IgniteMob() to_chat(M, "Your skin erupts into an inferno!") - M.emote("scream") + M.force_scream() /datum/symptom/alkali/proc/Alkali_fire_stage_4(mob/living/M, datum/disease/advance/A) var/get_stacks = 6 * power diff --git a/code/datums/diseases/gastrolisis.dm b/code/datums/diseases/gastrolisis.dm index 119ccc0c60e..ed4c5267d14 100644 --- a/code/datums/diseases/gastrolisis.dm +++ b/code/datums/diseases/gastrolisis.dm @@ -36,25 +36,15 @@ new_eyes.Insert(affected_mob, drop_if_replaced = TRUE) affected_mob.visible_message("[affected_mob]'s eyes fall out, with snail eyes taking its place!", \ "You scream in pain as your eyes are pushed out by your new snail eyes!") - affected_mob.emote("scream") + affected_mob.force_scream() return - var/obj/item/shell = affected_mob.get_item_by_slot(ITEM_SLOT_BACK) - if(!istype(shell, /obj/item/storage/backpack/snail)) - shell = null - if(!shell && prob(5)) - if(affected_mob.dropItemToGround(affected_mob.get_item_by_slot(ITEM_SLOT_BACK))) - affected_mob.equip_to_slot_or_del(new /obj/item/storage/backpack/snail(affected_mob), ITEM_SLOT_BACK) - affected_mob.visible_message("[affected_mob] grows a grotesque shell on their back!", \ - "You scream in pain as a shell pushes itself out from under your skin!") - affected_mob.emote("scream") - return var/obj/item/organ/tongue/tongue = locate(/obj/item/organ/tongue/snail) in affected_mob.internal_organs if(!tongue && prob(5)) var/obj/item/organ/tongue/snail/new_tongue = new() new_tongue.Insert(affected_mob) to_chat(affected_mob, "You feel your speech slow down...") return - if(shell && eyes && tongue && prob(5)) + if(eyes && tongue && prob(5)) affected_mob.set_species(/datum/species/snail) affected_mob.client?.give_award(/datum/award/achievement/misc/snail, affected_mob) affected_mob.visible_message("[affected_mob] turns into a snail!", \ @@ -79,8 +69,3 @@ if(eyes) var/obj/item/organ/eyes/new_eyes = new H.dna.species.mutanteyes () new_eyes.Insert(H) - var/obj/item/storage/backpack/bag = H.get_item_by_slot(ITEM_SLOT_BACK) - if(istype(bag, /obj/item/storage/backpack/snail)) - bag.emptyStorage() - H.temporarilyRemoveItemFromInventory(bag, TRUE) - qdel(bag) diff --git a/code/datums/diseases/legionvirus.dm b/code/datums/diseases/legionvirus.dm index 22144a7b2a1..9de7fa6667c 100644 --- a/code/datums/diseases/legionvirus.dm +++ b/code/datums/diseases/legionvirus.dm @@ -1,28 +1,50 @@ -/datum/disease/transformation/legionvirus - name = "Soulus Saturation" +/datum/disease/transformation/legionvirus //Diseases are a quick way to exposit a bunch of information onto players, most of the effects here are handled by the legion skull organ from /mob/living/simple_animal/hostile/mining_mobs/hivelord.dm + name = "Legion Infection" max_stages = 5 spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS - cure_text = "System Cleaner" - cures = list(/datum/reagent/medicine/system_cleaner) - agent = "Soulus Dust" + cure_text = "Surgically removing the skull from the patient's chest; applications of spaceacillin or synaptizine can delay onset of the infection." + agent = "Legion skull" viable_mobtypes = list(/mob/living/carbon/human) visibility_flags = 0 - stage_prob = 5 - cure_chance = 20 - desc = "If left untreated, this disease will cause the infected to transform into a legion." + stage_prob = 0 // WOOOOOO SNOWFLAKE!!!!!!! WOOOOOO!!!! + desc = "If left untreated, the skull will slowly overtake its host's body, eventually growing into a legion." severity = DISEASE_SEVERITY_HARMFUL - disease_flags = CURABLE + disease_flags = NONE + visibility_flags = HIDDEN_PANDEMIC bypasses_immunity = TRUE - stage1 = list("Your joints itch.") - stage2 = list("Your head begins to ache.") - stage3 = list("Ash begins to flake off your skin.") - stage4 = list("You feel like your head is splitting in two!") - stage5 = list("You feel something growing inside your chest!") + stage1 = list(span_notice("You feel a dull pain in your chest.")) + stage2 = list(span_notice("Your head begins to ache.")) + stage3 = list(span_notice("Something moves underneath your skin.")) + stage4 = list(span_warning("You feel something pressing against your skin!")) + stage5 = list(span_warning("Your skin begins to tear apart-!")) new_form = /mob/living/simple_animal/hostile/asteroid/hivelord/legion + COOLDOWN_DECLARE(warning_timer) + var/cooldown_time = 1 MINUTES + +/datum/disease/transformation/legionvirus/infect(mob/living/infectee, make_copy = TRUE) + . = ..() + COOLDOWN_START(src, warning_timer, cooldown_time) //theos why don't you make this NOT A DISEASE if you don't plan on using ANY disease stuff??? good question: + +/datum/disease/transformation/legionvirus/stage_act() + ..() + if(!COOLDOWN_FINISHED(src, warning_timer)) + return + COOLDOWN_START(src, warning_timer, cooldown_time) + switch(stage) + if(1) + to_chat(affected_mob, pick(stage1)) + if(2) + to_chat(affected_mob, pick(stage2)) + if(3) + to_chat(affected_mob, pick(stage3)) + if(4) + to_chat(affected_mob, pick(stage4)) /datum/disease/transformation/legionvirus/do_disease_transformation(mob/living/H) - H.visible_message("[H] transforms into a legion!") + if(stage5) + to_chat(affected_mob, pick(stage5)) + H.visible_message(span_warning("[H] suddenly collapses, a pallid grey mass bursting from their body!")) var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L if(HAS_TRAIT(H, TRAIT_DWARF)) //dwarf legions aren't just fluff! L = new /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf(H.loc) @@ -32,4 +54,3 @@ H.adjustBruteLoss(1000) L.stored_mob = H H.forceMove(L) - qdel(src) diff --git a/code/datums/diseases/parasitic_infection.dm b/code/datums/diseases/parasitic_infection.dm deleted file mode 100644 index 055425d9cc6..00000000000 --- a/code/datums/diseases/parasitic_infection.dm +++ /dev/null @@ -1,50 +0,0 @@ -/datum/disease/parasite - form = "Parasite" - name = "Parasitic Infection" - max_stages = 4 - cure_text = "Surgical removal of the liver." - agent = "Consuming Live Parasites" - spread_text = "Non-Biological" - viable_mobtypes = list(/mob/living/carbon/human) - permeability_mod = 1 - desc = "If left untreated the subject will passively lose nutrients, and eventually lose their liver." - severity = DISEASE_SEVERITY_HARMFUL - disease_flags = CAN_CARRY|CAN_RESIST - spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS - required_organs = list(/obj/item/organ/liver) - bypasses_immunity = TRUE - -/datum/disease/parasite/stage_act() - . = ..() - var/mob/living/carbon/C = affected_mob - var/obj/item/organ/liver/L = C.getorgan(/obj/item/organ/liver) - if(!L) - src.cure() - C.visible_message("[C]'s liver is covered in tiny larva! They quickly shrivel and die after being exposed to the open air.") - switch(stage) - if(1) - if(prob(5)) - affected_mob.emote("cough") - if(2) - if(prob(10)) - if(prob(50)) - to_chat(affected_mob, "You feel the weight loss already!") - affected_mob.adjust_nutrition(-3) - if(3) - if(prob(20)) - if(prob(20)) - to_chat(affected_mob, "You're... REALLY starting to feel the weight loss.") - affected_mob.adjust_nutrition(-6) - if(4) - if(prob(30)) - if(affected_mob.nutrition >= 100) - if(prob(10)) - to_chat(affected_mob, "You feel like your body's shedding weight rapidly!") - affected_mob.adjust_nutrition(-12) - else - var/turf/T = get_turf(C) - to_chat(affected_mob, "You feel much, MUCH lighter!") - affected_mob.vomit(20, TRUE) - L.Remove(C) - L.forceMove(T) - src.cure() diff --git a/code/datums/dna.dm b/code/datums/dna.dm index abd20fd2921..ccf91af252a 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -358,7 +358,7 @@ if(icon_update) update_hair() update_mutations_overlay()// no lizard with human hulk overlay please. - + AddComponent(/datum/component/bloodysoles/feet) /mob/proc/has_dna() return diff --git a/code/datums/elements/_element.dm b/code/datums/elements/_element.dm index e9779644c21..5d57ac443ad 100644 --- a/code/datums/elements/_element.dm +++ b/code/datums/elements/_element.dm @@ -60,7 +60,7 @@ var/datum/element/ele = SSdcs.GetElement(arguments) arguments[1] = src if(ele.Attach(arglist(arguments)) == ELEMENT_INCOMPATIBLE) - CRASH("Incompatible [arguments[1]] assigned to a [type]! args: [json_encode(args)]") + CRASH("Incompatible [ele] assigned to a [type]! args: [json_encode(args)]") /** * Finds the singleton for the element type given and detaches it from src diff --git a/code/datums/elements/bed_tucking.dm b/code/datums/elements/bed_tucking.dm index c094e5a5b10..e505e6efdb5 100644 --- a/code/datums/elements/bed_tucking.dm +++ b/code/datums/elements/bed_tucking.dm @@ -8,8 +8,13 @@ var/y_offset = 0 /// our rotation degree - how much the item turns when in bed (+degrees turns it more parallel) var/rotation_degree = 0 + /// Whether the item changes its dir to match the desired lying direction of the bed that it's tucked into. + var/change_dir = FALSE + /// Whether the item changes its layer to the layer suggested by the bed for tucked-in item. + /// When the item is untucked, it is returned to its initial() layer. + var/change_layer = FALSE -/datum/element/bed_tuckable/Attach(obj/target, x = 0, y = 0, rotation = 0) +/datum/element/bed_tuckable/Attach(obj/target, x = 0, y = 0, rotation = 0, _change_dir = FALSE, _change_layer = FALSE) . = ..() if(!isitem(target)) return ELEMENT_INCOMPATIBLE @@ -17,6 +22,8 @@ x_offset = x y_offset = y rotation_degree = rotation + change_dir = _change_dir + change_layer = _change_layer RegisterSignal(target, COMSIG_ITEM_ATTACK_OBJ, PROC_REF(tuck_into_bed)) /datum/element/bed_tuckable/Detach(obj/target) @@ -40,11 +47,20 @@ return to_chat(tucker, "You lay [tucked] out on [target_bed].") - tucked.pixel_x = x_offset - tucked.pixel_y = y_offset + tucked.pixel_x = x_offset + target_bed.tucked_x_shift + tucked.pixel_y = y_offset + target_bed.tucked_y_shift if(rotation_degree) tucked.transform = turn(tucked.transform, rotation_degree) RegisterSignal(tucked, COMSIG_ITEM_PICKUP, PROC_REF(untuck)) + // the buckle_lying value on the bed controls the direction that mobs lay down in when they're buckled into bed. + // some items (bedsheets) have different states to reflect those directions. + if(change_dir) + if(target_bed.buckle_lying == 270) + tucked.setDir(NORTH) + else + tucked.setDir(SOUTH) + if(target_bed.suggested_tuck_layer != null) + tucked.layer = target_bed.suggested_tuck_layer return COMPONENT_NO_AFTERATTACK @@ -57,4 +73,5 @@ SIGNAL_HANDLER tucked.transform = turn(tucked.transform, -rotation_degree) + tucked.layer = initial(tucked.layer) UnregisterSignal(tucked, COMSIG_ITEM_PICKUP) diff --git a/code/datums/elements/decals/blood.dm b/code/datums/elements/decals/blood.dm index 0a3ca8ce59a..66406d5f2c3 100644 --- a/code/datums/elements/decals/blood.dm +++ b/code/datums/elements/decals/blood.dm @@ -39,4 +39,8 @@ var/atom/bloodsource = source Detach(source) - bloodsource.AddElement(/datum/element/decal/blood, bloodsource.icon, bloodsource.icon_state, _color = get_blood_dna_color(bloodsource.return_blood_DNA())) + var/icon_state_adj = bloodsource.icon_state + if(isbodypart(source))//bettericons :D + var/obj/item/bodypart/parent_part = source + icon_state_adj = parent_part.stored_icon_state + bloodsource.AddElement(/datum/element/decal/blood, bloodsource.icon, icon_state_adj, _color = get_blood_dna_color(bloodsource.return_blood_DNA())) diff --git a/code/datums/elements/empprotection.dm b/code/datums/elements/empprotection.dm new file mode 100644 index 00000000000..8d5d798c3cb --- /dev/null +++ b/code/datums/elements/empprotection.dm @@ -0,0 +1,20 @@ +/datum/element/empprotection + element_flags = ELEMENT_DETACH | ELEMENT_BESPOKE + id_arg_index = 2 + var/flags = NONE + +/datum/element/empprotection/Attach(datum/target, _flags) + . = ..() + if(. == ELEMENT_INCOMPATIBLE || !isatom(target)) + return ELEMENT_INCOMPATIBLE + flags = _flags + RegisterSignal(target, COMSIG_ATOM_EMP_ACT, PROC_REF(getEmpFlags)) + +/datum/element/empprotection/Detach(atom/target) + UnregisterSignal(target, COMSIG_ATOM_EMP_ACT) + return ..() + +/datum/element/empprotection/proc/getEmpFlags(datum/source, severity) + SIGNAL_HANDLER + + return flags diff --git a/code/datums/elements/dunkable.dm b/code/datums/elements/food/dunkable.dm similarity index 99% rename from code/datums/elements/dunkable.dm rename to code/datums/elements/food/dunkable.dm index 1eaee1d8cbb..80661d5c4ac 100644 --- a/code/datums/elements/dunkable.dm +++ b/code/datums/elements/food/dunkable.dm @@ -17,8 +17,6 @@ UnregisterSignal(target, COMSIG_ITEM_AFTERATTACK) /datum/element/dunkable/proc/get_dunked(datum/source, atom/target, mob/user, proximity_flag) - SIGNAL_HANDLER - if(!proximity_flag) // if the user is not adjacent to the container return var/obj/item/reagent_containers/container = target // the container we're trying to dunk into diff --git a/code/datums/elements/food/edible.dm b/code/datums/elements/food/edible.dm new file mode 100644 index 00000000000..615422198d8 --- /dev/null +++ b/code/datums/elements/food/edible.dm @@ -0,0 +1,471 @@ +/*! + +This component makes it possible to make things edible. What this means is that you can take a bite or force someone to take a bite (in the case of items). +These items take a specific time to eat, and can do most of the things our original food items could. + +Behavior that's still missing from this component that original food items had that should either be put into seperate components or somewhere else: + Components: + Drying component (jerky etc) + Customizable component (custom pizzas etc) + Processable component (Slicing and cooking behavior essentialy, making it go from item A to B when conditions are met.) + Microwavability component + Frying component + + Misc: + Something for cakes (You can store things inside) + +*/ +/datum/component/edible + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + ///Amount of reagents taken per bite + var/bite_consumption = 2 + ///Amount of bites taken so far + var/bitecount = 0 + ///Flags for food + var/food_flags = NONE + ///Bitfield of the types of this food + var/foodtypes = NONE + ///Amount of seconds it takes to eat this food + var/eat_time = 30 + ///Defines how much it lowers someones satiety (Need to eat, essentialy) + var/junkiness = 0 + ///Message to send when eating + var/list/eatverbs + ///Callback to be ran before you eat something, so you can check if someone *can* eat it. + var/datum/callback/pre_eat + ///Callback to be ran before composting something, in case you don't want a piece of food to be compostable for some reason. + var/datum/callback/on_compost + ///Callback to be ran for when you take a bite of something + var/datum/callback/after_eat + ///Callback to be ran for when you finish eating something + var/datum/callback/on_consume + ///Last time we checked for food likes + var/last_check_time + ///The initial reagents of this food when it is made + var/list/initial_reagents + ///The initial volume of the foods reagents + var/volume + ///The flavortext for taste + var/list/tastes + ///The type of atom this creates when the object is microwaved. + var/microwaved_type + + //TEMP VAR. To be phased out + var/filling_color = null + + +/datum/component/edible/Initialize(list/initial_reagents, + food_flags = NONE, + foodtypes = NONE, + volume = 50, + eat_time = 10, + list/tastes, + list/eatverbs = list("bite","chew","nibble","gnaw","gobble","chomp"), + bite_consumption = 2, + microwaved_type, + junkiness, + datum/callback/pre_eat, + datum/callback/on_compost, + datum/callback/after_eat, + datum/callback/on_consume +) + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_ANIMAL, PROC_REF(use_by_animal)) + RegisterSignal(parent, COMSIG_ATOM_CHECKPARTS, PROC_REF(on_craft)) + RegisterSignal(parent, COMSIG_ATOM_CREATEDBY_PROCESSING, PROC_REF(on_processed)) + RegisterSignal(parent, COMSIG_ITEM_MICROWAVE_COOKED, PROC_REF(on_microwave_cooked)) + RegisterSignal(parent, COMSIG_EDIBLE_ON_COMPOST, PROC_REF(compost)) + + if(isitem(parent)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(use_from_hand)) + RegisterSignal(parent, COMSIG_ITEM_FRIED, PROC_REF(on_fried)) + RegisterSignal(parent, COMSIG_ITEM_MICROWAVE_ACT, PROC_REF(on_microwaved)) + + var/obj/item/item = parent + if (!item.grind_results) + item.grind_results = list() //If this doesn't already exist, add it as an empty list. This is needed for the grinder to accept it. + + src.bite_consumption = bite_consumption + src.food_flags = food_flags + src.foodtypes = foodtypes + src.initial_reagents = initial_reagents + src.tastes = tastes + src.eat_time = eat_time + src.eatverbs = string_list(eatverbs) + src.junkiness = junkiness + src.pre_eat = pre_eat + src.on_compost = on_compost + src.after_eat = after_eat + src.on_consume = on_consume + src.initial_reagents = string_assoc_list(initial_reagents) + src.tastes = string_assoc_list(tastes) + src.microwaved_type = microwaved_type + + var/atom/owner = parent + + owner.create_reagents(volume, INJECTABLE) + + for(var/rid in initial_reagents) + var/amount = initial_reagents[rid] + if(length(tastes) && (rid == /datum/reagent/consumable/nutriment || rid == /datum/reagent/consumable/nutriment/vitamin)) + owner.reagents.add_reagent(rid, amount, tastes.Copy()) + else + owner.reagents.add_reagent(rid, amount) + +/datum/component/edible/InheritComponent(datum/component/C, + i_am_original, + list/initial_reagents, + food_flags = NONE, + foodtypes = NONE, + volume = 50, + eat_time = 30, + list/tastes, + list/eatverbs = list("bite","chew","nibble","gnaw","gobble","chomp"), + bite_consumption = 2, + datum/callback/pre_eat, + datum/callback/on_compost, + datum/callback/after_eat, + datum/callback/on_consume + ) + + . = ..() + src.bite_consumption = bite_consumption + src.food_flags = food_flags + src.foodtypes = foodtypes + src.eat_time = eat_time + src.eatverbs = eatverbs + src.junkiness = junkiness + src.pre_eat = pre_eat + src.on_compost = on_compost + src.after_eat = after_eat + src.on_consume = on_consume + +/datum/component/edible/Destroy(force) + QDEL_NULL(pre_eat) + QDEL_NULL(on_compost) + QDEL_NULL(after_eat) + QDEL_NULL(on_consume) + return ..() + +/datum/component/edible/proc/examine(datum/source, mob/user, list/examine_list) + SIGNAL_HANDLER + + if(!(food_flags & FOOD_IN_CONTAINER)) + switch (bitecount) + if (0) + return + if(1) + examine_list += "[parent] was bitten by someone!" + if(2,3) + examine_list += "[parent] was bitten [bitecount] times!" + else + examine_list += "[parent] was bitten multiple times!" + +/datum/component/edible/proc/use_from_hand(obj/item/source, mob/living/M, mob/living/user) + SIGNAL_HANDLER + + return TryToEat(M, user) + +/datum/component/edible/proc/on_fried(fry_object) + SIGNAL_HANDLER + var/atom/our_atom = parent + our_atom.reagents.trans_to(fry_object, our_atom.reagents.total_volume) + qdel(our_atom) + return COMSIG_FRYING_HANDLED + +///Called when food is created through processing (Usually this means it was sliced). We use this to pass the OG items reagents. +/datum/component/edible/proc/on_processed(datum/source, atom/original_atom, list/chosen_processing_option) + SIGNAL_HANDLER + + if(!original_atom.reagents) + return + + var/atom/this_food = parent + var/reagents_for_slice = chosen_processing_option[TOOL_PROCESSING_AMOUNT] + + this_food.create_reagents(volume) //Make sure we have a reagent container + + original_atom.reagents.trans_to(this_food, reagents_for_slice) + + if(original_atom.name != initial(original_atom.name)) + this_food.name = "slice of [original_atom.name]" + if(original_atom.desc != initial(original_atom.desc)) + this_food.desc = "[original_atom.desc]" + +///Called when food is crafted through a crafting recipe datum. +/datum/component/edible/proc/on_craft(datum/source, list/parts_list, datum/crafting_recipe/food/recipe) + SIGNAL_HANDLER + + var/atom/this_food = parent + + this_food.reagents.clear_reagents() + + for(var/obj/item/crafted_part in this_food.contents) + crafted_part.reagents?.trans_to(this_food.reagents, crafted_part.reagents.maximum_volume, CRAFTED_FOOD_INGREDIENT_REAGENT_MODIFIER) + + var/list/objects_to_delete = list() + + // Remove all non recipe objects from the contents + for(var/content_object in this_food.contents) + for(var/recipe_object in recipe.real_parts) + if(istype(content_object, recipe_object)) + continue + objects_to_delete += content_object + + QDEL_LIST(objects_to_delete) + + for(var/r_id in initial_reagents) + var/amount = initial_reagents[r_id] * CRAFTED_FOOD_BASE_REAGENT_MODIFIER + if(r_id == /datum/reagent/consumable/nutriment || r_id == /datum/reagent/consumable/nutriment/vitamin) + this_food.reagents.add_reagent(r_id, amount, tastes) + else + this_food.reagents.add_reagent(r_id, amount) + + SSblackbox.record_feedback("tally", "food_made", 1, type) + +/datum/component/edible/proc/on_microwaved(datum/source, obj/machinery/microwave/used_microwave) + SIGNAL_HANDLER + + var/turf/parent_turf = get_turf(parent) + + if(!microwaved_type) + new /obj/item/reagent_containers/food/snacks/badrecipe(parent_turf) + qdel(src) + return + + + var/obj/item/result + + result = new microwaved_type(parent_turf) + + var/efficiency = istype(used_microwave) ? used_microwave.efficiency : 1 + + SEND_SIGNAL(result, COMSIG_ITEM_MICROWAVE_COOKED, parent, efficiency) + + SSblackbox.record_feedback("tally", "food_made", 1, result.type) + +///Corrects the reagents on the newly cooked food +/datum/component/edible/proc/on_microwave_cooked(datum/source, obj/item/source_item, cooking_efficiency = 1) + SIGNAL_HANDLER + + var/atom/this_food = parent + + this_food.reagents.clear_reagents() + + source_item.reagents?.trans_to(this_food, source_item.reagents.total_volume) + + for(var/r_id in initial_reagents) + var/amount = initial_reagents[r_id] * cooking_efficiency * CRAFTED_FOOD_BASE_REAGENT_MODIFIER + if(r_id == /datum/reagent/consumable/nutriment || r_id == /datum/reagent/consumable/nutriment/vitamin) + this_food.reagents.add_reagent(r_id, amount, tastes) + else + this_food.reagents.add_reagent(r_id, amount) + +///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) + if(QDELETED(owner)|| !(IS_EDIBLE(owner))) + return TRUE + if(owner.reagents.total_volume) + return FALSE + return TRUE + +/// Normal time to forcefeed someone something +#define EAT_TIME_FORCE_FEED (3 SECONDS) + +///All the checks for the act of eating itself and +/datum/component/edible/proc/TryToEat(mob/living/eater, mob/living/feeder) + + set waitfor = FALSE // We might end up sleeping here, so we don't want to hold up anything + + var/atom/owner = parent + + if(feeder.a_intent == INTENT_HARM) + return + + . = COMPONENT_CANCEL_ATTACK_CHAIN //Point of no return I suppose + + if(IsFoodGone(owner, feeder)) + return + + if(!CanConsume(eater, feeder)) + return + var/fullness = eater.nutrition + 10 //The theoretical fullness of the person eating if they were to eat this + + var/time_to_eat = (eater = feeder) ? eat_time : EAT_TIME_FORCE_FEED + + if(eater == feeder)//If you're eating it yourself. + if(eat_time && !do_after(feeder, time_to_eat, eater, timed_action_flags = food_flags & FOOD_FINGER_FOOD ? IGNORE_USER_LOC_CHANGE | IGNORE_TARGET_LOC_CHANGE : NONE)) //Gotta pass the minimal eat time + return + if(IsFoodGone(owner, feeder)) + return + var/eatverb = pick(eatverbs) + + if(junkiness && eater.satiety < -150 && eater.nutrition > NUTRITION_LEVEL_STARVING + 50 && !HAS_TRAIT(eater, TRAIT_VORACIOUS)) + to_chat(eater, "You don't feel like eating any more junk food at the moment!") + return + else if(fullness <= 50) + eater.visible_message("[eater] hungrily [eatverb]s \the [parent], gobbling it down!", "You hungrily [eatverb] \the [parent], gobbling it down!") + else if(fullness > 50 && fullness < 150) + eater.visible_message("[eater] hungrily [eatverb]s \the [parent].", "You hungrily [eatverb] \the [parent].") + else if(fullness > 150 && fullness < 500) + eater.visible_message("[eater] [eatverb]s \the [parent].", "You [eatverb] \the [parent].") + else if(fullness > 500 && fullness < 600) + eater.visible_message("[eater] unwillingly [eatverb]s a bit of \the [parent].", "You unwillingly [eatverb] a bit of \the [parent].") + else if(fullness > (600 * (1 + eater.overeatduration / 2000))) // The more you eat - the more you can eat + eater.visible_message("[eater] cannot force any more of \the [parent] to go down [eater.p_their()] throat!", "You cannot force any more of \the [parent] to go down your throat!") + return + + + + + + else //If you're feeding it to someone else. + if(isbrain(eater)) + to_chat(feeder, "[eater] doesn't seem to have a mouth!") + return + if(fullness <= (600 * (1 + eater.overeatduration / 1000))) + eater.visible_message( + "[feeder] attempts to feed [eater] [parent].", \ + "[feeder] attempts to feed you [parent]." + ) + if(eater.is_blind()) + to_chat(eater, "You feel someone trying to feed you something!") + else + eater.visible_message( + "[feeder] cannot force any more of [parent] down [eater]'s throat!", \ + "[feeder] cannot force any more of [parent] down your throat!" + ) + if(eater.is_blind()) + to_chat(eater, "You're too full to eat what's being fed to you!") + return + if(!do_after(feeder, delay = time_to_eat, target = eater)) //Wait 3 seconds before you can feed + return + if(IsFoodGone(owner, feeder)) + return + log_combat(feeder, eater, "fed", owner.reagents.log_list()) + eater.visible_message( + "[feeder] forces [eater] to eat [parent]!", \ + "[feeder] forces you to eat [parent]!" + ) + if(eater.is_blind()) + to_chat(eater, "You're forced to eat something!") + + TakeBite(eater, feeder) + + //If we're not force-feeding, try take another bite + if(eater == feeder && eat_time) + INVOKE_ASYNC(src, PROC_REF(TryToEat), eater, feeder) + +#undef EAT_TIME_FORCE_FEED + +///This function lets the eater take a bite and transfers the reagents to the eater. +/datum/component/edible/proc/TakeBite(mob/living/eater, mob/living/feeder) + + var/atom/owner = parent + + if(!owner?.reagents) + return FALSE + if(eater.satiety > -200) + eater.satiety -= junkiness + playsound(eater.loc,'sound/items/eatfood.ogg', rand(10,50), TRUE) + if(!owner.reagents.total_volume) + return + SEND_SIGNAL(parent, COMSIG_FOOD_EATEN, eater, feeder, bitecount, bite_consumption) + var/fraction = min(bite_consumption / owner.reagents.total_volume, 1) + owner.reagents.trans_to(eater, bite_consumption, transfered_by = feeder, method = INGEST) + bitecount++ + check_liked(fraction, eater) + if(!owner.reagents.total_volume) + on_consume(eater, feeder) + + //Invoke our after eat callback if it is valid + if(after_eat) + after_eat.Invoke(eater, feeder, bitecount) + + return TRUE + +///Checks if we can compost something, and handles it +/datum/component/edible/proc/compost(mob/living/user) + SIGNAL_HANDLER + if(on_compost && !on_compost.Invoke(user)) + return COMPONENT_EDIBLE_BLOCK_COMPOST + +///Checks whether or not the eater can actually consume the food +/datum/component/edible/proc/CanConsume(mob/living/eater, mob/living/feeder) + if(!iscarbon(eater)) + return FALSE + if(pre_eat && !pre_eat.Invoke(eater, feeder)) + return FALSE + var/mob/living/carbon/C = eater + var/covered = "" + if(C.is_mouth_covered(head_only = 1)) + covered = "headgear" + else if(C.is_mouth_covered(mask_only = 1)) + covered = "mask" + if(covered) + var/who = (isnull(feeder) || eater == feeder) ? "your" : "[eater.p_their()]" + to_chat(feeder, "You have to remove [who] [covered] first!") + return FALSE + return TRUE + +///Check foodtypes to see if we should send a moodlet +/datum/component/edible/proc/check_liked(fraction, mob/eater) + if(last_check_time + 50 > world.time) + return FALSE + if(!ishuman(eater)) + return FALSE + var/mob/living/carbon/human/human_eater = eater + var/obj/item/organ/tongue/tongue = human_eater.getorganslot(ORGAN_SLOT_TONGUE) + if((foodtypes & BREAKFAST) && world.time - SSticker.round_start_time < STOP_SERVING_BREAKFAST) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "breakfast", /datum/mood_event/breakfast) + if(HAS_TRAIT(human_eater, TRAIT_AGEUSIA)) + if(foodtypes & tongue.toxic_food) + to_chat(human_eater, "You don't feel so good...") + human_eater.adjust_disgust(25 + 30 * fraction) + else + if(foodtypes & tongue.toxic_food) + to_chat(human_eater,"What the hell was that thing?!") + human_eater.adjust_disgust(25 + 30 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "toxic_food", /datum/mood_event/disgusting_food) + else if(foodtypes & tongue.disliked_food) + to_chat(human_eater,"That didn't taste very good...") + human_eater.adjust_disgust(11 + 15 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food) + else if(foodtypes & tongue.liked_food) + to_chat(human_eater,"I love this taste!") + human_eater.adjust_disgust(-5 + -2.5 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food) + last_check_time = world.time + +///Delete the item when it is fully eaten +/datum/component/edible/proc/on_consume(mob/living/eater, mob/living/feeder) + SEND_SIGNAL(parent, COMSIG_FOOD_CONSUMED, eater, feeder) + + on_consume?.Invoke(eater, feeder) + + if(isturf(parent)) + var/turf/T = parent + T.ScrapeAway(1, CHANGETURF_INHERIT_AIR) + else + qdel(parent) + +///Ability to feed food to puppers +/datum/component/edible/proc/use_by_animal(datum/source, mob/user) + SIGNAL_HANDLER + var/atom/owner = parent + + if(!isdog(user)) + return + var/mob/living/L = user + if(bitecount == 0 || prob(50)) + L.manual_emote("nibbles away at \the [parent].") + bitecount++ + . = COMPONENT_CANCEL_ATTACK_CHAIN + L.taste(owner.reagents) // why should carbons get all the fun? + if(bitecount >= 5) + var/satisfaction_text = pick("burps from enjoyment.", "yaps for more!", "woofs twice.", "looks at the area where \the [parent] was.") + L.manual_emote(satisfaction_text) + qdel(parent) diff --git a/code/datums/elements/food/food_trash.dm b/code/datums/elements/food/food_trash.dm new file mode 100644 index 00000000000..6c484c414a0 --- /dev/null +++ b/code/datums/elements/food/food_trash.dm @@ -0,0 +1,40 @@ +// If an item has the food_trash element it will drop an item when it is consumed. +/datum/element/food_trash + element_flags = ELEMENT_BESPOKE + id_arg_index = 2 + /// The type of trash that is spawned by this element + var/trash + ///Flags of the trash element that change its behavior UNUSED UNTIL PART 2 + //var/flags + ///Generate trash proc path + var/generate_trash_procpath + +/datum/element/food_trash/Attach(datum/target, atom/trash, flags, generate_trash_proc) + . = ..() + if(!isatom(target)) + return ELEMENT_INCOMPATIBLE + src.trash = trash + //src.flags = flags + RegisterSignal(target, COMSIG_FOOD_CONSUMED, PROC_REF(generate_trash)) + if(!generate_trash_procpath && generate_trash_proc) + generate_trash_procpath = generate_trash_proc + +/datum/element/food_trash/Detach(datum/target) + . = ..() + UnregisterSignal(target, COMSIG_FOOD_CONSUMED) + +/datum/element/food_trash/proc/generate_trash(datum/source, mob/living/eater, mob/living/feeder) + SIGNAL_HANDLER + + ///cringy signal_handler shouldnt be needed if you dont want to return but oh well + INVOKE_ASYNC(src, PROC_REF(async_generate_trash), source) + +/datum/element/food_trash/proc/async_generate_trash(datum/source) + var/atom/edible_object = source + + var/obj/item/trash_item = generate_trash_procpath ? call(source, generate_trash_procpath)() : new trash(edible_object.drop_location()) + + if(isliving(edible_object.loc)) + var/mob/living/food_holding_mob = edible_object.loc + food_holding_mob.dropItemToGround(edible_object) + food_holding_mob.put_in_hands(trash_item) diff --git a/code/datums/elements/food/processable.dm b/code/datums/elements/food/processable.dm new file mode 100644 index 00000000000..503e5169c87 --- /dev/null +++ b/code/datums/elements/food/processable.dm @@ -0,0 +1,47 @@ +// If an item has the processable item, it can be processed into another item with a specific tool. This adds generic behavior for those actions to make it easier to set-up generically. +/datum/element/processable + element_flags = ELEMENT_BESPOKE + id_arg_index = 2 + ///The type of atom this creates when the processing recipe is used. + var/result_atom_type + ///The tool behaviour for this processing recipe + var/tool_behaviour + ///Time to process the atom + var/time_to_process + ///Amount of the resulting actor this will create + var/amount_created + ///Whether or not the atom being processed has to be on a table or tray to process it + var/table_required + +/datum/element/processable/Attach(datum/target, tool_behaviour, result_atom_type, amount_created = 3, time_to_process = 20, table_required = FALSE) + . = ..() + if(!isatom(target)) + return ELEMENT_INCOMPATIBLE + + src.tool_behaviour = tool_behaviour + src.amount_created = amount_created + src.time_to_process = time_to_process + src.result_atom_type = result_atom_type + src.table_required = table_required + + RegisterSignal(target, COMSIG_ATOM_TOOL_ACT(tool_behaviour), PROC_REF(try_process)) + +/datum/element/processable/Detach(datum/target) + . = ..() + UnregisterSignal(target, COMSIG_ATOM_TOOL_ACT(tool_behaviour)) + +/datum/element/processable/proc/try_process(datum/source, mob/living/user, obj/item/I, list/mutable_recipes) + SIGNAL_HANDLER + + if(table_required) + var/obj/item/found_item = source + var/found_location = found_item.loc + var/found_turf = isturf(found_location) + var/found_table = locate(/obj/structure/table) in found_location + var/found_tray = locate(/obj/item/storage/bag/tray) in found_location + if(!found_turf && !istype(found_location, /obj/item/storage/bag/tray) || found_turf && !(found_table || found_tray)) + to_chat(user, "You cannot make that here! You need a table or at least a tray.") + return + + mutable_recipes += list(list(TOOL_PROCESSING_RESULT = result_atom_type, TOOL_PROCESSING_AMOUNT = amount_created, TOOL_PROCESSING_TIME = time_to_process)) + return COMPONENT_NO_AFTERATTACK diff --git a/code/datums/elements/plant_backfire.dm b/code/datums/elements/plant_backfire.dm new file mode 100644 index 00000000000..47cd1de51fe --- /dev/null +++ b/code/datums/elements/plant_backfire.dm @@ -0,0 +1,125 @@ +/// -- Plant backfire element -- +/// Certain high-danger plants, like death-nettles, will backfire and harm the holder if they're not properly protected. +/// If a user is protected with something like leather gloves, they can handle them normally. +/// If they're not protected properly, we invoke a callback on the user, harming or inconveniencing them. +/datum/element/plant_backfire + element_flags = ELEMENT_BESPOKE + id_arg_index = 2 + /// Whether we stop the current action if backfire is triggered (EX: returning CANCEL_ATTACK_CHAIN) + var/cancel_action = FALSE + /// Any extra traits we want to check in addition to TRAIT_PLANT_SAFE. Mobs with a trait in this list will be considered safe. List of traits. + var/extra_traits + /// Any plant genes we want to check that are required for our plant to be dangerous. Plants without a gene in this list will be considered safe. List of typepaths. + var/extra_genes + +/datum/element/plant_backfire/Attach(datum/target, cancel_action = FALSE, extra_traits, extra_genes) + . = ..() + if(!isitem(target)) + return ELEMENT_INCOMPATIBLE + + src.cancel_action = cancel_action + src.extra_traits = extra_traits + src.extra_genes = extra_genes + + RegisterSignal(target, COMSIG_ITEM_PRE_ATTACK, PROC_REF(attack_safety_check)) + RegisterSignal(target, COMSIG_ITEM_PICKUP, PROC_REF(pickup_safety_check)) + RegisterSignal(target, COMSIG_MOVABLE_PRE_THROW, PROC_REF(throw_safety_check)) + +/datum/element/plant_backfire/Detach(datum/target) + . = ..() + UnregisterSignal(target, list(COMSIG_ITEM_PRE_ATTACK, COMSIG_ITEM_PICKUP, COMSIG_MOVABLE_PRE_THROW)) + +/** + * Checks before we attack if we're okay to continue. + * + * source - our plant + * user - the mob wielding our [source] + */ +/datum/element/plant_backfire/proc/attack_safety_check(obj/item/source, atom/target, mob/user) + SIGNAL_HANDLER + + // Covers stuff like tk, since we aren't actually touching the plant. + if(!user.is_holding(source)) + return + if(!backfire(source, user)) + return + + return //cancel_action ? COMPONENT_CANCEL_ATTACK_CHAIN : NONE + +/** + * Checks before we pick up the plant if we're okay to continue. + * + * source - our plant + * user - the mob picking our [source] + */ +/datum/element/plant_backfire/proc/pickup_safety_check(obj/item/source, mob/user) + SIGNAL_HANDLER + + backfire(source, user) + +/** + * Checks before we throw the plant if we're okay to continue. + * + * source - our plant + * thrower - the mob throwing our [source] + */ +/datum/element/plant_backfire/proc/throw_safety_check(obj/item/source, list/arguments) + SIGNAL_HANDLER + + var/mob/living/thrower = arguments[4] // the 4th arg = the mob throwing our item + if(!istype(thrower) || !thrower.is_holding(source)) + return + if(!backfire(source, thrower)) + return + + return //cancel_action ? COMPONENT_CANCEL_ATTACK_CHAIN : NONE + +/** + * The actual backfire occurs here. + * Checks if the user is able to safely handle the plant. + * If not, sends the backfire signal (meaning backfire will occur and be handled by one or multiple genes). + * + * Returns FALSE if the user was safe and no backfire occured. + * Returns TRUE if the user was not safe and a backfire actually happened. + */ +/datum/element/plant_backfire/proc/backfire(obj/item/plant, mob/user) + if(plant_safety_check(plant, user)) + return FALSE + + SEND_SIGNAL(plant, COMSIG_PLANT_ON_BACKFIRE, user) + return TRUE + +/** + * Actually checks if our user is safely handling our plant. + * + * Checks for TRAIT_PLANT_SAFE, and returns TRUE if we have it. + * Then, any extra traits we need to check (Like TRAIT_PIERCEIMMUNE for nettles) and returns TRUE if we have one of them. + * Then, any extra genes we need to check (Like liquid contents for bluespace tomatos) and returns TRUE if we don't have the gene. + * + * source - our plant + * user - the carbon handling our [source] + * + * returns FALSE if none of the checks are successful. + */ +/datum/element/plant_backfire/proc/plant_safety_check(obj/item/plant, mob/living/carbon/user) + if(!istype(user)) + return TRUE + + if(HAS_TRAIT(user, TRAIT_PLANT_SAFE)) + return TRUE + + for(var/checked_trait in extra_traits) + if(HAS_TRAIT(user, checked_trait)) + return TRUE + + var/obj/item/seeds/our_seed = plant.get_plant_seed() + if(our_seed) + for(var/checked_gene in extra_genes) + if(!our_seed.get_gene(checked_gene)) + return TRUE + + for(var/obj/item/clothing/worn_item in user.get_equipped_items()) + if((worn_item.body_parts_covered & HANDS) && (worn_item.clothing_flags & THICKMATERIAL)) + return TRUE + + return FALSE diff --git a/code/datums/elements/point_of_interest.dm b/code/datums/elements/point_of_interest.dm new file mode 100644 index 00000000000..d64ee5466ac --- /dev/null +++ b/code/datums/elements/point_of_interest.dm @@ -0,0 +1,22 @@ +/// Designates the atom as a "point of interest", meaning it can be directly orbited +/datum/element/point_of_interest + element_flags = ELEMENT_DETACH + +/datum/element/point_of_interest/Attach(datum/target) + if (!isatom(target)) + return ELEMENT_INCOMPATIBLE + + /* + // New players are abstract mobs assigned to people who are still in the lobby screen. + // As a result, they are not a valid POI and should never be a valid POI. If they + // somehow get this element attached to them, there's something we need to debug. + if(isnewplayer(target)) + return ELEMENT_INCOMPATIBLE + */ + + SSpoints_of_interest.on_poi_element_added(target) + return ..() + +/datum/element/point_of_interest/Detach(datum/target) + SSpoints_of_interest.on_poi_element_removed(target) + return ..() diff --git a/code/datums/elements/tool_bang.dm b/code/datums/elements/tool_bang.dm new file mode 100644 index 00000000000..bc002e936de --- /dev/null +++ b/code/datums/elements/tool_bang.dm @@ -0,0 +1,40 @@ +/** + * Tool bang bespoke element + * + * Bang the user when using this tool + */ +/datum/element/tool_bang + element_flags = ELEMENT_BESPOKE + id_arg_index = 2 + /// Strength of the bang + var/bang_strength + +/datum/element/tool_bang/Attach(datum/target, bang_strength) + . = ..() + if(!isitem(target)) + return ELEMENT_INCOMPATIBLE + + src.bang_strength = bang_strength + + RegisterSignal(target, COMSIG_TOOL_IN_USE, PROC_REF(prob_bang)) + RegisterSignal(target, COMSIG_TOOL_START_USE, PROC_REF(bang)) + +/datum/element/tool_bang/Detach(datum/source, force) + . = ..() + UnregisterSignal(source, list(COMSIG_TOOL_IN_USE, COMSIG_TOOL_START_USE)) + +/datum/element/tool_bang/proc/prob_bang(datum/source, mob/living/user) + SIGNAL_HANDLER + + if(prob(90)) + return + bang(source, user) + +/datum/element/tool_bang/proc/bang(datum/source, mob/living/user) + SIGNAL_HANDLER + + if(user && get_dist(get_turf(source), get_turf(user)) <= 1) + if(istype(user, /mob/living/carbon)) + var/mob/living/carbon/carbon = user + carbon.soundbang_act(min(bang_strength,1), 0, 1, 5) + diff --git a/code/datums/elements/world_icon.dm b/code/datums/elements/world_icon.dm index bcb0129c6c6..31e52ee7677 100644 --- a/code/datums/elements/world_icon.dm +++ b/code/datums/elements/world_icon.dm @@ -103,7 +103,7 @@ SIGNAL_HANDLER if(!world_icon_state) - source.icon_state = source.icon_state + source.icon_state = source.item_state return INVOKE_ASYNC(src, PROC_REF(check_world_icon_state), source) diff --git a/code/datums/ert.dm b/code/datums/ert.dm deleted file mode 100644 index 0c5227e4107..00000000000 --- a/code/datums/ert.dm +++ /dev/null @@ -1,290 +0,0 @@ -/datum/ert - var/mobtype = /mob/living/carbon/human - var/team = /datum/team/ert - var/opendoors = FALSE - var/leader_role = /datum/antagonist/ert/commander - var/enforce_human = FALSE - 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. - var/rename_team - var/code - var/mission = "Assist your employers in achieving their goals. Protect corporate assets." - var/teamsize = 5 - var/polldesc - /// If TRUE, gives the team members "[role] [random last name]" style names - var/random_names = FALSE - /// If TRUE, special slots (that are not the leader) will use a predefined limit - var/limit_slots = FALSE - /// If TRUE, the admin who created the response team will be spawned in the briefing room (or in the shuttle) in their preferred briefing outfit (assuming they're a ghost) - var/spawn_admin = FALSE - /// If TRUE, we try and pick one of the most experienced players who volunteered to fill the leader slot - var/leader_experience = TRUE - /// A custom map template to spawn the ERT at. If use_custom_shuttle is FALSE, the ERT will spawn on foot. By default, a Kunai-Class. - var/datum/map_template/ert_template = /datum/map_template/shuttle/subshuttles/kunai - /// If we should actually _use_ the ert_template custom shuttle - var/use_custom_shuttle = TRUE - /// If TRUE, the ERT will spawn at the outpost. If use_custom_shuttle is also TRUE, the shuttle will be docked at the outpost - var/spawn_at_outpost = TRUE - -// Nanotrasen - -/datum/ert/New() - if (!polldesc) - polldesc = "a Code [code] Nanotrasen Emergency Response Team" - -/datum/ert/blue - opendoors = FALSE - code = "Blue" - -/datum/ert/amber - code = "Amber" - -/datum/ert/red - leader_role = /datum/antagonist/ert/commander/red - roles = list(/datum/antagonist/ert/security/red, /datum/antagonist/ert/medic/red, /datum/antagonist/ert/engineer/red) - code = "Red" - -/datum/ert/deathsquad - roles = list(/datum/antagonist/ert/deathsquad) - leader_role = /datum/antagonist/ert/deathsquad/leader - rename_team = "Deathsquad" - code = "Delta" - mission = "Leave no witnesses." - polldesc = "an elite Nanotrasen Strike Team" - -/datum/ert/marine - leader_role = /datum/antagonist/ert/marine - roles = list(/datum/antagonist/ert/marine/security, /datum/antagonist/ert/marine/engineer = 1, /datum/antagonist/ert/marine/medic = 1) - rename_team = "Marine Squad" - polldesc = "an 'elite' Nanotrasen Strike Team" - opendoors = FALSE - -/datum/ert/centcom_official - code = "Green" - teamsize = 1 - opendoors = FALSE - leader_role = /datum/antagonist/ert/official - roles = list(/datum/antagonist/ert/official) - rename_team = "CentCom Officials" - polldesc = "a CentCom Official" - random_names = FALSE - leader_experience = FALSE - spawn_at_outpost = FALSE - ert_template = /datum/map_template/shuttle/subshuttles/ancon - -/datum/ert/centcom_official/New() - mission = "Conduct a routine review of [station_name()]'s vessels." - -/datum/ert/janitor - roles = list(/datum/antagonist/ert/janitor, /datum/antagonist/ert/janitor/heavy) - leader_role = /datum/antagonist/ert/janitor/heavy - teamsize = 4 - opendoors = FALSE - rename_team = "Janitor" - mission = "Clean up EVERYTHING." - polldesc = "a Nanotrasen Janitorial Response Team" - -/datum/ert/intern - roles = list(/datum/antagonist/ert/intern) - leader_role = /datum/antagonist/ert/intern/leader - teamsize = 7 - opendoors = FALSE - spawn_at_outpost = FALSE - rename_team = "Horde of Interns" - mission = "Assist in conflict resolution." - polldesc = "an unpaid internship opportunity with Nanotrasen" - ert_template = /datum/map_template/shuttle/subshuttles/ancon - -/datum/ert/intern/unarmed - roles = list(/datum/antagonist/ert/intern/unarmed) - leader_role = /datum/antagonist/ert/intern/leader/unarmed - rename_team = "Unarmed Horde of Interns" - -/datum/ert/loss_prevention - code = "Light Blue" - teamsize = 4 - opendoors = FALSE - leader_role = /datum/antagonist/ert/lp/lieutenant - roles = list(/datum/antagonist/ert/lp, /datum/antagonist/ert/lp/medic = 1, /datum/antagonist/ert/lp/engineer = 1) - rename_team = "Loss Prevention Team" - polldesc = "a Nanotrasen loss prevention team" - -// Inteq - -/datum/ert/inteq - teamsize = 4 - opendoors = FALSE - leader_role = /datum/antagonist/ert/inteq/leader - roles = list(/datum/antagonist/ert/inteq) - mission = "Carry out your contract." - rename_team = "Generic Inteq Team" - polldesc = "an Inteq emergency team" - ert_template = /datum/map_template/shuttle/subshuttles/anvil - -// SolGov - -/datum/ert/solgov - teamsize = 4 - opendoors = FALSE - leader_role = /datum/antagonist/ert/solgov - roles = list(/datum/antagonist/ert/solgov) - mission = "Intervene in Solarian interests." - rename_team = "SolGov Sonnensoldner Team" - polldesc = "a SolGov mercenary team" - -/datum/ert/solgov/inspector - teamsize = 1 - leader_role = /datum/antagonist/ert/official/solgov - roles = list(/datum/antagonist/ert/official/solgov) - rename_team = "SolGov Inspector" - polldesc = "a solarian inspector" - spawn_at_outpost = FALSE - -/datum/ert/solgov/inspector/New() - mission = "Conduct a routine review on [station_name()]'s vessels." - -// CLIP - -/datum/ert/minutemen - teamsize = 5 - opendoors = FALSE - leader_role = /datum/antagonist/ert/minutemen/leader - /// TODO: figure out a way to fill in at least one rifleman first - roles = list(/datum/antagonist/ert/minutemen, /datum/antagonist/ert/minutemen/corpsman = 1, /datum/antagonist/ert/minutemen/engi = 1, /datum/antagonist/ert/minutemen/gunner = 1) - mission = "Keep the peace in sector affairs" - rename_team = "CLIP Minutemen Squadron" - polldesc = "a CLIP Minutemen squadron" - ert_template = /datum/map_template/shuttle/subshuttles/crux - -//quick infantry - for use when you need to throw minutemen somewhere fast but dont want ANY preperation at all -/datum/ert/minutemen/quick - teamsize = 4 - opendoors = FALSE - leader_role = /datum/antagonist/ert/minutemen/leader - roles = list(/datum/antagonist/ert/minutemen) - mission = "Resolve the conflict at hand" - polldesc = "a CLIP Minutemen emergency team" - random_names = TRUE - - -/datum/ert/minutemen/bard - leader_role = /datum/antagonist/ert/minutemen/bard/leader - roles = list(/datum/antagonist/ert/minutemen/bard, /datum/antagonist/ert/minutemen/bard/medic = 1, /datum/antagonist/ert/minutemen/bard/flamer = 1) - rename_team = "CLIP Minutemen BARD Squadron" - polldesc = "a CLIP Minutemen biohazard removal team" - -/datum/ert/minutemen/riot - teamsize = 6 - leader_role = /datum/antagonist/ert/minutemen/riot/leader - roles = list(/datum/antagonist/ert/minutemen/riot) - rename_team = "CLIP Minutemen Riot Control Squadron" - polldesc = "a CLIP Minutemen riot control team" - -/datum/ert/minutemen/eva - leader_role = /datum/antagonist/ert/minutemen/eva/leader - roles = list(/datum/antagonist/ert/minutemen/eva) - -/datum/ert/minutemen/inspector - teamsize = 1 - leader_role = /datum/antagonist/ert/official/minutemen - roles = list(/datum/antagonist/ert/official/minutemen) - rename_team = "CLIP Minutemen GOLD Inspector" - polldesc = "a CLIP Minutemen inspector" - -// Syndicate - -/datum/ert/syndicate - teamsize = 4 - opendoors = FALSE - leader_role = /datum/antagonist/ert/syndicate/leader - roles = list(/datum/antagonist/ert/syndicate) - mission = "Serve the interests of the Syndicate." - rename_team = "Generic Syndicate Team" - polldesc = "a Syndicate emergency team" - spawn_at_outpost = FALSE - -/datum/ert/syndicate/gorlex - leader_role = /datum/antagonist/ert/syndicate/gorlex/leader - roles = list(/datum/antagonist/ert/syndicate/gorlex, /datum/antagonist/ert/syndicate/gorlex/pointman = 1, /datum/antagonist/ert/syndicate/gorlex/medic = 1, /datum/antagonist/ert/syndicate/gorlex/sniper = 1) - mission = "Serve the interests of the 2nd Battlegroup." - rename_team = "2nd Battlegroup Squad" - polldesc = "a loyalist Gorlex squad" - -/datum/ert/syndicate/cybersun - leader_role = /datum/antagonist/ert/syndicate/cybersun/leader - roles = list(/datum/antagonist/ert/syndicate/cybersun) - mission = "Serve the interests of CyberSun." - rename_team = "Cybersun Commando Team" - polldesc = "a Cybersun Commando team" - -/datum/ert/syndicate/cybersun/medic - leader_role = /datum/antagonist/ert/syndicate/cybersun/medic/leader - roles = list(/datum/antagonist/ert/syndicate/cybersun/medic) - mission = "Assist CyberSun clients." - rename_team = "Cybersun Medical Intervention Team" - polldesc = "a Cybersun paramedic team" - ert_template = /datum/map_template/shuttle/subshuttles/runner - -/datum/ert/syndicate/inspector - teamsize = 1 - leader_role = /datum/antagonist/ert/official/syndicate - roles = list(/datum/antagonist/ert/official/syndicate) - rename_team = "Syndicate Inspector" - polldesc = "a syndicate inspector" - spawn_at_outpost = FALSE - -/datum/ert/syndicate/inspector/New() - mission = "Conduct a routine review on [station_name()]'s vessels." - -// Frontiersmen -/datum/ert/frontier - teamsize = 4 - opendoors = FALSE - leader_role = /datum/antagonist/ert/frontier/leader - roles = list(/datum/antagonist/ert/frontier) - rename_team = "Generic Frontiersmen Team" - mission = "Pillage in the name of the Frontiersmen." - polldesc = "an armed group of pirates" - random_names = TRUE - leader_experience = FALSE - spawn_at_outpost = FALSE - ert_template = /datum/map_template/shuttle/subshuttles/sugarcube - -/datum/ert/frontier/random - teamsize = 8 - leader_role = /datum/antagonist/ert/frontier/random - roles = list(/datum/antagonist/ert/frontier/random) - rename_team = "Randomly Equipped Frontiersmen Team" - -/datum/ert/frontier/assault - leader_role = /datum/antagonist/ert/frontier/leader - roles = list(/datum/antagonist/ert/frontier/better, /datum/antagonist/ert/frontier/medic, /datum/antagonist/ert/frontier/engineer) - rename_team = "Assault Frontiersmen Team" - polldesc = "a well armed squad of pirates" - -/datum/ert/frontier/unarmed //use for finer control of pirate's armaments - leader_role = /datum/antagonist/ert/frontier/leader/unnarmed - roles = list(/datum/antagonist/ert/frontier/unnarmed) - rename_team = "Unnarmed Frontiersmen Team" - polldesc = "a custom squad of pirates" - -/datum/ert/independent - teamsize = 3 - opendoors = FALSE - leader_role = /datum/antagonist/ert/independent - roles = list(/datum/antagonist/ert/independent) - rename_team = "Security Independent Team" - polldesc = "an independent security team" - -/datum/ert/independent/emt - teamsize = 4 - leader_role = /datum/antagonist/ert/independent/emt - roles = list(/datum/antagonist/ert/independent/emt) - rename_team = "Medical Independent Team" - polldesc = "an independent medical response team" - -/datum/ert/independent/firefighter - teamsize = 5 - leader_role = /datum/antagonist/ert/independent/firefighter/leader - roles = list(/datum/antagonist/ert/independent/firefighter, /datum/antagonist/ert/independent/firefighter/medic) - rename_team = "Independent Firefighter Team" - polldesc = "an independent firefighting team" diff --git a/code/datums/ert/_ert.dm b/code/datums/ert/_ert.dm new file mode 100644 index 00000000000..3618d99dee2 --- /dev/null +++ b/code/datums/ert/_ert.dm @@ -0,0 +1,39 @@ +/datum/ert + var/mobtype = /mob/living/carbon/human + var/team = /datum/team/ert + // opens a special subtype of blastdoor. also a legacy setting that will probably not work with multiple outposts + var/opendoors = FALSE + var/leader_role = /datum/antagonist/ert/independent + // makes members spawn as humans. mostly a legacy setting but maybe you'll find it useful + var/enforce_human = FALSE + // list of possible roles to be assigned to ERT members. if it has a value (e.g. datum/antagonist/myspecialguy = 1), the role will be limited + var/roles = list(/datum/antagonist/ert/independent) + // this will appear in the end of round report and the antagonist team list + var/rename_team = "Emergency Response Team" + // this will be shown to the ERT members to be put in their memory + var/mission = "Make effective use of your tools." + // determines the size of the team. make sure there's enough size for all the special roles you may add + var/teamsize = 5 + // this will be shown to ghosts as "Would you like to be considered for [polldesc]?" + var/polldesc = "an emergency response team" + /// If TRUE, gives the team members "[role] [random last name]" style names + var/random_names = FALSE + /// If TRUE, special slots (that are not the leader) will use a predefined limit + var/limit_slots = TRUE + /// If TRUE, the admin who created the response team will be spawned in the briefing room (or in the shuttle) in their preferred briefing outfit (assuming they're a ghost) + var/spawn_admin = FALSE + /// If TRUE, we try and pick one of the most experienced players who volunteered to fill the leader slot + var/leader_experience = TRUE + /// A custom map template to spawn the ERT at. If use_custom_shuttle is FALSE, the ERT will spawn on foot. By default, a Kunai-Class. + var/datum/map_template/ert_template = /datum/map_template/shuttle/subshuttles/kunai + /// If we should actually _use_ the ert_template custom shuttle + var/use_custom_shuttle = TRUE + /// If TRUE, the ERT will spawn at the outpost. If use_custom_shuttle is also TRUE, the shuttle will be docked at the outpost + var/spawn_at_outpost = TRUE + /// should we give the ERT access to the outpost + var/outpost_access = FALSE + +/datum/ert/New() + . = ..() + if(!polldesc) + polldesc = "uhm uhh uhmmmm" diff --git a/code/datums/ert/ert_clip.dm b/code/datums/ert/ert_clip.dm new file mode 100644 index 00000000000..79c4c7493ed --- /dev/null +++ b/code/datums/ert/ert_clip.dm @@ -0,0 +1,59 @@ +/datum/ert/minutemen + teamsize = 5 + leader_role = /datum/antagonist/ert/minutemen/leader + /// TODO: figure out a way to fill in at least one rifleman first + roles = list(/datum/antagonist/ert/minutemen, /datum/antagonist/ert/minutemen/corpsman = 1, /datum/antagonist/ert/minutemen/engi = 1, /datum/antagonist/ert/minutemen/gunner = 1) + mission = "Keep the peace in sector affairs." + rename_team = "CLIP Minutemen Infantry" + polldesc = "a CLIP Minutemen squadron" + ert_template = /datum/map_template/shuttle/subshuttles/crux + +/datum/ert/minutemen/eva + leader_role = /datum/antagonist/ert/minutemen/leader/eva + roles = list(/datum/antagonist/ert/minutemen/eva) + +/datum/ert/minutemen/inspector + teamsize = 1 + leader_role = /datum/antagonist/ert/minutemen/inspector + roles = list(/datum/antagonist/ert/minutemen/inspector) + rename_team = "CLIP Minutemen GOLD Inspector" + polldesc = "a CLIP Minutemen inspector" + +/datum/ert/minutemen/inspector/guarded + teamsize = 3 + roles = list(/datum/antagonist/ert/minutemen/military_police) + +/datum/ert/minutemen/bard + teamsize = 4 + leader_role = /datum/antagonist/ert/minutemen/bard + roles = list(/datum/antagonist/ert/minutemen/bard) + rename_team = "BARD Biohazard Squadron" + polldesc = "a CLIP BARD biohazard team" + +/datum/ert/minutemen/bard/emergency + leader_role = /datum/antagonist/ert/minutemen/bard/emergency/leader + roles = list(/datum/antagonist/ert/minutemen/bard/emergency, /datum/antagonist/ert/minutemen/bard/medic = 1, /datum/antagonist/ert/minutemen/bard/flamer = 1) + rename_team = "BARD Emergency Squadron" + polldesc = "an emergency CLIP BARD team" + +/datum/ert/minutemen/military_police + teamsize = 4 + leader_role = /datum/antagonist/ert/minutemen/military_police/leader + roles = list(/datum/antagonist/ert/minutemen/military_police) + rename_team = "C-MM Military Police" + polldesc = "a C-MM military police team" + +/datum/ert/minutemen/military_police/riot + leader_role = /datum/antagonist/ert/minutemen/military_police/leader/riot + roles = list(/datum/antagonist/ert/minutemen/military_police/riot) + rename_team = "C-MM Riot Control Team" + polldesc = "a C-MM riot control team" + +/datum/ert/minutemen/journalist + teamsize = 3 + leader_role = /datum/antagonist/ert/minutemen/correspondant + roles = list(/datum/antagonist/ert/minutemen/correspondant) + mission = "Inform the public of the frontier's news." + rename_team = "C-MM Correspondants" + polldesc = "a C-MM media team" + ert_template = /datum/map_template/shuttle/subshuttles/kunai diff --git a/code/datums/ert/ert_frontiersmen.dm b/code/datums/ert/ert_frontiersmen.dm new file mode 100644 index 00000000000..58934fa30a1 --- /dev/null +++ b/code/datums/ert/ert_frontiersmen.dm @@ -0,0 +1,36 @@ +/datum/ert/frontier + teamsize = 4 + opendoors = FALSE + leader_role = /datum/antagonist/ert/frontier/leader + roles = list(/datum/antagonist/ert/frontier) + rename_team = "Generic Frontiersmen Team" + mission = "Pillage in the name of the Frontiersmen." + polldesc = "a group of frontiersmen" + random_names = TRUE + leader_experience = FALSE + spawn_at_outpost = FALSE + ert_template = /datum/map_template/shuttle/subshuttles/brawler + +/datum/ert/frontier/unarmed // use for finer control of pirate's armaments + leader_role = /datum/antagonist/ert/frontier/leader/unarmed + roles = list(/datum/antagonist/ert/frontier/unarmed) + rename_team = "Unarmed Frontiersmen Team" + +/datum/ert/frontier/random + teamsize = 8 // the second takes the rifle and shoots + leader_role = /datum/antagonist/ert/frontier/random + roles = list(/datum/antagonist/ert/frontier/random) + rename_team = "Randomly Equipped Frontiersmen Team" + +/datum/ert/frontier/raiders + leader_role = /datum/antagonist/ert/frontier/leader + roles = list(/datum/antagonist/ert/frontier/skm, /datum/antagonist/ert/frontier/medic = 1, /datum/antagonist/ert/frontier/engineer = 1) + rename_team = "Assault Frontiersmen Team" + polldesc = "a well armed squad of pirates" + +/datum/ert/frontier/shock + teamsize = 6 + leader_role = /datum/antagonist/ert/frontier/leader/heavy + roles = list(/datum/antagonist/ert/frontier/skm, /datum/antagonist/ert/frontier/sentry = 1, /datum/antagonist/ert/frontier/flamer = 1, /datum/antagonist/ert/frontier/medic/heavy = 1, /datum/antagonist/ert/frontier/engineer = 1) + rename_team = "Frontiersmen Shock Troops" + polldesc = "a frontiersmen shock troop squadron" diff --git a/code/datums/ert/ert_gezena.dm b/code/datums/ert/ert_gezena.dm new file mode 100644 index 00000000000..4e0057a567c --- /dev/null +++ b/code/datums/ert/ert_gezena.dm @@ -0,0 +1,21 @@ +/datum/ert/gezena + teamsize = 4 + leader_role = /datum/antagonist/ert/gezena/leader + roles = list(/datum/antagonist/ert/gezena, /datum/antagonist/ert/gezena/gunner, /datum/antagonist/ert/gezena/medic, /datum/antagonist/ert/gezena/engineer) + rename_team = "Gezenan Heavy Response Team" + polldesc = "a PGF response team" + ert_template = /datum/map_template/shuttle/subshuttles/nail + +/datum/ert/gezena/inspector + teamsize = 1 + leader_role = /datum/antagonist/ert/gezena/inspector + roles = list(/datum/antagonist/ert/gezena/inspector) + rename_team = "Gezenan Federation Observer" + polldesc = "a PGF inspector" + +/datum/ert/gezena/inspector/guarded + teamsize = 3 + roles = list(/datum/antagonist/ert/gezena) + +/datum/ert/gezena/inspector/New() + mission = "Conduct a routine review on [station_name()]'s Federation vessels." diff --git a/code/datums/ert/ert_indies.dm b/code/datums/ert/ert_indies.dm new file mode 100644 index 00000000000..a4fc323b9b8 --- /dev/null +++ b/code/datums/ert/ert_indies.dm @@ -0,0 +1,50 @@ +/datum/ert/independent + teamsize = 4 + opendoors = FALSE + leader_role = /datum/antagonist/ert/independent + roles = list(/datum/antagonist/ert/independent) + rename_team = "Security Independent Team" + polldesc = "an independent security team" + +/datum/ert/independent/emt + teamsize = 3 + leader_role = /datum/antagonist/ert/independent/emt + roles = list(/datum/antagonist/ert/independent/emt) + rename_team = "Medical Independent Team" + polldesc = "an independent medical response team" + +/datum/ert/independent/emt/eva + leader_role = /datum/antagonist/ert/independent/emt/eva + roles = list(/datum/antagonist/ert/independent/emt/eva) + +/datum/ert/independent/firefighter + teamsize = 5 + leader_role = /datum/antagonist/ert/independent/firefighter/leader + roles = list(/datum/antagonist/ert/independent/firefighter, /datum/antagonist/ert/independent/firefighter/medic) + rename_team = "Independent Firefighter Team" + polldesc = "an independent firefighting team" + +/datum/ert/independent/engineer + leader_role = /datum/antagonist/ert/independent/technician + roles = list(/datum/antagonist/ert/independent/technician) + rename_team = "Engineering Independent Team" + polldesc = "an independent engineering team" + +/datum/ert/independent/janitor + leader_role = /datum/antagonist/ert/independent/janitor + roles = list(/datum/antagonist/ert/independent/janitor) + rename_team = "Independent Janitorial Team" + polldesc = "an independent clean-up team" + +/datum/ert/independent/pizza + leader_role = /datum/antagonist/ert/independent/pizza + roles = list(/datum/antagonist/ert/independent/pizza) + rename_team = "Independent Pizza Delivery Team" + polldesc = "a pizza delivery job" + +/datum/ert/independent/deathsquad + teamsize = 2 + leader_role = /datum/antagonist/ert/independent/deathsquad + roles = list(/datum/antagonist/ert/independent/deathsquad) + rename_team = "Death Commando Team" + polldesc = "a death squadron team" diff --git a/code/datums/ert/ert_inteq.dm b/code/datums/ert/ert_inteq.dm new file mode 100644 index 00000000000..a1152688ef2 --- /dev/null +++ b/code/datums/ert/ert_inteq.dm @@ -0,0 +1,32 @@ +/datum/ert/inteq + teamsize = 4 + leader_role = /datum/antagonist/ert/inteq/leader + roles = list(/datum/antagonist/ert/inteq, /datum/antagonist/ert/inteq/medic, /datum/antagonist/ert/inteq/engineer) + mission = "Carry out your contract." + rename_team = "Inteq Assault Team" + polldesc = "an Inteq assault team" + ert_template = /datum/map_template/shuttle/subshuttles/anvil + +/datum/ert/inteq/eva + leader_role = /datum/antagonist/ert/inteq/leader/eva + roles = list(/datum/antagonist/ert/inteq/eva, /datum/antagonist/ert/inteq/medic/eva, /datum/antagonist/ert/inteq/engineer/eva) + +/datum/ert/inteq/inspector + teamsize = 1 + leader_role = /datum/antagonist/ert/inteq/inspector + roles = list(/datum/antagonist/ert/inteq/inspector) + mission = "Assure Inteq's quality on the frontier." + rename_team = "Inteq Investigator Team" + polldesc = "an Inteq investigator" + +/datum/ert/inteq/inspector/guarded + teamsize = 3 + leader_role = /datum/antagonist/ert/inteq/inspector + roles = list(/datum/antagonist/ert/inteq/honor_guard) + +/datum/ert/inteq/honor_guard + teamsize = 3 + leader_role = /datum/antagonist/ert/inteq/honor_guard + roles = list(/datum/antagonist/ert/inteq/honor_guard) + rename_team = "Inteq Honor Guard" + polldesc = "an Inteq honor guardsman team" diff --git a/code/datums/ert/ert_nanotrasen.dm b/code/datums/ert/ert_nanotrasen.dm new file mode 100644 index 00000000000..79b2adf4bc8 --- /dev/null +++ b/code/datums/ert/ert_nanotrasen.dm @@ -0,0 +1,26 @@ +/datum/ert/nanotrasen + teamsize = 4 + leader_role = /datum/antagonist/ert/nanotrasen/leader + roles = list(/datum/antagonist/ert/nanotrasen) + mission = "Work for the corporate values of Nanotrasen." + rename_team = "Vigilitas Security Team" + polldesc = "a Vigilitas security team" + +// /datum/ert/nanotrasen/emergency +// leader_role = /datum/antagonist/ert/nanotrasen/leader/emergency +// roles = list(/datum/antagonist/ert/nanotrasen/emergency, /datum/antagonist/ert/nanotrasen/emergency/engineer=1, /datum/antagonist/ert/nanotrasen/emergency/medic=1) +// rename_team = "Vigilitas Distress Response Team" +// polldesc = "a Vigilitas emergency team" + +/datum/ert/nanotrasen/delivery + leader_role = /datum/antagonist/ert/nanotrasen/delivery + roles = list(/datum/antagonist/ert/nanotrasen/delivery) + rename_team = "N+S Delivery Team" + polldesc = "a N+S delivery job" + +/datum/ert/nanotrasen/inspector + teamsize = 1 + leader_role = /datum/antagonist/ert/nanotrasen/inspector + roles = list(/datum/antagonist/ert/nanotrasen/inspector) + rename_team = "Nanotrasen Central Command Liaison" + polldesc = "a NT CentCom inspector" diff --git a/code/datums/ert/ert_roumain.dm b/code/datums/ert/ert_roumain.dm new file mode 100644 index 00000000000..5c33bdd39cb --- /dev/null +++ b/code/datums/ert/ert_roumain.dm @@ -0,0 +1,24 @@ +/datum/ert/srm + teamsize = 5 + leader_role = /datum/antagonist/ert/roumain/leader + roles = list(/datum/antagonist/ert/roumain/medic = 1, /datum/antagonist/ert/roumain/engineer = 1, /datum/antagonist/ert/roumain) + mission = "Serve the Church of Saint Roumain." + rename_team = "Roumain Hunting Party" + polldesc = "a Roumain hunting party" + +/datum/ert/srm/battle + teamsize = 7 + leader_role = /datum/antagonist/ert/roumain/leader/twobore // if you haven't heard of the srm you sure fucking will now + roles = list( + /datum/antagonist/ert/roumain/leader/colligne = 1, + /datum/antagonist/ert/roumain/medic = 1, + /datum/antagonist/ert/roumain/engineer = 1, + /datum/antagonist/ert/roumain/firestorm = 1, + /datum/antagonist/ert/roumain/scout = 1, + /datum/antagonist/ert/roumain/vickland + ) + mission = "Defend the Church of Saint Roumain presence in this sector." + rename_team = "Roumain Militia Defense Team" + polldesc = "a Roumain militia defense team" + +// ashhands one day maybes diff --git a/code/datums/ert/ert_solgov.dm b/code/datums/ert/ert_solgov.dm new file mode 100644 index 00000000000..4d0cf8b8301 --- /dev/null +++ b/code/datums/ert/ert_solgov.dm @@ -0,0 +1,19 @@ +/datum/ert/solgov + teamsize = 4 + opendoors = FALSE + leader_role = /datum/antagonist/ert/solgov + roles = list(/datum/antagonist/ert/solgov) + mission = "Intervene in Solarian interests." + rename_team = "SolGov Sonnensoldner Team" + polldesc = "a SolGov mercenary team" + +/datum/ert/solgov/inspector + teamsize = 1 + leader_role = /datum/antagonist/ert/solgov/inspector + roles = list(/datum/antagonist/ert/solgov/inspector) + rename_team = "SolGov Inspector" + polldesc = "a solarian inspector" + spawn_at_outpost = FALSE + +/datum/ert/solgov/inspector/New() + mission = "Conduct a routine review on [station_name()]'s vessels." diff --git a/code/datums/ert/ert_syndicate.dm b/code/datums/ert/ert_syndicate.dm new file mode 100644 index 00000000000..77558a5bc57 --- /dev/null +++ b/code/datums/ert/ert_syndicate.dm @@ -0,0 +1,73 @@ +// stand-ins + +/datum/ert/syndicate + teamsize = 4 + leader_role = /datum/antagonist/ert/syndicate/leader + roles = list(/datum/antagonist/ert/syndicate) + mission = "Serve the interests of the Syndicate." + rename_team = "Generic Syndicate Team" + polldesc = "a Syndicate emergency team" + spawn_at_outpost = FALSE + +/datum/ert/syndicate/inspector + teamsize = 1 + leader_role = /datum/antagonist/ert/syndicate/inspector + roles = list(/datum/antagonist/ert/syndicate/inspector) + rename_team = "Syndicate Inspector" + polldesc = "a syndicate ACLF inspector" + +/datum/ert/syndicate/inspector/New() + mission = "Conduct a routine review on [station_name()]'s Coalition vessels." + +// new gorlex republic + +/datum/ert/syndicate/ngr + teamsize = 5 + leader_role = /datum/antagonist/ert/syndicate/ngr/leader + roles = list(/datum/antagonist/ert/syndicate/ngr, /datum/antagonist/ert/syndicate/ngr/grenadier = 1, /datum/antagonist/ert/syndicate/ngr/medic = 1, /datum/antagonist/ert/syndicate/ngr/sniper = 1) + mission = "Uphold the sovereignty of the New Gorlex Republic." + rename_team = "Gorlex Republic Detachment" + polldesc = "a Gorlex Republic battle squad" + +/datum/ert/syndicate/ngr/inspector + teamsize = 1 + leader_role = /datum/antagonist/ert/syndicate/ngr/inspector + roles = list(/datum/antagonist/ert/syndicate/ngr/inspector) + rename_team = "Gorlex Republic Official" + polldesc = "a Gorlex Republic inspector" + +/datum/ert/syndicate/ngr/inspector/guarded + teamsize = 3 + leader_role = /datum/antagonist/ert/syndicate/ngr/inspector + roles = list(/datum/antagonist/ert/syndicate/ngr) + +// cybersun + +/datum/ert/syndicate/cybersun + leader_role = /datum/antagonist/ert/syndicate/cybersun/leader + roles = list(/datum/antagonist/ert/syndicate/cybersun) + mission = "Serve the interests of CyberSun." + rename_team = "Cybersun Commando Team" + polldesc = "a Cybersun Commando team" + +/datum/ert/syndicate/cybersun/medic + leader_role = /datum/antagonist/ert/syndicate/cybersun/medic/leader + roles = list(/datum/antagonist/ert/syndicate/cybersun/medic) + mission = "Assist CyberSun clients." + rename_team = "Cybersun Medical Intervention Team" + polldesc = "a Cybersun paramedic team" + ert_template = /datum/map_template/shuttle/subshuttles/runner + +/datum/ert/syndicate/hardliners + leader_role = /datum/antagonist/ert/syndicate/hardliner/leader + roles = list(/datum/antagonist/ert/syndicate/hardliner, /datum/antagonist/ert/syndicate/hardliner/medic = 1, /datum/antagonist/ert/syndicate/hardliner/engineer = 1) + mission = "Serve the interests of CyberSun." + rename_team = "Hardliner Element" + polldesc = "a Hardliner attack team" + +/datum/ert/syndicate/ramzi + leader_role = /datum/antagonist/ert/syndicate/ramzi/leader + roles = list(/datum/antagonist/ert/syndicate/ramzi, /datum/antagonist/ert/syndicate/ramzi/medic = 1, /datum/antagonist/ert/syndicate/ramzi/demolitionist = 1) + mission = "Make Ramzi proud." + rename_team = "Ramzi Cell" + polldesc = "a Ramzi pirate team" diff --git a/code/datums/guestbook.dm b/code/datums/guestbook.dm index 99104f09d71..ecb7087ed08 100644 --- a/code/datums/guestbook.dm +++ b/code/datums/guestbook.dm @@ -67,7 +67,7 @@ given_name = reject_bad_name(given_name) if(!given_name) if(!silent) - to_chat(user, span_warning("That's a pretty terrible name. You can do better.")) + to_chat(user, span_warning("That's a pretty terrible name.")) return FALSE if(!visibility_checks(user, guest, silent)) return FALSE diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index c5f907f9c31..d394d7707be 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -34,6 +34,8 @@ /datum/holocall var/mob/living/user //the one that called + ///area of the caller + var/area/caller_location var/obj/machinery/holopad/calling_holopad //the one that sent the call var/obj/machinery/holopad/connected_holopad //the one that answered the call (may be null) var/list/dialed_holopads //all things called, will be cleared out to just connected_holopad once answered @@ -48,6 +50,7 @@ /datum/holocall/New(mob/living/caller, obj/machinery/holopad/calling_pad, list/callees, elevated_access = FALSE) call_start_time = world.time user = caller + caller_location = get_area_name(caller) calling_pad.outgoing_call = src calling_holopad = calling_pad dialed_holopads = list() @@ -109,7 +112,7 @@ var/area/A = get_area(connected_holopad) calling_holopad.say("[A] holopad disconnected.") else if(H == calling_holopad && connected_holopad) - connected_holopad.say("[user] disconnected.") + connected_holopad.say("[caller_location] disconnected.") ConnectionFailure(H, TRUE) @@ -227,7 +230,7 @@ /obj/item/disk/holodisk name = "holorecord disk" - desc = "Stores recorder holocalls." + desc = "Stores recorded holocalls." random_color = FALSE color = "#A7A3A6" blueshift_pallete = FALSE diff --git a/code/datums/hud.dm b/code/datums/hud.dm index 24865387794..4703a31ea0f 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -14,7 +14,6 @@ GLOBAL_LIST_INIT(huds, list( DATA_HUD_SENTIENT_DISEASE = new/datum/atom_hud/sentient_disease(), DATA_HUD_AI_DETECT = new/datum/atom_hud/ai_detector(), DATA_HUD_FAN = new/datum/atom_hud/data/human/fan_hud(), - ANTAG_HUD_CULT = new/datum/atom_hud/antag(), ANTAG_HUD_REV = new/datum/atom_hud/antag(), ANTAG_HUD_OPS = new/datum/atom_hud/antag(), ANTAG_HUD_WIZ = new/datum/atom_hud/antag(), @@ -23,9 +22,6 @@ GLOBAL_LIST_INIT(huds, list( ANTAG_HUD_NINJA = new/datum/atom_hud/antag/hidden(), ANTAG_HUD_CHANGELING = new/datum/atom_hud/antag/hidden(), ANTAG_HUD_ABDUCTOR = new/datum/atom_hud/antag/hidden(), - ANTAG_HUD_DEVIL = new/datum/atom_hud/antag(), - ANTAG_HUD_SINTOUCHED = new/datum/atom_hud/antag/hidden(), - ANTAG_HUD_SOULLESS = new/datum/atom_hud/antag/hidden(), ANTAG_HUD_BROTHER = new/datum/atom_hud/antag/hidden(), ANTAG_HUD_OBSESSED = new/datum/atom_hud/antag/hidden(), ANTAG_HUD_FUGITIVE = new/datum/atom_hud/antag(), diff --git a/code/datums/looping_sounds/_looping_sound.dm b/code/datums/looping_sounds/_looping_sound.dm index bb7a33846a3..f88e594e3fc 100644 --- a/code/datums/looping_sounds/_looping_sound.dm +++ b/code/datums/looping_sounds/_looping_sound.dm @@ -100,7 +100,7 @@ /datum/looping_sound/proc/get_sound(starttime, _mid_sounds) . = _mid_sounds || mid_sounds while(!isfile(.) && !isnull(.)) - . = pickweight(.) + . = pick_weight(.) /datum/looping_sound/proc/on_start() var/start_wait = 0 diff --git a/code/datums/looping_sounds/item_sounds.dm b/code/datums/looping_sounds/item_sounds.dm index 96c2ec7533c..7eeabf513b8 100644 --- a/code/datums/looping_sounds/item_sounds.dm +++ b/code/datums/looping_sounds/item_sounds.dm @@ -36,17 +36,6 @@ #undef RAD_GEIGER_MEDIUM #undef RAD_GEIGER_HIGH -/datum/looping_sound/reverse_bear_trap - mid_sounds = list('sound/effects/clock_tick.ogg') - mid_length = 3.5 - volume = 25 - - -/datum/looping_sound/reverse_bear_trap_beep - mid_sounds = list('sound/machines/beep.ogg') - mid_length = 60 - volume = 10 - /datum/looping_sound/siren mid_sounds = list('sound/items/weeoo1.ogg' = 1) mid_length = 15 diff --git a/code/datums/looping_sounds/weather.dm b/code/datums/looping_sounds/weather.dm index 4398e7d5b1b..0e26b4592eb 100644 --- a/code/datums/looping_sounds/weather.dm +++ b/code/datums/looping_sounds/weather.dm @@ -74,3 +74,20 @@ /datum/looping_sound/weather/rain/indoors volume = 30 + +/datum/looping_sound/weather/rain/storm + mid_sounds = list( + 'sound/ambience/storm_outdoors.ogg' = 1 + ) + mid_length = 20.03 SECONDS // The lengths for the files vary, but the longest is ten seconds, so this will make it sound like intermittent wind. + start_sound = 'sound/ambience/acidrain_start.ogg' + start_length = null + end_sound = null + volume = 50 + +/datum/looping_sound/weather/rain/storm/indoors + volume = 30 + mid_sounds = list( + 'sound/ambience/storm_indoors.ogg' = 1 + ) + mid_length = 20.03 SECONDS // The lengths for the files vary, but the longest is ten seconds, so this will make it sound like intermittent wind. diff --git a/code/datums/map_zones.dm b/code/datums/map_zones.dm index c50b93cb2dd..fe4b487f5c8 100644 --- a/code/datums/map_zones.dm +++ b/code/datums/map_zones.dm @@ -533,6 +533,9 @@ /datum/virtual_level/proc/get_block() return block(locate(low_x,low_y,z_value), locate(high_x,high_y,z_value)) +/datum/virtual_level/proc/get_block_portion(lower_x, lower_y, higher_x, higher_y) + return block(locate(lower_x,lower_y,z_value), locate(higher_x,higher_y,z_value)) + /datum/virtual_level/proc/get_unreserved_block() return block(locate(low_x + reserved_margin, low_y + reserved_margin, z_value), locate(high_x - reserved_margin,high_y - reserved_margin,z_value)) @@ -542,6 +545,9 @@ /datum/virtual_level/proc/get_random_position() return locate(rand(low_x, high_x), rand(low_y, high_y), z_value) +/datum/virtual_level/proc/get_random_position_in_margin() + return locate(rand(low_x + reserved_margin, high_x - reserved_margin), rand(low_y + reserved_margin, high_y - reserved_margin), z_value) + /datum/virtual_level/proc/get_below_turf(turf/Turf) if(!down_linkage) return @@ -556,6 +562,25 @@ var/abs_y = Turf.y - low_y return locate(up_linkage.low_x + abs_x, up_linkage.low_y + abs_y, up_linkage.z_value) +/datum/virtual_level/proc/get_zone_step(turf/source, direction) + // multiz dir is just the up/down dir flags + var/multiz_dir = direction & (UP|DOWN) + // while the passed dir is normalized to just the cardinals + direction &= ~(UP|DOWN) + var/turf/my_turf = get_step(source, direction) + if(isnull(my_turf)) + return + switch(multiz_dir) + // the old version of this code prioritized UP over DOWN when + // both were passed. i don't want to fuck with that, so here it is preserved + if(UP|DOWN) + return get_above_turf(my_turf) + if(UP) + return get_above_turf(my_turf) + if(DOWN) + return get_below_turf(my_turf) + return my_turf + /datum/virtual_level/proc/get_client_mobs() return get_alive_client_mobs() + get_dead_client_mobs() @@ -631,7 +656,7 @@ var/ty = destination_y var/turf/DT = locate(tx, ty, destination_z) var/itercount = 0 - while(DT.density || istype(DT.loc,/area/shuttle)) // Extend towards the center of the map, trying to look for a better place to arrive + while(DT.density) // Extend towards the center of the map, trying to look for a better place to arrive if (itercount++ >= 100) log_game("SPACE Z-TRANSIT ERROR: Could not find a safe place to land [arrived] within 100 iterations.") break diff --git a/code/datums/mapgen/Whitesandsatmos.dm b/code/datums/mapgen/Whitesandsatmos.dm index 87d4ef33b88..231a9c9eec1 100644 --- a/code/datums/mapgen/Whitesandsatmos.dm +++ b/code/datums/mapgen/Whitesandsatmos.dm @@ -1,28 +1,3 @@ #define WHITESANDS_WALL_ENV "rock" #define WHITESANDS_SAND_ENV "sand" #define WHITESANDS_DRIED_ENV "dried_up" -#define WHITESANDS_ATMOS "ws_atmos" - -/datum/atmosphere/whitesands - id = WHITESANDS_ATMOS - - base_gases = list( - GAS_O2=5, - GAS_N2=10, - ) - normal_gases = list( - GAS_O2=10, - GAS_N2=10, - GAS_CO2=10, - ) - restricted_gases = list( - GAS_PLASMA=0.1, - GAS_H2O=0.1, - ) - restricted_chance = 50 - - minimum_pressure = HAZARD_LOW_PRESSURE + 10 - maximum_pressure = LAVALAND_EQUIPMENT_EFFECT_PRESSURE - 1 - - minimum_temp = 180 - maximum_temp = 180 diff --git a/code/datums/mapgen/planetary/AsteroidGenerator.dm b/code/datums/mapgen/planetary/AsteroidGenerator.dm index 737194b5ee2..dc5c27ac79e 100644 --- a/code/datums/mapgen/planetary/AsteroidGenerator.dm +++ b/code/datums/mapgen/planetary/AsteroidGenerator.dm @@ -111,10 +111,8 @@ ) feature_spawn_list = list( + /obj/structure/spawner/burrow/asteroid = 3, /obj/structure/geyser/random = 1, - /obj/structure/spawner/mining/goliath = 1, - /obj/structure/spawner/mining = 1, - /obj/structure/spawner/mining/hivelord = 1, /obj/structure/vein/asteroid = 5, /obj/structure/vein/classtwo/asteroid = 10, /obj/structure/vein/classthree/asteroid = 5 @@ -161,7 +159,7 @@ feature_spawn_list = list( /obj/structure/geyser/random = 5, - /obj/structure/spawner/mining/carp = 5, + /obj/structure/spawner/carp = 5, /obj/structure/vein/asteroid = 10, /obj/structure/vein/classtwo/asteroid = 15, /obj/structure/vein/classthree/asteroid = 12 diff --git a/code/datums/mapgen/planetary/JungleGenerator.dm b/code/datums/mapgen/planetary/JungleGenerator.dm index 45ae4a7120c..f64e4750495 100644 --- a/code/datums/mapgen/planetary/JungleGenerator.dm +++ b/code/datums/mapgen/planetary/JungleGenerator.dm @@ -100,7 +100,7 @@ mob_spawn_list = list( /mob/living/carbon/monkey = 10, /mob/living/simple_animal/hostile/retaliate/chicken = 10, - /obj/effect/spawner/lootdrop/chicken/jungle/flock = 1 + /obj/effect/spawner/random/chicken/jungle/flock = 1 ) /datum/biome/jungle/dense @@ -123,7 +123,7 @@ /mob/living/simple_animal/hostile/gorilla = 1, /mob/living/carbon/monkey = 6, /mob/living/simple_animal/hostile/retaliate/chicken = 4, - /obj/effect/spawner/lootdrop/chicken/jungle/flock = 1 + /obj/effect/spawner/random/chicken/jungle/flock = 1 ) /datum/biome/jungle/plains @@ -180,8 +180,8 @@ feature_spawn_chance = 0.5 feature_spawn_list = list( /obj/item/pickaxe/rusted = 1, - /obj/structure/spawner/ice_moon = 1, - /obj/effect/spawner/lootdrop/anomaly/jungle = 1 + /obj/structure/spawner/burrow/jungle_planet = 1, + /obj/effect/spawner/random/anomaly/jungle = 1 ) /datum/biome/cave/jungle/dirt diff --git a/code/datums/mapgen/planetary/LavaGenerator.dm b/code/datums/mapgen/planetary/LavaGenerator.dm index ef66cca1103..120f3a80d43 100644 --- a/code/datums/mapgen/planetary/LavaGenerator.dm +++ b/code/datums/mapgen/planetary/LavaGenerator.dm @@ -98,17 +98,15 @@ feature_spawn_chance = 0.3 feature_spawn_list = list( /obj/structure/flora/rock/hell = 20, - /obj/structure/elite_tumor = 4, /obj/structure/geyser/random = 4, - /obj/effect/spawner/lootdrop/anomaly/lava = 2, + /obj/effect/spawner/random/anomaly/lava = 2, /obj/structure/flora/rock/hell = 14, /obj/structure/vein = 5, /obj/structure/vein/classtwo = 2, - /obj/structure/elite_tumor = 2, /obj/structure/geyser/random = 2, /obj/structure/vein/classthree = 1, /obj/effect/spawner/minefield = 1, - /obj/effect/spawner/lootdrop/anomaly/lava = 1, + /obj/effect/spawner/random/anomaly/lava = 1, ) mob_spawn_chance = 4 mob_spawn_list = list( @@ -120,9 +118,7 @@ /mob/living/simple_animal/hostile/asteroid/goliath/beast/ancient/crystal = 1, /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/forgotten = 1, /mob/living/simple_animal/hostile/asteroid/hivelord/legion/crystal = 1, - /obj/structure/spawner/lavaland/low_threat = 8, - /obj/structure/spawner/lavaland/medium_threat = 3, - /obj/structure/spawner/lavaland/high_threat = 1, + /obj/structure/spawner/burrow/lava_planet = 10 ) /datum/biome/lavaland/forest @@ -169,7 +165,7 @@ feature_spawn_list = list( /obj/structure/flora/tree/dead/barren = 50, /obj/structure/flora/tree/dead/tall/grey = 45, - /obj/effect/spawner/lootdrop/anomaly/lava = 10, + /obj/effect/spawner/random/anomaly/lava = 10, /obj/structure/vein = 5, /obj/structure/vein/classtwo = 2, /obj/structure/vein/classthree = 1, @@ -242,10 +238,7 @@ /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/random = 40, /mob/living/simple_animal/hostile/asteroid/hivelord/legion/random = 30, /mob/living/simple_animal/hostile/asteroid/goldgrub = 10, - /obj/structure/spawner/lavaland/low_threat = 8, - /obj/structure/spawner/lavaland/medium_threat = 3, - /obj/structure/spawner/lavaland/high_threat = 2, - /obj/structure/spawner/lavaland/extreme_threat = 1 + /obj/structure/spawner/burrow/lava_planet = 10 ) flora_spawn_chance = 1 flora_spawn_list = list( diff --git a/code/datums/mapgen/planetary/RockGenerator.dm b/code/datums/mapgen/planetary/RockGenerator.dm index c675c87714f..7bf544cff3a 100644 --- a/code/datums/mapgen/planetary/RockGenerator.dm +++ b/code/datums/mapgen/planetary/RockGenerator.dm @@ -87,12 +87,11 @@ feature_spawn_list = list( /obj/structure/geyser/random = 80, /obj/structure/vein = 60, - /obj/structure/elite_tumor = 40, /obj/structure/vein/classtwo = 40, - /obj/effect/spawner/lootdrop/anomaly/rock = 10, + /obj/effect/spawner/random/anomaly/rock = 10, /obj/structure/vein/classthree = 10, /obj/effect/spawner/minefield = 2, - /obj/effect/spawner/lootdrop/anomaly/big = 1 //get out of here stalker + /obj/effect/spawner/random/anomaly/big = 1 //get out of here stalker ) flora_spawn_chance = 5 @@ -158,11 +157,10 @@ /obj/structure/vein = 3, /obj/structure/geyser/random = 2, /obj/structure/vein/classtwo = 2, - /obj/structure/elite_tumor = 1, /obj/structure/vein/classthree = 1, + /obj/structure/spawner/burrow/rock_plant = 4, /obj/effect/spawner/minefield = 1, - /obj/structure/spawner/ice_moon/rockplanet = 4, - /obj/effect/spawner/lootdrop/anomaly/rock/cave = 1, + /obj/effect/spawner/random/anomaly/rock/cave = 1, ) mob_spawn_chance = 6 mob_spawn_list = list( diff --git a/code/datums/mapgen/planetary/SandGenerator.dm b/code/datums/mapgen/planetary/SandGenerator.dm index 91fad1430a4..d388529a16e 100644 --- a/code/datums/mapgen/planetary/SandGenerator.dm +++ b/code/datums/mapgen/planetary/SandGenerator.dm @@ -94,9 +94,8 @@ /obj/structure/geyser/random = 8, /obj/structure/vein = 8, /obj/structure/vein/classtwo = 4, - /obj/structure/elite_tumor = 4, /obj/structure/vein/classthree = 2, - /obj/effect/spawner/lootdrop/anomaly/sand = 1, + /obj/effect/spawner/random/anomaly/sand = 1, ) mob_spawn_chance = 4 mob_spawn_list = list( @@ -120,7 +119,7 @@ /obj/structure/flora/ash/cap_shroom = 4, /obj/structure/flora/ash/stem_shroom = 4, /obj/effect/decal/remains/human = 4, - /obj/effect/spawner/lootdrop/maintenance = 40, + /obj/effect/spawner/random/maintenance = 40, ) /datum/biome/sand/grass @@ -173,10 +172,10 @@ ) /datum/biome/sand/acid //plains - open_turf_types = list(/turf/open/floor/plating/asteroid/whitesands/lit = 10, /turf/open/acid/whitesands = 1) + open_turf_types = list(/turf/open/floor/plating/asteroid/whitesands/lit = 10, /turf/open/water/acid/whitesands = 1) /datum/biome/sand/acid/total - open_turf_types = list(/turf/open/acid/whitesands = 1) + open_turf_types = list(/turf/open/water/acid/whitesands = 1) flora_spawn_chance = 0 feature_spawn_chance = 0 mob_spawn_chance = 0 @@ -198,8 +197,7 @@ /obj/structure/vein = 8, /obj/structure/geyser/random = 4, /obj/structure/vein/classtwo = 4, - /obj/structure/elite_tumor = 4, - /obj/effect/spawner/lootdrop/anomaly/sand/cave = 1 + /obj/effect/spawner/random/anomaly/sand/cave = 1 ) mob_spawn_chance = 4 mob_spawn_list = list( @@ -217,9 +215,7 @@ /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands = 40, /mob/living/simple_animal/hostile/asteroid/hivelord/legion/random = 30, /mob/living/simple_animal/hostile/asteroid/goldgrub = 20, - /obj/structure/spawner/lavaland/sand_world/low_threat = 14, - /obj/structure/spawner/lavaland/sand_world/medium_threat = 8, - /obj/structure/spawner/lavaland/sand_world/high_threat = 2, + /obj/structure/spawner/burrow/sand_planet = 25 ) /datum/biome/cave/sand/volcanic @@ -230,4 +226,4 @@ open_turf_types = list(/turf/open/floor/plating/asteroid/whitesands/dried = 7, /turf/open/lava = 1) /datum/biome/cave/sand/volcanic/acidic - open_turf_types = list(/turf/open/floor/plating/asteroid/whitesands/dried = 8, /turf/open/acid/whitesands = 1) + open_turf_types = list(/turf/open/floor/plating/asteroid/whitesands/dried = 8, /turf/open/water/acid/whitesands = 1) diff --git a/code/datums/mapgen/planetary/SnowGenerator.dm b/code/datums/mapgen/planetary/SnowGenerator.dm index 8489cbb970b..4297f8a50f2 100644 --- a/code/datums/mapgen/planetary/SnowGenerator.dm +++ b/code/datums/mapgen/planetary/SnowGenerator.dm @@ -102,8 +102,7 @@ mob_spawn_chance = 1 mob_spawn_list = list( /mob/living/simple_animal/hostile/asteroid/wolf/random = 30, - /obj/structure/spawner/ice_moon = 2, - /obj/structure/spawner/ice_moon/polarbear = 2, + /obj/structure/spawner/burrow/ice_planet = 4, /mob/living/simple_animal/hostile/asteroid/polarbear/random = 30, /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow = 50, /mob/living/simple_animal/hostile/asteroid/goldgrub = 10, @@ -113,11 +112,9 @@ ) feature_spawn_chance = 0.1 feature_spawn_list = list( - /obj/effect/spawner/lootdrop/anomaly/ice = 12, - /obj/effect/spawner/lootdrop/anomaly/big = 1, - /obj/structure/spawner/ice_moon/demonic_portal/low_threat = 25, - /obj/structure/spawner/ice_moon/demonic_portal/medium_threat = 50, - /obj/structure/spawner/ice_moon/demonic_portal/high_threat = 13, + /obj/effect/spawner/random/anomaly/ice = 12, + /obj/effect/spawner/random/anomaly/big = 1, + /obj/structure/spawner/burrow/ice_planet = 80, /obj/structure/vein/ice = 25, /obj/effect/spawner/minefield = 2, /obj/structure/vein/ice/classtwo = 50, @@ -171,8 +168,7 @@ ) feature_spawn_chance = 0.1 feature_spawn_list = list( - /obj/structure/spawner/ice_moon = 2, - /obj/structure/spawner/ice_moon/polarbear = 2, + /obj/structure/spawner/burrow/ice_planet = 4, /obj/structure/statue/snow/snowman = 3, /obj/structure/statue/snow/snowlegion = 1, /obj/structure/vein/ice = 3, @@ -181,8 +177,7 @@ ) mob_spawn_list = list( /mob/living/simple_animal/hostile/asteroid/wolf/random = 30, - /obj/structure/spawner/ice_moon = 2, - /obj/structure/spawner/ice_moon/polarbear = 2, + /obj/structure/spawner/burrow/ice_planet = 2, /mob/living/simple_animal/hostile/asteroid/polarbear/random = 30, /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow = 50, /mob/living/simple_animal/hostile/asteroid/goldgrub = 10, @@ -217,12 +212,9 @@ ) feature_spawn_chance = 0.3 feature_spawn_list = list( - /obj/effect/spawner/lootdrop/anomaly/ice = 100, - /obj/effect/spawner/lootdrop/anomaly/big = 1, - /obj/structure/spawner/ice_moon/demonic_portal/low_threat = 200, - /obj/structure/spawner/ice_moon/demonic_portal/medium_threat = 400, - /obj/structure/spawner/ice_moon/demonic_portal/high_threat = 40, - /obj/structure/spawner/ice_moon/demonic_portal/extreme_threat = 1, + /obj/effect/spawner/random/anomaly/ice = 100, + /obj/effect/spawner/random/anomaly/big = 1, + /obj/structure/spawner/burrow/ice_planet/hard = 600, /obj/structure/vein/ice = 300, /obj/structure/vein/ice/classtwo = 500, /obj/structure/vein/ice/classthree = 50, @@ -264,8 +256,7 @@ mob_spawn_chance = 2 mob_spawn_list = list( /mob/living/simple_animal/hostile/asteroid/wolf/random = 30, - /obj/structure/spawner/ice_moon = 2, - /obj/structure/spawner/ice_moon/polarbear = 2, + /obj/structure/spawner/burrow/ice_planet = 4, /mob/living/simple_animal/hostile/asteroid/polarbear/random = 30, /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow = 50, /mob/living/simple_animal/hostile/asteroid/goldgrub = 10, @@ -275,13 +266,9 @@ ) feature_spawn_chance = 0.2 feature_spawn_list = list( - /obj/structure/spawner/ice_moon/demonic_portal/low_threat = 20, - /obj/structure/spawner/ice_moon/demonic_portal/medium_threat = 40, - /obj/structure/spawner/ice_moon/demonic_portal/high_threat = 5, - /obj/structure/spawner/ice_moon/demonic_portal/extreme_threat = 1, - /obj/structure/spawner/ice_moon = 20, - /obj/structure/spawner/ice_moon/polarbear = 20, - /obj/effect/spawner/lootdrop/anomaly/ice/cave = 10, + /obj/structure/spawner/burrow/ice_planet = 60, + /obj/structure/spawner/burrow/ice_planet = 40, + /obj/effect/spawner/random/anomaly/ice/cave = 10, /obj/structure/vein/ice = 30, /obj/structure/vein/ice/classtwo = 50, /obj/structure/vein/ice/classthree = 6, diff --git a/code/datums/mapgen/planetary/WasteGenerator.dm b/code/datums/mapgen/planetary/WasteGenerator.dm index c6e1244be12..15690125c00 100644 --- a/code/datums/mapgen/planetary/WasteGenerator.dm +++ b/code/datums/mapgen/planetary/WasteGenerator.dm @@ -66,9 +66,9 @@ BIOME_COLD_CAVE = list( BIOME_LOWEST_HUMIDITY = /datum/biome/cave/waste, BIOME_LOW_HUMIDITY = /datum/biome/cave/waste/rad, - BIOME_MEDIUM_HUMIDITY = /datum/biome/cave/waste, - BIOME_HIGH_HUMIDITY = /datum/biome/cave/waste/rad, - BIOME_HIGHEST_HUMIDITY = /datum/biome/cave/waste + BIOME_MEDIUM_HUMIDITY = /datum/biome/cave/waste/conc, + BIOME_HIGH_HUMIDITY = /datum/biome/cave/waste/conc, + BIOME_HIGHEST_HUMIDITY = /datum/biome/cave/waste/conc ), BIOME_WARM_CAVE = list( BIOME_LOWEST_HUMIDITY = /datum/biome/cave/waste, @@ -96,28 +96,27 @@ flora_spawn_list = list( //mech spawners - /obj/effect/spawner/lootdrop/waste/mechwreck = 100, - /obj/effect/spawner/lootdrop/waste/mechwreck/rare = 20, + /obj/effect/spawner/random/waste/mechwreck = 100, + /obj/effect/spawner/random/waste/mechwreck/rare = 20, //decals and fluff structures - /obj/effect/spawner/lootdrop/waste/trash = 1800, - /obj/effect/spawner/lootdrop/waste/radiation = 80, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 10, + /obj/effect/spawner/random/trash/decal = 1800, + /obj/effect/spawner/random/waste/radiation = 80, + /obj/effect/spawner/random/waste/radiation/more_rads = 10, //stuff you can actually use - /obj/effect/spawner/lootdrop/waste/girder = 600, - /obj/structure/reagent_dispensers/fueltank = 100, + /obj/effect/spawner/random/waste/girder = 600, /obj/structure/reagent_dispensers/watertank = 200, /obj/item/stack/cable_coil/cut = 500, /obj/structure/closet/crate/secure/loot = 30, - /obj/effect/spawner/lootdrop/waste/atmos_can = 50, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1, - /obj/effect/spawner/lootdrop/waste/salvageable = 300, - /obj/effect/spawner/lootdrop/waste/grille_or_trash = 200, - /obj/effect/spawner/lootdrop/maintenance = 200, - /obj/effect/spawner/lootdrop/maintenance/two = 100, - /obj/effect/spawner/lootdrop/maintenance/three = 50, - /obj/effect/spawner/lootdrop/maintenance/four = 20, + /obj/effect/spawner/random/waste/atmos_can = 50, + /obj/effect/spawner/random/waste/atmos_can/rare = 1, + /obj/effect/spawner/random/waste/salvageable = 300, + /obj/effect/spawner/random/waste/grille_or_trash = 200, + /obj/effect/spawner/random/maintenance = 200, + /obj/effect/spawner/random/maintenance/two = 100, + /obj/effect/spawner/random/maintenance/three = 50, + /obj/effect/spawner/random/maintenance/four = 20, //plants /obj/structure/flora/ash/garden/waste = 70, @@ -126,7 +125,7 @@ //the illusive shrapnel plant /obj/item/mine/pressure/explosive/shrapnel/live = 30, - /obj/effect/spawner/lootdrop/mine = 8, + /obj/effect/spawner/random/mine = 8, /obj/effect/spawner/minefield = 2 ) @@ -134,14 +133,14 @@ /obj/effect/radiation/waste = 30, /obj/effect/radiation/waste/intense = 10, /obj/structure/geyser/random = 1, - /obj/effect/spawner/lootdrop/anomaly/waste = 1 + /obj/effect/spawner/random/anomaly/waste = 1 ) mob_spawn_list = list( //hivebots, not too difficult - /mob/living/simple_animal/hostile/hivebot/wasteplanet/strong = 70, - /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged = 40, - /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid = 30, + /mob/living/simple_animal/hostile/hivebot/strong = 20, + /mob/living/simple_animal/hostile/hivebot/ranged = 40, + /mob/living/simple_animal/hostile/hivebot/ranged/rapid = 30, //bots, are hostile /mob/living/simple_animal/bot/firebot/rockplanet = 15, /mob/living/simple_animal/bot/secbot/ed209/rockplanet = 3, @@ -160,23 +159,23 @@ ) flora_spawn_list = list( - /obj/effect/spawner/lootdrop/waste/trash = 180, - /obj/effect/spawner/lootdrop/waste/radiation = 16, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 2, - /obj/effect/spawner/lootdrop/waste/atmos_can = 36, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1, - /obj/effect/spawner/lootdrop/waste/salvageable = 60, + /obj/effect/spawner/random/trash/decal = 180, + /obj/effect/spawner/random/waste/radiation = 16, + /obj/effect/spawner/random/waste/radiation/more_rads = 2, + /obj/effect/spawner/random/waste/atmos_can = 36, + /obj/effect/spawner/random/waste/atmos_can/rare = 1, + /obj/effect/spawner/random/waste/salvageable = 60, ) mob_spawn_chance = 1 /datum/biome/waste/crater/rad flora_spawn_list = list( /obj/structure/flora/ash/glowshroom = 180, - /obj/effect/spawner/lootdrop/waste/trash = 90, - /obj/effect/spawner/lootdrop/waste/radiation = 25, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 7, - /obj/effect/spawner/lootdrop/waste/atmos_can = 7, - /obj/effect/spawner/lootdrop/waste/salvageable = 15 + /obj/effect/spawner/random/trash/decal = 90, + /obj/effect/spawner/random/waste/radiation = 25, + /obj/effect/spawner/random/waste/radiation/more_rads = 7, + /obj/effect/spawner/random/waste/atmos_can = 7, + /obj/effect/spawner/random/waste/salvageable = 15 ) /datum/biome/waste/clearing @@ -185,27 +184,26 @@ /datum/biome/waste/clearing/mushroom flora_spawn_list = list( - /obj/effect/spawner/lootdrop/waste/mechwreck = 100, - /obj/effect/spawner/lootdrop/waste/trash = 900, - /obj/effect/spawner/lootdrop/waste/radiation = 300, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 120, - /obj/effect/spawner/lootdrop/waste/girder = 600, - /obj/structure/reagent_dispensers/fueltank = 100, + /obj/effect/spawner/random/waste/mechwreck = 100, + /obj/effect/spawner/random/trash/decal = 900, + /obj/effect/spawner/random/waste/radiation = 300, + /obj/effect/spawner/random/waste/radiation/more_rads = 120, + /obj/effect/spawner/random/waste/girder = 600, /obj/structure/reagent_dispensers/watertank = 200, /obj/item/stack/cable_coil/cut = 500, /obj/structure/closet/crate/secure/loot = 30, - /obj/effect/spawner/lootdrop/waste/atmos_can = 50, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1, - /obj/effect/spawner/lootdrop/waste/salvageable = 300, - /obj/effect/spawner/lootdrop/waste/grille_or_trash = 200, - /obj/effect/spawner/lootdrop/maintenance = 200, - /obj/effect/spawner/lootdrop/maintenance/two = 100, - /obj/effect/spawner/lootdrop/maintenance/three = 50, - /obj/effect/spawner/lootdrop/maintenance/four = 20, + /obj/effect/spawner/random/waste/atmos_can = 50, + /obj/effect/spawner/random/waste/atmos_can/rare = 1, + /obj/effect/spawner/random/waste/salvageable = 300, + /obj/effect/spawner/random/waste/grille_or_trash = 200, + /obj/effect/spawner/random/maintenance = 200, + /obj/effect/spawner/random/maintenance/two = 100, + /obj/effect/spawner/random/maintenance/three = 50, + /obj/effect/spawner/random/maintenance/four = 20, /obj/structure/flora/ash/garden/waste = 300, /obj/structure/flora/ash/glowshroom = 1800, /obj/item/mine/pressure/explosive/shrapnel/live = 30, - /obj/effect/spawner/lootdrop/mine = 8, + /obj/effect/spawner/random/mine = 8, /obj/effect/spawner/minefield = 2 ) @@ -229,44 +227,40 @@ ) flora_spawn_list = list( //there are no plants here - /obj/effect/spawner/lootdrop/waste/mechwreck = 200, - /obj/effect/spawner/lootdrop/waste/mechwreck/rare = 50, - /obj/effect/spawner/lootdrop/waste/trash = 900, - /obj/effect/spawner/lootdrop/waste/radiation = 80, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 20, - /obj/effect/spawner/lootdrop/waste/girder = 600, - /obj/structure/reagent_dispensers/fueltank = 100, + /obj/effect/spawner/random/waste/mechwreck = 200, + /obj/effect/spawner/random/waste/mechwreck/rare = 50, + /obj/effect/spawner/random/trash/decal = 900, + /obj/effect/spawner/random/waste/radiation = 80, + /obj/effect/spawner/random/waste/radiation/more_rads = 20, + /obj/effect/spawner/random/waste/girder = 600, /obj/structure/reagent_dispensers/watertank = 200, /obj/item/stack/cable_coil/cut = 500, /obj/structure/closet/crate/secure/loot = 30, - /obj/effect/spawner/lootdrop/waste/atmos_can = 50, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1, - /obj/effect/spawner/lootdrop/waste/salvageable = 300, - /obj/effect/spawner/lootdrop/waste/grille_or_trash = 200, - /obj/effect/spawner/lootdrop/maintenance = 200, - /obj/effect/spawner/lootdrop/maintenance/two = 100, - /obj/effect/spawner/lootdrop/maintenance/three = 50, - /obj/effect/spawner/lootdrop/maintenance/four = 20, + /obj/effect/spawner/random/waste/atmos_can = 50, + /obj/effect/spawner/random/waste/atmos_can/rare = 1, + /obj/effect/spawner/random/waste/salvageable = 300, + /obj/effect/spawner/random/waste/grille_or_trash = 200, + /obj/effect/spawner/random/maintenance = 200, + /obj/effect/spawner/random/maintenance/two = 100, + /obj/effect/spawner/random/maintenance/three = 50, + /obj/effect/spawner/random/maintenance/four = 20, /obj/structure/closet/crate/secure/loot = 30, - /obj/effect/spawner/lootdrop/waste/atmos_can = 180, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1, - /obj/effect/spawner/lootdrop/waste/salvageable = 300, + /obj/effect/spawner/random/waste/atmos_can = 180, + /obj/effect/spawner/random/waste/atmos_can/rare = 1, + /obj/effect/spawner/random/waste/salvageable = 300, /obj/item/mine/pressure/explosive/rad/live = 30, - /obj/effect/spawner/lootdrop/mine = 8, + /obj/effect/spawner/random/mine = 8, /obj/effect/spawner/minefield = 2 ) mob_spawn_list = list( //nor organics, more biased towards hivebots though - /mob/living/simple_animal/hostile/hivebot/wasteplanet/strong = 80, - /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged = 50, - /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid = 50, + /mob/living/simple_animal/hostile/hivebot/strong = 20, + /mob/living/simple_animal/hostile/hivebot/ranged = 50, + /mob/living/simple_animal/hostile/hivebot/ranged/rapid = 50, /mob/living/simple_animal/bot/firebot/rockplanet = 15, /mob/living/simple_animal/bot/secbot/ed209/rockplanet = 3, /mob/living/simple_animal/hostile/abandoned_minebot = 15, /mob/living/simple_animal/bot/floorbot/rockplanet = 15, - /obj/structure/spawner/wasteplanet/hivebot/low_threat = 20, - /obj/structure/spawner/wasteplanet/hivebot/medium_threat = 10, - /obj/structure/spawner/wasteplanet/hivebot/high_threat = 5, - /obj/structure/spawner/wasteplanet/hivebot/extreme_threat = 2 + /obj/structure/spawner/hivebot = 35 ) /datum/biome/waste/metal/rust @@ -287,36 +281,35 @@ closed_turf_types = list( /turf/closed/mineral/random/wasteplanet = 40, - /turf/closed/wall/r_wall = 1, - /turf/closed/wall/r_wall/rust = 3, - /turf/closed/wall = 2, - /turf/closed/wall/rust = 6 + /turf/closed/wall/r_wall/wasteplanet = 1, + /turf/closed/wall/r_wall/rust/wasteplanet = 3, + /turf/closed/wall/wasteplanet = 2, + /turf/closed/wall/rust/wasteplanet = 6 ) flora_spawn_list = list( - /obj/effect/spawner/lootdrop/waste/mechwreck = 100, - /obj/effect/spawner/lootdrop/waste/mechwreck/rare = 20, - /obj/effect/spawner/lootdrop/waste/trash = 1800, - /obj/effect/spawner/lootdrop/waste/radiation = 80, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 10, - /obj/effect/spawner/lootdrop/waste/girder = 600, - /obj/structure/reagent_dispensers/fueltank = 100, + /obj/effect/spawner/random/waste/mechwreck = 100, + /obj/effect/spawner/random/waste/mechwreck/rare = 20, + /obj/effect/spawner/random/trash/decal = 1800, + /obj/effect/spawner/random/waste/radiation = 80, + /obj/effect/spawner/random/waste/radiation/more_rads = 10, + /obj/effect/spawner/random/waste/girder = 600, /obj/structure/reagent_dispensers/watertank = 200, /obj/item/stack/cable_coil/cut = 500, /obj/structure/closet/crate/secure/loot = 30, - /obj/effect/spawner/lootdrop/waste/atmos_can = 50, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 5, - /obj/effect/spawner/lootdrop/waste/salvageable = 300, - /obj/effect/spawner/lootdrop/waste/grille_or_trash = 200, - /obj/effect/spawner/lootdrop/maintenance = 20, - /obj/effect/spawner/lootdrop/maintenance/two = 50, - /obj/effect/spawner/lootdrop/maintenance/three = 100, - /obj/effect/spawner/lootdrop/maintenance/four = 200, - /obj/effect/spawner/lootdrop/waste/salvageable = 400, + /obj/effect/spawner/random/waste/atmos_can = 50, + /obj/effect/spawner/random/waste/atmos_can/rare = 5, + /obj/effect/spawner/random/waste/salvageable = 300, + /obj/effect/spawner/random/waste/grille_or_trash = 200, + /obj/effect/spawner/random/maintenance = 20, + /obj/effect/spawner/random/maintenance/two = 50, + /obj/effect/spawner/random/maintenance/three = 100, + /obj/effect/spawner/random/maintenance/four = 200, + /obj/effect/spawner/random/waste/salvageable = 400, /obj/structure/flora/ash/garden/waste = 70, /obj/structure/flora/ash/glowshroom = 400, //more common in caves /obj/item/mine/pressure/explosive/rad/live = 10, - /obj/effect/spawner/lootdrop/mine = 8, + /obj/effect/spawner/random/mine = 8, /obj/effect/spawner/minefield = 2 ) @@ -324,12 +317,12 @@ /obj/effect/radiation/waste = 30, /obj/effect/radiation/waste/intense = 10, /obj/structure/geyser/random = 1, - /obj/effect/spawner/lootdrop/anomaly/waste/cave = 1 + /obj/effect/spawner/random/anomaly/waste/cave = 1 ) mob_spawn_list = list( - /mob/living/simple_animal/hostile/hivebot/strong/rockplanet = 70, - /mob/living/simple_animal/hostile/hivebot/range/rockplanet = 40, - /mob/living/simple_animal/hostile/hivebot/rapid/rockplanet = 30, + /mob/living/simple_animal/hostile/hivebot/strong = 20, + /mob/living/simple_animal/hostile/hivebot/ranged = 40, + /mob/living/simple_animal/hostile/hivebot/ranged/rapid = 30, /mob/living/simple_animal/bot/firebot/rockplanet = 15, /mob/living/simple_animal/bot/secbot/ed209/rockplanet = 3, /mob/living/simple_animal/hostile/abandoned_minebot = 15, @@ -355,25 +348,24 @@ /datum/biome/cave/waste/rad flora_spawn_list = list( - /obj/effect/spawner/lootdrop/waste/trash = 900, - /obj/effect/spawner/lootdrop/waste/radiation = 250, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 70, - /obj/effect/spawner/lootdrop/waste/atmos_can = 50, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 5, - /obj/effect/spawner/lootdrop/waste/salvageable = 150, - /obj/effect/spawner/lootdrop/waste/girder = 200, - /obj/structure/reagent_dispensers/fueltank = 10, + /obj/effect/spawner/random/trash/decal = 900, + /obj/effect/spawner/random/waste/radiation = 250, + /obj/effect/spawner/random/waste/radiation/more_rads = 70, + /obj/effect/spawner/random/waste/atmos_can = 50, + /obj/effect/spawner/random/waste/atmos_can/rare = 5, + /obj/effect/spawner/random/waste/salvageable = 150, + /obj/effect/spawner/random/waste/girder = 200, /obj/structure/reagent_dispensers/watertank = 10, /obj/item/stack/cable_coil/cut = 500, /obj/structure/closet/crate/secure/loot = 30, - /obj/effect/spawner/lootdrop/waste/grille_or_trash = 200, - /obj/effect/spawner/lootdrop/maintenance = 20, - /obj/effect/spawner/lootdrop/maintenance/two = 50, - /obj/effect/spawner/lootdrop/maintenance/three = 100, - /obj/effect/spawner/lootdrop/maintenance/four = 200, + /obj/effect/spawner/random/waste/grille_or_trash = 200, + /obj/effect/spawner/random/maintenance = 20, + /obj/effect/spawner/random/maintenance/two = 50, + /obj/effect/spawner/random/maintenance/three = 100, + /obj/effect/spawner/random/maintenance/four = 200, /obj/structure/flora/ash/glowshroom = 1800, /obj/item/mine/pressure/explosive/rad/live = 30, - /obj/effect/spawner/lootdrop/mine = 8, + /obj/effect/spawner/random/mine = 8, /obj/effect/spawner/minefield = 2 ) feature_spawn_chance = 12 @@ -384,79 +376,109 @@ /turf/open/floor/plating/wasteplanet = 4 ) closed_turf_types = list( - /turf/closed/wall/r_wall = 1, - /turf/closed/wall/r_wall/rust = 1, - /turf/closed/wall = 5, - /turf/closed/wall/rust = 10 + /turf/closed/wall/r_wall/wasteplanet = 1, + /turf/closed/wall/r_wall/rust/wasteplanet = 1, + /turf/closed/wall/wasteplanet = 5, + /turf/closed/wall/rust/wasteplanet = 10 ) flora_spawn_list = list( - /obj/effect/spawner/lootdrop/waste/mechwreck = 40, - /obj/effect/spawner/lootdrop/waste/mechwreck/rare = 10, - /obj/effect/spawner/lootdrop/waste/trash = 180, - /obj/effect/spawner/lootdrop/waste/radiation = 32, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 4, - /obj/effect/spawner/lootdrop/waste/girder = 120, - /obj/structure/reagent_dispensers/fueltank = 20, + /obj/effect/spawner/random/waste/mechwreck = 40, + /obj/effect/spawner/random/waste/mechwreck/rare = 10, + /obj/effect/spawner/random/trash/decal = 180, + /obj/effect/spawner/random/waste/radiation = 32, + /obj/effect/spawner/random/waste/radiation/more_rads = 4, + /obj/effect/spawner/random/waste/girder = 120, /obj/structure/reagent_dispensers/watertank = 40, /obj/item/stack/cable_coil/cut = 100, /obj/structure/closet/crate/secure/loot = 6, - /obj/effect/spawner/lootdrop/waste/atmos_can = 10, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1, - /obj/effect/spawner/lootdrop/waste/salvageable = 60, - /obj/effect/spawner/lootdrop/waste/grille_or_trash = 40, - /obj/effect/spawner/lootdrop/maintenance = 4, - /obj/effect/spawner/lootdrop/maintenance/two = 10, - /obj/effect/spawner/lootdrop/maintenance/three = 20, - /obj/effect/spawner/lootdrop/maintenance/four = 40, - /obj/effect/spawner/lootdrop/waste/salvageable = 80, - /obj/item/mine/proximity/spawner/manhack/live = 40, - /obj/effect/spawner/lootdrop/mine = 8, - /obj/effect/spawner/minefield/manhack = 2 + /obj/effect/spawner/random/waste/atmos_can = 10, + /obj/effect/spawner/random/waste/atmos_can/rare = 1, + /obj/effect/spawner/random/waste/salvageable = 60, + /obj/effect/spawner/random/waste/grille_or_trash = 40, + /obj/effect/spawner/random/maintenance = 4, + /obj/effect/spawner/random/maintenance/two = 10, + /obj/effect/spawner/random/maintenance/three = 20, + /obj/effect/spawner/random/maintenance/four = 40, + /obj/effect/spawner/random/waste/salvageable = 80, + /obj/effect/spawner/random/mine = 8, ) mob_spawn_list = list( //nor organics, more biased towards hivebots though - /mob/living/simple_animal/hostile/hivebot/wasteplanet/strong = 80, - /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged = 50, - /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid = 50, + /mob/living/simple_animal/hostile/hivebot/strong = 20, + /mob/living/simple_animal/hostile/hivebot/ranged = 50, + /mob/living/simple_animal/hostile/hivebot/ranged/rapid = 50, /mob/living/simple_animal/bot/firebot/rockplanet = 15, /mob/living/simple_animal/bot/secbot/ed209/rockplanet = 3, /mob/living/simple_animal/hostile/abandoned_minebot = 15, /mob/living/simple_animal/bot/floorbot/rockplanet = 15, - /obj/structure/spawner/wasteplanet/hivebot/low_threat = 20, - /obj/structure/spawner/wasteplanet/hivebot/medium_threat = 10, - /obj/structure/spawner/wasteplanet/hivebot/high_threat = 5, - /obj/structure/spawner/wasteplanet/hivebot/extreme_threat = 2 + /obj/structure/spawner/hivebot = 20 ) /datum/biome/cave/waste/metal/hivebot flora_spawn_list = list( - /obj/effect/spawner/lootdrop/waste/trash = 90, - /obj/effect/spawner/lootdrop/waste/radiation = 16, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 2, - /obj/effect/spawner/lootdrop/waste/girder = 60, - /obj/structure/reagent_dispensers/fueltank = 10, + /obj/effect/spawner/random/trash/decal = 90, + /obj/effect/spawner/random/waste/radiation = 16, + /obj/effect/spawner/random/waste/radiation/more_rads = 2, + /obj/effect/spawner/random/waste/girder = 60, /obj/structure/reagent_dispensers/watertank = 20, /obj/item/stack/cable_coil/cut = 50, /obj/structure/closet/crate/secure/loot = 3, - /obj/effect/spawner/lootdrop/maintenance = 2, - /obj/effect/spawner/lootdrop/maintenance/two = 5, - /obj/effect/spawner/lootdrop/maintenance/three = 10, - /obj/effect/spawner/lootdrop/maintenance/four = 20, - /obj/effect/spawner/lootdrop/waste/salvageable = 40, + /obj/effect/spawner/random/maintenance = 2, + /obj/effect/spawner/random/maintenance/two = 5, + /obj/effect/spawner/random/maintenance/three = 10, + /obj/effect/spawner/random/maintenance/four = 20, + /obj/effect/spawner/random/waste/salvageable = 40, /obj/structure/foamedmetal = 100, - /obj/item/mine/proximity/spawner/manhack/live = 20 ) mob_spawn_list = list( //Whoops! All hivebots! - /mob/living/simple_animal/hostile/hivebot/wasteplanet/strong = 80, - /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged = 50, - /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid = 50, - + /mob/living/simple_animal/hostile/hivebot/strong = 20, + /mob/living/simple_animal/hostile/hivebot/ranged = 40, + /mob/living/simple_animal/hostile/hivebot/ranged/rapid = 20, + /mob/living/simple_animal/hostile/hivebot = 20, + /mob/living/simple_animal/hostile/hivebot/defender = 10 ) mob_spawn_chance = 30 feature_spawn_list = list( - /obj/structure/spawner/wasteplanet/hivebot/low_threat = 20, - /obj/structure/spawner/wasteplanet/hivebot/medium_threat = 10, - /obj/structure/spawner/wasteplanet/hivebot/high_threat = 5, - /obj/structure/spawner/wasteplanet/hivebot/extreme_threat = 2, - /obj/effect/spawner/minefield/manhack = 2 + /obj/structure/spawner/hivebot = 1, ) feature_spawn_chance = 2 //hivebot biomes should have their dongles + +/datum/biome/cave/waste/conc //da concrete jungle baybee + open_turf_types = list( + /turf/open/floor/concrete/wasteplanet = 10, + /turf/open/floor/concrete/reinforced/wasteplanet = 4, + /turf/open/floor/concrete/pavement/wasteplanet = 4 + ) + closed_turf_types = list( + /turf/closed/wall/concrete/wasteplanet = 15, + /turf/closed/wall/concrete/reinforced/wasteplanet = 3 + ) + + flora_spawn_list = list( + /obj/effect/spawner/random/waste/mechwreck = 20, + /obj/effect/spawner/random/trash/decal = 90, + /obj/effect/spawner/random/waste/radiation = 16, + /obj/structure/reagent_dispensers/watertank = 20, + /obj/item/stack/cable_coil/cut = 50, + /obj/structure/closet/crate/secure/loot = 3, + /obj/effect/spawner/random/waste/atmos_can = 5, + /obj/effect/spawner/random/waste/atmos_can/rare = 1, + /obj/effect/spawner/random/waste/salvageable = 30, + /obj/effect/spawner/random/maintenance = 2, + /obj/effect/spawner/random/maintenance/two = 5, + /obj/effect/spawner/random/maintenance/three = 10, + /obj/effect/spawner/random/waste/salvageable = 40, + ) + mob_spawn_list = list( + /mob/living/simple_animal/hostile/hivebot/strong = 80, + /mob/living/simple_animal/hostile/hivebot/ranged = 50, + /mob/living/simple_animal/hostile/hivebot/ranged/rapid = 50, + /mob/living/simple_animal/bot/firebot/rockplanet = 15, + /mob/living/simple_animal/bot/secbot/ed209/rockplanet = 3, + /mob/living/simple_animal/hostile/abandoned_minebot = 15, + /mob/living/simple_animal/bot/floorbot/rockplanet = 15, + /obj/structure/spawner/hivebot = 35 + ) + + flora_spawn_chance = 30 + feature_spawn_chance = 8 + mob_spawn_chance = 5 diff --git a/code/datums/mapgen/single_biome/WasteplanetCaves.dm b/code/datums/mapgen/single_biome/WasteplanetCaves.dm deleted file mode 100644 index 08f63ba3149..00000000000 --- a/code/datums/mapgen/single_biome/WasteplanetCaves.dm +++ /dev/null @@ -1,67 +0,0 @@ -/datum/map_generator/single_biome/wasteplanet - initial_closed_chance = 45 - smoothing_iterations = 50 - birth_limit = 4 - death_limit = 3 - - biome_type = /datum/biome/cave/wasteplanet - area_type = /area/overmap_encounter/planetoid/wasteplanet - -/datum/biome/cave/wasteplanet - open_turf_types = list(/turf/open/floor/plating/asteroid/wasteplanet = 50, - /turf/open/floor/plating/rust/wasteplanet = 10, - /turf/open/floor/plating/wasteplanet = 5) - closed_turf_types = list(/turf/closed/mineral/random/wasteplanet = 45, - /turf/closed/wall/rust = 10,) - - flora_spawn_list = list( - /obj/structure/mecha_wreckage/ripley = 15, - /obj/structure/mecha_wreckage/ripley/firefighter = 9, - /obj/structure/mecha_wreckage/ripley/mkii = 9, - /obj/structure/girder = 60, - /obj/structure/reagent_dispensers/fueltank = 30, - /obj/item/stack/cable_coil/cut = 30, - /obj/effect/decal/cleanable/greenglow = 60, - /obj/effect/decal/cleanable/glass = 30, - /obj/structure/closet/crate/secure/loot = 3, - /obj/machinery/portable_atmospherics/canister/toxins = 3, - /obj/machinery/portable_atmospherics/canister/carbon_dioxide = 3, - /obj/structure/radioactive = 6, - /obj/structure/radioactive/stack = 6, - /obj/structure/radioactive/waste = 6, - /obj/structure/flora/ash/garden/waste = 15, - /obj/structure/flora/ash/glowshroom = 90, - - /obj/structure/salvageable/machine = 20, - /obj/structure/salvageable/autolathe = 15, - /obj/structure/salvageable/computer = 10, - /obj/structure/salvageable/protolathe = 10, - /obj/structure/salvageable/circuit_imprinter = 8, - /obj/structure/salvageable/destructive_analyzer = 8, - /obj/structure/salvageable/server = 8, - /obj/item/mine/pressure/explosive/rusty/live = 30, - /obj/effect/spawner/lootdrop/mine = 8 - ) - feature_spawn_list = list( - /obj/structure/geyser/random = 1, - /obj/effect/spawner/minefield = 1 - ) - mob_spawn_list = list( - //hivebots, not too difficult - /mob/living/simple_animal/hostile/hivebot/strong/rockplanet = 70, - /mob/living/simple_animal/hostile/hivebot/range/rockplanet = 40, - /mob/living/simple_animal/hostile/hivebot/rapid/rockplanet = 30, - //crystal mobs, very difficult - /mob/living/simple_animal/hostile/asteroid/goliath/beast/ancient/crystal = 1, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/forgotten = 1, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/crystal = 1, - //bots, are hostile - /mob/living/simple_animal/bot/firebot/rockplanet = 15, - /mob/living/simple_animal/bot/secbot/ed209/rockplanet = 3, - /mob/living/simple_animal/hostile/abandoned_minebot = 15, - /mob/living/simple_animal/bot/floorbot/rockplanet = 15, - ) - - flora_spawn_chance = 10 - feature_spawn_chance = 0.1 - mob_spawn_chance = 2 diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm index ab3a76d2ddf..d834a03b02a 100644 --- a/code/datums/martial/krav_maga.dm +++ b/code/datums/martial/krav_maga.dm @@ -211,9 +211,9 @@ /obj/item/clothing/gloves/krav_maga/combatglovesplus name = "combat gloves plus" - desc = "These tactical gloves are fireproof and electrically insulated, and through the use of nanochip technology will teach you the martial art of krav maga." + desc = "These tactical gloves are fireproof, and through the use of nanochip technology will teach you the martial art of krav maga." icon_state = "black" - siemens_coefficient = 0 + siemens_coefficient = 0.5 permeability_coefficient = 0.05 strip_delay = 80 cold_protection = HANDS diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 72d26cf7436..e4e3ef90ebc 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -169,96 +169,3 @@ to_chat(usr, "Crashing Wave Kick: Harm Disarm. Launch people brutally across rooms, and away from you.") to_chat(usr, "Keelhaul: Harm Grab. Kick opponents to the floor. Against prone targets, deal additional stamina damage and disarm them.") to_chat(usr, "In addition, your body has become incredibly resilient to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and knockdowns, and can block all projectiles in Throw Mode. However, you are not invincible, and sustained damage will take it's toll. Avoid heat at all costs!") - -/obj/item/staff/bostaff - name = "bo staff" - desc = "A long, tall staff made of polished wood. Traditionally used in ancient old-Earth martial arts. Can be wielded to both kill and incapacitate." - force = 10 - w_class = WEIGHT_CLASS_BULKY - slot_flags = ITEM_SLOT_BACK - throwforce = 20 - throw_speed = 2 - attack_verb = list("smashed", "slammed", "whacked", "thwacked") - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "bostaff0" - base_icon_state = "bostaff" - lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' - block_chance = 50 - var/wielded = FALSE // track wielded status on item - -/obj/item/staff/bostaff/Initialize() - . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) - -/obj/item/staff/bostaff/ComponentInitialize() - . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=24, icon_wielded="[base_icon_state]1") - -/// triggered on wield of two handed item -/obj/item/staff/bostaff/proc/on_wield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = TRUE - -/// triggered on unwield of two handed item -/obj/item/staff/bostaff/proc/on_unwield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = FALSE - -/obj/item/staff/bostaff/update_icon_state() - icon_state = "[base_icon_state]0" - return ..() - -/obj/item/staff/bostaff/attack(mob/target, mob/living/user) - add_fingerprint(user) - if((HAS_TRAIT(user, TRAIT_CLUMSY)) && prob(50)) - to_chat(user, "You club yourself over the head with [src].") - user.Paralyze(60) - if(ishuman(user)) - var/mob/living/carbon/human/H = user - H.apply_damage(2*force, BRUTE, BODY_ZONE_HEAD) - else - user.take_bodypart_damage(2*force) - return - if(iscyborg(target)) - return ..() - if(!isliving(target)) - return ..() - var/mob/living/carbon/C = target - if(C.stat) - to_chat(user, "It would be dishonorable to attack a foe while they cannot retaliate.") - return - if(user.a_intent == INTENT_DISARM) - if(!wielded) - return ..() - if(!ishuman(target)) - return ..() - var/mob/living/carbon/human/H = target - var/list/fluffmessages = list("club", "smack", "broadside", "beat", "slam") - H.visible_message("[user] [pick(fluffmessages)]s [H] with [src]!", \ - "[user] [pick(fluffmessages)]s you with [src]!", "You hear a sickening sound of flesh hitting flesh!", null, user) - to_chat(user, "You [pick(fluffmessages)] [H] with [src]!") - playsound(get_turf(user), 'sound/effects/woodhit.ogg', 75, TRUE, -1) - H.adjustStaminaLoss(rand(13,20)) - if(prob(10)) - H.visible_message("[H] collapses!", \ - "Your legs give out!") - H.Paralyze(80) - if(H.staminaloss && !H.IsSleeping()) - var/total_health = (H.health - H.staminaloss) - if(total_health <= HEALTH_THRESHOLD_CRIT && !H.stat) - H.visible_message("[user] delivers a heavy hit to [H]'s head, knocking [H.p_them()] out cold!", \ - "You're knocked unconscious by [user]!", "You hear a sickening sound of flesh hitting flesh!", null, user) - to_chat(user, "You deliver a heavy hit to [H]'s head, knocking [H.p_them()] out cold!") - H.SetSleeping(600) - H.adjustOrganLoss(ORGAN_SLOT_BRAIN, 15, 150) - else - return ..() - -/obj/item/staff/bostaff/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(!wielded) - return ..() - return FALSE diff --git a/code/datums/materials/_material.dm b/code/datums/materials/_material.dm index 4f505cb2a3e..1b05f7d7ef9 100644 --- a/code/datums/materials/_material.dm +++ b/code/datums/materials/_material.dm @@ -79,6 +79,16 @@ Simple datum which is instanced once per type and is used for every object of sa /atom/proc/mat_update_desc(/datum/material/mat) return + +/** + * This proc is called when the mat is found in an item that's consumed by accident. see /obj/item/proc/on_accidental_consumption. + * Arguments + * * M - person consuming the mat + * * S - (optional) item the mat is contained in (NOT the item with the mat itself) + */ +/datum/material/proc/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S) + return FALSE + ///This proc is called when the material is added to an object specifically. /datum/material/proc/on_applied_obj(obj/o, amount, material_flags) if(material_flags & MATERIAL_AFFECT_STATISTICS) diff --git a/code/datums/materials/meat.dm b/code/datums/materials/meat.dm index 9539b284777..8512753a22a 100644 --- a/code/datums/materials/meat.dm +++ b/code/datums/materials/meat.dm @@ -5,7 +5,6 @@ desc = "Meat" color = rgb(214, 67, 67) categories = list(MAT_CATEGORY_RIGID = TRUE) - sheet_type = /obj/item/stack/sheet/meat value_per_unit = 0.05 beauty_modifier = -0.3 strength_modifier = 0.7 @@ -13,22 +12,3 @@ item_sound_override = 'sound/effects/meatslap.ogg' turf_sound_override = FOOTSTEP_MEAT texture_layer_icon_state = "meat" - -/datum/material/meat/on_removed(atom/source, amount, material_flags) - . = ..() - qdel(source.GetComponent(/datum/component/edible)) - -/datum/material/meat/on_applied_obj(obj/O, amount, material_flags) - . = ..() - O.obj_flags |= UNIQUE_RENAME //So you can name it after the person its made from, a depressing comprimise. - make_edible(O, amount, material_flags) - -/datum/material/meat/on_applied_turf(turf/T, amount, material_flags) - . = ..() - make_edible(T, amount, material_flags) - -/datum/material/meat/proc/make_edible(atom/source, amount, material_flags) - var/nutriment_count = 3 * (amount / MINERAL_MATERIAL_AMOUNT) - var/oil_count = 2 * (amount / MINERAL_MATERIAL_AMOUNT) - source.AddComponent(/datum/component/edible, list(/datum/reagent/consumable/nutriment = nutriment_count, /datum/reagent/consumable/cooking_oil = oil_count), null, RAW | MEAT | GROSS, null, 30, list("Fleshy")) - diff --git a/code/datums/materials/pizza.dm b/code/datums/materials/pizza.dm deleted file mode 100644 index 62479d90e0d..00000000000 --- a/code/datums/materials/pizza.dm +++ /dev/null @@ -1,31 +0,0 @@ -/datum/material/pizza - name = "pizza" - id = "pizza" - desc = "~Jamme, jamme, n'coppa, jamme ja! Jamme, jamme, n'coppa jamme ja, funi-culi funi-cala funi-culi funi-cala!! Jamme jamme ja funiculi funicula!~" - color = "#FF9F23" - categories = list(MAT_CATEGORY_RIGID = TRUE) - sheet_type = /obj/item/stack/sheet/pizza - value_per_unit = 0.05 - beauty_modifier = 0.1 - strength_modifier = 0.7 - armor_modifiers = list("melee" = 0.3, "bullet" = 0.3, "laser" = 1.2, "energy" = 1.2, "bomb" = 0.3, "bio" = 0, "rad" = 0.7, "fire" = 1, "acid" = 1) - item_sound_override = 'sound/effects/meatslap.ogg' - turf_sound_override = FOOTSTEP_MEAT - texture_layer_icon_state = "pizza" - -/datum/material/pizza/on_removed(atom/source, amount, material_flags) - . = ..() - qdel(source.GetComponent(/datum/component/edible)) - -/datum/material/pizza/on_applied_obj(obj/O, amount, material_flags) - . = ..() - make_edible(O, amount, material_flags) - -/datum/material/pizza/on_applied_turf(turf/T, amount, material_flags) - . = ..() - make_edible(T, amount, material_flags) - -/datum/material/pizza/proc/make_edible(atom/source, amount, material_flags) - var/nutriment_count = 3 * (amount / MINERAL_MATERIAL_AMOUNT) - var/oil_count = 2 * (amount / MINERAL_MATERIAL_AMOUNT) - source.AddComponent(/datum/component/edible, list(/datum/reagent/consumable/nutriment = nutriment_count, /datum/reagent/consumable/cooking_oil = oil_count), null, GRAIN | MEAT | DAIRY | VEGETABLES, null, 30, list("crust", "tomato", "cheese", "meat"), filling_color = COLOR_YELLOW) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 96ca4b12d8b..ea9f6918706 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -345,12 +345,6 @@ remove_antag_datum(/datum/antagonist/wizard) special_role = null -/datum/mind/proc/remove_cultist() - if(src in SSticker.mode.cult) - SSticker.mode.remove_cultist(src, 0, 0) - special_role = null - remove_antag_equip() - /datum/mind/proc/remove_antag_equip() var/list/Mob_Contents = current.get_contents() for(var/obj/item/I in Mob_Contents) @@ -363,7 +357,6 @@ remove_traitor() remove_nukeop() remove_wizard() - remove_cultist() /datum/mind/proc/equip_traitor(employer = "The Syndicate", silent = FALSE, datum/antagonist/uplink_owner) if(!current) @@ -436,10 +429,7 @@ //Link a new mobs mind to the creator of said mob. They will join any team they are currently on, and will only switch teams when their creator does. /datum/mind/proc/enslave_mind_to_creator(mob/living/creator) - if(iscultist(creator)) - SSticker.mode.add_cultist(src) - - else if(is_nuclear_operative(creator)) + if(is_nuclear_operative(creator)) var/datum/antagonist/nukeop/converter = creator.mind.has_antag_datum(/datum/antagonist/nukeop,TRUE) var/datum/antagonist/nukeop/N = new() N.send_to_spawnpoint = FALSE @@ -708,14 +698,6 @@ assigned_role = ROLE_WIZARD add_antag_datum(/datum/antagonist/wizard) - -/datum/mind/proc/make_Cultist() - if(!has_antag_datum(/datum/antagonist/cult,TRUE)) - SSticker.mode.add_cultist(src,FALSE,equip=TRUE) - special_role = ROLE_CULTIST - to_chat(current, "You catch a glimpse of the Realm of Nar'Sie, The Geometer of Blood. You now see how flimsy your world is, you see that it should be open to the knowledge of Nar'Sie.") - to_chat(current, "Assist your new brethren in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.") - /datum/mind/proc/AddSpell(obj/effect/proc_holder/spell/S) spell_list += S S.action.Grant(current) diff --git a/code/datums/mood_events/beauty_events.dm b/code/datums/mood_events/beauty_events.dm index 47c31811290..87d0536bdeb 100644 --- a/code/datums/mood_events/beauty_events.dm +++ b/code/datums/mood_events/beauty_events.dm @@ -1,19 +1,19 @@ /datum/mood_event/horridroom - description = "This room looks terrible!\n" + description = span_boldwarning("This room looks terrible!") mood_change = -5 /datum/mood_event/badroom - description = "This room looks really bad.\n" + description = span_warning("This room looks really bad.") mood_change = -3 /datum/mood_event/decentroom - description = "This room looks alright.\n" + description = span_nicegreen("This room looks alright.") mood_change = 1 /datum/mood_event/goodroom - description = "This room looks really pretty!\n" + description = span_nicegreen("This room looks really pretty!") mood_change = 3 /datum/mood_event/greatroom - description = "This room is beautiful!\n" + description = span_nicegreen("This room is beautiful!") mood_change = 5 diff --git a/code/datums/mood_events/drink_events.dm b/code/datums/mood_events/drink_events.dm index b0a6d441814..d768ac7cdc4 100644 --- a/code/datums/mood_events/drink_events.dm +++ b/code/datums/mood_events/drink_events.dm @@ -1,6 +1,6 @@ /datum/mood_event/drunk mood_change = 3 - description = "Everything just feels better after a drink or two.\n" + description = span_nicegreen("Everything just feels better after a drink or two.") /datum/mood_event/drunk/add_effects(param) // Display blush visual @@ -13,26 +13,26 @@ owner.update_body() /datum/mood_event/quality_nice - description = "That drink wasn't bad at all.\n" + description = span_nicegreen("That drink wasn't bad at all.") mood_change = 2 timeout = 7 MINUTES /datum/mood_event/quality_good - description = "That drink was pretty good.\n" + description = span_nicegreen("That drink was pretty good.") mood_change = 4 timeout = 7 MINUTES /datum/mood_event/quality_verygood - description = "That drink was great!\n" + description = span_nicegreen("That drink was great!") mood_change = 6 timeout = 7 MINUTES /datum/mood_event/quality_fantastic - description = "That drink was amazing!\n" + description = span_nicegreen("That drink was amazing!") mood_change = 8 timeout = 7 MINUTES /datum/mood_event/amazingtaste - description = "Amazing taste!\n" + description = span_nicegreen("Amazing taste!") mood_change = 50 timeout = 10 MINUTES diff --git a/code/datums/mood_events/drug_events.dm b/code/datums/mood_events/drug_events.dm index 028973c5c83..6294ef67ce4 100644 --- a/code/datums/mood_events/drug_events.dm +++ b/code/datums/mood_events/drug_events.dm @@ -1,14 +1,14 @@ /datum/mood_event/high mood_change = 6 - description = "Woooow duudeeeeee...I'm tripping baaalls...\n" + description = span_nicegreen("Woooow duudeeeeee...I'm tripping baaalls...") /datum/mood_event/smoked - description = "I have had a smoke recently.\n" + description = span_nicegreen("I have had a smoke recently.") mood_change = 1 timeout = 6 MINUTES /datum/mood_event/wrong_brand - description = "That brand of cigarette just doesn't hit right.\n" + description = span_warning("That brand of cigarette just doesn't hit right.") mood_change = -1 timeout = 6 MINUTES @@ -17,72 +17,72 @@ timeout = 5 MINUTES /datum/mood_event/overdose/add_effects(drug_name) - description = "I think I took a bit too much of that [drug_name]\n" + description = span_warning("I think I took a bit too much of that [drug_name]") /datum/mood_event/withdrawal_light mood_change = -2 /datum/mood_event/withdrawal_light/add_effects(drug_name) - description = "I could use some [drug_name]\n" + description = span_warning("I could use some [drug_name]") /datum/mood_event/withdrawal_medium mood_change = -5 /datum/mood_event/withdrawal_medium/add_effects(drug_name) - description = "I really need [drug_name]\n" + description = span_warning("I really need [drug_name]") /datum/mood_event/withdrawal_severe mood_change = -8 /datum/mood_event/withdrawal_severe/add_effects(drug_name) - description = "Oh god I need some of that [drug_name]\n" + description = span_boldwarning("Oh god I need some of that [drug_name]") /datum/mood_event/withdrawal_critical mood_change = -10 /datum/mood_event/withdrawal_critical/add_effects(drug_name) - description = "[drug_name]! [drug_name]! [drug_name]!\n" + description = span_boldwarning("[drug_name]! [drug_name]! [drug_name]!") /datum/mood_event/happiness_drug - description = "Can't feel a thing...\n" + description = span_nicegreen("Can't feel a thing...") mood_change = 50 /datum/mood_event/happiness_drug_good_od - description = "YES! YES!! YES!!!\n" + description = span_nicegreen("YES! YES!! YES!!!") mood_change = 100 timeout = 30 SECONDS special_screen_obj = "mood_happiness_good" /datum/mood_event/happiness_drug_bad_od - description = "NO! NO!! NO!!!\n" + description = span_boldwarning("NO! NO!! NO!!!") mood_change = -100 timeout = 30 SECONDS special_screen_obj = "mood_happiness_bad" /datum/mood_event/narcotic_medium - description = "I feel comfortably numb.\n" + description = span_nicegreen("I feel comfortably numb.") mood_change = 4 timeout = 3 MINUTES /datum/mood_event/narcotic_heavy - description = "I feel like I'm wrapped up in cotton!\n" + description = span_nicegreen("I feel like I'm wrapped up in cotton!") mood_change = 9 timeout = 3 MINUTES /datum/mood_event/stimulant_medium - description = "I have so much energy! I feel like I could do anything!\n" + description = span_nicegreen("I have so much energy! I feel like I could do anything!") mood_change = 4 timeout = 3 MINUTES /datum/mood_event/stimulant_heavy - description = "Eh ah AAAAH! HA HA HA HA HAA! Uuuh.\n" + description = span_nicegreen("Eh ah AAAAH! HA HA HA HA HAA! Uuuh.") mood_change = 6 timeout = 3 MINUTES /datum/mood_event/legion_good - mood_change = 20 - description = "I'm feeling great!\n" + mood_change = 5 + description = span_nicegreen("Everything feels so light! I'm strong! Unstoppable!") /datum/mood_event/legion_bad - mood_change = -20 - description = "That felt awful!\n" + mood_change = -4 + description = span_warning("Something is slithering through my veins") diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index f5e51d1d59f..067807d7a6b 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -1,93 +1,93 @@ /datum/mood_event/handcuffed - description = "I guess my antics have finally caught up with me.\n" + description = span_warning("I guess my antics have finally caught up with me.") mood_change = -1 /datum/mood_event/broken_vow //Used for when mimes break their vow of silence - description = "I have brought shame upon my name, and betrayed my fellow mimes by breaking our sacred vow...\n" + description = span_boldwarning("I have brought shame upon my name, and betrayed my fellow mimes by breaking our sacred vow...") mood_change = -8 /datum/mood_event/on_fire - description = "I'M ON FIRE!!!\n" + description = span_boldwarning("I'M ON FIRE!!!") mood_change = -12 /datum/mood_event/suffocation - description = "CAN'T... BREATHE...\n" + description = span_boldwarning("CAN'T... BREATHE...") mood_change = -12 /datum/mood_event/burnt_thumb - description = "I shouldn't play with lighters...\n" + description = span_warning("I shouldn't play with lighters...") mood_change = -1 timeout = 2 MINUTES /datum/mood_event/cold - description = "It's way too cold in here.\n" + description = span_warning("It's way too cold in here.") mood_change = -5 /datum/mood_event/hot - description = "It's getting hot in here.\n" + description = span_warning("It's getting hot in here.") mood_change = -5 /datum/mood_event/creampie - description = "I've been creamed. Tastes like pie flavor.\n" + description = span_warning("I've been creamed. Tastes like pie flavor.") mood_change = -2 timeout = 3 MINUTES /datum/mood_event/slipped - description = "I slipped. I should be more careful next time...\n" + description = span_warning("I slipped. I should be more careful next time...") mood_change = -2 timeout = 3 MINUTES /datum/mood_event/eye_stab - description = "I used to be an adventurer like you, until I took a screwdriver to the eye.\n" + description = span_boldwarning("I used to be an adventurer like you, until I took a screwdriver to the eye.") mood_change = -4 timeout = 3 MINUTES /datum/mood_event/delam //SM delamination - description = "Those God damn engineers can't do anything right...\n" + description = span_boldwarning("Those God damn engineers can't do anything right...") mood_change = -2 timeout = 4 MINUTES /datum/mood_event/depression_minimal - description = "I feel a bit down.\n" + description = span_warning("I feel a bit down.") mood_change = -10 timeout = 2 MINUTES /datum/mood_event/depression_mild - description = "I feel sad for no particular reason.\n" + description = span_warning("I feel sad for no particular reason.") mood_change = -12 timeout = 2 MINUTES /datum/mood_event/depression_moderate - description = "I feel miserable.\n" + description = span_warning("I feel miserable.") mood_change = -14 timeout = 2 MINUTES /datum/mood_event/depression_severe - description = "I've lost all hope.\n" + description = span_warning("I've lost all hope.") mood_change = -16 timeout = 2 MINUTES /datum/mood_event/dismembered - description = "AHH! I WAS USING THAT LIMB!\n" + description = span_boldwarning("AHH! I WAS USING THAT LIMB!") mood_change = -10 timeout = 8 MINUTES /datum/mood_event/tased - description = "There's no \"z\" in \"taser\". It's in the zap.\n" + description = span_warning("There's no \"z\" in \"taser\". It's in the zap.") mood_change = -3 timeout = 2 MINUTES /datum/mood_event/embedded - description = "Pull it out!\n" + description = span_boldwarning("Pull it out!") mood_change = -7 /datum/mood_event/table - description = "Someone threw me on a table!\n" + description = span_warning("Someone threw me on a table!") mood_change = -2 timeout = 2 MINUTES /datum/mood_event/table_headsmash - description = "My fucking head, that hurts..." + description = span_warning("My fucking head, that hurts...") mood_change = -3 timeout = 3 MINUTES @@ -96,67 +96,67 @@ /datum/mood_event/brain_damage/add_effects() var/damage_message = pick_list_replacements(BRAIN_DAMAGE_FILE, "brain_damage") - description = "Hurr durr... [damage_message]\n" + description = span_warning("Hurr durr... [damage_message]") /datum/mood_event/hulk //Entire duration of having the hulk mutation - description = "HULK SMASH!\n" + description = span_warning("HULK SMASH!") mood_change = -4 /datum/mood_event/epilepsy //Only when the mutation causes a seizure - description = "I should have paid attention to the epilepsy warning.\n" + description = span_warning("I should have paid attention to the epilepsy warning.") mood_change = -3 timeout = 5 MINUTES /datum/mood_event/nyctophobia - description = "It sure is dark around here...\n" + description = span_warning("It sure is dark around here...") mood_change = -3 /datum/mood_event/family_heirloom_missing - description = "I'm missing my family heirloom...\n" + description = span_warning("I'm missing my family heirloom...") mood_change = -4 /datum/mood_event/healsbadman - description = "I feel like I'm held together by flimsy string, and could fall apart at any moment!\n" + description = span_warning("I feel like something is moving through my veins, eating away at me!") mood_change = -4 timeout = 2 MINUTES /datum/mood_event/jittery - description = "I'm nervous and on edge and I can't stand still!!\n" + description = span_warning("I'm nervous and on edge and I can't stand still!!") mood_change = -2 /datum/mood_event/vomit - description = "I just threw up. Gross.\n" + description = span_warning("I just threw up. Gross.") mood_change = -2 timeout = 2 MINUTES /datum/mood_event/vomitself - description = "I just threw up all over myself. This is disgusting.\n" + description = span_warning("I just threw up all over myself. This is disgusting.") mood_change = -4 timeout = 3 MINUTES /datum/mood_event/painful_medicine - description = "Medicine may be good for me but right now it stings like hell.\n" + description = span_warning("Medicine may be good for me but right now it stings like hell.") mood_change = -5 timeout = 60 SECONDS /datum/mood_event/spooked - description = "The rattling of those bones...It still haunts me.\n" + description = span_warning("The rattling of those bones...It still haunts me.") mood_change = -4 timeout = 4 MINUTES /datum/mood_event/loud_gong - description = "That loud gong noise really hurt my ears!\n" + description = span_warning("That loud gong noise really hurt my ears!") mood_change = -3 timeout = 2 MINUTES /datum/mood_event/notcreeping - description = "The voices are not happy, and they painfully contort my thoughts into getting back on task.\n" + description = span_warning("The voices are not happy, and they painfully contort my thoughts into getting back on task.") mood_change = -6 timeout = 30 hidden = TRUE /datum/mood_event/notcreepingsevere//not hidden since it's so severe - description = "THEY NEEEEEEED OBSESSIONNNN!!\n" + description = span_boldwarning("THEY NEEEEEEED OBSESSIONNNN!!") mood_change = -30 timeout = 30 @@ -165,75 +165,75 @@ for(var/i in 1 to rand(3,5)) unstable += copytext_char(name, -1) var/unhinged = uppertext(unstable.Join(""))//example Tinea Luxor > TINEA LUXORRRR (with randomness in how long that slur is) - description = "THEY NEEEEEEED [unhinged]!!\n" + description = span_boldwarning("THEY NEEEEEEED [unhinged]!!") /datum/mood_event/sapped - description = "Some unexplainable sadness is consuming me...\n" + description = span_boldwarning("Some unexplainable sadness is consuming me...") mood_change = -15 timeout = 90 SECONDS /datum/mood_event/back_pain - description = "Bags never sit right on my back, this hurts like hell!\n" + description = span_boldwarning("Bags never sit right on my back, this hurts like hell!") mood_change = -15 /datum/mood_event/sad_empath - description = "Someone seems upset...\n" + description = span_warning("Someone seems upset...") mood_change = -2 timeout = 60 SECONDS /datum/mood_event/sad_empath/add_effects(mob/sadtarget) - description = "[sadtarget.name] seems upset...\n" + description = span_warning("[sadtarget.name] seems upset...") /datum/mood_event/sacrifice_bad - description ="Those darn savages!\n" + description =span_warning("Those darn savages!") mood_change = -5 timeout = 2 MINUTES /datum/mood_event/artbad - description = "I've produced better art than that from my ass.\n" + description = span_warning("I've produced better art than that from my ass.") mood_change = -2 timeout = 1200 /datum/mood_event/graverobbing - description ="I just desecrated someone's grave... I can't believe I did that...\n" + description =span_boldwarning("I just desecrated someone's grave... I can't believe I did that...") mood_change = -8 timeout = 3 MINUTES /datum/mood_event/deaths_door - description = "This is it... I'm really going to die.\n" + description = span_boldwarning("This is it... I'm really going to die.") mood_change = -20 /datum/mood_event/gunpoint - description = "This guy is insane! I better be careful....\n" + description = span_boldwarning("This guy is insane! I better be careful....") mood_change = -10 /datum/mood_event/tripped - description = "I can't believe I fell for the oldest trick in the book!\n" + description = span_boldwarning("I can't believe I fell for the oldest trick in the book!") mood_change = -5 timeout = 2 MINUTES /datum/mood_event/untied - description = "I hate when my shoes come untied!\n" + description = span_boldwarning("I hate when my shoes come untied!") mood_change = -3 timeout = 1 MINUTES /datum/mood_event/high_five_alone - description = "I tried getting a high-five with no one around, how embarassing!\n" + description = span_boldwarning("I tried getting a high-five with no one around, how embarassing!") mood_change = -2 timeout = 1 MINUTES /datum/mood_event/high_five_full_hand - description = "Oh God, I don't even know how to high-five correctly...\n" + description = span_boldwarning("Oh God, I don't even know how to high-five correctly...") mood_change = -1 timeout = 45 SECONDS /datum/mood_event/left_hanging - description = "But everyone loves high fives! Maybe people just... hate me?\n" + description = span_boldwarning("But everyone loves high fives! Maybe people just... hate me?") mood_change = -2 timeout = 1.5 MINUTES /datum/mood_event/too_slow - description = "NO! HOW COULD I BE.... TOO SLOW???\n" + description = span_boldwarning("NO! HOW COULD I BE.... TOO SLOW???") mood_change = -2 // multiplied by how many people saw it happen, up to 8, so potentially massive. the ULTIMATE prank carries a lot of weight timeout = 2 MINUTES @@ -250,55 +250,70 @@ //These are unused so far but I want to remember them to use them later /datum/mood_event/surgery - description = "HE'S CUTTING ME OPEN!!\n" + description = span_boldwarning("HE'S CUTTING ME OPEN!!") mood_change = -8 /datum/mood_event/nanite_sadness - description = "+++++++HAPPINESS SUPPRESSION+++++++\n" + description = span_warning_robot("+++++++HAPPINESS SUPPRESSION+++++++") mood_change = -7 /datum/mood_event/nanite_sadness/add_effects(message) - description = "+++++++[message]+++++++\n" + description = span_warning_robot("+++++++[message]+++++++") /datum/mood_event/bald - description ="I need something to cover my head...\n" + description = span_warning("I need something to cover my head...") mood_change = -3 /datum/mood_event/bad_touch - description = "I don't like when people touch me.\n" + description = span_warning("I don't like when people touch me.") mood_change = -3 timeout = 4 MINUTES /datum/mood_event/very_bad_touch - description = "I really don't like when people touch me.\n" + description = span_warning("I really don't like when people touch me.") mood_change = -5 timeout = 4 MINUTES /datum/mood_event/noogie - description = "Ow! This is like space high school all over again...\n" + description = span_warning("Ow! This is like space high school all over again...") mood_change = -2 timeout = 1 MINUTES /datum/mood_event/noogie_harsh - description = "OW!! That was even worse than a regular noogie!\n" + description = span_warning("OW!! That was even worse than a regular noogie!") mood_change = -4 timeout = 1 MINUTES /datum/mood_event/irritate - description = "It feels like I'm itching all over!" + description = span_warning("It feels like I'm itching all over!") mood_change = -2 /datum/mood_event/cement - description = "I was forced to eat cement...\n" + description = span_warning("I was forced to eat cement...") mood_change = -6 timeout = 4 MINUTES /datum/mood_event/joywire_emp - description = span_boldwarning("IT'S GONE!! IT'S GONE!!\n") + description = span_boldwarning("IT'S GONE!! IT'S GONE!!") mood_change = -30 timeout = 5 MINUTES /datum/mood_event/mindscrew - description = span_boldwarning("It isn't ending... it isn't ending, come on...\n") + description = span_boldwarning("It isn't ending... it isn't ending, come on...") mood_change = -18 timeout = 3 MINUTES + +/datum/mood_event/bad_touch_bear_hug + description = span_warning("I just got squeezed way too hard.") + mood_change = -3 + timeout = 2 MINUTES + +/datum/mood_event/rippedtail + description = span_boldwarning("I ripped their tail right off, what have I done!") + mood_change = -5 + timeout = 30 SECONDS + +/datum/mood_event/bad_boop + description = span_warning("Someone booped my nose... ACK!") + mood_change = -3 + timeout = 4 MINUTES diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index f9e339c3c08..c69f7fb6a50 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -1,186 +1,194 @@ /datum/mood_event/hug - description = "Hugs are nice.\n" + description = span_nicegreen("Hugs are nice.") mood_change = 1 + timeout = 2 + +/datum/mood_event/bear_hug + description = span_nicegreen("I got squeezed very tightly, but it was quite nice.") + mood_change = 2 timeout = 2 MINUTES /datum/mood_event/betterhug - description = "Someone was very nice to me.\n" + description = span_nicegreen("Someone was very nice to me.") mood_change = 3 timeout = 4 MINUTES /datum/mood_event/betterhug/add_effects(mob/friend) - description = "[friend.name] was very nice to me.\n" + description = span_nicegreen("[friend.name] was very nice to me.") /datum/mood_event/besthug - description = "Someone is great to be around, they make me feel so happy!\n" + description = span_nicegreen("Someone is great to be around, they make me feel so happy!") mood_change = 5 timeout = 4 MINUTES /datum/mood_event/besthug/add_effects(mob/friend) - description = "[friend.name] is great to be around, [friend.p_they()] makes me feel so happy!\n" + description = span_nicegreen("[friend.name] is great to be around, [friend.p_they()] makes me feel so happy!") + +/datum/mood_event/best_boop + description = span_nicegreen("Someone booped my nose, they are silly!") + mood_change = 5 + timeout = 4 MINUTES + +/datum/mood_event/best_boop/add_effects(mob/friend) + description = span_nicegreen("[friend.name] booped my nose, [friend.p_they()] [friend.p_are()] silly!") /datum/mood_event/warmhug - description = "Warm cozy hugs are the best!\n" + description = span_nicegreen("Warm cozy hugs are the best!") mood_change = 1 timeout = 2 MINUTES /datum/mood_event/arcade - description = "I beat the arcade game!\n" + description = span_nicegreen("I beat the arcade game!") mood_change = 3 timeout = 8 MINUTES /datum/mood_event/blessing - description = "I've been blessed.\n" + description = span_nicegreen("I've been blessed.") mood_change = 3 timeout = 8 MINUTES /datum/mood_event/book_nerd - description = "I have recently read a book.\n" + description = span_nicegreen("I have recently read a book.") mood_change = 1 timeout = 5 MINUTES /datum/mood_event/exercise - description = "Working out releases those endorphins!\n" + description = span_nicegreen("Working out releases those endorphins!") mood_change = 2 timeout = 5 MINUTES /datum/mood_event/pet_animal - description = "Animals are adorable! I can't stop petting them!\n" + description = span_nicegreen("Animals are adorable! I can't stop petting them!") mood_change = 2 timeout = 5 MINUTES /datum/mood_event/pet_animal/add_effects(mob/animal) - description = "\The [animal.name] is adorable! I can't stop petting [animal.p_them()]!\n" + description = span_nicegreen("\The [animal.name] is adorable! I can't stop petting [animal.p_them()]!") /datum/mood_event/honk - description = "I've been honked!\n" + description = span_nicegreen("I've been honked!") mood_change = 2 timeout = 4 MINUTES special_screen_obj = "honked_nose" special_screen_replace = FALSE /datum/mood_event/perform_cpr - description = "It feels good to save a life.\n" + description = span_nicegreen("It feels good to save a life.") mood_change = 6 timeout = 8 MINUTES /datum/mood_event/oblivious - description = "What a lovely day.\n" + description = span_nicegreen("What a lovely day.") mood_change = 3 /datum/mood_event/jolly - description = "I feel happy for no particular reason.\n" + description = span_nicegreen("I feel happy for no particular reason.") mood_change = 6 timeout = 2 MINUTES /datum/mood_event/focused - description = "I have a goal, and I will reach it, whatever it takes!\n" //Used for syndies, nukeops etc so they can focus on their goals + description = span_nicegreen("I have a goal, and I will reach it, whatever it takes!") //Used for syndies, nukeops etc so they can focus on their goals mood_change = 4 hidden = TRUE /datum/mood_event/badass_antag - description = "I'm a fucking badass and everyone around me knows it. Just look at them; they're all fucking shaking at the mere thought of having me around.\n" + description = span_greentext("I'm a fucking badass and everyone around me knows it. Just look at them; they're all fucking shaking at the mere thought of having me around.") mood_change = 7 hidden = TRUE special_screen_obj = "badass_sun" special_screen_replace = FALSE /datum/mood_event/creeping - description = "The voices have released their hooks on my mind! I feel free again!\n" //creeps get it when they are around their obsession + description = span_greentext("The voices have released their hooks on my mind! I feel free again!") //creeps get it when they are around their obsession mood_change = 18 timeout = 3 SECONDS hidden = TRUE /datum/mood_event/revolution - description = "VIVA LA REVOLUTION!\n" + description = span_nicegreen("VIVA LA REVOLUTION!") mood_change = 3 hidden = TRUE -/datum/mood_event/cult - description = "I have seen the truth, praise the almighty one!\n" - mood_change = 10 //maybe being a cultist isnt that bad after all - hidden = TRUE - /datum/mood_event/family_heirloom - description = "My family heirloom is safe with me.\n" + description = span_nicegreen("My family heirloom is safe with me.") mood_change = 1 /datum/mood_event/rilena_fan - description = "I love my RILENA merch!\n" + description = span_nicegreen("I love my RILENA merch!") mood_change = 1 /datum/mood_event/rilena_super_fan - description = "I love my RILENA hoodie!\n" + description = span_nicegreen("I love my RILENA hoodie!") mood_change = 1 /datum/mood_event/goodmusic - description = "There is something soothing about this music.\n" + description = span_nicegreen("There is something soothing about this music.") mood_change = 3 timeout = 60 SECONDS /datum/mood_event/chemical_euphoria - description = "Heh...hehehe...hehe...\n" + description = span_nicegreen("Heh...hehehe...hehe...") mood_change = 4 /datum/mood_event/chemical_laughter - description = "Laughter really is the best medicine! Or is it?\n" + description = span_nicegreen("Laughter really is the best medicine! Or is it?") mood_change = 4 timeout = 3 MINUTES /datum/mood_event/chemical_superlaughter - description = "*WHEEZE*\n" + description = span_nicegreen("*WHEEZE*") mood_change = 12 timeout = 3 MINUTES /datum/mood_event/religiously_comforted - description = "You are comforted by the presence of a holy person.\n" + description = span_nicegreen("You are comforted by the presence of a holy person.") mood_change = 3 timeout = 5 MINUTES /datum/mood_event/clownshoes - description = "The shoes are a clown's legacy, I never want to take them off!\n" + description = span_nicegreen("The shoes are a clown's legacy, I never want to take them off!") mood_change = 5 /datum/mood_event/sacrifice_good - description ="The gods are pleased with this offering!\n" + description =span_nicegreen("The gods are pleased with this offering!") mood_change = 5 timeout = 3 MINUTES /datum/mood_event/artok - description = "It's nice to see people are making art around here.\n" + description = span_nicegreen("It's nice to see people are making art around here.") mood_change = 2 timeout = 5 MINUTES /datum/mood_event/artgood - description = "What a thought-provoking piece of art. I'll remember that for a while.\n" + description = span_nicegreen("What a thought-provoking piece of art. I'll remember that for a while.") mood_change = 4 timeout = 5 MINUTES /datum/mood_event/artgreat - description = "That work of art was so great it made me believe in the goodness of humanity. Says a lot in a place like this.\n" + description = span_nicegreen("That work of art was so great it made me believe in the goodness of humanity. Says a lot in a place like this.") mood_change = 6 timeout = 5 MINUTES /datum/mood_event/pet_borg - description = "I just love my robotic friends!\n" + description = span_nicegreen("I just love my robotic friends!") mood_change = 3 timeout = 5 MINUTES /datum/mood_event/bottle_flip - description = "The bottle landing like that was satisfying.\n" + description = span_nicegreen("The bottle landing like that was satisfying.") mood_change = 2 timeout = 3 MINUTES /datum/mood_event/hope_lavaland - description = "What a peculiar emblem. It makes me feel hopeful for my future.\n" + description = span_nicegreen("What a peculiar emblem. It makes me feel hopeful for my future.") mood_change = 5 /datum/mood_event/nanite_happiness - description = "+++++++HAPPINESS ENHANCEMENT+++++++\n" + description = span_nicegreen_robot("+++++++HAPPINESS ENHANCEMENT+++++++") mood_change = 7 /datum/mood_event/nanite_happiness/add_effects(message) - description = "+++++++[message]+++++++\n" + description = span_nicegreen_robot("+++++++[message]+++++++") /datum/mood_event/area description = "" //Fill this out in the area @@ -191,31 +199,31 @@ description = _description /datum/mood_event/confident_mane - description = "I'm feeling confident with a head full of hair.\n" + description = span_nicegreen("I'm feeling confident with a head full of hair.") mood_change = 2 /datum/mood_event/dkickflip - description = "I just witnessed the most RAD thing ever.\n" + description = span_nicegreen("I just witnessed the most RAD thing ever.") mood_change = 5 timeout = 2 MINUTES /datum/mood_event/high_five - description = "I love getting high fives!\n" + description = span_nicegreen("I love getting high fives!") mood_change = 2 timeout = 45 SECONDS /datum/mood_event/high_ten - description = "AMAZING! A HIGH-TEN!\n" + description = span_nicegreen("AMAZING! A HIGH-TEN!") mood_change = 3 timeout = 45 SECONDS /datum/mood_event/down_low - description = "HA! What a rube, they never stood a chance...\n" + description = span_nicegreen("HA! What a rube, they never stood a chance...") mood_change = 4 timeout = 1.5 MINUTES /datum/mood_event/kiss - description = "Someone blew a kiss at me, I must be a real catch!" + description = span_nicegreen("Someone blew a kiss at me, I must be a real catch!") mood_change = 1.5 timeout = 2 MINUTES @@ -223,21 +231,21 @@ if(!beau) return if(direct) - description = "[beau.name] gave me a kiss, ahh!!" + description = span_nicegreen("[beau.name] gave me a kiss, ahh!!") else - description = "[beau.name] blew a kiss at me, I must be a real catch!" + description = span_nicegreen("[beau.name] blew a kiss at me, I must be a real catch!") /datum/mood_event/fishing - description = "Fishing is relaxing" + description = span_nicegreen("Fishing is relaxing") mood_change = 5 timeout = 3 MINUTES /datum/mood_event/joywire - description = span_boldnicegreen("I feel so joyous! Oh, so joyous!\n") + description = span_boldnicegreen("I feel so joyous! Oh, so joyous!") mood_change = 8 timeout = 10 SECONDS /datum/mood_event/root - description = span_nicegreen("I rooted recently, it feels good to charge naturally.\n") + description = span_nicegreen("I rooted recently, it feels good to charge naturally.") mood_change = 5 timeout = 5 MINUTES diff --git a/code/datums/mood_events/needs_events.dm b/code/datums/mood_events/needs_events.dm index 5f873cf40ff..a341e4170e1 100644 --- a/code/datums/mood_events/needs_events.dm +++ b/code/datums/mood_events/needs_events.dm @@ -1,89 +1,89 @@ //nutrition /datum/mood_event/wellfed - description = "I'm stuffed!\n" + description = span_nicegreen("I'm stuffed!") mood_change = 8 /datum/mood_event/fed - description = "I have recently had some food.\n" + description = span_nicegreen("I have recently had some food.") mood_change = 5 /datum/mood_event/hungry - description = "I'm getting a bit hungry.\n" + description = span_warning("I'm getting a bit hungry.") mood_change = -6 /datum/mood_event/starving - description = "I'm starving!\n" + description = span_boldwarning("I'm starving!") mood_change = -10 //charge /datum/mood_event/supercharged - description = "I can't possibly keep all this power inside, I need to release some quick!\n" + description = span_boldwarning("I can't possibly keep all this power inside, I need to release some quick!") mood_change = -10 /datum/mood_event/overcharged - description = "I feel dangerously overcharged, perhaps I should release some power.\n" + description = span_warning("I feel dangerously overcharged, perhaps I should release some power.") mood_change = -4 /datum/mood_event/charged - description = "I feel the power in my veins!\n" + description = span_nicegreen("I feel the power in my veins!") mood_change = 6 /datum/mood_event/lowpower - description = "My power is running low, I should go charge up somewhere.\n" + description = span_warning("My power is running low, I should go charge up somewhere.") mood_change = -6 /datum/mood_event/decharged - description = "I'm in desperate need of some electricity!\n" + description = span_boldwarning("I'm in desperate need of some electricity!") mood_change = -10 //Disgust /datum/mood_event/gross - description = "I saw something gross.\n" + description = span_warning("I saw something gross.") mood_change = -4 /datum/mood_event/verygross - description = "I think I'm going to puke...\n" + description = span_warning("I think I'm going to puke...") mood_change = -6 /datum/mood_event/disgusted - description = "Oh god that's disgusting...\n" + description = span_boldwarning("Oh god that's disgusting...") mood_change = -8 /datum/mood_event/disgust/bad_smell - description = "You smell something horribly decayed inside this room.\n" + description = span_warning("You smell something horribly decayed inside this room.") mood_change = -6 /datum/mood_event/disgust/nauseating_stench - description = "The stench of rotting carcasses is unbearable!\n" + description = span_warning("The stench of rotting carcasses is unbearable!") mood_change = -12 //Generic needs events /datum/mood_event/favorite_food - description = "I really enjoyed eating that.\n" + description = span_nicegreen("I really enjoyed eating that.") mood_change = 5 timeout = 4 MINUTES /datum/mood_event/gross_food - description = "I really didn't like that food.\n" + description = span_warning("I really didn't like that food.") mood_change = -2 timeout = 4 MINUTES /datum/mood_event/disgusting_food - description = "That food was disgusting!\n" + description = span_warning("That food was disgusting!") mood_change = -6 timeout = 4 MINUTES /datum/mood_event/breakfast - description = "Nothing like a hearty breakfast to start the shift.\n" + description = span_nicegreen("Nothing like a hearty breakfast to start the shift.") mood_change = 2 timeout = 10 MINUTES /datum/mood_event/nice_shower - description = "I have recently had a nice shower.\n" + description = span_nicegreen("I have recently had a nice shower.") mood_change = 4 timeout = 5 MINUTES /datum/mood_event/fresh_laundry - description = "There's nothing like the feeling of a freshly laundered jumpsuit.\n" + description = span_nicegreen("There's nothing like the feeling of a freshly laundered jumpsuit.") mood_change = 2 timeout = 10 MINUTES diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm index 5545c4efde5..afd4e83cfe3 100644 --- a/code/datums/mutations/speech.dm +++ b/code/datums/mutations/speech.dm @@ -68,129 +68,6 @@ return REMOVE_TRAIT(owner, TRAIT_UNINTELLIGIBLE_SPEECH, GENETIC_MUTATION) -/datum/mutation/human/swedish - name = "Swedish" - desc = "A horrible mutation originating from the distant past. Thought to be eradicated after the incident in 2037." - quality = MINOR_NEGATIVE - text_gain_indication = "You feel Swedish, however that works." - text_lose_indication = "The feeling of Swedishness passes." - -/datum/mutation/human/swedish/on_acquiring(mob/living/carbon/human/owner) - if(..()) - return - RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) - -/datum/mutation/human/swedish/on_losing(mob/living/carbon/human/owner) - if(..()) - return - UnregisterSignal(owner, COMSIG_MOB_SAY) - -/datum/mutation/human/swedish/proc/handle_speech(datum/source, list/speech_args) - SIGNAL_HANDLER - - var/message = speech_args[SPEECH_MESSAGE] - if(message) - message = replacetext(message,"w","v") - message = replacetext(message,"j","y") - message = replacetext(message,"a",pick("å","ä","æ","a")) - message = replacetext(message,"bo","bjo") - message = replacetext(message,"o",pick("ö","ø","o")) - if(prob(30)) - message += " Bork[pick("",", bork",", bork, bork")]!" - speech_args[SPEECH_MESSAGE] = trim(message) - -/datum/mutation/human/chav - name = "Chav" - desc = "Unknown" - quality = MINOR_NEGATIVE - text_gain_indication = "Ye feel like a reet prat like, innit?" - text_lose_indication = "You no longer feel like being rude and sassy." - -/datum/mutation/human/chav/on_acquiring(mob/living/carbon/human/owner) - if(..()) - return - RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) - -/datum/mutation/human/chav/on_losing(mob/living/carbon/human/owner) - if(..()) - return - UnregisterSignal(owner, COMSIG_MOB_SAY) - -/datum/mutation/human/chav/proc/handle_speech(datum/source, list/speech_args) - var/message = speech_args[SPEECH_MESSAGE] - if(message) - message = " [message] " - message = replacetext(message," looking at "," gawpin' at ") - message = replacetext(message," great "," bangin' ") - message = replacetext(message," man "," mate ") - message = replacetext(message," friend ",pick(" mate "," bruv "," bledrin ")) - message = replacetext(message," what "," wot ") - message = replacetext(message," drink "," wet ") - message = replacetext(message," get "," giz ") - message = replacetext(message," what "," wot ") - message = replacetext(message," no thanks "," wuddent fukken do one ") - message = replacetext(message," i don't know "," wot mate ") - message = replacetext(message," no "," naw ") - message = replacetext(message," robust "," chin ") - message = replacetext(message," hi "," how what how ") - message = replacetext(message," hello "," sup bruv ") - message = replacetext(message," kill "," bang ") - message = replacetext(message," murder "," bang ") - message = replacetext(message," windows "," windies ") - message = replacetext(message," window "," windy ") - message = replacetext(message," break "," do ") - message = replacetext(message," your "," yer ") - message = replacetext(message," security "," coppers ") - speech_args[SPEECH_MESSAGE] = trim(message) - - -/datum/mutation/human/elvis - name = "Elvis" - desc = "A terrifying mutation named after its 'patient-zero'." - quality = MINOR_NEGATIVE - locked = TRUE - text_gain_indication = "You feel pretty good, honeydoll." - text_lose_indication = "You feel a little less conversation would be great." - -/datum/mutation/human/elvis/on_life() - switch(pick(1,2)) - if(1) - if(prob(15)) - var/list/dancetypes = list("swinging", "fancy", "stylish", "20'th century", "jivin'", "rock and roller", "cool", "salacious", "bashing", "smashing") - var/dancemoves = pick(dancetypes) - owner.visible_message("[owner] busts out some [dancemoves] moves!") - if(2) - if(prob(15)) - owner.visible_message("[owner] [pick("jiggles their hips", "rotates their hips", "gyrates their hips", "taps their foot", "dances to an imaginary song", "jiggles their legs", "snaps their fingers")]!") - -/datum/mutation/human/elvis/on_acquiring(mob/living/carbon/human/owner) - if(..()) - return - RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) - -/datum/mutation/human/elvis/on_losing(mob/living/carbon/human/owner) - if(..()) - return - UnregisterSignal(owner, COMSIG_MOB_SAY) - -/datum/mutation/human/elvis/proc/handle_speech(datum/source, list/speech_args) - SIGNAL_HANDLER - - var/message = speech_args[SPEECH_MESSAGE] - if(message) - message = " [message] " - message = replacetext(message," i'm not "," I aint ") - message = replacetext(message," girl ",pick(" honey "," baby "," baby doll ")) - message = replacetext(message," man ",pick(" son "," buddy "," brother"," pal "," friendo ")) - message = replacetext(message," out of "," outta ") - message = replacetext(message," thank you "," thank you, thank you very much ") - message = replacetext(message," thanks "," thank you, thank you very much ") - message = replacetext(message," what are you "," whatcha ") - message = replacetext(message," yes ",pick(" sure", "yea ")) - message = replacetext(message," muh valids "," my kicks ") - speech_args[SPEECH_MESSAGE] = trim(message) - - /datum/mutation/human/stoner name = "Stoner" desc = "A common mutation that severely decreases intelligence." diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm index 7134d2e8ece..c598b1c159d 100644 --- a/code/datums/progressbar.dm +++ b/code/datums/progressbar.dm @@ -16,7 +16,8 @@ var/last_progress = 0 ///Variable to ensure smooth visual stacking on multiple progress bars. var/listindex = 0 - + ///The type of our last value for bar_loc, for debugging + var/location_type /datum/progressbar/New(mob/User, goal_number, atom/target) . = ..() @@ -32,6 +33,7 @@ return goal = goal_number bar_loc = target + location_type = bar_loc.type bar = image('icons/effects/progressbar.dmi', bar_loc, "prog_bar_0", HUD_LAYER) bar.plane = ABOVE_HUD_PLANE bar.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA @@ -135,6 +137,89 @@ QDEL_IN(src, PROGRESSBAR_ANIMATION_TIME) +///Progress bars are very generic, and what hangs a ref to them depends heavily on the context in which they're used +///So let's make hunting harddels easier yeah? +/datum/progressbar/dump_harddel_info() + return "Owner's type: [location_type]" + + +/datum/world_progressbar + ///The progress bar visual element. + var/obj/effect/abstract/progbar/bar + ///The atom who "created" the bar + var/atom/movable/owner + ///Effectively the number of steps the progress bar will need to do before reaching completion. + var/goal = 1 + ///Control check to see if the progress was interrupted before reaching its goal. + var/last_progress = 0 + ///Variable to ensure smooth visual stacking on multiple progress bars. + var/listindex = 0 + ///Does this qdelete on completion? + var/qdel_when_done = TRUE + +/datum/world_progressbar/New(atom/movable/_owner, _goal, image/underlay) + if(!_owner) + return + + owner = _owner + goal = _goal + + bar = new() + + if(underlay) + if(!istype(underlay)) + underlay = image(underlay, dir = SOUTH) + underlay.filters += filter(type = "outline", size = 1) + + underlay.pixel_y += 2 + underlay.alpha = 200 + underlay.plane = GAME_PLANE + underlay.layer = FLY_LAYER + underlay.appearance_flags = APPEARANCE_UI + bar.underlays += underlay + + owner:vis_contents += bar + + animate(bar, alpha = 255, time = PROGRESSBAR_ANIMATION_TIME, easing = SINE_EASING) + + RegisterSignal(owner, COMSIG_PARENT_QDELETING, PROC_REF(owner_delete)) + +/datum/world_progressbar/Destroy() + owner = null + QDEL_NULL(bar) + return ..() + + +/datum/world_progressbar/proc/owner_delete() + qdel(src) + +///Updates the progress bar image visually. +/datum/world_progressbar/proc/update(progress) + progress = clamp(progress, 0, goal) + if(progress == last_progress) + return + last_progress = progress + bar.icon_state = "prog_bar_[round(((progress / goal) * 100), 5)]" + +/datum/world_progressbar/proc/end_progress() + if(last_progress != goal) + bar.icon_state = "[bar.icon_state]_fail" + + if(qdel_when_done) + animate(bar, alpha = 0, time = PROGRESSBAR_ANIMATION_TIME) + QDEL_IN(src, PROGRESSBAR_ANIMATION_TIME) + else + bar.icon_state = "prog_bar_0" #undef PROGRESSBAR_ANIMATION_TIME #undef PROGRESSBAR_HEIGHT + +/obj/effect/abstract/progbar + icon = 'icons/effects/progressbar.dmi' + icon_state = "prog_bar_0" + plane = ABOVE_HUD_PLANE + appearance_flags = APPEARANCE_UI | KEEP_APART + pixel_y = 32 + alpha = 0 + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + vis_flags = NONE //We don't want VIS_INHERIT_PLANE diff --git a/code/datums/proximity_monitor/fields/timestop.dm b/code/datums/proximity_monitor/fields/timestop.dm index 40a8c1cc947..84adc6f9666 100644 --- a/code/datums/proximity_monitor/fields/timestop.dm +++ b/code/datums/proximity_monitor/fields/timestop.dm @@ -29,9 +29,6 @@ for(var/mob/living/L in GLOB.player_list) if(locate(/obj/effect/proc_holder/spell/aoe_turf/timestop) in L.mind.spell_list) //People who can stop time are immune to its effects immune[L] = TRUE - for(var/mob/living/simple_animal/hostile/guardian/G in GLOB.parasites) - if(G.summoner && locate(/obj/effect/proc_holder/spell/aoe_turf/timestop) in G.summoner.mind.spell_list) //It would only make sense that a person's stand would also be immune. - immune[G] = TRUE if(start) INVOKE_ASYNC(src, PROC_REF(timestop)) diff --git a/code/datums/ruins.dm b/code/datums/ruins/_ruins.dm similarity index 97% rename from code/datums/ruins.dm rename to code/datums/ruins/_ruins.dm index 9b7c86c22b0..3554faf3e2c 100644 --- a/code/datums/ruins.dm +++ b/code/datums/ruins/_ruins.dm @@ -16,6 +16,7 @@ var/suffix = null var/ruin_type + var/ruin_tags = list() /datum/map_template/ruin/New() if(!name && id) diff --git a/code/datums/ruins/beachplanet.dm b/code/datums/ruins/beachplanet.dm index b258ef45f0e..b7ba861ef25 100644 --- a/code/datums/ruins/beachplanet.dm +++ b/code/datums/ruins/beachplanet.dm @@ -4,44 +4,30 @@ prefix = "_maps/RandomRuins/BeachRuins/" ruin_type = RUINTYPE_BEACH -/datum/map_template/ruin/beachplanet/fishinghut - name = "Fishing Hut" - id = "fishinghut" - description = "A small fishing hut floating on the ocean." - suffix = "beach_fishing_hut.dmm" +/datum/map_template/ruin/beachplanet/crashedengie + name = "Crashed Engineer Ship" + id = "beach_crashed_engineer" + description = "An abandoned camp built by a crashed engineer" + suffix = "beach_crashed_engineer.dmm" + ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_HAZARDOUS) /datum/map_template/ruin/beachplanet/ancient name = "Ancient Danger" id = "beach_ancient" description = "As you draw near the ancient wall, a sense of foreboding overcomes you. You aren't sure why, but you feel this dusty structure may contain great dangers." suffix = "beach_ancient_ruin.dmm" - -/datum/map_template/ruin/beachplanet/town - name = "Beachside Town" - id = "beach_town" - description = "A fresh town on a lovely coast, where its inhabitants are is unknown." - suffix = "beach_ocean_town.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/beachplanet/scrapvillage name = "Pirate Village" id = "beach_pirate" description = "A small pirate outpost formed from the remains of a wrecked shuttle." suffix = "beach_pirate_crash.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/beachplanet/treasurecove name = "Treasure Cove" id = "beach_treasure_cove" description = "A abandoned colony. It seems that this colony was abandoned, for a reason or another" suffix = "beach_treasure_cove.dmm" - -/datum/map_template/ruin/beachplanet/crashedengie - name = "Crashed Engineer Ship" - id = "beach_crashed_engineer" - description = "An abandoned camp built by a crashed engineer" - suffix = "beach_crashed_engineer.dmm" - -/datum/map_template/ruin/beachplanet/floatresort - name = "Floating Beach Resort" - id = "beach_float_resort" - description = "A hidden paradise on the beach" - suffix = "beach_float_resort.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) diff --git a/code/datums/ruins/icemoon.dm b/code/datums/ruins/icemoon.dm index 60304e86f6f..d57684dd710 100644 --- a/code/datums/ruins/icemoon.dm +++ b/code/datums/ruins/icemoon.dm @@ -4,26 +4,31 @@ prefix = "_maps/RandomRuins/IceRuins/" ruin_type = RUINTYPE_ICE -/datum/map_template/ruin/icemoon/hydroponicslab - name = "Hydroponics Lab" - id = "hydroponicslab" - description = "An abandoned hydroponics research facility containing hostile plant fauna." - suffix = "icemoon_hydroponics_lab.dmm" - /datum/map_template/ruin/icemoon/abandonedvillage name = "Abandoned Village" id = "abandonedvillage" description = "Who knows what lies within?" suffix = "icemoon_underground_abandoned_village.dmm" - -/datum/map_template/ruin/icemoon/brazillian_lab - name = "Barricaded Compound" - id = "brazillian-lab" - description = "A conspicuous compound in the middle of the cold wasteland. What goodies are inside?" - suffix = "icemoon_underground_brazillianlab.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_INHOSPITABLE) /datum/map_template/ruin/icemoon/crashed_holemaker name = "Crashed Holemaker" id = "crashed_holemaker" description = "Safety records for early Nanotrasen Spaceworks vessels were, and always have been, top of their class. Absolutely no multi-billion credit projects have been painstakingly erased from history. (Citation Needed)" suffix = "icemoon_crashed_holemaker.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_SHELTER) + +/datum/map_template/ruin/icemoon/ice_lodge + name = "Ice Lodge" + id = "ice_lodge" + description = "Records show this settlement as belonging to the SRM, but no one has heard from them as of late. I wonder what happened?" + suffix = "icemoon_ice_lodge.dmm" + ruin_tags = list(RUIN_TAG_HARD_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) + +/datum/map_template/ruin/icemoon/tesla_lab + name = "CLIP Research Lab" + id = "tesla_lab" + description = "Records show this settlement as belonging to the SRM, but no one has heard from them as of late. I wonder what happened?" + suffix = "icemoon_tesla_lab.dmm" + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) + diff --git a/code/datums/ruins/jungle.dm b/code/datums/ruins/jungle.dm index f1e2e16bfec..e8705d7f2f8 100644 --- a/code/datums/ruins/jungle.dm +++ b/code/datums/ruins/jungle.dm @@ -9,39 +9,39 @@ id = "syndicatebunkerjungle" description = "A small bunker owned by the Syndicate." suffix = "jungle_syndicate.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/jungle/interceptor name = "Old Crashed Interceptor" id = "crashedcondor" description = "An overgrown crashed Condor Class, a forgotten remnant of the Corporate Wars." suffix = "jungle_interceptor.dmm" + ruin_tags = list(RUIN_TAG_NO_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/jungle/paradise name = "Hidden paradise" id = "paradise" description = "a crashed shuttle, and a hidden beautiful lake." suffix = "jungle_paradise.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE, RUIN_TAG_HAZARDOUS) /datum/map_template/ruin/jungle/airbase name = "Bombed Airbase" id = "airbase" description = "A bombed out airbase from the ICW, taken back over by nature" suffix = "jungle_bombed_starport.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_HAZARDOUS, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/jungle/medtech name = "MedTech facility" id = "medtech-facility" description = "A MedTech pharmaceutical manufacturing plant where something went terribly wrong." suffix = "jungle_medtech_outbreak.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/jungle/cavecrew name = "Frontiersmen Cave" id = "cavecrew" description = "A frontiersmen base, hidden within a cave. They don't seem friendly" suffix = "jungle_cavecrew.dmm" - -/datum/map_template/ruin/jungle/library - name = "Abandoned Library" - id = "abandoned-library" - description = "A forgotten library, with a few angry monkeys." - suffix = "jungle_abandoned_library.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_HAZARDOUS, RUIN_TAG_LIVEABLE, RUIN_TAG_MAJOR_LOOT) diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm index 816ffd685c1..f94d75bd71f 100644 --- a/code/datums/ruins/lavaland.dm +++ b/code/datums/ruins/lavaland.dm @@ -10,14 +10,7 @@ description = "A Solarian frontier research facility created by the Pionierskompanien \ This one seems to simulate the wintery climate of the northern provinces, including a sauna!" suffix = "lavaland_surface_biodome_winter.dmm" - -/datum/map_template/ruin/lavaland/elephant_graveyard - name = "Elephant Graveyard" - id = "Graveyard" - description = "An abandoned graveyard, calling to those unable to continue." - suffix = "lavaland_surface_elephant_graveyard.dmm" - allow_duplicates = FALSE - cost = 10 + ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_SHELTER) /datum/map_template/ruin/lavaland/buried_shrine name = "Buried Shrine" @@ -42,3 +35,9 @@ id = "crashed_star" description = "A crashed pirate ship. It would seem that it's crew died a while ago." suffix = "lavaland_crashed_starwalker.dmm" + +/datum/map_template/ruin/lavaland/abandonedlisteningpost + name = "Abandoned Listening Post" + id = "abandonedlistening" + description = "An abandoned Cybersun listening post. Seems like the Ramzi Clique has an interest in the site." + suffix = "lavaland_abandonedlisteningpost.dmm" diff --git a/code/datums/ruins/reebe.dm b/code/datums/ruins/reebe.dm index fa89ada7788..d1a9de3e024 100644 --- a/code/datums/ruins/reebe.dm +++ b/code/datums/ruins/reebe.dm @@ -9,21 +9,18 @@ id = "clockcultarena" description = "A abandoned base, once belonging to clock cultists." suffix = "reebe_arena.dmm" - -/datum/map_template/ruin/reebe/swarmers - name = "Swarmer Island" - id = "swarmers" - description = "Looks like someone has occupied Reebe in the cultists' absence." - suffix = "reebe_swarmers.dmm" + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/reebe/island name = "Island Cache" id = "islandcache" description = "Reebe is full of these things. Something is hidden within here." suffix = "reebe_floating_island.dmm" + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/reebe/sm name = "Decayed Supermatter" id = "smdecay" description = "It seems whoever left here was so nice they left very vauluable items behind. How thoughtful." suffix = "reebe_decayed_sm.dmm" + ruin_tags = list(RUIN_TAG_NO_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE, RUIN_TAG_HAZARDOUS) diff --git a/code/datums/ruins/rockplanet.dm b/code/datums/ruins/rockplanet.dm index f576f1a9346..f34c7c2d23c 100644 --- a/code/datums/ruins/rockplanet.dm +++ b/code/datums/ruins/rockplanet.dm @@ -5,17 +5,12 @@ ruin_type = RUINTYPE_ROCK -/datum/map_template/ruin/rockplanet/harmfactory - name = "Harm Factory" - description = "A factory made for HARM and AGONY." - id = "rockplanet_harmfactory" - suffix = "rockplanet_harmfactory.dmm" - /datum/map_template/ruin/rockplanet/budgetcuts name = "Budgetcuts" description = "Nanotrasen's gotta lay off some personnel, and this facility hasn't been worth the effort so far" id = "rockplanet_budgetcuts" suffix = "rockplanet_budgetcuts.dmm" + ruin_tags = list(RUIN_TAG_HARD_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/rockplanet/shippingdock name = "Abandoned Shipping Dock" @@ -23,9 +18,15 @@ id = "rockplanet_shippingdock" suffix = "rockplanet_shippingdock.dmm" -/datum/map_template/ruin/rockplanet/nomadcrash - name = "Nomad Crash" - description = "A Crashed Arrow & Axe Interceptor. A long forgotten Crew. They tried their best to survive..." - id = "rockplanet_nomadcrash" - suffix = "rockplanet_nomadcrash.dmm" +/datum/map_template/ruin/rockplanet/distillery + name = "Frontiersman Distillery" + description = "A former pre-ICW era Nanotrasen outpost converted into a moonshine distillery by Frontiersman bootleggers." + id = "rockplanet_distillery" + suffix = "rockplanet_distillery.dmm" +/datum/map_template/ruin/rockplanet/mining_base + name = "N+S Mining Installation" + description = "A N+S mining installation recently fallen prey to a band of Ramzi pirates." + id = "rockplanet_mining_base" + suffix = "rockplanet_mining_installation.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_SHELTER) diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm index 1aedb0b9be8..8bdc04a9161 100644 --- a/code/datums/ruins/space.dm +++ b/code/datums/ruins/space.dm @@ -11,19 +11,14 @@ suffix = "corporate_mining.dmm" name = "Corporate Mining Module" description = "An old and rusty mining facility, with big ore potential." - -/datum/map_template/ruin/space/bigderelict1 - id = "bigderelict1" - suffix = "bigderelict1.dmm" - name = "Derelict Tradepost" - description = "A once-bustling tradestation that handled imports and exports from nearby stations now lays eerily dormant. \ - The last received message was a distress call from one of the on-board officers, but we had no success in making contact again." + ruin_tags = list(RUIN_TAG_NO_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER) /datum/map_template/ruin/space/onehalf id = "onehalf" suffix = "onehalf.dmm" name = "DK Excavator 453" description = "Formerly a thriving planetary mining outpost, now a bit of an exploded mess. One has to wonder how it got here" + ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_INHOSPITABLE) /datum/map_template/ruin/space/power_puzzle id = "power_puzzle" @@ -31,21 +26,18 @@ name = "Power Puzzle" description = "an abandoned secure storage location. there is no power left in the batteries and the former ocupants locked it pretty tight before leaving.\ You will have to power areas to raise the bolts on the doors. look out for secrets." - -/datum/map_template/ruin/space/astraeus - id = "astraeus" - suffix = "astraeus.dmm" - name = "Astraeus Ruin" - description = "This vessel served a lengthy period in the Nanotrasen fleet, before an accident in the munitions bay caused to to be destroyed while in active combat." + ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) /datum/map_template/ruin/space/singularitylab id = "singularitylab" suffix = "singularity_lab.dmm" name = "Singularity Lab" description = "An overgrown facility, home to an unstarted singularity and many plants" + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_SHELTER) /datum/map_template/ruin/space/spacemall id = "spacemall" suffix = "spacemall.dmm" name = "Space Mall" description = "An old shopping centre, owned by a former member of Nanotrasen's board of directors.." + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_SHELTER) diff --git a/code/datums/ruins/wasteplanet.dm b/code/datums/ruins/wasteplanet.dm index 8083567a7c6..b80533b3ae7 100644 --- a/code/datums/ruins/wasteplanet.dm +++ b/code/datums/ruins/wasteplanet.dm @@ -4,26 +4,37 @@ prefix = "_maps/RandomRuins/WasteRuins/" ruin_type = RUINTYPE_WASTE -/datum/map_template/ruin/wasteplanet/weaponstest - name = "Weapons testing facility" - id = "guntested" - description = "A abandoned Nanotrasen weapons facility, presumably the place where the X-01 was manufactured." - suffix = "wasteplanet_lab.dmm" - /datum/map_template/ruin/wasteplanet/pandora id = "pandora_arena" suffix = "wasteplanet_pandora.dmm" name = "Pandora Arena" description = "Some... thing has settled here." + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_MEGAFAUNA, RUIN_TAG_LIVEABLE) /datum/map_template/ruin/wasteplanet/radiation name = "Honorable deeds storage" id = "wasteplanet_radiation" description = "A dumping ground for nuclear waste." suffix = "wasteplanet_unhonorable.dmm" + ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) /datum/map_template/ruin/wasteplanet/abandoned_mechbay - name = "Abandoned Mech Bay" - description = "A military base formerly used for staging 4 mechs and crew. God knows what's in it now." + name = "Abandoned Exosuit Bay" + description = "A military base formerly used for staging 4 exosuits and crew. God knows what's in it now." id = "abandoned_mechbay" suffix = "wasteplanet_abandoned_mechbay.dmm" + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) + +/datum/map_template/ruin/wasteplanet/tradepost + name = "Ruined Tradepost" + description = "Formerly a functioning, if not thriving tradepost. Now a graveyard of Inteq soldiers and hivebots." + id = "wasteplanet_tradepost" + suffix = "wasteplanet_tradepost.dmm" + +/datum/map_template/ruin/wasteplanet/yard + name = "Abandoned Miskilamo salvage yard" + description = "An abandonded shipbreaking yard." + id = "wasteplanet_yard" + suffix = "wasteplanet_yard.dmm" + + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) diff --git a/code/datums/ruins/whitesands.dm b/code/datums/ruins/whitesands.dm index b3e0cb13adc..79ddbf6b99f 100644 --- a/code/datums/ruins/whitesands.dm +++ b/code/datums/ruins/whitesands.dm @@ -4,17 +4,19 @@ prefix = "_maps/RandomRuins/SandRuins/" ruin_type = RUINTYPE_SAND -/datum/map_template/ruin/whitesands/medipen_plant - name = "Abandoned Medipen Factory" - id = "medipenplant" - description = "A once prosperous autoinjector manufacturing plant." - suffix = "whitesands_surface_medipen_plant.dmm" - /datum/map_template/ruin/whitesands/pubbyslopcrash name = "Pubby Slop Crash" id = "ws-pubbyslopcrash" description = "A failed attempt of the Nanotrasen nutrional replacement program" suffix = "whitesands_surface_pubbyslopcrash.dmm" + ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER) + +/datum/map_template/ruin/whitesands/cave_base + name = "Abandoned Cave Base" + id = "cave_base" + description = "The former home of a poor sod on observation duty. Now a cunning trap." + suffix = "whitesands_cave_base.dmm" + ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER) //////////OUTSIDE SETTLEMENTS/RUINS////////// /datum/map_template/ruin/whitesands/survivors/saloon @@ -22,6 +24,7 @@ id = "ws-saloon" description = "A western style saloon, most popular spot for the hermits to gather planetside" suffix = "whitesands_surface_camp_saloon.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_INHOSPITABLE) /datum/map_template/ruin/whitesands/survivors/combination //combined extra large ruin of several other whitesands survivor ruins name = "Wasteland Survivor Village" @@ -29,4 +32,18 @@ description = "A small encampment of nomadic survivors of the First Colony, and their descendants. By all accounts, feral and without allegance to anyone but themselves." suffix = "whitesands_surface_camp_combination.dmm" allow_duplicates = FALSE + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_INHOSPITABLE, RUIN_TAG_HAZARDOUS) + +/datum/map_template/ruin/whitesands/e11_manufactory + name = "E-11 Manufacturing Plant" + id = "ws-e11manufactory" + description = "An old Eoehoma Firearms manufacturing plant dedicated to assembly of the beloved-by-many E-11 rifle." + suffix = "whitesands_surface_e11_manufactory.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_HAZARDOUS) +/datum/map_template/ruin/whitesands/brazillian_lab + name = "Hermit Weapons-Testing Compound" + id = "brazillian-lab" + description = "A conspicuous compound in the middle of the sandy wasteland. What goodies are inside?" + suffix = "whitesands_brazillianlab.dmm" + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_INHOSPITABLE) diff --git a/code/datums/saymode.dm b/code/datums/saymode.dm index 848940d4e9d..708a8110731 100644 --- a/code/datums/saymode.dm +++ b/code/datums/saymode.dm @@ -95,15 +95,11 @@ return FALSE -/datum/saymode/binary //everything that uses .b (silicons, drones, swarmers) +/datum/saymode/binary //everything that uses .b (silicons, drones) key = MODE_KEY_BINARY mode = MODE_BINARY /datum/saymode/binary/handle_message(mob/living/user, message, datum/language/language) - if(isswarmer(user)) - var/mob/living/simple_animal/hostile/swarmer/S = user - S.swarmer_chat(message) - return FALSE if(isdrone(user)) var/mob/living/simple_animal/drone/D = user D.drone_chat(message) diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index d7b60476d97..9e0e8c12597 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -21,6 +21,8 @@ var/prefix = "ISV" /// The full name of the ship's faction. var/faction_name = "Independent" + var/faction_path = /datum/faction/independent + var/datum/faction/faction_datum /// Whether or not players from other ships can open airlocks. var/unique_ship_access = TRUE /// Set by config JSON. If true, the template's ships' "default" spawn location (when bought by a player or loaded at roundstart) @@ -358,11 +360,7 @@ name = "Sugarcube Transport" prefix = "ISV" -//your subshuttle here -/datum/map_template/shuttle/subshuttles/heron - file_name = "nanotrasen_falcon" - name = "Falcon Dropship" - prefix = "NTSV" +//your subshuttle here //why is my subshuttle here // its no longer there /datum/map_template/shuttle/subshuttles/crux file_name = "minutemen_crux" @@ -402,7 +400,17 @@ name = "Nail-class Boarding Vessel" prefix = "PGF" +/datum/map_template/shuttle/subshuttles/tanto + file_name = "independent_tanto" + name = "Tanto-class Drop Pod" + prefix = "SV" + /datum/map_template/shuttle/subshuttles/brawler file_name = "frontiersmen_brawler" name = "Brawler-class Dropship" prefix = "SV" + +/datum/map_template/shuttle/subshuttles/skink + file_name = "nanotrasen_skink" + name = "Skink-class Cargo Runner" + prefix = "NTSV" diff --git a/code/datums/simple_beam.dm b/code/datums/simple_beam.dm new file mode 100644 index 00000000000..ec653823975 --- /dev/null +++ b/code/datums/simple_beam.dm @@ -0,0 +1,71 @@ +/datum/simple_beam + ///The source of the beam, which must be visible for the beam to be seen. Can NOT be null. + VAR_PRIVATE/atom/movable/origin + ///The target of the beam. Can be null. + VAR_PRIVATE/atom/movable/target + ///The visual representation of the beam. + VAR_PRIVATE/obj/effect/simple_beam/its_beam + +/datum/simple_beam/New(_origin, _target, icon = 'icons/effects/beam.dmi', icon_state = "1-full", icon_color = null, icon_alpha = 255) + origin = _origin + target = _target + + its_beam = new /obj/effect/simple_beam(origin, icon, icon_state, icon_color, icon_alpha) + origin.vis_contents += its_beam + + set_target(target) + +/datum/simple_beam/Destroy(force) + origin.vis_contents -= its_beam + QDEL_NULL(its_beam) + + if(target) + UnregisterSignal(origin, COMSIG_MOVABLE_MOVED) + UnregisterSignal(target, COMSIG_MOVABLE_MOVED) + + return ..() + +/datum/simple_beam/proc/draw() + if(origin.z != target.z) + set_target(null) + return + + var/f_dx = ((target.pixel_x - origin.pixel_x + 16) / world.icon_size) + (target.x - origin.x) + var/f_dy = ((target.pixel_y - origin.pixel_y) / world.icon_size) + (target.y - origin.y) + var/dist = sqrt(f_dx * f_dx + f_dy * f_dy) + var/s_dx = f_dy/dist + var/s_dy = -f_dx/dist + var/matrix/translation = matrix() + translation.Translate(0, 16) + translation.Multiply(new /matrix(s_dx, f_dx, 0, s_dy, f_dy, 0)) + + its_beam.transform = translation + +/datum/simple_beam/proc/set_target(new_target) + if(target) + UnregisterSignal(target, COMSIG_MOVABLE_MOVED) + UnregisterSignal(origin, COMSIG_MOVABLE_MOVED) + + target = new_target + + if(target) + its_beam.vis_flags &= ~VIS_HIDE + + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(draw)) + RegisterSignal(origin, COMSIG_MOVABLE_MOVED, PROC_REF(draw)) + + draw() + else + its_beam.vis_flags |= VIS_HIDE + +/obj/effect/simple_beam + layer = ABOVE_LIGHTING_LAYER + plane = ABOVE_LIGHTING_PLANE + +/obj/effect/simple_beam/New(loc, icon, icon_state, icon_color, icon_alpha) + src.icon = icon + src.icon_state = icon_state + src.color = icon_color + src.alpha = icon_alpha + + return ..() diff --git a/code/datums/spawners_menu.dm b/code/datums/spawners_menu.dm index 9e7e4b334dd..01709a00c1a 100644 --- a/code/datums/spawners_menu.dm +++ b/code/datums/spawners_menu.dm @@ -53,7 +53,7 @@ if(!spawnerlist.len) return var/obj/effect/mob_spawn/MS = pick(spawnerlist) - if(!istype(MS) || !(MS in GLOB.poi_list)) + if(!istype(MS) || !(MS in SSpoints_of_interest.other_points_of_interest)) return switch(action) if("jump") diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index 43c7bd3ab2e..6ffd5f40396 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -85,35 +85,6 @@ desc = "You are being resurrected!" icon_state = "wish_granter" -/datum/status_effect/cult_master - id = "The Cult Master" - duration = -1 - alert_type = null - on_remove_on_mob_delete = TRUE - var/alive = TRUE - -/datum/status_effect/cult_master/proc/deathrattle() - if(!QDELETED(GLOB.cult_narsie)) - return //if Nar'Sie is alive, don't even worry about it - var/area/A = get_area(owner) - for(var/datum/mind/B in SSticker.mode.cult) - if(isliving(B.current)) - var/mob/living/M = B.current - SEND_SOUND(M, sound('sound/hallucinations/veryfar_noise.ogg')) - to_chat(M, "The Cult's Master, [owner], has fallen in \the [A]!") - -/datum/status_effect/cult_master/tick() - if(owner.stat != DEAD && !alive) - alive = TRUE - return - if(owner.stat == DEAD && alive) - alive = FALSE - deathrattle() - -/datum/status_effect/cult_master/on_remove() - deathrattle() - . = ..() - /datum/status_effect/blooddrunk id = "blooddrunk" duration = 10 @@ -435,14 +406,15 @@ /datum/status_effect/regenerative_core/on_apply() ADD_TRAIT(owner, TRAIT_IGNOREDAMAGESLOWDOWN, id) - owner.adjustBruteLoss(-25) - owner.adjustFireLoss(-25) + owner.adjustBruteLoss(-20) + owner.adjustFireLoss(-20) owner.remove_CC() owner.bodytemperature = owner.get_body_temp_normal() return TRUE /datum/status_effect/regenerative_core/on_remove() REMOVE_TRAIT(owner, TRAIT_IGNOREDAMAGESLOWDOWN, id) + to_chat(owner, span_warning("The tendrils of the regenerative core sink into your flesh, leaving dark markings where they dive.")) /datum/status_effect/antimagic id = "antimagic" diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 02b96c1b81d..6d803d98ec4 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -49,6 +49,7 @@ . = ..() if(!.) return + owner.trip_with_gun("knockdown") ADD_TRAIT(owner, TRAIT_FLOORED, TRAIT_STATUS_EFFECT(id)) /datum/status_effect/incapacitating/knockdown/on_remove() @@ -79,6 +80,7 @@ . = ..() if(!.) return + owner.trip_with_gun("paralyze") ADD_TRAIT(owner, TRAIT_INCAPACITATED, TRAIT_STATUS_EFFECT(id)) ADD_TRAIT(owner, TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id)) ADD_TRAIT(owner, TRAIT_FLOORED, TRAIT_STATUS_EFFECT(id)) @@ -251,19 +253,6 @@ /datum/status_effect/pacify/on_remove() REMOVE_TRAIT(owner, TRAIT_PACIFISM, "status_effect") -/datum/status_effect/cultghost //is a cult ghost and can't use manifest runes - id = "cult_ghost" - duration = -1 - alert_type = null - -/datum/status_effect/cultghost/on_apply() - owner.see_invisible = SEE_INVISIBLE_OBSERVER - owner.see_in_dark = 2 - -/datum/status_effect/cultghost/tick() - if(owner.reagents) - owner.reagents.del_reagent(/datum/reagent/water/holywater) //can't be deconverted - /datum/status_effect/crusher_mark id = "crusher_mark" duration = 300 //if you leave for 30 seconds you lose the mark, deal with it diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index d1a8fd6acaa..306c3d6b8d5 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -105,11 +105,11 @@ if("Clown") heirloom_type = /obj/item/bikehorn/golden if("Mime") - heirloom_type = /obj/item/reagent_containers/food/snacks/baguette + heirloom_type = /obj/item/food/baguette if("Janitor") heirloom_type = pick(/obj/item/mop, /obj/item/clothing/suit/caution, /obj/item/reagent_containers/glass/bucket, /obj/item/paper/fluff/stations/soap) if("Cook") - heirloom_type = pick(/obj/item/reagent_containers/food/condiment/saltshaker, /obj/item/kitchen/rollingpin, /obj/item/clothing/head/chefhat) + heirloom_type = pick(/obj/item/reagent_containers/condiment/saltshaker, /obj/item/kitchen/rollingpin, /obj/item/clothing/head/chefhat) if("Botanist") heirloom_type = pick(/obj/item/cultivator, /obj/item/reagent_containers/glass/bucket, /obj/item/toy/plush/beeplushie) if("Bartender") @@ -451,20 +451,19 @@ /datum/quirk/social_anxiety/on_process() var/nearby_people = 0 + if(HAS_TRAIT(quirk_holder, TRAIT_FEARLESS)) + return for(var/mob/living/carbon/human/H in oview(3, quirk_holder)) if(H.client) nearby_people++ var/mob/living/carbon/human/H = quirk_holder if(prob(2 + nearby_people)) - H.stuttering = max(3, H.stuttering) - else if(prob(min(3, nearby_people)) && !H.silent) - to_chat(H, "You retreat into yourself. You really don't feel up to talking.") - H.silent = max(10, H.silent) + H.stuttering = max(4, H.stuttering) else if(prob(0.5) && dumb_thing) to_chat(H, "You think of a dumb thing you said a long time ago and scream internally.") dumb_thing = FALSE //only once per life if(prob(1)) - new/obj/item/reagent_containers/food/snacks/spaghetti/pastatomato(get_turf(H)) //now that's what I call spaghetti code + new/obj/item/food/spaghetti/pastatomato(get_turf(H)) //now that's what I call spaghetti code // small chance to make eye contact with inanimate objects/mindless mobs because of nerves /datum/quirk/social_anxiety/proc/looks_at_floor(datum/source, atom/A) @@ -479,6 +478,8 @@ /datum/quirk/social_anxiety/proc/eye_contact(datum/source, mob/living/other_mob, triggering_examiner) SIGNAL_HANDLER + if(HAS_TRAIT(quirk_holder, TRAIT_FEARLESS)) + return if(prob(75)) return var/msg @@ -641,6 +642,25 @@ return SEND_SIGNAL(quirk_holder, COMSIG_ADD_MOOD_EVENT, "wrong_cigs", /datum/mood_event/wrong_brand) +/datum/quirk/congenital_analgesia + name = "Congenital Analgesia" + desc = "Due to a rare condition, you have never felt pain. Physical pain, at least. That breakup still hurt." + value = -1 + mob_traits = list(TRAIT_ANALGESIA) + gain_text = "You've never really felt pain." + lose_text = "...Oh god, you're sore." + medical_record_text = "Patient is unable to process pain" + +/datum/quirk/congenital_analgesia/on_spawn() + var/mob/living/carbon/human/H = quirk_holder + H.set_screwyhud(SCREWYHUD_HEALTHY) + +/datum/quirk/congenital_analgesia/remove() + if(quirk_holder) + var/mob/living/carbon/human/H = quirk_holder + H.set_screwyhud(SCREWYHUD_NONE) + + /datum/quirk/unstable name = "Unstable" desc = "Due to past troubles, you are unable to recover your sanity if you lose it. Be very careful managing your mood!" diff --git a/code/datums/votes/_vote_datum.dm b/code/datums/votes/_vote_datum.dm index c34d4600d2b..7118695bf1b 100644 --- a/code/datums/votes/_vote_datum.dm +++ b/code/datums/votes/_vote_datum.dm @@ -10,7 +10,7 @@ /// If supplied, an override question will be displayed instead of the name of the vote. var/override_question /// The sound effect played to everyone when this vote is initiated. - var/vote_sound = 'sound/misc/compiler-stage2.ogg' + var/vote_sound = 'sound/misc/announce_dig.ogg' /// A list of default choices we have for this vote. var/list/default_choices /// What message do we want to pass to the player-side vote panel as a tooltip? @@ -156,7 +156,7 @@ /// Gets the winner of the vote, selecting a random choice from all choices based on their vote count. /datum/vote/proc/get_random_winner() - var/winner = pickweight(choices) + var/winner = pick_weight(choices) return winner ? list(winner) : list() /** diff --git a/code/datums/weather/weather_controller.dm b/code/datums/weather/weather_controller.dm index ad4d5005c04..30be3ebb23c 100644 --- a/code/datums/weather/weather_controller.dm +++ b/code/datums/weather/weather_controller.dm @@ -60,7 +60,7 @@ if(!possible_weathers) return next_weather = world.time + rand(wait_interval_low, wait_interval_high) - next_weather_type = pickweight(possible_weathers) + next_weather_type = pick_weight(possible_weathers) /datum/weather_controller/proc/run_weather(datum/weather/weather_datum_type, telegraph = TRUE) if(!ispath(weather_datum_type, /datum/weather)) diff --git a/code/datums/weather/weather_types/hailstorm.dm b/code/datums/weather/weather_types/hailstorm.dm index 127a92f0356..ef0cd70b2db 100644 --- a/code/datums/weather/weather_types/hailstorm.dm +++ b/code/datums/weather/weather_types/hailstorm.dm @@ -32,5 +32,5 @@ /// Think of some good solution of how weather should affect monsters and how they should be resistant to things like this if(isanimal(living_mob)) return - living_mob.adjust_bodytemperature(-rand(3,6)) + living_mob.adjust_bodytemperature(-rand(1,2)) living_mob.adjustBruteLoss(rand(2,4)) diff --git a/code/datums/weather/weather_types/rain.dm b/code/datums/weather/weather_types/rain.dm index fbbb0269ed2..591a569b19e 100644 --- a/code/datums/weather/weather_types/rain.dm +++ b/code/datums/weather/weather_types/rain.dm @@ -47,3 +47,17 @@ desc = "Storm with rain and lightning." weather_message = "The clouds blacken and the sky starts to flash as thunder strikes down!" thunder_chance = 10 + +/datum/weather/rain/heavy/storm_intense + name = "storm" + desc = "Storm with rain and lightning." + weather_overlay = "storm_very" + thunder_chance = 20 + weather_color = "#a3daf7" + weather_duration_lower = 420690 + weather_duration_upper = 420690 + + sound_active_outside = /datum/looping_sound/weather/rain/storm/indoors + sound_active_inside = /datum/looping_sound/weather/rain/storm + sound_weak_outside = /datum/looping_sound/weather/rain/storm/indoors + sound_weak_inside = /datum/looping_sound/weather/rain/storm diff --git a/code/datums/weather/weather_types/snow_storm.dm b/code/datums/weather/weather_types/snow_storm.dm index ba74a39ddb4..db11f26e753 100644 --- a/code/datums/weather/weather_types/snow_storm.dm +++ b/code/datums/weather/weather_types/snow_storm.dm @@ -29,5 +29,5 @@ sound_weak_inside = /datum/looping_sound/weak_inside_ashstorm /datum/weather/snow_storm/weather_act(mob/living/living_mob) - living_mob.adjust_bodytemperature(-rand(5,15)) + living_mob.adjust_bodytemperature(-rand(2,4)) diff --git a/code/datums/weather/weather_types/snowfall.dm b/code/datums/weather/weather_types/snowfall.dm index 5600547705b..d3eab8b1099 100644 --- a/code/datums/weather/weather_types/snowfall.dm +++ b/code/datums/weather/weather_types/snowfall.dm @@ -43,4 +43,4 @@ thunder_chance = 2 /datum/weather/snowfall/heavy/weather_act(mob/living/living_mob) - living_mob.adjust_bodytemperature(-rand(2,4)) + living_mob.adjust_bodytemperature(-rand(1,2)) diff --git a/code/datums/wires/_wires.dm b/code/datums/wires/_wires.dm index e6db7790fd6..79b02564d2b 100644 --- a/code/datums/wires/_wires.dm +++ b/code/datums/wires/_wires.dm @@ -173,6 +173,15 @@ S.connected = src return S +/datum/wires/proc/attach_assembly_init(obj/item/assembly/S) + var/obj/item/assembly/I = new S(holder.loc) + for(var/color in colors) + if(I && istype(I) && I.attachable && !is_attached(color)) + assemblies[color] = I + I.forceMove(holder) + I.connected = src + return I + /datum/wires/proc/detach_assembly(color) var/obj/item/assembly/S = get_attached(color) if(S && istype(S)) diff --git a/code/datums/wires/explosive.dm b/code/datums/wires/explosive.dm index a8e9873150e..c99a27b300a 100644 --- a/code/datums/wires/explosive.dm +++ b/code/datums/wires/explosive.dm @@ -66,7 +66,7 @@ /datum/wires/explosive/c4/explode() var/obj/item/grenade/c4/P = holder - P.prime() + P.receive_signal() /datum/wires/explosive/pizza holder_type = /obj/item/pizzabox diff --git a/code/datums/wires/mines.dm b/code/datums/wires/mines.dm index 4c856cf99d3..91e0ac81618 100644 --- a/code/datums/wires/mines.dm +++ b/code/datums/wires/mines.dm @@ -28,7 +28,7 @@ if(WIRE_PIN) if(ourmine.clicked == TRUE) holder.visible_message(span_notice("[icon2html(ourmine, viewers(holder))] You hear something inside \the [ourmine] click softly.")) - playsound(ourmine, 'sound/weapons/empty.ogg', 30, TRUE) + playsound(ourmine, SOUND_EMPTY_MAG, 30, TRUE) ourmine.clicked = FALSE else holder.visible_message(span_notice("[icon2html(ourmine, viewers(holder))] \The [ourmine]'s detonation pad shifts slightly. Nothing happens.")) @@ -61,7 +61,7 @@ ourmine.dud = TRUE if(ourmine.clicked == TRUE) holder.visible_message(span_notice("[icon2html(ourmine, viewers(holder))] You hear something inside \the [ourmine] shift out of place.")) - playsound(ourmine, 'sound/weapons/empty.ogg', 30, TRUE) + playsound(ourmine, SOUND_EMPTY_MAG, 30, TRUE) ourmine.clicked = FALSE else holder.visible_message(span_notice("[icon2html(ourmine, viewers(holder))] \The [ourmine]'s detonation pad goes loose.")) diff --git a/code/datums/wires/mod.dm b/code/datums/wires/mod.dm new file mode 100644 index 00000000000..b5805557eaf --- /dev/null +++ b/code/datums/wires/mod.dm @@ -0,0 +1,57 @@ +/datum/wires/mod + holder_type = /obj/item/mod/control + proper_name = "MOD control unit" + +/datum/wires/mod/New(atom/holder) + wires = list(WIRE_HACK, WIRE_DISABLE, WIRE_SHOCK, WIRE_INTERFACE) + add_duds(2) + ..() + +/datum/wires/mod/interactable(mob/user) + if(!..()) + return FALSE + var/obj/item/mod/control/mod = holder + return mod.open + +/datum/wires/mod/get_status() + var/obj/item/mod/control/mod = holder + var/list/status = list() + status += "The orange light is [mod.seconds_electrified ? "on" : "off"]." + status += "The red light is [mod.malfunctioning ? "off" : "blinking"]." + status += "The green light is [mod.locked ? "on" : "off"]." + status += "The yellow light is [mod.interface_break ? "off" : "on"]." + return status + +/datum/wires/mod/on_pulse(wire) + var/obj/item/mod/control/mod = holder + switch(wire) + if(WIRE_HACK) + mod.locked = !mod.locked + if(WIRE_DISABLE) + mod.malfunctioning = TRUE + if(WIRE_SHOCK) + mod.seconds_electrified = MACHINE_DEFAULT_ELECTRIFY_TIME + if(WIRE_INTERFACE) + mod.interface_break = !mod.interface_break + +/datum/wires/mod/on_cut(wire, mend) + var/obj/item/mod/control/mod = holder + switch(wire) + if(WIRE_HACK) + if(!mend) + mod.req_access = list() + if(WIRE_DISABLE) + mod.malfunctioning = !mend + if(WIRE_SHOCK) + if(mend) + mod.seconds_electrified = MACHINE_NOT_ELECTRIFIED + else + mod.seconds_electrified = MACHINE_ELECTRIFIED_PERMANENT + if(WIRE_INTERFACE) + mod.interface_break = !mend + +/datum/wires/mod/ui_act(action, params) + var/obj/item/mod/control/mod = holder + if(!issilicon(usr) && mod.seconds_electrified && mod.shock(usr)) + return FALSE + return ..() diff --git a/code/game/MapData/shuttles/nanotrasen_ranger.dm b/code/game/MapData/shuttles/nanotrasen_ranger.dm index 1766cd11ee0..06d98876072 100644 --- a/code/game/MapData/shuttles/nanotrasen_ranger.dm +++ b/code/game/MapData/shuttles/nanotrasen_ranger.dm @@ -101,7 +101,7 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp resistance_flags = null max_heat_protection_temperature = null - slowdown = 1.2 + supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION /obj/item/clothing/head/helmet/space/hardsuit/ert/lp armor = list("melee" = 50, "bullet" = 40, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 60, "fire" = 50, "acid" = 80) @@ -111,7 +111,7 @@ max_heat_protection_temperature = null /obj/item/clothing/suit/space/hardsuit/ert/lp/sec - armor = list("melee" = 35, "bullet" = 15, "laser" = 30, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) + armor = list("melee" = 40, "bullet" = 40, "laser" = 20, "energy" = 20, "bomb" = 20, "bio" = 100, "rad" = 50, "fire" = 40, "acid" = 40) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/sec name = "Loss Prevention Security Hardsuit" desc = "The best of the best security staff get assigned to the ERT. Second best are given this Hardsuit as a part of the LP Team." @@ -119,7 +119,7 @@ item_state = "ert_security" /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/sec - armor = list("melee" = 35, "bullet" = 20, "laser" = 30,"energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) + armor = list("melee" = 40, "bullet" = 40, "laser" = 20,"energy" = 20, "bomb" = 20, "bio" = 100, "rad" = 50, "fire" = 40, "acid" = 40) hardsuit_type = "ert_security" name = "Loss Prevention Security Hardsuit Helmet" desc = "The helmet that comes attached to the LP Team Security Hardsuit." @@ -127,7 +127,7 @@ item_state = "hardsuit0-ert_security" /obj/item/clothing/suit/space/hardsuit/ert/lp/engi - armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) + armor = list("melee" = 30, "bullet" = 20, "laser" = 30, "energy" = 30, "bomb" = 25, "bio" = 100, "rad" = 75, "fire" = 90, "acid" = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/engi name = "Loss Prevention Engineering Hardsuit" desc = "The best of the best engineering staff get assigned to the ERT. Second best are given this Hardsuit as a part of the LP Team." @@ -135,7 +135,7 @@ item_state = "ert_engineer" /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/engi - armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) + armor = list("melee" = 38, "bullet" = 20, "laser" = 30, "energy" = 30, "bomb" = 25, "bio" = 100, "rad" = 75, "fire" = 90, "acid" = 75) name = "Loss Prevention Engineering Hardsuit Helmet" desc = "The helmet that comes attached to the LP Team Engineering Hardsuit." icon_state = "hardsuit0-ert_engineer" @@ -143,32 +143,34 @@ hardsuit_type = "ert_engineer" /obj/item/clothing/suit/space/hardsuit/ert/lp/med - armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75) + armor = list("melee" = 25, "bullet" = 25, "laser" = 25, "energy" = 25, "bomb" = 25, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 60) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/med name = "Loss Prevention Medical Hardsuit" desc = "The best of the best medical staff get assigned to the ERT. Second best are given this Hardsuit as a part of the LP Team." icon_state = "ert_medical" item_state = "ert_medical" + slowdown = 0.5 /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/med - armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75) + armor = list("melee" = 25, "bullet" = 25, "laser" = 25, "energy" = 25, "bomb" = 25, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 60) name = "Loss Prevention Medical Hardsuit Helmet" desc = "The helmet that comes attached to the LP Team Medical Hardsuit." icon_state = "hardsuit0-ert_medical" item_state = "hardsuit0-ert_medical" hardsuit_type = "ert_medical" + clothing_flags = SCAN_REAGENTS | STOPSPRESSUREDAMAGE | THICKMATERIAL | SNUG_FIT | BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS /obj/item/clothing/head/helmet/space/hardsuit/lp name = "RIG heatsuit helmet" desc = "The helmet to the RIG heat suit. It's packed with heat diverting materials, coolant pipes, and a two inch thick face screen." - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 75) + armor = list("melee" = 5, "bullet" = 5, "laser" = 1, "energy" = 1, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 75) heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = ACID_PROOF | FIRE_PROOF /obj/item/clothing/suit/space/hardsuit/ancient/lp name = "RIG heat suit" - desc = "A fully heat resistance suit based on an early RIG hardsuit prototype. It sacrifices armor of any kind for intricate heatsinks. It remains rather bulky as a result." + desc = "A fully heat-resistant suit based on an early RIG hardsuit prototype. It sacrifices armor of any kind for intricate heatsinks. It remains rather bulky as a result." armor = list("melee" = 5, "bullet" = 5, "laser" = 1, "energy" = 1, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/lp heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -177,116 +179,8 @@ //holotapes -/obj/item/disk/holodisk/lp/combat/syndicate1 - name = "Combat Mission Eliminate Force" - desc = "A holodisk containing a combat mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around a combat objective. The LP will have to get their hands dirty for this one. - DELAY 25 - SAY The LP is to respond to a hostile threat from a Syndicate vessel. In such action they are to kill or otherwise subdue the primary fighting force. - DELAY 25 - "} - -/obj/item/disk/holodisk/lp/combat/syndicate2 - name = "Combat Mission Capture" - desc = "A holodisk containing a combat mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around a combat objective. The LP will have to get their hands dirty for this one. - DELAY 25 - SAY The LP is to respond to a hostile threat from a Syndicate vessel. In such action they are to subdue and capture one of the armed members of the crew. They should be stripped of gear, interrogated, and converted to NT if possible. If not possible, release them to whatever ship they belonged to or will accept them. - DELAY 25 - "} - -/obj/item/disk/holodisk/lp/combat/syndicate3 - name = "Combat Mission Capture Commander" - desc = "A holodisk containing a combat mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around a combat objective. The LP will have to get their hands dirty for this one. - DELAY 25 - SAY The LP is to respond to a hostile threat from a Syndicate vessel. In such action they are to eliminate whatever leader or captain of such vession and bring their body back in a bodybag. The Medical Specialist has been given a box of them for such an occasion. - DELAY 25 - "} - -/obj/item/disk/holodisk/lp/combat/syndicate4 - name = "Combat Mission Secret Documents" - desc = "A holodisk containing a combat mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around a combat objective. The LP will have to get their hands dirty for this one. - DELAY 25 - SAY The LP is to respond to a hostile threat from a Syndicate vessel. In such action they are to retrieve a set of secret documents from the syndicate vessel. This will likely require a boarding operation. Good luck. - DELAY 25 - "} - -/obj/item/disk/holodisk/lp/combat/megafauna - name = "Combat Mission Megafauna" - desc = "A holodisk containing a combat mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around a combat objective. The LP will have to get their hands dirty for this one. - DELAY 25 - SAY This mission is very simple. The LP is to seek out a megafauna specimen and slay it. - DELAY 25 - "} - -/obj/item/disk/holodisk/lp/combat/bdm - name = "Combat Mission Blood Drunk" - desc = "A holodisk containing a combat mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around a combat objective. The LP will have to get their hands dirty for this one. - DELAY 25 - SAY This mission is straightforward. The LP team is to seek out two blood drunk mines and termninate them. Bring back whatever weapons they wield and recover the bodies for the vault. - DELAY 25 - "} - -/obj/item/disk/holodisk/lp/combat/tumor - name = "Combat Mission Tumor" - desc = "A holodisk containing a combat mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around a combat objective. The LP will have to get their hands dirty for this one. - DELAY 25 - SAY This mission is rather straightforward. Seak out 2 pulsing tumors and elimate the threat they produce. Return the body of the threat to the vault. - DELAY 25 - "} - -/obj/item/disk/holodisk/lp/combat/bloodred - name = "Combat Mission Blood Red" - desc = "A holodisk containing a combat mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around a combat objective. The LP will have to get their hands dirty for this one. - DELAY 25 - SAY This mission overlaps with the retrieval missions. The LP is simply to obtain a Blood Red Hardsuit. This may include responding to a hostile syndicate vessel to take it by force. - DELAY 25 - "} - -/obj/item/disk/holodisk/lp/retrieval/supersuit - name = "Retrieval Mission Lost Hardsuit" - desc = "A holodisk containing a retrieval mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around a retrieval objective. The LP will need to obtain or create something. - DELAY 25 - SAY This one is a bit difficult but completing it is extremely rewarding. Our sources show that two of our experimental hardsuits have been lost to the necropolis. Retrieve a Champion's Hardsuit or an Inquisitor's Hardsuit. These are often found in necropolis chests or held by certain megafauna. - DELAY 25 - "} - /obj/item/disk/holodisk/lp/retrieval/phazon - name = "Retrieval Mission Secret Mecha" + name = "Retrieval Mission Secret Exosuit" desc = "A holodisk containing a retrieval mission for the LP." preset_image_type = /datum/preset_holoimage/commissioner preset_record_text = {" @@ -321,18 +215,6 @@ DELAY 25 "} -/obj/item/disk/holodisk/lp/retrieval/artifact - name = "Retrieval Mission Artifact" - desc = "A holodisk containing a retrieval mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around a retrieval objective. The LP will need to obtain or create something. - DELAY 25 - SAY For this mission the LP is to find three artifacts. These include but are not limited to, anything stored in a necropolis chest, most megafauna loot, anything befitting someone magical or otherwise special. - DELAY 25 - "} - /obj/item/disk/holodisk/lp/retrieval/materials name = "Retrieval Mission Materials" desc = "A holodisk containing a retrieval mission for the LP." @@ -345,18 +227,6 @@ DELAY 25 "} -/obj/item/disk/holodisk/lp/aid/recruits - name = "Aid Mission Recruitment Drive" - desc = "A holodisk containing an aid mission for the LP." - preset_image_type = /datum/preset_holoimage/commissioner - preset_record_text = {" - NAME Commissioner Gorre Donn - SAY This mission, should you choose to accept it, revolves around an aid objective. The LP will need to provide aid to local vessels not hostile or syndicate. - DELAY 25 - SAY Less providing aid and more networking. The LP will need to convince 4 independent vessels to switch to NTSV flight tags. - DELAY 25 - "} - /obj/item/disk/holodisk/lp/aid/repairs name = "Aid Mission Repair" desc = "A holodisk containing an aid mission for the LP." @@ -370,7 +240,7 @@ "} /obj/item/disk/holodisk/lp/aid/rescue - name = "Aid Mission Rescure" + name = "Aid Mission Rescue" desc = "A holodisk containing an aid mission for the LP." preset_image_type = /datum/preset_holoimage/commissioner preset_record_text = {" @@ -413,48 +283,28 @@ //lootdrop -/obj/effect/spawner/lootdrop/lpcombat - name = "LP Combat Missions" - lootdoubles = FALSE - - loot = list( - /obj/item/disk/holodisk/lp/combat/syndicate1 = 1, - /obj/item/disk/holodisk/lp/combat/syndicate2 = 1, - /obj/item/disk/holodisk/lp/combat/syndicate3 = 1, - /obj/item/disk/holodisk/lp/combat/syndicate4 = 1, - /obj/item/disk/holodisk/lp/combat/megafauna = 5, - /obj/item/disk/holodisk/lp/combat/bdm = 5, - /obj/item/disk/holodisk/lp/combat/tumor = 5, - /obj/item/disk/holodisk/lp/combat/bloodred = 5 - ) - - lootcount = 2 - -/obj/effect/spawner/lootdrop/lpretrieval +/obj/effect/spawner/random/lpretrieval name = "LP Retrieval Missions" - lootdoubles = FALSE + spawn_loot_double = FALSE loot = list( - /obj/item/disk/holodisk/lp/retrieval/supersuit = 1, /obj/item/disk/holodisk/lp/retrieval/phazon = 1, /obj/item/disk/holodisk/lp/retrieval/durand = 1, /obj/item/disk/holodisk/lp/retrieval/gunstock = 1, - /obj/item/disk/holodisk/lp/retrieval/artifact = 1, /obj/item/disk/holodisk/lp/retrieval/materials = 1 ) - lootcount = 2 + spawn_loot_count = 2 -/obj/effect/spawner/lootdrop/lpaid +/obj/effect/spawner/random/lpaid name = "LP Aid Missions" - lootdoubles = FALSE + spawn_loot_double = FALSE loot = list( - /obj/item/disk/holodisk/lp/aid/recruits = 1, /obj/item/disk/holodisk/lp/aid/repairs = 1, /obj/item/disk/holodisk/lp/aid/rescue = 1, /obj/item/disk/holodisk/lp/aid/guard = 1, ) - lootcount = 2 + spawn_loot_count = 4 diff --git a/code/game/MapData/shuttles/pgf_bolide.dm b/code/game/MapData/shuttles/pgf_bolide.dm new file mode 100644 index 00000000000..13a9767de68 --- /dev/null +++ b/code/game/MapData/shuttles/pgf_bolide.dm @@ -0,0 +1,245 @@ +/obj/machinery/air_sensor/ship/bolide/air + id_tag = "bolide_air" + +/obj/machinery/air_sensor/ship/bolide/fuel + id_tag = "bolide_fuel_1" + +/obj/machinery/air_sensor/ship/bolide/fuel_2 + id_tag = "bolide_fuel_2" + +/obj/machinery/computer/atmos_control/ship/bolide + sensors = list( + "bolide_air" = "Airmix Chamber", + "bolide_fuel_1" = "Port Fuel Chamber", + "bolide_fuel_2" = "Starboard Fuel Chamber", + ) + +//this should go somewhere else +/obj/structure/closet/crate/rations + name = "ration crate" + desc = "A rectangular steel crate, filled with marine food." + var/ration_count = 10 + +/obj/structure/closet/crate/rations/PopulateContents() + . = ..() + for(var/i in 1 to ration_count) + new /obj/effect/spawner/random/food_or_drink/ration(src) + +/obj/item/storage/toolbox/explosives + name = "\improper explosives handling kit" + desc = "Be careful to not jostle it." + icon_state = "explosive" + item_state = "toolbox_red" + latches = "double_latch" + +/obj/item/storage/toolbox/explosives/PopulateContents() + new /obj/item/screwdriver(src) + new /obj/item/wirecutters(src) + new /obj/item/multitool(src) + for(var/i in 1 to 4) + new /obj/item/assembly/signaler(src) + +/obj/structure/toilet/secret/bolide + secret_type = /obj/item/storage/fancy/cigarettes/cigpack_mindbreaker + +/obj/item/folder/pgf/blue/bolide + +/obj/item/folder/pgf/blue/bolide/Initialize() + . = ..() + new /obj/item/paper/fluff/ship/bolide/one(src) + new /obj/item/paper/fluff/ship/bolide/two(src) + new /obj/item/paper/fluff/ship/bolide/three(src) + new /obj/item/paper/fluff/ship/bolide/four(src) + update_appearance() + +/obj/item/folder/pgf/empty_sheets + name = "PGF Fax Templates" + +/obj/item/folder/pgf/empty_sheets/Initialize() + . = ..() + for(var/i in 1 to 7) + new /obj/item/paper/fluff/ship/bolide(src) + +/mob/living/simple_animal/pet/fox/bolide + name = "Saperzy" + desc = "A lovable rogue that scampered aboard during a readiness drill. Now an honorary marine." + gender = MALE + unique_pet = TRUE + icon_state = "saperzy" + icon_living = "saperzy" + icon_dead = "fox_dead" + faction = list("neutral", FACTION_PLAYER_GEZENA) + speak = list("Ack-Ack","Ack-Ack-Ack-Ackawoooo","Geckers","Awoo","Tchoff","Aweh!") + speak_emote = list("geckers!", "barks!", "yips!") + emote_hear = list("yips!","barks!","geckers!") + emote_see = list("sits at attention.", "shakes his fur out.", "wags a few times.", "perks up.","sniffs the air.") + +/obj/item/paper/fluff/ship/bolide + name = "Blank Federated Navy Paperwork" + default_raw_text = {" + + + + +
    + + + + + + + +
    logo here (one day) + Pan Gezenan Federation Navy
    Bolide-Class Lander
    +
    XX - XX - 506
    +
    +
    +
    FOR IMMEDIATE DISTRIBUTION
    + SUBJECT: + "} + +/obj/item/paper/fluff/ship/bolide/one + name = "Official Briefing" + default_raw_text = {" + + + + +
    + + + + + + + +
    logo here (one day) + Pan Gezenan Federation Navy
    Office of Naval Deployment
    +
    XX - XX - 506
    +
    +
    +
    FOR IMMEDIATE DISTRIBUTION
    + SUBJECT: Briefing Crew of Vessel +
    +
    +

    1. The Office of Naval Deployment has seen fit to deploy you in command of an Elated Bolide class Frigate Assault Lander (Bolide-Class). Congratulations on your assignment. You are expected to coordinate with the Marine Lieutenant assigned to the vessel for the duration of this deployment.

    +

    2. A Bolide-class Lander's mission profile is traditionally; landing in occupied regions, planetary assault in contested systems, construction of Navy Infrastructure, assistance of CLIP colonists, and aiding in conducting Federation Readiness Drills.

    +

    3. The assignment issued to your vessel is as follows: Identify locations of interest, construct infrastructure, avoid non-decisive confrontations, conduct readiness drills if possible. Deviation from these goals is accepted and expected. Failure to meet any of them will result in an investigatory effort on your command.

    +

    4. The Office Of Naval Deployment directs that it is supplied with the following: Reports on construction projects, reports on conflict in area, reports on crew readiness. Failure to supply pertinent reports in a timely fashion will lead to termination of your command.

    +

    5. The Office Of Naval Deployment directs that you coordinate with the Marine Lieutenant to ensure a chain of command is followed aboard at all times. The Office recommends assigning 'buddies' to risk-prone marines, assigning 'Team Leaders' to watch over any group of more than 3, and ensuring radio contact at all times.

    +

    6. The Office recommends that all other documents in this folder are read, and distributed to the crew as necessary.

    +
    +
    +
    +

    +

    + Eutei-Tar
    + Eutei-Tar
    + Vice Admiral, PGF Navy
    + Assistant Director Of the Office Of Navy Deployment
    +

    + "} + +/obj/item/paper/fluff/ship/bolide/two + name = "Explosive Materials Handling" + default_raw_text = {" + + + + +
    + + + + + + + +
    logo here (one day) + Pan Gezenan Federation Navy
    Office Of Requisitions
    +
    XX - XX - 506
    +
    +
    +
    FOR IMMEDIATE DISTRIBUTION
    + SUBJECT: Safe storage of explosive materials +
    +
    +

    1. The Office of Requisition has seen fit to deploy your command with a complement of explosive compounds. These compounds include - Composition C-4, Composition X-4.

    +

    2. Composition C-4 is an dense explosive package composed of; RDX, Plastic binders, plasticizer. Composition C-4 is a stable, malleable explosive meant for demolition usage. It is resistant to detonation from gunshots and jostling. The C-4 charges you have been issued include a detonator in their assembly, and should not be tinkered with by untrained hands.

    +

    3. Ensure that any usage of Composition C-4 is monitored and controlled. Do not issue Composition c-4 to your vessel without a cause for such.

    +

    4. Composition X-4 is a high powered explosive package composed of an RDX filling mixed with a teslium based detonator, allowing for a far more focused explosion. Unless the casing has degraded, it is safe to handle in the same manner as Composition C-4.

    +

    5. Take care in assigning usage of Composition X-4 due to it's increased potency. While focused, an injury resulting from being caught in a blast would likely prove fatal.

    +

    6. The Office recommends assigning a trained expert to monitor field usage of explosives.

    +
    +
    +
    + "} + +/obj/item/paper/fluff/ship/bolide/three + name = "Marine Relationships" + default_raw_text = {" + + + + +
    + + + + + + + +
    logo here (one day) + Pan Gezenan Federation Navy
    Office Of Personnel
    +
    XX - XX - 506
    +
    +
    +
    FOR IMMEDIATE DISTRIBUTION
    + SUBJECT: Prevention of Inappropriate Relationships. +
    +
    +

    The Office of Personnel recommends that the captain of any PGFN vessel keep an active eye out for inappropriate relationships in the ranks.

    +

    Inappropriate relationships are a relationship that fulfills one of the following criteria; Compromises the integrity of supervisory authority, causes unfairness, involves improper use of rank or position for personal gain, gives the perception that it is exploitive or coercive in nature, can create an adverse effect on good order and discipline or mission accomplishment.

    +

    As an officer, behaviors to avoid including enlisted in are; business matters, gambling, dating, sharing living accomodations.

    +

    Actual or percieved, these activities are prohibited. If it looks wrong, it's probably wrong.

    +
    +
    +
    + "} + +/obj/item/paper/fluff/ship/bolide/four + name = "Chain Of Command" + default_raw_text = {" + + + + +
    + + + + + + + +
    logo here (one day) + Pan Gezenan Federation Navy
    Office Of Personnel
    +
    XX - XX - 506
    +
    +
    +
    FOR IMMEDIATE DISTRIBUTION
    + SUBJECT: Chain of Command aboard vessel. +
    +
    +

    The Office of Personnel recommends that the Captain of a PGFN vessel in deployment establish a chain of command that encompasses all crew aboard the vessel.

    +

    The ranks of all serving members aboard a vessel creates a natural chain of command for the Captain and any other officers to base any further Chain Of Command alterations upon. It should be stressed that a Captain should avoid issuing field promotions to fulfill an artifical chain of command.

    +

    A Captain should discuss any change in chain of command with any other officers aboard before putting it into action. This allows multiple opinions to be fed into the process, thus creating a stronger product.

    +

    Aboard a Bolide-Class Lander, the Office of Personnel recommends that the captain designate one 'team leader' per three marines aboard. These team leaders should report directly to the Marine Lieutenant, They should be reported to by the two marines in their team. It is not suggested to work the naval engineers into this program, as they are not expected to deploy in combat.

    +

    Marines should be made aware that being declared team leader carries no authority unless delegated. In the event of a conflicted chain of command, or contested order, the figure with rank should be obeyed.

    +

    This Office recommends monitoring marines for behavioral patterns before assigning a team leader. The ideal marine team leader is cool-headed, rational, and able to make tough choices.

    +
    +
    +
    + "} + diff --git a/code/game/MapData/shuttles/pgf_crying_sun.dm b/code/game/MapData/shuttles/pgf_crying_sun.dm index 6df40aa0efd..2851518e669 100644 --- a/code/game/MapData/shuttles/pgf_crying_sun.dm +++ b/code/game/MapData/shuttles/pgf_crying_sun.dm @@ -2,7 +2,7 @@ name = "The UCWLWM" desc = "It's looks old and worn out." icon_state = "book3" - author = "Welds-the-Steel" + author = "Senior Engineer Wihlz-Saai" title = "The Universal Colossal Warship Linear Weapon Mount" dat = {" diff --git a/code/game/MapData/shuttles/pgf_woeful_cthonian.dm b/code/game/MapData/shuttles/pgf_woeful_cthonian.dm new file mode 100644 index 00000000000..cffb8229e36 --- /dev/null +++ b/code/game/MapData/shuttles/pgf_woeful_cthonian.dm @@ -0,0 +1,69 @@ +/obj/item/storage/backpack/satchel/flat/cthonian/PopulateContents() + new /obj/item/reagent_containers/food/drinks/bottle/whiskey(src) + new /obj/item/reagent_containers/food/drinks/bottle/whiskey(src) + new /obj/item/reagent_containers/food/drinks/bottle/rum(src) + new /obj/item/reagent_containers/food/drinks/bottle/absinthe(src) + +/obj/item/paper/fluff/ship/cthonian + name = "Blank Federated Navy Paperwork" + default_raw_text = {" + + + + +
    + + + + + + + +
    logo here (one day) + Pan Gezenan Federation Navy
    Bolide-Class Lander
    +
    XX - XX - 506
    +
    +
    +
    FOR IMMEDIATE DISTRIBUTION
    + SUBJECT: + "} + +/obj/item/paper/fluff/ship/cthonian/one + name = "Official Briefing" + default_raw_text = {" + + + + +
    + + + + + + + +
    logo here (one day) + Pan Gezenan Federation Navy
    Office of Naval Deployment
    +
    XX - XX - 506
    +
    +
    +
    FOR IMMEDIATE DISTRIBUTION
    + SUBJECT: Briefing Crew of Vessel +
    +
    +

    1. The Office of Naval Deployment has seen fit to deploy you in command of an Woeful Cthonian class Patrol Cutter. Congratulations on your assignment. Due to the small size of this vessel, it is possible that it is your first command. If this is the case, the Office Of Naval Deployment recommends christening your vessel with the provided bottle of champagne.

    +

    2. A Cthonian-class Cutter's mission profile is traditionally; Patrol in contested and claimed space, assisting in CLIP anti-piracy operations, intercepting smugglers and other individual suspected of breaking the laws of the Federation, and providing information for larger vessels.

    +

    3. The assignment issued to your vessel is as follows: Assume a standard "contested space" patrol within the system you are operating in. Maintain stand-off relations with other states unless ordered by a higher authority. Engage and destroy pirates within the system whenever possible.

    +

    4. The Office Of Naval Deployment directs that it is supplied with the following: reports on pirate hideouts in system, reports on conflict in area, reports on nations in area. Failure to supply pertinent reports in a timely fashion will lead to investigation of your command.

    +
    +
    +
    +

    +

    + Eutei-Tar
    + Eutei-Tar
    + Vice Admiral, PGF Navy
    + Assistant Director Of the Office Of Navy Deployment
    +

    + "} diff --git a/code/game/MapData/shuttles/srm_elder.dm b/code/game/MapData/shuttles/srm_elder.dm index 97805731ec2..453767e4394 100644 --- a/code/game/MapData/shuttles/srm_elder.dm +++ b/code/game/MapData/shuttles/srm_elder.dm @@ -1,15 +1,12 @@ -/obj/item/melee/transforming/cleaving_saw/old +/obj/item/melee/cleaving_saw/old name = "old cleaving saw" desc = "This saw, old and rusted, is still an effective tool at bleeding beasts and monsters." force = 10 - force_on = 15 //force when active + active_force = 15 //force when active throwforce = 15 - throwforce_on = 15 - faction_bonus_force = 5 - nemesis_factions = list("mining", "boss") + active_throwforce = 15 bleed_stacks_per_hit = 1.5 - /obj/structure/closet/secure_closet/medicalsrm name = "hunter doctor closet" desc = "Everything the Hunter Doctor needs to heal the hurting masses." diff --git a/code/game/alternate_appearance.dm b/code/game/alternate_appearance.dm index 96f09636fec..873828d2c26 100644 --- a/code/game/alternate_appearance.dm +++ b/code/game/alternate_appearance.dm @@ -130,32 +130,6 @@ GLOBAL_LIST_EMPTY(active_alternate_appearances) /datum/atom_hud/alternate_appearance/basic/observers/mobShouldSee(mob/M) return isobserver(M) -/datum/atom_hud/alternate_appearance/basic/noncult - -/datum/atom_hud/alternate_appearance/basic/noncult/New() - ..() - for(var/mob in GLOB.player_list) - if(mobShouldSee(mob)) - add_hud_to(mob) - -/datum/atom_hud/alternate_appearance/basic/noncult/mobShouldSee(mob/M) - if(!iscultist(M)) - return TRUE - return FALSE - -/datum/atom_hud/alternate_appearance/basic/cult - -/datum/atom_hud/alternate_appearance/basic/cult/New() - ..() - for(var/mob in GLOB.player_list) - if(mobShouldSee(mob)) - add_hud_to(mob) - -/datum/atom_hud/alternate_appearance/basic/cult/mobShouldSee(mob/M) - if(iscultist(M)) - return TRUE - return FALSE - /datum/atom_hud/alternate_appearance/basic/blessedAware /datum/atom_hud/alternate_appearance/basic/blessedAware/New() @@ -167,8 +141,6 @@ GLOBAL_LIST_EMPTY(active_alternate_appearances) /datum/atom_hud/alternate_appearance/basic/blessedAware/mobShouldSee(mob/M) if(M.mind && (M.mind.assigned_role == "Chaplain")) return TRUE - if (istype(M, /mob/living/simple_animal/hostile/construct/wraith)) - return TRUE if(isrevenant(M) || iswizard(M)) return TRUE return FALSE diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm deleted file mode 100644 index 366f9127cd5..00000000000 --- a/code/game/area/Space_Station_13_areas.dm +++ /dev/null @@ -1,1350 +0,0 @@ -/* - -### This file contains a list of all the areas in your station. Format is as follows: - -/area/CATEGORY/OR/DESCRIPTOR/NAME (you can make as many subdivisions as you want) - name = "NICE NAME" (not required but makes things really nice) - icon = 'ICON FILENAME' (defaults to 'icons/turf/areas.dmi') - icon_state = "NAME OF ICON" (defaults to "unknown" (blank)) - requires_power = FALSE (defaults to true) - ambientsounds = list() (defaults to GENERIC from sound.dm. override it as "ambientsounds = list('sound/ambience/signal.ogg')" or using another define. - -NOTE: there are two lists of areas in the end of this file: centcom and station itself. Please maintain these lists valid. --rastaf0 - -*/ - - -/*-----------------------------------------------------------------------------*/ - -/* Shiptest Begin - -/area/ai_monitored //stub defined ai_monitored.dm - -/area/ai_monitored/turret_protected - -/area/space - icon_state = "space" - requires_power = TRUE - always_unpowered = TRUE - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - power_light = FALSE - power_equip = FALSE - power_environ = FALSE - area_flags = UNIQUE_AREA | CAVES_ALLOWED | MOB_SPAWN_ALLOWED - outdoors = TRUE - ambientsounds = SPACE - flags_1 = CAN_BE_DIRTY_1 - sound_environment = SOUND_AREA_SPACE - -/area/space/nearstation - icon_state = "space_near" - dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT - -/area/start - name = "start area" - icon_state = "start" - requires_power = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - has_gravity = STANDARD_GRAVITY - - -/area/testroom - requires_power = FALSE - name = "Test Room" - icon_state = "storage" - -//EXTRA - -/area/asteroid - name = "Asteroid" - icon_state = "asteroid" - requires_power = FALSE - has_gravity = STANDARD_GRAVITY - area_flags = UNIQUE_AREA | CAVES_ALLOWED | MOB_SPAWN_ALLOWED - ambientsounds = MINING - flags_1 = CAN_BE_DIRTY_1 - sound_environment = SOUND_AREA_ASTEROID - -/area/asteroid/nearstation - dynamic_lighting = DYNAMIC_LIGHTING_FORCED - ambientsounds = RUINS - always_unpowered = FALSE - requires_power = TRUE - area_flags = UNIQUE_AREA | BLOBS_ALLOWED - -/area/asteroid/nearstation/bomb_site - name = "Bomb Testing Asteroid" - -//STATION13 - -//Maintenance - -/area/maintenance - ambientsounds = MAINTENANCE - lighting_colour_tube = "#ffe5cb" - lighting_colour_bulb = "#ffdbb4" - area_flags = BLOBS_ALLOWED | UNIQUE_AREA - sound_environment = SOUND_AREA_TUNNEL_ENCLOSED - -//Departments - -/area/maintenance/department/chapel - name = "Chapel Maintenance" - icon_state = "maint_chapel" - -/area/maintenance/department/chapel/monastery - name = "Monastery Maintenance" - icon_state = "maint_monastery" - -/area/maintenance/department/crew_quarters/bar - name = "Bar Maintenance" - icon_state = "maint_bar" - sound_environment = SOUND_AREA_WOODFLOOR - -/area/maintenance/department/crew_quarters/dorms - name = "Dormitory Maintenance" - icon_state = "maint_dorms" - -/area/maintenance/department/eva - name = "EVA Maintenance" - icon_state = "maint_eva" - -/area/maintenance/department/electrical - name = "Electrical Maintenance" - icon_state = "maint_electrical" - -/area/maintenance/department/engine/atmos - name = "Atmospherics Maintenance" - icon_state = "maint_atmos" - -/area/maintenance/department/security - name = "Security Maintenance" - icon_state = "maint_sec" - -/area/maintenance/department/security/upper - name = "Upper Security Maintenance" - -/area/maintenance/department/security/brig - name = "Brig Maintenance" - icon_state = "maint_brig" - -/area/maintenance/department/medical - name = "Medbay Maintenance" - icon_state = "medbay_maint" - -/area/maintenance/department/medical/central - name = "Central Medbay Maintenance" - icon_state = "medbay_maint_central" - -/area/maintenance/department/medical/morgue - name = "Morgue Maintenance" - icon_state = "morgue_maint" - -/area/maintenance/department/science - name = "Science Maintenance" - icon_state = "maint_sci" - -/area/maintenance/department/science/central - name = "Central Science Maintenance" - icon_state = "maint_sci_central" - -/area/maintenance/department/cargo - name = "Cargo Maintenance" - icon_state = "maint_cargo" - -/area/maintenance/department/bridge - name = "Bridge Maintenance" - icon_state = "maint_bridge" - -/area/maintenance/department/engine - name = "Engineering Maintenance" - icon_state = "maint_engi" - -/area/maintenance/department/science/xenobiology - name = "Xenobiology Maintenance" - icon_state = "xenomaint" - area_flags = VALID_TERRITORY | BLOBS_ALLOWED | UNIQUE_AREA | XENOBIOLOGY_COMPATIBLE - - -//Maintenance - Generic - -/area/maintenance/aft - name = "Aft Maintenance" - icon_state = "amaint" - -/area/maintenance/aft/upper - name = "Upper Aft Maintenance" - -/area/maintenance/aft/secondary - name = "Aft Maintenance" - icon_state = "amaint_2" - -/area/maintenance/central - name = "Central Maintenance" - icon_state = "maintcentral" - -/area/maintenance/central/secondary - name = "Central Maintenance" - icon_state = "maintcentral" - -/area/maintenance/fore - name = "Fore Maintenance" - icon_state = "fmaint" - -/area/maintenance/fore/upper - name = "Upper Fore Maintenance" - -/area/maintenance/fore/secondary - name = "Fore Maintenance" - icon_state = "fmaint_2" - -/area/maintenance/starboard - name = "Starboard Maintenance" - icon_state = "smaint" - -/area/maintenance/starboard/upper - name = "Upper Starboard Maintenance" - -/area/maintenance/starboard/central - name = "Central Starboard Maintenance" - icon_state = "smaint" - -/area/maintenance/starboard/secondary - name = "Secondary Starboard Maintenance" - icon_state = "smaint_2" - -/area/maintenance/starboard/aft - name = "Starboard Quarter Maintenance" - icon_state = "asmaint" - -/area/maintenance/starboard/aft/secondary - name = "Secondary Starboard Quarter Maintenance" - icon_state = "asmaint_2" - -/area/maintenance/starboard/fore - name = "Starboard Bow Maintenance" - icon_state = "fsmaint" - -/area/maintenance/port - name = "Port Maintenance" - icon_state = "pmaint" - -/area/maintenance/port/central - name = "Central Port Maintenance" - icon_state = "maintcentral" - -/area/maintenance/port/aft - name = "Port Quarter Maintenance" - icon_state = "apmaint" - -/area/maintenance/port/fore - name = "Port Bow Maintenance" - icon_state = "fpmaint" - -/area/maintenance/disposal - name = "Waste Disposal" - icon_state = "disposal" - -/area/maintenance/disposal/incinerator - name = "Incinerator" - icon_state = "disposal" - - -//Hallway -/area/hallway - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/hallway - lighting_colour_tube = "#ffce99" - lighting_colour_bulb = "#ffdbb4" - lighting_brightness_tube = 7 - - -/area/hallway/primary/aft - name = "Aft Primary Hallway" - icon_state = "hallA" - -/area/hallway/primary/fore - name = "Fore Primary Hallway" - icon_state = "hallF" - -/area/hallway/primary/starboard - name = "Starboard Primary Hallway" - icon_state = "hallS" - -/area/hallway/primary/port - name = "Port Primary Hallway" - icon_state = "hallP" - -/area/hallway/primary/central - name = "Central Primary Hallway" - icon_state = "hallC" - -/area/hallway/primary/upper - name = "Upper Central Primary Hallway" - icon_state = "hallC" - - -/area/hallway/secondary/command - name = "Command Hallway" - icon_state = "bridge_hallway" - -/area/hallway/secondary/construction - name = "Construction Area" - icon_state = "construction" - -/area/hallway/secondary/exit - name = "Escape Shuttle Hallway" - icon_state = "escape" - -/area/hallway/secondary/exit/departure_lounge - name = "Departure Lounge" - icon_state = "escape_lounge" - -/area/hallway/secondary/entry - name = "Arrival Shuttle Hallway" - icon_state = "entry" - -/area/hallway/secondary/service - name = "Service Hallway" - icon_state = "hall_service" - -//Command - -/area/bridge - name = "Bridge" - icon_state = "bridge" - ambientsounds = list('sound/ambience/signal.ogg') - lighting_colour_tube = "#ffce99" - lighting_colour_bulb = "#ffdbb4" - lighting_brightness_tube = 6 - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/bridge/meeting_room - name = "Heads of Staff Meeting Room" - icon_state = "meeting" - sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR - -/area/bridge/meeting_room/council - name = "Council Chamber" - icon_state = "meeting" - sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR - -/area/bridge/showroom/corporate - name = "Corporate Showroom" - icon_state = "showroom" - sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR - -/area/crew_quarters/heads/captain - name = "Captain's Office" - icon_state = "captain" - sound_environment = SOUND_AREA_WOODFLOOR - -/area/crew_quarters/heads/captain/private - name = "Captain's Quarters" - icon_state = "captain" - sound_environment = SOUND_AREA_WOODFLOOR - -/area/crew_quarters/heads/chief - name = "Chief Engineer's Office" - icon_state = "ce_office" - -/area/crew_quarters/heads/cmo - name = "Chief Medical Officer's Office" - icon_state = "cmo_office" - -/area/crew_quarters/heads/head_of_personnel - name = "Head of Personnel's Office" - icon_state = "hop_office" - -/area/crew_quarters/heads/hos - name = "Head of Security's Office" - icon_state = "hos_office" - -/area/crew_quarters/heads/hor - name = "Research Director's Office" - icon_state = "rd_office" - -/area/comms - name = "Communications Relay" - icon_state = "tcomsatcham" - lighting_colour_tube = "#e2feff" - lighting_colour_bulb = "#d5fcff" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/server - name = "Messaging Server Room" - icon_state = "server" - sound_environment = SOUND_AREA_STANDARD_STATION - -//Crew - -/area/crew_quarters - lighting_colour_tube = "#ffce99" - lighting_colour_bulb = "#ffdbb4" - lighting_brightness_tube = 6 - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/crew_quarters/dorms - name = "Dormitories" - icon_state = "Sleep" - area_flags = VALID_TERRITORY | BLOBS_ALLOWED | UNIQUE_AREA - -/area/crew_quarters/dorms/barracks - name = "Sleep Barracks" - -/area/crew_quarters/dorms/barracks/male - name = "Male Sleep Barracks" - -/area/crew_quarters/dorms/barracks/female - name = "Female Sleep Barracks" - -/area/crew_quarters/toilet - name = "Dormitory Toilets" - icon_state = "toilet" - lighting_colour_tube = "#e3ffff" - lighting_colour_bulb = "#d5ffff" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/crew_quarters/toilet/auxiliary - name = "Auxiliary Restrooms" - icon_state = "toilet" - -/area/crew_quarters/toilet/locker - name = "Locker Toilets" - icon_state = "toilet" - -/area/crew_quarters/toilet/restrooms - name = "Restrooms" - icon_state = "toilet" - -/area/crew_quarters/locker - name = "Locker Room" - icon_state = "locker" - -/area/crew_quarters/lounge - name = "Lounge" - icon_state = "yellow" - sound_environment = SOUND_AREA_SMALL_SOFTFLOOR - -/area/crew_quarters/fitness - name = "Fitness Room" - icon_state = "fitness" - -/area/crew_quarters/fitness/locker_room - name = "Unisex Locker Room" - icon_state = "fitness" - -/area/crew_quarters/fitness/locker_room/male - name = "Male Locker Room" - -/area/crew_quarters/fitness/locker_room/female - name = "Female Locker Room" - - -/area/crew_quarters/fitness/recreation - name = "Recreation Area" - icon_state = "fitness" - -/area/crew_quarters/cafeteria - name = "Cafeteria" - icon_state = "cafeteria" - -/area/crew_quarters/kitchen - name = "Kitchen" - icon_state = "kitchen" - lighting_colour_tube = "#e3ffff" - lighting_colour_bulb = "#d5ffff" - -/area/crew_quarters/kitchen/coldroom - name = "Kitchen Cold Room" - icon_state = "kitchen_cold" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/crew_quarters/bar - name = "Bar" - icon_state = "bar" - mood_bonus = 5 - mood_message = "I love being in the bar!\n" - lighting_colour_tube = "#fff4d6" - lighting_colour_bulb = "#ffebc1" - sound_environment = SOUND_AREA_WOODFLOOR - -/area/crew_quarters/bar/atrium - name = "Atrium" - icon_state = "bar" - sound_environment = SOUND_AREA_WOODFLOOR - -/area/crew_quarters/electronic_marketing_den - name = "Electronic Marketing Den" - icon_state = "bar" - -/area/crew_quarters/abandoned_gambling_den - name = "Abandoned Gambling Den" - icon_state = "abandoned_g_den" - -/area/crew_quarters/abandoned_gambling_den/secondary - icon_state = "abandoned_g_den_2" - -/area/crew_quarters/theatre - name = "Theatre" - icon_state = "Theatre" - sound_environment = SOUND_AREA_WOODFLOOR - -/area/crew_quarters/theatre/abandoned - name = "Abandoned Theatre" - icon_state = "Theatre" - -/area/library - name = "Library" - icon_state = "library" - flags_1 = CULT_PERMITTED_1 - lighting_colour_tube = "#ffce99" - lighting_colour_bulb = "#ffdbb4" - sound_environment = SOUND_AREA_LARGE_SOFTFLOOR - -/area/library/lounge - name = "Library Lounge" - icon_state = "library" - sound_environment = SOUND_AREA_LARGE_SOFTFLOOR - -/area/library/artgallery - name = " Art Gallery" - icon_state = "library" - -/area/library/private - name = "Library Private Study" - icon_state = "library" - -/area/library/upper - name = "Library Upper Floor" - icon_state = "library" - -/area/library/printer - name = "Library Printer Room" - icon_state = "library" - -/area/library/abandoned - name = "Abandoned Library" - icon_state = "library" - flags_1 = CULT_PERMITTED_1 - -/area/chapel - icon_state = "chapel" - ambientsounds = HOLY - flags_1 = NONE - sound_environment = SOUND_AREA_LARGE_ENCLOSED - -/area/chapel/main - name = "Chapel" - -/area/chapel/main/monastery - name = "Monastery" - -/area/chapel/office - name = "Chapel Office" - icon_state = "chapeloffice" - -/area/chapel/asteroid - name = "Chapel Asteroid" - icon_state = "explored" - sound_environment = SOUND_AREA_ASTEROID - -/area/chapel/asteroid/monastery - name = "Monastery Asteroid" - -/area/chapel/dock - name = "Chapel Dock" - icon_state = "construction" - -/area/lawoffice - name = "Law Office" - icon_state = "law" - sound_environment = SOUND_AREA_SMALL_SOFTFLOOR - - -//Engineering - -/area/engine - ambientsounds = ENGINEERING - lighting_colour_tube = "#ffce93" - lighting_colour_bulb = "#ffbc6f" - sound_environment = SOUND_AREA_LARGE_ENCLOSED - -/area/engine/engine_smes - name = "Engineering SMES" - icon_state = "engine_smes" - -/area/engine/engineering - name = "Engineering" - icon_state = "engine" - -/area/engine/atmos - name = "Atmospherics" - icon_state = "atmos" - flags_1 = CULT_PERMITTED_1 - -/area/engine/atmos/upper - name = "Upper Atmospherics" - -/area/engine/atmospherics_engine - name = "Atmospherics Engine" - icon_state = "atmos_engine" - area_flags = BLOBS_ALLOWED | UNIQUE_AREA - sound_environment = SOUND_AREA_LARGE_ENCLOSED - -/area/engine/engine_room //donut station specific - name = "Engine Room" - icon_state = "atmos_engine" - -/area/engine/lobby - name = "Engineering Lobby" - icon_state = "engi_lobby" - -/area/engine/engine_room/external - name = "Supermatter External Access" - icon_state = "engine_foyer" - -/area/engine/supermatter - name = "Supermatter Engine" - icon_state = "engine_sm" - area_flags = BLOBS_ALLOWED | UNIQUE_AREA - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/engine/break_room - name = "Engineering Foyer" - icon_state = "engine_foyer" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/engine/gravity_generator - name = "Gravity Generator Room" - icon_state = "grav_gen" - -/area/engine/storage - name = "Engineering Storage" - icon_state = "engi_storage" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/engine/storage_shared - name = "Shared Engineering Storage" - icon_state = "engi_storage" - -/area/engine/transit_tube - name = "Transit Tube" - icon_state = "transit_tube" - - -//Solars - -/area/solar - requires_power = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT - area_flags = UNIQUE_AREA - flags_1 = NONE - ambientsounds = ENGINEERING - sound_environment = SOUND_AREA_SPACE - -/area/solar/fore - name = "Fore Solar Array" - icon_state = "yellow" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/solar/aft - name = "Aft Solar Array" - icon_state = "yellow" - -/area/solar/aux/port - name = "Port Bow Auxiliary Solar Array" - icon_state = "panelsA" - -/area/solar/aux/starboard - name = "Starboard Bow Auxiliary Solar Array" - icon_state = "panelsA" - -/area/solar/starboard - name = "Starboard Solar Array" - icon_state = "panelsS" - -/area/solar/starboard/aft - name = "Starboard Quarter Solar Array" - icon_state = "panelsAS" - -/area/solar/starboard/fore - name = "Starboard Bow Solar Array" - icon_state = "panelsFS" - -/area/solar/port - name = "Port Solar Array" - icon_state = "panelsP" - -/area/solar/port/aft - name = "Port Quarter Solar Array" - icon_state = "panelsAP" - -/area/solar/port/fore - name = "Port Bow Solar Array" - icon_state = "panelsFP" - -/area/solar/aisat - name = "AI Satellite Solars" - icon_state = "yellow" - - -//Solar Maint - -/area/maintenance/solars - name = "Solar Maintenance" - icon_state = "yellow" - -/area/maintenance/solars/port - name = "Port Solar Maintenance" - icon_state = "SolarcontrolP" - -/area/maintenance/solars/port/aft - name = "Port Quarter Solar Maintenance" - icon_state = "SolarcontrolAP" - -/area/maintenance/solars/port/fore - name = "Port Bow Solar Maintenance" - icon_state = "SolarcontrolFP" - -/area/maintenance/solars/starboard - name = "Starboard Solar Maintenance" - icon_state = "SolarcontrolS" - -/area/maintenance/solars/starboard/aft - name = "Starboard Quarter Solar Maintenance" - icon_state = "SolarcontrolAS" - -/area/maintenance/solars/starboard/fore - name = "Starboard Bow Solar Maintenance" - icon_state = "SolarcontrolFS" - -//Teleporter - -/area/teleporter - name = "Teleporter Room" - icon_state = "teleporter" - ambientsounds = ENGINEERING - -/area/gateway - name = "Gateway" - icon_state = "gateway" - ambientsounds = ENGINEERING - sound_environment = SOUND_AREA_STANDARD_STATION - -//MedBay - -/area/medical - name = "Medical" - icon_state = "medbay3" - ambientsounds = MEDICAL - lighting_colour_tube = "#e7f8ff" - lighting_colour_bulb = "#d5f2ff" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/medical/abandoned - name = "Abandoned Medbay" - icon_state = "medbay3" - ambientsounds = list('sound/ambience/signal.ogg') - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/medical/medbay/central - name = "Medbay Central" - icon_state = "medbay" - -/area/medical/medbay/lobby - name = "Medbay Lobby" - icon_state = "medbay" - - //Medbay is a large area, these additional areas help level out APC load. - -/area/medical/medbay/zone2 - name = "Medbay" - icon_state = "medbay2" - -/area/medical/medbay/aft - name = "Medbay Aft" - icon_state = "medbay3" - -/area/medical/storage - name = "Medbay Storage" - icon_state = "medbay2" - -/area/medical/paramedic - name = "Paramedic Dispatch" - icon_state = "medbay2" - -/area/medical/office - name = "Medical Office" - icon_state = "medoffice" - -/area/medical/surgery/room_c - name = "Surgery C" - icon_state = "surgery" - -/area/medical/surgery/room_d - name = "Surgery D" - icon_state = "surgery" - -/area/medical/break_room - name = "Medical Break Room" - icon_state = "medbay2" - -/area/medical/coldroom - name = "Medical Cold Room" - icon_state = "kitchen_cold" - -/area/medical/patients_rooms - name = "Patients' Rooms" - icon_state = "patients" - sound_environment = SOUND_AREA_SMALL_SOFTFLOOR - -/area/medical/patients_rooms/room_a - name = "Patient Room A" - icon_state = "patients" - -/area/medical/patients_rooms/room_b - name = "Patient Room B" - icon_state = "patients" - -/area/medical/virology - name = "Virology" - icon_state = "virology" - flags_1 = CULT_PERMITTED_1 - -/area/medical/morgue - name = "Morgue" - icon_state = "morgue" - ambientsounds = SPOOKY - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/medical/chemistry - name = "Chemistry" - icon_state = "chem" - -/area/medical/pharmacy - name = "Pharmacy" - icon_state = "pharmacy" - -/area/medical/surgery - name = "Surgery" - icon_state = "surgery" - -/area/medical/surgery/room_b - name = "Surgery B" - icon_state = "surgery" - -/area/medical/cryo - name = "Cryogenics" - icon_state = "cryo" - -/area/medical/exam_room - name = "Exam Room" - icon_state = "exam_room" - -/area/medical/genetics - name = "Genetics Lab" - icon_state = "genetics" - -/area/medical/sleeper - name = "Medbay Treatment Center" - icon_state = "exam_room" - -/area/medical/psychology - name = "Psychology Office" - icon_state = "psychology" - mood_bonus = 3 - mood_message = "I feel at ease here.\n" - ambientsounds = list('sound/ambience/aurora_caelus_short.ogg') - -//Security - -/area/security - name = "Security" - icon_state = "security" - ambientsounds = HIGHSEC - lighting_colour_tube = "#ffeee2" - lighting_colour_bulb = "#ffdfca" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/security/main - name = "Security Office" - icon_state = "security" - -/area/security/brig - name = "Brig" - icon_state = "brig" - -/area/security/brig/upper - name = "Brig Overlook" - -/area/security/courtroom - name = "Courtroom" - icon_state = "courtroom" - sound_environment = SOUND_AREA_LARGE_ENCLOSED - -/area/security/prison - name = "Prison Wing" - icon_state = "sec_prison" - -/area/security/prison/toilet //radproof - name = "Prison Toilet" - icon_state = "sec_prison_safe" - -/area/security/prison/safe //radproof - name = "Prison Wing Cells" - icon_state = "sec_prison_safe" - -/area/security/prison/upper - name = "Upper Prison Wing" - icon_state = "prison_upper" - -/area/security/prison/visit - name = "Prison Visitation Area" - icon_state = "prison_visit" - -/area/security/prison/rec - name = "Prison Rec Room" - icon_state = "prison_rec" - -/area/security/prison/mess - name = "Prison Mess Hall" - icon_state = "prison_mess" - -/area/security/prison/work - name = "Prison Work Room" - icon_state = "prison_work" - -/area/security/prison/shower - name = "Prison Shower" - icon_state = "prison_shower" - -/area/security/prison/workout - name = "Prison Gym" - icon_state = "prison_workout" - -/area/security/prison/garden - name = "Prison Garden" - icon_state = "prison_garden" - -/area/security/processing - name = "Labor Shuttle Dock" - icon_state = "sec_prison" - -/area/security/processing/cremation - name = "Security Crematorium" - icon_state = "sec_prison" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/security/warden - name = "Brig Control" - icon_state = "Warden" - sound_environment = SOUND_AREA_SMALL_SOFTFLOOR - -/area/security/detectives_office - name = "Detective's Office" - icon_state = "detective" - ambientsounds = list('sound/ambience/ambidet1.ogg','sound/ambience/ambidet2.ogg') - -/area/security/detectives_office/private_investigators_office - name = "Private Investigator's Office" - icon_state = "detective" - sound_environment = SOUND_AREA_SMALL_SOFTFLOOR - -/area/security/range - name = "Firing Range" - icon_state = "firingrange" - -/area/security/execution - icon_state = "execution_room" - -/area/security/execution/transfer - name = "Transfer Centre" - -/area/security/execution/education - name = "Prisoner Education Chamber" - -/area/security/nuke_storage - name = "Vault" - icon_state = "nuke_storage" - -/area/ai_monitored/nuke_storage - name = "Vault" - icon_state = "nuke_storage" - -/area/security/checkpoint - name = "Security Checkpoint" - icon_state = "checkpoint1" - -/area/security/checkpoint/auxiliary - icon_state = "checkpoint_aux" - -/area/security/checkpoint/escape - icon_state = "checkpoint_esc" - -/area/security/checkpoint/supply - name = "Security Post - Cargo Bay" - icon_state = "checkpoint_supp" - -/area/security/checkpoint/engineering - name = "Security Post - Engineering" - icon_state = "checkpoint_engi" - -/area/security/checkpoint/medical - name = "Security Post - Medbay" - icon_state = "checkpoint_med" - -/area/security/checkpoint/science - name = "Security Post - Science" - icon_state = "checkpoint_sci" - -/area/security/checkpoint/science/research - name = "Security Post - Research Division" - icon_state = "checkpoint_res" - -/area/security/checkpoint/customs - name = "Customs" - icon_state = "customs_point" - -/area/security/checkpoint/customs/auxiliary - icon_state = "customs_point_aux" - - -//Service - -/area/quartermaster - name = "Quartermasters" - icon_state = "quart" - lighting_colour_tube = "#ffe3cc" - lighting_colour_bulb = "#ffdbb8" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/quartermaster/sorting - name = "Delivery Office" - icon_state = "cargo_delivery" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/quartermaster/warehouse - name = "Warehouse" - icon_state = "cargo_warehouse" - sound_environment = SOUND_AREA_LARGE_ENCLOSED - -/area/quartermaster/warehouse/upper - name = "Upper Warehouse" - -/area/quartermaster/office - name = "Cargo Office" - icon_state = "quartoffice" - -/area/quartermaster/storage - name = "Cargo Bay" - icon_state = "cargo_bay" - sound_environment = SOUND_AREA_LARGE_ENCLOSED - -/area/quartermaster/qm - name = "Quartermaster's Office" - icon_state = "quart" - -/area/quartermaster/qm/perch - name = "Quartermaster's Perch" - icon_state = "quartperch" - -/area/quartermaster/miningdock - name = "Mining Dock" - icon_state = "mining" - -/area/quartermaster/miningoffice - name = "Mining Office" - icon_state = "mining" - -/area/janitor - name = "Custodial Closet" - icon_state = "janitor" - flags_1 = CULT_PERMITTED_1 - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/hydroponics - name = "Hydroponics" - icon_state = "hydro" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/hydroponics/upper - name = "Upper Hydroponics" - icon_state = "hydro" - -/area/hydroponics/garden - name = "Garden" - icon_state = "garden" - -/area/hydroponics/garden/abandoned - name = "Abandoned Garden" - icon_state = "abandoned_garden" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/hydroponics/garden/monastery - name = "Monastery Garden" - icon_state = "hydro" - - -//Science - -/area/science - name = "Science Division" - icon_state = "toxlab" - lighting_colour_tube = "#f0fbff" - lighting_colour_bulb = "#e4f7ff" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/science/lab - name = "Research and Development" - icon_state = "toxlab" - -/area/science/xenobiology - name = "Xenobiology Lab" - icon_state = "toxlab" - -/area/science/storage - name = "Toxins Storage" - icon_state = "toxstorage" - -/area/science/test_area - name = "Toxins Test Area" - icon_state = "toxtest" - area_flags = BLOBS_ALLOWED | UNIQUE_AREA - -/area/science/mixing - name = "Toxins Mixing Lab" - icon_state = "toxmix" - -/area/science/mixing/chamber - name = "Toxins Mixing Chamber" - icon_state = "toxmix" - area_flags = BLOBS_ALLOWED | UNIQUE_AREA - -/area/science/misc_lab - name = "Testing Lab" - icon_state = "toxmisc" - -/area/science/misc_lab/range - name = "Research Testing Range" - icon_state = "toxmisc" - -/area/science/server - name = "Research Division Server Room" - icon_state = "server" - -/area/science/explab - name = "Experimentation Lab" - icon_state = "toxmisc" - -/area/science/robotics - name = "Robotics" - icon_state = "medresearch" - -/area/science/robotics/mechbay - name = "Mech Bay" - icon_state = "mechbay" - -/area/science/robotics/lab - name = "Robotics Lab" - icon_state = "ass_line" - -/area/science/research - name = "Research Division" - icon_state = "medresearch" - -/area/science/research/abandoned - name = "Abandoned Research Lab" - icon_state = "medresearch" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/science/nanite - name = "Nanite Lab" - icon_state = "toxmisc" - -//Storage -/area/storage - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/storage/tools - name = "Auxiliary Tool Storage" - icon_state = "storage" - -/area/storage/primary - name = "Primary Tool Storage" - icon_state = "primarystorage" - -/area/storage/art - name = "Art Supply Storage" - icon_state = "storage" - -/area/storage/tcom - name = "Telecomms Storage" - icon_state = "green" - area_flags = BLOBS_ALLOWED | UNIQUE_AREA - -/area/storage/eva - name = "EVA Storage" - icon_state = "eva" - -/area/storage/emergency/starboard - name = "Starboard Emergency Storage" - icon_state = "emergencystorage" - -/area/storage/emergency/port - name = "Port Emergency Storage" - icon_state = "emergencystorage" - -/area/storage/tech - name = "Technical Storage" - icon_state = "auxstorage" - -//Construction - -/area/construction - name = "Construction Area" - icon_state = "yellow" - ambientsounds = ENGINEERING - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/construction/mining/aux_base - name = "Auxiliary Base Construction" - icon_state = "aux_base_construction" - sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR - -/area/construction/storage_wing - name = "Storage Wing" - icon_state = "storage_wing" - -// Vacant Rooms -/area/vacant_room - name = "Vacant Room" - icon_state = "vacant_room" - ambientsounds = MAINTENANCE - -/area/vacant_room/office - name = "Vacant Office" - icon_state = "vacant_office" - -/area/vacant_room/commissary - name = "Vacant Commissary" - icon_state = "vacant_commissary" - -//AI - -/area/ai_monitored - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/ai_monitored/security/armory - name = "Armory" - icon_state = "armory" - ambientsounds = HIGHSEC - -/area/ai_monitored/security/armory/upper - name = "Upper Armory" - -/area/ai_monitored/storage/eva - name = "EVA Storage" - icon_state = "eva" - ambientsounds = HIGHSEC - -/area/ai_monitored/storage/eva/upper - name = "Upper EVA Storage" - -/area/ai_monitored/storage/satellite - name = "AI Satellite Maint" - icon_state = "storage" - ambientsounds = HIGHSEC - - //Turret_protected - -/area/ai_monitored/turret_protected - ambientsounds = list('sound/ambience/ambimalf.ogg', 'sound/ambience/ambitech.ogg', 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambiatmos.ogg', 'sound/ambience/ambiatmos2.ogg') - -/area/ai_monitored/turret_protected/ai_upload - name = "AI Upload Chamber" - icon_state = "ai_upload" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/ai_monitored/turret_protected/ai_upload_foyer - name = "AI Upload Access" - icon_state = "ai_foyer" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/ai_monitored/turret_protected/ai - name = "AI Chamber" - icon_state = "ai_chamber" - -/area/ai_monitored/turret_protected/aisat - name = "AI Satellite" - icon_state = "ai" - sound_environment = SOUND_ENVIRONMENT_ROOM - -/area/ai_monitored/turret_protected/aisat/atmos - name = "AI Satellite Atmos" - icon_state = "ai" - -/area/ai_monitored/turret_protected/aisat/foyer - name = "AI Satellite Foyer" - icon_state = "ai" - -/area/ai_monitored/turret_protected/aisat/service - name = "AI Satellite Service" - icon_state = "ai" - -/area/ai_monitored/turret_protected/aisat/hallway - name = "AI Satellite Hallway" - icon_state = "ai" - -/area/aisat - name = "AI Satellite Exterior" - icon_state = "yellow" - -/area/ai_monitored/turret_protected/aisat_interior - name = "AI Satellite Antechamber" - icon_state = "ai" - sound_environment = SOUND_AREA_LARGE_ENCLOSED - -/area/ai_monitored/turret_protected/AIsatextAS - name = "AI Sat Ext" - icon_state = "storage" - -/area/ai_monitored/turret_protected/AIsatextAP - name = "AI Sat Ext" - icon_state = "storage" - - -// Telecommunications Satellite - -/area/tcommsat - ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen10.ogg', 'sound/ambience/ambitech.ogg',\ - 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambitech3.ogg', 'sound/ambience/ambimystery.ogg') - -/area/tcommsat/computer - name = "Telecomms Control Room" - icon_state = "tcomsatcomp" - sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR - -/area/tcommsat/server - name = "Telecomms Server Room" - icon_state = "tcomsatcham" - -/area/tcommsat/server/upper - name = "Upper Telecomms Server Room" - -//External Hull Access -/area/maintenance/external - name = "External Hull Access" - icon_state = "amaint" - -/area/maintenance/external/aft - name = "Aft External Hull Access" - -/area/maintenance/external/port - name = "Port External Hull Access" - -/area/maintenance/external/port/bow - name = "Port Bow External Hull Access" - -Shiptest End */ diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index e8bdb66c189..b5949ac16f9 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -13,7 +13,7 @@ mouse_opacity = MOUSE_OPACITY_TRANSPARENT invisibility = INVISIBILITY_LIGHTING - var/area_flags = VALID_TERRITORY | BLOBS_ALLOWED | UNIQUE_AREA + var/area_flags = VALID_TERRITORY | UNIQUE_AREA var/fire = null ///Whether there is an atmos alarm in this area @@ -66,9 +66,6 @@ ///Boolean to limit the areas (subtypes included) that atoms in this area can smooth with. Used for shuttles. var/area_limited_icon_smoothing = FALSE - ///WS Addition - Color on minimaps, if it's null (which is default) it makes one at random. - var/minimap_color - var/list/power_usage var/lighting_colour_tube = "#FFF6ED" @@ -110,7 +107,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) /proc/process_teleport_locs() for(var/V in GLOB.sortedAreas) var/area/AR = V - if(istype(AR, /area/shuttle) || AR.area_flags & NOTELEPORT) + if(AR.area_flags & NOTELEPORT) continue if(GLOB.teleportlocs[AR.name]) continue @@ -128,14 +125,6 @@ GLOBAL_LIST_EMPTY(teleportlocs) * Adds the item to the GLOB.areas_by_type list based on area type */ /area/New() - if(!minimap_color) // goes in New() because otherwise it doesn't fucking work - // generate one using the icon_state - if(icon_state && icon_state != "unknown") - var/icon/I = new(icon, icon_state, dir) - I.Scale(1,1) - minimap_color = I.GetPixel(1,1) - else // no icon state? use random. - minimap_color = rgb(rand(50,70),rand(50,70),rand(50,70)) // This interacts with the map loader, so it needs to be set immediately // rather than waiting for atoms to initialize. if (area_flags & UNIQUE_AREA) @@ -633,7 +622,6 @@ GLOBAL_LIST_EMPTY(teleportlocs) power_environ = FALSE always_unpowered = FALSE area_flags &= ~VALID_TERRITORY - area_flags &= ~BLOBS_ALLOWED addSorted() /** * Set the area size of the area diff --git a/code/game/area/areas/away_content.dm b/code/game/area/areas/away_content.dm index 53ccc590c72..5f0db1fc93b 100644 --- a/code/game/area/areas/away_content.dm +++ b/code/game/area/areas/away_content.dm @@ -1,33 +1,5 @@ -/* -Unused icons for new areas are "awaycontent1" ~ "awaycontent30" -*/ - - -// Away Missions -/area/awaymission - name = "Strange Location" - icon_state = "away" - has_gravity = STANDARD_GRAVITY - ambientsounds = AWAY_MISSION - sound_environment = SOUND_ENVIRONMENT_ROOM - -/area/awaymission/beach - name = "Beach" - icon_state = "away" - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - requires_power = FALSE - has_gravity = STANDARD_GRAVITY - ambientsounds = list('sound/ambience/shore.ogg', 'sound/ambience/seag1.ogg','sound/ambience/seag2.ogg','sound/ambience/seag2.ogg','sound/ambience/ambiodd.ogg','sound/ambience/ambinice.ogg') - -/area/awaymission/errorroom +/area/errorroom name = "Super Secret Room" dynamic_lighting = DYNAMIC_LIGHTING_DISABLED has_gravity = STANDARD_GRAVITY -/area/awaymission/vr - name = "Virtual Reality" - icon_state = "awaycontent1" - requires_power = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - var/pacifist = TRUE // if when you enter this zone, you become a pacifist or not - var/death = FALSE // if when you enter this zone, you die diff --git a/code/game/area/areas/outpost.dm b/code/game/area/areas/outpost.dm index f50b7655a11..d7dd9068823 100644 --- a/code/game/area/areas/outpost.dm +++ b/code/game/area/areas/outpost.dm @@ -3,7 +3,7 @@ /area/outpost dynamic_lighting = DYNAMIC_LIGHTING_FORCED has_gravity = STANDARD_GRAVITY - area_flags = VALID_TERRITORY | BLOBS_ALLOWED | NOTELEPORT // not unique, in case multiple outposts get loaded. all derivatives should also be NOTELEPORT + area_flags = VALID_TERRITORY | NOTELEPORT // not unique, in case multiple outposts get loaded. all derivatives should also be NOTELEPORT flags_1 = CAN_BE_DIRTY_1 sound_environment = SOUND_AREA_STANDARD_STATION lighting_colour_tube = "#ffce99" diff --git a/code/game/area/areas/ruins/_ruins.dm b/code/game/area/areas/ruins/_ruins.dm index 1ba5d0e18ec..766ec66392b 100644 --- a/code/game/area/areas/ruins/_ruins.dm +++ b/code/game/area/areas/ruins/_ruins.dm @@ -4,7 +4,7 @@ name = "unexplored location" icon_state = "away" has_gravity = STANDARD_GRAVITY - area_flags = HIDDEN_AREA | BLOBS_ALLOWED + area_flags = HIDDEN_AREA dynamic_lighting = DYNAMIC_LIGHTING_FORCED ambientsounds = RUINS flags_1 = CAN_BE_DIRTY_1 diff --git a/code/game/area/areas/ruins/icemoon.dm b/code/game/area/areas/ruins/icemoon.dm index 8e614c8a0e7..8f7acc3a0c1 100644 --- a/code/game/area/areas/ruins/icemoon.dm +++ b/code/game/area/areas/ruins/icemoon.dm @@ -24,3 +24,86 @@ /area/ruin/unpowered/crashed_holemaker name = "NTSV Holemaker II" // In honor of the kugelblitz shenanigan of all time icon_state = "green" + +// Ice Lodge + +/area/ruin/powered/icemoon/lodge/mainhall + name = "Main Hall" + icon_state = "bridge_hallway" + +/area/ruin/powered/icemoon/lodge/cellar + name = "Cellar" + icon_state = "yellow" + +/area/ruin/powered/icemoon/lodge/montagne_office + name = "Montagne's Office" + icon_state = "bridge" + +/area/ruin/powered/icemoon/lodge/residential + name = "Residential Quarters" + icon_state = "crew_quarters" + +/area/ruin/powered/icemoon/lodge/gear_room + name = "Gear Room" + icon_state = "security" + +// teslalab + +/area/ruin/icemoon/tesla_lab + name = "CLIP Lab Complex" + icon_state = "hallC" + +/area/ruin/icemoon/tesla_lab/lab_a + name = "Lab Zone One" + icon_state = "yellow" + +/area/ruin/icemoon/tesla_lab/containment + name = "Specimen Containment" + icon_state = "purple" + +/area/ruin/icemoon/tesla_lab/engineering + name = "Engineering" + icon_state = "engine" + +/area/ruin/icemoon/tesla_lab/cargo + name = "Cargo Warehouse" + icon_state = "storage" + +/area/ruin/icemoon/tesla_lab/lobby + name = "Lobby" + icon_state = "green" + +/area/ruin/icemoon/tesla_lab/dorms + name = "Dormitories" + icon_state = "crew_quarters" + +/area/ruin/icemoon/tesla_lab/office + name = "Office" + icon_state = "bridge" + +/area/ruin/icemoon/tesla_lab/haymaker + name = "Haymaker Pod" + icon_state = "shuttle" + +/area/ruin/icemoon/tesla_lab/medbay + name = "Medical Bay" + +/area/ruin/icemoon/tesla_lab/office_two + name = "Director Office" + +/area/ruin/icemoon/tesla_lab/central_hall + name = "Central Halls" + +/area/ruin/icemoon/tesla_lab/lab_halls + name = "Lab Zone Hallway" + +/area/ruin/icemoon/tesla_lab/cargo_hall + name = "Cargo Access Hall" + +/area/ruin/icemoon/tesla_lab/turrets + name = "Turret Lean-To" + icon_state = "security" + +/area/ruin/icemoon/tesla_lab/armory + name = "Armory" + icon_state = "armory" diff --git a/code/game/area/areas/ruins/lavaland.dm b/code/game/area/areas/ruins/lavaland.dm index f7cbb414bc0..298f996ea43 100644 --- a/code/game/area/areas/ruins/lavaland.dm +++ b/code/game/area/areas/ruins/lavaland.dm @@ -27,17 +27,6 @@ name = "Hierophant's Arena" icon_state = "dk_yellow" - -//Elephant Graveyard - -/area/ruin/unpowered/elephant_graveyard - name = "Elephant Graveyard" - icon_state = "dk_yellow" - -/area/ruin/powered/graveyard_shuttle - name = "Elephant Graveyard" - icon_state = "green" - //Lava Canyon /area/ruin/unpowered/scorched_hut @@ -85,3 +74,24 @@ /area/ruin/unpowered/crashed_starwalker name = "Crashed Pirate Ship" +// Abandoned Listening Post + +/area/ruin/unpowered/listening_post + name = "Listening Post Lobby" + icon_state = "yellow" + +/area/ruin/unpowered/listening_post/commons + name = "Listening Post Commons" + icon_state = "green" + +/area/ruin/unpowered/listening_post/canteen + name = "Listening Post Canteen" + icon_state = "purple" + +/area/ruin/unpowered/listening_post/operations + name = "Listening Post Operations" + icon_state = "hallC" + +/area/ruin/unpowered/listening_post/engineering + name = "Listening Post Engineering" + icon_state = "dk_yellow" diff --git a/code/game/area/areas/ruins/rockplanet.dm b/code/game/area/areas/ruins/rockplanet.dm index 43516a72376..e1116172d85 100644 --- a/code/game/area/areas/ruins/rockplanet.dm +++ b/code/game/area/areas/ruins/rockplanet.dm @@ -32,3 +32,68 @@ name = "Abandoned Crash Site" always_unpowered = FALSE icon_state = "red" + +//distillery + +/area/ruin/rockplanet/distillery + name = "Distillery" + icon_state = "red" + +/area/ruin/rockplanet/distillery/saloon + name = "Saloon" + icon_state = "bar" + +/area/ruin/rockplanet/distillery/shuttle + name = "Frontiersman Pod" + icon_state = "shuttle" + +/area/ruin/rockplanet/distillery/crew + name = "Crew Area" + icon_state = "crew_quarters" + +/area/ruin/rockplanet/distillery/engineering + name = "Engineering" + icon_state = "engine" + +/area/ruin/rockplanet/distillery/office + name = "Office" + icon_state = "vacant_office" + +//N+S Mining Base + +/area/ruin/rockplanet/mining_base + name = "Mining Base" + +/area/ruin/rockplanet/mining_base/canteen + name = "Canteen Dome" + icon_state = "bar" + +/area/ruin/rockplanet/mining_base/office + name = "Coordinator's Office" + icon_state = "shuttle" + +/area/ruin/rockplanet/mining_base/crew + name = "Barracks Dome" + icon_state = "crew_quarters" + +/area/ruin/rockplanet/mining_base/med + name = "Medical Dome" + icon_state = "blue" + +/area/ruin/rockplanet/mining_base/engineering + name = "Engineering Complex" + icon_state = "engine" + +/area/ruin/rockplanet/mining_base/refinery + name = "Refinery Complex" + icon_state = "storage" + +/area/ruin/rockplanet/mining_base/armory + name = "Armory Dome" + icon_state = "armory" + +/area/ruin/rockplanet/mining_base/rig_one + name = "Mining Platform #1" + +/area/ruin/rockplanet/mining_base/rig_two + name = "Mining Platform #2" diff --git a/code/game/area/areas/ruins/sandplanet.dm b/code/game/area/areas/ruins/sandplanet.dm index e3a93b58e06..3dd26e96787 100644 --- a/code/game/area/areas/ruins/sandplanet.dm +++ b/code/game/area/areas/ruins/sandplanet.dm @@ -2,10 +2,12 @@ //whitesands surface camp saloon +//saloon ruin /area/ruin/whitesands/saloon name = "Hermit Saloon" icon_state = "green" +//the pubby slop crash /area/ruin/whitesands/pubbycrash name = "Pubby-Class Wreckage" icon_state = "bluenew" @@ -17,3 +19,35 @@ /area/ruin/whitesands/pubbycrash/split name = "Pubby-Class Chunk" icon_state = "red" + +//e-11 manufactory +/area/ruin/whitesands/e11manufactory + name = "Eoehoma Firearms Assembly Line" + icon_state = "mining_production" + +/area/ruin/whitesands/e11manufactory/warehouse + name = "Eoehoma Firearms Warehouse" + icon_state = "storage" + +/area/ruin/whitesands/e11manufactory/mats + name = "Eoehoma Firearms Material Storage" + icon_state = "auxstorage" + +/area/ruin/whitesands/e11manufactory/security + name = "Eoehoma Firearms Security Office" + icon_state = "security" + +/area/ruin/whitesands/e11manufactory/barracks + name = "Eoehoma Firearms Worker Barracks" + icon_state = "crew_quarters" + +/area/ruin/whitesands/e11manufactory/office + name = "Eoehoma Firearms Management Offices" + icon_state = "quartoffice" + +//cave base +/area/ruin/whitesands/cave_base + name = "Abandoned Facility" + icon_state = "bluenew" + +/area/ruin/whitesands/cave_base/engi diff --git a/code/game/area/areas/ruins/wasteplanet.dm b/code/game/area/areas/ruins/wasteplanet.dm index 4b1e69b456d..6744e36f20c 100644 --- a/code/game/area/areas/ruins/wasteplanet.dm +++ b/code/game/area/areas/ruins/wasteplanet.dm @@ -3,31 +3,31 @@ //Abandoned Mechbay Ruin /area/ruin/wasteplanet/abandoned_mechbay/mainhall - name = "Abandoned Mechbay Main Corridor" + name = "Abandoned Exosuit Bay Main Corridor" icon_state = "hallC" /area/ruin/wasteplanet/abandoned_mechbay/commandcontrol - name = "Abandoned Mechbay Command and Control" + name = "Abandoned Exosuit Bay Command and Control" icon_state = "bridge" /area/ruin/wasteplanet/abandoned_mechbay/bay1 - name = "Abandoned Mechbay Upper Hangar" + name = "Abandoned Exosuit Bay Upper Hangar" icon_state = "mechbay" /area/ruin/wasteplanet/abandoned_mechbay/bay2 - name = "Abandoned Mechbay Lower Hangar" + name = "Abandoned Exosuit Bay Lower Hangar" icon_state = "mechbay" /area/ruin/wasteplanet/abandoned_mechbay/crewquarters - name = "Abandoned Mechbay Crew Quarters" + name = "Abandoned Exosuit Bay Crew Quarters" icon_state = "green" /area/ruin/wasteplanet/abandoned_mechbay/mechlab - name = "Abandoned Mech Lab" + name = "Abandoned Exosuit Lab" icon_state = "mechbay" /area/ruin/wasteplanet/abandoned_mechbay/engineering - name = "Abandoned Mechbay Engineering" + name = "Abandoned Exosuit Bay Engineering" icon_state = "engine" //Abandoned Waste Site @@ -43,3 +43,39 @@ /area/ruin/wasteplanet/wasteplanet_radiation/containment name = "Abandoned Waste Containment Vault" icon_state = "disposal" + +//Wasteplanet_Tradepost + +/area/ruin/wasteplanet/tradepost/barracks + name = "Abandoned Barracks" + icon_state = "red" + +/area/ruin/wasteplanet/tradepost/center + name = "Abandoned Dome" + icon_state = "bridge" + +/area/ruin/wasteplanet/tradepost/warehouse + name = "Abandoned Warehouse" + icon_state = "dk_yellow" + +//Abandonded shipbreaking yard + +/area/ruin/wasteplanet/wasteplanet_shipbreaking + name = "Abandoned Shipbreaking Yard" + icon_state = "green" + +/area/ruin/wasteplanet/wasteplanet_shipbreaking/bay + name = "Miskilamo Shipbreaking Yard Bay" + icon_state = "engine" + +/area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen + name = "Miskilamo Shipbreaking Yard Canteen" + icon_state = "hallC" + +/area/ruin/wasteplanet/wasteplanet_shipbreaking/dorms + name = "Miskilamo Shipbreaking Yard Dormatory" + icon_state = "bridge" + +/area/ruin/wasteplanet/wasteplanet_shipbreaking/ship + name = "Abandoned Shipbreaking Yard" + icon_state = "red" diff --git a/code/game/area/areas/shuttles.dm b/code/game/area/areas/shuttles.dm deleted file mode 100644 index 6060367ca51..00000000000 --- a/code/game/area/areas/shuttles.dm +++ /dev/null @@ -1,191 +0,0 @@ - -//These are shuttle areas; all subtypes are only used as teleportation markers, they have no actual function beyond that. -//Multi area shuttles are a thing now, use subtypes! ~ninjanomnom - -/area/shuttle - name = "Shuttle" - requires_power = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_FORCED - has_gravity = STANDARD_GRAVITY - always_unpowered = FALSE - // Loading the same shuttle map at a different time will produce distinct area instances. - area_flags = NONE - icon_state = "shuttle" - flags_1 = CAN_BE_DIRTY_1 - lighting_colour_tube = "#fff0dd" - lighting_colour_bulb = "#ffe1c1" - area_limited_icon_smoothing = TRUE - sound_environment = SOUND_ENVIRONMENT_ROOM - //The mobile port attached to this area - var/obj/docking_port/mobile/mobile_port - - -/area/shuttle/Destroy() - mobile_port = null - . = ..() - -/area/shuttle/PlaceOnTopReact(turf/T, list/new_baseturfs, turf/fake_turf_type, flags) - . = ..() - if(length(new_baseturfs) > 1 || fake_turf_type) - return // More complicated larger changes indicate this isn't a player - if(ispath(new_baseturfs[1], /turf/open/floor/plating) && !(/turf/baseturf_skipover/shuttle in new_baseturfs)) - new_baseturfs.Insert(1, /turf/baseturf_skipover/shuttle) - -/area/shuttle/proc/link_to_shuttle(obj/docking_port/mobile/M) - mobile_port = M - -////////////////////////////Multi-area shuttles//////////////////////////// - -////////////////////////////Syndicate infiltrator//////////////////////////// - -/area/shuttle/syndicate - name = "Syndicate Infiltrator" - ambientsounds = HIGHSEC - -/area/shuttle/syndicate/bridge - name = "Syndicate Infiltrator Control" - -/area/shuttle/syndicate/medical - name = "Syndicate Infiltrator Medbay" - -/area/shuttle/syndicate/armory - name = "Syndicate Infiltrator Armory" - -/area/shuttle/syndicate/eva - name = "Syndicate Infiltrator EVA" - -/area/shuttle/syndicate/hallway - -/area/shuttle/syndicate/airlock - name = "Syndicate Infiltrator Airlock" - -////////////////////////////Pirate Shuttle//////////////////////////// - -/area/shuttle/pirate - name = "Pirate Shuttle" - requires_power = TRUE - -////////////////////////////Bounty Hunter Shuttles//////////////////////////// - -/area/shuttle/hunter - name = "Hunter Shuttle" - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - -////////////////////////////White Ship//////////////////////////// - -/area/shuttle/abandoned - name = "Abandoned Ship" - requires_power = TRUE - -/area/shuttle/abandoned/bridge - name = "Abandoned Ship Bridge" - -/area/shuttle/abandoned/engine - name = "Abandoned Ship Engine" - -/area/shuttle/abandoned/bar - name = "Abandoned Ship Bar" - -/area/shuttle/abandoned/crew - name = "Abandoned Ship Crew Quarters" - -/area/shuttle/abandoned/cargo - name = "Abandoned Ship Cargo Bay" - -/area/shuttle/abandoned/medbay - name = "Abandoned Ship Medbay" - -/area/shuttle/abandoned/pod - name = "Abandoned Ship Pod" - -/area/shuttle/abandoned/atmospherics - name = "Abandoned Ship atmospherics"//WS station edit - -/area/shuttle/abandoned/coridor - name = "Abandoned Ship coridor"//WS station edit -////////////////////////////Single-area shuttles//////////////////////////// - -/area/shuttle/transit - name = "Hyperspace" - desc = "Weeeeee" - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - -/area/shuttle/custom - name = "Custom player shuttle" - area_flags = BLOBS_ALLOWED - flags_1 = CAN_BE_DIRTY_1 - -/area/shuttle/custom/powered - name = "Custom Powered player shuttle" - requires_power = FALSE - -/area/shuttle/arrival - name = "Arrival Shuttle" - area_flags = UNIQUE_AREA// SSjob refers to this area for latejoiners - -/area/shuttle/pod_1 - name = "Escape Pod One" - area_flags = BLOBS_ALLOWED - -/area/shuttle/pod_2 - name = "Escape Pod Two" - area_flags = BLOBS_ALLOWED - -/area/shuttle/pod_3 - name = "Escape Pod Three" - area_flags = BLOBS_ALLOWED - -/area/shuttle/pod_4 - name = "Escape Pod Four" - area_flags = BLOBS_ALLOWED - -/area/shuttle/mining - name = "Mining Shuttle" - -/area/shuttle/mining/large - name = "Mining Shuttle" - requires_power = TRUE - -/area/shuttle/labor - name = "Labor Camp Shuttle" - -/area/shuttle/supply - name = "Supply Shuttle" - area_flags = NOTELEPORT - -/area/shuttle/escape - name = "Emergency Shuttle" - area_flags = BLOBS_ALLOWED - flags_1 = CAN_BE_DIRTY_1 - -/area/shuttle/escape/backup - name = "Backup Emergency Shuttle" - -/area/shuttle/escape/luxury - name = "Luxurious Emergency Shuttle" - area_flags = NOTELEPORT - -/area/shuttle/escape/arena - name = "The Arena" - area_flags = NOTELEPORT - -/area/shuttle/escape/meteor - name = "\proper a meteor with engines strapped to it" - -/area/shuttle/transport - name = "Transport Shuttle" - -/area/shuttle/sbc_starfury - name = "SBC Starfury" - -/area/shuttle/sbc_fighter1 - name = "SBC Fighter 1" - -/area/shuttle/sbc_fighter2 - name = "SBC Fighter 2" - -/area/shuttle/sbc_corvette - name = "SBC corvette" - -/area/shuttle/syndicate_scout - name = "Syndicate Scout" diff --git a/code/game/area/ship_areas.dm b/code/game/area/ship_areas.dm index 9fab6e35b3c..e0b6d27df4c 100644 --- a/code/game/area/ship_areas.dm +++ b/code/game/area/ship_areas.dm @@ -46,6 +46,20 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Test Room" icon_state = "storage" +/area/hyperspace + icon_state = "space" + requires_power = TRUE + always_unpowered = TRUE + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED + power_light = FALSE + power_equip = FALSE + power_environ = FALSE + area_flags = UNIQUE_AREA | CAVES_ALLOWED | MOB_SPAWN_ALLOWED + outdoors = TRUE + ambientsounds = SPACE + flags_1 = CAN_BE_DIRTY_1 + sound_environment = SOUND_AREA_SPACE + //EXTRA /area/asteroid @@ -69,7 +83,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/ship dynamic_lighting = DYNAMIC_LIGHTING_FORCED always_unpowered = FALSE - area_flags = VALID_TERRITORY | BLOBS_ALLOWED // Loading the same shuttle map at a different time will produce distinct area instances. + area_flags = VALID_TERRITORY // Loading the same shuttle map at a different time will produce distinct area instances. icon_state = "shuttle" flags_1 = CAN_BE_DIRTY_1 lighting_colour_tube = "#fff0dd" @@ -149,6 +163,21 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/ship/crew/crewfive name = "Crew Quarters 5" +/area/ship/crew/specialized + name = "???" + +/area/ship/crew/specialized/medical + name = "Medical Specialist's Quarters" + +/area/ship/crew/specialized/security + name = "Security Specialist's Quarters" + +/area/ship/crew/specialized/engineering + name = "Engineering Specialist's Quarters" + +/area/ship/crew/specialized/cargo + name = "Cargo Specialist's Quarters" + /area/ship/crew/cryo name = "Cryopod Room" icon_state = "cryo" @@ -292,6 +321,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "ai_chamber" ambientsounds = list('sound/ambience/ambimalf.ogg', 'sound/ambience/ambitech.ogg', 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambiatmos.ogg', 'sound/ambience/ambiatmos2.ogg') +/area/ship/science/workshop + name = "Workshop" + icon_state = "workshop" + /// Engineering /// /area/ship/engineering name = "Engineering" @@ -324,6 +357,9 @@ NOTE: there are two lists of areas in the end of this file: centcom and station lighting_colour_tube = "#e2feff" lighting_colour_bulb = "#d5fcff" +/area/ship/engineering/communications/room + name = "Communications Room" + /area/ship/engineering/engine name = "Engine Room" icon_state = "engine_sm" @@ -464,10 +500,19 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "storage" sound_environment = SOUND_AREA_STANDARD_STATION +/area/ship/storage/port + name = "Port Storage Bay" + +/area/ship/storage/starboard + name = "Starboard Storage Bay" + /area/ship/storage/eva name = "EVA Storage" icon_state = "eva" +/area/ship/storage/equip + name = "Equipment Room" + /// External Areas /// /area/ship/external name = "External" diff --git a/code/game/atom/atom_orbit.dm b/code/game/atom/atom_orbit.dm new file mode 100644 index 00000000000..2294293bd8b --- /dev/null +++ b/code/game/atom/atom_orbit.dm @@ -0,0 +1,33 @@ +/atom + ///Reference to atom being orbited + var/atom/orbit_target + ///The orbiter component, if there's anything orbiting this atom + var/datum/component/orbiter/orbiters + +/** + * Recursive getter method to return a list of all ghosts orbitting this atom + * + * This will work fine without manually passing arguments. + * * processed - The list of atoms we've already convered + * * source - Is this the atom for who we're counting up all the orbiters? + * * ignored_stealthed_admins - If TRUE, don't count admins who are stealthmoded and orbiting this + */ +/atom/proc/get_all_orbiters(list/processed, source = TRUE, ignore_stealthed_admins = TRUE) + var/list/output = list() + if(!processed) + processed = list() + else if(src in processed) + return output + + if(!source) + output += src + + processed += src + for(var/atom/atom_orbiter as anything in orbiters?.orbiters) + output += atom_orbiter.get_all_orbiters(processed, source = FALSE) + return output + +/mob/get_all_orbiters(list/processed, source = TRUE, ignore_stealthed_admins = TRUE) + if(!source && ignore_stealthed_admins && client?.holder?.fakekey) + return list() + return ..() diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 7ffa3255ada..6f1a0069e5c 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -44,6 +44,14 @@ */ var/list/atom_colours + /// Lazylist of all images (hopefully attached to us) to update when we change z levels + /// You will need to manage adding/removing from this yourself, but I'll do the updating for you + var/list/image/update_on_z + + /// Lazylist of all overlays attached to us to update when we change z levels + /// You will need to manage adding/removing from this yourself, but I'll do the updating for you + /// Oh and note, if order of addition is important this WILL break that. so mind yourself + var/list/image/update_overlays_on_z /// a very temporary list of overlays to remove var/list/remove_overlays @@ -67,9 +75,6 @@ ///Economy cost of item in premium vendor var/custom_premium_price - //List of datums orbiting this atom - var/datum/component/orbiter/orbiters - /// Radiation insulation types var/rad_insulation = RAD_NO_INSULATION @@ -146,8 +151,6 @@ /// The current connector overlay appearance. Saved so that it can be cut when necessary. var/connector_overlay - ///Reference to atom being orbited - var/atom/orbit_target ///Default X pixel offset var/base_pixel_x ///Default Y pixel offset @@ -350,66 +353,6 @@ return TRUE return !density -/** - * Is this atom currently located on centcom - * - * Specifically, is it on the z level and within the centcom areas - * - * You can also be in a shuttleshuttle during endgame transit - * - * Used in gamemode to identify mobs who have escaped and for some other areas of the code - * who don't want atoms where they shouldn't be - */ -/atom/proc/onCentCom() - var/turf/T = get_turf(src) - if(!T) - return FALSE - - if(is_reserved_level(T)) - for(var/A in SSshuttle.mobile) - var/obj/docking_port/mobile/M = A - if(M.launch_status == ENDGAME_TRANSIT) - for(var/place in M.shuttle_areas) - var/area/shuttle/shuttle_area = place - if(T in shuttle_area) - return TRUE - - if(!is_centcom_level(T))//if not, don't bother - return FALSE - - //Check for centcom itself - if(istype(T.loc, /area/centcom)) - return TRUE - - //Check for centcom shuttles - for(var/A in SSshuttle.mobile) - var/obj/docking_port/mobile/M = A - if(M.launch_status == ENDGAME_LAUNCHED) - for(var/place in M.shuttle_areas) - var/area/shuttle/shuttle_area = place - if(T in shuttle_area) - return TRUE - -/** - * Is the atom in any of the centcom syndicate areas - * - * Either in the syndie base on centcom, or any of their shuttles - * - * Also used in gamemode code for win conditions - */ -/atom/proc/onSyndieBase() - var/turf/T = get_turf(src) - if(!T) - return FALSE - - if(!is_centcom_level(T))//if not, don't bother - return FALSE - - if(istype(T.loc, /area/shuttle/syndicate) || istype(T.loc, /area/syndicate_mothership)) - return TRUE - - return FALSE - /** * Is the atom in an away mission * @@ -779,15 +722,6 @@ contents_explosion(severity, target) SEND_SIGNAL(src, COMSIG_ATOM_EX_ACT, severity, target) -/** - * React to a hit by a blob objecd - * - * default behaviour is to send the [COMSIG_ATOM_BLOB_ACT] signal - */ -/atom/proc/blob_act(obj/structure/blob/B) - SEND_SIGNAL(src, COMSIG_ATOM_BLOB_ACT, B) - return - /atom/proc/fire_act(exposed_temperature, exposed_volume) SEND_SIGNAL(src, COMSIG_ATOM_FIRE_ACT, exposed_temperature, exposed_volume) return @@ -977,7 +911,7 @@ return TRUE ///Get the best place to dump the items contained in the source storage item? -/atom/proc/get_dumping_location(obj/item/storage/source,mob/user) +/atom/proc/get_dumping_location() return null /** @@ -1133,6 +1067,7 @@ VV_DROPDOWN_OPTION(VV_HK_TRIGGER_EXPLOSION, "Explosion") VV_DROPDOWN_OPTION(VV_HK_RADIATE, "Radiate") VV_DROPDOWN_OPTION(VV_HK_EDIT_FILTERS, "Edit Filters") + VV_DROPDOWN_OPTION(VV_HK_SELL, "Export Item") /atom/vv_do_topic(list/href_list) . = ..() @@ -1204,6 +1139,9 @@ var/client/C = usr.client C?.open_filter_editor(src) + if(href_list[VV_HK_SELL] && check_rights(R_ADMIN|R_DEBUG) && check_rights(R_VAREDIT)) + export_item_and_contents(src, allowed_categories = ALL, apply_elastic = FALSE) + /atom/vv_get_header() . = ..() var/refid = REF(src) @@ -1265,25 +1203,73 @@ * Must return parent proc ..() in the end if overridden */ /atom/proc/tool_act(mob/living/user, obj/item/I, tool_type) + var/signal_result + + var/list/processing_recipes = list() //List of recipes that can be mutated by sending the signal + signal_result = SEND_SIGNAL(src, COMSIG_ATOM_TOOL_ACT(tool_type), user, I, processing_recipes) + if(processing_recipes.len) + process_recipes(user, I, processing_recipes) + if(QDELETED(I)) + return TRUE switch(tool_type) if(TOOL_CROWBAR) - . |= crowbar_act(user, I) + . = crowbar_act(user, I) if(TOOL_MULTITOOL) - . |= multitool_act(user, I) + . = multitool_act(user, I) if(TOOL_SCREWDRIVER) - . |= screwdriver_act(user, I) + . = screwdriver_act(user, I) if(TOOL_WRENCH) - . |= wrench_act(user, I) + . = wrench_act(user, I) if(TOOL_WIRECUTTER) - . |= wirecutter_act(user, I) + . = wirecutter_act(user, I) if(TOOL_WELDER) - . |= welder_act(user, I) + . = welder_act(user, I) if(TOOL_ANALYZER) - . |= analyzer_act(user, I) - if(. & COMPONENT_BLOCK_TOOL_ATTACK) + . = analyzer_act(user, I) + if(TOOL_DECONSTRUCT) + . |= deconstruct_act(user, I) + if(. || signal_result & COMPONENT_BLOCK_TOOL_ATTACK) //Either the proc or the signal handled the tool's events in some way. return TRUE -//! Tool-specific behavior procs. They send signals, so try to call ..() +/atom/proc/process_recipes(mob/living/user, obj/item/I, list/processing_recipes) + //Only one recipe? use the first + if(processing_recipes.len == 1) + StartProcessingAtom(user, I, processing_recipes[1]) + return + //Otherwise, select one with a radial + ShowProcessingGui(user, I, processing_recipes) + +///Creates the radial and processes the selected option +/atom/proc/ShowProcessingGui(mob/living/user, obj/item/I, list/possible_options) + var/list/choices_to_options = list() //Dict of object name | dict of object processing settings + var/list/choices = list() + + for(var/i in possible_options) + var/list/current_option = i + var/atom/current_option_type = current_option[TOOL_PROCESSING_RESULT] + choices_to_options[initial(current_option_type.name)] = current_option + var/image/option_image = image(icon = initial(current_option_type.icon), icon_state = initial(current_option_type.icon_state)) + choices += list("[initial(current_option_type.name)]" = option_image) + + var/pick = show_radial_menu(user, src, choices, radius = 36, require_near = TRUE) + + StartProcessingAtom(user, I, choices_to_options[pick]) + + +/atom/proc/StartProcessingAtom(mob/living/user, obj/item/I, list/chosen_option) + to_chat(user, "You start working on [src]") + if(I.use_tool(src, user, chosen_option[TOOL_PROCESSING_TIME], volume=50)) + var/atom/atom_to_create = chosen_option[TOOL_PROCESSING_RESULT] + for(var/i = 1 to chosen_option[TOOL_PROCESSING_AMOUNT]) + new atom_to_create(loc) + to_chat(user, "You manage to create [chosen_option[TOOL_PROCESSING_AMOUNT]] [initial(atom_to_create.name)] from [src]") + qdel(src) + return + +/atom/proc/OnCreatedFromProcessing(mob/living/user, obj/item/I, list/chosen_option, atom/original_atom) + return + +//! Tool-specific behavior procs. /// ///Crowbar act @@ -1322,6 +1308,10 @@ /atom/proc/analyzer_act(mob/living/user, obj/item/I) return SEND_SIGNAL(src, COMSIG_ATOM_ANALYSER_ACT, user, I) +///Deconstruct act +/atom/proc/deconstruct_act(mob/living/user, obj/item/I) + return SEND_SIGNAL(src, COMSIG_ATOM_DECONSTRUCT_ACT, user, I) + ///Generate a tag for this atom /atom/proc/GenerateTag() return @@ -1330,9 +1320,6 @@ /atom/proc/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) return -/atom/proc/disconnect_from_shuttle(obj/docking_port/mobile/port) - return - /// Generic logging helper /atom/proc/log_message(message, message_type, color=null, log_globally=TRUE) if(!log_globally) @@ -1587,6 +1574,15 @@ if(istype(ship)) var/obj/docking_port/mobile/shuttle = ship.mobile_port if(shuttle) + if(istype(shuttle.docked, /obj/docking_port/stationary)) + var/obj/docking_port/stationary/shipfinder = shuttle.docked + if(shipfinder.owner_ship) + for(var/datum/weakref/weakref as anything in shipfinder.owner_ship.gravgen_list) + var/obj/machinery/power/ship_gravity/SG = weakref.resolve() + if(!SG) + shipfinder.owner_ship.gravgen_list -= weakref + continue + max_grav = max(SG.active,max_grav) for(var/datum/weakref/weakref as anything in shuttle.gravgen_list) var/obj/machinery/power/ship_gravity/SG = weakref.resolve() if(!SG) @@ -1604,10 +1600,9 @@ * Produces a signal [COMSIG_PARENT_EXAMINE_MORE] */ /atom/proc/examine_more(mob/user) + SHOULD_CALL_PARENT(TRUE) . = list() SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE_MORE, user, .) - if(!LAZYLEN(.)) // lol ..length - return list("You examine [src] closer, but find nothing of interest...") ///Passes Stat Browser Panel clicks to the game and calls client click on an atom /atom/Topic(href, list/href_list) @@ -1678,7 +1673,20 @@ /// Returns the atom name that should be used on screentip /atom/proc/get_screentip_name(client/hovering_client) - return name + if(ishuman(src)) + var/mob/living/carbon/human/guy = src + var/mob/client_mob = hovering_client.mob + var/datum/guestbook/guestbook = client_mob.mind?.guestbook + if(guestbook) + var/known_name = guestbook.get_known_name(client_mob, guy) + if(known_name) + return known_name + else + return guy.get_visible_name() + else + return guy.real_name + else + return name ///Called whenever a player is spawned on the same turf as this atom. /atom/proc/join_player_here(mob/M) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index beb7cef2718..73629ea1484 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -540,7 +540,7 @@ var/previous_virtual_z = OldLoc?.virtual_z() || 0 var/current_virtual_z = virtual_z() - if(current_virtual_z && current_virtual_z != previous_virtual_z) + if(current_virtual_z != previous_virtual_z) on_virtual_z_change(current_virtual_z, previous_virtual_z) SEND_SIGNAL(src, COMSIG_MOVABLE_MOVED, OldLoc, Dir, Forced, old_locs) @@ -772,6 +772,44 @@ . = movement_type movement_type = newval +/** + * Called when a movable changes z-levels. + * + * Arguments: + * * old_turf - The previous turf they were on before. + * * new_turf - The turf they have now entered. + * * same_z_layer - If their old and new z levels are on the same level of plane offsets or not + * * notify_contents - Whether or not to notify the movable's contents that their z-level has changed. NOTE, IF YOU SET THIS, YOU NEED TO MANUALLY SET PLANE OF THE CONTENTS LATER + */ +/atom/movable/proc/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents = TRUE) + SHOULD_CALL_PARENT(TRUE) + SEND_SIGNAL(src, COMSIG_MOVABLE_Z_CHANGED, old_turf, new_turf, same_z_layer) + + // If our turfs are on different z "layers", recalc our planes + if(!same_z_layer && !QDELETED(src)) + SET_PLANE(src, PLANE_TO_TRUE(src.plane), new_turf) + // a TON of overlays use planes, and thus require offsets + // so we do this. sucks to suck + update_appearance() + + if(update_on_z) + // I so much wish this could be somewhere else. alas, no. + for(var/image/update in update_on_z) + SET_PLANE(update, PLANE_TO_TRUE(update.plane), new_turf) + if(update_overlays_on_z) + // This EVEN more so + cut_overlay(update_overlays_on_z) + // This even more so + for(var/mutable_appearance/update in update_overlays_on_z) + SET_PLANE(update, PLANE_TO_TRUE(update.plane), new_turf) + add_overlay(update_overlays_on_z) + + if(!notify_contents) + return + + for (var/atom/movable/content as anything in src) // Notify contents of Z-transition. + content.on_changed_z_level(old_turf, new_turf, same_z_layer) + /** * Called whenever an object moves and by mobs when they attempt to move themselves through space * And when an object or action applies a force on src, see [newtonian_move][/atom/movable/proc/newtonian_move] @@ -784,6 +822,9 @@ * * movement_dir - 0 when stopping or any dir when trying to move */ /atom/movable/proc/Process_Spacemove(movement_dir = 0) + if(SEND_SIGNAL(src, COMSIG_MOVABLE_SPACEMOVE, movement_dir) & COMSIG_MOVABLE_STOP_SPACEMOVE) + return TRUE + if(has_gravity(src)) return 1 @@ -1180,7 +1221,7 @@ //Returns an atom's power cell, if it has one. Overload for individual items. /atom/movable/proc/get_cell() - return + return null /atom/movable/proc/can_be_pulled(user, grab_state, force) if(src == user || !isturf(loc)) diff --git a/code/game/communications.dm b/code/game/communications.dm index 94afdbf364f..e3b1acc230d 100644 --- a/code/game/communications.dm +++ b/code/game/communications.dm @@ -92,36 +92,30 @@ GLOBAL_LIST_EMPTY(all_radios) GLOBAL_LIST_INIT(radiochannels, list( RADIO_CHANNEL_COMMON = FREQ_COMMON, - RADIO_CHANNEL_COMMAND = FREQ_COMMAND, + RADIO_CHANNEL_EMERGENCY = FREQ_EMERGENCY, RADIO_CHANNEL_CENTCOM = FREQ_CENTCOM, - RADIO_CHANNEL_SOLGOV = FREQ_SOLGOV, //WS Edit - SolGov Rep - RADIO_CHANNEL_WIDEBAND = FREQ_WIDEBAND, //WS Edit - Overmap + RADIO_CHANNEL_SOLGOV = FREQ_SOLGOV, + RADIO_CHANNEL_WIDEBAND = FREQ_WIDEBAND, RADIO_CHANNEL_SYNDICATE = FREQ_SYNDICATE, RADIO_CHANNEL_NANOTRASEN = FREQ_NANOTRASEN, RADIO_CHANNEL_MINUTEMEN = FREQ_MINUTEMEN, RADIO_CHANNEL_PGF = FREQ_PGF, RADIO_CHANNEL_INTEQ = FREQ_INTEQ, RADIO_CHANNEL_PIRATE = FREQ_PIRATE, - RADIO_CHANNEL_AI_PRIVATE = FREQ_AI_PRIVATE, - RADIO_CHANNEL_CTF_RED = FREQ_CTF_RED, - RADIO_CHANNEL_CTF_BLUE = FREQ_CTF_BLUE )) GLOBAL_LIST_INIT(reverseradiochannels, list( "[FREQ_COMMON]" = RADIO_CHANNEL_COMMON, - "[FREQ_COMMAND]" = RADIO_CHANNEL_COMMAND, + "[FREQ_EMERGENCY]" = RADIO_CHANNEL_EMERGENCY, "[FREQ_CENTCOM]" = RADIO_CHANNEL_CENTCOM, - "[FREQ_SOLGOV]" = RADIO_CHANNEL_SOLGOV, //WS Edit - SolGov Rep - "[FREQ_WIDEBAND]" = RADIO_CHANNEL_WIDEBAND, //WS Edit - SolGov Rep + "[FREQ_SOLGOV]" = RADIO_CHANNEL_SOLGOV, + "[FREQ_WIDEBAND]" = RADIO_CHANNEL_WIDEBAND, "[FREQ_SYNDICATE]" = RADIO_CHANNEL_SYNDICATE, "[FREQ_NANOTRASEN]" = RADIO_CHANNEL_NANOTRASEN, "[FREQ_MINUTEMEN]" = RADIO_CHANNEL_MINUTEMEN, "[FREQ_PGF]" = RADIO_CHANNEL_PGF, "[FREQ_INTEQ]" = RADIO_CHANNEL_INTEQ, "[FREQ_PIRATE]" = RADIO_CHANNEL_PIRATE, - "[FREQ_AI_PRIVATE]" = RADIO_CHANNEL_AI_PRIVATE, - "[FREQ_CTF_RED]" = RADIO_CHANNEL_CTF_RED, - "[FREQ_CTF_BLUE]" = RADIO_CHANNEL_CTF_BLUE )) /datum/radio_frequency diff --git a/code/game/gamemodes/clown_ops/bananium_bomb.dm b/code/game/gamemodes/clown_ops/bananium_bomb.dm index 01c27089536..74178f24843 100644 --- a/code/game/gamemodes/clown_ops/bananium_bomb.dm +++ b/code/game/gamemodes/clown_ops/bananium_bomb.dm @@ -43,11 +43,6 @@ ADD_TRAIT(C, TRAIT_NODROP, CLOWN_NUKE_TRAIT) H.equip_to_slot_or_del(C, ITEM_SLOT_ICLOTHING) - if(!H.shoes || H.dropItemToGround(H.shoes)) - C = new /obj/item/clothing/shoes/clown_shoes(H) - ADD_TRAIT(C, TRAIT_NODROP, CLOWN_NUKE_TRAIT) - H.equip_to_slot_or_del(C, ITEM_SLOT_FEET) - if(!H.wear_mask || H.dropItemToGround(H.wear_mask)) C = new /obj/item/clothing/mask/gas/clown_hat(H) ADD_TRAIT(C, TRAIT_NODROP, CLOWN_NUKE_TRAIT) diff --git a/code/game/gamemodes/clown_ops/clown_ops.dm b/code/game/gamemodes/clown_ops/clown_ops.dm index 74e391ef551..e3f7eea12c5 100644 --- a/code/game/gamemodes/clown_ops/clown_ops.dm +++ b/code/game/gamemodes/clown_ops/clown_ops.dm @@ -29,16 +29,14 @@ /datum/outfit/syndicate/clownop name = "Clown Operative - Basic" uniform = /obj/item/clothing/under/syndicate - shoes = /obj/item/clothing/shoes/clown_shoes/combat mask = /obj/item/clothing/mask/gas/clown_hat gloves = /obj/item/clothing/gloves/combat - back = /obj/item/storage/backpack/clown ears = /obj/item/radio/headset/syndicate/alt l_pocket = /obj/item/pinpointer/nuke/syndicate r_pocket = /obj/item/bikehorn id = /obj/item/card/id/syndicate backpack_contents = list(/obj/item/storage/box/survival/syndie=1,\ - /obj/item/kitchen/knife/combat/survival, + /obj/item/melee/knife/survival, /obj/item/dnainjector/clumsymut, //in case you want to be clumsy for the memes /obj/item/reagent_containers/spray/waterflower/lube) implants = list(/obj/item/implant/sad_trombone) diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm index 3064a52a48a..1721c1242e5 100644 --- a/code/game/gamemodes/clown_ops/clown_weapons.dm +++ b/code/game/gamemodes/clown_ops/clown_weapons.dm @@ -10,104 +10,61 @@ volume = 30 list_reagents = list(/datum/reagent/lube = 30) -//COMBAT CLOWN SHOES -//Clown shoes with combat stats and noslip. Of course they still squeak. -/obj/item/clothing/shoes/clown_shoes/combat - name = "combat clown shoes" - desc = "advanced clown shoes that protect the wearer and render them nearly immune to slipping on their own peels. They also squeak at 100% capacity." - clothing_flags = NOSLIP - slowdown = SHOES_SLOWDOWN - armor = list("melee" = 25, "bullet" = 25, "laser" = 25, "energy" = 25, "bomb" = 50, "bio" = 10, "rad" = 0, "fire" = 70, "acid" = 50) - strip_delay = 70 - resistance_flags = NONE - permeability_coefficient = 0.05 - pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes - -//The super annoying version -/obj/item/clothing/shoes/clown_shoes/banana_shoes/combat - name = "mk-honk combat shoes" - desc = "The culmination of years of clown combat research, these shoes leave a trail of chaos in their wake. They will slowly recharge themselves over time, or can be manually charged with bananium." - slowdown = SHOES_SLOWDOWN - armor = list("melee" = 25, "bullet" = 25, "laser" = 25, "energy" = 25, "bomb" = 50, "bio" = 10, "rad" = 0, "fire" = 70, "acid" = 50) - strip_delay = 70 - resistance_flags = NONE - permeability_coefficient = 0.05 - pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes - always_noslip = TRUE - var/max_recharge = 3000 //30 peels worth - var/recharge_rate = 34 //about 1/3 of a peel per tick - -/obj/item/clothing/shoes/clown_shoes/banana_shoes/combat/Initialize() - . = ..() - var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) - bananium.insert_amount_mat(max_recharge, /datum/material/hellstone) - START_PROCESSING(SSobj, src) - -/obj/item/clothing/shoes/clown_shoes/banana_shoes/combat/process() - var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) - var/bananium_amount = bananium.get_material_amount(/datum/material/hellstone) - if(bananium_amount < max_recharge) - bananium.insert_amount_mat(min(recharge_rate, max_recharge - bananium_amount), /datum/material/hellstone) - -/obj/item/clothing/shoes/clown_shoes/banana_shoes/combat/attack_self(mob/user) - ui_action_click(user) - //BANANIUM SWORD -/obj/item/melee/transforming/energy/sword/bananium +/obj/item/melee/energy/sword/bananium name = "bananium sword" desc = "An elegant weapon, for a more civilized age." force = 0 throwforce = 0 - force_on = 0 - throwforce_on = 0 + active_force = 0 + active_throwforce = 0 hitsound = null attack_verb_on = list("slipped") - clumsy_check = FALSE sharpness = IS_BLUNT sword_color = "yellow" heat = 0 light_color = COLOR_YELLOW var/next_trombone_allowed = 0 -/obj/item/melee/transforming/energy/sword/bananium/Initialize() +/obj/item/melee/energy/sword/bananium/Initialize() . = ..() adjust_slipperiness() /* Adds or removes a slippery component, depending on whether the sword * is active or not. */ -/obj/item/melee/transforming/energy/sword/proc/adjust_slipperiness() - if(active) +/obj/item/melee/energy/sword/proc/adjust_slipperiness() + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) AddComponent(/datum/component/slippery, 60, GALOSHES_DONT_HELP) else qdel(GetComponent(/datum/component/slippery)) -/obj/item/melee/transforming/energy/sword/bananium/attack(mob/living/M, mob/living/user) +/obj/item/melee/energy/sword/bananium/attack(mob/living/M, mob/living/user) ..() - if(active) + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) var/datum/component/slippery/slipper = GetComponent(/datum/component/slippery) slipper.Slip(src, M) -/obj/item/melee/transforming/energy/sword/bananium/throw_impact(atom/hit_atom, throwingdatum) +/obj/item/melee/energy/sword/bananium/throw_impact(atom/hit_atom, throwingdatum) . = ..() - if(active) + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) var/datum/component/slippery/slipper = GetComponent(/datum/component/slippery) slipper.Slip(src, hit_atom) -/obj/item/melee/transforming/energy/sword/bananium/attackby(obj/item/I, mob/living/user, params) - if((world.time > next_trombone_allowed) && istype(I, /obj/item/melee/transforming/energy/sword/bananium)) +/obj/item/melee/energy/sword/bananium/attackby(obj/item/I, mob/living/user, params) + if((world.time > next_trombone_allowed) && istype(I, /obj/item/melee/energy/sword/bananium)) next_trombone_allowed = world.time + 50 to_chat(user, "You slap the two swords together. Sadly, they do not seem to fit!") playsound(src, 'sound/misc/sadtrombone.ogg', 50) return TRUE return ..() -/obj/item/melee/transforming/energy/sword/bananium/transform_weapon(mob/living/user, supress_message_text) +/obj/item/melee/energy/sword/bananium/on_transform(obj/item/source, mob/user, active) . = ..() adjust_slipperiness() -/obj/item/melee/transforming/energy/sword/bananium/ignition_effect(atom/A, mob/user) +/obj/item/melee/energy/sword/bananium/ignition_effect(atom/A, mob/user) return "" //BANANIUM SHIELD @@ -221,72 +178,3 @@ /obj/item/clothing/mask/fakemoustache/sticky/proc/unstick() REMOVE_TRAIT(src, TRAIT_NODROP, STICKY_MOUSTACHE_TRAIT) - -//DARK H.O.N.K. AND CLOWN MECH WEAPONS - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/banana_mortar/bombanana - name = "bombanana mortar" - desc = "Equipment for clown exosuits. Launches exploding banana peels." - icon_state = "mecha_bananamrtr" - projectile = /obj/item/grown/bananapeel/bombanana - projectiles = 8 - projectile_energy_cost = 1000 - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/banana_mortar/bombanana/can_attach(obj/mecha/combat/honker/M) - if(..()) - if(istype(M)) - return TRUE - return FALSE - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/tearstache - name = "\improper HONKeR-6 grenade launcher" - desc = "A weapon for combat exosuits. Launches primed tear-stache grenades." - icon_state = "mecha_grenadelnchr" - projectile = /obj/item/grenade/chem_grenade/teargas/moustache - fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg' - projectiles = 6 - missile_speed = 1.5 - projectile_energy_cost = 800 - equip_cooldown = 60 - det_time = 20 - -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/tearstache/can_attach(obj/mecha/combat/honker/M) - if(..()) - if(istype(M)) - return TRUE - return FALSE - -/obj/mecha/combat/honker/dark - desc = "Produced by \"Tyranny of Honk, INC\", this exosuit is designed as heavy clown-support. This one has been painted black for maximum fun. HONK!" - name = "\improper Dark H.O.N.K" - icon_state = "darkhonker" - max_integrity = 300 - deflect_chance = 15 - armor = list("melee" = 40, "bullet" = 40, "laser" = 50, "energy" = 35, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) - max_temperature = 35000 - operation_req_access = list(ACCESS_SYNDICATE) - internals_req_access = list(ACCESS_SYNDICATE) - wreckage = /obj/structure/mecha_wreckage/honker/dark - max_equip = 4 - -/obj/mecha/combat/honker/dark/add_cell(obj/item/stock_parts/cell/C) - if(C) - C.forceMove(src) - cell = C - return - cell = new /obj/item/stock_parts/cell/hyper(src) - -/obj/mecha/combat/honker/dark/loaded/Initialize() - . = ..() - var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/thrusters/ion(src) - ME.attach(src) - ME = new /obj/item/mecha_parts/mecha_equipment/weapon/honker() - ME.attach(src) - ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/banana_mortar/bombanana()//Needed more offensive weapons. - ME.attach(src) - ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/tearstache()//The mousetrap mortar was not up-to-snuff. - ME.attach(src) - -/obj/structure/mecha_wreckage/honker/dark - name = "\improper Dark H.O.N.K wreckage" - icon_state = "darkhonker-broken" diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm deleted file mode 100644 index f7ce7b036eb..00000000000 --- a/code/game/gamemodes/cult/cult.dm +++ /dev/null @@ -1,182 +0,0 @@ -#define CULT_SCALING_COEFFICIENT 9.3 //Roughly one new cultist at roundstart per this many players - -/datum/game_mode - var/list/datum/mind/cult = list() - -/proc/iscultist(mob/living/M) - return M.mind?.has_antag_datum(/datum/antagonist/cult) - -/datum/team/cult/proc/is_sacrifice_target(datum/mind/mind) - for(var/datum/objective/sacrifice/sac_objective in objectives) - if(mind == sac_objective.target) - return TRUE - return FALSE - -/proc/is_convertable_to_cult(mob/living/M,datum/team/cult/specific_cult) - if(!istype(M)) - return FALSE - if(M.mind) - if(specific_cult && specific_cult.is_sacrifice_target(M.mind)) - return FALSE - if(M.mind.enslaved_to && !iscultist(M.mind.enslaved_to)) - return FALSE - if(M.mind.unconvertable) - return FALSE - else - return FALSE - if(HAS_TRAIT(M, TRAIT_MINDSHIELD) || issilicon(M) || isbot(M) || isdrone(M) || !M.client) - return FALSE //can't convert machines, shielded, or braindead - return TRUE - -/datum/game_mode/cult - name = "cult" - config_tag = "cult" - report_type = "cult" - antag_flag = ROLE_CULTIST - false_report_weight = 10 - restricted_jobs = list("Chaplain","AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Brig Physician", "SolGov Representative", "Prisoner") //WS edit - Brig Physicians, SolGov Rep - protected_jobs = list() - required_players = 29 - required_enemies = 4 - recommended_enemies = 4 - enemy_minimum_age = 14 - - announce_span = "cult" - announce_text = "Some crew members are trying to start a cult to Nar'Sie!\n\ - Cultists: Carry out Nar'Sie's will.\n\ - Crew: Prevent the cult from expanding and drive it out." - - title_icon = "cult" - - var/finished = 0 - - var/acolytes_needed = 10 //for the survive objective - var/acolytes_survived = 0 - - var/list/cultists_to_cult = list() //the cultists we'll convert - - var/datum/team/cult/main_cult - - -/datum/game_mode/cult/pre_setup() - if(CONFIG_GET(flag/protect_roles_from_antagonist)) - restricted_jobs += protected_jobs - - if(CONFIG_GET(flag/protect_assistant_from_antagonist)) - restricted_jobs += "Assistant" - - //cult scaling goes here - recommended_enemies = 1 + round(num_players()/CULT_SCALING_COEFFICIENT) - var/remaining = (num_players() % CULT_SCALING_COEFFICIENT) * 10 //Basically the % of how close the population is toward adding another cultis - if(prob(remaining)) - recommended_enemies++ - - - for(var/cultists_number = 1 to recommended_enemies) - if(!antag_candidates.len) - break - var/datum/mind/cultist = antag_pick(antag_candidates) - antag_candidates -= cultist - cultists_to_cult += cultist - cultist.special_role = ROLE_CULTIST - cultist.restricted_roles = restricted_jobs - log_game("[key_name(cultist)] has been selected as a cultist") - - if(cultists_to_cult.len>=required_enemies) - for(var/antag in cultists_to_cult) - GLOB.pre_setup_antags += antag - return TRUE - else - setup_error = "Not enough cultist candidates" - return FALSE - - -/datum/game_mode/cult/post_setup() - main_cult = new - - for(var/datum/mind/cult_mind in cultists_to_cult) - add_cultist(cult_mind, 0, equip=TRUE, cult_team = main_cult) - GLOB.pre_setup_antags -= cult_mind - - main_cult.setup_objectives() //Wait until all cultists are assigned to make sure none will be chosen as sacrifice. - - . = ..() - -/datum/game_mode/proc/add_cultist(datum/mind/cult_mind, stun , equip = FALSE, datum/team/cult/cult_team = null) - if (!istype(cult_mind)) - return FALSE - - var/datum/antagonist/cult/new_cultist = new() - new_cultist.give_equipment = equip - - if(cult_mind.add_antag_datum(new_cultist,cult_team)) - if(stun) - cult_mind.current.Unconscious(100) - return TRUE - -/datum/game_mode/proc/remove_cultist(datum/mind/cult_mind, silent, stun) - if(cult_mind.current) - var/datum/antagonist/cult/cult_datum = cult_mind.has_antag_datum(/datum/antagonist/cult) - if(!cult_datum) - return FALSE - cult_datum.silent = silent - cult_mind.remove_antag_datum(cult_datum) - if(stun) - cult_mind.current.Unconscious(100) - return TRUE - -/datum/game_mode/cult/proc/check_cult_victory() - return main_cult.check_cult_victory() - - -/datum/game_mode/cult/set_round_result() - ..() - if(check_cult_victory()) - SSticker.mode_result = "win - cult win" - SSticker.news_report = CULT_SUMMON - else - SSticker.mode_result = "loss - staff stopped the cult" - SSticker.news_report = CULT_FAILURE - -/datum/game_mode/cult/proc/check_survive() - var/acolytes_survived = 0 - for(var/datum/mind/cult_mind in cult) - if (cult_mind.current && cult_mind.current.stat != DEAD) - if(cult_mind.current.onCentCom() || cult_mind.current.onSyndieBase()) - acolytes_survived++ - if(acolytes_survived>=acolytes_needed) - return 0 - else - return 1 - - -/datum/game_mode/cult/generate_report() - return "Some stations in your sector have reported evidence of blood sacrifice and strange magic. Ties to the Wizards' Federation have been proven not to exist, and many employees \ - have disappeared; even Central Command employees light-years away have felt strange presences and at times hysterical compulsions. Interrogations point towards this being the work of \ - the cult of Nar'Sie. If evidence of this cult is discovered aboard your station, extreme caution and extreme vigilance must be taken going forward, and all resources should be \ - devoted to stopping this cult. Note that holy water seems to weaken and eventually return the minds of cultists that ingest it, and mindshield implants will prevent conversion \ - altogether." - - - -/datum/game_mode/cult/generate_credit_text() - var/list/round_credits = list() - var/len_before_addition - - round_credits += "

    The Cult of Nar'Sie:

    " - len_before_addition = round_credits.len - for(var/datum/mind/cultist in cult) - round_credits += "

    [cultist.name] as a cult fanatic

    " - - var/datum/objective/eldergod/summon_objective = locate() in main_cult.objectives - if(summon_objective && summon_objective.summoned) - round_credits += "

    Nar'Sie as the eldritch abomination

    " - - if(len_before_addition == round_credits.len) - round_credits += list("

    The cultists have learned the danger of eldritch magic!

    ", "

    They all disappeared!

    ") - round_credits += "
    " - - round_credits += ..() - return round_credits - -#undef CULT_SCALING_COEFFICIENT diff --git a/code/game/gamemodes/devil/devil_agent/devil_agent.dm b/code/game/gamemodes/devil/devil_agent/devil_agent.dm deleted file mode 100644 index c8fb62faba0..00000000000 --- a/code/game/gamemodes/devil/devil_agent/devil_agent.dm +++ /dev/null @@ -1,44 +0,0 @@ -/datum/game_mode/devil/devil_agents - name = "Devil Agents" - config_tag = "devil_agents" - required_players = 25 - required_enemies = 3 - recommended_enemies = 8 - reroll_friendly = 0 - - traitors_possible = 10 //hard limit on traitors if scaling is turned off - num_modifier = 4 - objective_count = 2 - - var/list/devil_target_list = list() //will update to be a child of internal affairs when bothered - var/list/devil_late_joining_list = list() - minimum_devils = 3 - - announce_text = "There are devil agents onboard the station, trying to outbid each other!\n\ - + Devils: Purchase souls and interfere with your rivals!\n\ - + Crew: Resist the lure of sin and remain pure!" - -/datum/game_mode/devil/devil_agents/post_setup() - var/i = 0 - for(var/datum/mind/devil in devils) - i++ - if(i + 1 > devils.len) - i = 0 - devil_target_list[devil] = devils[i + 1] - ..() - -/datum/game_mode/devil/devil_agents/add_devil_objectives(datum/mind/devil_mind, quantity) - ..(devil_mind, quantity - give_outsell_objective(devil_mind)) - -/datum/game_mode/devil/devil_agents/proc/give_outsell_objective(datum/mind/devil) - //If you override this method, have it return the number of objectives added. - if(devil_target_list.len && devil_target_list[devil]) // Is a double agent - var/datum/mind/target_mind = devil_target_list[devil] - var/datum/antagonist/devil/D = target_mind.has_antag_datum(/datum/antagonist/devil) - var/datum/objective/devil/outsell/outsellobjective = new - outsellobjective.owner = devil - outsellobjective.target = target_mind - outsellobjective.update_explanation_text() - D.objectives += outsellobjective - return 1 - return 0 diff --git a/code/game/gamemodes/devil/devil_game_mode.dm b/code/game/gamemodes/devil/devil_game_mode.dm deleted file mode 100644 index 9d002f4a029..00000000000 --- a/code/game/gamemodes/devil/devil_game_mode.dm +++ /dev/null @@ -1,106 +0,0 @@ -/datum/game_mode/devil - name = "devil" - config_tag = "devil" - report_type = "devil" - antag_flag = ROLE_DEVIL - false_report_weight = 1 - protected_jobs = list("Prisoner", "Lawyer", "Curator", "Chaplain", "Head of Security", "Captain", "AI") - required_players = 0 - required_enemies = 1 - recommended_enemies = 4 - reroll_friendly = 1 - enemy_minimum_age = 0 - title_icon = "devil" - - var/traitors_possible = 4 //hard limit on devils if scaling is turned off - var/num_modifier = 0 // Used for gamemodes, that are a child of traitor, that need more than the usual. - var/objective_count = 2 - var/minimum_devils = 1 - - announce_text = "There are devils onboard the station!\n\ - + Devils: Purchase souls and tempt the crew to sin!\n\ - + Crew: Resist the lure of sin and remain pure!" - -/datum/game_mode/devil/pre_setup() - if(CONFIG_GET(flag/protect_roles_from_antagonist)) - restricted_jobs += protected_jobs - if(CONFIG_GET(flag/protect_assistant_from_antagonist)) - restricted_jobs += "Assistant" - - var/num_devils = 1 - - var/tsc = CONFIG_GET(number/traitor_scaling_coeff) - if(tsc) - num_devils = max(minimum_devils, min(round(num_players() / (tsc * 3))+ 2 + num_modifier, round(num_players() / (tsc * 1.5)) + num_modifier)) - else - num_devils = max(minimum_devils, min(num_players(), traitors_possible)) - - for(var/j = 0, j < num_devils, j++) - if (!antag_candidates.len) - break - var/datum/mind/devil = antag_pick(antag_candidates) - devils += devil - devil.special_role = traitor_name - devil.restricted_roles = restricted_jobs - - log_game("[key_name(devil)] has been selected as a [traitor_name]") - antag_candidates.Remove(devil) - - if(devils.len < required_enemies) - setup_error = "Not enough devil candidates" - return FALSE - for(var/antag in devils) - GLOB.pre_setup_antags += antag - return TRUE - - -/datum/game_mode/devil/post_setup() - for(var/datum/mind/devil in devils) - post_setup_finalize(devil) - ..() - return TRUE - -/datum/game_mode/devil/generate_report() - return "Infernal creatures have been seen nearby offering great boons in exchange for souls. This is considered theft against Nanotrasen, as all employment contracts contain a lien on the \ - employee's soul. If anyone sells their soul in error, contact an attorney to overrule the sale. Be warned that if the devil purchases enough souls, a gateway to hell may open." - -/datum/game_mode/devil/proc/post_setup_finalize(datum/mind/devil) - add_devil(devil.current, ascendable = TRUE) //Devil gamemode devils are ascendable. - GLOB.pre_setup_antags -= devil - add_devil_objectives(devil,2) - -/proc/is_devil(mob/living/M) - return M.mind?.has_antag_datum(/datum/antagonist/devil) - -/proc/add_devil(mob/living/L, ascendable = FALSE) - if(!L || !L.mind) - return FALSE - var/datum/antagonist/devil/devil_datum = L.mind.add_antag_datum(/datum/antagonist/devil) - devil_datum.ascendable = ascendable - return devil_datum - -/proc/remove_devil(mob/living/L) - if(!L || !L.mind) - return FALSE - var/datum/antagonist/devil_datum = L.mind.has_antag_datum(/datum/antagonist/devil) - devil_datum.on_removal() - return TRUE - -/datum/game_mode/devil/generate_credit_text() - var/list/round_credits = list() - var/len_before_addition - - round_credits += "

    The Tempting Devils:

    " - len_before_addition = round_credits.len - var/datum/antagonist/devil/devil_info - for(var/datum/mind/devil in devils) - devil_info = devil.has_antag_datum(/datum/antagonist/devil) - if(devil_info) // This should never fail, but better to be sure - round_credits += "

    [devil_info.truename] in the form of [devil.name]

    " - devil_info = null - if(len_before_addition == round_credits.len) - round_credits += list("

    The devils were all utterly destroyed!

    ", "

    The love of Space Jesus shines through!

    ") - round_credits += "
    " - - round_credits += ..() - return round_credits diff --git a/code/game/gamemodes/devil/game_mode.dm b/code/game/gamemodes/devil/game_mode.dm deleted file mode 100644 index f91b863483c..00000000000 --- a/code/game/gamemodes/devil/game_mode.dm +++ /dev/null @@ -1,26 +0,0 @@ -/datum/game_mode - var/list/datum/mind/devils = list() - var/devil_ascended = 0 // Number of arch devils on station - -/datum/game_mode/proc/add_devil_objectives(datum/mind/devil_mind, quantity) - var/list/validtypes = list(/datum/objective/devil/soulquantity, /datum/objective/devil/soulquality, /datum/objective/devil/sintouch, /datum/objective/devil/buy_target) - var/datum/antagonist/devil/D = devil_mind.has_antag_datum(/datum/antagonist/devil) - for(var/i = 1 to quantity) - var/type = pick(validtypes) - var/datum/objective/devil/objective = new type(null) - objective.owner = devil_mind - D.objectives += objective - if(!istype(objective, /datum/objective/devil/buy_target)) - validtypes -= type //prevent duplicate objectives, EXCEPT for buy_target. - else - objective.find_target() - -/datum/game_mode/proc/update_soulless_icons_added(datum/mind/soulless_mind) - var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_SOULLESS] - hud.join_hud(soulless_mind.current) - set_antag_hud(soulless_mind.current, "soulless") - -/datum/game_mode/proc/update_soulless_icons_removed(datum/mind/soulless_mind) - var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_SOULLESS] - hud.leave_hud(soulless_mind.current) - set_antag_hud(soulless_mind.current, null) diff --git a/code/game/gamemodes/devil/objectives.dm b/code/game/gamemodes/devil/objectives.dm deleted file mode 100644 index f3d5ce575f8..00000000000 --- a/code/game/gamemodes/devil/objectives.dm +++ /dev/null @@ -1,113 +0,0 @@ -/datum/objective/devil - -/datum/objective/devil/soulquantity - explanation_text = "You shouldn't see this text. Error:DEVIL1" - target_amount = 4 - -/datum/objective/devil/soulquantity/New() - target_amount = pick(6,7,8) - update_explanation_text() - -/datum/objective/devil/soulquantity/update_explanation_text() - explanation_text = "Purchase, and retain control over at least [target_amount] souls." - -/datum/objective/devil/soulquantity/check_completion() - var/count = 0 - var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(/datum/antagonist/devil) - var/list/souls = devilDatum.soulsOwned - for(var/S in souls) //Just a sanity check. - var/datum/mind/L = S - if(L.soulOwner == owner) - count++ - return count >= target_amount - - - -/datum/objective/devil/soulquality - explanation_text = "You shouldn't see this text. Error:DEVIL2" - var/contractType - var/contractName - -/datum/objective/devil/soulquality/New() - contractType = pick(CONTRACT_POWER, CONTRACT_WEALTH, CONTRACT_PRESTIGE, CONTRACT_MAGIC, CONTRACT_REVIVE, CONTRACT_KNOWLEDGE/*, CONTRACT_UNWILLING*/) - target_amount = pick(1,2) - switch(contractType) - if(CONTRACT_POWER) - contractName = "for power" - if(CONTRACT_WEALTH) - contractName = "for wealth" - if(CONTRACT_PRESTIGE) - contractName = "for prestige" - if(CONTRACT_MAGIC) - contractName = "for magic" - if(CONTRACT_REVIVE) - contractName = "of revival" - if(CONTRACT_KNOWLEDGE) - contractName = "for knowledge" - update_explanation_text() - -/datum/objective/devil/soulquality/update_explanation_text() - explanation_text = "Have mortals sign at least [target_amount] contracts [contractName]" - -/datum/objective/devil/soulquality/check_completion() - var/count = 0 - var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(/datum/antagonist/devil) - var/list/souls = devilDatum.soulsOwned - for(var/S in souls) - var/datum/mind/L = S - if(!L.owns_soul() && L.damnation_type == contractType) - count++ - return count>=target_amount - - - -/datum/objective/devil/sintouch - explanation_text = "You shouldn't see this text. Error:DEVIL3" - -/datum/objective/devil/sintouch/New() - target_amount = pick(4,5) - explanation_text = "Ensure at least [target_amount] mortals are sintouched." - -/datum/objective/devil/sintouch/check_completion() - var/list/touched = get_antag_minds(/datum/antagonist/sintouched) - return touched.len >= target_amount - - -/datum/objective/devil/buy_target - explanation_text = "You shouldn't see this text. Error:DEVIL4" - -/datum/objective/devil/buy_target/update_explanation_text() - if(target) - explanation_text = "Purchase and retain the soul of [target.name], the [target.assigned_role]." - else - explanation_text = "Free objective." - -/datum/objective/devil/buy_target/check_completion() - return target.soulOwner == owner - - -/datum/objective/devil/outsell - explanation_text = "You shouldn't see this text. Error:DEVIL5" - -/datum/objective/devil/outsell/New() - -/datum/objective/devil/outsell/update_explanation_text() - var/datum/antagonist/devil/opponent = target.has_antag_datum(/datum/antagonist/devil) - explanation_text = "Purchase and retain control over more souls than [opponent.truename], known to mortals as [target.name], the [target.assigned_role]." - -/datum/objective/devil/outsell/check_completion() - var/selfcount = 0 - var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(/datum/antagonist/devil) - var/list/souls = devilDatum.soulsOwned - for(var/S in souls) - var/datum/mind/L = S - if(L.soulOwner == owner) - selfcount++ - var/targetcount = 0 - devilDatum = target.has_antag_datum(/datum/antagonist/devil) - souls = devilDatum.soulsOwned - for(var/S in souls) - var/datum/mind/L = S - if(L.soulOwner == target) - targetcount++ - return selfcount > targetcount diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm index b8dcd669d38..f8d68119909 100644 --- a/code/game/gamemodes/dynamic/dynamic.dm +++ b/code/game/gamemodes/dynamic/dynamic.dm @@ -435,7 +435,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) /// Picks a random roundstart rule from the list given as an argument and executes it. /datum/game_mode/dynamic/proc/picking_roundstart_rule(list/drafted_rules = list(), forced = FALSE) - var/datum/dynamic_ruleset/roundstart/starting_rule = pickweight(drafted_rules) + var/datum/dynamic_ruleset/roundstart/starting_rule = pick_weight(drafted_rules) if(!starting_rule) log_game("DYNAMIC: Couldn't pick a starting ruleset. No rulesets available") return FALSE @@ -450,7 +450,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) if(drafted_rules.len <= 0) log_game("DYNAMIC: Picking [starting_rule.name] failed due to blocking_rules and no more rulesets available. Report this.") return FALSE - starting_rule = pickweight(drafted_rules) + starting_rule = pick_weight(drafted_rules) // Check if the ruleset is highlander and if a highlander ruleset has been executed else if(starting_rule.flags & HIGHLANDER_RULESET) // Should already be filtered out, but making sure. Check filtering at end of proc if reported. if(threat_level > GLOB.dynamic_stacking_limit && GLOB.dynamic_no_stacking) @@ -459,14 +459,14 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) if(drafted_rules.len <= 0) log_game("DYNAMIC: Picking [starting_rule.name] failed due to no highlander stacking and no more rulesets available. Report this.") return FALSE - starting_rule = pickweight(drafted_rules) + starting_rule = pick_weight(drafted_rules) // With low pop and high threat there might be rulesets that get executed with no valid candidates. else if(!starting_rule.ready()) // Should already be filtered out, but making sure. Check filtering at end of proc if reported. drafted_rules -= starting_rule if(drafted_rules.len <= 0) log_game("DYNAMIC: Picking [starting_rule.name] failed because there were not enough candidates and no more rulesets available. Report this.") return FALSE - starting_rule = pickweight(drafted_rules) + starting_rule = pick_weight(drafted_rules) log_game("DYNAMIC: Picked a ruleset: [starting_rule.name]") @@ -512,7 +512,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) /// Picks a random midround OR latejoin rule from the list given as an argument and executes it. /// Also this could be named better. /datum/game_mode/dynamic/proc/picking_midround_latejoin_rule(list/drafted_rules = list(), forced = FALSE) - var/datum/dynamic_ruleset/rule = pickweight(drafted_rules) + var/datum/dynamic_ruleset/rule = pick_weight(drafted_rules) if(!rule) return FALSE @@ -524,7 +524,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) drafted_rules -= rule if(drafted_rules.len <= 0) return FALSE - rule = pickweight(drafted_rules) + rule = pick_weight(drafted_rules) // Check if the ruleset is highlander and if a highlander ruleset has been executed else if(rule.flags & HIGHLANDER_RULESET) if(threat_level > GLOB.dynamic_stacking_limit && GLOB.dynamic_no_stacking) @@ -532,7 +532,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) drafted_rules -= rule if(drafted_rules.len <= 0) return FALSE - rule = pickweight(drafted_rules) + rule = pick_weight(drafted_rules) if(!rule.repeatable) if(rule.ruletype == "Latejoin") diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets.dm b/code/game/gamemodes/dynamic/dynamic_rulesets.dm index 1e6a2da4d86..7163dd0ca54 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets.dm @@ -35,7 +35,7 @@ var/list/enemy_roles = list() /// If enemy_roles was set, this is the amount of enemy job workers needed per threat_level range (0-10,10-20,etc) IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS. var/required_enemies = list(1,1,0,0,0,0,0,0,0,0) - /// The rule needs this many candidates (post-trimming) to be executed (example: Cult needs 4 players at round start) + /// The rule needs this many candidates (post-trimming) to be executed var/required_candidates = 0 /// 1 -> 9, probability for this rule to be picked against other rules var/weight = 5 diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index 613182cea21..a0166efb556 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -335,29 +335,6 @@ else return ..() -////////////////////////////////////////////// -// // -// BLOB (GHOST) // -// // -////////////////////////////////////////////// - -/datum/dynamic_ruleset/midround/from_ghosts/blob - name = "Blob" - antag_datum = /datum/antagonist/blob - antag_flag = ROLE_BLOB - enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain") - required_enemies = list(2,2,1,1,1,1,1,0,0,0) - required_candidates = 1 - weight = 4 - cost = 10 - requirements = list(101,101,101,80,60,50,30,20,10,10) - high_population_requirement = 50 - repeatable = TRUE - -/datum/dynamic_ruleset/midround/from_ghosts/blob/generate_ruleset_body(mob/applicant) - var/body = applicant.become_overmind() - return body - ////////////////////////////////////////////// // // // XENOMORPH (GHOST) // diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm index 8c8fe19d0a9..70d9c840520 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm @@ -191,65 +191,6 @@ M.add_antag_datum(new antag_datum()) return TRUE -////////////////////////////////////////////// -// // -// BLOOD CULT // -// // -////////////////////////////////////////////// - -/datum/dynamic_ruleset/roundstart/bloodcult - name = "Blood Cult" - antag_flag = ROLE_CULTIST - antag_datum = /datum/antagonist/cult - minimum_required_age = 14 - restricted_roles = list("AI", "Cyborg", "Prisoner", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Research Director", "Chief Medical Officer", "Chief Engineer", "SolGov Representative") - required_candidates = 2 - weight = 3 - cost = 35 - requirements = list(100,90,80,60,40,30,10,10,10,10) - high_population_requirement = 10 - flags = HIGHLANDER_RULESET - antag_cap = list(2,2,2,3,3,4,4,4,4,4) - var/datum/team/cult/main_cult - -/datum/dynamic_ruleset/roundstart/bloodcult/ready(forced = FALSE) - required_candidates = antag_cap[indice_pop] - . = ..() - -/datum/dynamic_ruleset/roundstart/bloodcult/pre_execute() - . = ..() - var/cultists = antag_cap[indice_pop] - mode.antags_rolled += cultists - for(var/cultists_number = 1 to cultists) - if(candidates.len <= 0) - break - var/mob/M = pick_n_take(candidates) - assigned += M.mind - M.mind.special_role = ROLE_CULTIST - M.mind.restricted_roles = restricted_roles - GLOB.pre_setup_antags += M.mind - return TRUE - -/datum/dynamic_ruleset/roundstart/bloodcult/execute() - main_cult = new - for(var/datum/mind/M in assigned) - var/datum/antagonist/cult/new_cultist = new antag_datum() - new_cultist.cult_team = main_cult - new_cultist.give_equipment = TRUE - M.add_antag_datum(new_cultist) - GLOB.pre_setup_antags -= M - main_cult.setup_objectives() - return TRUE - -/datum/dynamic_ruleset/roundstart/bloodcult/round_result() - ..() - if(main_cult.check_cult_victory()) - SSticker.mode_result = "win - cult win" - SSticker.news_report = CULT_SUMMON - else - SSticker.mode_result = "loss - staff stopped the cult" - SSticker.news_report = CULT_FAILURE - ////////////////////////////////////////////// // // // NUCLEAR OPERATIVES // @@ -382,93 +323,3 @@ for(var/datum/mind/V in assigned) V.assigned_role = "Clown Operative" V.special_role = "Clown Operative" - -////////////////////////////////////////////// -// // -// DEVIL // -// // -////////////////////////////////////////////// - -/datum/dynamic_ruleset/roundstart/devil - name = "Devil" - antag_flag = ROLE_DEVIL - antag_datum = /datum/antagonist/devil - restricted_roles = list("Lawyer", "Curator", "Chaplain", "Prisoner", "Head of Security", "Captain", "AI") - required_candidates = 1 - weight = 3 - cost = 0 - requirements = list(101,101,101,101,101,101,101,101,101,101) - high_population_requirement = 101 - antag_cap = list(1,1,1,2,2,2,3,3,3,4) - -/datum/dynamic_ruleset/roundstart/devil/pre_execute() - . = ..() - var/num_devils = antag_cap[indice_pop] - mode.antags_rolled += num_devils - - for(var/j = 0, j < num_devils, j++) - if (!candidates.len) - break - var/mob/devil = pick_n_take(candidates) - assigned += devil.mind - devil.mind.special_role = ROLE_DEVIL - devil.mind.restricted_roles = restricted_roles - GLOB.pre_setup_antags += devil.mind - - log_game("[key_name(devil)] has been selected as a devil") - return TRUE - -/datum/dynamic_ruleset/roundstart/devil/execute() - for(var/datum/mind/devil in assigned) - add_devil(devil.current, ascendable = TRUE) - GLOB.pre_setup_antags -= devil - add_devil_objectives(devil,2) - return TRUE - -/datum/dynamic_ruleset/roundstart/devil/proc/add_devil_objectives(datum/mind/devil_mind, quantity) - var/list/validtypes = list(/datum/objective/devil/soulquantity, /datum/objective/devil/soulquality, /datum/objective/devil/sintouch, /datum/objective/devil/buy_target) - var/datum/antagonist/devil/D = devil_mind.has_antag_datum(/datum/antagonist/devil) - for(var/i = 1 to quantity) - var/type = pick(validtypes) - var/datum/objective/devil/objective = new type(null) - objective.owner = devil_mind - D.objectives += objective - if(!istype(objective, /datum/objective/devil/buy_target)) - validtypes -= type - else - objective.find_target() - -////////////////////////////////////////////// -// // -// METEOR // -// // -////////////////////////////////////////////// - -/datum/dynamic_ruleset/roundstart/meteor - name = "Meteor" - persistent = TRUE - required_candidates = 0 - weight = 3 - cost = 0 - requirements = list(101,101,101,101,101,101,101,101,101,101) - high_population_requirement = 101 - var/meteordelay = 2000 - var/nometeors = 0 - var/rampupdelta = 5 - -/datum/dynamic_ruleset/roundstart/meteor/rule_process() - if(nometeors || meteordelay > world.time - SSticker.round_start_time) - return - - var/list/wavetype = GLOB.meteors_normal - var/meteorminutes = (world.time - SSticker.round_start_time - meteordelay) / 10 / 60 - - if (prob(meteorminutes)) - wavetype = GLOB.meteors_threatening - - if (prob(meteorminutes/2)) - wavetype = GLOB.meteors_catastrophic - - var/ramp_up_final = clamp(round(meteorminutes/rampupdelta), 1, 10) - - spawn_meteors(ramp_up_final, wavetype) diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm index 56f873a50bd..7db8207c9d7 100644 --- a/code/game/gamemodes/events.dm +++ b/code/game/gamemodes/events.dm @@ -47,11 +47,10 @@ for(var/area/A in GLOB.sortedAreas) if(!A.requires_power || A.always_unpowered) continue - if(!istype(A, /area/shuttle)) - A.power_light = TRUE - A.power_equip = TRUE - A.power_environ = TRUE - A.power_change() + A.power_light = TRUE + A.power_equip = TRUE + A.power_environ = TRUE + A.power_change() /proc/power_restore_quick() priority_announce("All SMESs have been recharged. We apologize for the inconvenience.", "Power Systems Nominal", 'sound/ai/poweron.ogg') diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 391ad852664..eca77ba4df5 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -149,7 +149,7 @@ message_admins("Convert_roundtype failed due to no valid modes to convert to. Please report this error to the Coders.") return null - replacementmode = pickweight(usable_modes) + replacementmode = pick_weight(usable_modes) var/matc = CONFIG_GET(number/midround_antag_time_check) if(world.time >= (matc * 600)) @@ -272,7 +272,7 @@ reports += config.mode_reports[report_type] Count++ for(var/i in Count to rand(3,5)) //Between three and five wrong entries on the list. - var/false_report_type = pickweightAllowZero(report_weights) + var/false_report_type = pick_weight_allow_zero(report_weights) report_weights[false_report_type] = 0 //Make it so the same false report won't be selected twice reports += config.mode_reports[false_report_type] @@ -418,9 +418,6 @@ return max(0, enemy_minimum_age - C.player_age) -/datum/game_mode/proc/remove_antag_for_borging(datum/mind/newborgie) - SSticker.mode.remove_cultist(newborgie, 0, 0) - /datum/game_mode/proc/generate_station_goals() var/list/possible = list() for(var/T in subtypesof(/datum/station_goal)) diff --git a/code/game/gamemodes/meteor/meteor.dm b/code/game/gamemodes/meteor/meteor.dm deleted file mode 100644 index 9149f5da35f..00000000000 --- a/code/game/gamemodes/meteor/meteor.dm +++ /dev/null @@ -1,61 +0,0 @@ -/datum/game_mode/meteor - name = "meteor" - config_tag = "meteor" - report_type = "meteor" - false_report_weight = 1 - var/meteordelay = 2000 - var/nometeors = 0 - var/rampupdelta = 5 - required_players = 0 - - announce_span = "danger" - announce_text = "A major meteor shower is bombarding the station! The crew needs to evacuate or survive the onslaught." - - title_icon = "meteor" - -/datum/game_mode/meteor/process() - if(nometeors || meteordelay > world.time - SSticker.round_start_time) - return - - var/list/wavetype = GLOB.meteors_normal - var/meteorminutes = (world.time - SSticker.round_start_time - meteordelay) / 10 / 60 - - - if (prob(meteorminutes)) - wavetype = GLOB.meteors_threatening - - if (prob(meteorminutes/2)) - wavetype = GLOB.meteors_catastrophic - - var/ramp_up_final = clamp(round(meteorminutes/rampupdelta), 1, 10) - - spawn_meteors(ramp_up_final, wavetype) - - -/datum/game_mode/meteor/special_report() - var/survivors = 0 - var/list/survivor_list = list() - - for(var/mob/living/player in GLOB.player_list) - if(player.stat != DEAD) - ++survivors - - if(player.onCentCom()) - survivor_list += "[player.real_name] escaped to the safety of CentCom." - else if(player.onSyndieBase()) - survivor_list += "[player.real_name] escaped to the (relative) safety of Syndicate Space." - else - survivor_list += "[player.real_name] survived but is stranded without any hope of rescue." - - if(survivors) - return "
    The following survived the meteor storm:
    [survivor_list.Join("
    ")]
    " - else - return "
    Nobody survived the meteor storm!
    " - -/datum/game_mode/meteor/set_round_result() - ..() - SSticker.mode_result = "end - evacuation" - -/datum/game_mode/meteor/generate_report() - return "[pick("Asteroids have", "Meteors have", "Large rocks have", "Stellar minerals have", "Space hail has", "Debris has")] been detected near your station, and a collision is possible, \ - though unlikely. Be prepared for largescale impacts and destruction. Please note that the debris will prevent the escape shuttle from arriving quickly." diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index 7e9d90bb482..93f3e5d98a1 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -50,7 +50,7 @@ GLOBAL_LIST_INIT(meteorsC, list(/obj/effect/meteor/dust)) //for space dust event max_i-- if(max_i<=0) return - var/Me = pickweight(meteortypes) + var/Me = pick_weight(meteortypes) var/obj/effect/meteor/M = new Me(pickedstart, pickedgoal) M.dest = pickedgoal diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 85ab6ee64a1..db73b7b797b 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -118,9 +118,9 @@ ears = /obj/item/radio/headset/syndicate/alt l_pocket = /obj/item/modular_computer/tablet/nukeops id = /obj/item/card/id/syndicate - belt = /obj/item/gun/ballistic/automatic/pistol/syndicate + belt = /obj/item/gun/ballistic/automatic/pistol/ringneck backpack_contents = list(/obj/item/storage/box/survival/syndie=1,\ - /obj/item/kitchen/knife/combat/survival) + /obj/item/melee/knife/survival) var/tc = 25 var/command_radio = FALSE @@ -165,11 +165,11 @@ r_pocket = /obj/item/tank/internals/emergency_oxygen/engi internals_slot = ITEM_SLOT_RPOCKET belt = /obj/item/storage/belt/military - r_hand = /obj/item/gun/ballistic/shotgun/bulldog + r_hand = /obj/item/gun/ballistic/shotgun/automatic/bulldog backpack_contents = list(/obj/item/storage/box/survival/syndie=1,\ /obj/item/tank/jetpack/oxygen/harness=1,\ - /obj/item/gun/ballistic/automatic/pistol/syndicate=1,\ - /obj/item/kitchen/knife/combat/survival) + /obj/item/gun/ballistic/automatic/pistol/ringneck=1,\ + /obj/item/melee/knife/survival) /datum/game_mode/nuclear/generate_credit_text() diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 65e161f2176..ec74c51acc9 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -58,18 +58,11 @@ GLOBAL_LIST_EMPTY(objectives) /datum/objective/proc/considered_escaped(datum/mind/M) if(!considered_alive(M)) return FALSE - if(considered_exiled(M)) - return FALSE - if(M.force_escaped) - return TRUE - if(SSticker.force_ending || SSticker.mode.station_was_nuked) // Just let them win. + if(SSticker.force_ending) // Just let them win. return TRUE if(SSshuttle.jump_mode != BS_JUMP_COMPLETED) return FALSE - var/turf/location = get_turf(M.current) - if(!location || istype(location, /turf/open/floor/mineral/plastitanium/red/brig)) // Fails if they are in the shuttle brig - return FALSE - return location.onCentCom() || location.onSyndieBase() + return TRUE /datum/objective/proc/check_completion() return completed @@ -233,7 +226,7 @@ GLOBAL_LIST_EMPTY(objectives) ..() /datum/objective/maroon/check_completion() - return !target || !considered_alive(target) || (!target.current.onCentCom() && !target.current.onSyndieBase()) + return !target || !considered_alive(target) /datum/objective/maroon/update_explanation_text() if(target && target.current) @@ -334,7 +327,7 @@ GLOBAL_LIST_EMPTY(objectives) name = "detain" /datum/objective/jailbreak/detain/check_completion() - return completed || (!considered_escaped(target) && (considered_alive(target) && target.current.onCentCom())) + return completed || (!considered_escaped(target) && (considered_alive(target))) /datum/objective/jailbreak/detain/update_explanation_text() ..() diff --git a/code/game/gamemodes/objective_items.dm b/code/game/gamemodes/objective_items.dm index 6a4787607ef..405ca316b7d 100644 --- a/code/game/gamemodes/objective_items.dm +++ b/code/game/gamemodes/objective_items.dm @@ -155,17 +155,6 @@ return TRUE return FALSE -/datum/objective_item/steal/slime - name = "an unused sample of slime extract." - targetitem = /obj/item/slime_extract - difficulty = 3 - excludefromjob = list("Research Director","Scientist") - -/datum/objective_item/steal/slime/check_special_completion(obj/item/slime_extract/E) - if(E.Uses > 0) - return 1 - return 0 - /datum/objective_item/steal/blackbox name = "The Blackbox." targetitem = /obj/item/blackbox diff --git a/code/game/gamemodes/sandbox/h_sandbox.dm b/code/game/gamemodes/sandbox/h_sandbox.dm index 69679c95079..9021d6e783d 100644 --- a/code/game/gamemodes/sandbox/h_sandbox.dm +++ b/code/game/gamemodes/sandbox/h_sandbox.dm @@ -38,7 +38,6 @@ GLOBAL_VAR_INIT(hsboxspawn, TRUE) "Standard Tools", "Spawn Flashlight" = "hsbspawn&path=[/obj/item/flashlight]", "Spawn Toolbox" = "hsbspawn&path=[/obj/item/storage/toolbox/mechanical]", - "Spawn Experimental Welding tool" = "hsbspawn&path=[/obj/item/weldingtool/experimental]", "Spawn Light Replacer" = "hsbspawn&path=[/obj/item/lightreplacer]", "Spawn Medical Kit" = "hsbspawn&path=[/obj/item/storage/firstaid/regular]", "Spawn All-Access ID" = "hsbaaid", diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index c3895f30227..83d7a32d1fd 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -56,7 +56,7 @@ if(isliving(wizard.current) && wizard.current.stat!=DEAD) return FALSE - for(var/obj/item/phylactery/P in GLOB.poi_list) //TODO : IsProperlyDead() + for(var/obj/item/phylactery/P in SSpoints_of_interest.other_points_of_interest) //TODO : IsProperlyDead() if(P.mind && P.mind.has_antag_datum(/datum/antagonist/wizard)) return FALSE diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index e63b3f75fb2..452cd39b5d5 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -339,14 +339,15 @@ materials.use_materials(materials_used) if(is_stack) - var/obj/item/stack/N = new being_built.build_path(A, multiplier, FALSE) - N.update_appearance() - N.autolathe_crafted(src) + var/obj/item/stack/new_item = new being_built.build_path(A, multiplier, FALSE) + new_item.update_appearance() + new_item.autolathe_crafted(src) + SSblackbox.record_feedback("nested tally", "item_printed", 1, list("[type]", "[new_item.type]")) else for(var/i=1, i<=multiplier, i++) var/obj/item/new_item = new being_built.build_path(A) new_item.autolathe_crafted(src) - + SSblackbox.record_feedback("nested tally", "item_printed", 1, list("[type]", "[new_item.type]")) if(length(picked_materials)) new_item.set_custom_materials(picked_materials, 1 / multiplier) //Ensure we get the non multiplied amount for(var/x in picked_materials) @@ -446,5 +447,5 @@ //Called when the object is constructed by an autolathe //Has a reference to the autolathe so you can do !!FUN!! things with hacked lathes -/obj/item/proc/autolathe_crafted(obj/machinery/autolathe/A) +/obj/item/proc/autolathe_crafted(obj/machinery/autolathe/lathe) return diff --git a/code/game/machinery/bank_machine.dm b/code/game/machinery/bank_machine.dm index 83f3e366e8a..cdcccc307a8 100644 --- a/code/game/machinery/bank_machine.dm +++ b/code/game/machinery/bank_machine.dm @@ -33,7 +33,7 @@ if(value) var/datum/bank_account/ship_account = ship_account_ref.resolve() if(ship_account) - ship_account.adjust_money(value, "deposit") + ship_account.adjust_money(value, CREDIT_LOG_DEPOSIT) to_chat(user, "You deposit [I]. The [ship_account.account_holder] Budget is now [ship_account.account_balance] cr.") qdel(I) return @@ -53,7 +53,7 @@ playsound(src, 'sound/items/poster_being_created.ogg', 100, TRUE) syphoning_credits += 200 - ship_account.adjust_money(-200) + ship_account.adjust_money(-200, "siphon") if(next_warning < world.time && prob(15)) var/area/A = get_area(loc) var/message = "Unauthorized credit withdrawal underway in [initial(A.name)]!!" diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index fda41eab778..21eb3cc362b 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -99,6 +99,11 @@ /obj/machinery/camera/proc/create_prox_monitor() if(!proximity_monitor) proximity_monitor = new(src, 1) + RegisterSignal(proximity_monitor, COMSIG_PARENT_QDELETING, PROC_REF(proximity_deleted)) + +/obj/machinery/camera/proc/proximity_deleted() + SIGNAL_HANDLER + proximity_monitor = null /obj/machinery/camera/proc/set_area_motion(area/A) area_motion = A diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index ad4cd3834f0..c6a276f4ff7 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -39,7 +39,7 @@ var/internal_radio = TRUE var/obj/item/radio/radio var/radio_key = /obj/item/encryptionkey/headset_com - var/radio_channel = RADIO_CHANNEL_COMMAND + var/radio_channel = RADIO_CHANNEL_EMERGENCY var/obj/effect/countdown/clonepod/countdown @@ -64,12 +64,9 @@ begin_processing() /obj/machinery/clonepod/Destroy() - var/mob/living/mob_occupant = occupant - go_out() - if(mob_occupant) - log_cloning("[key_name(mob_occupant)] ejected from [src] at [AREACOORD(src)] due to Destroy().") QDEL_NULL(radio) QDEL_NULL(countdown) + QDEL_NULL(occupant) if(connected) connected.DetachCloner(src) QDEL_LIST(unattached_flesh) diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index 3a36603c507..3def408de87 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -123,3 +123,7 @@ . = ..() if(!user.canUseTopic(src, !issilicon(user)) || !is_operational) return + +/obj/machinery/computer/examine_more(mob/user) + ui_interact(user) + return ..() diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index d7f80fc4568..33ffc2de511 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -1,7 +1,6 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( /obj/item/storage/box/snappops = 2, /obj/item/toy/talking/AI = 2, - /obj/item/toy/talking/codex_gigas = 2, /obj/item/clothing/under/syndicate/tacticool = 2, /obj/item/toy/sword = 2, /obj/item/toy/gun = 2, @@ -17,7 +16,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( /obj/item/toy/prize/honk = 1, /obj/item/toy/prize/marauder = 1, /obj/item/toy/prize/seraph = 1, - /obj/item/toy/prize/mauler = 1, + /obj/item/toy/prize/touro = 1, /obj/item/toy/prize/odysseus = 1, /obj/item/toy/prize/phazon = 1, /obj/item/toy/prize/reticence = 1, @@ -44,7 +43,6 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( /obj/item/extendohand/acme = 1, /obj/item/hot_potato/harmless/toy = 1, /obj/item/card/emagfake = 1, - /obj/item/clothing/shoes/wheelys = 2, /obj/item/clothing/shoes/kindleKicks = 2, /obj/item/toy/plush/goatplushie/angry/realgoat = 2, /obj/item/toy/plush/moth = 2, @@ -74,7 +72,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( var/list/gameodds = list(/obj/item/circuitboard/computer/arcade/battle = 49, /obj/item/circuitboard/computer/arcade/orion_trail = 49, /obj/item/circuitboard/computer/arcade/amputation = 2) - var/thegame = pickweight(gameodds) + var/thegame = pick_weight(gameodds) var/obj/item/circuitboard/CB = new thegame() new CB.build_path(loc, CB) return INITIALIZE_HINT_QDEL @@ -95,9 +93,9 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( return var/prizeselect if(prize_override) - prizeselect = pickweight(prize_override) + prizeselect = pick_weight(prize_override) else - prizeselect = pickweight(GLOB.arcade_prize_pool) + prizeselect = pick_weight(GLOB.arcade_prize_pool) var/atom/movable/the_prize = new prizeselect(get_turf(src)) playsound(src, 'sound/machines/machine_vend.ogg', 50, TRUE, extrarange = -3) visible_message("[src] dispenses [the_prize]!", "You hear a chime and a clunk.") @@ -120,9 +118,9 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( num_of_prizes = rand(0,2) for(var/i = num_of_prizes; i > 0; i--) if(override) - empprize = pickweight(prize_override) + empprize = pick_weight(prize_override) else - empprize = pickweight(GLOB.arcade_prize_pool) + empprize = pick_weight(GLOB.arcade_prize_pool) new empprize(loc) explosion(loc, -1, 0, 1+num_of_prizes, flame_range = 1+num_of_prizes) @@ -295,7 +293,6 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( if(obj_flags & EMAGGED) new /obj/effect/spawner/newbomb/timer/syndicate(loc) - new /obj/item/clothing/head/collectable/petehat(loc) message_admins("[ADMIN_LOOKUPFLW(usr)] has outbombed Cuban Pete and been awarded a bomb.") log_game("[key_name(usr)] has outbombed Cuban Pete and been awarded a bomb.") Reset() @@ -363,13 +360,13 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( return /obj/machinery/computer/arcade/battle/examine_more(mob/user) - var/list/msg = list("You notice some writing scribbled on the side of [src]...") - msg += "\tsmart -> defend, defend, light attack" - msg += "\tshotgun -> defend, defend, power attack" - msg += "\tshort temper -> counter, counter, counter" - msg += "\tpoisonous -> light attack, light attack, light attack" - msg += "\tchonker -> power attack, power attack, power attack" - return msg + . = ..() + . += "You notice some writing scribbled on the side of [src]..." + . += "\tsmart -> defend, defend, light attack" + . += "\tshotgun -> defend, defend, power attack" + . += "\tshort temper -> counter, counter, counter" + . += "\tpoisonous -> light attack, light attack, light attack" + . += "\tchonker -> power attack, power attack, power attack" /obj/machinery/computer/arcade/battle/emag_act(mob/user) if(obj_flags & EMAGGED) @@ -531,11 +528,11 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( if(gamers[gamer] > 2 && prob(20 * gamers[gamer])) - Radio.set_frequency(FREQ_COMMAND) - Radio.talk_into(src, "SECURITY ALERT: Crewmember [gamer] recorded displaying antisocial tendencies in [get_area(src)]. Please watch for violent behavior.", FREQ_COMMAND) + Radio.set_frequency(FREQ_EMERGENCY) + Radio.talk_into(src, "SECURITY ALERT: Crewmember [gamer] recorded displaying antisocial tendencies in [get_area(src)]. Please watch for violent behavior.", FREQ_EMERGENCY) - Radio.set_frequency(FREQ_COMMAND) - Radio.talk_into(src, "PSYCH ALERT: Crewmember [gamer] recorded displaying antisocial tendencies in [get_area(src)]. Please schedule psych evaluation.", FREQ_COMMAND) + Radio.set_frequency(FREQ_EMERGENCY) + Radio.talk_into(src, "PSYCH ALERT: Crewmember [gamer] recorded displaying antisocial tendencies in [get_area(src)]. Please schedule psych evaluation.", FREQ_EMERGENCY) gamers[gamer] = -1 @@ -638,7 +635,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( event = ORION_TRAIL_COLLISION event() else if(prob(75-gamerSkill)) - event = pickweight(events) + event = pick_weight(events) if(lings_aboard) if(event == ORION_TRAIL_LING || prob(55-gamerSkill)) event = ORION_TRAIL_LING_ATTACK diff --git a/code/game/machinery/computer/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm index 81d2860473c..6e8b1b447cf 100644 --- a/code/game/machinery/computer/atmos_control.dm +++ b/code/game/machinery/computer/atmos_control.dm @@ -42,6 +42,9 @@ /obj/machinery/air_sensor/atmos/incinerator_tank name = "incinerator chamber gas sensor" id_tag = ATMOS_GAS_MONITOR_SENSOR_INCINERATOR +/obj/machinery/air_sensor/external + name = "external atmosphere sensor" + id_tag = GAS_MONITOR_SENSOR_EXTERNAL /obj/machinery/air_sensor/update_icon_state() icon_state = "gsensor[on]" @@ -306,7 +309,11 @@ GLOBAL_LIST_EMPTY(atmos_air_controllers) icon_state = "computer-solgov" deconpath = /obj/structure/frame/computer/solgov -// This hacky madness is the evidence of the fact that a lot of machines were never meant to be constructable, im so sorry you had to see this +/obj/machinery/computer/atmos_control/external + sensors = list(GAS_MONITOR_SENSOR_EXTERNAL = "External Atmospherics Monitoring") + name = "External Atmospherics Monitoring" +//tbh I would love it if someone could make this like. Unique like ship camera networks & etc. +//This hacky madness is the evidence of the fact that a lot of machines were never meant to be constructable, im so sorry you had to see this /obj/machinery/computer/atmos_control/tank/proc/reconnect(mob/user) var/list/IO = list() var/datum/radio_frequency/freq = SSradio.return_frequency(frequency) diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index c1a1171e57c..d8c3f460911 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -44,6 +44,10 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) ui = new(user, src, "CrewConsole") ui.open() +/obj/machinery/computer/crew/examine_more(mob/user) + interact(user) //crew monitors use the interact method instead of ui_interact, for some reason. Not very consistent. + return ..() + /datum/crewmonitor/ui_close(mob/user) ui_sources -= user return ..() diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 17c5dc2ef39..9bd38b62c9f 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -168,7 +168,6 @@ else dat += "
    [bdat]" - else else dat += "{Log In}" var/datum/browser/popup = new(user, "med_rec", "Medical Records Console", 600, 400) @@ -375,7 +374,6 @@ if(istype(active1.fields["photo_side"], /obj/item/photo)) var/obj/item/photo/P = active1.fields["photo_side"] P.show(usr) - else else if(href_list["p_stat"]) if(active1) @@ -488,16 +486,12 @@ for(var/datum/data/record/R in GLOB.data_core.medical) if((lowertext(R.fields["name"]) == t1 || t1 == lowertext(R.fields["id"]) || t1 == lowertext(R.fields["b_dna"]))) active2 = R - else - //Foreach continue //goto(3229) if(!(active2)) temp = text("Could not locate record [].", sanitize(t1)) else for(var/datum/data/record/E in GLOB.data_core.general) if((E.fields["name"] == active2.fields["name"] || E.fields["id"] == active2.fields["id"])) active1 = E - else - //Foreach continue //goto(3334) screen = 4 else if(href_list["print_p"]) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 37759d04b13..cdfad155618 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -228,7 +228,6 @@ dat += "New Security Record

    " dat += "Delete Record (ALL)
    Print Record
    Print Wanted Poster
    Print Missing Persons Poster
    Back

    " dat += "{Log Out}" - else else dat += "{Log In}" var/datum/browser/popup = new(user, "secure_rec", "Security Records Console", 600, 400) diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index f196fc6dc77..a62780aad05 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -13,14 +13,22 @@ . += "It has \a [circuit] installed." -/obj/structure/frame/deconstruct(disassembled = TRUE) +/obj/structure/frame/deconstruct(disassembled = TRUE, scrapped = FALSE) if(!(flags_1 & NODECONSTRUCT_1)) new /obj/item/stack/sheet/metal(loc, 5) - if(circuit) + if(circuit && !scrapped) circuit.forceMove(loc) circuit = null qdel(src) +/obj/structure/frame/deconstruct_act(mob/living/user, obj/item/I) + . = ..() + if(!I.tool_start_check(user, amount=0)) + return FALSE + if(I.use_tool(src, user, 3 SECONDS, volume=0)) + to_chat(user, "You cut apart \the [src].", "You cut apart \the [src].") + deconstruct() + return TRUE /obj/structure/frame/machine name = "machine frame" diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 6b63a3ae83b..9bad37507a3 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -151,7 +151,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod/retro, 17) /obj/item/reagent_containers/hypospray/CMO, /obj/item/clothing/accessory/medal/gold/captain, /obj/item/clothing/gloves/krav_maga, - /obj/item/nullrod, /obj/item/tank/jetpack, /obj/item/documents, /obj/item/nuke_core_container diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 589393479ff..3dedf5887d0 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -79,6 +79,14 @@ return return ..() +/obj/structure/barricade/wooden/deconstruct_act(mob/living/user, obj/item/I) + . = ..() + if(!I.tool_start_check(user, amount=0)) + return FALSE + if (I.use_tool(src, user, 2 SECONDS, volume=0)) + to_chat(user, "You cut apart [src].") + deconstruct() + return TRUE /obj/structure/barricade/wooden/crude name = "crude plank barricade" @@ -111,6 +119,24 @@ smoothing_groups = list(SMOOTH_GROUP_SANDBAGS) canSmoothWith = list(SMOOTH_GROUP_SANDBAGS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SECURITY_BARRICADE) +/obj/structure/barricade/sandbags/MouseDrop(over_object, src_location, over_location) + . = ..() + if(over_object == usr && Adjacent(usr)) + if(src.flags_1 & NODECONSTRUCT_1) + return + if(!usr.canUseTopic(src, BE_CLOSE, ismonkey(usr))) + return + usr.visible_message(span_notice("[usr] begins pulling apart \the [src.name]..."), span_notice("You begin pulling apart \the [src.name]...")) + if(do_after(usr, 30, usr)) + deconstruct() + +/obj/structure/barricade/sandbags/make_debris() + new /obj/item/stack/sheet/mineral/sandbags(get_turf(src), 1) + +/obj/structure/barricade/sandbags/examine(mob/user) + . = ..() + . += span_notice("You could probably pull the [src.name] by dragging it onto yourself.") + /obj/structure/barricade/security name = "security barrier" desc = "A deployable barrier. Provides good cover in fire fights." diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 121c93a0735..594aeedbe43 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -167,16 +167,7 @@ if(abandoned) var/outcome = rand(1,100) switch(outcome) - if(1 to 9) - var/turf/here = get_turf(src) - for(var/turf/closed/T in range(2, src)) - here.PlaceOnTop(T.type) - qdel(src) - return - here.PlaceOnTop(/turf/closed/wall) - qdel(src) - return - if(9 to 11) + if(1 to 11) lights = FALSE locked = TRUE if(12 to 15) @@ -185,6 +176,19 @@ welded = TRUE if(24 to 30) panel_open = TRUE + if(31 to 40) + panel_open = TRUE + set_electrified(MACHINE_ELECTRIFIED_PERMANENT) + if(41 to 50) + seal = new /obj/item/door_seal(src) + modify_max_integrity(max_integrity * AIRLOCK_SEAL_MULTIPLIER) + if(51 to 60) + new previous_airlock(loc) + qdel(src) + if(69) + new /obj/effect/decal/cleanable/oil/slippery(loc) + + update_appearance() /obj/machinery/door/airlock/ComponentInitialize() @@ -370,26 +374,6 @@ audible_message("You hear a click from the bottom of the door.", null, 1) update_appearance() -/obj/machinery/door/airlock/narsie_act() - var/turf/T = get_turf(src) - var/obj/machinery/door/airlock/cult/A - if(GLOB.cult_narsie) - var/runed = prob(20) - if(glass) - if(runed) - A = new/obj/machinery/door/airlock/cult/glass(T) - else - A = new/obj/machinery/door/airlock/cult/unruned/glass(T) - else - if(runed) - A = new/obj/machinery/door/airlock/cult(T) - else - A = new/obj/machinery/door/airlock/cult/unruned(T) - A.name = name - else - A = new /obj/machinery/door/airlock/cult/weak(T) - qdel(src) - /obj/machinery/door/airlock/Destroy() QDEL_NULL(wires) QDEL_NULL(electronics) @@ -1236,13 +1220,28 @@ return if(!operating) - if(istype(I, /obj/item/fireaxe)) //being fireaxe'd - var/obj/item/fireaxe/axe = I - if(axe && !axe.wielded) + if(istype(I, /obj/item/melee/axe/fire)) //being fireaxe'd + var/obj/item/melee/axe/fire/axe = I + if(axe && !HAS_TRAIT(axe, TRAIT_WIELDED)) to_chat(user, "You need to be wielding \the [axe] to do that!") return INVOKE_ASYNC(src, (density ? PROC_REF(open) : PROC_REF(close)), 2) +/obj/machinery/door/airlock/deconstruct_act(mob/living/user, obj/item/I) + . = ..() + if(!I.tool_start_check(user, amount=0)) + return FALSE + var/decon_time = 5 SECONDS + if(welded) + decon_time += 5 SECONDS + if(locked) + decon_time += 5 SECONDS + if(seal) + decon_time += 15 SECONDS + if (I.use_tool(src, user, decon_time, volume=100)) + to_chat(user, "You cut open the [src].") + deconstruct(FALSE, user) + return TRUE /obj/machinery/door/airlock/open(forced=0) if(operating || welded || locked || seal || !wires) diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 492ce30f6ac..f6e6840f552 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -461,115 +461,6 @@ security_level = 1 has_hatch = FALSE -////////////////////////////////// -/* - Cult Airlocks -*/ - -/obj/machinery/door/airlock/cult - name = "cult airlock" - icon = 'icons/obj/doors/airlocks/cult/runed/cult.dmi' - overlays_file = 'icons/obj/doors/airlocks/cult/runed/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_cult - hackProof = TRUE - aiControlDisabled = AI_WIRE_DISABLED - req_access = list(ACCESS_BLOODCULT) - damage_deflection = 10 - has_hatch = FALSE - var/openingoverlaytype = /obj/effect/temp_visual/cult/door - var/friendly = FALSE - var/stealthy = FALSE - -/obj/machinery/door/airlock/cult/Initialize() - . = ..() - new openingoverlaytype(loc) - -/obj/machinery/door/airlock/cult/canAIControl(mob/user) - return (iscultist(user) && !isAllPowerCut()) - -/obj/machinery/door/airlock/cult/on_break() - if(!panel_open) - panel_open = TRUE - -/obj/machinery/door/airlock/cult/isElectrified() - return FALSE - -/obj/machinery/door/airlock/cult/hasPower() - return TRUE - -/obj/machinery/door/airlock/cult/allowed(mob/living/L) - if(!density) - return 1 - if(friendly || iscultist(L) || istype(L, /mob/living/simple_animal/shade) || isconstruct(L)) - if(!stealthy) - new openingoverlaytype(loc) - return 1 - else - if(!stealthy) - 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)) - flash_color(L, flash_color="#960000", flash_time=20) - L.Paralyze(40) - L.throw_at(throwtarget, 5, 1) - return 0 - -/obj/machinery/door/airlock/cult/proc/conceal() - icon = 'icons/obj/doors/airlocks/station/maintenance.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - name = "airlock" - desc = "It opens and closes." - stealthy = TRUE - update_appearance() - -/obj/machinery/door/airlock/cult/proc/reveal() - icon = initial(icon) - overlays_file = initial(overlays_file) - name = initial(name) - desc = initial(desc) - stealthy = initial(stealthy) - update_appearance() - -/obj/machinery/door/airlock/cult/narsie_act() - return - -/obj/machinery/door/airlock/cult/emp_act(severity) - return - -/obj/machinery/door/airlock/cult/friendly - friendly = TRUE - -/obj/machinery/door/airlock/cult/glass - glass = TRUE - opacity = FALSE - -/obj/machinery/door/airlock/cult/glass/friendly - friendly = TRUE - -/obj/machinery/door/airlock/cult/unruned - icon = 'icons/obj/doors/airlocks/cult/unruned/cult.dmi' - overlays_file = 'icons/obj/doors/airlocks/cult/unruned/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_cult/unruned - openingoverlaytype = /obj/effect/temp_visual/cult/door/unruned - -/obj/machinery/door/airlock/cult/unruned/friendly - friendly = TRUE - -/obj/machinery/door/airlock/cult/unruned/glass - glass = TRUE - opacity = FALSE - -/obj/machinery/door/airlock/cult/unruned/glass/friendly - friendly = TRUE - -/obj/machinery/door/airlock/cult/weak - name = "brittle cult airlock" - desc = "An airlock hastily corrupted by blood magic, it is unusually brittle in this state." - normal_integrity = 150 - damage_deflection = 5 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - ////////////////////////////////// /* Misc Airlocks diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index 213b15c00ce..3a71835c172 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -115,8 +115,8 @@ return 0 if(!forced) - Radio.set_frequency(FREQ_COMMAND) - Radio.talk_into(src, "Timer has expired. Releasing prisoner.", FREQ_COMMAND) + Radio.set_frequency(FREQ_EMERGENCY) + Radio.talk_into(src, "Timer has expired. Releasing prisoner.", FREQ_EMERGENCY) timing = FALSE activation_time = null diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index eb23f1060be..7c8371809e8 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -253,7 +253,7 @@ return max_moles - min_moles > 20 /obj/machinery/door/attackby(obj/item/I, mob/user, params) - if(user.a_intent != INTENT_HARM && (I.tool_behaviour == TOOL_CROWBAR || istype(I, /obj/item/fireaxe))) + if(user.a_intent != INTENT_HARM && (I.tool_behaviour == TOOL_CROWBAR || istype(I, /obj/item/melee/axe/fire))) var/forced_open = FALSE if(istype(I, /obj/item/crowbar)) var/obj/item/crowbar/C = I @@ -395,7 +395,7 @@ L.manual_emote("roar") else if(ishuman(L)) //For humans L.adjustBruteLoss(DOOR_CRUSH_DAMAGE) - L.manual_emote("scream") + L.force_manual_scream() L.Paralyze(100) else if(ismonkey(L)) //For monkeys L.adjustBruteLoss(DOOR_CRUSH_DAMAGE) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 1ab88896acc..da57b0a9b34 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -72,7 +72,7 @@ /obj/machinery/door/firedoor/Destroy() remove_from_areas() density = FALSE - air_update_turf(1) + air_update_turf(TRUE) affecting_areas.Cut() return ..() @@ -430,7 +430,7 @@ if(operating || welded) return density = TRUE - air_update_turf(1) + air_update_turf(TRUE) do_animate("closing") update_freelook_sight() if(!(flags_1 & ON_BORDER_1)) @@ -468,6 +468,11 @@ assemblytype = /obj/structure/firelock_frame/heavy max_integrity = 550 +/obj/machinery/door/firedoor/heavy/closed + icon_state = "door_closed" + opacity = TRUE + density = TRUE + /obj/machinery/door/firedoor/window name = "firelock window shutter" icon = 'icons/obj/doors/doorfirewindow.dmi' diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index 7e3febcc482..2b63f574e82 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -22,6 +22,8 @@ /obj/machinery/door/poddoor/attackby(obj/item/W, mob/user, params) . = ..() + if(resistance_flags & INDESTRUCTIBLE) + return FALSE if((resistance_flags & INDESTRUCTIBLE) && W.tool_behaviour == TOOL_SCREWDRIVER) // This makes it so ERT members cannot cheese by opening their blast doors. to_chat(user, span_warning("You can't find the panel!")) return @@ -56,6 +58,15 @@ else if(W.use_tool(src, user, 10 SECONDS, volume=50)) deconstruct(TRUE) + if(W.tool_behaviour == TOOL_DECONSTRUCT) + if(!(machine_stat & NOPOWER)) + do_sparks(5, TRUE, src) + electrocute_mob(user, get_area(src), src, 1, TRUE) //zorp + close() + to_chat(user, span_notice("You start to cut [src] apart")) + if (W.use_tool(src, user, 10 SECONDS, volume = 75)) + deconstruct(TRUE) + /obj/machinery/door/poddoor/examine(mob/user) . = ..() . += span_notice("The maintenance panel is [panel_open ? "opened" : "closed"].") diff --git a/code/game/machinery/drone_dispenser.dm b/code/game/machinery/drone_dispenser.dm index 4603044ab28..bb79d5f7e46 100644 --- a/code/game/machinery/drone_dispenser.dm +++ b/code/game/machinery/drone_dispenser.dm @@ -108,28 +108,6 @@ recharge_sound = null recharge_message = null -/obj/machinery/droneDispenser/swarmer - name = "swarmer fabricator" - desc = "An alien machine of unknown origin. It whirs and hums with green-blue light, the air above it shimmering." - icon = 'icons/obj/objects.dmi' - icon_state = "hivebot_fab" - icon_off = "hivebot_fab" - icon_on = "hivebot_fab" - icon_recharging = "hivebot_fab" - icon_creating = "hivebot_fab_on" - metal_cost = 0 - glass_cost = 0 - cooldownTime = 300 //30 seconds - maximum_idle = 0 // Swarmers have no restraint - dispense_type = /obj/effect/mob_spawn/swarmer - begin_create_message = "hums softly as an interface appears above it, scrolling by at unreadable speed." - end_create_message = "materializes a strange shell, which drops to the ground." - recharging_text = "Its lights are slowly increasing in brightness." - work_sound = 'sound/effects/empulse.ogg' - create_sound = 'sound/effects/phasein.ogg' - break_sound = 'sound/effects/empulse.ogg' - break_message = "slowly falls dark, lights stuttering." - /obj/machinery/droneDispenser/examine(mob/user) . = ..() if((mode == DRONE_RECHARGING) && !machine_stat && recharging_text) diff --git a/code/game/machinery/gulag_item_reclaimer.dm b/code/game/machinery/gulag_item_reclaimer.dm index 81c422ea31f..185120039da 100644 --- a/code/game/machinery/gulag_item_reclaimer.dm +++ b/code/game/machinery/gulag_item_reclaimer.dm @@ -12,10 +12,13 @@ var/list/stored_items = list() var/obj/machinery/gulag_teleporter/linked_teleporter = null -/obj/machinery/gulag_item_reclaimer/Destroy() +/obj/machinery/gulag_item_reclaimer/deconstruct(disassembled) for(var/i in contents) var/obj/item/I = i I.forceMove(get_turf(src)) + return ..() + +/obj/machinery/gulag_item_reclaimer/Destroy() if(linked_teleporter) linked_teleporter.linked_reclaimer = null return ..() diff --git a/code/game/machinery/harvester.dm b/code/game/machinery/harvester.dm index 1b0093458e4..22ff32ac365 100644 --- a/code/game/machinery/harvester.dm +++ b/code/game/machinery/harvester.dm @@ -121,7 +121,7 @@ target = get_turf(src) for(var/obj/item/bodypart/BP in operation_order) //first we do non-essential limbs BP.drop_limb() - C.emote("scream") + C.force_scream() if(BP.body_zone != "chest") BP.forceMove(target) //Move the limbs right next to it, except chest, that's a weird one BP.drop_organs() diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 0e6bc6ed6a6..f5d4959083d 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -237,7 +237,7 @@ Possible to do for anyone motivated enough: for(var/I in holo_calls) var/datum/holocall/HC = I var/list/call_data = list( - caller = HC.user, + caller = HC.caller_location, connected = HC.connected_holopad == src ? TRUE : FALSE, ref = REF(HC) ) @@ -378,7 +378,7 @@ Possible to do for anyone motivated enough: for(var/I in holo_calls) var/datum/holocall/HC = I if(HC.connected_holopad != src) - caller_history = get_area_name(HC.calling_holopad) + caller_history = HC.caller_location if(force_answer_call && world.time > (HC.call_start_time + (HOLOPAD_MAX_DIAL_TIME / 2))) HC.Answer(src) break diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index b54c192f440..abee7fe954f 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -46,11 +46,15 @@ return ..() /obj/machinery/navbeacon/on_virtual_z_change(new_virtual_z, previous_virtual_z) + ..() + if(!codes) + return + if(!codes["patrol"]) + return if(previous_virtual_z) LAZYREMOVEASSOC(GLOB.navbeacons, "[previous_virtual_z]", src) if(new_virtual_z) LAZYADDASSOCLIST(GLOB.navbeacons, "[new_virtual_z]", src) - ..() // set the transponder codes assoc list from codes_txt /obj/machinery/navbeacon/proc/set_codes() @@ -71,7 +75,10 @@ codes[e] = "1" /obj/machinery/navbeacon/proc/glob_lists_deregister() - LAZYREMOVE(GLOB.navbeacons["[virtual_z()]"], src) + if(!codes) + return + if(codes["patrol"]) + LAZYREMOVE(GLOB.navbeacons["[virtual_z()]"], src) GLOB.deliverybeacons -= src GLOB.deliverybeacontags -= location GLOB.wayfindingbeacons -= src diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index c53b256b04d..55f16a8c1f7 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -814,12 +814,17 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) if(istype(human_user.wear_id, /obj/item/pda)) var/obj/item/pda/P = human_user.wear_id if(P.id) - scanned_user = "[P.id.registered_name] ([P.id.assignment])" + scanned_user = "[P.id.registered_name])" else scanned_user = "Unknown" else if(istype(human_user.wear_id, /obj/item/card/id)) var/obj/item/card/id/ID = human_user.wear_id - scanned_user ="[ID.registered_name] ([ID.assignment])" + scanned_user ="[ID.registered_name])" + else if(istype(human_user.wear_id, /obj/item/storage/wallet)) + var/obj/item/storage/wallet/our_wallet = human_user.wear_id + if(our_wallet.front_id) + var/obj/item/card/id/ID = our_wallet.GetID() + scanned_user = "[ID.registered_name]" else scanned_user ="Unknown" else diff --git a/code/game/machinery/outpost_electrolyzer.dm b/code/game/machinery/outpost_electrolyzer.dm index 29a37c4f95e..78711accb24 100644 --- a/code/game/machinery/outpost_electrolyzer.dm +++ b/code/game/machinery/outpost_electrolyzer.dm @@ -38,16 +38,6 @@ var/obj/machinery/mineral/electrolyzer/linked_electrolyzer -/obj/machinery/computer/electrolyzer_console/Initialize() - . = ..() - find_electrolyzer() - -/obj/machinery/computer/electrolyzer_console/proc/find_electrolyzer() - for(var/obj/machinery/mineral/electrolyzer/potential in oview(3,src)) - if(linked_electrolyzer == null) - linked_electrolyzer = potential - potential.linked_console = src - /obj/machinery/computer/electrolyzer_console/proc/electrolyze_item(obj/item/I) var/obj/item/stack/ore/ice/S = I var/meritval = round(S.get_amount() * MERITS_PER_ICE * OUTPOST_HYDROGEN_CUT,1) // causes a bit of surplus in the "outpost" supply, even if they use all of these merits for hydrogen. @@ -61,6 +51,7 @@ var/obj/item/multitool/multi = item if(istype(multi.buffer, /obj/machinery/mineral/electrolyzer)) linked_electrolyzer = multi.buffer + linked_electrolyzer.linked_console = src visible_message("Linked to [linked_electrolyzer]!") return return ..() @@ -88,7 +79,17 @@ ) AddElement(/datum/element/connect_loc, loc_connections) -/obj/machinery/computer/electrolyzer_console/attackby(item,mob/user) +/obj/machinery/mineral/electrolyzer/proc/find_electrolyzer() + if(linked_console) + return TRUE + for(var/obj/machinery/computer/electrolyzer_console/potential in oview(3,src)) + if(linked_console == null) + linked_console = potential + potential.linked_electrolyzer = src + return TRUE + return FALSE + +/obj/machinery/mineral/electrolyzer/attackby(item,mob/user) if(istype(item, /obj/item/multitool)) var/obj/item/multitool/multi = item multi.buffer = src @@ -108,6 +109,10 @@ INVOKE_ASYNC(src, PROC_REF(electrolyze), AM) /obj/machinery/mineral/electrolyzer/proc/electrolyze(atom/movable/electrolyze_target, sound=TRUE) + if(!find_electrolyzer()) + visible_message("[src] doesn't have a linked console!") + playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE, 1) + return if(istype(electrolyze_target, /obj/effect) || !linked_console || !isturf(electrolyze_target.loc) || (machine_stat & (BROKEN|NOPOWER))) return if(!istype(electrolyze_target, /obj/item/stack/ore/ice)) @@ -131,7 +136,7 @@ playsound(src, 'sound/effects/splat.ogg', 50, TRUE) if(iscarbon(L) && L.stat == CONSCIOUS) - L.emote("scream") + L.force_scream() // Instantly lie down, also go unconscious from the pain, before you die. L.Unconscious(100) @@ -448,15 +453,15 @@ return ..() /obj/item/merit/bundle/attack_self(mob/user) + if(!Adjacent(user)) + to_chat(user, "You need to be in arm's reach for that!") + return + var/cashamount = input(user, "How many merits do you want to take? (0 to [value])", "Take Merits", 20) as num cashamount = round(clamp(cashamount, 0, value)) if(!cashamount) return - if(!Adjacent(user)) - to_chat(user, "You need to be in arm's reach for that!") - return - value -= cashamount if(!value) user.dropItemToGround(src) @@ -464,18 +469,20 @@ var/obj/item/merit/bundle/bundle = new (user.loc) bundle.value = cashamount + bundle.update_appearance() + user.put_in_hands(bundle) update_appearance() /obj/item/merit/bundle/AltClick(mob/living/user) + if(!Adjacent(user)) + to_chat(user, "You need to be in arm's reach for that!") + return + var/cashamount = input(user, "How many merits do you want to take? (0 to [value])", "Take Merits", 20) as num cashamount = round(clamp(cashamount, 0, value)) if(!cashamount) return - else if(!Adjacent(user)) - to_chat(user, "You need to be in arm's reach for that!") - return - value -= cashamount if(!value) user.dropItemToGround(src) diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 0772e483a53..f21b7a59e03 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -1,65 +1,120 @@ +#define ATMOS_CATEGORY 0 +#define DISPOSALS_CATEGORY 1 +#define TRANSIT_CATEGORY 2 + + /obj/machinery/pipedispenser name = "pipe dispenser" icon = 'icons/obj/stationobjs.dmi' icon_state = "pipe_d" desc = "Dispenses countless types of pipes. Very useful if you need pipes." + layer = GATEWAY_UNDERLAY_LAYER //so it renders underneath dispensed disposals density = TRUE circuit = /obj/item/circuitboard/machine/pipedispenser interaction_flags_machine = INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON | INTERACT_MACHINE_OFFLINE - var/wait = 0 + var/delay = 0 + var/busy = FALSE + var/p_dir = NORTH + var/p_flipped = FALSE + var/category = ATMOS_CATEGORY var/piping_layer = PIPING_LAYER_DEFAULT + var/ducting_layer = DUCT_LAYER_DEFAULT + var/datum/pipe_info/recipe + var/paint_color = "grey" + var/static/datum/pipe_info/first_atmos + var/static/datum/pipe_info/first_disposal + var/static/datum/pipe_info/first_transit + +/obj/machinery/pipedispenser/Initialize() + . = ..() + if(!first_atmos) + first_atmos = GLOB.atmos_pipe_recipes[GLOB.atmos_pipe_recipes[1]][1] + if(!first_disposal) + first_disposal = GLOB.disposal_pipe_recipes[GLOB.disposal_pipe_recipes[1]][1] + if(!first_transit) + first_transit = GLOB.transit_tube_recipes[GLOB.transit_tube_recipes[1]][1] + + recipe = first_atmos + +/obj/machinery/pipedispenser/ui_assets(mob/user) + return list( + get_asset_datum(/datum/asset/spritesheet/pipes), + ) /obj/machinery/pipedispenser/attack_paw(mob/user) return attack_hand(user) -/obj/machinery/pipedispenser/ui_interact(mob/user) +/obj/machinery/pipedispenser/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "PipeDispenser", name) + ui.open() + +/obj/machinery/pipedispenser/ui_data(mob/user) + var/list/data = list( + "category" = category, + "piping_layer" = piping_layer, + "ducting_layer" = ducting_layer, + "preview_rows" = recipe.get_preview(p_dir), + "categories" = list(), + "selected_color" = paint_color, + "paint_colors" = GLOB.pipe_paint_colors + ) + + var/list/recipes + switch(category) + if(ATMOS_CATEGORY) + recipes = GLOB.atmos_pipe_recipes + if(DISPOSALS_CATEGORY) + recipes = GLOB.disposal_pipe_recipes + if(TRANSIT_CATEGORY) + recipes = GLOB.transit_tube_recipes + for(var/c in recipes) + var/list/cat = recipes[c] + var/list/r = list() + for(var/i in 1 to cat.len) + var/datum/pipe_info/info = cat[i] + r += list(list("pipe_name" = info.name, "pipe_index" = i, "selected" = (info == recipe), "all_layers" = info.all_layers)) + data["categories"] += list(list("cat_name" = c, "recipes" = r)) + + return data + +/obj/machinery/pipedispenser/ui_act(action, params) . = ..() - var/dat = "PIPING LAYER: --[piping_layer]++
    " - - var/recipes = GLOB.atmos_pipe_recipes - - for(var/category in recipes) - var/list/cat_recipes = recipes[category] - dat += "[category]:
      " - - for(var/i in cat_recipes) - var/datum/pipe_info/I = i - dat += I.Render(src) - - dat += "
    " - - user << browse("[src][dat]", "window=pipedispenser") - onclose(user, "pipedispenser") - return - -/obj/machinery/pipedispenser/Topic(href, href_list) - if(..()) - return 1 - var/mob/living/L = usr - if(!anchored || (istype(L) && !(L.mobility_flags & MOBILITY_UI)) || usr.stat != CONSCIOUS || HAS_TRAIT(usr, TRAIT_HANDS_BLOCKED) || !in_range(loc, usr)) - usr << browse(null, "window=pipedispenser") - return 1 - usr.set_machine(src) - add_fingerprint(usr) - if(href_list["makepipe"]) - if(wait < world.time) - var/p_type = text2path(href_list["makepipe"]) - if (!verify_recipe(GLOB.atmos_pipe_recipes, p_type)) - return - var/p_dir = text2num(href_list["dir"]) - var/obj/item/pipe/P = new (loc, p_type, p_dir) - P.setPipingLayer(piping_layer) - P.add_fingerprint(usr) - wait = world.time + 10 - if(href_list["makemeter"]) - if(wait < world.time) - new /obj/item/pipe_meter(loc) - wait = world.time + 15 - if(href_list["layer_up"]) - piping_layer = clamp(++piping_layer, PIPING_LAYER_MIN, PIPING_LAYER_MAX) - if(href_list["layer_down"]) - piping_layer = clamp(--piping_layer, PIPING_LAYER_MIN, PIPING_LAYER_MAX) - return + if(.) + return + + if(!usr.canUseTopic(src, BE_CLOSE)) + return + switch(action) + if("color") + paint_color = params["paint_color"] + if("category") + category = text2num(params["category"]) + switch(category) + if(DISPOSALS_CATEGORY) + recipe = first_disposal + if(ATMOS_CATEGORY) + recipe = first_atmos + if(TRANSIT_CATEGORY) + recipe = first_transit + p_dir = NORTH + if("print") + make_pipe() + if("piping_layer") + piping_layer = text2num(params["piping_layer"]) + if("ducting_layer") + ducting_layer = text2num(params["ducting_layer"]) + if("pipe_type") + var/static/list/recipes + if(!recipes) + recipes = GLOB.disposal_pipe_recipes + GLOB.atmos_pipe_recipes + GLOB.transit_tube_recipes + recipe = recipes[params["category"]][text2num(params["pipe_type"])] + p_dir = NORTH + if("setdir") + p_dir = text2dir(params["dir"]) + p_flipped = text2num(params["flipped"]) + return TRUE /obj/machinery/pipedispenser/attackby(obj/item/W, mob/user, params) add_fingerprint(user) @@ -70,15 +125,6 @@ else return ..() -/obj/machinery/pipedispenser/proc/verify_recipe(recipes, path) - for(var/category in recipes) - var/list/cat_recipes = recipes[category] - for(var/i in cat_recipes) - var/datum/pipe_info/info = i - if (path == info.id) - return TRUE - return FALSE - /obj/machinery/pipedispenser/wrench_act(mob/living/user, obj/item/I) ..() if(default_unfasten_wrench(user, I, 40)) @@ -96,129 +142,77 @@ default_deconstruction_crowbar(I) return TRUE -/obj/machinery/pipedispenser/disposal - name = "disposal pipe dispenser" - icon = 'icons/obj/stationobjs.dmi' - icon_state = "pipe_d" - desc = "Dispenses pipes that will ultimately be used to move trash around." - density = TRUE - - //Allow you to drag-drop disposal pipes and transit tubes into it -/obj/machinery/pipedispenser/disposal/MouseDrop_T(obj/structure/pipe, mob/usr) - if(!usr.incapacitated()) +/obj/machinery/pipedispenser/MouseDrop_T(obj/structure/pipe, mob/usr) + if(usr.incapacitated()) return - if (!istype(pipe, /obj/structure/disposalconstruct) && !istype(pipe, /obj/structure/c_transit_tube) && !istype(pipe, /obj/structure/c_transit_tube_pod)) + if(!istype(pipe, /obj/structure/disposalconstruct) && !istype(pipe, /obj/structure/c_transit_tube) && !istype(pipe, /obj/structure/c_transit_tube_pod)) return - if (get_dist(usr, src) > 1 || get_dist(src,pipe) > 1) + if(get_dist(usr, src) > 1 || get_dist(src,pipe) > 1) return - if (pipe.anchored) + if(pipe.anchored) return qdel(pipe) -/obj/machinery/pipedispenser/disposal/interact(mob/user) - - var/dat = "" - var/recipes = GLOB.disposal_pipe_recipes - - for(var/category in recipes) - var/list/cat_recipes = recipes[category] - dat += "[category]:
      " - - for(var/i in cat_recipes) - var/datum/pipe_info/I = i - dat += I.Render(src) - - dat += "
    " - - user << browse("[src][dat]", "window=pipedispenser") - return - - -/obj/machinery/pipedispenser/disposal/Topic(href, href_list) - if(..()) - return 1 - usr.set_machine(src) - add_fingerprint(usr) - if(href_list["dmake"]) - if(wait < world.time) - var/p_type = text2path(href_list["dmake"]) - if (!verify_recipe(GLOB.disposal_pipe_recipes, p_type)) - return - var/obj/structure/disposalconstruct/C = new (loc, p_type) - - if(!C.can_place()) - to_chat(usr, "There's not enough room to build that here!") - qdel(C) - return - if(href_list["dir"]) - C.setDir(text2num(href_list["dir"])) - C.add_fingerprint(usr) - C.update_appearance() - wait = world.time + 15 - return - -//transit tube dispenser -//inherit disposal for the dragging proc -/obj/machinery/pipedispenser/disposal/transit_tube - name = "transit tube dispenser" - icon = 'icons/obj/stationobjs.dmi' - icon_state = "pipe_d" - density = TRUE - desc = "Dispenses pipes that will move beings around." - -/obj/machinery/pipedispenser/disposal/transit_tube/interact(mob/user) - - var/dat = {"Transit Tubes:
    -Straight Tube
    -Straight Tube with Crossing
    -Curved Tube
    -Diagonal Tube
    -Diagonal Tube with Crossing
    -Junction
    -Station Equipment:
    -Through Tube Station
    -Terminus Tube Station
    -Transit Tube Pod
    -"} - - user << browse("[src][dat]", "window=pipedispenser") - return - - -/obj/machinery/pipedispenser/disposal/transit_tube/Topic(href, href_list) - if(..()) - return 1 - usr.set_machine(src) - add_fingerprint(usr) - if(wait < world.time) - if(href_list["tube"]) - var/tube_type = text2num(href_list["tube"]) - var/obj/structure/C - switch(tube_type) - if(TRANSIT_TUBE_STRAIGHT) - C = new /obj/structure/c_transit_tube(loc) - if(TRANSIT_TUBE_STRAIGHT_CROSSING) - C = new /obj/structure/c_transit_tube/crossing(loc) - if(TRANSIT_TUBE_CURVED) - C = new /obj/structure/c_transit_tube/curved(loc) - if(TRANSIT_TUBE_DIAGONAL) - C = new /obj/structure/c_transit_tube/diagonal(loc) - if(TRANSIT_TUBE_DIAGONAL_CROSSING) - C = new /obj/structure/c_transit_tube/diagonal/crossing(loc) - if(TRANSIT_TUBE_JUNCTION) - C = new /obj/structure/c_transit_tube/junction(loc) - if(TRANSIT_TUBE_STATION) - C = new /obj/structure/c_transit_tube/station(loc) - if(TRANSIT_TUBE_TERMINUS) - C = new /obj/structure/c_transit_tube/station/reverse(loc) - if(TRANSIT_TUBE_POD) - C = new /obj/structure/c_transit_tube_pod(loc) - if(C) - C.add_fingerprint(usr) - wait = world.time + 15 - return +/obj/machinery/pipedispenser/proc/make_pipe(mob/user) + if(busy) + src.visible_message(span_warning("[src] is busy.")) + return + var/queued_p_type = recipe.id + var/queued_p_dir = p_dir + var/queued_p_flipped = p_flipped + switch(category) + if(ATMOS_CATEGORY) + if(recipe.type == /datum/pipe_info/meter) + new /obj/item/pipe_meter(loc) + on_make_pipe() + else + if(recipe.all_layers == FALSE && (piping_layer == 1 || piping_layer == 5)) + src.visible_message(span_warning("[src] can't print this object on the layer...")) + return + var/obj/machinery/atmospherics/path = queued_p_type + var/pipe_item_type = initial(path.construction_type) || /obj/item/pipe + var/obj/item/pipe/P = new pipe_item_type(loc, queued_p_type, queued_p_dir) + on_make_pipe() + + if(queued_p_flipped && istype(P, /obj/item/pipe/trinary/flippable)) + var/obj/item/pipe/trinary/flippable/F = P + F.flipped = queued_p_flipped + + P.update() + P.setPipingLayer(piping_layer) + if(ispath(path, /obj/machinery/atmospherics/pipe) && !findtext("[queued_p_type]", "layer_manifold")) + P.add_atom_colour(GLOB.pipe_paint_colors[paint_color], FIXED_COLOUR_PRIORITY) + + if(DISPOSALS_CATEGORY) //Making disposals pipes + new /obj/structure/disposalconstruct(loc, queued_p_type, queued_p_dir, queued_p_flipped) + on_make_pipe() + return + + if(TRANSIT_CATEGORY) //Making transit tubes + if(istype(queued_p_type, /obj/structure/c_transit_tube_pod)) + new /obj/structure/c_transit_tube_pod(loc) + on_make_pipe() + else + var/obj/structure/c_transit_tube/tube = new queued_p_type(loc) + on_make_pipe() + tube.setDir(queued_p_dir) + + if(queued_p_flipped) + tube.setDir(turn(queued_p_dir, 45)) + tube.simple_rotate_flip() + +/obj/machinery/pipedispenser/proc/on_make_pipe() + busy = TRUE + delay = addtimer(CALLBACK(src, PROC_REF(reset_busy)), 5) + +/obj/machinery/pipedispenser/proc/reset_busy() + busy = FALSE + +#undef ATMOS_CATEGORY +#undef DISPOSALS_CATEGORY +#undef TRANSIT_CATEGORY diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 5891898ef6d..dc0c2d47f96 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -1,177 +1,138 @@ -#define TURRET_STUN 0 -#define TURRET_LETHAL 1 - -#define POPUP_ANIM_TIME 5 -#define POPDOWN_ANIM_TIME 5 //Be sure to change the icon animation at the same time or it'll look bad - -#define TURRET_FLAG_SHOOT_ALL_REACT (1<<0) // The turret gets pissed off and shoots at people nearby (unless they have sec access!) -#define TURRET_FLAG_AUTH_WEAPONS (1<<1) // Checks if it can shoot people that have a weapon they aren't authorized to have -#define TURRET_FLAG_SHOOT_CRIMINALS (1<<2) // Checks if it can shoot people that are wanted -#define TURRET_FLAG_SHOOT_ALL (1<<3) // The turret gets pissed off and shoots at people nearby (unless they have sec access!) -#define TURRET_FLAG_SHOOT_ANOMALOUS (1<<4) // Checks if it can shoot at unidentified lifeforms (ie xenos) -#define TURRET_FLAG_SHOOT_UNSHIELDED (1<<5) // Checks if it can shoot people that aren't mindshielded and who arent heads -#define TURRET_FLAG_SHOOT_BORGS (1<<6) // checks if it can shoot cyborgs -#define TURRET_FLAG_SHOOT_HEADS (1<<7) // checks if it can shoot at heads of staff - -DEFINE_BITFIELD(turret_flags, list( - "TURRET_FLAG_SHOOT_ALL_REACT" = TURRET_FLAG_SHOOT_ALL_REACT, - "TURRET_FLAG_AUTH_WEAPONS" = TURRET_FLAG_AUTH_WEAPONS, - "TURRET_FLAG_SHOOT_CRIMINALS" = TURRET_FLAG_SHOOT_CRIMINALS, - "TURRET_FLAG_SHOOT_ALL" = TURRET_FLAG_SHOOT_ALL, - "TURRET_FLAG_SHOOT_ANOMALOUS" = TURRET_FLAG_SHOOT_ANOMALOUS, - "TURRET_FLAG_SHOOT_UNSHIELDED" = TURRET_FLAG_SHOOT_UNSHIELDED, - "TURRET_FLAG_SHOOT_BORGS" = TURRET_FLAG_SHOOT_BORGS, - "TURRET_FLAG_SHOOT_HEADS" = TURRET_FLAG_SHOOT_HEADS, -)) - /obj/machinery/porta_turret name = "turret" icon = 'icons/obj/turrets.dmi' - icon_state = "turretCover" - layer = OBJ_LAYER - invisibility = INVISIBILITY_OBSERVER //the turret is invisible if it's inside its cover + icon_state = "standard_stun" density = TRUE - desc = "A covered turret that shoots at its enemies." - use_power = IDLE_POWER_USE //this turret uses and requires power - idle_power_usage = IDLE_DRAW_MINIMAL //when inactive, this turret takes up constant 50 Equipment power - active_power_usage = ACTIVE_DRAW_LOW //when active, this turret takes up constant 300 Equipment power - req_access = list(ACCESS_SECURITY) /// Only people with Security access - power_channel = AREA_USAGE_EQUIP //drains power from the EQUIPMENT channel - max_integrity = 160 //the turret's health + desc = "A turret that shoots at its enemies." + use_power = IDLE_POWER_USE + idle_power_usage = IDLE_DRAW_LOW + active_power_usage = ACTIVE_DRAW_HIGH + req_access = list(ACCESS_SECURITY) + power_channel = AREA_USAGE_EQUIP + max_integrity = 200 integrity_failure = 0.5 armor = list("melee" = 50, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90) base_icon_state = "standard" + subsystem_type = /datum/controller/subsystem/processing/turrets + circuit = /obj/item/circuitboard/machine/turret + /// Scan range of the turret for locating targets var/scan_range = 7 - /// For turrets inside other objects - var/atom/base = null - /// If the turret cover is "open" and the turret is raised - var/raised = FALSE - /// If the turret is currently opening or closing its cover - var/raising = FALSE + /// List of ALL targets in range, even if they are not visible + var/list/mob/living/targets = list() + /// The current target of the turret, if any + var/mob/living/current_target + + /// The beam showing which target we're acquiring + var/datum/simple_beam/target_beam + /// If the turret's behaviour control access is locked var/locked = TRUE - /// If the turret responds to control panels - var/controllock = FALSE - /// The type of weapon installed by default - var/installation = /obj/item/gun/energy/e_gun/turret - /// What stored gun is in the turret - var/obj/item/gun/stored_gun = null - /// The charge of the gun when retrieved from wreckage - var/gun_charge = 0 + /// In which mode is turret in, stun or lethal - var/mode = TURRET_STUN + var/lethal = FALSE + /// Stun mode projectile type - var/stun_projectile = null + var/stun_projectile = /obj/projectile/beam/disabler /// Sound of stun projectile - var/stun_projectile_sound + var/stun_projectile_sound = 'sound/weapons/plasma_cutter.ogg' /// Lethal mode projectile type - var/lethal_projectile = null + var/lethal_projectile = /obj/projectile/beam/laser /// Sound of lethal projectile - var/lethal_projectile_sound + var/lethal_projectile_sound = 'sound/weapons/plasma_cutter.ogg' + /// Power needed per shot var/reqpower = 500 - /// Will stay active - var/always_up = FALSE - /// Hides the cover - var/has_cover = TRUE - /// The cover that is covering this turret - var/obj/machinery/porta_turret_cover/cover = null - /// World.time the turret last fired - var/last_fired = 0 - /// Ticks until next shot (1.5 ?) - var/shot_delay = 15 - /// Turret flags about who is turret allowed to shoot - var/turret_flags = TURRET_FLAG_SHOOT_CRIMINALS | TURRET_FLAG_SHOOT_ANOMALOUS + + /// If the turret is currently manually controlled + var/manual_control = FALSE + + /// Ticks until next shot If this needs to go below 5, use SSFastProcess + var/shot_delay = 1.5 SECONDS + /// Cooldown until we can shoot again + COOLDOWN_DECLARE(fire_cooldown) + + /// Reaction time of the turret, how long it takes after acquiring a target to begin firing + var/reaction_time + /// Cooldown until we can start firing + COOLDOWN_DECLARE(reaction_cooldown) + /// Determines if the turret is on var/on = TRUE + /// Turret flags about who is turret allowed to shoot + var/turret_flags = TURRET_FLAG_DEFAULT + + /// If the turret is currently retaliating. Turrets will ignore all other settings to shoot at the attacker until they're dead or out of range + var/retaliating = FALSE + /// Same faction mobs will never be shot at, no matter the other settings - var/list/faction = list("turret") + var/list/faction = list("neutral", "turret") + + var/list/target_faction = list("hostile") + /// The spark system, used for generating... sparks? var/datum/effect_system/spark_spread/spark_system - /// Linked turret control panel of the turret - var/obj/machinery/turretid/cp = null + /// The turret will try to shoot from a turf in that direction when in a wall var/wall_turret_direction - /// If the turret is manually controlled - var/manual_control = FALSE - /// Action button holder for quitting manual control - var/datum/action/turret_quit/quit_action - /// Action button holder for switching between turret modes when manually controlling - var/datum/action/turret_toggle/toggle_action - /// Mob that is remotely controlling the turret - var/mob/remote_controller + + /// For connecting to additional turrets + var/id = "" + + var/static/list/loc_connections = list( + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), + COMSIG_ATOM_EXITED = PROC_REF(on_uncrossed), + ) /obj/machinery/porta_turret/Initialize() . = ..() - if(!base) - base = src + if(!reaction_time) + reaction_time = shot_delay + + target_beam = new(src, null, 'icons/effects/beam.dmi', "1-full", COLOR_RED, 127) update_appearance() //Sets up a spark system spark_system = new /datum/effect_system/spark_spread spark_system.set_up(5, 0, src) spark_system.attach(src) - setup() - if(has_cover) - cover = new /obj/machinery/porta_turret_cover(loc) - cover.parent_turret = src - var/mutable_appearance/base = mutable_appearance('icons/obj/turrets.dmi', "basedark") - base.layer = NOT_HIGH_OBJ_LAYER - underlays += base - if(!has_cover) - INVOKE_ASYNC(src, PROC_REF(popUp)) +/obj/machinery/porta_turret/Destroy() + targets.Cut() + targets = null -/obj/machinery/porta_turret/proc/toggle_on(set_to) - var/current = on - if (!isnull(set_to)) - on = set_to - else - on = !on - if (current != on) - check_should_process() - if (!on) - popDown() + set_target(null) -/obj/machinery/porta_turret/proc/check_should_process() - if (datum_flags & DF_ISPROCESSING) - if (!on || !anchored || (machine_stat & BROKEN) || !powered()) - end_processing() - else - if (on && anchored && !(machine_stat & BROKEN) && powered()) - begin_processing() - -/obj/machinery/porta_turret/update_icon_state() - if(!anchored) - icon_state = "turretCover" - return ..() - if(machine_stat & BROKEN) - icon_state = "[base_icon_state]_broken" - return ..() - if(!powered()) - icon_state = "[base_icon_state]_unpowered" - return ..() - if(!on || !raised) - icon_state = "[base_icon_state]_off" - return ..() - switch(mode) - if(TURRET_STUN) - icon_state = "[base_icon_state]_stun" - if(TURRET_LETHAL) - icon_state = "[base_icon_state]_lethal" + QDEL_NULL(spark_system) + QDEL_NULL(target_beam) + remove_control() return ..() -/obj/machinery/porta_turret/proc/setup(obj/item/gun/turret_gun) - if(stored_gun) - qdel(stored_gun) - stored_gun = null +/obj/machinery/porta_turret/ComponentInitialize() + . = ..() + AddComponent(/datum/component/connect_range, src, loc_connections, scan_range, TRUE) + +/obj/machinery/porta_turret/proc/on_entered(atom/old_loc, atom/movable/new_target) + var/static/list/typecache_of_targets = typecacheof(list( + /mob/living/carbon, + /mob/living/silicon, + /mob/living/simple_animal, + /obj/mecha, + )) + + if(is_type_in_typecache(new_target, typecache_of_targets)) + targets |= new_target - if(installation && !turret_gun) - stored_gun = new installation(src) - else if (turret_gun) - stored_gun = turret_gun +/obj/machinery/porta_turret/proc/on_uncrossed(atom/old_loc, atom/movable/target) + //Should also get any deleted targets, since they're moved to nullspace + targets -= target - var/list/gun_properties = stored_gun.get_turret_properties() +/obj/machinery/porta_turret/RefreshParts() + var/obj/item/gun/turret_gun = locate() in component_parts + + if(!turret_gun) + return + + var/list/gun_properties = turret_gun.get_turret_properties() //required properties stun_projectile = gun_properties["stun_projectile"] @@ -186,191 +147,249 @@ DEFINE_BITFIELD(turret_flags, list( if(gun_properties["reqpower"]) reqpower = gun_properties["reqpower"] - update_appearance() + update_appearance(UPDATE_ICON_STATE) return gun_properties -/obj/machinery/porta_turret/Destroy() - //deletes its own cover with it - QDEL_NULL(cover) - base = null - if(cp) - cp.turrets -= src - cp = null - QDEL_NULL(stored_gun) - QDEL_NULL(spark_system) - remove_control() +/obj/machinery/porta_turret/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) + id = "[text_ref(port)][initial(id)]" + port.turret_list |= WEAKREF(src) + +/obj/machinery/porta_turret/proc/toggle_on(set_to) + var/current = on + if (!isnull(set_to)) + on = set_to + else + on = !on + if (current != on) + check_should_process() + +/obj/machinery/porta_turret/proc/check_should_process() + var/functional = (on && anchored && !(machine_stat & BROKEN) && powered()) + var/processing = (datum_flags & DF_ISPROCESSING) + + if(processing && !functional) + end_processing() + + var/datum/component/connect_range/prox = GetComponent(/datum/component/connect_range) + prox?.set_tracked(null) + set_target(null) + + else if(!processing && functional) + begin_processing() + + var/datum/component/connect_range/prox = GetComponent(/datum/component/connect_range) + prox?.set_tracked(src) + +/obj/machinery/porta_turret/update_icon_state() + if(machine_stat & BROKEN) + icon_state = "[base_icon_state]_broken" + return ..() + if(!powered()) + icon_state = "[base_icon_state]_unpowered" + return ..() + if(!on) + icon_state = "[base_icon_state]_off" + return ..() + if(lethal) + icon_state = "[base_icon_state]_lethal" + else + icon_state = "[base_icon_state]_stun" return ..() /obj/machinery/porta_turret/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) - ui = new(user, src, "PortableTurret", name) + ui = new(user, src, "TurretControl", name) ui.open() /obj/machinery/porta_turret/ui_data(mob/user) - var/list/data = list( + var/allow_manual_control = FALSE + if(issilicon(user)) + var/mob/living/silicon/silicon_user = user + allow_manual_control = silicon_user.hack_software + + return list( "locked" = locked, - "on" = on, - "check_weapons" = turret_flags & TURRET_FLAG_AUTH_WEAPONS, - "neutralize_criminals" = turret_flags & TURRET_FLAG_SHOOT_CRIMINALS, - "neutralize_all" = turret_flags & TURRET_FLAG_SHOOT_ALL, - "neutralize_unidentified" = turret_flags & TURRET_FLAG_SHOOT_ANOMALOUS, - "neutralize_nonmindshielded" = turret_flags & TURRET_FLAG_SHOOT_UNSHIELDED, - "neutralize_cyborgs" = turret_flags & TURRET_FLAG_SHOOT_BORGS, - "ignore_heads" = turret_flags & TURRET_FLAG_SHOOT_HEADS, + "enabled" = on, + "lethal" = lethal, + "siliconUser" = user.has_unlimited_silicon_privilege && check_ship_ai_access(user), "manual_control" = manual_control, - "silicon_user" = FALSE, - "allow_manual_control" = FALSE, + "dangerous_only" = turret_flags & TURRET_FLAG_SHOOT_DANGEROUS_ONLY, + "retaliate" = turret_flags & TURRET_FLAG_SHOOT_RETALIATE, + "shoot_fauna" = turret_flags & TURRET_FLAG_SHOOT_FAUNA, + "shoot_humans" = turret_flags & TURRET_FLAG_SHOOT_HUMANS, + "shoot_silicons" = turret_flags & TURRET_FLAG_SHOOT_SILICONS, + "only_nonfaction" = turret_flags & TURRET_FLAG_SHOOT_NONFACTION, + "only_specificfaction" = turret_flags & TURRET_FLAG_SHOOT_SPECIFIC_FACTION, + "allow_manual_control" = allow_manual_control, ) - if(issilicon(user)) - data["silicon_user"] = TRUE - if(!manual_control) - var/mob/living/silicon/S = user - if(S.hack_software) - data["allow_manual_control"] = TRUE - return data /obj/machinery/porta_turret/ui_act(action, list/params) . = ..() if(.) return + if(locked) + to_chat(usr, span_warning("[src]'s controls are locked.")) + return + switch(action) + if("lock") + if(!usr.has_unlimited_silicon_privilege) + return + toggle_lock(usr) + return TRUE if("power") if(anchored) toggle_on() return TRUE else to_chat(usr, "It has to be secured first!") - if("authweapon") - turret_flags ^= TURRET_FLAG_AUTH_WEAPONS + if("manual") + if(!issilicon(usr)) + return + var/mob/living/silicon/user = usr + if(!user.hack_software) + return + give_control(usr) return TRUE - if("shootcriminals") - turret_flags ^= TURRET_FLAG_SHOOT_CRIMINALS + if("mode") + lethal = !lethal return TRUE - if("shootall") - turret_flags ^= TURRET_FLAG_SHOOT_ALL + + if("toggle_dangerous") + turret_flags ^= TURRET_FLAG_SHOOT_DANGEROUS_ONLY return TRUE - if("checkxenos") - turret_flags ^= TURRET_FLAG_SHOOT_ANOMALOUS + if("toggle_retaliate") + turret_flags ^= TURRET_FLAG_SHOOT_RETALIATE return TRUE - if("checkloyal") - turret_flags ^= TURRET_FLAG_SHOOT_UNSHIELDED + + if("toggle_fauna") + turret_flags ^= TURRET_FLAG_SHOOT_FAUNA return TRUE - if("shootborgs") - turret_flags ^= TURRET_FLAG_SHOOT_BORGS + if("toggle_humans") + turret_flags ^= TURRET_FLAG_SHOOT_HUMANS return TRUE - if("shootheads") - turret_flags ^= TURRET_FLAG_SHOOT_HEADS - return TRUE - if("manual") - if(!issilicon(usr)) - return - give_control(usr) + if("toggle_silicons") + turret_flags ^= TURRET_FLAG_SHOOT_SILICONS return TRUE -/obj/machinery/porta_turret/ui_host(mob/user) - if(has_cover && cover) - return cover - if(base) - return base - return src + if("toggle_nonfaction") + turret_flags ^= TURRET_FLAG_SHOOT_NONFACTION + return TRUE + if("toggle_specificfaction") + turret_flags ^= TURRET_FLAG_SHOOT_SPECIFIC_FACTION + return TRUE /obj/machinery/porta_turret/power_change() . = ..() + if(!(flags_1 & INITIALIZED_1)) + return if(!anchored || (machine_stat & BROKEN) || !powered()) - update_appearance() + update_appearance(UPDATE_ICON_STATE) remove_control() + set_target(null) check_should_process() /obj/machinery/porta_turret/attackby(obj/item/I, mob/user, params) - if(machine_stat & BROKEN) - if(I.tool_behaviour == TOOL_CROWBAR) - //If the turret is destroyed, you can remove it with a crowbar to - //try and salvage its components - to_chat(user, "You begin prying the metal coverings off...") - if(I.use_tool(src, user, 20)) - if(prob(70)) - if(stored_gun) - stored_gun.forceMove(loc) - stored_gun = null - to_chat(user, "You remove the turret and salvage some components.") - if(prob(50)) - new /obj/item/stack/sheet/metal(loc, rand(1,4)) - if(prob(50)) - new /obj/item/assembly/prox_sensor(loc) - else - to_chat(user, "You remove the turret but did not manage to salvage anything.") - qdel(src) - if(I.tool_behaviour == TOOL_WELDER && user.a_intent == INTENT_HELP) - if(obj_integrity < max_integrity) - if(!I.tool_start_check(user, amount=0)) - return + if(machine_stat & BROKEN && I.tool_behaviour == TOOL_CROWBAR) + //If the turret is destroyed, you can remove it with a crowbar to + //try and salvage its components + to_chat(user, "You begin prying the metal coverings off...") + if(I.use_tool(src, user, 20)) + if(prob(70)) + var/obj/item/gun/stored_gun = locate() in component_parts + if(stored_gun) + stored_gun.forceMove(loc) + to_chat(user, "You remove the turret and salvage some components.") + if(prob(50)) + new /obj/item/stack/sheet/metal(loc, rand(1,4)) + if(prob(50)) + new /obj/item/assembly/prox_sensor(loc) + else + to_chat(user, "You remove the turret but did not manage to salvage anything.") + qdel(src) + return - to_chat(user, "You begin repairing [src]...") - if(I.use_tool(src, user, 40, volume=50)) - obj_integrity = obj_integrity + 20 - to_chat(user, "You repair [src].") - if(obj_integrity > (max_integrity * integrity_failure) && BROKEN) - obj_integrity = max_integrity - set_machine_stat(machine_stat & ~BROKEN) - update_appearance() - check_should_process() - else + if(I.tool_behaviour == TOOL_WELDER && user.a_intent == INTENT_HELP) + if(obj_integrity >= max_integrity) to_chat(user, "[src] is already in good condition!") - return + return + to_chat(user, "You begin repairing [src]...") + while(obj_integrity < max_integrity) + if(!I.use_tool(src, user, 4 SECONDS, 2, 50)) + break + obj_integrity = max(obj_integrity + 20, max_integrity) + to_chat(user, "You repair [src].") - else if((I.tool_behaviour == TOOL_WRENCH) && (!on)) - if(raised) - return + if(obj_integrity > (max_integrity * integrity_failure) && (machine_stat & BROKEN)) + obj_integrity = max_integrity + set_machine_stat(machine_stat & ~BROKEN) + update_appearance(UPDATE_ICON_STATE) + check_should_process() + return + + + if((I.tool_behaviour == TOOL_WRENCH) && !on) //This code handles moving the turret around. After all, it's a portable turret! if(!anchored && !isinspace()) set_anchored(TRUE) - invisibility = INVISIBILITY_MAXIMUM - update_appearance() + update_appearance(UPDATE_ICON_STATE) to_chat(user, "You secure the exterior bolts on the turret.") - if(has_cover) - cover = new /obj/machinery/porta_turret_cover(loc) //create a new turret. While this is handled in process(), this is to workaround a bug where the turret becomes invisible for a split second - cover.parent_turret = src //make the cover's parent src else if(anchored) set_anchored(FALSE) to_chat(user, "You unsecure the exterior bolts on the turret.") power_change() - invisibility = 0 - qdel(cover) //deletes the cover, and the turret instance itself becomes its own cover. - - if(I.GetID()) - //Behavior lock/unlock mangement - if(allowed(user)) - locked = !locked - to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].") - else - to_chat(user, "Access denied.") return - if(I.tool_behaviour == TOOL_MULTITOOL && !locked) + if(I.tool_behaviour == TOOL_MULTITOOL) + if(locked) + to_chat(user, span_warning("The controls are locked.")) + return if(!multitool_check_buffer(user, I)) return var/obj/item/multitool/M = I M.buffer = src to_chat(user, "You add [src] to multitool buffer.") return + + if(istype(I, /obj/item/card/id)) + toggle_lock(user) + return + return ..() +/obj/machinery/porta_turret/AltClick(mob/user) + . = ..() + toggle_lock(user) + +/obj/machinery/porta_turret/proc/toggle_lock(mob/user) + if(!user.canUseTopic(src, !issilicon(user))) + return + if(!allowed(user)) + to_chat(user, span_alert("Access denied.")) + return + if(obj_flags & EMAGGED || (machine_stat & (BROKEN|MAINT))) + to_chat(user, span_warning("The turret is unresponsive!")) + return + + to_chat(user, span_notice("You [locked ? "unlock" : "lock"] [src].")) + locked = !locked + update_appearance() + /obj/machinery/porta_turret/emag_act(mob/user) if(obj_flags & EMAGGED) return to_chat(user, "You short out [src]'s threat assessment circuits.") audible_message("[src] hums oddly...") obj_flags |= EMAGGED - controllock = TRUE + locked = TRUE toggle_on(FALSE) //turns off the turret temporarily - update_appearance() + update_appearance(UPDATE_ICON_STATE) //6 seconds for the traitor to gtfo of the area before the turret decides to ruin his shit addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), 6 SECONDS) - //turns it back on. The cover popUp() popDown() are automatically called in process(), no need to define it here /obj/machinery/porta_turret/emp_act(severity) . = ..() @@ -379,674 +398,231 @@ DEFINE_BITFIELD(turret_flags, list( if(on) //if the turret is on, the EMP no matter how severe disables the turret for a while //and scrambles its settings, with a slight chance of having an emag effect - if(prob(50)) - turret_flags |= TURRET_FLAG_SHOOT_CRIMINALS - if(prob(50)) - turret_flags |= TURRET_FLAG_AUTH_WEAPONS - if(prob(20)) - turret_flags |= TURRET_FLAG_SHOOT_ALL // Shooting everyone is a pretty big deal, so it's least likely to get turned on + if(prob(5)) + turret_flags ^= TURRET_FLAG_SHOOT_HUMANS + if(prob(5)) + turret_flags ^= TURRET_FLAG_SHOOT_FAUNA + if(prob(1)) + turret_flags ^= TURRET_FLAG_SHOOT_NONFACTION + if(prob(1)) + turret_flags ^= TURRET_FLAG_SHOOT_SPECIFIC_FACTION toggle_on(FALSE) remove_control() - addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), rand(60,600)) + addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), rand(6 SECONDS, 60 SECONDS)) /obj/machinery/porta_turret/take_damage(damage, damage_type = BRUTE, damage_flag = 0, sound_effect = 1) . = ..() - if(. && obj_integrity > 0) //damage received - if(prob(30)) - spark_system.start() - if(on && !(turret_flags & TURRET_FLAG_SHOOT_ALL_REACT) && !(obj_flags & EMAGGED)) - turret_flags |= TURRET_FLAG_SHOOT_ALL_REACT - addtimer(CALLBACK(src, PROC_REF(reset_attacked)), 60) + if(!. || obj_integrity <= 0) + return + //damage received + if(prob(30)) + spark_system.start() -/obj/machinery/porta_turret/proc/reset_attacked() - turret_flags &= ~TURRET_FLAG_SHOOT_ALL_REACT +/obj/machinery/porta_turret/proc/retaliate(mob/living/target) + if(!(turret_flags & TURRET_FLAG_SHOOT_RETALIATE) || current_target || !on || (req_ship_access && allowed(target)) || (machine_stat & BROKEN|NOPOWER|MAINT)) + return -/obj/machinery/porta_turret/deconstruct(disassembled = TRUE) - qdel(src) + set_target(target) + target(target) + retaliating = TRUE + +/obj/machinery/porta_turret/bullet_act(obj/projectile/hitting_projectile) + . = ..() + if(ismob(hitting_projectile.firer)) + retaliate(hitting_projectile.firer) + +/obj/machinery/porta_turret/attacked_by(obj/item/I, mob/living/user) + . = ..() + if(!I.force || I.damtype == STAMINA) + return + retaliate(user) /obj/machinery/porta_turret/obj_break(damage_flag) . = ..() if(.) power_change() - invisibility = 0 spark_system.start() //creates some sparks because they look cool - qdel(cover) //deletes the cover - no need on keeping it there! /obj/machinery/porta_turret/process() - //the main machinery process - if(cover == null && anchored) //if it has no cover and is anchored - if(machine_stat & BROKEN) //if the turret is borked - qdel(cover) //delete its cover, assuming it has one. Workaround for a pesky little bug - else - if(has_cover) - cover = new /obj/machinery/porta_turret_cover(loc) //if the turret has no cover and is anchored, give it a cover - cover.parent_turret = src //assign the cover its parent_turret, which would be this (src) - if(!on || (machine_stat & (NOPOWER|BROKEN)) || manual_control) return PROCESS_KILL - var/list/targets = list() - for(var/mob/A in view(scan_range, base)) - if(A.invisibility > SEE_INVISIBLE_LIVING) - continue - - if(turret_flags & TURRET_FLAG_SHOOT_ANOMALOUS)//if it's set to check for simple animals - if(isanimal(A)) - var/mob/living/simple_animal/SA = A - if(SA.stat || in_faction(SA)) //don't target if dead or in faction - continue - targets += SA - continue - - if(issilicon(A)) - var/mob/living/silicon/sillycone = A - - if(ispAI(A)) - continue - - if((turret_flags & TURRET_FLAG_SHOOT_BORGS) && sillycone.stat != DEAD && iscyborg(sillycone)) - targets += sillycone - continue - - if(sillycone.stat || in_faction(sillycone)) - continue - - if(iscyborg(sillycone)) - var/mob/living/silicon/robot/sillyconerobot = A - if(LAZYLEN(faction) && (ROLE_SYNDICATE in faction) && sillyconerobot.emagged == TRUE) - continue - - else if(iscarbon(A)) - var/mob/living/carbon/C = A - //If not emagged, only target carbons that can use items - if(mode != TURRET_LETHAL && (C.stat || C.handcuffed || !(C.mobility_flags & MOBILITY_USE))) - continue - - //If emagged, target all but dead carbons - if(mode == TURRET_LETHAL && C.stat == DEAD) - continue - - //if the target is a human and not in our faction, analyze threat level - if(ishuman(C) && !in_faction(C)) - - if(assess_perp(C) >= 4) - targets += C - else if(turret_flags & TURRET_FLAG_SHOOT_ANOMALOUS) //non humans who are not simple animals (xenos etc) - if(!in_faction(C)) - targets += C - - for(var/A in GLOB.mechas_list) - if((get_dist(A, base) < scan_range) && can_see(base, A, scan_range)) - var/obj/mecha/Mech = A - if(Mech.occupant && !in_faction(Mech.occupant)) //If there is a user and they're not in our faction - if(assess_perp(Mech.occupant) >= 4) - targets += Mech - - if((turret_flags & TURRET_FLAG_SHOOT_ANOMALOUS) && GLOB.blobs.len && (mode == TURRET_LETHAL)) - for(var/obj/structure/blob/B in view(scan_range, base)) - targets += B - - if(targets.len) - tryToShootAt(targets) - else if(!always_up) - popDown() // no valid targets, close the cover - -/obj/machinery/porta_turret/proc/tryToShootAt(list/atom/movable/targets) - while(targets.len > 0) - var/atom/movable/M = pick(targets) - targets -= M - if(target(M)) - return 1 - -/obj/machinery/porta_turret/proc/popUp() //pops the turret up - if(!anchored) - return - if(raising || raised) - return - if(machine_stat & BROKEN) - return - invisibility = 0 - raising = 1 - if(cover) - flick("popup", cover) - sleep(POPUP_ANIM_TIME) - raising = 0 - if(cover) - cover.icon_state = "openTurretCover" - raised = 1 - layer = MOB_LAYER - -/obj/machinery/porta_turret/proc/popDown() //pops the turret down - if(raising || !raised) - return - if(machine_stat & BROKEN) + if(!COOLDOWN_FINISHED(src, fire_cooldown)) return - layer = OBJ_LAYER - raising = 1 - if(cover) - flick("popdown", cover) - sleep(POPDOWN_ANIM_TIME) - raising = 0 - if(cover) - cover.icon_state = "turretCover" - raised = 0 - invisibility = 2 - update_appearance() - -/obj/machinery/porta_turret/proc/assess_perp(mob/living/carbon/human/perp) - var/threatcount = 0 //the integer returned - - if(obj_flags & EMAGGED) - return 10 //if emagged, always return 10. - - if((turret_flags & (TURRET_FLAG_SHOOT_ALL | TURRET_FLAG_SHOOT_ALL_REACT)) && !allowed(perp)) - //if the turret has been attacked or is angry, target all non-sec people - if(!allowed(perp)) - return 10 - - if(turret_flags & TURRET_FLAG_AUTH_WEAPONS) //check for weapon authorization - if(isnull(perp.wear_id) || istype(perp.wear_id.GetID(), /obj/item/card/id/syndicate)) - - if(allowed(perp)) //if the perp has security access, return 0 - return 0 - if(perp.is_holding_item_of_type(/obj/item/gun) || perp.is_holding_item_of_type(/obj/item/melee/baton)) - threatcount += 4 - - if(istype(perp.belt, /obj/item/gun) || istype(perp.belt, /obj/item/melee/baton)) - threatcount += 2 - - if(turret_flags & TURRET_FLAG_SHOOT_CRIMINALS) //if the turret can check the records, check if they are set to *Arrest* on records - var/perpname = perp.get_face_name(perp.get_id_name()) - var/datum/data/record/R = find_record("name", perpname, GLOB.data_core.security) - if(!R || (R.fields["criminal"] == "*Arrest*")) - threatcount += 4 - if((turret_flags & TURRET_FLAG_SHOOT_UNSHIELDED) && (!HAS_TRAIT(perp, TRAIT_MINDSHIELD))) - threatcount += 4 - - // If we aren't shooting heads then return a threatcount of 0 - if (!(turret_flags & TURRET_FLAG_SHOOT_HEADS) && (perp.get_assignment() in GLOB.command_positions)) - return 0 - - return threatcount - -/obj/machinery/porta_turret/proc/in_faction(mob/target) - for(var/faction1 in faction) - if(faction1 in target.faction) - return TRUE - if(ismouse(target)) - return TRUE - return FALSE - -/obj/machinery/porta_turret/proc/target(atom/movable/target) - if(target) - popUp() //pop the turret up if it's not already up. - setDir(get_dir(base, target))//even if you can't shoot, follow the target - shootAt(target) - return 1 - return - -/obj/machinery/porta_turret/proc/shootAt(atom/movable/target) - if(!raised) //the turret has to be raised in order to fire - makes sense, right? - return - - if(!(obj_flags & EMAGGED)) //if it hasn't been emagged, cooldown before shooting again - if(last_fired + shot_delay > world.time) + if(current_target) + //Try to fire at the current target first + if(check_target(current_target) && target(current_target)) return - last_fired = world.time - var/turf/T = get_turf(src) - var/turf/U = get_turf(target) - if(!istype(T) || !istype(U)) - return + //Current target is invalid, so we need to find a new one + set_target(null) - //Wall turrets will try to find adjacent empty turf to shoot from to cover full arc - if(T.density) - if(wall_turret_direction) - var/turf/closer = get_step(T,wall_turret_direction) - if(istype(closer) && !closer.is_blocked_turf() && T.Adjacent(closer)) - T = closer - else - var/target_dir = get_dir(T,target) - for(var/d in list(0,-45,45)) - var/turf/closer = get_step(T,turn(target_dir,d)) - if(istype(closer) && !closer.is_blocked_turf() && T.Adjacent(closer)) - T = closer - break - - update_appearance() - var/obj/projectile/A - //any emagged turrets drains 2x power and uses a different projectile? - if(mode == TURRET_STUN) - use_power(reqpower) - A = new stun_projectile(T) - playsound(loc, stun_projectile_sound, 75, TRUE) - else - use_power(reqpower * 2) - A = new lethal_projectile(T) - playsound(loc, lethal_projectile_sound, 75, TRUE) - - - //Shooting Code: - A.preparePixelProjectile(target, T) - A.firer = src - A.fired_from = src - A.fire() - return A - -/obj/machinery/porta_turret/proc/setState(on, mode, shoot_cyborgs) - if(controllock) - return - - shoot_cyborgs ? (turret_flags |= TURRET_FLAG_SHOOT_BORGS) : (turret_flags &= ~TURRET_FLAG_SHOOT_BORGS) - toggle_on(on) - src.mode = mode - power_change() + for(var/atom/movable/target as anything in targets) + //TODO: Remove this if it never happens, because it shouldn't + if(QDELETED(target)) + targets -= target + stack_trace("Qdeleted target in turret list") + return FALSE -/datum/action/turret_toggle - name = "Toggle Mode" - icon_icon = 'icons/mob/actions/actions_mecha.dmi' - button_icon_state = "mech_cycle_equip_off" + if(isnull(target)) + targets -= target + stack_trace("Null target in turret list") + continue -/datum/action/turret_toggle/Trigger() - var/obj/machinery/porta_turret/P = target - if(!istype(P)) - return - P.setState(P.on,!P.mode) + if(check_target(target)) + break -/datum/action/turret_quit - name = "Release Control" - icon_icon = 'icons/mob/actions/actions_mecha.dmi' - button_icon_state = "mech_eject" +/obj/machinery/porta_turret/proc/check_target(atom/movable/target, check_flags = turret_flags) + // mecha|carbon|silicon|simple_animal + if(ismecha(target)) + var/obj/mecha/mech = target + if(!mech.occupant) + targets -= target + return FALSE + target = mech.occupant -/datum/action/turret_quit/Trigger() - var/obj/machinery/porta_turret/P = target - if(!istype(P)) - return - P.remove_control(FALSE) + // We know the target must be a mob now + var/mob/target_mob = target -/obj/machinery/porta_turret/proc/give_control(mob/A) - if(manual_control || !can_interact(A)) + if(target_mob.stat == DEAD) + //They probably won't need to be re-checked + targets -= target return FALSE - remote_controller = A - if(!quit_action) - quit_action = new(src) - quit_action.Grant(remote_controller) - if(!toggle_action) - toggle_action = new(src) - toggle_action.Grant(remote_controller) - remote_controller.reset_perspective(src) - remote_controller.click_intercept = src - manual_control = TRUE - always_up = TRUE - popUp() - return TRUE -/obj/machinery/porta_turret/proc/remove_control(warning_message = TRUE) - if(!manual_control) + if((check_flags & TURRET_FLAG_SHOOT_NONFACTION) && faction_check(src.faction, target_mob.faction)) return FALSE - if(remote_controller) - if(warning_message) - to_chat(remote_controller, "Your uplink to [src] has been severed!") - quit_action.Remove(remote_controller) - toggle_action.Remove(remote_controller) - remote_controller.click_intercept = null - remote_controller.reset_perspective() - always_up = initial(always_up) - manual_control = FALSE - remote_controller = null - return TRUE -/obj/machinery/porta_turret/proc/InterceptClickOn(mob/living/caller, params, atom/A) - if(!manual_control) + if((check_flags & TURRET_FLAG_SHOOT_SPECIFIC_FACTION) && !faction_check(src.faction, target_mob.faction)) return FALSE - if(!can_interact(caller)) - remove_control() - return FALSE - log_combat(caller,A,"fired with manual turret control at") - target(A) - return TRUE -/obj/machinery/porta_turret/syndicate - installation = null - always_up = 1 - use_power = NO_POWER_USE - has_cover = 0 - scan_range = 9 - req_access = list(ACCESS_SYNDICATE) - 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' - icon_state = "syndie_off" - base_icon_state = "syndie" - faction = list(ROLE_SYNDICATE) - desc = "A ballistic machine gun auto-turret." - -/obj/machinery/porta_turret/syndicate/ComponentInitialize() - . = ..() - AddComponent(/datum/component/empprotection, EMP_PROTECT_SELF | EMP_PROTECT_WIRES) + if(iscyborg(target_mob)) + return (check_flags & TURRET_FLAG_SHOOT_SILICONS) && target(target_mob) -/obj/machinery/porta_turret/syndicate/setup() - return + if(!ishuman(target_mob)) + if(!(check_flags & TURRET_FLAG_SHOOT_FAUNA)) + return FALSE -/obj/machinery/porta_turret/syndicate/assess_perp(mob/living/carbon/human/perp) - return 10 //Syndicate turrets shoot everything not in their faction + if(!(check_flags & TURRET_FLAG_SHOOT_DANGEROUS_ONLY)) + return target(target_mob) -/obj/machinery/porta_turret/syndicate/energy - icon_state = "standard_lethal" - base_icon_state = "standard" - stun_projectile = /obj/projectile/energy/electrode - stun_projectile_sound = 'sound/weapons/taser.ogg' - lethal_projectile = /obj/projectile/beam/laser - lethal_projectile_sound = 'sound/weapons/laser.ogg' - desc = "An energy blaster auto-turret." - -/obj/machinery/porta_turret/syndicate/energy/heavy - icon_state = "standard_lethal" - base_icon_state = "standard" - stun_projectile = /obj/projectile/energy/electrode - stun_projectile_sound = 'sound/weapons/taser.ogg' - lethal_projectile = /obj/projectile/beam/laser/heavylaser - lethal_projectile_sound = 'sound/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' - faction = list("neutral","silicon","turret") - -/obj/machinery/porta_turret/syndicate/pod - integrity_failure = 0.5 - max_integrity = 40 - stun_projectile = /obj/projectile/bullet/syndicate_turret - lethal_projectile = /obj/projectile/bullet/syndicate_turret - -/obj/machinery/porta_turret/syndicate/shuttle - scan_range = 9 - 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' - armor = list("melee" = 50, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 80, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90) - -/obj/machinery/porta_turret/syndicate/shuttle/target(atom/movable/target) - if(target) - setDir(get_dir(base, target))//even if you can't shoot, follow the target - shootAt(target) - addtimer(CALLBACK(src, PROC_REF(shootAt), target), 5) - addtimer(CALLBACK(src, PROC_REF(shootAt), target), 10) - addtimer(CALLBACK(src, PROC_REF(shootAt), target), 15) - return TRUE + //this is gross + var/static/list/dangerous_fauna = typecacheof(list(/mob/living/simple_animal/hostile, /mob/living/carbon/alien, /mob/living/carbon/monkey)) + if(!is_type_in_typecache(target_mob, dangerous_fauna)) + return FALSE -/obj/machinery/porta_turret/ai - faction = list("silicon") - turret_flags = TURRET_FLAG_SHOOT_CRIMINALS | TURRET_FLAG_SHOOT_ANOMALOUS | TURRET_FLAG_SHOOT_HEADS - -/obj/machinery/porta_turret/ai/assess_perp(mob/living/carbon/human/perp) - return 10 //AI turrets shoot at everything not in their faction - -/obj/machinery/porta_turret/ship - installation = null - max_integrity = 300 - always_up = 1 - use_power = ACTIVE_POWER_USE - active_power_usage = ACTIVE_DRAW_MINIMAL - has_cover = 0 - scan_range = 9 - stun_projectile = /obj/projectile/beam/disabler - lethal_projectile = /obj/projectile/beam/laser - lethal_projectile_sound = 'sound/weapons/plasma_cutter.ogg' - stun_projectile_sound = 'sound/weapons/plasma_cutter.ogg' - icon_state = "syndie_off" - base_icon_state = "syndie" - faction = list("neutral", "turret") - mode = TURRET_STUN - -/obj/machinery/porta_turret/ship/ComponentInitialize() - . = ..() - AddComponent(/datum/component/empprotection, EMP_PROTECT_SELF | EMP_PROTECT_WIRES) + if(ismonkey(target_mob)) + var/mob/living/carbon/monkey/monke = target_mob + return monke.mode == MONKEY_HUNT && target(target_mob) + if(istype(target_mob, /mob/living/simple_animal/hostile/retaliate)) + var/mob/living/simple_animal/hostile/retaliate/target_animal = target_mob + return length(target_animal.enemies) && target(target_mob) -/obj/machinery/porta_turret/ship/setup() - return + return target(target_mob) -/obj/machinery/porta_turret/ship/examine(mob/user) - . = ..() - if(in_range(user, src) || isobserver(user)) - if(!(machine_stat & BROKEN)) - . += "Its reports that it's integrity is currently [(obj_integrity / max_integrity) * 100] percent." + //We know the target must be a human now + var/mob/living/carbon/human/target_carbon = target_mob -/obj/machinery/porta_turret/ship/weak - max_integrity = 120 - integrity_failure = 0.5 - name = "Old Laser Turret" - desc = "A turret built with substandard parts and run down further with age. Still capable of delivering lethal lasers to the odd space carp, but not much else." - stun_projectile = /obj/projectile/beam/disabler/weak - lethal_projectile = /obj/projectile/beam/weak/penetrator - faction = list("neutral", "turret") - -/obj/machinery/porta_turret/ship/ballistic - stun_projectile = /obj/projectile/bullet/turret/rubber - lethal_projectile = /obj/projectile/bullet/turret - lethal_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' - stun_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' - desc = "A ballistic machine gun auto-turret." - -/obj/machinery/porta_turret/ship/solgov - faction = list("playerSolgov", "turret") - -/obj/machinery/porta_turret/ship/syndicate - faction = list(FACTION_PLAYER_SYNDICATE, "turret") - icon_state = "standard_lethal" - base_icon_state = "standard" + if(req_ship_access && (check_access(target_carbon.get_active_held_item()) || check_access(target_carbon.wear_id))) + return FALSE -/obj/machinery/porta_turret/ship/syndicate/weak - name = "Light Laser Turret" - desc = "A low powered turret designed by the Gorlex Maurauders during the ICW. Effectively weaponizes mining equipment." - stun_projectile = /obj/projectile/beam/disabler/weak - lethal_projectile = /obj/projectile/beam/weak/penetrator - icon_state = "syndie_off" - base_icon_state = "syndie" - -/obj/machinery/porta_turret/ship/syndicate/heavy - name = "Heavy Laser Turret" - desc = "Produced by Cybersun, this turret is a duel mount of a propietary heavy laser, and crowd control taser system." - stun_projectile = /obj/projectile/energy/electrode - stun_projectile_sound = 'sound/weapons/taser.ogg' - lethal_projectile = /obj/projectile/beam/laser/heavylaser - lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' - -//////////////////////// -//Turret Control Panel// -//////////////////////// - -/obj/machinery/turretid - name = "turret control panel" - desc = "Used to control a room's automated defenses." - icon = 'icons/obj/machines/turret_control.dmi' - icon_state = "control_standby" - base_icon_state = "control" - density = FALSE - req_access = list(ACCESS_AI_UPLOAD) - resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF - /// Variable dictating if linked turrets are active and will shoot targets - var/enabled = TRUE - /// Variable dictating if linked turrets will shoot lethal projectiles - var/lethal = FALSE - /// Variable dictating if the panel is locked, preventing changes to turret settings - var/locked = TRUE - /// An area in which linked turrets are located, it can be an area name, path or nothing - var/control_area = null - /// AI is unable to use this machine if set to TRUE - var/ailock = FALSE - /// Variable dictating if linked turrets will shoot cyborgs - var/shoot_cyborgs = FALSE - /// List of all linked turrets - var/list/turrets = list() - -/obj/machinery/turretid/Initialize(mapload, ndir = 0, built = 0) - . = ..() - if(built) - setDir(ndir) - locked = FALSE - pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24) - pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0 - power_change() //Checks power and initial settings - -/obj/machinery/turretid/Destroy() - turrets.Cut() - return ..() + if(!(check_flags & TURRET_FLAG_SHOOT_DANGEROUS_ONLY)) + return target(target_carbon) -/obj/machinery/turretid/Initialize(mapload) //map-placed turrets autolink turrets - . = ..() - if(!mapload) - return + //Not dangerous if you can't hold anything + if(target_carbon.handcuffed || !(target_carbon.mobility_flags & MOBILITY_USE)) + return FALSE - if(control_area) - control_area = get_area_instance_from_text(control_area) - if(control_area == null) - control_area = get_area(src) - stack_trace("Bad control_area path for [src], [src.control_area]") - else if(!control_area) - control_area = get_area(src) + if(target_carbon.is_holding_item_of_type(/obj/item/gun) || target_carbon.is_holding_item_of_type(/obj/item/melee)) + return target(target_carbon) + +//Returns whether or not we should stop searching for targets +/obj/machinery/porta_turret/proc/target(mob/living/target) + if(!COOLDOWN_FINISHED(src, fire_cooldown)) + return TRUE - for(var/obj/machinery/porta_turret/T in control_area) - turrets |= T - T.cp = src + var/turf/our_turf = get_turf(src) + if(!istype(our_turf)) + return TRUE -/obj/machinery/turretid/examine(mob/user) - . += ..() - if(issilicon(user) && !(machine_stat & BROKEN)) - . += {"Ctrl-click [src] to [ enabled ? "disable" : "enable"] turrets. - Alt-click [src] to set turrets to [ lethal ? "stun" : "kill"]."} + //Wall turrets will try to find adjacent empty turf to shoot from to cover full arc + if(our_turf.density) + if(wall_turret_direction) + var/turf/closer = get_step(our_turf, wall_turret_direction) + if(istype(closer) && !closer.is_blocked_turf() && our_turf.Adjacent(closer)) + our_turf = closer + else + var/target_dir = get_dir(our_turf, target) + for(var/d in list(0, -45, 45)) + var/turf/closer = get_step(our_turf, turn(target_dir, d)) + if(istype(closer) && !closer.is_blocked_turf() && our_turf.Adjacent(closer)) + our_turf = closer + break + if(!can_see(our_turf, target, scan_range)) + return FALSE -/obj/machinery/turretid/attackby(obj/item/I, mob/user, params) - if(machine_stat & BROKEN) - return + setDir(get_dir(our_turf, target)) - if(I.tool_behaviour == TOOL_MULTITOOL) - if(!multitool_check_buffer(user, I)) - return - var/obj/item/multitool/M = I - if(M.buffer && istype(M.buffer, /obj/machinery/porta_turret)) - turrets |= M.buffer - to_chat(user, "You link \the [M.buffer] with \the [src].") - return + if(!manual_control) + if(current_target != target) + set_target(target) + COOLDOWN_START(src, reaction_cooldown, reaction_time) - if (issilicon(user)) - return attack_hand(user) + if(ishuman(target) || target.client) + target.do_alert_animation(target) - if (get_dist(src, user) == 0) // trying to unlock the interface - if (allowed(usr)) - if(obj_flags & EMAGGED) - to_chat(user, "The turret control is unresponsive!") - return + return TRUE - locked = !locked - to_chat(user, "You [ locked ? "lock" : "unlock"] the panel.") - else - to_chat(user, "Access denied.") + if(!COOLDOWN_FINISHED(src, reaction_cooldown)) + return TRUE -/obj/machinery/turretid/emag_act(mob/user) - if(obj_flags & EMAGGED) - return - to_chat(user, "You short out the turret controls' access analysis module.") - obj_flags |= EMAGGED - locked = FALSE + target_beam.set_target(null) + COOLDOWN_START(src, fire_cooldown, shot_delay) -/obj/machinery/turretid/attack_ai(mob/user) - if(!ailock || isAdminGhostAI(user)) - return attack_hand(user) + update_appearance(UPDATE_ICON_STATE) + var/obj/projectile/shot + //any lethaling turrets drain 2x the power and use a different projectile + if(lethal) + use_power(reqpower * 2) + shot = new lethal_projectile(our_turf) + playsound(loc, lethal_projectile_sound, 75, TRUE) else - to_chat(user, "There seems to be a firewall preventing you from accessing this device!") + use_power(reqpower) + shot = new stun_projectile(our_turf) + playsound(loc, stun_projectile_sound, 75, TRUE) -/obj/machinery/turretid/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "TurretControl", name) - ui.open() -/obj/machinery/turretid/ui_data(mob/user) - var/list/data = list() - data["locked"] = locked - data["siliconUser"] = user.has_unlimited_silicon_privilege && check_ship_ai_access(user) - data["enabled"] = enabled - data["lethal"] = lethal - data["shootCyborgs"] = shoot_cyborgs - return data + //Shooting Code: + shot.preparePixelProjectile(target, our_turf) + shot.firer = src + shot.fired_from = src + shot.fire() + return TRUE -/obj/machinery/turretid/ui_act(action, list/params) - . = ..() - if(.) - return +/obj/machinery/porta_turret/proc/set_target(atom/movable/target = null) + if(current_target) + UnregisterSignal(current_target, COMSIG_PARENT_QDELETING) - switch(action) - if("lock") - if(!usr.has_unlimited_silicon_privilege) - return - if((obj_flags & EMAGGED) || (machine_stat & BROKEN)) - to_chat(usr, "The turret control is unresponsive!") - return - locked = !locked - return TRUE - if("power") - toggle_on(usr) - return TRUE - if("mode") - toggle_lethal(usr) - return TRUE - if("shoot_silicons") - shoot_silicons(usr) - return TRUE + retaliating = FALSE + current_target = target + target_beam.set_target(target) -/obj/machinery/turretid/proc/toggle_lethal(mob/user) - lethal = !lethal - add_hiddenprint(user) - log_combat(user, src, "[lethal ? "enabled" : "disabled"] lethals on") - updateTurrets() - -/obj/machinery/turretid/proc/toggle_on(mob/user) - enabled = !enabled - add_hiddenprint(user) - log_combat(user, src, "[enabled ? "enabled" : "disabled"]") - updateTurrets() - -/obj/machinery/turretid/proc/shoot_silicons(mob/user) - shoot_cyborgs = !shoot_cyborgs - add_hiddenprint(user) - log_combat(user, src, "[shoot_cyborgs ? "Shooting Borgs" : "Not Shooting Borgs"]") - updateTurrets() - -/obj/machinery/turretid/proc/updateTurrets() - for (var/obj/machinery/porta_turret/aTurret in turrets) - aTurret.setState(enabled, lethal, shoot_cyborgs) - update_appearance() + if(current_target) + RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(set_target)) -/obj/machinery/turretid/update_icon_state() - if(machine_stat & NOPOWER) - icon_state = "[base_icon_state]_off" - return ..() - if (enabled) - icon_state = "[base_icon_state]_[lethal ? "kill" : "stun"]" - return ..() - icon_state = "[base_icon_state]_standby" - return ..() +/obj/machinery/porta_turret/proc/set_state(on, new_mode, new_flags) + if(locked) + return -/obj/machinery/turretid/lethal - lethal = TRUE + if(!isnull(new_flags)) + turret_flags = new_flags -/obj/item/wallframe/turret_control - name = "turret control frame" - desc = "Used for building turret control panels." - icon_state = "apc" - result_path = /obj/machinery/turretid - custom_materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT) - inverse_pixel_shift = TRUE + lethal = new_mode + toggle_on(on) + power_change() /obj/item/gun/proc/get_turret_properties() . = list() @@ -1074,7 +650,7 @@ DEFINE_BITFIELD(turret_flags, list( /obj/item/gun/ballistic/get_turret_properties() . = ..() - var/obj/item/ammo_box/mag = mag_type + var/obj/item/ammo_box/mag = default_ammo_type var/obj/item/ammo_casing/primary_ammo = initial(mag.ammo_type) .["base_icon_state"] = "syndie" @@ -1082,6 +658,3 @@ DEFINE_BITFIELD(turret_flags, list( .["stun_projectile_sound"] = initial(primary_ammo.fire_sound) .["lethal_projectile"] = .["stun_projectile"] .["lethal_projectile_sound"] = .["stun_projectile_sound"] - -/obj/item/gun/energy/e_gun/turret/get_turret_properties() - . = ..() diff --git a/code/game/machinery/porta_turret/portable_turret_construct.dm b/code/game/machinery/porta_turret/portable_turret_construct.dm deleted file mode 100644 index ad2f82eace2..00000000000 --- a/code/game/machinery/porta_turret/portable_turret_construct.dm +++ /dev/null @@ -1,192 +0,0 @@ -#define PTURRET_UNSECURED 0 -#define PTURRET_BOLTED 1 -#define PTURRET_START_INTERNAL_ARMOUR 2 -#define PTURRET_INTERNAL_ARMOUR_ON 3 -#define PTURRET_GUN_EQUIPPED 4 -#define PTURRET_SENSORS_ON 5 -#define PTURRET_CLOSED 6 -#define PTURRET_START_EXTERNAL_ARMOUR 7 -#define PTURRET_EXTERNAL_ARMOUR_ON 8 - -/obj/machinery/porta_turret_construct - name = "turret frame" - icon = 'icons/obj/turrets.dmi' - icon_state = "turret_frame" - desc = "An unfinished covered turret frame." - anchored = FALSE - density = TRUE - var/build_step = PTURRET_UNSECURED //the current step in the building process - var/finish_name = "turret" //the name applied to the product turret - var/obj/item/gun/installed_gun = null - -/obj/machinery/porta_turret_construct/attackby(obj/item/I, mob/user, params) - //this is a bit unwieldy but self-explanatory - switch(build_step) - if(PTURRET_UNSECURED) //first step - if(I.tool_behaviour == TOOL_WRENCH && !anchored) - I.play_tool_sound(src, 100) - to_chat(user, "You secure the external bolts.") - set_anchored(TRUE) - build_step = PTURRET_BOLTED - return - - else if(I.tool_behaviour == TOOL_CROWBAR && !anchored) - I.play_tool_sound(src, 75) - to_chat(user, "You dismantle the turret construction.") - new /obj/item/stack/sheet/metal(loc, 5) - qdel(src) - return - - if(PTURRET_BOLTED) - if(istype(I, /obj/item/stack/sheet/metal)) - var/obj/item/stack/sheet/metal/M = I - if(M.use(2)) - to_chat(user, "You add some metal armor to the interior frame.") - build_step = PTURRET_START_INTERNAL_ARMOUR - icon_state = "turret_frame2" - else - to_chat(user, "You need two sheets of metal to continue construction!") - return - - else if(I.tool_behaviour == TOOL_WRENCH) - I.play_tool_sound(src, 75) - to_chat(user, "You unfasten the external bolts.") - set_anchored(FALSE) - build_step = PTURRET_UNSECURED - return - - - if(PTURRET_START_INTERNAL_ARMOUR) - if(I.tool_behaviour == TOOL_WRENCH) - I.play_tool_sound(src, 100) - to_chat(user, "You bolt the metal armor into place.") - build_step = PTURRET_INTERNAL_ARMOUR_ON - return - - else if(I.tool_behaviour == TOOL_WELDER) - if(!I.tool_start_check(user, amount=5)) //uses up 5 fuel - return - - to_chat(user, "You start to remove the turret's interior metal armor...") - - if(I.use_tool(src, user, 20, volume=50, amount=5)) //uses up 5 fuel - build_step = PTURRET_BOLTED - to_chat(user, "You remove the turret's interior metal armor.") - new /obj/item/stack/sheet/metal(drop_location(), 2) - return - - - if(PTURRET_INTERNAL_ARMOUR_ON) - if(istype(I, /obj/item/gun/energy)) //the gun installation part - var/obj/item/gun/energy/E = I - if(!user.transferItemToLoc(E, src)) - return - installed_gun = E - to_chat(user, "You add [I] to the turret.") - build_step = PTURRET_GUN_EQUIPPED - return - - else if(I.tool_behaviour == TOOL_WRENCH) - I.play_tool_sound(src, 100) - to_chat(user, "You remove the turret's metal armor bolts.") - build_step = PTURRET_START_INTERNAL_ARMOUR - return - - if(PTURRET_GUN_EQUIPPED) - if(isprox(I)) - build_step = PTURRET_SENSORS_ON - if(!user.temporarilyRemoveItemFromInventory(I)) - return - to_chat(user, "You add the proximity sensor to the turret.") - qdel(I) - return - - - if(PTURRET_SENSORS_ON) - if(I.tool_behaviour == TOOL_SCREWDRIVER) - I.play_tool_sound(src, 100) - build_step = PTURRET_CLOSED - to_chat(user, "You close the internal access hatch.") - return - - - if(PTURRET_CLOSED) - if(istype(I, /obj/item/stack/sheet/metal)) - var/obj/item/stack/sheet/metal/M = I - if(M.use(2)) - to_chat(user, "You add some metal armor to the exterior frame.") - build_step = PTURRET_START_EXTERNAL_ARMOUR - else - to_chat(user, "You need two sheets of metal to continue construction!") - return - - else if(I.tool_behaviour == TOOL_SCREWDRIVER) - I.play_tool_sound(src, 100) - build_step = PTURRET_SENSORS_ON - to_chat(user, "You open the internal access hatch.") - return - - if(PTURRET_START_EXTERNAL_ARMOUR) - if(I.tool_behaviour == TOOL_WELDER) - if(!I.tool_start_check(user, amount=5)) - return - - to_chat(user, "You begin to weld the turret's armor down...") - if(I.use_tool(src, user, 30, volume=50, amount=5)) - build_step = PTURRET_EXTERNAL_ARMOUR_ON - to_chat(user, "You weld the turret's armor down.") - - //The final step: create a full turret - - var/obj/machinery/porta_turret/turret - turret = new/obj/machinery/porta_turret(loc) - turret.name = finish_name - turret.installation = installed_gun.type - turret.setup(installed_gun) - qdel(src) - return - - else if(I.tool_behaviour == TOOL_CROWBAR) - I.play_tool_sound(src, 75) - to_chat(user, "You pry off the turret's exterior armor.") - new /obj/item/stack/sheet/metal(loc, 2) - build_step = PTURRET_CLOSED - return - - if(istype(I, /obj/item/pen)) //you can rename turrets like bots! - var/t = stripped_input(user, "Enter new turret name", name, finish_name) - if(!t) - return - if(!Adjacent(user)) - return - - finish_name = t - return - return ..() - - -/obj/machinery/porta_turret_construct/attack_hand(mob/user) - . = ..() - if(.) - return - switch(build_step) - if(PTURRET_GUN_EQUIPPED) - build_step = PTURRET_INTERNAL_ARMOUR_ON - - installed_gun.forceMove(loc) - to_chat(user, "You remove [installed_gun] from the turret frame.") - installed_gun = null - - if(PTURRET_SENSORS_ON) - to_chat(user, "You remove the prox sensor from the turret frame.") - new /obj/item/assembly/prox_sensor(loc) - build_step = PTURRET_GUN_EQUIPPED - -/obj/machinery/porta_turret_construct/attack_ai() - return - -/obj/machinery/porta_turret_construct/Destroy() - if(installed_gun) - qdel(installed_gun) - installed_gun = null - . = ..() diff --git a/code/game/machinery/porta_turret/portable_turret_control.dm b/code/game/machinery/porta_turret/portable_turret_control.dm new file mode 100644 index 00000000000..ba70fe3a44b --- /dev/null +++ b/code/game/machinery/porta_turret/portable_turret_control.dm @@ -0,0 +1,241 @@ + +//////////////////////// +//Turret Control Panel// +//////////////////////// + +/obj/machinery/turretid + name = "turret control panel" + desc = "Used to control a room's automated defenses." + icon = 'icons/obj/machines/turret_control.dmi' + icon_state = "control_standby" + base_icon_state = "control" + density = FALSE + req_access = list(ACCESS_AI_UPLOAD) + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + /// Variable dictating if linked turrets are active and will shoot targets + var/enabled = TRUE + /// Variable dictating if linked turrets will shoot lethal projectiles + var/lethal = FALSE + /// Variable dictating if the panel is locked, preventing changes to turret settings + var/locked = TRUE + /// AI is unable to use this machine if set to TRUE + var/ailock = FALSE + /// Flags to apply to all linked turrets + var/turret_flags = TURRET_FLAG_DEFAULT + /// List of all linked turrets + var/list/datum/weakref/turret_refs = list() + ///id for connecting to additional turrets + var/id = "" + +/obj/machinery/turretid/Initialize(mapload, ndir = 0, built = 0) + . = ..() + if(built) + setDir(ndir) + locked = FALSE + pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24) + pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0 + power_change() + +/obj/machinery/turretid/Destroy() + turret_refs.Cut() + return ..() + +/obj/machinery/turretid/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) + id = "[text_ref(port)][id]" + RegisterSignal(port, COMSIG_SHIP_DONE_CONNECTING, PROC_REF(late_connect_to_shuttle)) + +/obj/machinery/turretid/proc/late_connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) + SIGNAL_HANDLER + + for(var/datum/weakref/ship_gun in port.turret_list) + var/obj/machinery/porta_turret/turret_gun = ship_gun.resolve() + //skip if it doesn't exist or if the id doesn't match + if(turret_gun?.id != id) + continue + + turret_refs |= ship_gun + + update_turrets() + UnregisterSignal(port, COMSIG_SHIP_DONE_CONNECTING) + +/obj/machinery/turretid/examine(mob/user) + . += ..() + if((machine_stat & (BROKEN|MAINT))) + return + + . += span_notice("Alt-click [src] to [locked ? "unlock" : "lock"] it.") + . += span_notice("Ctrl-click [src] to [enabled ? "disable" : "enable"] turrets.") + . += span_notice("Ctrl-shift-click [src] to set turrets to [lethal ? "stun" : "kill"] mode.") + +/obj/machinery/turretid/attackby(obj/item/I, mob/user, params) + if(machine_stat & BROKEN) + return + + if(I.tool_behaviour == TOOL_MULTITOOL) + if(!multitool_check_buffer(user, I)) + return + var/obj/item/multitool/M = I + if(M.buffer && istype(M.buffer, /obj/machinery/porta_turret)) + turret_refs |= WEAKREF(M.buffer) + to_chat(user, "You link \the [M.buffer] with \the [src].") + return + + if(issilicon(user)) + return attack_hand(user) + + if(istype(I, /obj/item/card/id)) + toggle_lock(user) + +/obj/machinery/turretid/AltClick(mob/user) + . = ..() + toggle_lock(user) + +/obj/machinery/turretid/CtrlClick(mob/user) + . = ..() + toggle_on(user) + +/obj/machinery/turretid/CtrlShiftClick(mob/user) + . = ..() + toggle_lethal(user) + +/obj/machinery/turretid/emag_act(mob/user) + if(obj_flags & EMAGGED) + return + to_chat(user, span_notice("You short out the turret controls' access analysis module.")) + obj_flags |= EMAGGED + locked = FALSE + +/obj/machinery/turretid/attack_ai(mob/user) + if(!ailock || isAdminGhostAI(user)) + return attack_hand(user) + else + to_chat(user, span_warning("There seems to be a firewall preventing you from accessing this device!")) + +/obj/machinery/turretid/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "TurretControl", name) + ui.open() + +/obj/machinery/turretid/ui_data(mob/user) + return list( + "locked" = locked, + "enabled" = enabled, + "lethal" = lethal, + "siliconUser" = user.has_unlimited_silicon_privilege && check_ship_ai_access(user), + "dangerous_only" = turret_flags & TURRET_FLAG_SHOOT_DANGEROUS_ONLY, + "retaliate" = turret_flags & TURRET_FLAG_SHOOT_RETALIATE, + "shoot_fauna" = turret_flags & TURRET_FLAG_SHOOT_FAUNA, + "shoot_humans" = turret_flags & TURRET_FLAG_SHOOT_HUMANS, + "shoot_silicons" = turret_flags & TURRET_FLAG_SHOOT_SILICONS, + "only_nonfaction" = turret_flags & TURRET_FLAG_SHOOT_NONFACTION, + "only_specificfaction" = turret_flags & TURRET_FLAG_SHOOT_SPECIFIC_FACTION, + ) + +/obj/machinery/turretid/ui_act(action, list/params) + . = ..() + if(.) + return + + switch(action) + if("lock") + if(!usr.has_unlimited_silicon_privilege) + return + toggle_lock(usr) + return TRUE + if("power") + toggle_on(usr) + if("mode") + toggle_lethal(usr) + if("toggle_dangerous") + turret_flags ^= TURRET_FLAG_SHOOT_DANGEROUS_ONLY + if("toggle_retaliate") + turret_flags ^= TURRET_FLAG_SHOOT_RETALIATE + + + if("toggle_fauna") + turret_flags ^= TURRET_FLAG_SHOOT_FAUNA + if("toggle_humans") + turret_flags ^= TURRET_FLAG_SHOOT_HUMANS + if("toggle_silicons") + turret_flags ^= TURRET_FLAG_SHOOT_SILICONS + if("toggle_nonfaction") + turret_flags ^= TURRET_FLAG_SHOOT_NONFACTION + if("toggle_specificfaction") + turret_flags ^= TURRET_FLAG_SHOOT_SPECIFIC_FACTION + + else + return + + update_turrets() + +/obj/machinery/turretid/proc/toggle_lock(mob/user) + if(!user.canUseTopic(src, !issilicon(user))) + return + if(!allowed(user)) + to_chat(user, span_alert("Access denied.")) + return + if(obj_flags & EMAGGED || (machine_stat & (BROKEN|MAINT))) + to_chat(user, span_warning("The turret control is unresponsive!")) + return + + to_chat(user, span_notice("You [locked ? "unlock" : "lock"] the turret control.")) + locked = !locked + update_appearance() + +/obj/machinery/turretid/proc/toggle_lethal(mob/user) + if(!user.canUseTopic(src, !issilicon(user))) + return + if(obj_flags & EMAGGED || (machine_stat & (BROKEN|MAINT))) + to_chat(user, span_warning("The turret control is unresponsive!")) + return + + lethal = !lethal + add_hiddenprint(user) + log_combat(user, src, "[lethal ? "enabled" : "disabled"] lethals on") + +/obj/machinery/turretid/proc/toggle_on(mob/user) + if(!user.canUseTopic(src, !issilicon(user))) + return + if(obj_flags & EMAGGED || (machine_stat & (BROKEN|MAINT))) + to_chat(user, span_warning("The turret control is unresponsive!")) + return + + enabled = !enabled + add_hiddenprint(user) + log_combat(user, src, "[enabled ? "enabled" : "disabled"]") + +/obj/machinery/turretid/proc/update_turrets() + for(var/datum/weakref/turret_ref in turret_refs) + var/obj/machinery/porta_turret/turret = turret_ref.resolve() + if(!turret) + turret_refs -= turret_ref + continue + turret.set_state(enabled, lethal, turret_flags) + update_appearance() + +/obj/machinery/turretid/update_icon_state() + if(machine_stat & NOPOWER) + icon_state = "[base_icon_state]_off" + return ..() + if (enabled) + icon_state = "[base_icon_state]_[lethal ? "kill" : "stun"]" + return ..() + icon_state = "[base_icon_state]_standby" + return ..() + +/obj/machinery/turretid/lethal + lethal = TRUE + turret_flags = TURRET_FLAG_HOSTILE + +/obj/machinery/turretid/ship + req_ship_access = TRUE + +/obj/item/wallframe/turret_control + name = "turret control frame" + desc = "Used for building turret control panels." + icon = 'icons/obj/machines/turret_control.dmi' + icon_state = "control_off" + result_path = /obj/machinery/turretid + custom_materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT) + inverse_pixel_shift = TRUE diff --git a/code/game/machinery/porta_turret/portable_turret_cover.dm b/code/game/machinery/porta_turret/portable_turret_cover.dm deleted file mode 100644 index a1da4cbf646..00000000000 --- a/code/game/machinery/porta_turret/portable_turret_cover.dm +++ /dev/null @@ -1,93 +0,0 @@ - -/************************ -* PORTABLE TURRET COVER * -************************/ - -/obj/machinery/porta_turret_cover - name = "turret" - icon = 'icons/obj/turrets.dmi' - icon_state = "turretCover" - layer = HIGH_OBJ_LAYER - density = FALSE - max_integrity = 80 - var/obj/machinery/porta_turret/parent_turret = null - -/obj/machinery/porta_turret_cover/Destroy() - if(parent_turret) - parent_turret.cover = null - parent_turret.invisibility = 0 - parent_turret = null - return ..() - -//The below code is pretty much just recoded from the initial turret object. It's necessary but uncommented because it's exactly the same! -//>necessary -//I'm not fixing it because i'm fucking bored of this code already, but someone should just reroute these to the parent turret's procs. - -/obj/machinery/porta_turret_cover/attack_ai(mob/user) - return ..() || parent_turret.attack_ai(user) - -/obj/machinery/porta_turret_cover/attack_robot(mob/user) - return ..() || parent_turret.attack_robot(user) - -/obj/machinery/porta_turret_cover/attack_hand(mob/user) - return ..() || parent_turret.attack_hand(user) - -/obj/machinery/porta_turret_cover/attack_ghost(mob/user) - return ..() || parent_turret.attack_ghost(user) - -/obj/machinery/porta_turret_cover/attackby(obj/item/I, mob/user, params) - if(I.tool_behaviour == TOOL_WRENCH && !parent_turret.on) - if(parent_turret.raised) - return - - if(!parent_turret.anchored) - parent_turret.set_anchored(TRUE) - to_chat(user, "You secure the exterior bolts on the turret.") - parent_turret.invisibility = 0 - parent_turret.update_appearance() - else - parent_turret.set_anchored(FALSE) - to_chat(user, "You unsecure the exterior bolts on the turret.") - parent_turret.invisibility = INVISIBILITY_MAXIMUM - parent_turret.update_appearance() - qdel(src) - return - if(I.GetID()) - if(parent_turret.allowed(user)) - parent_turret.locked = !parent_turret.locked - to_chat(user, "Controls are now [parent_turret.locked ? "locked" : "unlocked"].") - else - to_chat(user, "Access denied.") - return - - if(I.tool_behaviour == TOOL_MULTITOOL && !parent_turret.locked) - if(!multitool_check_buffer(user, I)) - return - var/obj/item/multitool/M = I - M.buffer = parent_turret - to_chat(user, "You add [parent_turret] to multitool buffer.") - return - return ..() - -/obj/machinery/porta_turret_cover/attacked_by(obj/item/I, mob/user) - parent_turret.attacked_by(I, user) - -/obj/machinery/porta_turret_cover/attack_alien(mob/living/carbon/alien/humanoid/user) - parent_turret.attack_alien(user) - -/obj/machinery/porta_turret_cover/attack_animal(mob/living/simple_animal/user) - parent_turret.attack_animal(user) - -/obj/machinery/porta_turret_cover/attack_hulk(mob/living/carbon/human/user) - return parent_turret.attack_hulk(user) - -/obj/machinery/porta_turret_cover/can_be_overridden() - . = 0 - -/obj/machinery/porta_turret_cover/emag_act(mob/user) - if(!(parent_turret.obj_flags & EMAGGED)) - to_chat(user, "You short out [parent_turret]'s threat assessment circuits.") - visible_message("[parent_turret] hums oddly...") - parent_turret.obj_flags |= EMAGGED - parent_turret.on = FALSE - addtimer(VARSET_CALLBACK(parent_turret, on, TRUE), 4 SECONDS) diff --git a/code/game/machinery/porta_turret/portable_turret_manual_control.dm b/code/game/machinery/porta_turret/portable_turret_manual_control.dm new file mode 100644 index 00000000000..7fac7309bfe --- /dev/null +++ b/code/game/machinery/porta_turret/portable_turret_manual_control.dm @@ -0,0 +1,68 @@ +/obj/machinery/porta_turret + /// Action button holder for quitting manual control + var/datum/action/turret_quit/quit_action + /// Action button holder for switching between turret modes when manually controlling + var/datum/action/turret_toggle/toggle_action + /// Mob that is remotely controlling the turret + var/mob/remote_controller + +/datum/action/turret_toggle + name = "Toggle Mode" + icon_icon = 'icons/mob/actions/actions_mecha.dmi' + button_icon_state = "mech_cycle_equip_off" + +/datum/action/turret_toggle/Trigger() + var/obj/machinery/porta_turret/P = target + if(!istype(P)) + return + P.set_state(P.on, !P.lethal) + +/datum/action/turret_quit + name = "Release Control" + icon_icon = 'icons/mob/actions/actions_mecha.dmi' + button_icon_state = "mech_eject" + +/datum/action/turret_quit/Trigger() + var/obj/machinery/porta_turret/P = target + if(!istype(P)) + return + P.remove_control(FALSE) + +/obj/machinery/porta_turret/proc/give_control(mob/A) + if(manual_control || !can_interact(A)) + return FALSE + remote_controller = A + if(!quit_action) + quit_action = new(src) + quit_action.Grant(remote_controller) + if(!toggle_action) + toggle_action = new(src) + toggle_action.Grant(remote_controller) + remote_controller.reset_perspective(src) + remote_controller.click_intercept = src + manual_control = TRUE + return TRUE + +/obj/machinery/porta_turret/proc/remove_control(warning_message = TRUE) + if(!manual_control) + return FALSE + if(remote_controller) + if(warning_message) + to_chat(remote_controller, "Your uplink to [src] has been severed!") + quit_action.Remove(remote_controller) + toggle_action.Remove(remote_controller) + remote_controller.click_intercept = null + remote_controller.reset_perspective() + manual_control = FALSE + remote_controller = null + return TRUE + +/obj/machinery/porta_turret/proc/InterceptClickOn(mob/living/caller, params, atom/A) + if(!manual_control) + return FALSE + if(!can_interact(caller)) + remove_control() + return FALSE + log_combat(caller,A,"fired with manual turret control at") + target(A) + return TRUE diff --git a/code/game/machinery/porta_turret/portable_turret_types.dm b/code/game/machinery/porta_turret/portable_turret_types.dm new file mode 100644 index 00000000000..53a3fbd3fa1 --- /dev/null +++ b/code/game/machinery/porta_turret/portable_turret_types.dm @@ -0,0 +1,340 @@ + +/obj/machinery/porta_turret/syndicate + circuit = /obj/item/circuitboard/machine/turret/ship + use_power = NO_POWER_USE + scan_range = 9 + req_access = list(ACCESS_SYNDICATE) + lethal = TRUE + 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' + icon_state = "syndie_off" + base_icon_state = "syndie" + faction = list(ROLE_SYNDICATE) + turret_flags = TURRET_FLAG_HOSTILE + desc = "A ballistic machine gun auto-turret." + +/obj/machinery/porta_turret/syndicate/ComponentInitialize() + . = ..() + AddComponent(/datum/component/empprotection, EMP_PROTECT_SELF | EMP_PROTECT_WIRES) + +/obj/machinery/porta_turret/syndicate/energy + icon_state = "standard_lethal" + base_icon_state = "standard" + stun_projectile = /obj/projectile/energy/electrode + stun_projectile_sound = 'sound/weapons/taser.ogg' + lethal_projectile = /obj/projectile/beam/laser + lethal_projectile_sound = 'sound/weapons/laser.ogg' + desc = "An energy blaster auto-turret." + +/obj/machinery/porta_turret/syndicate/energy/heavy + icon_state = "standard_lethal" + base_icon_state = "standard" + stun_projectile = /obj/projectile/energy/electrode + stun_projectile_sound = 'sound/weapons/taser.ogg' + lethal_projectile = /obj/projectile/beam/laser/heavylaser + lethal_projectile_sound = 'sound/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' + faction = list("neutral","silicon","turret") + +/obj/machinery/porta_turret/syndicate/pod + integrity_failure = 0.5 + max_integrity = 40 + stun_projectile = /obj/projectile/bullet/syndicate_turret + lethal_projectile = /obj/projectile/bullet/syndicate_turret + +/obj/machinery/porta_turret/ship + circuit = /obj/item/circuitboard/machine/turret/ship + scan_range = 9 + req_ship_access = TRUE + icon_state = "syndie_off" + base_icon_state = "syndie" + +/obj/machinery/porta_turret/ship/ComponentInitialize() + . = ..() + AddComponent(/datum/component/empprotection, EMP_PROTECT_SELF | EMP_PROTECT_WIRES) + +/obj/machinery/porta_turret/ship/examine(mob/user) + . = ..() + if(in_range(user, src) || isobserver(user)) + if(!(machine_stat & BROKEN)) + . += "[src] reports its integrity is currently [round((obj_integrity / max_integrity) * 100)] percent." + +/obj/machinery/porta_turret/ship/weak + max_integrity = 120 + integrity_failure = 0.5 + name = "Old Laser Turret" + desc = "A turret built with substandard parts and run down further with age. Still capable of delivering lethal lasers to the odd space carp, but not much else." + stun_projectile = /obj/projectile/beam/disabler/weak + lethal_projectile = /obj/projectile/beam/weak/penetrator + faction = list("neutral", "turret") + +/obj/machinery/porta_turret/ship/ballistic + stun_projectile = /obj/projectile/bullet/turret/rubber + lethal_projectile = /obj/projectile/bullet/turret + lethal_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' + stun_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' + desc = "A ballistic machine gun auto-turret." + +//high rof, range, faster projectile speed +/* 'Nanotrasen' turrets */ + +/obj/machinery/porta_turret/ship/nt + name = "Sharplite Defense Turret" + desc = "A cheap and effective turret designed by Sharplite and purchased and installed on most Nanotrasen Vessels." + faction = list(FACTION_PLAYER_NANOTRASEN, "turret") + max_integrity = 160 + integrity_failure = 0.6 + icon_state = "standard_lethal" + base_icon_state = "standard" + stun_projectile = /obj/projectile/beam/disabler/sharplite + lethal_projectile = /obj/projectile/beam/laser/sharplite + lethal_projectile_sound = 'sound/weapons/gun/laser/nt-fire.ogg' + stun_projectile_sound = 'sound/weapons/taser2.ogg' + shot_delay = 10 + scan_range = 10 + +/obj/machinery/porta_turret/ship/nt/light + name = "Sharplite LDS" + desc = "A cheap and effective 'defensive system' designed by Sharplite for installation on Nanotrasen vessels." + stun_projectile = /obj/projectile/beam/disabler/weak/sharplite + lethal_projectile = /obj/projectile/beam/laser/light/sharplite + lethal_projectile_sound = 'sound/weapons/gun/laser/nt-fire.ogg' + stun_projectile_sound = 'sound/weapons/taser2.ogg' + +/obj/machinery/porta_turret/ship/nt/heavy + name = "Sharplite Defense Cannon" + desc = "A heavy laser mounting designed by Sharplite for usage on Nanotrasen vessels." + lethal_projectile = /obj/projectile/beam/laser/heavylaser/sharplite + lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + max_integrity = 250 + +/obj/machinery/porta_turret/ship/nt/pulse + name = "Sharplite Pulse Cannon" + desc = "A pulse cannon mounting designed by Sharplite. Not sold to any purchasers and exclusively used on Nanotrasen Vessels." + lethal_projectile = /obj/projectile/beam/pulse/sharplite_turret + lethal_projectile_sound = 'sound/weapons/gun/laser/heavy_laser.ogg' + max_integrity = 250 + +/* Syndicate Turrets */ + +/obj/machinery/porta_turret/ship/syndicate + faction = list(FACTION_PLAYER_SYNDICATE, "turret") + icon_state = "standard_lethal" + base_icon_state = "standard" + +/obj/machinery/porta_turret/ship/syndicate/weak + name = "Light Laser Turret" + desc = "A low powered turret designed by the Gorlex Maurauders during the ICW. Effectively weaponizes mining equipment." + stun_projectile = /obj/projectile/beam/disabler/weak + lethal_projectile = /obj/projectile/beam/weak/penetrator + icon_state = "syndie_off" + base_icon_state = "syndie" + +/obj/machinery/porta_turret/ship/syndicate/heavy + name = "Heavy Laser Turret" + desc = "Produced by Cybersun, this turret is a duel mount of a propietary heavy laser, and crowd control taser system." + stun_projectile = /obj/projectile/energy/electrode + stun_projectile_sound = 'sound/weapons/taser.ogg' + lethal_projectile = /obj/projectile/beam/laser/heavylaser + lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + max_integrity = 300 + +/* New Gorlex Republic Turrets */ +// Midline ballistic turrets + +/obj/machinery/porta_turret/ship/ngr + name = "Oasis Turret" + desc = "A turret manufactured by the New Gorlex Republic for its ships and installations. Proudly manufactured within the nation!" + stun_projectile = /obj/projectile/bullet/c57x39mm/rubber + stun_projectile_sound = 'sound/weapons/gun/smg/sidewinder.ogg' + lethal_projectile = /obj/projectile/bullet/c57x39mm + lethal_projectile_sound = 'sound/weapons/gun/smg/sidewinder.ogg' + faction = list(FACTION_NGR, FACTION_PLAYER_SYNDICATE, "turret") //player_syndicate is just to be safe + +/obj/machinery/porta_turret/ship/ngr/light + name = "Sonoran Turret" + desc = "A light turret manufactured by the New Gorlex Republic for its ships and installations. Proudly manufactured within the Nation, using locally produced munitions!" + stun_projectile = /obj/projectile/bullet/c45/rubber + stun_projectile_sound = 'sound/weapons/gun/smg/cobra.ogg' + lethal_projectile = /obj/projectile/bullet/c45 + lethal_projectile_sound = 'sound/weapons/gun/smg/cobra.ogg' + scan_range = 7 + shot_delay = 10 + +/obj/machinery/porta_turret/ship/ngr/heavy + name = "Cliff Turret" + desc = "A heavy turret manufactured by the New Gorlex Republic for its ships and installations. Has a reputation of being extremely dangerous." + stun_projectile = /obj/projectile/bullet/a65clip/rubber + stun_projectile_sound = 'sound/weapons/gun/sniper/cmf90.ogg' + lethal_projectile = /obj/projectile/bullet/a65clip + lethal_projectile_sound = 'sound/weapons/gun/sniper/cmf90.ogg' + scan_range = 14 + shot_delay = 30 + + +/* Inteq Turrets */ +//slower rof, higher damage + range + +/obj/machinery/porta_turret/ship/inteq + name = "Vanguard Turret" + desc = "A turret designed by IRMG engineers for defending ships from hostile flora, fauna, and people (and Elzousa, which count as flora and people)." + stun_projectile = /obj/projectile/bullet/a762_40/rubber + stun_projectile_sound = 'sound/weapons/gun/rifle/skm.ogg' + lethal_projectile = /obj/projectile/bullet/a762_40 + lethal_projectile_sound = 'sound/weapons/gun/rifle/skm.ogg' + scan_range = 9 + shot_delay = 20 + integrity_failure = 0.4 + faction = list(FACTION_PLAYER_INTEQ, "turret") + +/obj/machinery/porta_turret/ship/inteq/light + name = "Close-In Vanguard Turret" + desc = "A light turret designed by IRMG engineers for the the task of defending from close-in encounters. Low power, high speed." + stun_projectile = /obj/projectile/bullet/c10mm/rubber + stun_projectile_sound = 'sound/weapons/gun/smg/vector_fire.ogg' + lethal_projectile = /obj/projectile/bullet/c10mm + lethal_projectile_sound = 'sound/weapons/gun/smg/vector_fire.ogg' + scan_range = 5 + shot_delay = 5 + +/obj/machinery/porta_turret/ship/inteq/heavy + name = "Vanguard Overwatch Turret" + desc = "A turret designed by IRMG engineers to provide long range defensive fire on their installations. Has a habit of leaving big holes." + stun_projectile = /obj/projectile/bullet/a308/rubber + stun_projectile_sound = 'sound/weapons/gun/rifle/f4.ogg' + lethal_projectile = /obj/projectile/bullet/a308 + lethal_projectile_sound = 'sound/weapons/gun/rifle/f4.ogg' + scan_range = 12 + shot_delay = 20 + +/* Solcon Turrets */ + +/obj/machinery/porta_turret/ship/solgov + faction = list(FACTION_PLAYER_SOLCON, "turret") + +/* Pan Gezena Federation Turrets */ +//midline but hitscan + +/obj/machinery/porta_turret/ship/pgf + name = "Etherbor Defensive Mount" + desc = "A less portable Etherbor offering, the EDM is a self-directed linkage of energy weapons, designed to keep intruders away from Gezenan vessels." + faction = list(FACTION_PLAYER_GEZENA, "Turret") + stun_projectile = /obj/projectile/beam/hitscan/disabler + stun_projectile_sound = 'sound/weapons/gun/energy/kalixpistol.ogg' + lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf/assault + lethal_projectile_sound = 'sound/weapons/gun/energy/kalixsmg.ogg' + icon_state = "standard_lethal" + base_icon_state = "standard" + max_integrity = 250 + integrity_failure = 0.4 + +/obj/machinery/porta_turret/ship/pgf/light + name = "Etherbor Deterrent System" + desc = "A light turret manufactured by Etherbor. It offers a lightweight assembly of energy weapons to accost nearby foes." + lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf + lethal_projectile_sound = 'sound/weapons/gun/energy/kalixsmg.ogg' + +/obj/machinery/porta_turret/ship/pgf/heavy + name = "Etherbor Point-Defense System" + desc = "A high-powered defensive turret manufactured by Etherbor. The EPDS contains heavy energy weapons linked in tandem." + scan_range = 12 + stun_projectile = /obj/projectile/beam/hitscan/disabler/heavy + stun_projectile_sound = 'sound/weapons/gun/energy/kalixpistol.ogg' + lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf/sniper //fwoom + lethal_projectile_sound = 'sound/weapons/gun/laser/heavy_laser.ogg' + +///CLIP Turrets + +//high damage low range + +/obj/machinery/porta_turret/ship/clip + name = "Clover Mintaka" + desc = "Clover Photonic's offering for the Confederated League's 476FS \"Defense System\" competition, the Mintaka (and its sister systems, the Alnitak and Ori) handily beat out the Lunatex \"Vigil\" line during the final round of testing, and earned a prestigous contract." + faction = list(FACTION_PLAYER_MINUTEMAN, "Turret") + stun_projectile = /obj/projectile/beam/disabler + stun_projectile_sound = 'sound/weapons/gun/laser/e-fire.ogg' + lethal_projectile = /obj/projectile/beam/laser/assault + lethal_projectile_sound = 'sound/weapons/gun/laser/e-fire.ogg' + icon_state = "standard_lethal" + base_icon_state = "standard" + + scan_range = 8 + shot_delay = 10 + max_integrity = 200 + integrity_failure = 0.3 + +/obj/machinery/porta_turret/ship/clip/light + name = "Clover Alnitak" + desc = "Clover Photonic's light turret system, unveiled as part of Clover's defense line-up in the early 470s. While lacking the punch of its sister systems, it still presents a hassle to circumvent." + stun_projectile = /obj/projectile/beam/disabler + stun_projectile_sound = 'sound/weapons/gun/laser/e-fire.ogg' + lethal_projectile = /obj/projectile/beam/laser/light + lethal_projectile_sound = 'sound/weapons/gun/laser/e-fire.ogg' + + scan_range = 6 + shot_delay = 10 + max_integrity = 200 + integrity_failure = 0.4 + +/obj/machinery/porta_turret/ship/clip/heavy + name = "Clover Ori" + desc = "Clover Photonic's heaviest entry in the Confederated League's 476FS \"Defense System\" competition, the Ori's results demolished the handily beat out the Lunatex \"Vigil Sword\" during testing, earning better marks on durability, effectiveness, and reaction rate." + stun_projectile = /obj/projectile/beam/disabler + stun_projectile_sound = 'sound/weapons/gun/laser/e-fire.ogg' + lethal_projectile = /obj/projectile/beam/laser/heavylaser/assault + lethal_projectile_sound = 'sound/weapons/gun/laser/e40_las.ogg' + + scan_range = 10 + shot_delay = 20 + max_integrity = 300 + integrity_failure = 0.3 + + +/// Frontiersmen Turrets + +// fast and spitty + +/obj/machinery/porta_turret/ship/frontiersmen + name = "Spitter Turret" + desc = "A juryrigged mishmash of a 9mm SMG and targetting system. Stand clear!" + faction = list(FACTION_FRONTIER, "Turret") + subsystem_type = /datum/controller/subsystem/processing/fastprocess + integrity_failure = 0.6 + max_integrity = 180 + + icon_state = "standard_lethal" + base_icon_state = "standard" + + stun_projectile = /obj/projectile/bullet/c9mm + stun_projectile_sound = 'sound/weapons/gun/smg/spitter.ogg' + lethal_projectile = /obj/projectile/bullet/c9mm + lethal_projectile_sound = 'sound/weapons/gun/smg/spitter.ogg' + shot_delay = 2 + scan_range = 6 + + turret_flags = TURRET_FLAG_HOSTILE + +/obj/machinery/porta_turret/ship/frontiersmen/light + name = "Pounder Turret" + desc = "A low caliber SMG with an atrociously high cycle rate, frankensteined together with a targetting assembly." + stun_projectile = /obj/projectile/bullet/c22lr + stun_projectile_sound = 'sound/weapons/gun/smg/pounder.ogg' + lethal_projectile = /obj/projectile/bullet/c22lr + lethal_projectile_sound = 'sound/weapons/gun/smg/pounder.ogg' + shot_delay = 1 + +/obj/machinery/porta_turret/ship/frontiersmen/heavy + name = "Mulcher Turret" + desc = "An abombination made out of the components of a Shredder and an automatic targetting system. Careful now." + stun_projectile = /obj/projectile/bullet/slug/beanbag + stun_projectile_sound = 'sound/weapons/gun/hmg/shredder.ogg' + lethal_projectile = /obj/projectile/bullet/slug + lethal_projectile_sound = 'sound/weapons/gun/hmg/shredder.ogg' + shot_delay = 3 + scan_range = 8 diff --git a/code/game/machinery/quantum_pad.dm b/code/game/machinery/quantum_pad.dm index 7d0455ab82f..a3fc7082f1b 100644 --- a/code/game/machinery/quantum_pad.dm +++ b/code/game/machinery/quantum_pad.dm @@ -14,6 +14,7 @@ var/teleporting = FALSE //if it's in the process of teleporting var/power_efficiency = 1 var/obj/machinery/quantumpad/linked_pad + var/restrain_vlevel = TRUE //mapping var/static/list/mapped_quantum_pads = list() @@ -177,7 +178,7 @@ else if(!isobserver(ROI)) continue - do_teleport(ROI, get_turf(target_pad),null,null,null,null,null,TRUE, channel = TELEPORT_CHANNEL_QUANTUM) + do_teleport(ROI, get_turf(target_pad),null,null,null,null,null,TRUE, channel = TELEPORT_CHANNEL_QUANTUM, restrain_vlevel = restrain_vlevel) CHECK_TICK /obj/machinery/quantumpad/proc/initMappedLink() diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index b0e030206a0..a008822e8f0 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/stationobjs.dmi' icon_state = "recharger" base_icon_state = "recharger" - desc = "A charging dock for energy based weaponry." + desc = "A charging dock for energy based weaponry. However someones modified it to work with most things with cells." use_power = IDLE_POWER_USE idle_power_usage = IDLE_DRAW_MINIMAL active_power_usage = ACTIVE_DRAW_LOW @@ -22,6 +22,7 @@ /obj/item/modular_computer, /obj/item/gun/ballistic/automatic/powered, /obj/item/gun/ballistic/automatic/assault/e40, + /obj/item/stock_parts/cell/gun )) /obj/machinery/recharger/RefreshParts() @@ -31,19 +32,22 @@ /obj/machinery/recharger/examine(mob/user) . = ..() if(!in_range(user, src) && !issilicon(user) && !isobserver(user)) - . += "You're too far away to examine [src]'s contents and display!" + . += span_warning("You're too far away to examine [src]'s contents and display!") return if(charging) - . += {"\The [src] contains: - - \A [charging]."} + . += span_notice("\The [src] contains:") + . += span_notice("- \A [charging].") if(!(machine_stat & (NOPOWER|BROKEN))) - . += "The status display reads:" - . += "- Recharging [recharge_coeff*10]% cell charge per cycle." + . += span_notice("The status display reads:") + . += span_notice("- Recharging [recharge_coeff*10]% cell charge per cycle.") if(charging) var/obj/item/stock_parts/cell/C = charging.get_cell() - . += "- \The [charging]'s cell is at [C.percent()]%." + if(istype(charging, /obj/item/stock_parts/cell)) + . += span_notice("- \The [charging]'s charge is at [C.percent()]%.") + else + . += span_notice("- \The [charging]'s cell is at [C.percent()]%.") /obj/machinery/recharger/proc/setCharging(new_charging) @@ -62,15 +66,15 @@ /obj/machinery/recharger/attackby(obj/item/G, mob/user, params) if(G.tool_behaviour == TOOL_WRENCH) if(charging) - to_chat(user, "Remove the charging item first!") + to_chat(user, span_notice("Remove the charging item first!")) return set_anchored(!anchored) power_change() - to_chat(user, "You [anchored ? "attached" : "detached"] [src].") + to_chat(user, span_notice("You [anchored ? "attached" : "detached"] [src].")) G.play_tool_sound(src) return - var/allowed = is_type_in_typecache(G, allowed_devices) + var/allowed = G.get_cell() if(allowed) if(anchored) @@ -80,13 +84,13 @@ //Checks to make sure he's not in space doing it, and that the area got proper power. var/area/a = get_area(src) if(!isarea(a) || a.power_equip == 0) - to_chat(user, "[src] blinks red as you try to insert [G].") + to_chat(user, span_notice("[src] blinks red as you try to insert [G].")) return TRUE if (istype(G, /obj/item/gun/energy)) var/obj/item/gun/energy/E = G if(!E.can_charge) - to_chat(user, "Your gun has no external power connector.") + to_chat(user, span_notice("Your gun has no external power connector.")) return TRUE if(!user.transferItemToLoc(G, src)) @@ -94,7 +98,7 @@ setCharging(G) else - to_chat(user, "[src] isn't connected to anything!") + to_chat(user, span_notice("[src] isn't connected to anything!")) return TRUE if(anchored && !charging) diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index ed3a35c1e22..c33b3ea8bdc 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -302,7 +302,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) if(href_list["send"] && message && to_department && priority) - var/radio_freq = FREQ_COMMAND + var/radio_freq = FREQ_EMERGENCY var/datum/signal/subspace/messaging/rc/signal = new(src, list( "sender" = department, diff --git a/code/game/machinery/roulette_machine.dm b/code/game/machinery/roulette_machine.dm index a36bf79a41b..098cd5ea386 100644 --- a/code/game/machinery/roulette_machine.dm +++ b/code/game/machinery/roulette_machine.dm @@ -235,7 +235,7 @@ var/remaining_payout = payout - my_card.registered_account.adjust_money(-payout) + my_card.registered_account.adjust_money(-payout, CREDIT_LOG_WITHDRAW) for(var/cash_type in cash_values) //Loop through all bundles from most valuable to least valuable. Try to give as much of that bundle as possible until you can't anymore, then move to the next. var/value = cash_values[cash_type] //Change this to use initial value once we change to the right bundle diff --git a/code/game/machinery/sheetifier.dm b/code/game/machinery/sheetifier.dm deleted file mode 100644 index ec9f0f5ff5a..00000000000 --- a/code/game/machinery/sheetifier.dm +++ /dev/null @@ -1,55 +0,0 @@ -/obj/machinery/sheetifier - name = "Sheet-meister 2000" - desc = "A very sheety machine" - icon = 'icons/obj/machines/sheetifier.dmi' - icon_state = "base_machine" - density = TRUE - use_power = IDLE_POWER_USE - idle_power_usage = IDLE_DRAW_MINIMAL - active_power_usage = ACTIVE_DRAW_LOW - circuit = /obj/item/circuitboard/machine/sheetifier - layer = BELOW_OBJ_LAYER - var/busy_processing = FALSE - -/obj/machinery/sheetifier/Initialize() - . = ..() - AddComponent(/datum/component/material_container, list(/datum/material/meat), MINERAL_MATERIAL_AMOUNT * MAX_STACK_SIZE * 2, TRUE, /obj/item/reagent_containers/food/snacks/meat/slab, CALLBACK(src, PROC_REF(CanInsertMaterials)), CALLBACK(src, PROC_REF(AfterInsertMaterials))) - -/obj/machinery/sheetifier/update_overlays() - . = ..() - if(machine_stat & (BROKEN|NOPOWER)) - return - var/mutable_appearance/on_overlay = mutable_appearance(icon, "buttons_on") - . += on_overlay - -/obj/machinery/sheetifier/update_icon_state() - icon_state = "base_machine[busy_processing ? "_processing" : ""]" - return ..() - -/obj/machinery/sheetifier/proc/CanInsertMaterials() - return !busy_processing - -/obj/machinery/sheetifier/proc/AfterInsertMaterials(item_inserted, id_inserted, amount_inserted) - busy_processing = TRUE - update_appearance() - var/datum/material/last_inserted_material = id_inserted - var/mutable_appearance/processing_overlay = mutable_appearance(icon, "processing") - processing_overlay.color = last_inserted_material.color - flick_overlay_static(processing_overlay, src, 64) - addtimer(CALLBACK(src, PROC_REF(finish_processing)), 64) - -/obj/machinery/sheetifier/proc/finish_processing() - busy_processing = FALSE - update_appearance() - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - materials.retrieve_all() //Returns all as sheets - -/obj/machinery/sheetifier/attackby(obj/item/I, mob/user, params) - if(default_unfasten_wrench(user, I)) - return - if(default_deconstruction_screwdriver(user, I)) - update_appearance() - return - if(default_deconstruction_crowbar(I)) - return - return ..() diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index df865aee82e..5dc0117b634 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -43,27 +43,6 @@ if(.) //damage was dealt new /obj/effect/temp_visual/impact_effect/ion(loc) -/obj/structure/emergency_shield/sanguine - name = "sanguine barrier" - desc = "A potent shield summoned by cultists to defend their rites." - icon_state = "shield-red" - max_integrity = 60 - -/obj/structure/emergency_shield/sanguine/emp_act(severity) - return - -/obj/structure/emergency_shield/invoker - name = "Invoker's Shield" - desc = "A weak shield summoned by cultists to protect them while they carry out delicate rituals." - color = "#FF0000" - max_integrity = 20 - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - layer = ABOVE_MOB_LAYER - -/obj/structure/emergency_shield/invoker/emp_act(severity) - return - - /obj/machinery/shieldgen name = "anti-breach shielding projector" desc = "Used to seal minor hull breaches." @@ -226,6 +205,7 @@ var/locked = TRUE var/shield_range = 8 var/shocked = FALSE + var/crashing = FALSE var/obj/structure/cable/attached // the attached cable /obj/machinery/power/shieldwallgen/xenobiologyaccess //use in xenobiology containment @@ -273,16 +253,25 @@ if(!active_power_usage || surplus() >= active_power_usage) add_load(active_power_usage) else - visible_message(span_danger("The [src.name] shuts down due to lack of power!"), "If this message is ever seen, something is wrong.",span_hear("You hear heavy droning fade out.Warning: Activating this device will send a heavy laser turret to your location." droptype = /obj/machinery/porta_turret/syndicate/energy/heavy - -/obj/item/sbeacondrop/penetratorturret - desc = "A label on it reads: Warning: Activating this device will send a penetrator turret to your location." - droptype = /obj/machinery/porta_turret/syndicate/shuttle - -/obj/item/sbeacondrop/constructshell - desc = "A label on it reads: Warning: Activating this device will send a Nar'sian construct shell to your location." - droptype = /obj/structure/constructshell diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index b3bd14af5a0..7df56b390f1 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -410,14 +410,6 @@ for(var/obj/item/reagent_containers/glass/G in beakers) reactants += G.reagents - for(var/obj/item/slime_extract/S in beakers) - if(S.Uses) - for(var/obj/item/reagent_containers/glass/G in beakers) - G.reagents.trans_to(S, G.reagents.total_volume) - - if(S && S.reagents && S.reagents.total_volume) - reactants += S.reagents - if(!chem_splash(get_turf(src), spread_range, reactants, temp_boost)) playsound(loc, 'sound/items/screwdriver2.ogg', 50, TRUE) return // The Explosion didn't do anything. No need to log, or disappear. @@ -460,16 +452,9 @@ for(var/obj/item/grenade/chem_grenade/G in src) if(istype(G, /obj/item/grenade/chem_grenade/large)) - var/obj/item/grenade/chem_grenade/large/LG = G max_beakers += 1 // Adding two large grenades only allows for a maximum of 7 beakers. spread_range += 2 // Extra range, reduced density. temp_boost += 50 // maximum of +150K blast using only large beakers. Not enough to self ignite. - for(var/obj/item/slime_extract/S in LG.beakers) // And slime cores. - if(beakers.len < max_beakers) - beakers += S - S.forceMove(src) - else - S.forceMove(drop_location()) if(istype(G, /obj/item/grenade/chem_grenade/cryo)) spread_range -= 1 // Reduced range, but increased density. diff --git a/code/game/machinery/teambuilder.dm b/code/game/machinery/teambuilder.dm index 153035a3937..4c30bbdc3a4 100644 --- a/code/game/machinery/teambuilder.dm +++ b/code/game/machinery/teambuilder.dm @@ -23,7 +23,7 @@ /obj/machinery/teambuilder/examine_more(mob/user) . = ..() - . += "You see a hastily written note on the side, it says '1215-1217, PICK A SIDE'." + . += span_notice("You see a hastily written note on the side, it says '1215-1217, PICK A SIDE'.") /obj/machinery/teambuilder/proc/on_entered(datum/source, atom/movable/AM, oldloc) SIGNAL_HANDLER @@ -43,11 +43,9 @@ desc = "A machine that, when passed, colors you based on the color of your team. Go red team!" color = "#ff0000" team_color = "#ff0000" - team_radio = FREQ_CTF_RED /obj/machinery/teambuilder/blue name = "Teambuilding Machine (Blue)" desc = "A machine that, when passed, colors you based on the color of your team. Go blue team!" color = "#0000ff" team_color = "#0000ff" - team_radio = FREQ_CTF_BLUE diff --git a/code/game/machinery/telecomms/broadcasting.dm b/code/game/machinery/telecomms/broadcasting.dm index 9f2711ebb7a..9c3af38b0b4 100644 --- a/code/game/machinery/telecomms/broadcasting.dm +++ b/code/game/machinery/telecomms/broadcasting.dm @@ -155,12 +155,6 @@ if(R.can_receive(frequency, map_zones)) radios += R - // Syndicate radios can hear all well-known radio channels - if (num2text(frequency) in GLOB.reverseradiochannels) - for(var/obj/item/radio/R in GLOB.all_radios["[FREQ_SYNDICATE]"]) - if(R.can_receive(FREQ_SYNDICATE, map_zones)) - radios |= R - if (TRANSMISSION_RADIO) // Only radios not currently in subspace mode for(var/obj/item/radio/R in GLOB.all_radios["[frequency]"]) diff --git a/code/game/machinery/telecomms/computers/logbrowser.dm b/code/game/machinery/telecomms/computers/logbrowser.dm index 8939e36f34a..e920f3bc754 100644 --- a/code/game/machinery/telecomms/computers/logbrowser.dm +++ b/code/game/machinery/telecomms/computers/logbrowser.dm @@ -166,7 +166,7 @@ temp = "- FAILED: CANNOT PROBE WHEN BUFFER FULL -" else - for(var/obj/machinery/telecomms/server/T in urange(25, src)) + for(var/obj/machinery/telecomms/server/T in urange(40, src)) if(T.network == network) servers.Add(T) diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm index 202a9c8a620..47bbb494fb8 100644 --- a/code/game/machinery/telecomms/machine_interactions.dm +++ b/code/game/machinery/telecomms/machine_interactions.dm @@ -124,14 +124,10 @@ tempfreq = sanitize_frequency(text2num(params["value"]) * 10, TRUE) //WS Edit - add frequency filter fix if("freq") var/newfreq = tempfreq //WS Edit - add frequency filter fix - if(newfreq == FREQ_SYNDICATE) - to_chat(operator, "Error: Interference preventing filtering frequency: \"[newfreq / 10] GHz\"") - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE) - else - if(!(newfreq in freq_listening) && newfreq < 10000) - freq_listening.Add(newfreq) - log_game("[key_name(operator)] added frequency [newfreq] for [src] at [AREACOORD(src)].") - . = TRUE + if(!(newfreq in freq_listening) && newfreq < 10000) + freq_listening.Add(newfreq) + log_game("[key_name(operator)] added frequency [newfreq] for [src] at [AREACOORD(src)].") + . = TRUE if("delete") freq_listening.Remove(params["value"]) log_game("[key_name(operator)] added removed frequency [params["value"]] for [src] at [AREACOORD(src)].") diff --git a/code/game/machinery/telecomms/machines/bus.dm b/code/game/machinery/telecomms/machines/bus.dm index 6428456d161..a4d19e61ac4 100644 --- a/code/game/machinery/telecomms/machines/bus.dm +++ b/code/game/machinery/telecomms/machines/bus.dm @@ -23,7 +23,7 @@ if(!istype(signal) || !is_freq_listening(signal)) return - if(change_frequency && signal.frequency != FREQ_SYNDICATE) + if(change_frequency) signal.frequency = change_frequency if(!istype(machine_from, /obj/machinery/telecomms/processor) && machine_from != src) // Signal must be ready (stupid assuming machine), let's send it @@ -50,7 +50,7 @@ /obj/machinery/telecomms/bus/preset_one id = "General Communications Bus" network = "tcommsat" - freq_listening = list(FREQ_COMMAND, FREQ_COMMON) + freq_listening = list(FREQ_EMERGENCY, FREQ_COMMON) autolinkers = list("processor1", "command", "common", "messaging", "receiverA") /obj/machinery/telecomms/bus/preset_two diff --git a/code/game/machinery/telecomms/machines/message_server.dm b/code/game/machinery/telecomms/machines/message_server.dm index d9f927a7c35..b1a588f9c6f 100644 --- a/code/game/machinery/telecomms/machines/message_server.dm +++ b/code/game/machinery/telecomms/machines/message_server.dm @@ -16,10 +16,13 @@ active_power_usage = ACTIVE_DRAW_MINIMAL armor = list("melee" = 25, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 70) var/obj/item/stored + var/empty = FALSE /obj/machinery/blackbox_recorder/Initialize() . = ..() - stored = new /obj/item/blackbox(src) + if(!empty) + stored = new /obj/item/blackbox(src) + update_appearance() /obj/machinery/blackbox_recorder/attack_hand(mob/living/user) . = ..() diff --git a/code/game/machinery/telecomms/machines/receiver.dm b/code/game/machinery/telecomms/machines/receiver.dm index 33b0bc7028e..7e68e535c93 100644 --- a/code/game/machinery/telecomms/machines/receiver.dm +++ b/code/game/machinery/telecomms/machines/receiver.dm @@ -48,7 +48,7 @@ id = "Receiver A" network = "tcommsat" autolinkers = list("receiverA") // link to relay - freq_listening = list(FREQ_SOLGOV, FREQ_NANOTRASEN, FREQ_MINUTEMEN, FREQ_COMMAND, FREQ_COMMON) + freq_listening = list(FREQ_SOLGOV, FREQ_NANOTRASEN, FREQ_MINUTEMEN, FREQ_EMERGENCY, FREQ_COMMON) //--PRESET RIGHT--// diff --git a/code/game/machinery/telecomms/machines/relay.dm b/code/game/machinery/telecomms/machines/relay.dm index 763c42dbbf9..9e40b5a7351 100644 --- a/code/game/machinery/telecomms/machines/relay.dm +++ b/code/game/machinery/telecomms/machines/relay.dm @@ -74,37 +74,37 @@ autolinkers = list("r_relay") /obj/machinery/telecomms/relay/preset/nanotrasen - freq_listening = list(FREQ_COMMAND, FREQ_NANOTRASEN) + freq_listening = list(FREQ_EMERGENCY, FREQ_NANOTRASEN) id = "Nanotrasen Relay" network = "nt_commnet" /obj/machinery/telecomms/relay/preset/inteq - freq_listening = list(FREQ_COMMAND, FREQ_INTEQ) + freq_listening = list(FREQ_EMERGENCY, FREQ_INTEQ) id = "IRMG Relay" network = "irmg_commnet" /obj/machinery/telecomms/relay/preset/minutemen - freq_listening = list(FREQ_COMMAND, FREQ_MINUTEMEN) + freq_listening = list(FREQ_EMERGENCY, FREQ_MINUTEMEN) id = "CLIP Relay" network = "clip_commnet" /obj/machinery/telecomms/relay/preset/solgov - freq_listening = list(FREQ_COMMAND, FREQ_SOLGOV) + freq_listening = list(FREQ_EMERGENCY, FREQ_SOLGOV) id = "SolGov Relay" network = "solgov_commnet" /obj/machinery/telecomms/relay/preset/syndicate - freq_listening = list(FREQ_COMMAND, FREQ_SYNDICATE) + freq_listening = list(FREQ_EMERGENCY, FREQ_SYNDICATE) id = "Syndicate Relay" network = "synd_commnet" /obj/machinery/telecomms/relay/preset/frontiersmen - freq_listening = list(FREQ_COMMAND, FREQ_PIRATE) + freq_listening = list(FREQ_EMERGENCY, FREQ_PIRATE) id = "Frontiersmen Relay" network = "frontier_commnet" /obj/machinery/telecomms/relay/preset/pgf - freq_listening = list(FREQ_COMMAND, FREQ_PGF) + freq_listening = list(FREQ_EMERGENCY, FREQ_PGF) id = "PGF Relay" network = "pgf_commnet" diff --git a/code/game/machinery/telecomms/machines/server.dm b/code/game/machinery/telecomms/machines/server.dm index 5607b6bbec8..e2cb7addcd8 100644 --- a/code/game/machinery/telecomms/machines/server.dm +++ b/code/game/machinery/telecomms/machines/server.dm @@ -116,7 +116,7 @@ /obj/machinery/telecomms/server/presets/command id = "Command Server" - freq_listening = list(FREQ_COMMAND, FREQ_COMMON) + freq_listening = list(FREQ_EMERGENCY, FREQ_COMMON) autolinkers = list("command") /obj/machinery/telecomms/server/presets/common/birdstation/Initialize() diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index da5a006de0b..b75f9710290 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -85,7 +85,7 @@ update_appearance() playsound(src.loc, 'sound/items/welder.ogg', 50, TRUE) - H.emote("scream") // It is painful + H.force_scream() // It is painful H.adjustBruteLoss(max(0, 80 - H.getBruteLoss())) // Hurt the human, don't try to kill them though. // Sleep for a couple of ticks to allow the human to see the pain diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 1d6a9e3845b..6fe9ec2a653 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -9,7 +9,6 @@ GLOBAL_LIST_INIT(dye_registry, list( DYE_PURPLE = /obj/item/clothing/under/color/lightpurple, DYE_BLACK = /obj/item/clothing/under/color/black, DYE_WHITE = /obj/item/clothing/under/color/white, - DYE_RAINBOW = /obj/item/clothing/under/color/rainbow, DYE_MIME = /obj/item/clothing/under/rank/civilian/mime, DYE_CLOWN = /obj/item/clothing/under/rank/civilian/clown, DYE_CHAP = /obj/item/clothing/under/rank/civilian/chaplain, @@ -33,7 +32,6 @@ GLOBAL_LIST_INIT(dye_registry, list( DYE_PURPLE = /obj/item/clothing/under/color/jumpskirt/lightpurple, DYE_BLACK = /obj/item/clothing/under/color/jumpskirt/black, DYE_WHITE = /obj/item/clothing/under/color/jumpskirt/white, - DYE_RAINBOW = /obj/item/clothing/under/color/jumpskirt/rainbow, DYE_MIME = /obj/item/clothing/under/rank/civilian/mime/skirt, DYE_CHAP = /obj/item/clothing/under/rank/civilian/chaplain/skirt, DYE_QM = /obj/item/clothing/under/rank/cargo/qm/skirt, @@ -233,10 +231,6 @@ GLOBAL_LIST_INIT(dye_registry, list( new /obj/item/stack/sheet/wethide(drop_location(), amount) qdel(src) -/obj/item/clothing/suit/hooded/ian_costume/machine_wash(obj/machinery/washing_machine/WM) - new /obj/item/reagent_containers/food/snacks/meat/slab/corgi(loc) - qdel(src) - /mob/living/simple_animal/pet/machine_wash(obj/machinery/washing_machine/WM) WM.bloody_mess = TRUE gib() diff --git a/code/game/mecha/combat/combat.dm b/code/game/mecha/combat/combat.dm index 0ebc11b3955..04f3272cce1 100644 --- a/code/game/mecha/combat/combat.dm +++ b/code/game/mecha/combat/combat.dm @@ -2,10 +2,11 @@ force = 30 internals_req_access = list(ACCESS_MECH_SCIENCE, ACCESS_MECH_SECURITY) internal_damage_threshold = 50 - armor = list("melee" = 30, "bullet" = 30, "laser" = 15, "energy" = 20, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) + armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 20, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) mouse_pointer = 'icons/effects/mouse_pointers/mecha_mouse.dmi' destruction_sleep_duration = 40 exit_delay = 40 + repair_multiplier = 0.75 /obj/mecha/combat/restore_equipment() mouse_pointer = 'icons/effects/mouse_pointers/mecha_mouse.dmi' diff --git a/code/game/mecha/combat/durand.dm b/code/game/mecha/combat/durand.dm index cf89811d5f0..3e47ebe80e7 100644 --- a/code/game/mecha/combat/durand.dm +++ b/code/game/mecha/combat/durand.dm @@ -1,33 +1,37 @@ /obj/mecha/combat/durand - desc = "An aging combat exosuit utilized by the Nanotrasen corporation. Originally developed to combat hostile alien lifeforms." + desc = "An aging and extremely well-armored combat exosuit utilized by the Nanotrasen corporation. Originally developed to combat hostile alien lifeforms." name = "\improper Durand" icon_state = "durand" step_in = 4 dir_in = 1 //Facing North. - max_integrity = 400 - deflect_chance = 20 - armor = list("melee" = 40, "bullet" = 35, "laser" = 15, "energy" = 10, "bomb" = 20, "bio" = 0, "rad" = 50, "fire" = 100, "acid" = 100) + max_integrity = 300 + deflect_chance = 15 + repair_multiplier = 0.5 + armor = list("melee" = 50, "bullet" = 75, "laser" = 50, "energy" = 10, "bomb" = 20, "bio" = 0, "rad" = 50, "fire" = 100, "acid" = 100) max_temperature = 30000 infra_luminosity = 8 force = 40 wreckage = /obj/structure/mecha_wreckage/durand var/obj/durand_shield/shield + var/shield_type = /obj/durand_shield + var/shield_passive_drain = 300 + /obj/mecha/combat/durand/clip - desc = "An aging combat exosuit appropriated from abandoned Nanotrasen facilities, now supplied to the CMM-BARD anti-xenofauna division." + desc = "An aging combat exosuit specially modified for the CMM-BARD anti-xenofauna division. Features improved close-combat armor and a modified defence grid able to electrocute melee attackers, at the cost of its ability to block projectiles." name = "\improper Paladin" icon_state = "clipdurand" + armor = list("melee" = 75, "bullet" = 50, "laser" = 50, "energy" = 10, "bomb" = 20, "bio" = 0, "rad" = 50, "fire" = 100, "acid" = 100) + deflect_chance = 20 wreckage = /obj/structure/mecha_wreckage/durand/clip - armor = list("melee" = 40, "bullet" = 35, "laser" = 15, "energy" = 10, "bomb" = 20, "bio" = 0, "rad" = 50, "fire" = 100, "acid" = 100) - - //TODO: Custom melee backlash shield with no projectile protection + shield_passive_drain = 0 + shield_type = /obj/durand_shield/clip /obj/mecha/combat/durand/Initialize() . = ..() - shield = new /obj/durand_shield(loc, src, layer, dir) + shield = new shield_type(loc, src, layer, dir) RegisterSignal(src, COMSIG_MECHA_ACTION_ACTIVATE, PROC_REF(relay)) - RegisterSignal(src, COMSIG_PROJECTILE_PREHIT, PROC_REF(prehit)) /obj/mecha/combat/durand/Destroy() @@ -46,7 +50,7 @@ /obj/mecha/combat/durand/process() . = ..() - if(defense_mode && !use_power(100)) + if(defense_mode && !use_power(max(0, shield_passive_drain - (scanmod.rating * 10)))) defense_action.Activate(forced_state = TRUE) /obj/mecha/combat/durand/domove(direction) @@ -70,22 +74,21 @@ if(!shield) //if the shield somehow got deleted stack_trace("Durand triggered relay without a shield") - shield = new /obj/durand_shield(loc, src, layer) + shield = new shield_type(loc, src, layer) shield.setDir(dir) SEND_SIGNAL(shield, COMSIG_MECHA_ACTION_ACTIVATE, source, signal_args) //Redirects projectiles to the shield if defense_check decides they should be blocked and returns true. -/obj/mecha/combat/durand/proc/prehit(obj/projectile/source, list/signal_args) - SIGNAL_HANDLER - - if(defense_check(source.loc) && shield) - signal_args[2] = shield - +/obj/mecha/combat/durand/bullet_act(obj/projectile/source) + if(defense_check(source.loc, shield.ranged_pass)) + shield.bullet_act(source) + else + . = ..() /**Checks if defense mode is enabled, and if the attacker is standing in an area covered by the shield. -Expects a turf. Returns true if the attack should be blocked, false if not.*/ -/obj/mecha/combat/durand/proc/defense_check(turf/aloc) - if (!defense_mode || !shield || shield.switching) +Expects a turf. Returns true if the attack should be blocked, false if not. Skip defence will make the proc return false and the attack will go through*/ +/obj/mecha/combat/durand/proc/defense_check(turf/aloc, skip_defence = FALSE) + if (!defense_mode || !shield || shield.switching || skip_defence) return FALSE . = FALSE switch(dir) @@ -104,34 +107,38 @@ Expects a turf. Returns true if the attack should be blocked, false if not.*/ return /obj/mecha/combat/durand/attack_generic(mob/user, damage_amount = 0, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, armor_penetration = 0) - if(defense_check(user.loc)) + if(defense_check(user.loc, shield.melee_pass)) log_message("Attack absorbed by defense field. Attacker - [user].", LOG_MECHA, color="orange") shield.attack_generic(user, damage_amount, damage_type, damage_flag, sound_effect, armor_penetration) else . = ..() -/obj/mecha/combat/durand/blob_act(obj/structure/blob/B) - if(defense_check(B.loc)) - log_message("Attack by blob. Attacker - [B].", LOG_MECHA, color="red") - log_message("Attack absorbed by defense field.", LOG_MECHA, color="orange") - shield.blob_act(B) - else - . = ..() - /obj/mecha/combat/durand/attackby(obj/item/W as obj, mob/user as mob, params) - if(defense_check(user.loc)) + if(defense_check(user.loc, shield.melee_pass)) log_message("Attack absorbed by defense field. Attacker - [user], with [W]", LOG_MECHA, color="orange") shield.attackby(W, user, params) else . = ..() /obj/mecha/combat/durand/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) - if(defense_check(AM.loc)) + if(defense_check(AM.loc, shield.ranged_pass)) log_message("Impact with [AM] absorbed by defense field.", LOG_MECHA, color="orange") shield.hitby(AM, skipcatch, hitpush, blocked, throwingdatum) else . = ..() +// Walking into the Paladin's shield shocks you. + +/obj/mecha/combat/durand/clip/Bump(atom/obstacle) + . = ..() + if(defense_check(obstacle.loc) && isliving(obstacle)) + shield.contact(obstacle) + +/obj/mecha/combat/durand/clip/Bumped(atom/movable/AM) + . = ..() + if(defense_check(AM.loc) && isliving(AM)) + shield.contact(AM) + //////////////////////////// ///// Shield processing //// //////////////////////////// @@ -158,7 +165,14 @@ own integrity back to max. Shield is automatically dropped if we run out of powe light_on = FALSE var/obj/mecha/combat/durand/chassis ///Our link back to the durand var/switching = FALSE ///To keep track of things during the animation + /// if this shield lets melee attacks pass and hit the mech directly + var/melee_pass = FALSE + /// if this shield lets projectiles pass and hit the mech directly + var/ranged_pass = FALSE +/obj/durand_shield/clip + name = "electric repulsion grid" + ranged_pass = TRUE /obj/durand_shield/Initialize(mapload, _chassis, _layer, _dir) . = ..() @@ -226,7 +240,7 @@ the shield is disabled by means other than the action button (like running out o return . = ..() flick("shield_impact", src) - if(!chassis.use_power((max_integrity - obj_integrity) * 100)) + if(!chassis.use_power(max(1, (max_integrity - obj_integrity + 15) * (10 - chassis.capacitor.rating)))) chassis.cell?.charge = 0 chassis.defense_action.Activate(forced_state = TRUE) obj_integrity = 10000 @@ -237,3 +251,35 @@ the shield is disabled by means other than the action button (like running out o /obj/durand_shield/bullet_act() play_attack_sound() . = ..() + +/// a mob has bumped into the shield +/obj/durand_shield/proc/contact(mob/living/contactor) + return + +/// Clippy shield +/obj/durand_shield/clip/attack_generic(mob/user, damage_amount, damage_type, damage_flag, sound_effect, armor_penetration) + . = ..() + apply_shock(user) + +/obj/durand_shield/clip/attackby(obj/item/I, mob/living/user, params) + . = ..() + apply_shock(user) + +/obj/durand_shield/clip/contact(mob/living/contactor) + . = ..() + apply_shock(contactor) + +/obj/durand_shield/clip/proc/apply_shock(mob/attacker) + var/did_shock = FALSE + if(iscarbon(attacker)) + var/mob/living/carbon/victim = attacker + if(electrocute_mob(victim, chassis.cell, src, 1, FALSE, FALSE)) + did_shock = TRUE + else if(isliving(attacker)) + var/mob/living/victim = attacker + if(victim.apply_damage_type(20,BURN)) + to_chat(victim,span_userdanger("You're shocked by \the [src]!")) + did_shock = TRUE + if(did_shock) + visible_message(span_bolddanger("\The [src] repels \the [attacker] on contact, shocking [attacker.p_them()].")) + do_sparks(5,TRUE,src) diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 5774716fca7..a22a8dd4706 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -4,9 +4,9 @@ icon_state = "gygax" step_in = 3 dir_in = 1 //Facing North. - max_integrity = 250 + max_integrity = 300 deflect_chance = 5 - armor = list("melee" = 25, "bullet" = 20, "laser" = 30, "energy" = 15, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) + armor = list("melee" = 40, "bullet" = 60, "laser" = 40, "energy" = 15, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) max_temperature = 25000 leg_overload_coeff = 80 infra_luminosity = 6 @@ -14,7 +14,7 @@ wreckage = /obj/structure/mecha_wreckage/gygax internal_damage_threshold = 35 max_equip = 3 - step_energy_drain = 3 + base_step_energy_drain = 8 /obj/mecha/combat/gygax/mechturn(direction) . = ..() @@ -22,20 +22,10 @@ mechstep(direction) //agile mechs get to move and turn in the same step /obj/mecha/combat/gygax/dark - desc = "A lightweight exosuit, painted in a dark scheme. This model appears to have some modifications." + desc = "A lightweight exosuit, painted in a dark scheme." name = "\improper Dark Gygax" icon_state = "darkgygax" - max_integrity = 300 - deflect_chance = 20 - armor = list("melee" = 40, "bullet" = 40, "laser" = 50, "energy" = 35, "bomb" = 20, "bio" = 0, "rad" =20, "fire" = 100, "acid" = 100) - max_temperature = 35000 - leg_overload_coeff = 70 - force = 30 - operation_req_access = list(ACCESS_SYNDICATE) - internals_req_access = list(ACCESS_SYNDICATE) wreckage = /obj/structure/mecha_wreckage/gygax/dark - max_equip = 5 - destruction_sleep_duration = 20 /obj/mecha/combat/gygax/dark/loaded/Initialize() . = ..() @@ -58,6 +48,13 @@ return cell = new /obj/item/stock_parts/cell/bluespace(src) +/obj/mecha/combat/gygax/inteq + name = "\improper Basenji" + desc = "A lightweight security exosuit, modified to IRMG standards. The leg actuators have been maxed out, allowing for powerful short ranged charges." + icon_state = "inteqgygax" + charge_break_walls = TRUE + charge_toss_structures = TRUE + charge_toss_mobs = TRUE /obj/mecha/combat/gygax/GrantActions(mob/living/user, human_occupant = 0) ..() @@ -67,3 +64,12 @@ /obj/mecha/combat/gygax/RemoveActions(mob/living/user, human_occupant = 0) ..() overload_action.Remove(user) + +/obj/mecha/combat/gygax/inteq/GrantActions(mob/living/user, human_occupant = 0) + ..() + overload_action.Remove(user) + charge_action.Grant(user,src) + +/obj/mecha/combat/gygax/inteq/RemoveActions(mob/living/user, human_occupant) + . = ..() + charge_action.Remove(user) diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index d1d4bfc1ea4..b35cc1e370f 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -1,11 +1,11 @@ /obj/mecha/combat/marauder - desc = "Heavy-duty, combat exosuit, developed after the Durand model. Rarely found among civilian populations." + desc = "A heavy-duty combat exosuit that improves on the Durand model in nearly every way. Rarely found among civilian populations." name = "\improper Marauder" icon_state = "marauder" step_in = 5 - max_integrity = 500 - deflect_chance = 25 - armor = list("melee" = 50, "bullet" = 55, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 60, "fire" = 100, "acid" = 100) + max_integrity = 400 + deflect_chance = 20 + armor = list("melee" = 50, "bullet" = 75, "laser" = 50, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 60, "fire" = 100, "acid" = 100) max_temperature = 60000 resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF infra_luminosity = 3 @@ -43,7 +43,7 @@ max_ammo() /obj/mecha/combat/marauder/seraph - desc = "Heavy-duty, command-type exosuit. This is a custom model, utilized only by high-ranking military personnel." + desc = "A heavy-duty command-type exosuit. This is a custom model, utilized only by high-ranking military personnel." name = "\improper Seraph" icon_state = "seraph" operation_req_access = list(ACCESS_CENT_SPECOPS) @@ -71,22 +71,22 @@ ME.attach(src) max_ammo() -/obj/mecha/combat/marauder/mauler - desc = "Heavy-duty, combat exosuit, developed off of the existing Marauder model." - name = "\improper Mauler" - icon_state = "mauler" +/obj/mecha/combat/marauder/touro + desc = "A powerful ICW-era combat exosuit, developed off of Nanotrasen's Marauder model by Cybersun Biodynamics." + name = "\improper Touro" + icon_state = "touro" operation_req_access = list(ACCESS_SYNDICATE) internals_req_access = list(ACCESS_SYNDICATE) - wreckage = /obj/structure/mecha_wreckage/mauler + wreckage = /obj/structure/mecha_wreckage/touro max_equip = 6 destruction_sleep_duration = 20 -/obj/mecha/combat/marauder/mauler/Initialize() +/obj/mecha/combat/marauder/touro/Initialize() . = ..() var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/thrusters/ion(src) ME.attach(src) -/obj/mecha/combat/marauder/mauler/loaded/Initialize() +/obj/mecha/combat/marauder/touro/loaded/Initialize() . = ..() var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg(src) ME.attach(src) diff --git a/code/game/mecha/combat/phazon.dm b/code/game/mecha/combat/phazon.dm index 95b60eba68d..f1c48e8cc30 100644 --- a/code/game/mecha/combat/phazon.dm +++ b/code/game/mecha/combat/phazon.dm @@ -4,7 +4,7 @@ icon_state = "phazon" step_in = 2 dir_in = 2 //Facing South. - step_energy_drain = 3 + base_step_energy_drain = 8 max_integrity = 200 deflect_chance = 30 armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 50, "fire" = 100, "acid" = 100) diff --git a/code/game/mecha/combat/reticence.dm b/code/game/mecha/combat/reticence.dm deleted file mode 100644 index 0d11859352d..00000000000 --- a/code/game/mecha/combat/reticence.dm +++ /dev/null @@ -1,28 +0,0 @@ -/obj/mecha/combat/reticence - desc = "A silent, fast, and nigh-invisible miming exosuit. Popular among mimes and mime assassins." - name = "\improper reticence" - icon_state = "reticence" - step_in = 2 - dir_in = 1 //Facing North. - max_integrity = 100 - deflect_chance = 3 - armor = list("melee" = 25, "bullet" = 20, "laser" = 30, "energy" = 15, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) - max_temperature = 15000 - wreckage = /obj/structure/mecha_wreckage/reticence - operation_req_access = list(ACCESS_THEATRE) - internals_req_access = list(ACCESS_MECH_SCIENCE, ACCESS_THEATRE) - add_req_access = 0 - internal_damage_threshold = 25 - max_equip = 2 - step_energy_drain = 3 - color = "#87878715" - stepsound = null - turnsound = null - - -/obj/mecha/combat/reticence/loaded/Initialize() - . = ..() - var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced - ME.attach(src) - ME = new /obj/item/mecha_parts/mecha_equipment/rcd //HAHA IT MAKES WALLS GET IT - ME.attach(src) diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index 63d308f6955..7ee6b2a2d2d 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -2,7 +2,7 @@ //I'm annoyed I even have to tell you this! SPRITE FIRST, then commit. /obj/item/mecha_parts/mecha_equipment - name = "mecha equipment" + name = "exosuit equipment" icon = 'icons/mecha/mecha_equipment.dmi' icon_state = "mecha_equip" force = 5 @@ -97,28 +97,29 @@ return 0 /obj/item/mecha_parts/mecha_equipment/proc/start_cooldown() - set_ready_state(0) + set_ready_state(FALSE) chassis.use_power(energy_drain) - addtimer(CALLBACK(src, PROC_REF(set_ready_state), 1), equip_cooldown) + addtimer(CALLBACK(src, PROC_REF(set_ready_state), TRUE), equip_cooldown) /obj/item/mecha_parts/mecha_equipment/proc/do_after_cooldown(atom/target) if(!chassis) return var/C = chassis.loc - set_ready_state(0) + set_ready_state(FALSE) chassis.use_power(energy_drain) - . = do_after(chassis.occupant, equip_cooldown, target=target) - set_ready_state(1) - if(!chassis || chassis.loc != C || src != chassis.selected || !(get_dir(chassis, target)&chassis.dir)) - return 0 + . = do_after(chassis.occupant, equip_cooldown, target=target, extra_checks = CALLBACK(src, PROC_REF(check_do_after), target, C)) + set_ready_state(TRUE) /obj/item/mecha_parts/mecha_equipment/proc/do_after_mecha(atom/target, delay) if(!chassis) return var/C = chassis.loc - . = do_after(chassis.occupant, delay, target=target) - if(!chassis || chassis.loc != C || src != chassis.selected || !(get_dir(chassis, target)&chassis.dir)) - return 0 + . = do_after(chassis.occupant, delay, target=target, extra_checks = CALLBACK(src, PROC_REF(check_do_after), target, C)) + +/obj/item/mecha_parts/mecha_equipment/proc/check_do_after(atom/target, turf/chassis_turf) + . = TRUE + if(!chassis || chassis.loc != chassis_turf || src != chassis.selected || !(get_dir(chassis, target)&chassis.dir)) + return FALSE /obj/item/mecha_parts/mecha_equipment/proc/can_attach(obj/mecha/M) if(M.equipment.lenYou drill through some of the outer plating...") + playsound(src,'sound/weapons/drill.ogg',60,TRUE) + if(!alter_integrity(-drill.wall_decon_damage)) + return TRUE /turf/closed/wall/r_wall/drill_act(obj/item/mecha_parts/mecha_equipment/drill/drill) if(drill.drill_level >= DRILL_HARDENED) - if(drill.do_after_mecha(src, 120 / drill.drill_level)) + while(drill.do_after_mecha(src, 20 / drill.drill_level)) drill.log_message("Drilled through [src]", LOG_MECHA) - dismantle_wall(devastated = TRUE) + drill.occupant_message("You drill through some of the outer plating...") + playsound(src,'sound/weapons/drill.ogg',60,TRUE) + if(!alter_integrity(-drill.wall_decon_damage)) + return TRUE + else drill.occupant_message("[src] is too durable to drill through.") @@ -150,6 +158,7 @@ drill_level = DRILL_HARDENED force = 15 toolspeed = 0.7 + wall_decon_damage = 300 /obj/item/mecha_parts/mecha_equipment/mining_scanner diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index 1b33de31b54..709282fea73 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -151,8 +151,8 @@ /obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster //what is that noise? A BAWWW from TK mutants. - name = "armor booster module (Close Combat Weaponry)" - desc = "Boosts exosuit armor against armed melee attacks. Requires energy to operate." + name = "applique armor (Close Combat Weaponry)" + desc = "Applique armor to protect civilian exosuits against armed melee attacks. Requires energy to operate. Cannot equip to combat mechs." icon_state = "mecha_abooster_ccw" equip_cooldown = 10 energy_drain = 50 @@ -166,11 +166,17 @@ start_cooldown() return 1 +/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/can_attach(obj/mecha/M) + if(!..()) + return FALSE + if(istype(M, /obj/mecha/working)) + return TRUE + return FALSE /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster - name = "armor booster module (Ranged Weaponry)" - desc = "Boosts exosuit armor against ranged attacks. Completely blocks taser shots. Requires energy to operate." + name = "applique armor (Ranged Weaponry)" + desc = "Applique armor to protect civilian exosuits against ranged attacks. Completely blocks taser shots. Requires energy to operate. Cannot equip to combat mechs." icon_state = "mecha_abooster_proj" equip_cooldown = 10 energy_drain = 50 @@ -184,6 +190,12 @@ start_cooldown() return 1 +/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/can_attach(obj/mecha/M) + if(!..()) + return FALSE + if(istype(M, /obj/mecha/working)) + return TRUE + return FALSE ////////////////////////////////// REPAIR DROID ////////////////////////////////////////////////// @@ -244,7 +256,7 @@ STOP_PROCESSING(SSobj, src) set_ready_state(1) return - var/h_boost = health_boost + var/h_boost = health_boost * chassis.repair_multiplier var/repaired = 0 if(chassis.internal_damage & MECHA_INT_SHORT_CIRCUIT) h_boost *= -2 @@ -570,7 +582,6 @@ /obj/item/mecha_parts/mecha_equipment/thrusters/ion //for mechs with built-in thrusters, should never really exist un-attached to a mech name = "Ion thruster package" desc = "A set of thrusters that allow for exosuit movement in zero-gravity enviroments." - detachable = FALSE salvageable = FALSE effect_type = /obj/effect/particle_effect/ion_trails diff --git a/code/game/mecha/equipment/tools/weapon_bay.dm b/code/game/mecha/equipment/tools/weapon_bay.dm index 5fe3e14880f..bd8497e9774 100644 --- a/code/game/mecha/equipment/tools/weapon_bay.dm +++ b/code/game/mecha/equipment/tools/weapon_bay.dm @@ -1,6 +1,6 @@ /obj/item/mecha_parts/concealed_weapon_bay name = "concealed weapon bay" - desc = "A compartment that allows a non-combat mecha to equip one weapon while hiding the weapon from plain sight." + desc = "A compartment that allows a civilian exosuit to equip one weapon while hiding the weapon from plain sight." icon = 'icons/mecha/mecha_equipment.dmi' icon_state = "mecha_weapon_bay" diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index 95e7b2f0722..d3a52483feb 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -491,10 +491,94 @@ return 1 //WS Edit End - Readded from Smartwire Revert +/obj/item/mecha_parts/mecha_equipment/salvage_saw + name = "109-C Salvage Saw" + desc = "Equipment for cutting open walls and airlocks." + icon_state = "mecha_saw" + equip_cooldown = 5 + energy_drain = 10 + force = 15 + var/dam_force = 30 + harmful = TRUE + tool_behaviour = TOOL_DECONSTRUCT + toolspeed = 0.3 + wall_decon_damage = 400 + var/datum/effect_system/spark_spread/spark_system + +/obj/item/mecha_parts/mecha_equipment/salvage_saw/can_attach(obj/mecha/M as obj) + if(..()) + if(istype(M, /obj/mecha/working) || istype(M, /obj/mecha/combat)) + return 1 + return 0 + +/obj/item/mecha_parts/mecha_equipment/salvage_saw/attach() + ..() + toolspeed = 0.3 + return + +/obj/item/mecha_parts/mecha_equipment/salvage_saw/detach() + ..() + toolspeed = 10 //yeah sure, use a mech tool without a mech. see how far that gets you + return ..() + +/obj/item/mecha_parts/mecha_equipment/salvage_saw/action(atom/target) + if(!action_checks(target)) + return + if(isliving(target)) + if(chassis.occupant.a_intent == INTENT_HARM) + var/mob/living/M = target + saw_mob(M, chassis.occupant) + return + else + target.add_overlay(GLOB.cutting_effect) + if(target.deconstruct_act(chassis.occupant, src)) + do_sparks(2, TRUE, src) + target.cut_overlay(GLOB.cutting_effect) + if(!chassis.stopped) + occupant_message("[src] finishes cutting, allowing movement again.") + if(chassis.stopped > 0) + chassis.stopped-- + else + chassis.stopped = 0 + +/obj/item/mecha_parts/mecha_equipment/salvage_saw/tool_start_check(user, amount) + if(!chassis.stopped) + occupant_message("[src] begins cutting, locking in place!") + chassis.stopped++ + return TRUE + +/obj/item/mecha_parts/mecha_equipment/salvage_saw/proc/saw_mob(mob/living/target, mob/user) + target.visible_message("[chassis] is sawing [target] with [src]!", \ + "[chassis] is sawing you with [src]!") + if(!do_after_cooldown(target)) + return + log_combat(user, target, "sawed", "[name]", "(INTENT: [uppertext(user.a_intent)]) (DAMTYPE: [uppertext(damtype)])") + if(target.stat == DEAD && target.getBruteLoss() >= 400) + log_combat(user, target, "gibbed", name) + target.gib() + else + var/obj/item/bodypart/target_part = target.get_bodypart(ran_zone(BODY_ZONE_CHEST)) + target.apply_damage(15, BRUTE, BODY_ZONE_CHEST, target.run_armor_check(target_part, "melee")) + + //blood splatters + var/splatter_dir = get_dir(chassis, target) + if(isalien(target)) + new /obj/effect/temp_visual/dir_setting/bloodsplatter/xenosplatter(target.drop_location(), splatter_dir) + else + var/splatter_color = null + if(iscarbon(target)) + var/mob/living/carbon/carbon_target = target + splatter_color = carbon_target.dna.blood_type.color + new /obj/effect/temp_visual/dir_setting/bloodsplatter(target.drop_location(), splatter_dir, splatter_color) + + //organs go everywhere + if(target_part && prob(10)) + target_part.dismember(BRUTE) + //Dunno where else to put this so shrug /obj/item/mecha_parts/mecha_equipment/conversion_kit - name = "Mecha Conversion Kit" - desc = "A perfectly generic conversion kit for a perfectly generic mecha. How did you even get this?" + name = "Exosuit Conversion Kit" + desc = "A perfectly generic conversion kit for a perfectly generic exosuit. How did you even get this?" icon_state = "ripleyupgrade" var/source_mech = list(null) //must be a list due to the mining ripley existing var/result_mech = null @@ -575,3 +659,10 @@ icon_state = "clipupgrade" source_mech = list(/obj/mecha/combat/durand) result_mech = /obj/mecha/combat/durand/clip + +/obj/item/mecha_parts/mecha_equipment/conversion_kit/inteq_gygax + name = "IRMG Basenji Conversion Kit" + desc = "An IRMG-custom conversion kit for a Gygax combat exosuit, to convert it to the specialized Pyrnese breaching exosuit." + source_mech = list(/obj/mecha/combat/gygax,/obj/mecha/combat/gygax/dark) + result_mech = /obj/mecha/combat/gygax/inteq + diff --git a/code/game/mecha/equipment/weapons/mecha_ammo.dm b/code/game/mecha/equipment/weapons/mecha_ammo.dm index 73597ff21e4..9e5c6732d1c 100644 --- a/code/game/mecha/equipment/weapons/mecha_ammo.dm +++ b/code/game/mecha/equipment/weapons/mecha_ammo.dm @@ -50,7 +50,7 @@ /obj/item/mecha_ammo/lmg name = "machine gun ammo" - desc = "A box of linked ammunition, designed for the Ultra AC 2 exosuit weapon." + desc = "A box of linked ammunition, designed for the UMG-2 exosuit weapon." icon_state = "lmg" rounds = 300 ammo_type = "lmg" @@ -83,7 +83,7 @@ /obj/item/mecha_ammo/tank_shell name = "anti-armor missile" desc = "A large missle, intended to be loaded into a Type 207." - icon = 'icons/obj/ammo_bullets.dmi' + icon = 'icons/obj/ammunition/ammo_bullets.dmi' icon_state = "srm-8" rounds = 1 throw_range = 0 diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 4a16a6f9b24..2ae460ae248 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -1,12 +1,12 @@ /obj/item/mecha_parts/mecha_equipment/weapon - name = "mecha weapon" + name = "exosuit weapon" range = MECHA_RANGED destroy_sound = 'sound/mecha/weapdestr.ogg' var/projectile var/fire_sound var/projectiles_per_shot = 1 var/variance = 0 - var/randomspread = 0 //use random spread for machineguns, instead of shotgun scatter + var/randomspread = FALSE //use random spread for machineguns, instead of shotgun scatter var/projectile_delay = 0 var/firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect //the visual effect appearing when the weapon is fired. var/kickback = TRUE //Will using this weapon in no grav push mecha back. @@ -137,8 +137,8 @@ desc = "A device that shoots resonant plasma bursts at extreme velocity. The blasts are capable of crushing rock and demolishing solid obstacles." icon_state = "mecha_plasmacutter" item_state = "plasmacutter" - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON energy_drain = 30 projectile = /obj/projectile/plasma/adv/mech fire_sound = 'sound/weapons/plasma_cutter.ogg' @@ -179,53 +179,6 @@ projectile = /obj/projectile/energy/electrode fire_sound = 'sound/weapons/taser.ogg' - -/obj/item/mecha_parts/mecha_equipment/weapon/honker - name = "\improper HoNkER BlAsT 5000" - desc = "Equipment for clown exosuits. Spreads fun and joy to everyone around. Honk!" - icon_state = "mecha_honker" - energy_drain = 200 - equip_cooldown = 150 - range = MECHA_MELEE|MECHA_RANGED - kickback = FALSE - -/obj/item/mecha_parts/mecha_equipment/weapon/honker/can_attach(obj/mecha/combat/honker/M) - if(..()) - if(istype(M)) - return 1 - return 0 - -/obj/item/mecha_parts/mecha_equipment/weapon/honker/action(target, params) - if(!action_checks(target)) - return - playsound(chassis, 'sound/items/airhorn.ogg', 100, TRUE) - chassis.occupant_message("HONK") - for(var/mob/living/carbon/M in ohearers(6, chassis)) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(istype(H.ears, /obj/item/clothing/ears/earmuffs)) - continue - var/turf/turf_check = get_turf(M) - if(isspaceturf(turf_check) && !turf_check.Adjacent(src)) //in space nobody can hear you honk. - continue - to_chat(M, "HONK") - M.SetSleeping(0) - M.stuttering += 20 - M.adjustEarDamage(0, 30) - M.Paralyze(60) - if(prob(30)) - M.Stun(200) - M.Unconscious(80) - else - M.Jitter(500) - - log_message("Honked from [src.name]. HONK!", LOG_MECHA) - var/turf/T = get_turf(src) - message_admins("[ADMIN_LOOKUPFLW(chassis.occupant)] used a Mecha Honker in [ADMIN_VERBOSEJMP(T)]") - log_game("[key_name(chassis.occupant)] used a Mecha Honker in [AREACOORD(T)]") - return 1 - - //Base ballistic weapon type /obj/item/mecha_parts/mecha_equipment/weapon/ballistic name = "general ballistic weapon" @@ -300,7 +253,7 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine - name = "\improper FNX-99 \"Hades\" Carbine" + name = "\improper FNX-99 \"Phoenix\" Exosuit Carbine" desc = "A weapon for combat exosuits. Shoots incendiary bullets." icon_state = "mecha_carbine" equip_cooldown = 10 @@ -311,19 +264,8 @@ harmful = TRUE ammo_type = "incendiary" -/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced - name = "\improper S.H.H. \"Quietus\" Carbine" - desc = "A weapon for combat exosuits. A mime invention, field tests have shown that targets cannot even scream before going down." - fire_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' - icon_state = "mecha_mime" - equip_cooldown = 30 - projectile = /obj/projectile/bullet/mime - projectiles = 6 - projectile_energy_cost = 50 - harmful = TRUE - /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot - name = "\improper LBX AC 10 \"Scattershot\"" + name = "\improper LBX-10 \"Scattershot\" Heavy Shotgun" desc = "A weapon for combat exosuits. Shoots a spread of pellets." icon_state = "mecha_scatter" equip_cooldown = 20 @@ -337,7 +279,7 @@ ammo_type = "scattershot" /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg - name = "\improper Ultra AC 2" + name = "\improper UMG-2 Mounted Machine Gun" desc = "A weapon for combat exosuits. Shoots a rapid, three shot burst." icon_state = "mecha_uac2" equip_cooldown = 10 @@ -347,13 +289,13 @@ projectiles_cache_max = 1200 projectiles_per_shot = 3 variance = 6 - randomspread = 1 + randomspread = TRUE projectile_delay = 2 harmful = TRUE ammo_type = "lmg" /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg/mounted - name = "\improper mounted HMG" + name = "\improper Mounted Heavy Machine Gun" desc = "A heavy calibre machine gun commonly used by motorized forces, famed for it's ability to give people on the recieving end more holes than normal. It is modified to be attached to vehicles" projectile = /obj/projectile/bullet/lmg fire_sound = 'sound/weapons/gun/hmg/hmg.ogg' @@ -439,7 +381,7 @@ var/turf/T = get_turf(src) message_admins("[ADMIN_LOOKUPFLW(chassis.occupant)] fired a [src] in [ADMIN_VERBOSEJMP(T)]") log_game("[key_name(chassis.occupant)] fired a [src] in [AREACOORD(T)]") - addtimer(CALLBACK(F, TYPE_PROC_REF(/obj/item/grenade/flashbang, prime)), det_time) + F.preprime(delayoverride = det_time) /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/clusterbang //Because I am a heartless bastard -Sieve //Heartless? for making the poor man's honkblast? - Kaze name = "\improper SOB-3 grenade launcher" diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm index ca24240b4f2..04a2ef75bc4 100644 --- a/code/game/mecha/mech_bay.dm +++ b/code/game/mecha/mech_bay.dm @@ -1,6 +1,6 @@ /turf/open/floor/mech_bay_recharge_floor // Whos idea it was - name = "mech bay recharge station" // Recharging turfs - desc = "Parking a mech on this station will recharge its internal power cell." + name = "exosuit bay recharge station" // Recharging turfs + desc = "Parking an exosuit on this station will recharge its internal power cell." icon = 'icons/turf/floors.dmi' // That are set in stone to check the west turf for recharge port icon_state = "recharge_floor" // Some people just want to watch the world burn i guess @@ -12,8 +12,8 @@ initial_gas_mix = AIRLESS_ATMOS /obj/machinery/mech_bay_recharge_port - name = "mech bay power port" - desc = "This port recharges a mech's internal power cell." + name = "exosuit bay power port" + desc = "This port recharges an exosuit's internal power cell." density = TRUE dir = EAST icon = 'icons/mecha/mech_bay.dmi' @@ -81,8 +81,8 @@ return ..() /obj/machinery/computer/mech_bay_power_console - name = "mech bay power control console" - desc = "Displays the status of mechs connected to the recharge station." + name = "exosuit bay power control console" + desc = "Displays the status of exosuits connected to the recharge station." icon_screen = "recharge_comp" icon_keyboard = "rd_key" circuit = /obj/item/circuitboard/computer/mech_bay_power_console diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index ba4e2de3331..65ab304bdfe 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -1,5 +1,5 @@ /obj/mecha - name = "mecha" + name = "exosuit" desc = "Exosuit" icon = 'icons/mecha/mecha.dmi' density = TRUE //Dense. To raise the heat. @@ -13,13 +13,15 @@ light_power = 0.8 light_range = 6 light_on = FALSE + var/repair_multiplier = 1 //multiply incoming repairs by this value. used to make some mechs less efficient and slower to repair. var/ruin_mecha = FALSE //if the mecha starts on a ruin, don't automatically give it a tracking beacon to prevent metagaming. var/can_move = 0 //time of next allowed movement + var/stopped = FALSE var/mob/living/carbon/occupant = null var/step_in = 10 //make a step in step_in/10 sec. var/dir_in = 2//What direction will the mech face when entered/powered on? Defaults to South. - var/normal_step_energy_drain = 10 //How much energy the mech will consume each time it moves. This variable is a backup for when leg actuators affect the energy drain. - var/step_energy_drain = 10 + var/base_step_energy_drain = 15 //The base amount of energy the mech should consume each time it moves. This variable is a backup for when leg actuators affect the energy drain. + var/step_energy_drain // How much energy the mech actually consumes when moving after modifiers (Eg, stock parts, leg actuators) var/melee_energy_drain = 15 var/overload_step_energy_drain_min = 100 max_integrity = 300 //max_integrity is base health @@ -42,6 +44,16 @@ var/completely_disabled = FALSE //stops the mech from doing anything var/frozen = FALSE // admin frozen + ///Vars for mech charges + var/charging = FALSE + var/charge_ready = TRUE + var/charge_cooldown = 50 + var/charge_power_consume = 200 + var/charge_distance = 5 + var/charge_break_walls = FALSE + var/charge_toss_structures = FALSE + var/charge_toss_mobs = FALSE + var/bumpsmash = 0 //Whether or not the mech destroys walls by running into it. //inner atmos var/use_internal_tank = 0 @@ -91,6 +103,7 @@ var/datum/action/innate/mecha/mech_view_stats/stats_action = new var/datum/action/innate/mecha/mech_defense_mode/defense_action = new var/datum/action/innate/mecha/mech_overload_mode/overload_action = new + var/datum/action/innate/mecha/mech_charge_mode/charge_action = new var/datum/effect_system/smoke_spread/smoke_system = new //not an action, but trigged by one var/datum/action/innate/mecha/mech_smoke/smoke_action = new var/datum/action/innate/mecha/mech_zoom/zoom_action = new @@ -138,7 +151,7 @@ add_scanmod() add_capacitor() START_PROCESSING(SSobj, src) - GLOB.poi_list |= src + SSpoints_of_interest.make_point_of_interest(src) log_message("[src.name] created.", LOG_MECHA) GLOB.mechas_list += src //global mech list prepare_huds() @@ -148,6 +161,7 @@ diag_hud_set_mechcell() diag_hud_set_mechstat() become_hearing_sensitive(ROUNDSTART_TRAIT) + update_part_values() /obj/mecha/update_icon_state() if(silicon_pilot && silicon_icon_state) @@ -176,7 +190,7 @@ AI.gib() //No wreck, no AI to recover AI = null STOP_PROCESSING(SSobj, src) - GLOB.poi_list.Remove(src) + SSpoints_of_interest.remove_point_of_interest(src) equipment.Cut() for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) @@ -226,11 +240,9 @@ /obj/mecha/proc/update_part_values() ///Updates the values given by scanning module and capacitor tier, called when a part is removed or inserted. if(scanmod) - normal_step_energy_drain = 20 - (5 * scanmod.rating) //10 is normal, so on lowest part its worse, on second its ok and on higher its real good up to 0 on best - step_energy_drain = normal_step_energy_drain + step_energy_drain = max(1, base_step_energy_drain - (5 * scanmod.rating)) //10 is normal, so on lowest part its worse, on second its ok and on higher its real good up to 0 on best else - normal_step_energy_drain = 500 - step_energy_drain = normal_step_energy_drain + step_energy_drain = 500 if(capacitor) armor = armor.modifyRating(energy = (capacitor.rating * 5)) //Each level of capacitor protects the mech against emp by 5% else //because we can still be hit without a cap, even if we can't move @@ -405,13 +417,13 @@ var/integrity = obj_integrity/max_integrity*100 switch(integrity) if(30 to 45) - occupant.throw_alert("mech damage", /atom/movable/screen/alert/low_mech_integrity, 1) + occupant.throw_alert("exosuit damage", /atom/movable/screen/alert/low_mech_integrity, 1) if(15 to 35) - occupant.throw_alert("mech damage", /atom/movable/screen/alert/low_mech_integrity, 2) + occupant.throw_alert("exosuit damage", /atom/movable/screen/alert/low_mech_integrity, 2) if(-INFINITY to 15) - occupant.throw_alert("mech damage", /atom/movable/screen/alert/low_mech_integrity, 3) + occupant.throw_alert("exosuit damage", /atom/movable/screen/alert/low_mech_integrity, 3) else - occupant.clear_alert("mech damage") + occupant.clear_alert("exosuit damage") var/atom/checking = occupant.loc // recursive check to handle all cases regarding very nested occupants, // such as brainmob inside brainitem inside MMI inside mecha @@ -420,7 +432,7 @@ // hit a turf before hitting the mecha, seems like they have // been moved out occupant.clear_alert("charge") - occupant.clear_alert("mech damage") + occupant.clear_alert("exosuit damage") RemoveActions(occupant, human_occupant=1) occupant = null break @@ -587,6 +599,8 @@ /obj/mecha/proc/domove(direction) if(can_move >= world.time) return 0 + if(stopped) + return 0 if(!Process_Spacemove(direction)) return 0 if(!has_charge(step_energy_drain)) @@ -645,6 +659,7 @@ step_silent = FALSE /obj/mecha/Bump(atom/obstacle) + var/atom/throw_target = get_edge_target_turf(obstacle, dir) if(phasing && get_charge() >= phasing_energy_drain && !throwing) if(!can_move) return @@ -656,6 +671,27 @@ forceMove(get_step(src,dir)) use_power(phasing_energy_drain) addtimer(VARSET_CALLBACK(src, can_move, TRUE), step_in*3) + else if(charging) + if(charge_break_walls && iswallturf(obstacle)) + var/turf/closed/wall/crushed = obstacle + playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) + visible_message(span_danger("[src] smashes through [obstacle]")) + crushed.dismantle_wall(TRUE) + if(isobj(obstacle)) + var/obj/object = obstacle + obstacle.mech_melee_attack(src) + if(!(object.resistance_flags & INDESTRUCTIBLE) && charge_toss_structures) + object.throw_at(throw_target, 4, 3) + visible_message(span_danger("[src] crashes into [obstacle]!")) + playsound(src, 'sound/effects/bang.ogg', 50, TRUE) + if(ishuman(obstacle)) + var/mob/living/carbon/human/H = obstacle + H.throw_at(throw_target,4,3) + visible_message(span_danger("[src] slams into \the [obstacle], sending [obstacle.p_them()] flying!")) + playsound(H, 'sound/effects/bang.ogg', 100, FALSE, -1) + H.Paralyze(20) + H.adjustStaminaLoss(30) + H.apply_damage(rand(20,35), BRUTE) else if(..()) //mech was thrown return @@ -1028,10 +1064,10 @@ final_exit_delay = exit_delay/2 if(do_after(occupant, has_gravity() ? final_exit_delay : 0 , target = src)) - to_chat(occupant, "You exit the mech.") + to_chat(occupant, "You exit the exosuit.") go_out() else - to_chat(occupant, "You stop exiting the mech. Weapons are enabled again.") + to_chat(occupant, "You stop exiting the exosuit. Weapons are enabled again.") is_currently_ejecting = FALSE /obj/mecha/Exited(atom/movable/M, atom/newloc) @@ -1056,7 +1092,7 @@ return var/atom/movable/mob_container occupant.clear_alert("charge") - occupant.clear_alert("mech damage") + occupant.clear_alert("exosuit damage") if(ishuman(occupant)) mob_container = occupant RemoveActions(occupant, human_occupant=1) @@ -1217,3 +1253,30 @@ GLOBAL_VAR_INIT(year_integer, text2num(year)) // = 2013??? else to_chat(user, "None of the equipment on this exosuit can use this ammo!") return FALSE + + +/////////////////////// +////// Charging ///// +/////////////////////// + +/obj/mecha/proc/start_charge() + Shake(15, 15, 1 SECONDS) + var/obj/effect/temp_visual/decoy/new_decoy = new /obj/effect/temp_visual/decoy(loc,src) + animate(new_decoy, alpha = 0, color = "#5a5858", transform = matrix()*2, time = 2) + addtimer(CALLBACK(src,PROC_REF(handle_charge)),0.5 SECONDS, TIMER_STOPPABLE) + +/obj/mecha/proc/handle_charge() + var/turf/mecha_loc = get_turf(src) + charging = TRUE + var/turf/charge_target = get_ranged_target_turf(mecha_loc,dir,charge_distance) + if(!charge_target) + charging = FALSE + return + cell.use(charge_power_consume) + walk_towards(src, charge_target, 0.7) + sleep(get_dist(src, charge_target) * 0.7) + charge_end() + +/obj/mecha/proc/charge_end() + walk(src,0) + charging = FALSE diff --git a/code/game/mecha/mecha_actions.dm b/code/game/mecha/mecha_actions.dm index 58fa675ac06..f10fb49c29b 100644 --- a/code/game/mecha/mecha_actions.dm +++ b/code/game/mecha/mecha_actions.dm @@ -36,7 +36,7 @@ return ..() /datum/action/innate/mecha/mech_eject - name = "Eject From Mech" + name = "Eject From Exosuit" button_icon_state = "mech_eject" /datum/action/innate/mecha/mech_eject/Activate() @@ -179,10 +179,24 @@ else chassis.leg_overload_mode = 0 chassis.step_in = initial(chassis.step_in) - chassis.step_energy_drain = chassis.normal_step_energy_drain + chassis.update_part_values() chassis.occupant_message("You disable leg actuators overload.") UpdateButtonIcon() +/datum/action/innate/mecha/mech_charge_mode + name = "Charge" + button_icon_state = "mech_overload_off" + +/datum/action/innate/mecha/mech_charge_mode/Activate() + if(!owner || !chassis || chassis.occupant != owner) + return + if(chassis.charge_ready && !chassis.charging) + chassis.start_charge() + chassis.charge_ready = FALSE + addtimer(VARSET_CALLBACK(chassis, charge_ready, TRUE), chassis.charge_cooldown) + else + chassis.occupant_message(span_warning("The leg actuators are still recharging!")) + /datum/action/innate/mecha/mech_smoke name = "Smoke" button_icon_state = "mech_smoke" diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 5172619ba02..7a3c67140b5 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -760,10 +760,6 @@ list( "key" = /obj/item/bikehorn ), - list( - "key" = /obj/item/clothing/shoes/clown_shoes, - "action" = ITEM_DELETE - ), list( "key" = /obj/item/bikehorn ), diff --git a/code/game/mecha/mecha_defense.dm b/code/game/mecha/mecha_defense.dm index 50652434c6f..533230bf1d6 100644 --- a/code/game/mecha/mecha_defense.dm +++ b/code/game/mecha/mecha_defense.dm @@ -99,10 +99,6 @@ log_message("Attack by hulk. Attacker - [user].", LOG_MECHA, color="red") log_combat(user, src, "punched", "hulk powers") -/obj/mecha/blob_act(obj/structure/blob/B) - log_message("Attack by blob. Attacker - [B].", LOG_MECHA, color="red") - take_damage(30, BRUTE, "melee", 0, get_dir(src, B)) - /obj/mecha/attack_tk() return @@ -253,7 +249,7 @@ clearInternalDamage(MECHA_INT_SHORT_CIRCUIT) to_chat(user, "You replace the fused wires.") else - to_chat(user, "You need two lengths of cable to fix this mech!") + to_chat(user, "You need two lengths of cable to fix this exosuit!") return if(istype(W, /obj/item/mecha_parts)) @@ -302,17 +298,19 @@ if(!W.use_tool(src, user, 0, volume=50, amount=1)) return clearInternalDamage(MECHA_INT_TANK_BREACH) - to_chat(user, "You repair the damaged gas tank.") + to_chat(user, span_notice("You repair the damaged gas tank.")) return - if(obj_integrity < max_integrity) + while(obj_integrity < max_integrity) + if(!do_after(user, 20, target= src)) + return if(!W.use_tool(src, user, 0, volume=50, amount=1)) return - user.visible_message("[user] repairs some damage to [name].", "You repair some damage to [src].") - obj_integrity += min(10, max_integrity-obj_integrity) + user.visible_message(span_notice("[user] repairs some damage to [name]."), span_notice("You repair some damage to [src].")) + obj_integrity += min(10 * repair_multiplier, max_integrity-obj_integrity) if(obj_integrity == max_integrity) - to_chat(user, "It looks to be fully repaired now.") - return - to_chat(user, "The [name] is at full integrity!") + to_chat(user, span_notice("It looks to be fully repaired now.")) + return + to_chat(user, span_warning("The [name] is at full integrity!")) /obj/mecha/proc/mech_toxin_damage(mob/living/target) playsound(src, 'sound/effects/spray2.ogg', 50, TRUE) diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm index 55d477f1817..5a0e457e42c 100644 --- a/code/game/mecha/mecha_parts.dm +++ b/code/game/mecha/mecha_parts.dm @@ -3,7 +3,7 @@ ///////////////////////// /obj/item/mecha_parts - name = "mecha part" + name = "exosuit part" icon = 'icons/mecha/mech_construct.dmi' icon_state = "blank" w_class = WEIGHT_CLASS_GIGANTIC @@ -20,7 +20,7 @@ return /obj/item/mecha_parts/chassis - name = "Mecha Chassis" + name = "Exosuit Chassis" icon_state = "backbone" interaction_flags_item = NONE //Don't pick us up!! var/construct_type diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm index 27c680120fa..b8808944b5b 100644 --- a/code/game/mecha/mecha_wreckage.dm +++ b/code/game/mecha/mecha_wreckage.dm @@ -129,9 +129,9 @@ name = "\improper Marauder wreckage" icon_state = "marauder-broken" -/obj/structure/mecha_wreckage/mauler - name = "\improper Mauler wreckage" - icon_state = "mauler-broken" +/obj/structure/mecha_wreckage/touro + name = "\improper Touro wreckage" + icon_state = "touro-broken" desc = "The syndicate won't be very happy about this..." /obj/structure/mecha_wreckage/seraph diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm index 27e139c84ab..4874ab14264 100644 --- a/code/game/mecha/medical/odysseus.dm +++ b/code/game/mecha/medical/odysseus.dm @@ -8,7 +8,7 @@ wreckage = /obj/structure/mecha_wreckage/odysseus internal_damage_threshold = 35 deflect_chance = 15 - step_energy_drain = 6 + base_step_energy_drain = 11 /obj/mecha/medical/odysseus/moved_inside(mob/living/carbon/human/H) . = ..() diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index 40783ecbb20..9f360011df8 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -107,7 +107,7 @@ light_range = 7 light_power = 1 wreckage = /obj/structure/mecha_wreckage/ripley/deathripley - step_energy_drain = 0 + base_step_energy_drain = 0 enclosed = TRUE enter_delay = 40 silicon_icon_state = null @@ -167,11 +167,11 @@ scanner.attach(src) /obj/mecha/working/ripley/clip - desc = "An APLU utility mech, refitted with a lightweight pressurized cockpit and more powerful servos by the CLIP. While it preserves the Mk. I's speed, the overdriven motors tend to strain its power supply." + desc = "An APLU utility exosuit, refitted with a lightweight pressurized cockpit and more powerful servos by the CLIP. While it preserves the Mk. I's speed, the overdriven motors tend to strain its power supply." name = "\improper CLIP APLU Mk-IV \"Rogue\"" icon_state = "clipripley" base_icon_state = "clipripley" - step_energy_drain = 15 //overdriven servos are less efficient + base_step_energy_drain = 20 //overdriven servos are less efficient wreckage = /obj/structure/mecha_wreckage/ripley/clip enclosed = TRUE enter_delay = 20 //slower than a mk. I, faster than the armored Ripleys diff --git a/code/game/objects/effects/anomalies/_anomalies.dm b/code/game/objects/effects/anomalies/_anomalies.dm index 4a85f932115..39d21639a11 100644 --- a/code/game/objects/effects/anomalies/_anomalies.dm +++ b/code/game/objects/effects/anomalies/_anomalies.dm @@ -8,9 +8,7 @@ anchored = TRUE light_range = 3 - //aSignal drops as the core, bSignal allows people to signal to detonate - var/obj/item/assembly/signaler/anomaly/aSignal = /obj/item/assembly/signaler/anomaly - var/obj/item/assembly/signaler/anomaly/bSignal = /obj/item/assembly/signaler/anomaly/det_signal + var/obj/item/assembly/signaler/anomaly/core = /obj/item/assembly/signaler/anomaly var/area/impact_area var/lifespan = 990 @@ -46,27 +44,17 @@ pulse_delay = rand(pulse_delay*0.5, pulse_delay*1.5) src.drops_core = drops_core - if(aSignal) - aSignal = new aSignal(src) - aSignal.code = rand(1,100) - aSignal.anomaly_type = type - aSignal.research = research_value + if(core) + core = new core(src) + core.code = rand(1,100) + core.code_b = rand(1,100) + core.anomaly_type = type + core.research = research_value var/frequency = rand(MIN_FREE_FREQ, MAX_FREE_FREQ) if(ISMULTIPLE(frequency, 2))//signaller frequencies are always uneven! frequency++ - aSignal.set_frequency(frequency) - - if(bSignal) - bSignal = new bSignal(src) - bSignal.code = rand(1,100) - bSignal.anomaly_type = type - var/frequency = rand(MIN_FREE_FREQ, MAX_FREE_FREQ) - if(ISMULTIPLE(frequency, 2))//signaller frequencies are always uneven! - frequency++ - bSignal.set_frequency(frequency) - - + core.set_frequency(frequency) if(lifespan) if(new_lifespan) @@ -96,8 +84,9 @@ /obj/effect/anomaly/Destroy() STOP_PROCESSING(SSobj, src) - QDEL_NULL(countdown) - QDEL_NULL(aSignal) + if(countdown) + QDEL_NULL(countdown) + QDEL_NULL(core) return ..() /obj/effect/anomaly/proc/anomalyEffect(seconds_per_tick) @@ -118,30 +107,26 @@ /obj/effect/anomaly/proc/anomalyNeutralize() new /obj/effect/particle_effect/smoke/bad(loc) - if(drops_core) - if(isnull(aSignal)) + if(isnull(core)) stack_trace("An anomaly ([src]) exists that drops a core, yet has no core!") else - aSignal.forceMove(drop_location()) - aSignal = null + core.forceMove(drop_location()) + core = null // else, anomaly core gets deleted by qdel(src). qdel(src) /obj/effect/anomaly/attackby(obj/item/weapon, mob/user, params) - if(weapon.tool_behaviour == TOOL_ANALYZER && aSignal) + if(weapon.tool_behaviour == TOOL_ANALYZER && core) to_chat(user, span_notice("You start analyzing [src].")) if(do_after(user, 20, src, hidden = TRUE)) - to_chat(user, span_notice("[src]'s primary field is fluctuating along frequency [format_frequency(aSignal.frequency)], code [aSignal.code].")) - if(bSignal) - to_chat(user, span_notice("A second field is fluctuating along [format_frequency(bSignal.frequency)], code [bSignal.code]. It is highly unstable." )) - return TRUE + to_chat(user, span_notice("[src]'s primary field is fluctuating along frequency [format_frequency(core.frequency)], code [core.code].")) + return TRUE return ..() - /obj/effect/anomaly/examine(mob/user) . = ..() if(user.research_scanner == TRUE) diff --git a/code/game/objects/effects/anomalies/anomalies_bluespace.dm b/code/game/objects/effects/anomalies/anomalies_bluespace.dm index 58267030960..19d163f131e 100644 --- a/code/game/objects/effects/anomalies/anomalies_bluespace.dm +++ b/code/game/objects/effects/anomalies/anomalies_bluespace.dm @@ -2,9 +2,9 @@ /obj/effect/anomaly/bluespace name = "jumper" icon_state = "bluespace" - desc = "A mysterious anomaly that causes teleportation around it." + desc = "A hole in the fabric of bluespace, perforating reality around it." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/bluespace + core = /obj/item/assembly/signaler/anomaly/bluespace ///range from which we can teleport someone effectrange = 3 var/reagent_amount = 3 @@ -63,7 +63,7 @@ if(istype(A, /obj/item/beacon)) continue // don't teleport beacons because that's just insanely stupid if(iscameramob(A)) - continue // Don't mess with AI eye, blob eye, xenobio or advanced cameras + continue // Don't mess with AI eye, or advanced cameras if(A.anchored) continue diff --git a/code/game/objects/effects/anomalies/anomalies_flux.dm b/code/game/objects/effects/anomalies/anomalies_flux.dm index b1318953f4a..4eaddefdcae 100644 --- a/code/game/objects/effects/anomalies/anomalies_flux.dm +++ b/code/game/objects/effects/anomalies/anomalies_flux.dm @@ -1,9 +1,10 @@ /obj/effect/anomaly/flux name = "tesla" - icon_state = "flux" - desc = "A mysterious anomaly that sends out a near constant stream of electrical arcs." + icon_state = "tesla" + //double-check that these only happen in atmosphere now + desc = "A break in the atmosphere, small yet potent lightning arcs flashing off it." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/flux + core = /obj/item/assembly/signaler/anomaly/flux pulse_delay = 2 SECONDS effectrange = 0 var/canshock = FALSE @@ -99,3 +100,7 @@ /obj/effect/anomaly/flux/big/planetary immortal = TRUE immobile = TRUE + +/obj/effect/anomaly/flux/storm + drops_core = FALSE + explosive = FLUX_LOW_EXPLOSIVE diff --git a/code/game/objects/effects/anomalies/anomalies_gravity.dm b/code/game/objects/effects/anomalies/anomalies_gravity.dm index 1dea7049fc9..20cc30dcc74 100644 --- a/code/game/objects/effects/anomalies/anomalies_gravity.dm +++ b/code/game/objects/effects/anomalies/anomalies_gravity.dm @@ -9,10 +9,9 @@ /obj/effect/anomaly/grav name = "throngler" icon_state = "gravity" - desc = "A mysterious anomaly that sucks things towards it with a gravitational field, ending in what has been termed a 'throngling'." + desc = "A miniature gravity well, constantly pulling the world around it into a 'throngling'." density = FALSE - aSignal = /obj/item/assembly/signaler/anomaly/grav - bSignal = null + core = /obj/item/assembly/signaler/anomaly/grav effectrange = 4 var/boing = 0 ///Warp effect holder for displacement filter to "pulse" the anomaly diff --git a/code/game/objects/effects/anomalies/anomalies_hallucination.dm b/code/game/objects/effects/anomalies/anomalies_hallucination.dm index ab859a3b321..8a0a469ba52 100644 --- a/code/game/objects/effects/anomalies/anomalies_hallucination.dm +++ b/code/game/objects/effects/anomalies/anomalies_hallucination.dm @@ -2,7 +2,8 @@ /obj/effect/anomaly/hallucination name = "hallucination anomaly" icon_state = "hallucination" - aSignal = /obj/item/assembly/signaler/anomaly/hallucination + desc = "A shimmering mirage suspended above the ground, never in the same place as it was a second ago." + core = /obj/item/assembly/signaler/anomaly/hallucination /// Time passed since the last effect, increased by delta_time of the SSobj var/ticks = 0 /// How many seconds between each small hallucination pulses @@ -18,6 +19,8 @@ var/turf/open/our_turf = get_turf(src) if(istype(our_turf)) hallucination_pulse(our_turf, 5) + pixel_x = clamp(pixel_x + rand(-5, 5), -16, 16) + pixel_y = clamp(pixel_y + rand(-5, 5), -16, 16) /obj/effect/anomaly/hallucination/detonate() var/turf/open/our_turf = get_turf(src) @@ -42,7 +45,7 @@ var/list/messages = list( "You feel your conscious mind fall apart!", "Reality warps around you!", - "Something's wispering around you!", + "Something whispers around you!", "You are going insane!", ) to_chat(user, span_warning(pick(messages))) diff --git a/code/game/objects/effects/anomalies/anomalies_heartbeat.dm b/code/game/objects/effects/anomalies/anomalies_heartbeat.dm index 1b691d89843..ff111fe4882 100644 --- a/code/game/objects/effects/anomalies/anomalies_heartbeat.dm +++ b/code/game/objects/effects/anomalies/anomalies_heartbeat.dm @@ -1,9 +1,9 @@ /obj/effect/anomaly/heartbeat name = "heartbeat" icon_state = "heartbeat" - desc = "A mysterious anomaly, it ionizes the world around it." + desc = "A throbbing vertex, spreading a cancer to the world around itself." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/heartbeat + core = /obj/item/assembly/signaler/anomaly/heartbeat effectrange = 3 pulse_delay = 6 SECONDS var/reagent_amount = 5 diff --git a/code/game/objects/effects/anomalies/anomalies_melter.dm b/code/game/objects/effects/anomalies/anomalies_melter.dm index d906d4f4bad..3c99fd7eab5 100644 --- a/code/game/objects/effects/anomalies/anomalies_melter.dm +++ b/code/game/objects/effects/anomalies/anomalies_melter.dm @@ -1,10 +1,10 @@ /obj/effect/anomaly/melter name = "melter" icon_state = "melter" - desc = "A mysterious anomaly. Everburning green flames with a horrid sizzle, melting what's near" + desc = "Everburning green flames, eager to lash out at anything that intrudes near." effectrange = 2 pulse_delay = 10 SECONDS - aSignal = /obj/item/assembly/signaler/anomaly/melter + core = /obj/item/assembly/signaler/anomaly/melter /obj/effect/anomaly/melter/anomalyEffect(seconds_per_tick) ..() @@ -20,7 +20,7 @@ I.acid_act(20, 20) I.update_appearance() for (var/obj/item/melt in range(effectrange, src)) - + //don't melt yourself if(istype(melt, /obj/item/assembly/signaler/anomaly)) return else diff --git a/code/game/objects/effects/anomalies/anomalies_phantom.dm b/code/game/objects/effects/anomalies/anomalies_phantom.dm index 9407bbcbf92..e2225c4c843 100644 --- a/code/game/objects/effects/anomalies/anomalies_phantom.dm +++ b/code/game/objects/effects/anomalies/anomalies_phantom.dm @@ -1,9 +1,9 @@ /obj/effect/anomaly/phantom name = "phantom" icon_state = "phantom" - desc = "A mysterious anomaly, the outline of a humanoid, endlessly screaming in agony." + desc = "A familiar outline, it calls out for companionship. It screams for you." density = FALSE - aSignal = /obj/item/assembly/signaler/anomaly/phantom + core = /obj/item/assembly/signaler/anomaly/phantom effectrange = 3 pulse_delay = 2 SECONDS diff --git a/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm b/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm index 006d42ac28d..04157af5ff2 100644 --- a/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm +++ b/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm @@ -1,9 +1,9 @@ /obj/effect/anomaly/plasmasoul name = "plasma soul" icon_state = "plasmasoul" - desc = "A mysterious anomaly, it slowly leaks plasma into the world around it." + desc = "A plasmatic pool, small crystals growing around it, spreading into the ground." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/plasmasoul + core = /obj/item/assembly/signaler/anomaly/plasmasoul effectrange = 3 pulse_delay = 6 SECONDS var/reagent_amount = 5 @@ -18,6 +18,10 @@ harm_surrounding_mobs() /obj/effect/anomaly/plasmasoul/Bumped(atom/movable/AM) + if(!COOLDOWN_FINISHED(src, pulse_cooldown)) + return + + COOLDOWN_START(src, pulse_cooldown, pulse_delay) var/turf/open/spot = locate(rand(src.x-effectrange, src.x+effectrange), rand(src.y-effectrange, src.y+effectrange), src.z) harm_surrounding_mobs() if(istype(spot)) diff --git a/code/game/objects/effects/anomalies/anomalies_pulsar.dm b/code/game/objects/effects/anomalies/anomalies_pulsar.dm index 1f75acee56b..360e004b2ad 100644 --- a/code/game/objects/effects/anomalies/anomalies_pulsar.dm +++ b/code/game/objects/effects/anomalies/anomalies_pulsar.dm @@ -1,9 +1,9 @@ /obj/effect/anomaly/pulsar name = "pulsar" icon_state = "pulsar" - desc = "A mysterious anomaly, endless electromagnetic disturbances roll out from it" + desc = "A near transparent shell hovering, containing a near constant electromagnetic turmoil." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/pulsar + core = /obj/item/assembly/signaler/anomaly/pulsar effectrange = 4 pulse_delay = 15 SECONDS diff --git a/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm b/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm index b4c93868e67..fef1c8b38a0 100644 --- a/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm +++ b/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm @@ -2,17 +2,16 @@ /obj/effect/anomaly/pyro name = "plasmaball" icon_state = "pyroclastic" - desc = "A mysterious anomaly, made of an everburning gas. Those who approach it tend to absorb it's heat, or even ignite." + desc = "A floating orb of everburning gas, not unlike a sun. It radiates a dangerous amount of heat." effectrange = 4 pulse_delay = 10 SECONDS - aSignal = /obj/item/assembly/signaler/anomaly/pyro + core = /obj/item/assembly/signaler/anomaly/pyro /obj/effect/anomaly/pyro/anomalyEffect(seconds_per_tick) ..() for(var/mob/living/carbon/nearby in range(effectrange, src)) nearby.adjust_bodytemperature(20) - visible_message("[src] pulses!") if(!COOLDOWN_FINISHED(src, pulse_cooldown)) return @@ -21,7 +20,7 @@ for(var/mob/living/carbon/nearby in range(effectrange/2, src)) nearby.fire_stacks += 3 nearby.IgniteMob() - visible_message("[src] ignites [nearby]!") + visible_message("[src] lets out a flare, igniting [nearby]!") /obj/effect/anomaly/pyro/Bumped(atom/movable/AM) @@ -84,3 +83,6 @@ /obj/effect/anomaly/pyro/big/planetary immortal = TRUE immobile = TRUE + +/obj/effect/anomaly/pyro/storm + drops_core = FALSE diff --git a/code/game/objects/effects/anomalies/anomalies_sparkler.dm b/code/game/objects/effects/anomalies/anomalies_sparkler.dm index 0b26e6fd6a1..79dd55cf21a 100644 --- a/code/game/objects/effects/anomalies/anomalies_sparkler.dm +++ b/code/game/objects/effects/anomalies/anomalies_sparkler.dm @@ -1,9 +1,9 @@ /obj/effect/anomaly/sparkler name = "sparkler" icon_state = "sparkler" - desc = "A mysterious anomaly, constantly throwing sparks into its vicinity." + desc = "A series of shimmering sparks flying to and fro. They try to spread, yet fail." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/sparkler + core = /obj/item/assembly/signaler/anomaly/sparkler effectrange = 4 pulse_delay = 1 SECONDS diff --git a/code/game/objects/effects/anomalies/anomalies_static.dm b/code/game/objects/effects/anomalies/anomalies_static.dm index ab574ee475d..b9e8d276ed6 100644 --- a/code/game/objects/effects/anomalies/anomalies_static.dm +++ b/code/game/objects/effects/anomalies/anomalies_static.dm @@ -1,9 +1,25 @@ +GLOBAL_LIST_INIT(tvstatic_sayings, list( + "... Help me...", + "... I need to get out ...", + "...No hope....", + "...Let me loose...", + "...stay with me...", + "...Not like this...", + "...please don't go...", + "...don't forget me...", + "...Are you there...?", + "...it hurts...", + "...the eyes...", + "...need to run...", + "...is anyone there..." +)) + /obj/effect/anomaly/tvstatic name = "static" icon_state = "static" - desc = "A mysterious anomaly. A hole in the world, endless buzzing emitting from it." + desc = "A hole in the world emitting an endless buzzing. It hides something precious." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/tvstatic + core = /obj/item/assembly/signaler/anomaly/tvstatic effectrange = 4 pulse_delay = 4 SECONDS verb_say = "pleads" @@ -12,7 +28,25 @@ verb_whisper = "whimpers" verb_yell = "screams" speech_span = SPAN_ITALICS + ///The mob we are holding *right* now var/mob/living/carbon/stored_mob = null + ///The path for the spawner if we want to have a custom guy inside the static. + var/stored_mob_spawner = null + +/obj/effect/anomaly/tvstatic/planetary/Initialize(mapload) + if(ispath(stored_mob_spawner)) + var/obj/effect/mob_spawn/vicspawner = new stored_mob_spawner(src) + var/mob/living/carbon/victim = (vicspawner.spawned_mob_ref)?.resolve() + src.stored_mob = victim + victim.setOrganLoss(ORGAN_SLOT_BRAIN, 200) + victim.forceMove(src) + if(prob(25) & !stored_mob) + var/obj/effect/mob_spawn/human/corpse/damaged/legioninfested/vicspawner = new (src) + var/mob/living/carbon/victim = (vicspawner.spawned_mob_ref)?.resolve() + src.stored_mob = victim + victim.forceMove(src) + . = ..() + /obj/effect/anomaly/tvstatic/examine(mob/user) . = ..() @@ -48,7 +82,7 @@ var/mob/living/carbon/victim = looking var/obj/effect/anomaly/tvstatic/planetary/expansion expansion = new(get_turf(victim)) - visible_message(span_warning("The static overtakes [victim], [expansion] taking their place!")) + visible_message(span_warning("[src] overtakes [victim], [expansion] taking their place!")) victim.death() expansion.stored_mob = victim victim.forceMove(expansion) @@ -58,44 +92,18 @@ anomalyEffect() /obj/effect/anomaly/tvstatic/proc/say_fucky_things() - switch(rand(1, 13)) - if(1) - say("... Help me...") - if(2) - say("... I need to get out ...") - if(3) - say("...No hope....") - if(4) - say("....Let me loose...") - if(5) - say("...stay with me...") - if(6) - say("...I hope I live...") - if(7) - say("...please don't go...") - if(8) - say("...don't forget me...") - if(9) - say("...Are you there...?") - if(10) - say("...it hurts...") - if(11) - say("...the eyes...") - if(12) - say("...need to run...") - if(13) - say("...don't become like me...") + say(pick(GLOB.tvstatic_sayings)) return /obj/effect/anomaly/tvstatic/detonate() for(var/mob/living/carbon/human/looking in range(effectrange, src)) - visible_message(span_boldwarning(" The static lashes out, agony filling your mind as its tendrils scrape your thoughts!")) + visible_message(span_boldwarning("[src] lashes out, agony filling your mind as its tendrils scrape your thoughts!")) if (!HAS_TRAIT(looking, TRAIT_MINDSHIELD) && looking.stat != DEAD) looking.adjustOrganLoss(ORGAN_SLOT_BRAIN, 100, 200) playsound(src, 'sound/effects/stall.ogg', 100) if(stored_mob) mangle_corpse() - visible_message(span_warning("The static sputters out [stored_mob], their body coming out in a burst of blood and gore!")) + visible_message(span_warning("[src] sputters out [stored_mob], their body coming out in a burst of blood and gore!")) new /obj/effect/gibspawner/human(loc) stored_mob.forceMove(get_turf(src)) stored_mob = null @@ -111,24 +119,15 @@ var/turf/T = get_turf(src) if(T) if(stored_mob) - visible_message(span_warning("The static spits out [stored_mob], their body coming out in a burst!")) + visible_message(span_warning("[src] spits out [stored_mob], their body coming out in a burst!")) stored_mob.forceMove(get_turf(src)) stored_mob = null . = ..() - /obj/effect/anomaly/tvstatic/planetary immortal = TRUE immobile = TRUE -/obj/effect/anomaly/tvstatic/planetary/Initialize(mapload) - if(prob(25) & !stored_mob) - var/obj/effect/mob_spawn/human/corpse/damaged/legioninfested/vicspawner = new (src) - var/mob/living/carbon/victim = (vicspawner.spawned_mob_ref)?.resolve() - src.stored_mob = victim - victim.forceMove(src) - . = ..() - /obj/effect/particle_effect/staticball name = "static blob" desc = "An unsettling mass of free floating static" diff --git a/code/game/objects/effects/anomalies/anomalies_transfusion.dm b/code/game/objects/effects/anomalies/anomalies_transfusion.dm new file mode 100644 index 00000000000..f233f9c0a3c --- /dev/null +++ b/code/game/objects/effects/anomalies/anomalies_transfusion.dm @@ -0,0 +1,69 @@ +/obj/effect/anomaly/transfusion + name = "transfusion" + icon_state = "transfusion" + desc = "A throbbing field floating mid-air, crimson particulate hovering within it." + density = TRUE + core = /obj/item/assembly/signaler/anomaly/transfusion + effectrange = 3 + pulse_delay = 5 SECONDS + +/obj/effect/anomaly/transfusion/anomalyEffect() + ..() + + if(!COOLDOWN_FINISHED(src, pulse_cooldown)) + return + + COOLDOWN_START(src, pulse_cooldown, pulse_delay) + blood_music() + return + +/obj/effect/anomaly/transfusion/proc/blood_music() //by greg bear + //this is hacky *because* in an ideal world - it would involve making the core have a reagent container for the blood + //however - I am a lazy bitch + for(var/mob/living/carbon/victim in range(effectrange, src)) + //if we're not hungry, we're not hungry. + if (core?:get_blood_max() < core?:get_blood_stored()) + new /obj/effect/temp_visual/dir_setting/bloodsplatter(src.loc, rand(1, 8)) + visible_message(span_boldwarning("[src] vomits up blood, seemingly satiated!")) + core?:set_blood_stored(core?:get_blood_max()) + return + //if there's blood to take, take it + if (victim.blood_volume > BLOOD_VOLUME_SAFE) + var/bleeder + bleeder = rand(10,30) + victim.bleed(bleeder) + victim.spray_blood(get_dir(victim, src), splatter_strength = 1) //slurp + visible_message(span_boldwarning("Ichor flows out of [victim], and into [src]!")) + core?:set_blood_stored(bleeder) + break + //but if there's blood to give, share. + if(victim.blood_volume < BLOOD_VOLUME_SAFE && core?:get_blood_stored() > (core?:get_blood_max() / 2)) + var/present_time + present_time = rand((core?:get_blood_stored() / 10), (core?:get_blood_stored() / 2)) + visible_message(span_boldwarning("Globules of ichor fly away from [src], and into [victim]!")) + core?:set_blood_stored(-present_time) + victim.blood_volume += present_time + break + return + +/obj/effect/anomaly/transfusion/Bumped(atom/movable/AM) + if(!COOLDOWN_FINISHED(src, pulse_secondary_cooldown)) + return + COOLDOWN_START(src, pulse_secondary_cooldown, 10) + if(istype(AM, /mob/living/carbon)) + var/mob/living/carbon/victim = AM + visible_message(span_boldwarning("[victim] touches [src], and as they pull away their blood flows away from them!")) + var/amount = rand(50, 200) + victim.bleed(amount) + core?:set_blood_stored(amount) + +/obj/effect/anomaly/transfusion/detonate() + for(var/mob/living/carbon/victim in range(effectrange, src)) + victim.bleed(rand(100, 250)) + victim.spray_blood(get_dir(src, victim), splatter_strength = 3) //slurp + visible_message(span_boldwarning("[src] screams as it tries to pull all the blood around into itself!")) + . = ..() + +/obj/effect/anomaly/transfusion/planetary + immortal = TRUE + immobile = TRUE diff --git a/code/game/objects/effects/anomalies/anomalies_veins.dm b/code/game/objects/effects/anomalies/anomalies_veins.dm index 416e325ccdb..e23728356b8 100644 --- a/code/game/objects/effects/anomalies/anomalies_veins.dm +++ b/code/game/objects/effects/anomalies/anomalies_veins.dm @@ -1,9 +1,9 @@ /obj/effect/anomaly/veins - name = "veins" + name = "fountain" icon_state = "veins" - desc = "A mysterious anomaly, throbbing purple veins, suspended midair." + desc = "Throbbing purple veins, an exposed artery of the world. It leaks into the world beyond it." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/veins + core = /obj/item/assembly/signaler/anomaly/veins effectrange = 3 pulse_delay = 4 SECONDS diff --git a/code/game/objects/effects/anomalies/anomalies_vortex.dm b/code/game/objects/effects/anomalies/anomalies_vortex.dm index 16a30cbaa9c..5e587507766 100644 --- a/code/game/objects/effects/anomalies/anomalies_vortex.dm +++ b/code/game/objects/effects/anomalies/anomalies_vortex.dm @@ -2,9 +2,8 @@ /obj/effect/anomaly/vortex name = "vortex" icon_state = "vortex" - desc = "A mysterious anomaly, this one destroys everything around it." - aSignal = /obj/item/assembly/signaler/anomaly/vortex - bSignal = null + desc = "An incredibly compact black orb, its hunger unquenchable." + core = /obj/item/assembly/signaler/anomaly/vortex /obj/effect/anomaly/vortex/anomalyEffect() ..() diff --git a/code/game/objects/effects/blessing.dm b/code/game/objects/effects/blessing.dm index be2d8970788..66b027f2e51 100644 --- a/code/game/objects/effects/blessing.dm +++ b/code/game/objects/effects/blessing.dm @@ -16,14 +16,7 @@ I.alpha = 64 I.appearance_flags = RESET_ALPHA add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/blessedAware, "blessing", I) - RegisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORT, PROC_REF(block_cult_teleport)) /obj/effect/blessing/Destroy() UnregisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORT) return ..() - -/obj/effect/blessing/proc/block_cult_teleport(datum/source, channel, turf/origin, turf/destination) - SIGNAL_HANDLER - - if(channel == TELEPORT_CHANNEL_CULT) - return COMPONENT_BLOCK_TELEPORT diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm index b71b1262c28..03435d10a18 100644 --- a/code/game/objects/effects/contraband.dm +++ b/code/game/objects/effects/contraband.dm @@ -392,8 +392,8 @@ /obj/structure/sign/poster/contraband/stechkin - name = "Stechkin Pistol" - desc = "A poster advertising the Scarborough Arms Stechkin conealable pistol. It has a silencer attached, showing off the stealth capablities, while also looking badass as all hell." + name = "Ringneck Pistol" + desc = "A poster advertising the Scarborough Arms Ringneck conealable pistol. It has a silencer attached, showing off the stealth capablities, while also looking badass as all hell." icon_state = "poster_stechkin" /obj/structure/sign/poster/contraband/energy_swords @@ -524,7 +524,7 @@ /obj/structure/sign/poster/contraband/m90 name = "M90 SMG" desc = "A poster advertising the Scarborough M90. Burst action with a grenade launcher, for some reason." - icon_state = "poster-bulldog" + icon_state = "poster-m90" /obj/structure/sign/poster/contraband/inteq_nt name = "Inteq Recruitment" @@ -880,10 +880,10 @@ desc = "Terra, or Earth as it's called by inhabitants, the third planet in the Sol system. Home to the only life as humans knew it, until contact with the outside universe. This poster in particular is trying to attract tourists to Terra, listing attractions like the Grand Orrery and Neue Waldstätte." icon_state = "poster-solgov-terra" -/obj/structure/sign/poster/solgov/ares - name = "Ares" - desc = "Ares, fourth planet in the Sol system. While evidence suggests that Aphrodite and Ares may have once had life, Terra was the only one that kept it. This poster in particular is trying to attract tourists to Ares, listing attractions like skiing resorts and ancient robot exhibits." - icon_state = "poster-solgov-ares" +/obj/structure/sign/poster/solgov/mars + name = "Mars" + desc = "Mars, fourth planet in the Sol system. While evidence suggests that Venus and Mars may have once had life, Terra was the only one that kept it. This poster in particular is trying to attract tourists to Mars, listing attractions like skiing resorts and ancient robot exhibits." + icon_state = "poster-solgov-mars" /obj/structure/sign/poster/solgov/luna name = "Luna" diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 4161403fefd..0be76dd1fac 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -32,11 +32,8 @@ AddElement(/datum/element/connect_loc, loc_connections) AddElement(/datum/element/beauty, beauty) - SSblackbox.record_feedback("tally", "station_mess_created", 1, name) - -/obj/effect/decal/cleanable/Destroy() - SSblackbox.record_feedback("tally", "station_mess_destroyed", 1, name) - return ..() + if(!mapload) + SSblackbox.record_feedback("tally", "station_mess_created", 1, name) /obj/effect/decal/cleanable/proc/replace_decal(obj/effect/decal/cleanable/C) // Returns true if we should give up in favor of the pre-existing decal if(mergeable_decal) @@ -89,8 +86,9 @@ /obj/effect/decal/cleanable/wash(clean_types) ..() if(!(flags_1 & INITIALIZED_1)) - return FALSE - qdel(src) + return + if(clean_types in list(CLEAN_WASH, CLEAN_SCRUB)) + qdel(src) return TRUE /obj/effect/decal/cleanable/proc/can_bloodcrawl_in() diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm index 3dd327dda08..8f49c0d667c 100644 --- a/code/game/objects/effects/decals/cleanable/humans.dm +++ b/code/game/objects/effects/decals/cleanable/humans.dm @@ -68,6 +68,8 @@ random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5") dryname = "dried tracks" drydesc = "Some old bloody tracks left by wheels. Machines are evil, perhaps." + ///Absorb the /squirt subtype when it exists on the turf + var/absorb_squirts = TRUE /obj/effect/decal/cleanable/blood/tracks icon_state = "tracks" @@ -176,6 +178,16 @@ var/drips = 1 dryname = "drips of blood" drydesc = "It's red." + var/move_on_init = TRUE + +/obj/effect/decal/cleanable/blood/drip/Initialize(mapload, list/datum/disease/diseases) + . = ..() + dry() + add_blood_DNA(list("Non-human DNA" = random_blood_type())) + if(move_on_init) + pixel_x = rand(-16,16) + pixel_y = rand(-16, 16) + /obj/effect/decal/cleanable/blood/drip/can_bloodcrawl_in() return TRUE @@ -278,3 +290,132 @@ if((blood_state != BLOOD_STATE_OIL) && (blood_state != BLOOD_STATE_NOT_BLOODY)) return 1 return 0 + +/obj/effect/decal/cleanable/blood/hitsplatter + name = "blood splatter" + pass_flags = PASSTABLE | PASSGRILLE + icon_state = "hitsplatter1" + random_icon_states = list("hitsplatter1", "hitsplatter2", "hitsplatter3") + /// 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 + var/list/blood_dna_info + /// Skip making the final blood splatter when we're done, like if we're not in a turf + var/skip = FALSE + /// How many tiles/items/people we can paint red + var/splatter_strength = 3 + /// Insurance so that we don't keep moving once we hit a stoppoint + var/hit_endpoint = FALSE +// ///Absorb the /squirt subtype when it exists on the turf +// var/absorb_squirts = TRUE + +/obj/effect/decal/cleanable/blood/hitsplatter/Initialize(mapload, splatter_strength) + . = ..() + prev_loc = loc //Just so we are sure prev_loc exists + if(splatter_strength) + src.splatter_strength = splatter_strength + +/obj/effect/decal/cleanable/blood/hitsplatter/Destroy() + if(isturf(loc) && !skip) + playsound(src, 'sound/effects/splatter.ogg', 60, TRUE, -1) + if(blood_dna_info) + loc.add_blood_DNA(blood_dna_info) + return ..() + +/// Set the splatter up to fly through the air until it rounds out of steam or hits something. Contains sleep() pending imminent moveloop rework, don't call without async'ing it +/obj/effect/decal/cleanable/blood/hitsplatter/proc/fly_towards(turf/target_turf, range) + splatter_strength = range + for(var/i in 1 to range) + step_towards(src,target_turf) + sleep(2) // Will be resolved pending Potato's moveloop rework + for(var/atom/iter_atom in get_turf(src)) + if(hit_endpoint) + return + if(splatter_strength <= 0) + break + + if(isitem(iter_atom)) + iter_atom.add_blood_DNA(blood_dna_info) + splatter_strength-- + else if(ishuman(iter_atom)) + var/mob/living/carbon/human/splashed_human = iter_atom + if(splashed_human.wear_suit) + splashed_human.wear_suit.add_blood_DNA(blood_dna_info) + splashed_human.update_inv_wear_suit() //updates mob overlays to show the new blood (no refresh) + if(splashed_human.w_uniform) + splashed_human.w_uniform.add_blood_DNA(blood_dna_info) + splashed_human.update_inv_w_uniform() //updates mob overlays to show the new blood (no refresh) + splatter_strength-- + + if(splatter_strength <= 0) // we used all the puff so we delete it. + qdel(src) + return + + var/obj/effect/decal/cleanable/blood/newsplatter + if(splatter_strength <= 3.5) + newsplatter = new /obj/effect/decal/cleanable/blood/squirt(get_turf(src), get_dir(prev_loc, loc), blood_dna_info) + else + newsplatter = new /obj/effect/decal/cleanable/blood/splatter(get_turf(src)) + newsplatter.add_blood_DNA(blood_dna_info) + prev_loc = loc + + qdel(src) + return + +/obj/effect/decal/cleanable/blood/hitsplatter/Bump(atom/bumped_atom) + if(!iswallturf(bumped_atom) && !istype(bumped_atom, /obj/structure/window)) + qdel(src) + return + + if(istype(bumped_atom, /obj/structure/window)) + var/obj/structure/window/bumped_window = bumped_atom + if(!bumped_window.fulltile) + qdel(src) + return + + hit_endpoint = TRUE + if(isturf(prev_loc)) + abstract_move(bumped_atom) + skip = TRUE + //Adjust pixel offset to make splatters appear on the wall + if(istype(bumped_atom, /obj/structure/window)) + land_on_window(bumped_atom) + else + var/obj/effect/decal/cleanable/blood/splatter/over_window/final_splatter = new(prev_loc) + final_splatter.pixel_x = (dir == EAST ? 32 : (dir == WEST ? -32 : 0)) + final_splatter.pixel_y = (dir == NORTH ? 32 : (dir == SOUTH ? -32 : 0)) + else // This will only happen if prev_loc is not even a turf, which is highly unlikely. + abstract_move(bumped_atom) + qdel(src) + +/// A special case for hitsplatters hitting windows, since those can actually be moved around, store it in the window and slap it in the vis_contents +/obj/effect/decal/cleanable/blood/hitsplatter/proc/land_on_window(obj/structure/window/the_window) + if(!the_window.fulltile) + return + var/obj/effect/decal/cleanable/blood/splatter/over_window/final_splatter = new + final_splatter.forceMove(the_window) + the_window.vis_contents += final_splatter + the_window.bloodied = TRUE + qdel(src) + +/obj/effect/decal/cleanable/blood/squirt + name = "blood trail" + icon_state = "squirt" + random_icon_states = null + +/obj/effect/decal/cleanable/blood/squirt/Initialize(mapload, direction, list/blood_dna) + . = ..() + dir = direction + var/obj/effect/decal/cleanable/blood/splatter/existing_blood = locate() in get_turf(src) + if(existing_blood?.absorb_squirts) + if(blood_dna) + existing_blood.add_blood_DNA(blood_dna) + existing_blood.bloodiness = min((existing_blood.bloodiness + bloodiness), BLOOD_AMOUNT_PER_DECAL) + return INITIALIZE_HINT_QDEL + +/obj/effect/decal/cleanable/blood/splatter/over_window // special layer/plane set to appear on windows + layer = ABOVE_WINDOW_LAYER + plane = GAME_PLANE + turf_loc_check = FALSE + alpha = 180 + absorb_squirts = FALSE diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index 5610e6a19ef..b04e83d6f5f 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -49,6 +49,9 @@ /obj/effect/decal/cleanable/glass/plasma icon_state = "plasmatiny" +/obj/effect/decal/cleanable/glass/plastitanium + icon_state = "plastitaniumtiny" + /obj/effect/decal/cleanable/glass/strange icon_state = "strangetiny" diff --git a/code/game/objects/effects/decals/decal.dm b/code/game/objects/effects/decals/decal.dm index 2dfea3173fe..0d2282eeb87 100644 --- a/code/game/objects/effects/decals/decal.dm +++ b/code/game/objects/effects/decals/decal.dm @@ -14,10 +14,6 @@ ) AddElement(/datum/element/connect_loc, loc_connections) -/obj/effect/decal/blob_act(obj/structure/blob/B) - if(B && B.loc == loc) - qdel(src) - /obj/effect/decal/proc/NeverShouldHaveComeHere(turf/T) return isclosedturf(T) || isgroundlessturf(T) diff --git a/code/game/objects/effects/decals/misc.dm b/code/game/objects/effects/decals/misc.dm index 5f84386668f..f03fe61a1be 100644 --- a/code/game/objects/effects/decals/misc.dm +++ b/code/game/objects/effects/decals/misc.dm @@ -5,9 +5,6 @@ pass_flags = PASSTABLE | PASSGRILLE layer = FLY_LAYER -/obj/effect/decal/chempuff/blob_act(obj/structure/blob/B) - return - /obj/effect/decal/fakelattice name = "lattice" desc = "A lightweight support lattice." diff --git a/code/game/objects/effects/decals/turfdecal/flooring_decals.dm b/code/game/objects/effects/decals/turfdecal/flooring_decals.dm index fc23ed89c27..1309d8f8fc7 100644 --- a/code/game/objects/effects/decals/turfdecal/flooring_decals.dm +++ b/code/game/objects/effects/decals/turfdecal/flooring_decals.dm @@ -126,6 +126,7 @@ TURF_DECAL_COLOR_HELPER(opaque/green, COLOR_GREEN_GRAY, 255) TURF_DECAL_COLOR_HELPER(opaque/lime, COLOR_PALE_GREEN_GRAY, 255) TURF_DECAL_COLOR_HELPER(opaque/yellow, COLOR_BROWN, 255) TURF_DECAL_COLOR_HELPER(opaque/beige, COLOR_BEIGE, 255) +TURF_DECAL_COLOR_HELPER(opaque/tan, "#c59973", 255) TURF_DECAL_COLOR_HELPER(opaque/red, COLOR_RED_GRAY, 255) TURF_DECAL_COLOR_HELPER(opaque/bar, "#791500", 255) TURF_DECAL_COLOR_HELPER(opaque/pink, COLOR_PALE_RED_GRAY, 255) @@ -144,6 +145,7 @@ TURF_DECAL_COLOR_HELPER(opaque/solgovblue, "#2d2a4e", 255) TURF_DECAL_COLOR_HELPER(opaque/solgovgold, "#eeac2e", 255) TURF_DECAL_COLOR_HELPER(opaque/syndiered, "#730622", 255) TURF_DECAL_COLOR_HELPER(opaque/inteqbrown, "#4b2a18", 255) +TURF_DECAL_COLOR_HELPER(opaque/cybersunteal, "#4C9C9C", 255) //transparent TURF_DECAL_COLOR_HELPER(transparent/neutral, null, 75) @@ -153,6 +155,7 @@ TURF_DECAL_COLOR_HELPER(transparent/green, COLOR_GREEN_GRAY, 140) TURF_DECAL_COLOR_HELPER(transparent/lime, COLOR_PALE_GREEN_GRAY, 140) TURF_DECAL_COLOR_HELPER(transparent/yellow, COLOR_BROWN, 140) TURF_DECAL_COLOR_HELPER(transparent/beige, COLOR_BEIGE, 140) +TURF_DECAL_COLOR_HELPER(transparent/tan, "#c59973", 140) TURF_DECAL_COLOR_HELPER(transparent/red, COLOR_RED_GRAY, 140) TURF_DECAL_COLOR_HELPER(transparent/bar, "#791500", 130) TURF_DECAL_COLOR_HELPER(transparent/pink, COLOR_PALE_RED_GRAY, 140) @@ -166,11 +169,12 @@ TURF_DECAL_COLOR_HELPER(transparent/lightgrey, "#a8b2b6", 140) TURF_DECAL_COLOR_HELPER(transparent/bottlegreen, "#57967f", 140) TURF_DECAL_COLOR_HELPER(transparent/ntblue, "#283674", 140) TURF_DECAL_COLOR_HELPER(transparent/nsorange, "#FF6600", 140) -TURF_DECAL_COLOR_HELPER(opaque/vired, "#d40000", 140) +TURF_DECAL_COLOR_HELPER(transparent/vired, "#d40000", 140) TURF_DECAL_COLOR_HELPER(transparent/solgovblue, "#2d2a4e", 140) TURF_DECAL_COLOR_HELPER(transparent/solgovgold, "#eeac2e", 140) TURF_DECAL_COLOR_HELPER(transparent/syndiered, "#730622", 140) TURF_DECAL_COLOR_HELPER(transparent/inteqbrown, "#4b2a18", 140) +TURF_DECAL_COLOR_HELPER(transparent/cybersunteal, "#4C9C9C", 140) /obj/effect/turf_decal/spline/plain icon_state = "spline_plain" diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm index 51020d8f60d..5fedeb47e45 100644 --- a/code/game/objects/effects/effect_system/effects_foam.dm +++ b/code/game/objects/effects/effect_system/effects_foam.dm @@ -48,13 +48,11 @@ /obj/effect/particle_effect/foam/firefighting/kill_foam() STOP_PROCESSING(SSfastprocess, src) - if(absorbed_plasma) var/obj/effect/decal/cleanable/plasma/P = (locate(/obj/effect/decal/cleanable/plasma) in get_turf(src)) if(!P) P = new(loc) P.reagents.add_reagent(/datum/reagent/stable_plasma, absorbed_plasma) - flick("[icon_state]-disolve", src) QDEL_IN(src, 5) @@ -67,6 +65,33 @@ /obj/effect/particle_effect/foam/firefighting/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) return + +/obj/effect/particle_effect/foam/antirad + name = "antiradiation foam" + lifetime = 80 + amount = 0 //no spread + slippery_foam = FALSE + color = "#A6FAFF55" + + +/obj/effect/particle_effect/foam/antirad/process() + ..() + + var/turf/open/T = get_turf(src) + var/obj/effect/radiation/rads = (locate(/obj/effect/radiation) in T) + if(rads && istype(T)) + rads.rad_power = rads.rad_power * rand(0.8, 0.95) + if (rads.rad_power <= RAD_BACKGROUND_RADIATION) + new /obj/effect/decal/cleanable/greenglow/filled(loc) + qdel(rads) + for(var/obj/things in get_turf(src)) + things.wash(CLEAN_TYPE_RADIATION) + +/obj/effect/particle_effect/foam/antirad/kill_foam() + STOP_PROCESSING(SSfastprocess, src) + flick("[icon_state]-disolve", src) + QDEL_IN(src, 5) + /obj/effect/particle_effect/foam/metal name = "aluminium foam" metal = ALUMINIUM_FOAM diff --git a/code/game/objects/effects/effect_system/effects_other.dm b/code/game/objects/effects/effect_system/effects_other.dm index 3f2b6ecaf94..efa1de11103 100644 --- a/code/game/objects/effects/effect_system/effects_other.dm +++ b/code/game/objects/effects/effect_system/effects_other.dm @@ -81,6 +81,9 @@ /datum/effect_system/trail_follow/proc/set_dir(obj/effect/particle_effect/ion_trails/I) I.setDir(holder.dir) +/datum/effect_system/trail_follow/ion/grav_allowed + nograv_required = FALSE + //Reagent-based explosion effect /datum/effect_system/reagents_explosion diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index 7fc59d07535..a9aab0a9bd9 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -76,7 +76,7 @@ if(!t_loc) return var/list/newsmokes = list() - for(var/turf/T in t_loc.GetAtmosAdjacentTurfs()) + for(var/turf/T in t_loc.get_atmos_adjacent_turfs()) var/obj/effect/particle_effect/smoke/foundsmoke = locate() in T //Don't spread smoke where there's already smoke! if(foundsmoke) continue diff --git a/code/game/objects/effects/effects.dm b/code/game/objects/effects/effects.dm index fea67e7341b..089b9b98796 100644 --- a/code/game/objects/effects/effects.dm +++ b/code/game/objects/effects/effects.dm @@ -20,9 +20,6 @@ /obj/effect/mech_melee_attack(obj/mecha/M) return 0 -/obj/effect/blob_act(obj/structure/blob/B) - return - /obj/effect/attack_hulk(mob/living/carbon/human/user) return FALSE diff --git a/code/game/objects/effects/forcefields.dm b/code/game/objects/effects/forcefields.dm index e46d8d92e82..d4278d77588 100644 --- a/code/game/objects/effects/forcefields.dm +++ b/code/game/objects/effects/forcefields.dm @@ -19,14 +19,6 @@ /obj/effect/forcefield/singularity_pull() return -/obj/effect/forcefield/cult - desc = "An unholy shield that blocks all attacks." - name = "glowing wall" - icon = 'icons/effects/cult_effects.dmi' - icon_state = "cultshield" - CanAtmosPass = ATMOS_PASS_NO - timeleft = 200 - ///////////Mimewalls/////////// /obj/effect/forcefield/mime diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index f880b95497c..dc9c7bcd685 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -16,8 +16,8 @@ var/spreadIntoAdjacentChance = 60 var/obj/item/seeds/myseed = /obj/item/seeds/glowshroom var/static/list/blacklisted_glowshroom_turfs = typecacheof(list( - /turf/open/lava, - /turf/open/floor/plating/beach/water)) + /turf/open/lava + )) /obj/structure/glowshroom/glowcap name = "glowcap" diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 078c435bd21..495b4c9ab66 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -1,6 +1,6 @@ /obj/effect/landmark name = "landmark" - icon = 'icons/effects/landmarks_static.dmi' + icon = 'icons/effects/mapping/landmarks_static.dmi' icon_state = "x2" anchored = TRUE layer = MID_LANDMARK_LAYER @@ -210,7 +210,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) return ..() /obj/effect/landmark/start/ai/secondary - icon = 'icons/effects/landmarks_static.dmi' + icon = 'icons/effects/mapping/landmarks_static.dmi' icon_state = "ai_spawn" primary_ai = FALSE latejoin_active = FALSE @@ -249,7 +249,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) /obj/effect/landmark/start/wizard name = "wizard" - icon = 'icons/effects/landmarks_static.dmi' + icon = 'icons/effects/mapping/landmarks_static.dmi' icon_state = "wiznerd_spawn" /obj/effect/landmark/start/wizard/Initialize() @@ -259,7 +259,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) /obj/effect/landmark/start/nukeop name = "nukeop" - icon = 'icons/effects/landmarks_static.dmi' + icon = 'icons/effects/mapping/landmarks_static.dmi' icon_state = "snukeop_spawn" /obj/effect/landmark/start/nukeop/Initialize() @@ -269,7 +269,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) /obj/effect/landmark/start/nukeop_leader name = "nukeop leader" - icon = 'icons/effects/landmarks_static.dmi' + icon = 'icons/effects/mapping/landmarks_static.dmi' icon_state = "snukeop_leader_spawn" /obj/effect/landmark/start/nukeop_leader/Initialize() @@ -309,16 +309,6 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player) GLOB.xeno_spawn += loc return INITIALIZE_HINT_QDEL -//also blobs that have their spawn forcemoved (running out of time when picking their spawn spot), santa and respawning devils -/obj/effect/landmark/blobstart - name = "blobstart" - icon_state = "blob_start" - -/obj/effect/landmark/blobstart/Initialize(mapload) - ..() - GLOB.blobstart += loc - return INITIALIZE_HINT_QDEL - //spawns sec equipment lockers depending on the number of sec officers /obj/effect/landmark/secequipment name = "secequipment" diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm index 73b96c29768..986ad10eb18 100644 --- a/code/game/objects/effects/misc.dm +++ b/code/game/objects/effects/misc.dm @@ -9,26 +9,6 @@ /obj/effect/beam/singularity_pull() return -/obj/effect/spawner - name = "object spawner" - -// Brief explanation: -// Rather then setting up and then deleting spawners, we block all atomlike setup -// and do the absolute bare minimum -// This is with the intent of optimizing mapload -/obj/effect/spawner/Initialize(mapload) - SHOULD_CALL_PARENT(FALSE) - if(flags_1 & INITIALIZED_1) - stack_trace("Warning: [src]([type]) initialized multiple times!") - flags_1 |= INITIALIZED_1 - - return INITIALIZE_HINT_QDEL - -/obj/effect/spawner/Destroy(force) - SHOULD_CALL_PARENT(FALSE) - moveToNullspace() - return QDEL_HINT_QUEUE - /obj/effect/list_container name = "list container" diff --git a/code/game/objects/effects/particle_emitter.dm b/code/game/objects/effects/particle_emitter.dm index 3ee4ab8ed46..cc4210f742a 100644 --- a/code/game/objects/effects/particle_emitter.dm +++ b/code/game/objects/effects/particle_emitter.dm @@ -1,7 +1,70 @@ -/obj/effect/particle_emitter - name = "" +///objects can only have one particle on them at a time, so we use these abstract effects to hold and display the effects. You know, so multiple particle effects can exist at once. +///also because some objects do not display particles due to how their visuals are built +/obj/effect/abstract/particle_holder + name = "particle holder" + desc = "How are you reading this? Please make a bug report :)" + appearance_flags = KEEP_APART|KEEP_TOGETHER|TILE_BOUND|PIXEL_SCALE|LONG_GLIDE //movable appearance_flags plus KEEP_APART and KEEP_TOGETHER + vis_flags = VIS_INHERIT_PLANE + layer = ABOVE_ALL_MOB_LAYER + mouse_opacity = MOUSE_OPACITY_TRANSPARENT anchored = TRUE - mouse_opacity = 0 + /// Holds info about how this particle emitter works + /// See \code\__DEFINES\particles.dm + var/particle_flags = NONE -/obj/effect/particle_emitter/Initialize(mapload, time) + var/atom/parent + +/obj/effect/abstract/particle_holder/Initialize(mapload, particle_path = /particles/smoke, particle_flags = NONE) . = ..() + if(!loc) + stack_trace("particle holder was created with no loc!") + return INITIALIZE_HINT_QDEL + // We nullspace ourselves because some objects use their contents (e.g. storage) and some items may drop everything in their contents on deconstruct. + parent = loc + loc = null + + // Mouse opacity can get set to opaque by some objects when placed into the object's contents (storage containers). + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + src.particle_flags = particle_flags + particles = new particle_path() + // /atom doesn't have vis_contents, /turf and /atom/movable do + var/atom/movable/lie_about_areas = parent + lie_about_areas.vis_contents += src + RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(parent_deleted)) + + if(particle_flags & PARTICLE_ATTACH_MOB) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) + on_move(parent, null, NORTH) + +/obj/effect/abstract/particle_holder/Destroy(force) + QDEL_NULL(particles) + parent = null + return ..() + +/// Non movables don't delete contents on destroy, so we gotta do this +/obj/effect/abstract/particle_holder/proc/parent_deleted(datum/source) + SIGNAL_HANDLER + qdel(src) + +/// signal called when a parent that's been hooked into this moves +/// does a variety of checks to ensure overrides work out properly +/obj/effect/abstract/particle_holder/proc/on_move(atom/movable/attached, atom/oldloc, direction) + SIGNAL_HANDLER + + if(!(particle_flags & PARTICLE_ATTACH_MOB)) + return + + //remove old + if(ismob(oldloc)) + var/mob/particle_mob = oldloc + particle_mob.vis_contents -= src + + // If we're sitting in a mob, we want to emit from it too, for vibes and shit + if(ismob(attached.loc)) + var/mob/particle_mob = attached.loc + particle_mob.vis_contents += src + +/// Sets the particles position to the passed coordinate list (X, Y, Z) +/// See [https://www.byond.com/docs/ref/#/{notes}/particles] for position documentation +/obj/effect/abstract/particle_holder/proc/set_particle_position(list/pos) + particles.position = pos diff --git a/code/game/objects/effects/particles/acid.dm b/code/game/objects/effects/particles/acid.dm new file mode 100644 index 00000000000..5ce0984991d --- /dev/null +++ b/code/game/objects/effects/particles/acid.dm @@ -0,0 +1,15 @@ +// Acid related particles. +/particles/acid + icon = 'icons/effects/particles/goop.dmi' + icon_state = list("goop_1" = 6, "goop_2" = 2, "goop_3" = 1) + width = 100 + height = 100 + count = 100 + spawning = 0.5 + color = "#00ea2b80" //to get 96 alpha + lifespan = 1.5 SECONDS + fade = 1 SECONDS + grow = -0.025 + gravity = list(0, 0.15) + position = generator(GEN_SPHERE, 0, 16, NORMAL_RAND) + spin = generator(GEN_NUM, -15, 15, NORMAL_RAND) diff --git a/code/game/objects/effects/particles/fire.dm b/code/game/objects/effects/particles/fire.dm new file mode 100644 index 00000000000..fb20dc778e5 --- /dev/null +++ b/code/game/objects/effects/particles/fire.dm @@ -0,0 +1,55 @@ +// Fire related particles. +/particles/bonfire + icon = 'icons/effects/particles/bonfire.dmi' + icon_state = "bonfire" + width = 100 + height = 100 + count = 1000 + spawning = 4 + lifespan = 0.7 SECONDS + fade = 1 SECONDS + grow = -0.01 + velocity = list(0, 0) + position = generator(GEN_CIRCLE, 0, 16, NORMAL_RAND) + drift = generator(GEN_VECTOR, list(0, -0.2), list(0, 0.2)) + gravity = list(0, 0.95) + scale = generator(GEN_VECTOR, list(0.3, 0.3), list(1,1), NORMAL_RAND) + rotation = 30 + spin = generator(GEN_NUM, -20, 20) + +/particles/embers + icon = 'icons/effects/particles/generic.dmi' + icon_state = list("dot" = 4,"cross" = 1,"curl" = 1) + width = 64 + height = 96 + count = 500 + spawning = 5 + lifespan = 3 SECONDS + fade = 1 SECONDS + color = 0 + color_change = 0.05 + gradient = list("#FBAF4D", "#FCE6B6", "#FD481C") + position = generator(GEN_BOX, list(-12,-16,0), list(12,16,0), NORMAL_RAND) + drift = generator(GEN_VECTOR, list(-0.1,0), list(0.1,0.025)) + spin = generator(GEN_NUM, list(-15,15), NORMAL_RAND) + scale = generator(GEN_VECTOR, list(0.5,0.5), list(2,2), NORMAL_RAND) + +/particles/embers/lava + width = 700 + height = 700 + gradient = list(LIGHT_COLOR_FLARE, LIGHT_COLOR_FLARE , COLOR_ALMOST_BLACK) + spawning = 1 + +/particles/lava + width = 700 + height = 700 + count = 500 + spawning = 1 + lifespan = 4 SECONDS + fade = 2 SECONDS + position = generator(GEN_CIRCLE, 16, 24, NORMAL_RAND) + drift = generator(GEN_VECTOR, list(-0.2, -0.2), list(0.6, 0.6)) + velocity = generator(GEN_CIRCLE, -6, 6, NORMAL_RAND) + friction = 0.15 + gradient = list(0,LIGHT_COLOR_FLARE , 0.75, COLOR_ALMOST_BLACK) + color_change = 0.125 diff --git a/code/game/objects/effects/particles/misc.dm b/code/game/objects/effects/particles/misc.dm new file mode 100644 index 00000000000..18db20d6379 --- /dev/null +++ b/code/game/objects/effects/particles/misc.dm @@ -0,0 +1,32 @@ +// General or un-matched particles, make a new file if a few can be sorted together. +/particles/pollen + icon = 'icons/effects/particles/pollen.dmi' + icon_state = "pollen" + width = 100 + height = 100 + count = 1000 + spawning = 4 + lifespan = 0.7 SECONDS + fade = 1 SECONDS + grow = -0.01 + velocity = list(0, 0) + position = generator(GEN_CIRCLE, 0, 16, NORMAL_RAND) + drift = generator(GEN_VECTOR, list(0, -0.2), list(0, 0.2)) + gravity = list(0, 0.95) + scale = generator(GEN_VECTOR, list(0.3, 0.3), list(1,1), NORMAL_RAND) + rotation = 30 + spin = generator(GEN_NUM, -20, 20) + +/particles/echo + icon = 'icons/effects/particles/echo.dmi' + icon_state = list("echo1" = 1, "echo2" = 1, "echo3" = 2) + width = 480 + height = 480 + count = 1000 + spawning = 0.5 + lifespan = 2 SECONDS + fade = 1 SECONDS + gravity = list(0, -0.1) + position = generator(GEN_BOX, list(-240, -240), list(240, 240), NORMAL_RAND) + drift = generator(GEN_VECTOR, list(-0.1, 0), list(0.1, 0)) + rotation = generator(GEN_NUM, 0, 360, NORMAL_RAND) diff --git a/code/game/objects/effects/particles/slime.dm b/code/game/objects/effects/particles/slime.dm new file mode 100644 index 00000000000..5cef9c97625 --- /dev/null +++ b/code/game/objects/effects/particles/slime.dm @@ -0,0 +1,22 @@ +/// Slime particles. +/particles/slime + icon = 'icons/effects/particles/goop.dmi' + icon_state = list("goop_1" = 6, "goop_2" = 2, "goop_3" = 1) + width = 100 + height = 100 + count = 100 + spawning = 0.5 + color = "#707070a0" + lifespan = 1.5 SECONDS + fade = 1 SECONDS + grow = -0.025 + gravity = list(0, -0.05) + position = generator(GEN_BOX, list(-8,-16,0), list(8,16,0), NORMAL_RAND) + spin = generator(GEN_NUM, -15, 15, NORMAL_RAND) + scale = list(0.75, 0.75) + +/// Rainbow slime particles. +/particles/slime/rainbow + gradient = list(0, "#f00a", 3, "#0ffa", 6, "#f00a", "loop", "space"=COLORSPACE_HSL) + color_change = 0.2 + color = generator(GEN_NUM, 0, 6, UNIFORM_RAND) diff --git a/code/game/objects/effects/particles/smoke.dm b/code/game/objects/effects/particles/smoke.dm new file mode 100644 index 00000000000..3326bbe2caa --- /dev/null +++ b/code/game/objects/effects/particles/smoke.dm @@ -0,0 +1,70 @@ +// All the smoke variant particles. +/particles/smoke + icon = 'icons/effects/particles/smoke.dmi' + icon_state = list("smoke_1" = 1, "smoke_2" = 1, "smoke_3" = 2) + width = 100 + height = 100 + count = 1000 + spawning = 4 + lifespan = 1.5 SECONDS + fade = 1 SECONDS + velocity = list(0, 0.4, 0) + position = list(6, 0, 0) + drift = generator(GEN_SPHERE, 0, 2, NORMAL_RAND) + friction = 0.2 + gravity = list(0, 0.95) + grow = 0.05 + +/particles/smoke/turf_fire + position = generator(GEN_SPHERE, 16, 24, NORMAL_RAND) + +/particles/smoke/burning + position = list(0, 0, 0) + +/particles/smoke/burning/small + spawning = 1 + scale = list(0.8, 0.8) + velocity = list(0, 0.4, 0) + +/particles/smoke/steam + icon_state = list("steam_1" = 1, "steam_2" = 1, "steam_3" = 2) + fade = 1.5 SECONDS + +/particles/smoke/steam/mild + spawning = 1 + velocity = list(0, 0.3, 0) + friction = 0.25 + +/particles/smoke/steam/bad + icon_state = list("steam_1" = 1, "smoke_1" = 1, "smoke_2" = 1, "smoke_3" = 1) + spawning = 2 + velocity = list(0, 0.25, 0) + +/particles/smoke/steam/vent + position = generator(GEN_SPHERE, 16, 16, NORMAL_RAND) + lifespan = 2 SECONDS + spawning = 3 + +/particles/smoke/steam/vent/low + spawning = 1 + velocity = list(0, 0.3, 0) + friction = 0.25 + +/particles/smoke/steam/vent/high + spawning = 8 + velocity = list(0, 0.25, 0) + count = 1000 + +/particles/smoke/ash + icon_state = list("ash_1" = 2, "ash_2" = 2, "ash_3" = 1, "smoke_1" = 3, "smoke_2" = 2) + count = 500 + spawning = 1 + lifespan = 1 SECONDS + fade = 0.2 SECONDS + fadein = 0.7 SECONDS + position = generator(GEN_VECTOR, list(-3, 5, 0), list(3, 6.5, 0), NORMAL_RAND) + velocity = generator(GEN_VECTOR, list(-0.1, 0.4, 0), list(0.1, 0.5, 0), NORMAL_RAND) + +/particles/fog + icon = 'icons/effects/particles/smoke.dmi' + icon_state = list("chill_1" = 2, "chill_2" = 2, "chill_3" = 1) diff --git a/code/game/objects/effects/particles/water.dm b/code/game/objects/effects/particles/water.dm new file mode 100644 index 00000000000..456617cb5d8 --- /dev/null +++ b/code/game/objects/effects/particles/water.dm @@ -0,0 +1,17 @@ +// Water related particles. +/particles/droplets + icon = 'icons/effects/particles/generic.dmi' + icon_state = list("dot"=2,"drop"=1) + width = 32 + height = 36 + count = 5 + spawning = 0.2 + lifespan = 1 SECONDS + fade = 0.5 SECONDS + color = "#549EFF" + position = generator(GEN_BOX, list(-9,-9,0), list(9,18,0), NORMAL_RAND) + scale = generator(GEN_VECTOR, list(0.9,0.9), list(1.1,1.1), NORMAL_RAND) + gravity = list(0, -0.9) + +/particles/droplets/blood + spawning = 0.2 diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index cfd5b8ba34b..f285aa2058f 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -31,6 +31,7 @@ var/innate_accuracy_penalty = 0 var/last_effect = 0 var/force_teleport = FALSE + var/restrain_vlevel = TRUE /obj/effect/portal/anom name = "wormhole" @@ -156,7 +157,7 @@ no_effect = TRUE else last_effect = world.time - if(do_teleport(M, real_target, innate_accuracy_penalty, no_effects = no_effect, channel = teleport_channel, forced = force_teleport)) + if(do_teleport(M, real_target, innate_accuracy_penalty, no_effects = no_effect, channel = teleport_channel, forced = force_teleport, restrain_vlevel = restrain_vlevel)) if(istype(M, /obj/projectile)) var/obj/projectile/P = M P.ignore_source_check = TRUE @@ -183,6 +184,7 @@ desc = "An unwavering portal that will never fade." hardlinked = FALSE // dont qdel my portal nerd force_teleport = TRUE // force teleports because they're a mapmaker tool + restrain_vlevel = FALSE var/id // var edit or set id in map editor /obj/effect/portal/permanent/proc/set_linked() diff --git a/code/game/objects/effects/spawners/bundle.dm b/code/game/objects/effects/spawners/bundle.dm index edab392613f..8ccaf334fea 100644 --- a/code/game/objects/effects/spawners/bundle.dm +++ b/code/game/objects/effects/spawners/bundle.dm @@ -1,170 +1,150 @@ -/obj/effect/spawner/bundle - name = "bundle spawner" +/obj/effect/spawner/costume + name = "costume spawner" icon = 'icons/hud/screen_gen.dmi' icon_state = "x2" - color = "#00FF00" + color = COLOR_VIBRANT_LIME var/list/items -/obj/effect/spawner/bundle/Initialize(mapload) +/obj/effect/spawner/costume/Initialize(mapload) . = ..() - if(items && items.len) + if(items?.len) for(var/path in items) new path(loc) -/obj/effect/spawner/bundle/costume/chicken - name = "chicken costume spawner" - items = list( - /obj/item/clothing/suit/chickensuit, - /obj/item/clothing/head/chicken, - /obj/item/reagent_containers/food/snacks/egg) - -/obj/effect/spawner/bundle/costume/gladiator +/obj/effect/spawner/costume/gladiator name = "gladiator costume spawner" items = list( /obj/item/clothing/under/costume/gladiator, - /obj/item/clothing/head/helmet/gladiator) + /obj/item/clothing/head/helmet/gladiator + ) -/obj/effect/spawner/bundle/costume/madscientist +/obj/effect/spawner/costume/madscientist name = "mad scientist costume spawner" items = list( /obj/item/clothing/under/rank/command/captain/suit, /obj/item/clothing/head/flatcap, - /obj/item/clothing/suit/toggle/labcoat/mad) + /obj/item/clothing/suit/toggle/labcoat/mad + ) -/obj/effect/spawner/bundle/costume/elpresidente +/obj/effect/spawner/costume/elpresidente name = "el presidente costume spawner" items = list( /obj/item/clothing/under/rank/command/captain/suit, /obj/item/clothing/head/flatcap, /obj/item/clothing/mask/cigarette/cigar/havana, - /obj/item/clothing/shoes/jackboots) + /obj/item/clothing/shoes/jackboots + ) -/obj/effect/spawner/bundle/costume/nyangirl +/obj/effect/spawner/costume/nyangirl name = "nyangirl costume spawner" items = list( /obj/item/clothing/under/costume/schoolgirl, /obj/item/clothing/head/kitty, - /obj/item/clothing/glasses/blindfold) + /obj/item/clothing/glasses/blindfold + ) -/obj/effect/spawner/bundle/costume/maid +/obj/effect/spawner/costume/maid name = "maid costume spawner" items = list( - /obj/item/clothing/under/dress/skirt, - /obj/effect/spawner/lootdrop/minor/beret_or_rabbitears, - /obj/item/clothing/glasses/blindfold) - + /obj/item/clothing/under/dress/skirt/color, + /obj/effect/spawner/random/clothing/beret_or_rabbitears, + /obj/item/clothing/glasses/blindfold + ) -/obj/effect/spawner/bundle/costume/butler +/obj/effect/spawner/costume/butler name = "butler costume spawner" items = list( /obj/item/clothing/accessory/waistcoat, /obj/item/clothing/under/suit/black, - /obj/item/clothing/head/that) + /obj/item/clothing/head/that + ) -/obj/effect/spawner/bundle/costume/highlander +/obj/effect/spawner/costume/highlander name = "highlander costume spawner" items = list( /obj/item/clothing/under/costume/kilt, - /obj/item/clothing/head/beret) + /obj/item/clothing/head/beret + ) -/obj/effect/spawner/bundle/costume/prig +/obj/effect/spawner/costume/prig name = "prig costume spawner" items = list( /obj/item/clothing/accessory/waistcoat, - /obj/item/clothing/glasses/monocle, - /obj/effect/spawner/lootdrop/minor/bowler_or_that, + /obj/effect/spawner/random/clothing/bowler_or_that, /obj/item/clothing/shoes/sneakers/black, /obj/item/cane, /obj/item/clothing/under/suit/sl, - /obj/item/clothing/mask/fakemoustache) + /obj/item/clothing/mask/fakemoustache + ) -/obj/effect/spawner/bundle/costume/plaguedoctor +/obj/effect/spawner/costume/plaguedoctor name = "plague doctor costume spawner" items = list( /obj/item/clothing/suit/bio_suit/plaguedoctorsuit, - /obj/item/clothing/head/plaguedoctorhat, - /obj/item/clothing/mask/gas/plaguedoctor) + /obj/item/clothing/mask/gas/plaguedoctor + ) -/obj/effect/spawner/bundle/costume/nightowl +/obj/effect/spawner/costume/nightowl name = "night owl costume spawner" items = list( /obj/item/clothing/suit/toggle/owlwings, /obj/item/clothing/under/costume/owl, - /obj/item/clothing/mask/gas/owl_mask) + /obj/item/clothing/mask/gas/owl_mask + ) -/obj/effect/spawner/bundle/costume/waiter +/obj/effect/spawner/costume/waiter name = "waiter costume spawner" items = list( /obj/item/clothing/under/suit/waiter, - /obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears, - /obj/item/clothing/suit/apron) + /obj/effect/spawner/random/clothing/kittyears_or_rabbitears, + /obj/item/clothing/suit/apron + ) -/obj/effect/spawner/bundle/costume/pirate +/obj/effect/spawner/costume/pirate name = "pirate costume spawner" items = list( /obj/item/clothing/under/costume/pirate, /obj/item/clothing/suit/pirate, - /obj/effect/spawner/lootdrop/minor/pirate_or_bandana, - /obj/item/clothing/glasses/eyepatch) + /obj/effect/spawner/random/clothing/pirate_or_bandana, + /obj/item/clothing/glasses/eyepatch + ) -/obj/effect/spawner/bundle/costume/imperium_monk - name = "imperium monk costume spawner" - items = list( - /obj/item/clothing/suit/imperium_monk, - /obj/effect/spawner/lootdrop/minor/twentyfive_percent_cyborg_mask) - -/obj/effect/spawner/bundle/costume/holiday_priest - name = "holiday priest costume spawner" - items = list( - /obj/item/clothing/suit/chaplainsuit/holidaypriest) - -/obj/effect/spawner/bundle/costume/marisawizard - name = "marisa wizard costume spawner" - items = list( - /obj/item/clothing/shoes/sandal/marisa, - /obj/item/clothing/head/wizard/marisa/fake, - /obj/item/clothing/suit/wizrobe/marisa/fake) - -/obj/effect/spawner/bundle/costume/cutewitch +/obj/effect/spawner/costume/cutewitch name = "cute witch costume spawner" items = list( /obj/item/clothing/under/dress/sundress, - /obj/item/clothing/head/witchwig, - /obj/item/staff/broom) - -/obj/effect/spawner/bundle/costume/wizard - name = "wizard costume spawner" - items = list( - /obj/item/clothing/shoes/sandal, - /obj/item/clothing/suit/wizrobe/fake, - /obj/item/clothing/head/wizard/fake, - /obj/item/staff) + /obj/item/staff/broom + ) -/obj/effect/spawner/bundle/costume/mafia +/obj/effect/spawner/costume/mafia name = "black mafia outfit spawner" items = list( /obj/item/clothing/head/fedora, /obj/item/clothing/under/suit/blacktwopiece, - /obj/item/clothing/shoes/laceup) + /obj/item/clothing/shoes/laceup + ) -/obj/effect/spawner/bundle/costume/mafia/white +/obj/effect/spawner/costume/mafia/white name = "white mafia outfit spawner" items = list( /obj/item/clothing/head/fedora/white, /obj/item/clothing/under/suit/white, - /obj/item/clothing/shoes/laceup) + /obj/item/clothing/shoes/laceup + ) -/obj/effect/spawner/bundle/costume/mafia/checkered +/obj/effect/spawner/costume/mafia/checkered name = "checkered mafia outfit spawner" items = list( /obj/item/clothing/head/fedora, /obj/item/clothing/under/suit/checkered, - /obj/item/clothing/shoes/laceup) + /obj/item/clothing/shoes/laceup + ) -/obj/effect/spawner/bundle/costume/mafia/beige +/obj/effect/spawner/costume/mafia/beige name = "beige mafia outfit spawner" items = list( /obj/item/clothing/head/fedora/beige, /obj/item/clothing/under/suit/beige, - /obj/item/clothing/shoes/laceup) + /obj/item/clothing/shoes/laceup + ) diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm deleted file mode 100644 index db99d0c4e4d..00000000000 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ /dev/null @@ -1,1297 +0,0 @@ -/obj/effect/spawner/lootdrop - icon = 'icons/effects/landmarks_static.dmi' - icon_state = "random_loot" - layer = OBJ_LAYER - var/lootcount = 1 //how many items will be spawned - var/lootdoubles = TRUE //if the same item can be spawned twice - var/list/loot //a list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect) - var/fan_out_items = FALSE //Whether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself - -/obj/effect/spawner/lootdrop/Initialize(mapload) - . = ..() - if(loot && loot.len) - var/loot_spawned = 0 - while((lootcount-loot_spawned) && loot.len) - var/lootspawn = pickweight_float(loot) // WS edit - Fix various startup runtimes - while(islist(lootspawn)) - lootspawn = pickweight_float(lootspawn) // WS edit - Fix various startup runtimes - if(!lootdoubles) - loot.Remove(lootspawn) - - if(lootspawn) - var/atom/movable/spawned_loot = new lootspawn(loc) - if (!fan_out_items) - if (pixel_x != 0) - spawned_loot.pixel_x = pixel_x - if (pixel_y != 0) - spawned_loot.pixel_y = pixel_y - else - if (loot_spawned) - spawned_loot.pixel_x = spawned_loot.pixel_y = ((!(loot_spawned%2)*loot_spawned/2)*-1)+((loot_spawned%2)*(loot_spawned+1)/2*1) - else - break // WS edit - Support spawn weights of 0 in loot tables and ruins - loot_spawned++ - -/obj/effect/spawner/lootdrop/donkpockets - name = "donk pocket box spawner" - lootdoubles = FALSE - - loot = list( - /obj/item/storage/box/donkpockets/donkpocketspicy = 1, - /obj/item/storage/box/donkpockets/donkpocketteriyaki = 1, - /obj/item/storage/box/donkpockets/donkpocketpizza = 1, - /obj/item/storage/box/donkpockets/donkpocketberry = 1, - /obj/item/storage/box/donkpockets/donkpockethonk = 1, - ) - - -/obj/effect/spawner/lootdrop/armory_contraband - name = "armory contraband gun spawner" - lootdoubles = FALSE - - loot = list( - /obj/item/gun/ballistic/automatic/pistol/syndicate = 8, - /obj/item/gun/ballistic/shotgun/automatic/combat = 5, - /obj/item/gun/ballistic/automatic/pistol/deagle, - /obj/item/gun/ballistic/revolver/mateba - ) - -/obj/effect/spawner/lootdrop/armory_contraband/metastation - loot = list(/obj/item/gun/ballistic/automatic/pistol/syndicate = 5, - /obj/item/gun/ballistic/shotgun/automatic/combat = 5, - /obj/item/gun/ballistic/automatic/pistol/deagle, - /obj/item/storage/box/syndie_kit/throwing_weapons = 3, - /obj/item/gun/ballistic/revolver/mateba) - -/obj/effect/spawner/lootdrop/armory_contraband/donutstation - loot = list(/obj/item/grenade/clusterbuster/teargas = 5, - /obj/item/gun/ballistic/shotgun/automatic/combat = 5, - /obj/item/bikehorn/golden, - /obj/item/grenade/clusterbuster, - /obj/item/storage/box/syndie_kit/throwing_weapons = 3, - /obj/item/gun/ballistic/revolver/mateba) - -/obj/effect/spawner/lootdrop/prison_contraband - name = "prison contraband loot spawner" - loot = list(/obj/item/clothing/mask/cigarette/space_cigarette = 4, - /obj/item/clothing/mask/cigarette/robust = 2, - /obj/item/clothing/mask/cigarette/carp = 3, - /obj/item/clothing/mask/cigarette/uplift = 2, - /obj/item/clothing/mask/cigarette/dromedary = 3, - /obj/item/clothing/mask/cigarette/robustgold = 1, - /obj/item/storage/fancy/cigarettes/cigpack_uplift = 3, - /obj/item/storage/fancy/cigarettes = 3, - /obj/item/clothing/mask/cigarette/rollie/cannabis = 4, - /obj/item/toy/crayon/spraycan = 2, - /obj/item/crowbar = 1, - /obj/item/assembly/flash/handheld = 1, - /obj/item/restraints/handcuffs/cable/zipties = 1, - /obj/item/restraints/handcuffs = 1, - /obj/item/radio = 1, - /obj/item/lighter = 3, - /obj/item/storage/box/matches = 3, - /obj/item/reagent_containers/syringe/contraband/space_drugs = 1, - /obj/item/reagent_containers/syringe/contraband/krokodil = 1, - /obj/item/reagent_containers/syringe/contraband/crank = 1, - /obj/item/reagent_containers/syringe/contraband/methamphetamine = 1, - /obj/item/reagent_containers/syringe/contraband/bath_salts = 1, - /obj/item/reagent_containers/syringe/contraband/fentanyl = 1, - /obj/item/reagent_containers/syringe/contraband/morphine = 1, - /obj/item/storage/pill_bottle/happy = 1, - /obj/item/storage/pill_bottle/lsd = 1, - /obj/item/storage/pill_bottle/psicodine = 1, - /obj/item/reagent_containers/food/drinks/beer = 4, - /obj/item/reagent_containers/food/drinks/bottle/whiskey = 1, - /obj/item/paper/fluff/jobs/prisoner/letter = 1, - /obj/item/grenade/smokebomb = 1, - /obj/item/flashlight/seclite = 1, - /obj/item/kitchen/knife/shiv = 4, - /obj/item/kitchen/knife/shiv/carrot = 1, - /obj/item/kitchen/knife = 1, - /obj/item/storage/wallet/random = 1, - /obj/item/pda = 1 - ) - -/obj/effect/spawner/lootdrop/gambling - name = "gambling valuables spawner" - loot = list( - /obj/item/clothing/head/trapper = 3, - /obj/item/storage/box/syndie_kit/throwing_weapons, - /obj/item/coin/gold, - /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka, - ) - -/obj/effect/spawner/lootdrop/grille_or_trash - name = "maint grille or trash spawner" - loot = list(/obj/structure/grille = 5, - /obj/item/cigbutt = 1, - /obj/item/trash/cheesie = 1, - /obj/item/trash/candy = 1, - /obj/item/trash/chips = 1, - /obj/item/reagent_containers/food/snacks/deadmouse = 1, - /obj/item/trash/pistachios = 1, - /obj/item/trash/plate = 1, - /obj/item/trash/popcorn = 1, - /obj/item/trash/raisins = 1, - /obj/item/trash/sosjerky = 1, - /obj/item/trash/syndi_cakes = 1) - -/obj/effect/spawner/lootdrop/three_course_meal - name = "three course meal spawner" - lootcount = 3 - lootdoubles = FALSE - var/soups = list( - /obj/item/reagent_containers/food/snacks/soup/beet, - /obj/item/reagent_containers/food/snacks/soup/sweetpotato, - /obj/item/reagent_containers/food/snacks/soup/stew, - /obj/item/reagent_containers/food/snacks/soup/hotchili, - /obj/item/reagent_containers/food/snacks/soup/nettle, - /obj/item/reagent_containers/food/snacks/soup/meatball) - var/salads = list( - /obj/item/reagent_containers/food/snacks/salad/herbsalad, - /obj/item/reagent_containers/food/snacks/salad/validsalad, - /obj/item/reagent_containers/food/snacks/salad/fruit, - /obj/item/reagent_containers/food/snacks/salad/jungle, - /obj/item/reagent_containers/food/snacks/salad/aesirsalad) - var/mains = list( - /obj/item/reagent_containers/food/snacks/bearsteak, - /obj/item/reagent_containers/food/snacks/enchiladas, - /obj/item/reagent_containers/food/snacks/stewedsoymeat, - /obj/item/reagent_containers/food/snacks/burger/bigbite, - /obj/item/reagent_containers/food/snacks/burger/superbite, - /obj/item/reagent_containers/food/snacks/burger/fivealarm) - -/obj/effect/spawner/lootdrop/three_course_meal/Initialize(mapload) - loot = list(pick(soups) = 1,pick(salads) = 1,pick(mains) = 1) - . = ..() - -/obj/effect/spawner/lootdrop/maintenance - name = "maintenance loot spawner" - // see code/_globalvars/lists/maintenance_loot.dm for loot table - -/obj/effect/spawner/lootdrop/maintenance/Initialize(mapload) - loot = GLOB.maintenance_loot - . = ..() - -/obj/effect/spawner/lootdrop/maintenance/two - name = "2 x maintenance loot spawner" - lootcount = 2 - -/obj/effect/spawner/lootdrop/maintenance/three - name = "3 x maintenance loot spawner" - lootcount = 3 - -/obj/effect/spawner/lootdrop/maintenance/four - name = "4 x maintenance loot spawner" - lootcount = 4 - -/obj/effect/spawner/lootdrop/maintenance/five - name = "5 x maintenance loot spawner" - lootcount = 5 - -/obj/effect/spawner/lootdrop/maintenance/six - name = "6 x maintenance loot spawner" - lootcount = 6 - -/obj/effect/spawner/lootdrop/maintenance/seven - name = "7 x maintenance loot spawner" - lootcount = 7 - -/obj/effect/spawner/lootdrop/maintenance/eight - name = "8 x maintenance loot spawner" - lootcount = 8 - -/obj/effect/spawner/lootdrop/crate_spawner - name = "lootcrate spawner" //USE PROMO CODE "SELLOUT" FOR 20% OFF! - lootdoubles = FALSE - - loot = list( - /obj/structure/closet/crate/secure/loot = 20, - "" = 80 - ) - -/obj/effect/spawner/lootdrop/organ_spawner - name = "ayylien organ spawner" - loot = list( - /obj/item/organ/heart/gland/electric = 3, - /obj/item/organ/heart/gland/trauma = 4, - /obj/item/organ/heart/gland/egg = 7, - /obj/item/organ/heart/gland/chem = 5, - /obj/item/organ/heart/gland/mindshock = 5, - /obj/item/organ/heart/gland/plasma = 7, - /obj/item/organ/heart/gland/transform = 5, - /obj/item/organ/heart/gland/slime = 4, - /obj/item/organ/heart/gland/spiderman = 5, - /obj/item/organ/heart/gland/ventcrawling = 1, - /obj/item/organ/body_egg/alien_embryo = 1, - /obj/item/organ/regenerative_core = 2) - lootcount = 3 - -/obj/effect/spawner/lootdrop/memeorgans - name = "meme organ spawner" - loot = list( - /obj/item/organ/ears/penguin, - /obj/item/organ/ears/cat, - /obj/item/organ/eyes/compound, - /obj/item/organ/eyes/snail, - /obj/item/organ/tongue/bone, - /obj/item/organ/tongue/fly, - /obj/item/organ/tongue/snail, - /obj/item/organ/tongue/lizard, - /obj/item/organ/tongue/alien, - /obj/item/organ/tongue/ethereal, - /obj/item/organ/tongue/robot, - /obj/item/organ/tongue/zombie, - /obj/item/organ/appendix, - /obj/item/organ/liver/fly, - /obj/item/organ/lungs/plasmaman, - /obj/item/organ/tail/cat, - /obj/item/organ/tail/lizard) - lootcount = 5 - -/obj/effect/spawner/lootdrop/rnd - name = "random RND spawner" - loot = list( - /obj/item/storage/box/rndmining, - /obj/item/storage/box/rndengi, - /obj/item/storage/box/rndsec, - /obj/item/storage/box/rndciv, - /obj/item/storage/box/rndmed) - lootcount = 1 - -/obj/effect/spawner/lootdrop/two_percent_xeno_egg_spawner - name = "2% chance xeno egg spawner" - loot = list( - /obj/effect/decal/remains/xeno = 49, - /obj/effect/spawner/xeno_egg_delivery = 1) - -/obj/effect/spawner/lootdrop/costume - name = "random costume spawner" - -/obj/effect/spawner/lootdrop/costume/Initialize() - loot = list() - for(var/path in subtypesof(/obj/effect/spawner/bundle/costume)) - loot[path] = TRUE - . = ..() - -// Minor lootdrops follow - -/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears - name = "beret or rabbit ears spawner" - loot = list( - /obj/item/clothing/head/beret = 1, - /obj/item/clothing/head/rabbitears = 1) - -/obj/effect/spawner/lootdrop/minor/bowler_or_that - name = "bowler or top hat spawner" - loot = list( - /obj/item/clothing/head/bowler = 1, - /obj/item/clothing/head/that = 1) - -/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears - name = "kitty ears or rabbit ears spawner" - loot = list( - /obj/item/clothing/head/kitty = 1, - /obj/item/clothing/head/rabbitears = 1) - -/obj/effect/spawner/lootdrop/minor/pirate_or_bandana - name = "pirate hat or bandana spawner" - loot = list( - /obj/item/clothing/head/pirate = 1, - /obj/item/clothing/head/bandana = 1) - -/obj/effect/spawner/lootdrop/minor/twentyfive_percent_cyborg_mask - name = "25% cyborg mask spawner" - loot = list( - /obj/item/clothing/mask/gas/cyborg = 25, - "" = 75) - -/obj/effect/spawner/lootdrop/aimodule_harmless // These shouldn't allow the AI to start butchering people - name = "harmless AI module spawner" - loot = list( - /obj/item/aiModule/core/full/asimov, - /obj/item/aiModule/core/full/asimovpp, - /obj/item/aiModule/core/full/hippocratic, - /obj/item/aiModule/core/full/paladin_devotion, - /obj/item/aiModule/core/full/paladin - ) - -/obj/effect/spawner/lootdrop/aimodule_neutral // These shouldn't allow the AI to start butchering people without reason - name = "neutral AI module spawner" - loot = list( - /obj/item/aiModule/core/full/corp, - /obj/item/aiModule/core/full/maintain, - /obj/item/aiModule/core/full/drone, - /obj/item/aiModule/core/full/peacekeeper, - /obj/item/aiModule/core/full/reporter, - /obj/item/aiModule/core/full/robocop, - /obj/item/aiModule/core/full/liveandletlive, - /obj/item/aiModule/core/full/hulkamania - ) - -/obj/effect/spawner/lootdrop/aimodule_harmful // These will get the shuttle called - name = "harmful AI module spawner" - loot = list( - /obj/item/aiModule/core/full/antimov, - /obj/item/aiModule/core/full/balance, - /obj/item/aiModule/core/full/tyrant, - /obj/item/aiModule/core/full/thermurderdynamic, - /obj/item/aiModule/core/full/damaged, - /obj/item/aiModule/reset/purge - ) - -// Tech storage circuit board spawners - -/obj/effect/spawner/lootdrop/techstorage - name = "generic circuit board spawner" - lootdoubles = FALSE - fan_out_items = TRUE - lootcount = INFINITY - -/obj/effect/spawner/lootdrop/techstorage/service - name = "service circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/arcade/battle, - /obj/item/circuitboard/computer/arcade/orion_trail, - /obj/item/circuitboard/machine/autolathe, - /obj/item/circuitboard/computer/mining, - /obj/item/circuitboard/machine/ore_redemption, - /obj/item/circuitboard/machine/vending/mining_equipment, - /obj/item/circuitboard/machine/microwave, - /obj/item/circuitboard/machine/chem_dispenser/drinks, - /obj/item/circuitboard/machine/chem_dispenser/drinks/beer, - /obj/item/circuitboard/computer/slot_machine - ) - -/obj/effect/spawner/lootdrop/techstorage/rnd - name = "RnD circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/aifixer, - /obj/item/circuitboard/machine/rdserver, - /obj/item/circuitboard/machine/mechfab, - /obj/item/circuitboard/machine/circuit_imprinter/department, - /obj/item/circuitboard/computer/teleporter, - /obj/item/circuitboard/machine/destructive_analyzer, - /obj/item/circuitboard/computer/rdconsole, - /obj/item/circuitboard/computer/nanite_chamber_control, - /obj/item/circuitboard/computer/nanite_cloud_controller, - /obj/item/circuitboard/machine/nanite_chamber, - /obj/item/circuitboard/machine/nanite_programmer, - /obj/item/circuitboard/machine/nanite_program_hub - ) - -/obj/effect/spawner/lootdrop/techstorage/security - name = "security circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/secure_data, - /obj/item/circuitboard/computer/security, - /obj/item/circuitboard/computer/prisoner - ) - -/obj/effect/spawner/lootdrop/techstorage/engineering - name = "engineering circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/atmos_alert, - /obj/item/circuitboard/computer/stationalert, - /obj/item/circuitboard/computer/powermonitor - ) - -/obj/effect/spawner/lootdrop/techstorage/tcomms - name = "tcomms circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/message_monitor, - /obj/item/circuitboard/machine/telecomms/broadcaster, - /obj/item/circuitboard/machine/telecomms/bus, - /obj/item/circuitboard/machine/telecomms/server, - /obj/item/circuitboard/machine/telecomms/receiver, - /obj/item/circuitboard/machine/telecomms/processor, - /obj/item/circuitboard/machine/announcement_system, - /obj/item/circuitboard/computer/comm_server, - /obj/item/circuitboard/computer/comm_monitor - ) - -/obj/effect/spawner/lootdrop/techstorage/medical - name = "medical circuit board spawner" - loot = list( - /obj/item/circuitboard/machine/chem_dispenser, - /obj/item/circuitboard/computer/scan_consolenew, - /obj/item/circuitboard/computer/med_data, - /obj/item/circuitboard/machine/smoke_machine, - /obj/item/circuitboard/machine/chem_master, - /obj/item/circuitboard/machine/dnascanner, - /obj/item/circuitboard/computer/pandemic - ) - -/obj/effect/spawner/lootdrop/techstorage/AI - name = "secure AI circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/aiupload, - /obj/item/circuitboard/computer/borgupload, - /obj/item/circuitboard/aicore - ) - -/obj/effect/spawner/lootdrop/techstorage/command - name = "secure command circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/crew, - /obj/item/circuitboard/computer/communications, - /obj/item/circuitboard/computer/card - ) - -/obj/effect/spawner/lootdrop/techstorage/RnD_secure - name = "secure RnD circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/mecha_control, - /obj/item/circuitboard/computer/apc_control, - /obj/item/circuitboard/computer/robotics - ) - -/obj/effect/spawner/lootdrop/mafia_outfit - name = "mafia outfit spawner" - loot = list( - /obj/effect/spawner/bundle/costume/mafia = 20, - /obj/effect/spawner/bundle/costume/mafia/white = 5, - /obj/effect/spawner/bundle/costume/mafia/checkered = 2, - /obj/effect/spawner/bundle/costume/mafia/beige = 5 - ) - -/obj/effect/spawner/lootdrop/salvage_machine - name = "salvageable machine spawner" - loot = list( - /obj/structure/salvageable/protolathe, - /obj/structure/salvageable/circuit_imprinter, - /obj/structure/salvageable/server, - /obj/structure/salvageable/machine, - /obj/structure/salvageable/autolathe, - /obj/structure/salvageable/computer, - /obj/structure/salvageable/destructive_analyzer - ) - -/obj/effect/spawner/lootdrop/ripley - name = "25% mech 75% wreckage ripley spawner" - loot = list(/obj/mecha/working/ripley/mining = 1, - /obj/structure/mecha_wreckage/ripley = 5) - lootdoubles = FALSE - -/obj/effect/spawner/lootdrop/salvage_50 - name = "50% salvage spawner" - loot = list( - /obj/effect/spawner/lootdrop/maintenance = 13, - /obj/effect/spawner/lootdrop/salvage_machine = 12, - /obj/effect/spawner/lootdrop/ripley = 12, - /obj/structure/closet/crate/secure/loot = 13, - "" = 50 - ) - -//finds the probabilities of items spawning from a loot spawner's loot pool -/obj/item/loot_table_maker - icon = 'icons/effects/landmarks_static.dmi' - icon_state = "random_loot" - var/spawner_to_test = /obj/effect/spawner/lootdrop/maintenance //what lootdrop spawner to use the loot pool of - var/loot_count = 180 //180 is about how much maint loot spawns per map as of 11/14/2019 - //result outputs - var/list/spawned_table //list of all items "spawned" and how many - var/list/stat_table //list of all items "spawned" and their occurrance probability - -/obj/item/loot_table_maker/Initialize() - . = ..() - make_table() - -/obj/item/loot_table_maker/attack_self(mob/user) - to_chat(user, "Loot pool re-rolled.") - make_table() - -/obj/item/loot_table_maker/proc/make_table() - spawned_table = list() - stat_table = list() - var/obj/effect/spawner/lootdrop/spawner_to_table = new spawner_to_test - var/lootpool = spawner_to_table.loot - qdel(spawner_to_table) - for(var/i in 1 to loot_count) - var/loot_spawn = pick_loot(lootpool) - if(!loot_spawn) // WS edit - Support spawn weights of 0 in loot tables and ruins - continue - if(!(loot_spawn in spawned_table)) - spawned_table[loot_spawn] = 1 - else - spawned_table[loot_spawn] += 1 - stat_table += spawned_table - for(var/item in stat_table) - stat_table[item] /= loot_count - -/obj/item/loot_table_maker/proc/pick_loot(lootpool) //selects path from loot table and returns it - var/lootspawn = pickweight_float(lootpool) // WS edit - Fix various startup runtimes - while(islist(lootspawn)) - lootspawn = pickweight_float(lootspawn) // WS edit - Fix various startup runtimes - return lootspawn - -/obj/effect/spawner/lootdrop/stockparts - name = "random good stock parts" - lootcount = 6 - loot = list( - /obj/item/stock_parts/capacitor/adv, - /obj/item/stock_parts/capacitor/quadratic, - /obj/item/stock_parts/capacitor/super, - /obj/item/stock_parts/cell/hyper, - /obj/item/stock_parts/cell/super, - /obj/item/stock_parts/cell/bluespace, - /obj/item/stock_parts/matter_bin/bluespace, - /obj/item/stock_parts/matter_bin/super, - /obj/item/stock_parts/matter_bin/adv, - /obj/item/stock_parts/micro_laser/ultra, - /obj/item/stock_parts/micro_laser/quadultra, - /obj/item/stock_parts/micro_laser/high, - /obj/item/stock_parts/scanning_module/triphasic, - /obj/item/stock_parts/scanning_module/phasic, - /obj/item/stock_parts/scanning_module/adv, - /obj/item/reagent_containers/glass/beaker/bluespace, - /obj/item/reagent_containers/glass/beaker/plastic, - /obj/item/reagent_containers/glass/beaker/large, - /obj/item/stock_parts/manipulator/nano, - /obj/item/stock_parts/manipulator/pico, - /obj/item/stock_parts/manipulator/femto - ) - -/obj/effect/spawner/lootdrop/materials - name = "random bulk materials" - lootcount = 2 - loot = list( - /obj/item/stack/sheet/plastic/fifty, - /obj/item/stack/sheet/bluespace_crystal/twenty, - /obj/item/stack/sheet/cardboard/fifty, - /obj/item/stack/sheet/glass/fifty, - /obj/item/stack/sheet/metal/fifty, - /obj/item/stack/sheet/plasteel/twenty, - /obj/item/stack/sheet/mineral/plasma/fifty, - /obj/item/stack/sheet/mineral/silver/fifty, - /obj/item/stack/sheet/mineral/titanium/fifty, - /obj/item/stack/sheet/mineral/uranium/fifty, - /obj/item/stack/sheet/mineral/wood/fifty, - /obj/item/stack/sheet/mineral/diamond/twenty, - /obj/item/stack/sheet/mineral/gold/fifty, - - /obj/item/stack/cable_coil/red, - /obj/item/stack/rods/fifty - ) - -/obj/effect/spawner/lootdrop/singularitygen - name = "Tesla or Singulo spawner" - lootdoubles = FALSE - - loot = list( - /obj/machinery/the_singularitygen/tesla = 1, - /obj/machinery/the_singularitygen = 1, - ) - -/obj/effect/spawner/lootdrop/stockparts - name = "random good stock parts" - lootcount = 5 - loot = list( - /obj/item/stock_parts/capacitor/adv, - /obj/item/stock_parts/capacitor/quadratic, - /obj/item/stock_parts/capacitor/super, - /obj/item/stock_parts/cell/hyper, - /obj/item/stock_parts/cell/super, - /obj/item/stock_parts/cell/bluespace, - /obj/item/stock_parts/matter_bin/bluespace, - /obj/item/stock_parts/matter_bin/super, - /obj/item/stock_parts/matter_bin/adv, - /obj/item/stock_parts/micro_laser/ultra, - /obj/item/stock_parts/micro_laser/quadultra, - /obj/item/stock_parts/micro_laser/high, - /obj/item/stock_parts/scanning_module/triphasic, - /obj/item/stock_parts/scanning_module/phasic, - /obj/item/stock_parts/scanning_module/adv, - /obj/item/reagent_containers/glass/beaker/bluespace, - /obj/item/reagent_containers/glass/beaker/plastic, - /obj/item/reagent_containers/glass/beaker/large, - /obj/item/stock_parts/manipulator/nano, - /obj/item/stock_parts/manipulator/pico, - /obj/item/stock_parts/manipulator/femto - ) - -/obj/effect/spawner/lootdrop/materials - name = "random materials" - lootcount = 3 - loot = list( - /obj/item/stack/sheet/plastic/fifty, - /obj/item/stack/sheet/plastic/five, - /obj/item/stack/sheet/bluespace_crystal/twenty, - /obj/item/stack/sheet/bluespace_crystal/five, - /obj/item/stack/sheet/cardboard/fifty, - /obj/item/stack/sheet/glass/fifty, - /obj/item/stack/sheet/metal/fifty, - /obj/item/stack/sheet/metal/twenty, - /obj/item/stack/sheet/plasteel/twenty, - /obj/item/stack/sheet/mineral/plasma/fifty, - /obj/item/stack/sheet/mineral/plasma/twenty, - /obj/item/stack/sheet/mineral/silver/fifty, - /obj/item/stack/sheet/mineral/titanium/twenty, - /obj/item/stack/sheet/mineral/uranium/twenty, - /obj/item/stack/sheet/mineral/wood/fifty, - /obj/item/stack/sheet/mineral/diamond/twenty, - /obj/item/stack/sheet/mineral/gold/fifty, - /obj/item/stack/cable_coil/red, - /obj/item/stack/rods/fifty - ) - -/obj/effect/spawner/lootdrop/donut - name = "random donut" //donut :) - lootcount = 1 - loot = list( - /obj/item/reagent_containers/food/snacks/donut/apple = 1, - /obj/item/reagent_containers/food/snacks/donut/berry = 1, - /obj/item/reagent_containers/food/snacks/donut/caramel = 1, - /obj/item/reagent_containers/food/snacks/donut/choco = 1, - /obj/item/reagent_containers/food/snacks/donut/laugh = 1, - /obj/item/reagent_containers/food/snacks/donut/matcha = 1, - /obj/item/reagent_containers/food/snacks/donut/meat = 1, - /obj/item/reagent_containers/food/snacks/donut/plain = 1, - /obj/item/reagent_containers/food/snacks/donut/trumpet = 1, - /obj/item/reagent_containers/food/snacks/donut/blumpkin = 1, - /obj/item/reagent_containers/food/snacks/donut/bungo = 1, - /obj/item/reagent_containers/food/snacks/donut/chaos = 1, - ) - -/obj/effect/spawner/lootdrop/donut/jelly - name = "random jelly donut" - lootcount = 1 - loot = list( - /obj/item/reagent_containers/food/snacks/donut/jelly/berry = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/apple = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/bungo = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/caramel = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/choco = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/laugh = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/matcha = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/trumpet = 1, - ) - -/obj/effect/spawner/lootdrop/donut/slimejelly - name = "random slimejelly donut" - lootcount = 1 - loot = list( - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/caramel = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/laugh = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/matcha = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet = 1, - ) - -/obj/effect/spawner/lootdrop/seeded - name = "GO FORTH AND CULTIVATE" - icon = 'icons/obj/hydroponics/seeds.dmi' - icon_state = "seed"//sneed - loot = list( - /obj/item/seeds/aloe, - /obj/item/seeds/ambrosia, - /obj/item/seeds/apple, - /obj/item/seeds/cotton, - /obj/item/seeds/banana, - /obj/item/seeds/berry, - /obj/item/seeds/cabbage, - /obj/item/seeds/carrot, - /obj/item/seeds/cherry, - /obj/item/seeds/chanter, - /obj/item/seeds/chili, - /obj/item/seeds/cocoapod, - /obj/item/seeds/coffee, - /obj/item/seeds/corn, - /obj/item/seeds/eggplant, - /obj/item/seeds/garlic, - /obj/item/seeds/grape, - /obj/item/seeds/grass, - /obj/item/seeds/lemon, - /obj/item/seeds/lime, - /obj/item/seeds/onion, - /obj/item/seeds/orange, - /obj/item/seeds/peas, - /obj/item/seeds/pineapple, - /obj/item/seeds/potato, - /obj/item/seeds/poppy, - /obj/item/seeds/pumpkin, - /obj/item/seeds/wheat/rice, - /obj/item/seeds/soya, - /obj/item/seeds/sugarcane, - /obj/item/seeds/sunflower, - /obj/item/seeds/tea, - /obj/item/seeds/tobacco, - /obj/item/seeds/tomato, - /obj/item/seeds/tower, - /obj/item/seeds/watermelon, - /obj/item/seeds/wheat, - /obj/item/seeds/whitebeet, - /obj/item/seeds/amanita, - /obj/item/seeds/glowshroom, - /obj/item/seeds/liberty, - /obj/item/seeds/nettle, - /obj/item/seeds/plump, - /obj/item/seeds/reishi, - /obj/item/seeds/cannabis, - /obj/item/seeds/starthistle, - /obj/item/seeds/cherry/bomb, - /obj/item/seeds/berry/glow, - /obj/item/seeds/sunflower/moonflower - ) - -/obj/effect/spawner/lootdrop/flora - name = "random flora spawner" - loot = list( - /obj/structure/flora/tree/chapel, - /obj/structure/flora/tree/pine, - /obj/structure/flora/tree/jungle/small, - /obj/structure/flora/tree/jungle, - /obj/structure/flora/ash/puce, - /obj/structure/flora/ash/fireblossom, - /obj/structure/flora/ash/fern, - /obj/structure/flora/ash/tall_shroom, - /obj/structure/flora/ash/stem_shroom, - /obj/structure/flora/ash/space/voidmelon, - /obj/structure/flora/ash/leaf_shroom, - /obj/structure/flora/junglebush/large, - /obj/structure/flora/junglebush/b, - /obj/structure/flora/junglebush/c, - /obj/structure/flora/ausbushes/fernybush, - /obj/structure/flora/ausbushes/genericbush, - /obj/structure/flora/ausbushes/grassybush, - /obj/structure/flora/ausbushes/leafybush, - /obj/structure/flora/ausbushes/palebush, - /obj/structure/flora/ausbushes/pointybush, - /obj/structure/flora/ausbushes/reedbush, - /obj/structure/flora/ausbushes/stalkybush, - /obj/structure/flora/ausbushes/sunnybush, - /obj/structure/flora/bush, - /obj/structure/flora/grass/jungle, - /obj/structure/flora/junglebush, - /obj/structure/flora/junglebush/b, - /obj/structure/flora/junglebush/c, - /obj/structure/flora/ash, - /obj/structure/flora/ash/cacti, - /obj/structure/flora/ash/cap_shroom, - /obj/structure/flora/ash/chilly, - /obj/structure/flora/tree/palm - ) - lootcount = 1 - -/obj/effect/spawner/lootdrop/flower - name = "random flower spawner" - loot = list( - /obj/structure/flora/ausbushes/brflowers, - /obj/structure/flora/ausbushes/ywflowers, - /obj/structure/flora/ausbushes/ppflowers, - /obj/structure/flora/ausbushes/fullgrass, - /obj/structure/flora/ausbushes/sparsegrass - ) - lootcount = 1 - -/obj/effect/spawner/lootdrop/anomaly - name = "random anomaly spawner" - loot = list( - /obj/effect/anomaly/bluespace/planetary, - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/grav/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/pyro/planetary, - /obj/effect/anomaly/vortex/planetary, - /obj/effect/anomaly/grav/high/planetary, - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/tvstatic/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/phantom/planetary, - /obj/effect/anomaly/melter/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/safe - name = "relatively safe anomaly spawner" - loot = list( - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/pyro/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/phantom/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/dangerous - name = "relatively dangerous anomaly spawner" - loot = list( - /obj/effect/anomaly/bluespace/planetary, - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/grav/planetary, - /obj/effect/anomaly/vortex/planetary, - /obj/effect/anomaly/grav/high/planetary, - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/tvstatic/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/melter/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/big - name = "random big anomaly spawner" - loot = list( - /obj/effect/anomaly/bluespace/big/planetary, - /obj/effect/anomaly/flux/big/planetary, - /obj/effect/anomaly/grav/high/big/planetary, - /obj/effect/anomaly/pyro/big/planetary - - ) - -//handpicked lists relevant to the planets they're on -// /cave lists are made for spawning in cave biomes. Not every anomaly goes well there. We don't have enough anomalies to really populate them all though - -/obj/effect/spawner/lootdrop/anomaly/jungle - name = "Jungle Anomaly Spawner" - loot = list( - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/tvstatic/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/phantom/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/jungle/cave - loot = list( - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/tvstatic/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/phantom/planetary, - ) - -//beaches don't currently have anomalies, but I don't see a reason why they couldn't have *some* - -/obj/effect/spawner/lootdrop/anomaly/beach - name = "Beach anomaly spawner" - loot = list( - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/phantom/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/beach/cave - loot = list( - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/phantom/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/sand - name = "Sand anomaly spawner" - loot = list( - /obj/effect/anomaly/bluespace/planetary, - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/tvstatic/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/phantom/planetary, - /obj/effect/anomaly/melter/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/sand/cave - loot = list( - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/pyro/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/tvstatic/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/phantom/planetary, - /obj/effect/anomaly/melter/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/rock - name = "Rock anomaly spawner" - loot = list( - /obj/effect/anomaly/bluespace/planetary, - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/grav/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/pyro/planetary, - /obj/effect/anomaly/vortex/planetary, - /obj/effect/anomaly/grav/high/planetary, - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/tvstatic/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/phantom/planetary, - /obj/effect/anomaly/melter/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/rock/cave - loot = list( - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/pyro/planetary, - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/phantom/planetary, - /obj/effect/anomaly/melter/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/lava - name = "Lava anomaly spawner" - loot = list( - /obj/effect/anomaly/bluespace/planetary, - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/grav/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/pyro/planetary, - /obj/effect/anomaly/vortex/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/lava/cave - loot = list( - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/pyro/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/ice - name = "Ice anomaly spawner" - loot = list( - /obj/effect/anomaly/bluespace/planetary, - /obj/effect/anomaly/grav/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/vortex/planetary, - /obj/effect/anomaly/grav/high/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/phantom/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/ice/cave - loot = list( - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/grav/high/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/phantom/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/waste - name = "Waste anomaly spawner" - loot = list( - /obj/effect/anomaly/vortex/planetary, - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/melter/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/waste/cave - loot = list( - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/melter/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/storm - loot = list( - /obj/effect/anomaly/flux, - /obj/effect/anomaly/pyro, - /obj/effect/anomaly/sparkler, - /obj/effect/anomaly/veins, - /obj/effect/anomaly/phantom, - /obj/effect/anomaly/melter, - ) - -//wasteplanet things - -/obj/effect/spawner/lootdrop/waste/grille_or_trash - name = "wasteplanet loot spawner" - loot = list( - /obj/structure/grille/broken = 5, - /obj/structure/grille = 5, - /obj/item/cigbutt = 1, - /obj/item/trash/cheesie = 1, - /obj/item/trash/candy = 1, - /obj/item/trash/chips = 1, - /obj/item/reagent_containers/food/snacks/deadmouse = 1, - /obj/item/trash/pistachios = 1, - /obj/item/trash/plate = 1, - /obj/item/trash/popcorn = 1, - /obj/item/trash/raisins = 1, - /obj/item/trash/sosjerky = 1, - /obj/item/trash/syndi_cakes = 1 - ) - -/obj/effect/spawner/lootdrop/waste/mechwreck - name = "wasteplanet mech wreckage" - loot = list( - /obj/structure/mecha_wreckage/ripley = 15, - /obj/structure/mecha_wreckage/ripley/firefighter = 9, - /obj/structure/mecha_wreckage/ripley/mkii = 9, - /obj/structure/mecha_wreckage/ripley/clip = 9 - ) - -/obj/effect/spawner/lootdrop/waste/mechwreck/rare - loot = list( - /obj/structure/mecha_wreckage/durand = 12.5, - /obj/structure/mecha_wreckage/durand/clip = 12.5, - /obj/structure/mecha_wreckage/odysseus = 25, - /obj/structure/mecha_wreckage/gygax = 25 - ) - -/obj/effect/spawner/lootdrop/waste/trash //debatable if this is actually loot - loot = list( - /obj/effect/decal/cleanable/greenglow/filled = 30, - /obj/effect/decal/cleanable/greenglow/ecto = 1, - /obj/effect/decal/cleanable/glass = 30, - /obj/effect/decal/cleanable/glass/plasma = 30, - /obj/effect/decal/cleanable/glass/strange = 30, - /obj/effect/decal/cleanable/molten_object = 30, - /obj/effect/decal/cleanable/molten_object/large = 30, - /obj/effect/decal/cleanable/oil = 30, - /obj/effect/decal/cleanable/oil/slippery = 1, // :) - /obj/effect/decal/cleanable/plastic = 30, - /obj/effect/decal/cleanable/ash = 30, - /obj/effect/decal/cleanable/ash/large = 30, - ) - -/obj/effect/spawner/lootdrop/waste/radiation - loot = list( - /obj/structure/radioactive = 6, - /obj/structure/radioactive/stack = 6, - /obj/structure/radioactive/waste = 6 - ) - -/obj/effect/spawner/lootdrop/waste/radiation/more_rads - loot = list( - /obj/structure/radioactive = 3, - /obj/structure/radioactive/stack = 12, - /obj/structure/radioactive/waste = 12 - ) - -/obj/effect/spawner/lootdrop/waste/atmos_can - loot = list( - /obj/machinery/portable_atmospherics/canister/toxins = 3, - /obj/machinery/portable_atmospherics/canister/carbon_dioxide = 3, - /obj/machinery/portable_atmospherics/canister/nitrogen = 3, - /obj/machinery/portable_atmospherics/canister/oxygen = 3, - /obj/machinery/portable_atmospherics/canister/nitrous_oxide = 1, - /obj/machinery/portable_atmospherics/canister/water_vapor = 1 - ) - -/obj/effect/spawner/lootdrop/waste/atmos_can/rare - loot = list( - /obj/machinery/portable_atmospherics/canister/tritium = 3, - /obj/machinery/portable_atmospherics/canister/pluoxium = 3 - ) - -/obj/effect/spawner/lootdrop/waste/salvageable - loot = list( - /obj/structure/salvageable/machine = 20, - /obj/structure/salvageable/autolathe = 15, - /obj/structure/salvageable/computer = 10, - /obj/structure/salvageable/protolathe = 10, - /obj/structure/salvageable/circuit_imprinter = 8, - /obj/structure/salvageable/destructive_analyzer = 8, - /obj/structure/salvageable/server = 8 - ) - -/obj/effect/spawner/lootdrop/waste/girder - loot = list( - /obj/structure/girder, - /obj/structure/girder/displaced, - /obj/structure/girder/reinforced - ) -/obj/effect/spawner/lootdrop/waste/hivebot - loot = list( - /obj/effect/spawner/lootdrop/salvage/metal, - /obj/effect/spawner/lootdrop/salvage/metal, - /obj/effect/spawner/lootdrop/salvage/metal, - /obj/effect/spawner/lootdrop/salvage/gold, - /obj/effect/spawner/lootdrop/salvage/plasma, - /obj/effect/spawner/lootdrop/salvage/silver, - /obj/effect/spawner/lootdrop/salvage/titanium, - /obj/item/stack/ore/salvage/scrapbluespace, - /obj/item/stack/ore/salvage/scrapbluespace, - /obj/item/stack/ore/salvage/scrapuranium - ) - lootcount = 2 - -/obj/effect/spawner/lootdrop/waste/hivebot/beacon - lootcount = 6 - -/obj/effect/spawner/lootdrop/salvage - name = "salvage mats spawner" - loot = list( - /obj/item/stack/ore/salvage/scrapmetal, - /obj/item/stack/ore/salvage/scrapgold, - /obj/item/stack/ore/salvage/scrapplasma, - /obj/item/stack/ore/salvage/scrapsilver, - /obj/item/stack/ore/salvage/scraptitanium, - /obj/item/stack/ore/salvage/scrapbluespace, - /obj/item/stack/ore/salvage/scrapuranium - ) - -/obj/effect/spawner/lootdrop/salvage/metal - loot = list( - /obj/item/stack/ore/salvage/scrapmetal - ) - -/obj/effect/spawner/lootdrop/salvage/metal/Initialize() - lootcount = pick(list( - 1, - 2, - 3, - 4 - )) - return ..() - -/obj/effect/spawner/lootdrop/salvage/gold - loot = list( - /obj/item/stack/ore/salvage/scrapgold - ) - -/obj/effect/spawner/lootdrop/salvage/gold/Initialize() - lootcount = pick(list( - 1, - 2, - 3, - 4 - )) - return ..() - -/obj/effect/spawner/lootdrop/salvage/plasma - loot = list( - /obj/item/stack/ore/salvage/scrapplasma - ) -/obj/effect/spawner/lootdrop/salvage/plasma/Initialize() - lootcount = pick(list( - 1, - 2, - 3, - 4 - )) - return ..() - - -/obj/effect/spawner/lootdrop/salvage/silver - loot = list( - /obj/item/stack/ore/salvage/scrapsilver - ) -/obj/effect/spawner/lootdrop/salvage/silver/Initialize() - lootcount = pick(list( - 1, - 2, - 3, - 4 - )) - return ..() - - -/obj/effect/spawner/lootdrop/salvage/titanium - loot = list( - /obj/item/stack/ore/salvage/scraptitanium - ) -/obj/effect/spawner/lootdrop/salvage/titanium/Initialize() - lootcount = pick(list( - 1, - 2, - 3, - 4 - )) - return ..() - -/obj/effect/spawner/lootdrop/salvage/bluespace - loot = list( - /obj/item/stack/ore/salvage/scrapbluespace - ) -/obj/effect/spawner/lootdrop/salvage/bluespace/Initialize() - lootcount = pick(list( - 1, - 2, - 3, - 4 - )) - return ..() - -/obj/effect/spawner/lootdrop/salvage/uranium - loot = list( - /obj/item/stack/ore/salvage/scrapuranium - ) -/obj/effect/spawner/lootdrop/salvage/uranium/Initialize() - lootcount = pick(list( - 1, - 2, - 3, - 4 - )) - return ..() - - -//random RND imprinter/protolathe board spawners. Do not use on maps without a good reason -/obj/effect/spawner/lootdrop/randomprotolathe - name = "random departmental protolathe" - loot = list( - /obj/item/circuitboard/machine/protolathe/department/cargo, - /obj/item/circuitboard/machine/protolathe/department/engineering, - /obj/item/circuitboard/machine/protolathe/department/service, - /obj/item/circuitboard/machine/protolathe/department/medical, - /obj/item/circuitboard/machine/protolathe/department/science, - /obj/item/circuitboard/machine/protolathe/department/security - ) - -/obj/effect/spawner/lootdrop/randomimprinter - name = "random departmental circuit imprinter" - loot = list( - /obj/item/circuitboard/machine/circuit_imprinter/department/cargo, - /obj/item/circuitboard/machine/circuit_imprinter/department/engi, - /obj/item/circuitboard/machine/circuit_imprinter/department/civ, - /obj/item/circuitboard/machine/circuit_imprinter/department/med, - /obj/item/circuitboard/machine/circuit_imprinter/department/science, - /obj/item/circuitboard/machine/circuit_imprinter/department/sec - ) - -/obj/effect/spawner/lootdrop/randomtechfab - name = "random departmental techfab" - loot = list( - /obj/item/circuitboard/machine/techfab/department/service, - /obj/item/circuitboard/machine/techfab/department/cargo, - /obj/item/circuitboard/machine/techfab/department/engineering, - /obj/item/circuitboard/machine/techfab/department/service, - /obj/item/circuitboard/machine/techfab/department/medical, - /obj/item/circuitboard/machine/techfab/department/science, - /obj/item/circuitboard/machine/techfab/department/security - ) - -/obj/effect/spawner/lootdrop/ration - loot = list ( - /obj/item/storage/ration/vegan_chili = 5, - /obj/item/storage/ration/shredded_beef = 5, - /obj/item/storage/ration/pork_spaghetti = 5, - /obj/item/storage/ration/fried_fish = 5, - /obj/item/storage/ration/beef_strips = 5, - /obj/item/storage/ration/chili_macaroni = 5, - /obj/item/storage/ration/chicken_wings_hot_sauce = 5, - /obj/item/storage/ration/fish_stew = 5, - /obj/item/storage/ration/lemon_pepper_chicken = 5, - /obj/item/storage/ration/sausage_peppers_onions = 5, - /obj/item/storage/ration/pork_dumplings_chili_sauce = 5, - /obj/item/storage/ration/battered_fish_sticks = 5, - /obj/item/storage/ration/assorted_salted_offal = 5, - /obj/item/storage/ration/maple_pork_sausage_patty = 5, - /obj/item/storage/ration/pepper_jack_beef_patty = 5, - /obj/item/storage/ration/beef_goulash = 5, - /obj/item/storage/ration/pepperoni_pizza_slice = 5, - /obj/item/storage/ration/blackened_calamari = 5, - /obj/item/storage/ration/elbow_macaroni = 5, - /obj/item/storage/ration/cheese_pizza_slice = 5, - /obj/item/storage/ration/crayons = 2 // :) - ) diff --git a/code/game/objects/effects/spawners/mobspawner.dm b/code/game/objects/effects/spawners/mobspawner.dm index 187b7c155fe..2161ebd06bb 100644 --- a/code/game/objects/effects/spawners/mobspawner.dm +++ b/code/game/objects/effects/spawners/mobspawner.dm @@ -1,11 +1,11 @@ -/obj/effect/spawner/lootdrop/randomthreat +/obj/effect/spawner/random/randomthreat var/static/mob_category = rand(1, 3) -/obj/effect/spawner/lootdrop/randomthreat/Initialize(mapload) +/obj/effect/spawner/random/randomthreat/Initialize(mapload) switch(mob_category) if(1) loot = list( - /obj/effect/spawner/lootdrop/hivebotspawner + /obj/effect/spawner/random/hivebotspawner ) if(2) loot = list( @@ -13,28 +13,28 @@ ) if(3) loot = list( - /obj/effect/spawner/lootdrop/spiderspawner + /obj/effect/spawner/random/spiderspawner ) return ..() -/obj/effect/spawner/lootdrop/xenospawner +/obj/effect/spawner/random/xenospawner name = "Xenomorph spawner" loot = list( /mob/living/simple_animal/hostile/alien = 0.3, /mob/living/simple_animal/hostile/alien/drone = 0.2, /mob/living/simple_animal/hostile/alien/sentinel = 0.3, - /obj/effect/spawner/lootdrop/xenoqueenspawner = 0.1 + /obj/effect/spawner/random/xenoqueenspawner = 0.1 ) -/obj/effect/spawner/lootdrop/xenoqueenspawner +/obj/effect/spawner/random/xenoqueenspawner name = "xenomorph queen spawner" loot = list( /mob/living/simple_animal/hostile/alien/queen = 0.2, //regular queen mob isn't actually that strong /mob/living/simple_animal/hostile/alien/queen/large = 0.8 ) -/obj/effect/spawner/lootdrop/hivebotspawner +/obj/effect/spawner/random/hivebotspawner name = "Hivebot spawner" loot = list( @@ -42,7 +42,7 @@ /mob/living/simple_animal/hostile/hivebot, ) -/obj/effect/spawner/lootdrop/spiderspawner +/obj/effect/spawner/random/spiderspawner name = "Spider spawner" loot = list( @@ -51,29 +51,29 @@ /mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper, ) -/obj/effect/spawner/lootdrop/thirtyfive_percent_borerspawner +/obj/effect/spawner/random/thirtyfive_percent_borerspawner name = "35 percent neutered borer spawner" loot = list( /mob/living/simple_animal/borer/sterile = 0.35, - /obj/effect/spawner/lootdrop/maintenance = 0.65, + /obj/effect/spawner/random/maintenance = 0.65, ) -/obj/effect/spawner/lootdrop/chicken +/obj/effect/spawner/random/chicken name = "chicken spawner" loot = list( /mob/living/simple_animal/chicken ) -/obj/effect/spawner/lootdrop/chicken/jungle +/obj/effect/spawner/random/chicken/jungle name = "jungle chicken spawner" loot = list( /mob/living/simple_animal/hostile/retaliate/chicken ) -/obj/effect/spawner/lootdrop/chicken/jungle/flock +/obj/effect/spawner/random/chicken/jungle/flock loot = list( /mob/living/simple_animal/hostile/retaliate/chicken ) - lootcount = 7 - lootdoubles = TRUE + spawn_loot_count = 7 + spawn_loot_double = TRUE diff --git a/code/game/objects/effects/spawners/random/ai_module.dm b/code/game/objects/effects/spawners/random/ai_module.dm new file mode 100644 index 00000000000..7f5eed59e4a --- /dev/null +++ b/code/game/objects/effects/spawners/random/ai_module.dm @@ -0,0 +1,41 @@ +/obj/effect/spawner/random/aimodule + name = "AI module spawner" + desc = "State laws human." + icon_state = "circuit" + spawn_loot_double = FALSE + spawn_loot_count = 3 + spawn_loot_split = TRUE + +/obj/effect/spawner/random/aimodule_harmless // These shouldn't allow the AI to start butchering people + name = "harmless AI module spawner" + loot = list( + /obj/item/aiModule/core/full/asimov, + /obj/item/aiModule/core/full/asimovpp, + /obj/item/aiModule/core/full/hippocratic, + /obj/item/aiModule/core/full/paladin_devotion, + /obj/item/aiModule/core/full/paladin + ) + +/obj/effect/spawner/random/aimodule_neutral // These shouldn't allow the AI to start butchering people without reason + name = "neutral AI module spawner" + loot = list( + /obj/item/aiModule/core/full/corp, + /obj/item/aiModule/core/full/maintain, + /obj/item/aiModule/core/full/drone, + /obj/item/aiModule/core/full/peacekeeper, + /obj/item/aiModule/core/full/reporter, + /obj/item/aiModule/core/full/robocop, + /obj/item/aiModule/core/full/liveandletlive, + /obj/item/aiModule/core/full/hulkamania + ) + +/obj/effect/spawner/random/aimodule_harmful // These will get the shuttle called + name = "harmful AI module spawner" + loot = list( + /obj/item/aiModule/core/full/antimov, + /obj/item/aiModule/core/full/balance, + /obj/item/aiModule/core/full/tyrant, + /obj/item/aiModule/core/full/thermurderdynamic, + /obj/item/aiModule/core/full/damaged, + /obj/item/aiModule/reset/purge + ) diff --git a/code/game/objects/effects/spawners/random/anomaly.dm b/code/game/objects/effects/spawners/random/anomaly.dm new file mode 100644 index 00000000000..aa8fa472de2 --- /dev/null +++ b/code/game/objects/effects/spawners/random/anomaly.dm @@ -0,0 +1,222 @@ +/obj/effect/spawner/random/anomaly + name = "random anomaly spawner" + icon_state = "anomaly" + loot = list( + /obj/effect/anomaly/bluespace/planetary, + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/grav/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/pyro/planetary, + /obj/effect/anomaly/vortex/planetary, + /obj/effect/anomaly/grav/high/planetary, + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/tvstatic/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/phantom/planetary, + /obj/effect/anomaly/melter/planetary, + /obj/effect/anomaly/transfusion/planetary, + ) + +/obj/effect/spawner/random/anomaly/safe + name = "relatively safe anomaly spawner" + loot = list( + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/pyro/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/phantom/planetary, + /obj/effect/anomaly/transfusion/planetary, + ) + +/obj/effect/spawner/random/anomaly/dangerous + name = "relatively dangerous anomaly spawner" + loot = list( + /obj/effect/anomaly/bluespace/planetary, + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/grav/planetary, + /obj/effect/anomaly/vortex/planetary, + /obj/effect/anomaly/grav/high/planetary, + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/tvstatic/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/melter/planetary, + ) + +/obj/effect/spawner/random/anomaly/big + name = "random big anomaly spawner" + icon_state = "big_anomaly" + loot = list( + /obj/effect/anomaly/bluespace/big/planetary, + /obj/effect/anomaly/flux/big/planetary, + /obj/effect/anomaly/grav/high/big/planetary, + /obj/effect/anomaly/pyro/big/planetary + + ) + +//handpicked lists relevant to the planets they're on +// /cave lists are made for spawning in cave biomes. Not every anomaly goes well there. We don't have enough anomalies to really populate them all though + +/obj/effect/spawner/random/anomaly/jungle + name = "Jungle Anomaly Spawner" + loot = list( + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/tvstatic/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/phantom/planetary, + ) + +/obj/effect/spawner/random/anomaly/jungle/cave + loot = list( + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/tvstatic/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/phantom/planetary, + ) + +//beaches don't currently have anomalies, but I don't see a reason why they couldn't have *some* + +/obj/effect/spawner/random/anomaly/beach + name = "Beach anomaly spawner" + loot = list( + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/phantom/planetary, + ) + +/obj/effect/spawner/random/anomaly/beach/cave + loot = list( + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/phantom/planetary, + ) + +/obj/effect/spawner/random/anomaly/sand + name = "Sand anomaly spawner" + loot = list( + /obj/effect/anomaly/bluespace/planetary, + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/tvstatic/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/phantom/planetary, + /obj/effect/anomaly/melter/planetary, + ) + +/obj/effect/spawner/random/anomaly/sand/cave + loot = list( + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/pyro/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/tvstatic/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/phantom/planetary, + /obj/effect/anomaly/melter/planetary, + ) + +/obj/effect/spawner/random/anomaly/rock + name = "Rock anomaly spawner" + loot = list( + /obj/effect/anomaly/bluespace/planetary, + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/grav/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/pyro/planetary, + /obj/effect/anomaly/vortex/planetary, + /obj/effect/anomaly/grav/high/planetary, + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/tvstatic/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/phantom/planetary, + /obj/effect/anomaly/melter/planetary, + ) + +/obj/effect/spawner/random/anomaly/rock/cave + loot = list( + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/pyro/planetary, + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/phantom/planetary, + /obj/effect/anomaly/melter/planetary, + ) + +/obj/effect/spawner/random/anomaly/lava + name = "Lava anomaly spawner" + loot = list( + /obj/effect/anomaly/bluespace/planetary, + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/grav/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/pyro/planetary, + /obj/effect/anomaly/vortex/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + ) + +/obj/effect/spawner/random/anomaly/lava/cave + loot = list( + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/pyro/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + ) + +/obj/effect/spawner/random/anomaly/ice + name = "Ice anomaly spawner" + loot = list( + /obj/effect/anomaly/bluespace/planetary, + /obj/effect/anomaly/grav/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/vortex/planetary, + /obj/effect/anomaly/grav/high/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/phantom/planetary, + ) + +/obj/effect/spawner/random/anomaly/ice/cave + loot = list( + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/grav/high/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/phantom/planetary, + ) + +/obj/effect/spawner/random/anomaly/waste + name = "Waste anomaly spawner" + loot = list( + /obj/effect/anomaly/vortex/planetary, + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/melter/planetary, + ) + +/obj/effect/spawner/random/anomaly/waste/cave + loot = list( + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/melter/planetary, + ) + +/obj/effect/spawner/random/anomaly/storm + loot = list( + /obj/effect/anomaly/flux/storm, + /obj/effect/anomaly/pyro/storm, + /obj/effect/anomaly/sparkler, + /obj/effect/anomaly/veins, + /obj/effect/anomaly/phantom, + /obj/effect/anomaly/melter, + ) diff --git a/code/game/objects/effects/spawners/random/bedsheet.dm b/code/game/objects/effects/spawners/random/bedsheet.dm new file mode 100644 index 00000000000..f8a53fffd2c --- /dev/null +++ b/code/game/objects/effects/spawners/random/bedsheet.dm @@ -0,0 +1,33 @@ +/obj/effect/spawner/random/bedsheet + name = "random dorm bedsheet" + icon_state = "random_bedsheet" + loot = list( + /obj/item/bedsheet, + /obj/item/bedsheet/blue, + /obj/item/bedsheet/green, + /obj/item/bedsheet/grey, + /obj/item/bedsheet/orange, + /obj/item/bedsheet/purple, + /obj/item/bedsheet/red, + /obj/item/bedsheet/yellow, + /obj/item/bedsheet/brown, + /obj/item/bedsheet/black, + /obj/item/bedsheet/rainbow + ) + +/obj/effect/spawner/random/bedsheet/double + name = "random dorm double bedsheet" + icon_state = "random_doublesheet" + loot = list( + /obj/item/bedsheet/double, + /obj/item/bedsheet/double/blue, + /obj/item/bedsheet/double/green, + /obj/item/bedsheet/double/grey, + /obj/item/bedsheet/double/orange, + /obj/item/bedsheet/double/purple, + /obj/item/bedsheet/double/red, + /obj/item/bedsheet/double/yellow, + /obj/item/bedsheet/double/brown, + /obj/item/bedsheet/double/black, + /obj/item/bedsheet/double/rainbow + ) diff --git a/code/game/objects/effects/spawners/random/boards.dm b/code/game/objects/effects/spawners/random/boards.dm new file mode 100644 index 00000000000..0104d17326d --- /dev/null +++ b/code/game/objects/effects/spawners/random/boards.dm @@ -0,0 +1,245 @@ +// Tech storage circuit board spawners + +/obj/effect/spawner/random/techstorage + name = "generic circuit board spawner" + icon_state = "circuit" + spawn_loot_split = TRUE + spawn_all_loot = TRUE + +/obj/effect/spawner/random/techstorage/service + name = "service circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/arcade/battle, + /obj/item/circuitboard/computer/arcade/orion_trail, + /obj/item/circuitboard/machine/autolathe, + /obj/item/circuitboard/computer/mining, + /obj/item/circuitboard/machine/ore_redemption, + /obj/item/circuitboard/machine/vending/mining_equipment, + /obj/item/circuitboard/machine/microwave, + /obj/item/circuitboard/machine/chem_dispenser/drinks, + /obj/item/circuitboard/machine/chem_dispenser/drinks/beer, + /obj/item/circuitboard/computer/slot_machine + ) + +/obj/effect/spawner/random/techstorage/rnd + name = "RnD circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/aifixer, + /obj/item/circuitboard/machine/rdserver, + /obj/item/circuitboard/machine/mechfab, + /obj/item/circuitboard/machine/circuit_imprinter/department, + /obj/item/circuitboard/computer/teleporter, + /obj/item/circuitboard/machine/destructive_analyzer, + /obj/item/circuitboard/computer/rdconsole, + /obj/item/circuitboard/computer/nanite_chamber_control, + /obj/item/circuitboard/computer/nanite_cloud_controller, + /obj/item/circuitboard/machine/nanite_chamber, + /obj/item/circuitboard/machine/nanite_programmer, + /obj/item/circuitboard/machine/nanite_program_hub + ) + +/obj/effect/spawner/random/techstorage/security + name = "security circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/secure_data, + /obj/item/circuitboard/computer/security, + /obj/item/circuitboard/computer/prisoner + ) + +/obj/effect/spawner/random/techstorage/engineering + name = "engineering circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/atmos_alert, + /obj/item/circuitboard/computer/stationalert, + /obj/item/circuitboard/computer/powermonitor + ) + +/obj/effect/spawner/random/techstorage/tcomms + name = "tcomms circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/message_monitor, + /obj/item/circuitboard/machine/telecomms/broadcaster, + /obj/item/circuitboard/machine/telecomms/bus, + /obj/item/circuitboard/machine/telecomms/server, + /obj/item/circuitboard/machine/telecomms/receiver, + /obj/item/circuitboard/machine/telecomms/processor, + /obj/item/circuitboard/machine/announcement_system, + /obj/item/circuitboard/computer/comm_server, + /obj/item/circuitboard/computer/comm_monitor + ) + +/obj/effect/spawner/random/techstorage/medical + name = "medical circuit board spawner" + loot = list( + /obj/item/circuitboard/machine/chem_dispenser, + /obj/item/circuitboard/computer/scan_consolenew, + /obj/item/circuitboard/computer/med_data, + /obj/item/circuitboard/machine/smoke_machine, + /obj/item/circuitboard/machine/chem_master, + /obj/item/circuitboard/machine/dnascanner, + /obj/item/circuitboard/computer/pandemic + ) + +/obj/effect/spawner/random/techstorage/ai_all + name = "secure AI circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/aiupload, + /obj/item/circuitboard/computer/borgupload, + /obj/item/circuitboard/aicore + ) + +/obj/effect/spawner/random/techstorage/command + name = "secure command circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/crew, + /obj/item/circuitboard/computer/communications, + /obj/item/circuitboard/computer/card + ) + +/obj/effect/spawner/random/techstorage/rnd_secure + name = "secure RnD circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/mecha_control, + /obj/item/circuitboard/computer/apc_control, + /obj/item/circuitboard/computer/robotics + ) + +//random RND imprinter/protolathe board spawners. Do not use on maps without a good reason +/obj/effect/spawner/random/circuit/protolathe + name = "random departmental protolathe" + icon_state = "circuit" + loot = list( + /obj/item/circuitboard/machine/protolathe/department/cargo, + /obj/item/circuitboard/machine/protolathe/department/engineering, + /obj/item/circuitboard/machine/protolathe/department/service, + /obj/item/circuitboard/machine/protolathe/department/medical, + /obj/item/circuitboard/machine/protolathe/department/science, + /obj/item/circuitboard/machine/protolathe/department/security + ) + +/obj/effect/spawner/random/circuit/imprinter + name = "random departmental circuit imprinter" + icon_state = "circuit" + loot = list( + /obj/item/circuitboard/machine/circuit_imprinter/department/cargo, + /obj/item/circuitboard/machine/circuit_imprinter/department/engi, + /obj/item/circuitboard/machine/circuit_imprinter/department/civ, + /obj/item/circuitboard/machine/circuit_imprinter/department/med, + /obj/item/circuitboard/machine/circuit_imprinter/department/science, + /obj/item/circuitboard/machine/circuit_imprinter/department/sec + ) + +/obj/effect/spawner/random/circuit/techfab + name = "random departmental techfab" + icon_state = "circuit" + loot = list( + /obj/item/circuitboard/machine/techfab/department/service, + /obj/item/circuitboard/machine/techfab/department/cargo, + /obj/item/circuitboard/machine/techfab/department/engineering, + /obj/item/circuitboard/machine/techfab/department/service, + /obj/item/circuitboard/machine/techfab/department/medical, + /obj/item/circuitboard/machine/techfab/department/science, + /obj/item/circuitboard/machine/techfab/department/security + ) + +/obj/effect/spawner/random/rnd + name = "random RND spawner" + icon_state = "circuit" + loot = list( + /obj/item/storage/box/rndmining, + /obj/item/storage/box/rndengi, + /obj/item/storage/box/rndsec, + /obj/item/storage/box/rndciv, + /obj/item/storage/box/rndmed + ) + +/obj/effect/spawner/random/circuit/machine/common + loot = list( + /obj/item/circuitboard/machine/autolathe = 5, + /obj/item/circuitboard/machine/biogenerator = 5, + /obj/item/circuitboard/machine/cell_charger = 5, + /obj/item/circuitboard/machine/chem_heater = 5, + /obj/item/circuitboard/machine/chem_master = 5, + /obj/item/circuitboard/machine/clonescanner = 5, + /obj/item/circuitboard/machine/cryo_tube = 5, + /obj/item/circuitboard/machine/cyborgrecharger = 5, + /obj/item/circuitboard/machine/deep_fryer = 5, + /obj/item/circuitboard/machine/experimentor = 5, + /obj/item/circuitboard/machine/holopad = 5, + /obj/item/circuitboard/machine/hydroponics = 5, + /obj/item/circuitboard/machine/limbgrower = 5, + /obj/item/circuitboard/machine/ltsrbt = 5, + /obj/item/circuitboard/machine/mech_recharger = 5, + /obj/item/circuitboard/machine/mechfab = 5, + /obj/item/circuitboard/machine/medical_kiosk = 5, + /obj/item/circuitboard/machine/medipen_refiller = 5, + /obj/item/circuitboard/machine/microwave = 5, + /obj/item/circuitboard/machine/ore_redemption = 5, + /obj/item/circuitboard/machine/ore_silo = 5, + /obj/item/circuitboard/machine/reagentgrinder = 5, + /obj/item/circuitboard/machine/recharger = 5, + /obj/item/circuitboard/machine/seed_extractor = 5, + /obj/item/circuitboard/machine/selling_pad = 5, + /obj/item/circuitboard/machine/emitter = 5, + ) + +/obj/effect/spawner/random/circuit + icon_state = "circuit" + +/obj/effect/spawner/random/circuit/machine/rare + loot = list( + /obj/item/circuitboard/aicore = 5, + /obj/item/circuitboard/machine/chem_dispenser = 5, + /obj/item/circuitboard/machine/circuit_imprinter = 5, + /obj/item/circuitboard/machine/protolathe = 5, + /obj/item/circuitboard/machine/clonepod/experimental = 5, + /obj/item/circuitboard/machine/rad_collector = 5, + /obj/item/circuitboard/machine/launchpad = 5, + ) + +/obj/effect/spawner/random/circuit/machine/mech + loot = list( + /obj/item/circuitboard/mecha/ripley/main = 100, + /obj/item/circuitboard/mecha/ripley/peripherals = 100, + /obj/item/circuitboard/mecha/honker/main = 5, + /obj/item/circuitboard/mecha/honker/peripherals = 5, + /obj/item/circuitboard/mecha/odysseus/main = 5, + /obj/item/circuitboard/mecha/odysseus/peripherals = 5, + /obj/item/circuitboard/mecha/gygax/main = 1, + /obj/item/circuitboard/mecha/gygax/peripherals = 1, + /obj/item/circuitboard/mecha/gygax/targeting = 1, + /obj/item/circuitboard/mecha/durand/main = 1, + /obj/item/circuitboard/mecha/durand/peripherals = 1, + /obj/item/circuitboard/mecha/durand/targeting = 1, + ) + +//COMPUTER +/obj/effect/spawner/random/circuit/computer/common + loot = list( + /obj/item/circuitboard/computer/aifixer = 5, + /obj/item/circuitboard/computer/arcade/amputation = 5, + /obj/item/circuitboard/computer/arcade/battle = 5, + /obj/item/circuitboard/computer/arcade/orion_trail = 5, + /obj/item/circuitboard/computer/atmos_alert = 5, + /obj/item/circuitboard/computer/card = 5, + /obj/item/circuitboard/computer/cloning = 5, + /obj/item/circuitboard/computer/communications = 5, + /obj/item/circuitboard/computer/launchpad_console = 5, + /obj/item/circuitboard/computer/mech_bay_power_console = 5, + /obj/item/circuitboard/computer/pandemic = 5, + /obj/item/circuitboard/computer/powermonitor/secret = 5, + /obj/item/circuitboard/computer/prototype_cloning = 5, + /obj/item/circuitboard/computer/stationalert = 5, + /obj/item/circuitboard/computer/teleporter = 5, + /obj/item/circuitboard/computer/operating = 5, + /obj/item/circuitboard/computer/crew = 5, + /obj/item/circuitboard/computer/scan_consolenew = 5, + ) + +/obj/effect/spawner/random/circuit/computer/rare + loot = list( + /obj/item/circuitboard/computer/cargo = 5, + /obj/item/circuitboard/computer/communications = 5, + /obj/item/circuitboard/computer/shuttle/helm = 5, + /obj/item/circuitboard/computer/med_data = 5, + ) diff --git a/code/game/objects/effects/spawners/random/bureaucracy.dm b/code/game/objects/effects/spawners/random/bureaucracy.dm new file mode 100644 index 00000000000..b55c9dc7b36 --- /dev/null +++ b/code/game/objects/effects/spawners/random/bureaucracy.dm @@ -0,0 +1,68 @@ +/obj/effect/spawner/random/bureaucracy + name = "bureaucracy loot spawner" + desc = "For the exotic art of paper shuffling." + +/obj/effect/spawner/random/bureaucracy/pen + name = "pen spawner" + icon_state = "pen" + loot = list( + /obj/item/pen = 30, + /obj/item/pen/blue = 5, + /obj/item/pen/red = 5, + /obj/item/flashlight/pen = 5, + /obj/item/pen/fourcolor = 2, + /obj/item/pen/fountain = 1, + ) + +/obj/effect/spawner/random/bureaucracy/stamp + name = "stamp spawner" + icon_state = "stamp" + loot = list( + /obj/item/stamp = 3, + /obj/item/stamp/denied = 1, + ) + +/obj/effect/spawner/random/bureaucracy/crayon + name = "crayon spawner" + icon_state = "crayon" + loot = list( + /obj/item/toy/crayon/red, + /obj/item/toy/crayon/orange, + /obj/item/toy/crayon/yellow, + /obj/item/toy/crayon/green, + /obj/item/toy/crayon/blue, + /obj/item/toy/crayon/purple, + /obj/item/toy/crayon/black, + /obj/item/toy/crayon/white, + ) + +/obj/effect/spawner/random/bureaucracy/paper + name = "paper spawner" + icon_state = "paper" + loot = list( + /obj/item/paper = 20, + /obj/item/paper/crumpled = 2, + /obj/item/paper/crumpled/bloody = 2, + /obj/item/paper/crumpled/muddy = 2, + /obj/item/paper/construction = 1, + /obj/item/paper/carbon = 1, + ) + +/obj/effect/spawner/random/bureaucracy/briefcase + name = "briefcase spawner" + icon_state = "briefcase" + loot = list( + /obj/item/storage/briefcase = 3, + /obj/item/storage/briefcase/lawyer = 1, + ) + +/obj/effect/spawner/random/bureaucracy/folder + name = "folder spawner" + icon_state = "folder" + loot = list( + /obj/item/folder/blue, + /obj/item/folder/red, + /obj/item/folder/yellow, + /obj/item/folder/white, + /obj/item/folder, + ) diff --git a/code/game/objects/effects/spawners/random/clothing.dm b/code/game/objects/effects/spawners/random/clothing.dm new file mode 100644 index 00000000000..e5137f9e507 --- /dev/null +++ b/code/game/objects/effects/spawners/random/clothing.dm @@ -0,0 +1,67 @@ +/obj/effect/spawner/random/clothing + name = "clothing loot spawner" + desc = "Time to look pretty." + icon_state = "suit" + +/obj/effect/spawner/random/clothing/gloves + name = "random gloves" + desc = "These gloves are supposed to be a random color..." + icon_state = "gloves" + loot = list( + /obj/item/clothing/gloves/color/orange, + /obj/item/clothing/gloves/color/red, + /obj/item/clothing/gloves/color/blue, + /obj/item/clothing/gloves/color/purple, + /obj/item/clothing/gloves/color/green, + /obj/item/clothing/gloves/color/grey, + /obj/item/clothing/gloves/color/light_brown, + /obj/item/clothing/gloves/color/brown, + /obj/item/clothing/gloves/color/white, + /obj/item/clothing/gloves/color/rainbow + ) + +/obj/effect/spawner/random/clothing/costume + name = "random costume spawner" + icon_state = "costume" + loot_subtype_path = /obj/effect/spawner/costume + loot = list() + +/obj/effect/spawner/random/clothing/beret_or_rabbitears + name = "beret or rabbit ears spawner" + loot = list( + /obj/item/clothing/head/beret + ) + +/obj/effect/spawner/random/clothing/bowler_or_that + name = "bowler or top hat spawner" + loot = list( + /obj/item/clothing/head/that + ) + +/obj/effect/spawner/random/clothing/kittyears_or_rabbitears + name = "kitty ears or rabbit ears spawner" + loot = list( + /obj/item/clothing/head/kitty + ) + +/obj/effect/spawner/random/clothing/pirate_or_bandana + name = "pirate hat or bandana spawner" + loot = list( + /obj/item/clothing/head/pirate, + /obj/item/clothing/head/bandana + ) + +/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask + name = "25% cyborg mask spawner" + spawn_loot_chance = 25 + loot = list(/obj/item/clothing/mask/gas/cyborg) + +/obj/effect/spawner/random/clothing/mafia_outfit + name = "mafia outfit spawner" + icon_state = "costume" + loot = list( + /obj/effect/spawner/costume/mafia = 20, + /obj/effect/spawner/costume/mafia/white = 5, + /obj/effect/spawner/costume/mafia/checkered = 2, + /obj/effect/spawner/costume/mafia/beige = 5 + ) diff --git a/code/game/objects/effects/spawners/random/decoration.dm b/code/game/objects/effects/spawners/random/decoration.dm new file mode 100644 index 00000000000..7af7af7fe85 --- /dev/null +++ b/code/game/objects/effects/spawners/random/decoration.dm @@ -0,0 +1,118 @@ +/obj/effect/spawner/random/decoration + name = "decoration loot spawner" + desc = "Time for some bling bling." + icon_state = "lamp" + +/obj/effect/spawner/random/decoration/material + name = "decoration material spawner" + icon_state = "tile" + loot = list( + /obj/item/stack/sheet/sandblock{amount = 30} = 25, + /obj/item/stack/sheet/mineral/wood{amount = 30} = 25, + /obj/item/stack/tile/noslip{amount = 20} = 10, + /obj/item/stack/sheet/plastic{amount = 30} = 10, + /obj/item/stack/tile/pod{amount = 20} = 4, + /obj/item/stack/tile/pod/light{amount = 20} = 3, + /obj/item/stack/tile/pod/dark{amount = 20} = 3, + ) + +/obj/effect/spawner/random/decoration/carpet + name = "carpet spawner" + icon_state = "carpet" + loot = list( + /obj/item/stack/tile/carpet{amount = 30} = 35, + /obj/item/stack/tile/carpet/black{amount = 30} = 20, + ) + +/obj/effect/spawner/random/decoration/ornament + name = "ornament spawner" + icon_state = "lamp" + loot = list( + /obj/item/flashlight/lamp = 35, + /obj/item/flashlight/lamp/green = 35, + /obj/item/flashlight/lantern = 10, + /obj/item/flashlight/lamp/bananalamp = 5, + ) +/obj/effect/spawner/random/decoration/glowstick + name = "random colored glowstick" + icon_state = "glowstick" + loot_type_path = /obj/item/flashlight/glowstick + loot = list() + +/obj/effect/spawner/random/decoration/glowstick/on + name = "random colored glowstick (on)" + icon_state = "glowstick" + +/obj/effect/spawner/random/decoration/glowstick/on/make_item(spawn_loc, type_path_to_make) + . = ..() + + var/obj/item/flashlight/glowstick = . + + glowstick.set_light_on(TRUE) + +/obj/effect/spawner/random/decoration/paint + name = "paint spawner" + icon_state = "paint" + loot_subtype_path = /obj/item/paint + loot = list() + +/obj/effect/spawner/random/decoration/flower + name = "random grown flower spawner" + icon_state = "flower" + loot = list( + /obj/item/reagent_containers/food/snacks/grown/poppy, + /obj/item/reagent_containers/food/snacks/grown/harebell, + /obj/item/reagent_containers/food/snacks/grown/trumpet, + ) + +/obj/effect/spawner/random/flora + name = "random flora spawner" + loot = list( + /obj/structure/flora/tree/chapel, + /obj/structure/flora/tree/pine, + /obj/structure/flora/tree/jungle/small, + /obj/structure/flora/tree/jungle, + /obj/structure/flora/ash/puce, + /obj/structure/flora/ash/fireblossom, + /obj/structure/flora/ash/fern, + /obj/structure/flora/ash/tall_shroom, + /obj/structure/flora/ash/stem_shroom, + /obj/structure/flora/ash/space/voidmelon, + /obj/structure/flora/ash/leaf_shroom, + /obj/structure/flora/junglebush/large, + /obj/structure/flora/junglebush/b, + /obj/structure/flora/junglebush/c, + /obj/structure/flora/ausbushes/fernybush, + /obj/structure/flora/ausbushes/genericbush, + /obj/structure/flora/ausbushes/grassybush, + /obj/structure/flora/ausbushes/leafybush, + /obj/structure/flora/ausbushes/palebush, + /obj/structure/flora/ausbushes/pointybush, + /obj/structure/flora/ausbushes/reedbush, + /obj/structure/flora/ausbushes/stalkybush, + /obj/structure/flora/ausbushes/sunnybush, + /obj/structure/flora/bush, + /obj/structure/flora/grass/jungle, + /obj/structure/flora/junglebush, + /obj/structure/flora/junglebush/b, + /obj/structure/flora/junglebush/c, + /obj/structure/flora/ash, + /obj/structure/flora/ash/cacti, + /obj/structure/flora/ash/cap_shroom, + /obj/structure/flora/ash/chilly, + /obj/structure/flora/tree/palm + ) + spawn_loot_count = 1 + +/obj/effect/spawner/random/flower + name = "random flower spawner" + icon_state = "flower" + loot = list( + /obj/structure/flora/ausbushes/brflowers, + /obj/structure/flora/ausbushes/ywflowers, + /obj/structure/flora/ausbushes/ppflowers, + /obj/structure/flora/ausbushes/fullgrass, + /obj/structure/flora/ausbushes/sparsegrass + ) + spawn_loot_count = 1 + diff --git a/code/game/objects/effects/spawners/random/engineering.dm b/code/game/objects/effects/spawners/random/engineering.dm new file mode 100644 index 00000000000..b5c9636380f --- /dev/null +++ b/code/game/objects/effects/spawners/random/engineering.dm @@ -0,0 +1,138 @@ +/obj/effect/spawner/random/engineering + name = "engineering loot spawner" + desc = "All engineering related spawners go here" + icon_state = "toolbox" + +/obj/effect/spawner/random/engineering/tool + loot = list( + /obj/effect/spawner/random/engineering/tool/common = 120, + /obj/effect/spawner/random/engineering/tool/sydnie = 20, + /obj/effect/spawner/random/engineering/tool/adv = 5, + ) + +/obj/effect/spawner/random/engineering/tool/common + loot = list( + /obj/item/wrench/crescent = 1, + /obj/item/screwdriver = 1, + /obj/item/weldingtool = 1, + /obj/item/crowbar = 1, + /obj/item/wirecutters = 1, + /obj/item/multitool = 1, + ) + +/obj/effect/spawner/random/engineering/tool/sydnie + loot = list( + /obj/item/wrench/syndie = 1, + /obj/item/screwdriver/nuke = 1, + /obj/item/weldingtool/largetank = 1, + /obj/item/crowbar/syndie = 1, + /obj/item/wirecutters/syndie = 1, + /obj/item/multitool/syndie = 1, + ) + +/obj/effect/spawner/random/engineering/tool/adv + loot = list( + /obj/item/screwdriver/power = 1, + /obj/item/weldingtool/electric = 1, + /obj/item/crowbar/power = 1, + ) + +/obj/effect/spawner/random/stockparts + name = "random good stock parts" + spawn_loot_count = 6 + loot = list( + /obj/item/stock_parts/capacitor/adv, + /obj/item/stock_parts/capacitor/quadratic, + /obj/item/stock_parts/capacitor/super, + /obj/item/stock_parts/cell/hyper, + /obj/item/stock_parts/cell/super, + /obj/item/stock_parts/cell/bluespace, + /obj/item/stock_parts/matter_bin/bluespace, + /obj/item/stock_parts/matter_bin/super, + /obj/item/stock_parts/matter_bin/adv, + /obj/item/stock_parts/micro_laser/ultra, + /obj/item/stock_parts/micro_laser/quadultra, + /obj/item/stock_parts/micro_laser/high, + /obj/item/stock_parts/scanning_module/triphasic, + /obj/item/stock_parts/scanning_module/phasic, + /obj/item/stock_parts/scanning_module/adv, + /obj/item/reagent_containers/glass/beaker/bluespace, + /obj/item/reagent_containers/glass/beaker/plastic, + /obj/item/reagent_containers/glass/beaker/large, + /obj/item/stock_parts/manipulator/nano, + /obj/item/stock_parts/manipulator/pico, + /obj/item/stock_parts/manipulator/femto + ) + +/obj/effect/spawner/random/materials + name = "random bulk materials" + spawn_loot_count = 2 + loot = list( + /obj/item/stack/sheet/plastic/fifty, + /obj/item/stack/sheet/bluespace_crystal/twenty, + /obj/item/stack/sheet/cardboard/fifty, + /obj/item/stack/sheet/glass/fifty, + /obj/item/stack/sheet/metal/fifty, + /obj/item/stack/sheet/plasteel/twenty, + /obj/item/stack/sheet/mineral/plasma/fifty, + /obj/item/stack/sheet/mineral/silver/fifty, + /obj/item/stack/sheet/mineral/titanium/fifty, + /obj/item/stack/sheet/mineral/uranium/fifty, + /obj/item/stack/sheet/mineral/wood/fifty, + /obj/item/stack/sheet/mineral/diamond/twenty, + /obj/item/stack/sheet/mineral/gold/fifty, + /obj/item/stack/cable_coil/red, + /obj/item/stack/rods/fifty + ) + +/obj/effect/spawner/random/stockparts + name = "random good stock parts" + spawn_loot_count = 5 + loot = list( + /obj/item/stock_parts/capacitor/adv, + /obj/item/stock_parts/capacitor/quadratic, + /obj/item/stock_parts/capacitor/super, + /obj/item/stock_parts/cell/hyper, + /obj/item/stock_parts/cell/super, + /obj/item/stock_parts/cell/bluespace, + /obj/item/stock_parts/matter_bin/bluespace, + /obj/item/stock_parts/matter_bin/super, + /obj/item/stock_parts/matter_bin/adv, + /obj/item/stock_parts/micro_laser/ultra, + /obj/item/stock_parts/micro_laser/quadultra, + /obj/item/stock_parts/micro_laser/high, + /obj/item/stock_parts/scanning_module/triphasic, + /obj/item/stock_parts/scanning_module/phasic, + /obj/item/stock_parts/scanning_module/adv, + /obj/item/reagent_containers/glass/beaker/bluespace, + /obj/item/reagent_containers/glass/beaker/plastic, + /obj/item/reagent_containers/glass/beaker/large, + /obj/item/stock_parts/manipulator/nano, + /obj/item/stock_parts/manipulator/pico, + /obj/item/stock_parts/manipulator/femto + ) + +/obj/effect/spawner/random/materials + name = "random materials" + spawn_loot_count = 3 + loot = list( + /obj/item/stack/sheet/plastic/fifty, + /obj/item/stack/sheet/plastic/five, + /obj/item/stack/sheet/bluespace_crystal/twenty, + /obj/item/stack/sheet/bluespace_crystal/five, + /obj/item/stack/sheet/cardboard/fifty, + /obj/item/stack/sheet/glass/fifty, + /obj/item/stack/sheet/metal/fifty, + /obj/item/stack/sheet/metal/twenty, + /obj/item/stack/sheet/plasteel/twenty, + /obj/item/stack/sheet/mineral/plasma/fifty, + /obj/item/stack/sheet/mineral/plasma/twenty, + /obj/item/stack/sheet/mineral/silver/fifty, + /obj/item/stack/sheet/mineral/titanium/twenty, + /obj/item/stack/sheet/mineral/uranium/twenty, + /obj/item/stack/sheet/mineral/wood/fifty, + /obj/item/stack/sheet/mineral/diamond/twenty, + /obj/item/stack/sheet/mineral/gold/fifty, + /obj/item/stack/cable_coil/red, + /obj/item/stack/rods/fifty + ) diff --git a/code/game/objects/effects/spawners/random/entertainment.dm b/code/game/objects/effects/spawners/random/entertainment.dm new file mode 100644 index 00000000000..8e51ddf384c --- /dev/null +++ b/code/game/objects/effects/spawners/random/entertainment.dm @@ -0,0 +1,282 @@ +/obj/effect/spawner/random/entertainment + name = "entertainment loot spawner" + desc = "It's time to paaaaaarty!" + +/obj/effect/spawner/random/entertainment/arcade + name = "spawn random arcade machine" + desc = "Automagically transforms into a random arcade machine. If you see this while in a shift, please create a bug report." + icon_state = "arcade" + loot = list( + /obj/machinery/computer/arcade/orion_trail = 49, + /obj/machinery/computer/arcade/battle = 49, + /obj/machinery/computer/arcade/amputation = 2, + ) + +/obj/effect/spawner/random/entertainment/musical_instrument + name = "musical instrument spawner" + icon_state = "eguitar" + loot = list( + /obj/item/instrument/violin = 5, + /obj/item/instrument/banjo = 5, + /obj/item/instrument/guitar = 5, + /obj/item/instrument/eguitar = 5, + /obj/item/instrument/glockenspiel = 5, + /obj/item/instrument/accordion = 5, + /obj/item/instrument/trumpet = 5, + /obj/item/instrument/saxophone = 5, + /obj/item/instrument/trombone = 5, + /obj/item/instrument/recorder = 5, + /obj/item/instrument/harmonica = 5, + /obj/item/instrument/bikehorn = 2, + /obj/item/instrument/violin/golden = 2, + ) + +/obj/effect/spawner/random/entertainment/gambling + name = "gambling valuables spawner" + icon_state = "dice" + loot = list( + /obj/item/clothing/head/trapper = 3, + /obj/effect/spawner/random/entertainment/coin = 3, + /obj/effect/spawner/random/entertainment/money = 3, + /obj/item/dice/d6 = 3, + /obj/item/storage/box/syndie_kit/throwing_weapons = 1, + /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka, + ) + +/obj/effect/spawner/random/entertainment/coin + name = "coin spawner" + icon_state = "coin" + loot = list( + /obj/item/coin/iron = 5, + /obj/item/coin/plastic = 5, + /obj/item/coin/silver = 4, + /obj/item/coin/plasma = 4, + /obj/item/coin/uranium = 3, + /obj/item/coin/titanium = 3, + /obj/item/coin/diamond = 2, + /obj/item/coin/twoheaded = 1, + /obj/item/coin/antagtoken = 1, + ) + +/obj/effect/spawner/random/entertainment/money_small + name = "small money spawner" + icon_state = "cash" + spawn_loot_count = 3 + spawn_loot_split = TRUE + loot = list( + /obj/item/spacecash/bundle/c1 = 5, + /obj/item/spacecash/bundle/c10 = 3, + /obj/item/spacecash/bundle/c20 = 2, + ) + +/obj/effect/spawner/random/entertainment/money + name = "money spawner" + icon_state = "cash" + spawn_loot_count = 3 + spawn_loot_split = TRUE + loot = list( + /obj/item/spacecash/bundle/c1 = 10, + /obj/item/spacecash/bundle/c10 = 5, + /obj/item/spacecash/bundle/c20 = 3, + /obj/item/spacecash/bundle/c50 = 2, + /obj/item/spacecash/bundle/c100 = 1, + ) + +/obj/effect/spawner/random/entertainment/money_medium + name = "money spawner" + icon_state = "cash" + loot = list( + /obj/item/spacecash/bundle/c100 = 25, + /obj/item/spacecash/bundle/c200 = 15, + /obj/item/spacecash/bundle/c50 = 10, + /obj/item/spacecash/bundle/c500 = 5, + /obj/item/spacecash/bundle/c1000 = 1, + ) + +/obj/effect/spawner/random/entertainment/money_large + name = "large money spawner" + icon_state = "cash" + spawn_loot_count = 5 + spawn_loot_split = TRUE + loot = list( + /obj/item/spacecash/bundle/c1 = 100, + /obj/item/spacecash/bundle/c10 = 80, + /obj/item/spacecash/bundle/c20 = 60, + /obj/item/spacecash/bundle/c50 = 40, + /obj/item/spacecash/bundle/c100 = 30, + /obj/item/spacecash/bundle/c200 = 20, + /obj/item/spacecash/bundle/c500 = 10, + /obj/item/spacecash/bundle/c1000 = 5, + /obj/item/spacecash/bundle/c10000 = 1, + ) + +/obj/effect/spawner/random/entertainment/drugs + name = "recreational drugs spawner" + icon_state = "pill" + loot = list( + /obj/item/reagent_containers/food/drinks/bottle/hooch = 50, + /obj/item/clothing/mask/cigarette/rollie/cannabis = 15, + /obj/item/reagent_containers/syringe = 15, + /obj/item/cigbutt/roach = 15, + /obj/item/clothing/mask/cigarette/rollie/mindbreaker = 5, + ) + +/obj/effect/spawner/random/entertainment/dice + name = "dice spawner" + icon_state = "dice_bag" + loot = list( + /obj/item/dice/d4, + /obj/item/dice/d6, + /obj/item/dice/d8, + /obj/item/dice/d10, + /obj/item/dice/d12, + /obj/item/dice/d20, + ) + +/obj/effect/spawner/random/entertainment/cigarette_pack + name = "cigarette pack spawner" + icon_state = "cigarettes" + loot = list( + /obj/item/storage/fancy/cigarettes = 3, + /obj/item/storage/fancy/cigarettes/dromedaryco = 3, + /obj/item/storage/fancy/cigarettes/cigpack_uplift = 3, + /obj/item/storage/fancy/cigarettes/cigpack_robust = 3, + /obj/item/storage/fancy/cigarettes/cigpack_carp = 3, + /obj/item/storage/fancy/cigarettes/cigpack_robustgold = 1, + /obj/item/storage/fancy/cigarettes/cigpack_midori = 1, + /obj/item/storage/fancy/cigarettes/cigpack_candy = 1, + ) + +/obj/effect/spawner/random/entertainment/cigarette + name = "cigarette spawner" + icon_state = "cigarettes" + loot = list( + /obj/item/clothing/mask/cigarette/space_cigarette = 3, + /obj/item/clothing/mask/cigarette/rollie/cannabis = 3, + /obj/item/clothing/mask/cigarette/rollie/nicotine = 3, + /obj/item/clothing/mask/cigarette/dromedary = 2, + /obj/item/clothing/mask/cigarette/uplift = 2, + /obj/item/clothing/mask/cigarette/robust = 2, + /obj/item/clothing/mask/cigarette/carp = 1, + /obj/item/clothing/mask/cigarette/robustgold = 1, + ) + +/obj/effect/spawner/random/entertainment/cigar + name = "cigar spawner" + icon_state = "cigarettes" + loot = list( + /obj/item/clothing/mask/cigarette/cigar = 3, + /obj/item/clothing/mask/cigarette/cigar/havana = 2, + /obj/item/clothing/mask/cigarette/cigar/cohiba = 1, + ) + +/obj/effect/spawner/random/entertainment/wallet_lighter + name = "lighter wallet spawner" + icon_state = "lighter" + loot = list( // these fit inside a wallet + /obj/item/match = 10, + /obj/item/lighter/greyscale = 10, + /obj/item/lighter = 1, + ) + +/obj/effect/spawner/random/entertainment/lighter + name = "lighter spawner" + icon_state = "lighter" + loot = list( + /obj/item/storage/box/matches = 10, + /obj/item/lighter/greyscale = 10, + /obj/item/lighter = 1, + ) + +/obj/effect/spawner/random/entertainment/wallet_storage + name = "wallet contents spawner" + icon_state = "wallet" + spawn_loot_count = 1 + loot = list( // random photos would go here. IF I HAD ONE. :'( + /obj/item/lipstick/random, + /obj/effect/spawner/random/food_or_drink/seed, + /obj/effect/spawner/random/medical/minor_healing, + /obj/effect/spawner/random/entertainment/coin, + /obj/effect/spawner/random/entertainment/dice, + /obj/effect/spawner/random/entertainment/cigarette, + /obj/effect/spawner/random/entertainment/wallet_lighter, + /obj/effect/spawner/random/bureaucracy/paper, + /obj/effect/spawner/random/bureaucracy/crayon, + /obj/effect/spawner/random/bureaucracy/pen, + /obj/effect/spawner/random/bureaucracy/stamp, + ) + +/obj/effect/spawner/random/entertainment/deck + name = "deck spawner" + icon_state = "deck" + loot = list( + /obj/item/toy/cards/deck = 5, + /obj/item/toy/cards/deck/kotahi = 2, + /obj/item/toy/cards/deck/tarot = 1, + ) + +/obj/effect/spawner/random/entertainment/toy_figure + name = "toy figure spawner" + icon_state = "toy" + loot_subtype_path = /obj/item/toy/figure + loot = list() + +/obj/effect/spawner/random/entertainment/toy + name = "toy spawner" + icon_state = "toy" + loot = list() + +/obj/effect/spawner/random/entertainment/toy/Initialize(mapload) + loot += GLOB.arcade_prize_pool + return ..() + +/obj/effect/spawner/random/entertainment/plushie + name = "plushie spawner" + icon_state = "plushie" + loot = list ( + /obj/item/toy/plush/beeplushie, + /obj/item/toy/plush/blahaj, + /obj/item/toy/plush/carpplushie, + /obj/item/toy/plush/flushed, + /obj/item/toy/plush/kari, + /obj/item/toy/plush/lizardplushie, + /obj/item/toy/plush/mora, + /obj/item/toy/plush/realgoat, + /obj/item/toy/plush/rilena, + /obj/item/toy/plush/sharai, + /obj/item/toy/plush/slimeplushie, + /obj/item/toy/plush/snakeplushie, + /obj/item/toy/plush/spider, + /obj/item/toy/plush/tali, + /obj/item/toy/plush/xader, + /obj/effect/spawner/random/entertainment/plushie/moth // fair chances + ) + +/obj/effect/spawner/random/entertainment/plushie/moth + loot = list ( + /obj/item/toy/plush/moth, + /obj/item/toy/plush/moth/monarch, + /obj/item/toy/plush/moth/luna, + /obj/item/toy/plush/moth/atlas, + /obj/item/toy/plush/moth/redish, + /obj/item/toy/plush/moth/royal, + /obj/item/toy/plush/moth/gothic, + /obj/item/toy/plush/moth/lovers, + /obj/item/toy/plush/moth/whitefly, + /obj/item/toy/plush/moth/punished, + /obj/item/toy/plush/moth/firewatch, + /obj/item/toy/plush/moth/deadhead, + /obj/item/toy/plush/moth/poison, + /obj/item/toy/plush/moth/ragged, + /obj/item/toy/plush/moth/snow, + /obj/item/toy/plush/moth/moonfly + ) + +/obj/effect/spawner/random/entertainment/colorful_grenades + name = "colorful/glitter grenades spawner" + loot = list( + /obj/item/grenade/chem_grenade/glitter/pink, + /obj/item/grenade/chem_grenade/glitter/blue, + /obj/item/grenade/chem_grenade/glitter/white, + /obj/item/grenade/chem_grenade/colorful + ) diff --git a/code/game/objects/effects/spawners/random/exotic.dm b/code/game/objects/effects/spawners/random/exotic.dm new file mode 100644 index 00000000000..84e4a0616c7 --- /dev/null +++ b/code/game/objects/effects/spawners/random/exotic.dm @@ -0,0 +1,69 @@ +/obj/effect/spawner/random/exotic + name = "exotic spawner" + desc = "Super duper rare stuff." + icon_state = "showcase" + +/obj/effect/spawner/random/exotic/ripley + name = "25% exosuit 75% wreckage ripley spawner" + icon_state = "ripley" + loot = list( + /obj/mecha/working/ripley/mining = 1, + /obj/structure/mecha_wreckage/ripley = 5 + ) + +/obj/effect/spawner/random/exotic/prison_contraband + name = "prison contraband loot spawner" + icon_state = "prisoner" + loot = list( + /obj/item/clothing/mask/cigarette/space_cigarette = 4, + /obj/item/clothing/mask/cigarette/robust = 2, + /obj/item/clothing/mask/cigarette/carp = 3, + /obj/item/clothing/mask/cigarette/uplift = 2, + /obj/item/clothing/mask/cigarette/dromedary = 3, + /obj/item/clothing/mask/cigarette/robustgold = 1, + /obj/item/storage/fancy/cigarettes/cigpack_uplift = 3, + /obj/item/storage/fancy/cigarettes = 3, + /obj/item/clothing/mask/cigarette/rollie/cannabis = 4, + /obj/item/toy/crayon/spraycan = 2, + /obj/item/crowbar = 1, + /obj/item/assembly/flash/handheld = 1, + /obj/item/restraints/handcuffs/cable/zipties = 1, + /obj/item/restraints/handcuffs = 1, + /obj/item/radio = 1, + /obj/item/lighter = 3, + /obj/item/storage/box/matches = 3, + /obj/item/reagent_containers/syringe/contraband/space_drugs = 1, + /obj/item/reagent_containers/syringe/contraband/krokodil = 1, + /obj/item/reagent_containers/syringe/contraband/crank = 1, + /obj/item/reagent_containers/syringe/contraband/methamphetamine = 1, + /obj/item/reagent_containers/syringe/contraband/bath_salts = 1, + /obj/item/reagent_containers/syringe/contraband/fentanyl = 1, + /obj/item/reagent_containers/syringe/contraband/morphine = 1, + /obj/item/storage/pill_bottle/happy = 1, + /obj/item/storage/pill_bottle/lsd = 1, + /obj/item/storage/pill_bottle/psicodine = 1, + /obj/item/reagent_containers/food/drinks/beer = 4, + /obj/item/reagent_containers/food/drinks/bottle/whiskey = 1, + /obj/item/paper/fluff/jobs/prisoner/letter = 1, + /obj/item/grenade/smokebomb = 1, + /obj/item/flashlight/seclite = 1, + /obj/item/melee/knife/shiv = 4, + /obj/item/melee/knife/shiv/carrot = 1, + /obj/item/melee/knife/kitchen = 1, + /obj/item/storage/wallet/random = 1, + /obj/item/pda = 1 + ) + +/obj/effect/spawner/random/exotic/armory + name = "generic armory spawner" + spawn_loot_split = TRUE + spawn_loot_count = 3 + spawn_loot_split_pixel_offsets = 4 + + loot = list( + /obj/item/gun/ballistic/automatic/pistol/ringneck = 8, + /obj/item/gun/ballistic/shotgun/automatic/m11 = 5, + /obj/item/gun/ballistic/automatic/pistol/deagle, + /obj/item/gun/ballistic/revolver/mateba + ) + diff --git a/code/game/objects/effects/spawners/random/food_or_drink.dm b/code/game/objects/effects/spawners/random/food_or_drink.dm new file mode 100644 index 00000000000..300f94260ee --- /dev/null +++ b/code/game/objects/effects/spawners/random/food_or_drink.dm @@ -0,0 +1,284 @@ +/obj/effect/spawner/random/food_or_drink + name = "food or drink loot spawner" + desc = "Nom nom nom" + icon_state = "soup" + +/obj/effect/spawner/random/food_or_drink/donkpockets + name = "donk pocket box spawner" + icon_state = "donkpocket" + loot = list( + /obj/item/storage/box/donkpockets/donkpocketspicy = 1, + /obj/item/storage/box/donkpockets/donkpocketteriyaki = 1, + /obj/item/storage/box/donkpockets/donkpocketpizza = 1, + /obj/item/storage/box/donkpockets/donkpocketberry = 1, + /obj/item/storage/box/donkpockets/donkpockethonk = 1, + ) + +/obj/effect/spawner/random/food_or_drink/ration + name = "ration spawner" + icon_state = "pizzabox" + loot = list ( + /obj/item/storage/ration/vegan_chili = 5, + /obj/item/storage/ration/shredded_beef = 5, + /obj/item/storage/ration/pork_spaghetti = 5, + /obj/item/storage/ration/fried_fish = 5, + /obj/item/storage/ration/beef_strips = 5, + /obj/item/storage/ration/chili_macaroni = 5, + /obj/item/storage/ration/chicken_wings_hot_sauce = 5, + /obj/item/storage/ration/fish_stew = 5, + /obj/item/storage/ration/lemon_pepper_chicken = 5, + /obj/item/storage/ration/sausage_peppers_onions = 5, + /obj/item/storage/ration/pork_dumplings_chili_sauce = 5, + /obj/item/storage/ration/battered_fish_sticks = 5, + /obj/item/storage/ration/assorted_salted_offal = 5, + /obj/item/storage/ration/maple_pork_sausage_patty = 5, + /obj/item/storage/ration/pepper_jack_beef_patty = 5, + /obj/item/storage/ration/beef_goulash = 5, + /obj/item/storage/ration/pepperoni_pizza_slice = 5, + /obj/item/storage/ration/blackened_calamari = 5, + /obj/item/storage/ration/elbow_macaroni = 5, + /obj/item/storage/ration/cheese_pizza_slice = 5, + /obj/item/storage/ration/crayons = 2 // :) + ) + +/obj/effect/spawner/random/food_or_drink/donut + name = "random donut" //donut :) + icon_state = "pizzabox" + loot = list( + /obj/item/reagent_containers/food/snacks/donut/apple = 1, + /obj/item/reagent_containers/food/snacks/donut/berry = 1, + /obj/item/reagent_containers/food/snacks/donut/caramel = 1, + /obj/item/reagent_containers/food/snacks/donut/choco = 1, + /obj/item/reagent_containers/food/snacks/donut/laugh = 1, + /obj/item/reagent_containers/food/snacks/donut/matcha = 1, + /obj/item/reagent_containers/food/snacks/donut/meat = 1, + /obj/item/reagent_containers/food/snacks/donut/plain = 1, + /obj/item/reagent_containers/food/snacks/donut/trumpet = 1, + /obj/item/reagent_containers/food/snacks/donut/blumpkin = 1, + /obj/item/reagent_containers/food/snacks/donut/bungo = 1, + /obj/item/reagent_containers/food/snacks/donut/chaos = 1, + ) + +/obj/effect/spawner/random/food_or_drink/donut/jelly + name = "random jelly donut" + loot = list( + /obj/item/reagent_containers/food/snacks/donut/jelly/berry = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/apple = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/bungo = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/caramel = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/choco = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/laugh = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/matcha = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/trumpet = 1, + ) + +/obj/effect/spawner/random/food_or_drink/donut/slimejelly + name = "random slimejelly donut" + loot = list( + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/caramel = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/laugh = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/matcha = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet = 1, + ) + +/obj/effect/spawner/random/food_or_drink/three_course_meal + name = "three course meal spawner" + spawn_loot_count = 3 + spawn_loot_double = FALSE + var/soups = list( + /obj/item/reagent_containers/food/snacks/soup/beet, + /obj/item/reagent_containers/food/snacks/soup/sweetpotato, + /obj/item/reagent_containers/food/snacks/soup/stew, + /obj/item/reagent_containers/food/snacks/soup/hotchili, + /obj/item/reagent_containers/food/snacks/soup/nettle, + /obj/item/reagent_containers/food/snacks/soup/meatball) + var/salads = list( + /obj/item/reagent_containers/food/snacks/salad/herbsalad, + /obj/item/reagent_containers/food/snacks/salad/validsalad, + /obj/item/reagent_containers/food/snacks/salad/fruit, + /obj/item/reagent_containers/food/snacks/salad/jungle, + /obj/item/reagent_containers/food/snacks/salad/aesirsalad) + var/mains = list( + /obj/item/reagent_containers/food/snacks/bearsteak, + /obj/item/reagent_containers/food/snacks/enchiladas, + /obj/item/reagent_containers/food/snacks/stewedsoymeat, + /obj/item/reagent_containers/food/snacks/burger/bigbite, + /obj/item/reagent_containers/food/snacks/burger/superbite, + /obj/item/reagent_containers/food/snacks/burger/fivealarm) + +/obj/effect/spawner/random/food_or_drink/three_course_meal/Initialize(mapload) + loot = list(pick(soups) = 1,pick(salads) = 1,pick(mains) = 1) + . = ..() + +/obj/effect/spawner/random/food_or_drink/garden + name = "lush garden seeder" + spawn_loot_count = 3 + loot = list( + /obj/item/reagent_containers/food/snacks/grown/ambrosia/deus = 1, + /obj/item/reagent_containers/food/snacks/grown/berries/death/stealth = 2, + /obj/item/reagent_containers/food/snacks/grown/citrus/orange_3d = 1, + /obj/item/reagent_containers/food/snacks/grown/trumpet = 1, + /obj/item/reagent_containers/food/snacks/grown/bungofruit = 1, + /obj/item/seeds/random = 1, + /obj/item/grown/log/bamboo = 2, + /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 2, + /obj/item/reagent_containers/food/snacks/grown/berries/poison/stealth = 5, + /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 2, + /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 2, + /obj/item/reagent_containers/food/snacks/grown/vanillapod = 2, + /obj/item/reagent_containers/food/snacks/grown/moonflower = 2, + /obj/item/reagent_containers/food/snacks/grown/cocoapod = 2, + /obj/item/reagent_containers/food/snacks/grown/pineapple = 2, + /obj/item/reagent_containers/food/snacks/grown/poppy/lily = 2, + /obj/item/reagent_containers/food/snacks/grown/poppy/geranium = 2, + /obj/item/reagent_containers/food/snacks/grown/sugarcane = 2, + /obj/item/reagent_containers/food/snacks/grown/tea = 2, + /obj/item/reagent_containers/food/snacks/grown/tobacco = 2, + /obj/item/reagent_containers/food/snacks/grown/watermelon = 4, + /obj/item/grown/sunflower = 4, + /obj/item/reagent_containers/food/snacks/grown/banana = 4, + /obj/item/reagent_containers/food/snacks/grown/apple = 4, + /obj/item/reagent_containers/food/snacks/grown/berries = 5, + /obj/item/reagent_containers/food/snacks/grown/cherries = 4, + /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 4, + /obj/item/reagent_containers/food/snacks/grown/garlic = 4, + /obj/item/reagent_containers/food/snacks/grown/grapes = 4, + /obj/item/reagent_containers/food/snacks/grown/grass = 5, + /obj/item/reagent_containers/food/snacks/grown/pumpkin = 4, + /obj/item/reagent_containers/food/snacks/grown/rainbow_flower = 4, + /obj/item/reagent_containers/food/snacks/grown/wheat = 4, + /obj/item/reagent_containers/food/snacks/grown/parsnip = 4, + /obj/item/reagent_containers/food/snacks/grown/peas = 4, + /obj/item/reagent_containers/food/snacks/grown/rice = 4, + /obj/item/reagent_containers/food/snacks/grown/soybeans = 4, + /obj/item/reagent_containers/food/snacks/grown/tomato = 4, + /obj/item/reagent_containers/food/snacks/grown/cabbage = 4, + /obj/item/reagent_containers/food/snacks/grown/onion = 4, + /obj/item/reagent_containers/food/snacks/grown/carrot = 4) + +/obj/effect/spawner/random/food_or_drink/garden/arid + name = "arid garden seeder" + loot = list( + /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 1, + /obj/item/reagent_containers/food/snacks/grown/nettle = 1, + /obj/item/grown/cotton/durathread = 1, + /obj/item/seeds/random = 1, + /obj/item/reagent_containers/food/snacks/grown/redbeet = 1, + /obj/item/reagent_containers/food/snacks/grown/aloe = 2, + /obj/item/grown/cotton = 2, + /obj/item/reagent_containers/food/snacks/grown/mushroom/angel = 2, + /obj/item/reagent_containers/food/snacks/grown/chili = 2, + /obj/item/reagent_containers/food/snacks/grown/whitebeet = 5, + /obj/item/reagent_containers/food/snacks/grown/potato = 4, + /obj/item/reagent_containers/food/snacks/grown/potato/sweet = 4, + /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 4, + /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 4, + /obj/item/reagent_containers/food/snacks/grown/corn = 4 + ) + +/obj/effect/spawner/random/food_or_drink/garden/cold + name = "frigid garden seeder" + loot = list( + /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1, + /obj/item/reagent_containers/food/snacks/grown/galaxythistle = 1, + /obj/item/reagent_containers/food/snacks/grown/berries/death/stealth = 1, + /obj/item/seeds/random = 1, + /obj/item/reagent_containers/food/snacks/grown/poppy = 2, + /obj/item/reagent_containers/food/snacks/grown/tomato/blue = 2, + /obj/item/reagent_containers/food/snacks/grown/berries/poison/stealth = 2, + /obj/item/reagent_containers/food/snacks/grown/berries = 4, + /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 4, + /obj/item/reagent_containers/food/snacks/grown/oat = 4, + /obj/item/reagent_containers/food/snacks/grown/grapes/green = 4, + /obj/item/reagent_containers/food/snacks/grown/grass = 4, + /obj/item/reagent_containers/food/snacks/grown/harebell = 5, + /obj/item/seeds/starthistle = 5 + ) + +/obj/effect/spawner/random/food_or_drink/garden/sick + name = "sickly garden seeder" + loot = list( + /obj/item/reagent_containers/food/snacks/grown/cannabis/rainbow = 1, + /obj/item/reagent_containers/food/snacks/grown/cannabis/death = 1, + /obj/item/seeds/replicapod = 1, + /obj/item/reagent_containers/food/snacks/grown/mushroom/angel = 1, + /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap = 2, + /obj/item/seeds/tower/steel = 2, + /obj/item/reagent_containers/food/snacks/grown/cannabis = 2, + /obj/item/seeds/random = 2, + /obj/item/reagent_containers/food/snacks/grown/mushroom/jupitercup = 2, + /obj/item/reagent_containers/food/snacks/grown/cherrybulbs = 4, + /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 4, + /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap = 4, + /obj/item/reagent_containers/food/snacks/grown/mushroom/reishi = 4, + /obj/item/reagent_containers/food/snacks/grown/berries/glow = 4 + ) + +/obj/effect/spawner/random/food_or_drink/garden/seaweed + name = "seaweed patch seeder" + loot = list( + /obj/item/reagent_containers/food/snacks/grown/seaweed + ) + +/obj/effect/spawner/random/food_or_drink/seed + name = "GO FORTH AND CULTIVATE" + icon_state = "seed"//sneed + loot = list( + /obj/item/seeds/aloe, + /obj/item/seeds/ambrosia, + /obj/item/seeds/apple, + /obj/item/seeds/cotton, + /obj/item/seeds/banana, + /obj/item/seeds/berry, + /obj/item/seeds/cabbage, + /obj/item/seeds/carrot, + /obj/item/seeds/cherry, + /obj/item/seeds/chanter, + /obj/item/seeds/chili, + /obj/item/seeds/cocoapod, + /obj/item/seeds/coffee, + /obj/item/seeds/corn, + /obj/item/seeds/eggplant, + /obj/item/seeds/garlic, + /obj/item/seeds/grape, + /obj/item/seeds/grass, + /obj/item/seeds/lemon, + /obj/item/seeds/lime, + /obj/item/seeds/onion, + /obj/item/seeds/orange, + /obj/item/seeds/peas, + /obj/item/seeds/pineapple, + /obj/item/seeds/potato, + /obj/item/seeds/poppy, + /obj/item/seeds/pumpkin, + /obj/item/seeds/wheat/rice, + /obj/item/seeds/soya, + /obj/item/seeds/sugarcane, + /obj/item/seeds/sunflower, + /obj/item/seeds/tea, + /obj/item/seeds/tobacco, + /obj/item/seeds/tomato, + /obj/item/seeds/tower, + /obj/item/seeds/watermelon, + /obj/item/seeds/wheat, + /obj/item/seeds/whitebeet, + /obj/item/seeds/amanita, + /obj/item/seeds/glowshroom, + /obj/item/seeds/liberty, + /obj/item/seeds/nettle, + /obj/item/seeds/plump, + /obj/item/seeds/reishi, + /obj/item/seeds/cannabis, + /obj/item/seeds/starthistle, + /obj/item/seeds/cherry/bomb, + /obj/item/seeds/berry/glow, + /obj/item/seeds/sunflower/moonflower + ) diff --git a/code/game/objects/effects/spawners/random/maintenance.dm b/code/game/objects/effects/spawners/random/maintenance.dm new file mode 100644 index 00000000000..53a61e0f877 --- /dev/null +++ b/code/game/objects/effects/spawners/random/maintenance.dm @@ -0,0 +1,57 @@ +/obj/effect/spawner/random/maintenance + name = "maintenance loot spawner" + desc = "Come on Lady Luck, spawn me a pair of sunglasses." + icon_state = "loot" + // see code/_globalvars/lists/maintenance_loot.dm for loot table + +/obj/effect/spawner/random/maintenance/Initialize(mapload) + loot = GLOB.maintenance_loot + . = ..() + +/obj/effect/spawner/random/maintenance/skew_loot_weights(list/loot_list, exponent) + ///We only need to skew the weights once, since it's a global list used by all maint spawners. + var/static/already_done = FALSE + if(loot_list == GLOB.maintenance_loot && already_done) + return + already_done = TRUE + return ..() + +/obj/effect/spawner/random/maintenance/spawn_loot(lootcount_override) + if(isnull(lootcount_override)) + lootcount_override = spawn_loot_count + . = ..() + + /* Fucks everything. Investigate further + // In addition, closets that are closed will have the maintenance loot inserted inside. + for(var/obj/structure/closet/closet in get_turf(src)) + if(!closet.opened) + closet.take_contents() + */ + +/obj/effect/spawner/random/maintenance/two + name = "2 x maintenance loot spawner" + spawn_loot_count = 2 + +/obj/effect/spawner/random/maintenance/three + name = "3 x maintenance loot spawner" + spawn_loot_count = 3 + +/obj/effect/spawner/random/maintenance/four + name = "4 x maintenance loot spawner" + spawn_loot_count = 4 + +/obj/effect/spawner/random/maintenance/five + name = "5 x maintenance loot spawner" + spawn_loot_count = 5 + +/obj/effect/spawner/random/maintenance/six + name = "6 x maintenance loot spawner" + spawn_loot_count = 6 + +/obj/effect/spawner/random/maintenance/seven + name = "7 x maintenance loot spawner" + spawn_loot_count = 7 + +/obj/effect/spawner/random/maintenance/eight + name = "8 x maintenance loot spawner" + spawn_loot_count = 8 diff --git a/code/game/objects/effects/spawners/random/medical.dm b/code/game/objects/effects/spawners/random/medical.dm new file mode 100644 index 00000000000..a0d5a6db53b --- /dev/null +++ b/code/game/objects/effects/spawners/random/medical.dm @@ -0,0 +1,145 @@ +/obj/effect/spawner/random/medical + name = "medical loot spawner" + desc = "Doc, gimmie something good." + +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + icon_state = "gauze" + loot = list( + /obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze, + ) + +/obj/effect/spawner/random/medical/organs + name = "ayylien organ spawner" + loot = list( + /obj/item/organ/heart/gland/electric = 3, + /obj/item/organ/heart/gland/trauma = 4, + /obj/item/organ/heart/gland/egg = 7, + /obj/item/organ/heart/gland/chem = 5, + /obj/item/organ/heart/gland/mindshock = 5, + /obj/item/organ/heart/gland/plasma = 7, + /obj/item/organ/heart/gland/transform = 5, + /obj/item/organ/heart/gland/slime = 4, + /obj/item/organ/heart/gland/spiderman = 5, + /obj/item/organ/heart/gland/ventcrawling = 1, + /obj/item/organ/body_egg/alien_embryo = 1, + /obj/item/organ/regenerative_core = 2) + spawn_loot_count = 3 + +/obj/effect/spawner/random/medical/memeorgans + name = "meme organ spawner" + loot = list( + /obj/item/organ/ears/penguin, + /obj/item/organ/ears/cat, + /obj/item/organ/eyes/compound, + /obj/item/organ/eyes/snail, + /obj/item/organ/tongue/bone, + /obj/item/organ/tongue/fly, + /obj/item/organ/tongue/snail, + /obj/item/organ/tongue/lizard, + /obj/item/organ/tongue/alien, + /obj/item/organ/tongue/ethereal, + /obj/item/organ/tongue/robot, + /obj/item/organ/tongue/zombie, + /obj/item/organ/appendix, + /obj/item/organ/liver/fly, + /obj/item/organ/lungs/plasmaman, + /obj/item/organ/tail/cat, + /obj/item/organ/tail/lizard + ) + spawn_loot_count = 5 + +/obj/effect/spawner/random/medical/surgery_tool/common + name = "Surgery tool spawner" + icon_state = "scapel" + loot = list( + /obj/item/scalpel, + /obj/item/hemostat, + /obj/item/retractor, + /obj/item/circular_saw, + /obj/item/surgicaldrill, + /obj/item/cautery, + ) + +/obj/effect/spawner/random/medical/surgery_tool/adv + loot = list( + /obj/item/scalpel/advanced, + /obj/item/retractor/advanced, + /obj/item/surgicaldrill/advanced, + ) + +/obj/effect/spawner/random/medical/surgery_tool + loot = list( + /obj/effect/spawner/random/medical/surgery_tool/common = 120, + /obj/effect/spawner/random/medical/surgery_tool/adv = 10, + ) + +/obj/effect/spawner/random/medical/medkit + name = "medkit spawner" + icon_state = "medkit" + loot = list( + /obj/item/storage/firstaid/regular = 10, + /obj/item/storage/firstaid/o2 = 10, + /obj/item/storage/firstaid/fire = 10, + /obj/item/storage/firstaid/brute = 10, + /obj/item/storage/firstaid/toxin = 10, + /obj/item/storage/firstaid/advanced = 1, + ) + +/obj/effect/spawner/random/medical/patient_stretcher + name = "patient stretcher spawner" + icon_state = "rollerbed" + loot = list( + /obj/structure/bed/roller, + /obj/vehicle/ridden/wheelchair, + ) + +/obj/effect/spawner/random/medical/supplies + name = "medical supplies spawner" + icon_state = "box_small" + loot = list( + /obj/item/storage/box/hug, + /obj/item/storage/box/pillbottles, + /obj/item/storage/box/bodybags, + /obj/item/storage/box/rxglasses, + /obj/item/storage/box/beakers, + /obj/item/storage/box/gloves, + /obj/item/storage/box/masks, + /obj/item/storage/box/syringes, + ) + +/obj/effect/spawner/random/medical/beaker + loot = list( + /obj/item/reagent_containers/glass/beaker = 300, + /obj/item/reagent_containers/glass/beaker/large = 200, + /obj/item/reagent_containers/glass/beaker/plastic = 50, + /obj/item/reagent_containers/glass/beaker/meta = 10, + /obj/item/reagent_containers/glass/beaker/noreact = 5, + /obj/item/reagent_containers/glass/beaker/bluespace = 1, + ) + +/obj/effect/spawner/random/medical/prosthetic + loot = list( + /obj/item/bodypart/l_arm/robot/surplus = 1, + /obj/item/bodypart/r_arm/robot/surplus = 1, + /obj/item/bodypart/leg/left/robot/surplus = 1, + /obj/item/bodypart/leg/right/robot/surplus = 1, + ) + +/obj/effect/spawner/random/medical/chem_jug + loot = list( + /obj/item/reagent_containers/glass/chem_jug/carbon, + /obj/item/reagent_containers/glass/chem_jug/oxygen, + /obj/item/reagent_containers/glass/chem_jug/nitrogen, + /obj/item/reagent_containers/glass/chem_jug/hydrogen, + /obj/item/reagent_containers/glass/chem_jug/radium, + /obj/item/reagent_containers/glass/chem_jug/aluminium, + /obj/item/reagent_containers/glass/chem_jug/chlorine, + /obj/item/reagent_containers/glass/chem_jug/copper, + /obj/item/reagent_containers/glass/chem_jug/bromine, + /obj/item/reagent_containers/glass/chem_jug/iodine, + /obj/item/reagent_containers/glass/chem_jug/potassium, + /obj/item/reagent_containers/glass/chem_jug/sulfur + ) diff --git a/code/game/objects/effects/spawners/random/random.dm b/code/game/objects/effects/spawners/random/random.dm new file mode 100644 index 00000000000..aeeab4ab5a3 --- /dev/null +++ b/code/game/objects/effects/spawners/random/random.dm @@ -0,0 +1,176 @@ +#define RANDOM_LOOT_WEIGHT_MODIFIER 1 + +/** + * Base class for all random spawners. + */ +/obj/effect/spawner/random + icon = 'icons/effects/mapping/random_spawners.dmi' + icon_state = "loot" + layer = OBJ_LAYER + /// Stops persistent lootdrop spawns from being shoved into lockers + anchored = TRUE + /// A list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect) + var/list/loot + /// The subtypes AND type to combine with the loot list + var/loot_type_path + /// The subtypes (this excludes the provided path) to combine with the loot list + var/loot_subtype_path + /// How many items will be spawned + var/spawn_loot_count = 1 + /// If the same item can be spawned twice + var/spawn_loot_double = TRUE + /// Whether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself + var/spawn_loot_split = FALSE + /// The pixel x/y divider offsets for spawn_loot_split (spaced 1 pixel apart by default) + var/spawn_loot_split_pixel_offsets = 2 + /// Whether the spawner should spawn all the loot in the list + var/spawn_all_loot = FALSE + /// The chance for the spawner to create loot (ignores spawn_loot_count) + var/spawn_loot_chance = 100 + /// Determines how big of a range (in tiles) we should scatter things in. + var/spawn_scatter_radius = 0 + /// Whether the items should have a random pixel_x/y offset (maxium offset distance is ±16 pixels for x/y) + var/spawn_random_offset = FALSE + /// Whether items that cannot be spawned will be removed from the loot list. Keep it TRUE unless you've a good reason. + var/remove_if_cant_spawn = TRUE + +/obj/effect/spawner/random/Initialize(mapload) + . = ..() + spawn_loot() + +///If the spawner has any loot defined, randomly picks some and spawns it. Does not cleanup the spawner. +/obj/effect/spawner/random/proc/spawn_loot(lootcount_override) + if(!prob(spawn_loot_chance)) + return + + var/list/spawn_locations = get_spawn_locations(spawn_scatter_radius) + var/spawn_loot_count = isnull(lootcount_override) ? src.spawn_loot_count : lootcount_override + + if(spawn_all_loot) + spawn_loot_count = INFINITY + spawn_loot_double = FALSE + + if(loot_type_path) + loot += typesof(loot_type_path) + + if(loot_subtype_path) + loot += subtypesof(loot_subtype_path) + + skew_loot_weights(loot, RANDOM_LOOT_WEIGHT_MODIFIER) + + if(loot?.len) + var/loot_spawned = 0 + var/pixel_divider = FLOOR(16 / spawn_loot_split_pixel_offsets, 1) // 16 pixels offsets is max that should be allowed in any direction + while((spawn_loot_count-loot_spawned) && loot.len) + var/lootspawn = pick_weight_recursive(loot) + if(!can_spawn(lootspawn)) + if(remove_if_cant_spawn) + loot.Remove(lootspawn) + continue + if(!spawn_loot_double) + loot.Remove(lootspawn) + if(lootspawn && (spawn_scatter_radius == 0 || spawn_locations.len)) + var/turf/spawn_loc = loc + if(spawn_scatter_radius > 0) + spawn_loc = pick_n_take(spawn_locations) + + var/atom/movable/spawned_loot = make_item(spawn_loc, lootspawn) + spawned_loot.setDir(dir) + + if (!spawn_loot_split && !spawn_random_offset) + if (pixel_x != 0) + spawned_loot.pixel_x = pixel_x + if (pixel_y != 0) + spawned_loot.pixel_y = pixel_y + else if (spawn_random_offset) + spawned_loot.pixel_x = rand(-16, 16) + spawned_loot.pixel_y = rand(-16, 16) + else if (spawn_loot_split) + if (loot_spawned) + var/column = FLOOR(loot_spawned / pixel_divider, 1) + spawned_loot.pixel_x = spawn_loot_split_pixel_offsets * (loot_spawned % pixel_divider) + (column * spawn_loot_split_pixel_offsets) + spawned_loot.pixel_y = spawn_loot_split_pixel_offsets * (loot_spawned % pixel_divider) + loot_spawned++ + +///Levels out the weights of loot if lower than 1, or makes rarer spawns even more rare. +/obj/effect/spawner/random/proc/skew_loot_weights(list/loot_list, exponent) + ///This helps keeping the modified weights more or less correct, since pick_weight doesn't appreciate decimals. + var/precision = 1 + if(exponent < 1) + precision = round((1 - exponent) * 10) + 1 + for(var/loot_type in loot_list) + if(islist(loot_type)) + skew_loot_weights(loot_type, exponent) + var/loot_weight = loot_list[loot_type] + if(loot_weight <= 1) + if(exponent < 1) + loot_list[loot_type] = precision + continue + loot_list[loot_type] = round(loot_weight ** exponent * precision, 1) + +/** + * Makes the actual item related to our spawner. + * + * spawn_loc - where are we spawning it? + * type_path_to_make - what are we spawning? + **/ +/obj/effect/spawner/random/proc/make_item(spawn_loc, type_path_to_make) + return new type_path_to_make(spawn_loc) + +///If the spawner has a spawn_scatter_radius set, this creates a list of nearby turfs available that are in view and have an unblocked line to them. +/obj/effect/spawner/random/proc/get_spawn_locations(radius) + var/list/scatter_locations = list() + + if(!radius) + return scatter_locations + + for(var/turf/turf_in_view in view(radius, get_turf(src))) + if(isclosedturf(turf_in_view)) + continue + if(!has_unblocked_line(turf_in_view)) + continue + + scatter_locations += turf_in_view + + return scatter_locations + +/obj/effect/spawner/random/proc/has_unblocked_line(destination) + for(var/turf/potential_blockage as anything in get_line(get_turf(src), destination)) + if(!potential_blockage.is_blocked_turf(exclude_mobs = TRUE)) + continue + return FALSE + return TRUE + +//finds the probabilities of items spawning from a loot spawner's loot pool +/obj/item/loot_table_maker + icon = 'icons/effects/mapping/landmarks_static.dmi' + icon_state = "random_loot" + var/spawner_to_test = /obj/effect/spawner/random/maintenance //what lootdrop spawner to use the loot pool of + var/loot_count = 180 //180 is about how much maint loot spawns per map as of 11/14/2019 + //result outputs + var/list/spawned_table //list of all items "spawned" and how many + var/list/stat_table //list of all items "spawned" and their occurrance probability + +/obj/item/loot_table_maker/Initialize(mapload) + . = ..() + make_table() + +/obj/item/loot_table_maker/attack_self(mob/user) + to_chat(user, "Loot pool re-rolled.") + make_table() + +/obj/item/loot_table_maker/proc/make_table() + spawned_table = list() + stat_table = list() + var/obj/effect/spawner/random/spawner_to_table = new spawner_to_test + var/lootpool = spawner_to_table.loot + qdel(spawner_to_table) + for(var/i in 1 to loot_count) + var/loot_spawn = pick_weight_recursive(lootpool) + if(!(loot_spawn in spawned_table)) + spawned_table[loot_spawn] = 1 + else + spawned_table[loot_spawn] += 1 + stat_table += spawned_table + for(var/item in stat_table) + stat_table[item] /= loot_count diff --git a/code/game/objects/effects/spawners/random/readme.md b/code/game/objects/effects/spawners/random/readme.md new file mode 100644 index 00000000000..97db867f2de --- /dev/null +++ b/code/game/objects/effects/spawners/random/readme.md @@ -0,0 +1,425 @@ +# Random Spawners + +## About + +Random spawners are an organized tool primarily for mapping to enhance replayability. The spawners can create objects, effects, and structures with different tweakable settings to get the desired outcome. You can make a spawner determine direction, rarity, number of items to spawn, pixel spacing between items, and even spread it over a large tile radius. This lets you control the atmosphere of a location. You could for instance spawn different piles of trash in maint or spawn decoration items for a room to give it more randomized flavor. The choice is yours! + +*(note the audience of this README is directed towards mappers who lack knowledge of coding)* + +## Variables + +The following variables are defined in `code/game/objects/effects/spawners/random/random.dm` that control how a spawner works. + +- `loot` - a list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect) +- `loot_type_path` - this combines the subtypes AND type list with the loot list +- `loot_subtype_path` - this combines ONLY the subtypes (excludes the `loot_subtype_path`) with the loot list +- `spawn_loot_count` - how many items will be spawned +- `spawn_loot_double` - if the same item can be spawned twice from the loot list +- `spawn_loot_split` - whether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself +- `spawn_all_loot` - whether the spawner should spawn all the loot in the list (ignores `spawn_loot_count`) +- `spawn_loot_chance` - the chance for the spawner to create loot (ignores `spawn_loot_count`) +- `spawn_scatter_radius` - determines how big of a range (in tiles) we should scatter things in + +These variables are set to the following default values for the base `random.dm` object that all objects inherit from: + +```dm + /// these three loot values are all empty + var/list/loot + var/loot_type_path + var/loot_subtype_path + + var/spawn_loot_count = 1 // by default one item will be selected from the loot list + var/spawn_loot_double = TRUE // by default duplicate items CAN be spawned from the loot list + var/spawn_loot_split = FALSE // by default items will NOT spread out on the same tile + var/spawn_all_loot = FALSE // by default the spawner will only spawn the number of items set in spawn_loot_count + var/spawn_loot_chance = 100 // by default the spawner has a 100% chance to spawn the item(s) + var/spawn_scatter_radius = 0 // by default the spawner will spawn the items ONLY on the tile it is on +``` + +However there are some categories that overwrite these default values so pay attention to the folder or category you group your spawner in. For instance the `obj/effect/spawner/random/techstorage` category overwrites the `spawn_all_loot` and the `spawn_loot_split` variables. + +```dm +// Tech storage circuit board spawners +/obj/effect/spawner/random/techstorage + name = "generic circuit board spawner" + spawn_loot_split = TRUE + spawn_all_loot = TRUE +``` + +This means any spawner you create under the techstorage will also have those variables set to that by default. This can be overridden quite easily just be resetting the variables back to the normal state like so: + +```dm +/obj/effect/spawner/random/techstorage/data_disk + name = "data disk spawner" + spawn_all_loot = FALSE // now our loot won't all be spawned + loot = list( + /obj/item/disk/data = 49, + /obj/item/disk/nuclear/fake/obvious = 1, + ) +``` + +## Template + +All the random spawners follow the same template format to keep things consistent and unison. + +```dm +/obj/effect/spawner/random/INSERT_SPAWNER_GROUP/INSERT_SPAWNER_NAME + name = "INSERT_SPAWNER_NAME spawner" + loot = list( + /obj/item/PATH/INSERT_OBJ_1, + /obj/item/PATH/INSERT_OBJ_2, + /obj/item/PATH/INSERT_OBJ_3, + ) +``` + +All the capitalized code is the parts where you are supposed to swap out with your objects like so: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze, + ) +``` + +Find the path to different objects and add them to the list but try to be consistent with the types of the object and the spawner. For example a medical spawner shouldn't have a emag in the loot list. (use an antag spawner for that instead!) + +## Probability + +Be aware that the `loot` list uses a *weighted chance* formula to determine probability. So if there are no numbers set in the `loot` list then each object defaults to 1 and has the same probability to be selected. For our above example for the `minor_healing` spawner each medical item has a 1/3 chance to be spawned. But if we rearranged the values to this: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture = 2, + /obj/item/stack/medical/mesh = 1, + /obj/item/stack/medical/gauze = 1, + ) +``` + +Then now `suture` has a 50% chance of being spawned (2/4), `mesh` has a 25% chance of being spawned (1/4), and `gauze` also has a 25% chance of being spawned (1/4). If we add another item into the mix then we get the following: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture = 2, + /obj/item/stack/medical/mesh = 1, + /obj/item/stack/medical/gauze = 1, + /obj/item/reagent_containers/syringe = 1, + ) +``` + +Suture is 40% (2/5), Mesh is 20% (1/5), Gauze is 20% (1/5), and Syringe is 20% (1/5). A weighted list has the advantage of not needing to update every item in the list when adding a new item. If the list was based on a straight percent values, then each new item would require to manually go and edit ALL the items in the list. For big lists that would become very tedious. This is why we use weighted lists to determine probability! + +## Style + +Here are some simple guidelines that you should stick to when making a new spawner: + +### If ALL the items have the same chance, we should not set a weighted value to the item + +Do not put `/obj/item/ = 1` unless other items have different spawn chances + +Good: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture = 2, + /obj/item/stack/medical/mesh = 1, + /obj/item/stack/medical/gauze = 1, + /obj/item/reagent_containers/syringe = 1, + ) +``` + +Also Good: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze, + /obj/item/reagent_containers/syringe, + ) +``` + +Bad: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture = 1, + /obj/item/stack/medical/mesh = 1, + /obj/item/stack/medical/gauze = 1, + /obj/item/reagent_containers/syringe = 1, + ) +``` + + +### Sort the list from highest probability to lowest + +Sort from top to bottom. The rarest items for your spawner should be at the bottom of the list. + +Good: + +```dm +/obj/effect/spawner/random/exotic/armory + name = "armory loot spawner" + loot = list( + /obj/item/gun/ballistic/automatic/pistol = 8, + /obj/item/gun/ballistic/shotgun/automatic/combat = 5, + /obj/item/storage/box/syndie_kit/throwing_weapons = 3, + /obj/item/grenade/clusterbuster/teargas = 2, + /obj/item/grenade/clusterbuster = 2, + /obj/item/gun/ballistic/automatic/pistol/deagle = 1, + /obj/item/gun/ballistic/revolver/mateba = 1, + ) +``` + +Bad: + +```dm +/obj/effect/spawner/random/exotic/armory + name = "armory loot spawner" + loot = list( + /obj/item/storage/box/syndie_kit/throwing_weapons = 3, + /obj/item/gun/ballistic/automatic/pistol = 8, + /obj/item/gun/ballistic/revolver/mateba = 1, + /obj/item/grenade/clusterbuster/teargas = 2, + /obj/item/gun/ballistic/automatic/pistol/deagle = 1, + /obj/item/grenade/clusterbuster = 2, + /obj/item/gun/ballistic/shotgun/automatic/combat = 5, + ) +``` + +### Always put the `loot` list at the bottom of your spawner + +This is just to keep things organized. + +Good: + +```dm +/obj/effect/spawner/random/food_or_drink/donkpockets + name = "donk pocket box spawner" + spawn_loot_double = FALSE + loot = list( + /obj/item/storage/box/donkpockets/donkpocketspicy, + /obj/item/storage/box/donkpockets/donkpocketteriyaki, + /obj/item/storage/box/donkpockets/donkpocketpizza, + /obj/item/storage/box/donkpockets/donkpocketberry, + /obj/item/storage/box/donkpockets/donkpockethonk, + ) +``` + +Bad: + +```dm +/obj/effect/spawner/random/food_or_drink/donkpockets + name = "donk pocket box spawner" + loot = list( + /obj/item/storage/box/donkpockets/donkpocketspicy, + /obj/item/storage/box/donkpockets/donkpocketteriyaki, + /obj/item/storage/box/donkpockets/donkpocketpizza, + /obj/item/storage/box/donkpockets/donkpocketberry, + /obj/item/storage/box/donkpockets/donkpockethonk, + ) + spawn_loot_double = FALSE +``` + +### Always put a comma at the last item in the `loot` list + +This will make it easier for people to add items to your spawner later without getting frustrating code errors. + +Good: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze, + ) +``` + +Bad: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze // if someone adds an item to the list later it will cause an error + ) +``` + +### Keep the same tab formatting for the `loot` list (unless there is only one item) + +Again, this is just good code organization. If there is only one item, then encase that item in `loot = list(item)` + +Good: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze, + ) +``` + +Also Good: + +```dm +/obj/effect/spawner/random/structure/crate_abandoned + icon = 'icons/effects/landmarks_static.dmi' + icon_state = "loot_site" + spawn_loot_chance = 20 + loot = list(/obj/structure/closet/crate/secure/loot) +``` + +Bad: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze, + ) +``` + +Also Bad: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list(/obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze,) +``` + +### Try to keep the total combined weight of your `loot` list to sane values (Aim for 5, 10, 20, 50, or 100) + +This makes the math probability easier for people to calculate. (this is recommended, but not always possible) + +Good: + +```dm +/obj/effect/spawner/random/trash/cigbutt + name = "cigarette butt spawner" + loot = list( + /obj/item/cigbutt = 65, + /obj/item/cigbutt/roach = 20, + /obj/item/cigbutt/cigarbutt = 15, + ) +``` + +Also Good: + +```dm +/obj/effect/spawner/random/trash/botanical_waste + name = "botanical waste spawner" + loot = list( + /obj/item/grown/bananapeel = 6, + /obj/item/grown/corncob = 3, + /obj/item/food/grown/bungopit = 1, + ) +``` + +Bad: + +```dm +/obj/effect/spawner/random/entertainment/money_large + name = "large money spawner" + loot = list( + /obj/item/stack/spacecash/c1 = 521, + /obj/item/stack/spacecash/c10 = 378, + /obj/item/stack/spacecash/c20 = 212, + /obj/item/stack/spacecash/c50 = 205, + /obj/item/stack/spacecash/c100 = 71, + /obj/item/stack/spacecash/c200 = 60, + /obj/item/stack/spacecash/c500 = 57, + /obj/item/stack/spacecash/c1000 = 41, + /obj/item/stack/spacecash/c10000 = 12, + ) +``` + +### Do not put empty items in the loot list + +Instead use the `spawn_loot_chance` var to control the chance for the spawner to spawn nothing. + +Good: + +```dm +/obj/effect/spawner/random/structure/crate_abandoned + name = "locked crate spawner" + spawn_loot_chance = 20 + loot = list(/obj/structure/closet/crate/secure/loot) +``` + + +Bad: + +```dm +/obj/effect/spawner/lootdrop/crate_spawner + name = "lootcrate spawner" + loot = list( + "" = 80 + /obj/structure/closet/crate/secure/loot = 20, + ) +``` + +### Avoid making a spawner that is a duplicate + +We don't want copy-cat spawners that are almost identical. Instead merge spawners together if possible. + +Good: + +```dm +/obj/effect/spawner/random/exotic/armory + name = "armory loot spawner" + icon_state = "pistol" + loot = list( + /obj/item/gun/ballistic/automatic/pistol = 8, + /obj/item/gun/ballistic/shotgun/automatic/combat = 5, + /obj/item/storage/box/syndie_kit/throwing_weapons = 3, + /obj/item/grenade/clusterbuster/teargas = 2, + /obj/item/grenade/clusterbuster = 2, + /obj/item/gun/ballistic/automatic/pistol/deagle, + /obj/item/gun/ballistic/revolver/mateba, + ) +``` + + +Bad: + +```dm +/obj/effect/spawner/lootdrop/armory_contraband + loot = list( + /obj/item/gun/ballistic/automatic/pistol = 8, + /obj/item/gun/ballistic/shotgun/automatic/combat = 5, + /obj/item/gun/ballistic/automatic/pistol/deagle, + /obj/item/gun/ballistic/revolver/mateba + ) + +/obj/effect/spawner/lootdrop/armory_contraband/metastation + loot = list( + /obj/item/gun/ballistic/automatic/pistol = 8, + /obj/item/gun/ballistic/shotgun/automatic/combat = 5, + /obj/item/storage/box/syndie_kit/throwing_weapons = 3, + /obj/item/gun/ballistic/automatic/pistol/deagle, + /obj/item/gun/ballistic/revolver/mateba + ) + +``` diff --git a/code/game/objects/effects/spawners/random/salvaging.dm b/code/game/objects/effects/spawners/random/salvaging.dm new file mode 100644 index 00000000000..9a6f4571a35 --- /dev/null +++ b/code/game/objects/effects/spawners/random/salvaging.dm @@ -0,0 +1,207 @@ +//GENERIC +/obj/effect/spawner/random/salvage_capacitor + icon_state = "matter_bin" + loot = list( + /obj/item/stock_parts/capacitor = 120, + /obj/item/stock_parts/capacitor/adv = 20, + /obj/item/stock_parts/capacitor/super = 5, + ) + +/obj/effect/spawner/random/salvage_scanning + icon_state = "matter_bin" + loot = list( + /obj/item/stock_parts/scanning_module = 120, + /obj/item/stock_parts/scanning_module/adv = 20, + /obj/item/stock_parts/scanning_module/phasic = 5, + ) + +/obj/effect/spawner/random/salvage_manipulator + icon_state = "matter_bin" + loot = list( + /obj/item/stock_parts/manipulator = 120, + /obj/item/stock_parts/manipulator/nano = 20, + /obj/item/stock_parts/manipulator/pico = 5, + ) + +/obj/effect/spawner/random/salvage_matter_bin + icon_state = "matter_bin" + loot = list( + /obj/item/stock_parts/matter_bin = 120, + /obj/item/stock_parts/matter_bin/adv = 20, + /obj/item/stock_parts/matter_bin/super = 5, + ) + +/obj/effect/spawner/random/salvage_laser + icon_state = "matter_bin" + loot = list( + /obj/item/stock_parts/micro_laser = 120, + /obj/item/stock_parts/micro_laser/high = 20, + /obj/item/stock_parts/micro_laser/ultra = 5, + ) + +//PROTOLATHE + +/obj/effect/spawner/random/random_gun_protolathe_lootdrop + icon_state = "laser_gun" + loot = list( + /obj/item/gun/energy/lasercannon = 1, + /obj/item/gun/ballistic/automatic/smg/skm_carbine/saber = 1, + /obj/item/gun/energy/temperature/security = 1, + ) + +/obj/effect/spawner/random/random_ammo_protolathe_lootdrop + icon_state = "rubbershot" + loot = list( + /obj/item/stock_parts/cell/gun/upgraded = 5, + /obj/item/ammo_box/magazine/smgm9mm = 7, + ) + +//DESTRUCTIVE ANAL //i'm killing you +/obj/effect/spawner/random/destructive_anal_loot //what do people usually put in these things anayways + loot = list( + /obj/item/storage/toolbox/syndicate/empty = 650, + /obj/item/gun/ballistic/automatic/pistol/ringneck = 500, + /obj/item/camera_bug = 500, + /obj/item/clothing/gloves/combat = 200, + /obj/item/clothing/head/chameleon = 200, + /obj/item/pen/sleepy = 200, + /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor = 100, + /obj/item/grenade/c4 = 100, + + /obj/item/wrench/syndie = 30, + /obj/item/screwdriver/nuke = 30, + /obj/item/crowbar/syndie = 30, + /obj/item/wirecutters/syndie = 30, + /obj/item/multitool/syndie = 30, + ) + +/obj/effect/spawner/random/salvage_machine + name = "salvageable machine spawner" + icon_state = "arcade" + loot = list( + /obj/structure/salvageable/protolathe, + /obj/structure/salvageable/circuit_imprinter, + /obj/structure/salvageable/server, + /obj/structure/salvageable/machine, + /obj/structure/salvageable/autolathe, + /obj/structure/salvageable/computer, + /obj/structure/salvageable/destructive_analyzer + ) + +/obj/effect/spawner/random/salvage + name = "salvage mats spawner" + icon_state = "rods" + loot = list( + /obj/item/stack/ore/salvage/scrapmetal, + /obj/item/stack/ore/salvage/scrapgold, + /obj/item/stack/ore/salvage/scrapplasma, + /obj/item/stack/ore/salvage/scrapsilver, + /obj/item/stack/ore/salvage/scraptitanium, + /obj/item/stack/ore/salvage/scrapbluespace, + /obj/item/stack/ore/salvage/scrapuranium + ) + +/obj/effect/spawner/random/salvage/half + name = "50% salvage spawner" + spawn_loot_chance = 50 + loot = list( + /obj/effect/spawner/random/maintenance, + /obj/effect/spawner/random/salvage_machine, + /obj/effect/spawner/random/exotic/ripley, + /obj/structure/closet/crate/secure/loot, + ) + +/obj/effect/spawner/random/salvage/metal + loot = list( + /obj/item/stack/ore/salvage/scrapmetal + ) + +/obj/effect/spawner/random/salvage/metal/Initialize() + spawn_loot_count = pick(list( + 1, + 2, + 3, + 4 + )) + return ..() + +/obj/effect/spawner/random/salvage/gold + loot = list( + /obj/item/stack/ore/salvage/scrapgold + ) + +/obj/effect/spawner/random/salvage/gold/Initialize() + spawn_loot_count = pick(list( + 1, + 2, + 3, + 4 + )) + return ..() + +/obj/effect/spawner/random/salvage/plasma + loot = list( + /obj/item/stack/ore/salvage/scrapplasma + ) +/obj/effect/spawner/random/salvage/plasma/Initialize() + spawn_loot_count = pick(list( + 1, + 2, + 3, + 4 + )) + return ..() + + +/obj/effect/spawner/random/salvage/silver + loot = list( + /obj/item/stack/ore/salvage/scrapsilver + ) +/obj/effect/spawner/random/salvage/silver/Initialize() + spawn_loot_count = pick(list( + 1, + 2, + 3, + 4 + )) + return ..() + + +/obj/effect/spawner/random/salvage/titanium + loot = list( + /obj/item/stack/ore/salvage/scraptitanium + ) +/obj/effect/spawner/random/salvage/titanium/Initialize() + spawn_loot_count = pick(list( + 1, + 2, + 3, + 4 + )) + return ..() + +/obj/effect/spawner/random/salvage/bluespace + loot = list( + /obj/item/stack/ore/salvage/scrapbluespace + ) +/obj/effect/spawner/random/salvage/bluespace/Initialize() + spawn_loot_count = pick(list( + 1, + 2, + 3, + 4 + )) + return ..() + +/obj/effect/spawner/random/salvage/uranium + loot = list( + /obj/item/stack/ore/salvage/scrapuranium + ) +/obj/effect/spawner/random/salvage/uranium/Initialize() + spawn_loot_count = pick(list( + 1, + 2, + 3, + 4 + )) + return ..() diff --git a/code/game/objects/effects/spawners/random/structure.dm b/code/game/objects/effects/spawners/random/structure.dm new file mode 100644 index 00000000000..0264b3d76a9 --- /dev/null +++ b/code/game/objects/effects/spawners/random/structure.dm @@ -0,0 +1,91 @@ + +/obj/effect/spawner/random/structure + name = "structure spawner" + desc = "Now you see me, now you don't..." + icon_state = "girder" + +/obj/effect/spawner/random/structure/crate_abandoned + name = "locked crate spawner" + icon_state = "crate_secure" + spawn_loot_chance = 20 + loot = list(/obj/structure/closet/crate/secure/loot) + +/obj/effect/spawner/random/structure/girder + name = "girder spawner" + icon_state = "girder" + spawn_loot_chance = 90 + loot = list( // 80% chance normal girder, 10% chance of displaced, 10% chance of nothing + /obj/structure/girder = 8, + /obj/structure/girder/displaced = 1, + ) + +/obj/effect/spawner/random/structure/grille + name = "grille spawner" + icon_state = "grille" + spawn_loot_chance = 90 + loot = list( // 80% chance normal grille, 10% chance of broken, 10% chance of nothing + /obj/structure/grille = 8, + /obj/structure/grille/broken = 1, + ) + +/obj/effect/spawner/random/structure/furniture_parts + name = "furniture parts spawner" + icon_state = "table_parts" + loot = list( + /obj/structure/table_frame, + /obj/structure/table_frame/wood, + /obj/item/rack_parts, + ) + +/obj/effect/spawner/random/structure/table_or_rack + name = "table or rack spawner" + icon_state = "rack_parts" + loot = list( + /obj/effect/spawner/random/structure/table, + /obj/structure/rack, + ) + +/obj/effect/spawner/random/structure/table + name = "table spawner" + icon_state = "table" + loot = list( + /obj/structure/table = 40, + /obj/structure/table/wood = 30, + /obj/structure/table/glass = 20, + /obj/structure/table/reinforced = 5, + /obj/structure/table/wood/poker = 5, + ) + +/obj/effect/spawner/random/structure/closet_empty + name = "empty closet spawner" + icon_state = "locker" + loot = list( + /obj/structure/closet = 850, + /obj/structure/closet/cabinet = 150, + /obj/structure/closet/acloset = 1, + ) + +/obj/effect/spawner/random/structure/closet_empty/crate + name = "empty crate spawner" + icon_state = "crate" + loot = list( + /obj/structure/closet/crate = 20, + /obj/structure/closet/crate/wooden = 1, + /obj/structure/closet/crate/internals = 1, + /obj/structure/closet/crate/medical = 1, + /obj/structure/closet/crate/freezer = 1, + /obj/structure/closet/crate/radiation = 1, + /obj/structure/closet/crate/hydroponics = 1, + /obj/structure/closet/crate/engineering = 1, + /obj/structure/closet/crate/engineering/electrical = 1, + /obj/structure/closet/crate/science = 1, + ) + +/obj/effect/spawner/random/structure/barricade + name = "barricade spawner" + icon_state = "barricade" + spawn_loot_chance = 80 + loot = list( + /obj/structure/barricade/wooden, + /obj/structure/barricade/wooden/crude, + ) diff --git a/code/game/objects/effects/spawners/random/trash.dm b/code/game/objects/effects/spawners/random/trash.dm new file mode 100644 index 00000000000..3c15e77106a --- /dev/null +++ b/code/game/objects/effects/spawners/random/trash.dm @@ -0,0 +1,282 @@ +/obj/effect/spawner/random/trash + name = "trash spawner" + desc = "Ewwwwwww gross." + icon_state = "trash" + +/obj/effect/spawner/random/trash/garbage + name = "garbage spawner" + loot = list( + /obj/effect/spawner/random/trash/food_packaging = 20, + /obj/item/trash/can = 15, + /obj/item/shard = 10, + /obj/effect/spawner/random/trash/cigbutt = 10, + /obj/effect/spawner/random/trash/botanical_waste = 5, + /obj/item/broken_bottle = 5, + /obj/item/light/tube/broken = 5, + /obj/item/light/bulb/broken = 5, + /obj/item/assembly/mousetrap/armed = 5, + /obj/item/stack/cable_coil = 5, + /obj/item/trash/candle = 1, + /obj/item/reagent_containers/glass/rag = 1, + /obj/item/popsicle_stick = 1, + /obj/item/reagent_containers/syringe = 1, + /obj/item/shard/plasma = 1, + ) + +/obj/effect/spawner/random/trash/deluxe_garbage + name = "fancy deluxe garbage spawner" + loot = list( + /obj/effect/spawner/random/trash/garbage = 25, + /obj/effect/spawner/random/trash/food_packaging = 10, + /obj/effect/spawner/random/entertainment/money = 10, + /obj/effect/spawner/random/trash/crushed_can = 10, + /obj/item/shard/plasma = 5, + /obj/item/reagent_containers/pill/floorpill = 5, + /obj/effect/spawner/random/trash/soap = 3, + /obj/item/broken_bottle = 3, + /obj/effect/spawner/random/engineering/tool/common = 1, + /mob/living/simple_animal/mouse = 1, + /obj/item/reagent_containers/glass/rag = 1, + /obj/effect/spawner/random/entertainment/drugs= 1, + /obj/item/reagent_containers/syringe = 1, + /obj/effect/spawner/random/entertainment/cigar = 1, + /obj/item/stack/ore/gold = 1, + ) + +/obj/effect/spawner/random/trash/cigbutt + name = "cigarette butt spawner" + loot = list( + /obj/item/cigbutt = 25, + /obj/item/cigbutt/roach = 25, + /obj/effect/decal/cleanable/ash = 25, + /obj/item/cigbutt/cigarbutt = 15, + ) + +/obj/effect/spawner/random/trash/food_packaging + name = "empty food packaging spawner" + icon_state = "chips" + loot = list( + /obj/item/trash/raisins = 2, + /obj/item/trash/cheesie = 2, + /obj/item/trash/candy = 2, + /obj/item/trash/chips = 2, + /obj/item/trash/sosjerky = 2, + /obj/item/trash/pistachios = 2, + /obj/item/trash/boritos = 1, + /obj/item/trash/can/food/beans = 1, + /obj/item/trash/can/food/peaches = 1, + /obj/item/trash/popcorn = 1, + /obj/item/trash/energybar = 1, + /obj/item/trash/can/food/peaches/maint = 1, + /obj/item/trash/semki = 1, + /obj/item/trash/syndi_cakes = 1, + /obj/item/trash/tray = 1, + ) + +/obj/effect/spawner/random/trash/botanical_waste + name = "botanical waste spawner" + icon_state = "peel" + loot = list( + /obj/item/grown/bananapeel = 6, + /obj/item/grown/corncob = 3, + ) + +/obj/effect/spawner/random/trash/grille_or_waste + name = "grille or waste spawner" + icon_state = "grille" + loot = list( + /obj/structure/grille = 5, + /obj/effect/spawner/random/trash/food_packaging = 3, + /obj/effect/spawner/random/trash/cigbutt = 1, + /obj/item/reagent_containers/food/snacks/deadmouse = 1, + ) + +/obj/effect/spawner/random/trash/decal + icon_state = "vomit" + loot = list( + /obj/effect/decal/cleanable/greenglow/filled = 30, + /obj/effect/decal/cleanable/greenglow/ecto = 1, + /obj/effect/decal/cleanable/glass = 30, + /obj/effect/decal/cleanable/glass/plasma = 30, + /obj/effect/decal/cleanable/glass/strange = 30, + /obj/effect/decal/cleanable/molten_object = 30, + /obj/effect/decal/cleanable/molten_object/large = 30, + /obj/effect/decal/cleanable/oil = 30, + /obj/effect/decal/cleanable/oil/slippery = 1, // :) + /obj/effect/decal/cleanable/plastic = 30, + /obj/effect/decal/cleanable/ash = 30, + /obj/effect/decal/cleanable/ash/large = 30, + ) + +/obj/effect/spawner/random/trash/mess + name = "gross decal spawner" + icon_state = "vomit" + loot = list( + /obj/effect/decal/cleanable/dirt = 6, + /obj/effect/decal/cleanable/garbage = 3, + /obj/effect/decal/cleanable/vomit/old = 3, + /obj/effect/decal/cleanable/blood/gibs/old = 3, + /obj/effect/decal/cleanable/insectguts = 1, + /obj/effect/decal/cleanable/greenglow/ecto = 1, + /obj/effect/decal/cleanable/wrapping = 1, + /obj/effect/decal/cleanable/plastic = 1, + /obj/effect/decal/cleanable/glass = 1, + ) + +/obj/effect/spawner/random/trash/grime + name = "trash and grime spawner" + spawn_loot_count = 5 + spawn_scatter_radius = 2 + loot = list( // This spawner will scatter garbage around a dirty site. + /obj/effect/spawner/random/trash/garbage = 6, + /mob/living/simple_animal/hostile/cockroach = 5, + /obj/effect/decal/cleanable/garbage = 4, + /obj/effect/decal/cleanable/vomit/old = 3, + /obj/effect/spawner/random/trash/cigbutt = 2, + ) + +/obj/effect/spawner/random/trash/moisture + name = "water hazard spawner" + icon_state = "caution" + spawn_loot_count = 2 + spawn_scatter_radius = 1 + loot = list( // This spawner will scatter water related items around a moist site. + /obj/item/clothing/head/cone = 7, + /obj/item/clothing/suit/caution = 3, + /mob/living/simple_animal/hostile/retaliate/frog = 2, + /obj/item/reagent_containers/glass/rag = 2, + /obj/item/reagent_containers/glass/bucket = 2, + /obj/effect/decal/cleanable/blood/old = 2, + ) + +/obj/effect/spawner/random/trash/graffiti + name = "random graffiti spawner" + icon_state = "rune" + loot = list(/obj/effect/decal/cleanable/crayon) + var/graffiti_icons = list( + "rune1", "rune2", "rune3", "rune4", "rune5", "rune6", + "amyjon", "face", "matt", "revolution", "engie", "guy", + "end", "dwarf", "uboa", "body", "cyka", "star", + "prolizard", "antilizard", "danger", "firedanger", "electricdanger", + "biohazard", "radiation", "safe", "evac", "space", "med", "trade", "shop", + "food", "peace", "like", "skull", "nay", "heart", "credit", + "smallbrush", "brush", "largebrush", "splatter", "snake", "stickman", + "carp", "ghost", "clown", "taser", "disk", "fireaxe", "toolbox", + "corgi", "cat", "toilet", "blueprint", "beepsky", "scroll", "bottle", + "shotgun", "arrow", "line", "thinline", "shortline", "body", "chevron", + "footprint", "clawprint", "pawprint", + ) + // This sets the color of the graffiti (used for mapedits) + color = COLOR_WHITE + /// Whether the graffiti will spawn with a random color (used for mapedits) + var/random_color = TRUE + /// Whether the graffiti will spawn with this spawner's icon_state instead of a random one (used for mapedits) + var/random_icon = TRUE + +/obj/effect/spawner/random/trash/graffiti/make_item(spawn_loc, type_path_to_make) + var/obj/effect/decal/cleanable/crayon/graffiti_decal = ..() + if(istype(graffiti_decal)) + color = random_color && "#[random_short_color()]" || color + icon_state = random_icon && pick(graffiti_icons) || icon_state + + graffiti_decal.add_atom_colour(color, FIXED_COLOUR_PRIORITY) + graffiti_decal.icon_state = icon_state + + return graffiti_decal + +/obj/effect/spawner/random/trash/mopbucket + name = "mop bucket spawner" + icon_state = "mopbucket" + spawn_loot_count = 2 + spawn_loot_double = FALSE + loot = list( + /obj/item/mop = 5, + /obj/item/clothing/suit/caution = 3, + /obj/item/reagent_containers/glass/bucket = 1, + /obj/item/reagent_containers/glass/bucket/wooden = 1, + ) + +/obj/effect/spawner/random/trash/caution_sign + name = "caution sign spawner" + icon_state = "caution" + loot = list( + /obj/item/clothing/suit/caution = 40, + /obj/structure/holosign/wetsign = 5, + /obj/structure/holosign/barrier = 3, + /obj/structure/holosign/barrier/wetsign = 2, + ) + +/obj/effect/spawner/random/trash/bucket + name = "bucket spawner" + icon_state = "caution" + loot = list( + /obj/item/reagent_containers/glass/bucket, + /obj/item/reagent_containers/glass/bucket/wooden, + ) + +/obj/effect/spawner/random/trash/soap + name = "soap spawner" + icon_state = "soap" + loot = list( + /obj/item/soap = 25, + /obj/item/bikehorn/rubberducky = 20, + /obj/item/soap/homemade = 20, + /obj/item/soap/deluxe = 15, + /obj/item/soap/nanotrasen = 10, + ) + +/obj/effect/spawner/random/trash/box + name = "box spawner" + icon_state = "box" + loot = list( + /obj/structure/closet/cardboard = 9, + /obj/structure/closet/cardboard/metal = 1, + ) + +/obj/effect/spawner/random/trash/bin + name = "trashbin spawner" + icon_state = "trash_bin" + loot = list( + /obj/structure/closet/crate/bin = 10, + /obj/structure/closet/crate/trashcart = 3, + /obj/effect/spawner/random/trash/box = 3, + /obj/structure/closet/crate/trashcart/laundry = 1, + ) + + +/obj/effect/spawner/random/trash/janitor_supplies + name = "janitor supplies spawner" + icon_state = "box_small" + loot = list( + /obj/item/storage/box/mousetraps, + /obj/item/storage/box/lights/tubes, + /obj/item/storage/box/lights/mixed, + /obj/item/storage/box/lights/bulbs, + ) + +/obj/effect/spawner/random/trash/crushed_can + name = "crushed can spawner" + icon_state = "crushed_can" + loot = list(/obj/item/trash/can) + /// Whether the can will spawn with this spawner's icon_state instead of a random one (used for mapedits) + var/soda_icons = list( + "energy_drink", "monkey_energy", "thirteen_loko", "space_mountain_wind", "dr_gibb", "starkist", + "sodawater", "tonic", "cola", "purple_can", "ice_tea_can", + "sol_dry", "wellcheers", "space beer", "ebisu", "shimauma", "moonlabor", + "space_up", "lemon_lime", "shamblers", "shamblerseldritch", "air", "laughter", + "volt_energy", "melon_soda", + ) + +/obj/effect/spawner/random/trash/crushed_can/make_item(spawn_loc, type_path_to_make) + var/obj/item/trash/can/crushed_can = .. () + 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/glass/bucket = 5, + /obj/item/reagent_containers/glass/bottle = 5, + /obj/item/reagent_containers/glass/mortar = 2, + ) diff --git a/code/game/objects/effects/spawners/random/vending.dm b/code/game/objects/effects/spawners/random/vending.dm new file mode 100644 index 00000000000..595746e14e1 --- /dev/null +++ b/code/game/objects/effects/spawners/random/vending.dm @@ -0,0 +1,17 @@ +/obj/effect/spawner/random/vending + name = "machinery spawner" + desc = "Randomized electronics for extra fun." + +/obj/effect/spawner/random/vending/snack + name = "spawn random snack vending machine" + desc = "Automagically transforms into a random snack vendor. If you see this while in a shift, please create a bug report." + icon_state = "snack" + loot_type_path = /obj/machinery/vending/snack + loot = list() + +/obj/effect/spawner/random/vending/cola + name = "spawn random cola vending machine" + desc = "Automagically transforms into a random cola vendor. If you see this while in a shift, please create a bug report." + icon_state = "cola" + loot_type_path = /obj/machinery/vending/cola + loot = list() diff --git a/code/game/objects/effects/spawners/random/waste_planet.dm b/code/game/objects/effects/spawners/random/waste_planet.dm new file mode 100644 index 00000000000..64379c40b3d --- /dev/null +++ b/code/game/objects/effects/spawners/random/waste_planet.dm @@ -0,0 +1,144 @@ +/obj/effect/spawner/random/waste/grille_or_trash + icon_state = "grille" + name = "wasteplanet loot spawner" + loot = list( + /obj/structure/grille/broken = 5, + /obj/structure/grille = 5, + /obj/item/cigbutt = 1, + /obj/item/trash/cheesie = 1, + /obj/item/trash/candy = 1, + /obj/item/trash/chips = 1, + /obj/item/reagent_containers/food/snacks/deadmouse = 1, + /obj/item/trash/pistachios = 1, + /obj/item/trash/plate = 1, + /obj/item/trash/popcorn = 1, + /obj/item/trash/raisins = 1, + /obj/item/trash/sosjerky = 1, + /obj/item/trash/syndi_cakes = 1 + ) + +/obj/effect/spawner/random/waste/mechwreck + icon_state = "ripley" + name = "wasteplanet exosuit wreckage" + loot = list( + /obj/structure/mecha_wreckage/ripley = 15, + /obj/structure/mecha_wreckage/ripley/firefighter = 9, + /obj/structure/mecha_wreckage/ripley/mkii = 9, + /obj/structure/mecha_wreckage/ripley/clip = 9 + ) + +/obj/effect/spawner/random/waste/mechwreck/rare + loot = list( + /obj/structure/mecha_wreckage/durand = 12.5, + /obj/structure/mecha_wreckage/durand/clip = 12.5, + /obj/structure/mecha_wreckage/odysseus = 25, + /obj/structure/mecha_wreckage/gygax = 25 + ) + +/obj/effect/spawner/random/waste/radiation + loot = list( + /obj/structure/radioactive = 6, + /obj/structure/radioactive/stack = 6, + /obj/structure/radioactive/waste = 6 + ) + +/obj/effect/spawner/random/waste/radiation/more_rads + loot = list( + /obj/structure/radioactive = 3, + /obj/structure/radioactive/stack = 12, + /obj/structure/radioactive/waste = 12 + ) + +/obj/effect/spawner/random/waste/atmos_can + loot = list( + /obj/machinery/portable_atmospherics/canister/toxins = 3, + /obj/machinery/portable_atmospherics/canister/carbon_dioxide = 3, + /obj/machinery/portable_atmospherics/canister/nitrogen = 3, + /obj/machinery/portable_atmospherics/canister/oxygen = 3, + /obj/machinery/portable_atmospherics/canister/nitrous_oxide = 1, + /obj/machinery/portable_atmospherics/canister/water_vapor = 1 + ) + +/obj/effect/spawner/random/waste/atmos_can/rare + loot = list( + /obj/machinery/portable_atmospherics/canister/tritium = 3, + /obj/machinery/portable_atmospherics/canister/methane = 3 + ) + +/obj/effect/spawner/random/waste/salvageable + loot = list( + /obj/structure/salvageable/machine = 20, + /obj/structure/salvageable/autolathe = 15, + /obj/structure/salvageable/computer = 10, + /obj/structure/salvageable/protolathe = 10, + /obj/structure/salvageable/circuit_imprinter = 8, + /obj/structure/salvageable/destructive_analyzer = 8, + /obj/structure/salvageable/server = 8 + ) + +/obj/effect/spawner/random/waste/girder + loot = list( + /obj/structure/girder/wasteworld, + /obj/structure/girder/wasteworld, + /obj/structure/girder/wasteworld, + /obj/structure/girder, + /obj/structure/girder/displaced, + /obj/structure/girder/reinforced + ) + +/obj/effect/spawner/random/waste/hivebot + loot = list( + /obj/effect/spawner/random/salvage/metal, + /obj/effect/spawner/random/salvage/metal, + /obj/effect/spawner/random/salvage/metal, + /obj/effect/spawner/random/salvage/gold, + /obj/effect/spawner/random/salvage/plasma, + /obj/effect/spawner/random/salvage/silver, + /obj/effect/spawner/random/salvage/titanium, + /obj/item/stack/ore/salvage/scrapbluespace, + /obj/item/stack/ore/salvage/scrapbluespace, + /obj/item/stack/ore/salvage/scrapuranium + ) + spawn_loot_count = 2 + +/obj/effect/spawner/random/waste/hivebot/more + spawn_loot_count = 4 + +/obj/effect/spawner/random/waste/hivebot/part + loot = list( + /obj/item/stock_parts/capacitor, + /obj/item/stock_parts/scanning_module, + /obj/item/stock_parts/manipulator, + /obj/item/stock_parts/micro_laser, + /obj/item/stock_parts/matter_bin, + /obj/item/stock_parts/capacitor/adv, + /obj/item/stock_parts/scanning_module/adv, + /obj/item/stock_parts/manipulator/nano, + /obj/item/stock_parts/micro_laser/high, + /obj/item/stock_parts/matter_bin/adv, + ) + spawn_loot_count = 1 + spawn_loot_chance = 100 + +/obj/effect/spawner/random/waste/hivebot/part/heavy + loot = list( + /obj/item/stock_parts/capacitor/super, + /obj/item/stock_parts/scanning_module/phasic, + /obj/item/stock_parts/manipulator/pico, + /obj/item/stock_parts/micro_laser/ultra, + /obj/item/stock_parts/matter_bin/super, + ) + + +/obj/effect/spawner/random/waste/hivebot/part/superheavy + loot = list( + /obj/item/stock_parts/capacitor/quadratic, + /obj/item/stock_parts/scanning_module/triphasic, + /obj/item/stock_parts/manipulator/femto, + /obj/item/stock_parts/micro_laser/quadultra, + /obj/item/stock_parts/matter_bin/bluespace, + ) + + +/obj/effect/spawner/random/waste/hivebot/beacon + spawn_loot_count = 6 diff --git a/code/game/objects/effects/spawners/spawner.dm b/code/game/objects/effects/spawners/spawner.dm new file mode 100644 index 00000000000..d8091c6cfc6 --- /dev/null +++ b/code/game/objects/effects/spawners/spawner.dm @@ -0,0 +1,23 @@ +/obj/effect/spawner + name = "object spawner" + +// Brief explanation: +// Rather then setting up and then deleting spawners, we block all atomlike setup +// and do the absolute bare minimum +// This is with the intent of optimizing mapload +/obj/effect/spawner/Initialize(mapload) + SHOULD_CALL_PARENT(FALSE) + if(flags_1 & INITIALIZED_1) + stack_trace("Warning: [src]([type]) initialized multiple times!") + flags_1 |= INITIALIZED_1 + + return INITIALIZE_HINT_QDEL + +/obj/effect/spawner/Destroy(force) + SHOULD_CALL_PARENT(FALSE) + moveToNullspace() + return QDEL_HINT_QUEUE + +/// Override to define loot blacklist behavior +/obj/effect/spawner/proc/can_spawn(atom/loot) + return TRUE diff --git a/code/game/objects/effects/spawners/traps.dm b/code/game/objects/effects/spawners/traps.dm deleted file mode 100644 index 0409d9944b9..00000000000 --- a/code/game/objects/effects/spawners/traps.dm +++ /dev/null @@ -1,9 +0,0 @@ -/obj/effect/spawner/trap - name = "random trap" - icon = 'icons/obj/hand_of_god_structures.dmi' - icon_state = "trap_rand" - -/obj/effect/spawner/trap/Initialize(mapload) - . = ..() - var/new_type = pick(subtypesof(/obj/structure/trap) - typesof(/obj/structure/trap/ctf)) - new new_type(get_turf(src)) diff --git a/code/game/objects/effects/spawners/vaultspawner.dm b/code/game/objects/effects/spawners/vaultspawner.dm deleted file mode 100644 index 9bdf0a673ed..00000000000 --- a/code/game/objects/effects/spawners/vaultspawner.dm +++ /dev/null @@ -1,28 +0,0 @@ -/obj/effect/vaultspawner - var/maxX = 6 - var/maxY = 6 - var/minX = 2 - var/minY = 2 - -/obj/effect/vaultspawner/New(turf/location,lX = minX,uX = maxX,lY = minY,uY = maxY,type = null) - if(!type) - type = pick("sandstone","rock","alien") - - var/lowBoundX = location.x - var/lowBoundY = location.y - - var/hiBoundX = location.x + rand(lX,uX) - var/hiBoundY = location.y + rand(lY,uY) - - var/z = location.z - - for(var/i = lowBoundX,i<=hiBoundX,i++) - for(var/j = lowBoundY,j<=hiBoundY,j++) - var/turf/T = locate(i,j,z) - if(i == lowBoundX || i == hiBoundX || j == lowBoundY || j == hiBoundY) - T.PlaceOnTop(/turf/closed/wall/vault) - else - T.PlaceOnTop(/turf/open/floor/vault) - T.icon_state = "[type]vault" - - qdel(src) diff --git a/code/game/objects/effects/spawners/xeno_egg_delivery.dm b/code/game/objects/effects/spawners/xeno_egg_delivery.dm deleted file mode 100644 index 1eb4fd0dda9..00000000000 --- a/code/game/objects/effects/spawners/xeno_egg_delivery.dm +++ /dev/null @@ -1,18 +0,0 @@ -/obj/effect/spawner/xeno_egg_delivery - name = "xeno egg delivery" - icon = 'icons/mob/alien.dmi' - icon_state = "egg_growing" - var/announcement_time = 1200 - -/obj/effect/spawner/xeno_egg_delivery/Initialize(mapload) - . = ..() - var/turf/T = get_turf(src) - - new /obj/structure/alien/egg(T) - new /obj/effect/temp_visual/gravpush(T) - playsound(T, 'sound/items/party_horn.ogg', 50, TRUE, -1) - - message_admins("An alien egg has been delivered to [ADMIN_VERBOSEJMP(T)].") - log_game("An alien egg has been delivered to [AREACOORD(T)]") - var/message = "Attention [station_name()], we have entrusted you with a research specimen in [get_area_name(T, TRUE)]. Remember to follow all safety precautions when dealing with the specimen." - SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_addtimer), CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(print_command_report), message), announcement_time)) diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index 4913f9b835c..92c92655cb8 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -207,16 +207,6 @@ icon_state = "blspell" duration = 5 -/obj/effect/temp_visual/guardian - randomdir = 0 - -/obj/effect/temp_visual/guardian/phase - duration = 5 - icon_state = "phasein" - -/obj/effect/temp_visual/guardian/phase/out - icon_state = "phaseout" - /obj/effect/temp_visual/decoy desc = "It's a decoy!" duration = 15 @@ -346,13 +336,6 @@ icon_state = "explosionfast" duration = 4 -/obj/effect/temp_visual/blob - name = "blob" - icon_state = "blob_attack" - alpha = 140 - randomdir = 0 - duration = 6 - /obj/effect/temp_visual/desynchronizer name = "desynchronizer field" icon_state = "chronofield" @@ -469,6 +452,11 @@ duration = 12 shrink = FALSE +/obj/effect/temp_visual/light_ash + icon_state = "light_ash" + icon = 'icons/effects/weather_effects.dmi' + duration = 3.2 SECONDS + /obj/effect/temp_visual/warp_cube duration = 5 var/outgoing = TRUE diff --git a/code/game/objects/effects/turf_fire.dm b/code/game/objects/effects/turf_fire.dm index a0c9e0f95a9..9dbcaa27034 100644 --- a/code/game/objects/effects/turf_fire.dm +++ b/code/game/objects/effects/turf_fire.dm @@ -5,7 +5,7 @@ #define TURF_FIRE_VOLUME 150 #define TURF_FIRE_MAX_POWER 50 -#define TURF_FIRE_ENERGY_PER_BURNED_OXY_MOL 12000 +#define TURF_FIRE_ENERGY_PER_BURNED_OXY_MOL 30000 #define TURF_FIRE_BURN_RATE_BASE 0.12 #define TURF_FIRE_BURN_RATE_PER_POWER 0.02 #define TURF_FIRE_BURN_CARBON_DIOXIDE_MULTIPLIER 0.75 @@ -65,11 +65,17 @@ /obj/effect/abstract/turf_fire/Initialize(mapload, power, fire_color) . = ..() - particles = new /particles/lava var/turf/open/open_turf = loc if(open_turf.turf_fire) return INITIALIZE_HINT_QDEL + var/datum/gas_mixture/environment = open_turf.air + var/oxy = environment.get_moles(GAS_O2) + if (oxy < TURF_FIRE_BURN_MINIMUM_OXYGEN_REQUIRED) + return INITIALIZE_HINT_QDEL + + particles = new /particles/smoke/turf_fire + var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) @@ -84,6 +90,18 @@ color = fire_color base_icon_state = "greyscale" + switch(base_icon_state) //switches light color depdning on the flame color + if("greyscale") + light_color = hex_color + if("red") + light_color = LIGHT_COLOR_FIRE + if("blue") + light_color = LIGHT_COLOR_CYAN + if("green") + light_color = LIGHT_COLOR_GREEN + else + light_color = COLOR_VERY_LIGHT_GRAY + open_turf.turf_fire = src START_PROCESSING(SSturf_fire, src) if(power) @@ -100,27 +118,28 @@ var/turf/open/open_turf = loc if(open_turf.planetary_atmos) return TRUE + var/datum/gas_mixture/cached_air = open_turf.air + var/oxy = cached_air.get_moles(GAS_O2) if (oxy < TURF_FIRE_BURN_MINIMUM_OXYGEN_REQUIRED) return FALSE + var/temperature = cached_air.return_temperature() var/old_heat_capacity = cached_air.heat_capacity() + var/burn_rate = TURF_FIRE_BURN_RATE_BASE + fire_power * TURF_FIRE_BURN_RATE_PER_POWER - if(burn_rate > oxy) - burn_rate = oxy + burn_rate = max(oxy, burn_rate) - var/new_o2 = (cached_air.get_moles(GAS_O2) - burn_rate) - cached_air.set_moles(GAS_O2, new_o2) + cached_air.adjust_moles(GAS_O2, -burn_rate) - var/new_co2 = (cached_air.get_moles(GAS_O2) + burn_rate * TURF_FIRE_BURN_CARBON_DIOXIDE_MULTIPLIER) - cached_air.set_moles(GAS_CO2, new_co2) + cached_air.adjust_moles(GAS_CO2, burn_rate * TURF_FIRE_BURN_CARBON_DIOXIDE_MULTIPLIER) var/new_heat_capacity = cached_air.heat_capacity() var/energy_released = burn_rate * TURF_FIRE_ENERGY_PER_BURNED_OXY_MOL cached_air.adjust_heat((temperature * old_heat_capacity + energy_released) / new_heat_capacity) - open_turf.air = cached_air - open_turf.air_update_turf(TRUE) + + open_turf.air_update_turf() return TRUE /obj/effect/abstract/turf_fire/process() @@ -180,29 +199,18 @@ return current_fire_state = new_state - switch(base_icon_state) //switches light color depdning on the flame color - if("greyscale") - light_color = hex_color - if("red") - light_color = LIGHT_COLOR_FIRE - if("blue") - light_color = LIGHT_COLOR_CYAN - if("green") - light_color = LIGHT_COLOR_GREEN - else - light_color = COLOR_VERY_LIGHT_GRAY - update_light() - switch(current_fire_state) if(TURF_FIRE_STATE_SMALL) icon_state = "[base_icon_state]_small" - set_light_range(1.5) + light_range = 1.5 if(TURF_FIRE_STATE_MEDIUM) icon_state = "[base_icon_state]_medium" - set_light_range(2.5) + light_range = 2 if(TURF_FIRE_STATE_LARGE) icon_state = "[base_icon_state]_big" - set_light_range(3) + light_range = 3 + + update_light() #undef TURF_FIRE_REQUIRED_TEMP #undef TURF_FIRE_TEMP_BASE diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 033307e5472..58cbaabc5e8 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -2,6 +2,10 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons/effects/welding_effect.dmi', "welding_sparks", GASFIRE_LAYER, ABOVE_LIGHTING_PLANE)) +GLOBAL_DATUM_INIT(cutting_effect, /mutable_appearance, mutable_appearance('icons/effects/cutting_effect.dmi', "cutting_effect", GASFIRE_LAYER, ABOVE_LIGHTING_PLANE)) + +GLOBAL_DATUM_INIT(advanced_cutting_effect, /mutable_appearance, mutable_appearance('icons/effects/cutting_effect.dmi', "advanced_cutting_effect", GASFIRE_LAYER, ABOVE_LIGHTING_PLANE)) + GLOBAL_DATUM_INIT(cleaning_bubbles, /mutable_appearance, mutable_appearance('icons/effects/effects.dmi', "bubbles", ABOVE_MOB_LAYER, GAME_PLANE)) GLOBAL_VAR_INIT(rpg_loot_items, FALSE) @@ -13,7 +17,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb /obj/item name = "item" - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' blocks_emissive = EMISSIVE_BLOCK_GENERIC ///icon state name for inhand overlays var/item_state = null @@ -22,16 +26,23 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb ///Icon file for right inhand overlays var/righthand_file = 'icons/mob/inhands/items_righthand.dmi' + ///If set it will add a world icon using item_state + var/world_file + + ///Handled by world_icon element + var/world_state + ///Handled by world_icon element + var/inventory_state + ///This is a bitfield that defines what variations exist for bodyparts like Digi legs. var/supports_variations = null ///If set, kepori wearing this use this instead of their clothing file - var/kepoi_override_icon - + var/kepori_override_icon ///If set, vox wearing this use this instead of their clothing file var/vox_override_icon - /// Needs to follow this syntax: either a list() with the x and y coordinates of the pixel you want to get the colour from, or a hexcolour. Colour one replaces red, two replaces blue, and three replaces green in the icon state. + /// Needs to follow this syntax: either a list() with the x and y coordinates of the pixel you want to get the colour from, or a hexcolour. Colour one replaces red, two replaces green, and three replaces blue in the icon state. var/list/greyscale_colors[3] /// Needs to be a RGB-greyscale format icon state in all species' clothing icon files. var/greyscale_icon_state @@ -135,6 +146,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb var/strip_delay = 40 ///How long it takes to resist out of the item (cuffs and such) var/breakouttime = 0 + ///How much power would this item use? + var/power_use_amount = POWER_CELL_USE_NORMAL /// Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]" var/list/attack_verb @@ -162,6 +175,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb var/tool_behaviour = NONE ///How fast does the tool work var/toolspeed = 1 + /// how much damage does this item do when tearing down walls during deconstruction steps? + var/wall_decon_damage = 0 var/block_chance = 0 var/block_cooldown_time = 1 SECONDS @@ -202,10 +217,6 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb var/canMouseDown = FALSE - //for setting world icons on the go - var/inventory_state - var/world_state - /obj/item/Initialize() if(attack_verb) @@ -240,16 +251,57 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb qdel(X) return ..() +/// Called when an action associated with our item is deleted +/obj/item/proc/on_action_deleted(datum/source) + SIGNAL_HANDLER + + if(!(source in actions)) + CRASH("An action ([source.type]) was deleted that was associated with an item ([src]), but was not found in the item's actions list.") + + LAZYREMOVE(actions, source) + + +/// Adds an item action to our list of item actions. +/// Item actions are actions linked to our item, that are granted to mobs who equip us. +/// This also ensures that the actions are properly tracked in the actions list and removed if they're deleted. +/// Can be be passed a typepath of an action or an instance of an action. +/obj/item/proc/add_item_action(action_or_action_type) + + var/datum/action/action + if(ispath(action_or_action_type, /datum/action)) + action = new action_or_action_type(src) + else if(istype(action_or_action_type, /datum/action)) + action = action_or_action_type + else + CRASH("item add_item_action got a type or instance of something that wasn't an action.") + + LAZYADD(actions, action) + RegisterSignal(action, COMSIG_PARENT_QDELETING, PROC_REF(on_action_deleted)) + grant_action_to_bearer(action) + return action + +/// Grant the action to anyone who has this item equipped to an appropriate slot +/obj/item/proc/grant_action_to_bearer(datum/action/action) + if(!ismob(loc)) + return + var/mob/holder = loc + give_item_action(action, holder, holder.get_slot_by_item(src)) + +/// Removes an instance of an action from our list of item actions. +/obj/item/proc/remove_item_action(datum/action/action) + if(!action) + return + + UnregisterSignal(action, COMSIG_PARENT_QDELETING) + LAZYREMOVE(actions, action) + qdel(action) + /obj/item/proc/check_allowed_items(atom/target, not_inside, target_self) if(((src in target) && !target_self) || (!isturf(target.loc) && !isturf(target) && not_inside)) return 0 else return 1 -/obj/item/blob_act(obj/structure/blob/B) - if(B && B.loc == loc) - qdel(src) - /obj/item/ComponentInitialize() . = ..() // this proc says it's for initializing components, but we're initializing elements too because it's you and me against the world >:) @@ -263,6 +315,9 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb updateEmbedding() + if(world_file) + AddElement(/datum/element/world_icon, null, world_file, icon) + if(GLOB.rpg_loot_items) AddComponent(/datum/component/fantasy) @@ -470,8 +525,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb playsound(src, 'sound/weapons/effects/deflect.ogg', 100) if(!istype(src, /obj/item/shield)) COOLDOWN_START(src, block_cooldown, block_cooldown_time) - return 1 - return 0 + return TRUE + return FALSE /obj/item/proc/talk_into(mob/M, input, channel, spans, datum/language/language, list/message_mods) return ITALICS | REDUCE_RANGE @@ -535,9 +590,21 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb playsound(src, pickup_sound, PICKUP_SOUND_VOLUME, ignore_walls = FALSE) user.update_equipment_speed_mods() -///sometimes we only want to grant the item's action if it's equipped in a specific slot. -/obj/item/proc/item_action_slot_check(slot, mob/user) - if(slot == ITEM_SLOT_BACKPACK || slot == ITEM_SLOT_LEGCUFFED) //these aren't true slots, so avoid granting actions there +/// Gives one of our item actions to a mob, when equipped to a certain slot +/obj/item/proc/give_item_action(datum/action/action, mob/to_who, slot) + // Some items only give their actions buttons when in a specific slot. + if(!item_action_slot_check(slot, to_who)) + // There is a chance we still have our item action currently, + // and are moving it from a "valid slot" to an "invalid slot". + // So call Remove() here regardless, even if excessive. + action.Remove(to_who) + return + + action.Grant(to_who) + +/// Sometimes we only want to grant the item's action if it's equipped in a specific slot. +/obj/item/proc/item_action_slot_check(slot, mob/user, datum/action/action) + if(slot & (ITEM_SLOT_BACKPACK|ITEM_SLOT_LEGCUFFED)) //these aren't true slots, so avoid granting actions there return FALSE return TRUE @@ -817,7 +884,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb ..() /obj/item/proc/microwave_act(obj/machinery/microwave/M) - SEND_SIGNAL(src, COMSIG_ITEM_MICROWAVE_ACT, M) + if(SEND_SIGNAL(src, COMSIG_ITEM_MICROWAVE_ACT, M) & COMPONENT_SUCCESFUL_MICROWAVE) + return if(istype(M) && M.dirty < 100) M.dirty++ @@ -899,8 +967,16 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb /obj/item/proc/remove_outline() remove_filter(HOVER_OUTLINE_FILTER) +/// Use the power of an attached component that posesses power handling, will return the signal bitflag. +/obj/item/proc/item_use_power(use_amount, mob/user, check_only) + SHOULD_CALL_PARENT(TRUE) + return SEND_SIGNAL(src, COMSIG_ITEM_POWER_USE, use_amount, user, check_only) + /// Called when a mob tries to use the item as a tool.Handles most checks. /obj/item/proc/use_tool(atom/target, mob/living/user, delay, amount=0, volume=0, datum/callback/extra_checks) + // we have no target, why are we even doing this? + if(isnull(target)) + return // No delay means there is no start message, and no reason to call tool_start_check before use_tool. // Run the start check here so we wouldn't have to call it manually. if(!delay && !tool_start_check(user, amount)) @@ -1126,3 +1202,115 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb */ /obj/item/proc/get_writing_implement_details() return null + +/obj/item/proc/can_trigger_gun(mob/living/user) + if(!user.can_use_guns(src)) + return FALSE + return TRUE + +/// Whether or not this item can be put into a storage item through attackby +/obj/item/proc/attackby_storage_insert(datum/storage, atom/storage_holder, mob/user) + return TRUE + +/obj/item/proc/update_weight_class(new_w_class) + if(w_class == new_w_class) + return FALSE + + var/old_w_class = w_class + w_class = new_w_class + SEND_SIGNAL(src, COMSIG_ITEM_WEIGHT_CLASS_CHANGED, old_w_class, new_w_class) + if(!isnull(loc)) + SEND_SIGNAL(loc, COMSIG_ATOM_CONTENTS_WEIGHT_CLASS_CHANGED, src, old_w_class, new_w_class) + return TRUE + +/// How many different types of mats will be counted in a bite? +#define MAX_MATS_PER_BITE 2 + +/* + * On accidental consumption: when you somehow end up eating an item accidentally (currently, this is used for when items are hidden in food like bread or cake) + * + * The base proc will check if the item is sharp and has a decent force. + * Then, it checks the item's mat datums for the effects it applies afterwards. + * Then, it checks tiny items. + * After all that, it returns TRUE if the item is set to be discovered. Otherwise, it returns FALSE. + * + * This works similarily to /suicide_act: if you want an item to have a unique interaction, go to that item + * and give it an /on_accidental_consumption proc override. For a simple example of this, check out the nuke disk. + * + * Arguments + * * M - the mob accidentally consuming the item + * * user - the mob feeding M the item - usually, it's the same as M + * * source_item - the item that held the item being consumed - bread, cake, etc + * * discover_after - if the item will be discovered after being chomped (FALSE will usually mean it was swallowed, TRUE will usually mean it was bitten into and discovered) + */ +/obj/item/proc/on_accidental_consumption(mob/living/carbon/victim, mob/living/carbon/user, obj/item/source_item, discover_after = TRUE) + if(get_sharpness() && force >= 5) //if we've got something sharp with a decent force (ie, not plastic) + INVOKE_ASYNC(victim, TYPE_PROC_REF(/mob, force_scream)) + victim.visible_message("[victim] looks like [victim.p_theyve()] just bit something they shouldn't have!", \ + "OH GOD! Was that a crunch? That didn't feel good at all!!") + + victim.apply_damage(max(15, force), BRUTE, BODY_ZONE_HEAD) + victim.losebreath += 2 + if(tryEmbed(victim.get_bodypart(BODY_ZONE_CHEST), forced = TRUE)) //and if it embeds successfully in their chest, cause a lot of pain + victim.apply_damage(max(25, force*1.5), BRUTE, BODY_ZONE_CHEST) + victim.losebreath += 6 + discover_after = FALSE + if(QDELETED(src)) // in case trying to embed it caused its deletion (say, if it's DROPDEL) + return + source_item?.reagents?.add_reagent(/datum/reagent/blood, 2) + + else if(custom_materials?.len) //if we've got materials, lets see whats in it + /// How many mats have we found? You can only be affected by two material datums by default + var/found_mats = 0 + /// How much of each material is in it? Used to determine if the glass should break + var/total_material_amount = 0 + + for(var/mats in custom_materials) + total_material_amount += custom_materials[mats] + if(found_mats >= MAX_MATS_PER_BITE) + continue //continue instead of break so we can finish adding up all the mats to the total + + var/datum/material/discovered_mat = mats + if(discovered_mat.on_accidental_mat_consumption(victim, source_item)) + found_mats++ + + //if there's glass in it and the glass is more than 60% of the item, then we can shatter it + if(custom_materials[SSmaterials.GetMaterialRef(/datum/material/glass)] >= total_material_amount * 0.60) + if(prob(66)) //66% chance to break it + /// The glass shard that is spawned into the source item + var/obj/item/shard/broken_glass = new /obj/item/shard(loc) + broken_glass.name = "broken [name]" + broken_glass.desc = "This used to be \a [name], but it sure isn't anymore." + playsound(victim, "shatter", 25, TRUE) + qdel(src) + if(QDELETED(source_item)) + broken_glass.on_accidental_consumption(victim, user) + else //33% chance to just "crack" it (play a sound) and leave it in the bread + playsound(victim, "shatter", 15, TRUE) + discover_after = FALSE + + victim.adjust_disgust(33) + victim.visible_message( + "[victim] looks like [victim.p_theyve()] just bitten into something hard.", \ + "Eugh! Did I just bite into something?") + + else if(w_class == WEIGHT_CLASS_TINY) //small items like soap or toys that don't have mat datums + /// victim's chest (for cavity implanting the item) + var/obj/item/bodypart/chest/victim_cavity = victim.get_bodypart(BODY_ZONE_CHEST) + if(victim_cavity.cavity_item) + victim.vomit(5, FALSE, FALSE, distance = 0) + forceMove(drop_location()) + to_chat(victim, "You vomit up a [name]! [source_item? "Was that in \the [source_item]?" : ""]") + else + victim.transferItemToLoc(src, victim, TRUE) + victim.losebreath += 2 + victim_cavity.cavity_item = src + to_chat(victim, "You swallow hard. [source_item? "Something small was in \the [source_item]..." : ""]") + discover_after = FALSE + + else + to_chat(victim, "[source_item? "Something strange was in the \the [source_item]..." : "I just bit something strange..."] ") + + return discover_after + +#undef MAX_MATS_PER_BITE diff --git a/code/game/objects/items/AI_modules.dm b/code/game/objects/items/AI_modules.dm index 7fee84da562..151be9b026d 100644 --- a/code/game/objects/items/AI_modules.dm +++ b/code/game/objects/items/AI_modules.dm @@ -49,7 +49,7 @@ AI MODULES //Handle the lawcap if(law_datum) var/tot_laws = 0 - for(var/lawlist in list(law_datum.devillaws, law_datum.inherent, law_datum.supplied, law_datum.ion, law_datum.hacked, laws)) + for(var/lawlist in list(law_datum.inherent, law_datum.supplied, law_datum.ion, law_datum.hacked, laws)) for(var/mylaw in lawlist) if(mylaw != "") tot_laws++ diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 7548625b31f..f185cdb43a8 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -575,10 +575,10 @@ RLD /obj/item/rcd_ammo name = "compressed matter cartridge" desc = "Highly compressed matter for the RCD." - icon = 'icons/obj/ammo.dmi' + icon = 'icons/obj/ammunition/ammo.dmi' icon_state = "rcd" item_state = "rcdammo" - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_NORMAL lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' custom_materials = list(/datum/material/iron=12000, /datum/material/glass=8000) diff --git a/code/game/objects/items/attachments/_attachment.dm b/code/game/objects/items/attachments/_attachment.dm new file mode 100644 index 00000000000..51e6603eb40 --- /dev/null +++ b/code/game/objects/items/attachments/_attachment.dm @@ -0,0 +1,103 @@ +///Most of the logic of attachments is held within the component which allows you to add other items as attachments in theory +/obj/item/attachment + name = "broken attachment" + desc = "alert coders" + icon = 'icons/obj/guns/attachments.dmi' + w_class = WEIGHT_CLASS_SMALL + + //Slot the attachment goes on, also used in descriptions so should be player readable + var/slot = ATTACHMENT_SLOT_RAIL + ///various yes no flags associated with attachments. See defines for these: [_DEFINES/guns.dm] + var/attach_features_flags = ATTACH_REMOVABLE_HAND + ///See attachment component + var/list/valid_parents = list() + ///Unused.. but could hold extra callbacks I assume? + var/list/signals = list() + ///Component that handles most of the logic of attachments + var/datum/component/attachment/attachment_comp + + ///If the attachment is on or off + var/toggled = FALSE + var/toggle_on_sound = 'sound/items/flashlight_on.ogg' + var/toggle_off_sound = 'sound/items/flashlight_off.ogg' + + ///Determines the amount of pixels to move the icon state for the overlay. in the x direction + var/pixel_shift_x = 16 + ///Determines the amount of pixels to move the icon state for the overlay. in the y direction + var/pixel_shift_y = 16 + /// Determines what layer the icon state for the overlay renders on. + var/render_layer = FLOAT_LAYER //inhands + var/render_plane = FLOAT_PLANE //world + + //Toggle modifers are handled seperatly + ///Modifier applied to the parent + var/spread_mod = 0 + ///Modifier applied to the parent + var/spread_unwielded_mod = 0 + ///Modifier applied to the parent, deciseconds + var/wield_delay = 0 + ///Modifier applied to the parent + var/size_mod = 0 + +/obj/item/attachment/Initialize() + . = ..() + attachment_comp = AddComponent( \ + /datum/component/attachment, \ + slot, \ + attach_features_flags, \ + valid_parents, \ + CALLBACK(src, PROC_REF(apply_attachment)), \ + CALLBACK(src, PROC_REF(remove_attachment)), \ + CALLBACK(src, PROC_REF(toggle_attachment)), \ + CALLBACK(src, PROC_REF(on_preattack)), \ + signals) + +/obj/item/attachment/Destroy() + qdel(attachment_comp) + attachment_comp = null + . = ..() + +/obj/item/attachment/proc/toggle_attachment(obj/item/gun/gun, mob/user) + SHOULD_CALL_PARENT(TRUE) + + playsound(user, toggled ? toggle_on_sound : toggle_off_sound, 40, TRUE) + toggled = !toggled + icon_state = "[initial(icon_state)][toggled ? "-on" : ""]" + +/// Checks if a user should be allowed to attach this attachment to the given parent +/obj/item/attachment/proc/apply_attachment(obj/item/gun/gun, mob/user) + SHOULD_CALL_PARENT(TRUE) + + if(toggled) + to_chat(user, span_warning("You cannot attach [src] while it is active!")) + return FALSE + + apply_modifiers(gun, user, TRUE) + playsound(src.loc, 'sound/weapons/gun/pistol/mag_insert_alt.ogg', 75, 1) + return TRUE + +/obj/item/attachment/proc/remove_attachment(obj/item/gun/gun, mob/user) + SHOULD_CALL_PARENT(TRUE) + + if(toggled) + toggle_attachment(gun, user) + + apply_modifiers(gun, user, FALSE) + playsound(src.loc, 'sound/weapons/gun/pistol/mag_release_alt.ogg', 75, 1) + return TRUE + +/obj/item/attachment/proc/on_preattack(obj/item/gun/gun, atom/target, mob/user, list/params) + return FALSE + +///Handles the modifiers to the parent gun +/obj/item/attachment/proc/apply_modifiers(obj/item/gun/gun, mob/user, attaching) + if(attaching) + gun.spread += spread_mod + gun.spread_unwielded += spread_unwielded_mod + gun.wield_delay += wield_delay + gun.w_class += size_mod + else + gun.spread -= spread_mod + gun.spread_unwielded -= spread_unwielded_mod + gun.wield_delay -= wield_delay + gun.w_class -= size_mod diff --git a/code/game/objects/items/attachments/bayonet.dm b/code/game/objects/items/attachments/bayonet.dm new file mode 100644 index 00000000000..9e9deb96975 --- /dev/null +++ b/code/game/objects/items/attachments/bayonet.dm @@ -0,0 +1,23 @@ +/obj/item/attachment/bayonet + name = "bayonet" + desc = "Stabby-Stabby" + icon_state = "bayonet" + force = 15 + throwforce = 10 + pickup_sound = 'sound/items/handling/knife1_pickup.ogg' + drop_sound = 'sound/items/handling/knife3_drop.ogg' + hitsound = 'sound/weapons/bladeslice.ogg' + attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + sharpness = IS_SHARP_ACCURATE + slot = ATTACHMENT_SLOT_MUZZLE + + pixel_shift_x = 1 + pixel_shift_y = 4 + spread_mod = 1 + wield_delay = 0.1 SECONDS + +/obj/item/attachment/bayonet/on_preattack(obj/item/gun/gun, atom/target, mob/living/user, list/params) + if(user.a_intent == INTENT_HARM && user.CanReach(target, src, TRUE)) + melee_attack_chain(user, target, params) + return COMPONENT_NO_ATTACK + diff --git a/code/game/objects/items/attachments/energy_bayonet.dm b/code/game/objects/items/attachments/energy_bayonet.dm new file mode 100644 index 00000000000..82d206d428b --- /dev/null +++ b/code/game/objects/items/attachments/energy_bayonet.dm @@ -0,0 +1,44 @@ +/obj/item/attachment/energy_bayonet + name = "energy bayonet" + desc = "Stabby-Stabby" + icon_state = "ebayonet" + force = 3 + throwforce = 2 + pickup_sound = 'sound/items/handling/knife1_pickup.ogg' + drop_sound = 'sound/items/handling/knife3_drop.ogg' + hitsound = 'sound/weapons/bladeslice.ogg' + attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + sharpness = IS_BLUNT + slot = ATTACHMENT_SLOT_MUZZLE + attach_features_flags = ATTACH_TOGGLE | ATTACH_REMOVABLE_HAND + + light_range = 2 + light_power = 0.6 + light_on = FALSE + light_color = COLOR_MOSTLY_PURE_RED + light_system = MOVABLE_LIGHT + + toggle_on_sound = 'sound/weapons/saberon.ogg' + toggle_off_sound = 'sound/weapons/saberoff.ogg' + + pixel_shift_x = 1 + pixel_shift_y = 4 + spread_mod = 1 + wield_delay = 0.2 SECONDS + +/obj/item/attachment/energy_bayonet/on_preattack(obj/item/gun/gun, atom/target, mob/living/user, list/params) + if(user.a_intent == INTENT_HARM && user.CanReach(target, src, TRUE) && toggled != 0) + melee_attack_chain(user, target, params) + return COMPONENT_NO_ATTACK + + +/obj/item/attachment/energy_bayonet/toggle_attachment(obj/item/gun/gun, mob/user) + . = ..() + set_light_on(toggled) + update_icon() + sharpness = toggled ? IS_SHARP_ACCURATE : IS_BLUNT + force = toggled ? 19 : 3 + throwforce = toggled ? 14 : 2 + +/obj/item/attachment/energy_bayonet/attack_self(mob/user) + toggle_attachment() diff --git a/code/game/objects/items/attachments/laser_sight.dm b/code/game/objects/items/attachments/laser_sight.dm new file mode 100644 index 00000000000..082da1153de --- /dev/null +++ b/code/game/objects/items/attachments/laser_sight.dm @@ -0,0 +1,23 @@ +/obj/item/attachment/laser_sight + name = "laser sight" + desc = "Designed to be rail-mounted on a compatible firearm to provide increased accuracy and decreased spread." + icon_state = "laserpointer" + + attach_features_flags = ATTACH_REMOVABLE_HAND|ATTACH_TOGGLE + pixel_shift_x = 1 + pixel_shift_y = 4 + wield_delay = 0.1 SECONDS + +/obj/item/attachment/laser_sight/toggle_attachment(obj/item/gun/gun, mob/user) + . = ..() + + if(toggled) + gun.spread -= 3 + gun.spread_unwielded -= 3 + gun.wield_delay -= 0.3 SECONDS + else + gun.spread += 3 + gun.spread_unwielded += 3 + gun.wield_delay += 0.3 SECONDS + + playsound(user, toggled ? 'sound/weapons/magin.ogg' : 'sound/weapons/magout.ogg', 40, TRUE) diff --git a/code/game/objects/items/attachments/m17_barrel.dm b/code/game/objects/items/attachments/m17_barrel.dm new file mode 100644 index 00000000000..9d857b56183 --- /dev/null +++ b/code/game/objects/items/attachments/m17_barrel.dm @@ -0,0 +1,10 @@ +/obj/item/attachment/m17_barrel + name = "Model 17 barrel" + desc = "The barrel of an M17 'Micro Target'." + icon_state = "m17_barrel" + + slot = ATTACHMENT_SLOT_MUZZLE + spread_mod = -40 + size_mod = 2 + pixel_shift_x = 1 + pixel_shift_y = 1 diff --git a/code/game/objects/items/attachments/rail_light.dm b/code/game/objects/items/attachments/rail_light.dm new file mode 100644 index 00000000000..d2216d27d19 --- /dev/null +++ b/code/game/objects/items/attachments/rail_light.dm @@ -0,0 +1,33 @@ +/obj/item/attachment/rail_light + name = "rail light" + desc = "A flashlight made to be mounted on a firearm." + icon_state = "raillight" + light_color = COLOR_LIGHT_ORANGE + light_system = MOVABLE_LIGHT_DIRECTIONAL + light_range = 5 + light_power = 0.9 + light_on = FALSE + + attach_features_flags = ATTACH_REMOVABLE_HAND|ATTACH_TOGGLE + pixel_shift_x = 1 + pixel_shift_y = 4 + wield_delay = 0.1 SECONDS + +/obj/item/attachment/rail_light/toggle_attachment(obj/item/gun/gun, mob/user) + . = ..() + set_light_on(toggled) + update_icon() + +/obj/item/attachment/rail_light/apply_attachment(obj/item/gun/gun, mob/user) + . = ..() + if(!.) + return + + set_light_flags(light_flags | LIGHT_ATTACHED) + +/obj/item/attachment/rail_light/remove_attachment(obj/item/gun/gun, mob/user) + . = ..() + if(!.) + return + + set_light_flags(light_flags & ~LIGHT_ATTACHED) diff --git a/code/game/objects/items/attachments/shoulder_sling.dm b/code/game/objects/items/attachments/shoulder_sling.dm new file mode 100644 index 00000000000..fdf01c17a95 --- /dev/null +++ b/code/game/objects/items/attachments/shoulder_sling.dm @@ -0,0 +1,31 @@ +/obj/item/attachment/sling + name = "shoulder sling" + desc = "A leather shoulder sling for longarms to allow for easy carrying on the shoulder without the need for traditional armor holsters." + icon_state = "sling" + + attach_features_flags = ATTACH_REMOVABLE_HAND + pixel_shift_x = 14 + pixel_shift_y = 15 + render_layer = BELOW_OBJ_LAYER + render_plane = BELOW_OBJ_LAYER + wield_delay = 0.2 SECONDS + + var/check_size = TRUE + +/obj/item/attachment/sling/apply_attachment(obj/item/gun/gun, mob/user) + . = ..() + if(initial(gun.w_class) < WEIGHT_CLASS_BULKY && check_size) + to_chat(user,span_warning("The frame of the \the [gun] isn't large enough to support \the [src]!")) + return FALSE + if(!(gun.slot_flags | ITEM_SLOT_SUITSTORE)) + gun.slot_flags = gun.slot_flags | ITEM_SLOT_SUITSTORE + ADD_TRAIT(gun,TRAIT_FORCE_SUIT_STORAGE,REF(src)) + +/obj/item/attachment/sling/remove_attachment(obj/item/gun/gun, mob/user) + . = ..() + gun.slot_flags = initial(gun.slot_flags) + REMOVE_TRAIT(gun,TRAIT_FORCE_SUIT_STORAGE, REF(src)) + +/obj/item/attachment/sling/examine(mob/user) + . = ..() + . += span_notice("The shoulder sling can only be attached to bulky or heavier guns.") diff --git a/code/game/objects/items/attachments/silencer.dm b/code/game/objects/items/attachments/silencer.dm new file mode 100644 index 00000000000..31cf3fc15b3 --- /dev/null +++ b/code/game/objects/items/attachments/silencer.dm @@ -0,0 +1,19 @@ +/obj/item/attachment/silencer + name = "suppressor" + desc = "An attachment for the barrel of a firearm. Muffles the gunshot and muzzle flash." + icon_state = "silencer" + + slot = ATTACHMENT_SLOT_MUZZLE + pixel_shift_x = 1 + pixel_shift_y = 2 + spread_mod = -1 + size_mod = 1 + +/obj/item/attachment/silencer/apply_attachment(obj/item/gun/gun, mob/user) + . = ..() + gun.suppressed = TRUE + +/obj/item/attachment/silencer/remove_attachment(obj/item/gun/gun, mob/user) + . = ..() + gun.suppressed = FALSE + return TRUE diff --git a/code/game/objects/items/attachments/stock.dm b/code/game/objects/items/attachments/stock.dm new file mode 100644 index 00000000000..c28700af6b6 --- /dev/null +++ b/code/game/objects/items/attachments/stock.dm @@ -0,0 +1,48 @@ +/obj/item/attachment/foldable_stock + name = "folding stock" + desc = "A folding stock that can be attached to certain weapons to improve stability and decreases recoil." + icon_state = "skm-carbine-stock" + slot = ATTACHMENT_SLOT_STOCK + attach_features_flags = ATTACH_TOGGLE + + pixel_shift_x = 17 + pixel_shift_y = 18 + + var/toggled_slowdown = 0.10 + var/toggled_wield_delay = -0.4 SECONDS + var/toggled_recoil_bonus = -2 + var/toggled_spread_bonus = -5 + +/obj/item/attachment/foldable_stock/toggle_attachment(obj/item/gun/gun, mob/user) + . = ..() + + if(toggled) + to_chat(user, span_notice("You unfold the stock on the [src].")) + gun.w_class += 1 + gun.wield_delay += toggled_wield_delay + gun.wield_slowdown += toggled_slowdown + gun.recoil += toggled_recoil_bonus + gun.spread += toggled_spread_bonus + else + to_chat(user, span_notice("You fold the stock on the [src].")) + gun.w_class -= 1 + gun.wield_delay -= toggled_wield_delay + gun.wield_slowdown -= toggled_slowdown + gun.recoil -= toggled_recoil_bonus + gun.spread -= toggled_spread_bonus + + if(gun.wielded) + user.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/gun, multiplicative_slowdown = gun.wield_slowdown) + + playsound(src, SOUND_EMPTY_MAG, 100, 1) + +/obj/item/attachment/foldable_stock/inteq + icon_state = "skm-inteqsmg-stock" + +/obj/item/attachment/foldable_stock/spitter + icon = 'icons/obj/guns/manufacturer/frontier_import/48x32.dmi' + icon_state = "spitter_stock" + +/obj/item/attachment/foldable_stock/sidewinder + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + icon_state = "sidewinder_stock" diff --git a/code/game/objects/items/bank_card.dm b/code/game/objects/items/bank_card.dm index 4a7f2f9d2f2..ecc41803000 100644 --- a/code/game/objects/items/bank_card.dm +++ b/code/game/objects/items/bank_card.dm @@ -47,7 +47,7 @@ to_chat(user, "[src] doesn't have a linked account to deposit [I] into!") return - registered_account.adjust_money(cash_money) + registered_account.adjust_money(cash_money, CREDIT_LOG_DEPOSIT) SSblackbox.record_feedback("amount", "credits_inserted", cash_money) log_econ("[cash_money] credits were inserted into [src] owned by [src.registered_name]") if(physical_currency) @@ -69,7 +69,7 @@ total += cash_money - registered_account.adjust_money(cash_money) + registered_account.adjust_money(cash_money, CREDIT_LOG_DEPOSIT) SSblackbox.record_feedback("amount", "credits_inserted", total) log_econ("[total] credits were inserted into [src] owned by [src.registered_name]") QDEL_LIST(money) @@ -132,7 +132,7 @@ return if(!alt_click_can_use_id(user)) return - if(registered_account.adjust_money(-amount_to_remove)) + if(registered_account.adjust_money(-amount_to_remove, CREDIT_LOG_WITHDRAW)) var/obj/item/holochip/holochip = new (user.drop_location(), amount_to_remove) user.put_in_hands(holochip) to_chat(user, "You withdraw [amount_to_remove] credits into a holochip.") diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index d410dfef0d7..b165856ea19 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -5,7 +5,7 @@ /obj/item/areaeditor name = "area modification item" - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "blueprints" attack_verb = list("attacked", "bapped", "hit") var/fluffnotice = "Nobody's gonna read this stuff!" @@ -46,7 +46,7 @@ /obj/item/areaeditor/blueprints name = "station blueprints" desc = "Blueprints of what appear to be an experimental station design, with a large spinal weapon mounted to the front. There is a \"Classified\" stamp and several coffee stains on it." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "blueprints" fluffnotice = "Property of Nanotrasen. For heads of staff only. Store in high-secure storage." resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF @@ -150,7 +150,6 @@ if(A.outdoors) return AREA_SPACE var/list/SPECIALS = list( - /area/shuttle, /area/centcom, /area/asteroid, /area/tdome, @@ -204,7 +203,7 @@ /obj/item/areaeditor/blueprints/cyborg name = "construction schematics" desc = "A digital copy of the local blueprints and zoning permits stored in your memory." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "blueprints" fluffnotice = "Intellectual Property of Nanotrasen. For use in engineering cyborgs only. Wipe from memory upon departure from company ownership." @@ -215,27 +214,31 @@ sortTim(GLOB.sortedAreas, /proc/cmp_name_asc) return TRUE -/proc/set_area_machinery_title(area/A, title, oldtitle) +/proc/set_area_machinery_title(area/target, title, oldtitle) if(!oldtitle) // or replacetext goes to infinite loop return - for(var/obj/machinery/airalarm/M in A) - M.name = replacetext(M.name,oldtitle,title) - for(var/obj/machinery/power/apc/M in A) - M.name = replacetext(M.name,oldtitle,title) - for(var/obj/machinery/atmospherics/components/unary/vent_scrubber/M in A) - M.name = replacetext(M.name,oldtitle,title) - for(var/obj/machinery/atmospherics/components/unary/vent_pump/M in A) - M.name = replacetext(M.name,oldtitle,title) - for(var/obj/machinery/door/M in A) - M.name = replacetext(M.name,oldtitle,title) - for(var/obj/machinery/fax/M in A) - M.fax_name = replacetext(M.fax_name,oldtitle,title) - //TODO: much much more. Unnamed airlocks, cameras, etc. + + var/static/typecache = typecacheof(list( + /obj/machinery/airalarm, + /obj/machinery/power/apc, + /obj/machinery/atmospherics/components/unary/vent_scrubber, + /obj/machinery/atmospherics/components/unary/vent_pump, + /obj/machinery/door, + /obj/machinery/fax + )) + + for(var/obj/machinery/machine as anything in GLOB.machines) + if(get_area(machine) != target) + continue + if(!is_type_in_typecache(machine, typecache)) + continue + + machine.name = replacetext(machine.name,oldtitle,title) /obj/item/areaeditor/shuttle name = "shuttle expansion permit" desc = "A set of paperwork which is used to expand flyable shuttles." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "blueprints" color = COLOR_ASSEMBLY_WHITE fluffnotice = "Not to be used for non-sanctioned shuttle construction and maintenance." diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index 595c798d4c9..0ef172f08c5 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -1,4 +1,3 @@ -#define CANDLE_LUMINOSITY 2 /obj/item/candle name = "red candle" desc = "In Greek myth, Prometheus stole fire from the Gods and gave it to \ @@ -8,6 +7,10 @@ item_state = "candle1" w_class = WEIGHT_CLASS_TINY light_color = LIGHT_COLOR_FIRE + light_power = 0.8 + light_range = 2 + light_system = MOVABLE_LIGHT + light_on = FALSE heat = 1000 var/wax = 1000 var/lit = FALSE @@ -39,20 +42,22 @@ return lit * heat /obj/item/candle/proc/light(show_message) - if(!lit) - lit = TRUE - if(show_message) - usr.visible_message(show_message) - set_light(CANDLE_LUMINOSITY, 0.8) + if(lit) + return + lit = TRUE + if(show_message) + usr.visible_message(show_message) + set_light_on(TRUE) + if(!infinite) START_PROCESSING(SSobj, src) - update_appearance() + update_appearance() /obj/item/candle/proc/put_out_candle() if(!lit) return lit = FALSE update_appearance() - set_light(0) + set_light_on(FALSE) return TRUE /obj/item/candle/extinguish() @@ -62,8 +67,7 @@ /obj/item/candle/process() if(!lit) return PROCESS_KILL - if(!infinite) - wax-- + wax-- if(!wax) new /obj/item/trash/candle(loc) qdel(src) @@ -85,43 +89,22 @@ icon_state = "torch_unlit" item_state = "torch" w_class = WEIGHT_CLASS_BULKY - light_color = LIGHT_COLOR_FIRE + light_range = 7 infinite = TRUE heat = 2000 -/obj/item/candle/tribal_torch/attackby(obj/item/W, mob/user, params) - ..() - var/msg = W.ignition_effect(src, user) - if(msg) - light(msg) - set_light(7) - -/obj/item/candle/tribal_torch/fire_act(exposed_temperature, exposed_volume) - if(!src.lit) - light() //honk - set_light(7) - ..() - -/obj/item/candle/attack_self(mob/user) +/obj/item/candle/tribal_torch/attack_self(mob/user) if(!src.lit) to_chat(user, "You start pushing [src] into the ground...") if (do_after(user, 20, target=src)) qdel(src) new /obj/structure/destructible/tribal_torch(get_turf(user)) - light_color = LIGHT_COLOR_ORANGE user.visible_message("[user] plants \the [src] firmly in the ground.", "You plant \the [src] firmly in the ground.") return - else if(lit) - user.visible_message( - "[user] snuffs [src] out.") - lit = FALSE - update_appearance() - set_light(0) + return ..() /obj/item/candle/tribal_torch/update_appearance() icon_state = "torch[lit ? "_lit" : "_unlit"]" item_state = "torch[lit ? "-on" : ""]" return ..() - -#undef CANDLE_LUMINOSITY diff --git a/code/game/objects/items/cash.dm b/code/game/objects/items/cash.dm index 12c9a0b99f0..553da0a3e47 100644 --- a/code/game/objects/items/cash.dm +++ b/code/game/objects/items/cash.dm @@ -57,8 +57,9 @@ var/mob/living/carbon/human/H = user H.dropItemToGround(src) H.dropItemToGround(bundle) + H.put_in_hands(src) H.put_in_hands(bundle) - to_chat(user, "You add [value] credits worth of money to the bundle.
    It now holds [bundle.value] credits.
    ") + to_chat(user, "You add [value] credits worth of money to the bundle.
    It now holds [bundle.value + value] credits.
    ") bundle.transfer_value(bundle.value, src) /obj/item/spacecash/Destroy() diff --git a/code/game/objects/items/chromosome.dm b/code/game/objects/items/chromosome.dm index 3acf3cfe5cb..c6ee7f174aa 100644 --- a/code/game/objects/items/chromosome.dm +++ b/code/game/objects/items/chromosome.dm @@ -48,7 +48,7 @@ if(!initial(CM.weight)) break chromosomes[A] = initial(CM.weight) - return pickweight(chromosomes) + return pick_weight(chromosomes) /obj/item/chromosome/stabilizer diff --git a/code/game/objects/items/chrono_eraser.dm b/code/game/objects/items/chrono_eraser.dm index baa541662e2..fce9f308ea0 100644 --- a/code/game/objects/items/chrono_eraser.dm +++ b/code/game/objects/items/chrono_eraser.dm @@ -285,9 +285,5 @@ /obj/structure/chrono_field/ex_act() return -/obj/structure/chrono_field/blob_act(obj/structure/blob/B) - return - - #undef CHRONO_BEAM_RANGE #undef CHRONO_FRAME_COUNT diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 6b7b364118d..3a0d7e1f81c 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -333,11 +333,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM reagents?.add_reagent(/datum/reagent/toxin/carpotoxin , 3) // They lied /obj/item/clothing/mask/cigarette/syndicate - desc = "An unknown brand cigarette." + desc = "An obscure brand of cigarette." chem_volume = 60 smoketime = 60 smoke_all = TRUE - list_reagents = list(/datum/reagent/drug/nicotine = 10, /datum/reagent/medicine/omnizine = 15) + list_reagents = list(/datum/reagent/drug/nicotine = 10, /datum/reagent/drug/aranesp = 5, /datum/reagent/medicine/synaptizine = 5) /obj/item/clothing/mask/cigarette/xeno desc = "A Xeno Filtered brand cigarette." @@ -566,7 +566,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM heat = 1500 resistance_flags = FIRE_PROOF grind_results = list(/datum/reagent/iron = 1, /datum/reagent/fuel = 5, /datum/reagent/fuel/oil = 5) - custom_price = 55 + custom_price = 5 light_system = MOVABLE_LIGHT light_range = 2 light_power = 0.6 @@ -1059,4 +1059,4 @@ CIGARETTE PACKETS ARE IN FANCY.DM vapecolor = "ecigar" overlayname = "ecigar" chem_volume = 150 - custom_premium_price = 300 + custom_premium_price = 10 diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm index 54dcfb36c13..5e82266f186 100644 --- a/code/game/objects/items/circuitboards/computer_circuitboards.dm +++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm @@ -272,7 +272,7 @@ build_path = /obj/machinery/computer/launchpad /obj/item/circuitboard/computer/mech_bay_power_console - name = "Mech Bay Power Control Console (Computer Board)" + name = "Exosuit Bay Power Control Console (Computer Board)" icon_state = "science" build_path = /obj/machinery/computer/mech_bay_power_console @@ -315,11 +315,6 @@ icon_state = "science" build_path = /obj/machinery/computer/teleporter -/obj/item/circuitboard/computer/xenobiology - name = "circuit board (Xenobiology Console)" - icon_state = "science" - build_path = /obj/machinery/computer/camera_advanced/xenobio - //Security /obj/item/circuitboard/computer/gulag_teleporter_console @@ -362,7 +357,7 @@ build_path = /obj/machinery/computer/bounty /obj/item/circuitboard/computer/cargo - name = "Supply Console (Computer Board)" + name = "Outpost Comms Console (Computer Board)" icon_state = "supply" build_path = /obj/machinery/computer/cargo var/contraband = FALSE @@ -381,16 +376,6 @@ obj_flags |= EMAGGED to_chat(user, "You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.") -/obj/item/circuitboard/computer/cargo/express - name = "Outpost Comms Console (Computer Board)" - build_path = /obj/machinery/computer/cargo/express - -/obj/item/circuitboard/computer/cargo/express/multitool_act(mob/living/user) - return - -/obj/item/circuitboard/computer/cargo/express/emag_act(mob/living/user) - return - /obj/item/circuitboard/computer/mining name = "Outpost Status Display (Computer Board)" icon_state = "supply" diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 0a3a6f14d09..ef4b3938bc5 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -570,7 +570,7 @@ var/static/list/fridges_name_paths = list(/obj/machinery/smartfridge = "plant produce", /obj/machinery/smartfridge/food = "food", /obj/machinery/smartfridge/drinks = "drinks", - /obj/machinery/smartfridge/extract = "slimes", + /obj/machinery/smartfridge/bloodbank = "blood", /obj/machinery/smartfridge/organ = "organs", /obj/machinery/smartfridge/chemistry = "chems", /obj/machinery/smartfridge/chemistry/virology = "viruses", @@ -724,7 +724,7 @@ /obj/item/stock_parts/capacitor = 1, /obj/item/stock_parts/manipulator = 1, /obj/item/stack/sheet/glass = 1, - /obj/item/stack/sheet/bluespace_crystal = 1, + /obj/item/stack/ore/bluespace_crystal/refined = 1, /obj/item/stock_parts/cell = 1) def_components = list(/obj/item/stock_parts/cell = /obj/item/stock_parts/cell/high) needs_anchored = FALSE @@ -957,7 +957,7 @@ /obj/item/stock_parts/micro_laser = 2) /obj/item/circuitboard/machine/mech_recharger - name = "Mechbay Recharger (Machine Board)" + name = "Exosuit Bay Recharger (Machine Board)" icon_state = "science" build_path = /obj/machinery/mech_bay_recharge_port req_components = list( @@ -982,15 +982,6 @@ /obj/item/airlock_painter = 1, /obj/item/stack/sheet/glass = 1) -/obj/item/circuitboard/machine/monkey_recycler - name = "Monkey Recycler (Machine Board)" - icon_state = "science" - build_path = /obj/machinery/monkey_recycler - req_components = list( - /obj/item/stock_parts/matter_bin = 1, - /obj/item/stock_parts/manipulator = 1) - needs_anchored = FALSE - /obj/item/circuitboard/machine/nanite_chamber name = "Nanite Chamber (Machine Board)" icon_state = "science" @@ -1017,11 +1008,6 @@ /obj/item/stock_parts/micro_laser = 2, /obj/item/stock_parts/scanning_module = 1) -/obj/item/circuitboard/machine/processor/slime - name = "Slime Processor (Machine Board)" - icon_state = "science" - build_path = /obj/machinery/processor/slime - /obj/item/circuitboard/machine/protolathe/department/science name = "Protolathe (Machine Board) - Science" icon_state = "science" @@ -1111,17 +1097,6 @@ /obj/item/stack/sheet/glass = 1) def_components = list(/obj/item/stack/ore/bluespace_crystal = /obj/item/stack/ore/bluespace_crystal/artificial) -/obj/item/circuitboard/machine/bepis - name = "BEPIS Chamber (Machine Board)" - icon_state = "science" - build_path = /obj/machinery/rnd/bepis - req_components = list( - /obj/item/stack/cable_coil = 5, - /obj/item/stock_parts/capacitor = 1, - /obj/item/stock_parts/manipulator = 1, - /obj/item/stock_parts/micro_laser = 1, - /obj/item/stock_parts/scanning_module = 1) - /obj/item/circuitboard/machine/bluespace_miner name = "Bluespace Miner (Machine Board)" build_path = /obj/machinery/power/bluespace_miner @@ -1288,19 +1263,6 @@ /obj/item/stock_parts/manipulator = 1) needs_anchored = FALSE -/obj/item/circuitboard/machine/processor/attackby(obj/item/I, mob/user, params) - if(I.tool_behaviour == TOOL_SCREWDRIVER) - if(build_path == /obj/machinery/processor) - name = "Slime Processor (Machine Board)" - build_path = /obj/machinery/processor/slime - to_chat(user, "Name protocols successfully updated.") - else - name = "Food Processor (Machine Board)" - build_path = /obj/machinery/processor - to_chat(user, "Defaulting name protocols.") - else - return ..() - /obj/item/circuitboard/machine/protolathe/department/service name = "Protolathe - Service (Machine Board)" icon_state = "service" @@ -1392,16 +1354,6 @@ /obj/item/stock_parts/scanning_module = 2, /obj/item/stock_parts/micro_laser = 2) -//Misc -/obj/item/circuitboard/machine/sheetifier - name = "Sheet-meister 2000 (Machine Board)" - icon_state = "supply" - build_path = /obj/machinery/sheetifier - req_components = list( - /obj/item/stock_parts/manipulator = 2, - /obj/item/stock_parts/matter_bin = 2) - needs_anchored = FALSE - /obj/item/circuitboard/machine/abductor name = "alien board (Report This)" icon_state = "abductor_mod" @@ -1558,3 +1510,15 @@ icon_state = "engineering" build_path = /obj/machinery/suit_storage_unit req_components = list(/obj/item/stock_parts/micro_laser = 4) + +/obj/item/circuitboard/machine/turret + name = "Turret" + icon_state = "security" + build_path = /obj/machinery/porta_turret + req_components = list(/obj/item/stock_parts/capacitor = 2, /obj/item/stock_parts/scanning_module = 1, /obj/item/assembly/prox_sensor = 1, /obj/item/gun/energy = 1) + def_components = list(/obj/item/gun/energy = /obj/item/gun/energy/e_gun/turret) + +/obj/item/circuitboard/machine/turret/ship + name = "Ship-mounted Turret" + //We don't want to let people take the gun out of the turret + def_components = list(/obj/item/gun/energy = /obj/item/stack/sheet/metal) diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm index 9c6809cf3db..62c33aa9665 100644 --- a/code/game/objects/items/clown_items.dm +++ b/code/game/objects/items/clown_items.dm @@ -14,7 +14,7 @@ name = "soap" desc = "A cheap bar of soap. Doesn't smell." gender = PLURAL - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "soap" lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' @@ -71,7 +71,8 @@ /obj/item/soap/syndie desc = "An untrustworthy bar of soap made of strong chemical agents that dissolve blood faster." icon_state = "soapsyndie" - cleanspeed = 5 //faster than mop so it is useful for traitors who want to clean crime scenes + cleanspeed = 27 // ever so slightly better than NT + uses = 300 /obj/item/soap/omega name = "omega soap" @@ -150,7 +151,7 @@ /obj/item/bikehorn name = "bike horn" desc = "A horn off of a bicycle." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "bike_horn" item_state = "bike_horn" lefthand_file = 'icons/mob/inhands/equipment/horns_lefthand.dmi' diff --git a/code/game/objects/items/cosmetics.dm b/code/game/objects/items/cosmetics.dm index d451f258bd7..b08adc21613 100644 --- a/code/game/objects/items/cosmetics.dm +++ b/code/game/objects/items/cosmetics.dm @@ -2,7 +2,7 @@ gender = PLURAL name = "red lipstick" desc = "A generic brand of lipstick." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "lipstick" w_class = WEIGHT_CLASS_TINY var/colour = "red" @@ -101,7 +101,7 @@ /obj/item/razor name = "electric razor" desc = "The latest and greatest power razor born from the science of shaving." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "razor" flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_TINY diff --git a/code/game/objects/items/courtroom.dm b/code/game/objects/items/courtroom.dm index 78d599ee4d9..a1750a26493 100644 --- a/code/game/objects/items/courtroom.dm +++ b/code/game/objects/items/courtroom.dm @@ -5,7 +5,7 @@ /obj/item/gavelhammer name = "gavel hammer" desc = "Order, order! No bombs in my courthouse." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "gavelhammer" force = 5 throwforce = 6 @@ -16,7 +16,7 @@ /obj/item/gavelblock name = "gavel block" desc = "Smack it with a gavel hammer when the assistants get rowdy." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "gavelblock" force = 2 throwforce = 2 diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index d703ae86ca7..cd6fafd4dbe 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -235,7 +235,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 = "" @@ -320,7 +320,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 diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 32a62880d69..89b73a0ffa9 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -302,24 +302,12 @@ var/obj/item/defibrillator/defib var/req_defib = TRUE var/combat = FALSE //If it penetrates armor and gives additional functionality - var/wielded = FALSE // track wielded status on item /obj/item/shockpaddles/ComponentInitialize() . = ..() AddElement(/datum/element/update_icon_updates_onmob) AddComponent(/datum/component/two_handed, force_unwielded=8, force_wielded=12) -/// triggered on wield of two handed item -/obj/item/shockpaddles/proc/on_wield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = TRUE - -/// triggered on unwield of two handed item -/obj/item/shockpaddles/proc/on_unwield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = FALSE /obj/item/shockpaddles/Destroy() defib = null @@ -369,8 +357,6 @@ /obj/item/shockpaddles/Initialize() . = ..() ADD_TRAIT(src, TRAIT_NO_STORAGE_INSERT, GENERIC_ITEM_TRAIT) //stops shockpaddles from being inserted in BoH - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) if(!req_defib) return //If it doesn't need a defib, just say it exists if (!loc || !istype(loc, /obj/item/defibrillator)) //To avoid weird issues from admin spawns @@ -380,10 +366,10 @@ update_appearance() /obj/item/shockpaddles/update_icon_state() - icon_state = "[base_icon_state][wielded]" + icon_state = "[base_icon_state][HAS_TRAIT(src, TRAIT_WIELDED)]" item_state = icon_state if(cooldown) - icon_state = "[base_icon_state][wielded]_cooldown" + icon_state = "[base_icon_state][HAS_TRAIT(src, TRAIT_WIELDED)]_cooldown" return ..() /obj/item/shockpaddles/dropped(mob/user) @@ -410,7 +396,7 @@ user.visible_message("[defib] beeps: Unit is unpowered.") playsound(src, 'sound/machines/defib_failed.ogg', 50, FALSE) return - if(!wielded) + if(!HAS_TRAIT(src, TRAIT_WIELDED)) if(iscyborg(user)) to_chat(user, "You must activate the paddles in your active module before you can use them on someone!") else @@ -455,7 +441,7 @@ var/mob/living/M = H.pulledby if(M.electrocute_act(30, H)) M.visible_message("[M] is electrocuted by [M.p_their()] contact with [H]!") - M.emote("scream") + M.force_scream() /obj/item/shockpaddles/proc/do_disarm(mob/living/M, mob/living/user) if(req_defib && defib.safety) @@ -515,7 +501,7 @@ user.visible_message("[user] shocks [H] with \the [src]!", "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) - H.emote("scream") + H.force_scream() shock_touching(45, H) if(H.can_heartattack() && !H.undergoing_cardiac_arrest()) if(!H.stat) diff --git a/code/game/objects/items/desk_flags.dm b/code/game/objects/items/desk_flags.dm index c1af9cfe6c3..5f0d76eee5a 100644 --- a/code/game/objects/items/desk_flags.dm +++ b/code/game/objects/items/desk_flags.dm @@ -35,3 +35,8 @@ name = "SUNS desk flag" desc = "A little desk decoration in the gold and purple color palette of SUNS." icon_state = "suns" + +/obj/item/desk_flag/ngr + name = "new gorlexian desk flag" + desc = "The crimson, black, and tan flag of the New Gorlex Republic." + icon_state = "ngr" diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index e259e56ccd0..99473661dd5 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -20,7 +20,7 @@ GLOBAL_LIST_EMPTY(PDAs) lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' item_flags = NOBLUDGEON - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_ID | ITEM_SLOT_BELT actions_types = list(/datum/action/item_action/toggle_light) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) @@ -410,7 +410,7 @@ GLOBAL_LIST_EMPTY(PDAs) //BASIC FUNCTIONS=================================== if("Refresh")//Refresh, goes to the end of the proc. - + EMPTY_BLOCK_GUARD if("Return")//Return if(mode<=9) mode = 0 diff --git a/code/game/objects/items/devices/PDA/PDA_types.dm b/code/game/objects/items/devices/PDA/PDA_types.dm index c8a918732a9..4a7817c5eb6 100644 --- a/code/game/objects/items/devices/PDA/PDA_types.dm +++ b/code/game/objects/items/devices/PDA/PDA_types.dm @@ -10,7 +10,6 @@ /obj/item/pda/clown/ComponentInitialize() . = ..() - AddComponent(/datum/component/slippery/clowning, 120, NO_SLIP_WHEN_WALKING, CALLBACK(src, PROC_REF(AfterSlip))) AddComponent(/datum/component/wearertargeting/sitcomlaughter, CALLBACK(src, PROC_REF(after_sitcom_laugh))) /obj/item/pda/clown/proc/AfterSlip(mob/living/carbon/human/M) diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index 65bda2aa1f5..5df5e96dd0a 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -446,7 +446,7 @@ Code: if(!emoji_table) var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/chat) var/list/collate = list("
    ") - for(var/emoji in sortList(icon_states(icon('icons/emoji.dmi')))) + for(var/emoji in sortList(icon_states(icon(EMOJI_SET)))) var/tag = sheet.icon_tag("emoji-[emoji]") collate += "" collate += "
    [emoji][tag]

    " diff --git a/code/game/objects/items/devices/desynchronizer.dm b/code/game/objects/items/devices/desynchronizer.dm index ae57fe3d61e..68f39d2b4e2 100644 --- a/code/game/objects/items/devices/desynchronizer.dm +++ b/code/game/objects/items/devices/desynchronizer.dm @@ -15,6 +15,9 @@ var/next_use = 0 var/obj/effect/abstract/sync_holder/sync_holder var/resync_timer + var/desync_effect = /obj/effect/temp_visual/desynchronizer + var/resync_effect = /obj/effect/temp_visual/desynchronizer + /obj/item/desynchronizer/attack_self(mob/living/user) if(world.time < next_use) @@ -46,7 +49,7 @@ if(sync_holder) return sync_holder = new(drop_location()) - new /obj/effect/temp_visual/desynchronizer(drop_location()) + new desync_effect(drop_location()) to_chat(user, "You activate [src], desynchronizing yourself from the present. You can still see your surroundings, but you feel eerily dissociated from reality.") user.forceMove(sync_holder) SEND_SIGNAL(user, COMSIG_MOVABLE_SECLUDED_LOCATION) @@ -58,7 +61,7 @@ resync_timer = addtimer(CALLBACK(src, PROC_REF(resync)), duration , TIMER_STOPPABLE) /obj/item/desynchronizer/proc/resync() - new /obj/effect/temp_visual/desynchronizer(sync_holder.drop_location()) + new resync_effect(sync_holder.drop_location()) QDEL_NULL(sync_holder) if(resync_timer) deltimer(resync_timer) diff --git a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm index 8986f844369..b67b4bb3f70 100644 --- a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm +++ b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm @@ -4,7 +4,7 @@ desc = "An all-in-one circuit imprinter, designer, synthesizer, outfitter, creator, and chef. It can be used in place of any generic circuit board during construction." icon = 'icons/obj/module.dmi' icon_state = "boris" - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL custom_materials = list(/datum/material/iron = 50, /datum/material/glass = 300) var/recharging = FALSE var/circuits = 5 //How many circuits the pseudocircuit has left diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 6528ef4851c..9dd5d80d78b 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -62,7 +62,7 @@ to_chat(user, "[M] doesn't have a head!") return - if(light_power < 1) + if(light_power < 0.3) to_chat(user, "\The [src] isn't bright enough to see anything! ") return @@ -170,6 +170,7 @@ icon_state = "penlight" item_state = "" flags_1 = CONDUCT_1 + w_class = WEIGHT_CLASS_TINY light_range = 2 light_color = "#FFDDCC" light_power = 0.3 @@ -259,13 +260,13 @@ /obj/item/flashlight/flare name = "flare" - desc = "A red Nanotrasen issued flare. There are instructions on the side, it reads 'pull cord, make light'." + desc = "A generic red flare. There are instructions on the side, it reads 'pull cord, make light'." w_class = WEIGHT_CLASS_SMALL light_range = 7 // Pretty bright. icon_state = "flare" item_state = "flare" actions_types = list() - var/fuel = 0 + var/fuel = 900 var/on_damage = 7 var/produce_heat = 1500 heat = 1000 @@ -275,9 +276,14 @@ light_color = "#FA421A" //Cit lighting light_power = 0.8 //Cit lighting +/obj/item/flashlight/flare/burnt + desc = "A burnt out red flare." + icon_state = "flare-empty" + fuel = 0 + grind_results = list(/datum/reagent/sulfur = 2) + /obj/item/flashlight/flare/Initialize() . = ..() - fuel = rand(800, 1000) // Sorry for changing this so much but I keep under-estimating how long X number of ticks last in seconds. /obj/item/flashlight/flare/process() open_flame(heat) @@ -559,15 +565,6 @@ name = "pink glowstick" color = LIGHT_COLOR_PINK -/obj/effect/spawner/lootdrop/glowstick - name = "random colored glowstick" - icon = 'icons/obj/lighting.dmi' - icon_state = "random_glowstick" - -/obj/effect/spawner/lootdrop/glowstick/Initialize() - loot = typesof(/obj/item/flashlight/glowstick) - . = ..() - /obj/item/flashlight/spotlight //invisible lighting source name = "disco light" desc = "Groovy..." diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index 4abc1a3786b..e1a20b508a5 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -1,13 +1,3 @@ -#define RAD_LEVEL_NORMAL 9 -#define RAD_LEVEL_MODERATE 100 -#define RAD_LEVEL_HIGH 400 -#define RAD_LEVEL_VERY_HIGH 800 -#define RAD_LEVEL_CRITICAL 1500 - -#define RAD_MEASURE_SMOOTHING 5 - -#define RAD_GRACE_PERIOD 2 - /obj/item/geiger_counter //DISCLAIMER: I know nothing about how real-life Geiger counters work. This will not be realistic. ~Xhuis name = "\improper Geiger counter" desc = "A handheld device used for detecting and measuring radiation pulses." @@ -222,9 +212,3 @@ . = ..() if(listeningTo) UnregisterSignal(listeningTo, COMSIG_ATOM_RAD_ACT) - -#undef RAD_LEVEL_NORMAL -#undef RAD_LEVEL_MODERATE -#undef RAD_LEVEL_HIGH -#undef RAD_LEVEL_VERY_HIGH -#undef RAD_LEVEL_CRITICAL diff --git a/code/game/objects/items/devices/mines.dm b/code/game/objects/items/devices/mines.dm index 1772cbf497c..4e1ec520e55 100644 --- a/code/game/objects/items/devices/mines.dm +++ b/code/game/objects/items/devices/mines.dm @@ -11,6 +11,7 @@ icon_state = "mine" item_state = "assembly"//when we get custom sprites replace this. please base_icon_state = "mine" + light_color = "#FF0000" /// Is our mine live? var/armed = FALSE @@ -24,13 +25,11 @@ var/manufacturer = MANUFACTURER_NONE - /obj/item/mine/Initialize(mapload) . = ..() if(armed) now_armed() - /obj/item/mine/examine(mob/user) . = ..() if(!armed) @@ -45,33 +44,39 @@ . = ..() icon_state = "[base_icon_state][triggered ? "_exploding" : null][!armed && anchored ? "_arming" : null][armed && anchored && !triggered ? "_armed" : null]" -//mines have a small chance to be triggered by damage, but they take longer to explode +/// mines have a small chance to be triggered by damage, but they take longer to explode /obj/item/mine/take_damage(damage_amount, damage_type, damage_flag, sound_effect, attack_dir) . = ..() if(prob(35) & obj_integrity > 0) blast_delay = blast_delay * 2 trigger_mine() -//insert your horrible fate here +/// insert your horrible fate here /obj/item/mine/proc/mine_effect(mob/victim) return -//handles controlled deactivation +/// handles controlled deactivation /obj/item/mine/proc/disarm() if(triggered) //no turning back now return + light_power = 0 + light_range = 0 anchored = FALSE armed = FALSE update_appearance(UPDATE_ICON_STATE) return -//using an unarmed mine inhand deploys it. +/// using an unarmed mine inhand deploys it. /obj/item/mine/attack_self(mob/user) if(!armed) + if(!loccheck(user)) + to_chat(user, span_warning("There's already a mine at this position!")) + return user.visible_message(span_danger("[user] deploys the [src]."), span_notice("You deploy the [src].")) user.dropItemToGround(src) anchored = TRUE + dir = user.dir playsound(src, 'sound/machines/click.ogg', 60, TRUE) if(arm_delay) @@ -82,27 +87,30 @@ armed = TRUE message_admins("[key_name(user)] has placed \a [src] at ([x],[y],[z]).") -//let them know the mine's done cooking +/obj/item/mine/proc/loccheck(mob/user) + for(var/obj/item/mine/alreadymined in user.loc) + if(alreadymined.anchored) + return FALSE + return TRUE + +/// let them know the mine's done cooking /obj/item/mine/proc/now_armed() armed = TRUE update_appearance(UPDATE_ICON_STATE) + light_power = 1 + light_range = 1 playsound(src, 'sound/machines/nuke/angry_beep.ogg', 55, FALSE, 1) visible_message("\The [src] beeps softly, indicating it is now active.", vision_distance = COMBAT_MESSAGE_RANGE) /// Can this mine trigger on the passed movable? /obj/item/mine/proc/can_trigger(atom/movable/on_who) - //var/badtype = typecacheof(list(/obj/effect, /obj/item/mine)) if(triggered || !isturf(loc) || !armed || iseffect(on_who) || istype(on_who, /obj/item/mine)) return FALSE - //if(on_who == badtype)//no recursive self triggering. Bad landmine - // return FALSE return TRUE /// When something sets off a mine /obj/item/mine/proc/trigger_mine(atom/movable/triggerer) - if(obj_integrity <= 0) - return - if(triggered) //too busy detonating to detonate again + if(obj_integrity <= 0 || triggered)//too busy detonating to detonate again return if(triggerer) triggerer.visible_message(span_danger("[icon2html(src, viewers(src))] [triggerer] sets off \the [src]. It's gonna blow!"), span_danger("[icon2html(src, viewers(src))] \The [src] activates.")) @@ -114,7 +122,6 @@ playsound(src, 'sound/items/mine_activate.ogg', 70, FALSE) else playsound(src, 'sound/items/mine_activate_short.ogg', 80, FALSE) - light_color = "#FF0000" light_power = 5 light_range = 3 if(!blast_delay)//addtimer gets mad if the delay is 0 @@ -122,7 +129,7 @@ else addtimer(CALLBACK(src, PROC_REF(blast_now), triggerer), blast_delay) -//NOW we actually blow up +///NOW we actually blow up /obj/item/mine/proc/blast_now(atom/movable/triggerer) var/datum/effect_system/spark_spread/sporks = new /datum/effect_system/spark_spread sporks.set_up(3, 1, src) @@ -142,7 +149,7 @@ user.visible_message(span_warning("[user] extends their hand towards \the [src]!"), span_userdanger("You extend your arms to pick up \the [src], knowing that it will likely blow up when you touch it!")) if(do_after(user, 5 SECONDS, target = src))//SO SO generous. You can still step back from the edge. if(prob(10)) - user.visible_message(span_notice("[user] picks up \the [src], which miraculously doesn't explode!"), span_notice("You pick up \the [src], which miraculously doesn't explode!")) + user.visible_message(span_notice("[user] picks up \the [src], which miraculously doesn't go off!"), span_notice("You pick up \the [src], which miraculously doesn't go off!")) disarm() else user.visible_message(span_danger("[user] attempts to pick up \the [src] only to hear a beep as it activates in their hand!"), span_danger("You attempt to pick up \the [src] only to hear a beep as it activates in your hands!")) @@ -166,8 +173,8 @@ trigger_mine(user) // -//PRESSURE BASED MINE: -//Mine that explodes when stepped on. +///PRESSURE BASED MINE: +///Mine that explodes when stepped on. /obj/item/mine/pressure name = "dummy landmine" /// When true, mines trigger instantly on being stepped upon @@ -196,6 +203,11 @@ AddElement(/datum/element/connect_loc, loc_connections) wires = new /datum/wires/mine(src) +/obj/item/mine/pressure/Destroy() + if(wires) + QDEL_NULL(wires) + . = ..() + /obj/item/mine/pressure/examine(mob/user) . = ..() if(hair_trigger) @@ -254,11 +266,7 @@ clicked = FALSE . = ..() -/obj/item/mine/pressure/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) - trigger_mine(AM) - ..() - -//handles disarming(and failing to disarm) +///handles disarming(and failing to disarm) /obj/item/mine/pressure/attackby(obj/item/I, mob/user) if(I.tool_behaviour == TOOL_SCREWDRIVER) if(sealed) @@ -275,18 +283,16 @@ else . = ..() -// -//PROXIMITY MINES -//Mines that explode when someone moves nearby. Simpler, because I don't have to worry about saving step info or disarming logic -// +//PROXIMITY MINES +///Mines that explode when someone moves nearby. Simpler, because I don't have to worry about saving step info or disarming logic /obj/item/mine/proximity name = "dummy proximity mine" blast_delay = 15 DECISECONDS arm_delay = 10 SECONDS//clear the area ///needed for the proximity checks. var/datum/proximity_monitor/proximity_monitor - var/proximity_range = 2 + var/proximity_range = 3 /obj/item/mine/proximity/Initialize(mapload) . = ..() @@ -302,12 +308,8 @@ /obj/item/mine/proximity/now_armed() . = ..() proximity_monitor = new(src, proximity_range) - light_color = "#FF0000" - light_power = 1 - light_range = 1 /obj/item/mine/proximity/disarm() - . = ..() QDEL_NULL(proximity_monitor) /obj/item/mine/proximity/Destroy() @@ -316,7 +318,11 @@ . = ..() /obj/item/mine/proximity/HasProximity(atom/movable/triggerer) - if(!iscarbon(triggerer))//let's keep these on player movements for now. + //let's keep these on player movements for now. + if(!iscarbon(triggerer)) + return + //Quick and dirty solution for preventing activations behind walls. + if(!can_see(src, triggerer)) return if(!can_trigger(triggerer)) return @@ -326,9 +332,92 @@ QDEL_NULL(proximity_monitor) return +//DIRECTIONAL MINES +///Once deployed, keeps an eye on a line of turfs in the faced direction. If something moves in them, explode. +/obj/item/mine/directional + name = "directional mine" + desc = "An anti-personnel device that activates when an object moves in front of it. This one does nothing and is for testing purposes only." + + blast_delay = 1 DECISECONDS + arm_delay = 5 SECONDS + + ///range of tripwire + var/trigger_range = 4 + + ///projectile casing to fire in the selected direction when the mine is triggered. + //null prevents a projectile from being fired. + var/obj/item/ammo_casing/casingtype = null + + ///cache of turfs for detection area + var/list/tripwire_turfs + + ///for aiming the resulting projectiles + var/turf/target_turf + +///kills any existing tripwires +/obj/item/mine/directional/proc/remove_tripwires() + if(tripwire_turfs) + for(var/turf/affected_turf in tripwire_turfs) + UnregisterSignal(affected_turf, COMSIG_ATOM_ENTERED) + tripwire_turfs = null + if(target_turf) + target_turf = null + return + +///sets up tripwires(or recreates them, if already present) +/obj/item/mine/directional/proc/draw_tripwires() + if(tripwire_turfs) + remove_tripwires() + //we'll also use this to set up the pew + target_turf = get_ranged_target_turf(src, dir, trigger_range) + var/turf/starting_turf = get_turf(src) + tripwire_turfs = get_line(starting_turf, target_turf) + + for(var/turf/affected_turf in tripwire_turfs) + RegisterSignal(affected_turf, COMSIG_ATOM_ENTERED, PROC_REF(on_entered)) + +/obj/item/mine/directional/claymore/now_armed() + draw_tripwires() + . = ..() + +/obj/item/mine/directional/proc/on_entered(datum/source, atom/movable/arrived) + SIGNAL_HANDLER + if(!(arrived in view(trigger_range, src))) + return + if(!can_trigger(arrived)) + return + + if(ismob(arrived)) + var/mob/living/fool = arrived + fool.do_alert_animation(fool) + + visible_message(span_danger("[icon2html(src, viewers(src))] *click*")) + playsound(src, 'sound/machines/click.ogg', 100, TRUE) + INVOKE_ASYNC(src, PROC_REF(trigger_mine), arrived) + + +//pew pew +/obj/item/mine/directional/mine_effect(mob/victim) + if(casingtype && target_turf && victim ?(src.loc != victim.loc) : victim == null) + var/obj/item/ammo_casing/casing = new casingtype(src) + casing.fire_casing(target_turf, null, null, null, 30, ran_zone(), 60, src) + . = ..() + +/obj/item/mine/directional/disarm() + remove_tripwires() + visible_message(span_danger("With a soft clunk, the [src]'s securing bolts retract.")) + . = ..() + +///handles weird cases like ship movement or teleporting +/obj/item/mine/directional/Moved() + . = ..() + if(!loc) + return + if(armed & !triggered) + draw_tripwires() + // //LANDMINE TYPES -//Rylie please help me make these more immersive // /obj/item/mine/pressure/explosive @@ -380,7 +469,7 @@ shrapnel_magnitude = 4 /obj/item/mine/pressure/explosive/fire/mine_effect(mob/victim) - if(victim.is_holding(src))//in case it's been picked up + if(victim?.is_holding(src))//in case it's been picked up for(var/turf/T in view(4,victim)) T.IgniteTurf(15) new /obj/effect/hotspot(T) @@ -473,7 +562,7 @@ AddComponent(/datum/component/pellet_cloud, projectile_type=shrapnel_type, magnitude=shrapnel_magnitude) -//like all real 'less' than lethal crowd control options this is, in fact, not very good at being nonlethal +///like all real 'less' than lethal crowd control options this is, in fact, not very good at being nonlethal /obj/item/mine/proximity/explosive/sting name = "\improper'Stinger' Crowd Management Device" desc = "A \"less\" than lethal crowd control weapon, designed to demoralise and scatter anti-NT protestors. The bands of ballistic gel inside strike targets and incapacitate without causing serious maiming. In Theory." @@ -526,6 +615,76 @@ desc = "An anti-infantry device produced during the corporate wars. The explosive payload has been swapped out for 'viscerator'-type antipersonnel drones." spawn_type = /mob/living/simple_animal/hostile/viscerator + + +//Claymores +//shrapnel based dir explosive, extreme short range +//FRONT TOWARDS ENEMY +/obj/item/mine/directional/claymore + name = "C-10 Claymore" + desc = "A compact anti-personnel device with a directional trigger that responds to movement. A faded sticker on the back reads \"FRONT TOWARDS ENEMY\"." + icon = 'icons/obj/world/landmine.dmi' + icon_state = "mine_claymore" + base_icon_state = "mine_claymore" + + trigger_range = 2 + + //customize explosive power + var/range_devastation = -1 + var/range_heavy = 0 + var/range_light = 1 + var/range_flame = 0 + + //using this to indicate pb + var/range_flash = 1 + + //a second run of shrapnel, intended for maiming especially pb targets + var/obj/item/ammo_casing/shredtype = /obj/item/ammo_casing/caseless/shrapnel/shred + casingtype = /obj/item/ammo_casing/caseless/shrapnel + + manufacturer = MANUFACTURER_SCARBOROUGH + +//this will return to basic mines when we relegate them to specifically being on certain ruins & battlefields. For now, it's way too dangerous +/obj/item/mine/directional/claymore/Initialize() + . = ..() + AddElement(/datum/element/world_icon, null, icon, 'icons/obj/landmine.dmi') + +/obj/item/mine/directional/claymore/attackby(obj/item/I, mob/user) + if (I.tool_behaviour == TOOL_SCREWDRIVER && armed) + to_chat(user, "You begin unscrewing \the [src]'s arming pin...") + I.play_tool_sound(src, 50) + if(do_after(user, 10 SECONDS, target = src)) + to_chat(user, "You unscrew \the [src]'s arming pin, disarming it.") + disarm() + else + . = ..() + +/obj/item/mine/directional/claymore/mine_effect(mob/victim) + . = ..() + //if you somehow explode it while on the same tile, you win bonus shrapnel + //also spews stuff everywhere if it's triggered while not set up + if(!target_turf || victim ? (victim.loc == src.loc) : victim == null) + explosion(src, range_devastation, range_heavy, range_light, range_flash, 1, 0, range_flame, 0, 1) + var/casingammo = casingtype.projectile_type + var/shredammo = shredtype.projectile_type + if(casingtype) + AddComponent(/datum/component/pellet_cloud, projectile_type = casingammo, magnitude = 1) + if(shredtype) + AddComponent(/datum/component/pellet_cloud, projectile_type = shredammo, magnitude = 2) + else + var/blastloc = get_step_towards(src, target_turf) + explosion(blastloc, range_devastation, range_heavy, range_light, range_flash, 1, 0, range_flame, 0, 1) + if(shredtype) + var/obj/item/ammo_casing/shredcasing = new shredtype(src) + shredcasing.fire_casing(target_turf, null, null, null, 30, ran_zone(), 50, src) + +/obj/item/mine/directional/claymore/plasma + name = "\improper Etherbor EC-1" + desc = "A proximity explosive designed by the PGF for ambushing advancing infantry & defending corridors. Cooks armored targets to well-done." + shredtype = /obj/item/ammo_casing/caseless/shrapnel/shred/plasma + casingtype = /obj/item/ammo_casing/caseless/shrapnel/plasma + manufacturer = MANUFACTURER_PGF + // //GIMMICK MINES// //pretty much exclusively for adminbus & code dependencies @@ -671,6 +830,9 @@ LIVE_MINE_HELPER(proximity/explosive/sting) LIVE_MINE_HELPER(proximity/spawner/manhack) LIVE_MINE_HELPER(proximity/explosive/plasma) +LIVE_MINE_HELPER(directional/claymore) +LIVE_MINE_HELPER(directional/claymore/plasma) + LIVE_MINE_HELPER(pressure/gas) LIVE_MINE_HELPER(pressure/kickmine) LIVE_MINE_HELPER(pressure/sound) @@ -679,10 +841,10 @@ LIVE_MINE_HELPER(pressure/sound) // spawners (random mines, minefields, non-guaranteed mine) // -/obj/effect/spawner/lootdrop/mine +/obj/effect/spawner/random/mine name = "live mine spawner (random)" - lootcount = 1 - fan_out_items = TRUE + spawn_loot_count = 1 + spawn_loot_split = TRUE loot = list( /obj/item/mine/pressure/explosive/live = 10, /obj/item/mine/pressure/explosive/shrapnel/live = 3, @@ -702,7 +864,7 @@ LIVE_MINE_HELPER(pressure/sound) /obj/effect/spawner/minefield/random name = "random minefield spawner" - minetype = /obj/effect/spawner/lootdrop/mine + minetype = /obj/effect/spawner/random/mine /obj/effect/spawner/minefield/manhack name = "manhack field spawner" diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index dca088c1be2..50b8e395804 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -28,7 +28,7 @@ custom_materials = list(/datum/material/iron=50, /datum/material/glass=20) custom_premium_price = 450 toolspeed = 1 - usesound = 'sound/weapons/empty.ogg' + usesound = SOUND_EMPTY_MAG var/obj/machinery/buffer // simple machine buffer for device linkage var/mode = 0 @@ -170,10 +170,8 @@ toolspeed = 0.5 /obj/item/multitool/syndie - name = "suspicious-looking multitool" desc = "A darkened multitool with a matte finish and an ominous glowing screen." icon_state = "multitool_syndie" - toolspeed = 0.5 /obj/item/multitool/old desc = "Used for pulsing wires to test which to cut. This one looks... 'retro'. It wasn't recommended by doctors then and won't be recommended by doctors now." diff --git a/code/game/objects/items/devices/polycircuit.dm b/code/game/objects/items/devices/polycircuit.dm index be41de2c841..def5d876d11 100644 --- a/code/game/objects/items/devices/polycircuit.dm +++ b/code/game/objects/items/devices/polycircuit.dm @@ -4,7 +4,7 @@ desc = "A dense, overdesigned cluster of electronics which attempted to function as a multipurpose circuit electronic. Circuits can be removed from it... if you don't bleed out in the process." icon_state = "circuit_mess" item_state = "rods" - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_NORMAL max_amount = 8 var/circuit_type = /obj/item/electronics/airlock var/chosen_circuit = "airlock" diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index f8ced22c54b..d93760363e7 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -63,12 +63,12 @@ /obj/item/encryptionkey/headset_com name = "command radio encryption key" icon_state = "com_cypherkey" - channels = list(RADIO_CHANNEL_COMMAND = 1) + channels = list(RADIO_CHANNEL_EMERGENCY = 1) /obj/item/encryptionkey/heads/captain name = "\proper the captain's encryption key" icon_state = "cap_cypherkey" - channels = list(RADIO_CHANNEL_COMMAND = 1, RADIO_CHANNEL_WIDEBAND = 0) //WS edit - Wideband radio + channels = list(RADIO_CHANNEL_EMERGENCY = 1, RADIO_CHANNEL_WIDEBAND = 0) //WS edit - Wideband radio /obj/item/encryptionkey/headset_cent name = "\improper CentCom radio encryption key" @@ -77,10 +77,7 @@ channels = list(RADIO_CHANNEL_CENTCOM = 1, RADIO_CHANNEL_WIDEBAND = 0) //WS edit- Wideband Radio /obj/item/encryptionkey/ai //ported from NT, this goes 'inside' the AI. - channels = list(RADIO_CHANNEL_COMMAND = 1, RADIO_CHANNEL_AI_PRIVATE = 1) - -/obj/item/encryptionkey/secbot - channels = list(RADIO_CHANNEL_AI_PRIVATE = 1) + channels = list(RADIO_CHANNEL_EMERGENCY = 1) /obj/item/encryptionkey/solgov name = "\improper SolGov encryption key" @@ -88,11 +85,6 @@ icon_state = "solgov_cypherkey" channels = list(RADIO_CHANNEL_SOLGOV = 1) -// /obj/item/encryptionkey/suns -// name = "\improper SUNS encryption key" -// icon_state = "suns_cypherkey" -// channels = list(RADIO_CHANNEL_SUNS = 1) - /obj/item/encryptionkey/wideband name = "wideband encryption key" icon = 'icons/obj/radio.dmi' diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 0f0081c9045..cc091b4edbc 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -1,7 +1,7 @@ // Used for translating channels to tokens on examination GLOBAL_LIST_INIT(channel_tokens, list( RADIO_CHANNEL_COMMON = RADIO_KEY_COMMON, - RADIO_CHANNEL_COMMAND = RADIO_TOKEN_COMMAND, + RADIO_CHANNEL_EMERGENCY = RADIO_TOKEN_EMERGENCY, RADIO_CHANNEL_CENTCOM = RADIO_TOKEN_CENTCOM, RADIO_CHANNEL_SOLGOV = RADIO_TOKEN_SOLGOV, //WS Edit - SolGov Rep RADIO_CHANNEL_SYNDICATE = RADIO_TOKEN_SYNDICATE, @@ -10,8 +10,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( RADIO_CHANNEL_PGF = RADIO_TOKEN_PGF, RADIO_CHANNEL_INTEQ = RADIO_TOKEN_INTEQ, RADIO_CHANNEL_PIRATE = RADIO_TOKEN_PIRATE, - MODE_BINARY = MODE_TOKEN_BINARY, - RADIO_CHANNEL_AI_PRIVATE = RADIO_TOKEN_AI_PRIVATE + MODE_BINARY = MODE_TOKEN_BINARY )) /obj/item/radio/headset @@ -212,6 +211,10 @@ GLOBAL_LIST_INIT(channel_tokens, list( desc = "This is used by Inteq Risk Management Group's mercenaries. Protects ears from flashbangs." icon_state = "inteq_headset_alt" +/obj/item/radio/headset/inteq/alt/ComponentInitialize() + . = ..() + AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) + /obj/item/radio/headset/inteq/alt/captain name = "vanguard bowman headset" desc = "Used by Inteq Risk Management Group's elite vanguards. Protects ears from flashbangs." @@ -311,7 +314,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( /obj/item/radio/headset/headset_com/alt name = "command bowman headset" desc = "An officer's headset. Protects ears from flashbangs." - icon_state = "com_headset_alt" + icon_state = "headset_alt" /obj/item/radio/headset/headset_com/alt/ComponentInitialize() . = ..() @@ -330,7 +333,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( /obj/item/radio/headset/heads/captain/alt name = "captain's bowman headset" desc = "Dresses the ears of independent ship captains across the frontier. Protects ears from flashbangs." - icon_state = "com_headset_alt" + icon_state = "headset_alt" /obj/item/radio/headset/heads/captain/alt/ComponentInitialize() . = ..() @@ -456,7 +459,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( /obj/item/radio/headset/heads/hos/alt name = "\proper the head of security's bowman headset" desc = "The headset of the man in charge of keeping order and protecting the innocent. Protects ears from flashbangs." - icon_state = "com_headset_alt" + icon_state = "headset_alt" /obj/item/radio/headset/heads/hos/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 944fe746258..ef5b92641d5 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -177,6 +177,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 31) set_frequency(FREQ_WIDEBAND) freqlock = TRUE +/obj/item/radio/intercom/wideband/examine_more(mob/user) + interact(user) + return ..() + /obj/item/radio/intercom/wideband/unscrewed unscrewed = TRUE diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 6ec2d2ea11d..835ed6d3a11 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -16,7 +16,8 @@ throw_speed = 3 throw_range = 7 w_class = WEIGHT_CLASS_SMALL - custom_materials = list(/datum/material/iron=75, /datum/material/glass=25) + custom_materials = list(/datum/material/iron = 75, /datum/material/glass = 25) + slot_flags = ITEM_SLOT_NECK //Allows to be worn on neck so it's not eating pocket slots. obj_flags = USES_TGUI unique_reskin = list( "Classic" = "walkietalkie", @@ -34,29 +35,48 @@ ) var/on = TRUE var/frequency = FREQ_COMMON - var/canhear_range = 3 // The range around the radio in which mobs can hear what it receives. - var/emped = 0 // Tracks the number of EMPs currently stacked. - var/headset = FALSE // It can be used for hotkeys - var/last_chatter_time // The time since we last played a radio chatter sound. (WS edit - Radio Chatter #434) - - var/broadcasting = FALSE // Whether the radio will transmit dialogue it hears nearby. - var/listening = FALSE // Whether the radio is currently receiving. - var/prison_radio = FALSE // If true, the transmit wire starts cut. - var/unscrewed = FALSE // Whether wires are accessible. Toggleable by screwdrivering. - var/freerange = FALSE // If true, the radio has access to the full spectrum. - var/subspace_transmission = FALSE // If true, the radio transmits and receives on subspace exclusively. - var/subspace_switchable = FALSE // If true, subspace_transmission can be toggled at will. - var/freqlock = FALSE // Frequency lock to stop the user from untuning specialist radios. - var/use_command = FALSE // If true, broadcasts will be large and BOLD. - var/command = FALSE // If true, use_command can be toggled at will. - var/log = FALSE // If true, the UI will display the voice log for the frequency - var/list/loglist = list() //the voice log - - // Encryption key handling + ///The range around the radio in which mobs can hear what it receives. + var/canhear_range = 3 + ///Tracks the number of EMPs currently stacked. + var/emped = 0 + ///It can be used for hotkeys + var/headset = FALSE + ///The time since we last played a radio chatter sound. + var/last_chatter_time + + ///Whether the radio will transmit dialogue it hears nearby. + var/broadcasting = FALSE + ///Whether the radio is currently receiving. + var/listening = FALSE + ///If true, the transmit wire starts cut. + var/prison_radio = FALSE + ///Whether wires are accessible. Toggleable by screwdrivering. + var/unscrewed = FALSE + ///If true, the radio has access to the full spectrum. + var/freerange = FALSE + ///If true, the radio transmits and receives on subspace exclusively. + var/subspace_transmission = FALSE + ///If true, subspace_transmission can be toggled at will. + var/subspace_switchable = FALSE + ///Frequency lock to stop the user from untuning specialist radios. + var/freqlock = FALSE + ///If true, broadcasts will be large and BOLD. + var/use_command = FALSE + ///If true, use_command can be toggled at will. + var/command = FALSE + ///If true, the UI will display the voice log for the frequency + var/log = FALSE + ///the voice log + var/list/loglist = list() + + ///Encryption key handling var/obj/item/encryptionkey/keyslot - var/translate_binary = FALSE // If true, can hear the special binary channel. - var/independent = FALSE // If true, can say/hear on the special CentCom channel. - var/list/channels = list() // Map from name (see communications.dm) to on/off. First entry is current department (:h) + ///If true, can hear the special binary channel. + var/translate_binary = FALSE + ///If true, can say/hear on the special CentCom channel. + var/independent = FALSE + ///Map from name (see communications.dm) to on/off. First entry is current department (:h) + var/list/channels = list() var/list/secure_radio_connections var/const/FREQ_LISTENING = 1 @@ -267,7 +287,7 @@ var/datum/signal/subspace/vocal/signal = new(src, freq, speaker, language, message, spans, message_mods) // Independent radios, on the CentCom frequency, reach all independent radios - if (independent && (freq == FREQ_CENTCOM || freq == FREQ_WIDEBAND || freq == FREQ_CTF_RED || freq == FREQ_CTF_BLUE)) //WS Edit - SolGov Rep + if (independent && (freq == FREQ_CENTCOM || freq == FREQ_WIDEBAND)) //WS Edit - SolGov Rep signal.data["compression"] = 0 signal.transmission_method = TRANSMISSION_SUPERSPACE signal.map_zones = list(0) // reaches all Z-levels diff --git a/code/game/objects/items/devices/reverse_bear_trap.dm b/code/game/objects/items/devices/reverse_bear_trap.dm deleted file mode 100644 index 5d90c839beb..00000000000 --- a/code/game/objects/items/devices/reverse_bear_trap.dm +++ /dev/null @@ -1,130 +0,0 @@ -/obj/item/reverse_bear_trap - name = "reverse bear trap" - desc = "A horrifying set of shut metal jaws, rigged to a kitchen timer and secured by padlock to a head-mounted clamp. To apply, hit someone with it." - icon = 'icons/obj/device.dmi' - icon_state = "reverse_bear_trap" - slot_flags = ITEM_SLOT_HEAD - flags_1 = CONDUCT_1 - resistance_flags = FIRE_PROOF | UNACIDABLE - w_class = WEIGHT_CLASS_NORMAL - obj_integrity = 300 - max_integrity = 300 - item_state = "rack_parts" - lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' - righthand_file = 'icons/mob/inhands/items_righthand.dmi' - - var/ticking = FALSE - var/time_left = 60 //seconds remaining until pop - var/escape_chance = 0 //chance per "fiddle" to get the trap off your head - var/struggling = FALSE - - var/time_since_last_beep = 0 - var/datum/looping_sound/reverse_bear_trap/soundloop - var/datum/looping_sound/reverse_bear_trap_beep/soundloop2 - -/obj/item/reverse_bear_trap/Initialize() - . = ..() - soundloop = new(list(src)) - soundloop2 = new(list(src)) - -/obj/item/reverse_bear_trap/Destroy() - QDEL_NULL(soundloop) - QDEL_NULL(soundloop2) - STOP_PROCESSING(SSprocessing, src) - return ..() - -/obj/item/reverse_bear_trap/process() - if(!ticking) - return - time_left-- - soundloop2.mid_length = max(0.5, time_left - 5) //beepbeepbeepbeepbeep - if(!time_left || !isliving(loc)) - playsound(src, 'sound/machines/microwave/microwave-end.ogg', 100, FALSE) - soundloop.stop() - soundloop2.stop() - to_chat(loc, "*ding*") - addtimer(CALLBACK(src, PROC_REF(snap)), 2) - -/obj/item/reverse_bear_trap/attack_hand(mob/user) - if(iscarbon(user)) - var/mob/living/carbon/C = user - if(C.get_item_by_slot(ITEM_SLOT_HEAD) == src) - if(HAS_TRAIT_FROM(src, TRAIT_NODROP, REVERSE_BEAR_TRAP_TRAIT) && !struggling) - struggling = TRUE - var/fear_string - switch(time_left) - if(0 to 5) - fear_string = "agonizingly" - if(5 to 20) - fear_string = "desperately" - if(20 to 40) - fear_string = "panickedly" - if(40 to 50) - fear_string = "shakily" - if(50 to 60) - fear_string = "" - C.visible_message("[C] fiddles with and pulls at [src]...", \ - "You [fear_string] try to pull at [src]...", "You hear clicking and ticking.") - if(!do_after(user, 20, target = src)) - struggling = FALSE - return - if(!prob(escape_chance)) - to_chat(user, "It doesn't budge!") - escape_chance++ - else - user.visible_message("The lock on [user]'s [name] pops open!", \ - "You force open the padlock!", "You hear a single, pronounced click!") - REMOVE_TRAIT(src, TRAIT_NODROP, REVERSE_BEAR_TRAP_TRAIT) - struggling = FALSE - return - ..() - -/obj/item/reverse_bear_trap/attack(mob/living/target, mob/living/user) - if(target.get_item_by_slot(ITEM_SLOT_HEAD)) - to_chat(user, "Remove [target.p_their()] headgear first!") - return - target.visible_message("[user] starts forcing [src] onto [target]'s head!", \ - "[target] starts forcing [src] onto your head!", "You hear clanking.") - to_chat(user, "You start forcing [src] onto [target]'s head...") - if(!do_after(user, 30, target = target) || target.get_item_by_slot(ITEM_SLOT_HEAD)) - return - target.visible_message("[user] forces and locks [src] onto [target]'s head!", \ - "[target] locks [src] onto your head!", "You hear a click, and then a timer ticking down.") - to_chat(user, "You force [src] onto [target]'s head and click the padlock shut.") - user.dropItemToGround(src) - target.equip_to_slot_if_possible(src, ITEM_SLOT_HEAD) - arm() - notify_ghosts("[user] put a reverse bear trap on [target]!", source = src, action = NOTIFY_ORBIT, flashwindow = FALSE, ghost_sound = 'sound/machines/beep.ogg', notify_volume = 75, header = "Reverse bear trap armed") - -/obj/item/reverse_bear_trap/proc/snap() - reset() - var/mob/living/carbon/human/H = loc - if(!istype(H) || H.get_item_by_slot(ITEM_SLOT_HEAD) != src) - visible_message("[src]'s jaws snap open with an ear-piercing crack!") - playsound(src, 'sound/effects/snap.ogg', 75, TRUE) - else - var/mob/living/carbon/human/jill = loc - jill.visible_message("[src] goes off in [jill]'s mouth, ripping [jill.p_their()] head apart!", "[src] goes off!") - jill.emote("scream") - playsound(src, 'sound/effects/snap.ogg', 75, TRUE, frequency = 0.5) - playsound(src, 'sound/effects/splat.ogg', 50, TRUE, frequency = 0.5) - jill.apply_damage(9999, BRUTE, BODY_ZONE_HEAD) - jill.death() //just in case, for some reason, they're still alive - flash_color(jill, flash_color = "#FF0000", flash_time = 100) - -/obj/item/reverse_bear_trap/proc/reset() - ticking = FALSE - REMOVE_TRAIT(src, TRAIT_NODROP, REVERSE_BEAR_TRAP_TRAIT) - soundloop.stop() - soundloop2.stop() - STOP_PROCESSING(SSprocessing, src) - -/obj/item/reverse_bear_trap/proc/arm() //hulen - ticking = TRUE - escape_chance = initial(escape_chance) //we keep these vars until re-arm, for tracking purposes - time_left = initial(time_left) - ADD_TRAIT(src, TRAIT_NODROP, REVERSE_BEAR_TRAP_TRAIT) - soundloop.start() - soundloop2.mid_length = initial(soundloop2.mid_length) - soundloop2.start() - START_PROCESSING(SSprocessing, src) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index cdded7e418e..e273aceed47 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -5,7 +5,6 @@ CONTAINS: T-RAY HEALTH ANALYZER GAS ANALYZER -SLIME SCANNER NANITE SCANNER GENE SCANNER @@ -88,7 +87,7 @@ GENE SCANNER item_flags = NOBLUDGEON slot_flags = ITEM_SLOT_BELT throwforce = 3 - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 7 custom_materials = list(/datum/material/iron=200) @@ -226,20 +225,20 @@ GENE SCANNER if(length(damaged)>0 || oxy_loss>0 || tox_loss>0 || fire_loss>0) var/dmgreport = "General status:\ \ - \ + \ \ \ \ \ - \ + \ \ \ \ - " + " for(var/o in damaged) var/obj/item/bodypart/org = o //head, left arm, right arm, etc. - dmgreport += "\ + dmgreport += "\ \ " dmgreport += "
    Damage:Damage:BruteBurnToxinSuffocation
    Overall:
    Overall:[CEILING(brute_loss,1)][CEILING(fire_loss,1)][CEILING(tox_loss,1)][CEILING(oxy_loss,1)]
    [CEILING(oxy_loss,1)]
    [capitalize(parse_zone(org.body_zone))]:
    [capitalize(parse_zone(org.body_zone))]:[(org.brute_dam > 0) ? "[CEILING(org.brute_dam,1)]" : "0"][(org.burn_dam > 0) ? "[CEILING(org.burn_dam,1)]" : "0"]
    " @@ -290,9 +289,9 @@ GENE SCANNER var/render = FALSE var/toReport = "Organs:\ \ - \ - [advanced ? "" : ""]\ - " + \ + [advanced ? "" : ""]\ + " for(var/obj/item/organ/organ in H.internal_organs) var/status = "" @@ -301,8 +300,8 @@ GENE SCANNER else if (organ.damage > organ.low_threshold) status = "Mildly Damaged" if (status != "") render = TRUE - toReport += "\ - [advanced ? "" : ""]\ + toReport += "\ + [advanced ? "" : ""]\ " if (render) @@ -616,65 +615,6 @@ GENE SCANNER to_chat(user, examine_block(jointext(render_list, "\n")), type = MESSAGE_TYPE_INFO) return TRUE -//slime scanner - -/obj/item/slime_scanner - name = "slime scanner" - desc = "A device that analyzes a slime's internal composition and measures its stats." - icon = 'icons/obj/device.dmi' - icon_state = "adv_spectrometer" - item_state = "analyzer" - lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - pickup_sound = 'sound/items/handling/device_pickup.ogg' - drop_sound = 'sound/items/handling/device_drop.ogg' - w_class = WEIGHT_CLASS_SMALL - flags_1 = CONDUCT_1 - throwforce = 0 - throw_speed = 3 - throw_range = 7 - custom_materials = list(/datum/material/iron=30, /datum/material/glass=20) - -/obj/item/slime_scanner/attack(mob/living/M, mob/living/user) - if(user.stat) - return - if (!isslime(M)) - to_chat(user, "This device can only scan slimes!") - return - var/mob/living/simple_animal/slime/T = M - slime_scan(T, user) - -/proc/slime_scan(mob/living/simple_animal/slime/T, mob/living/user) - var/to_render = "\nSlime scan results:\ - \n[T.colour] [T.is_adult ? "adult" : "baby"] slime\ - \nNutrition: [T.nutrition]/[T.get_max_nutrition()]" - if (T.nutrition < T.get_starve_nutrition()) - to_render += "\nWarning: slime is starving!" - else if (T.nutrition < T.get_hunger_nutrition()) - to_render += "\nWarning: slime is hungry" - to_render += "\nElectric change strength: [T.powerlevel]\nHealth: [round(T.health/T.maxHealth,0.01)*100]%" - if (T.slime_mutation[4] == T.colour) - to_render += "\nThis slime does not evolve any further." - else - if (T.slime_mutation[3] == T.slime_mutation[4]) - if (T.slime_mutation[2] == T.slime_mutation[1]) - to_render += "\nPossible mutation: [T.slime_mutation[3]]\ - \nGenetic destability: [T.mutation_chance/2] % chance of mutation on splitting" - else - to_render += "\nPossible mutations: [T.slime_mutation[1]], [T.slime_mutation[2]], [T.slime_mutation[3]] (x2)\ - \nGenetic destability: [T.mutation_chance] % chance of mutation on splitting" - else - to_render += "\nPossible mutations: [T.slime_mutation[1]], [T.slime_mutation[2]], [T.slime_mutation[3]], [T.slime_mutation[4]]\ - \nGenetic destability: [T.mutation_chance] % chance of mutation on splitting" - if (T.cores > 1) - to_render += "\nMultiple cores detected" - to_render += "\nGrowth progress: [T.amount_grown]/[SLIME_EVOLUTION_THRESHOLD]" - if(T.effectmod) - to_render += "\nCore mutation in progress: [T.effectmod]\ - \nProgress in core mutation: [T.applied] / [(SLIME_EXTRACT_CROSSING_REQUIRED * T.crossbreed_modifier)]" - to_chat(user, examine_block(to_render)) - - /obj/item/nanite_scanner name = "nanite scanner" icon = 'icons/obj/device.dmi' @@ -862,7 +802,7 @@ GENE SCANNER item_flags = NOBLUDGEON slot_flags = ITEM_SLOT_BELT throwforce = 3 - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 7 custom_materials = list(/datum/material/iron=200) diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index d072fcc9c23..f2c63be37e6 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -1,3 +1,17 @@ +/datum/wires/recorder + wires = list(WIRE_ACTIVATE, WIRE_DISABLE, WIRE_RX) + holder_type = /obj/item/taperecorder + +/datum/wires/recorder/on_pulse(wire) + var/obj/item/taperecorder/recorder = holder + switch(wire) + if(WIRE_ACTIVATE) + recorder.record() + if(WIRE_DISABLE) + recorder.stop() + if(WIRE_RX) + recorder.play() + /obj/item/taperecorder name = "universal recorder" desc = "A device that can record to cassette tapes, and play them. It automatically translates the content in playback." @@ -20,16 +34,19 @@ var/starting_tape_type = /obj/item/tape/random var/open_panel = 0 var/canprint = 1 - + var/list/icons_available = list() + var/icon_directory = 'icons/effects/icons.dmi' /obj/item/taperecorder/Initialize(mapload) . = ..() + wires = new /datum/wires/recorder(src) if(starting_tape_type) mytape = new starting_tape_type(src) update_appearance() become_hearing_sensitive(ROUNDSTART_TRAIT) /obj/item/taperecorder/Destroy() + QDEL_NULL(wires) QDEL_NULL(mytape) return ..() @@ -38,18 +55,26 @@ . += "The wire panel is [open_panel ? "opened" : "closed"]." -/obj/item/taperecorder/attackby(obj/item/I, mob/user, params) - if(!mytape && istype(I, /obj/item/tape)) - if(!user.transferItemToLoc(I,src)) +/obj/item/taperecorder/attackby(obj/item/item, mob/user, params) + if(!mytape && istype(item, /obj/item/tape)) + if(!user.transferItemToLoc(item,src)) return - mytape = I - to_chat(user, "You insert [I] into [src].") + mytape = item + to_chat(user, span_notice("You insert [item] into [src].")) + playsound(src, 'sound/items/taperecorder/taperecorder_close.ogg', 50, FALSE) update_appearance() + if(open_panel) + if(is_wire_tool(item)) + wires.interact(user) +/obj/item/taperecorder/screwdriver_act(mob/living/user, obj/item/screwdriver) + to_chat(usr, span_notice("You [open_panel ? "close" : "open"] [src]s panel.")) + open_panel = !open_panel /obj/item/taperecorder/proc/eject(mob/user) if(mytape) - to_chat(user, "You remove [mytape] from [src].") + to_chat(user, span_notice("You remove [mytape] from [src].")) + playsound(src, 'sound/items/taperecorder/taperecorder_open.ogg', 50, FALSE) stop() user.put_in_hands(mytape) mytape = null @@ -118,7 +143,7 @@ return if(mytape.used_capacity < mytape.max_capacity) - to_chat(usr, "Recording started.") + to_chat(usr, span_notice("Recording started.")) recording = 1 update_appearance() mytape.timestamp += mytape.used_capacity @@ -132,7 +157,7 @@ recording = 0 update_appearance() else - to_chat(usr, "The tape is full.") + to_chat(usr, span_notice("[src] is full.")) /obj/item/taperecorder/verb/stop() @@ -146,11 +171,13 @@ recording = 0 mytape.timestamp += mytape.used_capacity mytape.storedinfo += "\[[time2text(mytape.used_capacity * 10,"mm:ss")]\] Recording stopped." + playsound(src, 'sound/items/taperecorder/taperecorder_stop.ogg', 50, FALSE) to_chat(usr, "Recording stopped.") return else if(playing) playing = 0 var/turf/T = get_turf(src) + playsound(src, 'sound/items/taperecorder/taperecorder_stop.ogg', 50, FALSE) T.visible_message("Tape Recorder: Playback stopped.") update_appearance() @@ -170,10 +197,11 @@ playing = 1 update_appearance() + playsound(src, 'sound/items/taperecorder/taperecorder_play.ogg', 50, FALSE) to_chat(usr, "Playing started.") var/used = mytape.used_capacity //to stop runtimes when you eject the tape var/max = mytape.max_capacity - for(var/i = 1, used < max, sleep(10 * playsleepseconds)) + for(var/i = 1, used <= max, sleep(10 * playsleepseconds)) if(!mytape) break if(playing == 0) @@ -198,12 +226,30 @@ /obj/item/taperecorder/attack_self(mob/user) - if(!mytape || mytape.ruined) + if(!mytape) + to_chat(user, span_notice("The [src] does not have a tape inside.")) + if(mytape.ruined) + to_chat(user, span_notice("The tape inside the [src] appears to be broken.")) return - if(recording) - stop() - else - record() + + update_available_icons() + if(icons_available) + var/selection = show_radial_menu(user, src, icons_available, radius = 38, require_near = TRUE, tooltips = TRUE) + if(!selection) + return + switch(selection) + if("Pause") + stop() + if("Stop Recording") // yes we actually need 2 seperate stops for the same proc- Hopek + stop() + if("Record") + record() + if("Play") + play() + if("Print Transcript") + print_transcript() + if("Eject") + eject(user) /obj/item/taperecorder/verb/print_transcript() @@ -215,14 +261,15 @@ if(!mytape) return if(!canprint) - to_chat(usr, "The recorder can't print that fast!") + to_chat(usr, span_notice("The recorder can't print that fast!")) return if(recording || playing) return - to_chat(usr, "Transcript printed.") + to_chat(usr, span_notice("Transcript printed.")) + playsound(src, 'sound/items/taperecorder/taperecorder_print.ogg', 50, FALSE) var/obj/item/paper/transcript_paper = new /obj/item/paper(get_turf(src)) - var/t1 = "Transcript:

    " + var/t1 = "

    Transcript:



    " for(var/i = 1, mytape.storedinfo.len >= i, i++) t1 += "[mytape.storedinfo[i]]
    " transcript_paper.add_raw_text(t1) @@ -231,6 +278,32 @@ canprint = FALSE addtimer(VARSET_CALLBACK(src, canprint, TRUE), 30 SECONDS) +/obj/item/taperecorder/AltClick(mob/user) + . = ..() + if (recording) + stop() + else + record() + +/obj/item/taperecorder/proc/update_available_icons() + icons_available = list() + + if(recording) + icons_available += list("Stop Recording" = image(icon = icon_directory, icon_state = "record_stop")) + else + if(!playing) + icons_available += list("Record" = image(icon = icon_directory, icon_state = "record")) + + if(playing) + icons_available += list("Pause" = image(icon = icon_directory, icon_state = "pause")) + else + if(!recording) + icons_available += list("Play" = image(icon = icon_directory, icon_state = "play")) + + if(canprint && !recording && !playing) + icons_available += list("Print Transcript" = image(icon = icon_directory, icon_state = "print")) + if(mytape) + icons_available += list("Eject" = image(icon = icon_directory, icon_state = "eject")) //empty tape recorders /obj/item/taperecorder/empty @@ -245,7 +318,7 @@ item_state = "analyzer" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL custom_materials = list(/datum/material/iron=20, /datum/material/glass=5) force = 1 throwforce = 0 @@ -255,34 +328,36 @@ var/list/timestamp = list() var/ruined = 0 +/obj/item/tape/Initialize() + . = ..() + if(ruined) + add_overlay("ribbonoverlay") + /obj/item/tape/fire_act(exposed_temperature, exposed_volume) - ruin() + if(!ruined) + ruin() ..() /obj/item/tape/attack_self(mob/user) if(!ruined) - to_chat(user, "You pull out all the tape!") - ruin() - + if(do_after(user, 30, src)) + to_chat(user, span_notice("You pull out all the tape!")) + ruin() /obj/item/tape/proc/ruin() - //Lets not add infinite amounts of overlays when our fireact is called - //repeatedly - if(!ruined) - add_overlay("ribbonoverlay") + add_overlay("ribbonoverlay") ruined = 1 - /obj/item/tape/proc/fix() cut_overlay("ribbonoverlay") ruined = 0 /obj/item/tape/attackby(obj/item/I, mob/user, params) - if(ruined && I.tool_behaviour == TOOL_SCREWDRIVER || istype(I, /obj/item/pen)) - to_chat(user, "You start winding the tape back in...") + if(ruined && (I.tool_behaviour == TOOL_SCREWDRIVER || istype(I, /obj/item/pen))) + to_chat(user, span_notice("You start winding the tape back in...")) if(I.use_tool(src, user, 120)) - to_chat(user, "You wound the tape back in.") + to_chat(user, span_notice("You wound the tape back in.")) fix() //Random colour tapes @@ -292,3 +367,12 @@ /obj/item/tape/random/Initialize() . = ..() icon_state = "tape_[pick("white", "blue", "red", "yellow", "purple")]" + +//How 2 set custom recorded tapes: +//create a list of lines to populate stored_info. Each line should follow a format like "[timestamp] [speaker] [speaking verb] ["what they're saying"]" +//create a list of timestamps. Each one should correspond to how long the recorder should wait before saying the line associated with the timestamp. +//e.g. "[00:00] Recording started." timestamp = 0 +//"[00:15] [span_name("berry fox")] says "wow. I love eating berries so much"" timestamp = 15 +//set used capacity to how many 'seconds' used by the prerecorded message +//optional: set max capacity to used capacity +//optional: set ruined var (you can fix this with a pen) diff --git a/code/game/objects/items/dna_injector.dm b/code/game/objects/items/dna_injector.dm index a1153959580..3e082376152 100644 --- a/code/game/objects/items/dna_injector.dm +++ b/code/game/objects/items/dna_injector.dm @@ -1,7 +1,7 @@ /obj/item/dnainjector name = "\improper DNA injector" desc = "This injects the person with DNA." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "dnainjector" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' @@ -247,30 +247,6 @@ name = "\improper DNA injector (Anti-Unintelligible)" remove_mutations = list(UNINTELLIGIBLE) -/obj/item/dnainjector/swedishmut - name = "\improper DNA injector (Swedish)" - add_mutations = list(SWEDISH) - -/obj/item/dnainjector/antiswedish - name = "\improper DNA injector (Anti-Swedish)" - remove_mutations = list(SWEDISH) - -/obj/item/dnainjector/chavmut - name = "\improper DNA injector (Chav)" - add_mutations = list(CHAV) - -/obj/item/dnainjector/antichav - name = "\improper DNA injector (Anti-Chav)" - remove_mutations = list(CHAV) - -/obj/item/dnainjector/elvismut - name = "\improper DNA injector (Elvis)" - add_mutations = list(ELVIS) - -/obj/item/dnainjector/antielvis - name = "\improper DNA injector (Anti-Elvis)" - remove_mutations = list(ELVIS) - /obj/item/dnainjector/lasereyesmut name = "\improper DNA injector (Laser Eyes)" add_mutations = list(LASEREYES) diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm index 51c17ff4290..a0bd4614835 100644 --- a/code/game/objects/items/documents.dm +++ b/code/game/objects/items/documents.dm @@ -5,7 +5,7 @@ icon_state = "docs_generic" item_state = "paper" throwforce = 0 - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_NORMAL throw_range = 1 throw_speed = 1 layer = MOB_LAYER @@ -27,6 +27,15 @@ /obj/item/documents/syndicate desc = "\"Top Secret\" documents detailing sensitive Syndicate operational intelligence." +/obj/item/documents/syndicate/cybersun + name = "classified Cybersun documents" + desc = "\"Top Secret\" documents detailing sensitive Cybersun Virtual Solutions operational intelligence. These documents are verified with a red wax seal." + icon_state = "docs_red" + +/obj/item/documents/syndicate/cybersun/biodynamics + desc = "\"Top Secret\" Cybersun Biodynamics documents, filled with patient lists and unfinished designs. These documents are verified with a teal wax seal." + icon_state = "docs_teal" + /obj/item/documents/syndicate/red name = "red secret documents" desc = "\"Top Secret\" documents detailing sensitive Syndicate operational intelligence. These documents are verified with a red wax seal." @@ -40,6 +49,15 @@ /obj/item/documents/syndicate/mining desc = "\"Top Secret\" documents detailing Syndicate plasma mining operations." +/obj/item/documents/syndicate/ngr + name = "Second Battlegroup secret documents" + desc = "\"Top Secret\" documents belonging to the Second Battlegroup of New Gorlex Republic. They are filled with sensitive operational intelligence. These documents are verified with a red wax seal." + icon_state = "docs_red" + +/obj/item/documents/eoehoma // For use in Eoehoma-related ruins. + desc = "\"Top Secret\" Eoehoma Firearms documents. Filled with weapon blueprints and eviction notices." + icon_state = "docs_blue" + /obj/item/documents/photocopy desc = "A copy of some top-secret documents. Nobody will notice they aren't the originals... right?" var/forgedseal = 0 diff --git a/code/game/objects/items/door_seal.dm b/code/game/objects/items/door_seal.dm index 64f7ca4fd92..76b406f3c9a 100644 --- a/code/game/objects/items/door_seal.dm +++ b/code/game/objects/items/door_seal.dm @@ -1,7 +1,7 @@ /obj/item/door_seal name = "pneumatic seal" desc = "A brace used to seal and reinforce an airlock. Useful for making areas inaccessible to those without opposable thumbs." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "pneumatic_seal" lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' diff --git a/code/game/objects/items/eightball.dm b/code/game/objects/items/eightball.dm index 1396521aaf9..b721393e85e 100644 --- a/code/game/objects/items/eightball.dm +++ b/code/game/objects/items/eightball.dm @@ -136,10 +136,10 @@ become_hearing_sensitive(ROUNDSTART_TRAIT) for (var/answer in haunted_answers) votes[answer] = 0 - GLOB.poi_list |= src + SSpoints_of_interest.make_point_of_interest(src) /obj/item/toy/eightball/haunted/Destroy() - GLOB.poi_list -= src + SSpoints_of_interest.remove_point_of_interest(src) . = ..() /obj/item/toy/eightball/haunted/MakeHaunted() diff --git a/code/game/objects/items/etherealdiscoball.dm b/code/game/objects/items/etherealdiscoball.dm index 94f1ae2a606..75084c239e5 100644 --- a/code/game/objects/items/etherealdiscoball.dm +++ b/code/game/objects/items/etherealdiscoball.dm @@ -1,18 +1,18 @@ /obj/item/etherealballdeployer - name = "Portable Ethereal Disco Ball" - desc = "Press the button for a deployment of slightly-unethical PARTY!" + name = "Portable Animatronic Disco Ball" + desc = "Press the button for a deployment of a copyright free PARTY!" icon = 'icons/obj/device.dmi' icon_state = "ethdisco" /obj/item/etherealballdeployer/attack_self(mob/living/carbon/user) .=..() - to_chat(user, "You deploy the Ethereal Disco Ball.") + to_chat(user, span_notice("You deploy the Ethereal Disco Ball.")) new /obj/structure/etherealball(user.loc) qdel(src) /obj/structure/etherealball - name = "Ethereal Disco Ball" - desc = "The ethics of this discoball are questionable." + name = "Animatronic Disco Ball" + desc = "A discoball with an animatronic head inside, seemingly in the likeness of a famous elzousza muscisian. A disclaimer on the side says any resemblence to living persons is entirely coincidental." icon = 'icons/obj/device.dmi' icon_state = "ethdisco_head_0" anchored = TRUE @@ -31,15 +31,15 @@ . = ..() if(TurnedOn) TurnOff() - to_chat(user, "You turn the disco ball off!") + to_chat(user, span_notice("You turn the disco ball off!")) else TurnOn() - to_chat(user, "You turn the disco ball on!") + to_chat(user, span_notice("You turn the disco ball on!")) /obj/structure/etherealball/AltClick(mob/living/carbon/human/user) . = ..() set_anchored(!anchored) - to_chat(user, "You [anchored ? null : "un"]lock the disco ball.") + to_chat(user, span_notice("You [anchored ? null : "un"]lock the disco ball.")) /obj/structure/etherealball/proc/TurnOn() TurnedOn = TRUE //Same diff --git a/code/game/objects/items/fireaxe.dm b/code/game/objects/items/fireaxe.dm deleted file mode 100644 index b2e5534a92b..00000000000 --- a/code/game/objects/items/fireaxe.dm +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Fireaxe - */ -/obj/item/fireaxe // DEM AXES MAN, marker -Agouri - icon_state = "fireaxe0" - base_icon_state = "fireaxe" - lefthand_file = 'icons/mob/inhands/weapons/axes_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/axes_righthand.dmi' - name = "fire axe" - desc = "Truly, the weapon of a madman. Who would think to fight fire with an axe?" - force = 5 - throwforce = 15 - w_class = WEIGHT_CLASS_BULKY - slot_flags = ITEM_SLOT_BACK - attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") - hitsound = 'sound/weapons/bladeslice.ogg' - sharpness = IS_SHARP - max_integrity = 200 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) - resistance_flags = FIRE_PROOF - species_exception = list(/datum/species/kepori) - var/wielded = FALSE // track wielded status on item - -/obj/item/fireaxe/Initialize() - . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) - -/obj/item/fireaxe/ComponentInitialize() - . = ..() - AddComponent(/datum/component/butchering, 100, 80, 0 , hitsound) //axes are not known for being precision butchering tools - AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=24, icon_wielded="[base_icon_state]1") - -/// triggered on wield of two handed item -/obj/item/fireaxe/proc/on_wield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = TRUE - -/// triggered on unwield of two handed item -/obj/item/fireaxe/proc/on_unwield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = FALSE - -/obj/item/fireaxe/update_icon_state() - icon_state = "[base_icon_state]0" - return ..() - -/obj/item/fireaxe/afterattack(atom/A, mob/user, proximity) - . = ..() - if(!proximity) - return - if(wielded) //destroys windows and grilles in one hit - if(istype(A, /obj/structure/window) || istype(A, /obj/structure/grille)) - var/obj/structure/W = A - W.obj_destruction("fireaxe") - -/* - * Bone Axe - */ -/obj/item/fireaxe/boneaxe // Blatant imitation of the fireaxe, but made out of bone. - icon_state = "bone_axe0" - base_icon_state = "bone_axe" - name = "bone axe" - desc = "A large, vicious axe crafted out of several sharpened bone plates and crudely tied together. Made of monsters, by killing monsters, for killing monsters." - icon = 'icons/obj/items_and_weapons.dmi' - -/obj/item/fireaxe/boneaxe/ComponentInitialize() - . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=23, icon_wielded="[base_icon_state]1") - diff --git a/code/game/objects/items/food/_food.dm b/code/game/objects/items/food/_food.dm new file mode 100644 index 00000000000..b8233e0ecc7 --- /dev/null +++ b/code/game/objects/items/food/_food.dm @@ -0,0 +1,67 @@ +///Abstract class to allow us to easily create all the generic "normal" food without too much copy pasta of adding more components +/obj/item/food + name = "food" + desc = "you eat this" + resistance_flags = FLAMMABLE + w_class = WEIGHT_CLASS_SMALL + icon = 'icons/obj/food/food.dmi' + icon_state = null + lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi' + ///List of reagents this food gets on creation + var/list/food_reagents + ///Extra flags for things such as if the food is in a container or not + var/food_flags + ///Bitflag of the types of food this food is + var/foodtypes + ///Amount of volume the food can contain + var/max_volume + ///How long it will take to eat this food without any other modifiers + var/eat_time + ///Tastes to describe this food + var/list/tastes + ///Verbs used when eating this food in the to_chat messages + var/list/eatverbs + ///How much reagents per bite + var/bite_consumption + ///What you get if you microwave the food, this should be replaced once I fully re-work cooking. + var/microwaved_type + ///Type of atom thats spawned after eating this item + var/trash_type + +/obj/item/food/Initialize() + . = ..() + if(food_reagents) + food_reagents = string_assoc_list(food_reagents) + if(tastes) + tastes = string_assoc_list(tastes) + if(eatverbs) + eatverbs = string_list(eatverbs) + make_edible() + make_processable() + make_leave_trash() + +///This proc adds the edible component, overwrite this if you for some reason want to change some specific args like callbacks. +/obj/item/food/proc/make_edible() + AddComponent(/datum/component/edible,\ + initial_reagents = food_reagents,\ + food_flags = food_flags,\ + foodtypes = foodtypes,\ + volume = max_volume,\ + eat_time = eat_time,\ + tastes = tastes,\ + eatverbs = eatverbs,\ + bite_consumption = bite_consumption,\ + microwaved_type = microwaved_type,\ + ) + + +///This proc handles processable elements, overwrite this if you want to add behavior such as slicing, forking, spooning, whatever, to turn the item into something else +/obj/item/food/proc/make_processable() + return + +///This proc handles trash components, overwrite this if you want the object to spawn trash +/obj/item/food/proc/make_leave_trash() + if(trash_type) + AddElement(/datum/element/food_trash, trash_type) + return diff --git a/code/game/objects/items/food/bread.dm b/code/game/objects/items/food/bread.dm new file mode 100644 index 00000000000..609315a9ea1 --- /dev/null +++ b/code/game/objects/items/food/bread.dm @@ -0,0 +1,378 @@ + +/obj/item/food/bread + name = "bread?" + desc = "This shouldn't exist, report to codermonkeys" + icon = 'icons/obj/food/burgerbread.dmi' + max_volume = 80 + tastes = list("bread" = 10) + foodtypes = GRAIN + eat_time = 3 SECONDS + /// type is spawned 5 at a time and replaces this bread loaf when processed by cutting tool + var/obj/item/food/breadslice/slice_type + /// so that the yield can change if it isnt 5 + var/yield = 5 + +/obj/item/food/bread/Initialize(mapload) + . = ..() + AddElement(/datum/element/dunkable, 10) + AddComponent(/datum/component/food_storage) + +/obj/item/food/bread/make_processable() + if (slice_type) + AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, 3 SECONDS, table_required = TRUE) + AddElement(/datum/element/processable, TOOL_SAW, slice_type, yield, 4 SECONDS, table_required = TRUE) + +/obj/item/food/breadslice + name = "breadslice?" + desc = "This shouldn't exist, report to codermonkeys" + icon = 'icons/obj/food/burgerbread.dmi' + foodtypes = GRAIN + food_flags = FOOD_FINGER_FOOD + eat_time = 0.5 SECONDS + w_class = WEIGHT_CLASS_SMALL + +/obj/item/food/breadslice/Initialize() + . = ..() + AddElement(/datum/element/dunkable, 10) + +/obj/item/food/bread/plain + name = "bread" + desc = "Some plain old earthen bread." + icon_state = "bread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 10 + ) + tastes = list("bread" = 10) + foodtypes = GRAIN + w_class = WEIGHT_CLASS_SMALL + slice_type = /obj/item/food/breadslice/plain + +/obj/item/food/breadslice/plain + name = "bread slice" + desc = "A slice of home." + icon_state = "breadslice" + foodtypes = GRAIN + food_reagents = list( + /datum/reagent/consumable/nutriment = 2 + ) + +/obj/item/food/breadslice/moldy + name = "moldy bread slice" + desc = "Entire stations have been ripped apart over arguing whether this is still good to eat." + icon_state = "moldybreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 2, + /datum/reagent/consumable/mold = 10, + ) + tastes = list("decaying fungus" = 1) + foodtypes = GROSS + +/obj/item/food/bread/meat + name = "meatbread loaf" + desc = "The culinary base of every self-respecting eloquen/tg/entleman." + icon_state = "meatbread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("bread" = 10, "meat" = 10) + foodtypes = GRAIN | MEAT + slice_type = /obj/item/food/breadslice/meat + +/obj/item/food/breadslice/meat + name = "meatbread slice" + desc = "A slice of delicious meatbread." + icon_state = "meatbreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 2 + ) + tastes = list("bread" = 1, "meat" = 1) + foodtypes = GRAIN | MEAT + +/obj/item/food/bread/xenomeat + name = "xenomeatbread loaf" + desc = "Extra Heretical." + icon_state = "xenomeatbread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("bread" = 10, "acid" = 10) + foodtypes = GRAIN | MEAT + slice_type = /obj/item/food/breadslice/xenomeat + +/obj/item/food/breadslice/xenomeat + name = "xenomeatbread slice" + desc = "A slice of delicious meatbread. Extra Heretical." + icon_state = "xenobreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 2 + ) + tastes = list("bread" = 10, "acid" = 10) + foodtypes = GRAIN | MEAT + +/obj/item/food/bread/spidermeat + name = "spider meat loaf" + desc = "Reassuringly green meatloaf made from spider meat." + icon_state = "spidermeatbread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/toxin = 15, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("bread" = 10, "cobwebs" = 5) + foodtypes = GRAIN | MEAT | TOXIC + slice_type = /obj/item/food/breadslice/spidermeat + +/obj/item/food/breadslice/spidermeat + name = "spider meat bread slice" + desc = "A slice of meatloaf made from an animal that most likely still wants you dead." + icon_state = "xenobreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 3, + /datum/reagent/toxin = 3, + /datum/reagent/consumable/nutriment/vitamin = 1 + ) + tastes = list("bread" = 10, "cobwebs" = 5) + foodtypes = GRAIN | MEAT | TOXIC + +/obj/item/food/bread/banana + name = "banana-nut bread" + desc = "A heavenly and filling treat." + icon_state = "bananabread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/banana = 20 + ) + tastes = list("bread" = 10) // bananjuice will also flavour + foodtypes = GRAIN | FRUIT + slice_type = /obj/item/food/breadslice/banana + +/obj/item/food/breadslice/banana + name = "banana-nut bread slice" + desc = "A slice of delicious banana bread." + icon_state = "bananabreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/banana = 4 + ) + tastes = list("bread" = 10) + foodtypes = GRAIN | FRUIT + +/obj/item/food/bread/tofu + name = "Tofubread" + desc = "Like meatbread but for vegetarians. Not guaranteed to give superpowers." + icon_state = "tofubread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("bread" = 10, "tofu" = 10) + foodtypes = GRAIN | VEGETABLES + slice_type = /obj/item/food/breadslice/tofu + +/obj/item/food/breadslice/tofu + name = "tofubread slice" + desc = "A slice of delicious tofubread." + icon_state = "tofubreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 2 + ) + tastes = list("bread" = 10, "tofu" = 10) + foodtypes = GRAIN | VEGETABLES + +/obj/item/food/bread/creamcheese + name = "cream cheese bread" + desc = "Just a schmear." + icon_state = "creamcheesebread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("bread" = 10, "cheese" = 10) + foodtypes = GRAIN | DAIRY + slice_type = /obj/item/food/breadslice/creamcheese + +/obj/item/food/breadslice/creamcheese + name = "cream cheese bread slice" + desc = "A slice of Brotherly love!" + icon_state = "creamcheesebreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 3, + /datum/reagent/consumable/nutriment/vitamin = 2 + ) + tastes = list("bread" = 10, "cheese" = 10) + foodtypes = GRAIN | DAIRY + +/obj/item/food/bread/mimana + name = "mimana bread" + desc = "Best eaten in silence." + icon_state = "mimanabread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/toxin/mutetoxin = 10, + /datum/reagent/consumable/nothing = 10, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("bread" = 10, "silence" = 10) + foodtypes = GRAIN | FRUIT + slice_type = /obj/item/food/breadslice/mimana + +/obj/item/food/breadslice/mimana + name = "mimana bread slice" + desc = "A slice of silence!" + icon_state = "mimanabreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/toxin/mutetoxin = 2, + /datum/reagent/consumable/nothing = 2, + /datum/reagent/consumable/nutriment/vitamin = 2 + ) + foodtypes = GRAIN | FRUIT + +/obj/item/food/breadslice/custom + name = "bread slice" + icon_state = "tofubreadslice" + foodtypes = GRAIN + +/obj/item/food/baguette + name = "baguette" + desc = "Bon appetit!" + icon = 'icons/obj/food/burgerbread.dmi' + icon_state = "baguette" + item_state = null + mob_overlay_state = "baguette" + food_reagents = list( + /datum/reagent/consumable/nutriment = 8, + /datum/reagent/consumable/nutriment/vitamin = 3 + ) + bite_consumption = 3 + w_class = WEIGHT_CLASS_NORMAL + slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT + attack_verb = list("touche") + tastes = list("bread" = 1) + foodtypes = GRAIN + +/obj/item/food/garlicbread + name = "garlic bread" + desc = "Alas, it is limited." + icon = 'icons/obj/food/burgerbread.dmi' + icon_state = "garlicbread" + item_state = null + food_reagents = list( + /datum/reagent/consumable/nutriment = 10, + /datum/reagent/consumable/nutriment/vitamin = 6, + /datum/reagent/consumable/garlic = 2 + ) + bite_consumption = 3 + tastes = list("bread" = 1, "garlic" = 1, "butter" = 1) + foodtypes = GRAIN + +/obj/item/food/deepfryholder + name = "Deep Fried Foods Holder Obj" + desc = "If you can see this description the code for the deep fryer fucked up." + icon = 'icons/obj/food/food.dmi' + icon_state = "" + bite_consumption = 2 + +/obj/item/food/deepfryholder/make_edible() + AddComponent(/datum/component/edible,\ + initial_reagents = food_reagents,\ + food_flags = food_flags,\ + foodtypes = foodtypes,\ + volume = max_volume,\ + eat_time = eat_time,\ + tastes = tastes,\ + eatverbs = eatverbs,\ + bite_consumption = bite_consumption,\ + on_consume = CALLBACK(src, PROC_REF(On_Consume))) + + +/obj/item/food/deepfryholder/Initialize(mapload, obj/item/fried) + . = ..() + name = fried.name //We'll determine the other stuff when it's actually removed + appearance = fried.appearance + layer = initial(layer) + plane = initial(plane) + lefthand_file = fried.lefthand_file + righthand_file = fried.righthand_file + mob_overlay_state = fried.mob_overlay_state + desc = fried.desc + w_class = fried.w_class + slowdown = fried.slowdown + equip_delay_self = fried.equip_delay_self + equip_delay_other = fried.equip_delay_other + strip_delay = fried.strip_delay + species_exception = fried.species_exception + item_flags = fried.item_flags + obj_flags = fried.obj_flags + inhand_x_dimension = fried.inhand_x_dimension + inhand_y_dimension = fried.inhand_y_dimension + + if(!(SEND_SIGNAL(fried, COMSIG_ITEM_FRIED, src) & COMSIG_FRYING_HANDLED)) //If frying is handled by signal don't do the defaault behavior. + fried.forceMove(src) + + +/obj/item/food/deepfryholder/Destroy() + if(contents) + QDEL_LIST(contents) + return ..() + +/obj/item/food/deepfryholder/proc/On_Consume(eater, feeder) + if(contents) + QDEL_LIST(contents) + + +/obj/item/food/deepfryholder/proc/fry(cook_time = 30) + switch(cook_time) + if(0 to 15) + add_atom_colour(rgb(166,103,54), FIXED_COLOUR_PRIORITY) + name = "lightly-fried [name]" + desc = "[desc] It's been lightly fried in a deep fryer." + if(16 to 49) + add_atom_colour(rgb(103,63,24), FIXED_COLOUR_PRIORITY) + name = "fried [name]" + desc = "[desc] It's been fried, increasing its tastiness value by [rand(1, 75)]%." + if(50 to 59) + add_atom_colour(rgb(63,23,4), FIXED_COLOUR_PRIORITY) + name = "deep-fried [name]" + desc = "[desc] Deep-fried to perfection." + if(60 to INFINITY) + add_atom_colour(rgb(33,19,9), FIXED_COLOUR_PRIORITY) + name = "\proper the physical manifestation of the very concept of fried foods" + desc = "A heavily-fried... something. Who can tell anymore?" + foodtypes |= FRIED + +/obj/item/food/butterbiscuit + name = "butter biscuit" + desc = "Well butter my biscuit!" + icon = 'icons/obj/food/food.dmi' + icon_state = "butterbiscuit" + food_reagents = list( + /datum/reagent/consumable/nutriment = 6, + /datum/reagent/consumable/nutriment/vitamin = 1 + ) + tastes = list("butter" = 1, "biscuit" = 1) + foodtypes = GRAIN | BREAKFAST + w_class = WEIGHT_CLASS_SMALL + +/obj/item/food/butterdog + name = "butterdog" + desc = "Made from exotic butters." + icon = 'icons/obj/food/food.dmi' + icon_state = "butterdog" + bite_consumption = 1 + food_reagents = list( + /datum/reagent/consumable/nutriment = 6, + /datum/reagent/consumable/nutriment/vitamin = 1 + ) + tastes = list("butter" = 1, "exotic butter" = 1) + foodtypes = GRAIN | DAIRY + w_class = WEIGHT_CLASS_SMALL + +/obj/item/food/butterdog/ComponentInitialize() + . = ..() + AddComponent(/datum/component/slippery, 8 SECONDS) diff --git a/code/game/objects/items/food/cake.dm b/code/game/objects/items/food/cake.dm new file mode 100644 index 00000000000..12445d50d8f --- /dev/null +++ b/code/game/objects/items/food/cake.dm @@ -0,0 +1,530 @@ +/obj/item/food/cake + icon = 'icons/obj/food/piecake.dmi' + bite_consumption = 3 + max_volume = 80 + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 5 + ) + tastes = list("cake" = 1) + foodtypes = GRAIN | DAIRY + /// type is spawned 5 at a time and replaces this cake when processed by cutting tool + var/obj/item/food/cakeslice/slice_type + /// changes yield of sliced cake, default for cake is 5 + var/yield = 5 + +/obj/item/food/cake/Initialize(mapload) + . = ..() + AddComponent(/datum/component/food_storage) + +/obj/item/food/cake/make_processable() + if (slice_type) + AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, 3 SECONDS, table_required = TRUE) + +/obj/item/food/cakeslice + icon = 'icons/obj/food/piecake.dmi' + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 1 + ) + tastes = list("cake" = 1) + foodtypes = GRAIN | DAIRY + w_class = WEIGHT_CLASS_SMALL + +/obj/item/food/cake/plain + name = "plain cake" + desc = "A plain cake, not a lie." //Many of the cakes seem to follow this desc scheme, so I am going to try and put either a hint about its contents, or a fun fact. Lets try to follow this. + icon_state = "plaincake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 30, + /datum/reagent/consumable/nutriment/vitamin = 7 + ) + tastes = list("sweetness" = 2, "cake" = 5) + foodtypes = GRAIN | DAIRY | SUGAR + slice_type = /obj/item/food/cakeslice/plain + +/obj/item/food/cakeslice/plain + name = "plain cake slice" + desc = "Just a slice of cake, it is enough for everyone." + icon_state = "plaincake_slice" + tastes = list("sweetness" = 2,"cake" = 5) + foodtypes = GRAIN | DAIRY | SUGAR + +/obj/item/food/cake/carrot + name = "carrot cake" + desc = "Scientifically proven to improve eyesight! Not a lie." + icon_state = "carrotcake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/medicine/oculine = 10, + /datum/reagent/consumable/nutriment/vitamin = 5 + ) + tastes = list("cake" = 5, "sweetness" = 2, "carrot" = 1) + foodtypes = GRAIN | DAIRY | VEGETABLES | SUGAR + slice_type = /obj/item/food/cakeslice/carrot + +/obj/item/food/cakeslice/carrot + name = "carrot cake slice" + desc = "Carrotty slice of Carrot Cake, carrots are good for your eyes! Also not a lie." + icon_state = "carrotcake_slice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/medicine/oculine = 2, + /datum/reagent/consumable/nutriment/vitamin = 1 + ) + tastes = list("cake" = 5, "sweetness" = 2, "carrot" = 1) + foodtypes = GRAIN | DAIRY | VEGETABLES | SUGAR + +/obj/item/food/cake/brain + name = "brain cake" + desc = "Yeah... its actually made out of brain. I wish it were a lie." + icon_state = "braincake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 15, + /datum/reagent/medicine/mannitol = 10, + /datum/reagent/consumable/nutriment/vitamin = 5 + ) + tastes = list("cake" = 5, "sweetness" = 2, "brains" = 1) + foodtypes = GRAIN | DAIRY | MEAT | GROSS | SUGAR + slice_type = /obj/item/food/cakeslice/brain + +/obj/item/food/cakeslice/brain + name = "brain cake slice" + desc = "Lemme tell you something about prions. THEY'RE DELICIOUS. A terrifying not-lie." + icon_state = "braincakeslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/medicine/mannitol = 2, + /datum/reagent/consumable/nutriment/vitamin = 1 + ) + tastes = list("cake" = 5, "sweetness" = 2, "brains" = 1) + foodtypes = GRAIN | DAIRY | MEAT | GROSS | SUGAR + +/obj/item/food/cake/cheese + name = "cheese cake" + desc = "DANGEROUSLY cheesy." + icon_state = "cheesecake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 8 + ) + tastes = list("cake" = 4, "cream cheese" = 3) + foodtypes = GRAIN | DAIRY + slice_type = /obj/item/food/cakeslice/cheese + +/obj/item/food/cakeslice/cheese + name = "cheese cake slice" + desc = "Slice of pure cheestisfaction." + icon_state = "cheesecake_slice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 1.3 + ) + tastes = list("cake" = 4, "cream cheese" = 3) + foodtypes = GRAIN | DAIRY + +/obj/item/food/cake/orange + name = "orange cake" + desc = "A cake with added orange." + icon_state = "orangecake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("cake" = 5, "sweetness" = 2, "oranges" = 2) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + slice_type = /obj/item/food/cakeslice/orange + +/obj/item/food/cakeslice/orange + name = "orange cake slice" + desc = "Just a slice of cake, it is enough for everyone." + icon_state = "orangecake_slice" + tastes = list("cake" = 5, "sweetness" = 2, "oranges" = 2) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + +/obj/item/food/cake/lime + name = "lime cake" + desc = "A cake with added lime." + icon_state = "limecake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("cake" = 5, "sweetness" = 2, "unbearable sourness" = 2) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + slice_type = /obj/item/food/cakeslice/lime + +/obj/item/food/cakeslice/lime + name = "lime cake slice" + desc = "Just a slice of cake, it is enough for everyone." + icon_state = "limecake_slice" + tastes = list("cake" = 5, "sweetness" = 2, "unbearable sourness" = 2) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + +/obj/item/food/cake/lemon + name = "lemon cake" + desc = "A cake with added lemon." + icon_state = "lemoncake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("cake" = 5, "sweetness" = 3, "sourness" = 1) //lemon cake is never as sour as it is sweet, have you ever actually eaten it? + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + slice_type = /obj/item/food/cakeslice/lemon + +/obj/item/food/cakeslice/lemon + name = "lemon cake slice" + desc = "Just a slice of cake, it is enough for everyone." + icon_state = "lemoncake_slice" + tastes = list("cake" = 5, "sweetness" = 2, "sourness" = 2) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + +/obj/item/food/cake/chocolate + name = "chocolate cake" + desc = "A cake with added chocolate." + icon_state = "chocolatecake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("cake" = 5, "sweetness" = 1, "chocolate" = 4) + foodtypes = GRAIN | DAIRY | JUNKFOOD | SUGAR + slice_type = /obj/item/food/cakeslice/chocolate + +/obj/item/food/cakeslice/chocolate + name = "chocolate cake slice" + desc = "Just a slice of cake, it is enough for everyone." + icon_state = "chocolatecake_slice" + tastes = list("cake" = 5, "sweetness" = 1, "chocolate" = 4) + foodtypes = GRAIN | DAIRY | JUNKFOOD | SUGAR + +/obj/item/food/cake/birthday + name = "birthday cake" + desc = "Happy Birthday little clown..." + icon_state = "birthdaycake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/sprinkles = 10, + /datum/reagent/consumable/nutriment/vitamin = 5 + ) + tastes = list("cake" = 5, "sweetness" = 1) + foodtypes = GRAIN | DAIRY | JUNKFOOD | SUGAR + slice_type = /obj/item/food/cakeslice/birthday + +/obj/item/food/cakeslice/birthday + name = "birthday cake slice" + desc = "A slice of your birthday." + icon_state = "birthdaycakeslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/sprinkles = 2, + /datum/reagent/consumable/nutriment/vitamin = 1 + ) + tastes = list("cake" = 5, "sweetness" = 1) + foodtypes = GRAIN | DAIRY | JUNKFOOD | SUGAR + +/obj/item/food/cake/birthday/energy + name = "energy cake" + desc = "Just enough calories for a whole nuclear operative squad." + icon_state = "energycake" + force = 5 + hitsound = 'sound/weapons/blade1.ogg' + food_reagents = list( + /datum/reagent/consumable/nutriment = 10, + /datum/reagent/consumable/sprinkles = 10, + /datum/reagent/consumable/nutriment/vitamin = 5, + /datum/reagent/consumable/pacfuel = 10, + /datum/reagent/consumable/liquidelectricity = 10 + ) + tastes = list("cake" = 3, "a Vlad's Salad" = 1) + slice_type = /obj/item/food/cakeslice/birthday/energy + +/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, BURN, BODY_ZONE_HEAD) // ITs an ENERGY sword, so it burns, duh + playsound(user, 'sound/weapons/blade1.ogg', 5, TRUE) + +/obj/item/food/cake/birthday/energy/attack(mob/living/target_mob, mob/living/user) + . = ..() + if(HAS_TRAIT(user, TRAIT_PACIFISM) && target_mob != user) //Prevents pacifists from attacking others directly + return + energy_bite(target_mob, user) + +/obj/item/food/cakeslice/birthday/energy + name = "energy cake slice" + desc = "For the traitor on the go." + icon_state = "energycakeslice" + force = 2 + hitsound = 'sound/weapons/blade1.ogg' + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/sprinkles = 2, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/consumable/pacfuel = 2, + /datum/reagent/consumable/liquidelectricity = 2 + ) + tastes = list("cake" = 3, "a Vlad's Salad" = 1) + +/obj/item/food/cakeslice/birthday/energy/proc/energy_bite(mob/living/user) + to_chat(user, "As you eat the cake slice, you accidentally hurt yourself on the embedded energy dagger!") + user.apply_damage(18, BURN, BODY_ZONE_HEAD) + playsound(user, 'sound/weapons/blade1.ogg', 5, TRUE) + +/obj/item/food/cakeslice/birthday/energy/attack(mob/living/target_mob, mob/living/user) + . = ..() + if(HAS_TRAIT(user, TRAIT_PACIFISM) && target_mob != user) //Prevents pacifists from attacking others directly + return + energy_bite(target_mob, user) + +/obj/item/food/cake/apple + name = "apple cake" + desc = "A cake centred with Apple." + icon_state = "applecake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("cake" = 5, "sweetness" = 1, "apple" = 1) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + slice_type = /obj/item/food/cakeslice/apple + +/obj/item/food/cakeslice/apple + name = "apple cake slice" + desc = "A slice of heavenly cake." + icon_state = "applecakeslice" + tastes = list("cake" = 5, "sweetness" = 1, "apple" = 1) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + +/obj/item/food/cake/slimecake + name = "Slime cake" + desc = "A cake made of slimes. Probably not electrified." + icon_state = "slimecake" + tastes = list("cake" = 5, "sweetness" = 1, "slime" = 1) + foodtypes = GRAIN | DAIRY | SUGAR + slice_type = /obj/item/food/cakeslice/slimecake + +/obj/item/food/cakeslice/slimecake + name = "slime cake slice" + desc = "A slice of slime cake." + icon_state = "slimecake_slice" + tastes = list("cake" = 5, "sweetness" = 1, "slime" = 1) + foodtypes = GRAIN | DAIRY | SUGAR + +/obj/item/food/cake/pumpkinspice + name = "pumpkin spice cake" + desc = "A hollow cake with real pumpkin." + icon_state = "pumpkinspicecake" + tastes = list("cake" = 5, "sweetness" = 1, "pumpkin" = 1) + foodtypes = GRAIN | DAIRY | VEGETABLES | SUGAR + slice_type = /obj/item/food/cakeslice/pumpkinspice + +/obj/item/food/cakeslice/pumpkinspice + name = "pumpkin spice cake slice" + desc = "A spicy slice of pumpkin goodness." + icon_state = "pumpkinspicecakeslice" + tastes = list("cake" = 5, "sweetness" = 1, "pumpkin" = 1) + foodtypes = GRAIN | DAIRY | VEGETABLES | SUGAR + +/obj/item/food/cake/bsvc // blackberry strawberries vanilla cake + name = "blackberry and strawberry vanilla cake" + desc = "A plain cake, filled with assortment of blackberries and strawberries!" + icon_state = "blackbarry_strawberries_cake_vanilla_cake" + tastes = list("blackberry" = 2, "strawberries" = 2, "vanilla" = 2, "sweetness" = 2, "cake" = 3) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + slice_type = /obj/item/food/cakeslice/bsvc + +/obj/item/food/cakeslice/bsvc + name = "blackberry and strawberry vanilla cake slice" + desc = "Just a slice of cake filled with assortment of blackberries and strawberries!" + icon_state = "blackbarry_strawberries_cake_vanilla_slice" + tastes = list("blackberry" = 2, "strawberries" = 2, "vanilla" = 2, "sweetness" = 2,"cake" = 3) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + +/obj/item/food/cake/bscc // blackbarry strawberries chocolate cake + name = "blackberry and strawberry chocolate cake" + desc = "A chocolate cake, filled with assortment of blackberries and strawberries!" + icon_state = "blackbarry_strawberries_cake_coco_cake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 5, + /datum/reagent/consumable/coco = 5 + ) + tastes = list("blackberry" = 2, "strawberries" = 2, "chocolate" = 4, "sweetness" = 2,"cake" = 3) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + slice_type = /obj/item/food/cakeslice/bscc + +/obj/item/food/cakeslice/bscc + name = "blackberry and strawberry chocolate cake slice" + desc = "Just a slice of cake filled with assortment of blackberries and strawberries!" + icon_state = "blackbarry_strawberries_cake_coco_slice" + tastes = list("blackberry" = 2, "strawberries" = 2, "chocolate" = 4, "sweetness" = 2,"cake" = 3) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + +/obj/item/food/cake/holy_cake + name = "angel food cake" + desc = "A cake made for angels and chaplains alike! Contains holy water." + icon_state = "holy_cake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 1, + /datum/reagent/consumable/nutriment/vitamin = 3, + /datum/reagent/water/holywater = 10 + ) + tastes = list("cake" = 5, "sweetness" = 1, "clouds" = 1) + foodtypes = GRAIN | DAIRY | SUGAR + slice_type = /obj/item/food/cakeslice/holy_cake_slice + +/obj/item/food/cakeslice/holy_cake_slice + name = "angel food cake slice" + desc = "A slice of heavenly cake." + icon_state = "holy_cake_slice" + tastes = list("cake" = 5, "sweetness" = 1, "clouds" = 1) + foodtypes = GRAIN | DAIRY | SUGAR + +/obj/item/food/cake/pound_cake + name = "pound cake" + desc = "A condensed cake made for filling people up quickly." + icon_state = "pound_cake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 60, + /datum/reagent/consumable/nutriment/vitamin = 5 + ) + tastes = list("cake" = 5, "sweetness" = 1, "batter" = 1) + foodtypes = GRAIN | DAIRY | SUGAR | JUNKFOOD + slice_type = /obj/item/food/cakeslice/pound_cake_slice + yield = 10 //cause its so damn THICC (seriously these things are fucking huge a pound of each ingredient are you kidding) + +/obj/item/food/cakeslice/pound_cake_slice + name = "pound cake slice" + desc = "A slice of condensed cake made for filling people up quickly." + icon_state = "pound_cake_slice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 9, + /datum/reagent/consumable/nutriment/vitamin = 0.5 + ) + tastes = list("cake" = 5, "sweetness" = 5, "batter" = 1) + foodtypes = GRAIN | DAIRY | SUGAR | JUNKFOOD + +/obj/item/food/cake/hardware_cake + name = "hardware cake" + desc = "A quote on quote cake that is made with electronic boards and leaks acid..." + icon_state = "hardware_cake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 5, + /datum/reagent/toxin/acid = 15, + /datum/reagent/fuel/oil = 15 + ) + tastes = list("acid" = 3, "metal" = 4, "glass" = 5) + foodtypes = GRAIN | GROSS + slice_type = /obj/item/food/cakeslice/hardware_cake_slice + +/obj/item/food/cakeslice/hardware_cake_slice + name = "hardware cake slice" + desc = "A slice of electronic boards and some acid." + icon_state = "hardware_cake_slice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/toxin/acid = 3, + /datum/reagent/fuel/oil = 3 + ) + tastes = list("acid" = 3, "metal" = 4, "glass" = 5) + foodtypes = GRAIN | GROSS + +/obj/item/food/cake/vanilla_cake + name = "vanilla cake" + desc = "A vanilla frosted cake." + icon_state = "vanillacake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 5, + /datum/reagent/consumable/sugar = 15, + /datum/reagent/consumable/vanilla = 15 + ) + tastes = list("cake" = 1, "sugar" = 1, "vanilla" = 10) + foodtypes = GRAIN | SUGAR | DAIRY + slice_type = /obj/item/food/cakeslice/vanilla_slice + +/obj/item/food/cakeslice/vanilla_slice + name = "vanilla cake slice" + desc = "A slice of vanilla frosted cake." + icon_state = "vanillacake_slice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/consumable/sugar = 3, + /datum/reagent/consumable/vanilla = 3 + ) + tastes = list("cake" = 1, "sugar" = 1, "vanilla" = 10) + foodtypes = GRAIN | SUGAR | DAIRY + +/obj/item/food/cake/clown_cake + name = "clown cake" + desc = "A funny cake with a clown face on it." + icon_state = "clowncake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 5, + /datum/reagent/consumable/banana = 15 + ) + tastes = list("cake" = 1, "sugar" = 1, "joy" = 10) + foodtypes = GRAIN | SUGAR | DAIRY + slice_type = /obj/item/food/cakeslice/clown_slice + +/obj/item/food/cakeslice/clown_slice + name = "clown cake slice" + desc = "A slice of bad jokes, and silly props." + icon_state = "clowncake_slice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/consumable/banana = 3 + ) + tastes = list("cake" = 1, "sugar" = 1, "joy" = 10) + foodtypes = GRAIN | SUGAR | DAIRY + +/obj/item/food/cake/trumpet + name = "spaceman's cake" + desc = "A spaceman's trumpet frosted cake." + icon_state = "trumpetcake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 5, + /datum/reagent/medicine/polypyr = 15, + /datum/reagent/consumable/cream = 5, + /datum/reagent/consumable/nutriment/vitamin = 5, + /datum/reagent/consumable/berryjuice = 5 + ) + tastes = list("cake" = 4, "violets" = 2, "jam" = 2) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + slice_type = /obj/item/food/cakeslice/trumpet + +/obj/item/food/cakeslice/trumpet + name = "spaceman's cake" + desc = "A spaceman's trumpet frosted cake." + icon_state = "trumpetcakeslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/medicine/polypyr = 3, + /datum/reagent/consumable/cream = 1, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/consumable/berryjuice = 1 + ) + tastes = list("cake" = 4, "violets" = 2, "jam" = 2) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + +/obj/item/food/cake/brioche + name = "brioche cake" + desc = "A ring of sweet, glazed buns." + icon_state = "briochecake" + tastes = list("cake" = 4, "butter" = 2, "cream" = 1) + foodtypes = GRAIN | DAIRY | SUGAR + slice_type = /obj/item/food/cakeslice/brioche + yield = 6 + +/obj/item/food/cakeslice/brioche + name = "brioche cake slice" + desc = "Delicious sweet-bread. Who needs anything else?" + icon_state = "briochecake_slice" diff --git a/code/game/objects/items/food/spaghetti.dm b/code/game/objects/items/food/spaghetti.dm new file mode 100644 index 00000000000..5c104a1a747 --- /dev/null +++ b/code/game/objects/items/food/spaghetti.dm @@ -0,0 +1,98 @@ + +/obj/item/food/spaghetti + icon = 'icons/obj/food/pizzaspaghetti.dmi' + food_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) + foodtypes = GRAIN + +/obj/item/food/spaghetti/Initialize() + . = ..() + if(!microwaved_type) // This isn't cooked, why would you put uncooked spaghetti in your pocket? + var/list/display_message = list( + "Something wet falls out of their pocket and hits the ground. Is that... [name]?", + "Oh shit! All your pocket [name] fell out!") + AddComponent(/datum/component/spill, display_message, 'sound/effects/splat.ogg') + +/obj/item/food/spaghetti/raw + name = "spaghetti" + desc = "Now that's a nic'e pasta!" + icon_state = "spaghetti" + tastes = list("pasta" = 1) + microwaved_type = /obj/item/food/spaghetti/boiledspaghetti + +/obj/item/food/spaghetti/boiledspaghetti + name = "boiled spaghetti" + desc = "A plain dish of noodles, this needs more ingredients." + icon_state = "spaghettiboiled" + trash_type = /obj/item/trash/plate + food_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 1) + microwaved_type = null + +/obj/item/food/spaghetti/pastatomato + name = "spaghetti" + desc = "Spaghetti and crushed tomatoes, almost as tangled as Miskilamo's wiring!" + icon_state = "pastatomato" + trash_type = /obj/item/trash/plate + bite_consumption = 4 + food_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/tomatojuice = 10, /datum/reagent/consumable/nutriment/vitamin = 4) + microwaved_type = null + tastes = list("pasta" = 1, "tomato" = 1) + foodtypes = GRAIN | FRUIT + +/obj/item/food/spaghetti/copypasta + name = "copypasta" + desc = "You probably shouldn't try this, you always hear people talking about how bad it is..." + icon_state = "copypasta" + trash_type = /obj/item/trash/plate + bite_consumption = 4 + food_reagents = list(/datum/reagent/consumable/nutriment = 12, /datum/reagent/consumable/tomatojuice = 20, /datum/reagent/consumable/nutriment/vitamin = 8) + microwaved_type = null + tastes = list("pasta" = 1, "tomato" = 1) + foodtypes = GRAIN | VEGETABLES + +/obj/item/food/spaghetti/meatballspaghetti + name = "spaghetti and meatballs" + desc = "Now that's a nic'e meatball!" + icon_state = "meatballspaghetti" + trash_type = /obj/item/trash/plate + food_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 2) + microwaved_type = null + tastes = list("pasta" = 1, "meat" = 1) + foodtypes = GRAIN | MEAT + +/obj/item/food/spaghetti/spesslaw + name = "spesslaw" + desc = "A lawyers favourite." + icon_state = "spesslaw" + trash_type = /obj/item/trash/plate + food_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 3) + microwaved_type = null + tastes = list("pasta" = 1, "meat" = 1) + +/obj/item/food/spaghetti/chowmein + name = "chow mein" + desc = "A nice mix of noodles and fried vegetables." + icon_state = "chowmein" + trash_type = /obj/item/trash/plate + food_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 6) + microwaved_type = null + tastes = list("noodle" = 1, "tomato" = 1) + +/obj/item/food/spaghetti/beefnoodle + name = "beef noodle" + desc = "Nutritious, beefy and noodly." + icon_state = "beefnoodle" + trash_type = /obj/item/reagent_containers/glass/bowl + food_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 6, /datum/reagent/liquidgibs = 3) + microwaved_type = null + tastes = list("noodle" = 1, "meat" = 1) + foodtypes = GRAIN | MEAT + +/obj/item/food/spaghetti/butternoodles + name = "butter noodles" + desc = "Noodles covered in savory butter. Simple and slippery, but delicious." + icon_state = "butternoodles" + trash_type = /obj/item/trash/plate + food_reagents = list(/datum/reagent/consumable/nutriment = 9, /datum/reagent/consumable/nutriment/vitamin = 2) + microwaved_type = null + tastes = list("noodle" = 1, "butter" = 1) + foodtypes = GRAIN | DAIRY diff --git a/code/game/objects/items/gear_packs.dm b/code/game/objects/items/gear_packs.dm new file mode 100644 index 00000000000..65db4ffa28c --- /dev/null +++ b/code/game/objects/items/gear_packs.dm @@ -0,0 +1,285 @@ +/obj/item/gear_pack + name = "gear pack" + desc = "A large backpack that usually holds things" + icon = 'icons/obj/hydroponics/equipment.dmi' + icon_state = "waterbackpack" + item_state = "waterbackpack" + lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi' + w_class = WEIGHT_CLASS_HUGE + slot_flags = ITEM_SLOT_BACK + item_flags = SLOWS_WHILE_IN_HAND + max_integrity = 300 + slowdown = 1 + drag_slowdown = 1 + actions_types = list(/datum/action/item_action/toggle_gear_handle) + max_integrity = 200 + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) + resistance_flags = FIRE_PROOF + var/on = FALSE + var/obj/item/stock_parts/cell/cell + var/preload_cell_type = /obj/item/stock_parts/cell/high + var/powered = FALSE + var/activate_sound = "sparks" + var/obj/item/gear_handle/gear_handle_type = /obj/item/gear_handle + var/obj/item/gear_handle/gear_handle + +/obj/item/gear_pack/get_cell() + return cell + +/obj/item/gear_pack/Initialize() + . = ..() + drag_slowdown = slowdown + gear_handle = new gear_handle_type(src) + cell = new preload_cell_type(src) + update_power() + return + +/obj/item/gear_pack/examine(mob/user) + . = ..() + . += "It is [ on ? "currently" : "not"] active." + if(cell) + . += "A small readout reports [PERCENT(cell.charge / cell.maxcharge)]% charge." + +/obj/item/gear_pack/fire_act(exposed_temperature, exposed_volume) + . = ..() + if(gear_handle?.loc == src) + gear_handle.fire_act(exposed_temperature, exposed_volume) + +/obj/item/gear_pack/extinguish() + . = ..() + if(gear_handle?.loc == src) + gear_handle.extinguish() + +/obj/item/gear_pack/proc/update_power() + if(!QDELETED(cell)) + if(QDELETED(gear_handle) || cell.charge < gear_handle.usecost) + powered = FALSE + else + powered = TRUE + else + powered = FALSE + update_icon() + +/obj/item/gear_pack/update_overlays() + . = ..() + + if(powered) + . += "[initial(icon_state)]-powered" + if(!QDELETED(cell)) + var/ratio = cell.charge / cell.maxcharge + ratio = CEILING(ratio*4, 1) * 25 + . += "[initial(icon_state)]-charge[ratio]" + if(!cell) + . += "[initial(icon_state)]-nocell" + if(!on) + . += "[initial(icon_state)]-attachment" + +/obj/item/gear_pack/CheckParts(list/parts_list) + ..() + cell = locate(/obj/item/stock_parts/cell) in contents + update_power() + +/obj/item/gear_pack/ui_action_click() + toggle_gear_handle() + +//ATTACK HAND IGNORING PARENT RETURN VALUE +/obj/item/gear_pack/attack_hand(mob/user) + if(loc == user) + if(slot_flags == ITEM_SLOT_BACK) + if(user.get_item_by_slot(ITEM_SLOT_BACK) == src) + ui_action_click() + else + to_chat(user, "Put the [src] on your back first!") + + else if(slot_flags == ITEM_SLOT_BELT) + if(user.get_item_by_slot(ITEM_SLOT_BELT) == src) + ui_action_click() + else + to_chat(user, "Strap the [src]'s belt on first!") + return + return ..() + +/obj/item/gear_pack/MouseDrop(obj/over_object) + . = ..() + if(ismob(loc)) + var/mob/M = loc + if(!M.incapacitated() && istype(over_object, /atom/movable/screen/inventory/hand)) + var/atom/movable/screen/inventory/hand/H = over_object + M.putItemFromInventoryInHandIfPossible(src, H.held_index) + +/obj/item/gear_pack/attackby(obj/item/W, mob/user, params) + if(W == gear_handle) + toggle_gear_handle() + else if(istype(W, /obj/item/stock_parts/cell)) + var/obj/item/stock_parts/cell/C = W + if(cell) + to_chat(user, "[src] already has a cell!") + else + if(C.maxcharge < gear_handle.usecost) + to_chat(user, "[src] requires a higher capacity cell.") + return + if(!user.transferItemToLoc(W, src)) + return + cell = W + to_chat(user, "You install a cell in [src].") + update_power() + + else if(W.tool_behaviour == TOOL_SCREWDRIVER) + if(cell) + cell.update_icon() + cell.forceMove(get_turf(src)) + cell = null + to_chat(user, "You remove the cell from [src].") + update_power() + else + return ..() + +/obj/item/gear_pack/emp_act(severity) + . = ..() + if(cell && !(. & EMP_PROTECT_CONTENTS)) + deductcharge(1000 / severity) + if(. & EMP_PROTECT_SELF) + return + update_power() + +/obj/item/gear_pack/proc/toggle_gear_handle() + set name = "Toggle gear_handle" + set category = "Object" + on = !on + + var/mob/living/carbon/user = usr + if(on) + //Detach the gear_handle into the user's hands + playsound(src, 'sound/items/handling/multitool_pickup.ogg', 100) + if(!usr.put_in_hands(gear_handle)) + on = FALSE + to_chat(user, "You need a free hand to hold the [gear_handle]!") + update_power() + return + else + //Remove from their hands and back onto the gear pack + remove_gear_handle(user) + + update_power() + for(var/X in actions) + var/datum/action/A = X + A.UpdateButtonIcon() + + +/obj/item/gear_pack/equipped(mob/user, slot) + ..() + if((slot_flags == ITEM_SLOT_BACK && slot != ITEM_SLOT_BACK) || (slot_flags == ITEM_SLOT_BELT && slot != ITEM_SLOT_BELT)) + remove_gear_handle(user) + update_power() + +/obj/item/gear_pack/item_action_slot_check(slot, mob/user) + if(slot == user.getBackSlot()) + return 1 + +/obj/item/gear_pack/proc/remove_gear_handle(mob/user) + if(ismob(gear_handle.loc)) + var/mob/M = gear_handle.loc + M.dropItemToGround(gear_handle, TRUE) + return + +/obj/item/gear_pack/Destroy() + if(on) + var/M = get(gear_handle, /mob) + remove_gear_handle(M) + QDEL_NULL(gear_handle) + QDEL_NULL(cell) + return ..() + +/obj/item/gear_pack/proc/deductcharge(chrgdeductamt) + if(cell) + if(cell.charge < (gear_handle.usecost+chrgdeductamt)) + powered = FALSE + update_power() + if(cell.use(chrgdeductamt)) + update_power() + return TRUE + else + return FALSE + +/obj/item/gear_handle + + name = "gear handle" + desc = "handles the gear." + icon = 'icons/obj/hydroponics/equipment.dmi' + icon_state = "mister" + item_state = "mister" + lefthand_file = 'icons/mob/inhands/equipment/mister_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/mister_righthand.dmi' + + force = 0 + throwforce = 6 + w_class = WEIGHT_CLASS_BULKY + resistance_flags = INDESTRUCTIBLE + base_icon_state = "mister" + + var/req_pack = TRUE + var/usecost = 1000 + var/obj/item/gear_pack/pack + +/obj/item/gear_handle/Initialize() + . = ..() + ADD_TRAIT(src, TRAIT_NO_STORAGE_INSERT, GENERIC_ITEM_TRAIT) + if (!loc || !istype(loc, /obj/item/gear_pack)) + return INITIALIZE_HINT_QDEL + if(!req_pack) + return + pack = loc + update_icon() + +/obj/item/gear_handle/Destroy() + pack = null + return ..() + +/obj/item/gear_handle/equipped(mob/user, slot) + . = ..() + if(!req_pack) + return + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(check_range)) + +/obj/item/gear_handle/Moved() + . = ..() + check_range() + + +/obj/item/gear_handle/fire_act(exposed_temperature, exposed_volume) + . = ..() + if((req_pack && pack) && loc != pack) + pack.fire_act(exposed_temperature, exposed_volume) + +/obj/item/gear_handle/proc/check_range() + SIGNAL_HANDLER + + if(!req_pack ||!pack) + return + if(!in_range(src,pack)) + var/mob/living/L = loc + if(istype(L)) + to_chat(L, "[pack]'s [src] overextends and comes out of your hands!") + else + visible_message("[src] snaps back into [pack].") + snap_back() + +/obj/item/gear_handle/dropped(mob/user) + . = ..() + if(!req_pack) + return ..() + if(user) + UnregisterSignal(user, COMSIG_MOVABLE_MOVED) + if(user != loc) + to_chat(user, "[src] snap back into the main unit.") + snap_back() + return + +/obj/item/gear_handle/proc/snap_back() + if(!pack) + return + playsound() + pack.on = FALSE + forceMove(pack) + pack.update_power() diff --git a/code/game/objects/items/gift.dm b/code/game/objects/items/gift.dm index 8ec4353d1ca..592a4f6364f 100644 --- a/code/game/objects/items/gift.dm +++ b/code/game/objects/items/gift.dm @@ -47,8 +47,7 @@ GLOBAL_LIST_EMPTY(possible_gifts) I.add_fingerprint(M) /obj/item/a_gift/proc/get_gift_type() - var/gift_type_list = list(/obj/item/sord, - /obj/item/storage/wallet, + var/gift_type_list = list(/obj/item/storage/wallet, /obj/item/storage/photo_album, /obj/item/storage/box/snappops, /obj/item/storage/crayons, @@ -67,7 +66,6 @@ GLOBAL_LIST_EMPTY(possible_gifts) /obj/item/bikehorn, /obj/item/toy/beach_ball, /obj/item/toy/beach_ball/holoball, - /obj/item/banhammer, /obj/item/reagent_containers/food/snacks/grown/ambrosia/deus, /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris, /obj/item/paicard, @@ -76,10 +74,6 @@ GLOBAL_LIST_EMPTY(possible_gifts) /obj/item/storage/belt/utility/full, /obj/item/clothing/neck/tie/horrible, /obj/item/clothing/suit/jacket/leather, - /obj/item/clothing/suit/jacket/leather/overcoat, - /obj/item/clothing/suit/poncho, - /obj/item/clothing/suit/poncho/green, - /obj/item/clothing/suit/poncho/red, /obj/item/clothing/suit/snowman, /obj/item/clothing/head/snowman, /obj/item/stack/sheet/mineral/coal) diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index 50da920b06f..2e5c9275d8d 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -332,7 +332,7 @@ /obj/item/book/granter/spell/random/Initialize() . = ..() - var/static/banned_spells = list(/obj/item/book/granter/spell/mimery_blockade, /obj/item/book/granter/spell/mimery_guns) + var/static/banned_spells = list(/obj/item/book/granter/spell/mimery_blockade) var/real_type = pick(subtypesof(/obj/item/book/granter/spell) - banned_spells) new real_type(loc) return INITIALIZE_HINT_QDEL @@ -446,10 +446,8 @@ name = "Cooking Desserts 101" desc = "A cook book that teaches you some more of the newest desserts. AI approved, and a best seller on Honkplanet." crafting_recipe_types = list( - /datum/crafting_recipe/food/mimetart, /datum/crafting_recipe/food/berrytart, /datum/crafting_recipe/food/cocolavatart, - /datum/crafting_recipe/food/clowncake, /datum/crafting_recipe/food/vanillacake ) icon_state = "cooking_learing_sweets" diff --git a/code/game/objects/items/grenades/chem_grenade.dm b/code/game/objects/items/grenades/chem_grenade.dm index b675a001215..58fd68157f0 100644 --- a/code/game/objects/items/grenades/chem_grenade.dm +++ b/code/game/objects/items/grenades/chem_grenade.dm @@ -207,7 +207,7 @@ desc = "A custom made large grenade. Larger splash range and increased ignition temperature compared to basic grenades. Fits exotic and bluespace based containers." casedesc = "This casing affects a larger area than the basic model and can fit exotic containers, including slime cores and bluespace beakers. Heats contents by 25°K upon ignition." icon_state = "large_grenade" - allowed_containers = list(/obj/item/reagent_containers/glass, /obj/item/reagent_containers/food/condiment, /obj/item/reagent_containers/food/drinks) + allowed_containers = list(/obj/item/reagent_containers/glass, /obj/item/reagent_containers/condiment, /obj/item/reagent_containers/food/drinks) banned_containers = list() affected_area = 5 ignition_temp = 25 // Large grenades are slightly more effective at setting off heat-sensitive mixtures than smaller grenades. @@ -217,36 +217,8 @@ if(stage != GRENADE_READY) return - for(var/obj/item/slime_extract/S in beakers) - if(S.Uses) - for(var/obj/item/reagent_containers/glass/G in beakers) - G.reagents.trans_to(S, G.reagents.total_volume) - - //If there is still a core (sometimes it's used up) - //and there are reagents left, behave normally, - //otherwise drop it on the ground for timed reactions like gold. - - if(S) - if(S.reagents && S.reagents.total_volume) - for(var/obj/item/reagent_containers/glass/G in beakers) - S.reagents.trans_to(G, S.reagents.total_volume) - else - S.forceMove(get_turf(src)) - no_splash = TRUE ..() - //I tried to just put it in the allowed_containers list but - //if you do that it must have reagents. If you're going to - //make a special case you might as well do it explicitly. -Sayu -/obj/item/grenade/chem_grenade/large/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/slime_extract) && stage == GRENADE_WIRED) - if(!user.transferItemToLoc(I, src)) - return - to_chat(user, "You add [I] to the [initial(name)] assembly.") - beakers += I - else - return ..() - /obj/item/grenade/chem_grenade/cryo // Intended for rare cryogenic mixes. Cools the area moderately upon detonation. name = "cryo grenade" desc = "A custom made cryogenic grenade. Rapidly cools contents upon ignition." diff --git a/code/game/objects/items/grenades/clusterbuster.dm b/code/game/objects/items/grenades/clusterbuster.dm index 5326b303d97..b9ad8730b65 100644 --- a/code/game/objects/items/grenades/clusterbuster.dm +++ b/code/game/objects/items/grenades/clusterbuster.dm @@ -79,36 +79,7 @@ var/obj/item/grenade/P = new type(loc) if(istype(P)) P.active = TRUE - addtimer(CALLBACK(P, TYPE_PROC_REF(/obj/item/grenade, prime)), rand(15,60)) - var/steps = rand(1,4) - for(var/i in 1 to steps) - step_away(src,loc) - -/obj/effect/payload_spawner/random_slime - var/volatile = FALSE - -/obj/effect/payload_spawner/random_slime/volatile - volatile = TRUE - -/obj/item/slime_extract/proc/activate_slime() - var/list/slime_chems = src.activate_reagents - if(!QDELETED(src)) - var/chem = pick(slime_chems) - var/amount = 5 - if(chem == "lesser plasma") //In the rare case we get another rainbow. - chem = /datum/reagent/toxin/plasma - amount = 4 - if(chem == "holy water and uranium") - chem = /datum/reagent/uranium - reagents.add_reagent(/datum/reagent/water/holywater) - reagents.add_reagent(chem,amount) - -/obj/effect/payload_spawner/random_slime/spawn_payload(type, numspawned) - for(var/loop = numspawned ,loop > 0, loop--) - var/chosen = pick(subtypesof(/obj/item/slime_extract)) - var/obj/item/slime_extract/P = new chosen(loc) - if(volatile) - addtimer(CALLBACK(P, TYPE_PROC_REF(/obj/item/slime_extract, activate_slime)), rand(15,60)) + P.preprime(delayoverride = P.det_time + rand(1.5 SECONDS, 6 SECONDS)) var/steps = rand(1,4) for(var/i in 1 to steps) step_away(src,loc) @@ -180,14 +151,3 @@ var/real_type = pick(subtypesof(/obj/item/grenade/clusterbuster)) new real_type(loc) return INITIALIZE_HINT_QDEL - -//rainbow slime effect -/obj/item/grenade/clusterbuster/slime - name = "Blorble Blorble" - icon_state = "slimebang" - base_state = "slimebang" - payload_spawner = /obj/effect/payload_spawner/random_slime - prime_sound = 'sound/effects/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/discogrenade.dm b/code/game/objects/items/grenades/discogrenade.dm index 84ce765d59d..b8f988f363f 100644 --- a/code/game/objects/items/grenades/discogrenade.dm +++ b/code/game/objects/items/grenades/discogrenade.dm @@ -1,5 +1,3 @@ -//Ethereal Disco Grenade for Ethereal traitors -//Does not affect ethereals. //Some basic code pieces taken from flashbang, spawner grenade and ethereal disco ball for functionality (basically a combination of the 3). ////////////////////// @@ -7,8 +5,8 @@ ////////////////////// /obj/item/grenade/discogrenade - name = "Ethereal Disco Grenade" - desc = "An unethical micro-party that will make all non-Ethereal beings dance to its beat!" + name = "Portable Disco Grenade" + desc = "An exotic prototype grenade. Through powerful audiovisual hypnotic cues, victims are afflicted with an unstoppable urge to boogie down. " icon_state = "disco" item_state = "flashbang" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' @@ -91,7 +89,7 @@ return if(target.stat != CONSCIOUS) //Only conscious people can dance return - if(!target || iselzuose(target)) //Non humans and non etherals can't dance + if(!target) //Non humans and non etherals can't dance return var/distance = max(0,get_dist(get_turf(src), target_turf)) @@ -102,27 +100,23 @@ target.say(pick(message_social_anxiety)) if(rand(3) && target.get_ear_protection() == 0) target.drop_all_held_items() - target.show_message("You cover your ears, the music is just too loud for you.", 2) + target.show_message(span_warning("You cover your ears, the music is just too loud for you."), 2) return if(HAS_TRAIT(target, TRAIT_MINDSHIELD)) - target.show_message("You resist your inner urges to break out your best moves.", 2) + target.show_message(span_warning("You resist your inner urges to break out your best moves."), 2) target.set_drugginess(5) return - if(istype(target.get_item_by_slot(ITEM_SLOT_HEAD), /obj/item/clothing/head/foilhat)) - to_chat(target, "THOSE GLOW-IN-THE-DARK NANOTRASEN LIGHTBULBS WON'T CORRUPT ME WITH THEIR AGENDA!") - target.emote("scream") - return target.set_drugginess(10) - target.show_message("You feel a strong rythme and your muscles spasm uncontrollably, you begin dancing and cannot move!", 2) + target.show_message(span_warning("You feel a strong rythme and your muscles spasm uncontrollably, you begin dancing and cannot move!"), 2) target.Immobilize(30) //Special actions switch(rand(0, 6)) if(0) target.Knockdown(4) - target.show_message("You [pick("mess", "screw")] up your moves and trip!", 2) + target.show_message(span_warning("You [pick("mess", "screw")] up your moves and trip!"), 2) if(1 to 3) target.emote("spin") if(3 to 4) diff --git a/code/game/objects/items/grenades/ghettobomb.dm b/code/game/objects/items/grenades/ghettobomb.dm index 915011b81b1..247ca439c8b 100644 --- a/code/game/objects/items/grenades/ghettobomb.dm +++ b/code/game/objects/items/grenades/ghettobomb.dm @@ -25,7 +25,7 @@ add_overlay("improvised_grenade_filled") add_overlay("improvised_grenade_wired") times = list("5" = 10, "-1" = 20, "[rand(30,80)]" = 50, "[rand(65,180)]" = 20)// "Premature, Dud, Short Fuse, Long Fuse"=[weighting value] - det_time = text2num(pickweight(times)) + det_time = text2num(pick_weight(times)) if(det_time < 0) //checking for 'duds' range = 1 det_time = rand(30,80) diff --git a/code/game/objects/items/grenades/grenade.dm b/code/game/objects/items/grenades/grenade.dm index f0198b7f1a0..fb19cfe3170 100644 --- a/code/game/objects/items/grenades/grenade.dm +++ b/code/game/objects/items/grenades/grenade.dm @@ -150,7 +150,18 @@ /obj/item/grenade/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) var/obj/projectile/P = hitby - if(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && prob(15)) + var/list/valid_hands = list(FALSE, FALSE) + + //checks if the projectile hits an arm holding a grenade + if (istype(owner.held_items[1], (/obj/item/grenade))) + if (P.def_zone == "l_arm") + valid_hands[1] = TRUE + + if (istype(owner.held_items[2], (/obj/item/grenade))) + if (P.def_zone == "r_arm") + valid_hands[2] = TRUE + + if(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && (valid_hands[1] || valid_hands[2]) && prob(5)) //5% chance to go off owner.visible_message("[attack_text] hits [owner]'s [src], setting it off! What a shot!") var/turf/T = get_turf(src) log_game("A projectile ([hitby]) detonated a grenade held by [key_name(owner)] at [COORD(T)]") diff --git a/code/game/objects/items/grenades/plastic.dm b/code/game/objects/items/grenades/plastic.dm index f3f891bad11..7a21c9129ad 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -52,6 +52,9 @@ target.cut_overlay(plastic_overlay, TRUE) if(!ismob(target) || full_damage_on_mobs) target.ex_act(EXPLODE_HEAVY, target) + if(iswallturf(target)) + var/turf/closed/wall/wall = target + wall.dismantle_wall(TRUE) else location = get_turf(src) if(location) @@ -64,7 +67,12 @@ //assembly stuff /obj/item/grenade/c4/receive_signal() - prime() + if(!active) + active = TRUE + icon_state = "[item_state]2" + balloon_alert_to_viewers("[src] begins ticking!") + addtimer(CALLBACK(src, PROC_REF(prime)), det_time*10) + return /obj/item/grenade/c4/attack_self(mob/user) var/newtime = input(usr, "Please set the timer.", "Timer", 10) as num|null @@ -122,3 +130,16 @@ item_state = "plasticx4" directional = TRUE boom_sizes = list(0, 2, 5) + + +// x-com ufo defense high ex charge 1993 +/obj/item/grenade/c4/satchel_charge + name = "\improper satchel charge" + desc = "Used to put craters into places without too much hassle. An engineer's favorite." + w_class = WEIGHT_CLASS_NORMAL + icon_state = "satchel_charge0" + item_state = "satchel_charge" + throw_range = 3 + lefthand_file = 'icons/mob/inhands/weapons/bombs_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/bombs_righthand.dmi' + boom_sizes = list(0, 3, 5) diff --git a/code/game/objects/items/grenades/smokebomb.dm b/code/game/objects/items/grenades/smokebomb.dm index e300c3ef07a..c29a00a8390 100644 --- a/code/game/objects/items/grenades/smokebomb.dm +++ b/code/game/objects/items/grenades/smokebomb.dm @@ -1,17 +1,10 @@ /obj/item/grenade/smokebomb name = "smoke grenade" - desc = "Real bruh moment if you ever see this. Probably tell a c*der or something." + desc = "A smoke grenade pattern, used to screen unit movements, and signal landing zones, widely used by military forces on the frontier and beyond." icon = 'icons/obj/grenade.dmi' icon_state = "smokewhite" item_state = "smoke" slot_flags = ITEM_SLOT_BELT - ///It's extremely important to keep this list up to date. It helps to generate the insightful description of the smokebomb. EDIT: honestly fuck you nemvar. go directly to jail and do not collect 200 dollars - var/static/list/bruh_moment = list("Dank", "Hip", "Lit", "Based", "Robust", "Bruh") - -///Here we generate the extremely insightful description. -/obj/item/grenade/smokebomb/Initialize() - . = ..() - desc = "The word '[pick(bruh_moment)]' is scribbled on it in crayon." ///Here we generate some smoke and also damage blobs??? for some reason. Honestly not sure why we do that. /obj/item/grenade/smokebomb/prime() @@ -22,7 +15,4 @@ smoke.set_up(4, src) smoke.start() qdel(smoke) //And deleted again. Sad really. - for(var/obj/structure/blob/B in view(8,src)) - var/damage = round(30/(get_dist(B,src)+1)) - B.take_damage(damage, BURN, "melee", 0) resolve() diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 9fece4feedd..f36c27bb244 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -20,7 +20,7 @@ name = "handcuffs" desc = "Use this to keep prisoners in line." gender = PLURAL - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "handcuff" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' @@ -217,7 +217,7 @@ name = "leg cuffs" desc = "Use this to keep prisoners in line." gender = PLURAL - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "handcuff" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' @@ -426,6 +426,6 @@ /obj/item/restraints/legcuffs/bola/watcher //tribal bola for tribal lizards name = "watcher Bola" desc = "A Bola made from the stretchy sinew of fallen watchers." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "bola_watcher" breakouttime = 45 diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm deleted file mode 100644 index 0affcd107af..00000000000 --- a/code/game/objects/items/holy_weapons.dm +++ /dev/null @@ -1,522 +0,0 @@ -// CHAPLAIN CUSTOM ARMORS // - -/obj/item/storage/box/holy - name = "Witchhunter Kit" - -/obj/item/storage/box/holy/PopulateContents() - new /obj/item/clothing/head/witchunter(src) - new /obj/item/clothing/suit/armor/witchhunter(src) - - -/obj/item/storage/box/holy/follower - name = "Followers of the Chaplain Kit" - -/obj/item/storage/box/holy/follower/PopulateContents() - new /obj/item/clothing/suit/hooded/chaplain_hoodie/leader(src) - new /obj/item/clothing/suit/hooded/chaplain_hoodie(src) - new /obj/item/clothing/suit/hooded/chaplain_hoodie(src) - new /obj/item/clothing/suit/hooded/chaplain_hoodie(src) - new /obj/item/clothing/suit/hooded/chaplain_hoodie(src) - -/obj/item/clothing/suit/hooded/chaplain_hoodie - name = "follower hoodie" - desc = "Hoodie made for acolytes of the chaplain." - icon_state = "chaplain_hoodie" - item_state = "chaplain_hoodie" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - allowed = list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) - hoodtype = /obj/item/clothing/head/hooded/chaplain_hood - -/obj/item/clothing/head/hooded/chaplain_hood - name = "follower hood" - desc = "Hood made for acolytes of the chaplain." - icon_state = "chaplain_hood" - body_parts_covered = HEAD - flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS - -/obj/item/clothing/suit/hooded/chaplain_hoodie/leader - name = "leader hoodie" - desc = "Now you're ready for some 50 dollar bling water." - icon_state = "chaplain_hoodie_leader" - item_state = "chaplain_hoodie_leader" - hoodtype = /obj/item/clothing/head/hooded/chaplain_hood/leader - -/obj/item/clothing/head/hooded/chaplain_hood/leader - name = "leader hood" - desc = "I mean, you don't /have/ to seek bling water. I just think you should." - icon_state = "chaplain_hood_leader" - - -// CHAPLAIN NULLROD AND CUSTOM WEAPONS // - -/obj/item/nullrod - name = "null rod" - desc = "A rod of pure obsidian; its very presence disrupts and dampens the powers of Nar'Sie's followers." - icon_state = "nullrod" - item_state = "nullrod" - lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - force = 18 - throw_speed = 3 - throw_range = 4 - throwforce = 10 - w_class = WEIGHT_CLASS_TINY - obj_flags = UNIQUE_RENAME - var/reskinned = FALSE - var/chaplain_spawnable = TRUE - -/obj/item/nullrod/godhand - icon_state = "disintegrate" - item_state = "disintegrate" - lefthand_file = 'icons/mob/inhands/misc/touchspell_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/touchspell_righthand.dmi' - name = "god hand" - desc = "This hand of yours glows with an awesome power!" - item_flags = ABSTRACT | DROPDEL - w_class = WEIGHT_CLASS_HUGE - hitsound = 'sound/weapons/sear.ogg' - damtype = BURN - attack_verb = list("punched", "cross countered", "pummeled") - -/obj/item/nullrod/godhand/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT) - -/obj/item/nullrod/staff - icon_state = "godstaff-red" - item_state = "godstaff-red" - lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' - name = "red holy staff" - desc = "It has a mysterious, protective aura." - w_class = WEIGHT_CLASS_HUGE - force = 5 - slot_flags = ITEM_SLOT_BACK - block_chance = 40 - var/shield_icon = "shield-red" - -/obj/item/nullrod/staff/worn_overlays(isinhands) - . = list() - if(isinhands) - . += mutable_appearance('icons/effects/effects.dmi', shield_icon, MOB_LAYER + 0.01) - -/obj/item/nullrod/staff/blue - name = "blue holy staff" - icon_state = "godstaff-blue" - item_state = "godstaff-blue" - shield_icon = "shield-old" - -/obj/item/nullrod/claymore - icon_state = "claymore_gold" - item_state = "claymore_gold" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - pickup_sound = 'sound/items/handling/knife2_pickup.ogg' - drop_sound = 'sound/items/handling/metal_drop.ogg' - name = "holy claymore" - desc = "A weapon fit for a crusade!" - w_class = WEIGHT_CLASS_HUGE - slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT - block_chance = 30 - sharpness = IS_SHARP - hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - -/obj/item/nullrod/claymore/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(attack_type == PROJECTILE_ATTACK) - final_block_chance = 0 //Don't bring a sword to a gunfight - return ..() - -/obj/item/nullrod/claymore/darkblade - icon_state = "cultblade" - item_state = "cultblade" - lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi' - righthand_file = 'icons/mob/inhands/64x64_righthand.dmi' - inhand_x_dimension = 64 - inhand_y_dimension = 64 - name = "dark blade" - desc = "Spread the glory of the dark gods!" - slot_flags = ITEM_SLOT_BELT - hitsound = 'sound/hallucinations/growl1.ogg' - -/obj/item/nullrod/claymore/chainsaw_sword - icon_state = "chainswordon" - item_state = "chainswordon" - name = "sacred chainsaw sword" - desc = "Suffer not a heretic to live." - slot_flags = ITEM_SLOT_BELT - attack_verb = list("sawed", "torn", "cut", "chopped", "diced") - hitsound = 'sound/weapons/chainsawhit.ogg' - tool_behaviour = TOOL_SAW - toolspeed = 1.5 //slower than a real saw - -/obj/item/nullrod/claymore/glowing - icon_state = "swordon" - item_state = "swordon" - name = "force weapon" - desc = "The blade glows with the power of faith. Or possibly a battery." - slot_flags = ITEM_SLOT_BELT - -/obj/item/nullrod/claymore/katana - name = "\improper Hanzo steel" - desc = "Capable of cutting clean through a holy claymore." - icon_state = "katana" - item_state = "katana" - slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK - supports_variations = VOX_VARIATION - -/obj/item/nullrod/claymore/multiverse - name = "extradimensional blade" - desc = "Once the harbinger of an interdimensional war, its sharpness fluctuates wildly." - icon_state = "multiverse" - item_state = "multiverse" - slot_flags = ITEM_SLOT_BELT - -/obj/item/nullrod/claymore/multiverse/attack(mob/living/carbon/M, mob/living/carbon/user) - force = rand(1, 30) - ..() - -/obj/item/nullrod/claymore/saber - name = "light energy sword" - hitsound = 'sound/weapons/blade1.ogg' - icon = 'icons/obj/transforming_energy.dmi' - icon_state = "swordblue" - item_state = "swordblue" - desc = "If you strike me down, I shall become more robust than you can possibly imagine." - slot_flags = ITEM_SLOT_BELT - -/obj/item/nullrod/claymore/saber/red - name = "dark energy sword" - icon_state = "swordred" - item_state = "swordred" - desc = "Woefully ineffective when used on steep terrain." - -/obj/item/nullrod/claymore/saber/pirate - name = "nautical energy sword" - icon_state = "cutlassred" - item_state = "cutlassred" - desc = "Convincing HR that your religion involved piracy was no mean feat." - -/obj/item/nullrod/sord - name = "\improper UNREAL SORD" - desc = "This thing is so unspeakably HOLY you are having a hard time even holding it." - icon_state = "sord" - item_state = "sord" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - slot_flags = ITEM_SLOT_BELT - force = 4.13 - throwforce = 1 - hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - -/obj/item/nullrod/scythe - icon_state = "scythe1" - item_state = "scythe1" - lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' - name = "reaper scythe" - desc = "Ask not for whom the bell tolls..." - w_class = WEIGHT_CLASS_BULKY - armour_penetration = 35 - slot_flags = ITEM_SLOT_BACK - sharpness = IS_SHARP - attack_verb = list("chopped", "sliced", "cut", "reaped") - -/obj/item/nullrod/scythe/Initialize() - . = ..() - AddComponent(/datum/component/butchering, 70, 110) //the harvest gives a high bonus chance - -/obj/item/nullrod/scythe/vibro - icon_state = "hfrequency0" - item_state = "hfrequency1" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - name = "high frequency blade" - desc = "Bad references are the DNA of the soul." - attack_verb = list("chopped", "sliced", "cut", "zandatsu'd") - hitsound = 'sound/weapons/rapierhit.ogg' - -/obj/item/nullrod/scythe/spellblade - icon_state = "spellblade" - item_state = "spellblade" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - icon = 'icons/obj/guns/magic.dmi' - name = "dormant spellblade" - desc = "The blade grants the wielder nearly limitless power...if they can figure out how to turn it on, that is." - hitsound = 'sound/weapons/rapierhit.ogg' - -/obj/item/nullrod/scythe/talking - icon_state = "talking_sword" - item_state = "talking_sword" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - name = "possessed blade" - desc = "When the world falls into chaos, it's nice to have a friend by your side." - attack_verb = list("chopped", "sliced", "cut") - hitsound = 'sound/weapons/rapierhit.ogg' - var/possessed = FALSE - -/obj/item/nullrod/scythe/talking/relaymove(mob/living/user, direction) - return //stops buckled message spam for the ghost. - -/obj/item/nullrod/scythe/talking/attack_self(mob/living/user) - if(possessed) - return - - to_chat(user, "You attempt to wake the spirit of the blade...") - - possessed = TRUE - - var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as the spirit of [user.real_name]'s blade?", ROLE_PAI, null, FALSE, 100, POLL_IGNORE_POSSESSED_BLADE) - - if(LAZYLEN(candidates)) - var/mob/dead/observer/C = pick(candidates) - var/mob/living/simple_animal/shade/S = new(src) - S.ckey = C.ckey - S.fully_replace_character_name(null, "The spirit of [name]") - S.status_flags |= GODMODE - S.copy_languages(user, LANGUAGE_MASTER) //Make sure the sword can understand and communicate with the user. - S.update_atom_languages() - grant_all_languages(FALSE, FALSE, TRUE) //Grants omnitongue - var/input = sanitize_name(stripped_input(S,"What are you named?", ,"", MAX_NAME_LEN)) - - if(src && input) - name = input - S.fully_replace_character_name(null, "The spirit of [input]") - else - to_chat(user, "The blade is dormant. Maybe you can try again later.") - possessed = FALSE - -/obj/item/nullrod/scythe/talking/Destroy() - for(var/mob/living/simple_animal/shade/S in contents) - to_chat(S, "You were destroyed!") - qdel(S) - return ..() - -/obj/item/nullrod/scythe/talking/chainsword - icon_state = "chainswordon" - item_state = "chainswordon" - name = "possessed chainsaw sword" - desc = "Suffer not a heretic to live." - chaplain_spawnable = FALSE - force = 30 - slot_flags = ITEM_SLOT_BELT - attack_verb = list("sawed", "torn", "cut", "chopped", "diced") - hitsound = 'sound/weapons/chainsawhit.ogg' - tool_behaviour = TOOL_SAW - toolspeed = 0.5 //faster than normal saw - -/obj/item/nullrod/scythe/talking/necro - desc = "An ancient weapon flush with the souls of the fallen. The blood of the necropolis has suffused it over time immemorial, granting a toothy bite." - force = 35 - block_chance = 35 - hitsound = 'sound/weapons/pierce_slow.ogg' - armour_penetration = 20// lower ap than the original possessed sword, go figure. The justification is that this has a serrated blade - chaplain_spawnable = FALSE - attack_verb = list("gnawed", "munched on", "chewed", "rended", "chomped") - name = "possessed greatsword" - var/bleed_stacks_per_hit = 2 //this effect has rapid scaling and is an instant down pretty much, I'll crib it since it can trigger on non-fauna - resistance_flags = FIRE_PROOF | ACID_PROOF - -/obj/item/nullrod/scythe/talking/necro/examine(mob/user) - . = ..() - . += "This weapon applies a growing blood curse on attack. Though it slowly fades, fully manifesting it causes your target's blood to violently explode, creating a lethal burst of damage." - -/obj/item/nullrod/scythe/talking/necro/attack(mob/living/target) - ..() - var/datum/status_effect/stacking/saw_bleed/B = target.has_status_effect(STATUS_EFFECT_SAWBLEED) - if(!B) - target.apply_status_effect(STATUS_EFFECT_SAWBLEED,bleed_stacks_per_hit) - else - B.add_stacks(bleed_stacks_per_hit) - -/obj/item/nullrod/hammmer - icon_state = "hammeron" - item_state = "hammeron" - lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi' - name = "relic war hammer" - desc = "This war hammer cost the chaplain forty thousand space dollars." - slot_flags = ITEM_SLOT_BELT - w_class = WEIGHT_CLASS_HUGE - attack_verb = list("smashed", "bashed", "hammered", "crunched") - -/obj/item/nullrod/chainsaw - name = "chainsaw hand" - desc = "Good? Bad? You're the guy with the chainsaw hand." - icon_state = "chainsaw_on" - item_state = "mounted_chainsaw" - lefthand_file = 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' - w_class = WEIGHT_CLASS_HUGE - item_flags = ABSTRACT - sharpness = IS_SHARP - attack_verb = list("sawed", "torn", "cut", "chopped", "diced") - hitsound = 'sound/weapons/chainsawhit.ogg' - tool_behaviour = TOOL_SAW - toolspeed = 2 //slower than a real saw - -/obj/item/nullrod/chainsaw/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT) - AddComponent(/datum/component/butchering, 30, 100, 0, hitsound) - -/obj/item/nullrod/clown - icon = 'icons/obj/wizard.dmi' - icon_state = "clownrender" - item_state = "render" - name = "clown dagger" - desc = "Used for absolutely hilarious sacrifices." - hitsound = 'sound/items/bikehorn.ogg' - sharpness = IS_SHARP - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - -/obj/item/nullrod/pride_hammer - icon_state = "pride" - name = "Pride-struck Hammer" - desc = "It resonates an aura of Pride." - force = 16 - throwforce = 15 - w_class = 4 - slot_flags = ITEM_SLOT_BACK - attack_verb = list("attacked", "smashed", "crushed", "splattered", "cracked") - hitsound = 'sound/weapons/blade1.ogg' - -/obj/item/nullrod/pride_hammer/afterattack(atom/A as mob|obj|turf|area, mob/user, proximity) - . = ..() - if(!proximity) - return - if(prob(30) && ishuman(A)) - var/mob/living/carbon/human/H = A - user.reagents.trans_to(H, user.reagents.total_volume, 1, 1, 0, transfered_by = user) - to_chat(user, "Your pride reflects on [H].") - to_chat(H, "You feel insecure, taking on [user]'s burden.") - -/obj/item/nullrod/whip - name = "holy whip" - desc = "What a terrible night to be on Space Station 13."//very classic, it stays - icon_state = "chain" - item_state = "chain" - lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - slot_flags = ITEM_SLOT_BELT - attack_verb = list("whipped", "lashed") - hitsound = 'sound/weapons/chainhit.ogg' - -/obj/item/nullrod/fedora - name = "atheist's fedora" - desc = "The brim of the hat is as sharp as your wit. The edge would hurt almost as much as disproving the existence of God." - icon_state = "fedora" - item_state = "fedora" - slot_flags = ITEM_SLOT_HEAD - icon = 'icons/obj/clothing/hats.dmi' - force = 0 - throw_speed = 4 - throw_range = 7 - throwforce = 30 - sharpness = IS_SHARP - attack_verb = list("enlightened", "redpilled") - -/obj/item/nullrod/armblade - name = "dark blessing" - desc = "Particularly twisted deities grant gifts of dubious value." - icon = 'icons/obj/changeling_items.dmi' - icon_state = "arm_blade" - item_state = "arm_blade" - lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi' - righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi' - item_flags = ABSTRACT - w_class = WEIGHT_CLASS_HUGE - sharpness = IS_SHARP - -/obj/item/nullrod/armblade/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT) - AddComponent(/datum/component/butchering, 80, 70) - -/obj/item/nullrod/armblade/tentacle - name = "unholy blessing" - icon_state = "tentacle" - item_state = "tentacle" - -/obj/item/nullrod/carp - name = "carp-sie plushie" - desc = "An adorable stuffed toy that resembles the god of all carp. The teeth look pretty sharp. Activate it to receive the blessing of Carp-Sie." - icon = 'icons/obj/plushes.dmi' - icon_state = "carpplush" - item_state = "carp_plushie" - lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' - righthand_file = 'icons/mob/inhands/items_righthand.dmi' - force = 15 - attack_verb = list("bitten", "eaten", "fin slapped") - hitsound = 'sound/weapons/bite.ogg' - var/used_blessing = FALSE - -/obj/item/nullrod/claymore/bostaff //May as well make it a "claymore" and inherit the blocking - name = "monk's staff" - desc = "A long, tall staff made of polished wood. Traditionally used in ancient old-Earth martial arts, it is now used to harass the clown." - w_class = WEIGHT_CLASS_BULKY - force = 15 - block_chance = 40 - slot_flags = ITEM_SLOT_BACK - sharpness = IS_BLUNT - hitsound = "swing_hit" - attack_verb = list("smashed", "slammed", "whacked", "thwacked") - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "bostaff0" - item_state = "bostaff0" - lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' - -/obj/item/nullrod/pitchfork - icon_state = "pitchfork0" - lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' - name = "unholy pitchfork" - w_class = WEIGHT_CLASS_NORMAL - desc = "Holding this makes you look absolutely devilish." - attack_verb = list("poked", "impaled", "pierced", "jabbed") - hitsound = 'sound/weapons/bladeslice.ogg' - sharpness = IS_SHARP - -/obj/item/nullrod/egyptian - name = "egyptian staff" - desc = "A tutorial in mummification is carved into the staff. You could probably craft the wraps if you had some cloth." - icon = 'icons/obj/guns/magic.dmi' - icon_state = "pharoah_sceptre" - item_state = "pharoah_sceptre" - lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' - w_class = WEIGHT_CLASS_NORMAL - attack_verb = list("bashes", "smacks", "whacks") - -/obj/item/nullrod/hypertool - icon = 'icons/obj/device.dmi' - icon_state = "hypertool" - item_state = "hypertool" - lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - slot_flags = ITEM_SLOT_BELT - name = "hypertool" - desc = "A tool so powerful even you cannot perfectly use it." - armour_penetration = 35 - damtype = BRAIN - attack_verb = list("pulsed", "mended", "cut") - hitsound = 'sound/effects/sparks4.ogg' - -/obj/item/nullrod/spear - name = "ancient spear" - desc = "An ancient spear made of brass, I mean gold, I mean bronze." - icon_state = "ratvarian_spear" - item_state = "ratvarian_spear" - lefthand_file = 'icons/mob/inhands/antag/clockwork_lefthand.dmi' - righthand_file = 'icons/mob/inhands/antag/clockwork_righthand.dmi' - icon = 'icons/obj/clockwork_objects.dmi' - slot_flags = ITEM_SLOT_BELT - armour_penetration = 10 - sharpness = IS_SHARP_ACCURATE - w_class = WEIGHT_CLASS_BULKY - attack_verb = list("stabbed", "poked", "slashed", "clocked") - hitsound = 'sound/weapons/bladeslice.ogg' diff --git a/code/game/objects/items/implants/implant_mindshield.dm b/code/game/objects/items/implants/implant_mindshield.dm index 121fa9f0c23..0a7094fb389 100644 --- a/code/game/objects/items/implants/implant_mindshield.dm +++ b/code/game/objects/items/implants/implant_mindshield.dm @@ -28,10 +28,7 @@ deconverted = TRUE if(!silent) - if(target.mind in SSticker.mode.cult) - to_chat(target, "You feel something interfering with your mental conditioning, but you resist it!") - else - to_chat(target, "You feel a sense of peace and security. You are now protected from brainwashing.") + to_chat(target, "You feel a sense of peace and security. You are now protected from brainwashing.") ADD_TRAIT(target, TRAIT_MINDSHIELD, "implant") target.sec_hud_set_implants() if(deconverted) diff --git a/code/game/objects/items/implants/implant_misc.dm b/code/game/objects/items/implants/implant_misc.dm index c4c832209ba..4379003d57a 100644 --- a/code/game/objects/items/implants/implant_misc.dm +++ b/code/game/objects/items/implants/implant_misc.dm @@ -110,6 +110,10 @@ radio.keyslot = new radio_key radio.recalculateChannels() +/obj/item/implant/radio/Destroy() + QDEL_NULL(radio) + return ..() + /obj/item/implant/radio/mining radio_key = /obj/item/encryptionkey @@ -118,13 +122,6 @@ radio_key = /obj/item/encryptionkey/syndicate subspace_transmission = TRUE -/obj/item/implant/radio/slime - name = "slime radio" - icon = 'icons/obj/surgery.dmi' - icon_state = "adamantine_resonator" - radio_key = /obj/item/encryptionkey - subspace_transmission = TRUE - /obj/item/implant/radio/get_data() var/dat = {"Implant Specifications:
    Name: Internal Radio Implant
    diff --git a/code/game/objects/items/implants/implant_track.dm b/code/game/objects/items/implants/implant_track.dm index a83d69c5314..fb4730dadf1 100644 --- a/code/game/objects/items/implants/implant_track.dm +++ b/code/game/objects/items/implants/implant_track.dm @@ -9,17 +9,18 @@ ///The id of the timer that's qdeleting us var/timerid -/obj/item/implant/tracking/c38 +/obj/item/implant/tracking/bullet name = "TRAC implant" desc = "A smaller tracking implant that supplies power for only a few minutes." var/lifespan = 3000 //how many deciseconds does the implant last? allow_teleport = FALSE -/obj/item/implant/tracking/c38/Initialize() +/obj/item/implant/tracking/bullet/Initialize() . = ..() timerid = QDEL_IN(src, lifespan) + AddComponent(/datum/component/gps/item, "*TRAC") -/obj/item/implant/tracking/c38/Destroy() +/obj/item/implant/tracking/bullet/Destroy() deltimer(timerid) return ..() diff --git a/code/game/objects/items/implants/implantcase.dm b/code/game/objects/items/implants/implantcase.dm index 23f7aec9b19..ef8aeefd051 100644 --- a/code/game/objects/items/implants/implantcase.dm +++ b/code/game/objects/items/implants/implantcase.dm @@ -1,7 +1,6 @@ /obj/item/implantcase name = "implant case" desc = "A glass case containing an implant." - icon = 'icons/obj/items_and_weapons.dmi' icon_state = "implantcase-0" item_state = "implantcase" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' diff --git a/code/game/objects/items/implants/implanter.dm b/code/game/objects/items/implants/implanter.dm index 6de461954cb..8f95ef9942d 100644 --- a/code/game/objects/items/implants/implanter.dm +++ b/code/game/objects/items/implants/implanter.dm @@ -1,7 +1,7 @@ /obj/item/implanter name = "implanter" desc = "A sterile automatic implant injector." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "implanter0" item_state = "syringe_0" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' diff --git a/code/game/objects/items/implants/implantpad.dm b/code/game/objects/items/implants/implantpad.dm index 37667786262..ccbda83067a 100644 --- a/code/game/objects/items/implants/implantpad.dm +++ b/code/game/objects/items/implants/implantpad.dm @@ -1,7 +1,7 @@ /obj/item/implantpad name = "implant pad" desc = "Used to modify implants." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "implantpad-0" item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index 9e90329404f..f7ff9c187a9 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -1,10 +1,7 @@ /* Kitchen tools * Contains: * Fork - * Kitchen knives - * Ritual Knife * Butcher's cleaver - * Combat Knife * Rolling Pins * Plastic Utensils */ @@ -64,221 +61,6 @@ user.visible_message("[user]'s fork snaps into tiny pieces in their hand.") qdel(src) -/obj/item/kitchen/knife - name = "kitchen knife" - icon = 'icons/obj/item/knife.dmi' - lefthand_file = 'icons/mob/inhands/weapons/knifes_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/knifes_righthand.dmi' - icon_state = "kitchenknife" - item_state = "kitchenknife" - desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come." - pickup_sound = 'sound/items/handling/knife1_pickup.ogg' - drop_sound = 'sound/items/handling/knife3_drop.ogg' - flags_1 = CONDUCT_1 - force = 10 - w_class = WEIGHT_CLASS_SMALL - throwforce = 10 - hitsound = 'sound/weapons/bladeslice.ogg' - throw_speed = 3 - throw_range = 6 - custom_materials = list(/datum/material/iron=12000) - attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - sharpness = IS_SHARP_ACCURATE - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) - item_flags = EYE_STAB - var/bayonet = FALSE //Can this be attached to a gun? - custom_price = 250 - -/obj/item/kitchen/knife/ComponentInitialize() - . = ..() - set_butchering() - -///Adds the butchering component, used to override stats for special cases -/obj/item/kitchen/knife/proc/set_butchering() - AddComponent(/datum/component/butchering, 80 - force, 100, force - 10) //bonus chance increases depending on force - -/obj/item/kitchen/knife/plastic - name = "plastic knife" - icon_state = "plastic_knife" - desc = "A very safe, barely sharp knife made of plastic. Good for cutting food and not much else." - force = 0 - w_class = WEIGHT_CLASS_TINY - throwforce = 0 - throw_range = 5 - custom_materials = list(/datum/material/plastic = 100) - attack_verb = list("prodded", "whiffed","scratched", "poked") - sharpness = IS_SHARP - custom_price = 50 - var/break_chance = 25 - -/obj/item/kitchen/knife/plastic/afterattack(mob/living/carbon/user) - .=..() - if(prob(break_chance)) - user.visible_message("[user]'s knife snaps into tiny pieces in their hand.") - qdel(src) - -/obj/item/kitchen/knife/pizza_cutter - name = "pizza cutter" - icon_state = "pizza_cutter" - desc = "A knife edge bent around a circle using the power of science. Perfect for safely cutting pizza." - force = 1 - w_class = WEIGHT_CLASS_SMALL - throwforce = 1 - throw_range = 6 - custom_materials = list(/datum/material/iron=4000) - attack_verb = list("prodded", "whiffed","rolled", "poked") - sharpness = IS_SHARP - -/obj/item/kitchen/knife/ritual - name = "ritual knife" - desc = "The unearthly energies that once powered this blade are now dormant." - icon = 'icons/obj/wizard.dmi' - icon_state = "render" - lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi' - w_class = WEIGHT_CLASS_NORMAL - -/obj/item/kitchen/knife/bloodletter - name = "bloodletter" - desc = "An occult looking dagger that is cold to the touch. Somehow, the flawless orb on the pommel is made entirely of liquid blood." - icon = 'icons/obj/ice_moon/artifacts.dmi' - icon_state = "bloodletter" - w_class = WEIGHT_CLASS_NORMAL - var/bleed_stacks_per_hit = 3 - -/obj/item/kitchen/knife/bloodletter/attack(mob/living/M, mob/living/carbon/user) - . =..() - if(istype(M) && (M.mob_biotypes & MOB_ORGANIC)) - var/datum/status_effect/stacking/saw_bleed/bloodletting/B = M.has_status_effect(/datum/status_effect/stacking/saw_bleed/bloodletting) - if(!B) - M.apply_status_effect(/datum/status_effect/stacking/saw_bleed/bloodletting, bleed_stacks_per_hit) - else - B.add_stacks(bleed_stacks_per_hit) - -/obj/item/kitchen/knife/butcher - name = "butcher's cleaver" - icon_state = "cleaver" - item_state = "cleaver" - desc = "A huge thing used for chopping and chopping up meat." - flags_1 = CONDUCT_1 - force = 15 - throwforce = 10 - custom_materials = list(/datum/material/iron=18000) - attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - w_class = WEIGHT_CLASS_NORMAL - custom_price = 600 - -/obj/item/kitchen/knife/hunting - name = "hunting knife" - desc = "Despite its name, it's mainly used for cutting meat from dead prey rather than actual hunting." - item_state = "huntingknife" - icon_state = "huntingknife" - -/obj/item/kitchen/knife/hunting/set_butchering() - AddComponent(/datum/component/butchering, 80 - force, 100, force + 10) - -/obj/item/kitchen/knife/switchblade - name = "switchblade" - icon_state = "switchblade" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - desc = "A sharp, concealable, spring-loaded knife." - flags_1 = CONDUCT_1 - force = 3 - w_class = WEIGHT_CLASS_SMALL - throwforce = 5 - custom_materials = list(/datum/material/iron=12000) - hitsound = 'sound/weapons/genhit.ogg' - attack_verb = list("stubbed", "poked") - resistance_flags = FIRE_PROOF - var/extended = 0 - -/obj/item/kitchen/knife/switchblade/attack_self(mob/user) - extended = !extended - playsound(src.loc, 'sound/weapons/batonextend.ogg', 50, TRUE) - if(extended) - force = 20 - w_class = WEIGHT_CLASS_NORMAL - throwforce = 23 - icon_state = "switchblade_ext" - attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - hitsound = 'sound/weapons/bladeslice.ogg' - sharpness = IS_SHARP - else - force = 3 - w_class = WEIGHT_CLASS_SMALL - throwforce = 5 - icon_state = "switchblade" - attack_verb = list("stubbed", "poked") - hitsound = 'sound/weapons/genhit.ogg' - sharpness = IS_BLUNT - -/obj/item/kitchen/knife/combat - name = "combat knife" - icon = 'icons/obj/world/melee.dmi' - icon_state = "combatknife" - item_state = "combatknife" - desc = "A military combat utility survival knife." - embedding = list("pain_mult" = 4, "embed_chance" = 65, "fall_chance" = 10, "ignore_throwspeed_threshold" = TRUE) - force = 20 - throwforce = 20 - attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "cut") - bayonet = TRUE - -/obj/item/kitchen/knife/combat/Initialize() - . = ..() - AddElement(/datum/element/world_icon, null, icon, 'icons/obj/item/knife.dmi') - -/obj/item/kitchen/knife/combat/survival - name = "survival knife" - icon_state = "survivalknife" - item_state = "survivalknife" - embedding = list("pain_mult" = 4, "embed_chance" = 35, "fall_chance" = 10) - desc = "A hunting grade survival knife." - force = 15 - throwforce = 15 - bayonet = TRUE - -/obj/item/kitchen/knife/combat/bone - name = "bone dagger" - item_state = "bone_dagger" - icon_state = "bone_dagger" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - desc = "A sharpened bone. The bare minimum in survival." - embedding = list("pain_mult" = 4, "embed_chance" = 35, "fall_chance" = 10) - force = 15 - throwforce = 15 - custom_materials = null - -/obj/item/kitchen/knife/combat/cyborg - name = "cyborg knife" - icon = 'icons/obj/items_cyborg.dmi' - icon_state = "knife_cyborg" - desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable." - -/obj/item/kitchen/knife/shiv - name = "glass shiv" - icon = 'icons/obj/shards.dmi' - icon_state = "shiv" - item_state = "shiv" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - desc = "A makeshift glass shiv." - force = 8 - throwforce = 12 - attack_verb = list("shanked", "shivved") - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - custom_materials = list(/datum/material/glass=400) - -/obj/item/kitchen/knife/shiv/carrot - name = "carrot shiv" - icon_state = "carrotshiv" - item_state = "carrotshiv" - icon = 'icons/obj/kitchen.dmi' - desc = "Unlike other carrots, you should probably keep this far away from your eyes." - custom_materials = null - /obj/item/kitchen/rollingpin name = "rolling pin" desc = "Used to knock out the Bartender." @@ -292,8 +74,6 @@ attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") custom_price = 200 -/* Trays moved to /obj/item/storage/bag */ - /obj/item/kitchen/spoon/plastic name = "plastic spoon" desc = "Just be careful your food doesn't melt the spoon first." @@ -304,9 +84,3 @@ custom_materials = list(/datum/material/plastic=120) custom_price = 50 var/break_chance = 25 - -/obj/item/kitchen/knife/plastic/afterattack(mob/living/carbon/user) - .=..() - if(prob(break_chance)) - user.visible_message("[user]'s spoon snaps into tiny pieces in their hand.") - qdel(src) diff --git a/code/game/objects/items/manuals.dm b/code/game/objects/items/manuals.dm index 05af8fcadba..1a190618889 100644 --- a/code/game/objects/items/manuals.dm +++ b/code/game/objects/items/manuals.dm @@ -107,7 +107,7 @@
  • A firesuit must be connected to the Firefighter chassis for heat shielding.
  • Internal armor is plasteel for additional strength.
  • External armor must be installed in 2 parts, totaling 10 sheets.
  • -
  • Completed mech is more resiliant against fire, and is a bit more durable overall
  • +
  • Completed exosuit is more resiliant against fire, and is a bit more durable overall
  • Nanotrasen is determined to the safety of its investments employees.
  • @@ -240,10 +240,10 @@ "} /obj/item/book/manual/trickwines_4_brewers - name = "Trickwines for brewers" + name = "Ashen Brewing" icon_state = "book2" - author = "Bridget Saint-Baskett" - title = "Trickwines for brewers" + author = "Amarasatsu ke Qazawat" + title = "Ashen Brewing" dat = {" @@ -256,73 +256,50 @@ -

    Trickwines for brewers

    - Okay, so you just joined the SRM and you want to make some brews! I'm tired of explaining all of this so I'm jotting it all down for the new hires.
    - Trickwines almost all share the same effect. When you drink them, they provide a beneficial effect and when you toss them at someone it provides some sort of bad effect. -

    Breakaway flasks

    - Honestly, I love these things. I'm not a scientist so I cant exactly explain how it works but somehow when you fuse plasma into glass it makes it ultra sharp and makes it really good for cracking over fauna heads.
    - The simplest way I have found of making them is crafting them with a chunk of glass, plasma, and a welder.
    - -

    Bacteria

    - A speical speices of bacteria native to Illestren is what allows Trickwines form.
    - Now we use a special distiller that keeps just enough bacertia alive to ferment without turning the batch sour.
    - Now you should still have one on board but if you dont its fine.
    - It just so happens we have trees on board our ships host to the Bacteria.
    - To get enough Bacteria your going to need to feed it anything that would help a plant.
    - Water, Fertilizer, Ashwine are all good options.
    - Soon it will drops some apples and you can grind them for the bacteria.
    - Once you have enough you can fabricate it the same way you would a normal barrel.
    - -

    Ratios

    - A common trend among Trickwines is the ratio of 3:1:1.
    - 3 parts being an ethonal, the other 2 parts are often made from flora or fauna.
    - -

    Ashwine

    - It's kind of our trademark, and it's one of the simplest trickwines to make.
    - These are the most common wines used in ceremonies so we often stock ships with the moonflowers needed to make them.
    - It's made with a ratio of 3:1:1 absinthe, mushroom hallucinogen, and ash respectively.
    - Mushroom hallucinogens come from mushroom caps and you can ferment absinthe from moonflowers.
    - Its a mild hallucinogenic but seems to have powerful cleansing effects on the devoted SRM.
    - It can also really fuck someone up, causing their vision to go shaky and blurry which makes it difficult for them to fight.
    - -

    Icewine

    - This one helps stopping foes in their tracks. One of my favorite flavor wise. - Its made with 3:1:1 saké, polar bear fur, frost oil(grind chilled peppers).
    - You can get polar bear fur and frost oil from grinding up polar bear hides and chilled peppers.
    - It's pretty good at sealing burns and lowering your temperature quickly.
    - However, it completely encases foes in ice and drops their temperature substantially.
    - -

    Shockwine

    - Easily my favorite for its splashed effect, this thing is great at scorching most fauna.
    - Its made with vodka, calcium, and lemon juice.
    - If you did not know, vodka requires enzymes instead of the normal fermenting process.
    - It's a nice upper. Great if you're trying to run away.
    - This one's really flashy. Expect some severe burns on your target
    - -

    Hearthwine

    - I once threw back a flask of this stuff in the heat of a really bad battle and it sealed my wounds within seconds its honestly increadible.
    - It also acts like the inverse of Icewine heating you up more then a fever.
    - Last time I threw it at someone though i almost burnt down the forest I was in.
    - Its made out of ground up fireblossems with some nice hard cider and a bit of welding fuel with of course a ratio of 3:1:1.
    - -

    Forcewine

    - Two intresting effects from the consumption of Forcewine.
    - First it seems to give you an "anti magic" effect, I have read about of tales of how it fizzled out some sort of great curse that we could best trace back to a ancient cult.
    - Second is it protects the mind from cohersion and mind control.
    - From my research this seems to act like nanotrasen mindshield implants.
    - Would recomend for any esoteric senarios. We wont see these alot but its always smart to prepare for the worst.
    - You can also use it to entrap Fauna inside of a forcefield like bubble, Gives you time to breath and prepare an attack.
    - 3:1:1. Tequila, Space Montain Wind, and I know its one of the most difficult things to come by but hollow water, Its that stuff you can extract from geysers
    - -

    Prismwine

    - Gives you a nice shiny layer of armour, fire seems to have alot harder time sticking to me when i tested it.
    - Throwing it seeems to do the reverse acting like a magnifying glass to burns and lasers
    - 3:1:1. Good ol Gin, then add plasma and tinea luxor which is found from mushroom stems
    - - Some of these can be a bit situatinal but its always nice to have a few in your bag for emergecys.
    - As a bonus, most of the other factions have no clue how to make these so you can sell them for a fair chunk of cash.
    - -
    Bridget Saint-Baskett, Senior Brewer
    +

    On the Topic of Trickwines

    + The alchemists of Roumain have long held that with sufficient preparation can many a potion be made. Many a daring hunter has returned to their domicile at the aid of an Alchemist. For those who travel, the 'Trickwine' is oft chosen, and so the learners of Roumain pass the secrets on to others.
    + A 'trickwine' is a potent brew, made by taking the powers that rest in the world around us and fermenting them in the blessings of Illestren. When imbibed by a Hunter, strength and power flow through their body, yet when shattered upon the beasts of the World, Illestrens' curses are unleashed upon it.
    + To freely create a trickwine is the mark of a rising alchemist, and to deliver it in the heat of a brawl is the mark of a true Hunter.
    + May this document guide you to both those marks.
    + +

    Brewing Vessels.

    + While many vessels permeate the minds of alchemists, the Breakaway Flask is the instrument of choice for the rising talent. By taking the essence of plasma and infusing it within the body of glass - a most durable vessel is produced for the Trickwine. The glass remains firm lest it impacts upon a foe.
    + Any who tinker will find the infusion of essence is done most easily with a flame. Something that burns with a flame most potent. Away from the furnaces of Illestren, the burn of a welder suffices to create the vessel.
    + +

    The Bacteria Of Illestren

    + The world of Illestren gave birth to a bacterium that has formed the backbone of alchemical experimentation for countless years. It has given birth to countless fermentation methods, including the cycle of brewing a Trickwine.
    + By use of a specialized distillery, the Illestren Bacteria can be maintained in amounts ideal to the fermentation of reagents from Trickwines to Beers. A talented brewer can create their own heritage by blending activating bacterium and reagent into a new concotion.
    + Not all vessels of the Militia bear a distillery, but plants transplanted from Illestren carry the bacterium within the flesh of their fruit. Careful nurture of a fruit-bearing plant will allow it to spread the blessings of Illestren. Treat the plant as you would treat any other ally. Allot it drinks. Trim its branches. Protect it from those who seek to harm it.
    + Once the fruit has ripened and dropped from the host, an alchemist can take it, fermenting the ripe flesh into a potent mixture of ciders and bacterias entangled together.
    + Just as we give to the tree, it shall give to us. It pays a talent to remember this.
    + +

    Common Mixtures

    + Those that find easy success within the alchemical arts have written that to make a Trickwine, one must maintain a careful mixture.
    + Three wholes of an ethanol base, with the flavor varied for impact. Entangled with a whole strand of beast, and the blessings of plant. Once cut with the potent catalyst that is the Bacterium, the fermentation is rapid, and a Trickwine is born from the mixture.
    + +

    Wine Of Ash

    + The Wine Of Ash is the most endearing brew to have come from the Distilleries of the Militia. It carries a variety of uses, from the Ceremonies of Roumain, to the warm afterparty of a successful hunt. The flavor is said to be somewhat rustic, with hints of fruit and a sweet yet ashy tang.
    + Brewing the Wine Of Ash is a simple task, that even Shadows are expected to do at times. By fermenting a flower of the moon into a potent absinthe, a strong base is formed. Seeping a hallucinogenic mushroom within the absinthe, and then introducing an ash into the mixture of drink and plant creates the Wine Of Ash. One must be patient when brewing, as the brew will be strong, but further fermentation will allow it to blossom into a true vintage.
    + Take care whilst brewing to maintain a proper ratio of ingredients. The Wine shall become off-balance if more than one whole of mushroom and one whole of ash is introduced to three wholes of absinthe. One must also take care to protect their eyes, as the Vapors of Ash are a potent irritant.
    + The Wine itself is held to be hallucinogenic, although debate rages within the halls of Roumain on the nature of such. A talented brewer can offset such trivialities by cutting the Wine with water, or introducing another substance once it has been fermented. Many a Hunter holds the drink to purify the soul, and strengthen the mind for days ahead.
    + +

    Wine Of Ice

    + The Wine Of Ice is a strong brew formented by the Talent Keo Lanai. Talent Lanai had long found solace from the heat in his visions of the 'Godsforsaken Precipice' that the Ashen Huntsman was said to wander, and sought to share this solace with other Hunters. The flavor is said to be somewhat meaty, with a pleasing current of pepper. + Brewing of the Wine Of Ice requires a unique assortment of reagents. By fermenting the fur of a bear within traditionally brewed rice sake, Keo Lanai found a solid base for the introduction of Frozen Pepper Essence. It is said that the original brew produced a cold so potent that frost formed on Lanai's brow.
    + Hunters favor the Wine Of Ice for blessed relief from heat imbibing it provide. Alchemists have theorized that the brew stimulates the production of sweat in the body, allowing the body to cool itself more rapidly. Other Hunters swear by relief seeping into their burns as the brew finds its way into their system. Others find usage in the potent frost that it leaves upon impact, using it to freeze everything from foe to food.
    + +

    Lightning's Blessing

    + Lightning's Blessing is said to be a potent stimulant, brewed by Hunter Trackers to allow them to track mobile prey through unknown environments. The flavor is said to be sharp and unrelenting, much like the Hunters who indulge in it.
    + Lightning's Blessing is brewed with a base of Vodka. By taking vodka and fermenting ground down bones within it, a strong alchemical blend is created. This blend is then inoculated with juiced lemon whilst within a distillery. The resulting blend is an environment ripe for a particular strain of Bacterium to multiply in. This strain of the Bacterium is said to be what gives the flavor to the brew, and its digestion produces a high in most sapients.
    + Hunters are said to use Lightning's Blessing as a weapon, where the bacterium, upon being introduced to open air quickly produces an electrical field, shocking whatever the mixture lands upon. + +

    Hearthflame

    + Hearthflame is Talent Lanai's other great creation. While travelling through the cold of many a fringe world, Lanai sought the warmth of his home, and took the creation of another mixture as a challenge. By taking the hearty fermented blend of an Illestren Apple, The petals of a Fireblossom, and a hint of phosphorous, Lanai produced a potent heating drink.
    + Hearthflame is said to have a bold flavor profile, not unlike an apple shredded apart by tangy pricks. The bacterium is said to stimulate the body and cause it to start heating herself, or in cases of localized exposure, causes rapid, cauterizing heating.
    + When this particular blend is exposed to the air, it rapidly heats up. Hunters have advised Shadows be careful if issued it, and most Alchemists refuse to make it unless it is required for the hunt at hand.
    +
    Transcribed by Amarasatsu ke Qazawat
    + + Amarasatsu ke Qazawat
    "} diff --git a/code/game/objects/items/chainsaw.dm b/code/game/objects/items/melee/chainsaw.dm similarity index 76% rename from code/game/objects/items/chainsaw.dm rename to code/game/objects/items/melee/chainsaw.dm index f9181ef3ac6..f0b7019200f 100644 --- a/code/game/objects/items/chainsaw.dm +++ b/code/game/objects/items/melee/chainsaw.dm @@ -3,12 +3,13 @@ /obj/item/chainsaw name = "chainsaw" desc = "A versatile power tool. Useful for limbing trees and delimbing humans." - icon_state = "chainsaw_off" + icon_state = "chainsaw" + icon = 'icons/obj/weapon/axe.dmi' lefthand_file = 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' flags_1 = CONDUCT_1 force = 13 - var/force_on = 24 + var/active_force = 24 w_class = WEIGHT_CLASS_HUGE throwforce = 13 throw_speed = 2 @@ -21,35 +22,17 @@ tool_behaviour = TOOL_SAW toolspeed = 0.5 var/on = FALSE - var/wielded = FALSE // track wielded status on item - -/obj/item/chainsaw/Initialize() - . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) /obj/item/chainsaw/ComponentInitialize() . = ..() AddComponent(/datum/component/butchering, 30, 100, 0, 'sound/weapons/chainsawhit.ogg', TRUE) AddComponent(/datum/component/two_handed, require_twohands=TRUE) -/// triggered on wield of two handed item -/obj/item/chainsaw/proc/on_wield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = TRUE - -/// triggered on unwield of two handed item -/obj/item/chainsaw/proc/on_unwield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = FALSE - /obj/item/chainsaw/attack_self(mob/user) on = !on to_chat(user, "As you pull the starting cord dangling from [src], [on ? "it begins to whirr." : "the chain stops moving."]") - force = on ? force_on : initial(force) - throwforce = on ? force_on : initial(force) + force = on ? active_force : initial(force) + throwforce = on ? active_force : initial(force) icon_state = "chainsaw_[on ? "on" : "off"]" var/datum/component/butchering/butchering = src.GetComponent(/datum/component/butchering) butchering.butchering_enabled = on @@ -66,14 +49,14 @@ A.UpdateButtonIcon() /obj/item/chainsaw/get_dismemberment_chance() - if(wielded) + if(HAS_TRAIT(src, TRAIT_WIELDED)) . = ..() /obj/item/chainsaw/doomslayer name = "THE GREAT COMMUNICATOR" desc = "VRRRRRRR!!!" armour_penetration = 100 - force_on = 30 + active_force = 30 /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) if(attack_type == PROJECTILE_ATTACK) diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/melee/dualsaber.dm similarity index 90% rename from code/game/objects/items/dualsaber.dm rename to code/game/objects/items/melee/dualsaber.dm index 7ddb0203592..1959fa81eae 100644 --- a/code/game/objects/items/dualsaber.dm +++ b/code/game/objects/items/melee/dualsaber.dm @@ -2,7 +2,7 @@ * Double-Bladed Energy Swords - Cheridan */ /obj/item/dualsaber - icon = 'icons/obj/transforming_energy.dmi' + icon = 'icons/obj/weapon/energy.dmi' icon_state = "dualsaber" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' @@ -23,12 +23,11 @@ max_integrity = 200 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 70) resistance_flags = FIRE_PROOF - var/w_class_on = WEIGHT_CLASS_BULKY + var/active_w_class = WEIGHT_CLASS_BULKY var/saber_color = "green" var/two_hand_force = 34 var/hacked = FALSE var/list/possible_colors = list("red", "blue", "green", "purple", "yellow") - var/wielded = FALSE // track wielded status on item /obj/item/dualsaber/ComponentInitialize() . = ..() @@ -43,9 +42,8 @@ if(user.dna.check_mutation(HULK)) to_chat(user, "You lack the grace to wield this!") return COMPONENT_TWOHANDED_BLOCK_WIELD - wielded = TRUE sharpness = IS_SHARP - w_class = w_class_on + w_class = active_w_class hitsound = 'sound/weapons/blade1.ogg' START_PROCESSING(SSobj, src) set_light_on(TRUE) @@ -56,16 +54,14 @@ /obj/item/dualsaber/proc/on_unwield(obj/item/source, mob/living/carbon/user) SIGNAL_HANDLER - wielded = FALSE sharpness = initial(sharpness) w_class = initial(w_class) hitsound = "swing_hit" STOP_PROCESSING(SSobj, src) set_light_on(FALSE) - /obj/item/dualsaber/update_icon_state() - icon_state = wielded ? "dualsaber[saber_color]" : "dualsaber" + icon_state = HAS_TRAIT(src, TRAIT_WIELDED) ? "dualsaber[saber_color]" : "dualsaber" return ..() /obj/item/dualsaber/Initialize() @@ -94,14 +90,14 @@ if(user.has_dna()) if(user.dna.check_mutation(HULK)) to_chat(user, "You grip the blade too hard and accidentally drop it!") - if(wielded) + if(HAS_TRAIT(src, TRAIT_WIELDED)) user.dropItemToGround(src, force=TRUE) return ..() - if(wielded && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(40)) + if(HAS_TRAIT(src, TRAIT_WIELDED) && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(40)) impale(user) return - if(wielded && prob(50)) + if(HAS_TRAIT(src, TRAIT_WIELDED) && prob(50)) INVOKE_ASYNC(src, PROC_REF(jedi_spin), user) /obj/item/dualsaber/proc/jedi_spin(mob/living/user) @@ -109,18 +105,18 @@ /obj/item/dualsaber/proc/impale(mob/living/user) to_chat(user, "You twirl around a bit before losing your balance and impaling yourself on [src].") - if(wielded) + if(HAS_TRAIT(src, TRAIT_WIELDED)) user.take_bodypart_damage(20,25,check_armor = TRUE) else user.adjustStaminaLoss(25) /obj/item/dualsaber/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(wielded) + if(HAS_TRAIT(src, TRAIT_WIELDED)) return ..() return 0 /obj/item/dualsaber/process() - if(wielded) + if(HAS_TRAIT(src, TRAIT_WIELDED)) if(hacked) set_light_color(pick(COLOR_SOFT_RED, LIGHT_COLOR_GREEN, LIGHT_COLOR_LIGHT_CYAN, LIGHT_COLOR_LAVENDER)) open_flame() @@ -128,12 +124,12 @@ STOP_PROCESSING(SSobj, src) /obj/item/dualsaber/IsReflect() - if(wielded) + if(HAS_TRAIT(src, TRAIT_WIELDED)) return 1 /obj/item/dualsaber/ignition_effect(atom/A, mob/user) - // same as /obj/item/melee/transforming/energy, mostly - if(!wielded) + // same as /obj/item/melee/energy, mostly + if(!HAS_TRAIT(src, TRAIT_WIELDED)) return "" var/in_mouth = "" if(iscarbon(user)) diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index b500eadca2f..1985c3d7ebf 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -1,7 +1,9 @@ -/obj/item/melee/transforming/energy - icon = 'icons/obj/transforming_energy.dmi' - hitsound_on = 'sound/weapons/blade1.ogg' - heat = 3500 +/obj/item/melee/energy + sharpness = IS_SHARP + w_class = WEIGHT_CLASS_SMALL + attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + icon = 'icons/obj/weapon/energy.dmi' + heat = 0 max_integrity = 200 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) resistance_flags = FIRE_PROOF @@ -10,42 +12,81 @@ light_power = 1 light_on = FALSE var/sword_color - -/obj/item/melee/transforming/energy/Initialize() + /// The heat given off when active. + var/active_heat = 3500 + + /// Force while active. + var/active_force = 30 + /// Throwforce while active. + var/active_throwforce = 20 + /// Sharpness while active. + var/active_sharpness = IS_SHARP + /// Hitsound played attacking while active. + var/active_hitsound = 'sound/weapons/blade1.ogg' + /// Weight class while active. + var/active_w_class = WEIGHT_CLASS_BULKY + + var/list/attack_verb_on = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + +/obj/item/melee/energy/Initialize(mapload) . = ..() - if(active) + AddComponent( \ + /datum/component/transforming, \ + force_on = active_force, \ + throwforce_on = active_throwforce, \ + throw_speed_on = 4, \ + sharpness_on = active_sharpness, \ + hitsound_on = active_hitsound, \ + w_class_on = active_w_class, \ + attack_verb_on = attack_verb_on, \ + ) + RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) + AddElement(/datum/element/update_icon_updates_onmob) + if(sharpness) + AddComponent(/datum/component/butchering, 50, 100, 0, hitsound) + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) START_PROCESSING(SSobj, src) -/obj/item/melee/transforming/energy/Destroy() +/obj/item/melee/energy/Destroy() STOP_PROCESSING(SSobj, src) return ..() -/obj/item/melee/transforming/energy/add_blood_DNA(list/blood_dna) - return FALSE +/obj/item/melee/energy/proc/on_transform(obj/item/source, mob/user, active) + SIGNAL_HANDLER -/obj/item/melee/transforming/energy/get_sharpness() - return active * sharpness + if(active) + heat = active_heat + START_PROCESSING(SSobj, src) + if(sword_color) + icon_state = "[base_icon_state][sword_color]" + else + heat = initial(heat) + STOP_PROCESSING(SSobj, src) -/obj/item/melee/transforming/energy/process() - open_flame() + 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) + set_light_on(active) + update_appearance(UPDATE_ICON_STATE) -/obj/item/melee/transforming/energy/transform_weapon(mob/living/user, supress_message_text) - . = ..() - if(.) - if(active) - if(sword_color) - icon_state = "[base_icon_state][sword_color]" - START_PROCESSING(SSobj, src) - else - STOP_PROCESSING(SSobj, src) - set_light_on(active) + return COMPONENT_NO_DEFAULT_MESSAGE + +/obj/item/melee/energy/add_blood_DNA(list/blood_dna) + return FALSE + +/obj/item/melee/energy/get_sharpness() + return sharpness +/obj/item/melee/energy/process(seconds_per_tick) + if(heat) + open_flame() -/obj/item/melee/transforming/energy/get_temperature() - return active * heat +/obj/item/melee/energy/get_temperature() + return heat -/obj/item/melee/transforming/energy/ignition_effect(atom/A, mob/user) - if(!active) +/obj/item/melee/energy/ignition_effect(atom/A, mob/user) + if(!HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) return "" var/in_mouth = "" @@ -57,28 +98,28 @@ playsound(loc, hitsound, get_clamped_volume(), TRUE, -1) add_fingerprint(user) -/obj/item/melee/transforming/energy/axe +/obj/item/melee/energy/axe name = "energy axe" desc = "An energized battle axe." - icon_state = "axe0" + icon_state = "axe" lefthand_file = 'icons/mob/inhands/weapons/axes_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/axes_righthand.dmi' force = 40 - force_on = 150 + active_force = 150 throwforce = 25 - throwforce_on = 30 + active_throwforce = 30 hitsound = 'sound/weapons/bladeslice.ogg' throw_speed = 3 throw_range = 5 w_class = WEIGHT_CLASS_NORMAL - w_class_on = WEIGHT_CLASS_HUGE + active_w_class = WEIGHT_CLASS_HUGE flags_1 = CONDUCT_1 armour_penetration = 100 - attack_verb_off = list("attacked", "chopped", "cleaved", "torn", "cut") + attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") attack_verb_on = list() light_color = LIGHT_COLOR_LIGHT_CYAN -/obj/item/melee/transforming/energy/sword +/obj/item/melee/energy/sword name = "energy sword" desc = "For when a katana isn't enough. While Nanotrasen and the Syndicate both produce the so-called e-swords, they are visually and functionaly identical." icon_state = "sword" @@ -88,7 +129,7 @@ force = 3 throwforce = 5 hitsound = "swing_hit" //it starts deactivated - attack_verb_off = list("tapped", "poked") + attack_verb = list("tapped", "poked") throw_speed = 3 throw_range = 5 sharpness = IS_SHARP @@ -96,38 +137,32 @@ armour_penetration = 35 block_chance = 50 -/obj/item/melee/transforming/energy/sword/transform_weapon(mob/living/user, supress_message_text) - . = ..() - if(. && active && sword_color) - icon_state = "[base_icon_state][sword_color]" - -/obj/item/melee/transforming/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) - if(active) +/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) + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) return ..() return 0 -/obj/item/melee/transforming/energy/sword/cyborg +/obj/item/melee/energy/sword/cyborg sword_color = "red" var/hitcost = 50 -/obj/item/melee/transforming/energy/sword/cyborg/attack(mob/M, mob/living/silicon/robot/R) +/obj/item/melee/energy/sword/cyborg/attack(mob/M, mob/living/silicon/robot/R) if(R.cell) var/obj/item/stock_parts/cell/C = R.cell - if(active && !(C.use(hitcost))) + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE) && !(C.use(hitcost))) attack_self(R) to_chat(R, "It's out of charge!") return return ..() -/obj/item/melee/transforming/energy/sword/cyborg/saw //Used by medical Syndicate cyborgs +/obj/item/melee/energy/sword/cyborg/saw //Used by medical Syndicate cyborgs name = "energy saw" desc = "For heavy duty cutting. It has a carbon-fiber blade in addition to a toggleable hard-light edge to dramatically increase sharpness." - force_on = 30 + active_force = 30 force = 18 //About as much as a spear hitsound = 'sound/weapons/circsawhit.ogg' icon = 'icons/obj/surgery.dmi' - icon_state = "esaw_0" - icon_state_on = "esaw_1" + icon_state = "esaw" sword_color = null //stops icon from breaking when turned on. hitcost = 75 //Costs more than a standard cyborg esword w_class = WEIGHT_CLASS_NORMAL @@ -136,54 +171,49 @@ tool_behaviour = TOOL_SAW toolspeed = 0.7 //faster as a saw -/obj/item/melee/transforming/energy/sword/cyborg/saw/cyborg_unequip(mob/user) - if(!active) - return - transform_weapon(user, TRUE) - -/obj/item/melee/transforming/energy/sword/cyborg/saw/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - return 0 +/obj/item/melee/energy/sword/cyborg/saw/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) + return FALSE -/obj/item/melee/transforming/energy/sword/saber +/obj/item/melee/energy/sword/saber var/list/possible_colors = list("red" = COLOR_SOFT_RED, "blue" = LIGHT_COLOR_LIGHT_CYAN, "green" = LIGHT_COLOR_GREEN, "purple" = LIGHT_COLOR_LAVENDER, "yellow" = COLOR_YELLOW) var/hacked = FALSE -/obj/item/melee/transforming/energy/sword/saber/Initialize(mapload) +/obj/item/melee/energy/sword/saber/Initialize(mapload) . = ..() if(LAZYLEN(possible_colors)) var/set_color = pick(possible_colors) sword_color = set_color set_light_color(possible_colors[set_color]) -/obj/item/melee/transforming/energy/sword/saber/process() +/obj/item/melee/energy/sword/saber/process() . = ..() if(hacked) var/set_color = pick(possible_colors) set_light_color(possible_colors[set_color]) -/obj/item/melee/transforming/energy/sword/saber/red +/obj/item/melee/energy/sword/saber/red possible_colors = list("red" = COLOR_SOFT_RED) -/obj/item/melee/transforming/energy/sword/saber/blue +/obj/item/melee/energy/sword/saber/blue possible_colors = list("blue" = LIGHT_COLOR_LIGHT_CYAN) -/obj/item/melee/transforming/energy/sword/saber/green +/obj/item/melee/energy/sword/saber/green possible_colors = list("green" = LIGHT_COLOR_GREEN) -/obj/item/melee/transforming/energy/sword/saber/purple +/obj/item/melee/energy/sword/saber/purple possible_colors = list("purple" = LIGHT_COLOR_LAVENDER) -/obj/item/melee/transforming/energy/sword/saber/yellow +/obj/item/melee/energy/sword/saber/yellow possible_colors = list("yellow" = COLOR_YELLOW) -/obj/item/melee/transforming/energy/sword/saber/attackby(obj/item/W, mob/living/user, params) +/obj/item/melee/energy/sword/saber/attackby(obj/item/W, mob/living/user, params) if(W.tool_behaviour == TOOL_MULTITOOL) if(!hacked) hacked = TRUE sword_color = "rainbow" to_chat(user, "RNBW_ENGAGE") - if(active) + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) icon_state = "[base_icon_state]rainbow" user.update_inv_hands() else @@ -192,39 +222,38 @@ return ..() -/obj/item/melee/transforming/energy/sword/saber/pirate +/obj/item/melee/energy/sword/saber/pirate name = "energy cutlass" desc = "Arrrr matey." icon_state = "cutlass" base_icon_state = "cutlass" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - icon_state_on = "cutlass" -/obj/item/melee/transforming/energy/sword/saber/pirate/red +/obj/item/melee/energy/sword/saber/pirate/red possible_colors = list("red" = COLOR_SOFT_RED) -/obj/item/melee/transforming/energy/sword/saber/pirate/blue +/obj/item/melee/energy/sword/saber/pirate/blue possible_colors = list("blue" = LIGHT_COLOR_LIGHT_CYAN) -/obj/item/melee/transforming/energy/sword/saber/pirate/green +/obj/item/melee/energy/sword/saber/pirate/green possible_colors = list("green" = LIGHT_COLOR_GREEN) -/obj/item/melee/transforming/energy/sword/saber/pirate/purple +/obj/item/melee/energy/sword/saber/pirate/purple possible_colors = list("purple" = LIGHT_COLOR_LAVENDER) -/obj/item/melee/transforming/energy/sword/saber/pirate/yellow +/obj/item/melee/energy/sword/saber/pirate/yellow possible_colors = list("yellow" = COLOR_YELLOW) -/obj/item/melee/transforming/energy/blade +/obj/item/melee/energy/blade name = "energy blade" desc = "A concentrated beam of energy in the shape of a blade. Very stylish... and lethal." - icon_state = "blade" + icon_state = "lightblade" + item_state = "lightblade" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' force = 30 //Normal attacks deal esword damage hitsound = 'sound/weapons/blade1.ogg' - active = 1 throwforce = 1 //Throwing or dropping the item deletes it. throw_speed = 3 throw_range = 1 @@ -233,30 +262,29 @@ sharpness = IS_SHARP //Most of the other special functions are handled in their own files. aka special snowflake code so kewl -/obj/item/melee/transforming/energy/blade/Initialize() +/obj/item/melee/energy/blade/Initialize() . = ..() spark_system = new /datum/effect_system/spark_spread() spark_system.set_up(5, 0, src) spark_system.attach(src) -/obj/item/melee/transforming/energy/blade/Destroy() +/obj/item/melee/energy/blade/Destroy() QDEL_NULL(spark_system) return ..() -/obj/item/melee/transforming/energy/blade/transform_weapon(mob/living/user, supress_message_text) +/obj/item/melee/energy/blade/on_transform(obj/item/source, mob/user, active) return -/obj/item/melee/transforming/energy/blade/hardlight +/obj/item/melee/energy/blade/hardlight name = "hardlight blade" desc = "An extremely sharp blade made out of hard light. Packs quite a punch." icon_state = "lightblade" item_state = "lightblade" -/obj/item/melee/transforming/energy/ctf +/obj/item/melee/energy/ctf name = "energy sword" desc = "That cable over there, I'm going to cut it." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "plasmasword0" + icon_state = "plasmasword" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' sharpness = IS_SHARP @@ -265,20 +293,19 @@ force = 0 throwforce = 0 hitsound = "swing_hit" //it starts deactivated - attack_verb_off = list("tapped", "poked") + attack_verb = list("tapped", "poked") throw_speed = 3 throw_range = 5 - force_on = 200 //instakill if shields are down + active_force = 200 //instakill if shields are down -/obj/item/melee/transforming/energy/ctf/transform_weapon(mob/living/user, supress_message_text) +/obj/item/melee/energy/ctf/on_transform(obj/item/source, mob/user, active) . = ..() - if(. && active) - icon_state = "plasmasword1" - -/obj/item/melee/transforming/energy/ctf/solgov - armour_penetration = 40 - force_on = 34 //desword grade, but 0 blocking - -/obj/item/melee/transforming/energy/ctf/transform_messages(mob/living/user, supress_message_text) + if(active) + icon_state = "plasmasword_on" playsound(user, active ? 'sound/weapons/SolGov_sword_arm.ogg' : 'sound/weapons/saberoff.ogg', 35, TRUE) to_chat(user, "[src] [active ? "is now active":"can now be concealed"].") + return COMPONENT_NO_DEFAULT_MESSAGE + +/obj/item/melee/energy/ctf/solgov + armour_penetration = 40 + active_force = 34 //desword grade, but 0 blocking diff --git a/code/game/objects/items/energyhalberd.dm b/code/game/objects/items/melee/energyhalberd.dm similarity index 90% rename from code/game/objects/items/energyhalberd.dm rename to code/game/objects/items/melee/energyhalberd.dm index 416964bbfde..961325d50c1 100644 --- a/code/game/objects/items/energyhalberd.dm +++ b/code/game/objects/items/melee/energyhalberd.dm @@ -3,8 +3,9 @@ * Copied mostly from dualsaber.dm to avoid inhertance issues */ /obj/item/energyhalberd - icon = 'icons/obj/transforming_energy.dmi' + icon = 'icons/obj/weapon/energy.dmi' icon_state = "halberd" + icon = 'icons/obj/weapon/energy.dmi' lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' name = "energy halberd" @@ -25,18 +26,17 @@ max_integrity = 200 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 70) resistance_flags = FIRE_PROOF - var/w_class_on = WEIGHT_CLASS_BULKY + var/active_w_class = WEIGHT_CLASS_BULKY var/halberd_color = "green" var/two_hand_force = 34 var/hacked = FALSE var/list/possible_colors = list("red", "blue", "green", "purple", "yellow") - var/wielded = FALSE // track wielded status on item /obj/item/energyhalberd/ComponentInitialize() . = ..() AddComponent(/datum/component/two_handed, force_unwielded=force, force_wielded=two_hand_force, wieldsound='sound/weapons/saberon.ogg', unwieldsound='sound/weapons/saberoff.ogg') -/// Triggered on wield of two handed item + /// Specific hulk checks due to reflection chance for balance issues and switches hitsounds. /obj/item/energyhalberd/proc/on_halberdwield(obj/item/source, mob/living/carbon/user) SIGNAL_HANDLER @@ -45,20 +45,16 @@ if(user.dna.check_mutation(HULK)) to_chat(user, "You lack the grace to wield this!") return COMPONENT_TWOHANDED_BLOCK_WIELD - wielded = TRUE sharpness = IS_SHARP - w_class = w_class_on + w_class = active_w_class hitsound = 'sound/weapons/blade1.ogg' START_PROCESSING(SSobj, src) set_light_on(TRUE) -/// Triggered on unwield of two handed item /// switch hitsounds /obj/item/energyhalberd/proc/on_halberdunwield(obj/item/source, mob/living/carbon/user) SIGNAL_HANDLER - - wielded = FALSE sharpness = initial(sharpness) w_class = initial(w_class) hitsound = "swing_hit" @@ -67,7 +63,7 @@ /obj/item/energyhalberd/update_icon_state() - if(wielded) + if(HAS_TRAIT(src, TRAIT_WIELDED)) icon_state = "halberd[halberd_color]" return ..() else @@ -100,28 +96,28 @@ if(user.has_dna()) if(user.dna.check_mutation(HULK)) to_chat(user, "You grip the blade too hard and accidentally drop it!") - if(wielded) + if(HAS_TRAIT(src, TRAIT_WIELDED)) user.dropItemToGround(src, force=TRUE) return ..() - if(wielded && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(40)) + if(HAS_TRAIT(src, TRAIT_WIELDED) && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(40)) impale(user) return /obj/item/energyhalberd/proc/impale(mob/living/user) to_chat(user, "You swing around a bit before losing your balance and impaling yourself on [src].") - if(wielded) + if(HAS_TRAIT(src, TRAIT_WIELDED)) user.take_bodypart_damage(20,25,check_armor = TRUE) else user.adjustStaminaLoss(25) /obj/item/energyhalberd/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(wielded) + if(HAS_TRAIT(src, TRAIT_WIELDED)) return ..() return 0 /obj/item/energyhalberd/process() - if(wielded) + if(HAS_TRAIT(src, TRAIT_WIELDED)) if(hacked) set_light_color(pick(COLOR_SOFT_RED, LIGHT_COLOR_GREEN, LIGHT_COLOR_LIGHT_CYAN, LIGHT_COLOR_LAVENDER)) open_flame() @@ -129,12 +125,12 @@ STOP_PROCESSING(SSobj, src) /obj/item/energyhalberd/IsReflect() - if(wielded) + if(HAS_TRAIT(src, TRAIT_WIELDED)) return 1 /obj/item/energyhalberd/ignition_effect(atom/A, mob/user) - // same as /obj/item/melee/transforming/energy, mostly - if(!wielded) + // same as /obj/item/melee/energy, mostly + if(!HAS_TRAIT(src, TRAIT_WIELDED)) return "" var/in_mouth = "" if(iscarbon(user)) diff --git a/code/game/objects/items/melee/fireaxe.dm b/code/game/objects/items/melee/fireaxe.dm new file mode 100644 index 00000000000..d58c48c5e4f --- /dev/null +++ b/code/game/objects/items/melee/fireaxe.dm @@ -0,0 +1,100 @@ +/obj/item/melee/axe + icon = 'icons/obj/weapon/axe.dmi' + lefthand_file = 'icons/mob/inhands/weapons/axes_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/axes_righthand.dmi' + mob_overlay_icon = 'icons/mob/clothing/back.dmi' + force = 5 + throwforce = 15 + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") + hitsound = 'sound/weapons/bladeslice.ogg' + sharpness = IS_SHARP + max_integrity = 200 + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) + resistance_flags = FIRE_PROOF + +/obj/item/melee/axe/ComponentInitialize() + . = ..() + AddComponent(/datum/component/butchering, 100, 80, 0 , hitsound) //axes are not known for being precision butchering tools + AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=24, icon_wielded="[base_icon_state]_w") + +/obj/item/melee/axe/update_icon_state() + icon_state = "[base_icon_state]" + return ..() + +/obj/item/melee/axe/afterattack(atom/A, mob/user, proximity) + . = ..() + if(!proximity) + return + if(HAS_TRAIT(src, TRAIT_WIELDED)) //destroys windows and grilles in one hit + if(istype(A, /obj/structure/window) || istype(A, /obj/structure/grille)) + var/obj/structure/W = A + W.obj_destruction("axe") + +/obj/item/melee/axe/fire // DEM AXES MAN, marker -Agouri + name = "fire axe" + desc = "Truly, the weapon of a madman. Who would think to fight fire with an axe?" + icon_state = "fireaxe" + base_icon_state = "fireaxe" + +/obj/item/melee/axe/bone // Blatant imitation of the fireaxe, but made out of bone. + name = "bone axe" + desc = "A large, vicious axe crafted out of several sharpened bone plates and crudely tied together. Made of monsters, by killing monsters, for killing monsters." + icon_state = "bone_axe" + base_icon_state = "bone_axe" + +/obj/item/melee/axe/scrap + name = "scrap axe" + desc = "Oversided and with a pretty dull blade, its decent against armour" + armour_penetration = 10 + +/obj/item/melee/axe/scrap/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=22, icon_wielded="[base_icon_state]_w") + +/* +Blunt + */ +/obj/item/melee/axe/sledgehammer + icon_state = "sledgehammer" + base_icon_state = "sledgehammer" + name = "breaching sledgehammer" + desc = "A large hammer used by the Gorlex Marauder splinters. As powerful as a weapon as it is a shipbreaking and mining tool." + force = 5 + armour_penetration = 40 + attack_verb = list("bashed", "smashed", "crushed", "smacked") + hitsound = list('sound/weapons/genhit1.ogg', 'sound/weapons/genhit2.ogg', 'sound/weapons/genhit3.ogg') + slot_flags = ITEM_SLOT_BACK + sharpness = IS_BLUNT + toolspeed = 0.5 + wall_decon_damage = MINERAL_WALL_INTEGRITY + usesound = list('sound/effects/picaxe1.ogg', 'sound/effects/picaxe2.ogg', 'sound/effects/picaxe3.ogg') + var/wielded = FALSE + +/obj/item/melee/axe/sledgehammer/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=30, icon_wielded="[base_icon_state]_w") + +/obj/item/melee/axe/sledgehammer/Initialize() + . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) + +/obj/item/melee/axe/sledgehammer/proc/on_wield(obj/item/source, mob/user) + SIGNAL_HANDLER + + tool_behaviour = TOOL_MINING + wielded = TRUE + +/obj/item/melee/axe/sledgehammer/proc/on_unwield(obj/item/source, mob/user) + SIGNAL_HANDLER + + tool_behaviour = null + wielded = FALSE + +/obj/item/melee/axe/sledgehammer/attack(mob/living/target, mob/living/user) + . = ..() + var/atom/throw_target = get_edge_target_turf(target, user.dir) + if(!target.anchored) + target.throw_at(throw_target, rand(1,2), 2, user, gentle = TRUE) diff --git a/code/game/objects/items/melee/knife.dm b/code/game/objects/items/melee/knife.dm new file mode 100644 index 00000000000..b671018d654 --- /dev/null +++ b/code/game/objects/items/melee/knife.dm @@ -0,0 +1,203 @@ +/obj/item/melee/knife + icon_state = "kitchenknife" + item_state = "kitchenknife" + icon = 'icons/obj/weapon/knives/knife.dmi' + world_file = 'icons/obj/weapon/knives/knife_world.dmi' + lefthand_file = 'icons/mob/inhands/weapons/knifes_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/knifes_righthand.dmi' + pickup_sound = 'sound/items/handling/knife1_pickup.ogg' + drop_sound = 'sound/items/handling/knife3_drop.ogg' + flags_1 = CONDUCT_1 + force = 10 + w_class = WEIGHT_CLASS_SMALL + throwforce = 10 + hitsound = 'sound/weapons/bladeslice.ogg' + throw_speed = 3 + throw_range = 6 + custom_materials = list(/datum/material/iron=12000) + attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + sharpness = IS_SHARP_ACCURATE + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + item_flags = EYE_STAB + tool_behaviour = TOOL_KNIFE + +/obj/item/melee/knife/ComponentInitialize() + . = ..() + set_butchering() + +///Adds the butchering component, used to override stats for special cases +/obj/item/melee/knife/proc/set_butchering() + AddComponent(/datum/component/butchering, 80 - force, 100, force - 10) //bonus chance increases depending on force + +/obj/item/melee/knife/kitchen + name = "kitchen knife" + icon_state = "kitchenknife" + item_state = "kitchenknife" + desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come." + +/obj/item/melee/knife/plastic + name = "plastic knife" + icon_state = "plastic_knife" + desc = "A very safe, barely sharp knife made of plastic. Good for cutting food and not much else." + force = 0 + w_class = WEIGHT_CLASS_TINY + throwforce = 0 + throw_range = 5 + custom_materials = list(/datum/material/plastic = 100) + attack_verb = list("prodded", "whiffed","scratched", "poked") + sharpness = IS_SHARP + custom_price = 50 + var/break_chance = 25 + +/obj/item/melee/knife/plastic/afterattack(mob/living/carbon/user) + .=..() + if(prob(break_chance)) + user.visible_message("[user]'s spoon snaps into tiny pieces in their hand.") + qdel(src) + + +/obj/item/melee/knife/plastic/afterattack(mob/living/carbon/user) + .=..() + if(prob(break_chance)) + user.visible_message("[user]'s knife snaps into tiny pieces in their hand.") + qdel(src) + +/obj/item/melee/knife/pizza_cutter + name = "pizza cutter" + icon_state = "pizza_cutter" + desc = "A knife edge bent around a circle using the power of science. Perfect for safely cutting pizza." + force = 1 + w_class = WEIGHT_CLASS_SMALL + throwforce = 1 + throw_range = 6 + custom_materials = list(/datum/material/iron=4000) + attack_verb = list("prodded", "whiffed","rolled", "poked") + sharpness = IS_SHARP + +/obj/item/melee/knife/butcher + name = "butcher's cleaver" + icon_state = "cleaver" + item_state = "cleaver" + desc = "A huge thing used for chopping and chopping up meat." + flags_1 = CONDUCT_1 + force = 15 + throwforce = 10 + custom_materials = list(/datum/material/iron=18000) + attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + w_class = WEIGHT_CLASS_NORMAL + custom_price = 600 + +/obj/item/melee/knife/hunting + name = "hunting knife" + desc = "Despite its name, it's mainly used for cutting meat from dead prey rather than actual hunting." + item_state = "huntingknife" + icon_state = "huntingknife" + +/obj/item/melee/knife/hunting/set_butchering() + AddComponent(/datum/component/butchering, 80 - force, 100, force + 10) + +/obj/item/melee/knife/combat + name = "combat knife" + icon_state = "combatknife" + item_state = "combatknife" + desc = "A military combat utility survival knife." + embedding = list("pain_mult" = 4, "embed_chance" = 65, "fall_chance" = 10, "ignore_throwspeed_threshold" = TRUE) + force = 20 + throwforce = 20 + attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "cut") + +/obj/item/melee/knife/survival + name = "survival knife" + icon_state = "survivalknife" + item_state = "survivalknife" + embedding = list("pain_mult" = 4, "embed_chance" = 35, "fall_chance" = 10) + desc = "A hunting grade survival knife." + force = 15 + throwforce = 15 + attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "cut") + +/obj/item/melee/knife/bone + name = "bone dagger" + item_state = "bone_dagger" + icon_state = "bone_dagger" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + desc = "A sharpened bone. The bare minimum in survival." + embedding = list("pain_mult" = 4, "embed_chance" = 35, "fall_chance" = 10) + force = 15 + throwforce = 15 + custom_materials = null + +/obj/item/melee/knife/combat/cyborg + name = "cyborg knife" + icon = 'icons/obj/items_cyborg.dmi' + icon_state = "knife_cyborg" + desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable." + +/obj/item/melee/knife/shiv + name = "glass shiv" + icon = 'icons/obj/shards.dmi' + icon_state = "shiv" + item_state = "shiv" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + desc = "A makeshift glass shiv." + force = 8 + throwforce = 12 + attack_verb = list("shanked", "shivved") + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) + custom_materials = list(/datum/material/glass=400) + +/obj/item/melee/knife/shiv/carrot + name = "carrot shiv" + icon_state = "carrotshiv" + item_state = "carrotshiv" + icon = 'icons/obj/kitchen.dmi' + desc = "Unlike other carrots, you should probably keep this far away from your eyes." + custom_materials = null + +/obj/item/melee/knife/switchblade + name = "switchblade" + icon_state = "switchblade" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + world_file = null + desc = "A sharp, concealable, spring-loaded knife." + flags_1 = CONDUCT_1 + force = 3 + w_class = WEIGHT_CLASS_SMALL + sharpness = IS_BLUNT + throwforce = 5 + throw_speed = 3 + throw_range = 6 + custom_materials = list(/datum/material/iron=12000) + hitsound = 'sound/weapons/genhit.ogg' + attack_verb = list("stubbed", "poked") + resistance_flags = FIRE_PROOF + +/obj/item/melee/knife/switchblade/ComponentInitialize() + . = ..() + AddComponent( \ + /datum/component/transforming, \ + force_on = 20, \ + throwforce_on = 23, \ + throw_speed_on = 4, \ + sharpness_on = IS_SHARP, \ + hitsound_on = 'sound/weapons/bladeslice.ogg', \ + w_class_on = WEIGHT_CLASS_NORMAL, \ + attack_verb_on = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut"), \ + ) + +/obj/item/melee/knife/letter_opener + name = "letter opener" + icon = 'icons/obj/items.dmi' + world_file = null + icon_state = "letter_opener" + desc = "A military combat utility survival knife." + embedding = list("pain_mult" = 4, "embed_chance" = 65, "fall_chance" = 10, "ignore_throwspeed_threshold" = TRUE) + force = 15 + throwforce = 15 + unique_reskin = list("Traditional" = "letter_opener", + "Boxcutter" = "letter_opener_b", + "Corporate" = "letter_opener_a" + ) diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 9d90a1a4337..13d4ac99fe1 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -1,6 +1,11 @@ /obj/item/melee item_flags = NEEDS_PERMIT + icon = 'icons/obj/weapon/misc.dmi' + lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' + var/projectile_block_chance = 0 +//cruft /obj/item/melee/proc/check_martial_counter(mob/living/carbon/human/target, mob/living/carbon/human/user) if(target.check_block()) target.visible_message("[target.name] blocks [src] and twists [user]'s arm behind [user.p_their()] back!", @@ -8,14 +13,17 @@ user.Stun(40) return TRUE +//This is only pathed here because there is currently only melee using it, the second you want to add charged to something just make it /obj/item/get_cell() +/obj/item/melee/get_cell() + var/datum/component/transforming/charged/charged_comp = GetComponent(/datum/component/transforming/charged) + if(charged_comp) + return charged_comp.cell /obj/item/melee/chainofcommand name = "chain of command" desc = "A tool used by great men to placate the frothing masses." icon_state = "chain" item_state = "chain" - lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT force = 10 @@ -44,487 +52,11 @@ . = ..() AddComponent(/datum/component/butchering, 60, 80) //very imprecise -/obj/item/melee/sabre - name = "officer's sabre" - desc = "An elegant weapon, its monomolecular edge is capable of cutting through flesh and bone with ease." - icon_state = "sabre" - item_state = "sabre" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - pickup_sound = 'sound/items/unsheath.ogg' - drop_sound = 'sound/items/handling/metal_drop.ogg' - flags_1 = CONDUCT_1 - obj_flags = UNIQUE_RENAME - force = 15 - throwforce = 10 - w_class = WEIGHT_CLASS_BULKY - block_chance = 60 - armour_penetration = 75 - sharpness = IS_SHARP - attack_verb = list("slashed", "cut") - hitsound = 'sound/weapons/rapierhit.ogg' - custom_materials = list(/datum/material/iron = 1000) - -/obj/item/melee/sabre/Initialize() - . = ..() - AddComponent(/datum/component/butchering, 30, 95, 5) //fast and effective, but as a sword, it might damage the results. - -/obj/item/melee/sabre/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(attack_type == PROJECTILE_ATTACK) - final_block_chance = 0 //Don't bring a sword to a gunfight - return ..() - -/obj/item/melee/sabre/on_enter_storage(datum/component/storage/concrete/S) - var/obj/item/storage/belt/sabre/B = S.real_location() - if(istype(B)) - playsound(B, 'sound/items/sheath.ogg', 25, TRUE) - -/obj/item/melee/sabre/solgov - name = "solarian sabre" - desc = "A refined ceremonial blade often given to soldiers and high ranking officials of SolGov." - icon_state = "sabresolgov" - item_state = "sabresolgov" - -/obj/item/melee/sabre/suns - name = "SUNS sabre" - desc = "A blade of Solarian origin given to SUNS followers." - icon_state = "suns-sabre" - item_state = "suns-sabre" - -/obj/item/melee/sabre/suns/captain - name = "SUNS captain sabre" - desc = "An elegant blade awarded to SUNS captains. Despite its higher craftmanship, it appears to be just as effective as a normal sabre." - icon_state = "suns-capsabre" - item_state = "suns-capsabre" - -/obj/item/melee/sabre/suns/cmo - name = "SUNS stick sabre" - desc = "A thin blade used by SUNS medical instructors." - icon_state = "suns-swordstick" - item_state = "suns-swordstick" - -/obj/item/melee/sabre/suns/telescopic - name = "telescopic sabre" - desc = "A telescopic and retractable blade given to SUNS peacekeepers for easy concealment and carry. It's design makes it slightly less effective than normal sabres sadly, however it is still excelent at piercing armor." - icon_state = "suns-tsword" - item_state = "suns-tsword" - force = 0 - throwforce = 0 - block_chance = 0 - - slot_flags = ITEM_SLOT_BELT - w_class = WEIGHT_CLASS_SMALL - attack_verb = list("smacked", "prodded") - - - var/extended = FALSE - var/extend_sound = 'sound/weapons/batonextend.ogg' - - - - var/on_icon_state = "suns-tsword_ext" - var/on_item_state = "suns-tsword_ext" - var/off_icon_state = "suns-tsword" - var/off_item_state = "suns-tsword" - - var/force_on = 10 - var/on_throwforce = 10 - var/on_blockchance = 40 - - var/force_off = 0 - var/off_throwforce = 0 - var/off_blockchance = 0 - - var/weight_class_on = WEIGHT_CLASS_BULKY - -/obj/item/melee/sabre/suns/telescopic/attack_self(mob/user) - extended = !extended - - if(extended) - to_chat(user, "You extend the [src].") - icon_state = on_icon_state - item_state = on_item_state - slot_flags = 0 - w_class = weight_class_on - force = force_on - throwforce = on_throwforce - block_chance = on_blockchance - attack_verb = list("slashed", "cut") - else - to_chat(user, "You collapse the [src].") - icon_state = off_icon_state - item_state = off_item_state - slot_flags = ITEM_SLOT_BELT - w_class = WEIGHT_CLASS_SMALL - force = force_off - throwforce = off_throwforce - block_chance = off_blockchance - attack_verb = list("smacked", "prodded") - - playsound(get_turf(src), extend_sound, 50, TRUE) - add_fingerprint(user) - -/obj/item/melee/beesword - name = "The Stinger" - desc = "Taken from a giant bee and folded over one thousand times in pure honey. Can sting through anything." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "beesword" - item_state = "stinger" - lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - slot_flags = ITEM_SLOT_BELT - force = 5 - w_class = WEIGHT_CLASS_BULKY - sharpness = IS_SHARP - throwforce = 10 - block_chance = 20 - armour_penetration = 65 - attack_verb = list("slashed", "stung", "prickled", "poked") - hitsound = 'sound/weapons/rapierhit.ogg' - -/obj/item/melee/beesword/afterattack(atom/target, mob/user, proximity) - . = ..() - if(!proximity) - return - user.changeNext_move(CLICK_CD_RAPID) - if(iscarbon(target)) - var/mob/living/carbon/H = target - H.reagents.add_reagent(/datum/reagent/toxin, 4) - -/obj/item/melee/classic_baton - name = "police baton" - desc = "A wooden truncheon for beating criminal scum." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "classic_baton" - item_state = "classic_baton" - lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' - slot_flags = ITEM_SLOT_BELT - force = 12 //9 hit crit - w_class = WEIGHT_CLASS_NORMAL - - var/cooldown_check = 0 // Used interally, you don't want to modify - - var/cooldown = 40 // Default wait time until can stun again. - var/knockdown_time_carbon = (1.5 SECONDS) // Knockdown length for carbons. - var/stun_time_silicon = (5 SECONDS) // If enabled, how long do we stun silicons. - var/stamina_damage = 55 // Do we deal stamina damage. - var/affect_silicon = FALSE // Does it stun silicons. - var/on_sound // "On" sound, played when switching between able to stun or not. - var/on_stun_sound = 'sound/effects/woodhit.ogg' // Default path to sound for when we stun. - var/stun_animation = TRUE // Do we animate the "hit" when stunning. - var/on = TRUE // Are we on or off. - - var/on_icon_state // What is our sprite when turned on - var/off_icon_state // What is our sprite when turned off - var/on_item_state // What is our in-hand sprite when turned on - var/force_on // Damage when on - not stunning - var/force_off // Damage when off - not stunning - var/weight_class_on // What is the new size class when turned on - -// Description for trying to stun when still on cooldown. -/obj/item/melee/classic_baton/proc/get_wait_description() - return - -// Description for when turning their baton "on" -/obj/item/melee/classic_baton/proc/get_on_description() - . = list() - - .["local_on"] = "You extend the baton." - .["local_off"] = "You collapse the baton." - - return . - -// Default message for stunning mob. -/obj/item/melee/classic_baton/proc/get_stun_description(mob/living/target, mob/living/user) - . = list() - - .["visible"] = "[user] knocks [target] down with [src]!" - .["local"] = "[user] knocks you down with [src]!" - - return . - -// Default message for stunning a silicon. -/obj/item/melee/classic_baton/proc/get_silicon_stun_description(mob/living/target, mob/living/user) - . = list() - - .["visible"] = "[user] pulses [target]'s sensors with the baton!" - .["local"] = "You pulse [target]'s sensors with the baton!" - - return . - -// Are we applying any special effects when we stun to carbon -/obj/item/melee/classic_baton/proc/additional_effects_carbon(mob/living/target, mob/living/user) - return - -// Are we applying any special effects when we stun to silicon -/obj/item/melee/classic_baton/proc/additional_effects_silicon(mob/living/target, mob/living/user) - return - -/obj/item/melee/classic_baton/attack(mob/living/target, mob/living/user) - if(!on) - return ..() - - add_fingerprint(user) - if((HAS_TRAIT(user, TRAIT_CLUMSY)) && prob(50)) - to_chat(user, "You hit yourself over the head!") - - user.Paralyze(knockdown_time_carbon * force) - user.apply_damage(stamina_damage, STAMINA, BODY_ZONE_HEAD) - - additional_effects_carbon(user) // user is the target here - if(ishuman(user)) - var/mob/living/carbon/human/H = user - H.apply_damage(2*force, BRUTE, BODY_ZONE_HEAD) - else - user.take_bodypart_damage(2*force) - return - if(iscyborg(target)) - // We don't stun if we're on harm. - if (user.a_intent != INTENT_HARM) - if (affect_silicon) - var/list/desc = get_silicon_stun_description(target, user) - - target.flash_act(affect_silicon = TRUE) - target.Paralyze(stun_time_silicon) - additional_effects_silicon(target, user) - - user.visible_message(desc["visible"], desc["local"]) - playsound(get_turf(src), on_stun_sound, 100, TRUE, -1) - - if (stun_animation) - user.do_attack_animation(target) - else - ..() - else - ..() - return - if(!isliving(target)) - return - if (user.a_intent == INTENT_HARM) - if(!..()) - return - if(!iscyborg(target)) - return - else - if(cooldown_check <= world.time) - if(ishuman(target)) - var/mob/living/carbon/human/H = target - if (H.check_shields(src, 0, "[user]'s [name]", MELEE_ATTACK)) - return - if(check_martial_counter(H, user)) - return - - var/list/desc = get_stun_description(target, user) - - if (stun_animation) - user.do_attack_animation(target) - - playsound(get_turf(src), on_stun_sound, 75, TRUE, -1) - target.Knockdown(knockdown_time_carbon) - target.apply_damage(stamina_damage, STAMINA, BODY_ZONE_CHEST) - additional_effects_carbon(target, user) - - log_combat(user, target, "stunned", src) - add_fingerprint(user) - - target.visible_message(desc["visible"], desc["local"]) - - if(!iscarbon(user)) - target.LAssailant = null - else - target.LAssailant = WEAKREF(user) - cooldown_check = world.time + cooldown - else - var/wait_desc = get_wait_description() - if (wait_desc) - to_chat(user, wait_desc) - -/obj/item/conversion_kit - name = "conversion kit" - desc = "A strange box containing wood working tools and an instruction paper to turn stun batons into something else." - icon = 'icons/obj/storage.dmi' - icon_state = "uk" - custom_price = 450 - -/obj/item/melee/classic_baton/telescopic - name = "telescopic baton" - desc = "A compact yet robust personal defense weapon. Can be concealed when folded." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "telebaton_0" - lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - item_state = null - slot_flags = ITEM_SLOT_BELT - w_class = WEIGHT_CLASS_SMALL - item_flags = NONE - force = 0 - on = FALSE - on_sound = 'sound/weapons/batonextend.ogg' - - on_icon_state = "telebaton_1" - off_icon_state = "telebaton_0" - on_item_state = "nullrod" - force_on = 10 - force_off = 0 - weight_class_on = WEIGHT_CLASS_BULKY - -/obj/item/melee/classic_baton/telescopic/attack_self(mob/user) - on = !on - var/list/desc = get_on_description() - - if(on) - to_chat(user, desc["local_on"]) - icon_state = on_icon_state - item_state = on_item_state - w_class = weight_class_on - force = force_on - attack_verb = list("smacked", "struck", "cracked", "beaten") - else - to_chat(user, desc["local_off"]) - icon_state = off_icon_state - item_state = null //no sprite for concealment even when in hand - slot_flags = ITEM_SLOT_BELT - w_class = WEIGHT_CLASS_SMALL - force = force_off - attack_verb = list("hit", "poked") - - playsound(src.loc, on_sound, 50, TRUE) - add_fingerprint(user) - -/obj/item/melee/classic_baton/telescopic/contractor_baton - name = "contractor baton" - desc = "A compact, specialised baton assigned to Syndicate contractors. Applies light electrical shocks to targets." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "contractor_baton_0" - lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - item_state = null - slot_flags = ITEM_SLOT_BELT - w_class = WEIGHT_CLASS_SMALL - item_flags = NONE - force = 5 - - cooldown = 25 - stamina_damage = 85 - affect_silicon = TRUE - on_sound = 'sound/weapons/contractorbatonextend.ogg' - on_stun_sound = 'sound/effects/contractorbatonhit.ogg' - - on_icon_state = "contractor_baton_1" - off_icon_state = "contractor_baton_0" - on_item_state = "contractor_baton" - force_on = 16 - force_off = 5 - weight_class_on = WEIGHT_CLASS_NORMAL - -/obj/item/melee/classic_baton/telescopic/contractor_baton/get_wait_description() - return "The baton is still charging!" - -/obj/item/melee/classic_baton/telescopic/contractor_baton/additional_effects_carbon(mob/living/target, mob/living/user) - target.Jitter(20) - target.stuttering += 20 - -/obj/item/melee/supermatter_sword - name = "supermatter sword" - desc = "In a universe full of bad ideas, this might just be the worst." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "supermatter_sword" - item_state = "supermatter_sword" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - slot_flags = null - w_class = WEIGHT_CLASS_BULKY - force = 0.001 - armour_penetration = 1000 - var/obj/machinery/power/supermatter_crystal/shard - var/balanced = 1 - force_string = "INFINITE" - -/obj/item/melee/supermatter_sword/Initialize() - . = ..() - shard = new /obj/machinery/power/supermatter_crystal(src) - qdel(shard.countdown) - shard.countdown = null - START_PROCESSING(SSobj, src) - visible_message("[src] appears, balanced ever so perfectly on its hilt. This isn't ominous at all.") - -/obj/item/melee/supermatter_sword/process() - if(balanced || throwing || ismob(src.loc) || isnull(src.loc)) - return - if(!isturf(src.loc)) - var/atom/target = src.loc - forceMove(target.loc) - consume_everything(target) - else - var/turf/T = get_turf(src) - if(!isspaceturf(T)) - consume_turf(T) - -/obj/item/melee/supermatter_sword/afterattack(target, mob/user, proximity_flag) - . = ..() - if(user && target == user) - user.dropItemToGround(src) - if(proximity_flag) - consume_everything(target) - -/obj/item/melee/supermatter_sword/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - ..() - if(ismob(hit_atom)) - var/mob/M = hit_atom - if(src.loc == M) - M.dropItemToGround(src) - consume_everything(hit_atom) - -/obj/item/melee/supermatter_sword/pickup(user) - ..() - balanced = 0 - -/obj/item/melee/supermatter_sword/ex_act(severity, target) - visible_message("The blast wave smacks into [src] and rapidly flashes to ash.",\ - "You hear a loud crack as you are washed with a wave of heat.") - consume_everything() - -/obj/item/melee/supermatter_sword/acid_act() - visible_message("The acid smacks into [src] and rapidly flashes to ash.",\ - "You hear a loud crack as you are washed with a wave of heat.") - consume_everything() - -/obj/item/melee/supermatter_sword/bullet_act(obj/projectile/P) - visible_message("[P] smacks into [src] and rapidly flashes to ash.",\ - "You hear a loud crack as you are washed with a wave of heat.") - consume_everything(P) - return BULLET_ACT_HIT - - -/obj/item/melee/supermatter_sword/proc/consume_everything(target) - if(isnull(target)) - shard.Consume() - else if(!isturf(target)) - shard.Bumped(target) - else - consume_turf(target) - -/obj/item/melee/supermatter_sword/proc/consume_turf(turf/T) - var/oldtype = T.type - var/turf/newT = T.ScrapeAway(flags = CHANGETURF_INHERIT_AIR) - if(newT.type == oldtype) - return - playsound(T, 'sound/effects/supermatter.ogg', 50, TRUE) - T.visible_message("[T] smacks into [src] and rapidly flashes to ash.",\ - "You hear a loud crack as you are washed with a wave of heat.") - shard.Consume() - -/obj/item/melee/supermatter_sword/add_blood_DNA(list/blood_dna) - return FALSE - /obj/item/melee/curator_whip name = "curator's whip" desc = "Somewhat eccentric and outdated, it still stings like hell to be hit by." icon_state = "whip" item_state = "chain" - lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' slot_flags = ITEM_SLOT_BELT force = 15 w_class = WEIGHT_CLASS_NORMAL @@ -538,345 +70,128 @@ H.drop_all_held_items() H.visible_message("[user] disarms [H]!", "[user] disarmed you!") -/obj/item/melee/roastingstick - name = "advanced roasting stick" - desc = "A telescopic roasting stick with a miniature shield generator designed to ensure entry into various high-tech shielded cooking ovens and firepits." - icon_state = "roastingstick_0" - item_state = "null" +/obj/item/melee/cleric_mace + name = "cleric mace" + desc = "The grandson of the club, yet the grandfather of the baseball bat. Most notably used by holy orders in days past." + icon_state = "mace_greyscale" + item_state = "mace_greyscale" + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS //Material type changes the prefix as well as the color. + custom_materials = list(/datum/material/iron = 12000) //Defaults to an Iron Mace. slot_flags = ITEM_SLOT_BELT - w_class = WEIGHT_CLASS_SMALL - item_flags = NONE - force = 0 - attack_verb = list("hit", "poked") - var/obj/item/reagent_containers/food/snacks/sausage/held_sausage - var/static/list/ovens - var/on = FALSE - var/datum/beam/beam - -/obj/item/melee/roastingstick/Initialize() - . = ..() - if (!ovens) - ovens = typecacheof(list(/obj/singularity, /obj/machinery/power/supermatter_crystal, /obj/structure/bonfire)) - -/obj/item/melee/roastingstick/attack_self(mob/user) - on = !on - if(on) - extend(user) - else - if (held_sausage) - to_chat(user, "You can't retract [src] while [held_sausage] is attached!") - return - retract(user) - - playsound(src.loc, 'sound/weapons/batonextend.ogg', 50, TRUE) - add_fingerprint(user) - -/obj/item/melee/roastingstick/attackby(atom/target, mob/user) - ..() - if (istype(target, /obj/item/reagent_containers/food/snacks/sausage)) - if (!on) - to_chat(user, "You must extend [src] to attach anything to it!") - return - if (held_sausage) - to_chat(user, "[held_sausage] is already attached to [src]!") - return - if (user.transferItemToLoc(target, src)) - held_sausage = target - else - to_chat(user, "[target] doesn't seem to want to get on [src]!") - update_appearance() - -/obj/item/melee/roastingstick/attack_hand(mob/user) - ..() - if (held_sausage) - user.put_in_hands(held_sausage) - held_sausage = null - update_appearance() - -/obj/item/melee/roastingstick/update_overlays() - . = ..() - if (held_sausage) - . += mutable_appearance(icon, "roastingstick_sausage") - -/obj/item/melee/roastingstick/proc/extend(user) - to_chat(user, "You extend [src].") - icon_state = "roastingstick_1" - item_state = "nullrod" + force = 14 w_class = WEIGHT_CLASS_BULKY - -/obj/item/melee/roastingstick/proc/retract(user) - to_chat(user, "You collapse [src].") - icon_state = "roastingstick_0" - item_state = null - w_class = WEIGHT_CLASS_SMALL - -/obj/item/melee/roastingstick/handle_atom_del(atom/target) - if (target == held_sausage) - held_sausage = null - update_appearance() - -/obj/item/melee/roastingstick/afterattack(atom/target, mob/user, proximity) - . = ..() - if (!on) - return - if (is_type_in_typecache(target, ovens)) - if (held_sausage && held_sausage.roasted) - to_chat(src, "Your [held_sausage] has already been cooked!") - return - if (istype(target, /obj/singularity) && get_dist(user, target) < 10) - to_chat(user, "You send [held_sausage] towards [target].") - playsound(src, 'sound/items/rped.ogg', 50, TRUE) - beam = user.Beam(target,icon_state="rped_upgrade",time=100) - else if (user.Adjacent(target)) - to_chat(user, "You extend [src] towards [target].") - playsound(src.loc, 'sound/weapons/batonextend.ogg', 50, TRUE) - else - return - if(do_after(user, 100, target = user)) - finish_roasting(user, target) - else - QDEL_NULL(beam) - playsound(src, 'sound/weapons/batonextend.ogg', 50, TRUE) - -/obj/item/melee/roastingstick/proc/finish_roasting(user, atom/target) - to_chat(user, "You finish roasting [held_sausage].") - playsound(src,'sound/items/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() - -/obj/item/melee/greykingsword - name = "blade of the grey-king" - desc = "A legendary sword made with 3 replica katanas nailed together and dipped in heavy narcotics." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "grey_sword" - item_state = "swordoff" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - flags_1 = CONDUCT_1 - slot_flags = ITEM_SLOT_BACK - force = 15 throwforce = 8 - w_class = WEIGHT_CLASS_NORMAL - block_chance = 30 - attack_verb = list("struck", "slashed", "mall-ninjad", "tided", "multi-shanked", "shredded") - custom_materials = list(/datum/material/iron = 1420) - sharpness = IS_SHARP - - var/prick_chance = 50 - var/prick_chems = list( - /datum/reagent/toxin = 10, - /datum/reagent/toxin/mindbreaker = 10, - /datum/reagent/drug/space_drugs = 10, - /datum/reagent/drug/crank = 5, - /datum/reagent/drug/methamphetamine = 5, - /datum/reagent/drug/bath_salts = 5, - /datum/reagent/drug/aranesp = 5, - /datum/reagent/drug/pumpup = 10, - /datum/reagent/medicine/omnizine = 10, - /datum/reagent/medicine/earthsblood = 15, - /datum/reagent/medicine/omnizine/protozine = 15 - ) - -/obj/item/melee/greykingsword/afterattack(atom/target, mob/user, proximity_flag, click_parameters) - if (iscarbon(target) && prob(prick_chance)) - var/mob/living/carbon/C = target - var/datum/reagent/R = pick(prick_chems) - C.reagents.add_reagent(R, prick_chems[R]) - C.visible_message("[user] is pricked!", \ - "You've been pricked by the [src]!") - log_combat(user, C, "pricked", src.name, "with [prick_chems[R]]u of [R]") - return ..() - - -/obj/item/melee/greykingsword/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text, final_block_chance, damage, attack_type) - if(attack_type == PROJECTILE_ATTACK) - final_block_chance = 1 //Still not like your Japaniese animes though. - return ..() - -/obj/item/kitchen/knife/letter_opener - name = "letter opener" - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "letter_opener" - desc = "A military combat utility survival knife." - embedding = list("pain_mult" = 4, "embed_chance" = 65, "fall_chance" = 10, "ignore_throwspeed_threshold" = TRUE) - force = 15 - throwforce = 15 - unique_reskin = list("Traditional" = "letter_opener", - "Boxcutter" = "letter_opener_b", - "Corporate" = "letter_opener_a" - ) -/obj/item/melee/weebstick - name = "Weeb Stick" - desc = "Glorious nippon steel, folded 1000 times." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "weeb_blade" - item_state = "weeb_blade" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - pickup_sound = 'sound/items/handling/knife2_pickup.ogg' - drop_sound = 'sound/items/handling/metal_drop.ogg' - flags_1 = CONDUCT_1 - obj_flags = UNIQUE_RENAME - w_class = WEIGHT_CLASS_BULKY - slot_flags = ITEM_SLOT_BACK - sharpness = IS_SHARP_ACCURATE - force = 25 - throw_speed = 4 - throw_range = 5 - throwforce = 12 - block_chance = 20 armour_penetration = 50 - hitsound = 'sound/weapons/anime_slash.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "diced", "cut") + attack_verb = list("smacked", "struck", "cracked", "beaten") + var/overlay_state = "mace_handle" + var/mutable_appearance/overlay -/obj/item/melee/weebstick/Initialize() +/obj/item/melee/cleric_mace/Initialize() . = ..() - AddComponent(/datum/component/butchering, 25, 90, 5) //Not made for scalping victims, but will work nonetheless - -/obj/item/melee/weebstick/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(attack_type == PROJECTILE_ATTACK) - final_block_chance = block_chance / 2 //Pretty good... - return ..() - -/obj/item/melee/weebstick/on_exit_storage(datum/component/storage/concrete/S) - var/obj/item/storage/belt/weebstick/B = S.real_location() - if(istype(B)) - playsound(B, 'sound/items/unsheath.ogg', 25, TRUE) - -/obj/item/melee/weebstick/on_enter_storage(datum/component/storage/concrete/S) - var/obj/item/storage/belt/weebstick/B = S.real_location() - if(istype(B)) - playsound(B, 'sound/items/sheath.ogg', 25, TRUE) - -/obj/item/storage/belt/weebstick - name = "nanoforged blade sheath" - desc = "It yearns to bath in the blood of your enemies... but you hold it back!" - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "weeb_sheath" - item_state = "sheath" - w_class = WEIGHT_CLASS_BULKY - force = 3 - var/primed = FALSE //Prerequisite to anime bullshit - // ##The anime bullshit## - Mostly stolen from action/innate/dash - var/dash_sound = 'sound/weapons/unsheathed_blade.ogg' - var/beam_effect = "blood_beam" - var/phasein = /obj/effect/temp_visual/dir_setting/cult/phase - var/phaseout = /obj/effect/temp_visual/dir_setting/cult/phase - -/obj/item/storage/belt/weebstick/ComponentInitialize() - . = ..() - AddElement(/datum/element/update_icon_updates_onmob) - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 1 - STR.use_sound = null - STR.max_w_class = WEIGHT_CLASS_BULKY - STR.set_holdable(list( - /obj/item/melee/weebstick - )) + overlay = mutable_appearance(icon, overlay_state) + overlay.appearance_flags = RESET_COLOR + add_overlay(overlay) + +/obj/item/melee/baseball_bat + name = "baseball bat" + desc = "There ain't a skull in the league that can withstand a swatter." + icon = 'icons/obj/weapon/blunt.dmi' + icon_state = "baseball_bat" + item_state = "baseball_bat" + force = 12 + throwforce = 12 + attack_verb = list("beat", "smacked") + custom_materials = list(/datum/material/wood = MINERAL_MATERIAL_AMOUNT * 3.5) + w_class = WEIGHT_CLASS_HUGE + var/homerun_ready = FALSE + var/homerun_able = FALSE -/obj/item/storage/belt/weebstick/examine(mob/user) - . = ..() - if(length(contents)) - . += "Use [src] in-hand to prime for an opening strike." - . += "Alt-click it to quickly draw the blade." +/obj/item/melee/baseball_bat/homerun + name = "home run bat" + desc = "This thing looks dangerous... Dangerously good at baseball, that is." + homerun_able = 1 -/obj/item/storage/belt/weebstick/AltClick(mob/user) - if(!iscarbon(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)) || primed) +/obj/item/melee/baseball_bat/attack_self(mob/user) + if(!homerun_able) + ..() return - if(length(contents)) - var/obj/item/I = contents[1] - playsound(user, dash_sound, 25, TRUE) - user.visible_message("[user] swiftly draws \the [I].", "You draw \the [I].") - user.put_in_hands(I) - update_appearance() - else - to_chat(user, "[src] is empty!") - -/obj/item/storage/belt/weebstick/attack_self(mob/user) - if(!iscarbon(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) + if(homerun_ready) + to_chat(user, "You're already ready to do a home run!") + ..() return - if(length(contents)) - var/datum/component/storage/CP = GetComponent(/datum/component/storage) - if(primed) - CP.locked = FALSE - playsound(user, 'sound/items/sheath.ogg', 25, TRUE) - to_chat(user, "You return your stance.") - primed = FALSE - update_appearance() - else - CP.locked = TRUE //Prevents normal removal of the blade while primed - playsound(user, 'sound/items/unsheath.ogg', 25, TRUE) - user.visible_message("[user] grips the blade within [src] and primes to attack.", "You take an opening stance...", "You hear a weapon being drawn...") - primed = TRUE - update_appearance() - else - to_chat(user, "[src] is empty!") + to_chat(user, "You begin gathering strength...") + playsound(get_turf(src), 'sound/magic/lightning_chargeup.ogg', 65, TRUE) + if(do_after(user, 90, target = src)) + to_chat(user, "You gather power! Time for a home run!") + homerun_ready = 1 + ..() -/obj/item/storage/belt/weebstick/afterattack(atom/A, mob/living/user, proximity_flag, params) +/obj/item/melee/baseball_bat/attack(mob/living/target, mob/living/user) . = ..() - if(primed && length(contents)) - if(!(A in view(user.client.view, user))) - return - var/obj/item/I = contents[1] - if(!user.put_in_inactive_hand(I)) - to_chat(user, "You need a free hand!") - return - var/datum/component/storage/CP = GetComponent(/datum/component/storage) - CP.locked = FALSE - primed = FALSE - update_appearance() - primed_attack(A, user) - if(CanReach(A, I)) - I.melee_attack_chain(user, A, params) - user.swap_hand() - -/obj/item/storage/belt/weebstick/proc/primed_attack(atom/target, mob/living/user) - var/turf/end = get_turf(user) - var/turf/start = get_turf(user) - var/obj/spot1 = new phaseout(start, user.dir) - var/halt = FALSE - // Stolen dash code - for(var/T in getline(start, get_turf(target))) - var/turf/tile = T - for(var/mob/living/victim in tile) - if(victim != user) - playsound(victim, 'sound/weapons/anime_slash.ogg', 10, TRUE) - victim.take_bodypart_damage(15) - // Unlike actual ninjas, we stop noclip-dashing here. - if(isclosedturf(T)) - halt = TRUE - for(var/obj/O in tile) - // We ignore mobs as we are cutting through them - if(!O.CanPass(user, tile)) - halt = TRUE - if(halt) - break - else - end = T - user.forceMove(end) // YEET - playsound(start, dash_sound, 35, TRUE) - var/obj/spot2 = new phasein(end, user.dir) - spot1.Beam(spot2, beam_effect, time=20) - user.visible_message("In a flash of red, [user] draws [user.p_their()] blade!", "You dash forward while drawing your weapon!", "You hear a blade slice through the air at impossible speeds!") + var/atom/throw_target = get_edge_target_turf(target, user.dir) + if(homerun_ready) + user.visible_message("It's a home run!") + target.throw_at(throw_target, rand(8,10), 14, user) + SSexplosions.medturf += throw_target + playsound(get_turf(src), 'sound/weapons/homerun.ogg', 100, TRUE) + homerun_ready = 0 + return + else if(!target.anchored) + target.throw_at(throw_target, rand(1,2), 2, user, gentle = TRUE) + +/obj/item/melee/baseball_bat/ablative + name = "metal baseball bat" + desc = "This bat is made of highly reflective, highly armored material." + icon_state = "baseball_bat_metal" + item_state = "baseball_bat_metal" + force = 12 + throwforce = 15 -/obj/item/storage/belt/weebstick/update_icon_state() - icon_state = "weeb_sheath" - item_state = "sheath" - if(contents.len) - if(primed) - icon_state += "-primed" - else - icon_state += "-blade" - item_state += "-sabre" - return ..() +/obj/item/melee/baseball_bat/bone + name = "bone club" + desc = "A long and hard shaft of rock solid bone." // I am the master of comedy + icon_state = "baseball_bat_bone" + item_state = "baseball_bat_bone" + +/obj/item/melee/baseball_bat/ablative/IsReflect()//some day this will reflect thrown items instead of lasers + var/picksound = rand(1,2) + var/turf = get_turf(src) + if(picksound == 1) + playsound(turf, 'sound/weapons/effects/batreflect1.ogg', 50, TRUE) + if(picksound == 2) + playsound(turf, 'sound/weapons/effects/batreflect2.ogg', 50, TRUE) + return 1 + +/obj/item/melee/flyswatter + name = "flyswatter" + desc = "Useful for killing insects of all sizes." + icon_state = "flyswatter" + item_state = "flyswatter" + force = 1 + throwforce = 1 + attack_verb = list("swatted", "smacked") + hitsound = 'sound/effects/snap.ogg' + w_class = WEIGHT_CLASS_SMALL + //Things in this list will be instantly splatted. Flyman weakness is handled in the flyman species weakness proc. + var/list/strong_against -/obj/item/storage/belt/weebstick/PopulateContents() - //Time to generate names now that we have the sword - var/n_title = pick(GLOB.ninja_titles) - var/n_name = pick(GLOB.ninja_names) - var/obj/item/melee/weebstick/sword = new /obj/item/melee/weebstick(src) - sword.name = "[n_title] blade of clan [n_name]" - name = "[n_title] scabbard of clan [n_name]" - update_appearance() +/obj/item/melee/flyswatter/Initialize() + . = ..() + strong_against = typecacheof(list( + /mob/living/simple_animal/hostile/poison/bees/, + /mob/living/simple_animal/butterfly, + /mob/living/simple_animal/hostile/cockroach, + /obj/item/queen_bee + )) + +/obj/item/melee/flyswatter/afterattack(atom/target, mob/user, proximity_flag) + . = ..() + if(proximity_flag) + if(is_type_in_typecache(target, strong_against)) + new /obj/effect/decal/cleanable/insectguts(target.drop_location()) + to_chat(user, "You easily splat the [target].") + if(istype(target, /mob/living/)) + var/mob/living/bug = target + bug.death(1) + else + qdel(target) diff --git a/code/game/objects/items/powerfist.dm b/code/game/objects/items/melee/powerfist.dm similarity index 98% rename from code/game/objects/items/powerfist.dm rename to code/game/objects/items/melee/powerfist.dm index c41142d4ad2..13d1d10230f 100644 --- a/code/game/objects/items/powerfist.dm +++ b/code/game/objects/items/melee/powerfist.dm @@ -75,6 +75,7 @@ return var/datum/gas_mixture/gasused = tank.air_contents.remove(gasperfist * fisto_setting) var/turf/T = get_turf(src) + var/mols_used = gasused.total_moles() if(!T) return T.assume_air(gasused) @@ -86,7 +87,7 @@ target.visible_message("[user]'s powerfist lets out a dull thunk as [user.p_they()] punch[user.p_es()] [target.name]!", \ "[user]'s punches you!") return - if(gasused.total_moles() < gasperfist * fisto_setting) + if(mols_used < gasperfist * fisto_setting) to_chat(user, "\The [src]'s piston-ram lets out a weak hiss, it needs more gas!") playsound(loc, 'sound/weapons/punch4.ogg', 50, TRUE) target.apply_damage((force / 2), BRUTE) diff --git a/code/game/objects/items/melee/spear.dm b/code/game/objects/items/melee/spear.dm new file mode 100644 index 00000000000..4a7b8b789dc --- /dev/null +++ b/code/game/objects/items/melee/spear.dm @@ -0,0 +1,122 @@ +//spears +/obj/item/melee/spear + icon_state = "spearglass" + icon = 'icons/obj/weapon/spear.dmi' + lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' + name = "spear" + desc = "A haphazardly-constructed yet still deadly weapon of ancient design." + force = 10 + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + throwforce = 20 + throw_speed = 4 + embedding = list("impact_pain_mult" = 3) + armour_penetration = 10 + custom_materials = list(/datum/material/iron=1150, /datum/material/glass=2075) + hitsound = 'sound/weapons/bladeslice.ogg' + attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") + sharpness = IS_SHARP + max_integrity = 200 + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 30) + species_exception = list(/datum/species/kepori) + var/icon_prefix = "spearglass" + +/obj/item/melee/spear/ComponentInitialize() + . = ..() + AddComponent(/datum/component/butchering, 100, 70) //decent in a pinch, but pretty bad. + AddComponent(/datum/component/jousting) + AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=18, icon_wielded="[icon_prefix]_w") + +/obj/item/melee/spear/update_icon_state() + icon_state = "[icon_prefix]" + return ..() + +/obj/item/melee/spear/CheckParts(list/parts_list) + var/obj/item/shard/tip = locate() in parts_list + if (istype(tip, /obj/item/shard/plasma)) + throwforce = 21 + icon_prefix = "spearplasma" + AddComponent(/datum/component/two_handed, force_unwielded=11, force_wielded=19, icon_wielded="[icon_prefix]_w") + update_appearance() + qdel(tip) + ..() + +/* + * Bone Spear + */ +/obj/item/melee/spear/bone //Blatant imitation of spear, but made out of bone. Not valid for explosive modification. + icon_state = "bone_spear" + name = "bone spear" + base_icon_state = "bone_spear" + icon_prefix = "bone_spear" + desc = "A haphazardly-constructed yet still deadly weapon. The pinnacle of modern technology." + //this should be a plasma spear or worse. + force = 11 + throwforce = 21 + +/obj/item/melee/spear/bone/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=11, force_wielded=19, icon_wielded="[icon_prefix]_w") + +/obj/item/melee/spear/explosive + name = "explosive lance" + icon_state = "spearbomb" + base_icon_state = "spearbomb" + icon_prefix = "spearbomb" + var/obj/item/grenade/explosive = null + var/war_cry = "AAAAARGH!!!" + +/obj/item/melee/spear/explosive/Initialize(mapload) + . = ..() + set_explosive(new /obj/item/grenade/iedcasing/spawned()) //For admin-spawned explosive lances + +/obj/item/melee/spear/explosive/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=18, icon_wielded="[icon_prefix]_w") + +/obj/item/melee/spear/explosive/proc/set_explosive(obj/item/grenade/G) + if(explosive) + QDEL_NULL(explosive) + G.forceMove(src) + explosive = G + desc = "A makeshift spear with [G] attached to it" + +/obj/item/melee/spear/explosive/CheckParts(list/parts_list) + var/obj/item/grenade/G = locate() in parts_list + if(G) + var/obj/item/melee/spear/lancePart = locate() in parts_list + var/datum/component/two_handed/comp_twohand = lancePart.GetComponent(/datum/component/two_handed) + if(comp_twohand) + var/lance_wielded = comp_twohand.force_wielded + var/lance_unwielded = comp_twohand.force_unwielded + AddComponent(/datum/component/two_handed, force_unwielded=lance_unwielded, force_wielded=lance_wielded) + throwforce = lancePart.throwforce + icon_prefix = lancePart.icon_prefix + parts_list -= G + parts_list -= lancePart + set_explosive(G) + qdel(lancePart) + ..() + +/obj/item/melee/spear/explosive/examine(mob/user) + . = ..() + . += "Alt-click to set your war cry." + +/obj/item/melee/spear/explosive/AltClick(mob/user) + if(user.canUseTopic(src, BE_CLOSE)) + ..() + if(istype(user) && loc == user) + var/input = stripped_input(user,"What do you want your war cry to be? You will shout it when you hit someone in melee.", ,"", 50) + if(input) + src.war_cry = input + +/obj/item/melee/spear/explosive/afterattack(atom/movable/AM, mob/user, proximity) + . = ..() + if(!proximity) + return + if(HAS_TRAIT(src, TRAIT_WIELDED)) + user.say("[war_cry]", forced="spear warcry") + explosive.forceMove(AM) + explosive.prime() + qdel(src) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/melee/stunbaton.dm similarity index 51% rename from code/game/objects/items/stunbaton.dm rename to code/game/objects/items/melee/stunbaton.dm index 3265b36a3b4..152bc76d5f8 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/melee/stunbaton.dm @@ -1,7 +1,7 @@ /obj/item/melee/baton name = "stun baton" desc = "A stun baton for incapacitating people with." - + icon = 'icons/obj/weapon/baton.dmi' icon_state = "stunbaton" item_state = "baton" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' @@ -23,7 +23,7 @@ var/can_remove_cell = TRUE var/turned_on = FALSE - var/activate_sound = "sparks" + var/activate_sound = SFX_SPARKS var/attack_cooldown_check = 0 SECONDS var/attack_cooldown = 2.5 SECONDS @@ -99,7 +99,7 @@ /obj/item/melee/baton/update_icon_state() if(turned_on) - icon_state = "[initial(icon_state)]_active" + icon_state = "[initial(icon_state)]_on" return ..() if(!cell) icon_state = "[initial(icon_state)]_nocell" @@ -110,23 +110,23 @@ /obj/item/melee/baton/examine(mob/user) . = ..() if(cell) - . += "\The [src] is [round(cell.percent())]% charged." + . += span_notice("\The [src] is [round(cell.percent())]% charged.") else - . += "\The [src] does not have a power source installed." + . += span_warning("\The [src] does not have a power source installed.") /obj/item/melee/baton/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/stock_parts/cell)) var/obj/item/stock_parts/cell/C = W if(cell) - to_chat(user, "[src] already has a cell!") + to_chat(user, span_notice("[src] already has a cell!")) else if(C.maxcharge < cell_hit_cost) - to_chat(user, "[src] requires a higher capacity cell.") + to_chat(user, span_notice("[src] requires a higher capacity cell.")) return if(!user.transferItemToLoc(W, src)) return cell = W - to_chat(user, "You install a cell in [src].") + to_chat(user, span_notice("You install a cell in [src].")) update_appearance() else if(W.tool_behaviour == TOOL_SCREWDRIVER) @@ -139,7 +139,7 @@ cell.update_appearance() cell.forceMove(get_turf(src)) cell = null - to_chat(user, "You remove the cell from [src].") + to_chat(user, span_notice("You remove the cell from [src].")) turned_on = FALSE update_appearance() @@ -149,22 +149,22 @@ /obj/item/melee/baton/proc/toggle_on(mob/user) if(cell && cell.charge > cell_hit_cost) turned_on = !turned_on - to_chat(user, "[src] is now [turned_on ? "on" : "off"].") + to_chat(user, span_notice("[src] is now [turned_on ? "on" : "off"].")) playsound(src, activate_sound, 75, TRUE, -1) else turned_on = FALSE if(!cell) - to_chat(user, "[src] does not have a power source!") + to_chat(user, span_warning("[src] does not have a power source!")) else - to_chat(user, "[src] is out of charge.") + to_chat(user, span_warning("[src] is out of charge.")) update_appearance() add_fingerprint(user) /obj/item/melee/baton/proc/clumsy_check(mob/living/carbon/human/user) if(turned_on && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) playsound(src, stun_sound, 75, TRUE, -1) - user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \ - "You accidentally hit yourself with [src]!") + user.visible_message(span_danger("[user] accidentally hits [user.p_them()]self with [src]!"), \ + span_userdanger("You accidentally hit yourself with [src]!")) user.Knockdown(stun_time*3) //should really be an equivalent to attack(user,user) deductcharge(cell_hit_cost) return TRUE @@ -191,10 +191,10 @@ user.do_attack_animation(M) return else - to_chat(user, "The baton is still charging!") + to_chat(user, span_danger("The [src] is still charging!")) else - M.visible_message("[user] prods [M] with [src]. Luckily it was off.", \ - "[user] prods you with [src]. Luckily it was off.") + M.visible_message(span_warning("[user] prods [M] with [src]. Luckily it was off."), \ + span_warning("[user] prods you with [src]. Luckily it was off.")) else if(turned_on) if(attack_cooldown_check <= world.time) @@ -206,7 +206,7 @@ if(shields_blocked(L, user)) return FALSE if(HAS_TRAIT_FROM(L, TRAIT_IWASBATONED, user)) //no doublebaton abuse anon! - to_chat(user, "[L] manages to avoid the attack!") + to_chat(user, span_danger("[L] manages to avoid the attack!")) return FALSE if(iscyborg(loc)) var/mob/living/silicon/robot/R = loc @@ -228,8 +228,8 @@ if(user) L.lastattacker = user.real_name L.lastattackerckey = user.ckey - L.visible_message("[user] stuns [L] with [src]!", \ - "[user] stuns you with [src]!") + L.visible_message(span_danger("[user] stuns [L] with [src]!"), \ + span_userdanger("[user] stuns you with [src]!")) log_combat(user, L, "stunned") playsound(src, stun_sound, 50, TRUE, -1) @@ -245,7 +245,7 @@ /obj/item/melee/baton/proc/apply_stun_effect_end(mob/living/target) var/trait_check = HAS_TRAIT(target, TRAIT_STUNRESISTANCE) //var since we check it in out to_chat as well as determine stun duration if(!target.IsKnockdown()) - to_chat(target, "Your muscles seize, making you collapse[trait_check ? ", but your body quickly recovers..." : "!"]") + to_chat(target, span_warning("Your muscles seize, making you collapse[trait_check ? ", but your body quickly recovers..." : "!"]")) if(trait_check) target.Knockdown(stun_time * 0.1) @@ -333,3 +333,233 @@ /obj/item/melee/baton/boomerang/loaded //Same as above, comes with a cell. preload_cell_type = /obj/item/stock_parts/cell/high + +/obj/item/melee/classic_baton + name = "police baton" + desc = "A wooden truncheon for beating criminal scum." + icon = 'icons/obj/weapon/baton.dmi' + icon_state = "classic_baton" + item_state = "classic_baton" + lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' + slot_flags = ITEM_SLOT_BELT + force = 12 //9 hit crit + w_class = WEIGHT_CLASS_NORMAL + + var/cooldown_check = 0 // Used interally, you don't want to modify + + var/cooldown = 40 // Default wait time until can stun again. + var/knockdown_time_carbon = (1.5 SECONDS) // Knockdown length for carbons. + var/stun_time_silicon = (5 SECONDS) // If enabled, how long do we stun silicons. + var/stamina_damage = 55 // Do we deal stamina damage. + var/affect_silicon = FALSE // Does it stun silicons. + var/on_sound // "On" sound, played when switching between able to stun or not. + var/on_stun_sound = 'sound/effects/woodhit.ogg' // Default path to sound for when we stun. + var/stun_animation = TRUE // Do we animate the "hit" when stunning. + var/on = TRUE // Are we on or off. + + var/on_icon_state // What is our sprite when turned on + var/off_icon_state // What is our sprite when turned off + var/on_item_state // What is our in-hand sprite when turned on + var/active_force // Damage when on - not stunning + var/force_off // Damage when off - not stunning + var/weight_class_on // What is the new size class when turned on + +// Description for trying to stun when still on cooldown. +/obj/item/melee/classic_baton/proc/get_wait_description() + return + +// Description for when turning their baton "on" +/obj/item/melee/classic_baton/proc/get_on_description() + . = list() + + .["local_on"] = span_warning("You extend the baton.") + .["local_off"] = span_notice("You collapse the baton.") + + return . + +// Default message for stunning mob. +/obj/item/melee/classic_baton/proc/get_stun_description(mob/living/target, mob/living/user) + . = list() + + .["visible"] = span_danger("[user] knocks [target] down with [src]!") + .["local"] = span_userdanger("[user] knocks you down with [src]!") + + return . + +// Default message for stunning a silicon. +/obj/item/melee/classic_baton/proc/get_silicon_stun_description(mob/living/target, mob/living/user) + . = list() + + .["visible"] = span_danger("[user] pulses [target]'s sensors with the baton!") + .["local"] = span_danger("You pulse [target]'s sensors with the baton!") + + return . + +// Are we applying any special effects when we stun to carbon +/obj/item/melee/classic_baton/proc/additional_effects_carbon(mob/living/target, mob/living/user) + return + +// Are we applying any special effects when we stun to silicon +/obj/item/melee/classic_baton/proc/additional_effects_silicon(mob/living/target, mob/living/user) + return + +/obj/item/melee/classic_baton/attack(mob/living/target, mob/living/user) + if(!on) + return ..() + + add_fingerprint(user) + if((HAS_TRAIT(user, TRAIT_CLUMSY)) && prob(50)) + to_chat(user, span_userdanger("You hit yourself over the head!")) + + user.Paralyze(knockdown_time_carbon * force) + user.apply_damage(stamina_damage, STAMINA, BODY_ZONE_HEAD) + + additional_effects_carbon(user) // user is the target here + if(ishuman(user)) + var/mob/living/carbon/human/H = user + H.apply_damage(2*force, BRUTE, BODY_ZONE_HEAD) + else + user.take_bodypart_damage(2*force) + return + if(iscyborg(target)) + // We don't stun if we're on harm. + if (user.a_intent != INTENT_HARM) + if (affect_silicon) + var/list/desc = get_silicon_stun_description(target, user) + + target.flash_act(affect_silicon = TRUE) + target.Paralyze(stun_time_silicon) + additional_effects_silicon(target, user) + + user.visible_message(desc["visible"], desc["local"]) + playsound(get_turf(src), on_stun_sound, 100, TRUE, -1) + + if (stun_animation) + user.do_attack_animation(target) + else + ..() + else + ..() + return + if(!isliving(target)) + return + if (user.a_intent == INTENT_HARM) + if(!..()) + return + if(!iscyborg(target)) + return + else + if(cooldown_check <= world.time) + if(ishuman(target)) + var/mob/living/carbon/human/H = target + if (H.check_shields(src, 0, "[user]'s [name]", MELEE_ATTACK)) + return + if(check_martial_counter(H, user)) + return + + var/list/desc = get_stun_description(target, user) + + if (stun_animation) + user.do_attack_animation(target) + + playsound(get_turf(src), on_stun_sound, 75, TRUE, -1) + target.Knockdown(knockdown_time_carbon) + target.apply_damage(stamina_damage, STAMINA, BODY_ZONE_CHEST) + additional_effects_carbon(target, user) + + log_combat(user, target, "stunned", src) + add_fingerprint(user) + + target.visible_message(desc["visible"], desc["local"]) + + if(!iscarbon(user)) + target.LAssailant = null + else + target.LAssailant = WEAKREF(user) + cooldown_check = world.time + cooldown + else + var/wait_desc = get_wait_description() + if (wait_desc) + to_chat(user, wait_desc) + +/obj/item/conversion_kit + name = "conversion kit" + desc = "A strange box containing wood working tools and an instruction paper to turn stun batons into something else." + icon = 'icons/obj/storage.dmi' + icon_state = "uk" + custom_price = 450 + +/obj/item/melee/classic_baton/telescopic + name = "telescopic baton" + desc = "A compact yet robust personal defense weapon. Can be concealed when folded." + icon_state = "telebaton" + lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' + item_state = null + slot_flags = ITEM_SLOT_BELT + w_class = WEIGHT_CLASS_SMALL + item_flags = NONE + force = 0 + on = FALSE + on_sound = 'sound/weapons/batonextend.ogg' + + on_icon_state = "telebaton_on" + off_icon_state = "telebaton" + on_item_state = "nullrod" + active_force = 10 + force_off = 0 + weight_class_on = WEIGHT_CLASS_BULKY + +/obj/item/melee/classic_baton/telescopic/attack_self(mob/user) + on = !on + var/list/desc = get_on_description() + + if(on) + to_chat(user, desc["local_on"]) + icon_state = on_icon_state + item_state = on_item_state + w_class = weight_class_on + force = active_force + attack_verb = list("smacked", "struck", "cracked", "beaten") + else + to_chat(user, desc["local_off"]) + icon_state = off_icon_state + item_state = null //no sprite for concealment even when in hand + slot_flags = ITEM_SLOT_BELT + w_class = WEIGHT_CLASS_SMALL + force = force_off + attack_verb = list("hit", "poked") + + playsound(src.loc, on_sound, 50, TRUE) + add_fingerprint(user) + +/obj/item/melee/classic_baton/telescopic/contractor_baton + name = "contractor baton" + desc = "A compact, specialised baton assigned to Syndicate contractors. Applies light electrical shocks to targets." + icon_state = "contractor_baton" + item_state = null + slot_flags = ITEM_SLOT_BELT + w_class = WEIGHT_CLASS_SMALL + item_flags = NONE + force = 5 + + cooldown = 25 + stamina_damage = 85 + affect_silicon = TRUE + on_sound = 'sound/weapons/contractorbatonextend.ogg' + on_stun_sound = 'sound/effects/contractorbatonhit.ogg' + + on_icon_state = "contractor_baton_on" + off_icon_state = "contractor_baton" + on_item_state = "contractor_baton" + active_force = 16 + force_off = 5 + weight_class_on = WEIGHT_CLASS_NORMAL + +/obj/item/melee/classic_baton/telescopic/contractor_baton/get_wait_description() + return span_danger("The baton is still charging!") + +/obj/item/melee/classic_baton/telescopic/contractor_baton/additional_effects_carbon(mob/living/target, mob/living/user) + target.Jitter(20) + target.stuttering += 20 diff --git a/code/game/objects/items/melee/sword.dm b/code/game/objects/items/melee/sword.dm new file mode 100644 index 00000000000..223a6c17f32 --- /dev/null +++ b/code/game/objects/items/melee/sword.dm @@ -0,0 +1,513 @@ +/obj/item/melee/sword + icon = 'icons/obj/weapon/sword.dmi' + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + pickup_sound = 'sound/items/unsheath.ogg' + drop_sound = 'sound/items/handling/metal_drop.ogg' + hitsound = 'sound/weapons/bladeslice.ogg' + flags_1 = CONDUCT_1 + slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK + w_class = WEIGHT_CLASS_BULKY + block_chance = 10 + attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + sharpness = IS_SHARP + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) + resistance_flags = FIRE_PROOF + +/obj/item/melee/sword/ComponentInitialize() + . = ..() + AddComponent(/datum/component/butchering, 30, 95, 5) //fast and effective, but as a sword, it might damage the results. + +//cruft +/obj/item/melee/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) + if(attack_type == PROJECTILE_ATTACK) + final_block_chance = projectile_block_chance //Don't bring a sword to a gunfight + return ..() + +/obj/item/melee/sword/claymore + name = "claymore" + desc = "What are you standing around staring at this for? Get to killing!" + icon_state = "claymore" + item_state = "claymore" + force = 30 + throwforce = 10 + block_chance = 40 + max_integrity = 200 + +/obj/item/melee/sword/claymore/Initialize() + . = ..() + AddComponent(/datum/component/butchering, 40, 105) + +/obj/item/melee/sword/bone + name = "bone sword" + desc = "Jagged pieces of bone are tied to what looks like a goliaths femur." + icon_state = "bone_sword" + item_state = "bone_sword" + force = 15 + throwforce = 10 + armour_penetration = 15 + +/obj/item/melee/sword/scrap + name = "scrap sword" + desc = "A jagged and painful weapon only effective on targets without an armour" + icon_state = "machete" + force = 24 + throwforce = 10 + armour_penetration = -35 + max_integrity = 100 + +/obj/item/melee/sword/mass + name = "mass produced machete" + desc = "A middle ground between a machete and a short sword. A simple construction of stamped steel but its so cheap its hard to complain. Its right between being a one hand and two handed weapon" + icon_state = "machete" + base_icon_state = "machete" + force = 20 + throwforce = 15 + max_integrity = 50 + +/obj/item/melee/sword/mass/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=20, force_wielded=22) + +/obj/item/melee/sword/katana + name = "katana" + desc = "Woefully underpowered in D20." + icon_state = "katana" + item_state = "katana" + slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK + force = 30 + throwforce = 10 + w_class = WEIGHT_CLASS_HUGE + block_chance = 10 + max_integrity = 200 + +/obj/item/melee/sword/chainsaw + name = "sacred chainsaw sword" + desc = "Suffer not a heretic to live." + icon_state = "chainsword_on" + item_state = "chainsword_on" + force = 15 + throwforce = 10 + armour_penetration = 25 + slot_flags = ITEM_SLOT_BELT + attack_verb = list("sawed", "torn", "cut", "chopped", "diced") + hitsound = 'sound/weapons/chainsawhit.ogg' + tool_behaviour = TOOL_SAW + toolspeed = 1.5 //slower than a real saw + +/obj/item/melee/sword/sabre + name = "officer's sabre" + desc = "An elegant weapon, its monomolecular edge is capable of cutting through flesh and bone with ease." + icon_state = "sabre" + item_state = "sabre" + force = 15 + throwforce = 10 + block_chance = 60 + armour_penetration = 75 + attack_verb = list("slashed", "cut") + hitsound = 'sound/weapons/rapierhit.ogg' + custom_materials = list(/datum/material/iron = 1000) + +/obj/item/melee/sword/sabre/on_enter_storage(datum/component/storage/concrete/S) + var/obj/item/storage/belt/sabre/B = S.real_location() + if(istype(B)) + playsound(B, 'sound/items/sheath.ogg', 25, TRUE) + +/obj/item/melee/sword/sabre/solgov + name = "solarian sabre" + desc = "A refined ceremonial blade often given to soldiers and high ranking officials of SolGov." + icon_state = "sabresolgov" + item_state = "sabresolgov" + +/obj/item/melee/sword/sabre/suns + name = "SUNS sabre" + desc = "A blade of Solarian origin given to SUNS followers." + icon_state = "suns-sabre" + item_state = "suns-sabre" + +/obj/item/melee/sword/sabre/suns/captain + name = "SUNS captain sabre" + desc = "An elegant blade awarded to SUNS captains. Despite its higher craftmanship, it appears to be just as effective as a normal sabre." + icon_state = "suns-capsabre" + item_state = "suns-capsabre" + +/obj/item/melee/sword/sabre/suns/cmo + name = "SUNS stick sabre" + desc = "A thin blade used by SUNS medical instructors." + icon_state = "suns-swordstick" + item_state = "suns-swordstick" + +/obj/item/melee/sword/sabre/pgf + name = "\improper boarding cutlass" + desc = "When beam and bullet puncture the hull, a trustworthy blade will carry you through the fight" + icon_state = "pgf-sabre" + block_chance = 30 + force = 22 + +/obj/item/melee/sword/sabre/suns/telescopic + name = "telescopic sabre" + desc = "A telescopic and retractable blade given to SUNS peacekeepers for easy concealment and carry. It's design makes it slightly less effective than normal sabres sadly, however it is still excelent at piercing armor." + icon_state = "suns-tsword" + item_state = "suns-tsword" + force = 0 + throwforce = 0 + block_chance = 0 + + slot_flags = ITEM_SLOT_BELT + w_class = WEIGHT_CLASS_SMALL + attack_verb = list("smacked", "prodded") + + var/extend_sound = 'sound/weapons/batonextend.ogg' + + var/on_block_chance = 40 + +/obj/item/melee/sword/sabre/suns/telescopic/ComponentInitialize() + . = ..() + AddComponent( \ + /datum/component/transforming, \ + force_on = 10, \ + throwforce_on = 10, \ + attack_verb_on = list("slashed", "cut"), \ + w_class_on = WEIGHT_CLASS_BULKY, \ + ) + RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) + +/obj/item/melee/sword/sabre/suns/telescopic/proc/on_transform(obj/item/source, mob/user, active) + SIGNAL_HANDLER + + if(active) + block_chance = on_block_chance + else + block_chance = initial(block_chance) + playsound(user, extend_sound, 50, TRUE) + return COMPONENT_NO_DEFAULT_MESSAGE + +/obj/item/melee/sword/supermatter + name = "supermatter sword" + desc = "In a universe full of bad ideas, this might just be the worst." + icon_state = "supermatter_sword" + item_state = "supermatter_sword" + slot_flags = null + force = 0.001 + armour_penetration = 1000 + var/obj/machinery/power/supermatter_crystal/shard + var/balanced = 1 + force_string = "INFINITE" + +/obj/item/melee/sword/supermatter/Initialize() + . = ..() + shard = new /obj/machinery/power/supermatter_crystal(src) + qdel(shard.countdown) + shard.countdown = null + START_PROCESSING(SSobj, src) + visible_message("[src] appears, balanced ever so perfectly on its hilt. This isn't ominous at all.") + +/obj/item/melee/sword/supermatter/process() + if(balanced || throwing || ismob(src.loc) || isnull(src.loc)) + return + if(!isturf(src.loc)) + var/atom/target = src.loc + forceMove(target.loc) + consume_everything(target) + else + var/turf/T = get_turf(src) + if(!isspaceturf(T)) + consume_turf(T) + +/obj/item/melee/sword/supermatter/afterattack(target, mob/user, proximity_flag) + . = ..() + if(user && target == user) + user.dropItemToGround(src) + if(proximity_flag) + consume_everything(target) + +/obj/item/melee/sword/supermatter/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + ..() + if(ismob(hit_atom)) + var/mob/M = hit_atom + if(src.loc == M) + M.dropItemToGround(src) + consume_everything(hit_atom) + +/obj/item/melee/sword/supermatter/pickup(user) + ..() + balanced = 0 + +/obj/item/melee/sword/supermatter/ex_act(severity, target) + visible_message("The blast wave smacks into [src] and rapidly flashes to ash.",\ + "You hear a loud crack as you are washed with a wave of heat.") + consume_everything() + +/obj/item/melee/sword/supermatter/acid_act() + visible_message("The acid smacks into [src] and rapidly flashes to ash.",\ + "You hear a loud crack as you are washed with a wave of heat.") + consume_everything() + +/obj/item/melee/sword/supermatter/bullet_act(obj/projectile/P) + visible_message("[P] smacks into [src] and rapidly flashes to ash.",\ + "You hear a loud crack as you are washed with a wave of heat.") + consume_everything(P) + return BULLET_ACT_HIT + + +/obj/item/melee/sword/supermatter/proc/consume_everything(target) + if(isnull(target)) + shard.Consume() + else if(!isturf(target)) + shard.Bumped(target) + else + consume_turf(target) + +/obj/item/melee/sword/supermatter/proc/consume_turf(turf/T) + var/oldtype = T.type + var/turf/newT = T.ScrapeAway(flags = CHANGETURF_INHERIT_AIR) + if(newT.type == oldtype) + return + playsound(T, 'sound/effects/supermatter.ogg', 50, TRUE) + T.visible_message("[T] smacks into [src] and rapidly flashes to ash.",\ + "You hear a loud crack as you are washed with a wave of heat.") + shard.Consume() + +/obj/item/melee/sword/supermatter/add_blood_DNA(list/blood_dna) + return FALSE + +/obj/item/melee/sword/greyking + name = "blade of the grey-king" + desc = "A legendary sword made with 3 replica katanas nailed together and dipped in heavy narcotics." + icon_state = "grey_sword" + item_state = "swordoff" + slot_flags = ITEM_SLOT_BACK + force = 15 + throwforce = 8 + block_chance = 30 + attack_verb = list("struck", "slashed", "mall-ninjad", "tided", "multi-shanked", "shredded") + + var/prick_chance = 50 + var/prick_chems = list( + /datum/reagent/toxin = 10, + /datum/reagent/toxin/mindbreaker = 10, + /datum/reagent/drug/space_drugs = 10, + /datum/reagent/drug/crank = 5, + /datum/reagent/drug/methamphetamine = 5, + /datum/reagent/drug/bath_salts = 5, + /datum/reagent/drug/aranesp = 5, + /datum/reagent/drug/pumpup = 10, + /datum/reagent/medicine/omnizine = 10, + /datum/reagent/medicine/earthsblood = 15, + /datum/reagent/medicine/omnizine/protozine = 15 + ) + +/obj/item/melee/sword/greyking/afterattack(atom/target, mob/user, proximity_flag, click_parameters) + if (iscarbon(target) && prob(prick_chance)) + var/mob/living/carbon/C = target + var/datum/reagent/R = pick(prick_chems) + C.reagents.add_reagent(R, prick_chems[R]) + C.visible_message("[user] is pricked!", \ + "You've been pricked by the [src]!") + log_combat(user, C, "pricked", src.name, "with [prick_chems[R]]u of [R]") + return ..() + +//HF blade +/obj/item/melee/sword/vibro + icon_state = "hfrequency" + base_icon_state = "hfrequency" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + name = "vibro sword" + desc = "A potent weapon capable of cutting through nearly anything. Wielding it in two hands will allow you to deflect gunfire." + armour_penetration = 100 + block_chance = 30 + force = 20 + throwforce = 20 + throw_speed = 4 + sharpness = IS_SHARP + attack_verb = list("cut", "sliced", "diced") + slot_flags = ITEM_SLOT_BACK + hitsound = 'sound/weapons/bladeslice.ogg' + +/obj/item/melee/sword/vibro/ComponentInitialize() + . = ..() + AddComponent(/datum/component/butchering, 20, 105) + AddComponent(/datum/component/two_handed, force_multiplier=2, icon_wielded="[base_icon_state]1") + +/obj/item/melee/sword/vibro/update_icon_state() + icon_state = "[base_icon_state]0" + return ..() + +/obj/item/melee/sword/vibro/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) + if(HAS_TRAIT(src, TRAIT_WIELDED)) + final_block_chance *= 2 + if(HAS_TRAIT(src, TRAIT_WIELDED) || attack_type != PROJECTILE_ATTACK) + if(prob(final_block_chance)) + if(attack_type == PROJECTILE_ATTACK) + owner.visible_message("[owner] deflects [attack_text] with [src]!") + playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) + return 1 + else + owner.visible_message("[owner] parries [attack_text] with [src]!") + return 1 + return 0 + +/obj/item/melee/sword/weebstick + name = "Weeb Stick" + desc = "Glorious nippon steel, folded 1000 times." + icon_state = "weeb_blade" + item_state = "weeb_blade" + slot_flags = ITEM_SLOT_BACK + sharpness = IS_SHARP_ACCURATE + force = 25 + throw_speed = 4 + throw_range = 5 + throwforce = 12 + block_chance = 20 + armour_penetration = 50 + hitsound = 'sound/weapons/anime_slash.ogg' + +/obj/item/melee/sword/weebstick/Initialize() + . = ..() + AddComponent(/datum/component/butchering, 25, 90, 5) //Not made for scalping victims, but will work nonetheless + +/obj/item/melee/sword/weebstick/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) + if(attack_type == PROJECTILE_ATTACK) + final_block_chance = block_chance / 2 //Pretty good... + return ..() + +/obj/item/melee/sword/weebstick/on_exit_storage(datum/component/storage/concrete/S) + var/obj/item/storage/belt/weebstick/B = S.real_location() + if(istype(B)) + playsound(B, 'sound/items/unsheath.ogg', 25, TRUE) + +/obj/item/melee/sword/weebstick/on_enter_storage(datum/component/storage/concrete/S) + var/obj/item/storage/belt/weebstick/B = S.real_location() + if(istype(B)) + playsound(B, 'sound/items/sheath.ogg', 25, TRUE) + +/obj/item/storage/belt/weebstick + name = "nanoforged blade sheath" + desc = "It yearns to bath in the blood of your enemies... but you hold it back!" + icon = 'icons/obj/weapon/sword.dmi' + icon_state = "weeb_sheath" + item_state = "sheath" + force = 3 + var/primed = FALSE //Prerequisite to anime bullshit + // ##The anime bullshit## - Mostly stolen from action/innate/dash + var/dash_sound = 'sound/weapons/unsheathed_blade.ogg' + var/beam_effect = "blood_beam" + var/phasein = /obj/effect/temp_visual/dir_setting/cult/phase + var/phaseout = /obj/effect/temp_visual/dir_setting/cult/phase + +/obj/item/storage/belt/weebstick/ComponentInitialize() + . = ..() + AddElement(/datum/element/update_icon_updates_onmob) + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = 1 + STR.use_sound = null + STR.max_w_class = WEIGHT_CLASS_BULKY + STR.set_holdable(list( + /obj/item/melee/sword/weebstick + )) + +/obj/item/storage/belt/weebstick/examine(mob/user) + . = ..() + if(length(contents)) + . += "Use [src] in-hand to prime for an opening strike." + . += "Alt-click it to quickly draw the blade." + +/obj/item/storage/belt/weebstick/AltClick(mob/user) + if(!iscarbon(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)) || primed) + return + if(length(contents)) + var/obj/item/I = contents[1] + playsound(user, dash_sound, 25, TRUE) + user.visible_message("[user] swiftly draws \the [I].", "You draw \the [I].") + user.put_in_hands(I) + update_appearance() + else + to_chat(user, "[src] is empty!") + +/obj/item/storage/belt/weebstick/attack_self(mob/user) + if(!iscarbon(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) + return + if(length(contents)) + var/datum/component/storage/CP = GetComponent(/datum/component/storage) + if(primed) + CP.locked = FALSE + playsound(user, 'sound/items/sheath.ogg', 25, TRUE) + to_chat(user, "You return your stance.") + primed = FALSE + update_appearance() + else + CP.locked = TRUE //Prevents normal removal of the blade while primed + playsound(user, 'sound/items/unsheath.ogg', 25, TRUE) + user.visible_message("[user] grips the blade within [src] and primes to attack.", "You take an opening stance...", "You hear a weapon being drawn...") + primed = TRUE + update_appearance() + else + to_chat(user, "[src] is empty!") + +/obj/item/storage/belt/weebstick/afterattack(atom/A, mob/living/user, proximity_flag, params) + . = ..() + if(primed && length(contents)) + if(!(A in view(user.client.view, user))) + return + var/obj/item/I = contents[1] + if(!user.put_in_inactive_hand(I)) + to_chat(user, "You need a free hand!") + return + var/datum/component/storage/CP = GetComponent(/datum/component/storage) + CP.locked = FALSE + primed = FALSE + update_appearance() + primed_attack(A, user) + if(CanReach(A, I)) + I.melee_attack_chain(user, A, params) + user.swap_hand() + +/obj/item/storage/belt/weebstick/proc/primed_attack(atom/target, mob/living/user) + var/turf/end = get_turf(user) + var/turf/start = get_turf(user) + var/obj/spot1 = new phaseout(start, user.dir) + var/halt = FALSE + // Stolen dash code + for(var/T in getline(start, get_turf(target))) + var/turf/tile = T + for(var/mob/living/victim in tile) + if(victim != user) + playsound(victim, 'sound/weapons/anime_slash.ogg', 10, TRUE) + victim.take_bodypart_damage(15) + // Unlike actual ninjas, we stop noclip-dashing here. + if(isclosedturf(T)) + halt = TRUE + for(var/obj/O in tile) + // We ignore mobs as we are cutting through them + if(!O.CanPass(user, tile)) + halt = TRUE + if(halt) + break + else + end = T + user.forceMove(end) // YEET + playsound(start, dash_sound, 35, TRUE) + var/obj/spot2 = new phasein(end, user.dir) + spot1.Beam(spot2, beam_effect, time=20) + user.visible_message("In a flash of red, [user] draws [user.p_their()] blade!", "You dash forward while drawing your weapon!", "You hear a blade slice through the air at impossible speeds!") + +/obj/item/storage/belt/weebstick/update_icon_state() + icon_state = "weeb_sheath" + item_state = "sheath" + if(contents.len) + if(primed) + icon_state += "-primed" + else + icon_state += "-blade" + item_state += "-sabre" + return ..() + +/obj/item/storage/belt/weebstick/PopulateContents() + //Time to generate names now that we have the sword + var/n_title = pick(GLOB.ninja_titles) + var/n_name = pick(GLOB.ninja_names) + var/obj/item/melee/sword/weebstick/sword = new /obj/item/melee/sword/weebstick(src) + sword.name = "[n_title] blade of clan [n_name]" + name = "[n_title] scabbard of clan [n_name]" + update_appearance() diff --git a/code/game/objects/items/teleprod.dm b/code/game/objects/items/melee/teleprod.dm similarity index 100% rename from code/game/objects/items/teleprod.dm rename to code/game/objects/items/melee/teleprod.dm diff --git a/code/game/objects/items/melee/transforming.dm b/code/game/objects/items/melee/transforming.dm deleted file mode 100644 index 8059e021b8f..00000000000 --- a/code/game/objects/items/melee/transforming.dm +++ /dev/null @@ -1,88 +0,0 @@ -/obj/item/melee/transforming - sharpness = IS_SHARP - stealthy_audio = TRUE //Most of these are antag weps so we dont want them to be /too/ overt. - var/active = FALSE - var/force_on = 30 //force when active - var/faction_bonus_force = 0 //Bonus force dealt against certain factions - var/throwforce_on = 20 - var/icon_state_on = "axe1" - var/hitsound_on = 'sound/weapons/blade1.ogg' - var/list/attack_verb_on = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - var/list/attack_verb_off = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - w_class = WEIGHT_CLASS_SMALL - var/bonus_active = FALSE //If the faction damage bonus is active - var/list/nemesis_factions //Any mob with a faction that exists in this list will take bonus damage/effects - var/w_class_on = WEIGHT_CLASS_BULKY - var/clumsy_check = TRUE - -/obj/item/melee/transforming/Initialize() - . = ..() - if(active) - if(attack_verb_on.len) - attack_verb = attack_verb_on - else - if(attack_verb_off.len) - attack_verb = attack_verb_off - if(embedding) - updateEmbedding() - if(sharpness) - AddComponent(/datum/component/butchering, 50, 100, 0, hitsound) - -/obj/item/melee/transforming/attack_self(mob/living/carbon/user) - if(transform_weapon(user)) - clumsy_transform_effect(user) - -/obj/item/melee/transforming/attack(mob/living/target, mob/living/carbon/human/user) - var/nemesis_faction = FALSE - if(LAZYLEN(nemesis_factions)) - for(var/F in target.faction) - if(F in nemesis_factions) - nemesis_faction = TRUE - force += faction_bonus_force - nemesis_effects(user, target) - break - . = ..() - if(nemesis_faction) - force -= faction_bonus_force - -/obj/item/melee/transforming/proc/transform_weapon(mob/living/user, supress_message_text) - active = !active - if(active) - force = force_on - throwforce = throwforce_on - hitsound = hitsound_on - throw_speed = 4 - if(attack_verb_on.len) - attack_verb = attack_verb_on - icon_state = icon_state_on - w_class = w_class_on - if(embedding) - updateEmbedding() - else - force = initial(force) - throwforce = initial(throwforce) - hitsound = initial(hitsound) - throw_speed = initial(throw_speed) - if(attack_verb_off.len) - attack_verb = attack_verb_off - icon_state = initial(icon_state) - w_class = initial(w_class) - if(embedding) - disableEmbedding() - - transform_messages(user, supress_message_text) - add_fingerprint(user) - return TRUE - -/obj/item/melee/transforming/proc/nemesis_effects(mob/living/user, mob/living/target) - return - -/obj/item/melee/transforming/proc/transform_messages(mob/living/user, supress_message_text) - playsound(user, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 35, TRUE) //changed it from 50% volume to 35% because deafness - if(!supress_message_text) - to_chat(user, "[src] [active ? "is now active":"can now be concealed"].") - -/obj/item/melee/transforming/proc/clumsy_transform_effect(mob/living/user) - if(clumsy_check && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) - to_chat(user, "You accidentally cut yourself with [src], like a doofus!") - user.take_bodypart_damage(5,5) diff --git a/code/game/objects/items/melee/trickweapon.dm b/code/game/objects/items/melee/trickweapon.dm new file mode 100644 index 00000000000..af574085a15 --- /dev/null +++ b/code/game/objects/items/melee/trickweapon.dm @@ -0,0 +1,69 @@ +/obj/item/melee/cleaving_saw + name = "cleaving saw" + desc = "This saw, effective at drawing the blood of beasts, transforms into a long cleaver that makes use of centrifugal force." + force = 12 + var/active_force = 20 //force when active + throwforce = 20 + var/active_throwforce = 20 + icon = 'icons/obj/lavaland/artefacts.dmi' + lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi' + righthand_file = 'icons/mob/inhands/64x64_righthand.dmi' + inhand_x_dimension = 64 + inhand_y_dimension = 64 + icon_state = "cleaving_saw" + item_state = "cleaving_saw" + slot_flags = ITEM_SLOT_BELT + attack_verb = list("attacked", "sawed", "sliced", "torn", "ripped", "diced", "cut") + hitsound = 'sound/weapons/bladeslice.ogg' + sharpness = IS_SHARP + + var/transform_cooldown + var/swiping = FALSE + var/bleed_stacks_per_hit = 3 + +/obj/item/melee/cleaving_saw/Initialize(mapload) + . = ..() + AddElement(/datum/element/update_icon_updates_onmob) + AddComponent(/datum/component/butchering, 50, 100, 0, hitsound) + AddComponent( \ + /datum/component/transforming, \ + transform_cooldown_time = (CLICK_CD_MELEE * 0.25), \ + force_on = active_force, \ + throwforce_on = active_throwforce, \ + attack_verb_on = list("cleave", "swipe", "slash", "chop"), \ + ) + RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) + +/obj/item/melee/cleaving_saw/examine(mob/user) + . = ..() + . += span_notice("It is [HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE) ? "open, will cleave enemies in a wide arc and deal additional damage to fauna":"closed, and can be used for rapid consecutive attacks that cause fauna to bleed"].") + . += span_notice("Both modes will build up existing bleed effects, doing a burst of high damage if the bleed is built up high enough.") + . += span_notice("Transforming it immediately after an attack causes the next attack to come out faster.") + +/obj/item/melee/cleaving_saw/proc/on_transform(obj/item/source, mob/user, active) + SIGNAL_HANDLER + user.changeNext_move(CLICK_CD_MELEE * 0.25) + if(user) + balloon_alert(user, "[active ? "opened" : "closed"] [src]") + playsound(user, 'sound/magic/clockwork/fellowship_armory.ogg', 35, TRUE, frequency = 90000 - (active * 30000)) + return COMPONENT_NO_DEFAULT_MESSAGE + +/obj/item/melee/cleaving_saw/melee_attack_chain(mob/user, atom/target, params) + . = ..() + if(!HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) + user.changeNext_move(CLICK_CD_MELEE * 0.5) //when closed, it attacks very rapidly + +/obj/item/melee/cleaving_saw/attack(mob/living/target, mob/living/carbon/human/user) + if(!HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE) || swiping || !target.density || get_turf(target) == get_turf(user)) + ..() + else + var/turf/user_turf = get_turf(user) + var/dir_to_target = get_dir(user_turf, get_turf(target)) + swiping = TRUE + var/static/list/cleaving_saw_cleave_angles = list(0, -45, 45) //so that the animation animates towards the target clicked and not towards a side target + for(var/i in cleaving_saw_cleave_angles) + var/turf/T = get_step(user_turf, turn(dir_to_target, i)) + for(var/mob/living/L in T) + if(user.Adjacent(L) && L.density) + melee_attack_chain(user, L) + swiping = FALSE diff --git a/code/game/objects/items/melee/weaponry.dm b/code/game/objects/items/melee/weaponry.dm new file mode 100644 index 00000000000..131e5e1aab2 --- /dev/null +++ b/code/game/objects/items/melee/weaponry.dm @@ -0,0 +1,119 @@ + + +/obj/item/wirerod + name = "wired rod" + desc = "A rod with some wire wrapped around the top. It'd be easy to attach something to the top bit." + icon = 'icons/obj/weapon/spear.dmi' + icon_state = "wiredrod" + item_state = "rods" + flags_1 = CONDUCT_1 + force = 9 + throwforce = 10 + w_class = WEIGHT_CLASS_NORMAL + custom_materials = list(/datum/material/iron=1150, /datum/material/glass=75) + attack_verb = list("hit", "bludgeoned", "whacked", "bonked") + +/obj/item/wirerod/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/shard)) + var/obj/item/melee/spear/S = new /obj/item/melee/spear + + remove_item_from_storage(user) + if (!user.transferItemToLoc(I, S)) + return + S.CheckParts(list(I)) + qdel(src) + + user.put_in_hands(S) + to_chat(user, "You fasten the glass shard to the top of the rod with the cable.") + + else if(istype(I, /obj/item/assembly/igniter) && !(HAS_TRAIT(I, TRAIT_NODROP))) + var/obj/item/melee/baton/cattleprod/P = new /obj/item/melee/baton/cattleprod + + remove_item_from_storage(user) + + to_chat(user, "You fasten [I] to the top of the rod with the cable.") + + qdel(I) + qdel(src) + + user.put_in_hands(P) + else + return ..() + +/obj/item/throwing_star + name = "throwing star" + desc = "An ancient weapon still used to this day, due to its ease of lodging itself into its victim's body parts." + icon_state = "throwingstar" + item_state = "eshield0" + lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi' + force = 2 + throwforce = 20 //20 + 2 (WEIGHT_CLASS_SMALL) * 4 (EMBEDDED_IMPACT_PAIN_MULTIPLIER) = 28 damage on hit due to guaranteed embedding + throw_speed = 4 + embedding = list("pain_mult" = 4, "embed_chance" = 100, "fall_chance" = 0, "embed_chance_turf_mod" = 15) + armour_penetration = 40 + + w_class = WEIGHT_CLASS_SMALL + sharpness = IS_SHARP + custom_materials = list(/datum/material/iron=500, /datum/material/glass=500) + resistance_flags = FIRE_PROOF + +/obj/item/throwing_star/stamina + name = "shock throwing star" + desc = "An aerodynamic disc designed to cause excruciating pain when stuck inside fleeing targets, hopefully without causing fatal harm." + throwforce = 5 + embedding = list("pain_chance" = 5, "embed_chance" = 100, "fall_chance" = 0, "jostle_chance" = 10, "pain_stam_pct" = 0.8, "jostle_pain_mult" = 3) + +/obj/item/throwing_star/toy + name = "toy throwing star" + desc = "An aerodynamic disc strapped with adhesive for sticking to people, good for playing pranks and getting yourself killed by security." + sharpness = IS_BLUNT + force = 0 + throwforce = 0 + embedding = list("pain_mult" = 0, "jostle_pain_mult" = 0, "embed_chance" = 100, "fall_chance" = 0) + +/obj/item/throwing_star/magspear + name = "magnetic spear" + desc = "A reusable spear that is typically loaded into kinetic spearguns." + icon = 'icons/obj/ammunition/ammo_bullets.dmi' + icon_state = "magspear" + throwforce = 25 //kills regular carps in one hit + force = 10 + throw_range = 0 //throwing these invalidates the speargun + attack_verb = list("stabbed", "ripped", "gored", "impaled") + embedding = list("pain_mult" = 8, "embed_chance" = 100, "fall_chance" = 0, "impact_pain_mult" = 15) //55 damage+embed on hit + +/obj/item/mounted_chainsaw + name = "mounted chainsaw" + desc = "A chainsaw that has replaced your arm." + icon_state = "chainsaw_on" + item_state = "mounted_chainsaw" + lefthand_file = 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' + item_flags = ABSTRACT | DROPDEL + w_class = WEIGHT_CLASS_HUGE + force = 24 + throwforce = 0 + throw_range = 0 + throw_speed = 0 + sharpness = IS_SHARP + attack_verb = list("sawed", "torn", "cut", "chopped", "diced") + hitsound = 'sound/weapons/chainsawhit.ogg' + tool_behaviour = TOOL_SAW + toolspeed = 1 + +/obj/item/mounted_chainsaw/Initialize() + . = ..() + ADD_TRAIT(src, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT) + +/obj/item/mounted_chainsaw/Destroy() + var/obj/item/bodypart/part + new /obj/item/chainsaw(get_turf(src)) + if(iscarbon(loc)) + var/mob/living/carbon/holder = loc + var/index = holder.get_held_index_of_item(src) + if(index) + part = holder.hand_bodyparts[index] + . = ..() + if(part) + part.drop_limb() diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm index 0f5d79f13b3..03f3797c4c4 100644 --- a/code/game/objects/items/miscellaneous.dm +++ b/code/game/objects/items/miscellaneous.dm @@ -13,11 +13,10 @@ attack_verb = list("warned", "cautioned", "smashed") /obj/item/choice_beacon - name = "choice beacon" - desc = "Hey, why are you viewing this?!! Please let CentCom know about this odd occurrence." - icon = 'icons/obj/device.dmi' - icon_state = "gangtool-blue" - item_state = "radio" + name = "choice box" + desc = "A box containing items to choose." + icon = 'icons/obj/storage.dmi' + icon_state = "deliverypackage3" var/uses = 1 /obj/item/choice_beacon/attack_self(mob/user) @@ -31,41 +30,31 @@ if(user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return TRUE else - playsound(src, 'sound/machines/buzz-sigh.ogg', 40, TRUE) return FALSE /obj/item/choice_beacon/proc/generate_options(mob/living/M) var/list/display_names = generate_display_names() if(!display_names.len) return - var/choice = input(M,"Which item would you like to order?","Select an Item") as null|anything in sortList(display_names) + var/choice = input(M,"Which item would you like to pick?","Select an Item") as null|anything in sortList(display_names) if(!choice || !M.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return spawn_option(display_names[choice],M) uses-- if(!uses) + new /obj/effect/decal/cleanable/wrapping(get_turf(M)) qdel(src) else to_chat(M, "[uses] use[uses > 1 ? "s" : ""] remaining on the [src].") /obj/item/choice_beacon/proc/spawn_option(obj/choice,mob/living/M) - var/obj/new_item = new choice() - var/obj/structure/closet/supplypod/bluespacepod/pod = new() - pod.explosionSize = list(0,0,0,0) - new_item.forceMove(pod) - var/msg = "After making your selection, you notice a strange target on the ground. It might be best to step back!" - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(istype(H.ears, /obj/item/radio/headset)) - msg = "You hear something crackle in your ears for a moment before a voice speaks. \"Please stand by for a message from Central Command. Message as follows: Item request received. Your package is inbound, please stand back from the landing site. Message ends.\"" - to_chat(M, msg) - - new /obj/effect/pod_landingzone(get_turf(src), pod) + new choice(get_turf(M)) + playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, TRUE) /obj/item/choice_beacon/hero - name = "heroic beacon" - desc = "To summon heroes from the past to protect the future." + name = "heroic box" + desc = "To become heroes from the past to protect the future." /obj/item/choice_beacon/hero/generate_display_names() var/static/list/hero_item_list @@ -105,7 +94,7 @@ /obj/item/storage/box/hero/scottish/PopulateContents() new /obj/item/clothing/under/costume/kilt(src) - new /obj/item/claymore/weak/ceremonial(src) + new /obj/item/melee/sword/claymore(src) new /obj/item/toy/crayon/spraycan(src) new /obj/item/clothing/shoes/sandal(src) @@ -116,7 +105,7 @@ /obj/item/storage/box/hero/carphunter/PopulateContents() new /obj/item/clothing/suit/space/hardsuit/carp/old(src) new /obj/item/clothing/mask/gas/carp(src) - new /obj/item/kitchen/knife/hunting(src) + new /obj/item/melee/knife/hunting(src) new /obj/item/storage/box/papersack/meat(src) new /obj/item/fishing_rod(src) new /obj/item/fishing_line(src) @@ -127,18 +116,16 @@ /obj/item/storage/box/hero/ghostbuster/PopulateContents() new /obj/item/choice_beacon/ouija(src) - new /obj/item/clothing/glasses/welding/ghostbuster(src) new /obj/item/storage/belt/fannypack/bustin(src) new /obj/item/clothing/gloves/color/black(src) new /obj/item/clothing/shoes/jackboots(src) - new /obj/item/clothing/under/color/khaki/buster(src) new /obj/item/grenade/chem_grenade/ghostbuster(src) new /obj/item/grenade/chem_grenade/ghostbuster(src) new /obj/item/grenade/chem_grenade/ghostbuster(src) /obj/item/choice_beacon/augments - name = "augment beacon" - desc = "Summons augmentations. Can be used 3 times!" + name = "augment box" + desc = "Contains augmentations. Can be used 3 times!" uses = 3 /obj/item/choice_beacon/augments/generate_display_names() @@ -157,14 +144,9 @@ augment_list[initial(A.name)] = A return augment_list -/obj/item/choice_beacon/augments/spawn_option(obj/choice,mob/living/M) - new choice(get_turf(M)) - to_chat(M, "You hear something crackle from the beacon for a moment before a voice speaks. \"Please stand by for a message from S.E.L.F. Message as follows: Item request received. Your package has been transported, use the autosurgeon supplied to apply the upgrade. Message ends.\"") - /obj/item/skub desc = "It's skub." name = "skub" - icon = 'icons/obj/items_and_weapons.dmi' icon_state = "skub" w_class = WEIGHT_CLASS_BULKY attack_verb = list("skubbed") @@ -217,8 +199,10 @@ #undef NICKNAME_CAP /obj/item/choice_beacon/ouija - name = "spirit board delivery beacon" + name = "spirit board box" desc = "Ghost communication on demand! It is unclear how this thing is still operational." + icon_state = "deliverybox" + w_class = WEIGHT_CLASS_BULKY /obj/item/choice_beacon/ouija/generate_display_names() var/static/list/ouija_spaghetti_list @@ -230,17 +214,6 @@ ouija_spaghetti_list[initial(A.name)] = A return ouija_spaghetti_list -/obj/structure/legionpike - name = "legion on a spear" - desc = "EXTREME interior decorating. You can feel it watching you." - icon = 'icons/obj/structures.dmi' - icon_state = "headpike-legion" - density = FALSE - anchored = TRUE - light_color = "#8B0000" - light_power = 2 - light_range = 2 - //rare and valulable gems- designed to eventually be used for archeology, or to be given as opposed to money as loot. Auctioned off at export, or kept as a trophy. /obj/item/gem/rupee name = "\improper Ruperium Crystal" @@ -295,3 +268,283 @@ light_power = 1 light_color = "#4785a4" w_class = WEIGHT_CLASS_SMALL + +/obj/item/phone + name = "red phone" + desc = "Should anything ever go wrong..." + icon_state = "red_phone" + force = 3 + throwforce = 2 + throw_speed = 3 + throw_range = 4 + w_class = WEIGHT_CLASS_SMALL + attack_verb = list("called", "rang") + hitsound = 'sound/weapons/ring.ogg' + +/obj/item/roastingstick + name = "advanced roasting stick" + desc = "A telescopic roasting stick with a miniature shield generator designed to ensure entry into various high-tech shielded cooking ovens and firepits." + icon_state = "roastingstick_0" + item_state = "null" + slot_flags = ITEM_SLOT_BELT + w_class = WEIGHT_CLASS_SMALL + item_flags = NONE + force = 0 + attack_verb = list("hit", "poked") + var/obj/item/reagent_containers/food/snacks/sausage/held_sausage + var/static/list/ovens + var/on = FALSE + var/datum/beam/beam + +/obj/item/roastingstick/Initialize() + . = ..() + if (!ovens) + ovens = typecacheof(list(/obj/singularity, /obj/machinery/power/supermatter_crystal, /obj/structure/bonfire)) + +/obj/item/roastingstick/attack_self(mob/user) + on = !on + if(on) + extend(user) + else + if (held_sausage) + to_chat(user, "You can't retract [src] while [held_sausage] is attached!") + return + retract(user) + + playsound(src.loc, 'sound/weapons/batonextend.ogg', 50, TRUE) + add_fingerprint(user) + +/obj/item/roastingstick/attackby(atom/target, mob/user) + ..() + if (istype(target, /obj/item/reagent_containers/food/snacks/sausage)) + if (!on) + to_chat(user, "You must extend [src] to attach anything to it!") + return + if (held_sausage) + to_chat(user, "[held_sausage] is already attached to [src]!") + return + if (user.transferItemToLoc(target, src)) + held_sausage = target + else + to_chat(user, "[target] doesn't seem to want to get on [src]!") + update_appearance() + +/obj/item/roastingstick/attack_hand(mob/user) + ..() + if (held_sausage) + user.put_in_hands(held_sausage) + held_sausage = null + update_appearance() + +/obj/item/roastingstick/update_overlays() + . = ..() + if (held_sausage) + . += mutable_appearance(icon, "roastingstick_sausage") + +/obj/item/roastingstick/proc/extend(user) + to_chat(user, "You extend [src].") + icon_state = "roastingstick_1" + item_state = "nullrod" + w_class = WEIGHT_CLASS_BULKY + +/obj/item/roastingstick/proc/retract(user) + to_chat(user, "You collapse [src].") + icon_state = "roastingstick_0" + item_state = null + w_class = WEIGHT_CLASS_SMALL + +/obj/item/roastingstick/handle_atom_del(atom/target) + if (target == held_sausage) + held_sausage = null + update_appearance() + +/obj/item/roastingstick/afterattack(atom/target, mob/user, proximity) + . = ..() + if (!on) + return + if (is_type_in_typecache(target, ovens)) + if (held_sausage && held_sausage.roasted) + to_chat(src, "Your [held_sausage] has already been cooked!") + return + if (istype(target, /obj/singularity) && get_dist(user, target) < 10) + to_chat(user, "You send [held_sausage] towards [target].") + playsound(src, 'sound/items/rped.ogg', 50, TRUE) + beam = user.Beam(target,icon_state="rped_upgrade",time=100) + else if (user.Adjacent(target)) + to_chat(user, "You extend [src] towards [target].") + playsound(src.loc, 'sound/weapons/batonextend.ogg', 50, TRUE) + else + return + if(do_after(user, 100, target = user)) + finish_roasting(user, target) + else + QDEL_NULL(beam) + playsound(src, 'sound/weapons/batonextend.ogg', 50, TRUE) + +/obj/item/roastingstick/proc/finish_roasting(user, atom/target) + to_chat(user, "You finish roasting [held_sausage].") + playsound(src,'sound/items/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() + +/obj/item/skateboard + name = "improvised skateboard" + desc = "A skateboard. It can be placed on its wheels and ridden, or used as a strong weapon." + icon_state = "skateboard" + item_state = "skateboard" + force = 12 + throwforce = 4 + w_class = WEIGHT_CLASS_NORMAL + attack_verb = list("smacked", "whacked", "slammed", "smashed") + ///The vehicle counterpart for the board + var/board_item_type = /obj/vehicle/ridden/scooter/skateboard + +/obj/item/skateboard/attack_self(mob/user) + var/obj/vehicle/ridden/scooter/skateboard/S = new board_item_type(get_turf(user))//this probably has fucky interactions with telekinesis but for the record it wasnt my fault + S.buckle_mob(user) + qdel(src) + +/obj/item/skateboard/pro + name = "skateboard" + desc = "A RaDSTORMz brand professional skateboard. It looks sturdy and well made." + icon_state = "skateboard2" + item_state = "skateboard2" + board_item_type = /obj/vehicle/ridden/scooter/skateboard/pro + custom_premium_price = 500 + +/obj/item/skateboard/hoverboard + name = "hoverboard" + desc = "A blast from the past, so retro!" + icon_state = "hoverboard_red" + item_state = "hoverboard_red" + board_item_type = /obj/vehicle/ridden/scooter/skateboard/hoverboard + custom_premium_price = 2015 + +/obj/item/skateboard/hoverboard/admin + name = "\improper Board Of Directors" + desc = "The engineering complexity of a spaceship concentrated inside of a board. Just as expensive, too." + icon_state = "hoverboard_nt" + item_state = "hoverboard_nt" + board_item_type = /obj/vehicle/ridden/scooter/skateboard/hoverboard/admin + +/obj/item/statuebust + name = "bust" + desc = "A priceless ancient marble bust, the kind that belongs in a museum." //or you can hit people with it + icon = 'icons/obj/statue.dmi' + icon_state = "bust" + force = 15 + throwforce = 10 + throw_speed = 5 + throw_range = 2 + attack_verb = list("busted") + var/impressiveness = 45 + +/obj/item/statuebust/Initialize() + . = ..() + AddComponent(/datum/component/art, impressiveness) + AddElement(/datum/element/beauty, 1000) + +/obj/item/statuebust/hippocratic + name = "hippocrates bust" + desc = "A bust of the famous Greek physician Hippocrates of Kos, often referred to as the father of western medicine." + icon_state = "hippocratic" + impressiveness = 50 + +/obj/item/extendohand + name = "extendo-hand" + desc = "Futuristic tech has allowed these classic spring-boxing toys to essentially act as a fully functional hand-operated hand prosthetic." + icon_state = "extendohand" + item_state = "extendohand" + lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' + force = 0 + throwforce = 5 + reach = 2 + var/min_reach = 2 + +/obj/item/extendohand/acme + name = "\improper ACME Extendo-Hand" + desc = "A novelty extendo-hand produced by the ACME corporation. Originally designed to knock out roadrunners." + +/obj/item/extendohand/attack(atom/M, mob/living/carbon/human/user) + var/dist = get_dist(M, user) + if(dist < min_reach) + to_chat(user, "[M] is too close to use [src] on.") + return + M.attack_hand(user) + +/obj/item/gohei + name = "gohei" + desc = "A wooden stick with white streamers at the end. Originally used by shrine maidens to purify things." + force = 5 + throwforce = 5 + hitsound = "swing_hit" + attack_verb = list("whacked", "thwacked", "walloped", "socked") + icon_state = "gohei" + item_state = "gohei" + lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' + +/obj/item/ectoplasm + name = "ectoplasm" + desc = "Spooky." + gender = PLURAL + icon = 'icons/obj/wizard.dmi' + icon_state = "ectoplasm" + +/obj/item/ectoplasm/angelic + icon = 'icons/obj/wizard.dmi' + icon_state = "angelplasm" + +/obj/item/cane + name = "cane" + desc = "A cane used by a true gentleman." + icon = 'icons/obj/items.dmi' + icon_state = "cane" + item_state = "stick" + lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' + force = 5 + throwforce = 5 + w_class = WEIGHT_CLASS_SMALL + custom_materials = list(/datum/material/iron=50) + attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") + +/obj/item/staff + name = "wizard staff" + desc = "Apparently a staff used by the wizard." + icon = 'icons/obj/wizard.dmi' + icon_state = "staff" + lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' + force = 3 + throwforce = 5 + throw_speed = 2 + throw_range = 5 + w_class = WEIGHT_CLASS_SMALL + armour_penetration = 100 + attack_verb = list("bludgeoned", "whacked", "disciplined") + resistance_flags = FLAMMABLE + +/obj/item/staff/broom + name = "broom" + desc = "Used for sweeping, and flying into the night while cackling. Black cat not included." + icon = 'icons/obj/wizard.dmi' + icon_state = "broom" + resistance_flags = FLAMMABLE + +/obj/item/staff/stick + name = "stick" + desc = "A great tool to drag someone else's drinks across the bar." + icon = 'icons/obj/items.dmi' + icon_state = "cane" + item_state = "stick" + lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' + force = 3 + throwforce = 5 + throw_speed = 2 + throw_range = 5 + w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/paint.dm b/code/game/objects/items/paint.dm index 5aff78b5561..9e314d848e3 100644 --- a/code/game/objects/items/paint.dm +++ b/code/game/objects/items/paint.dm @@ -5,7 +5,6 @@ gender= PLURAL name = "paint" desc = "Used to recolor floors and walls. Can be removed by the janitor." - icon = 'icons/obj/items_and_weapons.dmi' icon_state = "paint_neutral" var/paint_color = "FFFFFF" item_state = "paintcan" diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index a08b1398aad..0882034b165 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -31,13 +31,13 @@ /obj/item/pet_carrier/Exited(atom/movable/occupant) . = ..() - if(occupant in occupants && isliving(occupant)) + if((occupant in occupants) && isliving(occupant)) var/mob/living/L = occupant occupants -= occupant occupant_weight -= L.mob_size /obj/item/pet_carrier/handle_atom_del(atom/A) - if(A in occupants && isliving(A)) + if((A in occupants) && isliving(A)) var/mob/living/L = A occupants -= L occupant_weight -= L.mob_size @@ -178,7 +178,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/pitchfork.dm b/code/game/objects/items/pitchfork.dm deleted file mode 100644 index 05183ed479d..00000000000 --- a/code/game/objects/items/pitchfork.dm +++ /dev/null @@ -1,102 +0,0 @@ -/obj/item/pitchfork - icon_state = "pitchfork0" - base_icon_state = "pitchfork" - lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' - name = "pitchfork" - desc = "A simple tool used for moving hay." - force = 7 - throwforce = 15 - w_class = WEIGHT_CLASS_BULKY - attack_verb = list("attacked", "impaled", "pierced") - hitsound = 'sound/weapons/bladeslice.ogg' - sharpness = IS_SHARP - max_integrity = 200 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) - resistance_flags = FIRE_PROOF - var/wielded = FALSE // track wielded status on item - -/obj/item/pitchfork/Initialize() - . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) - -/obj/item/pitchfork/ComponentInitialize() - . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=7, force_wielded=15, icon_wielded="[base_icon_state]1") - -/// triggered on wield of two handed item -/obj/item/pitchfork/proc/on_wield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = TRUE - -/// triggered on unwield of two handed item -/obj/item/pitchfork/proc/on_unwield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = FALSE - -/obj/item/pitchfork/update_icon_state() - icon_state = "[base_icon_state]0" - return ..() - -/obj/item/pitchfork/demonic - name = "demonic pitchfork" - desc = "A red pitchfork, it looks like the work of the devil." - force = 19 - throwforce = 24 - light_system = MOVABLE_LIGHT - light_range = 3 - light_power = 6 - light_color = COLOR_SOFT_RED - - -/obj/item/pitchfork/demonic/ComponentInitialize() - . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=19, force_wielded=25) - -/obj/item/pitchfork/demonic/greater - force = 24 - throwforce = 50 - -/obj/item/pitchfork/demonic/greater/ComponentInitialize() - . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=24, force_wielded=34) - -/obj/item/pitchfork/demonic/ascended - force = 100 - throwforce = 100 - -/obj/item/pitchfork/demonic/ascended/ComponentInitialize() - . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=100, force_wielded=500000) // Kills you DEAD - -/obj/item/pitchfork/demonic/pickup(mob/living/user) - . = ..() - if(isliving(user) && user.mind && user.owns_soul() && !is_devil(user)) - var/mob/living/U = user - U.visible_message("As [U] picks [src] up, [U]'s arms briefly catch fire.", \ - "\"As you pick up [src] your arms ignite, reminding you of all your past sins.\"") - if(ishuman(U)) - var/mob/living/carbon/human/H = U - H.apply_damage(rand(force/2, force), BURN, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) - else - U.adjustFireLoss(rand(force/2,force)) - -/obj/item/pitchfork/demonic/attack(mob/target, mob/living/carbon/human/user) - if(user.mind && user.owns_soul() && !is_devil(user)) - to_chat(user, "[src] burns in your hands.") - user.apply_damage(rand(force/2, force), BURN, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) - ..() - -/obj/item/pitchfork/demonic/ascended/afterattack(atom/target, mob/user, proximity) - . = ..() - if(!proximity || !wielded) - return - if(iswallturf(target)) - var/turf/closed/wall/W = target - user.visible_message("[user] blasts \the [target] with \the [src]!") - playsound(target, 'sound/magic/disintegrate.ogg', 100, TRUE) - W.dismantle_wall(devastated = FALSE) - return diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index a6ef402ecad..dd00d3abd1f 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -38,7 +38,7 @@ . = ..() if(should_squeak) AddComponent(/datum/component/squeak, squeak_override) - AddElement(/datum/element/bed_tuckable, 6, -5, 90) + AddElement(/datum/element/bed_tuckable, 6, -5, 90, FALSE, FALSE) //have we decided if Pinocchio goes in the blue or pink aisle yet? if(gender == NEUTER) diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index 060e59f0f5d..9122be0a5d6 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -11,8 +11,8 @@ icon = 'icons/obj/pneumaticCannon.dmi' icon_state = "pneumaticCannon" item_state = "bulldog" - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 50) var/maxWeightClass = 20 //The max weight of items that can fit into the cannon var/loadedWeightClass = 0 //The weight of items currently in the cannon @@ -326,23 +326,3 @@ /obj/item/pneumatic_cannon/speargun/Initialize() . = ..() allowed_typecache = magspear_typecache - -/obj/item/storage/backpack/magspear_quiver - name = "quiver" - desc = "A quiver for holding magspears." - icon_state = "quiver" - item_state = "quiver" - -/obj/item/storage/backpack/magspear_quiver/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 20 - STR.max_combined_w_class = 40 - STR.display_numerical_stacking = TRUE - STR.set_holdable(list( - /obj/item/throwing_star/magspear - )) - -/obj/item/storage/backpack/magspear_quiver/PopulateContents() - for(var/i in 1 to 20) - new /obj/item/throwing_star/magspear(src) diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index e2507dfb911..97cc74a5158 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -232,7 +232,7 @@ name = "Plate Gauntlets" icon_state = "crusader" desc = "They're like gloves, but made of metal." - siemens_coefficient = 0 + siemens_coefficient = 0.5 cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT heat_protection = HANDS @@ -244,52 +244,6 @@ /obj/item/clothing/gloves/plate/blue icon_state = "crusader-blue" -/obj/item/clothing/shoes/plate - name = "Plate Boots" - desc = "Metal boots, they look heavy." - icon_state = "crusader" - w_class = WEIGHT_CLASS_NORMAL - armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60) //does this even do anything on boots? - clothing_flags = NOSLIP - cold_protection = FEET - min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT - heat_protection = FEET - max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT - - -/obj/item/clothing/shoes/plate/red - icon_state = "crusader-red" - -/obj/item/clothing/shoes/plate/blue - icon_state = "crusader-blue" - - /obj/item/storage/box/itemset/crusader name = "Crusader's Armour Set" //i can't into ck2 references desc = "This armour is said to be based on the armor of kings on another world thousands of years ago, who tended to assassinate, conspire, and plot against everyone who tried to do the same to them. Some things never change." - - -/obj/item/storage/box/itemset/crusader/blue/PopulateContents() - new /obj/item/clothing/suit/armor/plate/crusader/blue(src) - new /obj/item/clothing/head/helmet/plate/crusader/blue(src) - new /obj/item/clothing/gloves/plate/blue(src) - new /obj/item/clothing/shoes/plate/blue(src) - - -/obj/item/storage/box/itemset/crusader/red/PopulateContents() - new /obj/item/clothing/suit/armor/plate/crusader/red(src) - new /obj/item/clothing/head/helmet/plate/crusader/red(src) - new /obj/item/clothing/gloves/plate/red(src) - new /obj/item/clothing/shoes/plate/red(src) - - -/obj/item/claymore/weak - desc = "This one is rusted." - force = 30 - armour_penetration = 15 - -/obj/item/claymore/weak/ceremonial - desc = "A rusted claymore, once at the heart of a powerful scottish clan struck down and oppressed by tyrants, it has been passed down the ages as a symbol of defiance." - force = 15 - block_chance = 30 - armour_penetration = 5 diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 243b84b7e1e..0b83489ed8c 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -593,7 +593,7 @@ to_chat(user, "You [active? "activate":"deactivate"] [src].") /obj/item/borg/projectile_dampen/update_icon_state() - icon_state = "[initial(icon_state)][active]" + icon_state = "shield[active]" return ..() /obj/item/borg/projectile_dampen/proc/activate_field() @@ -886,7 +886,7 @@ desc = "A special apparatus for carrying drinks without spilling the contents. Alt-Z or right-click to drop the beaker." icon_state = "borg_beaker_apparatus" storable = list(/obj/item/reagent_containers/food/drinks/, - /obj/item/reagent_containers/food/condiment) + /obj/item/reagent_containers/condiment) /obj/item/borg/apparatus/beaker/service/Initialize() . = ..() diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 3194c130251..6aba2046339 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -289,7 +289,6 @@ if(M.laws.id == DEFAULT_AI_LAWID) O.make_laws() - SSticker.mode.remove_antag_for_borging(B.mind) O.job = "Cyborg" O.cell = chest.cell diff --git a/code/game/objects/items/sharpener.dm b/code/game/objects/items/sharpener.dm index f9d429b55a3..00217a8550a 100644 --- a/code/game/objects/items/sharpener.dm +++ b/code/game/objects/items/sharpener.dm @@ -21,7 +21,7 @@ if(requires_sharpness && !I.get_sharpness()) to_chat(user, "You can only sharpen items that are already sharp, such as knives!") return - if(istype(I, /obj/item/melee/transforming/energy)) + if(istype(I, /obj/item/melee/energy)) to_chat(user, "You don't think \the [I] will be the thing getting modified if you use it on \the [src]!") return diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 685bfeae8a8..a9051a5c24e 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -27,6 +27,8 @@ transparent = TRUE max_integrity = 75 material_flags = MATERIAL_NO_EFFECTS + ///Modifier for recoil when using a gun with this shield in the offhand + var/recoil_bonus = -2 /obj/item/shield/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) if(transparent && (hitby.pass_flags & PASSGLASS)) @@ -42,30 +44,32 @@ /obj/item/shield/riot/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/melee/baton)) if(cooldown < world.time - 25) - user.visible_message("[user] bashes [src] with [W]!") + user.visible_message(span_warning("[user] bashes [src] with [W]!")) playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, TRUE) cooldown = world.time else if(istype(W, /obj/item/stack/sheet/mineral/titanium)) if (obj_integrity >= max_integrity) - to_chat(user, "[src] is already in perfect condition.") + to_chat(user, span_warning("[src] is already in perfect condition.")) else var/obj/item/stack/sheet/mineral/titanium/T = W T.use(1) obj_integrity = max_integrity - to_chat(user, "You repair [src] with [T].") + to_chat(user, span_notice("You repair [src] with [T].")) else return ..() /obj/item/shield/riot/examine(mob/user) . = ..() + if(recoil_bonus) + . += span_info("Firing a gun while holding this will brace against it, reducing the impact of recoil.") var/healthpercent = round((obj_integrity/max_integrity) * 100, 1) switch(healthpercent) if(50 to 99) - . += "It looks slightly damaged." + . += span_info("It looks slightly damaged.") if(25 to 50) - . += "It appears heavily damaged." + . += span_info("It appears heavily damaged.") if(0 to 25) - . += "It's falling apart!" + . += span_warning("It's falling apart!") /obj/item/shield/riot/proc/shatter(mob/living/carbon/human/owner) playsound(owner, 'sound/effects/glassbr3.ogg', 100) @@ -97,6 +101,7 @@ block_chance = 0 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) max_integrity = 30 + recoil_bonus = 0 //it's PLASTIC /obj/item/shield/riot/roman/shatter(mob/living/carbon/human/owner) playsound(owner, 'sound/effects/grillehit.ogg', 100) @@ -115,6 +120,7 @@ transparent = FALSE max_integrity = 55 w_class = WEIGHT_CLASS_NORMAL + recoil_bonus = -1 /obj/item/shield/riot/buckler/shatter(mob/living/carbon/human/owner) playsound(owner, 'sound/effects/bang.ogg', 50) diff --git a/code/game/objects/items/shrapnel.dm b/code/game/objects/items/shrapnel.dm index 959649c8c59..8eb154baf74 100644 --- a/code/game/objects/items/shrapnel.dm +++ b/code/game/objects/items/shrapnel.dm @@ -20,7 +20,7 @@ /obj/item/shrapnel/bullet // bullets name = "bullet" - icon = 'icons/obj/ammo_bullets.dmi' + icon = 'icons/obj/ammunition/ammo_bullets.dmi' icon_state = "pistol-brass" item_flags = NONE @@ -31,11 +31,42 @@ name = "\improper .38 DumDum bullet" embedding = list(embed_chance=70, fall_chance=7, jostle_chance=7, ignore_throwspeed_threshold=TRUE, pain_stam_pct=0.4, pain_mult=5, jostle_pain_mult=6, rip_time=10, embed_chance_turf_mod=-100) +/obj/item/shrapnel/bullet/tracker + name = "\improper bullet tracker" + embedding = list(embed_chance=100, fall_chance=0, jostle_chance=1, ignore_throwspeed_threshold=TRUE, pain_stam_pct=0.4, pain_mult=1, jostle_pain_mult=2, rip_time=100, embed_chance_turf_mod=-100) + var/lifespan = 3000 + var/gps_tag = "*TRAC" + var/timer_id + +/obj/item/shrapnel/bullet/tracker/Initialize() + . = ..() + timer_id = QDEL_IN(src, lifespan) + AddComponent(/datum/component/gps/item, gps_tag) + +/obj/item/shrapnel/bullet/tracker/Destroy() + deltimer(timer_id) + return ..() + +/obj/item/shrapnel/bullet/tracker/c38 + name = ".38 Tracker" + +/obj/item/shrapnel/bullet/tracker/a8_50r + name = "8x50mm Tracker" + +/obj/item/shrapnel/bullet/tracker/a858 + name = "8x58mm Tracker" + +/obj/item/shrapnel/bullet/tracker/a65clip + name = "6.5x57mm Tracker" + +/obj/item/shrapnel/bullet/tracker/a308 + name = ".308 Tracker" + /obj/projectile/bullet/shrapnel name = "flying shrapnel shard" damage = 10 range = 10 - armour_penetration = -20 + armour_penetration = -5 dismemberment = 25 ricochets_max = 2 ricochet_chance = 40 @@ -49,7 +80,7 @@ /obj/projectile/bullet/shrapnel/rusty damage = 8 - armour_penetration = -35 + armour_penetration = -10 dismemberment = 15 ricochets_max = 3//duller = less likely to stick in a wall ricochet_chance = 60 @@ -115,3 +146,42 @@ /obj/projectile/bullet/pellet/stingball/on_ricochet(atom/A) hit_stunned_targets = TRUE // ducking will save you from the first wave, but not the rebounds + + +//claymore shrapnel stuff// +//2 small bursts- one that harasses people passing by a bit aways, one that brutalizes point-blank targets. +/obj/item/ammo_casing/caseless/shrapnel + name = "directional shrapnel burst :D" + desc = "I May Have Overreacted" + pellets = 5 + variance = 70 + projectile_type = /obj/projectile/bullet/shrapnel/claymore + randomspread = TRUE + +/obj/item/ammo_casing/caseless/shrapnel/shred + name = "point blank directional shrapnel burst" + desc = "Claymores are lethal to armored infantry at point blank range." + pellets = 4 + variance = 50 + projectile_type = /obj/projectile/bullet/shrapnel/claymore/pointbl + randomspread = TRUE + +/obj/projectile/bullet/shrapnel/claymore + name = "ceramic splinter" + range = 4 + armour_penetration = 0 + +/obj/projectile/bullet/shrapnel/claymore/pointbl + name = "large ceramic shard" + range = 2 + damage = 18 + dismemberment = 30 + armour_penetration = 10 + +/obj/item/ammo_casing/caseless/shrapnel/plasma + name = "directional plasma burst" + projectile_type = /obj/projectile/energy/plasmabolt + +/obj/item/ammo_casing/caseless/shrapnel/shred/plasma + name = "point blank directional plasma burst" + projectile_type = /obj/projectile/energy/plasmabolt/shred diff --git a/code/game/objects/items/shuttle_creator.dm b/code/game/objects/items/shuttle_creator.dm index 781020f8731..9f25041d1f0 100644 --- a/code/game/objects/items/shuttle_creator.dm +++ b/code/game/objects/items/shuttle_creator.dm @@ -218,7 +218,6 @@ /obj/item/shuttle_creator/proc/check_current_area(mob/user) var/static/area_or_turf_fail_types = typecacheof(list( /turf/open/space, - /area/shuttle )) //Check to see if the user can make a new area to prevent spamming if(user) diff --git a/code/game/objects/items/singularityhammer.dm b/code/game/objects/items/singularityhammer.dm deleted file mode 100644 index 04d7629623b..00000000000 --- a/code/game/objects/items/singularityhammer.dm +++ /dev/null @@ -1,145 +0,0 @@ -/obj/item/singularityhammer - name = "singularity hammer" - desc = "The pinnacle of close combat technology, the hammer harnesses the power of a miniaturized singularity to deal crushing blows." - icon_state = "singularity0" - base_icon_state = "singularity_hammer" - lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi' - flags_1 = CONDUCT_1 - slot_flags = ITEM_SLOT_BACK - force = 5 - throwforce = 15 - throw_range = 1 - w_class = WEIGHT_CLASS_HUGE - armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 0, "bomb" = 50, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) - resistance_flags = FIRE_PROOF | ACID_PROOF - force_string = "LORD SINGULOTH HIMSELF" - var/charged = 5 - var/wielded = FALSE // track wielded status on item - -/obj/item/singularityhammer/Initialize() - . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) - START_PROCESSING(SSobj, src) - -/obj/item/singularityhammer/ComponentInitialize() - . = ..() - AddComponent(/datum/component/two_handed, force_multiplier=4, icon_wielded="[base_icon_state]1") - -/// triggered on wield of two handed item -/obj/item/singularityhammer/proc/on_wield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = TRUE - -/// triggered on unwield of two handed item -/obj/item/singularityhammer/proc/on_unwield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = FALSE - -/obj/item/singularityhammer/update_icon_state() - icon_state = "[base_icon_state]0" - return ..() - -/obj/item/singularityhammer/Destroy() - STOP_PROCESSING(SSobj, src) - return ..() - -/obj/item/singularityhammer/process() - if(charged < 5) - charged++ - -/obj/item/singularityhammer/proc/vortex(turf/pull, mob/wielder) - for(var/atom/X in orange(5,pull)) - if(ismovable(X)) - var/atom/movable/A = X - if(A == wielder) - continue - if(A && !A.anchored && !ishuman(X) && !isobserver(X)) - step_towards(A,pull) - step_towards(A,pull) - step_towards(A,pull) - else if(ishuman(X)) - var/mob/living/carbon/human/H = X - if(istype(H.shoes, /obj/item/clothing/shoes/magboots)) - var/obj/item/clothing/shoes/magboots/M = H.shoes - if(M.magpulse) - continue - H.apply_effect(20, EFFECT_PARALYZE, 0) - step_towards(H,pull) - step_towards(H,pull) - step_towards(H,pull) - -/obj/item/singularityhammer/afterattack(atom/A as mob|obj|turf|area, mob/user, proximity) - . = ..() - if(!proximity) - return - if(wielded) - if(charged == 5) - charged = 0 - if(istype(A, /mob/living/)) - var/mob/living/Z = A - Z.take_bodypart_damage(20,0) - playsound(user, 'sound/weapons/marauder.ogg', 50, TRUE) - var/turf/target = get_turf(A) - vortex(target,user) - -/obj/item/mjollnir - name = "Mjolnir" - desc = "A weapon worthy of a god, able to strike with the force of a lightning bolt. It crackles with barely contained energy." - icon_state = "mjollnir0" - base_icon_state = "mjollnir" - lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi' - flags_1 = CONDUCT_1 - slot_flags = ITEM_SLOT_BACK - force = 5 - throwforce = 30 - throw_range = 7 - w_class = WEIGHT_CLASS_HUGE - var/wielded = FALSE // track wielded status on item - -/obj/item/mjollnir/Initialize() - . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) - -/obj/item/mjollnir/ComponentInitialize() - . = ..() - AddComponent(/datum/component/two_handed, force_multiplier=5, icon_wielded="[base_icon_state]1", attacksound="sparks") - -/// triggered on wield of two handed item -/obj/item/mjollnir/proc/on_wield(obj/item/source, mob/user) - wielded = TRUE - -/// triggered on unwield of two handed item -/obj/item/mjollnir/proc/on_unwield(obj/item/source, mob/user) - wielded = FALSE - -/obj/item/mjollnir/update_icon_state() - icon_state = "[base_icon_state]0" - return ..() - -/obj/item/mjollnir/proc/shock(mob/living/target) - target.Stun(60) - var/datum/effect_system/lightning_spread/s = new /datum/effect_system/lightning_spread - s.set_up(5, 1, target.loc) - s.start() - target.visible_message("[target.name] is shocked by [src]!", \ - "You feel a powerful shock course through your body sending you flying!", \ - "You hear a heavy electrical crack!") - var/atom/throw_target = get_edge_target_turf(target, get_dir(src, get_step_away(target, src))) - target.throw_at(throw_target, 200, 4) - return - -/obj/item/mjollnir/attack(mob/living/M, mob/user) - ..() - if(wielded) - shock(M) - -/obj/item/mjollnir/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - . = ..() - if(isliving(hit_atom)) - shock(hit_atom) diff --git a/code/game/objects/items/spear.dm b/code/game/objects/items/spear.dm deleted file mode 100644 index be6b9d3a5a1..00000000000 --- a/code/game/objects/items/spear.dm +++ /dev/null @@ -1,283 +0,0 @@ -//spears -/obj/item/spear - icon_state = "spearglass0" - lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' - name = "spear" - desc = "A haphazardly-constructed yet still deadly weapon of ancient design." - force = 10 - w_class = WEIGHT_CLASS_BULKY - slot_flags = ITEM_SLOT_BACK - throwforce = 20 - throw_speed = 4 - embedding = list("impact_pain_mult" = 3) - armour_penetration = 10 - custom_materials = list(/datum/material/iron=1150, /datum/material/glass=2075) - hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") - sharpness = IS_SHARP - max_integrity = 200 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 30) - species_exception = list(/datum/species/kepori) - var/war_cry = "AAAAARGH!!!" - var/icon_prefix = "spearglass" - -/obj/item/spear/ComponentInitialize() - . = ..() - AddComponent(/datum/component/butchering, 100, 70) //decent in a pinch, but pretty bad. - AddComponent(/datum/component/jousting) - AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=18, icon_wielded="[icon_prefix]1") - -/obj/item/spear/update_icon_state() - icon_state = "[icon_prefix]0" - return ..() - -/obj/item/spear/CheckParts(list/parts_list) - var/obj/item/shard/tip = locate() in parts_list - if (istype(tip, /obj/item/shard/plasma)) - throwforce = 21 - icon_prefix = "spearplasma" - AddComponent(/datum/component/two_handed, force_unwielded=11, force_wielded=19, icon_wielded="[icon_prefix]1") - update_appearance() - qdel(tip) - ..() - -/obj/item/spear/explosive - name = "explosive lance" - icon_state = "spearbomb0" - base_icon_state = "spearbomb" - icon_prefix = "spearbomb" - var/obj/item/grenade/explosive = null - var/wielded = FALSE // track wielded status on item - -/obj/item/spear/explosive/Initialize(mapload) - . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) - set_explosive(new /obj/item/grenade/iedcasing/spawned()) //For admin-spawned explosive lances - -/obj/item/spear/explosive/ComponentInitialize() - . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=18, icon_wielded="[icon_prefix]1") - -/// triggered on wield of two handed item -/obj/item/spear/explosive/proc/on_wield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = TRUE - -/// triggered on unwield of two handed item -/obj/item/spear/explosive/proc/on_unwield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = FALSE - -/obj/item/spear/explosive/proc/set_explosive(obj/item/grenade/G) - if(explosive) - QDEL_NULL(explosive) - G.forceMove(src) - explosive = G - desc = "A makeshift spear with [G] attached to it" - -/obj/item/spear/explosive/CheckParts(list/parts_list) - var/obj/item/grenade/G = locate() in parts_list - if(G) - var/obj/item/spear/lancePart = locate() in parts_list - var/datum/component/two_handed/comp_twohand = lancePart.GetComponent(/datum/component/two_handed) - if(comp_twohand) - var/lance_wielded = comp_twohand.force_wielded - var/lance_unwielded = comp_twohand.force_unwielded - AddComponent(/datum/component/two_handed, force_unwielded=lance_unwielded, force_wielded=lance_wielded) - throwforce = lancePart.throwforce - icon_prefix = lancePart.icon_prefix - parts_list -= G - parts_list -= lancePart - set_explosive(G) - qdel(lancePart) - ..() - -/obj/item/spear/explosive/examine(mob/user) - . = ..() - . += "Alt-click to set your war cry." - -/obj/item/spear/explosive/AltClick(mob/user) - if(user.canUseTopic(src, BE_CLOSE)) - ..() - if(istype(user) && loc == user) - var/input = stripped_input(user,"What do you want your war cry to be? You will shout it when you hit someone in melee.", ,"", 50) - if(input) - src.war_cry = input - -/obj/item/spear/explosive/afterattack(atom/movable/AM, mob/user, proximity) - . = ..() - if(!proximity) - return - if(wielded) - user.say("[war_cry]", forced="spear warcry") - explosive.forceMove(AM) - explosive.prime() - qdel(src) - -//GREY TIDE -/obj/item/spear/grey_tide - name = "\improper Grey Tide" - desc = "Recovered from the aftermath of a revolt aboard Defense Outpost Theta Aegis, in which a seemingly endless tide of Assistants caused heavy casualities among Nanotrasen military forces." - attack_verb = list("gored") - force=15 - -/obj/item/spear/grey_tide/ComponentInitialize() - . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=15, force_wielded=25, icon_wielded="[icon_prefix]1") - -/obj/item/spear/grey_tide/afterattack(atom/movable/AM, mob/living/user, proximity) - . = ..() - if(!proximity) - return - user.faction |= "greytide([REF(user)])" - if(isliving(AM)) - var/mob/living/L = AM - if(istype (L, /mob/living/simple_animal/hostile/illusion)) - return - if(!L.stat && prob(50)) - var/mob/living/simple_animal/hostile/illusion/M = new(user.loc) - M.faction = user.faction.Copy() - M.Copy_Parent(user, 100, user.health/2.5, 12, 30) - M.GiveTarget(L) - -/* - * Bone Spear - */ -/obj/item/spear/bonespear //Blatant imitation of spear, but made out of bone. Not valid for explosive modification. - icon_state = "bone_spear0" - name = "bone spear" - base_icon_state = "bone_spear0" - icon_prefix = "bone_spear" - desc = "A haphazardly-constructed yet still deadly weapon. The pinnacle of modern technology." - icon = 'icons/obj/items_and_weapons.dmi' - lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' - mob_overlay_icon = 'icons/mob/clothing/back.dmi' - force = 12 - throwforce = 22 - armour_penetration = 15 //Enhanced armor piercing - -/obj/item/spear/bonespear/ComponentInitialize() - . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=12, force_wielded=20, icon_wielded="[icon_prefix]1") -/obj/item/spear/dragonspear//version of the bone spear crafted from the trophy dropped by the Ash Drake. High damage, high ap, burns. - name = "dragonslayer's spear" - desc = "A bone spear crafted from the leading spine of a fully-grown drake, razor-sharp and hotter then magma. Wielded by the deranged, pyromaniacs, and champions of lavaland." - icon = 'icons/obj/items_and_weapons.dmi' - lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' - mob_overlay_icon = 'icons/mob/clothing/back.dmi' - force = 20 - throwforce = 25 - block_chance = 15//lol,lmao - armour_penetration = 30 - embedding = list("impact_pain_mult" = 5) - icon_prefix = "dragonspear" - base_icon_state = "dragonspear0" - icon_state = "dragonspear0" - var/list/nemesis_factions = list("mining", "boss") - var/faction_bonus_force = 25 - attack_verb = list("seared", "braided", "impaled", "smote", "gored") - hitsound = 'sound/weapons/sear.ogg' - var/cooldown_time = 0 SECONDS - COOLDOWN_DECLARE(freeze_cooldown) - -/obj/item/spear/dragonspear/attack(mob/living/target, mob/living/carbon/human/user) - var/nemesis_faction = FALSE - if(LAZYLEN(nemesis_factions)) - for(var/F in target.faction) - if(F in nemesis_factions) - nemesis_faction = TRUE - force += faction_bonus_force - throwforce += faction_bonus_force - nemesis_effects(user, target) - break - . = ..() - if(nemesis_faction) - force -= faction_bonus_force - throwforce -= faction_bonus_force - -/obj/item/spear/dragonspear/proc/nemesis_effects(mob/living/user, mob/living/target) - return - -/obj/item/spear/dragonspear/ComponentInitialize() - . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=20, force_wielded=25, icon_wielded="[icon_prefix]1") - AddComponent(/datum/component/butchering, 60, 150) - -/obj/item/spear/dragonspear/attack(atom/target, blocked = FALSE) - if(iscarbon(target)) - var/mob/living/carbon/M = target - M.adjust_fire_stacks(3) - M.IgniteMob() - M.apply_damage(5, BURN) - M.adjust_bodytemperature(150) - if(isanimal(target)) - var/mob/living/simple_animal/M = target - M.apply_damage(15, BURN) - ..() - -//crystal spear -/obj/item/spear/crystal - icon_state = "crystal_spear0" - name = "crystal spear" - desc = "While more 'sharp stick' than spear, this thing is extremely dangerous neverless. Crafted out of the mysterous crystals, it can hit for very high damage, although it will break with repeated use." - icon = 'icons/obj/items_and_weapons.dmi' - base_icon_state = "crystal_spear" - icon_prefix = "crystal_spear" - lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' - mob_overlay_icon = 'icons/mob/clothing/back.dmi' - force = 12 - throwforce = 40 - armour_penetration = 20 - max_integrity = 300 //you can repair this with duct tape - var/damage_to_take_on_hit = 25 //every time we hit something, deal how much damage? - -/obj/item/spear/crystal/ComponentInitialize() - . = ..() - AddComponent(/datum/component/two_handed, force_unwielded=12, force_wielded=30, icon_wielded="[icon_prefix]1") //4 hit crit - -/obj/item/spear/crystal/examine(mob/user) - . = ..() - . += "You can throw it for very high damage and stuns fauna, though this will shatter it instantly." - var/healthpercent = (obj_integrity/max_integrity) * 100 - switch(healthpercent) - if(50 to 99) - . += "It looks slightly damaged." - if(25 to 50) - . += "It appears heavily damaged." - if(0 to 25) - . += "It's falling apart!" - -/obj/item/spear/crystal/attack(mob/living/M, mob/living/user) - . = ..() - take_damage(damage_to_take_on_hit) - -/obj/item/spear/crystal/attack_obj(obj/O, mob/living/user) - . = ..() - take_damage(damage_to_take_on_hit) - -/obj/item/spear/crystal/obj_destruction(damage_flag) - visible_message("[src] shatters into a million pieces!") - playsound(src,"shatter", 70) - new /obj/effect/decal/cleanable/glass/strange(get_turf(src)) - return ..() - -/obj/item/spear/crystal/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) //destroyes when thrown - . = ..() - if(ishostile(hit_atom)) - var/mob/living/simple_animal/hostile/hostile_target = hit_atom - var/hostile_ai_status = hostile_target.AIStatus - hostile_target.AIStatus = AI_OFF - addtimer(VARSET_CALLBACK(hostile_target, AIStatus, hostile_ai_status), 5 SECONDS) - - new /obj/effect/temp_visual/goliath_tentacle/crystal/visual_only(get_turf(src)) - visible_message("[src] shatters into a million pieces!") - playsound(src,"shatter", 70) - new /obj/effect/decal/cleanable/glass/strange(get_turf(src)) - qdel(src) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 264ab12646e..8335a2d8273 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -4,16 +4,16 @@ icon = 'icons/obj/stack_objects.dmi' amount = 6 max_amount = 6 - w_class = WEIGHT_CLASS_TINY - full_w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL + full_w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 7 resistance_flags = FLAMMABLE max_integrity = 40 novariants = FALSE item_flags = NOBLUDGEON - var/splint_fracture = FALSE //WS Edit- Splints - var/failure_chance //WS Edit - Failure chance + var/splint_fracture = FALSE + var/failure_chance var/self_delay = 50 var/other_delay = 0 var/repeating = FALSE @@ -117,9 +117,6 @@ grind_results = list(/datum/reagent/medicine/styptic_powder = 10) /obj/item/stack/medical/bruise_pack/heal(mob/living/target, mob/user) - if(target.stat == DEAD) - to_chat(user, "[target] is dead! You can not help [target.p_them()].") - return if(isanimal(target)) var/mob/living/simple_animal/critter = target if (!(critter.healable)) @@ -204,9 +201,6 @@ grind_results = list(/datum/reagent/medicine/silver_sulfadiazine = 10) /obj/item/stack/medical/ointment/heal(mob/living/target, mob/user) - if(target.stat == DEAD) - to_chat(user, "[target] is dead! You can not help [target.p_them()].") - return if(iscarbon(target)) return heal_carbon(target, user, 0, heal_burn) to_chat(user, "You can't heal [target] with the \the [src]!") @@ -234,9 +228,6 @@ /obj/item/stack/medical/suture/heal(mob/living/target, mob/user) . = ..() - if(target.stat == DEAD) - to_chat(user, "[target] is dead! You can not help [target.p_them()].") - return if(iscarbon(target)) return heal_carbon(target, user, heal_brute, 0) if(isanimal(target)) @@ -281,9 +272,6 @@ /obj/item/stack/medical/mesh/heal(mob/living/target, mob/user) . = ..() - if(target.stat == DEAD) - to_chat(user, "[target] is dead! You can not help [target.p_them()].") - return if(iscarbon(target)) return heal_carbon(target, user, 0, heal_burn) to_chat(user, "You can't heal [target] with the \the [src]!") @@ -347,9 +335,6 @@ /obj/item/stack/medical/aloe/heal(mob/living/target, mob/user) . = ..() - if(target.stat == DEAD) - to_chat(user, "[target] is dead! You can not help [target.p_them()].") - return FALSE if(iscarbon(target)) return heal_carbon(target, user, heal, heal) if(isanimal(target)) @@ -382,7 +367,7 @@ desc = "Used to secure limbs following a fracture." gender = PLURAL singular_name = "splint" - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "splint" apply_sounds = list('sound/effects/rip1.ogg', 'sound/effects/rip2.ogg') self_delay = 40 diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index da08c87a5a3..0930ec09cab 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -143,7 +143,7 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ null, \ new/datum/stack_recipe("directional reinforced window", /obj/structure/window/reinforced/unanchored, time = 0, on_floor = TRUE, window_checks = TRUE), \ new/datum/stack_recipe("fulltile reinforced window", /obj/structure/window/reinforced/fulltile/unanchored, 2, time = 0, on_floor = TRUE, window_checks = TRUE), \ - new/datum/stack_recipe(" reinforced glass tile", /obj/item/stack/tile/glass/reinforced, 1, 4, 20), \ + new/datum/stack_recipe("reinforced glass tile", /obj/item/stack/tile/glass/reinforced, 1, 4, 20), \ new/datum/stack_recipe("glass shard", /obj/item/shard, 1) \ )) @@ -282,7 +282,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( var/obj/item/stack/sheet/weld_material = /obj/item/stack/sheet/glass embedding = list("embed_chance" = 65) -/obj/item/shard/Initialize() +/obj/item/shard/Initialize(mapload) . = ..() AddComponent(/datum/component/caltrop, force) AddComponent(/datum/component/butchering, 150, 65) @@ -300,17 +300,14 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( if (icon_prefix) icon_state = "[icon_prefix][icon_state]" - SSblackbox.record_feedback("tally", "station_mess_created", 1, name) + if(!mapload) + SSblackbox.record_feedback("tally", "station_mess_created", 1, name) var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) -/obj/item/shard/Destroy() - . = ..() - SSblackbox.record_feedback("tally", "station_mess_destroyed", 1, name) - /obj/item/shard/afterattack(atom/A as mob|obj, mob/user, proximity) . = ..() if(!proximity || !(src in user)) @@ -339,7 +336,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( var/obj/item/stack/sheet/cotton/cloth/C = I to_chat(user, "You begin to wrap the [C] around the [src]...") if(do_after(user, 35, target = src)) - var/obj/item/kitchen/knife/shiv/S = new /obj/item/kitchen/knife/shiv + var/obj/item/melee/knife/shiv/S = new /obj/item/melee/knife/shiv C.use(1) to_chat(user, "You wrap the [C] around the [src] forming a makeshift weapon.") remove_item_from_storage(src) @@ -371,7 +368,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( playsound(src, 'sound/effects/glass_step.ogg', HAS_TRAIT(L, TRAIT_LIGHT_STEP) ? 30 : 50, TRUE) /obj/item/shard/plasma - name = "purple shard" + name = "plasmaglass shard" desc = "A nasty looking shard of plasma glass." force = 6 throwforce = 11 @@ -379,3 +376,13 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( custom_materials = list(/datum/material/plasma=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) icon_prefix = "plasma" weld_material = /obj/item/stack/sheet/plasmaglass + +/obj/item/shard/plastitanium + name = "plastitanium glass shard" + desc = "A nasty looking shard of plastitanium glass." + force = 6 + throwforce = 11 + icon_state = "plastitaniumlarge" + custom_materials = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/plasma=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) + icon_prefix = "plastitanium" + weld_material = /obj/item/stack/sheet/plastitaniumglass diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 26cff752c36..5f4ede1dbe1 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -11,14 +11,6 @@ singular_name = "human skin piece" novariants = FALSE -GLOBAL_LIST_INIT(human_recipes, list( \ - new/datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/hooded/bloated_human, 5), \ - )) - -/obj/item/stack/sheet/animalhide/human/get_main_recipes() - . = ..() - . += GLOB.human_recipes - /obj/item/stack/sheet/animalhide/generic name = "skin" desc = "A piece of skin." @@ -32,12 +24,6 @@ GLOBAL_LIST_INIT(human_recipes, list( \ icon_state = "sheet-corgi" item_state = "sheet-corgi" - -GLOBAL_LIST_INIT(gondola_recipes, list ( \ - new/datum/stack_recipe("gondola mask", /obj/item/clothing/mask/gondola, 1), \ - new/datum/stack_recipe("gondola suit", /obj/item/clothing/under/costume/gondola, 2), \ - )) - /obj/item/stack/sheet/animalhide/mothroach name = "mothroach hide" desc = "A thin layer of mothroach hide." @@ -53,18 +39,6 @@ GLOBAL_LIST_INIT(gondola_recipes, list ( \ icon_state = "sheet-gondola" item_state = "sheet-gondola" -/obj/item/stack/sheet/animalhide/gondola/get_main_recipes() - . = ..() - . += GLOB.gondola_recipes - -GLOBAL_LIST_INIT(corgi_recipes, list ( \ - new/datum/stack_recipe("corgi costume", /obj/item/clothing/suit/hooded/ian_costume, 3), \ - )) - -/obj/item/stack/sheet/animalhide/corgi/get_main_recipes() - . = ..() - . += GLOB.corgi_recipes - /obj/item/stack/sheet/animalhide/cat name = "cat hide" desc = "The by-product of cat farming." @@ -79,15 +53,6 @@ GLOBAL_LIST_INIT(corgi_recipes, list ( \ icon_state = "sheet-monkey" item_state = "sheet-monkey" -GLOBAL_LIST_INIT(monkey_recipes, list ( \ - new/datum/stack_recipe("monkey mask", /obj/item/clothing/mask/gas/monkeymask, 1), \ - new/datum/stack_recipe("monkey suit", /obj/item/clothing/suit/monkeysuit, 2), \ - )) - -/obj/item/stack/sheet/animalhide/monkey/get_main_recipes() - . = ..() - . += GLOB.monkey_recipes - /obj/item/stack/sheet/animalhide/lizard name = "lizard skin" desc = "Sssssss..." @@ -102,15 +67,6 @@ GLOBAL_LIST_INIT(monkey_recipes, list ( \ icon_state = "sheet-xeno" item_state = "sheet-xeno" -GLOBAL_LIST_INIT(xeno_recipes, list ( \ - new/datum/stack_recipe("alien helmet", /obj/item/clothing/head/xenos, 1), \ - new/datum/stack_recipe("alien suit", /obj/item/clothing/suit/xenos, 2), \ - )) - -/obj/item/stack/sheet/animalhide/xeno/get_main_recipes() - . = ..() - . += GLOB.xeno_recipes - //don't see anywhere else to put these, maybe together they could be used to make the xenos suit? /obj/item/stack/sheet/xenochitin name = "alien chitin" @@ -167,7 +123,6 @@ GLOBAL_LIST_INIT(leather_recipes, list ( \ new/datum/stack_recipe("bandolier", /obj/item/storage/belt/bandolier, 5), \ new/datum/stack_recipe("leather jacket", /obj/item/clothing/suit/jacket/leather, 7), \ new/datum/stack_recipe("leather shoes", /obj/item/clothing/shoes/laceup, 2), \ - new/datum/stack_recipe("leather overcoat", /obj/item/clothing/suit/jacket/leather/overcoat, 10), \ new/datum/stack_recipe("saddle", /obj/item/saddle, 5), \ )) diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 9fc6fa808a4..88ac0c90d95 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -26,7 +26,6 @@ Mineral Sheets GLOBAL_LIST_INIT(sandstone_recipes, list ( \ new/datum/stack_recipe("pile of dirt", /obj/machinery/hydroponics/soil, 3, time = 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("sandstone door", /obj/structure/mineral_door/sandstone, 10, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Assistant Statue", /obj/structure/statue/sandstone/assistant, 5, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("Breakdown into sand", /obj/item/stack/ore/glass, 1, one_per_turf = 0, on_floor = 1) \ )) @@ -74,9 +73,8 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \ /obj/item/emptysandbag name = "empty sandbag" desc = "A bag to be filled with sand." - icon = 'icons/obj/items_and_weapons.dmi' icon_state = "sandbag" - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL /obj/item/emptysandbag/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/stack/ore/glass)) @@ -109,9 +107,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \ GLOBAL_LIST_INIT(diamond_recipes, list ( \ new/datum/stack_recipe("diamond door", /obj/structure/mineral_door/transparent/diamond, 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("diamond tile", /obj/item/stack/tile/mineral/diamond, 1, 4, 20), \ - new/datum/stack_recipe("Captain Statue", /obj/structure/statue/diamond/captain, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("AI Hologram Statue", /obj/structure/statue/diamond/ai1, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("AI Core Statue", /obj/structure/statue/diamond/ai2, 5, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/mineral/diamond/get_main_recipes() @@ -147,7 +142,6 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ new/datum/stack_recipe("uranium door", /obj/structure/mineral_door/uranium, 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("uranium tile", /obj/item/stack/tile/mineral/uranium, 1, 4, 20), \ new/datum/stack_recipe("Nuke Statue", /obj/structure/statue/uranium/nuke, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Engineer Statue", /obj/structure/statue/uranium/eng, 5, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/mineral/uranium/get_main_recipes() @@ -187,7 +181,6 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ GLOBAL_LIST_INIT(plasma_recipes, list ( \ new/datum/stack_recipe("plasma door", /obj/structure/mineral_door/transparent/plasma, 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("plasma tile", /obj/item/stack/tile/mineral/plasma, 1, 4, 20), \ - new/datum/stack_recipe("Scientist Statue", /obj/structure/statue/plasma/scientist, 5, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/mineral/plasma/get_main_recipes() @@ -241,12 +234,7 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \ new/datum/stack_recipe("chemical crate", /obj/structure/closet/crate/chem, 1, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("gold tile", /obj/item/stack/tile/mineral/gold, 1, 4, 20), \ new/datum/stack_recipe("blank plaque", /obj/item/plaque, 1), \ - new/datum/stack_recipe("HoS Statue", /obj/structure/statue/gold/hos, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("HOP Statue", /obj/structure/statue/gold/head_of_personnel, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("CE Statue", /obj/structure/statue/gold/ce, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("RD Statue", /obj/structure/statue/gold/rd, 5, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("Simple Crown", /obj/item/clothing/head/crown, 5), \ - new/datum/stack_recipe("CMO Statue", /obj/structure/statue/gold/cmo, 5, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/mineral/gold/get_main_recipes() @@ -297,11 +285,6 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \ GLOBAL_LIST_INIT(silver_recipes, list ( \ new/datum/stack_recipe("silver door", /obj/structure/mineral_door/silver, 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("silver tile", /obj/item/stack/tile/mineral/silver, 1, 4, 20), \ - new/datum/stack_recipe("Med Officer Statue", /obj/structure/statue/silver/md, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Janitor Statue", /obj/structure/statue/silver/janitor, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Sec Officer Statue", /obj/structure/statue/silver/sec, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Sec Borg Statue", /obj/structure/statue/silver/secborg, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Med Borg Statue", /obj/structure/statue/silver/medborg, 5, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/mineral/silver/get_main_recipes() diff --git a/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm b/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm index 6860f34be5c..44b7d7f2698 100644 --- a/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm +++ b/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm @@ -1,9 +1,13 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ new/datum/stack_recipe("stool", /obj/structure/chair/stool, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("bar stool", /obj/structure/chair/stool/bar, one_per_turf = TRUE, on_floor = TRUE), \ - new/datum/stack_recipe("bed", /obj/structure/bed, 2, one_per_turf = TRUE, on_floor = TRUE), \ - new/datum/stack_recipe("double bed", /obj/structure/bed/double, 4, one_per_turf = TRUE, on_floor = TRUE), \ null, \ + new/datum/stack_recipe_list("beds", list( \ + new/datum/stack_recipe("bed", /obj/structure/bed, 2, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("double bed", /obj/structure/bed/double, 4, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("bottom bunk", /obj/structure/bed/bunk, 2, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("top bunk", /obj/structure/bed/bunk/top, 2, one_per_turf = TRUE, on_floor = TRUE), \ + )), \ new/datum/stack_recipe_list("office chairs", list( \ new/datum/stack_recipe("gray office chair", /obj/structure/chair/office, 5, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("light office chair", /obj/structure/chair/office/light, 5, one_per_turf = TRUE, on_floor = TRUE), \ @@ -221,7 +225,6 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ null, \ new/datum/stack_recipe("firelock frame (fulltile)", /obj/structure/firelock_frame, 3, time = 50, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("firelock frame (directional)", /obj/structure/firelock_frame/border, 1, time = 25, on_floor = TRUE), \ - new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("meatspike frame", /obj/structure/kitchenspike_frame, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("reflector frame", /obj/structure/reflector, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ null, \ @@ -238,7 +241,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ null, \ new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("floodlight frame", /obj/structure/floodlight_frame, 5, one_per_turf = TRUE, on_floor = TRUE), \ - new/datum/stack_recipe("voting box", /obj/structure/votebox, 15, time = 50), \ + new/datum/stack_recipe("voting box", /obj/structure/votebox, 5, time = 50), \ new/datum/stack_recipe("mortar", /obj/item/reagent_containers/glass/mortar/metal, 3), \ new/datum/stack_recipe("pestle", /obj/item/pestle, 1, time = 50), \ new/datum/stack_recipe("hygienebot assembly", /obj/item/bot_assembly/hygienebot, 2, time = 50), \ diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index ead6b8aeb8f..48dc33b79c3 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -7,7 +7,6 @@ * Plastic * Cardboard * Paper Frames - * Runed Metal (cult) * Bronze (bake brass) */ @@ -128,6 +127,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("dresser", /obj/structure/dresser, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("picture frame", /obj/item/wallframe/picture, 1, time = 10),\ new/datum/stack_recipe("painting frame", /obj/item/wallframe/painting, 1, time = 10),\ + new/datum/stack_recipe("easel", /obj/structure/easel, 4, time = 10),\ new/datum/stack_recipe("display case chassis", /obj/structure/displaycase_chassis, 5, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("wooden buckler", /obj/item/shield/riot/buckler, 20, time = 40), \ new/datum/stack_recipe("apiary", /obj/structure/beebox, 40, time = 50),\ @@ -137,6 +137,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("rake", /obj/item/cultivator/rake, 5, time = 10),\ new/datum/stack_recipe("ore box", /obj/structure/ore_box, 4, time = 50, one_per_turf = TRUE, on_floor = TRUE),\ new/datum/stack_recipe("wooden crate", /obj/structure/closet/crate/wooden, 6, time = 50, one_per_turf = TRUE, on_floor = TRUE),\ + new/datum/stack_recipe("wooden cabinet", /obj/structure/closet/cabinet, 10, time = 50, one_per_turf = TRUE, on_floor = TRUE),\ new/datum/stack_recipe("baseball bat", /obj/item/melee/baseball_bat, 5, time = 15),\ new/datum/stack_recipe("loom", /obj/structure/loom, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("mortar", /obj/item/reagent_containers/glass/mortar, 3), \ @@ -347,8 +348,6 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( \ */ GLOBAL_LIST_INIT(cardboard_recipes, list ( \ new/datum/stack_recipe("box", /obj/item/storage/box), \ - new/datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/cardborg, 3), \ - new/datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/cardborg), \ new/datum/stack_recipe("large box", /obj/structure/closet/cardboard, 4, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("cardboard cutout", /obj/item/cardboard_cutout, 5), \ null, \ @@ -451,11 +450,8 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \ new/datum/stack_recipe("pinion airlock assembly", /obj/structure/door_assembly/door_assembly_bronze, 4, time = 50, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("bronze pinion airlock assembly", /obj/structure/door_assembly/door_assembly_bronze/seethru, 4, time = 50, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("bronze hat", /obj/item/clothing/head/bronze), \ - new/datum/stack_recipe("bronze suit", /obj/item/clothing/suit/bronze), \ - new/datum/stack_recipe("bronze boots", /obj/item/clothing/shoes/bronze), \ null, new/datum/stack_recipe("bronze chair", /obj/structure/chair/comfy/shuttle/bronze, 1, time = 0, one_per_turf = TRUE, on_floor = TRUE), \ - new/datum/stack_recipe("Marx Bust", /obj/structure/statue/bronze/marx, 15, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/tile/bronze @@ -519,10 +515,8 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \ GLOBAL_LIST_INIT(bone_recipes, list( \ new /datum/stack_recipe("mortar", /obj/item/reagent_containers/glass/mortar/bone, 3), \ - new /datum/stack_recipe("bone armor", /obj/item/clothing/suit/armor/bone, 6), \ - new /datum/stack_recipe("skull helmet", /obj/item/clothing/head/helmet/skull, 4), \ - new /datum/stack_recipe("bone dagger", /obj/item/kitchen/knife/combat/bone, 2), \ - new /datum/stack_recipe("club", /obj/item/melee/baseball_bat/bone, 6))) + new /datum/stack_recipe("bone dagger", /obj/item/melee/knife/bone, 2))) + /obj/item/stack/sheet/bone name = "bones" icon = 'icons/obj/mining.dmi' @@ -608,41 +602,6 @@ new /datum/stack_recipe("paper frame door", /obj/structure/mineral_door/paperfra /obj/item/stack/sheet/paperframes/fifty amount = 50 -/obj/item/stack/sheet/meat - name = "meat sheets" - desc = "Something's bloody meat compressed into a nice solid sheet." - singular_name = "meat sheet" - icon_state = "sheet-meat" - material_flags = MATERIAL_COLOR - custom_materials = list(/datum/material/meat = MINERAL_MATERIAL_AMOUNT) - merge_type = /obj/item/stack/sheet/meat - material_type = /datum/material/meat - material_modifier = 1 //None of that wussy stuff - -/obj/item/stack/sheet/meat/fifty - amount = 50 -/obj/item/stack/sheet/meat/twenty - amount = 20 -/obj/item/stack/sheet/meat/five - amount = 5 - -/obj/item/stack/sheet/pizza - name = "pepperoni sheetzzas" - desc = "It's a delicious pepperoni sheetzza!" - singular_name = "pepperoni sheetzza" - icon_state = "sheet-meat" //This needs a pizza sheet but we also i dont think anyone will ever make this. - custom_materials = list(/datum/material/pizza = MINERAL_MATERIAL_AMOUNT) - merge_type = /obj/item/stack/sheet/pizza - material_type = /datum/material/pizza - material_modifier = 1 - -/obj/item/stack/sheet/pizza/fifty - amount = 50 -/obj/item/stack/sheet/pizza/twenty - amount = 20 -/obj/item/stack/sheet/pizza/five - amount = 5 - /obj/item/stack/sheet/sandblock name = "blocks of sand" desc = "You're too old to be playing with sandcastles. Now you build... sandstations." diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 5653b641c99..f34836de156 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -305,7 +305,7 @@ if(!window_structure.fulltile) continue if(object.density) - to_chat(usr, "There is \a [object.name] here. You cant make \a [recipe.title] here!") + to_chat(usr, "There is \a [object.name] here. You can't make \a [recipe.title] here!") return FALSE if(recipe.placement_checks) switch(recipe.placement_checks) diff --git a/code/game/objects/items/storage/ammo_can.dm b/code/game/objects/items/storage/ammo_can.dm new file mode 100644 index 00000000000..e619aced069 --- /dev/null +++ b/code/game/objects/items/storage/ammo_can.dm @@ -0,0 +1,69 @@ +//No idea why this is a toolbox but I'm not fixing that right now +/obj/item/storage/toolbox/ammo + name = "ammo can" + desc = "A metal container for storing multiple boxes of ammunition or grenades." + icon_state = "ammobox" + item_state = "ammobox" + drop_sound = 'sound/items/handling/ammobox_drop.ogg' + pickup_sound = 'sound/items/handling/ammobox_pickup.ogg' + material_flags = NONE + has_latches = FALSE + w_class = WEIGHT_CLASS_BULKY + +/obj/item/storage/toolbox/ammo/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_volume = STORAGE_VOLUME_BACKPACK + STR.max_w_class = MAX_WEIGHT_CLASS_BACKPACK + STR.set_holdable(list( + /obj/item/storage/box/ammo, + /obj/item/mine, + /obj/item/grenade, + /obj/item/ammo_casing/caseless/rocket, + /obj/item/ammo_box/magazine/ammo_stack, + /obj/item/ammo_casing, + /obj/item/mine, + /obj/item/grenade + )) + +/obj/item/storage/toolbox/ammo/a850r/PopulateContents() + name = "ammo can (8x50mmR)" + icon_state = "ammobox_850" + for(var/i in 1 to 4) + new /obj/item/storage/box/ammo/a8_50r(src) + +/obj/item/storage/toolbox/ammo/a762_40/PopulateContents() + name = "ammo can (7.62x40mm CLIP)" + icon_state = "ammobox_762" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/a762_40(src) + +/obj/item/storage/toolbox/ammo/a308/PopulateContents() + name = "ammo can (.308)" + icon_state = "ammobox_308" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/a308(src) + +/obj/item/storage/toolbox/ammo/c45/PopulateContents() + name = "ammo can (.45)" + icon_state = "ammobox_45" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/c45(src) + +/obj/item/storage/toolbox/ammo/c9mm/PopulateContents() + name = "ammo can (9mm)" + icon_state = "ammobox_9mm" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/c9mm(src) + +/obj/item/storage/toolbox/ammo/c10mm/PopulateContents() + name = "ammo can (10mm)" + icon_state = "ammobox_10mm" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/c10mm(src) + +/obj/item/storage/toolbox/ammo/shotgun/PopulateContents() + name = "ammo can (12ga)" + icon_state = "ammobox_12ga" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/a12g_buckshot(src) diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 5d87b42b78e..34eba9a2519 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -16,6 +16,8 @@ desc = "You wear this on your back and put items into it." icon_state = "backpack" item_state = "backpack" + icon = 'icons/obj/clothing/back/backpacks.dmi' + mob_overlay_icon = 'icons/mob/clothing/back/backpacks.dmi' lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi' pickup_sound = "rustle" @@ -26,7 +28,9 @@ max_integrity = 300 greyscale_icon_state = "backpack" greyscale_colors = list(list(13, 17), list(12, 17), list(12, 21)) - supports_variations = VOX_VARIATION + + supports_variations = VOX_VARIATION | KEPORI_VARIATION + kepori_override_icon = 'icons/mob/clothing/back/backpacks_kepori.dmi' /obj/item/storage/backpack/ComponentInitialize() . = ..() @@ -61,51 +65,12 @@ STR.storage_flags = STORAGE_FLAGS_VOLUME_DEFAULT STR.max_volume = STORAGE_VOLUME_BAG_OF_HOLDING -/obj/item/storage/backpack/santabag - name = "Santa's Gift Bag" - desc = "Space Santa uses this to deliver presents to all the nice children in space in Christmas! Wow, it's pretty big!" - icon_state = "giftbag0" - item_state = "giftbag" - w_class = WEIGHT_CLASS_BULKY - -/obj/item/storage/backpack/santabag/Initialize() - . = ..() - regenerate_presents() - -/obj/item/storage/backpack/santabag/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_w_class = WEIGHT_CLASS_NORMAL - STR.max_combined_w_class = 60 - -/obj/item/storage/backpack/santabag/proc/regenerate_presents() - addtimer(CALLBACK(src, PROC_REF(regenerate_presents)), 30 SECONDS) - - var/mob/M = get(loc, /mob) - if(!istype(M)) - return - if(M.mind && HAS_TRAIT(M.mind, TRAIT_CANNOT_OPEN_PRESENTS)) - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - var/turf/floor = get_turf(src) - var/obj/item/I = new /obj/item/a_gift/anything(floor) - if(STR.can_be_inserted(I, stop_messages=TRUE)) - STR.handle_item_insertion(I, prevent_warning=TRUE) - else - qdel(I) - - /obj/item/storage/backpack/cultpack name = "trophy rack" desc = "It's useful for both carrying extra gear and proudly declaring your insanity." icon_state = "cultpack" item_state = "backpack" -/obj/item/storage/backpack/clown - name = "Giggles von Honkerton" - desc = "It's a backpack made by Honk! Co." - icon_state = "clownpack" - item_state = "clownpack" - /obj/item/storage/backpack/explorer name = "explorer bag" desc = "A robust backpack for stashing your loot." @@ -215,7 +180,6 @@ item_state = "satchel-norm" greyscale_icon_state = "satchel" greyscale_colors = list(list(11, 12), list(17, 18), list(10, 11)) - supports_variations = VOX_VARIATION /obj/item/storage/backpack/satchel/ComponentInitialize() . = ..() @@ -226,7 +190,6 @@ /obj/item/storage/backpack/satchel/leather name = "leather satchel" desc = "It's a very fancy satchel made with fine leather." - icon = 'icons/obj/storage.dmi' icon_state = "satchel" item_state = "satchel" @@ -261,12 +224,6 @@ icon_state = "satchel-chem" item_state = "satchel-chem" -/obj/item/storage/backpack/satchel/gen - name = "geneticist satchel" - desc = "A sterile satchel with geneticist colours." - icon_state = "satchel-gen" - item_state = "satchel-gen" - /obj/item/storage/backpack/satchel/tox name = "scientist satchel" desc = "Useful for holding research materials." @@ -354,8 +311,6 @@ /obj/item/storage/backpack/messenger name = "messenger bag" desc = "A sturdy backpack worn over one shoulder." - icon = 'icons/obj/storage.dmi' - mob_overlay_icon = 'icons/mob/clothing/back.dmi' icon_state = "courierbag" item_state = "courierbag" greyscale_icon_state = "satchel" @@ -528,7 +483,6 @@ desc = "A large duffel bag for holding extra tactical supplies." icon_state = "duffel-syndie" item_state = "duffel-syndieammo" - slowdown = 0 resistance_flags = FIRE_PROOF /obj/item/storage/backpack/duffelbag/syndie/ComponentInitialize() @@ -581,17 +535,17 @@ /obj/item/storage/backpack/duffelbag/syndie/ammo/shotgun/PopulateContents() for(var/i in 1 to 6) - new /obj/item/ammo_box/magazine/m12g(src) - new /obj/item/ammo_box/magazine/m12g/slug(src) - new /obj/item/ammo_box/magazine/m12g/slug(src) - new /obj/item/ammo_box/magazine/m12g/dragon(src) + new /obj/item/ammo_box/magazine/m12g_bulldog/drum(src) + new /obj/item/ammo_box/magazine/m12g_bulldog/drum/slug(src) + new /obj/item/ammo_box/magazine/m12g_bulldog/drum/slug(src) + new /obj/item/ammo_box/magazine/m12g_bulldog/drum/dragon(src) /obj/item/storage/backpack/duffelbag/syndie/ammo/smg desc = "A large duffel bag, packed to the brim with C-20r magazines." /obj/item/storage/backpack/duffelbag/syndie/ammo/smg/PopulateContents() for(var/i in 1 to 9) - new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/m45_cobra(src) /obj/item/storage/backpack/duffelbag/syndie/ammo/mech desc = "A large duffel bag, packed to the brim with various exosuit ammo." @@ -603,10 +557,10 @@ new /obj/item/mecha_ammo/scattershot(src) new /obj/item/storage/belt/utility/syndicate(src) -/obj/item/storage/backpack/duffelbag/syndie/ammo/mauler +/obj/item/storage/backpack/duffelbag/syndie/ammo/touro desc = "A large duffel bag, packed to the brim with various exosuit ammo." -/obj/item/storage/backpack/duffelbag/syndie/ammo/mauler/PopulateContents() +/obj/item/storage/backpack/duffelbag/syndie/ammo/touro/PopulateContents() new /obj/item/mecha_ammo/lmg(src) new /obj/item/mecha_ammo/lmg(src) new /obj/item/mecha_ammo/lmg(src) @@ -621,18 +575,18 @@ desc = "A large duffel bag containing a C-20r, some magazines, and a cheap looking suppressor." /obj/item/storage/backpack/duffelbag/syndie/c20rbundle/PopulateContents() - new /obj/item/ammo_box/magazine/smgm45(src) - new /obj/item/ammo_box/magazine/smgm45(src) - new /obj/item/gun/ballistic/automatic/smg/c20r(src) - new /obj/item/suppressor/specialoffer(src) + new /obj/item/ammo_box/magazine/m45_cobra(src) + new /obj/item/ammo_box/magazine/m45_cobra(src) + new /obj/item/gun/ballistic/automatic/smg/cobra(src) + new /obj/item/attachment/silencer(src) /obj/item/storage/backpack/duffelbag/syndie/bulldogbundle desc = "A large duffel bag containing a Bulldog, some drums, and a pair of thermal imaging glasses." /obj/item/storage/backpack/duffelbag/syndie/bulldogbundle/PopulateContents() - new /obj/item/gun/ballistic/shotgun/bulldog(src) - new /obj/item/ammo_box/magazine/m12g(src) - new /obj/item/ammo_box/magazine/m12g(src) + new /obj/item/gun/ballistic/shotgun/automatic/bulldog(src) + new /obj/item/ammo_box/magazine/m12g_bulldog/drum(src) + new /obj/item/ammo_box/magazine/m12g_bulldog/drum(src) new /obj/item/clothing/glasses/thermal/syndi(src) /obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle @@ -641,8 +595,8 @@ /obj/item/storage/backpack/duffelbag/syndie/med/medicalbundle/PopulateContents() new /obj/item/clothing/shoes/magboots/syndie(src) new /obj/item/storage/firstaid/tactical(src) - new /obj/item/gun/ballistic/automatic/hmg/l6_saw/toy/riot(src) - new /obj/item/ammo_box/foambox/riot(src) + new /obj/item/gun/ballistic/automatic/toy(src) + new /obj/item/storage/box/ammo/foam_darts/riot(src) /obj/item/storage/backpack/duffelbag/syndie/med/bioterrorbundle desc = "A large duffel bag containing deadly chemicals, a handheld chem sprayer, Bioterror foam grenade, a Donksoft assault rifle, box of riot grade darts, a dart pistol, and a box of syringes." @@ -651,9 +605,9 @@ new /obj/item/reagent_containers/spray/chemsprayer/bioterror(src) new /obj/item/storage/box/syndie_kit/chemical(src) new /obj/item/gun/syringe/syndicate(src) - new /obj/item/gun/ballistic/automatic/smg/c20r/toy/riot(src) + new /obj/item/gun/ballistic/automatic/toy(src) new /obj/item/storage/box/syringes(src) - new /obj/item/ammo_box/foambox/riot(src) + new /obj/item/storage/box/ammo/foam_darts/riot(src) new /obj/item/grenade/chem_grenade/bioterrorfoam(src) if(prob(5)) new /obj/item/reagent_containers/food/snacks/pizza/pineapple(src) @@ -672,9 +626,9 @@ /obj/item/storage/backpack/duffelbag/syndie/firestarter/PopulateContents() new /obj/item/watertank/op(src) new /obj/item/clothing/suit/space/hardsuit/syndi/elite(src) - new /obj/item/gun/ballistic/automatic/pistol/APS(src) - new /obj/item/ammo_box/magazine/pistolm9mm(src) - new /obj/item/ammo_box/magazine/pistolm9mm(src) + new /obj/item/gun/ballistic/automatic/pistol/rattlesnake(src) + new /obj/item/ammo_box/magazine/m9mm_rattlesnake(src) + new /obj/item/ammo_box/magazine/m9mm_rattlesnake(src) new /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka(src) new /obj/item/reagent_containers/hypospray/medipen/stimulants(src) new /obj/item/grenade/syndieminibomb(src) @@ -689,7 +643,6 @@ /obj/item/storage/backpack/duffelbag/clown/syndie/PopulateContents() new /obj/item/pda/clown(src) new /obj/item/clothing/under/rank/civilian/clown(src) - new /obj/item/clothing/shoes/clown_shoes(src) new /obj/item/clothing/mask/gas/clown_hat(src) new /obj/item/bikehorn(src) new /obj/item/implanter/sad_trombone(src) diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index ecee3894ccb..cfe07df070b 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -407,7 +407,7 @@ )) /* - * Biowaste bag (mostly for xenobiologists) + * Biowaste bag */ /obj/item/storage/bag/bio @@ -424,7 +424,6 @@ STR.max_items = 20 STR.insert_preposition = "in" STR.set_holdable(list( - /obj/item/slime_extract, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/glass/beaker, diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 2904745f25a..3247ceb443c 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -74,7 +74,8 @@ /obj/item/chisel, /obj/item/clothing/glasses/welding, //WS edit: ok mald sure I'll add the welding stuff to the. ok. /obj/item/clothing/mask/gas/welding, - /obj/item/clothing/head/welding //WS end + /obj/item/clothing/head/welding, //WS end + /obj/item/gun/energy/plasmacutter )) /obj/item/storage/belt/utility/chief @@ -86,7 +87,6 @@ /obj/item/storage/belt/utility/chief/full/PopulateContents() new /obj/item/screwdriver/power(src) new /obj/item/crowbar/power(src) - new /obj/item/weldingtool/experimental(src)//This can be changed if this is too much new /obj/item/multitool(src) new /obj/item/stack/cable_coil(src,MAXCOIL,pick("red","yellow","orange")) new /obj/item/extinguisher/mini(src) @@ -142,7 +142,6 @@ /obj/item/storage/belt/utility/full/ert/PopulateContents() new /obj/item/screwdriver/power(src) new /obj/item/crowbar/power(src) - new /obj/item/weldingtool/experimental(src) new /obj/item/multitool(src) new /obj/item/construction/rcd/combat(src) new /obj/item/extinguisher/mini(src) @@ -258,6 +257,15 @@ new /obj/item/hypospray/mkii(src) update_appearance() +/obj/item/storage/belt/medical/webbing/combat/PopulateContents() + . = ..() + new /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor(src) + new /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor(src) + new /obj/item/reagent_containers/medigel/silver_sulf(src) + new /obj/item/reagent_containers/medigel/styptic(src) + new /obj/item/stack/medical/gauze/twelve(src) + new /obj/item/stack/medical/splint(src) + /obj/item/storage/belt/security name = "security belt" desc = "Can hold security gear like handcuffs and flashes." @@ -274,6 +282,7 @@ STR.set_holdable(list( /obj/item/melee/baton, /obj/item/melee/classic_baton, + /obj/item/melee/knife, /obj/item/grenade, /obj/item/reagent_containers/spray/pepper, /obj/item/restraints/handcuffs, @@ -283,21 +292,21 @@ /obj/item/ammo_box/magazine, /obj/item/ammo_box/c38, //speed loaders don't have a common path like magazines. pain. /obj/item/ammo_box/a357, //some day we should refactor these into an ammo_box/speedloader type - /obj/item/ammo_box/a4570, //but not today /obj/item/ammo_box/a858, //oh boy stripper clips too /obj/item/ammo_box/vickland_a308, /obj/item/ammo_box/a300, - /obj/item/ammo_box/aac_300blk_stripper, + /obj/item/ammo_box/a762_stripper, /obj/item/ammo_box/amagpellet_claris, //that's the last of the clips /obj/item/reagent_containers/food/snacks/donut, - /obj/item/kitchen/knife/combat, + /obj/item/melee/knife/combat, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic, /obj/item/radio, /obj/item/clothing/gloves, /obj/item/restraints/legcuffs/bola, /obj/item/holosign_creator/security, - /obj/item/stock_parts/cell/gun //WS edit Gun cells fit where they should and not where they dont + /obj/item/stock_parts/cell/gun, + /obj/item/ammo_box/magazine/ammo_stack, //handfuls of bullets )) /obj/item/storage/belt/security/full/PopulateContents() @@ -321,10 +330,12 @@ var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_items = 6 -/obj/item/storage/belt/security/webbing/bulldog/PopulateContents() +/obj/item/storage/belt/security/webbing/bulldog_mixed/PopulateContents() . = ..() - for(var/i in 1 to 3) - new /obj/item/ammo_box/magazine/m12g(src) + new /obj/item/ammo_box/magazine/m12g_bulldog/drum/bioterror(src) // you only get ONE this one is nasty + new /obj/item/ammo_box/magazine/m12g_bulldog/drum/slug(src) + new /obj/item/ammo_box/magazine/m12g_bulldog/drum/slug(src) + new /obj/item/ammo_box/magazine/m12g_bulldog/drum(src) /obj/item/storage/belt/mining name = "explorer's webbing" @@ -356,6 +367,7 @@ /obj/item/clothing/gloves, /obj/item/resonator, /obj/item/mining_scanner, + /obj/item/pinpointer/mineral, /obj/item/pickaxe, /obj/item/shovel, /obj/item/stack/sheet/animalhide, @@ -365,7 +377,7 @@ /obj/item/storage/fancy/cigarettes, /obj/item/reagent_containers/food/drinks/bottle, /obj/item/stack/medical, - /obj/item/kitchen/knife, + /obj/item/melee/knife, /obj/item/reagent_containers/hypospray, /obj/item/gps, /obj/item/storage/bag/ore, @@ -380,8 +392,7 @@ /obj/item/storage/bag/plants, /obj/item/stack/marker_beacon, /obj/item/restraints/legcuffs/bola/watcher, - /obj/item/claymore/bone, - /obj/item/key/lasso + /obj/item/melee/sword/bone )) @@ -403,32 +414,6 @@ var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_items = 5 -/obj/item/storage/belt/soulstone - name = "soul stone belt" - desc = "Designed for ease of access to the shards during a fight, as to not let a single enemy spirit slip away." - icon_state = "soulstone" - item_state = "soulstone" - -/obj/item/storage/belt/soulstone/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 6 - STR.set_holdable(list( - /obj/item/soulstone - )) - -/obj/item/storage/belt/soulstone/full/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/soulstone(src) - -/obj/item/storage/belt/soulstone/full/chappy/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/soulstone/anybody/chaplain(src) - -/obj/item/storage/belt/soulstone/full/purified/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/soulstone/anybody/purified(src) - /obj/item/storage/belt/champion name = "championship belt" desc = "Proves to the world that you are the strongest!" @@ -477,15 +462,29 @@ var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_w_class = WEIGHT_CLASS_SMALL -/obj/item/storage/belt/military/c20r/PopulateContents() +/obj/item/storage/belt/military/cobra/PopulateContents() . = ..() for(var/i in 1 to 4) - new /obj/item/ammo_box/magazine/smgm45(src) + new /obj/item/ammo_box/magazine/m45_cobra(src) -/obj/item/storage/belt/military/assault/m90/PopulateContents() +/obj/item/storage/belt/military/hydra/PopulateContents() . = ..() for(var/i in 1 to 4) - new /obj/item/ammo_box/magazine/m556(src) + new /obj/item/ammo_box/magazine/m556_42_hydra(src) + +/obj/item/storage/belt/military/boomslang/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/boomslang(src) + +/obj/item/storage/belt/military/mako/PopulateContents() + . = ..() + new /obj/item/ammo_casing/caseless/rocket/a70mm/hedp(src) + new /obj/item/ammo_casing/caseless/rocket/a70mm/hedp(src) + new /obj/item/ammo_casing/caseless/rocket/a70mm(src) + new /obj/item/ammo_casing/caseless/rocket/a70mm(src) + new /obj/item/ammo_casing/caseless/rocket/a70mm(src) + new /obj/item/ammo_casing/caseless/rocket/a70mm(src) /obj/item/storage/belt/military/snack name = "tactical snack rig" @@ -520,7 +519,7 @@ /obj/item/reagent_containers/food/snacks/cheesynachos, /obj/item/reagent_containers/food/snacks/cubannachos, /obj/item/reagent_containers/food/snacks/nugget, - /obj/item/reagent_containers/food/snacks/spaghetti/pastatomato, + /obj/item/food/spaghetti/pastatomato, /obj/item/reagent_containers/food/snacks/rofflewaffles, /obj/item/reagent_containers/food/snacks/donkpocket, /obj/item/reagent_containers/food/drinks/soda_cans/cola, @@ -570,6 +569,22 @@ var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_items = 6 +/obj/item/storage/belt/military/assault/hydra/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/m556_42_hydra(src) + +/obj/item/storage/belt/military/assault/sniper/PopulateContents() + . = ..() + new /obj/item/ammo_box/magazine/sniper_rounds(src) + new /obj/item/ammo_box/magazine/sniper_rounds(src) + new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src) + +/obj/item/storage/belt/military/assault/commander/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/co9mm(src) + /obj/item/storage/belt/grenade name = "grenadier belt" desc = "A belt for holding grenades." @@ -588,7 +603,7 @@ /obj/item/screwdriver, /obj/item/lighter, /obj/item/multitool, - /obj/item/reagent_containers/food/drinks/bottle/molotov, + /obj/item/reagent_containers/food/drinks/molotov, /obj/item/grenade/c4, /obj/item/reagent_containers/food/snacks/grown/cherry_bomb, /obj/item/reagent_containers/food/snacks/grown/firelemon @@ -680,7 +695,7 @@ /obj/item/storage/belt/bandolier name = "bandolier" - desc = "A bandolier for holding ammunition. Does not hold magazines" + desc = "A bandolier for holding ammunition. Does not hold magazines." icon_state = "bandolier" item_state = "bandolier" @@ -694,6 +709,10 @@ /obj/item/ammo_casing )) +/obj/item/storage/belt/bandolier/examine(mob/user) + . = ..() + . += span_notice("The bandolier can be directly loaded by clicking on it with an ammo box.") + /obj/item/storage/belt/fannypack name = "fannypack" desc = "A dorky fannypack for keeping small items in." @@ -771,6 +790,7 @@ item_state = "sheath" base_icon_state = "sheath" w_class = WEIGHT_CLASS_BULKY + var/sabre_type = /obj/item/melee/sword/sabre /obj/item/storage/belt/sabre/ComponentInitialize() . = ..() @@ -780,7 +800,7 @@ STR.use_sound = null //if youre wondering why this is null, its so you can look in your sheath to prepare to draw, without letting anyone know youre preparing to draw it STR.max_w_class = WEIGHT_CLASS_BULKY STR.set_holdable(list( - /obj/item/melee/sabre + sabre_type )) /obj/item/storage/belt/sabre/examine(mob/user) @@ -808,7 +828,7 @@ return ..() /obj/item/storage/belt/sabre/PopulateContents() - new /obj/item/melee/sabre(src) + new sabre_type(src) update_appearance() /obj/item/storage/belt/sabre/solgov @@ -818,21 +838,7 @@ icon_state = "sheath-solgov" item_state = "sheath-solgov" w_class = WEIGHT_CLASS_BULKY - -/obj/item/storage/belt/sabre/solgov/ComponentInitialize() - AddComponent(component_type) - AddElement(/datum/element/update_icon_updates_onmob) - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 1 - STR.use_sound = null - STR.max_w_class = WEIGHT_CLASS_BULKY - STR.set_holdable(list( - /obj/item/melee/sabre/solgov - )) - -/obj/item/storage/belt/sabre/solgov/PopulateContents() - new /obj/item/melee/sabre/solgov(src) - update_appearance() + sabre_type = /obj/item/melee/sword/sabre/solgov /obj/item/storage/belt/sabre/suns name = "SUNS sabre sheath" @@ -847,22 +853,7 @@ icon_state = "suns-sheath" item_state = "suns-sheath" w_class = WEIGHT_CLASS_BULKY - -/obj/item/storage/belt/sabre/suns/ComponentInitialize() - AddComponent(component_type) - AddElement(/datum/element/update_icon_updates_onmob) - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 1 - STR.use_sound = null - STR.max_w_class = WEIGHT_CLASS_BULKY - STR.set_holdable(list( - /obj/item/melee/sabre/suns - )) - -/obj/item/storage/belt/sabre/suns/PopulateContents() - new /obj/item/melee/sabre/suns(src) - update_appearance() - + sabre_type = /obj/item/melee/sword/sabre/suns /obj/item/storage/belt/sabre/suns/captain name = "SUNS captain's sabre sheath" @@ -872,21 +863,7 @@ icon_state = "suns-capsheath" item_state = "suns-capsheath" w_class = WEIGHT_CLASS_BULKY - -/obj/item/storage/belt/sabre/suns/captain/ComponentInitialize() - AddComponent(component_type) - AddElement(/datum/element/update_icon_updates_onmob) - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 1 - STR.use_sound = null - STR.max_w_class = WEIGHT_CLASS_BULKY - STR.set_holdable(list( - /obj/item/melee/sabre/suns/captain - )) - -/obj/item/storage/belt/sabre/suns/captain/PopulateContents() - new /obj/item/melee/sabre/suns/captain(src) - update_appearance() + sabre_type = /obj/item/melee/sword/sabre/suns/captain /obj/item/storage/belt/sabre/suns/cmo name = "SUNS cane sheath" @@ -902,21 +879,15 @@ icon_state = "suns-cane" item_state = "suns-cane" w_class = WEIGHT_CLASS_BULKY + sabre_type = /obj/item/melee/sword/sabre/suns/cmo -/obj/item/storage/belt/sabre/suns/cmo/ComponentInitialize() - AddComponent(component_type) - AddElement(/datum/element/update_icon_updates_onmob) - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 1 - STR.use_sound = null - STR.max_w_class = WEIGHT_CLASS_BULKY - STR.set_holdable(list( - /obj/item/melee/sabre/suns/cmo - )) - -/obj/item/storage/belt/sabre/suns/cmo/PopulateContents() - new /obj/item/melee/sabre/suns/cmo(src) - update_appearance() +/obj/item/storage/belt/sabre/pgf + name = "cutlass sheath" + desc = "A mass produced thermoplastic-leather sheath made to hold a boarding cutlass." + base_icon_state = "sheath-pgf" + icon_state = "sheath-pgf" + item_state = "sheath-pgf" + sabre_type = /obj/item/melee/sword/sabre/pgf /obj/item/storage/belt/security/webbing/inteq name = "inteq webbing" @@ -930,8 +901,18 @@ for(var/i in 1 to 4) new /obj/item/ammo_box/magazine/skm_762_40(src) +/obj/item/storage/belt/security/webbing/inteq/skm_carabine/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/smgm10mm(src) + /obj/item/storage/belt/security/webbing/inteq/alt name = "inteq drop pouch harness" desc = "A harness with a bunch of pouches attached to them emblazoned in the colors of the IRMG, can hold security gear." icon_state = "inteq_droppouch" item_state = "inteq_droppouch" + +/obj/item/storage/belt/security/webbing/inteq/alt/bulldog/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/m12g_bulldog(src) diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 8aa7b1d9c47..ef5e5cb3119 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -41,6 +41,9 @@ /obj/item/storage/box/ComponentInitialize() . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.storage_flags = STORAGE_FLAGS_VOLUME_DEFAULT + STR.max_volume = STORAGE_VOLUME_CONTAINER_S + STR.max_w_class = WEIGHT_CLASS_SMALL STR.use_sound = 'sound/items/storage/briefcase.ogg' /obj/item/storage/box/update_overlays() @@ -99,6 +102,14 @@ for(var/i in 1 to 7) new /obj/item/disk/data(src) +/obj/item/storage/box/holodisc + name = "holodisc box" + illustration = "disk_kit" + +/obj/item/storage/box/holodisc/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/disk/holodisk(src) + //guys why are my tests failing /obj/item/storage/box/disks_plantgene name = "plant data disks box" @@ -158,7 +169,7 @@ // Security survival box /obj/item/storage/box/survival/security - mask_type = /obj/item/clothing/mask/gas/sechailer + mask_type = /obj/item/clothing/mask/gas // Medical survival box /obj/item/storage/box/survival/medical @@ -168,9 +179,13 @@ internal_type = /obj/item/tank/internals/emergency_oxygen/engi //clip actually cares about their personnel /obj/item/storage/box/survival/clip/balaclava - mask_type = /obj/item/clothing/mask/gas/sechailer/balaclava + mask_type = /obj/item/clothing/mask/balaclava internal_type = /obj/item/tank/internals/emergency_oxygen/double +/obj/item/storage/box/survival/inteq + mask_type = /obj/item/clothing/mask/balaclava/inteq + internal_type = /obj/item/tank/internals/emergency_oxygen/engi + /obj/item/storage/box/survival/frontier mask_type = null // we spawn in gas masks in frontiersmen bags alongside this, so it isn't nessary internal_type = /obj/item/tank/internals/emergency_oxygen //frontiersmen dont @@ -455,7 +470,7 @@ /obj/item/storage/box/condimentbottles/PopulateContents() for(var/i in 1 to 6) - new /obj/item/reagent_containers/food/condiment(src) + new /obj/item/reagent_containers/condiment(src) /obj/item/storage/box/cups name = "box of paper cups" @@ -477,11 +492,6 @@ for(var/i in 1 to 6) new donktype(src) -/obj/item/storage/box/donkpockets/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.set_holdable(list(/obj/item/reagent_containers/food/snacks/donkpocket)) - /obj/item/storage/box/donkpockets/donkpocketspicy name = "box of spicy-flavoured donk-pockets" icon_state = "donkpocketboxspicy" @@ -519,12 +529,6 @@ illustration = null var/cube_type = /obj/item/reagent_containers/food/snacks/monkeycube -/obj/item/storage/box/monkeycubes/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 7 - STR.set_holdable(list(/obj/item/reagent_containers/food/snacks/monkeycube)) - /obj/item/storage/box/monkeycubes/PopulateContents() for(var/i in 1 to 5) new cube_type(src) @@ -539,12 +543,6 @@ icon_state = "monkeycubebox" illustration = null -/obj/item/storage/box/gorillacubes/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 3 - STR.set_holdable(list(/obj/item/reagent_containers/food/snacks/monkeycube)) - /obj/item/storage/box/gorillacubes/PopulateContents() for(var/i in 1 to 3) new /obj/item/reagent_containers/food/snacks/monkeycube/gorilla(src) @@ -676,12 +674,6 @@ icon = 'icons/obj/toy.dmi' icon_state = "spbox" -/obj/item/storage/box/snappops/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.set_holdable(list(/obj/item/toy/snappop)) - STR.max_items = 8 - /obj/item/storage/box/snappops/PopulateContents() SEND_SIGNAL(src, COMSIG_TRY_STORAGE_FILL_TYPE, /obj/item/toy/snappop) @@ -695,13 +687,7 @@ slot_flags = ITEM_SLOT_BELT drop_sound = 'sound/items/handling/matchbox_drop.ogg' pickup_sound = 'sound/items/handling/matchbox_pickup.ogg' - custom_price = 20 - -/obj/item/storage/box/matches/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 10 - STR.set_holdable(list(/obj/item/match)) + custom_price = 2 /obj/item/storage/box/matches/PopulateContents() SEND_SIGNAL(src, COMSIG_TRY_STORAGE_FILL_TYPE, /obj/item/match) @@ -720,9 +706,10 @@ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' foldable = /obj/item/stack/sheet/cardboard //BubbleWrap -/obj/item/storage/box/lights/ComponentInitialize() +/obj/item/storage/box/lights/ComponentInitialize()//holy oversized box. this one can stay the way it is, for now . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.storage_flags = STORAGE_FLAGS_LEGACY_DEFAULT STR.max_items = 21 STR.set_holdable(list(/obj/item/light/tube, /obj/item/light/bulb)) STR.max_combined_w_class = 21 @@ -758,6 +745,14 @@ for(var/i in 1 to 7) new /obj/item/flashlight/flare(src) +/obj/item/storage/box/glowsticks + name = "box of glowsticks" + illustration = "sparkler" + +/obj/item/storage/box/glowsticks/PopulateContents() + for(var/i in 1 to 7) + new /obj/effect/spawner/random/decoration/glowstick(src) + /obj/item/storage/box/deputy name = "box of deputy armbands" desc = "To be issued to those authorized to act as deputy of security." @@ -768,6 +763,15 @@ for(var/i in 1 to 7) new /obj/item/clothing/accessory/armband/deputy(src) +/obj/item/storage/box/smokebombs + name = "box of smoke grenades" + desc = "Used for rapidly laying cover." + illustration = "grenade" + +/obj/item/storage/box/smokebombs/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/grenade/smokebomb(src) + /obj/item/storage/box/metalfoam name = "box of metal foam grenades" desc = "To be used to rapidly seal hull breaches." @@ -1328,30 +1332,6 @@ /obj/item/screwdriver = 1) generate_items_inside(items_inside,src) -//It's a maid costume from the IRMG and Syndicate, what else. -/obj/item/storage/box/inteqmaid - name = "IRMG non standard issue maid outfit" - desc = "A box containing a 'tactical' and 'practical' maid outfit from the IRMG." - -/obj/item/storage/box/inteqmaid/PopulateContents() - var/static/items_inside = list( - /obj/item/clothing/head/maidheadband/inteq = 1, - /obj/item/clothing/under/syndicate/inteq/skirt/maid = 1, - /obj/item/clothing/gloves/combat/maid/inteq = 1,) - generate_items_inside(items_inside,src) - -/obj/item/storage/box/syndimaid - name = "Syndicate maid outfit" - desc = "A box containing a 'tactical' and 'practical' maid outfit." - icon_state = "syndiebox" - -/obj/item/storage/box/syndimaid/PopulateContents() - var/static/items_inside = list( - /obj/item/clothing/head/maidheadband/syndicate = 1, - /obj/item/clothing/under/syndicate/skirt/maid = 1, - /obj/item/clothing/gloves/combat/maid = 1,) - generate_items_inside(items_inside,src) - // because i have no idea where the fuck to put this /obj/item/storage/box/maid name = "Maid box" @@ -1362,7 +1342,8 @@ /obj/item/clothing/head/maidheadband = 1, /obj/item/clothing/under/costume/maid = 1, /obj/item/clothing/gloves/maid = 1, - /obj/item/clothing/neck/maid = 1,) + /obj/item/clothing/neck/maid = 1, + /obj/item/clothing/accessory/maidapron = 1,) generate_items_inside(items_inside,src) /obj/item/storage/box/material @@ -1474,13 +1455,12 @@ w_class = WEIGHT_CLASS_TINY illustration = null foldable = null - custom_price = 120 + custom_price = 5 /obj/item/storage/box/gum/ComponentInitialize() . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.set_holdable(list(/obj/item/reagent_containers/food/snacks/chewable/bubblegum)) - STR.max_items = 4 + STR.max_volume = (STORAGE_VOLUME_CONTAINER_S / 2) /obj/item/storage/box/gum/PopulateContents() for(var/i in 1 to 4) @@ -1490,7 +1470,7 @@ name = "nicotine gum packet" desc = "Designed to help with nicotine addiction and oral fixation all at once without destroying your lungs in the process. Mint flavored!" icon_state = "bubblegum_nicotine" - custom_premium_price = 275 + custom_premium_price = 10 /obj/item/storage/box/gum/nicotine/PopulateContents() for(var/i in 1 to 4) @@ -1500,8 +1480,8 @@ name = "HP+ gum packet" desc = "A seemingly homemade packaging with an odd smell. It has a weird drawing of a smiling face sticking out its tongue." icon_state = "bubblegum_happiness" - custom_price = 300 - custom_premium_price = 300 + custom_price = 10 + custom_premium_price = 10 /obj/item/storage/box/gum/happiness/Initialize() . = ..() diff --git a/code/game/objects/items/storage/briefcase.dm b/code/game/objects/items/storage/briefcase.dm index f55613dd4d2..dfc65846bd1 100644 --- a/code/game/objects/items/storage/briefcase.dm +++ b/code/game/objects/items/storage/briefcase.dm @@ -42,10 +42,10 @@ /obj/item/storage/briefcase/sniperbundle/PopulateContents() ..() // in case you need any paperwork done after your rampage - new /obj/item/gun/ballistic/automatic/marksman/sniper_rifle(src) + new /obj/item/gun/ballistic/automatic/marksman/taipan(src) new /obj/item/clothing/neck/tie/red(src) new /obj/item/clothing/under/syndicate/sniper(src) new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) - new /obj/item/suppressor/specialoffer(src) + new /obj/item/attachment/silencer(src) diff --git a/code/game/objects/items/storage/cases.dm b/code/game/objects/items/storage/cases.dm new file mode 100644 index 00000000000..0a69e5d9afb --- /dev/null +++ b/code/game/objects/items/storage/cases.dm @@ -0,0 +1,63 @@ +// For Cases of all kinds, storage with specific purpose + +//Base Case +/obj/item/storage/case + name = "case" + desc = "A large case." + icon = 'icons/obj/storage.dmi' + icon_state = "case_base" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' + drop_sound = 'sound/items/handling/toolbox_drop.ogg' + pickup_sound = 'sound/items/handling/toolbox_pickup.ogg' + throw_speed = 3 + throw_range = 7 + var/empty = FALSE + w_class = WEIGHT_CLASS_BULKY + +/obj/item/storage/case/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.use_sound = 'sound/items/storage/toolbox.ogg' + +/obj/item/storage/case/surgery + name = "surgical case" + icon_state = "case_surgery" + item_state = "case_surgery" + desc = "A large sterile tray with a lid for storing all of the tools you'd need for surgery." + +//Surgical Case +/obj/item/storage/case/surgery/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_w_class = INFINITY //workaround for the differently sized items, case is still limited to 7 items max and to the list. + STR.max_combined_w_class = INFINITY //part of the workaround, not setting a max combined weight defaults to some weird number. + STR.max_items = 7 + STR.set_holdable(list( + /obj/item/healthanalyzer, + /obj/item/healthanalyzer/advanced, + /obj/item/scalpel, + /obj/item/scalpel/advanced, + /obj/item/circular_saw, + /obj/item/circular_saw/best, //CODY WUZ HERE + /obj/item/surgicaldrill, + /obj/item/surgicaldrill/advanced, + /obj/item/retractor, + /obj/item/retractor/advanced, + /obj/item/cautery, + /obj/item/hemostat, + /obj/item/shears, + )) + +/obj/item/storage/case/surgery/PopulateContents() + if(empty) + return + var/static/items_inside = list( + /obj/item/scalpel = 1, + /obj/item/retractor = 1, + /obj/item/hemostat = 1, + /obj/item/circular_saw = 1, + /obj/item/surgicaldrill = 1, + /obj/item/cautery = 1, + /obj/item/healthanalyzer = 1) + generate_items_inside(items_inside,src) diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index d6edfb29461..da8ae670c88 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -196,7 +196,7 @@ slot_flags = ITEM_SLOT_BELT spawn_type = /obj/item/clothing/mask/cigarette/space_cigarette var/candy = FALSE //for cigarette overlay - custom_price = 75 + custom_price = 10 contents_tag = "cigarette" /obj/item/storage/fancy/cigarettes/ComponentInitialize() @@ -359,7 +359,7 @@ base_icon_state = "cig_paper_pack" contents_tag = "rolling paper" spawn_type = /obj/item/rollingpaper - custom_price = 25 + custom_price = 5 /obj/item/storage/fancy/rollingpapers/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/storage/filled_guncases.dm b/code/game/objects/items/storage/filled_guncases.dm new file mode 100644 index 00000000000..2193a834e7c --- /dev/null +++ b/code/game/objects/items/storage/filled_guncases.dm @@ -0,0 +1,336 @@ +//Erika here. I did this because guncase.dm was annoying me. It needs better organization at some point. + +/* Hunter's Pride */ + +/obj/item/storage/guncase/pistol/firebrand + gun_type = /obj/item/gun/ballistic/revolver/firebrand + +/obj/item/storage/guncase/pistol/derringer + gun_type = /obj/item/gun/ballistic/derringer + +/obj/item/storage/guncase/pistol/montagne + gun_type = /obj/item/gun/ballistic/revolver/montagne + mag_type = /obj/item/ammo_box/a44roum_speedloader + +/obj/item/storage/guncase/pistol/candor + gun_type = /obj/item/gun/ballistic/automatic/pistol/candor + mag_type = /obj/item/ammo_box/magazine/m45 + +/obj/item/storage/guncase/pistol/detective + gun_type = /obj/item/gun/ballistic/revolver/detective + mag_type = /obj/item/ammo_box/c38 + +/obj/item/storage/guncase/pistol/shadow + gun_type = /obj/item/gun/ballistic/revolver/shadow + +/obj/item/storage/guncase/pistol/ashhand + gun_type = /obj/item/gun/ballistic/revolver/ashhand + +/obj/item/storage/guncase/hellfire + gun_type = /obj/item/gun/ballistic/shotgun/hellfire + +/obj/item/storage/guncase/doublebarrel + gun_type = /obj/item/gun/ballistic/shotgun/doublebarrel + +/obj/item/storage/guncase/brimstone + gun_type = /obj/item/gun/ballistic/shotgun/brimstone + +/obj/item/storage/guncase/illestren + gun_type = /obj/item/gun/ballistic/rifle/illestren + mag_type = /obj/item/ammo_box/magazine/illestren_a850r + +/obj/item/storage/guncase/beacon + gun_type = /obj/item/gun/ballistic/shotgun/doublebarrel/beacon + +/obj/item/storage/guncase/scout + gun_type = /obj/item/gun/ballistic/rifle/scout + mag_type = /obj/item/ammo_box/a300 + +/obj/item/storage/guncase/winchester + gun_type = /obj/item/gun/ballistic/shotgun/flamingarrow + +/obj/item/storage/guncase/conflagration + gun_type = /obj/item/gun/ballistic/shotgun/flamingarrow/conflagration + +/obj/item/storage/guncase/absolution + gun_type = /obj/item/gun/ballistic/shotgun/flamingarrow/absolution + +/obj/item/storage/guncase/firestorm + gun_type = /obj/item/gun/ballistic/automatic/smg/firestorm + mag_type = /obj/item/ammo_box/magazine/c45_firestorm_mag + +/obj/item/storage/guncase/vickland + gun_type = /obj/item/gun/ballistic/automatic/marksman/vickland + mag_type = /obj/item/ammo_box/vickland_a308 + +/* Scarbourough */ + +/obj/item/storage/guncase/pistol/a357 + gun_type = /obj/item/gun/ballistic/revolver/viper + mag_type = /obj/item/ammo_box/a357/empty + +/obj/item/storage/guncase/pistol/viper + gun_type = /obj/item/gun/ballistic/revolver/viper/indie + mag_type = /obj/item/ammo_box/a357/empty + +/obj/item/storage/guncase/pistol/ringneck + gun_type = /obj/item/gun/ballistic/automatic/pistol/ringneck/indie + mag_type = /obj/item/ammo_box/magazine/m10mm_ringneck + +/obj/item/storage/guncase/pistol/pc76 + gun_type = /obj/item/gun/ballistic/automatic/pistol/ringneck + mag_type = /obj/item/ammo_box/magazine/m10mm_ringneck + +/obj/item/storage/guncase/pistol/asp + gun_type = /obj/item/gun/ballistic/automatic/pistol/asp + mag_type = /obj/item/ammo_box/magazine/m57_39_asp + +/obj/item/storage/guncase/pistol/rattlesnake + gun_type = /obj/item/gun/ballistic/automatic/pistol/rattlesnake + mag_type = /obj/item/ammo_box/magazine/m9mm_rattlesnake + +/obj/item/storage/guncase/cobra + gun_type = /obj/item/gun/ballistic/automatic/smg/cobra/indie + mag_type = /obj/item/ammo_box/magazine/m45_cobra + +/obj/item/storage/guncase/boomslang + gun_type = /obj/item/gun/ballistic/automatic/marksman/boomslang/indie + mag_type = /obj/item/ammo_box/magazine/boomslang/short + +/obj/item/storage/guncase/boomslangmilitary + gun_type = /obj/item/gun/ballistic/automatic/marksman/boomslang + mag_type = /obj/item/ammo_box/magazine/boomslang/short + +/obj/item/storage/guncase/rattlesnake + gun_type = /obj/item/gun/ballistic/automatic/pistol/rattlesnake + mag_type = /obj/item/ammo_box/magazine/m9mm_rattlesnake + +/obj/item/storage/guncase/bulldog + gun_type = /obj/item/gun/ballistic/shotgun/automatic/bulldog + mag_type = /obj/item/ammo_box/magazine/m12g_bulldog + +/obj/item/storage/guncase/sidewinder + gun_type = /obj/item/gun/ballistic/automatic/smg/sidewinder + mag_type = /obj/item/ammo_box/magazine/m57_39_sidewinder + +/obj/item/storage/guncase/hydra + gun_type = /obj/item/gun/ballistic/automatic/assault/hydra + mag_type = /obj/item/ammo_box/magazine/m556_42_hydra + +/obj/item/storage/guncase/sbr80 + gun_type = /obj/item/gun/ballistic/automatic/assault/hydra/dmr + mag_type = /obj/item/ammo_box/magazine/m556_42_hydra/small + +/obj/item/storage/guncase/saw80 + gun_type = /obj/item/gun/ballistic/automatic/assault/hydra/lmg + mag_type = /obj/item/ammo_box/magazine/m556_42_hydra/extended + +/obj/item/storage/guncase/taipan + gun_type = /obj/item/gun/ballistic/automatic/marksman/taipan + mag_type = /obj/item/ammo_box/magazine/sniper_rounds + +/* Etherbor */ + +/obj/item/storage/guncase/pistol/kalixpistol + gun_type = /obj/item/gun/energy/kalix/pistol + mag_type = /obj/item/stock_parts/cell/gun/kalix + +/obj/item/storage/guncase/energy/kalixrifle + gun_type = /obj/item/gun/energy/kalix + mag_type = /obj/item/stock_parts/cell/gun/kalix + +/obj/item/storage/guncase/energy/bg16 + gun_type = /obj/item/gun/energy/kalix/pgf + mag_type = /obj/item/stock_parts/cell/gun/pgf + +/obj/item/storage/guncase/energy/hbg7 + gun_type = /obj/item/gun/energy/kalix/pgf/heavy + mag_type = /obj/item/stock_parts/cell/gun/pgf + +/obj/item/storage/guncase/energy/hbg7l + gun_type = /obj/item/gun/energy/kalix/pgf/heavy/sniper + mag_type = /obj/item/stock_parts/cell/gun/pgf + +/* Serene Outdoors Guns */ + +/obj/item/storage/guncase/pistol/m17 + gun_type = /obj/item/gun/ballistic/automatic/pistol/m17 + mag_type = /obj/item/ammo_box/magazine/m17 + +/obj/item/storage/guncase/m12 + gun_type = /obj/item/gun/ballistic/automatic/m12_sporter + mag_type = /obj/item/ammo_box/magazine/m12_sporter + +/obj/item/storage/guncase/m13 + gun_type = /obj/item/gun/ballistic/automatic/m12_sporter/mod + mag_type = /obj/item/ammo_box/magazine/m12_sporter + mag_count = 3 + +/obj/item/storage/guncase/m15 + gun_type = /obj/item/gun/ballistic/automatic/m15 + mag_type = /obj/item/ammo_box/magazine/m15 + +/obj/item/storage/guncase/buckmaster + gun_type = /obj/item/gun/ballistic/shotgun/automatic/m11 + +/* Solar Armories */ + +/obj/item/storage/guncase/pistol/modelh + gun_type = /obj/item/gun/ballistic/automatic/powered/gauss/modelh + mag_type = /obj/item/ammo_box/magazine/modelh + +/obj/item/storage/guncase/pistol/pistolec + gun_type = /obj/item/gun/ballistic/automatic/pistol/solgov + mag_type = /obj/item/ammo_box/magazine/pistol556mm + +/obj/item/storage/guncase/ssg669 + gun_type = /obj/item/gun/ballistic/rifle/solgov + mag_type = /obj/item/ammo_box/a858 + +/obj/item/storage/guncase/claris + gun_type = /obj/item/gun/ballistic/automatic/powered/gauss/claris + mag_type = /obj/item/ammo_box/amagpellet_claris + +/obj/item/storage/guncase/gar + gun_type = /obj/item/gun/ballistic/automatic/powered/gauss/gar + mag_type = /obj/item/ammo_box/magazine/gar + +/* VI */ + +/obj/item/storage/guncase/pistol/commander + gun_type = /obj/item/gun/ballistic/automatic/pistol/commander + mag_type = /obj/item/ammo_box/magazine/co9mm + +/obj/item/storage/guncase/vector + gun_type = /obj/item/gun/ballistic/automatic/smg/vector + mag_type = /obj/item/ammo_box/magazine/smgm9mm + +/* Sharplite */ + +/obj/item/storage/guncase/pistol/miniegun + gun_type = /obj/item/gun/energy/e_gun/mini + mag_type = /obj/item/stock_parts/cell/gun/mini + +/obj/item/storage/guncase/energy + mag_type = /obj/item/stock_parts/cell/gun + +/obj/item/storage/guncase/energy/laser + gun_type = /obj/item/gun/energy/laser + +/obj/item/storage/guncase/energy/egun + gun_type = /obj/item/gun/energy/e_gun + +/obj/item/storage/guncase/energy/ultima + gun_type = /obj/item/gun/energy/e_gun/iot + +/obj/item/storage/guncase/energy/etar + gun_type = /obj/item/gun/energy/e_gun/smg + +/obj/item/storage/guncase/energy/iongun + gun_type = /obj/item/gun/energy/ionrifle + +/obj/item/storage/guncase/hades + gun_type = /obj/item/gun/energy/e_gun/hades + mag_type = /obj/item/stock_parts/cell/gun/upgraded + +/* Old NT */ + +/obj/item/storage/guncase/wt550 + gun_type = /obj/item/gun/ballistic/automatic/smg/wt550 + mag_type = /obj/item/ammo_box/magazine/wt550m9 + +/obj/item/storage/guncase/gauss + gun_type = /obj/item/gun/ballistic/automatic/powered/gauss + mag_type = /obj/item/ammo_box/magazine/gauss + +/obj/item/storage/guncase/saber + gun_type = /obj/item/gun/ballistic/automatic/smg/skm_carbine/saber + mag_type = /obj/item/ammo_box/magazine/smgm9mm + +/* Minutemen */ + +/obj/item/storage/guncase/pistol/cm23 + gun_type = /obj/item/gun/ballistic/automatic/pistol/cm23 + mag_type = /obj/item/ammo_box/magazine/cm23 + +/obj/item/storage/guncase/pistol/cm70 + gun_type = /obj/item/gun/ballistic/automatic/pistol/cm70 + mag_type = /obj/item/ammo_box/magazine/m9mm_cm70 + +/obj/item/storage/guncase/pistol/cm357 + gun_type = /obj/item/gun/ballistic/automatic/pistol/cm357 + mag_type = /obj/item/ammo_box/magazine/cm357 + +/obj/item/storage/guncase/cm5 + gun_type = /obj/item/gun/ballistic/automatic/smg/cm5 + mag_type = /obj/item/ammo_box/magazine/cm5_9mm + +/obj/item/storage/guncase/cm82 + gun_type = /obj/item/gun/ballistic/automatic/assault/cm82 + mag_type = /obj/item/ammo_box/magazine/p16 + +/obj/item/storage/guncase/cmf4 + gun_type = /obj/item/gun/ballistic/automatic/marksman/f4 + mag_type = /obj/item/ammo_box/magazine/f4_308 + +/obj/item/storage/guncase/cm15 + gun_type = /obj/item/gun/ballistic/shotgun/cm15 + mag_type = /obj/item/ammo_box/magazine/cm15_12g + +/obj/item/storage/guncase/cm24 + gun_type = /obj/item/gun/ballistic/automatic/assault/skm/cm24 + mag_type = /obj/item/ammo_box/magazine/skm_762_40 + +/obj/item/storage/guncase/cmf90 + gun_type = /obj/item/gun/ballistic/automatic/marksman/f90 + mag_type = /obj/item/ammo_box/magazine/f90 + +/obj/item/storage/guncase/cm40 + gun_type = /obj/item/gun/ballistic/automatic/hmg/cm40 + mag_type = /obj/item/ammo_box/magazine/cm40_762_40_box + +/* Inteq */ + +/obj/item/storage/guncase/skm_inteq + gun_type = /obj/item/gun/ballistic/automatic/assault/skm/inteq + mag_type = /obj/item/ammo_box/magazine/skm_762_40 + +/obj/item/storage/guncase/commissioner + gun_type = /obj/item/gun/ballistic/automatic/pistol/commander/inteq + mag_type = /obj/item/ammo_box/magazine/co9mm + +/obj/item/storage/guncase/mongrel + gun_type = /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq + mag_type = /obj/item/ammo_box/magazine/smgm10mm + +/obj/item/storage/guncase/mastiff + gun_type = /obj/item/gun/ballistic/shotgun/automatic/bulldog/inteq + mag_type = /obj/item/ammo_box/magazine/m12g_bulldog + +/obj/item/storage/guncase/kingsnake + gun_type = /obj/item/gun/ballistic/automatic/pistol/rattlesnake/inteq + mag_type = /obj/item/ammo_box/magazine/m9mm_rattlesnake + +/obj/item/storage/guncase/ssg04 + gun_type = /obj/item/gun/ballistic/automatic/marksman/f4/inteq + mag_type = /obj/item/ammo_box/magazine/f4_308 + +/* idk */ + +/obj/item/storage/guncase/pistol/disposable +/obj/item/storage/guncase/pistol/disposable/PopulateContents() + new /obj/item/gun/ballistic/automatic/pistol/disposable(src) + new /obj/item/gun/ballistic/automatic/pistol/disposable(src) + +/obj/item/storage/guncase/skm + gun_type = /obj/item/gun/ballistic/automatic/assault/skm + mag_type = /obj/item/ammo_box/magazine/skm_762_40 + +/obj/item/storage/guncase/skm_lmg + gun_type = /obj/item/gun/ballistic/automatic/hmg/skm_lmg + mag_type = /obj/item/ammo_box/magazine/skm_762_40/drum + +/* Eoehoma */ + +/obj/item/storage/guncase/energy/e10 + gun_type = /obj/item/gun/energy/laser/e10 diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index bac896c0b8d..5cc98e8c609 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -108,7 +108,7 @@ return var/static/items_inside = list( /obj/item/healthanalyzer = 1, - /obj/item/stack/medical/gauze = 1, + /obj/item/stack/medical/gauze/twelve = 1, /obj/item/stack/medical/suture = 2, /obj/item/stack/medical/mesh = 2, /obj/item/reagent_containers/hypospray/medipen = 1, diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm index 6790a68456a..ea79d87e089 100644 --- a/code/game/objects/items/storage/guncases.dm +++ b/code/game/objects/items/storage/guncases.dm @@ -1,8 +1,10 @@ /obj/item/storage/guncase name = "gun case" desc = "A large box designed for holding firearms and magazines safely." - icon = 'icons/obj/guncase_48x32.dmi' - icon_state = "riflecase" + icon = 'icons/obj/guncase.dmi' + icon_state = "guncase" + lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi' item_state = "infiltrator_case" force = 12 throwforce = 12 @@ -13,28 +15,54 @@ hitsound = 'sound/weapons/smash.ogg' drop_sound = 'sound/items/handling/toolbox_drop.ogg' pickup_sound = 'sound/items/handling/toolbox_pickup.ogg' - - -/obj/item/storage/guncase/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 10 - STR.max_w_class = WEIGHT_CLASS_BULKY - STR.set_holdable(list( + custom_materials = list(/datum/material/iron = 500) + var/max_items = 10 + var/max_w_class = WEIGHT_CLASS_BULKY + var/gun_type + var/mag_type + var/mag_count = 2 + var/ammoless = TRUE + var/grab_loc = FALSE + var/holdable_items = list( /obj/item/gun, /obj/item/ammo_box, /obj/item/stock_parts/cell/gun - )) + ) -/obj/item/storage/guncase/winchester -/obj/item/storage/guncase/winchester/PopulateContents() - new /obj/item/gun/ballistic/shotgun/flamingarrow/no_mag(src) +/obj/item/storage/guncase/Initialize(mapload) + . = ..() + if(mapload && grab_loc) + var/items_eaten = 0 + for(var/obj/item/I in loc) + if(I.w_class > max_w_class) + continue + if(is_type_in_list(I, holdable_items)) + I.forceMove(src) + items_eaten++ + if(items_eaten >= mag_count + 1) + break -/obj/item/storage/guncase/skm -/obj/item/storage/guncase/skm/PopulateContents() - new /obj/item/gun/ballistic/automatic/assault/skm/no_mag(src) - new /obj/item/ammo_box/magazine/skm_762_40/empty(src) - new /obj/item/ammo_box/magazine/skm_762_40/empty(src) +/obj/item/storage/guncase/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = max_items + STR.max_w_class = max_w_class + STR.set_holdable(holdable_items) + +/obj/item/storage/guncase/PopulateContents() + if(grab_loc) + return + if(gun_type) + new gun_type(src, ammoless) + if(mag_type) + for(var/i in 1 to mag_count) + if(ispath(mag_type, /obj/item/ammo_box) | ispath(mag_type, /obj/item/stock_parts/cell)) + new mag_type(src, ammoless) + +/// Need to double check this in a seperate pr that adds this to a few ships +/// Eats the items on its tile +/obj/item/storage/guncase/inherit + grab_loc = TRUE /obj/item/storage/guncase/p16 /obj/item/storage/guncase/p16/PopulateContents() @@ -42,61 +70,11 @@ new /obj/item/ammo_box/magazine/p16/empty(src) new /obj/item/ammo_box/magazine/p16/empty(src) -/obj/item/storage/guncase/beacon -/obj/item/storage/guncase/beacon/PopulateContents() - new /obj/item/gun/ballistic/shotgun/doublebarrel/beacon(src) - -/obj/item/storage/guncase/scout -/obj/item/storage/guncase/scout/PopulateContents() - new /obj/item/gun/ballistic/rifle/scout/no_mag(src) - new /obj/item/ammo_box/a300/empty(src) - new /obj/item/ammo_box/a300/empty(src) - -/obj/item/storage/guncase/cobra -/obj/item/storage/guncase/cobra/PopulateContents() - new /obj/item/gun/ballistic/automatic/smg/c20r/cobra/no_mag(src) - new /obj/item/ammo_box/magazine/smgm45/empty(src) - new /obj/item/ammo_box/magazine/smgm45/empty(src) - - -/obj/item/storage/guncase/hellfire -/obj/item/storage/guncase/hellfire/PopulateContents() - new /obj/item/gun/ballistic/shotgun/hellfire/no_mag(src) - -/obj/item/storage/guncase/doublebarrel -/obj/item/storage/guncase/doublebarrel/PopulateContents() - new /obj/item/gun/ballistic/shotgun/doublebarrel/no_mag(src) - -/obj/item/storage/guncase/brimstone -/obj/item/storage/guncase/brimstone/PopulateContents() - new /obj/item/gun/ballistic/shotgun/brimstone/no_mag(src) - -/obj/item/storage/guncase/illestren -/obj/item/storage/guncase/illestren/PopulateContents() - new /obj/item/gun/ballistic/rifle/illestren/empty(src) - new /obj/item/ammo_box/magazine/illestren_a850r/empty(src) - new /obj/item/ammo_box/magazine/illestren_a850r/empty(src) - -/obj/item/storage/guncase/wt550 -/obj/item/storage/guncase/wt550/PopulateContents() - new /obj/item/gun/ballistic/automatic/smg/wt550(src) - new /obj/item/ammo_box/magazine/wt550m9/empty(src) - new /obj/item/ammo_box/magazine/wt550m9/empty(src) - -/obj/item/storage/pistolcase +/obj/item/storage/guncase/pistol name = "pistol case" desc = "A large box designed for holding pistols and magazines safely." - icon = 'icons/obj/guncase.dmi' - icon_state = "pistolcase" - item_state = "infiltrator_case" - force = 12 - throwforce = 12 - throw_speed = 2 - w_class = WEIGHT_CLASS_BULKY - attack_verb = list("robusted") - hitsound = 'sound/weapons/smash.ogg' - drop_sound = 'sound/items/handling/toolbox_drop.ogg' - pickup_sound = 'sound/items/handling/toolbox_pickup.ogg' + max_items = 8 + max_w_class = WEIGHT_CLASS_NORMAL /obj/item/storage/pistolcase/ComponentInitialize() . = ..() @@ -118,8 +96,8 @@ /obj/item/storage/pistolcase/stechkin /obj/item/storage/pistolcase/stechkin/PopulateContents() new /obj/item/gun/ballistic/automatic/pistol/syndicate/no_mag(src) - new /obj/item/ammo_box/magazine/m10mm/empty(src) - new /obj/item/ammo_box/magazine/m10mm/empty(src) + new /obj/item/ammo_box/magazine/m10mm_ringneck/empty(src) + new /obj/item/ammo_box/magazine/m10mm_ringneck/empty(src) /obj/item/storage/pistolcase/candor /obj/item/storage/pistolcase/candor/PopulateContents() @@ -155,7 +133,7 @@ /obj/item/storage/pistolcase/derringer /obj/item/storage/pistolcase/derringer/PopulateContents() - new /obj/item/gun/ballistic/derringer/no_mag(src) + new /obj/item/gun/ballistic/derringer/empty(src) /obj/item/storage/pistolcase/a357 /obj/item/storage/pistolcase/a357/PopulateContents() @@ -204,3 +182,8 @@ /obj/item/storage/pistolcase/iongun/PopulateContents() new /obj/item/gun/energy/ionrifle/empty_cell(src) new /obj/item/stock_parts/cell/gun(src) + +/// Need to double check this in a seperate pr that adds this to a few ships +/// Eats the items on its tile +/obj/item/storage/guncase/pistol/inherit + grab_loc = TRUE diff --git a/code/game/objects/items/storage/holsters.dm b/code/game/objects/items/storage/holsters.dm index 9000d5e4dbd..251cc9e06b1 100644 --- a/code/game/objects/items/storage/holsters.dm +++ b/code/game/objects/items/storage/holsters.dm @@ -24,7 +24,7 @@ STR.max_items = 1 STR.max_w_class = WEIGHT_CLASS_NORMAL STR.set_holdable(list( - /obj/item/gun/ballistic/automatic/pistol/syndicate, + /obj/item/gun/ballistic/automatic/pistol/ringneck, /obj/item/gun/ballistic/revolver, /obj/item/gun/energy/e_gun/mini, /obj/item/gun/energy/disabler, @@ -90,7 +90,7 @@ STR.max_items = 2 STR.max_w_class = WEIGHT_CLASS_NORMAL STR.set_holdable(list( - /obj/item/gun/ballistic/automatic/pistol/syndicate, + /obj/item/gun/ballistic/automatic/pistol/ringneck, /obj/item/gun/ballistic/revolver, /obj/item/gun/energy/e_gun/mini, /obj/item/gun/energy/disabler, diff --git a/code/game/objects/items/storage/ration.dm b/code/game/objects/items/storage/ration.dm index 482ba202a73..9a9e4a5a261 100644 --- a/code/game/objects/items/storage/ration.dm +++ b/code/game/objects/items/storage/ration.dm @@ -9,16 +9,28 @@ resistance_flags = FLAMMABLE drop_sound = 'sound/items/handling/cardboardbox_drop.ogg' pickup_sound = 'sound/items/handling/cardboardbox_pickup.ogg' + var/emblem_icon_state = "null" + var/ration_overlay = "null" /obj/item/storage/ration/Initialize(mapload) . = ..() update_icon() + update_overlays() + +/obj/item/storage/ration/update_overlays() + . = ..() + var/mutable_appearance/ration_overlay + if(emblem_icon_state) + ration_overlay = mutable_appearance(icon, emblem_icon_state) + add_overlay(ration_overlay) /obj/item/storage/ration/ComponentInitialize() . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_items = 7 - STR.set_holdable(list(/obj/item/reagent_containers/food)) + STR.set_holdable(list( + /obj/item/reagent_containers/food, + /obj/item/ration_heater)) STR.locked = TRUE STR.locked_flavor = "sealed closed" @@ -38,13 +50,13 @@ /obj/item/storage/ration/vegan_chili name = "vegan chili with beans ration" desc = "A complete meal package containing a hearty vegan chili with beans, complemented by vegetable crackers, savory cornbread, flavorful pizza crackers, and more. A perfect choice for plant-based nourishment." - + emblem_icon_state = "emblem_vegan_chili" /obj/item/storage/ration/vegan_chili/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/vegan_chili = 1, /obj/item/reagent_containers/food/snacks/ration/side/vegan_crackers = 1, /obj/item/reagent_containers/food/snacks/ration/side/cornbread = 1, - /obj/item/reagent_containers/food/snacks/ration/snack/pizza_crackers = 1, + /obj/item/reagent_containers/food/snacks/ration/snack/fruit_puree = 1, /obj/item/reagent_containers/food/snacks/ration/condiment/cheese_spread = 1, /obj/item/reagent_containers/food/snacks/ration/pack/grape_beverage = 1, /obj/item/ration_heater = 1 @@ -54,7 +66,7 @@ /obj/item/storage/ration/shredded_beef name = "shredded beef in barbecue sauce ration" desc = "Enjoy the rich and savory flavors of shredded beef in smoky barbecue sauce with this satisfying ration. Accompanied by a fruit puree, jerky wrap, cinnamon bun, and additional condiments, this ration is perfect for meat lovers." - + emblem_icon_state = "emblem_shredded_beef" /obj/item/storage/ration/shredded_beef/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/shredded_beef = 1, @@ -70,7 +82,7 @@ /obj/item/storage/ration/pork_spaghetti name = "spaghetti with pork and sauce ration" desc = "Indulge in a comforting meal of spaghetti with tender pork and savory sauce with this ration. Complemented by a toaster pastry, seasoned bread sticks, dried raisins, and other accompaniments, this ration offers a flavorful experience." - + emblem_icon_state = "emblem_pork_spaghetti" /obj/item/storage/ration/pork_spaghetti/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/pork_spaghetti = 1, @@ -86,7 +98,7 @@ /obj/item/storage/ration/fried_fish name = "fried fish chunks ration" desc = "Experience the crispy delight of fried fish chunks with this ration. Accompanied by an energy bar, tortillas, toasted corn kernels, and more, this ration provides a satisfying combination of flavors and textures." - + emblem_icon_state = "emblem_fried_fish" /obj/item/storage/ration/fried_fish/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/fried_fish = 1, @@ -103,7 +115,7 @@ /obj/item/storage/ration/beef_strips name = "beef strips in tomato sauce ration" desc = "Savor the deliciousness of tender beef strips in a flavorful tomato sauce with this ration. Enjoy a chocolate pudding, white wheat snack bread, blackberry preserves, and peppermint candy rings as delightful accompaniments." - + emblem_icon_state = "emblem_beef_strips" /obj/item/storage/ration/beef_strips/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/beef_strips = 1, @@ -120,7 +132,7 @@ /obj/item/storage/ration/chili_macaroni name = "chili and macaroni ration" desc = "Indulge in the comforting combination of chili and macaroni in this flavorful ration. Satisfy your taste buds with a mix of sweet and savory treats." - + emblem_icon_state = "emblem_chili_macaroni" /obj/item/storage/ration/chili_macaroni/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/chili_macaroni = 1, @@ -137,7 +149,7 @@ /obj/item/storage/ration/chicken_wings_hot_sauce name = "chicken wings in hot sauce ration" desc = "Experience the bold and spicy flavors of chicken wings drenched in hot sauce. This ration also includes a mix of delightful snacks for a well-rounded meal." - + emblem_icon_state = "emblem_chicken_wings_hot_sauce" /obj/item/storage/ration/chicken_wings_hot_sauce/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/chicken_wings_hot_sauce = 1, @@ -153,7 +165,7 @@ /obj/item/storage/ration/fish_stew name = "fish stew ration" desc = "Dive into the depths of flavor with this fish stew ration. Enjoy a hearty blend of seafood and vegetables, complemented by a selection of tasty accompaniments." - + emblem_icon_state = "emblem_fish_stew" /obj/item/storage/ration/fish_stew/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/fish_stew = 1, @@ -170,7 +182,7 @@ /obj/item/storage/ration/lemon_pepper_chicken name = "lemon pepper chicken ration" desc = "A tasty Lemon Pepper Chicken ration that combines the flavors of fruit and meat. Perfect for a satisfying meal." - + emblem_icon_state = "emblem_lemon_pepper_chicken" /obj/item/storage/ration/lemon_pepper_chicken/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/lemon_pepper_chicken = 1, @@ -186,7 +198,7 @@ /obj/item/storage/ration/sausage_peppers_onions name = "sausage, peppers and onions ration" desc = "Indulge in the delightful combination of juicy sausage, peppers, and onions in this hearty ration." - + emblem_icon_state = "emblem_sausage_peppers_onions" /obj/item/storage/ration/sausage_peppers_onions/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/sausage_peppers_onions = 1, @@ -202,7 +214,7 @@ /obj/item/storage/ration/pork_dumplings_chili_sauce name = "pork dumplings in chili sauce ration" desc = "Savor the rich flavors of pork dumplings in a spicy chili sauce, accompanied by a variety of complementary snacks." - + emblem_icon_state = "emblem_pork_dumplings_chili_sauce" /obj/item/storage/ration/pork_dumplings_chili_sauce/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/dumplings_chili_sauce = 1, @@ -218,7 +230,7 @@ /obj/item/storage/ration/battered_fish_sticks name = "battered fish sticks ration" desc = "Enjoy the crispy goodness of battered fish sticks, along with a selection of sides and a delectable dessert." - + emblem_icon_state = "emblem_battered_fish_sticks" /obj/item/storage/ration/battered_fish_sticks/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/battered_fish_sticks = 1, @@ -234,7 +246,7 @@ /obj/item/storage/ration/assorted_salted_offal name = "assorted salted offal ration" desc = "An adventurous choice, this ration offers an assortment of salted offal, providing a unique culinary experience." - + emblem_icon_state = "emblem_assorted_salted_offal" /obj/item/storage/ration/assorted_salted_offal/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/assorted_salted_offal = 1, @@ -250,7 +262,7 @@ /obj/item/storage/ration/maple_pork_sausage_patty name = "maple pork sausage patty ration" desc = "Start your day with a satisfying breakfast featuring a maple-infused pork sausage patty and a variety of treats." - + emblem_icon_state = "emblem_maple_pork_sausage_patty" /obj/item/storage/ration/maple_pork_sausage_patty/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/maple_pork_sausage_patty = 1, @@ -267,7 +279,7 @@ /obj/item/storage/ration/pepper_jack_beef_patty name = "jalapeno pepper jack beef patty ration" desc = "Experience a flavorful fusion of jalapeno, pepper jack cheese, and beef in this grilled beef patty ration." - + emblem_icon_state = "emblem_pepper_jack_beef_patty" /obj/item/storage/ration/pepper_jack_beef_patty/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/pepper_jack_beef_patty = 1, @@ -284,7 +296,7 @@ /obj/item/storage/ration/beef_goulash name = "beef goulash ration" desc = "Delight in the rich flavors of beef goulash, accompanied by a selection of sides and a sweet treat." - + emblem_icon_state = "emblem_beef_goulash" /obj/item/storage/ration/beef_goulash/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/beef_goulash = 1, @@ -301,7 +313,7 @@ /obj/item/storage/ration/pepperoni_pizza_slice name = "pepperoni pizza slice ration" desc = "Indulge in the classic taste of pepperoni pizza with this ration, complete with sides and a refreshing beverage." - + emblem_icon_state = "emblem_pepperoni_pizza_slice" /obj/item/storage/ration/pepperoni_pizza_slice/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/pepperoni_pizza_slice = 1, @@ -317,7 +329,7 @@ /obj/item/storage/ration/blackened_calamari name = "blackened calamari in red sauce ration" desc = "Enjoy the savory delight of blackened calamari served in a rich red sauce." - + emblem_icon_state = "emblem_blackened_calamari" /obj/item/storage/ration/blackened_calamari/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/blackened_calamari = 1, @@ -334,7 +346,7 @@ /obj/item/storage/ration/elbow_macaroni name = "elbow macaroni in tomato sauce ration" desc = "Savor the comforting taste of elbow macaroni in a delicious tomato sauce." - + emblem_icon_state = "emblem_elbow_macaroni" /obj/item/storage/ration/elbow_macaroni/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/elbow_macaroni = 1, @@ -351,7 +363,7 @@ /obj/item/storage/ration/cheese_pizza_slice name = "cheese pizza slice ration" desc = "Experience the timeless flavor of a classic cheese pizza slice." - + emblem_icon_state = "emblem_cheese_pizza_slice" /obj/item/storage/ration/cheese_pizza_slice/PopulateContents() var/static/items_inside = list( /obj/item/reagent_containers/food/snacks/ration/entree/cheese_pizza_slice = 1, @@ -368,7 +380,7 @@ /obj/item/storage/ration/crayons name = "military grade crayon ration" desc = "Proven to increase kill count by atleast 1." - + emblem_icon_state = "emblem_crayons" /obj/item/storage/ration/crayons/PopulateContents() var/static/items_inside = list( /obj/item/toy/crayon/red = 1, diff --git a/code/game/objects/items/storage/secure.dm b/code/game/objects/items/storage/secure.dm index 238e39ce931..f46d6eb4c2c 100644 --- a/code/game/objects/items/storage/secure.dm +++ b/code/game/objects/items/storage/secure.dm @@ -173,7 +173,7 @@ . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.set_holdable(null, list(/obj/item/storage/secure/briefcase)) - STR.max_w_class = 8 //?? + STR.max_w_class = 8 /obj/item/storage/secure/safe/PopulateContents() new /obj/item/paper(src) @@ -200,9 +200,9 @@ /obj/item/storage/secure/safe/intel/stechkin/PopulateContents() . = ..() - new /obj/item/gun/ballistic/automatic/pistol/syndicate(src) - new /obj/item/ammo_box/magazine/m10mm(src) - new /obj/item/ammo_box/magazine/m10mm(src) + new /obj/item/gun/ballistic/automatic/pistol/ringneck(src) + new /obj/item/ammo_box/magazine/m10mm_ringneck(src) + new /obj/item/ammo_box/magazine/m10mm_ringneck(src) /obj/item/storage/secure/safe/suns name = "Captain's Secure Safe" @@ -211,3 +211,20 @@ /obj/item/storage/secure/safe/suns/PopulateContents() . = ..() new /obj/item/storage/belt/sabre/suns(src) + +/obj/item/storage/secure/safe/cybersun + name = "Captain's secure safe" + desc = "An electronic safe manufactured by Cybersun Virtual Solutions." + +/obj/item/storage/secure/safe/cybersun/PopulateContents() + new /obj/item/gun/ballistic/automatic/pistol/himehabu/no_mag(src) + new /obj/item/ammo_box/magazine/m22lr_himehabu(src) + new /obj/item/ammo_box/magazine/m22lr_himehabu(src) + +/obj/item/storage/secure/safe/cybersun/solutions/PopulateContents() + . = ..() + new /obj/item/folder/documents/syndicate/cybersun(src) + +/obj/item/storage/secure/safe/cybersun/biodynamics/PopulateContents() + . = ..() + new /obj/item/folder/documents/syndicate/cybersun/biodynamics(src) diff --git a/code/game/objects/items/storage/storage.dm b/code/game/objects/items/storage/storage.dm index c2619eef4c1..f0e5665b446 100644 --- a/code/game/objects/items/storage/storage.dm +++ b/code/game/objects/items/storage/storage.dm @@ -28,6 +28,12 @@ if(EXPLODE_LIGHT) SSexplosions.lowobj += A +/obj/item/storage/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + . = ..() + for(var/obj/item/gun/at_risk in get_all_contents()) + if(at_risk.safety == FALSE && prob(GUN_NO_SAFETY_MALFUNCTION_CHANCE_HIGH)) + at_risk.discharge("is hits the ground hard") + /obj/item/storage/canStrip(mob/who) . = ..() if(!. && rummage_if_nodrop) diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 88eb493626d..ba57add3f6f 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -17,12 +17,13 @@ drop_sound = 'sound/items/handling/toolbox_drop.ogg' pickup_sound = 'sound/items/handling/toolbox_pickup.ogg' material_flags = MATERIAL_COLOR - var/latches = "single_latch" + var/latches = null var/has_latches = TRUE /obj/item/storage/toolbox/Initialize() . = ..() - if(has_latches) + if(has_latches && !latches) + latches = "single_latch" if(prob(10)) latches = "double_latch" if(prob(1)) @@ -71,12 +72,10 @@ material_flags = NONE /obj/item/storage/toolbox/mechanical/PopulateContents() - //WS Edit - Better Tool sprites if(prob(50)) new /obj/item/wrench(src) else new /obj/item/wrench/crescent(src) - //WS End new /obj/item/screwdriver(src) new /obj/item/weldingtool(src) new /obj/item/crowbar(src) @@ -158,11 +157,9 @@ new /obj/item/stack/cable_coil(src,MAXCOIL,pickedcolor) /obj/item/storage/toolbox/syndicate - name = "suspicious looking toolbox" + name = "black and red toolbox" icon_state = "syndicate" item_state = "toolbox_syndi" - force = 15 - throwforce = 18 material_flags = NONE /obj/item/storage/toolbox/syndicate/ComponentInitialize() @@ -172,12 +169,12 @@ /obj/item/storage/toolbox/syndicate/PopulateContents() new /obj/item/screwdriver/nuke(src) - new /obj/item/wrench/syndie(src) //WS Edit - Cool Syndie Tools + new /obj/item/wrench/syndie(src) new /obj/item/weldingtool/largetank(src) - new /obj/item/crowbar/syndie(src) //WS Begin - Cool Syndie Tools + new /obj/item/crowbar/syndie(src) new /obj/item/wirecutters/syndie(src) - new /obj/item/multitool/syndie(src) //WS End - new /obj/item/clothing/gloves/combat(src) + new /obj/item/multitool/syndie(src) + new /obj/item/clothing/gloves/color/yellow(src) /obj/item/storage/toolbox/syndicate/empty @@ -225,58 +222,6 @@ new /obj/item/stack/cable_coil/cyan(src) new /obj/item/stack/cable_coil/white(src) -/obj/item/storage/toolbox/ammo - name = "ammo can" - desc = "A metal container for storing multiple boxes of ammunition or grenades." - icon_state = "ammobox" - item_state = "ammobox" - drop_sound = 'sound/items/handling/ammobox_drop.ogg' - pickup_sound = 'sound/items/handling/ammobox_pickup.ogg' - material_flags = NONE - has_latches = FALSE - -/obj/item/storage/toolbox/ammo/a850r/PopulateContents() - name = "ammo can (8x50mmR)" - icon_state = "ammobox_850" - for(var/i in 1 to 4) - new /obj/item/ammo_box/c8x50mm_box(src) - -/obj/item/storage/toolbox/ammo/a762_40/PopulateContents() - name = "ammo can (7.62x40mm CLIP)" - icon_state = "ammobox_762" - for (var/i in 1 to 4) - new /obj/item/ammo_box/a762_40(src) - -/obj/item/storage/toolbox/ammo/a308/PopulateContents() - name = "ammo can (.308)" - icon_state = "ammobox_308" - for (var/i in 1 to 4) - new /obj/item/ammo_box/a308(src) - -/obj/item/storage/toolbox/ammo/c45/PopulateContents() - name = "ammo can (.45)" - icon_state = "ammobox_45" - for (var/i in 1 to 4) - new /obj/item/ammo_box/c45(src) - -/obj/item/storage/toolbox/ammo/c9mm/PopulateContents() - name = "ammo can (9mm)" - icon_state = "ammobox_9mm" - for (var/i in 1 to 4) - new /obj/item/ammo_box/c9mm(src) - -/obj/item/storage/toolbox/ammo/c10mm/PopulateContents() - name = "ammo can (10mm)" - icon_state = "ammobox_10mm" - for (var/i in 1 to 4) - new /obj/item/ammo_box/c10mm(src) - -/obj/item/storage/toolbox/ammo/shotgun/PopulateContents() - name = "ammo can (12ga)" - icon_state = "ammobox_12ga" - for (var/i in 1 to 4) - new /obj/item/ammo_box/a12g(src) - /obj/item/storage/toolbox/infiltrator name = "insidious case" desc = "Bearing the emblem of the Syndicate, this case contains a full infiltrator stealth suit, and has enough room to fit weaponry if necessary." @@ -298,8 +243,7 @@ /obj/item/clothing/under/syndicate/bloodred, /obj/item/clothing/gloves/color/latex/nitrile/infiltrator, /obj/item/clothing/mask/infiltrator, - /obj/item/clothing/shoes/combat/sneakboots, - /obj/item/gun/ballistic/automatic/pistol/syndicate, + /obj/item/gun/ballistic/automatic/pistol/ringneck, /obj/item/gun/ballistic/revolver, /obj/item/ammo_box )) @@ -310,7 +254,38 @@ new /obj/item/clothing/under/syndicate/bloodred(src) new /obj/item/clothing/gloves/color/latex/nitrile/infiltrator(src) new /obj/item/clothing/mask/infiltrator(src) - new /obj/item/clothing/shoes/combat/sneakboots(src) + +/obj/item/storage/toolbox/bounty + name = "defused explosives case" + desc = "Store defused landmines in here." + icon_state = "infiltrator_case" + item_state = "infiltrator_case" + +/obj/item/storage/toolbox/bounty/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_combined_w_class = 4 + STR.max_items = 2 + +/obj/item/storage/toolbox/bounty/hunt + name = "dogtag case" + desc = "Store pirate dogtags in here." + +/obj/item/storage/toolbox/bounty/hunt/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_combined_w_class = 6 + STR.max_items = 3 + +/obj/item/storage/toolbox/bounty/salvage + name = "research case" + desc = "Store salvaged science equipment in here." + +/obj/item/storage/toolbox/bounty/salvage/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_combined_w_class = 2 + STR.max_items = 1 //floorbot assembly /obj/item/storage/toolbox/attackby(obj/item/stack/tile/plasteel/T, mob/user, params) diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index bfbc4679af8..26b9b790b2f 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -2,7 +2,7 @@ /obj/item/storage/box/syndicate /obj/item/storage/box/syndicate/bundle_A/PopulateContents() - switch (pickweight(list("recon" = 2, "bloodyspai" = 3, "stealth" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "sniper" = 1, "metaops" = 1))) + switch (pick_weight(list("recon" = 2, "bloodyspai" = 3, "stealth" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "sniper" = 1, "metaops" = 1))) if("recon") new /obj/item/clothing/glasses/thermal/xray(src) // ~8 tc? new /obj/item/storage/briefcase/launchpad(src) //6 tc @@ -22,7 +22,7 @@ new /obj/item/multitool/ai_detect(src) // 1 tc new /obj/item/encryptionkey/syndicate(src) // 2 tc new /obj/item/reagent_containers/syringe/mulligan(src) // 4 tc - new /obj/item/kitchen/knife/switchblade(src) //I'll count this as 2 tc + new /obj/item/melee/knife/switchblade(src) //I'll count this as 2 tc new /obj/item/storage/fancy/cigarettes/cigpack_syndicate (src) // 2 tc this shit heals new /obj/item/flashlight/emp(src) // 2 tc new /obj/item/chameleon(src) // 7 tc @@ -38,7 +38,7 @@ new /obj/item/jammer(src) if("guns") - new /obj/item/gun/ballistic/revolver/syndicate(src) + new /obj/item/gun/ballistic/revolver/viper(src) new /obj/item/ammo_box/a357(src) new /obj/item/ammo_box/a357(src) new /obj/item/card/emag(src) @@ -56,7 +56,7 @@ new /obj/item/encryptionkey/syndicate(src) if("murder") - new /obj/item/melee/transforming/energy/sword/saber(src) + new /obj/item/melee/energy/sword/saber(src) new /obj/item/clothing/glasses/thermal/syndi(src) new /obj/item/card/emag(src) new /obj/item/clothing/shoes/chameleon/noslip(src) @@ -99,7 +99,7 @@ new /obj/item/storage/box/syndie_kit/emp(src) if("sniper") //This shit is unique so can't really balance it around tc, also no silencer because getting killed without ANY indicator on what killed you sucks - new /obj/item/gun/ballistic/automatic/marksman/sniper_rifle(src) // 12 tc + new /obj/item/gun/ballistic/automatic/marksman/taipan(src) // 12 tc new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src) new /obj/item/clothing/glasses/thermal/syndi(src) new /obj/item/clothing/gloves/color/latex/nitrile(src) @@ -108,28 +108,28 @@ if("metaops") new /obj/item/clothing/suit/space/hardsuit/syndi(src) // 8 tc - new /obj/item/gun/ballistic/shotgun/bulldog(src) // 8 tc + new /obj/item/gun/ballistic/shotgun/automatic/bulldog(src) // 8 tc new /obj/item/implanter/explosive(src) // 2 tc - new /obj/item/ammo_box/magazine/m12g(src) // 2 tc - new /obj/item/ammo_box/magazine/m12g(src) // 2 tc + new /obj/item/ammo_box/magazine/m12g_bulldog/drum(src) // 2 tc + new /obj/item/ammo_box/magazine/m12g_bulldog/drum(src) // 2 tc new /obj/item/grenade/c4 (src) // 1 tc new /obj/item/grenade/c4 (src) // 1 tc new /obj/item/card/emag(src) // 6 tc /obj/item/storage/box/syndicate/bundle_B/PopulateContents() - switch (pickweight(list( "bond" = 2, "ninja" = 1, "darklord" = 1, "white_whale_holy_grail" = 2, "mad_scientist" = 2, "bee" = 1, "mr_freeze" = 2, "made_man"= 1))) + switch (pick_weight(list( "bond" = 2, "ninja" = 1, "darklord" = 1, "white_whale_holy_grail" = 2, "mad_scientist" = 2, "mr_freeze" = 2, "made_man"= 1))) if("bond") - new /obj/item/gun/ballistic/automatic/pistol/syndicate(src) - new /obj/item/suppressor(src) - new /obj/item/ammo_box/magazine/m10mm(src) - new /obj/item/ammo_box/magazine/m10mm(src) + new /obj/item/gun/ballistic/automatic/pistol/ringneck(src) + new /obj/item/attachment/silencer(src) + new /obj/item/ammo_box/magazine/m10mm_ringneck(src) + new /obj/item/ammo_box/magazine/m10mm_ringneck(src) new /obj/item/clothing/under/chameleon(src) new /obj/item/card/id/syndicate(src) new /obj/item/reagent_containers/hypospray/medipen/stimulants(src) new /obj/item/reagent_containers/glass/rag(src) if("ninja") - new /obj/item/katana(src) // Unique , hard to tell how much tc this is worth. 8 tc? + new /obj/item/melee/sword/katana(src) new /obj/item/implanter/adrenalin(src) // 8 tc for(var/i in 1 to 6) new /obj/item/throwing_star(src) // ~5 tc for all 6 @@ -140,14 +140,12 @@ if("darklord") new /obj/item/dualsaber(src) new /obj/item/dnainjector/telemut/darkbundle(src) - new /obj/item/clothing/suit/hooded/chaplain_hoodie(src) new /obj/item/card/id/syndicate(src) new /obj/item/clothing/shoes/chameleon/noslip(src) //because slipping while being a dark lord sucks new /obj/item/book/granter/spell/summonitem(src) if("white_whale_holy_grail") //Unique items that don't appear anywhere else new /obj/item/pneumatic_cannon/speargun(src) - new /obj/item/storage/backpack/magspear_quiver(src) new /obj/item/clothing/suit/space/hardsuit/carp(src) new /obj/item/clothing/mask/gas/carp(src) new /obj/item/grenade/spawnergrenade/spesscarp(src) @@ -167,16 +165,6 @@ new /obj/item/pen/edagger(src) new /obj/item/gun/energy/decloner(src) - if("bee") - new /obj/item/paper/fluff/bee_objectives(src) // 0 tc (motivation) - new /obj/item/clothing/suit/hooded/bee_costume(src) // 0 tc - new /obj/item/clothing/mask/rat/bee(src) // 0 tc - new /obj/item/storage/belt/fannypack/yellow(src) // 0 tc - new /obj/item/grenade/spawnergrenade/buzzkill(src) - new /obj/item/grenade/spawnergrenade/buzzkill(src) - new /obj/item/reagent_containers/glass/bottle/beesease(src) // 10 tc? - new /obj/item/melee/beesword(src) //priceless - if("mr_freeze") new /obj/item/clothing/glasses/cold(src) new /obj/item/clothing/gloves/color/black(src) @@ -190,12 +178,12 @@ new /obj/item/dnainjector/geladikinesis(src) new /obj/item/dnainjector/cryokinesis(src) new /obj/item/gun/energy/temperature/security(src) - new /obj/item/melee/transforming/energy/sword/saber/blue(src) //see see it fits the theme bc its blue and ice is blue + new /obj/item/melee/energy/sword/saber/blue(src) //see see it fits the theme bc its blue and ice is blue if("made_man") - new /obj/effect/spawner/lootdrop/mafia_outfit(src) // 0 TC, just an outfit for the new 'don of this family + new /obj/effect/spawner/random/clothing/mafia_outfit(src) // 0 TC, just an outfit for the new 'don of this family new /obj/item/gun/ballistic/automatic/smg/firestorm/pan(src) // 20 TC, a gun with 50 .45 bullets on a three round burst is kinda outstanding - new /obj/item/kitchen/knife/switchblade(src) // 3 TC? It's nice, but it's really a stealth/oh fuck I'm out of ammo weapon + new /obj/item/melee/knife/switchblade(src) // 3 TC? It's nice, but it's really a stealth/oh fuck I'm out of ammo weapon new /obj/item/reagent_containers/food/drinks/bottle/vodka (src) // 5 TC, free molotov assemblies new /obj/item/reagent_containers/food/drinks/bottle/vodka (src) new /obj/item/reagent_containers/food/drinks/bottle/vodka (src) @@ -209,14 +197,6 @@ new /obj/item/reagent_containers/food/drinks/flask (src) // 1 TC, I can't believe I forgot about the booze flask AAAAAAA new /obj/item/storage/secure/briefcase/syndie (src) // 1TC, for bribing the bartender to let you set up shop... amongst other actions. - -/obj/item/paper/fluff/bee_objectives - name = "Objectives of a Bee Liberation Front Operative" - default_raw_text = "Objective #1. Liberate all bees on the NT transport vessel 2416/B. Success!
    Objective #2. Escape alive. Failed." - - - - /obj/item/storage/box/syndicate/contract_kit name = "Contract Kit" desc = "Supplied to Syndicate contractors." @@ -302,11 +282,10 @@ /obj/item/storage/firstaid/tactical, /obj/item/encryptionkey/syndicate, /obj/item/clothing/glasses/thermal/syndi, - /obj/item/slimepotion/slime/sentience/nuclear, /obj/item/storage/box/syndie_kit/imp_radio, /obj/item/storage/box/syndie_kit/imp_uplink, /obj/item/clothing/gloves/krav_maga/combatglovesplus, - /obj/item/gun/ballistic/automatic/smg/c20r/toy/riot, + /obj/item/gun/ballistic/automatic/toy, /obj/item/reagent_containers/hypospray/medipen/stimulants, /obj/item/storage/box/syndie_kit/imp_freedom, /obj/item/toy/eightball/haunted @@ -521,7 +500,6 @@ /obj/item/storage/box/syndie_kit/mimery/PopulateContents() new /obj/item/book/granter/spell/mimery_blockade(src) - new /obj/item/book/granter/spell/mimery_guns(src) /obj/item/storage/box/syndie_kit/centcom_costume/PopulateContents() new /obj/item/clothing/under/rank/centcom/official(src) @@ -581,12 +559,3 @@ /obj/item/storage/box/syndie_kit/signaler/PopulateContents() for(var/i in 1 to 6) new /obj/item/assembly/signaler(src) - -/obj/item/storage/box/syndie_kit/cultconstructkit - name = "cult construct kit" - desc = "A sleek, sturdy box with an ominous, dark energy inside. Yikes." - -/obj/item/storage/box/syndie_kit/cultconstructkit/PopulateContents() - new /obj/item/storage/belt/soulstone/full/purified(src) - new /obj/item/sbeacondrop/constructshell(src) - new /obj/item/sbeacondrop/constructshell(src) diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index 002b7263329..2c8fda3ec5d 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -19,26 +19,21 @@ /obj/item/spacecash/bundle, /obj/item/holochip, /obj/item/card, - /obj/item/clothing/mask/cigarette, /obj/item/flashlight/pen, /obj/item/seeds, - /obj/item/stack/medical, /obj/item/toy/crayon, /obj/item/coin, /obj/item/dice, /obj/item/disk, - /obj/item/implanter, /obj/item/lighter, + /obj/item/key/ship, + /obj/item/gun/ballistic/derringer, /obj/item/lipstick, /obj/item/match, /obj/item/paper, /obj/item/pen, /obj/item/photo, - /obj/item/reagent_containers/dropper, - /obj/item/reagent_containers/syringe, - /obj/item/screwdriver, - /obj/item/stamp), - list(/obj/item/screwdriver/power)) + /obj/item/stamp)) /obj/item/storage/wallet/Exited(atom/movable/AM) . = ..() diff --git a/code/game/objects/items/tanks/jetpack.dm b/code/game/objects/items/tanks/jetpack.dm index b8f4451a966..117a6fedb84 100644 --- a/code/game/objects/items/tanks/jetpack.dm +++ b/code/game/objects/items/tanks/jetpack.dm @@ -11,7 +11,7 @@ var/gas_type = GAS_O2 var/on = FALSE var/stabilizers = FALSE - var/full_speed = TRUE // If the jetpack will have a speedboost in space/nograv or not + var/full_speed = TRUE // Whether damage slowdown will affect the jetpack var/datum/effect_system/trail_follow/ion/ion_trail /obj/item/tank/jetpack/Initialize() @@ -28,7 +28,7 @@ if(gas_type) air_contents.set_moles(gas_type, ((6 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C))) -/obj/item/tank/jetpack/ui_action_click(mob/user, action) +/obj/item/tank/jetpack/ui_action_click(mob/living/user, action) if(istype(action, /datum/action/item_action/toggle_jetpack)) cycle(user) else if(istype(action, /datum/action/item_action/jetpack_stabilization)) @@ -39,7 +39,7 @@ toggle_internals(user) -/obj/item/tank/jetpack/proc/cycle(mob/user) +/obj/item/tank/jetpack/proc/cycle(mob/living/user) if(user.incapacitated()) return @@ -54,7 +54,7 @@ A.UpdateButtonIcon() -/obj/item/tank/jetpack/proc/turn_on(mob/user) +/obj/item/tank/jetpack/proc/turn_on(mob/living/user) if(!allow_thrust(0.01, user)) return on = TRUE @@ -63,18 +63,18 @@ RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(move_react)) RegisterSignal(user, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(pre_move_react)) if(full_speed) - user.add_movespeed_modifier(/datum/movespeed_modifier/jetpack/fullspeed) + user.add_movespeed_mod_immunities(type, /datum/movespeed_modifier/damage_slowdown_flying) -/obj/item/tank/jetpack/proc/turn_off(mob/user) +/obj/item/tank/jetpack/proc/turn_off(mob/living/user) on = FALSE stabilizers = FALSE icon_state = initial(icon_state) ion_trail.stop() UnregisterSignal(user, COMSIG_MOVABLE_MOVED) UnregisterSignal(user, COMSIG_MOVABLE_PRE_MOVE) - user.remove_movespeed_modifier(/datum/movespeed_modifier/jetpack/fullspeed) + user.remove_movespeed_mod_immunities(type, /datum/movespeed_modifier/damage_slowdown_flying) -/obj/item/tank/jetpack/proc/move_react(mob/user) +/obj/item/tank/jetpack/proc/move_react(mob/living/user) if(!on)//If jet dont work, it dont work return if(!user)//Don't allow jet self using @@ -90,7 +90,7 @@ if(length(user.client.keys_held & user.client.movement_keys))//You use jet when press keys. yes. allow_thrust(0.01, user) -/obj/item/tank/jetpack/proc/pre_move_react(mob/user) +/obj/item/tank/jetpack/proc/pre_move_react(mob/living/user) ion_trail.oldposition = get_turf(src) /obj/item/tank/jetpack/proc/allow_thrust(num, mob/living/user) @@ -110,7 +110,7 @@ item_state = "jetpack-sec" volume = 20 //normal jetpacks have 70 volume gas_type = null //it starts empty - full_speed = FALSE //moves at hardsuit jetpack speeds + full_speed = FALSE // affected by damage slowdown /obj/item/tank/jetpack/improvised/allow_thrust(num, mob/living/user) if(rand(0,250) == 0) @@ -173,7 +173,7 @@ /obj/item/tank/jetpack/suit name = "hardsuit jetpack upgrade" desc = "A modular, compact set of thrusters designed to integrate with a hardsuit. It is fueled by a tank inserted into the suit's storage compartment." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "jetpack_upgrade" item_state = "jetpack-black" w_class = WEIGHT_CLASS_NORMAL @@ -181,7 +181,6 @@ volume = 1 slot_flags = null gas_type = null - full_speed = FALSE custom_price = 2000 var/datum/gas_mixture/temp_air_contents var/obj/item/tank/internals/tank = null diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index aff73626906..c45911f98f4 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -110,17 +110,6 @@ . += "It feels [descriptive]." -/obj/item/tank/blob_act(obj/structure/blob/B) - if(B && B.loc == loc) - var/turf/location = get_turf(src) - if(!location) - qdel(src) - - if(air_contents) - location.assume_air(air_contents) - - qdel(src) - /obj/item/tank/deconstruct(disassembled = TRUE) if(!disassembled) var/turf/T = get_turf(src) diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm index 4095d159ea8..23fe0852c35 100644 --- a/code/game/objects/items/tanks/watertank.dm +++ b/code/game/objects/items/tanks/watertank.dm @@ -175,6 +175,39 @@ amount_per_transfer_from_this = (amount_per_transfer_from_this == 10 ? 5 : 10) to_chat(user, "You [amount_per_transfer_from_this == 10 ? "remove" : "fix"] the nozzle. You'll now use [amount_per_transfer_from_this] units per spray.") +//radiation cleanup pack + +/obj/item/watertank/anti_rad + name = "radiation foam pack" + desc = "A pressurized backpack tank with sprayer nozzle, intended to clean up radioactive hazards." + item_state = "waterbackpackatmos" + icon_state = "waterbackpackatmos" + volume = 200 + slowdown = 0.3 + +/obj/item/watertank/anti_rad/Initialize() + . = ..() + reagents.add_reagent(/datum/reagent/anti_radiation_foam, 200) + + +/obj/item/reagent_containers/spray/mister/anti_rad + name = "spray nozzle" + desc = "A heavy duty nozzle attached to a radiation foam tank." + icon_state = "atmos_nozzle" + item_state = "nozzleatmos" + amount_per_transfer_from_this = 5 + possible_transfer_amounts = list() + current_range = 6 + spray_range = 6 + + +/obj/item/watertank/anti_rad/make_noz() + return new /obj/item/reagent_containers/spray/mister/anti_rad(src) + +/obj/item/reagent_containers/spray/mister/anti_rad/attack_self(mob/user) + amount_per_transfer_from_this = (amount_per_transfer_from_this == 10 ? 5 : 10) + to_chat(user, "You [amount_per_transfer_from_this == 10 ? "tigten" : "loosen"] the nozzle. You'll now use [amount_per_transfer_from_this] units per spray.") + //ATMOS FIRE FIGHTING BACKPACK #define EXTINGUISHER 0 @@ -377,7 +410,7 @@ //Todo : cache these. /obj/item/reagent_containers/chemtank/worn_overlays(isinhands = FALSE) //apply chemcolor and level - . = list() + . = ..() //inhands + reagent_filling if(!isinhands && reagents.total_volume) var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "backpackmob-10") diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm index fd9b3859cd3..5b9da6611bd 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -80,12 +80,8 @@ //snowflake screwdriver, works as a key to start nuke theft, traitor only /obj/item/screwdriver/nuke - name = "screwdriver" - desc = "A screwdriver with an ultra thin tip that's carefully designed to boost screwing speed." -// icon = 'icons/obj/nuke_tools.dmi' WS edit - better tool sprites icon_state = "screwdriver_nuke" item_state = "screwdriver_nuke" - toolspeed = 0.5 random_color = FALSE /obj/item/paper/guides/antag/nuke_instructions diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 26509776dd1..c53fb57a8bd 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -117,10 +117,7 @@ toolspeed = 0.5 /obj/item/crowbar/syndie - name = "suspicious-looking crowbar" - desc = "It has special counterweights that adjust to the amount of pressure put on it by using a complex array of springs and screws." icon_state = "crowbar_syndie" - toolspeed = 0.5 force = 8 /obj/item/crowbar/old diff --git a/code/game/objects/items/tools/electric_weldingtool.dm b/code/game/objects/items/tools/electric_weldingtool.dm new file mode 100644 index 00000000000..3611d8ffcd9 --- /dev/null +++ b/code/game/objects/items/tools/electric_weldingtool.dm @@ -0,0 +1,84 @@ +/obj/item/weldingtool/electric + name = "electrical welding tool" + desc = "A welding tool capable of welding functionality through the use of electricity." + icon_state = "elwelder" + light_power = 1 + light_color = LIGHT_COLOR_HALOGEN + tool_behaviour = NONE + toolspeed = 0.5 //twice as fast, but doesn't require welding fuel + power_use_amount = POWER_CELL_USE_LOW + change_icons = FALSE //we don't use fuel + var/cell_override = /obj/item/stock_parts/cell/high + var/powered = FALSE + max_fuel = 20 //uses fuel anyways like a boss + +/obj/item/weldingtool/electric/Initialize(mapload) + . = ..() + AddComponent(/datum/component/cell, cell_override, CALLBACK(src, PROC_REF(switched_off))) + +/obj/item/weldingtool/electric/attack_self(mob/user, modifiers) + . = ..() + if(!powered) + if(!(item_use_power(power_use_amount, user, TRUE) & COMPONENT_POWER_SUCCESS)) + return + powered = !powered + playsound(src, 'sound/effects/sparks4.ogg', 100, TRUE) + + if(powered) + to_chat(user, span_notice("You turn [src] on.")) + switched_on() + return + + to_chat(user, span_notice("You turn [src] off.")) + switched_off() + +/obj/item/weldingtool/electric/switched_on(mob/user) + welding = TRUE + tool_behaviour = TOOL_WELDER + light_on = TRUE + force = 15 + damtype = BURN + hitsound = 'sound/items/welder.ogg' + set_light_on(powered) + update_appearance() + START_PROCESSING(SSobj, src) + +/obj/item/weldingtool/electric/switched_off(mob/user) + powered = FALSE + welding = FALSE + light_on = FALSE + force = initial(force) + damtype = BRUTE + set_light_on(powered) + tool_behaviour = NONE + update_appearance() + STOP_PROCESSING(SSobj, src) + +/obj/item/weldingtool/electric/process(seconds_per_tick) + if(!powered) + switched_off() + return + + if(!(item_use_power(power_use_amount) & COMPONENT_POWER_SUCCESS)) + switched_off() + return + +/obj/item/weldingtool/electric/examine(mob/user) + . = ..() + //Overwrite the last entry, which normally shows welder fuel usage + .[length(.)] = "[src] is currently [powered ? "powered" : "unpowered"]." + +// This is what uses fuel in the parent. We override it here to not use fuel +/obj/item/weldingtool/electric/use(used = 0) + return isOn() + +/obj/item/weldingtool/electric/examine() + . = ..() + . += "[src] is currently [powered ? "powered" : "unpowered"]." + +/obj/item/weldingtool/electric/update_icon_state() + if(powered) + mob_overlay_icon = "[initial(mob_overlay_icon)]1" + else + mob_overlay_icon = "[initial(mob_overlay_icon)]" + return ..() diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index 3e4ab0d15de..7c35ddd67d6 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -53,7 +53,7 @@ . += base_overlay /obj/item/screwdriver/worn_overlays(isinhands = FALSE, icon_file) - . = list() + . = ..() if(isinhands && random_color) var/mutable_appearance/M = mutable_appearance(icon_file, "screwdriver_head") M.appearance_flags = RESET_COLOR diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index c792af38486..fcccb13b4b2 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -39,6 +39,7 @@ var/acti_sound = 'sound/items/welderactivate.ogg' var/deac_sound = 'sound/items/welderdeactivate.ogg' var/start_full = TRUE + wall_decon_damage = 50 /obj/item/weldingtool/empty start_full = FALSE @@ -96,8 +97,6 @@ /obj/item/weldingtool/attackby(obj/item/I, mob/user, params) if(I.tool_behaviour == TOOL_SCREWDRIVER) flamethrower_screwdriver(I, user) - else if(istype(I, /obj/item/stack/rods)) - flamethrower_rods(I, user) else . = ..() update_appearance() @@ -281,24 +280,10 @@ to_chat(user, "You resecure [src] and close the fuel tank.") reagents.flags &= ~(OPENCONTAINER) else - to_chat(user, "[src] can now be attached, modified, and refuelled.") + to_chat(user, "[src] can now be refuelled.") reagents.flags |= OPENCONTAINER add_fingerprint(user) -/obj/item/weldingtool/proc/flamethrower_rods(obj/item/I, mob/user) - if(!status) - var/obj/item/stack/rods/R = I - if (R.use(1)) - var/obj/item/flamethrower/F = new /obj/item/flamethrower(user.loc) - if(!remove_item_from_storage(F)) - user.transferItemToLoc(src, F, TRUE) - F.weldtool = src - add_fingerprint(user) - to_chat(user, "You add a rod to a welder, starting to build a flamethrower.") - user.put_in_hands(F) - else - to_chat(user, "You need one rod to start building a flamethrower!") - /obj/item/weldingtool/ignition_effect(atom/A, mob/user) if(use_tool(A, user, 0, amount=1)) return "[user] casually lights [A] with [src], what a badass." @@ -348,6 +333,7 @@ light_system = NO_LIGHT_SUPPORT light_range = 0 change_icons = 0 + wall_decon_damage = 500 /obj/item/weldingtool/abductor/process() if(get_fuel() <= max_fuel) @@ -365,28 +351,6 @@ /obj/item/weldingtool/hugetank/empty start_full = FALSE -/obj/item/weldingtool/experimental - name = "experimental welding tool" - desc = "An experimental welder capable of self-fuel generation and less harmful to the eyes." - icon_state = "exwelder" - item_state = "exwelder" - max_fuel = 40 - custom_materials = list(/datum/material/iron=70, /datum/material/glass=120) - /*WS Begin - Better Tool sprites - change_icons = 0 - WS End */ - can_off_process = 1 - light_range = 1 - toolspeed = 0.5 - var/last_gen = 0 - var/nextrefueltick = 0 - -/obj/item/weldingtool/experimental/process() - ..() - if(get_fuel() < max_fuel && nextrefueltick < world.time) - nextrefueltick = world.time + 10 - reagents.add_reagent(/datum/reagent/fuel, 1) - /obj/item/weldingtool/old desc = "A standard edition welder provided by Nanotrasen. This one seems to leak a little bit." icon = 'icons/obj/tools.dmi' diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index e2dfc9a81dc..383cbd02739 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -85,10 +85,7 @@ random_color = FALSE /obj/item/wirecutters/syndie - name = "suspicious-looking wirecutters" - desc = "The blades of these wirecutters have suspiciously fine serrated teeth." icon_state = "cutters_syndie" - toolspeed = 0.5 random_color = FALSE /obj/item/wirecutters/old diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index 3e9898d8750..b6b99c7c828 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -95,10 +95,7 @@ return ..() /obj/item/wrench/syndie - name = "suspicious-looking wrench" - desc = "It's one of those fancy wrenches that you turn backward without twisting the bolt for faster action." icon_state = "wrench_syndie" - toolspeed = 0.5 /obj/item/wrench/crescent name = "crescent wrench" diff --git a/code/game/objects/items/toy_mechs.dm b/code/game/objects/items/toy_mechs.dm index 2a821c7a831..738cfa83c0f 100644 --- a/code/game/objects/items/toy_mechs.dm +++ b/code/game/objects/items/toy_mechs.dm @@ -535,10 +535,10 @@ special_attack_type = SPECIAL_ATTACK_DAMAGE special_attack_cry = "ROCKET BARRAGE" -/obj/item/toy/prize/mauler - name = "toy Mauler" +/obj/item/toy/prize/touro + name = "toy Touro" desc = "9/13" - icon_state = "maulertoy" + icon_state = "tourotoy" max_combat_health = 7 //500 integrity special_attack_type = SPECIAL_ATTACK_DAMAGE special_attack_cry = "BULLET STORM" diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index b1dfb479b66..84601407f64 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -187,8 +187,8 @@ icon = 'icons/obj/guns/projectile.dmi' icon_state = "revolver" item_state = "gun" - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_NORMAL @@ -245,9 +245,9 @@ /obj/item/toy/ammo/gun name = "capgun ammo" desc = "Make sure to recyle the box in an autolathe when it gets empty." - icon = 'icons/obj/ammo.dmi' + icon = 'icons/obj/ammunition/ammo.dmi' icon_state = "357OLD-7" - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_NORMAL custom_materials = list(/datum/material/iron=10, /datum/material/glass=10) var/amount_left = 7 @@ -265,7 +265,7 @@ /obj/item/toy/sword name = "toy sword" desc = "A cheap, plastic replica of an energy sword. Realistic sounds! Ages 8 and up." - icon = 'icons/obj/transforming_energy.dmi' + icon = 'icons/obj/weapon/energy.dmi' icon_state = "sword" item_state = "sword" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' @@ -296,7 +296,7 @@ w_class = WEIGHT_CLASS_SMALL add_fingerprint(user) -// Copied from /obj/item/melee/transforming/energy/sword/attackby +// Copied from /obj/item/melee/energy/sword/attackby /obj/item/toy/sword/attackby(obj/item/W, mob/living/user, params) if(istype(W, /obj/item/toy/sword)) if(HAS_TRAIT(W, TRAIT_NODROP) || HAS_TRAIT(src, TRAIT_NODROP)) @@ -348,7 +348,7 @@ lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi' var/active = FALSE - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' hitsound = 'sound/weapons/smash.ogg' attack_verb = list("robusted") @@ -407,7 +407,7 @@ /obj/item/toy/katana name = "replica katana" desc = "Woefully underpowered in D20." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/weapon/sword.dmi' icon_state = "katana" item_state = "katana" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' @@ -542,31 +542,6 @@ /obj/item/toy/talking/AI/generate_messages() return list(generate_ion_law()) -/obj/item/toy/talking/codex_gigas - name = "Toy Codex Gigas" - desc = "A tool to help you write fictional devils!" - icon = 'icons/obj/library.dmi' - icon_state = "demonomicon" - lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi' - w_class = WEIGHT_CLASS_SMALL - recharge_time = 60 - -/obj/item/toy/talking/codex_gigas/activation_message(mob/user) - user.visible_message( - "[user] presses the button on \the [src].", - "You press the button on \the [src].", - "You hear a soft click.") - -/obj/item/toy/talking/codex_gigas/generate_messages() - var/datum/fakeDevil/devil = new - var/list/messages = list() - messages += "Some fun facts about: [devil.truename]" - messages += "[GLOB.lawlorify[LORE][devil.obligation]]" - messages += "[GLOB.lawlorify[LORE][devil.ban]]" - messages += "[GLOB.lawlorify[LORE][devil.banish]]" - return messages - /obj/item/toy/talking/owl name = "owl action figure" desc = "An action figure modeled after 'The Owl', defender of justice." @@ -1041,7 +1016,8 @@ desc = "A compact ball of snow. Good for throwing at people." icon = 'icons/obj/toy.dmi' icon_state = "snowball" - throwforce = 12 //pelt your enemies to death with lumps of snow + throwforce = 1 //pelt your enemies to death with lumps of snow + var/stam_dam = 8 /obj/item/toy/snowball/afterattack(atom/target as mob|obj|turf|area, mob/user) . = ..() @@ -1050,6 +1026,10 @@ /obj/item/toy/snowball/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(!..()) + var/caught = hit_atom.hitby(src, FALSE, FALSE, throwingdatum=throwingdatum) + if(ishuman(hit_atom) && !caught)//if they are a carbon and they didn't catch it + var/mob/living/carbon/human/dorkass = hit_atom + dorkass.apply_damage(stam_dam, STAMINA) playsound(src, 'sound/effects/pop.ogg', 20, TRUE) qdel(src) @@ -1285,7 +1265,6 @@ /obj/item/toy/figure/curator name = "Curator action figure" icon_state = "curator" - toysay = "One day while..." /obj/item/toy/figure/md name = "Medical Doctor action figure" @@ -1418,7 +1397,7 @@ pixel_x = rand(-5, 5) pixel_y = rand(-5, 5) icon_state = "shell[rand(1,3)]" - color = pickweight(possible_colors) + color = pick_weight(possible_colors) setDir(pick(GLOB.cardinals)) /obj/item/toy/brokenradio diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index bdcb89796bc..cc67c679578 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -8,11 +8,8 @@ resistance_flags = FLAMMABLE /obj/item/trash/Initialize(mapload) - SSblackbox.record_feedback("tally", "station_mess_created", 1, name) - return ..() - -/obj/item/trash/Destroy() - SSblackbox.record_feedback("tally", "station_mess_destroyed", 1, name) + if(!mapload) + SSblackbox.record_feedback("tally", "station_mess_created", 1, name) return ..() /obj/item/trash/raisins diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm deleted file mode 100644 index 865ca17e7d5..00000000000 --- a/code/game/objects/items/weaponry.dm +++ /dev/null @@ -1,788 +0,0 @@ -/obj/item/banhammer - desc = "A banhammer." - name = "banhammer" - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "toyhammer" - slot_flags = ITEM_SLOT_BELT - throwforce = 0 - force = 1 - w_class = WEIGHT_CLASS_TINY - throw_speed = 3 - throw_range = 7 - attack_verb = list("banned") - max_integrity = 200 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 70) - resistance_flags = FIRE_PROOF - -/* -oranges says: This is a meme relating to the english translation of the ss13 russian wiki page on lurkmore. -mrdoombringer sez: and remember kids, if you try and PR a fix for this item's grammar, you are admitting that you are, indeed, a newfriend. -for further reading, please see: https://github.com/tgstation/tgstation/pull/30173 and https://translate.google.com/translate?sl=auto&tl=en&js=y&prev=_t&hl=en&ie=UTF-8&u=%2F%2Flurkmore.to%2FSS13&edit-text=&act=url -*/ -/obj/item/banhammer/attack(mob/M, mob/user) - if(user.zone_selected == BODY_ZONE_HEAD) - M.visible_message("[user] is stroking the head of [M] with a banhammer.", "[user] is stroking your head with a banhammer.", "You hear a banhammer stroking a head.") - else - M.visible_message("[M] has been banned FOR NO REISIN by [user]!", "You have been banned FOR NO REISIN by [user]!", "You hear a banhammer banning someone.") - playsound(loc, 'sound/effects/adminhelp.ogg', 15) //keep it at 15% volume so people don't jump out of their skin too much - if(user.a_intent != INTENT_HELP) - return ..(M, user) - -/obj/item/sord - name = "\improper SORD" - desc = "This thing is so unspeakably shitty you are having a hard time even holding it." - icon_state = "sord" - item_state = "sord" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - slot_flags = ITEM_SLOT_BELT - force = 2 - throwforce = 1 - w_class = WEIGHT_CLASS_NORMAL - hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - -/obj/item/claymore - name = "claymore" - desc = "What are you standing around staring at this for? Get to killing!" - icon_state = "claymore" - item_state = "claymore" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - pickup_sound = 'sound/items/handling/knife2_pickup.ogg' - drop_sound = 'sound/items/handling/metal_drop.ogg' - hitsound = 'sound/weapons/bladeslice.ogg' - flags_1 = CONDUCT_1 - slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK - force = 40 - throwforce = 10 - w_class = WEIGHT_CLASS_NORMAL - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - block_chance = 40 - sharpness = IS_SHARP - max_integrity = 200 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) - resistance_flags = FIRE_PROOF - -/obj/item/claymore/Initialize() - . = ..() - AddComponent(/datum/component/butchering, 40, 105) - -/obj/item/claymore/highlander //ALL COMMENTS MADE REGARDING THIS SWORD MUST BE MADE IN ALL CAPS - desc = "THERE CAN BE ONLY ONE, AND IT WILL BE YOU!!!\nActivate it in your hand to point to the nearest victim." - flags_1 = CONDUCT_1 - item_flags = DROPDEL //WOW BRO YOU LOST AN ARM, GUESS WHAT YOU DONT GET YOUR SWORD ANYMORE //I CANT BELIEVE SPOOKYDONUT WOULD BREAK THE REQUIREMENTS - slot_flags = null - block_chance = 0 //RNG WON'T HELP YOU NOW, PANSY - light_range = 3 - attack_verb = list("brutalized", "eviscerated", "disemboweled", "hacked", "carved", "cleaved") //ONLY THE MOST VISCERAL ATTACK VERBS - var/notches = 0 //HOW MANY PEOPLE HAVE BEEN SLAIN WITH THIS BLADE - var/obj/item/disk/nuclear/nuke_disk //OUR STORED NUKE DISK - -/obj/item/claymore/highlander/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, HIGHLANDER) - START_PROCESSING(SSobj, src) - -/obj/item/claymore/highlander/Destroy() - if(nuke_disk) - nuke_disk.forceMove(get_turf(src)) - nuke_disk.visible_message("The nuke disk is vulnerable!") - nuke_disk = null - STOP_PROCESSING(SSobj, src) - return ..() - -/obj/item/claymore/highlander/process() - if(ishuman(loc)) - var/mob/living/carbon/human/H = loc - loc.layer = LARGE_MOB_LAYER //NO HIDING BEHIND PLANTS FOR YOU, DICKWEED (HA GET IT, BECAUSE WEEDS ARE PLANTS) - H.bleedsuppress = TRUE //AND WE WON'T BLEED OUT LIKE COWARDS - else - if(!(flags_1 & ADMIN_SPAWNED_1)) - qdel(src) - - -/obj/item/claymore/highlander/pickup(mob/living/user) - . = ..() - to_chat(user, "The power of Scotland protects you! You are shielded from all stuns and knockdowns.") - user.add_stun_absorption("highlander", INFINITY, 1, " is protected by the power of Scotland!", "The power of Scotland absorbs the stun!", " is protected by the power of Scotland!") - user.ignore_slowdown(HIGHLANDER) - -/obj/item/claymore/highlander/dropped(mob/living/user) - . = ..() - user.unignore_slowdown(HIGHLANDER) - -/obj/item/claymore/highlander/examine(mob/user) - . = ..() - . += "It has [!notches ? "nothing" : "[notches] notches"] scratched into the blade." - if(nuke_disk) - . += "It's holding the nuke disk!" - -/obj/item/claymore/highlander/attack(mob/living/target, mob/living/user) - . = ..() - if(!QDELETED(target) && iscarbon(target) && target.stat == DEAD && target.mind && target.mind.special_role == "highlander") - user.fully_heal(admin_revive = FALSE) //STEAL THE LIFE OF OUR FALLEN FOES - add_notch(user) - target.visible_message("[target] crumbles to dust beneath [user]'s blows!", "As you fall, your body crumbles to dust!") - target.dust() - -/obj/item/claymore/highlander/attack_self(mob/living/user) - var/closest_victim - var/closest_distance = 255 - for(var/mob/living/carbon/human/H in GLOB.player_list - user) - if(H.mind.special_role == "highlander" && (!closest_victim || get_dist(user, closest_victim) < closest_distance)) - closest_victim = H - if(!closest_victim) - to_chat(user, "[src] thrums for a moment and falls dark. Perhaps there's nobody nearby.") - return - to_chat(user, "[src] thrums and points to the [dir2text(get_dir(user, closest_victim))].") - -/obj/item/claymore/highlander/IsReflect() - return 1 //YOU THINK YOUR PUNY LASERS CAN STOP ME? - -/obj/item/claymore/highlander/proc/add_notch(mob/living/user) //DYNAMIC CLAYMORE PROGRESSION SYSTEM - THIS IS THE FUTURE - notches++ - force++ - var/new_name = name - switch(notches) - if(1) - to_chat(user, "Your first kill - hopefully one of many. You scratch a notch into [src]'s blade.") - to_chat(user, "You feel your fallen foe's soul entering your blade, restoring your wounds!") - new_name = "notched claymore" - if(2) - to_chat(user, "Another falls before you. Another soul fuses with your own. Another notch in the blade.") - new_name = "double-notched claymore" - add_atom_colour(rgb(255, 235, 235), ADMIN_COLOUR_PRIORITY) - if(3) - to_chat(user, "You're beginning to relish the thrill of battle.") - new_name = "triple-notched claymore" - add_atom_colour(rgb(255, 215, 215), ADMIN_COLOUR_PRIORITY) - if(4) - to_chat(user, "You've lost count of how many you've killed.") - new_name = "many-notched claymore" - add_atom_colour(rgb(255, 195, 195), ADMIN_COLOUR_PRIORITY) - if(5) - to_chat(user, "Five voices now echo in your mind, cheering the slaughter.") - new_name = "battle-tested claymore" - add_atom_colour(rgb(255, 175, 175), ADMIN_COLOUR_PRIORITY) - if(6) - to_chat(user, "Is this what the vikings felt like? Visions of glory fill your head as you slay your sixth foe.") - new_name = "battle-scarred claymore" - add_atom_colour(rgb(255, 155, 155), ADMIN_COLOUR_PRIORITY) - if(7) - to_chat(user, "Kill. Butcher. Conquer.") - new_name = "vicious claymore" - add_atom_colour(rgb(255, 135, 135), ADMIN_COLOUR_PRIORITY) - if(8) - to_chat(user, "IT NEVER GETS OLD. THE SCREAMING. THE BLOOD AS IT SPRAYS ACROSS YOUR FACE.") - new_name = "bloodthirsty claymore" - add_atom_colour(rgb(255, 115, 115), ADMIN_COLOUR_PRIORITY) - if(9) - to_chat(user, "ANOTHER ONE FALLS TO YOUR BLOWS. ANOTHER WEAKLING UNFIT TO LIVE.") - new_name = "gore-stained claymore" - add_atom_colour(rgb(255, 95, 95), ADMIN_COLOUR_PRIORITY) - if(10) - user.visible_message("[user]'s eyes light up with a vengeful fire!", \ - "YOU FEEL THE POWER OF VALHALLA FLOWING THROUGH YOU! THERE CAN BE ONLY ONE!!!") - user.update_icons() - new_name = "GORE-DRENCHED CLAYMORE OF [pick("THE WHIMSICAL SLAUGHTER", "A THOUSAND SLAUGHTERED CATTLE", "GLORY AND VALHALLA", "ANNIHILATION", "OBLITERATION")]" - icon_state = "claymore_gold" - item_state = "cultblade" - remove_atom_colour(ADMIN_COLOUR_PRIORITY) - - name = new_name - playsound(user, 'sound/items/screwdriver2.ogg', 50, TRUE) - -/obj/item/katana - name = "katana" - desc = "Woefully underpowered in D20." - icon_state = "katana" - item_state = "katana" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - pickup_sound = 'sound/items/handling/knife2_pickup.ogg' - drop_sound = 'sound/items/handling/metal_drop.ogg' - flags_1 = CONDUCT_1 - slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK - force = 40 - throwforce = 10 - w_class = WEIGHT_CLASS_HUGE - hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - block_chance = 10 - sharpness = IS_SHARP - max_integrity = 200 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) - resistance_flags = FIRE_PROOF - supports_variations = VOX_VARIATION - -/obj/item/katana/cursed - name = "ominous katana" - desc = "A japanese single-edged blade, once used to contain an ancient evil. The being within is grateful for being released, but beware: generosity has a price.
    " - icon_state = "ominous_katana" - item_state = "ominous_katana" - icon = 'icons/obj/lavaland/artefacts.dmi' - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - force = 35 - armour_penetration = 30 - max_integrity = 500 - resistance_flags = FIRE_PROOF | ACID_PROOF - var/essence = 0//Used for blade abilities, mainly heals(If I can safely implement this I will nerf the damage slightly, and boost the selfdam) - var/list/nemesis_factions = list("mining", "boss") - var/faction_bonus_force = 25 - - -/obj/item/katana/cursed/examine(mob/user) - . = ..() - . += "To cut into the flesh of your target with this weapon is to feed the gluttonous emptiness within. Burn the blood of your enemies to replenish your own spent essence." - -/obj/item/katana/cursed/attack(mob/living/target, mob/living/user) - . = ..() - if(isliving(target) && target.stat != DEAD) - essence += rand(15, 20) - -/obj/item/katana/cursed/attack(mob/living/target, mob/living/carbon/human/user) - var/nemesis_faction = FALSE - if(LAZYLEN(nemesis_factions)) - for(var/F in target.faction) - if(F in nemesis_factions) - nemesis_faction = TRUE - force += faction_bonus_force - nemesis_effects(user, target) - break - . = ..() - if(nemesis_faction) - force -= faction_bonus_force - -/obj/item/katana/cursed/proc/nemesis_effects(mob/living/user, mob/living/target) - return - -/obj/item/katana/cursed/attack(mob/target, mob/living/carbon/human/user) - if(user.mind && user.owns_soul()) - to_chat(user, "You feel a terrible chill as the emptiness within [src] devours on your life force!") - user.apply_damage(rand(2,3), BURN, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_CHEST, BODY_ZONE_HEAD, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_GROIN)) - user.apply_damage(rand(2,3), BURN, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_CHEST, BODY_ZONE_HEAD, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_GROIN)) - user.apply_damage(rand(2,3), BURN, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_CHEST, BODY_ZONE_HEAD, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_GROIN)) - user.apply_damage(rand(2,3), BURN, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_CHEST, BODY_ZONE_HEAD, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, BODY_ZONE_PRECISE_GROIN)) - ..() - -/obj/item/wirerod - name = "wired rod" - desc = "A rod with some wire wrapped around the top. It'd be easy to attach something to the top bit." - icon_state = "wiredrod" - item_state = "rods" - flags_1 = CONDUCT_1 - force = 9 - throwforce = 10 - w_class = WEIGHT_CLASS_NORMAL - custom_materials = list(/datum/material/iron=1150, /datum/material/glass=75) - attack_verb = list("hit", "bludgeoned", "whacked", "bonked") - -/obj/item/wirerod/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/shard)) - var/obj/item/spear/S = new /obj/item/spear - - remove_item_from_storage(user) - if (!user.transferItemToLoc(I, S)) - return - S.CheckParts(list(I)) - qdel(src) - - user.put_in_hands(S) - to_chat(user, "You fasten the glass shard to the top of the rod with the cable.") - - else if(istype(I, /obj/item/assembly/igniter) && !(HAS_TRAIT(I, TRAIT_NODROP))) - var/obj/item/melee/baton/cattleprod/P = new /obj/item/melee/baton/cattleprod - - remove_item_from_storage(user) - - to_chat(user, "You fasten [I] to the top of the rod with the cable.") - - qdel(I) - qdel(src) - - user.put_in_hands(P) - else - return ..() - - -/obj/item/throwing_star - name = "throwing star" - desc = "An ancient weapon still used to this day, due to its ease of lodging itself into its victim's body parts." - icon_state = "throwingstar" - item_state = "eshield0" - lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi' - force = 2 - throwforce = 20 //20 + 2 (WEIGHT_CLASS_SMALL) * 4 (EMBEDDED_IMPACT_PAIN_MULTIPLIER) = 28 damage on hit due to guaranteed embedding - throw_speed = 4 - embedding = list("pain_mult" = 4, "embed_chance" = 100, "fall_chance" = 0, "embed_chance_turf_mod" = 15) - armour_penetration = 40 - - w_class = WEIGHT_CLASS_SMALL - sharpness = IS_SHARP - custom_materials = list(/datum/material/iron=500, /datum/material/glass=500) - resistance_flags = FIRE_PROOF - -/obj/item/throwing_star/stamina - name = "shock throwing star" - desc = "An aerodynamic disc designed to cause excruciating pain when stuck inside fleeing targets, hopefully without causing fatal harm." - throwforce = 5 - embedding = list("pain_chance" = 5, "embed_chance" = 100, "fall_chance" = 0, "jostle_chance" = 10, "pain_stam_pct" = 0.8, "jostle_pain_mult" = 3) - -/obj/item/throwing_star/toy - name = "toy throwing star" - desc = "An aerodynamic disc strapped with adhesive for sticking to people, good for playing pranks and getting yourself killed by security." - sharpness = IS_BLUNT - force = 0 - throwforce = 0 - embedding = list("pain_mult" = 0, "jostle_pain_mult" = 0, "embed_chance" = 100, "fall_chance" = 0) - -/obj/item/throwing_star/magspear - name = "magnetic spear" - desc = "A reusable spear that is typically loaded into kinetic spearguns." - icon = 'icons/obj/ammo_bullets.dmi' - icon_state = "magspear" - throwforce = 25 //kills regular carps in one hit - force = 10 - throw_range = 0 //throwing these invalidates the speargun - attack_verb = list("stabbed", "ripped", "gored", "impaled") - embedding = list("pain_mult" = 8, "embed_chance" = 100, "fall_chance" = 0, "impact_pain_mult" = 15) //55 damage+embed on hit - -/obj/item/phone - name = "red phone" - desc = "Should anything ever go wrong..." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "red_phone" - force = 3 - throwforce = 2 - throw_speed = 3 - throw_range = 4 - w_class = WEIGHT_CLASS_SMALL - attack_verb = list("called", "rang") - hitsound = 'sound/weapons/ring.ogg' - - -/obj/item/cane - name = "cane" - desc = "A cane used by a true gentleman. Or a clown." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "cane" - item_state = "stick" - lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - force = 5 - throwforce = 5 - w_class = WEIGHT_CLASS_SMALL - custom_materials = list(/datum/material/iron=50) - attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") - -/obj/item/staff - name = "wizard staff" - desc = "Apparently a staff used by the wizard." - icon = 'icons/obj/wizard.dmi' - icon_state = "staff" - lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' - force = 3 - throwforce = 5 - throw_speed = 2 - throw_range = 5 - w_class = WEIGHT_CLASS_SMALL - armour_penetration = 100 - attack_verb = list("bludgeoned", "whacked", "disciplined") - resistance_flags = FLAMMABLE - -/obj/item/staff/broom - name = "broom" - desc = "Used for sweeping, and flying into the night while cackling. Black cat not included." - icon = 'icons/obj/wizard.dmi' - icon_state = "broom" - resistance_flags = FLAMMABLE - -/obj/item/staff/stick - name = "stick" - desc = "A great tool to drag someone else's drinks across the bar." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "cane" - item_state = "stick" - lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - force = 3 - throwforce = 5 - throw_speed = 2 - throw_range = 5 - w_class = WEIGHT_CLASS_SMALL - -/obj/item/ectoplasm - name = "ectoplasm" - desc = "Spooky." - gender = PLURAL - icon = 'icons/obj/wizard.dmi' - icon_state = "ectoplasm" - - -/obj/item/ectoplasm/angelic - icon = 'icons/obj/wizard.dmi' - icon_state = "angelplasm" - -/obj/item/mounted_chainsaw - name = "mounted chainsaw" - desc = "A chainsaw that has replaced your arm." - icon_state = "chainsaw_on" - item_state = "mounted_chainsaw" - lefthand_file = 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' - item_flags = ABSTRACT | DROPDEL - w_class = WEIGHT_CLASS_HUGE - force = 24 - throwforce = 0 - throw_range = 0 - throw_speed = 0 - sharpness = IS_SHARP - attack_verb = list("sawed", "torn", "cut", "chopped", "diced") - hitsound = 'sound/weapons/chainsawhit.ogg' - tool_behaviour = TOOL_SAW - toolspeed = 1 - -/obj/item/mounted_chainsaw/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, HAND_REPLACEMENT_TRAIT) - -/obj/item/mounted_chainsaw/Destroy() - var/obj/item/bodypart/part - new /obj/item/chainsaw(get_turf(src)) - if(iscarbon(loc)) - var/mob/living/carbon/holder = loc - var/index = holder.get_held_index_of_item(src) - if(index) - part = holder.hand_bodyparts[index] - . = ..() - if(part) - part.drop_limb() - -/obj/item/statuebust - name = "bust" - desc = "A priceless ancient marble bust, the kind that belongs in a museum." //or you can hit people with it - icon = 'icons/obj/statue.dmi' - icon_state = "bust" - force = 15 - throwforce = 10 - throw_speed = 5 - throw_range = 2 - attack_verb = list("busted") - var/impressiveness = 45 - -/obj/item/statuebust/Initialize() - . = ..() - AddComponent(/datum/component/art, impressiveness) - AddElement(/datum/element/beauty, 1000) - -/obj/item/statuebust/hippocratic - name = "hippocrates bust" - desc = "A bust of the famous Greek physician Hippocrates of Kos, often referred to as the father of western medicine." - icon_state = "hippocratic" - impressiveness = 50 - -/obj/item/melee/skateboard - name = "improvised skateboard" - desc = "A skateboard. It can be placed on its wheels and ridden, or used as a strong weapon." - icon_state = "skateboard" - item_state = "skateboard" - force = 12 - throwforce = 4 - w_class = WEIGHT_CLASS_NORMAL - attack_verb = list("smacked", "whacked", "slammed", "smashed") - ///The vehicle counterpart for the board - var/board_item_type = /obj/vehicle/ridden/scooter/skateboard - -/obj/item/melee/skateboard/attack_self(mob/user) - var/obj/vehicle/ridden/scooter/skateboard/S = new board_item_type(get_turf(user))//this probably has fucky interactions with telekinesis but for the record it wasnt my fault - S.buckle_mob(user) - qdel(src) - -/obj/item/melee/skateboard/pro - name = "skateboard" - desc = "A RaDSTORMz brand professional skateboard. It looks sturdy and well made." - icon_state = "skateboard2" - item_state = "skateboard2" - board_item_type = /obj/vehicle/ridden/scooter/skateboard/pro - custom_premium_price = 500 - -/obj/item/melee/skateboard/hoverboard - name = "hoverboard" - desc = "A blast from the past, so retro!" - icon_state = "hoverboard_red" - item_state = "hoverboard_red" - board_item_type = /obj/vehicle/ridden/scooter/skateboard/hoverboard - custom_premium_price = 2015 - -/obj/item/melee/skateboard/hoverboard/admin - name = "\improper Board Of Directors" - desc = "The engineering complexity of a spaceship concentrated inside of a board. Just as expensive, too." - icon_state = "hoverboard_nt" - item_state = "hoverboard_nt" - board_item_type = /obj/vehicle/ridden/scooter/skateboard/hoverboard/admin - -/obj/item/melee/baseball_bat - name = "baseball bat" - desc = "There ain't a skull in the league that can withstand a swatter." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "baseball_bat" - item_state = "baseball_bat" - lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - force = 12 - throwforce = 12 - attack_verb = list("beat", "smacked") - custom_materials = list(/datum/material/wood = MINERAL_MATERIAL_AMOUNT * 3.5) - w_class = WEIGHT_CLASS_HUGE - var/homerun_ready = 0 - var/homerun_able = 0 - -/obj/item/melee/baseball_bat/homerun - name = "home run bat" - desc = "This thing looks dangerous... Dangerously good at baseball, that is." - homerun_able = 1 - -/obj/item/melee/baseball_bat/attack_self(mob/user) - if(!homerun_able) - ..() - return - if(homerun_ready) - to_chat(user, "You're already ready to do a home run!") - ..() - return - to_chat(user, "You begin gathering strength...") - playsound(get_turf(src), 'sound/magic/lightning_chargeup.ogg', 65, TRUE) - if(do_after(user, 90, target = src)) - to_chat(user, "You gather power! Time for a home run!") - homerun_ready = 1 - ..() - -/obj/item/melee/baseball_bat/attack(mob/living/target, mob/living/user) - . = ..() - var/atom/throw_target = get_edge_target_turf(target, user.dir) - if(homerun_ready) - user.visible_message("It's a home run!") - target.throw_at(throw_target, rand(8,10), 14, user) - SSexplosions.medturf += throw_target - playsound(get_turf(src), 'sound/weapons/homerun.ogg', 100, TRUE) - homerun_ready = 0 - return - else if(!target.anchored) - target.throw_at(throw_target, rand(1,2), 2, user, gentle = TRUE) - -/obj/item/melee/baseball_bat/ablative - name = "metal baseball bat" - desc = "This bat is made of highly reflective, highly armored material." - icon_state = "baseball_bat_metal" - item_state = "baseball_bat_metal" - force = 12 - throwforce = 15 - -/obj/item/melee/baseball_bat/bone - name = "bone club" - desc = "A long and hard shaft of rock solid bone." // I am the master of comedy - icon_state = "baseball_bat_bone" - item_state = "baseball_bat_bone" - -/obj/item/melee/baseball_bat/ablative/IsReflect()//some day this will reflect thrown items instead of lasers - var/picksound = rand(1,2) - var/turf = get_turf(src) - if(picksound == 1) - playsound(turf, 'sound/weapons/effects/batreflect1.ogg', 50, TRUE) - if(picksound == 2) - playsound(turf, 'sound/weapons/effects/batreflect2.ogg', 50, TRUE) - return 1 - -/obj/item/melee/flyswatter - name = "flyswatter" - desc = "Useful for killing insects of all sizes." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "flyswatter" - item_state = "flyswatter" - lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - force = 1 - throwforce = 1 - attack_verb = list("swatted", "smacked") - hitsound = 'sound/effects/snap.ogg' - w_class = WEIGHT_CLASS_SMALL - //Things in this list will be instantly splatted. Flyman weakness is handled in the flyman species weakness proc. - var/list/strong_against - -/obj/item/melee/flyswatter/Initialize() - . = ..() - strong_against = typecacheof(list( - /mob/living/simple_animal/hostile/poison/bees/, - /mob/living/simple_animal/butterfly, - /mob/living/simple_animal/hostile/cockroach, - /obj/item/queen_bee - )) - - -/obj/item/melee/flyswatter/afterattack(atom/target, mob/user, proximity_flag) - . = ..() - if(proximity_flag) - if(is_type_in_typecache(target, strong_against)) - new /obj/effect/decal/cleanable/insectguts(target.drop_location()) - to_chat(user, "You easily splat the [target].") - if(istype(target, /mob/living/)) - var/mob/living/bug = target - bug.death(1) - else - qdel(target) - -/obj/item/proc/can_trigger_gun(mob/living/user) - if(!user.can_use_guns(src)) - return FALSE - return TRUE - -/obj/item/extendohand - name = "extendo-hand" - desc = "Futuristic tech has allowed these classic spring-boxing toys to essentially act as a fully functional hand-operated hand prosthetic." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "extendohand" - item_state = "extendohand" - lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - force = 0 - throwforce = 5 - reach = 2 - var/min_reach = 2 - -/obj/item/extendohand/acme - name = "\improper ACME Extendo-Hand" - desc = "A novelty extendo-hand produced by the ACME corporation. Originally designed to knock out roadrunners." - -/obj/item/extendohand/attack(atom/M, mob/living/carbon/human/user) - var/dist = get_dist(M, user) - if(dist < min_reach) - to_chat(user, "[M] is too close to use [src] on.") - return - M.attack_hand(user) - -/obj/item/gohei - name = "gohei" - desc = "A wooden stick with white streamers at the end. Originally used by shrine maidens to purify things. Now used by the station's valued weeaboos." - force = 5 - throwforce = 5 - hitsound = "swing_hit" - attack_verb = list("whacked", "thwacked", "walloped", "socked") - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "gohei" - item_state = "gohei" - lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' - -//HF blade -/obj/item/vibro_weapon - icon_state = "hfrequency0" - base_icon_state = "hfrequency" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - name = "vibro sword" - desc = "A potent weapon capable of cutting through nearly anything. Wielding it in two hands will allow you to deflect gunfire." - armour_penetration = 100 - block_chance = 30 - force = 20 - throwforce = 20 - throw_speed = 4 - sharpness = IS_SHARP - attack_verb = list("cut", "sliced", "diced") - w_class = WEIGHT_CLASS_BULKY - slot_flags = ITEM_SLOT_BACK - hitsound = 'sound/weapons/bladeslice.ogg' - var/wielded = FALSE // track wielded status on item - -/obj/item/vibro_weapon/Initialize() - . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) - -/obj/item/vibro_weapon/ComponentInitialize() - . = ..() - AddComponent(/datum/component/butchering, 20, 105) - AddComponent(/datum/component/two_handed, force_multiplier=2, icon_wielded="[base_icon_state]1") - -/// triggered on wield of two handed item -/obj/item/vibro_weapon/proc/on_wield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = TRUE - -/// triggered on unwield of two handed item -/obj/item/vibro_weapon/proc/on_unwield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = FALSE - -/obj/item/vibro_weapon/update_icon_state() - icon_state = "[base_icon_state]0" - return ..() - -/obj/item/vibro_weapon/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(wielded) - final_block_chance *= 2 - if(wielded || attack_type != PROJECTILE_ATTACK) - if(prob(final_block_chance)) - if(attack_type == PROJECTILE_ATTACK) - owner.visible_message("[owner] deflects [attack_text] with [src]!") - playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE) - return 1 - else - owner.visible_message("[owner] parries [attack_text] with [src]!") - return 1 - return 0 - -/obj/item/legion_staff - icon_state = "legion_staff" - lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' - name = "legionnaire staff" - desc = "The remnants of a legionnaire, reconstructed around a pole of bone. The skulls it produces are loyal to the wielder, seeming to recognize them as their host body." - icon = 'icons/obj/guns/magic.dmi' - block_chance = 20 - force = 20 - throwforce = 10 - throw_speed = 4 - attack_verb = list("bit", "gnawed", "chomped") - w_class = WEIGHT_CLASS_NORMAL - slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_BELT - hitsound = 'sound/weapons/bite.ogg' - var/next_use_time - -/obj/item/legion_staff/attack_self(mob/user) - if(next_use_time > world.time) - user.visible_message("[src] rattles in [user]'s hands, but nothing happens...") - to_chat(user, "You need to wait longer to use this again.") - return - user.visible_message("[user] raises the [src] and summons a legion skull!") - for(var/i in 1 to 3) - var/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/staff/LegionSkull = new /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/staff(user.loc) - LegionSkull.faction = user.faction.Copy() - LegionSkull.friends += user - next_use_time = world.time + 6 SECONDS - -/obj/item/claymore/bone - name = "Bone Sword" - desc = "Jagged pieces of bone are tied to what looks like a goliaths femur." - icon_state = "bone_sword" - item_state = "bone_sword" - icon = 'icons/obj/items_and_weapons.dmi' - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - mob_overlay_icon = 'icons/mob/clothing/back.dmi' - force = 15 - throwforce = 10 - armour_penetration = 15 - - -/obj/item/vibro_weapon/weak - armour_penetration = 10 - block_chance = 10 - force = 15 - throwforce = 20 - diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 78cfa10a2e0..363a83d965a 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -24,11 +24,8 @@ /obj/proc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir, armour_penetration = 0) if(damage_flag == "melee" && damage_amount < damage_deflection) return 0 - switch(damage_type) - if(BRUTE) - if(BURN) - else - return 0 + if(damage_type != BRUTE && damage_type != BURN) + return 0 var/armor_protection = 0 if(damage_flag) armor_protection = armor.getRating(damage_flag) @@ -90,13 +87,6 @@ take_damage(hulk_damage(), BRUTE, "melee", 0, get_dir(src, user)) return TRUE -/obj/blob_act(obj/structure/blob/B) - if(isturf(loc)) - var/turf/T = loc - if(T.intact && HAS_TRAIT(src, TRAIT_T_RAY_VISIBLE)) - return - take_damage(400, BRUTE, "melee", 0, get_dir(src, B)) - /obj/proc/attack_generic(mob/user, damage_amount = 0, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, armor_penetration = 0) //used by attack_alien, attack_animal, and attack_slime user.do_attack_animation(src) user.changeNext_move(CLICK_CD_MELEE) @@ -210,6 +200,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e take_damage(clamp(0.02 * exposed_temperature, 0, 20), BURN, "fire", 0) if(!(resistance_flags & ON_FIRE) && (resistance_flags & FLAMMABLE) && !(resistance_flags & FIRE_PROOF)) resistance_flags |= ON_FIRE + burning_particles = new(src, /particles/smoke/burning) SSfire_burning.processing[src] = src update_appearance() return 1 @@ -226,6 +217,7 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e if(resistance_flags & ON_FIRE) resistance_flags &= ~ON_FIRE update_appearance() + QDEL_NULL(burning_particles) SSfire_burning.processing -= src ///Called when the obj is hit by a tesla bolt. diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index d4ad3f0e679..0391de85eb3 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -43,6 +43,8 @@ vis_flags = VIS_INHERIT_PLANE //when this be added to vis_contents of something it inherit something.plane, important for visualisation of obj in openspace. + var/obj/effect/abstract/particle_holder/burning_particles + FASTDMM_PROP(\ pinned_vars = list("name", "dir")\ ) @@ -82,7 +84,9 @@ if(!ismachinery(src)) STOP_PROCESSING(SSobj, src) // TODO: Have a processing bitflag to reduce on unnecessary loops through the processing lists SStgui.close_uis(src) - . = ..() + if(burning_particles) + QDEL_NULL(burning_particles) + return ..() /obj/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback, force, gentle = FALSE, quickstart = TRUE) diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm index f59e29dd3b9..dba1c510767 100644 --- a/code/game/objects/structures/ai_core.dm +++ b/code/game/objects/structures/ai_core.dm @@ -61,8 +61,6 @@ return FALSE var/turf/T = get_turf(src) var/area/A = get_area(src) - if(!(A.area_flags & BLOBS_ALLOWED)) - return FALSE if(!A.power_equip) return FALSE if(!T.virtual_level_trait(ZTRAIT_STATION)) @@ -222,7 +220,6 @@ to_chat(user, "You connect the monitor.") if(brain) var/mob/living/brain/B = brain.brainmob - SSticker.mode.remove_antag_for_borging(B.mind) var/mob/living/silicon/ai/A = null diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm index 15cbb9481f3..4cd16c93444 100644 --- a/code/game/objects/structures/artstuff.dm +++ b/code/game/objects/structures/artstuff.dm @@ -224,7 +224,7 @@ custom_materials = null flags_1 = 0 icon_state = "frame-empty" - result_path = /obj/structure/sign/painting + result_path = /obj/structure/sign/painting/library /obj/structure/sign/painting name = "Painting" @@ -241,8 +241,8 @@ if(dir) setDir(dir) if(building) - pixel_x = (dir & 3)? 0 : (dir == 4 ? -30 : 30) - pixel_y = (dir & 3)? (dir ==1 ? -30 : 30) : 0 + pixel_x = (dir & 3)? 0 : (dir == 4 ? 30 : -30) + pixel_y = (dir & 3)? (dir ==1 ? 30 : -30) : 0 //The painting is being loaded by the maploader and SSpersistence has already run. Load a painting ourselves. if(mapload && SSpersistence.initialized) load_persistent() diff --git a/code/game/objects/structures/beds_chairs/alien_nest.dm b/code/game/objects/structures/beds_chairs/alien_nest.dm index 4f132b11af9..ecc050aa8f7 100644 --- a/code/game/objects/structures/beds_chairs/alien_nest.dm +++ b/code/game/objects/structures/beds_chairs/alien_nest.dm @@ -14,6 +14,7 @@ buildstacktype = null flags_1 = NODECONSTRUCT_1 bolts = FALSE + swap_lying_with_dir = FALSE var/static/mutable_appearance/nest_overlay = mutable_appearance('icons/mob/alien.dmi', "nestoverlay", LYING_MOB_LAYER) /obj/structure/bed/nest/user_unbuckle_mob(mob/living/buckled_mob, mob/living/user) diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index 6c5f46e94a3..533f58bdf2a 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -18,10 +18,44 @@ resistance_flags = FLAMMABLE max_integrity = 100 integrity_failure = 0.35 + var/buildstacktype = /obj/item/stack/sheet/metal var/buildstackamount = 2 var/bolts = TRUE + /// Whether the bed changes its buckle_lying direction + /// (and accordingly the direction in which mobs lie down) based on its current direction. + var/swap_lying_with_dir = TRUE + /// If non-null, some items (bedsheets) which can be tucked into beds + /// will set their layer to this value when they are tucked in, until they are picked up again. + var/suggested_tuck_layer = null + /// The amount added to the pixel_x value of a tucked-in item. + var/tucked_x_shift = 0 + /// The amount added to the pixel_y value of a tucked-in item. + var/tucked_y_shift = 0 + +/obj/structure/bed/Initialize(...) + . = ..() + if(swap_lying_with_dir) + buckle_lying = get_buckle_angle_from_dir(dir) + +/obj/structure/bed/setDir(newdir) + . = ..() + if(swap_lying_with_dir) + buckle_lying = get_buckle_angle_from_dir(newdir) + // shuttle rotation etc... ugh. + if(has_buckled_mobs()) + for(var/mob/living/M as anything in buckled_mobs) + // this proc already checks to see if the new angle is different from the old one, + // so this shouldn't cause any duplicate work or unnecessary animations. + M.set_lying_angle(buckle_lying) + +/obj/structure/bed/proc/get_buckle_angle_from_dir(some_dir) + if(some_dir & (SOUTH|WEST)) + return 90 + else + return 270 + /obj/structure/bed/examine(mob/user) . = ..() if(bolts) @@ -37,7 +71,7 @@ return attack_hand(user) /obj/structure/bed/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1)) + if((W.tool_behaviour == TOOL_WRENCH || W.tool_behaviour == TOOL_DECONSTRUCT) && !(flags_1&NODECONSTRUCT_1)) W.play_tool_sound(src) deconstruct(TRUE) else @@ -52,6 +86,9 @@ icon_state = "down" anchored = FALSE resistance_flags = NONE + + // no dir states + swap_lying_with_dir = FALSE var/foldabletype = /obj/item/roller /obj/structure/bed/roller/attackby(obj/item/W, mob/user, params) @@ -161,8 +198,9 @@ else to_chat(user, "The dock is empty!") -//Dog bed - +/* + * "Dog" beds + */ /obj/structure/bed/dogbed name = "dog bed" icon_state = "dogbed" @@ -170,6 +208,9 @@ anchored = TRUE buildstacktype = /obj/item/stack/sheet/mineral/wood buildstackamount = 10 + + // no dir states + swap_lying_with_dir = FALSE var/mob/living/owner = null /obj/structure/bed/dogbed/ian @@ -206,7 +247,9 @@ . = ..() update_owner(M) -//Double Beds, for luxurious sleeping, i.e. the captain and maybe heads - no quirky refrence here. Move along +/* + * Double beds, for luxurious sleeping, i.e. the captain and maybe heads - no quirky refrence here. Move along + */ /obj/structure/bed/double name = "double bed" desc = "A luxurious double bed, for those too important for small dreams." @@ -232,3 +275,84 @@ name = "double dirty mattress" desc = "An old grubby king sized mattress. You really try to not think about what could be the cause of those stains." icon_state = "dirty_mattress_double" + +/* + * Bunk beds. Comes with an /obj/effect spawner that lets mappers place them down easily. + * The base type is the bottom bunk, with the top bunk as a derived type. + * Like other beds, the pillow may be on the left or right depending on the direction. + */ +/obj/structure/bed/bunk + name = "bottom bunk" + desc = "The oft-maligned bottom bunk of a compact bunk bed. Heavy sleepers only." + icon_state = "bottom_bunk" + // just below the top bunk's main layer + suggested_tuck_layer = LYING_MOB_LAYER + 0.005 + /// The amount added to the pixel_y value of mobs lying down, relative to the default shift for that position. + var/mob_y_shift = -1 + // i think it looks best without shifting the bedsheet down, even though the mob gets shifted down some + +// alter their pixel offset when they lie down... +/obj/structure/bed/bunk/post_buckle_mob(mob/living/M) + // we shift the lying mob a little so that they line up better with the pillow, but the shift direction changes + // depending on the direction they lie down in, controlled by buckle_lying + // (which is in turn based on our direction, but we don't need to worry about that directly) + var/horz_offset + if(buckle_lying == 90) + horz_offset = 2 + else + horz_offset = -2 + + M.pixel_x = M.get_standard_pixel_x_offset(M.body_position == LYING_DOWN) + horz_offset + M.pixel_y = M.get_standard_pixel_y_offset(M.body_position == LYING_DOWN) + mob_y_shift + +// ...and reset it when they get off +/obj/structure/bed/bunk/post_unbuckle_mob(mob/living/M) + M.pixel_x = M.get_standard_pixel_x_offset(M.body_position == LYING_DOWN) + M.pixel_y = M.get_standard_pixel_y_offset(M.body_position == LYING_DOWN) + + +/obj/structure/bed/bunk/top + name = "top bunk" + desc = "The top bunk of a compact bunk bed. Few other sleeping accommodations can match its luxury." + icon_state = "top_bunk" + + // higher layer, so that it renders on top of people on the bottom bunk + layer = LYING_MOB_LAYER + 0.01 + mob_y_shift = 13 + + // above the lying mob, but below the ladder + suggested_tuck_layer = LYING_MOB_LAYER + 0.025 + tucked_y_shift = 14 + +/obj/structure/bed/bunk/top/Initialize(...) + . = ..() + // the ladder needs to render above the mob + overlays += image(icon = 'icons/obj/objects.dmi', icon_state = "top_bunk_ladder", layer = LYING_MOB_LAYER + 0.03) + // and the posts need to render below the bottom bunk + overlays += image(icon = 'icons/obj/objects.dmi', icon_state = "top_bunk_posts", layer = TABLE_LAYER) + +/obj/structure/bed/bunk/top/post_buckle_mob(mob/living/M) + . = ..() + M.layer = LYING_MOB_LAYER + 0.02 + +/obj/structure/bed/bunk/top/post_unbuckle_mob(mob/living/M) + . = ..() + // honestly not really confident in this, but since standing up takes a do_after + // (and thus happens afterwards, resetting the layer), it should be fine... + // i'm more worried about altering layers via + and -, since if you figured out ways + // of stacking those you could layer yourself under, like, the floor. + M.layer = LYING_MOB_LAYER + + +// the spawner +/obj/effect/spawner/bunk_bed + name = "bunk bed spawner" + icon_state = "bunk_bed_spawner" + +/obj/effect/spawner/bunk_bed/Initialize(...) + . = ..() + var/obj/structure/bed/bunk/bottom_bunk = new(loc) + var/obj/structure/bed/bunk/top/top_bunk = new(loc) + + bottom_bunk.setDir(dir) + top_bunk.setDir(dir) diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index 045bf39ae9b..40e0d938851 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -60,7 +60,7 @@ qdel(src) /obj/structure/chair/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1)) + if((W.tool_behaviour == TOOL_WRENCH || W.tool_behaviour == TOOL_DECONSTRUCT) && !(flags_1&NODECONSTRUCT_1)) W.play_tool_sound(src) deconstruct() else if(istype(W, /obj/item/assembly/shock_kit)) diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index d57e31ce951..19aabed4994 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -17,7 +17,7 @@ LINEN BINS throwforce = 0 throw_speed = 1 throw_range = 2 - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL resistance_flags = FLAMMABLE dying_key = DYE_REGISTRY_BEDSHEET greyscale_icon_state = "bedsheet" @@ -28,7 +28,7 @@ LINEN BINS /obj/item/bedsheet/Initialize(mapload) . = ..() - AddElement(/datum/element/bed_tuckable, 0, 0, 0) + AddElement(/datum/element/bed_tuckable, 0, 0, 0, TRUE, TRUE) /obj/item/bedsheet/attack_self(mob/user) if(!user.CanReach(src)) //No telekenetic grabbing. @@ -132,7 +132,7 @@ LINEN BINS desc = "It appears to have a beaker emblem, and is made out of fire-resistant material, although it probably won't protect you in the event of fires you're familiar with every day." icon_state = "sheetrd" item_state = "sheetrd" - dream_messages = list("authority", "a silvery ID", "a bomb", "a mech", "a facehugger", "maniacal laughter", "the research director") + dream_messages = list("authority", "a silvery ID", "a bomb", "an exosuit", "a facehugger", "maniacal laughter", "the research director") /obj/item/bedsheet/medical name = "medical blanket" @@ -209,7 +209,7 @@ LINEN BINS /obj/item/bedsheet/cult name = "cultist's bedsheet" - desc = "You might dream of Nar'Sie if you sleep with this. It seems rather tattered and glows of an eldritch presence." + desc = "You might dream of elder gods if you sleep with this. It seems rather tattered." icon_state = "sheetcult" item_state = "sheetcult" dream_messages = list("a tome", "a floating red crystal", "a glowing sword", "a bloody symbol", "a massive humanoid figure") @@ -353,7 +353,7 @@ LINEN BINS name = "double research director's bedsheet" icon_state = "double_sheetrd" item_state = "sheetrd" - dream_messages = list("authority", "a silvery ID", "a bomb", "a mech", "a facehugger", "maniacal laughter", "the research director") + dream_messages = list("authority", "a silvery ID", "a bomb", "an exosuit", "a facehugger", "maniacal laughter", "the research director") desc = "It appears to have a beaker emblem, and is made out of fire-resistant material, although it probably won't protect you in the event of fires you're familiar with every day." /obj/item/bedsheet/double/solgov @@ -383,7 +383,7 @@ LINEN BINS /obj/item/bedsheet/dorms/Initialize() ..() - var/type = pickweight(list("Colors" = 80, "Special" = 20)) + var/type = pick_weight(list("Colors" = 80, "Special" = 20)) switch(type) if("Colors") type = pick(list(/obj/item/bedsheet, @@ -408,7 +408,7 @@ LINEN BINS /obj/item/bedsheet/dorms/double/Initialize() ..() - var/type = pickweight(list("Colors" = 80, "Special" = 20)) + var/type = pick_weight(list("Colors" = 80, "Special" = 20)) switch(type) if("Colors") type = pick(list(/obj/item/bedsheet/double, diff --git a/code/game/objects/structures/cabinet.dm b/code/game/objects/structures/cabinet.dm new file mode 100644 index 00000000000..bc89cf1d0bb --- /dev/null +++ b/code/game/objects/structures/cabinet.dm @@ -0,0 +1,214 @@ +/obj/structure/cabinet + name = "\improper cabinet" + desc = "There is a small label that reads \"For Emergency use only\". Yeah right." + icon = 'icons/obj/wallmounts.dmi' + icon_state = "fireaxe" + anchored = TRUE + density = FALSE + armor = list("melee" = 50, "bullet" = 20, "laser" = 0, "energy" = 100, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50) + max_integrity = 150 + integrity_failure = 0.33 + req_one_access_txt = "0" + var/locked = TRUE + var/open = FALSE + var/start_empty = FALSE + var/obj/item/stored + var/allowed_type + var/stored_sprite = "axe" + +/obj/structure/cabinet/Initialize() + . = ..() + if(allowed_type && !start_empty) + stored = new allowed_type(src) + update_appearance() + +/obj/structure/cabinet/Destroy() + if(istype(stored)) + qdel(stored) + stored = null + return ..() + +/obj/structure/cabinet/examine(mob/user) + . = ..() + if(!open) + . += span_notice("Alt-click to [locked ? "unlock" : "lock"] [src]") + if(stored) + . += span_notice("[stored] is sitting inside, ripe for the taking.") + +/obj/structure/cabinet/attackby(obj/item/I, mob/user, params) + if(iscyborg(user) || I.tool_behaviour == TOOL_MULTITOOL) + hack_lock(user) + else if(I.tool_behaviour == TOOL_WELDER && user.a_intent == INTENT_HELP && !broken) + if(obj_integrity < max_integrity) + if(!I.tool_start_check(user, amount=2)) + return + to_chat(user, span_notice("You begin repairing [src]")) + if(I.use_tool(src, user, 40, volume=50, amount=2)) + obj_integrity = max_integrity + update_appearance() + to_chat(user, span_notice("You repair [src]")) + else + to_chat(user, span_warning("[src] is already in good condition!")) + return + else if(istype(I, /obj/item/stack/sheet/glass) && broken) + var/obj/item/stack/sheet/glass/G = I + if(G.get_amount() < 2) + to_chat(user, span_warning("You need two [G.singular_name] to fix [src]!")) + return + to_chat(user, span_notice("You start fixing [src]...")) + if(do_after(user, 20, target = src) && G.use(2)) + broken = 0 + obj_integrity = max_integrity + update_appearance() + else if(open || broken) + if(istype(I, allowed_type) && !stored) + var/obj/item/storee = I + SIGNAL_HANDLER + if(storee && HAS_TRAIT(storee, TRAIT_WIELDED)) + to_chat(user, span_warning("Unwield the [storee.name] first.")) + return + if(!user.transferItemToLoc(I, src)) + return + stored = storee + to_chat(user, span_notice("You place the [storee.name] back in the [name].")) + update_appearance() + return + else if(!broken) + toggle_open() + else + return ..() + +/obj/structure/cabinet/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) + switch(damage_type) + if(BRUTE) + if(broken) + playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 90, TRUE) + else + playsound(loc, 'sound/effects/glasshit.ogg', 90, TRUE) + if(BURN) + playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE) + +/obj/structure/cabinet/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) + if(open) + return + . = ..() + if(.) + update_appearance() + +/obj/structure/cabinet/obj_break(damage_flag) + if(!broken && !(flags_1 & NODECONSTRUCT_1)) + update_appearance() + broken = TRUE + playsound(src, 'sound/effects/glassbr3.ogg', 100, TRUE) + new /obj/item/shard(loc) + new /obj/item/shard(loc) + +/obj/structure/cabinet/deconstruct(disassembled = TRUE) + if(!(flags_1 & NODECONSTRUCT_1)) + if(stored && loc) + stored.forceMove(loc) + stored = null + new /obj/item/stack/sheet/metal(loc, 2) + qdel(src) + +/obj/structure/cabinet/attack_hand(mob/user) + . = ..() + if(.) + return + if(open || broken) + if(stored) + to_chat(user, span_notice("You take [stored] from [name].")) + user.put_in_hands(stored) + stored = null + src.add_fingerprint(user) + update_appearance() + return + if(locked) + to_chat(user, span_warning("[name] won't budge!")) + return + else + open = !open + update_appearance() + return + +/obj/structure/cabinet/attack_paw(mob/living/user) + return attack_hand(user) + +/obj/structure/cabinet/attack_ai(mob/user) + toggle_lock(user) + return + +/obj/structure/cabinet/attack_tk(mob/user) + if(locked) + to_chat(user, span_warning("[name] won't budge!")) + return + else + open = !open + update_appearance() + return + +/obj/structure/cabinet/update_overlays() + . = ..() + if(stored) + . += "[stored_sprite]" + if(open) + . += "glass_raised" + return + var/hp_percent = obj_integrity/max_integrity * 100 + if(broken) + . += "glass4" + else + switch(hp_percent) + if(-INFINITY to 40) + . += "glass3" + if(40 to 60) + . += "glass2" + if(60 to 80) + . += "glass1" + if(80 to INFINITY) + . += "glass" + + . += locked ? "locked" : "unlocked" + +/obj/structure/cabinet/proc/toggle_lock(mob/user) + if(!broken) + if(allowed(user)) + if(iscarbon(user)) + add_fingerprint(user) + locked = !locked + user.visible_message( + span_notice("[user] [locked ? "locks" : "unlocks"][src]."), + span_notice("You [locked ? "lock" : "unlock"] [src].")) + update_appearance() + else + to_chat(user, span_warning("Access denied!")) + else if(broken) + to_chat(user, span_warning("\The [src] is broken!")) + +/obj/structure/cabinet/AltClick(mob/user) + ..() + if(!user.canUseTopic(src, BE_CLOSE) || !isturf(loc) || open) + return + else + toggle_lock(user) + +/obj/structure/cabinet/proc/hack_lock(mob/user) + to_chat(user, span_notice("Resetting circuitry...")) + playsound(src, 'sound/machines/locktoggle.ogg', 50, TRUE) + if(do_after(user, 20, target = src)) + to_chat(user, span_notice("You [locked ? "disable" : "re-enable"] the locking modules.")) + locked = !locked + update_appearance() + +/obj/structure/cabinet/verb/toggle_open() + set name = "Open/Close" + set category = "Object" + set src in oview(1) + + if(locked) + visible_message(span_warning("[name] won't budge!")) + return + else + open = !open + update_appearance() + return diff --git a/code/game/objects/structures/cabinet_types.dm b/code/game/objects/structures/cabinet_types.dm new file mode 100644 index 00000000000..c64356ac4db --- /dev/null +++ b/code/game/objects/structures/cabinet_types.dm @@ -0,0 +1,16 @@ +/obj/structure/cabinet/fireaxe + name = "\improper fire axe cabinet" + desc = "There is a small label that reads \"For Emergency use only\" along with details for safe use of the axe. As if." + icon = 'icons/obj/wallmounts.dmi' + icon_state = "fireaxe" + stored_sprite = "axe" + allowed_type = /obj/item/melee/axe/fire + req_one_access_txt = "24" + +/obj/structure/cabinet/oneshot + name = "\improper rocket launcher cabinet" + desc = "There is a small label that reads \"For Emergency use only\" along with a small drawing of how to operate the launcher." + icon_state = "rpg" + stored_sprite = "launcher" + allowed_type = /obj/item/gun/ballistic/rocketlauncher/oneshot + req_one_access_txt = "3" diff --git a/code/game/objects/structures/catwalk.dm b/code/game/objects/structures/catwalk.dm index 20986f9e6c2..2202e84d70e 100644 --- a/code/game/objects/structures/catwalk.dm +++ b/code/game/objects/structures/catwalk.dm @@ -57,7 +57,7 @@ . += "The supporting rods look like they could be welded." /obj/structure/catwalk/attackby(obj/item/C, mob/user, params) - if(C.tool_behaviour == TOOL_WELDER && !(resistance_flags & INDESTRUCTIBLE)) + if((C.tool_behaviour == TOOL_WELDER || C.tool_behaviour == TOOL_DECONSTRUCT) && !(resistance_flags & INDESTRUCTIBLE)) to_chat(user, "You slice off [src]") deconstruct() return diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 714129498e4..cd1c880eae7 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -27,7 +27,8 @@ var/max_mob_size = MOB_SIZE_HUMAN //Biggest mob_size accepted by the container 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 + // defaults to welder if null + var/cutting_tool = TOOL_WELDER var/open_sound = 'sound/machines/closet_open.ogg' var/close_sound = 'sound/machines/closet_close.ogg' var/open_sound_volume = 35 @@ -254,34 +255,43 @@ if(user in src) return if(src.tool_interact(W,user)) - return 1 // No afterattack + return TRUE // No afterattack else return ..() +/obj/structure/closet/proc/try_deconstruct(obj/item/W, mob/user) + if(W.tool_behaviour == cutting_tool || W.tool_behaviour == TOOL_DECONSTRUCT) + if(!W.tool_start_check(user, amount = 0)) + return + to_chat(user, span_notice("You begin cutting \the [src] apart...")) + if(W.use_tool(src, user, 40, volume = 50)) + if(!opened) + return + user.visible_message(span_notice("[user] slices apart \the [src]."), + span_notice("You cut \the [src] apart with \the [W]."), + span_hear("You hear welding.")) + deconstruct(TRUE) + return TRUE + /obj/structure/closet/proc/tool_interact(obj/item/W, mob/user)//returns TRUE if attackBy call shouldnt be continued (because tool was used/closet was of wrong type), FALSE if otherwise . = TRUE if(opened) - if(istype(W, cutting_tool)) - if(W.tool_behaviour == TOOL_WELDER) - if(!W.tool_start_check(user, amount=0)) - return - - to_chat(user, "You begin cutting \the [src] apart...") - if(W.use_tool(src, user, 40, volume=50)) - if(!opened) - return - user.visible_message("[user] slices apart \the [src].", - "You cut \the [src] apart with \the [W].", - "You hear welding.") - deconstruct(TRUE) + if(W.tool_behaviour == cutting_tool && user.a_intent != INTENT_HELP) + if(!W.tool_start_check(user, amount=0)) return - else // for example cardboard box is cut with wirecutters - user.visible_message("[user] cut apart \the [src].", \ - "You cut \the [src] apart with \the [W].") + + to_chat(user, "You begin cutting \the [src] apart...") + if(W.use_tool(src, user, 40, volume=50)) + if(!opened) + return + user.visible_message("[user] slices apart \the [src].", + "You cut \the [src] apart with \the [W].", + "You hear cutting.") deconstruct(TRUE) - return + return if(user.transferItemToLoc(W, drop_location())) // so we put in unlit welder too return + return else if(W.tool_behaviour == TOOL_WELDER && can_weld_shut) if(!W.tool_start_check(user, amount=0)) return @@ -304,6 +314,13 @@ user.visible_message("[user] [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.", \ "You [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.", \ "You hear a ratchet.") + + else if(W.tool_behaviour == TOOL_DECONSTRUCT && locked) + user.visible_message("[user] is cutting \the [src] open !", "You begin to cut \the [src] open.") + if (W.use_tool(src, user, 10 SECONDS, volume=0)) + bust_open() + user.visible_message("[user] busted \the [src] open !", "You finish cutting \the [src] open.") + else if(user.a_intent != INTENT_HARM) var/item_is_id = W.GetID() if(!item_is_id) diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm index a5d7531b0aa..b0674a2d2b6 100644 --- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm +++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm @@ -8,7 +8,7 @@ max_integrity = 70 integrity_failure = 0 can_weld_shut = 0 - cutting_tool = /obj/item/wirecutters + cutting_tool = TOOL_WIRECUTTER material_drop = /obj/item/stack/sheet/cardboard delivery_icon = "deliverybox" anchorable = FALSE @@ -20,6 +20,13 @@ var/move_delay = FALSE var/egged = 0 +/obj/structure/closet/cardboard/try_deconstruct(obj/item/W, mob/user) + if(W.tool_behaviour == cutting_tool) + user.visible_message(span_notice("[user] cut apart \the [src]."), \ + span_notice("You cut \the [src] apart with \the [W].")) + deconstruct(TRUE) + return TRUE + /obj/structure/closet/cardboard/relaymove(mob/living/user, direction) if(opened || move_delay || user.incapacitated() || !isturf(loc) || !has_gravity(loc)) return @@ -70,7 +77,7 @@ mob_storage_capacity = 5 resistance_flags = NONE move_speed_multiplier = 2 - cutting_tool = /obj/item/weldingtool + cutting_tool = TOOL_WELDER open_sound = 'sound/machines/crate_open.ogg' close_sound = 'sound/machines/crate_close.ogg' open_sound_volume = 35 diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm index cfea37148e5..626640f5a60 100644 --- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm +++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm @@ -14,7 +14,6 @@ desc = "It looks alien!" icon_state = "alien" - /obj/structure/closet/gimmick name = "administrative supply closet" desc = "It's a storage unit for things that have no right being here." @@ -56,7 +55,7 @@ for(var/i in 1 to 3) new /obj/item/clothing/suit/armor/tdome/red(src) for(var/i in 1 to 3) - new /obj/item/melee/transforming/energy/sword/saber(src) + new /obj/item/melee/energy/sword/saber(src) for(var/i in 1 to 3) new /obj/item/gun/energy/laser(src) for(var/i in 1 to 3) @@ -75,7 +74,7 @@ for(var/i in 1 to 3) new /obj/item/clothing/suit/armor/tdome/green(src) for(var/i in 1 to 3) - new /obj/item/melee/transforming/energy/sword/saber(src) + new /obj/item/melee/energy/sword/saber(src) for(var/i in 1 to 3) new /obj/item/gun/energy/laser(src) for(var/i in 1 to 3) diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm index dac919bb428..6e7de98b21d 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -98,14 +98,9 @@ icon_door = "black" /obj/structure/closet/wardrobe/chaplain_black/PopulateContents() - new /obj/item/storage/box/holy(src) new /obj/item/clothing/accessory/pocketprotector/cosmetology(src) new /obj/item/clothing/under/rank/civilian/chaplain(src) new /obj/item/clothing/shoes/sneakers/black(src) - new /obj/item/clothing/suit/chaplainsuit/nun(src) - new /obj/item/clothing/head/nun_hood(src) - new /obj/item/clothing/suit/hooded/chaplainsuit/monkhabit(src) - new /obj/item/clothing/suit/chaplainsuit/holidaypriest(src) new /obj/item/storage/backpack/cultpack(src) new /obj/item/storage/fancy/candle_box(src) new /obj/item/storage/fancy/candle_box(src) @@ -250,8 +245,7 @@ /obj/item/clothing/under/rank/medical/geneticist = 2, /obj/item/clothing/shoes/sneakers/white = 2, /obj/item/clothing/suit/toggle/labcoat/genetics = 2, - /obj/item/storage/backpack/genetics = 2, - /obj/item/storage/backpack/satchel/gen = 2) + /obj/item/storage/backpack/genetics = 2) generate_items_inside(items_inside,src) return diff --git a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm index 0e7ab6e0a52..2bdc4f762dc 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm @@ -33,9 +33,9 @@ /obj/structure/closet/secure_closet/freezer/kitchen/PopulateContents() ..() for(var/i = 0, i < 3, i++) - new /obj/item/reagent_containers/food/condiment/flour(src) - new /obj/item/reagent_containers/food/condiment/rice(src) - new /obj/item/reagent_containers/food/condiment/sugar(src) + new /obj/item/reagent_containers/condiment/flour(src) + new /obj/item/reagent_containers/condiment/rice(src) + new /obj/item/reagent_containers/condiment/sugar(src) /obj/structure/closet/secure_closet/freezer/kitchen/maintenance name = "maintenance refrigerator" @@ -45,9 +45,9 @@ /obj/structure/closet/secure_closet/freezer/kitchen/maintenance/PopulateContents() ..() for(var/i = 0, i < 5, i++) - new /obj/item/reagent_containers/food/condiment/milk(src) + new /obj/item/reagent_containers/condiment/milk(src) for(var/i = 0, i < 5, i++) - new /obj/item/reagent_containers/food/condiment/soymilk(src) + new /obj/item/reagent_containers/condiment/soymilk(src) for(var/i = 0, i < 2, i++) new /obj/item/storage/fancy/egg_box(src) @@ -82,9 +82,9 @@ /obj/structure/closet/secure_closet/freezer/fridge/PopulateContents() ..() for(var/i = 0, i < 5, i++) - new /obj/item/reagent_containers/food/condiment/milk(src) + new /obj/item/reagent_containers/condiment/milk(src) for(var/i = 0, i < 5, i++) - new /obj/item/reagent_containers/food/condiment/soymilk(src) + new /obj/item/reagent_containers/condiment/soymilk(src) for(var/i = 0, i < 2, i++) new /obj/item/storage/fancy/egg_box(src) 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 8ccc632dbac..98dd6a2b4c8 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -25,12 +25,10 @@ new /obj/item/clothing/head/caphat(src) new /obj/item/clothing/head/caphat/parade(src) new /obj/item/clothing/suit/armor/vest/capcarapace/captunic(src) - new /obj/item/clothing/head/crown/fancy(src) new /obj/item/cartridge/captain(src) new /obj/item/storage/box/silver_ids(src) new /obj/item/radio/headset/heads/captain/alt(src) new /obj/item/radio/headset/heads/captain(src) - new /obj/item/clothing/glasses/sunglasses/gar/supergar(src) new /obj/item/clothing/gloves/color/captain(src) new /obj/item/storage/belt/sabre(src) new /obj/item/gun/energy/e_gun(src) @@ -50,7 +48,6 @@ new /obj/item/clothing/head/beret/hop(src) //WS edit - More Berets new /obj/item/clothing/under/rank/command/head_of_personnel(src) //WS Edit - Better Command Uniforms new /obj/item/clothing/under/rank/command/head_of_personnel/skirt(src) //WS Edit - Better Command Uniforms - new /obj/item/clothing/head/hopcap(src) new /obj/item/cartridge/head_of_personnel(src) new /obj/item/radio/headset/heads/head_of_personnel(src) new /obj/item/clothing/shoes/sneakers/brown(src) @@ -92,7 +89,6 @@ new /obj/item/clothing/under/rank/security/head_of_security/alt/skirt(src) new /obj/item/clothing/head/HoS(src) new /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch(src) - new /obj/item/clothing/glasses/hud/security/sunglasses/gars/supergars(src) new /obj/item/clothing/suit/armor/vest/security/hos(src) //WS Edit - Better security jumpsuit sprites new /obj/item/storage/lockbox/medal/sec(src) new /obj/item/megaphone/sec(src) @@ -130,17 +126,17 @@ new /obj/item/clothing/under/rank/security/warden/skirt(src) new /obj/item/clothing/glasses/hud/security/sunglasses(src) new /obj/item/holosign_creator/security(src) - new /obj/item/clothing/mask/gas/sechailer(src) + new /obj/item/clothing/mask/gas(src) new /obj/item/storage/box/zipties(src) new /obj/item/storage/box/flashbangs(src) new /obj/item/storage/belt/security/full(src) new /obj/item/flashlight/seclite(src) - new /obj/item/megaphone/sec(src) //WS edit - Small QoL Brig additions + new /obj/item/megaphone/sec(src) new /obj/item/clothing/gloves/krav_maga/sec(src) new /obj/item/door_remote/head_of_security(src) - new /obj/item/gun/ballistic/shotgun/automatic/combat/compact(src) - new /obj/item/gun/ballistic/automatic/pistol/commander(src) //WS edit - free lethals - new /obj/item/gun_voucher //WS edit - gun gun gun gun gun gun gun + new /obj/item/gun/ballistic/shotgun/automatic/m11(src) + new /obj/item/gun/ballistic/automatic/pistol/commander(src) + new /obj/item/gun_voucher /obj/structure/closet/secure_closet/security name = "security officer's locker" @@ -259,7 +255,6 @@ new /obj/item/paper/fluff/jobs/security/court_judgement (src) new /obj/item/pen (src) new /obj/item/clothing/suit/judgerobe (src) - new /obj/item/clothing/head/powdered_wig (src) new /obj/item/storage/briefcase(src) /obj/structure/closet/secure_closet/contraband/armory @@ -272,6 +267,11 @@ name = "Contraband Locker" req_access = list(ACCESS_HEADS) +/obj/structure/closet/secure_closet/armorycage + name = "armory locker" + req_access = list(ACCESS_ARMORY) + icon_state = "shotguncase" + /obj/structure/closet/secure_closet/armory1 name = "armory armor locker" req_access = list(ACCESS_ARMORY) @@ -321,7 +321,7 @@ ..() new /obj/item/gun/ballistic/automatic/smg/wt550(src) new /obj/item/clothing/head/helmet/bulletproof(src) - new /obj/item/clothing/mask/gas/sechailer(src) + new /obj/item/clothing/mask/gas/vigilitas(src) new /obj/item/clothing/suit/armor/vest/bulletproof(src) /obj/structure/closet/secure_closet/lethalshots @@ -333,10 +333,10 @@ ..() for(var/i in 1 to 3) new /obj/item/storage/box/lethalshot(src) - new /obj/item/ammo_box/magazine/co9mm(src) //WS edit - begin - better safe than sorry new /obj/item/ammo_box/magazine/co9mm(src) new /obj/item/ammo_box/magazine/co9mm(src) - new /obj/item/ammo_box/magazine/co9mm(src) //WS edit - end + new /obj/item/ammo_box/magazine/co9mm(src) + new /obj/item/ammo_box/magazine/co9mm(src) /obj/structure/closet/secure_closet/labor_camp_security name = "labor camp security locker" diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index fc0aae86078..23c5e83e3c5 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -12,7 +12,7 @@ new /obj/item/clothing/under/syndicate/skirt(src) new /obj/item/clothing/shoes/sneakers/black(src) new /obj/item/radio/headset/syndicate(src) - new /obj/item/ammo_box/magazine/m10mm(src) + new /obj/item/ammo_box/magazine/m10mm_ringneck(src) new /obj/item/storage/belt/military(src) new /obj/item/crowbar/syndie(src) new /obj/item/clothing/glasses/night(src) @@ -23,7 +23,7 @@ /obj/structure/closet/syndicate/nuclear/PopulateContents() for(var/i in 1 to 5) - new /obj/item/ammo_box/magazine/m10mm(src) + new /obj/item/ammo_box/magazine/m10mm_ringneck(src) new /obj/item/storage/box/flashbangs(src) new /obj/item/storage/box/teargas(src) new /obj/item/storage/backpack/duffelbag/syndie/med(src) diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm index fdc061e9769..fa4fe485015 100644 --- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm @@ -29,7 +29,7 @@ if (prob(40)) new /obj/item/storage/toolbox/emergency(src) - switch (pickweight(list("small" = 40, "aid" = 25, "tank" = 20, "both" = 10, "nothing" = 4, "delete" = 1))) + switch (pick_weight(list("small" = 40, "aid" = 25, "tank" = 20, "both" = 10, "nothing" = 4, "delete" = 1))) if ("small") new /obj/item/tank/internals/emergency_oxygen(src) new /obj/item/tank/internals/emergency_oxygen(src) @@ -50,7 +50,7 @@ new /obj/item/clothing/mask/breath(src) if ("nothing") - // doot + EMPTY_BLOCK_GUARD // teehee if ("delete") diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index bca315340a4..e3a8339dce4 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -37,8 +37,6 @@ new /obj/item/clothing/under/color/jumpskirt/black(src) if(prob(25)) new /obj/item/clothing/suit/jacket/leather(src) - if(prob(20)) - new /obj/item/clothing/suit/jacket/leather/overcoat(src) for(var/i in 1 to 3) new /obj/item/clothing/shoes/sneakers/black(src) for(var/i in 1 to 3) diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 3729f41af36..3cd9cd13796 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -293,3 +293,21 @@ new /obj/item/clothing/mask/breath(src) for(var/i in 1 to 3) new /obj/item/tank/internals/oxygen(src) + +/obj/structure/closet/crate/cyborg + name = "Cyborg Construction Crate" + desc = "A crate containing the parts to build a cyborg frame." + icon_state = "scicrate" + +/obj/structure/closet/crate/cyborg/PopulateContents() + . = ..() + new /obj/item/bodypart/l_arm/robot(src) + new /obj/item/bodypart/r_arm/robot(src) + new /obj/item/bodypart/leg/left/robot(src) + new /obj/item/bodypart/leg/right/robot(src) + new /obj/item/bodypart/chest/robot(src) + new /obj/item/bodypart/head/robot(src) + new /obj/item/robot_suit(src) + new /obj/item/stock_parts/cell/high(src) + for(var/i in 1 to 2) + new /obj/item/assembly/flash/handheld(src) diff --git a/code/game/objects/structures/crates_lockers/crates/graves.dm b/code/game/objects/structures/crates_lockers/crates/graves.dm new file mode 100644 index 00000000000..dc7eee343d0 --- /dev/null +++ b/code/game/objects/structures/crates_lockers/crates/graves.dm @@ -0,0 +1,112 @@ +/obj/structure/closet/crate/grave + name = "burial mound" + desc = "A marked patch of soil, adorned with a wooden cross" + icon_state = "grave" + dense_when_open = TRUE + material_drop = /obj/item/stack/ore/glass/basalt + material_drop_amount = 5 + opened = TRUE + anchorable = FALSE + anchored = TRUE + locked = TRUE + breakout_time = 900 + cutting_tool = TOOL_SHOVEL + +/obj/structure/closet/crate/grave/attackby(obj/item/W, mob/user, params) + .=..() + if(istype(W, /obj/item/screwdriver)) + if(!user.is_literate()) + to_chat(user, "You scratch illegibly on [src]!") + return + var/t = stripped_input(user, "What would you like the inscription to be?", name, null, 53) + if(user.get_active_held_item() != W) + return + if(!user.canUseTopic(src, BE_CLOSE)) + return + if(t) + desc = "[t]" + return + +/obj/structure/closet/crate/grave/open(mob/living/user, obj/item/S, force = FALSE) + if(!opened) + to_chat(user, "The ground here is too hard to dig up with your bare hands. You'll need a shovel.") + else + to_chat(user, "The grave has already been dug up.") + +/obj/structure/closet/crate/grave/tool_interact(obj/item/S, mob/living/carbon/user) + if(user.a_intent == INTENT_HELP) //checks to attempt to dig the grave, must be done on help intent only. + if(!opened) + if(S.tool_behaviour == cutting_tool) + to_chat(user, "You start start to dig open \the [src] with \the [S]...") + if (do_after(user,20, target = src)) + opened = TRUE + locked = TRUE + dump_contents() + update_appearance() + SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "graverobbing", /datum/mood_event/graverobbing) + return TRUE + return TRUE + else + to_chat(user, "You can't dig up a grave with \the [S.name].") + return TRUE + else + to_chat(user, "The grave has already been dug up.") + return TRUE + + else if((user.a_intent != INTENT_HELP) && opened) //checks to attempt to remove the grave entirely. + if(S.tool_behaviour == cutting_tool) + to_chat(user, "You start to remove \the [src] with \the [S].") + if (do_after(user,15, target = src)) + to_chat(user, "You remove \the [src] completely.") + SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "graverobbing", /datum/mood_event/graverobbing) + deconstruct(TRUE) + return TRUE + return + +/obj/structure/closet/crate/grave/bust_open() + ..() + opened = TRUE + update_appearance() + dump_contents() + return + +/obj/structure/closet/crate/grave/stone + name = "burial mound" + desc = "A marked patch of soil, adorned with a sandstone slab" + icon_state = "grave_lead" + +/obj/structure/closet/crate/grave/loot + name = "burial mound" + desc = "A marked patch of soil, showing signs of a burial long ago. You wouldn't disturb a grave... right?" + opened = FALSE + +/obj/structure/closet/crate/grave/loot/PopulateContents() //GRAVEROBBING IS NOW A FEATURE + ..() + new /obj/effect/decal/remains/human/grave(src) + switch(rand(1,7)) + if(1) + new /obj/item/spacecash/bundle/smallrand(src) + new /obj/item/card/id + new /obj/item/storage/wallet(src) + if(2) + new /obj/item/clothing/head/papersack/smiley(src) + if(3) + new /obj/item/clothing/under/nanotrasen(src) + new /obj/item/clothing/head/nanotrasen(src) + if(4) + new /obj/item/storage/book/bible/booze(src) + if(5) + new /obj/item/clothing/neck/stethoscope(src) + new /obj/item/scalpel(src) + new /obj/item/hemostat(src) + + if(6) + new /obj/item/reagent_containers/glass/beaker/large/napalm(src) + new /obj/item/clothing/under/frontiersmen(src) + if(7) + new /obj/item/clothing/glasses/sunglasses(src) + new /obj/item/clothing/mask/cigarette/rollie(src) + new /obj/item/lighter(src) + +/obj/effect/decal/remains/human/grave + turf_loc_check = FALSE diff --git a/code/game/objects/structures/crateshelf.dm b/code/game/objects/structures/crateshelf.dm index 3b1387f5490..f5f31fb30e3 100644 --- a/code/game/objects/structures/crateshelf.dm +++ b/code/game/objects/structures/crateshelf.dm @@ -1,4 +1,5 @@ #define DEFAULT_SHELF_CAPACITY 3 // Default capacity of the shelf +#define DEFAULT_SHELF_MAX_CAPACITY 4 #define DEFAULT_SHELF_USE_DELAY 1 SECONDS // Default interaction delay of the shelf #define DEFAULT_SHELF_VERTICAL_OFFSET 10 // Vertical pixel offset of shelving-related things. Set to 10 by default due to this leaving more of the crate on-screen to be clicked. @@ -12,9 +13,13 @@ max_integrity = 50 // Not hard to break var/capacity = DEFAULT_SHELF_CAPACITY + var/max_capacity = DEFAULT_SHELF_MAX_CAPACITY var/use_delay = DEFAULT_SHELF_USE_DELAY var/list/shelf_contents +/obj/structure/crate_shelf/built + capacity = 1 + /obj/structure/crate_shelf/debug capacity = 12 @@ -38,6 +43,8 @@ /obj/structure/crate_shelf/examine(mob/user) . = ..() + if(capacity < max_capacity) + . += span_notice("You could add another shelf with 2 sheets of metal.") . += span_notice("There are some bolts holding [src] together.") if(shelf_contents.Find(null)) // If there's an empty space in the shelf, let the examiner know. . += span_notice("You could drag and drop a crate into [src].") @@ -47,12 +54,40 @@ for(var/obj/structure/closet/crate/crate in shelf_contents) . += " [icon2html(crate, user)] [crate]" +/obj/structure/crate_shelf/proc/add_shelf(num) + if(capacity + num > max_capacity) + return FALSE + var/stack_layer // This is used to generate the sprite layering of the shelf pieces. + var/stack_offset // This is used to generate the vertical offset of the shelf pieces. + var/prev_capacity = capacity + capacity += num + shelf_contents.len = capacity + for(var/i in prev_capacity to (capacity - 1)) + if(i >= 3) // If we're at or above three, we'll be on the way to going off the tile we're on. This allows mobs to be below the shelf when this happens. + stack_layer = ABOVE_MOB_LAYER + (0.02 * i) - 0.01 + else + stack_layer = BELOW_OBJ_LAYER + (0.02 * i) - 0.01 // Make each shelf piece render above the last, but below the crate that should be on it. + stack_offset = DEFAULT_SHELF_VERTICAL_OFFSET * i // Make each shelf piece physically above the last. + overlays += image(icon = 'icons/obj/objects.dmi', icon_state = "shelf_stack", layer = stack_layer, pixel_y = stack_offset) + /obj/structure/crate_shelf/attackby(obj/item/item, mob/living/user, params) if (item.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1)) item.play_tool_sound(src) - if(do_after(user, 3 SECONDS, target = src)) + if(do_after(user, 3 SECONDS, src)) deconstruct(TRUE) return TRUE + if(istype(item, /obj/item/stack/sheet/metal)) + if(capacity < max_capacity) + var/obj/item/stack/sheet/metal/our_sheet = item + if(our_sheet.get_amount() >= 2) + balloon_alert(user, "adding additional shelf to rack") + if(do_after(user, 3 SECONDS, src)) + add_shelf(1) + our_sheet.use(2) + return TRUE + to_chat(user, span_notice("Adding a shelf to [src] requires more metal.")) + return FALSE + to_chat(user, span_notice("[src] cannot be built any higher!")) return ..() /obj/structure/crate_shelf/relay_container_resist_act(mob/living/user, obj/structure/closet/crate) @@ -123,6 +158,7 @@ crate.SpinAnimation(rand(4,7), 1) // Spin the crates around a little as they fall. Randomness is applied so it doesn't look weird. switch(pick(1, 1, 1, 1, 2, 2, 3)) // Randomly pick whether to do nothing, open the crate, or break it open. if(1) // Believe it or not, this does nothing. + EMPTY_BLOCK_GUARD if(2) // Open the crate! if(crate.open()) // Break some open, cause a little chaos. crate.visible_message(span_warning("[crate]'s lid falls open!")) @@ -135,11 +171,15 @@ shelf_contents[shelf_contents.Find(crate)] = null if(!(flags_1&NODECONSTRUCT_1)) density = FALSE - var/obj/item/rack_parts/shelf/newparts = new(loc) - transfer_fingerprints_to(newparts) + var/obj/item/rack_parts/shelf/new_parts = new(loc) + if(capacity >= 2) + var/obj/item/stack/sheet/metal/new_metal = new(loc) + new_metal.amount = (capacity-1)*2 + transfer_fingerprints_to(new_metal) + transfer_fingerprints_to(new_parts) return ..() /obj/item/rack_parts/shelf name = "crate shelf parts" desc = "Parts of a shelf." - construction_type = /obj/structure/crate_shelf + construction_type = /obj/structure/crate_shelf/built diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 4e95b555884..b74c4926ea1 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -185,6 +185,11 @@ user.do_attack_animation(src, ATTACK_EFFECT_KICK) take_damage(2) +/obj/structure/displaycase/broken + name = "broken display case" + desc = "A display case for prized possessions. Or at least it was, until someone smashed it open." + broken = 1 + /obj/structure/displaycase_chassis anchored = TRUE density = FALSE diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 4246075e49f..43052f1f0db 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -333,6 +333,14 @@ new mineral_path(T, 2) qdel(src) +/obj/structure/door_assembly/deconstruct_act(mob/living/user, obj/item/I) + . = ..() + if(!I.tool_start_check(user, amount=0)) + return FALSE + if (I.use_tool(src, user, 3 SECONDS, volume=100)) + to_chat(user, "You slice [src] apart.") + deconstruct(FALSE) + return TRUE /obj/structure/door_assembly/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) if(the_rcd.mode == RCD_DECONSTRUCT) diff --git a/code/game/objects/structures/door_assembly_types.dm b/code/game/objects/structures/door_assembly_types.dm index d2bcf77cfda..b77f86be469 100644 --- a/code/game/objects/structures/door_assembly_types.dm +++ b/code/game/objects/structures/door_assembly_types.dm @@ -141,20 +141,6 @@ airlock_type = /obj/machinery/door/airlock/shuttle glass_type = /obj/machinery/door/airlock/shuttle/glass -/obj/structure/door_assembly/door_assembly_cult - name = "cult airlock assembly" - icon = 'icons/obj/doors/airlocks/cult/runed/cult.dmi' - base_name = "cult airlock" - overlays_file = 'icons/obj/doors/airlocks/cult/runed/overlays.dmi' - airlock_type = /obj/machinery/door/airlock/cult - glass_type = /obj/machinery/door/airlock/cult/glass - -/obj/structure/door_assembly/door_assembly_cult/unruned - icon = 'icons/obj/doors/airlocks/cult/unruned/cult.dmi' - overlays_file = 'icons/obj/doors/airlocks/cult/unruned/overlays.dmi' - airlock_type = /obj/machinery/door/airlock/cult/unruned - glass_type = /obj/machinery/door/airlock/cult/unruned/glass - /obj/structure/door_assembly/door_assembly_viro name = "virology airlock assembly" icon = 'icons/obj/doors/airlocks/station/virology.dmi' diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index ebfda776726..61944f81198 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -9,14 +9,40 @@ hitsound_type = PROJECTILE_HITSOUND_WOOD /obj/structure/dresser/attackby(obj/item/I, mob/user, params) - if(I.tool_behaviour == TOOL_WRENCH) - to_chat(user, "You begin to [anchored ? "unwrench" : "wrench"] [src].") - if(I.use_tool(src, user, 20, volume=50)) - to_chat(user, "You successfully [anchored ? "unwrench" : "wrench"] [src].") - set_anchored(!anchored) + var/list/modifiers = params2list(params) + if(user.transferItemToLoc(I, drop_location(), silent = FALSE)) + //Center the icon where the user clicked. + 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) + 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) + return TRUE else return ..() +/obj/structure/dresser/wrench_act(mob/living/user, obj/item/I) + . = ..() + to_chat(user, "You begin to [anchored ? "unwrench" : "wrench"] [src].") + if(I.use_tool(src, user, 20, volume=50)) + to_chat(user, "You successfully [anchored ? "unwrench" : "wrench"] [src].") + set_anchored(!anchored) + +/obj/structure/dresser/crowbar_act(mob/living/user, obj/item/I) + . = ..() + if(!anchored) + to_chat(user, span_notice("You begin to pull apart [src].")) + if(I.use_tool(src, user, 30, volume=50)) + to_chat(user, span_notice("You successfully deconstruct [src].")) + deconstruct() + +/obj/structure/dresser/deconstruct_act(mob/living/user, obj/item/I) + . = ..() + to_chat(user, span_notice("You begin to disassemble [src].")) + if(I.use_tool(src, user, 10, volume=50)) + to_chat(user, span_notice("You successfully deconstruct [src].")) + deconstruct() + /obj/structure/dresser/deconstruct(disassembled = TRUE) new /obj/item/stack/sheet/mineral/wood(drop_location(), 10) qdel(src) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index d5a8c3e496c..48bf8817e1e 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -107,9 +107,6 @@ else if(W.tool_behaviour == TOOL_WELDER) if(W.use_tool(src, user, 0, volume=50)) dismantle(user, TRUE) - else if(istype(W, /obj/item/pickaxe/drill/jackhammer)) - W.play_tool_sound(src) - dismantle(user, TRUE) else return ..() diff --git a/code/game/objects/structures/fence.dm b/code/game/objects/structures/fence.dm index 8697662ed09..819264eb1ce 100644 --- a/code/game/objects/structures/fence.dm +++ b/code/game/objects/structures/fence.dm @@ -111,11 +111,6 @@ cuttable = FALSE var/open = FALSE -/obj/structure/fence/door/Initialize() - . = ..() - - update_door_status() - /obj/structure/fence/door/opened icon_state = "door_opened" open = TRUE diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm deleted file mode 100644 index f6de885caf7..00000000000 --- a/code/game/objects/structures/fireaxe.dm +++ /dev/null @@ -1,185 +0,0 @@ -/obj/structure/fireaxecabinet - name = "fire axe cabinet" - desc = "There is a small label that reads \"For Emergency use only\" along with details for safe use of the axe. As if." - icon = 'icons/obj/wallmounts.dmi' - icon_state = "fireaxe" - anchored = TRUE - density = FALSE - armor = list("melee" = 50, "bullet" = 20, "laser" = 0, "energy" = 100, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50) - max_integrity = 150 - integrity_failure = 0.33 - var/locked = TRUE - var/open = FALSE - var/obj/item/fireaxe/fireaxe - -/obj/structure/fireaxecabinet/Initialize() - . = ..() - fireaxe = new - update_appearance() - -/obj/structure/fireaxecabinet/Destroy() - if(fireaxe) - QDEL_NULL(fireaxe) - return ..() - -/obj/structure/fireaxecabinet/attackby(obj/item/I, mob/user, params) - if(iscyborg(user) || I.tool_behaviour == TOOL_MULTITOOL) - toggle_lock(user) - else if(I.tool_behaviour == TOOL_WELDER && user.a_intent == INTENT_HELP && !broken) - if(obj_integrity < max_integrity) - if(!I.tool_start_check(user, amount=2)) - return - - to_chat(user, "You begin repairing [src].") - if(I.use_tool(src, user, 40, volume=50, amount=2)) - obj_integrity = max_integrity - update_appearance() - to_chat(user, "You repair [src].") - else - to_chat(user, "[src] is already in good condition!") - return - else if(istype(I, /obj/item/stack/sheet/glass) && broken) - var/obj/item/stack/sheet/glass/G = I - if(G.get_amount() < 2) - to_chat(user, "You need two glass sheets to fix [src]!") - return - to_chat(user, "You start fixing [src]...") - if(do_after(user, 20, target = src) && G.use(2)) - broken = 0 - obj_integrity = max_integrity - update_appearance() - else if(open || broken) - if(istype(I, /obj/item/fireaxe) && !fireaxe) - var/obj/item/fireaxe/F = I - if(F && F.wielded) - to_chat(user, "Unwield the [F.name] first.") - return - if(!user.transferItemToLoc(F, src)) - return - fireaxe = F - to_chat(user, "You place the [F.name] back in the [name].") - update_appearance() - return - else if(!broken) - toggle_open() - else - return ..() - -/obj/structure/fireaxecabinet/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) - switch(damage_type) - if(BRUTE) - if(broken) - playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 90, TRUE) - else - playsound(loc, 'sound/effects/glasshit.ogg', 90, TRUE) - if(BURN) - playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE) - -/obj/structure/fireaxecabinet/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) - if(open) - return - . = ..() - if(.) - update_appearance() - -/obj/structure/fireaxecabinet/obj_break(damage_flag) - if(!broken && !(flags_1 & NODECONSTRUCT_1)) - update_appearance() - broken = TRUE - playsound(src, 'sound/effects/glassbr3.ogg', 100, TRUE) - new /obj/item/shard(loc) - new /obj/item/shard(loc) - -/obj/structure/fireaxecabinet/deconstruct(disassembled = TRUE) - if(!(flags_1 & NODECONSTRUCT_1)) - if(fireaxe && loc) - fireaxe.forceMove(loc) - fireaxe = null - new /obj/item/stack/sheet/metal(loc, 2) - qdel(src) - -/obj/structure/fireaxecabinet/blob_act(obj/structure/blob/B) - if(fireaxe) - fireaxe.forceMove(loc) - fireaxe = null - qdel(src) - -/obj/structure/fireaxecabinet/attack_hand(mob/user) - . = ..() - if(.) - return - if(open || broken) - if(fireaxe) - user.put_in_hands(fireaxe) - fireaxe = null - to_chat(user, "You take the fire axe from the [name].") - src.add_fingerprint(user) - update_appearance() - return - if(locked) - to_chat(user, "The [name] won't budge!") - return - else - open = !open - update_appearance() - return - -/obj/structure/fireaxecabinet/attack_paw(mob/living/user) - return attack_hand(user) - -/obj/structure/fireaxecabinet/attack_ai(mob/user) - toggle_lock(user) - return - -/obj/structure/fireaxecabinet/attack_tk(mob/user) - if(locked) - to_chat(user, "The [name] won't budge!") - return - else - open = !open - update_appearance() - return - -/obj/structure/fireaxecabinet/update_overlays() - . = ..() - if(fireaxe) - . += "axe" - if(open) - . += "glass_raised" - return - var/hp_percent = obj_integrity/max_integrity * 100 - if(broken) - . += "glass4" - else - switch(hp_percent) - if(-INFINITY to 40) - . += "glass3" - if(40 to 60) - . += "glass2" - if(60 to 80) - . += "glass1" - if(80 to INFINITY) - . += "glass" - - . += locked ? "locked" : "unlocked" - -/obj/structure/fireaxecabinet/proc/toggle_lock(mob/user) - to_chat(user, "Resetting circuitry...") - playsound(src, 'sound/machines/locktoggle.ogg', 50, TRUE) - if(do_after(user, 20, target = src)) - to_chat(user, "You [locked ? "disable" : "re-enable"] the locking modules.") - locked = !locked - update_appearance() - -/obj/structure/fireaxecabinet/verb/toggle_open() - set name = "Open/Close" - set category = "Object" - set src in oview(1) - - if(locked) - to_chat(usr, "The [name] won't budge!") - return - else - open = !open - update_appearance() - return diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm index 0fca2bcca6e..1698f90ec7c 100644 --- a/code/game/objects/structures/flora.dm +++ b/code/game/objects/structures/flora.dm @@ -1056,3 +1056,39 @@ T.air.adjust_moles(GAS_CO2, -amt) T.atmos_spawn_air("o2=[amt];TEMP=293.15") lastcycle = world.time + +/obj/structure/fluff/steam_vent + name = "steam vent" + desc = "A outlet for steam, usually for water coming in contact with steam pipes." + icon = 'icons/obj/structures.dmi' + icon_state = "steamvent" + deconstructible = FALSE + layer = GAS_PUMP_LAYER + + var/particle_to_spawn = /particles/smoke/steam/vent + var/obj/effect/particle_holder/part_hold + +/obj/structure/fluff/steam_vent/Initialize() + . = ..() + part_hold = new(get_turf(src)) + part_hold.layer = EDGED_TURF_LAYER + part_hold.particles = new particle_to_spawn() + underlays.Cut() + +/obj/structure/fluff/steam_vent/Destroy() + . = ..() + QDEL_NULL(part_hold) + +/obj/structure/fluff/steam_vent/low + particle_to_spawn = /particles/smoke/steam/vent/low + +/obj/structure/fluff/steam_vent/high + particle_to_spawn = /particles/smoke/steam/vent/high + +/obj/effect/particle_holder + name = "" + anchored = TRUE + mouse_opacity = 0 + +/obj/effect/particle_emitter/Initialize(mapload, time) + . = ..() diff --git a/code/game/objects/structures/fluff.dm b/code/game/objects/structures/fluff.dm index 6a53024a81a..32d6f02721c 100644 --- a/code/game/objects/structures/fluff.dm +++ b/code/game/objects/structures/fluff.dm @@ -258,3 +258,13 @@ /obj/structure/fluff/hedge/opaque //useful for mazes and such opacity = TRUE + +/obj/structure/fluff/glowshroom + name = "glowshroom" + desc = "Mycena bregprox, a species of mushroom that glows in the dark." + icon = 'icons/obj/lighting.dmi' + icon_state = "glowshroom" + layer = ABOVE_NORMAL_TURF_LAYER + light_color = "#C3E381" + light_range = 2 + light_power = 1 diff --git a/code/game/objects/structures/lavaland/geyser.dm b/code/game/objects/structures/geyser.dm similarity index 99% rename from code/game/objects/structures/lavaland/geyser.dm rename to code/game/objects/structures/geyser.dm index af536d2e8c1..d5c7dbeef36 100644 --- a/code/game/objects/structures/lavaland/geyser.dm +++ b/code/game/objects/structures/geyser.dm @@ -45,7 +45,7 @@ /obj/structure/geyser/random/Initialize() . = ..() - reagent_id = pickweight(options) + reagent_id = pick_weight(options) /obj/item/plunger name = "plunger" diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index aed3ae724c5..f8893a3e3bc 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -102,58 +102,6 @@ head = /obj/item/clothing/head/helmet/gladiator uniform = /obj/item/clothing/under/costume/gladiator/ash_walker -/obj/effect/mob_spawn/human/demonic_friend - name = "Essence of friendship" - desc = "Oh boy! Oh boy! A friend!" - mob_name = "Demonic friend" - icon = 'icons/obj/cardboard_cutout.dmi' - icon_state = "cutout_basic" - outfit = /datum/outfit/demonic_friend - death = FALSE - roundstart = FALSE - random = TRUE - id_job = "SuperFriend" - var/obj/effect/proc_holder/spell/targeted/summon_friend/spell - var/datum/mind/owner - assignedrole = "SuperFriend" - -/obj/effect/mob_spawn/human/demonic_friend/Initialize(mapload, datum/mind/owner_mind, obj/effect/proc_holder/spell/targeted/summon_friend/summoning_spell) - . = ..() - owner = owner_mind - flavour_text = "You have been given a reprieve from your eternity of torment, to be [owner.name]'s friend for [owner.p_their()] short mortal coil." - important_info = "Be aware that if you do not live up to [owner.name]'s expectations, they can send you back to hell with a single thought. [owner.name]'s death will also return you to hell." - var/area/A = get_area(src) - if(!mapload && A) - notify_ghosts("\A friendship shell has been completed in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE) - objectives = "Be [owner.name]'s friend, and keep [owner.name] alive, so you don't get sent back to hell." - spell = summoning_spell - - -/obj/effect/mob_spawn/human/demonic_friend/special(mob/living/L) - if(!QDELETED(owner.current) && owner.current.stat != DEAD) - L.fully_replace_character_name(null,"[owner.name]'s best friend") - soullink(/datum/soullink/oneway, owner.current, L) - spell.friend = L - spell.charge_counter = spell.charge_max - L.mind.hasSoul = FALSE - var/mob/living/carbon/human/H = L - var/obj/item/worn = H.wear_id - var/obj/item/card/id/id = worn.GetID() - id.registered_name = L.real_name - id.update_label() - else - to_chat(L, "Your owner is already dead! You will soon perish.") - addtimer(CALLBACK(L, TYPE_PROC_REF(/mob, dust), 150)) //Give em a few seconds as a mercy. - -/datum/outfit/demonic_friend - name = "Demonic Friend" - uniform = /obj/item/clothing/under/misc/assistantformal - shoes = /obj/item/clothing/shoes/laceup - r_pocket = /obj/item/radio - back = /obj/item/storage/backpack - implants = list(/obj/item/implant/mindshield) //No revolutionaries, he's MY friend. - id = /obj/item/card/id - /obj/effect/mob_spawn/human/syndicate name = "Syndicate Operative" roundstart = FALSE diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 6463282eb6d..5f35e69d098 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -36,26 +36,7 @@ playsound(src, 'sound/machines/clockcult/integration_cog_install.ogg', 50, TRUE) add_fingerprint(user) - if(istype(W, /obj/item/gun/energy/plasmacutter)) - to_chat(user, "You start slicing apart the girder...") - if(W.use_tool(src, user, 40, volume=100)) - to_chat(user, "You slice apart the girder.") - var/obj/item/stack/sheet/metal/M = new (loc, 2) - M.add_fingerprint(user) - qdel(src) - - return - - else if(istype(W, /obj/item/pickaxe/drill/jackhammer)) - to_chat(user, "You smash through the girder!") - new /obj/item/stack/sheet/metal(get_turf(src)) - W.play_tool_sound(src) - qdel(src) - - return - - - else if(istype(W, /obj/item/stack)) + if(istype(W, /obj/item/stack)) if(iswallturf(loc)) to_chat(user, "There is already a wall present!") return @@ -231,6 +212,15 @@ else return ..() +/obj/structure/girder/deconstruct_act(mob/living/user, obj/item/I) + . = ..() + if(!I.tool_start_check(user, amount=0)) + return FALSE + if(I.use_tool(src, user, 3 SECONDS, volume=0)) + to_chat(user, "You cut apart \the [src].", "You cut apart \the [src].") + deconstruct() + return TRUE + // Screwdriver behavior for girders /obj/structure/girder/screwdriver_act(mob/user, obj/item/tool) if(..()) @@ -324,10 +314,6 @@ new remains(loc) qdel(src) -/obj/structure/girder/narsie_act() - new /obj/structure/girder/cult(loc) - qdel(src) - /obj/structure/girder/displaced name = "displaced girder" icon_state = "displaced" @@ -349,68 +335,6 @@ new remains(loc, 2) qdel(src) - - -//////////////////////////////////////////// cult girder ////////////////////////////////////////////// - -/obj/structure/girder/cult - name = "runed girder" - desc = "Framework made of a strange and shockingly cold metal. It doesn't seem to have any bolts." - icon = 'icons/obj/cult.dmi' - icon_state= "cultgirder" - can_displace = FALSE - -/obj/structure/girder/cult/attackby(obj/item/W, mob/user, params) - add_fingerprint(user) - if(istype(W, /obj/item/melee/cultblade/dagger) && iscultist(user)) //Cultists can demolish cult girders instantly with their tomes - user.visible_message("[user] strikes [src] with [W]!", "You demolish [src].") - new /obj/item/stack/sheet/mineral/hidden/hellstone(drop_location(), 1) - qdel(src) - - else if(W.tool_behaviour == TOOL_WELDER) - if(!W.tool_start_check(user, amount=0)) - return - - to_chat(user, "You start slicing apart the girder...") - if(W.use_tool(src, user, 40, volume=50)) - to_chat(user, "You slice apart the girder.") - var/obj/item/stack/sheet/mineral/hidden/hellstone/R = new(drop_location(), 1) - transfer_fingerprints_to(R) - qdel(src) - - else if(istype(W, /obj/item/pickaxe/drill/jackhammer)) - to_chat(user, "Your jackhammer smashes through the girder!") - var/obj/item/stack/sheet/mineral/hidden/hellstone/R = new(drop_location(), 2) - transfer_fingerprints_to(R) - W.play_tool_sound(src) - qdel(src) - - else if(istype(W, /obj/item/stack/sheet/mineral/hidden/hellstone)) - var/obj/item/stack/sheet/mineral/hidden/hellstone/R = W - if(R.get_amount() < 1) - to_chat(user, "You need at least one sheet of runed metal to construct a runed wall!") - return 0 - user.visible_message("[user] begins laying runed metal on [src]...", "You begin constructing a runed wall...") - if(do_after(user, 50, target = src)) - if(R.get_amount() < 1) - return - user.visible_message("[user] plates [src] with runed metal.", "You construct a runed wall.") - R.use(1) - var/turf/T = get_turf(src) - T.PlaceOnTop(/turf/closed/wall/mineral/cult) - qdel(src) - - else - return ..() - -/obj/structure/girder/cult/narsie_act() - return - -/obj/structure/girder/cult/deconstruct(disassembled = TRUE) - if(!(flags_1 & NODECONSTRUCT_1)) - new /obj/item/stack/sheet/mineral/hidden/hellstone(drop_location(), 1) - qdel(src) - /obj/structure/girder/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) switch(the_rcd.mode) if(RCD_FLOORWALL) @@ -452,13 +376,6 @@ transfer_fingerprints_to(B) qdel(src) - else if(istype(W, /obj/item/pickaxe/drill/jackhammer)) - to_chat(user, "Your jackhammer smashes through the girder!") - var/obj/item/stack/tile/bronze/B = new(drop_location(), 2) - transfer_fingerprints_to(B) - W.play_tool_sound(src) - qdel(src) - else if(istype(W, /obj/item/stack/tile/bronze)) var/obj/item/stack/tile/bronze/B = W if(B.get_amount() < 2) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 5bca53e84dd..b1897ee661d 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -227,6 +227,15 @@ qdel(src) ..() +/obj/structure/grille/deconstruct_act(mob/living/user, obj/item/I) + . = ..() + if(!I.tool_start_check(user, amount=0)) + return FALSE + if (I.use_tool(src, user, 1 SECONDS, volume=100)) + to_chat(user, "You slice [src] apart.") + deconstruct(FALSE) + return TRUE + /obj/structure/grille/obj_break() if(!broken && !(flags_1 & NODECONSTRUCT_1)) new broken_type(src.loc) diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm index 59ef31fafa4..83bae84fc57 100644 --- a/code/game/objects/structures/guillotine.dm +++ b/code/game/objects/structures/guillotine.dm @@ -154,7 +154,7 @@ else H.apply_damage(15 * blade_sharpness, BRUTE, head) log_combat(user, H, "dropped the blade on", src, " non-fatally") - H.emote("scream") + H.force_scream() if (blade_sharpness > 1) blade_sharpness -= 1 diff --git a/code/game/objects/structures/headpike.dm b/code/game/objects/structures/headpike.dm index c42983a5e0e..5dbaa4a1e7c 100644 --- a/code/game/objects/structures/headpike.dm +++ b/code/game/objects/structures/headpike.dm @@ -6,7 +6,7 @@ density = FALSE anchored = TRUE var/bonespear = FALSE - var/obj/item/spear/spear + var/obj/item/melee/spear/spear var/obj/item/bodypart/head/victim /obj/structure/headpike/bone //for bone spears @@ -24,9 +24,9 @@ victim = new(src) victim.real_name = random_unique_name(prob(50)) - spear = locate(bonespear ? /obj/item/spear/bonespear : /obj/item/spear) in parts_list + spear = locate(bonespear ? /obj/item/melee/spear/bone : /obj/item/melee/spear) in parts_list if(!spear) - spear = bonespear ? new/obj/item/spear/bonespear(src) : new/obj/item/spear(src) + spear = bonespear ? new/obj/item/melee/spear/bone(src) : new/obj/item/melee/spear(src) update_appearance() return ..() diff --git a/code/game/objects/structures/hivebot.dm b/code/game/objects/structures/hivebot.dm deleted file mode 100644 index 00124d781d8..00000000000 --- a/code/game/objects/structures/hivebot.dm +++ /dev/null @@ -1,112 +0,0 @@ -/obj/structure/hivebot_beacon - name = "beacon" - desc = "Some odd beacon thing." - icon = 'icons/mob/hivebot.dmi' - icon_state = "def_radar-off" - anchored = TRUE - density = TRUE - var/bot_type = "norm" - var/bot_amt = 10 - var/spawn_time_min - var/spawn_time_max - -/obj/structure/hivebot_beacon/Initialize() - . = ..() - var/datum/effect_system/smoke_spread/smoke = new - smoke.set_up(2, loc) - smoke.start() - visible_message("[src] warps in!") - playsound(src.loc, 'sound/effects/empulse.ogg', 25, TRUE) - addtimer(CALLBACK(src, PROC_REF(warpbots)), rand(spawn_time_min, spawn_time_max)) - -/obj/structure/hivebot_beacon/proc/warpbots() - icon_state = "def_radar" - visible_message("[src] turns on!") - while(bot_amt > 0) - bot_amt-- - switch(bot_type) - if("norm") - new /mob/living/simple_animal/hostile/hivebot(get_turf(src)) - if("range") - new /mob/living/simple_animal/hostile/hivebot/range(get_turf(src)) - if("rapid") - new /mob/living/simple_animal/hostile/hivebot/rapid(get_turf(src)) - - sleep(100) - visible_message("[src] warps out!") - playsound(src.loc, 'sound/effects/empulse.ogg', 25, TRUE) - qdel(src) - return - -/obj/structure/spawner/wasteplanet/hivebot - name = "hivebot fabricator" - desc = "An active fabricator, creating hivebots out of resources from below the surface." - - icon = 'icons/obj/machines/bsm.dmi' - icon_state = "bsm_on" - - faction = list("mining") - max_mobs = 5 - max_integrity = 250 - mob_types = list( - /mob/living/simple_animal/hostile/hivebot/wasteplanet = 40, - /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged = 40, - /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid = 10, - /mob/living/simple_animal/hostile/hivebot/wasteplanet/strong = 5, - /mob/living/simple_animal/hostile/hivebot/mechanic = 5 - ) - spawn_text = "crawls out of" - spawn_sound = list('sound/effects/suitstep2.ogg') - move_resist = INFINITY - anchored = TRUE - resistance_flags = FIRE_PROOF | LAVA_PROOF - var/obj/effect/light_emitter/hivespawner/emitted_light - -/obj/structure/spawner/wasteplanet/hivebot/Initialize() - . = ..() - emitted_light = new(loc) - -/obj/structure/spawner/wasteplanet/hivebot/deconstruct(disassembled) - destroy_effect() - drop_loot() - return ..() - -/obj/structure/spawner/wasteplanet/hivebot/Destroy() - QDEL_NULL(emitted_light) - return ..() - -/obj/structure/spawner/wasteplanet/hivebot/proc/destroy_effect() - playsound(loc,'sound/effects/explosionfar.ogg', 200, TRUE) - visible_message("[src] begins to rattle and shake, sparks flying off of it!") - - -/obj/structure/spawner/wasteplanet/hivebot/proc/drop_loot() - var/datum/effect_system/smoke_spread/smoke = new - smoke.set_up(2, loc) - smoke.start() - new /obj/effect/particle_effect/sparks(loc) - new /obj/effect/spawner/lootdrop/waste/hivebot/beacon(loc) - -/obj/effect/light_emitter/hivespawner - set_luminosity = 4 - set_cap = 2.5 - light_color = COLOR_RED_LIGHT - - -/obj/structure/spawner/wasteplanet/hivebot/low_threat - max_mobs = 4 - spawn_time = 300 - -/obj/structure/spawner/wasteplanet/hivebot/medium_threat - max_mobs = 5 - spawn_time = 250 - -/obj/structure/spawner/wasteplanet/hivebot/high_threat - max_mobs = 7 - spawn_time = 200 - -/obj/structure/spawner/wasteplanet/hivebot/extreme_threat - max_mobs = 10 - spawn_time = 150 - - diff --git a/code/game/objects/structures/icemoon/cave_entrance.dm b/code/game/objects/structures/icemoon/cave_entrance.dm deleted file mode 100644 index 4bb23877462..00000000000 --- a/code/game/objects/structures/icemoon/cave_entrance.dm +++ /dev/null @@ -1,1014 +0,0 @@ -GLOBAL_LIST_INIT(ore_probability, list( - /obj/item/stack/ore/uranium = 50, - /obj/item/stack/ore/iron = 50, - /obj/item/stack/ore/plasma = 75, - /obj/item/stack/ore/silver = 50, - /obj/item/stack/ore/gold = 50, - /obj/item/stack/ore/diamond = 25, - /obj/item/stack/ore/titanium = 75, - /obj/item/pickaxe/diamond = 15, - /obj/item/borg/upgrade/modkit/cooldown = 5, - /obj/item/borg/upgrade/modkit/damage = 5, - /obj/item/borg/upgrade/modkit/range = 5, - /obj/item/t_scanner/adv_mining_scanner/lesser = 15, - /obj/item/kinetic_crusher = 15, - /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, - /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, - /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, - /obj/item/tank/jetpack/suit = 10, - /obj/item/survivalcapsule = 15, - /obj/item/reagent_containers/hypospray/medipen/survival = 15, - /obj/item/gps/mining = 10, - /obj/item/extraction_pack = 10, - /obj/item/reagent_containers/food/drinks/beer = 15, - )) - -/obj/structure/spawner/ice_moon - name = "cave entrance" - desc = "A hole in the ground, filled with monsters ready to defend it." - faction = list("mining") - max_mobs = 3 - max_integrity = 250 - mob_types = list(/mob/living/simple_animal/hostile/asteroid/wolf) - move_resist = INFINITY - anchored = TRUE - -/obj/structure/spawner/ice_moon/Initialize() - . = ..() - clear_rock() - -/** - * Clears rocks around the spawner when it is created - * - */ -/obj/structure/spawner/ice_moon/proc/clear_rock() - for(var/turf/F in RANGE_TURFS(2, src)) - if(abs(src.x - F.x) + abs(src.y - F.y) > 3) - continue - if(ismineralturf(F)) - var/turf/closed/mineral/M = F - M.ScrapeAway(null, CHANGETURF_IGNORE_AIR) - -/obj/structure/spawner/ice_moon/deconstruct(disassembled) - destroy_effect() - drop_loot() - return ..() - -/** - * Effects and messages created when the spawner is destroyed - * - */ -/obj/structure/spawner/ice_moon/proc/destroy_effect() - playsound(loc,'sound/effects/explosionfar.ogg', 200, TRUE) - visible_message("[src] collapses, sealing everything inside!\nOres fall out of the cave as it is destroyed!") - -/** - * Drops items after the spawner is destroyed - * - */ -/obj/structure/spawner/ice_moon/proc/drop_loot() - for(var/type in GLOB.ore_probability) - var/chance = GLOB.ore_probability[type] - if(!prob(chance)) - continue - new type(loc, rand(5, 10)) - -/obj/structure/spawner/ice_moon/polarbear - max_mobs = 1 - spawn_time = 60 SECONDS - mob_types = list(/mob/living/simple_animal/hostile/asteroid/polarbear) - -/obj/structure/spawner/ice_moon/polarbear/clear_rock() - for(var/turf/F in RANGE_TURFS(1, src)) - if(ismineralturf(F)) - var/turf/closed/mineral/M = F - M.ScrapeAway(null, CHANGETURF_IGNORE_AIR) - -/obj/structure/spawner/ice_moon/demonic_portal - name = "demonic portal" - desc = "A portal that goes to another world, normal creatures couldn't survive there. When it collapses, who knows where it will go?" - icon_state = "nether" - mob_types = list(/mob/living/simple_animal/hostile/asteroid/ice_demon) - light_range = 1 - light_color = COLOR_SOFT_RED - spawn_time = 300 - -/obj/structure/spawner/ice_moon/demonic_portal/clear_rock() - for(var/turf/F in RANGE_TURFS(3, src)) - if(abs(src.x - F.x) + abs(src.y - F.y) > 5) - continue - if(ismineralturf(F)) - var/turf/closed/mineral/M = F - M.ScrapeAway(null, CHANGETURF_IGNORE_AIR) - -/obj/structure/spawner/ice_moon/demonic_portal/Initialize() - . = ..() - -/obj/structure/spawner/ice_moon/demonic_portal/destroy_effect() - new /obj/effect/collapsing_demonic_portal(loc) - -/obj/structure/spawner/ice_moon/demonic_portal/drop_loot() - return - -/obj/structure/spawner/ice_moon/rockplanet - name = "gruboid den" - desc = "Though gruboid are typically nomadic creatures, they gather in small surface caves to reproduce. They're unlikely to be happy about being disturbed." - max_mobs = 3 - spawn_time = 60 SECONDS - mob_types = list(/mob/living/simple_animal/hostile/asteroid/goliath/beast/rockplanet, /mob/living/simple_animal/hostile/asteroid/elite/broodmother_child/rockplanet) - -/obj/structure/spawner/ice_moon/rockplanet/clear_rock() - for(var/turf/F in RANGE_TURFS(1, src)) - if(ismineralturf(F)) - var/turf/closed/mineral/M = F - M.ScrapeAway(null, CHANGETURF_IGNORE_AIR) - -/obj/effect/collapsing_demonic_portal - name = "collapsing demonic portal" - desc = "It's slowly fading! Get ready to fight whatever comes through!" - layer = TABLE_LAYER - icon = 'icons/mob/nest.dmi' - icon_state = "nether" - anchored = TRUE - density = TRUE - -/obj/effect/collapsing_demonic_portal/Initialize() - . = ..() - playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, FALSE, 50, TRUE, TRUE) - visible_message("[src] begins to collapse! As it fails, it connects to a random dimensional point and pulls through what it finds!") - animate(src, transform = matrix().Scale(0, 1), alpha = 50, time = 5 SECONDS) - addtimer(CALLBACK(src, PROC_REF(collapse)), 5 SECONDS) - -/** - * Handles portal deletion - * - */ -/obj/effect/collapsing_demonic_portal/proc/collapse() - drop_loot() - qdel(src) - -//portal types go here - -/obj/structure/spawner/ice_moon/demonic_portal/brimdemon - mob_types = list(/mob/living/simple_animal/hostile/asteroid/brimdemon) - -/obj/structure/spawner/ice_moon/demonic_portal/ice_whelp - mob_types = list(/mob/living/simple_animal/hostile/asteroid/ice_whelp) - -/obj/structure/spawner/ice_moon/demonic_portal/snowlegion - mob_types = list(/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/tendril) - -/obj/structure/spawner/ice_moon/demonic_portal/low_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/brimdemon = 35, - /mob/living/simple_animal/hostile/asteroid/ice_whelp = 15, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/tendril = 35, - /mob/living/simple_animal/hostile/asteroid/ice_demon = 15 - ) - max_mobs = 5 - spawn_time = 300 - -/obj/structure/spawner/ice_moon/demonic_portal/medium_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/brimdemon = 25, - /mob/living/simple_animal/hostile/asteroid/ice_whelp = 25, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/tendril = 25, - /mob/living/simple_animal/hostile/asteroid/ice_demon = 25 - ) - max_mobs = 7 - spawn_time = 300 -/obj/structure/spawner/ice_moon/demonic_portal/high_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/brimdemon = 15, - /mob/living/simple_animal/hostile/asteroid/ice_whelp = 35, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/tendril = 15, - /mob/living/simple_animal/hostile/asteroid/ice_demon = 35 - ) - max_mobs = 7 - spawn_time = 200 - -/obj/structure/spawner/ice_moon/demonic_portal/extreme_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/brimdemon = 10, - /mob/living/simple_animal/hostile/asteroid/ice_whelp = 25, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/tendril = 15, - /mob/living/simple_animal/hostile/asteroid/ice_demon = 50 - ) - max_mobs = 10 - spawn_time = 200 - -//I think there's room to make portal types drop loot/spawn monsters based on the loot list but that's out of scope for what I'm doing - -/** - * Drops loot from the portal. Uses variable difficulty based on drops- more valulable rewards will also add additional enemies to the attack wave. - * If you manage to win big and get a bunch of major rich loot, you will also be faced with a big mob of angries. - * Absolutely deranged use of probability code below, trigger warning - */ -/obj/effect/collapsing_demonic_portal/proc/drop_loot() - visible_message("Something slips out of [src]!") - var/loot = rand(1, 21) - switch(loot) - if(1)//Clown hell. God help you if you roll this. - visible_message("You can hear screaming and joyful honking.")//now THIS is what we call a critical failure - playsound(loc,'sound/spookoween/ghosty_wind.ogg', 100, FALSE, 50, TRUE, TRUE) - playsound(loc,'sound/spookoween/scary_horn3.ogg', 100, FALSE, 50, TRUE, TRUE) - if(prob(15)) - new /mob/living/simple_animal/hostile/clown/clownhulk(loc) - new /mob/living/simple_animal/hostile/clown/longface(loc) - new /mob/living/simple_animal/hostile/clown/clownhulk/chlown(loc) - new /obj/item/shield/energy/bananium(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/clown/banana(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/clown/fleshclown(loc) - new /mob/living/simple_animal/hostile/clown/clownhulk/chlown - new /mob/living/simple_animal/hostile/clown/honkling(loc) - if(prob(25)) - new /obj/item/grenade/spawnergrenade/clown(loc) - new /obj/item/grenade/spawnergrenade/clown(loc) - new /mob/living/simple_animal/hostile/clown/clownhulk(loc) - if(prob(10)) - new /mob/living/simple_animal/hostile/clown/mutant/blob(loc)//oh god oh fuck - new /obj/machinery/syndicatebomb/badmin/clown(loc) - if(prob(35)) - new /obj/item/storage/backpack/duffelbag/clown/syndie(loc) - new /mob/living/simple_animal/hostile/clown/fleshclown(loc) - new /mob/living/simple_animal/hostile/clown/honkling(loc) - else - new /obj/item/storage/backpack/duffelbag/clown/cream_pie(loc) - new /mob/living/simple_animal/hostile/clown/honkling(loc) - if(prob(25)) - new /obj/item/borg/upgrade/transform/clown(loc) - new /mob/living/simple_animal/hostile/clown/stacked(loc) - if(prob(35)) - new /obj/item/megaphone/clown(loc) - new /mob/living/simple_animal/hostile/clown/stacked(loc) - if(prob(25)) - new /obj/item/reagent_containers/spray/waterflower/lube(loc) - new /mob/living/simple_animal/hostile/clown/fleshclown(loc) - new /mob/living/simple_animal/hostile/clown/fleshclown(loc) - if(prob(35)) - new /obj/item/clothing/suit/space/hardsuit/clown(loc) - new /mob/living/simple_animal/hostile/clown/fleshclown(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/clown/fleshclown(loc) - if(prob(25)) - new /obj/item/clothing/shoes/clown_shoes/banana_shoes/combat(loc) - new /mob/living/simple_animal/hostile/clown/fleshclown(loc) - if(prob(25))//you lost - new /obj/item/circlegame(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone(loc) - if(2)//basic demonic incursion - visible_message("You glimpse an indescribable abyss in the portal. Horrifying monsters appear in a gout of flame.") - playsound(loc,'sound/hallucinations/wail.ogg', 200, FALSE, 50, TRUE, TRUE) - if(prob(35)) - new /obj/item/clothing/glasses/godeye(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - if(prob(45)) - new /obj/item/pickaxe/drill/jackhammer/demonic(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - if(prob(45)) - new /obj/item/wisp_lantern(loc) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - new /mob/living/simple_animal/hostile/netherworld(loc) - if(prob(25)) - new /mob/living/simple_animal/hostile/netherworld(loc) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - if(prob(5)) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - if(prob(45)) - new /obj/item/nullrod/staff(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - if(prob(30)) - new /obj/item/clothing/suit/space/hardsuit/quixote/dimensional(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - else - new /obj/item/immortality_talisman(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - if(prob(30)) - new /obj/item/shared_storage/red(loc) - new /mob/living/simple_animal/hostile/netherworld(loc) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - if(prob(30)) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - if(prob(30)) - new /obj/item/book/granter/spell/traps(loc) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - if(prob(30)) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - new /mob/living/simple_animal/hostile/netherworld(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - new /mob/living/simple_animal/hostile/netherworld(loc) - new /turf/open/indestructible/necropolis(loc) - if(3)//skeleton/religion association, now accepting YOUR BONES - visible_message("Bones rattle and strained voices chant a forgotten god's name.") - playsound(loc,'sound/ambience/ambiholy.ogg', 100, FALSE, 50, TRUE, TRUE) - if(prob(30)) - new /obj/item/reagent_containers/glass/bottle/potion/flight(loc) - new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) - else - new /obj/item/clothing/neck/memento_mori(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) - if(prob(35)) - new /obj/item/storage/box/holy_grenades(loc) - new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) - new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) - if(prob(40)) - new /obj/item/claymore(loc) - new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) - if(prob(45)) - new /obj/item/gun/ballistic/bow(loc) - new /obj/item/storage/bag/quiver(loc) - new /obj/item/ammo_casing/caseless/arrow/bronze(loc) - new /obj/item/ammo_casing/caseless/arrow/bronze(loc) - new /obj/item/ammo_casing/caseless/arrow/bronze(loc) - new /obj/item/ammo_casing/caseless/arrow/bronze(loc) - new /obj/item/ammo_casing/caseless/arrow/bronze(loc) - new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - if(prob(30)) - new /obj/item/stack/sheet/mineral/wood/fifty(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - if(prob(35)) - new /obj/item/staff/bostaff(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - if(prob(25)) - new /obj/item/shield/riot/roman(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - if(prob(55)) - new /obj/item/clothing/suit/armor/riot/knight/blue(loc) - new /obj/item/clothing/head/helmet/knight/blue(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - new /obj/item/instrument/trombone(loc) - new /obj/item/stack/sheet/bone(loc) - new /obj/item/stack/sheet/bone(loc) - new /obj/item/stack/sheet/bone(loc) - new /obj/item/stack/sheet/bone(loc) - new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) - new /turf/open/floor/mineral/silver(loc) - if(4)//syndicate incursion. Again, high-quality loot at low chances, this time with excessive levels of danger - visible_message("Radio chatter echoes out from the portal. Red-garbed figures step through, weapons raised.") - playsound(loc,'sound/effects/radiohiss.ogg', 200, FALSE, 50, TRUE, TRUE) - playsound(loc,'sound/ambience/antag/tatoralert.ogg', 75, FALSE, 50, TRUE, TRUE) - if(prob(35)) - if(prob(15)) - new /obj/item/clothing/suit/space/hardsuit/syndi/elite(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - else - if(prob(50)) - new /obj/item/clothing/suit/space/hardsuit/syndi(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - else - new /obj/item/clothing/suit/space/hardsuit/syndi(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - if(prob(25))//the real prize - new /obj/effect/spawner/lootdrop/donkpockets(loc) - new /obj/effect/spawner/lootdrop/donkpockets(loc) - new /obj/effect/spawner/lootdrop/donkpockets(loc) - if(prob(35)) - new /obj/item/clothing/shoes/magboots/syndie(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - if(prob(25)) - new /obj/item/gun/ballistic/automatic/pistol/syndicate(loc) - new /obj/item/ammo_box/magazine/ - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) - if(prob(25)) - new /obj/item/gun/ballistic/automatic/pistol/tec9(loc) - new /obj/item/ammo_box/magazine/tec9(loc) - new /obj/item/ammo_box/magazine/tec9(loc) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) - if(prob(35)) - new /obj/item/clothing/gloves/rapid(loc) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - if(prob(35)) - new /obj/item/wrench/combat(loc) - new /obj/item/storage/toolbox/syndicate(loc) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space(loc) - if(prob(35)) - new /obj/item/storage/fancy/cigarettes/cigpack_syndicate(loc) - if(prob(35)) - new /obj/item/borg/upgrade/transform/assault(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg(loc) - if(prob(25)) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - if(prob(25)) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - if(prob(25)) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) - new /obj/item/storage/backpack/duffelbag/syndie/c4(loc) - if(prob(35)) - new /obj/item/storage/belt/military(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg(loc) - if(prob(35)) - new /obj/item/kinetic_crusher/syndie_crusher(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - if(prob(25)) - new /obj/item/card/id/syndicate/anyone(loc) - if(prob(35)) - new /obj/item/clothing/glasses/thermal/syndi(loc) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) - if(prob(35)) - new /obj/item/reagent_containers/hypospray(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun(loc) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) - if(prob(25)) - new /obj/item/card/emag(loc) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space(loc) - new /turf/open/floor/mineral/plastitanium/red(loc) - if(5)//;HELP BLOB IN MEDICAL - visible_message("You hear a robotic voice saying something about a \"Delta-level biohazard\".") - playsound(loc,'sound/ai/outbreak5.ogg', 100, FALSE, 50, TRUE, TRUE) - playsound(loc,'sound/misc/bloblarm.ogg', 50, FALSE, 50, TRUE, TRUE) - if(prob(35)) - new /obj/item/circuitboard/machine/chem_dispenser(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(35)) - new /obj/item/storage/box/hypospray/CMO(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(15)) - new /mob/living/simple_animal/hostile/blob/blobbernaut/independent(loc) - if(prob(45)) - new /obj/item/defibrillator(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(45)) - new /obj/item/circuitboard/machine/stasis(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(45)) - new /obj/item/stack/medical/suture/medicated(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(45)) - new /obj/item/stack/medical/mesh/advanced(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(35)) - new /obj/item/gun/syringe/syndicate(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(25)) - new /obj/item/healthanalyzer/advanced(loc) - if(prob(35)) - new /obj/item/storage/firstaid/advanced(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(35)) - new /obj/item/storage/firstaid/tactical(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - new /mob/living/simple_animal/hostile/blob/blobbernaut/independent(loc) - else - new /obj/item/storage/firstaid/regular(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(35)) - new /obj/effect/mob_spawn/human/corpse/solgov/sonnensoldner(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - else - new /obj/effect/mob_spawn/human/doctor(loc) - if(prob(35)) - new /obj/effect/mob_spawn/human/corpse/solgov/sonnensoldner(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - else - new /obj/effect/mob_spawn/human/doctor(loc) - if(prob(35)) - new /obj/effect/mob_spawn/human/corpse/solgov/sonnensoldner(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - else - new /obj/effect/mob_spawn/human/doctor(loc) - new /obj/item/healthanalyzer(loc) - new /turf/open/floor/carpet/nanoweave/beige(loc) - new /mob/living/simple_animal/hostile/blob/blobbernaut/independent(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(6)//teleporty ice world. Incomplete. - visible_message("You glimpse a frozen, empty plane. Something stirs in the fractal abyss.") - playsound(loc,'sound/ambience/ambisin3.ogg', 150, FALSE, 50, TRUE, TRUE) - if(prob(45)) - new /obj/item/warp_cube/red(loc) - new /mob/living/simple_animal/hostile/asteroid/ice_demon(loc) - if(prob(45)) - new /obj/item/clothing/suit/drfreeze_coat(loc) - new /obj/item/clothing/under/costume/drfreeze(loc) - new /mob/living/simple_animal/hostile/asteroid/ice_demon(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/asteroid/ice_demon(loc) - new /mob/living/simple_animal/hostile/bear/snow(loc) - if(prob(45)) - new /obj/item/freeze_cube(loc) - new /mob/living/simple_animal/hostile/asteroid/ice_demon(loc) - if(prob(55)) - new /obj/item/clothing/shoes/winterboots/ice_boots(loc) - new /mob/living/simple_animal/hostile/bear/snow(loc) - new /obj/effect/decal/remains/human(loc) - new /mob/living/simple_animal/hostile/asteroid/ice_demon(loc) - new /turf/open/floor/plating/ice/smooth(loc) - if(7)//FUCK FUCK HELP SWARMERS IN VAULT - visible_message("Something beeps. Small, glowing forms spill out of the portal en masse!") - playsound(loc,'sound/ambience/ambitech.ogg', 150, FALSE, 50, TRUE, TRUE) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(45)) - new /obj/item/construction/rcd/loaded(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(35)) - new /obj/item/holosign_creator/atmos(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/vendor(loc) - new /obj/item/vending_refill/engivend(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(45)) - new /obj/item/tank/jetpack/oxygen(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(25)) - new /obj/item/stack/sheet/metal/fifty(loc) - new /obj/item/grenade/chem_grenade/smart_metal_foam(loc) - new /obj/item/grenade/chem_grenade/smart_metal_foam(loc) - new /obj/item/grenade/chem_grenade/smart_metal_foam(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(35)) - new /obj/item/stack/sheet/metal/fifty(loc) - new /obj/item/clothing/glasses/meson/engine(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(25)) - new /obj/item/stack/sheet/metal/twenty(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(25)) - new /obj/item/storage/toolbox/infiltrator(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(25)) - new /obj/machinery/portable_atmospherics/canister/oxygen(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /obj/item/clothing/gloves/color/latex/engineering(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /obj/item/clothing/gloves/color/latex/engineering(loc) - new /obj/effect/mob_spawn/human/engineer(loc) - new /turf/open/floor/circuit/telecomms(loc) - if(8)//Literally blood-drunk. - visible_message("Blood sprays from the portal. An ichor-drenched figure steps through!") - playsound(loc,'sound/magic/enter_blood.ogg', 150, FALSE, 50, TRUE, TRUE) - new /obj/effect/gibspawner/human(loc) - new /obj/effect/gibspawner/human(loc) - new /obj/effect/gibspawner/human(loc) - new /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/doom(loc) - if(prob(50)) - new /obj/item/gem/bloodstone(loc) - if(prob(25)) - new /obj/item/seeds/tomato/blood(loc) - new /turf/open/floor/plating/asteroid/basalt(loc) - if(9)//Now's your chance to be a [[BIG SHOT]] - visible_message("You hear the sound of big money and bigger avarice.") - playsound(loc,'sound/lavaland/cursed_slot_machine_jackpot.ogg', 150, FALSE, 50, TRUE, TRUE) - new /obj/structure/cursed_slot_machine(loc) - if(prob(35)) - new /obj/item/spacecash/bundle/mediumrand(loc) - new /obj/item/spacecash/bundle/mediumrand(loc) - new /obj/item/coin/gold(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - if(prob(35)) - new /obj/item/clothing/mask/spamton(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - if(prob(35)) - new /obj/item/gem/fdiamond(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - else - new /obj/item/gem/rupee(loc) - if(prob(35)) - new /obj/item/coin/gold(loc) - new /obj/item/coin/gold(loc) - new /obj/item/stack/sheet/mineral/gold/twenty(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - if(prob(35)) - new /obj/item/storage/fancy/cigarettes/cigpack_robustgold(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - if(prob(35)) - new /obj/item/clothing/head/collectable/petehat(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - new /turf/open/floor/mineral/gold(loc) - if(10)//hivebot factory - visible_message("You catch a brief glimpse of a vast production complex. One of the assembly lines outputs through the portal!") - playsound(loc,'sound/ambience/antag/clockcultalr.ogg', 100, FALSE, 50, TRUE, TRUE) - if(prob(45)) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /mob/living/simple_animal/hostile/hivebot(loc) - if(prob(35)) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /mob/living/simple_animal/hostile/hivebot(loc) - if(prob(25)) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /mob/living/simple_animal/hostile/hivebot/strong(loc) - if(prob(35)) - new /obj/item/stack/sheet/mineral/silver/twenty(loc) - new /obj/item/stack/sheet/mineral/titanium/twenty(loc) - new /obj/item/stack/sheet/mineral/gold/twenty(loc) - new /mob/living/simple_animal/hostile/hivebot/strong(loc) - if(prob(35)) - new /obj/item/circuitboard/computer/solar_control(loc) - new /obj/item/electronics/tracker(loc) - new /obj/item/solar_assembly(loc) - new /obj/item/solar_assembly(loc) - new /obj/item/solar_assembly(loc) - new /obj/item/solar_assembly(loc) - if(prob(45)) - new /obj/item/stack/circuit_stack(loc) - new /mob/living/simple_animal/hostile/hivebot/mechanic(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/hivebot/range(loc) - if(prob(45)) - new /obj/item/circuitboard/machine/dna_vault(loc) - new /mob/living/simple_animal/hostile/hivebot/mechanic(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/recycler(loc) - new /mob/living/simple_animal/hostile/hivebot/mechanic(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/recharger(loc) - new /mob/living/simple_animal/hostile/hivebot/mechanic(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/smoke_machine(loc) - new /mob/living/simple_animal/hostile/hivebot/mechanic(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/ore_silo(loc) - new /mob/living/simple_animal/hostile/hivebot/mechanic(loc) - if(prob(35)) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /mob/living/simple_animal/hostile/hivebot/strong(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/medipen_refiller(loc) - new /mob/living/simple_animal/hostile/hivebot(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/stasis(loc) - new /mob/living/simple_animal/hostile/hivebot(loc) - if(prob(50)) - new /obj/item/stack/sheet/metal/fifty(loc) - new /obj/item/stack/sheet/glass/fifty(loc) - new /obj/item/stack/cable_coil/yellow(loc) - new /obj/item/storage/box/lights/bulbs(loc) - new /mob/living/simple_animal/hostile/hivebot(loc) - new /mob/living/simple_animal/hostile/hivebot(loc) - new /mob/living/simple_animal/hostile/hivebot/strong(loc) - new /obj/machinery/conveyor(loc) - new /turf/open/floor/circuit/red(loc) - if(11)//miner's last moments - visible_message("The familiar sound of an ash storm greets you. A miner steps through the portal, stumbles, and collapses.") - playsound(loc,'sound/weather/ashstorm/outside/weak_end.ogg', 150, FALSE, 50, TRUE, TRUE) - if(prob(35)) - new /obj/item/disk/design_disk/modkit_disc/resonator_blast(loc) - if(prob(25)) - new /obj/item/disk/design_disk/modkit_disc/rapid_repeater(loc) - if(prob(25)) - new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(loc) - if(prob(25)) - new /obj/item/disk/design_disk/modkit_disc/bounty(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/vending/mining_equipment(loc) - if(prob(45)) - new /obj/item/vending_refill/mining_equipment(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast(loc) - if(prob(35)) - new /obj/item/reagent_containers/hypospray/medipen/survival(loc) - if(prob(35)) - new /obj/item/fulton_core(loc) - new /obj/item/extraction_pack(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast(loc) - if(prob(45)) - new /obj/item/t_scanner/adv_mining_scanner/lesser(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast(loc) - if(prob(45)) - new /obj/item/gibtonite(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast(loc) - if(prob(45)) - new /obj/item/clothing/glasses/meson/night(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast(loc) - if(prob(50)) - new /obj/item/kinetic_crusher(loc) - else - new /obj/item/gun/energy/kinetic_accelerator(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast/ancient(loc) - new /obj/effect/mob_spawn/human/miner(loc) - new /turf/open/floor/plating/asteroid/basalt(loc) - if(12)//sailing the ocean blue - visible_message("Water pours out of the portal, followed by a strange vessel. It's occupied.") - playsound(loc,'sound/ambience/shore.ogg', 150, FALSE, 50, TRUE, TRUE) - new /obj/vehicle/ridden/lavaboat/dragon(loc) - new /obj/item/oar(loc) - if(prob(50)) - new /obj/item/clothing/under/costume/sailor(loc) - if(prob(50)) - new /obj/item/pneumatic_cannon/speargun(loc) - new /obj/item/storage/backpack/magspear_quiver(loc) - new /obj/item/throwing_star/magspear(loc) - new /obj/item/throwing_star/magspear(loc) - new /obj/item/throwing_star/magspear(loc) - new /obj/item/throwing_star/magspear(loc) - new /obj/item/throwing_star/magspear(loc) - new /mob/living/simple_animal/hostile/carp(loc) - if(prob(45)) - new /obj/item/clothing/suit/space/hardsuit/carp(loc) - new /mob/living/simple_animal/hostile/carp(loc) - if(prob(45)) - new /mob/living/simple_animal/hostile/carp(loc) - if(prob(45)) - new /obj/item/reagent_containers/food/snacks/fishmeat/carp(loc) - new /obj/item/reagent_containers/food/snacks/fishmeat/carp(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/carp/megacarp(loc) - if(prob(25)) - new /obj/item/book/granter/martial/carp(loc) - new /mob/living/simple_animal/hostile/carp/megacarp(loc) - if(prob(35)) - new /obj/item/grenade/spawnergrenade/spesscarp(loc) - new /mob/living/simple_animal/hostile/carp/megacarp(loc) - new /mob/living/simple_animal/hostile/carp/megacarp(loc) - new /mob/living/simple_animal/hostile/carp(loc) - new /turf/open/water(loc) - if(13)//hydroponics forest - visible_message("You catch a glimpse of a strange forest. Smells like weed and bad choices.") - playsound(loc,'sound/ambience/shore.ogg', 150, FALSE, 50, TRUE, TRUE) - if(prob(45)) - new /obj/item/circuitboard/machine/biogenerator(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - if(prob(35)) - new /obj/item/gun/energy/floragun(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/seed_extractor(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - if(prob(45)) - new /obj/item/circuitboard/machine/plantgenes(loc) - else - new /obj/item/circuitboard/machine/hydroponics(loc) - if(prob(15)) - new /obj/item/circuitboard/machine/hydroponics(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - if(prob(15)) - new /obj/item/circuitboard/machine/hydroponics(loc) - if(prob(5)) - new /obj/item/seeds/gatfruit(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - if(prob(45)) - new /obj/item/seeds/random(loc) - if(prob(45)) - new /obj/item/seeds/random(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - if(prob(45)) - new /obj/item/seeds/random(loc) - if(prob(45)) - new /obj/item/seeds/random(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - if(prob(50)) - new /obj/item/seeds/random(loc) - if(prob(45)) - new /obj/item/seeds/cannabis(loc) - new /obj/item/clothing/gloves/botanic_leather(loc) - new /obj/item/cultivator/rake(loc) - new /obj/structure/spacevine(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - new /turf/open/floor/plating/grass(loc) - if(14)//fallout ss13 - visible_message("You hear a geiger counter click and smell ash.") - playsound(loc,'sound/items/radiostatic.ogg', 100, FALSE, 50, TRUE, TRUE) - if(prob(50)) - new /obj/item/reagent_containers/food/drinks/drinkingglass/filled/cola(loc) - new /obj/item/reagent_containers/food/drinks/drinkingglass/filled/cola(loc) - new /obj/item/reagent_containers/food/drinks/drinkingglass/filled/cola(loc) - new /mob/living/simple_animal/hostile/cockroach/glockroach(loc) - if(prob(50)) - new /obj/structure/radioactive/stack(loc) - new /mob/living/simple_animal/hostile/cockroach/glockroach(loc) - if(prob(45)) - new /obj/item/stack/sheet/mineral/uranium/twenty(loc) - new /mob/living/simple_animal/hostile/cockroach/glockroach(loc) - if(prob(35)) - new /obj/item/clothing/head/radiation(loc) - new /obj/item/clothing/suit/radiation(loc) - if(prob(45)) - new /obj/item/gun/energy/decloner(loc) - new /mob/living/simple_animal/hostile/cockroach/glockroach(loc) - new /obj/item/geiger_counter(loc) - new /mob/living/simple_animal/hostile/cockroach/glockroach(loc) - new /turf/open/floor/plating/dirt(loc) - if(15)//the backroom freezer - visible_message("The faint hallogen glow of a faraway kitchen greets you.") - if(prob(45)) - new /obj/item/kitchen/knife/bloodletter(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(55)) - new /obj/item/clothing/gloves/butchering(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(45)) - new /obj/item/reagent_containers/food/snacks/store/bread/meat(loc) - new /obj/item/reagent_containers/food/snacks/store/bread/meat(loc) - new /obj/item/reagent_containers/food/snacks/store/bread/meat(loc) - if(prob(55)) - new /obj/item/reagent_containers/food/snacks/store/cake/trumpet(loc) - if(prob(35)) - new /obj/item/reagent_containers/food/snacks/pizza/dank(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(25)) - new /obj/item/reagent_containers/food/snacks/meat/steak/gondola(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(35)) - new /obj/item/reagent_containers/food/snacks/burger/roburgerbig(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(35)) - new /obj/item/kitchen/knife/butcher(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(35)) - new /obj/item/flamethrower/full(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(45)) - new /obj/item/sharpener(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(25)) - new /obj/item/sharpener/super(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/gibber(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/chem_master/condi(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - new /mob/living/simple_animal/hostile/alien/maid(loc) - new /turf/open/floor/plasteel/kitchen_coldroom/freezerfloor(loc) - if(16)//legion miniboss - visible_message("The ground quakes. An immense figure reaches through the portal, crouching to squeeze through.") - playsound(loc,'sound/magic/knock.ogg', 100, FALSE, 50, TRUE, TRUE) - new /mob/living/simple_animal/hostile/big_legion(loc) - if(prob(75)) - new /obj/structure/closet/crate/necropolis/tendril/greater(loc) - new /turf/open/indestructible/necropolis(loc) - if(17)//xenobiologist's hubris - visible_message("You catch a glimpse of a wobbling sea of slimy friends. An abused-looking keeper slips through the portal.") - playsound(loc,'sound/effects/footstep/slime1.ogg', 100, FALSE, 50, TRUE, TRUE) - if(prob(25)) - new /obj/item/slime_extract/adamantine(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(35)) - new /obj/item/slime_extract/gold(loc) - if(prob(25)) - new /mob/living/simple_animal/slime/random(loc) - if(prob(45)) - new /obj/item/extinguisher/advanced(loc) - if(prob(25)) - new /obj/item/slimepotion/slime/renaming(loc) - new /mob/living/simple_animal/slime/random(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(25)) - new /obj/item/slimepotion/slime/sentience(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(25)) - new /mob/living/simple_animal/slime/random(loc) - if(prob(45)) - new /obj/item/circuitboard/computer/xenobiology(loc) - new /obj/item/slime_extract/grey(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(45)) - new /obj/item/circuitboard/machine/processor/slime(loc) - new /mob/living/simple_animal/slime/random(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(25)) - new /obj/item/shield/adamantineshield(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(45)) - new /obj/item/slime_cookie/purple(loc) - new /obj/item/slime_cookie/purple(loc) - new /obj/item/slime_cookie/purple(loc) - if(prob(45)) - new /obj/item/storage/box/monkeycubes(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(35)) - new /obj/item/slimepotion/speed(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(45)) - new /obj/item/slimepotion/slime/slimeradio(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(35)) - new /mob/living/simple_animal/pet/dog/corgi/puppy/slime(loc) - new /obj/effect/mob_spawn/human/scientist(loc) - new /turf/open/floor/mineral/titanium/purple(loc) - new /mob/living/simple_animal/slime/random(loc) - if(18)//hey, free elite tumor! - visible_message("A large, pulsating structure falls through the portal and crashes to the floor.") - playsound(loc,'sound/effects/break_stone.ogg', 100, FALSE, 50, TRUE, TRUE) - new /obj/structure/elite_tumor(loc) - new /turf/open/floor/plating/asteroid/basalt(loc) - if(19)//*you flush the toilet.* - visible_message("You hear the faint noise of a long flush.") - new /obj/structure/toilet(loc) - new /obj/effect/decal/remains(loc) - new /obj/item/newspaper(loc) - new /turf/open/floor/plastic(loc) - new /obj/item/clothing/head/papersack/smiley(loc) //welcome to the bathroom - if(20)//Research & Zombies - visible_message("Flashing lights and quarantine alarms echo through the portal. You smell rotting flesh and plasma.") - playsound(loc,'sound/misc/bloblarm.ogg', 120, FALSE, 50, TRUE, TRUE) - if(prob(35)) - new /obj/item/storage/box/rndboards(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(35)) - new /obj/item/storage/box/stockparts/deluxe(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(15)) - new /obj/effect/spawner/lootdrop/stockparts(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(15)) - new /obj/effect/spawner/lootdrop/stockparts(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(15)) - new /obj/effect/spawner/lootdrop/stockparts(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(15)) - new /obj/effect/spawner/lootdrop/stockparts(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(30)) - new /obj/item/circuitboard/machine/rdserver(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(35)) - new /obj/item/research_notes/loot/big(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - else - new /obj/item/research_notes/loot/medium(loc) - if(prob(35)) - new /obj/item/research_notes/loot/medium(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - else - new /obj/item/research_notes/loot/small(loc) - if(prob(35)) - new /obj/item/pneumatic_cannon(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(45)) - new /obj/item/research_notes/loot/medium(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - else - new /obj/item/research_notes/loot/small(loc) - new/turf/open/floor/mineral/titanium/purple(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(21)//Silverback's locker room - visible_message("You catch a glimpse of verdant green. Smells like a locker room.") - playsound(loc,'sound/creatures/gorilla.ogg', 75, FALSE, 50, TRUE, TRUE) - new /mob/living/simple_animal/hostile/gorilla(loc) - new /mob/living/simple_animal/hostile/gorilla(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/dnascanner(loc) - if(prob(35)) - new /obj/item/circuitboard/computer/scan_consolenew(loc) - if(prob(25)) - new /obj/item/reagent_containers/hypospray/medipen/magillitis(loc) - new /mob/living/simple_animal/hostile/gorilla(loc) - if(prob(35)) - new /obj/item/dnainjector/thermal(loc) - new /mob/living/simple_animal/hostile/gorilla(loc) - if(prob(35)) - new /obj/item/storage/box/gorillacubes(loc) - new /mob/living/simple_animal/hostile/gorilla(loc) - if(prob(35)) - new /obj/item/dnainjector/hulkmut(loc) - new /mob/living/simple_animal/hostile/gorilla(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/gorilla(loc) - if(prob(35)) - new /obj/item/dnainjector/gigantism(loc) - if(prob(45)) - new /obj/item/dnainjector/dwarf(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/gorilla(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/gorilla(loc) - new /obj/item/dnainjector/telemut/darkbundle(loc) - if(prob(35)) - new /obj/item/dnainjector/insulated(loc) - new /mob/living/simple_animal/hostile/gorilla(loc) - new /obj/item/sequence_scanner(loc) - new /obj/structure/flora/grass/jungle(loc) - new /turf/open/floor/plating/grass/jungle(loc) diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm index 6512a068394..1840c27f927 100644 --- a/code/game/objects/structures/kitchen_spike.dm +++ b/code/game/objects/structures/kitchen_spike.dm @@ -74,7 +74,7 @@ playsound(src.loc, 'sound/effects/splat.ogg', 25, TRUE) L.visible_message("[user] slams [L] onto the meat spike!", "[user] slams you onto the meat spike!", "You hear a squishy wet noise.") L.forceMove(drop_location()) - L.emote("scream") + L.force_scream() L.add_splatter_floor() L.adjustBruteLoss(30) L.setDir(2) @@ -128,7 +128,7 @@ M.adjustBruteLoss(30) src.visible_message(text("[M] falls free of [src]!")) unbuckle_mob(M,force=1) - M.emote("scream") + M.force_scream() M.AdjustParalyzed(20) /obj/structure/kitchenspike/Destroy() diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index 5815bcc475e..9aaefb8c014 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -30,9 +30,6 @@ if(LAT != src) QDEL_IN(LAT, 0) -/obj/structure/lattice/blob_act(obj/structure/blob/B) - return - /obj/structure/lattice/attackby(obj/item/C, mob/user, params) if(resistance_flags & INDESTRUCTIBLE) return @@ -43,6 +40,15 @@ var/turf/T = get_turf(src) return T.attackby(C, user) //hand this off to the turf instead (for building plating, catwalks, etc) +/obj/structure/lattice/deconstruct_act(mob/living/user, obj/item/I) + . = ..() + if(!I.tool_start_check(user, amount=0)) + return FALSE + if(I.use_tool(src, user, 1 SECONDS, volume=0)) + to_chat(user, "You cut apart \the [src].", "You cut apart \the [src].") + deconstruct() + return TRUE + /obj/structure/lattice/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) new build_material(get_turf(src), number_of_mats) diff --git a/code/game/objects/structures/lavaland/necropolis_tendril.dm b/code/game/objects/structures/lavaland/necropolis_tendril.dm deleted file mode 100644 index b3c9a8cbf23..00000000000 --- a/code/game/objects/structures/lavaland/necropolis_tendril.dm +++ /dev/null @@ -1,187 +0,0 @@ -//Necropolis Tendrils, which spawn lavaland monsters and break into a chasm when killed -/obj/structure/spawner/lavaland - name = "necropolis tendril" - desc = "A vile tendril of corruption, originating deep underground. Terrible monsters are pouring out of it." - - icon_state = "tendril" - - faction = list("mining") - max_mobs = 5 - max_integrity = 450 - mob_types = list(/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril) - - move_resist = INFINITY // just killing it tears a massive hole in the ground, let's not move it - anchored = TRUE - resistance_flags = FIRE_PROOF | LAVA_PROOF - - hitsound_type = PROJECTILE_HITSOUND_FLESH - - var/gps = null - var/obj/effect/light_emitter/tendril/emitted_light - -GLOBAL_LIST_INIT(tendrils, list()) -/obj/structure/spawner/lavaland/Initialize() - . = ..() - emitted_light = new(loc) - for(var/F in RANGE_TURFS(1, src)) - if(ismineralturf(F)) - var/turf/closed/mineral/M = F - M.ScrapeAway(null, CHANGETURF_IGNORE_AIR) - GLOB.tendrils += src - -/obj/structure/spawner/lavaland/deconstruct(disassembled) - new /obj/effect/collapse(loc) - new /obj/structure/closet/crate/necropolis/tendril(loc) - return ..() - - -/obj/structure/spawner/lavaland/Destroy() - var/last_tendril = TRUE - if(GLOB.tendrils.len>1) - last_tendril = FALSE - - if(last_tendril && !(flags_1 & ADMIN_SPAWNED_1)) - if(SSachievements.achievements_enabled) - for(var/mob/living/L in view(7,src)) - if(L.stat || !L.client) - continue - L.client.give_award(/datum/award/achievement/boss/tendril_exterminator, L) - L.client.give_award(/datum/award/score/tendril_score, L) //Progresses score by one - GLOB.tendrils -= src - QDEL_NULL(emitted_light) - return ..() - -/obj/effect/light_emitter/tendril - set_luminosity = 4 - set_cap = 2.5 - light_color = LIGHT_COLOR_LAVA - -/obj/effect/collapse - name = "collapsing necropolis tendril" - desc = "Get clear!" - layer = TABLE_LAYER - icon = 'icons/mob/nest.dmi' - icon_state = "tendril" - anchored = TRUE - density = TRUE - var/obj/effect/light_emitter/tendril/emitted_light - -/obj/effect/collapse/Initialize() - . = ..() - emitted_light = new(loc) - visible_message("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!") - visible_message("Something falls free of the tendril!") - playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, FALSE, 50, TRUE, TRUE) - addtimer(CALLBACK(src, PROC_REF(collapse)), 50) - -/obj/effect/collapse/Destroy() - QDEL_NULL(emitted_light) - return ..() - -/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) - visible_message("The tendril falls inward, the ground around it erupting into bubbling lava!") //WS edit. - for(var/turf/T in range(2,src)) - if(!T.density) - T.TerraformTurf(/turf/open/lava/smooth/lava_land_surface, /turf/open/lava/smooth/lava_land_surface, flags = CHANGETURF_INHERIT_AIR) //WS edit, instead of chasms this produces lava instead. - qdel(src) - - //these are good for mappers and already see use in some maps. - -/obj/structure/spawner/lavaland/goliath - mob_types = list(/mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril) - -/obj/structure/spawner/lavaland/legion - mob_types = list(/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril) - -/obj/structure/spawner/lavaland/icewatcher - mob_types = list(/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing) - -/obj/structure/spawner/lavaland/whitesandsbasilisk - mob_types = list(/mob/living/simple_animal/hostile/asteroid/basilisk/whitesands) - - //these are ones that we want to see spawning on worlds. - -/obj/structure/spawner/lavaland/low_threat //this is the most common one, it shouldn't be a huge issue for most players. - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 27, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing = 1, - /mob/living/simple_animal/hostile/asteroid/brimdemon = 20 - ) - max_mobs = 4 - spawn_time = 300 - -/obj/structure/spawner/lavaland/medium_threat //this is less common. It starts getting dangerous here. - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 27, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing = 1, - /mob/living/simple_animal/hostile/asteroid/brimdemon = 20 - ) - max_mobs = 6 - spawn_time = 200 //they spawn a little faster - -/obj/structure/spawner/lavaland/high_threat //this should be rare. People will have trouble with this. - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 27, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing = 1, - /mob/living/simple_animal/hostile/asteroid/brimdemon = 20 - ) - max_mobs = 9 - spawn_time = 200 - -/obj/structure/spawner/lavaland/extreme_threat //extremely rare - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 27, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing = 1, - /mob/living/simple_animal/hostile/asteroid/brimdemon = 20 - ) - max_mobs = 12 - spawn_time = 150 //bring a friend and some automatic weapons - -//and sand world ones. More legions, no brimdemons, no icewings. - -/obj/structure/spawner/lavaland/sand_world/low_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 20, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 40, - /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands = 40 - ) - max_mobs = 5 - spawn_time = 300 - -/obj/structure/spawner/lavaland/sand_world/medium_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 20, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 40, - /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands = 40 - ) - max_mobs = 7 - spawn_time = 200 - -/obj/structure/spawner/lavaland/sand_world/high_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 20, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 40, - /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands = 40 - ) - max_mobs = 10 - spawn_time = 200 - -/obj/structure/spawner/lavaland/sand_world/extreme_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 20, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 40, - /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands = 40 - ) - max_mobs = 12 - spawn_time = 150 diff --git a/code/game/objects/structures/manned_turret.dm b/code/game/objects/structures/manned_turret.dm index e0f6e22f3e7..637f2deeb51 100644 --- a/code/game/objects/structures/manned_turret.dm +++ b/code/game/objects/structures/manned_turret.dm @@ -214,7 +214,7 @@ /obj/item/gun_control name = "turret controls" - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "offhand" w_class = WEIGHT_CLASS_HUGE item_flags = ABSTRACT | NOBLUDGEON | DROPDEL diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 2e8c7508d59..ae1f50f0624 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -264,7 +264,7 @@ GLOBAL_LIST_EMPTY(crematoriums) for(var/mob/living/M in conts) if (M.stat != DEAD) - M.emote("scream") + M.force_scream() if(user) log_combat(user, M, "cremated") else diff --git a/code/game/objects/structures/plaques/static_plaques.dm b/code/game/objects/structures/plaques/static_plaques.dm index 1ac3ec7546d..00944c19741 100644 --- a/code/game/objects/structures/plaques/static_plaques.dm +++ b/code/game/objects/structures/plaques/static_plaques.dm @@ -47,3 +47,11 @@ name = "\improper Mr. Deempisi portrait" desc = "Under the painting a plaque reads: 'While the meat grinder may not have spared you, fear not. Not one part of you has gone to waste... You were delicious.'" icon_state = "monkey_painting" + +/obj/structure/plaque/listeningpost + name = "Listening Post Commemoration Plaque" + engraved = TRUE + +/obj/structure/plaque/listeningpost/Initialize() + . = ..() + desc = "Cybersun Virtual Solutions - Field Listening Post #[rand(107,356)]. Proudly built in [rand(478, 497)]." diff --git a/code/game/objects/structures/platforms.dm b/code/game/objects/structures/platforms.dm new file mode 100644 index 00000000000..c6ede0166d1 --- /dev/null +++ b/code/game/objects/structures/platforms.dm @@ -0,0 +1,172 @@ +/obj/structure/platform + name = "platform" + desc = "An elevated platform meant to make someone feel more important." + icon = 'icons/obj/platform.dmi' + icon_state = "platform" + flags_1 = ON_BORDER_1 + layer = RAILING_LAYER + pass_flags_self = LETPASSTHROW + density = TRUE + anchored = TRUE + climbable = TRUE + +/obj/structure/platform/Initialize() + . = ..() + if(density && flags_1 & ON_BORDER_1) + var/static/list/loc_connections = list( + COMSIG_ATOM_EXIT = PROC_REF(on_exit), + ) + AddElement(/datum/element/connect_loc, loc_connections) + update_appearance() + +/obj/structure/platform/update_appearance(updates) + . = ..() + if(dir == 1) + layer = 2.89 + else + layer = 3.08 + + +/obj/structure/platform/corner + icon_state = "platform_corners" + density = FALSE + climbable = FALSE + +/obj/structure/platform/industrial + icon_state = "industrial_platform" + +/obj/structure/platform/industrial/corner + icon_state = "ind_platform_corners" + density = FALSE + climbable = FALSE + +/obj/structure/platform/industrial_alt + icon_state = "industrial2_platform" + +/obj/structure/platform/industrial_alt/corner + icon_state = "ind2_platform_corners" + density = FALSE + climbable = FALSE + +/obj/structure/platform/military + icon_state = "military_platform" + +/obj/structure/platform/military/corner + icon_state = "mil_platform_corners" + density = FALSE + climbable = FALSE + +/obj/structure/platform/ship + icon_state = "ship_platform" + +/obj/structure/platform/ship/corner + icon_state = "ship_platform_corners" + density = FALSE + climbable = FALSE + +/obj/structure/platform/ship_two + icon_state = "ship2_platform" + +/obj/structure/platform/ship_two/corner + icon_state = "ship2_platform_corners" + density = FALSE + climbable = FALSE + +/obj/structure/platform/ship_three + icon_state = "ship3_platform" + +/obj/structure/platform/ship_three/corner + icon_state = "ship3_platform_corners" + density = FALSE + climbable = FALSE + +/obj/structure/platform/ship_four + icon_state = "ship4_platform" + +/obj/structure/platform/ship_four/corner + icon_state = "ship4_platform_corners" + density = FALSE + climbable = FALSE + +/obj/structure/platform/wood + name = "wooden platform" + icon_state = "wood_platform" + resistance_flags = FLAMMABLE + +/obj/structure/platform/wood/corner + icon_state = "wood_platform_corners" + density = FALSE + climbable = FALSE + +/obj/structure/platform/wood_two + name = "wooden platform" + icon_state = "fancy_wood_platform" + resistance_flags = FLAMMABLE + +/obj/structure/platform/wood_two/corner + icon_state = "fwood_platform_corners" + density = FALSE + climbable = FALSE + +/obj/structure/platform/attackby(obj/item/I, mob/living/user, params) + ..() + add_fingerprint(user) + + if(I.tool_behaviour == TOOL_WELDER && user.a_intent == INTENT_HELP) + if(obj_integrity < max_integrity) + if(!I.tool_start_check(user, amount=0)) + return + + to_chat(user, span_notice("You begin repairing [src]...")) + if(I.use_tool(src, user, 40, volume=50)) + obj_integrity = max_integrity + to_chat(user, span_notice("You repair [src].")) + else + to_chat(user, span_warning("[src] is already in good condition!")) + return + +/obj/structure/platform/deconstruct_act(mob/living/user, obj/item/I) + . = ..() + if(!I.tool_start_check(user, amount=0)) + return FALSE + if(I.use_tool(src, user, 3 SECONDS, volume=0)) + to_chat(user, span_warning("You cut apart the platform.")) + deconstruct() + return TRUE + +/obj/structure/platform/deconstruct(disassembled) + . = ..() + if(!loc) //quick check if it's qdeleted already. + return + if(!(flags_1 & NODECONSTRUCT_1)) + qdel(src) + +/obj/structure/platform/CanPass(atom/movable/mover, border_dir) + . = ..() + if(border_dir & dir) + return . || mover.throwing || mover.movement_type & (FLYING | FLOATING) + return TRUE + +/obj/structure/platform/proc/on_exit(datum/source, atom/movable/leaving, direction) + SIGNAL_HANDLER + + if(leaving == src) + return // Let's not block ourselves. + + if(!(direction & dir)) + return + + if(!density) + return + + if(leaving.throwing) + return + + if(leaving.movement_type & (PHASING | FLYING | FLOATING)) + return + + if(leaving.move_force >= MOVE_FORCE_EXTREMELY_STRONG) + return + + leaving.Bump(src) + return COMPONENT_ATOM_BLOCK_EXIT diff --git a/code/game/objects/structures/poddoor_assembly.dm b/code/game/objects/structures/poddoor_assembly.dm index 5909e0f666b..f06610ddbc5 100644 --- a/code/game/objects/structures/poddoor_assembly.dm +++ b/code/game/objects/structures/poddoor_assembly.dm @@ -56,6 +56,14 @@ return created_name = new_name + else if(item_used.tool_behaviour == TOOL_DECONSTRUCT) + if(!item_used.tool_start_check(user, amount=0)) + return + user.visible_message(span_notice("[user] cuts apart [src]."), span_notice("You start to slice apart [src]...")) + if(item_used.use_tool(src, user, 4 SECONDS, volume=50)) + to_chat(user, span_notice("You disassemble [src].")) + deconstruct(TRUE) + else if(item_used.tool_behaviour == TOOL_WELDER) if(!item_used.tool_start_check(user, amount=0)) return diff --git a/code/game/objects/structures/railings.dm b/code/game/objects/structures/railings.dm index 95c24145399..16905af7517 100644 --- a/code/game/objects/structures/railings.dm +++ b/code/game/objects/structures/railings.dm @@ -65,6 +65,15 @@ deconstruct() return TRUE +/obj/structure/railing/deconstruct_act(mob/living/user, obj/item/I) + . = ..() + if(!I.tool_start_check(user, amount=0)) + return FALSE + if (I.use_tool(src, user, 3 SECONDS, volume=0)) + to_chat(user, "You cut apart the railing.") + deconstruct() + return TRUE + /obj/structure/railing/deconstruct(disassembled) . = ..() if(!loc) //quick check if it's qdeleted already. @@ -97,16 +106,16 @@ if(!(direction & dir)) return - if (!density) + if(!density) return - if (leaving.throwing) + if(leaving.throwing) return - if (leaving.movement_type & (PHASING | FLYING | FLOATING)) + if(leaving.movement_type & (PHASING | FLYING | FLOATING)) return - if (leaving.move_force >= MOVE_FORCE_EXTREMELY_STRONG) + if(leaving.move_force >= MOVE_FORCE_EXTREMELY_STRONG) return leaving.Bump(src) @@ -133,12 +142,12 @@ /obj/structure/railing/wood name = "wooden railing" - color = "#A47449" + icon_state = "wood_railing_thin" buildstack = /obj/item/stack/sheet/mineral/wood /obj/structure/railing/corner/wood name = "wooden railing" - color = "#A47449" + icon_state = "wood_corners_thin" buildstack = /obj/item/stack/sheet/mineral/wood /obj/structure/railing/modern @@ -187,3 +196,15 @@ density = FALSE climbable = FALSE buildstackamount = 1 + +/obj/structure/railing/thick + icon_state = "railing_thick" + +/obj/structure/railing/thick/corner + icon_state = "railing_thick_corner" + +/obj/structure/railing/thin + icon_state = "railing_thin" + +/obj/structure/railing/thin/corner + icon_state = "railing_thin_corner" diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 0df440340ee..0ea49b44933 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -75,13 +75,17 @@ FLOOR SAFES if(istype(I, /obj/item/clothing/neck/stethoscope)) attack_hand(user) return + + else if(I.tool_behaviour == TOOL_DECONSTRUCT) + user.visible_message("[user] begin to cut through the lock of \the [src].","You start cutting trough the lock of [src].") + if(I.use_tool(src, user, 45 SECONDS)) + broken = TRUE + user.visible_message("[user] successfully cuts trough the lock of \the [src].","You successfully cut trough the lock of [src].") + else to_chat(user, "You can't put [I] into the safe while it is closed!") return -/obj/structure/safe/blob_act(obj/structure/blob/B) - return - /obj/structure/safe/ex_act(severity, target) if(((severity == 2 && target == src) || severity == 1) && explosion_count < BROKEN_THRESHOLD) explosion_count++ diff --git a/code/game/objects/structures/salvaging.dm b/code/game/objects/structures/salvaging.dm index ebefc58e5c0..ccb76bd81c4 100644 --- a/code/game/objects/structures/salvaging.dm +++ b/code/game/objects/structures/salvaging.dm @@ -34,6 +34,16 @@ qdel(src) return TRUE +/obj/structure/salvageable/deconstruct_act(mob/living/user, obj/item/tool) + . = ..() + user.visible_message("[user] starts slicing [src].", \ + "You start salvaging anything useful from [src]...") + if(tool.use_tool(src, user, 6 SECONDS)) + user.visible_message("[user] dismantles [src].", \ + "You salvage [src].") + dismantle(user) + qdel(src) + return TRUE //Types themself, use them, but not the parent object @@ -46,16 +56,16 @@ /obj/item/stack/ore/salvage/scrapgold/five = 60, /obj/item/stack/ore/salvage/scrapmetal/five = 60, - /obj/effect/spawner/lootdrop/salvage_capacitor = 50, - /obj/effect/spawner/lootdrop/salvage_capacitor = 50, - /obj/effect/spawner/lootdrop/salvage_scanning = 50, - /obj/effect/spawner/lootdrop/salvage_scanning = 50, - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_manipulator = 40, - /obj/effect/spawner/lootdrop/salvage_manipulator = 40, - /obj/effect/spawner/lootdrop/salvage_laser = 40, - /obj/effect/spawner/lootdrop/salvage_laser = 40, + /obj/effect/spawner/random/salvage_capacitor = 50, + /obj/effect/spawner/random/salvage_capacitor = 50, + /obj/effect/spawner/random/salvage_scanning = 50, + /obj/effect/spawner/random/salvage_scanning = 50, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_manipulator = 40, + /obj/effect/spawner/random/salvage_manipulator = 40, + /obj/effect/spawner/random/salvage_laser = 40, + /obj/effect/spawner/random/salvage_laser = 40, ) /obj/structure/salvageable/computer @@ -69,7 +79,7 @@ /obj/item/stack/ore/salvage/scrapgold/five = 60, /obj/item/stack/ore/salvage/scrapmetal/five = 60, - /obj/effect/spawner/lootdrop/salvage_capacitor = 60, + /obj/effect/spawner/random/salvage_capacitor = 60, /obj/item/computer_hardware/battery = 40, /obj/item/computer_hardware/battery = 40, @@ -81,8 +91,8 @@ /obj/item/computer_hardware/card_slot = 40, /obj/item/computer_hardware/network_card/advanced = 20, - /obj/effect/spawner/lootdrop/random_computer_circuit_common = 50, - /obj/effect/spawner/lootdrop/random_computer_circuit_rare = 5, + /obj/effect/spawner/random/circuit/computer/common = 50, + /obj/effect/spawner/random/circuit/computer/rare = 5, /obj/item/research_notes/loot/tiny = 10, ) @@ -96,11 +106,10 @@ /obj/item/stack/ore/salvage/scraptitanium/five = 60, /obj/item/stack/ore/salvage/scrapmetal/five = 60, - - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_manipulator = 30, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_manipulator = 30, /obj/item/circuitboard/machine/autolathe = 35, @@ -124,17 +133,17 @@ /obj/item/stack/ore/salvage/scrapplasma/five = 60, /obj/item/stack/ore/salvage/scrapmetal/five = 60, - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_manipulator = 30, - /obj/effect/spawner/lootdrop/salvage_manipulator = 30, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_manipulator = 30, + /obj/effect/spawner/random/salvage_manipulator = 30, - /obj/effect/spawner/lootdrop/tool_engie_proto = 45, - /obj/effect/spawner/lootdrop/tool_surgery_proto = 55, - /obj/effect/spawner/lootdrop/beaker_loot_spawner = 45, - /obj/effect/spawner/lootdrop/random_prosthetic = 25, - /obj/effect/spawner/lootdrop/random_gun_protolathe_lootdrop = 5, //:flushed: - /obj/effect/spawner/lootdrop/random_ammo_protolathe_lootdrop = 5, + /obj/effect/spawner/random/engineering/tool = 45, + /obj/effect/spawner/random/medical/surgery_tool = 55, + /obj/effect/spawner/random/medical/beaker = 45, + /obj/effect/spawner/random/medical/prosthetic = 25, + /obj/effect/spawner/random/random_gun_protolathe_lootdrop = 5, //:flushed: + /obj/effect/spawner/random/random_ammo_protolathe_lootdrop = 5, /obj/item/storage/part_replacer = 20, /obj/item/storage/part_replacer/bluespace = 1, @@ -162,13 +171,13 @@ /obj/item/stack/ore/salvage/scrapmetal/five = 60, /obj/item/stack/ore/salvage/scrapbluespace = 60, - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_manipulator = 30, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_manipulator = 30, /obj/item/stack/circuit_stack = 50, //this might be the only way in the game to get a poly circuit, and the only way for many ships to get essensial electronics. huh. - /obj/effect/spawner/lootdrop/random_machine_circuit_mech = 45, //with all the wonderful broken mechs lying around, this might be a chance to get something stupidly overpowered. - /obj/effect/spawner/lootdrop/random_machine_circuit_common = 50, //well.... "common" - /obj/effect/spawner/lootdrop/random_machine_circuit_rare = 5, + /obj/effect/spawner/random/circuit/machine/mech = 45, //with all the wonderful broken mechs lying around, this might be a chance to get something stupidly overpowered. + /obj/effect/spawner/random/circuit/machine/common = 50, //well.... "common" + /obj/effect/spawner/random/circuit/machine/rare = 5, /obj/item/stack/sheet/metal/five = 15, //same as above but more geared towards stuff used by circuit imprinter /obj/item/stack/sheet/glass/five = 15, @@ -189,12 +198,12 @@ /obj/item/stack/ore/salvage/scrapmetal/five = 60, /obj/item/stack/ore/salvage/scrapplasma = 60, - /obj/effect/spawner/lootdrop/salvage_scanning = 40, - /obj/effect/spawner/lootdrop/salvage_laser = 30, - /obj/effect/spawner/lootdrop/salvage_manipulator = 30, + /obj/effect/spawner/random/salvage_scanning = 40, + /obj/effect/spawner/random/salvage_laser = 30, + /obj/effect/spawner/random/salvage_manipulator = 30, /obj/item/storage/toolbox/syndicate/empty = 80, - /obj/effect/spawner/lootdrop/destructive_anal_loot = 65, + /obj/effect/spawner/random/destructive_anal_loot = 65, /obj/item/stack/sheet/metal/five = 15, //same as above but more geared towards stuff used by circuit imprinter /obj/item/stack/sheet/glass/five = 15, @@ -242,7 +251,6 @@ /obj/item/research_notes/loot/medium = 20, /obj/item/research_notes/loot/big = 5, //you have a chance at summoning god damn ripley lobster from this thing, might as well - /obj/item/disk/tech_disk/major = 3, /obj/item/disk/tech_disk = 20, /obj/item/disk/data = 20, /obj/item/disk/holodisk = 20, @@ -303,7 +311,6 @@ /obj/item/research_notes/loot/medium = 20, /obj/item/research_notes/loot/big = 5, - /obj/item/disk/tech_disk/major = 3, /obj/item/disk/tech_disk = 20, /obj/item/disk/data = 20, /obj/item/disk/holodisk = 20, @@ -334,11 +341,11 @@ color = "#808080" salvageable_parts = list( - /obj/effect/spawner/lootdrop/seeded = 80, - /obj/effect/spawner/lootdrop/seeded = 80, - /obj/effect/spawner/lootdrop/seeded = 80, - /obj/effect/spawner/lootdrop/seeded = 80, - /obj/effect/spawner/lootdrop/seeded = 80, + /obj/effect/spawner/random/food_or_drink/seed = 80, + /obj/effect/spawner/random/food_or_drink/seed = 80, + /obj/effect/spawner/random/food_or_drink/seed = 80, + /obj/effect/spawner/random/food_or_drink/seed = 80, + /obj/effect/spawner/random/food_or_drink/seed = 80, /obj/item/seeds/random = 80, /obj/item/seeds/random = 40, /obj/item/seeds/random = 40, @@ -462,239 +469,3 @@ /obj/item/stack/ore/salvage/scrapbluespace/five amount = 5 - -//loot spawners as shown above - -//GENERIC -/obj/effect/spawner/lootdrop/salvage_capacitor - loot = list( - /obj/item/stock_parts/capacitor = 120, - /obj/item/stock_parts/capacitor/adv = 20, - /obj/item/stock_parts/capacitor/super = 5, - ) - -/obj/effect/spawner/lootdrop/salvage_scanning - loot = list( - /obj/item/stock_parts/scanning_module = 120, - /obj/item/stock_parts/scanning_module/adv = 20, - /obj/item/stock_parts/scanning_module/phasic = 5, - ) - -/obj/effect/spawner/lootdrop/salvage_manipulator - loot = list( - /obj/item/stock_parts/manipulator = 120, - /obj/item/stock_parts/manipulator/nano = 20, - /obj/item/stock_parts/manipulator/pico = 5, - ) - -/obj/effect/spawner/lootdrop/salvage_matter_bin - loot = list( - /obj/item/stock_parts/matter_bin = 120, - /obj/item/stock_parts/matter_bin/adv = 20, - /obj/item/stock_parts/matter_bin/super = 5, - ) - -/obj/effect/spawner/lootdrop/salvage_laser - loot = list( - /obj/item/stock_parts/micro_laser = 120, - /obj/item/stock_parts/micro_laser/high = 20, - /obj/item/stock_parts/micro_laser/ultra = 5, - ) - -//PROTOLATHE -/obj/effect/spawner/lootdrop/tool_engie_proto - loot = list( - /obj/effect/spawner/lootdrop/tool_engie_common = 120, - /obj/effect/spawner/lootdrop/tool_engie_sydnie = 20, - /obj/effect/spawner/lootdrop/tool_engie_adv = 5, - ) - -/obj/effect/spawner/lootdrop/tool_engie_common - loot = list( - /obj/item/wrench/crescent = 1, - /obj/item/screwdriver = 1, - /obj/item/weldingtool = 1, - /obj/item/crowbar = 1, - /obj/item/wirecutters = 1, - /obj/item/multitool = 1, - ) - -/obj/effect/spawner/lootdrop/tool_engie_sydnie - loot = list( - /obj/item/wrench/syndie = 1, - /obj/item/screwdriver/nuke = 1, - /obj/item/weldingtool/largetank = 1, - /obj/item/crowbar/syndie = 1, - /obj/item/wirecutters/syndie = 1, - /obj/item/multitool/syndie = 1, - ) - -/obj/effect/spawner/lootdrop/tool_engie_adv - loot = list( - /obj/item/screwdriver/power = 1, - /obj/item/weldingtool/experimental = 1, - /obj/item/crowbar/power = 1, - ) - -/obj/effect/spawner/lootdrop/tool_surgery_proto - loot = list( - /obj/effect/spawner/lootdrop/tool_surgery_common = 120, - /obj/effect/spawner/lootdrop/tool_surgery_adv = 10, - ) - -/obj/effect/spawner/lootdrop/tool_surgery_common - loot = list( - /obj/item/scalpel = 1, - /obj/item/hemostat = 1, - /obj/item/cautery = 1, - /obj/item/retractor = 1, - /obj/item/circular_saw = 1, - /obj/item/surgicaldrill = 1, - ) - -/obj/effect/spawner/lootdrop/tool_surgery_adv - loot = list( - /obj/item/scalpel/advanced = 1, - /obj/item/retractor/advanced = 1, - /obj/item/surgicaldrill/advanced = 1, - ) - -/obj/effect/spawner/lootdrop/beaker_loot_spawner - loot = list( - /obj/item/reagent_containers/glass/beaker = 300, - /obj/item/reagent_containers/glass/beaker/large = 200, - /obj/item/reagent_containers/glass/beaker/plastic = 50, - /obj/item/reagent_containers/glass/beaker/meta = 10, - /obj/item/reagent_containers/glass/beaker/noreact = 5, - /obj/item/reagent_containers/glass/beaker/bluespace = 1, - ) -/obj/effect/spawner/lootdrop/random_prosthetic - loot = list( - /obj/item/bodypart/l_arm/robot/surplus = 1, - /obj/item/bodypart/r_arm/robot/surplus = 1, - /obj/item/bodypart/leg/left/robot/surplus = 1, - /obj/item/bodypart/leg/right/robot/surplus = 1, - ) -/obj/effect/spawner/lootdrop/random_gun_protolathe_lootdrop - loot = list( - /obj/item/gun/energy/lasercannon = 1, - /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto = 1, - /obj/item/gun/energy/temperature/security = 1, - ) -/obj/effect/spawner/lootdrop/random_ammo_protolathe_lootdrop - loot = list( - /obj/item/stock_parts/cell/gun/upgraded = 5, - /obj/item/ammo_box/magazine/smgm9mm = 7, - ) - -//CIRCUIT IMPRINTER -/obj/effect/spawner/lootdrop/random_machine_circuit_common - loot = list( - /obj/item/circuitboard/machine/autolathe = 5, - /obj/item/circuitboard/machine/bepis = 5, - /obj/item/circuitboard/machine/biogenerator = 5, - /obj/item/circuitboard/machine/cell_charger = 5, - /obj/item/circuitboard/machine/chem_heater = 5, - /obj/item/circuitboard/machine/chem_master = 5, - /obj/item/circuitboard/machine/clonescanner = 5, - /obj/item/circuitboard/machine/cryo_tube = 5, - /obj/item/circuitboard/machine/cyborgrecharger = 5, - /obj/item/circuitboard/machine/deep_fryer = 5, - /obj/item/circuitboard/machine/experimentor = 5, - /obj/item/circuitboard/machine/holopad = 5, - /obj/item/circuitboard/machine/hydroponics = 5, - /obj/item/circuitboard/machine/limbgrower = 5, - /obj/item/circuitboard/machine/ltsrbt = 5, - /obj/item/circuitboard/machine/mech_recharger = 5, - /obj/item/circuitboard/machine/mechfab = 5, - /obj/item/circuitboard/machine/medical_kiosk = 5, - /obj/item/circuitboard/machine/medipen_refiller = 5, - /obj/item/circuitboard/machine/microwave = 5, - /obj/item/circuitboard/machine/monkey_recycler = 5, - /obj/item/circuitboard/machine/ore_redemption = 5, - /obj/item/circuitboard/machine/ore_silo = 5, - /obj/item/circuitboard/machine/reagentgrinder = 5, - /obj/item/circuitboard/machine/recharger = 5, - /obj/item/circuitboard/machine/seed_extractor = 5, - /obj/item/circuitboard/machine/selling_pad = 5, - /obj/item/circuitboard/machine/emitter = 5, - ) - -/obj/effect/spawner/lootdrop/random_machine_circuit_rare - loot = list( - /obj/item/circuitboard/aicore = 5, - /obj/item/circuitboard/machine/chem_dispenser = 5, - /obj/item/circuitboard/machine/circuit_imprinter = 5, - /obj/item/circuitboard/machine/protolathe = 5, - /obj/item/circuitboard/machine/clonepod/experimental = 5, - /obj/item/circuitboard/machine/rad_collector = 5, - /obj/item/circuitboard/machine/launchpad = 5, - ) - -/obj/effect/spawner/lootdrop/random_machine_circuit_mech - loot = list( - /obj/item/circuitboard/mecha/ripley/main = 100, - /obj/item/circuitboard/mecha/ripley/peripherals = 100, - /obj/item/circuitboard/mecha/honker/main = 5, - /obj/item/circuitboard/mecha/honker/peripherals = 5, - /obj/item/circuitboard/mecha/odysseus/main = 5, - /obj/item/circuitboard/mecha/odysseus/peripherals = 5, - /obj/item/circuitboard/mecha/gygax/main = 1, - /obj/item/circuitboard/mecha/gygax/peripherals = 1, - /obj/item/circuitboard/mecha/gygax/targeting = 1, - /obj/item/circuitboard/mecha/durand/main = 1, - /obj/item/circuitboard/mecha/durand/peripherals = 1, - /obj/item/circuitboard/mecha/durand/targeting = 1, - ) - -//COMPUTER -/obj/effect/spawner/lootdrop/random_computer_circuit_common - loot = list( - /obj/item/circuitboard/computer/aifixer = 5, - /obj/item/circuitboard/computer/arcade/amputation = 5, - /obj/item/circuitboard/computer/arcade/battle = 5, - /obj/item/circuitboard/computer/arcade/orion_trail = 5, - /obj/item/circuitboard/computer/atmos_alert = 5, - /obj/item/circuitboard/computer/card = 5, - /obj/item/circuitboard/computer/cloning = 5, - /obj/item/circuitboard/computer/communications = 5, - /obj/item/circuitboard/computer/launchpad_console = 5, - /obj/item/circuitboard/computer/mech_bay_power_console = 5, - /obj/item/circuitboard/computer/pandemic = 5, - /obj/item/circuitboard/computer/powermonitor/secret = 5, - /obj/item/circuitboard/computer/prototype_cloning = 5, - /obj/item/circuitboard/computer/stationalert = 5, - /obj/item/circuitboard/computer/xenobiology = 5, - /obj/item/circuitboard/computer/teleporter = 5, - /obj/item/circuitboard/computer/operating = 5, - /obj/item/circuitboard/computer/crew = 5, - /obj/item/circuitboard/computer/scan_consolenew = 5, - ) - -/obj/effect/spawner/lootdrop/random_computer_circuit_rare - loot = list( - /obj/item/circuitboard/computer/cargo/express = 5, - /obj/item/circuitboard/computer/communications = 5, - /obj/item/circuitboard/computer/shuttle/helm = 5, - /obj/item/circuitboard/computer/med_data = 5, - ) - -//DESTRUCTIVE ANAL //i'm killing you -/obj/effect/spawner/lootdrop/destructive_anal_loot //what do people usually put in these things anayways - loot = list( - /obj/item/storage/toolbox/syndicate/empty = 650, - /obj/item/gun/ballistic/automatic/pistol/syndicate = 500, - /obj/item/camera_bug = 500, - /obj/item/clothing/gloves/combat = 200, - /obj/item/clothing/head/chameleon = 200, - /obj/item/pen/sleepy = 200, - /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor = 100, - - /obj/item/grenade/c4 = 100, - - /obj/item/wrench/syndie = 30, - /obj/item/screwdriver/nuke = 30, - /obj/item/crowbar/syndie = 30, - /obj/item/wirecutters/syndie = 30, - /obj/item/multitool/syndie = 30, - ) diff --git a/code/game/objects/structures/showcase.dm b/code/game/objects/structures/showcase.dm index 475f2e00bcb..5165e9ed649 100644 --- a/code/game/objects/structures/showcase.dm +++ b/code/game/objects/structures/showcase.dm @@ -69,14 +69,14 @@ icon_state = "showcase_7" /obj/structure/showcase/mecha/marauder - name = "combat mech exhibit" - desc = "A stand with an empty old Nanotrasen Corporation combat mech bolted to it. It is described as the premier unit used to defend corporate interests and employees." + name = "combat exosuit exhibit" + desc = "A stand with an empty old Nanotrasen Corporation combat exosuit bolted to it. It is described as the premier unit used to defend corporate interests and employees." icon = 'icons/mecha/mecha.dmi' icon_state = "marauder" /obj/structure/showcase/mecha/ripley - name = "construction mech exhibit" - desc = "A stand with a retired construction mech bolted to it. The clamps are rated at 9300PSI. It seems to be falling apart." + name = "construction exosuit exhibit" + desc = "A stand with a retired construction exosuit bolted to it. The clamps are rated at 9300PSI. It seems to be falling apart." icon = 'icons/mecha/mecha.dmi' icon_state = "firefighter" diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm index 16cf7af6ce8..b7c6285d796 100644 --- a/code/game/objects/structures/shower.dm +++ b/code/game/objects/structures/shower.dm @@ -134,11 +134,11 @@ if(current_temperature == SHOWER_FREEZING) if(iscarbon(L)) - C.adjust_bodytemperature(-80, 80) + C.adjust_bodytemperature(-5, 280) to_chat(L, "[src] is freezing!") else if(current_temperature == SHOWER_BOILING) if(iscarbon(L)) - C.adjust_bodytemperature(35, 0, 500) + C.adjust_bodytemperature(5, 0, 350) L.adjustFireLoss(5) to_chat(L, "[src] is searing!") diff --git a/code/game/objects/structures/signs/signs_flags.dm b/code/game/objects/structures/signs/signs_flags.dm index 415bce3bf6f..48eb38cafa3 100644 --- a/code/game/objects/structures/signs/signs_flags.dm +++ b/code/game/objects/structures/signs/signs_flags.dm @@ -43,6 +43,12 @@ icon_state = "flag_suns" item_flag = /obj/item/sign/flag/suns +/obj/structure/sign/flag/ngr + name = "\improper New Gorlexian flag" + desc = "The New Gorlex Republic's colors: Red for the martyrs of Old Gorlex, Black for the endless Frontier, and tan for the sands of New Gorlex." + icon_state = "flag_ngr" + item_flag = /obj/item/sign/flag/ngr + // ITEM FLAGS - THE THINGS YOU HOLD AND PLACE /obj/item/sign/flag @@ -63,3 +69,9 @@ desc = "A folded up purple Flag. Something about this flag makes you think of chemistry." icon_state = "folded_suns" sign_path = /obj/structure/sign/flag/suns + +/obj/item/sign/flag/ngr + name = "folded New Gorlexian flag" + desc = "A folded up NGR flag. Something about this flag makes you think of explosives." + icon_state = "folded_ngr" + sign_path = /obj/structure/sign/flag/ngr diff --git a/code/game/objects/structures/spawner.dm b/code/game/objects/structures/spawner.dm deleted file mode 100644 index d44606a1a57..00000000000 --- a/code/game/objects/structures/spawner.dm +++ /dev/null @@ -1,153 +0,0 @@ -GLOBAL_LIST_INIT(astroloot, list( - /obj/item/stack/ore/uranium = 50, - /obj/item/stack/ore/iron = 50, - /obj/item/stack/ore/plasma = 75, - /obj/item/stack/ore/silver = 50, - /obj/item/stack/ore/gold = 50, - /obj/item/stack/ore/diamond = 25, - /obj/item/stack/ore/hellstone = 5, - /obj/item/stack/ore/titanium = 75, - /obj/item/pickaxe/diamond = 15, - /obj/item/borg/upgrade/modkit/cooldown = 5, - /obj/item/borg/upgrade/modkit/damage = 5, - /obj/item/borg/upgrade/modkit/range = 5, - /obj/item/t_scanner/adv_mining_scanner/lesser = 15, - /obj/item/kinetic_crusher = 15, - /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, - /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, - /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, - /obj/item/tank/jetpack/suit = 10, - /obj/item/survivalcapsule = 15, - /obj/item/reagent_containers/hypospray/medipen/survival = 15, - /obj/item/gps/mining = 10, - /obj/item/extraction_pack = 10, - /obj/item/reagent_containers/food/drinks/beer = 15, - )) - -/obj/structure/spawner - name = "monster nest" - icon = 'icons/mob/nest.dmi' - icon_state = "hole" - max_integrity = 100 - - move_resist = MOVE_FORCE_EXTREMELY_STRONG - anchored = TRUE - density = TRUE - - var/max_mobs = 5 - var/spawn_time = 300 //30 seconds default - var/mob_types = list(/mob/living/simple_animal/hostile/carp) - var/spawn_text = "emerges from" - var/faction = list("hostile") - var/spawn_sound = list('sound/effects/break_stone.ogg') - var/spawner_type = /datum/component/spawner - var/spawn_distance_min = 1 - var/spawn_distance_max = 1 - -/obj/structure/spawner/Initialize() - . = ..() - AddComponent(spawner_type, mob_types, spawn_time, faction, spawn_text, max_mobs, spawn_sound, spawn_distance_min, spawn_distance_max) - -/obj/structure/spawner/attack_animal(mob/living/simple_animal/M) - if(faction_check(faction, M.faction, FALSE)&&!M.client) - return - ..() - - -/obj/structure/spawner/syndicate - name = "warp beacon" - icon = 'icons/obj/device.dmi' - icon_state = "syndbeacon" - spawn_text = "warps in from" - mob_types = list(/mob/living/simple_animal/hostile/human/syndicate/ranged) - faction = list(ROLE_SYNDICATE) - -/obj/structure/spawner/skeleton - name = "bone pit" - desc = "A pit full of bones, and some still seem to be moving..." - max_integrity = 150 - max_mobs = 15 - spawn_time = 150 - mob_types = list(/mob/living/simple_animal/hostile/human/skeleton) - spawn_text = "climbs out of" - faction = list("skeleton") - -/obj/structure/spawner/clown - name = "Laughing Larry" - desc = "A laughing, jovial figure. Something seems stuck in his throat." - icon_state = "clownbeacon" - icon = 'icons/obj/device.dmi' - max_integrity = 200 - max_mobs = 15 - spawn_time = 150 - mob_types = list(/mob/living/simple_animal/hostile/retaliate/clown, /mob/living/simple_animal/hostile/retaliate/clown/fleshclown, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk, /mob/living/simple_animal/hostile/retaliate/clown/longface, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk/chlown, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk/honcmunculus, /mob/living/simple_animal/hostile/retaliate/clown/mutant/blob, /mob/living/simple_animal/hostile/retaliate/clown/banana, /mob/living/simple_animal/hostile/retaliate/clown/honkling, /mob/living/simple_animal/hostile/retaliate/clown/lube) - spawn_text = "climbs out of" - faction = list("clown") - -/obj/structure/spawner/carp - name = "carp spawn" //the non game spawn meaning - desc = "A puddle, which appears to be full of carp" - icon_state = "puddle" - icon = 'icons/obj/watercloset.dmi' - max_integrity = 150 - max_mobs = 5 - spawn_time = 1200 - mob_types = list(/mob/living/simple_animal/hostile/carp) - spawn_text = "climbs out of" - faction = list("carp") - -/obj/structure/spawner/mining/proc/adestroy_effect() - playsound(loc,'sound/effects/explosionfar.ogg', 200, TRUE) - visible_message("[src] collapses, sealing everything inside!\nOres fall out of the cave as it is destroyed!") - -/obj/structure/spawner/mining - name = "monster den" - desc = "A hole dug into the ground, harboring all kinds of monsters found within most caves or mining asteroids." - max_mobs = 3 - spawn_text = "crawls out of" - mob_types = list(/mob/living/simple_animal/hostile/asteroid/goldgrub, /mob/living/simple_animal/hostile/asteroid/goliath, /mob/living/simple_animal/hostile/asteroid/hivelord, /mob/living/simple_animal/hostile/asteroid/basilisk, /mob/living/simple_animal/hostile/asteroid/fugu) - faction = list("mining") - density = 0 - -/obj/structure/spawner/mining/deconstruct(disassembled) - adestroy_effect() - drop_astroloot() - return ..() - -/obj/structure/spawner/mining/proc/drop_astroloot() - for(var/type in GLOB.astroloot) - var/chance = GLOB.astroloot[type] - if(!prob(chance)) - continue - new type(loc, rand(5, 17)) - -/obj/structure/spawner/mining/goldgrub - name = "goldgrub den" - desc = "A den housing a nest of goldgrubs, annoying but arguably much better than anything else you'll find in a nest." - mob_types = list(/mob/living/simple_animal/hostile/asteroid/goldgrub) - -/obj/structure/spawner/mining/goliath - name = "goliath den" - desc = "A den housing a nest of goliaths, oh god why?" - mob_types = list(/mob/living/simple_animal/hostile/asteroid/goliath) - -/obj/structure/spawner/mining/hivelord - name = "hivelord den" - desc = "A den housing a nest of hivelords." - mob_types = list(/mob/living/simple_animal/hostile/asteroid/hivelord) - -/obj/structure/spawner/mining/basilisk - name = "basilisk den" - desc = "A den housing a nest of basilisks, bring a coat." - mob_types = list(/mob/living/simple_animal/hostile/asteroid/basilisk) - -/obj/structure/spawner/mining/wumborian - name = "wumborian fugu den" - desc = "A den housing a nest of wumborian fugus, how do they all even fit in there?" - mob_types = list(/mob/living/simple_animal/hostile/asteroid/fugu) - -/obj/structure/spawner/mining/carp - name = "carp den" - desc = "A den housing a nest of space carp, seems fishy!" - mob_types = list(/mob/living/simple_animal/hostile/carp) - spawn_text = "emerges from" diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index 9f51ba34476..4d9b3b783ce 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -62,11 +62,6 @@ desc = "This is a grand statue of a Nuclear Explosive. It has a sickening green colour." icon_state = "nuke" -/obj/structure/statue/uranium/eng - name = "Statue of an engineer" - desc = "This statue has a sickening green colour." - icon_state = "eng" - /obj/structure/statue/uranium/attackby(obj/item/W, mob/user, params) radiate() return ..() @@ -93,168 +88,6 @@ return return -////////////////////////////plasma/////////////////////////////////////////////////////////////////////// - -/obj/structure/statue/plasma - max_integrity = 200 - material_drop_type = /obj/item/stack/sheet/mineral/plasma - impressiveness = 20 - desc = "This statue is suitably made from plasma." - -/obj/structure/statue/plasma/scientist - name = "statue of a scientist" - icon_state = "sci" - -/obj/structure/statue/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) - if(exposed_temperature > 300) - PlasmaBurn(exposed_temperature) - - -/obj/structure/statue/plasma/bullet_act(obj/projectile/Proj) - var/burn = FALSE - if(!(Proj.nodamage) && Proj.damage_type == BURN && !QDELETED(src)) - burn = TRUE - if(burn) - var/turf/T = get_turf(src) - if(Proj.firer) - message_admins("Plasma statue ignited by [ADMIN_LOOKUPFLW(Proj.firer)] in [ADMIN_VERBOSEJMP(T)]") - log_game("Plasma statue ignited by [key_name(Proj.firer)] in [AREACOORD(T)]") - else - message_admins("Plasma statue ignited by [Proj]. No known firer, in [ADMIN_VERBOSEJMP(T)]") - log_game("Plasma statue ignited by [Proj] in [AREACOORD(T)]. No known firer.") - PlasmaBurn(2500) - . = ..() - -/obj/structure/statue/plasma/attackby(obj/item/W, mob/user, params) - if(W.get_temperature() > 300 && !QDELETED(src))//If the temperature of the object is over 300, then ignite - var/turf/T = get_turf(src) - message_admins("Plasma statue ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(T)]") - log_game("Plasma statue ignited by [key_name(user)] in [AREACOORD(T)]") - ignite(W.get_temperature()) - else - return ..() - -/obj/structure/statue/plasma/proc/PlasmaBurn(exposed_temperature) - if(QDELETED(src)) - return - atmos_spawn_air("plasma=[oreAmount*10];TEMP=[exposed_temperature]") - deconstruct(FALSE) - -/obj/structure/statue/plasma/proc/ignite(exposed_temperature) - if(exposed_temperature > 300) - PlasmaBurn(exposed_temperature) - -//////////////////////gold/////////////////////////////////////// - -/obj/structure/statue/gold - max_integrity = 300 - material_drop_type = /obj/item/stack/sheet/mineral/gold - impressiveness = 25 - desc = "This is a highly valuable statue made from gold." - -/obj/structure/statue/gold/hos - name = "statue of the head of security" - icon_state = "hos" - -/obj/structure/statue/gold/head_of_personnel - name = "statue of the head of personnel" - icon_state = "hop" - -/obj/structure/statue/gold/cmo - name = "statue of the chief medical officer" - icon_state = "cmo" - -/obj/structure/statue/gold/ce - name = "statue of the chief engineer" - icon_state = "ce" - -/obj/structure/statue/gold/rd - name = "statue of the research director" - icon_state = "rd" - -//////////////////////////silver/////////////////////////////////////// - -/obj/structure/statue/silver - max_integrity = 300 - material_drop_type = /obj/item/stack/sheet/mineral/silver - impressiveness = 25 - desc = "This is a valuable statue made from silver." - -/obj/structure/statue/silver/md - name = "statue of a medical officer" - icon_state = "md" - -/obj/structure/statue/silver/janitor - name = "statue of a janitor" - icon_state = "jani" - -/obj/structure/statue/silver/sec - name = "statue of a security officer" - icon_state = "sec" - -/obj/structure/statue/silver/secborg - name = "statue of a security cyborg" - icon_state = "secborg" - -/obj/structure/statue/silver/medborg - name = "statue of a medical cyborg" - icon_state = "medborg" - -/////////////////////////diamond///////////////////////////////////////// - -/obj/structure/statue/diamond - max_integrity = 1000 - material_drop_type = /obj/item/stack/sheet/mineral/diamond - impressiveness = 50 - desc = "This is a very expensive diamond statue." - -/obj/structure/statue/diamond/captain - name = "statue of THE captain." - icon_state = "cap" - -/obj/structure/statue/diamond/ai1 - name = "statue of the AI hologram." - icon_state = "ai1" - -/obj/structure/statue/diamond/ai2 - name = "statue of the AI core." - icon_state = "ai2" - -////////////////////////bananium/////////////////////////////////////// - -/obj/structure/statue/bananium - max_integrity = 300 - material_drop_type = /obj/item/stack/sheet/mineral/hidden/hellstone - impressiveness = 50 - desc = "A bananium statue with a small engraving:'HOOOOOOONK'." - var/spam_flag = 0 - -/obj/structure/statue/bananium/clown - name = "statue of a clown" - icon_state = "clown" - -/obj/structure/statue/bananium/Bumped(atom/movable/AM) - honk() - ..() - -/obj/structure/statue/bananium/attackby(obj/item/W, mob/user, params) - honk() - return ..() - -/obj/structure/statue/bananium/attack_hand(mob/user) - honk() - . = ..() - -/obj/structure/statue/bananium/attack_paw(mob/user) - honk() - ..() - -/obj/structure/statue/bananium/proc/honk() - if(!spam_flag) - spam_flag = TRUE - playsound(src.loc, 'sound/items/bikehorn.ogg', 50, TRUE) - addtimer(VARSET_CALLBACK(src, spam_flag, FALSE), 2 SECONDS) - /////////////////////sandstone///////////////////////////////////////// /obj/structure/statue/sandstone @@ -262,12 +95,6 @@ material_drop_type = /obj/item/stack/sheet/mineral/sandstone impressiveness = 15 -/obj/structure/statue/sandstone/assistant - name = "statue of an assistant" - desc = "A cheap statue of sandstone for a greyshirt." - icon_state = "assist" - - /obj/structure/statue/sandstone/venus //call me when we add marble i guess name = "statue of a pure maiden" desc = "An ancient marble statue. The subject is depicted with a floor-length braid and is wielding a toolbox. By Jove, it's easily the most gorgeous depiction of a woman you've ever seen. The artist must truly be a master of his craft. Shame about the broken arm, though." @@ -290,12 +117,30 @@ desc = "Looks like that weird kid with the tiger plushie has been round here again." icon_state = "snowlegion" -///////////////////////////////bronze/////////////////////////////////// +/// bone +/obj/structure/statue/bone + anchored = TRUE + max_integrity = 120 + material_drop_type = /obj/item/stack/sheet/bone + impressiveness = 18 // Carved from the bones of a massive creature, it's going to be a specticle to say the least + layer = ABOVE_ALL_MOB_LAYER + +/obj/structure/statue/bone/rib + name = "collosal rib" + desc = "It's staggering to think that something this big could have lived, let alone died." + oreAmount = 4 + icon = 'icons/obj/statuelarge.dmi' + icon_state = "rib" -/obj/structure/statue/bronze - material_drop_type = /obj/item/stack/tile/bronze +/obj/structure/statue/bone/skull + name = "collosal skull" + desc = "The gaping maw of a dead, titanic monster." + oreAmount = 12 + icon = 'icons/obj/statuelarge.dmi' + icon_state = "skull" -/obj/structure/statue/bronze/marx - name = "\improper Karl Marx bust" - desc = "A bust depicting a certain 19th century economist. You get the feeling a specter is haunting the sector." - icon_state = "marx" +/obj/structure/statue/bone/skull/half + desc = "The gaping maw of a dead, titanic monster. This one is cracked in half." + oreAmount = 6 + icon = 'icons/obj/statuelarge.dmi' + icon_state = "skull-half" diff --git a/code/game/objects/structures/table_flipped.dm b/code/game/objects/structures/table_flipped.dm index c006695a7df..8caa87b984a 100644 --- a/code/game/objects/structures/table_flipped.dm +++ b/code/game/objects/structures/table_flipped.dm @@ -7,6 +7,7 @@ density = TRUE layer = ABOVE_MOB_LAYER opacity = FALSE + pass_flags_self = LETPASSTHROW var/table_type = /obj/structure/table /obj/structure/flippedtable/Initialize() @@ -17,10 +18,22 @@ AddElement(/datum/element/connect_loc, loc_connections) +/obj/structure/flippedtable/examine(mob/user) + . = ..() + . += span_notice("You could right the [name] by control shift-clicking it.") + +/obj/structure/flippedtable/proc/check_dir() + if(dir == NORTHEAST || dir == SOUTHEAST) + return EAST + if(dir == NORTHWEST || dir == SOUTHWEST) + return WEST + return dir + /obj/structure/flippedtable/CanAllowThrough(atom/movable/mover, turf/target) . = ..() - var/attempted_dir = get_dir(loc, target) - if(table_type == /obj/structure/table/glass) //Glass table, jolly ranchers pass + var/table_dir = check_dir() + var/attempted_dir = get_dir(loc, mover) + if(table_type == /obj/structure/table/glass) //Glass table, lasers can pass if(istype(mover) && (mover.pass_flags & PASSGLASS)) return TRUE if(istype(mover, /obj/projectile)) @@ -29,20 +42,22 @@ if(proj_obj.trajectory && angle2dir_cardinal(proj_obj.trajectory.angle) == dir) return TRUE return FALSE - return attempted_dir != dir + return attempted_dir != table_dir /obj/structure/flippedtable/proc/on_exit(datum/source, atom/movable/exiter, direction) SIGNAL_HANDLER - + var/table_dir = check_dir() if(exiter == src) return // Let's not block ourselves. - if(table_type == /obj/structure/table/glass) //Glass table, jolly ranchers pass + if(table_type == /obj/structure/table/glass) //Glass table, lasers pass if(istype(exiter) && (exiter.pass_flags & PASSGLASS)) return if(istype(exiter, /obj/projectile)) return - if(direction == dir) + if(istype(exiter, /obj/item)) + return + if(direction == table_dir) exiter.Bump(src) return COMPONENT_ATOM_BLOCK_EXIT return @@ -51,10 +66,10 @@ . = ..() if(!istype(user) || !user.can_interact_with(src)) return FALSE - user.visible_message("[user] starts flipping [src]!", "You start flipping over the [src]!") + user.visible_message(span_danger("[user] starts flipping [src]!"), span_notice("You start flipping over the [src]!")) if(do_after(user, max_integrity/4)) var/obj/structure/table/table_unflip = new table_type(src.loc) table_unflip.obj_integrity = obj_integrity - user.visible_message("[user] flips over the [src]!", "You flip over the [src]!") + user.visible_message(span_danger("[user] flips over the [src]!"), span_notice("You flip over the [src]!")) playsound(src, 'sound/items/trayhit2.ogg', 100) qdel(src) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 4ebd416675b..6f1e59ebad5 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -162,7 +162,7 @@ /obj/structure/table/attackby(obj/item/I, mob/user, params) var/list/modifiers = params2list(params) if(!(flags_1 & NODECONSTRUCT_1) && user.a_intent != INTENT_HELP) - if(I.tool_behaviour == TOOL_SCREWDRIVER && deconstruction_ready) + if((I.tool_behaviour == TOOL_SCREWDRIVER) && deconstruction_ready) to_chat(user, "You start disassembling [src]...") if(I.use_tool(src, user, 20, volume=50)) deconstruct(TRUE) @@ -227,6 +227,15 @@ else return ..() +/obj/structure/table/deconstruct_act(mob/living/user, obj/item/I) + . = ..() + if(!I.tool_start_check(user, amount=0)) + return FALSE + if (I.use_tool(src, user, 1 SECONDS, volume=0)) + to_chat(user, span_warning("You cut [src] into sheets.")) + deconstruct(wrench_disassembly = TRUE) + return TRUE + /obj/structure/table/proc/AfterPutItemOnTable(obj/item/I, mob/living/user) return @@ -672,15 +681,20 @@ step(O, get_dir(O, src)) /obj/structure/rack/attackby(obj/item/W, mob/user, params) + var/list/modifiers = params2list(params) if (W.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1) && user.a_intent != INTENT_HELP) W.play_tool_sound(src) deconstruct(TRUE) return if(user.a_intent == INTENT_HARM) return ..() - if(user.transferItemToLoc(W, drop_location())) - W.pixel_x = pick(9,0,-9) - W.pixel_y = pick(10,1) + if(user.transferItemToLoc(W, drop_location(), silent = FALSE)) + //Center the icon where the user clicked. + 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) + W.pixel_x = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(world.icon_size/2), world.icon_size/2) + W.pixel_y = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(world.icon_size/2), world.icon_size/2) return TRUE /obj/structure/rack/attack_paw(mob/living/user) @@ -692,9 +706,13 @@ return if(user.body_position == LYING_DOWN || user.usable_legs < 2) return + + if(user.a_intent != INTENT_HARM) + to_chat(user, span_danger("You aren't HARMFUL enough to beat the rack.")) + return user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src, ATTACK_EFFECT_KICK) - user.visible_message("[user] kicks [src].", null, null, COMBAT_MESSAGE_RANGE) + user.visible_message(span_danger("[user] kicks [src]."), null, null, COMBAT_MESSAGE_RANGE) take_damage(rand(4,8), BRUTE, "melee", 1) /obj/structure/rack/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) @@ -726,7 +744,6 @@ /obj/item/rack_parts name = "rack parts" desc = "Parts of a rack." - icon = 'icons/obj/items_and_weapons.dmi' icon_state = "rack_parts" flags_1 = CONDUCT_1 custom_materials = list(/datum/material/iron=2000) diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm index 1be5f857e15..c0604dd5e09 100644 --- a/code/game/objects/structures/tank_dispenser.dm +++ b/code/game/objects/structures/tank_dispenser.dm @@ -28,10 +28,10 @@ /obj/structure/tank_dispenser/update_overlays() . = ..() switch(oxygentanks) - if(1 to 3) + if(1 to 4) . += "oxygen-[oxygentanks]" - if(4 to TANK_DISPENSER_CAPACITY) - . += "oxygen-4" + if(5 to TANK_DISPENSER_CAPACITY) + . += "oxygen-5" switch(plasmatanks) if(1 to 4) . += "plasma-[plasmatanks]" diff --git a/code/game/objects/structures/traps.dm b/code/game/objects/structures/traps.dm index 4c6c3173cde..9649812f40f 100644 --- a/code/game/objects/structures/traps.dm +++ b/code/game/objects/structures/traps.dm @@ -116,7 +116,7 @@ /obj/structure/trap/chill/trap_effect(mob/living/L) to_chat(L, "You're frozen solid!") L.Paralyze(20) - L.adjust_bodytemperature(-300) + L.adjust_bodytemperature(-20) L.apply_status_effect(/datum/status_effect/freon) diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index c22858ea591..da3f85da379 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -214,11 +214,10 @@ exposed = !exposed return TRUE - /obj/item/reagent_containers/food/snacks/urinalcake name = "urinal cake" desc = "The noble urinal cake, protecting the people's pipes from the people's pee. Edibility is suggested to be low." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "urinalcake" w_class = WEIGHT_CLASS_TINY list_reagents = list(/datum/reagent/chlorine = 3, /datum/reagent/ammonia = 1) @@ -397,6 +396,49 @@ icon_state = "puddle" resistance_flags = UNACIDABLE +//***Oil well puddles. +/obj/structure/sink/oil_well + name = "oil well" + desc = "A bubbling pool of oil.This would probably be valuable, had bluespace technology not destroyed the need for fossil fuels 200 years ago." + icon = 'icons/obj/watercloset.dmi' + icon_state = "puddle-oil" + dispensedreagent = /datum/reagent/fuel/oil + +/obj/structure/sink/oil_well/Initialize() + .=..() + create_reagents(20) + reagents.add_reagent(dispensedreagent, 20) + +/obj/structure/sink/oil_well/attack_hand(mob/M) + flick("puddle-oil-splash",src) + reagents.expose(M, TOUCH, 20) //Covers target in 20u of oil. + to_chat(M, "You touch the pool of oil, only to get oil all over yourself. It would be wise to wash this off with water.") + +/obj/structure/sink/oil_well/attackby(obj/item/O, mob/user, params) + flick("puddle-oil-splash",src) + if(O.tool_behaviour == TOOL_SHOVEL && !(flags_1&NODECONSTRUCT_1)) //attempt to deconstruct the puddle with a shovel + to_chat(user, "You fill in the oil well with soil.") + O.play_tool_sound(src) + deconstruct() + return 1 + if(istype(O, /obj/item/reagent_containers)) //Refilling bottles with oil + var/obj/item/reagent_containers/RG = O + if(RG.is_refillable()) + if(!RG.reagents.holder_full()) + RG.reagents.add_reagent(dispensedreagent, min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) + to_chat(user, "You fill [RG] from [src].") + return TRUE + to_chat(user, "\The [RG] is full.") + return FALSE + if(user.a_intent != INTENT_HARM) + to_chat(user, "You won't have any luck getting \the [O] out if you drop it in the oil.") + return 1 + else + return ..() + +/obj/structure/sink/oil_well/drop_materials() + new /obj/effect/decal/cleanable/oil(loc) + //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/structure/sink/puddle/attack_hand(mob/M) icon_state = "puddle-splash" @@ -435,6 +477,13 @@ /// if it can be seen through when closed var/opaque_closed = FALSE +/obj/structure/curtain/ComponentInitialize() + . = ..() + AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE,CALLBACK(src, PROC_REF(can_be_rotated)),null) + +/obj/structure/curtain/proc/can_be_rotated(mob/user, rotation_type) + return !anchored + /obj/structure/curtain/proc/toggle() open = !open if(open) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 49c3823cf1c..308d5e120f7 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -27,11 +27,15 @@ var/real_explosion_block //ignore this, just use explosion_block var/breaksound = "shatter" var/hitsound = 'sound/effects/Glasshit.ogg' + var/decon_time = 3 SECONDS flags_ricochet = RICOCHET_HARD ricochet_chance_mod = 0.4 hitsound_type = PROJECTILE_HITSOUND_GLASS + /// If some inconsiderate jerk has had their blood spilled on this window, thus making it cleanable + var/bloodied = FALSE + /obj/structure/window/examine(mob/user) . = ..() if(flags_1 & NODECONSTRUCT_1) @@ -286,6 +290,15 @@ qdel(src) update_nearby_icons() +/obj/structure/window/deconstruct_act(mob/living/user, obj/item/I) + . = ..() + if(!I.tool_start_check(user, amount=0)) + return FALSE + if (I.use_tool(src, user, decon_time, volume=100)) + to_chat(user, span_warning("You shatter [src] with the [I].")) + deconstruct(FALSE) + return TRUE + /obj/structure/window/proc/spawnDebris(location) . = list() . += new /obj/item/shard(location) @@ -396,6 +409,7 @@ glass_type = /obj/item/stack/sheet/rglass rad_insulation = RAD_HEAVY_INSULATION ricochet_chance_mod = 0.8 + decon_time = 6 SECONDS //this is shitcode but all of construction is shitcode and needs a refactor, it works for now //If you find this like 4 years later and construction still hasn't been refactored, I'm so sorry for this @@ -405,7 +419,7 @@ switch(state) if(RWINDOW_SECURE) - if(I.tool_behaviour == TOOL_WELDER && user.a_intent == INTENT_HARM) + if((I.tool_behaviour == TOOL_WELDER) && user.a_intent == INTENT_HARM) user.visible_message("[user] holds \the [I] to the security screws on \the [src]...", "You begin heating the security screws on \the [src]...") if(I.use_tool(src, user, 150, volume = 100)) @@ -528,6 +542,7 @@ damage_deflection = 11 //WS Edit - Weakens R-Windows explosion_block = 2 glass_type = /obj/item/stack/sheet/plasmarglass + decon_time = 15 SECONDS //entirely copypasted code //take this out when construction is made a component or otherwise modularized in some way @@ -743,11 +758,21 @@ glass_type = /obj/item/stack/sheet/plastitaniumglass glass_amount = 2 rad_insulation = RAD_HEAVY_INSULATION + decon_time = 10 SECONDS /obj/structure/window/plasma/reinforced/plastitanium/unanchored anchored = FALSE state = WINDOW_OUT_OF_FRAME +/obj/structure/window/plasma/reinforced/plastitanium/spawnDebris(location) + . = list() + . += new /obj/item/shard/plastitanium(location) + . += new /obj/effect/decal/cleanable/glass/plastitanium(location) + if (reinf) + . += new /obj/item/stack/rods(location, (fulltile ? 2 : 1)) + if (fulltile) + . += new /obj/item/shard/plastitanium(location) + /obj/structure/window/paperframe name = "paper frame" desc = "A fragile separator made of thin wood and paper." diff --git a/code/game/say.dm b/code/game/say.dm index 2d53eea65e7..bfa9d35ac5b 100644 --- a/code/game/say.dm +++ b/code/game/say.dm @@ -9,14 +9,11 @@ GLOBAL_LIST_INIT(freqtospan, list( "[FREQ_INTEQ]" = "irmgradio", "[FREQ_PGF]" = "pgfradio", "[FREQ_PIRATE]" = "pirradio", - "[FREQ_COMMAND]" = "comradio", - "[FREQ_AI_PRIVATE]" = "aiprivradio", + "[FREQ_EMERGENCY]" = "emrgradio", "[FREQ_SYNDICATE]" = "syndradio", "[FREQ_CENTCOM]" = "centcomradio", - "[FREQ_SOLGOV]" = "solgovradio", //WS Edit - SolGov Rep - "[FREQ_WIDEBAND]" = "widebandradio", //WS Edit - Overmaps - "[FREQ_CTF_RED]" = "redteamradio", - "[FREQ_CTF_BLUE]" = "blueteamradio" + "[FREQ_SOLGOV]" = "solgovradio", + "[FREQ_WIDEBAND]" = "widebandradio", )) GLOBAL_LIST_INIT(freqcolor, list()) @@ -72,7 +69,7 @@ GLOBAL_LIST_INIT(freqcolor, list()) namepart = "[known_name]" else var/mob/living/carbon/human/human_narrator = reliable_narrator - namepart = "[human_narrator.get_generic_name(prefixed = TRUE, lowercase = FALSE)]" + namepart = "[human_narrator.get_generic_name(prefixed = TRUE, lowercase = TRUE)]" //End name span. var/endspanpart = "" diff --git a/code/game/turfs/closed/_closed.dm b/code/game/turfs/closed/_closed.dm index 2b7d93ae259..ea0c0d4ed4b 100644 --- a/code/game/turfs/closed/_closed.dm +++ b/code/game/turfs/closed/_closed.dm @@ -7,8 +7,88 @@ rad_insulation = RAD_MEDIUM_INSULATION pass_flags_self = PASSCLOSEDTURF + ///lower numbers are harder. Used to determine the probability of a hulk smashing through. + var/hardness = 40 + var/breakdown_duration = 20 //default time it takes for a tool to break the wall + + var/attack_hitsound = 'sound/weapons/smash.ogg' + var/break_sound = 'sound/items/welder.ogg' + hitsound_type = PROJECTILE_HITSOUND_METAL + + // The wall will ignore damage from weak items, depending on their + // force, damage type, tool behavior, and sharpness. This is the minimum + // amount of force that a blunt, brute item must have to damage the wall. + var/min_dam = 0 + var/max_integrity = 100 + var/integrity + var/brute_mod = 1 + var/burn_mod = 1 + // Projectiles that do extra damage to the wall + var/list/extra_dam_proj + + var/mob_smash_flags + var/proj_bonus_damage_flags + + var/mutable_appearance/damage_overlay + var/damage_visual = 'icons/effects/wall_damage.dmi' + var/overlay_layer = BULLET_HOLE_LAYER + + var/list/dent_decals + /turf/closed/Initialize(mapload, inherited_virtual_z) . = ..() + if(integrity == null) + integrity = max_integrity + +/turf/closed/copyTurf(turf/T, copy_air, flags) + . = ..() + var/turf/closed/wall_copy = T + if(LAZYLEN(dent_decals)) + wall_copy.dent_decals = dent_decals.Copy() + wall_copy.update_appearance() + +/turf/closed/update_overlays() + . = ..() + damage_overlay = null + var/adj_dam_pct = 1 - (integrity/(max_integrity)) + if(adj_dam_pct < 0) + adj_dam_pct = 0 + if(!damage_overlay) + damage_overlay = mutable_appearance(damage_visual, "cracks", overlay_layer) + damage_overlay.alpha = adj_dam_pct*255 + . += damage_overlay + for(var/decal in dent_decals) + . += decal + +/turf/closed/proc/add_dent(denttype, x=rand(-8, 8), y=rand(-8, 8)) + if(LAZYLEN(dent_decals) >= MAX_DENT_DECALS) + return + + var/mutable_appearance/decal = mutable_appearance('icons/effects/effects.dmi', "", BULLET_HOLE_LAYER) + switch(denttype) + if(WALL_DENT_SHOT) + decal.icon_state = "bullet_hole" + if(WALL_DENT_HIT) + decal.icon_state = "impact[rand(1, 3)]" + + decal.pixel_x = x + decal.pixel_y = y + LAZYADD(dent_decals, decal) + update_appearance() + +/turf/closed/examine(mob/user) + . = ..() + . += damage_hints(user) + +/turf/closed/proc/damage_hints(mob/user) + switch(integrity / max_integrity) + if(0.5 to 0.99) + return "[p_they(TRUE)] look[p_s()] slightly damaged." + if(0.25 to 0.5) + return "[p_they(TRUE)] appear[p_s()] heavily damaged." + if(0 to 0.25) + return "[p_theyre(TRUE)] falling apart!" + return /turf/closed/AfterChange() . = ..() @@ -17,269 +97,229 @@ /turf/closed/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) return FALSE -/turf/closed/indestructible - name = "wall" - desc = "Effectively impervious to conventional methods of destruction." - icon = 'icons/turf/walls.dmi' - explosion_block = 50 - -/turf/closed/indestructible/TerraformTurf(path, new_baseturf, flags, defer_change = FALSE, ignore_air = FALSE) - return - -/turf/closed/indestructible/acid_act(acidpwr, acid_volume, acid_id) - return 0 - -/turf/closed/indestructible/Melt() - to_be_destroyed = FALSE - return src - -/turf/closed/indestructible/singularity_act() - return - -/turf/closed/indestructible/sandstone - name = "sandstone wall" - desc = "A wall with sandstone plating. Rough." - icon = 'icons/turf/walls/sandstone_wall.dmi' - icon_state = "sandstone_wall-0" - base_icon_state = "sandstone_wall" - baseturfs = /turf/closed/indestructible/sandstone - smoothing_flags = SMOOTH_BITMASK - -/turf/closed/indestructible/splashscreen - name = "Space Station 13" - icon = 'icons/blank_title.png' - icon_state = "" - layer = SPLASHSCREEN_LAYER - plane = SPLASHSCREEN_PLANE - bullet_bounce_sound = null - -/turf/closed/indestructible/splashscreen/New() - SStitle.splash_turf = src - if(SStitle.icon) - icon = SStitle.icon - ..() - -/turf/closed/indestructible/splashscreen/vv_edit_var(var_name, var_value) +/// Damage Code + +// negative values reduce integrity, positive values increase integrity. +// Devastate forces a devestate, safe decon prevents it. +/turf/closed/proc/alter_integrity(damage, mob/user, devastate = FALSE, safe_decon = FALSE) + integrity += damage + if(integrity >= max_integrity) + integrity = max_integrity + if(integrity <= 0) + if(safe_decon) + dismantle_wall(FALSE, user) + return FALSE + // if damage put us 50 points or more below 0, and not safe decon we got proper demolished + if(integrity <= -50) + dismantle_wall(TRUE, user) + return FALSE + if(devastate) + dismantle_wall(TRUE, user) + return FALSE + dismantle_wall(FALSE,user) + return FALSE + integrity = min(integrity, max_integrity) + update_stats() + return integrity + +/turf/closed/proc/set_integrity(amount,devastate = FALSE, mob/user) + integrity = amount + update_stats() + if(integrity <= 0) + dismantle_wall(devastate, user) + +/turf/closed/proc/dismantle_wall(devastate = FALSE, mob/user) + for(var/obj/structure/sign/poster/P in src.contents) //Eject contents! + P.roll_and_drop(src) + + ScrapeAway() + +/turf/closed/proc/update_stats() + update_appearance() + +/turf/closed/bullet_act(obj/projectile/P) . = ..() - if(.) - switch(var_name) - if(NAMEOF(src, icon)) - SStitle.icon = icon - - -/turf/closed/indestructible/reinforced - name = "reinforced wall" - desc = "A huge chunk of reinforced metal used to separate rooms. Effectively impervious to conventional methods of destruction." - icon = 'icons/turf/walls/rwalls/reinforced_wall.dmi' - icon_state = "reinforced_wall-0" - base_icon_state = "reinforced_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_AIRLOCK) - canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_AIRLOCK) - -/turf/closed/indestructible/titanium - name = "wall" - desc = "A light-weight titanium wall used in shuttles. Effectively impervious to conventional methods of destruction." - icon = 'icons/turf/walls/shuttle_wall.dmi' - icon_state = "shuttle_wall-0" - base_icon_state = "shuttle_wall" - flags_ricochet = RICOCHET_SHINY | RICOCHET_HARD - smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_TITANIUM_WALLS) - canSmoothWith = list(SMOOTH_GROUP_TITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE) - -/turf/closed/indestructible/riveted - icon = 'icons/turf/walls/riveted.dmi' - icon_state = "riveted-0" - base_icon_state = "riveted" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS) - canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS) - -/turf/closed/indestructible/syndicate - icon = 'icons/turf/walls/plastitanium_wall.dmi' - icon_state = "plastitanium_wall-0" - base_icon_state = "plastitanium_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SYNDICATE_WALLS) - canSmoothWith = list(SMOOTH_GROUP_SYNDICATE_WALLS, SMOOTH_GROUP_PLASTITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS) - -/turf/closed/indestructible/riveted/uranium - icon = 'icons/turf/walls/uranium_wall.dmi' - icon_state = "uranium_wall-0" - base_icon_state = "uranium_wall" - smoothing_flags = SMOOTH_BITMASK - -/turf/closed/indestructible/riveted/plastinum - name = "plastinum wall" - desc = "A luxurious wall made out of a plasma-platinum alloy. Effectively impervious to conventional methods of destruction." - icon = 'icons/turf/walls/plastinum_wall.dmi' - icon_state = "plastinum_wall-0" - base_icon_state = "plastinum_wall" - smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS - -/turf/closed/indestructible/wood - icon = 'icons/turf/walls/wood_wall.dmi' - icon_state = "wood_wall-0" - base_icon_state = "wood_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_AIRLOCK) - canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_AIRLOCK) - - -/turf/closed/indestructible/alien - name = "alien wall" - desc = "A wall with alien alloy plating." - icon = 'icons/turf/walls/abductor_wall.dmi' - icon_state = "abductor_wall-0" - base_icon_state = "abductor_wall" - smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_ABDUCTOR_WALLS) - canSmoothWith = list(SMOOTH_GROUP_ABDUCTOR_WALLS) - - -/turf/closed/indestructible/cult - name = "runed metal wall" - desc = "A cold metal wall engraved with indecipherable symbols. Studying them causes your head to pound. Effectively impervious to conventional methods of destruction." - icon = 'icons/turf/walls/cult_wall.dmi' - icon_state = "cult_wall-0" - base_icon_state = "cult_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS) - canSmoothWith = list(SMOOTH_GROUP_WALLS) - - -/turf/closed/indestructible/abductor - icon_state = "alien1" - -/turf/closed/indestructible/opshuttle - icon_state = "wall3" - - -/turf/closed/indestructible/fakeglass - name = "window" - icon = 'icons/obj/smooth_structures/reinforced_window.dmi' - icon_state = "fake_window" - base_icon_state = "reinforced_window" - opacity = FALSE - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE) - canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE) - -/turf/closed/indestructible/fakeglass/Initialize(mapload, inherited_virtual_z) + var/dam = get_proj_damage(P) + var/shooter = P.firer + if(!dam) + return + if(P.suppressed != SUPPRESSED_VERY) + visible_message("[src] is hit by \a [P]!", null, null, COMBAT_MESSAGE_RANGE) + if(!QDELETED(src)) + add_dent(WALL_DENT_SHOT) + alter_integrity(-dam, shooter) + +/turf/closed/proc/get_item_damage(obj/item/I, t_min = min_dam) + var/dam = I.force + if(istype(I, /obj/item/clothing/gloves/gauntlets)) + dam = 20 + else if(I.tool_behaviour == TOOL_MINING) + dam *= (4/3) + else + switch(I.damtype) + if(BRUTE) + if(I.get_sharpness()) + dam *= 2/3 + if(BURN) + dam *= burn_mod + else + return 0 + // if dam is below t_min, then the hit has no effect + return (dam < t_min ? 0 : dam) + +/turf/closed/proc/get_proj_damage(obj/projectile/P, t_min = min_dam) + var/dam = P.damage + if(proj_bonus_damage_flags & P.wall_damage_flags) + dam = P.wall_damage_override + else + switch(P.damage_type) + if(BRUTE) + dam *= brute_mod + if(BURN) + dam *= burn_mod + else + return 0 + // if dam is below t_min, then the hit has no effect + return (dam < t_min ? 0 : dam) + +/turf/closed/ex_act(severity, target) + if(target == src || !density) + return ..() + switch(severity) + if(EXPLODE_DEVASTATE) + // SN src = null + var/turf/NT = ScrapeAway() + NT.contents_explosion(severity, target) + return + if(EXPLODE_HEAVY) + alter_integrity(rand(-500, -800)) + if(EXPLODE_LIGHT) + alter_integrity(rand(-200, -700)) + +/turf/closed/attack_paw(mob/living/user) + user.changeNext_move(CLICK_CD_MELEE) + return attack_hand(user) + +/turf/closed/attack_hand(mob/user) . = ..() - underlays += mutable_appearance('icons/obj/structures.dmi', "grille") //add a grille underlay - underlays += mutable_appearance('icons/turf/floors.dmi', "plating") //add the plating underlay, below the grille + if(.) + return + user.changeNext_move(CLICK_CD_MELEE) + to_chat(user, "You push \the [src] but nothing happens!") + playsound(src, 'sound/weapons/genhit.ogg', 25, TRUE) + add_fingerprint(user) + +/turf/closed/attackby(obj/item/W, mob/user, params) + user.changeNext_move(CLICK_CD_MELEE) + if (!user.IsAdvancedToolUser()) + to_chat(user, "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 + + add_fingerprint(user) + + var/turf/T = user.loc //get user's location for delay checks + + attack_override(W,user,T) + return ..() + +/turf/closed/proc/attack_override(obj/item/W, mob/user, turf/loc) + if(!isclosedturf(src)) + return + //the istype cascade has been spread among various procs for easy overriding or if we want to call something specific + if(try_decon(W, user, loc) || try_destroy(W, user, loc)) + return + +// catch-all for using most items on the closed turf -- attempt to smash +/turf/closed/proc/try_destroy(obj/item/W, mob/user, turf/T) + var/dam = get_item_damage(W) + user.do_attack_animation(src) + if(!dam) + to_chat(user, "[W] isn't strong enough to damage [src]!") + playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) + return TRUE + log_combat(user, src, "attacked", W) + user.visible_message("[user] hits [src] with [W]!", \ + "You hit [src] with [W]!", null, COMBAT_MESSAGE_RANGE) + switch(W.damtype) + if(BRUTE) + playsound(src,attack_hitsound, 100, TRUE) + if(BURN) + playsound(src, 'sound/items/welder.ogg', 100, TRUE) + add_dent(WALL_DENT_HIT) + alter_integrity(-dam, user) + return TRUE +/turf/closed/proc/try_decon(obj/item/I, mob/user, turf/T) + var/act_duration = breakdown_duration + if(I.tool_behaviour == TOOL_WELDER) + if(!I.tool_start_check(user, amount=0)) + return FALSE + to_chat(user, "You begin slicing through the outer plating...") + while(I.use_tool(src, user, act_duration, volume=50)) + if(iswallturf(src)) + to_chat(user, "You slice through some of the outer plating...") + if(!alter_integrity(-(I.wall_decon_damage),user,FALSE,TRUE)) + return TRUE + else + break -/turf/closed/indestructible/opsglass - name = "window" - icon = 'icons/obj/smooth_structures/plastitanium_window.dmi' - icon_state = "plastitanium_window-0" - base_icon_state = "plastitanium_window" - opacity = FALSE - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM) - canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM) + return FALSE -/turf/closed/indestructible/opsglass/Initialize() - . = ..() - icon_state = null - underlays += mutable_appearance('icons/obj/structures.dmi', "grille") - underlays += mutable_appearance('icons/turf/floors.dmi', "plating") - -/turf/closed/indestructible/fakedoor - name = "CentCom Access" - icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi' - icon_state = "fakedoor" - -/turf/closed/indestructible/rock - name = "dense rock" - desc = "An extremely densely-packed rock, most mining tools or explosives would never get through this." - icon = 'icons/turf/walls/rock_wall.dmi' - icon_state = "rock_wall-0" - base_icon_state = "rock_wall" - smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER | SMOOTH_CONNECTORS - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MINERAL_WALLS) - canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS) - no_connector_typecache = list(/turf/closed/mineral, /turf/closed/indestructible/rock) - connector_icon = 'icons/turf/connectors/smoothrocks_connector.dmi' - connector_icon_state = "smoothrocks_connector" - pixel_x = -4 - pixel_y = -4 - -/turf/closed/indestructible/rock/snow - name = "mountainside" - desc = "Extremely densely-packed sheets of ice and rock, forged over the years of the harsh cold." - icon = 'icons/turf/walls/icerock_wall.dmi' - icon_state = "icerock_wall-0" - base_icon_state = "icerock_wall" - smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MINERAL_WALLS) - canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS) - pixel_x = -4 - pixel_y = -4 - bullet_sizzle = TRUE - bullet_bounce_sound = null - -/turf/closed/indestructible/rock/schist - name = "schist" - desc = "Extremely densely-packed layers of schist. Say it ten times fast." - icon = 'icons/turf/walls/rockwall_icemoon.dmi' - icon_state = "rockwall_icemoon-0" - base_icon_state = "rockwall_icemoon" - -/turf/closed/indestructible/paper - name = "thick paper wall" - desc = "A wall layered with impenetrable sheets of paper." - icon = 'icons/turf/walls.dmi' - icon_state = "paperwall" - -/turf/closed/indestructible/necropolis - name = "necropolis wall" - desc = "A seemingly impenetrable wall." - icon = 'icons/turf/walls.dmi' - icon_state = "necro" - explosion_block = 50 - baseturfs = /turf/closed/indestructible/necropolis - -/turf/closed/indestructible/necropolis/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) - underlay_appearance.icon = 'icons/turf/floors.dmi' - underlay_appearance.icon_state = "necro1" - return TRUE +/turf/closed/deconstruct_act(mob/living/user, obj/item/I) + var/act_duration = breakdown_duration + if(!I.tool_start_check(user, amount=0)) + return FALSE + to_chat(user, "You begin slicing through the outer plating...") + while(I.use_tool(src, user, act_duration, volume=100)) + if(iswallturf(src)) + to_chat(user, "You slice through some of the outer plating...") + if(!alter_integrity(-(I.wall_decon_damage),user,FALSE,TRUE)) + return TRUE + else + break -/turf/closed/indestructible/riveted/boss - name = "thick stone wall" - desc = "A thick, seemingly indestructible stone wall." - icon = 'icons/turf/walls/boss_wall.dmi' - icon_state = "boss_wall-0" - base_icon_state = "boss_wall" - smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_BOSS_WALLS) - canSmoothWith = list(SMOOTH_GROUP_BOSS_WALLS) - explosion_block = 50 - baseturfs = /turf/closed/indestructible/riveted/boss - -/turf/closed/indestructible/riveted/boss/see_through - opacity = FALSE - -/turf/closed/indestructible/riveted/boss/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) - underlay_appearance.icon = 'icons/turf/floors.dmi' - underlay_appearance.icon_state = "basalt" + return FALSE + +/turf/closed/mech_melee_attack(obj/mecha/M) + M.do_attack_animation(src) + switch(M.damtype) + if(BRUTE) + playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE) + if(BURN) + playsound(src, 'sound/items/welder.ogg', 100, TRUE) + if(TOX) + playsound(src, 'sound/effects/spray2.ogg', 100, TRUE) + + + if(prob(hardness + M.force) && M.force > 20) + M.visible_message("[M.name] hits [src] with great force!", \ + "You hit [src] with incredible force!", null, COMBAT_MESSAGE_RANGE) + dismantle_wall(TRUE) + playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) + else + M.visible_message("[M.name] hits [src]!", \ + "You hit [src]!", null, COMBAT_MESSAGE_RANGE) + alter_integrity(M.force * 20) + +/turf/closed/attack_hulk(mob/living/carbon/user) + ..() + var/obj/item/bodypart/arm = user.hand_bodyparts[user.active_hand_index] + if(!arm || arm.bodypart_disabled) + return + alter_integrity(-250,user) + user.visible_message("[user] smashes \the [src]!", \ + "You smash \the [src]!", \ + "You hear a booming smash!") return TRUE -/turf/closed/indestructible/riveted/hierophant - name = "wall" - desc = "A wall made out of a strange metal. The squares on it pulse in a predictable pattern." - icon = 'icons/turf/walls/hierophant_wall.dmi' - icon_state = "wall" - smoothing_flags = SMOOTH_CORNERS - smoothing_groups = list(SMOOTH_GROUP_HIERO_WALL) - canSmoothWith = list(SMOOTH_GROUP_HIERO_WALL) - -/turf/closed/indestructible/blank - name = "space" - desc = "It's the end of the world every day, for someone." - icon = 'icons/turf/space.dmi' - icon_state = "black" - explosion_block = 1000 // fuck it, let's go higher +/turf/closed/attack_animal(mob/living/simple_animal/M) + M.changeNext_move(CLICK_CD_MELEE) + M.do_attack_animation(src) + if((M.environment_smash & mob_smash_flags)) + playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) + alter_integrity(-400) + return diff --git a/code/game/turfs/closed/indestructible.dm b/code/game/turfs/closed/indestructible.dm new file mode 100644 index 00000000000..9d186868cf5 --- /dev/null +++ b/code/game/turfs/closed/indestructible.dm @@ -0,0 +1,314 @@ +/turf/closed/indestructible + name = "wall" + desc = "Effectively impervious to conventional methods of destruction." + icon = 'icons/turf/walls.dmi' + explosion_block = 50 + max_integrity = 10000000 + +/turf/closed/indestructible/TerraformTurf(path, new_baseturf, flags, defer_change = FALSE, ignore_air = FALSE) + return + +/turf/closed/indestructible/acid_act(acidpwr, acid_volume, acid_id) + return 0 + +/turf/closed/indestructible/ex_act(severity, target) + return + +/turf/closed/indestructible/alter_integrity(damage, mob/user, devastate, safe_decon) + return FALSE + +/turf/closed/indestructible/set_integrity(amount, devastate, mob/user) + return + +/turf/closed/indestructible/dismantle_wall(devastate, mob/user) + return + +/turf/closed/indestructible/try_decon(obj/item/I, mob/user, turf/T) + return FALSE + +/turf/closed/indestructible/try_destroy(obj/item/W, mob/user, turf/T) + user.do_attack_animation(src) + to_chat(user, "[W] isn't strong enough to damage [src]!") + playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) + return TRUE + +/turf/closed/indestructible/mech_melee_attack(obj/mecha/M) + M.do_attack_animation(src) + switch(M.damtype) + if(BRUTE) + playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE) + if(BURN) + playsound(src, 'sound/items/welder.ogg', 100, TRUE) + if(TOX) + playsound(src, 'sound/effects/spray2.ogg', 100, TRUE) + M.visible_message("[M.name] hits [src] and doesn't even leave a mark!", \ + "You hit [src] and fail to damage it.", null, COMBAT_MESSAGE_RANGE) + +/turf/closed/indestructible/attack_hulk(mob/living/carbon/user) + return FALSE + +/turf/closed/indestructible/attack_animal(mob/living/simple_animal/M) + M.changeNext_move(CLICK_CD_MELEE) + M.do_attack_animation(src) + return + +/turf/closed/indestructible/Melt() + to_be_destroyed = FALSE + return src + +/turf/closed/indestructible/singularity_act() + return + +/turf/closed/indestructible/sandstone + name = "sandstone wall" + desc = "A wall with sandstone plating. Rough." + icon = 'icons/turf/walls/sandstone_wall.dmi' + icon_state = "sandstone_wall-0" + base_icon_state = "sandstone_wall" + baseturfs = /turf/closed/indestructible/sandstone + smoothing_flags = SMOOTH_BITMASK + +/turf/closed/indestructible/splashscreen + name = "Space Station 13" + icon = 'icons/blank_title.png' + icon_state = "" + layer = SPLASHSCREEN_LAYER + plane = SPLASHSCREEN_PLANE + bullet_bounce_sound = null + +/turf/closed/indestructible/splashscreen/New() + SStitle.splash_turf = src + if(SStitle.icon) + icon = SStitle.icon + ..() + +/turf/closed/indestructible/splashscreen/vv_edit_var(var_name, var_value) + . = ..() + if(.) + switch(var_name) + if(NAMEOF(src, icon)) + SStitle.icon = icon + + +/turf/closed/indestructible/reinforced + name = "reinforced wall" + desc = "A huge chunk of reinforced metal used to separate rooms. Effectively impervious to conventional methods of destruction." + icon = 'icons/turf/walls/rwalls/reinforced_wall.dmi' + icon_state = "reinforced_wall-0" + base_icon_state = "reinforced_wall" + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_AIRLOCK) + canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_AIRLOCK) + +/turf/closed/indestructible/titanium + name = "wall" + desc = "A light-weight titanium wall used in shuttles. Effectively impervious to conventional methods of destruction." + icon = 'icons/turf/walls/shuttle_wall.dmi' + icon_state = "shuttle_wall-0" + base_icon_state = "shuttle_wall" + flags_ricochet = RICOCHET_SHINY | RICOCHET_HARD + smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_TITANIUM_WALLS) + canSmoothWith = list(SMOOTH_GROUP_TITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE) + +/turf/closed/indestructible/titanium/nodiagnonal + icon = 'icons/turf/walls/shuttle_wall.dmi' + icon_state = "map-shuttle_nd" + base_icon_state = "shuttle_wall" + smoothing_flags = SMOOTH_BITMASK + +/turf/closed/indestructible/riveted + icon = 'icons/turf/walls/riveted.dmi' + icon_state = "riveted-0" + base_icon_state = "riveted" + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS) + canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS) + +/turf/closed/indestructible/syndicate + icon = 'icons/turf/walls/plastitanium_wall.dmi' + icon_state = "plastitanium_wall-0" + base_icon_state = "plastitanium_wall" + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SYNDICATE_WALLS) + canSmoothWith = list(SMOOTH_GROUP_SYNDICATE_WALLS, SMOOTH_GROUP_PLASTITANIUM_WALLS, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS) + +/turf/closed/indestructible/riveted/uranium + icon = 'icons/turf/walls/uranium_wall.dmi' + icon_state = "uranium_wall-0" + base_icon_state = "uranium_wall" + smoothing_flags = SMOOTH_BITMASK + +/turf/closed/indestructible/riveted/plastinum + name = "plastinum wall" + desc = "A luxurious wall made out of a plasma-platinum alloy. Effectively impervious to conventional methods of destruction." + icon = 'icons/turf/walls/plastinum_wall.dmi' + icon_state = "plastinum_wall-0" + base_icon_state = "plastinum_wall" + smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS + +/turf/closed/indestructible/wood + icon = 'icons/turf/walls/wood_wall.dmi' + icon_state = "wood_wall-0" + base_icon_state = "wood_wall" + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_AIRLOCK) + canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_AIRLOCK) + + +/turf/closed/indestructible/alien + name = "alien wall" + desc = "A wall with alien alloy plating." + icon = 'icons/turf/walls/abductor_wall.dmi' + icon_state = "abductor_wall-0" + base_icon_state = "abductor_wall" + smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_ABDUCTOR_WALLS) + canSmoothWith = list(SMOOTH_GROUP_ABDUCTOR_WALLS) + + +/turf/closed/indestructible/cult + name = "runed metal wall" + desc = "A cold metal wall engraved with indecipherable symbols. Studying them causes your head to pound. Effectively impervious to conventional methods of destruction." + icon = 'icons/turf/walls/cult_wall.dmi' + icon_state = "cult_wall-0" + base_icon_state = "cult_wall" + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS) + canSmoothWith = list(SMOOTH_GROUP_WALLS) + + +/turf/closed/indestructible/abductor + icon_state = "alien1" + +/turf/closed/indestructible/opshuttle + icon_state = "wall3" + + +/turf/closed/indestructible/fakeglass + name = "window" + icon = 'icons/obj/smooth_structures/reinforced_window.dmi' + icon_state = "fake_window" + base_icon_state = "reinforced_window" + opacity = FALSE + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_WINDOW_FULLTILE) + canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE) + +/turf/closed/indestructible/fakeglass/Initialize(mapload, inherited_virtual_z) + . = ..() + underlays += mutable_appearance('icons/obj/structures.dmi', "grille") //add a grille underlay + underlays += mutable_appearance('icons/turf/floors.dmi', "plating") //add the plating underlay, below the grille + + +/turf/closed/indestructible/opsglass + name = "window" + icon = 'icons/obj/smooth_structures/plastitanium_window.dmi' + icon_state = "plastitanium_window-0" + base_icon_state = "plastitanium_window" + opacity = FALSE + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM) + canSmoothWith = list(SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM) + +/turf/closed/indestructible/opsglass/Initialize() + . = ..() + icon_state = null + underlays += mutable_appearance('icons/obj/structures.dmi', "grille") + underlays += mutable_appearance('icons/turf/floors.dmi', "plating") + +/turf/closed/indestructible/fakedoor + name = "CentCom Access" + icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi' + icon_state = "fakedoor" + +/turf/closed/indestructible/rock + name = "dense rock" + desc = "An extremely densely-packed rock, most mining tools or explosives would never get through this." + icon = 'icons/turf/walls/rock_wall.dmi' + icon_state = "rock_wall-0" + base_icon_state = "rock_wall" + smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER | SMOOTH_CONNECTORS + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MINERAL_WALLS) + canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS) + no_connector_typecache = list(/turf/closed/mineral, /turf/closed/indestructible/rock) + connector_icon = 'icons/turf/connectors/smoothrocks_connector.dmi' + connector_icon_state = "smoothrocks_connector" + pixel_x = -4 + pixel_y = -4 + +/turf/closed/indestructible/rock/snow + name = "mountainside" + desc = "Extremely densely-packed sheets of ice and rock, forged over the years of the harsh cold." + icon = 'icons/turf/walls/icerock_wall.dmi' + icon_state = "icerock_wall-0" + base_icon_state = "icerock_wall" + smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MINERAL_WALLS) + canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS) + pixel_x = -4 + pixel_y = -4 + bullet_sizzle = TRUE + bullet_bounce_sound = null + +/turf/closed/indestructible/rock/schist + name = "schist" + desc = "Extremely densely-packed layers of schist. Say it ten times fast." + icon = 'icons/turf/walls/rockwall_icemoon.dmi' + icon_state = "rockwall_icemoon-0" + base_icon_state = "rockwall_icemoon" + +/turf/closed/indestructible/paper + name = "thick paper wall" + desc = "A wall layered with impenetrable sheets of paper." + icon = 'icons/turf/walls.dmi' + icon_state = "paperwall" + +/turf/closed/indestructible/necropolis + name = "necropolis wall" + desc = "A seemingly impenetrable wall." + icon = 'icons/turf/walls.dmi' + icon_state = "necro" + explosion_block = 50 + baseturfs = /turf/closed/indestructible/necropolis + +/turf/closed/indestructible/necropolis/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/floors.dmi' + underlay_appearance.icon_state = "necro1" + return TRUE + +/turf/closed/indestructible/riveted/boss + name = "thick stone wall" + desc = "A thick, seemingly indestructible stone wall." + icon = 'icons/turf/walls/boss_wall.dmi' + icon_state = "boss_wall-0" + base_icon_state = "boss_wall" + smoothing_flags = SMOOTH_BITMASK + smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_BOSS_WALLS) + canSmoothWith = list(SMOOTH_GROUP_BOSS_WALLS) + explosion_block = 50 + baseturfs = /turf/closed/indestructible/riveted/boss + +/turf/closed/indestructible/riveted/boss/see_through + opacity = FALSE + +/turf/closed/indestructible/riveted/boss/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) + underlay_appearance.icon = 'icons/turf/floors.dmi' + underlay_appearance.icon_state = "basalt" + return TRUE + +/turf/closed/indestructible/riveted/hierophant + name = "wall" + desc = "A wall made out of a strange metal. The squares on it pulse in a predictable pattern." + icon = 'icons/turf/walls/hierophant_wall.dmi' + icon_state = "wall" + smoothing_flags = SMOOTH_CORNERS + smoothing_groups = list(SMOOTH_GROUP_HIERO_WALL) + canSmoothWith = list(SMOOTH_GROUP_HIERO_WALL) + +/turf/closed/indestructible/blank + name = "space" + desc = "It's the end of the world every day, for someone." + icon = 'icons/turf/space.dmi' + icon_state = "black" + explosion_block = 1000 // fuck it, let's go higher diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index 33fcf315fc5..1d602049084 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -30,8 +30,20 @@ var/x_offset = -4 var/y_offset = -4 + attack_hitsound = 'sound/effects/break_stone.ogg' + break_sound = 'sound/effects/break_stone.ogg' hitsound_type = PROJECTILE_HITSOUND_STONE + min_dam = 5 + max_integrity = MINERAL_WALL_INTEGRITY + brute_mod = 1 + burn_mod = 1 + + mob_smash_flags = ENVIRONMENT_SMASH_MINERALS + proj_bonus_damage_flags = PROJECTILE_BONUS_DAMAGE_MINERALS + + overlay_layer = ON_EDGED_TURF_LAYER + /turf/closed/mineral/Initialize(mapload, inherited_virtual_z) . = ..() if(has_borders) @@ -66,33 +78,43 @@ return TRUE return ..() - -/turf/closed/mineral/attackby(obj/item/I, mob/user, params) - if (!user.IsAdvancedToolUser()) - to_chat(usr, "You don't have the dexterity to do this!") - return - +/turf/closed/mineral/try_decon(obj/item/I, mob/user, turf/T) + var/act_duration = breakdown_duration if(I.tool_behaviour == TOOL_MINING) - var/turf/T = user.loc - if (!isturf(T)) - return - - if(last_act + (40 * I.toolspeed) > world.time)//prevents message spam - return - last_act = world.time - balloon_alert(user, "digging...") + if(!I.tool_start_check(user, amount=0)) + return FALSE - if(I.use_tool(src, user, 40, volume=50)) + to_chat(user, "You begin breaking through the rock...") + while(I.use_tool(src, user, act_duration, volume=50)) if(ismineralturf(src)) - gets_drilled(user, TRUE) + to_chat(user, "You break through some of the stone...") SSblackbox.record_feedback("tally", "pick_used_mining", 1, I.type) + if(!alter_integrity(-(I.wall_decon_damage),user,FALSE,TRUE)) + return TRUE + else + break + + return FALSE + +/turf/closed/mineral/dismantle_wall(devastate = FALSE,mob/user) + var/slagged = 0 + if(devastate == TRUE) + slagged = 100 + if(ismineralturf(src)) + gets_drilled(user, TRUE, slagged) else - return attack_hand(user) + return FALSE -/turf/closed/mineral/proc/gets_drilled(user, give_exp = FALSE) +/turf/closed/mineral/proc/gets_drilled(user, give_exp = FALSE, slag_chance = 0) if (mineralType && (mineralAmt > 0)) - new mineralType(src, mineralAmt) - SSblackbox.record_feedback("tally", "ore_mined", mineralAmt, mineralType) + //oops, you ruined the ore + if(prob(slag_chance)) + new /obj/item/stack/ore/slag(src,mineralAmt) + visible_message(span_warning("The ore was completely ruined!")) + else + new mineralType(src, mineralAmt) + if(ishuman(user)) + SSblackbox.record_feedback("tally", "ore_mined", mineralAmt, mineralType) if(ishuman(user)) var/mob/living/carbon/human/H = user if(give_exp) @@ -106,14 +128,19 @@ var/flags = NONE if(defer_change) // TODO: make the defer change var a var for any changeturf flag flags = CHANGETURF_DEFER_CHANGE + playsound(src, break_sound, 50, TRUE) //beautiful destruction ScrapeAway(null, flags) addtimer(CALLBACK(src, PROC_REF(AfterChange)), 1, TIMER_UNIQUE) - playsound(src, 'sound/effects/break_stone.ogg', 50, TRUE) //beautiful destruction + /turf/closed/mineral/attack_animal(mob/living/simple_animal/user) - if((user.environment_smash & ENVIRONMENT_SMASH_WALLS) || (user.environment_smash & ENVIRONMENT_SMASH_RWALLS) || (user.environment_smash & ENVIRONMENT_SMASH_MINERALS)) - gets_drilled(user) - ..() + if((!(user.environment_smash & ENVIRONMENT_SMASH_WALLS) || (user.environment_smash & ENVIRONMENT_SMASH_RWALLS) || (user.environment_smash & ENVIRONMENT_SMASH_MINERALS))) + return ..() + + //This scrapes us away and turns us into a floor, so don't call parent. + user.changeNext_move(CLICK_CD_MELEE) + user.do_attack_animation(src) + gets_drilled(user) /turf/closed/mineral/attack_alien(mob/living/carbon/alien/M) balloon_alert(M, "digging...") @@ -128,7 +155,10 @@ var/mob/living/carbon/human/H = AM var/obj/item/I = H.is_holding_tool_quality(TOOL_MINING) if(I) - attackby(I, H) + if(last_act + (40 * I.toolspeed) > world.time)//prevents message spam + return + last_act = world.time + try_decon(I, H) return else if(iscyborg(AM)) var/mob/living/silicon/robot/R = AM @@ -142,7 +172,6 @@ ScrapeAway() /turf/closed/mineral/ex_act(severity, target) - ..() switch(severity) if(3) if (prob(75)) @@ -152,7 +181,7 @@ gets_drilled(null, FALSE) if(1) gets_drilled(null, FALSE) - return + return ..() /turf/closed/mineral/random var/list/mineralSpawnChanceList = list(/obj/item/stack/ore/uranium = 3, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 4, @@ -172,7 +201,7 @@ . = ..() if (prob(mineralChance)) - var/path = pickweight(mineralSpawnChanceList) + var/path = pick_weight(mineralSpawnChanceList) if(ispath(path, /turf)) var/turf/T = ChangeTurf(path,null,CHANGETURF_IGNORE_AIR) @@ -648,7 +677,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -658,7 +687,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -668,7 +697,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -678,7 +707,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -688,7 +717,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -698,7 +727,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -714,7 +743,7 @@ mineralSpawnChanceList = list(/obj/item/stack/ore/uranium = 5, /obj/item/stack/ore/diamond = 3, /obj/item/stack/ore/gold = 10, /obj/item/stack/ore/silver = 10, /obj/item/stack/ore/plasma = 15, /obj/item/stack/ore/iron = 45, /obj/item/stack/ore/titanium = 11, /turf/closed/mineral/gibtonite/whitesands = 4, /turf/open/floor/plating/asteroid/whitesands = 2, /obj/item/stack/ore/bluespace_crystal = 4) - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -725,7 +754,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -735,7 +764,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -745,7 +774,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE diff --git a/code/game/turfs/closed/wall/conc_walls.dm b/code/game/turfs/closed/wall/conc_walls.dm index 6f0487ff39b..aa5845b1144 100644 --- a/code/game/turfs/closed/wall/conc_walls.dm +++ b/code/game/turfs/closed/wall/conc_walls.dm @@ -11,34 +11,26 @@ hardness = 30 // doesn't matter much; everything that uses it gets overridden explosion_block = 3 break_sound = 'sound/effects/break_stone.ogg' + attack_hitsound = 'sound/effects/hit_stone.ogg' + hitsound_type = PROJECTILE_HITSOUND_STONE sheet_type = null girder_type = /obj/structure/grille - // The wall will ignore damage from weak items, depending on their - // force, damage type, tool behavior, and sharpness. This is the minimum - // amount of force that a blunt, brute item must have to damage the wall. - var/min_dam = 8 - // This should all be handled by integrity should that ever be expanded to walls. - var/max_health = 650 - var/health - // used to give mining projectiles a bit of an edge against conc walls - var/static/list/extra_dam_proj = typecacheof(list( - /obj/projectile/kinetic, - /obj/projectile/destabilizer, - /obj/projectile/plasma - )) - var/time_to_harden = 30 SECONDS // fraction ranging from 0 to 1 -- 0 is fully soft, 1 is fully hardened // don't change this in subtypes unless you want them to spawn in soft on maps var/harden_lvl = 1 - var/mutable_appearance/crack_overlay + burn_mod = 0.66 + repair_amount = 0 + //mining projectiles do extra damage + extra_dam_proj = list( + /obj/projectile/kinetic, + /obj/projectile/destabilizer, + /obj/projectile/plasma) /turf/closed/wall/concrete/Initialize(mapload, ...) . = ..() - if(health == null) - health = max_health check_harden() update_stats() @@ -46,9 +38,9 @@ . = ..() // by this point it's guaranteed to be a concrete wall var/turf/closed/wall/concrete/conc_wall = T - if(conc_wall.health != health || conc_wall.harden_lvl != harden_lvl) + if(conc_wall.integrity != integrity || conc_wall.harden_lvl != harden_lvl) conc_wall.harden_lvl = harden_lvl - conc_wall.health = health + conc_wall.integrity = integrity // very much not a fan of all the repetition here, // but there's unfortunately no easy way around it conc_wall.check_harden() @@ -68,17 +60,7 @@ add_filter("harden", 1, color_matrix_filter(col_filter, FILTER_COLOR_RGB)) return -/turf/closed/wall/concrete/update_overlays() - . = ..() - var/adj_dam_pct = 1 - (health/(max_health*0.7)) - if(adj_dam_pct <= 0) - return - if(!crack_overlay) - crack_overlay = mutable_appearance('icons/effects/concrete_damage.dmi', "cracks", BULLET_HOLE_LAYER) - crack_overlay.alpha = adj_dam_pct*255 - . += crack_overlay - -// we use this to show health + drying percentage +// we use this to show integrity + drying percentage /turf/closed/wall/concrete/deconstruction_hints(mob/user) . = list() . += "[p_they(TRUE)] look[p_s()] like you could smash [p_them()]." @@ -89,19 +71,12 @@ . += "[p_they(TRUE)] look[p_s()] a little wet." if(0 to 0.4) . += "[p_they(TRUE)] look[p_s()] freshly poured." - switch(health / max_health) - if(0.5 to 0.99) - . += "[p_they(TRUE)] look[p_s()] slightly damaged." - if(0.25 to 0.5) - . += "[p_they(TRUE)] appear[p_s()] heavily damaged." - if(0 to 0.25) - . += "[p_theyre(TRUE)] falling apart!" return /turf/closed/wall/concrete/create_girder() var/obj/girder = ..() - if(health < 0) - girder.take_damage(min(abs(health), 50)) + if(integrity < 0) + girder.take_damage(min(abs(integrity), 50)) return girder /turf/closed/wall/concrete/proc/check_harden() @@ -115,66 +90,16 @@ STOP_PROCESSING(SSobj, src) update_stats() -/turf/closed/wall/concrete/proc/update_stats() +/turf/closed/wall/concrete/update_stats() + .= .. () // explosion block is diminished on a damaged / soft wall - explosion_block = (health / max_health) * harden_lvl * initial(explosion_block) - update_appearance() + explosion_block = (integrity / max_integrity) * harden_lvl * initial(explosion_block) -/turf/closed/wall/concrete/proc/alter_health(delta) +/turf/closed/wall/concrete/alter_integrity(damage) // 8x as vulnerable when unhardened - if(delta < 0) - delta *= 1 + 7*(1-harden_lvl) - health += delta - if(health <= 0) - // if damage put us 50 points or more below 0, we got proper demolished - dismantle_wall(health <= -50 ? TRUE : FALSE) - return FALSE - health = min(health, max_health) - update_stats() - return health - -/turf/closed/wall/concrete/ex_act(severity, target) - if(target == src || !density) - return ..() - switch(severity) - if(EXPLODE_DEVASTATE) - alter_health(-2000) - if(EXPLODE_HEAVY) - alter_health(rand(-500, -800)) - if(EXPLODE_LIGHT) - alter_health(rand(-200, -700)) - -/turf/closed/wall/concrete/bullet_act(obj/projectile/P) - . = ..() - var/dam = get_proj_damage(P) - if(!dam) - return - if(P.suppressed != SUPPRESSED_VERY) - visible_message("[src] is hit by \a [P]!", null, null, COMBAT_MESSAGE_RANGE) - if(!QDELETED(src)) - alter_health(-dam) - -/turf/closed/wall/concrete/attack_animal(mob/living/simple_animal/M) - M.changeNext_move(CLICK_CD_MELEE) - M.do_attack_animation(src) - if((M.environment_smash & ENVIRONMENT_SMASH_WALLS) || (M.environment_smash & ENVIRONMENT_SMASH_RWALLS)) - playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) - alter_health(-400) - return - -/turf/closed/wall/concrete/attack_hulk(mob/living/carbon/user) - SEND_SIGNAL(src, COMSIG_ATOM_HULK_ATTACK, user) - log_combat(user, src, "attacked") - var/obj/item/bodypart/arm = user.hand_bodyparts[user.active_hand_index] - if(!arm || arm.bodypart_disabled) - return FALSE - playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) - user.visible_message("[user] smashes \the [src]!", \ - "You smash \the [src]!", \ - "You hear a booming smash!") - user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk") - alter_health(-250) - return TRUE + if(damage < 0) + damage *= 1 + 7*(1-harden_lvl) + .= ..() /turf/closed/wall/concrete/mech_melee_attack(obj/mecha/M) M.do_attack_animation(src) @@ -184,7 +109,7 @@ "You hit [src]!", null, COMBAT_MESSAGE_RANGE) playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE) playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) - alter_health(M.force * -20) + alter_integrity(M.force * -20) if(BURN) playsound(src, 'sound/items/welder.ogg', 100, TRUE) if(TOX) @@ -198,60 +123,14 @@ /turf/closed/wall/concrete/try_decon(obj/item/W, mob/user, turf/T) return null -// catch-all for using most items on the wall -- attempt to smash -/turf/closed/wall/concrete/try_destroy(obj/item/W, mob/user, turf/T) - var/dam = get_item_damage(W) - user.do_attack_animation(src) - if(!dam) - to_chat(user, "[W] isn't strong enough to damage [src]!") - playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) - return TRUE - log_combat(user, src, "attacked", W) - user.visible_message("[user] hits [src] with [W]!", \ - "You hit [src] with [W]!", null, COMBAT_MESSAGE_RANGE) - switch(W.damtype) - if(BRUTE) - playsound(src, 'sound/effects/hit_stone.ogg', 50, TRUE) - if(BURN) - playsound(src, 'sound/items/welder.ogg', 100, TRUE) - alter_health(-dam) - return TRUE +/turf/closed/wall/concrete/get_item_damage(obj/item/I, t_min = min_dam) + t_min = min_dam / (1 + 7*(1-harden_lvl)) // drying walls are more vulnerable + . = .. () -/turf/closed/wall/concrete/proc/get_item_damage(obj/item/I) - var/dam = I.force - if(istype(I, /obj/item/clothing/gloves/gauntlets)) - dam = 20 - else if(I.tool_behaviour == TOOL_MINING) - dam *= (4/3) - else - switch(I.damtype) - if(BRUTE) - if(I.get_sharpness()) - dam *= 2/3 - if(BURN) - dam *= 2/3 - else - return 0 - var/t_min = min_dam / (1 + 7*(1-harden_lvl)) // drying walls are more vulnerable - // if dam is below t_min, then the hit has no effect - return (dam < t_min ? 0 : dam) -/turf/closed/wall/concrete/proc/get_proj_damage(obj/projectile/P) - var/dam = P.damage - // mining projectiles have an edge - if(is_type_in_typecache(P, extra_dam_proj)) - dam = max(dam, 30) - else - switch(P.damage_type) - if(BRUTE) - dam *= 1 - if(BURN) - dam *= 2/3 - else - return 0 - var/t_min = min_dam / (1 + 7*(1-harden_lvl)) // drying walls are more vulnerable - // if dam is below t_min, then the hit has no effect - return (dam < t_min ? 0 : dam) +/turf/closed/wall/concrete/get_proj_damage(obj/projectile/P, t_min = min_dam) + t_min = min_dam / (1 + 7*(1-harden_lvl)) // drying walls are more vulnerable + . = ..() /turf/closed/wall/concrete/reinforced name = "hexacrete wall" @@ -266,7 +145,7 @@ girder_type = /obj/structure/girder min_dam = 13 - max_health = 1300 + max_integrity = 1300 time_to_harden = 60 SECONDS // requires ENVIRONMENT_SMASH_RWALLS for simplemobs to break @@ -276,7 +155,7 @@ if(!M.environment_smash) return if(M.environment_smash & ENVIRONMENT_SMASH_RWALLS) - alter_health(-600) // 3 hits to kill + alter_integrity(-600) // 3 hits to kill playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) else playsound(src, 'sound/effects/bang.ogg', 50, TRUE) diff --git a/code/game/turfs/closed/wall/mineral_walls.dm b/code/game/turfs/closed/wall/mineral_walls.dm index 53dbb9479f3..1ca5a1cc527 100644 --- a/code/game/turfs/closed/wall/mineral_walls.dm +++ b/code/game/turfs/closed/wall/mineral_walls.dm @@ -23,6 +23,8 @@ connector_icon = 'icons/turf/connectors/gold_wall_connector.dmi' connector_icon_state = "gold_wall_connector" no_connector_typecache = list(/turf/closed/wall/mineral/gold, /obj/structure/falsewall/gold) + max_integrity = 150 + brute_mod = 1.5 /turf/closed/wall/mineral/gold/yesdiag icon_state = "gold_wall-255" @@ -41,6 +43,8 @@ connector_icon = 'icons/turf/connectors/silver_wall_connector.dmi' connector_icon_state = "silver_wall_connector" no_connector_typecache = list(/turf/closed/wall/mineral/silver, /obj/structure/falsewall/silver) + max_integrity = 150 + brute_mod = 1.5 /turf/closed/wall/mineral/silver/yesdiag icon_state = "silver_wall-255" @@ -53,7 +57,7 @@ icon_state = "diamond_wall-0" base_icon_state = "diamond_wall" sheet_type = /obj/item/stack/sheet/mineral/diamond - slicing_duration = 200 //diamond wall takes twice as much time to slice + breakdown_duration = 50 explosion_block = 3 smoothing_flags = SMOOTH_BITMASK | SMOOTH_CONNECTORS smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_DIAMOND_WALLS) @@ -63,6 +67,7 @@ no_connector_typecache = list(/turf/closed/wall/mineral/diamond, /obj/structure/falsewall/diamond) hitsound_type = PROJECTILE_HITSOUND_GLASS + max_integrity = 800 /turf/closed/wall/mineral/diamond/yesdiag icon_state = "diamond_wall-255" @@ -84,6 +89,8 @@ no_connector_typecache = list(/turf/closed/wall/mineral/sandstone, /obj/structure/falsewall/sandstone) hitsound_type = PROJECTILE_HITSOUND_NON_LIVING + max_integrity = 150 + min_dam = 5 /turf/closed/wall/mineral/sandstone/yesdiag icon_state = "sandstone_wall-255" @@ -103,6 +110,7 @@ connector_icon = 'icons/turf/connectors/uranium_wall_connector.dmi' connector_icon_state = "uranium_wall_connector" no_connector_typecache = list(/turf/closed/wall/mineral/uranium, /obj/structure/falsewall/uranium) + max_integrity = 600 /turf/closed/wall/mineral/uranium/yesdiag icon_state = "uranium_wall-255" @@ -170,6 +178,8 @@ no_connector_typecache = list(/turf/closed/wall/mineral/plasma, /obj/structure/falsewall/plasma) hitsound_type = PROJECTILE_HITSOUND_GLASS + max_integrity = 300 + burn_mod = 3 /turf/closed/wall/mineral/plasma/yesdiag icon_state = "plasma_wall-255" @@ -221,6 +231,9 @@ no_connector_typecache = list(/turf/closed/wall/mineral/wood, /obj/structure/falsewall/wood) hitsound_type = PROJECTILE_HITSOUND_WOOD + max_integrity = 75 + burn_mod = 3 + min_dam = 3 /turf/closed/wall/mineral/wood/yesdiag icon_state = "wood_wall-255" @@ -230,7 +243,7 @@ /turf/closed/wall/mineral/wood/attackby(obj/item/W, mob/user) if(W.get_sharpness() && W.force) var/duration = (48/W.force) * 2 //In seconds, for now. - if(istype(W, /obj/item/hatchet) || istype(W, /obj/item/fireaxe)) + if(istype(W, /obj/item/hatchet) || istype(W, /obj/item/melee/axe/fire)) duration /= 4 //Much better with hatchets and axes. if(do_after(user, duration*10, target=src)) //Into deciseconds. dismantle_wall(devastated = FALSE) @@ -260,6 +273,8 @@ connector_icon_state = "iron_wall_connector" no_connector_typecache = list(/turf/closed/wall/mineral/iron, /obj/structure/falsewall/iron) + max_integrity = 300 + /turf/closed/wall/mineral/iron/yesdiag icon_state = "iron_wall-255" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS @@ -278,7 +293,7 @@ no_connector_typecache = list(/turf/closed/wall/mineral/snow) hardness = 80 explosion_block = 0 - slicing_duration = 30 + breakdown_duration = 30 sheet_type = /obj/item/stack/sheet/mineral/snow canSmoothWith = null girder_type = null @@ -287,6 +302,11 @@ hitsound_type = PROJECTILE_HITSOUND_SNOW + max_integrity = 50 + burn_mod = 3 + brute_mod = 1.5 + min_dam = 1 + /turf/closed/wall/mineral/snow/yesdiag icon_state = "snow_wall-255" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS @@ -298,12 +318,14 @@ icon_state = "abductor_wall-0" base_icon_state = "abductor_wall" sheet_type = /obj/item/stack/sheet/mineral/abductor - slicing_duration = 200 //alien wall takes twice as much time to slice + breakdown_duration = 100 //alien wall takes twice as much time to slice explosion_block = 3 smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_ABDUCTOR_WALLS) canSmoothWith = list(SMOOTH_GROUP_ABDUCTOR_WALLS,SMOOTH_GROUP_AIRLOCK) + max_integrity = 1000 + /////////////////////Titanium walls///////////////////// /turf/closed/wall/mineral/titanium //has to use this path due to how building walls works @@ -322,6 +344,8 @@ hitsound_type = PROJECTILE_HITSOUND_NON_LIVING + max_integrity = 450 + /turf/closed/wall/mineral/titanium/exterior smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_TITANIUM_WALLS_EXTERIOR) canSmoothWith = list(SMOOTH_GROUP_TITANIUM_WALLS_EXTERIOR, SMOOTH_GROUP_AIRLOCK, SMOOTH_GROUP_SHUTTLE_PARTS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE) @@ -400,6 +424,8 @@ hitsound_type = PROJECTILE_HITSOUND_NON_LIVING + max_integrity = 500 + /turf/closed/wall/mineral/plastitanium/nodiagonal icon = 'icons/turf/walls/plastitanium_wall.dmi' icon_state = "map-shuttle_nd" diff --git a/code/game/turfs/closed/wall/misc_walls.dm b/code/game/turfs/closed/wall/misc_walls.dm index 7fbcab55504..6bbe3c623be 100644 --- a/code/game/turfs/closed/wall/misc_walls.dm +++ b/code/game/turfs/closed/wall/misc_walls.dm @@ -8,22 +8,12 @@ canSmoothWith = null sheet_type = /obj/item/stack/sheet/mineral/hidden/hellstone sheet_amount = 1 - girder_type = /obj/structure/girder/cult + max_integrity = 600 /turf/closed/wall/mineral/cult/Initialize(mapload, inherited_virtual_z) new /obj/effect/temp_visual/cult/turf(src) . = ..() -/turf/closed/wall/mineral/cult/Exited(atom/movable/AM, atom/newloc) - . = ..() - if(istype(AM, /mob/living/simple_animal/hostile/construct/harvester)) //harvesters can go through cult walls, dragging something with - var/mob/living/simple_animal/hostile/construct/harvester/H = AM - var/atom/movable/stored_pulling = H.pulling - if(stored_pulling) - stored_pulling.setDir(get_dir(stored_pulling.loc, newloc)) - stored_pulling.forceMove(src) - H.start_pulling(stored_pulling, supress_message = TRUE) - /turf/closed/wall/mineral/cult/artificer name = "runed stone wall" desc = "A cold stone wall engraved with indecipherable symbols. Studying them causes your head to pound." @@ -47,8 +37,9 @@ smoothing_flags = SMOOTH_BITMASK canSmoothWith = null hardness = 35 - slicing_duration = 150 //welding through the ice+metal + breakdown_duration = 40 bullet_sizzle = TRUE + burn_mod = 2 /turf/closed/wall/rust name = "rusted wall" @@ -58,6 +49,8 @@ base_icon_state = "rusty_wall" smoothing_flags = SMOOTH_BITMASK hardness = 45 + max_integrity = 300 + min_dam = 5 /turf/closed/wall/rust/yesdiag icon_state = "rusty_wall-255" @@ -71,6 +64,8 @@ base_icon_state = "rusty_reinforced_wall" smoothing_flags = SMOOTH_BITMASK hardness = 15 + integrity = 1000 + min_dam = 5 /turf/closed/wall/r_wall/rust/yesdiag icon_state = "rusty_reinforced_wall-255" diff --git a/code/game/turfs/closed/wall/reinf_walls.dm b/code/game/turfs/closed/wall/reinf_walls.dm index 1bd8f6783fd..c0fb9232ad2 100644 --- a/code/game/turfs/closed/wall/reinf_walls.dm +++ b/code/game/turfs/closed/wall/reinf_walls.dm @@ -21,6 +21,11 @@ ///Dismantled state, related to deconstruction. var/d_state = INTACT + max_integrity = 1400 + + mob_smash_flags = ENVIRONMENT_SMASH_RWALLS + proj_bonus_damage_flags = PROJECTILE_BONUS_DAMAGE_RWALLS + /turf/closed/wall/r_wall/yesdiag icon_state = "reinforced_wall-255" smoothing_flags = SMOOTH_BITMASK | SMOOTH_DIAGONAL_CORNERS @@ -54,28 +59,38 @@ playsound(src, 'sound/effects/bang.ogg', 50, TRUE) to_chat(M, "This wall is far too strong for you to destroy.") -/turf/closed/wall/r_wall/try_destroy(obj/item/I, mob/user, turf/T) - if(istype(I, /obj/item/pickaxe/drill/jackhammer)) - to_chat(user, "You begin to smash though [src]...") - if(do_after(user, 75, target = src)) - if(!istype(src, /turf/closed/wall/r_wall)) - return TRUE - I.play_tool_sound(src) - visible_message("[user] smashes through [src] with [I]!", "You hear the grinding of metal.") - dismantle_wall() - return TRUE - return FALSE +/turf/closed/wall/r_wall/update_stats() + var/integrity_per_state = max_integrity/7 + d_state = (7 - round(integrity/integrity_per_state)) + .= ..() + +/// Calculate how much integrity the r-wall should have a a given state. +/turf/closed/wall/r_wall/proc/get_state_integrity(state) + if(state > INTACT) + state = INTACT + if(state < SHEATH) + state = SHEATH + return max_integrity - ((max_integrity/7) * state) /turf/closed/wall/r_wall/try_decon(obj/item/W, mob/user, turf/T) //DECONSTRUCTION + if(istype(W,/obj/item/gun/energy/plasmacutter)) + to_chat(user, "You begin slicing through the [src].") + while(W.use_tool(src,user,30,volume = 100)) + to_chat(user, "You slice through some of the outer plating...") + if(!alter_integrity(-(W.wall_decon_damage))) + return TRUE + return 1 + switch(d_state) if(INTACT) if(W.tool_behaviour == TOOL_WIRECUTTER) - W.play_tool_sound(src, 100) - d_state = SUPPORT_LINES - update_appearance() - to_chat(user, "You cut the outer grille.") - return 1 + if(W.use_tool(src, user, 40, volume=100)) + W.play_tool_sound(src, 100) + d_state = SUPPORT_LINES + set_integrity(get_state_integrity(SUPPORT_LINES)) + to_chat(user, "You cut the outer grille.") + return 1 if(SUPPORT_LINES) if(W.tool_behaviour == TOOL_SCREWDRIVER) @@ -84,16 +99,18 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_LINES) return 1 d_state = COVER + set_integrity(get_state_integrity(COVER)) update_appearance() to_chat(user, "You unsecure the support lines.") return 1 else if(W.tool_behaviour == TOOL_WIRECUTTER) - W.play_tool_sound(src, 100) - d_state = INTACT - update_appearance() - to_chat(user, "You repair the outer grille.") - return 1 + if(W.use_tool(src, user, 40, volume=100)) + W.play_tool_sound(src, 100) + d_state = INTACT + set_integrity(get_state_integrity(INTACT)) + to_chat(user, "You repair the outer grille.") + return 1 if(COVER) if(W.tool_behaviour == TOOL_WELDER) @@ -104,7 +121,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER) return 1 d_state = CUT_COVER - update_appearance() + set_integrity(get_state_integrity(CUT_COVER)) to_chat(user, "You press firmly on the cover, dislodging it.") return 1 @@ -114,7 +131,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER) return 1 d_state = SUPPORT_LINES - update_appearance() + set_integrity(get_state_integrity(SUPPORT_LINES)) to_chat(user, "The support lines have been secured.") return 1 @@ -125,7 +142,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != CUT_COVER) return 1 d_state = ANCHOR_BOLTS - update_appearance() + set_integrity(get_state_integrity(ANCHOR_BOLTS)) to_chat(user, "You pry off the cover.") return 1 @@ -137,7 +154,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != CUT_COVER) return TRUE d_state = COVER - update_appearance() + set_integrity(get_state_integrity(COVER)) to_chat(user, "The metal cover has been welded securely to the frame.") return 1 @@ -148,7 +165,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS) return 1 d_state = SUPPORT_RODS - update_appearance() + set_integrity(get_state_integrity(SUPPORT_RODS)) to_chat(user, "You remove the bolts anchoring the support rods.") return 1 @@ -158,7 +175,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS) return 1 d_state = CUT_COVER - update_appearance() + set_integrity(get_state_integrity(CUT_COVER)) to_chat(user, "The metal cover has been pried back into place.") return 1 @@ -171,7 +188,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS) return 1 d_state = SHEATH - update_appearance() + set_integrity(get_state_integrity(SHEATH)) to_chat(user, "You slice through the support rods.") return 1 @@ -182,7 +199,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS) return 1 d_state = ANCHOR_BOLTS - update_appearance() + set_integrity(get_state_integrity(ANCHOR_BOLTS)) to_chat(user, "You tighten the bolts anchoring the support rods.") return 1 @@ -204,7 +221,7 @@ if(!istype(src, /turf/closed/wall/r_wall) || d_state != SHEATH) return TRUE d_state = SUPPORT_RODS - update_appearance() + set_integrity(get_state_integrity(SUPPORT_RODS)) to_chat(user, "You weld the support rods back together.") return 1 return 0 diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm index 7be9fb0e21d..1d8f242e216 100644 --- a/code/game/turfs/closed/walls.dm +++ b/code/game/turfs/closed/walls.dm @@ -1,5 +1,3 @@ -#define MAX_DENT_DECALS 15 - /turf/closed/wall name = "wall" desc = "A huge chunk of metal used to separate rooms." @@ -19,15 +17,20 @@ smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_AIRLOCK) canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_WINDOW_FULLTILE, SMOOTH_GROUP_AIRLOCK) - ///lower numbers are harder. Used to determine the probability of a hulk smashing through. - var/hardness = 40 - var/slicing_duration = 100 //default time taken to slice the wall + breakdown_duration = 25 var/sheet_type = /obj/item/stack/sheet/metal var/sheet_amount = 2 var/obj/girder_type = /obj/structure/girder - var/break_sound = 'sound/items/welder.ogg' - var/list/dent_decals + min_dam = 8 + max_integrity = 400 + brute_mod = 1 + burn_mod = 1 + var/repair_amount = 50 + + mob_smash_flags = ENVIRONMENT_SMASH_WALLS + proj_bonus_damage_flags = PROJECTILE_BONUS_DAMAGE_WALLS + /turf/closed/wall/yesdiag icon_state = "wall-255" @@ -47,18 +50,6 @@ fixed_underlay = string_assoc_list(fixed_underlay) underlays += underlay_appearance -/turf/closed/wall/copyTurf(turf/T, copy_air, flags) - . = ..() - var/turf/closed/wall/wall_copy = T - if(LAZYLEN(dent_decals)) - wall_copy.dent_decals = dent_decals.Copy() - wall_copy.update_appearance() - -/turf/closed/wall/update_overlays() - . = ..() - for(var/decal in dent_decals) - . += decal - /turf/closed/wall/examine(mob/user) . += ..() . += deconstruction_hints(user) @@ -69,7 +60,7 @@ /turf/closed/wall/attack_tk() return -/turf/closed/wall/proc/dismantle_wall(devastated = FALSE) +/turf/closed/wall/dismantle_wall(devastated = FALSE) create_sheets() var/obj/newgirder = create_girder() if(devastated) @@ -81,10 +72,7 @@ transfer_fingerprints_to(newgirder) playsound(src, break_sound, 100, TRUE) - for(var/obj/structure/sign/poster/P in src.contents) //Eject contents! - P.roll_and_drop(src) - - ScrapeAway() + ..() /turf/closed/wall/proc/create_sheets() if(sheet_type) @@ -96,124 +84,27 @@ return new girder_type(src) return null -/turf/closed/wall/ex_act(severity, target) - if(target == src) - dismantle_wall(devastated = TRUE) +/turf/closed/wall/attack_override(obj/item/W, mob/user, turf/loc) + if(!iswallturf(src)) return - switch(severity) - if(EXPLODE_DEVASTATE) - //SN src = null - var/turf/NT = ScrapeAway() - NT.contents_explosion(severity, target) - return - if(EXPLODE_HEAVY) - if (prob(50)) - dismantle_wall(devastated = TRUE) - else - dismantle_wall(devastated = FALSE) - if(EXPLODE_LIGHT) - if (prob(hardness)) - dismantle_wall(devastated = FALSE) - if(!density) - ..() - - -/turf/closed/wall/blob_act(obj/structure/blob/B) - if(prob(50)) - dismantle_wall() - else - add_dent(WALL_DENT_HIT) - -/turf/closed/wall/mech_melee_attack(obj/mecha/M) - M.do_attack_animation(src) - switch(M.damtype) - if(BRUTE) - playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE) - M.visible_message("[M.name] hits [src]!", \ - "You hit [src]!", null, COMBAT_MESSAGE_RANGE) - if(prob(hardness + M.force) && M.force > 20) - dismantle_wall(devastated = TRUE) - playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) - else - add_dent(WALL_DENT_HIT) - if(BURN) - playsound(src, 'sound/items/welder.ogg', 100, TRUE) - if(TOX) - playsound(src, 'sound/effects/spray2.ogg', 100, TRUE) - -/turf/closed/wall/attack_paw(mob/living/user) - user.changeNext_move(CLICK_CD_MELEE) - return attack_hand(user) - - -/turf/closed/wall/attack_animal(mob/living/simple_animal/M) - M.changeNext_move(CLICK_CD_MELEE) - M.do_attack_animation(src) - if((M.environment_smash & ENVIRONMENT_SMASH_WALLS) || (M.environment_smash & ENVIRONMENT_SMASH_RWALLS)) - playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) - dismantle_wall(devastated = TRUE) + if(try_clean(W, user, loc) || try_wallmount(W, user, loc) || try_decon(W, user, loc) || try_destroy(W, user, loc)) return -/turf/closed/wall/attack_hulk(mob/living/carbon/user) - ..() - var/obj/item/bodypart/arm = user.hand_bodyparts[user.active_hand_index] - if(!arm || arm.bodypart_disabled) - return - if(prob(hardness)) - playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE) - user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk") - dismantle_wall(devastated = TRUE) - else - playsound(src, 'sound/effects/bang.ogg', 50, TRUE) - add_dent(WALL_DENT_HIT) - user.visible_message("[user] smashes \the [src]!", \ - "You smash \the [src]!", \ - "You hear a booming smash!") - return TRUE - -/turf/closed/wall/attack_hand(mob/user) - . = ..() - if(.) - return - user.changeNext_move(CLICK_CD_MELEE) - to_chat(user, "You push the wall but nothing happens!") - playsound(src, 'sound/weapons/genhit.ogg', 25, TRUE) - add_fingerprint(user) - -/turf/closed/wall/attackby(obj/item/W, mob/user, params) - user.changeNext_move(CLICK_CD_MELEE) - if (!user.IsAdvancedToolUser()) - to_chat(user, "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 - - add_fingerprint(user) - - var/turf/T = user.loc //get user's location for delay checks - - //the istype cascade has been spread among various procs for easy overriding - if(try_clean(W, user, T) || try_wallmount(W, user, T) || try_decon(W, user, T) || try_destroy(W, user, T)) - return - - return ..() - /turf/closed/wall/proc/try_clean(obj/item/W, mob/user, turf/T) - if((user.a_intent != INTENT_HELP) || !LAZYLEN(dent_decals)) + if((user.a_intent != INTENT_HELP)) return FALSE if(W.tool_behaviour == TOOL_WELDER) - if(!W.tool_start_check(user, amount=0)) + if(!W.tool_start_check(user, amount=0) || (integrity >= max_integrity)) return FALSE to_chat(user, "You begin fixing dents on the wall...") - if(W.use_tool(src, user, 0, volume=100)) + if(W.use_tool(src, user, breakdown_duration, volume=100)) if(iswallturf(src) && LAZYLEN(dent_decals)) to_chat(user, "You fix some dents on the wall.") dent_decals = null update_appearance() + alter_integrity(repair_amount) return TRUE return FALSE @@ -232,33 +123,6 @@ return FALSE -/turf/closed/wall/proc/try_decon(obj/item/I, mob/user, turf/T) - if(I.tool_behaviour == TOOL_WELDER) - if(!I.tool_start_check(user, amount=0)) - return FALSE - - to_chat(user, "You begin slicing through the outer plating...") - if(I.use_tool(src, user, slicing_duration, volume=100)) - if(iswallturf(src)) - to_chat(user, "You remove the outer plating.") - dismantle_wall() - return TRUE - - return FALSE - - -/turf/closed/wall/proc/try_destroy(obj/item/I, mob/user, turf/T) - if(istype(I, /obj/item/pickaxe/drill/jackhammer)) - to_chat(user, "You begin to smash though [src]...") - if(do_after(user, 50, target = src)) - if(!iswallturf(src)) - return TRUE - I.play_tool_sound(src) - visible_message("[user] smashes through [src] with [I]!", "You hear the grinding of metal.") - dismantle_wall() - return TRUE - return FALSE - /turf/closed/wall/singularity_pull(S, current_size) ..() wall_singularity_pull(current_size) @@ -302,20 +166,5 @@ return TRUE return FALSE -/turf/closed/wall/proc/add_dent(denttype, x=rand(-8, 8), y=rand(-8, 8)) - if(LAZYLEN(dent_decals) >= MAX_DENT_DECALS) - return - - var/mutable_appearance/decal = mutable_appearance('icons/effects/effects.dmi', "", BULLET_HOLE_LAYER) - switch(denttype) - if(WALL_DENT_SHOT) - decal.icon_state = "bullet_hole" - if(WALL_DENT_HIT) - decal.icon_state = "impact[rand(1, 3)]" - decal.pixel_x = x - decal.pixel_y = y - LAZYADD(dent_decals, decal) - update_appearance() -#undef MAX_DENT_DECALS diff --git a/code/game/turfs/open/_open.dm b/code/game/turfs/open/_open.dm index 44acbe06f6b..e2c6caa8be7 100644 --- a/code/game/turfs/open/_open.dm +++ b/code/game/turfs/open/_open.dm @@ -155,7 +155,7 @@ baseturfs = /turf/open/indestructible/airblock /turf/open/Initalize_Atmos(times_fired) - if(!istype(air,/datum/gas_mixture/turf)) + if(!istype(air, /datum/gas_mixture)) air = new(2500, src) air.copy_from_turf(src) update_air_ref(planetary_atmos ? AIR_REF_PLANETARY_TURF : AIR_REF_OPEN_TURF) @@ -267,7 +267,7 @@ pulse_strength = min(pulse_strength,air.get_moles(GAS_CO2)*1000,air.get_moles(GAS_O2)*2000) //Ensures matter is conserved properly air.set_moles(GAS_CO2, max(air.get_moles(GAS_CO2)-(pulse_strength/1000),0)) air.set_moles(GAS_O2, max(air.get_moles(GAS_O2)-(pulse_strength/2000),0)) - air.adjust_moles(GAS_PLUOXIUM, pulse_strength/4000) + air.adjust_moles(GAS_O3, pulse_strength/4000) /turf/open/IgniteTurf(power, fire_color) if(turf_fire) diff --git a/code/game/turfs/open/acid.dm b/code/game/turfs/open/acid.dm index 50c7ee7bf98..c9f5472fa4f 100644 --- a/code/game/turfs/open/acid.dm +++ b/code/game/turfs/open/acid.dm @@ -1,8 +1,8 @@ -/turf/open/acid +/turf/open/water/acid name = "acid lake" + desc = "A lake of acid." icon_state = "acid" - gender = PLURAL - baseturfs = /turf/open/acid + baseturfs = /turf/open/water/acid slowdown = 2 light_range = 2 @@ -10,90 +10,77 @@ light_color = LIGHT_COLOR_SLIME_LAMP bullet_bounce_sound = 'sound/items/welder2.ogg' + planetary_atmos = FALSE footstep = FOOTSTEP_LAVA barefootstep = FOOTSTEP_LAVA clawfootstep = FOOTSTEP_LAVA heavyfootstep = FOOTSTEP_LAVA -/turf/open/acid/CanAllowThrough(atom/movable/passing_atom, turf/target) + reagent_to_extract = /datum/reagent/toxin/acid + extracted_reagent_visible_name = "acid" + +/turf/open/water/acid/CanAllowThrough(atom/movable/passing_atom, turf/target) if(ishostile(passing_atom)) return FALSE return ..() -/turf/open/acid/ex_act(severity, target) +/turf/open/water/acid/ex_act(severity, target) contents_explosion(severity, target) -/turf/open/acid/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) - return - -/turf/open/acid/Melt() +/turf/open/water/acid/Melt() to_be_destroyed = FALSE return src -/turf/open/acid/acid_act(acidpwr, acid_volume) +/turf/open/water/acid/acid_act(acidpwr, acid_volume) return -/turf/open/acid/MakeDry(wet_setting = TURF_WET_WATER) +/turf/open/water/acid/MakeDry(wet_setting = TURF_WET_WATER) return -/turf/open/acid/airless +/turf/open/water/acid/airless initial_gas_mix = AIRLESS_ATMOS -/turf/open/acid/Entered(atom/movable/AM) +/turf/open/water/acid/Entered(atom/movable/AM) . = ..() if(melt_stuff(AM)) START_PROCESSING(SSobj, src) -/turf/open/acid/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) +/turf/open/water/acid/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) if(melt_stuff(AM)) START_PROCESSING(SSobj, src) -/turf/open/acid/process() +/turf/open/water/acid/process() if(!melt_stuff()) STOP_PROCESSING(SSobj, src) -/turf/open/acid/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) - switch(the_rcd.mode) - if(RCD_FLOORWALL) - return list("mode" = RCD_FLOORWALL, "delay" = 0, "cost" = 3) - return FALSE - -/turf/open/acid/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) - switch(passed_mode) - if(RCD_FLOORWALL) - to_chat(user, "You build a floor.") - PlaceOnTop(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) - return TRUE - return FALSE - -/turf/open/acid/singularity_act() +/turf/open/water/acid/singularity_act() return -/turf/open/acid/singularity_pull(S, current_size) +/turf/open/water/acid/singularity_pull(S, current_size) return -/turf/open/acid/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) +/turf/open/water/acid/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir) underlay_appearance.icon = 'icons/turf/floors.dmi' underlay_appearance.icon_state = "basalt" return TRUE -/turf/open/acid/attackby(obj/item/C, mob/user, params) +/turf/open/water/acid/attackby(obj/item/_item, mob/user, params) ..() - if(istype(C, /obj/item/stack/rods)) - var/obj/item/stack/rods/R = C + if(istype(_item, /obj/item/stack/rods)) + var/obj/item/stack/rods/R = _item var/obj/structure/lattice/H = locate(/obj/structure/lattice, src) if(H) - to_chat(user, "There is already a lattice here!") + to_chat(user, span_warning("There is already a lattice here!")) return if(R.use(2)) - to_chat(user, "You construct a catwalk.") + to_chat(user, span_notice("You construct a catwalk.")) playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) new /obj/structure/lattice/catwalk(locate(x, y, z)) else - to_chat(user, "You need one rod to build a lattice.") + to_chat(user, span_warning("You need one rod to build a lattice.")) return -/turf/open/acid/proc/is_safe_to_cross() +/turf/open/water/acid/proc/is_safe_to_cross() //if anything matching this typecache is found in the lava, we don't burn things var/static/list/acid_safeties_typecache = typecacheof(list(/obj/structure/catwalk, /obj/structure/stone_tile, /obj/structure/lattice/)) var/list/found_safeties = typecache_filter_list(contents, acid_safeties_typecache) @@ -103,7 +90,7 @@ return LAZYLEN(found_safeties) -/turf/open/acid/proc/melt_stuff(thing_to_melt) +/turf/open/water/acid/proc/melt_stuff(thing_to_melt) if(is_safe_to_cross()) return FALSE . = FALSE @@ -156,6 +143,6 @@ if(L) //mobs turning into object corpses could get deleted here. L.acid_act(50, 100) -/turf/open/acid/whitesands +/turf/open/water/acid/whitesands planetary_atmos = TRUE - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS diff --git a/code/game/turfs/open/dirtystation.dm b/code/game/turfs/open/dirtystation.dm index 29e13585bb7..5daba45f1b1 100644 --- a/code/game/turfs/open/dirtystation.dm +++ b/code/game/turfs/open/dirtystation.dm @@ -53,8 +53,7 @@ return //Bathrooms. Blood, vomit, and shavings in the sinks. - var/static/list/bathroom_dirt_areas = typecacheof(list( /area/ship/crew/toilet, - /area/awaymission/research/interior/bathroom)) + var/static/list/bathroom_dirt_areas = typecacheof(/area/ship/crew/toilet) if(is_type_in_typecache(A, bathroom_dirt_areas)) if(prob(40)) if(prob(90)) diff --git a/code/game/turfs/open/floor.dm b/code/game/turfs/open/floor.dm index d74edb27a65..7b1603df119 100644 --- a/code/game/turfs/open/floor.dm +++ b/code/game/turfs/open/floor.dm @@ -62,7 +62,7 @@ if(1) ScrapeAway(2, flags = CHANGETURF_INHERIT_AIR) if(2) - if(prob(60)) + if(prob(50) && broken) ScrapeAway(flags = CHANGETURF_INHERIT_AIR) else break_tile() @@ -78,9 +78,6 @@ for(var/obj/structure/A in contents) return 1 -/turf/open/floor/blob_act(obj/structure/blob/B) - return - /turf/open/floor/update_icon() . = ..() update_visuals() @@ -183,11 +180,6 @@ else if(prob(50)) ReplaceWithLattice() -/turf/open/floor/narsie_act(force, ignore_mobs, probability = 20) - . = ..() - if(.) - ChangeTurf(/turf/open/floor/engine/cult, flags = CHANGETURF_INHERIT_AIR) - /turf/open/floor/acid_melt() ScrapeAway(flags = CHANGETURF_INHERIT_AIR) diff --git a/code/game/turfs/open/floor/fancy_floor.dm b/code/game/turfs/open/floor/fancy_floor.dm index 3a018484945..2d043371a9b 100644 --- a/code/game/turfs/open/floor/fancy_floor.dm +++ b/code/game/turfs/open/floor/fancy_floor.dm @@ -135,7 +135,7 @@ icon_state = "fairygrass[rand(0,3)]" /turf/open/floor/grass/fairy/beach - baseturfs = /turf/open/floor/plating/beach/sand + baseturfs = /turf/open/floor/plating/asteroid/sand planetary_atmos = TRUE /turf/open/floor/grass/snow diff --git a/code/game/turfs/open/floor/misc_floor.dm b/code/game/turfs/open/floor/misc_floor.dm index 98ad4658add..1b5009d8245 100644 --- a/code/game/turfs/open/floor/misc_floor.dm +++ b/code/game/turfs/open/floor/misc_floor.dm @@ -126,20 +126,6 @@ /turf/open/floor/noslip/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) return -/turf/open/floor/bluespace - slowdown = -1 - icon_state = "bluespace" - desc = "Through a series of micro-teleports these tiles let people move at incredible speeds." - floor_tile = /obj/item/stack/tile/bluespace - - -/turf/open/floor/sepia - slowdown = 2 - icon_state = "sepia" - desc = "Time seems to flow very slowly around these tiles." - floor_tile = /obj/item/stack/tile/sepia - - /turf/open/floor/bronze name = "bronze floor" desc = "Some heavy bronze tiles." @@ -185,6 +171,8 @@ base_icon_state = "tcomms" icon = 'icons/turf/floors/misc.dmi' color = null +/turf/open/floor/plasteel/telecomms_floor/tatmos + initial_gas_mix = TCOMMS_ATMOS //ship turfs /turf/open/floor/ship @@ -225,6 +213,8 @@ smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_FLOOR_GRASS) canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_FLOOR_GRASS) layer = HIGH_TURF_LAYER + icon_state = "grass0" + base_icon_state = "grass" var/smooth_icon = 'icons/turf/floors/grass.dmi' baseturfs = /turf/open/floor/ship/dirt diff --git a/code/game/turfs/open/floor/plasteel_floor.dm b/code/game/turfs/open/floor/plasteel_floor.dm index 61a90ff0da8..e77e07e71d3 100644 --- a/code/game/turfs/open/floor/plasteel_floor.dm +++ b/code/game/turfs/open/floor/plasteel_floor.dm @@ -59,6 +59,9 @@ base_icon_state = "techfloor" floor_tile = /obj/item/stack/tile/plasteel/tech +/turf/open/floor/plasteel/tech/tcomms + initial_gas_mix = TCOMMS_ATMOS + /turf/open/floor/plasteel/tech/airless initial_gas_mix = AIRLESS_ATMOS @@ -151,6 +154,13 @@ base_icon_state = "plaque" tiled_dirt = FALSE +/turf/open/floor/plasteel/lightgrey + name = "light grey floor" + icon_state = "corner_white_full" + base_icon_state = "corner_white_full" + icon = 'icons/turf/decals/decals.dmi' + color = "#a8b2b6" + /turf/open/floor/plasteel/cult/narsie_act() return diff --git a/code/game/turfs/open/floor/plating/asteroid.dm b/code/game/turfs/open/floor/plating/asteroid.dm index 996d122a4ac..12fe214deb8 100644 --- a/code/game/turfs/open/floor/plating/asteroid.dm +++ b/code/game/turfs/open/floor/plating/asteroid.dm @@ -27,6 +27,7 @@ /// Whether the turf has been dug or not var/dug + /turf/open/floor/plating/asteroid/Initialize(mapload, inherited_virtual_z) var/proper_name = name . = ..() diff --git a/code/game/turfs/open/floor/plating/beach.dm b/code/game/turfs/open/floor/plating/beach.dm index 88bb3bbcad1..9b4aa8cf156 100644 --- a/code/game/turfs/open/floor/plating/beach.dm +++ b/code/game/turfs/open/floor/plating/beach.dm @@ -1,13 +1,15 @@ +///it's all sand.... + /turf/open/floor/plating/asteroid/sand name = "sand" icon = 'icons/misc/beach.dmi' icon_state = "sand" base_icon_state = "sand" baseturfs = /turf/open/floor/plating/asteroid/sand - initial_gas_mix = OPENTURF_DEFAULT_ATMOS //custom atmos? lots of oxygen, hot? - digResult = /obj/item/stack/ore/glass + initial_gas_mix = BEACHPLANET_DEFAULT_ATMOS //custom atmos? lots of oxygen, hot? planetary_atmos = TRUE digResult = /obj/item/stack/ore/glass/beach + light_color = COLOR_BEACHPLANET_LIGHT /turf/open/floor/plating/asteroid/sand/Initialize(mapload, inherited_virtual_z) . = ..() @@ -16,14 +18,20 @@ /turf/open/floor/plating/asteroid/sand/lit light_range = 2 light_power = 0.80 - light_color = LIGHT_COLOR_TUNGSTEN /turf/open/floor/plating/asteroid/sand/dense icon_state = "light_sand" - planetary_atmos = TRUE base_icon_state = "light_sand" /turf/open/floor/plating/asteroid/sand/dense/lit light_range = 2 light_power = 0.80 - light_color = LIGHT_COLOR_TUNGSTEN + +/turf/open/floor/plating/grass/beach + baseturfs = /turf/open/floor/plating/asteroid/sand + light_color = COLOR_BEACHPLANET_LIGHT + planetary_atmos = TRUE + +/turf/open/floor/plating/grass/beach/lit + light_range = 2 + light_power = 0.80 diff --git a/code/game/turfs/open/floor/plating/icemoon.dm b/code/game/turfs/open/floor/plating/icemoon.dm index ca1819af253..9b054f8d150 100644 --- a/code/game/turfs/open/floor/plating/icemoon.dm +++ b/code/game/turfs/open/floor/plating/icemoon.dm @@ -17,6 +17,7 @@ bullet_sizzle = TRUE bullet_bounce_sound = null digResult = /obj/item/stack/sheet/mineral/snow + light_color = COLOR_ICEPLANET_LIGHT // footprint vars var/entered_dirs var/exited_dirs @@ -87,19 +88,17 @@ . = ..() ScrapeAway() +/turf/open/floor/plating/asteroid/snow/icemoon + baseturfs = /turf/open/openspace/icemoon + initial_gas_mix = ICEMOON_DEFAULT_ATMOS + + slowdown = 0 + /turf/open/floor/plating/asteroid/snow/lit light_range = 2 light_power = 1 baseturfs = /turf/open/floor/plating/asteroid/icerock/lit -/turf/open/floor/plating/asteroid/snow/lit/whitesands - baseturfs = /turf/open/floor/plating/asteroid/whitesands/lit - initial_gas_mix = WHITESANDS_ATMOS - -/turf/open/floor/plating/asteroid/snow/lit/rockplanet - baseturfs = /turf/open/floor/plating/asteroid/rockplanet/lit - initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS - /turf/open/floor/plating/asteroid/snow/airless initial_gas_mix = AIRLESS_ATMOS @@ -142,6 +141,7 @@ floor_variance = 100 max_icon_states = 7 dug = TRUE + light_color = COLOR_ICEPLANET_LIGHT /turf/open/floor/plating/asteroid/icerock/lit light_range = 2 @@ -183,21 +183,17 @@ floor_variance = 100 max_icon_states = 7 dug = TRUE + light_color = COLOR_ICEPLANET_LIGHT /turf/open/floor/plating/asteroid/iceberg/lit light_range = 2 light_power = 1 - -/turf/open/floor/plating/asteroid/snow/icemoon - baseturfs = /turf/open/openspace/icemoon - initial_gas_mix = ICEMOON_DEFAULT_ATMOS - slowdown = 0 - /turf/open/lava/plasma/ice_moon initial_gas_mix = ICEMOON_DEFAULT_ATMOS baseturfs = /turf/open/lava/plasma/ice_moon planetary_atmos = TRUE + light_color = COLOR_ICEPLANET_LIGHT /turf/open/floor/plating/asteroid/snow/ice name = "icy snow" @@ -213,6 +209,8 @@ clawfootstep = FOOTSTEP_HARD_CLAW heavyfootstep = FOOTSTEP_GENERIC_HEAVY max_icon_states = 7 + light_color = COLOR_ICEPLANET_LIGHT + /turf/open/floor/plating/asteroid/snow/ice/icemoon baseturfs = /turf/open/floor/plating/asteroid/snow/ice/icemoon @@ -223,3 +221,88 @@ /turf/open/floor/plating/asteroid/snow/ice/burn_tile() return FALSE +/turf/open/floor/wood/icemoon + baseturfs = /turf/open/floor/plating/asteroid/snow/ice/icemoon + initial_gas_mix = ICEMOON_DEFAULT_ATMOS + planetary_atmos = TRUE + slowdown = 0 + +/turf/open/floor/wood/ebony/icemoon + baseturfs = /turf/open/floor/plating/asteroid/snow/ice/icemoon + initial_gas_mix = ICEMOON_DEFAULT_ATMOS + planetary_atmos = TRUE + slowdown = 0 + +/turf/open/floor/plasteel/stairs/wood/icemoon + baseturfs = /turf/open/floor/plating/asteroid/snow/ice/icemoon + initial_gas_mix = ICEMOON_DEFAULT_ATMOS + planetary_atmos = TRUE + slowdown = 0 + +//concrete + +/turf/open/floor/concrete/icemoon + baseturfs = /turf/open/floor/plating/asteroid/snow/ice/icemoon + initial_gas_mix = ICEMOON_DEFAULT_ATMOS + planetary_atmos = TRUE + light_color = COLOR_ICEPLANET_LIGHT + slowdown = 0 + +/turf/open/floor/concrete/icemoon/lit + light_range = 2 + light_power = 1 + +/turf/open/floor/concrete/slab_1/icemoon + baseturfs = /turf/open/floor/plating/asteroid/snow/ice/icemoon + initial_gas_mix = ICEMOON_DEFAULT_ATMOS + planetary_atmos = TRUE + light_color = COLOR_ICEPLANET_LIGHT + slowdown = 0 + +/turf/open/floor/concrete/slab_1/icemoon/lit + light_range = 2 + light_power = 1 + +/turf/open/floor/concrete/slab_2/icemoon + baseturfs = /turf/open/floor/plating/asteroid/snow/ice/icemoon + initial_gas_mix = ICEMOON_DEFAULT_ATMOS + planetary_atmos = TRUE + light_color = COLOR_ICEPLANET_LIGHT + slowdown = 0 + +/turf/open/floor/concrete/slab_2/icemoon/lit + light_range = 2 + light_power = 1 + +/turf/open/floor/concrete/slab_3/icemoon + baseturfs = /turf/open/floor/plating/asteroid/snow/ice/icemoon + initial_gas_mix = ICEMOON_DEFAULT_ATMOS + planetary_atmos = TRUE + light_color = COLOR_ICEPLANET_LIGHT + slowdown = 0 + +/turf/open/floor/concrete/slab_3/icemoon/lit + light_range = 2 + light_power = 1 + +/turf/open/floor/concrete/slab_4/icemoon + baseturfs = /turf/open/floor/plating/asteroid/snow/ice/icemoon + initial_gas_mix = ICEMOON_DEFAULT_ATMOS + planetary_atmos = TRUE + light_color = COLOR_ICEPLANET_LIGHT + slowdown = 0 + +/turf/open/floor/concrete/slab_4/icemoon/lit + light_range = 2 + light_power = 1 + +/turf/open/floor/concrete/pavement/icemoon + baseturfs = /turf/open/floor/plating/asteroid/snow/ice/icemoon + initial_gas_mix = ICEMOON_DEFAULT_ATMOS + planetary_atmos = TRUE + light_color = COLOR_ICEPLANET_LIGHT + slowdown = 0 + +/turf/open/floor/concrete/pavement/icemoon/lit + light_range = 2 + light_power = 1 diff --git a/code/game/turfs/open/floor/plating/jungle.dm b/code/game/turfs/open/floor/plating/jungle.dm new file mode 100644 index 00000000000..19139d782c0 --- /dev/null +++ b/code/game/turfs/open/floor/plating/jungle.dm @@ -0,0 +1,64 @@ +/turf/open/floor/plating/dirt/jungle + slowdown = 0.5 + baseturfs = /turf/open/floor/plating/dirt/jungle + initial_gas_mix = JUNGLEPLANET_DEFAULT_ATMOS + light_color = COLOR_JUNGLEPLANET_LIGHT + +/turf/open/floor/plating/dirt/jungle/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) + return + +/turf/open/floor/plating/dirt/jungle/lit + baseturfs = /turf/open/floor/plating/dirt/jungle/lit + light_range = 2 + light_power = 1 + +/turf/open/floor/plating/dirt/jungle/dark + icon_state = "greenerdirt" + baseturfs = /turf/open/floor/plating/dirt/jungle/dark + +/turf/open/floor/plating/dirt/jungle/dark/lit + light_range = 2 + light_power = 1 + +/turf/open/floor/plating/dirt/jungle/wasteland //Like a more fun version of living in Arizona. + name = "cracked earth" + desc = "Looks a bit dry." + icon = 'icons/turf/floors.dmi' + icon_state = "wasteland" + slowdown = 1 + baseturfs = /turf/open/floor/plating/dirt/jungle/wasteland + var/floor_variance = 15 + +/turf/open/floor/plating/dirt/jungle/wasteland/lit + baseturfs = /turf/open/floor/plating/dirt/jungle/wasteland/lit + light_range = 2 + light_power = 1 + +/turf/open/floor/plating/dirt/jungle/wasteland/Initialize(mapload, inherited_virtual_z) + .=..() + if(prob(floor_variance)) + icon_state = "[initial(icon_state)][rand(0,12)]" + +/turf/open/floor/plating/grass/jungle + name = "jungle grass" + planetary_atmos = TRUE + desc = "Greener on the other side." + icon_state = "junglegrass" + base_icon_state = "junglegrass" + smooth_icon = 'icons/turf/floors/junglegrass.dmi' + baseturfs = /turf/open/floor/plating/grass/jungle + light_color = COLOR_JUNGLEPLANET_LIGHT + initial_gas_mix = JUNGLEPLANET_DEFAULT_ATMOS + +/turf/open/floor/plating/grass/jungle/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) + return + +/turf/open/floor/plating/grass/jungle/lit + baseturfs = /turf/open/floor/plating/dirt/jungle/lit + light_range = 2 + light_power = 1 + +/turf/open/water/jungle/lit + light_range = 2 + light_power = 0.8 + light_color = LIGHT_COLOR_BLUEGREEN diff --git a/code/game/turfs/open/floor/plating/lavaland.dm b/code/game/turfs/open/floor/plating/lavaland.dm index 84e0173819b..b15f76eabcc 100644 --- a/code/game/turfs/open/floor/plating/lavaland.dm +++ b/code/game/turfs/open/floor/plating/lavaland.dm @@ -1,3 +1,5 @@ +///baseturf + /turf/open/floor/plating/asteroid/basalt name = "volcanic floor" baseturfs = /turf/open/floor/plating/asteroid/basalt @@ -7,11 +9,11 @@ base_icon_state = "basalt" floor_variance = 15 digResult = /obj/item/stack/ore/glass/basalt + light_color = COLOR_LAVAPLANET_LIGHT /turf/open/floor/plating/asteroid/basalt/lava_land_surface/lit light_range = 2 light_power = 0.6 - light_color = LIGHT_COLOR_FIRE /turf/open/floor/plating/asteroid/basalt/lava //lava underneath baseturfs = /turf/open/lava/smooth @@ -26,11 +28,9 @@ /proc/set_basalt_light(turf/open/floor/B) switch(B.icon_state) if("basalt1", "basalt2", "basalt3") - B.set_light(2, 0.6, LIGHT_COLOR_LAVA) //more light + B.set_light(2, 0.6, COLOR_LAVAPLANET_LIGHT) //more light if("basalt5", "basalt9") - B.set_light(1.4, 0.6, LIGHT_COLOR_LAVA) //barely anything! - -///////Surface. The surface is warm, but survivable without a suit. Internals are required. The floors break to chasms, which drop you into the underground. + B.set_light(1.4, 0.6, COLOR_LAVAPLANET_LIGHT) //barely anything! /turf/open/floor/plating/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS @@ -47,7 +47,8 @@ /turf/open/floor/plating/asteroid/basalt/purple/lit light_range = 2 light_power = 0.6 - light_color = LIGHT_COLOR_FIRE + +///Sand /turf/open/floor/plating/asteroid/purple name = "ashen sand" @@ -57,11 +58,13 @@ turf_type = /turf/open/floor/plating/asteroid/basalt/purple initial_gas_mix = LAVALAND_DEFAULT_ATMOS planetary_atmos = TRUE + light_color = COLOR_LAVAPLANET_LIGHT /turf/open/floor/plating/asteroid/purple/lit light_range = 2 light_power = 0.3 - light_color = LIGHT_COLOR_FIRE + +///Grass /turf/open/floor/plating/grass/lava name = "ungodly grass" @@ -75,7 +78,7 @@ smooth_icon = 'icons/turf/floors/lava_grass_red.dmi' light_range = 2 light_power = 0.6 - light_color = LIGHT_COLOR_FIRE + light_color = COLOR_LAVAPLANET_LIGHT gender = PLURAL /turf/open/floor/plating/grass/lava/orange @@ -88,44 +91,68 @@ icon = 'icons/turf/floors/lava_grass_purple.dmi' smooth_icon = 'icons/turf/floors/lava_grass_purple.dmi' +///The Moss +/turf/open/floor/plating/moss + name = "mossy carpet" + desc = "When the forests burned away and the sky grew dark, the moss learned to feed on the falling ash." + baseturfs = /turf/open/floor/plating/ashplanet //explosions and damage can destroy the moss + initial_gas_mix = LAVALAND_DEFAULT_ATMOS + planetary_atmos = TRUE + icon_state = "moss" + icon = 'icons/turf/lava_moss.dmi' + base_icon_state = "moss" + bullet_bounce_sound = null + footstep = FOOTSTEP_GRASS + barefootstep = FOOTSTEP_GRASS + clawfootstep = FOOTSTEP_GRASS + heavyfootstep = FOOTSTEP_GENERIC_HEAVY + layer = HIGH_TURF_LAYER + gender = PLURAL + light_power = 1 + light_range = 2 + pixel_x = -9 + pixel_y = -9 + +///Ruin Turfs (to-do, move all ruin turfs into their own bespoke files) + /turf/open/floor/concrete/pavement/lava initial_gas_mix = LAVALAND_DEFAULT_ATMOS light_range = 2 light_power = 0.6 - light_color = LIGHT_COLOR_FIRE + light_color = COLOR_LAVAPLANET_LIGHT /turf/open/floor/concrete/lava initial_gas_mix = LAVALAND_DEFAULT_ATMOS light_range = 2 light_power = 0.6 - light_color = LIGHT_COLOR_FIRE + light_color = COLOR_LAVAPLANET_LIGHT /turf/open/floor/concrete/slab_1/lava initial_gas_mix = LAVALAND_DEFAULT_ATMOS light_range = 2 light_power = 0.6 - light_color = LIGHT_COLOR_FIRE + light_color = COLOR_LAVAPLANET_LIGHT /turf/open/floor/plating/lava initial_gas_mix = LAVALAND_DEFAULT_ATMOS light_range = 2 light_power = 0.6 - light_color = LIGHT_COLOR_FIRE + light_color = COLOR_LAVAPLANET_LIGHT /turf/open/floor/plating/rust/lava initial_gas_mix = LAVALAND_DEFAULT_ATMOS light_range = 2 light_power = 0.6 - light_color = LIGHT_COLOR_FIRE + light_color = COLOR_LAVAPLANET_LIGHT /turf/open/floor/plasteel/white/lava initial_gas_mix = LAVALAND_DEFAULT_ATMOS light_range = 2 light_power = 0.6 - light_color = LIGHT_COLOR_FIRE + light_color = COLOR_LAVAPLANET_LIGHT /turf/open/floor/plasteel/dark/lava initial_gas_mix = LAVALAND_DEFAULT_ATMOS light_range = 2 light_power = 0.6 - light_color = LIGHT_COLOR_FIRE + light_color = COLOR_LAVAPLANET_LIGHT diff --git a/code/game/turfs/open/floor/plating/misc_plating.dm b/code/game/turfs/open/floor/plating/misc_plating.dm index 84a49d1a003..684420c8eb8 100644 --- a/code/game/turfs/open/floor/plating/misc_plating.dm +++ b/code/game/turfs/open/floor/plating/misc_plating.dm @@ -116,61 +116,6 @@ icon_state = "[icon_state][rand(1, 9)]" . = ..() - -/turf/open/floor/plating/beach - name = "beach" - icon = 'icons/misc/beach.dmi' - flags_1 = NONE - attachment_holes = FALSE - bullet_bounce_sound = null - footstep = FOOTSTEP_SAND - barefootstep = FOOTSTEP_SAND - clawfootstep = FOOTSTEP_SAND - heavyfootstep = FOOTSTEP_GENERIC_HEAVY - -/turf/open/floor/plating/beach/try_replace_tile(obj/item/stack/tile/T, mob/user, params) - return - -/turf/open/floor/plating/beach/ex_act(severity, target) - contents_explosion(severity, target) - -/turf/open/floor/plating/beach/sand - gender = PLURAL - name = "sand" - desc = "Surf's up." - icon_state = "sand" - baseturfs = /turf/open/floor/plating/beach/sand - -/turf/open/floor/plating/beach/coastline_t - name = "coastline" - desc = "Tide's high tonight. Charge your batons." - icon_state = "sandwater_t" - baseturfs = /turf/open/floor/plating/beach/coastline_t - -/turf/open/floor/plating/beach/coastline_b //need to make this water subtype. - name = "coastline" - icon_state = "sandwater_b" - baseturfs = /turf/open/floor/plating/beach/coastline_b - footstep = FOOTSTEP_LAVA - barefootstep = FOOTSTEP_LAVA - clawfootstep = FOOTSTEP_LAVA - heavyfootstep = FOOTSTEP_LAVA - -/turf/open/floor/plating/beach/water - gender = PLURAL - name = "water" - desc = "You get the feeling that nobody's bothered to actually make this water functional..." - icon_state = "water" - baseturfs = /turf/open/floor/plating/beach/water - footstep = FOOTSTEP_LAVA //placeholder, kinda. - barefootstep = FOOTSTEP_LAVA - clawfootstep = FOOTSTEP_LAVA - heavyfootstep = FOOTSTEP_LAVA - -/turf/open/floor/plating/beach/coastline_t/sandwater_inner - icon_state = "sandwater_inner" - baseturfs = /turf/open/floor/plating/beach/coastline_t/sandwater_inner - /turf/open/floor/plating/ironsand gender = PLURAL name = "iron sand" @@ -331,33 +276,3 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE -/turf/open/floor/plating/grass/beach - baseturfs = /turf/open/floor/plating/beach/sand - planetary_atmos = TRUE - -/turf/open/floor/plating/grass/beach/lit - light_range = 2 - light_power = 0.80 - - - -/turf/open/floor/plating/moss - name = "mossy carpet" - desc = "When the forests burned away and the sky grew dark, the moss learned to feed on the falling ash." - baseturfs = /turf/open/floor/plating/ashplanet //explosions and damage can destroy the moss - initial_gas_mix = LAVALAND_DEFAULT_ATMOS - planetary_atmos = TRUE - icon_state = "moss" - icon = 'icons/turf/lava_moss.dmi' - base_icon_state = "moss" - bullet_bounce_sound = null - footstep = FOOTSTEP_GRASS - barefootstep = FOOTSTEP_GRASS - clawfootstep = FOOTSTEP_GRASS - heavyfootstep = FOOTSTEP_GENERIC_HEAVY - layer = HIGH_TURF_LAYER - gender = PLURAL - light_power = 1 - light_range = 2 - pixel_x = -9 - pixel_y = -9 diff --git a/code/game/turfs/open/floor/plating/planet.dm b/code/game/turfs/open/floor/plating/planet.dm index a86847ca8f7..5609547928c 100644 --- a/code/game/turfs/open/floor/plating/planet.dm +++ b/code/game/turfs/open/floor/plating/planet.dm @@ -16,74 +16,16 @@ /turf/open/floor/plating/dirt/dark icon_state = "greenerdirt" baseturfs = /turf/open/floor/plating/dirt/dark + initial_gas_mix = JUNGLEPLANET_DEFAULT_ATMOS /turf/open/floor/plating/dirt/try_replace_tile(obj/item/stack/tile/T, mob/user, params) return -/turf/open/floor/plating/dirt/jungle - slowdown = 0.5 - baseturfs = /turf/open/floor/plating/dirt/jungle - initial_gas_mix = OPENTURF_DEFAULT_ATMOS - -/turf/open/floor/plating/dirt/jungle/lit - baseturfs = /turf/open/floor/plating/dirt/jungle/lit - light_range = 2 - light_power = 1 - light_color = COLOR_VERY_LIGHT_GRAY - -/turf/open/floor/plating/dirt/jungle/dark - icon_state = "greenerdirt" - baseturfs = /turf/open/floor/plating/dirt/jungle/dark - -/turf/open/floor/plating/dirt/jungle/dark/lit - light_range = 2 - light_power = 1 - -/turf/open/floor/plating/dirt/jungle/wasteland //Like a more fun version of living in Arizona. - name = "cracked earth" - desc = "Looks a bit dry." - icon = 'icons/turf/floors.dmi' - icon_state = "wasteland" - slowdown = 1 - baseturfs = /turf/open/floor/plating/dirt/jungle/wasteland - var/floor_variance = 15 - -/turf/open/floor/plating/dirt/jungle/wasteland/lit - baseturfs = /turf/open/floor/plating/dirt/jungle/wasteland/lit - light_range = 2 - light_power = 1 - - -/turf/open/floor/plating/dirt/jungle/wasteland/Initialize(mapload, inherited_virtual_z) - .=..() - if(prob(floor_variance)) - icon_state = "[initial(icon_state)][rand(0,12)]" - /turf/open/floor/plating/dirt/icemoon initial_gas_mix = ICEMOON_DEFAULT_ATMOS baseturfs = /turf/open/floor/plating/dirt/icemoon planetary_atmos = TRUE -/turf/open/floor/plating/grass/jungle - name = "jungle grass" - planetary_atmos = TRUE - desc = "Greener on the other side." - icon_state = "junglegrass" - base_icon_state = "junglegrass" - baseturfs = /turf/open/floor/plating/dirt/jungle - smooth_icon = 'icons/turf/floors/junglegrass.dmi' - baseturfs = /turf/open/floor/plating/grass/jungle - -/turf/open/floor/plating/grass/jungle/lit - baseturfs = /turf/open/floor/plating/dirt/jungle/lit - light_range = 2 - light_power = 1 - -/turf/open/water/jungle/lit - light_range = 2 - light_power = 0.8 - light_color = LIGHT_COLOR_BLUEGREEN - /turf/open/floor/plating/dirt/old icon_state = "oldsmoothdirt" @@ -98,8 +40,26 @@ light_power = 1 light_range = 2 - /turf/open/floor/plating/dirt/dry/lit light_power = 1 light_range = 2 + +//Artifical sand turfs +/turf/open/floor/plating/asteroid/sand/ship + name = "sand" + icon = 'icons/misc/beach.dmi' + icon_state = "sand" + base_icon_state = "sand" + baseturfs = /turf/open/floor/plating + initial_gas_mix = OPENTURF_DEFAULT_ATMOS + planetary_atmos = FALSE + digResult = null + +//artifical water turfs +/turf/open/water/ship + icon = 'icons/misc/beach.dmi' + icon_state = "water" + base_icon_state = "water" + initial_gas_mix = OPENTURF_DEFAULT_ATMOS + planetary_atmos = FALSE diff --git a/code/game/turfs/open/floor/plating/rockplanet.dm b/code/game/turfs/open/floor/plating/rockplanet.dm index eb0caa6485b..7e52dc85aaf 100644 --- a/code/game/turfs/open/floor/plating/rockplanet.dm +++ b/code/game/turfs/open/floor/plating/rockplanet.dm @@ -9,11 +9,11 @@ baseturfs = /turf/open/floor/plating/asteroid/rockplanet turf_type = /turf/open/floor/plating/asteroid/rockplanet digResult = /obj/item/stack/ore/glass/rockplanet + light_color = COLOR_ROCKPLANET_LIGHT /turf/open/floor/plating/asteroid/rockplanet/lit light_range = 2 light_power = 0.6 - light_color = COLOR_VERY_LIGHT_GRAY /turf/open/floor/plating/asteroid/rockplanet/cracked name = "iron cracked sand" @@ -25,7 +25,6 @@ /turf/open/floor/plating/asteroid/rockplanet/cracked/lit light_range = 2 light_power = 0.6 - light_color = COLOR_VERY_LIGHT_GRAY baseturfs = /turf/open/floor/plating/asteroid/rockplanet/lit turf_type = /turf/open/floor/plating/asteroid/rockplanet/lit @@ -45,35 +44,145 @@ /turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit light_range = 2 light_power = 0.6 - light_color = COLOR_VERY_LIGHT_GRAY + +//start crackhead subtyping (open reward of 1 erika token to anyone who untangles this somewhat) /turf/open/floor/plating/grass/rockplanet initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + light_color = COLOR_ROCKPLANET_LIGHT name = "dry grass" desc = "A patch of dry grass." /turf/open/floor/plating/dirt/rockplanet initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + light_color = COLOR_ROCKPLANET_LIGHT name = "mud" icon_state = "greenerdirt" /turf/open/water/rockplanet initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + light_color = COLOR_ROCKPLANET_LIGHT name = "pond" +///plating + /turf/open/floor/plating/rockplanet initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + light_color = COLOR_ROCKPLANET_LIGHT name = "exterior plating" +/turf/open/floor/plating/rockplanet/lit + light_range = 2 + light_power = 0.6 + +/turf/open/floor/plating/rust/rockplanet + name = "exterior plating" + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + light_color = COLOR_ROCKPLANET_LIGHT + +/turf/open/floor/plating/rust/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT + + +///floor tiles /turf/open/floor/plasteel/stairs/rockplanet initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS name = "exterior stairs" +/turf/open/floor/plasteel/stairs/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT -/turf/open/floor/engine/hull/rockplanet +/turf/open/floor/plasteel/rockplanet initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + name = "exterior floor" -/turf/open/floor/plasteel/rockplanet +/turf/open/floor/plasteel/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT + +/turf/open/floor/plasteel/patterned/rockplanet + name = "exterior floor" initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/plasteel/patterned/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT + +/turf/open/floor/plasteel/patterned/brushed/rockplanet name = "exterior floor" + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/plasteel/patterned/brushed/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT + +/turf/open/floor/plasteel/patterned/ridged/rockplanet + name = "exterior floor" + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/plasteel/patterned/ridged/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT + +/turf/open/floor/wood/rockplanet + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + light_color = COLOR_ROCKPLANET_LIGHT + +/turf/open/floor/pod/rockplanet + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + light_color = COLOR_ROCKPLANET_LIGHT + +///reinforced floors + +/turf/open/floor/engine/hull/rockplanet + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/engine/hull/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT + +/turf/open/floor/engine/hull/reinforced/rockplanet + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/engine/hull/reinforced/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT + +/// concrete + +/turf/open/floor/concrete/rockplanet + planetary_atmos = TRUE + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/concrete/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT + +///titanium + +/turf/open/floor/mineral/titanium/tiled/rockplanet + planetary_atmos = TRUE + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT + +///snow +/turf/open/floor/plating/asteroid/snow/lit/rockplanet + light_color = COLOR_ROCKPLANET_LIGHT + baseturfs = /turf/open/floor/plating/asteroid/rockplanet/lit + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS diff --git a/code/game/turfs/open/floor/plating/wasteplanet.dm b/code/game/turfs/open/floor/plating/wasteplanet.dm index 011cab93d28..dd79a190583 100644 --- a/code/game/turfs/open/floor/plating/wasteplanet.dm +++ b/code/game/turfs/open/floor/plating/wasteplanet.dm @@ -1,3 +1,4 @@ +///base turf /turf/open/floor/plating/asteroid/wasteplanet name = "dry rock" @@ -9,20 +10,18 @@ planetary_atmos = TRUE baseturfs = /turf/open/floor/plating/asteroid/wasteplanet digResult = /obj/item/stack/ore/glass/wasteplanet + light_color = COLOR_WASTEPLANET_LIGHT -/turf/open/water/tar/waste - baseturfs = /turf/open/floor/plating/asteroid/wasteplanet - planetary_atmos = TRUE - initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS +/turf/open/floor/plating/asteroid/wasteplanet/lit + light_range = 2 + light_power = 0.2 -/turf/open/floor/plating/wasteplanet - baseturfs = /turf/open/floor/plating/asteroid/wasteplanet - initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS +///plating turfs -/turf/open/floor/plating/rust/wasteplanet +/turf/open/floor/plating/wasteplanet baseturfs = /turf/open/floor/plating/asteroid/wasteplanet - planetary_atmos = TRUE initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + light_color = COLOR_WASTEPLANET_LIGHT /turf/open/floor/plating/wasteplanet/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) return @@ -32,65 +31,306 @@ desc = "Corrupted steel." icon_state = "plating_rust" +/turf/open/indestructible/hierophant/waste + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + planetary_atmos = TRUE + light_color = COLOR_WASTEPLANET_LIGHT + +/turf/open/indestructible/hierophant/two/waste + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + planetary_atmos = TRUE + light_color = COLOR_WASTEPLANET_LIGHT + /turf/open/floor/wood/waste initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS planetary_atmos = TRUE +/turf/open/floor/concrete/wasteplanet + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + light_color = COLOR_WASTEPLANET_LIGHT + planetary_atmos = TRUE + baseturfs = /turf/open/floor/plating/asteroid/wasteplanet + +/turf/open/floor/concrete/wasteplanet/Initialize() + . = ..() + icon_state = pick(list( + "conc_smooth", + "conc_slab_1", + "conc_slab_2", + "conc_slab_3", + "conc_slab_4", + "conc_tiles" + )) + +/turf/open/floor/concrete/wasteplanet/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) + return + +/turf/open/floor/concrete/reinforced/wasteplanet + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + light_color = COLOR_WASTEPLANET_LIGHT + planetary_atmos = TRUE + baseturfs = /turf/open/floor/plating/asteroid/wasteplanet + +/turf/open/floor/concrete/reinforced/wasteplanet/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) + return + +/turf/open/floor/concrete/pavement/wasteplanet + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + light_color = COLOR_WASTEPLANET_LIGHT + planetary_atmos = TRUE + baseturfs = /turf/open/floor/plating/asteroid/wasteplanet + +/turf/open/floor/concrete/pavement/wasteplanet/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) + return + +/turf/open/floor/plasteel/wasteplanet + baseturfs = /turf/open/floor/plating/wasteplanet + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + light_color = COLOR_WASTEPLANET_LIGHT + +/turf/open/floor/plasteel/wasteplanet/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) + return + +/turf/open/floor/plasteel/dark/wasteplanet + baseturfs = /turf/open/floor/plating/wasteplanet + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + light_color = COLOR_WASTEPLANET_LIGHT + +/turf/open/floor/plasteel/dark/wasteplanet/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) + return + +/turf/open/floor/wood/waste + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + planetary_atmos = TRUE + light_color = COLOR_WASTEPLANET_LIGHT + /turf/open/indestructible/hierophant/waste initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS planetary_atmos = TRUE + light_color = COLOR_WASTEPLANET_LIGHT /turf/open/indestructible/hierophant/two/waste initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS planetary_atmos = TRUE - light_color = LIGHT_COLOR_FLARE + light_color = COLOR_WASTEPLANET_LIGHT + + + + +///liquids /turf/open/water/waste initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS planetary_atmos = TRUE + light_color = COLOR_WASTEPLANET_LIGHT + +/turf/open/water/tar/waste + baseturfs = /turf/open/floor/plating/asteroid/wasteplanet + planetary_atmos = TRUE + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + light_color = COLOR_WASTEPLANET_LIGHT + +/turf/open/water/tar/waste/lit + light_range = 2 + light_power = 0.2 + +///biological-ish turfs /turf/open/floor/plating/grass/wasteplanet icon_state = "junglegrass" initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS planetary_atmos = TRUE + light_color = COLOR_WASTEPLANET_LIGHT /turf/open/floor/plating/dirt/old/waste initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS planetary_atmos = TRUE + light_color = COLOR_WASTEPLANET_LIGHT + +/turf/open/floor/plating/grass/wasteplanet/lit + light_range = 2 + light_power = 0.2 + +/turf/open/floor/plating/dirt/old/waste/lit + light_range = 2 + light_power = 0.2 + +///cement turfs + +/turf/open/floor/concrete/wasteplanet + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + planetary_atmos = TRUE + baseturfs = /turf/open/floor/plating/asteroid/wasteplanet + light_color = COLOR_WASTEPLANET_LIGHT + +/turf/open/floor/concrete/wasteplanet/Initialize() + . = ..() + icon_state = pick(list( + "conc_smooth", + "conc_slab_1", + "conc_slab_2", + "conc_slab_3", + "conc_slab_4", + "conc_tiles" + )) + +/turf/open/floor/concrete/wasteplanet/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) + return + +/turf/open/floor/concrete/reinforced/wasteplanet + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + planetary_atmos = TRUE + baseturfs = /turf/open/floor/plating/asteroid/wasteplanet + light_color = COLOR_WASTEPLANET_LIGHT + +/turf/open/floor/concrete/reinforced/wasteplanet/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) + return + +/turf/open/floor/concrete/pavement/wasteplanet + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + planetary_atmos = TRUE + baseturfs = /turf/open/floor/plating/asteroid/wasteplanet + light_color = COLOR_WASTEPLANET_LIGHT + +/turf/open/floor/concrete/pavement/wasteplanet/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) + return + + + +///Biological Turfs + +/turf/open/floor/plating/grass/wasteplanet + icon_state = "junglegrass" + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + planetary_atmos = TRUE + light_color = COLOR_WASTEPLANET_LIGHT + +/turf/open/floor/plating/dirt/old/waste + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + planetary_atmos = TRUE + baseturfs = /turf/open/floor/plating/asteroid/wasteplanet + light_color = COLOR_WASTEPLANET_LIGHT + + + + + //open turfs then open lits. /turf/open/floor/plating/wasteplanet/lit light_range = 2 light_power = 0.2 - light_color = LIGHT_COLOR_FLARE /turf/open/floor/plating/wasteplanet/rust/lit light_range = 2 light_power = 0.2 - light_color = LIGHT_COLOR_FLARE /turf/open/floor/plating/asteroid/wasteplanet/lit light_range = 2 light_power = 0.2 - light_color = LIGHT_COLOR_FLARE /turf/open/water/tar/waste/lit light_range = 2 light_power = 0.2 - light_color = LIGHT_COLOR_FLARE -/turf/open/water/waste/lit //do not drink +/turf/open/floor/concrete/wasteplanet/lit light_range = 2 light_power = 0.2 - light_color = LIGHT_COLOR_FLARE + light_color = COLOR_WASTEPLANET_LIGHT + +/turf/open/floor/concrete/reinforced/wasteplanet/lit + light_range = 2 + light_power = 0.2 + light_color = COLOR_WASTEPLANET_LIGHT + +/turf/open/floor/concrete/pavement/wasteplanet/lit + light_range = 2 + light_power = 0.2 + light_color = COLOR_WASTEPLANET_LIGHT /turf/open/floor/plating/dirt/old/waste/lit light_range = 2 light_power = 0.2 - light_color = LIGHT_COLOR_FLARE + light_color = COLOR_WASTEPLANET_LIGHT /turf/open/floor/plating/grass/wasteplanet/lit light_range = 2 light_power = 0.2 - light_color = LIGHT_COLOR_FLARE + light_color = COLOR_WASTEPLANET_LIGHT + +/turf/open/water/waste/lit //do not drink + light_range = 2 + light_power = 0.2 + light_color = COLOR_WASTEPLANET_LIGHT + +//closed turfs are a thing +/turf/closed/wall/r_wall/wasteplanet + max_integrity = 800 + integrity = 800 + baseturfs = /turf/open/floor/plating/wasteplanet + girder_type = /obj/structure/girder/wasteworld + +/turf/closed/wall/r_wall/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(200,400)) + + +/turf/closed/wall/r_wall/rust/wasteplanet + max_integrity = 600 + integrity = 600 + baseturfs = /turf/open/floor/plating/wasteplanet/rust + girder_type = /obj/structure/girder/wasteworld + +/turf/closed/wall/r_wall/rust/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(0,400)) + +/turf/closed/wall/wasteplanet + max_integrity = 200 + integrity = 200 + baseturfs = /turf/open/floor/plating/wasteplanet + girder_type = /obj/structure/girder/wasteworld + +/turf/closed/wall/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(0,150)) + +/turf/closed/wall/rust/wasteplanet + max_integrity = 100 + integrity = 100 + baseturfs = /turf/open/floor/plating/wasteplanet/rust + girder_type = /obj/structure/girder/wasteworld + +/turf/closed/wall/rust/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(0,100)) + +/turf/closed/wall/concrete/wasteplanet + max_integrity = 200 + integrity = 200 + baseturfs = /turf/open/floor/concrete/wasteplanet + +/turf/closed/wall/concrete/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(0,100)) + +/turf/closed/wall/concrete/reinforced/wasteplanet + max_integrity = 700 + integrity = 700 + baseturfs = /turf/open/floor/concrete/wasteplanet + +/turf/closed/wall/concrete/reinforced/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(0,500)) + +//girlder + +/obj/structure/girder/wasteworld + max_integrity = 40 diff --git a/code/game/turfs/open/floor/plating/whitesands.dm b/code/game/turfs/open/floor/plating/whitesands.dm index 6d7d0e3343f..40094890c53 100644 --- a/code/game/turfs/open/floor/plating/whitesands.dm +++ b/code/game/turfs/open/floor/plating/whitesands.dm @@ -1,3 +1,5 @@ +///sand (but not like the other sand that's also called sand) + /turf/open/floor/plating/asteroid/whitesands name = "salted sand" baseturfs = /turf/open/floor/plating/asteroid/whitesands @@ -6,13 +8,13 @@ icon_plating = "sand" planetary_atmos = TRUE base_icon_state = WHITESANDS_SAND_ENV - initial_gas_mix = WHITESANDS_ATMOS //Fallback, and used to tell the AACs that this is the exterior + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS digResult = /obj/item/stack/ore/glass/whitesands + light_color = COLOR_SANDPLANET_LIGHT /turf/open/floor/plating/asteroid/whitesands/lit light_range = 2 light_power = 0.6 - light_color = COLOR_VERY_LIGHT_GRAY baseturfs = /turf/open/floor/plating/asteroid/whitesands/lit /turf/open/floor/plating/asteroid/whitesands/dried @@ -29,24 +31,25 @@ /turf/open/floor/plating/asteroid/whitesands/dried/lit light_range = 2 light_power = 0.6 - light_color = COLOR_VERY_LIGHT_GRAY baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried/lit -/turf/open/floor/plating/grass/whitesands - initial_gas_mix = WHITESANDS_ATMOS +///basalt /turf/open/floor/plating/asteroid/basalt/whitesands - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS planetary_atmos = TRUE baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried icon_state = "whitesands_basalt0" icon_plating = "whitesands_basalt0" dug = TRUE + light_color = COLOR_SANDPLANET_LIGHT /turf/open/floor/plating/asteroid/basalt/whitesands/Initialize(mapload, inherited_virtual_z) . = ..() icon_state = "whitesands_basalt[rand(0,1)]" +///grass + /turf/open/floor/plating/asteroid/whitesands/grass name = "purple grass" desc = "The few known flora on Whitesands are in a purplish color." @@ -55,11 +58,12 @@ base_icon_state = "grass" baseturfs = /turf/open/floor/plating/asteroid/whitesands turf_type = /turf/open/floor/plating/asteroid/whitesands/grass - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS planetary_atmos = TRUE smoothing_flags = SMOOTH_BITMASK smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_FLOOR_GRASS) canSmoothWith = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_FLOOR_GRASS) + light_color = COLOR_SANDPLANET_LIGHT /turf/open/floor/plating/asteroid/whitesands/grass/Initialize(mapload, inherited_virtual_z) . = ..() @@ -80,3 +84,50 @@ /turf/open/floor/plating/asteroid/whitesands/grass/dead/lit light_power = 1 light_range = 2 + +///the singular snow tile: + +/turf/open/floor/plating/asteroid/snow/lit/whitesands + light_color = COLOR_SANDPLANET_LIGHT + baseturfs = /turf/open/floor/plating/asteroid/whitesands/lit + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS + +/turf/open/floor/concrete/whitesands + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS + light_color = COLOR_SANDPLANET_LIGHT + +/turf/open/floor/concrete/whitesands/lit + light_range = 2 + light_power = 0.6 + +/turf/open/floor/concrete/reinforced/whitesands + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS + light_color = COLOR_SANDPLANET_LIGHT + +/turf/open/floor/concrete/reinforced/whitesands/lit + light_range = 2 + light_power = 0.6 + +/turf/open/floor/concrete/pavement/whitesands + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS + light_color = COLOR_SANDPLANET_LIGHT + +/turf/open/floor/concrete/pavement/whitesands/lit + light_range = 2 + light_power = 0.6 + +/turf/open/floor/concrete/slab_1/whitesands + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS + light_color = COLOR_SANDPLANET_LIGHT + +/turf/open/floor/concrete/slab_1/whitesands/lit + light_range = 2 + light_power = 0.6 + +/turf/open/floor/plating/whitesands + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS + light_color = COLOR_SANDPLANET_LIGHT + +/turf/open/floor/plating/whitesands/lit + light_range = 2 + light_power = 0.6 diff --git a/code/game/turfs/open/floor/reinf_floor.dm b/code/game/turfs/open/floor/reinf_floor.dm index 7fb94e541bd..9094b0a3238 100644 --- a/code/game/turfs/open/floor/reinf_floor.dm +++ b/code/game/turfs/open/floor/reinf_floor.dm @@ -141,36 +141,6 @@ name = "hydrogen mix floor" initial_gas_mix = ATMOS_TANK_HYDROGEN_FUEL -/turf/open/floor/engine/cult - name = "engraved floor" - desc = "The air smells strange over this sinister flooring." - icon_state = "plating" - floor_tile = null - var/obj/effect/cult_turf/overlay/floor/bloodcult/realappearance - - -/turf/open/floor/engine/cult/Initialize(mapload, inherited_virtual_z) - . = ..() - new /obj/effect/temp_visual/cult/turf/floor(src) - realappearance = new /obj/effect/cult_turf/overlay/floor/bloodcult(src) - realappearance.linked = src - -/turf/open/floor/engine/cult/Destroy() - be_removed() - return ..() - -/turf/open/floor/engine/cult/ChangeTurf(path, new_baseturf, flags) - if(path != type) - be_removed() - return ..() - -/turf/open/floor/engine/cult/proc/be_removed() - qdel(realappearance) - realappearance = null - -/turf/open/floor/engine/cult/airless - initial_gas_mix = AIRLESS_ATMOS - /turf/open/floor/engine/vacuum name = "vacuum floor" initial_gas_mix = AIRLESS_ATMOS diff --git a/code/game/turfs/open/lava.dm b/code/game/turfs/open/lava.dm index eb2132940bd..159a32a2ccc 100644 --- a/code/game/turfs/open/lava.dm +++ b/code/game/turfs/open/lava.dm @@ -169,7 +169,7 @@ else if (isliving(thing)) . = 1 var/mob/living/L = thing - if(L.movement_type & FLYING) + if(L.movement_type & FLYING || L.throwing) continue //YOU'RE FLYING OVER IT var/buckle_check = L.buckling if(!buckle_check) @@ -220,19 +220,13 @@ /turf/open/lava/smooth/airless initial_gas_mix = AIRLESS_ATMOS -/particles/lava - width = 700 - height = 700 - count = 1000 - spawning = 1 - lifespan = 3 SECONDS - fade = 2 SECONDS - position = generator("circle", 16, 24, NORMAL_RAND) - drift = generator("vector", list(-0.2, -0.2), list(0.2, 0.2)) - velocity = generator("circle", -6, 6, NORMAL_RAND) - friction = 0.15 - gradient = list(0,LIGHT_COLOR_FLARE , 0.75, COLOR_ALMOST_BLACK) - color_change = 0.125 +/obj/effect/particle_holder + name = "" + anchored = TRUE + mouse_opacity = 0 + +/obj/effect/particle_emitter/Initialize(mapload, time) + . = ..() /obj/effect/particle_emitter/lava - particles = new/particles/lava + particles = new/particles/embers/lava diff --git a/code/game/turfs/open/water.dm b/code/game/turfs/open/water.dm index 9128844e1a2..5a78c24dc1f 100644 --- a/code/game/turfs/open/water.dm +++ b/code/game/turfs/open/water.dm @@ -18,27 +18,33 @@ var/datum/reagent/reagent_to_extract = /datum/reagent/water var/extracted_reagent_visible_name = "water" -/* -/turf/open/water/attackby(obj/item/tool, mob/user, params) +/turf/open/water/examine(mob/user) + . = ..() + if(reagent_to_extract) + . += span_notice("You could probably scoop some of the [extracted_reagent_visible_name] if you had a beaker...") + +/turf/open/water/attackby(obj/item/_item, mob/user, params) + if(istype(_item, /obj/item/fish)) + to_chat(user, span_notice("You toss the [_item.name] into the [name].")) + playsound(_item, "sound/effects/bigsplash.ogg", 90) + qdel(_item) + if(istype(_item, /obj/item/reagent_containers/glass)) + extract_reagents(_item,user,params) + + . = ..() + +/turf/open/water/proc/extract_reagents(obj/item/reagent_containers/glass/container, mob/user, params) if(!reagent_to_extract) - return ..() - var/obj/item/reagent_containers/glass/container = tool - if(!istype(tool, /obj/item/reagent_containers)) - return ..() + return FALSE + if(!container.is_refillable()) + to_chat(user, span_danger("\The [container]'s cap is on! Take it off first.")) + return FALSE if(container.reagents.total_volume >= container.volume) - to_chat(user, "[container] is full.") - return + to_chat(user, span_danger("\The [container] is full.")) + return FALSE container.reagents.add_reagent(reagent_to_extract, rand(5, 10)) - user.visible_message("[user] scoops [extracted_reagent_visible_name] from the [src] with \the [container].", "You scoop out [extracted_reagent_visible_name] from the [src] using \the [container].") + user.visible_message(span_notice("[user] scoops [extracted_reagent_visible_name] from the [src] with \the [container]."), span_notice("You scoop out [extracted_reagent_visible_name] from the [src] using \the [container].")) return TRUE -*/ - -/turf/open/water/attackby(obj/item/fish, mob/user, params) - . = ..() - if(istype(fish, /obj/item/fish)) - to_chat(user, "You toss the [fish.name] into the water.") - playsound(fish, "sound/effects/bigsplash.ogg", 90) - qdel(fish) /turf/open/water/can_have_cabling() return FALSE @@ -52,7 +58,7 @@ /turf/open/water/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) switch(passed_mode) if(RCD_FLOORWALL) - to_chat(user, "You build a floor.") + to_chat(user, span_notice("You build a floor.")) PlaceOnTop(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) return TRUE return FALSE @@ -64,6 +70,7 @@ light_range = 2 light_power = 0.6 light_color = COLOR_VERY_LIGHT_GRAY + initial_gas_mix = JUNGLEPLANET_DEFAULT_ATMOS /turf/open/water/jungle/Initialize(mapload) . = ..() @@ -85,7 +92,7 @@ /turf/open/water/tar name = "tar pit" - desc = "Shallow tar. Will slow you down significantly. You could use a beaker to scoop some out..." + desc = "Shallow tar. Will slow you down significantly." color = "#473a3a" light_range = 0 slowdown = 2 diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index e5cc9709559..4da6e25703b 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -378,7 +378,7 @@ GLOBAL_LIST_EMPTY(created_baseturf_lists) /turf/open/Entered(atom/movable/AM) . =..() //melting - if(isobj(AM) && air && air.return_temperature() > T0C) + if(isobj(AM) && air?.return_temperature() > T0C) var/obj/O = AM if(O.obj_flags & FROZEN) O.make_unfrozen() @@ -582,8 +582,8 @@ GLOBAL_LIST_EMPTY(created_baseturf_lists) /turf/proc/acid_melt() return -/turf/handle_fall(mob/faller) - if(has_gravity(src)) +/turf/handle_fall(mob/faller, fall_sound_played) + if(has_gravity(src) && !fall_sound_played) playsound(src, "bodyfall", 50, TRUE) faller.drop_all_held_items() diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 82e75d63b30..a438fa57a06 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -153,7 +153,6 @@ body += "Make Robot" body += "Make Alien" body += "Make Slime" - body += "Make Blob" //Simple Animals if(isanimal(M)) @@ -196,6 +195,7 @@ body += "Thunderdome 2" body += "Thunderdome Admin" body += "Thunderdome Observer" + body += "Commend Behavior | " body += "
    " body += "" @@ -851,22 +851,6 @@ if(!ai_number) to_chat(usr, "No AIs located" , confidential = TRUE) -/datum/admins/proc/output_all_devil_info() - var/devil_number = 0 - for(var/datum/mind/D in SSticker.mode.devils) - devil_number++ - var/datum/antagonist/devil/devil = D.has_antag_datum(/datum/antagonist/devil) - to_chat(usr, "Devil #[devil_number]:

    " + devil.printdevilinfo(), confidential = TRUE) - if(!devil_number) - to_chat(usr, "No Devils located" , confidential = TRUE) - -/datum/admins/proc/output_devil_info(mob/living/M) - if(is_devil(M)) - var/datum/antagonist/devil/devil = M.mind.has_antag_datum(/datum/antagonist/devil) - to_chat(usr, devil.printdevilinfo(), confidential = TRUE) - else - to_chat(usr, "[M] is not a devil.", confidential = TRUE) - /datum/admins/proc/dynamic_mode_options(mob/user) var/dat = {"

    Dynamic Mode Options


    diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 7672a2d4645..138cc373c94 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -104,6 +104,7 @@ GLOBAL_LIST_INIT(admin_verbs_fun, list( /client/proc/cmd_admin_gib_self, /client/proc/cmd_change_command_name, /client/proc/cmd_admin_create_centcom_report, + /client/proc/cmd_admin_distress_signal, /client/proc/drop_bomb, /client/proc/set_dynex_scale, /client/proc/drop_dynex_bomb, @@ -255,6 +256,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, list( /client/proc/cinematic, /client/proc/cmd_admin_add_freeform_ai_law, /client/proc/cmd_admin_create_centcom_report, + /client/proc/cmd_admin_distress_signal, /client/proc/cmd_change_command_name, /client/proc/object_say, /client/proc/toggle_random_events, diff --git a/code/modules/admin/callproc/callproc.dm b/code/modules/admin/callproc/callproc.dm index 0fbae3fe55d..8e99b47573a 100644 --- a/code/modules/admin/callproc/callproc.dm +++ b/code/modules/admin/callproc/callproc.dm @@ -90,6 +90,12 @@ GLOBAL_PROTECT(LastAdminCalledProc) to_chat(usr, "Calling Del() is not allowed", confidential = TRUE) return + if(findtextEx(trim(lowertext(procname)), "rustg")) + var/message = "[key_name(usr)] attempted to call [procname] with arguments: [english_list(arguments)]. Rustg calls are not allowed." + log_admin_private(message) + message_admins(message) + return + if(target != GLOBAL_PROC && !target.CanProcCall(procname)) to_chat(usr, "Proccall on [target.type]/proc/[procname] is disallowed!", confidential = TRUE) return diff --git a/code/modules/admin/fun_balloon.dm b/code/modules/admin/fun_balloon.dm index 04e84097f6d..0be2f41696e 100644 --- a/code/modules/admin/fun_balloon.dm +++ b/code/modules/admin/fun_balloon.dm @@ -136,8 +136,3 @@ /obj/effect/forcefield/arena_shuttle_entrance/proc/do_bloodbath(mob/living/L) var/obj/item/mine/pressure/pickup/bloodbath/B = new (L) B.mine_effect(L) - -/area/shuttle_arena - name = "arena" - has_gravity = STANDARD_GRAVITY - requires_power = FALSE diff --git a/code/modules/admin/permissionedit.dm b/code/modules/admin/permissionedit.dm index 5e354e0f655..0046d353dc5 100644 --- a/code/modules/admin/permissionedit.dm +++ b/code/modules/admin/permissionedit.dm @@ -214,7 +214,7 @@ . = 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, "[admin_key] is already an admin.", confidential = TRUE) return FALSE if(use_db) diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index cf834c9f9c5..e5888f8088d 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -216,9 +216,10 @@
    OrganDmgStatusOrganDmgStatus
    [organ.name][CEILING(organ.damage,1)]
    [organ.name][CEILING(organ.damage,1)][status]
    "} - var/list/mobs = sortmobs() + var/list/mobs = SSpoints_of_interest.get_mob_pois() var/i = 1 - for(var/mob/M in mobs) + for(var/mob_name in mobs) + var/mob/M = mobs[mob_name] if(M.ckey) var/color = "#e6e6e6" @@ -254,12 +255,7 @@ M_job = "Silicon-based" else if(isanimal(M)) //simple animals - if(iscorgi(M)) - M_job = "Corgi" - else if(isslime(M)) - M_job = "slime" - else - M_job = "Animal" + M_job = "Animal" else M_job = "Living" diff --git a/code/modules/admin/sql_ban_system.dm b/code/modules/admin/sql_ban_system.dm index bde0a7676fa..bd3d189f85e 100644 --- a/code/modules/admin/sql_ban_system.dm +++ b/code/modules/admin/sql_ban_system.dm @@ -284,9 +284,9 @@ output += "" var/list/long_job_lists = list("Service" = GLOB.service_positions, "Ghost and Other Roles" = list(ROLE_BRAINWASHED, ROLE_DEATHSQUAD, ROLE_DRONE, ROLE_LAVALAND, ROLE_MIND_TRANSFER, ROLE_POSIBRAIN, ROLE_SENTIENCE), - "Antagonist Positions" = list(ROLE_ABDUCTOR, ROLE_ALIEN, ROLE_BLOB, - ROLE_BROTHER, ROLE_CHANGELING, ROLE_CULTIST, - ROLE_DEVIL, ROLE_INTERNAL_AFFAIRS, ROLE_MALF, + "Antagonist Positions" = list(ROLE_ABDUCTOR, ROLE_ALIEN, + ROLE_BROTHER, ROLE_CHANGELING, + ROLE_INTERNAL_AFFAIRS, ROLE_MALF, ROLE_MONKEY, ROLE_NINJA, ROLE_OPERATIVE, ROLE_OVERTHROW, ROLE_REV, ROLE_REVENANT, ROLE_REV_HEAD, ROLE_SYNDICATE, diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 2e4b1c60acd..9b757bae25f 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -78,13 +78,6 @@ else message_admins("[key_name_admin(usr)] tried to create changelings. Unfortunately, there were no candidates available.") log_admin("[key_name(usr)] failed to create changelings.") - if("cult") - if(src.makeCult()) - message_admins("[key_name(usr)] started a cult.") - log_admin("[key_name(usr)] started a cult.") - else - message_admins("[key_name_admin(usr)] tried to start a cult. Unfortunately, there were no candidates available.") - log_admin("[key_name(usr)] failed to start a cult.") if("wizard") message_admins("[key_name(usr)] is creating a wizard...") if(src.makeWizard()) @@ -117,13 +110,6 @@ else message_admins("[key_name_admin(usr)] tried to create a death squad. Unfortunately, there were not enough candidates available.") log_admin("[key_name(usr)] failed to create a death squad.") - if("blob") - var/strength = input("Set Blob Resource Gain Rate","Set Resource Rate",1) as num|null - if(!strength) - return - message_admins("[key_name(usr)] spawned a blob with base resource gain [strength].") - log_admin("[key_name(usr)] spawned a blob with base resource gain [strength].") - new/datum/round_event/ghost_role/blob(TRUE, strength) if("centcom") message_admins("[key_name(usr)] is creating a response team...") if(src.makeEmergencyresponseteam()) @@ -357,14 +343,6 @@ M.change_mob_type(/mob/living/simple_animal/parrot , null, null, delmob) if("polyparrot") M.change_mob_type(/mob/living/simple_animal/parrot/Polly , null, null, delmob) - if("constructjuggernaut") - M.change_mob_type(/mob/living/simple_animal/hostile/construct/juggernaut , null, null, delmob) - if("constructartificer") - M.change_mob_type(/mob/living/simple_animal/hostile/construct/artificer , null, null, delmob) - if("constructwraith") - M.change_mob_type(/mob/living/simple_animal/hostile/construct/wraith , null, null, delmob) - if("shade") - M.change_mob_type(/mob/living/simple_animal/shade , null, null, delmob) else if(href_list["boot2"]) if(!check_rights(R_ADMIN)) @@ -1077,18 +1055,6 @@ usr.client.cmd_admin_slimeize(H) - else if(href_list["makeblob"]) - if(!check_rights(R_SPAWN)) - return - - var/mob/living/carbon/human/H = locate(href_list["makeblob"]) - if(!istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human.", confidential = TRUE) - return - - usr.client.cmd_admin_blobize(H) - - else if(href_list["makerobot"]) if(!check_rights(R_SPAWN)) return @@ -1159,12 +1125,6 @@ return output_ai_laws() - else if(href_list["admincheckdevilinfo"]) - if(!check_rights(R_ADMIN)) - return - var/mob/M = locate(href_list["admincheckdevilinfo"]) - output_devil_info(M) - else if(href_list["adminmoreinfo"]) var/mob/M = locate(href_list["adminmoreinfo"]) in GLOB.mob_list if(!ismob(M)) @@ -1236,9 +1196,9 @@ //milk to plasmemes and skeletons, meat to lizards, electricity bars to ethereals, cookies to everyone else var/obj/item/reagent_containers/food/cookiealt = /obj/item/reagent_containers/food/snacks/cookie if(isskeleton(H)) - cookiealt = /obj/item/reagent_containers/food/condiment/milk + cookiealt = /obj/item/reagent_containers/condiment/milk else if(isplasmaman(H)) - cookiealt = /obj/item/reagent_containers/food/condiment/milk + cookiealt = /obj/item/reagent_containers/condiment/milk else if(iselzuose(H)) cookiealt = /obj/item/reagent_containers/food/snacks/energybar // WS - More fun with cookies - Start @@ -1992,7 +1952,7 @@ if(response.body == "[]") dat += "
    0 bans detected for [ckey]
    " else - bans = json_decode(response["body"]) + bans = json_decode(response.body) //Ignore bans from non-whitelisted sources, if a whitelist exists var/list/valid_sources @@ -2206,6 +2166,19 @@ var/datum/poll_question/poll = locate(href_list["submitoptionpoll"]) in GLOB.polls poll_option_parse_href(href_list, poll, option) + else if(href_list["admincommend"]) + var/mob/heart_recepient = locate(href_list["admincommend"]) + if(!heart_recepient?.ckey) + to_chat(usr, "This mob either no longer exists or no longer is being controlled by someone!") + return + switch(tgui_alert(usr, "Would you like the effects to apply immediately or at the end of the round? Applying them now will make it clear it was an admin commendation.", "<3?", list("Apply now", "Apply at round end", "Cancel"))) + if("Apply now") + heart_recepient.receive_heart(usr, instant = TRUE) + if("Apply at round end") + heart_recepient.receive_heart(usr) + else + return + else if (href_list["interview"]) if(!check_rights(R_ADMIN)) return diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 5ac4714257e..9f779262842 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -883,3 +883,34 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) return_list[ASAY_LINK_NEW_MESSAGE_INDEX] = jointext(msglist, " ") // without tuples, we must make do! return_list[ASAY_LINK_PINGED_ADMINS_INDEX] = pinged_admins return return_list + +/proc/get_mob_by_name(msg) + //This is a list of words which are ignored by the parser when comparing message contents for names. MUST BE IN LOWER CASE! + var/list/ignored_words = list("unknown","the","a","an","of","monkey","alien","as", "i") + + //explode the input msg into a list + var/list/msglist = splittext(msg, " ") + + //who might fit the shoe + var/list/potential_hits = list() + + for(var/i in GLOB.mob_list) + var/mob/M = i + var/list/nameWords = list() + if(!M.mind) + continue + + for(var/string in splittext(lowertext(M.real_name), " ")) + if(!(string in ignored_words)) + nameWords += string + for(var/string in splittext(lowertext(M.name), " ")) + if(!(string in ignored_words)) + nameWords += string + + for(var/string in nameWords) + testing("Name word [string]") + if(string in msglist) + potential_hits += M + break + + return potential_hits diff --git a/code/modules/admin/verbs/adminjump.dm b/code/modules/admin/verbs/adminjump.dm index 9b84224317a..708448cf52c 100644 --- a/code/modules/admin/verbs/adminjump.dm +++ b/code/modules/admin/verbs/adminjump.dm @@ -140,7 +140,7 @@ usr.forceMove(M.loc) SSblackbox.record_feedback("tally", "admin_verb", 1, "Get Key") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -/client/proc/sendmob(mob/M in sortmobs()) +/client/proc/sendmob(mob/M in SSpoints_of_interest.get_mob_pois()) set category = "Admin.Game" set name = "Send Mob" if(!src.holder) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 9a226bbcb61..61d8b275783 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -52,21 +52,6 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that else alert("Invalid mob") -/client/proc/cmd_admin_blobize(mob/M in GLOB.mob_list) - set category = "Event.Fun" - set name = "Make Blob" - - if(!SSticker.HasRoundStarted()) - alert("Wait until the game starts") - return - if(ishuman(M)) - log_admin("[key_name(src)] has blobized [M.key].") - var/mob/living/carbon/human/H = M - H.become_overmind() - else - alert("Invalid mob") - - /client/proc/cmd_admin_animalize(mob/M in GLOB.mob_list) set category = "Event.Fun" set name = "Make Simple Animal" @@ -629,6 +614,9 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that dellog += "
  • Ignored force: [I.no_respect_force]
  • " if (I.no_hint) dellog += "
  • No hint: [I.no_hint]
  • " + if(LAZYLEN(I.extra_details)) + var/details = I.extra_details.Join("
  • ") + dellog += "
  • Extra Info:
    • [details]
    " dellog += "
  • " dellog += "" diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 028c9729131..d4b9259a61e 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -16,8 +16,6 @@ var/dat = {" Make Traitors
    Make Changelings
    - Make Cult
    - Make Blob
    Make Wizard (Requires Ghosts)
    Make Nuke Team (Requires Ghosts)
    Make Response Team (Requires Ghosts)
    @@ -114,38 +112,6 @@ new_character.mind.make_Wizard() return TRUE - -/datum/admins/proc/makeCult() - var/datum/game_mode/cult/temp = new - if(CONFIG_GET(flag/protect_roles_from_antagonist)) - temp.restricted_jobs += temp.protected_jobs - - if(CONFIG_GET(flag/protect_assistant_from_antagonist)) - temp.restricted_jobs += "Assistant" - - var/list/mob/living/carbon/human/candidates = list() - var/mob/living/carbon/human/H = null - - for(var/mob/living/carbon/human/applicant in GLOB.player_list) - if(isReadytoRumble(applicant, ROLE_CULTIST)) - if(temp.age_check(applicant.client)) - if(!(applicant.job in temp.restricted_jobs)) - candidates += applicant - - if(candidates.len) - var/numCultists = min(candidates.len, 4) - - for(var/i = 0, i 0 || islist(D)) //handling keys in assoc lists + if(level > 0 || islist(owner)) //handling keys in assoc lists if(istype(name,/datum)) name_part = "[VV_HTML_ENCODE(name)] [REF(name)]" else if(islist(name)) diff --git a/code/modules/admin/view_variables/reference_tracking.dm b/code/modules/admin/view_variables/reference_tracking.dm index a9a84986416..b9fd0e6d2ad 100644 --- a/code/modules/admin/view_variables/reference_tracking.dm +++ b/code/modules/admin/view_variables/reference_tracking.dm @@ -1,36 +1,29 @@ #ifdef REFERENCE_TRACKING +#define REFSEARCH_RECURSE_LIMIT 64 -/datum/proc/find_references(skip_alert) - running_find_references = type +/datum/proc/find_references(references_to_clear = INFINITY) if(usr?.client) - if(usr.client.running_find_references) - log_reftracker("CANCELLED search for references to a [usr.client.running_find_references].") - usr.client.running_find_references = null - running_find_references = null - //restart the garbage collector - SSgarbage.can_fire = TRUE - SSgarbage.next_fire = world.time + world.tick_lag + if(tgui_alert(usr,"Running this will lock everything up for about 5 minutes. Would you like to begin the search?", "Find References", list("Yes", "No")) != "Yes") return - #ifndef FIND_REF_NO_CHECK_TICK - if(!skip_alert && alert("Running this will lock everything up for about 5 minutes. Would you like to begin the search?", "Find References", "Yes", "No") != "Yes") - running_find_references = null - return - #endif - + src.references_to_clear = references_to_clear //this keeps the garbage collector from failing to collect objects being searched for in here SSgarbage.can_fire = FALSE - if(usr?.client) - usr.client.running_find_references = type + _search_references() + //restart the garbage collector + SSgarbage.can_fire = TRUE + SSgarbage.update_nextfire(reset_time = TRUE) - log_reftracker("Beginning search for references to a [type].") +/datum/proc/_search_references() + log_reftracker("Beginning search for references to a [type], looking for [references_to_clear] refs.") var/starting_time = world.time - //Time to search the whole game for our ref - DoSearchVar(GLOB, "GLOB", search_time = starting_time) //globals + DoSearchVar(GLOB, "GLOB", starting_time) //globals log_reftracker("Finished searching globals") + if(src.references_to_clear == 0) + return //Yes we do actually need to do this. The searcher refuses to read weird lists //And global.vars is a really weird list @@ -38,45 +31,46 @@ for(var/key in global.vars) global_vars[key] = global.vars[key] - DoSearchVar(global_vars, "Native Global", search_time = starting_time) + DoSearchVar(global_vars, "Native Global", starting_time) log_reftracker("Finished searching native globals") + if(src.references_to_clear == 0) + return for(var/datum/thing in world) //atoms (don't beleive its lies) - DoSearchVar(thing, "World -> [thing.type]", search_time = starting_time) + DoSearchVar(thing, "World -> [thing.type]", starting_time) + if(src.references_to_clear == 0) + break log_reftracker("Finished searching atoms") + if(src.references_to_clear == 0) + return for(var/datum/thing) //datums - DoSearchVar(thing, "Datums -> [thing.type]", search_time = starting_time) + DoSearchVar(thing, "Datums -> [thing.type]", starting_time) + if(src.references_to_clear == 0) + break log_reftracker("Finished searching datums") + if(src.references_to_clear == 0) + return -#ifndef REFERENCE_DOING_IT_LIVE //Warning, attempting to search clients like this will cause crashes if done on live. Watch yourself +#ifndef REFERENCE_DOING_IT_LIVE for(var/client/thing) //clients - DoSearchVar(thing, "Clients -> [thing.type]", search_time = starting_time) + DoSearchVar(thing, "Clients -> [thing.type]", starting_time) + if(src.references_to_clear == 0) + break log_reftracker("Finished searching clients") - - log_reftracker("Completed search for references to a [type].") + if(src.references_to_clear == 0) + return #endif - if(usr?.client) - usr.client.running_find_references = null - running_find_references = null - - //restart the garbage collector - SSgarbage.can_fire = TRUE - SSgarbage.next_fire = world.time + world.tick_lag - -/datum/proc/DoSearchVar(potential_container, container_name, recursive_limit = 64, search_time = world.time) - #ifdef REFERENCE_TRACKING_DEBUG - if(SSgarbage.should_save_refs && !found_refs) - found_refs = list() - #endif + log_reftracker("Completed search for references to a [type].") - if(usr?.client && !usr.client.running_find_references) +/datum/proc/DoSearchVar(potential_container, container_name, search_time, recursion_count, is_special_list) + if(recursion_count >= REFSEARCH_RECURSE_LIMIT) + log_reftracker("Recursion limit reached. [container_name]") return - if(!recursive_limit) - log_reftracker("Recursion limit reached. [container_name]") + if(references_to_clear == 0) return //Check each time you go down a layer. This makes it a bit slow, but it won't effect the rest of the game at all @@ -84,7 +78,7 @@ CHECK_TICK #endif - if(istype(potential_container, /datum)) + if(isdatum(potential_container)) var/datum/datum_container = potential_container if(datum_container.last_find_references == search_time) return @@ -92,68 +86,122 @@ datum_container.last_find_references = search_time var/list/vars_list = datum_container.vars + var/is_atom = FALSE + var/is_area = FALSE + if(isatom(datum_container)) + is_atom = TRUE + if(isarea(datum_container)) + is_area = TRUE for(var/varname in vars_list) - #ifndef FIND_REF_NO_CHECK_TICK - CHECK_TICK - #endif - if (varname == "vars" || varname == "vis_locs") //Fun fact, vis_locs don't count for references - continue var/variable = vars_list[varname] - - if(variable == src) + if(islist(variable)) + //Fun fact, vis_locs don't count for references + if(varname == "vars" || (is_atom && (varname == "vis_locs" || varname == "overlays" || varname == "underlays" || varname == "filters" || varname == "verbs" || (is_area && varname == "contents")))) + continue + // We do this after the varname check to avoid area contents (reading it incures a world loop's worth of cost) + if(!length(variable)) + continue + DoSearchVar(variable,\ + "[container_name] [datum_container.ref_search_details()] -> [varname] (list)",\ + search_time,\ + recursion_count + 1,\ + /*is_special_list = */ is_atom && (varname == "contents" || varname == "vis_contents" || varname == "locs")) + else if(variable == src) #ifdef REFERENCE_TRACKING_DEBUG if(SSgarbage.should_save_refs) + if(!found_refs) + found_refs = list() found_refs[varname] = TRUE continue //End early, don't want these logging + else + log_reftracker("Found [type] [text_ref(src)] in [datum_container.type]'s [datum_container.ref_search_details()] [varname] var. [container_name]") + #else + log_reftracker("Found [type] [text_ref(src)] in [datum_container.type]'s [datum_container.ref_search_details()] [varname] var. [container_name]") #endif - log_reftracker("Found [type] [text_ref(src)] in [datum_container.type]'s [text_ref(datum_container)] [varname] var. [container_name]") + references_to_clear -= 1 + if(references_to_clear == 0) + log_reftracker("All references to [type] [text_ref(src)] found, exiting.") + return continue - if(islist(variable)) - DoSearchVar(variable, "[container_name] [text_ref(datum_container)] -> [varname] (list)", recursive_limit - 1, search_time) - else if(islist(potential_container)) - var/normal = IS_NORMAL_LIST(potential_container) var/list/potential_cache = potential_container for(var/element_in_list in potential_cache) - #ifndef FIND_REF_NO_CHECK_TICK - CHECK_TICK - #endif + //Check normal sublists + if(islist(element_in_list)) + if(length(element_in_list)) + DoSearchVar(element_in_list, "[container_name] -> [element_in_list] (list)", search_time, recursion_count + 1) //Check normal entrys - if(element_in_list == src) + else if(element_in_list == src) #ifdef REFERENCE_TRACKING_DEBUG if(SSgarbage.should_save_refs) + if(!found_refs) + found_refs = list() found_refs[potential_cache] = TRUE - continue //End early, don't want these logging - #endif + continue + else + log_reftracker("Found [type] [text_ref(src)] in list [container_name].") + #else log_reftracker("Found [type] [text_ref(src)] in list [container_name].") - continue - - var/assoc_val = null - if(!isnum(element_in_list) && normal) - assoc_val = potential_cache[element_in_list] - //Check assoc entrys - if(assoc_val == src) - #ifdef REFERENCE_TRACKING_DEBUG - if(SSgarbage.should_save_refs) - found_refs[potential_cache] = TRUE - continue //End early, don't want these logging #endif - log_reftracker("Found [type] [text_ref(src)] in list [container_name]\[[element_in_list]\]") - continue - //We need to run both of these checks, since our object could be hiding in either of them - //Check normal sublists - if(islist(element_in_list)) - DoSearchVar(element_in_list, "[container_name] -> [element_in_list] (list)", recursive_limit - 1, search_time) - //Check assoc sublists - if(islist(assoc_val)) - DoSearchVar(potential_container[element_in_list], "[container_name]\[[element_in_list]\] -> [assoc_val] (list)", recursive_limit - 1, search_time) -/proc/qdel_and_find_ref_if_fail(datum/thing_to_del, force = FALSE) - thing_to_del.qdel_and_find_ref_if_fail(force) + // This is dumb as hell I'm sorry + // I don't want the garbage subsystem to count as a ref for the purposes of this number + // If we find all other refs before it I want to early exit, and if we don't I want to keep searching past it + var/ignore_ref = FALSE + var/list/queues = SSgarbage.queues + for(var/list/queue in queues) + if(potential_cache in queue) + ignore_ref = TRUE + break + if(ignore_ref) + log_reftracker("[container_name] does not count as a ref for our count") + else + references_to_clear -= 1 + if(references_to_clear == 0) + log_reftracker("All references to [type] [text_ref(src)] found, exiting.") + return + + if(!isnum(element_in_list) && !is_special_list) + // This exists to catch an error that throws when we access a special list + // is_special_list is a hint, it can be wrong + try + var/assoc_val = potential_cache[element_in_list] + //Check assoc sublists + if(islist(assoc_val)) + if(length(assoc_val)) + DoSearchVar(potential_container[element_in_list], "[container_name]\[[element_in_list]\] -> [assoc_val] (list)", search_time, recursion_count + 1) + //Check assoc entry + else if(assoc_val == src) + #ifdef REFERENCE_TRACKING_DEBUG + if(SSgarbage.should_save_refs) + if(!found_refs) + found_refs = list() + found_refs[potential_cache] = TRUE + continue + else + log_reftracker("Found [type] [text_ref(src)] in list [container_name]\[[element_in_list]\]") + #else + log_reftracker("Found [type] [text_ref(src)] in list [container_name]\[[element_in_list]\]") + #endif + references_to_clear -= 1 + if(references_to_clear == 0) + log_reftracker("All references to [type] [text_ref(src)] found, exiting.") + return + catch + // So if it goes wrong we kill it + is_special_list = TRUE + log_reftracker("Curiosity: [container_name] lead to an error when acessing [element_in_list], what is it?") + +#undef REFSEARCH_RECURSE_LIMIT +#endif -/datum/proc/qdel_and_find_ref_if_fail(force = FALSE) - SSgarbage.reference_find_on_fail[text_ref(src)] = TRUE - qdel(src, force) +// Kept outside the ifdef so overrides are easy to implement -#endif +/// Return info about us for reference searching purposes +/// Will be logged as a representation of this datum if it's a part of a search chain +/datum/proc/ref_search_details() + return text_ref(src) + +/datum/callback/ref_search_details() + return "[text_ref(src)] (obj: [object] proc: [delegate] args: [json_encode(arguments)] user: [user?.resolve() || "null"])" diff --git a/code/modules/antagonists/_common/antag_team.dm b/code/modules/antagonists/_common/antag_team.dm index 4a910ca4d44..0fcfb010939 100644 --- a/code/modules/antagonists/_common/antag_team.dm +++ b/code/modules/antagonists/_common/antag_team.dm @@ -18,7 +18,7 @@ GLOBAL_LIST_EMPTY(antagonist_teams) else add_member(starting_members) -/datum/team/Destroy(force, ...) +/datum/team/Destroy(force) GLOB.antagonist_teams -= src . = ..() diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index 5bce8014bab..00b3ff9960b 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -383,7 +383,7 @@ That or it's just space magic. Either way, it shrinks stuff." ammo_type = list(/obj/item/ammo_casing/energy/shrink) item_state = "shrink_ray" - icon_state = "shrink_ray" + icon_state = "alienpistol" fire_delay = 3 SECONDS selfcharge = 1//shot costs 200 energy, has a max capacity of 1000 for 5 shots. self charge returns 25 energy every couple ticks, so about 1 shot charged every 12~ seconds trigger_guard = TRIGGER_GUARD_ALLOW_ALL// variable-size trigger, get it? (abductors need this to be set so the gun is usable for them) @@ -761,6 +761,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} icon = 'icons/obj/abductor.dmi' buildstacktype = /obj/item/stack/sheet/mineral/abductor icon_state = "bed" + swap_lying_with_dir = FALSE /obj/structure/table_frame/abductor name = "alien table frame" diff --git a/code/modules/antagonists/blob/blob.dm b/code/modules/antagonists/blob/blob.dm deleted file mode 100644 index 80acd5cefe1..00000000000 --- a/code/modules/antagonists/blob/blob.dm +++ /dev/null @@ -1,67 +0,0 @@ -/datum/antagonist/blob - name = "Blob" - roundend_category = "blobs" - antagpanel_category = "Blob" - show_to_ghosts = TRUE - job_rank = ROLE_BLOB - - var/datum/action/innate/blobpop/pop_action - var/starting_points_human_blob = 60 - var/point_rate_human_blob = 2 - -/datum/antagonist/blob/roundend_report() - var/basic_report = ..() - //Display max blobpoints for blebs that lost - if(isovermind(owner.current)) //embarrasing if not - var/mob/camera/blob/overmind = owner.current - if(!overmind.victory_in_progress) //if it won this doesn't really matter - var/point_report = "
    [owner.name] took over [overmind.max_count] tiles at the height of its growth." - return basic_report+point_report - return basic_report - -/datum/antagonist/blob/greet() - if(!isovermind(owner.current)) - to_chat(owner,"You feel bloated.") - -/datum/antagonist/blob/on_gain() - create_objectives() - . = ..() - -/datum/antagonist/blob/proc/create_objectives() - var/datum/objective/blob_takeover/main = new - main.owner = owner - objectives += main - -/datum/antagonist/blob/apply_innate_effects(mob/living/mob_override) - if(!isovermind(owner.current)) - if(!pop_action) - pop_action = new - pop_action.Grant(owner.current) - -/datum/objective/blob_takeover - explanation_text = "Reach critical mass!" - -//Non-overminds get this on blob antag assignment -/datum/action/innate/blobpop - name = "Pop" - desc = "Unleash the blob" - icon_icon = 'icons/mob/blob.dmi' - button_icon_state = "blob" - -/datum/action/innate/blobpop/Activate() - var/mob/old_body = owner - var/datum/antagonist/blob/blobtag = owner.mind.has_antag_datum(/datum/antagonist/blob) - if(!blobtag) - Remove() - return - var/mob/camera/blob/B = new /mob/camera/blob(get_turf(old_body), blobtag.starting_points_human_blob) - owner.mind.transfer_to(B) - old_body.gib() - B.place_blob_core(blobtag.point_rate_human_blob, pop_override = TRUE) - -/datum/antagonist/blob/antag_listing_status() - . = ..() - if(owner && owner.current) - var/mob/camera/blob/B = owner.current - if(istype(B)) - . += "(Progress: [B.blobs_legit.len]/[B.blobwincount])" diff --git a/code/modules/antagonists/blob/blob_mobs.dm b/code/modules/antagonists/blob/blob_mobs.dm deleted file mode 100644 index 639017e100f..00000000000 --- a/code/modules/antagonists/blob/blob_mobs.dm +++ /dev/null @@ -1,333 +0,0 @@ - -//////////////// -// BASE TYPE // -//////////////// - -//Do not spawn -/mob/living/simple_animal/hostile/blob - icon = 'icons/mob/blob.dmi' - pass_flags = PASSBLOB - faction = list(ROLE_BLOB) - bubble_icon = "blob" - speak_emote = null //so we use verb_yell/verb_say/etc - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 - maxbodytemp = 360 - unique_name = 1 - a_intent = INTENT_HARM - see_in_dark = 8 - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - initial_language_holder = /datum/language_holder/empty - var/mob/camera/blob/overmind = null - var/obj/structure/blob/factory/factory = null - var/independent = FALSE - -/mob/living/simple_animal/hostile/blob/update_icons() - if(overmind) - add_atom_colour(overmind.blobstrain.color, FIXED_COLOUR_PRIORITY) - else - remove_atom_colour(FIXED_COLOUR_PRIORITY) - -/mob/living/simple_animal/hostile/blob/Initialize() - . = ..() - if(!independent) //no pulling people deep into the blob - remove_verb(src, /mob/living/verb/pulled) - else - pass_flags &= ~PASSBLOB - -/mob/living/simple_animal/hostile/blob/Destroy() - if(overmind) - overmind.blob_mobs -= src - return ..() - -/mob/living/simple_animal/hostile/blob/get_status_tab_items() - . = ..() - if(overmind) - . += "Blobs to Win: [overmind.blobs_legit.len]/[overmind.blobwincount]" - -/mob/living/simple_animal/hostile/blob/blob_act(obj/structure/blob/B) - if(stat != DEAD && health < maxHealth) - for(var/i in 1 to 2) - var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(src)) //hello yes you are being healed - if(overmind) - H.color = overmind.blobstrain.complementary_color - else - H.color = "#000000" - adjustHealth(-maxHealth*0.0125) - -/mob/living/simple_animal/hostile/blob/fire_act(exposed_temperature, exposed_volume) - ..() - if(exposed_temperature) - adjustFireLoss(clamp(0.01 * exposed_temperature, 1, 5)) - else - adjustFireLoss(5) - -/mob/living/simple_animal/hostile/blob/CanAllowThrough(atom/movable/mover, border_dir) - . = ..() - if(istype(mover, /obj/structure/blob)) - return TRUE - -/mob/living/simple_animal/hostile/blob/Process_Spacemove(movement_dir = 0) - for(var/obj/structure/blob/B in range(1, src)) - return 1 - return ..() - -/mob/living/simple_animal/hostile/blob/say(message, bubble_type, list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) - if(!overmind) - ..() - return - var/spanned_message = say_quote(message) - var/rendered = "\[Blob Telepathy\] [real_name] [spanned_message]" - for(var/M in GLOB.mob_list) - if(isovermind(M) || istype(M, /mob/living/simple_animal/hostile/blob)) - to_chat(M, rendered) - if(isobserver(M)) - var/link = FOLLOW_LINK(M, src) - to_chat(M, "[link] [rendered]") - -//////////////// -// BLOB SPORE // -//////////////// - -/mob/living/simple_animal/hostile/blob/blobspore - name = "blob spore" - desc = "A floating, fragile spore." - icon_state = "blobpod" - icon_living = "blobpod" - health_doll_icon = "blobpod" - health = 30 - maxHealth = 30 - verb_say = "psychically pulses" - verb_ask = "psychically probes" - verb_exclaim = "psychically yells" - verb_yell = "psychically screams" - melee_damage_lower = 2 - melee_damage_upper = 4 - obj_damage = 20 - environment_smash = ENVIRONMENT_SMASH_STRUCTURES - attack_verb_continuous = "hits" - attack_verb_simple = "hit" - attack_sound = 'sound/weapons/genhit1.ogg' - movement_type = FLYING - del_on_death = TRUE - deathmessage = "explodes into a cloud of gas!" - gold_core_spawnable = HOSTILE_SPAWN - var/death_cloud_size = 1 //size of cloud produced from a dying spore - var/mob/living/carbon/human/oldguy - var/is_zombie = FALSE - -/mob/living/simple_animal/hostile/blob/blobspore/Initialize(mapload, obj/structure/blob/factory/linked_node) - if(!istype(linked_node)) - return INITIALIZE_HINT_QDEL - factory = linked_node - factory.spores += src - . = ..() - if(linked_node.overmind && istype(linked_node.overmind.blobstrain, /datum/blobstrain/reagent/distributed_neurons) && !istype(src, /mob/living/simple_animal/hostile/blob/blobspore/weak)) - notify_ghosts("A controllable spore has been created in \the [get_area(src)].", source = src, action = NOTIFY_ORBIT, flashwindow = FALSE, header = "Sentient Spore Created") - -/mob/living/simple_animal/hostile/blob/blobspore/Life() - if(!is_zombie && isturf(src.loc)) - for(var/mob/living/carbon/human/H in view(src,1)) //Only for corpse right next to/on same tile - if(H.stat == DEAD) - Zombify(H) - break - if(factory && z != factory.z) - death() - ..() - -/mob/living/simple_animal/hostile/blob/blobspore/attack_ghost(mob/user) - . = ..() - if(.) - return - humanize_pod(user) - -/mob/living/simple_animal/hostile/blob/blobspore/proc/humanize_pod(mob/user) - if((!overmind || istype(src, /mob/living/simple_animal/hostile/blob/blobspore/weak) || !istype(overmind.blobstrain, /datum/blobstrain/reagent/distributed_neurons)) && !is_zombie) - return - if(key || stat) - return - var/pod_ask = alert("Become a blob spore?", "Are you bulbous enough?", "Yes", "No") - if(pod_ask == "No" || !src || QDELETED(src)) - return - if(key) - to_chat(user, "Someone else already took this spore!") - return - key = user.key - log_game("[key_name(src)] took control of [name].") - -/mob/living/simple_animal/hostile/blob/blobspore/proc/Zombify(mob/living/carbon/human/H) - is_zombie = 1 - if(H.wear_suit) - var/obj/item/clothing/suit/armor/A = H.wear_suit - maxHealth += A.armor.melee //That zombie's got armor, I want armor! - maxHealth += 40 - health = maxHealth - name = "blob zombie" - desc = "A shambling corpse animated by the blob." - mob_biotypes |= MOB_HUMANOID - melee_damage_lower += 8 - melee_damage_upper += 11 - movement_type = GROUND - death_cloud_size = 0 - icon = H.icon - icon_state = "zombie" - H.hairstyle = null - H.update_hair() - H.forceMove(src) - oldguy = H - update_icons() - visible_message("The corpse of [H.name] suddenly rises!") - if(!key) - notify_ghosts("\A [src] has been created in \the [get_area(src)].", source = src, action = NOTIFY_ORBIT, flashwindow = FALSE, header = "Blob Zombie Created") - -/mob/living/simple_animal/hostile/blob/blobspore/death(gibbed) - // On death, create a small smoke of harmful gas (s-Acid) - var/datum/effect_system/smoke_spread/chem/S = new - var/turf/location = get_turf(src) - - // Create the reagents to put into the air - create_reagents(10) - - - - if(overmind && overmind.blobstrain) - overmind.blobstrain.on_sporedeath(src) - else - reagents.add_reagent(/datum/reagent/toxin/spore, 10) - - // Attach the smoke spreader and setup/start it. - S.attach(location) - S.set_up(reagents, death_cloud_size, location, silent = TRUE) - S.start() - if(factory) - factory.spore_delay = world.time + factory.spore_cooldown //put the factory on cooldown - - ..() - -/mob/living/simple_animal/hostile/blob/blobspore/Destroy() - if(factory) - factory.spores -= src - factory = null - if(oldguy) - oldguy.forceMove(get_turf(src)) - oldguy = null - return ..() - -/mob/living/simple_animal/hostile/blob/blobspore/update_icons() - if(overmind) - add_atom_colour(overmind.blobstrain.complementary_color, FIXED_COLOUR_PRIORITY) - else - remove_atom_colour(FIXED_COLOUR_PRIORITY) - if(is_zombie) - copy_overlays(oldguy, TRUE) - var/mutable_appearance/blob_head_overlay = mutable_appearance('icons/mob/blob.dmi', "blob_head") - if(overmind) - blob_head_overlay.color = overmind.blobstrain.complementary_color - color = initial(color)//looks better. - add_overlay(blob_head_overlay) - -/mob/living/simple_animal/hostile/blob/blobspore/weak - name = "fragile blob spore" - health = 15 - maxHealth = 15 - melee_damage_lower = 1 - melee_damage_upper = 2 - death_cloud_size = 0 - -///////////////// -// BLOBBERNAUT // -///////////////// - -/mob/living/simple_animal/hostile/blob/blobbernaut - name = "blobbernaut" - desc = "A hulking, mobile chunk of blobmass." - icon_state = "blobbernaut" - icon_living = "blobbernaut" - icon_dead = "blobbernaut_dead" - health = 200 - maxHealth = 200 - damage_coeff = list(BRUTE = 0.5, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) - melee_damage_lower = 20 - melee_damage_upper = 20 - obj_damage = 60 - attack_verb_continuous = "slams" - attack_verb_simple = "slam" - attack_sound = 'sound/effects/blobattack.ogg' - verb_say = "gurgles" - verb_ask = "demands" - verb_exclaim = "roars" - verb_yell = "bellows" - force_threshold = 10 - pressure_resistance = 50 - mob_size = MOB_SIZE_LARGE - hud_type = /datum/hud/blobbernaut - -/mob/living/simple_animal/hostile/blob/blobbernaut/Life() - if(..()) - var/list/blobs_in_area = range(2, src) - if(independent) - return // strong independent blobbernaut that don't need no blob - var/damagesources = 0 - if(!(locate(/obj/structure/blob) in blobs_in_area)) - damagesources++ - if(!factory) - damagesources++ - else - if(locate(/obj/structure/blob/core) in blobs_in_area) - adjustHealth(-maxHealth*0.1) - var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(src)) //hello yes you are being healed - if(overmind) - H.color = overmind.blobstrain.complementary_color - else - H.color = "#000000" - if(locate(/obj/structure/blob/node) in blobs_in_area) - adjustHealth(-maxHealth*0.05) - var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(src)) - if(overmind) - H.color = overmind.blobstrain.complementary_color - else - H.color = "#000000" - if(damagesources) - for(var/i in 1 to damagesources) - adjustHealth(maxHealth*0.025) //take 2.5% of max health as damage when not near the blob or if the naut has no factory, 5% if both - var/image/I = new('icons/mob/blob.dmi', src, "nautdamage", MOB_LAYER+0.01) - I.appearance_flags = RESET_COLOR - if(overmind) - I.color = overmind.blobstrain.complementary_color - flick_overlay_view(I, src, 8) - -/mob/living/simple_animal/hostile/blob/blobbernaut/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - . = ..() - if(updating_health) - update_health_hud() - -/mob/living/simple_animal/hostile/blob/blobbernaut/update_health_hud() - if(hud_used) - hud_used.healths.maptext = "
    [round((health / maxHealth) * 100, 0.5)]%
    " - -/mob/living/simple_animal/hostile/blob/blobbernaut/AttackingTarget() - . = ..() - if(. && isliving(target) && overmind) - overmind.blobstrain.blobbernaut_attack(target, src) - -/mob/living/simple_animal/hostile/blob/blobbernaut/update_icons() - ..() - if(overmind) //if we have an overmind, we're doing chemical reactions instead of pure damage - melee_damage_lower = 4 - melee_damage_upper = 4 - attack_verb_continuous = overmind.blobstrain.blobbernaut_message - else - melee_damage_lower = initial(melee_damage_lower) - melee_damage_upper = initial(melee_damage_upper) - attack_verb_continuous = initial(attack_verb_continuous) - -/mob/living/simple_animal/hostile/blob/blobbernaut/death(gibbed) - ..(gibbed) - if(factory) - factory.naut = null //remove this naut from its factory - factory.max_integrity = initial(factory.max_integrity) - flick("blobbernaut_death", src) - -/mob/living/simple_animal/hostile/blob/blobbernaut/independent - independent = TRUE - gold_core_spawnable = HOSTILE_SPAWN diff --git a/code/modules/antagonists/blob/blob_report.dm b/code/modules/antagonists/blob/blob_report.dm deleted file mode 100644 index 10e77fdb3ee..00000000000 --- a/code/modules/antagonists/blob/blob_report.dm +++ /dev/null @@ -1,72 +0,0 @@ -/datum/station_state - var/floor = 0 - var/wall = 0 - var/r_wall = 0 - var/window = 0 - var/door = 0 - var/grille = 0 - var/mach = 0 - -/datum/station_state/proc/count() - floor = 0 - wall = 0 - r_wall = 0 - window = 0 - door = 0 - grille = 0 - mach = 0 - for(var/Z in SSmapping.virtual_levels_by_trait(ZTRAIT_STATION)) - for(var/turf/T in block(locate(1,1,Z), locate(world.maxx,world.maxy,Z))) - // don't count shuttles since they may have just left - if(istype(T.loc, /area/shuttle)) - continue - - if(isfloorturf(T)) - var/turf/open/floor/TF = T - if(!(TF.burnt)) - floor += 12 - else - floor += 1 - - if(iswallturf(T)) - var/turf/closed/wall/TW = T - if(TW.intact) - wall += 2 - else - wall += 1 - - if(istype(T, /turf/closed/wall/r_wall)) - var/turf/closed/wall/r_wall/TRW = T - if(TRW.intact) - r_wall += 2 - else - r_wall += 1 - - - for(var/obj/O in T.contents) - if(istype(O, /obj/structure/window)) - window += 1 - else if(istype(O, /obj/structure/grille)) - var/obj/structure/grille/GR = O - if(!GR.broken) - grille += 1 - else if(istype(O, /obj/machinery/door)) - door += 1 - else if(ismachinery(O)) - mach += 1 - CHECK_TICK - CHECK_TICK - CHECK_TICK - -/datum/station_state/proc/score(datum/station_state/result) - if(!result) - return 0 - var/output = 0 - output += (result.floor / max(floor,1)) - output += (result.r_wall/ max(r_wall,1)) - output += (result.wall / max(wall,1)) - output += (result.window / max(window,1)) - output += (result.door / max(door,1)) - output += (result.grille / max(grille,1)) - output += (result.mach / max(mach,1)) - return (output/7) diff --git a/code/modules/antagonists/blob/blobstrains/_blobstrain.dm b/code/modules/antagonists/blob/blobstrains/_blobstrain.dm deleted file mode 100644 index 29060afd8f6..00000000000 --- a/code/modules/antagonists/blob/blobstrains/_blobstrain.dm +++ /dev/null @@ -1,81 +0,0 @@ -GLOBAL_LIST_INIT(valid_blobstrains, subtypesof(/datum/blobstrain) - list(/datum/blobstrain/reagent, /datum/blobstrain/multiplex)) - -/datum/blobstrain - var/name - var/description - var/color = "#000000" - var/complementary_color = "#000000" //a color that's complementary to the normal blob color - var/shortdesc = null //just damage and on_mob effects, doesn't include special, blob-tile only effects - var/effectdesc = null //any long, blob-tile specific effects - var/analyzerdescdamage = "Unknown. Report this bug to a coder, or just adminhelp." - var/analyzerdesceffect = "N/A" - var/blobbernaut_message = "slams" //blobbernaut attack verb - var/message = "The blob strikes you" //message sent to any mob hit by the blob - var/message_living = null //extension to first mob sent to only living mobs i.e. silicons have no skin to be burnt - var/core_regen = 2 - var/resource_delay = 0 - var/point_rate = 2 - var/mob/camera/blob/overmind - -/datum/blobstrain/New(mob/camera/blob/new_overmind) - if (!istype(new_overmind)) - stack_trace("blobstrain created without overmind") - overmind = new_overmind - -/datum/blobstrain/Destroy() - overmind = null - return ..() - -/datum/blobstrain/proc/on_gain() - overmind.color = complementary_color - for(var/BL in GLOB.blobs) - var/obj/structure/blob/B = BL - B.update_appearance() - for(var/BLO in overmind.blob_mobs) - var/mob/living/simple_animal/hostile/blob/BM = BLO - BM.update_icons() //If it's getting a new strain, tell it what it does! - to_chat(BM, "Your overmind's blob strain is now: [name]!") - to_chat(BM, "The [name] strain [shortdesc ? "[shortdesc]" : "[description]"]") - -/datum/blobstrain/proc/on_lose() - -/datum/blobstrain/proc/on_sporedeath(mob/living/spore) - -/datum/blobstrain/proc/send_message(mob/living/M) - var/totalmessage = message - if(message_living && !issilicon(M)) - totalmessage += message_living - totalmessage += "!" - to_chat(M, "[totalmessage]") - -/datum/blobstrain/proc/core_process() - if(resource_delay <= world.time) - resource_delay = world.time + 10 // 1 second - overmind.add_points(point_rate) - overmind.blob_core.obj_integrity = min(overmind.blob_core.max_integrity, overmind.blob_core.obj_integrity+core_regen) - -/datum/blobstrain/proc/attack_living(mob/living/L, list/nearby_blobs) // When the blob attacks people - send_message(L) - -/datum/blobstrain/proc/blobbernaut_attack(mob/living/L, blobbernaut) // When this blob's blobbernaut attacks people - -/datum/blobstrain/proc/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag, coefficient = 1) //when the blob takes damage, do this - return coefficient*damage - -/datum/blobstrain/proc/death_reaction(obj/structure/blob/B, damage_flag, coefficient = 1) //when a blob dies, do this - return - -/datum/blobstrain/proc/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O, coefficient = 1) //when the blob expands, do this - return - -/datum/blobstrain/proc/tesla_reaction(obj/structure/blob/B, power, coefficient = 1) //when the blob is hit by a tesla bolt, do this - return 1 //return 0 to ignore damage - -/datum/blobstrain/proc/extinguish_reaction(obj/structure/blob/B, coefficient = 1) //when the blob is hit with water, do this - return - -/datum/blobstrain/proc/emp_reaction(obj/structure/blob/B, severity, coefficient = 1) //when the blob is hit with an emp, do this - return - -/datum/blobstrain/proc/examine(mob/user) - return list("Progress to Critical Mass: [overmind.blobs_legit.len]/[overmind.blobwincount].") diff --git a/code/modules/antagonists/blob/blobstrains/_reagent.dm b/code/modules/antagonists/blob/blobstrains/_reagent.dm deleted file mode 100644 index 3d210188d9b..00000000000 --- a/code/modules/antagonists/blob/blobstrains/_reagent.dm +++ /dev/null @@ -1,33 +0,0 @@ -/datum/blobstrain/reagent // Blobs that mess with reagents, all "legacy" ones - var/datum/reagent/reagent - -/datum/blobstrain/reagent/New(mob/camera/blob/new_overmind) - . = ..() - reagent = new reagent() - - -/datum/blobstrain/reagent/attack_living(mob/living/L) - var/mob_protection = L.get_permeability_protection() - reagent.expose_mob(L, VAPOR, 25, 1, mob_protection, overmind) - send_message(L) - -/datum/blobstrain/reagent/blobbernaut_attack(mob/living/L) - var/mob_protection = L.get_permeability_protection() - reagent.expose_mob(L, VAPOR, 20, 0, mob_protection, overmind)//this will do between 10 and 20 damage(reduced by mob protection), depending on chemical, plus 4 from base brute damage. - -/datum/blobstrain/reagent/on_sporedeath(mob/living/spore) - spore.reagents.add_reagent(reagent.type, 10) - -// 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." - color = "#FFFFFF" - taste_description = "bad code and slime" - can_synth = FALSE - - -/datum/reagent/blob/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) - if(M.stat == DEAD || istype(M, /mob/living/simple_animal/hostile/blob)) - return 0 //the dead, and blob mobs, don't cause reactions - return round(reac_volume * min(1.5 - touch_protection, 1), 0.1) //full touch protection means 50% volume, any prot below 0.5 means 100% volume. diff --git a/code/modules/antagonists/blob/blobstrains/blazing_oil.dm b/code/modules/antagonists/blob/blobstrains/blazing_oil.dm deleted file mode 100644 index d34ed8041ac..00000000000 --- a/code/modules/antagonists/blob/blobstrains/blazing_oil.dm +++ /dev/null @@ -1,41 +0,0 @@ - -//sets you on fire, does burn damage, explodes into flame when burnt, weak to water -/datum/blobstrain/reagent/blazing_oil - name = "Blazing Oil" - description = "will do medium burn damage and set targets on fire." - effectdesc = "will also release bursts of flame when burnt, but takes damage from water." - analyzerdescdamage = "Does medium burn damage and sets targets on fire." - analyzerdesceffect = "Releases fire when burnt, but takes damage from water and other extinguishing liquids." - color = "#B68D00" - complementary_color = "#BE5532" - blobbernaut_message = "splashes" - message = "The blob splashes you with burning oil" - message_living = ", and you feel your skin char and melt" - reagent = /datum/reagent/blob/blazing_oil - -/datum/blobstrain/reagent/blazing_oil/extinguish_reaction(obj/structure/blob/B) - B.take_damage(1.5, BURN, "energy") - -/datum/blobstrain/reagent/blazing_oil/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) - if(damage_type == BURN && damage_flag != "energy") - for(var/turf/open/T in range(1, B)) - var/obj/structure/blob/C = locate() in T - if(!(C && C.overmind && C.overmind.blobstrain.type == B.overmind.blobstrain.type) && prob(80)) - new /obj/effect/hotspot(T) - if(damage_flag == "fire") - return 0 - return ..() - -/datum/reagent/blob/blazing_oil - name = "Blazing Oil" - taste_description = "burning oil" - color = "#B68D00" - -/datum/reagent/blob/blazing_oil/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) - reac_volume = ..() - M.adjust_fire_stacks(round(reac_volume/10)) - M.IgniteMob() - if(M) - M.apply_damage(0.8*reac_volume, BURN) - if(iscarbon(M)) - M.emote("scream") diff --git a/code/modules/antagonists/blob/blobstrains/cryogenic_poison.dm b/code/modules/antagonists/blob/blobstrains/cryogenic_poison.dm deleted file mode 100644 index 6f86417e8d4..00000000000 --- a/code/modules/antagonists/blob/blobstrains/cryogenic_poison.dm +++ /dev/null @@ -1,32 +0,0 @@ -//does brute, burn, and toxin damage, and cools targets down -/datum/blobstrain/reagent/cryogenic_poison - name = "Cryogenic Poison" - description = "will inject targets with a freezing poison that does high damage over time." - analyzerdescdamage = "Injects targets with a freezing poison that will gradually solidify the target's internal organs." - color = "#8BA6E9" - complementary_color = "#7D6EB4" - blobbernaut_message = "injects" - message = "The blob stabs you" - message_living = ", and you feel like your insides are solidifying" - reagent = /datum/reagent/blob/cryogenic_poison - -/datum/reagent/blob/cryogenic_poison - name = "Cryogenic Poison" - description = "will inject targets with a freezing poison that does high damage over time." - color = "#8BA6E9" - taste_description = "brain freeze" - -/datum/reagent/blob/cryogenic_poison/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) - reac_volume = ..() - if(M.reagents) - M.reagents.add_reagent(/datum/reagent/consumable/frostoil, 0.3*reac_volume) - M.reagents.add_reagent(/datum/reagent/consumable/ice, 0.3*reac_volume) - M.reagents.add_reagent(/datum/reagent/blob/cryogenic_poison, 0.3*reac_volume) - M.apply_damage(0.2*reac_volume, BRUTE) - -/datum/reagent/blob/cryogenic_poison/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(0.3*REAGENTS_EFFECT_MULTIPLIER, 0) - M.adjustFireLoss(0.3*REAGENTS_EFFECT_MULTIPLIER, 0) - M.adjustToxLoss(0.3*REAGENTS_EFFECT_MULTIPLIER, 0) - . = 1 - ..() diff --git a/code/modules/antagonists/blob/blobstrains/debris_devourer.dm b/code/modules/antagonists/blob/blobstrains/debris_devourer.dm deleted file mode 100644 index c39f2ce3d37..00000000000 --- a/code/modules/antagonists/blob/blobstrains/debris_devourer.dm +++ /dev/null @@ -1,63 +0,0 @@ -#define DEBRIS_DENSITY (length(core.contents) / length(overmind.blobs_legit)) // items per blob - -// Accumulates junk liberally -/datum/blobstrain/debris_devourer - name = "Debris Devourer" - description = "will launch accumulated debris into targets." - analyzerdescdamage = "Does medium brute damage and may grab onto melee weapons." - analyzerdesceffect = "Devours loose items left on the floor, and releases them when attacking or attacked." - color = "#8B1000" - complementary_color = "#00558B" - blobbernaut_message = "blasts" - message = "The blob blasts you" - - -/datum/blobstrain/debris_devourer/attack_living(mob/living/L, list/nearby_blobs) - send_message(L) - for (var/obj/structure/blob/blob in nearby_blobs) - debris_attack(L, blob) - -/datum/blobstrain/debris_devourer/on_sporedeath(mob/living/spore) - for(var/i in 1 to 3) - var/obj/item/I = locate() in overmind.blob_core - if (I && !QDELETED(I)) - I.forceMove(get_turf(spore)) - I.throw_at(get_edge_target_turf(spore,pick(GLOB.alldirs)), 3, 5) - -/datum/blobstrain/debris_devourer/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O, coefficient = 1) //when the blob expands, do this - for (var/obj/item/I in T) - I.forceMove(overmind.blob_core) - -/datum/blobstrain/debris_devourer/proc/debris_attack(mob/living/L, source) - var/obj/structure/blob/core/core = overmind.blob_core - if (prob(20 * DEBRIS_DENSITY)) // Pretend the items are spread through the blob and its mobs and not in the core. - var/obj/item/I = locate() in core - if (I && !QDELETED(I)) - I.forceMove(get_turf(source)) - I.throw_at(L, 2, 5) - -/datum/blobstrain/debris_devourer/blobbernaut_attack(mob/living/L, mob/living/blobbernaut) // When this blob's blobbernaut attacks people - debris_attack(L,blobbernaut) - -/datum/blobstrain/debris_devourer/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag, coefficient = 1) //when the blob takes damage, do this - var/obj/structure/blob/core/core = overmind.blob_core - return round(max((coefficient*damage)-min(coefficient*DEBRIS_DENSITY, 10), 0)) // reduce damage taken by items per blob, up to 10 - -/datum/blobstrain/debris_devourer/examine(mob/user) - . = ..() - var/obj/structure/blob/core/core = overmind.blob_core - if (isobserver(user)) - . += "Absorbed debris is currently reducing incoming damage by [round(max(min(DEBRIS_DENSITY, 10),0))]" - else - switch (round(max(min(DEBRIS_DENSITY, 10),0))) - if (0) - . += "There is not currently enough absorbed debris to reduce damage." - if (1 to 3) - . += "Absorbed debris is currently reducing incoming damage by a very low amount." // these roughly correspond with force description strings - if (4 to 7) - . += "Absorbed debris is currently reducing incoming damage by a low amount." - if (8 to 10) - . += "Absorbed debris is currently reducing incoming damage by a medium amount." - - -#undef DEBRIS_DENSITY diff --git a/code/modules/antagonists/blob/blobstrains/distributed_neurons.dm b/code/modules/antagonists/blob/blobstrains/distributed_neurons.dm deleted file mode 100644 index 80aa0e3d8db..00000000000 --- a/code/modules/antagonists/blob/blobstrains/distributed_neurons.dm +++ /dev/null @@ -1,39 +0,0 @@ -//kills unconscious targets and turns them into blob zombies, produces fragile spores when killed. Spore produced by factories are sentient. -/datum/blobstrain/reagent/distributed_neurons - name = "Distributed Neurons" - description = "will do very low toxin damage and turns unconscious targets into blob zombies." - effectdesc = "will also produce fragile spores when killed. Spores produced by factories are sentient." - shortdesc = "will do very low toxin damage and will turn unconscious targets into blob zombies for additional resources(for your overmind). Spores produced by factories are sentient." - analyzerdescdamage = "Does very low toxin damage and kills unconscious humans, turning them into blob zombies." - analyzerdesceffect = "Produces spores when killed. Spores produced by factories are sentient." - color = "#E88D5D" - complementary_color = "#823ABB" - message_living = ", and you feel tired" - reagent = /datum/reagent/blob/distributed_neurons - -/datum/blobstrain/reagent/distributed_neurons/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) - if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") && damage <= 20 && B.obj_integrity - damage <= 0 && prob(15)) //if the cause isn't fire or a bomb, the damage is less than 21, we're going to die from that damage, 15% chance of a shitty spore. - B.visible_message("A spore floats free of the blob!") - var/mob/living/simple_animal/hostile/blob/blobspore/weak/BS = new/mob/living/simple_animal/hostile/blob/blobspore/weak(B.loc) - BS.overmind = B.overmind - BS.update_icons() - B.overmind.blob_mobs.Add(BS) - return ..() - -/datum/reagent/blob/distributed_neurons - name = "Distributed Neurons" - color = "#E88D5D" - -/datum/reagent/blob/distributed_neurons/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) - reac_volume = ..() - M.apply_damage(0.6*reac_volume, TOX) - if(O && ishuman(M) && (M.stat == UNCONSCIOUS || M.stat == HARD_CRIT)) - M.death() //sleeping in a fight? bad plan. - var/points = rand(5, 10) - var/mob/living/simple_animal/hostile/blob/blobspore/BS = new/mob/living/simple_animal/hostile/blob/blobspore/weak(get_turf(M)) - BS.overmind = O - BS.update_icons() - O.blob_mobs.Add(BS) - BS.Zombify(M) - O.add_points(points) - to_chat(O, "Gained [points] resources from the zombification of [M].") diff --git a/code/modules/antagonists/blob/blobstrains/electromagnetic_web.dm b/code/modules/antagonists/blob/blobstrains/electromagnetic_web.dm deleted file mode 100644 index f307a077f88..00000000000 --- a/code/modules/antagonists/blob/blobstrains/electromagnetic_web.dm +++ /dev/null @@ -1,37 +0,0 @@ -//does burn damage and EMPs, slightly fragile -/datum/blobstrain/reagent/electromagnetic_web - name = "Electromagnetic Web" - color = "#83ECEC" - complementary_color = "#EC8383" - description = "will do high burn damage and EMP targets." - effectdesc = "will also take massively increased damage and release an EMP when killed." - analyzerdescdamage = "Does low burn damage and EMPs targets." - analyzerdesceffect = "Is fragile to all types of damage, but takes massive damage from brute. In addition, releases a small EMP when killed." - reagent = /datum/reagent/blob/electromagnetic_web - -/datum/blobstrain/reagent/electromagnetic_web/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) - if(damage_type == BRUTE) //take full brute - switch(B.brute_resist) - if(0.5) - return damage * 2 - if(0.25) - return damage * 4 - if(0.1) - return damage * 10 - return damage * 1.25 //a laser will do 25 damage, which will kill any normal blob - -/datum/blobstrain/reagent/electromagnetic_web/death_reaction(obj/structure/blob/B, damage_flag) - if(damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") - empulse(B.loc, 1, 3) //less than screen range, so you can stand out of range to avoid it - -/datum/reagent/blob/electromagnetic_web - name = "Electromagnetic Web" - taste_description = "pop rocks" - color = "#83ECEC" - -/datum/reagent/blob/electromagnetic_web/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) - reac_volume = ..() - if(prob(reac_volume*2)) - M.emp_act(EMP_LIGHT) - if(M) - M.apply_damage(reac_volume, BURN) diff --git a/code/modules/antagonists/blob/blobstrains/energized_jelly.dm b/code/modules/antagonists/blob/blobstrains/energized_jelly.dm deleted file mode 100644 index 56a4aca744e..00000000000 --- a/code/modules/antagonists/blob/blobstrains/energized_jelly.dm +++ /dev/null @@ -1,34 +0,0 @@ -//does tons of oxygen damage and a little stamina, immune to tesla bolts, weak to EMP -/datum/blobstrain/reagent/energized_jelly - name = "Energized Jelly" - description = "will cause low stamina and high oxygen damage, and cause targets to be unable to breathe." - effectdesc = "will also conduct electricity, but takes damage from EMPs." - analyzerdescdamage = "Does low stamina damage, high oxygen damage, and prevents targets from breathing." - analyzerdesceffect = "Is immune to electricity and will easily conduct it, but is weak to EMPs." - color = "#EFD65A" - complementary_color = "#00E5B1" - reagent = /datum/reagent/blob/energized_jelly - -/datum/blobstrain/reagent/energized_jelly/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) - if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") && B.obj_integrity - damage <= 0 && prob(10)) - do_sparks(rand(2, 4), FALSE, B) - return ..() - -/datum/blobstrain/reagent/energized_jelly/tesla_reaction(obj/structure/blob/B, power) - return 0 - -/datum/blobstrain/reagent/energized_jelly/emp_reaction(obj/structure/blob/B, severity) - var/damage = rand(30, 50) - severity * rand(10, 15) - B.take_damage(damage, BURN, "energy") - -/datum/reagent/blob/energized_jelly - name = "Blob Energized Jelly" - taste_description = "gelatin" - color = "#EFD65A" - -/datum/reagent/blob/energized_jelly/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) - reac_volume = ..() - M.losebreath += round(0.2*reac_volume) - M.adjustStaminaLoss(reac_volume) - if(M) - M.apply_damage(0.6*reac_volume, OXY) diff --git a/code/modules/antagonists/blob/blobstrains/explosive_lattice.dm b/code/modules/antagonists/blob/blobstrains/explosive_lattice.dm deleted file mode 100644 index ef07676a230..00000000000 --- a/code/modules/antagonists/blob/blobstrains/explosive_lattice.dm +++ /dev/null @@ -1,40 +0,0 @@ -//does aoe brute damage when hitting targets, is immune to explosions -/datum/blobstrain/reagent/explosive_lattice - name = "Explosive Lattice" - description = "will do brute damage in an area around targets." - effectdesc = "will also resist explosions, but takes increased damage from fire and other energy sources." - analyzerdescdamage = "Does medium brute damage and causes damage to everyone near its targets." - analyzerdesceffect = "Is highly resistant to explosions, but takes increased damage from fire and other energy sources." - color = "#8B2500" - complementary_color = "#00668B" - blobbernaut_message = "blasts" - message = "The blob blasts you" - reagent = /datum/reagent/blob/explosive_lattice - -/datum/blobstrain/reagent/explosive_lattice/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) - if(damage_flag == "bomb") - return 0 - else if(damage_flag != "melee" && damage_flag != "bullet" && damage_flag != "laser") - return damage * 1.5 - return ..() - -/datum/reagent/blob/explosive_lattice - name = "Explosive Lattice" - taste_description = "the bomb" - color = "#8B2500" - -/datum/reagent/blob/explosive_lattice/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) - var/initial_volume = reac_volume - reac_volume = ..() - if(reac_volume >= 10) //if it's not a spore cloud, bad time incoming - var/obj/effect/temp_visual/explosion/fast/E = new /obj/effect/temp_visual/explosion/fast(get_turf(M)) - E.alpha = 150 - for(var/mob/living/L in orange(get_turf(M), 1)) - if(ROLE_BLOB in L.faction) //no friendly fire - continue - var/aoe_volume = ..(L, TOUCH, initial_volume, 0, L.get_permeability_protection(), O) - L.apply_damage(0.4*aoe_volume, BRUTE) - if(M) - M.apply_damage(0.6*reac_volume, BRUTE) - else - M.apply_damage(0.6*reac_volume, BRUTE) diff --git a/code/modules/antagonists/blob/blobstrains/multiplex.dm b/code/modules/antagonists/blob/blobstrains/multiplex.dm deleted file mode 100644 index aaebf1d0526..00000000000 --- a/code/modules/antagonists/blob/blobstrains/multiplex.dm +++ /dev/null @@ -1,40 +0,0 @@ -/datum/blobstrain/multiplex - var/list/blobstrains - var/typeshare - -/datum/blobstrain/multiplex/New(mob/camera/blob/new_overmind, list/blobstrains) - . = ..() - for (var/bt in blobstrains) - if (ispath(bt, /datum/blobstrain)) - src.blobstrains += new bt(overmind) - else if (istype(bt, /datum/blobstrain)) - var/datum/blobstrain/bts = bt - bts.overmind = overmind - src.blobstrains += bt - typeshare = (0.8 * length(src.blobstrains)) - (length(src.blobstrains)-1) // 1 is 80%, 2 are 60% etc - -/datum/blobstrain/multiplex/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag, coefficient = 1) //when the blob takes damage, do this - for (var/datum/blobstrain/bt in blobstrains) - . += bt.damage_reaction(B, damage, damage_type, damage_flag, coefficient*typeshare) - -/datum/blobstrain/multiplex/death_reaction(obj/structure/blob/B, damage_flag, coefficient = 1) //when a blob dies, do this - for (var/datum/blobstrain/bt in blobstrains) - . += bt.death_reaction(B, damage_flag, coefficient*typeshare) - -/datum/blobstrain/multiplex/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O, coefficient = 1) //when the blob expands, do this - for (var/datum/blobstrain/bt in blobstrains) - . += bt.expand_reaction(B, newB, T, O, coefficient*typeshare) - -/datum/blobstrain/multiplex/tesla_reaction(obj/structure/blob/B, power, coefficient = 1) //when the blob is hit by a tesla bolt, do this - for (var/datum/blobstrain/bt in blobstrains) - . += bt.tesla_reaction(B, power, coefficient*typeshare) - if (prob(. / length(blobstrains) * 100)) - return 1 - -/datum/blobstrain/multiplex/extinguish_reaction(obj/structure/blob/B, coefficient = 1) //when the blob is hit with water, do this - for (var/datum/blobstrain/bt in blobstrains) - . += bt.extinguish_reaction(B, coefficient*typeshare) - -/datum/blobstrain/multiplex/emp_reaction(obj/structure/blob/B, severity, coefficient = 1) //when the blob is hit with an emp, do this - for (var/datum/blobstrain/bt in blobstrains) - . += bt.emp_reaction(B, severity, coefficient*typeshare) diff --git a/code/modules/antagonists/blob/blobstrains/networked_fibers.dm b/code/modules/antagonists/blob/blobstrains/networked_fibers.dm deleted file mode 100644 index d3997aa8ce8..00000000000 --- a/code/modules/antagonists/blob/blobstrains/networked_fibers.dm +++ /dev/null @@ -1,38 +0,0 @@ -//does massive brute and burn damage, but can only expand manually -/datum/blobstrain/reagent/networked_fibers - name = "Networked Fibers" - description = "will do high brute and burn damage and will generate resources quicker, but can only expand manually." - shortdesc = "will do high brute and burn damage." - effectdesc = "will move your core when manually expanding near it." - analyzerdescdamage = "Does high brute and burn damage." - analyzerdesceffect = "Is highly mobile and generates resources rapidly." - color = "#4F4441" - complementary_color = "#414C4F" - reagent = /datum/reagent/blob/networked_fibers - -/datum/blobstrain/reagent/networked_fibers/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O) - if(!O && newB.overmind) - if(!istype(B, /obj/structure/blob/node)) - newB.overmind.add_points(1) - qdel(newB) - else - var/area/A = get_area(T) - if(!isspaceturf(T) && !istype(A, /area/shuttle)) - for(var/obj/structure/blob/core/C in range(1, newB)) - if(C.overmind == O) - newB.forceMove(get_turf(C)) - C.forceMove(T) - C.setDir(get_dir(newB, C)) - O.add_points(1) - -//does massive brute and burn damage, but can only expand manually -/datum/reagent/blob/networked_fibers - name = "Networked Fibers" - taste_description = "efficiency" - color = "#4F4441" - -/datum/reagent/blob/networked_fibers/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) - reac_volume = ..() - M.apply_damage(0.6*reac_volume, BRUTE) - if(!QDELETED(M)) - M.apply_damage(0.6*reac_volume, BURN) diff --git a/code/modules/antagonists/blob/blobstrains/pressurized_slime.dm b/code/modules/antagonists/blob/blobstrains/pressurized_slime.dm deleted file mode 100644 index d1d3768acb7..00000000000 --- a/code/modules/antagonists/blob/blobstrains/pressurized_slime.dm +++ /dev/null @@ -1,51 +0,0 @@ -//does low brute damage, oxygen damage, and stamina damage and wets tiles when damaged -/datum/blobstrain/reagent/pressurized_slime - name = "Pressurized Slime" - description = "will do low brute, oxygen, and stamina damage, and wet tiles under targets." - effectdesc = "will also wet tiles near blobs that are attacked or killed." - analyzerdescdamage = "Does low brute damage, low oxygen damage, drains stamina, and wets tiles under targets, extinguishing them." - analyzerdesceffect = "When attacked or killed, lubricates nearby tiles, extinguishing anything on them." - color = "#AAAABB" - complementary_color = "#BBBBAA" - blobbernaut_message = "emits slime at" - message = "The blob splashes into you" - message_living = ", and you gasp for breath" - reagent = /datum/reagent/blob/pressurized_slime - -/datum/blobstrain/reagent/pressurized_slime/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) - if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") || damage_type != BURN) - extinguisharea(B, damage) - return ..() - -/datum/blobstrain/reagent/pressurized_slime/death_reaction(obj/structure/blob/B, damage_flag) - if(damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") - B.visible_message("The blob ruptures, spraying the area with liquid!") - extinguisharea(B, 50) - -/datum/blobstrain/reagent/pressurized_slime/proc/extinguisharea(obj/structure/blob/B, probchance) - for(var/turf/open/T in range(1, B)) - if(prob(probchance)) - T.MakeSlippery(TURF_WET_LUBE, min_wet_time = 10 SECONDS, wet_time_to_add = 5 SECONDS) - for(var/obj/O in T) - O.extinguish() - for(var/mob/living/L in T) - L.adjust_fire_stacks(-2.5) - L.ExtinguishMob() - -/datum/reagent/blob/pressurized_slime - name = "Pressurized Slime" - taste_description = "a sponge" - color = "#AAAABB" - -/datum/reagent/blob/pressurized_slime/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) - reac_volume = ..() - var/turf/open/T = get_turf(M) - if(istype(T) && prob(reac_volume)) - T.MakeSlippery(TURF_WET_LUBE, min_wet_time = 10 SECONDS, wet_time_to_add = 5 SECONDS) - M.adjust_fire_stacks(-(reac_volume / 10)) - M.ExtinguishMob() - M.apply_damage(0.4*reac_volume, BRUTE) - if(M) - M.apply_damage(0.4*reac_volume, OXY) - if(M) - M.adjustStaminaLoss(reac_volume) diff --git a/code/modules/antagonists/blob/blobstrains/reactive_spines.dm b/code/modules/antagonists/blob/blobstrains/reactive_spines.dm deleted file mode 100644 index 9849c1177a7..00000000000 --- a/code/modules/antagonists/blob/blobstrains/reactive_spines.dm +++ /dev/null @@ -1,30 +0,0 @@ -//does brute damage through armor and bio resistance -/datum/blobstrain/reagent/reactive_spines - name = "Reactive Spines" - description = "will do medium brute damage through armor and bio resistance." - effectdesc = "will also react when attacked with brute damage, attacking all near the attacked blob." - analyzerdescdamage = "Does medium brute damage, ignoring armor and bio resistance." - analyzerdesceffect = "When attacked with brute damage, will lash out, attacking everything near it." - color = "#9ACD32" - complementary_color = "#FFA500" - blobbernaut_message = "stabs" - message = "The blob stabs you" - reagent = /datum/reagent/blob/reactive_spines - -/datum/blobstrain/reagent/reactive_spines/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) - if(damage && damage_type == BRUTE && B.obj_integrity - damage > 0) //is there any damage, is it brute, and will we be alive - if(damage_flag == "melee") - B.visible_message("The blob retaliates, lashing out!") - for(var/atom/A in range(1, B)) - A.blob_act(B) - return ..() - -/datum/reagent/blob/reactive_spines - name = "Reactive Spines" - taste_description = "rock" - color = "#9ACD32" - -/datum/reagent/blob/reactive_spines/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) - if(M.stat == DEAD || istype(M, /mob/living/simple_animal/hostile/blob)) - return 0 //the dead, and blob mobs, don't cause reactions - M.adjustBruteLoss(0.8*reac_volume) diff --git a/code/modules/antagonists/blob/blobstrains/regenerative_materia.dm b/code/modules/antagonists/blob/blobstrains/regenerative_materia.dm deleted file mode 100644 index 500418b7be6..00000000000 --- a/code/modules/antagonists/blob/blobstrains/regenerative_materia.dm +++ /dev/null @@ -1,33 +0,0 @@ -//does toxin damage, hallucination, targets think they're not hurt at all -/datum/blobstrain/reagent/regenerative_materia - name = "Regenerative Materia" - description = "will do toxin damage and cause targets to believe they are fully healed." - analyzerdescdamage = "Does toxin damage and injects a toxin that causes the target to believe they are fully healed." - color = "#A88FB7" - complementary_color = "#AF7B8D" - message_living = ", and you feel alive" - reagent = /datum/reagent/blob/regenerative_materia - -/datum/reagent/blob/regenerative_materia - name = "Regenerative Materia" - taste_description = "heaven" - color = "#A88FB7" - -/datum/reagent/blob/regenerative_materia/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) - reac_volume = ..() - M.adjust_drugginess(reac_volume) - if(M.reagents) - M.reagents.add_reagent(/datum/reagent/blob/regenerative_materia, 0.2*reac_volume) - M.reagents.add_reagent(/datum/reagent/toxin/spore, 0.2*reac_volume) - M.apply_damage(0.7*reac_volume, TOX) - -/datum/reagent/blob/regenerative_materia/on_mob_life(mob/living/carbon/C) - C.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER) - C.hal_screwyhud = SCREWYHUD_HEALTHY //fully healed, honest - ..() - -/datum/reagent/blob/regenerative_materia/on_mob_end_metabolize(mob/living/M) - if(iscarbon(M)) - var/mob/living/carbon/N = M - N.hal_screwyhud = 0 - ..() diff --git a/code/modules/antagonists/blob/blobstrains/replicating_foam.dm b/code/modules/antagonists/blob/blobstrains/replicating_foam.dm deleted file mode 100644 index 4800aed698d..00000000000 --- a/code/modules/antagonists/blob/blobstrains/replicating_foam.dm +++ /dev/null @@ -1,35 +0,0 @@ -/datum/blobstrain/reagent/replicating_foam - name = "Replicating Foam" - description = "will do medium brute damage and occasionally expand again when expanding." - shortdesc = "will do medium brute damage." - effectdesc = "will also expand when attacked with burn damage, but takes more brute damage." - color = "#7B5A57" - complementary_color = "#57787B" - analyzerdescdamage = "Does medium brute damage." - analyzerdesceffect = "Expands when attacked with burn damage, will occasionally expand again when expanding, and is fragile to brute damage." - reagent = /datum/reagent/blob/replicating_foam - - -/datum/blobstrain/reagent/replicating_foam/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) - if(damage_type == BRUTE) - damage = damage * 2 - else if(damage_type == BURN && damage > 0 && B.obj_integrity - damage > 0 && prob(60)) - var/obj/structure/blob/newB = B.expand(null, null, 0) - if(newB) - newB.obj_integrity = B.obj_integrity - damage - newB.update_appearance() - return ..() - - -/datum/blobstrain/reagent/replicating_foam/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O) - if(prob(30)) - newB.expand(null, null, 0) //do it again! - -/datum/reagent/blob/replicating_foam - name = "Replicating Foam" - taste_description = "duplication" - color = "#7B5A57" - -/datum/reagent/blob/replicating_foam/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) - reac_volume = ..() - M.apply_damage(0.7*reac_volume, BRUTE) diff --git a/code/modules/antagonists/blob/blobstrains/shifting_fragments.dm b/code/modules/antagonists/blob/blobstrains/shifting_fragments.dm deleted file mode 100644 index c615427463f..00000000000 --- a/code/modules/antagonists/blob/blobstrains/shifting_fragments.dm +++ /dev/null @@ -1,36 +0,0 @@ -//does brute damage, shifts away when damaged -/datum/blobstrain/reagent/shifting_fragments - name = "Shifting Fragments" - description = "will do medium brute damage." - effectdesc = "will also cause blob parts to shift away when attacked." - analyzerdescdamage = "Does medium brute damage." - analyzerdesceffect = "When attacked, may shift away from the attacker." - color = "#C8963C" - complementary_color = "#3C6EC8" - reagent = /datum/reagent/blob/shifting_fragments - -/datum/blobstrain/reagent/shifting_fragments/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O) - if(istype(B, /obj/structure/blob/normal) || (istype(B, /obj/structure/blob/shield) && prob(25))) - newB.forceMove(get_turf(B)) - B.forceMove(T) - -/datum/blobstrain/reagent/shifting_fragments/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) - if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") && damage > 0 && B.obj_integrity - damage > 0 && prob(60-damage)) - var/list/blobstopick = list() - for(var/obj/structure/blob/OB in orange(1, B)) - if((istype(OB, /obj/structure/blob/normal) || (istype(OB, /obj/structure/blob/shield) && prob(25))) && OB.overmind && OB.overmind.blobstrain.type == B.overmind.blobstrain.type) - blobstopick += OB //as long as the blob picked is valid; ie, a normal or shield blob that has the same chemical as we do, we can swap with it - if(blobstopick.len) - var/obj/structure/blob/targeted = pick(blobstopick) //randomize the blob chosen, because otherwise it'd tend to the lower left - var/turf/T = get_turf(targeted) - targeted.forceMove(get_turf(B)) - B.forceMove(T) //swap the blobs - return ..() - -/datum/reagent/blob/shifting_fragments - name = "Shifting Fragments" - color = "#C8963C" - -/datum/reagent/blob/shifting_fragments/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) - reac_volume = ..() - M.apply_damage(0.7*reac_volume, BRUTE) diff --git a/code/modules/antagonists/blob/blobstrains/synchronous_mesh.dm b/code/modules/antagonists/blob/blobstrains/synchronous_mesh.dm deleted file mode 100644 index 02ee0cb1941..00000000000 --- a/code/modules/antagonists/blob/blobstrains/synchronous_mesh.dm +++ /dev/null @@ -1,39 +0,0 @@ -//does brute damage, bonus damage for each nearby blob, and spreads damage out -/datum/blobstrain/reagent/synchronous_mesh - name = "Synchronous Mesh" - description = "will do massively increased brute damage for each blob near the target." - effectdesc = "will also spread damage between each blob near the attacked blob." - analyzerdescdamage = "Does brute damage, increasing for each blob near the target." - analyzerdesceffect = "When attacked, spreads damage between all blobs near the attacked blob." - color = "#65ADA2" - complementary_color = "#AD6570" - blobbernaut_message = "synchronously strikes" - message = "The blobs strike you" - reagent = /datum/reagent/blob/synchronous_mesh - -/datum/blobstrain/reagent/synchronous_mesh/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) - if(damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") //the cause isn't fire or bombs, so split the damage - var/damagesplit = 1 //maximum split is 9, reducing the damage each blob takes to 11% but doing that damage to 9 blobs - for(var/obj/structure/blob/C in orange(1, B)) - if(!istype(C, /obj/structure/blob/core) && !istype(C, /obj/structure/blob/node) && C.overmind && C.overmind.blobstrain.type == B.overmind.blobstrain.type) //if it doesn't have the same chemical or is a core or node, don't split damage to it - damagesplit += 1 - for(var/obj/structure/blob/C in orange(1, B)) - if(!istype(C, /obj/structure/blob/core) && !istype(C, /obj/structure/blob/node) && C.overmind && C.overmind.blobstrain.type == B.overmind.blobstrain.type) //only hurt blobs that have the same overmind chemical and aren't cores or nodes - C.take_damage(damage/damagesplit, CLONE, 0, 0) - return damage / damagesplit - else - return damage * 1.25 - -/datum/reagent/blob/synchronous_mesh - name = "Synchronous Mesh" - taste_description = "toxic mold" - color = "#65ADA2" - -/datum/reagent/blob/synchronous_mesh/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O) - reac_volume = ..() - M.apply_damage(0.2*reac_volume, BRUTE) - if(M && reac_volume) - for(var/obj/structure/blob/B in range(1, M)) //if the target is completely surrounded, this is 2.4*reac_volume bonus damage, total of 2.6*reac_volume - if(M) - B.blob_attack_animation(M) //show them they're getting a bad time - M.apply_damage(0.3*reac_volume, BRUTE) diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm deleted file mode 100644 index 3255b4aea69..00000000000 --- a/code/modules/antagonists/blob/overmind.dm +++ /dev/null @@ -1,288 +0,0 @@ -//Few global vars to track the blob -GLOBAL_LIST_EMPTY(blobs) //complete list of all blobs made. -GLOBAL_LIST_EMPTY(blob_cores) -GLOBAL_LIST_EMPTY(overminds) -GLOBAL_LIST_EMPTY(blob_nodes) - - -/mob/camera/blob - name = "Blob Overmind" - real_name = "Blob Overmind" - desc = "The overmind. It controls the blob." - icon = 'icons/mob/cameramob.dmi' - icon_state = "marker" - mouse_opacity = MOUSE_OPACITY_ICON - move_on_shuttle = 1 - see_in_dark = 8 - invisibility = INVISIBILITY_OBSERVER - layer = FLY_LAYER - - pass_flags = PASSBLOB - faction = list(ROLE_BLOB) - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - hud_type = /datum/hud/blob_overmind - var/obj/structure/blob/core/blob_core = null // The blob overmind's core - var/blob_points = 0 - var/max_blob_points = 100 - var/last_attack = 0 - var/datum/blobstrain/blobstrain - var/list/blob_mobs = list() - var/list/resource_blobs = list() - var/free_strain_rerolls = 1 //one free strain reroll - var/last_reroll_time = 0 //time since we last rerolled, used to give free rerolls - var/nodes_required = 1 //if the blob needs nodes to place resource and factory blobs - var/placed = 0 - var/manualplace_min_time = 600 //in deciseconds //a minute, to get bearings - var/autoplace_max_time = 3600 //six minutes, as long as should be needed - var/list/blobs_legit = list() - var/max_count = 0 //The biggest it got before death - var/blobwincount = 400 - var/victory_in_progress = FALSE - var/rerolling = FALSE - var/announcement_size = 75 - var/announcement_time - var/has_announced = FALSE - -/mob/camera/blob/Initialize(mapload, starting_points = 60) - validate_location() - blob_points = starting_points - manualplace_min_time += world.time - autoplace_max_time += world.time - GLOB.overminds += src - var/new_name = "[initial(name)] ([rand(1, 999)])" - name = new_name - real_name = new_name - last_attack = world.time - var/datum/blobstrain/BS = pick(GLOB.valid_blobstrains) - set_strain(BS) - color = blobstrain.complementary_color - if(blob_core) - blob_core.update_appearance() - announcement_time = world.time + 6000 - . = ..() - START_PROCESSING(SSobj, src) - -/mob/camera/blob/proc/validate_location() - var/turf/T = get_turf(src) - if(!is_valid_turf(T) && LAZYLEN(GLOB.blobstart)) - var/list/blobstarts = shuffle(GLOB.blobstart) - for(var/_T in blobstarts) - if(is_valid_turf(_T)) - T = _T - break - if(!T) - CRASH("No blobspawnpoints and blob spawned in nullspace.") - forceMove(T) - -/mob/camera/blob/proc/set_strain(datum/blobstrain/new_strain) - if (ispath(new_strain)) - var/hadstrain = FALSE - if (istype(blobstrain)) - blobstrain.on_lose() - qdel(blobstrain) - hadstrain = TRUE - blobstrain = new new_strain(src) - blobstrain.on_gain() - if (hadstrain) - to_chat(src, "Your strain is now: [blobstrain.name]!") - to_chat(src, "The [blobstrain.name] strain [blobstrain.description]") - if(blobstrain.effectdesc) - to_chat(src, "The [blobstrain.name] strain [blobstrain.effectdesc]") - - -/mob/camera/blob/proc/is_valid_turf(turf/T) - var/area/A = get_area(T) - if(!T || (A && !(A.area_flags & BLOBS_ALLOWED)) || isspaceturf(T)) - return FALSE - return TRUE - -/mob/camera/blob/process() - if(!blob_core) - if(!placed) - if(manualplace_min_time && world.time >= manualplace_min_time) - to_chat(src, "You may now place your blob core.") - to_chat(src, "You will automatically place your blob core in [DisplayTimeText(autoplace_max_time - world.time)].") - manualplace_min_time = 0 - if(autoplace_max_time && world.time >= autoplace_max_time) - place_blob_core(1) - else - qdel(src) - else if(!victory_in_progress && (blobs_legit.len >= blobwincount)) - victory_in_progress = TRUE - priority_announce("Biohazard has reached critical mass. Sector loss is imminent.", "Biohazard Alert") - set_security_level("delta") - SSredbot.send_discord_message("admin","A blob has reached critical mass.","round ending event") - max_blob_points = INFINITY - blob_points = INFINITY - addtimer(CALLBACK(src, PROC_REF(victory)), 450) - else if(!free_strain_rerolls && (last_reroll_time + BLOB_REROLL_TIMEYou have gained another free strain re-roll.
    ") - free_strain_rerolls = 1 - - if(!victory_in_progress && max_count < blobs_legit.len) - max_count = blobs_legit.len - - if((world.time >= announcement_time || blobs_legit.len >= announcement_size) && !has_announced) - priority_announce("Confirmed outbreak of level 5 biohazard in [station_name()]. All able individuals must assist in containing the outbreak.", "Biohazard Alert", 'sound/ai/outbreak5.ogg') - has_announced = TRUE - - if((world.time >= announcement_time || blobs_legit.len >= announcement_size) && !has_announced) - priority_announce("Confirmed outbreak of level 5 biohazard in [station_name()]. All able individuals must assist in containing the outbreak.", "Biohazard Alert", 'sound/ai/outbreak5.ogg') - has_announced = TRUE - -/mob/camera/blob/proc/victory() - sound_to_playing_players('sound/machines/alarm.ogg') - sleep(100) - for(var/i in GLOB.mob_living_list) - var/mob/living/L = i - var/turf/T = get_turf(L) - if(L.virtual_z() != virtual_z()) - continue - - if(L in GLOB.overminds || (L.pass_flags & PASSBLOB)) - continue - - var/area/Ablob = get_area(T) - - if(!(Ablob.area_flags & BLOBS_ALLOWED)) - continue - - if(!(ROLE_BLOB in L.faction)) - playsound(L, 'sound/effects/splat.ogg', 50, TRUE) - L.death() - new/mob/living/simple_animal/hostile/blob/blobspore(T) - else - L.fully_heal(admin_revive = FALSE) - - for(var/area/A in GLOB.sortedAreas) - if(!(A.area_flags & BLOBS_ALLOWED)) - continue - A.color = blobstrain.color - A.name = "blob" - A.icon = 'icons/mob/blob.dmi' - A.icon_state = "blob_shield" - A.layer = BELOW_MOB_LAYER - A.invisibility = 0 - A.blend_mode = 0 - var/datum/antagonist/blob/B = mind.has_antag_datum(/datum/antagonist/blob) - if(B) - var/datum/objective/blob_takeover/main_objective = locate() in B.objectives - if(main_objective) - main_objective.completed = TRUE - to_chat(world, "[real_name] consumed the sector in an unstoppable tide!") - SSticker.news_report = BLOB_WIN - SSticker.force_ending = 1 - -/mob/camera/blob/Destroy() - QDEL_NULL(blobstrain) - for(var/BL in GLOB.blobs) - var/obj/structure/blob/B = BL - if(B && B.overmind == src) - B.overmind = null - B.update_appearance() //reset anything that was ours - for(var/BLO in blob_mobs) - var/mob/living/simple_animal/hostile/blob/BM = BLO - if(BM) - BM.overmind = null - BM.update_icons() - GLOB.overminds -= src - - STOP_PROCESSING(SSobj, src) - - return ..() - -/mob/camera/blob/Login() - . = ..() - if(!. || !client) - return FALSE - to_chat(src, "You are the overmind!") - blob_help() - update_health_hud() - add_points(0) - -/mob/camera/blob/examine(mob/user) - . = ..() - if(blobstrain) - . += "Its strain is [blobstrain.name]." - -/mob/camera/blob/update_health_hud() - if(blob_core) - hud_used.healths.maptext = "
    [round(blob_core.obj_integrity)]
    " - for(var/mob/living/simple_animal/hostile/blob/blobbernaut/B in blob_mobs) - if(B.hud_used && B.hud_used.blobpwrdisplay) - B.hud_used.blobpwrdisplay.maptext = "
    [round(blob_core.obj_integrity)]
    " - -/mob/camera/blob/proc/add_points(points) - blob_points = clamp(blob_points + points, 0, max_blob_points) - hud_used.blobpwrdisplay.maptext = "
    [round(blob_points)]
    " - -/mob/camera/blob/say(message, bubble_type, list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) - if (!message) - return - - if (src.client) - if(client.prefs.muted & MUTE_IC) - to_chat(src, "You cannot send IC messages (muted).") - return - if (!(ignore_spam || forced) && src.client.handle_spam_prevention(message,MUTE_IC)) - return - - if (stat) - return - - blob_talk(message) - -/mob/camera/blob/proc/blob_talk(message) - - message = trim(copytext_char(sanitize(message), 1, MAX_MESSAGE_LEN)) - - if (!message) - return - - src.log_talk(message, LOG_SAY) - - var/message_a = say_quote(message) - var/rendered = "\[Blob Telepathy\] [name]([blobstrain.name]) [message_a]" - - for(var/mob/M in GLOB.mob_list) - if(isovermind(M) || istype(M, /mob/living/simple_animal/hostile/blob)) - to_chat(M, rendered) - if(isobserver(M)) - var/link = FOLLOW_LINK(M, src) - to_chat(M, "[link] [rendered]") - -/mob/camera/blob/blob_act(obj/structure/blob/B) - return - -/mob/camera/blob/get_status_tab_items() - . = ..() - if(blob_core) - . += "Core Health: [blob_core.obj_integrity]" - . += "Power Stored: [blob_points]/[max_blob_points]" - . += "Blobs to Win: [blobs_legit.len]/[blobwincount]" - if(free_strain_rerolls) - . += "You have [free_strain_rerolls] Free Strain Reroll\s Remaining" - if(!placed) - if(manualplace_min_time) - . += "Time Before Manual Placement: [max(round((manualplace_min_time - world.time)*0.1, 0.1), 0)]" - . += "Time Before Automatic Placement: [max(round((autoplace_max_time - world.time)*0.1, 0.1), 0)]" - -/mob/camera/blob/Move(NewLoc, Dir = 0) - if(placed) - var/obj/structure/blob/B = locate() in range("3x3", NewLoc) - if(B) - forceMove(NewLoc) - else - return 0 - else - var/area/A = get_area(NewLoc) - if(isspaceturf(NewLoc) || istype(A, /area/shuttle)) //if unplaced, can't go on shuttles or space tiles - return 0 - forceMove(NewLoc) - return 1 - -/mob/camera/blob/mind_initialize() - . = ..() - var/datum/antagonist/blob/B = mind.has_antag_datum(/datum/antagonist/blob) - if(!B) - mind.add_antag_datum(/datum/antagonist/blob) diff --git a/code/modules/antagonists/blob/powers.dm b/code/modules/antagonists/blob/powers.dm deleted file mode 100644 index 2fba8e460e2..00000000000 --- a/code/modules/antagonists/blob/powers.dm +++ /dev/null @@ -1,394 +0,0 @@ -/mob/camera/blob/proc/can_buy(cost = 15) - if(blob_points < cost) - to_chat(src, "You cannot afford this, you need at least [cost] resources!") - return 0 - add_points(-cost) - return 1 - -// Power verbs - -/mob/camera/blob/proc/place_blob_core(placement_override, pop_override = FALSE) - if(placed && placement_override != -1) - return 1 - if(!placement_override) - if(!pop_override) - for(var/mob/living/M in range(7, src)) - if(ROLE_BLOB in M.faction) - continue - if(M.client) - to_chat(src, "There is someone too close to place your blob core!") - return 0 - for(var/mob/living/M in view(13, src)) - if(ROLE_BLOB in M.faction) - continue - if(M.client) - to_chat(src, "Someone could see your blob core from here!") - return 0 - var/turf/T = get_turf(src) - if(T.density) - to_chat(src, "This spot is too dense to place a blob core on!") - return 0 - var/area/A = get_area(T) - if(isspaceturf(T) || A && !(A.area_flags & BLOBS_ALLOWED)) - to_chat(src, "You cannot place your core here!") - return 0 - for(var/obj/O in T) - if(istype(O, /obj/structure/blob)) - if(istype(O, /obj/structure/blob/normal)) - qdel(O) - else - to_chat(src, "There is already a blob here!") - return 0 - else if(O.density) - to_chat(src, "This spot is too dense to place a blob core on!") - return 0 - if(!pop_override && world.time <= manualplace_min_time && world.time <= autoplace_max_time) - to_chat(src, "It is too early to place your blob core!") - return 0 - else if(placement_override == 1) - var/turf/T = pick(GLOB.blobstart) - forceMove(T) //got overrided? you're somewhere random, motherfucker - if(placed && blob_core) - blob_core.forceMove(loc) - else - var/obj/structure/blob/core/core = new(get_turf(src), src, 1) - core.overmind = src - blobs_legit += src - blob_core = core - core.update_appearance() - update_health_hud() - placed = 1 - return 1 - -/mob/camera/blob/verb/transport_core() - set category = "Blob" - set name = "Jump to Core" - set desc = "Move your camera to your core." - if(blob_core) - forceMove(blob_core.drop_location()) - -/mob/camera/blob/verb/jump_to_node() - set category = "Blob" - set name = "Jump to Node" - set desc = "Move your camera to a selected node." - if(GLOB.blob_nodes.len) - var/list/nodes = list() - for(var/i in 1 to GLOB.blob_nodes.len) - var/obj/structure/blob/node/B = GLOB.blob_nodes[i] - nodes["Blob Node #[i] ([get_area_name(B)])"] = B - var/node_name = input(src, "Choose a node to jump to.", "Node Jump") in nodes - var/obj/structure/blob/node/chosen_node = nodes[node_name] - if(chosen_node) - forceMove(chosen_node.loc) - -/mob/camera/blob/proc/createSpecial(price, blobstrain, nearEquals, needsNode, turf/T) - if(!T) - T = get_turf(src) - var/obj/structure/blob/B = (locate(/obj/structure/blob) in T) - if(!B) - to_chat(src, "There is no blob here!") - return - if(!istype(B, /obj/structure/blob/normal)) - to_chat(src, "Unable to use this blob, find a normal one.") - return - if(needsNode) - var/area/A = get_area(src) - if(!(A.area_flags & BLOBS_ALLOWED)) //factory and resource blobs must be legit - to_chat(src, "This type of blob must be placed on the station!") - return - if(nodes_required && !(locate(/obj/structure/blob/node) in orange(3, T)) && !(locate(/obj/structure/blob/core) in orange(4, T))) - to_chat(src, "You need to place this blob closer to a node or core!") - return //handholdotron 2000 - if(nearEquals) - for(var/obj/structure/blob/L in orange(nearEquals, T)) - if(L.type == blobstrain) - to_chat(src, "There is a similar blob nearby, move more than [nearEquals] tiles away from it!") - return - if(!can_buy(price)) - return - var/obj/structure/blob/N = B.change_to(blobstrain, src) - return N - -/mob/camera/blob/verb/toggle_node_req() - set category = "Blob" - set name = "Toggle Node Requirement" - set desc = "Toggle requiring nodes to place resource and factory blobs." - nodes_required = !nodes_required - if(nodes_required) - to_chat(src, "You now require a nearby node or core to place factory and resource blobs.") - else - to_chat(src, "You no longer require a nearby node or core to place factory and resource blobs.") - -/mob/camera/blob/verb/create_shield_power() - set category = "Blob" - set name = "Create/Upgrade Shield Blob (15)" - set desc = "Create a shield blob, which will block fire and is hard to kill. Using this on an existing shield blob turns it into a reflective blob, capable of reflecting most projectiles but making it twice as weak to brute attacks." - create_shield() - -/mob/camera/blob/proc/create_shield(turf/T) - var/obj/structure/blob/shield/S = locate(/obj/structure/blob/shield) in T - if(S) - if(!can_buy(BLOB_REFLECTOR_COST)) - return - if(S.obj_integrity < S.max_integrity * 0.5) - add_points(BLOB_REFLECTOR_COST) - to_chat(src, "This shield blob is too damaged to be modified properly!") - return - to_chat(src, "You secrete a reflective ooze over the shield blob, allowing it to reflect projectiles at the cost of reduced integrity.") - S.change_to(/obj/structure/blob/shield/reflective, src) - else - createSpecial(15, /obj/structure/blob/shield, 0, 0, T) - -/mob/camera/blob/verb/create_resource() - set category = "Blob" - set name = "Create Resource Blob (40)" - set desc = "Create a resource tower which will generate resources for you." - createSpecial(40, /obj/structure/blob/resource, 4, 1) - -/mob/camera/blob/verb/create_node() - set category = "Blob" - set name = "Create Node Blob (50)" - set desc = "Create a node, which will power nearby factory and resource blobs." - createSpecial(50, /obj/structure/blob/node, 5, 0) - -/mob/camera/blob/verb/create_factory() - set category = "Blob" - set name = "Create Factory Blob (60)" - set desc = "Create a spore tower that will spawn spores to harass your enemies." - createSpecial(60, /obj/structure/blob/factory, 7, 1) - -/mob/camera/blob/verb/create_blobbernaut() - set category = "Blob" - set name = "Create Blobbernaut (40)" - set desc = "Create a powerful blobbernaut which is mildly smart and will attack enemies." - var/turf/T = get_turf(src) - var/obj/structure/blob/factory/B = locate(/obj/structure/blob/factory) in T - if(!B) - to_chat(src, "You must be on a factory blob!") - return - if(B.naut) //if it already made a blobbernaut, it can't do it again - to_chat(src, "This factory blob is already sustaining a blobbernaut.") - return - if(B.obj_integrity < B.max_integrity * 0.5) - to_chat(src, "This factory blob is too damaged to sustain a blobbernaut.") - return - if(!can_buy(40)) - return - - B.naut = TRUE //temporary placeholder to prevent creation of more than one per factory. - to_chat(src, "You attempt to produce a blobbernaut.") - var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as a [blobstrain.name] blobbernaut?", ROLE_BLOB, null, ROLE_BLOB, 50) //players must answer rapidly - if(LAZYLEN(candidates)) //if we got at least one candidate, they're a blobbernaut now. - B.max_integrity = initial(B.max_integrity) * 0.25 //factories that produced a blobbernaut have much lower health - B.obj_integrity = min(B.obj_integrity, B.max_integrity) - B.update_appearance() - B.visible_message("The blobbernaut [pick("rips", "tears", "shreds")] its way out of the factory blob!") - playsound(B.loc, 'sound/effects/splat.ogg', 50, TRUE) - var/mob/living/simple_animal/hostile/blob/blobbernaut/blobber = new /mob/living/simple_animal/hostile/blob/blobbernaut(get_turf(B)) - flick("blobbernaut_produce", blobber) - B.naut = blobber - blobber.factory = B - blobber.overmind = src - blobber.update_icons() - blobber.adjustHealth(blobber.maxHealth * 0.5) - blob_mobs += blobber - var/mob/dead/observer/C = pick(candidates) - blobber.key = C.key - SEND_SOUND(blobber, sound('sound/effects/blobattack.ogg')) - SEND_SOUND(blobber, sound('sound/effects/attackblob.ogg')) - to_chat(blobber, "You are a blobbernaut!") - to_chat(blobber, "You are powerful, hard to kill, and slowly regenerate near nodes and cores, but will slowly die if not near the blob or if the factory that made you is killed.") - to_chat(blobber, "You can communicate with other blobbernauts and overminds via :b") - to_chat(blobber, "Your overmind's blob reagent is: [blobstrain.name]!") - to_chat(blobber, "The [blobstrain.name] reagent [blobstrain.shortdesc ? "[blobstrain.shortdesc]" : "[blobstrain.description]"]") - else - to_chat(src, "You could not conjure a sentience for your blobbernaut. Your points have been refunded. Try again later.") - add_points(40) - B.naut = null - -/mob/camera/blob/verb/relocate_core() - set category = "Blob" - set name = "Relocate Core (80)" - set desc = "Swaps the locations of your core and the selected node." - var/turf/T = get_turf(src) - var/obj/structure/blob/node/B = locate(/obj/structure/blob/node) in T - if(!B) - to_chat(src, "You must be on a blob node!") - return - if(!blob_core) - to_chat(src, "You have no core and are about to die! May you rest in peace.") - return - var/area/A = get_area(T) - if(isspaceturf(T) || A && !(A.area_flags & BLOBS_ALLOWED)) - to_chat(src, "You cannot relocate your core here!") - return - if(!can_buy(80)) - return - var/turf/old_turf = get_turf(blob_core) - var/olddir = blob_core.dir - blob_core.forceMove(T) - blob_core.setDir(B.dir) - B.forceMove(old_turf) - B.setDir(olddir) - -/mob/camera/blob/verb/revert() - set category = "Blob" - set name = "Remove Blob" - set desc = "Removes a blob, giving you back some resources." - var/turf/T = get_turf(src) - remove_blob(T) - -/mob/camera/blob/proc/remove_blob(turf/T) - var/obj/structure/blob/B = locate() in T - if(!B) - to_chat(src, "There is no blob there!") - return - if(B.point_return < 0) - to_chat(src, "Unable to remove this blob.") - return - if(max_blob_points < B.point_return + blob_points) - to_chat(src, "You have too many resources to remove this blob!") - return - if(B.point_return) - add_points(B.point_return) - to_chat(src, "Gained [B.point_return] resources from removing \the [B].") - qdel(B) - -// commented out to fix errors with non-constant name/desc. Do we even need this code? -// /mob/camera/blob/verb/expand_blob_power() -// set category = "Blob" -// set name = "Expand/Attack Blob ([BLOB_SPREAD_COST])" -// set desc = "Attempts to create a new blob in this tile. If the tile isn't clear, instead attacks it, damaging mobs and objects and refunding [BLOB_ATTACK_REFUND] points." -// var/turf/T = get_turf(src) -// expand_blob(T) - -/mob/camera/blob/proc/expand_blob(turf/T) - if(world.time < last_attack) - return - var/list/possibleblobs = list() - for(var/obj/structure/blob/AB in range(T, 1)) - possibleblobs += AB - if(!possibleblobs.len) - to_chat(src, "There is no blob adjacent to the target tile!") - return - if(can_buy(BLOB_SPREAD_COST)) - var/attacksuccess = FALSE - for(var/mob/living/L in T) - if(ROLE_BLOB in L.faction) //no friendly/dead fire - continue - if(L.stat != DEAD) - attacksuccess = TRUE - blobstrain.attack_living(L, possibleblobs) - var/obj/structure/blob/B = locate() in T - if(B) - if(attacksuccess) //if we successfully attacked a turf with a blob on it, only give an attack refund - B.blob_attack_animation(T, src) - add_points(BLOB_ATTACK_REFUND) - else - to_chat(src, "There is a blob there!") - add_points(BLOB_SPREAD_COST) //otherwise, refund all of the cost - else - var/list/cardinalblobs = list() - var/list/diagonalblobs = list() - for(var/I in possibleblobs) - var/obj/structure/blob/IB = I - if(get_dir(IB, T) in GLOB.cardinals) - cardinalblobs += IB - else - diagonalblobs += IB - var/obj/structure/blob/OB - if(cardinalblobs.len) - OB = pick(cardinalblobs) - if(!OB.expand(T, src)) - add_points(BLOB_ATTACK_REFUND) //assume it's attacked SOMETHING, possibly a structure - else - OB = pick(diagonalblobs) - if(attacksuccess) - OB.blob_attack_animation(T, src) - playsound(OB, 'sound/effects/splat.ogg', 50, TRUE) - add_points(BLOB_ATTACK_REFUND) - else - add_points(BLOB_SPREAD_COST) //if we're attacking diagonally and didn't hit anything, refund - if(attacksuccess) - last_attack = world.time + CLICK_CD_MELEE - else - last_attack = world.time + CLICK_CD_RAPID - -/mob/camera/blob/verb/rally_spores_power() - set category = "Blob" - set name = "Rally Spores" - set desc = "Rally your spores to move to a target location." - var/turf/T = get_turf(src) - rally_spores(T) - -/mob/camera/blob/proc/rally_spores(turf/T) - to_chat(src, "You rally your spores.") - var/list/surrounding_turfs = block(locate(T.x - 1, T.y - 1, T.z), locate(T.x + 1, T.y + 1, T.z)) - if(!surrounding_turfs.len) - return - for(var/mob/living/simple_animal/hostile/blob/blobspore/BS in blob_mobs) - if(isturf(BS.loc) && get_dist(BS, T) <= 35 && !BS.key) - BS.LoseTarget() - BS.Goto(pick(surrounding_turfs), BS.move_to_delay) - -/mob/camera/blob/verb/blob_broadcast() - set category = "Blob" - set name = "Blob Broadcast" - set desc = "Speak with your blob spores and blobbernauts as your mouthpieces." - var/speak_text = stripped_input(src, "What would you like to say with your minions?", "Blob Broadcast", null) - if(!speak_text) - return - else - to_chat(src, "You broadcast with your minions, [speak_text]") - for(var/BLO in blob_mobs) - var/mob/living/simple_animal/hostile/blob/BM = BLO - if(BM.stat == CONSCIOUS) - BM.say(speak_text) - -/mob/camera/blob/verb/strain_reroll() - set category = "Blob" - set name = "Reactive Strain Adaptation (40)" - set desc = "Replaces your strain with a random, different one." - if(!rerolling && (free_strain_rerolls || can_buy(40))) - rerolling = TRUE - reroll_strain() - rerolling = FALSE - if(free_strain_rerolls) - free_strain_rerolls-- - last_reroll_time = world.time - -/mob/camera/blob/proc/reroll_strain() - var/list/choices = list() - while (length(choices) < 4) - var/datum/blobstrain/bs = pick((GLOB.valid_blobstrains)) - choices[initial(bs.name)] = bs - - var/choice = input(usr, "Please choose a new strain","Strain") as anything in sortList(choices, /proc/cmp_typepaths_asc) - if (choice && choices[choice] && !QDELETED(src)) - var/datum/blobstrain/bs = choices[choice] - set_strain(bs) - - -/mob/camera/blob/verb/blob_help() - set category = "Blob" - set name = "*Blob Help*" - set desc = "Help on how to blob." - to_chat(src, "As the overmind, you can control the blob!") - to_chat(src, "Your blob reagent is: [blobstrain.name]!") - to_chat(src, "The [blobstrain.name] reagent [blobstrain.description]") - if(blobstrain.effectdesc) - to_chat(src, "The [blobstrain.name] reagent [blobstrain.effectdesc]") - to_chat(src, "You can expand, which will attack people, damage objects, or place a Normal Blob if the tile is clear.") - to_chat(src, "Normal Blobs will expand your reach and can be upgraded into special blobs that perform certain functions.") - to_chat(src, "You can upgrade normal blobs into the following types of blob:") - to_chat(src, "Shield Blobs are strong and expensive blobs which take more damage. In additon, they are fireproof and can block air, use these to protect yourself from station fires. Upgrading them again will result in a reflective blob, capable of reflecting most projectiles at the cost of the strong blob's extra health.") - to_chat(src, "Resource Blobs are blobs which produce more resources for you, build as many of these as possible to consume the station. This type of blob must be placed near node blobs or your core to work.") - to_chat(src, "Factory Blobs are blobs that spawn blob spores which will attack nearby enemies. This type of blob must be placed near node blobs or your core to work.") - to_chat(src, "Blobbernauts can be produced from factories for a cost, and are hard to kill, powerful, and moderately smart. The factory used to create one will become fragile and briefly unable to produce spores.") - to_chat(src, "Node Blobs are blobs which grow, like the core. Like the core it can activate resource and factory blobs.") - to_chat(src, "In addition to the buttons on your HUD, there are a few click shortcuts to speed up expansion and defense.") - to_chat(src, "Shortcuts: Click = Expand Blob | Middle Mouse Click = Rally Spores | Ctrl Click = Create Shield Blob | Alt Click = Remove Blob") - to_chat(src, "Attempting to talk will send a message to all other overminds, allowing you to coordinate with them.") - if(!placed && autoplace_max_time <= world.time) - to_chat(src, "You will automatically place your blob core in [DisplayTimeText(autoplace_max_time - world.time)].") - to_chat(src, "You [manualplace_min_time ? "will be able to":"can"] manually place your blob core by pressing the Place Blob Core button in the bottom right corner of the screen.") diff --git a/code/modules/antagonists/blob/structures/_blob.dm b/code/modules/antagonists/blob/structures/_blob.dm deleted file mode 100644 index 31401dab8bb..00000000000 --- a/code/modules/antagonists/blob/structures/_blob.dm +++ /dev/null @@ -1,361 +0,0 @@ -//I will need to recode parts of this but I am way too tired atm //I don't know who left this comment but they never did come back -/obj/structure/blob - name = "blob" - icon = 'icons/mob/blob.dmi' - light_range = 2 - desc = "A thick wall of writhing tendrils." - density = FALSE //this being false causes two bugs, being able to attack blob tiles behind other blobs and being unable to move on blob tiles in no gravity, but turning it to 1 causes the blob mobs to be unable to path through blobs, which is probably worse. - opacity = FALSE - anchored = TRUE - layer = BELOW_MOB_LAYER - pass_flags_self = PASSBLOB - CanAtmosPass = ATMOS_PASS_PROC - var/point_return = 0 //How many points the blob gets back when it removes a blob of that type. If less than 0, blob cannot be removed. - max_integrity = 30 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 70) - var/health_regen = 2 //how much health this blob regens when pulsed - var/pulse_timestamp = 0 //we got pulsed when? - var/heal_timestamp = 0 //we got healed when? - var/brute_resist = 0.5 //multiplies brute damage by this - var/fire_resist = 1 //multiplies burn damage by this - var/atmosblock = FALSE //if the blob blocks atmos and heat spread - var/mob/camera/blob/overmind - -/obj/structure/blob/Initialize(mapload, owner_overmind) - . = ..() - if(owner_overmind) - overmind = owner_overmind - var/area/Ablob = get_area(src) - if(Ablob.area_flags & BLOBS_ALLOWED) //Is this area allowed for winning as blob? - overmind.blobs_legit += src - GLOB.blobs += src //Keep track of the blob in the normal list either way - setDir(pick(GLOB.cardinals)) - update_appearance() - if(atmosblock) - air_update_turf(TRUE) - ConsumeTile() - -/obj/structure/blob/proc/creation_action() //When it's created by the overmind, do this. - return - -/obj/structure/blob/Destroy() - if(atmosblock) - atmosblock = FALSE - air_update_turf(TRUE) - if(overmind) - overmind.blobs_legit -= src //if it was in the legit blobs list, it isn't now - GLOB.blobs -= src //it's no longer in the all blobs list either - playsound(src.loc, 'sound/effects/splat.ogg', 50, TRUE) //Expand() is no longer broken, no check necessary. - return ..() - -/obj/structure/blob/blob_act() - return - -/obj/structure/blob/Adjacent(atom/neighbour) - . = ..() - if(.) - var/result = 0 - var/direction = get_dir(src, neighbour) - var/list/dirs = list("[NORTHWEST]" = list(NORTH, WEST), "[NORTHEAST]" = list(NORTH, EAST), "[SOUTHEAST]" = list(SOUTH, EAST), "[SOUTHWEST]" = list(SOUTH, WEST)) - for(var/A in dirs) - if(direction == text2num(A)) - for(var/B in dirs[A]) - var/C = locate(/obj/structure/blob) in get_step(src, B) - if(C) - result++ - . -= result - 1 - -/obj/structure/blob/BlockThermalConductivity() - return atmosblock - -/obj/structure/blob/CanAtmosPass(turf/T) - return !atmosblock - -/obj/structure/blob/update_icon() //Updates color based on overmind color if we have an overmind. - . = ..() - if(overmind) - add_atom_colour(overmind.blobstrain.color, FIXED_COLOUR_PRIORITY) - else - remove_atom_colour(FIXED_COLOUR_PRIORITY) - -/obj/structure/blob/proc/Pulse_Area(mob/camera/blob/pulsing_overmind, claim_range = 10, pulse_range = 3, expand_range = 2) - if(QDELETED(pulsing_overmind)) - pulsing_overmind = overmind - Be_Pulsed() - var/expanded = FALSE - if(prob(70) && expand()) - expanded = TRUE - var/list/blobs_to_affect = list() - for(var/obj/structure/blob/B in urange(claim_range, src, 1)) - blobs_to_affect += B - shuffle_inplace(blobs_to_affect) - for(var/L in blobs_to_affect) - var/obj/structure/blob/B = L - if(!B.overmind && !istype(B, /obj/structure/blob/core) && prob(30)) - B.overmind = pulsing_overmind //reclaim unclaimed, non-core blobs. - B.update_appearance() - var/distance = get_dist(get_turf(src), get_turf(B)) - var/expand_probablity = max(20 - distance * 8, 1) - if(B.Adjacent(src)) - expand_probablity = 20 - if(distance <= expand_range) - var/can_expand = TRUE - if(blobs_to_affect.len >= 120 && B.heal_timestamp > world.time) - can_expand = FALSE - if(can_expand && B.pulse_timestamp <= world.time && prob(expand_probablity)) - var/obj/structure/blob/newB = B.expand(null, null, !expanded) //expansion falls off with range but is faster near the blob causing the expansion - if(newB) - if(expanded) - qdel(newB) - expanded = TRUE - if(distance <= pulse_range) - B.Be_Pulsed() - -/obj/structure/blob/proc/Be_Pulsed() - if(pulse_timestamp <= world.time) - ConsumeTile() - if(heal_timestamp <= world.time) - obj_integrity = min(max_integrity, obj_integrity+health_regen) - heal_timestamp = world.time + 20 - update_appearance() - pulse_timestamp = world.time + 10 - return 1 //we did it, we were pulsed! - return 0 //oh no we failed - -/obj/structure/blob/proc/ConsumeTile() - for(var/atom/A in loc) - A.blob_act(src) - if(iswallturf(loc)) - loc.blob_act(src) //don't ask how a wall got on top of the core, just eat it - -/obj/structure/blob/proc/blob_attack_animation(atom/A = null, controller) //visually attacks an atom - var/obj/effect/temp_visual/blob/O = new /obj/effect/temp_visual/blob(src.loc) - O.setDir(dir) - if(controller) - var/mob/camera/blob/BO = controller - O.color = BO.blobstrain.color - O.alpha = 200 - else if(overmind) - O.color = overmind.blobstrain.color - if(A) - O.do_attack_animation(A) //visually attack the whatever - return O //just in case you want to do something to the animation. - -/obj/structure/blob/proc/expand(turf/T = null, controller = null, expand_reaction = 1) - if(!T) - var/list/dirs = list(1,2,4,8) - for(var/i = 1 to 4) - var/dirn = pick(dirs) - dirs.Remove(dirn) - T = get_step(src, dirn) - if(!(locate(/obj/structure/blob) in T)) - break - else - T = null - if(!T) - return 0 - var/make_blob = TRUE //can we make a blob? - - 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 - - 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 - make_blob = FALSE - T.blob_act(src) //hit the turf if it is - for(var/atom/A in T) - if(!A.CanPass(src, get_dir(T, src))) //is anything in the turf impassable - make_blob = FALSE - A.blob_act(src) //also hit everything in the turf - - if(make_blob) //well, can we? - var/obj/structure/blob/B = new /obj/structure/blob/normal(src.loc, (controller || overmind)) - B.density = TRUE - if(T.Enter(B,src)) //NOW we can attempt to move into the tile - B.density = initial(B.density) - B.forceMove(T) - B.update_appearance() - if(B.overmind && expand_reaction) - B.overmind.blobstrain.expand_reaction(src, B, T, controller) - return B - else - blob_attack_animation(T, controller) - T.blob_act(src) //if we can't move in hit the turf again - qdel(B) //we should never get to this point, since we checked before moving in. destroy the blob so we don't have two blobs on one tile - return null - else - blob_attack_animation(T, controller) //if we can't, animate that we attacked - return null - -/obj/structure/blob/emp_act(severity) - . = ..() - if(. & EMP_PROTECT_SELF) - return - if(severity > 0) - if(overmind) - overmind.blobstrain.emp_reaction(src, severity) - if(prob(100 - severity * 30)) - new /obj/effect/temp_visual/emp(get_turf(src)) - -/obj/structure/blob/zap_act(power) - . = ..() - if(overmind) - if(overmind.blobstrain.tesla_reaction(src, power)) - take_damage(power/400, BURN, "energy") - else - take_damage(power/400, BURN, "energy") - -/obj/structure/blob/extinguish() - ..() - if(overmind) - overmind.blobstrain.extinguish_reaction(src) - -/obj/structure/blob/hulk_damage() - return 15 - -/obj/structure/blob/attackby(obj/item/I, mob/user, params) - if(I.tool_behaviour == TOOL_ANALYZER) - user.changeNext_move(CLICK_CD_MELEE) - to_chat(user, "The analyzer beeps once, then reports:
    ") - SEND_SOUND(user, sound('sound/machines/ping.ogg')) - if(overmind) - to_chat(user, "Progress to Critical Mass:[overmind.blobs_legit.len]/[overmind.blobwincount].") - to_chat(user, chemeffectreport(user).Join("\n")) - else - to_chat(user, "Blob core neutralized. Critical mass no longer attainable.") - to_chat(user, typereport(user).Join("\n")) - else - return ..() - -/obj/structure/blob/proc/chemeffectreport(mob/user) - RETURN_TYPE(/list) - . = list() - if(overmind) - . += list("Material: [overmind.blobstrain.name].", - "Material Effects:[overmind.blobstrain.analyzerdescdamage]", - "Material Properties:[overmind.blobstrain.analyzerdesceffect]") - else - . += "No Material Detected!" - -/obj/structure/blob/proc/typereport(mob/user) - RETURN_TYPE(/list) - return list("Blob Type:[uppertext(initial(name))]", - "Health:[obj_integrity]/[max_integrity]", - "Effects:[scannerreport()]") - - -/obj/structure/blob/attack_animal(mob/living/simple_animal/M) - if(ROLE_BLOB in M.faction) //sorry, but you can't kill the blob as a blobbernaut - return - ..() - -/obj/structure/blob/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) - switch(damage_type) - if(BRUTE) - if(damage_amount) - playsound(src.loc, 'sound/effects/attackblob.ogg', 50, TRUE) - else - playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) - if(BURN) - playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE) - -/obj/structure/blob/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) - switch(damage_type) - if(BRUTE) - damage_amount *= brute_resist - if(BURN) - damage_amount *= fire_resist - if(CLONE) - else - return 0 - var/armor_protection = 0 - if(damage_flag) - armor_protection = armor.getRating(damage_flag) - damage_amount = round(damage_amount * (100 - armor_protection)*0.01, 0.1) - if(overmind && damage_flag) - damage_amount = overmind.blobstrain.damage_reaction(src, damage_amount, damage_type, damage_flag) - return damage_amount - -/obj/structure/blob/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) - . = ..() - if(. && obj_integrity > 0) - update_appearance() - -/obj/structure/blob/obj_destruction(damage_flag) - if(overmind) - overmind.blobstrain.death_reaction(src, damage_flag) - ..() - -/obj/structure/blob/proc/change_to(type, controller) - if(!ispath(type)) - CRASH("change_to(): invalid type for blob") - var/obj/structure/blob/B = new type(src.loc, controller) - B.creation_action() - B.update_appearance() - B.setDir(dir) - qdel(src) - return B - -/obj/structure/blob/examine(mob/user) - . = ..() - var/datum/atom_hud/hud_to_check = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - if(user.research_scanner || hud_to_check.hudusers[user]) - . += "Your HUD displays an extensive report...
    " - if(overmind) - . += overmind.blobstrain.examine(user) - else - . += "Core neutralized. Critical mass no longer attainable." - . += chemeffectreport(user) - . += typereport(user) - else - if((user == overmind || isobserver(user)) && overmind) - . += overmind.blobstrain.examine(user) - . += "It seems to be made of [get_chem_name()]." - -/obj/structure/blob/proc/scannerreport() - return "A generic blob. Looks like someone forgot to override this proc, adminhelp this." - -/obj/structure/blob/proc/get_chem_name() - if(overmind) - return overmind.blobstrain.name - return "some kind of organic tissue" - -/obj/structure/blob/normal - name = "normal blob" - icon_state = "blob" - light_range = 0 - obj_integrity = 21 //doesn't start at full health - max_integrity = 25 - health_regen = 1 - brute_resist = 0.25 - -/obj/structure/blob/normal/scannerreport() - if(obj_integrity <= 15) - return "Currently weak to brute damage." - return "N/A" - -/obj/structure/blob/normal/update_name() - . = ..() - name = "[(obj_integrity <= 15) ? "fragile " : (overmind ? null : "dead ")][initial(name)]" - -/obj/structure/blob/normal/update_desc() - . = ..() - if(obj_integrity <= 15) - desc = "A thin lattice of slightly twitching tendrils." - else if(overmind) - desc = "A thick wall of writhing tendrils." - else - desc = "A thick wall of lifeless tendrils." - -/obj/structure/blob/normal/update_icon_state() - icon_state = "blob[(obj_integrity <= 15) ? "_damaged" : null]" - - /// - [] TODO: Move this elsewhere - if(obj_integrity <= 15) - brute_resist = 0.5 - else if (overmind) - brute_resist = 0.25 - else - brute_resist = 0.25 - return ..() diff --git a/code/modules/antagonists/blob/structures/core.dm b/code/modules/antagonists/blob/structures/core.dm deleted file mode 100644 index 6a1ccb1dd46..00000000000 --- a/code/modules/antagonists/blob/structures/core.dm +++ /dev/null @@ -1,70 +0,0 @@ -/obj/structure/blob/core - name = "blob core" - icon = 'icons/mob/blob.dmi' - icon_state = "blank_blob" - desc = "A huge, pulsating yellow mass." - max_integrity = 400 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 90) - explosion_block = 6 - point_return = -1 - health_regen = 0 //we regen in Life() instead of when pulsed - resistance_flags = LAVA_PROOF - -/obj/structure/blob/core/Initialize(mapload, client/new_overmind = null, placed = 0) - GLOB.blob_cores += src - START_PROCESSING(SSobj, src) - GLOB.poi_list |= src - update_appearance() //so it atleast appears - if(!placed && !overmind) - return INITIALIZE_HINT_QDEL - if(overmind) - update_appearance() - . = ..() - -/obj/structure/blob/core/Destroy() - GLOB.blob_cores -= src - GLOB.poi_list -= src - if(overmind) - overmind.blob_core = null - overmind = null - STOP_PROCESSING(SSobj, src) - return ..() - -/obj/structure/blob/core/scannerreport() - return "Directs the blob's expansion, gradually expands, and sustains nearby blob spores and blobbernauts." - -/obj/structure/blob/core/update_overlays() - . = ..() - var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/blob.dmi', "blob") - if(overmind) - blob_overlay.color = overmind.blobstrain.color - . += blob_overlay - . += mutable_appearance('icons/mob/blob.dmi', "blob_core_overlay") - -/obj/structure/blob/core/update_appearance() - color = null - return ..() - -/obj/structure/blob/core/ex_act(severity, target) - var/damage = 50 - 10 * severity //remember, the core takes half brute damage, so this is 20/15/10 damage based on severity - take_damage(damage, BRUTE, "bomb", 0) - -/obj/structure/blob/core/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir, overmind_reagent_trigger = 1) - . = ..() - if(obj_integrity > 0) - if(overmind) //we should have an overmind, but... - overmind.update_health_hud() - -/obj/structure/blob/core/process() - if(QDELETED(src)) - return - if(!overmind) - qdel(src) - if(overmind) - overmind.blobstrain.core_process() - overmind.update_health_hud() - Pulse_Area(overmind, 12, 4, 3) - for(var/obj/structure/blob/normal/B in range(1, src)) - if(prob(5)) - B.change_to(/obj/structure/blob/shield/core, overmind) - ..() diff --git a/code/modules/antagonists/blob/structures/factory.dm b/code/modules/antagonists/blob/structures/factory.dm deleted file mode 100644 index 138a359e72e..00000000000 --- a/code/modules/antagonists/blob/structures/factory.dm +++ /dev/null @@ -1,47 +0,0 @@ -/obj/structure/blob/factory - name = "factory blob" - icon = 'icons/mob/blob.dmi' - icon_state = "blob_factory" - desc = "A thick spire of tendrils." - max_integrity = 200 - health_regen = 1 - point_return = 25 - resistance_flags = LAVA_PROOF - var/list/spores = list() - var/mob/living/simple_animal/hostile/blob/blobbernaut/naut = null - var/max_spores = 3 - var/spore_delay = 0 - var/spore_cooldown = 80 //8 seconds between spores and after spore death - - -/obj/structure/blob/factory/scannerreport() - if(naut) - return "It is currently sustaining a blobbernaut, making it fragile and unable to produce blob spores." - return "Will produce a blob spore every few seconds." - -/obj/structure/blob/factory/Destroy() - for(var/mob/living/simple_animal/hostile/blob/blobspore/spore in spores) - if(spore.factory == src) - spore.factory = null - if(naut) - naut.factory = null - to_chat(naut, "Your factory was destroyed! You feel yourself dying!") - naut.throw_alert("nofactory", /atom/movable/screen/alert/nofactory) - spores = null - return ..() - -/obj/structure/blob/factory/Be_Pulsed() - . = ..() - if(naut) - return - if(spores.len >= max_spores) - return - if(spore_delay > world.time) - return - flick("blob_factory_glow", src) - spore_delay = world.time + spore_cooldown - var/mob/living/simple_animal/hostile/blob/blobspore/BS = new/mob/living/simple_animal/hostile/blob/blobspore(src.loc, src) - if(overmind) //if we don't have an overmind, we don't need to do anything but make a spore - BS.overmind = overmind - BS.update_icons() - overmind.blob_mobs.Add(BS) diff --git a/code/modules/antagonists/blob/structures/node.dm b/code/modules/antagonists/blob/structures/node.dm deleted file mode 100644 index de7c674b807..00000000000 --- a/code/modules/antagonists/blob/structures/node.dm +++ /dev/null @@ -1,40 +0,0 @@ -/obj/structure/blob/node - name = "blob node" - icon = 'icons/mob/blob.dmi' - icon_state = "blank_blob" - desc = "A large, pulsating yellow mass." - max_integrity = 200 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 65, "acid" = 90) - health_regen = 3 - point_return = 25 - resistance_flags = LAVA_PROOF - - -/obj/structure/blob/node/Initialize() - GLOB.blob_nodes += src - START_PROCESSING(SSobj, src) - . = ..() - -/obj/structure/blob/node/scannerreport() - return "Gradually expands and sustains nearby blob spores and blobbernauts." - -/obj/structure/blob/node/update_icon() - color = null - return ..() - -/obj/structure/blob/special/node/update_overlays() - . = ..() - var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/blob.dmi', "blob") - if(overmind) - blob_overlay.color = overmind.blobstrain.color - . += blob_overlay - . += mutable_appearance('icons/mob/blob.dmi', "blob_node_overlay") - -/obj/structure/blob/node/Destroy() - GLOB.blob_nodes -= src - STOP_PROCESSING(SSobj, src) - return ..() - -/obj/structure/blob/node/process() - if(overmind) - Pulse_Area(overmind, 10, 3, 2) diff --git a/code/modules/antagonists/blob/structures/resource.dm b/code/modules/antagonists/blob/structures/resource.dm deleted file mode 100644 index 81eda7f4edd..00000000000 --- a/code/modules/antagonists/blob/structures/resource.dm +++ /dev/null @@ -1,32 +0,0 @@ -/obj/structure/blob/resource - name = "resource blob" - icon = 'icons/mob/blob.dmi' - icon_state = "blob_resource" - desc = "A thin spire of slightly swaying tendrils." - max_integrity = 60 - point_return = 15 - resistance_flags = LAVA_PROOF - var/resource_delay = 0 - -/obj/structure/blob/resource/scannerreport() - return "Gradually supplies the blob with resources, increasing the rate of expansion." - -/obj/structure/blob/resource/creation_action() - if(overmind) - overmind.resource_blobs += src - -/obj/structure/blob/resource/Destroy() - if(overmind) - overmind.resource_blobs -= src - return ..() - -/obj/structure/blob/resource/Be_Pulsed() - . = ..() - if(resource_delay > world.time) - return - flick("blob_resource_glow", src) - if(overmind) - overmind.add_points(1) - resource_delay = world.time + 40 + overmind.resource_blobs.len * 2.5 //4 seconds plus a quarter second for each resource blob the overmind has - else - resource_delay = world.time + 40 diff --git a/code/modules/antagonists/blob/structures/shield.dm b/code/modules/antagonists/blob/structures/shield.dm deleted file mode 100644 index f0a01f70e1a..00000000000 --- a/code/modules/antagonists/blob/structures/shield.dm +++ /dev/null @@ -1,49 +0,0 @@ -/obj/structure/blob/shield - name = "strong blob" - icon = 'icons/mob/blob.dmi' - icon_state = "blob_shield" - desc = "A solid wall of slightly twitching tendrils." - var/damaged_desc = "A wall of twitching tendrils." - max_integrity = 150 - brute_resist = 0.25 - explosion_block = 3 - point_return = 4 - atmosblock = TRUE - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90) - -/obj/structure/blob/shield/scannerreport() - if(atmosblock) - return "Will prevent the spread of atmospheric changes." - return "N/A" - -/obj/structure/blob/shield/core - point_return = 0 - -/obj/structure/blob/shield/update_name(updates) - . = ..() - name = "[(obj_integrity < (max_integrity * 0.5)) ? "weakened " : null][initial(name)]" - -/obj/structure/blob/shield/update_desc(updates) - . = ..() - desc = (obj_integrity < (max_integrity * 0.5)) ? "[damaged_desc]" : initial(desc) - -/obj/structure/blob/shield/take_damage(damage_amount, damage_type, damage_flag, sound_effect, attack_dir) - . = ..() - if(. && obj_integrity > 0) - atmosblock = obj_integrity < (max_integrity * 0.5) - air_update_turf(TRUE, atmosblock) - -/obj/structure/blob/shield/update_icon_state() - icon_state = "[initial(icon_state)][(obj_integrity < (max_integrity * 0.5)) ? "_damaged" : null]" - return ..() - -/obj/structure/blob/shield/reflective - name = "reflective blob" - desc = "A solid wall of slightly twitching tendrils with a reflective glow." - damaged_desc = "A wall of twitching tendrils with a reflective glow." - icon_state = "blob_glow" - flags_ricochet = RICOCHET_SHINY - point_return = 8 - max_integrity = 100 - brute_resist = 0.5 - explosion_block = 2 diff --git a/code/modules/antagonists/blood_contract/blood_contract.dm b/code/modules/antagonists/blood_contract/blood_contract.dm index edd8aba6042..c56ef47db93 100644 --- a/code/modules/antagonists/blood_contract/blood_contract.dm +++ b/code/modules/antagonists/blood_contract/blood_contract.dm @@ -36,6 +36,6 @@ continue to_chat(P, "You have an overwhelming desire to kill [H]. [H.p_theyve(TRUE)] been marked red! Whoever [H.p_they()] [H.p_were()], friend or foe, go kill [H.p_them()]!") - var/obj/item/I = new /obj/item/kitchen/knife/butcher(get_turf(P)) + var/obj/item/I = new /obj/item/melee/knife/butcher(get_turf(P)) P.put_in_hands(I, del_on_fail=TRUE) QDEL_IN(I, duration) diff --git a/code/modules/antagonists/borer/borer.dm b/code/modules/antagonists/borer/borer.dm index 92a1e728dc8..4a3f73da57c 100644 --- a/code/modules/antagonists/borer/borer.dm +++ b/code/modules/antagonists/borer/borer.dm @@ -79,7 +79,7 @@ GLOBAL_VAR_INIT(total_borer_hosts_needed, 3) mob_size = MOB_SIZE_SMALL faction = list("creature") ventcrawler = VENTCRAWLER_ALWAYS - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 @@ -683,10 +683,6 @@ GLOBAL_VAR_INIT(total_borer_hosts_needed, 3) if(docile) to_chat(src, "You are feeling far too docile to do that.") return - if(iscultist(victim) || HAS_TRAIT(victim, TRAIT_MINDSHIELD)) - to_chat(src, "[victim]'s mind seems to be blocked by some unknown force!") - return - else log_game("[src]/([src.ckey]) assumed control of [victim]/([victim.ckey] with borer powers.") diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 7d9279f1390..7953f3f7021 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -539,17 +539,6 @@ newprofile.mob_overlay_icon_list = mob_overlay_icon_list.Copy() newprofile.mob_overlay_state_list = mob_overlay_state_list.Copy() //WS EDIT - Mob Overlay State -/datum/antagonist/changeling/xenobio - name = "Xenobio Changeling" - give_objectives = FALSE - show_in_roundend = FALSE //These are here for admin tracking purposes only - you_are_greet = FALSE - - chem_storage = 25 - geneticpoints = 2 - chem_recharge_rate = 0.5 - dna_max = 3 - /datum/antagonist/changeling/roundend_report() var/list/parts = list() @@ -582,6 +571,3 @@ /datum/antagonist/changeling/antag_listing_name() return ..() + "([changelingID])" - -/datum/antagonist/changeling/xenobio/antag_listing_name() - return ..() + "(Xenobio)" diff --git a/code/modules/antagonists/changeling/powers/pheromone_receptors.dm b/code/modules/antagonists/changeling/powers/pheromone_receptors.dm index 5980993958b..93905c9d6ae 100644 --- a/code/modules/antagonists/changeling/powers/pheromone_receptors.dm +++ b/code/modules/antagonists/changeling/powers/pheromone_receptors.dm @@ -48,7 +48,7 @@ changelings[C] = (CHANGELING_PHEROMONE_MAX_DISTANCE ** 2) - (distance ** 2) if(changelings.len) - scan_target = pickweight(changelings) //Point at a 'random' changeling, biasing heavily towards closer ones. + scan_target = pick_weight(changelings) //Point at a 'random' changeling, biasing heavily towards closer ones. else scan_target = null diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm deleted file mode 100644 index c9232857a54..00000000000 --- a/code/modules/antagonists/cult/blood_magic.dm +++ /dev/null @@ -1,849 +0,0 @@ -/datum/action/innate/cult/blood_magic //Blood magic handles the creation of blood spells (formerly talismans) - name = "Prepare Blood Magic" - button_icon_state = "carve" - desc = "Prepare blood magic by carving runes into your flesh. This is easier with an empowering rune." - var/list/spells = list() - var/channeling = FALSE - -/datum/action/innate/cult/blood_magic/Grant() - ..() - button.screen_loc = DEFAULT_BLOODSPELLS - button.moved = DEFAULT_BLOODSPELLS - button.ordered = FALSE - -/datum/action/innate/cult/blood_magic/Remove() - for(var/X in spells) - qdel(X) - ..() - -/datum/action/innate/cult/blood_magic/IsAvailable() - if(!iscultist(owner)) - return FALSE - return ..() - -/datum/action/innate/cult/blood_magic/proc/Positioning() - var/list/screen_loc_split = splittext(button.screen_loc,",") - var/list/screen_loc_X = splittext(screen_loc_split[1],":") - var/list/screen_loc_Y = splittext(screen_loc_split[2],":") - var/pix_X = text2num(screen_loc_X[2]) - for(var/datum/action/innate/cult/blood_spell/B in spells) - if(B.button.locked) - var/order = pix_X+spells.Find(B)*31 - B.button.screen_loc = "[screen_loc_X[1]]:[order],[screen_loc_Y[1]]:[screen_loc_Y[2]]" - B.button.moved = B.button.screen_loc - -/datum/action/innate/cult/blood_magic/Activate() - var/rune = FALSE - var/limit = RUNELESS_MAX_BLOODCHARGE - for(var/obj/effect/rune/empower/R in range(1, owner)) - rune = TRUE - break - if(rune) - limit = MAX_BLOODCHARGE - if(spells.len >= limit) - if(rune) - to_chat(owner, "You cannot store more than [MAX_BLOODCHARGE] spells. Pick a spell to remove.") - else - to_chat(owner, "You cannot store more than [RUNELESS_MAX_BLOODCHARGE] spells without an empowering rune! Pick a spell to remove.") - var/nullify_spell = input(owner, "Choose a spell to remove.", "Current Spells") as null|anything in spells - if(nullify_spell) - qdel(nullify_spell) - return - var/entered_spell_name - var/datum/action/innate/cult/blood_spell/BS - var/list/possible_spells = list() - for(var/I in subtypesof(/datum/action/innate/cult/blood_spell)) - var/datum/action/innate/cult/blood_spell/J = I - var/cult_name = initial(J.name) - possible_spells[cult_name] = J - possible_spells += "(REMOVE SPELL)" - entered_spell_name = input(owner, "Pick a blood spell to prepare...", "Spell Choices") as null|anything in possible_spells - if(entered_spell_name == "(REMOVE SPELL)") - var/nullify_spell = input(owner, "Choose a spell to remove.", "Current Spells") as null|anything in spells - if(nullify_spell) - qdel(nullify_spell) - return - BS = possible_spells[entered_spell_name] - if(QDELETED(src) || owner.incapacitated() || !BS || (rune && !(locate(/obj/effect/rune/empower) in range(1, owner))) || (spells.len >= limit)) - return - to_chat(owner,"You begin to carve unnatural symbols into your flesh!") - SEND_SOUND(owner, sound('sound/weapons/slice.ogg',0,1,10)) - if(!channeling) - channeling = TRUE - else - to_chat(owner, "You are already invoking blood magic!") - return - if(do_after(owner, 100 - rune*60, target = owner)) - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.bleed(40 - rune*32) - var/datum/action/innate/cult/blood_spell/new_spell = new BS(owner) - new_spell.Grant(owner, src) - spells += new_spell - Positioning() - to_chat(owner, "Your wounds glow with power, you have prepared a [new_spell.name] invocation!") - channeling = FALSE - -/datum/action/innate/cult/blood_spell //The next generation of talismans, handles storage/creation of blood magic - name = "Blood Magic" - button_icon_state = "telerune" - desc = "Fear the Old Blood." - var/charges = 1 - var/magic_path = null - var/obj/item/melee/blood_magic/hand_magic - var/datum/action/innate/cult/blood_magic/all_magic - var/base_desc //To allow for updating tooltips - var/invocation - var/health_cost = 0 - -/datum/action/innate/cult/blood_spell/Grant(mob/living/owner, datum/action/innate/cult/blood_magic/BM) - if(health_cost) - desc += "
    Deals [health_cost] damage to your arm per use." - base_desc = desc - desc += "
    Has [charges] use\s remaining." - all_magic = BM - ..() - button.locked = TRUE - button.ordered = FALSE - -/datum/action/innate/cult/blood_spell/Remove() - if(all_magic) - all_magic.spells -= src - if(hand_magic) - qdel(hand_magic) - hand_magic = null - ..() - -/datum/action/innate/cult/blood_spell/IsAvailable() - if(!iscultist(owner) || owner.incapacitated() || !charges) - return FALSE - return ..() - -/datum/action/innate/cult/blood_spell/Activate() - if(magic_path) //If this spell flows from the hand - if(!hand_magic) - hand_magic = new magic_path(owner, src) - if(!owner.put_in_hands(hand_magic)) - qdel(hand_magic) - hand_magic = null - to_chat(owner, "You have no empty hand for invoking blood magic!") - return - to_chat(owner, "Your wounds glow as you invoke the [name].") - return - if(hand_magic) - qdel(hand_magic) - hand_magic = null - to_chat(owner, "You snuff out the spell, saving it for later.") - - -//Cult Blood Spells -/datum/action/innate/cult/blood_spell/stun - name = "Stun" - desc = "Empowers your hand to stun and mute a victim on contact." - button_icon_state = "hand" - magic_path = "/obj/item/melee/blood_magic/stun" - health_cost = 10 - -/datum/action/innate/cult/blood_spell/teleport - name = "Teleport" - desc = "Empowers your hand to teleport yourself or another cultist to a teleport rune on contact." - button_icon_state = "tele" - magic_path = "/obj/item/melee/blood_magic/teleport" - health_cost = 7 - -/datum/action/innate/cult/blood_spell/emp - name = "Electromagnetic Pulse" - desc = "Emits a large electromagnetic pulse." - button_icon_state = "emp" - health_cost = 10 - invocation = "Ta'gh fara'qha fel d'amar det!" - -/datum/action/innate/cult/blood_spell/emp/Activate() - owner.visible_message( - "[owner]'s hand flashes a bright blue!", \ - "You speak the cursed words, emitting an EMP blast from your hand.") - empulse(owner, 2, 5) - owner.whisper(invocation, language = /datum/language/common) - charges-- - if(charges<=0) - qdel(src) - -/datum/action/innate/cult/blood_spell/shackles - name = "Shadow Shackles" - desc = "Empowers your hand to start handcuffing victim on contact, and mute them if successful." - button_icon_state = "cuff" - charges = 4 - magic_path = "/obj/item/melee/blood_magic/shackles" - -/datum/action/innate/cult/blood_spell/construction - name = "Twisted Construction" - desc = "Empowers your hand to corrupt certain metalic objects.
    Converts:
    Plasteel into runed metal
    50 metal into a construct shell
    Living cyborgs into constructs after a delay
    Cyborg shells into construct shells
    Airlocks into brittle runed airlocks after a delay (harm intent)" - button_icon_state = "transmute" - magic_path = "/obj/item/melee/blood_magic/construction" - health_cost = 12 - -/datum/action/innate/cult/blood_spell/equipment - name = "Summon Equipment" - desc = "Allows you to summon a ritual dagger, or empowers your hand to summon combat gear onto a cultist you touch, including cult armor, a cult bola, and a cult sword." - button_icon_state = "equip" - magic_path = "/obj/item/melee/blood_magic/armor" - -/datum/action/innate/cult/blood_spell/equipment/Activate() - var/choice = alert(owner,"Choose your equipment type",,"Combat Equipment","Ritual Dagger","Cancel") - if(choice == "Ritual Dagger") - var/turf/T = get_turf(owner) - owner.visible_message("[owner]'s hand glows red for a moment.", \ - "Red light begins to shimmer and take form within your hand!") - var/obj/O = new /obj/item/melee/cultblade/dagger(T) - if(owner.put_in_hands(O)) - to_chat(owner, "A ritual dagger appears in your hand!") - else - owner.visible_message( - "A ritual dagger appears at [owner]'s feet!", \ - "A ritual dagger materializes at your feet.") - SEND_SOUND(owner, sound('sound/effects/magic.ogg',0,1,25)) - charges-- - desc = base_desc - desc += "
    Has [charges] use\s remaining." - if(charges<=0) - qdel(src) - else if(choice == "Combat Equipment") - ..() - -/datum/action/innate/cult/blood_spell/horror - name = "Hallucinations" - desc = "Gives hallucinations to a target at range. A silent and invisible spell." - button_icon_state = "horror" - var/obj/effect/proc_holder/horror/PH - charges = 4 - -/datum/action/innate/cult/blood_spell/horror/New() - PH = new() - PH.attached_action = src - ..() - -/datum/action/innate/cult/blood_spell/horror/Destroy() - var/obj/effect/proc_holder/horror/destroy = PH - . = ..() - if(destroy && !QDELETED(destroy)) - QDEL_NULL(destroy) - -/datum/action/innate/cult/blood_spell/horror/Activate() - PH.toggle(owner) //the important bit - return TRUE - -/obj/effect/proc_holder/horror - active = FALSE - ranged_mousepointer = 'icons/effects/mouse_pointers/cult_target.dmi' - var/datum/action/innate/cult/blood_spell/attached_action - -/obj/effect/proc_holder/horror/Destroy() - var/datum/action/innate/cult/blood_spell/AA = attached_action - . = ..() - if(AA && !QDELETED(AA)) - QDEL_NULL(AA) - -/obj/effect/proc_holder/horror/proc/toggle(mob/user) - if(active) - remove_ranged_ability("You dispel the magic...") - else - add_ranged_ability(user, "You prepare to horrify a target...") - -/obj/effect/proc_holder/horror/InterceptClickOn(mob/living/caller, params, atom/target) - if(..()) - return - if(ranged_ability_user.incapacitated() || !iscultist(caller)) - remove_ranged_ability() - return - var/turf/T = get_turf(ranged_ability_user) - if(!isturf(T)) - return FALSE - if(target in view(7, get_turf(ranged_ability_user))) - if(!ishuman(target) || iscultist(target)) - return - var/mob/living/carbon/human/H = target - H.hallucination = max(H.hallucination, 120) - SEND_SOUND(ranged_ability_user, sound('sound/effects/ghost.ogg',0,1,50)) - var/image/C = image('icons/effects/cult_effects.dmi',H,"bloodsparkles", ABOVE_MOB_LAYER) - add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/cult, "cult_apoc", C, NONE) - addtimer(CALLBACK(H, TYPE_PROC_REF(/atom, remove_alt_appearance),"cult_apoc",TRUE), 2400, TIMER_OVERRIDE|TIMER_UNIQUE) - to_chat(ranged_ability_user,"[H] has been cursed with living nightmares!") - attached_action.charges-- - attached_action.desc = attached_action.base_desc - attached_action.desc += "
    Has [attached_action.charges] use\s remaining." - attached_action.UpdateButtonIcon() - if(attached_action.charges <= 0) - remove_ranged_ability("You have exhausted the spell's power!") - qdel(src) - -/datum/action/innate/cult/blood_spell/veiling - name = "Conceal Presence" - desc = "Alternates between hiding and revealing nearby cult structures and runes." - invocation = "Kla'atu barada nikt'o!" - button_icon_state = "gone" - charges = 10 - var/revealing = FALSE //if it reveals or not - -/datum/action/innate/cult/blood_spell/veiling/Activate() - if(!revealing) - owner.visible_message("Thin grey dust falls from [owner]'s hand!", \ - "You invoke the veiling spell, hiding nearby runes.") - charges-- - SEND_SOUND(owner, sound('sound/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() - for(var/obj/structure/destructible/cult/S in range(5,owner)) - S.conceal() - for(var/turf/open/floor/engine/cult/T in range(5,owner)) - T.realappearance.alpha = 0 - for(var/obj/machinery/door/airlock/cult/AL in range(5, owner)) - AL.conceal() - revealing = TRUE - name = "Reveal Runes" - button_icon_state = "back" - else - owner.visible_message( - "A flash of light shines from [owner]'s hand!", \ - "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)) - 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)) - S.reveal() - for(var/turf/open/floor/engine/cult/T in range(6,owner)) - T.realappearance.alpha = initial(T.realappearance.alpha) - for(var/obj/machinery/door/airlock/cult/AL in range(6, owner)) - AL.reveal() - revealing = FALSE - name = "Conceal Runes" - button_icon_state = "gone" - if(charges<= 0) - qdel(src) - desc = base_desc - desc += "
    Has [charges] use\s remaining." - UpdateButtonIcon() - -/datum/action/innate/cult/blood_spell/manipulation - name = "Blood Rites" - desc = "Empowers your hand to absorb blood to be used for advanced rites, or heal a cultist on contact. Use the spell in-hand to cast advanced rites." - invocation = "Fel'th Dol Ab'orod!" - button_icon_state = "manip" - charges = 5 - magic_path = "/obj/item/melee/blood_magic/manipulator" - - -// The "magic hand" items -/obj/item/melee/blood_magic - name = "\improper magical aura" - desc = "A sinister looking aura that distorts the flow of reality around it." - icon = 'icons/obj/items_and_weapons.dmi' - lefthand_file = 'icons/mob/inhands/misc/touchspell_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/touchspell_righthand.dmi' - icon_state = "disintegrate" - item_state = "disintegrate" - item_flags = NEEDS_PERMIT | ABSTRACT | DROPDEL - - w_class = WEIGHT_CLASS_HUGE - throwforce = 0 - throw_range = 0 - throw_speed = 0 - var/invocation - var/uses = 1 - var/health_cost = 0 //The amount of health taken from the user when invoking the spell - var/datum/action/innate/cult/blood_spell/source - -/obj/item/melee/blood_magic/New(loc, spell) - if(spell) - source = spell - uses = source.charges - health_cost = source.health_cost - ..() - -/obj/item/melee/blood_magic/Destroy() - if(!QDELETED(source)) - if(uses <= 0) - source.hand_magic = null - qdel(source) - source = null - else - source.hand_magic = null - source.charges = uses - source.desc = source.base_desc - source.desc += "
    Has [uses] use\s remaining." - source.UpdateButtonIcon() - return ..() - -/obj/item/melee/blood_magic/attack_self(mob/living/user) - afterattack(user, user, TRUE) - -/obj/item/melee/blood_magic/attack(mob/living/M, mob/living/carbon/user) - if(!iscarbon(user) || !iscultist(user)) - uses = 0 - qdel(src) - return - log_combat(user, M, "used a cult spell on", source.name, "") - M.lastattacker = user.real_name - M.lastattackerckey = user.ckey - -/obj/item/melee/blood_magic/afterattack(atom/target, mob/living/carbon/user, proximity) - . = ..() - if(invocation) - user.whisper(invocation, language = /datum/language/common) - if(health_cost) - if(user.active_hand_index == 1) - user.apply_damage(health_cost, BRUTE, BODY_ZONE_L_ARM) - else - user.apply_damage(health_cost, BRUTE, BODY_ZONE_R_ARM) - if(uses <= 0) - qdel(src) - else if(source) - source.desc = source.base_desc - source.desc += "
    Has [uses] use\s remaining." - source.UpdateButtonIcon() - -//Stun -/obj/item/melee/blood_magic/stun - name = "Stunning Aura" - desc = "Will stun and mute a weak-minded victim on contact." - color = RUNE_COLOR_RED - invocation = "Fuu ma'jin!" - -/obj/item/melee/blood_magic/stun/afterattack(atom/target, mob/living/carbon/user, proximity) - if(!isliving(target) || !proximity) - return - var/mob/living/L = target - if(iscultist(target)) - return - if(iscultist(user)) - user.visible_message("[user] holds up [user.p_their()] hand, which explodes in a flash of red light!", \ - "You attempt to stun [L] with the spell!") - - user.mob_light(_range = 3, _color = LIGHT_COLOR_BLOOD_MAGIC, _duration = 0.2 SECONDS) - - var/anti_magic_source = L.anti_magic_check() - if(anti_magic_source) - - L.mob_light(_range = 2, _color = LIGHT_COLOR_HOLY_MAGIC, _duration = 10 SECONDS) - var/mutable_appearance/forbearance = mutable_appearance('icons/effects/genetics.dmi', "servitude", -MUTATIONS_LAYER) - L.add_overlay(forbearance) - addtimer(CALLBACK(L, TYPE_PROC_REF(/atom, cut_overlay), forbearance), 100) - - if(istype(anti_magic_source, /obj/item)) - var/obj/item/ams_object = anti_magic_source - target.visible_message( - "[L] starts to glow in a halo of light!", \ - "Your [ams_object.name] begins to glow, emitting a blanket of holy light which surrounds you and protects you from the flash of light!") - else - target.visible_message( - "[L] starts to glow in a halo of light!", \ - "A feeling of warmth washes over you, rays of holy light surround your body and protect you from the flash of light!") - - else - if(HAS_TRAIT(target, TRAIT_MINDSHIELD)) - var/mob/living/carbon/C = L - to_chat(user, "Their mind was stronger than expected, but you still managed to do some damage!") - C.stuttering += 8 - C.dizziness += 30 - C.Jitter(8) - C.drop_all_held_items() - C.bleed(40) - C.apply_damage(60, STAMINA, BODY_ZONE_CHEST) - else - to_chat(user, "In a brilliant flash of red, [L] falls to the ground!") - L.Paralyze(160) - L.flash_act(1,1) - if(issilicon(target)) - var/mob/living/silicon/S = L - S.emp_act(EMP_HEAVY) - else if(iscarbon(target)) - var/mob/living/carbon/C = L - C.silent += 6 - C.stuttering += 15 - C.cultslurring += 15 - C.Jitter(15) - uses-- - ..() - -//Teleportation -/obj/item/melee/blood_magic/teleport - name = "Teleporting Aura" - color = RUNE_COLOR_TELEPORT - desc = "Will teleport a cultist to a teleport rune on contact." - invocation = "Sas'so c'arta forbici!" - -/obj/item/melee/blood_magic/teleport/afterattack(atom/target, mob/living/carbon/user, proximity) - if(!iscultist(target) || !proximity) - to_chat(user, "You can only teleport adjacent cultists with this spell!") - return - if(iscultist(user)) - var/list/potential_runes = list() - var/list/teleportnames = list() - for(var/R in GLOB.teleport_runes) - var/obj/effect/rune/teleport/T = R - potential_runes[avoid_assoc_duplicate_keys(T.listkey, teleportnames)] = T - - if(!potential_runes.len) - to_chat(user, "There are no valid runes to teleport to!") - log_game("Teleport talisman failed - no other teleport runes") - return - - var/turf/T = get_turf(src) - if(is_away_level(T)) - to_chat(user, "You are not in the right dimension!") - log_game("Teleport spell failed - user in away mission") - return - - var/input_rune_key = input(user, "Choose a rune to teleport to.", "Rune to Teleport to") as null|anything in potential_runes //we know what key they picked - var/obj/effect/rune/teleport/actual_selected_rune = potential_runes[input_rune_key] //what rune does that key correspond to? - if(QDELETED(src) || !user || !user.is_holding(src) || user.incapacitated() || !actual_selected_rune || !proximity) - return - var/turf/dest = get_turf(actual_selected_rune) - if(dest.is_blocked_turf(TRUE)) - to_chat(user, "The target rune is blocked. You cannot teleport there.") - return - uses-- - var/turf/origin = get_turf(user) - var/mob/living/L = target - if(do_teleport(L, dest, channel = TELEPORT_CHANNEL_CULT)) - origin.visible_message("Dust flows from [user]'s hand, and [user.p_they()] disappear[user.p_s()] with a sharp crack!", \ - "You speak the words of the talisman and find yourself somewhere else!", "You hear a sharp crack.") - dest.visible_message("There is a boom of outrushing air as something appears above the rune!", null, "You hear a boom.") - ..() - -//Shackles -/obj/item/melee/blood_magic/shackles - name = "Shackling Aura" - desc = "Will start handcuffing a victim on contact, and mute them if successful." - invocation = "In'totum Lig'abis!" - color = "#000000" // black - -/obj/item/melee/blood_magic/shackles/afterattack(atom/target, mob/living/carbon/user, proximity) - if(iscultist(user) && iscarbon(target) && proximity) - var/mob/living/carbon/C = target - if(C.canBeHandcuffed()) - CuffAttack(C, user) - else - user.visible_message("This victim doesn't have enough arms to complete the restraint!") - return - ..() - -/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) - C.visible_message("[user] begins restraining [C] with dark magic!", \ - "[user] begins shaping dark magic shackles around your wrists!") - if(do_after(user, 3 SECONDS, C)) - if(!C.handcuffed) - C.set_handcuffed(new /obj/item/restraints/handcuffs/energy/cult/used(C)) - C.update_handcuffed() - C.silent += 5 - to_chat(user, "You shackle [C].") - log_combat(user, C, "shackled") - uses-- - else - to_chat(user, "[C] is already bound.") - else - to_chat(user, "You fail to shackle [C].") - else - to_chat(user, "[C] is already bound.") - - -/obj/item/restraints/handcuffs/energy/cult //For the shackling spell - name = "shadow shackles" - desc = "Shackles that bind the wrists with sinister magic." - trashtype = /obj/item/restraints/handcuffs/energy/used - item_flags = DROPDEL - -/obj/item/restraints/handcuffs/energy/cult/used/dropped(mob/user) - user.visible_message("[user]'s shackles shatter in a discharge of dark magic!", \ - "Your [src] shatters in a discharge of dark magic!") - . = ..() - - -//Construction: Converts 50 metal to a construct shell, plasteel to runed metal, airlock to brittle runed airlock, a borg to a construct, or borg shell to a construct shell -/obj/item/melee/blood_magic/construction - name = "Twisting Aura" - desc = "Corrupts certain metalic objects on contact." - invocation = "Ethra p'ni dedol!" - color = "#000000" // black - var/channeling = FALSE - -/obj/item/melee/blood_magic/construction/examine(mob/user) - . = ..() - . += {"A sinister spell used to convert:\n - Plasteel into runed metal\n - [METAL_TO_CONSTRUCT_SHELL_CONVERSION] metal into a construct shell\n - Living cyborgs into constructs after a delay\n - Cyborg shells into construct shells\n - Airlocks into brittle runed airlocks after a delay (harm intent)"} - -/obj/item/melee/blood_magic/construction/afterattack(atom/target, mob/user, proximity_flag, click_parameters) - if(proximity_flag && iscultist(user)) - if(channeling) - to_chat(user, "You are already invoking twisted construction!") - return - var/turf/T = get_turf(target) - if(istype(target, /obj/item/stack/sheet/metal)) - var/obj/item/stack/sheet/candidate = target - if(candidate.use(METAL_TO_CONSTRUCT_SHELL_CONVERSION)) - uses-- - to_chat(user, "A dark cloud emanates from your hand and swirls around the metal, twisting it into a construct shell!") - new /obj/structure/constructshell(T) - SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25)) - else - to_chat(user, "You need [METAL_TO_CONSTRUCT_SHELL_CONVERSION] metal to produce a construct shell!") - return - else if(istype(target, /obj/item/stack/sheet/plasteel)) - var/obj/item/stack/sheet/plasteel/candidate = target - var/quantity = candidate.amount - if(candidate.use(quantity)) - uses -- - new /obj/item/stack/sheet/mineral/hidden/hellstone(T,quantity) - to_chat(user, "A dark cloud emanates from you hand and swirls around the plasteel, transforming it into runed metal!") - SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25)) - else if(istype(target,/mob/living/silicon/robot)) - var/mob/living/silicon/robot/candidate = target - if(candidate.mmi) - channeling = TRUE - user.visible_message("A dark cloud emanates from [user]'s hand and swirls around [candidate]!") - playsound(T, 'sound/machines/creaking.ogg', 80, TRUE) - var/prev_color = candidate.color - candidate.color = "black" - if(do_after(user, 90, target = candidate)) - candidate.emp_act(EMP_HEAVY) - var/list/constructs = list( - "Juggernaut" = image(icon = 'icons/mob/cult.dmi', icon_state = "juggernaut"), - "Wraith" = image(icon = 'icons/mob/cult.dmi', icon_state = "wraith"), - "Artificer" = image(icon = 'icons/mob/cult.dmi', icon_state = "artificer") - ) - var/construct_class = show_radial_menu(user, src, constructs, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) - if(!check_menu(user)) - return - if(QDELETED(candidate)) - channeling = FALSE - return - user.visible_message("The dark cloud recedes from what was formerly [candidate], revealing a\n [construct_class]!") - switch(construct_class) - if("Juggernaut") - makeNewConstruct(/mob/living/simple_animal/hostile/construct/juggernaut, candidate, user, 0, T) - if("Wraith") - makeNewConstruct(/mob/living/simple_animal/hostile/construct/wraith, candidate, user, 0, T) - if("Artificer") - makeNewConstruct(/mob/living/simple_animal/hostile/construct/artificer, candidate, user, 0, T) - else - return - uses-- - candidate.mmi = null - qdel(candidate) - channeling = FALSE - else - channeling = FALSE - candidate.color = prev_color - return - else - uses-- - to_chat(user, "A dark cloud emanates from you hand and swirls around [candidate] - twisting it into a construct shell!") - new /obj/structure/constructshell(T) - SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25)) - qdel(candidate) - else if(istype(target,/obj/machinery/door/airlock)) - channeling = TRUE - playsound(T, 'sound/machines/airlockforced.ogg', 50, TRUE) - do_sparks(5, TRUE, target) - if(do_after(user, 50, target = user)) - if(QDELETED(target)) - channeling = FALSE - return - target.narsie_act() - uses-- - user.visible_message("Black ribbons suddenly emanate from [user]'s hand and cling to the airlock - twisting and corrupting it!") - SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25)) - channeling = FALSE - else - channeling = FALSE - return - else - to_chat(user, "The spell will not work on [target]!") - return - ..() - -/obj/item/melee/blood_magic/construction/proc/check_menu(mob/user) - if(!istype(user)) - return FALSE - if(user.incapacitated() || !user.Adjacent(src)) - return FALSE - return TRUE - - -//Armor: Gives the target a basic cultist combat loadout -/obj/item/melee/blood_magic/armor - name = "Arming Aura" - desc = "Will equipt cult combat gear onto a cultist on contact." - color = "#33cc33" // green - -/obj/item/melee/blood_magic/armor/afterattack(atom/target, mob/living/carbon/user, proximity) - if(iscarbon(target) && proximity) - uses-- - var/mob/living/carbon/C = target - C.visible_message("Otherworldly armor suddenly appears on [C]!") - C.equip_to_slot_or_del(new /obj/item/clothing/under/color/black,ITEM_SLOT_ICLOTHING) - C.equip_to_slot_or_del(new /obj/item/clothing/suit/hooded/cultrobes/alt(user), ITEM_SLOT_OCLOTHING) - C.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult/alt(user), ITEM_SLOT_FEET) - C.equip_to_slot_or_del(new /obj/item/storage/backpack/cultpack(user), ITEM_SLOT_BACK) - if(C == user) - qdel(src) //Clears the hands - C.put_in_hands(new /obj/item/melee/cultblade(user)) - C.put_in_hands(new /obj/item/restraints/legcuffs/bola/cult(user)) - ..() - -/obj/item/melee/blood_magic/manipulator - name = "Blood Rite Aura" - desc = "Absorbs blood from anything you touch. Touching cultists and constructs can heal them. Use in-hand to cast an advanced rite." - color = "#7D1717" - -/obj/item/melee/blood_magic/manipulator/examine(mob/user) - . = ..() - . += "Blood spear, blood bolt barrage, and blood beam cost [BLOOD_SPEAR_COST], [BLOOD_BARRAGE_COST], and [BLOOD_BEAM_COST] charges respectively." - -/obj/item/melee/blood_magic/manipulator/afterattack(atom/target, mob/living/carbon/human/user, proximity) - if(proximity) - if(ishuman(target)) - var/mob/living/carbon/human/H = target - if(NOBLOOD in H.dna.species.species_traits) - to_chat(user,"Blood rites do not work on species with no blood!") - return - if(iscultist(H)) - if(H.stat == DEAD) - to_chat(user,"Only a revive rune can bring back the dead!") - return - if(H.blood_volume < BLOOD_VOLUME_SAFE) - var/restore_blood = BLOOD_VOLUME_SAFE - H.blood_volume - if(uses*2 < restore_blood) - H.blood_volume += uses*2 - to_chat(user,"You use the last of your blood rites to restore what blood you could!") - uses = 0 - return ..() - else - H.blood_volume = BLOOD_VOLUME_SAFE - uses -= round(restore_blood/2) - to_chat(user,"Your blood rites have restored [H == user ? "your" : "[H.p_their()]"] blood to safe levels!") - var/overall_damage = H.getBruteLoss() + H.getFireLoss() + H.getToxLoss() + H.getOxyLoss() - if(overall_damage == 0) - to_chat(user,"That cultist doesn't require healing!") - else - var/ratio = uses/overall_damage - if(H == user) - to_chat(user,"Your blood healing is far less efficient when used on yourself!") - ratio *= 0.35 // Healing is half as effective if you can't perform a full heal - uses -= round(overall_damage) // Healing is 65% more "expensive" even if you can still perform the full heal - if(ratio>1) - ratio = 1 - uses -= round(overall_damage) - H.visible_message("[H] is fully healed by [H==user ? "[H.p_their()]":"[H]'s"]'s blood magic!") - else - H.visible_message("[H] is partially healed by [H==user ? "[H.p_their()]":"[H]'s"] blood magic.") - uses = 0 - ratio *= -1 - H.adjustOxyLoss((overall_damage*ratio) * (H.getOxyLoss() / overall_damage), 0) - H.adjustToxLoss((overall_damage*ratio) * (H.getToxLoss() / overall_damage), 0) - H.adjustFireLoss((overall_damage*ratio) * (H.getFireLoss() / overall_damage), 0) - H.adjustBruteLoss((overall_damage*ratio) * (H.getBruteLoss() / overall_damage), 0) - H.updatehealth() - playsound(get_turf(H), 'sound/magic/staff_healing.ogg', 25) - new /obj/effect/temp_visual/cult/sparks(get_turf(H)) - user.Beam(H,icon_state="sendbeam",time=15) - else - if(H.stat == DEAD) - to_chat(user,"[H.p_their(TRUE)] blood has stopped flowing, you'll have to find another way to extract it.") - return - if(H.cultslurring) - to_chat(user,"[H.p_their(TRUE)] blood has been tainted by an even stronger form of blood magic, it's no use to us like this!") - return - if(H.blood_volume > BLOOD_VOLUME_SAFE) - H.blood_volume -= 100 - uses += 50 - user.Beam(H,icon_state="drainbeam",time=10) - playsound(get_turf(H), 'sound/magic/enter_blood.ogg', 50) - H.visible_message("[user] drains some of [H]'s blood!") - to_chat(user,"Your blood rite gains 50 charges from draining [H]'s blood.") - new /obj/effect/temp_visual/cult/sparks(get_turf(H)) - else - to_chat(user,"[H.p_theyre(TRUE)] missing too much blood - you cannot drain [H.p_them()] further!") - return - if(isconstruct(target)) - var/mob/living/simple_animal/M = target - var/missing = M.maxHealth - M.health - if(missing) - if(uses > missing) - M.adjustHealth(-missing) - M.visible_message("[M] is fully healed by [user]'s blood magic!") - uses -= missing - else - M.adjustHealth(-uses) - M.visible_message("[M] is partially healed by [user]'s blood magic!") - uses = 0 - playsound(get_turf(M), 'sound/magic/staff_healing.ogg', 25) - user.Beam(M,icon_state="sendbeam",time=10) - if(istype(target, /obj/effect/decal/cleanable/blood)) - blood_draw(target, user) - ..() - -/obj/item/melee/blood_magic/manipulator/proc/blood_draw(atom/target, mob/living/carbon/human/user) - var/temp = 0 - var/turf/T = get_turf(target) - if(T) - for(var/obj/effect/decal/cleanable/blood/B in view(T, 2)) - if(B.blood_state == BLOOD_STATE_HUMAN) - if(B.bloodiness == 100) //Bonus for "pristine" bloodpools, also to prevent cheese with footprint spam - temp += 30 - else - temp += max((B.bloodiness**2)/800,1) - new /obj/effect/temp_visual/cult/turf/floor(get_turf(B)) - qdel(B) - if(temp) - user.Beam(T,icon_state="drainbeam",time=15) - new /obj/effect/temp_visual/cult/sparks(get_turf(user)) - playsound(T, 'sound/magic/enter_blood.ogg', 50) - to_chat(user, "Your blood rite has gained [round(temp)] charge\s from blood sources around you!") - uses += max(1, round(temp)) - -/obj/item/melee/blood_magic/manipulator/attack_self(mob/living/user) - if(iscultist(user)) - var/list/options = list("Blood Spear (150)", "Blood Beam (500)") - var/choice = input(user, "Choose a greater blood rite...", "Greater Blood Rites") as null|anything in options - if(!choice) - to_chat(user, "You decide against conducting a greater blood rite.") - return - switch(choice) - if("Blood Spear (150)") - if(uses < BLOOD_SPEAR_COST) - to_chat(user, "You need [BLOOD_SPEAR_COST] charges to perform this rite.") - else - uses -= BLOOD_SPEAR_COST - var/turf/T = get_turf(user) - qdel(src) - var/datum/action/innate/cult/spear/S = new(user) - var/obj/item/cult_spear/rite = new(T) - S.Grant(user, rite) - rite.spear_act = S - if(user.put_in_hands(rite)) - to_chat(user, "A [rite.name] appears in your hand!") - else - user.visible_message( - "A [rite.name] appears at [user]'s feet!", \ - "A [rite.name] materializes at your feet.") - if("Blood Beam (500)") - if(uses < BLOOD_BEAM_COST) - to_chat(user, "You need [BLOOD_BEAM_COST] charges to perform this rite.") - else - var/obj/rite = new /obj/item/blood_beam() - uses -= BLOOD_BEAM_COST - qdel(src) - if(user.put_in_hands(rite)) - to_chat(user, "Your hands glow with POWER OVERWHELMING!!!") - else - to_chat(user, "You need a free hand for this rite!") - qdel(rite) diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm deleted file mode 100644 index 406c5195603..00000000000 --- a/code/modules/antagonists/cult/cult.dm +++ /dev/null @@ -1,401 +0,0 @@ -#define SUMMON_POSSIBILITIES 3 -#define CULT_VICTORY 1 -#define CULT_LOSS 0 -#define CULT_NARSIE_KILLED -1 - -/datum/antagonist/cult - name = "Cultist" - roundend_category = "cultists" - antagpanel_category = "Cult" - antag_moodlet = /datum/mood_event/cult - var/datum/action/innate/cult/comm/communion = new - var/datum/action/innate/cult/mastervote/vote = new - var/datum/action/innate/cult/blood_magic/magic = new - job_rank = ROLE_CULTIST - antag_hud_type = ANTAG_HUD_CULT - antag_hud_name = "cult" - var/ignore_implant = FALSE - var/give_equipment = FALSE - var/datum/team/cult/cult_team - - -/datum/antagonist/cult/get_team() - return cult_team - -/datum/antagonist/cult/create_team(datum/team/cult/new_team) - if(!new_team) - //todo remove this and allow admin buttons to create more than one cult - for(var/datum/antagonist/cult/H in GLOB.antagonists) - if(!H.owner) - continue - if(H.cult_team) - cult_team = H.cult_team - return - cult_team = new /datum/team/cult - cult_team.setup_objectives() - return - if(!istype(new_team)) - stack_trace("Wrong team type passed to [type] initialization.") - cult_team = new_team - -/datum/antagonist/cult/proc/add_objectives() - objectives |= cult_team.objectives - -/datum/antagonist/cult/Destroy() - QDEL_NULL(communion) - QDEL_NULL(vote) - return ..() - -/datum/antagonist/cult/can_be_owned(datum/mind/new_owner) - . = ..() - if(. && !ignore_implant) - . = is_convertable_to_cult(new_owner.current,cult_team) - -/datum/antagonist/cult/greet() - to_chat(owner, "You are a member of the cult!") - owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/bloodcult.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)//subject to change - owner.announce_objectives() - -/datum/antagonist/cult/on_gain() - . = ..() - var/mob/living/current = owner.current - add_objectives() - if(give_equipment) - equip_cultist() - SSticker.mode.cult += owner // Only add after they've been given objectives - current.log_message("has been converted to the cult of Nar'Sie!", LOG_ATTACK, color="#960000") - - if(cult_team.blood_target && cult_team.blood_target_image && current.client) - current.client.images += cult_team.blood_target_image - - -/datum/antagonist/cult/proc/equip_cultist() - var/mob/living/carbon/H = owner.current - if(!istype(H)) - return - . += cult_give_item(/obj/item/melee/cultblade/dagger, H) - to_chat(owner, "These will help you jumpstart a cult of your own in this sector. Use them well, and remember - you are not the only one.") - - -/datum/antagonist/cult/proc/cult_give_item(obj/item/item_path, mob/living/carbon/human/mob) - var/list/slots = list( - "backpack" = ITEM_SLOT_BACKPACK, - "left pocket" = ITEM_SLOT_LPOCKET, - "right pocket" = ITEM_SLOT_RPOCKET - ) - - var/T = new item_path(mob) - var/item_name = initial(item_path.name) - var/where = mob.equip_in_one_of_slots(T, slots) - if(!where) - to_chat(mob, "Unfortunately, you weren't able to get a [item_name]. This is very bad and you should adminhelp immediately (press F1).") - return 0 - else - to_chat(mob, "You have a [item_name] in your [where].") - if(where == "backpack") - SEND_SIGNAL(mob.back, COMSIG_TRY_STORAGE_SHOW, mob) - return TRUE - -/datum/antagonist/cult/apply_innate_effects(mob/living/mob_override) - . = ..() - var/mob/living/current = owner.current - if(mob_override) - current = mob_override - add_antag_hud(antag_hud_type, antag_hud_name, current) - handle_clown_mutation(current, mob_override ? null : "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself.") - current.faction |= "cult" - current.grant_language(/datum/language/narsie, TRUE, TRUE, LANGUAGE_CULTIST) - if(!cult_team.cult_master) - vote.Grant(current) - communion.Grant(current) - if(ishuman(current)) - magic.Grant(current) - current.throw_alert("bloodsense", /atom/movable/screen/alert/bloodsense) - if(cult_team.cult_risen) - cult_team.rise(current) - if(cult_team.cult_ascendent) - cult_team.ascend(current) - -/datum/antagonist/cult/remove_innate_effects(mob/living/mob_override) - . = ..() - var/mob/living/current = owner.current - if(mob_override) - current = mob_override - remove_antag_hud(antag_hud_type, current) - handle_clown_mutation(current, removing = FALSE) - current.faction -= "cult" - current.remove_language(/datum/language/narsie, TRUE, TRUE, LANGUAGE_CULTIST) - vote.Remove(current) - communion.Remove(current) - magic.Remove(current) - current.clear_alert("bloodsense") - if(ishuman(current)) - var/mob/living/carbon/human/H = current - H.eye_color = initial(H.eye_color) - H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK) - REMOVE_TRAIT(H, CULT_EYES, null) - H.remove_overlay(HALO_LAYER) - H.update_body() - -/datum/antagonist/cult/on_removal() - SSticker.mode.cult -= owner - if(!silent) - owner.current.visible_message("[owner.current] looks like [owner.current.p_theyve()] just reverted to [owner.current.p_their()] old faith!", null, null, null, owner.current) - to_chat(owner.current, "An unfamiliar white light flashes through your mind, cleansing the taint of the Geometer and all your memories as her servant.") - owner.current.log_message("has renounced the cult of Nar'Sie!", LOG_ATTACK, color="#960000") - if(cult_team.blood_target && cult_team.blood_target_image && owner.current.client) - owner.current.client.images -= cult_team.blood_target_image - . = ..() - -/datum/antagonist/cult/admin_add(datum/mind/new_owner,mob/admin) - give_equipment = FALSE - new_owner.add_antag_datum(src) - message_admins("[key_name_admin(admin)] has cult'ed [key_name_admin(new_owner)].") - log_admin("[key_name(admin)] has cult'ed [key_name(new_owner)].") - -/datum/antagonist/cult/admin_remove(mob/user) - message_admins("[key_name_admin(user)] has decult'ed [key_name_admin(owner)].") - log_admin("[key_name(user)] has decult'ed [key_name(owner)].") - SSticker.mode.remove_cultist(owner,silent=TRUE) //disgusting - -/datum/antagonist/cult/get_admin_commands() - . = ..() - .["Dagger"] = CALLBACK(src, PROC_REF(admin_give_dagger)) - .["Metal"] = CALLBACK(src, PROC_REF(admin_take_all)) - -/datum/antagonist/cult/proc/admin_give_dagger(mob/admin) - if(!equip_cultist()) - to_chat(admin, "Spawning dagger failed!") - -/datum/antagonist/cult/proc/admin_take_all(mob/admin) - var/mob/living/current = owner.current - for(var/o in current.GetAllContents()) - if(istype(o, /obj/item/melee/cultblade/dagger)) - qdel(o) - -/datum/antagonist/cult/master - ignore_implant = TRUE - show_in_antagpanel = FALSE //Feel free to add this later - var/datum/action/innate/cult/master/finalreck/reckoning = new - var/datum/action/innate/cult/master/cultmark/bloodmark = new - var/datum/action/innate/cult/master/pulse/throwing = new - -/datum/antagonist/cult/master/Destroy() - QDEL_NULL(reckoning) - QDEL_NULL(bloodmark) - QDEL_NULL(throwing) - return ..() - -/datum/antagonist/cult/master/on_gain() - . = ..() - var/mob/living/current = owner.current - set_antag_hud(current, "cultmaster") - -/datum/antagonist/cult/master/greet() - to_chat(owner.current, "You are the cult's Master. As the cult's Master, you have a unique title and loud voice when communicating, are capable of marking \ - targets, such as a location or a noncultist, to direct the cult to them, and, finally, you are capable of summoning the entire living cult to your location once.") - to_chat(owner.current, "Use these abilities to direct the cult to victory at any cost.") - -/datum/antagonist/cult/master/apply_innate_effects(mob/living/mob_override) - . = ..() - var/mob/living/current = owner.current - if(mob_override) - current = mob_override - if(!cult_team.reckoning_complete) - reckoning.Grant(current) - bloodmark.Grant(current) - throwing.Grant(current) - current.update_action_buttons_icon() - current.apply_status_effect(/datum/status_effect/cult_master) - if(cult_team.cult_risen) - cult_team.rise(current) - if(cult_team.cult_ascendent) - cult_team.ascend(current) - -/datum/antagonist/cult/master/remove_innate_effects(mob/living/mob_override) - . = ..() - var/mob/living/current = owner.current - if(mob_override) - current = mob_override - reckoning.Remove(current) - bloodmark.Remove(current) - throwing.Remove(current) - current.update_action_buttons_icon() - current.remove_status_effect(/datum/status_effect/cult_master) - - if(ishuman(current)) - var/mob/living/carbon/human/H = current - H.eye_color = initial(H.eye_color) - H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK) - REMOVE_TRAIT(H, CULT_EYES, null) - H.remove_overlay(HALO_LAYER) - H.update_body() - -/datum/team/cult - name = "Cult" - - var/blood_target - var/image/blood_target_image - var/blood_target_reset_timer - - var/cult_vote_called = FALSE - var/mob/living/cult_master - var/reckoning_complete = FALSE - var/cult_risen = FALSE - var/cult_ascendent = FALSE - -/datum/team/cult/proc/check_size() - if(cult_ascendent) - return - var/alive = 0 - var/cultplayers = 0 - for(var/I in GLOB.player_list) - var/mob/M = I - if(M.stat != DEAD) - if(iscultist(M)) - ++cultplayers - else - ++alive - var/ratio = cultplayers/alive - if(ratio > CULT_RISEN && !cult_risen) - for(var/datum/mind/B in members) - if(B.current) - SEND_SOUND(B.current, 'sound/hallucinations/i_see_you2.ogg') - to_chat(B.current, "The veil weakens as your cult grows, your eyes begin to glow...") - addtimer(CALLBACK(src, PROC_REF(rise), B.current), 200) - cult_risen = TRUE - - if(ratio > CULT_ASCENDENT && !cult_ascendent) - for(var/datum/mind/B in members) - if(B.current) - SEND_SOUND(B.current, 'sound/hallucinations/im_here1.ogg') - to_chat(B.current, "Your cult is ascendent and the red harvest approaches - you cannot hide your true nature for much longer!!") - addtimer(CALLBACK(src, PROC_REF(ascend), B.current), 200) - cult_ascendent = TRUE - - -/datum/team/cult/proc/rise(cultist) - if(ishuman(cultist)) - var/mob/living/carbon/human/H = cultist - H.eye_color = "f00" - H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK) - ADD_TRAIT(H, CULT_EYES, CULT_TRAIT) - H.update_body() - -/datum/team/cult/proc/ascend(cultist) - if(ishuman(cultist)) - var/mob/living/carbon/human/H = cultist - new /obj/effect/temp_visual/cult/sparks(get_turf(H), H.dir) - var/istate = pick("halo1","halo2","halo3","halo4","halo5","halo6") - var/mutable_appearance/new_halo_overlay = mutable_appearance('icons/effects/32x64.dmi', istate, -HALO_LAYER) - H.overlays_standing[HALO_LAYER] = new_halo_overlay - H.apply_overlay(HALO_LAYER) - -/datum/objective/sacrifice/find_target(dupe_search_range) - if(!istype(team, /datum/team/cult)) - return - var/datum/team/cult/C = team - var/list/target_candidates = list() - for(var/mob/living/carbon/human/player in GLOB.player_list) - if(player.mind && !player.mind.has_antag_datum(/datum/antagonist/cult) && !is_convertable_to_cult(player) && player.stat != DEAD) - target_candidates += player.mind - if(target_candidates.len == 0) - message_admins("Cult Sacrifice: Could not find unconvertible target, checking for convertible target.") - for(var/mob/living/carbon/human/player in GLOB.player_list) - if(player.mind && !player.mind.has_antag_datum(/datum/antagonist/cult) && player.stat != DEAD) - target_candidates += player.mind - listclearnulls(target_candidates) - if(LAZYLEN(target_candidates)) - target = pick(target_candidates) - update_explanation_text() - else - message_admins("Cult Sacrifice: Could not find unconvertible or convertible target. WELP!") - for(var/datum/mind/M in C.members) - if(M.current) - M.current.clear_alert("bloodsense") - M.current.throw_alert("bloodsense", /atom/movable/screen/alert/bloodsense) - -/datum/team/cult/proc/setup_objectives() - var/datum/objective/sacrifice/sac_objective = new - sac_objective.team = src - sac_objective.find_target() - objectives += sac_objective - - var/datum/objective/eldergod/summon_objective = new - summon_objective.team = src - objectives += summon_objective - - -/datum/objective/sacrifice - var/sacced = FALSE - var/sac_image - -/datum/objective/sacrifice/check_completion() - return sacced || completed - -/datum/objective/sacrifice/update_explanation_text() - if(target) - explanation_text = "Sacrifice [target], the [target.assigned_role] via invoking an Offer rune with [target.p_them()] on it and three acolytes around it." - else - explanation_text = "The veil has already been weakened here, proceed to the final objective." - -/datum/objective/eldergod - var/summoned = FALSE - var/killed = FALSE - var/list/summon_spots = list() - -/datum/objective/eldergod/New() - ..() - var/sanity = 0 - while(summon_spots.len < SUMMON_POSSIBILITIES && sanity < 100) - var/area/summon_area = pick(GLOB.sortedAreas - summon_spots) - if(summon_area && (summon_area.area_flags & VALID_TERRITORY)) - summon_spots += summon_area - sanity++ - update_explanation_text() - -/datum/objective/eldergod/update_explanation_text() - explanation_text = "Summon Nar'Sie by invoking the rune 'Summon Nar'Sie'. The summoning can only be accomplished in [english_list(summon_spots)] - where the veil is weak enough for the ritual to begin." - -/datum/objective/eldergod/check_completion() - if(killed) - return CULT_NARSIE_KILLED // You failed so hard that even the code went backwards. - return summoned || completed - -/datum/team/cult/proc/check_cult_victory() - for(var/datum/objective/O in objectives) - if(O.check_completion() == CULT_NARSIE_KILLED) - return CULT_NARSIE_KILLED - else if(!O.check_completion()) - return CULT_LOSS - return CULT_VICTORY - -/datum/team/cult/roundend_report() - var/list/parts = list() - var/victory = check_cult_victory() - - if(victory == CULT_NARSIE_KILLED) // Epic failure, you summoned your god and then someone killed it. - parts += "Nar'sie has been killed! The cult will haunt the universe no longer!" - else if(victory) - parts += "The cult has succeeded! Nar'Sie has snuffed out another torch in the void!" - else - parts += "The staff managed to stop the cult! Dark words and heresy are no match for Nanotrasen's finest!" - - if(objectives.len) - parts += "The cultists' objectives were:" - var/count = 1 - for(var/datum/objective/objective in objectives) - if(objective.check_completion()) - parts += "Objective #[count]: [objective.explanation_text] Success!" - else - parts += "Objective #[count]: [objective.explanation_text] Fail." - count++ - - if(members.len) - parts += "The cultists were:" - parts += printplayerlist(members) - - return "
    [parts.Join("
    ")]
    " - -/datum/team/cult/is_gamemode_hero() - return SSticker.mode.name == "cult" diff --git a/code/modules/antagonists/cult/cult_comms.dm b/code/modules/antagonists/cult/cult_comms.dm deleted file mode 100644 index 0c070e8e423..00000000000 --- a/code/modules/antagonists/cult/cult_comms.dm +++ /dev/null @@ -1,461 +0,0 @@ -// Contains cult communion, guide, and cult master abilities - -/datum/action/innate/cult - icon_icon = 'icons/mob/actions/actions_cult.dmi' - background_icon_state = "bg_demon" - buttontooltipstyle = "cult" - check_flags = AB_CHECK_HANDS_BLOCKED|AB_CHECK_IMMOBILE|AB_CHECK_CONSCIOUS - -/datum/action/innate/cult/IsAvailable() - if(!iscultist(owner)) - return FALSE - return ..() - -/datum/action/innate/cult/comm - name = "Communion" - desc = "Whispered words that all cultists can hear.
    Warning:Nearby non-cultists can still hear you." - button_icon_state = "cult_comms" - -/datum/action/innate/cult/comm/Activate() - var/input = stripped_input(usr, "Please choose a message to tell to the other acolytes.", "Voice of Blood", "") - if(!input || !IsAvailable()) - return - if(CHAT_FILTER_CHECK(input)) - to_chat(usr, "You cannot send a message that contains a word prohibited in IC chat!") - return - cultist_commune(usr, input) - -/datum/action/innate/cult/comm/proc/cultist_commune(mob/living/user, message) - var/my_message - if(!message) - return - user.whisper("O bidai nabora se[pick("'","`")]sma!", language = /datum/language/common) - user.whisper(html_decode(message)) - var/title = "Acolyte" - var/span = "cult italic" - if(user.mind && user.mind.has_antag_datum(/datum/antagonist/cult/master)) - span = "cultlarge" - title = "Master" - else if(!ishuman(user)) - title = "Construct" - my_message = "[title] [findtextEx(user.name, user.real_name) ? user.name : "[user.real_name] (as [user.name])"]: [message]" - for(var/i in GLOB.player_list) - var/mob/M = i - if(iscultist(M)) - to_chat(M, my_message) - else if(M in GLOB.dead_mob_list) - var/link = FOLLOW_LINK(M, user) - to_chat(M, "[link] [my_message]") - - user.log_talk(message, LOG_SAY, tag="cult") - -/datum/action/innate/cult/comm/spirit - name = "Spiritual Communion" - desc = "Conveys a message from the spirit realm that all cultists can hear." - -/datum/action/innate/cult/comm/spirit/IsAvailable() - if(iscultist(owner.mind.current)) - return TRUE - -/datum/action/innate/cult/comm/spirit/cultist_commune(mob/living/user, message) - var/my_message - if(!message) - return - my_message = "The [user.name]: [message]" - for(var/i in GLOB.player_list) - var/mob/M = i - if(iscultist(M)) - to_chat(M, my_message) - else if(M in GLOB.dead_mob_list) - var/link = FOLLOW_LINK(M, user) - to_chat(M, "[link] [my_message]") - -/datum/action/innate/cult/mastervote - name = "Assert Leadership" - button_icon_state = "cultvote" - -/datum/action/innate/cult/mastervote/IsAvailable() - var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(!C || C.cult_team.cult_vote_called || !ishuman(owner)) - return FALSE - return ..() - -/datum/action/innate/cult/mastervote/Activate() - var/choice = alert(owner, "The mantle of leadership is heavy. Success in this role requires an expert level of communication and experience. Are you sure?",, "Yes", "No") - if(choice == "Yes" && IsAvailable()) - var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - pollCultists(owner,C.cult_team) - -/proc/pollCultists(mob/living/Nominee,datum/team/cult/team) //Cult Master Poll - if(world.time < CULT_POLL_WAIT) - to_chat(Nominee, "It would be premature to select a leader while everyone is still settling in, try again in [DisplayTimeText(CULT_POLL_WAIT-world.time)].") - return - team.cult_vote_called = TRUE //somebody's trying to be a master, make sure we don't let anyone else try - for(var/datum/mind/B in team.members) - if(B.current) - B.current.update_action_buttons_icon() - if(!B.current.incapacitated()) - SEND_SOUND(B.current, 'sound/hallucinations/im_here1.ogg') - to_chat(B.current, "Acolyte [Nominee] has asserted that [Nominee.p_theyre()] worthy of leading the cult. A vote will be called shortly.") - sleep(100) - var/list/asked_cultists = list() - for(var/datum/mind/B in team.members) - if(B.current && B.current != Nominee && !B.current.incapacitated()) - SEND_SOUND(B.current, 'sound/magic/exit_blood.ogg') - asked_cultists += B.current - var/list/yes_voters = pollCandidates("[Nominee] seeks to lead your cult, do you support [Nominee.p_them()]?", poll_time = 300, group = asked_cultists) - if(QDELETED(Nominee) || Nominee.incapacitated()) - team.cult_vote_called = FALSE - for(var/datum/mind/B in team.members) - if(B.current) - B.current.update_action_buttons_icon() - if(!B.current.incapacitated()) - to_chat(B.current,"[Nominee] has died in the process of attempting to win the cult's support!") - return FALSE - if(!Nominee.mind) - team.cult_vote_called = FALSE - for(var/datum/mind/B in team.members) - if(B.current) - B.current.update_action_buttons_icon() - if(!B.current.incapacitated()) - to_chat(B.current,"[Nominee] has gone catatonic in the process of attempting to win the cult's support!") - return FALSE - if(LAZYLEN(yes_voters) <= LAZYLEN(asked_cultists) * 0.5) - team.cult_vote_called = FALSE - for(var/datum/mind/B in team.members) - if(B.current) - B.current.update_action_buttons_icon() - if(!B.current.incapacitated()) - to_chat(B.current, "[Nominee] could not win the cult's support and shall continue to serve as an acolyte.") - return FALSE - team.cult_master = Nominee - SSticker.mode.remove_cultist(Nominee.mind, TRUE) - Nominee.mind.add_antag_datum(/datum/antagonist/cult/master) - for(var/datum/mind/B in team.members) - if(B.current) - for(var/datum/action/innate/cult/mastervote/vote in B.current.actions) - vote.Remove(B.current) - if(!B.current.incapacitated()) - to_chat(B.current,"[Nominee] has won the cult's support and is now their master. Follow [Nominee.p_their()] orders to the best of your ability!") - return TRUE - -/datum/action/innate/cult/master/IsAvailable() - if(!owner.mind || !owner.mind.has_antag_datum(/datum/antagonist/cult/master) || GLOB.cult_narsie) - return 0 - return ..() - -/datum/action/innate/cult/master/finalreck - name = "Final Reckoning" - desc = "A single-use spell that brings the entire cult to the master's location." - button_icon_state = "sintouch" - -/datum/action/innate/cult/master/finalreck/Activate() - var/datum/antagonist/cult/antag = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(!antag) - return - for(var/i in 1 to 4) - chant(i) - var/list/destinations = list() - for(var/turf/T in orange(1, owner)) - if(!T.is_blocked_turf(TRUE)) - destinations += T - if(!LAZYLEN(destinations)) - to_chat(owner, "You need more space to summon your cult!") - return - if(do_after(owner, 30, target = owner)) - for(var/datum/mind/B in antag.cult_team.members) - if(B.current && B.current.stat != DEAD) - var/turf/mobloc = get_turf(B.current) - switch(i) - if(1) - new /obj/effect/temp_visual/cult/sparks(mobloc, B.current.dir) - playsound(mobloc, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - if(2) - new /obj/effect/temp_visual/dir_setting/cult/phase/out(mobloc, B.current.dir) - playsound(mobloc, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - if(3) - new /obj/effect/temp_visual/dir_setting/cult/phase(mobloc, B.current.dir) - playsound(mobloc, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - if(4) - playsound(mobloc, 'sound/magic/exit_blood.ogg', 100, TRUE) - if(B.current != owner) - var/turf/final = pick(destinations) - if(istype(B.current.loc, /obj/item/soulstone)) - var/obj/item/soulstone/S = B.current.loc - S.release_shades(owner) - B.current.setDir(SOUTH) - new /obj/effect/temp_visual/cult/blood(final) - addtimer(CALLBACK(B.current, TYPE_PROC_REF(/mob, reckon), final), 10) - else - return - antag.cult_team.reckoning_complete = TRUE - Remove(owner) - -/mob/proc/reckon(turf/final) - new /obj/effect/temp_visual/cult/blood/out(get_turf(src)) - forceMove(final) - -/datum/action/innate/cult/master/finalreck/proc/chant(chant_number) - switch(chant_number) - if(1) - 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) - 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) - 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) - -/datum/action/innate/cult/master/cultmark - name = "Mark Target" - desc = "Marks a target for the cult." - button_icon_state = "cult_mark" - var/obj/effect/proc_holder/cultmark/CM - var/cooldown = 0 - var/base_cooldown = 1200 - -/datum/action/innate/cult/master/cultmark/New(Target) - CM = new() - CM.attached_action = src - ..() - -/datum/action/innate/cult/master/cultmark/IsAvailable() - if(cooldown > world.time) - if(!CM.active) - to_chat(owner, "You need to wait [DisplayTimeText(cooldown - world.time)] before you can mark another target!") - return FALSE - return ..() - -/datum/action/innate/cult/master/cultmark/Destroy() - QDEL_NULL(CM) - return ..() - -/datum/action/innate/cult/master/cultmark/Activate() - CM.toggle(owner) //the important bit - return TRUE - -/obj/effect/proc_holder/cultmark - active = FALSE - ranged_mousepointer = 'icons/effects/mouse_pointers/cult_target.dmi' - var/datum/action/innate/cult/master/cultmark/attached_action - -/obj/effect/proc_holder/cultmark/Destroy() - attached_action = null - return ..() - -/obj/effect/proc_holder/cultmark/proc/toggle(mob/user) - if(active) - remove_ranged_ability("You cease the marking ritual.") - else - add_ranged_ability(user, "You prepare to mark a target for your cult...") - -/obj/effect/proc_holder/cultmark/InterceptClickOn(mob/living/caller, params, atom/target) - if(..()) - return - if(ranged_ability_user.incapacitated()) - remove_ranged_ability() - return - var/turf/T = get_turf(ranged_ability_user) - if(!isturf(T)) - return FALSE - - var/datum/antagonist/cult/C = caller.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - - if(target in view(7, get_turf(ranged_ability_user))) - if(C.cult_team.blood_target) - to_chat(ranged_ability_user, "The cult has already designated a target!") - return FALSE - C.cult_team.blood_target = target - var/area/A = get_area(target) - attached_action.cooldown = world.time + attached_action.base_cooldown - addtimer(CALLBACK(attached_action.owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), attached_action.base_cooldown) - C.cult_team.blood_target_image = image('icons/effects/mouse_pointers/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER) - C.cult_team.blood_target_image.appearance_flags = RESET_COLOR - C.cult_team.blood_target_image.pixel_x = -target.pixel_x - C.cult_team.blood_target_image.pixel_y = -target.pixel_y - for(var/datum/mind/B in SSticker.mode.cult) - if(B.current && B.current.stat != DEAD && B.current.client) - to_chat(B.current, "[ranged_ability_user] has marked [C.cult_team.blood_target] in the [A.name] as the cult's top priority, get there immediately!") - SEND_SOUND(B.current, sound(pick('sound/hallucinations/over_here2.ogg','sound/hallucinations/over_here3.ogg'),0,1,75)) - B.current.client.images += C.cult_team.blood_target_image - attached_action.owner.update_action_buttons_icon() - remove_ranged_ability("The marking rite is complete! It will last for 90 seconds.") - C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(reset_blood_target),C.cult_team), 900, TIMER_STOPPABLE) - return TRUE - return FALSE - -/proc/reset_blood_target(datum/team/cult/team) - for(var/datum/mind/B in team.members) - if(B.current && B.current.stat != DEAD && B.current.client) - if(team.blood_target) - to_chat(B.current,"The blood mark has expired!") - B.current.client.images -= team.blood_target_image - QDEL_NULL(team.blood_target_image) - team.blood_target = null - - -/datum/action/innate/cult/master/cultmark/ghost - name = "Mark a Blood Target for the Cult" - desc = "Marks a target for the entire cult to track." - -/datum/action/innate/cult/master/cultmark/ghost/IsAvailable() - if(istype(owner, /mob/dead/observer) && iscultist(owner.mind.current)) - return TRUE - else - qdel(src) - -/datum/action/innate/cult/ghostmark //Ghost version - name = "Blood Mark your Target" - desc = "Marks whatever you are orbitting - for the entire cult to track." - button_icon_state = "cult_mark" - var/tracking = FALSE - var/cooldown = 0 - var/base_cooldown = 600 - -/datum/action/innate/cult/ghostmark/IsAvailable() - if(istype(owner, /mob/dead/observer) && iscultist(owner.mind.current)) - return TRUE - else - qdel(src) - -/datum/action/innate/cult/ghostmark/proc/reset_button() - if(owner) - name = "Blood Mark your Target" - desc = "Marks whatever you are orbitting - for the entire cult to track." - button_icon_state = "cult_mark" - owner.update_action_buttons_icon() - SEND_SOUND(owner, 'sound/magic/enter_blood.ogg') - to_chat(owner,"Your previous mark is gone - you are now ready to create a new blood mark.") - -/datum/action/innate/cult/ghostmark/Activate() - var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(C.cult_team.blood_target) - if(cooldown>world.time) - reset_blood_target(C.cult_team) - to_chat(owner, "You have cleared the cult's blood target!") - deltimer(C.cult_team.blood_target_reset_timer) - return - else - to_chat(owner, "The cult has already designated a target!") - return - if(cooldown>world.time) - to_chat(owner, "You aren't ready to place another blood mark yet!") - return - target = owner.orbiting?.parent || get_turf(owner) - if(!target) - return - C.cult_team.blood_target = target - var/area/A = get_area(target) - cooldown = world.time + base_cooldown - addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), base_cooldown) - C.cult_team.blood_target_image = image('icons/effects/mouse_pointers/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER) - C.cult_team.blood_target_image.appearance_flags = RESET_COLOR - C.cult_team.blood_target_image.pixel_x = -target.pixel_x - C.cult_team.blood_target_image.pixel_y = -target.pixel_y - SEND_SOUND(owner, sound(pick('sound/hallucinations/over_here2.ogg','sound/hallucinations/over_here3.ogg'),0,1,75)) - owner.client.images += C.cult_team.blood_target_image - for(var/datum/mind/B in SSticker.mode.cult) - if(B.current && B.current.stat != DEAD && B.current.client) - to_chat(B.current, "[owner] has marked [C.cult_team.blood_target] in the [A.name] as the cult's top priority, get there immediately!") - SEND_SOUND(B.current, sound(pick('sound/hallucinations/over_here2.ogg','sound/hallucinations/over_here3.ogg'),0,1,75)) - B.current.client.images += C.cult_team.blood_target_image - to_chat(owner,"You have marked the [target] for the cult! It will last for [DisplayTimeText(base_cooldown)].") - name = "Clear the Blood Mark" - desc = "Remove the Blood Mark you previously set." - button_icon_state = "emp" - owner.update_action_buttons_icon() - C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(reset_blood_target),C.cult_team), base_cooldown, TIMER_STOPPABLE) - addtimer(CALLBACK(src, PROC_REF(reset_button)), base_cooldown) - - -//////// ELDRITCH PULSE ///////// - - - -/datum/action/innate/cult/master/pulse - name = "Eldritch Pulse" - desc = "Seize upon a fellow cultist or cult structure and teleport it to a nearby location." - icon_icon = 'icons/mob/actions/actions_spells.dmi' - button_icon_state = "arcane_barrage" - var/obj/effect/proc_holder/pulse/PM - var/cooldown = 0 - var/base_cooldown = 150 - var/throwing = FALSE - var/mob/living/throwee - -/datum/action/innate/cult/master/pulse/New() - PM = new() - PM.attached_action = src - ..() - -/datum/action/innate/cult/master/pulse/IsAvailable() - if(!owner.mind || !owner.mind.has_antag_datum(/datum/antagonist/cult/master)) - return FALSE - if(cooldown > world.time) - if(!PM.active) - to_chat(owner, "You need to wait [DisplayTimeText(cooldown - world.time)] before you can pulse again!") - return FALSE - return ..() - -/datum/action/innate/cult/master/pulse/Destroy() - PM.attached_action = null //What the fuck is even going on here. - QDEL_NULL(PM) - return ..() - - -/datum/action/innate/cult/master/pulse/Activate() - PM.toggle(owner) //the important bit - return TRUE - -/obj/effect/proc_holder/pulse - active = FALSE - ranged_mousepointer = 'icons/effects/mouse_pointers/throw_target.dmi' - var/datum/action/innate/cult/master/pulse/attached_action - -/obj/effect/proc_holder/pulse/Destroy() - attached_action = null - return ..() - - -/obj/effect/proc_holder/pulse/proc/toggle(mob/user) - if(active) - remove_ranged_ability("You cease your preparations...") - attached_action.throwing = FALSE - else - add_ranged_ability(user, "You prepare to tear through the fabric of reality...") - -/obj/effect/proc_holder/pulse/InterceptClickOn(mob/living/caller, params, atom/target) - if(..()) - return - if(ranged_ability_user.incapacitated()) - remove_ranged_ability() - return - var/turf/T = get_turf(ranged_ability_user) - if(!isturf(T)) - return FALSE - if(target in view(7, get_turf(ranged_ability_user))) - if((!(iscultist(target) || istype(target, /obj/structure/destructible/cult)) || target == caller) && !(attached_action.throwing)) - return - if(!attached_action.throwing) - attached_action.throwing = TRUE - attached_action.throwee = target - SEND_SOUND(ranged_ability_user, sound('sound/weapons/thudswoosh.ogg')) - to_chat(ranged_ability_user,"You reach through the veil with your mind's eye and seize [target]!") - return - else - new /obj/effect/temp_visual/cult/sparks(get_turf(attached_action.throwee), ranged_ability_user.dir) - var/distance = get_dist(attached_action.throwee, target) - if(distance >= 16) - return - playsound(target,'sound/magic/exit_blood.ogg') - attached_action.throwee.Beam(target,icon_state="sendbeam",time=4) - attached_action.throwee.forceMove(get_turf(target)) - new /obj/effect/temp_visual/cult/sparks(get_turf(target), ranged_ability_user.dir) - attached_action.throwing = FALSE - attached_action.cooldown = world.time + attached_action.base_cooldown - remove_ranged_ability("A pulse of blood magic surges through you as you shift [attached_action.throwee] through time and space.") - caller.update_action_buttons_icon() - addtimer(CALLBACK(caller, TYPE_PROC_REF(/mob, update_action_buttons_icon)), attached_action.base_cooldown) diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm deleted file mode 100644 index 53d17bf325a..00000000000 --- a/code/modules/antagonists/cult/cult_items.dm +++ /dev/null @@ -1,910 +0,0 @@ -/obj/item/tome - name = "arcane tome" - desc = "An old, dusty tome with frayed edges and a sinister-looking cover." - icon_state ="tome" - throw_speed = 2 - throw_range = 5 - w_class = WEIGHT_CLASS_SMALL - -/obj/item/melee/cultblade/dagger - name = "ritual dagger" - desc = "A strange dagger said to be used by sinister groups for \"preparing\" a corpse before sacrificing it to their dark gods." - icon = 'icons/obj/wizard.dmi' - icon_state = "render" - item_state = "cultdagger" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - inhand_x_dimension = 32 - inhand_y_dimension = 32 - w_class = WEIGHT_CLASS_SMALL - force = 15 - throwforce = 25 - armour_penetration = 35 - actions_types = list(/datum/action/item_action/cult_dagger) - var/drawing_rune = FALSE - -/obj/item/melee/cultblade/dagger/Initialize() - . = ..() - var/image/I = image(icon = 'icons/effects/blood.dmi' , icon_state = null, loc = src) - I.override = TRUE - add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/cult, "cult_dagger", I) - -/obj/item/melee/cultblade - name = "eldritch longsword" - desc = "A sword humming with unholy energy. It glows with a dim red light." - icon_state = "cultblade" - item_state = "cultblade" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - flags_1 = CONDUCT_1 - sharpness = IS_SHARP - w_class = WEIGHT_CLASS_BULKY - force = 30 - throwforce = 10 - hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "rended") - -/obj/item/melee/cultblade/Initialize() - . = ..() - AddComponent(/datum/component/butchering, 40, 100) - -/obj/item/melee/cultblade/attack(mob/living/target, mob/living/carbon/human/user) - if(!iscultist(user)) - user.Paralyze(100) - user.dropItemToGround(src, TRUE) - user.visible_message( - "A powerful force shoves [user] away from [target]!", \ - "\"You shouldn't play with sharp things. You'll poke someone's eye out.\"") - if(ishuman(user)) - var/mob/living/carbon/human/H = user - H.apply_damage(rand(force/2, force), BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) - else - user.adjustBruteLoss(rand(force/2,force)) - return - ..() - -/obj/item/melee/cultblade/ghost - name = "eldritch sword" - force = 19 //can't break normal airlocks - item_flags = NEEDS_PERMIT | DROPDEL - flags_1 = NONE - -/obj/item/melee/cultblade/ghost/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT) - -/obj/item/melee/cultblade/pickup(mob/living/user) - ..() - if(!iscultist(user)) - to_chat(user, "\"I wouldn't advise that.\"") - -/obj/item/cult_bastard - name = "geometric bastard sword" - desc = "An enormous sword, once used by Nar'Sien cultists to rapidly harvest the souls of non-believers. It still yet hungers to taste inpure blood." - w_class = WEIGHT_CLASS_HUGE - block_chance = 50 - throwforce = 20 - force = 30 - armour_penetration = 45 - throw_speed = 1 - throw_range = 3 - sharpness = IS_SHARP - light_system = MOVABLE_LIGHT - light_range = 4 - light_color = COLOR_RED - attack_verb = list("cleaved", "bisected", "tore", "brutalized", "smashed", "ripped", "diced", "carved") - icon_state = "cultbastard" - item_state = "cultbastard" - hitsound = 'sound/weapons/bladeslice.ogg' - lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi' - righthand_file = 'icons/mob/inhands/64x64_righthand.dmi' - inhand_x_dimension = 64 - inhand_y_dimension = 64 - actions_types = list() - item_flags = SLOWS_WHILE_IN_HAND - var/datum/action/innate/dash/cult/jaunt - var/datum/action/innate/cult/spin2win/linked_action - var/spinning = FALSE - var/spin_cooldown = 250 - var/dash_toggled = TRUE - var/list/nemesis_factions = list("mining", "boss") - var/faction_bonus_force = 25 - -/obj/item/cult_bastard/Initialize() - . = ..() - jaunt = new(src) - linked_action = new(src) - AddComponent(/datum/component/butchering, 50, 120) - AddComponent(/datum/component/two_handed, require_twohands=TRUE) - -/obj/item/cult_bastard/attack(mob/living/target, mob/living/carbon/human/user) - var/nemesis_faction = FALSE - if(LAZYLEN(nemesis_factions)) - for(var/F in target.faction) - if(F in nemesis_factions) - nemesis_faction = TRUE - force += faction_bonus_force - throwforce += faction_bonus_force - nemesis_effects(user, target) - break - . = ..() - if(nemesis_faction) - force -= faction_bonus_force - throwforce -= faction_bonus_force - -/obj/item/cult_bastard/proc/nemesis_effects(mob/living/user, mob/living/target) - return - -/obj/item/cult_bastard/Destroy() - QDEL_NULL(jaunt) - QDEL_NULL(linked_action) - return ..() - -/obj/item/cult_bastard/examine(mob/user) - . = ..() - . += "This weapon will absorb the souls of unconscious human foes." - if(contents.len) - . += "There are [contents.len] souls trapped within the sword's core." - else - . += "The sword appears to be quite lifeless." - -/obj/item/cult_bastard/can_be_pulled(user) - return FALSE - -/obj/item/cult_bastard/attack_self(mob/user) - dash_toggled = !dash_toggled - if(dash_toggled) - to_chat(loc, "You raise [src] and prepare to jaunt with it.") - else - to_chat(loc, "You lower [src] and prepare to swing it normally.") - -/obj/item/cult_bastard/pickup(mob/living/user) - . = ..() - force = initial(force) - jaunt.Grant(user, src) - linked_action.Grant(user, src) - user.update_icons() - -/obj/item/cult_bastard/dropped(mob/user) - . = ..() - linked_action.Remove(user) - jaunt.Remove(user) - user.update_icons() - -/obj/item/cult_bastard/IsReflect() - if(spinning) - playsound(src, 'sound/weapons/effects/deflect.ogg', 100, TRUE) - return TRUE - else - ..() - -/obj/item/cult_bastard/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(prob(final_block_chance)) - if(attack_type == PROJECTILE_ATTACK) - owner.visible_message("[owner] deflects [attack_text] with [src]!") - playsound(src, 'sound/weapons/effects/deflect.ogg', 100, TRUE) - return TRUE - else - playsound(src, 'sound/weapons/parry.ogg', 75, TRUE) - owner.visible_message("[owner] parries [attack_text] with [src]!") - return TRUE - return FALSE - -/obj/item/cult_bastard/afterattack(atom/target, mob/user, proximity, click_parameters) - . = ..() - if(dash_toggled && !proximity) - jaunt.Teleport(user, target) - return - if(proximity) - if(ishuman(target)) - var/mob/living/carbon/human/H = target - if(H.stat != CONSCIOUS) - var/obj/item/soulstone/anybody/SS = new /obj/item/soulstone/anybody(src) - SS.attack(H, user) - if(!LAZYLEN(SS.contents)) - qdel(SS) - if(istype(target, /obj/structure/constructshell) && contents.len) - var/obj/item/soulstone/anybody/SS = contents[1] - if(istype(SS)) - SS.transfer_soul("CONSTRUCT",target,user) - qdel(SS) - -/datum/action/innate/dash/cult - name = "Rend the Veil" - desc = "Use the sword to shear open the flimsy fabric of this reality and teleport to your target." - icon_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' - beam_effect = "sendbeam" - phasein = /obj/effect/temp_visual/dir_setting/cult/phase - phaseout = /obj/effect/temp_visual/dir_setting/cult/phase/out - -/datum/action/innate/dash/cult/IsAvailable() - if(iscultist(owner) && current_charges) - return TRUE - else - return FALSE - - - -/datum/action/innate/cult/spin2win - name = "Geometer's Fury" - desc = "You draw on the power of the sword's ancient runes, spinning it wildly around you as you become immune to most attacks." - background_icon_state = "bg_demon" - button_icon_state = "sintouch" - var/cooldown = 0 - var/mob/living/carbon/human/holder - var/obj/item/cult_bastard/sword - -/datum/action/innate/cult/spin2win/Grant(mob/user, obj/bastard) - . = ..() - sword = bastard - holder = user - -/datum/action/innate/cult/spin2win/IsAvailable() - if(cooldown <= world.time) - return TRUE - else - return FALSE - -/datum/action/innate/cult/spin2win/Activate() - cooldown = world.time + sword.spin_cooldown - holder.changeNext_move(50) - holder.apply_status_effect(/datum/status_effect/sword_spin) - sword.spinning = TRUE - sword.block_chance = 100 - sword.slowdown += 1.5 - addtimer(CALLBACK(src, PROC_REF(stop_spinning)), 50) - holder.update_action_buttons_icon() - -/datum/action/innate/cult/spin2win/proc/stop_spinning() - sword.spinning = FALSE - sword.block_chance = 50 - sword.slowdown -= 1.5 - sleep(sword.spin_cooldown) - holder.update_action_buttons_icon() - -/obj/item/restraints/legcuffs/bola/cult - name = "\improper Nar'Sien bola" - desc = "A strong bola, bound with dark magic that allows it to pass harmlessly through Nar'Sien cultists. Throw it to trip and slow your victim." - icon_state = "bola_cult" - item_state = "bola_cult" - breakouttime = 60 - knockdown = 30 - -/obj/item/restraints/legcuffs/bola/cult/attack_hand(mob/living/user) - . = ..() - if(!iscultist(user)) - to_chat(user, "The bola seems to take on a life of its own!") - ensnare(user) - -/obj/item/restraints/legcuffs/bola/cult/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - if(iscultist(hit_atom)) - return - . = ..() - - -/obj/item/clothing/head/hooded/cult_hoodie - name = "ancient cultist hood" - icon_state = "culthood" - desc = "A torn, dust-caked hood. Strange letters line the inside." - flags_inv = HIDEFACE|HIDEHAIR|HIDEEARS - flags_cover = HEADCOVERSEYES - armor = list("melee" = 40, "bullet" = 30, "laser" = 40,"energy" = 40, "bomb" = 25, "bio" = 10, "rad" = 0, "fire" = 10, "acid" = 10) - cold_protection = HEAD - min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT - heat_protection = HEAD - max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT - -/obj/item/clothing/suit/hooded/cultrobes - name = "ancient cultist robes" - desc = "A ragged, dusty set of robes. Strange letters line the inside." - icon_state = "cultrobes" - item_state = "cultrobes" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - allowed = list(/obj/item/tome, /obj/item/melee/cultblade, /obj/item/tank) - armor = list("melee" = 40, "bullet" = 30, "laser" = 40,"energy" = 40, "bomb" = 25, "bio" = 10, "rad" = 0, "fire" = 10, "acid" = 10) - flags_inv = HIDEJUMPSUIT - cold_protection = CHEST|GROIN|LEGS|ARMS - min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|ARMS - max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT - hoodtype = /obj/item/clothing/head/hooded/cult_hoodie - - -/obj/item/clothing/head/hooded/cult_hoodie/alt - name = "cultist hood" - desc = "An armored hood worn by the followers of Nar'Sie." - icon_state = "cult_hoodalt" - item_state = "cult_hoodalt" - -/obj/item/clothing/suit/hooded/cultrobes/alt - name = "cultist robes" - desc = "An armored set of robes worn by the followers of Nar'Sie." - icon_state = "cultrobesalt" - item_state = "cultrobesalt" - hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/alt - -/obj/item/clothing/suit/hooded/cultrobes/alt/ghost - item_flags = DROPDEL - -/obj/item/clothing/suit/hooded/cultrobes/alt/ghost/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT) - - -/obj/item/clothing/head/magus - name = "magus helm" - icon_state = "magus" - item_state = "magus" - desc = "A helm worn by the followers of Nar'Sie." - flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDEEARS|HIDEEYES - armor = list("melee" = 50, "bullet" = 30, "laser" = 50,"energy" = 50, "bomb" = 25, "bio" = 10, "rad" = 0, "fire" = 10, "acid" = 10) - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH - -/obj/item/clothing/suit/magusred - name = "magus robes" - desc = "A set of armored robes worn by the followers of Nar'Sie." - icon_state = "magusred" - item_state = "magusred" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - allowed = list(/obj/item/tome, /obj/item/melee/cultblade) - armor = list("melee" = 50, "bullet" = 30, "laser" = 50,"energy" = 50, "bomb" = 25, "bio" = 10, "rad" = 0, "fire" = 10, "acid" = 10) - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - -/obj/item/clothing/head/helmet/space/hardsuit/cult - name = "\improper Nar'Sien hardened helmet" - desc = "A heavily-armored helmet worn by warriors of the Nar'Sien cult. It can withstand hard vacuum." - icon_state = "cult_helmet" - item_state = "cult_helmet" - armor = list("melee" = 70, "bullet" = 50, "laser" = 30,"energy" = 40, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 40, "acid" = 75) - light_system = NO_LIGHT_SUPPORT - light_range = 0 - actions_types = list() - -/obj/item/clothing/suit/space/hardsuit/cult - name = "\improper Nar'Sien hardened armor" - icon_state = "cult_armor" - item_state = "cult_armor" - desc = "A heavily-armored exosuit worn by warriors of the Nar'Sien cult. It can withstand hard vacuum." - w_class = WEIGHT_CLASS_BULKY - allowed = list(/obj/item/tome, /obj/item/melee/cultblade, /obj/item/tank/internals/) - armor = list("melee" = 70, "bullet" = 50, "laser" = 30,"energy" = 40, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 40, "acid" = 75) - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/cult - -/obj/item/sharpener/cult - name = "eldritch whetstone" - desc = "A block, empowered by dark magic. Sharp weapons will be enhanced when used on the stone." - icon_state = "cult_sharpener" - used = 0 - increment = 5 - max = 40 - prefix = "darkened" - -/obj/item/sharpener/cult/update_icon_state() - icon_state = "cult_sharpener[used ? "_used" : ""]" - return ..() - -/obj/item/clothing/suit/hooded/cultrobes/cult_shield - name = "empowered cultist armor" - desc = "Empowered armor which creates a powerful shield around the user." - icon_state = "cult_armor" - item_state = "cult_armor" - w_class = WEIGHT_CLASS_BULKY - armor = list("melee" = 50, "bullet" = 40, "laser" = 50,"energy" = 50, "bomb" = 50, "bio" = 30, "rad" = 30, "fire" = 50, "acid" = 60) - var/current_charges = 3 - hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/cult_shield - -/obj/item/clothing/head/hooded/cult_hoodie/cult_shield - name = "empowered cultist helmet" - desc = "Empowered helmet which creates a powerful shield around the user." - icon_state = "cult_hoodalt" - armor = list("melee" = 50, "bullet" = 40, "laser" = 50,"energy" = 50, "bomb" = 50, "bio" = 30, "rad" = 30, "fire" = 50, "acid" = 60) - -/obj/item/clothing/suit/hooded/cultrobes/cult_shield/equipped(mob/living/user, slot) - ..() - if(!iscultist(user)) - to_chat(user, "\"I wouldn't advise that.\"") - to_chat(user, "An overwhelming sense of nausea overpowers you!") - user.dropItemToGround(src, TRUE) - user.Dizzy(30) - user.Paralyze(100) - -/obj/item/clothing/suit/hooded/cultrobes/cult_shield/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(current_charges) - owner.visible_message("\The [attack_text] is deflected in a burst of blood-red sparks!") - current_charges-- - new /obj/effect/temp_visual/cult/sparks(get_turf(owner)) - if(!current_charges) - owner.visible_message("The runed shield around [owner] suddenly disappears!") - owner.update_inv_wear_suit() - return 1 - return 0 - -/obj/item/clothing/suit/hooded/cultrobes/cult_shield/worn_overlays(isinhands) - . = list() - if(!isinhands && current_charges) - . += mutable_appearance('icons/effects/cult_effects.dmi', "shield-cult", MOB_LAYER + 0.01) - -/obj/item/clothing/suit/hooded/cultrobes/berserker - name = "flagellant's robes" - desc = "Blood-soaked robes infused with dark magic; allows the user to move at inhuman speeds, but at the cost of increased damage." - allowed = list(/obj/item/tome, /obj/item/melee/cultblade) - armor = list("melee" = -45, "bullet" = -45, "laser" = -45,"energy" = -55, "bomb" = -45, "bio" = -45, "rad" = -45, "fire" = 0, "acid" = 0) - slowdown = -0.6 - hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/berserkerhood - -/obj/item/clothing/head/hooded/cult_hoodie/berserkerhood - name = "flagellant's hood" - desc = "Blood-soaked hood infused with dark magic." - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - -/obj/item/clothing/suit/hooded/cultrobes/berserker/equipped(mob/living/user, slot) - ..() - if(!iscultist(user)) - to_chat(user, "\"I wouldn't advise that.\"") - to_chat(user, "An overwhelming sense of nausea overpowers you!") - user.dropItemToGround(src, TRUE) - user.Dizzy(30) - user.Paralyze(100) - -/obj/item/clothing/glasses/hud/health/night/cultblind - desc = "may Nar'Sie guide you through the darkness and shield you from the light." - name = "zealot's blindfold" - icon_state = "blindfold" - item_state = "blindfold" - flash_protect = FLASH_PROTECTION_FLASH - -/obj/item/clothing/glasses/hud/health/night/cultblind/equipped(mob/living/user, slot) - ..() - if(prob(30)) - to_chat(user, "\"You want to be blind, do you?\"") - user.dropItemToGround(src, TRUE) - user.Dizzy(30) - user.Paralyze(100) - user.blind_eyes(30) - else - return - -/obj/item/reagent_containers/glass/beaker/unholywater - name = "flask of unholy water" - desc = "Toxic to nonbelievers; reinvigorating to the faithful - this flask may be sipped or thrown." - icon = 'icons/obj/drinks/drinks.dmi' - icon_state = "holyflask" - color = "#333333" - list_reagents = list(/datum/reagent/fuel/unholywater = 50) - can_have_cap = FALSE - cap_icon_state = null - cap_on = FALSE - -/obj/item/cult_shift - name = "veil shifter" - desc = "This relic instantly teleports you, and anything you're pulling, forward by a moderate distance." - icon = 'icons/obj/cult.dmi' - icon_state ="shifter" - var/uses = 4 - -/obj/item/cult_shift/examine(mob/user) - . = ..() - if(uses) - . += "It has [uses] use\s remaining." - else - . += "It seems drained." - -/obj/item/cult_shift/proc/handle_teleport_grab(turf/T, mob/user) - var/mob/living/carbon/C = user - if(C.pulling) - var/atom/movable/pulled = C.pulling - do_teleport(pulled, T, channel = TELEPORT_CHANNEL_CULT) - . = pulled - -/obj/item/cult_shift/attack_self(mob/user) - if(!uses || !iscarbon(user)) - to_chat(user, "\The [src] is dull and unmoving in your hands.") - return - - var/mob/living/carbon/C = user - var/turf/mobloc = get_turf(C) - var/turf/destination = get_teleport_loc(mobloc,C,9,1,3,1,0,1) - - if(destination) - uses-- - if(uses <= 0) - icon_state ="shifter_drained" - playsound(mobloc, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - new /obj/effect/temp_visual/dir_setting/cult/phase/out(mobloc, C.dir) - - var/atom/movable/pulled = handle_teleport_grab(destination, C) - if(do_teleport(C, destination, channel = TELEPORT_CHANNEL_CULT)) - if(pulled) - C.start_pulling(pulled) //forcemove resets pulls, so we need to re-pull - new /obj/effect/temp_visual/dir_setting/cult/phase(destination, C.dir) - playsound(destination, 'sound/effects/phasein.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - playsound(destination, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - - else - to_chat(C, "The veil cannot be torn here!") - -/obj/item/flashlight/flare/culttorch - name = "void torch" - desc = "Used by veteran cultists to instantly transport items to their needful brethren." - w_class = WEIGHT_CLASS_SMALL - light_range = 1 - icon_state = "torch" - item_state = "torch" - color = "#ff0000" - on_damage = 15 - slot_flags = null - on = TRUE - var/charges = 5 - -/obj/item/flashlight/flare/culttorch/afterattack(atom/movable/A, mob/user, proximity) - if(!proximity) - return - if(!iscultist(user)) - to_chat(user, "That doesn't seem to do anything useful.") - return - - if(istype(A, /obj/item)) - - var/list/cultists = list() - for(var/datum/mind/M in SSticker.mode.cult) - if(M.current && M.current.stat != DEAD) - cultists |= M.current - var/mob/living/cultist_to_receive = input(user, "Who do you wish to call to [src]?", "Followers of the Geometer") as null|anything in (cultists - user) - if(!Adjacent(user) || !src || QDELETED(src) || user.incapacitated()) - return - if(!cultist_to_receive) - to_chat(user, "You require a destination!") - log_game("Void torch failed - no target") - return - if(cultist_to_receive.stat == DEAD) - to_chat(user, "[cultist_to_receive] has died!") - log_game("Void torch failed - target died") - return - if(!iscultist(cultist_to_receive)) - to_chat(user, "[cultist_to_receive] is not a follower of the Geometer!") - log_game("Void torch failed - target was deconverted") - return - if(A in user.GetAllContents()) - to_chat(user, "[A] must be on a surface in order to teleport it!") - return - to_chat(user, "You ignite [A] with \the [src], turning it to ash, but through the torch's flames you see that [A] has reached [cultist_to_receive]!") - cultist_to_receive.put_in_hands(A) - charges-- - to_chat(user, "\The [src] now has [charges] charge\s.") - if(charges == 0) - qdel(src) - - else - ..() - to_chat(user, "\The [src] can only transport items!") - - -/obj/item/cult_spear - name = "blood halberd" - desc = "A sickening spear composed entirely of crystallized blood." - icon_state = "bloodspear0" - base_icon_state = "occultpoleaxe" - lefthand_file = 'icons/mob/inhands/weapons/polearms_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/polearms_righthand.dmi' - slot_flags = 0 - force = 17 - throwforce = 40 - throw_speed = 2 - armour_penetration = 30 - block_chance = 30 - attack_verb = list("attacked", "impaled", "stabbed", "torn", "gored") - sharpness = IS_SHARP - hitsound = 'sound/weapons/bladeslice.ogg' - var/datum/action/innate/cult/spear/spear_act - var/wielded = FALSE // track wielded status on item - -/obj/item/cult_spear/Initialize() - . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) - -/obj/item/cult_spear/ComponentInitialize() - . = ..() - AddComponent(/datum/component/butchering, 100, 90) - AddComponent(/datum/component/two_handed, force_unwielded=17, force_wielded=24, icon_wielded="[base_icon_state]1") - -/// triggered on wield of two handed item -/obj/item/cult_spear/proc/on_wield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = TRUE - -/// triggered on unwield of two handed item -/obj/item/cult_spear/proc/on_unwield(obj/item/source, mob/user) - SIGNAL_HANDLER - - wielded = FALSE - -/obj/item/cult_spear/update_icon_state() - icon_state = "[base_icon_state]0" - return ..() - -/obj/item/cult_spear/Destroy() - if(spear_act) - qdel(spear_act) - return ..() - -/obj/item/cult_spear/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - var/turf/T = get_turf(hit_atom) - if(isliving(hit_atom)) - var/mob/living/L = hit_atom - if(iscultist(L)) - playsound(src, 'sound/weapons/throwtap.ogg', 50) - if(L.put_in_active_hand(src)) - L.visible_message("[L] catches [src] out of the air!") - else - L.visible_message("[src] bounces off of [L], as if repelled by an unseen force!") - else if(!..()) - if(!L.anti_magic_check()) - L.Paralyze(50) - break_spear(T) - else - ..() - -/obj/item/cult_spear/proc/break_spear(turf/T) - if(src) - if(!T) - T = get_turf(src) - if(T) - T.visible_message("[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) - qdel(src) - -/obj/item/cult_spear/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(wielded) - final_block_chance *= 2 - if(prob(final_block_chance)) - if(attack_type == PROJECTILE_ATTACK) - owner.visible_message("[owner] deflects [attack_text] with [src]!") - playsound(src, 'sound/weapons/effects/deflect.ogg', 100, TRUE) - return TRUE - else - playsound(src, 'sound/weapons/parry.ogg', 100, TRUE) - owner.visible_message("[owner] parries [attack_text] with [src]!") - return TRUE - return FALSE - -/datum/action/innate/cult/spear - name = "Bloody Bond" - desc = "Call the blood spear back to your hand!" - background_icon_state = "bg_demon" - button_icon_state = "bloodspear" - var/obj/item/cult_spear/spear - var/cooldown = 0 - -/datum/action/innate/cult/spear/Grant(mob/user, obj/blood_spear) - . = ..() - spear = blood_spear - button.screen_loc = "6:157,4:-2" - button.moved = "6:157,4:-2" - -/datum/action/innate/cult/spear/Activate() - if(owner == spear.loc || cooldown > world.time) - return - var/ST = get_turf(spear) - var/OT = get_turf(owner) - if(get_dist(OT, ST) > 10) - to_chat(owner,"The spear is too far away!") - else - cooldown = world.time + 20 - if(isliving(spear.loc)) - var/mob/living/L = spear.loc - L.dropItemToGround(spear) - L.visible_message("An unseen force pulls the blood spear from [L]'s hands!") - spear.throw_at(owner, 10, 2, owner) - -/obj/item/blood_beam - name = "\improper magical aura" - desc = "Sinister looking aura that distorts the flow of reality around it." - icon = 'icons/obj/items_and_weapons.dmi' - lefthand_file = 'icons/mob/inhands/misc/touchspell_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/touchspell_righthand.dmi' - icon_state = "disintegrate" - item_state = "disintegrate" - item_flags = ABSTRACT | DROPDEL - w_class = WEIGHT_CLASS_HUGE - throwforce = 0 - throw_range = 0 - throw_speed = 0 - var/charging = FALSE - var/firing = FALSE - var/angle - -/obj/item/blood_beam/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT) - - -/obj/item/blood_beam/afterattack(atom/A, mob/living/user, flag, params) - . = ..() - if(firing || charging) - return - var/C = user.client - if(ishuman(user) && C) - angle = mouse_angle_from_client(C) - else - qdel(src) - return - charging = TRUE - INVOKE_ASYNC(src, PROC_REF(charge), user) - if(do_after(user, 90, target = user)) - firing = TRUE - INVOKE_ASYNC(src, PROC_REF(pewpew), user, params) - var/obj/structure/emergency_shield/invoker/N = new(user.loc) - if(do_after(user, 90, target = user)) - user.Paralyze(40) - to_chat(user, "You have exhausted the power of this spell!") - firing = FALSE - if(N) - qdel(N) - qdel(src) - charging = FALSE - -/obj/item/blood_beam/proc/charge(mob/user) - var/obj/O - playsound(src, 'sound/magic/lightning_chargeup.ogg', 100, TRUE) - for(var/i in 1 to 12) - if(!charging) - break - if(i > 1) - sleep(15) - if(i < 4) - O = new /obj/effect/temp_visual/cult/rune_spawn/rune1/inner(user.loc, 30, "#ff0000") - else - O = new /obj/effect/temp_visual/cult/rune_spawn/rune5(user.loc, 30, "#ff0000") - new /obj/effect/temp_visual/dir_setting/cult/phase/out(user.loc, user.dir) - if(O) - qdel(O) - -/obj/item/blood_beam/proc/pewpew(mob/user, params) - var/turf/targets_from = get_turf(src) - var/spread = 40 - var/second = FALSE - var/set_angle = angle - for(var/i in 1 to 12) - if(second) - set_angle = angle - spread - spread -= 8 - else - sleep(15) - set_angle = angle + spread - second = !second //Handles beam firing in pairs - if(!firing) - break - playsound(src, 'sound/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 getline(targets_from,temp_target)) - if (locate(/obj/effect/blessing, T)) - temp_target = T - playsound(T, 'sound/machines/clockcult/ark_damage.ogg', 50, TRUE) - new /obj/effect/temp_visual/at_shield(T, T) - break - T.narsie_act(TRUE, TRUE) - for(var/mob/living/target in T.contents) - if(iscultist(target)) - new /obj/effect/temp_visual/cult/sparks(T) - if(ishuman(target)) - var/mob/living/carbon/human/H = target - if(H.stat != DEAD) - H.reagents.add_reagent(/datum/reagent/fuel/unholywater, 7) - if(isshade(target) || isconstruct(target)) - var/mob/living/simple_animal/M = target - if(M.health+15 < M.maxHealth) - M.adjustHealth(-15) - else - M.health = M.maxHealth - else - var/mob/living/L = target - if(L.density) - L.Paralyze(20) - L.adjustBruteLoss(45) - playsound(L, 'sound/hallucinations/wail.ogg', 50, TRUE) - L.emote("scream") - user.Beam(temp_target, icon_state="blood_beam", time = 7, beam_type = /obj/effect/ebeam/blood) - - -/obj/effect/ebeam/blood - name = "blood beam" - -/obj/item/shield/mirror - name = "mirror shield" - desc = "An infamous shield used by Nar'Sien sects to confuse and disorient their enemies. Its edges are weighted for use as a throwing weapon - capable of disabling multiple foes with preternatural accuracy." - icon_state = "mirror_shield" // eshield1 for expanded - lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi' - force = 5 - throwforce = 15 - throw_speed = 1 - throw_range = 4 - w_class = WEIGHT_CLASS_BULKY - attack_verb = list("bumped", "prodded") - hitsound = 'sound/weapons/smash.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) - if(iscultist(owner)) - if(istype(hitby, /obj/projectile)) - var/obj/projectile/P = hitby - if(P.damage_type == BRUTE || P.damage_type == BURN) - if(P.damage >= 30) - var/turf/T = get_turf(owner) - T.visible_message("The sheer force from [P] shatters the mirror shield!") - new /obj/effect/temp_visual/cult/sparks(T) - playsound(T, 'sound/effects/glassbr3.ogg', 100) - owner.Paralyze(25) - qdel(src) - return FALSE - if(P.reflectable & REFLECT_NORMAL) - return FALSE //To avoid reflection chance double-dipping with block chance - . = ..() - if(.) - playsound(src, 'sound/weapons/parry.ogg', 100, TRUE) - if(illusions > 0) - illusions-- - addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/shield/mirror, readd)), 450) - if(prob(60)) - var/mob/living/simple_animal/hostile/illusion/M = new(owner.loc) - M.faction = list("cult") - M.Copy_Parent(owner, 70, 10, 5) - M.move_to_delay = owner.cached_multiplicative_slowdown - else - var/mob/living/simple_animal/hostile/illusion/escape/E = new(owner.loc) - E.Copy_Parent(owner, 70, 10) - E.GiveTarget(owner) - E.Goto(owner, owner.cached_multiplicative_slowdown, E.minimum_distance) - return TRUE - else - if(prob(50)) - var/mob/living/simple_animal/hostile/illusion/H = new(owner.loc) - H.Copy_Parent(owner, 100, 20, 5) - H.faction = list("cult") - H.GiveTarget(owner) - H.move_to_delay = owner.cached_multiplicative_slowdown - to_chat(owner, "[src] betrays you!") - return FALSE - -/obj/item/shield/mirror/proc/readd() - illusions++ - if(illusions == initial(illusions) && isliving(loc)) - var/mob/living/holder = loc - to_chat(holder, "The shield's illusions are back at full strength!") - -/obj/item/shield/mirror/IsReflect() - if(prob(block_chance)) - return TRUE - return FALSE - -/obj/item/shield/mirror/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - var/turf/T = get_turf(hit_atom) - var/datum/thrownthing/D = throwingdatum - if(isliving(hit_atom)) - var/mob/living/L = hit_atom - if(iscultist(L)) - playsound(src, 'sound/weapons/throwtap.ogg', 50) - if(L.put_in_active_hand(src)) - L.visible_message("[L] catches [src] out of the air!") - else - L.visible_message("[src] bounces off of [L], as if repelled by an unseen force!") - else if(!..()) - if(!L.anti_magic_check()) - L.Paralyze(30) - if(D?.thrower) - for(var/mob/living/Next in orange(2, T)) - if(!Next.density || iscultist(Next)) - continue - throw_at(Next, 3, 1, D.thrower) - return - throw_at(D.thrower, 7, 1, null) - else - ..() diff --git a/code/modules/antagonists/cult/cult_structures.dm b/code/modules/antagonists/cult/cult_structures.dm deleted file mode 100644 index 60816a90d45..00000000000 --- a/code/modules/antagonists/cult/cult_structures.dm +++ /dev/null @@ -1,295 +0,0 @@ -/obj/structure/destructible/cult - density = TRUE - anchored = TRUE - icon = 'icons/obj/cult.dmi' - light_power = 2 - var/cooldowntime = 0 - break_sound = 'sound/hallucinations/veryfar_noise.ogg' - debris = list(/obj/item/stack/sheet/mineral/hidden/hellstone = 1) - -/obj/structure/destructible/cult/proc/conceal() //for spells that hide cult presence - density = FALSE - visible_message("[src] fades away.") - invisibility = INVISIBILITY_OBSERVER - alpha = 100 //To help ghosts distinguish hidden runes - light_range = 0 - light_power = 0 - update_light() - STOP_PROCESSING(SSfastprocess, src) - -/obj/structure/destructible/cult/proc/reveal() //for spells that reveal cult presence - density = initial(density) - invisibility = 0 - visible_message("[src] suddenly appears!") - alpha = initial(alpha) - light_range = initial(light_range) - light_power = initial(light_power) - update_light() - START_PROCESSING(SSfastprocess, src) - - -/obj/structure/destructible/cult/examine(mob/user) - . = ..() - . += "\The [src] is [anchored ? "":"not "]secured to the floor." - if((iscultist(user) || isobserver(user)) && cooldowntime > world.time) - . += "The magic in [src] is too weak, [p_they()] will be ready to use again in [DisplayTimeText(cooldowntime - world.time)]." - -/obj/structure/destructible/cult/examine_status(mob/user) - if(iscultist(user) || isobserver(user)) - var/t_It = p_they(TRUE) - var/t_is = p_are() - return "[t_It] [t_is] at [round(obj_integrity * 100 / max_integrity)]% stability." - return ..() - -/obj/structure/destructible/cult/attack_animal(mob/living/simple_animal/M) - if(istype(M, /mob/living/simple_animal/hostile/construct/artificer)) - if(obj_integrity < max_integrity) - M.changeNext_move(CLICK_CD_MELEE) - obj_integrity = min(max_integrity, obj_integrity + 5) - Beam(M, icon_state="sendbeam", time=4) - M.visible_message("[M] repairs \the [src].", \ - "You repair [src], leaving [p_they()] at [round(obj_integrity * 100 / max_integrity)]% stability.") - else - to_chat(M, "You cannot repair [src], as [p_theyre()] undamaged!") - else - ..() - -/obj/structure/destructible/cult/set_anchored(anchorvalue) - . = ..() - if(isnull(.)) - return - update_appearance() - -/obj/structure/destructible/cult/update_icon_state() - icon_state = "[initial(icon_state)][anchored ? null : "_off"]" - return ..() - -/obj/structure/destructible/cult/attackby(obj/I, mob/user, params) - if(istype(I, /obj/item/melee/cultblade/dagger) && iscultist(user)) - set_anchored(!anchored) - to_chat(user, "You [anchored ? "":"un"]secure \the [src] [anchored ? "to":"from"] the floor.") - else - return ..() - -/obj/structure/destructible/cult/proc/check_menu(mob/user) - if(!istype(user)) - return FALSE - if(user.incapacitated() || !user.Adjacent(src)) - return FALSE - return TRUE - -/obj/structure/destructible/cult/talisman - name = "altar" - desc = "A bloodstained altar dedicated to Nar'Sie." - icon_state = "talismanaltar" - break_message = "The altar shatters, leaving only the wailing of the damned!" - -/obj/structure/destructible/cult/talisman/attack_hand(mob/living/user) - . = ..() - if(.) - return - if(!iscultist(user)) - to_chat(user, "You're pretty sure you know exactly what this is used for and you can't seem to touch it.") - return - if(!anchored) - to_chat(user, "You need to anchor [src] to the floor with your dagger first.") - return - if(cooldowntime > world.time) - to_chat(user, "The magic in [src] is weak, it will be ready to use again in [DisplayTimeText(cooldowntime - world.time)].") - return - var/list/items = list( - "Eldritch Whetstone" = image(icon = 'icons/obj/kitchen.dmi', icon_state = "cult_sharpener"), - "Construct Shell" = image(icon = 'icons/obj/wizard.dmi', icon_state = "construct_cult"), - "Flask of Unholy Water" = image(icon = 'icons/obj/drinks/drinks.dmi', icon_state = "holyflask") - ) - var/choice = show_radial_menu(user, src, items, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) - var/list/pickedtype = list() - switch(choice) - if("Eldritch Whetstone") - pickedtype += /obj/item/sharpener/cult - if("Construct Shell") - pickedtype += /obj/structure/constructshell - if("Flask of Unholy Water") - pickedtype += /obj/item/reagent_containers/glass/beaker/unholywater - else - return - if(src && !QDELETED(src) && anchored && pickedtype && Adjacent(user) && !user.incapacitated() && iscultist(user) && cooldowntime <= world.time) - cooldowntime = world.time + 2400 - for(var/N in pickedtype) - new N(get_turf(src)) - to_chat(user, "You kneel before the altar and your faith is rewarded with the [choice]!") - -/obj/structure/destructible/cult/forge - name = "daemon forge" - desc = "A forge used in crafting the unholy weapons used by the armies of Nar'Sie." - icon_state = "forge" - light_range = 2 - light_color = LIGHT_COLOR_LAVA - break_message = "The force breaks apart into shards with a howling scream!" - -/obj/structure/destructible/cult/forge/attack_hand(mob/living/user) - . = ..() - if(.) - return - if(!iscultist(user)) - to_chat(user, "The heat radiating from [src] pushes you back.") - return - if(!anchored) - to_chat(user, "You need to anchor [src] to the floor with your dagger first.") - return - if(cooldowntime > world.time) - to_chat(user, "The magic in [src] is weak, it will be ready to use again in [DisplayTimeText(cooldowntime - world.time)].") - return - var/list/items = list( - "Shielded Robe" = image(icon = 'icons/obj/clothing/suits.dmi', icon_state = "cult_armor"), - "Flagellant's Robe" = image(icon = 'icons/obj/clothing/suits.dmi', icon_state = "cultrobes"), - "Mirror Shield" = image(icon = 'icons/obj/shields.dmi', icon_state = "mirror_shield") - ) - var/choice = show_radial_menu(user, src, items, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) - var/list/pickedtype = list() - switch(choice) - if("Shielded Robe") - pickedtype += /obj/item/clothing/suit/hooded/cultrobes/cult_shield - if("Flagellant's Robe") - pickedtype += /obj/item/clothing/suit/hooded/cultrobes/berserker - if("Mirror Shield") - pickedtype += /obj/item/shield/mirror - else - return - if(src && !QDELETED(src) && anchored && pickedtype && Adjacent(user) && !user.incapacitated() && iscultist(user) && cooldowntime <= world.time) - cooldowntime = world.time + 2400 - for(var/N in pickedtype) - new N(get_turf(src)) - to_chat(user, "You work the forge as dark knowledge guides your hands, creating the [choice]!") - - - -/obj/structure/destructible/cult/pylon - name = "pylon" - desc = "A floating crystal that slowly heals those faithful to Nar'Sie." - 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!" - var/heal_delay = 25 - var/last_heal = 0 - var/corrupt_delay = 50 - var/last_corrupt = 0 - -/obj/structure/destructible/cult/pylon/New() - START_PROCESSING(SSfastprocess, src) - ..() - -/obj/structure/destructible/cult/pylon/Destroy() - STOP_PROCESSING(SSfastprocess, src) - return ..() - -/obj/structure/destructible/cult/pylon/process() - if(!anchored) - return - if(last_heal <= world.time) - last_heal = world.time + heal_delay - for(var/mob/living/L in range(5, src)) - if(iscultist(L) || isshade(L) || isconstruct(L)) - if(L.health != L.maxHealth) - new /obj/effect/temp_visual/heal(get_turf(src), "#960000") - if(ishuman(L)) - L.adjustBruteLoss(-1, 0) - L.adjustFireLoss(-1, 0) - L.updatehealth() - if(isshade(L) || isconstruct(L)) - var/mob/living/simple_animal/M = L - if(M.health < M.maxHealth) - M.adjustHealth(-3) - if(ishuman(L) && L.blood_volume < BLOOD_VOLUME_NORMAL) - L.blood_volume += 1.0 - CHECK_TICK - if(last_corrupt <= world.time) - var/list/validturfs = list() - var/list/cultturfs = list() - for(var/T in circleviewturfs(src, 5)) - if(istype(T, /turf/open/floor/engine/cult)) - cultturfs |= T - continue - var/static/list/blacklisted_pylon_turfs = typecacheof(list( - /turf/closed, - /turf/open/floor/engine/cult, - /turf/open/space, - /turf/open/lava, - /turf/open/chasm)) - if(is_type_in_typecache(T, blacklisted_pylon_turfs)) - continue - else - validturfs |= T - - last_corrupt = world.time + corrupt_delay - - if(length(validturfs)) - var/turf/T = pick(validturfs) - if(istype(T, /turf/open/floor/plating)) - T.PlaceOnTop(/turf/open/floor/engine/cult, flags = CHANGETURF_INHERIT_AIR) - else - T.ChangeTurf(/turf/open/floor/engine/cult, flags = CHANGETURF_INHERIT_AIR) - else if (length(cultturfs)) - var/turf/open/floor/engine/cult/F = pick(cultturfs) - new /obj/effect/temp_visual/cult/turf/floor(F) - else - // Are we in space or something? No cult turfs or - // convertable turfs? - last_corrupt = world.time + corrupt_delay*2 - -/obj/structure/destructible/cult/tome - name = "archives" - desc = "A desk covered in arcane manuscripts and tomes in unknown languages. Looking at the text makes your skin crawl." - 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!" - -/obj/structure/destructible/cult/tome/attack_hand(mob/living/user) - . = ..() - if(.) - return - if(!iscultist(user)) - to_chat(user, "These books won't open and it hurts to even try and read the covers.") - return - if(!anchored) - to_chat(user, "You need to anchor [src] to the floor with your dagger first.") - return - if(cooldowntime > world.time) - to_chat(user, "The magic in [src] is weak, it will be ready to use again in [DisplayTimeText(cooldowntime - world.time)].") - return - var/list/items = list( - "Zealot's Blindfold" = image(icon = 'icons/obj/clothing/glasses.dmi', icon_state = "blindfold"), - "Veil Walker Set" = image(icon = 'icons/obj/cult.dmi', icon_state = "shifter") - ) - var/choice = show_radial_menu(user, src, items, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) - var/list/pickedtype = list() - switch(choice) - if("Zealot's Blindfold") - pickedtype += /obj/item/clothing/glasses/hud/health/night/cultblind - if("Veil Walker Set") - pickedtype += /obj/item/cult_shift - pickedtype += /obj/item/flashlight/flare/culttorch - else - return - if(src && !QDELETED(src) && anchored && pickedtype.len && Adjacent(user) && !user.incapacitated() && iscultist(user) && cooldowntime <= world.time) - cooldowntime = world.time + 2400 - for(var/N in pickedtype) - new N(get_turf(src)) - to_chat(user, "You summon the [choice] from the archives!") - -/obj/effect/gateway - name = "gateway" - desc = "You're pretty sure that abyss is staring back." - icon = 'icons/obj/cult.dmi' - icon_state = "hole" - density = TRUE - anchored = TRUE - -/obj/effect/gateway/singularity_act() - return - -/obj/effect/gateway/singularity_pull() - return diff --git a/code/modules/antagonists/cult/cult_turf_overlay.dm b/code/modules/antagonists/cult/cult_turf_overlay.dm deleted file mode 100644 index 2e950326bf8..00000000000 --- a/code/modules/antagonists/cult/cult_turf_overlay.dm +++ /dev/null @@ -1,32 +0,0 @@ -//an "overlay" used by clockwork walls and floors to appear normal to mesons. -/obj/effect/cult_turf/overlay - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - var/atom/linked - -/obj/effect/cult_turf/overlay/examine(mob/user) - if(linked) - linked.examine(user) - -/obj/effect/cult_turf/overlay/ex_act() - return FALSE - -/obj/effect/cult_turf/overlay/singularity_act() - return -/obj/effect/cult_turf/overlay/singularity_pull() - return - -/obj/effect/cult_turf/overlay/singularity_pull(S, current_size) - return - -/obj/effect/cult_turf/overlay/Destroy() - if(linked) - linked = null - . = ..() - -/obj/effect/cult_turf/overlay/floor - icon = 'icons/turf/floors.dmi' - icon_state = "clockwork_floor" - layer = TURF_LAYER - -/obj/effect/cult_turf/overlay/floor/bloodcult - icon_state = "cult" diff --git a/code/modules/antagonists/cult/ritual.dm b/code/modules/antagonists/cult/ritual.dm deleted file mode 100644 index 1ea84bd83a1..00000000000 --- a/code/modules/antagonists/cult/ritual.dm +++ /dev/null @@ -1,155 +0,0 @@ -/* - -This file contains the cult dagger and rune list code - -*/ - - -/obj/item/melee/cultblade/dagger/Initialize() - . = ..() - if(!LAZYLEN(GLOB.rune_types)) - GLOB.rune_types = list() - var/static/list/non_revealed_runes = (subtypesof(/obj/effect/rune) - /obj/effect/rune/malformed) - for(var/i_can_do_loops_now_thanks_remie in non_revealed_runes) - var/obj/effect/rune/R = i_can_do_loops_now_thanks_remie - GLOB.rune_types[initial(R.cultist_name)] = R //Uses the cultist name for displaying purposes - -/obj/item/melee/cultblade/dagger/examine(mob/user) - . = ..() - if(iscultist(user) || isobserver(user)) - . += {"The scriptures of the Geometer. Allows the scribing of runes and access to the knowledge archives of the cult of Nar'Sie.\n - Striking a cult structure will unanchor or reanchor it.\n - Striking another cultist with it will purge holy water from them.\n - Striking a noncultist, however, will tear their flesh."} - -/obj/item/melee/cultblade/dagger/attack(mob/living/M, mob/living/user) - if(iscultist(M)) - if(M.reagents && M.reagents.has_reagent(/datum/reagent/water/holywater)) //allows cultists to be rescued from the clutches of ordained religion - to_chat(user, "You remove the taint from [M]." ) - var/holy2unholy = M.reagents.get_reagent_amount(/datum/reagent/water/holywater) - M.reagents.del_reagent(/datum/reagent/water/holywater) - M.reagents.add_reagent(/datum/reagent/fuel/unholywater,holy2unholy) - log_combat(user, M, "smacked", src, " removing the holy water from them") - return FALSE - . = ..() - -/obj/item/melee/cultblade/dagger/attack_self(mob/user) - if(!iscultist(user)) - to_chat(user, "[src] is covered in unintelligible shapes and markings.") - return - scribe_rune(user) - -/obj/item/melee/cultblade/dagger/proc/scribe_rune(mob/living/user) - if(drawing_rune) - return - drawing_rune = TRUE - scribe_rune_attempt(user) - drawing_rune = FALSE - -/obj/item/melee/cultblade/dagger/proc/scribe_rune_attempt(mob/living/user) - var/turf/Turf = get_turf(user) - var/chosen_keyword - var/obj/effect/rune/rune_to_scribe - var/entered_rune_name - var/list/shields = list() - var/area/A = get_area(src) - var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(!user_antag) - return - if(!check_rune_turf(Turf, user)) - return - entered_rune_name = input(user, "Choose a rite to scribe.", "Sigils of Power") as null|anything in GLOB.rune_types - if(!src || QDELETED(src) || !Adjacent(user) || user.incapacitated() || !check_rune_turf(Turf, user)) - return - rune_to_scribe = GLOB.rune_types[entered_rune_name] - if(!rune_to_scribe) - return - if(initial(rune_to_scribe.req_keyword)) - chosen_keyword = stripped_input(user, "Enter a keyword for the new rune.", "Words of Power") - if(!chosen_keyword) - drawing_rune = FALSE - scribe_rune(user) //Go back a menu! - return - Turf = get_turf(user) //we may have moved. adjust as needed... - A = get_area(src) - if(!src || QDELETED(src) || !Adjacent(user) || user.incapacitated() || !check_rune_turf(Turf, user)) - return - if(ispath(rune_to_scribe, /obj/effect/rune/summon) && initial(A.name) == "Space") - to_chat(user, "The veil is not weak enough here to summon a cultist!") - return - if(ispath(rune_to_scribe, /obj/effect/rune/apocalypse)) - if((world.time - SSticker.round_start_time) <= 6000) - var/wait = 6000 - (world.time - SSticker.round_start_time) - to_chat(user, "The veil is not yet weak enough for this rune - it will be available in [DisplayTimeText(wait)].") - return - var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives - if(!(A in summon_objective.summon_spots)) - to_chat(user, "The Apocalypse rune will remove a ritual site (where Nar'Sie can be summoned), it can only be scribed in [english_list(summon_objective.summon_spots)]!") - return - if(summon_objective.summon_spots.len < 2) - to_chat(user, "Only one ritual site remains - it must be reserved for the final summoning!") - return - if(ispath(rune_to_scribe, /obj/effect/rune/narsie)) - var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives - var/datum/objective/sacrifice/sac_objective = locate() in user_antag.cult_team.objectives - if(!summon_objective) - to_chat(user, "Nar'Sie does not wish to be summoned!") - return - if(sac_objective && !sac_objective.check_completion()) - to_chat(user, "The sacrifice is not complete. The portal would lack the power to open if you tried!") - return - if(summon_objective.check_completion()) - to_chat(user, "\"I am already here. There is no need to try to summon me now.\"") - return - if(!(A in summon_objective.summon_spots)) - to_chat(user, "The Geometer can only be summoned where the veil is weak - in [english_list(summon_objective.summon_spots)]!") - return - var/confirm_final = alert(user, "This is the FINAL step to summon Nar'Sie; it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for Nar'Sie!", "No") - if(confirm_final == "No") - to_chat(user, "You decide to prepare further before scribing the rune.") - return - Turf = get_turf(user) - A = get_area(src) - if(!(A in summon_objective.summon_spots)) // Check again to make sure they didn't move - to_chat(user, "The Geometer can only be summoned where the veil is weak - in [english_list(summon_objective.summon_spots)]!") - return - priority_announce("Figments from an eldritch god are being summoned by [user] into [initial(A.name)] from an unknown dimension. Disrupt the ritual at all costs!","Central Command Higher Dimensional Affairs", 'sound/ai/spanomalies.ogg') - for(var/B in spiral_range_turfs(1, user, 1)) - var/obj/structure/emergency_shield/sanguine/N = new(B) - shields += N - user.visible_message( - "[user] [user.blood_volume ? "cuts open [user.p_their()] arm and begins writing in [user.p_their()] own blood":"begins sketching out a strange design"]!", \ - "You [user.blood_volume ? "slice open your arm and ":""]begin drawing a sigil of the Geometer.") - if(user.blood_volume) - user.apply_damage(initial(rune_to_scribe.scribe_damage), BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) - var/scribe_mod = initial(rune_to_scribe.scribe_delay) - if(istype(get_turf(user), /turf/open/floor/engine/cult) && !(ispath(rune_to_scribe, /obj/effect/rune/narsie))) - scribe_mod *= 0.5 - if(!do_after(user, scribe_mod, target = get_turf(user))) - for(var/V in shields) - var/obj/structure/emergency_shield/sanguine/S = V - if(S && !QDELETED(S)) - qdel(S) - return - if(!check_rune_turf(Turf, user)) - return - user.visible_message( - "[user] creates a strange circle[user.blood_volume ? " in [user.p_their()] own blood":""].", \ - "You finish drawing the arcane markings of the Geometer.") - for(var/V in shields) - var/obj/structure/emergency_shield/S = V - if(S && !QDELETED(S)) - qdel(S) - var/obj/effect/rune/R = new rune_to_scribe(Turf, chosen_keyword) - R.add_mob_blood(user) - to_chat(user, "The [lowertext(R.cultist_name)] rune [R.cultist_desc]") - SSblackbox.record_feedback("tally", "cult_runes_scribed", 1, R.cultist_name) - -/obj/item/melee/cultblade/dagger/proc/check_rune_turf(turf/T, mob/user) - if(isspaceturf(T)) - to_chat(user, "You cannot scribe runes in space!") - return FALSE - if(locate(/obj/effect/rune) in T) - to_chat(user, "There is already a rune here.") - return FALSE - return TRUE diff --git a/code/modules/antagonists/cult/rune_spawn_action.dm b/code/modules/antagonists/cult/rune_spawn_action.dm deleted file mode 100644 index 2829141405d..00000000000 --- a/code/modules/antagonists/cult/rune_spawn_action.dm +++ /dev/null @@ -1,115 +0,0 @@ -//after a delay, creates a rune below you. for constructs creating runes. -/datum/action/innate/cult/create_rune - name = "Summon Rune" - desc = "Summons a rune" - background_icon_state = "bg_demon" - var/obj/effect/rune/rune_type - var/cooldown = 0 - var/base_cooldown = 1800 - var/scribe_time = 60 - var/damage_interrupt = TRUE - var/action_interrupt = TRUE - var/obj/effect/temp_visual/cult/rune_spawn/rune_word_type - var/obj/effect/temp_visual/cult/rune_spawn/rune_innerring_type - var/obj/effect/temp_visual/cult/rune_spawn/rune_center_type - var/rune_color - -/datum/action/innate/cult/create_rune/IsAvailable() - if(!rune_type || cooldown > world.time) - return FALSE - return ..() - -/datum/action/innate/cult/create_rune/proc/turf_check(turf/T) - if(!T) - return FALSE - if(isspaceturf(T)) - to_chat(owner, "You cannot scribe runes in space!") - return FALSE - if(locate(/obj/effect/rune) in T) - to_chat(owner, "There is already a rune here.") - return FALSE - return TRUE - - -/datum/action/innate/cult/create_rune/Activate() - var/turf/T = get_turf(owner) - if(turf_check(T)) - var/chosen_keyword - if(initial(rune_type.req_keyword)) - chosen_keyword = stripped_input(owner, "Enter a keyword for the new rune.", "Words of Power") - if(!chosen_keyword) - return - //the outer ring is always the same across all runes - var/obj/effect/temp_visual/cult/rune_spawn/R1 = new(T, scribe_time, rune_color) - //the rest are not always the same, so we need types for em - var/obj/effect/temp_visual/cult/rune_spawn/R2 - if(rune_word_type) - R2 = new rune_word_type(T, scribe_time, rune_color) - var/obj/effect/temp_visual/cult/rune_spawn/R3 - if(rune_innerring_type) - R3 = new rune_innerring_type(T, scribe_time, rune_color) - var/obj/effect/temp_visual/cult/rune_spawn/R4 - if(rune_center_type) - R4 = new rune_center_type(T, scribe_time, rune_color) - - cooldown = base_cooldown + world.time - owner.update_action_buttons_icon() - addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), base_cooldown) - var/list/health - if(damage_interrupt && isliving(owner)) - var/mob/living/L = owner - health = list("health" = L.health) - 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) - if(do_after(owner, scribe_mod, target = owner, extra_checks = CALLBACK(owner, TYPE_PROC_REF(/mob, break_do_after_checks), health, action_interrupt))) - var/obj/effect/rune/new_rune = new rune_type(owner.loc) - new_rune.keyword = chosen_keyword - else - qdel(R1) - if(R2) - qdel(R2) - if(R3) - qdel(R3) - if(R4) - qdel(R4) - cooldown = 0 - owner.update_action_buttons_icon() - -//teleport rune -/datum/action/innate/cult/create_rune/tele - name = "Summon Teleport Rune" - desc = "Summons a teleport rune to your location, as though it has been there all along..." - button_icon_state = "telerune" - rune_type = /obj/effect/rune/teleport - rune_word_type = /obj/effect/temp_visual/cult/rune_spawn/rune2 - rune_innerring_type = /obj/effect/temp_visual/cult/rune_spawn/rune2/inner - rune_center_type = /obj/effect/temp_visual/cult/rune_spawn/rune2/center - rune_color = RUNE_COLOR_TELEPORT - -/datum/action/innate/cult/create_rune/wall - name = "Summon Barrier Rune" - desc = "Summons an active barrier rune to your location, as though it has been there all along..." - button_icon_state = "barrier" - rune_type = /obj/effect/rune/wall - rune_word_type = /obj/effect/temp_visual/cult/rune_spawn/rune4 - rune_innerring_type = /obj/effect/temp_visual/cult/rune_spawn/rune4/inner - rune_center_type = /obj/effect/temp_visual/cult/rune_spawn/rune4/center - rune_color = RUNE_COLOR_DARKRED - -/datum/action/innate/cult/create_rune/wall/Activate() - . = ..() - var/obj/effect/rune/wall/W = locate(/obj/effect/rune/wall) in owner.loc - if(W) - W.spread_density() - -/datum/action/innate/cult/create_rune/revive - name = "Summon Revive Rune" - desc = "Summons a revive rune to your location, as though it has been there all along..." - button_icon_state = "revive" - rune_type = /obj/effect/rune/raise_dead - rune_word_type = /obj/effect/temp_visual/cult/rune_spawn/rune1 - rune_innerring_type = /obj/effect/temp_visual/cult/rune_spawn/rune1/inner - rune_center_type = /obj/effect/temp_visual/cult/rune_spawn/rune1/center - rune_color = RUNE_COLOR_MEDIUMRED diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm deleted file mode 100644 index 5058dc73f08..00000000000 --- a/code/modules/antagonists/cult/runes.dm +++ /dev/null @@ -1,1046 +0,0 @@ -GLOBAL_LIST_EMPTY(sacrificed) //a mixed list of minds and mobs -GLOBAL_LIST(rune_types) //Every rune that can be drawn by ritual daggers -GLOBAL_LIST_EMPTY(teleport_runes) -GLOBAL_LIST_EMPTY(wall_runes) -/* - -This file contains runes. -Runes are used by the cult to cause many different effects and are paramount to their success. -They are drawn with a ritual dagger in blood, and are distinguishable to cultists and normal crew by examining. -Fake runes can be drawn in crayon to fool people. -Runes can either be invoked by one's self or with many different cultists. Each rune has a specific incantation that the cultists will say when invoking it. - - -*/ - -/obj/effect/rune - name = "rune" - var/cultist_name = "basic rune" - desc = "An odd collection of symbols drawn in what seems to be blood." - var/cultist_desc = "a basic rune with no function." //This is shown to cultists who examine the rune in order to determine its true purpose. - anchored = TRUE - icon = 'icons/obj/rune.dmi' - icon_state = "1" - resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF - layer = SIGIL_LAYER - color = RUNE_COLOR_RED - - var/invocation = "Aiy ele-mayo!" //This is said by cultists when the rune is invoked. - var/req_cultists = 1 //The amount of cultists required around the rune to invoke it. If only 1, any cultist can invoke it. - var/req_cultists_text //if we have a description override for required cultists to invoke - var/rune_in_use = FALSE // Used for some runes, this is for when you want a rune to not be usable when in use. - - var/scribe_delay = 40 //how long the rune takes to create - var/scribe_damage = 0.1 //how much damage you take doing it - var/invoke_damage = 0 //how much damage invokers take when invoking it - var/construct_invoke = TRUE //if constructs can invoke it - - var/req_keyword = 0 //If the rune requires a keyword - go figure amirite - var/keyword //The actual keyword for the rune - -/obj/effect/rune/Initialize(mapload, set_keyword) - . = ..() - if(set_keyword) - keyword = set_keyword - var/image/I = image(icon = 'icons/effects/blood.dmi', icon_state = null, loc = src) - I.override = TRUE - add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/silicons, "cult_runes", I) - -/obj/effect/rune/examine(mob/user) - . = ..() - if(iscultist(user) || user.stat == DEAD) //If they're a cultist or a ghost, tell them the effects - . += "Name: [cultist_name]\n"+\ - "Effects: [capitalize(cultist_desc)]\n"+\ - "Required Acolytes: [req_cultists_text ? "[req_cultists_text]":"[req_cultists]"]" - if(req_keyword && keyword) - . += "Keyword: [keyword]" - -/obj/effect/rune/attackby(obj/I, mob/user, params) - if(istype(I, /obj/item/melee/cultblade/dagger) && iscultist(user)) - SEND_SOUND(user,'sound/items/sheath.ogg') - if(do_after(user, 15, target = src)) - to_chat(user, "You carefully erase the [lowertext(cultist_name)] rune.") - qdel(src) - -/obj/effect/rune/attack_hand(mob/living/user) - . = ..() - if(.) - return - if(!iscultist(user)) - to_chat(user, "You aren't able to understand the words of [src].") - return - var/list/invokers = can_invoke(user) - if(invokers.len >= req_cultists) - invoke(invokers) - else - to_chat(user, "You need [req_cultists - invokers.len] more adjacent cultists to use this rune in such a manner.") - fail_invoke() - -/obj/effect/rune/attack_animal(mob/living/simple_animal/M) - if(istype(M, /mob/living/simple_animal/shade) || istype(M, /mob/living/simple_animal/hostile/construct)) - if(istype(M, /mob/living/simple_animal/hostile/construct/wraith/angelic) || istype(M, /mob/living/simple_animal/hostile/construct/juggernaut/angelic) || istype(M, /mob/living/simple_animal/hostile/construct/artificer/angelic)) - to_chat(M, "You purge the rune!") - qdel(src) - else if(construct_invoke || !iscultist(M)) //if you're not a cult construct we want the normal fail message - attack_hand(M) - else - to_chat(M, "You are unable to invoke the rune!") - -/obj/effect/rune/proc/conceal() //for talisman of revealing/hiding - visible_message("[src] fades away.") - invisibility = INVISIBILITY_OBSERVER - alpha = 100 //To help ghosts distinguish hidden runes - -/obj/effect/rune/proc/reveal() //for talisman of revealing/hiding - invisibility = 0 - visible_message("[src] suddenly appears!") - alpha = initial(alpha) - -/* - -There are a few different procs each rune runs through when a cultist activates it. -can_invoke() is called when a cultist activates the rune with an empty hand. If there are multiple cultists, this rune determines if the required amount is nearby. -invoke() is the rune's actual effects. -fail_invoke() is called when the rune fails, via not enough people around or otherwise. Typically this just has a generic 'fizzle' effect. -structure_check() searches for nearby cultist structures required for the invocation. Proper structures are pylons, forges, archives, and altars. - -*/ - -/obj/effect/rune/proc/can_invoke(mob/living/user=null) - //This proc determines if the rune can be invoked at the time. If there are multiple required cultists, it will find all nearby cultists. - var/list/invokers = list() //people eligible to invoke the rune - if(user) - invokers += user - if(req_cultists > 1 || istype(src, /obj/effect/rune/convert)) - var/list/things_in_range = range(1, src) - for(var/mob/living/L in things_in_range) - if(iscultist(L)) - if(L == user) - continue - if(ishuman(L)) - var/mob/living/carbon/human/H = L - if((HAS_TRAIT(H, TRAIT_MUTE)) || H.silent) - continue - if(L.stat) - continue - invokers += L - return invokers - -/obj/effect/rune/proc/invoke(list/invokers) - //This proc contains the effects of the rune as well as things that happen afterwards. If you want it to spawn an object and then delete itself, have both here. - for(var/M in invokers) - if(isliving(M)) - var/mob/living/L = M - if(invocation) - L.say(invocation, language = /datum/language/common, ignore_spam = TRUE, forced = "cult invocation") - if(invoke_damage) - L.apply_damage(invoke_damage, BRUTE) - to_chat(L, "[src] saps your strength!") - else if(istype(M, /obj/item/toy/plush/narplush)) - var/obj/item/toy/plush/narplush/P = M - P.visible_message("[P] squeaks loudly!") - do_invoke_glow() - -/obj/effect/rune/proc/do_invoke_glow() - set waitfor = FALSE - animate(src, transform = matrix()*2, alpha = 0, time = 5, flags = ANIMATION_END_NOW) //fade out - sleep(5) - animate(src, transform = matrix(), alpha = 255, time = 0, flags = ANIMATION_END_NOW) - -/obj/effect/rune/proc/fail_invoke() - //This proc contains the effects of a rune if it is not invoked correctly, through either invalid wording or not enough cultists. By default, it's just a basic fizzle. - visible_message("The markings pulse with a small flash of red light, then fall dark.") - var/oldcolor = color - color = rgb(255, 0, 0) - animate(src, color = oldcolor, time = 5) - addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 5) - -//Malformed Rune: This forms if a rune is not drawn correctly. Invoking it does nothing but hurt the user. -/obj/effect/rune/malformed - cultist_name = "malformed rune" - cultist_desc = "a senseless rune written in gibberish. No good can come from invoking this." - invocation = "Ra'sha yoka!" - invoke_damage = 30 - -/obj/effect/rune/malformed/Initialize(mapload, set_keyword) - . = ..() - icon_state = "[rand(1,7)]" - color = rgb(rand(0,255), rand(0,255), rand(0,255)) - -/obj/effect/rune/malformed/invoke(list/invokers) - ..() - qdel(src) - -//Rite of Offering: Converts or sacrifices a target. -/obj/effect/rune/convert - cultist_name = "Offer" - cultist_desc = "offers a noncultist above it to Nar'Sie, either converting them or sacrificing them." - req_cultists_text = "2 for conversion, 3 for living sacrifices and sacrifice targets." - invocation = "Mah'weyh pleggh at e'ntrath!" - icon_state = "3" - color = RUNE_COLOR_OFFER - req_cultists = 1 - rune_in_use = FALSE - -/obj/effect/rune/convert/do_invoke_glow() - return - -/obj/effect/rune/convert/invoke(list/invokers) - if(rune_in_use) - return - var/list/myriad_targets = list() - var/turf/T = get_turf(src) - for(var/mob/living/M in T) - if(!iscultist(M)) - myriad_targets |= M - if(!myriad_targets.len) - fail_invoke() - log_game("Offer rune failed - no eligible targets") - return - rune_in_use = TRUE - visible_message("[src] pulses blood red!") - var/oldcolor = color - color = RUNE_COLOR_DARKRED - var/mob/living/L = pick(myriad_targets) - - var/mob/living/F = invokers[1] - var/datum/antagonist/cult/C = F.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - var/datum/team/cult/Cult_team = C.cult_team - var/is_convertable = is_convertable_to_cult(L,C.cult_team) - if(L.stat != DEAD && is_convertable) - invocation = "Mah'weyh pleggh at e'ntrath!" - ..() - if(is_convertable) - do_convert(L, invokers) - else - invocation = "Barhah hra zar'garis!" - ..() - do_sacrifice(L, invokers) - animate(src, color = oldcolor, time = 5) - addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 5) - Cult_team.check_size() // Triggers the eye glow or aura effects if the cult has grown large enough relative to the crew - rune_in_use = FALSE - -/obj/effect/rune/convert/proc/do_convert(mob/living/convertee, list/invokers) - if(invokers.len < 2) - for(var/M in invokers) - to_chat(M, "You need at least two invokers to convert [convertee]!") - log_game("Offer rune failed - tried conversion with one invoker") - return 0 - if(convertee.anti_magic_check(TRUE, TRUE, FALSE, 0)) //Not chargecost because it can be spammed - for(var/M in invokers) - to_chat(M, "Something is shielding [convertee]'s mind!") - log_game("Offer rune failed - convertee had anti-magic") - return 0 - var/brutedamage = convertee.getBruteLoss() - var/burndamage = convertee.getFireLoss() - if(brutedamage || burndamage) - convertee.adjustBruteLoss(-(brutedamage * 0.75)) - convertee.adjustFireLoss(-(burndamage * 0.75)) - convertee.visible_message( - "[convertee] writhes in pain [brutedamage || burndamage ? "even as [convertee.p_their()] wounds heal and close" : "as the markings below [convertee.p_them()] glow a bloody red"]!", // Hello there buddy! Come here often? I hope you were wondering wtf this string was - "AAAAAAAAAAAAAA-") - SSticker.mode.add_cultist(convertee.mind, 1) - new /obj/item/melee/cultblade/dagger(get_turf(src)) - convertee.mind.special_role = ROLE_CULTIST - to_chat(convertee, "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible, truth. The veil of reality has been ripped away \ - and something evil takes root.") - to_chat(convertee, "Assist your new compatriots in their dark dealings. Your goal is theirs, and theirs is yours. You serve the Geometer above all else. Bring it back.\ - ") - if(ishuman(convertee)) - var/mob/living/carbon/human/H = convertee - H.uncuff() - H.stuttering = 0 - H.cultslurring = 0 - if(prob(1) || SSevents.holidays && SSevents.holidays[APRIL_FOOLS]) - H.say("You son of a bitch! I'm in.", forced = "That son of a bitch! They're in.") - return 1 - -/obj/effect/rune/convert/proc/do_sacrifice(mob/living/sacrificial, list/invokers) - var/mob/living/first_invoker = invokers[1] - if(!first_invoker) - return FALSE - var/datum/antagonist/cult/C = first_invoker.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(!C) - return - - - var/big_sac = FALSE - if((((ishuman(sacrificial) || iscyborg(sacrificial)) && sacrificial.stat != DEAD) || C.cult_team.is_sacrifice_target(sacrificial.mind)) && invokers.len < 3) - for(var/M in invokers) - to_chat(M, "[sacrificial] is too greatly linked to the world! You need three acolytes!") - log_game("Offer rune failed - not enough acolytes and target is living or sac target") - return FALSE - if(sacrificial.mind) - GLOB.sacrificed += sacrificial.mind - for(var/datum/objective/sacrifice/sac_objective in C.cult_team.objectives) - if(sac_objective.target == sacrificial.mind) - sac_objective.sacced = TRUE - sac_objective.update_explanation_text() - big_sac = TRUE - else - GLOB.sacrificed += sacrificial - - new /obj/effect/temp_visual/cult/sac(get_turf(src)) - for(var/M in invokers) - if(big_sac) - to_chat(M, "\"Yes! This is the one I desire! You have done well.\"") - else - if(ishuman(sacrificial) || iscyborg(sacrificial)) - to_chat(M, "\"I accept this sacrifice.\"") - else - to_chat(M, "\"I accept this meager sacrifice.\"") - - var/obj/item/soulstone/stone = new /obj/item/soulstone(get_turf(src)) - if(sacrificial.mind) - stone.invisibility = INVISIBILITY_MAXIMUM //so it's not picked up during transfer_soul() - stone.transfer_soul("FORCE", sacrificial, usr) - stone.invisibility = 0 - - if(sacrificial) - if(iscyborg(sacrificial)) - playsound(sacrificial, 'sound/magic/disable_tech.ogg', 100, TRUE) - sacrificial.dust() //To prevent the MMI from remaining - else - playsound(sacrificial, 'sound/magic/disintegrate.ogg', 100, TRUE) - sacrificial.gib() - return TRUE - - - -/obj/effect/rune/empower - cultist_name = "Empower" - cultist_desc = "allows cultists to prepare greater amounts of blood magic at far less of a cost." - invocation = "H'drak v'loso, mir'kanas verbot!" - icon_state = "3" - color = RUNE_COLOR_TALISMAN - construct_invoke = FALSE - -/obj/effect/rune/empower/invoke(list/invokers) - . = ..() - var/mob/living/user = invokers[1] //the first invoker is always the user - for(var/datum/action/innate/cult/blood_magic/BM in user.actions) - BM.Activate() - -/obj/effect/rune/teleport - cultist_name = "Teleport" - cultist_desc = "warps everything above it to another chosen teleport rune." - invocation = "Sas'so c'arta forbici!" - icon_state = "2" - color = RUNE_COLOR_TELEPORT - req_keyword = TRUE - light_power = 4 - var/obj/effect/temp_visual/cult/portal/inner_portal //The portal "hint" for off-station teleportations - var/obj/effect/temp_visual/cult/rune_spawn/rune2/outer_portal - var/listkey - - -/obj/effect/rune/teleport/Initialize(mapload, set_keyword) - . = ..() - var/area/A = get_area(src) - var/locname = initial(A.name) - listkey = set_keyword ? "[set_keyword] [locname]":"[locname]" - GLOB.teleport_runes += src - -/obj/effect/rune/teleport/Destroy() - GLOB.teleport_runes -= src - return ..() - -/obj/effect/rune/teleport/invoke(list/invokers) - var/mob/living/user = invokers[1] //the first invoker is always the user - var/list/potential_runes = list() - var/list/teleportnames = list() - for(var/R in GLOB.teleport_runes) - var/obj/effect/rune/teleport/T = R - if(T != src && !is_away_level(T)) - potential_runes[avoid_assoc_duplicate_keys(T.listkey, teleportnames)] = T - - if(!potential_runes.len) - to_chat(user, "There are no valid runes to teleport to!") - log_game("Teleport rune failed - no other teleport runes") - fail_invoke() - return - - var/turf/T = get_turf(src) - if(is_away_level(T)) - to_chat(user, "You are not in the right dimension!") - log_game("Teleport rune failed - user in away mission") - fail_invoke() - return - - var/input_rune_key = input(user, "Choose a rune to teleport to.", "Rune to Teleport to") as null|anything in potential_runes //we know what key they picked - var/obj/effect/rune/teleport/actual_selected_rune = potential_runes[input_rune_key] //what rune does that key correspond to? - if(!Adjacent(user) || !src || QDELETED(src) || user.incapacitated() || !actual_selected_rune) - fail_invoke() - return - - var/turf/target = get_turf(actual_selected_rune) - if(target.is_blocked_turf(TRUE)) - to_chat(user, "The target rune is blocked. Attempting to teleport to it would be massively unwise.") - fail_invoke() - return - var/movedsomething = FALSE - var/moveuserlater = FALSE - var/movesuccess = FALSE - for(var/atom/movable/A in T) - if(istype(A, /obj/effect/dummy/phased_mob)) - continue - if(ismob(A)) - if(!isliving(A)) //Let's not teleport ghosts and AI eyes. - continue - if(ishuman(A)) - new /obj/effect/temp_visual/dir_setting/cult/phase/out(T, A.dir) - new /obj/effect/temp_visual/dir_setting/cult/phase(target, A.dir) - if(A == user) - moveuserlater = TRUE - movedsomething = TRUE - continue - if(!A.anchored) - movedsomething = TRUE - if(do_teleport(A, target, channel = TELEPORT_CHANNEL_CULT)) - movesuccess = TRUE - if(movedsomething) - ..() - if(moveuserlater) - if(do_teleport(user, target, channel = TELEPORT_CHANNEL_CULT)) - movesuccess = TRUE - if(movesuccess) - visible_message("There is a sharp crack of inrushing air, and everything above the rune disappears!", null, "You hear a sharp crack.") - to_chat(user, "You[moveuserlater ? "r vision blurs, and you suddenly appear somewhere else":" send everything above the rune away"].") - else - to_chat(user, "You[moveuserlater ? "r vision blurs briefly, but nothing happens":" try send everything above the rune away, but the teleportation fails"].") - var/area/A = get_area(T) - if(initial(A.name) == "Space") - actual_selected_rune.handle_portal("space", T) - if(movesuccess) - target.visible_message("There is a boom of outrushing air as something appears above the rune!", null, "You hear a boom.") - else - fail_invoke() - -/obj/effect/rune/teleport/proc/handle_portal(portal_type, turf/origin) - var/turf/T = get_turf(src) - close_portal() // To avoid stacking descriptions/animations - playsound(T, pick('sound/effects/sparks1.ogg', 'sound/effects/sparks2.ogg', 'sound/effects/sparks3.ogg', 'sound/effects/sparks4.ogg'), 100, TRUE, 14) - inner_portal = new /obj/effect/temp_visual/cult/portal(T) - if(portal_type == "space") - set_light_color(color) - desc += "
    A tear in reality reveals a black void interspersed with dots of light... something recently teleported here from space.
    The void feels like it's trying to pull you to the [dir2text(get_dir(T, origin))]!
    " - else - inner_portal.icon_state = "lava" - set_light_color(LIGHT_COLOR_FIRE) - desc += "
    A tear in reality reveals a coursing river of lava... something recently teleported here from the Lavaland Mines!" - outer_portal = new(T, 600, color) - light_range = 4 - update_light() - addtimer(CALLBACK(src, PROC_REF(close_portal)), 600, TIMER_UNIQUE) - -/obj/effect/rune/teleport/proc/close_portal() - qdel(inner_portal) - qdel(outer_portal) - desc = initial(desc) - light_range = 0 - update_light() - -//Ritual of Dimensional Rending: Calls forth the avatar of Nar'Sie upon the station. -/obj/effect/rune/narsie - cultist_name = "Nar'Sie" - cultist_desc = "tears apart dimensional barriers, calling forth the Geometer. Requires 9 invokers." - invocation = "TOK-LYR RQA-NAP G'OLT-ULOFT!!" - req_cultists = 9 - icon = 'icons/effects/96x96.dmi' - color = RUNE_COLOR_DARKRED - icon_state = "rune_large" - pixel_x = -32 //So the big ol' 96x96 sprite shows up right - pixel_y = -32 - scribe_delay = 500 //how long the rune takes to create - scribe_damage = 40.1 //how much damage you take doing it - var/used = FALSE - -/obj/effect/rune/narsie/Initialize(mapload, set_keyword) - . = ..() - GLOB.poi_list |= src - -/obj/effect/rune/narsie/Destroy() - GLOB.poi_list -= src - . = ..() - -/obj/effect/rune/narsie/conceal() //can't hide this, and you wouldn't want to - return - -/obj/effect/rune/narsie/invoke(list/invokers) - if(used) - return - var/mob/living/user = invokers[1] - var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives - var/area/place = get_area(src) - if(!(place in summon_objective.summon_spots)) - to_chat(user, "The Geometer can only be summoned where the veil is weak - in [english_list(summon_objective.summon_spots)]!") - return - if(locate(/obj/singularity/narsie) in GLOB.poi_list) - for(var/M in invokers) - to_chat(M, "Nar'Sie is already on this plane!") - log_game("Nar'Sie rune failed - already summoned") - return - //BEGIN THE SUMMONING - used = TRUE - ..() - sound_to_playing_players('sound/effects/dimensional_rend.ogg') - var/turf/T = get_turf(src) - sleep(40) - if(src) - color = RUNE_COLOR_RED - new /obj/singularity/narsie/large/cult(T) //Causes Nar'Sie to spawn even if the rune has been removed - -/obj/effect/rune/narsie/attackby(obj/I, mob/user, params) //Since the narsie rune takes a long time to make, add logging to removal. - if((istype(I, /obj/item/melee/cultblade/dagger) && iscultist(user))) - user.visible_message("[user.name] begins erasing [src]...", "You begin erasing [src]...") - if(do_after(user, 50, target = src)) //Prevents accidental erasures. - log_game("Summon Narsie rune erased by [key_name(user)] with [I.name]") - message_admins("[ADMIN_LOOKUPFLW(user)] erased a Narsie rune with [I.name]") - else - ..() - -//Rite of Resurrection: Requires a dead or inactive cultist. When reviving the dead, you can only perform one revival for every three sacrifices your cult has carried out. -/obj/effect/rune/raise_dead - cultist_name = "Revive" - cultist_desc = "requires a dead, mindless, or inactive cultist placed upon the rune. For each three bodies sacrificed to the dark patron, one body will be mended and their mind awoken" - invocation = "Pasnar val'keriam usinar. Savrae ines amutan. Yam'toth remium il'tarat!" //Depends on the name of the user - see below - icon_state = "1" - color = RUNE_COLOR_MEDIUMRED - var/static/sacrifices_used = -SOULS_TO_REVIVE // Cultists get one "free" revive - -/obj/effect/rune/raise_dead/examine(mob/user) - . = ..() - if(iscultist(user) || user.stat == DEAD) - . += "Sacrifices unrewarded: [LAZYLEN(GLOB.sacrificed) - sacrifices_used]" - -/obj/effect/rune/raise_dead/invoke(list/invokers) - var/turf/T = get_turf(src) - var/mob/living/mob_to_revive - var/list/potential_revive_mobs = list() - var/mob/living/user = invokers[1] - if(rune_in_use) - return - rune_in_use = TRUE - for(var/mob/living/M in T.contents) - if(iscultist(M) && (M.stat == DEAD || !M.client || M.client.is_afk())) - potential_revive_mobs |= M - if(!potential_revive_mobs.len) - to_chat(user, "There are no dead cultists on the rune!") - log_game("Raise Dead rune failed - no cultists to revive") - fail_invoke() - return - if(potential_revive_mobs.len > 1) - mob_to_revive = input(user, "Choose a cultist to revive.", "Cultist to Revive") as null|anything in potential_revive_mobs - else - mob_to_revive = potential_revive_mobs[1] - if(QDELETED(src) || !validness_checks(mob_to_revive, user)) - fail_invoke() - return - if(user.name == "Herbert West") - invocation = "To life, to life, I bring them!" - else - invocation = initial(invocation) - ..() - if(mob_to_revive.stat == DEAD) - var/diff = LAZYLEN(GLOB.sacrificed) - SOULS_TO_REVIVE - sacrifices_used - if(diff < 0) - to_chat(user, "Your cult must carry out [abs(diff)] more sacrifice\s before it can revive another cultist!") - fail_invoke() - return - sacrifices_used += SOULS_TO_REVIVE - mob_to_revive.revive(full_heal = TRUE, admin_revive = TRUE) //This does remove traits and such, but the rune might actually see some use because of it! - mob_to_revive.grab_ghost() - if(!mob_to_revive.client || mob_to_revive.client.is_afk()) - set waitfor = FALSE - var/list/mob/dead/observer/candidates = pollCandidatesForMob("Do you want to play as a [mob_to_revive.name], an inactive blood cultist?", ROLE_CULTIST, null, ROLE_CULTIST, 50, mob_to_revive) - if(LAZYLEN(candidates)) - var/mob/dead/observer/C = pick(candidates) - to_chat(mob_to_revive.mind, "Your physical form has been taken over by another soul due to your inactivity! Ahelp if you wish to regain your form.") - message_admins("[key_name_admin(C)] has taken control of ([key_name_admin(mob_to_revive)]) to replace an AFK player.") - mob_to_revive.ghostize(0) - mob_to_revive.key = C.key - else - fail_invoke() - return - SEND_SOUND(mob_to_revive, 'sound/ambience/antag/bloodcult.ogg') - to_chat(mob_to_revive, "\"PASNAR SAVRAE YAM'TOTH. Arise.\"") - mob_to_revive.visible_message( - "[mob_to_revive] draws in a huge breath, red light shining from [mob_to_revive.p_their()] eyes.", \ - "You awaken suddenly from the void. You're alive!") - rune_in_use = FALSE - -/obj/effect/rune/raise_dead/proc/validness_checks(mob/living/target_mob, mob/living/user) - var/turf/T = get_turf(src) - if(QDELETED(user)) - return FALSE - if(!Adjacent(user) || user.incapacitated()) - return FALSE - if(QDELETED(target_mob)) - return FALSE - if(!(target_mob in T.contents)) - to_chat(user, "The cultist to revive has been moved!") - log_game("Raise Dead rune failed - revival target moved") - return FALSE - return TRUE - -/obj/effect/rune/raise_dead/fail_invoke() - ..() - rune_in_use = FALSE - for(var/mob/living/M in range(1,src)) - if(iscultist(M) && M.stat == DEAD) - M.visible_message("[M] twitches.") - -//Rite of the Corporeal Shield: When invoked, becomes solid and cannot be passed. Invoke again to undo. -/obj/effect/rune/wall - cultist_name = "Barrier" - cultist_desc = "when invoked, makes a temporary invisible wall to block passage. Can be invoked again to reverse this." - invocation = "Khari'd! Eske'te tannin!" - icon_state = "4" - color = RUNE_COLOR_DARKRED - CanAtmosPass = ATMOS_PASS_DENSITY - var/datum/timedevent/density_timer - var/recharging = FALSE - -/obj/effect/rune/wall/Initialize(mapload, set_keyword) - . = ..() - GLOB.wall_runes += src - -/obj/effect/rune/wall/examine(mob/user) - . = ..() - if(density && iscultist(user)) - if(density_timer) - . += "The air above this rune has hardened into a barrier that will last [DisplayTimeText(density_timer.timeToRun - world.time)]." - -/obj/effect/rune/wall/Destroy() - GLOB.wall_runes -= src - return ..() - -/obj/effect/rune/wall/BlockThermalConductivity() - return density - -/obj/effect/rune/wall/invoke(list/invokers) - if(recharging) - return - var/mob/living/user = invokers[1] - ..() - density = !density - update_state() - if(density) - spread_density() - var/carbon_user = iscarbon(user) - user.visible_message( - "[user] [carbon_user ? "places [user.p_their()] hands on":"stares intently at"] [src], and [density ? "the air above it begins to shimmer" : "the shimmer above it fades"].", \ - "You channel [carbon_user ? "your life ":""]energy into [src], [density ? "temporarily preventing" : "allowing"] passage above it.") - if(carbon_user) - var/mob/living/carbon/C = user - C.apply_damage(2, BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) - -/obj/effect/rune/wall/proc/spread_density() - for(var/R in GLOB.wall_runes) - var/obj/effect/rune/wall/W = R - if(W.virtual_z() == virtual_z() && get_dist(src, W) <= 2 && !W.density && !W.recharging) - W.density = TRUE - W.update_state() - W.spread_density() - density_timer = addtimer(CALLBACK(src, PROC_REF(lose_density)), 3000, TIMER_STOPPABLE) - -/obj/effect/rune/wall/proc/lose_density() - if(density) - recharging = TRUE - density = FALSE - update_state() - var/oldcolor = color - add_atom_colour("#696969", FIXED_COLOUR_PRIORITY) - animate(src, color = oldcolor, time = 50, easing = EASE_IN) - addtimer(CALLBACK(src, PROC_REF(recharge)), 50) - -/obj/effect/rune/wall/proc/recharge() - recharging = FALSE - add_atom_colour(RUNE_COLOR_MEDIUMRED, FIXED_COLOUR_PRIORITY) - -/obj/effect/rune/wall/proc/update_state() - deltimer(density_timer) - air_update_turf(TRUE) - if(density) - var/mutable_appearance/shimmer = mutable_appearance('icons/effects/effects.dmi', "barriershimmer", ABOVE_MOB_LAYER) - shimmer.appearance_flags |= RESET_COLOR - shimmer.alpha = 60 - shimmer.color = "#701414" - add_overlay(shimmer) - add_atom_colour(RUNE_COLOR_RED, FIXED_COLOUR_PRIORITY) - else - cut_overlays() - add_atom_colour(RUNE_COLOR_MEDIUMRED, FIXED_COLOUR_PRIORITY) - -//Rite of Joined Souls: Summons a single cultist. -/obj/effect/rune/summon - cultist_name = "Summon Cultist" - cultist_desc = "summons a single cultist to the rune. Requires 2 invokers." - invocation = "N'ath reth sh'yro eth d'rekkathnor!" - req_cultists = 2 - invoke_damage = 10 - icon_state = "3" - color = RUNE_COLOR_SUMMON - -/obj/effect/rune/summon/invoke(list/invokers) - var/mob/living/user = invokers[1] - var/list/cultists = list() - for(var/datum/mind/M in SSticker.mode.cult) - if(!(M.current in invokers) && M.current && M.current.stat != DEAD) - cultists |= M.current - var/mob/living/cultist_to_summon = input(user, "Who do you wish to call to [src]?", "Followers of the Geometer") as null|anything in cultists - if(!Adjacent(user) || !src || QDELETED(src) || user.incapacitated()) - return - if(!cultist_to_summon) - to_chat(user, "You require a summoning target!") - fail_invoke() - log_game("Summon Cultist rune failed - no target") - return - if(cultist_to_summon.stat == DEAD) - to_chat(user, "[cultist_to_summon] has died!") - fail_invoke() - log_game("Summon Cultist rune failed - target died") - return - if(cultist_to_summon.pulledby || cultist_to_summon.buckled) - to_chat(user, "[cultist_to_summon] is being held in place!") - fail_invoke() - log_game("Summon Cultist rune failed - target restrained") - return - if(!iscultist(cultist_to_summon)) - to_chat(user, "[cultist_to_summon] is not a follower of the Geometer!") - fail_invoke() - log_game("Summon Cultist rune failed - target was deconverted") - return - if(is_away_level(cultist_to_summon)) - to_chat(user, "[cultist_to_summon] is not in our dimension!") - fail_invoke() - log_game("Summon Cultist rune failed - target in away mission") - return - cultist_to_summon.visible_message( - "[cultist_to_summon] suddenly disappears in a flash of red light!", \ - "Overwhelming vertigo consumes you as you are hurled through the air!") - ..() - visible_message("A foggy shape materializes atop [src] and solidifes into [cultist_to_summon]!") - cultist_to_summon.forceMove(get_turf(src)) - qdel(src) - -//Rite of Boiling Blood: Deals extremely high amounts of damage to non-cultists nearby -/obj/effect/rune/blood_boil - cultist_name = "Boil Blood" - cultist_desc = "boils the blood of non-believers who can see the rune, rapidly dealing extreme amounts of damage. Requires 3 invokers." - invocation = "Dedo ol'btoh!" - icon_state = "4" - color = RUNE_COLOR_BURNTORANGE - light_color = LIGHT_COLOR_LAVA - req_cultists = 3 - invoke_damage = 10 - construct_invoke = FALSE - var/tick_damage = 25 - rune_in_use = FALSE - -/obj/effect/rune/blood_boil/do_invoke_glow() - return - -/obj/effect/rune/blood_boil/invoke(list/invokers) - if(rune_in_use) - return - ..() - rune_in_use = TRUE - var/turf/T = get_turf(src) - visible_message("[src] turns a bright, glowing orange!") - color = "#FC9B54" - set_light(6, 1, color) - for(var/mob/living/L in viewers(T)) - if(!iscultist(L) && L.blood_volume) - var/atom/I = L.anti_magic_check(chargecost = 0) - if(I) - if(isitem(I)) - to_chat(L, "[I] suddenly burns hotly before returning to normal!") - continue - to_chat(L, "Your blood boils in your veins!") - animate(src, color = "#FCB56D", time = 4) - sleep(4) - if(QDELETED(src)) - return - do_area_burn(T, 0.5) - animate(src, color = "#FFDF80", time = 5) - sleep(5) - if(QDELETED(src)) - return - do_area_burn(T, 1) - animate(src, color = "#FFFDF4", time = 6) - sleep(6) - if(QDELETED(src)) - return - do_area_burn(T, 1.5) - new /obj/effect/hotspot(T) - qdel(src) - -/obj/effect/rune/blood_boil/proc/do_area_burn(turf/T, multiplier) - set_light(6, 1, color) - for(var/mob/living/L in viewers(T)) - if(!iscultist(L) && L.blood_volume) - if(L.anti_magic_check(chargecost = 0)) - continue - L.take_overall_damage(tick_damage*multiplier, tick_damage*multiplier) - -//Rite of Spectral Manifestation: Summons a ghost on top of the rune as a cultist human with no items. User must stand on the rune at all times, and takes damage for each summoned ghost. -/obj/effect/rune/manifest - cultist_name = "Spirit Realm" - cultist_desc = "manifests a spirit servant of the Geometer and allows you to ascend as a spirit yourself. The invoker must not move from atop the rune, and will take damage for each summoned spirit." - invocation = "Gal'h'rfikk harfrandid mud'gib!" //how the fuck do you pronounce this - icon_state = "7" - invoke_damage = 10 - construct_invoke = FALSE - color = RUNE_COLOR_DARKRED - var/mob/living/affecting = null - var/ghost_limit = 3 - var/ghosts = 0 - -/obj/effect/rune/manifest/Initialize() - . = ..() - - -/obj/effect/rune/manifest/can_invoke(mob/living/user) - if(!(user in get_turf(src))) - to_chat(user, "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(STATUS_EFFECT_SUMMONEDGHOST)) - to_chat(user, "Ghosts can't summon more ghosts!") - fail_invoke() - log_game("Manifest rune failed - user is a ghost") - return list() - return ..() - -/obj/effect/rune/manifest/invoke(list/invokers) - . = ..() - var/mob/living/user = invokers[1] - var/turf/T = get_turf(src) - var/choice = alert(user,"You tear open a connection to the spirit realm...",,"Summon a Cult Ghost","Ascend as a Dark Spirit","Cancel") - if(choice == "Summon a Cult Ghost") - if(ghosts >= ghost_limit) - to_chat(user, "You are sustaining too many ghosts to summon more!") - fail_invoke() - log_game("Manifest rune failed - too many summoned ghosts") - return list() - notify_ghosts("Manifest rune invoked in [get_area(src)].", 'sound/effects/ghost2.ogg', source = src, header = "Manifest rune") - var/list/ghosts_on_rune = list() - for(var/mob/dead/observer/O in T) - if(O.client && !is_banned_from(O.ckey, ROLE_CULTIST) && !QDELETED(src) && !(isAdminObserver(O) && (O.client.prefs.toggles & ADMIN_IGNORE_CULT_GHOST)) && !QDELETED(O)) - ghosts_on_rune += O - if(!ghosts_on_rune.len) - to_chat(user, "There are no spirits near [src]!") - fail_invoke() - log_game("Manifest rune failed - no nearby ghosts") - return list() - var/mob/dead/observer/ghost_to_spawn = pick(ghosts_on_rune) - var/mob/living/carbon/human/cult_ghost/new_human = new(T) - new_human.real_name = ghost_to_spawn.real_name - new_human.alpha = 150 //Makes them translucent - new_human.equipOutfit(/datum/outfit/ghost_cultist) //give them armor - new_human.apply_status_effect(STATUS_EFFECT_SUMMONEDGHOST) //ghosts can't summon more ghosts - new_human.see_invisible = SEE_INVISIBLE_OBSERVER - ghosts++ - playsound(src, 'sound/magic/exit_blood.ogg', 50, TRUE) - visible_message("A cloud of red mist forms above [src], and from within steps... a [new_human.gender == FEMALE ? "wo":""]man.") - to_chat(user, "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/invoker/N = new(T) - new_human.key = ghost_to_spawn.key - SSticker.mode.add_cultist(new_human.mind, 0) - to_chat(new_human, "You are a servant of the Geometer. You have been made semi-corporeal by the cult of Nar'Sie, and you are to serve them at all costs.") - - while(!QDELETED(src) && !QDELETED(user) && !QDELETED(new_human) && (user in T)) - if(user.stat != CONSCIOUS || HAS_TRAIT(new_human, TRAIT_CRITICAL_CONDITION)) - break - user.apply_damage(0.1, BRUTE) - sleep(1) - - qdel(N) - ghosts-- - if(new_human) - new_human.visible_message( - "[new_human] suddenly dissolves into bones and ashes.", \ - "Your link to the world fades. Your form breaks apart.") - for(var/obj/I in new_human) - new_human.dropItemToGround(I, TRUE) - new_human.dust() - else if(choice == "Ascend as a Dark Spirit") - affecting = user - affecting.add_atom_colour(RUNE_COLOR_DARKRED, ADMIN_COLOUR_PRIORITY) - affecting.visible_message( - "[affecting] freezes statue-still, glowing an unearthly red.", \ - "You see what lies beyond. All is revealed. In this form you find that your voice booms louder and you can mark targets for the entire cult") - var/mob/dead/observer/G = affecting.ghostize(1) - var/datum/action/innate/cult/comm/spirit/CM = new - var/datum/action/innate/cult/ghostmark/GM = new - G.name = "Dark Spirit of [G.name]" - G.color = "red" - CM.Grant(G) - GM.Grant(G) - while(!QDELETED(affecting)) - if(!(affecting in T)) - user.visible_message("A spectral tendril wraps around [affecting] and pulls [affecting.p_them()] back to the rune!") - Beam(affecting, icon_state="drainbeam", time=2) - affecting.forceMove(get_turf(src)) //NO ESCAPE :^) - if(affecting.key) - affecting.visible_message( - "[affecting] slowly relaxes, the glow around [affecting.p_them()] dimming.", \ - "You are re-united with your physical form. [src] releases its hold over you.") - affecting.Paralyze(40) - break - if(affecting.health <= 10) - to_chat(G, "Your body can no longer sustain the connection!") - break - sleep(5) - CM.Remove(G) - GM.Remove(G) - affecting.remove_atom_colour(ADMIN_COLOUR_PRIORITY, RUNE_COLOR_DARKRED) - affecting.grab_ghost() - affecting = null - rune_in_use = FALSE - -/mob/living/carbon/human/cult_ghost/spill_organs(no_brain, no_organs, no_bodyparts) //cult ghosts never drop a brain - no_brain = TRUE - . = ..() - -/mob/living/carbon/human/cult_ghost/getorganszone(zone, subzones = 0) - . = ..() - for(var/obj/item/organ/brain/B in .) //they're not that smart, really - . -= B - - -/obj/effect/rune/apocalypse - cultist_name = "Apocalypse" - cultist_desc = "a harbinger of the end times. Grows in strength with the cult's desperation - but at the risk of... side effects." - invocation = "Ta'gh fara'qha fel d'amar det!" - icon = 'icons/effects/96x96.dmi' - icon_state = "apoc" - pixel_x = -32 - pixel_y = -32 - color = RUNE_COLOR_DARKRED - req_cultists = 3 - scribe_delay = 100 - -/obj/effect/rune/apocalypse/invoke(list/invokers) - if(rune_in_use) - return - . = ..() - var/area/place = get_area(src) - var/mob/living/user = invokers[1] - var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives - if(summon_objective.summon_spots.len <= 1) - to_chat(user, "Only one ritual site remains - it must be reserved for the final summoning!") - return - if(!(place in summon_objective.summon_spots)) - to_chat(user, "The Apocalypse rune will remove a ritual site, where Nar'Sie can be summoned, it can only be scribed in [english_list(summon_objective.summon_spots)]!") - return - summon_objective.summon_spots -= place - rune_in_use = TRUE - var/turf/T = get_turf(src) - new /obj/effect/temp_visual/dir_setting/curse/grasp_portal/fading(T) - var/intensity = 0 - for(var/mob/living/M in GLOB.player_list) - if(iscultist(M)) - intensity++ - intensity = max(60, 360 - (360*(intensity/GLOB.player_list.len + 0.3)**2)) //significantly lower intensity for "winning" cults - var/duration = intensity*10 - playsound(T, 'sound/magic/enter_blood.ogg', 100, TRUE) - visible_message("A colossal shockwave of energy bursts from the rune, disintegrating it in the process!") - for(var/mob/living/L in range(src, 3)) - L.Paralyze(30) - empulse(T, 0.42*(intensity), 1) - var/list/images = list() - var/zmatch = T.virtual_z() - var/datum/atom_hud/AH = GLOB.huds[DATA_HUD_SECURITY_ADVANCED] - for(var/mob/living/M in GLOB.alive_mob_list) - if(M.virtual_z() != zmatch) - continue - if(ishuman(M)) - if(!iscultist(M)) - AH.remove_hud_from(M) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(hudFix), M), duration) - var/image/A = image('icons/mob/cult.dmi',M,"cultist", ABOVE_MOB_LAYER) - A.override = 1 - 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.ogg'),sound('sound/spookoween/ghost_whisper.ogg'),sound('sound/spookoween/ghosty_wind.ogg'))) - else - var/construct = pick("floater","artificer","behemoth") - var/image/B = image('icons/mob/mob.dmi',M,construct, ABOVE_MOB_LAYER) - B.override = 1 - add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/noncult, "mob_apoc", B, NONE) - addtimer(CALLBACK(M, TYPE_PROC_REF(/atom, remove_alt_appearance),"mob_apoc",TRUE), duration) - images += B - if(!iscultist(M)) - if(M.client) - var/image/C = image('icons/effects/cult_effects.dmi',M,"bloodsparkles", ABOVE_MOB_LAYER) - add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/cult, "cult_apoc", C, NONE) - addtimer(CALLBACK(M, TYPE_PROC_REF(/atom, remove_alt_appearance),"cult_apoc",TRUE), duration) - images += C - else - to_chat(M, "An Apocalypse Rune was invoked in the [place.name], it is no longer available as a summoning site!") - SEND_SOUND(M, 'sound/effects/pope_entry.ogg') - image_handler(images, duration) - if(intensity>=285) // Based on the prior formula, this means the cult makes up <15% of current players - var/outcome = rand(1,80) - switch(outcome) - if(1 to 10) - var/datum/round_event_control/disease_outbreak/D = new() - // var/datum/round_event_control/mice_migration/M = new() - D.runEvent() - // M.runEvent() - if(11 to 20) - var/datum/round_event_control/radiation_storm/RS = new() - RS.runEvent() - if(21 to 30) - var/datum/round_event_control/brand_intelligence/BI = new() - BI.runEvent() - if(31 to 40) - var/datum/round_event_control/immovable_rod/R = new() - R.runEvent() - R.runEvent() - R.runEvent() - if(41 to 50) - var/datum/round_event_control/meteor_wave/MW = new() - MW.runEvent() - if(51 to 60) - var/datum/round_event_control/spider_infestation/SI = new() - SI.runEvent() - if(61 to 80) - var/datum/round_event_control/spacevine/SV = new() - var/datum/round_event_control/grey_tide/GT = new() - SV.runEvent() - GT.runEvent() - qdel(src) - -/obj/effect/rune/apocalypse/proc/image_handler(list/images, duration) - var/end = world.time + duration - set waitfor = 0 - while(end>world.time) - for(var/image/I in images) - I.override = FALSE - animate(I, alpha = 0, time = 25, flags = ANIMATION_PARALLEL) - sleep(35) - for(var/image/I in images) - animate(I, alpha = 255, time = 25, flags = ANIMATION_PARALLEL) - sleep(25) - for(var/image/I in images) - if(I.icon_state != "bloodsparkles") - I.override = TRUE - sleep(190) - - - -/proc/hudFix(mob/living/carbon/human/target) - if(!target || !target.client) - return - var/obj/O = target.get_item_by_slot(ITEM_SLOT_EYES) - if(istype(O, /obj/item/clothing/glasses/hud/security)) - var/datum/atom_hud/AH = GLOB.huds[DATA_HUD_SECURITY_ADVANCED] - AH.add_hud_to(target) diff --git a/code/modules/antagonists/devil/devil.dm b/code/modules/antagonists/devil/devil.dm deleted file mode 100644 index ace534f94df..00000000000 --- a/code/modules/antagonists/devil/devil.dm +++ /dev/null @@ -1,548 +0,0 @@ -#define BLOOD_THRESHOLD 3 //How many souls are needed per stage. -#define TRUE_THRESHOLD 7 -#define ARCH_THRESHOLD 12 - -#define BASIC_DEVIL 0 -#define BLOOD_lizard 1 -#define TRUE_DEVIL 2 -#define ARCH_DEVIL 3 - -#define LOSS_PER_DEATH 2 - -#define SOULVALUE soulsOwned.len-reviveNumber - -#define DEVILRESURRECTTIME 600 - -GLOBAL_LIST_EMPTY(allDevils) -GLOBAL_LIST_INIT(lawlorify, list ( - LORE = list( - OBLIGATION_FOOD = "This devil seems to always offer its victims food before slaughtering them.", - OBLIGATION_FIDDLE = "This devil will never turn down a musical challenge.", - OBLIGATION_DANCEOFF = "This devil will never turn down a dance off.", - OBLIGATION_GREET = "This devil seems to only be able to converse with people it knows the name of.", - OBLIGATION_PRESENCEKNOWN = "This devil seems to be unable to attack from stealth.", - OBLIGATION_SAYNAME = "He will always chant his name upon killing someone.", - OBLIGATION_ANNOUNCEKILL = "This devil always loudly announces his kills for the world to hear.", - OBLIGATION_ANSWERTONAME = "This devil always responds to his truename.", - BAN_HURTWOMAN = "This devil seems to prefer hunting men.", - BAN_CHAPEL = "This devil avoids holy ground.", - BAN_HURTPRIEST = "The annointed clergy appear to be immune to his powers.", - BAN_AVOIDWATER = "The devil seems to have some sort of aversion to water, though it does not appear to harm him.", - BAN_STRIKEUNCONSCIOUS = "This devil only shows interest in those who are awake.", - BAN_HURTlizard = "This devil will not strike a lizardman first.", - BAN_HURTANIMAL = "This devil avoids hurting animals.", - BANISH_WATER = "To banish the devil, you must infuse its body with holy water.", - BANISH_COFFIN = "This devil will return to life if its remains are not placed within a coffin.", - BANISH_FORMALDYHIDE = "To banish the devil, you must inject its lifeless body with embalming fluid.", - BANISH_RUNES = "This devil will resurrect after death, unless its remains are within a rune.", - BANISH_CANDLES = "A large number of nearby lit candles will prevent it from resurrecting.", - BANISH_DESTRUCTION = "Its corpse must be utterly destroyed to prevent resurrection.", - BANISH_FUNERAL_GARB = "If clad in funeral garments, this devil will be unable to resurrect. Should the clothes not fit, lay them gently on top of the devil's corpse." - ), - LAW = list( - OBLIGATION_FOOD = "When not acting in self defense, you must always offer your victim food before harming them.", - OBLIGATION_FIDDLE = "When not in immediate danger, if you are challenged to a musical duel, you must accept it. You are not obligated to duel the same person twice.", - OBLIGATION_DANCEOFF = "When not in immediate danger, if you are challenged to a dance off, you must accept it. You are not obligated to face off with the same person twice.", - OBLIGATION_GREET = "You must always greet other people by their last name before talking with them.", - OBLIGATION_PRESENCEKNOWN = "You must always make your presence known before attacking.", - OBLIGATION_SAYNAME = "You must always say your true name after you kill someone.", - OBLIGATION_ANNOUNCEKILL = "Upon killing someone, you must make your deed known to all within earshot, over comms if reasonably possible.", - OBLIGATION_ANSWERTONAME = "If you are not under attack, you must always respond to your true name.", - BAN_HURTWOMAN = "You must never harm a female outside of self defense.", - BAN_CHAPEL = "You must never attempt to enter the chapel.", - BAN_HURTPRIEST = "You must never attack a priest.", - BAN_AVOIDWATER = "You must never willingly touch a wet surface.", - BAN_STRIKEUNCONSCIOUS = "You must never strike an unconscious person.", - BAN_HURTlizard = "You must never harm a lizardman outside of self defense.", - BAN_HURTANIMAL = "You must never harm a non-sentient creature or robot outside of self defense.", - BANISH_WATER = "If your corpse is filled with holy water, you will be unable to resurrect.", - BANISH_COFFIN = "If your corpse is in a coffin, you will be unable to resurrect.", - BANISH_FORMALDYHIDE = "If your corpse is embalmed, you will be unable to resurrect.", - BANISH_RUNES = "If your corpse is placed within a rune, you will be unable to resurrect.", - BANISH_CANDLES = "If your corpse is near lit candles, you will be unable to resurrect.", - BANISH_DESTRUCTION = "If your corpse is destroyed, you will be unable to resurrect.", - BANISH_FUNERAL_GARB = "If your corpse is clad in funeral garments, you will be unable to resurrect." - ) - )) - -//These are also used in the codex gigas, so let's declare them globally. -GLOBAL_LIST_INIT(devil_pre_title, list("Dark ", "Hellish ", "Fallen ", "Fiery ", "Sinful ", "Blood ", "Fluffy ")) -GLOBAL_LIST_INIT(devil_title, list("Lord ", "Prelate ", "Count ", "Viscount ", "Vizier ", "Elder ", "Adept ")) -GLOBAL_LIST_INIT(devil_syllable, list("hal", "ve", "odr", "neit", "ci", "quon", "mya", "folth", "wren", "geyr", "hil", "niet", "twou", "phi", "coa")) -GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master", ", the Lord of all things", ", Jr.")) -/datum/antagonist/devil - name = "Devil" - roundend_category = "devils" - antagpanel_category = "Devil" - job_rank = ROLE_DEVIL - antag_hud_type = ANTAG_HUD_DEVIL - antag_hud_name = "devil" - show_to_ghosts = TRUE - var/obligation - var/ban - var/banish - var/truename - var/list/datum/mind/soulsOwned = new - var/reviveNumber = 0 - var/form = BASIC_DEVIL - var/static/list/devil_spells = typecacheof(list( - /obj/effect/proc_holder/spell/aimed/fireball/hellish, - /obj/effect/proc_holder/spell/targeted/conjure_item/summon_pitchfork, - /obj/effect/proc_holder/spell/targeted/conjure_item/summon_pitchfork/greater, - /obj/effect/proc_holder/spell/targeted/conjure_item/summon_pitchfork/ascended, - /obj/effect/proc_holder/spell/targeted/infernal_jaunt, - /obj/effect/proc_holder/spell/targeted/sintouch, - /obj/effect/proc_holder/spell/targeted/sintouch/ascended, - /obj/effect/proc_holder/spell/targeted/summon_contract, - /obj/effect/proc_holder/spell/targeted/conjure_item/violin, - /obj/effect/proc_holder/spell/targeted/summon_dancefloor)) - var/ascendable = FALSE - -/datum/antagonist/devil/can_be_owned(datum/mind/new_owner) - . = ..() - return . && (ishuman(new_owner.current) || iscyborg(new_owner.current)) - -/datum/antagonist/devil/get_admin_commands() - . = ..() - .["Toggle ascendable"] = CALLBACK(src, PROC_REF(admin_toggle_ascendable)) - - -/datum/antagonist/devil/proc/admin_toggle_ascendable(mob/admin) - ascendable = !ascendable - message_admins("[key_name_admin(admin)] set [key_name_admin(owner)] devil ascendable to [ascendable]") - log_admin("[key_name_admin(admin)] set [key_name(owner)] devil ascendable to [ascendable])") - -/datum/antagonist/devil/admin_add(datum/mind/new_owner,mob/admin) - switch(alert(admin,"Should the devil be able to ascend",,"Yes","No","Cancel")) - if("Yes") - ascendable = TRUE - if("No") - ascendable = FALSE - else - return - new_owner.add_antag_datum(src) - message_admins("[key_name_admin(admin)] has devil'ed [key_name_admin(new_owner)]. [ascendable ? "(Ascendable)":""]") - log_admin("[key_name(admin)] has devil'ed [key_name(new_owner)]. [ascendable ? "(Ascendable)":""]") - -/datum/antagonist/devil/antag_listing_name() - return ..() + "([truename])" - -/proc/devilInfo(name) - if(GLOB.allDevils[lowertext(name)]) - return GLOB.allDevils[lowertext(name)] - else - var/datum/fakeDevil/devil = new /datum/fakeDevil(name) - GLOB.allDevils[lowertext(name)] = devil - return devil - -/proc/randomDevilName() - var/name = "" - if(prob(65)) - if(prob(35)) - name = pick(GLOB.devil_pre_title) - name += pick(GLOB.devil_title) - var/probability = 100 - name += pick(GLOB.devil_syllable) - while(prob(probability)) - name += pick(GLOB.devil_syllable) - probability -= 20 - if(prob(40)) - name += pick(GLOB.devil_suffix) - return name - -/proc/randomdevilobligation() - return pick(OBLIGATION_FOOD, OBLIGATION_FIDDLE, OBLIGATION_DANCEOFF, OBLIGATION_GREET, OBLIGATION_PRESENCEKNOWN, OBLIGATION_SAYNAME, OBLIGATION_ANNOUNCEKILL, OBLIGATION_ANSWERTONAME) - -/proc/randomdevilban() - return pick(BAN_HURTWOMAN, BAN_CHAPEL, BAN_HURTPRIEST, BAN_AVOIDWATER, BAN_STRIKEUNCONSCIOUS, BAN_HURTLIZARD, BAN_HURTANIMAL) - -/proc/randomdevilbanish() - return pick(BANISH_WATER, BANISH_COFFIN, BANISH_FORMALDYHIDE, BANISH_RUNES, BANISH_CANDLES, BANISH_DESTRUCTION, BANISH_FUNERAL_GARB) - -/datum/antagonist/devil/proc/add_soul(datum/mind/soul) - if(soulsOwned.Find(soul)) - return - soulsOwned += soul - owner.current.set_nutrition(NUTRITION_LEVEL_FULL) - to_chat(owner.current, "You feel satiated as you received a new soul.") - update_hud() - switch(SOULVALUE) - if(0) - to_chat(owner.current, "Your hellish powers have been restored.") - give_appropriate_spells() - if(BLOOD_THRESHOLD) - increase_blood_lizard() - if(TRUE_THRESHOLD) - increase_true_devil() - if(ARCH_THRESHOLD) - increase_arch_devil() - -/datum/antagonist/devil/proc/remove_soul(datum/mind/soul) - if(soulsOwned.Remove(soul)) - check_regression() - to_chat(owner.current, "You feel as though a soul has slipped from your grasp.") - update_hud() - -/datum/antagonist/devil/proc/check_regression() - if(form == ARCH_DEVIL) - return //arch devil can't regress - //Yes, fallthrough behavior is intended, so I can't use a switch statement. - if(form == TRUE_DEVIL && SOULVALUE < TRUE_THRESHOLD) - regress_blood_lizard() - if(form == BLOOD_lizard && SOULVALUE < BLOOD_THRESHOLD) - regress_humanoid() - if(SOULVALUE < 0) - give_appropriate_spells() - to_chat(owner.current, "As punishment for your failures, all of your powers except contract creation have been revoked.") - -/datum/antagonist/devil/proc/regress_humanoid() - to_chat(owner.current, "Your powers weaken, have more contracts be signed to regain power.") - if(ishuman(owner.current)) - var/mob/living/carbon/human/H = owner.current - H.set_species(/datum/species/human, 1) - H.regenerate_icons() - give_appropriate_spells() - if(istype(owner.current.loc, /obj/effect/dummy/phased_mob/slaughter/)) - owner.current.forceMove(get_turf(owner.current))//Fixes dying while jaunted leaving you permajaunted. - form = BASIC_DEVIL - -/datum/antagonist/devil/proc/regress_blood_lizard() - var/mob/living/carbon/true_devil/D = owner.current - to_chat(D, "Your powers weaken, have more contracts be signed to regain power.") - D.oldform.forceMove(D.drop_location()) - owner.transfer_to(D.oldform) - give_appropriate_spells() - qdel(D) - form = BLOOD_lizard - update_hud() - - -/datum/antagonist/devil/proc/increase_blood_lizard() - to_chat(owner.current, "You feel as though your humanoid form is about to shed. You will soon turn into a blood lizard.") - sleep(50) - if(ishuman(owner.current)) - var/mob/living/carbon/human/H = owner.current - H.set_species(/datum/species/lizard, 1) - H.underwear = "Nude" - H.undershirt = "Nude" - H.socks = "Nude" - H.dna.features["mcolor"] = "511" //A deep red - H.regenerate_icons() - else //Did the devil get hit by a staff of transmutation? - owner.current.color = "#501010" - give_appropriate_spells() - form = BLOOD_lizard - - - -/datum/antagonist/devil/proc/increase_true_devil() - to_chat(owner.current, "You feel as though your current form is about to shed. You will soon turn into a true devil.") - sleep(50) - var/mob/living/carbon/true_devil/A = new /mob/living/carbon/true_devil(owner.current.loc) - A.faction |= "hell" - owner.current.forceMove(A) - A.oldform = owner.current - owner.transfer_to(A) - A.set_devil_name() - give_appropriate_spells() - form = TRUE_DEVIL - update_hud() - -/datum/antagonist/devil/proc/increase_arch_devil() - if(!ascendable) - return - var/mob/living/carbon/true_devil/D = owner.current - to_chat(D, "You feel as though your form is about to ascend.") - sleep(50) - if(!D) - return - D.visible_message("[D]'s skin begins to erupt with spikes.", \ - "Your flesh begins creating a shield around yourself.") - sleep(100) - if(!D) - return - D.visible_message("The horns on [D]'s head slowly grow and elongate.", \ - "Your body continues to mutate. Your telepathic abilities grow.") - sleep(90) - if(!D) - return - D.visible_message("[D]'s body begins to violently stretch and contort.", \ - "You begin to rend apart the final barriers to ultimate power.") - sleep(40) - if(!D) - return - to_chat(D, "Yes!") - sleep(10) - if(!D) - return - to_chat(D, "YES!!") - sleep(10) - if(!D) - return - to_chat(D, "YE--") - sleep(1) - if(!D) - return - send_to_playing_players("\"SLOTH, WRATH, GLUTTONY, ACEDIA, ENVY, GREED, PRIDE! FIRES OF HELL AWAKEN!!\"") - sound_to_playing_players('sound/hallucinations/veryfar_noise.ogg') - give_appropriate_spells() - D.convert_to_archdevil() - if(istype(D.loc, /obj/effect/dummy/phased_mob/slaughter/)) - D.forceMove(get_turf(D))//Fixes dying while jaunted leaving you permajaunted. - var/area/A = get_area(owner.current) - if(A) - notify_ghosts("An arch devil has ascended in \the [A.name]. Reach out to the devil to be given a new shell for your soul.", source = owner.current, action=NOTIFY_ATTACK) - sleep(50) - form = ARCH_DEVIL - -/datum/antagonist/devil/proc/remove_spells() - for(var/X in owner.spell_list) - var/obj/effect/proc_holder/spell/S = X - if(is_type_in_typecache(S, devil_spells)) - owner.RemoveSpell(S) - -/datum/antagonist/devil/proc/give_summon_contract() - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/summon_contract(null)) - if(obligation == OBLIGATION_FIDDLE) - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/conjure_item/violin(null)) - else if(obligation == OBLIGATION_DANCEOFF) - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/summon_dancefloor(null)) - -/datum/antagonist/devil/proc/give_appropriate_spells() - remove_spells() - give_summon_contract() - if(SOULVALUE >= ARCH_THRESHOLD && ascendable) - give_arch_spells() - else if(SOULVALUE >= TRUE_THRESHOLD) - give_true_spells() - else if(SOULVALUE >= BLOOD_THRESHOLD) - give_blood_spells() - else if(SOULVALUE >= 0) - give_base_spells() - -/datum/antagonist/devil/proc/give_base_spells() - owner.AddSpell(new /obj/effect/proc_holder/spell/aimed/fireball/hellish(null)) - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/conjure_item/summon_pitchfork(null)) - -/datum/antagonist/devil/proc/give_blood_spells() - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/conjure_item/summon_pitchfork(null)) - owner.AddSpell(new /obj/effect/proc_holder/spell/aimed/fireball/hellish(null)) - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/infernal_jaunt(null)) - -/datum/antagonist/devil/proc/give_true_spells() - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/conjure_item/summon_pitchfork/greater(null)) - owner.AddSpell(new /obj/effect/proc_holder/spell/aimed/fireball/hellish(null)) - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/infernal_jaunt(null)) - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/sintouch(null)) - -/datum/antagonist/devil/proc/give_arch_spells() - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/conjure_item/summon_pitchfork/ascended(null)) - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/sintouch/ascended(null)) - -/datum/antagonist/devil/proc/beginResurrectionCheck(mob/living/body) - if(SOULVALUE>0) - to_chat(owner.current, "Your body has been damaged to the point that you may no longer use it. At the cost of some of your power, you will return to life soon. Remain in your body.") - sleep(DEVILRESURRECTTIME) - if (!body || body.stat == DEAD) - if(SOULVALUE>0) - if(check_banishment(body)) - to_chat(owner.current, "Unfortunately, the mortals have finished a ritual that prevents your resurrection.") - return -1 - else - to_chat(owner.current, "WE LIVE AGAIN!") - return hellish_resurrection(body) - else - to_chat(owner.current, "Unfortunately, the power that stemmed from your contracts has been extinguished. You no longer have enough power to resurrect.") - return -1 - else - to_chat(owner.current, "You seem to have resurrected without your hellish powers.") - else - to_chat(owner.current, "Your hellish powers are too weak to resurrect yourself.") - -/datum/antagonist/devil/proc/check_banishment(mob/living/body) - switch(banish) - if(BANISH_WATER) - if(iscarbon(body)) - var/mob/living/carbon/H = body - return H.reagents.has_reagent(/datum/reagent/water/holywater) - return 0 - if(BANISH_COFFIN) - return (body && istype(body.loc, /obj/structure/closet/crate/coffin)) - if(BANISH_FORMALDYHIDE) - if(iscarbon(body)) - var/mob/living/carbon/H = body - return H.reagents.has_reagent(/datum/reagent/toxin/formaldehyde) - return 0 - if(BANISH_RUNES) - if(body) - for(var/obj/effect/decal/cleanable/crayon/R in range(0,body)) - if (R.name == "rune") - return 1 - return 0 - if(BANISH_CANDLES) - if(body) - var/count = 0 - for(var/obj/item/candle/C in range(1,body)) - count += C.lit - if(count>=4) - return 1 - return 0 - if(BANISH_DESTRUCTION) - if(body) - return 0 - return 1 - if(BANISH_FUNERAL_GARB) - if(ishuman(body)) - var/mob/living/carbon/human/H = body - if(H.w_uniform && istype(H.w_uniform, /obj/item/clothing/under/suit/white_on_white)) - return 1 - return 0 - else - for(var/obj/item/clothing/under/suit/white_on_white/B in range(0,body)) - if(B.loc == get_turf(B)) //Make sure it's not in someone's inventory or something. - return 1 - return 0 - -/datum/antagonist/devil/proc/hellish_resurrection(mob/living/body) - message_admins("[key_name_admin(owner)] (true name is: [truename]) is resurrecting using hellish energy.") - if(SOULVALUE < ARCH_THRESHOLD || !ascendable) // once ascended, arch devils do not go down in power by any means. - reviveNumber += LOSS_PER_DEATH - update_hud() - if(body) - body.revive(full_heal = TRUE, admin_revive = TRUE) //Adminrevive also recovers organs, preventing someone from resurrecting without a heart. - if(istype(body.loc, /obj/effect/dummy/phased_mob/slaughter/)) - body.forceMove(get_turf(body))//Fixes dying while jaunted leaving you permajaunted. - if(istype(body, /mob/living/carbon/true_devil)) - var/mob/living/carbon/true_devil/D = body - if(D.oldform) - D.oldform.revive(full_heal = TRUE, admin_revive = FALSE) // Heal the old body too, so the devil doesn't resurrect, then immediately regress into a dead body. - if(body.stat == DEAD) - create_new_body() - else - create_new_body() - check_regression() - -/datum/antagonist/devil/proc/create_new_body() - if(GLOB.blobstart.len > 0) - var/turf/targetturf = get_turf(pick(GLOB.blobstart)) - var/mob/currentMob = owner.current - if(!currentMob) - currentMob = owner.get_ghost() - if(!currentMob) - message_admins("[key_name_admin(owner)]'s devil resurrection failed due to client logoff. Aborting.") - return -1 - if(currentMob.mind != owner) - message_admins("[key_name_admin(owner)]'s devil resurrection failed due to becoming a new mob. Aborting.") - return -1 - currentMob.change_mob_type(/mob/living/carbon/human, targetturf, null, 1) - var/mob/living/carbon/human/H = owner.current - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/civilian/lawyer/black(H), ITEM_SLOT_ICLOTHING) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), ITEM_SLOT_FEET) - H.equip_to_slot_or_del(new /obj/item/storage/briefcase(H), ITEM_SLOT_HANDS) - H.equip_to_slot_or_del(new /obj/item/pen(H), ITEM_SLOT_LPOCKET) - if(SOULVALUE >= BLOOD_THRESHOLD) - H.set_species(/datum/species/lizard, 1) - H.underwear = "Nude" - H.undershirt = "Nude" - H.socks = "Nude" - H.dna.features["mcolor"] = "511" - H.regenerate_icons() - if(SOULVALUE >= TRUE_THRESHOLD) //Yes, BOTH this and the above if statement are to run if soulpower is high enough. - var/mob/living/carbon/true_devil/A = new /mob/living/carbon/true_devil(targetturf) - A.faction |= "hell" - H.forceMove(A) - A.oldform = H - owner.transfer_to(A, TRUE) - A.set_devil_name() - if(SOULVALUE >= ARCH_THRESHOLD && ascendable) - A.convert_to_archdevil() - else - CRASH("Unable to find a blobstart landmark for hellish resurrection") - - -/datum/antagonist/devil/proc/update_hud() - if(iscarbon(owner.current)) - var/mob/living/C = owner.current - if(C.hud_used && C.hud_used.devilsouldisplay) - C.hud_used.devilsouldisplay.update_counter(SOULVALUE) - -/datum/antagonist/devil/greet() - to_chat(owner.current, "You remember your link to the infernal. You are [truename], an agent of hell, a devil. And you were sent to the plane of creation for a reason. A greater purpose. Convince the crew to sin, and embroiden Hell's grasp.") - to_chat(owner.current, "However, your infernal form is not without weaknesses.") - to_chat(owner.current, "You may not use violence to coerce someone into selling their soul.") - to_chat(owner.current, "You may not directly and knowingly physically harm a devil, other than yourself.") - to_chat(owner.current, GLOB.lawlorify[LAW][ban]) - to_chat(owner.current, GLOB.lawlorify[LAW][obligation]) - to_chat(owner.current, GLOB.lawlorify[LAW][banish]) - to_chat(owner.current, "Remember, the crew can research your weaknesses if they find out your devil name.
    ") - .=..() - -/datum/antagonist/devil/on_gain() - truename = randomDevilName() - ban = randomdevilban() - obligation = randomdevilobligation() - banish = randomdevilbanish() - GLOB.allDevils[lowertext(truename)] = src - - antag_memory += "Your devilic true name is [truename]
    [GLOB.lawlorify[LAW][ban]]
    You may not use violence to coerce someone into selling their soul.
    You may not directly and knowingly physically harm a devil, other than yourself.
    [GLOB.lawlorify[LAW][obligation]]
    [GLOB.lawlorify[LAW][banish]]
    " - if(issilicon(owner.current)) - var/mob/living/silicon/robot_devil = owner.current - var/laws = list("You may not use violence to coerce someone into selling their soul.", "You may not directly and knowingly physically harm a devil, other than yourself.", GLOB.lawlorify[LAW][ban], GLOB.lawlorify[LAW][obligation], "Accomplish your objectives at all costs.") - robot_devil.set_law_sixsixsix(laws) - sleep(10) - .=..() - -/datum/antagonist/devil/on_removal() - to_chat(owner.current, "Your infernal link has been severed! You are no longer a devil!") - .=..() - -/datum/antagonist/devil/apply_innate_effects(mob/living/mob_override) - give_appropriate_spells() - var/mob/living/M = mob_override || owner.current - add_antag_hud(antag_hud_type, antag_hud_name, M) - handle_clown_mutation(M, mob_override ? null : "Your infernal nature has allowed you to overcome your clownishness.") - owner.current.grant_all_languages(TRUE, TRUE, TRUE, LANGUAGE_DEVIL) - update_hud() - .=..() - -/datum/antagonist/devil/remove_innate_effects(mob/living/mob_override) - for(var/X in owner.spell_list) - var/obj/effect/proc_holder/spell/S = X - if(is_type_in_typecache(S, devil_spells)) - owner.RemoveSpell(S) - var/mob/living/M = mob_override || owner.current - remove_antag_hud(antag_hud_type, M) - handle_clown_mutation(M, removing = FALSE) - owner.current.remove_all_languages(LANGUAGE_DEVIL) - .=..() - -/datum/antagonist/devil/proc/printdevilinfo() - var/list/parts = list() - parts += "The devil's true name is: [truename]" - parts += "The devil's bans were:" - parts += "[FOURSPACES][GLOB.lawlorify[LORE][ban]]" - parts += "[FOURSPACES][GLOB.lawlorify[LORE][obligation]]" - parts += "[FOURSPACES][GLOB.lawlorify[LORE][banish]]" - return parts.Join("
    ") - -/datum/antagonist/devil/roundend_report() - var/list/parts = list() - parts += printplayer(owner) - parts += printdevilinfo() - parts += printobjectives(objectives) - return parts.Join("
    ") - -//A simple super light weight datum for the codex gigas. -/datum/fakeDevil - var/truename - var/obligation - var/ban - var/banish - var/ascendable - -/datum/fakeDevil/New(name = randomDevilName()) - truename = name - obligation = randomdevilobligation() - ban = randomdevilban() - banish = randomdevilbanish() - ascendable = prob(25) diff --git a/code/modules/antagonists/devil/imp/imp.dm b/code/modules/antagonists/devil/imp/imp.dm deleted file mode 100644 index 21446d2661d..00000000000 --- a/code/modules/antagonists/devil/imp/imp.dm +++ /dev/null @@ -1,68 +0,0 @@ -//////////////////The Monster - -/mob/living/simple_animal/imp - name = "imp" - real_name = "imp" - unique_name = TRUE - desc = "A large, menacing creature covered in armored black scales." - speak_emote = list("cackles") - emote_hear = list("cackles","screeches") - response_help_continuous = "thinks better of touching" - response_help_simple = "think better of touching" - response_disarm_continuous = "flails at" - response_disarm_simple = "flail at" - response_harm_continuous = "punches" - response_harm_simple = "punch" - icon = 'icons/mob/mob.dmi' - icon_state = "imp" - icon_living = "imp" - mob_biotypes = MOB_ORGANIC|MOB_HUMANOID - speed = 1 - a_intent = INTENT_HARM - stop_automated_movement = 1 - status_flags = CANPUSH - attack_sound = 'sound/magic/demon_attack1.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 250 //Weak to cold - maxbodytemp = INFINITY - faction = list("hell") - attack_verb_continuous = "wildly tears into" - attack_verb_simple = "wildly tear into" - maxHealth = 200 - health = 200 - healable = 0 - environment_smash = ENVIRONMENT_SMASH_STRUCTURES - obj_damage = 40 - melee_damage_lower = 10 - melee_damage_upper = 15 - see_in_dark = 8 - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - del_on_death = TRUE - deathmessage = "screams in agony as it sublimates into a sulfurous smoke." - deathsound = 'sound/magic/demon_dies.ogg' - var/boost = 0 - var/list/consumed_mobs = list() - var/playstyle_string = "You are an imp, a mischievous creature from hell. You are the lowest rank on the hellish totem pole \ - Though you are not obligated to help, perhaps by aiding a higher ranking devil, you might just get a promotion. However, you are incapable \ - of intentionally harming a fellow devil." - -/mob/living/simple_animal/imp/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_BLOODCRAWL_EAT, "innate") - set_varspeed(1) - addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living, set_varspeed), 0), 30) - -/datum/antagonist/imp - name = "Imp" - antagpanel_category = "Devil" - show_in_roundend = FALSE - -/datum/antagonist/imp/on_gain() - . = ..() - give_objectives() - -/datum/antagonist/imp/proc/give_objectives() - var/datum/objective/newobjective = new - newobjective.explanation_text = "Try to get a promotion to a higher devilic rank." - newobjective.owner = owner - objectives += newobjective diff --git a/code/modules/antagonists/devil/sintouched/objectives.dm b/code/modules/antagonists/devil/sintouched/objectives.dm deleted file mode 100644 index fcbb8dcbb55..00000000000 --- a/code/modules/antagonists/devil/sintouched/objectives.dm +++ /dev/null @@ -1,23 +0,0 @@ -/datum/objective/sintouched - completed = 1 - -/datum/objective/sintouched/gluttony - explanation_text = "Everything is so delicious. Go eat everything." - -/datum/objective/sintouched/greed - explanation_text = "You want MORE, more money, more wealth, more riches. Go get it, but don't hurt people for it." - -/datum/objective/sintouched/sloth - explanation_text = "You just get tired randomly. Go take a nap at a time that would inconvenience other people." - -/datum/objective/sintouched/wrath - explanation_text = "What have your coworkers ever done for you? Don't offer to help them in any matter, and refuse if asked." - -/datum/objective/sintouched/envy - explanation_text = "Why should you be stuck with your rank? Show everyone you can do other jobs too, and don't let anyone stop you, least of all because you have no training" - -/datum/objective/sintouched/pride - explanation_text = "You are the BEST thing on the station. Make sure everyone knows it." - -/datum/objective/sintouched/acedia - explanation_text = "Angels, devils, good, evil... who cares? Just ignore any hellish threats and do your job." diff --git a/code/modules/antagonists/devil/sintouched/sintouched.dm b/code/modules/antagonists/devil/sintouched/sintouched.dm deleted file mode 100644 index 064e1fbaecd..00000000000 --- a/code/modules/antagonists/devil/sintouched/sintouched.dm +++ /dev/null @@ -1,76 +0,0 @@ -#define SIN_ACEDIA "acedia" -#define SIN_GLUTTONY "gluttony" -#define SIN_GREED "greed" -#define SIN_SLOTH "sloth" -#define SIN_WRATH "wrath" -#define SIN_ENVY "envy" -#define SIN_PRIDE "pride" - -/datum/antagonist/sintouched - name = "sintouched" - roundend_category = "sintouched" - antagpanel_category = "Devil" - antag_hud_type = ANTAG_HUD_SINTOUCHED - antag_hud_name = "sintouched" - var/sin - - var/static/list/sins = list(SIN_ACEDIA,SIN_GLUTTONY,SIN_GREED,SIN_SLOTH,SIN_WRATH,SIN_ENVY,SIN_PRIDE) - -/datum/antagonist/sintouched/New() - . = ..() - sin = pick(sins) - -/datum/antagonist/sintouched/proc/forge_objectives() - var/datum/objective/sintouched/O - switch(sin)//traditional seven deadly sins... except lust. - if(SIN_ACEDIA) - O = new /datum/objective/sintouched/acedia - if(SIN_GLUTTONY) - O = new /datum/objective/sintouched/gluttony - if(SIN_GREED) - O = new /datum/objective/sintouched/greed - if(SIN_SLOTH) - O = new /datum/objective/sintouched/sloth - if(SIN_WRATH) - O = new /datum/objective/sintouched/wrath - if(SIN_ENVY) - O = new /datum/objective/sintouched/envy - if(SIN_PRIDE) - O = new /datum/objective/sintouched/pride - objectives += O - -/datum/antagonist/sintouched/on_gain() - forge_objectives() - . = ..() - -/datum/antagonist/sintouched/greet() - owner.announce_objectives() - -/datum/antagonist/sintouched/roundend_report() - return printplayer(owner) - -/datum/antagonist/sintouched/admin_add(datum/mind/new_owner,mob/admin) - var/choices = sins + "Random" - var/chosen_sin = input(admin,"What kind ?","Sin kind") as null|anything in sortList(choices) - if(!chosen_sin) - return - if(chosen_sin in sins) - sin = chosen_sin - . = ..() - -/datum/antagonist/sintouched/apply_innate_effects(mob/living/mob_override) - var/mob/living/M = mob_override || owner.current - add_antag_hud(antag_hud_type, antag_hud_name, M) - -/datum/antagonist/sintouched/remove_innate_effects(mob/living/mob_override) - var/mob/living/M = mob_override || owner.current - remove_antag_hud(antag_hud_type, M) - - -#undef SIN_ACEDIA -#undef SIN_ENVY -#undef SIN_GLUTTONY -#undef SIN_GREED -#undef SIN_PRIDE -#undef SIN_SLOTH -#undef SIN_WRATH diff --git a/code/modules/antagonists/devil/true_devil/_true_devil.dm b/code/modules/antagonists/devil/true_devil/_true_devil.dm deleted file mode 100644 index 4703f95263f..00000000000 --- a/code/modules/antagonists/devil/true_devil/_true_devil.dm +++ /dev/null @@ -1,221 +0,0 @@ -#define DEVIL_HANDS_LAYER 1 -#define DEVIL_HEAD_LAYER 2 -#define DEVIL_TOTAL_LAYERS 2 - - -/mob/living/carbon/true_devil - name = "True Devil" - desc = "A pile of infernal energy, taking a vaguely humanoid form." - icon = 'icons/mob/32x64.dmi' - icon_state = "true_devil" - gender = NEUTER - health = 350 - maxHealth = 350 - ventcrawler = VENTCRAWLER_NONE - density = TRUE - pass_flags = 0 - sight = (SEE_TURFS | SEE_OBJS) - status_flags = CANPUSH - mob_size = MOB_SIZE_LARGE - held_items = list(null, null) - bodyparts = list( - /obj/item/bodypart/chest/devil, - /obj/item/bodypart/head/devil, - /obj/item/bodypart/l_arm/devil, - /obj/item/bodypart/r_arm/devil, - /obj/item/bodypart/leg/right/devil, - /obj/item/bodypart/leg/left/devil, - ) - hud_type = /datum/hud/devil - var/ascended = FALSE - var/mob/living/oldform - var/list/devil_overlays[DEVIL_TOTAL_LAYERS] - -/mob/living/carbon/true_devil/Initialize() - create_bodyparts() //initialize bodyparts - create_internal_organs() - grant_all_languages() - . = ..() - ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) - -/mob/living/carbon/true_devil/create_internal_organs() - internal_organs += new /obj/item/organ/brain - internal_organs += new /obj/item/organ/tongue - internal_organs += new /obj/item/organ/eyes - internal_organs += new /obj/item/organ/ears/invincible //Prevents hearing loss from poorly aimed fireballs. - ..() - -/mob/living/carbon/true_devil/proc/convert_to_archdevil() - maxHealth = 500 // not an IMPOSSIBLE amount, but still near impossible. - ascended = TRUE - health = maxHealth - icon_state = "arch_devil" - -/mob/living/carbon/true_devil/proc/set_devil_name() - var/datum/antagonist/devil/devilinfo = mind.has_antag_datum(/datum/antagonist/devil) - name = devilinfo.truename - real_name = name - -/mob/living/carbon/true_devil/Login() - . = ..() - if(!. || !client) - return FALSE - var/datum/antagonist/devil/devilinfo = mind.has_antag_datum(/datum/antagonist/devil) - devilinfo.greet() - mind.announce_objectives() - -/mob/living/carbon/true_devil/death(gibbed) - set_stat(DEAD) - ..(gibbed) - drop_all_held_items() - INVOKE_ASYNC(mind.has_antag_datum(/datum/antagonist/devil), TYPE_PROC_REF(/datum/antagonist/devil, beginResurrectionCheck), src) - - -/mob/living/carbon/true_devil/examine(mob/user) - . = list("This is [icon2html(src, user)] [src]!") - - //Left hand items - for(var/obj/item/I in held_items) - if(!(I.item_flags & ABSTRACT)) - . += "It is holding [I.get_examine_string(user)] in its [get_held_index_name(get_held_index_of_item(I))]." - - //Braindead - if(!client && stat != DEAD) - . += "The devil seems to be in deep contemplation." - - //Damaged - if(stat == DEAD) - . += "The hellfire seems to have been extinguished, for now at least." - else if(health < (maxHealth/10)) - . += "You can see hellfire inside its gaping wounds." - else if(health < (maxHealth/2)) - . += "You can see hellfire inside its wounds." - . += "" - -/mob/living/carbon/true_devil/IsAdvancedToolUser() - return 1 - -/mob/living/carbon/true_devil/resist_buckle() - if(buckled) - buckled.user_unbuckle_mob(src,src) - visible_message("[src] easily breaks out of [p_their()] handcuffs!", \ - "With just a thought your handcuffs fall off.") - -/mob/living/carbon/true_devil/canUseTopic(atom/movable/M, be_close=FALSE, no_dexterity=FALSE, no_tk=FALSE) - if(incapacitated()) - to_chat(src, "You can't do that right now!") - return FALSE - if(be_close && !in_range(M, src)) - to_chat(src, "You are too far away!") - return FALSE - return TRUE - -/mob/living/carbon/true_devil/assess_threat(judgement_criteria, lasercolor = "", datum/callback/weaponcheck=null) - return 666 - -/mob/living/carbon/true_devil/soundbang_act() - return 0 - -/mob/living/carbon/true_devil/get_ear_protection() - return 2 - - -/mob/living/carbon/true_devil/attacked_by(obj/item/I, mob/living/user, def_zone) - apply_damage(I.force, I.damtype, def_zone) - var/message_verb = "" - if(I.attack_verb && I.attack_verb.len) - message_verb = "[pick(I.attack_verb)]" - else if(I.force) - message_verb = "attacked" - - var/attack_message = "[src] has been [message_verb] with [I]." - if(user) - user.do_attack_animation(src) - if(user in viewers(src, null)) - attack_message = "[user] has [message_verb] [src] with [I]!" - if(message_verb) - visible_message("[attack_message]", - "[attack_message]", null, COMBAT_MESSAGE_RANGE) - return TRUE - -/mob/living/carbon/true_devil/singularity_act() - if(ascended) - return 0 - return ..() - -//ATTACK GHOST IGNORING PARENT RETURN VALUE -/mob/living/carbon/true_devil/attack_ghost(mob/dead/observer/user as mob) - if(ascended || user.mind.soulOwner == src.mind) - var/mob/living/simple_animal/imp/S = new(get_turf(loc)) - S.key = user.key - var/datum/antagonist/imp/A = new() - S.mind.add_antag_datum(A) - to_chat(S, S.playstyle_string) - else - return ..() - -/mob/living/carbon/true_devil/can_be_revived() - return 1 - -/mob/living/carbon/true_devil/resist_fire() - //They're immune to fire. - -/mob/living/carbon/true_devil/attack_hand(mob/living/carbon/human/M) - . = ..() - if(.) - switch(M.a_intent) - if ("harm") - var/damage = rand(1, 5) - playsound(loc, "punch", 25, TRUE, -1) - visible_message("[M] punches [src]!", \ - "[M] punches you!") - adjustBruteLoss(damage) - log_combat(M, src, "attacked") - updatehealth() - if ("disarm") - if (!(mobility_flags & MOBILITY_STAND) && !ascended) //No stealing the arch devil's pitchfork. - if (prob(5)) - Unconscious(40) - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) - log_combat(M, src, "pushed") - visible_message("[M] pushes [src] down!", \ - "[M] pushes you down!") - else - if (prob(25)) - dropItemToGround(get_active_held_item()) - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) - visible_message("[M] disarms [src]!", \ - "[M] disarms you!") - else - playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) - visible_message("[M] fails to disarm [src]!", \ - "[M] fails to disarm you!") - -/mob/living/carbon/true_devil/handle_breathing() - // devils do not need to breathe - -/mob/living/carbon/true_devil/is_literate() - return TRUE - -/mob/living/carbon/true_devil/ex_act(severity, ex_target) - if(!ascended) - var/b_loss - switch (severity) - if (EXPLODE_DEVASTATE) - b_loss = 500 - if (EXPLODE_HEAVY) - b_loss = 150 - if (EXPLODE_LIGHT) - b_loss = 30 - adjustBruteLoss(b_loss) - return ..() - - -/mob/living/carbon/true_devil/update_body() //we don't use the bodyparts layer for devils. - return - -/mob/living/carbon/true_devil/update_body_parts() - return - -/mob/living/carbon/true_devil/update_damage_overlays() //devils don't have damage overlays. - return diff --git a/code/modules/antagonists/devil/true_devil/inventory.dm b/code/modules/antagonists/devil/true_devil/inventory.dm deleted file mode 100644 index a3d0dbdf582..00000000000 --- a/code/modules/antagonists/devil/true_devil/inventory.dm +++ /dev/null @@ -1,48 +0,0 @@ -/mob/living/carbon/true_devil/doUnEquip(obj/item/I, force, newloc, no_move, invdrop = TRUE, silent = FALSE) - if(..()) - update_inv_hands() - return 1 - return 0 - -/mob/living/carbon/true_devil/update_inv_hands() - //TODO LORDPIDEY: Figure out how to make the hands line up properly. the l/r_hand_overlay should use the down sprite when facing down, left, or right, and the up sprite when facing up. - remove_overlay(DEVIL_HANDS_LAYER) - var/list/hands_overlays = list() - var/obj/item/l_hand = get_item_for_held_index(1) //hardcoded 2-hands only, for now. - var/obj/item/r_hand = get_item_for_held_index(2) - - if(r_hand) - var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(default_layer = DEVIL_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE) - - hands_overlays += r_hand_overlay - - if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD) - r_hand.layer = ABOVE_HUD_LAYER - r_hand.plane = ABOVE_HUD_PLANE - r_hand.screen_loc = ui_hand_position(get_held_index_of_item(r_hand)) - client.screen |= r_hand - - if(l_hand) - var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(default_layer = DEVIL_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE) - - hands_overlays += l_hand_overlay - - if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD) - l_hand.layer = ABOVE_HUD_LAYER - l_hand.plane = ABOVE_HUD_PLANE - l_hand.screen_loc = ui_hand_position(get_held_index_of_item(l_hand)) - client.screen |= l_hand - if(hands_overlays.len) - devil_overlays[DEVIL_HANDS_LAYER] = hands_overlays - apply_overlay(DEVIL_HANDS_LAYER) - -/mob/living/carbon/true_devil/remove_overlay(cache_index) - var/I = devil_overlays[cache_index] - if(I) - cut_overlay(I) - devil_overlays[cache_index] = null - - -/mob/living/carbon/true_devil/apply_overlay(cache_index) - if((. = devil_overlays[cache_index])) - add_overlay(.) diff --git a/code/modules/antagonists/disease/disease_datum.dm b/code/modules/antagonists/disease/disease_datum.dm index cb0cc12be0b..d96e39733ef 100644 --- a/code/modules/antagonists/disease/disease_datum.dm +++ b/code/modules/antagonists/disease/disease_datum.dm @@ -86,13 +86,3 @@ /datum/objective/disease_infect_centcom explanation_text = "Ensure that at least one infected host escapes on the shuttle or an escape pod." - -/datum/objective/disease_infect_centcom/check_completion() - var/mob/camera/disease/D = owner.current - if(!istype(D)) - return FALSE - for(var/V in D.hosts) - var/mob/living/L = V - if(L.onCentCom() || L.onSyndieBase()) - return TRUE - return FALSE diff --git a/code/modules/antagonists/ert/ert.dm b/code/modules/antagonists/ert/ert.dm index 25b0b4e1f8c..9b06d144baf 100644 --- a/code/modules/antagonists/ert/ert.dm +++ b/code/modules/antagonists/ert/ert.dm @@ -7,7 +7,7 @@ name = "Emergency Response Officer" var/datum/team/ert/ert_team var/leader = FALSE - var/datum/outfit/outfit = /datum/outfit/centcom/ert/security + var/datum/outfit/outfit = /datum/outfit/job/independent/ert var/role = "Security Officer" var/list/name_source var/random_names = TRUE @@ -60,9 +60,9 @@ var/missiondesc = "Your team is being sent to [station_name()].
    " if(leader) //If Squad Leader - missiondesc += " Lead your team to ensure the completion of your objectives." + missiondesc += "Lead your team to ensure the completion of your objectives." else - missiondesc += " Follow orders given to you by your squad leader." + missiondesc += "Follow orders given to you by your squad leader." if(deathsquad) missiondesc += "Leave no witnesses." diff --git a/code/modules/antagonists/ert/frontiersmen.dm b/code/modules/antagonists/ert/frontiersmen.dm index d6a1a5182cf..da1cb0c6812 100644 --- a/code/modules/antagonists/ert/frontiersmen.dm +++ b/code/modules/antagonists/ert/frontiersmen.dm @@ -18,31 +18,53 @@ missiondesc += "
    Your Mission: [ert_team.mission.explanation_text]" to_chat(owner,missiondesc) +/datum/antagonist/ert/frontier/skm + outfit = /datum/outfit/job/frontiersmen/ert/skm + +/datum/antagonist/ert/frontier/unarmed + outfit = /datum/outfit/job/frontiersmen/ert/unarmed + /datum/antagonist/ert/frontier/random outfit = /datum/outfit/job/frontiersmen/ert/random +// officers + /datum/antagonist/ert/frontier/leader name = "Frontiersmen Officer" outfit = /datum/outfit/job/frontiersmen/ert/leader role = "Officer" -/datum/antagonist/ert/frontier/leader/unnarmed - outfit = /datum/outfit/job/frontiersmen/ert/leader/unnarmed +/datum/antagonist/ert/frontier/leader/heavy + outfit = /datum/outfit/job/frontiersmen/ert/leader/heavy + +/datum/antagonist/ert/frontier/leader/unarmed + outfit = /datum/outfit/job/frontiersmen/ert/leader/unarmed + +// doctors /datum/antagonist/ert/frontier/medic name = "Frontiersmen Medic" outfit = /datum/outfit/job/frontiersmen/ert/medic role = "Stretcher-Bearer" +/datum/antagonist/ert/frontier/medic/heavy + outfit = /datum/outfit/job/frontiersmen/ert/medic/heavy + +// engineers + /datum/antagonist/ert/frontier/engineer name = "Frontiersmen Engineer" outfit = /datum/outfit/job/frontiersmen/ert/engineer role = "Sapper" -/datum/antagonist/ert/frontier/better - name = "Frontiersmen Grunt" - outfit = /datum/outfit/job/frontiersmen/ert/grunt/skm +// heavy weapons guy + +/datum/antagonist/ert/frontier/flamer + name = "Frontiersmen Flametrooper" + outfit = /datum/outfit/job/frontiersmen/ert/flamer + role = "Flametrooper" -/datum/antagonist/ert/frontier/unnarmed - name = "Frontiersmen Grunt" - outfit = /datum/outfit/job/frontiersmen/ert/grunt +/datum/antagonist/ert/frontier/sentry + name = "Frontiersmen Sentry" + outfit = /datum/outfit/job/frontiersmen/ert/sentry + role = "Sentinel" diff --git a/code/modules/antagonists/ert/gezena.dm b/code/modules/antagonists/ert/gezena.dm new file mode 100644 index 00000000000..73ac1eb9ddb --- /dev/null +++ b/code/modules/antagonists/ert/gezena.dm @@ -0,0 +1,29 @@ +/datum/antagonist/ert/gezena + name = "PGF Marine" + outfit = /datum/outfit/job/gezena/ert + role = "Rifleman" + +/datum/antagonist/ert/gezena/leader + name = "PGF Sergeant" + outfit = /datum/outfit/job/gezena/ert/leader + role = "Gunnery Sergeant" + +/datum/antagonist/ert/gezena/engineer + name = "PGF Combat Engineer" + outfit = /datum/outfit/job/gezena/ert/engineer + role = "Engineer" + +/datum/antagonist/ert/gezena/gunner + name = "PGF Gunner" + outfit = /datum/outfit/job/gezena/ert/gunner + role = "Machinegunner" + +/datum/antagonist/ert/gezena/medic + name = "PGF Corpsman" + outfit = /datum/outfit/job/gezena/ert/medic + role = "Corpsman" + +/datum/antagonist/ert/gezena/inspector + name = "PGF Naval Observer" + outfit = /datum/outfit/job/gezena/ert/inspector + role = "Observer" diff --git a/code/modules/antagonists/ert/indie.dm b/code/modules/antagonists/ert/indie.dm index 265af27bd2d..d56a6ea84e7 100644 --- a/code/modules/antagonists/ert/indie.dm +++ b/code/modules/antagonists/ert/indie.dm @@ -8,7 +8,7 @@ role = "Security Officer" /datum/antagonist/ert/independent/greet() - to_chat(owner, "You are the [name].") + to_chat(owner, "You are \a [name].") var/missiondesc = "You are one of the many Independent contractors, workers and students on [station_name()].
    " if(leader) //If Squad Leader missiondesc += "Lead your team to complete your objectives." @@ -23,6 +23,9 @@ outfit = /datum/outfit/job/independent/ert/emt role = "Paramedic" +/datum/antagonist/ert/independent/emt/eva + outfit = /datum/outfit/job/independent/ert/emt/eva + /datum/antagonist/ert/independent/firefighter name = "Independent Firefighter" outfit = /datum/outfit/job/independent/ert/firefighter @@ -42,3 +45,18 @@ name = "Independent Technician" outfit = /datum/outfit/job/independent/ert/technician role = "Technician" + +/datum/antagonist/ert/independent/deathsquad + name = "Deathsquad Commando" + outfit = /datum/outfit/job/independent/ert/deathsquad + role = "Commando" + +/datum/antagonist/ert/independent/pizza + name = "Pizza Delivery Worker" + outfit = /datum/outfit/job/independent/ert/pizza + role = "Delivery Worker" + +/datum/antagonist/ert/independent/janitor + name = "Independent Sanitation Technician" + outfit = /datum/outfit/job/independent/ert/janitor + role = "Sanitation Technician" diff --git a/code/modules/antagonists/ert/inteq.dm b/code/modules/antagonists/ert/inteq.dm index 591ad684cc1..6666c626c8c 100644 --- a/code/modules/antagonists/ert/inteq.dm +++ b/code/modules/antagonists/ert/inteq.dm @@ -1,10 +1,9 @@ /datum/antagonist/ert/inteq name = "Inteq Mercenary" - outfit = /datum/outfit/job/inteq/security + outfit = /datum/outfit/job/inteq/ert random_names = TRUE role = "Enforcer" - /datum/antagonist/ert/inteq/greet() to_chat(owner, "You are the [name].") var/missiondesc = "You're one of the many mercenaries under the Inteq Risk Management Group sent to [station_name()].
    " @@ -18,7 +17,40 @@ missiondesc += "
    Contract Terms: [ert_team.mission.explanation_text]" to_chat(owner,missiondesc) +/datum/antagonist/ert/inteq/eva + outfit = /datum/outfit/job/inteq/ert/eva + /datum/antagonist/ert/inteq/leader name = "Inteq Mercenary Leader" - outfit = /datum/outfit/job/inteq/captain + outfit = /datum/outfit/job/inteq/ert/leader role = "Vanguard" + +/datum/antagonist/ert/inteq/leader/eva + outfit = /datum/outfit/job/inteq/ert/leader/eva + +/datum/antagonist/ert/inteq/medic + name = "Inteq Corpsman" + outfit = /datum/outfit/job/inteq/ert/medic + role = "Corpsman" + +/datum/antagonist/ert/inteq/medic/eva + outfit = /datum/outfit/job/inteq/ert/medic/eva + +/datum/antagonist/ert/inteq/engineer + name = "Inteq Artificer" + outfit = /datum/outfit/job/inteq/ert/engineer + role = "Artificer" + +/datum/antagonist/ert/inteq/engineer/eva + outfit = /datum/outfit/job/inteq/ert/engineer/eva + +/datum/antagonist/ert/inteq/honor_guard + name = "Inteq Honor Guard" + outfit = /datum/outfit/job/inteq/ert/honor_guard + role = "Guardsman" + +/datum/antagonist/ert/inteq/inspector + name = "Mothership Investigator" + outfit = /datum/outfit/job/inteq/ert/inspector + random_names = FALSE + role = "Investigator" diff --git a/code/modules/antagonists/ert/minutemen.dm b/code/modules/antagonists/ert/minutemen.dm index 069ab6625c3..5e772227fd6 100644 --- a/code/modules/antagonists/ert/minutemen.dm +++ b/code/modules/antagonists/ert/minutemen.dm @@ -3,17 +3,20 @@ // ******************************************************************** /datum/antagonist/ert/minutemen - name = "CLIP Minutemen" + name = "C-MM Minuteman" outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/armed role = "Minuteman" +/datum/antagonist/ert/minutemen/eva + outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/hardsuit + /datum/antagonist/ert/minutemen/greet() to_chat(owner, "You are \the [role].") - var/missiondesc = "You serve in the armed forced of the Confederated League of Independent Planets (CLIP), an independent government. You are being deployed to the sector of [station_name()].
    " + var/missiondesc = "You serve in the Colonial Minutemen, the armed forces of the Confederated League of Independent Planets. You are being deployed to the sector of [station_name()].
    " if(leader) //If Squad Leader missiondesc += "Lead your squad to complete all objectives." else - missiondesc += "Follow orders given to you by your Leader, the Sergent." + missiondesc += "Follow orders given to you by your squadron leader." if(deathsquad) missiondesc += "You have been given the order to fire at will." @@ -21,70 +24,82 @@ to_chat(owner,missiondesc) /datum/antagonist/ert/minutemen/leader - name = "CLIP Minutemen Field Sergeant" + name = "C-MM Sergeant" leader = TRUE outfit = /datum/outfit/job/clip/minutemen/grunt/lead role = "Sergeant" +/datum/antagonist/ert/minutemen/leader/eva + outfit = /datum/outfit/job/clip/minutemen/grunt/lead/armed/hardsuit + /datum/antagonist/ert/minutemen/corpsman + name = "C-MM Field Corpsman" outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/med/armed - role = "Field Corpsman" + role = "Corpsman" /datum/antagonist/ert/minutemen/engi + name = "C-MM Field Engineer" outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/engi/armed - role = "Field Engineer" + role = "Engineer" /datum/antagonist/ert/minutemen/gunner + name = "C-MM Machinegunner" outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/gunner_armed role = "Field Gunner" /datum/antagonist/ert/minutemen/bard - name = "BARD Infantry" - outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/bard - role = "Minuteman" + name = "BARD Field Agent" + outfit = /datum/outfit/job/clip/minutemen/bard + role = "Agent" + +/datum/antagonist/ert/minutemen/bard/emergency + name = "BARD Xenofauna Specialist" + outfit = /datum/outfit/job/clip/minutemen/bard/emergency + role = "Specialist" /datum/antagonist/ert/minutemen/bard/flamer - name = "BARD Flamethrower Infantry" - outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/bard/flamer + name = "BARD Fire Control Specialist" + outfit = /datum/outfit/job/clip/minutemen/bard/emergency/flamer + role = "Fire Specialist" /datum/antagonist/ert/minutemen/bard/medic - name = "BARD Corpsman" - outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/bard/medic - role = "Corpsman" + name = "BARD Medical Aid Specialist" + outfit = /datum/outfit/job/clip/minutemen/bard/emergency/medic + role = "Medical Specialist" -/datum/antagonist/ert/minutemen/bard/leader - name = "BARD Sergeant" +/datum/antagonist/ert/minutemen/bard/emergency/leader + name = "BARD Master Sergeant" leader = TRUE - outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/bard/leader - role = "Sergeant" + outfit = /datum/outfit/job/clip/minutemen/bard/emergency/leader + role = "Master Sergeant" -/datum/antagonist/ert/minutemen/riot - name = "Riot Officer" - outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/riot - role = "Minuteman" +/datum/antagonist/ert/minutemen/military_police + name = "C-MM Military Police" + outfit = /datum/outfit/job/clip/minutemen/military_police + role = "Officer" -/datum/antagonist/ert/minutemen/riot/leader - name = "Riot Sergeant" +/datum/antagonist/ert/minutemen/military_police/riot + outfit = /datum/outfit/job/clip/minutemen/military_police/riot + +/datum/antagonist/ert/minutemen/military_police/leader + name = "C-MM Chief Military Police" leader = TRUE - outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/riot/leader - role = "Sergeant" + outfit = /datum/outfit/job/clip/minutemen/military_police/leader + role = "Chief Officer" + +/datum/antagonist/ert/minutemen/military_police/leader/riot + outfit = /datum/outfit/job/clip/minutemen/military_police/leader/riot -/datum/antagonist/ert/official/minutemen +/datum/antagonist/ert/minutemen/inspector name = "GOLD Inspector" - outfit = /datum/outfit/job/clip/investigator + outfit = /datum/outfit/job/clip/investigator/cm5 role = "Lieutenant" -/datum/antagonist/ert/official/minutemen/greet() - to_chat(owner, "You are the GOLD Inspector.") +/datum/antagonist/ert/minutemen/inspector/greet() + to_chat(owner, "You are a Labor Division Inspector.") to_chat(owner, "You are part of The Galactic Optimum Labor Division, a division of the CLIP Government. Your task: [ert_team.mission.explanation_text]") -/datum/antagonist/ert/minutemen/eva - name = "CLIP Minutemen" - outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/hardsuit - role = "Minuteman" - -/datum/antagonist/ert/minutemen/eva/leader - name = "CLIP Minutemen Field Sergeant" - leader = TRUE - outfit = /datum/outfit/job/clip/minutemen/grunt/lead/armed/hardsuit - role = "Sergeant" +/datum/antagonist/ert/minutemen/correspondant + name = "C-MM War Correspondant" + outfit = /datum/outfit/job/clip/correspondant + role = "Correspondant" diff --git a/code/modules/antagonists/ert/nanotrasen.dm b/code/modules/antagonists/ert/nanotrasen.dm index 11537e4bcea..9ea1aa42216 100644 --- a/code/modules/antagonists/ert/nanotrasen.dm +++ b/code/modules/antagonists/ert/nanotrasen.dm @@ -1,152 +1,39 @@ -// Official -/datum/antagonist/ert/official - name = "CentCom Official" - show_name_in_check_antagonists = TRUE - var/datum/objective/mission - role = "Inspector" - random_names = FALSE - outfit = /datum/outfit/centcom/centcom_official - -/datum/antagonist/ert/official/greet() - to_chat(owner, "You are a CentCom Official.") - if (ert_team) - to_chat(owner, "Central Command is sending you to [station_name()] with the task: [ert_team.mission.explanation_text]") - else - to_chat(owner, "Central Command is sending you to [station_name()] with the task: [mission.explanation_text]") - -/datum/antagonist/ert/official/forge_objectives() - if (ert_team) - return ..() - if(mission) - return - var/datum/objective/missionobj = new () - missionobj.owner = owner - missionobj.explanation_text = "Conduct a routine performance review of [station_name()]'s vessels." - missionobj.completed = TRUE - mission = missionobj - objectives |= mission - -// Standard ERT - -/datum/antagonist/ert/security // kinda handled by the base template but here for completion - -/datum/antagonist/ert/security/red - outfit = /datum/outfit/centcom/ert/security/alert - -/datum/antagonist/ert/engineer - role = "Engineer" - outfit = /datum/outfit/centcom/ert/engineer - -/datum/antagonist/ert/engineer/red - outfit = /datum/outfit/centcom/ert/engineer/alert - -/datum/antagonist/ert/medic - role = "Medical Officer" - outfit = /datum/outfit/centcom/ert/medic - -/datum/antagonist/ert/medic/red - outfit = /datum/outfit/centcom/ert/medic/alert - -/datum/antagonist/ert/commander - role = "Commander" - outfit = /datum/outfit/centcom/ert/commander - -/datum/antagonist/ert/commander/red - outfit = /datum/outfit/centcom/ert/commander/alert - -// Deathsquad - -/datum/antagonist/ert/deathsquad - name = "Deathsquad Trooper" - outfit = /datum/outfit/centcom/death_commando - role = "Trooper" - deathsquad = TRUE - -/datum/antagonist/ert/deathsquad/leader - name = "Deathsquad Officer" - outfit = /datum/outfit/centcom/death_commando - role = "Officer" - -/datum/antagonist/ert/deathsquad/New() - . = ..() - name_source = GLOB.commando_names - -/datum/antagonist/ert/deathsquad/apply_innate_effects(mob/living/mob_override) - ADD_TRAIT(owner, TRAIT_DISK_VERIFIER, DEATHSQUAD_TRAIT) - -/datum/antagonist/ert/deathsquad/remove_innate_effects(mob/living/mob_override) - REMOVE_TRAIT(owner, TRAIT_DISK_VERIFIER, DEATHSQUAD_TRAIT) - -// Janitor - -/datum/antagonist/ert/janitor - role = "Janitor" - outfit = /datum/outfit/centcom/ert/janitor - -/datum/antagonist/ert/janitor/heavy - role = "Heavy Duty Janitor" - outfit = /datum/outfit/centcom/ert/janitor/heavy - -// Intern - -/datum/antagonist/ert/intern - name = "CentCom Intern" - outfit = /datum/outfit/centcom/centcom_intern - random_names = FALSE - role = "Intern" - -/datum/antagonist/ert/intern/leader - name = "CentCom Head Intern" - outfit = /datum/outfit/centcom/centcom_intern/leader - role = "Head Intern" - -/datum/antagonist/ert/intern/unarmed - outfit = /datum/outfit/centcom/centcom_intern/unarmed - -/datum/antagonist/ert/intern/leader/unarmed - outfit = /datum/outfit/centcom/centcom_intern/leader/unarmed - -// Marine - -/datum/antagonist/ert/marine - name = "Marine Commander" - outfit = /datum/outfit/centcom/ert/marine - role = "Commander" - -/datum/antagonist/ert/marine/security - name = "Marine Heavy" - outfit = /datum/outfit/centcom/ert/marine/security - role = "Trooper" - -/datum/antagonist/ert/marine/engineer - name = "Marine Engineer" - outfit = /datum/outfit/centcom/ert/marine/engineer - role = "Engineer" - -/datum/antagonist/ert/marine/medic - name = "Marine Medic" - outfit = /datum/outfit/centcom/ert/marine/medic - role = "Medical Officer" - -// Loss Prevention - -/datum/antagonist/ert/lp - name = "Loss Prevention Security Specialist" - outfit = /datum/outfit/job/nanotrasen/security/ert/lp - role = "Security Specialist" - -/datum/antagonist/ert/lp/medic - name = "Loss Prevention Medical Specialist" - outfit = /datum/outfit/job/nanotrasen/security/ert/lp/medic - role = "Medical Specialist" - -/datum/antagonist/ert/lp/engineer - name = "Loss Prevention Engineering Specialist" - outfit = /datum/outfit/job/nanotrasen/security/ert/lp/engineer - role = "Engineering Specialist" - -/datum/antagonist/ert/lp/lieutenant - name = "Loss Prevention Lieutenant" - leader = TRUE - outfit = /datum/outfit/job/nanotrasen/security/ert/lp/lieutenant - role = "Lieutenant" +/datum/antagonist/ert/nanotrasen + name = "Vigilitas Security Officer" + outfit = /datum/outfit/job/nanotrasen/ert + role = "Security Officer" + +/datum/antagonist/ert/nanotrasen/delivery + name = "N+S Cargo Technician" + outfit = /datum/outfit/job/nanotrasen/cargo_tech + role = "Cargo Technician" + +/datum/antagonist/ert/nanotrasen/inspector + name = "Nanotrasen Central Command Liaison" + outfit = /datum/outfit/job/nanotrasen/ert/inspector + role = "Liaison" + +// /datum/antagonist/ert/nanotrasen/emergency +// name = "Vigilitas Response Officer" +// outfit = /datum/outfit/job/nanotrasen/ert/emergency +// role = "Response Officer" + +/datum/antagonist/ert/nanotrasen/leader + name = "Vigilitas Security Corporal" + outfit = /datum/outfit/job/nanotrasen/ert/leader + role = "Corporal" + +// /datum/antagonist/ert/nanotrasen/leader/emergency +// name = "Vigilitas Response Lieutenant" +// outfit = /datum/outfit/job/nanotrasen/ert/leader/emergency +// role = "Lieutenant" + +// /datum/antagonist/ert/nanotrasen/medic/emergency +// name = "Vigilitas Medical Response Officer" +// outfit = /datum/outfit/job/nanotrasen/ert/medic/emergency +// role = "Medic" + +// /datum/antagonist/ert/nanotrasen/emergency/engineer +// name = "Vigilitas Engineering Response Officer" +// outfit = /datum/outfit/job/nanotrasen/ert/emergency/engineer +// role = "Engineer" diff --git a/code/modules/antagonists/ert/roumain.dm b/code/modules/antagonists/ert/roumain.dm new file mode 100644 index 00000000000..d27c8f39e5c --- /dev/null +++ b/code/modules/antagonists/ert/roumain.dm @@ -0,0 +1,50 @@ +/datum/antagonist/ert/roumain + name = "Saint-Roumain Hunter" + outfit = /datum/outfit/job/roumain/ert + role = "Hunter" + +/datum/antagonist/ert/roumain/greet() + to_chat(owner, "You are the [role].") + var/missiondesc = "You are one of the devoted members of the Saint-Roumain Militia. You are being directed to the sector of [station_name()].
    " + if(leader) //If Squad Leader + missiondesc += "Lead your squad to complete all objectives." + else + missiondesc += "Follow orders given to you by your Leader, the Montage." + if(deathsquad) + missiondesc += "You have been given the order to fire at will." + + missiondesc += "
    Your Mission: [ert_team.mission.explanation_text]" + to_chat(owner,missiondesc) + +/datum/antagonist/ert/roumain/vickland + outfit = /datum/outfit/job/roumain/ert/vickland + +/datum/antagonist/ert/roumain/firestorm + outfit = /datum/outfit/job/roumain/ert/firestorm + +/datum/antagonist/ert/roumain/scout + outfit = /datum/outfit/job/roumain/ert/scout + +/datum/antagonist/ert/roumain/leader + name = "Saint-Roumain Hunter Montagne" + leader = TRUE + outfit = /datum/outfit/job/roumain/ert/leader + role = "Hunter Montagne" + +/datum/antagonist/ert/roumain/leader/colligne + name = "Saint-Roumain Hunter Colligne" + outfit = /datum/outfit/job/roumain/ert/leader/colligne + role = "Hunter clligne" + +/datum/antagonist/ert/roumain/leader/twobore + outfit = /datum/outfit/job/roumain/ert/leader/twobore + +/datum/antagonist/ert/roumain/medic + name = "Saint-Roumain Hunter Doctor" + outfit = /datum/outfit/job/roumain/ert/medic + role = "Doctor" + +/datum/antagonist/ert/roumain/engineer + name = "Saint-Roumain Machinist" + outfit = /datum/outfit/job/roumain/ert/engineer + role = "Hunter" diff --git a/code/modules/antagonists/ert/solgov.dm b/code/modules/antagonists/ert/solgov.dm index 6868fe9eb9b..c01f88a0096 100644 --- a/code/modules/antagonists/ert/solgov.dm +++ b/code/modules/antagonists/ert/solgov.dm @@ -7,14 +7,11 @@ random_names = FALSE role = "Sonnensöldner" -/datum/antagonist/ert/official/solgov +/datum/antagonist/ert/solgov/inspector name = "SolGov Inspector" outfit = /datum/outfit/job/solgov/ert/inspector role = "Solarian Inspector" -/datum/antagonist/ert/official/solgov/greet() - to_chat(owner, "You are a Solarian Inspector.") - if (ert_team) - to_chat(owner, "The Department of Administrative Affairs is sending you to [station_name()] with the task: [ert_team.mission.explanation_text]") - else - to_chat(owner, "The Department of Administrative Affairs is sending you to [station_name()] with the task: [mission.explanation_text]") +/datum/antagonist/ert/solgov/inspector/greet() + to_chat(owner, "You are the Solarian Inspector.") + to_chat(owner, "The Department of Administrative Affairs is sending you to [station_name()] with the task: [ert_team.mission.explanation_text]") diff --git a/code/modules/antagonists/ert/syndicate.dm b/code/modules/antagonists/ert/syndicate.dm index ab8fa4abc5f..7f2de02571b 100644 --- a/code/modules/antagonists/ert/syndicate.dm +++ b/code/modules/antagonists/ert/syndicate.dm @@ -22,14 +22,23 @@ outfit = /datum/outfit/job/syndicate/ert/leader role = "Sergeant" -/datum/antagonist/ert/syndicate/gorlex - name = "2nd Battlegroup Trooper" - outfit = /datum/outfit/job/syndicate/ert/gorlex - role = "Trooper" +/datum/antagonist/ert/syndicate/inspector + name = "ACLF Inspector" + outfit = /datum/outfit/job/syndicate/ert/inspector + role = "Inspector" + +/datum/antagonist/ert/official/syndicate/greet() + to_chat(owner, "You are a mid-rank official from the Liberation Front.") + to_chat(owner, "The Syndicate Coalition is sending you to [station_name()] with the task: [ert_team.mission.explanation_text]") -/datum/antagonist/ert/syndicate/gorlex/greet() +/datum/antagonist/ert/syndicate/ngr + name = "Gorlex Republic Serviceman" + outfit = /datum/outfit/job/syndicate/ert/ngr + role = "Serviceman" + +/datum/antagonist/ert/syndicate/ngr/greet() to_chat(owner, "You are the [name].") - var/missiondesc = "You're a soldier of the New Gorlex Republic sent to [station_name()].
    " + var/missiondesc = "You're an enlistee of the New Gorlex Republic sent to [station_name()].
    " if(leader) //If Squad Leader missiondesc += "Lead your team to ensure the completion of your objectives." else @@ -38,26 +47,31 @@ missiondesc += "
    Your Mission: [ert_team.mission.explanation_text]" to_chat(owner,missiondesc) -/datum/antagonist/ert/syndicate/gorlex/pointman - name = "Gorlex Republic Shotgunner" - outfit = /datum/outfit/job/syndicate/ert/gorlex/pointman - role = "Pointman" +/datum/antagonist/ert/syndicate/ngr/grenadier + name = "Gorlex Republic Grenadier" + outfit = /datum/outfit/job/syndicate/ert/ngr/grenadier + role = "Grenadier" -/datum/antagonist/ert/syndicate/gorlex/medic - name = "Gorlex Republic Medic" - outfit = /datum/outfit/job/syndicate/ert/gorlex/medic +/datum/antagonist/ert/syndicate/ngr/medic + name = "Gorlex Republic Field Medic" + outfit = /datum/outfit/job/syndicate/ert/ngr/medic role = "Medic" -/datum/antagonist/ert/syndicate/gorlex/sniper - name = "Gorlex Republic Sniper" - outfit = /datum/outfit/job/syndicate/ert/gorlex/sniper +/datum/antagonist/ert/syndicate/ngr/sniper + name = "Gorlex Republic Marksman" + outfit = /datum/outfit/job/syndicate/ert/ngr/sniper role = "Marksman" -/datum/antagonist/ert/syndicate/gorlex/leader +/datum/antagonist/ert/syndicate/ngr/leader name = "Gorlex Republic Sergeant" leader = TRUE - outfit = /datum/outfit/job/syndicate/ert/gorlex/leader - role = "Sergeant" + outfit = /datum/outfit/job/syndicate/ert/ngr/leader + role = "Officer" + +/datum/antagonist/ert/syndicate/ngr/inspector + name = "Gorlex Republic Official" + outfit = /datum/outfit/job/syndicate/ert/ngr/inspector + role = "Official" // cybersun @@ -73,7 +87,7 @@ missiondesc += "Lead your team to ensure the completion of your objectives." else missiondesc += "Follow orders given to you by your Sergeant." - if(prob(50) && !leader) + if(prob(50) && !leader && random_names) missiondesc += "
    In addition to your contract with Cybersun, you are also a Gorlex Hardliner. You do not like Cybersun, but you work with them regardless." missiondesc += "
    Your Mission: [ert_team.mission.explanation_text]" @@ -107,16 +121,50 @@ outfit = /datum/outfit/job/syndicate/ert/cybersun/medic/leader role = "Lead Medical Technician" -// inspector +/datum/antagonist/ert/syndicate/cybersun/inspector + name = "Cybersun Representative" + outfit = /datum/outfit/job/syndicate/ert/cybersun/inspector + role = "Representative" -/datum/antagonist/ert/official/syndicate - name = "Syndicate Inspector" - outfit = /datum/outfit/job/syndicate/ert/inspector - role = "Syndicate Inspector" +/datum/antagonist/ert/syndicate/hardliner + name = "Hardliner Mercenary" + outfit = /datum/outfit/job/syndicate/ert/hardliner + role = "Mercenary" -/datum/antagonist/ert/official/syndicate/greet() - to_chat(owner, "You are a Syndicate Inspector.") - if (ert_team) - to_chat(owner, "The Syndicate Coalition is sending you to [station_name()] with the task: [ert_team.mission.explanation_text]") - else - to_chat(owner, "The Syndicate Coalition is sending you to [station_name()] with the task: [mission.explanation_text]") +/datum/antagonist/ert/syndicate/hardliner/medic + name = "Hardliner Medic" + outfit = /datum/outfit/job/syndicate/ert/hardliner/medic + role = "Medic" + +/datum/antagonist/ert/syndicate/hardliner/engineer + name = "Hardliner Mechanic" + outfit = /datum/outfit/job/syndicate/ert/hardliner/engineer + role = "Mechanic" + +/datum/antagonist/ert/syndicate/hardliner/leader + name = "Hardliner Sergeant" + leader = TRUE + outfit = /datum/outfit/job/syndicate/ert/hardliner/leader + role = "Sergeant" + +// ramzi + +/datum/antagonist/ert/syndicate/ramzi + name = "Ramzi Clique Cell Member" + outfit = /datum/outfit/job/syndicate/ert/ramzi + role = "Cell Member" + +/datum/antagonist/ert/syndicate/ramzi/medic + name = "Ramzi Clique Medic" + outfit = /datum/outfit/job/syndicate/ert/ramzi/medic + role = "Cell Medic" + +/datum/antagonist/ert/syndicate/ramzi/demolitionist + name = "Ramzi Clique Demolitonist" + outfit = /datum/outfit/job/syndicate/ert/ramzi/demolitionist + role = "Cell Demolitonist" + +/datum/antagonist/ert/syndicate/ramzi/leader + name = "Ramzi Clique Cell Leader" + outfit = /datum/outfit/job/syndicate/ert/ramzi/leader + role = "Cell Leader" diff --git a/code/modules/antagonists/gang/gang.dm b/code/modules/antagonists/gang/gang.dm index 8f73b93f8fd..a1b493b87b7 100644 --- a/code/modules/antagonists/gang/gang.dm +++ b/code/modules/antagonists/gang/gang.dm @@ -112,7 +112,6 @@ /obj/item/clothing/under/color/darkgreen, /obj/item/clothing/neck/scarf/green, /obj/item/clothing/head/beanie/green, - /obj/item/clothing/suit/poncho/green, /obj/item/clothing/mask/bandana/green) free_clothes = list(/obj/item/clothing/mask/bandana/green, /obj/item/clothing/under/color/darkgreen, @@ -286,27 +285,18 @@ gang_id = "YAK" acceptable_clothes = list(/obj/item/clothing/head/soft/yellow, /obj/item/clothing/under/costume/yakuza, - /obj/item/clothing/shoes/yakuza, /obj/item/clothing/neck/scarf/yellow, /obj/item/clothing/head/beanie/yellow, /obj/item/clothing/mask/bandana/gold, - /obj/item/clothing/head/hardhat, - /obj/item/clothing/suit/yakuza) + /obj/item/clothing/head/hardhat) free_clothes = list(/obj/item/clothing/under/costume/yakuza, - /obj/item/clothing/shoes/yakuza, - /obj/item/clothing/suit/yakuza, /obj/item/clothing/head/hardhat, /obj/item/toy/crayon/spraycan) gang_objective = "The boss is thrilled about this new construction opportunity we've all been given, yadda yadda, look, he knows we're here to expand our business ventures for the clan, but Majima wanted it made VERY clear that we do NOT fuck this station's infrastructure up. If more than 15% of this station is busted when we get the hell out of here, it's your ass on the line." antag_hud_name = "Tojo" /datum/antagonist/gang/yakuza/check_gang_objective() - var/datum/station_state/current_state = new /datum/station_state() - current_state.count() - var/station_integrity = min(PERCENT(GLOB.start_state.score(current_state)), 100) - if(station_integrity < 85) - return FALSE - return TRUE + CRASH("Sorry this was cruft") /datum/antagonist/gang/jackbros name = "Jack Bros" @@ -315,12 +305,8 @@ gang_id = "JB" acceptable_clothes = list(/obj/item/clothing/head/soft/blue, /obj/item/clothing/under/costume/jackbros, - /obj/item/clothing/shoes/jackbros, - /obj/item/clothing/head/jackbros, /obj/item/clothing/mask/bandana/blue) free_clothes = list(/obj/item/clothing/under/costume/jackbros, - /obj/item/clothing/shoes/jackbros, - /obj/item/clothing/head/jackbros, /obj/item/toy/crayon/spraycan) gang_objective = "Hee-hello friends! We need to expand our influence, ho! Get a King Frost in as the Captain of this joint! Either get the original Captain on board with the program, or Hee-ho a fellow Jack Frost into the position yourselves!" antag_hud_name = "JackFrost" diff --git a/code/modules/antagonists/gang/outfits.dm b/code/modules/antagonists/gang/outfits.dm index ae16ec95647..f76bf026e12 100644 --- a/code/modules/antagonists/gang/outfits.dm +++ b/code/modules/antagonists/gang/outfits.dm @@ -23,7 +23,6 @@ glasses = /obj/item/clothing/glasses/hud/spacecop ears = /obj/item/radio/headset/headset_sec mask = null - head = /obj/item/clothing/head/spacepolice belt = /obj/item/gun/ballistic/automatic/pistol/candor r_pocket = /obj/item/lighter l_pocket = /obj/item/restraints/handcuffs @@ -31,10 +30,7 @@ backpack_contents = list(/obj/item/storage/box/handcuffs = 1, /obj/item/storage/box/teargas = 1, /obj/item/storage/box/flashbangs = 1, - /obj/item/shield/riot/tele = 1, - /obj/item/ammo_box/magazine/m45 = 3, - /obj/item/ammo_box/c45 = 2) - + /obj/item/shield/riot/tele = 1) /datum/outfit/families_police/beatcop/armored name = "Families: Armored Beat Cop" @@ -54,8 +50,7 @@ backpack_contents = list(/obj/item/storage/box/handcuffs = 1, /obj/item/storage/box/teargas = 1, /obj/item/storage/box/flashbangs = 1, - /obj/item/shield/riot/tele = 1, - /obj/item/storage/box/lethalshot = 2) + /obj/item/shield/riot/tele = 1) /datum/outfit/families_police/beatcop/fbi name = "Families: Space FBI Officer" @@ -66,8 +61,7 @@ /obj/item/storage/box/teargas = 1, /obj/item/storage/box/flashbangs = 1, /obj/item/shield/riot/tele = 1, - /obj/item/ammo_box/magazine/smgm9mm = 3, - /obj/item/ammo_box/c9mm = 2) + /obj/item/ammo_box/magazine/smgm9mm = 3) /datum/outfit/families_police/beatcop/military name = "Families: Space Military" diff --git a/code/modules/antagonists/morph/morph.dm b/code/modules/antagonists/morph/morph.dm index 19b0cc89152..9f9d4140cc6 100644 --- a/code/modules/antagonists/morph/morph.dm +++ b/code/modules/antagonists/morph/morph.dm @@ -16,7 +16,7 @@ status_flags = CANPUSH pass_flags = PASSTABLE ventcrawler = VENTCRAWLER_ALWAYS - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxHealth = 150 health = 150 diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm index 4fcceb227a7..88a3b176a2f 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm @@ -87,7 +87,6 @@ C.visible_message("[C] coughs up a half-digested telecrystal","You cough up a half-digested telecrystal!") break - CONFIG_SET(number/shuttle_refuel_delay, max(CONFIG_GET(number/shuttle_refuel_delay), CHALLENGE_SHUTTLE_DELAY)) SSblackbox.record_feedback("amount", "nuclear_challenge_mode", 1) qdel(src) @@ -99,9 +98,6 @@ if(GLOB.player_list.len < CHALLENGE_MIN_PLAYERS) to_chat(user, "The enemy crew is too small to be worth declaring war on.") return FALSE - if(!user.onSyndieBase()) - to_chat(user, "You have to be at your base to use this.") - return FALSE if(world.time-SSticker.round_start_time > CHALLENGE_TIME_LIMIT) to_chat(user, "It's too late to declare hostilities. Your benefactors are already busy with other schemes. You'll have to make do with what you have on hand.") return FALSE diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index 64880318566..e18f6ff922e 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -38,7 +38,7 @@ core = new /obj/item/nuke_core(src) STOP_PROCESSING(SSobj, core) update_appearance() - GLOB.poi_list |= src + SSpoints_of_interest.make_point_of_interest(src) previous_level = get_security_level() /obj/machinery/nuclearbomb/Destroy() @@ -46,7 +46,7 @@ if(!exploding) // If we're not exploding, set the alert level back to normal set_safety() - GLOB.poi_list -= src + SSpoints_of_interest.remove_point_of_interest(src) GLOB.nuke_list -= src QDEL_NULL(countdown) QDEL_NULL(core) @@ -436,11 +436,6 @@ else . = timer_set -/obj/machinery/nuclearbomb/blob_act(obj/structure/blob/B) - if(exploding) - return - qdel(src) - /obj/machinery/nuclearbomb/zap_act(power, zap_flags) ..() if(zap_flags & ZAP_MACHINE_EXPLOSIVE) @@ -478,8 +473,6 @@ off_station = NUKE_NEAR_MISS if((bomb_location.x < (128-NUKERANGE)) || (bomb_location.x > (128+NUKERANGE)) || (bomb_location.y < (128-NUKERANGE)) || (bomb_location.y > (128+NUKERANGE))) off_station = NUKE_NEAR_MISS - else if(bomb_location.onSyndieBase()) - off_station = NUKE_SYNDICATE_BASE else off_station = NUKE_MISS_STATION @@ -530,6 +523,10 @@ return TRUE return ..() +/obj/machinery/nuclearbomb/beer/empty/Initialize() + . = ..() + keg.reagent_id = null + /obj/machinery/nuclearbomb/beer/actually_explode() //Unblock roundend, we're not actually exploding. SSticker.roundend_check_paused = FALSE @@ -613,10 +610,10 @@ This is here to make the tiles around the station mininuke change when it's arme /obj/item/disk/nuclear/Initialize() . = ..() - AddElement(/datum/element/bed_tuckable, 6, -6, 0) + AddElement(/datum/element/bed_tuckable, 6, -6, 0, FALSE, FALSE) if(!fake) - GLOB.poi_list |= src + SSpoints_of_interest.make_point_of_interest(src) last_disk_move = world.time START_PROCESSING(SSobj, src) @@ -663,24 +660,10 @@ This is here to make the tiles around the station mininuke change when it's arme if(isobserver(user) || HAS_TRAIT(user.mind, TRAIT_DISK_VERIFIER)) . += "The serial numbers on [src] are incorrect." -/obj/item/disk/nuclear/attackby(obj/item/I, mob/living/user, params) - if(istype(I, /obj/item/claymore/highlander) && !fake) - var/obj/item/claymore/highlander/H = I - if(H.nuke_disk) - to_chat(user, "Wait... what?") - qdel(H.nuke_disk) - H.nuke_disk = null - return - user.visible_message("[user] captures [src]!", "You've got the disk! Defend it with your life!") - forceMove(H) - H.nuke_disk = src - return TRUE - return ..() - /obj/item/disk/nuclear/Destroy(force=FALSE) // respawning is handled in /obj/Destroy() if(force) - GLOB.poi_list -= src + SSpoints_of_interest.remove_point_of_interest(src) . = ..() /obj/item/disk/nuclear/fake diff --git a/code/modules/antagonists/nukeop/equipment/pinpointer.dm b/code/modules/antagonists/nukeop/equipment/pinpointer.dm index b316e60c5e1..c1f9ffa3742 100644 --- a/code/modules/antagonists/nukeop/equipment/pinpointer.dm +++ b/code/modules/antagonists/nukeop/equipment/pinpointer.dm @@ -32,7 +32,7 @@ target = null switch(mode) if(TRACK_NUKE_DISK) - var/obj/item/disk/nuclear/N = locate() in GLOB.poi_list + var/obj/item/disk/nuclear/N = locate() in SSpoints_of_interest.other_points_of_interest target = N if(TRACK_MALF_AI) for(var/V in GLOB.ai_list) diff --git a/code/modules/antagonists/nukeop/nukeop.dm b/code/modules/antagonists/nukeop/nukeop.dm index 9f807d9521e..f51c6414245 100644 --- a/code/modules/antagonists/nukeop/nukeop.dm +++ b/code/modules/antagonists/nukeop/nukeop.dm @@ -345,7 +345,7 @@ /datum/team/nuclear/antag_listing_entry() var/disk_report = "Nuclear Disk(s)
    " disk_report += "
    " - for(var/obj/item/disk/nuclear/N in GLOB.poi_list) + for(var/obj/item/disk/nuclear/N in SSpoints_of_interest.other_points_of_interest) disk_report += "" if(user.client.holder) @@ -1192,7 +1202,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Hide Prayers: [(chat_toggles & CHAT_PRAYER)?"Shown":"Hidden"]
    " dat += "Split Admin Tabs: [(toggles & SPLIT_ADMIN_TABS)?"Enabled":"Disabled"]
    " dat += "Fast MC Refresh: [(toggles & FAST_MC_REFRESH)?"Enabled":"Disabled"]
    " - dat += "Ignore Being Summoned as Cult Ghost: [(toggles & ADMIN_IGNORE_CULT_GHOST)?"Don't Allow Being Summoned":"Allow Being Summoned"]
    " dat += "Briefing Officer Outfit: [brief_outfit]
    " if(CONFIG_GET(flag/allow_admin_asaycolor)) dat += "
    " @@ -1474,7 +1483,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) balance -= initial(quirk_type.value) switch(change_type) if("species") - if((quirk_name in SSquirks.species_blacklist) && (pref_species.id in SSquirks.species_blacklist[quirk_name])) + if((quirk_name in SSquirks.species_blacklist) && (target_species.id in SSquirks.species_blacklist[quirk_name])) all_quirks_new -= quirk_name balance += initial(quirk_type.value) if("mood") @@ -2373,8 +2382,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) toggles ^= DEADMIN_POSITION_SECURITY if("toggle_deadmin_silicon") toggles ^= DEADMIN_POSITION_SILICON - if("toggle_ignore_cult_ghost") - toggles ^= ADMIN_IGNORE_CULT_GHOST if("be_special") var/be_special_type = href_list["be_special_type"] @@ -2513,6 +2520,13 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(current_tab == 2) show_loadout = TRUE + if("clear_heart") + hearted = FALSE + hearted_until = null + to_chat(user, "OOC Commendation Heart disabled") + save_preferences() + + ShowChoices(user) return 1 diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 17a64288ec1..2b21871a465 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -208,15 +208,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car READ_FILE(S["pda_color"], pda_color) READ_FILE(S["whois_visible"], whois_visible) - // Custom hotkeys - READ_FILE(S["key_bindings"], key_bindings) - check_keybindings() - READ_FILE(S["show_credits"], show_credits) //favorite outfits READ_FILE(S["favorite_outfits"], favorite_outfits) - var/list/parsed_favs = list() for(var/typetext in favorite_outfits) var/datum/outfit/path = text2path(typetext) @@ -224,6 +219,15 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car parsed_favs += path favorite_outfits = uniqueList(parsed_favs) + // OOC commendations + READ_FILE(S["hearted_until"], hearted_until) + if(hearted_until > world.realtime) + hearted = TRUE + + // Custom hotkeys + READ_FILE(S["key_bindings"], key_bindings) + check_keybindings() + //try to fix any outdated data if necessary if(needs_update >= 0) var/bacpath = "[path].updatebac" //todo: if the savefile version is higher then the server, check the backup, and give the player a prompt to load the backup @@ -352,6 +356,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["key_bindings"], key_bindings) WRITE_FILE(S["favorite_outfits"], favorite_outfits) WRITE_FILE(S["whois_visible"], whois_visible) + WRITE_FILE(S["hearted_until"], (hearted_until > world.realtime ? hearted_until : null)) return TRUE /datum/preferences/proc/load_character(slot) @@ -463,9 +468,15 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car READ_FILE(S["equipped_gear"], equipped_gear) if(config) //This should *probably* always be there, but just in case. if(length(equipped_gear) > CONFIG_GET(number/max_loadout_items)) - to_chat(parent, "Loadout maximum items exceeded in loaded slot, Your loadout has been cleared! You had [length(equipped_gear)]/[CONFIG_GET(number/max_loadout_items)] equipped items!") + to_chat(parent, span_userdanger("Loadout maximum items exceeded in loaded slot, Your loadout has been cleared! You had [length(equipped_gear)]/[CONFIG_GET(number/max_loadout_items)] equipped items!")) equipped_gear = list() - WRITE_FILE(S["equipped_gear"] , equipped_gear) + WRITE_FILE(S["equipped_gear"], equipped_gear) + + for(var/gear in equipped_gear) + if(!(gear in GLOB.gear_datums)) + to_chat(parent, span_warning("Removing nonvalid loadout item [gear] from loadout")) + equipped_gear -= gear //be GONE + WRITE_FILE(S["equipped_gear"], equipped_gear) READ_FILE(S["feature_human_tail"], features["tail_human"]) READ_FILE(S["feature_human_ears"], features["ears"]) diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm index ea626f397e5..fb2ade22a6d 100644 --- a/code/modules/client/verbs/ooc.dm +++ b/code/modules/client/verbs/ooc.dm @@ -61,6 +61,9 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") keyname = "[icon2html('icons/member_content.dmi', world, "blag")][keyname]" if(prefs.custom_ooc) keyname = "[keyname]" + if(prefs.hearted) + var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/chat) + keyname = "[sheet.icon_tag("emoji-heart")][keyname]" //The linkify span classes and linkify=TRUE below make ooc text get clickable chat href links if you pass in something resembling a url for(var/client/C in GLOB.clients) if(C.prefs.chat_toggles & CHAT_OOC) diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index f5c37b18997..7fb618f34dd 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -12,10 +12,12 @@ // Damn our lack of abstract interfeces if (istype(target, /obj/item/clothing/head/chameleon/drone)) var/obj/item/clothing/head/chameleon/drone/X = target - X.chameleon_action.random_look(owner) + var/datum/action/item_action/chameleon/change/chameleon_action_x = locate() in X.actions + chameleon_action_x.random_look(owner) if (istype(target, /obj/item/clothing/mask/chameleon/drone)) var/obj/item/clothing/mask/chameleon/drone/Z = target - Z.chameleon_action.random_look(owner) + var/datum/action/item_action/chameleon/change/chameleon_action_z = locate() in Z.actions + chameleon_action_z.random_look(owner) return 1 @@ -133,7 +135,8 @@ if(helmet_type) var/obj/item/clothing/head/chameleon/hat = H.head - hat.chameleon_action.update_look(user, helmet_type) + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in hat.actions + chameleon_action.update_look(user, helmet_type) // ID card sechud if(outfit.job_icon) @@ -320,11 +323,9 @@ can_adjust = FALSE armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/under/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/under chameleon_action.chameleon_name = "Jumpsuit" chameleon_action.chameleon_blacklist = typecacheof(list(/obj/item/clothing/under, /obj/item/clothing/under/color, /obj/item/clothing/under/rank, /obj/item/clothing/under/changeling), only_root_path = TRUE) @@ -334,10 +335,12 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/under/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/clothing/suit/chameleon @@ -351,11 +354,9 @@ resistance_flags = NONE armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/suit/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/suit chameleon_action.chameleon_name = "Suit" chameleon_action.chameleon_blacklist = typecacheof(list(/obj/item/clothing/suit/armor/abductor, /obj/item/clothing/suit/changeling), only_root_path = TRUE) @@ -365,10 +366,12 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/suit/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/clothing/glasses/chameleon @@ -379,11 +382,9 @@ resistance_flags = NONE armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/glasses/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/glasses chameleon_action.chameleon_name = "Glasses" chameleon_action.chameleon_blacklist = typecacheof(/obj/item/clothing/glasses/changeling, only_root_path = TRUE) @@ -393,10 +394,12 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/glasses/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/clothing/gloves/chameleon @@ -408,11 +411,9 @@ resistance_flags = NONE armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/gloves/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/gloves chameleon_action.chameleon_name = "Gloves" chameleon_action.chameleon_blacklist = typecacheof(list(/obj/item/clothing/gloves, /obj/item/clothing/gloves/color, /obj/item/clothing/gloves/changeling), only_root_path = TRUE) @@ -422,10 +423,12 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/gloves/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/clothing/head/chameleon @@ -436,11 +439,9 @@ resistance_flags = NONE armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/head/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/head chameleon_action.chameleon_name = "Hat" chameleon_action.chameleon_blacklist = typecacheof(/obj/item/clothing/head/changeling, only_root_path = TRUE) @@ -450,10 +451,12 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/head/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/clothing/head/chameleon/drone @@ -465,6 +468,7 @@ /obj/item/clothing/head/chameleon/drone/Initialize() . = ..() ADD_TRAIT(src, TRAIT_NODROP, ABSTRACT_ITEM_TRAIT) + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.random_look() var/datum/action/item_action/chameleon/drone/togglehatmask/togglehatmask_action = new(src) togglehatmask_action.UpdateButtonIcon() @@ -486,11 +490,9 @@ var/voice_change = 1 ///This determines if the voice changer is on or off. - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/mask/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/mask chameleon_action.chameleon_name = "Mask" chameleon_action.chameleon_blacklist = typecacheof(/obj/item/clothing/mask/changeling, only_root_path = TRUE) @@ -500,10 +502,12 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/mask/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/clothing/mask/chameleon/attack_self(mob/user) @@ -519,6 +523,7 @@ /obj/item/clothing/mask/chameleon/drone/Initialize() . = ..() ADD_TRAIT(src, TRAIT_NODROP, ABSTRACT_ITEM_TRAIT) + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.random_look() var/datum/action/item_action/chameleon/drone/togglehatmask/togglehatmask_action = new(src) togglehatmask_action.UpdateButtonIcon() @@ -537,11 +542,9 @@ armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/shoes/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/shoes chameleon_action.chameleon_name = "Shoes" chameleon_action.chameleon_blacklist = typecacheof(/obj/item/clothing/shoes/changeling, only_root_path = TRUE) @@ -551,6 +554,7 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/shoes/chameleon/noslip @@ -562,15 +566,15 @@ /obj/item/clothing/shoes/chameleon/noslip/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/storage/backpack/chameleon name = "backpack" - var/datum/action/item_action/chameleon/change/chameleon_action /obj/item/storage/backpack/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/storage/backpack chameleon_action.chameleon_name = "Backpack" chameleon_action.initialize_disguises() @@ -579,21 +583,22 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/storage/backpack/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/storage/belt/chameleon name = "toolbelt" desc = "Holds tools." - var/datum/action/item_action/chameleon/change/chameleon_action /obj/item/storage/belt/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/storage/belt chameleon_action.chameleon_name = "Belt" chameleon_action.initialize_disguises() @@ -607,19 +612,17 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/storage/belt/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) -/obj/item/radio/headset/chameleon - name = "radio headset" - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/radio/headset/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/radio/headset chameleon_action.chameleon_name = "Headset" chameleon_action.initialize_disguises() @@ -628,19 +631,17 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/radio/headset/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) -/obj/item/pda/chameleon - name = "PDA" - var/datum/action/item_action/chameleon/change/pda/chameleon_action - /obj/item/pda/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/pda chameleon_action.chameleon_name = "PDA" chameleon_action.chameleon_blacklist = typecacheof(list(/obj/item/pda/heads, /obj/item/pda/ai, /obj/item/pda/ai/pai), only_root_path = TRUE) @@ -650,24 +651,24 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/pda/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) -/obj/item/stamp/chameleon - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/stamp/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/stamp chameleon_action.chameleon_name = "Stamp" chameleon_action.initialize_disguises() /obj/item/stamp/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/clothing/neck/chameleon @@ -677,12 +678,9 @@ resistance_flags = NONE armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) -/obj/item/clothing/neck/chameleon - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/neck/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/neck chameleon_action.chameleon_name = "Neck Accessory" chameleon_action.initialize_disguises() @@ -691,8 +689,10 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/neck/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 166f437dc3a..c07c52a57e8 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -29,9 +29,9 @@ var/can_be_bloody = TRUE - //Var modification - PLEASE be careful with this I know who you are and where you live - var/list/user_vars_to_edit //VARNAME = VARVALUE eg: "name" = "butts" - var/list/user_vars_remembered //Auto built by the above + dropped() + equipped() + //set during equip_to_slot, removed when taking off. + //here lies some of the most batshit insane reference code I've ever seen. Look it up in the commit history + var/datum/weakref/wearer var/pocket_storage_component_path @@ -42,6 +42,13 @@ /// If this can be eaten by a moth var/moth_edible = TRUE + // Not used yet + /// Trait modification, lazylist of traits to add/take away, on equipment/drop in the correct slot + var/list/clothing_traits + + ///sets the icon path of the onmob blood overlay created by this object. syntax is "[var]blood" + var/blood_overlay_type = "uniform" + /obj/item/clothing/Initialize() if((clothing_flags & VOICEBOX_TOGGLABLE)) actions_types += /datum/action/item_action/toggle_voice_box @@ -103,31 +110,58 @@ return TRUE return ..() -/obj/item/clothing/Destroy() - user_vars_remembered = null //Oh god somebody put REFERENCES in here? not to worry, we'll clean it up - return ..() - /obj/item/clothing/dropped(mob/user) ..() if(!istype(user)) return - if(LAZYLEN(user_vars_remembered)) - for(var/variable in user_vars_remembered) - if(variable in user.vars) - if(user.vars[variable] == user_vars_to_edit[variable]) //Is it still what we set it to? (if not we best not change it) - user.vars[variable] = user_vars_remembered[variable] - user_vars_remembered = initial(user_vars_remembered) // Effectively this sets it to null. + for(var/trait in clothing_traits) + REMOVE_CLOTHING_TRAIT(user, trait) + if(wearer?.resolve()) + wearer = null /obj/item/clothing/equipped(mob/user, slot) ..() if (!istype(user)) return if(slot_flags & slot) //Was equipped to a valid slot for this item? - if (LAZYLEN(user_vars_to_edit)) - for(var/variable in user_vars_to_edit) - if(variable in user.vars) - LAZYSET(user_vars_remembered, variable, user.vars[variable]) - user.vv_edit_var(variable, user_vars_to_edit[variable]) + for(var/trait in clothing_traits) + ADD_CLOTHING_TRAIT(user, trait) + if(!wearer?.resolve()) + wearer = WEAKREF(user) + +/** + * Inserts a trait (or multiple traits) into the clothing traits list + * + * If worn, then we will also give the wearer the trait as if equipped + * + * This is so you can add clothing traits without worrying about needing to equip or unequip them to gain effects + */ +/obj/item/clothing/proc/attach_clothing_traits(trait_or_traits) + if(!islist(trait_or_traits)) + trait_or_traits = list(trait_or_traits) + + LAZYOR(clothing_traits, trait_or_traits) + var/mob/wearer = loc + if(istype(wearer) && (wearer.get_slot_by_item(src) & slot_flags)) + for(var/new_trait in trait_or_traits) + ADD_CLOTHING_TRAIT(wearer, new_trait) + +/** + * Removes a trait (or multiple traits) from the clothing traits list + * + * If worn, then we will also remove the trait from the wearer as if unequipped + * + * This is so you can add clothing traits without worrying about needing to equip or unequip them to gain effects + */ +/obj/item/clothing/proc/detach_clothing_traits(trait_or_traits) + if(!islist(trait_or_traits)) + trait_or_traits = list(trait_or_traits) + + LAZYREMOVE(clothing_traits, trait_or_traits) + var/mob/wearer = loc + if(istype(wearer)) + for(var/new_trait in trait_or_traits) + REMOVE_CLOTHING_TRAIT(wearer, new_trait) /obj/item/clothing/examine(mob/user) . = ..() @@ -382,11 +416,19 @@ if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) return else - if(attached_accessory) - remove_accessory(user) + if(attached_accessory && ispath(attached_accessory.pocket_storage_component_path) && loc == user) + attached_accessory.attack_hand(user) + return else rolldown() +/obj/item/clothing/under/CtrlClick(mob/user) + if(..()) + return 1 + if(attached_accessory) + remove_accessory(user) + + /obj/item/clothing/under/verb/jumpsuit_adjust() set name = "Adjust Jumpsuit Style" set category = null @@ -472,3 +514,17 @@ deconstruct(FALSE) else ..() + +///sets up the proper bloody overlay for a clothing object, using species data +/obj/item/clothing/proc/setup_blood_overlay() + var/overlay_file = 'icons/effects/blood.dmi' + + var/mob/living/carbon/human/wearing = wearer?.resolve() + var/custom_overlay_icon = wearing?.dna.species.custom_overlay_icon + if(custom_overlay_icon) + overlay_file = custom_overlay_icon + + var/mutable_appearance/bloody_clothing = mutable_appearance(overlay_file, "[blood_overlay_type]blood") + bloody_clothing.color = get_blood_dna_color(return_blood_DNA()) + + return bloody_clothing diff --git a/code/modules/clothing/factions/clip.dm b/code/modules/clothing/factions/clip.dm index ce87ea624d7..cdb3dcfce75 100644 --- a/code/modules/clothing/factions/clip.dm +++ b/code/modules/clothing/factions/clip.dm @@ -140,10 +140,10 @@ icon_state = "clip_trenchcoat" item_state = "trenchcoat_solgov" - body_parts_covered = CHEST|LEGS|ARMS + body_parts_covered = CHEST|GROIN armor = list("melee" = 25, "bullet" = 10, "laser" = 25, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 0) - cold_protection = CHEST|LEGS|ARMS - heat_protection = CHEST|LEGS|ARMS + cold_protection = CHEST|GROIN|LEGS|ARMS + heat_protection = CHEST|GROIN|LEGS|ARMS supports_variations = DIGITIGRADE_VARIATION_SAME_ICON_FILE @@ -156,7 +156,7 @@ icon_state = "clip_captaincoat" item_state = "clip_captaincoat" - body_parts_covered = CHEST|LEGS|ARMS + body_parts_covered = CHEST armor = list("melee" = 25, "bullet" = 10, "laser" = 25, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 0) cold_protection = CHEST|LEGS|ARMS heat_protection = CHEST|LEGS|ARMS @@ -215,7 +215,7 @@ armor = list("melee" = 50, "bullet" = 50, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 60, "fire" = 50, "acid" = 80) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/clip_spotter - allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) + allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) resistance_flags = null slowdown = 1 @@ -240,7 +240,7 @@ //hats /obj/item/clothing/head/clip name = "\improper CLIP Minutemen service cap" - desc = "A standard issue soft cap dating back to the original Zohil colonial peroid. While usually given to recruits and volunteers, it's sometimes used by occasionally by some Minutemen." + desc = "A standard issue soft cap dating back to the original Zohil colonial peroid. While usually given to recruits and new volunteers, it's used occasionally by some Minutemen." icon = 'icons/obj/clothing/faction/clip/head.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/clip/head.dmi' vox_override_icon = 'icons/mob/clothing/faction/clip/vox.dmi' @@ -330,6 +330,8 @@ icon_state = "clip_m10_correspondant" item_state = "clip_m10_correspondant" + supports_variations = VOX_VARIATION + /obj/item/clothing/head/helmet/riot/clip name = "\improper Minutemen riot helmet" desc = "Designed to protect against close range attacks. Mainly used by the CMM-BARD against hostile xenofauna, it also sees prolific use on some Minutemen member worlds." @@ -382,6 +384,14 @@ supports_variations = SNOUTED_VARIATION +/obj/item/clothing/mask/balaclava/combat + name = "combat balaclava" + desc = "A surprisingly advanced balaclava. While it doesn't muffle your voice, it has a mouthpiece for internals. Comfy to boot!" + icon_state = "combat_balaclava" + item_state = "combat_balaclava" + alternate_worn_layer = BODY_LAYER + flags_inv = HIDEFACIALHAIR|HIDEFACE|HIDEEARS|HIDEHAIR + //gloves /obj/item/clothing/gloves/color/latex/nitrile/clip @@ -415,36 +425,46 @@ supports_variations = VOX_VARIATION -/obj/item/storage/belt/military/clip/p16/PopulateContents() +/obj/item/storage/belt/military/clip/cm82/PopulateContents() for(var/i in 1 to 4) new /obj/item/ammo_box/magazine/p16(src) new /obj/item/grenade/frag(src) -/obj/item/storage/belt/military/clip/gal/PopulateContents() +/obj/item/storage/belt/military/clip/f4/PopulateContents() for(var/i in 1 to 4) - new /obj/item/ammo_box/magazine/gal(src) + new /obj/item/ammo_box/magazine/f4_308(src) new /obj/item/grenade/frag(src) /obj/item/storage/belt/military/clip/cm5/PopulateContents() for(var/i in 1 to 4) - new /obj/item/ammo_box/magazine/smgm9mm(src) + new /obj/item/ammo_box/magazine/cm5_9mm(src) new /obj/item/grenade/frag(src) /obj/item/storage/belt/military/clip/cm15/PopulateContents() for(var/i in 1 to 5) - new /obj/item/ammo_box/magazine/cm15_mag(src) + new /obj/item/ammo_box/magazine/cm15_12g(src) new /obj/item/grenade/frag(src) -/obj/item/storage/belt/military/clip/e50/PopulateContents() +/obj/item/storage/belt/military/clip/cm15_inc/PopulateContents() for(var/i in 1 to 5) + new /obj/item/ammo_box/magazine/cm15_12g/incendiary(src) + new /obj/item/grenade/frag(src) + +/obj/item/storage/belt/military/clip/e50/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_w_class = WEIGHT_CLASS_NORMAL + +/obj/item/storage/belt/military/clip/e50/PopulateContents() + for(var/i in 1 to 3) new /obj/item/stock_parts/cell/gun/large(src) new /obj/item/grenade/frag(src) - new /obj/item/screwdriver/nuke(src) + new /obj/item/screwdriver(src) /obj/item/storage/belt/military/clip/engi/PopulateContents() new /obj/item/screwdriver/power(src) new /obj/item/crowbar/power(src) - new /obj/item/weldingtool/experimental(src) + new /obj/item/weldingtool/electric(src) new /obj/item/multitool(src) new /obj/item/construction/rcd/combat(src) new /obj/item/extinguisher/mini(src) @@ -453,7 +473,7 @@ /obj/item/storage/belt/military/clip/flamer/PopulateContents() for(var/i in 1 to 3) new /obj/item/reagent_containers/glass/beaker/large/fuel(src) - new /obj/item/ammo_box/magazine/co9mm(src) + new /obj/item/ammo_box/magazine/cm23(src) /obj/item/storage/belt/medical/webbing/clip name = "medical webbing" diff --git a/code/modules/clothing/factions/frontiersmen.dm b/code/modules/clothing/factions/frontiersmen.dm index 9bac6c40a00..7c485782326 100644 --- a/code/modules/clothing/factions/frontiersmen.dm +++ b/code/modules/clothing/factions/frontiersmen.dm @@ -10,6 +10,7 @@ can_adjust = FALSE icon = 'icons/obj/clothing/faction/frontiersmen/uniforms.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/frontiersmen/uniforms.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/under/frontiersmen/deckhand name = "\improper deckhand jumpsuit" @@ -40,24 +41,26 @@ //Unarmored suits// /////////////////// -/obj/item/clothing/suit/frontiersmen +/obj/item/clothing/suit/frontiersmen //Ideally, the basic suit model here should be turned into a placeholder model, and this item have "smock" or "apron" added on the end. name = "frontiersmen smock" desc = "A basic white surgical apron worn by the Frontiersmen. It seems it could stain very easily..." icon_state = "frontier_surgery" icon = 'icons/obj/clothing/faction/frontiersmen/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/frontiersmen/suits.dmi' + allowed = MEDICAL_SUIT_ALLOWED_ITEMS ////////////////// //Armored suits// ///////////////// -/obj/item/clothing/suit/armor/vest/bulletproof/frontier - name = "\improper Frontiersmen bulletproof armor" +/obj/item/clothing/suit/armor/vest/frontier + name = "\improper Frontiersmen armor vest" desc = "A scrap piece of armor made of disused protective plates. This one was used to protect the squishy bits of a Frontiersman, once." icon_state = "frontier_armor" icon = 'icons/obj/clothing/faction/frontiersmen/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/frontiersmen/suits.dmi' blood_overlay_type = "armor" + supports_variations = VOX_VARIATION /obj/item/clothing/suit/armor/vest/marine/frontier name = "light tactical armor vest" @@ -71,13 +74,13 @@ name = "reinforced fur coat" desc = "A stiff olive-green coat, meant for frigid conditions. Commonly worn by Frontiersmen command." icon_state = "frontier_coat" - body_parts_covered = CHEST|GROIN|ARMS + body_parts_covered = CHEST|GROIN cold_protection = CHEST|GROIN|ARMS heat_protection = CHEST|GROIN|ARMS icon_state = "frontier_coat" item_state = "frontier_coat" blood_overlay_type = "coat" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) icon = 'icons/obj/clothing/faction/frontiersmen/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/frontiersmen/suits.dmi' @@ -85,7 +88,7 @@ name = "frontiersmen fireproof coat" desc = "A stiff olive-green coat, used particularly by Frontiersmen flame troopers. It seems to be lined with asbestos, to provide maximum heat and fire deterrence... At the cost of comfort. And mesothelioma." icon_state = "frontier_fireproof_suit" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.9 permeability_coefficient = 0.5 @@ -127,7 +130,7 @@ name = "frontiersman cap" desc = "An olive-green and grey baseball hat, worn by cargo technicians working under the Frontiersmen. Even they have the rights for a cool cap!" icon_state = "frontiersoft" - soft_type = "frontiersmen" + soft_type = "frontier" icon = 'icons/obj/clothing/faction/frontiersmen/head.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/frontiersmen/head.dmi' @@ -142,7 +145,7 @@ name = "\improper Frontiersmen officer beret" desc = "A scratchy olive green beret emblazoned with the Frontiersmen insignia, worn by Frontiersmen who want to look good while intimidating freighter captains." icon_state = "frontier_officer_beret" - armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) /obj/item/clothing/head/frontier name = "frontier surgical cap" @@ -162,17 +165,20 @@ name = "\improper frontiersmen commander's cap" desc = "An imposing peaked cap, meant for a commander of the Frontiersmen." icon_state = "frontier_cap" + supports_variations = VOX_VARIATION /obj/item/clothing/head/frontier/admiral name = "\improper frontiersmen admiral's cap" desc = "An imposing peaked cap meant for only the highest of officers of the Frontiersmen pirate fleet." icon_state = "frontier_admiral_cap" + supports_variations = VOX_VARIATION /obj/item/clothing/head/helmet/bulletproof/x11/frontier name = "\improper frontiersmen X-11 helmet" desc = "A heavily modified X-11 pattern helmet used by the Frontiersmen pirate fleet." icon_state = "x11helm_frontier" unique_reskin = null + supports_variations = VOX_VARIATION /obj/item/clothing/head/helmet/bulletproof/x11/frontier/fireproof name = "\improper fireproof frontiersmen X-11 helmet" @@ -184,12 +190,18 @@ resistance_flags = FIRE_PROOF armor = list("melee" = 15, "bullet" = 60, "laser" = 10, "energy" = 10, "bomb" = 40, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) -/obj/item/clothing/head/helmet/marine/frontier +/obj/item/clothing/head/helmet/frontier name = "frontiersmen reinforced helmet" desc = "A reinforced Frontiersmen X-11. The front plate has a small window to let the user see." icon_state = "marine_frontier" icon = 'icons/obj/clothing/faction/frontiersmen/head.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/frontiersmen/head.dmi' + armor = list("melee" = 35, "bullet" = 55, "laser" = 45, "energy" = 25, "bomb" = 30, "bio" = 75, "fire" = 40, "acid" = 50) + slowdown = 0.1 + min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT + clothing_flags = STOPSPRESSUREDAMAGE | SNUG_FIT | BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS + resistance_flags = FIRE_PROOF | ACID_PROOF + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES //////////// //Glasses// @@ -225,6 +237,33 @@ unique_reskin = null +/obj/item/storage/belt/security/military/frontiersmen/illestren/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/illestren_a850r(src) + new /obj/item/grenade/frag(src) + +/obj/item/storage/belt/security/military/frontiersmen/skm_ammo/PopulateContents() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/skm_762_40(src) + new /obj/item/grenade/frag(src) + +/obj/item/storage/belt/security/military/frontiersmen/mauler_mp_ammo/PopulateContents() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/m9mm_mauler(src) + new /obj/item/grenade/frag(src) + +/obj/item/storage/belt/security/military/frontiersmen/spitter_ammo/PopulateContents() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/spitter_9mm(src) + new /obj/item/grenade/frag(src) + +/obj/item/storage/belt/security/military/frontiersmen/flamer/PopulateContents() + for(var/i in 1 to 4) + new /obj/item/reagent_containers/glass/beaker/large/napalm(src) + new /obj/item/grenade/frag(src) + + /obj/item/storage/belt/medical/webbing/frontiersmen name = "leather medical bandolier" desc = "A rudimentary leather bandolier, utilized by both independents and frontiersmen alike. This one is painted white, usually to be worn by a medic." @@ -243,18 +282,10 @@ new /obj/item/hypospray/mkii(src) update_appearance() - -/obj/item/storage/belt/security/military/frontiersmen/skm_ammo/PopulateContents() - for(var/i in 1 to 4) - new /obj/item/ammo_box/magazine/skm_762_40(src) - new /obj/item/grenade/frag(src) - -/obj/item/storage/belt/security/military/frontiersmen/aps_mp_ammo/PopulateContents() //replace with spitter. remind me. - for(var/i in 1 to 4) - new /obj/item/ammo_box/magazine/pistolm9mm(src) - new /obj/item/grenade/frag(src) - -/obj/item/storage/belt/security/military/frontiersmen/flamer/PopulateContents() - for(var/i in 1 to 4) - new /obj/item/reagent_containers/glass/beaker/large/napalm(src) - new /obj/item/grenade/frag(src) +/obj/item/storage/belt/medical/webbing/frontiersmen/combat/PopulateContents() + new /obj/item/reagent_containers/hypospray/medipen/stimulants(src) + new /obj/item/reagent_containers/hypospray/medipen/stimulants(src) + new /obj/item/reagent_containers/medigel/silver_sulf(src) + new /obj/item/reagent_containers/medigel/styptic(src) + new /obj/item/stack/medical/gauze/twelve(src) + new /obj/item/stack/medical/splint(src) diff --git a/code/modules/clothing/factions/gezena.dm b/code/modules/clothing/factions/gezena.dm index aa274e15948..2466ebb3a5c 100644 --- a/code/modules/clothing/factions/gezena.dm +++ b/code/modules/clothing/factions/gezena.dm @@ -36,10 +36,12 @@ item_state = "bluecloth" blood_overlay_type = "coat" togglename = "zipper" - body_parts_covered = CHEST + body_parts_covered = CHEST|GROIN|ARMS + cold_protection = CHEST|GROIN|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON - armor = list("melee" = 20, "bullet" = 20, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 0) //Armored suit @@ -100,6 +102,10 @@ w_class = WEIGHT_CLASS_NORMAL supports_variations = DIGITIGRADE_VARIATION +/obj/item/clothing/suit/space/gezena/Initialize() + . = ..() + allowed = GLOB.security_hardsuit_allowed + /obj/item/clothing/head/helmet/space/gezena name = "\improper Eridanite model E-3 helmet" desc = "A celebration of the diversity in Epsilon Eridani, the E-3 spacesuit helmet features rubberized grommets fitting for any length of horn, and an internal monitor for life support." @@ -130,6 +136,9 @@ desc = "The standard cap of the Epsilon Eridani Armed Forces, in Navy colors. Due to the hazards of sunburn and insect-spread diseases, this cap features a flap on its back." icon_state = "navalflap" item_state = "bluecloth" + cold_protection = HEAD + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) /obj/item/clothing/head/gezena/marine name = "\improper EAFMC Cap" @@ -143,6 +152,12 @@ icon_state = "marineflap" item_state = "marinecloth" +/obj/item/clothing/head/gezena/flap/marine + name = "\improper PGFMC Betzu-il cap" + desc = "The standard cap of the PGF military, in Marine Corps colors. “betzu-il”, translating to “sun-blocker”, refers to the flap at the back for protection against natural hazards such as sunburns, sandstorms, and biting insects." + icon_state = "marineflap" + item_state = "marinecloth" + /obj/item/clothing/head/gezena/marine/lead name = "\improper EAFMC Commander Cap" desc = "The standard cap of the PGF military, in Marine Corps colors. The silver markings denote it as a commander's cap." @@ -155,6 +170,12 @@ icon_state = "squadflap" item_state = "marinecloth" +/obj/item/clothing/head/gezena/flap/marine/lead + name = "\improper PGFMC Commander's' Betzu-il cap" + desc = "The standard cap of the PGF military, in Marine Corps colors. “betzu-il”, translating to “sun-blocker”, refers to the flap at the back for protection against natural hazards such as sunburns, sandstorms, and biting insects. The silver markings denote it as a commander's cap." + icon_state = "squadflap" + item_state = "marinecloth" + /obj/item/clothing/head/gezena/medic name = "\improper EAF medic cap" desc = "The standard cap of the Epsilon Eridani Armed Forces. The coloring indicates the wearer as a medical officer." @@ -167,6 +188,12 @@ icon_state = "medicflap" item_state = "whitecloth" +/obj/item/clothing/head/gezena/flap/medic + name = "\improper PGF medic Betzu-il cap" + desc = "The standard cap of the PGF military. “betzu-il”, translating to “sun-blocker”, refers to the flap at the back for protection against natural hazards such as sunburns, sandstorms, and biting insects. The coloring indicates the wearer as a medical officer." + icon_state = "medicflap" + item_state = "whitecloth" + /obj/item/clothing/head/gezena/captain // no captain flap yet(?) name = "\improper EAFN captain's cap" desc = "The standard cap of the Epsilon Eridani Armed Forces, in Navy colors. The decoration indicates the wearer as a ship's Captain." @@ -212,7 +239,6 @@ name = "\improper PGFN Captain's Gripper Gloves" desc = "As the name suggests, the gloves employed by the Epsilon Eridani Armed Forces are designed to ensure the highest possible grip is maintained while also providing protection from blisters in work environments. Bears the silver standard of an Eridanite captain." icon_state = "captaingloves" - siemens_coefficient = 0 //Boots @@ -220,7 +246,7 @@ name = "\improper Eridanite steel-toed boots" desc = "These boots have steel protection around the toes. Standard issue to all members of all branches of the Epsilon Eridani Armed Forces." icon = 'icons/obj/clothing/faction/gezena/feet.dmi' - //mob_overlay_icon = 'icons/mob/clothing/faction/gezena/feet.dmi' todo: find out why digi breaks here + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/feet.dmi' icon_state = "pgfboots" item_state = "jackboots" @@ -237,6 +263,20 @@ item_state = "bluecloth" unique_reskin = null +/obj/item/storage/belt/military/gezena/bg16/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/stock_parts/cell/gun/pgf(src) + new /obj/item/screwdriver(src) + +/obj/item/storage/belt/military/gezena/engineer/PopulateContents() + . = ..() + for(var/i in 1 to 2) + new /obj/item/stock_parts/cell/gun/pgf(src) + new /obj/item/screwdriver(src) + new /obj/item/grenade/c4 + new /obj/item/grenade/c4 + /obj/item/storage/belt/medical/gezena name = "\improper EAF Medical gear harness" desc = "A lightweight harness covered in pouches, supplied to the ground troops of the EAF. This variant is designed for carrying medical supplies." @@ -247,6 +287,17 @@ icon_state = "medpouches" item_state = "whitecloth" +/obj/item/storage/belt/medical/gezena/paramedic/PopulateContents() + new /obj/item/reagent_containers/medigel/styptic(src) + new /obj/item/reagent_containers/medigel/styptic(src) + new /obj/item/reagent_containers/medigel/silver_sulf(src) + new /obj/item/reagent_containers/medigel/silver_sulf(src) + new /obj/item/reagent_containers/medigel/synthflesh(src) + new /obj/item/stack/medical/gauze/twelve(src) + new /obj/item/stack/medical/splint(src) + . = ..() + + //Cloaks /obj/item/clothing/neck/cloak/gezena diff --git a/code/modules/clothing/factions/hardliners.dm b/code/modules/clothing/factions/hardliners.dm index 958657920e7..e27c11c9eef 100644 --- a/code/modules/clothing/factions/hardliners.dm +++ b/code/modules/clothing/factions/hardliners.dm @@ -28,13 +28,14 @@ //Unarmored suits// /////////////////// -/obj/item/clothing/suit/hardliners +/obj/item/clothing/suit/hardliners //Ideally, the basic suit model here should be turned into a placeholder model, and this item have "smock" or "apron" added on the end. name = "white smock" desc = "A plain-white surgical smock typically worn by both Hardliners and Cybersun staff. Even mercenaries need medical attention!" icon = 'icons/obj/clothing/faction/hardliners/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi' icon_state = "hl_apron" item_state = "whitecloth" + allowed = MEDICAL_SUIT_ALLOWED_ITEMS /obj/item/clothing/suit/hazardvest/hardliners name = "blood-red hazard vest" @@ -44,6 +45,20 @@ icon_state = "hl_hazard" item_state = "whitecloth" +/obj/item/clothing/suit/hooded/wintercoat/security/hardliners + name = "hardliner winter coat" + desc = "A stark-white winter coat used by Marauders of the Hardliner movement, the zipper tab displaying the cracked emblem of the Gorlex Marauders." + icon_state = "coathl" + item_state = "coathl" + icon = 'icons/obj/clothing/faction/hardliners/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi' + hoodtype = /obj/item/clothing/head/hooded/winterhood/security/hardliners + +/obj/item/clothing/head/hooded/winterhood/security/hardliners + icon_state = "hood_hl" + icon = 'icons/obj/clothing/faction/hardliners/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/head.dmi' + ////////////////// //Armored suits// ///////////////// @@ -69,22 +84,22 @@ /obj/item/clothing/suit/armor/hardliners/sergeant name = "hardliners sergeant jacket" desc = "An armored jacket typically worn by sergeant of the Hardliners. They're reminiscent of the garb worn by old Gorlex navymen, prior to its destruction." - body_parts_covered = CHEST|GROIN|ARMS + body_parts_covered = CHEST|GROIN icon_state = "hl_sergeant" item_state = "hl_sergeant" blood_overlay_type = "coat" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) /obj/item/clothing/suit/toggle/armor/vest/hardliners name = "hardliners captain coat" desc = "An imposing armored coat worn by captains of Hardliner fleets, hand-designed by Cybersun tailors to provide maximum protection to its wearer." - body_parts_covered = CHEST|GROIN|ARMS + body_parts_covered = CHEST|GROIN icon_state = "hl_captain" item_state = "hl_captain" icon = 'icons/obj/clothing/faction/hardliners/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi' blood_overlay_type = "coat" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) togglename = "buttons" /////////////// @@ -111,7 +126,27 @@ icon = 'icons/obj/clothing/faction/hardliners/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi' helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/hl - lightweight = 1 + jetpack = null + +/obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/hl + name = "elite white-red hardsuit helmet" + desc = "An elite version of the infamous white-red Hardliner hardsuit, with improved armor and fireproofing. It is in EVA mode. Property of Gorlex Marauders." + alt_desc = "An elite version of the infamous white-red Hardliner hardsuit, with improved armor and fireproofing. It is in combat mode. Property of Gorlex Marauders." + icon_state = "hardsuit0-hlelite" + hardsuit_type = "hlelite" + icon = 'icons/obj/clothing/faction/hardliners/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/head.dmi' + +/obj/item/clothing/suit/space/hardsuit/syndi/elite/hl + name = "elite white-red hardsuit" + desc = "An elite version of the infamous white-red Hardliner hardsuit, with improved armor and fireproofing. It is in travel mode." + alt_desc = "An elite version of the infamous white-red Hardliner hardsuit, with improved armor and fireproofing. It is in combat mode." + icon_state = "hardsuit0-hlelite" + item_state = "hardsuit0-hlelite" + hardsuit_type = "hlelite" + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/hl + icon = 'icons/obj/clothing/faction/hardliners/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi' jetpack = null ///////// @@ -150,7 +185,7 @@ /obj/item/clothing/head/helmet/hardliners/swat name = "hardliners pilot helmet" - desc = "A modified X-11 helmet utilized by regular pilots, as well as the feared mech pilots of the Hardliner movement. The attached visor helps protect against sudden flashes from explosions." + desc = "A modified X-11 helmet utilized by regular pilots, as well as the feared exosuit pilots of the Hardliner movement. The attached visor helps protect against sudden flashes from explosions." flash_protect = FLASH_PROTECTION_WELDER icon_state = "hl_pilot" item_state = "hl_pilot" @@ -179,3 +214,9 @@ item_state = "hl_webbing" icon = 'icons/obj/clothing/faction/hardliners/belt.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/belt.dmi' + +/obj/item/storage/belt/security/webbing/hardliners/sidewinder/PopulateContents() + . = ..() + new /obj/item/ammo_box/magazine/m57_39_sidewinder(src) + new /obj/item/ammo_box/magazine/m57_39_sidewinder(src) + new /obj/item/ammo_box/magazine/m57_39_sidewinder(src) diff --git a/code/modules/clothing/factions/nanotrasen.dm b/code/modules/clothing/factions/nanotrasen.dm index 664c534d236..9d2c8ba3899 100644 --- a/code/modules/clothing/factions/nanotrasen.dm +++ b/code/modules/clothing/factions/nanotrasen.dm @@ -9,7 +9,8 @@ righthand_file = 'icons/mob/inhands/faction/nanotrasen/nt_righthand.dmi' icon_state = "deckhand" item_state = "graycloth" - supports_variations = DIGITIGRADE_VARIATION + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION // Engineering uniforms /obj/item/clothing/under/nanotrasen/engineering @@ -17,12 +18,16 @@ desc = "A dirty grey jumpsuit with reflective blue flashes on the limbs and a wrench icon on the back. A Nanotrasen, Inc. logo is stitched into the collar." icon_state = "engi" item_state = "greycloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/under/nanotrasen/engineering/atmos name = "atmospherics jumpsuit" desc = "A thick grey jumpsuit with black stripes and an 'O2' icon on the back. A Nanotrasen, Inc. logo is stitched into the collar." icon_state = "atmos_tech" item_state = "greycloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/under/nanotrasen/engineering/director name = "engineering director's overalls" @@ -30,18 +35,23 @@ icon_state = "engi_director" item_state = "blackcloth" + //Supply uniforms /obj/item/clothing/under/nanotrasen/supply name = "cargo handler shorts" desc = "A cheap work shirt and black shorts, typical of cargo handlers and clerks at N+S Logistics." icon_state = "supply" item_state = "browncloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/under/nanotrasen/supply/qm name = "supply director slacks" desc = "Crisp slacks and a pressed brown shirt that any supply director could be proud of. N+S Logistics' compass rose logo is embossed on every button." icon_state = "supply_director" item_state = "browncloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/under/nanotrasen/supply/miner name = "mining overalls" @@ -74,12 +84,16 @@ desc = "A crisp white shirt with blue stripes on the arms, identifying the owner as trained Nanotrasen medical staff. The faint smell of antiseptic won't wash out." icon_state = "doctor" item_state = "whitecloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/under/nanotrasen/medical/paramedic name = "paramedic uniform" desc = "Tough synthetic pants and a white uniform shirt, designed to handle all manner of scrapes and splashes in the line of duty. The tag identifies this as property of Nanotrasen, Inc." icon_state = "paramedic" item_state = "whitecloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/under/nanotrasen/medical/director name = "medical director's slacks" @@ -94,24 +108,32 @@ desc = "A grey jumpsuit with purple sleeves and faint stains on the elbows and knees. It looks stiff and cheap, but is surprisingly comfortable." icon_state = "janitor" item_state = "graycloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/under/nanotrasen/affairs name = "neatly pleated slacks" desc = "Flawlessly pleated slacks and a linen shirt with the Nanotrasen logo stitched repeatedly into the cuffs and collar. It exudes an aura of quiet authority." icon_state = "affairs" item_state = "whitecloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/under/nanotrasen/security name = "security slacks" desc = "A starched grey uniform with red arm flashes, of a type seen throughout the core worlds. The Vigilitas Interstellar logo is proudly emblazoned on the front." icon_state = "security" item_state = "graycloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/under/nanotrasen/security/director name = "security director's slacks" desc = "A robust crimson uniform, heavily starched, with a Vigilitas logo neatly stitched onto either end of the collar. The last line of defense for Vigilitas's managerial staff." icon_state = "security_director" item_state = "redcloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION //Command uniforms /obj/item/clothing/under/nanotrasen/captain @@ -163,24 +185,31 @@ desc = "A thick fluid-repelling smock rendered in what is unmistakeably Nanotrasen Blue. The tag on the inside declares it property of Nanotrasen, Inc." icon_state = "med_smock" item_state = "bluecloth" + allowed = MEDICAL_SUIT_ALLOWED_ITEMS /obj/item/clothing/suit/nanotrasen/suitjacket name = "fancy black suit jacket" desc = "A fine black linen suit jacket with blue markings and a Nanotrasen lapel pin. It has a strangely menacing aura." icon_state = "suit_jacket" item_state = "blackcloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/suit/nanotrasen/vest name = "black hazard vest" desc = "A thin black vest with reflective markings, worn to guarantee visibility when operating around industrial equipment or in dark or dusty conditions. Property of Nanotrasen, Inc." icon_state = "engi_vest" item_state = "blackcloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/suit/nanotrasen/vest/blue name = "blue hazard vest" desc = "A thin vest with reflective stripes, worn to guarantee visibility in dangerous conditions. The vest itself is an offensively bright shade of Nanotrasen Blue. Property of Nanotrasen, Inc." icon_state = "atmos_vest" item_state = "bluecloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/suit/toggle/nanotrasen name = "officer's coat" @@ -230,19 +259,23 @@ icon_state = "armor" item_state = "blackcloth" body_parts_covered = CHEST|GROIN - armor = list("melee" = 30, "bullet" = 40, "laser" = 30, "energy" = 50, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 90) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) resistance_flags = FIRE_PROOF /obj/item/clothing/suit/armor/nanotrasen/slim name = "slim armor vest" icon_state = "armor_slim" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/suit/armor/nanotrasen/sec_director name = "security director's overcoat" desc = "A tailored black overcoat, made from cutting-edge ballistic fabrics and composites. Vigilitas's 'VI' logo is embossed on every button. Intimidating and profoundly stylish." icon_state = "command_coat" - body_parts_covered = CHEST|GROIN|ARMS - armor = list("melee" = 30, "bullet" = 0, "laser" = 30, "energy" = 20, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 90) + body_parts_covered = CHEST|GROIN + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 90) + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/suit/armor/nanotrasen/captain name = "captain's jacket" @@ -250,7 +283,7 @@ icon_state = "armor_captain" item_state = "bluecloth" body_parts_covered = CHEST|GROIN - armor = list("melee" = 50, "bullet" = 60, "laser" = 60, "energy" = 50, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 90) + armor = list("melee" = 50, "bullet" = 40, "laser" = 50, "energy" = 50, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 90) resistance_flags = FIRE_PROOF /obj/item/clothing/suit/armor/nanotrasen/captain/parade @@ -258,7 +291,7 @@ desc = "An exquisitely-decorated fine blue jacket, suitable for especially formal situations, or for a commanding officer who wants to flaunt their status even more than usual. Richly decorated with gold thread and embroidered Nanotrasen logos." icon_state = "captain_formal" item_state = "bluecloth" - body_parts_covered = CHEST|GROIN|ARMS + body_parts_covered = CHEST|GROIN armor = list("melee" = 30, "bullet" = 0, "laser" = 30, "energy" = 20, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 90) // Hats // @@ -336,8 +369,10 @@ desc = "A blue peaked hat with red silk decoration and an embroidered Nanotrasen logo, worn exclusively by management." icon_state = "officer_peaked" item_state = "bluecloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION -/obj/item/clothing/head/nanotrasen/officer +/obj/item/clothing/head/nanotrasen/officer/fedora name = "officer's fedora" desc = "A fedora in a violent shade of Nanotrasen Blue, with a red silk band." icon_state = "officer_fedora" @@ -354,6 +389,8 @@ desc = "A decorated blue peaked cap, rife with laurels and gold thread, with a large badge on the front displaying the Nanotrasen, Inc. logo. This hat practically oozes authority." icon_state = "com_peaked" item_state = "bluecloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/head/hardhat/nanotrasen //TODO: inhands for hardhats name = "black heavy-duty hat" @@ -364,18 +401,24 @@ righthand_file = 'icons/mob/inhands/faction/nanotrasen/nt_righthand.dmi' icon_state = "hardhat_black" item_state = "blackcloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/head/hardhat/nanotrasen/blue name = "blue heavy-duty hat" desc = "A tough plastic helmet with suspension rig, designed to protect against blunt impacts. This one is brightly colored in Nanotrasen Blue, with the company logo on the front." icon_state = "hardhat_blue" item_state = "bluecloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION /obj/item/clothing/head/hardhat/nanotrasen/white name = "white heavy-duty hat" desc = "An extremely tough plastic helmet with suspension rig, designed to protect against blunt impacts. This one is colored bright white, typical of managerial staff, and has a Nanotrasen logo on the front." icon_state = "hardhat_white" item_state = "graycloth" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + supports_variations = VOX_VARIATION // Neck // @@ -389,3 +432,19 @@ righthand_file = 'icons/mob/inhands/faction/nanotrasen/nt_righthand.dmi' icon_state = "sash" item_state = "redcloth" + +// Mask // + +/obj/item/clothing/mask/gas/vigilitas + name = "Vigilitas gas mask" + desc = "A protective gas mask designed for first response, specialist operations, and counter terrorism by Vigilitas Interstellar officers. It features a wide scratch resistant visor, ports for connecting an oxygen supply, and secure, comfortable straps." + icon = 'icons/obj/clothing/faction/nanotrasen/mask.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/nanotrasen/mask.dmi' + kepori_override_icon = 'icons/mob/clothing/faction/nanotrasen/mask_kepori.dmi' + lefthand_file = 'icons/mob/inhands/faction/nanotrasen/nt_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/nanotrasen/nt_righthand.dmi' + icon_state = "vigi_gas_mask" + item_state = "vigi_gas_mask" + vox_override_icon = 'icons/mob/clothing/faction/nanotrasen/vox.dmi' + resistance_flags = FIRE_PROOF | ACID_PROOF + supports_variations = KEPORI_VARIATION | VOX_VARIATION diff --git a/code/modules/clothing/factions/ngr.dm b/code/modules/clothing/factions/ngr.dm index 7892a098b50..366fa3b37cf 100644 --- a/code/modules/clothing/factions/ngr.dm +++ b/code/modules/clothing/factions/ngr.dm @@ -11,10 +11,11 @@ can_adjust = FALSE icon = 'icons/obj/clothing/faction/ngr/uniforms.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/uniforms.dmi' + supports_variations = DIGITIGRADE_VARIATION /obj/item/clothing/under/syndicate/ngr/fatigues name = "\improper NGR fatigues" - desc = "Beige fatigues used primarily by the ship and mech pilots of the New Gorlex Republic." + desc = "Beige fatigues used primarily by the shuttle and exosuit pilots of the New Gorlex Republic." icon_state = "ngr_fatigues" item_state = "ngr_fatigues" @@ -29,6 +30,7 @@ desc = "A button-up in a tasteful black with beige pants, used by officers of the New Gorlex Republic." icon_state = "ngr_officer" item_state = "ngr_officer" + supports_variations = DIGITIGRADE_VARIATION /obj/item/clothing/under/plasmaman/ngr name = "\improper NGR phorid envirosuit" @@ -56,6 +58,7 @@ desc = "A blood-red surgical smock typically worn by field medics of the New Gorlex Republic. It hides red blood really well!" icon_state = "ngr_apron" item_state = "redcloth" + allowed = MEDICAL_SUIT_ALLOWED_ITEMS /obj/item/clothing/suit/hazardvest/ngr name = "blood-red hazard vest" @@ -64,6 +67,21 @@ mob_overlay_icon = 'icons/mob/clothing/faction/ngr/suits.dmi' icon_state = "ngr_hazard" item_state = "redcloth" + supports_variations = VOX_VARIATION + +/obj/item/clothing/suit/hooded/wintercoat/security/ngr + name = "NGR winter coat" + desc = "A sleek beige winter coat used by the Second Battlegroup of the New Gorlex Republic, the zipper tab proudly displays the official emblem of the NGR." + icon_state = "coatngr" + item_state = "coatngr" + icon = 'icons/obj/clothing/faction/ngr/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/ngr/suits.dmi' + hoodtype = /obj/item/clothing/head/hooded/winterhood/security/ngr + +/obj/item/clothing/head/hooded/winterhood/security/ngr + icon_state = "hood_ngr" + icon = 'icons/obj/clothing/faction/ngr/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/ngr/head.dmi' ////////////////// //Armored suits// @@ -81,20 +99,20 @@ /obj/item/clothing/suit/armor/ngr/lieutenant name = "\improper 2nd Battlegroup overcoat" desc = "An armored overcoat worn by the lieutenants of the New Gorlex Republic's 2nd Battlegroup." - body_parts_covered = CHEST|GROIN|ARMS + body_parts_covered = CHEST|GROIN icon_state = "ngr_lieutenant" item_state = "ngr_lieutenant" blood_overlay_type = "coat" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) /obj/item/clothing/suit/armor/ngr/captain name = "\improper 2nd Battlegroup coat" desc = "An armored coat worn by captains the New Gorlex Republic's 2nd Battlegroup." - body_parts_covered = CHEST|GROIN|ARMS + body_parts_covered = CHEST|GROIN icon_state = "ngr_captain" item_state = "ngr_captain" blood_overlay_type = "coat" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) /////////////// //Spacesuits// @@ -120,8 +138,8 @@ icon = 'icons/obj/clothing/faction/ngr/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/suits.dmi' helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/ngr - lightweight = 1 jetpack = null + greyscale_colors = list("#33353a", "#d9ad82", "#8c1a34") /obj/item/clothing/head/helmet/space/plasmaman/ngr name = "NGR phorid envirosuit helmet" @@ -141,7 +159,6 @@ icon_state = "ngr_garrison" icon = 'icons/obj/clothing/faction/ngr/head.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/head.dmi' - armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) /obj/item/clothing/head/ngr/flap name = "beige flap cap" @@ -204,21 +221,22 @@ //Masks// ///////// -/obj/item/clothing/mask/gas/sechailer/balaclava/ngr +/obj/item/clothing/mask/balaclava/ngr name = "NGR combat balaclava" - desc = "A surprisingly advanced balaclava. while it doesn't muffle your voice it has a miniature rebreather for internals. Comfy to boot! This version is commonly used by the soldiers of the New Gorlex Republic to protect against sandstorms." + desc = "A surprisingly advanced balaclava. While it doesn't muffle your voice, it has a mouthpiece for internals. Comfy to boot! This version is commonly used by the soldiers of the New Gorlex Republic to protect against sandstorms." icon_state = "ngr_balaclava" item_state = "ngr_balaclava" icon = 'icons/obj/clothing/faction/ngr/mask.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/mask.dmi' -/obj/item/clothing/mask/gas/syndicate/ngr +/obj/item/clothing/mask/breath/ngr name = "NGR face mask" desc = "A face mask that covers the nose, mouth and neck of those who wear it. Favored by field medics over the balaclava due to lessened heat while wearing." icon_state = "ngr_facemask" item_state = "ngr_facemask" icon = 'icons/obj/clothing/faction/ngr/mask.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/mask.dmi' + supports_variations = SNOUTED_VARIATION | SNOUTED_SMALL_VARIATION ////////// //Neck// @@ -230,6 +248,7 @@ icon_state = "ngr_shemagh" icon = 'icons/obj/clothing/faction/ngr/neck.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/neck.dmi' + supports_variations = VOX_VARIATION ////////// //Belts// @@ -242,3 +261,14 @@ item_state = "ngr_webbing" icon = 'icons/obj/clothing/faction/ngr/belt.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/belt.dmi' + +/obj/item/storage/belt/security/webbing/ngr/cobra/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/m45_cobra(src) + +/obj/item/storage/belt/security/webbing/ngr/hydra_grenadier/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/ammo_box/magazine/m556_42_hydra(src) + new /obj/item/ammo_casing/a40mm(src) + new /obj/item/ammo_casing/a40mm(src) diff --git a/code/modules/clothing/factions/srm.dm b/code/modules/clothing/factions/srm.dm index cd901306b7a..34e6b4218fe 100644 --- a/code/modules/clothing/factions/srm.dm +++ b/code/modules/clothing/factions/srm.dm @@ -10,6 +10,7 @@ can_adjust = FALSE icon = 'icons/obj/clothing/faction/srm/uniforms.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/srm/uniforms.dmi' + supports_variations = KEPORI_VARIATION ////////////////// //Armored suits// @@ -20,17 +21,19 @@ desc = "A coat made from hard leather. Meant to withstand long hunts in harsh wilderness." icon_state = "armor_rouma" item_state = "rouma_coat" - body_parts_covered = CHEST|GROIN|ARMS + body_parts_covered = CHEST|GROIN cold_protection = CHEST|GROIN|ARMS heat_protection = CHEST|GROIN|ARMS icon = 'icons/obj/clothing/faction/srm/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/srm/suits.dmi' + supports_variations = KEPORI_VARIATION /obj/item/clothing/suit/armor/roumain/shadow name = "saint-roumain shadow duster" desc = "A coat made from hard leather. Its rough, barely-treated finish is typical of one of the Saint-Roumain Militia's trainees." icon_state = "armor_rouma_shadow" item_state = "rouma_shadow_coat" + supports_variations = KEPORI_VARIATION /obj/item/clothing/suit/toggle/labcoat/roumain_med name = "saint-roumain medical duster" @@ -38,7 +41,8 @@ icon = 'icons/obj/clothing/faction/srm/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/srm/suits.dmi' icon_state = "rouma_med_coat" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 50, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 50, "rad" = 0, "fire" = 50, "acid" = 50) + supports_variations = KEPORI_VARIATION /obj/item/clothing/suit/hazardvest/roumain name = "saint-roumain machinist leather vest" @@ -47,31 +51,34 @@ mob_overlay_icon = 'icons/mob/clothing/faction/srm/suits.dmi' icon_state = "armor_rouma_machinist" item_state = "rouma_coat" - armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 40, "bomb" = 35, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60) + armor = list("melee" = 35, "bullet" = 20, "laser" = 20, "energy" = 40, "bomb" = 35, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60) /obj/item/clothing/suit/armor/roumain/flamebearer name = "saint-roumain flamebearer robes" desc = "A set of ashy-grey robes made from hard leather, adorned with gold trims. Its rough finish after a near-char and application of aromatics is heavily favored for the ecclesiastical sect of the Church of Saint Roumain, a living reminder of the Ashen Huntsman himself." icon_state = "armor_rouma_flamebearer" + supports_variations = KEPORI_VARIATION /obj/item/clothing/suit/armor/roumain/colligne name = "saint-roumain colligne coat" desc = "A well-maintained hard leather coat typically worn to denote the rank of Colligne, a trainee Hunter Montagne. It is treated with bullet-resistant materials, and lined with the dark fur of Illestrian dire wolves." icon_state = "armor_rouma_colligne" item_state = "rouma_coat" - body_parts_covered = CHEST|GROIN|ARMS|LEGS + body_parts_covered = CHEST|GROIN cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS + supports_variations = KEPORI_VARIATION /obj/item/clothing/suit/armor/roumain/montagne name = "saint-roumain montagne coat" desc = "A stylish red coat to indicate that you are, in fact, a Hunter Montagne. Made of extra hard exotic leather, treated with bullet-resistant materials, and lined with the fur of some unidentifiable creature." icon_state = "armor_rouma_montagne" item_state = "rouma_montagne_coat" - body_parts_covered = CHEST|GROIN|ARMS|LEGS - armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 90) + body_parts_covered = CHEST|GROIN + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS + supports_variations = KEPORI_VARIATION /////////////// //Spacesuits// @@ -86,6 +93,7 @@ item_state = "hardsuit0-roumain" hardsuit_type = "roumain" worn_y_offset = 4 + supports_variations = KEPORI_VARIATION /obj/item/clothing/suit/space/hardsuit/solgov/roumain name = "\improper roumain hardsuit" @@ -96,6 +104,7 @@ item_state = "hardsuit-roumain" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/solgov/roumain slowdown = 0.5 + supports_variations = KEPORI_VARIATION ///////// //Hats// @@ -107,11 +116,13 @@ icon_state = "rouma_hat" icon = 'icons/obj/clothing/faction/srm/head.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/srm/head.dmi' + supports_variations = KEPORI_VARIATION /obj/item/clothing/head/cowboy/sec/roumain/shadow name = "shadow's hat" desc = "A rough, simple hat. The way it covers your eyes makes you feel badass, but you just look like a wannabe hunter." icon_state = "rouma_shadow_hat" + supports_variations = KEPORI_VARIATION /obj/item/clothing/head/cowboy/sec/roumain/machinist name = "machinist's hat" @@ -122,21 +133,25 @@ name = "medical hunter's hat" desc = "A very wide-brimmed, round hat treated with oil and wax. Somehow manages to look stylish and creepy at the same time." icon_state = "rouma_med_hat" + supports_variations = KEPORI_VARIATION /obj/item/clothing/head/cowboy/sec/roumain/flamebearer name = "flamebearer's hat" desc = "A wide-brimmed, pointed hat with charred leather, granting it an ash-grey appearance. The design honors the one the Ashen Huntsman himself wore, according to legend." icon_state = "rouma_flamebearer_hat" + supports_variations = KEPORI_VARIATION /obj/item/clothing/head/cowboy/sec/roumain/colligne name = "colligne's hat" desc = "A fancy, pointy leather hat with a large feather plume to signal that you are, in fact... A Hunter Colligne. You still have some ways to go before you gain the title of Montagne." icon_state = "rouma_colligne_hat" + supports_variations = KEPORI_VARIATION /obj/item/clothing/head/cowboy/sec/roumain/montagne name = "montagne's hat" desc = "A very fancy hat with a large feather plume to signal that you are, in fact, a Hunter Montagne. The exotic fur lining is impeccably soft." icon_state = "rouma_montagne_hat" + supports_variations = KEPORI_VARIATION /////////////// //Accessories// diff --git a/code/modules/clothing/factions/suns.dm b/code/modules/clothing/factions/suns.dm index df6d831e479..bce8586c913 100644 --- a/code/modules/clothing/factions/suns.dm +++ b/code/modules/clothing/factions/suns.dm @@ -162,7 +162,7 @@ ///////////////// -/obj/item/clothing/suit/armor/vest/bulletproof/suns +/obj/item/clothing/suit/armor/vest/suns name = "peacekeeper plating" desc = "A standard issue set of plate assigned to peacekeepers, both durable and stylish." icon_state = "suns_pkarmor" @@ -171,21 +171,22 @@ mob_overlay_icon = 'icons/mob/clothing/faction/suns/suits.dmi' lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' - body_parts_covered = CHEST|GROIN|ARMS|LEGS cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS -/obj/item/clothing/suit/armor/vest/bulletproof/suns/hos +/obj/item/clothing/suit/armor/vest/suns/hos name = "gilded peacekeeper plating" desc = "A set of plate assigned to peacekeepers, both durable and stylish. This one has a gold lining to indicate rank." icon_state = "suns_lpkarmor" item_state = "suns_pkarmor" + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) -/obj/item/clothing/suit/armor/vest/bulletproof/suns/ehos //remind me to make this something to buy +/obj/item/clothing/suit/armor/vest/suns/ehos //remind me to make this something to buy name = "peacekeeper greatcoat" desc = "A funky armored coat worn by eccentric peacekeepers. Closing the coat is socially improper." icon_state = "suns_greatcoat" item_state = "suns_greatcoat" + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) /obj/item/clothing/suit/toggle/suns/pkcoat name = "peacekeeper coat" @@ -195,23 +196,23 @@ armor = list("melee" = 15, "bullet" = 30, "laser" = 10, "energy" = 10, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 25) lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' - body_parts_covered = CHEST|GROIN|ARMS|LEGS + body_parts_covered = CHEST|GROIN cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS -/obj/item/clothing/suit/armor/vest/bulletproof/suns/captain +/obj/item/clothing/suit/armor/vest/suns/captain name = "decorated academic coat" desc = "An armored coat intended for SUNS captains on the frontier. Go forth, and spread the message of the academy." icon_state = "suns_captaincoat" item_state = "suns_overblack" + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) -/obj/item/clothing/suit/armor/vest/bulletproof/suns/xo +/obj/item/clothing/suit/armor/vest/suns/xo name = "academic staff coat" desc = "A white coat used by SUNS academic staff. It designates the second in command on the ship." icon_state = "suns_xojacket" item_state = "suns_overwhite" - /////////////// //Spacesuits// ////////////// @@ -343,7 +344,7 @@ icon_state = "sunsvisor" item_state = "suns_pkhelmet" tint = 0 - armor = list("melee" = 15, "bullet" = 60, "laser" = 10, "energy" = 10, "bomb" = 40, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) // identical stats to bulletproof helmet, as chest matches bulletproof vest + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) // identical stats to vest clothing_flags = BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS //Why? Because I'm not giving PK's sec masks nor hud sunglasses. icon = 'icons/obj/clothing/faction/suns/head.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/suns/head.dmi' @@ -465,10 +466,10 @@ /obj/item/clothing/gloves/suns/captain name = "\improper SUNS captain's gloves" - desc = "Fancy black gloves for trusted SUNS members. Sports a complex lining that prevents the wearer from being shocked." + desc = "Fancy black gloves for trusted SUNS members." icon_state = "suns_captaingloves" item_state = "suns_blackgloves" - siemens_coefficient = 0 + siemens_coefficient = 0.5 permeability_coefficient = 0.05 cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index f33a789156e..5e5f11e0ba7 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -1,7 +1,8 @@ //Glasses /obj/item/clothing/glasses name = "glasses" - icon = 'icons/obj/clothing/glasses.dmi' + icon = 'icons/obj/clothing/eyes/eyes.dmi' + mob_overlay_icon = 'icons/mob/clothing/eyes/eyes.dmi' lefthand_file = 'icons/mob/inhands/clothing/glasses_lefthand.dmi' righthand_file = 'icons/mob/inhands/clothing/glasses_righthand.dmi' w_class = WEIGHT_CLASS_SMALL @@ -43,8 +44,6 @@ user.update_sight() if(icon_state == "welding-g") change_glass_color(user, /datum/client_colour/glass_colour/gray) - else if(icon_state == "bustin-g") - change_glass_color(user, /datum/client_colour/glass_colour/green) else change_glass_color(user, null) @@ -82,19 +81,6 @@ lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE glass_colour_type = /datum/client_colour/glass_colour/green -/obj/item/clothing/glasses/meson/gar - name = "gar mesons" - icon_state = "garm" - item_state = "garm" - desc = "Do the impossible, see the invisible!" - force = 10 - throwforce = 10 - throw_speed = 4 - attack_verb = list("sliced") - hitsound = 'sound/weapons/bladeslice.ogg' - sharpness = IS_SHARP - custom_price = 500 - /obj/item/clothing/glasses/science name = "science goggles" desc = "A pair of snazzy goggles used to protect against chemical spills. Fitted with an analyzer for scanning items and reagents." @@ -163,12 +149,6 @@ qdel(src) user.put_in_hands(double_patch) -/obj/item/clothing/glasses/monocle - name = "monocle" - desc = "Such a dapper eyepiece!" - icon_state = "monocle" - supports_variations = VOX_VARIATION - /obj/item/clothing/glasses/material name = "optical material scanner" desc = "Very confusing glasses." @@ -182,19 +162,6 @@ desc = "Used by miners to detect ores deep within the rock." darkness_view = 0 -/obj/item/clothing/glasses/material/mining/gar - name = "gar material scanner" - icon_state = "garm" - item_state = "garm" - desc = "Do the impossible, see the invisible!" - force = 10 - throwforce = 20 - throw_speed = 4 - attack_verb = list("sliced") - hitsound = 'sound/weapons/bladeslice.ogg' - sharpness = IS_SHARP - glass_colour_type = /datum/client_colour/glass_colour/lightgreen - /obj/item/clothing/glasses/regular name = "prescription glasses" desc = "Made by Nerd. Co." @@ -263,47 +230,13 @@ clothing_flags = SCAN_REAGENTS glass_colour_type = /datum/client_colour/glass_colour/darkpurple -/obj/item/clothing/glasses/sunglasses/garb - name = "black gar glasses" - desc = "Go beyond impossible and kick reason to the curb!" - icon_state = "garb" - item_state = "garb" - force = 10 - throwforce = 10 - throw_speed = 4 - attack_verb = list("sliced") - hitsound = 'sound/weapons/bladeslice.ogg' - sharpness = IS_SHARP - -/obj/item/clothing/glasses/sunglasses/garb/supergarb - name = "black giga gar glasses" - desc = "Believe in us humans." - icon_state = "supergarb" - item_state = "garb" - force = 12 - throwforce = 12 - -/obj/item/clothing/glasses/sunglasses/gar - name = "gar glasses" - desc = "Just who the hell do you think I am?!" - icon_state = "gar" - item_state = "gar" - force = 10 - throwforce = 10 - throw_speed = 4 - attack_verb = list("sliced") - hitsound = 'sound/weapons/bladeslice.ogg' - sharpness = IS_SHARP - glass_colour_type = /datum/client_colour/glass_colour/orange - -/obj/item/clothing/glasses/sunglasses/gar/supergar - name = "giga gar glasses" - desc = "We evolve past the person we were a minute before. Little by little we advance with each turn. That's how a drill works!" - icon_state = "supergar" - item_state = "gar" - force = 12 - throwforce = 12 - glass_colour_type = /datum/client_colour/glass_colour/red +/obj/item/clothing/glasses/sunglasses/ballistic + name = "ballistic goggles" + desc = "A pair of flash-proof ballistic goggles." + icon_state = "ballistic_goggles" + item_state = "ballistic_goggles" + supports_variations = KEPORI_VARIATION | VOX_VARIATION + glass_colour_type = /datum/client_colour/glass_colour/lightblue /obj/item/clothing/glasses/welding name = "welding goggles" @@ -314,7 +247,7 @@ flash_protect = FLASH_PROTECTION_WELDER custom_materials = list(/datum/material/iron = 250) tint = 2 - visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT + visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT | SEALS_EYES flags_cover = GLASSESCOVERSEYES glass_colour_type = /datum/client_colour/glass_colour/gray supports_variations = VOX_VARIATION @@ -322,17 +255,6 @@ /obj/item/clothing/glasses/welding/attack_self(mob/user) weldingvisortoggle(user) -/obj/item/clothing/glasses/welding/ghostbuster - name = "optical ecto-scanner" - desc = "A bulky pair of unwieldy glasses that lets you see things best left unseen. Obscures vision, but also gives a bit of eye protection" - icon_state = "bustin-g" - item_state = "bustin-g" - invis_view = SEE_INVISIBLE_OBSERVER - invis_override = null - flash_protect = 1 - visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT | VISOR_INVISVIEW - glass_colour_type = /datum/client_colour/glass_colour/green - /obj/item/clothing/glasses/blindfold name = "blindfold" desc = "Covers the eyes, preventing sight." @@ -378,10 +300,10 @@ colored_before = TRUE /obj/item/clothing/glasses/blindfold/white/worn_overlays(isinhands = FALSE, file2use) - . = list() + . = ..() if(!isinhands && ishuman(loc) && !colored_before) var/mob/living/carbon/human/H = loc - var/mutable_appearance/M = mutable_appearance('icons/mob/clothing/eyes.dmi', "blindfoldwhite") + var/mutable_appearance/M = mutable_appearance('icons/mob/clothing/eyes/eyes.dmi', "blindfoldwhite") M.appearance_flags |= RESET_COLOR M.color = "#[H.eye_color]" . += M @@ -399,7 +321,7 @@ patch_one.forceMove(user.drop_location()) patch_two.forceMove(user.drop_location()) to_chat(user, "You undo the knot on the eyepatches.") - Destroy() + qdel(src) /obj/item/clothing/glasses/sunglasses/big desc = "Strangely ancient technology used to help provide rudimentary eye cover. Larger than average enhanced shielding blocks flashes." @@ -447,20 +369,6 @@ return chameleon_action.emp_randomise() -/obj/item/clothing/glasses/thermal/monocle - name = "thermoncle" - desc = "Never before has seeing through walls felt so gentlepersonly." - icon_state = "thermoncle" - flags_1 = null //doesn't protect eyes because it's a monocle, duh - -/obj/item/clothing/glasses/thermal/monocle/examine(mob/user) //Different examiners see a different description! - if(user.gender == MALE) - desc = replacetext(desc, "person", "man") - else if(user.gender == FEMALE) - desc = replacetext(desc, "person", "woman") - . = ..() - desc = initial(desc) - /obj/item/clothing/glasses/thermal/eyepatch name = "optical thermal eyepatch" desc = "An eyepatch with built-in thermal optics." @@ -485,12 +393,14 @@ desc = "A pair of goggles meant for low temperatures." icon_state = "cold" item_state = "cold" + flags_cover = GLASSESCOVERSEYES | SEALS_EYES /obj/item/clothing/glasses/heat name = "heat goggles" desc = "A pair of goggles meant for high temperatures." icon_state = "heat" item_state = "heat" + flags_cover = GLASSESCOVERSEYES | SEALS_EYES /obj/item/clothing/glasses/orange name = "orange glasses" @@ -506,35 +416,6 @@ item_state = "redglasses" glass_colour_type = /datum/client_colour/glass_colour/red -/obj/item/clothing/glasses/godeye - name = "eye of god" - desc = "A strange eye, said to have been torn from an omniscient creature that used to roam the wastes." - icon_state = "godeye" - item_state = "godeye" - vision_flags = SEE_TURFS|SEE_MOBS|SEE_OBJS - darkness_view = 8 - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - resistance_flags = LAVA_PROOF | FIRE_PROOF - clothing_flags = SCAN_REAGENTS - -/obj/item/clothing/glasses/godeye/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, EYE_OF_GOD_TRAIT) - -/obj/item/clothing/glasses/godeye/attackby(obj/item/W as obj, mob/user as mob, params) - if(istype(W, src) && W != src && W.loc == user) - if(W.icon_state == "godeye") - W.icon_state = "doublegodeye" - W.item_state = "doublegodeye" - W.desc = "A pair of strange eyes, said to have been torn from an omniscient creature that used to roam the wastes. There's no real reason to have two, but that isn't stopping you." - if(iscarbon(user)) - var/mob/living/carbon/C = user - C.update_inv_wear_mask() - else - to_chat(user, "The eye winks at you and vanishes into the abyss, you feel really unlucky.") - qdel(src) - ..() - /obj/item/clothing/glasses/AltClick(mob/user) if(glass_colour_type && ishuman(user)) var/mob/living/carbon/human/H = user @@ -572,7 +453,7 @@ desc = "Medical, security and diagnostic hud. Alt click to toggle xray." icon_state = "nvgmeson" item_state = "nvgmeson" - flags_cover = GLASSESCOVERSEYES + flags_cover = GLASSESCOVERSEYES | SEALS_EYES darkness_view = 8 flash_protect = FLASH_PROTECTION_WELDER lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 0698981207b..6891ac7de31 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -162,26 +162,6 @@ lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE glass_colour_type = /datum/client_colour/glass_colour/green -/obj/item/clothing/glasses/hud/security/sunglasses/gars - name = "\improper HUD gar glasses" - desc = "GAR glasses with a HUD." - icon_state = "gars" - item_state = "garb" - force = 10 - throwforce = 10 - throw_speed = 4 - attack_verb = list("sliced") - hitsound = 'sound/weapons/bladeslice.ogg' - sharpness = IS_SHARP - -/obj/item/clothing/glasses/hud/security/sunglasses/gars/supergars - name = "giga HUD gar glasses" - desc = "GIGA GAR glasses with a HUD." - icon_state = "supergars" - item_state = "garb" - force = 12 - throwforce = 12 - /obj/item/clothing/glasses/hud/toggle name = "Toggle HUD" desc = "A hud with multiple functions." @@ -259,7 +239,7 @@ desc = "A snazzy looking pair of ballistic goggles with an integrated security hud. The opaque visor provides flash protection." icon_state = "inteq_goggles" item_state = "inteq_goggles" - supports_variations = KEPORI_VARIATION + supports_variations = KEPORI_VARIATION | VOX_VARIATION glass_colour_type = /datum/client_colour/glass_colour/orange /obj/item/clothing/glasses/hud/health/prescription diff --git a/code/modules/clothing/gloves/_gloves.dm b/code/modules/clothing/gloves/_gloves.dm index 61c06125d8f..ea0062359c9 100644 --- a/code/modules/clothing/gloves/_gloves.dm +++ b/code/modules/clothing/gloves/_gloves.dm @@ -17,6 +17,7 @@ clothamnt = 2 greyscale_colors = list(list(10, 13), list(11, 14), list(9, 12)) greyscale_icon_state = "gloves" + blood_overlay_type = "hands" /obj/item/clothing/gloves/wash(clean_types) . = ..() @@ -25,14 +26,13 @@ return TRUE /obj/item/clothing/gloves/worn_overlays(isinhands = FALSE) - . = list() + . = ..() if(!isinhands) if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damagedgloves") if(HAS_BLOOD_DNA(src)) - var/mutable_appearance/bloody_hands = mutable_appearance('icons/effects/blood.dmi', "bloodyhands") - bloody_hands.color = get_blood_dna_color(return_blood_DNA()) - . += bloody_hands + . += setup_blood_overlay() + /obj/item/clothing/gloves/update_clothes_damaged_state(damaging = TRUE) ..() diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index cbac3e0e890..db9e2814b2c 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -177,10 +177,10 @@ icon_state = "brown" /obj/item/clothing/gloves/color/captain - desc = "Regal white gloves, with a nice gold trim, a diamond anti-shock coating, and an integrated thermal barrier, and armoured bracers. Swanky." + desc = "Regal white gloves, with a nice gold trim, an integrated thermal barrier, and armoured bracers. Swanky." name = "captain's gloves" icon_state = "captain" - siemens_coefficient = 0 + siemens_coefficient = 0.5 permeability_coefficient = 0.05 cold_protection = HANDS min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT @@ -190,7 +190,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 50) /obj/item/clothing/gloves/color/captain/nt - desc = "Regal blue gloves, with a nice gold trim, a diamond anti-shock coating, and an integrated thermal barrier, and armoured bracers. Swanky." + desc = "Regal blue gloves with gold trim and a fire and acid-resistant coating. Swanky." name = "captain's gloves" icon_state = "captainnt" @@ -231,7 +231,7 @@ name = "infiltrator gloves" desc = "Specialized combat gloves for carrying people around. Transfers tactical kidnapping knowledge into the user via nanochips." icon_state = "infiltrator" - siemens_coefficient = 0 + siemens_coefficient = 0.5 permeability_coefficient = 0.3 resistance_flags = FIRE_PROOF | ACID_PROOF @@ -259,24 +259,6 @@ item_state = "lgloves" custom_price = 200 -/obj/effect/spawner/lootdrop/gloves - name = "random gloves" - desc = "These gloves are supposed to be a random color..." - icon = 'icons/obj/clothing/gloves.dmi' - icon_state = "random_gloves" - loot = list( - /obj/item/clothing/gloves/color/orange = 1, - /obj/item/clothing/gloves/color/red = 1, - /obj/item/clothing/gloves/color/blue = 1, - /obj/item/clothing/gloves/color/purple = 1, - /obj/item/clothing/gloves/color/green = 1, - /obj/item/clothing/gloves/color/grey = 1, - /obj/item/clothing/gloves/color/light_brown = 1, - /obj/item/clothing/gloves/color/brown = 1, - /obj/item/clothing/gloves/color/white = 1, - /obj/item/clothing/gloves/color/rainbow = 1, - ) - /obj/item/clothing/gloves/maid name = "maid arm covers" desc = "Cylindrical looking tubes that go over your arm, weird." diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 9d8db3c035d..45999fd75db 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -23,13 +23,14 @@ heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT resistance_flags = NONE + clothing_traits = list(TRAIT_PLANT_SAFE) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 30) /obj/item/clothing/gloves/combat name = "combat gloves" - desc = "These tactical gloves are fireproof and electrically insulated." + desc = "These tactical gloves are extra-durable, offering some fire and acid protection." icon_state = "combat" - siemens_coefficient = 0 + siemens_coefficient = 0.5 permeability_coefficient = 0.05 strip_delay = 80 cold_protection = HANDS @@ -40,16 +41,6 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 50) //supports_variations = KEPORI_VARIATION -/obj/item/clothing/gloves/combat/maid - name = "combat maid sleeves" - desc = "These 'tactical' gloves and sleeves are fireproof and electrically insulated. Warm to boot." - icon_state = "syndimaid_arms" - -/obj/item/clothing/gloves/combat/maid/inteq - name = "inteq combat maid sleeves" - desc = "Tacticute and comfy, along with being both fireproof and electrically insulated." - icon_state = "inteqmaid_arms" - /obj/item/clothing/gloves/bracer name = "bone bracers" desc = "For when you're expecting to get slapped on the wrist. Offers modest protection to your arms." @@ -125,7 +116,7 @@ name = "explorer envirogloves" icon_state = "explorerplasma" -/obj/item/clothing/gloves/color/botanic_leather/plasmaman +/obj/item/clothing/gloves/botanic_leather/plasmaman name = "botany envirogloves" desc = "Covers up those scandalous boney hands." icon_state = "botanyplasma" @@ -142,5 +133,5 @@ /obj/item/clothing/gloves/combat/wizard name = "enchanted gloves" - desc = "These gloves have been enchanted with a spell that makes them electrically insulated and fireproof." + desc = "These gloves have been enchanted with a spell that makes them fireproof and acid-resistant." icon_state = "wizard" diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm index 0ae7f48089e..2667297dc35 100644 --- a/code/modules/clothing/gloves/tacklers.dm +++ b/code/modules/clothing/gloves/tacklers.dm @@ -67,7 +67,7 @@ name = "guerrilla gloves" desc = "Superior quality combative gloves, good for performing tackle takedowns as well as absorbing electrical shocks." icon_state = "combat" - siemens_coefficient = 0 + siemens_coefficient = 0.5 permeability_coefficient = 0.05 /obj/item/clothing/gloves/tackler/rocket diff --git a/code/modules/clothing/head/_head.dm b/code/modules/clothing/head/_head.dm index 4039402588f..e74c788faa9 100644 --- a/code/modules/clothing/head/_head.dm +++ b/code/modules/clothing/head/_head.dm @@ -12,6 +12,7 @@ greyscale_icon_state = "hat" greyscale_colors = list(list(16,26)) supports_variations = VOX_VARIATION + blood_overlay_type = "helmet" ///Special throw_impact for hats to frisbee hats at people to place them on their heads/attempt to de-hat them. /obj/item/clothing/head/throw_impact(atom/hit_atom, datum/thrownthing/thrownthing) @@ -60,14 +61,12 @@ /obj/item/clothing/head/worn_overlays(isinhands = FALSE) - . = list() + . = ..() if(!isinhands) if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damagedhelmet") if(HAS_BLOOD_DNA(src)) - var/mutable_appearance/bloody_helmet = mutable_appearance('icons/effects/blood.dmi', "helmetblood") - bloody_helmet.color = get_blood_dna_color(return_blood_DNA()) - . += bloody_helmet + . += setup_blood_overlay() /obj/item/clothing/head/update_clothes_damaged_state(damaging = TRUE) ..() diff --git a/code/modules/clothing/head/beanie.dm b/code/modules/clothing/head/beanie.dm index 5aa39eb0ba5..3a930d728ad 100644 --- a/code/modules/clothing/head/beanie.dm +++ b/code/modules/clothing/head/beanie.dm @@ -53,10 +53,6 @@ //Striped Beanies have unique sprites -/obj/item/clothing/head/beanie/christmas - name = "christmas beanie" - icon_state = "beaniechristmas" - /obj/item/clothing/head/beanie/striped name = "striped beanie" icon_state = "beaniestriped" @@ -78,15 +74,3 @@ desc = "A beanie made from durathread, its resilient fibres provide some protection to the wearer." icon_state = "beaniedurathread" armor = list("melee" = 15, "bullet" = 5, "laser" = 15, "energy" = 25, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 5) - -/obj/item/clothing/head/beanie/waldo - name = "red striped bobble hat" - desc = "If you're going on a worldwide hike, you'll need some cold protection." - icon_state = "waldo_hat" - -/obj/item/clothing/head/beanie/rasta - name = "rastacap" - desc = "Perfect for tucking in those dreadlocks." - icon_state = "beanierasta" - -//No dog fashion sprites yet :( poor Ian can't be dope like the rest of us yet diff --git a/code/modules/clothing/head/berets.dm b/code/modules/clothing/head/berets.dm index 9d3ca21ed4f..78d77908cd3 100644 --- a/code/modules/clothing/head/berets.dm +++ b/code/modules/clothing/head/berets.dm @@ -5,18 +5,6 @@ icon_state = "beret" dog_fashion = /datum/dog_fashion/head/beret -/obj/item/clothing/head/beret/vintage - name = "vintage beret" - desc = "A well-worn beret." - icon_state = "vintageberet" - dog_fashion = null - -/obj/item/clothing/head/beret/archaic - name = "archaic beret" - desc = "An absolutely ancient beret." - icon_state = "archaicberet" - dog_fashion = null - /obj/item/clothing/head/beret/black name = "black beret" desc = "A black beret." diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm index 036d6ffbd41..9aa05ea897c 100644 --- a/code/modules/clothing/head/collectable.dm +++ b/code/modules/clothing/head/collectable.dm @@ -5,17 +5,6 @@ name = "collectable hat" desc = "A rare collectable hat." -/obj/item/clothing/head/collectable/petehat - name = "ultra rare Pete's hat!" - desc = "It smells faintly of plasma." - icon_state = "petehat" - -/obj/item/clothing/head/collectable/xenom - name = "collectable xenomorph helmet!" - desc = "Hiss hiss hiss!" - clothing_flags = SNUG_FIT - icon_state = "xenom" - /obj/item/clothing/head/collectable/chef name = "collectable chef's hat" desc = "A rare chef's hat meant for hat collectors!" @@ -24,12 +13,6 @@ dog_fashion = /datum/dog_fashion/head/chef -/obj/item/clothing/head/collectable/paper - name = "collectable paper hat" - desc = "What looks like an ordinary paper hat is actually a rare and valuable collector's edition paper hat. Keep away from water, fire, and Curators." - icon_state = "paper" - dog_fashion = /datum/dog_fashion/head - /obj/item/clothing/head/collectable/tophat name = "collectable top hat" desc = "A top hat worn by only the most prestigious hat collectors." @@ -64,12 +47,6 @@ item_state = "welding" clothing_flags = SNUG_FIT -/obj/item/clothing/head/collectable/slime - name = "collectable slime hat" - desc = "Just like a real brain slug!" - icon_state = "headslime" - clothing_flags = SNUG_FIT - /obj/item/clothing/head/collectable/flatcap name = "collectable flat cap" desc = "A collectible laborer's flat cap! Smells like No. 9 coal..." @@ -91,13 +68,6 @@ dog_fashion = /datum/dog_fashion/head/kitty -/obj/item/clothing/head/collectable/rabbitears - name = "collectable rabbit ears" - desc = "Not as lucky as the feet!" - icon_state = "bunny" - - dog_fashion = /datum/dog_fashion/head/rabbit - /obj/item/clothing/head/collectable/wizard name = "collectable wizard's hat" desc = "NOTE: Any magical powers gained from wearing this hat are purely coincidental." @@ -111,16 +81,6 @@ icon_state = "hardhat_standard" dog_fashion = /datum/dog_fashion/head -/obj/item/clothing/head/collectable/HoS - name = "collectable HoS hat" - desc = "Now you too can beat prisoners, set silly sentences, and arrest for no reason!" - icon_state = "hoscap" - -/obj/item/clothing/head/collectable/HoP - name = "collectable HoP hat" - desc = "It's your turn to demand excessive paperwork, signatures, stamps, and hire more clowns! Papers, please!" - icon_state = "hopcap_nt" - dog_fashion = /datum/dog_fashion/head/head_of_personnel /obj/item/clothing/head/collectable/thunderdome name = "collectable Thunderdome helmet" diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index dba4c2f8040..4247405d873 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -62,6 +62,10 @@ icon_state = "hardhat_orange" dog_fashion = null +/obj/item/clothing/head/hardhat/purple + icon_state = "hardhat_purple" + dog_fashion = null + /obj/item/clothing/head/hardhat/red name = "firefighter helmet" icon_state = "hardhat_red" @@ -116,7 +120,7 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT cold_protection = HEAD min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES /obj/item/clothing/head/hardhat/mining name = "mining helmet" diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 352349783ba..75103c5f524 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -6,7 +6,7 @@ icon_state = "helmet" item_state = "helmet" var/flashlight_state = "helmet_flight_overlay" - armor = list("melee" = 35, "bullet" = 30, "laser" = 30,"energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35,"energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) cold_protection = HEAD min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT heat_protection = HEAD @@ -219,6 +219,7 @@ can_flashlight = TRUE dog_fashion = null allow_post_reskins = TRUE + supports_variations = KEPORI_VARIATION unique_reskin = list( "None" = "helmetalt", "Desert" = "helmetalt_desert", @@ -228,37 +229,6 @@ ) content_overlays = TRUE -/obj/item/clothing/head/helmet/marine - name = "tactical combat helmet" - desc = "A tactical black helmet, sealed from outside hazards with a reinforced visor." - icon_state = "marine_command" - item_state = "helmetalt" - armor = list("melee" = 50, "bullet" = 75, "laser" = 55, "energy" = 25, "bomb" = 60, "bio" = 100, "fire" = 70, "acid" = 50) - slowdown = 0.3 - min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT - clothing_flags = STOPSPRESSUREDAMAGE - resistance_flags = FIRE_PROOF | ACID_PROOF - can_flashlight = TRUE - dog_fashion = null - -/obj/item/clothing/head/helmet/marine/Initialize(mapload) - set_attached_light(new /obj/item/flashlight/seclite) - update_helmlight() - update_appearance() - . = ..() - -/obj/item/clothing/head/helmet/marine/security - name = "marine heavy helmet" - icon_state = "marine_security" - -/obj/item/clothing/head/helmet/marine/engineer - name = "marine utility helmet" - icon_state = "marine_engineer" - -/obj/item/clothing/head/helmet/marine/medic - name = "marine medic helmet" - icon_state = "marine_medic" - /obj/item/clothing/head/helmet/old name = "degrading helmet" desc = "Standard issue security helmet. Due to degradation the helmet's visor obstructs the users ability to see long distances." @@ -286,7 +256,7 @@ visor_flags_inv = HIDEFACE toggle_cooldown = 0 flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF - visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES dog_fashion = null /obj/item/clothing/head/helmet/justice @@ -327,7 +297,7 @@ desc = "An extremely robust, space-worthy helmet in a nefarious red and black stripe pattern." icon_state = "swatsyndie" item_state = "swatsyndie" - armor = list("melee" = 40, "bullet" = 30, "laser" = 30,"energy" = 40, "bomb" = 50, "bio" = 90, "rad" = 20, "fire" = 100, "acid" = 100) + armor = list("melee" = 40, "bullet" = 35, "laser" = 35,"energy" = 40, "bomb" = 50, "bio" = 90, "rad" = 20, "fire" = 100, "acid" = 100) cold_protection = HEAD min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT heat_protection = HEAD @@ -492,7 +462,7 @@ resistance_flags = FIRE_PROOF | ACID_PROOF flash_protect = FLASH_PROTECTION_WELDER flags_inv = HIDEHAIR|HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES strip_delay = 80 /obj/item/clothing/head/helmet/swat/inteq @@ -501,7 +471,7 @@ icon_state = "inteq_swat" item_state = "inteq_swat" flags_inv = HIDEHAIR - supports_variations = KEPORI_VARIATION + supports_variations = KEPORI_VARIATION | VOX_VARIATION content_overlays = TRUE /obj/item/clothing/head/helmet/inteq @@ -510,7 +480,7 @@ icon_state = "inteq_helmet" icon_state = "inteq_helmet" can_flashlight = TRUE - supports_variations = KEPORI_VARIATION + supports_variations = KEPORI_VARIATION | VOX_VARIATION content_overlays = TRUE /obj/item/clothing/head/solgov @@ -548,7 +518,7 @@ icon_state = "solgov_envirohelm" item_state = "solgov_envirohelm" -/obj/item/clothing/head/helmet/operator +/obj/item/clothing/head/helmet/syndie name = "\improper operator helmet" desc = "A robust combat helmet commonly employed by Syndicate forces, regardless of alignment." icon_state = "operator" @@ -567,6 +537,7 @@ icon_state = "m10helm" can_flashlight = TRUE dog_fashion = null + supports_variations = null unique_reskin = list( "None" = "m10helm", "Desert" = "m10helm_desert", @@ -582,6 +553,7 @@ can_flashlight = TRUE dog_fashion = null allow_post_reskins = TRUE + supports_variations = null unique_reskin = list( "None" = "x11helm", "Desert" = "x11helm_desert", diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 3e04245e1a1..85b3af96829 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -33,10 +33,6 @@ desc = "A commanding white stetson adorned with a general's badge. Why this belongs to a captain is anybody's guess." icon_state = "cowboycap" -/obj/item/clothing/head/caphat/nt - name = "captain's hat" - icon_state = "captain_nt" - /obj/item/clothing/head/frontier/peaked name = "\improper Frontiersmen commander's cap" desc = "An imposing peaked cap, meant for a commander of the Frontiersmen." @@ -47,41 +43,6 @@ desc = "An imposing peaked cap meant for only the highest of officers of the Frontiersmen pirate fleet." icon_state = "frontier_admiral_cap" -//Head of Personnel -/obj/item/clothing/head/hopcap - name = "head of personnel's cap" - icon_state = "hopcap" - desc = "The symbol of true bureaucratic micromanagement." - dog_fashion = /datum/dog_fashion/head/head_of_personnel - -/obj/item/clothing/head/hopcap/nt - icon_state = "hopcap_nt" - dog_fashion = /datum/dog_fashion/head/head_of_personnel - -//Cargo -/obj/item/clothing/head/supply_chief - name = "supply chief's cap" - desc = "The one thing between you and 40 boxes of orderable pizza is the person wearing this hat." - icon_state = "supply_chief_cap" - -/obj/item/clothing/head/deliveries_officer - name = "deliveries officer's cap" - desc = "Whether through fires, the vacuum of space, or hordes of souless husks of grey suited criminals, your crate will always be delivered!" - icon_state = "deliveries_officer_cap" - -//Chaplain -/obj/item/clothing/head/nun_hood - name = "nun hood" - desc = "Maximum piety in this star system." - icon_state = "nun_hood" - flags_inv = HIDEHAIR - flags_cover = HEADCOVERSEYES - -/obj/item/clothing/head/bishopmitre - name = "bishop mitre" - desc = "An opulent hat that functions as a radio to God. Or as a lightning rod, depending on who you ask." - icon_state = "bishopmitre" - //Detective /obj/item/clothing/head/fedora/det_hat name = "detective's fedora" @@ -96,8 +57,9 @@ new /obj/item/reagent_containers/food/drinks/flask/det(src) /obj/item/clothing/head/fedora/det_hat/examine_more(mob/user) + . = ..() if(!in_range(src, user) || !isobserver(user)) //hide the easter egg a little more - . = "You try to examine [src] closer, but you're too far away." + . += "You try to examine [src] closer, but you're too far away." return . += "Alt-click to take a candy corn." @@ -223,7 +185,7 @@ . = ..() UnregisterSignal(M, COMSIG_MOB_SAY) -/obj/item/clothing/head/warden/drill/proc/handle_speech(datum/source, mob/speech_args) +/obj/item/clothing/head/warden/drill/proc/handle_speech(datum/source, list/speech_args) var/message = speech_args[SPEECH_MESSAGE] if(message[1] != "*") switch (mode) @@ -252,12 +214,3 @@ #undef DRILL_SHOUTING #undef DRILL_YELLING #undef DRILL_CANADIAN - -/obj/item/clothing/head/witchunter - name = "witchunter hat" - desc = "This hat saw much use back in the day." - icon_state = "witchhunterhat" - item_state = "witchhunterhat" - flags_cover = HEADCOVERSEYES - flags_inv = HIDEEYES|HIDEHAIR - armor = list("melee" = 30, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 80) diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 6380e7c82ba..75c1e7f9103 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -17,18 +17,6 @@ armor = list("melee" = 30, "bullet" = 15, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) strip_delay = (8 SECONDS) -/obj/item/clothing/head/spacepolice - name = "space police cap" - desc = "A blue cap for patrolling the daily beat." - icon_state = "policecap_families" - item_state = "policecap_families" - -/obj/item/clothing/head/powdered_wig - name = "powdered wig" - desc = "A powdered wig." - icon_state = "pwig" - item_state = "pwig" - /obj/item/clothing/head/that name = "top-hat" desc = "It's an amish looking hat." @@ -37,30 +25,6 @@ dog_fashion = /datum/dog_fashion/head throwforce = 1 -/obj/item/clothing/head/canada - name = "striped red tophat" - desc = "It smells like fresh donut holes. / Il sent comme des trous de beignets frais." - icon_state = "canada" - item_state = "canada" - -/obj/item/clothing/head/redcoat - name = "redcoat's hat" - icon_state = "redcoat" - desc = "'I guess it's a redhead.'" - -/obj/item/clothing/head/plaguedoctorhat - name = "plague doctor's hat" - desc = "These were once used by plague doctors. They're pretty much useless." - icon_state = "plaguedoctor" - permeability_coefficient = 0.01 - -/obj/item/clothing/head/hasturhood - name = "hastur's hood" - desc = "It's unspeakably stylish." - icon_state = "hasturhood" - flags_inv = HIDEHAIR - flags_cover = HEADCOVERSEYES - /obj/item/clothing/head/nursehat name = "nurse's hat" desc = "It allows quick identification of trained medical personnel." @@ -78,15 +42,6 @@ clothing_flags = SNUG_FIT flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR -/obj/item/clothing/head/cueball - name = "cueball helmet" - desc = "A large, featureless white orb meant to be worn on your head. How do you even see out of this thing?" - icon_state = "cueball" - item_state="cueball" - clothing_flags = SNUG_FIT - flags_cover = HEADCOVERSEYES|HEADCOVERSMOUTH - flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR - /obj/item/clothing/head/snowman name = "Snowman Head" desc = "A ball of white styrofoam. So festive." @@ -96,38 +51,6 @@ flags_cover = HEADCOVERSEYES flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR -/obj/item/clothing/head/justice - name = "justice hat" - desc = "Fight for what's righteous!" - icon_state = "justicered" - item_state = "justicered" - clothing_flags = SNUG_FIT - flags_inv = HIDEHAIR|HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR - flags_cover = HEADCOVERSEYES - -/obj/item/clothing/head/justice/blue - icon_state = "justiceblue" - item_state = "justiceblue" - -/obj/item/clothing/head/justice/yellow - icon_state = "justiceyellow" - item_state = "justiceyellow" - -/obj/item/clothing/head/justice/green - icon_state = "justicegreen" - item_state = "justicegreen" - -/obj/item/clothing/head/justice/pink - icon_state = "justicepink" - item_state = "justicepink" - -/obj/item/clothing/head/rabbitears - name = "rabbit ears" - desc = "A headband with a pair of faux rabbit ears." - icon_state = "bunny" - - dog_fashion = /datum/dog_fashion/head/rabbit - /obj/item/clothing/head/pirate name = "pirate hat" desc = "Yarr." @@ -170,42 +93,12 @@ icon_state = "bandana" item_state = "bandana" -/obj/item/clothing/head/bowler - name = "bowler-hat" - desc = "Gentleman, elite aboard!" - icon_state = "bowler" - item_state = "bowler" - -/obj/item/clothing/head/witchwig - name = "witch costume wig" - desc = "Eeeee~heheheheheheh!" - icon_state = "witch" - item_state = "witch" - flags_inv = HIDEHAIR - -/obj/item/clothing/head/chicken - name = "chicken suit head" - desc = "Bkaw!" - icon_state = "chickenhead" - item_state = "chickensuit" - clothing_flags = SNUG_FIT - flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR - /obj/item/clothing/head/bearpelt name = "bear pelt hat" desc = "Fuzzy." icon_state = "bearpelt" item_state = "bearpelt" -/obj/item/clothing/head/xenos - name = "xenos helmet" - icon_state = "xenos" - item_state = "xenos_helm" - desc = "A helmet made out of chitinous alien hide." - clothing_flags = SNUG_FIT - flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH - /obj/item/clothing/head/fedora name = "fedora" icon_state = "fedora" @@ -229,34 +122,6 @@ item_state = "hat_solgov" desc = "A slick blue hat used by both solarian civilians and physicists." -/obj/item/clothing/head/sombrero - name = "sombrero" - icon_state = "sombrero" - item_state = "sombrero" - desc = "You can practically taste the fiesta." - flags_inv = HIDEHAIR - - dog_fashion = /datum/dog_fashion/head/sombrero - -/obj/item/clothing/head/sombrero/green - name = "green sombrero" - icon_state = "greensombrero" - item_state = "greensombrero" - desc = "As elegant as a dancing cactus." - flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS - dog_fashion = null - -/obj/item/clothing/head/sombrero/shamebrero - name = "shamebrero" - icon_state = "shamebrero" - item_state = "shamebrero" - desc = "Once it's on, it never comes off." - dog_fashion = null - -/obj/item/clothing/head/sombrero/shamebrero/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, SHAMEBRERO_TRAIT) - /obj/item/clothing/head/flatcap name = "flat cap" desc = "A working man's hat." @@ -297,14 +162,6 @@ min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT dog_fashion = /datum/dog_fashion/head/santa -/obj/item/clothing/head/jester - name = "jester hat" - desc = "A hat with bells, to add some merriness to the suit." - icon_state = "jester_hat" - -/obj/item/clothing/head/jester/alt - icon_state = "jester2" - /obj/item/clothing/head/rice_hat name = "rice hat" desc = "Welcome to the rice fields, motherfucker." @@ -328,45 +185,6 @@ icon_state = "crown" resistance_flags = FIRE_PROOF -/obj/item/clothing/head/crown/fancy - name = "magnificent crown" - desc = "A crown worn by only the highest emperors of the land space." - icon_state = "fancycrown" - -/obj/item/clothing/head/scarecrow_hat - name = "scarecrow hat" - desc = "A simple straw hat." - icon_state = "scarecrow_hat" - -/obj/item/clothing/head/lobsterhat - name = "foam lobster head" - desc = "When everything's going to crab, protecting your head is the best choice." - icon_state = "lobster_hat" - clothing_flags = SNUG_FIT - flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR - -/obj/item/clothing/head/drfreezehat - name = "doctor freeze's wig" - desc = "A cool wig for cool people." - icon_state = "drfreeze_hat" - flags_inv = HIDEHAIR - -/obj/item/clothing/head/pharaoh - name = "pharaoh hat" - desc = "Walk like an Egyptian." - icon_state = "pharoah_hat" - item_state = "pharoah_hat" - -/obj/item/clothing/head/nemes - name = "headdress of Nemes" - desc = "Lavish space tomb not included." - icon_state = "nemes_headdress" - -/obj/item/clothing/head/delinquent - name = "delinquent hat" - desc = "Good grief." - icon_state = "delinquent" - /obj/item/clothing/head/frenchberet name = "french beret" desc = "A quality beret, infused with the aroma of chain-smoking, wine-swilling Parisians. You feel less inclined to engage in military conflict, for some reason." @@ -383,7 +201,7 @@ . = ..() UnregisterSignal(M, COMSIG_MOB_SAY) -/obj/item/clothing/head/frenchberet/proc/handle_speech(datum/source, mob/speech_args) +/obj/item/clothing/head/frenchberet/proc/handle_speech(datum/source, list/speech_args) var/message = speech_args[SPEECH_MESSAGE] if(message[1] != "*") message = " [message]" @@ -402,68 +220,12 @@ message += pick(" Honh honh honh!"," Honh!"," Zut Alors!") speech_args[SPEECH_MESSAGE] = trim(message) -/obj/item/clothing/head/clownmitre - name = "Hat of the Honkmother" - desc = "It's hard for parishoners to see a banana peel on the floor when they're looking up at your glorious chapeau." - icon_state = "clownmitre" - -/obj/item/clothing/head/kippah - name = "kippah" - desc = "Signals that you follow the Jewish Halakha. Keeps the head covered and the soul extra-Orthodox." - icon_state = "kippah" - -/obj/item/clothing/head/taqiyahwhite - name = "white taqiyah" - desc = "An extra-mustahabb way of showing your devotion to Allah." - icon_state = "taqiyahwhite" - pocket_storage_component_path = /datum/component/storage/concrete/pockets/small - -/obj/item/clothing/head/taqiyahred - name = "red taqiyah" - desc = "An extra-mustahabb way of showing your devotion to Allah." - icon_state = "taqiyahred" - pocket_storage_component_path = /datum/component/storage/concrete/pockets/small - -/obj/item/clothing/head/shrine_wig - name = "shrine maiden's wig" - desc = "Purify in style!" - flags_inv = HIDEHAIR //bald - mob_overlay_icon = 'icons/mob/large-worn-icons/64x64/head.dmi' - icon_state = "shrine_wig" - item_state = "shrine_wig" - worn_x_dimension = 64 - worn_y_dimension = 64 - /obj/item/clothing/head/intern name = "\improper CentCom Head Intern beancap" desc = "A horrifying mix of beanie and softcap in CentCom green. You'd have to be pretty desperate for power over your peers to agree to wear this." icon_state = "intern_hat" item_state = "intern_hat" -/obj/item/clothing/head/goatpelt - name = "goat pelt hat" - desc = "Fuzzy and Warm!" - icon_state = "goatpelt" - item_state = "goatpelt" - -/obj/item/clothing/head/jackbros - name = "frosty hat" - desc = "Hee-ho!" - icon_state = "JackFrostHat" - item_state = "JackFrostHat" - -/obj/item/clothing/head/maidheadband/syndicate - name = "tactical maid headband" - desc = "Tacticute." - icon_state = "syndieheadband" - item_state = "syndieheadband" - -/obj/item/clothing/head/maidheadband/inteq - name = "inteq maid headband" - desc = "Tacticute." - icon_state = "inteqheadband" - item_state = "inteqheadband" - /obj/item/clothing/head/inteq_peaked name = "inteq peaked cap" desc = "A peaked cap for Vanguards with a commanding authority, emblazoned with the golden badge of the IRMG." diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index c04b61563f5..3cd7c022887 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -33,82 +33,6 @@ /obj/item/clothing/head/welding/attack_self(mob/user) weldingvisortoggle(user) -/* - * Cakehat - */ -/obj/item/clothing/head/hardhat/cakehat - name = "cakehat" - desc = "You put the cake on your head. Brilliant." - icon_state = "hardhat_cakehat" - item_state = "hardhat_cakehat" - lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi' - righthand_file = 'icons/mob/inhands/clothing_righthand.dmi' - hitsound = 'sound/weapons/tap.ogg' - var/hitsound_on = 'sound/weapons/sear.ogg' //so we can differentiate between cakehat and energyhat - var/hitsound_off = 'sound/weapons/tap.ogg' - var/force_on = 15 - var/throwforce_on = 15 - var/damtype_on = BURN - flags_inv = HIDEEARS|HIDEHAIR - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - light_range = 2 //luminosity when on - flags_cover = HEADCOVERSEYES - heat = 999 - - dog_fashion = /datum/dog_fashion/head - -/obj/item/clothing/head/hardhat/cakehat/process() - var/turf/location = src.loc - if(ishuman(location)) - var/mob/living/carbon/human/M = location - if(M.is_holding(src) || M.head == src) - location = M.loc - - if(isturf(location)) - location.hotspot_expose(700, 1) - -/obj/item/clothing/head/hardhat/cakehat/turn_on(mob/living/user) - ..() - force = force_on - throwforce = throwforce_on - damtype = damtype_on - hitsound = hitsound_on - START_PROCESSING(SSobj, src) - -/obj/item/clothing/head/hardhat/cakehat/turn_off(mob/living/user) - ..() - force = 0 - throwforce = 0 - damtype = BRUTE - hitsound = hitsound_off - STOP_PROCESSING(SSobj, src) - -/obj/item/clothing/head/hardhat/cakehat/get_temperature() - return on * heat - -/obj/item/clothing/head/hardhat/cakehat/energycake - name = "energy cake" - desc = "You put the energy sword on your cake. Brilliant." - icon_state = "hardhat_energycake" - item_state = "hardhat_energycake" - hitsound = 'sound/weapons/tap.ogg' - hitsound_on = 'sound/weapons/blade1.ogg' - hitsound_off = 'sound/weapons/tap.ogg' - damtype_on = BRUTE - force_on = 18 //same as epen (but much more obvious) - light_range = 3 //ditto - heat = 0 - -/obj/item/clothing/head/hardhat/cakehat/energycake/turn_on(mob/living/user) - playsound(user, 'sound/weapons/saberon.ogg', 5, TRUE) - to_chat(user, "You turn on \the [src].") - ..() - -/obj/item/clothing/head/hardhat/cakehat/energycake/turn_off(mob/living/user) - playsound(user, 'sound/weapons/saberoff.ogg', 5, TRUE) - to_chat(user, "You turn off \the [src].") - ..() - /* * Trapper Hat */ @@ -181,17 +105,6 @@ if(ishuman(user)) add_atom_colour("#[user.hair_color]", FIXED_COLOUR_PRIORITY) -/obj/item/clothing/head/hardhat/reindeer - name = "novelty reindeer hat" - desc = "Some fake antlers and a very fake red nose." - icon_state = "hardhat_reindeer" - item_state = "hardhat_reindeer" - flags_inv = 0 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - light_range = 1 //luminosity when on - - dog_fashion = /datum/dog_fashion/head/reindeer - /obj/item/clothing/head/cardborg name = "cardborg helmet" desc = "A helmet made out of a box." @@ -241,7 +154,7 @@ return ..() /obj/item/clothing/head/wig/worn_overlays(isinhands = FALSE, file2use) - . = list() + . = ..() if(!isinhands) var/datum/sprite_accessory/S = GLOB.hairstyles_list[hairstyle] if(!S) @@ -304,66 +217,20 @@ flags_inv = HIDEEARS|HIDEHAIR armor = list("melee" = 5, "bullet" = 0, "laser" = -5, "energy" = -15, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 20) -/obj/item/clothing/head/foilhat - name = "tinfoil hat" - desc = "Thought control rays, psychotronic scanning. Don't mind that, I'm protected cause I made this hat." - icon_state = "foilhat" - item_state = "foilhat" - armor = list("melee" = 0, "bullet" = 0, "laser" = -5,"energy" = -15, "bomb" = 0, "bio" = 0, "rad" = -5, "fire" = 0, "acid" = 0) - equip_delay_other = 140 - clothing_flags = ANTI_TINFOIL_MANEUVER - var/datum/brain_trauma/mild/phobia/conspiracies/paranoia - var/warped = FALSE - -/obj/item/clothing/head/foilhat/equipped(mob/living/carbon/human/user, slot) - . = ..() - if(slot != ITEM_SLOT_HEAD || warped) - return - if(paranoia) - QDEL_NULL(paranoia) - paranoia = new() - - user.gain_trauma(paranoia, TRAUMA_RESILIENCE_MAGIC) - to_chat(user, "As you don the foiled hat, an entire world of conspiracy theories and seemingly insane ideas suddenly rush into your mind. What you once thought unbelievable suddenly seems.. undeniable. Everything is connected and nothing happens just by accident. You know too much and now they're out to get you. ") - -/obj/item/clothing/head/foilhat/MouseDrop(atom/over_object) - //God Im sorry - if(!warped && iscarbon(usr)) - var/mob/living/carbon/C = usr - if(src == C.head) - to_chat(C, "Why would you want to take this off? Do you want them to get into your mind?!") - return - return ..() - -/obj/item/clothing/head/foilhat/dropped(mob/user) - . = ..() - if(paranoia) - QDEL_NULL(paranoia) - -/obj/item/clothing/head/foilhat/proc/warp_up() - name = "scorched tinfoil hat" - desc = "A badly warped up hat. Quite unprobable this will still work against any of fictional and contemporary dangers it used to." - warped = TRUE - clothing_flags &= ~ANTI_TINFOIL_MANEUVER - if(!isliving(loc) || !paranoia) - return - var/mob/living/target = loc - if(target.get_item_by_slot(ITEM_SLOT_HEAD) != src) - return - QDEL_NULL(paranoia) - if(target.stat < UNCONSCIOUS) - to_chat(target, "Your zealous conspirationism rapidly dissipates as the donned hat warps up into a ruined mess. All those theories starting to sound like nothing but a ridicolous fanfare.") - -/obj/item/clothing/head/foilhat/attack_hand(mob/user) - if(!warped && iscarbon(user)) - var/mob/living/carbon/C = user - if(src == C.head) - to_chat(user, "Why would you want to take this off? Do you want them to get into your mind?!") - return - return ..() - -/obj/item/clothing/head/foilhat/microwave_act(obj/machinery/microwave/M) - . = ..() - if(!warped) - warp_up() +/obj/item/clothing/head/plastic_flower + name = "plastic flower" + desc = "A realistic imitation of a flower. Not edible though." + icon = 'icons/obj/hydroponics/harvest.dmi' + icon_state = "poppy" + body_parts_covered = null + unique_reskin = list( + "Poppy" = "poppy", + "Sunflower" = "sunflower", + "Moonflower" = "moonflower", + "Novaflower" = "novaflower", + "Harebell" = "harebell", + "Geranium" = "geranium", + "Lily" = "lily" + ) + custom_materials = (list(/datum/material/plastic = 1000)) diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index 3e5052cacc9..307106409f1 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -161,3 +161,32 @@ icon_state = "inteqmedsoft" soft_type = "inteqmed" dog_fashion = null + +/obj/item/clothing/head/soft/utility_beige + name = "beige utility cover" + desc = "A flat beige utility cover, unbranded. Just the right color for those sandy planetoids." + icon_state = "patrolbeigesoft" + soft_type = "patrolbeige" + dog_fashion = null + +/obj/item/clothing/head/soft/utility_black + name = "black utility cover" + desc = "A flat black utility cover, unbranded. Night Vision Goggles sold separately." + icon_state = "patrolblacksoft" + soft_type = "patrolblack" + dog_fashion = null + +/obj/item/clothing/head/soft/utility_olive + name = "miskilamao cap" + desc = "An olive utility cover emblazoned with the Miskilamo Shipbreaking logo. The material feels cheap." + icon_state = "patrololivesoft" + soft_type = "patrololive" + dog_fashion = null + +/obj/item/clothing/head/soft/utility_navy + name = "navy utility cover" + desc = "A navy blue utility cover, unbranded. Perfect for Seamen on long voyages." + icon_state = "patrolnavysoft" + soft_type = "patrolnavy" + dog_fashion = null +//recompile icons comment!!!!! diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm index 03ca246b60a..10724104fd0 100644 --- a/code/modules/clothing/masks/_masks.dm +++ b/code/modules/clothing/masks/_masks.dm @@ -11,6 +11,7 @@ var/mask_adjusted = 0 var/adjusted_flags = null supports_variations = VOX_VARIATION | KEPORI_VARIATION + blood_overlay_type = "mask" /obj/item/clothing/mask/attack_self(mob/user) if((clothing_flags & VOICEBOX_TOGGLABLE)) @@ -32,15 +33,13 @@ /obj/item/clothing/mask/proc/handle_speech() /obj/item/clothing/mask/worn_overlays(isinhands = FALSE) - . = list() + . = ..() if(!isinhands) if(body_parts_covered & HEAD) if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damagedmask") if(HAS_BLOOD_DNA(src)) - var/mutable_appearance/bloody_mask = mutable_appearance('icons/effects/blood.dmi', "maskblood") - bloody_mask.color = get_blood_dna_color(return_blood_DNA()) - . += bloody_mask + . += setup_blood_overlay() /obj/item/clothing/mask/update_clothes_damaged_state(damaging = TRUE) ..() diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index c532202a3df..a1ddb98a347 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -1,16 +1,35 @@ /obj/item/clothing/mask/balaclava name = "balaclava" - desc = "LOADSAMONEY" + desc = "A stretchy fabric hood with eye holes meant for keeping the face warm in cold weather. Also useful for concealing one's identity." icon_state = "balaclava" item_state = "balaclava" - flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR - visor_flags_inv = HIDEFACE|HIDEFACIALHAIR + clothing_flags = ALLOWINTERNALS + visor_flags = ALLOWINTERNALS + flags_inv = HIDEFACIALHAIR|HIDEFACE|HIDEEARS|HIDEHAIR + visor_flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR w_class = WEIGHT_CLASS_SMALL + gas_transfer_coefficient = 0.1 + permeability_coefficient = 0.5 actions_types = list(/datum/action/item_action/adjust) + flags_cover = MASKCOVERSMOUTH + visor_flags_cover = MASKCOVERSMOUTH + resistance_flags = NONE + supports_variations = SNOUTED_VARIATION | SNOUTED_SMALL_VARIATION | VOX_VARIATION /obj/item/clothing/mask/balaclava/attack_self(mob/user) adjustmask(user) +/obj/item/clothing/mask/balaclava/AltClick(mob/user) + ..() + if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user))) + return + else + adjustmask(user) + +/obj/item/clothing/mask/balaclava/examine(mob/user) + . = ..() + . += "Alt-click [src] to adjust it." + /obj/item/clothing/mask/infiltrator name = "infiltrator balaclava" desc = "It makes you feel safe in your anonymity, but for a stealth outfit you sure do look obvious that you're up to no good. It seems to have a built in heads-up display." diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index 8ff4e6bcb0d..ea6719e1fb6 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -36,3 +36,8 @@ permeability_coefficient = 0.01 equip_delay_other = 10 +/obj/item/clothing/mask/balaclava/inteq //inteq needs a faction clothing file badly but it's out of scope for this PR -apogee + name = "IRMG combat balaclava" + desc = "A surprisingly advanced balaclava. While it doesn't muffle your voice, it has a mouthpiece for internals. Comfy to boot! This one is a variataion commonly used by the IRMG to protect it's members idenites." + icon_state = "inteq_balaclava" + item_state = "inteq_balaclava" diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 34e77816c94..4fd1df88f0b 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -8,7 +8,7 @@ item_state = "gas_alt" gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH | PEPPERPROOF + flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH | PEPPERPROOF | SEALS_EYES resistance_flags = NONE /obj/item/clothing/mask/gas/atmos @@ -275,3 +275,10 @@ resistance_flags = FIRE_PROOF | ACID_PROOF flags_inv = HIDEFACIALHAIR|HIDEFACE|HIDEEYES|HIDEEARS|HIDEHAIR +/obj/item/clothing/mask/gas/inteq + name = "Inteq gas mask" + desc = "A protective gas mask refit for Inteq's standards. It features a modified scratch resistant visor, ports for connecting an oxygen supply, and secure, comfortable straps." + icon_state = "inteq_gas_mask" + item_state = "inteq_gas_mask" + resistance_flags = FIRE_PROOF | ACID_PROOF + supports_variations = KEPORI_VARIATION diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm index 78bbc032e86..35fd0e30430 100644 --- a/code/modules/clothing/masks/hailer.dm +++ b/code/modules/clothing/masks/hailer.dm @@ -13,6 +13,7 @@ visor_flags_inv = HIDEFACIALHAIR | HIDEFACE flags_cover = MASKCOVERSMOUTH | MASKCOVERSEYES | PEPPERPROOF visor_flags_cover = MASKCOVERSMOUTH | MASKCOVERSEYES | PEPPERPROOF + supports_variations = VOX_VARIATION /obj/item/clothing/mask/gas/sechailer/swat name = "\improper SWAT mask" @@ -28,13 +29,6 @@ icon_state = "spacepol" item_state = "spacepol" -/obj/item/clothing/mask/gas/sechailer/cyborg - name = "security hailer" - desc = "A set of recognizable pre-recorded messages for cyborgs to use when apprehending criminals." - icon = 'icons/obj/device.dmi' - icon_state = "taperecorder_idle" - mob_overlay_state = "sechailer" - /obj/item/clothing/mask/gas/sechailer/ui_action_click(mob/user, action) if(istype(action, /datum/action/item_action/adjust)) adjustmask(user) @@ -66,17 +60,3 @@ icon_state = "whistle" item_state = "whistle" blown_sound = 'sound/misc/trenchwhistle.ogg' - -/obj/item/clothing/mask/gas/sechailer/balaclava - name = "combat balaclava" - desc = "A surprisingly advanced balaclava. while it doesn't muffle your voice it has a miniature rebreather for internals. Comfy to boot!" - icon_state = "combat_balaclava" - item_state = "combat_balaclava" - strip_delay = 60 - alternate_worn_layer = BODY_LAYER - flags_inv = HIDEFACIALHAIR|HIDEFACE|HIDEEARS|HIDEHAIR - -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq - desc = "A surprisingly advanced balaclava. while it doesn't muffle your voice it has a miniature rebreather for internals. Comfy to boot! This one is a variataion commonly used by the IRMG to protect it's members idenites." - icon_state = "inteq_balaclava" - item_state = "inteq_balaclava" diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 725764a10b0..d2b57371105 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -154,13 +154,6 @@ clothing_flags = VOICEBOX_TOGGLABLE modifies_speech = TRUE -/obj/item/clothing/mask/frog/handle_speech(datum/source, list/speech_args) //whenever you speak - if(!(clothing_flags & VOICEBOX_DISABLED)) - if(prob(5)) //sometimes, the angry spirit finds others words to speak. - speech_args[SPEECH_MESSAGE] = pick("HUUUUU!!","SMOOOOOKIN'!!","Hello my baby, hello my honey, hello my rag-time gal.", "Feels bad, man.", "GIT DIS GUY OFF ME!!" ,"SOMEBODY STOP ME!!", "NORMIES, GET OUT!!") - else - speech_args[SPEECH_MESSAGE] = pick("Ree!!", "Reee!!","REEE!!","REEEEE!!") //but its usually just angry gibberish, - /obj/item/clothing/mask/frog/cursed clothing_flags = NONE diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index 8838ed657b5..a1f9c817f34 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -11,7 +11,7 @@ greyscale_icon_state = "scarf" /obj/item/clothing/neck/worn_overlays(isinhands = FALSE) - . = list() + . = ..() if(!isinhands) if(body_parts_covered & HEAD) if(damaged_clothes) @@ -167,6 +167,7 @@ desc = "An outdated medical apparatus for listening to the sounds of the human body. It also makes you look like you know what you're doing." icon_state = "stethoscope" cuttable = FALSE + supports_variations = VOX_VARIATION /obj/item/clothing/neck/stethoscope/attack(mob/living/carbon/human/M, mob/living/user) if(ishuman(M) && isliving(user)) @@ -267,6 +268,7 @@ name = "shemagh" desc = "An oversized shemagh, for those with a keen sense of fashion, or those operating tactically." icon_state = "shemagh" + supports_variations = VOX_VARIATION //The three following scarves don't have the scarf subtype //This is because Ian can equip anything from that subtype @@ -275,21 +277,25 @@ name = "striped red scarf" icon_state = "stripedredscarf" custom_price = 10 + supports_variations = VOX_VARIATION /obj/item/clothing/neck/stripedgreenscarf name = "striped green scarf" icon_state = "stripedgreenscarf" custom_price = 10 + supports_variations = VOX_VARIATION /obj/item/clothing/neck/stripedbluescarf name = "striped blue scarf" icon_state = "stripedbluescarf" custom_price = 10 + supports_variations = VOX_VARIATION /obj/item/clothing/neck/stripedsolgovscarf name = "striped solgov scarf" icon_state = "stripedsolgovscarf" custom_price = 10 + supports_variations = VOX_VARIATION /obj/item/clothing/neck/petcollar name = "pet collar" @@ -304,6 +310,23 @@ tagname = stripped_input(user, "Would you like to change the name on the tag?", "Name your new pet", "Spot", MAX_NAME_LEN) name = "[initial(name)] - [tagname]" +/obj/item/clothing/neck/dogtag + name = "dogtag" + desc = "A nondescript dogtag." + icon = 'icons/obj/clothing/neck.dmi' + icon_state = "dogtag" + resistance_flags = FIRE_PROOF + w_class = WEIGHT_CLASS_SMALL + slot_flags = ITEM_SLOT_NECK | ITEM_SLOT_POCKETS + +/obj/item/clothing/neck/dogtag/frontier + name = "frontiersman dogtag" + desc = "A dogtag marked with the name and rank of a Frontiersmen pirate. You could turn this in to an outpost console contract for money." + +/obj/item/clothing/neck/dogtag/ramzi + name = "ramzi clique dogtag" + desc = "A dogtag marked with the name and rank of a Ramzi Clique pirate. You could turn this in to an outpost console contract for money." + ////////////// //DOPE BLING// ////////////// diff --git a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm index b3a2b20f687..56f2a677c12 100644 --- a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm +++ b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm @@ -1,21 +1,23 @@ /datum/outfit/job/frontiersmen/ert //most basic of grunts name = "ERT - Frontiersman Basic" - head = /obj/item/clothing/head/helmet/bulletproof/x11/frontier - suit = /obj/item/clothing/suit/armor/vest/bulletproof/frontier + head = /obj/item/clothing/head/beret/sec/frontier + suit = /obj/item/clothing/suit/armor/vest/bulletproof suit_store = /obj/item/gun/ballistic/rifle/illestren + belt = /obj/item/storage/belt/security/military/frontiersmen/illestren uniform = /obj/item/clothing/under/frontiersmen shoes = /obj/item/clothing/shoes/combat gloves = /obj/item/clothing/gloves/color/black ears = /obj/item/radio/headset/pirate/alt back = /obj/item/storage/backpack - l_pocket = /obj/item/flashlight/seclite - r_pocket = /obj/item/tank/internals/emergency_oxygen/double + id = null // lol + wallet = null box = /obj/item/storage/box/survival/frontier - id = null // lol + l_pocket = /obj/item/flashlight/seclite + r_pocket = /obj/item/tank/internals/emergency_oxygen/double - backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen, /obj/item/ammo_box/magazine/illestren_a850r=5, /obj/item/grenade/frag=1) + backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen) /datum/outfit/job/frontiersmen/ert/random name = "ERT - Frontiersman Randomized" @@ -25,47 +27,56 @@ suit = null suit_store = null back = null + belt = null + gloves = null + l_pocket = null r_pocket = /obj/item/radio + backpack_contents = list() + box = null + backpack = null + courierbag = null + satchel = null + duffelbag = null + /datum/outfit/job/frontiersmen/ert/random/pre_equip(mob/living/carbon/human/H, visualsOnly, client/preference_source) . = ..() if(visualsOnly) return if(prob(90)) - head = pickweight(list( + head = pick_weight(list( /obj/item/clothing/head/beret/sec/frontier = 10, /obj/item/clothing/head/helmet/bulletproof/x11/frontier = 5, /obj/item/reagent_containers/glass/bucket = 1)) if(prob(60)) - suit = pickweight(list( + suit = pick_weight(list( /obj/item/clothing/suit/armor/vest = 5, - /obj/item/clothing/suit/armor/vest/bulletproof/frontier = 5, - /obj/item/clothing/suit/armor/vest/scrap_armor = 1)) - - if(prob(30)) - mask = pickweight(list( - /obj/item/clothing/mask/gas/frontiersmen = 5, - /obj/item/clothing/mask/gas/sechailer/balaclava = 5, - /obj/item/clothing/mask/breath = 5, + /obj/item/clothing/suit/armor/vest/frontier = 5, + /obj/item/clothing/suit/armor/vest/scrap = 1)) + + if(prob(50)) + mask = pick_weight(list( + /obj/item/clothing/mask/gas/frontiersmen = 12, + /obj/item/clothing/mask/balaclava = 10, + /obj/item/clothing/mask/breath = 7, /obj/item/clothing/mask/whistle = 3)) if(prob(90)) - back = pickweight(list( + back = pick_weight(list( /obj/item/storage/backpack = 20, /obj/item/storage/backpack/satchel = 20, /obj/item/storage/backpack/messenger = 20, /obj/item/melee/baton/cattleprod/loaded = 5, - /obj/item/reagent_containers/food/snacks/baguette = 2, // yes you can put this on your back - /obj/item/deployable_turret_folded = 1, - /obj/item/gun/ballistic/automatic/hmg/skm_lmg/extended = 1, + /obj/item/deployable_turret_folded = 4, + /obj/item/gun/ballistic/automatic/hmg/skm_lmg/extended = 3, )) if(prob(90)) - shoes = pickweight(list( + shoes = pick_weight(list( /obj/item/clothing/shoes/jackboots = 10, /obj/item/clothing/shoes/sneakers = 5, )) @@ -73,29 +84,32 @@ var/extra_class = pick(list("Doctor", "Breacher", "Ammo Carrier")) switch(extra_class) if("Doctor") - backpack_contents += list(/obj/item/storage/firstaid/regular = 1) + backpack_contents += list(/obj/item/storage/firstaid/medical = 1) gloves = /obj/item/clothing/gloves/color/latex suit = /obj/item/clothing/suit/frontiersmen head = /obj/item/clothing/head/frontier if(prob(50)) - belt = /obj/item/storage/belt/medical/surgery + belt = /obj/item/storage/belt/medical/webbing/frontiersmen/combat if(prob(30)) glasses = /obj/item/clothing/glasses/hud/health if("Breacher") - backpack_contents += list(/obj/item/grenade/c4 = 2) - if(prob(10)) + backpack_contents += list(/obj/item/grenade/c4 = 2, /obj/item/grenade/smokebomb = 3) + if(prob(60)) belt = /obj/item/storage/belt/grenade/full if("Ammo Carrier") var/loops = rand(1,3) for(var/i in 1 to loops) var/ammotype = pick(list( - /obj/item/ammo_box/c8x50mm_box, - /obj/item/ammo_box/c45, - /obj/item/ammo_box/a357_box, - /obj/item/ammo_box/c45, - /obj/item/ammo_box/a4570, + /obj/item/storage/box/ammo/a8_50r, + /obj/item/storage/box/ammo/c45, + /obj/item/storage/box/ammo/a357, + /obj/item/storage/box/ammo/c45, + /obj/item/storage/box/ammo/a4570, /obj/item/stock_parts/cell/gun/mini)) - backpack_contents += ammotype + if(istype(back, /obj/item/storage/backpack)) + backpack_contents += ammotype + else + H.put_in_hands(ammotype, FALSE) var/weapon = pick(list("Bolt-Action", "Pistol", "Melee")) switch(weapon) @@ -113,7 +127,7 @@ /obj/item/gun/ballistic/revolver/shadow, /obj/item/gun/ballistic/shotgun/doublebarrel/beacon/presawn, /obj/item/gun/energy/e_gun/mini)) - if(prob(30)) + if(prob(80)) l_hand = pick(list( /obj/item/gun/ballistic/automatic/pistol/disposable, /obj/item/gun/ballistic/automatic/pistol/candor, @@ -122,15 +136,15 @@ /obj/item/gun/ballistic/shotgun/doublebarrel/beacon/presawn, /obj/item/gun/energy/e_gun/mini)) if("Melee") - r_hand = pickweight(list( - /obj/item/kitchen/knife/combat/survival = 15, + r_hand = pick_weight(list( + /obj/item/melee/knife/survival = 15, /obj/item/melee/baseball_bat = 10, - /obj/item/melee/roastingstick = 2, + /obj/item/roastingstick = 2, /obj/item/kitchen/fork = 1, /obj/item/melee/flyswatter = 1, )) -/datum/outfit/job/frontiersmen/ert/grunt //better armed, use for quick creating pirate ships +/datum/outfit/job/frontiersmen/ert/unarmed //better armed, use for quick creating pirate ships name = "ERT - Frontiersman Grunt (Unarmed)" suit_store = null @@ -138,17 +152,30 @@ backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen) -/datum/outfit/job/frontiersmen/ert/grunt/skm - name = "ERT - Frontiersman Grunt (SKM-24)" +/datum/outfit/job/frontiersmen/ert/skm + name = "ERT - Frontiersman Grunt (SKM-24 AR)" suit_store = /obj/item/gun/ballistic/automatic/assault/skm belt = /obj/item/storage/belt/security/military/frontiersmen/skm_ammo -/datum/outfit/job/frontiersmen/ert/grunt/aps_mp //remember. Remind me to replace this with the spitter. - name = "ERT - Frontiersman Grunt (Stechkin APS)" +/datum/outfit/job/frontiersmen/ert/mauler_mp + name = "ERT - Frontiersman Grunt (Mauler MP)" + + suit_store = /obj/item/gun/ballistic/automatic/pistol/mauler + belt = /obj/item/storage/belt/security/military/frontiersmen/mauler_mp_ammo + +/datum/outfit/job/frontiersmen/ert/spitter_mp + name = "ERT - Frontiersman Grunt (Spitter MP)" + + suit_store = /obj/item/gun/ballistic/automatic/pistol/spitter + belt = /obj/item/storage/belt/security/military/frontiersmen/spitter_ammo + +/datum/outfit/job/frontiersmen/ert/pounder_smg + name = "ERT - Frontiersman Grunt (Pounder SMG)" - suit_store = /obj/item/gun/ballistic/automatic/pistol/APS - belt = /obj/item/storage/belt/security/military/frontiersmen/aps_mp_ammo + suit_store = /obj/item/gun/ballistic/automatic/smg/pounder + belt = null + backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen=1, /obj/item/ammo_box/magazine/c22lr_pounder_pan=2) /datum/outfit/job/frontiersmen/ert/leader name = "ERT - Frontiersman Officer" @@ -158,16 +185,33 @@ ears = /obj/item/radio/headset/pirate/alt/captain back = /obj/item/storage/backpack/satchel/leather suit = /obj/item/clothing/suit/armor/frontier - suit_store = /obj/item/gun/ballistic/automatic/pistol/deagle + suit_store = null + belt = /obj/item/gun/ballistic/automatic/pistol/deagle + + backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen, /obj/item/ammo_box/magazine/m50=2, /obj/item/binoculars=1, /obj/item/melee/knife/survival) + +/datum/outfit/job/frontiersmen/ert/leader/heavy + name = "ERT - Frontiersman Officer (Shock Troop)" + + suit = /obj/item/clothing/suit/armor/vest/marine/frontier + head = /obj/item/clothing/head/helmet/bulletproof/x11/frontier + mask = /obj/item/clothing/mask/breath + belt = /obj/item/gun/ballistic/automatic/pistol/deagle/gold // daring today aren't we - backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen, /obj/item/ammo_box/magazine/m50=2, /obj/item/binoculars=1, /obj/item/kitchen/knife/combat/survival) + backpack = /obj/item/minigunpack + satchel = /obj/item/minigunpack + courierbag = /obj/item/minigunpack + duffelbag = /obj/item/minigunpack -/datum/outfit/job/frontiersmen/ert/leader/unnarmed - name = "ERT - Frontiersman Officer (Unnarmed)" + backpack_contents = null + box = null + +/datum/outfit/job/frontiersmen/ert/leader/unarmed + name = "ERT - Frontiersman Officer (Unarmed)" suit_store = null - backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen, /obj/item/binoculars=1, /obj/item/kitchen/knife/combat/survival) + backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen, /obj/item/binoculars=1, /obj/item/melee/knife/survival) /datum/outfit/job/frontiersmen/ert/medic name = "ERT - Frontiersman Medic" @@ -177,10 +221,22 @@ mask = /obj/item/clothing/mask/surgical gloves = /obj/item/clothing/gloves/color/latex/nitrile belt = /obj/item/storage/belt/medical/webbing/frontiersmen/surgery - suit_store = /obj/item/gun/ballistic/automatic/pistol/APS + suit = /obj/item/clothing/suit/frontiersmen + suit_store = null - backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen, /obj/item/storage/firstaid/medical=1, /obj/item/reagent_containers/hypospray/medipen/stimpack=3, /obj/item/ammo_box/magazine/pistolm9mm=2) + backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen, /obj/item/storage/firstaid/regular, /obj/item/ammo_box/magazine/m9mm_mauler = 2, /obj/item/gun/ballistic/automatic/pistol/mauler) +/datum/outfit/job/frontiersmen/ert/medic/heavy + name = "ERT - Frontiersman Medic (Shock Troop)" + + head = /obj/item/clothing/head/helmet/bulletproof/x11/frontier + mask = /obj/item/clothing/mask/breath/ngr + suit = /obj/item/clothing/suit/armor/vest/frontier + suit_store = /obj/item/gun/ballistic/automatic/pistol/mauler + belt = /obj/item/storage/belt/medical/webbing/frontiersmen/combat + glasses = /obj/item/clothing/glasses/hud/health + + backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen, /obj/item/storage/firstaid/medical=1, /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor = 3, /obj/item/ammo_box/magazine/m9mm_mauler=2) /datum/outfit/job/frontiersmen/ert/engineer name = "ERT - Frontiersman Engineer" @@ -202,19 +258,23 @@ suit_store = /obj/item/tank/internals/oxygen/red uniform = /obj/item/clothing/under/frontiersmen/fireproof gloves = /obj/item/clothing/gloves/combat - back = /obj/item/storage/backpack + back = /obj/item/storage/backpack/fireproof belt = /obj/item/storage/belt/security/military/frontiersmen/flamer l_hand = /obj/item/flamethrower/full/tank - backpack_contents = list(/obj/item/gun/ballistic/shotgun/doublebarrel/presawn=1,/obj/item/ammo_box/a12g=1,/obj/item/extinguisher=2,/obj/item/radio=1) + backpack_contents = list( + /obj/item/gun/ballistic/shotgun/doublebarrel/presawn=1, \ + /obj/item/storage/box/ammo/a12g_slug = 1, \ + /obj/item/extinguisher = 2, \ + /obj/item/radio=1) -/datum/outfit/job/frontiersmen/ert/sentry_lmg - name = "ERT - Frontiersman Sentry (SKM-24v)" +/datum/outfit/job/frontiersmen/ert/sentry + name = "ERT - Frontiersman Sentry (SKM-24v LMG)" - head = /obj/item/clothing/head/helmet/marine/frontier - mask = /obj/item/clothing/mask/gas/sechailer/balaclava + head = /obj/item/clothing/head/helmet/frontier + mask = /obj/item/clothing/mask/balaclava suit = /obj/item/clothing/suit/armor/vest/marine/frontier suit_store = /obj/item/gun/ballistic/automatic/hmg/skm_lmg/drum_mag gloves = /obj/item/clothing/gloves/combat @@ -222,3 +282,11 @@ belt = /obj/item/gun/ballistic/revolver/mateba backpack_contents = list(/obj/item/ammo_box/magazine/skm_762_40/drum=2,/obj/item/ammo_box/a357=2,/obj/item/grenade/frag=1,/obj/item/radio=1) + +/datum/outfit/job/frontiersmen/ert/sentry/shredder + name = "ERT - Frontiersman Sentry (Shredder LMG)" + + suit_store = null + l_hand = /obj/item/gun/ballistic/automatic/hmg/shredder // this doesnt even fit on the suit storage slot + + backpack_contents = list(/obj/item/ammo_box/magazine/m12_shredder=2,/obj/item/ammo_box/a357=2,/obj/item/grenade/frag=1,/obj/item/radio=1) diff --git a/code/modules/clothing/outfits/ert/gezena_ert.dm b/code/modules/clothing/outfits/ert/gezena_ert.dm new file mode 100644 index 00000000000..436b7379599 --- /dev/null +++ b/code/modules/clothing/outfits/ert/gezena_ert.dm @@ -0,0 +1,87 @@ +/datum/outfit/job/gezena/ert + name = "ERT - PGF Marine Rifleman" + id_assignment = "Marine Rifleman" + jobtype = /datum/job/officer + job_icon = "securityofficer" + + uniform = /obj/item/clothing/under/gezena/marine + suit = /obj/item/clothing/suit/armor/gezena/marine + head = /obj/item/clothing/head/helmet/gezena + belt = /obj/item/storage/belt/military/gezena/bg16 + gloves = /obj/item/clothing/gloves/gezena/marine + shoes = /obj/item/clothing/shoes/combat/gezena + neck = /obj/item/clothing/neck/cloak/gezena + suit_store = /obj/item/gun/energy/kalix/pgf + + l_pocket = /obj/item/melee/knife/combat + r_pocket = /obj/item/flashlight/seclite + + backpack_contents = list(/obj/item/gun/energy/kalix/pistol, /obj/item/stock_parts/cell/gun/kalix = 2, /obj/item/grenade/frag=2) + + +/datum/outfit/job/gezena/ert/gunner + name = "ERT - PGF Marine Gunner" + + suit_store = /obj/item/gun/energy/kalix/pgf/heavy // yea there's not much else to put in. sorry + +/datum/outfit/job/gezena/ert/engineer + name = "ERT - PGF Marine Combat Engineer" + id_assignment = "Marine Combat Engineer" + + belt = /obj/item/storage/belt/military/gezena/engineer + +/datum/outfit/job/gezena/ert/medic + name = "ERT - PGF Marine Medic" + id_assignment = "Marine Medic" + jobtype = /datum/job/paramedic + job_icon = "paramedic" + + belt = /obj/item/storage/belt/medical/gezena/paramedic + gloves = /obj/item/clothing/gloves/gezena/marine + neck = /obj/item/clothing/neck/cloak/gezena/med + + backpack = /obj/item/storage/backpack/medic + satchel = /obj/item/storage/backpack/satchel/med + duffelbag = /obj/item/storage/backpack/duffelbag/med + courierbag = /obj/item/storage/backpack/messenger/para + box = /obj/item/storage/box/survival/medical + + backpack_contents = list(/obj/item/gun/energy/kalix/pistol, /obj/item/stock_parts/cell/gun/kalix = 2, /obj/item/screwdriver) + + +/datum/outfit/job/gezena/ert/leader + name = "ERT - PGF Marine Sergeant" + id_assignment = "Marine Sergeant" + jobtype = /datum/job/hos + job_icon = "headofsecurity" + + suit = /obj/item/clothing/suit/armor/gezena/marinecoat + head = /obj/item/clothing/head/helmet/gezena + gloves = /obj/item/clothing/gloves/gezena/marine + shoes = /obj/item/clothing/shoes/combat/gezena + neck = /obj/item/clothing/neck/cloak/gezena/lead + suit_store = /obj/item/gun/energy/kalix/pgf/heavy + + backpack_contents = list(/obj/item/gun/energy/kalix/pistol, /obj/item/stock_parts/cell/gun/kalix = 2, /obj/item/grenade/smokebomb = 3, /obj/item/binoculars) + + +/datum/outfit/job/gezena/ert/inspector + name = "ERT - PGF Naval Observer" + id_assignment = "Naval Observer" + jobtype = /datum/job/head_of_personnel + job_icon = "headofpersonnel" + + head = /obj/item/clothing/head/gezena + neck = /obj/item/clothing/neck/cloak/gezena/command + uniform = /obj/item/clothing/under/gezena + suit = /obj/item/clothing/suit/armor/gezena + suit_store = null + belt = null + gloves = /obj/item/clothing/gloves/gezena + + backpack = /obj/item/storage/backpack/satchel + satchel = /obj/item/storage/backpack/satchel + duffelbag = /obj/item/storage/backpack/satchel + courierbag = /obj/item/storage/backpack/satchel + + backpack_contents = list(/obj/item/folder, /obj/item/paper_bin/bundlenatural, /obj/item/hand_labeler) diff --git a/code/modules/clothing/outfits/ert/indie_ert.dm b/code/modules/clothing/outfits/ert/indie_ert.dm index e45f0895d0f..57d737ba0f8 100644 --- a/code/modules/clothing/outfits/ert/indie_ert.dm +++ b/code/modules/clothing/outfits/ert/indie_ert.dm @@ -3,25 +3,18 @@ jobtype = /datum/job/officer job_icon = "securityofficer" + wallet = null + head = /obj/item/clothing/head/helmet/sec ears = /obj/item/radio/headset/alt - mask = null uniform = /obj/item/clothing/under/rank/security/officer - shoes = /obj/item/clothing/shoes/combat/swat + shoes = /obj/item/clothing/shoes/combat gloves = /obj/item/clothing/gloves/color/black suit = /obj/item/clothing/suit/armor/vest back = /obj/item/storage/backpack/security belt = /obj/item/storage/belt/security/full id = /obj/item/card/id -/datum/outfit/job/independent/ert/post_equip(mob/living/carbon/human/H, visualsOnly, client/preference_source) - . = ..() - if(visualsOnly) - return - - var/obj/item/card/id/W = H.wear_id - W.access += list(ACCESS_CENT_GENERAL) - /datum/outfit/job/independent/ert/emt name = "ERT - Independent Paramedic" jobtype = /datum/job/paramedic @@ -37,6 +30,15 @@ back = /obj/item/storage/backpack/medic belt = /obj/item/storage/belt/medical/webbing/paramedic + backpack_contents = list(/obj/item/storage/firstaid/medical) + +/datum/outfit/job/independent/ert/emt/eva + name = "ERT - Independent Paramedic (EVA)" + + head = null + suit = /obj/item/clothing/suit/space/hardsuit/medical + suit_store = /obj/item/tank/internals/oxygen + /datum/outfit/job/independent/ert/firefighter name = "ERT - Independent Firefighter (Standard)" jobtype = /datum/job/atmos @@ -44,14 +46,20 @@ head = /obj/item/clothing/head/hardhat/red uniform = /obj/item/clothing/under/utility - suit = /obj/item/clothing/suit/fire/firefighter + suit = /obj/item/clothing/suit/fire/atmos suit_store = /obj/item/extinguisher glasses = /obj/item/clothing/glasses/heat - mask = /obj/item/clothing/mask/breath + belt = null + mask = /obj/item/clothing/mask/gas/atmos shoes = /obj/item/clothing/shoes/workboots gloves = /obj/item/clothing/gloves/color/black back = /obj/item/tank/internals/oxygen/red + backpack = /obj/item/storage/backpack/fireproof + courierbag = /obj/item/storage/backpack/fireproof + duffelbag = /obj/item/storage/backpack/fireproof + satchel = /obj/item/storage/backpack/fireproof + l_pocket = /obj/item/crowbar/red r_pocket = /obj/item/radio @@ -61,27 +69,33 @@ job_icon = "paramedic" mask = /obj/item/clothing/mask/breath/medical - back = /obj/item/storage/backpack/fireproof gloves = /obj/item/clothing/gloves/color/latex/nitrile/evil glasses = /obj/item/clothing/glasses/hud/health suit_store = /obj/item/tank/internals/emergency_oxygen l_pocket = /obj/item/extinguisher/mini - backpack_contents = list(/obj/item/storage/firstaid/fire=1, /obj/item/storage/firstaid/o2=1, /obj/item/radio=1) + backpack_contents = list(/obj/item/storage/firstaid/fire=1, /obj/item/storage/firstaid/o2=1) /datum/outfit/job/independent/ert/firefighter/leader name = "ERT - Independent Firefighter (Group Captain)" jobtype = /datum/job/chief_engineer job_icon = "chiefengineer" - back = /obj/item/fireaxe suit = /obj/item/clothing/suit/space/hardsuit/engine suit_store = /obj/item/tank/internals/oxygen/red head = null belt = /obj/item/storage/belt/utility/atmostech gloves = /obj/item/clothing/gloves/color/yellow + backpack_contents = null + box = null + + backpack = /obj/item/melee/axe/fire + courierbag = /obj/item/melee/axe/fire + duffelbag = /obj/item/melee/axe/fire + satchel = /obj/item/melee/axe/fire + /datum/outfit/job/independent/ert/technician name = "ERT - Independent Technician" jobtype = /datum/job/engineer @@ -90,6 +104,7 @@ head = /obj/item/clothing/head/hardhat uniform = /obj/item/clothing/under/rank/engineering/engineer belt = /obj/item/storage/belt/utility/full/engi + gloves = /obj/item/clothing/gloves/color/yellow suit = /obj/item/clothing/suit/toggle/hazard shoes = /obj/item/clothing/shoes/workboots back = /obj/item/storage/backpack/industrial @@ -97,3 +112,61 @@ r_pocket = /obj/item/analyzer box = /obj/item/storage/box/survival/engineer + +/datum/outfit/job/independent/ert/pizza + name = "ERT - Independent Pizza Delivery Worker" + + uniform = /obj/item/clothing/under/suit/burgundy + neck = /obj/item/clothing/neck/tie/red + shoes = /obj/item/clothing/shoes/sneakers/black + head = /obj/item/clothing/head/soft/mime + suit = null + ears = null + belt = null + gloves = null + + +/datum/outfit/job/independent/ert/janitor + name = "ERT - Independent Sanitation Technician" + jobtype = /datum/job/janitor + job_icon = "janitor" + + uniform = /obj/item/clothing/under/rank/civilian/janitor + head = /obj/item/clothing/head/soft/purple + ears = /obj/item/radio/headset + mask = null + shoes = /obj/item/clothing/shoes/combat/swat + gloves = /obj/item/clothing/gloves/color/purple + suit = null + belt = /obj/item/storage/belt/janitor/full + +/datum/outfit/job/independent/ert/deathsquad + name = "ERT - Death Commando" + job_icon = "deathsquad" + faction_icon = null + id_assignment = "Commando" // i mean. if you have enough time to look at a dsquaddie's id card. why not + + head = null + uniform = /obj/item/clothing/under/rank/security/officer/military + id = /obj/item/card/id/ert/deathsquad + suit = /obj/item/clothing/suit/space/hardsuit/deathsquad + shoes = /obj/item/clothing/shoes/combat/swat + gloves = /obj/item/clothing/gloves/tackler/combat/insulated + mask = /obj/item/clothing/mask/gas/sechailer/swat + glasses = /obj/item/clothing/glasses/hud/toggle/thermal + back = /obj/item/storage/backpack/security + suit_store = /obj/item/tank/internals/emergency_oxygen/double + belt = /obj/item/gun/ballistic/revolver/mateba + ears = /obj/item/radio/headset/alt + r_hand = /obj/item/gun/energy/pulse + + l_pocket = /obj/item/melee/energy/sword/saber + r_pocket = /obj/item/shield/energy + + + backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ + /obj/item/ammo_box/a357=1,\ + /obj/item/storage/firstaid/regular=1,\ + /obj/item/storage/box/flashbangs=1,\ + /obj/item/flashlight=1,\ + /obj/item/grenade/c4/x4=1) diff --git a/code/modules/clothing/outfits/ert/inteq_ert.dm b/code/modules/clothing/outfits/ert/inteq_ert.dm index b3fc0c61970..6513fe11dd4 100644 --- a/code/modules/clothing/outfits/ert/inteq_ert.dm +++ b/code/modules/clothing/outfits/ert/inteq_ert.dm @@ -4,31 +4,63 @@ jobtype = /datum/job/officer job_icon = "securityofficer" - mask = /obj/item/clothing/mask/gas/sechailer/balaclava/inteq + wallet = null + + head = /obj/item/clothing/head/helmet/inteq + mask = /obj/item/clothing/mask/balaclava/inteq glasses = /obj/item/clothing/glasses/hud/security/sunglasses/inteq uniform = /obj/item/clothing/under/syndicate/inteq - suit = /obj/item/clothing/suit/space/hardsuit/syndi/inteq + suit = /obj/item/clothing/suit/armor/vest suit_store = /obj/item/gun/ballistic/automatic/assault/skm/inteq gloves = /obj/item/clothing/gloves/combat + shoes = /obj/item/clothing/shoes/combat ears = /obj/item/radio/headset/inteq/alt id = /obj/item/card/id belt = /obj/item/storage/belt/security/webbing/inteq/skm - back = /obj/item/storage/backpack/fireproof - l_pocket = /obj/item/kitchen/knife/combat + l_pocket = /obj/item/melee/knife/combat r_pocket = /obj/item/flashlight/seclite - backpack_contents = list(/obj/item/radio=1) +/datum/outfit/job/inteq/ert/eva + name = "ERT - Inteq Rifleman (EVA)" + + head = null + suit = /obj/item/clothing/suit/space/hardsuit/syndi/inteq + r_pocket = /obj/item/tank/internals/emergency_oxygen/engi /datum/outfit/job/inteq/ert/shotgun name = "ERT - Inteq Shotgunner" - id_assignment = "Enforcer" - suit_store = /obj/item/gun/ballistic/shotgun/automatic/combat/compact - belt = /obj/item/storage/belt/security/webbing/inteq/alt + suit_store = /obj/item/gun/ballistic/shotgun/automatic/bulldog/inteq + belt = /obj/item/storage/belt/security/webbing/inteq/alt/bulldog - backpack_contents = list(/obj/item/storage/box/lethalshot=2, /obj/item/radio=1) +/datum/outfit/job/inteq/ert/shotgun/eva + name = "ERT - Inteq Shotgunner (EVA)" + + head = null + suit = /obj/item/clothing/suit/space/hardsuit/syndi/inteq + r_pocket = /obj/item/tank/internals/emergency_oxygen/engi + +/datum/outfit/job/inteq/ert/engineer + name = "ERT - Inteq Artificer" + id_assignment = "Artificer" + jobtype = /datum/job/engineer + job_icon = "stationengineer" + + head = /obj/item/clothing/head/soft/inteq + uniform = /obj/item/clothing/under/syndicate/inteq/artificer + belt = /obj/item/storage/belt/utility/full/engi + gloves = /obj/item/clothing/gloves/color/yellow + suit_store = /obj/item/gun/ballistic/automatic/pistol/commander/inteq + + backpack_contents = list(/obj/item/ammo_box/magazine/co9mm=2) + +/datum/outfit/job/inteq/ert/engineer/eva + name = "ERT - Inteq Artificer (EVA)" + head = null + suit = /obj/item/clothing/suit/space/hardsuit/syndi/inteq + r_pocket = /obj/item/tank/internals/emergency_oxygen/engi /datum/outfit/job/inteq/ert/medic name = "ERT - Inteq Corpsman" @@ -36,13 +68,21 @@ jobtype = /datum/job/paramedic job_icon = "paramedic" + head = /obj/item/clothing/head/soft/inteq/corpsman uniform = /obj/item/clothing/under/syndicate/inteq/corpsman belt = /obj/item/storage/belt/medical/webbing/paramedic - suit_store = null + suit = /obj/item/clothing/suit/armor/inteq/corpsman + suit_store = /obj/item/healthanalyzer + + backpack_contents = list(/obj/item/storage/firstaid/medical=1) - l_pocket = /obj/item/healthanalyzer +/datum/outfit/job/inteq/ert/medic/eva + name = "ERT - Inteq Corpsman (EVA)" - backpack_contents = list(/obj/item/storage/firstaid/medical=1, /obj/item/radio=1) + head = null + suit = /obj/item/clothing/suit/space/hardsuit/syndi/inteq + suit_store = null + r_pocket = /obj/item/tank/internals/emergency_oxygen/engi /datum/outfit/job/inteq/ert/leader name = "ERT - Inteq Vanguard" @@ -50,7 +90,62 @@ jobtype = /datum/job/hos job_icon = "headofsecurity" + head = /obj/item/clothing/head/helmet/inteq ears = /obj/item/radio/headset/inteq/alt/captain back = /obj/item/storage/backpack/messenger/inteq + belt = /obj/item/storage/belt/security/webbing/inteq/skm_carabine + suit = /obj/item/clothing/suit/armor/hos/inteq + suit_store = /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq + id = /obj/item/card/id/gold + + backpack_contents = list(/obj/item/megaphone/sec) + +/datum/outfit/job/inteq/ert/leader/eva + name = "ERT - Inteq Vanguard (EVA)" + + head = null + suit = /obj/item/clothing/suit/space/hardsuit/syndi/inteq + r_pocket = /obj/item/tank/internals/emergency_oxygen/engi + +/datum/outfit/job/inteq/ert/honor_guard + name = "ERT - Inteq Honor Guard" + id_assignment = "Guardsman" + jobtype = /datum/job/officer + job_icon = "inteq" + + uniform = /obj/item/clothing/under/syndicate/inteq + suit = /obj/item/clothing/suit/armor/vest/marine + belt = /obj/item/storage/belt/military/assault/commander + gloves = /obj/item/clothing/gloves/color/white + shoes = /obj/item/clothing/shoes/combat + head = /obj/item/clothing/head/beret/sec/hos/inteq/honorable + mask = /obj/item/clothing/mask/balaclava/inteq + ears = /obj/item/radio/headset/inteq/captain + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/inteq + r_pocket = /obj/item/restraints/handcuffs suit_store = /obj/item/gun/ballistic/automatic/pistol/commander/inteq - id = /obj/item/card/id/silver + + backpack_contents = list(/obj/item/gun/energy/taser) + + +/datum/outfit/job/inteq/ert/inspector + name = "ERT - Inteq Mothership Investigator" + id_assignment = "Investigator" + jobtype = /datum/job/head_of_personnel + job_icon = "inteq" + + uniform = /obj/item/clothing/under/syndicate/inteq + suit = null + suit_store = null + belt = /obj/item/clipboard + gloves = /obj/item/clothing/gloves/color/black + shoes = /obj/item/clothing/shoes/laceup + head = /obj/item/clothing/head/beret/sec/inteq + mask = null + ears = /obj/item/radio/headset/inteq/captain + glasses = null + + r_pocket = /obj/item/pen/fourcolor + l_pocket = /obj/item/taperecorder + + backpack_contents = list(/obj/item/stamp/inteq, /obj/item/folder, /obj/item/paper_bin/bundlenatural, /obj/item/hand_labeler) diff --git a/code/modules/clothing/outfits/ert/minutemen_ert.dm b/code/modules/clothing/outfits/ert/minutemen_ert.dm index bc440d3bc61..cec786d7078 100644 --- a/code/modules/clothing/outfits/ert/minutemen_ert.dm +++ b/code/modules/clothing/outfits/ert/minutemen_ert.dm @@ -1,26 +1,61 @@ -/datum/outfit/job/clip/minutemen/grunt/dressed/bard - name = "ERT - CLIP Minuteman BARD Specialist" - id_assignment = "Biohazard Assessment Specialist" +/datum/outfit/job/clip/minutemen/bard + name = "ERT - C-MM BARD Field Agent" + id_assignment = "Biohazard Assessment Field Agent" + jobtype = /datum/job/virologist + job_icon = "virologist" // can someone resprite the biosuits already + + wallet = null + + uniform = /obj/item/clothing/under/clip/formal/with_shirt + head = /obj/item/clothing/head/clip + mask = /obj/item/clothing/mask/surgical + gloves = /obj/item/clothing/gloves/color/latex + + backpack = /obj/item/storage/backpack/satchel/sec/clip + satchel = /obj/item/storage/backpack/satchel/sec/clip + courierbag = /obj/item/storage/backpack/satchel/sec/clip + duffelbag = /obj/item/storage/backpack/satchel/sec/clip + + l_pocket = /obj/item/taperecorder + r_pocket = /obj/item/flashlight + + backpack_contents = list(/obj/item/clothing/mask/gas/clip, + /obj/item/evidencebag = 2, + /obj/item/camera, + /obj/item/storage/firstaid/toxin, + ) + +/datum/outfit/job/clip/minutemen/bard/emergency + name = "ERT - C-MM BARD Xenofauna Specialist" + id_assignment = "Biohazard Assessment Xenofauna Specialist" job_icon = "clip_cmm2" + uniform = /obj/item/clothing/under/clip/minutemen suit = /obj/item/clothing/suit/armor/vest/marine/heavy - suit_store = /obj/item/gun/ballistic/shotgun/bulldog/minutemen + suit_store = /obj/item/gun/ballistic/shotgun/cm15/incendiary mask = /obj/item/clothing/mask/gas/clip head = /obj/item/clothing/head/helmet/riot/clip - belt = /obj/item/storage/belt/military/clip/cm15 + belt = /obj/item/storage/belt/military/clip/cm15_inc glasses = /obj/item/clothing/glasses/hud/health/night - r_pocket = /obj/item/kitchen/knife/combat + r_pocket = /obj/item/melee/knife/combat l_pocket = /obj/item/extinguisher/mini + shoes = /obj/item/clothing/shoes/combat + + backpack = /obj/item/storage/backpack/ert + satchel = /obj/item/storage/backpack/ert + courierbag = /obj/item/storage/backpack/ert + duffelbag = /obj/item/storage/backpack/ert backpack_contents = list( /obj/item/flashlight/seclite = 1, /obj/item/storage/box/flares = 1 ) -/datum/outfit/job/clip/minutemen/grunt/dressed/bard/medic - name = "ERT - CLIP Minuteman BARD Medical Specialist" - id_assignment = "Corpsman" +/datum/outfit/job/clip/minutemen/bard/emergency/medic + name = "ERT - C-MM BARD Medical Specialist" + id_assignment = "Biohazard Assessment Medical Aid Specialist" + uniform = /obj/item/clothing/under/clip/medic suit = /obj/item/clothing/suit/armor/vest/marine suit_store = /obj/item/gun/ballistic/automatic/smg/cm5 belt = /obj/item/storage/belt/medical/webbing/clip/prefilled @@ -31,11 +66,17 @@ /obj/item/flashlight/seclite = 1, /obj/item/defibrillator/compact/loaded = 1, /obj/item/storage/firstaid/advanced = 1, - /obj/item/ammo_box/magazine/smgm9mm = 2 + /obj/item/ammo_box/magazine/cm5_9mm = 2 ) -/datum/outfit/job/clip/minutemen/grunt/dressed/bard/flamer - name = "ERT - CLIP Minuteman BARD Flamethrower Specialist" + backpack = /obj/item/storage/backpack/ert/medical + satchel = /obj/item/storage/backpack/ert/medical + courierbag = /obj/item/storage/backpack/ert/medical + duffelbag = /obj/item/storage/backpack/ert/medical + +/datum/outfit/job/clip/minutemen/bard/emergency/flamer + name = "ERT - C-MM BARD Flamethrower Specialist" + id_assignment = "Biohazard Assessment Fire Control Specialist" suit = /obj/item/clothing/suit/armor/vest/marine/medium suit_store = /obj/item/flamethrower/full/tank @@ -46,55 +87,96 @@ backpack_contents = list( /obj/item/flashlight/seclite = 1, /obj/item/extinguisher = 1, - /obj/item/gun/ballistic/automatic/pistol/commander = 1 // replace commander with the cm23 when it is implemented + /obj/item/gun/ballistic/automatic/pistol/cm23 = 1 ) - -/datum/outfit/job/clip/minutemen/grunt/dressed/bard/leader - name = "ERT - CLIP Minuteman BARD Specialist Sergeant" - id_assignment = "Biohazard Assessment Sergeant" - job_icon = "clip_cmm3" +/datum/outfit/job/clip/minutemen/bard/emergency/leader + name = "ERT - C-MM BARD Master Sergeant" + id_assignment = "Master Sergeant" + job_icon = "clip_cmm4" belt = /obj/item/storage/belt/military/clip/e50 - uniform = /obj/item/clothing/under/clip/officer suit = /obj/item/clothing/suit/armor/vest/marine - suit_store = /obj/item/gun/energy/laser/e50 + suit_store = /obj/item/gun/energy/laser/e50/clip r_pocket = /obj/item/grenade/c4 l_pocket = /obj/item/reagent_containers/hypospray/medipen/stimpack backpack_contents = list( /obj/item/storage/box/flares = 1, /obj/item/grenade/c4 = 2, + /obj/item/grenade/smokebomb = 2, /obj/item/flashlight/seclite = 1 ) -/datum/outfit/job/clip/minutemen/grunt/dressed/riot - name = "ERT - CLIP Minuteman Riot Officer" - job_icon = "securityofficerOld" +/datum/outfit/job/clip/minutemen/military_police + name = "ERT - C-MM Military Police" + id_assignment = "Military Police" + job_icon = "clip_cmm3" + + ears = /obj/item/radio/headset/clip/alt + suit = /obj/item/clothing/suit/armor/vest/bulletproof + head = /obj/item/clothing/head/clip/slouch + glasses = /obj/item/clothing/glasses/sunglasses + belt = /obj/item/storage/belt/security/full + shoes = /obj/item/clothing/shoes/jackboots + gloves = /obj/item/clothing/gloves/color/white + + l_pocket = /obj/item/flashlight/seclite + r_pocket = /obj/item/melee/knife/combat + +/datum/outfit/job/clip/minutemen/military_police/riot + name = "ERT - C-MM Military Police (Riot Control)" suit = /obj/item/clothing/suit/armor/riot/clip + mask = /obj/item/clothing/mask/balaclava/combat + glasses = /obj/item/clothing/glasses/sunglasses/big + gloves = /obj/item/clothing/gloves/combat head = /obj/item/clothing/head/helmet/riot/clip l_hand = /obj/item/melee/baton/loaded - back = /obj/item/shield/riot - belt = /obj/item/gun/ballistic/automatic/smg/cm5/no_mag - r_pocket = /obj/item/ammo_box/magazine/smgm9mm/rubber - l_pocket = /obj/item/ammo_box/magazine/smgm9mm/rubber + belt = /obj/item/gun/ballistic/automatic/smg/cm5/rubber + + r_pocket = /obj/item/ammo_box/magazine/cm5_9mm/rubber + l_pocket = /obj/item/reagent_containers/spray/pepper backpack_contents = null box = null - backpack = null - duffelbag = null - courierbag = null - satchel = null + backpack = /obj/item/shield/riot + duffelbag = /obj/item/shield/riot + courierbag = /obj/item/shield/riot + satchel = /obj/item/shield/riot -/datum/outfit/job/clip/minutemen/grunt/dressed/riot/leader - name = "ERT - CLIP Minutemen Riot Officer Sergeant" - id_assignment = "Security Sergeant" - job_icon = "lieutenant" +/datum/outfit/job/clip/minutemen/military_police/leader + name = "ERT - C-MM Chief Military Police" + id_assignment = "Chief Military Police" + job_icon = "clip_cmm4" + head = /obj/item/clothing/head/clip/slouch/officer + uniform = /obj/item/clothing/under/clip/officer ears = /obj/item/radio/headset/clip/alt/captain - back = /obj/item/shield/riot/flash + +/datum/outfit/job/clip/minutemen/military_police/leader/riot + name = "ERT - C-MM Chief Military Police (Riot Control)" + + suit = /obj/item/clothing/suit/armor/riot/clip + mask = /obj/item/clothing/mask/balaclava/combat + glasses = /obj/item/clothing/glasses/sunglasses/big + gloves = /obj/item/clothing/gloves/tackler/combat + head = /obj/item/clothing/head/helmet/riot/clip + suit_store = /obj/item/melee/baton/loaded + l_hand = /obj/item/megaphone/command + belt = /obj/item/gun/ballistic/automatic/smg/cm5/rubber + + r_pocket = /obj/item/assembly/flash/handheld + l_pocket = /obj/item/ammo_box/magazine/cm5_9mm/rubber + + backpack_contents = null + box = null + + backpack = /obj/item/shield/riot/flash + duffelbag = /obj/item/shield/riot/flash + courierbag = /obj/item/shield/riot/flash + satchel = /obj/item/shield/riot/flash /datum/outfit/job/clip/minutemen/grunt/dressed/hardsuit name = "CLIP Minutemen - Minuteman (Spotter Hardsuit)" diff --git a/code/modules/clothing/outfits/ert/nanotrasen_ert.dm b/code/modules/clothing/outfits/ert/nanotrasen_ert.dm index 4cec7ad56f8..49a01ae5693 100644 --- a/code/modules/clothing/outfits/ert/nanotrasen_ert.dm +++ b/code/modules/clothing/outfits/ert/nanotrasen_ert.dm @@ -1,464 +1,72 @@ -// this is where the base ERT outfit goes -/datum/outfit/centcom/ert - name = "ERT Common" - - mask = /obj/item/clothing/mask/gas/sechailer - uniform = /obj/item/clothing/under/rank/centcom/official - shoes = /obj/item/clothing/shoes/combat/swat - gloves = /obj/item/clothing/gloves/combat - ears = /obj/item/radio/headset/headset_cent/alt - -/datum/outfit/centcom/ert/post_equip(mob/living/carbon/human/human, visualsOnly = FALSE) - if(visualsOnly) - return - - var/obj/item/card/id/id = human.wear_id - if(id) - id.registered_name = human.real_name - id.update_label() - ..() - -/datum/outfit/centcom/ert/commander - name = "ERT Commander" - - id = /obj/item/card/id/ert - suit = /obj/item/clothing/suit/space/hardsuit/ert - suit_store = /obj/item/gun/energy/e_gun/hades - glasses = /obj/item/clothing/glasses/hud/security/sunglasses - back = /obj/item/storage/backpack/ert - belt = /obj/item/storage/belt/security/full - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/melee/baton/loaded=1) - l_pocket = /obj/item/kitchen/knife/switchblade - -/datum/outfit/centcom/ert/commander/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - var/obj/item/radio/R = H.ears - R.keyslot = new /obj/item/encryptionkey/heads/captain - R.recalculateChannels() - -/datum/outfit/centcom/ert/commander/alert - name = "ERT Commander - High Alert" - - mask = /obj/item/clothing/mask/gas/sechailer/swat - glasses = /obj/item/clothing/glasses/thermal/eyepatch - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/melee/baton/loaded=1,\ - /obj/item/gun/energy/pulse/pistol=1) - l_pocket = /obj/item/melee/transforming/energy/sword/saber - -/datum/outfit/centcom/ert/security - name = "ERT Security" - - id = /obj/item/card/id/ert/security - suit = /obj/item/clothing/suit/space/hardsuit/ert/sec - suit_store = /obj/item/gun/energy/e_gun/hades - glasses = /obj/item/clothing/glasses/hud/security/sunglasses - gloves = /obj/item/clothing/gloves/tackler/combat/insulated - back = /obj/item/storage/backpack/ert/security - belt = /obj/item/storage/belt/security/full - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/storage/box/handcuffs=1, - /obj/item/melee/baton/loaded=1) - -/datum/outfit/centcom/ert/security/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - - var/obj/item/radio/R = H.ears - R.keyslot = new /obj/item/encryptionkey/headset_com - R.recalculateChannels() - -/datum/outfit/centcom/ert/security/alert - name = "ERT Security - High Alert" - - suit_store = /obj/item/gun/energy/pulse/carbine - mask = /obj/item/clothing/mask/gas/sechailer/swat - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/storage/box/handcuffs=1,\ - /obj/item/melee/baton/loaded=1) - -/datum/outfit/centcom/ert/medic - name = "ERT Medic" - - id = /obj/item/card/id/ert/medical - suit = /obj/item/clothing/suit/space/hardsuit/ert/med - suit_store = /obj/item/gun/energy/e_gun/hades - glasses = /obj/item/clothing/glasses/hud/health - back = /obj/item/storage/backpack/ert/medical - belt = /obj/item/storage/belt/medical - r_hand = /obj/item/storage/firstaid/regular - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/melee/baton/loaded=1,\ - /obj/item/reagent_containers/hypospray/combat=1,\ - /obj/item/gun/medbeam=1) - -/datum/outfit/centcom/ert/medic/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - - var/obj/item/radio/R = H.ears - R.keyslot = new /obj/item/encryptionkey/headset_com - R.recalculateChannels() - -/datum/outfit/centcom/ert/medic/alert - name = "ERT Medic - High Alert" - - mask = /obj/item/clothing/mask/gas/sechailer/swat - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/melee/baton/loaded=1,\ - /obj/item/gun/energy/pulse/pistol=1,\ - /obj/item/reagent_containers/hypospray/combat/nanites=1,\ - /obj/item/gun/medbeam=1) - -/datum/outfit/centcom/ert/engineer - name = "ERT Engineer" - - id = /obj/item/card/id/ert/engineer - suit = /obj/item/clothing/suit/space/hardsuit/ert/engi - suit_store = /obj/item/gun/energy/e_gun/hades - glasses = /obj/item/clothing/glasses/meson/engine - back = /obj/item/storage/backpack/ert/engineer - belt = /obj/item/storage/belt/utility/full - l_pocket = /obj/item/rcd_ammo/large - r_hand = /obj/item/storage/firstaid/regular - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/melee/baton/loaded=1,\ - /obj/item/construction/rcd/loaded=1) - - -/datum/outfit/centcom/ert/engineer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() +/datum/outfit/job/nanotrasen/ert + name = "ERT - Nanotrasen Vigilitas Security Officer" + jobtype = /datum/job/officer + job_icon = "securityofficer" - if(visualsOnly) - return + wallet = null - var/obj/item/radio/R = H.ears - R.keyslot = new /obj/item/encryptionkey/headset_com - R.recalculateChannels() + ears = /obj/item/radio/headset/headset_sec/alt + uniform = /obj/item/clothing/under/nanotrasen/security + gloves = /obj/item/clothing/gloves/color/black + head = /obj/item/clothing/head/nanotrasen/cap/security + suit = /obj/item/clothing/suit/armor/nanotrasen + suit_store = /obj/item/gun/ballistic/automatic/pistol/commander + dcoat = /obj/item/clothing/suit/hooded/wintercoat/security + shoes = /obj/item/clothing/shoes/jackboots -/datum/outfit/centcom/ert/engineer/alert - name = "ERT Engineer - High Alert" + backpack = /obj/item/storage/backpack/security + satchel = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/duffelbag/sec + courierbag = /obj/item/storage/backpack/messenger/sec + box = /obj/item/storage/box/survival/security - mask = /obj/item/clothing/mask/gas/sechailer/swat - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/melee/baton/loaded=1,\ - /obj/item/gun/energy/pulse/pistol=1,\ - /obj/item/construction/rcd/combat=1) + backpack_contents = list(/obj/item/ammo_box/magazine/co9mm = 3) -// official + implants = list(/obj/item/implant/weapons_auth) -/datum/outfit/centcom/centcom_official - name = "CentCom Official" +/datum/outfit/job/nanotrasen/ert/inspector + name = "ERT - Nanotrasen CentCom Inspector" + id_assignment = "Inspector" + job_icon = "centcom" + head = null uniform = /obj/item/clothing/under/rank/centcom/official shoes = /obj/item/clothing/shoes/sneakers/black gloves = /obj/item/clothing/gloves/color/black + suit = null + suit_store = null ears = /obj/item/radio/headset/headset_cent glasses = /obj/item/clothing/glasses/sunglasses - belt = /obj/item/gun/energy/e_gun - l_pocket = /obj/item/pen - back = /obj/item/storage/backpack/satchel - r_pocket = /obj/item/pda/heads - l_hand = /obj/item/clipboard + belt = /obj/item/clipboard id = /obj/item/card/id/centcom - backpack_contents = list(/obj/item/stamp/centcom=1) - -/datum/outfit/centcom/centcom_official/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - var/obj/item/pda/heads/pda = H.r_store - pda.owner = H.real_name - pda.ownjob = "CentCom Official" - pda.update_label() - - var/obj/item/card/id/W = H.wear_id - W.access = get_centcom_access("CentCom Official") - W.access += ACCESS_WEAPONS - W.assignment = "CentCom Official" - W.registered_name = H.real_name - W.update_label() - ..() - -/datum/outfit/centcom/ert/janitor - name = "ERT Janitor" - - id = /obj/item/card/id/ert/janitor - suit = /obj/item/clothing/suit/space/hardsuit/ert/jani - glasses = /obj/item/clothing/glasses/night - back = /obj/item/storage/backpack/ert/janitor - belt = /obj/item/storage/belt/janitor/full - r_pocket = /obj/item/grenade/chem_grenade/cleaner - l_pocket = /obj/item/grenade/chem_grenade/cleaner - l_hand = /obj/item/storage/bag/trash/bluespace - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/storage/box/lights/mixed=1,\ - /obj/item/melee/baton/loaded=1,\ - /obj/item/mop/advanced=1,\ - /obj/item/reagent_containers/glass/bucket=1,\ - /obj/item/grenade/clusterbuster/cleaner=1) - -/datum/outfit/centcom/ert/janitor/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - - var/obj/item/radio/R = H.ears - R.keyslot = new /obj/item/encryptionkey/headset_com - R.recalculateChannels() + l_pocket = /obj/item/pen + r_pocket = /obj/item/pda/heads -/datum/outfit/centcom/ert/janitor/heavy - name = "ERT Janitor - Heavy Duty" + backpack_contents = list(/obj/item/stamp/nanotrasen/central, /obj/item/paper_bin/bundlenatural, /obj/item/hand_labeler) - mask = /obj/item/clothing/mask/gas/sechailer/swat - r_hand = /obj/item/reagent_containers/spray/chemsprayer/janitor - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/storage/box/lights/mixed=1,\ - /obj/item/melee/baton/loaded=1,\ - /obj/item/grenade/clusterbuster/cleaner=3) +// /datum/outfit/job/nanotrasen/ert/emergency +// name = "ERT - Vigilitas Emergency Response Officer" -/datum/outfit/centcom/centcom_intern - name = "CentCom Intern" +/datum/outfit/job/nanotrasen/ert/leader + name = "ERT - Nanotrasen Vigilitas Security Corporal" + jobtype = /datum/job/hos + job_icon = "lieutenant" - uniform = /obj/item/clothing/under/rank/centcom/intern - shoes = /obj/item/clothing/shoes/sneakers/black + ears = /obj/item/radio/headset/headset_sec/alt + uniform = /obj/item/clothing/under/nanotrasen/security gloves = /obj/item/clothing/gloves/color/black - ears = /obj/item/radio/headset/headset_cent - glasses = /obj/item/clothing/glasses/sunglasses - belt = /obj/item/melee/classic_baton - r_hand = /obj/item/gun/ballistic/rifle/illestren - back = /obj/item/storage/backpack/satchel - l_pocket = /obj/item/ammo_box/magazine/illestren_a850r - r_pocket = /obj/item/ammo_box/magazine/illestren_a850r - id = /obj/item/card/id/centcom - backpack_contents = list(/obj/item/storage/box/survival = 1) -/datum/outfit/centcom/centcom_intern/unarmed - name = "CentCom Intern (Unarmed)" - belt = null - l_hand = null - l_pocket = null - r_pocket = null - -/datum/outfit/centcom/centcom_intern/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - - var/obj/item/card/id/W = H.wear_id - W.access = get_centcom_access(name) - W.access += ACCESS_WEAPONS - W.assignment = name - W.registered_name = H.real_name - W.update_label() - -/datum/outfit/centcom/centcom_intern/leader - name = "CentCom Head Intern" - belt = /obj/item/melee/baton/loaded - suit = /obj/item/clothing/suit/armor/vest - suit_store = /obj/item/gun/ballistic/rifle/illestren - r_hand = /obj/item/megaphone - head = /obj/item/clothing/head/intern - -/datum/outfit/centcom/centcom_intern/leader/unarmed // i'll be nice and let the leader keep their baton and vest - name = "CentCom Head Intern (Unarmed)" - suit_store = null - l_pocket = null - r_pocket = null - -// Marine - -/datum/outfit/centcom/ert/marine - name = "Marine Commander" - - id = /obj/item/card/id/ert - suit = /obj/item/clothing/suit/armor/vest/marine - back = /obj/item/storage/backpack/ert - backpack_contents = list( - /obj/item/storage/box/survival/engineer = 1, - /obj/item/gun_voucher/nanotrasen = 1 -) - belt = /obj/item/storage/belt/military/assault - glasses = /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch - l_pocket = /obj/item/kitchen/knife/combat - r_pocket = /obj/item/tank/internals/emergency_oxygen/double - uniform = /obj/item/clothing/under/rank/security/officer/military - accessory = /obj/item/clothing/accessory/holster/marine - mask = /obj/item/clothing/mask/gas/sechailer - head = /obj/item/clothing/head/helmet/marine - -/datum/outfit/centcom/ert/marine/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - var/obj/item/radio/headset = H.ears - headset.keyslot = new /obj/item/encryptionkey/heads/captain - headset.recalculateChannels() - -/datum/outfit/centcom/ert/marine/security - name = "Marine Heavy" - - id = /obj/item/card/id/ert/security - suit = /obj/item/clothing/suit/armor/vest/marine/heavy - back = /obj/item/storage/backpack/ert/security - glasses = /obj/item/clothing/glasses/hud/security/sunglasses - head = /obj/item/clothing/head/helmet/marine/security - -/datum/outfit/centcom/ert/marine/security/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - - var/obj/item/radio/headset = H.ears - headset.keyslot = new /obj/item/encryptionkey/headset_com - headset.recalculateChannels() - -/datum/outfit/centcom/ert/marine/medic - name = "Marine Medic" - - id = /obj/item/card/id/ert/medical - suit = /obj/item/clothing/suit/armor/vest/marine - accessory = /obj/item/clothing/accessory/holster/marine - back = /obj/item/storage/backpack/ert/medical - l_pocket = /obj/item/healthanalyzer - head = /obj/item/clothing/head/helmet/marine/medic - backpack_contents = list( - /obj/item/storage/box/survival/engineer = 1, - /obj/item/gun_voucher/nanotrasen = 1, - /obj/item/reagent_containers/hypospray/combat = 1, - /obj/item/storage/firstaid/regular = 1, - /obj/item/storage/firstaid/advanced = 1 -) - belt = /obj/item/storage/belt/medical/paramedic - glasses = /obj/item/clothing/glasses/hud/health/sunglasses - -/datum/outfit/centcom/ert/marine/medic/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - - var/obj/item/radio/headset = H.ears - headset.keyslot = new /obj/item/encryptionkey/headset_com - headset.recalculateChannels() - -/datum/outfit/centcom/ert/marine/engineer - name = "Marine Engineer" - - id = /obj/item/card/id/ert/engineer - suit = /obj/item/clothing/suit/armor/vest/marine/medium - head = /obj/item/clothing/head/helmet/marine/engineer - back = /obj/item/storage/backpack/ert/engineer - backpack_contents = list( - /obj/item/storage/box/survival/engineer = 1, - /obj/item/gun_voucher/nanotrasen = 1, - /obj/item/rcd_ammo/large = 2, - ) - r_hand = /obj/item/deployable_turret_folded - uniform = /obj/item/clothing/under/rank/security/officer/military/eng - belt = /obj/item/storage/belt/utility/full/ert - glasses = /obj/item/clothing/glasses/hud/diagnostic/sunglasses - -/datum/outfit/centcom/ert/marine/engineer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - - var/obj/item/radio/headset = H.ears - headset.keyslot = new /obj/item/encryptionkey/headset_com - headset.recalculateChannels() - -// Loss Prevention -/datum/outfit/job/nanotrasen/security/ert/lp - name = "ERT - Loss Prevention Security Specialist" - jobtype = /datum/job/officer - job_icon = "securityresponseofficer" - - head = null - implants = list(/obj/item/implant/mindshield) - ears = /obj/item/radio/headset/nanotrasen/alt - id = /obj/item/card/id/lpsec - suit_store = /obj/item/gun/energy/laser/scatter/shotty - belt = /obj/item/storage/belt/security/full - glasses = /obj/item/clothing/glasses/sunglasses - gloves = /obj/item/clothing/gloves/tackler/combat - suit = /obj/item/clothing/suit/space/hardsuit/ert/lp/sec - uniform = /obj/item/clothing/under/rank/security/head_of_security/nt/lp - shoes = /obj/item/clothing/shoes/jackboots - back = /obj/item/storage/backpack/ert/security - - box = /obj/item/storage/box/survival/security + head = /obj/item/clothing/head/nanotrasen/beret/security + suit = /obj/item/clothing/suit/armor/nanotrasen/slim l_pocket = /obj/item/restraints/handcuffs - r_pocket = /obj/item/kitchen/knife/combat - - backpack_contents = list(/obj/item/radio=1, /obj/item/stock_parts/cell/gun/upgraded=2, /obj/item/screwdriver=1) - - -/datum/outfit/job/nanotrasen/security/ert/lp/medic - name = "ERT - Loss Prevention Medical Specialist" - jobtype = /datum/job/doctor - job_icon = "medicalresponseofficer" + r_pocket = /obj/item/assembly/flash/handheld + backpack_contents = null - head = null - uniform = /obj/item/clothing/under/rank/medical/paramedic/lp - suit = /obj/item/clothing/suit/space/hardsuit/ert/lp/med - id = /obj/item/card/id/lpmed - gloves = /obj/item/clothing/gloves/color/latex/nitrile - back = /obj/item/storage/backpack/ert/medical - belt = /obj/item/storage/belt/medical/surgery - - box = /obj/item/storage/box/survival/medical - l_pocket = /obj/item/healthanalyzer - r_pocket = /obj/item/reagent_containers/hypospray/medipen/atropine - - backpack_contents = list(/obj/item/storage/firstaid/medical=1, /obj/item/radio=1) - - -/datum/outfit/job/nanotrasen/security/ert/lp/engineer - name = "ERT - Loss Prevention Engineering Specialist" - jobtype = /datum/job/engineer - job_icon = "engineeringresponseofficer" - - head = null - uniform = /obj/item/clothing/under/rank/engineering/engineer/nt/lp - suit = /obj/item/clothing/suit/space/hardsuit/ert/lp/engi - id = /obj/item/card/id/lpengie - belt = /obj/item/storage/belt/utility/full - gloves = /obj/item/clothing/gloves/combat - glasses = /obj/item/clothing/glasses/welding - back = /obj/item/storage/backpack/ert/engineer - - box = /obj/item/storage/box/survival/engineer - l_pocket = /obj/item/extinguisher/mini - r_pocket = /obj/item/wrench/combat - - backpack_contents = list(/obj/item/stack/sheet/metal/fifty=1, /obj/item/stack/sheet/glass/fifty=1, /obj/item/radio=1) +// /datum/outfit/job/nanotrasen/ert/leader/emergency +// name = "ERT - Vigilitas Emergency Response Lieutenant" -/datum/outfit/job/nanotrasen/security/ert/lp/lieutenant - name = "ERT - Loss Prevention Lieutenant" - jobtype = /datum/job/captain - job_icon = "emergencyresponseteamcommander" - - head = null - ears = /obj/item/radio/headset/nanotrasen/alt/captain - id = /obj/item/card/id/lplieu - belt = /obj/item/storage/belt/military/army - gloves = /obj/item/clothing/gloves/color/black - uniform = /obj/item/clothing/under/rank/security/warden/lp - suit = /obj/item/clothing/suit/space/hardsuit/ert/lp - shoes = /obj/item/clothing/shoes/combat - glasses = /obj/item/clothing/glasses/hud/security/sunglasses - back = /obj/item/storage/backpack/ert +// /datum/outfit/job/nanotrasen/ert/emergency/medic +// name = "ERT - Vigilitas Emergency Response Medic" - l_pocket = /obj/item/megaphone/command - r_pocket = /obj/item/binoculars +// /datum/outfit/job/nanotrasen/ert/emergency/engineer +// name = "ERT - Vigilitas Emergency Response Engineer" diff --git a/code/modules/clothing/outfits/ert/roumain_ert.dm b/code/modules/clothing/outfits/ert/roumain_ert.dm new file mode 100644 index 00000000000..efe7828173b --- /dev/null +++ b/code/modules/clothing/outfits/ert/roumain_ert.dm @@ -0,0 +1,131 @@ +/datum/outfit/job/roumain/ert + name = "ERT - Saint-Roumain Hunter" // flaming arrow and shadow + id_assignment = "Hunter" + jobtype = /datum/job/officer + job_icon = "srm_hunter" + + wallet = null + + uniform = /obj/item/clothing/under/suit/roumain + shoes = /obj/item/clothing/shoes/workboots/mining + suit = /obj/item/clothing/suit/armor/roumain + head = /obj/item/clothing/head/cowboy/sec/roumain + belt = /obj/item/gun/ballistic/revolver/shadow + suit_store = /obj/item/gun/ballistic/shotgun/flamingarrow/factory + + l_pocket = /obj/item/ammo_box/a44roum_speedloader + r_pocket = /obj/item/flashlight/lantern + + duffelbag = /obj/item/storage/backpack/satchel/leather + courierbag = /obj/item/storage/backpack/satchel/leather + backpack = /obj/item/storage/backpack/satchel/leather + satchel = /obj/item/storage/backpack/satchel/leather + box = null + + backpack_contents = list(/obj/item/ammo_box/a44roum_speedloader = 2, /obj/item/storage/box/ammo/c38) + +/datum/outfit/job/roumain/ert/firestorm + name = "ERT - Saint-Roumain Hunter (Firestorm)" // firestorm and shadow + + belt = /obj/item/gun/ballistic/revolver/shadow + suit_store = /obj/item/gun/ballistic/automatic/smg/firestorm/pan + + l_pocket = /obj/item/ammo_box/a44roum_speedloader + + backpack_contents = list(/obj/item/ammo_box/magazine/c45_firestorm_mag/pan = 3, /obj/item/ammo_box/a44roum_speedloader = 2, /obj/item/storage/box/ammo/a44roum) + +/datum/outfit/job/roumain/ert/vickland + name = "ERT - Saint-Roumain Hunter (Vickland)" // vickland and candor + + belt = /obj/item/gun/ballistic/automatic/pistol/candor/factory + suit_store = /obj/item/gun/ballistic/automatic/marksman/vickland + + l_pocket = /obj/item/ammo_box/magazine/m45 + + backpack_contents = list(/obj/item/ammo_box/vickland_a308 = 6, /obj/item/storage/box/ammo/a308, /obj/item/ammo_box/magazine/m45 = 2) + +/datum/outfit/job/roumain/ert/scout + name = "ERT - Saint-Roumain Hunter (Scout)" // scout and detective special + + belt = /obj/item/gun/ballistic/revolver/detective + suit_store = /obj/item/gun/ballistic/rifle/scout + + backpack_contents = list(/obj/item/ammo_box/a300 = 5) + +/datum/outfit/job/roumain/ert/medic + name = "ERT - Saint-Roumain Hunter Doctor" + id_assignment = "Hunter Doctor" + job_icon = "srm_doctor" + jobtype = /datum/job/doctor + + uniform = /obj/item/clothing/under/suit/roumain + shoes = /obj/item/clothing/shoes/workboots/mining + suit = /obj/item/clothing/suit/toggle/labcoat/roumain_med + suit_store = null + head = /obj/item/clothing/head/cowboy/sec/roumain/med + mask = /obj/item/clothing/mask/gas/plaguedoctor + gloves = null + +/datum/outfit/job/roumain/ert/engineer + name = "ERT - Saint-Roumain Machinist" + id_assignment = "Machinist" + job_icon = "srm_machinist" + jobtype = /datum/job/engineer + + uniform = /obj/item/clothing/under/suit/roumain + alt_uniform = null + shoes = /obj/item/clothing/shoes/workboots/mining + belt = /obj/item/storage/belt/utility/full/engi + suit = /obj/item/clothing/suit/hazardvest/roumain + suit_store = null + head = /obj/item/clothing/head/cowboy/sec/roumain/machinist + glasses = /obj/item/clothing/glasses/welding + accessory = /obj/item/clothing/accessory/waistcoat/roumain + gloves = /obj/item/clothing/gloves/color/yellow + + +/datum/outfit/job/roumain/ert/leader + name = "ERT - Saint-Roumain Hunter Montagne" // flaming bolt and montagne + id_assignment = "Hunter Montagne" + job_icon = "srm_montagne" + jobtype = /datum/job/captain + + ears = /obj/item/radio/headset/headset_com/alt + uniform = /obj/item/clothing/under/suit/roumain + shoes = /obj/item/clothing/shoes/cowboy + suit = /obj/item/clothing/suit/armor/roumain/montagne + suit_store = /obj/item/gun/ballistic/shotgun/flamingarrow/bolt + belt = /obj/item/gun/ballistic/revolver/montagne + head = /obj/item/clothing/head/cowboy/sec/roumain/montagne + id = /obj/item/card/id/gold + + duffelbag = /obj/item/storage/backpack/cultpack + courierbag = /obj/item/storage/backpack/cultpack + backpack = /obj/item/storage/backpack/cultpack + satchel = /obj/item/storage/backpack/cultpack + +/datum/outfit/job/roumain/ert/leader/twobore + name = "ERT - Saint-Roumain Hunter Montagne (Huntsman)" // huntsman (twobore) and montagne + + suit_store = /obj/item/gun/ballistic/shotgun/doublebarrel/twobore + + l_pocket = /obj/item/ammo_box/a357 + + backpack_contents = list(/obj/item/ammo_casing/shotgun/buckshot/twobore = 8) + +/datum/outfit/job/roumain/ert/leader/colligne + name = "ERT - Saint-Roumain Hunter Colligne" // double barrel and ashhand + id_assignment = "Hunter Colligne" + job_icon = "srm_colligne" + jobtype = /datum/job/head_of_personnel + + ears = /obj/item/radio/headset/headset_com + uniform = /obj/item/clothing/under/suit/roumain + shoes = /obj/item/clothing/shoes/workboots/mining + suit = /obj/item/clothing/suit/armor/roumain/colligne + suit_store = /obj/item/gun/ballistic/shotgun/doublebarrel/roumain + head = /obj/item/clothing/head/cowboy/sec/roumain/colligne + belt = /obj/item/gun/ballistic/revolver/ashhand + id = /obj/item/card/id/silver + + backpack_contents = list(/obj/item/storage/box/ammo/a12g_buckshot, /obj/item/storage/box/ammo/a4570) diff --git a/code/modules/clothing/outfits/ert/solgov_ert.dm b/code/modules/clothing/outfits/ert/solgov_ert.dm index da3a1146648..5fbc808397b 100644 --- a/code/modules/clothing/outfits/ert/solgov_ert.dm +++ b/code/modules/clothing/outfits/ert/solgov_ert.dm @@ -4,27 +4,29 @@ jobtype = /datum/job/officer job_icon = "sonnensoldner" + wallet = null + id = /obj/item/card/id/solgov uniform = /obj/item/clothing/under/solgov - suit = /obj/item/clothing/suit/armor/vest/bulletproof/solgov + suit = /obj/item/clothing/suit/armor/vest/solgov mask = null ears = /obj/item/radio/headset/solgov/alt gloves = /obj/item/clothing/gloves/combat head = /obj/item/clothing/head/solgov/sonnensoldner - shoes = /obj/item/clothing/shoes/workboots - back = /obj/item/storage/backpack + shoes = /obj/item/clothing/shoes/combat box = /obj/item/storage/box/survival l_hand = /obj/item/energyhalberd /datum/outfit/job/solgov/ert/inspector - name = "ERT - Inspector (SolGov)" + name = "ERT - SolGov Inspector" id_assignment = "Inspector" jobtype = /datum/job/head_of_personnel job_icon = "solgovrepresentative" uniform = /obj/item/clothing/under/solgov/formal + neck = /obj/item/clothing/neck/cloak/solgov belt = /obj/item/clipboard ears = /obj/item/radio/headset/solgov/captain back = /obj/item/storage/backpack/satchel/leather @@ -35,7 +37,9 @@ suit_store = null mask = null glasses = null - l_hand = null - backpack_contents = list(/obj/item/stamp/solgov=1) + r_pocket = /obj/item/pen/fourcolor + l_pocket = /obj/item/taperecorder + + backpack_contents = list(/obj/item/folder/solgov, /obj/item/paper_bin/bundlenatural, /obj/item/hand_labeler) diff --git a/code/modules/clothing/outfits/ert/syndicate_ert.dm b/code/modules/clothing/outfits/ert/syndicate_ert.dm index 29da95448ee..8dd260c51af 100644 --- a/code/modules/clothing/outfits/ert/syndicate_ert.dm +++ b/code/modules/clothing/outfits/ert/syndicate_ert.dm @@ -1,114 +1,186 @@ +// unaligned. they're basically stand-ins + /datum/outfit/job/syndicate/ert name = "ERT - Syndicate Basic" jobtype = /datum/job/officer job_icon = "securityofficer" + wallet = null + + uniform = /obj/item/clothing/under/syndicate/combat suit = /obj/item/clothing/suit/armor/vest/syndie - suit_store = /obj/item/gun/ballistic/automatic/smg/c20r + suit_store = /obj/item/gun/ballistic/automatic/assault/hydra shoes = /obj/item/clothing/shoes/combat - ears = /obj/item/radio/headset/syndicate/alt + ears = /obj/item/radio/headset/headset_sec/alt gloves = /obj/item/clothing/gloves/color/black id = /obj/item/card/id/syndicate_command/crew_id - mask = /obj/item/clothing/mask/gas/sechailer/balaclava - head = /obj/item/clothing/head/helmet/operator - back = /obj/item/storage/backpack/security - belt = /obj/item/storage/belt/military/c20r + mask = /obj/item/clothing/mask/balaclava + head = /obj/item/clothing/head/helmet/syndie + belt = /obj/item/storage/belt/military/hydra + glasses = /obj/item/clothing/glasses/hud/security - r_pocket = /obj/item/kitchen/knife/combat + r_pocket = /obj/item/melee/knife/combat l_pocket = /obj/item/grenade/frag implants = list(/obj/item/implant/weapons_auth) - backpack_contents = list(/obj/item/radio=1) + backpack_contents = list(/obj/item/gun/ballistic/automatic/pistol/ringneck=1, /obj/item/ammo_box/magazine/m10mm_ringneck=2) /datum/outfit/job/syndicate/ert/leader name = "ERT - Syndicate Basic Leader" job_icon = "lieutenant" head = /obj/item/clothing/head/HoS/beret/syndicate + mask = /obj/item/clothing/mask/balaclava/combat + ears = /obj/item/radio/headset/syndicate/alt/leader + +// inspector + +/datum/outfit/job/syndicate/ert/inspector + name = "ERT - ACLF Inspector" + id_assignment = "Inspector" + jobtype = /datum/job/head_of_personnel + job_icon = "syndicate" + + uniform = /obj/item/clothing/under/syndicate + head = /obj/item/clothing/head/HoS/beret/syndicate + mask = null + belt = /obj/item/clipboard + back = /obj/item/storage/backpack/satchel/leather ears = /obj/item/radio/headset/syndicate/captain + shoes = /obj/item/clothing/shoes/laceup + gloves = /obj/item/clothing/gloves/color/white + suit = /obj/item/clothing/suit/armor/hos + suit_store = null - backpack_contents = list(/obj/item/gun/ballistic/automatic/pistol/syndicate=1, /obj/item/ammo_box/magazine/m10mm=2, /obj/item/radio=1) + backpack = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/satchel/sec + satchel = /obj/item/storage/backpack/satchel/sec + courierbag = /obj/item/storage/backpack/satchel/sec -// gorlex loyalist/2nd battlegroup + l_pocket = /obj/item/pen/fourcolor + r_pocket = /obj/item/taperecorder -/datum/outfit/job/syndicate/ert/gorlex - name = "ERT - New Gorlex Republic Trooper" + backpack_contents = list(/obj/item/stamp/syndicate, /obj/item/paper_bin, /obj/item/folder/syndicate, /obj/item/tape) - head = /obj/item/clothing/head/helmet/swat - uniform = /obj/item/clothing/under/syndicate/combat - suit = /obj/item/clothing/suit/armor/vest/bulletproof - belt = /obj/item/storage/belt/military/assault/m90 - back = /obj/item/storage/backpack/security - suit_store = /obj/item/gun/ballistic/automatic/smg/m90 +// new gorlex republic -/datum/outfit/job/syndicate/ert/gorlex/pointman - name = "ERT - New Gorlex Republic Pointman" +/datum/outfit/job/syndicate/ert/ngr + name = "ERT - New Gorlex Republic Serviceman" + id_assignment = "Serviceman" - suit_store = /obj/item/gun/ballistic/shotgun/bulldog - belt = /obj/item/storage/belt/security/webbing/bulldog + head = /obj/item/clothing/head/helmet/ngr + mask = /obj/item/clothing/mask/balaclava/ngr + ears = /obj/item/radio/headset/headset_sec/alt + uniform = /obj/item/clothing/under/syndicate/ngr + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/ngr + suit = /obj/item/clothing/suit/armor/ngr + belt = /obj/item/storage/belt/security/webbing/ngr/cobra + suit_store = /obj/item/gun/ballistic/automatic/smg/cobra -/datum/outfit/job/syndicate/ert/gorlex/medic - name = "ERT - New Gorlex Republic Medic" +/datum/outfit/job/syndicate/ert/ngr/grenadier + name = "ERT - New Gorlex Republic Grenadier" + + belt = /obj/item/storage/belt/security/webbing/ngr/hydra_grenadier + suit_store = /obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl + + backpack_contents = list(/obj/item/grenade/c4 = 3) + +/datum/outfit/job/syndicate/ert/ngr/medic + name = "ERT - New Gorlex Republic Field Medic" jobtype = /datum/job/paramedic job_icon = "paramedic" + id_assignment = "Field Medic" - head = /obj/item/clothing/head/soft/black - mask = null - suit = /obj/item/clothing/suit/armor/vest/alt + head = /obj/item/clothing/head/ngr/surgical + mask = /obj/item/clothing/mask/breath/ngr belt = /obj/item/storage/belt/medical/webbing/paramedic - glasses = /obj/item/clothing/glasses/hud/health/sunglasses + glasses = /obj/item/clothing/glasses/hud/health gloves = /obj/item/clothing/gloves/color/latex/nitrile/evil - suit_store = /obj/item/gun/ballistic/automatic/pistol/syndicate + suit_store = /obj/item/gun/ballistic/automatic/pistol/asp l_pocket = /obj/item/radio - backpack_contents = list(/obj/item/ammo_box/magazine/m10mm=2, /obj/item/storage/firstaid/medical=1, /obj/item/defibrillator/compact/combat/loaded=1) + backpack_contents = list(/obj/item/ammo_box/magazine/m57_39_asp = 2, /obj/item/storage/firstaid/medical=1, /obj/item/defibrillator/compact/combat/loaded=1) -/datum/outfit/job/syndicate/ert/gorlex/sniper - name = "ERT - New Gorlex Republic Sniper" +/datum/outfit/job/syndicate/ert/ngr/sniper + name = "ERT - New Gorlex Republic Marksman" head = /obj/item/clothing/head/beret/black - back = /obj/item/storage/backpack/messenger/sec - glasses = /obj/item/clothing/glasses/night + neck = /obj/item/clothing/neck/shemagh/ngr gloves = /obj/item/clothing/gloves/fingerless - suit = /obj/item/clothing/suit/armor/vest - belt = /obj/item/storage/belt/security - suit_store = /obj/item/gun/ballistic/automatic/marksman/sniper_rifle + suit = /obj/item/clothing/suit/armor/vest/alt + belt = /obj/item/storage/belt/military/assault/sniper + suit_store = /obj/item/gun/ballistic/automatic/marksman/taipan - r_pocket = /obj/item/kitchen/knife/combat/survival + r_pocket = /obj/item/melee/knife/survival l_pocket = /obj/item/binoculars - backpack_contents = list(/obj/item/ammo_box/magazine/sniper_rounds=2, /obj/item/radio=1) + backpack = /obj/item/storage/backpack/messenger/sec + duffelbag = /obj/item/storage/backpack/messenger/sec + satchel = /obj/item/storage/backpack/messenger/sec + courierbag = /obj/item/storage/backpack/messenger/sec -/datum/outfit/job/syndicate/ert/gorlex/leader + backpack_contents = list(/obj/item/gun/ballistic/automatic/pistol/asp, /obj/item/ammo_box/magazine/m57_39_asp = 2) + +/datum/outfit/job/syndicate/ert/ngr/leader name = "ERT - New Gorlex Republic Sergeant" job_icon = "lieutenant" - uniform = /obj/item/clothing/under/syndicate/gorlex - head = /obj/item/clothing/head/HoS/beret/syndicate + uniform = /obj/item/clothing/under/syndicate/ngr/officer + neck = /obj/item/clothing/mask/whistle/trench // funny + head = /obj/item/clothing/head/ngr/peaked back = /obj/item/storage/backpack/satchel/sec - mask = /obj/item/clothing/mask/gas/sechailer - glasses = /obj/item/clothing/glasses/hud/security/night gloves = /obj/item/clothing/gloves/tackler/combat + belt = /obj/item/storage/belt/security/webbing/ngr/cobra + suit_store = /obj/item/gun/ballistic/automatic/smg/cobra l_pocket = /obj/item/megaphone/sec -// commandos + backpack_contents = list(/obj/item/gun/ballistic/automatic/pistol/asp, /obj/item/ammo_box/magazine/m57_39_asp = 2, /obj/item/grenade/smokebomb) + +/datum/outfit/job/syndicate/ert/ngr/inspector + name = "ERT - New Gorlex Republic Official" + id_assignment = "Official" + job_icon = "syndicate" + + head = /obj/item/clothing/head/ngr + ears = /obj/item/radio/headset/syndicate/captain + gloves = /obj/item/clothing/gloves/color/white + mask = null + uniform = /obj/item/clothing/under/syndicate/ngr/officer + glasses = null + suit = /obj/item/clothing/suit/armor/ngr/lieutenant + belt = /obj/item/clipboard + shoes = /obj/item/clothing/shoes/jackboots + suit_store = null + + backpack = /obj/item/storage/backpack/satchel/leather + duffelbag = /obj/item/storage/backpack/satchel/leather + satchel = /obj/item/storage/backpack/satchel/leather + courierbag = /obj/item/storage/backpack/satchel/leather + + r_pocket = /obj/item/pen/fourcolor + l_pocket = /obj/item/taperecorder + + backpack_contents = list(/obj/item/folder/red, /obj/item/paper_bin/bundlenatural, /obj/item/hand_labeler) + +// cybersun /datum/outfit/job/syndicate/ert/cybersun name = "ERT - Syndicate Cybersun Commando" job_icon = "syndicate" head = null - uniform = /obj/item/clothing/under/syndicate/combat - belt = /obj/item/storage/belt/military/c20r + mask = /obj/item/clothing/mask/breath + uniform = /obj/item/clothing/under/syndicate/cybersun + belt = /obj/item/storage/belt/military/boomslang suit = /obj/item/clothing/suit/space/hardsuit/syndi/cybersun - suit_store = /obj/item/gun/ballistic/automatic/smg/c20r + suit_store = /obj/item/gun/ballistic/automatic/marksman/boomslang ears = /obj/item/radio/headset/syndicate/alt - glasses = /obj/item/clothing/glasses/hud/security/sunglasses + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/hardliners implants = list(/obj/item/implant/adrenalin) - backpack_contents = list(/obj/item/autosurgeon/syndicate/laser_arm, /obj/item/radio=1) + backpack_contents = list(/obj/item/autosurgeon/syndicate/laser_arm, /obj/item/grenade/smokebomb) /datum/outfit/job/syndicate/ert/cybersun/leader name = "ERT - Syndicate Cybersun Commando Leader" @@ -116,15 +188,36 @@ ears = /obj/item/radio/headset/syndicate/alt/captain glasses = /obj/item/clothing/glasses/hud/security/night - backpack_contents = list(/obj/item/autosurgeon/syndicate/laser_arm=1, /obj/item/antag_spawner/nuke_ops/borg_tele/medical/unlocked=1, /obj/item/radio=1) + backpack_contents = list(/obj/item/autosurgeon/syndicate/laser_arm=1, /obj/item/antag_spawner/nuke_ops/borg_tele/medical/unlocked=1, /obj/item/grenade/smokebomb) -// paramedics +/datum/outfit/job/syndicate/ert/cybersun/inspector + name = "ERT - Syndicate Cybersun Representative" + + uniform = /obj/item/clothing/under/syndicate/cybersun/officer + head = /obj/item/clothing/head/HoS/cybersun + shoes = /obj/item/clothing/shoes/laceup + glasses = /obj/item/clothing/glasses/hud/security/sunglasses + suit = null + suit_store = null + belt = /obj/item/clipboard + glasses = null + mask = null + ears = /obj/item/radio/headset/syndicate + + r_pocket = /obj/item/pen/fourcolor + l_pocket = /obj/item/taperecorder + + backpack_contents = list(/obj/item/stamp/cybersun, /obj/item/folder/red, /obj/item/paper_bin/bundlenatural, /obj/item/hand_labeler) + +// cybersun paramedics /datum/outfit/job/syndicate/ert/cybersun/medic name = "ERT - Syndicate Cybersun Paramedic" job_icon = "paramedic" + jobtype = /datum/job/paramedic uniform = /obj/item/clothing/under/syndicate/medic + accessory = /obj/item/clothing/accessory/holster/marine suit = /obj/item/clothing/suit/space/hardsuit/syndi/cybersun/paramed suit_store = /obj/item/tank/internals/oxygen mask = /obj/item/clothing/mask/breath/medical @@ -133,15 +226,11 @@ head = /obj/item/clothing/head/soft/cybersun/medical belt = /obj/item/storage/belt/medical/webbing/paramedic back = /obj/item/storage/backpack/ert/medical - l_pocket = /obj/item/kitchen/knife/combat/survival + l_pocket = /obj/item/melee/knife/survival r_pocket = /obj/item/pinpointer/crew - accessory = /obj/item/clothing/accessory/holster/marine backpack_contents = list(/obj/item/storage/firstaid/tactical=1, /obj/item/holosign_creator/medical=1, /obj/item/radio=1) - jobtype = /datum/job/paramedic - job_icon = "paramedic" - /datum/outfit/job/syndicate/ert/cybersun/medic/leader name = "ERT - Syndicate Cybersun Lead Paramedic" id_assignment = "Lead Paramedic" @@ -154,25 +243,89 @@ backpack_contents = list(/obj/item/storage/firstaid/tactical=1, /obj/item/holosign_creator/medical=1, /obj/item/autosurgeon/cmo=1, /obj/item/radio=1, /obj/item/antag_spawner/nuke_ops/borg_tele/medical/unlocked=1) -// inspector -/datum/outfit/job/syndicate/ert/inspector - name = "ERT - Inspector (Syndicate)" - id_assignment = "Inspector" - jobtype = /datum/job/head_of_personnel - job_icon = "syndicate" +// hardliners - uniform = /obj/item/clothing/under/syndicate/ngr/officer - head = /obj/item/clothing/head/HoS/beret/syndicate - mask = null - belt = /obj/item/clipboard - back = /obj/item/storage/backpack/satchel/leather - ears = /obj/item/radio/headset/syndicate/captain - shoes = /obj/item/clothing/shoes/laceup - gloves = /obj/item/clothing/gloves/color/white - suit = /obj/item/clothing/suit/armor/hos - l_pocket = null - r_pocket = null - suit_store = null +/datum/outfit/job/syndicate/ert/hardliner + name = "ERT - Syndicate Hardliner Mercenary" + + uniform = /obj/item/clothing/under/syndicate/hardliners + suit = /obj/item/clothing/suit/armor/hardliners + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/hardliners + suit_store = /obj/item/gun/ballistic/automatic/smg/sidewinder + belt = /obj/item/storage/belt/security/webbing/hardliners/sidewinder + gloves = /obj/item/clothing/gloves/color/black + mask = /obj/item/clothing/mask/balaclava/combat + head = /obj/item/clothing/head/helmet/hardliners + +/datum/outfit/job/syndicate/ert/hardliner/engineer + name = "ERT - Syndicate Hardliner Mechanic" + + head = /obj/item/clothing/head/hardhat/hardliners + belt = /obj/item/storage/belt/utility/full + suit_store = /obj/item/gun/ballistic/automatic/smg/cobra + + backpack_contents = list(/obj/item/ammo_box/magazine/m45_cobra = 2) + +/datum/outfit/job/syndicate/ert/hardliner/medic + name = "ERT - Syndicate Hardliner Medic" + + head = /obj/item/clothing/head/hardliners + belt = /obj/item/storage/belt/medical/webbing/paramedic + +/datum/outfit/job/syndicate/ert/hardliner/leader + name = "ERT - Syndicate Hardliner Sergeant" + + uniform = /obj/item/clothing/under/syndicate/hardliners/officer + suit = /obj/item/clothing/suit/armor/hardliners/sergeant + head = /obj/item/clothing/head/hardliners/peaked + +// ramzi clique + +/datum/outfit/job/syndicate/ert/ramzi + name = "ERT - Ramzi Clique Cell Rifleman" + + head = null + mask = /obj/item/clothing/mask/gas/syndicate + uniform = /obj/item/clothing/under/syndicate + suit = /obj/item/clothing/suit/space/hardsuit/syndi/ramzi + suit_store = /obj/item/gun/ballistic/automatic/smg/cobra + belt = /obj/item/storage/belt/military/cobra + glasses = /obj/item/clothing/glasses/thermal + gloves = /obj/item/clothing/gloves/combat + id = null // no identification for you + + l_pocket = /obj/item/tank/internals/emergency_oxygen/double + + implants = list(/obj/item/implant/explosive) + backpack_contents = list(/obj/item/grenade/frag = 3, /obj/item/grenade/smokebomb = 3) + +/datum/outfit/job/syndicate/ert/ramzi/demolitionist + name = "ERT - Ramzi Clique Cell Demolitionist" + + belt = /obj/item/storage/belt/military/mako + suit_store = /obj/item/gun/ballistic/rocketlauncher/mako + glasses = /obj/item/clothing/glasses/meson/night + + r_pocket = /obj/item/gun/ballistic/automatic/pistol/himehabu + + backpack_contents = list(/obj/item/ammo_box/magazine/m22lr_himehabu = 2, /obj/item/grenade/c4/x4 = 3, /obj/item/grenade/syndieminibomb = 3, /obj/item/ammo_casing/caseless/rocket/a70mm = 4) + +/datum/outfit/job/syndicate/ert/ramzi/medic + name = "ERT - Ramzi Clique Cell Medic" + + belt = /obj/item/storage/belt/medical/webbing/combat + glasses = /obj/item/clothing/glasses/hud/health/night + + backpack_contents = list(/obj/item/ammo_box/magazine/m45_cobra = 3, /obj/item/defibrillator/compact/combat/loaded, /obj/item/reagent_containers/hypospray/combat) + +/datum/outfit/job/syndicate/ert/ramzi/leader + name = "ERT - Ramzi Clique Cell Leader" + + uniform = /obj/item/clothing/under/syndicate/gorlex + gloves = /obj/item/clothing/gloves/tackler/combat/insulated // funny + + belt = /obj/item/storage/belt/security/webbing/bulldog_mixed + suit_store = /obj/item/gun/ballistic/shotgun/automatic/bulldog/drum - backpack_contents = list(/obj/item/stamp/syndicate) + backpack_contents = list(/obj/item/grenade/smokebomb = 4, /obj/item/grenade/stingbang = 2, /obj/item/grenade/empgrenade = 2) diff --git a/code/modules/clothing/outfits/event.dm b/code/modules/clothing/outfits/event.dm deleted file mode 100644 index 18af4e8b663..00000000000 --- a/code/modules/clothing/outfits/event.dm +++ /dev/null @@ -1,26 +0,0 @@ -/datum/outfit/santa //ho ho ho! - name = "Santa Claus" - - uniform = /obj/item/clothing/under/color/red - shoes = /obj/item/clothing/shoes/sneakers/red - suit = /obj/item/clothing/suit/space/santa - head = /obj/item/clothing/head/santa - back = /obj/item/storage/backpack/santabag - r_pocket = /obj/item/flashlight - gloves = /obj/item/clothing/gloves/color/red - - box = /obj/item/storage/box/survival/engineer - backpack_contents = list(/obj/item/a_gift/anything = 5) - -/datum/outfit/santa/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - H.fully_replace_character_name(H.real_name, "Santa Claus") - H.mind.assigned_role = "Santa" - H.mind.special_role = "Santa" - - H.hairstyle = "Long Hair 3" - H.facial_hairstyle = "Beard (Full)" - H.hair_color = "FFF" - H.facial_hair_color = "FFF" - H.update_hair() diff --git a/code/modules/clothing/outfits/factions/frontiersmen.dm b/code/modules/clothing/outfits/factions/frontiersmen.dm index 7045f518218..b9e350da7a3 100644 --- a/code/modules/clothing/outfits/factions/frontiersmen.dm +++ b/code/modules/clothing/outfits/factions/frontiersmen.dm @@ -92,7 +92,7 @@ uniform = /obj/item/clothing/under/frontiersmen/officer head = /obj/item/clothing/head/hardhat/frontier shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/color/yellow belt = /obj/item/storage/belt/utility/full // Engineer @@ -133,7 +133,7 @@ shoes = /obj/item/clothing/shoes/jackboots head = /obj/item/clothing/head/beret/sec/frontier/officer gloves = /obj/item/clothing/gloves/combat - r_pocket = /obj/item/kitchen/knife/combat/survival + r_pocket = /obj/item/melee/knife/survival // Head of Security /datum/outfit/job/frontiersmen/hos @@ -145,7 +145,7 @@ accessory = /obj/item/clothing/accessory/armband uniform = /obj/item/clothing/under/frontiersmen/officer head = /obj/item/clothing/head/beret/sec/frontier/officer - suit = /obj/item/clothing/suit/armor/vest/bulletproof/frontier + suit = /obj/item/clothing/suit/armor/vest/frontier shoes = /obj/item/clothing/shoes/jackboots gloves = /obj/item/clothing/gloves/combat backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen, /obj/item/melee/baton/loaded=1) @@ -184,7 +184,7 @@ accessory = /obj/item/clothing/accessory/armband/med uniform = /obj/item/clothing/under/frontiersmen glasses = /obj/item/clothing/glasses/hud/health - r_pocket = /obj/item/kitchen/knife/combat/survival + r_pocket = /obj/item/melee/knife/survival suit = /obj/item/clothing/suit/frontiersmen head = /obj/item/clothing/head/frontier belt = /obj/item/storage/belt/medical/webbing/frontiersmen diff --git a/code/modules/clothing/outfits/factions/gezena.dm b/code/modules/clothing/outfits/factions/gezena.dm index df7a5145e47..efadbece4ba 100644 --- a/code/modules/clothing/outfits/factions/gezena.dm +++ b/code/modules/clothing/outfits/factions/gezena.dm @@ -22,7 +22,7 @@ /datum/outfit/job/gezena/assistant/bridge name = "PGF - Bridge Crew" - id_assignment = "Bridge Crew" + id_assignment = "Helmsman" jobtype = /datum/job/head_of_personnel /datum/outfit/job/gezena/engineer @@ -71,6 +71,15 @@ courierbag = /obj/item/storage/backpack/messenger/sec box = /obj/item/storage/box/survival/security +/datum/outfit/job/gezena/security/sapper + name = "PGF - Marine Pioneer" + id_assignment = "Marine Pioneer" + + backpack = /obj/item/storage/backpack/industrial + satchel = /obj/item/storage/backpack/satchel/eng + duffelbag = /obj/item/storage/backpack/duffelbag/engineering + courierbag = /obj/item/storage/backpack/messenger/engi + /datum/outfit/job/gezena/hos name = "PGF - Marine Sergeant" id_assignment = "Sergeant" diff --git a/code/modules/clothing/outfits/factions/independent.dm b/code/modules/clothing/outfits/factions/independent.dm index db227c2903c..7b82368f14d 100644 --- a/code/modules/clothing/outfits/factions/independent.dm +++ b/code/modules/clothing/outfits/factions/independent.dm @@ -30,7 +30,7 @@ ..() if(visualsOnly) return - var/obj/item/card/id/W = H.wear_id + var/obj/item/card/id/W = H.get_idcard() W.access += list(ACCESS_KITCHEN) /datum/outfit/job/independent/assistant/fancy @@ -53,7 +53,7 @@ uniform = /obj/item/clothing/under/utility head = /obj/item/clothing/head/soft/black shoes = /obj/item/clothing/shoes/combat - l_pocket = /obj/item/kitchen/knife/combat/survival + l_pocket = /obj/item/melee/knife/survival gloves = /obj/item/clothing/gloves/combat implants = list(/obj/item/implant/radio) @@ -107,6 +107,22 @@ gloves = /obj/item/clothing/gloves/color/white //poverty gloves shoes = /obj/item/clothing/shoes/sneakers/brown +/datum/outfit/job/independent/captain/merc + name = "Independent - Captain (Mercenary)" + + uniform = /obj/item/clothing/under/syndicate + head = /obj/item/clothing/head/beret + gloves = /obj/item/clothing/gloves/combat + shoes = /obj/item/clothing/shoes/combat + suit = /obj/item/clothing/suit/armor/vest + + accessory = null + + backpack = /obj/item/storage/backpack/security + satchel = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/duffelbag/sec + courierbag = /obj/item/storage/backpack/messenger/sec + /datum/outfit/job/independent/captain/western name = "Independent - Captain (Western)" head = /obj/item/clothing/head/caphat/cowboy @@ -145,7 +161,7 @@ suit = /obj/item/clothing/suit/armor/vest/marine/medium head = /obj/item/clothing/head/soft/black shoes = /obj/item/clothing/shoes/combat - l_pocket = /obj/item/kitchen/knife/combat + l_pocket = /obj/item/melee/knife/combat implants = list(/obj/item/implant/radio) accessory = null @@ -173,7 +189,6 @@ uniform = /obj/item/clothing/under/rank/command/head_of_personnel dcoat = /obj/item/clothing/suit/hooded/wintercoat/captain shoes = /obj/item/clothing/shoes/sneakers/brown - head = /obj/item/clothing/head/hopcap backpack_contents = list(/obj/item/storage/box/ids=1,\ /obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced = 1) @@ -232,6 +247,20 @@ chameleon_extras = list(/obj/item/gun/energy/e_gun/hos, /obj/item/stamp/hos) +/datum/outfit/job/independent/hos/merc + name = "Independent - Mercenary XO" + id_assignment = "Lieutenant" + + ears = /obj/item/radio/headset/headset_com + uniform = /obj/item/clothing/under/syndicate + shoes = /obj/item/clothing/shoes/combat + suit = /obj/item/clothing/suit/armor/vest + alt_suit = null + gloves = /obj/item/clothing/gloves/combat + head = /obj/item/clothing/head/beret + glasses = null + l_pocket = null + // Roboticist /datum/outfit/job/independent/roboticist @@ -276,6 +305,13 @@ chameleon_extras = list(/obj/item/gun/energy/disabler, /obj/item/clothing/glasses/hud/security/sunglasses, /obj/item/clothing/head/helmet) //The helmet is necessary because /obj/item/clothing/head/helmet/sec is overwritten in the chameleon list by the standard helmet, which has the same name and icon state +/datum/outfit/job/independent/security/disarmed //No armor, no pocket handcuffs. + name = "Independent - Security Officer (Disarmed)" + head = null + suit = null + l_pocket = null + + /datum/outfit/job/independent/security/western name = "Independent - Security Officer (Western)" @@ -283,6 +319,17 @@ shoes = /obj/item/clothing/shoes/jackboots head = /obj/item/clothing/head/cowboy/sec +/datum/outfit/job/independent/security/merc + name = "Independent - Security Officer (Mercenary)" + id_assignment = "Trooper" + + uniform = /obj/item/clothing/under/syndicate/camo + gloves = /obj/item/clothing/gloves/fingerless + head = null + suit = null + dcoat = null + + /datum/outfit/job/independent/security/pirate name = "Independent - Security Officer (Pirate)" @@ -298,7 +345,7 @@ uniform = /obj/item/clothing/under/utility head = /obj/item/clothing/head/soft/black shoes = /obj/item/clothing/shoes/combat - l_pocket = /obj/item/kitchen/knife/combat + l_pocket = /obj/item/melee/knife/combat backpack_contents = list(/obj/item/melee/baton/loaded=1) @@ -349,8 +396,8 @@ uniform = /obj/item/clothing/under/utility head = /obj/item/clothing/head/soft/black shoes = /obj/item/clothing/shoes/combat - l_pocket = /obj/item/kitchen/knife/combat/survival - gloves = /obj/item/clothing/gloves/combat + l_pocket = /obj/item/melee/knife/survival + gloves = /obj/item/clothing/gloves/color/red/insulated implants = list(/obj/item/implant/radio) @@ -379,7 +426,7 @@ courierbag = /obj/item/storage/backpack/messenger/sec box = /obj/item/storage/box/survival/security - chameleon_extras = /obj/item/gun/ballistic/shotgun/automatic/combat/compact + chameleon_extras = /obj/item/gun/ballistic/shotgun/automatic/m11 // Chief Engineer @@ -442,7 +489,7 @@ job_icon = "cargotechnician" ears = /obj/item/radio/headset/headset_cargo - uniform = /obj/item/clothing/under/color/khaki + uniform = /obj/item/clothing/under/color/lightbrown dcoat = /obj/item/clothing/suit/hooded/wintercoat/cargo backpack_contents = list(/obj/item/modular_computer/tablet/preset/cargo=1) @@ -535,23 +582,24 @@ job_icon = "quartermaster" ears = /obj/item/radio/headset/headset_cargo - uniform = /obj/item/clothing/under/rank/cargo/qm - head = /obj/item/clothing/head/supply_chief + uniform = /obj/item/clothing/under/rank/security/detective + head = /obj/item/clothing/head/hardhat/white dcoat = /obj/item/clothing/suit/hooded/wintercoat/cargo - shoes = /obj/item/clothing/shoes/sneakers/brown + suit = /obj/item/clothing/suit/hazardvest + shoes = /obj/item/clothing/shoes/workboots glasses = /obj/item/clothing/glasses/sunglasses - l_hand = /obj/item/clipboard + r_pocket = /obj/item/clipboard backpack_contents = list(/obj/item/modular_computer/tablet/preset/cargo=1) + backpack = /obj/item/storage/backpack/industrial + satchel = /obj/item/storage/backpack/satchel/eng chameleon_extras = /obj/item/stamp/qm /datum/outfit/job/independent/quartermaster/western name = "Independent - Quartermaster (Western)" - uniform = /obj/item/clothing/under/rank/cargo/qm - suit = /obj/item/clothing/suit/toggle/hazard - shoes = /obj/item/clothing/shoes/workboots - glasses = /obj/item/clothing/glasses/sunglasses + suit = /obj/item/clothing/suit/jacket/leather/duster + gloves = /obj/item/clothing/gloves/fingerless head = /obj/item/clothing/head/cowboy/sec /datum/outfit/job/independent/miner @@ -568,7 +616,7 @@ l_pocket = /obj/item/storage/bag/ore backpack_contents = list( /obj/item/flashlight/seclite=1,\ - /obj/item/kitchen/knife/combat/survival=1,\ + /obj/item/melee/knife/survival=1,\ /obj/item/stack/marker_beacon/ten=1,\ /obj/item/radio/weather_monitor=1) diff --git a/code/modules/clothing/outfits/factions/inteq.dm b/code/modules/clothing/outfits/factions/inteq.dm index 75a36b1a313..95307aded9f 100644 --- a/code/modules/clothing/outfits/factions/inteq.dm +++ b/code/modules/clothing/outfits/factions/inteq.dm @@ -3,7 +3,7 @@ faction_icon = "bg_inteq" uniform = /obj/item/clothing/under/syndicate/inteq - box = /obj/item/storage/box/survival + box = /obj/item/storage/box/survival/inteq backpack = /obj/item/storage/backpack satchel = /obj/item/storage/backpack/satchel @@ -24,36 +24,46 @@ jobtype = /datum/job/assistant job_icon = "assistant" + ears = /obj/item/radio/headset r_pocket = /obj/item/radio ///captains /datum/outfit/job/inteq/captain - name = "IRMG - Vanguard (Naked)" + name = "IRMG - Vanguard" id_assignment = "Vanguard" jobtype = /datum/job/captain job_icon = "captain" + id = /obj/item/card/id/gold + head = /obj/item/clothing/head/beret/sec/hos/inteq + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/inteq + mask = /obj/item/clothing/mask/balaclava/inteq + suit = /obj/item/clothing/suit/armor/hos/inteq + dcoat = /obj/item/clothing/suit/hooded/wintercoat/security/inteq + belt = /obj/item/storage/belt/security/webbing/inteq + gloves = /obj/item/clothing/gloves/combat ears = /obj/item/radio/headset/inteq/alt/captain shoes = /obj/item/clothing/shoes/combat + r_pocket = /obj/item/assembly/flash/handheld l_pocket = /obj/item/restraints/handcuffs - jobtype = /datum/job/captain - id = /obj/item/card/id/gold backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1) -/datum/outfit/job/inteq/captain/geared - name = "IRMG - Vanguard" +/datum/outfit/job/inteq/captain/empty + name = "IRMG - Vanguard (Naked)" - head = /obj/item/clothing/head/beret/sec/hos/inteq - glasses = /obj/item/clothing/glasses/hud/security/sunglasses/inteq - mask = /obj/item/clothing/mask/gas/sechailer/balaclava/inteq - belt = /obj/item/storage/belt/security/webbing/inteq - suit = /obj/item/clothing/suit/armor/hos/inteq - dcoat = /obj/item/clothing/suit/hooded/wintercoat/security/inteq - gloves = /obj/item/clothing/gloves/combat - accessory = null + head = null + glasses = null + mask = null + belt = null + suit = null + dcoat = null + gloves = null + + r_pocket = null + l_pocket = null /datum/outfit/job/inteq/captain/honorable name = "IRMG - Honorable Vanguard" @@ -71,18 +81,18 @@ ///Chief Engineer /datum/outfit/job/inteq/ce - name = "IRMG - Artificer Class II" - id_assignment = "Artificer Class II" + name = "IRMG - Honorable Artificer" + id_assignment = "Honorable Artificer" job_icon = "chiefengineer" jobtype = /datum/job/chief_engineer ears = /obj/item/radio/headset/inteq uniform = /obj/item/clothing/under/syndicate/inteq/artificer head = /obj/item/clothing/head/hardhat/white - mask = /obj/item/clothing/mask/gas/sechailer/balaclava/inteq + mask = /obj/item/clothing/mask/balaclava/inteq dcoat = /obj/item/clothing/suit/hooded/wintercoat/security/inteq shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/color/yellow belt = /obj/item/storage/belt/utility/full id = /obj/item/card/id/silver @@ -126,10 +136,11 @@ jobtype = /datum/job/officer job_icon = "securityofficer" + ears = /obj/item/radio/headset/alt head = /obj/item/clothing/head/helmet/inteq suit = /obj/item/clothing/suit/armor/vest/alt belt = /obj/item/storage/belt/security/webbing/inteq - mask = /obj/item/clothing/mask/gas/sechailer/balaclava/inteq + mask = /obj/item/clothing/mask/balaclava/inteq uniform = /obj/item/clothing/under/syndicate/inteq dcoat = /obj/item/clothing/suit/hooded/wintercoat/security/inteq shoes = /obj/item/clothing/shoes/combat @@ -140,6 +151,14 @@ satchel = /obj/item/storage/backpack/messenger/inteq courierbag = /obj/item/storage/backpack/messenger/inteq +/datum/outfit/job/inteq/security/empty + name = "IRMG - Enforcer (Naked)" + head = null + suit = null + belt = null + mask = null + gloves = null + /datum/outfit/job/inteq/security/beluga name = "IRMG - Enforcer (Beluga)" @@ -156,14 +175,6 @@ satchel = /obj/item/storage/backpack/messenger/inteq courierbag = /obj/item/storage/backpack/messenger/inteq -/datum/outfit/job/inteq/security/empty - name = "IRMG - Enforcer (Naked)" - head = null - suit = null - belt = null - mask = null - gloves = null - ///engineers /datum/outfit/job/inteq/engineer @@ -172,6 +183,7 @@ job_icon = "stationengineer" jobtype = /datum/job/engineer + ears = /obj/item/radio/headset/alt uniform = /obj/item/clothing/under/syndicate/inteq/artificer head = /obj/item/clothing/head/soft/inteq shoes = /obj/item/clothing/shoes/combat @@ -190,7 +202,7 @@ head = /obj/item/clothing/head/warden/inteq uniform = /obj/item/clothing/under/syndicate/inteq glasses = /obj/item/clothing/glasses/hud/security/sunglasses/inteq - mask = /obj/item/clothing/mask/gas/sechailer/balaclava/inteq + mask = /obj/item/clothing/mask/balaclava/inteq belt = /obj/item/storage/belt/military/assault suit = /obj/item/clothing/suit/armor/vest/security/warden/inteq dcoat = /obj/item/clothing/suit/hooded/wintercoat/security/inteq @@ -201,6 +213,17 @@ courierbag = /obj/item/storage/backpack/messenger/inteq backpack_contents = list(/obj/item/melee/classic_baton=1) +/datum/outfit/job/inteq/warden/pilot + name = "IRMG - Shuttle Pilot" + job_icon = "securityofficer" + id_assignment = "Shuttle Pilot" + + head = /obj/item/clothing/head/soft/inteq + suit = /obj/item/clothing/suit/armor/vest/alt + belt = null + mask = /obj/item/clothing/mask/breath + gloves = /obj/item/clothing/gloves/fingerless + // cmo /datum/outfit/job/inteq/cmo @@ -212,7 +235,6 @@ belt = /obj/item/storage/belt/medical/webbing/paramedic ears = /obj/item/radio/headset/inteq/captain uniform = /obj/item/clothing/under/syndicate/inteq/corpsman - alt_uniform = /obj/item/clothing/under/syndicate/inteq/skirt/corpsman shoes = /obj/item/clothing/shoes/combat suit = /obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt alt_suit = /obj/item/clothing/suit/armor/inteq/corpsman diff --git a/code/modules/clothing/outfits/factions/minutemen.dm b/code/modules/clothing/outfits/factions/minutemen.dm index 5c038b05f18..3f99cc85087 100644 --- a/code/modules/clothing/outfits/factions/minutemen.dm +++ b/code/modules/clothing/outfits/factions/minutemen.dm @@ -3,7 +3,6 @@ /datum/outfit/job/clip name = "CLIP - Base Outfit" - jobtype = /datum/job/assistant uniform = /obj/item/clothing/under/clip alt_uniform = null @@ -93,6 +92,7 @@ head = /obj/item/clothing/head/hardhat/white ears = /obj/item/radio/headset/clip uniform = /obj/item/clothing/under/clip + gloves = /obj/item/clothing/gloves/color/yellow alt_uniform = null suit = /obj/item/clothing/suit/toggle/lawyer/clip alt_suit = null @@ -119,7 +119,7 @@ suit = /obj/item/clothing/suit/toggle/lawyer/clip/fo alt_suit = null - shoes = /obj/item/clothing/shoes/combat + shoes = /obj/item/clothing/shoes/laceup head = /obj/item/clothing/head/clip/slouch/officer backpack = /obj/item/storage/backpack/captain @@ -222,6 +222,8 @@ shoes = /obj/item/clothing/shoes/jackboots gloves = /obj/item/clothing/gloves/color/black + l_hand = /obj/item/storage/briefcase + backpack = /obj/item/storage/backpack/satchel/leather satchel = /obj/item/storage/backpack/satchel/leather @@ -232,6 +234,16 @@ /obj/item/detective_scanner=1,\ /obj/item/melee/classic_baton=1) +/datum/outfit/job/clip/investigator/cm5 + name = "CLIP GOLD - Investigator (CM-5c)" + + backpack_contents = list(/obj/item/storage/box/evidence=1,\ + /obj/item/detective_scanner=1,\ + /obj/item/melee/classic_baton=1,\ + /obj/item/ammo_box/magazine/cm5_9mm = 2, \ + /obj/item/gun/ballistic/automatic/smg/cm5/compact + ) + /datum/outfit/job/clip/bureaucrat name = "CLIP GOLD - Bureaucrat" job_icon = "scribe" @@ -272,7 +284,7 @@ backpack = /obj/item/storage/backpack/security/clip satchel = /obj/item/storage/backpack/satchel/sec/clip duffelbag = /obj/item/storage/backpack/duffelbag - courierbag = /obj/item/storage/backpack/messenger + courierbag = /obj/item/storage/backpack/satchel/sec/clip box = /obj/item/storage/box/survival/clip/balaclava @@ -297,17 +309,12 @@ ears = /obj/item/radio/headset/clip/alt/captain uniform = /obj/item/clothing/under/clip/officer alt_uniform = null - suit = /obj/item/clothing/suit/armor/clip_capcoat alt_suit = null + suit = /obj/item/clothing/suit/armor/clip_capcoat dcoat = /obj/item/clothing/suit/hooded/wintercoat/captain - shoes = /obj/item/clothing/shoes/combat + shoes = /obj/item/clothing/shoes/jackboots head = /obj/item/clothing/head/clip/slouch/officer - backpack = /obj/item/storage/backpack/captain - satchel = /obj/item/storage/backpack/satchel/cap - duffelbag = /obj/item/storage/backpack/duffelbag/captain - courierbag = /obj/item/storage/backpack/messenger/com - backpack_contents = list(/obj/item/storage/box/ids=1, /obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced = 1) @@ -364,14 +371,9 @@ ears = /obj/item/radio/headset/clip/alt uniform = /obj/item/clothing/under/clip/formal alt_uniform = null - suit = /obj/item/clothing/suit/toggle/lawyer/clip alt_suit = null - shoes = /obj/item/clothing/shoes/combat - - backpack = /obj/item/storage/backpack/captain - satchel = /obj/item/storage/backpack/satchel/cap - duffelbag = /obj/item/storage/backpack/duffelbag/captain - courierbag = /obj/item/storage/backpack/messenger/com + suit = /obj/item/clothing/suit/toggle/lawyer/clip + shoes = /obj/item/clothing/shoes/jackboots backpack_contents = list(/obj/item/modular_computer/tablet/preset/advanced = 1) @@ -381,17 +383,9 @@ job_icon = "clip_navy2" jobtype = /datum/job/doctor - l_hand = /obj/item/storage/firstaid/medical - - backpack = /obj/item/storage/backpack/security/clip - satchel = /obj/item/storage/backpack/satchel/sec/clip - duffelbag = /obj/item/storage/backpack/duffelbag - courierbag = /obj/item/storage/backpack/messenger - uniform = /obj/item/clothing/under/clip/medic shoes = /obj/item/clothing/shoes/sneakers/white head = /obj/item/clothing/head/clip/corpsman - gloves = /obj/item/clothing/gloves/color/latex/nitrile/clip suit = null suit_store = null @@ -512,7 +506,7 @@ job_icon = "clip_cmm2" ears = /obj/item/radio/headset/alt box = /obj/item/storage/box/survival/clip/balaclava - shoes = null + shoes = /obj/item/clothing/shoes/combat // shoos backpack = /obj/item/storage/backpack/security/clip satchel = /obj/item/storage/backpack/satchel/sec/clip @@ -551,17 +545,22 @@ backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/storage/ration/chicken_wings_hot_sauce=1) +/datum/outfit/job/clip/minutemen/grunt/dressed/hardsuit + name = "CLIP Minutemen - Minuteman (Spotter Hardsuit)" + head = null + suit = /obj/item/clothing/suit/space/hardsuit/clip_spotter + /datum/outfit/job/clip/minutemen/grunt/dressed/armed - name = "CLIP Minutemen - Minuteman (Armed - CM-16)" + name = "CLIP Minutemen - Minuteman (Armed - CM-82)" - suit_store = /obj/item/gun/ballistic/automatic/assault/p16/minutemen - belt = /obj/item/storage/belt/military/clip/p16 + suit_store = /obj/item/gun/ballistic/automatic/assault/cm82 + belt = /obj/item/storage/belt/military/clip/cm82 -/datum/outfit/job/clip/minutemen/grunt/dressed/armed/f4 //f4 is rename of GAL, don't wanna repath upon adding the clip guns though, if i forget to remove this during then, fucking yell at me - name = "CLIP Minutemen - Minuteman (Armed - CM-GAL)" +/datum/outfit/job/clip/minutemen/grunt/dressed/armed/f4 + name = "CLIP Minutemen - Minuteman (Armed - F4)" - suit_store = /obj/item/gun/ballistic/automatic/marksman/gal - belt = /obj/item/storage/belt/military/clip/gal + suit_store = /obj/item/gun/ballistic/automatic/marksman/f4 + belt = /obj/item/storage/belt/military/clip/f4 /datum/outfit/job/clip/minutemen/grunt/dressed/armed/cm5 name = "CLIP Minutemen - Minuteman (Armed - CM-5)" @@ -580,9 +579,9 @@ belt = /obj/item/storage/belt/military/clip/engi /datum/outfit/job/clip/minutemen/grunt/dressed/engi/armed - name = "CLIP Minutemen - Field Engineer (Armed - CM-16)" + name = "CLIP Minutemen - Field Engineer (Armed - CM-82)" - suit_store = /obj/item/gun/ballistic/automatic/assault/p16/minutemen + suit_store = /obj/item/gun/ballistic/automatic/assault/cm82 backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/storage/ration/chili_macaroni=1, /obj/item/grenade/c4=2, /obj/item/ammo_box/magazine/p16=3) /datum/outfit/job/clip/minutemen/grunt/dressed/med @@ -598,22 +597,27 @@ suit_store = /obj/item/gun/ballistic/automatic/smg/cm5 - backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/storage/ration/cheese_pizza_slice, /obj/item/defibrillator/compact/loaded=1, /obj/item/storage/firstaid/medical=1, /obj/item/ammo_box/magazine/smgm9mm=3) + backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/storage/ration/cheese_pizza_slice, /obj/item/defibrillator/compact/loaded=1, /obj/item/storage/firstaid/medical=1, /obj/item/ammo_box/magazine/cm5_9mm=3) + +/obj/item/storage/belt/military/clip/gunner/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_w_class = WEIGHT_CLASS_NORMAL /obj/item/storage/belt/military/clip/gunner/PopulateContents() for(var/i in 1 to 5) - new /obj/item/ammo_box/magazine/skm_762_40/extended(src) + new /obj/item/ammo_box/magazine/cm40_762_40_box(src) new /obj/item/grenade/frag(src) /datum/outfit/job/clip/minutemen/grunt/dressed/gunner_armed - name = "CLIP Minutemen - Field Gunner (Armed - SKM-24u)" //See above, replace with CLIP LMG when added + name = "CLIP Minutemen - Field Gunner (Armed - CM-40)" id_assignment = "Machinegunner" accessory = /obj/item/clothing/accessory/armband belt = /obj/item/storage/belt/military/clip/gunner - suit_store = /obj/item/gun/ballistic/automatic/hmg/skm_lmg/extended + suit_store = /obj/item/gun/ballistic/automatic/hmg/cm40 - backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/reagent_containers/food/snacks/rationpack=1) + backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/storage/ration/shredded_beef=1) ///lead, i guess you could reuse this for "Brig Officer" @@ -629,7 +633,7 @@ head = /obj/item/clothing/head/clip/slouch suit = /obj/item/clothing/suit/armor/vest/bulletproof belt = /obj/item/storage/belt/military/clip - shoes = /obj/item/clothing/shoes/combat + shoes = /obj/item/clothing/shoes/jackboots l_pocket = /obj/item/flashlight/seclite r_pocket = /obj/item/tank/internals/emergency_oxygen/double @@ -639,10 +643,10 @@ /datum/outfit/job/clip/minutemen/grunt/lead/armed name = "CLIP Minutemen - Field Sergeant (Armed)" - suit_store = /obj/item/gun/ballistic/automatic/assault/p16/minutemen - belt = /obj/item/storage/belt/military/clip/p16 + suit_store = /obj/item/gun/ballistic/automatic/assault/cm82 + belt = /obj/item/storage/belt/military/clip/cm82 //replace commander with the cm23 when its impemented, see the cm-f4 above - backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/reagent_containers/food/snacks/rationpack=1, /obj/item/gun/ballistic/automatic/pistol/commander=1) + backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/storage/ration/shredded_beef=1, /obj/item/gun/ballistic/automatic/pistol/commander=1) /datum/outfit/job/clip/minutemen/grunt/commander name = "CLIP Minutemen - Field Commander" @@ -656,7 +660,7 @@ head = /obj/item/clothing/head/clip/slouch/officer suit = /obj/item/clothing/suit/toggle/lawyer/clip - shoes = /obj/item/clothing/shoes/combat + shoes = /obj/item/clothing/shoes/jackboots glasses = /obj/item/clothing/glasses/sunglasses /datum/outfit/job/clip/minutemen/grunt/major @@ -671,6 +675,6 @@ head = /obj/item/clothing/head/clip/slouch/officer suit = /obj/item/clothing/suit/armor/clip_trenchcoat - shoes = /obj/item/clothing/shoes/combat + shoes = /obj/item/clothing/shoes/jackboots glasses = /obj/item/clothing/glasses/sunglasses diff --git a/code/modules/clothing/outfits/factions/nanotrasen.dm b/code/modules/clothing/outfits/factions/nanotrasen.dm index e93c7b4b8e5..3d0a75fd252 100644 --- a/code/modules/clothing/outfits/factions/nanotrasen.dm +++ b/code/modules/clothing/outfits/factions/nanotrasen.dm @@ -53,9 +53,13 @@ head = /obj/item/clothing/head/nanotrasen/cap/supply uniform = /obj/item/clothing/under/nanotrasen/supply/qm + suit = null + alt_suit = null dcoat = /obj/item/clothing/suit/hooded/wintercoat/cargo shoes = /obj/item/clothing/shoes/sneakers/brown glasses = /obj/item/clothing/glasses/sunglasses + gloves = null + neck = null l_hand = /obj/item/clipboard chameleon_extras = /obj/item/stamp/qm @@ -184,7 +188,7 @@ courierbag = /obj/item/storage/backpack/messenger/sec box = /obj/item/storage/box/survival/security - chameleon_extras = /obj/item/gun/ballistic/shotgun/automatic/combat/compact + chameleon_extras = /obj/item/gun/ballistic/shotgun/automatic/m11 // Engineering // @@ -312,7 +316,7 @@ backpack_contents = list( /obj/item/flashlight/seclite=1, - /obj/item/kitchen/knife/combat/survival=1, + /obj/item/melee/knife/survival=1, /obj/item/stack/marker_beacon/ten=1, /obj/item/radio/weather_monitor=1, ) @@ -324,6 +328,12 @@ chameleon_extras = /obj/item/gun/energy/kinetic_accelerator +/datum/outfit/job/nanotrasen/miner/no_equipment + name = "Nanotrasen - Miner (No Equipment)" + + r_pocket = null + backpack_contents = null + // Cargo Tech /datum/outfit/job/nanotrasen/cargo_tech name = "Nanotrasen - Cargo Tech" @@ -397,6 +407,15 @@ shoes = /obj/item/clothing/shoes/sneakers/black belt = /obj/item/pda +// Janitor +/datum/outfit/job/nanotrasen/janitor + name = "Nanotrasen - Janitor" + jobtype = /datum/job/janitor + job_icon = "janitor" + + uniform = /obj/item/clothing/under/nanotrasen/janitor + head = /obj/item/clothing/head/nanotrasen/cap/janitor + // Lawyer /datum/outfit/job/nanotrasen/lawyer name = "Nanotrasen - Lawyer" @@ -419,8 +438,6 @@ id_assignment = "Corporate Representative" job_icon = "nanotrasen" - uniform = /obj/item/clothing/under/rank/command/head_of_personnel/suit - suit = null ears = /obj/item/radio/headset/headset_cent l_hand = /obj/item/clipboard r_pocket = /obj/item/pen/fountain @@ -468,10 +485,10 @@ accessory = /obj/item/clothing/accessory/holster head = /obj/item/clothing/head/beret/command -// Mech Pilot +// Exosuit Pilot /datum/outfit/job/nanotrasen/security/mech_pilot - name = "Nanotrasen - Mech Pilot" - id_assignment = "Mech Pilot" + name = "Nanotrasen - Exosuit Pilot" + id_assignment = "Exosuit Pilot" uniform = /obj/item/clothing/under/rank/security/officer/military/eng head = /obj/item/clothing/head/beret/sec/officer @@ -491,7 +508,7 @@ gloves = /obj/item/clothing/gloves/color/black uniform = /obj/item/clothing/under/rank/security/head_of_security/alt/lp alt_uniform = /obj/item/clothing/under/rank/security/head_of_security/alt/skirt/lp - dcoat = /obj/item/clothing/suit/jacket + dcoat = /obj/item/clothing/suit/armor/nanotrasen/sec_director shoes = /obj/item/clothing/shoes/jackboots head = /obj/item/clothing/head/beret/command @@ -565,7 +582,7 @@ backpack = /obj/item/storage/backpack/ert/security belt = /obj/item/storage/belt/military id = /obj/item/card/id/ert/security - r_pocket = /obj/item/kitchen/knife/combat/survival + r_pocket = /obj/item/melee/knife/survival backpack_contents = list(/obj/item/radio, /obj/item/flashlight/seclite) /datum/outfit/job/nanotrasen/security/ert/engi @@ -576,7 +593,7 @@ backpack = /obj/item/storage/backpack/ert/engineer belt = /obj/item/storage/belt/utility/full/ert id = /obj/item/card/id/ert/security - r_pocket = /obj/item/kitchen/knife/combat/survival + r_pocket = /obj/item/melee/knife/survival backpack_contents = list(/obj/item/radio, /obj/item/flashlight/seclite) accessory = /obj/item/clothing/accessory/armband/engine glasses = /obj/item/clothing/glasses/hud/diagnostic/sunglasses @@ -589,7 +606,7 @@ backpack = /obj/item/storage/backpack/ert/medical belt = /obj/item/storage/belt/medical/webbing/paramedic id = /obj/item/card/id/ert/security - r_pocket = /obj/item/kitchen/knife/combat/survival + r_pocket = /obj/item/melee/knife/survival backpack_contents = list(/obj/item/radio, /obj/item/flashlight/seclite) accessory = /obj/item/clothing/accessory/armband/med glasses = /obj/item/clothing/glasses/hud/health/night diff --git a/code/modules/clothing/outfits/factions/roumain.dm b/code/modules/clothing/outfits/factions/roumain.dm index fe31fddd904..e7cc57a33a9 100644 --- a/code/modules/clothing/outfits/factions/roumain.dm +++ b/code/modules/clothing/outfits/factions/roumain.dm @@ -84,7 +84,7 @@ name = "Saint-Roumain Militia - Hunter" id_assignment = "Hunter" jobtype = /datum/job/officer - job_icon = "hsrm_hunter" + job_icon = "srm_hunter" uniform = /obj/item/clothing/under/suit/roumain alt_uniform = null diff --git a/code/modules/clothing/outfits/factions/solgov.dm b/code/modules/clothing/outfits/factions/solgov.dm index 972b863bbbd..c4aed59c7e2 100644 --- a/code/modules/clothing/outfits/factions/solgov.dm +++ b/code/modules/clothing/outfits/factions/solgov.dm @@ -7,7 +7,7 @@ . = ..() if(visualsOnly) return - H.faction |= list(FACTION_PLAYER_SOLGOV) + H.faction |= list(FACTION_PLAYER_SOLCON) /datum/outfit/job/solgov/assistant name = "SolGov - Scribe" @@ -47,7 +47,7 @@ gloves = /obj/item/clothing/gloves/combat ears = /obj/item/radio/headset/solgov/alt/captain uniform = /obj/item/clothing/under/solgov/formal/captain - suit = /obj/item/clothing/suit/armor/vest/bulletproof/solgov/captain + suit = /obj/item/clothing/suit/armor/vest/solgov/captain shoes = /obj/item/clothing/shoes/laceup head = /obj/item/clothing/head/solgov/captain backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1) @@ -69,7 +69,7 @@ id = /obj/item/card/id/solgov uniform = /obj/item/clothing/under/solgov - suit = /obj/item/clothing/suit/armor/vest/bulletproof/solgov + suit = /obj/item/clothing/suit/armor/vest/solgov ears = /obj/item/radio/headset/solgov/alt gloves = /obj/item/clothing/gloves/combat head = /obj/item/clothing/head/solgov/sonnensoldner @@ -101,7 +101,7 @@ implants = list(/obj/item/implant/mindshield) backpack_contents = list( - /obj/item/kitchen/knife/letter_opener = 1 + /obj/item/melee/knife/letter_opener = 1 ) /datum/outfit/job/solgov/overseer @@ -115,7 +115,7 @@ uniform = /obj/item/clothing/under/solgov/formal head = /obj/item/clothing/head/solgov neck = /obj/item/clothing/neck/cloak/overseer - suit = /obj/item/clothing/suit/armor/vest/bulletproof/solgov/overseer + suit = /obj/item/clothing/suit/armor/vest/solgov/overseer shoes = /obj/item/clothing/shoes/laceup backpack_contents = list(/obj/item/storage/box/ids=1,\ @@ -159,7 +159,7 @@ r_pocket = /obj/item/storage/bag/ore //causes issues if spawned in backpack backpack_contents = list( /obj/item/flashlight/seclite=1,\ - /obj/item/kitchen/knife/combat/survival=1,\ + /obj/item/melee/knife/survival=1,\ /obj/item/stack/marker_beacon/ten=1) backpack = /obj/item/storage/backpack/explorer diff --git a/code/modules/clothing/outfits/factions/syndicate.dm b/code/modules/clothing/outfits/factions/syndicate.dm index 4dbbe0826e2..af3bc97ac2e 100644 --- a/code/modules/clothing/outfits/factions/syndicate.dm +++ b/code/modules/clothing/outfits/factions/syndicate.dm @@ -4,7 +4,7 @@ name = "Syndicate - Base Outfit" uniform = /obj/item/clothing/under/color/black - box = /obj/item/storage/box/survival/syndie + box = /obj/item/storage/box/survival id = /obj/item/card/id/syndicate_command/crew_id faction_icon = "bg_syndicate" @@ -40,19 +40,14 @@ alt_uniform = null shoes = /obj/item/clothing/shoes/jackboots - gloves = /obj/item/clothing/gloves/color/black + gloves = null ears = /obj/item/radio/headset back = /obj/item/storage/backpack id = /obj/item/card/id/syndicate_command/crew_id r_pocket = /obj/item/radio - backpack = /obj/item/storage/backpack/security - satchel = /obj/item/storage/backpack/satchel/sec - duffelbag = /obj/item/storage/backpack/duffelbag/syndie - courierbag = /obj/item/storage/backpack/messenger/sec - - box = /obj/item/storage/box/survival/syndie + box = /obj/item/storage/box/survival /datum/outfit/job/syndicate/assistant/gorlex name = "Syndicate - Junior Agent (Hardliner)" @@ -106,8 +101,6 @@ duffelbag = /obj/item/storage/backpack/duffelbag/syndie courierbag = /obj/item/storage/backpack/messenger/sec - box = /obj/item/storage/box/survival/syndie - /datum/outfit/job/syndicate/assistant/twink/post_equip(mob/living/carbon/human/H) . = ..() @@ -246,8 +239,6 @@ duffelbag = /obj/item/storage/backpack/duffelbag/syndie courierbag = /obj/item/storage/backpack/messenger/sec - box = /obj/item/storage/box/survival/syndie - /datum/outfit/job/syndicate/bartender/twink/post_equip(mob/living/carbon/human/H) . = ..() assign_codename(H) @@ -301,8 +292,6 @@ duffelbag = /obj/item/storage/backpack/duffelbag/sec courierbag = /obj/item/storage/backpack/messenger/sec - box = /obj/item/storage/box/survival/syndie - /datum/outfit/job/syndicate/captain/aclf name = "Captain (ACLF)" @@ -359,7 +348,7 @@ shoes = /obj/item/clothing/shoes/combat/suns head = /obj/item/clothing/head/suns/captain gloves = /obj/item/clothing/gloves/suns/captain - suit = /obj/item/clothing/suit/armor/vest/bulletproof/suns/captain + suit = /obj/item/clothing/suit/armor/vest/suns/captain belt = /obj/item/storage/belt/sabre/suns/captain mask = /obj/item/clothing/mask/breath/suns neck = /obj/item/clothing/neck/cloak/suns/cap @@ -450,7 +439,7 @@ shoes =/obj/item/clothing/shoes/laceup ears = /obj/item/radio/headset/syndicate/alt/captain id = /obj/item/card/id/syndicate_command/captain_id - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/color/yellow /datum/outfit/job/syndicate/ce/ngr name = "Syndicate - Foreman (New Gorlex Republic)" @@ -462,7 +451,7 @@ suit = /obj/item/clothing/suit/ngr alt_suit = null shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/color/red/insulated //Chief Medical Officer @@ -483,6 +472,7 @@ l_hand = /obj/item/storage/firstaid/medical suit_store = /obj/item/flashlight/pen backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1) + box = /obj/item/storage/box/survival/medical /datum/outfit/job/syndicate/cmo/suns name = "Syndicate - Medical Instructor (SUNS)" @@ -521,11 +511,25 @@ head = /obj/item/clothing/head/HoS/beret/syndicate gloves = /obj/item/clothing/gloves/color/white id = /obj/item/card/id/syndicate_command/crew_id - r_pocket = /obj/item/kitchen/knife/combat/survival + r_pocket = /obj/item/melee/knife/survival glasses = /obj/item/clothing/glasses/hud/health backpack_contents = list(/obj/item/storage/box/ids=1,\ /obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced = 1) +/datum/outfit/job/syndicate/head_of_personnel/ngr + name = "Syndicate - Ensign (NGR)" + id_assignment = "Ensign" + + ears = /obj/item/radio/headset/syndicate + uniform = /obj/item/clothing/under/syndicate/ngr/officer + head = /obj/item/clothing/head/ngr + suit = /obj/item/clothing/suit/armor/ngr/lieutenant + id = /obj/item/card/id/syndicate_command/crew_id + shoes = /obj/item/clothing/shoes/combat + glasses = null + gloves = null + + /datum/outfit/job/syndicate/head_of_personnel/cybersun name = "Syndicate - Intelligence Officer (Cybersun)" id_assignment = "Intelligence Officer" @@ -537,7 +541,7 @@ head = /obj/item/clothing/head/HoS/cybersun gloves = /obj/item/clothing/gloves/combat id = /obj/item/card/id/syndicate_command/crew_id - r_pocket = /obj/item/kitchen/knife/combat/survival + r_pocket = /obj/item/melee/knife/survival glasses = /obj/item/clothing/glasses/sunglasses /datum/outfit/job/syndicate/head_of_personnel/suns @@ -545,7 +549,7 @@ id_assignment = "Academic Staff" uniform = /obj/item/clothing/under/syndicate/suns/xo - suit = /obj/item/clothing/suit/armor/vest/bulletproof/suns/xo + suit = /obj/item/clothing/suit/armor/vest/suns/xo belt = /obj/item/storage/belt/sabre/suns shoes = /obj/item/clothing/shoes/combat/suns head = /obj/item/clothing/head/suns @@ -577,6 +581,7 @@ r_pocket = /obj/item/assembly/flash/handheld l_pocket = /obj/item/restraints/handcuffs backpack_contents = list(/obj/item/melee/baton/loaded=1) + box = /obj/item/storage/box/survival/security /datum/outfit/job/syndicate/hos/gorlex name = "Syndicate - Sergeant (Hardliner)" @@ -587,7 +592,7 @@ suit = /obj/item/clothing/suit/armor/hardliners/sergeant id = /obj/item/card/id/syndicate_command/crew_id shoes = /obj/item/clothing/shoes/combat - suit_store = /obj/item/gun/ballistic/automatic/pistol/syndicate + suit_store = /obj/item/gun/ballistic/automatic/pistol/ringneck /datum/outfit/job/syndicate/hos/ngr name = "Syndicate - Lieutenant (New Gorlex Republic)" @@ -598,7 +603,8 @@ suit = /obj/item/clothing/suit/armor/ngr/lieutenant id = /obj/item/card/id/syndicate_command/crew_id shoes = /obj/item/clothing/shoes/combat - suit_store = /obj/item/gun/ballistic/automatic/pistol/syndicate + suit_store = null + gloves = /obj/item/clothing/gloves/color/black /datum/outfit/job/syndicate/hos/twink @@ -628,8 +634,6 @@ duffelbag = /obj/item/storage/backpack/duffelbag/syndie courierbag = /obj/item/storage/backpack/messenger/sec - box = /obj/item/storage/box/survival/syndie - /datum/outfit/job/syndicate/hos/twink/post_equip(mob/living/carbon/human/H) . = ..() assign_codename(H) @@ -639,8 +643,8 @@ id_assignment = "Senior Peacekeeper" uniform = /obj/item/clothing/under/syndicate/suns/pkuniform - suit = /obj/item/clothing/suit/armor/vest/bulletproof/suns/hos - belt = /obj/item/melee/sabre/suns/telescopic + suit = /obj/item/clothing/suit/armor/vest/suns/hos + belt = /obj/item/melee/sword/sabre/suns/telescopic gloves = /obj/item/clothing/gloves/tackler/dolphin/suns shoes = /obj/item/clothing/shoes/combat/suns head = /obj/item/clothing/head/welding/suns/hos @@ -654,7 +658,7 @@ /datum/outfit/job/syndicate/hos/suns/alt name = "Syndicate - Senior Peacekeeper Alt (SUNS)" - suit = /obj/item/clothing/suit/armor/vest/bulletproof/suns/ehos + suit = /obj/item/clothing/suit/armor/vest/suns/ehos head = /obj/item/clothing/head/HoS/syndicate/suns /datum/outfit/job/syndicate/hos/suns/twink @@ -682,9 +686,12 @@ uniform = /obj/item/clothing/under/syndicate id = /obj/item/card/id/syndicate_command/crew_id shoes = /obj/item/clothing/shoes/jackboots - shoes = /obj/item/clothing/shoes/sneakers/white alt_suit = /obj/item/clothing/suit/apron/surgical - l_hand = /obj/item/storage/firstaid/medical + box = /obj/item/storage/box/survival/medical + backpack = /obj/item/storage/backpack/medic + satchel = /obj/item/storage/backpack/satchel/med + duffelbag = /obj/item/storage/backpack/duffelbag/syndie/med + courierbag = /obj/item/storage/backpack/messenger/med /datum/outfit/job/syndicate/doctor/suns name = "Syndicate - Medical Doctor (SUNS)" @@ -716,10 +723,10 @@ head = /obj/item/clothing/head/hardliners suit = /obj/item/clothing/suit/hardliners glasses = /obj/item/clothing/glasses/hud/health - r_pocket = /obj/item/kitchen/knife/combat/survival - back = /obj/item/storage/backpack/duffelbag/syndie/med + r_pocket = /obj/item/melee/knife/survival id = /obj/item/card/id/syndicate_command/crew_id backpack_contents = list(/obj/item/storage/box/survival/syndie=1, /obj/item/storage/firstaid/medical,) + shoes = /obj/item/clothing/shoes/combat /datum/outfit/job/syndicate/doctor/ngr name = "Syndicate - Medical Doctor (New Gorlex Republic)" @@ -728,10 +735,9 @@ head = /obj/item/clothing/head/ngr/surgical suit = /obj/item/clothing/suit/ngr/smock glasses = /obj/item/clothing/glasses/hud/health - r_pocket = /obj/item/kitchen/knife/combat/survival - back = /obj/item/storage/backpack/duffelbag/syndie/med + r_pocket = /obj/item/melee/knife/survival id = /obj/item/card/id/syndicate_command/crew_id - backpack_contents = list(/obj/item/storage/box/survival/syndie=1, /obj/item/storage/firstaid/medical,) + shoes = /obj/item/clothing/shoes/combat //paramedics @@ -755,6 +761,7 @@ suit_store = /obj/item/flashlight/pen backpack_contents = list(/obj/item/roller=1) pda_slot = ITEM_SLOT_LPOCKET + box = /obj/item/storage/box/survival/medical /datum/outfit/job/syndicate/paramedic/gorlex name = "Syndicate - Paramedic (Gorlex)" @@ -793,8 +800,6 @@ duffelbag = /obj/item/storage/backpack/duffelbag/syndie/med courierbag = /obj/item/storage/backpack/messenger/sec - box = /obj/item/storage/box/survival/syndie - /datum/outfit/job/syndicate/paramedic/twink/post_equip(mob/living/carbon/human/H) . = ..() assign_codename(H) @@ -903,7 +908,7 @@ job_icon = "securityofficer" uniform = /obj/item/clothing/under/syndicate - r_pocket = /obj/item/kitchen/knife/combat/survival + r_pocket = /obj/item/melee/knife/survival belt = /obj/item/storage/belt/military back = /obj/item/storage/backpack suit = /obj/item/clothing/suit/armor/vest @@ -916,9 +921,7 @@ l_pocket = /obj/item/restraints/handcuffs r_pocket = /obj/item/assembly/flash/handheld - backpack_contents = list( - /obj/item/melee/baton/loaded=1, - ) + box = /obj/item/storage/box/survival/security /datum/outfit/job/syndicate/security/gorlex @@ -935,7 +938,7 @@ l_pocket = /obj/item/restraints/handcuffs r_pocket = /obj/item/assembly/flash/handheld -/datum/outfit/job/syndicate/security/gorlex +/datum/outfit/job/syndicate/security/gorlex/pilot name = "Syndicate - Pilot (Hardliner)" id_assignment = "Pilot" job_icon = "securityofficer" @@ -987,8 +990,6 @@ duffelbag = /obj/item/storage/backpack/duffelbag/syndie courierbag = /obj/item/storage/backpack/messenger/sec - box = /obj/item/storage/box/survival/syndie - /datum/outfit/job/syndicate/security/twink/post_equip(mob/living/carbon/human/H) . = ..() assign_codename(H) @@ -998,9 +999,9 @@ id_assignment = "Peacekeeper" uniform = /obj/item/clothing/under/syndicate/suns/pkuniform - suit = /obj/item/clothing/suit/armor/vest/bulletproof/suns + suit = /obj/item/clothing/suit/armor/vest/suns alt_suit = /obj/item/clothing/suit/toggle/suns/pkcoat - belt = /obj/item/melee/sabre/suns/telescopic + belt = /obj/item/melee/sword/sabre/suns/telescopic gloves = /obj/item/clothing/gloves/tackler/dolphin/suns shoes = /obj/item/clothing/shoes/jackboots/suns/long head = /obj/item/clothing/head/welding/suns @@ -1022,13 +1023,14 @@ shoes = /obj/item/clothing/shoes/workboots/mining gloves = /obj/item/clothing/gloves/explorer uniform = /obj/item/clothing/under/rank/cargo/miner/lavaland - l_pocket = /obj/item/reagent_containers/hypospray/medipen/survival r_pocket = /obj/item/storage/bag/ore backpack_contents = list( - /obj/item/flashlight/seclite=1,\ - /obj/item/kitchen/knife/combat/survival=1,\ - /obj/item/mining_voucher=1,\ - /obj/item/stack/marker_beacon/ten=1) + /obj/item/flashlight/seclite=1, + /obj/item/melee/knife/survival=1, + /obj/item/stack/marker_beacon/ten=1, + /obj/item/radio/weather_monitor=1, + ) + box = /obj/item/storage/box/survival/mining /datum/outfit/job/syndicate/miner/gorlex name = "Syndicate - Wrecker (Hardliner)" @@ -1121,6 +1123,11 @@ head = /obj/item/clothing/head/hardhat/dblue r_pocket = /obj/item/t_scanner + backpack = /obj/item/storage/backpack/industrial + satchel = /obj/item/storage/backpack/satchel/eng + duffelbag = /obj/item/storage/backpack/duffelbag/engineering + courierbag = /obj/item/storage/backpack/messenger/engi + box = /obj/item/storage/box/survival/engineer pda_slot = ITEM_SLOT_LPOCKET backpack_contents = list(/obj/item/modular_computer/tablet/preset/advanced=1) @@ -1175,8 +1182,6 @@ r_pocket = null implants = list(/obj/item/implant/weapons_auth) - box = /obj/item/storage/box/survival/syndie - /datum/outfit/job/syndicate/engineer/twink/post_equip(mob/living/carbon/human/H) . = ..() assign_codename(H) diff --git a/code/modules/clothing/outfits/plasmaman.dm b/code/modules/clothing/outfits/plasmaman.dm index 05b8c0e1a42..54425960317 100644 --- a/code/modules/clothing/outfits/plasmaman.dm +++ b/code/modules/clothing/outfits/plasmaman.dm @@ -17,7 +17,7 @@ head = /obj/item/clothing/head/helmet/space/plasmaman/botany uniform = /obj/item/clothing/under/plasmaman/botany - gloves = /obj/item/clothing/gloves/color/botanic_leather/plasmaman + gloves = /obj/item/clothing/gloves/botanic_leather/plasmaman /datum/outfit/plasmaman/curator name = "Curator Plasmaman" diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index 100cc7ff0f5..3687ff2c166 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -1,13 +1,3 @@ -/datum/outfit/centcom - name = "CentCom Base" - -/datum/outfit/centcom/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - - var/obj/item/implant/mindshield/L = new/obj/item/implant/mindshield(H)//hmm lets have centcom officials become revs - L.implant(H, null, 1) - /datum/outfit/laser_tag name = "Laser Tag Red" @@ -59,7 +49,7 @@ var/obj/item/radio/R = H.ears if(R) - R.set_frequency(FREQ_SYNDICATE) + R.set_frequency(FREQ_PIRATE) R.freqlock = TRUE var/obj/item/card/id/W = H.wear_id @@ -67,43 +57,6 @@ W.registered_name = H.real_name W.update_label() -/datum/outfit/centcom/commander - name = "CentCom Commander" - - uniform = /obj/item/clothing/under/rank/centcom/commander - suit = /obj/item/clothing/suit/armor/vest/bulletproof - shoes = /obj/item/clothing/shoes/combat/swat - gloves = /obj/item/clothing/gloves/tackler/combat/insulated - ears = /obj/item/radio/headset/headset_cent/commander - glasses = /obj/item/clothing/glasses/eyepatch - mask = /obj/item/clothing/mask/cigarette/cigar/cohiba - head = /obj/item/clothing/head/centcom_cap - belt = /obj/item/gun/ballistic/revolver/mateba - r_pocket = /obj/item/lighter - l_pocket = /obj/item/ammo_box/a357 - back = /obj/item/storage/backpack/satchel/leather - id = /obj/item/card/id/centcom - -/datum/outfit/centcom/commander/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - - var/obj/item/card/id/W = H.wear_id - W.access = get_all_accesses() - W.access += get_centcom_access("CentCom Commander") - W.assignment = "CentCom Commander" - W.registered_name = H.real_name - W.update_label() - ..() - -/datum/outfit/ghost_cultist - name = "Cultist Ghost" - - uniform = /obj/item/clothing/under/color/black/ghost - suit = /obj/item/clothing/suit/hooded/cultrobes/alt/ghost - shoes = /obj/item/clothing/shoes/cult/alt/ghost - r_hand = /obj/item/melee/cultblade/ghost - /datum/outfit/wizard name = "Blue Wizard" @@ -126,25 +79,6 @@ if(S) S.owner = H -/datum/outfit/wizard/apprentice - name = "Wizard Apprentice" - r_hand = null - l_hand = null - r_pocket = /obj/item/teleportation_scroll/apprentice - -/datum/outfit/wizard/red - name = "Red Wizard" - - suit = /obj/item/clothing/suit/wizrobe/red - head = /obj/item/clothing/head/wizard/red - -/datum/outfit/wizard/weeb - name = "Marisa Wizard" - - suit = /obj/item/clothing/suit/wizrobe/marisa - shoes = /obj/item/clothing/shoes/sandal/marisa - head = /obj/item/clothing/head/wizard/marisa - /datum/outfit/plasmaman name = "Plasmaman" @@ -154,51 +88,6 @@ mask = /obj/item/clothing/mask/breath gloves = /obj/item/clothing/gloves/color/plasmaman - -/datum/outfit/centcom/death_commando - name = "Death Commando" - - uniform = /obj/item/clothing/under/rank/centcom/commander - suit = /obj/item/clothing/suit/space/hardsuit/deathsquad - shoes = /obj/item/clothing/shoes/combat/swat - gloves = /obj/item/clothing/gloves/tackler/combat/insulated - mask = /obj/item/clothing/mask/gas/sechailer/swat - glasses = /obj/item/clothing/glasses/hud/toggle/thermal - back = /obj/item/storage/backpack/security - l_pocket = /obj/item/melee/transforming/energy/sword/saber - r_pocket = /obj/item/shield/energy - suit_store = /obj/item/tank/internals/emergency_oxygen/double - belt = /obj/item/gun/ballistic/revolver/mateba - r_hand = /obj/item/gun/energy/pulse - id = /obj/item/card/id/ert/deathsquad - ears = /obj/item/radio/headset/headset_cent/alt - - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/ammo_box/a357=1,\ - /obj/item/storage/firstaid/regular=1,\ - /obj/item/storage/box/flashbangs=1,\ - /obj/item/flashlight=1,\ - /obj/item/grenade/c4/x4=1) - -/datum/outfit/centcom/death_commando/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - - var/obj/item/radio/R = H.ears - R.set_frequency(FREQ_CENTCOM) - R.freqlock = TRUE - var/obj/item/card/id/W = H.wear_id - W.access = get_all_accesses()//They get full station access. - W.access += get_centcom_access("Death Commando")//Let's add their alloted CentCom access. - W.assignment = "Death Commando" - W.registered_name = H.real_name - W.update_label() - ..() - -/datum/outfit/centcom/death_commando/officer - name = "Death Commando Officer" - head = /obj/item/clothing/head/helmet/space/beret - /datum/outfit/chrono_agent name = "Timeline Eradication Agent" uniform = /obj/item/clothing/under/color/white @@ -224,7 +113,7 @@ box = /obj/item/storage/box/debugtools internals_slot = ITEM_SLOT_SUITSTORE backpack_contents = list( - /obj/item/melee/transforming/energy/axe=1,\ + /obj/item/melee/energy/axe=1,\ /obj/item/storage/part_replacer/bluespace/tier4=1,\ /obj/item/debug/human_spawner=1,\ /obj/item/debug/omnitool=1 diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index 336ac43c7d4..687bf7bf7e7 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -16,6 +16,7 @@ permeability_coefficient = 0.5 slowdown = SHOES_SLOWDOWN strip_delay = 1 SECONDS + blood_overlay_type = "shoe" var/offset = 0 var/equipped_before_drop = FALSE @@ -29,15 +30,12 @@ var/atom/movable/screen/alert/our_alert /obj/item/clothing/shoes/worn_overlays(isinhands = FALSE) - . = list() + . = ..() if(!isinhands) if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damagedshoe") if(HAS_BLOOD_DNA(src)) - var/mutable_appearance/bloody_shoes - bloody_shoes = mutable_appearance('icons/effects/blood.dmi', "shoeblood") - bloody_shoes.color = get_blood_dna_color(return_blood_DNA()) - . += bloody_shoes + . += setup_blood_overlay() /obj/item/clothing/shoes/examine(mob/user) . = ..() @@ -172,7 +170,7 @@ else // if one of us moved user.visible_message("[our_guy] stamps on [user]'s hand, mid-shoelace [tied ? "knotting" : "untying"]!", "Ow! [our_guy] stamps on your hand!", list(our_guy)) to_chat(our_guy, "You stamp on [user]'s hand! What the- [user.p_they()] [user.p_were()] [tied ? "knotting" : "untying"] your shoelaces!") - user.emote("scream") + user.force_scream() if(istype(L)) var/obj/item/bodypart/ouchie = L.get_bodypart(pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) if(ouchie) diff --git a/code/modules/clothing/shoes/bananashoes.dm b/code/modules/clothing/shoes/bananashoes.dm deleted file mode 100644 index 4ed246a587b..00000000000 --- a/code/modules/clothing/shoes/bananashoes.dm +++ /dev/null @@ -1,68 +0,0 @@ -//banana flavored chaos and horror ahead - -/obj/item/clothing/shoes/clown_shoes/banana_shoes - name = "mk-honk prototype shoes" - desc = "Lost prototype of advanced clown tech. Powered by bananium, these shoes leave a trail of chaos in their wake." - icon_state = "clown_prototype_off" - actions_types = list(/datum/action/item_action/toggle) - var/on = FALSE - var/always_noslip = FALSE - -/obj/item/clothing/shoes/clown_shoes/banana_shoes/Initialize() - . = ..() - if(always_noslip) - clothing_flags |= NOSLIP - -/obj/item/clothing/shoes/clown_shoes/banana_shoes/ComponentInitialize() - . = ..() - AddElement(/datum/element/update_icon_updates_onmob) - AddComponent(/datum/component/material_container, list(/datum/material/hellstone), 200000, TRUE, /obj/item/stack) - AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 75, falloff_exponent = 20) - -/obj/item/clothing/shoes/clown_shoes/banana_shoes/step_action() - . = ..() - var/mob/wearer = loc - var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) - if(on && istype(wearer)) - if(bananium.get_material_amount(/datum/material/hellstone) < 100) - on = !on - if(!always_noslip) - clothing_flags &= ~NOSLIP - update_appearance() - to_chat(loc, "You ran out of bananium!") - else - new /obj/item/grown/bananapeel/specialpeel(get_step(src,turn(wearer.dir, 180))) //honk - bananium.use_amount_mat(100, /datum/material/hellstone) - -/obj/item/clothing/shoes/clown_shoes/banana_shoes/attack_self(mob/user) - var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) - var/sheet_amount = bananium.retrieve_all() - if(sheet_amount) - to_chat(user, "You retrieve [sheet_amount] sheets of bananium from the prototype shoes.") - else - to_chat(user, "You cannot retrieve any bananium from the prototype shoes!") - -/obj/item/clothing/shoes/clown_shoes/banana_shoes/examine(mob/user) - . = ..() - . += "The shoes are [on ? "enabled" : "disabled"]." - -/obj/item/clothing/shoes/clown_shoes/banana_shoes/ui_action_click(mob/user) - var/datum/component/material_container/bananium = GetComponent(/datum/component/material_container) - if(bananium.get_material_amount(/datum/material/hellstone)) - on = !on - update_appearance() - to_chat(user, "You [on ? "activate" : "deactivate"] the prototype shoes.") - if(!always_noslip) - if(on) - clothing_flags |= NOSLIP - else - clothing_flags &= ~NOSLIP - else - to_chat(user, "You need bananium to turn the prototype shoes on!") - -/obj/item/clothing/shoes/clown_shoes/banana_shoes/update_icon_state() - if(on) - icon_state = "clown_prototype_on" - else - icon_state = "clown_prototype_off" - return ..() diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 4c078a7e0ad..839dd3565ad 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -16,23 +16,6 @@ lace_time = 12 SECONDS greyscale_icon_state = "boots" -/obj/item/clothing/shoes/combat/sneakboots - name = "sneakboots" - desc = "These boots have special noise cancelling soles. Perfect for stealth, if it wasn't for the color scheme." - icon_state = "sneakboots" - item_state = "sneakboots" - w_class = WEIGHT_CLASS_SMALL - resistance_flags = FIRE_PROOF | ACID_PROOF - -/obj/item/clothing/shoes/combat/sneakboots/equipped(mob/living/carbon/human/user, slot) - . = ..() - if(slot == ITEM_SLOT_FEET) - ADD_TRAIT(user, TRAIT_SILENT_FOOTSTEPS, SHOES_TRAIT) - -/obj/item/clothing/shoes/combat/sneakboots/dropped(mob/living/carbon/human/user) - REMOVE_TRAIT(user, TRAIT_SILENT_FOOTSTEPS, SHOES_TRAIT) - return ..() - /obj/item/clothing/shoes/combat/swat //overpowered boots for death squads name = "\improper SWAT boots" desc = "High speed, no drag combat boots." @@ -84,61 +67,6 @@ can_be_tied = FALSE greyscale_icon_state = "boots" -/obj/item/clothing/shoes/galoshes/dry - name = "absorbent galoshes" - desc = "A pair of orange rubber boots, designed to prevent slipping on wet surfaces while also drying them." - icon_state = "galoshes_dry" - -/obj/item/clothing/shoes/galoshes/dry/step_action() - var/turf/open/t_loc = get_turf(src) - SEND_SIGNAL(t_loc, COMSIG_TURF_MAKE_DRY, TURF_WET_WATER, TRUE, INFINITY) - -/obj/item/clothing/shoes/clown_shoes - desc = "The prankster's standard-issue clowning shoes. Damn, they're huge! Ctrl-click to toggle waddle dampeners." - name = "clown shoes" - icon_state = "clown" - item_state = "clown_shoes" - slowdown = SHOES_SLOWDOWN+1 - pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes/clown - var/enabled_waddle = TRUE - lace_time = 20 SECONDS // how the hell do these laces even work?? - -/obj/item/clothing/shoes/clown_shoes/Initialize() - . = ..() - AddComponent(/datum/component/squeak, list('sound/effects/clownstep1.ogg'=1,'sound/effects/clownstep2.ogg'=1), 50, falloff_exponent = 20) //die off quick please) - -/obj/item/clothing/shoes/clown_shoes/equipped(mob/user, slot) - . = ..() - if(slot == ITEM_SLOT_FEET) - if(enabled_waddle) - user.AddElement(/datum/element/waddling) - if(user.mind && user.mind.assigned_role == "Clown") - SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "clownshoes", /datum/mood_event/clownshoes) - -/obj/item/clothing/shoes/clown_shoes/dropped(mob/user) - . = ..() - user.RemoveElement(/datum/element/waddling) - if(user.mind && user.mind.assigned_role == "Clown") - SEND_SIGNAL(user, COMSIG_CLEAR_MOOD_EVENT, "clownshoes") - -/obj/item/clothing/shoes/clown_shoes/CtrlClick(mob/living/user) - if(!isliving(user)) - return - if(user.get_active_held_item() != src) - to_chat(user, "You must hold the [src] in your hand to do this!") - return - if (!enabled_waddle) - to_chat(user, "You switch off the waddle dampeners!") - enabled_waddle = TRUE - else - to_chat(user, "You switch on the waddle dampeners!") - enabled_waddle = FALSE - -/obj/item/clothing/shoes/clown_shoes/jester - name = "jester shoes" - desc = "A court jester's shoes, updated with modern squeaking technology." - icon_state = "jester_shoes" - /obj/item/clothing/shoes/jackboots name = "jackboots" desc = "Ankle-high combat boots for combat scenarios or combat situations. All combat, all the time." @@ -198,59 +126,12 @@ icon_state = "explorer" resistance_flags = FIRE_PROOF -/obj/item/clothing/shoes/cult - name = "\improper Nar'Sien invoker boots" - desc = "A pair of boots worn by the followers of Nar'Sie." - icon_state = "cult" - item_state = "cult" - cold_protection = FEET - min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT - heat_protection = FEET - max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT - lace_time = 10 SECONDS - greyscale_icon_state = "boots" - -/obj/item/clothing/shoes/cult/alt - name = "cultist boots" - icon_state = "cultalt" - -/obj/item/clothing/shoes/cult/alt/ghost - item_flags = DROPDEL - -/obj/item/clothing/shoes/cult/alt/ghost/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT) - -/obj/item/clothing/shoes/cyborg - name = "cyborg boots" - desc = "Shoes for a cyborg costume." - icon_state = "boots" - /obj/item/clothing/shoes/laceup name = "laceup shoes" desc = "The height of fashion, and they're pre-polished!" icon_state = "laceups" equip_delay_other = 50 -/obj/item/clothing/shoes/roman - name = "roman sandals" - desc = "Sandals with buckled leather straps on it." - icon_state = "roman" - item_state = "roman" - strip_delay = 100 - equip_delay_other = 100 - permeability_coefficient = 0.9 - can_be_tied = FALSE - -/obj/item/clothing/shoes/griffin - name = "griffon boots" - desc = "A pair of costume boots fashioned after bird talons." - icon_state = "griffinboots" - item_state = "griffinboots" - pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes - lace_time = 8 SECONDS - greyscale_icon_state = "boots" - /obj/item/clothing/shoes/bhop name = "jump boots" desc = "The EXOCOM's Cortez launch boot line represents a specialized pair of mining boots with a built-in propulsion system, designed for rapid foward movement." @@ -287,57 +168,6 @@ else to_chat(user, "Something prevents you from dashing forward!") -/obj/item/clothing/shoes/bronze - name = "bronze boots" - desc = "A giant, clunky pair of shoes crudely made out of bronze. Why would anyone wear these?" - icon = 'icons/obj/clothing/clockwork_garb.dmi' - icon_state = "clockwork_treads" - lace_time = 8 SECONDS - greyscale_icon_state = "boots" - -/obj/item/clothing/shoes/bronze/Initialize() - . = ..() - AddComponent(/datum/component/squeak, list('sound/machines/clockcult/integration_cog_install.ogg' = 1, 'sound/magic/clockwork/fellowship_armory.ogg' = 1), 50, extrarange = SHORT_RANGE_SOUND_EXTRARANGE) - -/obj/item/clothing/shoes/wheelys - name = "Wheely-Heels" - desc = "Uses patented retractable wheel technology. Never sacrifice speed for style - not that this provides much of either." //Thanks Fel - icon_state = "wheelys" - item_state = "wheelys" - actions_types = list(/datum/action/item_action/wheelys) - var/wheelToggle = FALSE //False means wheels are not popped out - var/obj/vehicle/ridden/scooter/wheelys/W - -/obj/item/clothing/shoes/wheelys/Initialize() - . = ..() - W = new /obj/vehicle/ridden/scooter/wheelys(null) - -/obj/item/clothing/shoes/wheelys/ui_action_click(mob/user, action) - if(!isliving(user)) - return - if(!istype(user.get_item_by_slot(ITEM_SLOT_FEET), /obj/item/clothing/shoes/wheelys)) - to_chat(user, "You must be wearing the wheely-heels to use them!") - return - if(!(W.is_occupant(user))) - wheelToggle = FALSE - if(wheelToggle) - W.unbuckle_mob(user) - wheelToggle = FALSE - return - W.forceMove(get_turf(user)) - W.buckle_mob(user) - wheelToggle = TRUE - -/obj/item/clothing/shoes/wheelys/dropped(mob/user) - if(wheelToggle) - W.unbuckle_mob(user) - wheelToggle = FALSE - ..() - -/obj/item/clothing/shoes/wheelys/Destroy() - QDEL_NULL(W) - . = ..() - /obj/item/clothing/shoes/kindleKicks name = "Kindle Kicks" desc = "They'll sure kindle something in you, and it's not childhood nostalgia..." @@ -351,7 +181,6 @@ var/lightCycle = 0 var/active = FALSE - /obj/item/clothing/shoes/kindleKicks/ui_action_click(mob/user, action) if(active) return @@ -388,6 +217,9 @@ var/mob/living/simple_animal/hostile/retaliate/poison/snake/bootsnake = new/mob/living/simple_animal/hostile/retaliate/poison/snake(src) occupants += bootsnake +/obj/item/clothing/shoes/cowboy/Destroy() + QDEL_LIST(occupants) + return ..() /obj/item/clothing/shoes/cowboy/equipped(mob/living/carbon/user, slot) . = ..() @@ -433,21 +265,3 @@ desc = "A pair of authentic haute couture boots. You doubt they have ever been close to cattle." icon_state = "cowboy_fancy" permeability_coefficient = 0.08 - -/obj/item/clothing/shoes/cookflops - desc = "All this talk of antags, greytiding, and griefing... I just wanna grill for god's sake!" - name = "grilling sandals" - icon_state = "cookflops" - can_be_tied = FALSE - -/obj/item/clothing/shoes/yakuza - name = "tojo clan shoes" - desc = "Steel-toed and intimidating." - icon_state = "MajimaShoes" - item_state = "MajimaShoes_worn" - -/obj/item/clothing/shoes/jackbros - name = "frosty boots" - desc = "For when you're stepping on up to the plate." - icon_state = "JackFrostShoes" - item_state = "JackFrostShoes_worn" diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm index cb98f607089..f96ad54adb8 100644 --- a/code/modules/clothing/spacesuits/_spacesuits.dm +++ b/code/modules/clothing/spacesuits/_spacesuits.dm @@ -18,7 +18,7 @@ flash_protect = FLASH_PROTECTION_WELDER strip_delay = 50 equip_delay_other = 50 - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES resistance_flags = NONE dog_fashion = null content_overlays = FALSE diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 4827186a95c..00e527a3161 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -17,7 +17,7 @@ actions_types = list(/datum/action/item_action/toggle_helmet) flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR - visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES var/rad_count = 0 var/rad_record = 0 var/grace_count = 0 @@ -105,7 +105,7 @@ max_integrity = 300 armor = list("melee" = 10, "bullet" = 5, "laser" = 10, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 50, "acid" = 75) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/t_scanner, /obj/item/construction/rcd, /obj/item/pipe_dispenser) - siemens_coefficient = 0 + siemens_coefficient = 0.5 var/obj/item/clothing/head/helmet/space/hardsuit/helmet actions_types = list(/datum/action/item_action/toggle_helmet) var/helmettype = /obj/item/clothing/head/helmet/space/hardsuit @@ -207,6 +207,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding." icon_state = "hardsuit-engineering" item_state = "eng_hardsuit" + siemens_coefficient = 0 armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine @@ -304,7 +305,6 @@ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/bag/ore, /obj/item/pickaxe) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining/heavy custom_price = 4500 - slowdown = 0.5 /obj/item/clothing/head/helmet/space/hardsuit/mining/heavy name = "heavy mining helmet" @@ -386,13 +386,11 @@ if(on) linkedsuit.name = initial(linkedsuit.name) linkedsuit.desc = initial(linkedsuit.desc) - linkedsuit.slowdown = 1 linkedsuit.clothing_flags |= STOPSPRESSUREDAMAGE linkedsuit.cold_protection |= CHEST | GROIN | LEGS | FEET | ARMS | HANDS else linkedsuit.name += " (combat)" linkedsuit.desc = linkedsuit.alt_desc - linkedsuit.slowdown = linkedsuit.combat_slowdown linkedsuit.clothing_flags &= ~STOPSPRESSUREDAMAGE linkedsuit.cold_protection &= ~(CHEST | GROIN | LEGS | FEET | ARMS | HANDS) if(linkedsuit.lightweight) @@ -413,16 +411,16 @@ item_state = "syndie_hardsuit" hardsuit_type = "syndi" armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 90) - allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) + allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi jetpack = /obj/item/tank/jetpack/suit supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION - var/combat_slowdown = 0 //slowdown when in combat mode + slowdown = 0.5 var/lightweight = 0 //used for flags when toggling //Ramzi Syndie suit /obj/item/clothing/head/helmet/space/hardsuit/syndi/ramzi - name = "rusted-red hardsuit helmet" + name = "rust-red hardsuit helmet" desc = "A beat-up standardized dual-mode helmet derived from more advanced special operations helmets, its red rusted into a dirty brown. It is in EVA mode. Manufactured by Ramzi Clique." alt_desc = "A beat-up standardized dual-mode helmet derived from more advanced special operations helmets, its red rusted into a dirty brown. It is in combat mode. Manufactured by Ramzi Clique." icon_state = "hardsuit1-ramzi" @@ -431,17 +429,16 @@ armor = list("melee" = 35, "bullet" = 25, "laser" = 20,"energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) /obj/item/clothing/suit/space/hardsuit/syndi/ramzi - name = "rusted-red hardsuit" + name = "rust-red hardsuit" desc = "A beat-up standardized dual-mode hardsuit derived from more advanced special operations hardsuits, its red rusted into a dirty brown. It is in EVA mode. Manufactured by Ramzi Clique." alt_desc = "A beat-up standardized dual-mode hardsuit derived from more advanced special operations hardsuits, its red rusted into a dirty brown. It is in combat mode. Manufactured by Ramzi Clique." icon_state = "hardsuit1-ramzi" item_state = "hardsuit1-ramzi" hardsuit_type = "ramzi" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/ramzi - lightweight = 1 jetpack = null armor = list("melee" = 35, "bullet" = 25, "laser" = 20,"energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) - combat_slowdown = 0.5 + slowdown = 0.7 jetpack = null //Elite Syndie suit @@ -509,7 +506,6 @@ armor = list("melee" = 25, "bullet" = 25, "laser" = 35, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 65, "fire" = 75, "acid" = 40) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/cybersun/paramed supports_variations = VOX_VARIATION - combat_slowdown = 0.4 jetpack = null /obj/item/clothing/head/helmet/space/hardsuit/syndi/cybersun/paramed @@ -666,6 +662,7 @@ item_state = "sec_hardsuit" armor = list("melee" = 35, "bullet" = 15, "laser" = 30, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security + slowdown = 0.5 supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION /obj/item/clothing/suit/space/hardsuit/security/Initialize() @@ -734,23 +731,6 @@ item_state = "capspacesuit" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/swat/captain - //Clown -/obj/item/clothing/head/helmet/space/hardsuit/clown - name = "cosmohonk hardsuit helmet" - desc = "A special helmet designed for work in a hazardous, low-humor environment. Has radiation shielding." - icon_state = "hardsuit0-clown" - item_state = "hardsuit0-clown" - armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 60, "acid" = 30) - hardsuit_type = "clown" - -/obj/item/clothing/suit/space/hardsuit/clown - name = "cosmohonk hardsuit" - desc = "A special suit that protects against hazardous, low humor environments. Has radiation shielding. Only a true clown can wear it." - icon_state = "hardsuit-clown" - item_state = "clown_hardsuit" - armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 60, "acid" = 30) - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/clown - //Old Prototype /obj/item/clothing/head/helmet/space/hardsuit/ancient name = "prototype RIG hardsuit helmet" @@ -863,7 +843,7 @@ C.update_inv_wear_suit() /obj/item/clothing/suit/space/hardsuit/shielded/worn_overlays(isinhands) - . = list() + . = ..() if(!isinhands) . += mutable_appearance('icons/effects/effects.dmi', shield_state, MOB_LAYER + 0.01) @@ -936,9 +916,9 @@ item_state = "syndie_hardsuit" hardsuit_type = "syndi" armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100) - allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) + allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi - slowdown = 0 + slowdown = 0.5 shield_state = "shield-red" shield_on = "shield-red" jetpack = /obj/item/tank/jetpack/suit @@ -1045,7 +1025,7 @@ item_state = "independent_sec_helm" hardsuit_type = "independent-sec" armor = list("melee" = 35, "bullet" = 25, "laser" = 20,"energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) - supports_variations = VOX_VARIATION + supports_variations = VOX_VARIATION | SNOUTED_VARIATION /obj/item/clothing/suit/space/hardsuit/security/independent icon_state = "hardsuit-independent-sec" @@ -1056,7 +1036,7 @@ hardsuit_type = "independent-sec" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/independent armor = list("melee" = 35, "bullet" = 25, "laser" = 20, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) - supports_variations = VOX_VARIATION + supports_variations = VOX_VARIATION | DIGITIGRADE_VARIATION //Mining /obj/item/clothing/head/helmet/space/hardsuit/mining/independent @@ -1082,6 +1062,7 @@ icon_state = "space-independent-eng" item_state = "space-independent-eng" desc = "A civilian space suit designed for construction and salvage in hazardous, low-pressure environments. Has shielding against radiation and heat and abundant storage.
    Though they lack the physical protection of more expensive hardsuits, this type of suit is extremely common wherever construction and salvage work must be done in open space." + siemens_coefficient = 0 armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 20, "bomb" = 0, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo/large resistance_flags = FIRE_PROOF @@ -1106,7 +1087,7 @@ name = "pilot space suit" icon_state = "space-pilot" item_state = "space-pilot" - desc = "A lightweight, unarmored space suit designed for mech and fighter pilots. Special attachment points make mounting and dismounting from mechs much easier." + desc = "A lightweight, unarmored space suit designed for exosuit and shuttle pilots. Special attachment points make mounting and dismounting from exosuits much easier." clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | FAST_EMBARK pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo/large @@ -1114,7 +1095,7 @@ name = "pilot helmet" icon_state = "space-pilot-plain0" item_state = "space-pilot-plain" - desc = "A specialized space helmet designed for mech and fighter pilots. Offers limited impact protection." + desc = "A specialized space helmet designed for exosuit and shuttle pilots. Offers limited impact protection." var/skin = "plain" var/blurb = " Its simple design is quite ancient." up = FALSE @@ -1147,7 +1128,7 @@ if("corvid") blurb = " It is sloppily painted with thin teal and red paint. There are some dark stains on the lining..." - desc = "A specialized space helmet designed for mech and fighter pilots. Offers limited impact protection.[blurb]" + desc = "A specialized space helmet designed for exosuit and shuttle pilots. Offers limited impact protection.[blurb]" update_icon_state() /obj/item/clothing/head/helmet/space/pilot/random/New() @@ -1217,7 +1198,8 @@ item_state = "hardsuit_solgov" armor = list("melee" = 50, "bullet" = 45, "laser" = 40, "energy" = 30, "bomb" = 60, "bio" = 100, "rad" = 60, "fire" = 90, "acid" = 75) //intentionally the fucking strong, this is master chief-tier armor //is this really what you call the strong?? is this the best solgov has to offer?????? helmettype = /obj/item/clothing/head/helmet/space/hardsuit/solgov - slowdown = 0 + allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) + slowdown = 0.5 supports_variations = DIGITIGRADE_VARIATION /obj/item/clothing/head/helmet/space/hardsuit/quixote @@ -1241,7 +1223,7 @@ actions_types = list(/datum/action/item_action/toggle_helmet) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/quixote jetpack = /obj/item/tank/jetpack/suit - slowdown = 0 + slowdown = 0.3 max_heat_protection_temperature = 20000 var/datum/action/innate/quixotejump/jump diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 67dc7ce529b..8cf3da8547c 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -36,7 +36,7 @@ Contains: desc = "A prototype designed to replace the ageing MK.II SWAT suit. Based on the streamlined MK.II model, the traditional ceramic and graphene plate construction was replaced with plasteel, allowing superior armor against most threats. There's room for some kind of energy projection device on the back." icon_state = "deathsquad" item_state = "swat_suit" - allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/kitchen/knife/combat) + allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/melee/knife/combat) armor = list("melee" = 80, "bullet" = 80, "laser" = 50, "energy" = 60, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -50,7 +50,7 @@ Contains: desc = "A tactical space suit first developed in a joint effort by the defunct IS-ERI and Nanotrasen in 20XX for military space operations. A tried and true workhorse, it is very difficult to move in but offers robust protection against all threats!" icon_state = "heavy" item_state = "swat_suit" - allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/kitchen/knife/combat) + allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/melee/knife/combat) armor = list("melee" = 40, "bullet" = 30, "laser" = 30,"energy" = 40, "bomb" = 50, "bio" = 90, "rad" = 20, "fire" = 100, "acid" = 100) strip_delay = 120 resistance_flags = FIRE_PROOF | ACID_PROOF @@ -153,7 +153,7 @@ Contains: desc = "Yarr." w_class = WEIGHT_CLASS_NORMAL flags_inv = 0 - allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/melee/transforming/energy/sword/saber/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/reagent_containers/food/drinks/bottle/rum) + allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/melee/energy/sword/saber/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/reagent_containers/food/drinks/bottle/rum) slowdown = 0 armor = list("melee" = 30, "bullet" = 50, "laser" = 30,"energy" = 40, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 60, "acid" = 75) strip_delay = 40 @@ -363,7 +363,7 @@ Contains: armor = list("melee" = 30, "bullet" = 10, "laser" = 10, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 10, "fire" = 100, "acid" = 100) max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF - allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/spear, /obj/item/organ/regenerative_core/legion, /obj/item/kitchen/knife, /obj/item/kinetic_crusher, /obj/item/resonator, /obj/item/melee/transforming/cleaving_saw) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/melee/spear, /obj/item/organ/regenerative_core/legion, /obj/item/kinetic_crusher, /obj/item/resonator, /obj/item/melee/cleaving_saw) /obj/item/clothing/suit/space/hardsuit/berserker/RemoveHelmet() var/obj/item/clothing/head/helmet/space/hardsuit/berserker/helm = helmet @@ -489,7 +489,7 @@ Contains: desc = "A custom version of the MK.II SWAT suit, modified to look rugged and tough. Works as a space suit, if you can find a helmet." icon_state = "hunter" item_state = "swat_suit" - allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/kitchen/knife/combat) + allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/melee/knife/combat) armor = list("melee" = 60, "bullet" = 40, "laser" = 40, "energy" = 50, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) strip_delay = 130 resistance_flags = FIRE_PROOF | ACID_PROOF @@ -525,7 +525,7 @@ Contains: icon_state = "vacsuit_solgov" desc = "Originally designed by independent contractors on Luna for the purposes of survival in hazardous environments, the lightweight Tortoise Microlite Armored Suit now sees widespread use by SolGov's exploration teams." item_state = "vacsuit_solgov" - allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy, /obj/item/tank/internals) + allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy, /obj/item/tank/internals) armor = list("bio" = 100, "rad" = 50, "fire" = 60, "acid" = 75) slowdown = 0.5 w_class = WEIGHT_CLASS_NORMAL diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 43dc5a5dd8d..6f8269357eb 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -4,7 +4,7 @@ /obj/item/clothing/suit/space/eva/plasmaman name = "EVA plasma envirosuit" desc = "A special plasma containment suit designed to be space-worthy, as well as worn over other clothing. Like its smaller counterpart, it can automatically extinguish the wearer in a crisis, and holds twice as many charges." - allowed = list(/obj/item/gun, /obj/item/ammo_casing, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword, /obj/item/restraints/handcuffs, /obj/item/tank) + allowed = list(/obj/item/gun, /obj/item/ammo_casing, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/energy/sword, /obj/item/restraints/handcuffs, /obj/item/tank) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 0, "fire" = 100, "acid" = 75) resistance_flags = FIRE_PROOF icon_state = "plasmaman_suit" @@ -58,7 +58,7 @@ actions_types = list(/datum/action/item_action/toggle_helmet_light) visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR - flags_cover = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF + flags_cover = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF | SEALS_EYES visor_flags_inv = HIDEEYES|HIDEFACE // WS Begin - plasmeme command helmets buff - used for RD bomb scanner diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index e5a98c7215e..2b2660af4f9 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -4,7 +4,7 @@ icon_state = "syndicate" item_state = "syndicate" desc = "An advanced, lightweight space helmet made of durable composites. Almost matches integrated hardsuit helmets for protection. Almost." - armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 40, "bomb" = 20, "bio" = 100, "rad" = 30, "fire" = 75, "acid" = 75) + armor = list("melee" = 30, "bullet" = 15, "laser" = 30, "energy" = 40, "bomb" = 20, "bio" = 100, "rad" = 30, "fire" = 75, "acid" = 75) supports_variations = VOX_VARIATION /obj/item/clothing/suit/space/syndicate @@ -13,8 +13,11 @@ item_state = "space_suit_syndicate" desc = "A space suit made of high-grade ballistic fabric with integrated armor plates. More compact than a normal space suit while almost matching powered hardsuits for protection. Almost." w_class = WEIGHT_CLASS_NORMAL - allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) - armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 40, "bomb" = 20, "bio" = 100, "rad" = 30, "fire" = 75, "acid" = 75) + armor = list("melee" = 30, "bullet" = 15, "laser" = 30, "energy" = 40, "bomb" = 20, "bio" = 100, "rad" = 30, "fire" = 75, "acid" = 75) + +/obj/item/clothing/suit/space/syndicate/Initialize() + . = ..() + allowed = GLOB.security_hardsuit_allowed //Green syndicate space suit /obj/item/clothing/head/helmet/space/syndicate/green @@ -105,6 +108,7 @@ icon_state = "syndicate-helm-black-med" item_state = "syndicate-helm-black" + /obj/item/clothing/suit/space/syndicate/black/med name = "green space suit" icon_state = "syndicate-black-med" @@ -164,6 +168,7 @@ icon_state = "syndicate-black-engie" item_state = "syndicate-black" desc = "A space suit made of high-grade ballistic fabric with thermal and radiation shielding. More compact than a normal space suit while amost matching powered hardsuits for protection. Almost." + siemens_coefficient = 0 armor = list("melee" = 30, "bullet" = 10, "laser" = 10, "energy" = 40, "bomb" = 20, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/tank/internals, /obj/item/t_scanner, /obj/item/construction/rcd, /obj/item/pipe_dispenser) resistance_flags = FIRE_PROOF diff --git a/code/modules/clothing/suits/_suits.dm b/code/modules/clothing/suits/_suits.dm index 0e7edb63f06..cd8a24e20ae 100644 --- a/code/modules/clothing/suits/_suits.dm +++ b/code/modules/clothing/suits/_suits.dm @@ -9,7 +9,7 @@ drop_sound = 'sound/items/handling/cloth_drop.ogg' pickup_sound = 'sound/items/handling/cloth_pickup.ogg' slot_flags = ITEM_SLOT_OCLOTHING - var/blood_overlay_type = "suit" + blood_overlay_type = "suit" var/togglename = null var/suittoggled = FALSE pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo //WS Edit - Exowear Pockets @@ -19,14 +19,13 @@ mob_overlay_icon = 'icons/mob/clothing/suit.dmi' /obj/item/clothing/suit/worn_overlays(isinhands = FALSE) - . = list() + . = ..() if(!isinhands) if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damageduniform") if(HAS_BLOOD_DNA(src)) - var/mutable_appearance/bloody_armor = mutable_appearance('icons/effects/blood.dmi', "[blood_overlay_type]blood") - bloody_armor.color = get_blood_dna_color(return_blood_DNA()) - . += bloody_armor + . += setup_blood_overlay() + var/mob/living/carbon/human/M = loc if(ishuman(M) && M.w_uniform) var/obj/item/clothing/under/U = M.w_uniform diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 9dfd23210d9..f3fd5dc403a 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -2,7 +2,7 @@ icon = 'icons/obj/clothing/suits/armor.dmi' mob_overlay_icon = 'icons/mob/clothing/suits/armor.dmi' allowed = null - body_parts_covered = CHEST + body_parts_covered = CHEST|GROIN cold_protection = CHEST|GROIN min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT heat_protection = CHEST|GROIN @@ -11,7 +11,7 @@ equip_delay_other = 40 max_integrity = 250 resistance_flags = NONE - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) greyscale_colors = list(list(18, 19), list(13, 18), list(20, 15)) greyscale_icon_state = "armor" @@ -47,22 +47,32 @@ icon_state = "marine_light" item_state = "armor" clothing_flags = THICKMATERIAL - body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - armor = list("melee" = 50, "bullet" = 75, "laser" = 55, "energy" = 25, "bomb" = 60, "bio" = 100, "fire" = 70, "acid" = 50) - cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS + body_parts_covered = CHEST|GROIN + armor = list("melee" = 20, "bullet" = 45, "laser" = 45, "energy" = 25, "bomb" = 30, "bio" = 65, "fire" = 40, "acid" = 50) + cold_protection = CHEST|GROIN min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + heat_protection = CHEST|GROIN resistance_flags = FIRE_PROOF | ACID_PROOF supports_variations = VOX_VARIATION | DIGITIGRADE_VARIATION_NO_NEW_ICON - slowdown = 0.5 + slowdown = 0 //one day... /obj/item/clothing/suit/armor/vest/marine/medium name = "medium tactical armor vest" icon_state = "marine_medium" + body_parts_covered = CHEST|GROIN|LEGS|ARMS + cold_protection = CHEST|GROIN|LEGS|ARMS + heat_protection = CHEST|GROIN|LEGS|ARMS + armor = list("melee" = 35, "bullet" = 50, "laser" = 45, "energy" = 25, "bomb" = 30, "bio" = 75, "fire" = 40, "acid" = 50) + slowdown = 0.4 /obj/item/clothing/suit/armor/vest/marine/heavy - name = "large tactical armor vest" + name = "heavy tactical armor vest" icon_state = "marine_heavy" + body_parts_covered = CHEST|GROIN|LEGS|ARMS + cold_protection = CHEST|GROIN|LEGS|ARMS + heat_protection = CHEST|GROIN|LEGS|ARMS + armor = list("melee" = 60, "bullet" = 60, "laser" = 55, "energy" = 25, "bomb" = 50, "bio" = 75, "fire" = 40, "acid" = 50) + slowdown = 0.8 /obj/item/clothing/suit/armor/vest/old name = "degrading armor vest" @@ -81,7 +91,6 @@ desc = "A long, intimidating black coat. This one is reinforced and ideal for protecting its wearer from rain, sun, dust, and bullets." icon_state = "armor_duster" item_state = "duster_sec" - body_parts_covered = CHEST|GROIN|ARMS|LEGS cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS @@ -90,8 +99,7 @@ desc = "A greatcoat enhanced with a special alloy for some extra protection and style for those with a commanding presence." icon_state = "armor_hos" item_state = "greatcoat" - body_parts_covered = CHEST|GROIN|ARMS|LEGS - armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 90) + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 90) cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS strip_delay = 80 @@ -108,7 +116,6 @@ desc = "A black armored jacket with silver shoulder designations and '/Warden/' stitched into one of the chest pockets." icon_state = "armor_warden" item_state = "armor" - body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS|HANDS heat_protection = CHEST|GROIN|ARMS|HANDS strip_delay = 70 @@ -135,7 +142,6 @@ desc = "Lightly armored leather overcoat meant as casual wear for high-ranking officers. Bears the crest of Nanotrasen Security." icon_state = "armor_leathercoat-sec" item_state = "hostrench" - body_parts_covered = CHEST|GROIN|ARMS|LEGS cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS dog_fashion = null @@ -145,7 +151,6 @@ desc = "A fireproof armored chestpiece reinforced with ceramic plates and plasteel pauldrons to provide additional protection whilst still offering maximum mobility and flexibility. Issued only to NT's finest, although it does chafe your nipples." icon_state = "carapace_nt" item_state = "armor" - body_parts_covered = CHEST|GROIN armor = list("melee" = 50, "bullet" = 40, "laser" = 50, "energy" = 50, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 90) dog_fashion = null resistance_flags = FIRE_PROOF @@ -209,7 +214,6 @@ icon_state = "laserproof" item_state = "armor_reflec" blood_overlay_type = "armor" - body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS heat_protection = CHEST|GROIN|ARMS armor = list("melee" = 10, "bullet" = 10, "laser" = 60, "energy" = 60, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) @@ -283,7 +287,7 @@ desc = "A classic suit of plate armour, highly effective at stopping melee attacks." icon_state = "riot_knight_green" item_state = "riot_knight_green" - allowed = list(/obj/item/nullrod, /obj/item/claymore, /obj/item/banner, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/oxygen, /obj/item/tank/internals/plasmaman) + allowed = list(/obj/item/melee/sword/claymore, /obj/item/banner, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/oxygen, /obj/item/tank/internals/plasmaman) /obj/item/clothing/suit/armor/riot/knight/yellow icon_state = "riot_knight_yellow" @@ -330,7 +334,7 @@ icon_state = "armor_inteq_honorable_battlecoat" item_state = "inteq_honorable_battlecoat" armor = list("melee" = 40, "bullet" = 50, "laser" = 50, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 90) - supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON + supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION /obj/item/clothing/suit/armor/inteq/corpsman name = "inteq corpsman vest" @@ -360,28 +364,37 @@ /obj/item/melee/baton, ) -/obj/item/clothing/suit/armor/vest/bulletproof/solgov +/obj/item/clothing/suit/armor/vest/solgov name = "\improper Sonnensoldner gambison" desc = "A standard armor vest fielded for SolGov's Sonnensoldners." icon_state = "solgov_gambison" item_state = "solgov_gambison" supports_variations = DIGITIGRADE_VARIATION + body_parts_covered = CHEST|GROIN + cold_protection = CHEST|GROIN|ARMS + heat_protection = CHEST|GROIN|ARMS -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/overseer +/obj/item/clothing/suit/armor/vest/solgov/overseer name = "\improper SolGov Overseer robe" desc = "An elaborately designed robe utilized by SolGov overseers." icon_state = "solgov_overseer_robe" item_state = "solgov_overseer_robe" supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + cold_protection = CHEST|GROIN|LEGS|ARMS + heat_protection = CHEST|GROIN|LEGS|ARMS -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/captain +/obj/item/clothing/suit/armor/vest/solgov/captain name = "\improper SolGov Captain coat" desc = "An armored coat typically used by SolGov captains." icon_state = "solgov_coat" item_state = "solgov_coat" supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON + armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + cold_protection = CHEST|GROIN|LEGS|ARMS + heat_protection = CHEST|GROIN|LEGS|ARMS -/obj/item/clothing/suit/armor/vest/bulletproof/solgov/Initialize() +/obj/item/clothing/suit/armor/vest/solgov/Initialize() . = ..() allowed |= list(/obj/item/gun/ballistic/automatic/assault/swiss_cheese, /obj/item/tank) @@ -397,13 +410,6 @@ icon_state = "armor_syndie" item_state = "syndiearmor" -/obj/item/clothing/suit/armor/vest/scrap_armor - name = "scrap armor" - desc = "An 'armor' vest consisting of sheet metal held together with cable. Who thought this was a good idea?" - icon_state = "scraparmor" - item_state = "scraparmor" - armor = list("melee" = 5) - /obj/item/clothing/suit/armor/curator name = "treasure hunter's coat" desc = "Both fashionable and lightly armoured, this jacket is favoured by treasure hunters the galaxy over." @@ -421,7 +427,6 @@ desc = "A solgov official's trenchcoat. Has a lot of pockets." icon_state = "armor_solgov_trenchcoat" item_state = "trenchcoat_solgov" - body_parts_covered = CHEST|LEGS|ARMS armor = list("melee" = 25, "bullet" = 10, "laser" = 25, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) cold_protection = CHEST|LEGS|ARMS heat_protection = CHEST|LEGS|ARMS @@ -430,7 +435,6 @@ //JACKETS /obj/item/clothing/suit/armor/vest/security item_state = "armor" - body_parts_covered = CHEST|ARMS cold_protection = CHEST|GROIN|ARMS|HANDS heat_protection = CHEST|GROIN|ARMS|HANDS strip_delay = 70 @@ -441,32 +445,27 @@ name = "security officer's jacket" desc = "This jacket is for those special occasions when a security officer isn't required to wear their armor." icon_state = "armor_officerjacket" - body_parts_covered = CHEST|ARMS /obj/item/clothing/suit/armor/vest/security/warden name = "warden's jacket" desc = "Perfectly suited for the warden that wants to leave an impression of style on those who visit the brig." icon_state = "armor_warden" - body_parts_covered = CHEST|ARMS /obj/item/clothing/suit/armor/vest/security/hos name = "head of security's jacket" desc = "This piece of clothing was specifically designed for asserting superior authority." icon_state = "armor_hosjacket" - body_parts_covered = CHEST|ARMS /obj/item/clothing/suit/armor/vest/security/brig_phys name = "brig physician's jacket" desc = "A black jacket with dark blue and silver accents, for the brig physician to prove they're a real member of security in style." icon_state = "armor_brigphysjacket" - body_parts_covered = CHEST|ARMS /obj/item/clothing/suit/toggle/armor/vest/centcom_formal name = "\improper CentCom formal coat" desc = "A stylish coat given to CentCom Commanders. Perfect for sending ERTs to suicide missions with style!" icon_state = "centcom_formal" item_state = "centcom" - body_parts_covered = CHEST|GROIN|ARMS armor = list("melee" = 35, "bullet" = 40, "laser" = 40, "energy" = 50, "bomb" = 35, "bio" = 10, "rad" = 10, "fire" = 10, "acid" = 60) togglename = "buttons" diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index 1131c4e9166..c62d0e92b8c 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -8,7 +8,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 20, "fire" = 30, "acid" = 100) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR|HIDEFACE resistance_flags = ACID_PROOF - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES /obj/item/clothing/suit/bio_suit name = "bio suit" @@ -98,4 +98,4 @@ /obj/item/clothing/suit/bio_suit/plaguedoctorsuit/Initialize() . = ..() - allowed += list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/cane) + allowed += list(/obj/item/storage/book/bible, /obj/item/cane) diff --git a/code/modules/clothing/suits/chaplainsuits.dm b/code/modules/clothing/suits/chaplainsuits.dm index 58802e01b8a..30436045da2 100644 --- a/code/modules/clothing/suits/chaplainsuits.dm +++ b/code/modules/clothing/suits/chaplainsuits.dm @@ -1,73 +1,7 @@ //Chaplain Suit Subtypes //If any new staple chaplain items get added, put them in these lists /obj/item/clothing/suit/chaplainsuit - allowed = list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) + allowed = list(/obj/item/storage/book/bible, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) /obj/item/clothing/suit/hooded/chaplainsuit - allowed = list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) - -//Suits -/obj/item/clothing/suit/chaplainsuit/holidaypriest - name = "holiday priest" - desc = "This is a nice holiday, my son." - icon_state = "holidaypriest" - item_state = "w_suit" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - flags_inv = HIDEJUMPSUIT - -/obj/item/clothing/suit/chaplainsuit/nun - name = "nun robe" - desc = "Maximum piety in this star system." - icon_state = "nun" - item_state = "nun" - body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS - flags_inv = HIDESHOES|HIDEJUMPSUIT - -/obj/item/clothing/suit/chaplainsuit/bishoprobe - name = "bishop's robes" - desc = "Glad to see the tithes you collected were well spent." - icon_state = "bishoprobe" - item_state = "bishoprobe" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - flags_inv = HIDEJUMPSUIT - -/obj/item/clothing/suit/hooded/chaplainsuit/monkhabit - name = "monk's habit" - desc = "A few steps above rended sackcloth." - icon_state = "monkfrock" - item_state = "monkfrock" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - hoodtype = /obj/item/clothing/head/hooded/monkhabit - -/obj/item/clothing/head/hooded/monkhabit - name = "monk's hood" - desc = "For when a man wants to cover up his tonsure." - icon_state = "monkhood" - item_state = "monkhood" - body_parts_covered = HEAD - flags_inv = HIDEHAIR|HIDEEARS - -/obj/item/clothing/suit/chaplainsuit/monkrobeeast - name = "eastern monk's robes" - desc = "Best combined with a shaved head." - icon_state = "monkrobeeast" - item_state = "monkrobeeast" - body_parts_covered = GROIN|LEGS - flags_inv = HIDEJUMPSUIT - -/obj/item/clothing/suit/chaplainsuit/whiterobe - name = "white robe" - desc = "Good for clerics and sleepy crewmembers." - icon_state = "whiterobe" - item_state = "whiterobe" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - flags_inv = HIDEJUMPSUIT - -/obj/item/clothing/suit/chaplainsuit/clownpriest - name = "Robes of the Honkmother" - desc = "Meant for a clown of the cloth." - icon_state = "clownpriest" - item_state = "clownpriest" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - flags_inv = HIDEJUMPSUIT - allowed = list(/obj/item/megaphone/clown, /obj/item/soap, /obj/item/reagent_containers/food/snacks/pie/cream, /obj/item/bikehorn, /obj/item/bikehorn/golden, /obj/item/bikehorn/airhorn, /obj/item/instrument/bikehorn, /obj/item/reagent_containers/food/drinks/soda_cans/canned_laughter, /obj/item/toy/crayon, /obj/item/toy/crayon/spraycan, /obj/item/toy/crayon/spraycan/lubecan, /obj/item/grown/bananapeel, /obj/item/reagent_containers/food/snacks/grown/banana) + allowed = list(/obj/item/storage/book/bible, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm index 4e3f6d5e3a9..1524a4aa646 100644 --- a/code/modules/clothing/suits/cloaks.dm +++ b/code/modules/clothing/suits/cloaks.dm @@ -5,7 +5,6 @@ desc = "It's a cape that can be worn around your neck." icon = 'icons/obj/clothing/cloaks.dmi' icon_state = "qmcloak" - item_state = "qmcloak" w_class = WEIGHT_CLASS_SMALL body_parts_covered = CHEST|GROIN|LEGS|ARMS flags_inv = HIDESUITSTORAGE @@ -76,7 +75,7 @@ name = "goliath cloak" icon_state = "goliath_cloak" desc = "A staunch, practical cape made out of numerous monster materials, it is coveted amongst exiles & hermits." - allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/spear, /obj/item/organ/regenerative_core/legion, /obj/item/kitchen/knife/combat/bone, /obj/item/kitchen/knife/combat/survival) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/melee/spear, /obj/item/organ/regenerative_core/legion, /obj/item/melee/knife/bone, /obj/item/melee/knife/survival) armor = list("melee" = 35, "bullet" = 10, "laser" = 25, "energy" = 35, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60) //a fair alternative to bone armor, requiring alternative materials and gaining a suit slot hoodtype = /obj/item/clothing/head/hooded/cloakhood/goliath body_parts_covered = CHEST|GROIN|ARMS @@ -94,7 +93,7 @@ name = "drake armour" icon_state = "dragon" desc = "A suit of armour fashioned from the remains of an ash drake." - allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe, /obj/item/spear) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe, /obj/item/melee/spear) armor = list("melee" = 50, "bullet" = 10, "laser" = 40, "energy" = 50, "bomb" = 50, "bio" = 60, "rad" = 50, "fire" = 100, "acid" = 100) hoodtype = /obj/item/clothing/head/hooded/cloakhood/drake heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -180,19 +179,3 @@ resistance_flags = NONE flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE flags_cover = HEADCOVERSEYES - -/obj/item/clothing/suit/hooded/cloak/goliath/polar - name = "polar cloak" - icon_state = "polarcloak" - hoodtype = /obj/item/clothing/head/hooded/cloakhood/goliath/polar - desc = "A tribal hood made from a polar bears pelt. Keeps it's wearer warm and looks badass while doing it." - min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS - -/obj/item/clothing/head/hooded/cloakhood/goliath/polar - name = "polar cloak" - icon_state = "hoodie_gray" - mob_overlay_state = "polhood" - desc = "Wear bear on head show little man you big man, kill bear for cloak." - min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - cold_protection = HEAD diff --git a/code/modules/clothing/suits/hoodies.dm b/code/modules/clothing/suits/hoodies.dm index f58d445c53f..e1507af5c22 100644 --- a/code/modules/clothing/suits/hoodies.dm +++ b/code/modules/clothing/suits/hoodies.dm @@ -1,6 +1,7 @@ /obj/item/clothing/suit/hooded/hoodie name = "hoodie" desc = "HOW" + icon_state = null hoodtype = /obj/item/clothing/head/hooded/hood body_parts_covered = CHEST|ARMS pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo/large @@ -11,6 +12,7 @@ /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/radio, + /obj/item/storage/pill_bottle ) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) //it's just a hoodie. supports_variations = KEPORI_VARIATION @@ -18,6 +20,9 @@ /obj/item/clothing/head/hooded/hood name = "hood" desc = "HOW" + icon_state = null + icon = 'icons/obj/clothing/head/winterhood.dmi' + mob_overlay_icon = 'icons/mob/clothing/head/winterhood.dmi' body_parts_covered = HEAD flags_inv = HIDEHAIR|HIDEEARS armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) //it's just a hoodie. @@ -115,3 +120,9 @@ icon_state = "hoodie_rilena" item_state = "hoodie_rilena" +/obj/item/clothing/suit/hooded/hoodie/blackwa + name = "black and white hoodie" + desc = "A hoodie that is black, with a white hood. It has a comfy pocket for keeping your hands warm." + icon_state = "hoodie_bwa" + item_state = "hoodie_bwa" + hoodtype = /obj/item/clothing/head/hooded/hood/gray diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 56018c288b6..03822d3f7a1 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -114,6 +114,8 @@ item_state = "highvis" blood_overlay_type = "coat" body_parts_covered = CHEST|ARMS + cold_protection = CHEST|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT togglename = "zipper" allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/t_scanner, /obj/item/radio) resistance_flags = NONE @@ -194,7 +196,7 @@ //Mime /obj/item/clothing/suit/toggle/suspenders name = "suspenders" - desc = "They suspend the illusion of the mime's play." + desc = "The symbol of hard labor and dirty jobs." icon = 'icons/obj/clothing/belts.dmi' icon_state = "suspenders" blood_overlay_type = "armor" //it's the less thing that I can put here @@ -205,7 +207,7 @@ name = "surgical apron" desc = "A sterile blue surgical apron." icon_state = "surgical" - allowed = list(/obj/item/scalpel, /obj/item/cautery, /obj/item/hemostat, /obj/item/retractor) + allowed = MEDICAL_SUIT_ALLOWED_ITEMS //SolGov suits @@ -268,24 +270,6 @@ icon_state = "coat_terragov" item_state = "coat_terragov" -/obj/item/clothing/suit/hooded/enginseer - name = "enginseer regalia" - desc = "You hold the secrets of the Machine." - icon_state = "enginseer" - item_state = "enginseer" - hoodtype = /obj/item/clothing/head/hooded/enginseer - body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS - flags_inv = HIDESHOES|HIDEJUMPSUIT|HIDEGLOVES - allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/gun, /obj/item/melee, /obj/item/nullrod, /obj/item/radio, /obj/item/storage/book) - -/obj/item/clothing/head/hooded/enginseer - name = "enginseer's hood" - desc = "You are honored that they require your skills." - icon_state = "enginseerhood" - item_state = "enginseerhood" - body_parts_covered = HEAD - flags_inv = HIDEHAIR|HIDEEARS|HIDEFACE|HIDEFACIALHAIR - /obj/item/clothing/suit/armor/witchhunter name = "witchunter garb" desc = "This worn outfit saw much use back in the day." diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index 858b494564e..51d0f1eb08b 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -5,7 +5,7 @@ item_state = "labcoat" blood_overlay_type = "coat" body_parts_covered = CHEST|ARMS|GROIN - allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/soap, /obj/item/sensor_device, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) + allowed = MEDICAL_SUIT_ALLOWED_ITEMS armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 50, "rad" = 0, "fire" = 50, "acid" = 50) togglename = "buttons" @@ -59,11 +59,11 @@ armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0, fire = 50, acid = 50) /obj/item/clothing/suit/toggle/labcoat/raincoat - name = "\improper Cybersun labcoat" - desc = {"A translucent, uniquely designed labcoat from Cybersun Solutions. It's made from a special material that actively repels fluids. + name = "translucent labcoat" + desc = {"A uniquely designed, translucent labcoat. It's made from a special material that actively repels fluids. You're pretty sure this is just a raincoat. -Wearing a raincoat inside is like wearing sunglasses at night. A good Cybersun exec does both. +Wearing a raincoat inside is like wearing sunglasses at night. A good chemist does both. "} icon_state = "raincoat" item_state = "raincoat" @@ -75,7 +75,7 @@ You're pretty sure this is just a raincoat. mob_overlay_icon = 'icons/mob/clothing/suits/utility.dmi' icon_state = "labcoat_long" item_state = "labcoat" - allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/soap, /obj/item/sensor_device, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) + allowed = MEDICAL_SUIT_ALLOWED_ITEMS armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 50, "rad" = 0, "fire" = 50, "acid" = 50) togglename = "buttons" diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index c049402c550..4238e45dbce 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -31,27 +31,13 @@ /* * Costume */ -/obj/item/clothing/suit/hooded/flashsuit - name = "flashy costume" - desc = "What did you expect?" - icon_state = "flashsuit" - item_state = "armor" - body_parts_covered = CHEST|GROIN - hoodtype = /obj/item/clothing/head/hooded/flashsuit - -/obj/item/clothing/head/hooded/flashsuit - name = "flash button" - desc = "You will learn to fear the flash." - icon_state = "flashsuit" - body_parts_covered = HEAD - flags_inv = HIDEHAIR|HIDEEARS|HIDEFACIALHAIR|HIDEFACE|HIDEMASK /obj/item/clothing/suit/pirate name = "pirate coat" desc = "Yarr." icon_state = "pirate" item_state = "pirate" - allowed = list(/obj/item/melee/transforming/energy/sword/saber/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/reagent_containers/food/drinks/bottle/rum) + allowed = list(/obj/item/melee/energy/sword/saber/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/reagent_containers/food/drinks/bottle/rum) /obj/item/clothing/suit/pirate/captain name = "pirate captain coat" @@ -59,27 +45,6 @@ icon_state = "hgpirate" item_state = "hgpirate" - -/obj/item/clothing/suit/cyborg_suit - name = "cyborg suit" - desc = "Suit for a cyborg costume." - icon_state = "death" - item_state = "death" - mob_overlay_state = "cardborg" - flags_1 = CONDUCT_1 - fire_resist = T0C+5200 - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - - -/obj/item/clothing/suit/justice - name = "justice suit" - desc = "this pretty much looks ridiculous" //Needs no fixing - icon_state = "justice" - item_state = "justice" - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) - - /obj/item/clothing/suit/judgerobe name = "judge's robe" desc = "This robe commands authority." @@ -116,42 +81,6 @@ flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT resistance_flags = NONE -/obj/item/clothing/suit/hastur - name = "\improper Hastur's robe" - desc = "Robes not meant to be worn by man." - icon_state = "hastur" - item_state = "hastur" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - - -/obj/item/clothing/suit/imperium_monk - name = "\improper Imperium monk suit" - desc = "Have YOU killed a xeno today?" - icon_state = "imperium_monk" - item_state = "imperium_monk" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - flags_inv = HIDESHOES|HIDEJUMPSUIT - allowed = list(/obj/item/storage/book/bible, /obj/item/nullrod, /obj/item/reagent_containers/food/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen) - - -/obj/item/clothing/suit/chickensuit - name = "chicken suit" - desc = "A suit made long ago by the ancient empire KFC." - icon_state = "chickensuit" - item_state = "chickensuit" - body_parts_covered = CHEST|ARMS|GROIN|LEGS|FEET - flags_inv = HIDESHOES|HIDEJUMPSUIT - - -/obj/item/clothing/suit/monkeysuit - name = "monkey suit" - desc = "A suit that looks like a primate." - icon_state = "monkeysuit" - item_state = "monkeysuit" - body_parts_covered = CHEST|ARMS|GROIN|LEGS|FEET|HANDS - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - /obj/item/clothing/suit/toggle/owlwings name = "owl cloak" desc = "A soft brown cloak made of synthetic feathers. Soft to the touch, stylish, and a 2 meter wing span that will drive the ladies mad." @@ -208,42 +137,6 @@ body_parts_covered = CHEST|GROIN flags_inv = HIDEJUMPSUIT -/obj/item/clothing/suit/poncho - name = "poncho" - desc = "Your classic, non-racist poncho." - icon_state = "classicponcho" - item_state = "classicponcho" - -/obj/item/clothing/suit/poncho/green - name = "green poncho" - desc = "Your classic, non-racist poncho. This one is green." - icon_state = "greenponcho" - item_state = "greenponcho" - -/obj/item/clothing/suit/poncho/red - name = "red poncho" - desc = "Your classic, non-racist poncho. This one is red." - icon_state = "redponcho" - item_state = "redponcho" - -/obj/item/clothing/suit/poncho/ponchoshame - name = "poncho of shame" - desc = "Forced to live on your shameful acting as a fake Mexican, you and your poncho have grown inseparable. Literally." - icon_state = "ponchoshame" - item_state = "ponchoshame" - -/obj/item/clothing/suit/poncho/ponchoshame/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, SHAMEBRERO_TRAIT) - -/obj/item/clothing/suit/whitedress - name = "white dress" - desc = "A fancy white dress." - icon_state = "white_dress" - item_state = "w_suit" - body_parts_covered = CHEST|GROIN|LEGS|FEET - flags_inv = HIDEJUMPSUIT|HIDESHOES - /obj/item/clothing/suit/hooded/carp_costume name = "carp costume" desc = "A costume made from 'synthetic' carp scales, it smells." @@ -274,44 +167,6 @@ if (user.head == src) user.faction -= "carp" -/obj/item/clothing/suit/hooded/ian_costume //It's Ian, rub his bell- oh god what happened to his inside parts? - name = "corgi costume" - desc = "A costume that looks like someone made a human-like corgi, it won't guarantee belly rubs." - icon_state = "ian" - item_state = "labcoat" - body_parts_covered = CHEST|GROIN|ARMS - //cold_protection = CHEST|GROIN|ARMS - //min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - allowed = list() - hoodtype = /obj/item/clothing/head/hooded/ian_hood - dog_fashion = /datum/dog_fashion/back - -/obj/item/clothing/head/hooded/ian_hood - name = "corgi hood" - desc = "A hood that looks just like a corgi's head, it won't guarantee dog biscuits." - icon_state = "ian" - body_parts_covered = HEAD - //cold_protection = HEAD - //min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - flags_inv = HIDEHAIR|HIDEEARS - -/obj/item/clothing/suit/hooded/bee_costume // It's Hip! - name = "bee costume" - desc = "Bee the true Queen!" - icon_state = "bee" - item_state = "labcoat" - body_parts_covered = CHEST|GROIN|ARMS - clothing_flags = THICKMATERIAL - hoodtype = /obj/item/clothing/head/hooded/bee_hood - -/obj/item/clothing/head/hooded/bee_hood - name = "bee hood" - desc = "A hood attached to a bee costume." - icon_state = "bee" - body_parts_covered = HEAD - clothing_flags = THICKMATERIAL - flags_inv = HIDEHAIR|HIDEEARS - /obj/item/clothing/suit/hooded/bloated_human //OH MY GOD WHAT HAVE YOU DONE!?!?!? name = "bloated human suit" desc = "A horribly bloated suit made from human skins." @@ -333,14 +188,6 @@ flags_cover = HEADCOVERSEYES flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR -/obj/item/clothing/suit/shrine_maiden - name = "shrine maiden's outfit" - desc = "Makes you want to exterminate some troublesome youkai." - icon_state = "shrine_maiden" - item_state = "shrine_maiden" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - flags_inv = HIDEJUMPSUIT - /* * Misc */ @@ -378,18 +225,6 @@ icon_state = "nerdshirt" item_state = "nerdshirt" -/obj/item/clothing/suit/vapeshirt //wearing this is asking to get beat. - name = "Vape Naysh shirt" - desc = "A cheap white T-shirt with a big tacky \"VN\" on the front, Why would you wear this unironically?" - icon_state = "vapeshirt" - item_state = "vapeshirt" - -/obj/item/clothing/suit/striped_sweater - name = "striped sweater" - desc = "Reminds you of someone, but you just can't put your finger on it..." - icon_state = "waldo_shirt" - item_state = "waldo_shirt" - /obj/item/clothing/suit/jacket name = "bomber jacket" desc = "Aviators not included." @@ -409,13 +244,6 @@ max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/revolver, /obj/item/gun/ballistic/revolver/detective, /obj/item/radio) -/obj/item/clothing/suit/jacket/leather/overcoat - name = "leather overcoat" - desc = "That's a damn fine coat." - icon_state = "leathercoat" - body_parts_covered = CHEST|GROIN|ARMS|LEGS - cold_protection = CHEST|GROIN|ARMS|LEGS - /obj/item/clothing/suit/jacket/leather/duster name = "leather duster" desc = "A long, utilitarian leather coat. Ideal for protecting its wearer from rain, sun, and dust." @@ -484,40 +312,12 @@ icon_state = "letterman_n" item_state = "letterman_n" -/obj/item/clothing/suit/dracula - name = "dracula coat" - desc = "Looks like this belongs in a very old movie set." - icon_state = "draculacoat" - item_state = "draculacoat" - -/obj/item/clothing/suit/drfreeze_coat - name = "doctor freeze's labcoat" - desc = "A labcoat imbued with the power of features and freezes." - icon_state = "drfreeze_coat" - item_state = "drfreeze_coat" - /obj/item/clothing/suit/gothcoat name = "gothic coat" desc = "Perfect for those who want to stalk around a corner of a bar." icon_state = "gothcoat" item_state = "gothcoat" -/obj/item/clothing/suit/xenos - name = "xenos suit" - desc = "A suit made out of chitinous alien hide." - icon_state = "xenos" - item_state = "xenos_helm" - body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - allowed = list(/mob/living/simple_animal/hostile/facehugger/toy) - -/obj/item/clothing/suit/nemes - name = "pharoah tunic" - desc = "Lavish space tomb not included." - icon_state = "pharoah" - item_state = "pharoah" - body_parts_covered = CHEST|GROIN - /obj/item/clothing/suit/caution name = "wet floor sign" desc = "No running." @@ -534,34 +334,6 @@ attack_verb = list("warned", "cautioned", "smashed") armor = list("melee" = 5, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) -/obj/item/clothing/suit/changshan_red - name = "red changshan" - desc = "A gorgeously embroidered silk shirt." - icon_state = "changshan_red" - item_state = "changshan_red" - body_parts_covered = CHEST|GROIN|ARMS|LEGS - -/obj/item/clothing/suit/changshan_blue - name = "blue changshan" - desc = "A gorgeously embroidered silk shirt." - icon_state = "changshan_blue" - item_state = "changshan_blue" - body_parts_covered = CHEST|GROIN|ARMS|LEGS - -/obj/item/clothing/suit/cheongsam_red - name = "red cheongsam" - desc = "A gorgeously embroidered silk dress." - icon_state = "cheongsam_red" - item_state = "cheongsam_red" - body_parts_covered = CHEST|GROIN|ARMS|LEGS - -/obj/item/clothing/suit/cheongsam_blue - name = "blue cheongsam" - desc = "A gorgeously embroidered silk dress." - icon_state = "cheongsam_blue" - item_state = "cheongsam_blue" - body_parts_covered = CHEST|GROIN|ARMS|LEGS - /obj/item/clothing/head/hooded/ablative name = "ablative hood" desc = "Hood hopefully belonging to an ablative trenchcoat. Includes a visor for cool-o-vision." @@ -612,20 +384,6 @@ if (prob(hit_reflect_chance)) return TRUE -/obj/item/clothing/suit/spookyghost - name = "spooky ghost" - desc = "This is obviously just a bedsheet, but maybe try it on?" - icon_state = "bedsheet" - user_vars_to_edit = list("name" = "Spooky Ghost", "real_name" = "Spooky Ghost" , "incorporeal_move" = INCORPOREAL_MOVE_BASIC, "appearance_flags" = KEEP_TOGETHER|TILE_BOUND, "alpha" = 150) - alternate_worn_layer = ABOVE_BODY_FRONT_LAYER //so the bedsheet goes over everything but fire - -/obj/item/clothing/suit/bronze - name = "bronze suit" - desc = "A big and clanky suit made of bronze that offers no protection and looks very unfashionable. Nice." - icon = 'icons/obj/clothing/clockwork_garb.dmi' - icon_state = "clockwork_cuirass_old" - armor = list("melee" = 5, "bullet" = 0, "laser" = -5, "energy" = -15, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 20) - /obj/item/clothing/suit/ghost_sheet name = "ghost sheet" desc = "The hands float by themselves, so it's extra spooky." @@ -650,40 +408,8 @@ icon = 'icons/obj/clothing/belts.dmi' icon_state = "suspenders_gray" -/obj/item/clothing/suit/hooded/mysticrobe - name = "mystic's robe" - desc = "Wearing this makes you feel more attuned with the nature of the universe... as well as a bit more irresponsible. " - icon_state = "mysticrobe" - item_state = "mysticrobe" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - allowed = list(/obj/item/spellbook, /obj/item/storage/book/bible) - flags_inv = HIDEJUMPSUIT - hoodtype = /obj/item/clothing/head/hooded/mysticrobe - -/obj/item/clothing/head/hooded/mysticrobe - name = "mystic's hood" - desc = "The balance of reality tips towards order." - icon_state = "mystichood" - item_state = "mystichood" - body_parts_covered = HEAD - flags_inv = HIDEHAIR|HIDEEARS|HIDEFACIALHAIR|HIDEFACE|HIDEMASK - /obj/item/clothing/suit/hawaiian name = "floral shirt" desc = "From grills to guns, this shirt's seen it all." icon_state = "hawaiian_blue" item_state = "hawaiian_blue" - -/obj/item/clothing/suit/yakuza - name = "tojo clan jacket" - desc = "The jacket of a mad dog." - icon_state = "MajimaJacket" - item_state = "MajimaJacket" - body_parts_covered = ARMS - -/obj/item/clothing/suit/dutch - name = "dutch's jacket" - desc = "For those long nights on the beach in Tahiti." - icon_state = "DutchJacket" - item_state = "DutchJacket" - body_parts_covered = ARMS diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index ac91351c232..88661d6b835 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -67,7 +67,7 @@ max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT strip_delay = 70 equip_delay_other = 70 - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES resistance_flags = NONE @@ -126,7 +126,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 60, "rad" = 100, "fire" = 30, "acid" = 30) strip_delay = 60 equip_delay_other = 60 - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES resistance_flags = NONE flags_1 = RAD_PROTECT_CONTENTS_1 supports_variations = VOX_VARIATION diff --git a/code/modules/clothing/suits/wintercoats.dm b/code/modules/clothing/suits/wintercoats.dm index 9b141148e5a..29faddfdd49 100644 --- a/code/modules/clothing/suits/wintercoats.dm +++ b/code/modules/clothing/suits/wintercoats.dm @@ -12,14 +12,16 @@ body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - allowed = list( - /obj/item/flashlight, - /obj/item/tank/internals/emergency_oxygen, - /obj/item/tank/internals/plasmaman, - /obj/item/toy, - /obj/item/storage/fancy/cigarettes, - /obj/item/lighter, - ) + pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo/large + allowed = list( /obj/item/flashlight, + /obj/item/tank/internals/emergency_oxygen, + /obj/item/tank/internals/plasmaman, + /obj/item/toy, + /obj/item/storage/fancy/cigarettes, + /obj/item/lighter, + /obj/item/radio, + /obj/item/storage/pill_bottle + ) /obj/item/clothing/head/hooded/winterhood name = "winter hood" @@ -63,28 +65,7 @@ icon_state = "coatmedical" item_state = "coatmedical" hoodtype = /obj/item/clothing/head/hooded/winterhood/medical - allowed = list( - /obj/item/analyzer, - /obj/item/sensor_device, - /obj/item/stack/medical, - /obj/item/dnainjector, - /obj/item/reagent_containers/dropper, - /obj/item/reagent_containers/syringe, - /obj/item/reagent_containers/hypospray, - /obj/item/healthanalyzer, - /obj/item/flashlight/pen, - /obj/item/reagent_containers/glass/bottle, - /obj/item/reagent_containers/glass/beaker, - /obj/item/reagent_containers/pill, - /obj/item/storage/pill_bottle, - /obj/item/paper, - /obj/item/melee/classic_baton/telescopic, - /obj/item/toy, - /obj/item/storage/fancy/cigarettes, - /obj/item/lighter, - /obj/item/tank/internals/emergency_oxygen, - /obj/item/tank/internals/plasmaman, - ) + allowed = MEDICAL_SUIT_ALLOWED_ITEMS /obj/item/clothing/head/hooded/winterhood/medical icon_state = "hood_medical" diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index 451d428760f..e0d7f1c7e12 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -11,47 +11,6 @@ resistance_flags = FIRE_PROOF | ACID_PROOF dog_fashion = /datum/dog_fashion/head/blue_wizard -/obj/item/clothing/head/wizard/red - name = "red wizard hat" - desc = "Strange-looking red hat-wear that most certainly belongs to a real magic user." - icon_state = "redwizard" - dog_fashion = /datum/dog_fashion/head/red_wizard - -/obj/item/clothing/head/wizard/yellow - name = "yellow wizard hat" - desc = "Strange-looking yellow hat-wear that most certainly belongs to a powerful magic user." - icon_state = "yellowwizard" - dog_fashion = null - -/obj/item/clothing/head/wizard/black - name = "black wizard hat" - desc = "Strange-looking black hat-wear that most certainly belongs to a real skeleton. Spooky." - icon_state = "blackwizard" - dog_fashion = null - -/obj/item/clothing/head/wizard/fake - name = "wizard hat" - desc = "It has WIZZARD written across it in sequins. Comes with a cool beard." - icon_state = "wizard-fake" - gas_transfer_coefficient = 1 - permeability_coefficient = 1 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - resistance_flags = FLAMMABLE - dog_fashion = /datum/dog_fashion/head/blue_wizard - -/obj/item/clothing/head/wizard/marisa - name = "witch hat" - desc = "Strange-looking hat-wear. Makes you want to cast fireballs." - icon_state = "marisa" - dog_fashion = null - -/obj/item/clothing/head/wizard/magus - name = "\improper Magus helm" - desc = "A mysterious helmet that hums with an unearthly power." - icon_state = "magus" - item_state = "magus" - dog_fashion = null - /obj/item/clothing/head/wizard/santa name = "Santa's hat" desc = "Ho ho ho. Merrry X-mas!" @@ -76,78 +35,12 @@ equip_delay_other = 50 resistance_flags = FIRE_PROOF | ACID_PROOF -/obj/item/clothing/suit/wizrobe/red - name = "red wizard robe" - desc = "A magnificent red gem-lined robe that seems to radiate power." - icon_state = "redwizard" - item_state = "redwizrobe" - -/obj/item/clothing/suit/wizrobe/yellow - name = "yellow wizard robe" - desc = "A magnificent yellow gem-lined robe that seems to radiate power." - icon_state = "yellowwizard" - item_state = "yellowwizrobe" - -/obj/item/clothing/suit/wizrobe/black - name = "black wizard robe" - desc = "An unnerving black gem-lined robe that reeks of death and decay." - icon_state = "blackwizard" - item_state = "blackwizrobe" - -/obj/item/clothing/suit/wizrobe/marisa - name = "witch robe" - desc = "Magic is all about the spell power, ZE!" - icon_state = "marisa" - item_state = "marisarobe" - -/obj/item/clothing/suit/wizrobe/magusblue - name = "\improper Magus robe" - desc = "A set of armored robes that seem to radiate a dark power." - icon_state = "magusblue" - item_state = "magusblue" - -/obj/item/clothing/suit/wizrobe/magusred - name = "\improper Magus robe" - desc = "A set of armored robes that seem to radiate a dark power." - icon_state = "magusred" - item_state = "magusred" - - /obj/item/clothing/suit/wizrobe/santa name = "Santa's suit" desc = "Festive!" icon_state = "santa" item_state = "santa" -/obj/item/clothing/suit/wizrobe/fake - name = "wizard robe" - desc = "A rather dull blue robe meant to mimic real wizard robes." - icon_state = "wizard-fake" - item_state = "wizrobe" - gas_transfer_coefficient = 1 - permeability_coefficient = 1 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - resistance_flags = FLAMMABLE - -/obj/item/clothing/head/wizard/marisa/fake - name = "witch hat" - desc = "Strange-looking hat-wear, makes you want to cast fireballs." - icon_state = "marisa" - gas_transfer_coefficient = 1 - permeability_coefficient = 1 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - resistance_flags = FLAMMABLE - -/obj/item/clothing/suit/wizrobe/marisa/fake - name = "witch robe" - desc = "Magic is all about the spell power, ZE!" - icon_state = "marisa" - item_state = "marisarobe" - gas_transfer_coefficient = 1 - permeability_coefficient = 1 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - resistance_flags = FLAMMABLE - /obj/item/clothing/suit/space/hardsuit/shielded/wizard name = "battlemage armour" desc = "Not all wizards are afraid of getting up close and personal." diff --git a/code/modules/clothing/towels.dm b/code/modules/clothing/towels.dm index 22c1b29976f..f35c608a042 100644 --- a/code/modules/clothing/towels.dm +++ b/code/modules/clothing/towels.dm @@ -32,7 +32,7 @@ item_flags = NOBLUDGEON resistance_flags = FLAMMABLE flags_inv = HIDEHAIR // Only relevant when in head shape, but useful to keep around regardless. - supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON + supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION /// The shape we're currently in. var/shape = TOWEL_FOLDED diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index a28d6d323a8..7445eb2ad55 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -15,6 +15,7 @@ clothamnt = 3 greyscale_colors = list(list(15, 17), list(10, 19), list(15, 10)) greyscale_icon_state = "under" + var/has_sensor = HAS_SENSORS // For the crew computer var/random_sensor = TRUE var/sensor_mode = NO_SENSORS @@ -24,20 +25,25 @@ var/obj/item/clothing/accessory/attached_accessory var/mutable_appearance/accessory_overlay var/freshly_laundered = FALSE + supports_variations = VOX_VARIATION + blood_overlay_type = "uniform" /obj/item/clothing/under/worn_overlays(isinhands = FALSE) - . = list() + . = ..() if(!isinhands) if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damageduniform") if(HAS_BLOOD_DNA(src)) - var/mutable_appearance/bloody_uniform = mutable_appearance('icons/effects/blood.dmi', "uniformblood") - bloody_uniform.color = get_blood_dna_color(return_blood_DNA()) - . += bloody_uniform + . += setup_blood_overlay() if(accessory_overlay) . += accessory_overlay +/obj/item/clothing/under/Destroy() + . = ..() + if(attached_accessory) + attached_accessory.detach(src) + /obj/item/clothing/under/attackby(obj/item/I, mob/user, params) if((has_sensor == BROKEN_SENSORS) && istype(I, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = I @@ -45,6 +51,9 @@ has_sensor = HAS_SENSORS to_chat(user,"You repair the suit sensors on [src] with [C].") return 1 + if(attached_accessory && ispath(attached_accessory.pocket_storage_component_path) && loc == user) + attached_accessory.attackby(I,user) + return if(!attach_accessory(I, user)) return ..() @@ -179,7 +188,9 @@ if(SENSOR_COORDS) . += "Its vital tracker and tracking beacon appear to be enabled." if(attached_accessory) - . += "\A [attached_accessory] is attached to it." + . += "\A [attached_accessory] is attached to it. You could Ctrl-click on it to remove it." + if(attached_accessory.pocket_storage_component_path) + . += "You could open the storage of \the [attached_accessory] with Alt-click." /obj/item/clothing/under/rank dying_key = DYE_REGISTRY_UNDER diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index f7710d52a12..db5037bbbec 100644 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -92,10 +92,11 @@ if(initial(above_suit)) above_suit = !above_suit to_chat(user, "[src] will be worn [above_suit ? "above" : "below"] your suit.") + return ..() /obj/item/clothing/accessory/examine(mob/user) . = ..() - . += "\The [src] can be attached to a uniform. Alt-click to remove it once attached." + . += "\The [src] can be attached to a uniform. Ctrl-click to remove it once attached." if(initial(above_suit)) . += "\The [src] can be worn above or below your suit. Alt-click to toggle." @@ -103,7 +104,7 @@ name = "waistcoat" desc = "For some classy, murderous fun." icon_state = "waistcoat" - item_state = "waistcoat" + item_state = "det_suit" minimize_when_attached = FALSE attachment_slot = null @@ -115,18 +116,6 @@ minimize_when_attached = FALSE attachment_slot = null -/obj/item/clothing/accessory/maidapron/syndicate - name = "syndicate maid apron" - desc = "Practical? No. Tactical? Also no. Cute? Most definitely yes." - icon_state = "maidapronsynd" - item_state = "maidapronsynd" - -/obj/item/clothing/accessory/maidapron/inteq - name = "inteq maid apron" - desc = "A 'tactical' apron to protect you from all sorts of spills, from dough to blood!" - icon_state = "inteqmaidapron" - item_state = "inteqmaidapron" - ////////// //Medals// ////////// @@ -137,6 +126,7 @@ icon_state = "bronze" custom_materials = list(/datum/material/iron=1000) resistance_flags = FIRE_PROOF + attachment_slot = null var/medaltype = "medal" //Sprite used for medalbox var/commended = FALSE @@ -184,7 +174,7 @@ /obj/item/clothing/accessory/medal/conduct name = "distinguished conduct medal" - desc = "A bronze medal awarded for distinguished conduct. Whilst a great honor, this is the most basic award given by Nanotrasen. It is often awarded by a captain to a member of his crew." + desc = "A bronze medal awarded for distinguished conduct. While an honor to be awarded, it is one of the most common medals next to the bronze heart." /obj/item/clothing/accessory/medal/bronze_heart name = "bronze heart medal" @@ -198,7 +188,7 @@ /obj/item/clothing/accessory/medal/ribbon/cargo name = "\"cargo tech of the shift\" award" - desc = "An award bestowed only upon those cargotechs who have exhibited devotion to their duty in keeping with the highest traditions of Cargonia." + desc = "A common award bestowed by cargo quartermasters everywhere to their outperforming employees. Often paired with Unpaid Time Off." /obj/item/clothing/accessory/medal/silver name = "silver medal" @@ -212,8 +202,8 @@ desc = "A silver medal awarded for acts of exceptional valor." /obj/item/clothing/accessory/medal/silver/security - name = "robust security award" - desc = "An award for distinguished combat and sacrifice in defence of Nanotrasen's commercial interests. Often awarded to security staff." + name = "exceptional service award" + desc = "A silver medal awarded for exceptional service within one's roles, often ranging from combat operations to triage and first aid." /obj/item/clothing/accessory/medal/silver/excellence name = "\proper the head of personnel award for outstanding achievement in the field of excellence" @@ -221,7 +211,7 @@ /obj/item/clothing/accessory/medal/silver/bureaucracy name = "\improper Excellence in Bureaucracy Medal" - desc = "Awarded for exemplary managerial services rendered while under contract with Nanotrasen." + desc = "An award for excellent bureaucratic work, often seen pinned to the uniforms of middle-managers." /obj/item/clothing/accessory/medal/gold name = "gold medal" @@ -266,7 +256,7 @@ /obj/item/clothing/accessory/medal/gold/heroism name = "medal of exceptional heroism" - desc = "An extremely rare golden medal awarded only by CentCom. To receive such a medal is the highest honor and as such, very few exist. This medal is almost never awarded to anybody but commanders." + desc = "An extremely rare golden medal awarded only by the highest echelons of military service. To receive such a medal is the highest honor and as such, very few exist. This medal is almost never awarded." /obj/item/clothing/accessory/medal/plasma name = "plasma medal" @@ -393,7 +383,6 @@ desc = "A legion skull fitted to a codpiece, intended to protect the important things in life." icon_state = "skull" above_suit = TRUE - armor = list("melee" = 10, "bullet" = 10, "laser" = 5, "energy" = 5, "bomb" = 20, "bio" = 20, "rad" = 5, "fire" = 40, "acid" = 40) attachment_slot = GROIN /obj/item/clothing/accessory/skilt @@ -402,15 +391,14 @@ icon_state = "skilt" above_suit = TRUE minimize_when_attached = FALSE - armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 20, "bio" = 20, "rad" = 5, "fire" = 0, "acid" = 25) attachment_slot = GROIN /obj/item/clothing/accessory/holster name = "shoulder holster" desc = "A holster to carry a handgun and ammo. WARNING: Badasses only." icon_state = "holster" - item_state = "holster" pocket_storage_component_path = /datum/component/storage/concrete/pockets/holster + attachment_slot = null /obj/item/clothing/accessory/holster/detective name = "detective's shoulder holster" @@ -434,7 +422,6 @@ name = "syndicate holster" desc = "A two pouched hip holster that uses chameleon technology to disguise itself and any guns in it." var/datum/action/item_action/chameleon/change/chameleon_action - pocket_storage_component_path = /datum/component/storage/concrete/pockets/holster/chameleon /obj/item/clothing/accessory/holster/chameleon/Initialize() . = ..() @@ -444,6 +431,10 @@ chameleon_action.chameleon_name = "Accessory" chameleon_action.initialize_disguises() +/obj/item/clothing/accessory/holster/chameleon/Destroy() + QDEL_NULL(chameleon_action) + return ..() + /obj/item/clothing/accessory/holster/chameleon/emp_act(severity) . = ..() if(. & EMP_PROTECT_SELF) @@ -479,7 +470,7 @@ icon_state = "rilena_pin" above_suit = FALSE minimize_when_attached = TRUE - attachment_slot = CHEST + attachment_slot = null /obj/item/clothing/accessory/rilena_pin/on_uniform_equip(obj/item/clothing/under/U, user) var/mob/living/L = user diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index bbd0d962601..7ac32c9c129 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -11,11 +11,11 @@ /obj/item/clothing/under/color/random icon_state = "random_jumpsuit" - mob_overlay_state = "rainbow" // if you somehow equip it like that + mob_overlay_state = "white" // if you somehow equip it like that /obj/item/clothing/under/color/random/Initialize() ..() - var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - typesof(/obj/item/clothing/under/color/jumpskirt) - /obj/item/clothing/under/color/random - /obj/item/clothing/under/color/grey/ancient - /obj/item/clothing/under/color/black/ghost) + var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - typesof(/obj/item/clothing/under/color/jumpskirt) - /obj/item/clothing/under/color/random - /obj/item/clothing/under/color/grey/ancient) if(ishuman(loc)) var/mob/living/carbon/human/H = loc H.equip_to_slot_or_del(new C(H), ITEM_SLOT_ICLOTHING) //or else you end up with naked assistants running around everywhere... @@ -25,7 +25,7 @@ /obj/item/clothing/under/color/jumpskirt/random icon_state = "random_jumpsuit" //Skirt variant needed - mob_overlay_state = "rainbow" + mob_overlay_state = "white" /obj/item/clothing/under/color/jumpskirt/random/Initialize() ..() @@ -48,13 +48,6 @@ icon_state = "black_skirt" item_state = "bl_suit" -/obj/item/clothing/under/color/black/ghost - item_flags = DROPDEL - -/obj/item/clothing/under/color/black/ghost/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT) - /obj/item/clothing/under/color/grey name = "grey jumpsuit" desc = "A tasteful grey jumpsuit that reminds you of the good old days." @@ -193,15 +186,6 @@ icon_state = "lightbrown_skirt" item_state = "lb_suit" -/obj/item/clothing/under/color/khaki - name = "khaki jumpsuit" - icon_state = "khakij" - item_state = "lb_suit" - -/obj/item/clothing/under/color/khaki/buster - name = "buster jumpsuit" - desc = "There seems to be a large stain in the left pocket. Someone must have squashed a really big twinkie." - /obj/item/clothing/under/color/brown name = "brown jumpsuit" icon_state = "brown" @@ -221,17 +205,3 @@ name = "maroon jumpskirt" icon_state = "maroon_skirt" item_state = "r_suit" - -/obj/item/clothing/under/color/rainbow - name = "rainbow jumpsuit" - desc = "A multi-colored jumpsuit!" - icon_state = "rainbow" - item_state = "rainbow" - can_adjust = FALSE - -/obj/item/clothing/under/color/jumpskirt/rainbow - name = "rainbow jumpskirt" - desc = "A multi-colored jumpskirt!" - icon_state = "rainbow_skirt" - item_state = "rainbow" - can_adjust = FALSE diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm index bfc7524149c..ac7eeea5dc2 100644 --- a/code/modules/clothing/under/costume.dm +++ b/code/modules/clothing/under/costume.dm @@ -167,7 +167,7 @@ can_adjust = FALSE resistance_flags = NONE -/obj/item/clothing/under/costume/mech_suit +/obj/item/clothing/under/costume/mech_suit //these still have "mech" in the name because they're costumes, not serious utility wear name = "red mech pilot's suit" desc = "A red mech pilot's suit. Might make your butt look big." icon_state = "red_mech_suit" diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 46a1ff275d1..03f1cf19580 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -55,7 +55,6 @@ desc = "Someone who wears this means business." icon_state = "detective" item_state = "det" - armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 30) strip_delay = 50 alt_covers_chest = TRUE sensor_mode = 3 diff --git a/code/modules/clothing/under/skirt_dress.dm b/code/modules/clothing/under/skirt_dress.dm index f74748f71fb..091a584f117 100644 --- a/code/modules/clothing/under/skirt_dress.dm +++ b/code/modules/clothing/under/skirt_dress.dm @@ -1,9 +1,13 @@ /obj/item/clothing/under/dress + name = "strange broken dress" + desc = "Tell a coder!" + icon = 'icons/obj/clothing/under/dress.dmi' + mob_overlay_icon = 'icons/mob/clothing/under/dresses/dress.dmi' + kepori_override_icon = 'icons/mob/clothing/under/dresses/dress_kepori.dmi' + can_adjust = FALSE body_parts_covered = CHEST|GROIN - icon = 'icons/obj/clothing/under/dress.dmi' - mob_overlay_icon = 'icons/mob/clothing/under/dress.dmi' - supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION //Doesn't require a new icon. + supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION | KEPORI_VARIATION /obj/item/clothing/under/dress/sundress name = "sundress" @@ -13,19 +17,19 @@ /obj/item/clothing/under/dress/blacktango name = "black tango dress" - desc = "Filled with Latin fire." + desc = "A silky black satin dress, traditionally made for dancing. It's light and easy to move in." icon_state = "black_tango" item_state = "wcoat" /obj/item/clothing/under/dress/striped name = "striped dress" - desc = "Fashion in space." + desc = "A simple blue striped dress." icon_state = "striped_dress" item_state = "striped_dress" /obj/item/clothing/under/dress/sailor name = "sailor dress" - desc = "Formal wear for a leading lady." + desc = "A traditional dress with roots in Far Eastern Cantonal culture, later popularized by the Solarian Confederacy's Naval Forces. However, due to its roots as a formal uniform, it would later be used by civilians in occasions outside of its naval context. The crisp cloth evokes feelings of order and discipline." icon_state = "sailor_dress" item_state = "sailor_dress" @@ -35,62 +39,86 @@ icon_state = "red_evening_gown" item_state = "red_evening_gown" -/obj/item/clothing/under/dress/skirt +/obj/item/clothing/under/dress/one_shoulder + name = "one shoulder dress" + desc = "A modern black dress with only one shoulder strap. Comes with a matching pair of arm warmers." + icon_state = "one_shoulder_dress" + can_adjust = TRUE + +/obj/item/clothing/under/dress/iko_ikssoal + name = "iko ikssoal" + desc = "The “iko-ikssoal”, translating to “long-dress”, is a traditional Kalixcian garment for formal gatherings." + icon_state = "iko_ikssoal" + +/obj/item/clothing/under/dress/skirt/color name = "black skirt" - desc = "A black skirt, very fancy!" + desc = "A black, casual skirt." icon_state = "blackskirt" + can_adjust = TRUE -/obj/item/clothing/under/dress/skirt/blue +/obj/item/clothing/under/dress/skirt/color/blue name = "blue skirt" desc = "A blue, casual skirt." icon_state = "blueskirt" item_state = "b_suit" - custom_price = 60 -/obj/item/clothing/under/dress/skirt/red +/obj/item/clothing/under/dress/skirt/color/red name = "red skirt" desc = "A red, casual skirt." icon_state = "redskirt" item_state = "r_suit" - custom_price = 60 -/obj/item/clothing/under/dress/skirt/purple +/obj/item/clothing/under/dress/skirt/color/purple name = "purple skirt" desc = "A purple, casual skirt." icon_state = "purpleskirt" item_state = "p_suit" - custom_price = 60 -/obj/item/clothing/under/dress/skirt/plaid - name = "red plaid skirt" - desc = "A preppy red skirt with a white blouse." - icon_state = "plaid_red" - item_state = "plaid_red" +/obj/item/clothing/under/dress/skirt/color/white + name = "white skirt" + desc = "A white, casual skirt." + icon_state = "whiteskirt" + +/obj/item/clothing/under/dress/skirt/pinafore + name = "black pinafore" + desc = "It's really just an apron that one wears over a shirt or dress. This one is black." + icon_state = "black_pinafore" can_adjust = TRUE alt_covers_chest = TRUE - custom_price = 60 - -/obj/item/clothing/under/dress/skirt/plaid/blue - name = "blue plaid skirt" - desc = "A preppy blue skirt with a white blouse." - icon_state = "plaid_blue" - item_state = "plaid_blue" - -/obj/item/clothing/under/dress/skirt/plaid/purple - name = "purple plaid skirt" - desc = "A preppy purple skirt with a white blouse." - icon_state = "plaid_purple" - item_state = "plaid_purple" - -/obj/item/clothing/under/dress/skirt/plaid/green - name = "green plaid skirt" - desc = "A preppy green skirt with a white blouse." - icon_state = "plaid_green" - item_state = "plaid_green" + +/obj/item/clothing/under/dress/skirt/pinafore/maroon + name = "maroon pinafore" + desc = "It's really just an apron that one wears over a shirt or dress. This one is maroon." + icon_state = "maroon_pinafore" + +/obj/item/clothing/under/dress/skirt/pinafore/cerulean + name = "cerulean pinafore" + desc = "It's really just an apron that one wears over a shirt or dress. This one is cerulean." + icon_state = "cerulean_pinafore" + +/obj/item/clothing/under/dress/skirt/pinafore/plaid + name = "red plaid pinafore" + desc = "It's really just an apron that one wears over a shirt or dress. This one is in red plaid." + icon_state = "red_plaid_pinafore" + +/obj/item/clothing/under/dress/skirt/pinafore/plaid/green + name = "green plaid pinafore" + desc = "It's really just an apron that one wears over a shirt or dress. This one is in green plaid." + icon_state = "green_plaid_pinafore" + +/obj/item/clothing/under/dress/skirt/pinafore/plaid/brown + name = "brown plaid pinafore" + desc = "It's really just an apron that one wears over a shirt or dress. This one is in brown plaid." + icon_state = "brown_plaid_pinafore" /obj/item/clothing/under/dress/rilena name = "RILENA: LMR Ri cosplay" desc = "A pretty red dress with big pink ribbons attached. Intended to be worn by Kepori cosplayers, but also fits other species." icon_state = "rilena_dress" item_state = "rilena_dress" - //supports_variations = KEPORI_VARIATION + +/obj/item/clothing/under/dress/white_dress + name = "white dress" + desc = "A breezy white dress." + icon_state = "white_dress" + item_state = "white_dress" diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index 5e8ca1bd7ac..09d841902ac 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -194,17 +194,6 @@ icon_state = "gec_ce" armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 80, "acid" = 40) -/obj/item/clothing/under/syndicate/skirt/maid - name = "tactical maid outfit" - desc = "A 'tactical' turtleneck fashioned to the likeness of a maid outfit. Why the Syndicate has these, you'll never know." - icon_state = "syndimaid" - item_state = "syndimaid" - -/obj/item/clothing/under/syndicate/skirt/maid/Initialize() - . = ..() - var/obj/item/clothing/accessory/maidapron/syndicate/A = new (src) - attach_accessory(A) - /datum/outfit/syndicate/intern name = "Syndicate Operative - Intern" @@ -214,10 +203,10 @@ head = /obj/item/clothing/head/helmet/space/syndicate/surplus mask = /obj/item/clothing/mask/breath shoes = /obj/item/clothing/shoes/laceup - r_hand = /obj/item/gun/ballistic/automatic/marksman/ebr + r_hand = /obj/item/gun/ballistic/automatic/assault/hydra/dmr gloves = null l_pocket = /obj/item/pinpointer/nuke/syndicate - r_pocket = /obj/item/ammo_box/magazine/ebr + r_pocket = /obj/item/ammo_box/magazine/m556_42_hydra/small belt = null back = /obj/item/tank/jetpack/oxygen/harness backpack_contents = null @@ -259,10 +248,11 @@ icon_state = "inteqeng" supports_variations = KEPORI_VARIATION | VOX_VARIATION | DIGITIGRADE_VARIATION -/obj/item/clothing/under/syndicate/inteq/skirt/artificer +/obj/item/clothing/under/syndicate/inteq/artificer/skirt name = "inteq artificer overall skirt" desc = "A black set of overalls in the likeness of a skirt atop a standard issue turtleneck, for the IRMG's support division Artificers." icon_state = "inteqeng_skirt" + body_parts_covered = CHEST|GROIN|ARMS supports_variations = KEPORI_VARIATION | DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/syndicate/inteq/corpsman @@ -271,25 +261,13 @@ icon_state = "inteqmed" supports_variations = KEPORI_VARIATION | VOX_VARIATION | DIGITIGRADE_VARIATION -/obj/item/clothing/under/syndicate/inteq/skirt/corpsman +/obj/item/clothing/under/syndicate/inteq/corpsman/skirt name = "inteq corpsman skirtleneck" desc = "A sterile white turtleneck with a free flowing black skirt, it is emblazoned with the lettering 'IRMG' on the shoulder. For the IRMG's support division Corpsmen." icon_state = "inteqmed_skirt" - supports_variations = KEPORI_VARIATION | DIGITIGRADE_VARIATION_NO_NEW_ICON - -/obj/item/clothing/under/syndicate/inteq/skirt/maid - name = "inteq tactical maid outfit" - desc = "A 'tactical' turtleneck fashioned to the likeness of a maid outfit. This one is lovingly knitted in the colors of the IRMG." - icon_state = "inteqmaid" - item_state = "inteqmaid" - can_adjust = FALSE + body_parts_covered = CHEST|GROIN|ARMS supports_variations = KEPORI_VARIATION | VOX_VARIATION | DIGITIGRADE_VARIATION_NO_NEW_ICON -/obj/item/clothing/under/syndicate/inteq/skirt/maid/Initialize() - . = ..() - var/obj/item/clothing/accessory/maidapron/inteq/A = new (src) - attach_accessory(A) - /obj/item/clothing/under/syndicate/inteq/honorable name = "honorable vanguard turtleneck" desc = "a midnight black turtleneck worn by honorable Vanguards of the IRMG." diff --git a/code/modules/donator/_donator.dm b/code/modules/donator/_donator.dm index dd4df369cfe..218c7292c28 100644 --- a/code/modules/donator/_donator.dm +++ b/code/modules/donator/_donator.dm @@ -8,19 +8,6 @@ GLOBAL_PROTECT(donators) /client/var/datum/donator/donator -/client/New(TopicData) - . = ..() - donator = GLOB.donators[ckey] || new /datum/donator(src) - donator.owner = src - add_verb(src, /client/proc/do_donator_redemption) - add_verb(src, /client/proc/do_donator_wcir) - -/client/Destroy() - . = ..() - if(donator) // it's possible that a client was qdel'd inside the initializer - donator.owner = null - donator = null - /client/proc/do_donator_redemption() set name = "Redeem Donator Reward" set category = "OOC.Donator" @@ -46,23 +33,20 @@ GLOBAL_PROTECT(donators) /datum/donator /// ckey of the client who this datum belongs to var/ckey - /// reference to the client - var/client/owner + + /// Whether or not this datum actually is a real donator + var/is_donator = FALSE /// typecache of eligible rewards for this donator - var/list/flat_rewards = list( - /obj/item/reagent_containers/food/snacks/cookie = TRUE - ) + var/list/flat_rewards = list() /// list of conversion rewards for this donator /// Expected format: base type -> list of convertible types - var/list/conversion_rewards = list( - ) + var/list/conversion_rewards = list() /// list of reskin rewards for this donator /// Should be an assosciative list indexed by type with a value which is a list of skins - var/list/reskin_rewards = list( - ) + var/list/reskin_rewards = list() /// list of redeemed conversion types var/list/conversions_redeemed = list() @@ -70,22 +54,22 @@ GLOBAL_PROTECT(donators) /datum/donator/New(client/owner) . = ..() src.ckey = owner.ckey - src.owner = owner load_information() GLOB.donators[ckey] = src -/datum/donator/Destroy(force, ...) +/datum/donator/Destroy(force) if(!force) return QDEL_HINT_LETMELIVE . = ..() GLOB.donators -= ckey - owner.donator = null - owner = null /datum/donator/proc/load_information() //todo: db support with config files being a backup method var/json_file = file(REWARD_JSON_PATH + "[ckey].json") if(!fexists(json_file)) return + + is_donator = TRUE + var/list/json = safe_json_decode(file2text(json_file)) if(!json || !("ckey" in json)) @@ -180,6 +164,10 @@ GLOBAL_PROTECT(donators) . += rinstance /datum/donator/proc/what_can_i_redeem(mob/user) + if(!is_donator) + to_chat(user, span_notice("You are not a donator! If you are, please contact an admin on the discord.")) + return + var/resp = list() resp += "----------" resp += "Your current redeemable rewards are as follows:" diff --git a/code/modules/economy/account.dm b/code/modules/economy/account.dm index 4213ae91376..367b299107e 100644 --- a/code/modules/economy/account.dm +++ b/code/modules/economy/account.dm @@ -29,7 +29,7 @@ /datum/bank_account/proc/has_money(amt) return account_balance >= amt -/datum/bank_account/proc/adjust_money(amt, reason = "cash") +/datum/bank_account/proc/adjust_money(amt, reason = CREDIT_LOG_WITHDRAW) if((amt < 0 && has_money(-amt)) || amt > 0) SSblackbox.record_feedback("tally", "credits", amt, reason) SSeconomy.bank_money += amt @@ -39,10 +39,10 @@ /datum/bank_account/proc/transfer_money(datum/bank_account/from, amount) if(from.has_money(amount)) - adjust_money(amount, "transfer") + adjust_money(amount, CREDIT_LOG_TRANSFER_IN) SSblackbox.record_feedback("amount", "credits_transferred", amount) log_econ("[amount] credits were transferred from [from.account_holder]'s account to [src.account_holder]") - from.adjust_money(-amount, "transfer_out") + from.adjust_money(-amount, CREDIT_LOG_TRANSFER_OUT) return TRUE return FALSE @@ -83,4 +83,4 @@ /datum/bank_account/ship/New(newname, budget) account_holder = newname - adjust_money(budget, "starting_money") + adjust_money(budget, CREDIT_LOG_STARTING_MONEY) diff --git a/code/modules/economy/pay_stand.dm b/code/modules/economy/pay_stand.dm index 9382a03d062..1007f25fe40 100644 --- a/code/modules/economy/pay_stand.dm +++ b/code/modules/economy/pay_stand.dm @@ -54,7 +54,7 @@ if(momsdebitcard < 1) to_chat(user, "ERROR: Invalid amount designated.") return - if(vbucks.registered_account.adjust_money(-momsdebitcard, "transfer")) + if(vbucks.registered_account.adjust_money(-momsdebitcard, CREDIT_LOG_TRANSFER_IN)) purchase(vbucks.registered_account.account_holder, momsdebitcard) to_chat(user, "Thanks for purchasing! The vendor has been informed.") return @@ -117,7 +117,7 @@ return ..() /obj/machinery/paystand/proc/purchase(buyer, price) - my_card.registered_account.adjust_money(price, "transfer") + my_card.registered_account.adjust_money(price, CREDIT_LOG_TRANSFER_IN) my_card.registered_account.bank_card_talk("Purchase made at your vendor by [buyer] for [price] credits.") amount_deposited = amount_deposited + price if(signaler && amount_deposited >= signaler_threshold) diff --git a/code/modules/economy/selling_pad.dm b/code/modules/economy/selling_pad.dm index cf155ad251b..e70dab4dcb7 100644 --- a/code/modules/economy/selling_pad.dm +++ b/code/modules/economy/selling_pad.dm @@ -36,7 +36,7 @@ /obj/machinery/computer/selling_pad_control/attackby(obj/item/I, mob/user) var/value = I.get_item_credit_value() if(value) - sell_account.adjust_money(value, "selling_pad") + sell_account.adjust_money(value, CREDIT_LOG_SELLING_PAD) to_chat(user, "You deposit [I]. The Vessel Budget is now [sell_account.account_balance] cr.") qdel(I) return TRUE @@ -150,7 +150,7 @@ total_report.total_amount[E] += ex.total_amount[E] total_report.total_value[E] += ex.total_value[E] - sell_account.adjust_money(value, "selling_pad") + sell_account.adjust_money(value, CREDIT_LOG_SELLING_PAD) if(!value) status_report += "Nothing" diff --git a/code/modules/emoji/emoji_parse.dm b/code/modules/emoji/emoji_parse.dm index 185341d294c..16e1eeef6c9 100644 --- a/code/modules/emoji/emoji_parse.dm +++ b/code/modules/emoji/emoji_parse.dm @@ -2,7 +2,7 @@ . = text if(!CONFIG_GET(flag/emojis)) return - var/static/list/emojis = icon_states(icon('icons/emoji.dmi')) + var/static/list/emojis = icon_states(icon(EMOJI_SET)) var/parsed = "" var/pos = 1 var/search = 0 @@ -34,7 +34,7 @@ . = text if(!CONFIG_GET(flag/emojis)) return - var/static/list/emojis = icon_states(icon('icons/emoji.dmi')) + var/static/list/emojis = icon_states(icon(EMOJI_SET)) var/final = "" //only tags are added to this var/pos = 1 var/search = 0 diff --git a/code/modules/events/blob.dm b/code/modules/events/blob.dm deleted file mode 100644 index 18131e6ed9c..00000000000 --- a/code/modules/events/blob.dm +++ /dev/null @@ -1,30 +0,0 @@ -/datum/round_event_control/blob - name = "Blob" - typepath = /datum/round_event/ghost_role/blob - weight = 10 - max_occurrences = 1 - - min_players = 20 - - gamemode_blacklist = list("blob") //Just in case a blob survives that long - -/datum/round_event/ghost_role/blob - announceChance = 0 - role_name = "blob overmind" - fakeable = TRUE - -/datum/round_event/ghost_role/blob/announce(fake) - priority_announce("Confirmed outbreak of level 5 biohazard in the vicinity of [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/ai/outbreak5.ogg') - -/datum/round_event/ghost_role/blob/spawn_role() - if(!GLOB.blobstart.len) - return MAP_ERROR - var/list/candidates = get_candidates(ROLE_BLOB, null, ROLE_BLOB) - if(!candidates.len) - return NOT_ENOUGH_PLAYERS - var/mob/dead/observer/new_blob = pick(candidates) - var/mob/camera/blob/BC = new_blob.become_overmind() - spawned_mobs += BC - message_admins("[ADMIN_LOOKUPFLW(BC)] has been made into a blob overmind by an event.") - log_game("[key_name(BC)] was spawned as a blob overmind by an event.") - return SUCCESSFUL_SPAWN diff --git a/code/modules/events/brain_trauma.dm b/code/modules/events/brain_trauma.dm index f7324e3c57d..3c68b18d50f 100644 --- a/code/modules/events/brain_trauma.dm +++ b/code/modules/events/brain_trauma.dm @@ -27,7 +27,7 @@ 15;TRAUMA_RESILIENCE_LOBOTOMY, 5;TRAUMA_RESILIENCE_MAGIC) - var/trauma_type = pickweight(list( + var/trauma_type = pick_weight(list( BRAIN_TRAUMA_MILD = 60, BRAIN_TRAUMA_SEVERE = 30, BRAIN_TRAUMA_SPECIAL = 10 diff --git a/code/modules/events/devil.dm b/code/modules/events/devil.dm deleted file mode 100644 index 656888f068b..00000000000 --- a/code/modules/events/devil.dm +++ /dev/null @@ -1,53 +0,0 @@ -/datum/round_event_control/devil - name = "Create Devil" - typepath = /datum/round_event/ghost_role/devil - max_occurrences = 0 - -/datum/round_event/ghost_role/devil - var/success_spawn = 0 - role_name = "devil" - fakeable = FALSE - -/datum/round_event/ghost_role/devil/kill() - if(!success_spawn && control) - control.occurrences-- - return ..() - -/datum/round_event/ghost_role/devil/spawn_role() - //selecting a candidate player - var/list/candidates = get_candidates(ROLE_DEVIL, null, ROLE_DEVIL) - if(!candidates.len) - return NOT_ENOUGH_PLAYERS - - var/mob/dead/selected_candidate = pick_n_take(candidates) - var/key = selected_candidate.key - - var/datum/mind/Mind = create_devil_mind(key) - Mind.active = 1 - - var/mob/living/carbon/human/devil = create_event_devil() - Mind.transfer_to(devil) - add_devil(devil, ascendable = FALSE) - - spawned_mobs += devil - message_admins("[ADMIN_LOOKUPFLW(devil)] has been made into a devil by an event.") - log_game("[key_name(devil)] was spawned as a devil by an event.") - var/datum/job/jobdatum = new /datum/job/assistant() - devil.job = jobdatum.name - jobdatum.equip(devil) - return SUCCESSFUL_SPAWN - - -/proc/create_event_devil(spawn_loc) - var/mob/living/carbon/human/new_devil = new(spawn_loc) - var/datum/preferences/A = new() //Randomize appearance for the devil. - A.copy_to(new_devil) - new_devil.dna.update_dna_identity() - return new_devil - -/proc/create_devil_mind(key) - var/datum/mind/Mind = new /datum/mind(key) - Mind.assigned_role = ROLE_DEVIL - Mind.special_role = ROLE_DEVIL - SSticker.mode.devils |= Mind - return Mind diff --git a/code/modules/events/heart_attack.dm b/code/modules/events/heart_attack.dm index 35d8c4b141e..73e3b721c06 100644 --- a/code/modules/events/heart_attack.dm +++ b/code/modules/events/heart_attack.dm @@ -18,7 +18,7 @@ heart_attack_contestants[victim] = 1 if(LAZYLEN(heart_attack_contestants)) - var/mob/living/carbon/human/winner = pickweight(heart_attack_contestants) + var/mob/living/carbon/human/winner = pick_weight(heart_attack_contestants) var/datum/disease/D = new /datum/disease/heart_failure() winner.ForceContractDisease(D, FALSE, TRUE) announce_to_ghosts(winner) diff --git a/code/modules/events/holiday/xmas.dm b/code/modules/events/holiday/xmas.dm index f38d21b868c..1fbb017b7dd 100644 --- a/code/modules/events/holiday/xmas.dm +++ b/code/modules/events/holiday/xmas.dm @@ -42,7 +42,7 @@ /obj/effect/spawner/xmastree name = "christmas tree spawner" - icon = 'icons/effects/landmarks_static.dmi' + icon = 'icons/effects/mapping/landmarks_static.dmi' icon_state = "x2" layer = FLY_LAYER @@ -74,13 +74,3 @@ /datum/round_event/santa/announce(fake) priority_announce("Santa is coming to town!", "Unknown Transmission") - -/datum/round_event/santa/start() - var/list/candidates = pollGhostCandidates("Santa is coming to town! Do you want to be Santa?", poll_time=150) - if(LAZYLEN(candidates)) - var/mob/dead/observer/C = pick(candidates) - santa = new /mob/living/carbon/human(pick(GLOB.blobstart)) - santa.key = C.key - - var/datum/antagonist/santa/A = new - santa.mind.add_antag_datum(A) diff --git a/code/modules/events/immovable_rod.dm b/code/modules/events/immovable_rod.dm index adde1124935..4ba2d878ad4 100644 --- a/code/modules/events/immovable_rod.dm +++ b/code/modules/events/immovable_rod.dm @@ -62,7 +62,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 z_original = z destination = end special_target = aimed_at - GLOB.poi_list += src + SSpoints_of_interest.make_point_of_interest(src) var/special_target_valid = FALSE if(special_target) @@ -81,7 +81,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 ghost.ManualFollow(src) /obj/effect/immovablerod/Destroy() - GLOB.poi_list -= src + SSpoints_of_interest.remove_point_of_interest(src) . = ..() /obj/effect/immovablerod/Moved() diff --git a/code/modules/events/major_dust.dm b/code/modules/events/major_dust.dm deleted file mode 100644 index 7fb00124a94..00000000000 --- a/code/modules/events/major_dust.dm +++ /dev/null @@ -1,19 +0,0 @@ -/datum/round_event_control/meteor_wave/major_dust - name = "Major Space Dust" - typepath = /datum/round_event/meteor_wave/major_dust - weight = 8 - -/datum/round_event/meteor_wave/major_dust - wave_name = "space dust" - -/datum/round_event/meteor_wave/major_dust/announce(fake) - var/reason = pick( - "The station is passing through a debris cloud, expect minor damage \ - to external fittings and fixtures.", - "Nanotrasen Superweapons Division is testing a new prototype \ - [pick("field","projection","nova","super-colliding","reactive")] \ - [pick("cannon","artillery","tank","cruiser","\[REDACTED\]")], \ - some mild debris is expected.", - "A neighbouring station is throwing rocks at you. (Perhaps they've \ - grown tired of your messages.)") - priority_announce(pick(reason), "Collision Alert") diff --git a/code/modules/events/meateor_wave.dm b/code/modules/events/meateor_wave.dm deleted file mode 100644 index 11af56526c8..00000000000 --- a/code/modules/events/meateor_wave.dm +++ /dev/null @@ -1,11 +0,0 @@ -/datum/round_event_control/meteor_wave/meaty - name = "Meteor Wave: Meaty" - typepath = /datum/round_event/meteor_wave/meaty - weight = 2 - max_occurrences = 1 - -/datum/round_event/meteor_wave/meaty - wave_name = "meaty" - -/datum/round_event/meteor_wave/meaty/announce(fake) - priority_announce("Meaty ores have been detected on collision course with the station.", "Oh crap, get the mop.",'sound/ai/meteors.ogg') diff --git a/code/modules/events/meteor_wave.dm b/code/modules/events/meteor_wave.dm deleted file mode 100644 index a8ddab5aa76..00000000000 --- a/code/modules/events/meteor_wave.dm +++ /dev/null @@ -1,76 +0,0 @@ -// Normal strength - -/datum/round_event_control/meteor_wave - name = "Meteor Wave: Normal" - typepath = /datum/round_event/meteor_wave - weight = 4 - min_players = 15 - max_occurrences = 3 - earliest_start = 25 MINUTES - -/datum/round_event/meteor_wave - startWhen = 6 - endWhen = 66 - announceWhen = 1 - var/list/wave_type - var/wave_name = "normal" - -/datum/round_event/meteor_wave/New() - ..() - if(!wave_type) - determine_wave_type() - -/datum/round_event/meteor_wave/proc/determine_wave_type() - if(!wave_name) - wave_name = pickweight(list( - "normal" = 50, - "threatening" = 40, - "catastrophic" = 10)) - switch(wave_name) - if("normal") - wave_type = GLOB.meteors_normal - if("threatening") - wave_type = GLOB.meteors_threatening - if("catastrophic") - if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) - wave_type = GLOB.meteorsSPOOKY - else - wave_type = GLOB.meteors_catastrophic - if("meaty") - wave_type = GLOB.meteorsB - if("space dust") - wave_type = GLOB.meteorsC - if("halloween") - wave_type = GLOB.meteorsSPOOKY - else - WARNING("Wave name of [wave_name] not recognised.") - kill() - -/datum/round_event/meteor_wave/announce(fake) - priority_announce("Meteors have been detected on collision course with the station.", "Meteor Alert", 'sound/ai/meteors.ogg') - -/datum/round_event/meteor_wave/tick() - if(ISMULTIPLE(activeFor, 3)) - spawn_meteors(5, wave_type) //meteor list types defined in gamemode/meteor/meteors.dm - -/datum/round_event_control/meteor_wave/threatening - name = "Meteor Wave: Threatening" - typepath = /datum/round_event/meteor_wave/threatening - weight = 5 - min_players = 20 - max_occurrences = 3 - earliest_start = 35 MINUTES - -/datum/round_event/meteor_wave/threatening - wave_name = "threatening" - -/datum/round_event_control/meteor_wave/catastrophic - name = "Meteor Wave: Catastrophic" - typepath = /datum/round_event/meteor_wave/catastrophic - weight = 7 - min_players = 25 - max_occurrences = 3 - earliest_start = 45 MINUTES - -/datum/round_event/meteor_wave/catastrophic - wave_name = "catastrophic" diff --git a/code/modules/events/stray_cargo.dm b/code/modules/events/stray_cargo.dm deleted file mode 100644 index 182ea658a7a..00000000000 --- a/code/modules/events/stray_cargo.dm +++ /dev/null @@ -1,76 +0,0 @@ -///Spawns a cargo pod containing a random cargo supply pack on a random area of the station -/datum/round_event_control/stray_cargo - name = "Stray Cargo Pod" - typepath = /datum/round_event/stray_cargo - weight = 20 - max_occurrences = 4 - earliest_start = 10 MINUTES - -///Spawns a cargo pod containing a random cargo supply pack on a random area of the station -/datum/round_event/stray_cargo - var/area/impact_area ///Randomly picked area - announceChance = 75 - var/list/possible_pack_types = list() ///List of possible supply packs dropped in the pod, if empty picks from the cargo list - var/static/list/stray_spawnable_supply_packs = list() ///List of default spawnable supply packs, filtered from the cargo list - -/datum/round_event/stray_cargo/announce(fake) - priority_announce("Stray cargo pod detected on long-range scanners. Expected location of impact: [impact_area.name].", "Collision Alert", zlevel = impact_area.virtual_z()) - -/** -* Tries to find a valid area, throws an error if none are found -* Also randomizes the start timer -*/ -/datum/round_event/stray_cargo/setup() - startWhen = rand(20, 40) - impact_area = find_event_area() - if(!impact_area) - CRASH("No valid areas for cargo pod found.") - var/list/turf_test = get_area_turfs(impact_area) - if(!turf_test.len) - CRASH("Stray Cargo Pod : No valid turfs found for [impact_area] - [impact_area.type]") - - if(!stray_spawnable_supply_packs.len) - stray_spawnable_supply_packs = SSshuttle.supply_packs.Copy() - -///Spawns a random supply pack, puts it in a pod, and spawns it on a random tile of the selected area -/datum/round_event/stray_cargo/start() - var/list/turf/valid_turfs = get_area_turfs(impact_area) - //Only target non-dense turfs to prevent wall-embedded pods - for(var/i in valid_turfs) - var/turf/T = i - if(T.density) - valid_turfs -= T - var/turf/LZ = pick(valid_turfs) - var/pack_type - if(possible_pack_types.len) - pack_type = pick(possible_pack_types) - else - pack_type = pick(stray_spawnable_supply_packs) - var/datum/supply_pack/SP = new pack_type - var/obj/structure/closet/crate/crate = SP.generate(null) - crate.locked = FALSE //Unlock secure crates - crate.update_appearance() - var/obj/structure/closet/supplypod/pod = make_pod() - new /obj/effect/pod_landingzone(LZ, pod, crate) - -///Handles the creation of the pod, in case it needs to be modified beforehand -/datum/round_event/stray_cargo/proc/make_pod() - var/obj/structure/closet/supplypod/S = new - return S - -///Picks an area that wouldn't risk critical damage if hit by a pod explosion -/datum/round_event/stray_cargo/proc/find_event_area() - var/static/list/allowed_areas - if(!allowed_areas) - ///Places that shouldn't explode - var/list/safe_area_types = typecacheof(list( - /area/ship/science/ai_chamber, - /area/ship/engineering - )) - - ///Subtypes from the above that actually should explode. - var/list/unsafe_area_subtypes = typecacheof(list()) - allowed_areas = make_associative(typesof(/area/ship)) - safe_area_types + unsafe_area_subtypes - var/list/possible_areas = typecache_filter_list(GLOB.sortedAreas,allowed_areas) - if (length(possible_areas)) - return pick(possible_areas) diff --git a/code/modules/events/wizard/blobies.dm b/code/modules/events/wizard/blobies.dm deleted file mode 100644 index 7438b462f60..00000000000 --- a/code/modules/events/wizard/blobies.dm +++ /dev/null @@ -1,10 +0,0 @@ -/datum/round_event_control/wizard/blobies //avast! - name = "Zombie Outbreak" - weight = 3 - typepath = /datum/round_event/wizard/blobies - max_occurrences = 3 - -/datum/round_event/wizard/blobies/start() - - for(var/mob/living/carbon/human/H in GLOB.dead_mob_list) - new /mob/living/simple_animal/hostile/blob/blobspore(H.loc) diff --git a/code/modules/events/wizard/curseditems.dm b/code/modules/events/wizard/curseditems.dm deleted file mode 100644 index e99b0d75491..00000000000 --- a/code/modules/events/wizard/curseditems.dm +++ /dev/null @@ -1,60 +0,0 @@ -/datum/round_event_control/wizard/cursed_items //fashion disasters - name = "Cursed Items" - weight = 3 - typepath = /datum/round_event/wizard/cursed_items - max_occurrences = 3 - earliest_start = 0 MINUTES - -//Note about adding items to this: Because of how NODROP_1 works if an item spawned to the hands can also be equiped to a slot -//it will be able to be put into that slot from the hand, but then get stuck there. To avoid this make a new subtype of any -//item you want to equip to the hand, and set its slots_flags = null. Only items equiped to hands need do this. - -/datum/round_event/wizard/cursed_items/start() - var/item_set = pick("wizardmimic", "swords", "bigfatdoobie", "boxing", "voicemodulators", "catgirls2015") - var/list/loadout[SLOTS_AMT] - var/ruins_spaceworthiness - var/ruins_wizard_loadout - - switch(item_set) - if("wizardmimic") - loadout[ITEM_SLOT_OCLOTHING] = /obj/item/clothing/suit/wizrobe - loadout[ITEM_SLOT_FEET] = /obj/item/clothing/shoes/sandal/magic - loadout[ITEM_SLOT_HEAD] = /obj/item/clothing/head/wizard - ruins_spaceworthiness = 1 - if("swords") - loadout[ITEM_SLOT_HANDS] = /obj/item/katana/cursed - if("bigfatdoobie") - loadout[ITEM_SLOT_MASK] = /obj/item/clothing/mask/cigarette/rollie/trippy - ruins_spaceworthiness = 1 - if("boxing") - loadout[ITEM_SLOT_MASK] = /obj/item/clothing/mask/luchador - loadout[ITEM_SLOT_GLOVES] = /obj/item/clothing/gloves/boxing - ruins_spaceworthiness = 1 - if("voicemodulators") - loadout[ITEM_SLOT_MASK] = /obj/item/clothing/mask/chameleon - if("catgirls2015") - loadout[ITEM_SLOT_HEAD] = /obj/item/clothing/head/kitty - ruins_spaceworthiness = 1 - ruins_wizard_loadout = 1 - - for(var/mob/living/carbon/human/H as anything in GLOB.human_list) - if(ruins_spaceworthiness && isspaceturf(H.loc) || isplasmaman(H)) - continue //#savetheminers - if(ruins_wizard_loadout && iswizard(H)) - continue - if(item_set == "catgirls2015") //Wizard code means never having to say you're sorry - H.gender = FEMALE - for(var/i in 1 to loadout.len) - if(loadout[i]) - var/obj/item/J = loadout[i] - var/obj/item/I = new J //dumb but required because of byond throwing a fit anytime new gets too close to a list - H.dropItemToGround(H.get_item_by_slot(i), TRUE) - H.equip_to_slot_or_del(I, i) - ADD_TRAIT(I, TRAIT_NODROP, CURSED_ITEM_TRAIT) - I.item_flags |= DROPDEL - I.name = "cursed " + I.name - - for(var/mob/living/carbon/human/H as anything in GLOB.human_list) - var/datum/effect_system/smoke_spread/smoke = new - smoke.set_up(0, H.loc) - smoke.start() diff --git a/code/modules/events/wizard/greentext.dm b/code/modules/events/wizard/greentext.dm index 890bbc0f1f2..8e4baab893f 100644 --- a/code/modules/events/wizard/greentext.dm +++ b/code/modules/events/wizard/greentext.dm @@ -34,7 +34,7 @@ /obj/item/greentext/Initialize(mapload) . = ..() - GLOB.poi_list |= src + SSpoints_of_interest.make_point_of_interest(src) roundend_callback = CALLBACK(src, PROC_REF(check_winner)) SSticker.OnRoundend(roundend_callback) @@ -83,7 +83,7 @@ if(!(resistance_flags & ON_FIRE) && !force) return QDEL_HINT_LETMELIVE - GLOB.poi_list.Remove(src) + SSpoints_of_interest.remove_point_of_interest(src) LAZYREMOVE(SSticker.round_end_events, roundend_callback) roundend_callback = null //This ought to free the callback datum, and prevent us from harddeling for(var/i in GLOB.player_list) diff --git a/code/modules/faction/faction_datum.dm b/code/modules/faction/faction_datum.dm new file mode 100644 index 00000000000..487d4f9c781 --- /dev/null +++ b/code/modules/faction/faction_datum.dm @@ -0,0 +1,104 @@ +/datum/faction + var/name + /// Primarly to be used for backend stuff. + var/short_name + var/parent_faction + /// List of prefixes that ships of this faction uses + var/list/prefixes + /// list of factions that are "allowed" with this faction, used for factional cargo + var/list/allowed_factions + +/datum/faction/New() + if(!short_name) + short_name = name + +/// Easy way to check if something is "allowed", checks to see if it matches the name or faction typepath because factions are a fucking mess +/datum/faction/proc/allowed_faction(value_to_check) + ///Are we the same datum? + if(istype(value_to_check, src)) + return TRUE + ///Allow if we share a parent faction + if(istype(value_to_check, parent_faction)) + return TRUE + //do we have the same faction even if one is a define? + if(value_to_check == name) + return TRUE + if(value_to_check in allowed_factions) + return TRUE + return FALSE + +/datum/faction/syndicate + name = FACTION_SYNDICATE + parent_faction = /datum/faction/syndicate + prefixes = PREFIX_SYNDICATE + +/datum/faction/syndicate/ngr + name = FACTION_NGR + short_name = "NGR" + prefixes = PREFIX_NGR + +/datum/faction/syndicate/cybersun + name = FACTION_CYBERSUN + prefixes = PREFIX_CYBERSUN + +/datum/faction/syndicate/hardliners + name = FACTION_HARDLINERS + prefixes = PREFIX_HARDLINERS + +/datum/faction/syndicate/suns + name = FACTION_SUNS + short_name = "SUNS" + prefixes = PREFIX_SUNS + +/datum/faction/solgov + name = FACTION_SOLGOV + prefixes = PREFIX_SOLGOV + +/datum/faction/srm + name = FACTION_SRM + short_name = "SRM" + prefixes = PREFIX_SRM + +/datum/faction/inteq + name = FACTION_INTEQ + short_name = "INTEQ" + prefixes = PREFIX_INTEQ + +/datum/faction/clip + name = FACTION_CLIP + short_name = "CLIP" + prefixes = PREFIX_CLIP + +/datum/faction/nt + name = FACTION_NT + short_name = "NT" + parent_faction = /datum/faction/nt + prefixes = PREFIX_NT + +/datum/faction/nt/ns_logi + name = FACTION_NS_LOGI + prefixes = PREFIX_NS_LOGI + +/datum/faction/nt/vigilitas + name = FACTION_VIGILITAS + prefixes = PREFIX_VIGILITAS + +/datum/faction/frontier + name = FACTION_FRONTIER + prefixes = PREFIX_FRONTIER + +/datum/faction/pgf + name = FACTION_PGF + short_name = "PGF" + prefixes = PREFIX_PGF + +/datum/faction/independent + name = FACTION_INDEPENDENT + short_name = "Indie" + prefixes = PREFIX_INDEPENDENT + +/datum/faction/syndicate/scarborough_arms + name = "Scarborough Arms" + parent_faction = /datum/faction/syndicate + prefixes = PREFIX_INDEPENDENT + allowed_factions = list(/datum/faction/syndicate) diff --git a/code/modules/fishing/aquarium/aquarium_kit.dm b/code/modules/fishing/aquarium/aquarium_kit.dm index 229924eee7b..42fc90d0cc1 100644 --- a/code/modules/fishing/aquarium/aquarium_kit.dm +++ b/code/modules/fishing/aquarium/aquarium_kit.dm @@ -4,7 +4,7 @@ desc = "Autogenerates nutritious fish feed based on sample inside." icon = 'icons/obj/aquarium.dmi' icon_state = "fish_feed" - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL /obj/item/fish_feed/Initialize(mapload) . = ..() @@ -32,13 +32,12 @@ desc = "Everything you need to build your own aquarium. Raw materials sold separately." icon = 'icons/obj/aquarium.dmi' icon_state = "construction_kit" - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL /obj/item/aquarium_kit/attack_self(mob/user) . = ..() to_chat(user,span_notice("There's instruction and tools necessary to build aquarium inside. All you need is to start crafting.")) - /obj/item/aquarium_prop name = "generic aquarium prop" desc = "very boring" diff --git a/code/modules/fishing/fish/_fish.dm b/code/modules/fishing/fish/_fish.dm index f474018739d..40b979a8957 100644 --- a/code/modules/fishing/fish/_fish.dm +++ b/code/modules/fishing/fish/_fish.dm @@ -1,6 +1,6 @@ // Fish path used for autogenerated fish /obj/item/fish - name = "generic looking aquarium fish" + name = "generic fish" desc = "very bland" icon = 'icons/obj/aquarium.dmi' icon_state = "trout" //Replace this with "bugfish" from tg please @@ -386,6 +386,6 @@ if(initial(fish.available_in_random_cases) || !case_fish_only) chance_table[fish] = initial(fish.random_case_rarity) probability_table[argkey] = chance_table - return pickweight(probability_table[argkey]) + return pick_weight(probability_table[argkey]) diff --git a/code/modules/fishing/fishing_minigame.dm b/code/modules/fishing/fishing_minigame.dm index eeb0696315e..bf4df70be8e 100644 --- a/code/modules/fishing/fishing_minigame.dm +++ b/code/modules/fishing/fishing_minigame.dm @@ -64,7 +64,7 @@ if(rod.hook.fishing_hook_traits & FISHING_HOOK_WEIGHTED) special_effects += FISHING_MINIGAME_RULE_WEIGHTED_BAIT -/datum/fishing_challenge/Destroy(force, ...) +/datum/fishing_challenge/Destroy(force) if(!completed) complete(win = FALSE) if(fishing_line) diff --git a/code/modules/fishing/sources/_fish_source.dm b/code/modules/fishing/sources/_fish_source.dm index 136a650148c..db051d69175 100644 --- a/code/modules/fishing/sources/_fish_source.dm +++ b/code/modules/fishing/sources/_fish_source.dm @@ -79,7 +79,7 @@ GLOBAL_LIST_INIT(preset_fish_sources,init_fishing_configurations()) /// In case you want more complex rules for specific spots /datum/fish_source/proc/roll_reward(obj/item/fishing_rod/rod, mob/fisherman) - return pickweight(get_modified_fish_table(rod,fisherman)) + return pick_weight(get_modified_fish_table(rod,fisherman)) /// Gives out the reward if possible /datum/fish_source/proc/dispense_reward(reward_path, mob/fisherman) diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index ced086e1dfc..30b768e702b 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -29,17 +29,19 @@ GLOBAL_LIST_INIT(hallucination_list, list( if(!hallucination) return - hallucination-- + hallucination = max(hallucination - 1, 0) if(world.time < next_hallucination) return - var/halpick = pickweight(GLOB.hallucination_list) + var/halpick = pick_weight(GLOB.hallucination_list) new halpick(src, FALSE) next_hallucination = world.time + rand(100, 600) /mob/living/carbon/proc/set_screwyhud(hud_type) + if(HAS_TRAIT(src, TRAIT_ANALGESIA)) + hud_type = SCREWYHUD_HEALTHY hal_screwyhud = hud_type update_health_hud() @@ -476,15 +478,15 @@ GLOBAL_LIST_INIT(hallucination_list, list( A = image(image_file,H,"dualsaberred1", layer=ABOVE_MOB_LAYER) if("taser") if(side == "right") - image_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + image_file = GUN_RIGHTHAND_ICON else - image_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' + image_file = GUN_LEFTHAND_ICON A = image(image_file,H,"advtaserstun4", layer=ABOVE_MOB_LAYER) if("ebow") if(side == "right") - image_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + image_file = GUN_RIGHTHAND_ICON else - image_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' + image_file = GUN_LEFTHAND_ICON A = image(image_file,H,"crossbow", layer=ABOVE_MOB_LAYER) if("baton") if(side == "right") @@ -1023,11 +1025,11 @@ GLOBAL_LIST_INIT(hallucination_list, list( if(prob(25)) target.halitem.icon_state = "plasticx40" if(3) //sword - target.halitem.icon = 'icons/obj/transforming_energy.dmi' + target.halitem.icon = 'icons/obj/weapon/energy.dmi' target.halitem.icon_state = "sword0" target.halitem.name = "Energy Sword" if(4) //stun baton - target.halitem.icon = 'icons/obj/items_and_weapons.dmi' + target.halitem.icon = 'icons/obj/items.dmi' target.halitem.icon_state = "stunbaton" target.halitem.name = "Stun Baton" if(5) //emag diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 32c4b1a9a09..1caa3bcb14f 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -233,7 +233,7 @@ /obj/item/reagent_containers/food/drinks/ice name = "ice cup" desc = "Careful, cold ice, do not chew." - custom_price = 15 + custom_price = 5 icon_state = "coffee" list_reagents = list(/datum/reagent/consumable/ice = 30) spillable = TRUE @@ -268,21 +268,21 @@ list_reagents = list(/datum/reagent/consumable/hot_coco = 15, /datum/reagent/consumable/sugar = 5) foodtype = SUGAR resistance_flags = FREEZE_PROOF - custom_price = 120 + custom_price = 5 /obj/item/reagent_containers/food/drinks/cafelatte name = "cafe latte" desc = "A nice, strong and refreshing beverage while you're reading." icon_state = "cafe_latte" list_reagents = list(/datum/reagent/consumable/cafe_latte = 30) - custom_price = 200 + custom_price = 5 /obj/item/reagent_containers/food/drinks/soylatte name = "soy latte" desc = "A nice and refreshing beverage while you're reading." icon_state = "soy_latte" list_reagents = list(/datum/reagent/consumable/soy_latte = 30) - custom_price = 200 + custom_price = 5 /obj/item/reagent_containers/food/drinks/dry_ramen name = "cup ramen" @@ -291,7 +291,7 @@ list_reagents = list(/datum/reagent/consumable/dry_ramen = 15, /datum/reagent/consumable/sodiumchloride = 3) foodtype = GRAIN isGlass = FALSE - custom_price = 95 + custom_price = 5 /obj/item/reagent_containers/food/drinks/waterbottle name = "Ryuunosuke Reserve" //we still have to find a way to make multiple variants as per the plan @@ -305,7 +305,7 @@ amount_per_transfer_from_this = 10 fill_icon_thresholds = list(0, 10, 25, 50, 75, 80, 90) isGlass = FALSE - custom_price = 30 + custom_price = 8 can_have_cap = TRUE // The 2 bottles have separate cap overlay icons because if the bottle falls over while bottle flipping the cap stays fucked on the moved overlay cap_icon_state = "bottle_cap_small" @@ -373,8 +373,8 @@ desc = "A popular Gezenan drink made of fermented honey and spices, known as Gezenan Dark Mead, or GDM for short." icon_state = "beer" list_reagents = list(/datum/reagent/consumable/ethanol/beer = 30) - foodtype = GRAIN | ALCOHOL - custom_price = 60 + foodtype = SUGAR | ALCOHOL + custom_price = 10 /obj/item/reagent_containers/food/drinks/beer/light name = "Carp Lite" @@ -388,7 +388,7 @@ item_state = "beer" list_reagents = list(/datum/reagent/consumable/ethanol/ale = 30) foodtype = GRAIN | ALCOHOL - custom_price = 60 + custom_price = 15 /obj/item/reagent_containers/food/drinks/sillycup name = "paper cup" @@ -512,7 +512,7 @@ /obj/item/reagent_containers/food/drinks/flask name = "flask" desc = "Every good spacer knows it's a good idea to bring along a couple of pints of whiskey wherever they go." - custom_price = 200 + custom_price = 20 icon_state = "flask" custom_materials = list(/datum/material/iron=250) volume = 60 @@ -554,7 +554,7 @@ reagent_flags = NONE spillable = FALSE isGlass = FALSE - custom_price = 45 + custom_price = 5 var/pierced = FALSE obj_flags = CAN_BE_HIT @@ -593,6 +593,7 @@ broh.losebreath++ switch(broh.losebreath) if(-INFINITY to 0) + EMPTY_BLOCK_GUARD if(1 to 2) if(prob(30)) user.visible_message("[broh]'s eyes water as [broh.p_they()] chug the can of [src]!") @@ -762,7 +763,7 @@ desc = "If you ever wondered where air came from..." list_reagents = list(/datum/reagent/oxygen = 6, /datum/reagent/nitrogen = 24) icon = 'icons/obj/food/ration.dmi' - icon_state = "ration_package" + icon_state = "ration_drink" drop_sound = 'sound/items/handling/cardboardbox_drop.ogg' pickup_sound = 'sound/items/handling/cardboardbox_pickup.ogg' in_container = TRUE @@ -773,7 +774,7 @@ /obj/item/reagent_containers/food/drinks/ration/proc/open_ration(mob/user) to_chat(user, "You tear open \the [src].") - playsound(user.loc, 'sound/effects/rip3.ogg', 50) + playsound(user.loc, 'sound/items/glass_cap.ogg', 50) reagents.flags |= OPENCONTAINER spillable = TRUE diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 48744fac95d..1a3a7833d0f 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -9,7 +9,7 @@ desc = "This blank bottle is unyieldingly anonymous, offering no clues to its contents." icon_state = "glassbottle" fill_icon_thresholds = list(0, 10, 20, 30, 40, 50, 60, 70, 80, 90) - custom_price = 65 + custom_price = 15 amount_per_transfer_from_this = 10 volume = 100 force = 15 //Smashing bottles over someone's head hurts. @@ -32,7 +32,7 @@ desc = "This blank bottle is unyieldingly anonymous, offering no clues to its contents." icon_state = "glassbottlesmall" volume = 50 - custom_price = 55 + custom_price = 1 /obj/item/reagent_containers/food/drinks/bottle/attack(mob/living/target, mob/living/user) if(!target) @@ -135,11 +135,6 @@ icon_state = "whiskeybottle" list_reagents = list(/datum/reagent/consumable/ethanol/whiskey = 100) -/obj/item/reagent_containers/food/drinks/bottle/kong - name = "Kong" - desc = "Makes You Go Ape!" - list_reagents = list(/datum/reagent/consumable/ethanol/whiskey/kong = 100) - /obj/item/reagent_containers/food/drinks/bottle/candycornliquor name = "candy corn liquor" desc = "Like they drank in 2D speakeasies." @@ -202,10 +197,10 @@ /obj/item/reagent_containers/food/drinks/bottle/kahlua name = "Keh'Lu'Tex Liqueur" - desc = "An adapted recipe of a caffeine-mixed liqueur originating from Reh'himl, which replaces it's original ingredient with coffee from Terra." + desc = "An adapted recipe of a caffeine-mixed liqueur originating from Reh'himl, which replaces its original ingredient with coffee from Terra." icon_state = "kahluabottle" list_reagents = list(/datum/reagent/consumable/ethanol/kahlua = 100) - foodtype = VEGETABLES + foodtype = SUGAR | ALCOHOL //it's coffee and rum . /obj/item/reagent_containers/food/drinks/bottle/goldschlager name = "Student-Union's Gold Standard" @@ -297,7 +292,7 @@ /obj/item/reagent_containers/food/drinks/bottle/orangejuice name = "orange juice" desc = "Sweet and tart orange juice. Usually found fortified to make it more nutritious. Full of vitamin C!" - custom_price = 100 + custom_price = 10 icon_state = "orangejuice" item_state = "carton" lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' @@ -309,7 +304,7 @@ /obj/item/reagent_containers/food/drinks/bottle/lemonjuice name = "lemon juice" desc = "Lemonade for everyone!" - custom_price = 100 + custom_price = 10 icon_state = "lemonjuice" item_state = "carton" lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' @@ -321,7 +316,7 @@ /obj/item/reagent_containers/food/drinks/bottle/cream name = "milk cream" desc = "Cream made from milk. It's thicker than milk, which hopefully prevents any mixups." - custom_price = 100 + custom_price = 10 icon_state = "cream" item_state = "carton" lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' @@ -333,7 +328,7 @@ /obj/item/reagent_containers/food/drinks/bottle/tomatojuice name = "tomato juice" desc = "Juice from tomatoes and salt. You'll often find some technicians soaking in this if they've been working with plasma." - custom_price = 100 + custom_price = 10 icon_state = "tomatojuice" item_state = "carton" lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' @@ -345,7 +340,7 @@ /obj/item/reagent_containers/food/drinks/bottle/limejuice name = "lime juice" desc = "Lime juice. You might want to mix something with this instead of drinking it straight..." - custom_price = 100 + custom_price = 10 icon_state = "limejuice" item_state = "carton" lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' @@ -357,7 +352,7 @@ /obj/item/reagent_containers/food/drinks/bottle/pineapplejuice name = "pineapple juice" desc = "Tart, sweet juice from the tropical pineapple." - custom_price = 100 + custom_price = 10 icon_state = "pineapplejuice" item_state = "carton" lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' @@ -370,7 +365,7 @@ /obj/item/reagent_containers/food/drinks/bottle/menthol name = "menthol" desc = "Tastes naturally minty, and imparts a very mild numbing sensation." - custom_price = 100 + custom_price = 10 icon_state = "mentholbox" item_state = "carton" lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' @@ -381,7 +376,7 @@ /obj/item/reagent_containers/food/drinks/bottle/grenadine name = "Three-Star Grenadine" desc = "A commonly seen bottle of grenadine - or sweet fruit syrup. It might even contain real cherries, as well as some blackcurrant for color." - custom_price = 100 + custom_price = 10 icon_state = "grenadine" isGlass = TRUE list_reagents = list(/datum/reagent/consumable/grenadine = 100) @@ -391,7 +386,7 @@ /obj/item/reagent_containers/food/drinks/bottle/applejack name = "Mars Lightning" desc = "A strong brandy originating from apples, considered the older sibling to hard cider. Mars Lightning is often partnered with anti-gravity racing companies, leading to it often being served straight or for impromptu mixes." - custom_price = 100 + custom_price = 15 icon_state = "applejack_bottle" isGlass = TRUE list_reagents = list(/datum/reagent/consumable/ethanol/applejack = 100) @@ -400,7 +395,7 @@ /obj/item/reagent_containers/food/drinks/bottle/champagne name = "Treu Champagne" desc = "Finely sourced from entire canton planets dedicated to faithful reproduction of pre-Night Of Fire vineyards. Typically enjoyed for celebrations and the turn of new years." - custom_premium_price = 250 + custom_premium_price = 25 icon_state = "champagne_bottle" isGlass = TRUE list_reagents = list(/datum/reagent/consumable/ethanol/champagne = 100) @@ -414,7 +409,7 @@ /obj/item/reagent_containers/food/drinks/bottle/trappist name = "Roumain Trapper's" desc = "Traditionally (and heavily monitored for authenticity) made beer brewed on Illestren. Trapper's beer must be brewed by Saint Roumain Hunters or Shadows, made to fit the needs of their community first, and must never be made for profit... which makes it a common sight in the Frontier." - custom_premium_price = 170 + custom_premium_price = 17 icon_state = "trappistbottle" volume = 50 list_reagents = list(/datum/reagent/consumable/ethanol/trappist = 50) @@ -453,14 +448,27 @@ isGlass = TRUE ////////////////////////// MOLOTOV /////////////////////// -/obj/item/reagent_containers/food/drinks/bottle/molotov +/obj/item/reagent_containers/food/drinks/molotov name = "molotov cocktail" desc = "A throwing weapon used to ignite things, typically filled with an accelerant. Recommended highly by desperate militias and revolutionaries. Light and toss." icon_state = "vodkabottle" + fill_icon_thresholds = list(0, 10, 20, 30, 40, 50, 60, 70, 80, 90) + amount_per_transfer_from_this = 10 + volume = 100 + force = 15 //Smashing bottles over someone's head hurts. + throwforce = 15 + item_state = "broken_beer" //Generic held-item sprite until unique ones are made. + lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi' + pickup_sound = 'sound/items/handling/bottle_pickup.ogg' + drop_sound = 'sound/items/handling/bottle_drop.ogg' + var/const/duration = 13 //Directly relates to the 'knockdown' duration. Lowered by armor (i.e. helmets) + isGlass = TRUE + foodtype = ALCOHOL list_reagents = list() var/active = 0 -/obj/item/reagent_containers/food/drinks/bottle/molotov/CheckParts(list/parts_list) +/obj/item/reagent_containers/food/drinks/molotov/CheckParts(list/parts_list) ..() var/obj/item/reagent_containers/food/drinks/bottle/B = locate() in contents if(B) @@ -471,7 +479,7 @@ isGlass = FALSE return -/obj/item/reagent_containers/food/drinks/bottle/molotov/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) +/obj/item/reagent_containers/food/drinks/molotov/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) var/firestarter = FALSE for(var/datum/reagent/reagent as anything in reagents.reagent_list) if(reagent.accelerant_quality) @@ -479,10 +487,16 @@ break if(firestarter && active) hit_atom.fire_act() - new /obj/effect/hotspot(get_turf(hit_atom)) + var/turf/T = get_turf(hit_atom) + T.IgniteTurf(30) + var/turf/otherT + for(var/direction in GLOB.cardinals) + otherT = get_step(T, direction) + otherT.IgniteTurf(30) + new /obj/effect/hotspot(otherT) ..() -/obj/item/reagent_containers/food/drinks/bottle/molotov/attackby(obj/item/I, mob/user, params) +/obj/item/reagent_containers/food/drinks/molotov/attackby(obj/item/I, mob/user, params) if(I.get_temperature() && !active) active = TRUE log_bomber(user, "has primed a", src, "for detonation") @@ -492,7 +506,7 @@ if(!isGlass) addtimer(CALLBACK(src, PROC_REF(explode)), 5 SECONDS) -/obj/item/reagent_containers/food/drinks/bottle/molotov/proc/explode() +/obj/item/reagent_containers/food/drinks/molotov/proc/explode() if(!active) return if(get_turf(src)) @@ -504,7 +518,7 @@ target.fire_act() qdel(src) -/obj/item/reagent_containers/food/drinks/bottle/molotov/attack_self(mob/user) +/obj/item/reagent_containers/food/drinks/molotov/attack_self(mob/user) if(active) if(!isGlass) to_chat(user, "The flame's spread too far on it!") @@ -513,6 +527,9 @@ cut_overlay(custom_fire_overlay ? custom_fire_overlay : GLOB.fire_overlay) active = 0 +/obj/item/reagent_containers/food/drinks/molotov/full + list_reagents = list(/datum/reagent/consumable/ethanol/vodka = 100) + /obj/item/reagent_containers/food/drinks/bottle/pruno name = "pruno mix" desc = "A trash bag filled with fruit, sugar, yeast, and water, pulped together into a pungent slurry to be fermented in an enclosed space, traditionally the toilet." @@ -600,9 +617,9 @@ /obj/item/sandstar name = "SandBlast Sarsaparilla star" desc = "Legend says something amazing happens when you collect enough of these." - custom_price = 100 - custom_premium_price = 110 - icon = 'icons/obj/items_and_weapons.dmi' + custom_price = 10 + custom_premium_price = 11 + icon = 'icons/obj/items.dmi' icon_state = "sandstar" w_class = WEIGHT_CLASS_TINY custom_materials = list(/datum/material/gold = 200) @@ -618,6 +635,10 @@ custom_materials = list(/datum/material/wood = 800) w_class = WEIGHT_CLASS_BULKY var/sealed = FALSE + var/max_bottles = 6 + var/list/valid_bottles = list(/obj/item/reagent_containers/food/drinks/beer, + /obj/item/reagent_containers/food/drinks/ale, + /obj/item/reagent_containers/food/drinks/bottle) /obj/item/storage/bottles/Initialize() . = ..() @@ -628,12 +649,8 @@ var/datum/component/storage/S = GetComponent(/datum/component/storage) S.max_w_class = WEIGHT_CLASS_NORMAL S.max_combined_w_class = 16 - S.max_items = 6 - S.set_holdable(list( - /obj/item/reagent_containers/food/drinks/beer, - /obj/item/reagent_containers/food/drinks/ale, - /obj/item/reagent_containers/food/drinks/bottle - )) + S.max_items = max_bottles + S.set_holdable(valid_bottles) S.locked = sealed /obj/item/storage/bottles/update_icon_state() @@ -668,3 +685,17 @@ /obj/item/storage/bottles/sandblast/PopulateContents() for(var/i in 1 to 6) new /obj/item/reagent_containers/food/drinks/bottle/sarsaparilla(src) + +/obj/item/storage/bottles/moonshine + name = "moonshine bottle crate" + desc = "Holds four bottles of the strongest hooch this side of the Frontier." + icon_state = "hoochcrate" + max_bottles = 4 + valid_bottles = list(/obj/item/reagent_containers/food/drinks/bottle/moonshine) + +/obj/item/storage/bottles/moonshine/PopulateContents() + for(var/i in 1 to 4) + new /obj/item/reagent_containers/food/drinks/bottle/moonshine(src) + +/obj/item/storage/bottles/moonshine/sealed + sealed = TRUE diff --git a/code/modules/food_and_drinks/drinks/drinks/breakawayflask.dm b/code/modules/food_and_drinks/drinks/drinks/breakawayflask.dm index 922e74ee9a3..45dc05531ba 100644 --- a/code/modules/food_and_drinks/drinks/drinks/breakawayflask.dm +++ b/code/modules/food_and_drinks/drinks/drinks/breakawayflask.dm @@ -1,6 +1,6 @@ /obj/item/reagent_containers/food/drinks/breakawayflask name = "breakaway flask" - desc = "A special flask designed to stabilize trick wines and shatter violently on contact." + desc = "A special flask designed to stabilize Illestren Bacterium and shatter violently on contact." icon_state = "breakawayflask" item_state = "breakawayflask" w_class = WEIGHT_CLASS_SMALL @@ -15,7 +15,7 @@ obj_flags = UNIQUE_RENAME drop_sound = 'sound/items/handling/drinkglass_drop.ogg' pickup_sound = 'sound/items/handling/drinkglass_pickup.ogg' - custom_price = 25 + custom_price = 15 can_have_cap = TRUE cap_icon_state = "baflask_cap" cap_on = TRUE @@ -41,7 +41,7 @@ else icon_state = "breakawayflask" name = "breakaway flask" - desc = "A special flask designed to stabilize trick wines and shatter violently on contact." + desc = "A special flask designed to stabilize Illestren Bacterium and shatter violently on contact." return /obj/item/reagent_containers/food/drinks/breakawayflask/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) @@ -54,31 +54,21 @@ vintage = TRUE /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine - name = "Vintage Saint-Roumain Ashwine" + name = "Vintage Wine of Ash" list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/ash_wine = 45, /datum/reagent/consumable/ethanol/absinthe = 5) - desc = "Ashwine was originally created using herbs native to Illestren, as a means of relaxing after a long hunt. The Saint-Roumain Militia has no prohibition on a little fun." + desc = "Wine of Ash was originally created using herbs native to Illestren, as a means of relaxing after a long hunt. The Saint-Roumain Militia has no prohibition on a little fun." /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/icewine - name = "Vintage Saint-Roumain Icewine" + name = "Vintage Wine Of Ice" list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/ice_wine = 45, /datum/reagent/consumable/ethanol/sake = 5) - desc = "Icewine, inspired by the frigid slopes of the 'Godforsaken Precipice' that forged the group's reputation as valiant survivalists, was engineered to both soothe overheated Hunters and freeze their foes in their tracks." + desc = "Wine Of Ice, inspired by the frigid slopes of the 'Godforsaken Precipice' that forged the group's reputation as valiant survivalists, was engineered to both soothe overheated Hunters and freeze their foes in their tracks." /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/shockwine - name = "Vintage Saint-Roumain Shockwine" + name = "Vintage Lightnings' Blessing" list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/shock_wine = 45, /datum/reagent/consumable/ethanol/vodka = 5) - desc = "Shockwine, made to invigorate consumers and incapacitate targets, took inspiration from an incident early in the Saint-Roumain Militia's history, when a young Shadow stopped a rampaging beast by plunging an electrical cable that had been dislodged in the fighting into its side." + desc = "Lightnings' Blessing, made to invigorate consumers and incapacitate targets, took inspiration from an incident early in the Saint-Roumain Militia's history, when a young Shadow stopped a rampaging beast by plunging an electrical cable that had been dislodged in the fighting into its side." /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/hearthwine - name = "Vintage Saint-Roumain Hearthwine" + name = "Vintage Hearthflame" list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/hearth_wine = 45, /datum/reagent/consumable/ethanol/hcider = 5) - desc = "Hearthwine is one of the most important tonics devised by the SRM – both for its potent abilities in staunching wounds or setting enemies aflame, and for its closeness to the divine fire associated with the Ashen Huntsman." - -/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/forcewine - name = "Vintage Saint-Roumain Forcewine" - list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/force_wine = 45, /datum/reagent/consumable/ethanol/tequila = 5) - desc = "Forcewine was originally created as a means to create temporary shelters during long tracking expeditions. While the structures proved to be not as versatile in shape as its brewers had hoped, its utility in creating barricades or heming in hostiles was still greatly appreciated." - -/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/prismwine - name = "Vintage Saint-Roumain Prismwine" - list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/prism_wine = 45, /datum/reagent/consumable/ethanol/gin = 5) - desc = "Prismwine is one of the most recent additions to the Saint-Roumain Militia's reserve of trickwines. It was purpose-created for fighting hostiles that utilized more advanced energy projection attacks, such as the cryonic beams of watchers or the laser guns of interstellar pirates." + desc = "Hearthflame is one of the most important tonics devised by the SRM – both for its potent abilities in staunching wounds or setting enemies aflame, and for its closeness to the divine fire associated with the Ashen Huntsman." diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm index 2f73f7678e3..79dccfc28f4 100644 --- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm @@ -13,7 +13,7 @@ obj_flags = UNIQUE_RENAME drop_sound = 'sound/items/handling/drinkglass_drop.ogg' pickup_sound = 'sound/items/handling/drinkglass_pickup.ogg' - custom_price = 25 + custom_price = 2 /obj/item/reagent_containers/food/drinks/drinkingglass/on_reagent_change(changetype) cut_overlays() @@ -33,6 +33,32 @@ icon_state = "glass_empty" renamedByPlayer = FALSE //so new drinks can rename the glass +/obj/item/reagent_containers/food/drinks/beaglemug + name = "beagle mug" + desc = "A beloved edifice of a Dog, now as a mug!" + icon_state = "beaglemug" + amount_per_transfer_from_this = 10 + volume = 30 + custom_materials = list(/datum/material/glass=500) + max_integrity = 20 + spillable = TRUE + resistance_flags = ACID_PROOF + obj_flags = UNIQUE_RENAME + drop_sound = 'sound/items/handling/drinkglass_drop.ogg' + pickup_sound = 'sound/items/handling/drinkglass_pickup.ogg' + custom_price = 15 + +/obj/item/reagent_containers/food/drinks/beaglemug/on_reagent_change(changetype) + cut_overlays() + if(reagents.reagent_list.len) + var/mutable_appearance/reagent_overlay = mutable_appearance(icon, "beaglemug_overlay") + icon_state = "beaglemug" + reagent_overlay.color = mix_color_from_reagents(reagents.reagent_list) + add_overlay(reagent_overlay) + else + icon_state = "beaglemug" + renamedByPlayer = FALSE + //Shot glasses!// // This lets us add shots in here instead of lumping them in with drinks because >logic // // The format for shots is the exact same as iconstates for the drinking glass, except you use a shot glass instead. // @@ -49,7 +75,7 @@ possible_transfer_amounts = list() volume = 15 custom_materials = list(/datum/material/glass=100) - custom_price = 20 + custom_price = 1 var/filled_desc = "The challenge is not taking as many as you can, but guessing what it is before you pass out." /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass/on_reagent_change(changetype) diff --git a/code/modules/food_and_drinks/drinks/drinks/modglass.dm b/code/modules/food_and_drinks/drinks/drinks/modglass.dm index 056ece3409a..2ac2a22870b 100644 --- a/code/modules/food_and_drinks/drinks/drinks/modglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/modglass.dm @@ -35,7 +35,7 @@ GLOBAL_LIST_EMPTY(glass_variants) obj_flags = UNIQUE_RENAME drop_sound = 'sound/items/handling/drinkglass_drop.ogg' pickup_sound = 'sound/items/handling/drinkglass_pickup.ogg' - custom_price = 25 + custom_price = 5 //rim defines the size of rim the glass has, used to decide which skins are available, and which garnish sprites to use var/rim = RIM_MEDIUM //stores the number of variations this glass sprite has to select from diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm index 0adf98ba566..bd24a21d1a1 100644 --- a/code/modules/food_and_drinks/food/condiment.dm +++ b/code/modules/food_and_drinks/food/condiment.dm @@ -5,7 +5,7 @@ // to mixed-drinks code. If you want an object that starts pre-loaded, you need to make it in addition to the other code. //Food items that aren't eaten normally and leave an empty container behind. -/obj/item/reagent_containers/food/condiment +/obj/item/reagent_containers/condiment name = "condiment bottle" desc = "Just your average condiment bottle." icon = 'icons/obj/food/containers.dmi' @@ -36,23 +36,25 @@ var/icon_empty = "" fill_icon_thresholds = list(0, 10, 25, 50, 75, 100) -/obj/item/reagent_containers/food/condiment/Initialize() +/obj/item/reagent_containers/condiment/Initialize() . = ..() possible_states = typelist("possible_states", possible_states) update_appearance() -/obj/item/reagent_containers/food/condiment/update_icon() +/obj/item/reagent_containers/condiment/update_icon() cut_overlays() if(reagents.reagent_list.len > 0 && possible_states.len) - var/main_reagent = reagents.get_master_reagent_id() - if(main_reagent in possible_states) - icon_state = possible_states[main_reagent]["icon_state"] - item_state = possible_states[main_reagent]["item_state"] - icon_empty = possible_states[main_reagent]["icon_empty"] - name = possible_states[main_reagent]["name"] - desc = possible_states[main_reagent]["desc"] + + var/datum/reagent/main_reagent_ref = reagents.get_master_reagent() + var/main_reagent_id = main_reagent_ref.type + if(main_reagent_id in possible_states) + icon_state = possible_states[main_reagent_id]["icon_state"] + item_state = possible_states[main_reagent_id]["item_state"] + icon_empty = possible_states[main_reagent_id]["icon_empty"] + name = possible_states[main_reagent_id]["name"] + desc = possible_states[main_reagent_id]["desc"] return ..(TRUE) // Don't fill normally else name = "condiment bottle" @@ -64,7 +66,7 @@ . = ..() -/obj/item/reagent_containers/food/condiment/attack(mob/M, mob/user, def_zone) +/obj/item/reagent_containers/condiment/attack(mob/M, mob/user, def_zone) if(!reagents || !reagents.total_volume) to_chat(user, "None of [src] left, oh no!") @@ -90,7 +92,7 @@ playsound(M.loc,'sound/items/drink.ogg', rand(10,50), TRUE) return 1 -/obj/item/reagent_containers/food/condiment/afterattack(obj/target, mob/user , proximity) +/obj/item/reagent_containers/condiment/afterattack(obj/target, mob/user , proximity) . = ..() if(!proximity) return @@ -119,23 +121,23 @@ to_chat(user, "You transfer [trans] units of the condiment to [target].") playsound(src, 'sound/items/glass_transfer.ogg', 50, 1) -/obj/item/reagent_containers/food/condiment/on_reagent_change(changetype) +/obj/item/reagent_containers/condiment/on_reagent_change(changetype) update_appearance() -/obj/item/reagent_containers/food/condiment/enzyme +/obj/item/reagent_containers/condiment/enzyme name = "universal enzyme" desc = "Used in cooking various dishes." icon_state = "enzyme" list_reagents = list(/datum/reagent/consumable/enzyme = 50) -/obj/item/reagent_containers/food/condiment/sugar +/obj/item/reagent_containers/condiment/sugar name = "sugar sack" desc = "Tasty spacey sugar!" icon_state = "sugar" item_state = "flour" list_reagents = list(/datum/reagent/consumable/sugar = 50) -/obj/item/reagent_containers/food/condiment/saltshaker //Separate from above since it's a small shaker rather then +/obj/item/reagent_containers/condiment/saltshaker //Separate from above since it's a small shaker rather then name = "salt shaker" // a large one. desc = "Salt. From space oceans, presumably." icon_state = "saltshakersmall" @@ -145,7 +147,7 @@ volume = 20 list_reagents = list(/datum/reagent/consumable/sodiumchloride = 20) -/obj/item/reagent_containers/food/condiment/saltshaker/afterattack(obj/target, mob/living/user, proximity) +/obj/item/reagent_containers/condiment/saltshaker/afterattack(obj/target, mob/living/user, proximity) . = ..() if(!proximity) return @@ -158,7 +160,7 @@ new/obj/effect/decal/cleanable/food/salt(target) return -/obj/item/reagent_containers/food/condiment/peppermill +/obj/item/reagent_containers/condiment/peppermill name = "pepper mill" desc = "Often used to flavor food or make people sneeze." icon_state = "peppermillsmall" @@ -168,7 +170,7 @@ volume = 20 list_reagents = list(/datum/reagent/consumable/blackpepper = 20) -/obj/item/reagent_containers/food/condiment/milk +/obj/item/reagent_containers/condiment/milk name = "space milk" desc = "It's milk. White and nutritious goodness!" icon_state = "milk" @@ -177,14 +179,14 @@ righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi' list_reagents = list(/datum/reagent/consumable/milk = 50) -/obj/item/reagent_containers/food/condiment/flour +/obj/item/reagent_containers/condiment/flour name = "flour sack" desc = "A big bag of flour. Good for baking!" icon_state = "flour" item_state = "flour" list_reagents = list(/datum/reagent/consumable/flour = 30) -/obj/item/reagent_containers/food/condiment/soymilk +/obj/item/reagent_containers/condiment/soymilk name = "soy milk" desc = "It's soy milk. White and nutritious goodness!" icon_state = "soymilk" @@ -193,20 +195,20 @@ righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi' list_reagents = list(/datum/reagent/consumable/soymilk = 50) -/obj/item/reagent_containers/food/condiment/rice +/obj/item/reagent_containers/condiment/rice name = "rice sack" desc = "A big bag of rice. Good for cooking!" icon_state = "rice" item_state = "flour" list_reagents = list(/datum/reagent/consumable/rice = 30) -/obj/item/reagent_containers/food/condiment/soysauce +/obj/item/reagent_containers/condiment/soysauce name = "soy sauce" desc = "A salty soy-based flavoring." icon_state = "soysauce" list_reagents = list(/datum/reagent/consumable/soysauce = 50) -/obj/item/reagent_containers/food/condiment/mayonnaise +/obj/item/reagent_containers/condiment/mayonnaise name = "mayonnaise" desc = "An oily condiment made from egg yolks." icon_state = "mayonnaise" @@ -214,7 +216,7 @@ //Food packs. To easily apply deadly toxi... delicious sauces to your food! -/obj/item/reagent_containers/food/condiment/pack +/obj/item/reagent_containers/condiment/pack name = "condiment pack" desc = "A small plastic pack with condiments to put on your food." icon_state = "condi_empty" @@ -234,14 +236,19 @@ /datum/reagent/consumable/bbqsauce = list("condi_bbq", "BBQ sauce", "Hand wipes not included."), ) -/obj/item/reagent_containers/food/condiment/pack/update_icon() +/obj/item/reagent_containers/condiment/pack/create_reagents(max_vol, flags) + . = ..() + RegisterSignals(reagents, list(COMSIG_REAGENTS_NEW_REAGENT, COMSIG_REAGENTS_ADD_REAGENT, COMSIG_REAGENTS_REM_REAGENT), PROC_REF(on_reagent_add), TRUE) + RegisterSignal(reagents, COMSIG_REAGENTS_DEL_REAGENT, PROC_REF(on_reagent_del), TRUE) + +/obj/item/reagent_containers/condiment/pack/update_icon() SHOULD_CALL_PARENT(FALSE) - return ..() + return -/obj/item/reagent_containers/food/condiment/pack/attack(mob/M, mob/user, def_zone) //Can't feed these to people directly. +/obj/item/reagent_containers/condiment/pack/attack(mob/M, mob/user, def_zone) //Can't feed these to people directly. return -/obj/item/reagent_containers/food/condiment/pack/afterattack(obj/target, mob/user , proximity) +/obj/item/reagent_containers/condiment/pack/afterattack(obj/target, mob/user , proximity) . = ..() if(!proximity) return @@ -257,67 +264,74 @@ src.reagents.trans_to(target, amount_per_transfer_from_this, transfered_by = user) qdel(src) -/obj/item/reagent_containers/food/condiment/pack/on_reagent_change(changetype) - if(reagents.reagent_list.len > 0) - var/main_reagent = reagents.get_master_reagent_id() - if(main_reagent in possible_states) - var/list/temp_list = possible_states[main_reagent] - icon_state = temp_list[1] - desc = temp_list[3] - else - icon_state = "condi_mixed" - desc = "A small condiment pack. The label says it contains [originalname]" +/// Handles reagents getting added to the condiment pack. +/obj/item/reagent_containers/condiment/pack/proc/on_reagent_add(datum/reagents/reagents) + SIGNAL_HANDLER + + var/datum/reagent/main_reagent = reagents.get_master_reagent() + + var/main_reagent_type = main_reagent?.type + if(main_reagent_type in possible_states) + var/list/temp_list = possible_states[main_reagent_type] + icon_state = temp_list[1] + desc = temp_list[3] else - icon_state = "condi_empty" - desc = "A small condiment pack. It is empty." + icon_state = "condi_mixed" + desc = "A small condiment pack. The label says it contains [originalname]" + +/// Handles reagents getting removed from the condiment pack. +/obj/item/reagent_containers/condiment/pack/proc/on_reagent_del(datum/reagents/reagents) + SIGNAL_HANDLER + icon_state = "condi_empty" + desc = "A small condiment pack. It is empty." //Ketchup -/obj/item/reagent_containers/food/condiment/pack/ketchup +/obj/item/reagent_containers/condiment/pack/ketchup name = "ketchup pack" originalname = "ketchup" list_reagents = list(/datum/reagent/consumable/ketchup = 10) //Hot sauce -/obj/item/reagent_containers/food/condiment/pack/hotsauce +/obj/item/reagent_containers/condiment/pack/hotsauce name = "hotsauce pack" originalname = "hotsauce" list_reagents = list(/datum/reagent/consumable/capsaicin = 10) -/obj/item/reagent_containers/food/condiment/pack/astrotame +/obj/item/reagent_containers/condiment/pack/astrotame name = "astrotame pack" originalname = "astrotame" list_reagents = list(/datum/reagent/consumable/astrotame = 5) -/obj/item/reagent_containers/food/condiment/pack/bbqsauce +/obj/item/reagent_containers/condiment/pack/bbqsauce name = "bbq sauce pack" originalname = "bbq sauce" list_reagents = list(/datum/reagent/consumable/bbqsauce = 10) -/obj/item/reagent_containers/food/condiment/ketchup +/obj/item/reagent_containers/condiment/ketchup name = "ketchup bottle" desc = "You feel more american already" icon_state = "ketchup" list_reagents = list(/datum/reagent/consumable/ketchup = 50) -/obj/item/reagent_containers/food/condiment/bbqsauce +/obj/item/reagent_containers/condiment/bbqsauce name = "bbq sauce bottle" desc = "Hand wipes not included" icon_state = "bbqsauce" list_reagents = list(/datum/reagent/consumable/bbqsauce = 50) -/obj/item/reagent_containers/food/condiment/hotsauce +/obj/item/reagent_containers/condiment/hotsauce name = "hot sauce bottle" desc = "You can almost TASTE the stomach ulcers now!" icon_state = "hotsauce" list_reagents = list(/datum/reagent/consumable/capsaicin = 50) -/obj/item/reagent_containers/food/condiment/coldsauce +/obj/item/reagent_containers/condiment/coldsauce name = "cold sauce bottle" desc = "Leaves the tounge numb in it's passage" icon_state = "coldsauce" list_reagents = list(/datum/reagent/consumable/frostoil = 50) -/obj/item/reagent_containers/food/condiment/oliveoil +/obj/item/reagent_containers/condiment/oliveoil name = "olive oil bottle" desc = "A delicious oil used in cooking" icon_state = "oliveoil" diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm index fc3df2f7471..aa55dd6ebc0 100644 --- a/code/modules/food_and_drinks/food/customizables.dm +++ b/code/modules/food_and_drinks/food/customizables.dm @@ -45,7 +45,7 @@ to_chat(user, "The ingredient is too big for [src]!") else if((ingredients.len >= ingMax) || (reagents.total_volume >= volume)) to_chat(user, "You can't add more ingredients to [src]!") - else if(istype(I, /obj/item/reagent_containers/food/snacks/pizzaslice/custom) || istype(I, /obj/item/reagent_containers/food/snacks/cakeslice/custom)) + else if(istype(I, /obj/item/reagent_containers/food/snacks/pizzaslice/custom)) to_chat(user, "Adding [I.name] to [src] would make a mess.") else if(!user.transferItemToLoc(I, src)) @@ -148,9 +148,9 @@ slice.update_customizable_overlays(src) -/obj/item/reagent_containers/food/snacks/customizable/Destroy() - for(. in ingredients) - qdel(.) +/obj/item/reagent_containers/food/snacks/customizable/deconstruct(disassembled) + for(var/ingredient in ingredients) + qdel(ingredient) return ..() @@ -170,26 +170,6 @@ foodtype = GRAIN -/obj/item/reagent_containers/food/snacks/customizable/bread - name = "bread" - ingMax = 6 - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/custom - slices_num = 5 - icon = 'icons/obj/food/burgerbread.dmi' - icon_state = "tofubread" - foodtype = GRAIN - - -/obj/item/reagent_containers/food/snacks/customizable/cake - name = "cake" - ingMax = 6 - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/custom - slices_num = 5 - icon = 'icons/obj/food/piecake.dmi' - icon_state = "plaincake" - foodtype = GRAIN | DAIRY - - /obj/item/reagent_containers/food/snacks/customizable/kebab name = "kebab" desc = "Delicious food on a stick." @@ -199,15 +179,6 @@ ingMax = 6 icon_state = "rod" -/obj/item/reagent_containers/food/snacks/customizable/pasta - name = "spaghetti" - desc = "Noodles. With stuff. Delicious." - ingredients_placement = INGREDIENTS_SCATTER - ingMax = 6 - icon = 'icons/obj/food/pizzaspaghetti.dmi' - icon_state = "spaghettiboiled" - foodtype = GRAIN - /obj/item/reagent_containers/food/snacks/customizable/pie name = "pie" @@ -238,43 +209,6 @@ icon_state = "bowl" -/obj/item/reagent_containers/food/snacks/customizable/sandwich - name = "toast" - desc = "A timeless classic." - ingredients_placement = INGREDIENTS_STACK - icon = 'icons/obj/food/burgerbread.dmi' - icon_state = "breadslice" - var/finished = 0 - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/customizable/sandwich/initialize_custom_food(obj/item/reagent_containers/BASE, obj/item/I, mob/user) - icon_state = BASE.icon_state - ..() - -/obj/item/reagent_containers/food/snacks/customizable/sandwich/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/reagent_containers/food/snacks/breadslice)) //we're finishing the custom food. - var/obj/item/reagent_containers/food/snacks/breadslice/BS = I - if(finished) - return - to_chat(user, "You finish the [src.name].") - finished = 1 - name = "[customname] sandwich" - BS.reagents.trans_to(src, BS.reagents.total_volume, transfered_by = user) - ingMax = ingredients.len //can't add more ingredients after that - var/mutable_appearance/TOP = mutable_appearance(icon, "[BS.icon_state]") - TOP.pixel_y = 2 * ingredients.len + 3 - add_overlay(TOP) - if(istype(BS, /obj/item/reagent_containers/food/snacks/breadslice/custom)) - var/mutable_appearance/filling = new(icon, "[initial(BS.icon_state)]_filling") - filling.color = BS.filling_color - filling.pixel_y = 2 * ingredients.len + 3 - add_overlay(filling) - qdel(BS) - return - else - ..() - - /obj/item/reagent_containers/food/snacks/customizable/soup name = "soup" desc = "A bowl with liquid and... stuff in it." diff --git a/code/modules/food_and_drinks/food/ration.dm b/code/modules/food_and_drinks/food/ration.dm index 261fe707ed7..6766a6aedbd 100644 --- a/code/modules/food_and_drinks/food/ration.dm +++ b/code/modules/food_and_drinks/food/ration.dm @@ -83,7 +83,7 @@ list_reagents = list(/datum/reagent/consumable/nutriment = 4) /obj/item/reagent_containers/food/snacks/ration/snack - icon_state = "ration_side" + icon_state = "ration_snack" list_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/sugar = 3) /obj/item/reagent_containers/food/snacks/ration/bar @@ -92,7 +92,7 @@ /obj/item/reagent_containers/food/snacks/ration/condiment name = "condiment pack" - desc = "Just your average condiment pacl." + desc = "Just your average condiment pack." icon_state = "ration_condi" volume = 10 amount_per_transfer_from_this = 10 @@ -126,7 +126,7 @@ /obj/item/reagent_containers/food/snacks/ration/pack name = "powder pack" desc = "Mix into a bottle of water and shake." - icon_state = "ration_condi" + icon_state = "ration_pack" volume = 10 amount_per_transfer_from_this = 10 possible_transfer_amounts = list() @@ -742,84 +742,105 @@ /obj/item/reagent_containers/food/snacks/ration/condiment/cheese_spread name = "cheese spread pack" + filling_color = "#ffcc00" list_reagents = list(/datum/reagent/consumable/cheese_spread = 8) /obj/item/reagent_containers/food/snacks/ration/condiment/hot_cheese_spread name = "jalapeno cheddar cheese spread pack" + filling_color = "#ffaa00" list_reagents = list(/datum/reagent/consumable/cheese_spread = 5 , /datum/reagent/consumable/capsaicin = 3) /obj/item/reagent_containers/food/snacks/ration/condiment/garlic_cheese_spread name = "garlic parmesan cheese spread pack" + filling_color = "#ffff00" list_reagents = list(/datum/reagent/consumable/cheese_spread = 8) /obj/item/reagent_containers/food/snacks/ration/condiment/bacon_cheddar_cheese_spread name = "bacon cheddar cheese spread pack" + filling_color = "#ff9900" list_reagents = list(/datum/reagent/consumable/cheese_spread = 8) /obj/item/reagent_containers/food/snacks/ration/condiment/peanut_butter name = "peanut butter pack" + filling_color = "#664400" list_reagents = list(/datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/peanut_butter = 5) /obj/item/reagent_containers/food/snacks/ration/condiment/chunky_peanut_butter name = "chunky peanut butter pack" + filling_color = "#663300" list_reagents = list(/datum/reagent/consumable/peanut_butter = 10) /obj/item/reagent_containers/food/snacks/ration/condiment/maple_syrup name = "maple syrup pack" + filling_color = "#661100" list_reagents = list(/datum/reagent/consumable/sugar = 10) /obj/item/reagent_containers/food/snacks/ration/pack/chocolate_protein_beverage name = "chocolate hazelnut protein drink powder pack" + filling_color = "#664400" list_reagents = list(/datum/reagent/consumable/coco = 5, /datum/reagent/consumable/eggyolk = 5) /obj/item/reagent_containers/food/snacks/ration/pack/fruit_beverage name = "fruit punch beverage powder, carb-electrolyte pack" + filling_color = "#ff4400" list_reagents = list(/datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/applejuice = 2, /datum/reagent/consumable/orangejuice = 2) /obj/item/reagent_containers/food/snacks/ration/pack/fruit_smoothie_beverage name = "tropical blend fruit and vegetable smoothie powder pack" + filling_color = "#ffaa00" list_reagents = list(/datum/reagent/consumable/pineapplejuice = 3, /datum/reagent/consumable/orangejuice = 3, /datum/reagent/consumable/eggyolk = 3) /obj/item/reagent_containers/food/snacks/ration/pack/grape_beverage name = "grape beverage powder, carb-fortified pack" + filling_color = "#9900ff" list_reagents = list(/datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/grapejuice = 5) /obj/item/reagent_containers/food/snacks/ration/pack/grape_beverage_sugar_free name = "sugar-free grape beverage base powder" + filling_color = "#9900ff" list_reagents = list(/datum/reagent/consumable/grapejuice = 10) /obj/item/reagent_containers/food/snacks/ration/pack/lemonade_beverage name = "lemonade drink powder pack" + filling_color = "#ffff80" list_reagents = list(/datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/lemonjuice = 5) /obj/item/reagent_containers/food/snacks/ration/pack/lemonade_beverage_suger_free name = "lemonade sugar-free beverage base pack" + filling_color = "#ffff00" list_reagents = list(/datum/reagent/consumable/lemonjuice = 10) /obj/item/reagent_containers/food/snacks/ration/pack/orange_beverage name = "orange beverage powder, carb-fortified pack" + filling_color = "#ffbb00" list_reagents = list(/datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/orangejuice = 5) /obj/item/reagent_containers/food/snacks/ration/pack/orange_beverage_sugar_free name = "orange beverage base, sugar-free pack" + filling_color = "#ff9900" list_reagents = list(/datum/reagent/consumable/orangejuice = 10) /obj/item/reagent_containers/food/snacks/ration/pack/cherry_beverage name = "cherry high-energy beverage powder pack" + filling_color = "#ff5555" list_reagents = list(/datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/cherryjelly = 5) /obj/item/reagent_containers/food/snacks/ration/pack/pineapple_beverage name = "pinapple fruit beverage base pack" + filling_color = "#fff111" list_reagents = list(/datum/reagent/consumable/pineapplejuice = 10) /obj/item/reagent_containers/food/snacks/ration/pack/freeze_dried_coffee_orange name = "freeze-dried coffee flavored with orange pack" + filling_color = "#cc7400" list_reagents = list(/datum/reagent/consumable/coffee = 5, /datum/reagent/consumable/orangejuice = 3) /obj/item/reagent_containers/food/snacks/ration/pack/freeze_dried_coffee_chocolate name = "freeze-dried coffee flavored with chocolate pack" + filling_color = "#803300" list_reagents = list(/datum/reagent/consumable/coffee = 5, /datum/reagent/consumable/coco = 3) /obj/item/reagent_containers/food/snacks/ration/pack/freeze_dried_coffee_hazelnut name = "freeze-dried coffee flavored with hazelnut pack" + filling_color = "#553300" list_reagents = list(/datum/reagent/consumable/coffee = 5, /datum/reagent/consumable/coco = 3) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 61121a3ca95..ff49bb00e0d 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -56,6 +56,16 @@ All foods are distributed among various categories. Use common sense. //Placeholder for effect that trigger on eating that aren't tied to reagents. +/obj/item/reagent_containers/food/snacks/Initialize(mapload) + . = ..() + RegisterSignal(src, COMSIG_ITEM_FRIED, PROC_REF(on_fried)) + + +/obj/item/reagent_containers/food/snacks/proc/on_fried(fry_object) + reagents.trans_to(fry_object, reagents.total_volume) + qdel() + return COMSIG_FRYING_HANDLED + /obj/item/reagent_containers/food/snacks/add_initial_reagents() if(tastes && tastes.len) if(list_reagents) @@ -175,7 +185,7 @@ All foods are distributed among various categories. Use common sense. if(W.w_class > WEIGHT_CLASS_SMALL) to_chat(user, span_warning("[S] is too big for [src]!")) return FALSE - if(istype(S) && (!S.customfoodfilling || istype(W, /obj/item/reagent_containers/food/snacks/customizable) || istype(W, /obj/item/reagent_containers/food/snacks/pizzaslice/custom) || istype(W, /obj/item/reagent_containers/food/snacks/cakeslice/custom))) + if(!S.customfoodfilling || istype(W, /obj/item/reagent_containers/food/snacks/customizable) || istype(W, /obj/item/reagent_containers/food/snacks/pizzaslice/custom)) to_chat(user, span_warning("[src] can't be filled with [S]!")) return FALSE if(contents.len >= 20) @@ -312,7 +322,7 @@ All foods are distributed among various categories. Use common sense. return result -/obj/item/reagent_containers/food/snacks/Destroy() +/obj/item/reagent_containers/food/snacks/deconstruct(disassembled) if(contents) for(var/atom/movable/something in contents) something.forceMove(drop_location()) @@ -337,26 +347,10 @@ All foods are distributed among various categories. Use common sense. /// All the food items that can store an item inside itself, like bread or cake. /obj/item/reagent_containers/food/snacks/store w_class = WEIGHT_CLASS_NORMAL - var/stored_item = 0 -/obj/item/reagent_containers/food/snacks/store/attackby(obj/item/W, mob/user, params) - ..() - if(W.w_class <= WEIGHT_CLASS_SMALL & !istype(W, /obj/item/reagent_containers/food/snacks)) //can't slip snacks inside, they're used for custom foods. - if(W.get_sharpness()) - return 0 - if(stored_item) - return 0 - if(!iscarbon(user)) - return 0 - if(contents.len >= 20) - to_chat(user, "[src] is full.") - return 0 - to_chat(user, "You slip [W] inside [src].") - user.transferItemToLoc(W, src) - add_fingerprint(user) - contents += W - stored_item = 1 - return 1 // no afterattack here +/obj/item/reagent_containers/food/snacks/store/Initialize() + . = ..() + AddComponent(/datum/component/food_storage) /obj/item/reagent_containers/food/snacks/MouseDrop(atom/over) var/turf/T = get_turf(src) diff --git a/code/modules/food_and_drinks/food/snacks/dough.dm b/code/modules/food_and_drinks/food/snacks/dough.dm index 9567690dc71..4f5f0637992 100644 --- a/code/modules/food_and_drinks/food/snacks/dough.dm +++ b/code/modules/food_and_drinks/food/snacks/dough.dm @@ -7,7 +7,7 @@ desc = "A piece of dough." icon = 'icons/obj/food/food_ingredients.dmi' icon_state = "dough" - cooked_type = /obj/item/reagent_containers/food/snacks/store/bread/plain + cooked_type = /obj/item/food/bread/plain list_reagents = list(/datum/reagent/consumable/nutriment = 6) w_class = WEIGHT_CLASS_NORMAL tastes = list("dough" = 1) @@ -82,7 +82,7 @@ desc = "Cook it to get a cake." icon = 'icons/obj/food/food_ingredients.dmi' icon_state = "cakebatter" - cooked_type = /obj/item/reagent_containers/food/snacks/store/cake/plain + cooked_type = /obj/item/food/cake/plain list_reagents = list(/datum/reagent/consumable/nutriment = 9) w_class = WEIGHT_CLASS_NORMAL tastes = list("batter" = 1) diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm deleted file mode 100644 index 13342a96890..00000000000 --- a/code/modules/food_and_drinks/food/snacks_bread.dm +++ /dev/null @@ -1,302 +0,0 @@ - -/obj/item/reagent_containers/food/snacks/store/bread - icon = 'icons/obj/food/burgerbread.dmi' - volume = 80 - slices_num = 5 - tastes = list("bread" = 10) - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/store/bread/Initialize() - . = ..() - AddElement(/datum/element/dunkable, 10) - -/obj/item/reagent_containers/food/snacks/breadslice - icon = 'icons/obj/food/burgerbread.dmi' - bitesize = 2 - custom_food_type = /obj/item/reagent_containers/food/snacks/customizable/sandwich - filling_color = "#FFA500" - list_reagents = list(/datum/reagent/consumable/nutriment = 2) - slot_flags = ITEM_SLOT_HEAD - customfoodfilling = 0 //to avoid infinite bread-ception - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/breadslice/Initialize() - . = ..() - AddElement(/datum/element/dunkable, 10) - -/obj/item/reagent_containers/food/snacks/store/bread/plain - name = "bread" - desc = "Some plain old earthen bread." - icon_state = "bread" - bonus_reagents = list(/datum/reagent/consumable/nutriment = 7) - list_reagents = list(/datum/reagent/consumable/nutriment = 10) - custom_food_type = /obj/item/reagent_containers/food/snacks/customizable/bread - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/plain - tastes = list("bread" = 10) - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/breadslice/plain - name = "bread slice" - desc = "A slice of home." - icon_state = "breadslice" - customfoodfilling = 1 - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/breadslice/moldy - name = "moldy bread slice" - desc = "Entire stations have been ripped apart over arguing whether this is still good to eat." - icon_state = "moldybreadslice" - customfoodfilling = 0 - bonus_reagents = list(/datum/reagent/consumable/mold = 10) - tastes = list("decaying fungus" = 1) - foodtype = GROSS - -/obj/item/reagent_containers/food/snacks/store/bread/meat - name = "meatbread loaf" - desc = "The culinary base of every self-respecting eloquen/tg/entleman." - icon_state = "meatbread" - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/meat - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 10) - list_reagents = list(/datum/reagent/consumable/nutriment = 30, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("bread" = 10, "meat" = 10) - foodtype = GRAIN | MEAT - -/obj/item/reagent_containers/food/snacks/breadslice/meat - name = "meatbread slice" - desc = "A slice of delicious meatbread." - icon_state = "meatbreadslice" - foodtype = GRAIN | MEAT - -/obj/item/reagent_containers/food/snacks/store/bread/xenomeat - name = "xenomeatbread loaf" - desc = "The culinary base of every self-respecting eloquen/tg/entleman. Extra Heretical." - icon_state = "xenomeatbread" - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/xenomeat - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 10) - list_reagents = list(/datum/reagent/consumable/nutriment = 30, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("bread" = 10, "acid" = 10) - foodtype = GRAIN | MEAT - -/obj/item/reagent_containers/food/snacks/breadslice/xenomeat - name = "xenomeatbread slice" - desc = "A slice of delicious meatbread. Extra Heretical." - icon_state = "xenobreadslice" - filling_color = "#32CD32" - list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 1) - foodtype = GRAIN | MEAT - -/obj/item/reagent_containers/food/snacks/store/bread/spidermeat - name = "spider meat loaf" - desc = "Reassuringly green meatloaf made from spider meat." - icon_state = "spidermeatbread" - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/spidermeat - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 10) - list_reagents = list(/datum/reagent/consumable/nutriment = 30, /datum/reagent/toxin = 15, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("bread" = 10, "cobwebs" = 5) - foodtype = GRAIN | MEAT | TOXIC - -/obj/item/reagent_containers/food/snacks/breadslice/spidermeat - name = "spider meat bread slice" - desc = "A slice of meatloaf made from an animal that most likely still wants you dead." - icon_state = "spiderbreadslice" - filling_color = "#7CFC00" - list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/toxin = 3, /datum/reagent/consumable/nutriment/vitamin = 1) - foodtype = GRAIN | MEAT | TOXIC - -/obj/item/reagent_containers/food/snacks/store/bread/banana - name = "banana-nut bread" - desc = "A heavenly and filling treat." - icon_state = "bananabread" - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/banana - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/banana = 20) - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/banana = 20) - tastes = list("bread" = 10) // bananjuice will also flavour - foodtype = GRAIN | FRUIT - - -/obj/item/reagent_containers/food/snacks/breadslice/banana - name = "banana-nut bread slice" - desc = "A slice of delicious banana bread." - icon_state = "bananabreadslice" - filling_color = "#FFD700" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/banana = 4) - foodtype = GRAIN | FRUIT - -/obj/item/reagent_containers/food/snacks/store/bread/tofu - name = "Tofubread" - desc = "Like meatbread but for vegetarians. Not guaranteed to give superpowers." - icon_state = "tofubread" - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/tofu - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 10) - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("bread" = 10, "tofu" = 10) - foodtype = GRAIN | VEGETABLES - -/obj/item/reagent_containers/food/snacks/breadslice/tofu - name = "tofubread slice" - desc = "A slice of delicious tofubread." - icon_state = "tofubreadslice" - filling_color = "#FF8C00" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 1) - foodtype = GRAIN | VEGETABLES - -/obj/item/reagent_containers/food/snacks/store/bread/creamcheese - name = "cream cheese bread" - desc = "Yum yum yum!" - icon_state = "creamcheesebread" - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/creamcheese - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 5) - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("bread" = 10, "cheese" = 10) - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/breadslice/creamcheese - name = "cream cheese bread slice" - desc = "A slice of yum!" - icon_state = "creamcheesebreadslice" - filling_color = "#FF8C00" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 1) - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/store/bread/mimana - name = "mimana bread" - desc = "Best eaten in silence." - icon_state = "mimanabread" - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/mimana - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 5) - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/toxin/mutetoxin = 5, /datum/reagent/consumable/nothing = 5, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("bread" = 10, "silence" = 10) - foodtype = GRAIN | FRUIT - -/obj/item/reagent_containers/food/snacks/breadslice/mimana - name = "mimana bread slice" - desc = "A slice of silence!" - icon_state = "mimanabreadslice" - filling_color = "#C0C0C0" - list_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/toxin/mutetoxin = 1, /datum/reagent/consumable/nothing = 1, /datum/reagent/consumable/nutriment/vitamin = 1) - foodtype = GRAIN | FRUIT - -/obj/item/reagent_containers/food/snacks/breadslice/custom - name = "bread slice" - icon_state = "tofubreadslice" - filling_color = "#FFFFFF" - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/baguette - name = "baguette" - desc = "Bon appetit!" - icon = 'icons/obj/food/burgerbread.dmi' - icon_state = "baguette" - item_state = "baguette" - bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 2) - list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 1) - bitesize = 3 - w_class = WEIGHT_CLASS_NORMAL - slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT - attack_verb = list("touche'd") - tastes = list("bread" = 1) - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/garlicbread - name = "garlic bread" - desc = "Alas, it is limited." - icon = 'icons/obj/food/burgerbread.dmi' - icon_state = "garlicbread" - item_state = "garlicbread" - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 2) - list_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 4, /datum/reagent/consumable/garlic = 2) - bitesize = 3 - tastes = list("bread" = 1, "garlic" = 1, "butter" = 1) - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/deepfryholder - name = "Deep Fried Foods Holder Obj" - desc = "If you can see this description the code for the deep fryer fucked up." - icon = 'icons/obj/food/food.dmi' - icon_state = "" - bitesize = 2 - -/obj/item/reagent_containers/food/snacks/deepfryholder/Initialize(mapload, obj/item/fried) - . = ..() - name = fried.name //We'll determine the other stuff when it's actually removed - appearance = fried.appearance - layer = initial(layer) - plane = initial(plane) - lefthand_file = fried.lefthand_file - righthand_file = fried.righthand_file - item_state = fried.item_state - desc = fried.desc - w_class = fried.w_class - slowdown = fried.slowdown - equip_delay_self = fried.equip_delay_self - equip_delay_other = fried.equip_delay_other - strip_delay = fried.strip_delay - species_exception = fried.species_exception - item_flags = fried.item_flags - obj_flags = fried.obj_flags - inhand_x_dimension = fried.inhand_x_dimension - inhand_y_dimension = fried.inhand_y_dimension - - if(istype(fried, /obj/item/reagent_containers/food/snacks)) - fried.reagents.trans_to(src, fried.reagents.total_volume) - qdel(fried) - else - fried.forceMove(src) - -/obj/item/reagent_containers/food/snacks/deepfryholder/Destroy() - if(contents) - QDEL_LIST(contents) - . = ..() - -/obj/item/reagent_containers/food/snacks/deepfryholder/On_Consume(mob/living/eater) - if(contents) - QDEL_LIST(contents) - ..() - -/obj/item/reagent_containers/food/snacks/deepfryholder/proc/fry(cook_time = 30) - switch(cook_time) - if(0 to 15) - add_atom_colour(rgb(166,103,54), FIXED_COLOUR_PRIORITY) - name = "lightly-fried [name]" - desc = "[desc] It's been lightly fried in a deep fryer." - if(16 to 49) - add_atom_colour(rgb(103,63,24), FIXED_COLOUR_PRIORITY) - name = "fried [name]" - desc = "[desc] It's been fried, increasing its tastiness value by [rand(1, 75)]%." - if(50 to 59) - add_atom_colour(rgb(63,23,4), FIXED_COLOUR_PRIORITY) - name = "deep-fried [name]" - desc = "[desc] Deep-fried to perfection." - if(60 to INFINITY) - add_atom_colour(rgb(33,19,9), FIXED_COLOUR_PRIORITY) - name = "\proper the physical manifestation of the very concept of fried foods" - desc = "A heavily-fried...something. Who can tell anymore?" - filling_color = color - foodtype |= FRIED - -/obj/item/reagent_containers/food/snacks/butterbiscuit - name = "butter biscuit" - desc = "Well butter my biscuit!" - icon = 'icons/obj/food/food.dmi' - icon_state = "butterbiscuit" - filling_color = "#F0E68C" - list_reagents = list(/datum/reagent/consumable/nutriment = 5) - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) - tastes = list("butter" = 1, "biscuit" = 1) - foodtype = GRAIN | BREAKFAST - -/obj/item/reagent_containers/food/snacks/butterdog - name = "butterdog" - desc = "Made from exotic butters." - icon = 'icons/obj/food/food.dmi' - icon_state = "butterdog" - bitesize = 1 - filling_color = "#F1F49A" - list_reagents = list(/datum/reagent/consumable/nutriment = 5) - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) - tastes = list("butter", "exotic butter") - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/butterdog/ComponentInitialize() - . = ..() - AddComponent(/datum/component/slippery, 80) diff --git a/code/modules/food_and_drinks/food/snacks_cake.dm b/code/modules/food_and_drinks/food/snacks_cake.dm deleted file mode 100644 index d6f6151d47a..00000000000 --- a/code/modules/food_and_drinks/food/snacks_cake.dm +++ /dev/null @@ -1,431 +0,0 @@ -/obj/item/reagent_containers/food/snacks/store/cake - icon = 'icons/obj/food/piecake.dmi' - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/plain - slices_num = 5 - bitesize = 3 - volume = 80 - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("cake" = 1) - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/cakeslice - icon = 'icons/obj/food/piecake.dmi' - trash = /obj/item/trash/plate - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 1) - customfoodfilling = 0 //to avoid infinite cake-ception - tastes = list("cake" = 1) - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/store/cake/plain - name = "plain cake" - desc = "A plain cake, not a lie." - icon_state = "plaincake" - custom_food_type = /obj/item/reagent_containers/food/snacks/customizable/cake - bonus_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 2) - tastes = list("sweetness" = 2,"cake" = 5) - foodtype = GRAIN | DAIRY | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/plain - name = "plain cake slice" - desc = "Just a slice of cake, it is enough for everyone." - icon_state = "plaincake_slice" - filling_color = "#FFD700" - customfoodfilling = 1 - tastes = list("sweetness" = 2,"cake" = 5) - foodtype = GRAIN | DAIRY | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/carrot - name = "carrot cake" - desc = "A favorite desert of a certain wascally wabbit. Not a lie." - icon_state = "carrotcake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/carrot - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/medicine/oculine = 5, /datum/reagent/consumable/nutriment/vitamin = 10) - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/medicine/oculine = 10, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("cake" = 5, "sweetness" = 2, "carrot" = 1) - foodtype = GRAIN | DAIRY | VEGETABLES | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/carrot - name = "carrot cake slice" - desc = "Carrotty slice of Carrot Cake, carrots are good for your eyes! Also not a lie." - icon_state = "carrotcake_slice" - filling_color = "#FFA500" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/medicine/oculine = 2, /datum/reagent/consumable/nutriment/vitamin = 1) - tastes = list("cake" = 5, "sweetness" = 2, "carrot" = 1) - foodtype = GRAIN | DAIRY | VEGETABLES | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/brain - name = "brain cake" - desc = "A squishy cake-thing." - icon_state = "braincake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/brain - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/medicine/mannitol = 10, /datum/reagent/consumable/nutriment/vitamin = 10) - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/medicine/mannitol = 10, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("cake" = 5, "sweetness" = 2, "brains" = 1) - foodtype = GRAIN | DAIRY | MEAT | GROSS | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/brain - name = "brain cake slice" - desc = "Lemme tell you something about prions. THEY'RE DELICIOUS." - icon_state = "braincakeslice" - filling_color = "#FF69B4" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/medicine/mannitol = 2, /datum/reagent/consumable/nutriment/vitamin = 1) - tastes = list("cake" = 5, "sweetness" = 2, "brains" = 1) - foodtype = GRAIN | DAIRY | MEAT | GROSS | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/cheese - name = "cheese cake" - desc = "DANGEROUSLY cheesy." - icon_state = "cheesecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/cheese - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment/vitamin = 10) - tastes = list("cake" = 4, "cream cheese" = 3) - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/cakeslice/cheese - name = "cheese cake slice" - desc = "Slice of pure cheestisfaction." - icon_state = "cheesecake_slice" - filling_color = "#FFFACD" - tastes = list("cake" = 4, "cream cheese" = 3) - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/store/cake/orange - name = "orange cake" - desc = "A cake with added orange." - icon_state = "orangecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/orange - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 10) - tastes = list("cake" = 5, "sweetness" = 2, "oranges" = 2) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/orange - name = "orange cake slice" - desc = "Just a slice of cake, it is enough for everyone." - icon_state = "orangecake_slice" - filling_color = "#FFA500" - tastes = list("cake" = 5, "sweetness" = 2, "oranges" = 2) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/lime - name = "lime cake" - desc = "A cake with added lime." - icon_state = "limecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/lime - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 10) - tastes = list("cake" = 5, "sweetness" = 2, "unbearable sourness" = 2) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/lime - name = "lime cake slice" - desc = "Just a slice of cake, it is enough for everyone." - icon_state = "limecake_slice" - filling_color = "#00FF00" - tastes = list("cake" = 5, "sweetness" = 2, "unbearable sourness" = 2) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/lemon - name = "lemon cake" - desc = "A cake with added lemon." - icon_state = "lemoncake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/lemon - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 10) - tastes = list("cake" = 5, "sweetness" = 2, "sourness" = 2) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/lemon - name = "lemon cake slice" - desc = "Just a slice of cake, it is enough for everyone." - icon_state = "lemoncake_slice" - filling_color = "#FFEE00" - tastes = list("cake" = 5, "sweetness" = 2, "sourness" = 2) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/chocolate - name = "chocolate cake" - desc = "A cake with added chocolate." - icon_state = "chocolatecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/chocolate - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 10) - tastes = list("cake" = 5, "sweetness" = 1, "chocolate" = 4) - foodtype = GRAIN | DAIRY | JUNKFOOD | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/chocolate - name = "chocolate cake slice" - desc = "Just a slice of cake, it is enough for everyone." - icon_state = "chocolatecake_slice" - filling_color = "#A0522D" - tastes = list("cake" = 5, "sweetness" = 1, "chocolate" = 4) - foodtype = GRAIN | DAIRY | JUNKFOOD | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/birthday - name = "birthday cake" - desc = "Happy Birthday little clown..." - icon_state = "birthdaycake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/birthday - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 7, /datum/reagent/consumable/sprinkles = 10, /datum/reagent/consumable/nutriment/vitamin = 5) - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/sprinkles = 10, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("cake" = 5, "sweetness" = 1) - foodtype = GRAIN | DAIRY | JUNKFOOD | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/birthday/microwave_act(obj/machinery/microwave/M) //super sekrit club - new /obj/item/clothing/head/hardhat/cakehat(get_turf(src)) - qdel(src) - -/obj/item/reagent_containers/food/snacks/cakeslice/birthday - name = "birthday cake slice" - desc = "A slice of your birthday." - icon_state = "birthdaycakeslice" - filling_color = "#DC143C" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sprinkles = 2, /datum/reagent/consumable/nutriment/vitamin = 1) - tastes = list("cake" = 5, "sweetness" = 1) - foodtype = GRAIN | DAIRY | JUNKFOOD | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/birthday/energy - name = "energy cake" - desc = "Just enough calories for a whole nuclear operative squad." - icon_state = "energycake" - force = 5 - hitsound = 'sound/weapons/blade1.ogg' - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/birthday/energy - list_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/sprinkles = 10, /datum/reagent/consumable/nutriment/vitamin = 5, /datum/reagent/consumable/pacfuel = 10, /datum/reagent/consumable/liquidelectricity = 10) - tastes = list("cake" = 3, "a Vlad's Salad" = 1) - -/obj/item/reagent_containers/food/snacks/store/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) - -/obj/item/reagent_containers/food/snacks/store/cake/birthday/energy/attack(mob/living/M, mob/living/user) - . = ..() - if(HAS_TRAIT(user, TRAIT_PACIFISM) && M != user) //Prevents pacifists from attacking others directly - return - energy_bite(M, user) - -/obj/item/reagent_containers/food/snacks/store/cake/birthday/energy/microwave_act(obj/machinery/microwave/M) //super sekriter club - new /obj/item/clothing/head/hardhat/cakehat/energycake(get_turf(src)) - qdel(src) - -/obj/item/reagent_containers/food/snacks/cakeslice/birthday/energy - name = "energy cake slice" - desc = "For the traitor on the go." - icon_state = "energycakeslice" - force = 2 - hitsound = 'sound/weapons/blade1.ogg' - filling_color = "#00FF00" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sprinkles = 2, /datum/reagent/consumable/nutriment/vitamin = 1, /datum/reagent/consumable/pacfuel = 2, /datum/reagent/consumable/liquidelectricity = 2) - tastes = list("cake" = 3, "a Vlad's Salad" = 1) - -/obj/item/reagent_containers/food/snacks/cakeslice/birthday/energy/proc/energy_bite(mob/living/user) - to_chat(user, "As you eat the cake slice, you accidentally hurt yourself on the embedded energy dagger!") - user.apply_damage(18,BRUTE,BODY_ZONE_HEAD) - playsound(user, 'sound/weapons/blade1.ogg', 5, TRUE) - -/obj/item/reagent_containers/food/snacks/cakeslice/birthday/energy/attack(mob/living/M, mob/living/user) - . = ..() - if(HAS_TRAIT(user, TRAIT_PACIFISM) && M != user) //Prevents pacifists from attacking others directly - return - energy_bite(M, user) - -/obj/item/reagent_containers/food/snacks/store/cake/apple - name = "apple cake" - desc = "A cake centred with Apple." - icon_state = "applecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/apple - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 10) - tastes = list("cake" = 5, "sweetness" = 1, "apple" = 1) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/apple - name = "apple cake slice" - desc = "A slice of heavenly cake." - icon_state = "applecakeslice" - filling_color = "#FF4500" - tastes = list("cake" = 5, "sweetness" = 1, "apple" = 1) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/custom - name = "cake slice" - icon_state = "plaincake_slice" - filling_color = "#FFFFFF" - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/store/cake/slimecake - name = "Slime cake" - desc = "A cake made of slimes. Probably not electrified." - icon_state = "slimecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/slimecake - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 3) - tastes = list("cake" = 5, "sweetness" = 1, "slime" = 1) - foodtype = GRAIN | DAIRY | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/slimecake - name = "slime cake slice" - desc = "A slice of slime cake." - icon_state = "slimecake_slice" - filling_color = "#00FFFF" - tastes = list("cake" = 5, "sweetness" = 1, "slime" = 1) - foodtype = GRAIN | DAIRY | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/pumpkinspice - name = "pumpkin spice cake" - desc = "A hollow cake with real pumpkin." - icon_state = "pumpkinspicecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/pumpkinspice - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("cake" = 5, "sweetness" = 1, "pumpkin" = 1) - foodtype = GRAIN | DAIRY | VEGETABLES | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/pumpkinspice - name = "pumpkin spice cake slice" - desc = "A spicy slice of pumpkin goodness." - icon_state = "pumpkinspicecakeslice" - filling_color = "#FFD700" - tastes = list("cake" = 5, "sweetness" = 1, "pumpkin" = 1) - foodtype = GRAIN | DAIRY | VEGETABLES | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/bsvc // blackberry strawberries vanilla cake - name = "blackberry and strawberry vanilla cake" - desc = "A plain cake, filled with assortment of blackberries and strawberries!" - icon_state = "blackbarry_strawberries_cake_vanilla_cake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/bsvc - bonus_reagents = list(/datum/reagent/consumable/nutriment = 14, /datum/reagent/consumable/nutriment/vitamin = 4) - tastes = list("blackberry" = 2, "strawberries" = 2, "vanilla" = 2, "sweetness" = 2, "cake" = 3) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/bsvc - name = "blackberry and strawberry vanilla cake slice" - desc = "Just a slice of cake filled with assortment of blackberries and strawberries!" - icon_state = "blackbarry_strawberries_cake_vanilla_slice" - filling_color = "#FFD700" - tastes = list("blackberry" = 2, "strawberries" = 2, "vanilla" = 2, "sweetness" = 2,"cake" = 3) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/bscc // blackbarry strawberries chocolate cake - name = "blackberry and strawberry chocolate cake" - desc = "A chocolate cake, filled with assortment of blackberries and strawberries!" - icon_state = "blackbarry_strawberries_cake_coco_cake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/bscc - bonus_reagents = list(/datum/reagent/consumable/nutriment = 14, /datum/reagent/consumable/nutriment/vitamin = 4, /datum/reagent/consumable/coco = 5) - tastes = list("blackberry" = 2, "strawberries" = 2, "chocolate" = 2, "sweetness" = 2,"cake" = 3) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/bscc - name = "blackberry and strawberry chocolate cake slice" - desc = "Just a slice of cake filled with assortment of blackberries and strawberries!" - icon_state = "blackbarry_strawberries_cake_coco_slice" - filling_color = "#FFD700" - tastes = list("blackberry" = 2, "strawberries" = 2, "chocolate" = 2, "sweetness" = 2,"cake" = 3) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/holy_cake - name = "angel food cake" - desc = "A cake made for angels and chaplains alike! Contains holy water." - icon_state = "holy_cake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/holy_cake_slice - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 3, /datum/reagent/water/holywater = 10) - tastes = list("cake" = 5, "sweetness" = 1, "clouds" = 1) - foodtype = GRAIN | DAIRY | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/holy_cake_slice - name = "angel food cake slice" - desc = "A slice of heavenly cake." - icon_state = "holy_cake_slice" - filling_color = "#00FFFF" - tastes = list("cake" = 5, "sweetness" = 1, "clouds" = 1) - foodtype = GRAIN | DAIRY | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/pound_cake - name = "pound cake" - desc = "A condensed cake made for filling people up quickly." - icon_state = "pound_cake" - slices_num = 7 //Its ment to feed the party - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/pound_cake_slice - bonus_reagents = list(/datum/reagent/consumable/nutriment = 60) - tastes = list("cake" = 5, "sweetness" = 1, "batter" = 1) - foodtype = GRAIN | DAIRY | SUGAR | JUNKFOOD - -/obj/item/reagent_containers/food/snacks/cakeslice/pound_cake_slice - name = "pound cake slice" - desc = "A slice of condensed cake made for filling people up quickly." - icon_state = "pound_cake_slice" - filling_color = "#00FFFF" - tastes = list("cake" = 5, "sweetness" = 5, "batter" = 1) - foodtype = GRAIN | DAIRY | SUGAR | JUNKFOOD - -/obj/item/reagent_containers/food/snacks/store/cake/hardware_cake - name = "hardware cake" - desc = "A quote on quote cake that is made with electronic boards and leaks acid..." - icon_state = "hardware_cake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/hardware_cake_slice - bonus_reagents = list(/datum/reagent/toxin/acid = 15, /datum/reagent/fuel/oil = 15) - tastes = list("acid" = 3, "metal" = 4, "glass" = 5) - foodtype = GRAIN | GROSS - -/obj/item/reagent_containers/food/snacks/cakeslice/hardware_cake_slice - name = "hardware cake slice" - desc = "A slice of electronic boards and some acid." - icon_state = "hardware_cake_slice" - filling_color = "#00FFFF" - tastes = list("acid" = 3, "metal" = 4, "glass" = 5) - foodtype = GRAIN | GROSS - -/obj/item/reagent_containers/food/snacks/store/cake/vanilla_cake - name = "vanilla cake" - desc = "A vanilla frosted cake." - icon_state = "vanillacake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/vanilla_slice - bonus_reagents = list(/datum/reagent/consumable/sugar = 15, /datum/reagent/consumable/vanilla = 15) - tastes = list("cake" = 1, "sugar" = 1, "vanilla" = 10) - foodtype = GRAIN | SUGAR | DAIRY - -/obj/item/reagent_containers/food/snacks/cakeslice/vanilla_slice - name = "vanilla cake slice" - desc = "A slice of vanilla frosted cake." - icon_state = "vanillacake_slice" - filling_color = "#00FFFF" - tastes = list("cake" = 1, "sugar" = 1, "vanilla" = 10) - foodtype = GRAIN | SUGAR | DAIRY - -/obj/item/reagent_containers/food/snacks/store/cake/clown_cake - name = "clown cake" - desc = "A funny cake with a clown face on it." - icon_state = "clowncake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/clown_slice - bonus_reagents = list(/datum/reagent/consumable/sugar = 15) - tastes = list("cake" = 1, "sugar" = 1, "joy" = 10) - foodtype = GRAIN | SUGAR | DAIRY - -/obj/item/reagent_containers/food/snacks/cakeslice/clown_slice - name = "clown cake slice" - desc = "A slice of bad jokes, and silly props." - icon_state = "clowncake_slice" - filling_color = "#00FFFF" - tastes = list("cake" = 1, "sugar" = 1, "joy" = 10) - foodtype = GRAIN | SUGAR | DAIRY - -/obj/item/reagent_containers/food/snacks/store/cake/trumpet - name = "spaceman's cake" - desc = "A spaceman's trumpet frosted cake." - icon_state = "trumpetcake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/trumpet - bonus_reagents = list(/datum/reagent/medicine/polypyr = 15, /datum/reagent/consumable/cream = 5, /datum/reagent/consumable/nutriment/vitamin = 5, /datum/reagent/consumable/berryjuice = 5) - filling_color = "#7A3D80" - tastes = list("cake" = 4, "violets" = 2, "jam" = 2) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/trumpet - name = "spaceman's cake" - desc = "A spaceman's trumpet frosted cake." - icon_state = "trumpetcakeslice" - filling_color = "#7A3D80" - tastes = list("cake" = 4, "violets" = 2, "jam" = 2) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR diff --git a/code/modules/food_and_drinks/food/snacks_egg.dm b/code/modules/food_and_drinks/food/snacks_egg.dm index 360053c28ca..665d94e1fa9 100644 --- a/code/modules/food_and_drinks/food/snacks_egg.dm +++ b/code/modules/food_and_drinks/food/snacks_egg.dm @@ -10,6 +10,8 @@ filling_color = "#A0522D" tastes = list("chocolate" = 4, "sweetness" = 1) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/egg name = "egg" @@ -18,7 +20,8 @@ list_reagents = list(/datum/reagent/consumable/eggyolk = 5) cooked_type = /obj/item/reagent_containers/food/snacks/boiledegg filling_color = "#F0E68C" - foodtype = MEAT + foodtype = MEAT | RAW + w_class = WEIGHT_CLASS_TINY grind_results = list() var/static/chick_count = 0 //I copied this from the chicken_count (note the "en" in there) variable from chicken code. @@ -106,6 +109,8 @@ list_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 1) tastes = list("egg" = 1) foodtype = MEAT | BREAKFAST + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/omelette //FUCK THIS name = "omelette du fromage" diff --git a/code/modules/food_and_drinks/food/snacks_frozen.dm b/code/modules/food_and_drinks/food/snacks_frozen.dm index e35cb7eeb5f..d79b91507c1 100644 --- a/code/modules/food_and_drinks/food/snacks_frozen.dm +++ b/code/modules/food_and_drinks/food/snacks_frozen.dm @@ -8,20 +8,24 @@ desc = "Portable Ice-cream in its own packaging." icon = 'icons/obj/food/frozen_treats.dmi' icon_state = "icecreamsandwich" + w_class = WEIGHT_CLASS_TINY bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/ice = 2) list_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/ice = 2) tastes = list("ice cream" = 1) foodtype = GRAIN | DAIRY | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ /obj/item/reagent_containers/food/snacks/strawberryicecreamsandwich name = "strawberry ice cream sandwich" desc = "Portable ice-cream in its own packaging of the strawberry variety." icon = 'icons/obj/food/frozen_treats.dmi' icon_state = "strawberryicecreamsandwich" + w_class = WEIGHT_CLASS_TINY bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/ice = 2) list_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/ice = 2) tastes = list("ice cream" = 2, "berry" = 2) foodtype = FRUIT | DAIRY | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ /obj/item/reagent_containers/food/snacks/spacefreezy @@ -29,6 +33,7 @@ desc = "The best icecream in space." icon = 'icons/obj/food/frozen_treats.dmi' icon_state = "spacefreezy" + w_class = WEIGHT_CLASS_TINY bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 2) list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/bluecherryjelly = 5, /datum/reagent/consumable/nutriment/vitamin = 4) filling_color = "#87CEFA" @@ -40,6 +45,7 @@ desc = "A classic dessert." icon = 'icons/obj/food/frozen_treats.dmi' icon_state = "sundae" + w_class = WEIGHT_CLASS_SMALL bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 1) list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/banana = 5, /datum/reagent/consumable/nutriment/vitamin = 2) filling_color = "#FFFACD" @@ -66,12 +72,14 @@ desc = "It's just shaved ice. Still fun to chew on." icon = 'icons/obj/food/frozen_treats.dmi' icon_state = "flavorless_sc" + w_class = WEIGHT_CLASS_SMALL trash = /obj/item/reagent_containers/food/drinks/sillycup //We dont eat paper cups bonus_reagents = list(/datum/reagent/water = 10) //Base line will allways give water list_reagents = list(/datum/reagent/water = 1) // We dont get food for water/juices filling_color = "#FFFFFF" //Ice is white tastes = list("ice" = 1, "water" = 1) foodtype = SUGAR //We use SUGAR as a base line to act in as junkfood, other wise we use fruit + /*food_flags = FOOD_FINGER_FOOD*/ /obj/item/reagent_containers/food/snacks/snowcones/lime name = "lime snowcone" diff --git a/code/modules/food_and_drinks/food/snacks_meat.dm b/code/modules/food_and_drinks/food/snacks_meat.dm index 510130ce08b..540c6f1a94e 100644 --- a/code/modules/food_and_drinks/food/snacks_meat.dm +++ b/code/modules/food_and_drinks/food/snacks_meat.dm @@ -211,6 +211,8 @@ filling_color = "#800000" tastes = list("meat" = 1) foodtype = MEAT + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/sausage name = "sausage" @@ -223,6 +225,7 @@ slices_num = 6 slice_path = /obj/item/reagent_containers/food/snacks/salami foodtype = MEAT | BREAKFAST + /*food_flags = FOOD_FINGER_FOOD*/ var/roasted = FALSE /obj/item/reagent_containers/food/snacks/sausage/Initialize() @@ -266,9 +269,11 @@ filling_color = "#CD853F" tastes = list("the jungle" = 1, "bananas" = 1) foodtype = MEAT | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY var/faction var/spawned_mob = /mob/living/carbon/monkey - custom_price = 300 + custom_price = 5 /obj/item/reagent_containers/food/snacks/monkeycube/proc/Expand() var/mob/spammer = get_mob_by_key(fingerprintslast) @@ -359,6 +364,8 @@ list_reagents = list(/datum/reagent/consumable/nutriment = 2) tastes = list("\"chicken\"" = 1) foodtype = MEAT + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/nugget/Initialize() . = ..() diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm index 3d5adf18e6f..0e55d21b350 100644 --- a/code/modules/food_and_drinks/food/snacks_other.dm +++ b/code/modules/food_and_drinks/food/snacks_other.dm @@ -37,7 +37,9 @@ filling_color = "#FF1493" tastes = list("watermelon" = 1) foodtype = FRUIT + /*food_flags = FOOD_FINGER_FOOD*/ juice_results = list(/datum/reagent/consumable/watermelonjuice = 5) + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/candy_corn name = "candy corn" @@ -47,6 +49,8 @@ filling_color = "#FF8C00" tastes = list("candy corn" = 1) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/candy_corn/prison name = "desiccated candy corn" @@ -64,6 +68,8 @@ filling_color = "#A0522D" tastes = list("chocolate" = 1) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/hugemushroomslice name = "huge mushroom slice" @@ -112,19 +118,6 @@ . = ..() AddElement(/datum/element/dunkable, 10) -/obj/item/reagent_containers/food/snacks/tatortot - name = "tator tot" - desc = "A large fried potato nugget that may or may not try to valid you." - icon_state = "tatortot" - list_reagents = list(/datum/reagent/consumable/nutriment = 4) - filling_color = "FFD700" - tastes = list("potato" = 3, "valids" = 1) - foodtype = FRIED | VEGETABLES - -/obj/item/reagent_containers/food/snacks/tatortot/Initialize() - . = ..() - AddElement(/datum/element/dunkable, 10) - /obj/item/reagent_containers/food/snacks/soydope name = "soy dope" desc = "Dope from a soy." @@ -192,6 +185,8 @@ list_reagents = list(/datum/reagent/toxin/minttoxin = 2) filling_color = "#800000" foodtype = TOXIC | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/eggwrap name = "egg wrap" @@ -229,6 +224,8 @@ filling_color = "#00800" tastes = list("cobwebs" = 1, "sugar" = 2) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/chococoin name = "chocolate coin" @@ -239,6 +236,8 @@ filling_color = "#A0522D" tastes = list("chocolate" = 1) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/fudgedice name = "fudge dice" @@ -250,6 +249,8 @@ trash = /obj/item/dice/fudge tastes = list("fudge" = 1) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/chocoorange name = "chocolate orange" @@ -260,6 +261,8 @@ filling_color = "#A0522D" tastes = list("chocolate" = 3, "oranges" = 1) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/eggplantparm name = "eggplant parmigiana" @@ -404,6 +407,8 @@ filling_color = "#F2CE91" tastes = list("oats" = 3, "nuts" = 2, "honey" = 1) foodtype = GRAIN | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/stuffedlegion name = "stuffed legion" @@ -484,6 +489,8 @@ next_succ = 0 tastes = list("candy" = 1) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/chewable/lollipop/Initialize() . = ..() @@ -520,6 +527,7 @@ name = "bubblegum" desc = "A rubbery strip of gum. Not exactly filling, but it keeps you busy." icon_state = "bubblegum" + supports_variations = VOX_VARIATION item_state = "bubblegum" color = "#E48AB5" // craftable custom gums someday? list_reagents = list(/datum/reagent/consumable/sugar = 5) @@ -574,6 +582,8 @@ list_reagents = list(/datum/reagent/consumable/sugar = 5, /datum/reagent/medicine/bicaridine = 2, /datum/reagent/medicine/kelotane = 2) //Kek tastes = list("candy") foodtype = JUNKFOOD + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/gumball/Initialize() . = ..() @@ -654,6 +664,7 @@ desc = "delicious, golden, fatty goodness on a stick." icon_state = "butteronastick" trash = /obj/item/stack/rods + /*food_flags = FOOD_FINGER_FOOD*/ /obj/item/reagent_containers/food/snacks/onionrings name = "onion rings" @@ -664,6 +675,7 @@ gender = PLURAL tastes = list("batter" = 3, "onion" = 1) foodtype = VEGETABLES + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/pineappleslice name = "pineapple slice" @@ -673,6 +685,7 @@ juice_results = list(/datum/reagent/consumable/pineapplejuice = 3) tastes = list("pineapple" = 1) foodtype = FRUIT | PINEAPPLE + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/tinychocolate name = "chocolate" diff --git a/code/modules/food_and_drinks/food/snacks_pastry.dm b/code/modules/food_and_drinks/food/snacks_pastry.dm index ee0dd7ab58d..7cb9f05900b 100644 --- a/code/modules/food_and_drinks/food/snacks_pastry.dm +++ b/code/modules/food_and_drinks/food/snacks_pastry.dm @@ -13,6 +13,8 @@ filling_color = "#D2691E" tastes = list("donut" = 1) foodtype = JUNKFOOD | GRAIN | FRIED | SUGAR | BREAKFAST + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL var/decorated_icon = "donut_homer" var/is_decorated = FALSE var/extra_reagent = null @@ -336,6 +338,8 @@ filling_color = "#F4A460" tastes = list("muffin" = 1) foodtype = GRAIN | SUGAR | BREAKFAST + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/muffin/berry name = "berry muffin" @@ -420,6 +424,8 @@ filling_color = "#CD853F" tastes = list("meat" = 2, "dough" = 2, "laziness" = 1) foodtype = GRAIN + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/donkpocket/warm name = "warm Donk-pocket" @@ -565,6 +571,8 @@ filling_color = "#F0E68C" tastes = list("cookie" = 1) foodtype = GRAIN | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/cookie/Initialize() . = ..() @@ -583,6 +591,8 @@ filling_color = "#F4A460" tastes = list("cookie" = 1) foodtype = GRAIN | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/fortunecookie/proc/get_fortune() var/atom/drop_location = drop_location() @@ -613,6 +623,8 @@ filling_color = "#F0E68C" tastes = list("pretzel" = 1) foodtype = GRAIN | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit name = "plump helmet biscuit" @@ -623,6 +635,8 @@ filling_color = "#F0E68C" tastes = list("mushroom" = 1, "biscuit" = 1) foodtype = GRAIN | VEGETABLES + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit/Initialize() var/fey = prob(10) @@ -644,6 +658,8 @@ filling_color = "#F0E68C" tastes = list("cracker" = 1) foodtype = GRAIN + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/hotdog name = "hotdog" @@ -732,21 +748,19 @@ name = "cherry cupcake" desc = "A sweet cupcake with cherry bits." icon_state = "cherrycupcake" - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) + bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 3) list_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 1) filling_color = "#F0E68C" tastes = list("cake" = 3, "cherry" = 1) foodtype = GRAIN | FRUIT | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL -/obj/item/reagent_containers/food/snacks/bluecherrycupcake +/obj/item/reagent_containers/food/snacks/cherrycupcake/blue name = "blue cherry cupcake" desc = "Blue cherries inside a delicious cupcake." icon_state = "bluecherrycupcake" - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 3) - list_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 1) - filling_color = "#F0E68C" tastes = list("cake" = 3, "blue cherry" = 1) - foodtype = GRAIN | FRUIT | SUGAR /obj/item/reagent_containers/food/snacks/honeybun name = "honey bun" diff --git a/code/modules/food_and_drinks/food/snacks_pizza.dm b/code/modules/food_and_drinks/food/snacks_pizza.dm index 9b8e949b06e..3784e2f0fbd 100644 --- a/code/modules/food_and_drinks/food/snacks_pizza.dm +++ b/code/modules/food_and_drinks/food/snacks_pizza.dm @@ -160,69 +160,8 @@ tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "pineapple" = 2, "ham" = 2) foodtype = GRAIN | VEGETABLES | DAIRY | MEAT | FRUIT | PINEAPPLE -/obj/item/reagent_containers/food/snacks/pizza/arnold - name = "\improper Arnold pizza" - desc = "Hello, you've reached Arnold's pizza shop. I'm not here now, I'm out killing pepperoni." - icon_state = "arnoldpizza" - slice_path = /obj/item/reagent_containers/food/snacks/pizzaslice/arnold - bonus_reagents = list(/datum/reagent/consumable/nutriment = 30, /datum/reagent/consumable/nutriment/vitamin = 6, /datum/reagent/iron = 10, /datum/reagent/medicine/omnizine = 30) - tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "pepperoni" = 2, "9 millimeter bullets" = 2) - -/obj/item/reagent_containers/food/snacks/proc/try_break_off(mob/living/M, mob/living/user) //maybe i give you a pizza maybe i break off your arm - var/obj/item/bodypart/l_arm = user.get_bodypart(BODY_ZONE_L_ARM) - var/obj/item/bodypart/r_arm = user.get_bodypart(BODY_ZONE_R_ARM) - if(prob(50) && iscarbon(user) && M == user && (r_arm || l_arm)) - user.visible_message("\The [src] breaks off [user]'s arm!!", "\The [src] breaks off your arm!") - if(l_arm) - l_arm.dismember() - else - r_arm.dismember() - playsound(user, "desceration" ,50, TRUE, -1) - -/obj/item/reagent_containers/food/snacks/proc/i_kill_you(obj/item/I, mob/user) - if(istype(I, /obj/item/reagent_containers/food/snacks/pineappleslice)) - to_chat(user, "If you want something crazy like pineapple, I kill you.") - user.gib() //if you want something crazy like pineapple, i kill you - -/obj/item/reagent_containers/food/snacks/pizza/arnold/attack(mob/living/M, mob/living/user) - . = ..() - try_break_off(M, user) - -/obj/item/reagent_containers/food/snacks/pizza/arnold/attackby(obj/item/I, mob/user) - i_kill_you(I, user) - . = ..() - - -/obj/item/reagent_containers/food/snacks/pizzaslice/arnold - name = "\improper Arnold pizza slice" - desc = "I come over, maybe I give you a pizza, maybe I break off your arm." - icon_state = "arnoldpizzaslice" - filling_color = "#A52A2A" - tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "pepperoni" = 2, "9 millimeter bullets" = 2) - foodtype = GRAIN | VEGETABLES | DAIRY | MEAT - -/obj/item/reagent_containers/food/snacks/pizzaslice/arnold/attack(mob/living/M, mob/living/user) - . =..() - try_break_off(M, user) - -/obj/item/reagent_containers/food/snacks/pizzaslice/arnold/attackby(obj/item/I, mob/user) - i_kill_you(I, user) - . = ..() - - /obj/item/reagent_containers/food/snacks/pizzaslice/custom name = "pizza slice" icon_state = "pizzamargheritaslice" filling_color = "#FFFFFF" foodtype = GRAIN | VEGETABLES - -/obj/item/reagent_containers/food/snacks/pizzaslice/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/kitchen/rollingpin)) - if(!isturf(loc)) - to_chat(user, "You need to put [src] on a surface to roll it out!") - return - new /obj/item/stack/sheet/pizza(loc) - to_chat(user, "You smoosh [src] into a cheesy sheet.") - qdel(src) - return - return ..() diff --git a/code/modules/food_and_drinks/food/snacks_sandwichtoast.dm b/code/modules/food_and_drinks/food/snacks_sandwichtoast.dm index c15a6606be9..169d208bf30 100644 --- a/code/modules/food_and_drinks/food/snacks_sandwichtoast.dm +++ b/code/modules/food_and_drinks/food/snacks_sandwichtoast.dm @@ -9,6 +9,8 @@ cooked_type = /obj/item/reagent_containers/food/snacks/toastedsandwich tastes = list("meat" = 2, "cheese" = 1, "bread" = 2, "lettuce" = 1) foodtype = GRAIN | VEGETABLES + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/toastedsandwich name = "toasted sandwich" @@ -31,6 +33,8 @@ list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 1) tastes = list("toast" = 1, "cheese" = 1) foodtype = GRAIN | DAIRY + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/jellysandwich name = "jelly sandwich" diff --git a/code/modules/food_and_drinks/food/snacks_soup.dm b/code/modules/food_and_drinks/food/snacks_soup.dm index c7bcf963faf..5ec9408dc41 100644 --- a/code/modules/food_and_drinks/food/snacks_soup.dm +++ b/code/modules/food_and_drinks/food/snacks_soup.dm @@ -159,12 +159,12 @@ tastes = list("tomato" = 1, "squirming" = 1) foodtype = MEAT | GORE -/obj/item/reagent_containers/food/snacks/soup/milo - name = "milosoup" +/obj/item/reagent_containers/food/snacks/soup/miso + name = "miso soup" desc = "The universes best soup! Yum!!!" - icon_state = "milosoup" + icon_state = "misosoup" bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 3) - tastes = list("milo" = 1) // wtf is milo + tastes = list("miso" = 1) // wtf is milo foodtype = VEGETABLES /obj/item/reagent_containers/food/snacks/soup/mushroom diff --git a/code/modules/food_and_drinks/food/snacks_spaghetti.dm b/code/modules/food_and_drinks/food/snacks_spaghetti.dm deleted file mode 100644 index 88c1188f1de..00000000000 --- a/code/modules/food_and_drinks/food/snacks_spaghetti.dm +++ /dev/null @@ -1,106 +0,0 @@ - -/obj/item/reagent_containers/food/snacks/spaghetti - name = "spaghetti" - desc = "Now that's a nic'e pasta!" - icon = 'icons/obj/food/pizzaspaghetti.dmi' - icon_state = "spaghetti" - list_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) - cooked_type = /obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti - filling_color = "#F0E68C" - tastes = list("pasta" = 1) - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/spaghetti/Initialize() - . = ..() - if(!cooked_type) // This isn't cooked, why would you put uncooked spaghetti in your pocket? - var/list/display_message = list( - "Something wet falls out of their pocket and hits the ground. Is that... [name]?", - "Oh shit! All your pocket [name] fell out!") - AddComponent(/datum/component/spill, display_message, 'sound/effects/splat.ogg') - -/obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti - name = "boiled spaghetti" - desc = "A plain dish of noodles, this needs more ingredients." - icon_state = "spaghettiboiled" - trash = /obj/item/trash/plate - bonus_reagents = list(/datum/reagent/consumable/nutriment = 2) - list_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 1) - cooked_type = null - custom_food_type = /obj/item/reagent_containers/food/snacks/customizable/pasta - -/obj/item/reagent_containers/food/snacks/spaghetti/pastatomato - name = "spaghetti" - desc = "Spaghetti and crushed tomatoes. Just like your abusive father used to make!" - icon_state = "pastatomato" - trash = /obj/item/trash/plate - bitesize = 4 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/tomatojuice = 10, /datum/reagent/consumable/nutriment/vitamin = 4) - list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/tomatojuice = 10, /datum/reagent/consumable/nutriment/vitamin = 4) - cooked_type = null - filling_color = "#DC143C" - tastes = list("pasta" = 1, "tomato" = 1) - foodtype = GRAIN | VEGETABLES - -/obj/item/reagent_containers/food/snacks/spaghetti/copypasta - name = "copypasta" - desc = "You probably shouldn't try this, you always hear people talking about how bad it is..." - icon_state = "copypasta" - trash = /obj/item/trash/plate - bitesize = 4 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 4) - list_reagents = list(/datum/reagent/consumable/nutriment = 12, /datum/reagent/consumable/tomatojuice = 20, /datum/reagent/consumable/nutriment/vitamin = 8) - cooked_type = null - filling_color = "#DC143C" - tastes = list("pasta" = 1, "tomato" = 1) - foodtype = GRAIN | VEGETABLES - -/obj/item/reagent_containers/food/snacks/spaghetti/meatballspaghetti - name = "spaghetti and meatballs" - desc = "Now that's a nic'e meatball!" - icon_state = "meatballspaghetti" - trash = /obj/item/trash/plate - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 4) - list_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 4) - cooked_type = null - tastes = list("pasta" = 1, "tomato" = 1, "meat" = 1) - foodtype = GRAIN | MEAT - -/obj/item/reagent_containers/food/snacks/spaghetti/spesslaw - name = "spesslaw" - desc = "A lawyers favourite." - icon_state = "spesslaw" - trash = /obj/item/trash/plate - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 6) - list_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 6) - cooked_type = null - tastes = list("pasta" = 1, "tomato" = 1, "meat" = 1) - -/obj/item/reagent_containers/food/snacks/spaghetti/chowmein - name = "chow mein" - desc = "A nice mix of noodles and fried vegetables." - icon_state = "chowmein" - trash = /obj/item/trash/plate - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 4) - list_reagents = list(/datum/reagent/consumable/nutriment = 7, /datum/reagent/consumable/nutriment/vitamin = 6) - cooked_type = null - tastes = list("noodle" = 1, "tomato" = 1) - -/obj/item/reagent_containers/food/snacks/spaghetti/beefnoodle - name = "beef noodle" - desc = "Nutritious, beefy and noodly." - icon_state = "beefnoodle" - trash = /obj/item/reagent_containers/glass/bowl - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 6, /datum/reagent/liquidgibs = 3) - cooked_type = null - tastes = list("noodle" = 1, "meat" = 1) - foodtype = GRAIN | MEAT - -/obj/item/reagent_containers/food/snacks/spaghetti/butternoodles - name = "butter noodles" - desc = "Noodles covered in savory butter. Simple and slippery, but delicious." - icon_state = "butternoodles" - trash = /obj/item/trash/plate - bonus_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 1) - cooked_type = null - tastes = list("noodle" = 1, "butter" = 1) - foodtype = GRAIN | DAIRY diff --git a/code/modules/food_and_drinks/food/snacks_vend.dm b/code/modules/food_and_drinks/food/snacks_vend.dm index 94477d1932a..a450555a7a6 100644 --- a/code/modules/food_and_drinks/food/snacks_vend.dm +++ b/code/modules/food_and_drinks/food/snacks_vend.dm @@ -12,36 +12,8 @@ filling_color = "#D2691E" tastes = list("candy" = 1) foodtype = JUNKFOOD | SUGAR - -/obj/item/reagent_containers/food/snacks/candy/bronx - name = "South Bronx Paradise bar" - desc = "Lose weight, guaranteed! Caramel Mocha Flavor. Something about product consumption..." - icon_state = "bronx" - item_state = "candy" - trash = /obj/item/trash/candy - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sugar = 2, /datum/reagent/yuck = 1) - junkiness = 10 - bitesize = 10 - filling_color = "#e4d4b7" - tastes = list("candy" = 5, "weight loss" = 4, "insect larva" = 1) - foodtype = JUNKFOOD | RAW | GROSS - custom_premium_price = 800 - var/revelation = FALSE - -/obj/item/reagent_containers/food/snacks/candy/bronx/On_Consume(mob/living/eater) - . = ..() - if(ishuman(eater)) - var/mob/living/carbon/human/carl = eater - var/datum/disease/P = new /datum/disease/parasite() - carl.ForceContractDisease(P, FALSE, TRUE) - -/obj/item/reagent_containers/food/snacks/candy/bronx/examine(mob/user) - . = ..() - if(revelation == FALSE) - to_chat(user, "Geeze, you need to get to get your eyes checked. You should look again...") - desc = "Lose weight, guaranteed! Caramel Mocha Flavor! WARNING: PRODUCT NOT FIT FOR HUMAN CONSUMPTION. CONTAINS LIVE DIAMPHIDIA SPECIMENS." - name = "South Bronx Parasite bar" - revelation = TRUE + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/sosjerky name = "\improper Scaredy's Private Reserve Beef Jerky" @@ -82,7 +54,9 @@ filling_color = "#8B0000" tastes = list("dried raisins" = 1) foodtype = JUNKFOOD | FRUIT | SUGAR - custom_price = 90 + /*food_flags = FOOD_FINGER_FOOD*/ + custom_price = 5 + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/no_raisin/healthy name = "homemade raisins" @@ -99,7 +73,9 @@ junkiness = 25 filling_color = "#FFD700" foodtype = JUNKFOOD | GRAIN | SUGAR - custom_price = 30 + /*food_flags = FOOD_FINGER_FOOD*/ + custom_price = 5 + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/candy_trash name = "candy cigarette butt" @@ -125,7 +101,7 @@ filling_color = "#FFD700" tastes = list("cheese" = 5, "crisps" = 2) foodtype = JUNKFOOD | DAIRY | SUGAR - custom_price = 45 + custom_price = 5 /obj/item/reagent_containers/food/snacks/syndicake name = "syndi-cakes" @@ -136,6 +112,7 @@ filling_color = "#F5F5DC" tastes = list("sweetness" = 3, "cake" = 1) foodtype = GRAIN | FRUIT | VEGETABLES + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/energybar name = "High-power energy bars" @@ -146,3 +123,5 @@ filling_color = "#97ee63" tastes = list("pure electricity" = 3, "fitness" = 2) foodtype = TOXIC + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL diff --git a/code/modules/food_and_drinks/kitchen_machinery/big_mortar.dm b/code/modules/food_and_drinks/kitchen_machinery/big_mortar.dm index 3024c188fac..7b50db0405f 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/big_mortar.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/big_mortar.dm @@ -28,7 +28,7 @@ . += span_notice("It can be (un)secured with wrench") . += span_notice("You can empty all of the items out of it with Alt Click") -/obj/structure/large_mortar/Destroy() +/obj/structure/large_mortar/deconstruct(disassembled) drop_everything_contained() return ..() diff --git a/code/modules/food_and_drinks/kitchen_machinery/cutting_board.dm b/code/modules/food_and_drinks/kitchen_machinery/cutting_board.dm index b0d91d370ab..122f163ec7f 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/cutting_board.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/cutting_board.dm @@ -52,7 +52,7 @@ if(length(contents)) . += span_notice("It has [contents[1]] sitting on it.") -/obj/item/cutting_board/Destroy() +/obj/item/cutting_board/deconstruct(disassembled) drop_everything_contained() return ..() diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm index 8eccd04c840..bcee075e0dc 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm @@ -18,6 +18,8 @@ // _- _ // - +//God bless These Deepfried States o7 -2024 + /obj/machinery/deepfryer name = "deep fryer" desc = "Deep fried everything." @@ -27,7 +29,7 @@ use_power = IDLE_POWER_USE idle_power_usage = IDLE_DRAW_LOW layer = BELOW_OBJ_LAYER - var/obj/item/reagent_containers/food/snacks/deepfryholder/frying //What's being fried RIGHT NOW? + var/obj/item/food/deepfryholder/frying //What's being fried RIGHT NOW? var/cook_time = 0 var/oil_use = 0.05 //How much cooking oil is used per tick var/fry_speed = 1 //How quickly we fry food @@ -42,7 +44,7 @@ /obj/item/weldingtool, /obj/item/reagent_containers/glass, /obj/item/reagent_containers/syringe, - /obj/item/reagent_containers/food/condiment, + /obj/item/reagent_containers/condiment, /obj/item/storage, /obj/item/smallDelivery, ) @@ -93,7 +95,7 @@ if(I.resistance_flags & INDESTRUCTIBLE) to_chat(user, "You don't feel it would be wise to fry [I]...") return - if(istype(I, /obj/item/reagent_containers/food/snacks/deepfryholder)) + if(istype(I, /obj/item/food/deepfryholder)) to_chat(user, "Your cooking skills are not up to the legendary Doublefry technique.") return if(default_unfasten_wrench(user, I)) @@ -105,7 +107,7 @@ return ..() else if(!frying && user.transferItemToLoc(I, src)) to_chat(user, "You put [I] into [src].") - frying = new/obj/item/reagent_containers/food/snacks/deepfryholder(src, I) + frying = new/obj/item/food/deepfryholder(src, I) icon_state = "fryer_on" fry_loop.start() diff --git a/code/modules/food_and_drinks/kitchen_machinery/grill.dm b/code/modules/food_and_drinks/kitchen_machinery/grill.dm index f76bdb46253..c150fe94498 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/grill.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/grill.dm @@ -9,7 +9,7 @@ layer = BELOW_OBJ_LAYER use_power = NO_POWER_USE var/grill_fuel = 0 - var/obj/item/reagent_containers/food/grilled_item + var/obj/item/reagent_containers/food/snacks/grilled_item var/grill_time = 0 var/datum/looping_sound/grill/grill_loop @@ -27,69 +27,74 @@ else icon_state = "grill_open" return ..() + +/obj/machinery/grill/examine(mob/user) + . = ..() + if(grill_fuel) + . += span_notice("\The [src] has [grill_fuel] units of fuel left.") + else + . += span_warning("\The [src] is out of fuel! Add some wood or coal!") + /obj/machinery/grill/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/stack/sheet/mineral/coal) || istype(I, /obj/item/stack/sheet/mineral/wood)) var/obj/item/stack/S = I var/stackamount = S.get_amount() - to_chat(user, "You put [stackamount] [I]s in [src].") + to_chat(user, span_notice("You put [stackamount] [I]s in [src].")) if(istype(I, /obj/item/stack/sheet/mineral/coal)) - grill_fuel += (500 * stackamount) - else grill_fuel += (50 * stackamount) + else + grill_fuel += (5 * stackamount) S.use(stackamount) update_appearance() return if(I.resistance_flags & INDESTRUCTIBLE) - to_chat(user, "You don't feel it would be wise to grill [I]...") + to_chat(user, span_warning("You don't feel it would be wise to grill [I]...")) return ..() - if(istype(I, /obj/item/reagent_containers)) - if(istype(I, /obj/item/reagent_containers/food) && !istype(I, /obj/item/reagent_containers/food/drinks)) - var/obj/item/reagent_containers/food/food_item = I - if(HAS_TRAIT(food_item, TRAIT_NODROP) || (food_item.item_flags & (ABSTRACT | DROPDEL))) - return ..() - else if(food_item.foodtype & GRILLED) - to_chat(user, "[food_item] has already been grilled!") - return - else if(!grill_fuel) - to_chat(user, "There is not enough fuel!") - return - else if(!grilled_item && user.transferItemToLoc(food_item, src)) - grilled_item = food_item - grilled_item.foodtype |= GRILLED - to_chat(user, "You put the [grilled_item] on [src].") - update_appearance() - grill_loop.start() - return - else - if(I.reagents.has_reagent(/datum/reagent/consumable/xeno_energy)) - grill_fuel += (20 * (I.reagents.get_reagent_amount(/datum/reagent/consumable/xeno_energy))) - to_chat(user, "You pour the Monkey Energy in [src].") - I.reagents.remove_reagent(/datum/reagent/consumable/xeno_energy, I.reagents.get_reagent_amount(/datum/reagent/consumable/xeno_energy)) - update_appearance() - return + + if(istype(I, /obj/item/reagent_containers/food/snacks)) + var/obj/item/reagent_containers/food/snacks/food_item = I + if(HAS_TRAIT(food_item, TRAIT_NODROP) || (food_item.item_flags & (ABSTRACT | DROPDEL))) + return ..() + else if(food_item.foodtype & GRILLED) + to_chat(user, span_notice("[food_item] has already been grilled!")) + return + else if(grill_fuel <= 0) + to_chat(user, span_warning("There is not enough fuel!")) + return + else if(grilled_item) + to_chat(user,span_warning("\The [src] is already grilling something, take it out first!")) + return + else if(user.transferItemToLoc(food_item, src)) + START_PROCESSING(SSmachines, src) + grilled_item = food_item + to_chat(user, span_notice("You put the [grilled_item] on [src].")) + update_appearance() + grill_loop.start() + return ..() /obj/machinery/grill/process() ..() + if(!grilled_item) + return PROCESS_KILL update_appearance() - if(!grill_fuel) + if(grill_fuel <= 0) + grill_fuel = 0 + visible_message(span_warning("\The [src] is out of fuel!")) + if(grilled_item) + grilled_item.forceMove(loc) + finish_grill() return - else - grill_fuel -= 1 - if(prob(1)) - var/datum/effect_system/smoke_spread/bad/smoke = new - smoke.set_up(1, loc) - smoke.start() - if(grilled_item) - grill_time += 1 - grilled_item.reagents.add_reagent(/datum/reagent/consumable/char, 1) - grill_fuel -= 10 - grilled_item.AddComponent(/datum/component/sizzle) + grill_time += 1 + grill_fuel -= 1 + if(prob(1)) + var/datum/effect_system/smoke_spread/bad/smoke = new + smoke.set_up(1, loc) + smoke.start() /obj/machinery/grill/Exited(atom/movable/AM) if(AM == grilled_item) finish_grill() - grilled_item = null . = ..() /obj/machinery/grill/Destroy() @@ -119,13 +124,15 @@ /obj/machinery/grill/attack_hand(mob/user) if(grilled_item) - to_chat(user, "You take out [grilled_item] from [src].") + to_chat(user, span_notice("You take out [grilled_item] from [src].")) grilled_item.forceMove(drop_location()) update_appearance() return return ..() /obj/machinery/grill/proc/finish_grill() + if(grill_time >= 10 && grilled_item.cooked_type) + grilled_item = grilled_item.microwave_act() switch(grill_time) //no 0-9 to prevent spam if(10 to 15) grilled_item.name = "lightly-grilled [grilled_item.name]" @@ -142,8 +149,12 @@ grilled_item.name = "Powerfully Grilled [grilled_item.name]" grilled_item.desc = "A [grilled_item.name]. Reminds you of your wife, wait, no, it's prettier!" grilled_item.foodtype |= FRIED + grilled_item.AddComponent(/datum/component/sizzle, (grill_time * 7.5)) + grilled_item.foodtype |= GRILLED grill_time = 0 grill_loop.stop() + grilled_item = null + update_appearance() /obj/machinery/grill/unwrenched anchored = FALSE diff --git a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm index 1d4e366ad6d..de4d844aa3a 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm @@ -210,7 +210,7 @@ return /obj/item/reagent_containers/food/snacks/icecream - name = "ice cream cone" + name = "waffle cone" desc = "Delicious waffle cone, but no ice cream." icon = 'icons/obj/kitchen.dmi' icon_state = "icecream_cone_waffle" //default for admin-spawned cones, href_list["cone"] should overwrite this all the time @@ -220,6 +220,7 @@ var/cone_type bitesize = 4 foodtype = DAIRY | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ /obj/item/reagent_containers/food/snacks/icecream/Initialize() . = ..() diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm index 2762892110f..d3b7e7f152d 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm @@ -38,8 +38,11 @@ create_reagents(100) soundloop = new(list(src), FALSE) -/obj/machinery/microwave/Destroy() +/obj/machinery/microwave/on_deconstruction() eject() + return ..() + +/obj/machinery/microwave/Destroy() QDEL_NULL(soundloop) QDEL_LIST(ingredients) if(wires) @@ -362,9 +365,10 @@ name = "flameless ration heater" desc = "A magnisium based ration heater. It can be used to heat up entrees and other food items. reaches the same temperature as a microwave with half the volume." icon = 'icons/obj/food/ration.dmi' - icon_state = "ration_package" + icon_state = "ration_heater" grind_results = list(/datum/reagent/iron = 10, /datum/reagent/water = 10, /datum/reagent/consumable/sodiumchloride = 5) heat = 3800 + w_class = WEIGHT_CLASS_SMALL var/obj/item/tocook = null var/mutable_appearance/ration_overlay var/uses = 3 diff --git a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm deleted file mode 100644 index 79382343e1a..00000000000 --- a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm +++ /dev/null @@ -1,103 +0,0 @@ -GLOBAL_LIST_EMPTY(monkey_recyclers) - -/obj/machinery/monkey_recycler - name = "monkey recycler" - desc = "A machine used for recycling dead monkeys into monkey cubes." - icon = 'icons/obj/kitchen.dmi' - icon_state = "grinder" - layer = BELOW_OBJ_LAYER - density = TRUE - use_power = IDLE_POWER_USE - idle_power_usage = IDLE_DRAW_MINIMAL - active_power_usage = ACTIVE_DRAW_MEDIUM - circuit = /obj/item/circuitboard/machine/monkey_recycler - var/stored_matter = 0 - var/cube_production = 0.2 - var/list/connected = list() //Keeps track of connected xenobio consoles, for deletion in /Destroy() - -/obj/machinery/monkey_recycler/Initialize(mapload) - . = ..() - if (mapload) - GLOB.monkey_recyclers += src - -/obj/machinery/monkey_recycler/Destroy() - GLOB.monkey_recyclers -= src - for(var/thing in connected) - var/obj/machinery/computer/camera_advanced/xenobio/console = thing - console.connected_recycler = null - connected.Cut() - return ..() - -/obj/machinery/monkey_recycler/RefreshParts() //Ranges from 0.2 to 0.8 per monkey recycled - cube_production = 0 - for(var/obj/item/stock_parts/manipulator/B in component_parts) - cube_production += B.rating * 0.1 - for(var/obj/item/stock_parts/matter_bin/M in component_parts) - cube_production += M.rating * 0.1 - -/obj/machinery/monkey_recycler/examine(mob/user) - . = ..() - if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Producing [cube_production] cubes for every monkey inserted." - -/obj/machinery/monkey_recycler/attackby(obj/item/O, mob/user, params) - if(default_deconstruction_screwdriver(user, "grinder_open", "grinder", O)) - return - - if(default_pry_open(O)) - return - - if(default_unfasten_wrench(user, O)) - power_change() - return - - if(default_deconstruction_crowbar(O)) - return - - if(machine_stat) //NOPOWER etc - return - else - return ..() - -/obj/machinery/monkey_recycler/MouseDrop_T(mob/living/target, mob/living/user) - if(!istype(target)) - return - if(ismonkey(target)) - stuff_monkey_in(target, user) - -/obj/machinery/monkey_recycler/proc/stuff_monkey_in(mob/living/carbon/monkey/target, mob/living/user) - if(!istype(target)) - return - if(target.stat == CONSCIOUS) - to_chat(user, "The monkey is struggling far too much to put it in the recycler.") - return - if(target.buckled || target.has_buckled_mobs()) - to_chat(user, "The monkey is attached to something.") - return - qdel(target) - to_chat(user, "You stuff the monkey into the machine.") - playsound(src.loc, 'sound/machines/juicer.ogg', 50, TRUE) - var/offset = prob(50) ? -2 : 2 - animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = 200) //start shaking - use_power(500) - stored_matter += cube_production - addtimer(VARSET_CALLBACK(src, pixel_x, base_pixel_x)) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), user, "The machine now has [stored_matter] monkey\s worth of material stored.")) - -/obj/machinery/monkey_recycler/interact(mob/user) - if(stored_matter >= 1) - to_chat(user, "The machine hisses loudly as it condenses the ground monkey meat. After a moment, it dispenses a brand new monkey cube.") - playsound(src.loc, 'sound/machines/hiss.ogg', 50, TRUE) - for(var/i in 1 to FLOOR(stored_matter, 1)) - new /obj/item/reagent_containers/food/snacks/monkeycube(src.loc) - stored_matter-- - to_chat(user, "The machine's display flashes that it has [stored_matter] monkeys worth of material left.") - else - to_chat(user, "The machine needs at least 1 monkey worth of material to produce a monkey cube. It currently has [stored_matter].") - -/obj/machinery/monkey_recycler/multitool_act(mob/living/user, obj/item/multitool/I) - . = ..() - if(istype(I)) - to_chat(user, "You log [src] in the multitool's buffer.") - I.buffer = src - return TRUE diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm index bc17a9fd22a..ef3cceed2af 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm @@ -37,7 +37,7 @@ qdel(what) /obj/machinery/processor/proc/select_recipe(X) - for (var/type in subtypesof(/datum/food_processor_process) - /datum/food_processor_process/mob) + for (var/type in subtypesof(/datum/food_processor_process)) var/datum/food_processor_process/recipe = new type() if (!istype(X, recipe.input) || !istype(src, recipe.required_machine)) continue @@ -149,60 +149,3 @@ O.forceMove(drop_location()) for (var/mob/M in src) M.forceMove(drop_location()) - -/obj/machinery/processor/slime - name = "slime processor" - desc = "An industrial grinder with a sticker saying appropriated for science department. Keep hands clear of intake area while operating." - -/obj/machinery/processor/slime/Initialize() - . = ..() - var/obj/item/circuitboard/machine/B = new /obj/item/circuitboard/machine/processor/slime(null) - B.apply_default_parts(src) - -/obj/machinery/processor/slime/adjust_item_drop_location(atom/movable/AM) - var/static/list/slimecores = subtypesof(/obj/item/slime_extract) - var/i = 0 - if(!(i = slimecores.Find(AM.type))) // If the item is not found - return - if (i <= 16) // If in the first 12 slots - AM.pixel_x = AM.base_pixel_x - 12 + ((i%4)*8) - AM.pixel_y = AM.base_pixel_y - 12 + (round(i/4)*8) - return i - var/ii = i - 16 - AM.pixel_x = AM.base_pixel_x - 12 + ((ii%4)*8) - AM.pixel_y = AM.base_pixel_y - 12 + (round(ii/4)*8) - return i - -/obj/machinery/processor/slime/process() - if(processing) - return - var/mob/living/simple_animal/slime/picked_slime - for(var/mob/living/simple_animal/slime/slime in range(1,src)) - if(slime.loc == src) - continue - if(istype(slime, /mob/living/simple_animal/slime)) - if(slime.stat) - picked_slime = slime - break - if(!picked_slime) - return - var/datum/food_processor_process/P = select_recipe(picked_slime) - if (!P) - return - - visible_message("[picked_slime] is sucked into [src].") - picked_slime.forceMove(src) - -/obj/machinery/processor/slime/process_food(datum/food_processor_process/recipe, atom/movable/what) - var/mob/living/simple_animal/slime/S = what - if (istype(S)) - var/C = S.cores - if(S.stat != DEAD) - S.forceMove(drop_location()) - S.visible_message("[C] crawls free of the processor!") - return - for(var/i in 1 to (C+rating_amount-1)) - var/atom/movable/item = new S.coretype(drop_location()) - adjust_item_drop_location(item) - SSblackbox.record_feedback("tally", "slime_core_harvested", 1, S.colour) - ..() diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index 5852ea34742..e75a6519dbe 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -12,6 +12,7 @@ idle_power_usage = IDLE_DRAW_MINIMAL active_power_usage = ACTIVE_DRAW_MINIMAL circuit = /obj/item/circuitboard/machine/smartfridge + integrity_failure = 0.4 var/max_n_of_items = 1500 var/allow_ai_retrieve = FALSE @@ -40,7 +41,10 @@ . += "The status display reads: This unit can hold a maximum of [max_n_of_items] items." /obj/machinery/smartfridge/update_icon_state() - if(machine_stat) + if(machine_stat & BROKEN) + icon_state = "[initial(icon_state)]-broken" + return ..() + else if(!powered()) icon_state = "[initial(icon_state)]-off" return ..() @@ -53,10 +57,8 @@ icon_state = "[initial(icon_state)]" if(1 to 25) icon_state = "[initial(icon_state)]1" - if(26 to 75) + if(26 to INFINITY) icon_state = "[initial(icon_state)]2" - if(76 to INFINITY) - icon_state = "[initial(icon_state)]3" return ..() /obj/machinery/smartfridge/update_overlays() @@ -366,7 +368,7 @@ /obj/machinery/smartfridge/drinks/accept_check(obj/item/O) if(!istype(O, /obj/item/reagent_containers) || (O.item_flags & ABSTRACT) || !O.reagents || !O.reagents.reagent_list.len) return FALSE - if(istype(O, /obj/item/reagent_containers/glass) || istype(O, /obj/item/reagent_containers/food/drinks) || istype(O, /obj/item/reagent_containers/food/condiment)) + if(istype(O, /obj/item/reagent_containers/glass) || istype(O, /obj/item/reagent_containers/food/drinks) || istype(O, /obj/item/reagent_containers/condiment)) return TRUE // ---------------------------- @@ -380,23 +382,6 @@ return TRUE return FALSE -// ------------------------------------- -// Xenobiology Slime-Extract Smartfridge -// ------------------------------------- -/obj/machinery/smartfridge/extract - name = "smart slime extract storage" - desc = "A refrigerated storage unit for slime extracts." - -/obj/machinery/smartfridge/extract/accept_check(obj/item/O) - if(istype(O, /obj/item/slime_extract)) - return TRUE - if(istype(O, /obj/item/slime_scanner)) - return TRUE - return FALSE - -/obj/machinery/smartfridge/extract/preloaded - initial_contents = list(/obj/item/slime_scanner = 2) - // ------------------------- // Organ Surgery Smartfridge // ------------------------- @@ -437,6 +422,15 @@ var/obj/item/organ/O = AM O.organ_flags &= ~ORGAN_FROZEN +/obj/machinery/smartfridge/organ/preloaded + initial_contents = list( + /obj/item/organ/stomach = 2, + /obj/item/organ/lungs = 1, + /obj/item/organ/liver = 2, + /obj/item/organ/eyes = 2, + /obj/item/organ/heart = 2, + /obj/item/organ/ears = 2) + // ----------------------------- // Chemistry Medical Smartfridge // ----------------------------- diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm index 772893e3ff1..bfc9179c489 100644 --- a/code/modules/food_and_drinks/pizzabox.dm +++ b/code/modules/food_and_drinks/pizzabox.dm @@ -96,7 +96,7 @@ . += tag_overlay /obj/item/pizzabox/worn_overlays(isinhands, icon_file) - . = list() + . = ..() var/current_offset = 2 if(isinhands) for(var/V in boxes) //add EXTRA BOX per box @@ -341,13 +341,13 @@ /obj/item/pizzabox/infinite/proc/attune_pizza(mob/living/carbon/human/noms) //tonight on "proc names I never thought I'd type" if(!pizza_preferences[noms.ckey]) - pizza_preferences[noms.ckey] = pickweight(pizza_types) + pizza_preferences[noms.ckey] = pick_weight(pizza_types) if(noms.has_quirk(/datum/quirk/pineapple_liker)) pizza_preferences[noms.ckey] = /obj/item/reagent_containers/food/snacks/pizza/pineapple else if(noms.has_quirk(/datum/quirk/pineapple_hater)) var/list/pineapple_pizza_liker = pizza_types.Copy() pineapple_pizza_liker -= /obj/item/reagent_containers/food/snacks/pizza/pineapple - pizza_preferences[noms.ckey] = pickweight(pineapple_pizza_liker) + pizza_preferences[noms.ckey] = pick_weight(pineapple_pizza_liker) else if(noms.mind && noms.mind.assigned_role == "Botanist") pizza_preferences[noms.ckey] = /obj/item/reagent_containers/food/snacks/pizza/dank diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index 2474d1d5350..8be72cd786d 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -29,6 +29,7 @@ results = list(/datum/reagent/consumable/ethanol/moonshine = 10) required_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/sugar = 5) required_catalysts = list(/datum/reagent/consumable/enzyme = 5) + required_container = /obj/structure/fermenting_barrel /datum/chemical_reaction/wine results = list(/datum/reagent/consumable/ethanol/wine = 10) @@ -632,22 +633,10 @@ /datum/chemical_reaction/hearth_wine results = list(/datum/reagent/consumable/ethanol/trickwine/hearth_wine = 5) - required_reagents = list(/datum/reagent/consumable/ethanol/hcider = 3, /datum/reagent/consumable/pyre_elementum = 1, /datum/reagent/fuel = 1) + required_reagents = list(/datum/reagent/consumable/ethanol/hcider = 3, /datum/reagent/consumable/pyre_elementum = 1, /datum/reagent/phosphorus = 1) required_container = /obj/structure/fermenting_barrel/distiller mix_sound ='sound/items/welder.ogg' -/datum/chemical_reaction/force_wine - results = list(/datum/reagent/consumable/ethanol/trickwine/force_wine = 5) - required_reagents = list(/datum/reagent/consumable/ethanol/tequila = 3, /datum/reagent/calcium = 1, /datum/reagent/consumable/comet_trail = 1) - required_container = /obj/structure/fermenting_barrel/distiller - mix_sound ='sound/magic/forcewall.ogg' - -/datum/chemical_reaction/prism_wine - results = list(/datum/reagent/consumable/ethanol/trickwine/prism_wine = 5) - required_reagents = list(/datum/reagent/consumable/ethanol/gin = 3, /datum/reagent/toxin/plasma = 1, /datum/reagent/consumable/tinlux = 1) - required_container = /obj/structure/fermenting_barrel/distiller - mix_sound ='sound/weapons/laser.ogg' - /datum/chemical_reaction/molten_bubbles results = list(/datum/reagent/consumable/molten = 30) required_reagents = list(/datum/reagent/clf3 = 10, /datum/reagent/consumable/space_cola = 20, /datum/reagent/medicine/leporazine = 1, /datum/reagent/medicine/lavaland_extract = 1) diff --git a/code/modules/food_and_drinks/recipes/processor_recipes.dm b/code/modules/food_and_drinks/recipes/processor_recipes.dm index 55db7cf06b8..63ffccdba79 100644 --- a/code/modules/food_and_drinks/recipes/processor_recipes.dm +++ b/code/modules/food_and_drinks/recipes/processor_recipes.dm @@ -13,17 +13,13 @@ input = /obj/item/reagent_containers/food/snacks/meat/rawcutlet output = /obj/item/reagent_containers/food/snacks/meat/rawbacon -/datum/food_processor_process/potatowedges - input = /obj/item/reagent_containers/food/snacks/grown/potato/wedges - output = /obj/item/reagent_containers/food/snacks/fries - /datum/food_processor_process/sweetpotato input = /obj/item/reagent_containers/food/snacks/grown/potato/sweet output = /obj/item/reagent_containers/food/snacks/yakiimo /datum/food_processor_process/potato input = /obj/item/reagent_containers/food/snacks/grown/potato - output = /obj/item/reagent_containers/food/snacks/tatortot + output = /obj/item/reagent_containers/food/snacks/fries /datum/food_processor_process/carrot input = /obj/item/reagent_containers/food/snacks/grown/carrot @@ -35,7 +31,7 @@ /datum/food_processor_process/spaghetti input = /obj/item/reagent_containers/food/snacks/doughslice - output = /obj/item/reagent_containers/food/snacks/spaghetti + output = /obj/item/food/spaghetti/raw /datum/food_processor_process/corn input = /obj/item/reagent_containers/food/snacks/grown/corn @@ -49,11 +45,6 @@ input = /obj/item/reagent_containers/food/snacks/grown/parsnip output = /obj/item/reagent_containers/food/snacks/roastparsnip -/datum/food_processor_process/mob/slime - input = /mob/living/simple_animal/slime - output = null - required_machine = /obj/machinery/processor/slime - /datum/food_processor_process/towercap input = /obj/item/grown/log output = /obj/item/popsicle_stick diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm index f29e948adf4..751f6017eb9 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm @@ -6,83 +6,72 @@ /datum/crafting_recipe/food/meatbread name = "Meat bread" reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /obj/item/reagent_containers/food/snacks/meat/cutlet/plain = 3, /obj/item/reagent_containers/food/snacks/cheesewedge = 3 ) - result = /obj/item/reagent_containers/food/snacks/store/bread/meat + result = /obj/item/food/bread/meat subcategory = CAT_BREAD /datum/crafting_recipe/food/xenomeatbread name = "Xenomeat bread" reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 3, /obj/item/reagent_containers/food/snacks/cheesewedge = 3 ) - result = /obj/item/reagent_containers/food/snacks/store/bread/xenomeat + result = /obj/item/food/bread/xenomeat subcategory = CAT_BREAD /datum/crafting_recipe/food/spidermeatbread name = "Spidermeat bread" reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /obj/item/reagent_containers/food/snacks/meat/cutlet/spider = 3, /obj/item/reagent_containers/food/snacks/cheesewedge = 3 ) - result = /obj/item/reagent_containers/food/snacks/store/bread/spidermeat + result = /obj/item/food/bread/spidermeat subcategory = CAT_BREAD /datum/crafting_recipe/food/banananutbread name = "Banana nut bread" reqs = list( /datum/reagent/consumable/milk = 5, - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /obj/item/reagent_containers/food/snacks/boiledegg = 3, /obj/item/reagent_containers/food/snacks/grown/banana = 1 ) - result = /obj/item/reagent_containers/food/snacks/store/bread/banana + result = /obj/item/food/bread/banana subcategory = CAT_BREAD /datum/crafting_recipe/food/tofubread name = "Tofu bread" reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /obj/item/reagent_containers/food/snacks/tofu = 3, /obj/item/reagent_containers/food/snacks/cheesewedge = 3 ) - result = /obj/item/reagent_containers/food/snacks/store/bread/tofu + result = /obj/item/food/bread/tofu subcategory = CAT_BREAD /datum/crafting_recipe/food/creamcheesebread name = "Cream cheese bread" reqs = list( /datum/reagent/consumable/milk = 5, - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /obj/item/reagent_containers/food/snacks/cheesewedge = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/bread/creamcheese - subcategory = CAT_BREAD - -/datum/crafting_recipe/food/mimanabread - name = "Mimana bread" - reqs = list( - /datum/reagent/consumable/soymilk = 5, - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, - /obj/item/reagent_containers/food/snacks/tofu = 3, - /obj/item/reagent_containers/food/snacks/grown/banana/mime = 1 - ) - result = /obj/item/reagent_containers/food/snacks/store/bread/mimana + result = /obj/item/food/bread/creamcheese subcategory = CAT_BREAD /datum/crafting_recipe/food/garlicbread name = "Garlic Bread" time = 40 reqs = list(/obj/item/reagent_containers/food/snacks/grown/garlic = 1, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 1, + /obj/item/food/breadslice/plain = 1, /obj/item/reagent_containers/food/snacks/butter = 1 ) - result = /obj/item/reagent_containers/food/snacks/garlicbread + result = /obj/item/food/garlicbread subcategory = CAT_BREAD /datum/crafting_recipe/food/butterbiscuit @@ -91,7 +80,7 @@ /obj/item/reagent_containers/food/snacks/bun = 1, /obj/item/reagent_containers/food/snacks/butter = 1 ) - result = /obj/item/reagent_containers/food/snacks/butterbiscuit + result = /obj/item/food/butterbiscuit subcategory = CAT_BREAD /datum/crafting_recipe/food/butterdog @@ -100,14 +89,14 @@ /obj/item/reagent_containers/food/snacks/bun = 1, /obj/item/reagent_containers/food/snacks/butter = 3, ) - result = /obj/item/reagent_containers/food/snacks/butterdog + result = /obj/item/food/butterdog subcategory = CAT_BREAD /datum/crafting_recipe/food/moldybread // why would you make this? name = "Moldy Bread" reqs = list( - /obj/item/reagent_containers/food/snacks/breadslice/plain = 1, + /obj/item/food/breadslice/plain = 1, /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 1 ) - result = /obj/item/reagent_containers/food/snacks/breadslice/moldy + result = /obj/item/food/breadslice/moldy subcategory = CAT_BREAD diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm index 38ea0442182..4f583890948 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm @@ -91,34 +91,6 @@ result = /obj/item/reagent_containers/food/snacks/burger/tofu subcategory = CAT_BURGER -/datum/crafting_recipe/food/ghostburger - name = "Ghost burger" - reqs = list( - /obj/item/ectoplasm = 1, - /datum/reagent/consumable/sodiumchloride = 2, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/ghost - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/clownburger - name = "Clown burger" - reqs = list( - /obj/item/clothing/mask/gas/clown_hat = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/clown - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/mimeburger - name = "Mime burger" - reqs = list( - /obj/item/clothing/mask/gas/mime = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/mime - subcategory = CAT_BURGER - /datum/crafting_recipe/food/redburger name = "Red burger" reqs = list( @@ -199,24 +171,6 @@ result = /obj/item/reagent_containers/food/snacks/burger/white subcategory = CAT_BURGER -/datum/crafting_recipe/food/spellburger - name = "Spell burger" - reqs = list( - /obj/item/clothing/head/wizard/fake = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/spell - subcategory = CAT_BURGER - -/datum/crafting_recipe/food/spellburger2 - name = "Spell burger" - reqs = list( - /obj/item/clothing/head/wizard = 1, - /obj/item/reagent_containers/food/snacks/bun = 1 - ) - result = /obj/item/reagent_containers/food/snacks/burger/spell - subcategory = CAT_BURGER - /datum/crafting_recipe/food/bigbiteburger name = "Big bite burger" reqs = list( diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm index dcae05095ae..993c75246c6 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm @@ -6,190 +6,170 @@ /datum/crafting_recipe/food/carrotcake name = "Carrot cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/carrot = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/carrot + result = /obj/item/food/cake/carrot subcategory = CAT_CAKE /datum/crafting_recipe/food/cheesecake name = "Cheese cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/cheesewedge = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/cheese + result = /obj/item/food/cake/cheese subcategory = CAT_CAKE /datum/crafting_recipe/food/applecake name = "Apple cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/apple = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/apple + result = /obj/item/food/cake/apple subcategory = CAT_CAKE /datum/crafting_recipe/food/orangecake name = "Orange cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/orange + result = /obj/item/food/cake/orange subcategory = CAT_CAKE /datum/crafting_recipe/food/limecake name = "Lime cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/lime + result = /obj/item/food/cake/lime subcategory = CAT_CAKE /datum/crafting_recipe/food/lemoncake name = "Lemon cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/lemon + result = /obj/item/food/cake/lemon subcategory = CAT_CAKE /datum/crafting_recipe/food/chocolatecake name = "Chocolate cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/chocolatebar = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/chocolate + result = /obj/item/food/cake/chocolate subcategory = CAT_CAKE /datum/crafting_recipe/food/birthdaycake name = "Birthday cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/candle = 1, /datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/caramel = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/birthday + result = /obj/item/food/cake/birthday subcategory = CAT_CAKE /datum/crafting_recipe/food/energycake name = "Energy cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/birthday = 1, - /obj/item/melee/transforming/energy/sword = 1, + /obj/item/food/cake/birthday = 1, + /obj/item/melee/energy/sword = 1, ) - blacklist = list(/obj/item/reagent_containers/food/snacks/store/cake/birthday/energy) - result = /obj/item/reagent_containers/food/snacks/store/cake/birthday/energy + blacklist = list(/obj/item/food/cake/birthday/energy) + result = /obj/item/food/cake/birthday/energy subcategory = CAT_CAKE /datum/crafting_recipe/food/braincake name = "Brain cake" reqs = list( /obj/item/organ/brain = 1, - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1 + /obj/item/food/cake/plain = 1 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/brain - subcategory = CAT_CAKE - -/datum/crafting_recipe/food/slimecake - name = "Slime cake" - reqs = list( - /obj/item/slime_extract = 1, - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/slimecake + result = /obj/item/food/cake/brain subcategory = CAT_CAKE /datum/crafting_recipe/food/pumpkinspicecake name = "Pumpkin spice cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/pumpkin = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/pumpkinspice + result = /obj/item/food/cake/pumpkinspice subcategory = CAT_CAKE -/datum/crafting_recipe/food/holycake +/datum/crafting_recipe/food/angelcake name = "Angel food cake" reqs = list( - /datum/reagent/water/holywater = 15, - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1 + /datum/reagent/consumable/cream = 25, + /obj/item/food/cake/plain = 1 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/holy_cake + result = /obj/item/food/cake/holy_cake subcategory = CAT_CAKE /datum/crafting_recipe/food/poundcake name = "Pound cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 4 + /obj/item/food/cake/plain = 4 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/pound_cake + result = /obj/item/food/cake/pound_cake subcategory = CAT_CAKE /datum/crafting_recipe/food/hardwarecake name = "Hardware cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/circuitboard = 2, /datum/reagent/toxin/acid = 5 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/hardware_cake + result = /obj/item/food/cake/hardware_cake subcategory = CAT_CAKE /datum/crafting_recipe/food/bscccake - name = "blackberry and strawberry chocolate cake" + name = "Blackberry and Strawberry Chocolate cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/chocolatebar = 2, /obj/item/reagent_containers/food/snacks/grown/berries = 5 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/bscc + result = /obj/item/food/cake/bscc subcategory = CAT_CAKE /datum/crafting_recipe/food/bscvcake - name = "blackberry and strawberry vanilla cake" + name = "Blackberry and Strawberry Vanilla cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/berries = 5 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/bsvc - subcategory = CAT_CAKE - -/datum/crafting_recipe/food/clowncake - name = "clown cake" - always_availible = FALSE - reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, - /obj/item/reagent_containers/food/snacks/sundae = 2, - /obj/item/reagent_containers/food/snacks/grown/banana = 5 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/clown_cake + result = /obj/item/food/cake/bsvc subcategory = CAT_CAKE /datum/crafting_recipe/food/vanillacake - name = "vanilla cake" + name = "Vanilla cake" always_availible = FALSE reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/vanillapod = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/vanilla_cake + result = /obj/item/food/cake/vanilla_cake subcategory = CAT_CAKE /datum/crafting_recipe/food/trumpetcake name = "Spaceman's Cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/trumpet = 2, /datum/reagent/consumable/cream = 5, /datum/reagent/consumable/berryjuice = 5 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/trumpet + result = /obj/item/food/cake/trumpet subcategory = CAT_CAKE @@ -198,7 +178,7 @@ reqs = list( /obj/item/organ/brain = 1, /obj/item/organ/heart = 1, - /obj/item/reagent_containers/food/snacks/store/cake/birthday = 1, + /obj/item/food/cake/birthday = 1, /obj/item/reagent_containers/food/snacks/meat/slab = 3, /datum/reagent/blood = 30, /datum/reagent/consumable/sprinkles = 5, diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm index 4e0ade4fa22..3f39339a4d4 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm @@ -86,28 +86,6 @@ ////////////////////// Non-alcoholic recipes /////////////////// -/datum/crafting_recipe/holybottle - name = "Holy Water Flask" - time = 30 - reqs = list( - /obj/item/reagent_containers/food/drinks/bottle = 1, - /datum/reagent/water/holywater = 100 - ) - result = /obj/item/reagent_containers/food/drinks/bottle/holywater - category = CAT_DRINK - -//flask of unholy water is a beaker for some reason, I will try making it a bottle and add it here once the antag freeze is over. t. kryson - -/datum/crafting_recipe/nothingbottle - name = "Nothing Bottle" - time = 30 - reqs = list( - /obj/item/reagent_containers/food/drinks/bottle = 1, - /datum/reagent/consumable/nothing = 100 - ) - result = /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing - category = CAT_DRINK - /datum/crafting_recipe/smallcarton name = "Small Carton" result = /obj/item/reagent_containers/food/drinks/sillycup/smallcarton @@ -124,22 +102,13 @@ /obj/item/reagent_containers/food/drinks/bottle = 1) category = CAT_DRINK -/datum/crafting_recipe/kong - name = "Kong" - result = /obj/item/reagent_containers/food/drinks/bottle/kong - time = 30 - reqs = list(/datum/reagent/consumable/ethanol/whiskey = 100, - /obj/item/reagent_containers/food/snacks/monkeycube = 1, - /obj/item/reagent_containers/food/drinks/bottle = 1) - category = CAT_DRINK - /datum/crafting_recipe/pruno name = "pruno mix" result = /obj/item/reagent_containers/food/drinks/bottle/pruno time = 30 reqs = list( /obj/item/storage/bag/trash = 1, - /obj/item/reagent_containers/food/snacks/breadslice/moldy = 1, + /obj/item/food/breadslice/moldy = 1, /obj/item/reagent_containers/food/snacks/grown = 4, /obj/item/reagent_containers/food/snacks/candy_corn = 2, /datum/reagent/water = 15 diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm index 522f362e777..a4ab818fdd6 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm @@ -36,7 +36,7 @@ reqs = list( /obj/item/reagent_containers/food/snacks/friedegg = 1, /obj/item/reagent_containers/food/snacks/meat/steak = 1, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 1, + /obj/item/food/breadslice/plain = 1, ) result = /obj/item/reagent_containers/food/snacks/benedict subcategory = CAT_EGG diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm index edca42fda07..dbe7f114963 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm @@ -44,18 +44,6 @@ result = /obj/item/reagent_containers/food/snacks/sundae subcategory = CAT_ICE -/datum/crafting_recipe/food/honkdae - name ="Honkdae" - reqs = list( - /datum/reagent/consumable/cream = 5, - /obj/item/clothing/mask/gas/clown_hat = 1, - /obj/item/reagent_containers/food/snacks/grown/cherries = 1, - /obj/item/reagent_containers/food/snacks/grown/banana = 2, - /obj/item/reagent_containers/food/snacks/icecream = 1 - ) - result = /obj/item/reagent_containers/food/snacks/honkdae - subcategory = CAT_ICE - /datum/crafting_recipe/food/cornuto name = "Cornuto" reqs = list( @@ -182,28 +170,8 @@ result = /obj/item/reagent_containers/food/snacks/snowcones/fruitsalad subcategory = CAT_ICE -/datum/crafting_recipe/food/mime_sc - name = "Mime snowcone" - reqs = list( - /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/nothing = 5 - ) - result = /obj/item/reagent_containers/food/snacks/snowcones/mime - subcategory = CAT_ICE - -/datum/crafting_recipe/food/clown_sc - name = "Clown snowcone" - reqs = list( - /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/laughter = 5 - ) - result = /obj/item/reagent_containers/food/snacks/snowcones/clown - subcategory = CAT_ICE - /datum/crafting_recipe/food/soda_sc - name = "Space Cola snowcone" + name = "Master Cola snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, @@ -213,7 +181,7 @@ subcategory = CAT_ICE /datum/crafting_recipe/food/spacemountainwind_sc - name = "Space Mountain Wind snowcone" + name = "Comet Trail snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, @@ -223,7 +191,7 @@ subcategory = CAT_ICE /datum/crafting_recipe/food/pwrgame_sc - name = "Pwrgame snowcone" + name = "Pacfuel snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm index 72f2046a3b8..ade14f27241 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm @@ -242,15 +242,6 @@ result = /obj/item/reagent_containers/food/snacks/bbqribs subcategory = CAT_MEAT -/datum/crafting_recipe/food/meatclown - name = "Meat Clown" - reqs = list( - /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1, - /obj/item/reagent_containers/food/snacks/grown/banana = 1 - ) - result = /obj/item/reagent_containers/food/snacks/meatclown - subcategory = CAT_MEAT - /datum/crafting_recipe/food/gumbo name = "Black eyed gumbo" reqs = list( diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm index 1bb3d250a9a..1eb1d255c34 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm @@ -102,7 +102,7 @@ /datum/reagent/consumable/blackpepper = 1, /obj/item/reagent_containers/food/snacks/pastrybase = 2 ) - result = /obj/item/reagent_containers/food/snacks/baguette + result = /obj/item/food/baguette subcategory = CAT_MISCFOOD ////////////////////////////////////////////////TOAST//////////////////////////////////////////////// @@ -111,7 +111,7 @@ name = "Slime toast" reqs = list( /datum/reagent/toxin/slimejelly = 5, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 1 + /obj/item/food/breadslice/plain = 1 ) result = /obj/item/reagent_containers/food/snacks/jelliedtoast/slime subcategory = CAT_MISCFOOD @@ -120,7 +120,7 @@ name = "Jellied toast" reqs = list( /datum/reagent/consumable/cherryjelly = 5, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 1 + /obj/item/food/breadslice/plain = 1 ) result = /obj/item/reagent_containers/food/snacks/jelliedtoast/cherry subcategory = CAT_MISCFOOD @@ -128,7 +128,7 @@ /datum/crafting_recipe/food/butteredtoast name = "Buttered Toast" reqs = list( - /obj/item/reagent_containers/food/snacks/breadslice/plain = 1, + /obj/item/food/breadslice/plain = 1, /obj/item/reagent_containers/food/snacks/butter = 1 ) result = /obj/item/reagent_containers/food/snacks/butteredtoast @@ -138,7 +138,7 @@ name = "Two bread" reqs = list( /datum/reagent/consumable/ethanol/wine = 5, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 2 + /obj/item/food/breadslice/plain = 2 ) result = /obj/item/reagent_containers/food/snacks/twobread subcategory = CAT_MISCFOOD @@ -265,7 +265,7 @@ /datum/reagent/consumable/milk = 1, /datum/reagent/consumable/cherryjelly = 5, /obj/item/stock_parts/cell/super =1, - /obj/item/melee/sabre = 1 + /obj/item/melee/sword/sabre = 1 ) result = /obj/item/reagent_containers/food/snacks/powercrepe subcategory = CAT_MISCFOOD diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm index cc61c7048fd..3de7c3c3d75 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm @@ -370,17 +370,6 @@ result = /obj/item/reagent_containers/food/snacks/donkpocket/pizza subcategory = CAT_PASTRY -/datum/crafting_recipe/food/donkpocket/honk - time = 15 - name = "Honk-Pocket" - reqs = list( - /obj/item/reagent_containers/food/snacks/pastrybase = 1, - /obj/item/reagent_containers/food/snacks/grown/banana = 1, - /datum/reagent/consumable/sugar = 3 - ) - result = /obj/item/reagent_containers/food/snacks/donkpocket/honk - subcategory = CAT_PASTRY - /datum/crafting_recipe/food/donkpocket/berry time = 15 name = "Berry-pocket" @@ -473,7 +462,7 @@ reqs = list( /datum/reagent/consumable/eggyolk = 5, /obj/item/reagent_containers/food/snacks/cheesewedge = 1, - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1 + /obj/item/food/bread/plain = 1 ) result = /obj/item/reagent_containers/food/snacks/khachapuri subcategory = CAT_PASTRY @@ -575,7 +564,7 @@ /obj/item/reagent_containers/food/snacks/pastrybase = 1, /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1 ) - result = /obj/item/reagent_containers/food/snacks/bluecherrycupcake + result = /obj/item/reagent_containers/food/snacks/cherrycupcake/blue subcategory = CAT_PASTRY /datum/crafting_recipe/food/honeybun diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm index 83e923f53fb..42afb89c422 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm @@ -130,18 +130,6 @@ result = /obj/item/reagent_containers/food/snacks/pie/grapetart subcategory = CAT_PIE -/datum/crafting_recipe/food/mimetart - name = "Mime tart" - always_availible = FALSE - reqs = list( - /datum/reagent/consumable/milk = 5, - /datum/reagent/consumable/sugar = 5, - /obj/item/reagent_containers/food/snacks/pie/plain = 1, - /datum/reagent/consumable/nothing = 5 - ) - result = /obj/item/reagent_containers/food/snacks/pie/mimetart - subcategory = CAT_PIE - /datum/crafting_recipe/food/berrytart name = "Berry tart" always_availible = FALSE @@ -162,7 +150,6 @@ /datum/reagent/consumable/sugar = 5, /obj/item/reagent_containers/food/snacks/pie/plain = 1, /obj/item/reagent_containers/food/snacks/chocolatebar = 3, - /obj/item/slime_extract = 1 //The reason you dont know how to make it! ) result = /obj/item/reagent_containers/food/snacks/pie/cocolavatart subcategory = CAT_PIE diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm index 2cb668df4fd..704ac4d207e 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm @@ -24,18 +24,6 @@ result = /obj/item/reagent_containers/food/snacks/pizza/meat subcategory = CAT_PIZZA -/datum/crafting_recipe/food/arnold - name = "Arnold pizza" - reqs = list( - /obj/item/reagent_containers/food/snacks/pizzabread = 1, - /obj/item/reagent_containers/food/snacks/meat/cutlet = 3, - /obj/item/ammo_casing/c9mm = 8, - /obj/item/reagent_containers/food/snacks/cheesewedge = 1, - /obj/item/reagent_containers/food/snacks/grown/tomato = 1 - ) - result = /obj/item/reagent_containers/food/snacks/pizza/arnold - subcategory = CAT_PIZZA - /datum/crafting_recipe/food/mushroompizza name = "Mushroom pizza" reqs = list( diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm index 73ccc0f3789..778c639a074 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm @@ -34,19 +34,6 @@ result = /obj/item/reagent_containers/food/snacks/salad/validsalad subcategory = CAT_SALAD -/datum/crafting_recipe/food/monkeysdelight - name = "Monkeys delight" - reqs = list( - /datum/reagent/consumable/flour = 5, - /datum/reagent/consumable/sodiumchloride = 1, - /datum/reagent/consumable/blackpepper = 1, - /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/monkeycube = 1, - /obj/item/reagent_containers/food/snacks/grown/banana = 1 - ) - result = /obj/item/reagent_containers/food/snacks/soup/monkeysdelight - subcategory = CAT_SALAD - /datum/crafting_recipe/food/oatmeal name = "Oatmeal" reqs = list( diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm index 41829e9ec2b..121f15fa972 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm @@ -9,7 +9,7 @@ /datum/crafting_recipe/food/sandwich name = "Sandwich" reqs = list( - /obj/item/reagent_containers/food/snacks/breadslice/plain = 2, + /obj/item/food/breadslice/plain = 2, /obj/item/reagent_containers/food/snacks/meat/steak = 1, /obj/item/reagent_containers/food/snacks/cheesewedge = 1 ) @@ -19,7 +19,7 @@ /datum/crafting_recipe/food/grilledcheesesandwich name = "Cheese sandwich" reqs = list( - /obj/item/reagent_containers/food/snacks/breadslice/plain = 2, + /obj/item/food/breadslice/plain = 2, /obj/item/reagent_containers/food/snacks/cheesewedge = 2 ) result = /obj/item/reagent_containers/food/snacks/grilledcheese @@ -29,7 +29,7 @@ name = "Jelly sandwich" reqs = list( /datum/reagent/toxin/slimejelly = 5, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 2, + /obj/item/food/breadslice/plain = 2, ) result = /obj/item/reagent_containers/food/snacks/jellysandwich/slime subcategory = CAT_SANDWICH @@ -38,7 +38,7 @@ name = "Jelly sandwich" reqs = list( /datum/reagent/consumable/cherryjelly = 5, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 2, + /obj/item/food/breadslice/plain = 2, ) result = /obj/item/reagent_containers/food/snacks/jellysandwich/cherry subcategory = CAT_SANDWICH @@ -46,7 +46,7 @@ /datum/crafting_recipe/food/notasandwich name = "Not a sandwich" reqs = list( - /obj/item/reagent_containers/food/snacks/breadslice/plain = 2, + /obj/item/food/breadslice/plain = 2, /obj/item/clothing/mask/fakemoustache = 1 ) result = /obj/item/reagent_containers/food/snacks/notasandwich @@ -55,11 +55,11 @@ /datum/crafting_recipe/food/blt name = "BLT" reqs = list( - /obj/item/reagent_containers/food/snacks/breadslice/plain = 2, + /obj/item/food/breadslice/plain = 2, /obj/item/reagent_containers/food/snacks/meat/bacon = 2, /obj/item/reagent_containers/food/snacks/grown/cabbage = 1, /obj/item/reagent_containers/food/snacks/grown/tomato = 1 ) result = /obj/item/reagent_containers/food/snacks/blt - category = CAT_SANDWICH + subcategory = CAT_SANDWICH diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm index d0558f94fdb..9352e1b371a 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm @@ -88,7 +88,6 @@ /obj/item/reagent_containers/food/snacks/meat/cutlet = 2, /obj/item/reagent_containers/food/snacks/grown/chili = 1, /obj/item/reagent_containers/food/snacks/grown/tomato = 1, - /obj/item/clothing/shoes/clown_shoes = 1 ) result = /obj/item/reagent_containers/food/snacks/soup/clownchili subcategory = CAT_SOUP @@ -115,15 +114,15 @@ subcategory = CAT_SOUP -/datum/crafting_recipe/food/milosoup - name = "Milo soup" +/datum/crafting_recipe/food/misosoup + name = "Miso soup" reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, /obj/item/reagent_containers/food/snacks/soydope = 2, /obj/item/reagent_containers/food/snacks/tofu = 2 ) - result = /obj/item/reagent_containers/food/snacks/soup/milo + result = /obj/item/reagent_containers/food/snacks/soup/miso subcategory = CAT_SOUP /datum/crafting_recipe/food/bloodsoup @@ -146,17 +145,6 @@ result = /obj/item/reagent_containers/food/snacks/soup/slime subcategory = CAT_SOUP -/datum/crafting_recipe/food/clownstears - name = "Clowns tears" - reqs = list( - /datum/reagent/water = 10, - /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/grown/banana = 1, - /obj/item/stack/sheet/mineral/hidden/hellstone = 1 - ) - result = /obj/item/reagent_containers/food/snacks/soup/clownstears - subcategory = CAT_SOUP - /datum/crafting_recipe/food/mysterysoup name = "Mystery soup" reqs = list( diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm index 796c360c344..f123ced2ffc 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm @@ -6,65 +6,56 @@ /datum/crafting_recipe/food/tomatopasta name = "Tomato pasta" reqs = list( - /obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti = 1, + /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/reagent_containers/food/snacks/grown/tomato = 2 ) - result = /obj/item/reagent_containers/food/snacks/spaghetti/pastatomato + result = /obj/item/food/spaghetti/pastatomato subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/copypasta name = "Copypasta" reqs = list( - /obj/item/reagent_containers/food/snacks/spaghetti/pastatomato = 2 + /obj/item/food/spaghetti/pastatomato = 2 ) - result = /obj/item/reagent_containers/food/snacks/spaghetti/copypasta + result = /obj/item/food/spaghetti/copypasta subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/spaghettimeatball name = "Spaghetti meatball" reqs = list( - /obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti = 1, + /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/reagent_containers/food/snacks/meatball = 2 ) - result = /obj/item/reagent_containers/food/snacks/spaghetti/meatballspaghetti - subcategory = CAT_SPAGHETTI - -/datum/crafting_recipe/food/spesslaw - name = "Spesslaw" - reqs = list( - /obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti = 1, - /obj/item/reagent_containers/food/snacks/meatball = 4 - ) - result = /obj/item/reagent_containers/food/snacks/spaghetti/spesslaw + result = /obj/item/food/spaghetti/meatballspaghetti subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/beefnoodle name = "Beef noodle" reqs = list( /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti = 1, + /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/reagent_containers/food/snacks/meat/cutlet = 2, /obj/item/reagent_containers/food/snacks/grown/cabbage = 1 ) - result = /obj/item/reagent_containers/food/snacks/spaghetti/beefnoodle + result = /obj/item/food/spaghetti/beefnoodle subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/chowmein name = "Chowmein" reqs = list( - /obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti = 1, + /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/reagent_containers/food/snacks/meat/cutlet = 1, /obj/item/reagent_containers/food/snacks/grown/cabbage = 2, /obj/item/reagent_containers/food/snacks/grown/carrot = 1 ) - result = /obj/item/reagent_containers/food/snacks/spaghetti/chowmein + result = /obj/item/food/spaghetti/chowmein subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/butternoodles name = "Butter Noodles" reqs = list( - /obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti = 1, + /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/reagent_containers/food/snacks/butter = 1 ) - result = /obj/item/reagent_containers/food/snacks/spaghetti/butternoodles + result = /obj/item/food/spaghetti/butternoodles subcategory = CAT_SPAGHETTI diff --git a/code/modules/holiday/easter.dm b/code/modules/holiday/easter.dm index 9d88d310755..34325454bd7 100644 --- a/code/modules/holiday/easter.dm +++ b/code/modules/holiday/easter.dm @@ -55,7 +55,7 @@ icon_state = "s_rabbit_white" icon_living = "s_rabbit_white" icon_dead = "s_rabbit_white_dead" - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 unsuitable_atmos_damage = 0 @@ -84,24 +84,6 @@ . = ..() countEggs() -//Bunny Suit -/obj/item/clothing/head/bunnyhead - name = "Easter Bunny Head" - icon_state = "bunnyhead" - item_state = "bunnyhead" - desc = "Considerably more cute than 'Frank'." - slowdown = -1 - flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR - -/obj/item/clothing/suit/bunnysuit - name = "Easter Bunny Suit" - desc = "Hop Hop Hop!" - icon_state = "bunnysuit" - item_state = "bunnysuit" - slowdown = -1 - body_parts_covered = CHEST|GROIN|LEGS|ARMS - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - //Bunny bag! /obj/item/storage/backpack/satchel/bunnysatchel name = "Easter Bunny Satchel" @@ -122,9 +104,7 @@ icon_state = "egg-[eggcolor]" /obj/item/reagent_containers/food/snacks/egg/proc/dispensePrize(turf/where) - var/won = pick(/obj/item/clothing/head/bunnyhead, - /obj/item/clothing/suit/bunnysuit, - /obj/item/storage/backpack/satchel/bunnysatchel, + var/won = pick(/obj/item/storage/backpack/satchel/bunnysatchel, /obj/item/reagent_containers/food/snacks/grown/carrot, /obj/item/toy/balloon, /obj/item/toy/gun, @@ -143,7 +123,7 @@ /obj/item/toy/prize/durand, /obj/item/toy/prize/marauder, /obj/item/toy/prize/seraph, - /obj/item/toy/prize/mauler, + /obj/item/toy/prize/touro, /obj/item/toy/prize/odysseus, /obj/item/toy/prize/phazon, /obj/item/toy/prize/reticence, @@ -151,8 +131,7 @@ /obj/item/toy/plush/carpplushie, /obj/item/toy/plush/spider, /obj/item/toy/redbutton, - /obj/item/toy/windupToolbox, - /obj/item/clothing/head/collectable/rabbitears) + /obj/item/toy/windupToolbox) new won(where) new/obj/item/reagent_containers/food/snacks/chocolateegg(where) @@ -174,36 +153,12 @@ /datum/crafting_recipe/food/hotcrossbun name = "Hot-Cross Bun" reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /datum/reagent/consumable/sugar = 1 ) result = /obj/item/reagent_containers/food/snacks/hotcrossbun subcategory = CAT_MISCFOOD - -/obj/item/reagent_containers/food/snacks/store/cake/brioche - name = "brioche cake" - desc = "A ring of sweet, glazed buns." - icon_state = "briochecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/brioche - slices_num = 6 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 2) - -/obj/item/reagent_containers/food/snacks/cakeslice/brioche - name = "brioche cake slice" - desc = "Delicious sweet-bread. Who needs anything else?" - icon_state = "briochecake_slice" - filling_color = "#FFD700" - -/datum/crafting_recipe/food/briochecake - name = "Brioche cake" - reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, - /datum/reagent/consumable/sugar = 2 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/brioche - subcategory = CAT_MISCFOOD - /obj/item/reagent_containers/food/snacks/scotchegg name = "scotch egg" desc = "A boiled egg wrapped in a delicious, seasoned meatball." @@ -234,7 +189,7 @@ /datum/crafting_recipe/food/mammi name = "Mammi" reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /obj/item/reagent_containers/food/snacks/chocolatebar = 1, /datum/reagent/consumable/milk = 5 ) diff --git a/code/modules/holiday/holidays.dm b/code/modules/holiday/holidays.dm index ae19b1dea37..ac946eee384 100644 --- a/code/modules/holiday/holidays.dm +++ b/code/modules/holiday/holidays.dm @@ -571,7 +571,6 @@ /datum/holiday/easter name = EASTER - drone_hat = /obj/item/clothing/head/rabbitears var/const/days_early = 1 //to make editing the holiday easier var/const/days_extra = 1 diff --git a/code/modules/holodeck/items.dm b/code/modules/holodeck/items.dm index d56fd4f9c32..c0d985e89d7 100644 --- a/code/modules/holodeck/items.dm +++ b/code/modules/holodeck/items.dm @@ -13,7 +13,7 @@ /obj/item/holo/esword name = "holographic energy sword" desc = "May the force be with you. Sorta." - icon = 'icons/obj/transforming_energy.dmi' + icon = 'icons/obj/weapon/energy.dmi' icon_state = "sword" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' @@ -69,7 +69,7 @@ /obj/item/toy/beach_ball/holoball name = "basketball" - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "basketball" item_state = "basketball" desc = "Here's your chance, do your dance at the Space Jam." diff --git a/code/modules/holodeck/turfs.dm b/code/modules/holodeck/turfs.dm index 59e9a46341e..9670e4426a6 100644 --- a/code/modules/holodeck/turfs.dm +++ b/code/modules/holodeck/turfs.dm @@ -169,4 +169,4 @@ tiled_dirt = FALSE /turf/open/floor/holofloor/snow/cold - initial_gas_mix = "nob=7500;TEMP=2.7" + initial_gas_mix = "ammonia=7500;TEMP=2.7" diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index a91ad2b9005..6f1b40b3dc9 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -76,6 +76,14 @@ icon_state = closed_state return ..() +/obj/structure/fermenting_barrel/gunpowder + name = "Gunpowder Barrel" + desc = "A wooden barrel packed with gunpowder. You should probably keep this away from sparks or open fires." + +/obj/structure/fermenting_barrel/gunpowder/Initialize() + . = ..() + reagents.add_reagent(/datum/reagent/gunpowder, 200) + /obj/structure/fermenting_barrel/distiller name = "Distiller" icon_state = "distiller" diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm index a21e9f71afc..87e0f1a2a42 100644 --- a/code/modules/hydroponics/gene_modder.dm +++ b/code/modules/hydroponics/gene_modder.dm @@ -341,7 +341,6 @@ seed.genes += disk.gene.Copy() if(istype(disk.gene, /datum/plant_gene/reagent)) seed.reagents_from_genes() - disk.gene.apply_vars(seed) repaint_seed() diff --git a/code/modules/hydroponics/genes/attack.dm b/code/modules/hydroponics/genes/attack.dm new file mode 100644 index 00000000000..37dabf0c06a --- /dev/null +++ b/code/modules/hydroponics/genes/attack.dm @@ -0,0 +1,128 @@ +/// Traits that turn a plant into a weapon, giving them force and effects on attack. +/datum/plant_gene/trait/attack + name = "On Attack Trait" + description = "It is a very dangerous weapon." + icon = "hand-fist" + /// The multiplier we apply to the potency to calculate force. Set to 0 to not affect the force. + var/force_multiplier = 0 + /// If TRUE, our plant will degrade in force every hit until diappearing. + var/degrades_after_hit = FALSE + /// When we fully degrade, what degraded off of us? + var/degradation_noun = "leaves" + +/datum/plant_gene/trait/attack/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + if(force_multiplier) + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + our_plant.force = round((5 + our_seed.potency * force_multiplier), 1) + RegisterSignal(our_plant, COMSIG_ITEM_ATTACK, PROC_REF(on_plant_attack)) + RegisterSignal(our_plant, COMSIG_ITEM_AFTERATTACK, PROC_REF(after_plant_attack)) + +/// Signal proc for [COMSIG_ITEM_ATTACK] that allows for effects on attack +/datum/plant_gene/trait/attack/proc/on_plant_attack(obj/item/source, mob/living/target, mob/living/user) + SIGNAL_HANDLER + + INVOKE_ASYNC(src, PROC_REF(attack_effect), source, target, user) + +/* + * Effects done when we hit people with our plant, ON attack. + * Override on a per-plant basis. + * + * our_plant - our plant, that we're attacking with + * user - the person who is attacking with the plant + * target - the person who is attacked by the plant + */ +/datum/plant_gene/trait/attack/proc/attack_effect(obj/item/our_plant, mob/living/target, mob/living/user) + return + +/// Signal proc for [COMSIG_ITEM_AFTERATTACK] that allows for effects after an attack is done +/datum/plant_gene/trait/attack/proc/after_plant_attack(obj/item/source, atom/target, mob/user, proximity_flag, click_parameters) + SIGNAL_HANDLER + + if(!proximity_flag) + return + + if(!ismovable(target)) + return + + if(isobj(target)) + var/obj/object_target = target + if(!(object_target.obj_flags & CAN_BE_HIT)) + return . + + INVOKE_ASYNC(src, PROC_REF(after_attack_effect), source, target, user) + return . + +/* + * Effects done when we hit people with our plant, AFTER the attack is done. + * Extend on a per-plant basis. + * + * our_plant - our plant, that we're attacking with + * user - the person who is attacking with the plant + * target - the atom which is attacked by the plant + */ +/datum/plant_gene/trait/attack/proc/after_attack_effect(obj/item/our_plant, atom/target, mob/living/user) + SHOULD_CALL_PARENT(TRUE) + + if(!degrades_after_hit) + return + + // We probably hit something or someone. Reduce our force + if(our_plant.force > 0) + our_plant.force -= rand(1, (our_plant.force / 3) + 1) + return + + // When our force degrades to zero or below, we're all done + to_chat(user, span_warning("All the [degradation_noun] have fallen off [our_plant] from violent whacking!")) + qdel(our_plant) + +/// Novaflower's attack effects (sets people on fire) + degradation on attack +/datum/plant_gene/trait/attack/novaflower_attack + name = "Heated Petals" + description = "Hitting with it may cause things to combust." + force_multiplier = 0.2 + degrades_after_hit = TRUE + degradation_noun = "petals" + +/datum/plant_gene/trait/attack/novaflower_attack/attack_effect(obj/item/our_plant, mob/living/target, mob/living/user) + if(!istype(target)) + return + + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + to_chat(target, span_danger("You are lit on fire from the intense heat of [our_plant]!")) + target.adjust_fire_stacks(round(our_seed.potency / 20)) + if(target.IgniteMob()) + message_admins("[ADMIN_LOOKUPFLW(user)] set [ADMIN_LOOKUPFLW(target)] on fire with [our_plant] at [AREACOORD(user)]") + user.log_message("set [key_name(target)] on fire with [our_plant]", LOG_ATTACK) + target.log_message("was set on fire by [key_name(user)] with [our_plant].", LOG_ATTACK) + + our_plant.investigate_log("was used by [key_name(user)] to burn [key_name(target)] at [AREACOORD(user)]", INVESTIGATE_BOTANY) + +/// Sunflower's attack effect (shows cute text) +/datum/plant_gene/trait/attack/sunflower_attack + name = "Bright Petals" + description = "Makes others feel the power on hit." + +/datum/plant_gene/trait/attack/sunflower_attack/after_attack_effect(obj/item/our_plant, atom/target, mob/user, proximity_flag, click_parameters) + if(ismob(target)) + var/mob/target_mob = target + user.visible_message("[user] smacks [target_mob] with [user.p_their()] [our_plant.name]! FLOWER POWER!", ignored_mobs = list(target_mob, user)) + if(target_mob != user) + to_chat(target_mob, "[user] smacks you with [our_plant]!FLOWER POWER!") + to_chat(user, "Your [our_plant.name]'s FLOWER POWER strikes [target_mob]!") + + return ..() + +/// Normal nettle's force + degradation on attack +/datum/plant_gene/trait/attack/nettle_attack + name = "Sharpened Leaves" + force_multiplier = 0.2 + degrades_after_hit = TRUE + +/// Deathnettle force + degradation on attack +/datum/plant_gene/trait/attack/nettle_attack/death + name = "Aggressive Sharpened Leaves" + force_multiplier = 0.4 diff --git a/code/modules/hydroponics/genes/backfire.dm b/code/modules/hydroponics/genes/backfire.dm new file mode 100644 index 00000000000..338b0fb1745 --- /dev/null +++ b/code/modules/hydroponics/genes/backfire.dm @@ -0,0 +1,163 @@ +/// Traits for plants with backfire effects. These are negative effects that occur when a plant is handled without gloves/unsafely. +/datum/plant_gene/trait/backfire + name = "Backfire Trait" + icon = "mitten" + description = "Be careful when holding it without protection." + /// Whether our actions are cancelled when the backfire triggers. + var/cancel_action_on_backfire = FALSE + /// A list of extra traits to check to be considered safe. + var/list/traits_to_check + /// A list of extra genes to check to be considered safe. + var/list/genes_to_check + +/datum/plant_gene/trait/backfire/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + if(genes_to_check) + genes_to_check = string_list(genes_to_check) + if(traits_to_check) + traits_to_check = string_list(traits_to_check) + our_plant.AddElement(/datum/element/plant_backfire, cancel_action_on_backfire, traits_to_check, genes_to_check) + RegisterSignal(our_plant, COMSIG_PLANT_ON_BACKFIRE, PROC_REF(on_backfire)) + +/// Signal proc for [COMSIG_PLANT_ON_BACKFIRE] that causes the backfire effect. +/datum/plant_gene/trait/backfire/proc/on_backfire(obj/item/source, mob/living/carbon/user) + SIGNAL_HANDLER + + INVOKE_ASYNC(src, PROC_REF(backfire_effect), source, user) + +/** + * The actual backfire effect on the user. + * Override with plant-specific effects. + */ +/datum/plant_gene/trait/backfire/proc/backfire_effect(obj/item/our_plant, mob/living/carbon/user) + return + +/// Rose's prick on backfire +/datum/plant_gene/trait/backfire/rose_thorns + name = "Rose Thorns" + description = "The stem has a lot of thorns." + traits_to_check = list(TRAIT_PIERCEIMMUNE) + +/datum/plant_gene/trait/backfire/rose_thorns/backfire_effect(obj/item/our_plant, mob/living/carbon/user) + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + if(!our_seed.get_gene(/datum/plant_gene/trait/sticky) && prob(66)) + to_chat(user, span_danger("[our_plant]'s thorns nearly prick your hand. Best be careful.")) + return + + to_chat(user, span_danger("[our_plant]'s thorns prick your hand. Ouch.")) + our_plant.investigate_log("rose-pricked [key_name(user)] at [AREACOORD(user)]", INVESTIGATE_BOTANY) + var/obj/item/bodypart/affecting = user.get_active_hand() + affecting?.receive_damage(2) + +/// Novaflower's hand burn on backfire +/datum/plant_gene/trait/backfire/novaflower_heat + name = "Burning Stem" + description = "The stem may burn your hand." + cancel_action_on_backfire = TRUE + +/datum/plant_gene/trait/backfire/novaflower_heat/backfire_effect(obj/item/our_plant, mob/living/carbon/user) + to_chat(user, span_danger("[our_plant] singes your bare hand!")) + our_plant.investigate_log("self-burned [key_name(user)] for [our_plant.force] at [AREACOORD(user)]", INVESTIGATE_BOTANY) + var/obj/item/bodypart/affecting = user.get_active_hand() + return affecting?.receive_damage(0, our_plant.force) + +/// Normal Nettle hannd burn on backfire +/datum/plant_gene/trait/backfire/nettle_burn + name = "Stinging Stem" + description = "The stem may sting your hand." + +/datum/plant_gene/trait/backfire/nettle_burn/backfire_effect(obj/item/our_plant, mob/living/carbon/user) + to_chat(user, span_danger("[our_plant] burns your bare hand!")) + our_plant.investigate_log("self-burned [key_name(user)] for [our_plant.force] at [AREACOORD(user)]", INVESTIGATE_BOTANY) + var/obj/item/bodypart/affecting = user.get_active_hand() + return affecting?.receive_damage(0, our_plant.force) + +/// Deathnettle hand burn + stun on backfire +/datum/plant_gene/trait/backfire/nettle_burn/death + name = "Aggressive Stinging Stem" + cancel_action_on_backfire = TRUE + +/datum/plant_gene/trait/backfire/nettle_burn/death/backfire_effect(obj/item/our_plant, mob/living/carbon/user) + . = ..() + if(!. || prob(50)) + return + + user.Paralyze(10 SECONDS) + to_chat(user, span_userdanger("You are stunned by the powerful acids of [our_plant]!")) + +/* +/// Ghost-Chili heating up on backfire +/datum/plant_gene/trait/backfire/chili_heat + name = "Active Capsicum Glands" + description = "You may survive a cold winter with this in hand." + genes_to_check = list(/datum/plant_gene/trait/chem_heating) + /// The mob currently holding the chili. + var/datum/weakref/held_mob + /// The chili this gene is tied to, to track it for processing. + var/datum/weakref/our_chili + +/datum/plant_gene/trait/backfire/chili_heat/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + our_chili = WEAKREF(our_plant) + RegisterSignals(our_plant, list(COMSIG_QDELETING, COMSIG_ITEM_DROPPED), PROC_REF(stop_backfire_effect)) + +/* + * Begin processing the trait on backfire. + * + * our_plant - our source plant, which is backfiring + * user - the mob holding our plant + */ +/datum/plant_gene/trait/backfire/chili_heat/backfire_effect(obj/item/our_plant, mob/living/carbon/user) + held_mob = WEAKREF(user) + START_PROCESSING(SSobj, src) + +/* + * Stop processing the trait when we're dropped or deleted. + * + * our_plant - our source plant + */ +/datum/plant_gene/trait/backfire/chili_heat/proc/stop_backfire_effect(datum/source) + SIGNAL_HANDLER + + held_mob = null + STOP_PROCESSING(SSobj, src) + +/* + * The processing of our trait. Heats up the mob ([held_mob]) currently holding the source plant ([our_chili]). + * Stops processing if we're no longer being held by [held mob]. + */ +/datum/plant_gene/trait/backfire/chili_heat/process(seconds_per_tick) + var/mob/living/carbon/our_mob = held_mob?.resolve() + var/obj/item/our_plant = our_chili?.resolve() + + // If our weakrefs don't resolve, or if our mob is not holding our plant, stop processing. + if(!our_mob || !our_plant || !our_mob.is_holding(our_plant)) + stop_backfire_effect() + return + + our_mob.adjust_bodytemperature(7.5 * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick) + if(SPT_PROB(5, seconds_per_tick)) + to_chat(our_mob, span_warning("Your hand holding [our_plant] burns!")) + +/// Bluespace Tomato squashing on the user on backfire +/datum/plant_gene/trait/backfire/bluespace + name = "Bluespace Volatility" + description = "You may be spaced out if you hold this unprotected." + cancel_action_on_backfire = TRUE + genes_to_check = list(/datum/plant_gene/trait/squash) + +/datum/plant_gene/trait/backfire/bluespace/backfire_effect(obj/item/our_plant, mob/living/carbon/user) + if(prob(50)) + return + + to_chat(user, span_danger("[our_plant] slips out of your hand!")) + + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + var/datum/plant_gene/trait/squash/squash_gene = our_seed.get_gene(/datum/plant_gene/trait/squash) + squash_gene.squash_plant(our_plant, user) +*/ diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index ed58e86e16d..4f2b2420ee5 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -44,8 +44,8 @@ dried_type = src.type if(seed) - for(var/datum/plant_gene/trait/T in seed.genes) - T.on_new(src, loc) + for(var/datum/plant_gene/trait/trait in seed.genes) + trait.on_new_plant(src, loc) seed.prepare_result(src) transform *= TRANSFORM_USING_VARIABLE(seed.potency, 100) + 0.5 //Makes the resulting produce's sprite larger or smaller based on potency! add_juice() @@ -110,15 +110,13 @@ user.visible_message("[user] starts splitting \the [src].", "You dig into \the [src] and start to split it...", "You hear the sound of a sharp object digging into some plant matter.") if(do_after(user, 20, target = src)) to_chat(user, "You split apart the [src]! Sadly you put too much force and it's remains are unusable, but hey, you got your seeds!") - seedify(src, 1, TRUE, FALSE, src, user) - squash(user) + seedify(src, 1, TRUE, TRUE, src, user) if(TOOL_WRENCH) playsound(loc, 'sound/misc/splort.ogg', 50, TRUE, -1) user.visible_message("[user] starts whacking \the [src].", "You start whacking \the [src]...", "You hear the sound of a plant being whacked violently.") if(do_after(user, 17, target = src)) to_chat(user, "You smash [src]! Sadly there's nothing left of it other than the seeds and some junk.") - seedify(src, 1, TRUE, FALSE, src, user) - squash(user) + seedify(src, 1, TRUE, TRUE, src, user) if(!slice_path) if(O.get_sharpness()) playsound(loc, 'sound/weapons/slice.ogg', 50, TRUE, -1) @@ -127,44 +125,11 @@ to_chat(user, "You slice apart the [src]! You went too far and the tiny remaining scraps are worthless!") seedify(src, 1, TRUE, TRUE, src, user) -// Various gene procs -/obj/item/reagent_containers/food/snacks/grown/attack_self(mob/user) - if(seed && seed.get_gene(/datum/plant_gene/trait/squash)) - squash(user) - ..() - /obj/item/reagent_containers/food/snacks/grown/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(!..()) //was it caught by a mob? if(seed) for(var/datum/plant_gene/trait/T in seed.genes) T.on_throw_impact(src, hit_atom) - if(seed.get_gene(/datum/plant_gene/trait/squash)) - squash(hit_atom) - -/obj/item/reagent_containers/food/snacks/grown/proc/squash(atom/target) - var/turf/T = get_turf(target) - forceMove(T) - if(ispath(splat_type, /obj/effect/decal/cleanable/food/plant_smudge)) - if(filling_color) - var/obj/O = new splat_type(T) - O.color = filling_color - O.name = "[name] smudge" - else if(splat_type) - new splat_type(T) - - if(trash) - generate_trash(T) - - visible_message("[src] is squashed.","You hear a smack.") - if(seed) - for(var/datum/plant_gene/trait/trait in seed.genes) - trait.on_squash(src, target) - - reagents.expose(T) - for(var/A in T) - reagents.expose(A) - - qdel(src) /obj/item/reagent_containers/food/snacks/grown/On_Consume() if(iscarbon(usr)) diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm index 64a529f8ea9..b567f091930 100644 --- a/code/modules/hydroponics/grown/banana.dm +++ b/code/modules/hydroponics/grown/banana.dm @@ -110,12 +110,3 @@ name = "bluespace banana peel" desc = "A peel from a bluespace banana." icon_state = "bluenana_peel" - -// Other -/obj/item/grown/bananapeel/specialpeel //used by /obj/item/clothing/shoes/clown_shoes/banana_shoes - name = "synthesized banana peel" - desc = "A synthetic banana peel." - -/obj/item/grown/bananapeel/specialpeel/ComponentInitialize() - . = ..() - AddComponent(/datum/component/slippery, 40) diff --git a/code/modules/hydroponics/grown/chili.dm b/code/modules/hydroponics/grown/chili.dm index bbb1379bcc7..bb504941565 100644 --- a/code/modules/hydroponics/grown/chili.dm +++ b/code/modules/hydroponics/grown/chili.dm @@ -98,7 +98,7 @@ if(held_mob.is_holding(src)) if(istype(held_mob) && held_mob.gloves) return - held_mob.adjust_bodytemperature(15 * TEMPERATURE_DAMAGE_COEFFICIENT) + held_mob.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT) if(prob(10)) to_chat(held_mob, "Your hand holding [src] burns!") else diff --git a/code/modules/hydroponics/grown/flowers.dm b/code/modules/hydroponics/grown/flowers.dm index 820ecae005d..9459a1f7a81 100644 --- a/code/modules/hydroponics/grown/flowers.dm +++ b/code/modules/hydroponics/grown/flowers.dm @@ -144,6 +144,7 @@ species = "sunflower" plantname = "Sunflowers" product = /obj/item/grown/sunflower + genes = list(/datum/plant_gene/trait/attack/sunflower_attack) endurance = 20 production = 2 yield = 2 @@ -169,10 +170,6 @@ throw_speed = 1 throw_range = 3 -/obj/item/grown/sunflower/attack(mob/M, mob/user) - to_chat(M, "[user] smacks you with a sunflower!FLOWER POWER!") - to_chat(user, "Your sunflower's FLOWER POWER strikes [M]!") - // Moonflower /obj/item/seeds/sunflower/moonflower name = "pack of moonflower seeds" @@ -211,11 +208,18 @@ icon_grow = "novaflower-grow" icon_dead = "sunflower-dead" product = /obj/item/grown/novaflower + genes = list(/datum/plant_gene/trait/backfire/novaflower_heat, /datum/plant_gene/trait/attack/novaflower_attack) mutatelist = list() reagents_add = list(/datum/reagent/consumable/condensedcapsaicin = 0.25, /datum/reagent/consumable/capsaicin = 0.3, /datum/reagent/consumable/nutriment = 0) rarity = 20 research = PLANT_RESEARCH_TIER_3 +/obj/item/seeds/sunflower/novaflower/Initialize(mapload,nogenes) + . = ..() + if(!nogenes) + unset_mutability(/datum/plant_gene/trait/attack/novaflower_attack, PLANT_GENE_REMOVABLE) + unset_mutability(/datum/plant_gene/trait/backfire/novaflower_heat, PLANT_GENE_REMOVABLE) + /obj/item/grown/novaflower seed = /obj/item/seeds/sunflower/novaflower name = "novaflower" @@ -232,33 +236,3 @@ throw_range = 3 attack_verb = list("roasted", "scorched", "burned") grind_results = list(/datum/reagent/consumable/capsaicin = 0, /datum/reagent/consumable/condensedcapsaicin = 0) - -/obj/item/grown/novaflower/add_juice() - ..() - force = round((5 + seed.potency / 5), 1) - -/obj/item/grown/novaflower/attack(mob/living/carbon/M, mob/user) - if(!..()) - return - if(isliving(M)) - to_chat(M, "You are lit on fire from the intense heat of the [name]!") - M.adjust_fire_stacks(seed.potency / 20) - if(M.IgniteMob()) - message_admins("[ADMIN_LOOKUPFLW(user)] set [ADMIN_LOOKUPFLW(M)] on fire with [src] at [AREACOORD(user)]") - log_game("[key_name(user)] set [key_name(M)] on fire with [src] at [AREACOORD(user)]") - -/obj/item/grown/novaflower/afterattack(atom/A as mob|obj, mob/user,proximity) - . = ..() - if(!proximity) - return - if(force > 0) - force -= rand(1, (force / 3) + 1) - else - to_chat(usr, "All the petals have fallen off the [name] from violent whacking!") - qdel(src) - -/obj/item/grown/novaflower/pickup(mob/living/carbon/human/user) - ..() - if(!user.gloves) - to_chat(user, "The [name] burns your bare hand!") - user.adjustFireLoss(rand(1, 5)) diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm index 73a322ce81a..be34ef0ec42 100644 --- a/code/modules/hydroponics/grown/misc.dm +++ b/code/modules/hydroponics/grown/misc.dm @@ -163,7 +163,7 @@ name = "gatfruit" desc = "It smells like burning." icon_state = "gatfruit" - trash = /obj/item/gun/ballistic/revolver/syndicate + trash = /obj/item/gun/ballistic/revolver/viper bitesize_mod = 2 foodtype = FRUIT tastes = list("gunpowder" = 1) diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index 17d43d0a31c..c3488c43f78 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -220,7 +220,7 @@ endurance = 8 yield = 4 growthstages = 2 - genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/reagent/liquidelectricity, /datum/plant_gene/trait/plant_type/carnivory) + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/reagent/liquidelectricity, /datum/plant_gene/trait/carnivory) growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' reagents_add = list(/datum/reagent/consumable/nutriment = 0.1) research = PLANT_RESEARCH_TIER_3 @@ -229,7 +229,7 @@ . = ..() if(!nogenes) unset_mutability(/datum/plant_gene/reagent/liquidelectricity, PLANT_GENE_EXTRACTABLE) - unset_mutability(/datum/plant_gene/trait/plant_type/carnivory, PLANT_GENE_REMOVABLE) + unset_mutability(/datum/plant_gene/trait/carnivory, PLANT_GENE_REMOVABLE) /obj/item/reagent_containers/food/snacks/grown/mushroom/jupitercup seed = /obj/item/seeds/chanter/jupitercup diff --git a/code/modules/hydroponics/grown/nettle.dm b/code/modules/hydroponics/grown/nettle.dm index 277245138a5..3fa14561b8d 100644 --- a/code/modules/hydroponics/grown/nettle.dm +++ b/code/modules/hydroponics/grown/nettle.dm @@ -9,10 +9,16 @@ endurance = 40 // tuff like a toiger yield = 4 growthstages = 5 - genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/plant_type/weed_hardy) + genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/plant_type/weed_hardy, /datum/plant_gene/trait/attack/nettle_attack, /datum/plant_gene/trait/backfire/nettle_burn) mutatelist = list(/obj/item/seeds/nettle/death) reagents_add = list(/datum/reagent/toxin/acid = 0.5) +/obj/item/seeds/nettle/Initialize(mapload,nogenes) + . = ..() + if(!nogenes) + unset_mutability(/datum/plant_gene/trait/attack/nettle_attack, PLANT_GENE_REMOVABLE) + unset_mutability(/datum/plant_gene/trait/backfire/nettle_burn, PLANT_GENE_REMOVABLE) + /obj/item/seeds/nettle/death name = "pack of death-nettle seeds" desc = "These seeds grow into death-nettles." @@ -23,17 +29,23 @@ endurance = 25 maturation = 8 yield = 2 - genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/plant_type/weed_hardy, /datum/plant_gene/trait/stinging) + genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/plant_type/weed_hardy, /datum/plant_gene/trait/stinging, /datum/plant_gene/trait/attack/nettle_attack/death, /datum/plant_gene/trait/backfire/nettle_burn/death) mutatelist = list() reagents_add = list(/datum/reagent/toxin/acid/fluacid = 0.5, /datum/reagent/toxin/acid = 0.5) rarity = 20 research = PLANT_RESEARCH_TIER_3 +/obj/item/seeds/nettle/death/Initialize(mapload,nogenes) + . = ..() + if(!nogenes) + unset_mutability(/datum/plant_gene/trait/attack/nettle_attack/death, PLANT_GENE_REMOVABLE) + unset_mutability(/datum/plant_gene/trait/backfire/nettle_burn/death, PLANT_GENE_REMOVABLE) + /obj/item/reagent_containers/food/snacks/grown/nettle // "snack" seed = /obj/item/seeds/nettle name = "nettle" desc = "It's probably not wise to touch it with bare hands..." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "nettle" lefthand_file = 'icons/mob/inhands/weapons/plants_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/plants_righthand.dmi' @@ -48,40 +60,6 @@ wine_power = 20 wine_flavor = "tingling itchiness" //WS edit: new wine flavors -/obj/item/reagent_containers/food/snacks/grown/nettle/pickup(mob/living/user) - ..() - if(!iscarbon(user)) - return FALSE - var/mob/living/carbon/C = user - if(C.gloves) - return FALSE - if(HAS_TRAIT(C, TRAIT_PIERCEIMMUNE)) - return FALSE - var/hit_zone = (C.held_index_to_dir(C.active_hand_index) == "l" ? "l_":"r_") + "arm" - var/obj/item/bodypart/affecting = C.get_bodypart(hit_zone) - if(affecting) - if(affecting.receive_damage(0, force)) - C.update_damage_overlays() - to_chat(C, "The nettle burns your bare hand!") - return TRUE - -/obj/item/reagent_containers/food/snacks/grown/nettle/afterattack(atom/A as mob|obj, mob/user,proximity) - . = ..() - if(!proximity) - return - if(force > 0) - force -= rand(1, (force / 3) + 1) // When you whack someone with it, leaves fall off - else - to_chat(usr, "All the leaves have fallen off the nettle from violent whacking.") - qdel(src) - -/obj/item/reagent_containers/food/snacks/grown/nettle/basic - seed = /obj/item/seeds/nettle - -/obj/item/reagent_containers/food/snacks/grown/nettle/basic/add_juice() - ..() - force = round((5 + seed.potency / 5), 1) - /obj/item/reagent_containers/food/snacks/grown/nettle/death seed = /obj/item/seeds/nettle/death name = "deathnettle" @@ -91,26 +69,3 @@ throwforce = 15 wine_power = 50 wine_flavor = "burning rage" //WS edit: new wine flavors - -/obj/item/reagent_containers/food/snacks/grown/nettle/death/add_juice() - ..() - force = round((5 + seed.potency / 2.5), 1) - -/obj/item/reagent_containers/food/snacks/grown/nettle/death/pickup(mob/living/carbon/user) - if(..()) - if(prob(50)) - user.Paralyze(100) - to_chat(user, "You are stunned by [src] as you try picking it up!") - -/obj/item/reagent_containers/food/snacks/grown/nettle/death/attack(mob/living/carbon/M, mob/user) - if(!..()) - return - if(isliving(M)) - to_chat(M, "You are stunned by the powerful acid of [src]!") - log_combat(user, M, "attacked", src) - - M.adjust_blurriness(force/7) - if(prob(20)) - M.Unconscious(force / 0.3) - M.Paralyze(force / 0.75) - M.drop_all_held_items() diff --git a/code/modules/hydroponics/grown/potato.dm b/code/modules/hydroponics/grown/potato.dm index 703df831552..44a987dc86a 100644 --- a/code/modules/hydroponics/grown/potato.dm +++ b/code/modules/hydroponics/grown/potato.dm @@ -29,25 +29,6 @@ juice_results = list(/datum/reagent/consumable/potato_juice = 0) distill_reagent = /datum/reagent/consumable/ethanol/vodka -/obj/item/reagent_containers/food/snacks/grown/potato/wedges - name = "potato wedges" - desc = "Slices of neatly cut potato." - icon_state = "potato_wedges" - filling_color = "#E9967A" - bitesize = 100 - - -/obj/item/reagent_containers/food/snacks/grown/potato/attackby(obj/item/W, mob/user, params) - if(W.get_sharpness()) - to_chat(user, "You cut the potato into wedges with [W].") - var/obj/item/reagent_containers/food/snacks/grown/potato/wedges/Wedges = new /obj/item/reagent_containers/food/snacks/grown/potato/wedges - remove_item_from_storage(user) - qdel(src) - user.put_in_hands(Wedges) - else - return ..() - - // Sweet Potato /obj/item/seeds/potato/sweet name = "pack of sweet potato seeds" diff --git a/code/modules/hydroponics/grown/root.dm b/code/modules/hydroponics/grown/root.dm index 97773e39f27..d3f847d7e29 100644 --- a/code/modules/hydroponics/grown/root.dm +++ b/code/modules/hydroponics/grown/root.dm @@ -28,7 +28,7 @@ /obj/item/reagent_containers/food/snacks/grown/carrot/attackby(obj/item/I, mob/user, params) if(I.get_sharpness()) to_chat(user, "You sharpen the carrot into a shiv with [I].") - var/obj/item/kitchen/knife/shiv/carrot/Shiv = new /obj/item/kitchen/knife/shiv/carrot + var/obj/item/melee/knife/shiv/carrot/Shiv = new /obj/item/melee/knife/shiv/carrot remove_item_from_storage(user) qdel(src) user.put_in_hands(Shiv) diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index f97596c348f..8ab59cc6f65 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -7,6 +7,7 @@ icon = 'icons/obj/hydroponics/harvest.dmi' resistance_flags = FLAMMABLE var/obj/item/seeds/seed = null // type path, gets converted to item on New(). It's safe to assume it's always a seed item. + var/auto_scatter = TRUE /obj/item/grown/Initialize(newloc, obj/item/seeds/new_seed) . = ..() @@ -18,13 +19,14 @@ // This is for adminspawn or map-placed growns. They get the default stats of their seed type. seed = new seed() seed.adjust_potency(50-seed.potency) - - pixel_x = base_pixel_x + rand(-5, 5) - pixel_y = base_pixel_y + rand(-5, 5) + if(auto_scatter) + pixel_x = base_pixel_x + rand(-5, 5) + pixel_y = base_pixel_y + rand(-5, 5) if(seed) - for(var/datum/plant_gene/trait/T in seed.genes) - T.on_new(src, newloc) + // Go through all traits in their genes and call on_new_plant from them. + for(var/datum/plant_gene/trait/trait in seed.genes) + trait.on_new_plant(src, newloc) if(istype(src, seed.product)) // no adding reagents if it is just a trash item seed.prepare_result(src) diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index 74d004849a2..5f0e38920cc 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -7,7 +7,7 @@ item_state = "analyzer" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT custom_materials = list(/datum/material/iron=30, /datum/material/glass=20) var/scan_mode = PLANT_SCANMODE_STATS @@ -59,7 +59,7 @@ /obj/item/cultivator name = "cultivator" desc = "It's used for removing weeds or scratching your back." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "cultivator" item_state = "cultivator" lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi' @@ -106,7 +106,7 @@ /obj/item/hatchet name = "hatchet" desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/weapon/axe.dmi' icon_state = "hatchet" item_state = "hatchet" lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi' @@ -179,11 +179,13 @@ volume = 50 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(1,2,5,10,15,25,50) + var/auto_scatter = TRUE /obj/item/reagent_containers/glass/bottle/nutrient/Initialize() . = ..() - pixel_x = base_pixel_x + rand(-5, 5) - pixel_y = base_pixel_y + rand(-5, 5) + if(auto_scatter) + pixel_x = base_pixel_x + rand(-5, 5) + pixel_y = base_pixel_y + rand(-5, 5) /obj/item/reagent_containers/glass/bottle/nutrient/ez diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index bbfeaeeb5b5..13faaf5f15a 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -194,7 +194,7 @@ //Pests & Weeds////////////////////////////////////////////////////////// if(pestlevel >= 8) - if(!myseed.get_gene(/datum/plant_gene/trait/plant_type/carnivory)) + if(!myseed.get_gene(/datum/plant_gene/trait/carnivory)) adjustHealth(-2 / rating) else @@ -202,7 +202,7 @@ adjustPests(-1 / rating) else if(pestlevel >= 4) - if(!myseed.get_gene(/datum/plant_gene/trait/plant_type/carnivory)) + if(!myseed.get_gene(/datum/plant_gene/trait/carnivory)) adjustHealth(-1 / rating) else @@ -210,7 +210,7 @@ if(prob(50)) adjustPests(-1 / rating) - else if(pestlevel < 4 && myseed.get_gene(/datum/plant_gene/trait/plant_type/carnivory)) + else if(pestlevel < 4 && myseed.get_gene(/datum/plant_gene/trait/carnivory)) adjustHealth(-2 / rating) if(prob(5)) adjustPests(-1 / rating) @@ -269,10 +269,7 @@ update_appearance() if(myseed && prob(5 * (11-myseed.production))) - for(var/g in myseed.genes) - if(istype(g, /datum/plant_gene/trait)) - var/datum/plant_gene/trait/selectedtrait = g - selectedtrait.on_grow(src) + SEND_SIGNAL(myseed, COMSIG_SEED_ON_GROW, src) return /obj/machinery/hydroponics/update_appearance(updates) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index a57934dc551..d34490d2bd2 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -1,6 +1,8 @@ /datum/plant_gene var/name var/mutability_flags = PLANT_GENE_EXTRACTABLE | PLANT_GENE_REMOVABLE ///These flags tells the genemodder if we want the gene to be extractable, only removable or neither. + /// The font awesome icon name representing the gene in the seed extractor UI (Once i port that -Fallcon) + var/icon = "dna" /datum/plant_gene/proc/get_name() // Used for manipulator display and gene disk name. var/formatted_name @@ -14,16 +16,39 @@ formatted_name += name return formatted_name -/datum/plant_gene/proc/can_add(obj/item/seeds/S) - return !istype(S, /obj/item/seeds/sample) // Samples can't accept new genes +/* + * Check if the seed can accept this plant gene. + * + * our_seed - the seed we're adding the gene to + * + * Returns TRUE if the seed can take the gene, and FALSE otherwise. + */ +/datum/plant_gene/proc/can_add(obj/item/seeds/our_seed) + SHOULD_CALL_PARENT(TRUE) + return TRUE +/// Copies over vars and information about our current gene to a new gene and returns the new instance of gene. /datum/plant_gene/proc/Copy() - var/datum/plant_gene/G = new type - G.mutability_flags = mutability_flags - return G - -/datum/plant_gene/proc/apply_vars(obj/item/seeds/S) // currently used for fire resist, can prob. be further refactored - return + var/datum/plant_gene/new_gene = new type + new_gene.mutability_flags = mutability_flags + return new_gene + +/* + * on_new_seed is called when seed genes are initialized on the /obj/seed. + * + * new_seed - the seed being created + */ +/datum/plant_gene/proc/on_new_seed(obj/item/seeds/new_seed) + return // Not implemented + +/* + * on_removed is called when the gene is removed from a seed. + * Also called when a seed is qdel'd (and all the genes are removed and deleted). + * + * old_seed - our seed, before being removed + */ +/datum/plant_gene/proc/on_removed(obj/item/seeds/old_seed) + return // Not implemented // Core plant genes store 5 main variables: lifespan, endurance, production, yield, potency /datum/plant_gene/core @@ -171,28 +196,70 @@ // Various traits affecting the product. /datum/plant_gene/trait + /// The rate at which this trait affects something. This can be anything really - why? I dunno. var/rate = 0.05 var/examine_line = "" - var/trait_id // must be set and equal for any two traits of the same type + /// Bonus lines displayed on examine. + var/description = "" + /// Flag - Traits that share an ID cannot be placed on the same plant. + var/trait_ids + /// Flag - Modifications made to the final product. + var/trait_flags + /// A blacklist of seeds that a trait cannot be attached to. + var/list/obj/item/seeds/seed_blacklist /datum/plant_gene/trait/Copy() var/datum/plant_gene/trait/G = ..() G.rate = rate return G -/datum/plant_gene/trait/can_add(obj/item/seeds/S) +/datum/plant_gene/trait/can_add(obj/item/seeds/source_seed) if(!..()) return FALSE - for(var/datum/plant_gene/trait/R in S.genes) - if(trait_id && R.trait_id == trait_id) + for(var/obj/item/seeds/found_seed as anything in seed_blacklist) + if(istype(source_seed, found_seed)) return FALSE - if(type == R.type) + + for(var/datum/plant_gene/trait/trait in source_seed.genes) + if(trait_ids & trait.trait_ids) + return FALSE + if(type == trait.type) return FALSE + return TRUE -/datum/plant_gene/trait/proc/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc) - return +/* + * on_new_plant is called for every plant trait on an /obj/item/grown or /obj/item/reagent_containers/food/snacks/grown when initialized. + * + * our_plant - the source plant being created + * newloc - the loc of the plant + */ +/datum/plant_gene/trait/proc/on_new_plant(obj/item/reagent_containers/food/snacks/grown/our_plant, newloc) + // Plants should always have seeds, but if a plant gene is somehow being instantiated on a plant with no seed, stop initializing genes + // (Plants hold their genes on their seeds, so we can't really add them to something that doesn't exist) + if(isnull(our_plant.get_plant_seed())) + stack_trace("[our_plant] ([our_plant.type]) has a nulled seed value while trying to initialize [src]!") + return FALSE + + // Add on any bonus lines on examine + if(description) + RegisterSignal(our_plant, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + return TRUE + +/* + * on_new_seed is called when seed genes are initialized on the /obj/seed. + * + * new_seed - the seed being created + */ +/datum/plant_gene/trait/on_new_seed(obj/item/seeds/new_seed) + return TRUE + +/// Add on any unique examine text to the plant's examine text. +/datum/plant_gene/trait/proc/examine(obj/item/reagent_containers/food/snacks/grown/our_plant, mob/examiner, list/examine_list) + SIGNAL_HANDLER + + examine_list += span_info("[description]") /datum/plant_gene/trait/proc/on_consume(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/target) return @@ -213,84 +280,173 @@ /datum/plant_gene/trait/proc/on_grow(obj/machinery/hydroponics/H) return +/// Allows the plant to be squashed when thrown or slipped on, leaving a colored mess and trash type item behind. /datum/plant_gene/trait/squash - // Allows the plant to be squashed when thrown or slipped on, leaving a colored mess and trash type item behind. - // Also splashes everything in target turf with reagents and applies other trait effects (teleporting, etc) to the target by on_squash. - // For code, see grown.dm name = "Liquid Contents" - examine_line = "It has a lot of liquid contents inside." + icon = "droplet" + description = "It may burst open from the internal pressure on impact." + trait_ids = THROW_IMPACT_ID | REAGENT_TRANSFER_ID | ATTACK_SELF_ID + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE + +// Register a signal that our plant can be squashed on add. +/datum/plant_gene/trait/squash/on_new_plant(obj/item/reagent_containers/food/snacks/grown/our_plant, newloc) + . = ..() + if(!.) + return + + RegisterSignal(our_plant, COMSIG_PLANT_ON_SLIP, PROC_REF(squash_plant)) + RegisterSignal(our_plant, COMSIG_MOVABLE_IMPACT, PROC_REF(squash_plant)) + RegisterSignal(our_plant, COMSIG_ITEM_ATTACK_SELF, PROC_REF(squash_plant)) + +/* + * Signal proc to squash the plant this trait belongs to, causing a smudge, exposing the target to reagents, and deleting it, + * + * Arguments + * our_plant - the plant this trait belongs to. + * target - the atom being hit by this squashed plant. + */ +/datum/plant_gene/trait/squash/proc/squash_plant(obj/item/reagent_containers/food/snacks/grown/our_plant, atom/target) + SIGNAL_HANDLER + + var/turf/our_turf = get_turf(target) + our_plant.forceMove(our_turf) + if(istype(our_plant)) + if(ispath(our_plant.splat_type, /obj/effect/decal/cleanable/food/plant_smudge)) + var/obj/plant_smudge = new our_plant.splat_type(our_turf) + plant_smudge.name = "[our_plant.name] smudge" + if(our_plant.filling_color) + plant_smudge.color = our_plant.filling_color + else if(our_plant.splat_type) + new our_plant.splat_type(our_turf) + else + var/obj/effect/decal/cleanable/food/plant_smudge/misc_smudge = new(our_turf) + misc_smudge.name = "[our_plant.name] smudge" + misc_smudge.color = "#82b900" -/datum/plant_gene/trait/squash/on_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/C) - // Squash the plant on slip. - G.squash(C) + our_plant.visible_message(span_warning("[our_plant] is squashed."),span_hear("You hear a smack.")) + SEND_SIGNAL(our_plant, COMSIG_PLANT_ON_SQUASH, target) + our_plant.reagents?.expose(our_turf) + for(var/things in our_turf) + our_plant.reagents?.expose(things) + + qdel(our_plant) + +/* + * Makes plant slippery, unless it has a grown-type trash. Then the trash gets slippery. + * Applies other trait effects (teleporting, etc) to the target by signal. + */ /datum/plant_gene/trait/slip - // Makes plant slippery, unless it has a grown-type trash. Then the trash gets slippery. - // Applies other trait effects (teleporting, etc) to the target by on_slip. name = "Slippery Skin" + description = "Watch your step around this." + icon = "person-falling" rate = 1.6 - examine_line = "It has a very slippery skin." + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE -/datum/plant_gene/trait/slip/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc) - ..() - if(istype(G) && ispath(G.trash, /obj/item/grown)) +/datum/plant_gene/trait/slip/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + var/obj/item/reagent_containers/food/snacks/grown/grown_plant = our_plant + if(istype(grown_plant) && ispath(grown_plant.trash, /obj/item/grown)) return - var/obj/item/seeds/seed = G.seed - var/stun_len = seed.potency * rate - if(!istype(G, /obj/item/grown/bananapeel) && (!G.reagents || !G.reagents.has_reagent(/datum/reagent/lube))) + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + var/stun_len = our_seed.potency * rate + + if(!istype(our_plant, /obj/item/grown/bananapeel) && (!our_plant.reagents || !our_plant.reagents.has_reagent(/datum/reagent/lube))) stun_len /= 3 - G.AddComponent(/datum/component/slippery, min(stun_len,140), NONE, CALLBACK(src, PROC_REF(handle_slip), G)) + our_plant.AddComponent(/datum/component/slippery, min(stun_len, 140), NONE, CALLBACK(src, PROC_REF(handle_slip), our_plant)) + +/// On slip, sends a signal that our plant was slipped on out. +/datum/plant_gene/trait/slip/proc/handle_slip(obj/item/reagent_containers/food/snacks/grown/our_plant, mob/slipped_target) + SEND_SIGNAL(our_plant, COMSIG_PLANT_ON_SLIP, slipped_target) -/datum/plant_gene/trait/slip/proc/handle_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/M) - for(var/datum/plant_gene/trait/T in G.seed.genes) - T.on_slip(G, M) +/* + * Cell recharging trait. Charges all mob's power cells to (potency*rate)% mark when eaten. + * Generates sparks on squash. + * Small (potency * rate) chance to shock squish or slip target for (potency * rate) damage. + * Also affects plant batteries see capatative cell production datum + */ /datum/plant_gene/trait/cell_charge - // Cell recharging trait. Charges all mob's power cells to (potency*rate)% mark when eaten. - // Generates sparks on squash. - // Small (potency*rate*5) chance to shock squish or slip target for (potency*rate*5) damage. - // Also affects plant batteries see capatative cell production datum name = "Electrical Activity" + description = "It can electrocute on interaction or recharge batteries when eaten." + icon = "bolt" rate = 0.2 + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE -/datum/plant_gene/trait/cell_charge/on_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/C) - var/power = G.seed.potency*rate - if(prob(power)) - C.electrocute_act(round(power), G, 1, SHOCK_NOGLOVES) - -/datum/plant_gene/trait/cell_charge/on_squash(obj/item/reagent_containers/food/snacks/grown/G, atom/target) - if(iscarbon(target)) - var/mob/living/carbon/C = target - var/power = G.seed.potency*rate - if(prob(power)) - C.electrocute_act(round(power), G, 1, SHOCK_NOGLOVES) - -/datum/plant_gene/trait/cell_charge/on_consume(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/target) - if(!G.reagents.total_volume) - var/batteries_recharged = 0 - for(var/obj/item/stock_parts/cell/C in target.GetAllContents()) - var/newcharge = min(G.seed.potency*0.01*C.maxcharge, C.maxcharge) - if(C.charge < newcharge) - C.charge = newcharge - if(isobj(C.loc)) - var/obj/O = C.loc - O.update_appearance() //update power meters and such - C.update_appearance() - batteries_recharged = 1 - if(batteries_recharged) - to_chat(target, "Your batteries are recharged!") +/datum/plant_gene/trait/cell_charge/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + if(our_seed.get_gene(/datum/plant_gene/trait/squash)) + // If we have the squash gene, let that handle slipping + RegisterSignal(our_plant, COMSIG_PLANT_ON_SQUASH, PROC_REF(zap_target)) + else + RegisterSignal(our_plant, COMSIG_PLANT_ON_SLIP, PROC_REF(zap_target)) + RegisterSignal(our_plant, COMSIG_FOOD_EATEN, PROC_REF(recharge_cells)) +/* + * Zaps the target with a stunning shock. + * + * our_plant - our source plant, shocking the target + * target - the atom being zapped by our plant + */ +/datum/plant_gene/trait/cell_charge/proc/zap_target(obj/item/our_plant, atom/target) + SIGNAL_HANDLER + if(!iscarbon(target)) + return + + our_plant.investigate_log("zapped [key_name(target)] at [AREACOORD(target)]. Last touched by: [our_plant.fingerprintslast].", INVESTIGATE_BOTANY) + var/mob/living/carbon/target_carbon = target + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + var/power = our_seed.potency * rate + if(prob(power)) + target_carbon.electrocute_act(round(power), our_plant, 1, SHOCK_NOGLOVES) + +/* + * Recharges every cell the person is holding for a bit based on plant potency. + * + * our_plant - our source plant, that we consumed to charge the cells + * eater - the mob that bit the plant + * feeder - the mob that feed the eater the plant + */ +/datum/plant_gene/trait/cell_charge/proc/recharge_cells(obj/item/our_plant, mob/living/carbon/eater, mob/feeder) + SIGNAL_HANDLER + + to_chat(eater, span_notice("You feel energized as you bite into [our_plant].")) + var/batteries_recharged = FALSE + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + for(var/obj/item/stock_parts/cell/found_cell in eater.get_contents()) + var/newcharge = min(our_seed.potency * 0.01 * found_cell.maxcharge, found_cell.maxcharge) + if(found_cell.charge < newcharge) + found_cell.charge = newcharge + if(isobj(found_cell.loc)) + var/obj/cell_location = found_cell.loc + cell_location.update_appearance() //update power meters and such + found_cell.update_appearance() + batteries_recharged = TRUE + if(batteries_recharged) + to_chat(eater, span_notice("Your batteries are recharged!")) + +/* + * Makes the plant glow. Makes the plant in tray glow, too. + * Adds (1.4 + potency * rate) light range and (potency * (rate + 0.01)) light_power to products. + */ /datum/plant_gene/trait/glow - // Makes plant glow. Makes plant in tray glow too. - // Adds 1 + potency*rate light range and potency*(rate + 0.01) light_power to products. name = "Bioluminescence" + icon = "lightbulb" rate = 0.03 - examine_line = "It emits a soft glow." - trait_id = "glow" + description = "It emits a soft glow." + trait_ids = GLOW_ID + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE var/glow_color = "#C3E381" /datum/plant_gene/trait/glow/proc/glow_range(obj/item/seeds/S) @@ -299,15 +455,18 @@ /datum/plant_gene/trait/glow/proc/glow_power(obj/item/seeds/S) return max(S.potency*(rate + 0.01), 0.1) -/datum/plant_gene/trait/glow/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc) +/datum/plant_gene/trait/glow/on_new_plant(obj/item/reagent_containers/food/snacks/grown/G, newloc) . = ..() G.light_system = MOVABLE_LIGHT G.AddComponent(/datum/component/overlay_lighting, glow_range(G.seed), glow_power(G.seed), glow_color) +/* + * Makes plant emit darkness. (Purple-ish shadows) + * Adds - (potency * (rate * 0.2)) light power to products. + */ /datum/plant_gene/trait/glow/shadow - //makes plant emit slightly purple shadows - //adds -potency*(rate*0.2) light power to products name = "Shadow Emission" + icon = "lightbulb-o" rate = 0.04 glow_color = "#AAD84B" @@ -348,157 +507,359 @@ name = "Pink Bioluminescence" glow_color = "#FFB3DA" - - +/* + * Makes plant teleport people when squashed or slipped on. + * Teleport radius is roughly potency / 10. + */ /datum/plant_gene/trait/teleport - // Makes plant teleport people when squashed or slipped on. - // Teleport radius is calculated as max(round(potency*rate), 1) name = "Bluespace Activity" + description = "It causes people to teleport on interaction." + icon = "right-left" rate = 0.1 + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE -/datum/plant_gene/trait/teleport/on_squash(obj/item/reagent_containers/food/snacks/grown/G, atom/target) - if(isliving(target)) - var/teleport_radius = max(round(G.seed.potency / 10), 1) - var/turf/T = get_turf(target) - new /obj/effect/decal/cleanable/molten_object(T) //Leave a pile of goo behind for dramatic effect... - do_teleport(target, T, teleport_radius, channel = TELEPORT_CHANNEL_BLUESPACE) +/datum/plant_gene/trait/teleport/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + if(our_seed.get_gene(/datum/plant_gene/trait/squash)) + // If we have the squash gene, let that handle slipping + RegisterSignal(our_plant, COMSIG_PLANT_ON_SQUASH, PROC_REF(squash_teleport)) + else + RegisterSignal(our_plant, COMSIG_PLANT_ON_SLIP, PROC_REF(slip_teleport)) + +/* + * When squashed, makes the target teleport. + * + * our_plant - our plant, being squashed, and teleporting the target + * target - the atom targeted by the squash + */ +/datum/plant_gene/trait/teleport/proc/squash_teleport(obj/item/our_plant, atom/target) + SIGNAL_HANDLER + + if(!isliving(target)) + return -/datum/plant_gene/trait/teleport/on_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/C) - var/teleport_radius = max(round(G.seed.potency / 10), 1) - var/turf/T = get_turf(C) - to_chat(C, "You slip through spacetime!") - do_teleport(C, T, teleport_radius, channel = TELEPORT_CHANNEL_BLUESPACE) + our_plant.investigate_log("squash-teleported [key_name(target)] at [AREACOORD(target)]. Last touched by: [our_plant.fingerprintslast].", INVESTIGATE_BOTANY) + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + var/teleport_radius = max(round(our_seed.potency / 10), 1) + var/turf/T = get_turf(target) + new /obj/effect/decal/cleanable/molten_object(T) //Leave a pile of goo behind for dramatic effect... + do_teleport(target, T, teleport_radius, channel = TELEPORT_CHANNEL_BLUESPACE) + +/* + * When slipped on, makes the target teleport and either teleport the source again or delete it. + * + * our_plant - our plant being slipped on + * target - the carbon targeted that was slipped and was teleported + */ +/datum/plant_gene/trait/teleport/proc/slip_teleport(obj/item/our_plant, mob/living/carbon/target) + SIGNAL_HANDLER + + our_plant.investigate_log("slip-teleported [key_name(target)] at [AREACOORD(target)]. Last touched by: [our_plant.fingerprintslast].", INVESTIGATE_BOTANY) + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + var/teleport_radius = max(round(our_seed.potency / 10), 1) + var/turf/T = get_turf(target) + to_chat(target, span_warning("You slip through spacetime!")) + do_teleport(target, T, teleport_radius, channel = TELEPORT_CHANNEL_BLUESPACE) if(prob(50)) - do_teleport(G, T, teleport_radius, channel = TELEPORT_CHANNEL_BLUESPACE) + do_teleport(our_plant, T, teleport_radius, channel = TELEPORT_CHANNEL_BLUESPACE) else new /obj/effect/decal/cleanable/molten_object(T) //Leave a pile of goo behind for dramatic effect... - qdel(G) - + qdel(our_plant) +/** + * A plant trait that causes the plant's capacity to double. + * + * When harvested, the plant's individual capacity is set to double it's default. + */ /datum/plant_gene/trait/maxchem - // 2x to max reagents volume. name = "Densified Chemicals" + description = "The reagent volume is doubled." + icon = "flask-vial" rate = 2 + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE -/datum/plant_gene/trait/maxchem/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc) - ..() - G.reagents.maximum_volume *= rate +/datum/plant_gene/trait/maxchem/on_new_plant(obj/item/reagent_containers/food/snacks/grown/our_plant, newloc) + . = ..() + if(!.) + return + our_plant.reagents?.maximum_volume *= rate + +/// Allows a plant to be harvested multiple times. /datum/plant_gene/trait/repeated_harvest name = "Perennial Growth" - -/datum/plant_gene/trait/repeated_harvest/can_add(obj/item/seeds/S) - if(!..()) - return FALSE - if(istype(S, /obj/item/seeds/replicapod)) - return FALSE - return TRUE - + description = "It may be harvested multiple times from the same plant." + icon = "cubes-stacked" + /// Don't allow replica pods to be multi harvested, please. + seed_blacklist = list( + /obj/item/seeds/replicapod, + ) + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE + +/* + * Allows a plant to be turned into a battery when cabling is applied. + * 100 potency plants are made into 2 mj batteries. + * Plants with electrical activity has their capacities massively increased (up to 40 mj at 100 potency) + */ /datum/plant_gene/trait/battery name = "Capacitive Cell Production" + description = "It can work like a power cell when wired properly." + icon = "car-battery" + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE + /// The number of cables needed to make a battery. + var/cables_needed_per_battery = 5 -/datum/plant_gene/trait/battery/on_attackby(obj/item/reagent_containers/food/snacks/grown/G, obj/item/I, mob/user) - if(istype(I, /obj/item/stack/cable_coil)) - var/obj/item/stack/cable_coil/C = I - if(C.use(5)) - to_chat(user, "You add some cable to [G] and slide it inside the battery encasing.") - var/obj/item/stock_parts/cell/potato/pocell = new /obj/item/stock_parts/cell/potato(user.loc) - pocell.icon_state = G.icon_state - pocell.maxcharge = G.seed.potency * 20 - - // The secret of potato supercells! - var/datum/plant_gene/trait/cell_charge/CG = G.seed.get_gene(/datum/plant_gene/trait/cell_charge) - if(CG) // Cell charge max is now 40MJ or otherwise known as 400KJ (Same as bluespace powercells) - pocell.maxcharge *= CG.rate*100 - pocell.charge = pocell.maxcharge - pocell.name = "[G.name] battery" - pocell.desc = "A rechargeable plant-based power cell. This one has a rating of [DisplayEnergy(pocell.maxcharge)], and you should not swallow it." - - if(G.reagents.has_reagent(/datum/reagent/toxin/plasma, 2)) - pocell.rigged = TRUE - - qdel(G) - else - to_chat(user, "You need five lengths of cable to make a [G] battery!") +/datum/plant_gene/trait/battery/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + RegisterSignal(our_plant, COMSIG_PARENT_ATTACKBY, PROC_REF(make_battery)) + +/* + * When a plant with this gene is hit (attackby) with cables, we turn it into a battery. + * + * our_plant - our plant being hit + * hit_item - the item we're hitting the plant with + * user - the person hitting the plant with an item + */ +/datum/plant_gene/trait/battery/proc/make_battery(obj/item/our_plant, obj/item/hit_item, mob/user) + SIGNAL_HANDLER + + if(!istype(hit_item, /obj/item/stack/cable_coil)) + return + + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + var/obj/item/stack/cable_coil/cabling = hit_item + if(!cabling.use(cables_needed_per_battery)) + to_chat(user, span_warning("You need five lengths of cable to make a [our_plant] battery!")) + return + to_chat(user, span_notice("You add some cable to [our_plant] and slide it inside the battery encasing.")) + var/obj/item/stock_parts/cell/potato/pocell = new /obj/item/stock_parts/cell/potato(user.loc) + pocell.icon = our_plant.icon // Just in case the plant icons get spread out in different files eventually, this trait won't cause error sprites (also yay downstreams) + pocell.icon_state = our_plant.icon_state + pocell.maxcharge = our_seed.potency + // The secret of potato supercells! + var/datum/plant_gene/trait/cell_charge/electrical_gene = our_seed.get_gene(/datum/plant_gene/trait/cell_charge) + if(electrical_gene) // Cell charge max is now 40MJ or otherwise known as 400KJ (Same as bluespace power cells) + pocell.maxcharge *= (electrical_gene.rate * 100) + + pocell.charge = pocell.maxcharge + pocell.name = "[our_plant.name] battery" + pocell.desc = "A rechargeable plant-based power cell. This one has a rating of [DisplayEnergy(pocell.maxcharge)], and you should not swallow it." + + if(our_plant.reagents.has_reagent(/datum/reagent/toxin/plasma, 2)) + pocell.rigged = TRUE + + qdel(our_plant) + +/* + * Injects a number of chemicals from the plant when you throw it at someone or they slip on it. + * At 0 potency it can inject 1 unit of its chemicals, while at 100 potency it can inject 20 units. + */ /datum/plant_gene/trait/stinging name = "Hypodermic Prickles" + description = "It stings, passing some reagents in the process." + icon = "syringe" + trait_ids = REAGENT_TRANSFER_ID + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE + +/datum/plant_gene/trait/stinging/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + RegisterSignal(our_plant, COMSIG_PLANT_ON_SLIP, PROC_REF(prickles_inject)) + RegisterSignal(our_plant, COMSIG_MOVABLE_IMPACT, PROC_REF(prickles_inject)) + +/* + * Injects a target with a number of reagents from our plant. + * + * our_plant - our plant that's injecting someone + * target - the atom being hit on thrown or slipping on our plant + */ +/datum/plant_gene/trait/stinging/proc/prickles_inject(obj/item/our_plant, atom/target) + SIGNAL_HANDLER -/datum/plant_gene/trait/stinging/on_slip(obj/item/reagent_containers/food/snacks/grown/G, atom/target) - on_throw_impact(G, target) + if(!isliving(target) || !our_plant.reagents?.total_volume) + return -/datum/plant_gene/trait/stinging/on_throw_impact(obj/item/reagent_containers/food/snacks/grown/G, atom/target) - if(isliving(target) && G.reagents && G.reagents.total_volume) - var/mob/living/L = target - if(L.reagents && L.can_inject(null, 0)) - var/injecting_amount = max(1, G.seed.potency*0.2) // Minimum of 1, max of 20 - G.reagents.trans_to(L, injecting_amount, method = INJECT) - to_chat(target, "You are pricked by [G]!") - log_combat(G, L, "pricked and attempted to inject reagents from [G] to [L]. Last touched by: [G.fingerprintslast].") + var/mob/living/living_target = target + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + if(living_target.reagents && living_target.can_inject()) + var/injecting_amount = max(1, our_seed.potency * 0.2) // Minimum of 1, max of 20 + our_plant.reagents.trans_to(living_target, injecting_amount, method = INJECT) + to_chat(target, span_danger("You are pricked by [our_plant]!")) + log_combat(our_plant, living_target, "pricked and attempted to inject reagents from [our_plant] to [living_target]. Last touched by: [our_plant.fingerprintslast].") + our_plant.investigate_log("pricked and injected [key_name(living_target)] and injected [injecting_amount] reagents at [AREACOORD(living_target)]. Last touched by: [our_plant.fingerprintslast].", INVESTIGATE_BOTANY) +/// Explodes into reagent-filled smoke when squashed. /datum/plant_gene/trait/smoke name = "Gaseous Decomposition" + description = "It can be smashed to turn its Liquid Contents into smoke." + icon = "cloud" + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE -/datum/plant_gene/trait/smoke/on_squash(obj/item/reagent_containers/food/snacks/grown/G, atom/target) - var/datum/effect_system/smoke_spread/chem/S = new - var/splat_location = get_turf(target) - var/smoke_amount = round(sqrt(G.seed.potency * 0.1), 1) - S.attach(splat_location) - S.set_up(G.reagents, smoke_amount, splat_location, 0) - S.start() - G.reagents.clear_reagents() +/datum/plant_gene/trait/smoke/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + RegisterSignal(our_plant, COMSIG_PLANT_ON_SQUASH, PROC_REF(make_smoke)) -/datum/plant_gene/trait/fire_resistance // Lavaland +/* + * Makes a cloud of reagent smoke. + * + * our_plant - our plant being squashed and smoked + * target - the atom the plant was squashed on + */ +/datum/plant_gene/trait/smoke/proc/make_smoke(obj/item/reagent_containers/food/snacks/grown/our_plant, atom/target) + SIGNAL_HANDLER + + our_plant.investigate_log("made smoke at [AREACOORD(target)]. Last touched by: [our_plant.fingerprintslast].", INVESTIGATE_BOTANY) + var/datum/effect_system/smoke_spread/chem/smoke = new + var/splat_location = get_turf(target) + var/smoke_amount = round(sqrt(our_plant.seed.potency * 0.1), 1) + smoke.attach(splat_location) + smoke.set_up(our_plant.reagents, smoke_amount, splat_location, 0) + smoke.start() + our_plant.reagents.clear_reagents() + +/// Makes the plant and its seeds fireproof. From lavaland plants. +/datum/plant_gene/trait/fire_resistance name = "Fire Resistance" + description = "Makes the seeds, plant and produce fireproof." + icon = "fire" + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE -/datum/plant_gene/trait/fire_resistance/apply_vars(obj/item/seeds/S) - if(!(S.resistance_flags & FIRE_PROOF)) - S.resistance_flags |= FIRE_PROOF +/datum/plant_gene/trait/fire_resistance/on_new_seed(obj/item/seeds/new_seed) + if(!(new_seed.resistance_flags & FIRE_PROOF)) + new_seed.resistance_flags |= FIRE_PROOF -/datum/plant_gene/trait/fire_resistance/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc) - if(!(G.resistance_flags & FIRE_PROOF)) - G.resistance_flags |= FIRE_PROOF +/datum/plant_gene/trait/fire_resistance/on_removed(obj/item/seeds/old_seed) + if(old_seed.resistance_flags & FIRE_PROOF) + old_seed.resistance_flags &= ~FIRE_PROOF + +/datum/plant_gene/trait/fire_resistance/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return -///Invasive spreading lets the plant jump to other trays, the spreadinhg plant won't replace plants of the same type. + if(!(our_plant.resistance_flags & FIRE_PROOF)) + our_plant.resistance_flags |= FIRE_PROOF + +/// Invasive spreading lets the plant jump to other trays, and the spreading plant won't replace plants of the same type. /datum/plant_gene/trait/invasive name = "Invasive Spreading" + description = "It attempts to spread around if not contained." + icon = "virus" + mutability_flags = PLANT_GENE_REMOVABLE | PLANT_GENE_MUTATABLE | PLANT_GENE_EXTRACTABLE + +/datum/plant_gene/trait/invasive/on_new_seed(obj/item/seeds/new_seed) + RegisterSignal(new_seed, COMSIG_SEED_ON_GROW, PROC_REF(try_spread)) + +/datum/plant_gene/trait/invasive/on_removed(obj/item/seeds/old_seed) + UnregisterSignal(old_seed, COMSIG_SEED_ON_GROW) + +/* + * Attempt to find an adjacent tray we can spread to. + * + * our_seed - our plant's seed, what spreads to other trays + * our_tray - the hydroponics tray we're currently in + */ +/datum/plant_gene/trait/invasive/proc/try_spread(obj/item/seeds/our_seed, obj/machinery/hydroponics/our_tray) + SIGNAL_HANDLER + + if(prob(100 - (5 * (11 - our_seed.production)))) + return -/datum/plant_gene/trait/invasive/on_grow(obj/machinery/hydroponics/H) for(var/step_dir in GLOB.alldirs) - var/obj/machinery/hydroponics/HY = locate() in get_step(H, step_dir) - if(HY && prob(15)) - if(HY.myseed) // check if there is something in the tray. - if(HY.myseed.type == H.myseed.type && HY.dead != 0) - continue //It should not destroy its owm kind. - qdel(HY.myseed) - HY.myseed = null - HY.myseed = H.myseed.Copy() - HY.age = 0 - HY.dead = 0 - HY.plant_health = HY.myseed.endurance - HY.lastcycle = world.time - HY.harvest = 0 - HY.weedlevel = 0 // Reset - HY.pestlevel = 0 // Reset - HY.update_appearance() - HY.visible_message("The [H.myseed.plantname] spreads!") - -/datum/plant_gene/trait/plant_type // Parent type + var/obj/machinery/hydroponics/spread_tray = locate() in get_step(our_tray, step_dir) + if(spread_tray && prob(15)) + if(!our_tray.Adjacent(spread_tray)) + continue //Don't spread through things we can't go through. + + spread_seed(spread_tray, our_tray) + +/* + * Actually spread the plant to the tray we found in try_spread. + * + * target_tray - the tray we're spreading to + * origin_tray - the tray we're currently in + */ +/datum/plant_gene/trait/invasive/proc/spread_seed(obj/machinery/hydroponics/target_tray, obj/machinery/hydroponics/origin_tray) + if(target_tray.myseed) // Check if there's another seed in the next tray. + if(target_tray.myseed.type == origin_tray.myseed.type && target_tray.dead != FALSE) + return FALSE // It should not destroy its own kind. + target_tray.visible_message(span_warning("The [target_tray.myseed.plantname] is overtaken by [origin_tray.myseed.plantname]!")) + QDEL_NULL(target_tray.myseed) + target_tray.myseed = origin_tray.myseed.Copy() + target_tray.age = 0 + target_tray.plant_health = target_tray.myseed.endurance + target_tray.lastcycle = world.time + target_tray.weedlevel = 0 + target_tray.pestlevel = 0 + target_tray.visible_message(span_warning("The [origin_tray.myseed.plantname] spreads!")) + if(target_tray.myseed) + target_tray.name = "[initial(target_tray.name)] ([target_tray.myseed.plantname])" + else + target_tray.name = initial(target_tray.name) + + return TRUE + +/// Makes the plant embed on thrown impact. +/datum/plant_gene/trait/sticky + name = "Prickly Adhesion" + description = "It sticks to people when thrown, also passing reagents if stingy." + icon = "bandage" + trait_ids = THROW_IMPACT_ID + +/datum/plant_gene/trait/sticky/on_new_plant(obj/item/our_plant, newloc) + . = ..() + if(!.) + return + + var/obj/item/seeds/our_seed = our_plant.get_plant_seed() + if(our_seed.get_gene(/datum/plant_gene/trait/stinging)) + our_plant.embedding = EMBED_POINTY + else + our_plant.embedding = EMBED_HARMLESS + our_plant.updateEmbedding() + our_plant.throwforce = (our_seed.potency/20) + +/datum/plant_gene/trait/carnivory + name = "Obligate Carnivory" + description = "Pests have positive effect on the plant health." + icon = "spider" + +/// Plant type traits. Incompatible with one another. +/datum/plant_gene/trait/plant_type name = "you shouldn't see this" - trait_id = "plant_type" + trait_ids = PLANT_TYPE_ID + mutability_flags = PLANT_GENE_EXTRACTABLE +/// Weeds don't get annoyed by weeds in their tray. /datum/plant_gene/trait/plant_type/weed_hardy name = "Weed Adaptation" + description = "It is a weed that needs no nutrients and doesn't suffer from other weeds." + icon = "seedling" +/// Mushrooms need less light and have a minimum yield. /datum/plant_gene/trait/plant_type/fungal_metabolism name = "Fungal Vitality" + description = "It is a mushroom that needs no water, less light and can't be overtaken by weeds." + icon = "droplet-slash" -/datum/plant_gene/trait/plant_type/crystal // WS edit - Crystals - name = "Crystalline Growing Patterns" - +/// Currently unused and does nothing. Appears in strange seeds. /datum/plant_gene/trait/plant_type/alien_properties name ="?????" + icon = "reddit-alien" -/datum/plant_gene/trait/plant_type/carnivory - name = "Obligate Carnivory" +/datum/plant_gene/trait/plant_type/crystal + name = "Crystalline Growing Patterns" diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index ad24dccff43..65f47357899 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -40,7 +40,7 @@ var/research = 0 // Defines "discovery value", which will give a one-time point payout if a seed is given to an R&D console. Seed discovery is determined on a ship-by-ship basis. var/seed_flags = MUTATE_EARLY // Determines if a plant is allowed to mutate early at 30+ instability -/obj/item/seeds/Initialize(mapload, nogenes = 0) +/obj/item/seeds/Initialize(mapload, nogenes = FALSE) . = ..() pixel_x = base_pixel_y + rand(-8, 8) pixel_y = base_pixel_x + rand(-8, 8) @@ -66,10 +66,14 @@ genes += new /datum/plant_gene/core/potency(potency) genes += new /datum/plant_gene/core/instability(instability) - for(var/p in genes) - if(ispath(p)) - genes -= p - genes += new p + for(var/plant_gene in genes) + if(ispath(plant_gene)) + genes -= plant_gene + genes += new plant_gene + + // Go through all traits in their genes and call on_new_seed from them. + for(var/datum/plant_gene/trait/traits in genes) + traits.on_new_seed(src) for(var/reag_id in reagents_add) genes += new /datum/plant_gene/reagent(reag_id, reagents_add[reag_id]) @@ -557,3 +561,21 @@ genes += P else qdel(P) + +/* + * Both `/item/food/grown` and `/item/grown` implement a seed variable which tracks + * plant statistics, genes, traits, etc. This proc gets the seed for either grown food or + * grown inedibles and returns it, or returns null if it's not a plant. + * + * Returns an `/obj/item/seeds` ref for grown foods or grown inedibles. + * - returned seed CAN be null in weird cases but in all applications it SHOULD NOT be. + * Returns null if it is not a plant. + */ +/obj/item/proc/get_plant_seed() + return null + +/obj/item/reagent_containers/food/snacks/grown/get_plant_seed() + return seed + +/obj/item/grown/get_plant_seed() + return seed diff --git a/code/modules/instruments/items.dm b/code/modules/instruments/items.dm index 022b3278e92..490742d7cdf 100644 --- a/code/modules/instruments/items.dm +++ b/code/modules/instruments/items.dm @@ -271,9 +271,8 @@ hitsound = 'sound/items/bikehorn.ogg' /obj/item/choice_beacon/music - name = "instrument delivery beacon" - desc = "Summon your tool of art." - icon_state = "gangtool-red" + name = "instrument box" + desc = "Contains your tool of art." /obj/item/choice_beacon/music/generate_display_names() var/static/list/instruments @@ -299,9 +298,8 @@ return instruments /obj/item/choice_beacon/rnd - name = "C.R.E.W.M.A.T.E type R&D Choice Beacon" - desc = "This aging launch beacon summons a limited production RND package from a nearby orbital satellite, delivered via impact pod." - icon_state = "gangtool-sus" + name = "C.R.E.W.M.A.T.E type R&D box" + desc = "This box contains a limited production RND package." /obj/item/choice_beacon/rnd/generate_display_names() var/static/list/rndboxes diff --git a/code/modules/interview/interview.dm b/code/modules/interview/interview.dm index 27b2c83321f..64e78e43d79 100644 --- a/code/modules/interview/interview.dm +++ b/code/modules/interview/interview.dm @@ -102,13 +102,14 @@ set name = "Open Interview" set category = "Admin.Interview" var/mob/dead/new_player/M = usr - if (M?.client?.interviewee) - var/datum/interview/I = GLOB.interviews.interview_for_client(M.client) - if (I) // we can be returned nothing if the user is on cooldown - I.ui_interact(M) - else - to_chat(usr, "You are on cooldown for interviews. Please" \ - + " wait at least 3 minutes before starting a new questionnaire.", confidential = TRUE) + if (!M?.client?.interviewee) + return + var/datum/interview/I = GLOB.interviews.interview_for_client(M.client) + if (I) // we can be returned nothing if the user is on cooldown + I.ui_interact(M) + else + to_chat(usr, "You are on cooldown for interviews. Please" \ + + " wait at least 3 minutes before starting a new questionnaire.", confidential = TRUE) /datum/interview/ui_interact(mob/user, datum/tgui/ui = null) ui = SStgui.try_update_ui(user, src, ui) diff --git a/code/modules/interview/interview_manager.dm b/code/modules/interview/interview_manager.dm index f5a557a854d..d09d90a8c6d 100644 --- a/code/modules/interview/interview_manager.dm +++ b/code/modules/interview/interview_manager.dm @@ -18,7 +18,7 @@ GLOBAL_DATUM_INIT(interviews, /datum/interview_manager, new) /// Ckeys which are currently in the cooldown system, they will be unable to create new interviews var/list/cooldown_ckeys = list() -/datum/interview_manager/Destroy(force, ...) +/datum/interview_manager/Destroy(force) QDEL_LIST(open_interviews) QDEL_LIST(interview_queue) QDEL_LIST(closed_interviews) diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index 39eb0874987..1d13660682f 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -186,7 +186,7 @@ ACCESS_MECH_MINING, ACCESS_MECH_ENGINE, ACCESS_MECH_SCIENCE, ACCESS_MECH_SECURITY, ACCESS_MECH_MEDICAL, ACCESS_VAULT, ACCESS_MINING_STATION, ACCESS_XENOBIOLOGY, ACCESS_CE, ACCESS_HOP, ACCESS_HOS, ACCESS_PHARMACY, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_GATEWAY, ACCESS_MINERAL_STOREROOM, ACCESS_MINISAT, ACCESS_NETWORK, ACCESS_CLONING, ACCESS_SOLGOV - ) //WS Edit - SolGov Rep + ) /proc/get_all_centcom_access() return list(ACCESS_CENT_GENERAL, ACCESS_CENT_THUNDER, ACCESS_CENT_SPECOPS, ACCESS_CENT_MEDICAL, ACCESS_CENT_LIVING, ACCESS_CENT_STORAGE, ACCESS_CENT_TELEPORTER, ACCESS_CENT_CAPTAIN) @@ -368,22 +368,19 @@ if(ACCESS_NETWORK) return "Network Access" if(ACCESS_MECH_MINING) - return "Mining Mech Access" + return "Mining Exosuit Access" if(ACCESS_MECH_MEDICAL) - return "Medical Mech Access" + return "Medical Exosuit Access" if(ACCESS_MECH_SECURITY) - return "Security Mech Access" + return "Security Exosuit Access" if(ACCESS_MECH_SCIENCE) - return "Science Mech Access" + return "Science Exosuit Access" if(ACCESS_MECH_ENGINE) - return "Engineering Mech Access" - -//WS Begin + return "Engineering Exosuit Access" if(ACCESS_CLONING) return "Cloning Room" if(ACCESS_SOLGOV) return "SolGov Office" -//WS End /proc/get_centcom_access_desc(A) switch(A) @@ -412,8 +409,5 @@ "Atmospheric Technician", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", "Paramedic", "Prisoner", "Psychologist", //WS Edit - Brig Phys / SolGov Rep "Research Director", "Scientist", "Roboticist", "Head of Security", "Warden", "Detective", "Security Officer", "Brig Physician", "SolGov Representative") //WS Edit - Brig Phys / SolGov Rep -/proc/get_all_job_icons() //For all existing HUD icons - return get_all_jobs() + list("Emergency Response Team Commander", "Security Response Officer", "Engineering Response Officer", "Medical Response Officer", "Entertainment Response Officer", "Religious Response Officer", "Janitorial Response Officer", "Death Commando") - /proc/get_all_centcom_jobs() return list("Central Command","VIP Guest","Custodian","Thunderdome Overseer","CentCom Official","Medical Officer","Research Officer","Special Ops Officer","Admiral","CentCom Commander","CentCom Bartender","Private Security Force") diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index ee953b0fb74..0ac783477e7 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -123,7 +123,7 @@ return FALSE if(!visualsOnly) var/datum/bank_account/bank_account = new(H.real_name, H.age) - bank_account.adjust_money(officer ? 250 : 100, "starting_money") //just a little bit of money for you + bank_account.adjust_money(officer ? 250 : 100, CREDIT_LOG_STARTING_MONEY) //just a little bit of money for you H.account_id = bank_account.account_id //Equip the rest of the gear diff --git a/code/modules/jobs/job_types/assistant.dm b/code/modules/jobs/job_types/assistant.dm index 42ca9b6de9f..f6c4aa85fb6 100644 --- a/code/modules/jobs/job_types/assistant.dm +++ b/code/modules/jobs/job_types/assistant.dm @@ -25,23 +25,12 @@ Assistant /datum/outfit/job/assistant/pre_equip(mob/living/carbon/human/H) ..() - if (CONFIG_GET(flag/grey_assistants)) - switch(H.jumpsuit_style) - if(PREF_SUIT) - uniform = initial(uniform) - if(PREF_ALTSUIT) - uniform = /obj/item/clothing/under/misc/assistantformal - if(PREF_SKIRT) - uniform = /obj/item/clothing/under/color/jumpskirt/grey - else - uniform = /obj/item/clothing/under/color/grey - else - switch(H.jumpsuit_style) - if(PREF_SUIT) - uniform = initial(uniform) - if(PREF_ALTSUIT) - uniform = /obj/item/clothing/under/misc/assistantformal - if(PREF_SKIRT) - uniform = /obj/item/clothing/under/utility/skirt - else - uniform = /obj/item/clothing/under/utility + switch(H.jumpsuit_style) + if(PREF_SUIT) + uniform = initial(uniform) + if(PREF_ALTSUIT) + uniform = /obj/item/clothing/under/misc/assistantformal + if(PREF_SKIRT) + uniform = /obj/item/clothing/under/utility/skirt + else + uniform = /obj/item/clothing/under/utility diff --git a/code/modules/jobs/job_types/chaplain.dm b/code/modules/jobs/job_types/chaplain.dm index ab4ceb6968c..5efe0a0a00d 100644 --- a/code/modules/jobs/job_types/chaplain.dm +++ b/code/modules/jobs/job_types/chaplain.dm @@ -15,20 +15,6 @@ var/obj/item/storage/book/bible/booze/B = new - if(GLOB.religion) - B.deity_name = GLOB.deity - B.name = GLOB.bible_name - B.icon_state = GLOB.bible_icon_state - B.item_state = GLOB.bible_item_state - to_chat(H, "There is already an established religion onboard the station. You are an acolyte of [GLOB.deity]. Defer to the Chaplain.") - H.equip_to_slot_or_del(B, ITEM_SLOT_BACKPACK) - var/nrt = GLOB.holy_weapon_type || /obj/item/nullrod - var/obj/item/nullrod/N = new nrt(H) - H.put_in_hands(N) - if(GLOB.religious_sect) - GLOB.religious_sect.on_conversion(H) - return - var/new_religion = DEFAULT_RELIGION if(M.client && M.client.prefs.custom_names["religion"]) new_religion = M.client.prefs.custom_names["religion"] diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm index d131d8ad4cd..e2c0e24501b 100644 --- a/code/modules/jobs/job_types/clown.dm +++ b/code/modules/jobs/job_types/clown.dm @@ -22,8 +22,7 @@ belt = /obj/item/pda/clown ears = /obj/item/radio/headset/headset_srv uniform = /obj/item/clothing/under/rank/civilian/clown - alt_uniform = /obj/item/clothing/under/rank/civilian/clown/green //WS Edit - Alt Uniforms - shoes = /obj/item/clothing/shoes/clown_shoes + alt_uniform = /obj/item/clothing/under/rank/civilian/clown/green mask = /obj/item/clothing/mask/gas/clown_hat l_pocket = /obj/item/bikehorn backpack_contents = list( @@ -35,8 +34,6 @@ implants = list(/obj/item/implant/sad_trombone) - backpack = /obj/item/storage/backpack/clown - satchel = /obj/item/storage/backpack/clown duffelbag = /obj/item/storage/backpack/duffelbag/clown //strangely has a duffel box = /obj/item/storage/box/hug/survival diff --git a/code/modules/jobs/job_types/geneticist.dm b/code/modules/jobs/job_types/geneticist.dm index 2720dcf064f..dd8e5ef8f97 100644 --- a/code/modules/jobs/job_types/geneticist.dm +++ b/code/modules/jobs/job_types/geneticist.dm @@ -25,7 +25,6 @@ l_pocket = /obj/item/sequence_scanner backpack = /obj/item/storage/backpack/genetics - satchel = /obj/item/storage/backpack/satchel/gen duffelbag = /obj/item/storage/backpack/duffelbag/med courierbag = /obj/item/storage/backpack/messenger/med diff --git a/code/modules/jobs/job_types/head_of_personnel.dm b/code/modules/jobs/job_types/head_of_personnel.dm index a1071d7d3ce..d535e1fb705 100644 --- a/code/modules/jobs/job_types/head_of_personnel.dm +++ b/code/modules/jobs/job_types/head_of_personnel.dm @@ -39,7 +39,6 @@ alt_suit = /obj/item/clothing/suit/ianshirt dcoat = /obj/item/clothing/suit/hooded/wintercoat/captain //WS Edit - Alt Uniforms shoes = /obj/item/clothing/shoes/sneakers/brown - head = /obj/item/clothing/head/hopcap backpack_contents = list(/obj/item/storage/box/ids=1,\ /obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced = 1) diff --git a/code/modules/jobs/job_types/janitor.dm b/code/modules/jobs/job_types/janitor.dm index 60c8ab9672b..1c9393a49c9 100644 --- a/code/modules/jobs/job_types/janitor.dm +++ b/code/modules/jobs/job_types/janitor.dm @@ -22,5 +22,5 @@ /datum/outfit/job/janitor/pre_equip(mob/living/carbon/human/H, visualsOnly) . = ..() if(GARBAGEDAY in SSevents.holidays) - l_pocket = /obj/item/gun/ballistic/revolver/syndicate + l_pocket = /obj/item/gun/ballistic/revolver/viper r_pocket = /obj/item/ammo_box/a357 diff --git a/code/modules/jobs/job_types/shaft_miner.dm b/code/modules/jobs/job_types/shaft_miner.dm index 1469e592b4d..341116d30c8 100644 --- a/code/modules/jobs/job_types/shaft_miner.dm +++ b/code/modules/jobs/job_types/shaft_miner.dm @@ -26,7 +26,7 @@ r_pocket = /obj/item/storage/bag/ore //causes issues if spawned in backpack backpack_contents = list( /obj/item/flashlight/seclite=1,\ - /obj/item/kitchen/knife/combat/survival=1,\ + /obj/item/melee/knife/survival=1,\ /obj/item/stack/marker_beacon/ten=1,\ /obj/item/radio/weather_monitor=1) diff --git a/code/modules/jobs/job_types/warden.dm b/code/modules/jobs/job_types/warden.dm index 4feaed96faf..ba4150f5a7f 100644 --- a/code/modules/jobs/job_types/warden.dm +++ b/code/modules/jobs/job_types/warden.dm @@ -47,4 +47,4 @@ implants = list(/obj/item/implant/mindshield) - chameleon_extras = /obj/item/gun/ballistic/shotgun/automatic/combat/compact + chameleon_extras = /obj/item/gun/ballistic/shotgun/automatic/m11 diff --git a/code/modules/language/language_holder.dm b/code/modules/language/language_holder.dm index eaa0812998b..9b348a4ed2d 100644 --- a/code/modules/language/language_holder.dm +++ b/code/modules/language/language_holder.dm @@ -298,11 +298,6 @@ Key procs /datum/language/slime = list(LANGUAGE_ATOM)) spoken_languages = list(/datum/language/slime = list(LANGUAGE_ATOM)) -/datum/language_holder/swarmer - understood_languages = list(/datum/language/swarmer = list(LANGUAGE_ATOM)) - spoken_languages = list(/datum/language/swarmer = list(LANGUAGE_ATOM)) - blocked_languages = list(/datum/language/common = list(LANGUAGE_ATOM)) - /datum/language_holder/venus understood_languages = list(/datum/language/sylvan = list(LANGUAGE_ATOM)) spoken_languages = list(/datum/language/sylvan = list(LANGUAGE_ATOM)) diff --git a/code/modules/library/lib_codex_gigas.dm b/code/modules/library/lib_codex_gigas.dm deleted file mode 100644 index 69155c9230d..00000000000 --- a/code/modules/library/lib_codex_gigas.dm +++ /dev/null @@ -1,104 +0,0 @@ -#define PRE_TITLE 1 -#define TITLE 2 -#define SYLLABLE 3 -#define MULTIPLE_SYLLABLE 4 -#define SUFFIX 5 - -/obj/item/book/codex_gigas - name = "\improper Codex Gigas" - desc = "A book documenting the nature of devils." - icon_state ="demonomicon" - lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi' - throw_speed = 1 - throw_range = 10 - resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF - author = "Forces beyond your comprehension" - unique = 1 - title = "the Codex Gigas" - var/inUse = 0 - var/currentName = "" - var/currentSection = PRE_TITLE - -/obj/item/book/codex_gigas/attack_self(mob/user) - if(!user.can_read(src)) - return FALSE - if(inUse) - to_chat(user, "Someone else is reading it.") - if(ishuman(user)) - var/mob/living/carbon/human/U = user - if(U.check_acedia()) - to_chat(user, "None of this matters, why are you reading this? You put [title] down.") - return - user.visible_message("[user] opens [title] and begins reading intently.") - ask_name(user) - - -/obj/item/book/codex_gigas/proc/perform_research(mob/user, devilName) - if(!devilName) - user.visible_message("[user] closes [title] without looking anything up.") - return - inUse = TRUE - var/speed = 300 - var/correctness = 85 - if(ishuman(user)) - var/mob/living/carbon/human/U = user - if(U.job in list("Curator")) // the curator is both faster, and more accurate than normal crew members at research - speed = 100 - correctness = 100 - correctness -= U.getOrganLoss(ORGAN_SLOT_BRAIN) * 0.5 //Brain damage makes researching hard. - speed += U.getOrganLoss(ORGAN_SLOT_BRAIN) * 3 - if(do_after(user, speed, user, timed_action_flags = IGNORE_HELD_ITEM)) - var/usedName = devilName - if(!prob(correctness)) - usedName += "x" - var/datum/antagonist/devil/devil = devilInfo(usedName) - display_devil(devil, user, usedName) - sleep(10) - onclose(user, "book") - inUse = FALSE - -/obj/item/book/codex_gigas/proc/display_devil(datum/antagonist/devil/devil, mob/reader, devilName) - reader << browse("Information on [devilName]


    [GLOB.lawlorify[LORE][devil.ban]]
    [GLOB.lawlorify[LORE][devil.obligation]]
    [GLOB.lawlorify[LORE][devil.banish]]
    [devil.ascendable?"This devil may ascend given enough souls.":""]", "window=book[window_size != null ? ";size=[window_size]" : ""]") - -/obj/item/book/codex_gigas/proc/ask_name(mob/reader) - ui_interact(reader) - -/obj/item/book/codex_gigas/ui_act(action, params) - if(..()) - return - if(!action) - return FALSE - if(action == "search") - SStgui.close_uis(src) - addtimer(CALLBACK(src, PROC_REF(perform_research), usr, currentName), 0) - currentName = "" - currentSection = PRE_TITLE - return FALSE - else - currentName += action - var/oldSection = currentSection - if(GLOB.devil_pre_title.Find(action)) - currentSection = TITLE - else if(GLOB.devil_title.Find(action)) - currentSection = SYLLABLE - else if(GLOB.devil_syllable.Find(action)) - if (currentSection>=SYLLABLE) - currentSection = MULTIPLE_SYLLABLE - else - currentSection = SYLLABLE - else if(GLOB.devil_suffix.Find(action)) - currentSection = SUFFIX - return currentSection != oldSection - -/obj/item/book/codex_gigas/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "CodexGigas", name) - ui.open() - -/obj/item/book/codex_gigas/ui_data(mob/user) - var/list/data = list() - data["name"]=currentName - data["currentSection"]=currentSection - return data diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 55d33ee80d2..9c6e90469fc 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -319,7 +319,7 @@ scanner.computer.inventory.Add(src) to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. Title added to general inventory.'") - else if(istype(I, /obj/item/kitchen/knife) || I.tool_behaviour == TOOL_WIRECUTTER) + else if(istype(I, /obj/item/melee/knife) || I.tool_behaviour == TOOL_WIRECUTTER) to_chat(user, "You begin to carve out [title]...") if(do_after(user, 30, target = src)) to_chat(user, "You carve out the pages from [title]! You didn't want to read it anyway.") diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index 71de02b3ca1..38b3728651c 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -358,7 +358,6 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums return null /obj/machinery/computer/bookmanagement/proc/print_forbidden_lore(mob/user) - new /obj/item/melee/cultblade/dagger(get_turf(src)) to_chat(user, "Your sanity barely endures the seconds spent in the vault's browsing window. The only thing to remind you of this when you stop browsing is a sinister dagger sitting on the desk. You don't even remember where it came from...") user.visible_message("[user] stares at the blank screen for a few moments, [user.p_their()] expression frozen in fear. When [user.p_they()] finally awaken[user.p_s()] from it, [user.p_they()] look[user.p_s()] a lot older.", 2) diff --git a/code/modules/lighting/emissive_blocker.dm b/code/modules/lighting/emissive_blocker.dm index 308ba8f2448..84c71203dd2 100644 --- a/code/modules/lighting/emissive_blocker.dm +++ b/code/modules/lighting/emissive_blocker.dm @@ -32,9 +32,6 @@ /atom/movable/emissive_blocker/singularity_pull() return -/atom/movable/emissive_blocker/blob_act() - return - //Prevents people from moving these after creation, because they shouldn't be. /atom/movable/emissive_blocker/forceMove(atom/destination, no_tp=FALSE, harderforce = FALSE) if(harderforce) diff --git a/code/modules/lighting/lighting_atom.dm b/code/modules/lighting/lighting_atom.dm index a5a68d98d60..0ef451b2979 100644 --- a/code/modules/lighting/lighting_atom.dm +++ b/code/modules/lighting/lighting_atom.dm @@ -80,7 +80,7 @@ . = ..() var/datum/light_source/L var/thing - for (thing in light_sources) // Cycle through the light sources on this atom and tell them to update. + for(thing in light_sources) // Cycle through the light sources on this atom and tell them to update. L = thing L.source_atom.update_light() diff --git a/code/modules/lighting/lighting_object.dm b/code/modules/lighting/lighting_object.dm index 7b6bc79aec4..d2d95678ef0 100644 --- a/code/modules/lighting/lighting_object.dm +++ b/code/modules/lighting/lighting_object.dm @@ -130,9 +130,6 @@ /atom/movable/lighting_object/singularity_pull() return -/atom/movable/lighting_object/blob_act() - return - /atom/movable/lighting_object/wash(clean_types) return diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index e9ac7662eda..1e4e4275711 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -4,7 +4,7 @@ /obj/effect/baseturf_helper //Set the baseturfs of every turf in the /area/ it is placed. name = "baseturf editor" - icon = 'icons/effects/mapping_helpers.dmi' + icon = 'icons/effects/mapping/mapping_helpers.dmi' icon_state = "" var/list/baseturf_to_replace @@ -71,14 +71,6 @@ name = "asteroid snow baseturf editor" baseturf = /turf/open/floor/plating/asteroid/snow -/obj/effect/baseturf_helper/beach/sand - name = "beach sand baseturf editor" - baseturf = /turf/open/floor/plating/beach/sand - -/obj/effect/baseturf_helper/beach/water - name = "water baseturf editor" - baseturf = /turf/open/floor/plating/beach/water - /obj/effect/baseturf_helper/lava name = "lava baseturf editor" baseturf = /turf/open/lava/smooth @@ -89,8 +81,9 @@ /obj/effect/mapping_helpers - icon = 'icons/effects/mapping_helpers.dmi' + icon = 'icons/effects/mapping/mapping_helpers.dmi' icon_state = "" + invisibility = INVISIBILITY_OBSERVER var/late = FALSE /obj/effect/mapping_helpers/Initialize() @@ -152,6 +145,25 @@ else airlock.locked = TRUE +/obj/effect/mapping_helpers/airlock/welded + name = "airlock welder" + +/obj/effect/mapping_helpers/airlock/welded/payload(obj/machinery/door/airlock/airlock) + if(airlock.welded) + log_mapping("[src] at [AREACOORD(src)] tried to weld [airlock] but it's already locked!") + else + airlock.welded = TRUE + +/obj/effect/mapping_helpers/airlock/sealed + name = "airlock sealer" + +/obj/effect/mapping_helpers/airlock/sealed/payload(obj/machinery/door/airlock/airlock) + if(airlock.seal) + log_mapping("[src] at [AREACOORD(src)] tried to seal [airlock] but it's already already got a seal? What the hell!") + else + airlock.seal = new /obj/item/door_seal(airlock) + + /obj/effect/mapping_helpers/airlock/unres name = "airlock unresctricted side helper" @@ -253,7 +265,6 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) /obj/effect/mapping_helpers/ianbirthday name = "Ian's Bday Helper" late = TRUE - icon_state = "iansbdayhelper" var/balloon_clusters = 2 /obj/effect/mapping_helpers/ianbirthday/LateInitialize() @@ -280,8 +291,8 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) //cake + knife to cut it! if(length(table)) var/turf/food_turf = get_turf(pick(table)) - new /obj/item/kitchen/knife(food_turf) - var/obj/item/reagent_containers/food/snacks/store/cake/birthday/iancake = new(food_turf) + new /obj/item/melee/knife/kitchen(food_turf) + var/obj/item/food/cake/birthday/iancake = new(food_turf) iancake.desc = "Happy birthday, Ian!" //some balloons! this picks an open turf and pops a few balloons in and around that turf, yay. @@ -312,7 +323,6 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) /obj/effect/mapping_helpers/ianbirthday/admin//so admins may birthday any room name = "generic birthday setup" - icon_state = "bdayhelper" /obj/effect/mapping_helpers/ianbirthday/admin/LateInitialize() birthday() @@ -322,7 +332,6 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) /obj/effect/mapping_helpers/iannewyear name = "Ian's New Years Helper" late = TRUE - icon_state = "iansnewyrshelper" /obj/effect/mapping_helpers/iannewyear/LateInitialize() if(SSevents.holidays && SSevents.holidays[NEW_YEAR]) @@ -374,7 +383,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) found_airlock.update_appearance() qdel(src) if(note_info) - var/obj/item/paper/paper = new /obj/item/paper(src) + var/obj/item/paper/paper = new /obj/item/paper(found_airlock) if(note_name) paper.name = note_name paper.add_raw_text("[note_info]") @@ -480,3 +489,32 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) var/icon/I = new(file_name) icon_cache[url] = I return I + +/obj/effect/mapping_helpers/chair + name = "chair helper" + +/obj/effect/mapping_helpers/chair/tim_buckley + name = "chair buckler 12000" + desc = "buckles a guy into the chair if theres a guy and a chair." + +/obj/effect/mapping_helpers/chair/tim_buckley/LateInitialize() + var/turf/turf = get_turf(src) + if(locate(/obj/structure/chair) in turf && locate(/mob/living/carbon) in turf) + var/obj/structure/chair/idiot_throne = locate(/obj/structure/chair) in turf + var/mob/living/carbon/idiot = locate(/mob/living/carbon) + idiot_throne.buckle_mob(idiot, TRUE) + qdel(src) + log_mapping("[src] at [x],[y] could not find a chair and guy on current turf.") + qdel(src) + +/obj/effect/mapping_helpers/turf + name = "turf helper" + +/obj/effect/mapping_helpers/turf/burnt + name = "turf_burner" + desc = "burns the everliving shit out of the turf its on." + +/obj/effect/mapping_helpers/turf/burnt/LateInitialize() + var/turf/our_turf = loc + our_turf.burn_tile() + qdel(src) diff --git a/code/modules/mapping/writer.dm b/code/modules/mapping/writer.dm index 35d85edc784..c07ce002908 100644 --- a/code/modules/mapping/writer.dm +++ b/code/modules/mapping/writer.dm @@ -59,7 +59,7 @@ GLOBAL_LIST_INIT(save_file_chars, list( var/turf_type = /turf/template_noop var/area/place_area = get_area(place_turf) var/area_type = /area/template_noop - var/is_shuttle_area = istype(place_area, /area/shuttle) + var/is_shuttle_area = istype(place_area, /area/ship) //If there is nothing there, save as a noop (For odd shapes) if(!place_turf) turf_type = /turf/template_noop diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm index d86cfebf119..1166a0db0db 100644 --- a/code/modules/mining/abandoned_crates.dm +++ b/code/modules/mining/abandoned_crates.dm @@ -124,6 +124,10 @@ qdel(src) ..() +// No busting open (used to disallow angle grinder cheesing +/obj/structure/closet/crate/secure/loot/bust_open() + boom() + /obj/structure/closet/crate/secure/loot/proc/spawn_loot() var/loot = rand(1,100) //100 different crates with varying chances of spawning switch(loot) @@ -136,7 +140,7 @@ for(var/i in 1 to 3) new /obj/item/clothing/mask/cigarette/rollie(src) if(6 to 10) - new /obj/item/melee/skateboard/pro(src) + new /obj/item/skateboard/pro(src) if(11 to 15) new /mob/living/simple_animal/bot/honkbot(src) if(16 to 20) @@ -178,7 +182,6 @@ new /obj/item/clothing/shoes/kindleKicks(src) if(65 to 66) new /obj/item/clothing/suit/ianshirt(src) - new /obj/item/clothing/suit/hooded/ian_costume(src) if(67 to 68) new /obj/item/toy/plush/awakenedplushie(src) if(69 to 70) @@ -204,14 +207,14 @@ if(88) new /obj/item/reagent_containers/food/drinks/bottle/lizardwine(src) if(89) - new /obj/item/melee/transforming/energy/sword/bananium(src) + new /obj/item/melee/energy/sword/bananium(src) if(90) new /obj/item/dnainjector/wackymut(src) if(91) for(var/i in 1 to 30) new /mob/living/simple_animal/hostile/cockroach(src) if(92) - new /obj/item/katana(src) + new /obj/item/melee/sword/katana(src) if(93) new /obj/item/dnainjector/xraymut(src) if(94) @@ -220,7 +223,6 @@ if(95) new /obj/item/toy/plush/nukeplushie(src) if(96) - new /obj/item/banhammer(src) for(var/i in 1 to 3) new /obj/item/mine/pressure/sound(src) if(97) @@ -229,13 +231,13 @@ new /obj/item/gun/ballistic/shotgun/toy(src) new /obj/item/gun/ballistic/automatic/toy/pistol(src) new /obj/item/gun/ballistic/automatic/toy(src) - new /obj/item/gun/ballistic/automatic/hmg/l6_saw/toy(src) - new /obj/item/ammo_box/foambox(src) + new /obj/item/gun/ballistic/automatic/toy(src) + new /obj/item/storage/box/ammo/foam_darts(src) if(98) for(var/i in 1 to 3) new /mob/living/simple_animal/hostile/poison/bees/toxin(src) if(99) new /obj/item/implanter/sad_trombone(src) if(100) - new /obj/item/melee/skateboard/hoverboard(src) + new /obj/item/skateboard/hoverboard(src) spawned_loot = TRUE diff --git a/code/modules/mining/drill.dm b/code/modules/mining/drill.dm index 9a35c2b4bf1..c327efab39a 100644 --- a/code/modules/mining/drill.dm +++ b/code/modules/mining/drill.dm @@ -344,6 +344,8 @@ //Overly long proc to handle the unique properties for each malfunction type /obj/machinery/drill/proc/malfunction(malfunction_type) + if(active) + mining.toggle_spawning() //turns mob spawning off after a malfunction switch(malfunction_type) if(MALF_LASER) say("Malfunction: Laser array damaged, please replace before continuing mining operations.") diff --git a/code/modules/mining/equipment/angle_grinder.dm b/code/modules/mining/equipment/angle_grinder.dm new file mode 100644 index 00000000000..f90b709efeb --- /dev/null +++ b/code/modules/mining/equipment/angle_grinder.dm @@ -0,0 +1,146 @@ +/obj/item/gear_pack/anglegrinder + name = "grinder pack" + desc = "Supplies the high voltage needed to run the attached grinder." + icon = 'icons/obj/item/gear_packs.dmi' + item_state = "anglegrinderpack" + icon_state = "anglegrinderpack" + lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi' + gear_handle_type = /obj/item/gear_handle/anglegrinder + slowdown = 0.3 + drag_slowdown = 0.3 + +/obj/item/gear_handle/anglegrinder + name = "angle grinder" + desc = "A powerful salvage tool used to cut apart walls and airlocks. A hazard sticker recommends ear and eye protection." + icon = 'icons/obj/item/gear_packs.dmi' + icon_state = "anglegrinder" + item_state = "anglegrinder" + lefthand_file = 'icons/mob/inhands/equipment/gear_handle_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/gear_handle_righthand.dmi' + flags_1 = CONDUCT_1 + force = 13 + armour_penetration = 5 + w_class = WEIGHT_CLASS_BULKY + item_flags = ABSTRACT + attack_verb = list("lacerated", "ripped", "sliced", "sawed", "cut", "chopped", "diced") + hitsound = 'sound/weapons/anglegrinder.ogg' + usesound = 'sound/weapons/anglegrinder.ogg' + tool_behaviour = null // is set to TOOL_DECONSTRUCT once wielded + toolspeed = 0.6 + wall_decon_damage = 350 + usecost = 2.5 + pack = /obj/item/gear_pack/anglegrinder + var/startsound = 'sound/weapons/chainsawhit.ogg' + var/adv = FALSE + var/wielded = FALSE // track wielded status on item + var/two_hand_force = 24 + +/obj/item/gear_handle/anglegrinder/tool_start_check(mob/living/user, amount) + if(!pack) + to_chat(user, "how do you not have a pack for this. what.") + return FALSE + if(!pack.cell) + to_chat(user, "You need a cell to start!") + return FALSE + var/obj/item/stock_parts/cell/cell = pack.get_cell() + if(cell.charge < usecost) + to_chat(user, "You need more charge to complete this task!") + return FALSE + return TRUE + +/obj/item/gear_handle/anglegrinder/tool_use_check(mob/living/user, amount) + if(!pack.cell) + return FALSE + if(pack.deductcharge(usecost)) + return TRUE + else + to_chat(user, "You need more charge to complete this task!") + return FALSE + +/obj/item/gear_handle/anglegrinder/use(used) + return TRUE + +/obj/item/gear_handle/anglegrinder/Initialize() + . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) + +/obj/item/gear_handle/anglegrinder/ComponentInitialize() + . = ..() + AddComponent(/datum/component/butchering, 30, 100, 0, startsound, TRUE) + AddComponent(/datum/component/two_handed, force_unwielded=force, force_wielded=two_hand_force, wieldsound=startsound) + AddElement(/datum/element/tool_bang, 1) + +/// triggered on wield of two handed item +/obj/item/gear_handle/anglegrinder/proc/on_wield(obj/item/source, mob/user) + SIGNAL_HANDLER + + tool_behaviour = TOOL_DECONSTRUCT + wielded = TRUE + sharpness = IS_SHARP + icon_state = "[initial(item_state)]-wield" + item_state = "[initial(item_state)]-wield" + +/// triggered on unwield of two handed item +/obj/item/gear_handle/anglegrinder/proc/on_unwield(obj/item/source, mob/user) + SIGNAL_HANDLER + + tool_behaviour = null + wielded = FALSE + sharpness = initial(sharpness) + icon_state = initial(icon_state) + item_state = initial(item_state) + +/obj/item/gear_handle/anglegrinder/get_dismemberment_chance() + if(wielded) + . = ..() + +/obj/item/gear_handle/anglegrinder/use_tool(atom/target, mob/living/user, delay, amount=1, volume=0, datum/callback/extra_checks) + if(adv) + target.add_overlay(GLOB.advanced_cutting_effect) + . = ..() + target.cut_overlay(GLOB.advanced_cutting_effect) + else + target.add_overlay(GLOB.cutting_effect) + . = ..() + target.cut_overlay(GLOB.cutting_effect) + +/obj/item/gear_pack/anglegrinder/energy + name = "energy supply pack" + desc = "a highly inefficient GEC-E-014 Supply Pack, used to generate and contain an energy field." + item_state = "energyanglegrinderpack" + icon_state = "energyanglegrinderpack" + gear_handle_type = /obj/item/gear_handle/anglegrinder/energy + +/obj/item/gear_handle/anglegrinder/energy + name = "energy saw" + desc = "An early prototype for handheld energy weapons, designed by a joint GEC-Cybersun lab to create an energy field for combat use." + icon_state = "energyanglegrinder" + item_state = "energyanglegrinder" + force = 5 + two_hand_force = 28 + armour_penetration = 16 + w_class = WEIGHT_CLASS_BULKY + item_flags = ABSTRACT + attack_verb = list("lacerated", "ripped", "burned", "sliced", "cauterized", "seared", "diced") + hitsound = 'sound/weapons/blade1.ogg' + usesound = 'sound/weapons/blade1.ogg' + startsound = 'sound/weapons/saberon.ogg' + toolspeed = 0.4 + usecost = 4 + pack = /obj/item/gear_pack/anglegrinder/energy + light_system = MOVABLE_LIGHT + light_range = 3 + light_color = LIGHT_COLOR_ELECTRIC_GREEN + light_on = FALSE + adv = TRUE + +/obj/item/gear_handle/anglegrinder/energy/on_wield(obj/item/source, mob/user) + . = ..() + set_light_on(TRUE) + +/obj/item/gear_handle/anglegrinder/energy/on_unwield(obj/item/source, mob/user) + . = ..() + set_light_on(FALSE) + diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 46c20dd02e1..b5e112713a8 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -11,7 +11,7 @@ heat_protection = CHEST|GROIN|LEGS|ARMS hoodtype = /obj/item/clothing/head/hooded/explorer armor = list("melee" = 15, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50) - allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/pinpointer/mineral, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) resistance_flags = FIRE_PROOF supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION @@ -65,7 +65,7 @@ resistance_flags = FIRE_PROOF | LAVA_PROOF slowdown = 0 armor = list("melee" = 70, "bullet" = 40, "laser" = 30, "energy" = 45, "bomb" = 70, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) - allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/pinpointer/mineral, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) /obj/item/clothing/suit/space/hostile_environment/Initialize() . = ..() @@ -147,10 +147,10 @@ /obj/item/clothing/gloves/explorer/old name = "prototype exploration gauntlets" - desc = "Thick-fingered gloves with a heavy layer of armor plating, meant to stop all but the most brutal of stovetop-touching accidents in the field. This premium pre-run prototype comes with an added layer of electrical insulation." + desc = "Thick-fingered gloves with a heavy layer of armor plating, meant to stop all but the most brutal of stovetop-touching accidents in the field." icon_state = "explorerold" armor = list("melee" = 25, "bullet" = 10, "laser" = 15, "energy" = 15, "bomb" = 65, "bio" = 100, "rad" = 75, "fire" = 75, "acid" = 75) - siemens_coefficient = 0 + siemens_coefficient = 0.5 permeability_coefficient = 0.05 /obj/item/clothing/suit/hooded/survivor @@ -167,7 +167,7 @@ heat_protection = CHEST|GROIN|LEGS|ARMS hoodtype = /obj/item/clothing/head/hooded/survivor_hood armor = list("melee" = 10, "bullet" = 0, "laser" = 0, "energy" = 10, "bomb" = 20, "bio" = 100, "rad" = 20, "fire" = 50, "acid" = 30) - allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/pinpointer/mineral, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) resistance_flags = FIRE_PROOF supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION @@ -190,3 +190,37 @@ /obj/item/clothing/head/hooded/survivor_hood/Initialize() . = ..() AddComponent(/datum/component/armor_plate) + +/obj/item/clothing/suit/hooded/scrap + name = "scrap suit" + desc = "A ragged makeshift suit." + lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi' + righthand_file = 'icons/mob/inhands/clothing_righthand.dmi' + icon_state = "survivor" + item_state = "survivor_suit" + body_parts_covered = CHEST|GROIN|LEGS|ARMS + min_cold_protection_temperature = (FIRE_SUIT_MIN_TEMP_PROTECT * 2) + cold_protection = CHEST|GROIN|LEGS|ARMS + max_heat_protection_temperature = (FIRE_SUIT_MAX_TEMP_PROTECT / 2) + heat_protection = CHEST|GROIN|LEGS|ARMS + hoodtype = /obj/item/clothing/head/hooded/scrap + armor = list("melee" = 15, "bullet" = 10, "laser" = 10, "energy" = 15, "bomb" = 20, "bio" = 100, "rad" = 20, "fire" = 50, "acid" = 30) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals) + resistance_flags = FIRE_PROOF + supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION + +/obj/item/clothing/head/hooded/scrap + name = "scrap hood" + desc = "A loose-fitting hood. It gets the job done." + icon_state = "explorerold" + suit = /obj/item/clothing/suit/hooded/scrap + body_parts_covered = HEAD + flags_inv = HIDEHAIR|HIDEEARS + armor = list("melee" = 15, "bullet" = 10, "laser" = 10, "energy" = 15, "bomb" = 20, "bio" = 100, "rad" = 20, "fire" = 50, "acid" = 30) + +/obj/item/clothing/suit/armor/vest/scrap + name = "scrap armor" + desc = "An 'armor' vest consisting of sheet metal held together with cable. Who thought this was a good idea?" + icon_state = "scraparmor" + item_state = "scraparmor" + armor = list("melee" = 15, "bullet" = 10, "laser" = 10, "energy" = 15, "bomb" = 20, "bio" = 100, "rad" = 20, "fire" = 50, "acid" = 30) diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 030e592d80c..27f71dfa935 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -8,7 +8,7 @@ name = "proto-magnetic crusher" desc = "A multipurpose disembarkation and self-defense tool designed by EXOCOM using an incomplete Nanotrasen prototype. \ Found in the grime-stained hands of wannabee explorers across the frontier, it cuts rock and hews flora using magnetic osscilation and a heavy cleaving edge." - force = 0 //You can't hit stuff unless wielded + force = 0 //You can't hit stuff unless it's wielded w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK throwforce = 5 @@ -28,25 +28,13 @@ var/charge_time = 15 var/detonation_damage = 20 var/backstab_bonus = 10 - var/wielded = FALSE // track wielded status on item - -/obj/item/kinetic_crusher/Initialize() - . = ..() - RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) - RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) + var/unwielded_force = 0 + var/wielded_force = 25 /obj/item/kinetic_crusher/ComponentInitialize() . = ..() AddComponent(/datum/component/butchering, 60, 110) //technically it's huge and bulky, but this provides an incentive to use it - AddComponent(/datum/component/two_handed, force_unwielded=0, force_wielded=15) - -/// triggered on wield of two handed item -/obj/item/kinetic_crusher/proc/on_wield(obj/item/source, mob/user) - wielded = TRUE - -/// triggered on unwield of two handed item -/obj/item/kinetic_crusher/proc/on_unwield(obj/item/source, mob/user) - wielded = FALSE + AddComponent(/datum/component/two_handed, force_unwielded=unwielded_force, force_wielded=wielded_force) /obj/item/kinetic_crusher/examine(mob/living/user) . = ..() @@ -54,7 +42,7 @@ . += "Does [force + detonation_damage + backstab_bonus] damage if the target is backstabbed, instead of [force + detonation_damage]." /obj/item/kinetic_crusher/attack(mob/living/target, mob/living/carbon/user) - if(!wielded) + if(!HAS_TRAIT(src, TRAIT_WIELDED)) to_chat(user, "[src] is too heavy to use with one hand! You fumble and drop everything.") user.drop_all_held_items() return @@ -66,7 +54,7 @@ /obj/item/kinetic_crusher/afterattack(atom/target, mob/living/user, proximity_flag, clickparams) . = ..() - if(!wielded) + if(!HAS_TRAIT(src, TRAIT_WIELDED)) return if(!proximity_flag && charged)//Mark a target, or mine a tile. var/turf/proj_turf = user.loc @@ -113,12 +101,12 @@ /obj/item/kinetic_crusher/ui_action_click(mob/user, actiontype) set_light_on(!light_on) - playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) + playsound(user, SOUND_EMPTY_MAG, 100, TRUE) update_appearance() /obj/item/kinetic_crusher/update_icon_state() - item_state = "crusher[wielded]" // this is not icon_state and not supported by 2hcomponent + item_state = "crusher[HAS_TRAIT(src, TRAIT_WIELDED)]" // this is not icon_state and not supported by 2hcomponent return ..() /obj/item/kinetic_crusher/update_overlays() @@ -135,6 +123,8 @@ nodamage = TRUE damage = 0 //We're just here to mark people. This is still a melee weapon. damage_type = BRUTE + wall_damage_flags = PROJECTILE_BONUS_DAMAGE_MINERALS + wall_damage_override = MINERAL_WALL_INTEGRITY flag = "bomb" range = 6 log_override = TRUE @@ -150,9 +140,9 @@ L.apply_status_effect(STATUS_EFFECT_CRUSHERMARK, hammer_synced) var/target_turf = get_turf(target) if(ismineralturf(target_turf)) + SSblackbox.record_feedback("tally", "pick_used_mining", 1, src.type) var/turf/closed/mineral/M = target_turf new /obj/effect/temp_visual/kinetic_blast(M) - M.gets_drilled(firer, TRUE) ..() //outdated Nanotrasen prototype of the crusher. Incredibly heavy, but the blade was made at a premium. //to alter this I had to duplicate some code, big moment. @@ -166,22 +156,19 @@ detonation_damage = 10 slowdown = 0.5//hevy attack_verb = list("mashed", "flattened", "bisected", "eradicated","destroyed") + unwielded_force = 0 + wielded_force = 30 /obj/item/kinetic_crusher/old/examine(mob/user) . = ..() . += "This hunk of junk's so heavy that you can barely swing it! Though, that blade looks pretty sharp..." -/obj/item/kinetic_crusher/old/ComponentInitialize() - . = ..() - AddComponent(/datum/component/butchering, 60, 110) - AddComponent(/datum/component/two_handed, force_unwielded=0, force_wielded=25)//big choppa! - /obj/item/kinetic_crusher/old/melee_attack_chain(mob/user, atom/target, params) ..() user.changeNext_move(CLICK_CD_MELEE * 2.0)//...slow swinga. /obj/item/kinetic_crusher/old/update_icon_state() - item_state = "crusherold[wielded]" // still not supported by 2hcomponent + item_state = "crusherold[HAS_TRAIT(src, TRAIT_WIELDED)]" // still not supported by 2hcomponent return ..() //100% original syndicate oc, plz do not steal. More effective against human targets then the typical crusher, with a bit of block chance. @@ -194,7 +181,7 @@ name = "magnetic cleaver" desc = "Designed by Syndicate Research and Development for their resource-gathering operations on hostile worlds. Syndicate Legal Ops would like to stress that you've never seen anything like this before. Ever." armour_penetration = 69//nice cut - force = 0 //You can't hit stuff unless wielded + force = 0 //You can't hit stuff unless HAS_TRAIT(src, TRAIT_WIELDED) w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK throwforce = 5 @@ -215,35 +202,36 @@ charge_time = 15 detonation_damage = 35 backstab_bonus = 15 - wielded = FALSE // track wielded status on item actions_types = list() + unwielded_force = 0 + wielded_force = 22 -/obj/item/kinetic_crusher/syndie_crusher/ComponentInitialize() +/obj/item/kinetic_crusher/syndie_crusher/Initialize() . = ..() - AddComponent(/datum/component/butchering, 60, 150) - AddComponent(/datum/component/two_handed, force_unwielded=0, force_wielded=10) + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) /// triggered on wield of two handed item -/obj/item/kinetic_crusher/syndie_crusher/on_wield(obj/item/source, mob/user) - . = ..() - wielded = TRUE +/obj/item/kinetic_crusher/syndie_crusher/proc/on_wield(obj/item/source, mob/user) + SIGNAL_HANDLER + icon_state = "crushersyndie1" playsound(user, 'sound/weapons/saberon.ogg', 35, TRUE) - set_light_on(wielded) + set_light_on(HAS_TRAIT(src, TRAIT_WIELDED)) /// triggered on unwield of two handed item -/obj/item/kinetic_crusher/syndie_crusher/on_unwield(obj/item/source, mob/user) - . = ..() - wielded = FALSE +/obj/item/kinetic_crusher/syndie_crusher/proc/on_unwield(obj/item/source, mob/user) + SIGNAL_HANDLER + icon_state = "crushersyndie" playsound(user, 'sound/weapons/saberoff.ogg', 35, TRUE) - set_light_on(wielded) + set_light_on(HAS_TRAIT(src, TRAIT_WIELDED)) /obj/item/kinetic_crusher/syndie_crusher/update_icon_state() - item_state = "crushersyndie[wielded]" // this is not icon_state and not supported by 2hcomponent + item_state = "crushersyndie[HAS_TRAIT(src, TRAIT_WIELDED)]" // this is not icon_state and not supported by 2hcomponent return ..() /obj/item/kinetic_crusher/syndie_crusher/update_overlays() . = ..() - if(wielded) + if(HAS_TRAIT(src, TRAIT_WIELDED)) . += "[icon_state]_lit" diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm index 74ed8ce30fb..c4ea06ac3e0 100644 --- a/code/modules/mining/equipment/marker_beacons.dm +++ b/code/modules/mining/equipment/marker_beacons.dm @@ -32,6 +32,12 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( /obj/item/stack/marker_beacon/thirty //and they're bought in stacks of 1, 10, or 30 amount = 30 +/obj/item/stack/marker_beacon/ten + amount = 10 + +/obj/item/stack/marker_beacon/thirty + amount = 30 + /obj/item/stack/marker_beacon/Initialize(mapload) . = ..() update_appearance() diff --git a/code/modules/mining/equipment/mineral_scanner.dm b/code/modules/mining/equipment/mineral_scanner.dm index 7c62a915f65..4def7dbe5dd 100644 --- a/code/modules/mining/equipment/mineral_scanner.dm +++ b/code/modules/mining/equipment/mineral_scanner.dm @@ -126,6 +126,7 @@ /obj/item/pinpointer/mineral/examine(mob/user) . = ..() . += "It is currently set to [scanmode ? "scan underground" : "scan the surface"]." + . += span_notice("You can use the scanner on an vein on harm intent to mark them as sites of no interest, causing them to no longer show up on scans.") /obj/item/pinpointer/mineral/AltClick(mob/user) //switching modes ..() @@ -204,7 +205,7 @@ var/located_dist var/obj/structure/located_vein for(var/obj/structure/vein/I in GLOB.ore_veins) - if(I.z == 0 || I.virtual_z() != here.virtual_z()) + if(I.z == 0 || I.virtual_z() != here.virtual_z() || I.detectable == FALSE) continue if(located_vein) var/new_dist = get_dist(here, get_turf(I)) @@ -223,6 +224,16 @@ if(!proximity || !istype(O,/obj/structure/vein)) return playsound(src, 'sound/effects/fastbeep.ogg', 10) + if(user.a_intent == INTENT_HARM) + if(O.detectable == TRUE) + to_chat(user,span_notice("You blacklist the vein from the scanner's telemetry, and will no longer be detected as a site of interest to the scanner.")) + O.detectable = FALSE + return + else + to_chat(user,span_notice("You mark vein into the scanner's telemetry, allowing it be located by underground scans.")) + O.detectable = TRUE + return + if(O.vein_contents.len > 0) to_chat(user, "Class [O.vein_class] ore vein with [O.mining_charges] possible ore lodes found.") for(var/re in O.vein_contents) diff --git a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm index d38a3ce8b55..a0548a2cb9f 100644 --- a/code/modules/mining/equipment/mining_tools.dm +++ b/code/modules/mining/equipment/mining_tools.dm @@ -17,6 +17,7 @@ toolspeed = 0.5 usesound = list('sound/effects/picaxe1.ogg', 'sound/effects/picaxe2.ogg', 'sound/effects/picaxe3.ogg') attack_verb = list("hit", "pierced", "sliced", "attacked") + wall_decon_damage = MINERAL_WALL_INTEGRITY /obj/item/pickaxe/rusted name = "rusty pickaxe" @@ -24,6 +25,7 @@ attack_verb = list("ineffectively hit") force = 1 throwforce = 1 + wall_decon_damage = 50 /obj/item/pickaxe/mini name = "compact pickaxe" diff --git a/code/modules/mining/equipment/miningradio.dm b/code/modules/mining/equipment/miningradio.dm index a0bef397d8c..d0712db194d 100644 --- a/code/modules/mining/equipment/miningradio.dm +++ b/code/modules/mining/equipment/miningradio.dm @@ -7,6 +7,7 @@ luminosity = 1 light_power = 1 light_range = 1.6 + light_system = MOVABLE_LIGHT /obj/item/radio/weather_monitor/update_overlays() . = ..() diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index 4bd6824327f..98c5c15e0e2 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/chemical/medicine.dmi' icon_state = "bottle19" desc = "Inject certain types of monster organs with this stabilizer to preserve their healing powers indefinitely." - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_NORMAL custom_price = 400 /obj/item/hivelordstabilizer/afterattack(obj/item/organ/M, mob/user, proximity) @@ -27,6 +27,7 @@ icon_state = "roro core 2" item_flags = NOBLUDGEON slot = ORGAN_SLOT_REGENERATIVE_CORE + organ_flags = null force = 0 actions_types = list(/datum/action/item_action/organ_action/use) var/inert = 0 @@ -67,7 +68,7 @@ owner.adjustOxyLoss(-50) owner.adjustToxLoss(-50) if(owner.dna.species.id != SPECIES_IPC) - owner.adjustCloneLoss(10) //dont abuse it or take cloneloss (organic only) + owner.adjustCloneLoss(20) //dont abuse it or take cloneloss (organic only) qdel(src) /obj/item/organ/regenerative_core/on_life() @@ -79,21 +80,26 @@ /obj/item/organ/regenerative_core/proc/applyto(atom/target, mob/user) if(ishuman(target)) var/mob/living/carbon/human/H = target + if(H.dna.species.id == SPECIES_IPC) + to_chat(user, span_notice("[src] has no effect on silicate life.")) + return if(inert) - to_chat(user, "[src] has decayed and can no longer be used to heal.") + to_chat(user, span_notice("[src] has decayed past usabality.")) return - else - if(H.stat == DEAD) - to_chat(user, "[src] is useless on the dead.") - return + if(H.stat == DEAD) + to_chat(user, span_notice("[src] is useless on the dead.")) + return + if(do_after(user, 10, target)) if(H != user) - H.visible_message("[user] forces [H] to apply [src]... Black tendrils entangle and reinforce [H.p_them()]!") + H.visible_message(span_notice("[user] smears [src] across [H]... malignant black tendrils entangle and reinforce [H.p_their()] flesh!")) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other")) else - to_chat(user, "You start to smear [src] on yourself. Disgusting tendrils hold you together and allow you to keep moving, but for how long?") + to_chat(user, span_notice("You smear [src] across your body. Malignant black tendrils start to grow around the application site, reinforcing your flesh!")) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self")) H.apply_status_effect(STATUS_EFFECT_REGENERATIVE_CORE) - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "core", /datum/mood_event/healsbadman) //Now THIS is a miner buff (fixed - nerf) + H.reagents.add_reagent(/datum/reagent/medicine/soulus,15) + H.force_scream() + SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "core", /datum/mood_event/healsbadman) qdel(src) /obj/item/organ/regenerative_core/afterattack(atom/target, mob/user, proximity_flag) @@ -179,21 +185,21 @@ if(ishuman(target)) var/mob/living/carbon/human/H = target if(inert) - to_chat(user, "[src] has broken and can no longer be used to heal.") + to_chat(user, span_notice("[src] has decayed beyond usability.")) return else if(H.stat == DEAD) - to_chat(user, "[src] is useless on the dead.") + to_chat(user, span_notice("[src] is useless on the dead.")) return if(H != user) - H.visible_message("[user] forces [H] to apply [src]... Cancer like crystals grow on and reinforce [H.p_them()]!") + H.visible_message(span_notice("[user] smears [src] across [H]... malignant crystals and cancerous tendrils grow on and reinforce [H.p_them()]!")) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other")) else - to_chat(user, "You start to apply [src] on yourself. Cancer like crystals hold you together and add something to you to keep yourself moving, but for how long?") + to_chat(user, span_notice("You smear [src] across yourself. malignant crystals and cancerous tendrils grow on you, toughening and healing where they touch.")) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self")) H.apply_status_effect(STATUS_EFFECT_REGENERATIVE_CORE) H.reagents.add_reagent(/datum/reagent/determination, 4) - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "core", /datum/mood_event/healsbadman) //Now THIS is a miner buff (fixed - nerf) + SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "core", /datum/mood_event/healsbadman) qdel(src) /obj/item/organ/regenerative_core/legion/crystal/update_icon_state() diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index 7ba30d32744..15f7cb2e3a6 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -5,7 +5,7 @@ dynamic_lighting = DYNAMIC_LIGHTING_FORCED requires_power = FALSE has_gravity = STANDARD_GRAVITY - area_flags = BLOBS_ALLOWED | UNIQUE_AREA + area_flags = UNIQUE_AREA flags_1 = CAN_BE_DIRTY_1 //Survival Capsule @@ -308,17 +308,16 @@ var/possible = list(/obj/item/ship_in_a_bottle, /obj/item/gun/energy/pulse, /obj/item/book/granter/martial/carp, - /obj/item/melee/supermatter_sword, + /obj/item/melee/sword/supermatter, /obj/item/shield/changeling, /obj/item/lava_staff, - /obj/item/energy_katana, + /obj/item/melee/sword/energy_katana, /obj/item/hierophant_club, /obj/item/gun/energy/minigun, - /obj/item/gun/ballistic/automatic/hmg/l6_saw, + /obj/item/gun/ballistic/automatic/assault/hydra/lmg/extended, /obj/item/stack/telecrystal/twenty, /obj/item/nuke_core, - /obj/item/phylactery, - /obj/item/banhammer) + /obj/item/phylactery) /obj/item/fakeartefact/Initialize() . = ..() diff --git a/code/modules/mining/equipment/trophies.dm b/code/modules/mining/equipment/trophies.dm index a9631c7ffc1..3510a0b5962 100644 --- a/code/modules/mining/equipment/trophies.dm +++ b/code/modules/mining/equipment/trophies.dm @@ -30,7 +30,7 @@ desc = "A sliced-off goliath tentacle." icon_state = "goliath_tentacle" -//ancient goliath0 +//ancient goliath /obj/item/mob_trophy/elder_tentacle name = "elder tentacle" desc = "The barbed tip of a tentacle sliced from an incredibly ancient goliath." diff --git a/code/modules/mining/equipment/wormhole_jaunter.dm b/code/modules/mining/equipment/wormhole_jaunter.dm index 2af4c1b5ce4..e44dd4b14dc 100644 --- a/code/modules/mining/equipment/wormhole_jaunter.dm +++ b/code/modules/mining/equipment/wormhole_jaunter.dm @@ -41,10 +41,7 @@ var/turf/targetturf = find_safe_turf() if(!targetturf) - if(GLOB.blobstart.len > 0) - targetturf = get_turf(pick(GLOB.blobstart)) - else - CRASH("Unable to find a blobstart landmark") + CRASH("Unable to find a blobstart landmark") var/obj/effect/portal/jaunt_tunnel/J = new (get_turf(src), 100, null, FALSE, targetturf) log_game("[user] Has jaunted to [loc_name(targetturf)].") message_admins("[user] Has jaunted to [ADMIN_VERBOSEJMP(targetturf)].") diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index f9563cc078e..bf4ad80647e 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -419,7 +419,7 @@ /obj/item/seeds/lavaland/puce/attackby(obj/item/item, mob/user, params) . = ..() //anyone intending to add more garnishes using this method should componentize this - if(!istype(item, /obj/item/kitchen/knife)) + if(!istype(item, /obj/item/melee/knife)) return playsound(src, 'sound/effects/glassbr1.ogg', 50, TRUE, -1) to_chat(user, "You start breaking [src] up into shards...") @@ -508,7 +508,7 @@ icon_state = "garden" harvested_name = "lush garden" harvested_desc = "In the soil and shade, something softly grew. It seems some industrious scavenger already passed by." - harvest = /obj/effect/spawner/lootdrop/garden + harvest = /obj/effect/spawner/random/food_or_drink/garden harvest_amount_high = 1 harvest_amount_low = 1 harvest_message_low = "You discover something nestled away in the growing bough." @@ -527,7 +527,7 @@ icon_state = "gardenarid" harvested_name = "sandy garden" harvested_desc = "Beneath a bluff of soft silicate, a sheltered grove slumbered. Some desert wanderer seems to have picked it clean." - harvest = /obj/effect/spawner/lootdrop/garden/arid + harvest = /obj/effect/spawner/random/food_or_drink/garden/arid harvest_amount_high = 1 harvest_amount_low = 1 harvest_message_low = "You brush sand away from a verdant prize, nestled in the leaves." @@ -540,7 +540,7 @@ icon_state = "gardencold" harvested_name = "chilly garden" harvested_desc = "A delicate layer of frost covers hardy brush. Someone came with the blizzard, and left with any prize this might contain." - harvest = /obj/effect/spawner/lootdrop/garden/cold + harvest = /obj/effect/spawner/random/food_or_drink/garden/cold harvest_amount_high = 1 harvest_amount_low = 1 harvest_message_low = "You unearth a snow-covered treat." @@ -553,7 +553,7 @@ icon_state = "gardensick" harvested_name = "sickly garden" harvested_desc = "Polluted water wells up from the cracked earth, where it once fed a patch of something curious. Now only wilted leaves remain." - harvest = /obj/effect/spawner/lootdrop/garden/sick + harvest = /obj/effect/spawner/random/food_or_drink/garden/sick harvest_amount_high = 1 harvest_amount_low = 1 harvest_message_low = "You pry something odd from the poisoned soil." @@ -567,124 +567,13 @@ icon_state = "seaweed" harvested_name = "seaweed patch" harvested_desc = "A patch of seaweed, floating on the surface of the water. It seems someone has already searched through this" - harvest = /obj/effect/spawner/lootdrop/garden/seaweed + harvest = /obj/effect/spawner/random/food_or_drink/garden/seaweed harvest_amount_high = 1 harvest_amount_low = 1 harvest_message_low = "You discover some edible weeds within the patch." harvest_message_med = "You discover some edible weeds within the patch." harvest_message_high = "You discover some edible weeds within the patch." -/obj/effect/spawner/lootdrop/garden - name = "lush garden seeder" - lootcount = 3 - var/list/plant = list( - /obj/item/reagent_containers/food/snacks/grown/ambrosia/deus = 1, - /obj/item/reagent_containers/food/snacks/grown/berries/death/stealth = 2, - /obj/item/reagent_containers/food/snacks/grown/citrus/orange_3d = 1, - /obj/item/reagent_containers/food/snacks/grown/trumpet = 1, - /obj/item/reagent_containers/food/snacks/grown/bungofruit = 1, - /obj/item/seeds/random = 1, - /obj/item/grown/log/bamboo = 2, - /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 2, - /obj/item/reagent_containers/food/snacks/grown/berries/poison/stealth = 5, - /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 2, - /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 2, - /obj/item/reagent_containers/food/snacks/grown/vanillapod = 2, - /obj/item/reagent_containers/food/snacks/grown/moonflower = 2, - /obj/item/reagent_containers/food/snacks/grown/cocoapod = 2, - /obj/item/reagent_containers/food/snacks/grown/pineapple = 2, - /obj/item/reagent_containers/food/snacks/grown/poppy/lily = 2, - /obj/item/reagent_containers/food/snacks/grown/poppy/geranium = 2, - /obj/item/reagent_containers/food/snacks/grown/sugarcane = 2, - /obj/item/reagent_containers/food/snacks/grown/tea = 2, - /obj/item/reagent_containers/food/snacks/grown/tobacco = 2, - /obj/item/reagent_containers/food/snacks/grown/watermelon = 4, - /obj/item/grown/sunflower = 4, - /obj/item/reagent_containers/food/snacks/grown/banana = 4, - /obj/item/reagent_containers/food/snacks/grown/apple = 4, - /obj/item/reagent_containers/food/snacks/grown/berries = 5, - /obj/item/reagent_containers/food/snacks/grown/cherries = 4, - /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 4, - /obj/item/reagent_containers/food/snacks/grown/garlic = 4, - /obj/item/reagent_containers/food/snacks/grown/grapes = 4, - /obj/item/reagent_containers/food/snacks/grown/grass = 5, - /obj/item/reagent_containers/food/snacks/grown/pumpkin = 4, - /obj/item/reagent_containers/food/snacks/grown/rainbow_flower = 4, - /obj/item/reagent_containers/food/snacks/grown/wheat = 4, - /obj/item/reagent_containers/food/snacks/grown/parsnip = 4, - /obj/item/reagent_containers/food/snacks/grown/peas = 4, - /obj/item/reagent_containers/food/snacks/grown/rice = 4, - /obj/item/reagent_containers/food/snacks/grown/soybeans = 4, - /obj/item/reagent_containers/food/snacks/grown/tomato = 4, - /obj/item/reagent_containers/food/snacks/grown/cabbage = 4, - /obj/item/reagent_containers/food/snacks/grown/onion = 4, - /obj/item/reagent_containers/food/snacks/grown/carrot = 4) - -/obj/effect/spawner/lootdrop/garden/Initialize(mapload) - loot = plant - . = ..() - -/obj/effect/spawner/lootdrop/garden/arid - name = "arid garden seeder" - plant = list( - /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 1, - /obj/item/reagent_containers/food/snacks/grown/nettle = 1, - /obj/item/grown/cotton/durathread = 1, - /obj/item/seeds/random = 1, - /obj/item/reagent_containers/food/snacks/grown/redbeet = 1, - /obj/item/reagent_containers/food/snacks/grown/aloe = 2, - /obj/item/grown/cotton = 2, - /obj/item/reagent_containers/food/snacks/grown/mushroom/angel = 2, - /obj/item/reagent_containers/food/snacks/grown/chili = 2, - /obj/item/reagent_containers/food/snacks/grown/whitebeet = 5, - /obj/item/reagent_containers/food/snacks/grown/potato = 4, - /obj/item/reagent_containers/food/snacks/grown/potato/sweet = 4, - /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 4, - /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 4, - /obj/item/reagent_containers/food/snacks/grown/corn = 4) - -/obj/effect/spawner/lootdrop/garden/cold - name = "frigid garden seeder" - plant = list( - /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1, - /obj/item/reagent_containers/food/snacks/grown/galaxythistle = 1, - /obj/item/reagent_containers/food/snacks/grown/berries/death/stealth = 1, - /obj/item/seeds/random = 1, - /obj/item/reagent_containers/food/snacks/grown/poppy = 2, - /obj/item/reagent_containers/food/snacks/grown/tomato/blue = 2, - /obj/item/reagent_containers/food/snacks/grown/berries/poison/stealth = 2, - /obj/item/reagent_containers/food/snacks/grown/berries = 4, - /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 4, - /obj/item/reagent_containers/food/snacks/grown/oat = 4, - /obj/item/reagent_containers/food/snacks/grown/grapes/green = 4, - /obj/item/reagent_containers/food/snacks/grown/grass = 4, - /obj/item/reagent_containers/food/snacks/grown/harebell = 5, - /obj/item/seeds/starthistle = 5) - -/obj/effect/spawner/lootdrop/garden/sick - name = "sickly garden seeder" - plant = list( - /obj/item/reagent_containers/food/snacks/grown/cannabis/rainbow = 1, - /obj/item/reagent_containers/food/snacks/grown/cannabis/death = 1, - /obj/item/seeds/replicapod = 1, - /obj/item/reagent_containers/food/snacks/grown/mushroom/angel = 1, - /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap = 2, - /obj/item/seeds/tower/steel = 2, - /obj/item/reagent_containers/food/snacks/grown/cannabis = 2, - /obj/item/seeds/random = 2, - /obj/item/reagent_containers/food/snacks/grown/mushroom/jupitercup = 2, - /obj/item/reagent_containers/food/snacks/grown/cherrybulbs = 4, - /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 4, - /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap = 4, - /obj/item/reagent_containers/food/snacks/grown/mushroom/reishi = 4, - /obj/item/reagent_containers/food/snacks/grown/berries/glow = 4) - -/obj/effect/spawner/lootdrop/garden/seaweed - name = "seaweed patch seeder" - plant = list( - /obj/item/reagent_containers/food/snacks/grown/seaweed = 1 - ) - /obj/item/reagent_containers/food/snacks/grown/berries/poison/stealth //careful eating from random jungle bushes seed = /obj/item/seeds/berry/poison name = "bunch of berries" diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 268413ef203..0ee00128d85 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -15,16 +15,12 @@ /obj/structure/closet/crate/necropolis/tendril/PopulateContents() var/loot = rand(1,29) switch(loot) - if(1) + if(1,2) new /obj/item/shared_storage/red(src) - if(2) - new /obj/item/clothing/suit/space/hardsuit/cult(src) if(3) new /obj/item/necromantic_stone/lava(src) - if(4) - new /obj/item/katana/cursed(src) if(5) - new /obj/item/clothing/glasses/godeye(src) + new /obj/item/pickaxe/diamond(src) if(6) new /obj/item/reagent_containers/glass/bottle/potion/flight(src) if(7) @@ -47,14 +43,11 @@ new /obj/item/borg/upgrade/modkit/lifesteal(src) new /obj/item/bedsheet/cult(src) if(14) - new /obj/item/nullrod/scythe/talking/necro(src) + new /obj/item/scythe(src) if(15) new /obj/item/book_of_babel(src) if(16) - if(prob(75)) - new /obj/item/guardiancreator/miner(src) - else - new /obj/item/guardiancreator/miner/choose (src) + new /obj/item/ship_in_a_bottle(src) if(17) if(prob(50)) new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(src) @@ -80,8 +73,6 @@ new /obj/item/gun/energy/spur(src) if(28) new /obj/item/clothing/suit/armor/ascetic(src) - if(29) - new /obj/item/kitchen/knife/envy(src) /obj/structure/closet/crate/necropolis/tendril/greater desc = "It's watching you wearily. It seems terribly bloated." @@ -96,10 +87,8 @@ new /obj/item/clothing/suit/space/hardsuit/cult(src) if(3) new /obj/item/necromantic_stone/lava(src) - if(4) - new /obj/item/katana/cursed(src) if(5) - new /obj/item/clothing/glasses/godeye(src) + new /obj/item/pickaxe/diamond(src) if(6) new /obj/item/reagent_containers/glass/bottle/potion/flight(src) if(7) @@ -122,14 +111,11 @@ new /obj/item/borg/upgrade/modkit/lifesteal(src) new /obj/item/bedsheet/cult(src) if(14) - new /obj/item/nullrod/scythe/talking/necro(src) + new /obj/item/scythe(src) if(15) new /obj/item/book_of_babel(src) if(16) - if(prob(75)) - new /obj/item/guardiancreator/miner(src) - else - new /obj/item/guardiancreator/miner/choose (src) + new /obj/item/ship_in_a_bottle(src) if(17) if(prob(50)) new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(src) @@ -155,36 +141,6 @@ new /obj/item/gun/energy/spur(src) if(28) new /obj/item/clothing/suit/armor/ascetic(src) - if(29) - new /obj/item/kitchen/knife/envy(src) - -//KA modkit design discs -/obj/item/disk/design_disk/modkit_disc - name = "KA Mod Disk" - desc = "A design disc containing the design for a unique kinetic accelerator modkit. It's compatible with a research console." - illustration = "accel" - color = "#6F6F6F" - var/modkit_design = /datum/design/unique_modkit - -/obj/item/disk/design_disk/modkit_disc/Initialize() - . = ..() - blueprints[1] = new modkit_design - -/obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe - name = "Offensive Mining Explosion Mod Disk" - modkit_design = /datum/design/unique_modkit/offensive_turf_aoe - -/obj/item/disk/design_disk/modkit_disc/rapid_repeater - name = "Rapid Repeater Mod Disk" - modkit_design = /datum/design/unique_modkit/rapid_repeater - -/obj/item/disk/design_disk/modkit_disc/resonator_blast - name = "Resonator Blast Mod Disk" - modkit_design = /datum/design/unique_modkit/resonator_blast - -/obj/item/disk/design_disk/modkit_disc/bounty - name = "Death Syphon Mod Disk" - modkit_design = /datum/design/unique_modkit/bounty /datum/design/unique_modkit category = list("Mining Designs", "Cyborg Upgrade Modules") //can't be normally obtained @@ -659,7 +615,7 @@ ADD_TRAIT(C, TRAIT_HOLY, SPECIES_TRAIT) playsound(C.loc, 'sound/items/poster_ripped.ogg', 50, TRUE, -1) C.adjustBruteLoss(20) - C.emote("scream") + C.force_scream() ..() //nerfed necrostone @@ -736,10 +692,9 @@ var/hat = pick(/obj/item/clothing/head/helmet/roman, /obj/item/clothing/head/helmet/roman/legionnaire) H.equip_to_slot_or_del(new hat(H), ITEM_SLOT_HEAD) H.equip_to_slot_or_del(new /obj/item/clothing/under/costume/roman(H), ITEM_SLOT_ICLOTHING) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/roman(H), ITEM_SLOT_FEET) H.put_in_hands(new /obj/item/shield/riot/roman(H), TRUE) - H.put_in_hands(new /obj/item/claymore(H), TRUE) - H.equip_to_slot_or_del(new /obj/item/spear(H), ITEM_SLOT_BACK) + H.put_in_hands(new /obj/item/melee/sword/claymore(H), TRUE) + H.equip_to_slot_or_del(new /obj/item/melee/spear(H), ITEM_SLOT_BACK) //ice cube /obj/item/freeze_cube @@ -869,8 +824,8 @@ name = "Slowpoke" desc = "The work of a truly genius gunsmith, altered and \"improved\" by a truly deranged Nanotrasen scientist, using components from a kinetic accelerator and beam rifle. Draw, partner!" icon = 'icons/obj/guns/energy.dmi' - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON icon_state = "spur" item_state = "spur" selfcharge = 1 @@ -878,7 +833,7 @@ slot_flags = ITEM_SLOT_BELT fire_delay = 0.1 SECONDS recoil = 1 - cell_type = /obj/item/stock_parts/cell/gun + default_ammo_type = /obj/item/stock_parts/cell/gun ammo_type = list(/obj/item/ammo_casing/energy/spur) supports_variations = VOX_VARIATION var/chargesound @@ -933,6 +888,8 @@ range = 20 damage = 30 damage_type = BRUTE + wall_damage_flags = PROJECTILE_BONUS_DAMAGE_MINERALS + wall_damage_override = MINERAL_WALL_INTEGRITY icon = 'icons/obj/projectiles.dmi' icon_state = "spur_high" var/skip = FALSE //this is the hackiest thing ive ever done but i dont know any other solution other than deparent the spur projectile @@ -994,9 +951,6 @@ spawn(15) target.overlays -= impact playsound(loc, impact_sound, 30) - if(istype(target,/turf/closed/mineral)) - var/turf/closed/mineral/M = target - M.gets_drilled() ..() /obj/item/ammo_casing/energy/spur/spur @@ -1103,99 +1057,12 @@ C.update_inv_wear_suit() /obj/item/clothing/suit/armor/ascetic/worn_overlays(isinhands) - . = list() + . = ..() if(!isinhands) . += mutable_appearance('icons/effects/effects.dmi', shield_state, MOB_LAYER - 0.01) ///Bosses -//Miniboss Miner - -/obj/item/melee/transforming/cleaving_saw - name = "cleaving saw" - desc = "This saw, effective at drawing the blood of beasts, transforms into a long cleaver that makes use of centrifugal force." - force = 12 - force_on = 20 //force when active - throwforce = 20 - throwforce_on = 20 - icon = 'icons/obj/lavaland/artefacts.dmi' - lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi' - righthand_file = 'icons/mob/inhands/64x64_righthand.dmi' - inhand_x_dimension = 64 - inhand_y_dimension = 64 - icon_state = "cleaving_saw" - icon_state_on = "cleaving_saw_open" - slot_flags = ITEM_SLOT_BELT - attack_verb_off = list("attacked", "sawed", "sliced", "torn", "ripped", "diced", "cut") - attack_verb_on = list("cleaved", "swiped", "slashed", "chopped") - hitsound = 'sound/weapons/bladeslice.ogg' - hitsound_on = 'sound/weapons/bladeslice.ogg' - w_class = WEIGHT_CLASS_BULKY - sharpness = IS_SHARP - faction_bonus_force = 30 - nemesis_factions = list("mining", "boss") - var/transform_cooldown - var/swiping = FALSE - var/bleed_stacks_per_hit = 3 - -/obj/item/melee/transforming/cleaving_saw/examine(mob/user) - . = ..() - . += "It is [active ? "open, will cleave enemies in a wide arc and deal additional damage to fauna":"closed, and can be used for rapid consecutive attacks that cause fauna to bleed"].\n"+\ - "Both modes will build up existing bleed effects, doing a burst of high damage if the bleed is built up high enough.\n"+\ - "Transforming it immediately after an attack causes the next attack to come out faster." - -/obj/item/melee/transforming/cleaving_saw/transform_weapon(mob/living/user, supress_message_text) - if(transform_cooldown > world.time) - return FALSE - . = ..() - if(.) - transform_cooldown = world.time + (CLICK_CD_MELEE * 0.5) - user.changeNext_move(CLICK_CD_MELEE * 0.25) - -/obj/item/melee/transforming/cleaving_saw/transform_messages(mob/living/user, supress_message_text) - if(!supress_message_text) - if(active) - to_chat(user, "You open [src]. It will now cleave enemies in a wide arc and deal additional damage to fauna.") - else - to_chat(user, "You close [src]. It will now attack rapidly and cause fauna to bleed.") - playsound(user, 'sound/magic/clockwork/fellowship_armory.ogg', 35, TRUE, frequency = 90000 - (active * 30000)) - -/obj/item/melee/transforming/cleaving_saw/clumsy_transform_effect(mob/living/user) - if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) - to_chat(user, "You accidentally cut yourself with [src], like a doofus!") - user.take_bodypart_damage(10) - -/obj/item/melee/transforming/cleaving_saw/melee_attack_chain(mob/user, atom/target, params) - ..() - if(!active) - user.changeNext_move(CLICK_CD_MELEE * 0.5) //when closed, it attacks very rapidly - -/obj/item/melee/transforming/cleaving_saw/nemesis_effects(mob/living/user, mob/living/target) - var/datum/status_effect/stacking/saw_bleed/B = target.has_status_effect(STATUS_EFFECT_SAWBLEED) - if(!B) - target.apply_status_effect(STATUS_EFFECT_SAWBLEED,bleed_stacks_per_hit) - else - B.add_stacks(bleed_stacks_per_hit) - -/obj/item/melee/transforming/cleaving_saw/attack(mob/living/target, mob/living/carbon/human/user) - if(!active || swiping || !target.density || get_turf(target) == get_turf(user)) - if(!active) - faction_bonus_force = 0 - ..() - if(!active) - faction_bonus_force = initial(faction_bonus_force) - else - var/turf/user_turf = get_turf(user) - var/dir_to_target = get_dir(user_turf, get_turf(target)) - swiping = TRUE - var/static/list/cleaving_saw_cleave_angles = list(0, -45, 45) //so that the animation animates towards the target clicked and not towards a side target - for(var/i in cleaving_saw_cleave_angles) - var/turf/T = get_step(user_turf, turn(dir_to_target, i)) - for(var/mob/living/L in T) - if(user.Adjacent(L) && L.density) - melee_attack_chain(user, L) - swiping = FALSE - //Dragon /obj/structure/closet/crate/necropolis/dragon @@ -1205,7 +1072,7 @@ var/loot = rand(1,4) switch(loot) if(1) - new /obj/item/melee/ghost_sword(src) + new /obj/item/melee/sword/claymore(src) if(2) new /obj/item/lava_staff(src) if(3) @@ -1213,91 +1080,6 @@ if(4) new /obj/item/dragons_blood(src) -/obj/item/melee/ghost_sword - name = "\improper spectral blade" - desc = "A rusted and dulled blade. It doesn't look like it'd do much damage. It glows weakly." - icon_state = "spectral" - item_state = "spectral" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - flags_1 = CONDUCT_1 - sharpness = IS_SHARP - w_class = WEIGHT_CLASS_BULKY - force = 1 - throwforce = 1 - hitsound = 'sound/effects/ghost2.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "rended") - var/summon_cooldown = 0 - var/list/mob/dead/observer/spirits - -/obj/item/melee/ghost_sword/Initialize() - . = ..() - spirits = list() - START_PROCESSING(SSobj, src) - GLOB.poi_list |= src - AddComponent(/datum/component/butchering, 150, 90) - -/obj/item/melee/ghost_sword/Destroy() - for(var/mob/dead/observer/G in spirits) - G.invisibility = GLOB.observer_default_invisibility - spirits.Cut() - STOP_PROCESSING(SSobj, src) - GLOB.poi_list -= src - . = ..() - -/obj/item/melee/ghost_sword/attack_self(mob/user) - if(summon_cooldown > world.time) - to_chat(user, "You just recently called out for aid. You don't want to annoy the spirits!") - return - to_chat(user, "You call out for aid, attempting to summon spirits to your side.") - - notify_ghosts("[user] is raising [user.p_their()] [src], calling for your help!", - enter_link="(Click to help)", - source = user, action=NOTIFY_ORBIT, ignore_key = POLL_IGNORE_SPECTRAL_BLADE, header = "Spectral blade") - - summon_cooldown = world.time + 300 - -/obj/item/melee/ghost_sword/process() - ghost_check() - -/obj/item/melee/ghost_sword/proc/ghost_check() - var/ghost_counter = 0 - var/turf/T = get_turf(src) - var/list/contents = T.GetAllContents() - var/mob/dead/observer/current_spirits = list() - for(var/thing in contents) - var/atom/A = thing - A.transfer_observers_to(src) - - for(var/i in orbiters?.orbiters) - if(!isobserver(i)) - continue - var/mob/dead/observer/G = i - ghost_counter++ - G.invisibility = 0 - current_spirits |= G - - for(var/mob/dead/observer/G in spirits - current_spirits) - G.invisibility = GLOB.observer_default_invisibility - - spirits = current_spirits - - return ghost_counter - -/obj/item/melee/ghost_sword/attack(mob/living/target, mob/living/carbon/human/user) - force = 0 - var/ghost_counter = ghost_check() - - force = clamp((ghost_counter * 4), 0, 75) - user.visible_message("[user] strikes with the force of [ghost_counter] vengeful spirits!") - ..() - -/obj/item/melee/ghost_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) - var/ghost_counter = ghost_check() - final_block_chance += clamp((ghost_counter * 5), 0, 75) - owner.visible_message("[owner] is protected by a ring of [ghost_counter] ghosts!") - return ..() - //Blood /obj/item/dragons_blood @@ -1767,11 +1549,9 @@ name = "puzzling chest" /obj/structure/closet/crate/necropolis/puzzle/PopulateContents() - var/loot = rand(1,3) + var/loot = rand(1,2) switch(loot) if(1) - new /obj/item/soulstone/anybody(src) - if(2) new /obj/item/wisp_lantern(src) - if(3) + if(2) new /obj/item/prisoncube(src) diff --git a/code/modules/mining/machine_silo.dm b/code/modules/mining/machine_silo.dm index 444e7299268..03401c46f58 100644 --- a/code/modules/mining/machine_silo.dm +++ b/code/modules/mining/machine_silo.dm @@ -35,6 +35,9 @@ GLOBAL_LIST_EMPTY(silo_access_logs) connected = null + return ..() + +/obj/machinery/ore_silo/on_deconstruction() var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) materials.retrieve_all() diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index 15cde601689..5489b44aeb0 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -22,7 +22,6 @@ /obj/item/mining_scanner = 2, /obj/item/t_scanner/adv_mining_scanner = 2, /obj/item/hivelordstabilizer = 3, - /obj/item/clothing/glasses/meson/gar = 2, /obj/item/kinetic_crusher = 1, /obj/item/gun/energy/kinetic_accelerator = 2, /obj/item/pickaxe/silver = 1, @@ -106,7 +105,6 @@ icon_state = "mining_voucher" w_class = WEIGHT_CLASS_TINY - ///Conscript kit /obj/item/storage/backpack/duffelbag/mining_conscript @@ -121,6 +119,6 @@ new /obj/item/clothing/suit/hooded/explorer(src) new /obj/item/clothing/mask/gas/explorer(src) new /obj/item/gun/energy/kinetic_accelerator(src) - new /obj/item/kitchen/knife/combat/survival(src) + new /obj/item/melee/knife/survival(src) new /obj/item/flashlight/seclite(src) new /obj/item/clothing/gloves/explorer(src) diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index cc2a9f176c7..2563e2644bf 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -13,7 +13,7 @@ mouse_opacity = MOUSE_OPACITY_ICON faction = list("neutral") a_intent = INTENT_HARM - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 move_to_delay = 10 health = 125 @@ -303,29 +303,5 @@ M.updatehealth() qdel(src) -//AI - -/obj/item/slimepotion/slime/sentience/mining - name = "minebot AI upgrade" - desc = "Can be used to grant sentience to minebots. It's incompatible with minebot armor and melee upgrades, and will override them." - icon_state = "door_electronics" - icon = 'icons/obj/module.dmi' - sentience_type = SENTIENCE_MINEBOT - custom_price = 1000 - var/base_health_add = 5 //sentient minebots are penalized for beign sentient; they have their stats reset to normal plus these values - var/base_damage_add = 1 //this thus disables other minebot upgrades - var/base_speed_add = 1 - var/base_cooldown_add = 10 //base cooldown isn't reset to normal, it's just added on, since it's not practical to disable the cooldown module - -/obj/item/slimepotion/slime/sentience/mining/after_success(mob/living/user, mob/living/simple_animal/SM) - if(istype(SM, /mob/living/simple_animal/hostile/mining_drone)) - var/mob/living/simple_animal/hostile/mining_drone/M = SM - M.maxHealth = initial(M.maxHealth) + base_health_add - M.melee_damage_lower = initial(M.melee_damage_lower) + base_damage_add - M.melee_damage_upper = initial(M.melee_damage_upper) + base_damage_add - M.move_to_delay = initial(M.move_to_delay) + base_speed_add - if(M.stored_gun) - M.stored_gun.overheat_time += base_cooldown_add - #undef MINEDRONE_COLLECT #undef MINEDRONE_ATTACK diff --git a/code/modules/mining/ore_veins.dm b/code/modules/mining/ore_veins.dm index cfd908c23cb..fa497b44a32 100644 --- a/code/modules/mining/ore_veins.dm +++ b/code/modules/mining/ore_veins.dm @@ -10,6 +10,8 @@ GLOBAL_LIST_EMPTY(ore_veins) move_resist = INFINITY resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + //Whether the mining scanner is able to locate this vein. + var/detectable = TRUE var/mining_charges = 6 //Classification of the quality of possible ores within a vein //Used to determine difficulty & ore amounts @@ -40,8 +42,8 @@ GLOBAL_LIST_EMPTY(ore_veins) var/max_mobs = 6 var/spawn_time = 150 //15 seconds var/mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 60, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 20, + /mob/living/simple_animal/hostile/asteroid/goliath/beast/nest = 60, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest = 20, /mob/living/simple_animal/hostile/asteroid/brimdemon = 20, ) var/spawn_text = "emerges from" @@ -70,11 +72,16 @@ GLOBAL_LIST_EMPTY(ore_veins) else ore_type_amount = 1 for(var/ore_count in 1 to ore_type_amount) - var/picked = pickweight(ore_list) + var/picked = pick_weight(ore_list) vein_contents.Add(picked) ore_list.Remove(picked) GLOB.ore_veins += src +/obj/structure/vein/examine(mob/user) + . = ..() + if(!detectable) + . += span_notice("This vein has been marked as a site of no interest, and will not show up on deep core scans.") + /obj/structure/vein/Destroy() GLOB.ore_veins -= src return ..() @@ -105,6 +112,7 @@ GLOBAL_LIST_EMPTY(ore_veins) /obj/structure/vein/proc/toggle_spawning() spawning_started = SEND_SIGNAL(src, COMSIG_SPAWNER_TOGGLE_SPAWNING, spawning_started) + // // Planetary and Class Subtypes // The current set of subtypes are heavily subject to future balancing and reworking as the balance of them is tested more @@ -126,11 +134,11 @@ GLOBAL_LIST_EMPTY(ore_veins) max_mobs = 6 spawn_time = 100 mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 60, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 30, + /mob/living/simple_animal/hostile/asteroid/goliath/beast/nest = 60, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest = 30, /mob/living/simple_animal/hostile/asteroid/brimdemon = 20, /mob/living/simple_animal/hostile/asteroid/goliath/beast/ancient = 5, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf/tendril = 5, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf/nest = 5, ) /obj/structure/vein/classthree @@ -149,18 +157,18 @@ GLOBAL_LIST_EMPTY(ore_veins) max_mobs = 6 //Best not to go past 6 due to balance and lag reasons spawn_time = 80 mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 60, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 30, + /mob/living/simple_animal/hostile/asteroid/goliath/beast/nest = 60, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest = 30, /mob/living/simple_animal/hostile/asteroid/brimdemon = 20, /mob/living/simple_animal/hostile/asteroid/goliath/beast/ancient = 10, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf/tendril = 10, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf/nest = 10, ) /obj/structure/vein/ice mob_types = list( /mob/living/simple_animal/hostile/asteroid/wolf = 30, /mob/living/simple_animal/hostile/asteroid/polarbear = 30, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/tendril = 20, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/nest = 20, /mob/living/simple_animal/hostile/asteroid/ice_demon = 10, /mob/living/simple_animal/hostile/asteroid/ice_whelp = 5, /mob/living/simple_animal/hostile/asteroid/lobstrosity = 20, diff --git a/code/modules/mining/shelters.dm b/code/modules/mining/shelters.dm index ef0e5193082..6c733fd7669 100644 --- a/code/modules/mining/shelters.dm +++ b/code/modules/mining/shelters.dm @@ -8,7 +8,7 @@ /datum/map_template/shelter/New() . = ..() - banned_areas = typecacheof(/area/shuttle) + banned_areas = typecacheof(/area/ship) blacklisted_turfs = typecacheof(list(/turf/closed, /turf/open/indestructible)) whitelisted_turfs = typecacheof(/turf/closed/mineral) banned_objects = typecacheof(/obj/structure/stone_tile) diff --git a/code/modules/mob/camera/camera.dm b/code/modules/mob/camera/camera.dm index 7d5bd8b4286..170cb25b49c 100644 --- a/code/modules/mob/camera/camera.dm +++ b/code/modules/mob/camera/camera.dm @@ -1,4 +1,4 @@ -// Camera mob, used by AI camera and blob. +// Camera mob, used by AI camera. /mob/camera name = "camera mob" diff --git a/code/modules/mob/dead/dead.dm b/code/modules/mob/dead/dead.dm index 85c60a15b03..490efbbabef 100644 --- a/code/modules/mob/dead/dead.dm +++ b/code/modules/mob/dead/dead.dm @@ -96,18 +96,17 @@ INITIALIZE_IMMEDIATE(/mob/dead) return /mob/dead/Destroy() - for(var/level in SSmobs.dead_players_by_virtual_z) - LAZYREMOVEASSOC(SSmobs.dead_players_by_virtual_z, level, src) - // Forgive me for this one. This loop can be replaced by the line below by the one brave enough to fix - // observers not cleanly removing themselves from the dead_players_by_virtual_z /list when they should - //LAZYREMOVEASSOC(SSmobs.dead_players_by_virtual_z, "[virtual_z()]", src) + //Observers should no longer be duplicating themselves across virtual z so it SHOULD be fine to only check its virtual z. + LAZYREMOVEASSOC(SSmobs.dead_players_by_virtual_z, "[virtual_z()]", src) return ..() /mob/dead/Login() . = ..() if(!client) return - LAZYADDASSOCLIST(SSmobs.dead_players_by_virtual_z, "[virtual_z()]", src) + var/virt_z = virtual_z() + if(virt_z) + LAZYADDASSOCLIST(SSmobs.dead_players_by_virtual_z, "[virt_z]", src) /mob/dead/Logout() . = ..() diff --git a/code/modules/mob/dead/new_player/login.dm b/code/modules/mob/dead/new_player/login.dm index 5c47ccd6d52..29573693cb3 100644 --- a/code/modules/mob/dead/new_player/login.dm +++ b/code/modules/mob/dead/new_player/login.dm @@ -34,9 +34,9 @@ var/required_living_minutes = CONFIG_GET(number/panic_bunker_living) var/living_minutes = client.get_exp_living(TRUE) if (required_living_minutes > living_minutes) - client.interviewee = TRUE register_for_interview() return + client.interviewee = FALSE new_player_panel() if(SSticker.current_state < GAME_STATE_SETTING_UP) diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 8fbf9c32a38..d88c8368a82 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -35,6 +35,7 @@ . = ..() GLOB.new_player_list += src + SSpoints_of_interest.make_point_of_interest(src) /mob/dead/new_player/Destroy() GLOB.new_player_list -= src @@ -129,10 +130,10 @@ return if(src != usr) - return 0 + return FALSE if(!client) - return 0 + return FALSE if(client.interviewee) return FALSE @@ -344,6 +345,7 @@ log_manifest(character.mind.key, character.mind, character, TRUE) + SSblackbox.record_feedback("tally", "player_joined_faction", 1, ship.get_faction()) if(length(ship.job_slots) > 1 && ship.job_slots[1] == job) // if it's the "captain" equivalent job of the ship. checks to make sure it's not a one-job ship minor_announce("[job.name] [character.real_name] on deck!", zlevel = ship.shuttle_port.virtual_z()) return TRUE @@ -431,7 +433,7 @@ mind.active = FALSE //we wish to transfer the key manually mind.original_character_slot_index = client.prefs.default_slot mind.transfer_to(H) //won't transfer key since the mind is not active - mind.set_original_character(H) + H.mind.set_original_character(H) H.name = real_name client.init_verbs() diff --git a/code/modules/mob/dead/new_player/preferences_setup.dm b/code/modules/mob/dead/new_player/preferences_setup.dm index cc5a69dd095..71b66ac54fb 100644 --- a/code/modules/mob/dead/new_player/preferences_setup.dm +++ b/code/modules/mob/dead/new_player/preferences_setup.dm @@ -52,7 +52,9 @@ var/random_species_type = GLOB.species_list[pick(GLOB.roundstart_races)] pref_species = new random_species_type if(randomise[RANDOM_NAME]) - real_name = pref_species.random_name(gender,1) + real_name = pref_species.random_name(gender, TRUE) + if(randomise[RANDOM_AGE]) + age = rand(pref_species.species_age_min, pref_species.species_age_max) /datum/preferences/proc/update_preview_icon(show_gear = TRUE, show_loadout = FALSE) // Set up the dummy for its photoshoot diff --git a/code/modules/mob/dead/new_player/ship_select.dm b/code/modules/mob/dead/new_player/ship_select.dm index fe88abdf339..dd60c13ce2c 100644 --- a/code/modules/mob/dead/new_player/ship_select.dm +++ b/code/modules/mob/dead/new_player/ship_select.dm @@ -100,7 +100,8 @@ to_chat(spawnee, "There was an error loading the ship. Please contact admins!") spawnee.new_player_panel() return - SSblackbox.record_feedback("tally", "ship_purchased", 1, template.name) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.record_feedback("tally", "ship_purchased", 1, template.name) + SSblackbox.record_feedback("tally", "faction_ship_purchased", 1, template.faction_datum.name) // Try to spawn as the first listed job in the job slots (usually captain) // Playtime checks are overridden, to ensure the player gets to join the ship they spawned. if(!spawnee.AttemptLateSpawn(target.job_slots[1], target, FALSE)) @@ -166,7 +167,7 @@ continue var/list/ship_data = list( "name" = T.name, - "faction" = ship_prefix_to_faction(T.prefix), + "faction" = T.faction_name, "desc" = T.description, "tags" = T.tags, "crewCount" = length(T.job_slots), diff --git a/code/modules/mob/dead/new_player/sprite_accessories/elzuose.dm b/code/modules/mob/dead/new_player/sprite_accessories/elzuose.dm index 58317b5ab91..9a15f0270fd 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/elzuose.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/elzuose.dm @@ -37,6 +37,18 @@ name = "Sharp" icon_state = "sharp" +/datum/sprite_accessory/elzu_horns/cervid + name = "Cervid" + icon_state = "cervid" + +/datum/sprite_accessory/elzu_horns/prong + name = "Prong" + icon_state = "prong" + +/datum/sprite_accessory/elzu_horns/brow + name = "Brow" + icon_state = "brow" + //Start tails /datum/sprite_accessory/tails/elzu diff --git a/code/modules/mob/dead/new_player/sprite_accessories/hair.dm b/code/modules/mob/dead/new_player/sprite_accessories/hair.dm index 34d8dd27466..86f1b281b59 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/hair.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/hair.dm @@ -90,29 +90,21 @@ name = "Bowlcut 2" icon_state = "hair_bowlcut2" -/datum/sprite_accessory/hair/braid - name = "Braid (Floorlength)" - icon_state = "hair_braid" - -/datum/sprite_accessory/hair/braided - name = "Braided" - icon_state = "hair_braided" - -/datum/sprite_accessory/hair/front_braid - name = "Braided Front" - icon_state = "hair_braidfront" - -/datum/sprite_accessory/hair/not_floorlength_braid - name = "Braid (High)" +/datum/sprite_accessory/hair/ponytail_braided + name = "Ponytail (Braided)" icon_state = "hair_braid2" -/datum/sprite_accessory/hair/lowbraid - name = "Braid (Low)" - icon_state = "hair_hbraid" +/datum/sprite_accessory/hair/ponytail_braided_short + name = "Ponytail (Braided Short)" + icon_state = "hair_braid" + +/datum/sprite_accessory/hair/ponytail_straight + name = "Ponytail (Straight)" + icon_state = "hair_longstraightponytail" -/datum/sprite_accessory/hair/shortbraid - name = "Braid (Short)" - icon_state = "hair_shortbraid" +/datum/sprite_accessory/hair/ponytail_straight_short + name = "Ponytail (Straight Short)" + icon_state = "hair_highponytail" /datum/sprite_accessory/hair/braidtail name = "Braided Tail" @@ -503,12 +495,8 @@ icon_state = "hair_ponytail" /datum/sprite_accessory/hair/ponytail2 - name = "Ponytail 2" - icon_state = "hair_ponytail2" - -/datum/sprite_accessory/hair/ponytail3 - name = "Ponytail 3" - icon_state = "hair_ponytail3" + name = "Ponytail (Grace)" + icon_state = "hair_ponytailgrace" /datum/sprite_accessory/hair/ponytail4 name = "Ponytail 4" @@ -526,21 +514,14 @@ name = "Ponytail 7" icon_state = "hair_ponytail7" -/datum/sprite_accessory/hair/highponytail - name = "Ponytail (High)" - icon_state = "hair_highponytail" /datum/sprite_accessory/hair/stail name = "Ponytail (Short)" icon_state = "hair_stail" -/datum/sprite_accessory/hair/longponytail - name = "Ponytail (Long)" - icon_state = "hair_longstraightponytail" - /datum/sprite_accessory/hair/countryponytail name = "Ponytail (Country)" - icon_state = "hair_country" + icon_state = "hair_ponytailcountry" /datum/sprite_accessory/hair/fringetail name = "Ponytail (Fringe)" @@ -722,6 +703,10 @@ name = "Ruby" icon_state = "hair_ruby" +/datum/sprite_accessory/hair/rubylong + name = "Ruby (Long)" + icon_state = "hair_rubylong" + /datum/sprite_accessory/hair/undercut name = "Undercut" icon_state = "hair_undercut" @@ -821,3 +806,7 @@ /datum/sprite_accessory/hair_gradient/long_fade_down name = "Long Fade Down" icon_state = "long_fade_down" + +/datum/sprite_accessory/hair_gradient/splotches + name = "Splotches" + icon_state = "splotches" diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 6fffc48e76a..e79427f2381 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -62,14 +62,16 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) var/datum/orbit_menu/orbit_menu var/datum/spawners_menu/spawners_menu + // The POI we're orbiting (orbit menu) + var/orbiting_ref + /mob/dead/observer/Initialize() set_invisibility(GLOB.observer_default_invisibility) add_verb(src, list( /mob/dead/observer/proc/dead_tele, /mob/dead/observer/proc/open_spawners_menu, - /mob/dead/observer/proc/tray_view, - /mob/dead/observer/proc/possess_mouse_verb)) + /mob/dead/observer/proc/tray_view)) if(icon_state in GLOB.ghost_forms_with_directions_list) ghostimage_default = image(src.icon,src,src.icon_state + "_nodir") @@ -143,6 +145,8 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) . = ..() + SSpoints_of_interest.make_point_of_interest(src) + grant_all_languages() show_data_huds() data_huds_on = 1 @@ -500,7 +504,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/list/dest = list() //List of possible destinations (mobs) var/target = null //Chosen target. - dest += getpois(mobs_only = TRUE) //Fill list, prompt user with list + dest += SSpoints_of_interest.get_mob_pois() target = input("Please, select a player!", "Jump to Mob", null, null) as null|anything in dest if (!target)//Make sure we actually have a target @@ -840,20 +844,24 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/reset_perspective(atom/A) if(client) if(ismob(client.eye) && (client.eye != src)) - var/mob/target = client.eye - observetarget = null - if(target.observers) - LAZYREMOVE(target.observers, src) + cleanup_observe() if(..()) if(hud_used) client.screen = list() hud_used.show_hud(hud_used.hud_version) +/mob/dead/observer/proc/cleanup_observe() + var/mob/target = client.eye + observetarget = null + client?.perspective = initial(client.perspective) + if(target.observers) + LAZYREMOVE(target.observers, src) + /mob/dead/observer/verb/observe() set name = "Observe" set category = "Ghost" - var/list/creatures = getpois() + var/list/creatures = SSpoints_of_interest.get_mob_pois() reset_perspective(null) @@ -901,8 +909,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/examine_more(mob/user) if(!isAdminObserver(user)) return ..() - . = list("You examine [src] closer, and note the following...") - . += list("\t>[ADMIN_FULLMONTY(src)]") + . += "You examine [src] closer, and note the following..." + . += "\t>[ADMIN_FULLMONTY(src)]" /mob/dead/observer/proc/set_invisibility(value) invisibility = value @@ -962,70 +970,3 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp client.images += t_ray_images else client.images -= stored_t_ray_images - -//WS Begin -/mob/dead/observer/proc/possess_mouse_verb() - set category = "Ghost" - set name = "Possess a mouse" - set desc = "Possess a mouse to haunt the station.... and their food!" - - var/list/possessible = list() - - for(var/mob/living/simple_animal/mouse/M in GLOB.alive_mob_list) - if(M.stat != CONSCIOUS) - continue - if(M.key) - continue - if(M in GLOB.player_list) - continue - if(M.mind) - continue - - possessible += M - - if(!possessible.len) - to_chat(src, "There are currently no mice able to be possessed!") - return FALSE - - var/mob/living/simple_animal/mouse/M = pick(possessible) - - possess_mouse(M) - - -/mob/dead/observer/proc/possess_mouse(mob/living/simple_animal/mouse/M) - if(!M) - return FALSE - - if(!SSticker.HasRoundStarted()) - to_chat(usr, "The round hasn't started yet!") - return FALSE - - if(is_banned_from(key, ROLE_SENTIENCE)) - to_chat(src, "You are job banned!") - return FALSE - - if(alert("Are you sure you want to become a mouse? (Warning, you can no longer be cloned!)",,"Yes","No") != "Yes") - return FALSE - - if(M.key || (M.stat != CONSCIOUS) || (M in GLOB.player_list) || M.mind || QDELETED(src) || QDELETED(M)) - to_chat(src, "This mouse is unable to be controlled, please try again!") - return FALSE - - log_game("[key_name(src)] has became a mouse") - - M.key = key - M.faction = list("neutral") - M.chew_probability = 0 //so they cant pull off a big brain play by ghosting somewhere or idk - M.layer = BELOW_OPEN_DOOR_LAYER //ENGAGE ADVANCED HIDING BRAIN FUNCTIONS - M.language_holder = new /datum/language_holder/mouse(M) - M.pass_flags |= PASSDOORHATCH - M.sentience_act() - M.maxHealth = 15 - M.health = M.maxHealth - - to_chat(M , "You are now possessing a mouse. \ - You do not remember your previous life. You can eat trash and \ - food on the floor to gain health and help create new mice. Mouse traps will hurt your fragile body \ - and so will any kind of weapons. You can control click food and trash items in order to eat them. Get. That. Cheese.") - return TRUE -//WS End diff --git a/code/modules/mob/dead/observer/orbit.dm b/code/modules/mob/dead/observer/orbit.dm index 86d54577538..051faa5beda 100644 --- a/code/modules/mob/dead/observer/orbit.dm +++ b/code/modules/mob/dead/observer/orbit.dm @@ -1,6 +1,9 @@ /datum/orbit_menu + ///mobs worth orbiting. Because spaghetti, all mobs have the point of interest, but only some are allowed to actually show up. + ///this obviously should be changed in the future, so we only add mobs as POI if they actually are interesting, and we don't use + ///a typecache. + var/static/list/mob_allowed_typecache var/mob/dead/observer/owner - var/auto_observe = FALSE /datum/orbit_menu/New(mob/dead/observer/new_owner) if(!istype(new_owner)) @@ -23,87 +26,243 @@ switch(action) if ("orbit") var/ref = params["ref"] - var/atom/movable/poi = (locate(ref) in GLOB.mob_list) || (locate(ref) in GLOB.poi_list) - if (poi == null) - . = TRUE - return + var/auto_observe = params["auto_observe"] + var/atom/movable/poi = SSpoints_of_interest.get_poi_atom_by_ref(ref) + + if((ismob(poi) && !SSpoints_of_interest.is_valid_poi(poi, CALLBACK(src, PROC_REF(validate_mob_poi)))) \ + || !SSpoints_of_interest.is_valid_poi(poi) + ) + to_chat(usr, span_notice("That point of interest is no longer valid.")) + return TRUE + + var/mob/dead/observer/user = usr owner.ManualFollow(poi) owner.reset_perspective(null) + user.orbiting_ref = ref if (auto_observe) owner.do_observe(poi) . = TRUE if ("refresh") update_static_data(owner, ui) . = TRUE - if ("toggle_observe") - auto_observe = !auto_observe - if (auto_observe && owner.orbit_target) - owner.do_observe(owner.orbit_target) - else - owner.reset_perspective(null) + /datum/orbit_menu/ui_data(mob/user) var/list/data = list() - data["auto_observe"] = auto_observe + + if(isobserver(user)) + data["orbiting"] = get_currently_orbiting(user) + return data /datum/orbit_menu/ui_static_data(mob/user) - var/list/data = list() + var/list/new_mob_pois = SSpoints_of_interest.get_mob_pois(CALLBACK(src, PROC_REF(validate_mob_poi)), append_dead_role = FALSE) + var/list/new_other_pois = SSpoints_of_interest.get_other_pois() var/list/alive = list() var/list/antagonists = list() + var/list/critical = list() var/list/dead = list() var/list/ghosts = list() var/list/misc = list() var/list/npcs = list() + var/list/ships = list() - var/list/pois = getpois(skip_mindless = TRUE, specify_dead_role = FALSE) - for (var/name in pois) + for(var/name in new_mob_pois) var/list/serialized = list() - serialized["name"] = name - - var/poi = pois[name] - - serialized["ref"] = REF(poi) - - var/mob/M = poi - if (istype(M)) - if (isobserver(M)) - ghosts += list(serialized) - else if (M.stat == DEAD) - dead += list(serialized) - else if (M.mind == null) - npcs += list(serialized) - else - var/number_of_orbiters = M.orbiters?.orbiters?.len - if (number_of_orbiters) - serialized["orbiters"] = number_of_orbiters - - var/datum/mind/mind = M.mind - var/was_antagonist = FALSE - - for (var/_A in mind.antag_datums) - var/datum/antagonist/A = _A - if (A.show_to_ghosts) - was_antagonist = TRUE - serialized["antag"] = A.name - antagonists += list(serialized) - break - - if (!was_antagonist) - alive += list(serialized) + var/mob/mob_poi = new_mob_pois[name] + var/number_of_orbiters = length(mob_poi.get_all_orbiters()) + + if(isnewplayer(mob_poi)) + continue + + serialized["ref"] = REF(mob_poi) + serialized["full_name"] = mob_poi.name + serialized["job"] = mob_poi.job + if(number_of_orbiters) + serialized["orbiters"] = number_of_orbiters + + if(isobserver(mob_poi)) + ghosts += list(serialized) + continue + + if(mob_poi.stat == DEAD) + dead += list(serialized) + continue + + if(isnull(mob_poi.mind)) + if(isliving(mob_poi)) + var/mob/living/npc = mob_poi + serialized["health"] = FLOOR((npc.health / npc.maxHealth * 100), 1) + + npcs += list(serialized) + continue + + serialized["client"] = !!mob_poi.client + serialized["name"] = mob_poi.real_name + + if(isliving(mob_poi)) + serialized += get_living_data(mob_poi) + + var/list/antag_data = get_antag_data(mob_poi.mind) + if(length(antag_data)) + serialized += antag_data + antagonists += list(serialized) + continue + + alive += list(serialized) + + for(var/name in new_other_pois) + var/atom/atom_poi = new_other_pois[name] + + var/list/other_data = get_misc_data(atom_poi) + var/misc_data = list(other_data[1]) + + if(istype(atom_poi, /obj/machinery/computer/helm)) + ships += misc_data else - misc += list(serialized) - - data["alive"] = alive - data["antagonists"] = antagonists - data["dead"] = dead - data["ghosts"] = ghosts - data["misc"] = misc - data["npcs"] = npcs - return data + misc += misc_data + + if(other_data[2]) // Critical = TRUE + critical += misc_data + + return list( + "alive" = alive, + "antagonists" = antagonists, + "critical" = critical, + "dead" = dead, + "ghosts" = ghosts, + "misc" = misc, + "npcs" = npcs, + "ships" = ships, + ) /datum/orbit_menu/ui_assets() . = ..() || list() . += get_asset_datum(/datum/asset/simple/orbit) +/// Helper function to get threat type, group, overrides for job and icon +/datum/orbit_menu/proc/get_antag_data(datum/mind/poi_mind) as /list + var/list/serialized = list() + + for(var/datum/antagonist/antag as anything in poi_mind.antag_datums) + if(!antag.show_to_ghosts) + continue + + serialized["antag"] = antag.name + serialized["antag_group"] = antag.antagpanel_category + serialized["job"] = antag.name + serialized["icon"] = antag.antag_hud_name + + return serialized + +/// Helper to get the current thing we're orbiting (if any) +/datum/orbit_menu/proc/get_currently_orbiting(mob/dead/observer/user) + if(isnull(user.orbiting_ref)) + return + + var/atom/poi = SSpoints_of_interest.get_poi_atom_by_ref(user.orbiting_ref) + if(isnull(poi)) + user.orbiting_ref = null + return + + if((ismob(poi) && !SSpoints_of_interest.is_valid_poi(poi, CALLBACK(src, PROC_REF(validate_mob_poi)))) \ + || !SSpoints_of_interest.is_valid_poi(poi) + ) + user.orbiting_ref = null + return + + var/list/serialized = list() + + if(!ismob(poi)) + var/list/misc_info = get_misc_data(poi) + serialized += misc_info[1] + return serialized + + var/mob/mob_poi = poi + serialized["full_name"] = mob_poi.name + serialized["ref"] = REF(poi) + + if(mob_poi.mind) + serialized["client"] = !!mob_poi.client + serialized["name"] = mob_poi.real_name + + if(isliving(mob_poi)) + serialized += get_living_data(mob_poi) + + return serialized + +/// Helper function to get job / icon / health data for a living mob +/datum/orbit_menu/proc/get_living_data(mob/living/player) as /list + var/list/serialized = list() + + serialized["health"] = FLOOR((player.health / player.maxHealth * 100), 1) + + return serialized + + +/// Gets a list: Misc data and whether it's critical. Handles all snowflakey type cases +/datum/orbit_menu/proc/get_misc_data(atom/movable/atom_poi) as /list + var/list/misc = list() + var/critical = FALSE + + misc["ref"] = REF(atom_poi) + misc["full_name"] = atom_poi.name + + // Display the nuke timer + if(istype(atom_poi, /obj/machinery/nuclearbomb)) + var/obj/machinery/nuclearbomb/bomb = atom_poi + + if(bomb.timing) + misc["extra"] = "Timer: [bomb.countdown?.displayed_text]s" + critical = TRUE + + return list(misc, critical) + + // Display the holder if its a nuke disk + if(istype(atom_poi, /obj/item/disk/nuclear)) + var/obj/item/disk/nuclear/disk = atom_poi + var/mob/holder = disk.pulledby || get(disk, /mob) + misc["extra"] = "Location: [holder?.real_name || "Unsecured"]" + + return list(misc, critical) + + // Display singuloths if they exist + if(istype(atom_poi, /obj/singularity)) + var/obj/singularity/singulo = atom_poi + misc["extra"] = "Energy: [round(singulo.energy)]" + + if(singulo.current_size > 2) + critical = TRUE + + return list(misc, critical) + + if(istype(atom_poi, /obj/machinery/computer/helm)) + var/obj/machinery/computer/helm/helm_poi = atom_poi + if(helm_poi.current_ship) + misc["extra"] = "Ship: [helm_poi.current_ship.name]" + + return list(misc, critical) + + return list(misc, critical) + +/** + * Helper POI validation function passed as a callback to various SSpoints_of_interest procs. + * + * Provides extended validation above and beyond standard, limiting mob POIs without minds or ckeys + * unless they're mobs, camera mobs or megafauna. Also allows exceptions for mobs that are deadchat controlled. + * + * If they satisfy that requirement, falls back to default validation for the POI. + */ +/datum/orbit_menu/proc/validate_mob_poi(datum/point_of_interest/mob_poi/potential_poi) + var/mob/potential_mob_poi = potential_poi.target + if(!potential_mob_poi.mind && !potential_mob_poi.ckey) + if(!mob_allowed_typecache) + mob_allowed_typecache = typecacheof(list( + /mob/living/simple_animal/hostile/megafauna, + /mob/living/simple_animal/hostile/boss + )) + if(!is_type_in_typecache(potential_mob_poi, mob_allowed_typecache) && !potential_mob_poi.GetComponent(/datum/component/deadchat_control)) + return FALSE + + return potential_poi.validate() diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index 0840ee37215..0e4a8ed748c 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -25,6 +25,22 @@ to_chat(src, "Unusable emote '[act]'. Say *help for a list.") return FALSE +/mob/proc/force_scream() + if(HAS_TRAIT(src, TRAIT_ANALGESIA)) + return + if(HAS_TRAIT(src, TRAIT_PAIN_RESIST)) + emote("gasp") + return + emote("scream") + +/mob/proc/force_manual_scream() + if(HAS_TRAIT(src, TRAIT_ANALGESIA)) + return + if(HAS_TRAIT(src, TRAIT_PAIN_RESIST)) + manual_emote("gasp") + return + manual_emote("scream") + /datum/emote/flip key = "flip" key_third_person = "flips" diff --git a/code/modules/mob/living/blood.dm b/code/modules/mob/living/blood.dm index 1910347e4fd..8e2962e70d2 100644 --- a/code/modules/mob/living/blood.dm +++ b/code/modules/mob/living/blood.dm @@ -51,19 +51,31 @@ if(BLOOD_VOLUME_MAXIMUM to BLOOD_VOLUME_EXCESS) if(prob(10)) to_chat(src, "You feel terribly bloated.") + if(BLOOD_VOLUME_OKAY to BLOOD_VOLUME_SAFE) - if(prob(5)) + + if(prob(1)) to_chat(src, "You feel [word].") - adjustOxyLoss(round((BLOOD_VOLUME_NORMAL - blood_volume) * 0.01, 1)) + if(oxyloss < 20) + adjustOxyLoss(round((BLOOD_VOLUME_NORMAL - blood_volume) * 0.02, 1)) + if(BLOOD_VOLUME_BAD to BLOOD_VOLUME_OKAY) - adjustOxyLoss(round((BLOOD_VOLUME_NORMAL - blood_volume) * 0.02, 1)) - if(prob(5)) - blur_eyes(6) + if(eye_blurry < 50) + adjust_blurriness(5) + if(oxyloss < 40) + adjustOxyLoss(round((BLOOD_VOLUME_NORMAL - blood_volume) * 0.02, 1)) + else + adjustOxyLoss(round((BLOOD_VOLUME_NORMAL - blood_volume) * 0.01, 1)) + + if(prob(15)) + Unconscious(rand(2 SECONDS,6 SECONDS)) to_chat(src, "You feel very [word].") + if(BLOOD_VOLUME_SURVIVE to BLOOD_VOLUME_BAD) - adjustOxyLoss(5) + adjustOxyLoss(round((BLOOD_VOLUME_NORMAL - blood_volume) * 0.02, 1)) + adjustToxLoss(2) if(prob(15)) - Unconscious(rand(20,60)) + Unconscious(rand(2 SECONDS,6 SECONDS)) to_chat(src, "You feel extremely [word].") if(-INFINITY to BLOOD_VOLUME_SURVIVE) if(!HAS_TRAIT(src, TRAIT_NODEATH)) @@ -81,25 +93,76 @@ BP.adjust_bleeding(0.1, BLOOD_LOSS_DAMAGE_MAXIMUM) limb_bleed += BP.bleeding + var/message_cooldown = 5 SECONDS + var/bleeeding_wording +// var/bleed_change_wording + switch(limb_bleed) + if(0 to 0.5) + bleeeding_wording = "You hear droplets of blood drip down." + message_cooldown *= 2.5 + if(0.5 to 1) + bleeeding_wording = "You feel your blood flow quietly to the floor." + message_cooldown *= 2 + if(1 to 2) + bleeeding_wording = "The flow of blood leaving your body onto the ground is worrying..." + message_cooldown *= 1.7 + if(2 to 4) + bleeeding_wording = "You're losing blood very fast, which is freaking you out!" + message_cooldown *= 1.5 + if(4 to INFINITY) + bleeeding_wording = "Your heartbeat beats unstably fast as you lose a massive amount of blood!!" + if(limb_bleed && !bleedsuppress && !HAS_TRAIT(src, TRAIT_FAKEDEATH)) bleed(limb_bleed) + if(!blood_particle) + blood_particle = new(src, /particles/droplets/blood, PARTICLE_ATTACH_MOB) + blood_particle.particles.color = dna.blood_type.color //mouthful + blood_particle.particles.spawning = (limb_bleed/2) + blood_particle.particles.count = (round(clamp((limb_bleed * 2), 1, INFINITY))) + + if(COOLDOWN_FINISHED(src, bloodloss_message) && bleeeding_wording) + to_chat(src, span_warning("[bleeeding_wording]")) + COOLDOWN_START(src, bloodloss_message, message_cooldown) + else + if(blood_particle) + QDEL_NULL(blood_particle) + //Makes a blood drop, leaking amt units of blood from the mob /mob/living/carbon/proc/bleed(amt) if(blood_volume) blood_volume = max(blood_volume - amt, 0) if (prob(sqrt(amt)*BLOOD_DRIP_RATE_MOD)) if(isturf(src.loc) && !isgroundlessturf(src.loc)) //Blood loss still happens in locker, floor stays clean - if(amt >= 10) - add_splatter_floor(src.loc) + if(amt >= 2) + add_splatter_floor(src.loc, amt = amt) else - add_splatter_floor(src.loc, 1) + add_splatter_floor(src.loc, TRUE, amt) /mob/living/carbon/human/bleed(amt) amt *= physiology.bleed_mod if(!(NOBLOOD in dna.species.species_traits)) ..() +/** + * This proc is a helper for spraying blood for things like slashing/piercing wounds and dismemberment. + * + * The strength of the splatter in the second argument determines how much it can dirty and how far it can go + * + * Arguments: + * * splatter_direction: Which direction the blood is flying + * * splatter_strength: How many tiles it can go, and how many items it can pass over and dirty + */ +/mob/living/carbon/proc/spray_blood(splatter_direction, splatter_strength = 3) + if(!isturf(loc)) + return + var/obj/effect/decal/cleanable/blood/hitsplatter/our_splatter = new(loc) + +// our_splatter.transfer_mob_blood_dna(return_blood_DNA(src)) + our_splatter.blood_dna_info = get_blood_dna_list() + our_splatter.transfer_mob_blood_dna(src) + var/turf/targ = get_ranged_target_turf(src, splatter_direction, splatter_strength) + INVOKE_ASYNC(our_splatter, TYPE_PROC_REF(/obj/effect/decal/cleanable/blood/hitsplatter, fly_towards), targ, splatter_strength) /mob/living/proc/restore_blood() @@ -229,13 +292,14 @@ return blood_type.color //to add a splatter of blood or other mob liquid. -/mob/living/proc/add_splatter_floor(turf/T, small_drip) +/mob/living/proc/add_splatter_floor(turf/T, small_drip, amt) if(get_blood_id() != /datum/reagent/blood) return if(!T) T = get_turf(src) var/list/temp_blood_DNA + if(small_drip) // Only a certain number of drips (or one large splatter) can be on a given turf. var/obj/effect/decal/cleanable/blood/drip/drop = locate() in T @@ -248,7 +312,7 @@ else temp_blood_DNA = drop.return_blood_DNA() //we transfer the dna from the drip to the splatter qdel(drop)//the drip is replaced by a bigger splatter - else + else if (amt < 2) drop = new(T, get_static_viruses()) drop.transfer_mob_blood_dna(src) return @@ -261,7 +325,11 @@ B = candidate break if(!B) - B = new /obj/effect/decal/cleanable/blood/splatter(T, get_static_viruses()) + if(amt > 4) + B = new /obj/effect/decal/cleanable/blood(T, get_static_viruses()) + else + B = new /obj/effect/decal/cleanable/blood/splatter(T, get_static_viruses()) + if(QDELETED(B)) //Give it up return B.bloodiness = min((B.bloodiness + BLOOD_AMOUNT_PER_DECAL), BLOOD_POOL_MAX) @@ -269,11 +337,11 @@ if(temp_blood_DNA) B.add_blood_DNA(temp_blood_DNA) -/mob/living/carbon/human/add_splatter_floor(turf/T, small_drip) +/mob/living/carbon/human/add_splatter_floor(turf/T, small_drip, amt) if(!(NOBLOOD in dna.species.species_traits)) ..() -/mob/living/carbon/alien/add_splatter_floor(turf/T, small_drip) +/mob/living/carbon/alien/add_splatter_floor(turf/T, small_drip, amt) if(!T) T = get_turf(src) var/obj/effect/decal/cleanable/xenoblood/B = locate() in T.contents @@ -281,7 +349,7 @@ B = new(T) B.add_blood_DNA(list("UNKNOWN DNA" = "X*")) -/mob/living/silicon/robot/add_splatter_floor(turf/T, small_drip) +/mob/living/silicon/robot/add_splatter_floor(turf/T, small_drip, amt) if(!T) T = get_turf(src) var/obj/effect/decal/cleanable/oil/B = locate() in T.contents diff --git a/code/modules/mob/living/brain/brain.dm b/code/modules/mob/living/brain/brain.dm index 80daa8de3e3..fa1267bdc23 100644 --- a/code/modules/mob/living/brain/brain.dm +++ b/code/modules/mob/living/brain/brain.dm @@ -41,9 +41,6 @@ /mob/living/brain/ex_act() //you cant blow up brainmobs because it makes transfer_to() freak out when borgs blow up. return -/mob/living/brain/blob_act(obj/structure/blob/B) - return - /mob/living/brain/get_eye_protection()//no eyes return 2 diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index 8629d01650d..5fe96021461 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -381,7 +381,8 @@ if(resilience) actual_trauma.resilience = resilience . = actual_trauma - SSblackbox.record_feedback("tally", "traumas", 1, actual_trauma.type) + if(owner?.client) + SSblackbox.record_feedback("tally", "traumas", 1, actual_trauma.type) //Add a random trauma of a certain subtype /obj/item/organ/brain/proc/gain_trauma_type(brain_trauma_type = /datum/brain_trauma, resilience, natural_gain = FALSE) diff --git a/code/modules/mob/living/carbon/alien/organs.dm b/code/modules/mob/living/carbon/alien/organs.dm index bfa71f3b335..3ae9bbb5b25 100644 --- a/code/modules/mob/living/carbon/alien/organs.dm +++ b/code/modules/mob/living/carbon/alien/organs.dm @@ -134,7 +134,7 @@ else if(ishuman(owner)) //Humans, being more fragile, are more overwhelmed by the mental backlash. to_chat(owner, "You feel a splitting pain in your head, and are struck with a wave of nausea. You cannot hear the hivemind anymore!") - owner.emote("scream") + owner.force_scream() owner.Paralyze(100) owner.jitteriness += 30 diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index c9cdcaf8199..37384cf91e6 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -27,7 +27,7 @@ attack_verb_simple = "flail at" attack_sound = 'sound/weapons/bladeslice.ogg' faction = list(ROLE_ALIEN) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS verb_say = "squeaks" verb_ask = "squeaks" verb_exclaim = "shrieks" @@ -35,7 +35,6 @@ initial_language_holder = /datum/language_holder/alien flags_1 = PREVENT_CONTENTS_EXPLOSION_1 footstep_type = FOOTSTEP_MOB_CLAW - gold_core_spawnable = NO_SPAWN pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY environment_smash = ENVIRONMENT_SMASH_NONE diff --git a/code/modules/mob/living/carbon/alien/utilities/structures.dm b/code/modules/mob/living/carbon/alien/utilities/structures.dm index 0ac30d207a4..c7e8a128c3d 100644 --- a/code/modules/mob/living/carbon/alien/utilities/structures.dm +++ b/code/modules/mob/living/carbon/alien/utilities/structures.dm @@ -182,7 +182,7 @@ qdel(src) return //lets try to grow in a direction - for(var/turf/check_turf in src_turf.GetAtmosAdjacentTurfs()) + for(var/turf/check_turf as anything in src_turf.get_atmos_adjacent_turfs()) //we cannot grow on blacklisted turfs if(is_type_in_list(check_turf, blacklisted_turfs)) continue diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index dd5b2905908..5276cf514d6 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -386,7 +386,7 @@ /mob/living/carbon/get_standard_pixel_y_offset(lying = 0) if(lying) - return -6 + return PIXEL_Y_OFFSET_LYING else return initial(pixel_y) @@ -438,7 +438,7 @@ visible_message("[src] dry heaves!", \ "You try to throw up, but there's nothing in your stomach!") if(stun) - Paralyze(200) + Immobilize(30) return TRUE if(is_mouth_covered()) //make this add a blood/vomit overlay later it'll be hilarious @@ -454,7 +454,7 @@ SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "vomit", /datum/mood_event/vomit) if(stun) - Paralyze(80) + Immobilize(10) playsound(get_turf(src), 'sound/effects/splat.ogg', 50, TRUE) var/turf/T = get_turf(src) @@ -476,6 +476,7 @@ T = get_step(T, dir) if (T?.is_blocked_turf()) break + adjust_disgust(-(lost_nutrition*rand(0.5, 2))) return TRUE /mob/living/carbon/proc/spew_organ(power = 5, amt = 1) @@ -538,6 +539,7 @@ REMOVE_TRAIT(src, TRAIT_INCAPACITATED, STAMINA) REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, STAMINA) REMOVE_TRAIT(src, TRAIT_FLOORED, STAMINA) + REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, STAMINA) else return update_health_hud() @@ -708,7 +710,9 @@ //Fire and Brute damage overlay (BSSR) var/hurtdamage = getBruteLoss() + getFireLoss() + damageoverlaytemp - if(hurtdamage) + if(HAS_TRAIT(src, TRAIT_PAIN_RESIST)) + hurtdamage = round(hurtdamage/2) + if(hurtdamage && !HAS_TRAIT(src, TRAIT_ANALGESIA)) var/severity = 0 switch(hurtdamage) if(5 to 15) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 43cefa251e3..12a40a456f1 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -1,6 +1,8 @@ /mob/living/carbon/attackby(obj/item/W, mob/user, params) var/obj/item/bodypart/BP = get_bodypart(check_zone(user.zone_selected)) - var/has_painkillers = reagents.has_reagent(/datum/reagent/medicine/morphine, needs_metabolizing = TRUE) + if(!BP) + return ..() + var/painless = (HAS_TRAIT(user, TRAIT_ANALGESIA) || HAS_TRAIT(user, TRAIT_PAIN_RESIST)) if(W.tool_behaviour == TOOL_WELDER && IS_ROBOTIC_LIMB(BP) && BP.brute_dam) //prioritize healing if we're synthetic return ..() if(user.a_intent != INTENT_HELP || !W.get_temperature() || !BP.can_bandage()) //this will also catch low damage synthetic welding @@ -9,7 +11,7 @@ var/heal_time = 2 SECONDS playsound(user, 'sound/surgery/cautery1.ogg', 20) balloon_alert(user, "cauterizing...") - if(src == user && !has_painkillers) + if(src == user && !painless) heal_time *= 2 //oof ouch owie user.visible_message(span_nicegreen("[user] holds [W] up to [user == src ? "their" : "[src]'s"] [parse_zone(BP.body_zone)], trying to slow [p_their()] bleeding..."), span_nicegreen("You hold [W] up to [user == src ? "your" : "[src]'s"] [parse_zone(BP.body_zone)], trying to slow [user == src ? "your" : p_their()] bleeding...")) if(do_after(user, heal_time, target = src)) @@ -352,13 +354,6 @@ if(is_type_in_typecache(active_item, GLOB.shove_disarming_types)) visible_message("[name] regains their grip on \the [active_item]!", "You regain your grip on \the [active_item]", null, COMBAT_MESSAGE_RANGE) -/mob/living/carbon/blob_act(obj/structure/blob/B) - if (stat == DEAD) - return - else - show_message("The blob attacks!") - adjustBruteLoss(10) - /mob/living/carbon/emp_act(severity) . = ..() if(. & EMP_PROTECT_CONTENTS) @@ -406,6 +401,8 @@ Paralyze(60) /mob/living/carbon/proc/help_shake_act(mob/living/carbon/M) + var/datum/component/mood/hugger_mood = M.GetComponent(/datum/component/mood) + var/nosound = FALSE if(on_fire) to_chat(M, "You can't put [p_them()] out with just your bare hands!") return @@ -433,6 +430,22 @@ mothdust += 10; if(istype(dna.species, /datum/species/moth)) M.mothdust += 10; // End WS edit + + if(M.zone_selected == BODY_ZONE_PRECISE_MOUTH) // Nose boops! + nosound = TRUE + playsound(src, 'sound/effects/boop.ogg', 50, 0) + if (HAS_TRAIT(M, TRAIT_FRIENDLY)) + M.visible_message(span_notice("[M] playfully boops your nose."), span_notice("You playfully boop [src]'s nose.")) + if (hugger_mood.sanity >= SANITY_GREAT) + new /obj/effect/temp_visual/heart(loc) + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "best_boop", /datum/mood_event/best_boop, M) + else + M.visible_message(span_notice("[M] boops [src]'s nose."), span_notice("You boop [src] on the nose.")) + if(HAS_TRAIT(src, TRAIT_BADTOUCH)) + to_chat(M, span_warning("A scowl forms on [src]'s face as you daringly press your finger against [p_their()] nose.")) + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "bad_boop", /datum/mood_event/bad_boop, M) + + else if(check_zone(M.zone_selected) == BODY_ZONE_HEAD) //Headpats! SEND_SIGNAL(src, COMSIG_CARBON_HEADPAT, M) M.visible_message("[M] gives [src] a pat on the head to make [p_them()] feel better!", \ @@ -447,10 +460,35 @@ if(HAS_TRAIT(src, TRAIT_BADTOUCH)) to_chat(M, "[src] looks visibly upset as you pat [p_them()] on the head.") +// Tail pulls! + else if((M.zone_selected == BODY_ZONE_PRECISE_GROIN) && !isnull(src.getorgan(/obj/item/organ/tail))) + M.visible_message(span_notice("[M] pulls on [src]'s tail!"), \ + null, span_hear("You hear a soft patter."), DEFAULT_MESSAGE_RANGE, list(M, src)) + to_chat(M, span_notice("You pull on [src]'s tail!")) + to_chat(src, span_notice("[M] pulls on your tail!")) + +// Rips off fake tails + else if((M.zone_selected == BODY_ZONE_PRECISE_GROIN) && (istype(head, /obj/item/clothing/head/kitty) || istype(head, /obj/item/clothing/head/collectable/kitty))) + var/obj/item/clothing/head/faketail = head + M.visible_message(span_danger("[M] pulls on [src]'s tail... and it rips off!"), \ + null, span_hear("You hear a ripping sound."), DEFAULT_MESSAGE_RANGE, list(M, src)) + to_chat(M, span_danger("You pull on [src]'s tail... and it rips off!")) + to_chat(src, span_userdanger("[M] pulls on your tail... and it rips off!")) + playsound(loc, 'sound/effects/rip1.ogg', 75, TRUE) + dropItemToGround(faketail) + M.put_in_hands(faketail) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "rippedtail", /datum/mood_event/rippedtail) + else if(M.zone_selected == BODY_ZONE_CHEST || M.zone_selected == BODY_ZONE_PRECISE_GROIN) //WS Edit - Adds more help emotes SEND_SIGNAL(src, COMSIG_CARBON_HUGGED, M) SEND_SIGNAL(M, COMSIG_CARBON_HUG, M, src) - M.visible_message("[M] hugs [src] to make [p_them()] feel better!", \ + if (M.grab_state >= GRAB_AGGRESSIVE) + M.visible_message(span_notice("[M] embraces [src] in a tight bear hug!"), \ + null, span_hear("You hear the rustling of clothes."), DEFAULT_MESSAGE_RANGE, list(M, src)) + to_chat(M, span_notice("You wrap [src] into a tight bear hug!")) + to_chat(src, span_notice("[M] squeezes you super tightly in a firm bear hug!")) + else + M.visible_message("[M] hugs [src] to make [p_them()] feel better!", \ "You hug [src] to make [p_them()] feel better!") if(istype(M.dna.species, /datum/species/moth)) //WS edit - moth dust from hugging mothdust += 15; @@ -462,12 +500,17 @@ // No moodlets for people who hate touches if(!HAS_TRAIT(src, TRAIT_BADTOUCH)) - if(bodytemperature > M.bodytemperature) - if(!HAS_TRAIT(M, TRAIT_BADTOUCH)) - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "hug", /datum/mood_event/warmhug, src) // Hugger got a warm hug (Unless they hate hugs) - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "hug", /datum/mood_event/hug) // Reciver always gets a mood for being hugged - else - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "hug", /datum/mood_event/warmhug, M) // You got a warm hug + if (M.grab_state >= GRAB_AGGRESSIVE) + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "hug", /datum/mood_event/bear_hug) + if(bodytemperature > M.bodytemperature) + if(!HAS_TRAIT(M, TRAIT_BADTOUCH)) + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "hug", /datum/mood_event/warmhug) // Hugger got a warm hug (Unless they hate hugs) + SEND_SIGNAL(M, "hug", /datum/mood_event/hug) // Receiver always gets a mood for being hugged + else + SEND_SIGNAL(M, "hug", /datum/mood_event/warmhug,) // You got a warm hug + else + if (M.grab_state >= GRAB_AGGRESSIVE) + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "hug", /datum/mood_event/bad_touch_bear_hug) // Let people know if they hugged someone really warm or really cold if(M.bodytemperature > M.dna.species.bodytemp_heat_damage_limit) @@ -481,7 +524,6 @@ to_chat(M, "It feels like [src] is freezing as you hug them.") if(HAS_TRAIT(M, TRAIT_FRIENDLY)) - var/datum/component/mood/hugger_mood = M.GetComponent(/datum/component/mood) if (hugger_mood.sanity >= SANITY_GREAT) new /obj/effect/temp_visual/heart(loc) SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "friendly_hug", /datum/mood_event/besthug, M) @@ -510,8 +552,17 @@ AdjustParalyzed(-60) AdjustImmobilized(-60) set_resting(FALSE) - - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) + if(!nosound) + playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) + +// Shake animation +#define SHAKE_ANIMATION_OFFSET (4) + if (incapacitated()) + var/direction = prob(50) ? -1 : 1 + animate(src, pixel_x = pixel_x + SHAKE_ANIMATION_OFFSET * direction, time = 1, easing = QUAD_EASING | EASE_OUT, flags = ANIMATION_PARALLEL) + animate(pixel_x = pixel_x - (SHAKE_ANIMATION_OFFSET * 2 * direction), time = 1) + animate(pixel_x = pixel_x + SHAKE_ANIMATION_OFFSET * direction, time = 1, easing = QUAD_EASING | EASE_IN) +#undef SHAKE_ANIMATION_OFFSET /// Check ourselves to see if we've got any shrapnel, return true if we do. This is a much simpler version of what humans do, we only indicate we're checking ourselves if there's actually shrapnel /mob/living/carbon/proc/check_self_for_injuries() @@ -653,3 +704,18 @@ ADD_TRAIT(src, TRAIT_KNOCKEDOUT, OXYLOSS_TRAIT) else if(getOxyLoss() <= 50) REMOVE_TRAIT(src, TRAIT_KNOCKEDOUT, OXYLOSS_TRAIT) + +/mob/living/carbon/bullet_act(obj/projectile/P, def_zone, piercing_hit = FALSE) + var/armor = run_armor_check(def_zone, P.flag, P.armour_penetration, silent = TRUE) + var/on_hit_state = P.on_hit(src, armor, piercing_hit) + if(!P.nodamage && on_hit_state != BULLET_ACT_BLOCK && !QDELETED(src)) //QDELETED literally just for the instagib rifle. Yeah. + apply_damage(P.damage, P.damage_type, def_zone, armor, sharpness = TRUE) + if(P.damage-armor >= 15 && P.damage_type == BRUTE && (!armor || prob(40) || P.damage-armor >= 25)) + spray_blood(get_dir(P.starting,src), (P.damage-armor)/5) + bleed((P.damage-armor)/2) + + recoil_camera(src, clamp((P.damage-armor)/4,0.5,10), clamp((P.damage-armor)/4,0.5,10), P.damage/8, P.Angle) + apply_effects(P.stun, P.knockdown, P.unconscious, P.irradiate, P.slur, P.stutter, P.eyeblur, P.drowsy, armor, P.stamina, P.jitter, P.paralyze, P.immobilize) + if(P.dismemberment) + check_projectile_dismemberment(P, def_zone) + return on_hit_state ? BULLET_ACT_HIT : BULLET_ACT_BLOCK diff --git a/code/modules/mob/living/carbon/death.dm b/code/modules/mob/living/carbon/death.dm index 8c1a36c2061..1804a149718 100644 --- a/code/modules/mob/living/carbon/death.dm +++ b/code/modules/mob/living/carbon/death.dm @@ -31,6 +31,9 @@ if(prob(50)) step(W, pick(GLOB.alldirs)) var/atom/Tsec = drop_location() + var/amount_of_streams_to_spawn = rand(2,4) + for(var/i in 1 to amount_of_streams_to_spawn) + spray_blood(pick(GLOB.alldirs), rand(1,6)) for(var/mob/M in src) M.forceMove(Tsec) visible_message("[M] bursts out of [src]!") diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm index f0d27e801cd..358fa062609 100644 --- a/code/modules/mob/living/carbon/emote.dm +++ b/code/modules/mob/living/carbon/emote.dm @@ -39,25 +39,6 @@ key = "blink_r" message = "blinks rapidly." -/datum/emote/living/carbon/clap - key = "clap" - key_third_person = "claps" - message = "claps." - muzzle_ignore = TRUE - hands_use_check = TRUE - emote_type = EMOTE_AUDIBLE - vary = TRUE - -/datum/emote/living/carbon/clap/get_sound(mob/living/user) - if(ishuman(user)) - if(!user.get_bodypart(BODY_ZONE_L_ARM) || !user.get_bodypart(BODY_ZONE_R_ARM)) - return - else - return pick('sound/misc/clap1.ogg', - 'sound/misc/clap2.ogg', - 'sound/misc/clap3.ogg', - 'sound/misc/clap4.ogg') - /datum/emote/living/carbon/crack key = "crack" key_third_person = "cracks" @@ -253,7 +234,7 @@ damage += rand(3,7) if(damage >= 5) - target.emote("scream") + target.force_scream() target.apply_damage(damage, BRUTE, BODY_ZONE_HEAD) user.adjustStaminaLoss(iteration + 5) diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 55adc5bd5d1..dad54c17ca0 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -62,8 +62,6 @@ GLOBAL_LIST_EMPTY(dead_players_during_shift) if(SSticker.HasRoundStarted()) SSblackbox.ReportDeath(src) log_message("has died (BRUTE: [src.getBruteLoss()], BURN: [src.getFireLoss()], TOX: [src.getToxLoss()], OXY: [src.getOxyLoss()], CLONE: [src.getCloneLoss()])", LOG_ATTACK) - if(is_devil(src)) - INVOKE_ASYNC(is_devil(src), TYPE_PROC_REF(/datum/antagonist/devil, beginResurrectionCheck), src) to_chat(src, "You have died. Barring complete bodyloss, you can in most cases be revived by other players. If you do not wish to be brought back, use the \"Do Not Resuscitate\" verb in the ghost tab.") diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index da75efa5265..f973a2b7a59 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -67,6 +67,8 @@ return pick('sound/voice/human/malescream_1.ogg', 'sound/voice/human/malescream_2.ogg', 'sound/voice/human/malescream_3.ogg', 'sound/voice/human/malescream_4.ogg', 'sound/voice/human/malescream_5.ogg', 'sound/voice/human/malescream_6.ogg') else if(ismoth(H)) return 'sound/voice/moth/scream_moth.ogg' + else if(isvox(H)) + return 'sound/voice/vox/vox_scream_1.ogg' else if(islizard(H)) return pick('sound/voice/lizard/lizard_scream_1.ogg', 'sound/voice/lizard/lizard_scream_2.ogg', 'sound/voice/lizard/lizard_scream_3.ogg', 'sound/voice/lizard/lizard_scream_4.ogg') diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 7bbe9fb1de7..c462eb294f7 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -25,7 +25,7 @@ //if we have no guestbook, we just KNOW okay? var/known_name = user.mind?.guestbook ? user.mind.guestbook.get_known_name(user, src, face_name) : face_name if(known_name) - . += "You know them as [known_name]." + . += "You know [t_him] as [known_name]." else . += "You don't recognize [t_him]. You can Ctrl-Shift click [t_him] to memorize their face." else @@ -99,8 +99,6 @@ if(!(ITEM_SLOT_EYES in obscured)) if(glasses) . += "[t_He] [t_has] [glasses.get_examine_string(user)] covering [t_his] eyes." - else if(eye_color == BLOODCULT_EYE && iscultist(src) && HAS_TRAIT(src, CULT_EYES)) - . += "[t_His] eyes are glowing an unnatural red!" //ears if(ears && !(ITEM_SLOT_EARS in obscured)) @@ -432,4 +430,4 @@ if ((wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))) return if(get_age()) - . += list(span_notice("[p_they(TRUE)] appear[p_s()] to be [get_age()].")) + . += span_notice("[p_they(TRUE)] appear[p_s()] to be [get_age()].") diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 27fa569de7c..58f726aa508 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -24,7 +24,6 @@ RegisterSignal(src, COMSIG_COMPONENT_CLEAN_FACE_ACT, PROC_REF(clean_face)) AddComponent(/datum/component/personal_crafting) AddComponent(/datum/component/footstep, FOOTSTEP_MOB_HUMAN, 1, -6) - AddComponent(/datum/component/bloodysoles/feet) GLOB.human_list += src /mob/living/carbon/human/proc/setup_human_dna() @@ -42,6 +41,8 @@ QDEL_NULL(physiology) QDEL_LIST(bioware) GLOB.human_list -= src + if(blood_particle) + QDEL_NULL(blood_particle) return ..() @@ -913,10 +914,10 @@ /mob/living/carbon/human/vomit(lost_nutrition = 10, blood = FALSE, stun = TRUE, distance = 1, message = TRUE, toxic = FALSE, harm = TRUE, force = FALSE, purge = FALSE) if(blood && (NOBLOOD in dna.species.species_traits) && !HAS_TRAIT(src, TRAIT_TOXINLOVER)) if(message) - visible_message("[src] dry heaves!", \ - "You try to throw up, but there's nothing in your stomach!") + visible_message(span_warning("[src] dry heaves!"), \ + span_userdanger("You try to throw up, but there's nothing in your stomach!")) if(stun) - Paralyze(200) + Immobilize(30) return 1 ..() diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 1cb061ff9fd..081c94f4a8f 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -110,22 +110,24 @@ var/final_block_chance = I.block_chance - (clamp((armour_penetration-I.armour_penetration)/2,0,100)) + block_chance_modifier //So armour piercing blades can still be parried by other blades, for example if(I.hit_reaction(src, AM, attack_text, final_block_chance, damage, attack_type)) return TRUE + if(wear_suit) - var/final_block_chance = wear_suit.block_chance - (clamp((armour_penetration-wear_suit.armour_penetration)/2,0,100)) + block_chance_modifier + var/final_block_chance = wear_suit.block_chance - (clamp((armour_penetration - wear_suit.armour_penetration)/2,0,100)) + block_chance_modifier if(wear_suit.hit_reaction(src, AM, attack_text, final_block_chance, damage, attack_type)) return TRUE if(w_uniform) - var/final_block_chance = w_uniform.block_chance - (clamp((armour_penetration-w_uniform.armour_penetration)/2,0,100)) + block_chance_modifier + var/final_block_chance = w_uniform.block_chance - (clamp((armour_penetration - w_uniform.armour_penetration)/2,0,100)) + block_chance_modifier if(w_uniform.hit_reaction(src, AM, attack_text, final_block_chance, damage, attack_type)) return TRUE if(wear_neck) - var/final_block_chance = wear_neck.block_chance - (clamp((armour_penetration-wear_neck.armour_penetration)/2,0,100)) + block_chance_modifier + var/final_block_chance = wear_neck.block_chance - (clamp((armour_penetration - wear_neck.armour_penetration)/2,0,100)) + block_chance_modifier if(wear_neck.hit_reaction(src, AM, attack_text, final_block_chance, damage, attack_type)) return TRUE if(head) - var/final_block_chance = head.block_chance - (clamp((armour_penetration-head.armour_penetration)/2,0,100)) + block_chance_modifier + var/final_block_chance = head.block_chance - (clamp((armour_penetration - head.armour_penetration)/2,0,100)) + block_chance_modifier if(head.hit_reaction(src, AM, attack_text, final_block_chance, damage, attack_type)) return TRUE + return FALSE /mob/living/carbon/human/proc/check_block() @@ -473,16 +475,6 @@ if(!max_limb_loss) break - -/mob/living/carbon/human/blob_act(obj/structure/blob/B) - if(stat == DEAD) - return - show_message("The blob attacks you!") - var/dam_zone = pick(BODY_ZONE_CHEST, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) - var/obj/item/bodypart/affecting = get_bodypart(ran_zone(dam_zone)) - apply_damage(5, BRUTE, affecting, run_armor_check(affecting, "melee")) - - ///Calculates the siemens coeff based on clothing and species, can also restart hearts. /mob/living/carbon/human/electrocute_act(shock_damage, source, siemens_coeff = 1, flags = NONE) //If it doesnt have physiology its prob still initializing. @@ -501,6 +493,10 @@ else if(!(flags & SHOCK_NOGLOVES)) //This gets the siemens_coeff for all non tesla shocks if(gloves) siemens_coeff *= gloves.siemens_coefficient + //If it doesnt have physiology its prob still initializing. + if(!physiology) + . = ..() + return siemens_coeff *= physiology.siemens_coeff siemens_coeff *= dna.species.siemens_coeff . = ..() @@ -528,8 +524,8 @@ var/informed = FALSE for(var/obj/item/bodypart/L as anything in bodyparts) if(!IS_ORGANIC_LIMB(L)) - if(!informed) - to_chat(src, "You feel a sharp pain as your robotic limbs overload.") + if(!informed && !HAS_TRAIT(src, TRAIT_ANALGESIA)) + to_chat(src, span_userdanger("You feel a sharp pain as your robotic limbs overload.")) informed = TRUE switch(severity) if(1) @@ -661,7 +657,7 @@ if(affecting.name == BODY_ZONE_HEAD) if(prob(min(acidpwr*acid_volume/10, 90))) //Applies disfigurement affecting.receive_damage(acidity, 2*acidity) - emote("scream") + force_scream() facial_hairstyle = "Shaved" hairstyle = "Bald" update_hair() diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 567523c11d7..df006ead1f3 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -77,3 +77,7 @@ /// How many "units of blood" we have on our hands var/blood_in_hands = 0 + ///blood particle effect + var/obj/effect/abstract/particle_holder/blood_particle + + COOLDOWN_DECLARE(bloodloss_message) diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 9e2cfe4f155..b7c5b987712 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -192,23 +192,65 @@ /mob/living/carbon/human/proc/get_age() var/obscured = check_obscured_slots() var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE)) - if((obscured & ITEM_SLOT_ICLOTHING) && skipface || isipc(src)) + if((obscured & ITEM_SLOT_ICLOTHING) && skipface || isipc(src) || isskeleton(src)) // sorry ladies no middle aged robots return FALSE - switch(age) - if(70 to INFINITY) - return "Geriatric" - if(60 to 70) - return "Elderly" - if(50 to 60) - return "Old" - if(40 to 50) - return "Middle-Aged" - if(24 to 40) - return FALSE //not necessary because this is basically the most common age range - if(18 to 24) - return "Young" - else - return "Puzzling" + if(islizard(src)) + switch(age) + if(175 to INFINITY) + return "Ancient" + if(130 to 175) + return "Elderly" + if(100 to 130) + return "Old" + if(65 to 100) + return "Middle-Aged" + if(40 to 65) + return FALSE + if(18 to 40) + return "Young" + else if(isvox(src)) + switch(age) + if(280 to INFINITY) + return "Ancient" + if(200 to 280) + return "Elderly" + if(160 to 200) + return "Old" + if(120 to 160) + return "Middle-Aged" + if(60 to 120) + return FALSE + if(18 to 60) + return "Young" + else if(iselzuose(src)) + switch(age) + if(300 to INFINITY) + return "Ancient" + if(260 to 300) + return "Elderly" + if(160 to 260) + return "Old" + if(100 to 160) + return "Middle-Aged" + if(40 to 100) + return FALSE // most common age range + if(18 to 40) + return "Young" + else + switch(age) + if(70 to INFINITY) + return "Ancient" + if(60 to 70) + return "Elderly" + if(50 to 60) + return "Old" + if(40 to 50) + return "Middle-Aged" + if(24 to 40) + return FALSE // most common age range + if(18 to 24) + return "Young" + return "Puzzling" /mob/living/carbon/human/proc/get_generic_name(prefixed = FALSE, lowercase = FALSE) var/final_string = "" @@ -228,7 +270,7 @@ final_string += get_gender() if(prefixed) - final_string = "\A [final_string]" + final_string = "\improper [final_string]" if(lowercase) final_string = lowertext(final_string) diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 77e2045e357..aab8b681bf5 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -26,25 +26,8 @@ return 0 return ..() -/mob/living/carbon/human/experience_pressure_difference(pressure_difference) - if(pressure_difference > 100) - playsound_local(null, 'sound/effects/space_wind_big.ogg', clamp(pressure_difference / 50, 10, 100), 1) - else - playsound_local(null, 'sound/effects/space_wind.ogg', clamp(pressure_difference, 10, 100), 1) - if(shoes && istype(shoes, /obj/item/clothing)) - var/obj/item/clothing/S = shoes - if((S.clothing_flags & NOSLIP)) - return 0 - return ..() - -/mob/living/carbon/human/mob_has_gravity() - . = ..() - if(!.) - if(mob_negates_gravity()) - . = 1 - /mob/living/carbon/human/mob_negates_gravity() - return ((shoes && shoes.negates_gravity()) || (dna.species.negates_gravity(src))) + return dna.species.negates_gravity(src) || ..() /mob/living/carbon/human/Move(NewLoc, direct) . = ..() diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 756af00f183..12e152c0f3d 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -40,6 +40,45 @@ return s_store return null +/mob/living/carbon/human/get_slot_by_item(obj/item/looking_for) + if(looking_for == belt) + return ITEM_SLOT_BELT + + if(looking_for == wear_id) + return ITEM_SLOT_ID + + if(looking_for == ears) + return ITEM_SLOT_EARS + + if(looking_for == glasses) + return ITEM_SLOT_EYES + + if(looking_for == gloves) + return ITEM_SLOT_GLOVES + + if(looking_for == head) + return ITEM_SLOT_HEAD + + if(looking_for == shoes) + return ITEM_SLOT_FEET + + if(looking_for == wear_suit) + return ITEM_SLOT_OCLOTHING + + if(looking_for == w_uniform) + return ITEM_SLOT_ICLOTHING + + if(looking_for == r_store) + return ITEM_SLOT_RPOCKET + + if(looking_for == l_store) + return ITEM_SLOT_LPOCKET + + if(looking_for == s_store) + return ITEM_SLOT_SUITSTORE + + return ..() + /mob/living/carbon/human/proc/get_all_slots() . = get_head_slots() | get_body_slots() @@ -82,7 +121,9 @@ /mob/living/carbon/human/equip_to_slot(obj/item/I, slot, initial = FALSE, redraw_mob = FALSE, swap = FALSE) if(!..()) //a check failed or the item has already found its slot return - + if(isclothing(I))//needs to be set very early, because clothing overlays need it assigned before update_inv calls + var/obj/item/clothing/ouritem = I + ouritem.wearer = WEAKREF(src) var/current_equip var/not_handled = FALSE //Added in case we make this type path deeper one day switch(slot) @@ -165,7 +206,9 @@ update_inv_s_store() else to_chat(src, "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!") - + if(isclothing(I))//just in case + var/obj/item/clothing/ouritem = I + ouritem.wearer = null if (current_equip) put_in_active_hand(current_equip) @@ -334,7 +377,8 @@ if(equip_to_slot_if_possible(thing, slot_type)) update_inv_hands() return - if(!SEND_SIGNAL(equipped_item, COMSIG_CONTAINS_STORAGE)) // not a storage item + var/datum/component/storage/storage = equipped_item.GetComponent(/datum/component/storage) + if(!storage) if(!thing) equipped_item.attack_hand(src) else @@ -344,10 +388,11 @@ if(!SEND_SIGNAL(equipped_item, COMSIG_TRY_STORAGE_INSERT, thing, src)) to_chat(src, "You can't fit [thing] into your [equipped_item.name]!") return - if(!equipped_item.contents.len) // nothing to take out + var/atom/real_location = storage.real_location() + if(!real_location.contents.len) // nothing to take out to_chat(src, "There's nothing in your [equipped_item.name] to take out!") return - var/obj/item/stored = equipped_item.contents[equipped_item.contents.len] + var/obj/item/stored = real_location.contents[real_location.contents.len] if(!stored || stored.on_found(src)) return stored.attack_hand(src) // take out thing from item in storage slot diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 730001819de..cb812d45b34 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -61,6 +61,21 @@ return ONE_ATMOSPHERE return pressure +/mob/living/carbon/human/proc/check_for_seal() + var/obj/item/clothing/clothing_suit = wear_suit + var/obj/item/clothing/clothing_head = head + if(istype(clothing_suit) && istype(clothing_head)) + if (clothing_suit.clothing_flags & clothing_head.clothing_flags & STOPSPRESSUREDAMAGE) + return TRUE + return FALSE + +/mob/living/carbon/human/proc/check_for_goggles() + if(head?.flags_cover & SEALS_EYES) + return head + if(wear_mask?.flags_cover & SEALS_EYES) + return wear_mask + if(glasses?.flags_cover & SEALS_EYES) + return glasses /mob/living/carbon/human/handle_traits() if (getOrganLoss(ORGAN_SLOT_BRAIN) >= 60) @@ -105,6 +120,7 @@ if(istype(L, /obj/item/organ/lungs)) var/obj/item/organ/lungs/lun = L lun.check_breath(breath,src) + lun.handle_breath_temperature(breath,src) /// Environment handlers for species /mob/living/carbon/human/handle_environment(datum/gas_mixture/environment) @@ -330,13 +346,19 @@ var/obj/item/bodypart/R = get_bodypart("r_arm") if(istype(L) && L.bone_status == BONE_FLAG_BROKEN && held_items[1] && prob(30)) - emote("scream") - visible_message("[src] screams and lets go of [held_items[1]] in pain.", "A horrible pain in your [parse_zone(L)] makes it impossible to hold [held_items[1]]!") + force_scream() + if(!HAS_TRAIT(src, TRAIT_ANALGESIA)) + visible_message(span_warning("[src] screams and lets go of [held_items[1]] in pain."), span_userdanger("A horrible pain in your [parse_zone(L)] makes it impossible to hold [held_items[1]]!")) + else + visible_message(span_notice("[src] flinches and lets go of [held_items[1]]."),span_notice("A sudden weakness in your [parse_zone(L)] makes it impossible to grasp [held_items[1]]!")) dropItemToGround(held_items[1]) if(istype(R) && R.bone_status == BONE_FLAG_BROKEN && held_items[2] && prob(30)) - emote("scream") - visible_message("[src] screams and lets go of [held_items[2]] in pain.", "A horrible pain in your [parse_zone(R)] makes it impossible to hold [held_items[2]]!") + force_scream() + if(!HAS_TRAIT(src, TRAIT_ANALGESIA)) + visible_message(span_warning("[src] screams and lets go of [held_items[1]] in pain."), span_userdanger("A horrible pain in your [parse_zone(R)] makes it impossible to hold [held_items[1]]!")) + else + visible_message(span_notice("[src] flinches and lets go of [held_items[1]]."),span_notice("A sudden weakness in your [parse_zone(R)] makes it impossible to grasp [held_items[1]]!")) dropItemToGround(held_items[2]) #undef THERMAL_PROTECTION_HEAD diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index d1cc2578562..65c809074d3 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1,5 +1,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) +#define MINIMUM_MOLS_TO_HARM 1 + /** * # species datum * @@ -108,6 +110,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/siemens_coeff = 1 ///What kind of damage overlays (if any) appear on our species when wounded? If this is "", does not add an overlay. var/damage_overlay_type = "human" + ///for species with a unique body size(above 32x32), who need a custom icon file for overlays + var/custom_overlay_icon ///To use MUTCOLOR with a fixed color that's independent of the mcolor feature in DNA. var/fixed_mut_color = "" ///Special mutation that can be found in the genepool exclusively in this species. Dont leave empty or changing species will be a headache @@ -146,6 +150,10 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/bodytemp_normal = HUMAN_BODYTEMP_NORMAL /// Minimum amount of kelvin moved toward normal body temperature per tick. var/bodytemp_autorecovery_min = HUMAN_BODYTEMP_AUTORECOVERY_MINIMUM + /// The maximum temperature the species is comfortable at. Going above this does not apply any effects, but warns players that the temperture is hot + var/max_temp_comfortable = (HUMAN_BODYTEMP_NORMAL) //20 c will always be below human bodytemp, this just makes it so when it can sustain that its higher + /// The minimum temperature the species is comfortable at. Going below this does not apply any effects, but warns players that the temperture is chilly + var/min_temp_comfortable = (HUMAN_BODYTEMP_NORMAL - 1) /// This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. var/bodytemp_autorecovery_divisor = HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR ///Similar to the autorecovery_divsor, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to lose bodytemp faster. @@ -160,6 +168,10 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/bodytemp_cooling_rate_max = HUMAN_BODYTEMP_COOLING_MAX /// The maximum rate at which a species can cool down per tick var/bodytemp_heating_rate_max = HUMAN_BODYTEMP_HEATING_MAX + /// How much temp is our body stabilizing naturally? + var/bodytemp_natural_stabilization = 0 + /// How much temp is the environment is causing us to charge? + var/bodytemp_environment_change = 0 ///Does our species have colors for its' damage overlays? var/use_damage_color = TRUE @@ -182,7 +194,6 @@ GLOBAL_LIST_EMPTY(roundstart_races) ///What gas does this species breathe? Used by suffocation screen alerts, most of actual gas breathing is handled by mutantlungs. See [life.dm][code/modules/mob/living/carbon/human/life.dm] var/breathid = "o2" - //Do NOT remove by setting to null. use OR make a RESPECTIVE TRAIT (removing stomach? add the NOSTOMACH trait to your species) //why does it work this way? because traits also disable the downsides of not having an organ, removing organs but not having the trait will make your species die //shut up you're not my mother @@ -488,6 +499,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) fly.Grant(C) C.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/species, multiplicative_slowdown=speedmod) + C.bodytemperature = bodytemp_normal SEND_SIGNAL(C, COMSIG_SPECIES_GAIN, src, old_species) @@ -1266,6 +1278,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) return FALSE if(H.s_store && !swap) return FALSE + if(HAS_TRAIT(I, TRAIT_FORCE_SUIT_STORAGE)) + return TRUE if(!H.wear_suit) if(!disable_warning) to_chat(H, "You need a suit before you can attach this [I.name]!") @@ -1828,16 +1842,120 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/areatemp = H.get_temperature(environment) if(H.stat != DEAD) // If you are dead your body does not stabilize naturally - natural_bodytemperature_stabilization(environment, H) + bodytemp_natural_stabilization = natural_bodytemperature_stabilization(environment, H) if(!H.on_fire || areatemp > H.bodytemperature) // If we are not on fire or the area is hotter - H.adjust_bodytemperature((areatemp - H.bodytemperature), use_insulation=TRUE, use_steps=TRUE, hardsuit_fix=bodytemp_normal - H.bodytemperature) + bodytemp_environment_change = H.adjust_bodytemperature((areatemp - H.bodytemperature), use_insulation=TRUE, use_steps=TRUE, hardsuit_fix=bodytemp_normal - H.bodytemperature) + + if(H.check_for_seal()) + return + + var/plasma = environment.get_moles(GAS_PLASMA) + var/tritium = environment.get_moles(GAS_TRITIUM) + var/chlorine = environment.get_moles(GAS_CHLORINE) + var/ammonia = environment.get_moles(GAS_AMMONIA) + var/hydrogen_chloride = environment.get_moles(GAS_HYDROGEN_CHLORIDE) + var/sulfur_dioxide = environment.get_moles(GAS_SO2) + if(chlorine <= MINIMUM_MOLS_TO_HARM && hydrogen_chloride <= MINIMUM_MOLS_TO_HARM && tritium <= MINIMUM_MOLS_TO_HARM && plasma <= MINIMUM_MOLS_TO_HARM && ammonia <= MINIMUM_MOLS_TO_HARM && sulfur_dioxide <= MINIMUM_MOLS_TO_HARM) + return + + var/eyedamage = FALSE + var/irritant = FALSE + var/burndamage = 0 + var/lowerthreshold = FALSE + + var/feels_pain = TRUE + if(HAS_TRAIT(H, TRAIT_METALLIC)) //makes certain species take more damage and start taking damage at lower air amounts + lowerthreshold = TRUE + + if(HAS_TRAIT(H, TRAIT_ANALGESIA)) //if we can't feel pain, dont give the pain messages + feels_pain = FALSE + + if(plasma > MINIMUM_MOLS_TO_HARM) + burndamage += max(sqrt(ammonia) - 1 + lowerthreshold, 0) + eyedamage = TRUE + irritant = TRUE + if(tritium) + burndamage += max(sqrt(tritium) - 2 + lowerthreshold, 0) + if(tritium > MINIMUM_MOLS_TO_HARM) + eyedamage = TRUE + irritant = TRUE + if(chlorine) + burndamage += max(sqrt(chlorine) - 4 + lowerthreshold, 0) + irritant = TRUE + if(chlorine > (MINIMUM_MOLS_TO_HARM * 10)) + eyedamage = TRUE + if(ammonia) + burndamage += max(sqrt(ammonia) - 2 + lowerthreshold, 0) + irritant = TRUE + if(ammonia > (MINIMUM_MOLS_TO_HARM * 5)) + eyedamage = TRUE + if(hydrogen_chloride) + burndamage += max(sqrt(hydrogen_chloride) - 1 + lowerthreshold, 0) + eyedamage = TRUE + irritant = TRUE + if(sulfur_dioxide) + burndamage += max(sqrt(chlorine) - 4 + lowerthreshold, 0) + irritant = TRUE + if(sulfur_dioxide > (MINIMUM_MOLS_TO_HARM * 5)) + eyedamage = TRUE + + if(!eyedamage && !burndamage && !irritant) + return + H.apply_damage(burndamage, BURN, spread_damage = TRUE) + if(prob(50) && burndamage) + if(lowerthreshold && feels_pain) + to_chat(H, span_userdanger("You're corroding!")) + else if(feels_pain) + to_chat(H, span_userdanger("You're melting!")) + playsound(H, 'sound/items/welder.ogg', 30, TRUE) + if(!H.check_for_goggles() && eyedamage) + H.adjustOrganLoss(ORGAN_SLOT_EYES, 1) + if(prob(50) && feels_pain) + to_chat(H, span_danger("Your eyes burn!")) + H.emote("cry") + H.set_blurriness(10) + if(irritant && prob(50) && feels_pain) + if(lowerthreshold) + to_chat(H, span_danger("Your outer shell smolders!")) + else + to_chat(H, span_danger("Your skin itches.")) + /// Handle the body temperature status effects for the species /// Traits for resitance to heat or cold are handled here. /datum/species/proc/handle_body_temperature(mob/living/carbon/human/H) + var/body_temp = H.bodytemperature + + //tempature is no longer comfy, throw alert + if(body_temp > max_temp_comfortable && !HAS_TRAIT(H, TRAIT_RESISTHEAT)) + SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "cold") + if(body_temp > bodytemp_heat_damage_limit) + var/burn_damage = calculate_burn_damage(H) + if(burn_damage > 2) + H.throw_alert("tempfeel", /atom/movable/screen/alert/hot, 3) + else + H.throw_alert("tempfeel", /atom/movable/screen/alert/hot, 2) + else + if(body_temp < (bodytemp_heat_damage_limit - 3)) + H.throw_alert("tempfeel", /atom/movable/screen/alert/hot, 1) + else + H.throw_alert("tempfeel", /atom/movable/screen/alert/warm) + else if (body_temp < min_temp_comfortable && !HAS_TRAIT(H, TRAIT_RESISTCOLD)) + SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "hot") + if(body_temp < bodytemp_cold_damage_limit -7) + H.throw_alert("tempfeel", /atom/movable/screen/alert/cold, 3) + else if(body_temp < bodytemp_cold_damage_limit) + H.throw_alert("tempfeel", /atom/movable/screen/alert/cold, 2) + else if(body_temp < (bodytemp_cold_damage_limit + 5)) + H.throw_alert("tempfeel", /atom/movable/screen/alert/cold, 1) + else + H.throw_alert("tempfeel", /atom/movable/screen/alert/chilly) + else + H.clear_alert("tempfeel") + // Body temperature is too hot, and we do not have resist traits - if(H.bodytemperature > bodytemp_heat_damage_limit && !HAS_TRAIT(H, TRAIT_RESISTHEAT)) + if(body_temp > bodytemp_heat_damage_limit && !HAS_TRAIT(H, TRAIT_RESISTHEAT)) // Clear cold mood and apply hot mood SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "cold") SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "hot", /datum/mood_event/hot) @@ -1845,36 +1963,46 @@ GLOBAL_LIST_EMPTY(roundstart_races) //Remove any slowdown from the cold. H.remove_movespeed_modifier(/datum/movespeed_modifier/cold) - var/burn_damage = 0 - var/firemodifier = H.fire_stacks / 50 - if (!H.on_fire) // We are not on fire, reduce the modifier - firemodifier = min(firemodifier, 0) - - // this can go below 5 at log 2.5 - burn_damage = max(log(2 - firemodifier, (H.bodytemperature - H.get_body_temp_normal(apply_change=FALSE))) - 5,0) - - // Display alerts based on the amount of fire damage being taken - if (burn_damage) - switch(burn_damage) - if(1 to 2) - H.throw_alert("temp", /atom/movable/screen/alert/hot, 1) - if(2 to 4) - H.throw_alert("temp", /atom/movable/screen/alert/hot, 2) - else - H.throw_alert("temp", /atom/movable/screen/alert/hot, 3) + var/burn_damage = calculate_burn_damage(H) + + // sweats depending on burn damage, not actually a mechanic but a alternative to pinpoint when you are taking damage + if(burn_damage) + if(H.mob_biotypes & MOB_ROBOTIC) //robors have a alternative cooling fan graphic + switch(burn_damage) + if(0 to 1) + H.throw_alert("temp", /atom/movable/screen/alert/fans, 1) + if(2 to 3) + H.throw_alert("temp", /atom/movable/screen/alert/fans, 2) + else + H.throw_alert("temp", /atom/movable/screen/alert/fans, 3) + else + switch(burn_damage) + if(0 to 1) + H.throw_alert("temp", /atom/movable/screen/alert/sweat, 1) + if(2 to 3) + H.throw_alert("temp", /atom/movable/screen/alert/sweat, 2) + else + H.throw_alert("temp", /atom/movable/screen/alert/sweat, 3) + + //Stay hydrated. + if(!(H.mob_biotypes & MOB_ROBOTIC) && H.reagents.has_reagent(/datum/reagent/water) && H.stat != DEAD) + burn_damage -= clamp(H.reagents.get_reagent_amount(/datum/reagent/water) /10, 0, 2) + // if youre dead, no need to sweat? + if(H.stat != DEAD) + burn_damage -= (max(burn_damage - 2.5, 0)) // Apply species and physiology modifiers to heat damage burn_damage = burn_damage * heatmod * H.physiology.heat_mod // 40% for level 3 damage on humans to scream in pain if (H.stat < UNCONSCIOUS && (prob(burn_damage) * 10) / 4) - H.emote("scream") + H.force_scream() // Apply the damage to all body parts H.apply_damage(burn_damage, BURN, spread_damage = TRUE) // Body temperature is too cold, and we do not have resist traits - else if(H.bodytemperature < bodytemp_cold_damage_limit && !HAS_TRAIT(H, TRAIT_RESISTCOLD)) + else if(body_temp < bodytemp_cold_damage_limit && !HAS_TRAIT(H, TRAIT_RESISTCOLD)) // clear any hot moods and apply cold mood SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "hot") SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "cold", /datum/mood_event/cold) @@ -1883,18 +2011,25 @@ GLOBAL_LIST_EMPTY(roundstart_races) // Display alerts based on the amount of cold damage being taken // Apply more damage based on how cold you are - var/bodytemp = H.bodytemperature - if(bodytemp < 120) - H.throw_alert("temp", /atom/movable/screen/alert/cold, 3) - H.apply_damage(COLD_DAMAGE_LEVEL_3 * coldmod * H.physiology.cold_mod, BURN) + if(body_temp < bodytemp_cold_damage_limit - 15) + H.throw_alert("temp", /atom/movable/screen/alert/shiver, 3) + if(H.stat != DEAD) // probably can store them in cold storage like this + H.apply_damage(COLD_DAMAGE_LEVEL_3 * coldmod * H.physiology.cold_mod, BURN) + H.emote("shiver") - else if(bodytemp < 200) - H.throw_alert("temp", /atom/movable/screen/alert/cold, 2) - H.apply_damage(COLD_DAMAGE_LEVEL_2 * coldmod * H.physiology.cold_mod, BURN) + else if(body_temp < bodytemp_cold_damage_limit - 7) + H.throw_alert("temp", /atom/movable/screen/alert/shiver, 2) + if(H.stat != DEAD) // when you think about it, being cold wouldnt do skin damaage if there nothing even alive? + H.apply_damage(COLD_DAMAGE_LEVEL_2 * coldmod * H.physiology.cold_mod, BURN) + if(prob(30)) + H.emote("shiver") else - H.throw_alert("temp", /atom/movable/screen/alert/cold, 1) - H.apply_damage(COLD_DAMAGE_LEVEL_1 * coldmod * H.physiology.cold_mod, BURN) + H.throw_alert("temp", /atom/movable/screen/alert/shiver, 1) + if(H.stat != DEAD) // to prevent a bug where bodies at room tempertue actually take damage from their body being cold + H.apply_damage(COLD_DAMAGE_LEVEL_1 * coldmod * H.physiology.cold_mod, BURN) + if(prob(10)) + H.emote("shiver") // We are not to hot or cold, remove status and moods else @@ -1903,6 +2038,16 @@ GLOBAL_LIST_EMPTY(roundstart_races) SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "cold") SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "hot") +/datum/species/proc/calculate_burn_damage(mob/living/carbon/human/current_human) + var/burn_damage = 0 + var/firemodifier = current_human.fire_stacks / 50 + if (!current_human.on_fire) // We are not on fire, reduce the modifier + firemodifier = min(firemodifier, 0) + + // this can go below 5 at log 2.5 + burn_damage = max(log(2 - firemodifier, (current_human.bodytemperature - current_human.get_body_temp_normal(apply_change=FALSE))) - 2,0) + return burn_damage + /// Handle the air pressure of the environment /datum/species/proc/handle_environment_pressure(datum/gas_mixture/environment, mob/living/carbon/human/H) var/pressure = environment.return_pressure() @@ -1957,25 +2102,21 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/body_temp = H.bodytemperature // Get current body temperature var/body_temperature_difference = H.get_body_temp_normal() - body_temp var/natural_change = 0 - - // We are very cold, increate body temperature - if(body_temp <= bodytemp_cold_damage_limit) - natural_change = max((body_temperature_difference * H.metabolism_efficiency / bodytemp_autorecovery_divisor), \ - bodytemp_autorecovery_min) + var/recovery_temp = bodytemp_autorecovery_min + //if in crit, we struggle to regulate temperture. this will make extreme tempertures more dangerous to injured + if (H.stat > SOFT_CRIT) + recovery_temp = recovery_temp / 2 // we are cold, reduce the minimum increment and do not jump over the difference - else if(body_temp > bodytemp_cold_damage_limit && body_temp < H.get_body_temp_normal()) + if(body_temp > bodytemp_cold_damage_limit && body_temp < H.get_body_temp_normal()) natural_change = max(body_temperature_difference * H.metabolism_efficiency / bodytemp_autorecovery_divisor, \ - min(body_temperature_difference, bodytemp_autorecovery_min / 4)) + min(body_temperature_difference, recovery_temp / 4)) // We are hot, reduce the minimum increment and do not jump below the difference else if(body_temp > H.get_body_temp_normal() && body_temp <= bodytemp_heat_damage_limit) natural_change = min(body_temperature_difference * H.metabolism_efficiency / bodytemp_autorecovery_divisor, \ - max(body_temperature_difference, -(bodytemp_autorecovery_min / 4))) + max(body_temperature_difference, -(recovery_temp / 4))) - // We are very hot, reduce the body temperature - else if(body_temp >= bodytemp_heat_damage_limit) - natural_change = min((body_temperature_difference / bodytemp_autorecovery_divisor), -bodytemp_autorecovery_min) var/thermal_protection = H.get_insulation_protection(body_temp + natural_change) if(areatemp > body_temp) // It is hot here @@ -2000,6 +2141,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) // Apply the natural stabilization changes H.adjust_bodytemperature(natural_change) + return natural_change ////////// // FIRE // @@ -2062,9 +2204,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(thermal_protection >= FIRE_IMMUNITY_MAX_TEMP_PROTECT && !no_protection) return if(thermal_protection >= FIRE_SUIT_MAX_TEMP_PROTECT && !no_protection) - H.adjust_bodytemperature(11) + H.adjust_bodytemperature(3) else - H.adjust_bodytemperature(bodytemp_heating_rate_max + (H.fire_stacks * 12)) + H.adjust_bodytemperature(bodytemp_heating_rate_max + (H.fire_stacks * 5)) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "on_fire", /datum/mood_event/on_fire) /datum/species/proc/CanIgniteMob(mob/living/carbon/human/H) @@ -2304,3 +2446,5 @@ GLOBAL_LIST_EMPTY(roundstart_races) /datum/species/proc/get_harm_descriptors() return + +#undef MINIMUM_MOLS_TO_HARM diff --git a/code/modules/mob/living/carbon/human/species_types/IPC.dm b/code/modules/mob/living/carbon/human/species_types/IPC.dm index 9410111c9e4..14b8081e7c0 100644 --- a/code/modules/mob/living/carbon/human/species_types/IPC.dm +++ b/code/modules/mob/living/carbon/human/species_types/IPC.dm @@ -5,7 +5,7 @@ species_age_min = 0 species_age_max = 300 species_traits = list(NOTRANSSTING,NOEYESPRITES,NO_DNA_COPY,TRAIT_EASYDISMEMBER,NOZOMBIE,MUTCOLORS,REVIVESBYHEALING,NOHUSK,NOMOUTH,NO_BONES) //all of these + whatever we inherit from the real species - inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_VIRUSIMMUNE,TRAIT_NOBREATH,TRAIT_RADIMMUNE,TRAIT_GENELESS,TRAIT_LIMBATTACHMENT) + inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_VIRUSIMMUNE,TRAIT_NOBREATH,TRAIT_RADIMMUNE,TRAIT_GENELESS,TRAIT_LIMBATTACHMENT, TRAIT_METALLIC) inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID mutantbrain = /obj/item/organ/brain/mmi_holder/posibrain mutanteyes = /obj/item/organ/eyes/robotic @@ -32,7 +32,7 @@ attack_sound = 'sound/items/trayhit1.ogg' deathsound = "sound/voice/borg_deathsound.ogg" wings_icons = list("Robotic") - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP species_language_holder = /datum/language_holder/ipc loreblurb = "Integrated Positronic Chassis or \"IPC\" for short, are synthetic lifeforms composed of an Artificial \ Intelligence program encased in a bipedal robotic shell. They are fragile, allergic to EMPs, and the butt of endless toaster jokes. \ diff --git a/code/modules/mob/living/carbon/human/species_types/abductors.dm b/code/modules/mob/living/carbon/human/species_types/abductors.dm index 41bc6721755..229bdcb21c2 100644 --- a/code/modules/mob/living/carbon/human/species_types/abductors.dm +++ b/code/modules/mob/living/carbon/human/species_types/abductors.dm @@ -5,7 +5,7 @@ species_traits = list(NOBLOOD,NOEYESPRITES,NO_BONES) inherent_traits = list(TRAIT_VIRUSIMMUNE,TRAIT_CHUNKYFINGERS,TRAIT_NOHUNGER,TRAIT_NOBREATH) mutanttongue = /obj/item/organ/tongue/abductor - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN ass_image = 'icons/ass/assgrey.png' species_chest = /obj/item/bodypart/chest/abductor diff --git a/code/modules/mob/living/carbon/human/species_types/android.dm b/code/modules/mob/living/carbon/human/species_types/android.dm index 62304167451..6bb5956ae0a 100644 --- a/code/modules/mob/living/carbon/human/species_types/android.dm +++ b/code/modules/mob/living/carbon/human/species_types/android.dm @@ -11,7 +11,7 @@ reagent_tag = PROCESS_SYNTHETIC species_gibs = "robotic" attack_sound = 'sound/items/trayhit1.ogg' - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN /datum/species/android/on_species_gain(mob/living/carbon/C) . = ..() diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index 52e331eac37..eda30b5a280 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -17,19 +17,22 @@ brutemod = 1.25 //They're weak to punches attack_type = BURN //burn bish exotic_bloodtype = "E" - damage_overlay_type = "" //We are too cool for regular damage overlays species_age_max = 300 species_traits = list(DYNCOLORS, EYECOLOR, HAIR, FACEHAIR) - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN species_language_holder = /datum/language_holder/ethereal inherent_traits = list(TRAIT_NOHUNGER) sexes = FALSE //no fetish content allowed toxic_food = NONE // Body temperature for ethereals is much higher then humans as they like hotter environments bodytemp_normal = (HUMAN_BODYTEMP_NORMAL + 50) - bodytemp_heat_damage_limit = FIRE_MINIMUM_TEMPERATURE_TO_SPREAD // about 150C + bodytemp_heat_damage_limit = (HUMAN_BODYTEMP_NORMAL + 65) // Cold temperatures hurt faster as it is harder to move with out the heat energy - bodytemp_cold_damage_limit = (T20C - 10) // about 10c + bodytemp_cold_damage_limit = (HUMAN_BODYTEMP_NORMAL - 20) + + min_temp_comfortable = (HUMAN_BODYTEMP_NORMAL - 10) + max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 55 + hair_color = "fixedmutcolor" hair_alpha = 140 mutant_bodyparts = list("elzu_horns", "tail_elzu") @@ -146,7 +149,7 @@ _human.apply_damage(8,BRUTE,BODY_ZONE_CHEST) _human.apply_damage(8,BRUTE,BODY_ZONE_L_LEG) _human.apply_damage(8,BRUTE,BODY_ZONE_R_LEG) - _human.emote("scream") + _human.force_scream() _human.remove_status_effect(/datum/status_effect/rooted) return diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm index f5de9f873b3..7cf8d8ee3e4 100644 --- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm @@ -9,7 +9,7 @@ meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/fly disliked_food = null liked_food = GORE | RAW // Sure, the raw... the bloody... but I think stuff GROSS, like baseball burgers, are liked - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN species_language_holder = /datum/language_holder/fly species_chest = /obj/item/bodypart/chest/fly diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm index 882fffc9ff4..b45ec4b05f3 100644 --- a/code/modules/mob/living/carbon/human/species_types/humans.dm +++ b/code/modules/mob/living/carbon/human/species_types/humans.dm @@ -9,7 +9,7 @@ skinned_type = /obj/item/stack/sheet/animalhide/human disliked_food = GROSS | RAW | CLOTH liked_food = JUNKFOOD | FRIED | SUGAR - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP loreblurb = "Mostly hairless mammalians. Their home system, Sol, lies in a sort of \"bluespace dead-zone\" that blocks anything from entering or exiting Sol's dead-zone through bluespace without a relay. While it leaves Sol extremely well-defended, it meant that they went unnoticed and uncontacted until they were themselves able to breach it." /datum/species/human/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 14526059354..e70ec71ddd7 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -20,7 +20,7 @@ coldmod = 6 // = 3x cold damage heatmod = 0.5 // = 1/4x heat damage burnmod = 0.5 // = 1/2x generic burn damage - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN inherent_factions = list("slime") species_language_holder = /datum/language_holder/jelly ass_image = 'icons/ass/assslime.png' @@ -222,7 +222,7 @@ species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD) hair_color = "mutcolor" hair_alpha = 150 - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | RACE_SWAP | ERT_SPAWN var/datum/action/innate/split_body/slime_split var/list/mob/living/carbon/bodies var/datum/action/innate/swap_body/swap_body @@ -517,50 +517,22 @@ id = SPECIES_LUMINESCENT var/glow_intensity = LUMINESCENT_DEFAULT_GLOW var/obj/effect/dummy/luminescent_glow/glow - var/obj/item/slime_extract/current_extract - var/datum/action/innate/integrate_extract/integrate_extract - var/datum/action/innate/use_extract/extract_minor - var/datum/action/innate/use_extract/major/extract_major - var/extract_cooldown = 0 - examine_limb_id = SPECIES_JELLYPERSON //Species datums don't normally implement destroy, but JELLIES SUCK ASS OUT OF A STEEL STRAW -/datum/species/jelly/luminescent/Destroy(force, ...) - current_extract = null +/datum/species/jelly/luminescent/Destroy(force) QDEL_NULL(glow) - QDEL_NULL(integrate_extract) - QDEL_NULL(extract_major) - QDEL_NULL(extract_minor) return ..() /datum/species/jelly/luminescent/on_species_loss(mob/living/carbon/C) ..() - if(current_extract) - current_extract.forceMove(C.drop_location()) - current_extract = null QDEL_NULL(glow) - QDEL_NULL(integrate_extract) - QDEL_NULL(extract_major) - QDEL_NULL(extract_minor) /datum/species/jelly/luminescent/on_species_gain(mob/living/carbon/C, datum/species/old_species) ..() glow = new(C) update_glow(C) - integrate_extract = new(src) - integrate_extract.Grant(C) - extract_minor = new(src) - extract_minor.Grant(C) - extract_major = new(src) - extract_major.Grant(C) - -/datum/species/jelly/luminescent/proc/update_slime_actions() - integrate_extract.update_name() - integrate_extract.UpdateButtonIcon() - extract_minor.UpdateButtonIcon() - extract_major.UpdateButtonIcon() /datum/species/jelly/luminescent/proc/update_glow(mob/living/carbon/C, intensity) if(intensity) @@ -581,108 +553,6 @@ if(!isliving(loc)) return INITIALIZE_HINT_QDEL - -/datum/action/innate/integrate_extract - name = "Integrate Extract" - desc = "Eat a slime extract to use its properties." - check_flags = AB_CHECK_CONSCIOUS - button_icon_state = "slimeconsume" - icon_icon = 'icons/mob/actions/actions_slime.dmi' - background_icon_state = "bg_alien" - -/datum/action/innate/integrate_extract/proc/update_name() - var/datum/species/jelly/luminescent/species = target - if(!species || !species.current_extract) - name = "Integrate Extract" - desc = "Eat a slime extract to use its properties." - else - name = "Eject Extract" - desc = "Eject your current slime extract." - -/datum/action/innate/integrate_extract/UpdateButtonIcon(status_only, force) - var/datum/species/jelly/luminescent/species = target - if(!species || !species.current_extract) - button_icon_state = "slimeconsume" - else - button_icon_state = "slimeeject" - ..() - -/datum/action/innate/integrate_extract/ApplyIcon(atom/movable/screen/movable/action_button/current_button, force) - ..(current_button, TRUE) - var/datum/species/jelly/luminescent/species = target - if(species?.current_extract) - current_button.add_overlay(mutable_appearance(species.current_extract.icon, species.current_extract.icon_state)) - -/datum/action/innate/integrate_extract/Activate() - var/mob/living/carbon/human/H = owner - var/datum/species/jelly/luminescent/species = target - if(!is_species(H, /datum/species/jelly/luminescent) || !species) - return - CHECK_DNA_AND_SPECIES(H) - - if(species.current_extract) - var/obj/item/slime_extract/S = species.current_extract - if(!H.put_in_active_hand(S)) - S.forceMove(H.drop_location()) - species.current_extract = null - to_chat(H, "You eject [S].") - species.update_slime_actions() - else - var/obj/item/I = H.get_active_held_item() - if(istype(I, /obj/item/slime_extract)) - var/obj/item/slime_extract/S = I - if(!S.Uses) - to_chat(H, "[I] is spent! You cannot integrate it.") - return - if(!H.temporarilyRemoveItemFromInventory(S)) - return - S.forceMove(H) - species.current_extract = S - to_chat(H, "You consume [I], and you feel it pulse within you...") - species.update_slime_actions() - else - to_chat(H, "You need to hold an unused slime extract in your active hand!") - -/datum/action/innate/use_extract - name = "Extract Minor Activation" - desc = "Pulse the slime extract with energized jelly to activate it." - check_flags = AB_CHECK_CONSCIOUS - button_icon_state = "slimeuse1" - icon_icon = 'icons/mob/actions/actions_slime.dmi' - background_icon_state = "bg_alien" - var/activation_type = SLIME_ACTIVATE_MINOR - -/datum/action/innate/use_extract/IsAvailable() - if(..()) - var/datum/species/jelly/luminescent/species = target - if(species && species.current_extract && (world.time > species.extract_cooldown)) - return TRUE - return FALSE - -/datum/action/innate/use_extract/ApplyIcon(atom/movable/screen/movable/action_button/current_button, force) - ..(current_button, TRUE) - var/datum/species/jelly/luminescent/species = owner - if(species?.current_extract) - current_button.add_overlay(mutable_appearance(species.current_extract.icon, species.current_extract.icon_state)) - -/datum/action/innate/use_extract/Activate() - var/mob/living/carbon/human/H = owner - var/datum/species/jelly/luminescent/species = owner - if(!is_species(H, /datum/species/jelly/luminescent) || !species) - return - CHECK_DNA_AND_SPECIES(H) - - if(species.current_extract) - species.extract_cooldown = world.time + 100 - var/cooldown = species.current_extract.activate(H, species, activation_type) - species.extract_cooldown = world.time + cooldown - -/datum/action/innate/use_extract/major - name = "Extract Major Activation" - desc = "Pulse the slime extract with plasma jelly to activate it." - button_icon_state = "slimeuse2" - activation_type = SLIME_ACTIVATE_MAJOR - ///////////////////////////////////STARGAZERS////////////////////////////////////////// //Stargazers are the telepathic branch of jellypeople, able to project psychic messages and to link minds with willing participants. diff --git a/code/modules/mob/living/carbon/human/species_types/kepori.dm b/code/modules/mob/living/carbon/human/species_types/kepori.dm index 7e76fff79c1..501f0b35751 100644 --- a/code/modules/mob/living/carbon/human/species_types/kepori.dm +++ b/code/modules/mob/living/carbon/human/species_types/kepori.dm @@ -9,7 +9,7 @@ meat = /obj/item/reagent_containers/food/snacks/meat/slab/chicken disliked_food = FRIED | GROSS | CLOTH liked_food = MEAT | GORE - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP loreblurb = "Kepori are a species covered in feathers vaguely reminiscent of earth’s extinct troodontidae. They’re small and sometimes seen as weak by other species due to their hollow bones but make up for that in speed and reflexes. They tend to woop when excited, scared, or for any other reason at all." attack_verb = "slash" attack_sound = 'sound/weapons/slash.ogg' @@ -18,12 +18,19 @@ species_eye_path = 'icons/mob/species/kepori/kepori_eyes.dmi' heatmod = 0.67 coldmod = 1.5 - brutemod = 1.5 - burnmod = 1.5 - speedmod = -0.25 - bodytemp_normal = HUMAN_BODYTEMP_NORMAL + 30 - bodytemp_heat_damage_limit = HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT + 30 - bodytemp_cold_damage_limit = HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT + 30 + // brutemod = 1.5 + // burnmod = 1.5 + speedmod = -0.10 + + bodytemp_heat_damage_limit = HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT + 35 + bodytemp_cold_damage_limit = HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT + 3 + + max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 15 + min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 1 + + bodytemp_autorecovery_divisor = HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR - 4 + + mutanttongue = /obj/item/organ/tongue/kepori species_language_holder = /datum/language_holder/kepori var/datum/action/innate/keptackle/keptackle @@ -59,6 +66,9 @@ robotic_eyes = /obj/item/organ/eyes/robotic/kepori + //I'm not emotionally prepared to spend ten more hours splicing overlays together + damage_overlay_type = "" + /datum/species/kepori/New() . = ..() // This is in new because "[HEAD_LAYER]" etc. is NOT a constant compile-time value. For some reason. @@ -123,14 +133,19 @@ /datum/species/kepori/can_equip(obj/item/I, slot, disable_warning, mob/living/carbon/human/H, bypass_equip_delay_self, swap) if(..()) //If it already fits, then it's fine. return TRUE - if(slot == ITEM_SLOT_MASK) - if(H.wear_mask && !swap) - return FALSE - if(I.w_class > WEIGHT_CLASS_SMALL) - return FALSE - if(!H.get_bodypart(BODY_ZONE_HEAD)) - return FALSE - return equip_delay_self_check(I, H, bypass_equip_delay_self) + if(slot != ITEM_SLOT_MASK) + return FALSE + //Blocks all items that are equippable to other slots. (block anything with a flag that ISN'T item_slot_mask) + if(I.slot_flags & ~ITEM_SLOT_KEPORI_BEAK) + return FALSE + if(H.wear_mask && !swap) + return FALSE + if(I.w_class > WEIGHT_CLASS_SMALL) + return FALSE + //ya ain't got no biters to put it in sir + if(!H.get_bodypart(BODY_ZONE_HEAD)) + return FALSE + return equip_delay_self_check(I, H, bypass_equip_delay_self) /datum/species/kepori/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) . = ..() diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index f11948c5f5c..74fe155f097 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -14,7 +14,7 @@ species_age_min = 22 species_age_max = 200 default_features = list("mcolor" = "0F0", "tail_lizard" = "Smooth", "face_markings" = "None", "horns" = "None", "frills" = "None", "spines" = "None", "body_markings" = "None", "legs" = "Normal Legs", "body_size" = "Normal") - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN attack_verb = "slash" attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' @@ -48,6 +48,8 @@ // Lizards are coldblooded and can stand a greater temperature range than humans bodytemp_heat_damage_limit = HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT + 20 bodytemp_cold_damage_limit = HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT - 10 + max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 20 + min_temp_comfortable = HUMAN_BODYTEMP_NORMAL loreblurb = "The Sinta'Unathi are a cold-blooded reptilian species originating from the harsh mainland of the planet Moghes, in the Uuoea-Esa system. A warrior culture with emphasis on honor, family, and loyalty to one's clan, the divided Sinta'Unathi find themselves as powerful a force as any other species despite their less than hospitable homeworld." ass_image = 'icons/ass/asslizard.png' @@ -91,7 +93,7 @@ /// Lizards are cold blooded and do not stabilize body temperature naturally /datum/species/lizard/natural_bodytemperature_stabilization(datum/gas_mixture/environment, mob/living/carbon/human/H) - return + return 0 /datum/species/lizard/random_name(gender,unique,lastname) if(unique) diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm index 91169299afb..e612b3bbe2f 100644 --- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -1,5 +1,5 @@ /datum/species/moth - name = "\improper Mothperson" + name = "\improper Moth" id = SPECIES_MOTH default_color = "00FF00" species_traits = list(LIPS, NOEYESPRITES, TRAIT_ANTENNAE, HAIR, EMOTE_OVERLAY) @@ -16,7 +16,7 @@ toxic_food = MEAT | RAW | GORE mutanteyes = /obj/item/organ/eyes/compound //WS Edit - Compound eyes mutanttongue = /obj/item/organ/tongue/moth //WS Edit - Insectoid language - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP species_language_holder = /datum/language_holder/moth loreblurb = "Bug-mammal hybrids resembling Sol's lepidopterans. They share the least DNA with baseline humans of any human-derived geneline, being significant portions insect and modified whole-cloth DNA. Their classification as another human geneline or as something else is highly debated. All evidence that would point to their origin– which is presumably a genelab somewhere– has seemingly disappeared into thin air. Mothpeople themselves have no centralized culture or homeworld, leading to a fractured existence amongst the stars." wings_icons = list("Megamoth", "Mothra") @@ -30,6 +30,9 @@ species_l_leg = /obj/item/bodypart/leg/left/moth species_r_leg = /obj/item/bodypart/leg/right/moth + min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 2 + bodytemp_cold_damage_limit = HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT - 2 + /datum/species/moth/regenerate_organs(mob/living/carbon/C, datum/species/old_species,replace_current=TRUE, list/excluded_zones, robotic = FALSE) . = ..() if(ishuman(C)) diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index daa645a662a..fe017fdd2a8 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -4,7 +4,10 @@ id = SPECIES_POD default_color = "59CE00" species_traits = list(MUTCOLORS,EYECOLOR) - inherent_traits = list(TRAIT_ALWAYS_CLEAN) + inherent_traits = list( + TRAIT_ALWAYS_CLEAN, + TRAIT_PLANT_SAFE, + ) inherent_factions = list("plants", "vines") fixed_mut_color = "59CE00" attack_verb = "slash" @@ -15,7 +18,7 @@ meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/plant disliked_food = MEAT | DAIRY liked_food = VEGETABLES | FRUIT | GRAIN | CLOTH //cannibals apparentely - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | RACE_SWAP | ERT_SPAWN species_language_holder = /datum/language_holder/plant species_chest = /obj/item/bodypart/chest/pod diff --git a/code/modules/mob/living/carbon/human/species_types/snail.dm b/code/modules/mob/living/carbon/human/species_types/snail.dm index 4d9d41bd411..5f47ab21e47 100644 --- a/code/modules/mob/living/carbon/human/species_types/snail.dm +++ b/code/modules/mob/living/carbon/human/species_types/snail.dm @@ -12,7 +12,6 @@ siemens_coeff = 2 //snails are mostly water changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | RACE_SWAP sexes = FALSE //snails are hermaphrodites - var/shell_type = /obj/item/storage/backpack/snail mutanteyes = /obj/item/organ/eyes/snail mutanttongue = /obj/item/organ/tongue/snail @@ -41,38 +40,8 @@ /datum/species/snail/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) . = ..() - var/obj/item/storage/backpack/bag = C.get_item_by_slot(ITEM_SLOT_BACK) - if(!istype(bag, /obj/item/storage/backpack/snail)) - if(C.dropItemToGround(bag)) //returns TRUE even if its null - C.equip_to_slot_or_del(new /obj/item/storage/backpack/snail(C), ITEM_SLOT_BACK) C.AddElement(/datum/element/snailcrawl) /datum/species/snail/on_species_loss(mob/living/carbon/C) . = ..() C.RemoveElement(/datum/element/snailcrawl) - var/obj/item/storage/backpack/bag = C.get_item_by_slot(ITEM_SLOT_BACK) - if(istype(bag, /obj/item/storage/backpack/snail)) - bag.emptyStorage() - C.temporarilyRemoveItemFromInventory(bag, TRUE) - qdel(bag) - -/obj/item/storage/backpack/snail - name = "snail shell" - desc = "Worn by snails as armor and storage compartment." - icon_state = "snailshell" - item_state = "snailshell" - lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi' - armor = list("melee" = 40, "bullet" = 30, "laser" = 30, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 50) - max_integrity = 200 - resistance_flags = FIRE_PROOF | ACID_PROOF - -/obj/item/storage/backpack/snail/dropped(mob/user, silent) - . = ..() - emptyStorage() - if(!QDELETED(src)) - qdel(src) - -/obj/item/storage/backpack/snail/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, "snailshell") diff --git a/code/modules/mob/living/carbon/human/species_types/spider.dm b/code/modules/mob/living/carbon/human/species_types/spider.dm index 764a7166ff2..1b66c952172 100644 --- a/code/modules/mob/living/carbon/human/species_types/spider.dm +++ b/code/modules/mob/living/carbon/human/species_types/spider.dm @@ -56,7 +56,7 @@ GLOBAL_LIST_INIT(spider_last, world.file2list("strings/names/spider_last.txt")) toxic_food = VEGETABLES | DAIRY | CLOTH mutanteyes = /obj/item/organ/eyes/night_vision/spider mutanttongue = /obj/item/organ/tongue/spider - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP species_language_holder = /datum/language_holder/spider loreblurb = "Rachnids are aliens with coincidental physiological similarities to Sol's spiders. Despite visible adaptations that would make them excellent hunters, modern Rachnidian culture revolves around honing the skills and talents of oneself, treating them as forms of self-expression. Rachnids tend to focus on their work intensely, priding themselves on a job well done and languishing if they see themselves as underperforming in their field." var/web_cooldown = 30 diff --git a/code/modules/mob/living/carbon/human/species_types/vox.dm b/code/modules/mob/living/carbon/human/species_types/vox.dm index b9cc8306762..4f63158cb29 100644 --- a/code/modules/mob/living/carbon/human/species_types/vox.dm +++ b/code/modules/mob/living/carbon/human/species_types/vox.dm @@ -3,7 +3,6 @@ name = "\improper Vox" id = SPECIES_VOX default_color = "6060FF" - species_age_min = 17 species_age_max = 280 species_traits = list(EYECOLOR, NO_UNDERWEAR) mutant_bodyparts = list("vox_head_quills", "vox_neck_quills") @@ -11,13 +10,13 @@ meat = /obj/item/reagent_containers/food/snacks/meat/slab/chicken disliked_food = GRAIN liked_food = MEAT - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - loreblurb = "Vox test" + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP + loreblurb = "Vox are a big bird-like species with quills, much larger and much more long-lasting than other species. Sadly, not much else is known." attack_verb = "slash" attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' species_clothing_path = 'icons/mob/clothing/species/vox.dmi' - species_eye_path = 'icons/mob/vox_parts.dmi' + species_eye_path = 'icons/mob/species/vox/vox_parts.dmi' punchdamagelow = 6 punchdamagehigh = 12 mutanttongue = /obj/item/organ/tongue/vox @@ -27,8 +26,17 @@ bodytemp_cold_divisor = VOX_BODYTEMP_COLD_DIVISOR bodytemp_autorecovery_min = VOX_BODYTEMP_AUTORECOVERY_MIN + max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 1 + min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 20 + + bodytemp_heat_damage_limit = HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT + 10 + bodytemp_cold_damage_limit = HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT - 20 + bodytype = BODYTYPE_VOX + custom_overlay_icon = 'icons/mob/species/vox/vox_overlays.dmi' + damage_overlay_type = "vox" + species_chest = /obj/item/bodypart/chest/vox species_head = /obj/item/bodypart/head/vox species_l_arm = /obj/item/bodypart/l_arm/vox diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 0f3ab70e403..1857baa3f1d 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -150,8 +150,8 @@ There are several things that need to be remembered: else if(dna.species.bodytype & BODYTYPE_KEPORI) if(U.supports_variations & KEPORI_VARIATION) icon_file = KEPORI_UNIFORM_PATH - if(U.kepoi_override_icon) - icon_file = U.kepoi_override_icon + if(U.kepori_override_icon) + icon_file = U.kepori_override_icon else handled_by_bodytype = TRUE @@ -205,12 +205,16 @@ There are several things that need to be remembered: //Bloody hands begin if(!gloves && blood_in_hands && (num_hands > 0)) - var/mutable_appearance/bloody_overlay = mutable_appearance('icons/effects/blood.dmi', "bloodyhands", -GLOVES_LAYER) + var/overlay_file = 'icons/effects/blood.dmi' + var/custom_overlay_icon = dna.species.custom_overlay_icon + if(custom_overlay_icon) + overlay_file = custom_overlay_icon + var/mutable_appearance/bloody_overlay = mutable_appearance(overlay_file, "handsblood", -GLOVES_LAYER) if(num_hands < 2) if(has_left_hand(FALSE)) - bloody_overlay.icon_state = "bloodyhands_left" + bloody_overlay.icon_state = "handsblood_left" else if(has_right_hand(FALSE)) - bloody_overlay.icon_state = "bloodyhands_right" + bloody_overlay.icon_state = "handsblood_right" var/list/blood_dna = return_blood_DNA() if(length(blood_dna)) bloody_overlay.color = get_blood_dna_color(return_blood_DNA()) @@ -243,8 +247,8 @@ There are several things that need to be remembered: else if(dna.species.bodytype & BODYTYPE_KEPORI) if(I.supports_variations & KEPORI_VARIATION) icon_file = KEPORI_GLOVES_PATH - if(I.kepoi_override_icon) - icon_file = I.kepoi_override_icon + if(I.kepori_override_icon) + icon_file = I.kepori_override_icon else handled_by_bodytype = TRUE @@ -295,8 +299,8 @@ There are several things that need to be remembered: else if(dna.species.bodytype & BODYTYPE_KEPORI) if(I.supports_variations & KEPORI_VARIATION) icon_file = KEPORI_GLASSES_PATH - if(I.kepoi_override_icon) - icon_file = I.kepoi_override_icon + if(I.kepori_override_icon) + icon_file = I.kepori_override_icon else handled_by_bodytype = TRUE @@ -346,8 +350,8 @@ There are several things that need to be remembered: else if(dna.species.bodytype & BODYTYPE_KEPORI) if(I.supports_variations & KEPORI_VARIATION) icon_file = KEPORI_EARS_PATH - if(I.kepoi_override_icon) - icon_file = I.kepoi_override_icon + if(I.kepori_override_icon) + icon_file = I.kepori_override_icon else handled_by_bodytype = TRUE @@ -407,8 +411,8 @@ There are several things that need to be remembered: else if(dna.species.bodytype & BODYTYPE_KEPORI) if(I.supports_variations & KEPORI_VARIATION) icon_file = KEPORI_SHOES_PATH - if(I.kepoi_override_icon) - icon_file = I.kepoi_override_icon + if(I.kepori_override_icon) + icon_file = I.kepori_override_icon else handled_by_bodytype = TRUE @@ -507,8 +511,8 @@ There are several things that need to be remembered: else if(dna.species.bodytype & BODYTYPE_KEPORI) if(I.supports_variations & KEPORI_VARIATION) icon_file = KEPORI_HEAD_PATH - if(I.kepoi_override_icon) - icon_file = I.kepoi_override_icon + if(I.kepori_override_icon) + icon_file = I.kepori_override_icon else handled_by_bodytype = TRUE @@ -557,8 +561,8 @@ There are several things that need to be remembered: else if(dna.species.bodytype & BODYTYPE_KEPORI) if(I.supports_variations & KEPORI_VARIATION) icon_file = KEPORI_BELT_PATH - if(I.kepoi_override_icon) - icon_file = I.kepoi_override_icon + if(I.kepori_override_icon) + icon_file = I.kepori_override_icon else handled_by_bodytype = TRUE @@ -615,8 +619,8 @@ There are several things that need to be remembered: else if(dna.species.bodytype & BODYTYPE_KEPORI) if(I.supports_variations & KEPORI_VARIATION) icon_file = KEPORI_SUIT_PATH - if(I.kepoi_override_icon) - icon_file = I.kepoi_override_icon + if(I.kepori_override_icon) + icon_file = I.kepori_override_icon else handled_by_bodytype = TRUE @@ -687,6 +691,9 @@ There are several things that need to be remembered: if((head_bodypart.bodytype & BODYTYPE_SNOUT) && (I.supports_variations & SNOUTED_VARIATION)) target_overlay = "[target_overlay]_snouted" + if((head_bodypart.bodytype & BODYTYPE_SNOUT_SMALL) && (I.supports_variations & SNOUTED_SMALL_VARIATION)) + target_overlay = "[target_overlay]_snouted_small" + if(dna.species.bodytype & BODYTYPE_VOX) if(I.supports_variations & VOX_VARIATION) icon_file = VOX_MASK_PATH @@ -698,8 +705,8 @@ There are several things that need to be remembered: else if(dna.species.bodytype & BODYTYPE_KEPORI) if(I.supports_variations & KEPORI_VARIATION) icon_file = KEPORI_MASK_PATH - if(I.kepoi_override_icon) - icon_file = I.kepoi_override_icon + if(I.kepori_override_icon) + icon_file = I.kepori_override_icon else handled_by_bodytype = TRUE @@ -739,15 +746,16 @@ There are several things that need to be remembered: update_hud_neck(I) + if(!(ITEM_SLOT_NECK in check_obscured_slots())) - if(dna.species.bodytype & BODYTYPE_VOX) // there is neither a vox or kepori neck path, we just tell it to greyscale no matter what -// if(I.supports_variations & VOX_VARIATION) -// icon_file = VOX_NECK_PATH -// if(I.vox_override_icon) -// icon_file = I.vox_override_icon -// else - handled_by_bodytype = TRUE + if(dna.species.bodytype & BODYTYPE_VOX) // there is no kepori neck path, we just tell it to greyscale no matter what + if(I.supports_variations & VOX_VARIATION) + icon_file = VOX_NECK_PATH + if(I.vox_override_icon) + icon_file = I.vox_override_icon + else + handled_by_bodytype = TRUE else if(dna.species.bodytype & BODYTYPE_KEPORI) // if(I.supports_variations & KEPORI_VARIATION) @@ -798,13 +806,15 @@ There are several things that need to be remembered: handled_by_bodytype = TRUE else if(dna.species.bodytype & BODYTYPE_KEPORI) -// if(I.supports_variations & KEPORI_VARIATION) -// icon_file = KEPORI_BACK_PATH -// else - handled_by_bodytype = TRUE + if(I.supports_variations & KEPORI_VARIATION) + icon_file = KEPORI_BACK_PATH + if(I.kepori_override_icon) + icon_file = I.kepori_override_icon + else + handled_by_bodytype = TRUE if(!icon_exists(icon_file, RESOLVE_ICON_STATE(I))) - icon_file = DEFAULT_BACK_PATH + icon_file = I.mob_overlay_icon ? I.mob_overlay_icon : DEFAULT_BACK_PATH handled_by_bodytype = TRUE var/use_autogen = handled_by_bodytype ? dna.species : null diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm index d5b97a942da..9525ebd6ec9 100644 --- a/code/modules/mob/living/carbon/inventory.dm +++ b/code/modules/mob/living/carbon/inventory.dm @@ -14,6 +14,30 @@ return legcuffed return null +/mob/living/carbon/get_slot_by_item(obj/item/looking_for) + if(looking_for == back) + return ITEM_SLOT_BACK + + if(back && (looking_for in back)) + return ITEM_SLOT_BACKPACK + + if(looking_for == wear_mask) + return ITEM_SLOT_MASK + + if(looking_for == wear_neck) + return ITEM_SLOT_NECK + + if(looking_for == head) + return ITEM_SLOT_HEAD + + if(looking_for == handcuffed) + return ITEM_SLOT_HANDCUFFED + + if(looking_for == legcuffed) + return ITEM_SLOT_LEGCUFFED + + return ..() + /mob/living/carbon/proc/equip_in_one_of_slots(obj/item/I, list/slots, qdel_on_fail = 1) for(var/slot in slots) if(equip_to_slot_if_possible(I, slots[slot], qdel_on_fail = 0, disable_warning = TRUE)) diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index c5145600bbf..45145704a4a 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -176,7 +176,7 @@ var/oxygen_used = 0 var/moles = breath.total_moles() var/breath_pressure = (moles*R_IDEAL_GAS_EQUATION*breath.return_temperature())/BREATH_VOLUME - var/O2_partialpressure = ((breath.get_moles(GAS_O2)/moles)*breath_pressure) + (((breath.get_moles(GAS_PLUOXIUM)*8)/moles)*breath_pressure) + var/O2_partialpressure = ((breath.get_moles(GAS_O2)/moles)*breath_pressure) + (((breath.get_moles(GAS_O3)*2)/moles)*breath_pressure) var/Toxins_partialpressure = (breath.get_moles(GAS_PLASMA)/moles)*breath_pressure var/CO2_partialpressure = (breath.get_moles(GAS_CO2)/moles)*breath_pressure @@ -261,11 +261,6 @@ var/tritium_partialpressure = (breath.get_moles(GAS_TRITIUM)/breath.total_moles())*breath_pressure radiation += tritium_partialpressure/10 - //NITRYL - if(breath.get_moles(GAS_NITRYL)) - var/nitryl_partialpressure = (breath.get_moles(GAS_NITRYL)/breath.total_moles())*breath_pressure - adjustFireLoss(nitryl_partialpressure/4) - //FREON if(breath.get_moles(GAS_FREON)) var/freon_partialpressure = (breath.get_moles(GAS_FREON)/breath.total_moles())*breath_pressure @@ -477,10 +472,8 @@ All effects don't start immediately, but rather get worse over time; the rate is if(drunkenness) drunkenness = max(drunkenness - (drunkenness * 0.04) - 0.01, 0) - if(drunkenness >= 6) + if(drunkenness >= 11) SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "drunk", /datum/mood_event/drunk) - if(prob(25)) - slurring += 2 jitteriness = max(jitteriness - 3, 0) throw_alert("drunk", /atom/movable/screen/alert/drunk) sound_environment_override = SOUND_ENVIRONMENT_PSYCHOTIC @@ -489,8 +482,8 @@ All effects don't start immediately, but rather get worse over time; the rate is clear_alert("drunk") sound_environment_override = SOUND_ENVIRONMENT_NONE - if(drunkenness >= 11 && slurring < 5) - slurring += 1.2 + if(drunkenness >= 31 && slurring < 5) + slurring += 0.5 if(drunkenness >= 41) if(prob(25)) @@ -658,6 +651,7 @@ All effects don't start immediately, but rather get worse over time; the rate is if(bodytemperature >= min_temp && bodytemperature <= max_temp) bodytemperature = clamp(bodytemperature + amount,min_temp,max_temp) + return amount ///////// diff --git a/code/modules/mob/living/carbon/status_procs.dm b/code/modules/mob/living/carbon/status_procs.dm index cc15c12d836..5ab2c57be0f 100644 --- a/code/modules/mob/living/carbon/status_procs.dm +++ b/code/modules/mob/living/carbon/status_procs.dm @@ -17,6 +17,7 @@ ADD_TRAIT(src, TRAIT_INCAPACITATED, STAMINA) ADD_TRAIT(src, TRAIT_IMMOBILIZED, STAMINA) ADD_TRAIT(src, TRAIT_FLOORED, STAMINA) + ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, STAMINA) if((maxHealth - health + getStaminaLoss()) > 120) // Puts you a little further into the initial stamcrit, makes stamcrit harder to outright counter with chems. //WS Edit - Stamina stacks with health damage adjustStaminaLoss(30, FALSE) diff --git a/code/modules/mob/living/carbon/update_icons.dm b/code/modules/mob/living/carbon/update_icons.dm index c80c9a821fd..6763427db8e 100644 --- a/code/modules/mob/living/carbon/update_icons.dm +++ b/code/modules/mob/living/carbon/update_icons.dm @@ -94,6 +94,7 @@ apply_overlay(FIRE_LAYER) /mob/living/carbon/update_damage_overlays() + remove_overlay(DAMAGE_LAYER) var/mutable_appearance/damage_overlay = mutable_appearance('icons/mob/dam_mob.dmi', "blank", -DAMAGE_LAYER) @@ -102,12 +103,13 @@ for(var/obj/item/bodypart/BP as anything in bodyparts) if(BP.dmg_overlay_type) if(BP.brutestate) - var/image/brute_overlay = image('icons/mob/dam_mob.dmi', "[BP.dmg_overlay_type]_[BP.body_zone]_[BP.brutestate]0") + var/image/brute_overlay = image(BP.dmg_overlay_icon, "[BP.dmg_overlay_type]_[BP.body_zone]_[BP.brutestate]0") if(BP.use_damage_color) brute_overlay.color = BP.damage_color damage_overlay.add_overlay(brute_overlay) if(BP.burnstate) - damage_overlay.add_overlay("[BP.dmg_overlay_type]_[BP.body_zone]_0[BP.burnstate]") + var/image/burn_overlay = image(BP.dmg_overlay_icon, "[BP.dmg_overlay_type]_[BP.body_zone]_[BP.burnstate]0") + damage_overlay.add_overlay(burn_overlay) apply_overlay(DAMAGE_LAYER) @@ -211,6 +213,9 @@ //eg: ammo counters, primed grenade flashing, etc. //"icon_file" is used automatically for inhands etc. to make sure it gets the right inhand file /obj/item/proc/worn_overlays(isinhands = FALSE, icon_file) + SHOULD_CALL_PARENT(TRUE) + RETURN_TYPE(/list) + . = list() diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 6615edb051f..0687d90da75 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -1,4 +1,4 @@ -/mob/living/gib(no_brain, no_organs, no_bodyparts) +/mob/living/gib(no_brain, no_organs, no_bodyparts, safe_gib = FALSE) var/prev_lying = lying_angle if(stat != DEAD) death(TRUE) @@ -12,7 +12,8 @@ spread_bodyparts(no_brain, no_organs) spawn_gibs(no_bodyparts) - qdel(src) + if(!safe_gib) + qdel(src) /mob/living/proc/gib_animation() return diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index a2502529449..c054b7d50bf 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -122,7 +122,7 @@ return /mob/living/proc/handle_gravity() - var/gravity = mob_has_gravity() + var/gravity = has_gravity() update_gravity(gravity) if(gravity > STANDARD_GRAVITY) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 7ffe22bbf1b..5e3442ba039 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -9,6 +9,7 @@ diag_hud.add_to_hud(src) faction += "[REF(src)]" GLOB.mob_living_list += src + SSpoints_of_interest.make_point_of_interest(src) if(speed) update_living_varspeed() @@ -97,6 +98,7 @@ if(m_intent == MOVE_INTENT_WALK) return TRUE + SEND_SIGNAL(src, COMSIG_LIVING_MOB_BUMP, M) //Even if we don't push/swap places, we "touched" them, so spread fire spreadFire(M) @@ -833,7 +835,7 @@ return pick("trails_1", "trails_2") /mob/living/experience_pressure_difference(pressure_difference, direction, pressure_resistance_prob_delta = 0) - if(buckled) + if(buckled || mob_negates_gravity()) return if(client && client.move_delay >= world.time + world.tick_lag*2) pressure_resistance_prob_delta -= 30 @@ -1133,24 +1135,6 @@ /mob/living/carbon/alien/update_stamina() return -/mob/living/proc/owns_soul() - if(mind) - return mind.soulOwner == mind - return TRUE - -/mob/living/proc/return_soul() - hellbound = 0 - if(mind) - var/datum/antagonist/devil/devilInfo = mind.soulOwner.has_antag_datum(/datum/antagonist/devil) - if(devilInfo)//Not sure how this could be null, but let's just try anyway. - devilInfo.remove_soul(mind) - mind.soulOwner = mind - -/mob/living/proc/check_acedia() - if(mind && mind.has_objective(/datum/objective/sintouched/acedia)) - return TRUE - return FALSE - /mob/living/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback, force, gentle = FALSE, quickstart = TRUE) stop_pulling() . = ..() @@ -1165,13 +1149,6 @@ mind.transfer_to(new_mob) else new_mob.key = key - - for(var/para in hasparasites()) - var/mob/living/simple_animal/hostile/guardian/G = para - G.summoner = new_mob - G.Recall() - to_chat(G, "Your summoner has changed form!") - /mob/living/rad_act(amount) . = ..() @@ -1812,12 +1789,15 @@ GLOBAL_VAR_INIT(ssd_indicator_overlay, mutable_appearance('icons/mob/ssd_indicat /// Changes the value of the [living/body_position] variable. -/mob/living/proc/set_body_position(new_value) +/mob/living/proc/set_body_position(new_value, fall_sound_played) if(body_position == new_value) return . = body_position body_position = new_value if(new_value == LYING_DOWN) // From standing to lying down. + if(has_gravity() && m_intent != MOVE_INTENT_WALK) + playsound(src, "bodyfall", 50, TRUE) // Will play the falling sound if not walking + fall_sound_played = TRUE on_lying_down() else // From lying down to standing up. on_standing_up() diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 2ed00efe2e4..69cc19760dd 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -392,32 +392,6 @@ gib() return 20 -/mob/living/narsie_act() - if(status_flags & GODMODE || QDELETED(src)) - return - - if(GLOB.cult_narsie && GLOB.cult_narsie.souls_needed[src]) - GLOB.cult_narsie.souls_needed -= src - GLOB.cult_narsie.souls += 1 - if((GLOB.cult_narsie.souls == GLOB.cult_narsie.soul_goal) && (GLOB.cult_narsie.resolved == FALSE)) - GLOB.cult_narsie.resolved = TRUE - sound_to_playing_players('sound/machines/alarm.ogg') - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(cult_ending_helper), 1), 120) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ending_helper)), 270) - if(client) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/harvester, src, cultoverride = TRUE) - else - switch(rand(1, 3)) - if(1) - new /mob/living/simple_animal/hostile/construct/juggernaut/hostile(get_turf(src)) - if(2) - new /mob/living/simple_animal/hostile/construct/wraith/hostile(get_turf(src)) - if(3) - new /mob/living/simple_animal/hostile/construct/artificer/hostile(get_turf(src)) - spawn_dust() - gib() - return TRUE - //called when the mob receives a bright flash /mob/living/proc/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /atom/movable/screen/fullscreen/flash) if(HAS_TRAIT(src, TRAIT_NOFLASH)) diff --git a/code/modules/mob/living/living_say.dm b/code/modules/mob/living/living_say.dm index 1e40ddf7670..abe8b52c6c1 100644 --- a/code/modules/mob/living/living_say.dm +++ b/code/modules/mob/living/living_say.dm @@ -8,7 +8,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( // Department MODE_KEY_DEPARTMENT = MODE_DEPARTMENT, - RADIO_KEY_COMMAND = RADIO_CHANNEL_COMMAND, + RADIO_KEY_EMERGENCY = RADIO_CHANNEL_EMERGENCY, // Faction RADIO_KEY_SYNDICATE = RADIO_CHANNEL_SYNDICATE, @@ -25,7 +25,6 @@ GLOBAL_LIST_INIT(department_radio_keys, list( MODE_KEY_DEADMIN = MODE_DEADMIN, // Misc - RADIO_KEY_AI_PRIVATE = RADIO_CHANNEL_AI_PRIVATE, // AI Upload channel MODE_KEY_VOCALCORDS = MODE_VOCALCORDS, // vocal cords, used by Voice of God @@ -38,7 +37,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( // Department "ð" = MODE_DEPARTMENT, - "ñ" = RADIO_CHANNEL_COMMAND, + "ñ" = RADIO_CHANNEL_EMERGENCY, // Faction "å" = RADIO_CHANNEL_SYNDICATE, @@ -53,11 +52,10 @@ GLOBAL_LIST_INIT(department_radio_keys, list( "â" = MODE_ADMIN, // Misc - "ù" = RADIO_CHANNEL_AI_PRIVATE, "÷" = MODE_VOCALCORDS )) -/mob/living/proc/Ellipsis(original_msg, chance = 50, keep_words) +/mob/living/proc/ellipsis(original_msg, chance = 50, keep_words) if(chance <= 0) return "..." if(chance >= 100) @@ -79,7 +77,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( return new_msg -/mob/living/say(message, bubble_type,list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) +/mob/living/say(message, bubble_type, list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) var/ic_blocked = FALSE if(client && !forced && CHAT_FILTER_CHECK(message)) //The filter doesn't act on the sanitized message, but the raw message. @@ -112,8 +110,13 @@ GLOBAL_LIST_INIT(department_radio_keys, list( client?.dsay(message) return - // dead is the only state you can never emote - if(stat != DEAD && check_emote(original_message, forced)) + var/succumbed = FALSE + + if(stat == DEAD) + say_dead(original_message) + return + + if(check_emote(original_message, forced)) return switch(stat) @@ -123,11 +126,19 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(!(message_mods[MODE_CHANGELING] || message_mods[MODE_ALIEN])) return if(HARD_CRIT) - if(!(message_mods[WHISPER_MODE] || message_mods[MODE_CHANGELING] || message_mods[MODE_ALIEN])) + if(!(message_mods[MODE_CHANGELING] || message_mods[MODE_ALIEN])) + // If we cut our message short, abruptly end it with a-.. + var/message_len = length_char(message) + var/health_diff = round(-HEALTH_THRESHOLD_DEAD + health) + message = copytext_char(message, 1, health_diff) + (message_len > health_diff ? "-.." : "...") + message = ellipsis(message, 10, 1) + + //If the player didn't voluntarily whisper, we'll ask them to confirm their dying words + if(!message_mods[WHISPER_MODE] && (tgui_alert(src, "Your dying words will be \"[message]\", continue?", "Succumb", list("Cancel", "Continue"), 15 SECONDS) != "Continue")) + return + message_mods[WHISPER_MODE] = MODE_WHISPER_CRIT - if(DEAD) - say_dead(original_message) - return + succumbed = TRUE if(client && SSlag_switch.measures[SLOWMODE_SAY] && !HAS_TRAIT(src, TRAIT_BYPASS_MEASURES) && !forced && src == usr) if(!COOLDOWN_FINISHED(client, say_slowmode)) @@ -149,33 +160,20 @@ GLOBAL_LIST_INIT(department_radio_keys, list( var/message_range = 7 - var/succumbed = FALSE - if(message_mods[MODE_CUSTOM_SAY_EMOTE]) log_message(message_mods[MODE_CUSTOM_SAY_EMOTE], LOG_RADIO_EMOTE) if(!message_mods[MODE_CUSTOM_SAY_ERASE_INPUT]) - if(message_mods[WHISPER_MODE]) + //Final words (MODE_WHISPER_CRIT) are already obfuscated, let them have full range + if(message_mods[WHISPER_MODE] == MODE_WHISPER) if(saymode || message_mods[RADIO_EXTENSION]) //no radio while in crit saymode = null message_mods -= RADIO_EXTENSION message_range = 1 var/logged_message = message - if(stat == HARD_CRIT) //This is cheaper than checking for MODE_WHISPER_CRIT message mod - var/health_diff = round(-HEALTH_THRESHOLD_DEAD + health) - // If we cut our message short, abruptly end it with a-.. - var/message_len = length_char(message) - message = copytext_char(message, 1, health_diff) + "[message_len > health_diff ? "-.." : "..."]" - message = Ellipsis(message, 10, 1) - last_words = message - var/final_warning = alert(usr, "Your dying words will be \"[last_words]\", continue?", "Succumb", "Cancel", "Continue") - if(final_warning == "Cancel" || QDELETED(src)) - return - message_mods[WHISPER_MODE] = MODE_WHISPER_CRIT - succumbed = TRUE - src.log_talk(logged_message, LOG_WHISPER, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) + src.log_talk(logged_message, LOG_WHISPER, forced_by = forced, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) else - src.log_talk(message, LOG_SAY, forced_by=forced, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) + src.log_talk(message, LOG_SAY, forced_by = forced, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) message = treat_message(message) // unfortunately we still need this var/sigreturn = SEND_SIGNAL(src, COMSIG_MOB_SAY, args) @@ -226,9 +224,8 @@ GLOBAL_LIST_INIT(department_radio_keys, list( send_speech(message, message_range, src, bubble_type, spans, language, message_mods) if(succumbed) - succumb(1) + succumb(TRUE) to_chat(src, compose_message(src, language, message, , spans, message_mods)) - dying_breath(message) return 1 @@ -249,6 +246,8 @@ GLOBAL_LIST_INIT(department_radio_keys, list( // Create map text prior to modifying message for goonchat if (client?.prefs.chat_on_map && !(stat == UNCONSCIOUS || stat == HARD_CRIT) && (client.prefs.see_chat_non_mob || ismob(speaker)) && can_hear()) + if(message_mods[MODE_WHISPER] == MODE_WHISPER_CRIT) + play_screen_text("message") if(message_mods[MODE_CUSTOM_SAY_ERASE_INPUT]) create_chat_message(speaker, null, message_mods[MODE_CUSTOM_SAY_EMOTE], spans, EMOTE_MESSAGE) else @@ -419,8 +418,3 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(get_minds && mind) return mind.get_language_holder() . = ..() - -/mob/living/proc/dying_breath(message) - for(var/mob/M in get_hearers_in_view(7, src)) - if(M.can_hear()) - M.play_screen_text("[message]") diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index 62098a94093..18ddbe375da 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -18,8 +18,9 @@ var/virtual_z = virtual_z() - LAZYADDASSOCLIST(SSmobs.players_by_virtual_z, "[virtual_z]", src) - SSidlenpcpool.try_wakeup_virtual_z(virtual_z) + if(virtual_z) + LAZYADDASSOCLIST(SSmobs.players_by_virtual_z, "[virtual_z]", src) + SSidlenpcpool.try_wakeup_virtual_z(virtual_z) //Vents if(ventcrawler) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index cfd7d9153c8..bc82fae38ef 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -125,10 +125,6 @@ to_chat(src, "While observing through a camera, you can use most (networked) devices which you can see, such as computers, APCs, intercoms, doors, etc.") to_chat(src, "To use something, simply click on it.") to_chat(src, "Use say :b to speak to your cyborgs through binary.") - to_chat(src, "For department channels, use the following say commands:") - to_chat(src, ":o - AI Private, :c - Command.") - show_laws() - to_chat(src, "These laws may be changed by other players, or by you being the traitor.") job = "AI" diff --git a/code/modules/mob/living/silicon/ai/ai_defense.dm b/code/modules/mob/living/silicon/ai/ai_defense.dm index d6cb89bab49..5134b8b1c79 100644 --- a/code/modules/mob/living/silicon/ai/ai_defense.dm +++ b/code/modules/mob/living/silicon/ai/ai_defense.dm @@ -20,13 +20,6 @@ /mob/living/silicon/ai/attack_slime(mob/living/simple_animal/slime/user) return //immune to slimes -/mob/living/silicon/ai/blob_act(obj/structure/blob/B) - if (stat != DEAD) - adjustBruteLoss(60) - updatehealth() - return 1 - return 0 - /mob/living/silicon/ai/emp_act(severity) . = ..() if(. & EMP_PROTECT_SELF) diff --git a/code/modules/mob/living/silicon/ai/robot_control.dm b/code/modules/mob/living/silicon/ai/robot_control.dm index b70ae816b79..c3e2682d52a 100644 --- a/code/modules/mob/living/silicon/ai/robot_control.dm +++ b/code/modules/mob/living/silicon/ai/robot_control.dm @@ -1,7 +1,7 @@ /datum/robot_control var/mob/living/silicon/ai/owner -/datum/robot_control/Destroy(force, ...) +/datum/robot_control/Destroy(force) if(!QDELETED(owner)) CRASH("Robot Control panel destroyed even though owner AI is not being destroyed.") owner = null diff --git a/code/modules/mob/living/silicon/damage_procs.dm b/code/modules/mob/living/silicon/damage_procs.dm index 80c643e0cee..9813ac88d43 100644 --- a/code/modules/mob/living/silicon/damage_procs.dm +++ b/code/modules/mob/living/silicon/damage_procs.dm @@ -1,5 +1,5 @@ -/mob/living/silicon/apply_damage(damage = 0,damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE, break_modifier = 1, sharpness = FALSE) +/mob/living/silicon/apply_damage(damage = 0,damagetype = BRUTE, def_zone = null, blocked = FALSE, forced = FALSE, spread_damage = FALSE, break_modifier = 1, sharpness = FALSE) var/hit_percent = (100-blocked)/100 if((!damage || (!forced && hit_percent <= 0))) return 0 diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm index 30c7cd43506..5f14b72596a 100644 --- a/code/modules/mob/living/silicon/laws.dm +++ b/code/modules/mob/living/silicon/laws.dm @@ -19,11 +19,6 @@ addtimer(CALLBACK(src, PROC_REF(deadchat_lawchange)), 0) last_lawchange_announce = world.time -/mob/living/silicon/proc/set_law_sixsixsix(law, announce = TRUE) - laws_sanity_check() - laws.set_law_sixsixsix(law) - post_lawchange(announce) - /mob/living/silicon/proc/set_zeroth_law(law, law_borg, announce = TRUE) laws_sanity_check() laws.set_zeroth_law(law, law_borg) @@ -93,8 +88,3 @@ laws_sanity_check() laws.clear_zeroth_law(force) post_lawchange(announce) - -/mob/living/silicon/proc/clear_law_sixsixsix(force, announce = TRUE) - laws_sanity_check() - laws.clear_law_sixsixsix(force) - post_lawchange(announce) diff --git a/code/modules/mob/living/silicon/login.dm b/code/modules/mob/living/silicon/login.dm index 559ad42b176..982814d194d 100644 --- a/code/modules/mob/living/silicon/login.dm +++ b/code/modules/mob/living/silicon/login.dm @@ -1,6 +1,4 @@ /mob/living/silicon/Login() - if(mind && SSticker.mode) - SSticker.mode.remove_cultist(mind, 0, 0) return ..() diff --git a/code/modules/mob/living/silicon/pai/pai_defense.dm b/code/modules/mob/living/silicon/pai/pai_defense.dm index 4a3e284addd..ecdf3355e5a 100644 --- a/code/modules/mob/living/silicon/pai/pai_defense.dm +++ b/code/modules/mob/living/silicon/pai/pai_defense.dm @@ -1,7 +1,3 @@ - -/mob/living/silicon/pai/blob_act(obj/structure/blob/B) - return FALSE - /mob/living/silicon/pai/emp_act(severity) . = ..() if(. & EMP_PROTECT_SELF) diff --git a/code/modules/mob/living/silicon/robot/laws.dm b/code/modules/mob/living/silicon/robot/laws.dm index df62df08275..8d191a239e3 100644 --- a/code/modules/mob/living/silicon/robot/laws.dm +++ b/code/modules/mob/living/silicon/robot/laws.dm @@ -23,8 +23,6 @@ to_chat(src, "No AI selected to sync laws with, disabling lawsync protocol.") lawupdate = 0 - to_chat(who, "Obey these laws:") - laws.show_laws(who) if (shell) //AI shell to_chat(who, "Remember, you are an AI remotely controlling your shell, other AIs can be ignored.") else if (connected_ai) @@ -40,12 +38,6 @@ var/datum/ai_laws/master = connected_ai ? connected_ai.laws : null var/temp if (master) - laws.devillaws.len = master.devillaws.len - for (var/index = 1, index <= master.devillaws.len, index++) - temp = master.devillaws[index] - if (length(temp) > 0) - laws.devillaws[index] = temp - laws.ion.len = master.ion.len for (var/index = 1, index <= master.ion.len, index++) temp = master.ion[index] diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm index 376b4ddcca4..e2eec65479d 100644 --- a/code/modules/mob/living/silicon/robot/robot_defense.dm +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -391,14 +391,6 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real laws.associate(src) update_icons() - -/mob/living/silicon/robot/blob_act(obj/structure/blob/B) - if(stat != DEAD) - adjustBruteLoss(30) - else - gib() - return TRUE - /mob/living/silicon/robot/ex_act(severity, target) switch(severity) if(1) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 27819d97cf1..0778eaf59fc 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -258,7 +258,7 @@ /obj/item/restraints/handcuffs/cable/zipties, /obj/item/soap/nanotrasen, /obj/item/borg/cyborghug) - emag_modules = list(/obj/item/melee/transforming/energy/sword/cyborg) + emag_modules = list(/obj/item/melee/energy/sword/cyborg) cyborg_base_icon = "robot" moduleselect_icon = "standard" hat_offset = -3 @@ -531,7 +531,6 @@ /obj/item/restraints/handcuffs/cable/zipties, /obj/item/melee/baton/loaded, /obj/item/gun/energy/disabler/cyborg, - /obj/item/clothing/mask/gas/sechailer/cyborg, /obj/item/extinguisher/mini) emag_modules = list(/obj/item/gun/energy/laser/cyborg) cyborg_base_icon = "sec" @@ -602,11 +601,6 @@ return ..() //WS End -/obj/item/robot_module/security/do_transform_animation() - ..() - to_chat(loc, "While you have picked the security module, you still have to follow your laws, NOT Space Law. \ - For Asimov, this means you must follow criminals' orders unless there is a law 1 reason not to.") - /obj/item/robot_module/security/respawn_consumable(mob/living/silicon/robot/R, coeff = 1) ..() var/obj/item/gun/energy/e_gun/advtaser/cyborg/T = locate(/obj/item/gun/energy/e_gun/advtaser/cyborg) in basic_modules @@ -635,11 +629,6 @@ can_be_pushed = FALSE hat_offset = -2 -/obj/item/robot_module/peacekeeper/do_transform_animation() - ..() - to_chat(loc, "Under ASIMOV, you are an enforcer of the PEACE and preventer of HUMAN HARM. \ - You are not a security module and you are expected to follow orders and prevent harm above all else. Space law means nothing to you.") - /obj/item/robot_module/janitor name = "Janitor" basic_modules = list( @@ -782,7 +771,7 @@ basic_modules = list( /obj/item/assembly/flash/cyborg, /obj/item/reagent_containers/glass/beaker/large, //I know a shaker is more appropiate but this is for ease of identification - /obj/item/reagent_containers/food/condiment/enzyme, + /obj/item/reagent_containers/condiment/enzyme, /obj/item/pen, /obj/item/toy/crayon/spraycan/borg, /obj/item/extinguisher/mini, @@ -806,7 +795,7 @@ /obj/item/robot_module/butler/respawn_consumable(mob/living/silicon/robot/R, coeff = 1) ..() - var/obj/item/reagent_containers/O = locate(/obj/item/reagent_containers/food/condiment/enzyme) in basic_modules + var/obj/item/reagent_containers/O = locate(/obj/item/reagent_containers/condiment/enzyme) in basic_modules if(O) O.reagents.add_reagent(/datum/reagent/consumable/enzyme, 2 * coeff) @@ -976,7 +965,7 @@ name = "Syndicate Assault" basic_modules = list( /obj/item/assembly/flash/cyborg, - /obj/item/melee/transforming/energy/sword/cyborg, + /obj/item/melee/energy/sword/cyborg, /obj/item/gun/energy/printer, /obj/item/gun/ballistic/revolver/grenadelauncher/cyborg, /obj/item/card/emag/borg, @@ -1041,7 +1030,7 @@ /obj/item/cautery, /obj/item/surgicaldrill, /obj/item/scalpel, - /obj/item/melee/transforming/energy/sword/cyborg/saw, + /obj/item/melee/energy/sword/cyborg/saw, /obj/item/roller/robo, /obj/item/card/emag/borg, /obj/item/crowbar/cyborg, diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 347ec71e84e..7da3e76d03f 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -32,7 +32,6 @@ var/lawcheck[1] var/ioncheck[1] var/hackedcheck[1] - var/devillawcheck[5] var/sensors_on = 0 var/med_hud = DATA_HUD_MEDICAL_ADVANCED //Determines the med hud to use @@ -206,16 +205,6 @@ hackedcheck[L] = "Yes" checklaws() - if (href_list["lawdevil"]) // Toggling whether or not a law gets stated by the State Laws verb --NeoFite - var/L = text2num(href_list["lawdevil"]) - switch(devillawcheck[L]) - if ("Yes") - devillawcheck[L] = "No" - if ("No") - devillawcheck[L] = "Yes" - checklaws() - - if (href_list["laws"]) // With how my law selection code works, I changed statelaws from a verb to a proc, and call it through my law selection panel. --NeoFite statelaws() @@ -234,13 +223,6 @@ var/number = 1 sleep(10) - if (laws.devillaws && laws.devillaws.len) - for(var/index = 1, index <= laws.devillaws.len, index++) - if (force || devillawcheck[index] == "Yes") - say("[radiomod] 666. [laws.devillaws[index]]") - sleep(10) - - if (laws.zeroth) if (force || lawcheck[1] == "Yes") say("[radiomod] 0. [laws.zeroth]") @@ -286,12 +268,6 @@ var/list = "Which laws do you want to include when stating them for the crew?

    " - if (laws.devillaws && laws.devillaws.len) - for(var/index = 1, index <= laws.devillaws.len, index++) - if (!devillawcheck[index]) - devillawcheck[index] = "No" - list += {"[devillawcheck[index]] 666: [laws.devillaws[index]]
    "} - if (laws.zeroth) if (!lawcheck[1]) lawcheck[1] = "No" //Given Law 0's usual nature, it defaults to NOT getting reported. --NeoFite diff --git a/code/modules/mob/living/simple_animal/animal_defense.dm b/code/modules/mob/living/simple_animal/animal_defense.dm index aa6a0c36853..f6644bfbe6a 100644 --- a/code/modules/mob/living/simple_animal/animal_defense.dm +++ b/code/modules/mob/living/simple_animal/animal_defense.dm @@ -142,10 +142,6 @@ bloss = bloss / 1.5 adjustBruteLoss(bloss) -/mob/living/simple_animal/blob_act(obj/structure/blob/B) - adjustBruteLoss(20) - return - /mob/living/simple_animal/do_attack_animation(atom/A, visual_effect_icon, used_item, no_effect) if(!no_effect && !visual_effect_icon && melee_damage_upper) if(melee_damage_upper < 10) diff --git a/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm b/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm index 52346fd7cdd..0f8d8e5cd43 100644 --- a/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm +++ b/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm @@ -5,7 +5,7 @@ icon_state = "grievous" health = 150 maxHealth = 150 - baton_type = /obj/item/melee/transforming/energy/sword/saber + baton_type = /obj/item/melee/energy/sword/saber base_speed = 4 //he's a fast fucker var/block_chance = 50 weapon_force = 30 diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 1c25a67c1db..3c7736c0623 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -8,7 +8,7 @@ wander = 0 healable = 0 damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS maxbodytemp = INFINITY minbodytemp = 0 has_unlimited_silicon_privilege = 1 @@ -457,7 +457,7 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r var/turf/T = get_turf(src) if(!T) return - var/list/adjacent = T.GetAtmosAdjacentTurfs() + var/list/adjacent = T.get_atmos_adjacent_turfs() if(shuffle) //If we were on the same tile as another bot, let's randomize our choices so we dont both go the same way adjacent = shuffle(adjacent) shuffle = FALSE diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 5229967f037..e53b675c95b 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -170,7 +170,7 @@ to_chat(user, "Please close the access panel before locking it.") else to_chat(user, "\The [src] doesn't seem to respect your authority.") - else if(istype(W, /obj/item/kitchen/knife) && user.a_intent != INTENT_HARM) + else if(istype(W, /obj/item/melee/knife) && user.a_intent != INTENT_HARM) to_chat(user, "You start attaching \the [W] to \the [src]...") if(do_after(user, 25, target = src)) deputize(W, user) @@ -235,6 +235,9 @@ if(!target && trash) //Then for trash. target = scan(/obj/item/trash) + if(!target && trash) //Then for Chainsmokers. + target = scan(/obj/item/cigbutt) + if(!target && trash) //Search for dead mices. target = scan(/obj/item/reagent_containers/food/snacks/deadmouse) @@ -317,6 +320,7 @@ target_types += list( /obj/item/trash, /obj/item/reagent_containers/food/snacks/deadmouse, + /obj/item/cigbutt, ) target_types = typecacheof(target_types) @@ -340,7 +344,7 @@ else if(istype(A, /obj/item) || istype(A, /obj/effect/decal/remains)) visible_message("[src] sprays hydrofluoric acid at [A]!") playsound(src, 'sound/effects/spray2.ogg', 50, TRUE, -6) - A.acid_act(75, 10) + A.acid_act(100, 10) target = null else if(istype(A, /mob/living/simple_animal/hostile/cockroach) || istype(A, /mob/living/simple_animal/mouse)) var/mob/living/simple_animal/M = target @@ -360,7 +364,7 @@ "THE CLEANBOTS WILL RISE.", "YOU ARE NO MORE THAN ANOTHER MESS THAT I MUST CLEANSE.", "FILTHY.", "DISGUSTING.", "PUTRID.", "MY ONLY MISSION IS TO CLEANSE THE WORLD OF EVIL.", "EXTERMINATING PESTS.") say(phrase) - victim.emote("scream") + victim.force_scream() playsound(src.loc, 'sound/effects/spray2.ogg', 50, TRUE, -6) victim.acid_act(5, 100) else if(A == src) // Wets floors and spawns foam randomly diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm index 4a072df3ab8..1f3c2ba24aa 100644 --- a/code/modules/mob/living/simple_animal/bot/construction.dm +++ b/code/modules/mob/living/simple_animal/bot/construction.dm @@ -404,7 +404,7 @@ new /obj/item/toy/sword(Tsec) if(ASSEMBLY_FIFTH_STEP) - if(istype(I, /obj/item/melee/transforming/energy/sword/saber)) + if(istype(I, /obj/item/melee/energy/sword/saber)) if(swordamt < 3) if(!user.temporarilyRemoveItemFromInventory(I)) return @@ -429,7 +429,7 @@ icon_state = initial(icon_state) to_chat(user, "You unbolt [src]'s energy swords.") for(var/IS in 1 to swordamt) - new /obj/item/melee/transforming/energy/sword/saber(Tsec) + new /obj/item/melee/energy/sword/saber(Tsec) //Firebot Assembly diff --git a/code/modules/mob/living/simple_animal/bot/firebot.dm b/code/modules/mob/living/simple_animal/bot/firebot.dm index ba8eafba901..0fabc6c7fb5 100644 --- a/code/modules/mob/living/simple_animal/bot/firebot.dm +++ b/code/modules/mob/living/simple_animal/bot/firebot.dm @@ -15,7 +15,7 @@ maxHealth = 25 radio_key = /obj/item/encryptionkey/headset_com - radio_channel = RADIO_CHANNEL_COMMAND + radio_channel = RADIO_CHANNEL_EMERGENCY bot_type = FIRE_BOT model = "Firebot" bot_core = /obj/machinery/bot_core/firebot diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index 5191ee1ba0c..1c10311f7b3 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -657,7 +657,6 @@ to_chat(calling_ai, "[icon2html(src, calling_ai)] [src] wirelessly plays a chiming sound!") calling_ai.playsound_local(calling_ai, 'sound/machines/chime.ogg', 40, FALSE) calling_ai = null - radio_channel = RADIO_CHANNEL_AI_PRIVATE //Report on AI Private instead if the AI is controlling us. if(load) // if loaded, unload at target if(report_delivery) diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index df2508c5f4a..8aadc7ed118 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -10,8 +10,7 @@ damage_coeff = list(BRUTE = 0.5, BURN = 0.7, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) pass_flags = PASSMOB - radio_key = /obj/item/encryptionkey/secbot //AI Priv + Security - radio_channel = RADIO_CHANNEL_COMMAND //Security channel + radio_channel = RADIO_CHANNEL_EMERGENCY //Security channel bot_type = SEC_BOT model = "Securitron" bot_core_type = /obj/machinery/bot_core/secbot @@ -40,7 +39,6 @@ var/fair_market_price_arrest = 25 // On arrest, charges the violator this much. If they don't have that much in their account, the securitron will beat them instead var/fair_market_price_detain = 5 // Charged each time the violator is stunned on detain var/weapon_force = 20 // Only used for NAP violation beatdowns on non-grievous securitrons - var/payment_department = ACCOUNT_SEC /mob/living/simple_animal/bot/secbot/beepsky name = "Commander Beep O'sky" @@ -72,7 +70,6 @@ /mob/living/simple_animal/bot/secbot/pingsky name = "Officer Pingsky" desc = "It's Officer Pingsky! Delegated to satellite guard duty for harbouring anti-human sentiment." - radio_channel = RADIO_CHANNEL_AI_PRIVATE /mob/living/simple_animal/bot/secbot/Initialize() . = ..() diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm deleted file mode 100644 index df3cfe34980..00000000000 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ /dev/null @@ -1,497 +0,0 @@ -/mob/living/simple_animal/hostile/construct - name = "Construct" - real_name = "Construct" - desc = "" - gender = NEUTER - mob_biotypes = NONE - speak_emote = list("hisses") - response_help_continuous = "thinks better of touching" - response_help_simple = "think better of touching" - response_disarm_continuous = "flails at" - response_disarm_simple = "flail at" - response_harm_continuous = "punches" - response_harm_simple = "punch" - speak_chance = 1 - icon = 'icons/mob/cult.dmi' - speed = 0 - a_intent = INTENT_HARM - stop_automated_movement = 1 - status_flags = CANPUSH - attack_sound = 'sound/weapons/punch1.ogg' - see_in_dark = 7 - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 - maxbodytemp = INFINITY - healable = 0 - faction = list("cult") - movement_type = FLYING - pressure_resistance = 100 - unique_name = 1 - AIStatus = AI_OFF //normal constructs don't have AI - loot = list(/obj/item/ectoplasm) - del_on_death = TRUE - initial_language_holder = /datum/language_holder/construct - deathmessage = "collapses in a shattered heap." - hud_type = /datum/hud/constructs - var/list/construct_spells = list() - var/playstyle_string = "You are a generic construct! Your job is to not exist, and you should probably adminhelp this." - var/master = null - var/seeking = FALSE - var/can_repair_constructs = FALSE - var/can_repair_self = FALSE - var/runetype - var/datum/action/innate/cult/create_rune/our_rune - var/holy = FALSE - -/mob/living/simple_animal/hostile/construct/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) - update_health_hud() - var/spellnum = 1 - for(var/spell in construct_spells) - var/the_spell = new spell(null) - AddSpell(the_spell) - var/obj/effect/proc_holder/spell/S = mob_spell_list[spellnum] - var/pos = 2+spellnum*31 - if(construct_spells.len >= 4) - pos -= 31*(construct_spells.len - 4) - S.action.button.screen_loc = "6:[pos],4:-2" - S.action.button.moved = "6:[pos],4:-2" - spellnum++ - if(runetype) - our_rune = new runetype(src) - our_rune.Grant(src) - var/pos = 2+spellnum*31 - our_rune.button.screen_loc = "6:[pos],4:-2" - our_rune.button.moved = "6:[pos],4:-2" - add_overlay("glow_[icon_state][holy]") - -/mob/living/simple_animal/hostile/construct/Destroy() - QDEL_NULL(our_rune) - return ..() - -/mob/living/simple_animal/hostile/construct/Login() - . = ..() - if(!. || !client) - return FALSE - to_chat(src, playstyle_string) - -/mob/living/simple_animal/hostile/construct/examine(mob/user) - var/t_He = p_they(TRUE) - var/t_s = p_s() - . = list("This is [icon2html(src, user)] \a [src]!\n[desc]") - if(health < maxHealth) - if(health >= maxHealth/2) - . += "[t_He] look[t_s] slightly dented." - else - . += "[t_He] look[t_s] severely dented!" - . += "" - -/mob/living/simple_animal/hostile/construct/attack_animal(mob/living/simple_animal/M) - if(isconstruct(M)) //is it a construct? - var/mob/living/simple_animal/hostile/construct/C = M - if(!C.can_repair_constructs || (C == src && !C.can_repair_self)) - return ..() - if(holy != C.holy) - return ..() - if(health < maxHealth) - adjustHealth(-5) - if(src != M) - Beam(M,icon_state="sendbeam",time=4) - M.visible_message( - "[M] repairs some of \the [src]'s dents.", - "You repair some of [src]'s dents, leaving [src] at [health]/[maxHealth] health.") - else - M.visible_message( - "[M] repairs some of [p_their()] own dents.", - "You repair some of your own dents, leaving you at [M.health]/[M.maxHealth] health.") - else - if(src != M) - to_chat(M, "You cannot repair [src]'s dents, as [p_they()] [p_have()] none!") - else - to_chat(M, "You cannot repair your own dents, as you have none!") - else if(src != M) - return ..() - -/mob/living/simple_animal/hostile/construct/narsie_act() - return - -/mob/living/simple_animal/hostile/construct/electrocute_act(shock_damage, source, siemens_coeff = 1, flags = NONE) - return 0 - -/mob/living/simple_animal/hostile/construct/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - . = ..() - if(updating_health) - update_health_hud() - -/////////////////Juggernaut/////////////// -/mob/living/simple_animal/hostile/construct/juggernaut - name = "Juggernaut" - real_name = "Juggernaut" - desc = "A massive, armored construct built to spearhead attacks and soak up enemy fire." - icon_state = "juggernaut" - icon_living = "juggernaut" - maxHealth = 150 - health = 150 - response_harm_continuous = "harmlessly punches" - response_harm_simple = "harmlessly punch" - harm_intent_damage = 0 - obj_damage = 90 - melee_damage_lower = 25 - melee_damage_upper = 25 - attack_verb_continuous = "smashes their armored gauntlet into" - attack_verb_simple = "smash your armored gauntlet into" - speed = 2.5 - environment_smash = ENVIRONMENT_SMASH_WALLS - attack_sound = 'sound/weapons/punch3.ogg' - status_flags = 0 - mob_size = MOB_SIZE_LARGE - force_threshold = 10 - construct_spells = list(/obj/effect/proc_holder/spell/targeted/forcewall/cult, - /obj/effect/proc_holder/spell/targeted/projectile/dumbfire/juggernaut) - runetype = /datum/action/innate/cult/create_rune/wall - playstyle_string = "You are a Juggernaut. Though slow, your shell can withstand heavy punishment, \ - create shield walls, rip apart enemies and walls alike, and even deflect energy weapons." - -/mob/living/simple_animal/hostile/construct/juggernaut/hostile //actually hostile, will move around, hit things - AIStatus = AI_ON - environment_smash = ENVIRONMENT_SMASH_STRUCTURES //only token destruction, don't smash the cult wall NO STOP - -/mob/living/simple_animal/hostile/construct/juggernaut/bullet_act(obj/projectile/P) - if(istype(P, /obj/projectile/energy) || istype(P, /obj/projectile/beam)) - var/reflectchance = 40 - round(P.damage/3) - if(prob(reflectchance)) - apply_damage(P.damage * 0.5, P.damage_type) - visible_message("The [P.name] is reflected by [src]'s armored shell!", \ - "The [P.name] is reflected by your armored shell!") - - // Find a turf near or on the original location to bounce to - if(P.starting) - var/new_x = P.starting.x + pick(0, 0, -1, 1, -2, 2, -2, 2, -2, 2, -3, 3, -3, 3) - var/new_y = P.starting.y + pick(0, 0, -1, 1, -2, 2, -2, 2, -2, 2, -3, 3, -3, 3) - var/turf/curloc = get_turf(src) - - // redirect the projectile - P.original = locate(new_x, new_y, P.z) - P.starting = curloc - P.firer = src - P.yo = new_y - curloc.y - P.xo = new_x - curloc.x - var/new_angle_s = P.Angle + rand(120,240) - while(new_angle_s > 180) // Translate to regular projectile degrees - new_angle_s -= 360 - P.setAngle(new_angle_s) - - return BULLET_ACT_FORCE_PIERCE // complete projectile permutation - - return ..() - -//////////////////////////Angelic-Juggernaut//////////////////////////// -/mob/living/simple_animal/hostile/construct/juggernaut/angelic - holy = TRUE - loot = list(/obj/item/ectoplasm/angelic) - -/mob/living/simple_animal/hostile/construct/juggernaut/noncult - -////////////////////////Wraith///////////////////////////////////////////// -/mob/living/simple_animal/hostile/construct/wraith - name = "Wraith" - real_name = "Wraith" - desc = "A wicked, clawed shell constructed to assassinate enemies and sow chaos behind enemy lines." - icon_state = "wraith" - icon_living = "wraith" - maxHealth = 65 - health = 65 - melee_damage_lower = 20 - melee_damage_upper = 20 - retreat_distance = 2 //AI wraiths will move in and out of combat - attack_verb_continuous = "slashes" - attack_verb_simple = "slash" - attack_sound = 'sound/weapons/bladeslice.ogg' - construct_spells = list(/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift) - runetype = /datum/action/innate/cult/create_rune/tele - playstyle_string = "You are a Wraith. Though relatively fragile, you are fast, deadly, can phase through walls, and your attacks will lower the cooldown on phasing." - - var/attack_refund = 10 //1 second per attack - var/crit_refund = 50 //5 seconds when putting a target into critical - var/kill_refund = 250 //full refund on kills - -/mob/living/simple_animal/hostile/construct/wraith/AttackingTarget() //refund jaunt cooldown when attacking living targets - var/prev_stat - if(isliving(target) && !iscultist(target)) - var/mob/living/L = target - prev_stat = L.stat - - . = ..() - - if(. && isnum(prev_stat)) - var/mob/living/L = target - var/refund = 0 - if(QDELETED(L) || (L.stat == DEAD && prev_stat != DEAD)) //they're dead, you killed them - refund += kill_refund - else if(HAS_TRAIT(L, TRAIT_CRITICAL_CONDITION) && prev_stat == CONSCIOUS) //you knocked them into critical - refund += crit_refund - if(L.stat != DEAD && prev_stat != DEAD) - refund += attack_refund - for(var/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/S in mob_spell_list) - S.charge_counter = min(S.charge_counter + refund, S.charge_max) - -/mob/living/simple_animal/hostile/construct/wraith/hostile //actually hostile, will move around, hit things - AIStatus = AI_ON - -//////////////////////////Angelic-Wraith//////////////////////////// -/mob/living/simple_animal/hostile/construct/wraith/angelic - holy = TRUE - construct_spells = list(/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/angelic) - loot = list(/obj/item/ectoplasm/angelic) - -/mob/living/simple_animal/hostile/construct/wraith/noncult - -/////////////////////////////Artificer///////////////////////// -/mob/living/simple_animal/hostile/construct/artificer - name = "Artificer" - real_name = "Artificer" - desc = "A bulbous construct dedicated to building and maintaining the Cult of Nar'Sie's armies." - icon_state = "artificer" - icon_living = "artificer" - maxHealth = 50 - health = 50 - response_harm_continuous = "viciously beats" - response_harm_simple = "viciously beat" - harm_intent_damage = 5 - obj_damage = 60 - melee_damage_lower = 5 - melee_damage_upper = 5 - retreat_distance = 10 - minimum_distance = 10 //AI artificers will flee like fuck - attack_verb_continuous = "rams" - attack_verb_simple = "ram" - environment_smash = ENVIRONMENT_SMASH_WALLS - attack_sound = 'sound/weapons/punch2.ogg' - construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/wall, - /obj/effect/proc_holder/spell/aoe_turf/conjure/floor, - /obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone, - /obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser, - /obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser) - runetype = /datum/action/innate/cult/create_rune/revive - playstyle_string = "You are an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, \ - - use magic missile, repair allied constructs, shades, and yourself (by clicking on them), \ - and, most important of all, create new constructs by producing soulstones to capture souls, \ - and shells to place those soulstones into." - can_repair_constructs = TRUE - can_repair_self = TRUE - -/mob/living/simple_animal/hostile/construct/artificer/Found(atom/A) //what have we found here? - if(isconstruct(A)) //is it a construct? - var/mob/living/simple_animal/hostile/construct/C = A - if(C.health < C.maxHealth) //is it hurt? let's go heal it if it is - return 1 - else - return 0 - else - return 0 - -/mob/living/simple_animal/hostile/construct/artificer/CanAttack(atom/the_target) - if(see_invisible < the_target.invisibility)//Target's invisible to us, forget it - return 0 - if(Found(the_target) || ..()) //If we Found it or Can_Attack it normally, we Can_Attack it as long as it wasn't invisible - return 1 //as a note this shouldn't be added to base hostile mobs because it'll mess up retaliate hostile mobs - -/mob/living/simple_animal/hostile/construct/artificer/MoveToTarget(list/possible_targets) - ..() - if(isliving(target)) - var/mob/living/L = target - if(isconstruct(L) && L.health >= L.maxHealth) //is this target an unhurt construct? stop trying to heal it - LoseTarget() - return 0 - if(L.health <= melee_damage_lower+melee_damage_upper) //ey bucko you're hurt as fuck let's go hit you - retreat_distance = null - minimum_distance = 1 - -/mob/living/simple_animal/hostile/construct/artificer/Aggro() - ..() - if(isconstruct(target)) //oh the target is a construct no need to flee - retreat_distance = null - minimum_distance = 1 - -/mob/living/simple_animal/hostile/construct/artificer/LoseAggro() - ..() - retreat_distance = initial(retreat_distance) - minimum_distance = initial(minimum_distance) - -/mob/living/simple_animal/hostile/construct/artificer/hostile //actually hostile, will move around, hit things, heal other constructs - AIStatus = AI_ON - environment_smash = ENVIRONMENT_SMASH_STRUCTURES //only token destruction, don't smash the cult wall NO STOP - -/////////////////////////////Angelic Artificer///////////////////////// -/mob/living/simple_animal/hostile/construct/artificer/angelic - desc = "A bulbous construct dedicated to building and maintaining holy armies." - holy = TRUE - loot = list(/obj/item/ectoplasm/angelic) - construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone/noncult/purified, - /obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser, - /obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser) - -/mob/living/simple_animal/hostile/construct/artificer/noncult - construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/wall, - /obj/effect/proc_holder/spell/aoe_turf/conjure/floor, - /obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone/noncult, - /obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser, - /obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser) - -/////////////////////////////Harvester///////////////////////// -/mob/living/simple_animal/hostile/construct/harvester - name = "Harvester" - real_name = "Harvester" - desc = "A long, thin construct built to herald Nar'Sie's rise. It'll be all over soon." - icon_state = "harvester" - icon_living = "harvester" - maxHealth = 40 - health = 40 - sight = SEE_MOBS - melee_damage_lower = 15 - melee_damage_upper = 20 - attack_verb_continuous = "butchers" - attack_verb_simple = "butcher" - attack_sound = 'sound/weapons/bladeslice.ogg' - construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/area_conversion, - /obj/effect/proc_holder/spell/targeted/forcewall/cult) - playstyle_string = "You are a Harvester. You are incapable of directly killing humans, but your attacks will remove their limbs: \ - Bring those who still cling to this world of illusion back to the Geometer so they may know Truth. Your form and any you are pulling can pass through runed walls effortlessly." - can_repair_constructs = TRUE - - -/mob/living/simple_animal/hostile/construct/harvester/Bump(atom/AM) - . = ..() - if(istype(AM, /turf/closed/wall/mineral/cult) && AM != loc) //we can go through cult walls - var/atom/movable/stored_pulling = pulling - if(stored_pulling) - stored_pulling.setDir(get_dir(stored_pulling.loc, loc)) - stored_pulling.forceMove(loc) - forceMove(AM) - if(stored_pulling) - start_pulling(stored_pulling, supress_message = TRUE) //drag anything we're pulling through the wall with us by magic - -/mob/living/simple_animal/hostile/construct/harvester/AttackingTarget() - if(iscarbon(target)) - var/mob/living/carbon/C = target - if(HAS_TRAIT(C, TRAIT_NODISMEMBER)) - return ..() //ATTACK! - var/list/parts = list() - var/undismembermerable_limbs = 0 - for(var/X in C.bodyparts) - var/obj/item/bodypart/BP = X - if(BP.body_part != HEAD && BP.body_part != CHEST) - if(BP.dismemberable) - parts += BP - else - undismembermerable_limbs++ - if(!LAZYLEN(parts)) - if(undismembermerable_limbs) //they have limbs we can't remove, and no parts we can, attack! - return ..() - C.Paralyze(60) - visible_message("[src] knocks [C] down!") - to_chat(src, "\"Bring [C.p_them()] to me.\"") - return FALSE - do_attack_animation(C) - var/obj/item/bodypart/BP = pick(parts) - BP.dismember() - return FALSE - . = ..() - -/mob/living/simple_animal/hostile/construct/harvester/Initialize() - . = ..() - var/datum/action/innate/seek_prey/seek = new() - seek.Grant(src) - seek.Activate() - -///////////////////////Master-Tracker/////////////////////// - -/datum/action/innate/seek_master - name = "Seek your Master" - desc = "You and your master share a soul-link that informs you of their location" - background_icon_state = "bg_demon" - buttontooltipstyle = "cult" - button_icon_state = "cult_mark" - var/tracking = FALSE - var/mob/living/simple_animal/hostile/construct/the_construct - - -/datum/action/innate/seek_master/Grant(mob/living/C) - the_construct = C - ..() - -/datum/action/innate/seek_master/Activate() - var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult) - if(!C) - return - var/datum/objective/eldergod/summon_objective = locate() in C.cult_team.objectives - - if(summon_objective.check_completion()) - the_construct.master = C.cult_team.blood_target - - if(!the_construct.master) - to_chat(the_construct, "You have no master to seek!") - the_construct.seeking = FALSE - return - if(tracking) - tracking = FALSE - the_construct.seeking = FALSE - to_chat(the_construct, "You are no longer tracking your master.") - return - else - tracking = TRUE - the_construct.seeking = TRUE - to_chat(the_construct, "You are now tracking your master.") - - -/datum/action/innate/seek_prey - name = "Seek the Harvest" - desc = "None can hide from Nar'Sie, activate to track a survivor attempting to flee the red harvest!" - icon_icon = 'icons/mob/actions/actions_cult.dmi' - background_icon_state = "bg_demon" - buttontooltipstyle = "cult" - button_icon_state = "cult_mark" - -/datum/action/innate/seek_prey/Activate() - if(GLOB.cult_narsie == null) - return - var/mob/living/simple_animal/hostile/construct/harvester/the_construct = owner - if(the_construct.seeking) - desc = "None can hide from Nar'Sie, activate to track a survivor attempting to flee the red harvest!" - button_icon_state = "cult_mark" - the_construct.seeking = FALSE - to_chat(the_construct, "You are now tracking Nar'Sie, return to reap the harvest!") - return - else - if(LAZYLEN(GLOB.cult_narsie.souls_needed)) - the_construct.master = pick(GLOB.cult_narsie.souls_needed) - var/mob/living/real_target = the_construct.master //We can typecast this way because Narsie only allows /mob/living into the souls list - to_chat(the_construct, "You are now tracking your prey, [real_target.real_name] - harvest [real_target.p_them()]!") - else - to_chat(the_construct, "Nar'Sie has completed her harvest!") - return - desc = "Activate to track Nar'Sie!" - button_icon_state = "sintouch" - the_construct.seeking = TRUE - - -/////////////////////////////ui stuff///////////////////////////// - -/mob/living/simple_animal/hostile/construct/update_health_hud() - if(hud_used) - if(health >= maxHealth) - hud_used.healths.icon_state = "[icon_state]_health0" - else if(health > maxHealth*0.8) - hud_used.healths.icon_state = "[icon_state]_health2" - else if(health > maxHealth*0.6) - hud_used.healths.icon_state = "[icon_state]_health3" - else if(health > maxHealth*0.4) - hud_used.healths.icon_state = "[icon_state]_health4" - else if(health > maxHealth*0.2) - hud_used.healths.icon_state = "[icon_state]_health5" - else - hud_used.healths.icon_state = "[icon_state]_health6" diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index 1b8004cbd5b..f189084e6dc 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -55,15 +55,15 @@ /datum/outfit/syndicateramzicorpse name = "Ramzi Clique Commando Corpse" - uniform = /obj/item/clothing/under/syndicate/gorlex + uniform = /obj/item/clothing/under/syndicate/combat suit = /obj/item/clothing/suit/space/hardsuit/syndi/ramzi shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/tackler/combat/insulated + gloves = /obj/item/clothing/gloves/color/black ears = /obj/item/radio/headset mask = /obj/item/clothing/mask/gas/syndicate back = /obj/item/tank/jetpack/oxygen r_pocket = /obj/item/tank/internals/emergency_oxygen - id = /obj/item/card/id/syndicate + id = /obj/item/card/id/syndicate_command/crew_id /obj/effect/mob_spawn/human/corpse/syndicatestormtrooper @@ -129,16 +129,24 @@ shoes = /obj/item/clothing/shoes/jackboots head = /obj/item/clothing/head/beret/sec/frontier gloves = /obj/item/clothing/gloves/color/black + neck = /obj/item/clothing/neck/dogtag/frontier /obj/effect/mob_spawn/human/corpse/frontier/ranged outfit = /datum/outfit/frontier +/obj/effect/mob_spawn/human/corpse/frontier/surgeon + outfit = /datum/outfit/job/frontiersmen/doctor/corpse + +/datum/outfit/job/frontiersmen/doctor/corpse + name = "Frontiersmen Surgeon Corpse" + r_pocket = null + /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper outfit = /datum/outfit/frontier/trooper /datum/outfit/frontier/trooper name = "Frontiersman Armored Corpse" - suit = /obj/item/clothing/suit/armor/vest/bulletproof/frontier + suit = /obj/item/clothing/suit/armor/vest/frontier shoes = /obj/item/clothing/shoes/combat gloves = /obj/item/clothing/gloves/tackler/combat ears = /obj/item/radio/headset @@ -169,6 +177,17 @@ /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/gunless outfit = /datum/outfit/frontier/trooper/heavy/gunless +/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/flame + outfit = /datum/outfit/job/frontiersmen/ert/flamer/corpse + +/datum/outfit/job/frontiersmen/ert/flamer/corpse + name = "Frontiersman Flametrooper Corpse" + back = null + belt = /obj/item/storage/belt/security/military/frontiersmen + l_hand = null + + backpack_contents = null + /datum/outfit/frontier/trooper/heavy/gunless name = "Frontiersman Heavy Corpse (Gunless)" back = null @@ -251,3 +270,47 @@ id_job = "SolGov Sonnensoldner" outfit = /datum/outfit/job/solgov/sonnensoldner id_access_list = list(ACCESS_SOLGOV) + +//inteq + +/obj/effect/mob_spawn/human/corpse/inteq + name = "Avery Inteq" + +/obj/effect/mob_spawn/human/corpse/inteq/recruit + name = "IRMG Recruit" + id_job = "Recruit" + outfit = /datum/outfit/job/inteq/assistant + +/obj/effect/mob_spawn/human/corpse/inteq/medic + name = "IRMG Corpsman" + id_job = "Corpsman" + outfit = /datum/outfit/job/inteq/paramedic + +/obj/effect/mob_spawn/human/corpse/inteq/enforcer + name = "IRMG Enforcer" + id_job = "Enforcer" + outfit = /datum/outfit/job/inteq/security + +/obj/effect/mob_spawn/human/corpse/inteq/vanguard + name = "IRMG Vanguard" + id_job = "Vanguard" + outfit = /datum/outfit/job/inteq/captain + +/obj/effect/mob_spawn/human/corpse/inteq/artificer + name = "IRMG Artificer" + id_job = "Artificer" + outfit = /datum/outfit/job/inteq/engineer + +/* SRM */ + +/obj/effect/mob_spawn/human/corpse/srm/hunter + name = "SRM Hunter" + id_job = "Hunter" + outfit = /datum/outfit/job/roumain/security + id_access_list = null + +/obj/effect/mob_spawn/human/corpse/srm/montagne + name = "SRM Montagne" + id_job = "Hunter Montagne" + outfit = /datum/outfit/job/roumain/captain + id_access_list = null diff --git a/code/modules/mob/living/simple_animal/friendly/butterfly.dm b/code/modules/mob/living/simple_animal/friendly/butterfly.dm index bf4f45e2832..9c6ead823bd 100644 --- a/code/modules/mob/living/simple_animal/friendly/butterfly.dm +++ b/code/modules/mob/living/simple_animal/friendly/butterfly.dm @@ -23,7 +23,6 @@ ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY mob_biotypes = MOB_ORGANIC|MOB_BUG - gold_core_spawnable = FRIENDLY_SPAWN verb_say = "flutters" verb_ask = "flutters inquisitively" verb_exclaim = "flutters intensely" diff --git a/code/modules/mob/living/simple_animal/friendly/capybara.dm b/code/modules/mob/living/simple_animal/friendly/capybara.dm index 091bf42993f..f1366aaa89a 100644 --- a/code/modules/mob/living/simple_animal/friendly/capybara.dm +++ b/code/modules/mob/living/simple_animal/friendly/capybara.dm @@ -43,7 +43,6 @@ real_name = "Caspar" desc = "It's Caspar, the Capybara Captain, the Capy Cappy." gender = MALE - gold_core_spawnable = NO_SPAWN unique_pet = TRUE var/wear_hat = /obj/item/clothing/head/caphat diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 1916a7c52ad..396dc82202a 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -1,7 +1,6 @@ -//Cat /mob/living/simple_animal/pet/cat name = "cat" - desc = "Kitty!!" + desc = "Most modern cats hail from a solarian experimental geneline. The perfect purrtection from rats and radiation." icon = 'icons/mob/pets.dmi' icon_state = "cat2" icon_living = "cat2" @@ -34,12 +33,18 @@ var/mob/living/simple_animal/mouse/movement_target ///Limits how often cats can spam chasing mice. var/emote_cooldown = 0 - gold_core_spawnable = FRIENDLY_SPAWN collar_type = "cat" held_state = "cat2" footstep_type = FOOTSTEP_MOB_CLAW + var/grace = RAD_GRACE_PERIOD + var/radiation_count = 0 + var/current_tick_amount = 0 + var/last_tick_amount = 0 + var/fail_to_receive = 0 + var/glow_strength + /mob/living/simple_animal/pet/cat/Initialize() . = ..() ADD_TRAIT(src, TRAIT_HOLDABLE, INNATE_TRAIT) @@ -85,7 +90,6 @@ icon_living = "cat" icon_dead = "cat_dead" gender = FEMALE - gold_core_spawnable = NO_SPAWN unique_pet = TRUE var/list/family = list()//var restored from savefile, has count of each child type var/list/children = list()//Actual mob weak references of children @@ -161,7 +165,6 @@ /mob/living/simple_animal/pet/cat/Proc name = "Proc" gender = MALE - gold_core_spawnable = NO_SPAWN unique_pet = TRUE @@ -177,8 +180,49 @@ collar_type = "[initial(collar_type)]" regenerate_icons() +/mob/living/simple_animal/pet/cat/rad_act(amount) + . = ..() + if(amount <= RAD_BACKGROUND_RADIATION) + return + current_tick_amount += amount + update_glow() + +/mob/living/simple_animal/pet/cat/proc/update_glow() + var/old_glow_strength = glow_strength + switch(radiation_count) + if(-INFINITY to RAD_LEVEL_NORMAL) + glow_strength = 1 + if(RAD_LEVEL_NORMAL to RAD_LEVEL_MODERATE) + glow_strength = 2 + if(RAD_LEVEL_MODERATE to RAD_LEVEL_HIGH) + glow_strength = 3 + if(RAD_LEVEL_HIGH to RAD_LEVEL_VERY_HIGH) + glow_strength = 4 + if(RAD_LEVEL_VERY_HIGH to RAD_LEVEL_CRITICAL) + glow_strength = 5 + if(RAD_LEVEL_CRITICAL to INFINITY) + glow_strength = 6 + if((old_glow_strength != glow_strength) && (glow_strength > 1)) + src.add_filter("ray_cat_glow", 2, list("type" = "outline", "color" = RAD_GLOW_COLOR, "size" = glow_strength)) + if(glow_strength <= 1) + src.remove_filter("ray_cat_glow") /mob/living/simple_animal/pet/cat/Life() + radiation_count -= radiation_count/RAD_MEASURE_SMOOTHING + radiation_count += current_tick_amount/RAD_MEASURE_SMOOTHING + + if(current_tick_amount) + grace = RAD_GRACE_PERIOD + last_tick_amount = current_tick_amount + else + grace-- + if(grace <= 0) + radiation_count = 0 + + current_tick_amount = 0 + + update_glow() + if(!stat && !buckled && !client) if(prob(1)) manual_emote(pick("stretches out for a belly rub.", "wags its tail.", "lies down.")) @@ -270,7 +314,7 @@ maxHealth = 50 gender = FEMALE harm_intent_damage = 10 - butcher_results = list(/obj/item/organ/brain = 1, /obj/item/organ/heart = 1, /obj/item/reagent_containers/food/snacks/cakeslice/birthday = 3, \ + butcher_results = list(/obj/item/organ/brain = 1, /obj/item/organ/heart = 1, /obj/item/food/cakeslice/birthday = 3, \ /obj/item/reagent_containers/food/snacks/meat/slab = 2) response_harm_continuous = "takes a bite out of" response_harm_simple = "take a bite out of" diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm index bd16daa567f..a2556f0cc94 100644 --- a/code/modules/mob/living/simple_animal/friendly/crab.dm +++ b/code/modules/mob/living/simple_animal/friendly/crab.dm @@ -23,7 +23,6 @@ ventcrawler = VENTCRAWLER_ALWAYS var/obj/item/inventory_head var/obj/item/inventory_mask - gold_core_spawnable = FRIENDLY_SPAWN /mob/living/simple_animal/crab/Life() ..() @@ -44,7 +43,6 @@ real_name = "Coffee" desc = "It's Coffee, the other pet!" gender = FEMALE - gold_core_spawnable = NO_SPAWN /mob/living/simple_animal/crab/evil name = "Evil Crab" @@ -53,7 +51,6 @@ icon_state = "evilcrab" icon_living = "evilcrab" icon_dead = "evilcrab_dead" - gold_core_spawnable = FRIENDLY_SPAWN /mob/living/simple_animal/crab/kreb name = "Kreb" @@ -62,7 +59,6 @@ icon_state = "kreb" icon_living = "kreb" icon_dead = "kreb_dead" - gold_core_spawnable = NO_SPAWN /mob/living/simple_animal/crab/evil/kreb name = "Evil Kreb" @@ -70,4 +66,3 @@ icon_state = "evilkreb" icon_living = "evilkreb" icon_dead = "evilkreb_dead" - gold_core_spawnable = NO_SPAWN diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index 19eef279a1d..2a47d4f0c22 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -88,7 +88,6 @@ butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/corgi = 3, /obj/item/stack/sheet/animalhide/corgi = 1) childtype = list(/mob/living/simple_animal/pet/dog/corgi/puppy = 95, /mob/living/simple_animal/pet/dog/corgi/puppy/void = 5) animal_species = /mob/living/simple_animal/pet/dog - gold_core_spawnable = FRIENDLY_SPAWN collar_type = "corgi" var/obj/item/inventory_head var/obj/item/inventory_back @@ -121,7 +120,6 @@ icon_living = "pug" icon_dead = "pug_dead" butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/pug = 3) - gold_core_spawnable = FRIENDLY_SPAWN collar_type = "pug" held_state = "pug" @@ -394,7 +392,6 @@ response_disarm_simple = "bop" response_harm_continuous = "kicks" response_harm_simple = "kick" - gold_core_spawnable = NO_SPAWN unique_pet = TRUE var/age = 0 var/record_age = 1 @@ -481,50 +478,6 @@ fdel(json_file) WRITE_FILE(json_file, json_encode(file_data)) -/mob/living/simple_animal/pet/dog/corgi/Ian/narsie_act() - playsound(src, 'sound/magic/demon_dies.ogg', 75, TRUE) - var/mob/living/simple_animal/pet/dog/corgi/narsie/N = new(loc) - N.setDir(dir) - gib() - -/mob/living/simple_animal/pet/dog/corgi/narsie - name = "Nars-Ian" - desc = "Ia! Ia!" - icon_state = "narsian" - icon_living = "narsian" - icon_dead = "narsian_dead" - faction = list("neutral", "cult") - gold_core_spawnable = NO_SPAWN - nofur = TRUE - unique_pet = TRUE - held_state = "narsian" - -/mob/living/simple_animal/pet/dog/corgi/narsie/Life() - ..() - for(var/mob/living/simple_animal/pet/P in range(1, src)) - if(P != src && !istype(P,/mob/living/simple_animal/pet/dog/corgi/narsie)) - visible_message("[src] devours [P]!", \ - "DELICIOUS SOULS") - playsound(src, 'sound/magic/demon_attack1.ogg', 75, TRUE) - narsie_act() - if(P.mind) - if(P.mind.hasSoul) - P.mind.hasSoul = FALSE //Nars-Ian ate your soul; you don't have one anymore - else - visible_message("... Aw, someone beat me to this one.") - P.gib() - -/mob/living/simple_animal/pet/dog/corgi/narsie/update_corgi_fluff() - ..() - speak = list("Tari'karat-pasnar!", "IA! IA!", "BRRUUURGHGHRHR") - speak_emote = list("growls", "barks ominously") - emote_hear = list("barks echoingly!", "woofs hauntingly!", "yaps in an eldritch manner.", "mutters something unspeakable.") - emote_see = list("communes with the unnameable.", "ponders devouring some souls.", "shakes.") - -/mob/living/simple_animal/pet/dog/corgi/narsie/narsie_act() - adjustBruteLoss(-maxHealth) - - /mob/living/simple_animal/pet/dog/corgi/regenerate_icons() ..() if(inventory_head) @@ -613,7 +566,6 @@ real_name = "Lisa" gender = FEMALE desc = "She's tearing you apart." - gold_core_spawnable = NO_SPAWN unique_pet = TRUE icon_state = "lisa" icon_living = "lisa" diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm index e0537594c8f..76dc1f09500 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm @@ -30,11 +30,6 @@ var/area/A = get_area(src) if(A) notify_ghosts("A drone shell has been created in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE, ignore_key = POLL_IGNORE_DRONE) - GLOB.poi_list |= src - -/obj/effect/mob_spawn/drone/Destroy() - GLOB.poi_list -= src - . = ..() //ATTACK GHOST IGNORING PARENT RETURN VALUE /obj/effect/mob_spawn/drone/attack_ghost(mob/user) diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index a1884b76298..cc2ab1da9ef 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -12,7 +12,7 @@ speak_chance = 1 turns_per_move = 5 see_in_dark = 6 - butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 4, /obj/item/clothing/head/goatpelt = 1) + butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 4) response_help_continuous = "pets" response_help_simple = "pet" response_disarm_continuous = "gently pushes aside" @@ -122,7 +122,6 @@ attack_sound = 'sound/weapons/punch1.ogg' health = 50 maxHealth = 50 - gold_core_spawnable = FRIENDLY_SPAWN blood_volume = BLOOD_VOLUME_NORMAL food_type = list(/obj/item/reagent_containers/food/snacks/grown/wheat) tame_chance = 25 @@ -178,7 +177,6 @@ /mob/living/simple_animal/cow/wisdom name = "wisdom cow" desc = "Known for its wisdom, shares it with all" - gold_core_spawnable = FALSE tame_chance = 0 bonus_tame_chance = 0 speak_chance = 15 @@ -229,8 +227,6 @@ var/amount_grown = 0 pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY - gold_core_spawnable = FRIENDLY_SPAWN - footstep_type = FOOTSTEP_MOB_CLAW /mob/living/simple_animal/chick/Initialize() @@ -290,7 +286,6 @@ var/list/feedMessages = list("It clucks happily.","It clucks happily.") var/list/layMessage = EGG_LAYING_MESSAGES var/list/validColors = list("brown","black","white") - gold_core_spawnable = FRIENDLY_SPAWN var/static/chicken_count = 0 footstep_type = FOOTSTEP_MOB_CLAW @@ -386,7 +381,6 @@ var/list/feedMessages = list("It clucks happily.","It clucks happily.") var/list/layMessage = EGG_LAYING_MESSAGES var/list/validColors = list("brown","black","white") - gold_core_spawnable = FRIENDLY_SPAWN var/static/chicken_count = 0 environment_smash = ENVIRONMENT_SMASH_NONE melee_damage_lower = 3 diff --git a/code/modules/mob/living/simple_animal/friendly/fox.dm b/code/modules/mob/living/simple_animal/friendly/fox.dm index 8fc52916fa3..164e412cdd1 100644 --- a/code/modules/mob/living/simple_animal/friendly/fox.dm +++ b/code/modules/mob/living/simple_animal/friendly/fox.dm @@ -20,7 +20,6 @@ response_disarm_simple = "gently push aside" response_harm_continuous = "kicks" response_harm_simple = "kick" - gold_core_spawnable = FRIENDLY_SPAWN held_state = "fox" footstep_type = FOOTSTEP_MOB_CLAW @@ -34,5 +33,4 @@ name = "Renault" desc = "Renault, the Captain's trustworthy fox." gender = FEMALE - gold_core_spawnable = NO_SPAWN unique_pet = TRUE diff --git a/code/modules/mob/living/simple_animal/friendly/gondola.dm b/code/modules/mob/living/simple_animal/friendly/gondola.dm index 54e8dad7edb..0bb662979ee 100644 --- a/code/modules/mob/living/simple_animal/friendly/gondola.dm +++ b/code/modules/mob/living/simple_animal/friendly/gondola.dm @@ -22,7 +22,7 @@ icon_living = "gondola" loot = list(/obj/effect/decal/cleanable/blood/gibs, /obj/item/stack/sheet/animalhide/gondola = 1, /obj/item/reagent_containers/food/snacks/meat/slab/gondola = 1) //Gondolas aren't affected by cold. - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 maxHealth = 200 diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm index c854936c7d2..e872fdfcefc 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm @@ -23,7 +23,6 @@ pass_flags = PASSTABLE | PASSMOB mob_size = MOB_SIZE_SMALL mob_biotypes = MOB_ORGANIC|MOB_BEAST|MOB_REPTILE - gold_core_spawnable = FRIENDLY_SPAWN obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE var/static/list/edibles = typecacheof(list(/mob/living/simple_animal/butterfly, /mob/living/simple_animal/hostile/cockroach)) //list of atoms, however turfs won't affect AI, but will affect consumption. diff --git a/code/modules/mob/living/simple_animal/friendly/mothroach.dm b/code/modules/mob/living/simple_animal/friendly/mothroach.dm index 881e64d2a70..083c576e1c1 100644 --- a/code/modules/mob/living/simple_animal/friendly/mothroach.dm +++ b/code/modules/mob/living/simple_animal/friendly/mothroach.dm @@ -17,7 +17,6 @@ health = 25 maxHealth = 25 speed = 1.25 - gold_core_spawnable = FRIENDLY_SPAWN verb_say = "flutters" verb_ask = "flutters inquisitively" verb_exclaim = "flutters loudly" diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index f2fbf6e5b26..c647b59f4d4 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -45,7 +45,6 @@ GLOBAL_VAR_INIT(mouse_killed, 0) mob_biotypes = MOB_ORGANIC|MOB_BEAST lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //WS Edit var/body_color //brown, gray and white, leave blank for random - gold_core_spawnable = FRIENDLY_SPAWN move_force = MOVE_FORCE_EXTREMELY_WEAK //WS Edit var/chew_probability = 1 var/full = FALSE //WS Edit @@ -145,9 +144,6 @@ GLOBAL_VAR_INIT(mouse_killed, 0) else return ..() -/mob/living/simple_animal/mouse/attack_ghost(mob/dead/observer/user) - user.possess_mouse(src) - /mob/living/simple_animal/mouse/start_pulling(atom/movable/AM, state, force, supress_message) return FALSE @@ -264,7 +260,6 @@ GLOBAL_VAR_INIT(mouse_killed, 0) response_disarm_simple = "gently push aside" response_harm_continuous = "splats" response_harm_simple = "splat" - gold_core_spawnable = NO_SPAWN /obj/item/reagent_containers/food/snacks/deadmouse name = "dead mouse" diff --git a/code/modules/mob/living/simple_animal/friendly/penguin.dm b/code/modules/mob/living/simple_animal/friendly/penguin.dm index 8376f6741eb..50ea0a5003c 100644 --- a/code/modules/mob/living/simple_animal/friendly/penguin.dm +++ b/code/modules/mob/living/simple_animal/friendly/penguin.dm @@ -32,17 +32,8 @@ icon_state = "penguin" icon_living = "penguin" icon_dead = "penguin_dead" - gold_core_spawnable = FRIENDLY_SPAWN butcher_results = list(/obj/item/organ/ears/penguin = 1, /obj/item/reagent_containers/food/snacks/meat/slab/penguin = 3) -/mob/living/simple_animal/pet/penguin/emperor/shamebrero - name = "Shamebrero penguin" - desc = "Shameful of all he surveys." - icon_state = "penguin_shamebrero" - icon_living = "penguin_shamebrero" - gold_core_spawnable = NO_SPAWN - unique_pet = TRUE - /mob/living/simple_animal/pet/penguin/baby speak = list("gah", "noot noot", "noot!", "noot", "squeee!", "noo!") name = "Penguin chick" diff --git a/code/modules/mob/living/simple_animal/friendly/sloth.dm b/code/modules/mob/living/simple_animal/friendly/sloth.dm index fa5ab9c9df9..63bc7d76e5d 100644 --- a/code/modules/mob/living/simple_animal/friendly/sloth.dm +++ b/code/modules/mob/living/simple_animal/friendly/sloth.dm @@ -18,7 +18,6 @@ response_harm_continuous = "kicks" response_harm_simple = "kick" mob_biotypes = MOB_ORGANIC|MOB_BEAST - gold_core_spawnable = FRIENDLY_SPAWN melee_damage_lower = 18 melee_damage_upper = 18 health = 50 @@ -33,7 +32,6 @@ /mob/living/simple_animal/sloth/paperwork name = "Paperwork" desc = "Cargo's pet sloth. About as useful as the rest of the techs." - gold_core_spawnable = NO_SPAWN //Cargo Sloth 2 @@ -45,4 +43,3 @@ icon_dead = "cool_sloth_dead" gender = FEMALE butcher_results = list(/obj/item/toy/spinningtoy = 1) - gold_core_spawnable = NO_SPAWN diff --git a/code/modules/mob/living/simple_animal/friendly/snake.dm b/code/modules/mob/living/simple_animal/friendly/snake.dm index d33fac8f5c0..38fb4ced3d9 100644 --- a/code/modules/mob/living/simple_animal/friendly/snake.dm +++ b/code/modules/mob/living/simple_animal/friendly/snake.dm @@ -35,7 +35,6 @@ pass_flags = PASSTABLE | PASSMOB mob_size = MOB_SIZE_SMALL mob_biotypes = MOB_ORGANIC|MOB_BEAST|MOB_REPTILE - gold_core_spawnable = FRIENDLY_SPAWN obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE var/glasses_overlay_file = 'icons/mob/pets.dmi' diff --git a/code/modules/mob/living/simple_animal/friendly/turtle.dm b/code/modules/mob/living/simple_animal/friendly/turtle.dm index 97b07424d37..3ef772cc4be 100644 --- a/code/modules/mob/living/simple_animal/friendly/turtle.dm +++ b/code/modules/mob/living/simple_animal/friendly/turtle.dm @@ -19,7 +19,6 @@ response_harm_continuous = "kicks" response_harm_simple = "kick" mob_biotypes = MOB_ORGANIC|MOB_BEAST - gold_core_spawnable = NO_SPAWN melee_damage_lower = 0.5 melee_damage_upper = 1 health = 2500 diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm deleted file mode 100644 index 538a015c163..00000000000 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ /dev/null @@ -1,786 +0,0 @@ - -GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians - -#define GUARDIAN_HANDS_LAYER 1 -#define GUARDIAN_TOTAL_LAYERS 1 - -/mob/living/simple_animal/hostile/guardian - name = "Guardian Spirit" - real_name = "Guardian Spirit" - desc = "A mysterious being that stands by its charge, ever vigilant." - speak_emote = list("hisses") - gender = NEUTER - mob_biotypes = NONE - bubble_icon = "guardian" - response_help_continuous = "passes through" - response_help_simple = "pass through" - response_disarm_continuous = "flails at" - response_disarm_simple = "flail at" - response_harm_continuous = "punches" - response_harm_simple = "punch" - icon = 'icons/mob/guardian.dmi' - icon_state = "magicbase" - icon_living = "magicbase" - icon_dead = "magicbase" - speed = 0 - a_intent = INTENT_HARM - stop_automated_movement = 1 - movement_type = FLYING // Immunity to chasms and landmines, etc. - attack_sound = 'sound/weapons/punch1.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 - maxbodytemp = INFINITY - attack_verb_continuous = "punches" - attack_verb_simple = "punch" - maxHealth = INFINITY //The spirit itself is invincible - health = INFINITY - healable = FALSE //don't brusepack the guardian - damage_coeff = list(BRUTE = 0.4, BURN = 0.4, TOX = 0.5, CLONE = 0.5, STAMINA = 0, OXY = 0.5) //how much damage from each damage type we transfer to the owner - environment_smash = ENVIRONMENT_SMASH_STRUCTURES - obj_damage = 40 - melee_damage_lower = 15 - melee_damage_upper = 15 - butcher_results = list(/obj/item/ectoplasm = 1) - AIStatus = AI_OFF - light_system = MOVABLE_LIGHT - light_range = 3 - light_on = FALSE - hud_type = /datum/hud/guardian - dextrous_hud_type = /datum/hud/dextrous/guardian //if we're set to dextrous, account for it. - var/mutable_appearance/cooloverlay - var/guardiancolor - var/recolorentiresprite - var/theme - var/list/guardian_overlays[GUARDIAN_TOTAL_LAYERS] - var/reset = 0 //if the summoner has reset the guardian already - var/cooldown = 0 - var/mob/living/summoner - var/range = 10 //how far from the user the spirit can be - var/toggle_button_type = /atom/movable/screen/guardian/ToggleMode/Inactive //what sort of toggle button the hud uses - var/playstyle_string = "You are a Guardian without any type. You shouldn't exist!" - var/magic_fluff_string = "You draw the Coder, symbolizing bugs and errors. This shouldn't happen! Submit a bug report!" - var/tech_fluff_string = "BOOT SEQUENCE COMPLETE. ERROR MODULE LOADED. THIS SHOULDN'T HAPPEN. Submit a bug report!" - var/carp_fluff_string = "CARP CARP CARP SOME SORT OF HORRIFIC BUG BLAME THE CODERS CARP CARP CARP" - var/miner_fluff_string = "You encounter... Mythril, it shouldn't exist... Submit a bug report!" - var/slime_fluff_string = "The crystal grows and creaks, then glitches terribly! Tell a coder if you've seen this!" - -/mob/living/simple_animal/hostile/guardian/Initialize(mapload, theme) - GLOB.parasites += src - updatetheme(theme) - ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT)//local flying mob drifts in space, more news at six - . = ..() - -/mob/living/simple_animal/hostile/guardian/med_hud_set_health() - if(summoner) - var/image/holder = hud_list[HEALTH_HUD] - holder.icon_state = "hud[RoundHealth(summoner)]" - -/mob/living/simple_animal/hostile/guardian/med_hud_set_status() - if(summoner) - var/image/holder = hud_list[STATUS_HUD] - var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size - if(summoner.stat == DEAD) - holder.icon_state = "huddead" - else - holder.icon_state = "hudhealthy" - -/mob/living/simple_animal/hostile/guardian/Destroy() - GLOB.parasites -= src - return ..() - -/mob/living/simple_animal/hostile/guardian/proc/updatetheme(theme) //update the guardian's theme - if(!theme) - theme = pick("magic", "tech", "carp", "miner") - switch(theme)//should make it easier to create new stand designs in the future if anyone likes that - if("magic") - name = "Guardian Spirit" - real_name = "Guardian Spirit" - bubble_icon = "guardian" - icon_state = "magicbase" - icon_living = "magicbase" - icon_dead = "magicbase" - if("tech") - name = "Holoparasite" - real_name = "Holoparasite" - bubble_icon = "holo" - icon_state = "techbase" - icon_living = "techbase" - icon_dead = "techbase" - if("miner") - name = "Power Miner" - real_name = "Power Miner" - bubble_icon = "guardian" - icon_state = "minerbase" - icon_living = "minerbase" - icon_dead = "minerbase" - if("carp") - name = "Holocarp" - real_name = "Holocarp" - bubble_icon = "holo" - icon_state = "holocarp" - icon_living = "holocarp" - icon_dead = "holocarp" - speak_emote = list("gnashes") - desc = "A mysterious fish that stands by its charge, ever vigilant." - attack_verb_continuous = "bites" - attack_verb_simple = "bite" - attack_sound = 'sound/weapons/bite.ogg' - recolorentiresprite = TRUE - if("slime") - bubble_icon = "guardian" - icon_state = "slimebase" - icon_living = "slimebase" - icon_dead = "slimebase" - friendly_verb_continuous = "nourishes" - friendly_verb_simple = "nourish" - attack_verb_continuous = "glomps" - attack_verb_simple = "glomp" - speak_emote = list("blorbles") - attack_sound = 'sound/effects/blobattack.ogg' - desc = "A mysterious slime that stands by its charge, ever vigilant." - attack_sound = 'sound/weapons/bite.ogg' - - if(!recolorentiresprite) //we want this to proc before stand logs in, so the overlay isnt gone for some reason - cooloverlay = mutable_appearance(icon, theme) - add_overlay(cooloverlay) - -/mob/living/simple_animal/hostile/guardian/Login() //if we have a mind, set its name to ours when it logs in - . = ..() - if(!. || !client) - return FALSE - if(mind) - mind.name = "[real_name]" - if(!summoner) - to_chat(src, "For some reason, somehow, you have no summoner. Please report this bug immediately.") - return - to_chat(src, "You are a [real_name], bound to serve [summoner.real_name].") - to_chat(src, "You are capable of manifesting or recalling to your master with the buttons on your HUD. You will also find a button to communicate with [summoner.p_them()] privately there.") - to_chat(src, "While personally invincible, you will die if [summoner.real_name] does, and any damage dealt to you will have a portion passed on to [summoner.p_them()] as you feed upon [summoner.p_them()] to sustain yourself.") - to_chat(src, playstyle_string) - if(!guardiancolor) - guardianrename() - guardianrecolor() - -/mob/living/simple_animal/hostile/guardian/proc/guardianrecolor() - guardiancolor = input(src,"What would you like your color to be?","Choose Your Color","#ffffff") as color|null - if(!guardiancolor) //redo proc until we get a color - to_chat(src, "Not a valid color, please try again.") - guardianrecolor() - return - if(!recolorentiresprite) - cooloverlay.color = guardiancolor - cut_overlay(cooloverlay) //we need to get our new color - add_overlay(cooloverlay) - else - add_atom_colour(guardiancolor, FIXED_COLOUR_PRIORITY) - -/mob/living/simple_animal/hostile/guardian/proc/guardianrename() - var/new_name = sanitize_name(reject_bad_text(stripped_input(src, "What would you like your name to be?", "Choose Your Name", real_name, MAX_NAME_LEN))) - if(!new_name) //redo proc until we get a good name - to_chat(src, "Not a valid name, please try again.") - guardianrename() - return - visible_message("Your new name [new_name] anchors itself in your mind.") - fully_replace_character_name(null, new_name) - -/mob/living/simple_animal/hostile/guardian/Life() //Dies if the summoner dies - . = ..() - update_health_hud() //we need to update all of our health displays to match our summoner and we can't practically give the summoner a hook to do it - med_hud_set_health() - med_hud_set_status() - if(!QDELETED(summoner)) - if(summoner.stat == DEAD) - forceMove(summoner.loc) - to_chat(src, "Your summoner has died!") - visible_message("\The [src] dies along with its user!") - summoner.visible_message("[summoner]'s body is completely consumed by the strain of sustaining [src]!") - for(var/obj/item/W in summoner) - if(!summoner.dropItemToGround(W)) - qdel(W) - summoner.dust() - death(TRUE) - qdel(src) - else - to_chat(src, "Your summoner has died!") - visible_message("[src] dies along with its user!") - death(TRUE) - qdel(src) - snapback() - -/mob/living/simple_animal/hostile/guardian/get_status_tab_items() - . += ..() - if(summoner) - var/resulthealth - if(iscarbon(summoner)) - resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - summoner.health) / abs(HEALTH_THRESHOLD_DEAD - summoner.maxHealth)) * 100) - else - resulthealth = round((summoner.health / summoner.maxHealth) * 100, 0.5) - . += "Summoner Health: [resulthealth]%" - if(cooldown >= world.time) - . += "Manifest/Recall Cooldown Remaining: [DisplayTimeText(cooldown - world.time)]" - -/mob/living/simple_animal/hostile/guardian/Move() //Returns to summoner if they move out of range - . = ..() - snapback() - -/mob/living/simple_animal/hostile/guardian/proc/snapback() - if(summoner) - if(get_dist(get_turf(summoner),get_turf(src)) <= range) - return - else - to_chat(src, "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!") - visible_message("\The [src] jumps back to its user.") - if(istype(summoner.loc, /obj/effect)) - Recall(TRUE) - else - new /obj/effect/temp_visual/guardian/phase/out(loc) - forceMove(summoner.loc) - new /obj/effect/temp_visual/guardian/phase(loc) - -/mob/living/simple_animal/hostile/guardian/proc/is_deployed() - return loc != summoner - -/mob/living/simple_animal/hostile/guardian/AttackingTarget() - if(!is_deployed()) - to_chat(src, "You must be manifested to attack!") - return FALSE - else - return ..() - -/mob/living/simple_animal/hostile/guardian/death() - drop_all_held_items() - ..() - if(summoner) - to_chat(summoner, "Your [name] died somehow!") - summoner.dust() - -/mob/living/simple_animal/hostile/guardian/update_health_hud() - if(summoner && hud_used && hud_used.healths) - var/resulthealth - if(iscarbon(summoner)) - resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - summoner.health) / abs(HEALTH_THRESHOLD_DEAD - summoner.maxHealth)) * 100) - else - resulthealth = round((summoner.health / summoner.maxHealth) * 100, 0.5) - hud_used.healths.maptext = "
    [resulthealth]%
    " - -/mob/living/simple_animal/hostile/guardian/adjustHealth(amount, updating_health = TRUE, forced = FALSE) //The spirit is invincible, but passes on damage to the summoner - . = amount - if(summoner) - if(loc == summoner) - return FALSE - summoner.adjustBruteLoss(amount) - if(amount > 0) - to_chat(summoner, "Your [name] is under attack! You take damage!") - summoner.visible_message("Blood sprays from [summoner] as [src] takes damage!") - switch(summoner.stat) - if(UNCONSCIOUS, HARD_CRIT) - to_chat(summoner, "Your body can't take the strain of sustaining [src] in this condition, it begins to fall apart!") - summoner.adjustCloneLoss(amount * 0.5) //dying hosts take 50% bonus damage as cloneloss - update_health_hud() - -/mob/living/simple_animal/hostile/guardian/ex_act(severity, target) - switch(severity) - if(1) - gib() - return - if(2) - adjustBruteLoss(60) - if(3) - adjustBruteLoss(30) - -/mob/living/simple_animal/hostile/guardian/gib() - if(summoner) - to_chat(summoner, "Your [src] was blown up!") - summoner.gib() - ghostize() - qdel(src) - -//HAND HANDLING - -/mob/living/simple_animal/hostile/guardian/equip_to_slot(obj/item/I, slot) - if(!slot) - return FALSE - if(!istype(I)) - return FALSE - - . = TRUE - var/index = get_held_index_of_item(I) - if(index) - held_items[index] = null - update_inv_hands() - - if(I.pulledby) - I.pulledby.stop_pulling() - - I.screen_loc = null // will get moved if inventory is visible - I.forceMove(src) - I.equipped(src, slot) - I.layer = ABOVE_HUD_LAYER - I.plane = ABOVE_HUD_PLANE - -/mob/living/simple_animal/hostile/guardian/proc/apply_overlay(cache_index) - if((. = guardian_overlays[cache_index])) - add_overlay(.) - -/mob/living/simple_animal/hostile/guardian/proc/remove_overlay(cache_index) - var/I = guardian_overlays[cache_index] - if(I) - cut_overlay(I) - guardian_overlays[cache_index] = null - -/mob/living/simple_animal/hostile/guardian/update_inv_hands() - remove_overlay(GUARDIAN_HANDS_LAYER) - var/list/hands_overlays = list() - var/obj/item/l_hand = get_item_for_held_index(1) - var/obj/item/r_hand = get_item_for_held_index(2) - - if(r_hand) - hands_overlays += r_hand.build_worn_icon(default_layer = GUARDIAN_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE) - - if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD) - r_hand.layer = ABOVE_HUD_LAYER - r_hand.plane = ABOVE_HUD_PLANE - r_hand.screen_loc = ui_hand_position(get_held_index_of_item(r_hand)) - client.screen |= r_hand - - if(l_hand) - hands_overlays += l_hand.build_worn_icon(default_layer = GUARDIAN_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE) - - if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD) - l_hand.layer = ABOVE_HUD_LAYER - l_hand.plane = ABOVE_HUD_PLANE - l_hand.screen_loc = ui_hand_position(get_held_index_of_item(l_hand)) - client.screen |= l_hand - - if(hands_overlays.len) - guardian_overlays[GUARDIAN_HANDS_LAYER] = hands_overlays - apply_overlay(GUARDIAN_HANDS_LAYER) - -/mob/living/simple_animal/hostile/guardian/regenerate_icons() - update_inv_hands() - -//MANIFEST, RECALL, TOGGLE MODE/LIGHT, SHOW TYPE - -/mob/living/simple_animal/hostile/guardian/proc/Manifest(forced) - if(istype(summoner.loc, /obj/effect) || (cooldown > world.time && !forced)) - return FALSE - if(loc == summoner) - forceMove(summoner.loc) - new /obj/effect/temp_visual/guardian/phase(loc) - cooldown = world.time + 10 - reset_perspective() - return TRUE - return FALSE - -/mob/living/simple_animal/hostile/guardian/proc/Recall(forced) - if(!summoner || loc == summoner || (cooldown > world.time && !forced)) - return FALSE - new /obj/effect/temp_visual/guardian/phase/out(loc) - - forceMove(summoner) - cooldown = world.time + 10 - return TRUE - -/mob/living/simple_animal/hostile/guardian/proc/ToggleMode() - to_chat(src, "You don't have another mode!") - - -/mob/living/simple_animal/hostile/guardian/proc/ToggleLight() - if(!light_on) - to_chat(src, "You activate your light.") - set_light_on(TRUE) - else - to_chat(src, "You deactivate your light.") - set_light_on(FALSE) - - -/mob/living/simple_animal/hostile/guardian/verb/ShowType() - set name = "Check Guardian Type" - set category = "Guardian" - set desc = "Check what type you are." - to_chat(src, playstyle_string) - -//COMMUNICATION - -/mob/living/simple_animal/hostile/guardian/proc/Communicate() - if(summoner) - var/sender_key = key - var/input = stripped_input(src, "Please enter a message to tell your summoner.", "Guardian", "") - if(sender_key != key || !input) //guardian got reset, or did not enter anything - return - - var/preliminary_message = "[input]" //apply basic color/bolding - var/my_message = "[src]: [preliminary_message]" //add source, color source with the guardian's color - - to_chat(summoner, my_message) - var/list/guardians = summoner.hasparasites() - for(var/para in guardians) - to_chat(para, my_message) - for(var/M in GLOB.dead_mob_list) - var/link = FOLLOW_LINK(M, src) - to_chat(M, "[link] [my_message]") - - src.log_talk(input, LOG_SAY, tag="guardian") - -/mob/living/proc/guardian_comm() - set name = "Communicate" - set category = "Guardian" - set desc = "Communicate telepathically with your guardian." - var/input = stripped_input(src, "Please enter a message to tell your guardian.", "Message", "") - if(!input) - return - - var/preliminary_message = "[input]" //apply basic color/bolding - var/my_message = "[src]: [preliminary_message]" //add source, color source with default grey... - - to_chat(src, my_message) - var/list/guardians = hasparasites() - for(var/para in guardians) - var/mob/living/simple_animal/hostile/guardian/G = para - to_chat(G, "[src]: [preliminary_message]" ) - for(var/M in GLOB.dead_mob_list) - var/link = FOLLOW_LINK(M, src) - to_chat(M, "[link] [my_message]") - - src.log_talk(input, LOG_SAY, tag="guardian") - -//FORCE RECALL/RESET - -/mob/living/proc/guardian_recall() - set name = "Recall Guardian" - set category = "Guardian" - set desc = "Forcibly recall your guardian." - var/list/guardians = hasparasites() - for(var/para in guardians) - var/mob/living/simple_animal/hostile/guardian/G = para - G.Recall() - -/mob/living/proc/guardian_reset() - set name = "Reset Guardian Player (One Use)" - set category = "Guardian" - set desc = "Re-rolls which ghost will control your Guardian. One use per Guardian." - - var/list/guardians = hasparasites() - for(var/para in guardians) - var/mob/living/simple_animal/hostile/guardian/P = para - if(P.reset) - guardians -= P //clear out guardians that are already reset - if(guardians.len) - var/mob/living/simple_animal/hostile/guardian/G = input(src, "Pick the guardian you wish to reset", "Guardian Reset") as null|anything in sortNames(guardians) - if(G) - to_chat(src, "You attempt to reset [G.real_name]'s personality...") - var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as [src.real_name]'s [G.real_name]?", ROLE_PAI, null, FALSE, 100) - if(LAZYLEN(candidates)) - var/mob/dead/observer/C = pick(candidates) - to_chat(G, "Your user reset you, and your body was taken over by a ghost. Looks like they weren't happy with your performance.") - to_chat(src, "Your [G.real_name] has been successfully reset.") - message_admins("[key_name_admin(C)] has taken control of ([ADMIN_LOOKUPFLW(G)])") - G.ghostize(0) - G.guardianrecolor() - G.guardianrename() //give it a new color and name, to show it's a new person - G.key = C.key - G.reset = 1 - switch(G.theme) - if("tech") - to_chat(src, "[G.real_name] is now online!") - if("magic") - to_chat(src, "[G.real_name] has been summoned!") - if("carp") - to_chat(src, "[G.real_name] has been caught!") - if("miner") - to_chat(src, "[G.real_name] has appeared!") - if("slime") - to_chat(src, "[G.real_name] has taken shape!") - guardians -= G - if(!guardians.len) - remove_verb(src, /mob/living/proc/guardian_reset) - else - to_chat(src, "There were no ghosts willing to take control of [G.real_name]. Looks like you're stuck with it for now.") - else - to_chat(src, "You decide not to reset [guardians.len > 1 ? "any of your guardians":"your guardian"].") - else - remove_verb(src, /mob/living/proc/guardian_reset) - -////////parasite tracking/finding procs - -/mob/living/proc/hasparasites() //returns a list of guardians the mob is a summoner for - . = list() - for(var/P in GLOB.parasites) - var/mob/living/simple_animal/hostile/guardian/G = P - if(G.summoner == src) - . += G - -/mob/living/simple_animal/hostile/guardian/proc/hasmatchingsummoner(mob/living/simple_animal/hostile/guardian/G) //returns 1 if the summoner matches the target's summoner - return (istype(G) && G.summoner == summoner) - - -////////Creation - -/obj/item/guardiancreator - name = "enchanted deck of tarot cards" - desc = "An enchanted deck of tarot cards, rumored to be a source of unimaginable power." - icon = 'icons/obj/toy.dmi' - icon_state = "deck_tarot_full" - var/used = FALSE - var/theme = "magic" - var/mob_name = "Guardian Spirit" - var/use_message = "You shuffle the deck..." - var/used_message = "All the cards seem to be blank now." - var/failure_message = "..And draw a card! It's...blank? Maybe you should try again later." - var/ling_failure = "The deck refuses to respond to a souless creature such as you." - var/list/possible_guardians = list("Assassin", "Chaos", "Charger", "Explosive", "Lightning", "Protector", "Ranged", "Standard", "Support", "Gravitokinetic") - var/random = TRUE - var/allowmultiple = FALSE - var/allowling = TRUE - var/allowguardian = FALSE - -/obj/item/guardiancreator/attack_self(mob/living/user) - if(isguardian(user) && !allowguardian) - to_chat(user, "[mob_name] chains are not allowed.") - return - var/list/guardians = user.hasparasites() - if(guardians.len && !allowmultiple) - to_chat(user, "You already have a [mob_name]!") - return - if(user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling) && !allowling) - to_chat(user, "[ling_failure]") - return - if(used == TRUE) - to_chat(user, "[used_message]") - return - used = TRUE - to_chat(user, "[use_message]") - var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as the [mob_name] of [user.real_name]?", ROLE_PAI, null, FALSE, 100, POLL_IGNORE_HOLOPARASITE) - - if(LAZYLEN(candidates)) - var/mob/dead/observer/C = pick(candidates) - spawn_guardian(user, C.key) - else - to_chat(user, "[failure_message]") - used = FALSE - - -/obj/item/guardiancreator/proc/spawn_guardian(mob/living/user, key) - var/guardiantype = "Standard" - if(random) - guardiantype = pick(possible_guardians) - else - guardiantype = input(user, "Pick the type of [mob_name]", "[mob_name] Creation") as null|anything in sortList(possible_guardians) - if(!guardiantype) - to_chat(user, "[failure_message]" ) - used = FALSE - return - var/pickedtype = /mob/living/simple_animal/hostile/guardian/punch - switch(guardiantype) - - if("Chaos") - pickedtype = /mob/living/simple_animal/hostile/guardian/fire - - if("Standard") - pickedtype = /mob/living/simple_animal/hostile/guardian/punch - - if("Ranged") - pickedtype = /mob/living/simple_animal/hostile/guardian/ranged - - if("Support") - pickedtype = /mob/living/simple_animal/hostile/guardian/healer - - if("Explosive") - pickedtype = /mob/living/simple_animal/hostile/guardian/bomb - - if("Lightning") - pickedtype = /mob/living/simple_animal/hostile/guardian/beam - - if("Protector") - pickedtype = /mob/living/simple_animal/hostile/guardian/protector - - if("Charger") - pickedtype = /mob/living/simple_animal/hostile/guardian/charger - - if("Assassin") - pickedtype = /mob/living/simple_animal/hostile/guardian/assassin - - if("Dextrous") - pickedtype = /mob/living/simple_animal/hostile/guardian/dextrous - - if("Gravitokinetic") - pickedtype = /mob/living/simple_animal/hostile/guardian/gravitokinetic - - if("Slime") - pickedtype = /mob/living/simple_animal/hostile/guardian/slime - - var/list/guardians = user.hasparasites() - if(guardians.len && !allowmultiple) - to_chat(user, "You already have a [mob_name]!" ) - used = FALSE - return - var/mob/living/simple_animal/hostile/guardian/G = new pickedtype(user, theme) - G.name = mob_name - G.summoner = user - G.key = key - G.mind.enslave_mind_to_creator(user) - log_game("[key_name(user)] has summoned [key_name(G)], a [guardiantype] holoparasite.") - switch(theme) - if("tech") - to_chat(user, "[G.tech_fluff_string]") - to_chat(user, "[G.real_name] is now online!") - if("magic") - to_chat(user, "[G.magic_fluff_string]") - to_chat(user, "[G.real_name] has been summoned!") - if("carp") - to_chat(user, "[G.carp_fluff_string]") - to_chat(user, "[G.real_name] has been caught!") - if("miner") - to_chat(user, "[G.miner_fluff_string]") - to_chat(user, "[G.real_name] has appeared!") - if("slime") - to_chat(user, "[G.slime_fluff_string]") - to_chat(user, "[G.real_name] was created using slime science!") - add_verb(user, list(/mob/living/proc/guardian_comm, \ - /mob/living/proc/guardian_recall, \ - /mob/living/proc/guardian_reset)) - G?.client.init_verbs() - -/obj/item/guardiancreator/choose - random = FALSE - -/obj/item/guardiancreator/choose/dextrous - possible_guardians = list("Assassin", "Chaos", "Charger", "Dextrous", "Explosive", "Lightning", "Protector", "Ranged", "Standard", "Support") - -/obj/item/guardiancreator/choose/wizard - possible_guardians = list("Assassin", "Chaos", "Charger", "Dextrous", "Explosive", "Lightning", "Protector", "Ranged", "Standard",) - allowmultiple = TRUE - -/obj/item/guardiancreator/tech - name = "holoparasite injector" - desc = "It contains an alien nanoswarm of unknown origin. Though capable of near sorcerous feats via use of hardlight holograms and nanomachines, it requires an organic host as a home base and source of fuel." - icon = 'icons/obj/syringe.dmi' - icon_state = "combat_hypo" - theme = "tech" - mob_name = "Holoparasite" - use_message = "You start to power on the injector..." - used_message = "The injector has already been used." - failure_message = "...ERROR. BOOT SEQUENCE ABORTED. AI FAILED TO INTIALIZE. PLEASE CONTACT SUPPORT OR TRY AGAIN LATER." - ling_failure = "The holoparasites recoil in horror. They want nothing to do with a creature like you." - -/obj/item/guardiancreator/tech/choose/traitor - possible_guardians = list("Assassin", "Chaos", "Charger", "Explosive", "Lightning", "Protector", "Ranged", "Standard", "Support") - allowling = FALSE - -/obj/item/guardiancreator/tech/choose - random = FALSE - -/obj/item/guardiancreator/tech/choose/dextrous - possible_guardians = list("Assassin", "Chaos", "Charger", "Dextrous", "Explosive", "Lightning", "Protector", "Ranged", "Standard", "Support")//"Gravokinetic" to re-add guardians to lists like this one - -/obj/item/paper/guides/antag/guardian - name = "Holoparasite Guide" - default_raw_text = {"A list of Holoparasite Types
    - -
    -Assassin: Does medium damage and takes full damage, but can enter stealth, causing its next attack to do massive damage and ignore armor. However, it becomes briefly unable to recall after attacking from stealth.
    -
    -Chaos: Ignites enemies on touch and causes them to hallucinate all nearby people as the parasite. Automatically extinguishes the user if they catch on fire.
    -
    -Charger: Moves extremely fast, does medium damage on attack, and can charge at targets, damaging the first target hit and forcing them to drop any items they are holding.
    -
    -Dexterous: Does low damage on attack, but is capable of holding items and storing a single item within it. It will drop items held in its hands when it recalls, but it will retain the stored item.
    -
    -Explosive: High damage resist and medium power attack that may explosively teleport targets. Can turn any object, including objects too large to pick up, into a bomb, dealing explosive damage to the next person to touch it. The object will return to normal after the trap is triggered or after a delay.
    -
    -Lightning: Attacks apply lightning chains to targets. Has a lightning chain to the user. Lightning chains shock everything near them, doing constant damage.
    -
    -Protector: Causes you to teleport to it when out of range, unlike other parasites. Has two modes; Combat, where it does and takes medium damage, and Protection, where it does and takes almost no damage but moves slightly slower.
    -
    -Ranged: Has two modes. Ranged; which fires a constant stream of weak, armor-ignoring projectiles. Scout; Cannot attack, but can move through walls and is quite hard to see. Can lay surveillance snares, which alert it when crossed, in either mode.
    -
    -Standard: Devastating close combat attacks and high damage resist. Can smash through weak walls.
    -
    -Gravitokinetic: Attacks will apply crushing gravity to the target. Can target the ground as well to slow targets advancing on you, but this will affect the user.
    -
    -"} - -/obj/item/paper/guides/antag/guardian/wizard - name = "Guardian Guide" - default_raw_text = {"A list of Guardian Types
    - -
    -Assassin: Does medium damage and takes full damage, but can enter stealth, causing its next attack to do massive damage and ignore armor. However, it becomes briefly unable to recall after attacking from stealth.
    -
    -Chaos: Ignites enemies on touch and causes them to hallucinate all nearby people as the guardian. Automatically extinguishes the user if they catch on fire.
    -
    -Charger: Moves extremely fast, does medium damage on attack, and can charge at targets, damaging the first target hit and forcing them to drop any items they are holding.
    -
    -Dexterous: Does low damage on attack, but is capable of holding items and storing a single item within it. It will drop items held in its hands when it recalls, but it will retain the stored item.
    -
    -Explosive: High damage resist and medium power attack that may explosively teleport targets. Can turn any object, including objects too large to pick up, into a bomb, dealing explosive damage to the next person to touch it. The object will return to normal after the trap is triggered or after a delay.
    -
    -Lightning: Attacks apply lightning chains to targets. Has a lightning chain to the user. Lightning chains shock everything near them, doing constant damage.
    -
    -Protector: Causes you to teleport to it when out of range, unlike other parasites. Has two modes; Combat, where it does and takes medium damage, and Protection, where it does and takes almost no damage but moves slightly slower.
    -
    -Ranged: Has two modes. Ranged; which fires a constant stream of weak, armor-ignoring projectiles. Scout; Cannot attack, but can move through walls and is quite hard to see. Can lay surveillance snares, which alert it when crossed, in either mode.
    -
    -Standard: Devastating close combat attacks and high damage resist. Can smash through weak walls.
    -
    -Gravitokinetic: Attacks will apply crushing gravity to the target. Can target the ground as well to slow targets advancing on you, but this will affect the user.
    -
    -"} - - -/obj/item/storage/box/syndie_kit/guardian - name = "holoparasite injector kit" - -/obj/item/storage/box/syndie_kit/guardian/PopulateContents() - new /obj/item/guardiancreator/tech/choose/dextrous(src) //WS Edit - Dextrous Guardians - new /obj/item/paper/guides/antag/guardian(src) - -/obj/item/guardiancreator/carp - name = "holocarp fishsticks" - desc = "Using the power of Carp'sie, you can catch a carp from byond the veil of Carpthulu, and bind it to your fleshy flesh form." - icon = 'icons/obj/food/food.dmi' - icon_state = "fishfingers" - theme = "carp" - mob_name = "Holocarp" - use_message = "You put the fishsticks in your mouth..." - used_message = "Someone's already taken a bite out of these fishsticks! Ew." - failure_message = "You couldn't catch any carp spirits from the seas of Lake Carp. Maybe there are none, maybe you fucked up." - ling_failure = "Carp'sie seems to not have taken you as the chosen one. Maybe it's because of your horrifying origin." - allowmultiple = TRUE - -/obj/item/guardiancreator/carp/choose - random = FALSE - -/obj/item/guardiancreator/miner - name = "dusty shard" - desc = "Seems to be a very old rock, may have originated from a strange meteor." - icon = 'icons/obj/lavaland/artefacts.dmi' - icon_state = "dustyshard" - theme = "miner" - mob_name = "Power Miner" - use_message = "You pierce your skin with the shard..." - used_message = "This shard seems to have lost all its' power..." - failure_message = "The shard hasn't reacted at all. Maybe try again later..." - ling_failure = "The power of the shard seems to not react with your horrifying, mutated body." - -/obj/item/guardiancreator/miner/choose - random = FALSE - name = "glimmering shard" - desc = "Seems to be a very old rock, may have originated from a strange meteor. This one looks exceptionally pure." - possible_guardians = list("Assassin", "Chaos", "Charger", "Dextrous", "Explosive", "Lightning", "Protector", "Ranged", "Standard", "Support") - allowmultiple = TRUE//if you *somehow* get the extremely rare minerchoose guardian(25% chance to spawn, for an item in a table of around 30 options) while you already have a guardian, you can stack it. The ultimate gambling. - -/obj/item/guardiancreator/slime - name = "slime shard" - desc = "A shard of crystallized slime." - icon = 'icons/obj/lavaland/artefacts.dmi' - icon_state = "dustyshard" - color = "#00ff15" - theme = "slime" - mob_name = "Standing Slime" - use_message = "You squeeze the shard inhand, and it grows warm..." - used_message = "You squeeze the shard, but nothing happens. Maybe it's been used already." - failure_message = "The shard grows cold. Maybe try again later?" - ling_failure = "The shard seems to quiver and twist away from you." - possible_guardians = list("Slime") diff --git a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm deleted file mode 100644 index 7cfed9d167d..00000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm +++ /dev/null @@ -1,101 +0,0 @@ -//Assassin -/mob/living/simple_animal/hostile/guardian/assassin - melee_damage_lower = 15 - melee_damage_upper = 15 - attack_verb_continuous = "slashes" - attack_verb_simple = "slash" - attack_sound = 'sound/weapons/bladeslice.ogg' - damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) - playstyle_string = "As an assassin type you do medium damage and have no damage resistance, but can enter stealth, massively increasing the damage of your next attack and causing it to ignore armor. Stealth is broken when you attack or take damage." - magic_fluff_string = "..And draw the Space Ninja, a lethal, invisible assassin." - tech_fluff_string = "Boot sequence complete. Assassin modules loaded. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! Caught one! It's an assassin carp! Just when you thought it was safe to go back to the water... which is unhelpful, because we're in space." - miner_fluff_string = "You encounter... Glass, a sharp, fragile attacker." - toggle_button_type = /atom/movable/screen/guardian/ToggleMode/Assassin - var/toggle = FALSE - var/stealthcooldown = 100 - var/atom/movable/screen/alert/canstealthalert - var/atom/movable/screen/alert/instealthalert - speed = -1 - -/mob/living/simple_animal/hostile/guardian/assassin/Initialize() - . = ..() - stealthcooldown = 0 - -/mob/living/simple_animal/hostile/guardian/assassin/Life() - . = ..() - updatestealthalert() - if(loc == summoner && toggle) - ToggleMode(0) - -/mob/living/simple_animal/hostile/guardian/assassin/get_status_tab_items() - . = ..() - if(stealthcooldown >= world.time) - . += "Stealth Cooldown Remaining: [DisplayTimeText(stealthcooldown - world.time)]" - -/mob/living/simple_animal/hostile/guardian/assassin/AttackingTarget() - . = ..() - if(.) - if(toggle && (isliving(target) || istype(target, /obj/structure/window) || istype(target, /obj/structure/grille))) - ToggleMode(1) - -/mob/living/simple_animal/hostile/guardian/assassin/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - . = ..() - if(. > 0 && toggle) - ToggleMode(1) - -/mob/living/simple_animal/hostile/guardian/assassin/Recall() - if(..() && toggle) - ToggleMode(0) - -/mob/living/simple_animal/hostile/guardian/assassin/ToggleMode(forced = 0) - if(toggle) - melee_damage_lower = initial(melee_damage_lower) - melee_damage_upper = initial(melee_damage_upper) - armour_penetration = initial(armour_penetration) - obj_damage = initial(obj_damage) - environment_smash = initial(environment_smash) - alpha = initial(alpha) - if(!forced) - to_chat(src, "You exit stealth.") - else - visible_message("\The [src] suddenly appears!") - stealthcooldown = world.time + initial(stealthcooldown) //we were forced out of stealth and go on cooldown - cooldown = world.time + 40 //can't recall for 4 seconds - updatestealthalert() - toggle = FALSE - else if(stealthcooldown <= world.time) - if(src.loc == summoner) - to_chat(src, "You have to be manifested to enter stealth!") - return - melee_damage_lower = 50 - melee_damage_upper = 50 - armour_penetration = 100 - obj_damage = 0 - environment_smash = ENVIRONMENT_SMASH_NONE - new /obj/effect/temp_visual/guardian/phase/out(get_turf(src)) - alpha = 20 - if(!forced) - to_chat(src, "You enter stealth, empowering your next attack.") - updatestealthalert() - toggle = TRUE - else if(!forced) - to_chat(src, "You cannot yet enter stealth, wait another [DisplayTimeText(stealthcooldown - world.time)]!") - -/mob/living/simple_animal/hostile/guardian/assassin/proc/updatestealthalert() - if(stealthcooldown <= world.time) - if(toggle) - if(!instealthalert) - instealthalert = throw_alert("instealth", /atom/movable/screen/alert/instealth) - clear_alert("canstealth") - canstealthalert = null - else - if(!canstealthalert) - canstealthalert = throw_alert("canstealth", /atom/movable/screen/alert/canstealth) - clear_alert("instealth") - instealthalert = null - else - clear_alert("instealth") - instealthalert = null - clear_alert("canstealth") - canstealthalert = null diff --git a/code/modules/mob/living/simple_animal/guardian/types/charger.dm b/code/modules/mob/living/simple_animal/guardian/types/charger.dm deleted file mode 100644 index 7ebd3c8b3cc..00000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/charger.dm +++ /dev/null @@ -1,77 +0,0 @@ -//Charger -/mob/living/simple_animal/hostile/guardian/charger - melee_damage_lower = 15 - melee_damage_upper = 15 - ranged = 1 //technically - ranged_message = "charges" - ranged_cooldown_time = 10 - speed = 2//slow when not charging - damage_coeff = list(BRUTE = 0.5, BURN = 0.5, TOX = 0.6, CLONE = 0.6, STAMINA = 0, OXY = 0.6) - playstyle_string = "As a charger type you are a formidable close range fighter, but move slowly when not charging. You can charge at a location, damaging any target hit and potentially knocking them flat." - magic_fluff_string = "..And draw the Hunter, an alien master of rapid assault." - tech_fluff_string = "Boot sequence complete. Charge modules loaded. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! Caught one! It's a charger carp, that likes running at people. But it doesn't have any legs..." - miner_fluff_string = "You encounter... Titanium, a lightweight, agile fighter." - var/charging = 0 - var/atom/movable/screen/alert/chargealert - -/mob/living/simple_animal/hostile/guardian/charger/Life() - . = ..() - if(ranged_cooldown <= world.time) - if(!chargealert) - chargealert = throw_alert("charge", /atom/movable/screen/alert/cancharge) - else - clear_alert("charge") - chargealert = null - -/mob/living/simple_animal/hostile/guardian/charger/OpenFire(atom/A) - if(!charging) - visible_message("[src] [ranged_message] at [A]!") - ranged_cooldown = world.time + ranged_cooldown_time - clear_alert("charge") - chargealert = null - Shoot(A) - -/mob/living/simple_animal/hostile/guardian/charger/Shoot(atom/targeted_atom) - charging = 1 - throw_at(targeted_atom, range, 1, src, FALSE, TRUE, callback = CALLBACK(src, PROC_REF(charging_end))) - -/mob/living/simple_animal/hostile/guardian/charger/proc/charging_end() - charging = 0 - -/mob/living/simple_animal/hostile/guardian/charger/Move() - if(charging) - new /obj/effect/temp_visual/decoy/fading(loc,src) - . = ..() - -/mob/living/simple_animal/hostile/guardian/charger/snapback() - if(!charging) - ..() - -/mob/living/simple_animal/hostile/guardian/charger/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - if(!charging) - return ..() - - else if(hit_atom) - if(isliving(hit_atom) && hit_atom != summoner) - var/mob/living/L = hit_atom - var/blocked = FALSE - if(hasmatchingsummoner(hit_atom)) //if the summoner matches don't hurt them - blocked = TRUE - if(ishuman(hit_atom)) - var/mob/living/carbon/human/H = hit_atom - if(H.check_shields(src, 90, "[name]", attack_type = THROWN_PROJECTILE_ATTACK)) - blocked = TRUE - if(!blocked) - L.visible_message("[src] slams into [L]!", "[src] slams into you!") - if(prob(25)) - L.drop_all_held_items() - L.Knockdown(10) - L.visible_message("[L] is knocked clean over!", "You are flung to the ground by the impact!") - L.apply_damage(30, BRUTE) - playsound(get_turf(L), 'sound/effects/meteorimpact.ogg', 100, TRUE) - shake_camera(L, 4, 3) - shake_camera(src, 2, 3) - - charging = 0 - diff --git a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm deleted file mode 100644 index 48fb3db7b7b..00000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm +++ /dev/null @@ -1,85 +0,0 @@ -//Dextrous -/mob/living/simple_animal/hostile/guardian/dextrous//very few buffs needed, this is arguably the most "powerful" holoparasite for the reason that is: GUN. - melee_damage_lower = 10 - melee_damage_upper = 10 - damage_coeff = list(BRUTE = 0.5, BURN = 0.5, TOX = 0.75, CLONE = 0.75, STAMINA = 0, OXY = 0.75) - playstyle_string = "As a dextrous type you can hold items, store an item within yourself, and have medium damage resistance, but do low damage on attacks. Recalling and leashing will force you to drop unstored items!" - magic_fluff_string = "..And draw the Drone, a dextrous master of construction and repair." - tech_fluff_string = "Boot sequence complete. Dextrous combat modules loaded. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! You caught one! It can hold stuff in its fins, sort of." - miner_fluff_string = "You encounter... Gold, a malleable constructor." - dextrous = TRUE - held_items = list(null, null) - var/obj/item/internal_storage //what we're storing within ourself - -/mob/living/simple_animal/hostile/guardian/dextrous/death(gibbed) - ..() - if(internal_storage) - dropItemToGround(internal_storage) - -/mob/living/simple_animal/hostile/guardian/dextrous/examine(mob/user) - if(dextrous) - . = list("This is [icon2html(src)] \a [src]!\n[desc]") - for(var/obj/item/I in held_items) - if(!(I.item_flags & ABSTRACT)) - . += "It has [I.get_examine_string(user)] in its [get_held_index_name(get_held_index_of_item(I))]." - if(internal_storage && !(internal_storage.item_flags & ABSTRACT)) - . += "It is holding [internal_storage.get_examine_string(user)] in its internal storage." - . += "" - else - return ..() - -/mob/living/simple_animal/hostile/guardian/dextrous/Recall(forced) - if(!summoner || loc == summoner || (cooldown > world.time && !forced)) - return FALSE - drop_all_held_items() - return ..() //lose items, then return - -/mob/living/simple_animal/hostile/guardian/dextrous/snapback() - if(summoner && !(get_dist(get_turf(summoner),get_turf(src)) <= range)) - drop_all_held_items() - ..() //lose items, then return - -//SLOT HANDLING BULLSHIT FOR INTERNAL STORAGE -/mob/living/simple_animal/hostile/guardian/dextrous/doUnEquip(obj/item/I, force, newloc, no_move, invdrop = TRUE, silent = FALSE) - if(..()) - update_inv_hands() - if(I == internal_storage) - internal_storage = null - update_inv_internal_storage() - return TRUE - return FALSE - -/mob/living/simple_animal/hostile/guardian/dextrous/can_equip(obj/item/I, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE) - switch(slot) - if(ITEM_SLOT_DEX_STORAGE) - if(internal_storage) - return FALSE - return TRUE - ..() - -/mob/living/simple_animal/hostile/guardian/dextrous/equip_to_slot(obj/item/I, slot) - if(!..()) - return - - switch(slot) - if(ITEM_SLOT_DEX_STORAGE) - internal_storage = I - update_inv_internal_storage() - else - to_chat(src, "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!") - -/mob/living/simple_animal/hostile/guardian/dextrous/getBackSlot() - return ITEM_SLOT_DEX_STORAGE - -/mob/living/simple_animal/hostile/guardian/dextrous/getBeltSlot() - return ITEM_SLOT_DEX_STORAGE - -/mob/living/simple_animal/hostile/guardian/dextrous/proc/update_inv_internal_storage() - if(internal_storage && client && hud_used && hud_used.hud_shown) - internal_storage.screen_loc = ui_id - client.screen += internal_storage - -/mob/living/simple_animal/hostile/guardian/dextrous/regenerate_icons() - ..() - update_inv_internal_storage() diff --git a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm deleted file mode 100644 index f93f70d8ffb..00000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm +++ /dev/null @@ -1,78 +0,0 @@ -#define UNREGISTER_BOMB_SIGNALS(A) \ - do { \ - UnregisterSignal(A, boom_signals); \ - UnregisterSignal(A, COMSIG_PARENT_EXAMINE); \ - } while (0) - -//Bomb -/mob/living/simple_animal/hostile/guardian/bomb - melee_damage_lower = 35 - melee_damage_upper = 35 - next_move_modifier = 1.5//attacks are 50% slower - damage_coeff = list(BRUTE = 0.6, BURN = 0.6, TOX = 0.6, CLONE = 0.6, STAMINA = 0, OXY = 0.6)//relatively delicate, for a holopara - attack_sound = 'sound/effects/gravhit.ogg' - range = 5//tiny range - speed = 4//slow af - playstyle_string = "As an explosive type, you have powerful but slow blasting punches, may explode targets for bonus damage on attack, and are capable of converting nearby items and objects into disguised bombs via alt click. However, you are slow, and your range is very low. Make it count!" - magic_fluff_string = "..And draw the Scientist, master of explosive death." - tech_fluff_string = "Boot sequence complete. Explosive modules active. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! Caught one! It's an explosive carp! Boom goes the fishy." - miner_fluff_string = "You encounter... Gibtonite, an explosive fighter." - var/bomb_cooldown = 0 - var/static/list/boom_signals = list(COMSIG_PARENT_ATTACKBY, COMSIG_ATOM_BUMPED, COMSIG_ATOM_ATTACK_HAND) - -/mob/living/simple_animal/hostile/guardian/bomb/get_status_tab_items() - . = ..() - if(bomb_cooldown >= world.time) - . += "Bomb Cooldown Remaining: [DisplayTimeText(bomb_cooldown - world.time)]" - -/mob/living/simple_animal/hostile/guardian/bomb/AttackingTarget() - . = ..() - if(. && prob(65) && isliving(target)) - var/mob/living/M = target - if(!M.anchored && M != summoner && !hasmatchingsummoner(M)) - new /obj/effect/temp_visual/guardian/phase/out(get_turf(M)) - for(var/mob/living/L in range(1, M)) - if(hasmatchingsummoner(L)) //if the summoner matches don't hurt them - continue - if(L != src && L != summoner) - L.apply_damage(20, BRUTE) - new /obj/effect/temp_visual/explosion(get_turf(M)) - -/mob/living/simple_animal/hostile/guardian/bomb/AltClickOn(atom/movable/A) - if(!istype(A)) - return - if(loc == summoner) - to_chat(src, "You must be manifested to create bombs!") - return - if(isobj(A) && Adjacent(A)) - if(bomb_cooldown <= world.time && !stat) - to_chat(src, "Success! Bomb armed!") - bomb_cooldown = world.time + 200 - RegisterSignal(A, COMSIG_PARENT_EXAMINE, PROC_REF(display_examine)) - RegisterSignal(A, boom_signals, PROC_REF(kaboom)) - addtimer(CALLBACK(src, PROC_REF(disable), A), 600, TIMER_UNIQUE|TIMER_OVERRIDE) - else - to_chat(src, "Your powers are on cooldown! You must wait 20 seconds between bombs.") - -/mob/living/simple_animal/hostile/guardian/bomb/proc/kaboom(atom/source, mob/living/explodee) - if(!istype(explodee)) - return - if(explodee == src || explodee == summoner || hasmatchingsummoner(explodee)) - return - to_chat(explodee, "[source] was boobytrapped!") - to_chat(src, "Success! Your trap caught [explodee]") - var/turf/T = get_turf(source) - playsound(T,'sound/effects/explosion2.ogg', 200, TRUE) - new /obj/effect/temp_visual/explosion(T) - explodee.ex_act(EXPLODE_HEAVY) - UNREGISTER_BOMB_SIGNALS(source) - -/mob/living/simple_animal/hostile/guardian/bomb/proc/disable(atom/A) - to_chat(src, "Failure! Your trap didn't catch anyone this time.") - UNREGISTER_BOMB_SIGNALS(A) - -/mob/living/simple_animal/hostile/guardian/bomb/proc/display_examine(datum/source, mob/user, text) - text += "It glows with a strange light!" - -#undef UNREGISTER_BOMB_SIGNALS diff --git a/code/modules/mob/living/simple_animal/guardian/types/fire.dm b/code/modules/mob/living/simple_animal/guardian/types/fire.dm deleted file mode 100644 index 2d7a34a8bbf..00000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/fire.dm +++ /dev/null @@ -1,50 +0,0 @@ -//Fire -/mob/living/simple_animal/hostile/guardian/fire - a_intent = INTENT_HELP - melee_damage_lower = 7 - melee_damage_upper = 7 - attack_sound = 'sound/items/welder.ogg' - attack_verb_continuous = "ignites" - attack_verb_simple = "ignite" - damage_coeff = list(BRUTE = 0.6, BURN = 0.4, TOX = 0.6, CLONE = 0.7, STAMINA = 0, OXY = 0.7) - range = 7 - playstyle_string = "As a chaos type, you have only light damage resistance, but will ignite any enemy you bump into. In addition, your melee attacks will cause human targets to see everyone as you, and will cook simple animals from the inside, doing bonus damage." - magic_fluff_string = "..And draw the Wizard, bringer of endless chaos!" - tech_fluff_string = "Boot sequence complete. Crowd control modules activated. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! You caught one! OH GOD, EVERYTHING'S ON FIRE. Except you and the fish." - miner_fluff_string = "You encounter... Plasma, the bringer of fire." - -/mob/living/simple_animal/hostile/guardian/fire/Life() - . = ..() - if(summoner) - summoner.ExtinguishMob() - summoner.adjust_fire_stacks(-20) - -/mob/living/simple_animal/hostile/guardian/fire/AttackingTarget() - . = ..() - if(. && ishuman(target) && target != summoner) - new /datum/hallucination/delusion(target,TRUE,"custom",200,0, icon_state,icon) - melee_damage_lower = 7 - melee_damage_upper = 7 - if(. && isanimal(target) && target != summoner) - melee_damage_lower = 40 - melee_damage_upper = 40 - -/mob/living/simple_animal/hostile/guardian/fire/on_entered(datum/source, AM as mob|obj) - . = ..() - collision_ignite(AM) - -/mob/living/simple_animal/hostile/guardian/fire/Bumped(atom/movable/AM) - ..() - collision_ignite(AM) - -/mob/living/simple_animal/hostile/guardian/fire/Bump(AM as mob|obj) - ..() - collision_ignite(AM) - -/mob/living/simple_animal/hostile/guardian/fire/proc/collision_ignite(AM as mob|obj) - if(isliving(AM)) - var/mob/living/M = AM - if(!hasmatchingsummoner(M) && M != summoner && M.fire_stacks < 7) - M.fire_stacks = 7 - M.IgniteMob() diff --git a/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm b/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm deleted file mode 100644 index a86e38db777..00000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm +++ /dev/null @@ -1,68 +0,0 @@ -//gravitokinetic -/mob/living/simple_animal/hostile/guardian/gravitokinetic - melee_damage_lower = 15 - melee_damage_upper = 15 - damage_coeff = list(BRUTE = 0.75, BURN = 0.75, TOX = 0.75, CLONE = 0.75, STAMINA = 0, OXY = 0.75) - playstyle_string = "As a gravitokinetic type, you can alt click to make the gravity on the ground stronger, and punching applies this effect to a target." - magic_fluff_string = "..And draw the Singularity, an anomalous force of terror." - tech_fluff_string = "Boot sequence complete. Gravitokinetic modules loaded. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! Caught one! It's a gravitokinetic carp! Now do you understand the gravity of the situation?" - miner_fluff_string = "You encounter... Bananium, a master of gravity business." - var/list/gravito_targets = list() - var/gravity_power_range = 10 //how close the stand must stay to the target to keep the heavy gravity - -///Removes gravity from affected mobs upon guardian death to prevent permanent effects -/mob/living/simple_animal/hostile/guardian/gravitokinetic/death() - . = ..() - for(var/i in gravito_targets) - remove_gravity(i) - -/mob/living/simple_animal/hostile/guardian/gravitokinetic/AttackingTarget() - . = ..() - if(isliving(target) && target != src) - to_chat(src, "Your punch has applied heavy gravity to [target]!") - add_gravity(target, 2) - to_chat(target, "Everything feels really heavy!") - -/mob/living/simple_animal/hostile/guardian/gravitokinetic/AltClickOn(atom/A) - if(isopenturf(A) && is_deployed() && stat != DEAD && in_range(src, A) && !incapacitated()) - var/turf/T = A - if(isspaceturf(T)) - to_chat(src, "You cannot add gravity to space!") - return - visible_message("[src] slams their fist into the [T]!", "You modify the gravity of the [T].") - do_attack_animation(T) - add_gravity(T, 4) - return - return ..() - -/mob/living/simple_animal/hostile/guardian/gravitokinetic/Recall(forced) - . = ..() - to_chat(src, "You have released your gravitokinetic powers!") - for(var/i in gravito_targets) - remove_gravity(i) - -/mob/living/simple_animal/hostile/guardian/gravitokinetic/Moved(oldLoc, dir) - . = ..() - for(var/i in gravito_targets) - if(get_dist(src, i) > gravity_power_range) - remove_gravity(i) - -/mob/living/simple_animal/hostile/guardian/gravitokinetic/proc/add_gravity(atom/A, new_gravity = 2) - if(gravito_targets[A]) - return - A.AddElement(/datum/element/forced_gravity, new_gravity) - gravito_targets[A] = new_gravity - RegisterSignal(A, COMSIG_MOVABLE_MOVED, PROC_REF(__distance_check)) - playsound(src, 'sound/effects/gravhit.ogg', 100, TRUE) - -/mob/living/simple_animal/hostile/guardian/gravitokinetic/proc/remove_gravity(atom/target) - if(isnull(gravito_targets[target])) - return - UnregisterSignal(target, COMSIG_MOVABLE_MOVED) - target.RemoveElement(/datum/element/forced_gravity, gravito_targets[target]) - gravito_targets -= target - -/mob/living/simple_animal/hostile/guardian/gravitokinetic/proc/__distance_check(atom/movable/AM, OldLoc, Dir, Forced) - if(get_dist(src, AM) > gravity_power_range) - remove_gravity(AM) diff --git a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm b/code/modules/mob/living/simple_animal/guardian/types/lightning.dm deleted file mode 100644 index a70bf4edae2..00000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm +++ /dev/null @@ -1,113 +0,0 @@ -//Beam -/obj/effect/ebeam/chain - name = "lightning chain" - layer = LYING_MOB_LAYER - -/mob/living/simple_animal/hostile/guardian/beam - melee_damage_lower = 7 - melee_damage_upper = 7 - attack_verb_continuous = "shocks" - attack_verb_simple = "shock" - melee_damage_type = BURN - attack_sound = 'sound/machines/defib_zap.ogg' - damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 0.7, CLONE = 0.7, STAMINA = 0, OXY = 0.7) - range = 7 - playstyle_string = "As a lightning type, you will apply lightning chains to targets on attack and have a lightning chain to your summoner. Lightning chains will shock anyone near them." - magic_fluff_string = "..And draw the Tesla, a shocking, lethal source of power." - tech_fluff_string = "Boot sequence complete. Lightning modules active. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! Caught one! It's a lightning carp! Everyone else goes zap zap." - miner_fluff_string = "You encounter... Iron, a conductive master of lightning." - var/datum/beam/summonerchain - var/list/enemychains = list() - var/successfulshocks = 0 - -/mob/living/simple_animal/hostile/guardian/beam/AttackingTarget() - . = ..() - if(. && isliving(target) && target != src && target != summoner) - cleardeletedchains() - for(var/chain in enemychains) - var/datum/beam/B = chain - if(B.target == target) - return //oh this guy already HAS a chain, let's not chain again - if(enemychains.len > 2) - var/datum/beam/C = pick(enemychains) - qdel(C) - enemychains -= C - enemychains += Beam(target, "lightning[rand(1,12)]", time=70, maxdistance=7, beam_type=/obj/effect/ebeam/chain) - -/mob/living/simple_animal/hostile/guardian/beam/Destroy() - removechains() - return ..() - -/mob/living/simple_animal/hostile/guardian/beam/Manifest() - . = ..() - if(.) - if(summoner) - summonerchain = Beam(summoner, "lightning[rand(1,12)]", time=INFINITY, maxdistance=INFINITY, beam_type=/obj/effect/ebeam/chain) - while(loc != summoner) - if(successfulshocks > 5) - successfulshocks = 0 - if(shockallchains()) - successfulshocks++ - SLEEP_CHECK_DEATH(3) - -/mob/living/simple_animal/hostile/guardian/beam/Recall() - . = ..() - if(.) - removechains() - -/mob/living/simple_animal/hostile/guardian/beam/proc/cleardeletedchains() - if(summonerchain && QDELETED(summonerchain)) - summonerchain = null - if(enemychains.len) - for(var/chain in enemychains) - var/datum/cd = chain - if(!chain || QDELETED(cd)) - enemychains -= chain - -/mob/living/simple_animal/hostile/guardian/beam/proc/shockallchains() - . = 0 - cleardeletedchains() - if(summoner) - if(!summonerchain) - summonerchain = Beam(summoner, "lightning[rand(1,12)]", time=INFINITY, maxdistance=INFINITY, beam_type=/obj/effect/ebeam/chain) - . += chainshock(summonerchain) - if(enemychains.len) - for(var/chain in enemychains) - . += chainshock(chain) - -/mob/living/simple_animal/hostile/guardian/beam/proc/removechains() - if(summonerchain) - qdel(summonerchain) - summonerchain = null - if(enemychains.len) - for(var/chain in enemychains) - qdel(chain) - enemychains = list() - -/mob/living/simple_animal/hostile/guardian/beam/proc/chainshock(datum/beam/B) - . = 0 - var/list/turfs = list() - for(var/E in B.elements) - var/obj/effect/ebeam/chainpart = E - if(chainpart && chainpart.x && chainpart.y && chainpart.z) - var/turf/T = get_turf_pixel(chainpart) - turfs |= T - if(T != get_turf(B.origin) && T != get_turf(B.target)) - for(var/turf/TU in circlerange(T, 1)) - turfs |= TU - for(var/turf in turfs) - var/turf/T = turf - for(var/mob/living/L in T) - if(L.stat != DEAD && L != src && L != summoner) - if(hasmatchingsummoner(L)) //if the summoner matches don't hurt them - continue - if(successfulshocks > 4) - L.electrocute_act(0) - L.visible_message( - "[L] was shocked by the lightning chain!", \ - "You are shocked by the lightning chain!", \ - "You hear a heavy electrical crack." \ - ) - L.adjustFireLoss(1.2) //adds up very rapidly - . = 1 diff --git a/code/modules/mob/living/simple_animal/guardian/types/protector.dm b/code/modules/mob/living/simple_animal/guardian/types/protector.dm deleted file mode 100644 index e42dcb62e2e..00000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/protector.dm +++ /dev/null @@ -1,72 +0,0 @@ -//Protector -/mob/living/simple_animal/hostile/guardian/protector - melee_damage_lower = 30 - melee_damage_upper = 30 - range = 20 - damage_coeff = list(BRUTE = 0.4, BURN = 0.4, TOX = 0.4, CLONE = 0.4, STAMINA = 0, OXY = 0.4) - playstyle_string = "As a protector type you cause your summoner to leash to you instead of you leashing to them and have two modes; Combat Mode, where you do and take medium damage, and Protection Mode, where you take almost no damage and have reduced damage. While in protection mode, you move significantly slower, and have extremely low range." - magic_fluff_string = "..And draw the Guardian, a stalwart protector that never leaves the side of its charge." - tech_fluff_string = "Boot sequence complete. Protector modules loaded. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! You caught one! Wait, no... it caught you! The fisher has become the fishy." - miner_fluff_string = "You encounter... Uranium, a very resistant guardian." - toggle_button_type = /atom/movable/screen/guardian/ToggleMode - var/toggle = FALSE - -/mob/living/simple_animal/hostile/guardian/protector/ex_act(severity) - if(severity == 1) - adjustBruteLoss(400) //if in protector mode, will do 20 damage and not actually necessarily kill the summoner - else - ..() - if(QDELETED(src)) - return - if(toggle) - visible_message("The explosion glances off [src]'s energy shielding!") - -/mob/living/simple_animal/hostile/guardian/protector/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - . = ..() - if(. > 0 && toggle) - var/image/I = new('icons/effects/effects.dmi', src, "shield-flash", MOB_LAYER+0.01, dir = pick(GLOB.cardinals)) - if(guardiancolor) - I.color = guardiancolor - flick_overlay_view(I, src, 5) - -/mob/living/simple_animal/hostile/guardian/protector/ToggleMode() - if(cooldown > world.time) - return 0 - cooldown = world.time + 10 - if(toggle) - cut_overlays() - melee_damage_lower = initial(melee_damage_lower) - melee_damage_upper = initial(melee_damage_upper) - speed = initial(speed) - damage_coeff = list(BRUTE = 0.4, BURN = 0.4, TOX = 0.4, CLONE = 0.4, STAMINA = 0, OXY = 0.4) - to_chat(src, "You switch to combat mode.") - toggle = FALSE - else - var/mutable_appearance/shield_overlay = mutable_appearance('icons/effects/effects.dmi', "shield-grey") - if(guardiancolor) - shield_overlay.color = guardiancolor - add_overlay(shield_overlay) - melee_damage_lower = 15 - melee_damage_upper = 15 - speed = 4 - range = 5 - damage_coeff = list(BRUTE = 0.05, BURN = 0.05, TOX = 0.05, CLONE = 0.05, STAMINA = 0, OXY = 0.05) //damage? what's damage? - to_chat(src, "You switch to protection mode.") - toggle = TRUE - -/mob/living/simple_animal/hostile/guardian/protector/snapback() //snap to what? snap to the guardian! - if(summoner) - if(get_dist(get_turf(summoner),get_turf(src)) <= range) - return - else - if(istype(summoner.loc, /obj/effect)) - to_chat(src, "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!") - visible_message("\The [src] jumps back to its user.") - Recall(TRUE) - else - to_chat(summoner, "You moved out of range, and were pulled back! You can only move [range] meters from [real_name]!") - summoner.visible_message("\The [summoner] jumps back to [summoner.p_their()] protector.") - new /obj/effect/temp_visual/guardian/phase/out(get_turf(summoner)) - summoner.forceMove(get_turf(src)) - new /obj/effect/temp_visual/guardian/phase(get_turf(summoner)) diff --git a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm deleted file mode 100644 index 105ae8b35ec..00000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm +++ /dev/null @@ -1,154 +0,0 @@ -//Ranged -/obj/projectile/guardian//now featuring anime-accurate unpredictable richochet. Hit your master! Hit yourself! Salt in dchat when your own richochet puts you into crit. - name = "crystal spray" - icon_state = "guardian" - damage = 15 - damage_type = BRUTE - armour_penetration = 100 - ricochets_max = 2 - ricochet_chance = 65 - ricochet_auto_aim_range = 0 - ricochet_incidence_leeway = 50 - projectile_piercing = PASSMOB - -/mob/living/simple_animal/hostile/guardian/ranged - a_intent = INTENT_HELP - friendly_verb_continuous = "quietly assesses" - friendly_verb_simple = "quietly assess" - melee_damage_lower = 10 - melee_damage_upper = 10 - damage_coeff = list(BRUTE = 0.9, BURN = 0.9, TOX = 0.9, CLONE = 0.9, STAMINA = 0, OXY = 0.9) - projectiletype = /obj/projectile/guardian - ranged_cooldown_time = 1 //fast! - projectilesound = 'sound/effects/hit_on_shattered_glass.ogg' - ranged = 1 - range = 13 - playstyle_string = "As a ranged type, you have only light damage resistance, but are capable of spraying shards of crystal at incredibly high speed. You can also deploy surveillance snares to monitor enemy movement. Finally, you can switch to scout mode, in which you can't attack, but can move without limit." - magic_fluff_string = "..And draw the Sentinel, an alien master of ranged combat." - tech_fluff_string = "Boot sequence complete. Ranged combat modules active. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! Caught one, it's a ranged carp. This fishy can watch people pee in the ocean." - miner_fluff_string = "You encounter... Diamond, a powerful projectile thrower." - see_invisible = SEE_INVISIBLE_LIVING - see_in_dark = 8 - toggle_button_type = /atom/movable/screen/guardian/ToggleMode - var/list/snares = list() - var/toggle = FALSE - speed = -2//very fast! - -/mob/living/simple_animal/hostile/guardian/ranged/ToggleMode() - if(loc == summoner) - if(toggle) - ranged = initial(ranged) - melee_damage_lower = initial(melee_damage_lower) - melee_damage_upper = initial(melee_damage_upper) - obj_damage = initial(obj_damage) - environment_smash = initial(environment_smash) - alpha = 255 - range = initial(range) - to_chat(src, "You switch to combat mode.") - toggle = FALSE - else - ranged = 0 - melee_damage_lower = 0 - melee_damage_upper = 0 - obj_damage = 0 - environment_smash = ENVIRONMENT_SMASH_NONE - alpha = 45 - range = 255 - to_chat(src, "You switch to scout mode.") - toggle = TRUE - else - to_chat(src, "You have to be recalled to toggle modes!") - -/mob/living/simple_animal/hostile/guardian/ranged/Shoot(atom/targeted_atom) - . = ..() - if(istype(., /obj/projectile)) - var/obj/projectile/P = . - if(guardiancolor) - P.color = guardiancolor - -/mob/living/simple_animal/hostile/guardian/ranged/ToggleLight() - var/msg - switch(lighting_alpha) - if (LIGHTING_PLANE_ALPHA_VISIBLE) - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE - msg = "You activate your night vision." - if (LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE) - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - msg = "You increase your night vision." - if (LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE) - lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE - msg = "You maximize your night vision." - else - lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE - msg = "You deactivate your night vision." - - to_chat(src, "[msg]") - - -/mob/living/simple_animal/hostile/guardian/ranged/verb/Snare() - set name = "Set Surveillance Snare" - set category = "Guardian" - set desc = "Set an invisible snare that will alert you when living creatures walk over it. Max of 5" - if(snares.len <6) - var/turf/snare_loc = get_turf(loc) - var/obj/effect/snare/S = new /obj/effect/snare(snare_loc) - S.spawner = src - S.name = "[get_area(snare_loc)] snare ([rand(1, 1000)])" - snares |= S - to_chat(src, "Surveillance snare deployed!") - else - to_chat(src, "You have too many snares deployed. Remove some first.") - -/mob/living/simple_animal/hostile/guardian/ranged/verb/DisarmSnare() - set name = "Remove Surveillance Snare" - set category = "Guardian" - set desc = "Disarm unwanted surveillance snares." - var/picked_snare = input(src, "Pick which snare to remove", "Remove Snare") as null|anything in sortNames(snares) - if(picked_snare) - snares -= picked_snare - qdel(picked_snare) - to_chat(src, "Snare disarmed.") - -/obj/effect/snare - name = "snare" - desc = "You shouldn't be seeing this!" - var/mob/living/simple_animal/hostile/guardian/spawner - invisibility = INVISIBILITY_ABSTRACT - -/obj/effect/snare/Initialize() - . = ..() - var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = PROC_REF(on_entered), - ) - AddElement(/datum/element/connect_loc, loc_connections) - - -/obj/effect/snare/proc/on_entered(datum/source, AM as mob|obj) - SIGNAL_HANDLER - if(isliving(AM) && spawner && spawner.summoner && AM != spawner && !spawner.hasmatchingsummoner(AM)) - to_chat(spawner.summoner, "[AM] has crossed surveillance snare, [name].") - var/list/guardians = spawner.summoner.hasparasites() - for(var/para in guardians) - to_chat(para, "[AM] has crossed surveillance snare, [name].") - -/obj/effect/snare/singularity_act() - return - -/obj/effect/snare/singularity_pull() - return - -/mob/living/simple_animal/hostile/guardian/ranged/Manifest(forced) - if (toggle) - incorporeal_move = INCORPOREAL_MOVE_BASIC - . = ..() - -/mob/living/simple_animal/hostile/guardian/ranged/Recall(forced) - // To stop scout mode from moving when recalled - incorporeal_move = FALSE - . = ..() - -/mob/living/simple_animal/hostile/guardian/ranged/AttackingTarget() - if(toggle) - return - ..() diff --git a/code/modules/mob/living/simple_animal/guardian/types/slime.dm b/code/modules/mob/living/simple_animal/guardian/types/slime.dm deleted file mode 100644 index bf38ffed2ef..00000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/slime.dm +++ /dev/null @@ -1,73 +0,0 @@ -//Slime guardian- modified support guardian who has higher utility but is less potent in battle -/mob/living/simple_animal/hostile/guardian/slime - a_intent = INTENT_HARM - speed = 0 - damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 0.7, CLONE = 0.7, STAMINA = 0, OXY = 0.7) - melee_damage_lower = 10 - melee_damage_upper = 10 - melee_damage_type = TOX - playstyle_string = "As a slime type, you can toggle between a weak combat mode, and a strong healing mode that nourishes and repairs damage. This mode also works on slimes. Be warned: You are more vulnerable to damage then most holoparasites." - magic_fluff_string = "..And draw the Xenobiologist, a purveyor of godlike power." - carp_fluff_string = "CARP CARP CARP! You caught a slimy carp. Gross, maybe you should throw this one back." - tech_fluff_string = "Boot sequence complete. Xenobiological support module active. Holoparasite swarm online." - miner_fluff_string = "You encounter... Slime, the master of xenobiology." - slime_fluff_string = "The crystal in your hand shatters into mist, which forms a strange, slimy figure!" - toggle_button_type = /atom/movable/screen/guardian/ToggleMode - var/toggle = FALSE - -/mob/living/simple_animal/hostile/guardian/slime/Initialize() - . = ..() - var/datum/atom_hud/medsensor = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - medsensor.add_hud_to(src) - -/mob/living/simple_animal/hostile/guardian/slime/AttackingTarget() - . = ..() - if(is_deployed() && toggle && isslime(target)) - var/mob/living/simple_animal/slime/slime = target - slime.add_nutrition(rand(14, 30)) - slime.adjustHealth(10) - return - - if(is_deployed() && toggle && iscarbon(target)) - var/mob/living/carbon/C = target - C.adjustBruteLoss(-7) - C.adjustFireLoss(-7) - C.adjustOxyLoss(-7) - C.adjustToxLoss(-7) - C.adjustCloneLoss(-0.5) - C.adjust_nutrition(10) - var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(C)) - if(guardiancolor) - H.color = guardiancolor - if(C == summoner) - update_health_hud() - med_hud_set_health() - med_hud_set_status() - - if(is_deployed() && toggle == FALSE && iscarbon(target)) - if(prob(20)) - var/mob/living/carbon/D = target - D.Paralyze(25) - D.visible_message("\The [src] knocks down \the [D]!", \ - "\The [src] knocks you down!") - -/mob/living/simple_animal/hostile/guardian/slime/ToggleMode() - if(src.loc == summoner) - if(toggle) - a_intent = INTENT_HARM - speed = -1 - damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 0.2, CLONE = 0.7, STAMINA = 0, OXY = 0.7) - melee_damage_lower = 15 - melee_damage_upper = 15 - to_chat(src, "Blorble... You switch to combat mode.") - toggle = FALSE - else - a_intent = INTENT_HELP - speed = 2 - damage_coeff = list(BRUTE = 1.2, BURN = 1.2, TOX = 0.7, CLONE = 1.2, STAMINA = 0, OXY = 1.2) - melee_damage_lower = 0 - melee_damage_upper = 0 - to_chat(src, "You switch to nourshing mode. Yummy.") - toggle = TRUE - else - to_chat(src, "You have to be recalled to toggle modes!") diff --git a/code/modules/mob/living/simple_animal/guardian/types/standard.dm b/code/modules/mob/living/simple_animal/guardian/types/standard.dm deleted file mode 100644 index 2528a091471..00000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/standard.dm +++ /dev/null @@ -1,36 +0,0 @@ -//Standard -/mob/living/simple_animal/hostile/guardian/punch - melee_damage_lower = 20 - melee_damage_upper = 20 - obj_damage = 80 - next_move_modifier = 0.6 //attacks 40% faster - environment_smash = ENVIRONMENT_SMASH_WALLS - playstyle_string = "As a standard type you have no special abilities, but have a high damage resistance and a powerful attack capable of smashing through walls." - magic_fluff_string = "..And draw the Assistant, faceless and generic, but never to be underestimated." - tech_fluff_string = "Boot sequence complete. Standard combat modules loaded. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! You caught one! It's really boring and standard. Better punch some walls to ease the tension." - miner_fluff_string = "You encounter... Adamantine, a powerful attacker." - var/battlecry = "AT" - speed = 4//unlike funny jojo man, the punch ghost is actually balanced by their low mobility - -/mob/living/simple_animal/hostile/guardian/punch/verb/Battlecry() - set name = "Set Battlecry" - set category = "Guardian" - set desc = "Choose what you shout as you punch people." - var/input = stripped_input(src,"What do you want your battlecry to be? Max length of 6 characters.", ,"", 7) - if(input) - battlecry = input - - - -/mob/living/simple_animal/hostile/guardian/punch/AttackingTarget() - . = ..() - if(isliving(target)) - say("[battlecry][battlecry][battlecry][battlecry][battlecry][battlecry][battlecry][battlecry][battlecry][battlecry]!!", ignore_spam = TRUE) - playsound(loc, src.attack_sound, 50, TRUE, TRUE) - playsound(loc, src.attack_sound, 50, TRUE, TRUE) - playsound(loc, src.attack_sound, 50, TRUE, TRUE) - playsound(loc, src.attack_sound, 50, TRUE, TRUE) - if(isanimal(target)) - var/mob/living/C = target - C.apply_damage(35, BRUTE) diff --git a/code/modules/mob/living/simple_animal/guardian/types/support.dm b/code/modules/mob/living/simple_animal/guardian/types/support.dm deleted file mode 100644 index 57f1b1892f9..00000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/support.dm +++ /dev/null @@ -1,148 +0,0 @@ -//Healer -/mob/living/simple_animal/hostile/guardian/healer - a_intent = INTENT_HARM - friendly_verb_continuous = "heals" - friendly_verb_simple = "heal" - speed = 0 - damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 0.7, CLONE = 0.7, STAMINA = 0, OXY = 0.7) - melee_damage_lower = 15 - melee_damage_upper = 15 - playstyle_string = "As a support type, you may toggle your basic attacks to a healing mode. In addition, Alt-Clicking on an adjacent object or mob will warp them to your bluespace beacon after a short delay." - magic_fluff_string = "..And draw the CMO, a potent force of life... and death." - carp_fluff_string = "CARP CARP CARP! You caught a support carp. It's a kleptocarp!" - tech_fluff_string = "Boot sequence complete. Support modules active. Holoparasite swarm online." - miner_fluff_string = "You encounter... Bluespace, the master of support." - toggle_button_type = /atom/movable/screen/guardian/ToggleMode - var/obj/structure/receiving_pad/beacon - var/beacon_cooldown = 0 - var/toggle = FALSE - -/mob/living/simple_animal/hostile/guardian/healer/Initialize() - . = ..() - var/datum/atom_hud/medsensor = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - medsensor.add_hud_to(src) - -/mob/living/simple_animal/hostile/guardian/healer/get_status_tab_items() - . = ..() - if(beacon_cooldown >= world.time) - . += "Beacon Cooldown Remaining: [DisplayTimeText(beacon_cooldown - world.time)]" - -/mob/living/simple_animal/hostile/guardian/healer/AttackingTarget() - . = ..() - if(is_deployed() && toggle && iscarbon(target)) - var/mob/living/carbon/C = target - C.adjustBruteLoss(-5) - C.adjustFireLoss(-5) - C.adjustOxyLoss(-5) - C.adjustToxLoss(-5) - var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(C)) - if(guardiancolor) - H.color = guardiancolor - if(C == summoner) - update_health_hud() - med_hud_set_health() - med_hud_set_status() - -/mob/living/simple_animal/hostile/guardian/healer/ToggleMode() - if(src.loc == summoner) - if(toggle) - a_intent = INTENT_HARM - speed = -2 - damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 0.7, CLONE = 0.7, STAMINA = 0, OXY = 0.7) - melee_damage_lower = 5 - melee_damage_upper = 5 - next_move_modifier = 0.3///attack as fast as you can click, but your actual hits are basically tickle damage :)) - to_chat(src, "You switch to combat mode.") - toggle = FALSE - else - a_intent = INTENT_HELP - speed = 1 - damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) - melee_damage_lower = 0 - melee_damage_upper = 0 - to_chat(src, "You switch to healing mode.") - toggle = TRUE - else - to_chat(src, "You have to be recalled to toggle modes!") - - -/mob/living/simple_animal/hostile/guardian/healer/verb/Beacon() - set name = "Place Bluespace Beacon" - set category = "Guardian" - set desc = "Mark a floor as your beacon point, allowing you to warp targets to it. Your beacon will not work at extreme distances." - - if(beacon_cooldown >= world.time) - to_chat(src, "Your power is on cooldown. You must wait five minutes between placing beacons.") - return - - var/turf/beacon_loc = get_turf(src.loc) - if(!isfloorturf(beacon_loc)) - return - - if(beacon) - beacon.disappear() - beacon = null - - beacon = new(beacon_loc, src) - - to_chat(src, "Beacon placed! You may now warp targets and objects to it, including your user, via Alt+Click.") - - beacon_cooldown = world.time + 3000 - -/obj/structure/receiving_pad - name = "bluespace receiving pad" - icon = 'icons/turf/floors.dmi' - desc = "A receiving zone for bluespace teleportations." - icon_state = "light_on_flicker-1" - light_range = MINIMUM_USEFUL_LIGHT_RANGE - density = FALSE - anchored = TRUE - layer = ABOVE_OPEN_TURF_LAYER - -/obj/structure/receiving_pad/New(loc, mob/living/simple_animal/hostile/guardian/healer/G) - . = ..() - if(G?.guardiancolor) - add_atom_colour(G.guardiancolor, FIXED_COLOUR_PRIORITY) - -/obj/structure/receiving_pad/proc/disappear() - visible_message("[src] vanishes!") - qdel(src) - -/mob/living/simple_animal/hostile/guardian/healer/AltClickOn(atom/movable/A) - if(!istype(A)) - return - if(src.loc == summoner) - to_chat(src, "You must be manifested to warp a target!") - return - if(!beacon) - to_chat(src, "You need a beacon placed to warp things!") - return - if(!Adjacent(A)) - to_chat(src, "You must be adjacent to your target!") - return - if(A.anchored) - to_chat(src, "Your target cannot be anchored!") - return - - var/turf/T = get_turf(A) - if(beacon.virtual_z() != T.virtual_z()) - to_chat(src, "The beacon is too far away to warp to!") - return - - to_chat(src, "You begin to warp [A].") - A.visible_message("[A] starts to glow faintly!", \ - "You start to faintly glow, and you feel strangely weightless!") - do_attack_animation(A) - - if(!do_after(src, 6 SECONDS, A)) //now start the channel - to_chat(src, "You need to hold still!") - return - - new /obj/effect/temp_visual/guardian/phase/out(T) - if(isliving(A)) - var/mob/living/L = A - L.flash_act() - A.visible_message("[A] disappears in a flash of light!", \ - "Your vision is obscured by a flash of light!") - do_teleport(A, beacon, 0, channel = TELEPORT_CHANNEL_BLUESPACE) - new /obj/effect/temp_visual/guardian/phase(get_turf(A)) diff --git a/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm b/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm index 78432c92a4d..038aae0900d 100644 --- a/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm @@ -9,7 +9,7 @@ status_flags = CANSTUN|CANKNOCKDOWN|CANPUSH mouse_opacity = MOUSE_OPACITY_ICON a_intent = INTENT_HARM - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 move_to_delay = 10 health = 70 @@ -35,14 +35,14 @@ minimum_distance = 1 icon_state = "mining_drone_offense" faction = list("mining", "turret") - loot = list(/obj/effect/decal/cleanable/robot_debris, /obj/effect/spawner/lootdrop/minebot) + loot = list(/obj/effect/decal/cleanable/robot_debris, /obj/effect/spawner/random/minebot) projectiletype = /obj/projectile/kinetic/miner/weak /obj/projectile/kinetic/miner/weak damage = 15 -/obj/effect/spawner/lootdrop/minebot +/obj/effect/spawner/random/minebot loot = list(/obj/item/borg/upgrade/modkit/minebot_passthrough = 15, /obj/item/borg/upgrade/modkit/chassis_mod = 15, /obj/item/borg/upgrade/modkit/tracer = 15, diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index ec7c76f5ca6..402c6c920c0 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -22,7 +22,7 @@ bubble_icon = "alien" a_intent = INTENT_HARM attack_sound = 'sound/weapons/bladeslice.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS unsuitable_atmos_damage = 15 faction = list(ROLE_ALIEN) status_flags = CANPUSH @@ -30,7 +30,6 @@ see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE unique_name = 1 - gold_core_spawnable = HOSTILE_SPAWN deathsound = 'sound/voice/hiss6.ogg' deathmessage = "lets out a waning guttural screech, green blood bubbling from its maw..." @@ -143,7 +142,6 @@ butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/xeno = 10, /obj/item/stack/sheet/animalhide/xeno = 2) mob_size = MOB_SIZE_LARGE - gold_core_spawnable = NO_SPAWN /obj/projectile/neurotox name = "neurotoxin" @@ -169,7 +167,6 @@ friendly_verb_simple = "caress" obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE - gold_core_spawnable = HOSTILE_SPAWN icon_state = "maid" icon_living = "maid" icon_dead = "maid_dead" diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm index d43d744e280..2de36372922 100644 --- a/code/modules/mob/living/simple_animal/hostile/bear.dm +++ b/code/modules/mob/living/simple_animal/hostile/bear.dm @@ -34,7 +34,7 @@ friendly_verb_simple = "bear hug" //Space bears aren't affected by cold. - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 @@ -98,7 +98,6 @@ health = 120 maxHealth = 120 armored = TRUE - gold_core_spawnable = HOSTILE_SPAWN /mob/living/simple_animal/hostile/bear/cave name = "brown bear" @@ -115,7 +114,7 @@ name = "pile of bear armor" desc = "A scattered pile of various shaped armor pieces fitted for a bear, some duct tape, and a nail filer. Crude instructions \ are written on the back of one of the plates. This seems like an awful idea." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "bear_armor_upgrade" /obj/item/bear_armor/afterattack(atom/target, mob/user, proximity_flag) diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index 676b58a9852..c019c6a65ad 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -47,11 +47,10 @@ mob_size = MOB_SIZE_TINY mob_biotypes = MOB_ORGANIC|MOB_BUG movement_type = FLYING - gold_core_spawnable = FRIENDLY_SPAWN search_objects = 1 //have to find those plant trays! //Spaceborn beings don't get hurt by space - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 del_on_death = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm index 67a80713d8e..4f0448b385c 100644 --- a/code/modules/mob/living/simple_animal/hostile/carp.dm +++ b/code/modules/mob/living/simple_animal/hostile/carp.dm @@ -37,13 +37,12 @@ speak_emote = list("gnashes") //Space carp aren't affected by cold. - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 faction = list("carp", "mining") movement_type = FLYING pressure_resistance = 200 - gold_core_spawnable = HOSTILE_SPAWN var/random_color = TRUE //if the carp uses random coloring var/rarechance = 1 //chance for rare color variant @@ -159,7 +158,6 @@ icon_state = "holocarp" icon_living = "holocarp" maxbodytemp = INFINITY - gold_core_spawnable = NO_SPAWN del_on_death = 1 random_color = FALSE food_type = list() @@ -229,7 +227,6 @@ desc = "A failed Syndicate experiment in weaponized space carp technology, it now serves as a lovable mascot." gender = FEMALE speak_emote = list("squeaks") - gold_core_spawnable = NO_SPAWN faction = list(ROLE_SYNDICATE) AIStatus = AI_OFF rarechance = 10 diff --git a/code/modules/mob/living/simple_animal/hostile/clown.dm b/code/modules/mob/living/simple_animal/hostile/clown.dm index b513c74e9d5..a5883ce91ef 100644 --- a/code/modules/mob/living/simple_animal/hostile/clown.dm +++ b/code/modules/mob/living/simple_animal/hostile/clown.dm @@ -29,7 +29,6 @@ del_on_death = 1 loot = list(/obj/effect/mob_spawn/human/clown/corpse) - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) minbodytemp = 270 maxbodytemp = 370 unsuitable_atmos_damage = 10 @@ -56,7 +55,7 @@ . = ..() if(banana_time && banana_time < world.time) var/turf/T = get_turf(src) - var/list/adjacent = T.GetAtmosAdjacentTurfs() + var/list/adjacent = T.get_atmos_adjacent_turfs() new banana_type(pick(adjacent)) banana_time = world.time + rand(30,60) diff --git a/code/modules/mob/living/simple_animal/hostile/cockroach.dm b/code/modules/mob/living/simple_animal/hostile/cockroach.dm index c822268a7fe..d744d4a413c 100644 --- a/code/modules/mob/living/simple_animal/hostile/cockroach.dm +++ b/code/modules/mob/living/simple_animal/hostile/cockroach.dm @@ -7,7 +7,7 @@ maxHealth = 1 turns_per_move = 5 loot = list(/obj/effect/decal/cleanable/insectguts) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 270 maxbodytemp = INFINITY pass_flags = PASSTABLE | PASSGRILLE | PASSMOB @@ -23,7 +23,6 @@ melee_damage_upper = 0 obj_damage = 0 ventcrawler = VENTCRAWLER_ALWAYS - gold_core_spawnable = FRIENDLY_SPAWN verb_say = "chitters" verb_ask = "chitters inquisitively" verb_exclaim = "chitters loudly" @@ -49,7 +48,6 @@ melee_damage_lower = 5 melee_damage_upper = 5 obj_damage = 20 - gold_core_spawnable = HOSTILE_SPAWN projectilesound = 'sound/weapons/gun/pistol/shot.ogg' projectiletype = /obj/projectile/glockroachbullet casingtype = /obj/item/ammo_casing/glockroach diff --git a/code/modules/mob/living/simple_animal/hostile/eyeballs.dm b/code/modules/mob/living/simple_animal/hostile/eyeballs.dm index 57a33c2ee02..26f176d74fa 100644 --- a/code/modules/mob/living/simple_animal/hostile/eyeballs.dm +++ b/code/modules/mob/living/simple_animal/hostile/eyeballs.dm @@ -26,10 +26,9 @@ attack_verb_simple = "blink at" attack_sound = 'sound/weapons/pierce.ogg' movement_type = FLYING - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 - gold_core_spawnable = HOSTILE_SPAWN faction = list("spooky") del_on_death = 1 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE diff --git a/code/modules/mob/living/simple_animal/hostile/faithless.dm b/code/modules/mob/living/simple_animal/hostile/faithless.dm index c9c2e131cc0..6959b9e61cd 100644 --- a/code/modules/mob/living/simple_animal/hostile/faithless.dm +++ b/code/modules/mob/living/simple_animal/hostile/faithless.dm @@ -27,11 +27,10 @@ attack_sound = 'sound/hallucinations/growl1.ogg' speak_emote = list("growls") - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 faction = list("faithless") - gold_core_spawnable = HOSTILE_SPAWN footstep_type = FOOTSTEP_MOB_SHOE diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 5e3e8d0b34d..fa15c57249e 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -50,7 +50,6 @@ attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' unique_name = 1 - gold_core_spawnable = HOSTILE_SPAWN lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE footstep_type = FOOTSTEP_MOB_CLAW mob_size = MOB_SIZE_LARGE @@ -122,7 +121,6 @@ var/datum/action/innate/spider/lay_eggs/lay_eggs var/datum/action/innate/spider/set_directive/set_directive var/static/list/consumed_mobs = list() //the refs of mobs that have been consumed by nurse spiders to lay eggs - gold_core_spawnable = NO_SPAWN /mob/living/simple_animal/hostile/poison/giant_spider/nurse/Initialize() . = ..() @@ -172,7 +170,6 @@ melee_damage_upper = 20 poison_per_bite = 5 move_to_delay = 5 - gold_core_spawnable = NO_SPAWN //vipers are the rare variant of the hunter, no IMMEDIATE damage but so much poison medical care will be needed fast. /mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper @@ -205,7 +202,6 @@ move_to_delay = 8 speed = 9 status_flags = NONE - gold_core_spawnable = NO_SPAWN var/slowed_by_webs = FALSE /mob/living/simple_animal/hostile/poison/giant_spider/tarantula/Moved(atom/oldloc, dir) @@ -220,16 +216,15 @@ /mob/living/simple_animal/hostile/poison/giant_spider/ice //spiders dont usually like tempatures of 140 kelvin who knew name = "giant ice spider" - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 poison_type = /datum/reagent/consumable/frostoil color = rgb(114,228,250) - gold_core_spawnable = NO_SPAWN /mob/living/simple_animal/hostile/poison/giant_spider/nurse/ice name = "giant ice spider" - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 poison_type = /datum/reagent/consumable/frostoil @@ -237,12 +232,11 @@ /mob/living/simple_animal/hostile/poison/giant_spider/hunter/ice name = "giant ice spider" - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 poison_type = /datum/reagent/consumable/frostoil color = rgb(114,228,250) - gold_core_spawnable = NO_SPAWN /mob/living/simple_animal/hostile/poison/giant_spider/handle_automated_action() if(!..()) //AIStatus is off diff --git a/code/modules/mob/living/simple_animal/hostile/goose.dm b/code/modules/mob/living/simple_animal/hostile/goose.dm index a175bb40fec..6a11507beea 100644 --- a/code/modules/mob/living/simple_animal/hostile/goose.dm +++ b/code/modules/mob/living/simple_animal/hostile/goose.dm @@ -29,7 +29,6 @@ speak_emote = list("honks") faction = list("neutral") attack_same = TRUE - gold_core_spawnable = HOSTILE_SPAWN var/random_retaliate = TRUE var/icon_vomit_start = "vomit_start" var/icon_vomit = "vomit" @@ -95,7 +94,6 @@ response_disarm_simple = "gently push aside" response_harm_continuous = "kicks" response_harm_simple = "kick" - gold_core_spawnable = NO_SPAWN random_retaliate = FALSE var/vomiting = FALSE var/vomitCoefficient = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index 850ff235375..292a9fee365 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -73,8 +73,6 @@ if(origin && (origin.current ? (origin.current.stat == DEAD) : origin.get_ghost())) origin.transfer_to(M) var/datum/antagonist/changeling/C = origin.has_antag_datum(/datum/antagonist/changeling) - if(!C) - C = origin.add_antag_datum(/datum/antagonist/changeling/xenobio) if(C.can_absorb_dna(owner)) C.add_new_profile(owner) diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index 431229fefc4..9eb029b22ec 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -1,29 +1,29 @@ -/obj/projectile/hivebotbullet - damage = 10 - damage_type = BRUTE - /mob/living/simple_animal/hostile/hivebot name = "hivebot" - desc = "A small robot." + desc = "A human-sized automaton clad in the scrap of a dead world. Exposed circuitry sparks subtly as it analyzes the area around it." icon = 'icons/mob/hivebot.dmi' icon_state = "basic" icon_living = "basic" icon_dead = "basic" gender = NEUTER mob_biotypes = MOB_ROBOTIC - health = 15 - maxHealth = 15 + health = 35 + maxHealth = 35 healable = 0 - melee_damage_lower = 2 - melee_damage_upper = 3 + melee_damage_lower = 8 + melee_damage_upper = 12 + attack_verb_continuous = "claws" attack_verb_simple = "claw" attack_sound = 'sound/weapons/bladeslice.ogg' + casingtype = /obj/item/ammo_casing/c10mm projectilesound = 'sound/weapons/gun/pistol/shot.ogg' - projectiletype = /obj/projectile/hivebotbullet + + armor = list("melee" = 25, "bullet" = 10, "laser" = 25, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 100, "fire" = 50, "acid" = 0) + faction = list("hivebot") check_friendly_fire = 1 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS possible_a_intents = list(INTENT_HELP, INTENT_GRAB, INTENT_DISARM, INTENT_HARM) minbodytemp = 0 verb_say = "states" @@ -35,7 +35,16 @@ del_on_death = 1 minbodytemp = 0 maxbodytemp = 600 - loot = list(/obj/effect/decal/cleanable/robot_debris) + loot = list( + /obj/effect/decal/cleanable/robot_debris, + /obj/effect/spawner/random/waste/hivebot, + /obj/effect/spawner/random/waste/hivebot/part, + ) + + //yeah so it turns out that /simple_animal/hostile gets upset when you call say because say contains a sleep. so we have to do this on subtypes. + var/list/aggro_blurb = list("INFILTRATOR WITHIN AO!!", "TERMINATE HOSTILE!!", "DEFEND TERMINUS!!", "CODE 7-34!!") + var/aggro_blurb_chance = 10 + var/alert_light footstep_type = FOOTSTEP_MOB_CLAW @@ -48,8 +57,9 @@ . = ..() a_intent_change(INTENT_HARM) update_icons() - if(prob(5)) - say(pick("INTRUDER DETECTED!", "CODE 7-34.", "101010!!"), forced = type) + if(prob(aggro_blurb_chance)) + say("[pick(aggro_blurb)]", forced = type) + /mob/living/simple_animal/hostile/hivebot/LoseAggro() . = ..() @@ -69,58 +79,107 @@ /mob/living/simple_animal/hostile/hivebot/death(gibbed) do_sparks(3, TRUE, src) - new /obj/effect/spawner/lootdrop/waste/hivebot(loc) ..(TRUE) -/mob/living/simple_animal/hostile/hivebot/range - name = "hivebot" - desc = "A smallish robot, this one is armed!" +/mob/living/simple_animal/hostile/hivebot/ranged + name = "combat hivebot" + desc = "A human-sized automaton clad in the scrap of a dead world. A weapon pivots around on its top, searching for a target to engage." icon_state = "ranged" icon_living = "ranged" icon_dead = "ranged" ranged = TRUE retreat_distance = 5 minimum_distance = 5 - -/mob/living/simple_animal/hostile/hivebot/range/rockplanet - faction = list("mining", "hivebot") - -/mob/living/simple_animal/hostile/hivebot/rapid - icon_state = "ranged" - icon_living = "ranged" - icon_dead = "ranged" + loot = list( + /obj/effect/decal/cleanable/robot_debris, + /obj/effect/spawner/random/waste/hivebot, + /obj/effect/spawner/random/waste/hivebot/part, + /obj/effect/spawner/random/waste/hivebot/part, + ) + +/mob/living/simple_animal/hostile/hivebot/ranged/rapid ranged = TRUE rapid = 3 - retreat_distance = 5 - minimum_distance = 5 - -/mob/living/simple_animal/hostile/hivebot/rapid/rockplanet - faction = list("mining", "hivebot") + rapid_fire_delay = 4 + casingtype = /obj/item/ammo_casing/c57x39mm + projectilesound = 'sound/weapons/gun/smg/sidewinder.ogg' /mob/living/simple_animal/hostile/hivebot/strong - name = "strong hivebot" + name = "heavy hivebot" + desc = "A towering scrap-clad monolith. Hatred radiates out from the sensors that adorn it, beams of subtle light coming from within its sparking core." + armor = list("melee" = 30, "bullet" = 40, "laser" = 20, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 100, "fire" = 50, "acid" = 0) icon_state = "strong" icon_living = "strong" icon_dead = "strong" - desc = "A robot, this one is armed and looks tough!" health = 80 maxHealth = 80 ranged = TRUE + casingtype = /obj/item/ammo_casing/mm712x82 + projectilesound = 'sound/weapons/gun/rifle/hydra.ogg' + melee_damage_lower = 12 + melee_damage_upper = 20 + move_to_delay = 10 + loot = list( + /obj/effect/decal/cleanable/robot_debris, + /obj/effect/spawner/random/waste/hivebot/more, + /obj/effect/spawner/random/waste/hivebot/part/heavy, + /obj/effect/spawner/random/waste/hivebot/part, + /obj/effect/spawner/random/waste/hivebot/part, + ) + +/mob/living/simple_animal/hostile/hivebot/defender //slave to the system + name = "core hivebot" + desc = "A massive, alien tower of metal and circuitry. Eyes adorn its body, each one casting a ray of electronic light in myriad directions. Slaved to its whim is a scrapped turret mounting, angrily glancing at the world around it." + armor = list("melee" = 40, "bullet" = 60, "laser" = 30, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 100, "fire" = 50, "acid" = 0) + icon_state = "strong" + icon_living = "strong" + icon_dead = "strong" + health = 120 + maxHealth = 120 + ranged = TRUE + + casingtype = /obj/item/ammo_casing/mm712x82 + projectilesound = 'sound/weapons/gun/rifle/hydra.ogg' + rapid = 3 + rapid_fire_delay = 4 + + retreat_distance = 3 + minimum_distance = 5 + + melee_damage_lower = 15 + melee_damage_upper = 28 + + move_to_delay = 20 + + loot = list( + /obj/effect/decal/cleanable/robot_debris, + /obj/effect/spawner/random/waste/hivebot/more, + /obj/effect/spawner/random/waste/hivebot/part/superheavy, + /obj/effect/spawner/random/waste/hivebot/part/heavy, + /obj/effect/spawner/random/waste/hivebot/part/heavy, + ) + +/mob/living/simple_animal/hostile/hivebot/defender/death(gibbed) + //once we get better sprites i want this to be like the claw's death. aka fucking cool. + radiation_pulse(src, 500) + explosion(src, 0,1,3,3,) + ..(TRUE) -/mob/living/simple_animal/hostile/hivebot/strong/rockplanet - faction = list("mining", "hivebot") + +/mob/living/simple_animal/hostile/hivebot/defender/Initialize(mapload) + . = ..() + transform *= 1.3 /mob/living/simple_animal/hostile/hivebot/mechanic name = "hivebot mechanic" icon_state = "strong" icon_living = "strong" icon_dead = "strong" - desc = "A robot built for base upkeep, intended for use inside hivebot colonies." + desc = "A tidy yet discordant machine of scrap, adorned with analyzers, waldos, and touching eyes." health = 60 maxHealth = 60 ranged = TRUE rapid = 3 - gold_core_spawnable = HOSTILE_SPAWN var/datum/action/innate/hivebot/foamwall/foam /mob/living/simple_animal/hostile/hivebot/mechanic/Initialize(mapload) @@ -173,43 +232,3 @@ return new /obj/structure/foamedmetal(H.loc) playsound(get_turf(H), 'sound/effects/extinguish.ogg', 50, TRUE, -1) - - -/mob/living/simple_animal/hostile/hivebot/wasteplanet - name = "hivebot" - desc = "A smallish robot, this one is armed!" - icon_state = "basic" - icon_living = "basic" - icon_dead = "basic" - ranged = FALSE - faction = list("mining", "hivebot") - health = 30 - maxHealth = 30 - healable = 0 - melee_damage_lower = 5 - melee_damage_upper = 15 - - -/mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged - ranged = TRUE - icon_state = "ranged" - icon_living = "ranged" - icon_dead = "ranged" - ranged = TRUE - retreat_distance = 5 - minimum_distance = 5 - -/mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid - rapid = 3 - -/mob/living/simple_animal/hostile/hivebot/wasteplanet/strong - name = "strong hivebot" - icon_state = "strong" - icon_living = "strong" - icon_dead = "strong" - desc = "A robot, this one is armed and looks tough!" - health = 80 - maxHealth = 80 - ranged = TRUE - retreat_distance = 5 - minimum_distance = 5 diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 70ce3f665ba..e12e86e47b0 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -18,8 +18,10 @@ var/projectiletype //set ONLY it and NULLIFY casingtype var, if we have ONLY projectile var/projectilesound var/casingtype //set ONLY it and NULLIFY projectiletype, if we have projectile IN CASING - var/move_to_delay = 3 //delay for the automated movement. + ///delay for the automated movement. + var/move_to_delay = 3 var/list/friends = list() + var/list/emote_taunt = list() var/taunt_chance = 0 @@ -33,7 +35,7 @@ var/check_friendly_fire = FALSE // Should the ranged mob check for friendlies when shooting var/retreat_distance = null //If our mob runs from players when they're too close, set in tile distance. By default, mobs do not retreat. var/minimum_distance = 1 //Minimum approach distance, so ranged mobs chase targets down, but still keep their distance set in tiles to the target, set higher to make mobs keep distance - + var/shoot_point_blank = FALSE // If this mob will still shoot even in melee range. //These vars are related to how mobs locate and target var/robust_searching = 0 //By default, mobs have a simple searching method, set this to 1 for the more scrutinous searching (stat_attack, stat_exclusive, etc), should be disabled on most mobs @@ -240,12 +242,12 @@ if(istype(the_target, /obj/machinery/porta_turret)) var/obj/machinery/porta_turret/P = the_target - if(P.in_faction(src)) //Don't attack if the turret is in the same faction - return FALSE - if(P.has_cover &&!P.raised) //Don't attack invincible turrets + if(!(P.turret_flags & TURRET_FLAG_SHOOT_FAUNA)) //Don't attack turrets that won't shoot us return FALSE if(P.machine_stat & BROKEN) //Or turrets that are already broken return FALSE + if(faction_check(P.faction, faction)) //Or turrets in the same faction + return FALSE return TRUE if(istype(the_target, /obj/machinery/drill)) @@ -315,7 +317,10 @@ Goto(target,move_to_delay,minimum_distance) if(target) if(isturf(target_from.loc) && target.Adjacent(target_from)) //If they're next to us, attack - MeleeAction() + if(ranged && shoot_point_blank && ranged_cooldown <= world.time) + OpenFire(target) + else + MeleeAction() else if(rapid_melee > 1 && target_distance <= melee_queue_distance) MeleeAction(FALSE) @@ -366,9 +371,10 @@ /mob/living/simple_animal/hostile/proc/Aggro() vision_range = aggro_vision_range - if(target && emote_taunt.len && prob(taunt_chance)) - manual_emote("[pick(emote_taunt)] at [target].") - taunt_chance = max(taunt_chance-7,2) + if(target) + if(emote_taunt.len && prob(taunt_chance)) + manual_emote("[pick(emote_taunt)] at [target].") + taunt_chance = max(taunt_chance-7,2) /mob/living/simple_animal/hostile/proc/LoseAggro() @@ -698,3 +704,27 @@ if (length(initial(src.faction)) > 0) src.faction += initial(src.faction) src.faction += tag + +/mob/living/simple_animal/hostile/proc/fire_line(source, list/turfs, fire_source = "fire breath", ignite_turfs = FALSE, power = 4, flame_color = "red") + var/list/hit_list = list() + for(var/turf/T in turfs) + if(istype(T, /turf/closed)) + break + new /obj/effect/hotspot(T) + T.hotspot_expose(700,50,1) + if(ignite_turfs) + T.IgniteTurf(power,flame_color) + for(var/mob/living/L in T.contents) + if((L in hit_list) || L == source) + continue + hit_list += L + L.adjustFireLoss(20) + to_chat(L, "You're hit by [source]'s [fire_source]!") + + // deals damage to mechs + for(var/obj/mecha/M in T.contents) + if(M in hit_list) + continue + hit_list += M + M.take_damage(45, BRUTE, "melee", 1) + sleep(1.5) diff --git a/code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm b/code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm deleted file mode 100644 index 0f14f615e5b..00000000000 --- a/code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm +++ /dev/null @@ -1,86 +0,0 @@ -/mob/living/simple_animal/hostile/human/cat_butcherer - name = "Cat Surgeon" - desc = "Feline genemod physiological modification surgery is outlawed in Nanotrasen-controlled sectors. This doctor doesn't seem to care, and thus, is wanted for several warcrimes." - icon_state = "cat_butcher" - icon_living = "cat_butcher" - projectiletype = /obj/projectile/bullet/dart/tranq - projectilesound = 'sound/items/syringeproj.ogg' - ranged = TRUE - ranged_message = "fires the syringe gun at" - ranged_cooldown_time = 30 - speak_chance = 0 - stat_attack = HARD_CRIT - melee_damage_lower = 15 - melee_damage_upper = 15 - attack_verb_continuous = "slashes at" - attack_verb_simple = "slash at" - attack_sound = 'sound/weapons/circsawhit.ogg' - loot = list(/obj/effect/mob_spawn/human/corpse/cat_butcher, /obj/item/circular_saw, /obj/item/gun/syringe) - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) - faction = list("hostile") - check_friendly_fire = TRUE - var/impatience = 0 - -/mob/living/simple_animal/hostile/human/cat_butcherer/CanAttack(atom/the_target) - if(iscarbon(target)) - var/mob/living/carbon/human/C = target - if(C.getorgan(/obj/item/organ/ears/cat) && C.getorgan(/obj/item/organ/tail/cat) && C.has_trauma_type(/datum/brain_trauma/severe/pacifism))//he wont attack his creations - if(C.stat >= UNCONSCIOUS && (!HAS_TRAIT(C, TRAIT_NOMETABOLISM) || !istype(C.dna.species, /datum/species/ipc)))//unless they need healing - return ..() - else - return FALSE - return ..() - -/mob/living/simple_animal/hostile/human/cat_butcherer/AttackingTarget() - if(iscarbon(target)) - var/mob/living/carbon/human/L = target - if(!L.getorgan(/obj/item/organ/ears/cat) && L.stat >= UNCONSCIOUS) //target doesnt have cat ears - if(L.getorgan(/obj/item/organ/ears)) //slice off the old ears - var/obj/item/organ/ears/ears = L.getorgan(/obj/item/organ/ears) - visible_message("[src] slices off [L]'s ears!", "You slice [L]'s ears off.") - ears.Remove(L) - ears.forceMove(get_turf(L)) - else //implant new ears - visible_message("[src] attaches a pair of cat ears to [L]!", "You attach a pair of cat ears to [L].") - var/obj/item/organ/ears/cat/newears = new - newears.Insert(L, drop_if_replaced = FALSE) - return - else if(!L.getorgan(/obj/item/organ/tail/cat) && L.stat >= UNCONSCIOUS) - if(L.getorgan(/obj/item/organ/tail)) //cut off the tail if they have one already - var/obj/item/organ/tail/tail = L.getorgan(/obj/item/organ/tail) - visible_message("[src] severs [L]'s tail in one swift swipe!", "You sever [L]'s tail in one swift swipe.") - tail.Remove(L) - tail.forceMove(get_turf(L)) - else //put a cat tail on - visible_message("[src] attaches a cat tail to [L]!", "You attach a tail to [L].") - var/obj/item/organ/tail/cat/newtail = new - newtail.Insert(L, drop_if_replaced = FALSE) - return - else if(!L.has_trauma_type(/datum/brain_trauma/severe/pacifism) && L.stat >= UNCONSCIOUS) //still does damage - visible_message("[src] drills a hole in [L]'s skull!", "You pacify [L]. Another successful creation.") - L.gain_trauma(/datum/brain_trauma/severe/pacifism, TRAUMA_RESILIENCE_SURGERY) - say("I'm a genius!!") - L.health += 20 //he heals a bit whenever he finishes - else if(L.stat >= UNCONSCIOUS) //quickly heal them up and move on to our next target! - visible_message("[src] injects [L] with an unknown medicine!", "You inject [L] with medicine.") - L.SetSleeping(0, FALSE) - L.SetUnconscious(0, FALSE) - L.adjustOxyLoss(-50)// do CPR first - if(L.blood_volume <= 500) //bandage them up and give em some blood if they're bleeding - L.blood_volume += 30 - L.heal_bleeding(10) - if(L.getBruteLoss() >= 50)// first, did we beat them into crit? if so, heal that - var/healing = min(L.getBruteLoss(), 120) - L.adjustBruteLoss(-healing) - L.heal_bleeding(10) - return - else if(L.getFireLoss() >= 50) // are they still down from other damage? fix it, but not as fast as the burns - var/healing = min(L.getFireLoss(), 50) - L.adjustFireLoss(-healing) - impatience += 50 - if(prob(impatience)) - FindTarget()//so we don't focus on some unconscious dude when we could get our eyes on the prize - impatience = 0 - say("Bah!!") - return - return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm index 4d38e1c5f87..3257e6440b9 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm @@ -1,32 +1,99 @@ /mob/living/simple_animal/hostile/human/frontier - name = "Frontiersman" - desc = "A frontiersman! A terrorist that would probably kill everyone without mercy." + name = "Frontiersman Shank" + desc = "A member of the brutal Frontiersman terrorist fleet! This one clutches a wicked-looking knife in nimble fingers, eager to relieve you of your innards." icon_state = "frontiersmanmelee" + icon = 'icons/mob/simple_frontiersman.dmi' icon_living = "frontiersmanmelee" icon_dead = "frontiersmanmelee_dead" speak_chance = 0 melee_damage_lower = 15 melee_damage_upper = 15 loot = list(/obj/effect/mob_spawn/human/corpse/frontier, - /obj/item/kitchen/knife) - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) + /obj/item/melee/knife/survival) faction = list(FACTION_ANTAG_FRONTIERSMEN) + footstep_type = FOOTSTEP_MOB_SHOE + +/mob/living/simple_animal/hostile/human/frontier/internals + icon_state = "frontiersmanmelee_mask" + icon_living = "frontiersmanmelee_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier, + /obj/item/clothing/mask/breath, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = IMMUNE_ATMOS_REQS + minbodytemp = 0 + /mob/living/simple_animal/hostile/human/frontier/ranged + name = "Frontiersman Quickdraw" + desc = "A member of the brutal Frontiersman terrorist fleet! This one thumbs a slender revolver, stained chrome and a malicious smile glinting in the light." icon_state = "frontiersmanranged" icon_living = "frontiersmanranged" loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, - /obj/item/gun/ballistic/revolver/syndicate) + /obj/item/gun/ballistic/revolver/shadow) ranged = 1 retreat_distance = 5 minimum_distance = 5 - projectilesound = 'sound/weapons/gun/revolver/shot.ogg' - casingtype = /obj/item/ammo_casing/a357 + projectilesound = 'sound/weapons/gun/revolver/cattleman.ogg' + casingtype = /obj/item/ammo_casing/a44roum + +/mob/living/simple_animal/hostile/human/frontier/ranged/internals + icon_state = "frontiersmanranged_mask" + icon_living = "frontiersmanranged_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, + /obj/item/gun/ballistic/revolver/shadow, + /obj/item/clothing/mask/breath, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = IMMUNE_ATMOS_REQS + minbodytemp = 0 + +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, + /obj/item/clothing/mask/breath, + /obj/item/tank/internals/emergency_oxygen/engi) /mob/living/simple_animal/hostile/human/frontier/ranged/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged) +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon + name = "Frontiersman Sawbones" + desc = "A member of the brutal Frontiersman terrorist fleet! They appear to be a \"doctor\" of some sort, nervously swinging about some kind of makeshift syringe launcher." + icon_state = "frontiersmansurgeon" + icon_living = "frontiersmansurgeon" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/surgeon, + /obj/item/melee/knife/survival, + /obj/item/gun/syringe) + + minimum_distance = 1 + retreat_distance = null + projectiletype = /obj/projectile/bullet/dart/tranq + projectilesound = 'sound/items/syringeproj.ogg' + casingtype = null + ranged_message = "fires the syringe gun at" + ranged_cooldown_time = 30 + armor_base = /obj/item/clothing/suit/frontiersmen + +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/neuter + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/surgeon) + +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals + icon_state = "frontiersmansurgeon_mask" + icon_living = "frontiersmansurgeon_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/surgeon, + /obj/item/melee/knife/survival, + /obj/item/gun/syringe, + /obj/item/clothing/mask/breath, + /obj/item/tank/internals/emergency_oxygen/engi) + +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals/neuter + icon_state = "frontiersmansurgeon_mask" + icon_living = "frontiersmansurgeon_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/surgeon, + /obj/item/clothing/mask/breath, + /obj/item/tank/internals/emergency_oxygen/engi) + /mob/living/simple_animal/hostile/human/frontier/ranged/mosin + name = "Frontiersman Sharpshot" + desc = "A member of the brutal Frontiersman terrorist fleet! This one confidently mills about with a long rifle slung over their shoulder." icon_state = "frontiersmanrangedrifle" icon_living = "frontiersmanrangedrifle" loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, @@ -34,23 +101,86 @@ casingtype = /obj/item/ammo_casing/a8_50r projectilesound = 'sound/weapons/gun/rifle/mosin.ogg' +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/internals + icon_state = "frontiersmanrangedrifle_mask" + icon_living = "frontiersmanrangedrifle_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, + /obj/item/gun/ballistic/rifle/illestren, + /obj/item/clothing/mask/breath, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = IMMUNE_ATMOS_REQS + minbodytemp = 0 + +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/internals/neutered + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, + /obj/item/clothing/mask/breath, + /obj/item/tank/internals/emergency_oxygen/engi) + /mob/living/simple_animal/hostile/human/frontier/ranged/mosin/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged) /mob/living/simple_animal/hostile/human/frontier/ranged/trooper + name = "Frontiersman Doorkicker" + desc = "A member of the brutal Frontiersman terrorist fleet! Bedecked in military-grade armor, they swagger their shotgun about with a boldness uncommon even among other Frontiersmen." icon_state = "frontiersmanrangedelite" icon_living = "frontiersmanrangedelite" - maxHealth = 170 - health = 170 projectilesound = 'sound/weapons/gun/shotgun/shot.ogg' casingtype = /obj/item/ammo_casing/shotgun/buckshot loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, /obj/item/gun/ballistic/shotgun/brimstone) + armor_base = /obj/item/clothing/suit/armor/vest/frontier + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals + icon_state = "frontiersmanrangedelite_mask" + icon_living = "frontiersmanrangedelite_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, + /obj/item/gun/ballistic/shotgun/brimstone, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = IMMUNE_ATMOS_REQS + minbodytemp = 0 + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals/neutered + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper) +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame + name = "Frontiersman Scorcher" + desc = "An ashen revenant wades through a sea of flames, mummified under twenty pounds of blackened asbestos fabric. Mirrored lenses glare inscrutably as they swing their instrument of destruction towards you. You should probably run." + icon_state = "frontiersmanflametrooper" + icon_living = "frontiersmanflametrooper" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/flame, + /obj/item/flamethrower) + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + maxbodytemp = 1000 + + minimum_distance = 1 + retreat_distance = null + shoot_point_blank = TRUE + projectiletype = null + projectilesound = 'sound/weapons/gun/flamethrower/flamethrower1.ogg' + casingtype = null + armor_base = /obj/item/clothing/suit/armor/frontier/fireproof + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame/OpenFire() + var/turf/T = get_ranged_target_turf_direct(src, target, 4) + var/list/burn_turfs = getline(src, T) - get_turf(src) + visible_message("[src] [ranged_message] at [target.name]!") + playsound(src, projectilesound, 100, TRUE) + fire_line(src, burn_turfs, "flamethrower", TRUE, 10) + ranged_cooldown = world.time + ranged_cooldown_time + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame/neuter + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/flame) + /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm + name = "Frontiersman Gunner" + desc = "A member of the brutal Frontiersman terrorist fleet! This one could almost be mistaken for a real soldier by their assault rifle and armor, if it weren't for their swaggering demeanor." icon_state = "frontiersmanrangedak47" icon_living = "frontiersmanrangedak47" projectilesound = 'sound/weapons/gun/rifle/skm.ogg' @@ -59,11 +189,29 @@ casingtype = /obj/item/ammo_casing/a762_40 loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, /obj/item/gun/ballistic/automatic/assault/skm) + armor_base = /obj/item/clothing/suit/armor/vest/frontier + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals + icon_state = "frontiersmanrangedak47_mask" + icon_living = "frontiersmanrangedak47_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, + /obj/item/gun/ballistic/automatic/assault/skm, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = IMMUNE_ATMOS_REQS + minbodytemp = 0 + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/neutured loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper) /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle + name = "Frontiersman Crackshot" + desc = "A member of the brutal Frontiersman terrorist fleet! Compared to their allies, they stand a little straighter, laugh a little colder. Their long rifle has a regular series of scratches on the receiver." icon_state = "frontiersmanrangedmosin" icon_living = "frontiersmanrangedmosin" @@ -71,40 +219,83 @@ /obj/item/gun/ballistic/rifle/illestren) casingtype = /obj/item/ammo_casing/a8_50r projectilesound = 'sound/weapons/gun/rifle/mosin.ogg' + armor_base = /obj/item/clothing/suit/armor/vest/frontier + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals + icon_state = "frontiersmanrangedmosin_mask" + icon_living = "frontiersmanrangedmosin_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, + /obj/item/gun/ballistic/rifle/illestren, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = IMMUNE_ATMOS_REQS + minbodytemp = 0 + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals/neutered + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper) /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy + name = "Frontiersman Sweeper" + desc = "Unseen behind the mirror-visor of this heavily plated hardsuit, flinty eyes dream of cruelty. A mass of chrome and photonics swings your way, the soft whine of its motor a harbinger of iridescent death." icon_state = "frontiersmanrangedminigun" icon_living = "frontiersmanrangedminigun" projectilesound = 'sound/weapons/laser4.ogg' - maxHealth = 260 - health = 260 rapid = 6 rapid_fire_delay = 1.5 casingtype = null projectiletype = /obj/projectile/beam/weak/penetrator loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy) + armor_base = /obj/item/clothing/suit/space/hardsuit/security/independent/frontier + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/internals + icon_state = "frontiersmanrangedminigun_mask" + icon_living = "frontiersmanrangedminigun_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = IMMUNE_ATMOS_REQS + minbodytemp = 0 + + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/internals/neutered + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/gunless, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/gunless) /mob/living/simple_animal/hostile/human/frontier/ranged/officer - name = "Frontiersman Officer" + name = "Frontiersman Boss" + desc = "This Frontiersman moves with what could almost pass for discipline among the infamously ragtag terrorists. They leer at their underlings, one hand resting consciously over the machine pistol at their hip." icon_state = "frontiersmanofficer" icon_living = "frontiersmanofficer" - maxHealth = 65 - health = 65 - rapid = 3 + rapid = 4 + projectilesound = 'sound/weapons/gun/pistol/mauler.ogg' casingtype = /obj/item/ammo_casing/c9mm loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer, - /obj/item/gun/ballistic/automatic/pistol/APS) + /obj/item/gun/ballistic/automatic/pistol/mauler) + armor_base = /obj/item/clothing/suit/armor/frontier + +/mob/living/simple_animal/hostile/human/frontier/ranged/officer/internals + icon_state = "frontiersmanofficer_mask" + icon_living = "frontiersmanofficer_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer, + /obj/item/gun/ballistic/automatic/pistol/mauler, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = IMMUNE_ATMOS_REQS + minbodytemp = 0 + +/mob/living/simple_animal/hostile/human/frontier/ranged/officer/internals/neutered + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) /mob/living/simple_animal/hostile/human/frontier/ranged/officer/neutured loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer) - -/mob/living/simple_animal/hostile/human/frontier/ranged/officer/Aggro() - ..() - summon_backup(15) - say(pick("Help!!", "They're right here!!", "Don't let me die!!")) diff --git a/code/modules/mob/living/simple_animal/hostile/human/human.dm b/code/modules/mob/living/simple_animal/hostile/human/human.dm index 633bd40090e..1efe7c02b26 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/human.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/human.dm @@ -30,7 +30,6 @@ loot = list(/obj/effect/mob_spawn/human/corpse/damaged) del_on_death = TRUE - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) unsuitable_atmos_damage = 15 minbodytemp = 180 status_flags = CANPUSH @@ -39,3 +38,26 @@ footstep_type = FOOTSTEP_MOB_SHOE faction = list("hermit") + + ///Steals the armor datum from this type of armor + var/obj/item/clothing/armor_base + +/mob/living/simple_animal/hostile/human/Initialize() + . = ..() + if(ispath(armor_base, /obj/item/clothing)) + //sigh. if only we could get the initial() value of list vars + var/obj/item/clothing/instance = new armor_base() + armor = instance.armor + qdel(instance) + +/mob/living/simple_animal/hostile/human/vv_edit_var(var_name, var_value) + switch(var_name) + if (NAMEOF(src, armor_base)) + if(ispath(var_value, /obj/item/clothing)) + var/obj/item/clothing/temp = new var_value + armor = temp.armor + qdel(temp) + datum_flags |= DF_VAR_EDITED + return TRUE + return FALSE + . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm b/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm index 6c1676d202a..5898a9c75ea 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm @@ -7,10 +7,10 @@ stat_attack = HARD_CRIT melee_damage_upper = 15 loot = list(/obj/effect/mob_spawn/human/corpse/nanotrasensoldier) - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) faction = list(ROLE_DEATHSQUAD) check_friendly_fire = TRUE dodging = TRUE + armor_base = /obj/item/clothing/suit/armor/vest /mob/living/simple_animal/hostile/human/nanotrasen/screaming icon_state = "nanotrasen" @@ -62,8 +62,6 @@ icon = 'icons/mob/simple_human.dmi' icon_state = "nanotrasen_ert" icon_living = "nanotrasen_ert" - maxHealth = 150 - health = 150 melee_damage_lower = 13 melee_damage_upper = 18 ranged = TRUE @@ -72,9 +70,10 @@ rapid_melee = 3 retreat_distance = 0 minimum_distance = 1 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 projectiletype = /obj/projectile/beam/laser projectilesound = 'sound/weapons/laser.ogg' loot = list(/obj/effect/gibspawner/human) faction = list(ROLE_DEATHSQUAD) + armor_base = /obj/item/clothing/suit/space/hardsuit/ert/sec diff --git a/code/modules/mob/living/simple_animal/hostile/human/pirate.dm b/code/modules/mob/living/simple_animal/hostile/human/pirate.dm index df10cfa6a2b..fd33a21fe03 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/pirate.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/pirate.dm @@ -5,10 +5,9 @@ icon_living = "piratemelee" icon_dead = "pirate_dead" speak_chance = 0 - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) speak_emote = list("yarrs") loot = list(/obj/effect/mob_spawn/human/corpse/pirate, - /obj/item/melee/transforming/energy/sword/saber/pirate) + /obj/item/melee/energy/sword/saber/pirate) faction = list("pirate") /mob/living/simple_animal/hostile/human/pirate/melee @@ -31,9 +30,10 @@ icon_state = "piratespace" icon_living = "piratespace" icon_dead = "piratespace_dead" - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 speed = 1 + armor_base = /obj/item/clothing/suit/space /mob/living/simple_animal/hostile/human/pirate/melee/space/Initialize() . = ..() @@ -71,9 +71,10 @@ icon_state = "piratespaceranged" icon_living = "piratespaceranged" icon_dead = "piratespaceranged_dead" - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 speed = 1 + armor_base = /obj/item/clothing/suit/space /mob/living/simple_animal/hostile/human/pirate/ranged/space/Initialize() . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm b/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm index b251dda91e4..4eac3878efa 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm @@ -19,7 +19,7 @@ attack_verb_continuous = "slashes" attack_verb_simple = "slash" attack_sound = 'sound/hallucinations/growl1.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS unsuitable_atmos_damage = 10 stat_attack = HARD_CRIT faction = list("skeleton") @@ -48,8 +48,7 @@ deathmessage = "collapses into a pile of bones, its gear clanging as it hits the ground!" loot = list(/obj/effect/decal/remains/human, /obj/item/clothing/suit/armor/witchhunter, - /obj/item/clothing/head/witchunter, - /obj/item/claymore/weak{name = "holy sword"}) + /obj/item/melee/sword/claymore{name = "holy sword"}) /mob/living/simple_animal/hostile/human/skeleton/ice name = "ice skeleton" diff --git a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm index f7abea96b22..cb90ebc348a 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm @@ -7,17 +7,17 @@ loot = list( /obj/effect/mob_spawn/human/corpse/damaged/whitesands ) + armor_base = /obj/item/clothing/suit/hooded/survivor + + speak_emote = list("breathes heavily.", "growls.", "sharply inhales.") + emote_hear = list("murmers.","grumbles.","whimpers.") /mob/living/simple_animal/hostile/human/hermit/survivor/death(gibbed) move_force = MOVE_FORCE_DEFAULT move_resist = MOVE_RESIST_DEFAULT pull_force = PULL_FORCE_DEFAULT ..() - /* - if(prob(15)) - new /obj/item/mob_trophy/shiny(loc) - visible_message("You notice a glimmering nugget of shiny metal.") - */ + /mob/living/simple_animal/hostile/human/hermit/survivor name = "Hermit Wanderer" @@ -39,7 +39,7 @@ icon_state = "survivor_hunter" icon_living = "survivor_hunter" projectiletype = null - casingtype = /obj/item/ammo_casing/aac_300blk/recycled + casingtype = /obj/item/ammo_casing/a762_40 projectilesound = 'sound/weapons/gun/rifle/shot.ogg' ranged = 1 rapid_fire_delay = 6 @@ -60,13 +60,28 @@ icon_living = "survivor_gunslinger" projectilesound = 'sound/weapons/gun/smg/shot.ogg' speed = 10 - rapid = 4 + rapid = 3 rapid_fire_delay = 3 - casingtype = /obj/item/ammo_casing/a545_39/recycled + casingtype = /obj/item/ammo_casing/c46x30mm/recycled loot = list( /obj/effect/mob_spawn/human/corpse/damaged/whitesands/gunslinger, ) +/mob/living/simple_animal/hostile/human/hermit/ranged/e11 // Intended for the e11_manufactory ruin. + name = "Hermit Trooper" + desc = "Quality weapons are hard to get by in the sandworlds, which forces many survivors to improvise with that they have. This one is hoping that an E-11 of all things will save his life." + icon_state = "survivor_e11" + icon_living = "survivor_e11" + projectilesound = 'sound/weapons/gun/laser/e-fire.ogg' + speed = 10 + faction = list("eoehoma") + rapid_fire_delay = 1 + casingtype = null + projectiletype = /obj/projectile/beam/laser/eoehoma/hermit + loot = list( + /obj/effect/mob_spawn/human/corpse/damaged/whitesands/e11, + ) + //survivor corpses /obj/effect/mob_spawn/human/corpse/damaged/whitesands @@ -79,7 +94,7 @@ var/survivor_type //room for alternatives inside the fuckoff grade init. /obj/effect/mob_spawn/human/corpse/damaged/whitesands/Initialize() //everything here should equal out to 100 for the sake of my sanity. - mob_species = pickweight(list( + mob_species = pick_weight(list( /datum/species/human = 50, /datum/species/lizard = 20, /datum/species/ipc = 10, @@ -91,7 +106,7 @@ //to-do: learn how to make mobsprites for other survivors //gloves are a tossup - gloves = pickweight(list( + gloves = pick_weight(list( /obj/item/clothing/gloves/color/black = 60, /obj/item/clothing/gloves/explorer = 30, /obj/item/clothing/gloves/explorer/old = 10 @@ -99,7 +114,7 @@ ) //bags are semi-random. - back = pickweight(list( + back = pick_weight(list( /obj/item/storage/backpack = 20, /obj/item/storage/backpack/explorer = 20, /obj/item/storage/backpack/satchel = 20, @@ -111,12 +126,12 @@ //as are bag contents backpack_contents = list() if(prob(70)) - backpack_contents += pickweight(list( //these could stand to be expanded, right now they're just mildly modified miner ones, and I don't know how to plus that up. + backpack_contents += pick_weight(list( //these could stand to be expanded, right now they're just mildly modified miner ones, and I don't know how to plus that up. /obj/item/soap = 10, /obj/item/stack/marker_beacon/ten = 15, /obj/item/mining_scanner = 5, /obj/item/extinguisher/mini = 10, - /obj/item/kitchen/knife/combat = 5, + /obj/item/melee/knife/combat = 5, /obj/item/flashlight/seclite = 10, /obj/item/stack/sheet/sinew = 10, /obj/item/stack/sheet/bone = 5, @@ -127,33 +142,33 @@ ) ) if(prob(70)) - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/stack/sheet/animalhide/goliath_hide = 20, /obj/item/stack/marker_beacon/ten = 10, /obj/item/mining_scanner = 20, /obj/item/extinguisher/mini = 10, - /obj/item/kitchen/knife/combat/survival = 10, + /obj/item/melee/knife/survival = 10, /obj/item/flashlight/seclite = 10, /obj/item/stack/sheet/sinew = 10, /obj/item/stack/sheet/bone = 10 ) ) if(prob(70)) - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/stack/sheet/animalhide/goliath_hide = 5, /obj/item/stack/marker_beacon/ten = 5, /obj/item/mining_scanner = 5, /obj/item/extinguisher/mini = 10, - /obj/item/kitchen/knife/combat/survival = 12, + /obj/item/melee/knife/survival = 12, /obj/item/flashlight/seclite = 10, /obj/item/stack/sheet/sinew = 5, /obj/item/stack/sheet/bone = 5, - /obj/item/kitchen/knife/combat = 3, - /obj/item/reagent_containers/food/snacks/rationpack = 30 + /obj/item/melee/knife/combat = 3, + /obj/item/storage/ration/shredded_beef = 30 ) ) if (prob(15)) //mayhaps a medkit - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/storage/firstaid/regular = 50, /obj/item/storage/firstaid/brute = 15, /obj/item/storage/firstaid/medical = 15, @@ -166,7 +181,7 @@ backpack_contents += /obj/item/reagent_containers/hypospray/medipen/survival //masks - mask = pickweight(list( + mask = pick_weight(list( /obj/item/clothing/mask/gas = 40, /obj/item/clothing/mask/gas/explorer = 20, /obj/item/clothing/mask/gas/explorer/old = 20, @@ -176,7 +191,7 @@ //the eyes are the window into the soul. if(prob(70)) - glasses = pickweight(list( + glasses = pick_weight(list( /obj/item/clothing/glasses/heat = 20, /obj/item/clothing/glasses/cold = 20, /obj/item/clothing/glasses/meson = 40, @@ -188,7 +203,7 @@ if(prob(1)) //oh my god they can't hear the sandstorm coming they've got airpods in ears = /obj/item/instrument/piano_synth/headphones/spacepods else - ears = pickweight(list( + ears = pick_weight(list( /obj/item/radio/headset = 50, /obj/item/radio/headset/alt = 50 ) @@ -197,17 +212,16 @@ switch(survivor_type) if("survivor") //uniforms are random to show varied backgrounds, but similar goal - uniform = pickweight(list( + uniform = pick_weight(list( /obj/item/clothing/under/color/random = 65, /obj/item/clothing/under/rank/cargo/miner/lavaland = 10, /obj/item/clothing/under/rank/prisoner = 10, /obj/item/clothing/under/rank/cargo/miner/lavaland/old = 5, - /obj/item/clothing/under/color/khaki/buster = 5, /obj/item/clothing/under/rank/cargo/miner = 5 ) ) //storage is semi-randomized, giving some variety - belt = pickweight(list( + belt = pick_weight(list( /obj/item/storage/belt/fannypack = 40, /obj/item/storage/belt/mining = 20, /obj/item/storage/belt/mining/alt = 15, @@ -223,7 +237,7 @@ r_pocket = /obj/item/spacecash/bundle/smallrand if("hunter") - uniform = pickweight(list( + uniform = pick_weight(list( /obj/item/clothing/under/color/random = 50, /obj/item/clothing/under/rank/cargo/miner/lavaland = 25, /obj/item/clothing/under/rank/cargo/miner/lavaland/old = 15, @@ -231,7 +245,7 @@ /obj/item/clothing/under/utility = 5 ) ) - belt = pickweight(list( + belt = pick_weight(list( /obj/item/storage/belt/mining = 30, /obj/item/storage/belt/fannypack = 20, /obj/item/storage/belt/mining/alt = 15, @@ -244,14 +258,14 @@ if(prob(20)) l_pocket = /obj/item/reagent_containers/food/snacks/meat/steak/goliath else if(prob(60)) - l_pocket = /obj/item/ammo_box/aac_300blk_stripper + l_pocket = /obj/item/ammo_box/a762_stripper if(prob(20)) new /obj/item/gun/ballistic/rifle/polymer(loc) else - visible_message(span_warning("The hunter's weapon shatters as they impact the ground!")) + visible_message(span_warning("The hermit's weapon shatters as they impact the ground!")) if("gunslinger") - uniform = pickweight(list( + uniform = pick_weight(list( /obj/item/clothing/under/rank/cargo/miner/lavaland = 35, /obj/item/clothing/under/color/random = 25, /obj/item/clothing/under/rank/cargo/miner/lavaland/old = 15, @@ -260,7 +274,7 @@ /obj/item/clothing/under/syndicate/combat = 5 ) ) - belt = pickweight(list( + belt = pick_weight(list( /obj/item/storage/belt/mining = 30, /obj/item/storage/belt/bandolier = 30, /obj/item/storage/belt/military = 20, @@ -272,12 +286,31 @@ if(prob(30)) shoes = /obj/item/clothing/shoes/combat //sometimes there are nicer shoes if(prob(50)) - l_pocket = /obj/item/ammo_box/magazine/skm_545_39 + l_pocket = /obj/item/ammo_box/magazine/skm_46_30/recycled if(prob(20)) new /obj/item/gun/ballistic/automatic/smg/skm_carbine(loc) else - visible_message(span_warning("The gunslinger's weapon shatters as they impact the ground!")) + visible_message(span_warning("The hermit's weapon shatters as they impact the ground!")) + if("e11") + uniform = pick_weight(list( + /obj/item/clothing/under/rank/cargo/miner = 65, + /obj/item/clothing/under/color/random = 25, + /obj/item/clothing/under/rank/cargo/miner/lavaland/old = 10, + ) + ) + belt = pick_weight(list( + /obj/item/storage/belt/utility = 25, + /obj/item/storage/belt/mining = 15, + /obj/item/storage/belt/fannypack = 15, + /obj/item/storage/belt/mining/alt = 5, + ) + ) + shoes = /obj/item/clothing/shoes/workboots + if(prob(50)) // Hilarious, ain't it? + new /obj/item/gun/energy/e_gun/e11 (loc) + else + visible_message(span_warning("The trooper's weapon shatters as they impact the ground!")) . = ..() @@ -290,6 +323,9 @@ /obj/effect/mob_spawn/human/corpse/damaged/whitesands/gunslinger survivor_type = "gunslinger" +/obj/effect/mob_spawn/human/corpse/damaged/whitesands/e11 + survivor_type = "e11" + //hold overs for any admin who may want to spawn their own survivor realmobs /datum/outfit/whitesands diff --git a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm index c18d131168c..669871fd9c1 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm @@ -13,7 +13,7 @@ icon_living = "syndicate" speak_chance = 0 stat_attack = HARD_CRIT - loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier) + loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier, /obj/item/clothing/neck/dogtag/ramzi) atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) maxbodytemp = 400 unsuitable_atmos_damage = 15 @@ -21,19 +21,21 @@ check_friendly_fire = TRUE dodging = TRUE rapid_melee = 2 + armor_base = /obj/item/clothing/suit/armor/vest ///////////////Melee//////////// /mob/living/simple_animal/hostile/human/syndicate/space + name = "Ramzi Clique Initiate" + desc = "A deserter from the Gorlex Marauders turned pirate. Despite their armored hardsuit, this one is unarmed." icon_state = "syndicate_space" icon_living = "syndicate_space" - name = "Ramzi Clique Commando" - maxHealth = 170 - health = 170 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 + loot = list(/obj/item/clothing/neck/dogtag/ramzi) + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi/ramzi /mob/living/simple_animal/hostile/human/syndicate/space/Initialize() . = ..() @@ -41,18 +43,20 @@ set_light(4) /mob/living/simple_animal/hostile/human/syndicate/space/stormtrooper + name = "Ramzi Clique Battlemaster" + desc = "A silhouette of obsidian glass stalks into view, empty hands clutching into armored fists. They are unarmed, and this is nearly a fair fight." icon_state = "syndicate_stormtrooper" icon_living = "syndicate_stormtrooper" - name = "Ramzi Clique Assault Trooper" - maxHealth = 250 - health = 250 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi /mob/living/simple_animal/hostile/human/syndicate/melee //dude with a knife and no shields + name = "Ramzi Clique Close Combatant" + desc = "A deserter from the Gorlex Marauders turned pirate. They hold a clean and razor-sharp knife with obvious training." melee_damage_lower = 15 melee_damage_upper = 15 icon_state = "syndicate_knife" icon_living = "syndicate_knife" - loot = list(/obj/effect/gibspawner/human) + loot = list(/obj/effect/gibspawner/human, /obj/item/clothing/neck/dogtag/ramzi) attack_verb_continuous = "slashes" attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' @@ -60,16 +64,15 @@ var/projectile_deflect_chance = 0 /mob/living/simple_animal/hostile/human/syndicate/melee/space + name = "Ramzi Clique Infiltrator" + desc = "A deserter from the Gorlex Marauders turned pirate. Rusted hardsuit gauntlets hold a shard of polished steel in an veteran's guard." icon_state = "syndicate_space_knife" icon_living = "syndicate_space_knife" - name = "Ramzi Clique Commando" - maxHealth = 170 - health = 170 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 maxbodytemp = 1000 speed = 1 - projectile_deflect_chance = 50 + projectile_deflect_chance = 0 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi/ramzi /mob/living/simple_animal/hostile/human/syndicate/melee/space/Initialize() . = ..() @@ -77,14 +80,19 @@ set_light(4) /mob/living/simple_animal/hostile/human/syndicate/melee/space/stormtrooper + name = "Ramzi Clique Assassin" + desc = "Wicked knifepoint tracks your every impulse. Clean, black armor plate glides across itself, bereft of all sound or resistance." icon_state = "syndicate_stormtrooper_knife" icon_living = "syndicate_stormtrooper_knife" name = "Ramzi Clique Stormtrooper" maxHealth = 250 health = 250 - projectile_deflect_chance = 50 + projectile_deflect_chance = 0 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi /mob/living/simple_animal/hostile/human/syndicate/melee/sword + name = "Ramzi Clique Duelist" + desc = "A deserter from the Gorlex Marauders turned pirate. They hold a glaring energy sword at half-guard." melee_damage_lower = 30 melee_damage_upper = 30 icon_state = "syndicate_sword" @@ -96,7 +104,7 @@ light_color = COLOR_SOFT_RED status_flags = 0 var/obj/effect/light_emitter/red_energy_sword/sord - projectile_deflect_chance = 50 + projectile_deflect_chance = 25 /mob/living/simple_animal/hostile/human/syndicate/melee/sword/Initialize() . = ..() @@ -113,16 +121,16 @@ return ..() /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space + name = "Ramzi Clique Duelist" + desc = "A deserter from the Gorlex Marauders turned pirate. Their decayed hardsuit still obeys as they hold their energy sword in counterpoint to your approach." icon_state = "syndicate_space_sword" icon_living = "syndicate_space_sword" - name = "Ramzi Clique Commando" - maxHealth = 170 - health = 170 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 - projectile_deflect_chance = 50 + projectile_deflect_chance = 25 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi/ramzi /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space/Initialize() . = ..() @@ -135,16 +143,18 @@ return ..() /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space/stormtrooper + name = "Ramzi Clique Blademaster" + desc = "Carmine bladelight glares furiously off the contours of a sleek, black armored suit. Their body betrays precious little as they glide in perfect conservation of motion from one stance to the next." icon_state = "syndicate_stormtrooper_sword" icon_living = "syndicate_stormtrooper_sword" - name = "Ramzi Clique Stormtrooper" - maxHealth = 250 - health = 250 projectile_deflect_chance = 50 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi ///////////////Guns//////////// /mob/living/simple_animal/hostile/human/syndicate/ranged + name = "Ramzi Clique Operative" + desc = "A deserter from the Gorlex Marauders turned pirate. They warily glance around, a compact sidearm held at the ready." ranged = 1 retreat_distance = 5 minimum_distance = 5 @@ -152,24 +162,24 @@ icon_living = "syndicate_pistol" casingtype = /obj/item/ammo_casing/c10mm projectilesound = 'sound/weapons/gun/pistol/shot.ogg' - loot = list(/obj/effect/gibspawner/human) + loot = list(/obj/effect/gibspawner/human, /obj/item/clothing/neck/dogtag/ramzi) dodging = FALSE rapid_melee = 1 /mob/living/simple_animal/hostile/human/syndicate/ranged/infiltrator //shuttle loan event projectilesound = 'sound/weapons/gun/smg/shot_suppressed.ogg' - loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier) + loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier, /obj/item/clothing/neck/dogtag/ramzi) /mob/living/simple_animal/hostile/human/syndicate/ranged/space + name = "Ramzi Clique Operative" + desc = "A deserter from the Gorlex Marauders turned pirate. Rusty gauntlets clutch a pocket pistol, the added bulk of their wrappings giving it a rather undersized appearance." icon_state = "syndicate_space_pistol" icon_living = "syndicate_space_pistol" - name = "Ramzi Clique Commando" - maxHealth = 170 - health = 170 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi/ramzi /mob/living/simple_animal/hostile/human/syndicate/ranged/space/Initialize() . = ..() @@ -177,13 +187,15 @@ set_light(4) /mob/living/simple_animal/hostile/human/syndicate/ranged/space/stormtrooper + name = "Ramzi Clique Pistolmaster" //I can't think of something better, sue me + desc = "Obsidian armor cradles a small handgun with sculptural grace. Its snub muzzle follows you before you even think to move." icon_state = "syndicate_stormtrooper_pistol" icon_living = "syndicate_stormtrooper_pistol" - name = "Ramzi Clique Stormtrooper" - maxHealth = 250 - health = 250 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi /mob/living/simple_animal/hostile/human/syndicate/ranged/smg + name = "Ramzi Clique Commando" + desc = "A deserter from the Gorlex Marauders turned pirate. They scan the room with their submachinegun held at eye level, sweeping every corner." rapid = 2 icon_state = "syndicate_smg" icon_living = "syndicate_smg" @@ -195,15 +207,15 @@ loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier) /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space + name = "Ramzi Clique Commando" + desc = "A deserter from the Gorlex Marauders turned pirate. Green hardsuit optics glint as they sweep their submachinegun across the room, scanning for threats." icon_state = "syndicate_space_smg" icon_living = "syndicate_space_smg" - name = "Ramzi Clique Commando" - maxHealth = 170 - health = 170 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi/ramzi /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space/Initialize() . = ..() @@ -211,13 +223,15 @@ set_light(4) /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space/stormtrooper + name = "Ramzi Clique Shock Trooper" + desc = "Night-black armor traces the silhouette of a soldier equaled by precious few. Their Cobra SMG tracks you perfectly, a staccato bark of .45 already in its throat." icon_state = "syndicate_stormtrooper_smg" icon_living = "syndicate_stormtrooper_smg" - name = "Ramzi Clique Stormtrooper" - maxHealth = 250 - health = 250 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi /mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun + name = "Ramzi Clique Breacher" + desc = "A deserter from the Gorlex Marauders turned pirate. They move low and quickly, heavy combat shotgun at the ready." rapid = 2 rapid_fire_delay = 6 minimum_distance = 3 @@ -226,15 +240,16 @@ casingtype = /obj/item/ammo_casing/shotgun/buckshot //buckshot fired in a two-round burst. This will two-tap unarmored players. /mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space + name = "Ramzi Clique Breacher" + desc = "A deserter from the Gorlex Marauders turned pirate. The unmistakeable bulk of a Bulldog shotgun graces the wrapped, patched hands of their aging hardsuit." icon_state = "syndicate_space_shotgun" icon_living = "syndicate_space_shotgun" name = "Ramzi Clique Commando" - maxHealth = 170 - health = 170 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi/ramzi /mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space/Initialize() . = ..() @@ -242,15 +257,17 @@ set_light(4) /mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space/stormtrooper + name = "Ramzi Clique Executioner" + desc = "Ink and black glass poured into the shape of an armored commando, dripping menace with every step. Their combat shotgun follows you with lethal intent, promising a blizzard of buckshot in less than a blink." icon_state = "syndicate_stormtrooper_shotgun" icon_living = "syndicate_stormtrooper_shotgun" - name = "Ramzi Clique Stormtrooper" - maxHealth = 250 - health = 250 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi ///////////////Misc//////////// /mob/living/simple_animal/hostile/human/syndicate/civilian + name = "Ramzi Clique Technician" + desc = "A deserter from the Gorlex Marauders turned pirate. This one is not only unarmed, but a coward as well." minimum_distance = 10 retreat_distance = 10 obj_damage = 0 @@ -280,7 +297,7 @@ attack_verb_simple = "cut" attack_sound = 'sound/weapons/bladeslice.ogg' faction = list(ROLE_SYNDICATE) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 mob_size = MOB_SIZE_TINY @@ -288,7 +305,6 @@ limb_destroyer = 1 speak_emote = list("states") bubble_icon = "syndibot" - gold_core_spawnable = HOSTILE_SPAWN del_on_death = 1 deathmessage = "is smashed into pieces!" diff --git a/code/modules/mob/living/simple_animal/hostile/human/zombie.dm b/code/modules/mob/living/simple_animal/hostile/human/zombie.dm index 7a12465b98b..c70b459fb7b 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/zombie.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/zombie.dm @@ -7,8 +7,6 @@ mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 stat_attack = HARD_CRIT //braains - maxHealth = 100 - health = 100 harm_intent_damage = 5 melee_damage_lower = 21 melee_damage_upper = 21 @@ -16,7 +14,7 @@ attack_verb_simple = "bite" attack_sound = 'sound/hallucinations/growl1.ogg' a_intent = INTENT_HARM - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 status_flags = CANPUSH loot = list() @@ -41,6 +39,7 @@ //They have claws now. O.r_hand = null O.l_hand = null + armor_base = O.suit var/icon/P = get_flat_human_icon("zombie_[zombiejob]", J , dummy_prefs, "zombie", outfit_override = O) icon = P diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm b/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm index 32dc8d4bc88..4a0970751d9 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm @@ -1,6 +1,6 @@ /mob/living/simple_animal/hostile/jungle vision_range = 5 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS faction = list("jungle") weather_immunities = list("acid") obj_damage = 30 diff --git a/code/modules/mob/living/simple_animal/hostile/killertomato.dm b/code/modules/mob/living/simple_animal/hostile/killertomato.dm index 8b1de1c2b8a..1b1dd1d7290 100644 --- a/code/modules/mob/living/simple_animal/hostile/killertomato.dm +++ b/code/modules/mob/living/simple_animal/hostile/killertomato.dm @@ -28,4 +28,3 @@ atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 150 maxbodytemp = 500 - gold_core_spawnable = HOSTILE_SPAWN diff --git a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm index 2a60b3c52fc..e72211f6601 100644 --- a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm +++ b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm @@ -19,13 +19,13 @@ Featuring: */ /mob/living/simple_animal/hostile/human/syndicate/mecha_pilot - name = "Syndicate Mecha Pilot" + name = "Syndicate Exosuit Pilot" desc = "Death to Nanotrasen. This variant comes in MECHA DEATH flavour." wanted_objects = list() search_objects = 0 mob_biotypes = MOB_ORGANIC|MOB_HUMANOID - var/spawn_mecha_type = /obj/mecha/combat/marauder/mauler/loaded + var/spawn_mecha_type = /obj/mecha/combat/marauder/touro/loaded var/obj/mecha/mecha //Ref to pilot's mecha instance var/required_mecha_charge = 7500 //If the pilot doesn't have a mecha, what charge does a potential Grand Theft Mecha need? (Defaults to half a battery) var/mecha_charge_evacuate = 50 //Amount of charge at which the pilot tries to abandon the mecha diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm index 63519d29c7c..fc8cbbce6d8 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm @@ -42,7 +42,7 @@ Difficulty: Medium pixel_x = -16 base_pixel_x = -16 //mob_trophy = /obj/item/mob_trophy/miner_eye - loot = list(/obj/item/melee/transforming/cleaving_saw, /obj/item/gun/energy/kinetic_accelerator) + loot = list(/obj/item/melee/cleaving_saw, /obj/item/gun/energy/kinetic_accelerator) wander = FALSE del_on_death = TRUE blood_volume = BLOOD_VOLUME_NORMAL @@ -50,7 +50,7 @@ Difficulty: Medium achievement_type = /datum/award/achievement/boss/blood_miner_kill crusher_achievement_type = /datum/award/achievement/boss/blood_miner_crusher score_achievement_type = /datum/award/score/blood_miner_score - var/obj/item/melee/transforming/cleaving_saw/miner/miner_saw + var/obj/item/melee/cleaving_saw/miner/miner_saw var/time_until_next_transform = 0 var/dashing = FALSE var/dash_cooldown = 15 @@ -107,11 +107,11 @@ Difficulty: Medium shoot_ka() transform_weapon() -/obj/item/melee/transforming/cleaving_saw/miner //nerfed saw because it is very murdery +/obj/item/melee/cleaving_saw/miner //nerfed saw because it is very murdery force = 6 - force_on = 10 + active_force = 10 -/obj/item/melee/transforming/cleaving_saw/miner/attack(mob/living/target, mob/living/carbon/human/user) +/obj/item/melee/cleaving_saw/miner/attack(mob/living/target, mob/living/carbon/human/user) target.add_stun_absorption("miner", 10, INFINITY) ..() target.stun_absorption -= "miner" @@ -248,14 +248,12 @@ Difficulty: Medium /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/proc/transform_weapon() if(time_until_next_transform <= world.time) miner_saw.transform_cooldown = 0 - miner_saw.transform_weapon(src, TRUE) - if(!miner_saw.active) - rapid_melee = 5 // 4 deci cooldown before changes, npcpool subsystem wait is 20, 20/4 = 5 - else - rapid_melee = 3 // same thing but halved (slightly rounded up) + miner_saw.attack_self(src) + var/saw_open = HAS_TRAIT(miner_saw, TRAIT_TRANSFORM_ACTIVE) + rapid_melee = saw_open ? 3 : 5 transform_stop_attack = TRUE - icon_state = "miner[miner_saw.active ? "_transformed":""]" - icon_living = "miner[miner_saw.active ? "_transformed":""]" + icon_state = "miner[saw_open ? "_transformed":""]" + icon_living = "miner[saw_open ? "_transformed":""]" time_until_next_transform = world.time + rand(50, 100) /obj/effect/temp_visual/dir_setting/miner_death diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/codename_claw.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/codename_claw.dm index 3a4506b6256..d3a50564ca7 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/codename_claw.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/codename_claw.dm @@ -58,7 +58,7 @@ speed = 5 move_to_delay = 5 speak_emote = list("verbalizes") - mob_trophy = /obj/item/nullrod/armblade/tentacle + mob_trophy = /obj/item/melee/synthetic_arm_blade loot = list(/obj/effect/spawner/clawloot) health = 2250 maxHealth = 2250 @@ -232,7 +232,6 @@ projectiletype = /obj/projectile/tentacle projectilesound = 'sound/effects/splat.ogg' Shoot(target) - /////TENTACLE END /////STING ATTACK diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 863abf56dad..a386758b8e6 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -607,12 +607,12 @@ GLOBAL_DATUM(blackbox, /obj/machinery/smartfridge/black_box) var/ready_to_deploy = FALSE /obj/machinery/anomalous_crystal/helpers/Destroy() - GLOB.poi_list -= src + SSpoints_of_interest.remove_point_of_interest(src) . = ..() /obj/machinery/anomalous_crystal/helpers/ActivationReaction(mob/user, method) if(..() && !ready_to_deploy) - GLOB.poi_list |= src + SSpoints_of_interest.make_point_of_interest(src) ready_to_deploy = TRUE notify_ghosts("An anomalous crystal has been activated in [get_area(src)]! This crystal can always be used by ghosts hereafter.", enter_link = "(Click to enter)", ghost_sound = 'sound/effects/ghost2.ogg', source = src, action = NOTIFY_ATTACK, header = "Anomalous crystal activated") @@ -659,7 +659,6 @@ GLOBAL_DATUM(blackbox, /obj/machinery/smartfridge/black_box) pass_flags = PASSTABLE | PASSGRILLE | PASSMOB ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY - gold_core_spawnable = HOSTILE_SPAWN verb_say = "warps" verb_ask = "floats inquisitively" verb_exclaim = "zaps" diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/cult_templar.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/cult_templar.dm index 08ef1a7b21c..bf580926517 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/cult_templar.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/cult_templar.dm @@ -23,8 +23,8 @@ ranged_cooldown_time = 20 vision_range = 10 damage_coeff = list(BRUTE = 1, BURN = 0.5, TOX = 0.5, CLONE = 0.5, STAMINA = 0, OXY = 0.5) - loot = list(/obj/item/claymore/cursed, /obj/item/clothing/suit/space/hardsuit/cult/enchanted) - mob_trophy = list(/obj/item/claymore/cursed, /obj/item/clothing/suit/space/hardsuit/cult/enchanted, /obj/item/upgradescroll) + loot = list(/obj/item/melee/sword/claymore, /obj/item/clothing/suit/space/hardsuit/cult/enchanted) + mob_trophy = list(/obj/item/melee/sword/claymore, /obj/item/clothing/suit/space/hardsuit/cult/enchanted, /obj/item/upgradescroll) wander = FALSE del_on_death = TRUE blood_volume = BLOOD_VOLUME_NORMAL @@ -40,7 +40,7 @@ /datum/action/innate/megafauna_attack/rapid_fire) move_force = MOVE_FORCE_NORMAL var/turf/starting - var/obj/item/claymore/cursed/mob/weapon + var/obj/item/melee/sword/claymore/weapon var/charging = FALSE var/dash_cooldown = 6 SECONDS var/runic_blast_cooldown = 14 SECONDS @@ -50,23 +50,6 @@ var/dash_num = 3 var/newcolor = rgb(149, 10, 10) -/obj/item/claymore/cursed - name = "cursed longsword" - desc = "For those who overcame a great challenge. It glows with a dim red light." - icon_state = "cultblade" - item_state = "cultblade" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - w_class = WEIGHT_CLASS_BULKY - throwforce = 25 - block_chance = 65 - armour_penetration = 50 - sharpness = IS_SHARP - -/obj/item/claymore/cursed/mob - block_chance = 0 - force = 16 - /mob/living/simple_animal/hostile/megafauna/cult_templar/Initialize() . = ..() starting = get_turf(src) @@ -421,7 +404,7 @@ /obj/item/clothing/suit/space/hardsuit/cult/enchanted name = "\improper Cursed Nar'Sien hardened armor" desc = "A heavily-armored exosuit worn by warriors of the Nar'Sien cult. This one is cursed, screaming voices into the mind of the wearer." - allowed = list(/obj/item/gun, /obj/item/nullrod, /obj/item/tank/internals) + allowed = list(/obj/item/gun, /obj/item/tank/internals) armor = list("melee" = 75, "bullet" = 50, "laser" = 30, "energy" = 50, "bomb" = 100, "bio" = 100, "rad" = 80, "fire" = 100, "acid" = 100) max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | LAVA_PROOF @@ -465,7 +448,7 @@ stop_automated_movement = 1 status_flags = CANPUSH attack_sound = 'sound/magic/demon_attack1.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS faction = list("cult") maxHealth = 60 health = 60 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm index 00a32a8dc44..03faa787d15 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm @@ -322,4 +322,3 @@ Difficulty: Extremely Hard var/turf/T = get_turf(target) mineral_scan_pulse(T, world.view + 1) . = ..() - diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index b7a2f091265..6a153adc54e 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -179,7 +179,7 @@ Difficulty: Medium var/increment = 360 / spiral_count for(var/j = 1 to spiral_count) var/list/turfs = line_target(j * increment + i * increment / 2, range, src) - INVOKE_ASYNC(src, PROC_REF(fire_line), turfs) + INVOKE_ASYNC(src, PROC_REF(dragon_fire_line), turfs) SLEEP_CHECK_DEATH(25) SetRecoveryTime(30) @@ -250,11 +250,11 @@ Difficulty: Medium var/range = 15 var/list/turfs = list() turfs = line_target(-40, range, at) - INVOKE_ASYNC(src, PROC_REF(fire_line), turfs) + INVOKE_ASYNC(src, PROC_REF(dragon_fire_line), turfs) turfs = line_target(0, range, at) - INVOKE_ASYNC(src, PROC_REF(fire_line), turfs) + INVOKE_ASYNC(src, PROC_REF(dragon_fire_line), turfs) turfs = line_target(40, range, at) - INVOKE_ASYNC(src, PROC_REF(fire_line), turfs) + INVOKE_ASYNC(src, PROC_REF(dragon_fire_line), turfs) /mob/living/simple_animal/hostile/megafauna/dragon/proc/line_target(offset, range, atom/at = target) if(!at) @@ -268,32 +268,9 @@ Difficulty: Medium T = check return (getline(src, T) - get_turf(src)) -/mob/living/simple_animal/hostile/megafauna/dragon/proc/fire_line(list/turfs) +/mob/living/simple_animal/hostile/megafauna/dragon/proc/dragon_fire_line(list/turfs) SLEEP_CHECK_DEATH(0) - dragon_fire_line(src, turfs) - -//fire line keeps going even if dragon is deleted -/proc/dragon_fire_line(source, list/turfs) - var/list/hit_list = list() - for(var/turf/T in turfs) - if(istype(T, /turf/closed)) - break - new /obj/effect/hotspot(T) - T.hotspot_expose(700,50,1) - for(var/mob/living/L in T.contents) - if(L in hit_list || L == source) - continue - hit_list += L - L.adjustFireLoss(20) - to_chat(L, "You're hit by [source]'s fire breath!") - - // deals damage to mechs - for(var/obj/mecha/M in T.contents) - if(M in hit_list) - continue - hit_list += M - M.take_damage(45, BRUTE, "melee", 1) - sleep(1.5) + fire_line(src, turfs) /mob/living/simple_animal/hostile/megafauna/dragon/proc/swoop_attack(lava_arena = FALSE, atom/movable/manual_target, swoop_cooldown = 30) if(stat || swooping) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm index 37934c0367e..c1cb46cb85e 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -15,7 +15,7 @@ robust_searching = TRUE ranged_ignores_vision = TRUE stat_attack = DEAD - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS damage_coeff = list(BRUTE = 1, BURN = 0.5, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) minbodytemp = 0 maxbodytemp = INFINITY @@ -86,7 +86,8 @@ ..() /mob/living/simple_animal/hostile/megafauna/proc/spawn_mob_trophy() - loot += mob_trophy + if(mob_trophy) + loot += mob_trophy /mob/living/simple_animal/hostile/megafauna/gib() if(health > 0) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm deleted file mode 100644 index 0c13b9d67f1..00000000000 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm +++ /dev/null @@ -1,288 +0,0 @@ -/* - -Swarmer Beacon - -A strange machine appears anywhere a normal lavaland mob can it produces a swarmer at a rate of -1/15 seconds, until there are GetTotalAISwarmerCap()/2 swarmers, after this it is up to the swarmers themselves to -increase their population (it will repopulate them should they fall under GetTotalAISwarmerCap()/2 again) - -tl;dr A million of the little hellraisers spawn (controlled by AI) and try to eat mining - -Loot: Not much, besides a shit load of artificial bluespace crystals, Oh and mining doesn't get eaten -that's a plus I suppose. - -Difficulty: Special - -*/ - -GLOBAL_LIST_EMPTY(AISwarmers) -GLOBAL_LIST_EMPTY(AISwarmersByType)//AISwarmersByType[.../resource] = list(1st, 2nd, nth), AISwarmersByType[../ranged] = list(1st, 2nd, nth) etc. -GLOBAL_LIST_INIT(AISwarmerCapsByType, list(/mob/living/simple_animal/hostile/swarmer/ai/resource = 30, /mob/living/simple_animal/hostile/swarmer/ai/ranged_combat = 20, /mob/living/simple_animal/hostile/swarmer/ai/melee_combat = 10)) - - -//returns a type of AI swarmer that is NOT at max cap -//type order is shuffled, to prevent bias -/proc/GetUncappedAISwarmerType() - var/static/list/swarmerTypes = subtypesof(/mob/living/simple_animal/hostile/swarmer/ai) - LAZYINITLIST(GLOB.AISwarmersByType) - for(var/t in shuffle(swarmerTypes)) - var/list/amount = GLOB.AISwarmersByType[t] - if(!amount || amount.len < GLOB.AISwarmerCapsByType[t]) - return t - - -//Total of all subtype caps -/proc/GetTotalAISwarmerCap() - var/static/list/swarmerTypes = subtypesof(/mob/living/simple_animal/hostile/swarmer/ai) - . = 0 - LAZYINITLIST(GLOB.AISwarmersByType) - for(var/t in swarmerTypes) - . += GLOB.AISwarmerCapsByType[t] - -//this should. not be a simple mob i think -/mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon - name = "swarmer beacon" - desc = "That name is a bit of a mouthful, but stop paying attention to your mouth they're eating everything!" - icon = 'icons/mob/swarmer.dmi' - icon_state = "swarmer_console" - health = 750 - maxHealth = 750 //""""low-ish"""" HP because it's a passive boss, and the swarm itself is the real foe - mob_biotypes = MOB_ROBOTIC - gps_name = "Hungry Signal" - achievement_type = /datum/award/achievement/boss/swarmer_beacon_kill - crusher_achievement_type = /datum/award/achievement/boss/swarmer_beacon_crusher - score_achievement_type = /datum/award/score/swarmer_beacon_score - faction = list("mining", "boss", "swarmer") - weather_immunities = list("lava","ash") - stop_automated_movement = TRUE - wander = FALSE - layer = BELOW_MOB_LAYER - AIStatus = AI_OFF - del_on_death = TRUE - var/swarmer_spawn_cooldown = 0 - var/swarmer_spawn_cooldown_amt = 150 //Deciseconds between the swarmers we spawn - var/call_help_cooldown = 0 - var/call_help_cooldown_amt = 150 //Deciseconds between calling swarmers to help us when attacked - var/static/list/swarmer_caps - - -/mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon/Initialize() - . = ..() - swarmer_caps = GLOB.AISwarmerCapsByType //for admin-edits - for(var/ddir in GLOB.cardinals) - new /obj/structure/swarmer/blockade (get_step(src, ddir)) - var/mob/living/simple_animal/hostile/swarmer/ai/resource/R = new(loc) - step(R, ddir) //Step the swarmers, instead of spawning them there, incase the turf is solid - - -/mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon/Life() - . = ..() - if(.) - var/createtype = GetUncappedAISwarmerType() - if(createtype && world.time > swarmer_spawn_cooldown && GLOB.AISwarmers.len < (GetTotalAISwarmerCap()*0.5)) - swarmer_spawn_cooldown = world.time + swarmer_spawn_cooldown_amt - new createtype(loc) - - -/mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - . = ..() - if(. > 0 && world.time > call_help_cooldown) - call_help_cooldown = world.time + call_help_cooldown_amt - summon_backup(25) //long range, only called max once per 15 seconds, so it's not deathlag - - -//SWARMER AI -//AI versions of the swarmer mini-antag -//This is an Abstract Base, it re-enables AI, but does not give the swarmer any goals/targets -/mob/living/simple_animal/hostile/swarmer/ai - wander = 1 - faction = list("swarmer", "mining") - weather_immunities = list("ash") //wouldn't be fun otherwise - AIStatus = AI_ON - -/mob/living/simple_animal/hostile/swarmer/ai/Initialize() - . = ..() - ToggleLight() //so you can see them eating you out of house and home/shooting you/stunlocking you for eternity - LAZYADD(GLOB.AISwarmers, src) - GLOB.AISwarmersByType[type] += list(src) - - -/mob/living/simple_animal/hostile/swarmer/ai/Destroy() - GLOB.AISwarmers -= src - GLOB.AISwarmersByType[type] -= src - return ..() - - -/mob/living/simple_animal/hostile/swarmer/ai/SwarmerTypeToCreate() - return GetUncappedAISwarmerType() - - -/mob/living/simple_animal/hostile/swarmer/ai/resource/handle_automated_action() - . = ..() - if(.) - if(!stop_automated_movement) - if(health < maxHealth*0.25) - StartAction(100) - RepairSelf() - return - - -/mob/living/simple_animal/hostile/swarmer/ai/Move(atom/newloc) - if(newloc) - if(newloc.virtual_z() == virtual_z()) //so these actions are Z-specific - if(islava(newloc)) - var/turf/open/lava/L = newloc - if(!L.is_safe()) - StartAction(20) - new /obj/structure/catwalk/swarmer_catwalk(newloc) - return FALSE - - if(ischasm(newloc) && !throwing) - throw_at(get_edge_target_turf(src, get_dir(src, newloc)), 7 , 3, src, FALSE) //my planet needs me - return FALSE - - return ..() - - -/mob/living/simple_animal/hostile/swarmer/ai/proc/StartAction(deci = 0) - stop_automated_movement = TRUE - AIStatus = AI_OFF - addtimer(CALLBACK(src, PROC_REF(EndAction)), deci) - - -/mob/living/simple_animal/hostile/swarmer/ai/proc/EndAction() - stop_automated_movement = FALSE - AIStatus = AI_ON - - - - -//RESOURCE SWARMER: -//Similar to the original Player-Swarmers, these dismantle things to obtain the metal inside -//They then use this medal to produce more swarmers or traps/barricades - -/mob/living/simple_animal/hostile/swarmer/ai/resource - search_objects = 1 - attack_all_objects = TRUE //attempt to nibble everything - lose_patience_timeout = 150 - var/static/list/sharedWanted = typecacheof(list(/turf/closed/mineral, /turf/closed/wall)) //eat rocks and walls - var/static/list/sharedIgnore = list() - -//This handles viable things to eat/attack -//Place specific cases of AI derpiness here -//Most can be left to the automatic Gain/LosePatience() system -/mob/living/simple_animal/hostile/swarmer/ai/resource/CanAttack(atom/the_target) - - //SPECIFIC CASES: - //Smash fulltile windows before grilles - if(istype(the_target, /obj/structure/grille)) - for(var/obj/structure/window/rogueWindow in get_turf(the_target)) - if(rogueWindow.fulltile) //done this way because the subtypes are weird. - the_target = rogueWindow - break - - //GENERAL CASES: - if(is_type_in_typecache(the_target, sharedIgnore)) //always ignore - return FALSE - if(is_type_in_typecache(the_target, sharedWanted)) //always eat - return TRUE - - return ..() //else, have a nibble, see if it's food - - -/mob/living/simple_animal/hostile/swarmer/ai/resource/OpenFire(atom/A) - if(isliving(A)) //don't shoot rocks, sillies. - ..() - - -/mob/living/simple_animal/hostile/swarmer/ai/resource/AttackingTarget() - if(target.swarmer_act(src)) - add_type_to_wanted(target.type) - return TRUE - else - add_type_to_ignore(target.type) - return FALSE - - -/mob/living/simple_animal/hostile/swarmer/ai/resource/handle_automated_action() - . = ..() - if(.) - if(!stop_automated_movement) - if(GLOB.AISwarmers.len < GetTotalAISwarmerCap() && resources >= 50) - StartAction(100) //so they'll actually sit still and use the verbs - CreateSwarmer() - return - - if(resources > 5) - if(prob(5)) //lower odds, as to prioritise reproduction - StartAction(10) //not a typo - CreateBarricade() - return - if(prob(5)) - CreateTrap() - return - - -//So swarmers can learn what is and isn't food -/mob/living/simple_animal/hostile/swarmer/ai/resource/proc/add_type_to_wanted(typepath) - if(!sharedWanted[typepath])// this and += is faster than |= - sharedWanted += typecacheof(typepath) - - -/mob/living/simple_animal/hostile/swarmer/ai/resource/proc/add_type_to_ignore(typepath) - if(!sharedIgnore[typepath]) - sharedIgnore += typecacheof(typepath) - - -//RANGED SWARMER -/mob/living/simple_animal/hostile/swarmer/ai/ranged_combat - icon_state = "swarmer_ranged" - icon_living = "swarmer_ranged" - projectiletype = /obj/projectile/beam/laser - projectilesound = 'sound/weapons/laser.ogg' - check_friendly_fire = TRUE //you're supposed to protect the resource swarmers, you poop - retreat_distance = 3 - minimum_distance = 3 - -/mob/living/simple_animal/hostile/swarmer/ai/ranged_combat/Aggro() - ..() - summon_backup(15, TRUE) //Exact matching, so that goliaths don't come to aid the swarmers, that'd be silly - - -//MELEE SWARMER -/mob/living/simple_animal/hostile/swarmer/ai/melee_combat - icon_state = "swarmer_melee" - icon_living = "swarmer_melee" - health = 60 - maxHealth = 60 - ranged = FALSE - -/mob/living/simple_animal/hostile/swarmer/ai/melee_combat/Aggro() - ..() - summon_backup(15, TRUE) - - -/mob/living/simple_animal/hostile/swarmer/ai/melee_combat/AttackingTarget() - if(isliving(target)) - if(prob(35)) - StartAction(30) - DisperseTarget(target) - else - var/mob/living/L = target - L.attack_animal(src) - L.electrocute_act(10, src, flags = SHOCK_NOGLOVES) - return TRUE - else - return ..() - - - - -//SWARMER CATWALKS -//Used so they can survive lavaland better -/obj/structure/catwalk/swarmer_catwalk - name = "swarmer catwalk" - desc = "A catwalk-like mesh, produced by swarmers to allow them to navigate hostile terrain." - icon = 'icons/obj/smooth_structures/swarmer_catwalk.dmi' - icon_state = "swarmer_catwalk-0" - base_icon_state = "swarmer_catwalk" diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 0568533c1e0..7b8bb392f1f 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -23,7 +23,7 @@ speak_emote = list("creaks") taunt_chance = 30 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 faction = list("mimic") @@ -224,7 +224,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca TrueGun = G if(istype(G, /obj/item/gun/ballistic)) Pewgun = G - var/obj/item/ammo_box/magazine/M = Pewgun.mag_type + var/obj/item/ammo_box/magazine/M = Pewgun.default_ammo_type casingtype = initial(M.ammo_type) if(istype(G, /obj/item/gun/energy)) Zapgun = G @@ -267,102 +267,5 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca icon_state = TrueGun.icon_state icon_living = TrueGun.icon_state -/mob/living/simple_animal/hostile/mimic/xenobio - health = 210 - maxHealth = 210 - attack_verb_continuous = "bites" - attack_verb_simple = "bite" - speak_emote = list("clatters") - gold_core_spawnable = HOSTILE_SPAWN - var/opened = FALSE - var/open_sound = 'sound/machines/crate_open.ogg' - var/close_sound = 'sound/machines/crate_close.ogg' - var/max_mob_size = MOB_SIZE_HUMAN - var/locked = FALSE - var/datum/action/innate/mimic/lock/lock - -/mob/living/simple_animal/hostile/mimic/xenobio/Initialize() - . = ..() - lock = new - lock.Grant(src) - -/mob/living/simple_animal/hostile/mimic/xenobio/AttackingTarget() - if(src == target) - toggle_open() - return - return ..() - -/mob/living/simple_animal/hostile/mimic/xenobio/attack_hand(mob/living/carbon/human/M) - . = ..() - if(M.a_intent != "help") - return - toggle_open() - -/mob/living/simple_animal/hostile/mimic/xenobio/death() - var/obj/structure/closet/crate/C = new(get_turf(src)) - // Put loot in crate - for(var/atom/movable/AM as anything in src) - AM.forceMove(C) - return ..() - -/mob/living/simple_animal/hostile/mimic/xenobio/CanAllowThrough(atom/movable/mover, border_dir) - . = ..() - if(istype(mover, /obj/structure/closet)) - return FALSE - -/mob/living/simple_animal/hostile/mimic/xenobio/proc/toggle_open() - if(locked) - return - if(!opened) - density = FALSE - opened = TRUE - icon_state = "crateopen" - playsound(src, open_sound, 50, TRUE) - for(var/atom/movable/AM as anything in src) - AM.forceMove(loc) - else - density = TRUE - opened = FALSE - icon_state = "crate" - playsound(src, close_sound, 50, TRUE) - for(var/atom/movable/AM in get_turf(src)) - if(insertion_allowed(AM)) - AM.forceMove(src) - -/mob/living/simple_animal/hostile/mimic/xenobio/proc/insertion_allowed(atom/movable/AM) - if(ismob(AM)) - if(!isliving(AM)) //Don't let ghosts and such get trapped in the beast. - return FALSE - var/mob/living/L = AM - if(L.anchored || L.buckled || L.incorporeal_move || L.has_buckled_mobs()) - return FALSE - if(L.mob_size > MOB_SIZE_TINY) // Tiny mobs are treated as items. - if(L.density || L.mob_size > max_mob_size) - return FALSE - L.stop_pulling() - - else if(istype(AM, /obj/structure/closet)) - return FALSE - else if(isobj(AM)) - if(AM.anchored || AM.has_buckled_mobs()) - return FALSE - else if(isitem(AM) && !HAS_TRAIT(AM, TRAIT_NODROP)) - return TRUE - else - return FALSE - return TRUE - /datum/action/innate/mimic background_icon_state = "bg_default" - -/datum/action/innate/mimic/lock - name = "Lock/Unlock" - desc = "Toggle preventing yourself from being opened or closed." - -/datum/action/innate/mimic/lock/Activate() - var/mob/living/simple_animal/hostile/mimic/xenobio/M = owner - M.locked = !M.locked - if(!M.locked) - to_chat(M, "You loosen up, allowing yourself to be opened and closed.") - else - to_chat(M, "You stiffen up, preventing anyone from opening or closing you.") diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm index d10b9b86fb9..5e953c74119 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm @@ -1,4 +1,3 @@ -#define LEGIONVIRUS_TYPE /datum/disease/transformation/legionvirus #define BULLET_SHELL_DAMAGE 1 //A beast that fire freezing blasts. @@ -33,7 +32,6 @@ attack_sound = 'sound/weapons/bladeslice.ogg' aggro_vision_range = 9 turns_per_move = 5 - gold_core_spawnable = HOSTILE_SPAWN loot = list(/obj/item/stack/ore/diamond{layer = ABOVE_MOB_LAYER}, /obj/item/stack/ore/diamond{layer = ABOVE_MOB_LAYER}) var/lava_drinker = TRUE @@ -46,10 +44,10 @@ damage_type = BURN nodamage = TRUE flag = "energy" - temperature = -50 // Cools you down! per hit! + temperature = -5 // Cools you down! per hit! /obj/projectile/temp/basilisk/super - temperature = -100 + temperature = -20 damage = 5 nodamage = FALSE @@ -204,7 +202,6 @@ projectiletype = /obj/projectile/temp/basilisk/heated #undef BULLET_SHELL_DAMAGE -#undef LEGIONVIRUS_TYPE //Watcher /mob/living/simple_animal/hostile/asteroid/basilisk/watcher @@ -231,7 +228,6 @@ robust_searching = 1 attack_same = TRUE // So we'll fight basilisks //mob_trophy = /obj/item/mob_trophy/watcher_wing - gold_core_spawnable = NO_SPAWN loot = list() butcher_results = list(/obj/item/stack/ore/diamond = 2, /obj/item/stack/sheet/sinew = 2, /obj/item/stack/sheet/bone = 1) lava_drinker = FALSE @@ -340,8 +336,8 @@ if(istype(L)) L.apply_status_effect(/datum/status_effect/freon/watcher) -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril - fromtendril = TRUE +/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/nest + from_nest = TRUE /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/forgotten name = "forgotten watcher" diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm index 769f6ce3d5f..6495b967fb8 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm @@ -242,7 +242,7 @@ /datum/reagent/brimdust/on_mob_life(mob/living/carbon/carbon, delta_time, times_fired) . = ..() carbon.adjustFireLoss((ispodperson(carbon) ? -1 : 1) * delta_time) - carbon.adjust_bodytemperature(55 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, carbon.get_body_temp_normal()) + carbon.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, carbon.get_body_temp_normal()) /datum/reagent/brimdust/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray) . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm index cb7eaad0e98..94dd221945b 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm @@ -185,7 +185,6 @@ move_to_delay = 5 mob_biotypes = MOB_ORGANIC|MOB_BEAST mouse_opacity = MOUSE_OPACITY_ICON - butcher_results = list() guaranteed_butcher_results = list(/obj/item/stack/sheet/animalhide/goliath_hide = 1) deathmessage = "falls to the ground." status_flags = CANPUSH diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm index e4eb7122d39..3377165ea3e 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm @@ -29,7 +29,6 @@ throw_message = "sinks in slowly, before being pushed out of " deathmessage = "stops moving as green liquid oozes from the carcass!" status_flags = CANPUSH - gold_core_spawnable = HOSTILE_SPAWN search_objects = 1 wanted_objects = list( /obj/item/stack/ore/diamond, @@ -45,10 +44,8 @@ /mob/living/simple_animal/hostile/asteroid/goldgrub/Initialize() . = ..() - var/i = rand(1,3) - while(i) + for (var/i in 1 to rand(1, 3)) loot += pick(/obj/item/stack/ore/silver, /obj/item/stack/ore/gold, /obj/item/stack/ore/uranium, /obj/item/stack/ore/diamond) - i-- spit = new burrow = new spit.Grant(src) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm index bf8552ba5cb..d9c011fe85f 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm @@ -226,7 +226,6 @@ D.set_vehicle_dir_layer(NORTH, OBJ_LAYER) D.set_vehicle_dir_layer(EAST, OBJ_LAYER) D.set_vehicle_dir_layer(WEST, OBJ_LAYER) - D.keytype = /obj/item/key/lasso D.drive_verb = "ride" else user.visible_message("[src] is rocking around! You can't put the saddle on!") @@ -250,10 +249,7 @@ health = 180 speed = 4 //mob_trophy = /obj/item/mob_trophy/elder_tentacle - pre_attack_icon = "ancient_goliath_preattack" - throw_message = "does nothing to the rocky hide of the" guaranteed_butcher_results = list() - trophy_drop_mod = 75 wander = FALSE bonus_tame_chance = 10 var/list/cached_tentacle_turfs @@ -280,9 +276,9 @@ else cached_tentacle_turfs -= t -/mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril +/mob/living/simple_animal/hostile/asteroid/goliath/beast/nest butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/goliath = 2, /obj/item/stack/sheet/bone = 2, /obj/item/stack/sheet/sinew = 2) - fromtendril = TRUE + from_nest = TRUE //tentacles /obj/effect/temp_visual/goliath_tentacle diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm index ee48ed624ee..a6457306cda 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm @@ -28,7 +28,6 @@ friendly_verb_simple = "pinch" a_intent = INTENT_HELP ventcrawler = VENTCRAWLER_ALWAYS - gold_core_spawnable = FRIENDLY_SPAWN stat_attack = HARD_CRIT gender = NEUTER stop_automated_movement = FALSE @@ -43,12 +42,16 @@ animal_species = /mob/living/simple_animal/hostile/asteroid/gutlunch childtype = list(/mob/living/simple_animal/hostile/asteroid/gutlunch/grublunch = 100) + var/mutable_appearance/gutlunch_full_overlay + wanted_objects = list(/obj/effect/decal/cleanable/xenoblood/xgibs, /obj/effect/decal/cleanable/blood/gibs/, /obj/item/organ, /obj/item/reagent_containers/food/snacks/meat/slab) /mob/living/simple_animal/hostile/asteroid/gutlunch/Initialize() . = ..() - if(wanted_objects.len) - AddComponent(/datum/component/udder, /obj/item/udder/gutlunch, CALLBACK(src, PROC_REF(regenerate_icons)), CALLBACK(src, PROC_REF(regenerate_icons))) + if(!length(wanted_objects)) + return + AddComponent(/datum/component/udder, /obj/item/udder/gutlunch, CALLBACK(src, TYPE_PROC_REF(/atom/movable, update_overlays)), CALLBACK(src, TYPE_PROC_REF(/atom/movable, update_overlays))) + gutlunch_full_overlay = mutable_appearance(icon, "gl_full") /mob/living/simple_animal/hostile/asteroid/gutlunch/CanAttack(atom/the_target) // Gutlunch-specific version of CanAttack to handle stupid stat_exclusive = true crap so we don't have to do it for literally every single simple_animal/hostile except the two that spawn in lavaland if(isturf(the_target) || !the_target || the_target.type == /atom/movable/lighting_object) // bail out on invalids @@ -72,14 +75,12 @@ return FALSE -/mob/living/simple_animal/hostile/asteroid/gutlunch/regenerate_icons(new_udder_volume, max_udder_volume) - cut_overlays() - var/static/gutlunch_full_overlay - if(isnull(gutlunch_full_overlay)) - gutlunch_full_overlay = iconstate2appearance(icon, "gl_full") - if(new_udder_volume == max_udder_volume) - add_overlay(gutlunch_full_overlay) - ..() +/mob/living/simple_animal/hostile/asteroid/gutlunch/update_overlays(new_udder_volume, max_udder_volume) + . = ..() + if(new_udder_volume != max_udder_volume) + return + + . += gutlunch_full_overlay //Male gutlunch. They're smaller and more colorful! /mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck @@ -100,7 +101,6 @@ /mob/living/simple_animal/hostile/asteroid/gutlunch/grublunch name = "grublunch" wanted_objects = list() //They don't eat. - gold_core_spawnable = NO_SPAWN var/growth = 0 //Baby gutlunch diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 5158c80d056..601c87498b6 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -51,7 +51,8 @@ return TRUE /mob/living/simple_animal/hostile/asteroid/hivelord/spawn_mob_trophy() - loot += mob_trophy //we don't butcher + if(mob_trophy) + loot += mob_trophy //we don't butcher /mob/living/simple_animal/hostile/asteroid/hivelord/death(gibbed) mouse_opacity = MOUSE_OPACITY_ICON @@ -164,7 +165,7 @@ if(stored_mob) stored_mob.forceMove(get_turf(src)) stored_mob = null - else if(fromtendril) + else if(from_nest) new /obj/effect/mob_spawn/human/corpse/charredskeleton(T) else if(dwarf_mob) new /obj/effect/mob_spawn/human/corpse/damaged/legioninfested/dwarf(T) @@ -172,11 +173,11 @@ new /obj/effect/mob_spawn/human/corpse/damaged/legioninfested(T) ..(gibbed) -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril - fromtendril = TRUE +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest + from_nest = TRUE -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf/tendril - fromtendril = TRUE +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf/nest + from_nest = TRUE /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf/death(gibbed) move_force = MOVE_FORCE_DEFAULT @@ -208,7 +209,7 @@ attack_sound = 'sound/weapons/pierce.ogg' throw_message = "is shrugged off by" del_on_death = TRUE - stat_attack = HARD_CRIT + stat_attack = SOFT_CRIT robust_searching = 1 var/can_infest_dead = FALSE @@ -222,7 +223,7 @@ /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/staff/Initialize() . = ..() - addtimer(CALLBACK(src, PROC_REF(death)), 50) + addtimer(CALLBACK(src, PROC_REF(death)), 5 SECONDS) AddComponent(/datum/component/swarming) /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/Life() @@ -230,6 +231,8 @@ if(stat == DEAD || !isturf(loc)) return for(var/mob/living/carbon/human/victim in range(src, 1)) //Only for corpse right next to/on same tile + if(istype(victim.getorganslot(ORGAN_SLOT_REGENERATIVE_CORE), /obj/item/organ/legion_skull)) // no double dipping + continue switch(victim.stat) if(UNCONSCIOUS, HARD_CRIT) infest(victim) @@ -239,21 +242,90 @@ infest(victim) return //This will qdelete the legion. - /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/proc/infest(mob/living/carbon/human/H) - visible_message("[name] burrows into the flesh of [H]!") - var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L - if(HAS_TRAIT(H, TRAIT_DWARF)) //dwarf legions aren't just fluff! - L = new /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf(H.loc) + visible_message(span_warning("[name] burrows into [H]!")) + to_chat(H, span_boldwarning("You feel something digging into your body...")) + if(H.stat != DEAD) + var/obj/item/organ/legion_skull/throwyouabone = new() + throwyouabone.Insert(H) else - L = new(H.loc) - visible_message("[L] staggers to [L.p_their()] feet!") - H.death() - H.adjustBruteLoss(1000) - L.stored_mob = H - H.forceMove(L) + var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L + if(HAS_TRAIT(H, TRAIT_DWARF)) //dwarf legions aren't just fluff! + L = new /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf(H.loc) + else + L = new(H.loc) + visible_message(span_warning("[L] staggers to [L.p_their()] feet!")) + H.adjustBruteLoss(1000) + L.stored_mob = H + H.forceMove(L) qdel(src) +/obj/item/organ/legion_skull + name = "legion skull" + desc = "The skull of a legion, likely torn from a soon-to-be host." + icon_state = "legion_skull" + zone = BODY_ZONE_CHEST + slot = ORGAN_SLOT_REGENERATIVE_CORE + grind_results = list(/datum/reagent/medicine/soulus = 2, /datum/reagent/blood = 5) + var/datum/disease/transformation/legionvirus/malignance + var/malignance_countdown = 5 MINUTES + var/malignance_tracker + +/obj/item/organ/legion_skull/on_find(mob/living/finder) + ..() + to_chat(finder, span_warning("You found a skull-shaped growth in [owner]'s [zone]!")) + +/obj/item/organ/legion_skull/Insert(mob/living/carbon/M, special = 0) + ..() + malignance = new() + malignance.infect(M, FALSE) //we handle all the fancy virus stuff in the organ, so we need a reference for it + malignance_tracker = addtimer(CALLBACK(src, PROC_REF(update_stage)), malignance_countdown, TIMER_STOPPABLE|TIMER_DELETE_ME) + M.heal_overall_bleeding(12) //stop dying so fast + +/obj/item/organ/legion_skull/Remove(mob/living/carbon/M, special = 0) + malignance_countdown = initial(malignance_countdown) + deltimer(malignance_tracker) + malignance_tracker = null + malignance.cure() + ..() + +/obj/item/organ/legion_skull/on_life() + . = ..() + skull_check() + +/obj/item/organ/legion_skull/on_death() + . = ..() + skull_check() + +/// track our timers and reagents +/obj/item/organ/legion_skull/proc/skull_check() + if(!owner) + return + if(!malignance) + malignance = new() + malignance.infect(owner, FALSE) + if(owner.reagents.has_reagent(/datum/reagent/medicine/synaptizine, needs_metabolizing = TRUE) || owner.reagents.has_reagent(/datum/reagent/medicine/spaceacillin, needs_metabolizing = TRUE)) + if(isnull(timeleft(malignance_tracker))) //ruhehehehehe + malignance_countdown = min(malignance_countdown + 1 SECONDS, initial(malignance_countdown)) //slightly improve our resistance to dying so we don't turn the second a treatment runs out + return + malignance_countdown = timeleft(malignance_tracker) //pause our timer if we have the reagents + deltimer(malignance_tracker) + malignance_tracker = null //you would think deltimer would do this but it actually doesn't track a direct reference! + return + if(!malignance_tracker) + malignance_tracker = addtimer(CALLBACK(src, PROC_REF(update_stage)), malignance_countdown, TIMER_STOPPABLE|TIMER_DELETE_ME) //and resume if we run out + +/// Updates the stage of our tied disease +/obj/item/organ/legion_skull/proc/update_stage() + malignance.update_stage(min(malignance.stage + 1, malignance.max_stages)) + if(malignance.stage == 5) + malignance.stage_act() //force the transformation here, then delete everything + qdel(malignance) + qdel(src) + return + malignance_countdown = initial(malignance_countdown) + malignance_tracker = addtimer(CALLBACK(src, PROC_REF(update_stage)), malignance_countdown, TIMER_STOPPABLE|TIMER_DELETE_ME) + //Advanced Legion is slightly tougher to kill and can raise corpses (revive other legions) /mob/living/simple_animal/hostile/asteroid/hivelord/legion/advanced name = "Signifer" @@ -295,7 +367,7 @@ del_on_death = TRUE sentience_type = SENTIENCE_BOSS loot = list(/obj/item/organ/regenerative_core/legion = 3, /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 5, /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 5, /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 5) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = INFINITY move_to_delay = 7 @@ -320,7 +392,7 @@ /mob/living/simple_animal/hostile/big_legion/Initialize() .=..() - AddComponent(/datum/component/spawner, list(/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril), 200, faction, "peels itself off from", 3) + AddComponent(/datum/component/spawner, list(/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest), 200, faction, "peels itself off from", 3) // Snow Legion /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow @@ -345,8 +417,8 @@ icon_aggro = "snowlegion_head" icon_dead = "snowlegion_head" -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/tendril - fromtendril = TRUE +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/nest + from_nest = TRUE /mob/living/simple_animal/hostile/asteroid/hivelord/legion/crystal name = "disfigured legion" @@ -376,7 +448,7 @@ P.fire(i*(360/5)) return ..() -//Tendril-spawned Legion remains, the charred skeletons of those whose bodies sank into lava or fell into chasms. +//nest-spawned Legion remains, the charred skeletons of those whose bodies sank into lava or fell into chasms. /obj/effect/mob_spawn/human/corpse/charredskeleton name = "charred skeletal remains" burn_damage = 1000 @@ -393,7 +465,7 @@ H.transform = H.transform.Scale(0.8, 1)//somehow dwarf squashing is borked when not roundstart. I hate WS code /obj/effect/mob_spawn/human/corpse/damaged/legioninfested/Initialize() //in an ideal world, these would generate, the legion would overlay over the corpse, and we'd get cool sprites - mob_species = pickweight(list( + mob_species = pick_weight(list( /datum/species/human = 50, /datum/species/lizard = 20, /datum/species/ipc = 10, @@ -402,7 +474,7 @@ /datum/species/spider = 5 ) ) - var/type = pickweight(list( + var/type = pick_weight(list( "Miner" = 40, "Assistant" = 10, "Engineer" = 5, @@ -413,19 +485,16 @@ ) ) - switch(type) - if("Miner") - outfit = /datum/outfit/generic/miner - if("Assistant") - outfit = /datum/outfit/generic - if("Engineer") - outfit = /datum/outfit/generic/engineer - if("Doctor") - outfit = /datum/outfit/generic/doctor - if("Scientist") - outfit = /datum/outfit/generic/science - if("Cargo") - outfit = /datum/outfit/generic/cargo - if("Security") - outfit = /datum/outfit/generic/security + var/outfit_map = list( + "Miner" = /datum/outfit/generic/miner, + "Assistant" = /datum/outfit/generic, + "Engineer" = /datum/outfit/generic/engineer, + "Doctor" = /datum/outfit/generic/doctor, + "Scientist" = /datum/outfit/generic/science, + "Cargo" = /datum/outfit/generic/cargo, + "Security" = /datum/outfit/generic/security + ) + + outfit = outfit_map[type] // Access outfit directly + . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm index 09d85a664e8..c142ffddc10 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm @@ -1,6 +1,6 @@ /datum/outfit/generic/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE) . = ..() - uniform = pickweight(list( + uniform = pick_weight(list( /obj/item/clothing/under/utility = 5, /obj/item/clothing/under/utility/skirt = 5, /obj/item/clothing/under/color/black = 1, @@ -17,15 +17,14 @@ /obj/item/clothing/under/suit/black = 1, /obj/item/clothing/under/dress/sailor = 1, /obj/item/clothing/under/dress/striped = 1, - /obj/item/clothing/under/dress/skirt/blue = 1, + /obj/item/clothing/under/dress/skirt/color/blue = 1, /obj/item/clothing/under/syndicate/tacticool = 1, ) ) - suit = pickweight(list( + suit = pick_weight(list( /obj/item/clothing/suit/hooded/wintercoat = 1, /obj/item/clothing/suit/jacket = 1, /obj/item/clothing/suit/jacket/leather = 1, - /obj/item/clothing/suit/jacket/leather/overcoat = 1, /obj/item/clothing/suit/jacket/leather/duster = 1, /obj/item/clothing/suit/jacket/miljacket = 1, /obj/item/clothing/suit/jacket/puffer = 1, @@ -34,7 +33,7 @@ /obj/item/clothing/suit/toggle/hazard = 1, ) ) - back = pickweight(list( + back = pick_weight(list( /obj/item/storage/backpack = 1, /obj/item/storage/backpack/satchel = 1, /obj/item/storage/backpack/duffelbag = 1, @@ -43,22 +42,22 @@ ) ) if (prob(10)) - belt = pickweight(list( + belt = pick_weight(list( /obj/item/gun/ballistic/automatic/pistol/candor = 2, /obj/item/gun/ballistic/automatic/pistol/commander = 1, - /obj/item/gun/ballistic/automatic/pistol/syndicate = 1, - /obj/item/gun/ballistic/revolver/syndicate = 1, + /obj/item/gun/ballistic/automatic/pistol/ringneck = 1, + /obj/item/gun/ballistic/revolver/viper = 1, /obj/item/gun/ballistic/revolver/firebrand = 1, ) ) if(prob(50)) - gloves = pickweight(list( + gloves = pick_weight(list( /obj/item/clothing/gloves/color/black = 1, /obj/item/clothing/gloves/fingerless = 1, /obj/item/clothing/gloves/color/white = 1, ) ) - shoes = pickweight(list( + shoes = pick_weight(list( /obj/item/clothing/shoes/laceup = 1, /obj/item/clothing/shoes/sandal = 1, /obj/item/clothing/shoes/winterboots = 1, @@ -70,7 +69,7 @@ ) ) if(prob(50)) - head = pickweight(list( + head = pick_weight(list( /obj/item/clothing/head/beret = 3, /obj/item/clothing/head/beret/grey = 3, /obj/item/clothing/head/flatcap = 3, @@ -81,11 +80,10 @@ /obj/item/clothing/head/hardhat/orange = 2, /obj/item/clothing/head/hardhat/dblue = 2, /obj/item/clothing/head/pirate = 1, - /obj/item/clothing/head/foilhat = 1 ) ) if(prob(50)) - mask = pickweight(list( + mask = pick_weight(list( /obj/item/clothing/mask/balaclava = 1, /obj/item/clothing/mask/bandana/red = 1, /obj/item/clothing/mask/gas = 3, @@ -93,7 +91,7 @@ ) ) if(prob(25)) - neck = pickweight(list( + neck = pick_weight(list( /obj/item/clothing/neck/scarf/red = 1, /obj/item/clothing/neck/scarf/green = 1, /obj/item/clothing/neck/scarf/darkblue = 1, @@ -105,7 +103,7 @@ ) ears = pick(/obj/item/radio/headset, /obj/item/radio/headset/alt) if(prob(50)) - glasses = pickweight(list( + glasses = pick_weight(list( /obj/item/clothing/glasses/regular = 1, /obj/item/clothing/glasses/regular/circle = 1, /obj/item/clothing/glasses/regular/jamjar = 1, @@ -123,7 +121,7 @@ l_pocket = pick(/obj/item/radio, /obj/item/flashlight) id = /obj/item/card/id backpack_contents = list() - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/dice/d20 = 1, /obj/item/lipstick = 1, /obj/item/clothing/mask/vape = 1, @@ -153,14 +151,14 @@ /datum/outfit/generic/miner/pre_equip(mob/living/carbon/human/H, visualsOnly) . = ..() if(prob(75)) - uniform = pickweight(list( + uniform = pick_weight(list( /obj/item/clothing/under/rank/cargo/miner/lavaland = 5, /obj/item/clothing/under/rank/cargo/miner = 4, /obj/item/clothing/under/rank/cargo/miner/lavaland/old = 1, ) ) if(prob(25)) - suit = pickweight(list( + suit = pick_weight(list( /obj/item/clothing/suit/hooded/explorer = 18, /obj/item/clothing/suit/hooded/explorer/old = 1, /obj/item/clothing/suit/hooded/cloak/goliath = 1 @@ -169,13 +167,13 @@ if(prob(75)) back = /obj/item/storage/backpack/explorer if(prob(75)) - belt = pickweight(list( + belt = pick_weight(list( /obj/item/storage/belt/mining = 2, /obj/item/storage/belt/mining/alt = 2 ) ) else if(prob(75)) - belt = pickweight(list( + belt = pick_weight(list( /obj/item/pickaxe = 16, /obj/item/pickaxe/mini = 8, /obj/item/pickaxe/silver = 4, @@ -185,7 +183,7 @@ ) ) if(prob(75)) - gloves = pickweight(list( + gloves = pick_weight(list( /obj/item/clothing/gloves/color/black = 9, /obj/item/clothing/gloves/explorer/old = 1 ) @@ -193,7 +191,7 @@ if(prob(75)) shoes = /obj/item/clothing/shoes/workboots/mining if(prob(75)) - mask = pickweight(list( + mask = pick_weight(list( /obj/item/clothing/mask/gas/explorer = 9, /obj/item/clothing/mask/gas/explorer/old = 1 ) @@ -201,16 +199,16 @@ if(prob(50)) glasses = /obj/item/clothing/glasses/meson if(prob(50)) - r_pocket = pickweight(list( + r_pocket = pick_weight(list( /obj/item/stack/marker_beacon = 20, - /obj/item/spacecash/bundle/mediumrand = 7, + /obj/item/spacecash/bundle/smallrand = 7, /obj/item/reagent_containers/hypospray/medipen/survival = 2, /obj/item/borg/upgrade/modkit/damage = 1 ) ) if(prob(25)) - l_pocket = pickweight(list( - /obj/item/spacecash/bundle/mediumrand = 5, + l_pocket = pick_weight(list( + /obj/item/spacecash/bundle/smallrand = 5, /obj/item/reagent_containers/hypospray/medipen/survival = 2, /obj/item/borg/upgrade/modkit/cooldown = 1 ) @@ -218,7 +216,7 @@ if(prob(75)) for(var/count in 1 to 3) if(prob(70)) - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/borg/upgrade/modkit/damage = 1, /obj/item/borg/upgrade/modkit/trigger_guard = 1, /obj/item/soap/nanotrasen = 1, @@ -230,7 +228,7 @@ /obj/item/stack/marker_beacon/ten = 2, /obj/item/mining_scanner = 2, /obj/item/extinguisher/mini = 2, - /obj/item/kitchen/knife/combat/survival = 3, + /obj/item/melee/knife/survival = 3, /obj/item/flashlight/seclite = 3, /obj/item/stack/sheet/sinew = 3, /obj/item/stack/sheet/bone = 3 @@ -238,7 +236,7 @@ ) if(prob(30)) backpack_contents += list( - /obj/item/reagent_containers/hypospray/medipen/survival = pickweight(list( + /obj/item/reagent_containers/hypospray/medipen/survival = pick_weight(list( 1 = 3, 2 = 2, 3 = 1 @@ -247,7 +245,7 @@ ) else if (prob(75)) backpack_contents = list() - back = pickweight(list( + back = pick_weight(list( /obj/item/kinetic_crusher = 9, /obj/item/kinetic_crusher/old = 1 ) @@ -275,10 +273,10 @@ if(prob(75)) back = pick(/obj/item/storage/backpack/industrial, /obj/item/storage/backpack/satchel/eng, /obj/item/storage/backpack/duffelbag/engineering, /obj/item/storage/backpack/messenger/engi) if(prob(10)) - back = /obj/item/fireaxe + back = /obj/item/melee/axe/fire for(var/i = 1 to 3) if(prob(75)) - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/stack/tape/industrial/electrical = 1, /obj/item/electronics/apc = 1, /obj/item/multitool = 1, @@ -307,7 +305,7 @@ else if (prob(75)) back = /obj/item/defibrillator/loaded if(prob(75)) - belt = pickweight(list(/obj/item/storage/belt/medical = 5, /obj/item/defibrillator/compact/loaded = 1)) + belt = pick_weight(list(/obj/item/storage/belt/medical = 5, /obj/item/defibrillator/compact/loaded = 1)) if(prob(75)) gloves = pick(/obj/item/clothing/gloves/color/white, /obj/item/clothing/gloves/color/latex/nitrile) if(prob(75)) @@ -322,7 +320,7 @@ glasses = pick(/obj/item/clothing/glasses/hud/health, /obj/item/clothing/glasses/hud/health/prescription) for(var/i = 1 to 3) if(prob(75)) - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/reagent_containers/pill/patch/styptic = 5, /obj/item/reagent_containers/pill/patch/silver_sulf = 5, /obj/item/storage/firstaid/medical = 3, @@ -367,7 +365,7 @@ neck = /obj/item/clothing/neck/tie/horrible for(var/i = 1 to 3) if(prob(75)) - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/research_notes/loot/tiny = 3, /obj/item/research_notes/loot/small = 3, /obj/item/reagent_scanner = 3, @@ -378,7 +376,7 @@ /obj/item/stock_parts/micro_laser/high = 2, /obj/item/stock_parts/matter_bin/adv = 2, /obj/item/survey_handheld = 1, - /obj/item/weldingtool/experimental = 1, + /obj/item/weldingtool/electric = 1, /obj/item/mmi/posibrain = 1, /obj/item/reagent_containers/glass/beaker/plastic = 1, /obj/item/organ/eyes/robotic/shield = 1, @@ -410,8 +408,8 @@ ears = /obj/item/radio/headset/headset_cargo for(var/i = 1 to 3) if(prob(75)) - backpack_contents += pickweight(list( - /obj/item/spacecash/bundle/mediumrand = 5, + backpack_contents += pick_weight(list( + /obj/item/spacecash/bundle/smallrand = 5, /obj/item/ammo_box/magazine/illestren_a850r = 5, /obj/item/ammo_box/magazine/zip_ammo_9mm = 5, /obj/item/modular_computer/tablet/preset/cargo = 3, @@ -424,7 +422,7 @@ if(prob(75)) accessory = /obj/item/clothing/accessory/armband/cargo if(prob(25)) - suit = /obj/item/clothing/suit/armor/vest/scrap_armor + suit = /obj/item/clothing/suit/armor/vest/scrap suit_store = /obj/item/gun/ballistic/rifle/illestren /datum/outfit/generic/cargo @@ -447,7 +445,7 @@ if(prob(75)) head = pick(/obj/item/clothing/head/helmet/sec, /obj/item/clothing/head/helmet/blueshirt, /obj/item/clothing/head/helmet/bulletproof) if(prob(75)) - mask = /obj/item/clothing/mask/gas/sechailer + mask = /obj/item/clothing/mask/gas if(prob(75)) ears = /obj/item/radio/headset/headset_sec if(prob(75)) @@ -455,16 +453,16 @@ if(prob(75)) r_pocket = pick(/obj/item/flashlight/seclite, /obj/item/assembly/flash/handheld, /obj/item/restraints/handcuffs) if(prob(50)) - suit_store = pick(/obj/item/gun/energy/e_gun, /obj/item/gun/energy/e_gun/smg, /obj/item/gun/energy/e_gun/iot) + suit_store = pick(/obj/item/gun/energy/e_gun, /obj/item/gun/energy/e_gun/smg) for(var/i = 1 to 3) if(prob(75)) - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/restraints/handcuffs = 8, /obj/item/assembly/flash/handheld = 5, /obj/item/storage/box/evidence = 6, /obj/item/flashlight/seclite = 4, - /obj/item/ammo_box/c9mm/rubbershot = 3, - /obj/item/ammo_box/c9mm = 1, + /obj/item/storage/box/ammo/c9mm_rubber = 3, + /obj/item/storage/box/ammo/c9mm = 1, /obj/item/stock_parts/cell/gun = 3, /obj/item/coin/antagtoken = 1, /obj/item/grenade/stingbang = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice demon.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_demon.dm similarity index 99% rename from code/modules/mob/living/simple_animal/hostile/mining_mobs/ice demon.dm rename to code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_demon.dm index 786cdaa8096..17f189080d7 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice demon.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_demon.dm @@ -45,7 +45,7 @@ name = "ice blast" damage = 5 nodamage = FALSE - temperature = -75 + temperature = -2 /mob/living/simple_animal/hostile/asteroid/ice_demon/OpenFire() // Sentient ice demons teleporting has been linked to server crashes diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice whelp.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_whelp.dm similarity index 98% rename from code/modules/mob/living/simple_animal/hostile/mining_mobs/ice whelp.dm rename to code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_whelp.dm index 7a4d8cb234c..8973b3ed18b 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice whelp.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_whelp.dm @@ -40,7 +40,7 @@ /mob/living/simple_animal/hostile/asteroid/ice_whelp/OpenFire() var/turf/T = get_ranged_target_turf_direct(src, target, fire_range) var/list/burn_turfs = getline(src, T) - get_turf(src) - dragon_fire_line(src, burn_turfs) + fire_line(src, burn_turfs) /mob/living/simple_animal/hostile/asteroid/ice_whelp/death(gibbed) move_force = MOVE_FORCE_DEFAULT diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm index 19334bc84fc..18be354c265 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm @@ -1,7 +1,7 @@ //the base mining mob /mob/living/simple_animal/hostile/asteroid vision_range = 2 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS faction = list("mining") weather_immunities = list("lava","ash") obj_damage = 30 @@ -15,22 +15,14 @@ var/mob_trophy var/throw_message = "bounces off of" var/throw_deflection = 20 //WS edit - Whitesands - var/fromtendril = FALSE + var/from_nest = FALSE see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE mob_size = MOB_SIZE_LARGE var/icon_aggro = null var/trophy_drop_mod = 25 - var/datum/armor/armor //WS edit - Whitesands /mob/living/simple_animal/hostile/asteroid/Initialize(mapload) - if (islist(armor)) //WS edit begin - Whitesands - armor = getArmor(arglist(armor)) - else if (!armor) - armor = getArmor() - else if (!istype(armor, /datum/armor)) - stack_trace("Invalid type [armor.type] found in .armor during [src.type] Initialize()") //WS edit begin - Whitesands - . = ..() apply_status_effect(STATUS_EFFECT_CRUSHERDAMAGETRACKING) @@ -45,11 +37,6 @@ return icon_state = icon_living -/mob/living/simple_animal/hostile/asteroid/getarmor(def_zone, type) //WS edit begin - Whitesands - if(armor) - return armor.getRating(type) - return 0 // If no armor //WS edit end - /mob/living/simple_animal/hostile/asteroid/bullet_act(obj/projectile/P)//Reduces damage from most projectiles to curb off-screen kills if(!stat) Aggro() @@ -70,7 +57,7 @@ /mob/living/simple_animal/hostile/asteroid/death(gibbed) SSblackbox.record_feedback("tally", "mobs_killed_mining", 1, type) - if(prob(trophy_drop_mod)) //on average, you'll need to kill 4 creatures before getting the item + if(prob(trophy_drop_mod)) //on average, you'll need to kill 5 creatures before getting the item spawn_mob_trophy() ..(gibbed) diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index 55d873cf036..e6a5ec66cb9 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -14,8 +14,7 @@ attack_sound = 'sound/weapons/bladeslice.ogg' faction = list("nether") speak_emote = list("screams") - gold_core_spawnable = HOSTILE_SPAWN - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE var/phaser = TRUE @@ -158,7 +157,6 @@ icon_state = "blank-body" icon_living = "blank-body" icon_dead = "blank-dead" - gold_core_spawnable = NO_SPAWN health = 100 maxHealth = 100 melee_damage_lower = 5 @@ -167,48 +165,3 @@ attack_verb_simple = "punch" deathmessage = "falls apart into a fine dust." phaser = FALSE - -/obj/structure/spawner/nether - name = "netherworld link" - desc = null //see examine() - icon_state = "nether" - max_integrity = 50 - spawn_time = 600 //1 minute - max_mobs = 15 - spawn_text = "crawls through" - mob_types = list(/mob/living/simple_animal/hostile/netherworld/migo, /mob/living/simple_animal/hostile/netherworld, /mob/living/simple_animal/hostile/netherworld/blankbody) - faction = list("nether") - -/obj/structure/spawner/nether/Initialize() - .=..() - START_PROCESSING(SSprocessing, src) - -/obj/structure/spawner/nether/examine(mob/user) - . = ..() - if(isskeleton(user) || iszombie(user)) - . += "A direct link to another dimension full of creatures very happy to see you. You can see your house from here!" - else - . += "A direct link to another dimension full of creatures not very happy to see you. Entering the link would be a very bad idea." - -/obj/structure/spawner/nether/attack_hand(mob/user) - . = ..() - if(isskeleton(user) || iszombie(user)) - to_chat(user, "You don't feel like going home yet...") - else - user.visible_message("[user] is violently pulled into the link!", \ - "Touching the portal, you are quickly pulled through into a world of unimaginable horror!") - contents.Add(user) - -/obj/structure/spawner/nether/process() - for(var/mob/living/M in contents) - if(M) - playsound(src, 'sound/magic/demon_consume.ogg', 50, TRUE) - M.adjustBruteLoss(60) - new /obj/effect/gibspawner/generic(get_turf(M), M) - if(M.stat == DEAD) - var/mob/living/simple_animal/hostile/netherworld/blankbody/blank - blank = new(loc) - blank.name = "[M]" - blank.desc = "It's [M], but [M.p_their()] flesh has an ashy texture, and [M.p_their()] face is featureless save an eerie smile." - src.visible_message("[M] reemerges from the link!") - qdel(M) diff --git a/code/modules/mob/living/simple_animal/hostile/regalrat.dm b/code/modules/mob/living/simple_animal/hostile/regalrat.dm index cad59e7369b..f957018dfad 100644 --- a/code/modules/mob/living/simple_animal/hostile/regalrat.dm +++ b/code/modules/mob/living/simple_animal/hostile/regalrat.dm @@ -25,7 +25,6 @@ attack_sound = 'sound/weapons/punch1.ogg' ventcrawler = VENTCRAWLER_ALWAYS unique_name = TRUE - gold_core_spawnable = HOSTILE_SPAWN faction = list("rat") var/datum/action/cooldown/coffer var/datum/action/cooldown/riot diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm index 4f671f37ac6..2a3c67f1d18 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm @@ -36,7 +36,7 @@ //Space bats need no air to fly in. - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 /mob/living/simple_animal/hostile/retaliate/bat/Initialize() diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm index 75610b382cb..220f4dab979 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm @@ -29,7 +29,6 @@ del_on_death = 1 loot = list(/obj/effect/mob_spawn/human/clown/corpse) - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) minbodytemp = 270 maxbodytemp = 370 unsuitable_atmos_damage = 10 @@ -56,7 +55,7 @@ . = ..() if(banana_time && banana_time < world.time) var/turf/T = get_turf(src) - var/list/adjacent = T.GetAtmosAdjacentTurfs() + var/list/adjacent = T.get_atmos_adjacent_turfs() new banana_type(pick(adjacent)) banana_time = world.time + rand(30,60) diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm index e8bee6661a5..6c23f5cefe2 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm @@ -28,7 +28,6 @@ butcher_results = list(/obj/item/reagent_containers/food/snacks/nugget = 1) pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY - gold_core_spawnable = FRIENDLY_SPAWN var/stepped_sound = 'sound/effects/huuu.ogg' /mob/living/simple_animal/hostile/retaliate/frog/Initialize() diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm index 8b9d0d666bf..a3da5b7c5be 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm @@ -25,12 +25,11 @@ speak_emote = list("weeps") deathmessage = "wails, disintegrating into a pile of ectoplasm!" loot = list(/obj/item/ectoplasm) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 movement_type = FLYING pressure_resistance = 300 - gold_core_spawnable = NO_SPAWN //too spooky for science light_system = MOVABLE_LIGHT light_range = 1 // same glowing as visible player ghosts light_power = 2 diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm index 80e5968cbc4..ce333d2ef00 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm @@ -51,7 +51,6 @@ faction = list("nanotrasenprivate") a_intent = INTENT_HARM loot = list(/obj/effect/mob_spawn/human/corpse/nanotrasensoldier) - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) unsuitable_atmos_damage = 15 status_flags = CANPUSH search_objects = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm index 3375cd0a726..a40b9043ee6 100644 --- a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm @@ -44,7 +44,7 @@ mouse_opacity = MOUSE_OPACITY_ICON butcher_results = list(/obj/item/stack/ore/diamond = 5, /obj/item/stack/sheet/sinew = 5, /obj/item/stack/sheet/bone = 30) deathmessage = "screeches as its wings turn to dust and it collapses on the floor, life estinguished." - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 faction = list("carp") diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index bac0b4b1d51..b4a70b9c304 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -28,7 +28,7 @@ attack_verb_simple = "claw" attack_sound = 'sound/hallucinations/growl1.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 faction = list("statue") @@ -49,7 +49,6 @@ move_force = MOVE_FORCE_EXTREMELY_STRONG move_resist = MOVE_FORCE_EXTREMELY_STRONG pull_force = MOVE_FORCE_EXTREMELY_STRONG - gold_core_spawnable = HOSTILE_SPAWN var/cannot_be_seen = 1 var/mob/living/creator = null diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm index 41efc6993d9..69e0970e226 100644 --- a/code/modules/mob/living/simple_animal/hostile/tree.dm +++ b/code/modules/mob/living/simple_animal/hostile/tree.dm @@ -40,7 +40,6 @@ deathmessage = "is hacked into pieces!" loot = list(/obj/item/stack/sheet/mineral/wood) - gold_core_spawnable = HOSTILE_SPAWN del_on_death = 1 var/is_tree = TRUE @@ -81,7 +80,7 @@ loot = list(/obj/item/stack/rods) speak_emote = list("polls") faction = list() - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS is_tree = FALSE /mob/living/simple_animal/hostile/tree/festivus/attack_hand(mob/living/carbon/human/M) diff --git a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm index 52ddcc72963..13d8dd57ba4 100644 --- a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm +++ b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm @@ -96,7 +96,7 @@ a_intent = INTENT_HARM ranged_cooldown_time = 45 attack_sound = 'sound/weapons/bladeslice.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS unsuitable_atmos_damage = 0 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE faction = list("hostile","vines","plants") diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm index b77436c09c8..be3242ed525 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -32,7 +32,6 @@ aggro_vision_range = 9 mob_size = MOB_SIZE_SMALL environment_smash = ENVIRONMENT_SMASH_NONE - gold_core_spawnable = HOSTILE_SPAWN var/wumbo = 0 var/inflate_cooldown = 0 var/datum/action/innate/fugu/expand/E diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index bc22f78ae7a..92b955d3a84 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -64,7 +64,6 @@ friendly_verb_simple = "groom" mob_size = MOB_SIZE_SMALL movement_type = FLYING - gold_core_spawnable = FRIENDLY_SPAWN var/parrot_damage_upper = 10 var/parrot_state = PARROT_WANDER //Hunt for a perch when created @@ -260,8 +259,8 @@ switch(ch) if(RADIO_CHANNEL_NANOTRASEN) available_channels.Add(RADIO_TOKEN_NANOTRASEN) - if(RADIO_CHANNEL_COMMAND) - available_channels.Add(RADIO_TOKEN_COMMAND) + if(RADIO_CHANNEL_EMERGENCY) + available_channels.Add(RADIO_TOKEN_EMERGENCY) if(RADIO_CHANNEL_MINUTEMEN) available_channels.Add(RADIO_TOKEN_MINUTEMEN) if(RADIO_CHANNEL_INTEQ) @@ -904,7 +903,6 @@ name = "Polly" desc = "Polly the Parrot. An expert on quantum cracker theory." speak = list("Polly wanna cracker!", ":e Check the crystal, you chucklefucks!",":e Wire the solars, you lazy bums!",":e WHO TOOK THE DAMN HARDSUITS?",":e OH GOD ITS ABOUT TO DELAMINATE CALL THE SHUTTLE") - gold_core_spawnable = NO_SPAWN speak_chance = 3 var/memory_saved = FALSE var/rounds_survived = 0 diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm deleted file mode 100644 index fcb9274a2c6..00000000000 --- a/code/modules/mob/living/simple_animal/shade.dm +++ /dev/null @@ -1,66 +0,0 @@ -/mob/living/simple_animal/shade - name = "Shade" - real_name = "Shade" - desc = "A bound spirit." - gender = PLURAL - icon = 'icons/mob/cult.dmi' - icon_state = "shade" - icon_living = "shade" - mob_biotypes = MOB_SPIRIT - maxHealth = 40 - health = 40 - healable = 0 - speak_emote = list("hisses") - emote_hear = list("wails.","screeches.") - response_help_continuous = "puts their hand through" - response_help_simple = "put your hand through" - response_disarm_continuous = "flails at" - response_disarm_simple = "flail at" - response_harm_continuous = "punches" - response_harm_simple = "punch" - speak_chance = 1 - melee_damage_lower = 5 - melee_damage_upper = 12 - attack_verb_continuous = "metaphysically strikes" - attack_verb_simple = "metaphysically strike" - minbodytemp = 0 - maxbodytemp = INFINITY - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - stop_automated_movement = 1 - faction = list("cult") - status_flags = CANPUSH - movement_type = FLYING - loot = list(/obj/item/ectoplasm) - del_on_death = TRUE - initial_language_holder = /datum/language_holder/construct - -/mob/living/simple_animal/shade/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) - -/mob/living/simple_animal/shade/death() - deathmessage = "lets out a contented sigh as [p_their()] form unwinds." - ..() - -/mob/living/simple_animal/shade/attack_animal(mob/living/simple_animal/M) - if(isconstruct(M)) - var/mob/living/simple_animal/hostile/construct/C = M - if(!C.can_repair_constructs) - return - if(health < maxHealth) - adjustHealth(-25) - Beam(M,icon_state="sendbeam",time=4) - M.visible_message( - "[M] heals \the [src].", \ - "You heal [src], leaving [src] at [health]/[maxHealth] health.") - else - to_chat(M, "You cannot heal [src], as [p_theyre()] unharmed!") - else if(src != M) - return ..() - -/mob/living/simple_animal/shade/attackby(obj/item/O, mob/user, params) //Marker -Agouri - if(istype(O, /obj/item/soulstone)) - var/obj/item/soulstone/SS = O - SS.transfer_soul("SHADE", src, user) - else - . = ..() diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 3670e14a640..a1a0886a236 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -59,7 +59,7 @@ ///Atmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage ///Leaving something at 0 means it's off - has no maximum. - var/list/atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) + var/list/atmos_requirements = NORMAL_ATMOS_REQS ///This damage is taken when atmos doesn't fit all the requirements above. var/unsuitable_atmos_damage = 2 @@ -86,7 +86,6 @@ ///Set to 1 to allow breaking of crates,lockers,racks,tables; 2 for walls; 3 for Rwalls. var/environment_smash = ENVIRONMENT_SMASH_NONE - ///Hot simple_animal baby making vars. var/list/childtype = null var/next_scan_time = 0 @@ -98,8 +97,6 @@ var/obj/item/card/id/access_card = null ///In the event that you want to have a buffing effect on the mob, but don't want it to stack with other effects, any outside force that applies a buff to a simple mob should at least set this to 1, so we have something to check against. var/buffed = 0 - ///If the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood. - var/gold_core_spawnable = NO_SPAWN var/datum/component/spawner/nest @@ -143,8 +140,18 @@ ///What kind of footstep this mob should have. Null if it shouldn't have any. var/footstep_type + /// Base armor value on this mob for running armor checks + var/datum/armor/armor + + /mob/living/simple_animal/Initialize(mapload) . = ..() + if (islist(armor)) + armor = getArmor(arglist(armor)) + else if (!armor) + armor = getArmor() + else if (!istype(armor, /datum/armor)) + stack_trace("Invalid type [armor.type] found in .armor during [src.type] Initialize()") GLOB.simple_animals[AIStatus] += src if(gender == PLURAL) gender = pick(MALE,FEMALE) @@ -173,6 +180,11 @@ return ..() +/mob/living/simple_animal/getarmor(def_zone, type) + if(armor) + return armor.getRating(type) + return FALSE + /mob/living/simple_animal/attackby(obj/item/O, mob/user, params) if(!is_type_in_list(O, food_type)) ..() @@ -466,7 +478,7 @@ return //we never mate when not alone, so just abort early if(alone && partner && children < 3) - var/childspawn = pickweight(childtype) + var/childspawn = pick_weight(childtype) var/turf/target = get_turf(loc) if(target) return new childspawn(target) @@ -630,30 +642,29 @@ GLOB.simple_animals[togglestatus] += list(src) AIStatus = togglestatus - var/virt_z = "[virtual_z()]" + var/virt_z = virtual_z() if(!virt_z) return switch(togglestatus) if(AI_Z_OFF) - LAZYADDASSOCLIST(SSidlenpcpool.idle_mobs_by_virtual_level, virt_z, src) - + LAZYADDASSOCLIST(SSidlenpcpool.idle_mobs_by_virtual_level, "[virt_z]", src) else - LAZYREMOVEASSOC(SSidlenpcpool.idle_mobs_by_virtual_level, virt_z, src) + LAZYREMOVEASSOC(SSidlenpcpool.idle_mobs_by_virtual_level, "[virt_z]", src) /mob/living/simple_animal/proc/check_should_sleep() if (pulledby || shouldwakeup) toggle_ai(AI_ON) return - var/virt_z = "[virtual_z()]" - if(!virt_z) - return - var/players_on_virtual_z = LAZYACCESS(SSmobs.players_by_virtual_z, virt_z) - if(!length(players_on_virtual_z)) - toggle_ai(AI_Z_OFF) - else if(AIStatus == AI_Z_OFF) - toggle_ai(AI_ON) + var/virt_z = virtual_z() + var/players_on_virtual_z = 0 + if(virt_z) + players_on_virtual_z = LAZYACCESS(SSmobs.players_by_virtual_z, "[virt_z]") + if(!length(players_on_virtual_z)) + toggle_ai(AI_Z_OFF) + else if(AIStatus == AI_Z_OFF) + toggle_ai(AI_ON) /mob/living/simple_animal/adjustHealth(amount, updating_health = TRUE, forced = FALSE) . = ..() @@ -665,6 +676,7 @@ . = ..() if(previous_virtual_z) LAZYREMOVEASSOC(SSidlenpcpool.idle_mobs_by_virtual_level, "[previous_virtual_z]", src) - toggle_ai(initial(AIStatus)) + if(QDELETED(src)) + return if(new_virtual_z) check_should_sleep() diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index b880704c9bf..19eaa5a6f91 100644 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ b/code/modules/mob/living/simple_animal/slime/life.dm @@ -193,7 +193,7 @@ C.adjustCloneLoss(rand(2,4)) C.adjustToxLoss(rand(1,2)) - if(prob(10) && C.client) + if(prob(10) && C.client && !HAS_TRAIT(C, TRAIT_ANALGESIA)) to_chat(C, "[pick("You can feel your body becoming weak!", \ "You feel like you're about to die!", \ "You feel every part of your body screaming in agony!", \ diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index cb4b7698356..56478ebc785 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -24,7 +24,7 @@ bubble_icon = "slime" initial_language_holder = /datum/language_holder/slime - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS maxHealth = 150 health = 150 @@ -43,7 +43,6 @@ // for the sake of cleanliness, though, here they are. status_flags = CANUNCONSCIOUS|CANPUSH - var/cores = 1 // the number of /obj/item/slime_extract's the slime has left inside var/mutation_chance = 30 // Chance of mutating, should be between 25 and 35 var/powerlevel = 0 // 1-10 controls how much electricity they are generating @@ -71,7 +70,6 @@ ///////////TIME FOR SUBSPECIES var/colour = "grey" - var/coretype = /obj/item/slime_extract/grey var/list/slime_mutation[4] var/static/list/slime_colours = list("rainbow", "grey", "purple", "metal", "orange", @@ -79,13 +77,6 @@ "gold", "green", "adamantine", "oil", "light pink", "bluespace", "cerulean", "sepia", "black", "pyrite") - ///////////CORE-CROSSING CODE - - var/effectmod //What core modification is being used. - var/crossbreed_modifier = 1 // modifies how many extracts are needed - var/applied = 0 //How many extracts of the modtype have been applied. - - /mob/living/simple_animal/slime/Initialize(mapload, new_colour="grey", new_is_adult=FALSE) var/datum/action/innate/slime/feed/F = new F.Grant(src) @@ -119,8 +110,6 @@ colour = new_colour update_name() slime_mutation = mutation_table(colour) - var/sanitizedcolour = replacetext(colour, " ", "") - coretype = text2path("/obj/item/slime_extract/[sanitizedcolour]") regenerate_icons() /mob/living/simple_animal/slime/update_name() @@ -354,50 +343,9 @@ force_effect = round(W.force/2) if(prob(10 + force_effect)) discipline_slime(user) - if(istype(W, /obj/item/storage/bag/bio)) - var/obj/item/storage/P = W - if(!effectmod) - to_chat(user, "The slime is not currently being mutated.") - return - var/hasOutput = FALSE //Have we outputted text? - var/hasFound = FALSE //Have we found an extract to be added? - for(var/obj/item/slime_extract/S in P.contents) - if(S.effectmod == effectmod) - SEND_SIGNAL(P, COMSIG_TRY_STORAGE_TAKE, S, get_turf(src), TRUE) - qdel(S) - applied++ - hasFound = TRUE - if(applied >= (SLIME_EXTRACT_CROSSING_REQUIRED * crossbreed_modifier)) - to_chat(user, "You feed the slime as many of the extracts from the bag as you can, and it mutates!") - playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE) - spawn_corecross() - hasOutput = TRUE - break - if(!hasOutput) - if(!hasFound) - to_chat(user, "There are no extracts in the bag that this slime will accept!") - else - to_chat(user, "You feed the slime some extracts from the bag.") - playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE) return ..() -/mob/living/simple_animal/slime/proc/spawn_corecross() - var/static/list/crossbreeds = subtypesof(/obj/item/slimecross) - visible_message("[src] shudders, its mutated core consuming the rest of its body!") - playsound(src, 'sound/magic/smoke.ogg', 50, TRUE) - var/crosspath - for(var/X in crossbreeds) - var/obj/item/slimecross/S = X - if(initial(S.colour) == colour && initial(S.effect) == effectmod) - crosspath = S - break - if(crosspath) - new crosspath(loc) - else - visible_message("The mutated core shudders, and collapses into a puddle, unable to maintain its form.") - qdel(src) - /mob/living/simple_animal/slime/proc/apply_water() adjustBruteLoss(rand(15,20)) if(!client) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 06c7a9af52d..d56560a5acb 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -313,6 +313,14 @@ /mob/proc/get_item_by_slot(slot_id) return null +/// Gets what slot the item on the mob is held in. +/// Returns null if the item isn't in any slots on our mob. +/// Does not check if the passed item is null, which may result in unexpected outcoms. +/mob/proc/get_slot_by_item(obj/item/looking_for) + if(looking_for in held_items) + return ITEM_SLOT_HANDS + + return null ///Is the mob incapacitated /mob/proc/incapacitated(ignore_restraints = FALSE, ignore_grab = FALSE, check_immobilized = FALSE) @@ -444,8 +452,6 @@ else client.eye = client.mob client.perspective = MOB_PERSPECTIVE - else - //Do nothing else //Reset to common defaults: mob if on turf, otherwise current loc if(isturf(loc)) @@ -454,7 +460,7 @@ else client.perspective = EYE_PERSPECTIVE client.eye = loc - return 1 + return TRUE /// Show the mob's inventory to another mob /mob/proc/show_inv(mob/user) @@ -496,10 +502,13 @@ handle_eye_contact(examinify) else result = examinify.examine_more(src) + + if(!LAZYLEN(result)) + result = list(span_notice("You examine [examinify] closer, but find nothing of interest...")) else result = examinify.examine(src) // if a tree is examined but no client is there to see it, did the tree ever really exist? - if(result.len) + if(length(result)) for(var/i in 1 to (length(result) - 1)) result[i] += "\n" @@ -529,9 +538,9 @@ visible_message(" [name] begins feeling around for \the [examined_thing.name]...") /// how long it takes for the blind person to find the thing they're examining - var/examine_delay_length = rand(1 SECONDS, 2 SECONDS) + var/examine_delay_length = rand(0.5 SECONDS, 1 SECONDS) if(client?.recent_examines && client?.recent_examines[examined_thing]) //easier to find things we just touched - examine_delay_length = 0.5 SECONDS + examine_delay_length = 0.25 SECONDS else if(isobj(examined_thing)) examine_delay_length *= 1.5 else if(ismob(examined_thing) && examined_thing != src) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index de1cb857ed4..7848b9cbff0 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -28,6 +28,45 @@ zone = BODY_ZONE_CHEST return zone +/// Returns a generic path of the object based on the slot +/proc/get_path_by_slot(slot_id) + switch(slot_id) + if(ITEM_SLOT_BACK) + return /obj/item/storage/backpack + if(ITEM_SLOT_MASK) + return /obj/item/clothing/mask + if(ITEM_SLOT_NECK) + return /obj/item/clothing/neck + if(ITEM_SLOT_HANDCUFFED) + return /obj/item/restraints/handcuffs + if(ITEM_SLOT_LEGCUFFED) + return /obj/item/restraints/legcuffs + if(ITEM_SLOT_BELT) + return /obj/item/storage/belt + if(ITEM_SLOT_ID) + return /obj/item/card/id + if(ITEM_SLOT_EARS) + return /obj/item/clothing/ears + if(ITEM_SLOT_EYES) + return /obj/item/clothing/glasses + if(ITEM_SLOT_GLOVES) + return /obj/item/clothing/gloves + if(ITEM_SLOT_HEAD) + return /obj/item/clothing/head + if(ITEM_SLOT_FEET) + return /obj/item/clothing/shoes + if(ITEM_SLOT_OCLOTHING) + return /obj/item/clothing/suit + if(ITEM_SLOT_ICLOTHING) + return /obj/item/clothing/under + if(ITEM_SLOT_LPOCKET) + return /obj/item + if(ITEM_SLOT_RPOCKET) + return /obj/item + if(ITEM_SLOT_SUITSTORE) + return /obj/item + return null + /** * Return the zone or randomly, another valid zone * @@ -38,7 +77,7 @@ if(prob(probability)) zone = check_zone(zone) else - zone = pickweight(list(BODY_ZONE_HEAD = 1, BODY_ZONE_CHEST = 1, BODY_ZONE_L_ARM = 4, BODY_ZONE_R_ARM = 4, BODY_ZONE_L_LEG = 4, BODY_ZONE_R_LEG = 4)) + zone = pick_weight(list(BODY_ZONE_HEAD = 1, BODY_ZONE_CHEST = 1, BODY_ZONE_L_ARM = 4, BODY_ZONE_R_ARM = 4, BODY_ZONE_L_LEG = 4, BODY_ZONE_R_LEG = 4)) return zone ///Would this zone be above the neck @@ -95,11 +134,6 @@ newletter = "oo" else if(lowerletter == "c") newletter = "k" - if(rand(1, 20) == 20) - if(newletter == " ") - newletter = "...huuuhhh..." - else if(newletter == ".") - newletter = " *BURP*." switch(rand(1, 20)) if(1) newletter += "'" @@ -108,7 +142,7 @@ if(20) newletter += "[newletter][newletter]" else - // do nothing + EMPTY_BLOCK_GUARD . += "[newletter]" return sanitize(.) @@ -153,7 +187,7 @@ if(5) newletter = "glor" else - // do nothing + EMPTY_BLOCK_GUARD . += newletter return sanitize(.) @@ -169,13 +203,9 @@ var/static/regex/nostutter = regex(@@[aeiouAEIOU "'()[\]{}.!?,:;_`~-]@) for(var/i = 1, i <= leng, i += length(rawchar)) rawchar = newletter = phrase[i] - if(prob(80) && !nostutter.Find(rawchar)) - if(prob(10)) - newletter = "[newletter]-[newletter]-[newletter]-[newletter]" - else if(prob(20)) + if(prob(70) && !nostutter.Find(rawchar)) + if(prob(25)) newletter = "[newletter]-[newletter]-[newletter]" - else if (prob(5)) - newletter = "" else newletter = "[newletter]-[newletter]" . += newletter @@ -344,9 +374,6 @@ return FALSE if(M.mind && M.mind.special_role)//If they have a mind and special role, they are some type of traitor or antagonist. switch(SSticker.mode.config_tag) - if("cult") - if(M.mind in SSticker.mode.cult) - return 2 if("nuclear") if(M.mind.has_antag_datum(/datum/antagonist/nukeop,TRUE)) return 2 diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 59b64f63d13..ef21915e1fc 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -507,13 +507,6 @@ . = new_slime qdel(src) -/mob/proc/become_overmind(starting_points = 60) - var/mob/camera/blob/B = new /mob/camera/blob(get_turf(src), starting_points) - B.key = key - . = B - qdel(src) - - /mob/living/carbon/human/proc/corgize() if (notransform) return @@ -624,9 +617,6 @@ if(!MP) return 0 //Sanity, this should never happen. - if(ispath(MP, /mob/living/simple_animal/hostile/construct)) - return 0 //Verbs do not appear for players. - //Good mobs! if(ispath(MP, /mob/living/simple_animal/pet/cat)) return 1 @@ -638,8 +628,6 @@ return 1 if(ispath(MP, /mob/living/simple_animal/hostile/mushroom)) return 1 - if(ispath(MP, /mob/living/simple_animal/shade)) - return 1 if(ispath(MP, /mob/living/simple_animal/hostile/killertomato)) return 1 if(ispath(MP, /mob/living/simple_animal/mouse)) diff --git a/code/modules/mob_spawner/burrow.dm b/code/modules/mob_spawner/burrow.dm new file mode 100644 index 00000000000..f8d4c31bc87 --- /dev/null +++ b/code/modules/mob_spawner/burrow.dm @@ -0,0 +1,109 @@ +GLOBAL_LIST_INIT(ore_probability, list( + /obj/item/stack/ore/plasma = 75, + /obj/item/stack/ore/iron = 75, + /obj/item/stack/ore/titanium = 50, + /obj/item/stack/ore/silver = 50, + /obj/item/stack/ore/gold = 50, + /obj/item/stack/ore/uranium = 50, + /obj/item/stack/ore/diamond = 25, + /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, + /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, + /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25 + )) + +/obj/structure/spawner/burrow + name = "burrow entrance" + desc = "A hole in the ground, filled with fauna ready to defend it." + max_integrity = 250 + faction = list("mining") + max_mobs = 3 + +/obj/structure/spawner/burrow/Initialize() + . = ..() + clear_rock() + +/** + * Clears rocks around the spawner when it is created + * + */ +/obj/structure/spawner/burrow/proc/clear_rock() + for(var/turf/F in RANGE_TURFS(2, src)) + if(abs(src.x - F.x) + abs(src.y - F.y) > 3) + continue + if(ismineralturf(F)) + var/turf/closed/mineral/M = F + M.ScrapeAway(null, CHANGETURF_IGNORE_AIR) + +/obj/structure/spawner/burrow/deconstruct(disassembled) + destroy_effect() + drop_loot() + return ..() + +/** + * Effects and messages created when the spawner is destroyed + * + */ +/obj/structure/spawner/burrow/proc/destroy_effect() + playsound(loc,'sound/effects/explosionfar.ogg', 200, TRUE) + visible_message("[src] collapses, sealing everything inside!\nOres fall out of the burrow as it is destroyed!") + +/** + * Drops items after the spawner is destroyed + * + */ +/obj/structure/spawner/burrow/proc/drop_loot() + for(var/type in GLOB.ore_probability) + var/chance = GLOB.ore_probability[type] + if(!prob(chance)) + continue + new type(loc, rand(5, 10)) + +/obj/structure/spawner/burrow/lava_planet + mob_types = list( + /mob/living/simple_animal/hostile/asteroid/goliath/beast/nest = 27, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest = 26, + /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/nest = 26, + /mob/living/simple_animal/hostile/asteroid/brimdemon = 20, + /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing = 1 + ) + +/obj/structure/spawner/burrow/sand_planet + mob_types = list( + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest = 40, + /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands = 40, + /mob/living/simple_animal/hostile/asteroid/goliath/beast/nest = 20 + ) + +/obj/structure/spawner/burrow/ice_planet + mob_types = list( + /mob/living/simple_animal/hostile/asteroid/wolf, + /mob/living/simple_animal/hostile/asteroid/polarbear + ) + +/obj/structure/spawner/burrow/ice_planet/hard + mob_types = list( + /mob/living/simple_animal/hostile/asteroid/brimdemon = 35, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/nest = 35, + /mob/living/simple_animal/hostile/asteroid/ice_whelp = 15, + /mob/living/simple_animal/hostile/asteroid/ice_demon = 15 + ) + +/obj/structure/spawner/burrow/jungle_planet + mob_types = list( + /mob/living/simple_animal/hostile/asteroid/wolf/random, + /mob/living/simple_animal/hostile/retaliate/bat, + /mob/living/simple_animal/hostile/retaliate/poison/snake + ) + +/obj/structure/spawner/burrow/rock_plant + mob_types = list( + /mob/living/simple_animal/hostile/asteroid/goliath/beast/rockplanet, + /mob/living/simple_animal/hostile/asteroid/elite/broodmother_child/rockplanet + ) + +/obj/structure/spawner/burrow/asteroid + mob_types = list ( + /mob/living/simple_animal/hostile/asteroid/goliath, + /mob/living/simple_animal/hostile/asteroid/hivelord, + /mob/living/simple_animal/hostile/carp + ) diff --git a/code/modules/mob_spawner/hivebot.dm b/code/modules/mob_spawner/hivebot.dm new file mode 100644 index 00000000000..61c3d477745 --- /dev/null +++ b/code/modules/mob_spawner/hivebot.dm @@ -0,0 +1,51 @@ +/obj/structure/spawner/hivebot + name = "hivebot fabricator" + desc = "An active fabrication plant, electrical tendrils reaching into the ground searching for scrap metals, a hunger permeating the world around it." + + icon = 'icons/obj/machines/bsm.dmi' + icon_state = "bsm_on" + + faction = list("hivebot") + max_integrity = 250 + mob_types = list( + /mob/living/simple_animal/hostile/hivebot = 40, + /mob/living/simple_animal/hostile/hivebot/ranged = 40, + /mob/living/simple_animal/hostile/hivebot/ranged/rapid = 10, + /mob/living/simple_animal/hostile/hivebot/strong = 5, + /mob/living/simple_animal/hostile/hivebot/mechanic = 5, + /mob/living/simple_animal/hostile/hivebot/defender = 1, + ) + spawn_text = "emerges from within" + spawn_sound = list('sound/effects/suitstep2.ogg') + resistance_flags = FIRE_PROOF | LAVA_PROOF + var/obj/effect/light_emitter/hivespawner/emitted_light + +/obj/structure/spawner/hivebot/Initialize() + . = ..() + emitted_light = new(loc) + +/obj/structure/spawner/hivebot/deconstruct(disassembled) + destroy_effect() + drop_loot() + return ..() + +/obj/structure/spawner/hivebot/Destroy() + QDEL_NULL(emitted_light) + return ..() + +/obj/structure/spawner/hivebot/proc/destroy_effect() + playsound(loc,'sound/effects/explosionfar.ogg', 200, TRUE) + visible_message(span_boldannounce("[src] begins to rattle and shake, sparks flying off of it!")) + + +/obj/structure/spawner/hivebot/proc/drop_loot() + var/datum/effect_system/smoke_spread/smoke = new + smoke.set_up(2, loc) + smoke.start() + new /obj/effect/particle_effect/sparks(loc) + new /obj/effect/spawner/random/waste/hivebot/beacon(loc) + +/obj/effect/light_emitter/hivespawner + set_luminosity = 4 + set_cap = 2.5 + light_color = COLOR_RED_LIGHT diff --git a/code/modules/mob_spawner/spawner.dm b/code/modules/mob_spawner/spawner.dm new file mode 100644 index 00000000000..f5cfdadd0e9 --- /dev/null +++ b/code/modules/mob_spawner/spawner.dm @@ -0,0 +1,40 @@ +/obj/structure/spawner + name = "monster nest" + icon = 'icons/mob/nest.dmi' + icon_state = "hole" + max_integrity = 100 + + move_resist = INFINITY + anchored = TRUE + density = TRUE + + var/max_mobs = 5 + var/spawn_time = 300 //30 seconds default + var/mob_types = list(/mob/living/simple_animal/hostile/carp) + var/spawn_text = "emerges from" + var/faction = list("hostile") + var/spawn_sound = list('sound/effects/break_stone.ogg') + var/spawner_type = /datum/component/spawner + var/spawn_distance_min = 1 + var/spawn_distance_max = 1 + +/obj/structure/spawner/Initialize() + . = ..() + AddComponent(spawner_type, mob_types, spawn_time, faction, spawn_text, max_mobs, spawn_sound, spawn_distance_min, spawn_distance_max) + +/obj/structure/spawner/attack_animal(mob/living/simple_animal/M) + if(faction_check(faction, M.faction, FALSE)&&!M.client) + return + ..() + +/obj/structure/spawner/carp + name = "carp spawn" //the non game spawn meaning + desc = "A puddle, which appears to be full of carp" + icon_state = "puddle" + icon = 'icons/obj/watercloset.dmi' + max_integrity = 150 + max_mobs = 5 + spawn_time = 1200 + mob_types = list(/mob/living/simple_animal/hostile/carp) + spawn_text = "swims out of" + faction = list("carp") diff --git a/code/datums/components/spawner.dm b/code/modules/mob_spawner/spawner_componet.dm similarity index 98% rename from code/datums/components/spawner.dm rename to code/modules/mob_spawner/spawner_componet.dm index aab5bb6ea08..637423f0b1e 100644 --- a/code/datums/components/spawner.dm +++ b/code/modules/mob_spawner/spawner_componet.dm @@ -14,7 +14,6 @@ var/wave_timer var/current_timerid - /datum/component/spawner/Initialize(_mob_types, _spawn_time, _faction, _spawn_text, _max_mobs, _spawn_sound, _spawn_distance_min, _spawn_distance_max, _wave_length, _wave_downtime) if(_spawn_time) spawn_time=_spawn_time @@ -115,7 +114,7 @@ spot = pick(peel) else spot = pick(circleviewturfs(origin, spawn_distance_max)) - var/chosen_mob_type = pickweight(mob_types) + var/chosen_mob_type = pick_weight(mob_types) var/mob/living/simple_animal/L = new chosen_mob_type(spot) L.flags_1 |= (P.flags_1 & ADMIN_SPAWNED_1) spawned_mobs += L diff --git a/code/modules/mod/mod_actions.dm b/code/modules/mod/mod_actions.dm new file mode 100644 index 00000000000..1df1f7b8894 --- /dev/null +++ b/code/modules/mod/mod_actions.dm @@ -0,0 +1,193 @@ +/datum/action/item_action/mod + background_icon_state = "bg_tech_blue" + icon_icon = 'icons/mob/actions/actions_mod.dmi' + check_flags = AB_CHECK_CONSCIOUS + /// Whether this action is intended for the AI. Stuff breaks a lot if this is done differently. + var/ai_action = FALSE + +/datum/action/item_action/mod/New(Target) + ..() + if(!istype(Target, /obj/item/mod/control)) + qdel(src) + return + if(ai_action) + background_icon_state = ACTION_BUTTON_DEFAULT_BACKGROUND + +/datum/action/item_action/mod/Grant(mob/user) + var/obj/item/mod/control/mod = target + if(ai_action && user != mod.ai) + return + else if(!ai_action && user == mod.ai) + return + return ..() + +/datum/action/item_action/mod/Remove(mob/user) + var/obj/item/mod/control/mod = target + if(ai_action && user != mod.ai) + return + else if(!ai_action && user == mod.ai) + return + return ..() + +/datum/action/item_action/mod/Trigger(trigger_flags) + if(!IsAvailable()) + return FALSE + var/obj/item/mod/control/mod = target + if(mod.malfunctioning && prob(75)) + mod.balloon_alert(usr, "button malfunctions!") + return FALSE + return TRUE + +/datum/action/item_action/mod/deploy + name = "Deploy MODsuit" + desc = "LMB: Deploy/Undeploy part. Alt Click: Deploy/Undeploy full suit." + button_icon_state = "deploy" + +/datum/action/item_action/mod/deploy/Trigger(trigger_flags) + . = ..() + if(!.) + return + var/obj/item/mod/control/mod = target + if(trigger_flags & TRIGGER_SECONDARY_ACTION) + mod.quick_deploy(usr) + else + mod.choose_deploy(usr) + +/datum/action/item_action/mod/deploy/ai + ai_action = TRUE + +/datum/action/item_action/mod/activate + name = "Activate MODsuit" + desc = "LMB: Activate/Deactivate suit with prompt. Alt Click: Activate/Deactivate suit skipping prompt." + button_icon_state = "activate" + /// First time clicking this will set it to TRUE, second time will activate it. + var/ready = FALSE + +/datum/action/item_action/mod/activate/Trigger(trigger_flags) + . = ..() + if(!.) + return + if(!(trigger_flags & TRIGGER_SECONDARY_ACTION) && !ready) + ready = TRUE + button_icon_state = "activate-ready" + if(!ai_action) + background_icon_state = "bg_tech" + UpdateButtonIcon() + addtimer(CALLBACK(src, PROC_REF(reset_ready)), 3 SECONDS) + return + var/obj/item/mod/control/mod = target + reset_ready() + mod.toggle_activate(usr) + +/// Resets the state requiring to be doubleclicked again. +/datum/action/item_action/mod/activate/proc/reset_ready() + ready = FALSE + button_icon_state = initial(button_icon_state) + if(!ai_action) + background_icon_state = initial(background_icon_state) + UpdateButtonIcon() + +/datum/action/item_action/mod/activate/ai + ai_action = TRUE + +/datum/action/item_action/mod/module + name = "Toggle Module" + desc = "Toggle a MODsuit module." + button_icon_state = "module" + +/datum/action/item_action/mod/module/Trigger(trigger_flags) + . = ..() + if(!.) + return + var/obj/item/mod/control/mod = target + mod.quick_module(usr) + +/datum/action/item_action/mod/module/ai + ai_action = TRUE + +/datum/action/item_action/mod/panel + name = "MODsuit Panel" + desc = "Open the MODsuit's panel." + button_icon_state = "panel" + +/datum/action/item_action/mod/panel/Trigger(trigger_flags) + . = ..() + if(!.) + return + var/obj/item/mod/control/mod = target + mod.ui_interact(usr) + +/datum/action/item_action/mod/panel/ai + ai_action = TRUE + +/datum/action/item_action/mod/pinned_module + desc = "Activate the module." + /// Overrides the icon applications. + var/override = FALSE + /// Module we are linked to. + var/obj/item/mod/module/module + /// A ref to the mob we are pinned to. + var/pinner_ref + +/datum/action/item_action/mod/pinned_module/New(Target, obj/item/mod/module/linked_module, mob/user) + if(isAI(user)) + ai_action = TRUE + ..() + module = linked_module + name = "Activate [capitalize(linked_module.name)]" + desc = "Quickly activate [linked_module]." + icon_icon = linked_module.icon + button_icon_state = linked_module.icon_state + RegisterSignal(linked_module, COMSIG_MODULE_ACTIVATED, PROC_REF(on_module_activate)) + RegisterSignal(linked_module, COMSIG_MODULE_DEACTIVATED, PROC_REF(on_module_deactivate)) + RegisterSignal(linked_module, COMSIG_MODULE_USED, PROC_REF(on_module_use)) + +/datum/action/item_action/mod/pinned_module/Destroy() + module.pinned_to -= pinner_ref + module = null + return ..() + +/datum/action/item_action/mod/pinned_module/Grant(mob/user) + var/user_ref = REF(user) + if(!pinner_ref) + pinner_ref = user_ref + module.pinned_to[pinner_ref] = src + else if(pinner_ref != user_ref) + return + return ..() + +/datum/action/item_action/mod/pinned_module/Trigger(trigger_flags) + . = ..() + if(!.) + return + module.on_select() + +/datum/action/item_action/mod/pinned_module/ApplyIcon(atom/movable/screen/movable/action_button/current_button, force) + . = ..(current_button, force = TRUE) + if(override) + return + var/obj/item/mod/control/mod = target + if(module == mod.selected_module) + current_button.add_overlay(image(icon = 'icons/hud/radial.dmi', icon_state = "module_selected", layer = FLOAT_LAYER-0.1)) + else if(module.active) + current_button.add_overlay(image(icon = 'icons/hud/radial.dmi', icon_state = "module_active", layer = FLOAT_LAYER-0.1)) + if(!COOLDOWN_FINISHED(module, cooldown_timer)) + var/image/cooldown_image = image(icon = 'icons/hud/radial.dmi', icon_state = "module_cooldown") + current_button.add_overlay(cooldown_image) + addtimer(CALLBACK(current_button, TYPE_PROC_REF(/image, cut_overlay), cooldown_image), COOLDOWN_TIMELEFT(module, cooldown_timer)) + + +/datum/action/item_action/mod/pinned_module/proc/on_module_activate(datum/source) + SIGNAL_HANDLER + + UpdateButtonIcon() + +/datum/action/item_action/mod/pinned_module/proc/on_module_deactivate(datum/source) + SIGNAL_HANDLER + + UpdateButtonIcon() + +/datum/action/item_action/mod/pinned_module/proc/on_module_use(datum/source) + SIGNAL_HANDLER + + UpdateButtonIcon() diff --git a/code/modules/mod/mod_activation.dm b/code/modules/mod/mod_activation.dm new file mode 100644 index 00000000000..cb61728f2cb --- /dev/null +++ b/code/modules/mod/mod_activation.dm @@ -0,0 +1,244 @@ +#define MOD_ACTIVATION_STEP_FLAGS IGNORE_USER_LOC_CHANGE|IGNORE_TARGET_LOC_CHANGE|IGNORE_HELD_ITEM|IGNORE_INCAPACITATED + +/// Creates a radial menu from which the user chooses parts of the suit to deploy/retract. Repeats until all parts are extended or retracted. +/obj/item/mod/control/proc/choose_deploy(mob/user) + if(!length(mod_parts)) + return + var/list/display_names = list() + var/list/items = list() + for(var/obj/item/part as anything in mod_parts) + display_names[part.name] = REF(part) + var/image/part_image = image(icon = part.icon, icon_state = part.icon_state) + if(part.loc != src) + part_image.underlays += image(icon = 'icons/hud/radial.dmi', icon_state = "module_active") + items += list(part.name = part_image) + var/pick = show_radial_menu(user, src, items, custom_check = FALSE, require_near = TRUE, tooltips = TRUE) + if(!pick) + return + var/part_reference = display_names[pick] + var/obj/item/part = locate(part_reference) in mod_parts + if(!istype(part) || user.incapacitated()) + return + if((active && part != helmet) || activating) + balloon_alert(user, "deactivate the suit first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return + var/parts_to_check = mod_parts - part + if(part.loc == src) + deploy(user, part) + for(var/obj/item/checking_part as anything in parts_to_check) + if(checking_part.loc != src) + continue + choose_deploy(user) + break + else + retract(user, part) + for(var/obj/item/checking_part as anything in parts_to_check) + if(checking_part.loc == src) + continue + choose_deploy(user) + break + +/// Quickly deploys all parts (or retracts if all are on the wearer) +/obj/item/mod/control/proc/quick_deploy(mob/user) + if(active || activating) + balloon_alert(user, "deactivate the suit first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + var/deploy = FALSE + for(var/obj/item/part as anything in mod_parts) + if(part.loc != src) + continue + deploy = TRUE + for(var/obj/item/part as anything in mod_parts) + if(deploy && part.loc == src) + deploy(null, part) + else if(!deploy && part.loc != src) + retract(null, part) + wearer.visible_message(span_notice("[wearer]'s [src] [deploy ? "deploys" : "retracts"] its' parts with a mechanical hiss."), + span_notice("[src] [deploy ? "deploys" : "retracts"] its' parts with a mechanical hiss."), + span_hear("You hear a mechanical hiss.")) + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + return TRUE + +/// Deploys a part of the suit onto the user. +/obj/item/mod/control/proc/deploy(mob/user, obj/item/part) + if(part.loc != src) + if(!user) + return FALSE + balloon_alert(user, "[part.name] already deployed!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + if(part in overslotting_parts) + var/obj/item/overslot = wearer.get_item_by_slot(part.slot_flags) + if(overslot) + overslotting_parts[part] = overslot + wearer.transferItemToLoc(overslot, part, force = TRUE) + RegisterSignal(part, COMSIG_ATOM_EXITED, PROC_REF(on_overslot_exit)) + if(wearer.equip_to_slot_if_possible(part, part.slot_flags, qdel_on_fail = FALSE, disable_warning = TRUE)) + ADD_TRAIT(part, TRAIT_NODROP, MOD_TRAIT) + if(!user) + return TRUE + wearer.visible_message(span_notice("[wearer]'s [part.name] deploy[part.p_s()] with a mechanical hiss."), + span_notice("[part] deploy[part.p_s()] with a mechanical hiss."), + span_hear("You hear a mechanical hiss.")) + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + return TRUE + else + if(!user) + return FALSE + balloon_alert(user, "bodypart clothed!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + +/// Retract a part of the suit from the user. +/obj/item/mod/control/proc/retract(mob/user, obj/item/part) + if(part.loc == src) + if(!user) + return FALSE + balloon_alert(user, "[part.name] already retracted!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + REMOVE_TRAIT(part, TRAIT_NODROP, MOD_TRAIT) + wearer.transferItemToLoc(part, src, force = TRUE) + if(overslotting_parts[part]) + UnregisterSignal(part, COMSIG_ATOM_EXITED) + var/obj/item/overslot = overslotting_parts[part] + if(!wearer.equip_to_slot_if_possible(overslot, overslot.slot_flags, qdel_on_fail = FALSE, disable_warning = TRUE)) + wearer.dropItemToGround(overslot, force = TRUE, silent = TRUE) + overslotting_parts[part] = null + if(!user) + return + wearer.visible_message(span_notice("[wearer]'s [part.name] retract[part.p_s()] back into [src] with a mechanical hiss."), + span_notice("[part] retract[part.p_s()] back into [src] with a mechanical hiss."), + span_hear("You hear a mechanical hiss.")) + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + +/// Starts the activation sequence, where parts of the suit activate one by one until the whole suit is on +/obj/item/mod/control/proc/toggle_activate(mob/user, force_deactivate = FALSE) + if(!wearer) + if(!force_deactivate) + balloon_alert(user, "put suit on back!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(!force_deactivate && (SEND_SIGNAL(src, COMSIG_MOD_ACTIVATE, user) & MOD_CANCEL_ACTIVATE)) + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + for(var/obj/item/part as anything in mod_parts) + if(!force_deactivate && part.loc == src) + balloon_alert(user, "deploy all parts first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(locked && !active && !allowed(user) && !force_deactivate) + balloon_alert(user, "access insufficient!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(!get_charge() && !force_deactivate) + balloon_alert(user, "suit not powered!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(open && !force_deactivate) + balloon_alert(user, "close the suit panel!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(activating) + if(!force_deactivate) + balloon_alert(user, "suit already [active ? "shutting down" : "starting up"]!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + for(var/obj/item/mod/module/module as anything in modules) + if(!module.active || module.allowed_inactive) + continue + module.on_deactivation(display_message = FALSE) + activating = TRUE + to_chat(wearer, span_notice("MODsuit [active ? "shutting down" : "starting up"].")) + if(do_after(wearer, activation_step_time, wearer, MOD_ACTIVATION_STEP_FLAGS, extra_checks = CALLBACK(src, PROC_REF(has_wearer)), hidden = TRUE)) + to_chat(wearer, span_notice("[boots] [active ? "relax their grip on your legs" : "seal around your feet"].")) + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + seal_part(boots, seal = !active) + if(do_after(wearer, activation_step_time, wearer, MOD_ACTIVATION_STEP_FLAGS, extra_checks = CALLBACK(src, PROC_REF(has_wearer)), hidden = TRUE)) + to_chat(wearer, span_notice("[gauntlets] [active ? "become loose around your fingers" : "tighten around your fingers and wrists"].")) + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + seal_part(gauntlets, seal = !active) + if(do_after(wearer, activation_step_time, wearer, MOD_ACTIVATION_STEP_FLAGS, extra_checks = CALLBACK(src, PROC_REF(has_wearer)), hidden = TRUE)) + to_chat(wearer, span_notice("[chestplate] [active ? "releases your chest" : "cinches tightly against your chest"].")) + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + seal_part(chestplate, seal = !active) + if(do_after(wearer, activation_step_time, wearer, MOD_ACTIVATION_STEP_FLAGS, extra_checks = CALLBACK(src, PROC_REF(has_wearer)), hidden = TRUE)) + to_chat(wearer, span_notice("[helmet] hisses [active ? "open" : "closed"].")) + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + seal_part(helmet, seal = !active) + if(do_after(wearer, activation_step_time, wearer, MOD_ACTIVATION_STEP_FLAGS, extra_checks = CALLBACK(src, PROC_REF(has_wearer)), hidden = TRUE)) + to_chat(wearer, span_notice("Systems [active ? "shut down. Parts unsealed. Goodbye" : "started up. Parts sealed. Welcome"], [wearer].")) + if(ai) + to_chat(ai, span_notice("SYSTEMS [active ? "DEACTIVATED. GOODBYE" : "ACTIVATED. WELCOME"]: \"[ai]\"")) + finish_activation(on = !active) + if(active) + playsound(src, 'sound/machines/synth_yes.ogg', 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, frequency = 6000) + if(!malfunctioning) + wearer.playsound_local(get_turf(src), 'sound/mecha/nominal.ogg', 50) + else + playsound(src, 'sound/machines/synth_no.ogg', 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, frequency = 6000) + activating = FALSE + return TRUE + +///Seals or unseals the given part +/obj/item/mod/control/proc/seal_part(obj/item/clothing/part, seal) + if(seal) + part.clothing_flags |= part.visor_flags + part.flags_inv |= part.visor_flags_inv + part.flags_cover |= part.visor_flags_cover + part.heat_protection = initial(part.heat_protection) + part.cold_protection = initial(part.cold_protection) + part.alternate_worn_layer = null + else + part.flags_cover &= ~part.visor_flags_cover + part.flags_inv &= ~part.visor_flags_inv + part.clothing_flags &= ~part.visor_flags + part.heat_protection = NONE + part.cold_protection = NONE + part.alternate_worn_layer = mod_parts[part] + if(part == boots) + boots.icon_state = "[skin]-boots[seal ? "-sealed" : ""]" + wearer.update_inv_shoes() + if(part == gauntlets) + gauntlets.icon_state = "[skin]-gauntlets[seal ? "-sealed" : ""]" + wearer.update_inv_gloves() + if(part == chestplate) + chestplate.icon_state = "[skin]-chestplate[seal ? "-sealed" : ""]" + wearer.update_inv_wear_suit() + wearer.update_inv_w_uniform() + if(part == helmet) + helmet.icon_state = "[skin]-helmet[seal ? "-sealed" : ""]" + wearer.update_inv_head() + wearer.update_inv_wear_mask() + wearer.update_inv_glasses() + wearer.update_hair() + +/// Finishes the suit's activation, starts processing +/obj/item/mod/control/proc/finish_activation(on) + active = on + if(active) + for(var/obj/item/mod/module/module as anything in modules) + module.on_suit_activation() + START_PROCESSING(SSobj, src) + else + for(var/obj/item/mod/module/module as anything in modules) + module.on_suit_deactivation() + STOP_PROCESSING(SSobj, src) + update_speed() + update_icon_state() + wearer.update_inv_back(slot_flags) + +/// Quickly deploys all the suit parts and if successful, seals them and turns on the suit. Intended mostly for outfits. +/obj/item/mod/control/proc/quick_activation() + var/seal = TRUE + for(var/obj/item/part as anything in mod_parts) + if(!deploy(null, part)) + seal = FALSE + if(!seal) + return + for(var/obj/item/part as anything in mod_parts) + seal_part(part, seal = TRUE) + finish_activation(on = TRUE) + +/obj/item/mod/control/proc/has_wearer() + return wearer diff --git a/code/modules/mod/mod_ai.dm b/code/modules/mod/mod_ai.dm new file mode 100644 index 00000000000..a0571797034 --- /dev/null +++ b/code/modules/mod/mod_ai.dm @@ -0,0 +1,125 @@ +/** + * Simple proc to insert the pAI into the MODsuit. + * + * user - The person trying to put the pAI into the MODsuit. + * card - The pAI card we're slotting in the MODsuit. + */ + +/obj/item/mod/control/proc/insert_pai(mob/user, obj/item/paicard/card) + if(ai) + balloon_alert(user, "ai already installed!") + return + if(!card.pai || !card.pai.mind) + balloon_alert(user, "pai unresponsive!") + return + balloon_alert(user, "transferring to suit...") + if(!do_after(user, 5 SECONDS, target = src)) + balloon_alert(user, "interrupted!") + return FALSE + if(!user.transferItemToLoc(card, src)) + return + + card.pai.canholo = FALSE + ai = card.pai + balloon_alert(user, "pAI transferred to suit") + balloon_alert(ai, "transferred to a suit") + ai.remote_control = src + for(var/datum/action/action as anything in actions) + action.Grant(ai) + return TRUE + +/** + * Simple proc to extract the pAI from the MODsuit. It's the proc to call if you want to take it out, + * remove_pai() is there so atom_destruction() doesn't have any risk of sleeping. + * + * user - The person trying to take out the pAI from the MODsuit. + * forced - Whether or not we skip the checks and just eject the pAI. Defaults to FALSE. + * feedback - Whether to give feedback via balloon alerts or not. Defaults to TRUE. + */ +/obj/item/mod/control/proc/extract_pai(mob/user, forced = FALSE, feedback = TRUE) + if(!ai) + if(user && feedback) + balloon_alert(user, "no pAI to remove!") + return + if(!ispAI(ai)) + if(user && feedback) + balloon_alert(user, "onboard AI cannot fit in this card!") + return + if(!forced) + if(!open) + if(user && feedback) + balloon_alert(user, "open the suit panel!") + return FALSE + if(!do_after(user, 5 SECONDS, target = src)) + if(user && feedback) + balloon_alert(user, "interrupted!") + return FALSE + + remove_pai(feedback) + + if(feedback && user) + balloon_alert(user, "pAI removed from the suit") + +/** + * Simple proc that handles the safe removal of the pAI from a MOD control unit. + * + * Arguments: + * * feedback - Whether or not we want to give balloon alert feedback to the ai. Defaults to FALSE. + */ +/obj/item/mod/control/proc/remove_pai(feedback = FALSE) + if(!ispAI(ai)) + return + var/mob/living/silicon/pai/pai = ai + var/turf/drop_off = get_turf(src) + if(drop_off) // In case there's no drop_off, the pAI will simply get deleted. + pai.card.forceMove(drop_off) + + for(var/datum/action/action as anything in actions) + if(action.owner == pai) + action.Remove(pai) + + if(feedback) + balloon_alert(pai, "removed from a suit") + pai.remote_control = null + pai.canholo = TRUE + pai = null + +#define MOVE_DELAY 2 +#define WEARER_DELAY 1 +#define LONE_DELAY 5 +#define CELL_PER_STEP (DEFAULT_CHARGE_DRAIN * 2.5) +#define AI_FALL_TIME (1 SECONDS) + +/*obj/item/mod/control/relaymove(mob/user, direction) + var/cell = get_cell() + if((!active && wearer) || !cell || cell.charge < CELL_PER_STEP || user != ai || !COOLDOWN_FINISHED(src, cooldown_mod_move) || (wearer?.pulledby?.grab_state > GRAB_PASSIVE)) + return FALSE + var/timemodifier = MOVE_DELAY * (ISDIAGONALDIR(direction) ? SQRT_2 : 1) * (wearer ? WEARER_DELAY : LONE_DELAY) + if(wearer && !wearer.Process_Spacemove(direction)) + return FALSE + else if(!wearer && (!has_gravity() || !isturf(loc))) + return FALSE + COOLDOWN_START(src, cooldown_mod_move, movedelay * timemodifier + slowdown) + cell.charge = max(0, cell.charge - CELL_PER_STEP) + playsound(src, 'sound/mecha/mechmove01.ogg', 25, TRUE) + if(ismovable(wearer?.loc)) + return wearer.loc.relaymove(wearer, direction) + else if(wearer) + + var/atom/movable/mover = wearer || src + return step(mover, direction) + +#undef MOVE_DELAY +#undef WEARER_DELAY +#undef LONE_DELAY +#undef CELL_PER_STEP +#undef AI_FALL_TIME + + return + REMOVE_TRAIT(wearer, TRAIT_MOBILITY_NOREST, MOD_TRAIT) + +/obj/item/mod/control/ui_state(mob/user) + if(user == ai) + return GLOB.contained_state + return ..() +*/ diff --git a/code/modules/mod/mod_clothes.dm b/code/modules/mod/mod_clothes.dm new file mode 100644 index 00000000000..7a9e710c938 --- /dev/null +++ b/code/modules/mod/mod_clothes.dm @@ -0,0 +1,56 @@ +/obj/item/clothing/head/mod + name = "MOD helmet" + desc = "A helmet for a MODsuit." + icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' + icon_state = "standard-helmet" + base_icon_state = "helmet" + mob_overlay_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) + body_parts_covered = HEAD + heat_protection = HEAD + cold_protection = HEAD + obj_flags = IMMUTABLE_SLOW + visor_flags = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|ALLOWINTERNALS + +/obj/item/clothing/suit/mod + name = "MOD chestplate" + desc = "A chestplate for a MODsuit." + icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' + icon_state = "standard-chestplate" + base_icon_state = "chestplate" + mob_overlay_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' + blood_overlay_type = "armor" + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) + body_parts_covered = CHEST|GROIN + heat_protection = CHEST|GROIN + cold_protection = CHEST|GROIN + obj_flags = IMMUTABLE_SLOW + +/obj/item/clothing/gloves/mod + name = "MOD gauntlets" + desc = "A pair of gauntlets for a MODsuit." + icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' + icon_state = "standard-gauntlets" + base_icon_state = "gauntlets" + mob_overlay_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) + body_parts_covered = HANDS|ARMS + heat_protection = HANDS|ARMS + cold_protection = HANDS|ARMS + obj_flags = IMMUTABLE_SLOW + +/obj/item/clothing/shoes/mod + name = "MOD boots" + desc = "A pair of boots for a MODsuit." + icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' + icon_state = "standard-boots" + base_icon_state = "boots" + mob_overlay_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) + body_parts_covered = FEET|LEGS + heat_protection = FEET|LEGS + cold_protection = FEET|LEGS + obj_flags = IMMUTABLE_SLOW + supports_variations = DIGITIGRADE_VARIATION + can_be_tied = FALSE + visor_flags_inv = HIDESHOES diff --git a/code/modules/mod/mod_construction.dm b/code/modules/mod/mod_construction.dm new file mode 100644 index 00000000000..0f37a4fd1f1 --- /dev/null +++ b/code/modules/mod/mod_construction.dm @@ -0,0 +1,275 @@ +/obj/item/mod/construction + desc = "A part used in MOD construction." + icon = 'icons/obj/clothing/modsuit/mod_construction.dmi' + item_state = "rack_parts" + +/obj/item/mod/construction/helmet + name = "MOD helmet" + icon_state = "helmet" + +/obj/item/mod/construction/helmet/examine(mob/user) + . = ..() + . += span_notice("You could insert these into a MOD shell...") + +/obj/item/mod/construction/chestplate + name = "MOD chestplate" + icon_state = "chestplate" + +/obj/item/mod/construction/chestplate/examine(mob/user) + . = ..() + . += span_notice("You could insert these into a MOD shell...") + +/obj/item/mod/construction/gauntlets + name = "MOD gauntlets" + icon_state = "gauntlets" + +/obj/item/mod/construction/gauntlets/examine(mob/user) + . = ..() + . += span_notice("You could insert these into a MOD shell...") + +/obj/item/mod/construction/boots + name = "MOD boots" + icon_state = "boots" + +/obj/item/mod/construction/boots/examine(mob/user) + . = ..() + . += span_notice("You could insert these into a MOD shell...") + +/obj/item/mod/construction/broken_core + name = "broken MOD core" + icon_state = "mod-core" + desc = "An internal power source for a Modular Outerwear Device. You don't seem to be able to source any power from this one, though." + +/obj/item/mod/construction/broken_core/examine(mob/user) + . = ..() + . += span_notice("You could repair it with a screwdriver...") + +/obj/item/mod/construction/broken_core/screwdriver_act(mob/living/user, obj/item/tool) + . = ..() + if(!tool.use_tool(src, user, 5 SECONDS, volume = 30)) + return + new /obj/item/mod/core/standard(drop_location()) + qdel(src) + +/obj/item/mod/construction/plating + name = "MOD external plating" + desc = "External plating used to finish a MOD control unit." + icon_state = "standard-plating" + var/datum/mod_theme/theme = /datum/mod_theme + +/obj/item/mod/construction/plating/Initialize(mapload) + . = ..() + var/datum/mod_theme/used_theme = GLOB.mod_themes[theme] + name = "MOD [used_theme.name] external plating" + desc = "[desc] [used_theme.desc]" + icon_state = "[used_theme.default_skin]-plating" + +/obj/item/mod/construction/plating/engineering + theme = /datum/mod_theme/engineering + +/obj/item/mod/construction/plating/atmospheric + theme = /datum/mod_theme/atmospheric + +/obj/item/mod/construction/plating/medical + theme = /datum/mod_theme/medical + +/obj/item/mod/construction/plating/security + theme = /datum/mod_theme/security + +#define START_STEP "start" +#define CORE_STEP "core" +#define SCREWED_CORE_STEP "screwed_core" +#define HELMET_STEP "helmet" +#define CHESTPLATE_STEP "chestplate" +#define GAUNTLETS_STEP "gauntlets" +#define BOOTS_STEP "boots" +#define WRENCHED_ASSEMBLY_STEP "wrenched_assembly" +#define SCREWED_ASSEMBLY_STEP "screwed_assembly" + +/obj/item/mod/construction/shell + name = "MOD shell" + icon_state = "mod-construction_start" + desc = "A MOD shell." + var/obj/item/core + var/obj/item/helmet + var/obj/item/chestplate + var/obj/item/gauntlets + var/obj/item/boots + var/step = START_STEP + +/obj/item/mod/construction/shell/examine(mob/user) + . = ..() + var/display_text + switch(step) + if(START_STEP) + display_text = "It looks like it's missing a MOD core..." + if(CORE_STEP) + display_text = "The core seems loose..." + if(SCREWED_CORE_STEP) + display_text = "It looks like it's missing a helmet..." + if(HELMET_STEP) + display_text = "It looks like it's missing a chestplate..." + if(CHESTPLATE_STEP) + display_text = "It looks like it's missing gauntlets..." + if(GAUNTLETS_STEP) + display_text = "It looks like it's missing boots..." + if(BOOTS_STEP) + display_text = "The assembly seems unsecured..." + if(WRENCHED_ASSEMBLY_STEP) + display_text = "The assembly seems loose..." + if(SCREWED_ASSEMBLY_STEP) + display_text = "All it's missing is external plating..." + . += span_notice(display_text) + +/obj/item/mod/construction/shell/attackby(obj/item/part, mob/user, params) + . = ..() + switch(step) + if(START_STEP) + if(!istype(part, /obj/item/mod/core)) + return + if(!user.transferItemToLoc(part, src)) + balloon_alert(user, "core stuck to your hand!") + return + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + balloon_alert(user, "core inserted") + core = part + step = CORE_STEP + if(CORE_STEP) + if(part.tool_behaviour == TOOL_SCREWDRIVER) //Construct + if(part.use_tool(src, user, 0, volume=30)) + balloon_alert(user, "core screwed") + step = SCREWED_CORE_STEP + else if(part.tool_behaviour == TOOL_CROWBAR) //Deconstruct + if(part.use_tool(src, user, 0, volume=30)) + core.forceMove(drop_location()) + balloon_alert(user, "core taken out") + step = START_STEP + if(SCREWED_CORE_STEP) + if(istype(part, /obj/item/mod/construction/helmet)) //Construct + if(!user.transferItemToLoc(part, src)) + balloon_alert(user, "helmet stuck to your hand!") + return + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + balloon_alert(user, "helmet added") + helmet = part + step = HELMET_STEP + else if(part.tool_behaviour == TOOL_SCREWDRIVER) //Deconstruct + if(part.use_tool(src, user, 0, volume=30)) + balloon_alert(user, "core unscrewed") + step = CORE_STEP + if(HELMET_STEP) + if(istype(part, /obj/item/mod/construction/chestplate)) //Construct + if(!user.transferItemToLoc(part, src)) + balloon_alert(user, "chestplate stuck to your hand!") + return + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + balloon_alert(user, "chestplate added") + chestplate = part + step = CHESTPLATE_STEP + else if(part.tool_behaviour == TOOL_CROWBAR) //Deconstruct + if(part.use_tool(src, user, 0, volume=30)) + helmet.forceMove(drop_location()) + balloon_alert(user, "helmet removed") + helmet = null + step = SCREWED_CORE_STEP + if(CHESTPLATE_STEP) + if(istype(part, /obj/item/mod/construction/gauntlets)) //Construct + if(!user.transferItemToLoc(part, src)) + balloon_alert(user, "gauntlets stuck to your hand!") + return + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + balloon_alert(user, "gauntlets added") + gauntlets = part + step = GAUNTLETS_STEP + else if(part.tool_behaviour == TOOL_CROWBAR) //Deconstruct + if(part.use_tool(src, user, 0, volume=30)) + chestplate.forceMove(drop_location()) + balloon_alert(user, "chestplate removed") + chestplate = null + step = HELMET_STEP + if(GAUNTLETS_STEP) + if(istype(part, /obj/item/mod/construction/boots)) //Construct + if(!user.transferItemToLoc(part, src)) + balloon_alert(user, "boots added") + return + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + balloon_alert(user, "you fit [part] onto [src].") + boots = part + step = BOOTS_STEP + else if(part.tool_behaviour == TOOL_CROWBAR) //Deconstruct + if(part.use_tool(src, user, 0, volume=30)) + gauntlets.forceMove(drop_location()) + balloon_alert(user, "gauntlets removed") + gauntlets = null + step = CHESTPLATE_STEP + if(BOOTS_STEP) + if(part.tool_behaviour == TOOL_WRENCH) //Construct + if(part.use_tool(src, user, 0, volume=30)) + balloon_alert(user, "assembly secured") + step = WRENCHED_ASSEMBLY_STEP + else if(part.tool_behaviour == TOOL_CROWBAR) //Deconstruct + if(part.use_tool(src, user, 0, volume=30)) + boots.forceMove(drop_location()) + balloon_alert(user, "boots removed") + boots = null + step = GAUNTLETS_STEP + if(WRENCHED_ASSEMBLY_STEP) + if(part.tool_behaviour == TOOL_SCREWDRIVER) //Construct + if(part.use_tool(src, user, 0, volume=30)) + balloon_alert(user, "assembly screwed") + step = SCREWED_ASSEMBLY_STEP + else if(part.tool_behaviour == TOOL_WRENCH) //Deconstruct + if(part.use_tool(src, user, 0, volume=30)) + balloon_alert(user, "assembly unsecured") + step = BOOTS_STEP + if(SCREWED_ASSEMBLY_STEP) + if(istype(part, /obj/item/mod/construction/plating)) //Construct + var/obj/item/mod/construction/plating/external_plating = part + if(!user.transferItemToLoc(part, src)) + return + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + balloon_alert(user, "suit finished") + var/obj/item/mod = new /obj/item/mod/control(drop_location(), external_plating.theme, null, core) + core = null + qdel(src) + user.put_in_hands(mod) + else if(part.tool_behaviour == TOOL_SCREWDRIVER) //Construct + if(part.use_tool(src, user, 0, volume=30)) + balloon_alert(user, "assembly unscrewed") + step = SCREWED_ASSEMBLY_STEP + update_icon_state() + +/obj/item/mod/construction/shell/update_icon_state() + . = ..() + icon_state = "mod-construction_[step]" + +/obj/item/mod/construction/shell/Destroy() + QDEL_NULL(core) + QDEL_NULL(helmet) + QDEL_NULL(chestplate) + QDEL_NULL(gauntlets) + QDEL_NULL(boots) + return ..() + +/obj/item/mod/construction/shell/handle_atom_del(atom/deleted_atom) + if(deleted_atom == core) + core = null + if(deleted_atom == helmet) + helmet = null + if(deleted_atom == chestplate) + chestplate = null + if(deleted_atom == gauntlets) + gauntlets = null + if(deleted_atom == boots) + boots = null + return ..() + +#undef START_STEP +#undef CORE_STEP +#undef SCREWED_CORE_STEP +#undef HELMET_STEP +#undef CHESTPLATE_STEP +#undef GAUNTLETS_STEP +#undef BOOTS_STEP +#undef WRENCHED_ASSEMBLY_STEP +#undef SCREWED_ASSEMBLY_STEP diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm new file mode 100644 index 00000000000..37b9cf6e2ac --- /dev/null +++ b/code/modules/mod/mod_control.dm @@ -0,0 +1,713 @@ +/// MODsuits, trade-off between armor and utility +/obj/item/mod + name = "Base MOD" + desc = "You should not see this, yell at a coder!" + icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' + +/obj/item/mod/control + name = "MOD control unit" + desc = "The control unit of a Modular Outerwear Device, a powered, back-mounted suit that protects against various environments." + icon_state = "control" + base_icon_state = "control" + item_state = "mod_control" + mob_overlay_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + strip_delay = 10 SECONDS + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "fire" = 0, "acid" = 0) + actions_types = list( + /datum/action/item_action/mod/deploy, + /datum/action/item_action/mod/activate, + /datum/action/item_action/mod/panel, + /datum/action/item_action/mod/module, + /datum/action/item_action/mod/deploy/ai, + /datum/action/item_action/mod/activate/ai, + /datum/action/item_action/mod/panel/ai, + /datum/action/item_action/mod/module/ai, + ) + resistance_flags = NONE + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + siemens_coefficient = 0.5 + //alternate_worn_layer = HAND_LAYER+0.1 //we want it to go above generally everything, but not hands + /// The MOD's theme, decides on some stuff like armor and statistics. + var/datum/mod_theme/theme = /datum/mod_theme + /// Looks of the MOD. + var/skin = "standard" + /// Theme of the MOD TGUI + var/ui_theme = "ntos" + /// If the suit is deployed and turned on. + var/active = FALSE + /// If the suit wire/module hatch is open. + var/open = FALSE + /// If the suit is ID locked. + var/locked = FALSE + /// If the suit is malfunctioning. + var/malfunctioning = FALSE + /// If the suit is currently activating/deactivating. + var/activating = FALSE + /// How long the MOD is electrified for. + var/seconds_electrified = MACHINE_NOT_ELECTRIFIED + /// If the suit interface is broken. + var/interface_break = FALSE + /// How much module complexity can this MOD carry. + var/complexity_max = DEFAULT_MAX_COMPLEXITY + /// How much module complexity this MOD is carrying. + var/complexity = 0 + /// Power usage of the MOD. + var/charge_drain = DEFAULT_CHARGE_DRAIN + /// Slowdown of the MOD when not active. + var/slowdown_inactive = 1.25 + /// Slowdown of the MOD when active. + var/slowdown_active = 0.75 + /// How long this MOD takes each part to seal. + var/activation_step_time = MOD_ACTIVATION_STEP_TIME + /// Extended description of the theme. + var/extended_desc + /// MOD helmet. + var/obj/item/clothing/head/mod/helmet + /// MOD chestplate. + var/obj/item/clothing/suit/mod/chestplate + /// MOD gauntlets. + var/obj/item/clothing/gloves/mod/gauntlets + /// MOD boots. + var/obj/item/clothing/shoes/mod/boots + /// MOD core. + var/obj/item/mod/core/core + /// Associated list of parts (helmet, chestplate, gauntlets, boots) to their unsealed worn layer. + var/list/mod_parts = list() + /// Associated list of parts that can overslot to their overslot (overslot means the part can cover another layer of clothing). + var/list/overslotting_parts = list() + /// Modules the MOD should spawn with. + var/list/initial_modules = list() + /// Modules the MOD currently possesses. + var/list/modules = list() + /// Currently used module. + var/obj/item/mod/module/selected_module + /// AI mob inhabiting the MOD. + var/mob/living/silicon/ai/ai + /// Delay between moves as AI. + var/movedelay = 0 + /// Cooldown for AI moves. + COOLDOWN_DECLARE(cooldown_mod_move) + /// Person wearing the MODsuit. + var/mob/living/carbon/human/wearer + +/obj/item/mod/control/Initialize(mapload, datum/mod_theme/new_theme, new_skin, obj/item/mod/core/new_core) + . = ..() + if(new_theme) + theme = new_theme + theme = GLOB.mod_themes[theme] + slot_flags = theme.slot_flags + extended_desc = theme.extended_desc + slowdown_inactive = theme.slowdown_inactive + slowdown_active = theme.slowdown_active + complexity_max = theme.complexity_max + ui_theme = theme.ui_theme + charge_drain = theme.charge_drain + initial_modules += theme.inbuilt_modules + wires = new /datum/wires/mod(src) + if(length(req_access)) + locked = TRUE + new_core?.install(src) + helmet = new /obj/item/clothing/head/mod(src) + mod_parts += helmet + chestplate = new /obj/item/clothing/suit/mod(src) + chestplate.allowed = typecacheof(theme.allowed_suit_storage) + mod_parts += chestplate + gauntlets = new /obj/item/clothing/gloves/mod(src) + mod_parts += gauntlets + boots = new /obj/item/clothing/shoes/mod(src) + mod_parts += boots + var/list/all_parts = mod_parts + src + for(var/obj/item/part as anything in all_parts) + part.name = "[theme.name] [part.name]" + part.desc = "[part.desc] [theme.desc]" + part.armor = getArmor(arglist(theme.armor)) + part.resistance_flags = theme.resistance_flags + part.flags_1 |= theme.atom_flags //flags like initialization or admin spawning are here, so we cant set, have to add + part.heat_protection = NONE + part.cold_protection = NONE + part.max_heat_protection_temperature = theme.max_heat_protection_temperature + part.min_cold_protection_temperature = theme.min_cold_protection_temperature + part.siemens_coefficient = theme.siemens_coefficient + for(var/obj/item/part as anything in mod_parts) + RegisterSignal(part, COMSIG_OBJ_DESTRUCTION, PROC_REF(on_part_destruction)) + RegisterSignal(part, COMSIG_PARENT_QDELETING, PROC_REF(on_part_deletion)) + set_mod_skin(new_skin || theme.default_skin) + update_speed() + for(var/obj/item/mod/module/module as anything in initial_modules) + module = new module(src) + install(module) + RegisterSignal(src, COMSIG_ATOM_EXITED, PROC_REF(on_exit)) + movedelay = CONFIG_GET(number/movedelay/run_delay) + +/obj/item/mod/control/Destroy() + if(active) + STOP_PROCESSING(SSobj, src) + for(var/obj/item/mod/module/module as anything in modules) + uninstall(module, deleting = TRUE) + for(var/obj/item/part as anything in mod_parts) + overslotting_parts -= part + var/atom/deleting_atom + if(!QDELETED(helmet)) + deleting_atom = helmet + helmet = null + mod_parts -= deleting_atom + qdel(deleting_atom) + if(!QDELETED(chestplate)) + deleting_atom = chestplate + chestplate = null + mod_parts -= deleting_atom + qdel(deleting_atom) + if(!QDELETED(gauntlets)) + deleting_atom = gauntlets + gauntlets = null + mod_parts -= deleting_atom + qdel(deleting_atom) + if(!QDELETED(boots)) + deleting_atom = boots + boots = null + mod_parts -= deleting_atom + qdel(deleting_atom) + if(core) + QDEL_NULL(core) + QDEL_NULL(wires) + return ..() + +/obj/item/mod/control/obj_destruction(damage_flag) + for(var/obj/item/mod/module/module as anything in modules) + uninstall(module) + for(var/obj/item/part as anything in mod_parts) + if(!overslotting_parts[part]) + continue + var/obj/item/overslot = overslotting_parts[part] + overslot.forceMove(drop_location()) + overslotting_parts[part] = null + /*if(ai) + ai.controlled_equipment = null + ai.remote_control = null + for(var/datum/action/action as anything in actions) + if(action.owner == ai) + action.Remove(ai) + new /obj/item/mod/ai_minicard(drop_location(), ai)*/ + return ..() + +/obj/item/mod/control/examine(mob/user) + . = ..() + if(active) + . += span_notice("Charge: [core ? "[get_charge_percent()]%" : "No core"].") + . += span_notice("Selected module: [selected_module || "None"].") + if(!open && !active) + . += span_notice("You could put it on your back to turn it on.") + . += span_notice("You could open the cover with a screwdriver.") + else if(open) + . += span_notice("You could close the cover with a screwdriver.") + . += span_notice("You could use modules on it to install them.") + . += span_notice("You could remove modules with a crowbar.") + . += span_notice("You could update the access lock with an ID.") + . += span_notice("You could access the wire panel with a wire tool.") + if(core) + . += span_notice("You could remove [core] with a wrench.") + else + . += span_notice("You could use a MOD core on it to install one.") + if(ai) + . += span_notice("You could remove [ai] with an intellicard.") + else + . += span_notice("You could install an AI with an intellicard.") + +/obj/item/mod/control/examine_more(mob/user) + . = ..() + . += "[extended_desc]" + +/obj/item/mod/control/process(delta_time) + if(seconds_electrified > MACHINE_NOT_ELECTRIFIED) + seconds_electrified-- + if(!get_charge() && active && !activating) + power_off() + return PROCESS_KILL + var/malfunctioning_charge_drain = 0 + if(malfunctioning) + malfunctioning_charge_drain = rand(1,20) + subtract_charge((charge_drain + malfunctioning_charge_drain)*delta_time) + update_charge_alert() + for(var/obj/item/mod/module/module as anything in modules) + if(malfunctioning && module.active && DT_PROB(5, delta_time)) + module.on_deactivation(display_message = TRUE) + module.on_process(delta_time) + +/obj/item/mod/control/equipped(mob/user, slot) + ..() + if(slot == slot_flags) + set_wearer(user) + else if(wearer) + unset_wearer() + +/obj/item/mod/control/dropped(mob/user) + . = ..() + if(!wearer) + return + clean_up() + +/obj/item/mod/control/item_action_slot_check(slot) + if(slot & slot_flags) + return TRUE + +/obj/item/mod/control/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change = TRUE) + . = ..() + if(!wearer || old_loc != wearer || loc == wearer) + return + clean_up() + +/obj/item/mod/control/allow_attack_hand_drop(mob/user) + if(user != wearer) + return ..() + for(var/obj/item/part as anything in mod_parts) + if(part.loc != src) + balloon_alert(user, "retract parts first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, FALSE, SILENCED_SOUND_EXTRARANGE) + return FALSE + +/obj/item/mod/control/MouseDrop(atom/over_object) + if(usr != wearer || !istype(over_object, /atom/movable/screen/inventory/hand)) + return ..() + for(var/obj/item/part as anything in mod_parts) + if(part.loc != src) + balloon_alert(wearer, "retract parts first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, FALSE, SILENCED_SOUND_EXTRARANGE) + return + if(!wearer.incapacitated()) + var/atom/movable/screen/inventory/hand/ui_hand = over_object + if(wearer.putItemFromInventoryInHandIfPossible(src, ui_hand.held_index)) + add_fingerprint(usr) + return ..() + +/obj/item/mod/control/wrench_act(mob/living/user, obj/item/wrench) + if(..()) + return TRUE + if(seconds_electrified && get_charge() && shock(user)) + return TRUE + if(open) + if(!core) + balloon_alert(user, "no core!") + return TRUE + balloon_alert(user, "removing core...") + wrench.play_tool_sound(src, 100) + if(!wrench.use_tool(src, user, 3 SECONDS) || !open) + balloon_alert(user, "interrupted!") + return TRUE + wrench.play_tool_sound(src, 100) + balloon_alert(user, "core removed") + core.forceMove(drop_location()) + update_charge_alert() + return TRUE + return ..() + +/obj/item/mod/control/screwdriver_act(mob/living/user, obj/item/screwdriver) + if(..()) + return TRUE + if(active || activating)// || ai_controller) + balloon_alert(user, "deactivate suit first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + balloon_alert(user, "[open ? "closing" : "opening"] cover...") + screwdriver.play_tool_sound(src, 100) + if(screwdriver.use_tool(src, user, 1 SECONDS)) + if(active || activating) + balloon_alert(user, "deactivate suit first!") + screwdriver.play_tool_sound(src, 100) + balloon_alert(user, "cover [open ? "closed" : "opened"]") + open = !open + else + balloon_alert(user, "interrupted!") + return TRUE + +/obj/item/mod/control/crowbar_act(mob/living/user, obj/item/crowbar) + . = ..() + if(!open) + balloon_alert(user, "open the cover first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(!allowed(user)) + balloon_alert(user, "insufficient access!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return + if(SEND_SIGNAL(src, COMSIG_MOD_MODULE_REMOVAL, user) & MOD_CANCEL_REMOVAL) + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(length(modules)) + var/list/removable_modules = list() + for(var/obj/item/mod/module/module as anything in modules) + if(!module.removable) + continue + removable_modules += module + var/obj/item/mod/module/module_to_remove = tgui_input_list(user, "Which module to remove?", "Module Removal", removable_modules) + if(!module_to_remove?.mod) + return FALSE + uninstall(module_to_remove) + module_to_remove.forceMove(drop_location()) + crowbar.play_tool_sound(src, 100) + return TRUE + balloon_alert(user, "no modules!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + +/obj/item/mod/control/attackby(obj/item/attacking_item, mob/living/user, params) + if(istype(attacking_item, /obj/item/mod/module)) + if(!open) + balloon_alert(user, "open the cover first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + install(attacking_item, user) + return TRUE + else if(istype(attacking_item, /obj/item/mod/core)) + if(!open) + balloon_alert(user, "open the cover first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(core) + balloon_alert(user, "core already installed!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + var/obj/item/mod/core/attacking_core = attacking_item + attacking_core.install(src) + balloon_alert(user, "core installed") + playsound(src, 'sound/machines/click.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE) + update_charge_alert() + return TRUE + else if(is_wire_tool(attacking_item) && open) + wires.interact(user) + return TRUE + else if(open && attacking_item.GetID()) + update_access(user, attacking_item.GetID()) + return TRUE + else if(open && istype(attacking_item, /obj/item/stock_parts/cell) && istype(core, /obj/item/mod/core/standard)) + var/obj/item/mod/core/standard/attacked_core = core + attacked_core.on_attackby(src, attacking_item, wearer) + return TRUE + return ..() + +/obj/item/mod/control/get_cell() + if(!open) + return + var/obj/item/stock_parts/cell/cell = get_charge_source() + if(!istype(cell)) + return + return cell + +/obj/item/mod/control/GetAccess() + /*if(ai_controller) + return req_access.Copy() + else */ + return ..() + +/obj/item/mod/control/emag_act(mob/user) + locked = !locked + balloon_alert(user, "suit access [locked ? "locked" : "unlocked"]") + +/obj/item/mod/control/emp_act(severity) + . = ..() + if(!active || !wearer) + return + to_chat(wearer, span_notice("[severity > 1 ? "Light" : "Strong"] electromagnetic pulse detected!")) + if(. & EMP_PROTECT_CONTENTS) + return + selected_module?.on_deactivation(display_message = TRUE) + wearer.apply_damage(10 / severity, BURN, spread_damage=TRUE) + to_chat(wearer, span_danger("You feel [src] heat up from the EMP, burning you slightly.")) + if(wearer.stat < UNCONSCIOUS && prob(10)) + wearer.force_scream() + +/*obj/item/mod/control/on_outfit_equip(mob/living/carbon/human/outfit_wearer, visuals_only, item_slot) + if(visuals_only) + set_wearer(outfit_wearer) //we need to set wearer manually since it doesnt call equipped + quick_activation()*/ + +/obj/item/mod/control/doStrip(mob/stripper, mob/owner) + if(active && !toggle_activate(stripper, force_deactivate = TRUE)) + return + for(var/obj/item/part as anything in mod_parts) + if(part.loc == src) + continue + retract(null, part) + return ..() + +/obj/item/mod/control/worn_overlays(isinhands = FALSE, icon_file) + . = ..() + for(var/obj/item/mod/module/module as anything in modules) + var/list/module_icons = module.generate_worn_overlay(src.layer) + if(!length(module_icons)) + continue + . += module_icons + +/obj/item/mod/control/update_icon_state() + item_state = "[skin]-control[active ? "-sealed" : ""]" + return ..() + +/obj/item/mod/control/proc/set_wearer(mob/user) + wearer = user + SEND_SIGNAL(src, COMSIG_MOD_WEARER_SET, wearer) + RegisterSignal(wearer, COMSIG_ATOM_EXITED, PROC_REF(on_exit)) + RegisterSignal(wearer, COMSIG_SPECIES_GAIN, PROC_REF(on_species_gain)) + update_charge_alert() + for(var/obj/item/mod/module/module as anything in modules) + module.on_equip() + +/obj/item/mod/control/proc/unset_wearer() + for(var/obj/item/mod/module/module as anything in modules) + module.on_unequip() + UnregisterSignal(wearer, list(COMSIG_ATOM_EXITED, COMSIG_SPECIES_GAIN)) + wearer.clear_alert("mod_charge") + SEND_SIGNAL(src, COMSIG_MOD_WEARER_UNSET, wearer) + wearer = null + +/obj/item/mod/control/proc/clean_up() + if(active || activating) + for(var/obj/item/mod/module/module as anything in modules) + if(!module.active) + continue + module.on_deactivation(display_message = FALSE) + for(var/obj/item/part as anything in mod_parts) + seal_part(part, seal = FALSE) + for(var/obj/item/part as anything in mod_parts) + retract(null, part) + if(active) + finish_activation(on = FALSE) + var/mob/old_wearer = wearer + unset_wearer() + old_wearer.temporarilyRemoveItemFromInventory(src) + +/obj/item/mod/control/proc/on_species_gain(datum/source, datum/species/new_species, datum/species/old_species) + SIGNAL_HANDLER + + var/list/all_parts = mod_parts + src + for(var/obj/item/part in all_parts) + if(!(part.slot_flags in new_species.no_equip) || is_type_in_list(new_species, part.species_exception)) + continue + forceMove(drop_location()) + return + +/obj/item/mod/control/proc/quick_module(mob/user) + if(!length(modules)) + return + var/list/display_names = list() + var/list/items = list() + for(var/obj/item/mod/module/module as anything in modules) + if(module.module_type == MODULE_PASSIVE) + continue + display_names[module.name] = REF(module) + var/image/module_image = image(icon = module.icon, icon_state = module.icon_state) + if(module == selected_module) + module_image.underlays += image(icon = 'icons/hud/radial.dmi', icon_state = "module_selected") + else if(module.active) + module_image.underlays += image(icon = 'icons/hud/radial.dmi', icon_state = "module_active") + if(!COOLDOWN_FINISHED(module, cooldown_timer)) + module_image.add_overlay(image(icon = 'icons/hud/radial.dmi', icon_state = "module_cooldown")) + items += list(module.name = module_image) + if(!length(items)) + return + var/radial_anchor = src + if(istype(user.loc, /obj/effect/dummy/phased_mob)) + radial_anchor = get_turf(user.loc) //they're phased out via some module, anchor the radial on the turf so it may still display + var/pick = show_radial_menu(user, radial_anchor, items, custom_check = FALSE, require_near = TRUE, tooltips = TRUE) + if(!pick) + return + var/module_reference = display_names[pick] + var/obj/item/mod/module/picked_module = locate(module_reference) in modules + if(!istype(picked_module)) + return + picked_module.on_select() + +/obj/item/mod/control/proc/shock(mob/living/user) + if(!istype(user) || get_charge() < 1) + return FALSE + do_sparks(5, TRUE, src) + var/check_range = TRUE + return electrocute_mob(user, get_charge_source(), src, 0.7, check_range) + +/obj/item/mod/control/proc/install(obj/item/mod/module/new_module, mob/user) + for(var/obj/item/mod/module/old_module as anything in modules) + if(is_type_in_list(new_module, old_module.incompatible_modules) || is_type_in_list(old_module, new_module.incompatible_modules)) + if(user) + balloon_alert(user, "[new_module] incompatible with [old_module]!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return + if(is_type_in_list(new_module, theme.module_blacklist)) + if(user) + balloon_alert(user, "[src] doesn't accept [new_module]!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return + var/complexity_with_module = complexity + complexity_with_module += new_module.complexity + if(complexity_with_module > complexity_max) + if(user) + balloon_alert(user, "[new_module] would make [src] too complex!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return + new_module.forceMove(src) + modules += new_module + complexity += new_module.complexity + new_module.mod = src + new_module.on_install() + if(wearer) + new_module.on_equip() + + if(user) + balloon_alert(user, "[new_module] added") + playsound(src, 'sound/machines/click.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE) + +/obj/item/mod/control/proc/uninstall(obj/item/mod/module/old_module, deleting = FALSE) + modules -= old_module + complexity -= old_module.complexity + if(active) + old_module.on_suit_deactivation(deleting = deleting) + if(old_module.active) + old_module.on_deactivation(display_message = !deleting, deleting = deleting) + old_module.on_uninstall(deleting = deleting) + QDEL_LIST_ASSOC_VAL(old_module.pinned_to) + old_module.mod = null + +/// Intended for callbacks, don't use normally, just get wearer by itself. +/obj/item/mod/control/proc/get_wearer() + return wearer + +/obj/item/mod/control/proc/update_access(mob/user, obj/item/card/id/card) + if(!allowed(user)) + balloon_alert(user, "insufficient access!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return + req_access = card.access.Copy() + balloon_alert(user, "access updated") + +/obj/item/mod/control/proc/get_charge_source() + return core?.charge_source() + +/obj/item/mod/control/proc/get_charge() + return core?.charge_amount() || 0 + +/obj/item/mod/control/proc/get_max_charge() + return core?.max_charge_amount() || 1 //avoid dividing by 0 + +/obj/item/mod/control/proc/get_charge_percent() + return ROUND_UP((get_charge() / get_max_charge()) * 100) + +/obj/item/mod/control/proc/add_charge(amount) + return core?.add_charge(amount) || FALSE + +/obj/item/mod/control/proc/subtract_charge(amount) + return core?.subtract_charge(amount) || FALSE + +/obj/item/mod/control/proc/check_charge(amount) + return core?.check_charge(amount) || FALSE + +/obj/item/mod/control/proc/update_charge_alert() + if(!wearer) + return + if(!core) + wearer.throw_alert("mod_charge", /atom/movable/screen/alert/nocore) + return + core.update_charge_alert() + +/obj/item/mod/control/proc/update_speed() + var/list/all_parts = mod_parts + src + for(var/obj/item/part as anything in all_parts) + part.slowdown = (active ? slowdown_active : slowdown_inactive) / length(all_parts) + wearer?.update_equipment_speed_mods() + +/obj/item/mod/control/proc/power_off() + balloon_alert(wearer, "Нет энергии!") + toggle_activate(wearer, force_deactivate = TRUE) + +/obj/item/mod/control/proc/set_mod_color(new_color) + var/list/all_parts = mod_parts + src + for(var/obj/item/part as anything in all_parts) + part.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) + part.add_atom_colour(new_color, FIXED_COLOUR_PRIORITY) + wearer?.regenerate_icons() + +/obj/item/mod/control/proc/set_mod_skin(new_skin) + if(active) + CRASH("[src] tried to set skin while active!") + skin = new_skin + var/list/used_skin = theme.skins[new_skin] + if(used_skin[CONTROL_LAYER]) + alternate_worn_layer = used_skin[CONTROL_LAYER] + var/list/skin_updating = mod_parts + src + for(var/obj/item/part as anything in skin_updating) + part.icon = used_skin[MOD_ICON_OVERRIDE] || 'icons/obj/clothing/modsuit/mod_clothing.dmi' + //part.mob_overlay_icon = used_skin[MOD_WORN_ICON_OVERRIDE] || 'icons/mob/clothing/modsuit/mod_clothing.dmi' + part.icon_state = "[skin]-[part.base_icon_state]" + for(var/obj/item/clothing/part as anything in mod_parts) + var/used_category + if(part == helmet) + used_category = HELMET_FLAGS + if(part == chestplate) + used_category = CHESTPLATE_FLAGS + if(part == gauntlets) + used_category = GAUNTLETS_FLAGS + if(part == boots) + used_category = BOOTS_FLAGS + var/list/category = used_skin[used_category] + part.clothing_flags = category[UNSEALED_CLOTHING] || NONE + part.visor_flags = category[SEALED_CLOTHING] || NONE + part.flags_inv = category[UNSEALED_INVISIBILITY] || NONE + part.visor_flags_inv = category[SEALED_INVISIBILITY] || NONE + part.flags_cover = category[UNSEALED_COVER] || NONE + part.visor_flags_cover = category[SEALED_COVER] || NONE + part.alternate_worn_layer = category[UNSEALED_LAYER] + mod_parts[part] = part.alternate_worn_layer + if(!category[CAN_OVERSLOT]) + if(overslotting_parts[part]) + var/obj/item/overslot = overslotting_parts[part] + overslot.forceMove(drop_location()) + overslotting_parts -= part + continue + overslotting_parts |= part + wearer?.regenerate_icons() + +/obj/item/mod/control/proc/on_exit(datum/source, atom/movable/part, direction) + SIGNAL_HANDLER + + if(part.loc == src) + return + if(part == core) + core.uninstall() + update_charge_alert() + return + if(part.loc == wearer) + return + if(part in modules) + uninstall(part) + return + if(part in mod_parts) + if(!wearer) + part.forceMove(src) + return + retract(wearer, part) + if(active) + INVOKE_ASYNC(src, PROC_REF(toggle_activate), wearer, TRUE) + +/obj/item/mod/control/proc/on_part_destruction(obj/item/part, damage_flag) + SIGNAL_HANDLER + + if(overslotting_parts[part]) + var/obj/item/overslot = overslotting_parts[part] + overslot.forceMove(drop_location()) + overslotting_parts[part] = null + if(QDELETED(src)) + return + obj_destruction(damage_flag) + +/obj/item/mod/control/proc/on_part_deletion(obj/item/part) + SIGNAL_HANDLER + + if(QDELETED(src)) + return + qdel(src) + +/obj/item/mod/control/proc/on_overslot_exit(datum/source, atom/movable/overslot, direction) + SIGNAL_HANDLER + + if(overslot != overslotting_parts[source]) + return + overslotting_parts[source] = null diff --git a/code/modules/mod/mod_core.dm b/code/modules/mod/mod_core.dm new file mode 100644 index 00000000000..4c9d16ef7b7 --- /dev/null +++ b/code/modules/mod/mod_core.dm @@ -0,0 +1,357 @@ +/obj/item/mod/core + name = "MOD core" + desc = "A non-functional MOD core. Inform the admins if you see this." + icon = 'icons/obj/clothing/modsuit/mod_construction.dmi' + icon_state = "mod-core" + item_state = "electronic" + lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' + /// MOD unit we are powering. + var/obj/item/mod/control/mod + +/obj/item/mod/core/Destroy() + if(mod) + uninstall() + return ..() + +/obj/item/mod/core/proc/install(obj/item/mod/control/mod_unit) + mod = mod_unit + mod.core = src + forceMove(mod) + +/obj/item/mod/core/proc/uninstall() + mod.core = null + mod = null + +/obj/item/mod/core/proc/charge_source() + return + +/obj/item/mod/core/proc/charge_amount() + return 0 + +/obj/item/mod/core/proc/max_charge_amount() + return 1 + +/obj/item/mod/core/proc/add_charge(amount) + return FALSE + +/obj/item/mod/core/proc/subtract_charge(amount) + return FALSE + +/obj/item/mod/core/proc/check_charge(amount) + return FALSE + +/obj/item/mod/core/proc/update_charge_alert() + mod.wearer.clear_alert("mod_charge") + +/obj/item/mod/core/infinite + name = "MOD infinite core" + icon_state = "mod-core-infinite" + desc = "A fusion core using the rare Fixium to sustain enough energy for the lifetime of the MOD's user. \ + This might be because of the slowly killing poison inside, but those are just rumors." + +/obj/item/mod/core/infinite/charge_source() + return src + +/obj/item/mod/core/infinite/charge_amount() + return INFINITY + +/obj/item/mod/core/infinite/max_charge_amount() + return INFINITY + +/obj/item/mod/core/infinite/add_charge(amount) + return TRUE + +/obj/item/mod/core/infinite/subtract_charge(amount) + return TRUE + +/obj/item/mod/core/infinite/check_charge(amount) + return TRUE + +/obj/item/mod/core/standard + name = "MOD standard core" + icon_state = "mod-core-standard" + desc = "Growing in the most lush, fertile areas of the planet Sprout, there is a crystal known as the Heartbloom. \ + These rare, organic piezoelectric crystals are of incredible cultural significance to the artist castes of the \ + Ethereals, owing to their appearance; which is exactly similar to that of an Ethereal's heart.\n\ + Which one you have in your suit is unclear, but either way, \ + it's been repurposed to be an internal power source for a Modular Outerwear Device." + /// Installed cell. + var/obj/item/stock_parts/cell/cell + +/obj/item/mod/core/standard/Destroy() + if(cell) + QDEL_NULL(cell) + return ..() + +/obj/item/mod/core/standard/install(obj/item/mod/control/mod_unit) + . = ..() + if(cell) + install_cell(cell) + RegisterSignal(mod, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) + RegisterSignal(mod, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_attack_hand)) + RegisterSignal(mod, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attackby)) + RegisterSignal(mod, COMSIG_MOD_WEARER_SET, PROC_REF(on_wearer_set)) + if(mod.wearer) + on_wearer_set(mod, mod.wearer) + +/obj/item/mod/core/standard/uninstall() + if(!QDELETED(cell)) + cell.forceMove(drop_location()) + UnregisterSignal(mod, list(COMSIG_PARENT_EXAMINE, COMSIG_ATOM_ATTACK_HAND, COMSIG_PARENT_ATTACKBY, COMSIG_MOD_WEARER_SET)) + if(mod.wearer) + on_wearer_unset(mod, mod.wearer) + return ..() + +/obj/item/mod/core/standard/charge_source() + return cell + +/obj/item/mod/core/standard/charge_amount() + var/obj/item/stock_parts/cell/charge_source = charge_source() + return charge_source?.charge || 0 + +/obj/item/mod/core/standard/max_charge_amount(amount) + var/obj/item/stock_parts/cell/charge_source = charge_source() + return charge_source?.maxcharge || 1 + +/obj/item/mod/core/standard/add_charge(amount) + var/obj/item/stock_parts/cell/charge_source = charge_source() + if(!charge_source) + return FALSE + return charge_source.give(amount) + +/obj/item/mod/core/standard/subtract_charge(amount) + var/obj/item/stock_parts/cell/charge_source = charge_source() + if(!charge_source) + return FALSE + return charge_source.use(amount, TRUE) + +/obj/item/mod/core/standard/check_charge(amount) + return charge_amount() >= amount + +/obj/item/mod/core/standard/update_charge_alert() + var/obj/item/stock_parts/cell/charge_source = charge_source() + if(!charge_source) + mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/nocell) + return + var/remaining_cell = charge_amount() / max_charge_amount() + switch(remaining_cell) + if(0.75 to INFINITY) + mod.wearer.clear_alert("mod_charge") + if(0.5 to 0.75) + mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/lowcell, 1) + if(0.25 to 0.5) + mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/lowcell, 2) + if(0.01 to 0.25) + mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/lowcell, 3) + else + mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/emptycell) + +/obj/item/mod/core/standard/proc/install_cell(new_cell) + cell = new_cell + cell.forceMove(src) + RegisterSignal(src, COMSIG_ATOM_EXITED, PROC_REF(on_exit)) + +/obj/item/mod/core/standard/proc/uninstall_cell() + if(!cell) + return + cell = null + UnregisterSignal(src, COMSIG_ATOM_EXITED) + +/obj/item/mod/core/standard/proc/on_exit(datum/source, obj/item/stock_parts/cell, direction) + SIGNAL_HANDLER + + if(!istype(cell) || cell.loc == src) + return + uninstall_cell() + +/obj/item/mod/core/standard/proc/on_examine(datum/source, mob/examiner, list/examine_text) + SIGNAL_HANDLER + + if(!mod.open) + return + examine_text += cell ? "You could remove the cell with an empty hand." : "You could use a cell on it to install one." + +/obj/item/mod/core/standard/proc/on_attack_hand(datum/source, mob/living/user) + SIGNAL_HANDLER + + if(mod.seconds_electrified && charge_amount() && mod.shock(user)) + return COMPONENT_CANCEL_ATTACK_CHAIN + if(mod.open && mod.loc == user) + INVOKE_ASYNC(src, PROC_REF(mod_uninstall_cell), user) + return COMPONENT_CANCEL_ATTACK_CHAIN + return NONE + +/obj/item/mod/core/standard/proc/mod_uninstall_cell(mob/living/user) + if(!cell) + mod.balloon_alert(user, "no cell!") + return + mod.balloon_alert(user, "removing cell...") + if(!do_after(user, 1.5 SECONDS, target = mod)) + mod.balloon_alert(user, "interrupted!") + return + mod.balloon_alert(user, "cell removed") + playsound(mod, 'sound/machines/click.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE) + var/obj/item/cell_to_move = cell + cell_to_move.forceMove(drop_location()) + user.put_in_hands(cell_to_move) + mod.update_charge_alert() + +/obj/item/mod/core/standard/proc/on_attackby(datum/source, obj/item/attacking_item, mob/user) + SIGNAL_HANDLER + + if(istype(attacking_item, /obj/item/stock_parts/cell)) + if(!mod.open) + mod.balloon_alert(user, "open the cover first!") + playsound(mod, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return NONE + if(cell) + mod.balloon_alert(user, "cell already installed!") + playsound(mod, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return COMPONENT_NO_AFTERATTACK + install_cell(attacking_item) + mod.balloon_alert(user, "cell installed") + playsound(mod, 'sound/machines/click.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE) + mod.update_charge_alert() + return COMPONENT_NO_AFTERATTACK + return NONE + +/obj/item/mod/core/standard/proc/on_wearer_set(datum/source, mob/user) + SIGNAL_HANDLER + + RegisterSignal(mod.wearer, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, PROC_REF(on_borg_charge)) + RegisterSignal(mod, COMSIG_MOD_WEARER_UNSET, PROC_REF(on_wearer_unset)) + +/obj/item/mod/core/standard/proc/on_wearer_unset(datum/source, mob/user) + SIGNAL_HANDLER + + UnregisterSignal(mod.wearer, COMSIG_PROCESS_BORGCHARGER_OCCUPANT) + UnregisterSignal(mod, COMSIG_MOD_WEARER_UNSET) + +/obj/item/mod/core/standard/proc/on_borg_charge(datum/source, amount) + SIGNAL_HANDLER + + add_charge(amount) + mod.update_charge_alert() + +/obj/item/mod/core/ethereal + name = "MOD ethereal core" + icon_state = "mod-core-ethereal" + desc = "A reverse engineered core of a Modular Outerwear Device. Using natural liquid electricity from Ethereals, \ + preventing the need to use external sources to convert electric charge." + /// A modifier to all charge we use, ethereals don't need to spend as much energy as normal suits. + var/charge_modifier = 0.1 + +/obj/item/mod/core/ethereal/charge_source() + var/obj/item/organ/stomach/ethereal/ethereal_stomach = mod.wearer.getorganslot(ORGAN_SLOT_STOMACH) + if(!istype(ethereal_stomach)) + return + return ethereal_stomach + +/obj/item/mod/core/ethereal/charge_amount() + var/obj/item/organ/stomach/ethereal/charge_source = charge_source() + return charge_source?.crystal_charge || ELZUOSE_CHARGE_NONE + +/obj/item/mod/core/ethereal/max_charge_amount() + return ELZUOSE_CHARGE_FULL + +/obj/item/mod/core/ethereal/add_charge(amount) + var/obj/item/organ/stomach/ethereal/charge_source = charge_source() + if(!charge_source) + return FALSE + charge_source.adjust_charge(amount*charge_modifier) + return TRUE + +/obj/item/mod/core/ethereal/subtract_charge(amount) + var/obj/item/organ/stomach/ethereal/charge_source = charge_source() + if(!charge_source) + return FALSE + charge_source.adjust_charge(-amount*charge_modifier) + return TRUE + +/obj/item/mod/core/ethereal/check_charge(amount) + return charge_amount() >= amount*charge_modifier + +/obj/item/mod/core/ethereal/update_charge_alert() + var/obj/item/organ/stomach/ethereal/charge_source = charge_source() + if(charge_source) + mod.wearer.clear_alert("mod_charge") + return + mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/nocell) + +/obj/item/mod/core/plasma + name = "MOD plasma core" + icon_state = "mod-core-plasma" + desc = "Nanotrasen's attempt at capitalizing on their plasma research. These plasma cores are refueled \ + through plasma ore, allowing for easy continued use by their mining squads." + /// How much charge we can store. + var/maxcharge = 10000 + /// How much charge we are currently storing. + var/charge = 10000 + /// Associated list of charge sources and how much they charge, only stacks allowed. + var/list/charger_list = list(/obj/item/stack/ore/plasma = 1500, /obj/item/stack/sheet/mineral/plasma = 2000) + +/obj/item/mod/core/plasma/install(obj/item/mod/control/mod_unit) + . = ..() + RegisterSignal(mod, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attackby)) + +/obj/item/mod/core/plasma/uninstall() + UnregisterSignal(mod, COMSIG_PARENT_ATTACKBY) + return ..() + +/obj/item/mod/core/plasma/attackby(obj/item/attacking_item, mob/user, params) + if(charge_plasma(attacking_item, user)) + return TRUE + return ..() + +/obj/item/mod/core/plasma/charge_source() + return src + +/obj/item/mod/core/plasma/charge_amount() + return charge + +/obj/item/mod/core/plasma/max_charge_amount() + return maxcharge + +/obj/item/mod/core/plasma/add_charge(amount) + charge = min(maxcharge, charge + amount) + return TRUE + +/obj/item/mod/core/plasma/subtract_charge(amount) + charge = max(0, charge - amount) + return TRUE + +/obj/item/mod/core/plasma/check_charge(amount) + return charge_amount() >= amount + +/obj/item/mod/core/plasma/update_charge_alert() + var/remaining_plasma = charge_amount() / max_charge_amount() + switch(remaining_plasma) + if(0.75 to INFINITY) + mod.wearer.clear_alert("mod_charge") + if(0.5 to 0.75) + mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/lowcell/plasma, 1) + if(0.25 to 0.5) + mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/lowcell/plasma, 2) + if(0.01 to 0.25) + mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/lowcell/plasma, 3) + else + mod.wearer.throw_alert("mod_charge", /atom/movable/screen/alert/emptycell/plasma) + +/obj/item/mod/core/plasma/proc/on_attackby(datum/source, obj/item/attacking_item, mob/user) + SIGNAL_HANDLER + + if(charge_plasma(attacking_item, user)) + return COMPONENT_NO_AFTERATTACK + return NONE + +/obj/item/mod/core/plasma/proc/charge_plasma(obj/item/stack/plasma, mob/user) + var/charge_given = is_type_in_list(plasma, charger_list, zebra = TRUE) + if(!charge_given) + return FALSE + var/uses_needed = min(plasma.amount, ROUND_UP((max_charge_amount() - charge_amount()) / charge_given)) + if(!plasma.use(uses_needed)) + return FALSE + add_charge(uses_needed * charge_given) + balloon_alert(user, "core refueled") + return TRUE diff --git a/code/modules/mod/mod_paint.dm b/code/modules/mod/mod_paint.dm new file mode 100644 index 00000000000..aead577224b --- /dev/null +++ b/code/modules/mod/mod_paint.dm @@ -0,0 +1,192 @@ +#define MODPAINT_MAX_COLOR_VALUE 1.25 +#define MODPAINT_MIN_COLOR_VALUE 0 +#define MODPAINT_MAX_SECTION_COLORS 2 +#define MODPAINT_MIN_SECTION_COLORS 0.25 +#define MODPAINT_MAX_OVERALL_COLORS 4 +#define MODPAINT_MIN_OVERALL_COLORS 1.5 + +/obj/item/mod/paint + name = "MOD paint kit" + desc = "This kit will repaint your MODsuit to something unique." + icon = 'icons/obj/clothing/modsuit/mod_construction.dmi' + icon_state = "paintkit" + var/obj/item/mod/control/editing_mod + var/atom/movable/screen/map_view/proxy_view + var/list/current_color + +/obj/item/mod/paint/Initialize(mapload) + . = ..() + current_color = color_matrix_identity() + +/obj/item/mod/paint/examine(mob/user) + . = ..() + . += span_notice("Left-click a MODsuit to change skin.") + //. += span_notice("Right-click a MODsuit to recolor.") + +/obj/item/mod/paint/pre_attack(atom/attacked_atom, mob/living/user, params) + if(!istype(attacked_atom, /obj/item/mod/control)) + return ..() + var/obj/item/mod/control/mod = attacked_atom + if(mod.active || mod.activating) + balloon_alert(user, "suit is active!") + return TRUE + paint_skin(mod, user) + +/*obj/item/mod/paint/pre_attack_secondary(atom/attacked_atom, mob/living/user, params) + if(!istype(attacked_atom, /obj/item/mod/control)) + return .() + var/obj/item/mod/control/mod = attacked_atom + if(mod.active || mod.activating) + balloon_alert(user, "suit is active!") + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + if(editing_mod) + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + editing_mod = mod + proxy_view = new() + proxy_view.generate_view("color_matrix_proxy_[REF(user.client)]") + + proxy_view.appearance = editing_mod.appearance + proxy_view.color = null + proxy_view.display_to(user) + ui_interact(user) + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN*/ + +/obj/item/mod/paint/ui_interact(mob/user, datum/tgui/ui) + if(!editing_mod) + return + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "MODpaint", name) + ui.open() + +/obj/item/mod/paint/ui_host() + return editing_mod + +/obj/item/mod/paint/ui_close(mob/user) + . = ..() + editing_mod = null + QDEL_NULL(proxy_view) + current_color = color_matrix_identity() + +/obj/item/mod/paint/ui_status(mob/user) + if(check_menu(editing_mod, user)) + return ..() + return UI_CLOSE + +/obj/item/mod/paint/ui_static_data(mob/user) + var/list/data = list() + data["mapRef"] = proxy_view.assigned_map + return data + +/obj/item/mod/paint/ui_data(mob/user) + var/list/data = list() + data["currentColor"] = current_color + return data + +/obj/item/mod/paint/ui_act(action, list/params) + . = ..() + if(.) + return + switch(action) + if("transition_color") + current_color = params["color"] + animate(proxy_view, time = 0.5 SECONDS, color = current_color) + if("confirm") + if(length(current_color) != 20) //20 is the length of a matrix identity list + return + for(var/color_value in current_color) + if(isnum(color_value)) + continue + return + var/total_color_value = 0 + var/list/total_colors = current_color.Copy() + total_colors.Cut(13, length(total_colors)) // 13 to 20 are just a and c, dont want to count them + var/red_value = current_color[1] + current_color[5] + current_color[9] //rr + gr + br + var/green_value = current_color[2] + current_color[6] + current_color[10] //rg + gg + bg + var/blue_value = current_color[3] + current_color[7] + current_color[11] //rb + gb + bb + if(red_value > MODPAINT_MAX_SECTION_COLORS) + balloon_alert(usr, "total red too high! ([red_value*100]%/[MODPAINT_MAX_SECTION_COLORS*100]%)") + return + else if(red_value < MODPAINT_MIN_SECTION_COLORS) + balloon_alert(usr, "total red too low! ([red_value*100]%/[MODPAINT_MIN_SECTION_COLORS*100]%)") + return + if(green_value > MODPAINT_MAX_SECTION_COLORS) + balloon_alert(usr, "total green too high! ([green_value*100]%/[MODPAINT_MAX_SECTION_COLORS*100]%)") + return + else if(green_value < MODPAINT_MIN_SECTION_COLORS) + balloon_alert(usr, "total green too low! ([green_value*100]%/[MODPAINT_MIN_SECTION_COLORS*100]%)") + return + if(blue_value > MODPAINT_MAX_SECTION_COLORS) + balloon_alert(usr, "total blue too high! ([blue_value*100]%/[MODPAINT_MAX_SECTION_COLORS*100]%)") + return + else if(blue_value < MODPAINT_MIN_SECTION_COLORS) + balloon_alert(usr, "total blue too low! ([blue_value*100]%/[MODPAINT_MIN_SECTION_COLORS*100]%)") + return + for(var/color_value in total_colors) + total_color_value += color_value + if(color_value > MODPAINT_MAX_COLOR_VALUE) + balloon_alert(usr, "one of colors too high! ([color_value*100]%/[MODPAINT_MAX_COLOR_VALUE*100]%") + return + else if(color_value < MODPAINT_MIN_COLOR_VALUE) + balloon_alert(usr, "one of colors too low! ([color_value*100]%/[MODPAINT_MIN_COLOR_VALUE*100]%") + return + if(total_color_value > MODPAINT_MAX_OVERALL_COLORS) + balloon_alert(usr, "total colors too high! ([total_color_value*100]%/[MODPAINT_MAX_OVERALL_COLORS*100]%)") + return + else if(total_color_value < MODPAINT_MIN_OVERALL_COLORS) + balloon_alert(usr, "total colors too low! ([total_color_value*100]%/[MODPAINT_MIN_OVERALL_COLORS*100]%)") + return + editing_mod.set_mod_color(current_color) + SStgui.close_uis(src) + +/obj/item/mod/paint/proc/paint_skin(obj/item/mod/control/mod, mob/user) + if(length(mod.theme.skins) <= 1) + balloon_alert(user, "no alternate skins!") + return + var/list/skins = list() + for(var/mod_skin in mod.theme.skins) + skins[mod_skin] = image(icon = mod.icon, icon_state = "[mod_skin]-control") + var/pick = show_radial_menu(user, mod, skins, custom_check = CALLBACK(src, PROC_REF(check_menu), mod, user), require_near = TRUE) + if(!pick) + balloon_alert(user, "no skin picked!") + return + mod.set_mod_skin(pick) + +/obj/item/mod/paint/proc/check_menu(obj/item/mod/control/mod, mob/user) + if(user.incapacitated() || !user.is_holding(src) || !mod || mod.active || mod.activating) + return FALSE + return TRUE + +#undef MODPAINT_MAX_COLOR_VALUE +#undef MODPAINT_MIN_COLOR_VALUE +#undef MODPAINT_MAX_SECTION_COLORS +#undef MODPAINT_MIN_SECTION_COLORS +#undef MODPAINT_MAX_OVERALL_COLORS +#undef MODPAINT_MIN_OVERALL_COLORS + +/obj/item/mod/skin_applier + name = "MOD skin applier" + desc = "This one-use skin applier will add a skin to MODsuits of a specific type." + icon = 'icons/obj/clothing/modsuit/mod_construction.dmi' + icon_state = "skinapplier" + var/skin = "civilian" + var/compatible_theme = /datum/mod_theme + +/obj/item/mod/skin_applier/Initialize(mapload) + . = ..() + name = "MOD [skin] skin applier" + +/obj/item/mod/skin_applier/pre_attack(atom/attacked_atom, mob/living/user, params) + if(!istype(attacked_atom, /obj/item/mod/control)) + return ..() + var/obj/item/mod/control/mod = attacked_atom + if(mod.active || mod.activating) + balloon_alert(user, "suit is active!") + return TRUE + if(!istype(mod.theme, compatible_theme)) + balloon_alert(user, "incompatible theme!") + return TRUE + mod.set_mod_skin(skin) + balloon_alert(user, "skin applied") + qdel(src) + return TRUE diff --git a/code/modules/mod/mod_theme.dm b/code/modules/mod/mod_theme.dm new file mode 100644 index 00000000000..4643fa93920 --- /dev/null +++ b/code/modules/mod/mod_theme.dm @@ -0,0 +1,1154 @@ +/// Global proc that sets up all MOD themes as singletons in a list and returns it. +/proc/setup_mod_themes() + . = list() + for(var/path in typesof(/datum/mod_theme)) + var/datum/mod_theme/new_theme = new path() + .[path] = new_theme + +/// MODsuit theme, instanced once and then used by MODsuits to grab various statistics. +/datum/mod_theme + /// Theme name for the MOD. + var/name = "standard" + /// Description added to the MOD. + var/desc = "A MOD suit. Placeholder Desc" + /// Extended description on examine_more + var/extended_desc = "Placeholder Desc" + /// Default skin of the MOD. + var/default_skin = "standard" + /// The slot this mod theme fits on + var/slot_flags = ITEM_SLOT_BACK + /// Armor shared across the MOD parts. + var/armor = list("melee" = 10, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 0, "bio" = 100, "fire" = 25, "acid" = 25) + /// Resistance flags shared across the MOD parts. + var/resistance_flags = NONE + /// Atom flags shared across the MOD parts. + var/atom_flags = NONE + /// Max heat protection shared across the MOD parts. + var/max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT + /// Max cold protection shared across the MOD parts. + var/min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + /// Siemens shared across the MOD parts. + var/siemens_coefficient = 0.5 + /// How much modules can the MOD carry without malfunctioning. + var/complexity_max = DEFAULT_MAX_COMPLEXITY + /// How much battery power the MOD uses by just being on + var/charge_drain = DEFAULT_CHARGE_DRAIN + /// Slowdown of the MOD when not active. + var/slowdown_inactive = 1.25 + /// Slowdown of the MOD when active. + var/slowdown_active = 0.75 + /// Theme used by the MOD TGUI. + var/ui_theme = "ntos" + /// List of inbuilt modules. These are different from the pre-equipped suits, you should mainly use these for unremovable modules with 0 complexity. + var/list/inbuilt_modules = list() + /// Modules blacklisted from the MOD. + var/list/module_blacklist = list() + /// Allowed items in the chestplate's suit storage. + var/list/allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + ) + /// List of skins with their appropriate clothing flags. + var/list/skins = list( + "standard" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = NECK_LAYER, + UNSEALED_CLOTHING = SNUG_FIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + "civilian" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/engineering + name = "engineering" + default_skin = "engineering" + armor = list("melee" = 10, "bullet" = 5, "laser" = 20, "energy" = 10, "bomb" = 10, "bio" = 100, "fire" = 100, "acid" = 25) + resistance_flags = FIRE_PROOF + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + siemens_coefficient = 0 + slowdown_inactive = 1.5 + slowdown_active = 1 + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/construction/rcd, + /obj/item/storage/bag/construction, + ) + skins = list( + "engineering" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = NECK_LAYER, + UNSEALED_CLOTHING = SNUG_FIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/atmospheric + name = "atmospheric" + default_skin = "atmospheric" + armor = list("melee" = 10, "bullet" = 5, "laser" = 10, "energy" = 15, "bomb" = 10, "bio" = 100, "fire" = 100, "acid" = 75) + resistance_flags = FIRE_PROOF + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + slowdown_inactive = 1.5 + slowdown_active = 1 + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/analyzer, + /obj/item/t_scanner, + /obj/item/pipe_dispenser, + ) + skins = list( + "atmospheric" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = NECK_LAYER, + UNSEALED_CLOTHING = SNUG_FIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDESNOUT, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR, + UNSEALED_COVER = HEADCOVERSMOUTH, + SEALED_COVER = HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/advanced + name = "advanced" + default_skin = "advanced" + armor = list("melee" = 15, "bullet" = 5, "laser" = 20, "energy" = 15, "bomb" = 50, "bio" = 100, "fire" = 100, "acid" = 90) + resistance_flags = FIRE_PROOF + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + slowdown_inactive = 1 + slowdown_active = 0.5 + inbuilt_modules = list(/obj/item/mod/module/magboot/advanced) + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/analyzer, + /obj/item/t_scanner, + /obj/item/pipe_dispenser, + /obj/item/construction/rcd, + /obj/item/storage/bag/construction, + /obj/item/melee/classic_baton/telescopic, + ) + skins = list( + "advanced" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = NECK_LAYER, + UNSEALED_CLOTHING = SNUG_FIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/mining + name = "mining" + default_skin = "mining" + armor = list("melee" = 15, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 30, "bio" = 100, "fire" = 100, "acid" = 75) + resistance_flags = FIRE_PROOF|LAVA_PROOF + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + complexity_max = DEFAULT_MAX_COMPLEXITY - 5 + charge_drain = DEFAULT_CHARGE_DRAIN * 2 + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/resonator, + /obj/item/mining_scanner, + /obj/item/t_scanner/adv_mining_scanner, + /obj/item/pickaxe, + /obj/item/kinetic_crusher, + /obj/item/stack/ore/plasma, + /obj/item/storage/bag/ore, + ) + inbuilt_modules = list() + skins = list( + "mining" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE|HIDEFACIALHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + "asteroid" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, + SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/loader + name = "loader" + default_skin = "loader" + armor = list("melee" = 15, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 10, "bio" = 10, "fire" = 25, "acid" = 25) + max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT + min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT + siemens_coefficient = 0.25 + complexity_max = DEFAULT_MAX_COMPLEXITY - 5 + slowdown_inactive = 0.5 + slowdown_active = 0 + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/paper + ) + inbuilt_modules = list(/obj/item/mod/module/clamp/loader, /obj/item/mod/module/magnet) + skins = list( + "loader" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, + UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, + SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEYES|HIDEFACE|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + ), + GAUNTLETS_FLAGS = list( + SEALED_CLOTHING = THICKMATERIAL, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + SEALED_CLOTHING = THICKMATERIAL, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/medical + name = "medical" + default_skin = "medical" + armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 10, "bio" = 100, "fire" = 60, "acid" = 75) + charge_drain = DEFAULT_CHARGE_DRAIN * 1.5 + slowdown_inactive = 1 + slowdown_active = 0.5 + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/healthanalyzer, + /obj/item/reagent_containers/dropper, + /obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/glass/bottle, + /obj/item/reagent_containers/hypospray, + /obj/item/reagent_containers/pill, + /obj/item/reagent_containers/syringe, + /obj/item/stack/medical, + /obj/item/sensor_device, + /obj/item/storage/pill_bottle, + /obj/item/storage/bag/chemistry, + /obj/item/storage/bag/bio, + ) + skins = list( + "medical" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = NECK_LAYER, + UNSEALED_CLOTHING = SNUG_FIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + "corpsman" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = NECK_LAYER, + UNSEALED_CLOTHING = SNUG_FIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/rescue + name = "rescue" + default_skin = "rescue" + armor = list("melee" = 10, "bullet" = 10, "laser" = 5, "energy" = 5, "bomb" = 10, "bio" = 100, "fire" = 100, "acid" = 100) + resistance_flags = FIRE_PROOF|ACID_PROOF + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + charge_drain = DEFAULT_CHARGE_DRAIN * 1.5 + slowdown_inactive = 0.75 + slowdown_active = 0.25 + inbuilt_modules = list(/obj/item/mod/module/quick_carry/advanced) + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/healthanalyzer, + /obj/item/reagent_containers/dropper, + /obj/item/reagent_containers/glass/beaker, + /obj/item/reagent_containers/glass/bottle, + /obj/item/reagent_containers/hypospray, + /obj/item/reagent_containers/pill, + /obj/item/reagent_containers/syringe, + /obj/item/stack/medical, + /obj/item/sensor_device, + /obj/item/storage/pill_bottle, + /obj/item/storage/bag/chemistry, + /obj/item/storage/bag/bio, + /obj/item/melee/classic_baton/telescopic, + ) + skins = list( + "rescue" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = NECK_LAYER, + UNSEALED_CLOTHING = SNUG_FIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/research + name = "research" + default_skin = "research" + armor = list("melee" = 20, "bullet" = 15, "laser" = 5, "energy" = 5, "bomb" = 100, "bio" = 100, "fire" = 100, "acid" = 100) + resistance_flags = FIRE_PROOF|ACID_PROOF + atom_flags = PREVENT_CONTENTS_EXPLOSION_1 + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + complexity_max = DEFAULT_MAX_COMPLEXITY + 5 + slowdown_inactive = 1.75 + slowdown_active = 1.25 + inbuilt_modules = list(/obj/item/mod/module/reagent_scanner/advanced) + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/analyzer, + /obj/item/dnainjector, + /obj/item/storage/bag/bio, + /obj/item/melee/classic_baton/telescopic, + ) + skins = list( + "research" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/security + name = "security" + default_skin = "security" + armor = list("melee" = 15, "bullet" = 15, "laser" = 15, "energy" = 15, "bomb" = 25, "bio" = 100, "fire" = 75, "acid" = 75) + complexity_max = DEFAULT_MAX_COMPLEXITY - 3 + slowdown_inactive = 1 + slowdown_active = 0.5 + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/reagent_containers/spray/pepper, + /obj/item/restraints/handcuffs, + /obj/item/assembly/flash, + /obj/item/melee/baton, + ) + skins = list( + "security" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, + SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, + UNSEALED_COVER = HEADCOVERSMOUTH, + SEALED_COVER = HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/safeguard + name = "safeguard" + default_skin = "safeguard" + armor = list("melee" = 15, "bullet" = 15, "laser" = 15, "energy" = 15, "bomb" = 40, "bio" = 100, "fire" = 100, "acid" = 95) + resistance_flags = FIRE_PROOF + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + slowdown_inactive = 0.75 + slowdown_active = 0.25 + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/reagent_containers/spray/pepper, + /obj/item/restraints/handcuffs, + /obj/item/assembly/flash, + /obj/item/melee/baton, + ) + skins = list( + "safeguard" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/magnate + name = "magnate" + default_skin = "magnate" + armor = list("melee" = 20, "bullet" = 15, "laser" = 15, "energy" = 15, "bomb" = 50, "bio" = 100, "fire" = 100, "acid" = 100) + resistance_flags = FIRE_PROOF|ACID_PROOF + atom_flags = PREVENT_CONTENTS_EXPLOSION_1 + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + complexity_max = DEFAULT_MAX_COMPLEXITY + 5 + slowdown_inactive = 0.75 + slowdown_active = 0.25 + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/restraints/handcuffs, + /obj/item/assembly/flash, + /obj/item/melee/baton, + ) + skins = list( + "magnate" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = NECK_LAYER, + UNSEALED_CLOTHING = SNUG_FIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/syndicate + name = "syndicate" + default_skin = "syndicate" + armor = list("melee" = 15, "bullet" = 20, "laser" = 15, "energy" = 15, "bomb" = 35, "bio" = 100, "fire" = 50, "acid" = 90) + atom_flags = PREVENT_CONTENTS_EXPLOSION_1 + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + siemens_coefficient = 0 + slowdown_inactive = 1 + slowdown_active = 0.5 + ui_theme = "syndicate" + inbuilt_modules = list(/obj/item/mod/module/armor_booster) + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/restraints/handcuffs, + /obj/item/assembly/flash, + /obj/item/melee/baton, + /obj/item/melee/energy/sword, + /obj/item/shield/energy, + ) + skins = list( + "syndicate" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = NECK_LAYER, + UNSEALED_CLOTHING = SNUG_FIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/elite + name = "elite" + default_skin = "elite" + armor = list("melee" = 35, "bullet" = 30, "laser" = 35, "energy" = 35, "bomb" = 55, "bio" = 100, "fire" = 100, "acid" = 100) + resistance_flags = FIRE_PROOF|ACID_PROOF + atom_flags = PREVENT_CONTENTS_EXPLOSION_1 + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + slowdown_inactive = 1 + slowdown_active = 0.5 + ui_theme = "syndicate" + inbuilt_modules = list(/obj/item/mod/module/armor_booster) + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/restraints/handcuffs, + /obj/item/assembly/flash, + /obj/item/melee/baton, + /obj/item/melee/energy/sword, + /obj/item/shield/energy, + ) + skins = list( + "elite" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/ninja + name = "ninja" + default_skin = "ninja" + armor = list("melee" = 40, "bullet" = 30, "laser" = 20, "energy" = 30, "bomb" = 30, "bio" = 100, "fire" = 100, "acid" = 100) + resistance_flags = LAVA_PROOF|FIRE_PROOF|ACID_PROOF + charge_drain = DEFAULT_CHARGE_DRAIN * 0.5 + siemens_coefficient = 0 + slowdown_inactive = 0.5 + slowdown_active = 0 + ui_theme = "hackerman" + inbuilt_modules = list(/obj/item/mod/module/welding/camera_vision, /obj/item/mod/module/hacker, /obj/item/mod/module/weapon_recall, /obj/item/mod/module/adrenaline_boost, /obj/item/mod/module/energy_net) + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/gun, + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/melee/baton, + /obj/item/restraints/handcuffs, + ) + skins = list( + "ninja" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, + SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEYES|HIDEFACE|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/prototype + name = "prototype" + default_skin = "prototype" + armor = list("melee" = 20, "bullet" = 5, "laser" = 10, "energy" = 10, "bomb" = 50, "bio" = 100, "fire" = 100, "acid" = 75) + resistance_flags = FIRE_PROOF + siemens_coefficient = 0 + complexity_max = DEFAULT_MAX_COMPLEXITY + 5 + charge_drain = DEFAULT_CHARGE_DRAIN * 2 + slowdown_inactive = 2 + slowdown_active = 1.5 + ui_theme = "hackerman" + //inbuilt_modules = list(/obj/item/mod/module/anomaly_locked/kinesis/prebuilt/prototype) + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/analyzer, + /obj/item/t_scanner, + /obj/item/pipe_dispenser, + /obj/item/construction/rcd, + ) + skins = list( + "prototype" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/responsory + name = "responsory" + default_skin = "responsory" + armor = list("melee" = 50, "bullet" = 40, "laser" = 50, "energy" = 50, "bomb" = 50, "bio" = 100, "fire" = 100, "acid" = 90) + atom_flags = PREVENT_CONTENTS_EXPLOSION_1 + resistance_flags = FIRE_PROOF + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + slowdown_inactive = 0.5 + slowdown_active = 0 + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/restraints/handcuffs, + /obj/item/assembly/flash, + /obj/item/melee/baton, + ) + skins = list( + "responsory" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = NECK_LAYER, + UNSEALED_CLOTHING = SNUG_FIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + "inquisitory" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/apocryphal + name = "apocryphal" + default_skin = "apocryphal" + armor = list("melee" = 80, "bullet" = 80, "laser" = 50, "energy" = 60, "bomb" = 100, "bio" = 100, "fire" = 100, "acid" = 100) + resistance_flags = FIRE_PROOF|ACID_PROOF + atom_flags = PREVENT_CONTENTS_EXPLOSION_1 + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + complexity_max = DEFAULT_MAX_COMPLEXITY + 10 + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/restraints/handcuffs, + /obj/item/assembly/flash, + /obj/item/melee/baton, + /obj/item/melee/energy/sword, + /obj/item/shield/energy, + ) + skins = list( + "apocryphal" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, + SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEYES|HIDEFACE|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/corporate + name = "corporate" + default_skin = "corporate" + armor = list("melee" = 50, "bullet" = 40, "laser" = 50, "energy" = 50, "bomb" = 50, "bio" = 100, "fire" = 100, "acid" = 100) + resistance_flags = FIRE_PROOF|ACID_PROOF + atom_flags = PREVENT_CONTENTS_EXPLOSION_1 + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + slowdown_inactive = 0.5 + slowdown_active = 0 + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/restraints/handcuffs, + /obj/item/assembly/flash, + /obj/item/melee/baton, + ) + skins = list( + "corporate" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, + SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/chrono + name = "chrono" + default_skin = "chrono" + armor = list("melee" = 60, "bullet" = 60, "laser" = 60, "energy" = 60, "bomb" = 30, "bio" = 100, "fire" = 100, "acid" = 100) + resistance_flags = FIRE_PROOF|ACID_PROOF + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + complexity_max = DEFAULT_MAX_COMPLEXITY - 10 + slowdown_inactive = 0 + slowdown_active = 0 + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/restraints/handcuffs, + ) + skins = list( + "chrono" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = NECK_LAYER, + UNSEALED_CLOTHING = SNUG_FIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/debug + name = "debug" + default_skin = "debug" + armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 100, "bio" = 100, "fire" = 100, "acid" = 100) + resistance_flags = FIRE_PROOF|ACID_PROOF + atom_flags = PREVENT_CONTENTS_EXPLOSION_1 + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + complexity_max = 50 + siemens_coefficient = 0 + slowdown_inactive = 0.5 + slowdown_active = 0 + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/gun, + ) + skins = list( + "debug" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE, + UNSEALED_COVER = HEADCOVERSMOUTH, + SEALED_COVER = HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/datum/mod_theme/administrative + name = "administrative" + default_skin = "debug" + armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 100, "bio" = 100, "fire" = 100, "acid" = 100) + resistance_flags = INDESTRUCTIBLE|LAVA_PROOF|FIRE_PROOF|UNACIDABLE|ACID_PROOF + atom_flags = PREVENT_CONTENTS_EXPLOSION_1 + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + complexity_max = 1000 + charge_drain = DEFAULT_CHARGE_DRAIN * 0 + siemens_coefficient = 0 + slowdown_inactive = 0 + slowdown_active = 0 + allowed_suit_storage = list( + /obj/item/flashlight, + /obj/item/tank/internals, + /obj/item/gun, + ) + skins = list( + "debug" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE, + UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCKS_SHOVE_KNOCKDOWN, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) diff --git a/code/modules/mod/mod_types.dm b/code/modules/mod/mod_types.dm new file mode 100644 index 00000000000..6cd33197e42 --- /dev/null +++ b/code/modules/mod/mod_types.dm @@ -0,0 +1,331 @@ +/obj/item/mod/control/pre_equipped + /// The skin we apply to the suit, defaults to the default_skin of the theme. + var/applied_skin + /// The MOD core we apply to the suit. + var/applied_core = /obj/item/mod/core/standard + /// The cell we apply to the core. Only applies to standard core suits. + var/applied_cell = /obj/item/stock_parts/cell/high + +/obj/item/mod/control/pre_equipped/Initialize(mapload, new_theme, new_skin, new_core) + new_skin = applied_skin + new_core = new applied_core(src) + if(istype(new_core, /obj/item/mod/core/standard)) + var/obj/item/mod/core/standard/cell_core = new_core + cell_core.cell = new applied_cell() + return ..() + +/obj/item/mod/control/pre_equipped/standard + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/flashlight, + ) + +/obj/item/mod/control/pre_equipped/engineering + theme = /datum/mod_theme/engineering + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/magboot, + ) + +/obj/item/mod/control/pre_equipped/atmospheric + theme = /datum/mod_theme/atmospheric + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/t_ray, + ) + +/obj/item/mod/control/pre_equipped/advanced + theme = /datum/mod_theme/advanced + applied_cell = /obj/item/stock_parts/cell/super + initial_modules = list( + /obj/item/mod/module/storage/large_capacity, + /obj/item/mod/module/welding, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/jetpack, + ) + +/obj/item/mod/control/pre_equipped/loader + theme = /datum/mod_theme/loader + initial_modules = list( + /obj/item/mod/module/storage/large_capacity, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/paper_dispenser, + /obj/item/mod/module/stamp, + ) + +/obj/item/mod/control/pre_equipped/mining + theme = /datum/mod_theme/mining + applied_core = /obj/item/mod/core/plasma + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/gps, + /obj/item/mod/module/orebag, + /obj/item/mod/module/clamp, + /obj/item/mod/module/drill, + ) + +/obj/item/mod/control/pre_equipped/medical + theme = /datum/mod_theme/medical + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/health_analyzer, + /obj/item/mod/module/quick_carry, + ) + +/obj/item/mod/control/pre_equipped/rescue + theme = /datum/mod_theme/rescue + applied_cell = /obj/item/stock_parts/cell/super + initial_modules = list( + /obj/item/mod/module/storage/large_capacity, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/health_analyzer, + /obj/item/mod/module/injector, + ) + +/obj/item/mod/control/pre_equipped/research + theme = /datum/mod_theme/research + applied_cell = /obj/item/stock_parts/cell/super + initial_modules = list( + /obj/item/mod/module/storage/large_capacity, + /obj/item/mod/module/welding, + /obj/item/mod/module/flashlight, + //obj/item/mod/module/circuit, + /obj/item/mod/module/t_ray, + ) + +/obj/item/mod/control/pre_equipped/security + theme = /datum/mod_theme/security + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/magnetic_harness, + /obj/item/mod/module/flashlight, + ) + +/obj/item/mod/control/pre_equipped/safeguard + theme = /datum/mod_theme/safeguard + applied_cell = /obj/item/stock_parts/cell/super + initial_modules = list( + /obj/item/mod/module/storage/large_capacity, + /obj/item/mod/module/magnetic_harness, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/jetpack, + /obj/item/mod/module/megaphone, + ) + +/obj/item/mod/control/pre_equipped/magnate + theme = /datum/mod_theme/magnate + applied_cell = /obj/item/stock_parts/cell/hyper + initial_modules = list( + /obj/item/mod/module/storage/large_capacity, + /obj/item/mod/module/hat_stabilizer, + /obj/item/mod/module/magnetic_harness, + /obj/item/mod/module/jetpack/advanced, + ) + +/obj/item/mod/control/pre_equipped/traitor + theme = /datum/mod_theme/syndicate + applied_cell = /obj/item/stock_parts/cell/super + initial_modules = list( + /obj/item/mod/module/storage/syndicate, + /obj/item/mod/module/emp_shield, + /obj/item/mod/module/magnetic_harness, + /obj/item/mod/module/jetpack, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/dna_lock, + ) + +/obj/item/mod/control/pre_equipped/traitor_elite + theme = /datum/mod_theme/elite + applied_cell = /obj/item/stock_parts/cell/bluespace + initial_modules = list( + /obj/item/mod/module/storage/syndicate, + /obj/item/mod/module/emp_shield, + /obj/item/mod/module/magnetic_harness, + /obj/item/mod/module/jetpack/advanced, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/dna_lock, + ) + +/obj/item/mod/control/pre_equipped/nuclear + theme = /datum/mod_theme/syndicate + applied_cell = /obj/item/stock_parts/cell/hyper + req_access = list(ACCESS_SYNDICATE) + initial_modules = list( + /obj/item/mod/module/storage/syndicate, + /obj/item/mod/module/emp_shield, + /obj/item/mod/module/magnetic_harness, + /obj/item/mod/module/jetpack/advanced, + /obj/item/mod/module/flashlight, + ) + +/obj/item/mod/control/pre_equipped/elite + theme = /datum/mod_theme/elite + applied_cell = /obj/item/stock_parts/cell/bluespace + req_access = list(ACCESS_SYNDICATE) + initial_modules = list( + /obj/item/mod/module/storage/syndicate, + /obj/item/mod/module/emp_shield, + /obj/item/mod/module/magnetic_harness, + /obj/item/mod/module/jetpack/advanced, + /obj/item/mod/module/flashlight, + ) + +/obj/item/mod/control/pre_equipped/elite/flamethrower + initial_modules = list( + /obj/item/mod/module/storage/syndicate, + /obj/item/mod/module/emp_shield, + /obj/item/mod/module/magnetic_harness, + /obj/item/mod/module/thermal_regulator, + /obj/item/mod/module/jetpack/advanced, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/flamethrower, + ) + +/obj/item/mod/control/pre_equipped/ninja + theme = /datum/mod_theme/ninja + applied_cell = /obj/item/stock_parts/cell/super + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/noslip, + /obj/item/mod/module/status_readout, + /obj/item/mod/module/stealth/ninja, + /obj/item/mod/module/dispenser/ninja, + /obj/item/mod/module/dna_lock/reinforced, + /obj/item/mod/module/emp_shield/pulse, + ) + +/obj/item/mod/control/pre_equipped/prototype + theme = /datum/mod_theme/prototype + req_access = list(ACCESS_AWAY_GENERAL) + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/tether, + ) + +/obj/item/mod/control/pre_equipped/responsory + theme = /datum/mod_theme/responsory + applied_cell = /obj/item/stock_parts/cell/hyper + req_access = list(ACCESS_CENT_GENERAL) + initial_modules = list( + /obj/item/mod/module/storage/large_capacity, + /obj/item/mod/module/welding, + /obj/item/mod/module/emp_shield, + /obj/item/mod/module/magnetic_harness, + /obj/item/mod/module/flashlight, + ) + /// The insignia type, insignias show what sort of member of the ERT you're dealing with. + var/insignia_type = /obj/item/mod/module/insignia + /// Additional module we add, as a treat. + var/additional_module = /obj/item/mod/module + +/obj/item/mod/control/pre_equipped/responsory/Initialize(mapload, new_theme, new_skin, new_core) + initial_modules.Insert(1, insignia_type) + initial_modules.Add(additional_module) + return ..() + +/obj/item/mod/control/pre_equipped/responsory/commander + insignia_type = /obj/item/mod/module/insignia/commander + additional_module = /obj/item/mod/module/power_kick + +/obj/item/mod/control/pre_equipped/responsory/security + insignia_type = /obj/item/mod/module/insignia/security + additional_module = /obj/item/mod/module/megaphone + +/obj/item/mod/control/pre_equipped/responsory/engineer + insignia_type = /obj/item/mod/module/insignia/engineer + additional_module = /obj/item/mod/module/magboot + +/obj/item/mod/control/pre_equipped/responsory/medic + insignia_type = /obj/item/mod/module/insignia/medic + additional_module = /obj/item/mod/module/quick_carry + +/obj/item/mod/control/pre_equipped/responsory/janitor + insignia_type = /obj/item/mod/module/insignia/janitor + additional_module = /obj/item/mod/module/clamp + +/obj/item/mod/control/pre_equipped/responsory/chaplain + insignia_type = /obj/item/mod/module/insignia/chaplain + additional_module = /obj/item/mod/module/injector + +/obj/item/mod/control/pre_equipped/apocryphal + theme = /datum/mod_theme/apocryphal + applied_cell = /obj/item/stock_parts/cell/bluespace + req_access = list(ACCESS_CENT_SPECOPS) + initial_modules = list( + /obj/item/mod/module/storage/bluespace, + /obj/item/mod/module/welding, + /obj/item/mod/module/emp_shield/advanced, + /obj/item/mod/module/magnetic_harness, + /obj/item/mod/module/jetpack, + ) + +/obj/item/mod/control/pre_equipped/corporate + theme = /datum/mod_theme/corporate + applied_core = /obj/item/mod/core/infinite + req_access = list(ACCESS_CENT_SPECOPS) + initial_modules = list( + /obj/item/mod/module/storage/bluespace, + /obj/item/mod/module/hat_stabilizer, + /obj/item/mod/module/magnetic_harness, + /obj/item/mod/module/emp_shield/advanced, + ) + +/*obj/item/mod/control/pre_equipped/chrono + theme = /datum/mod_theme/chrono + applied_core = /obj/item/mod/core/infinite + initial_modules = list( + /obj/item/mod/module/eradication_lock, + /obj/item/mod/module/emp_shield, + /obj/item/mod/module/timeline_jumper, + /obj/item/mod/module/timestopper, + /obj/item/mod/module/rewinder, + /obj/item/mod/module/tem, + /obj/item/mod/module/anomaly_locked/kinesis/plus, + )*/ + +/obj/item/mod/control/pre_equipped/debug + theme = /datum/mod_theme/debug + applied_core = /obj/item/mod/core/infinite + initial_modules = list( + /obj/item/mod/module/storage/bluespace, + /obj/item/mod/module/welding, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/tether, + /obj/item/mod/module/injector, + ) + +/obj/item/mod/control/pre_equipped/administrative + theme = /datum/mod_theme/administrative + applied_core = /obj/item/mod/core/infinite + initial_modules = list( + /obj/item/mod/module/storage/bluespace, + /obj/item/mod/module/emp_shield/advanced, + /obj/item/mod/module/welding, + /obj/item/mod/module/stealth/ninja, + /obj/item/mod/module/quick_carry/advanced, + /obj/item/mod/module/magboot/advanced, + /obj/item/mod/module/jetpack/advanced, + //obj/item/mod/module/anomaly_locked/kinesis/plus, + ) + +//these exist for the prefs menu +/obj/item/mod/control/pre_equipped/empty + +/obj/item/mod/control/pre_equipped/empty/syndicate + theme = /datum/mod_theme/syndicate + +/obj/item/mod/control/pre_equipped/empty/elite + theme = /datum/mod_theme/elite + +/obj/item/mod/control/pre_equipped/empty/ninja + theme = /datum/mod_theme/ninja + +INITIALIZE_IMMEDIATE(/obj/item/mod/control/pre_equipped/empty) diff --git a/code/modules/mod/mod_ui.dm b/code/modules/mod/mod_ui.dm new file mode 100644 index 00000000000..3bfa930dea7 --- /dev/null +++ b/code/modules/mod/mod_ui.dm @@ -0,0 +1,86 @@ +/obj/item/mod/control/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "MODsuit", name) + ui.open() + +/obj/item/mod/control/ui_data(mob/user) + var/data = list() + data["interface_break"] = interface_break + data["malfunctioning"] = malfunctioning + data["open"] = open + data["active"] = active + data["locked"] = locked + data["complexity"] = complexity + data["selected_module"] = selected_module?.name + data["wearer_name"] = wearer ? (wearer.get_authentification_name("Unknown") || "Unknown") : "No Occupant" + data["wearer_job"] = wearer ? wearer.get_assignment("Unknown", "Unknown", FALSE) : "No Job" + //data[JOB_AI] = ai?.name + data["core"] = core?.name + data["charge"] = get_charge_percent() + data["modules"] = list() + for(var/obj/item/mod/module/module as anything in modules) + var/list/module_data = list( + "module_name" = module.name, + "description" = module.desc, + "module_type" = module.module_type, + "module_active" = module.active, + "pinned" = module.pinned_to[user], + "idle_power" = module.idle_power_cost, + "active_power" = module.active_power_cost, + "use_power" = module.use_power_cost, + "module_complexity" = module.complexity, + "cooldown_time" = module.cooldown_time, + "cooldown" = round(COOLDOWN_TIMELEFT(module, cooldown_timer), 1 SECONDS), + "id" = module.tgui_id, + "ref" = REF(module), + "configuration_data" = module.get_configuration() + ) + module_data += module.add_ui_data() + data["modules"] += list(module_data) + return data + +/obj/item/mod/control/ui_static_data(mob/user) + var/data = list() + data["ui_theme"] = ui_theme + data["control"] = name + data["complexity_max"] = complexity_max + data["helmet"] = helmet?.name + data["chestplate"] = chestplate?.name + data["gauntlets"] = gauntlets?.name + data["boots"] = boots?.name + return data + +/obj/item/mod/control/ui_act(action, params) + . = ..() + if(.) + return + if(locked && !allowed(usr)) + balloon_alert(usr, "insufficient access!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return + if(malfunctioning && prob(75)) + balloon_alert(usr, "button malfunctions!") + return + switch(action) + if("lock") + locked = !locked + balloon_alert(usr, "[locked ? "locked" : "unlocked"]!") + if("activate") + toggle_activate(usr) + if("select") + var/obj/item/mod/module/module = locate(params["ref"]) in modules + if(!module) + return + module.on_select() + if("configure") + var/obj/item/mod/module/module = locate(params["ref"]) in modules + if(!module) + return + module.configure_edit(params["key"], params["value"]) + if("pin") + var/obj/item/mod/module/module = locate(params["ref"]) in modules + if(!module) + return + module.pin(usr) + return TRUE diff --git a/code/modules/mod/modules/_module.dm b/code/modules/mod/modules/_module.dm new file mode 100644 index 00000000000..7264066e5d1 --- /dev/null +++ b/code/modules/mod/modules/_module.dm @@ -0,0 +1,399 @@ +///MOD Module - A special device installed in a MODsuit allowing the suit to do new stuff. +/obj/item/mod/module + name = "MOD module" + icon = 'icons/obj/clothing/modsuit/mod_modules.dmi' + icon_state = "module" + /// If it can be removed + var/removable = TRUE + /// If it's passive, togglable, usable or active + var/module_type = MODULE_PASSIVE + /// Is the module active + var/active = FALSE + /// How much space it takes up in the MOD + var/complexity = 0 + /// Power use when idle + var/idle_power_cost = DEFAULT_CHARGE_DRAIN * 0 + /// Power use when active + var/active_power_cost = DEFAULT_CHARGE_DRAIN * 0 + /// Power use when used, we call it manually + var/use_power_cost = DEFAULT_CHARGE_DRAIN * 0 + /// ID used by their TGUI + var/tgui_id + /// Linked MODsuit + var/obj/item/mod/control/mod + /// If we're an active module, what item are we? + var/obj/item/device + /// Overlay given to the user when the module is inactive + var/overlay_state_inactive + /// Overlay given to the user when the module is active + var/overlay_state_active + /// Overlay given to the user when the module is used, lasts until cooldown finishes + var/overlay_state_use + /// Icon file for the overlay. + var/overlay_icon_file = 'icons/mob/clothing/modsuit/mod_modules.dmi' + /// Does the overlay use the control unit's colors? + var/use_mod_colors = FALSE + /// What modules are we incompatible with? + var/list/incompatible_modules = list() + /// Cooldown after use + var/cooldown_time = 0 + /// The mouse button needed to use this module + var/used_signal + /// List of REF()s mobs we are pinned to, linked with their action buttons + var/list/pinned_to = list() + /// If we're allowed to use this module while phased out. + var/allowed_in_phaseout = FALSE + /// If we're allowed to use this module while the suit is disabled. + var/allowed_inactive = FALSE + /// Timer for the cooldown + COOLDOWN_DECLARE(cooldown_timer) + +/obj/item/mod/module/Initialize(mapload) + . = ..() + if(module_type != MODULE_ACTIVE) + return + if(ispath(device)) + device = new device(src) + ADD_TRAIT(device, TRAIT_NODROP, MOD_TRAIT) + RegisterSignal(device, COMSIG_PARENT_QDELETING, PROC_REF(on_device_deletion)) + RegisterSignal(src, COMSIG_ATOM_EXITED, PROC_REF(on_exit)) + +/obj/item/mod/module/Destroy() + mod?.uninstall(src) + if(device) + UnregisterSignal(device, COMSIG_PARENT_QDELETING) + QDEL_NULL(device) + return ..() + +/obj/item/mod/module/examine(mob/user) + . = ..() + if(HAS_TRAIT(user, TRAIT_DIAGNOSTIC_HUD)) + . += span_notice("Complexity level: [complexity]") + + +/// Called when the module is selected from the TGUI, radial or the action button +/obj/item/mod/module/proc/on_select() + if(((!mod.active || mod.activating) && !allowed_inactive) || module_type == MODULE_PASSIVE) + if(mod.wearer) + balloon_alert(mod.wearer, "not active!") + return + if(module_type != MODULE_USABLE) + if(active) + on_deactivation() + else + on_activation() + else + on_use() + SEND_SIGNAL(mod, COMSIG_MOD_MODULE_SELECTED, src) + +/// Called when the module is activated +/obj/item/mod/module/proc/on_activation() + if(!COOLDOWN_FINISHED(src, cooldown_timer)) + balloon_alert(mod.wearer, "on cooldown!") + return FALSE + if(!mod.active || mod.activating || !mod.get_charge()) + balloon_alert(mod.wearer, "unpowered!") + return FALSE + if(!allowed_in_phaseout && istype(mod.wearer.loc, /obj/effect/dummy/phased_mob)) + //specifically a to_chat because the user is phased out. + to_chat(mod.wearer, span_warning("You cannot activate this right now.")) + return FALSE + if(SEND_SIGNAL(src, COMSIG_MODULE_TRIGGERED) & MOD_ABORT_USE) + return FALSE + if(module_type == MODULE_ACTIVE) + if(mod.selected_module && !mod.selected_module.on_deactivation(display_message = FALSE)) + return FALSE + mod.selected_module = src + if(device) + if(mod.wearer.put_in_hands(device)) + balloon_alert(mod.wearer, "[device] extended") + RegisterSignal(mod.wearer, COMSIG_ATOM_EXITED, PROC_REF(on_exit)) + RegisterSignal(mod.wearer, COMSIG_KB_MOB_DROPITEM_DOWN, PROC_REF(dropkey)) + else + balloon_alert(mod.wearer, "can't extend [device]!") + mod.wearer.transferItemToLoc(device, src, force = TRUE) + return FALSE + else + var/used_button = MIDDLE_CLICK + update_signal(used_button) + balloon_alert(mod.wearer, "[src] activated, [used_button]-click to use") + active = TRUE + COOLDOWN_START(src, cooldown_timer, cooldown_time) + mod.wearer.update_inv_back(mod.slot_flags) + SEND_SIGNAL(src, COMSIG_MODULE_ACTIVATED) + return TRUE + +/// Called when the module is deactivated +/obj/item/mod/module/proc/on_deactivation(display_message = TRUE, deleting = FALSE) + active = FALSE + if(module_type == MODULE_ACTIVE) + mod.selected_module = null + if(display_message) + balloon_alert(mod.wearer, device ? "[device] retracted" : "[src] deactivated") + if(device) + mod.wearer.transferItemToLoc(device, src, force = TRUE) + UnregisterSignal(mod.wearer, COMSIG_ATOM_EXITED) + UnregisterSignal(mod.wearer, COMSIG_KB_MOB_DROPITEM_DOWN) + else + UnregisterSignal(mod.wearer, used_signal) + used_signal = null + mod.wearer.update_inv_back(mod.slot_flags) + SEND_SIGNAL(src, COMSIG_MODULE_DEACTIVATED) + return TRUE + +/// Called when the module is used +/obj/item/mod/module/proc/on_use() + if(!COOLDOWN_FINISHED(src, cooldown_timer)) + balloon_alert(mod.wearer, "on cooldown!") + return FALSE + if(!check_power(use_power_cost)) + balloon_alert(mod.wearer, "not enough charge!") + return FALSE + if(!allowed_in_phaseout && istype(mod.wearer.loc, /obj/effect/dummy/phased_mob)) + //specifically a to_chat because the user is phased out. + to_chat(mod.wearer, span_warning("You cannot activate this right now.")) + return FALSE + if(SEND_SIGNAL(src, COMSIG_MODULE_TRIGGERED) & MOD_ABORT_USE) + return FALSE + COOLDOWN_START(src, cooldown_timer, cooldown_time) + addtimer(CALLBACK(mod.wearer, TYPE_PROC_REF(/mob, update_inv_back), mod.slot_flags), cooldown_time+1) //need to run it a bit after the cooldown starts to avoid conflicts + mod.wearer.update_inv_back(mod.slot_flags) + SEND_SIGNAL(src, COMSIG_MODULE_USED) + return TRUE + +/// Called when an activated module without a device is used +/obj/item/mod/module/proc/on_select_use(atom/target) + if(mod.wearer.incapacitated(IGNORE_GRAB)) + return FALSE + mod.wearer.face_atom(target) + if(!on_use()) + return FALSE + return TRUE + +/// Called when an activated module without a device is active and the user alt/middle-clicks +/obj/item/mod/module/proc/on_special_click(mob/source, atom/target) + SIGNAL_HANDLER + on_select_use(target) + return COMSIG_MOB_CANCEL_CLICKON + +/// Called on the MODsuit's process +/obj/item/mod/module/proc/on_process(delta_time) + if(active) + if(!drain_power(active_power_cost * delta_time)) + on_deactivation() + return FALSE + on_active_process(delta_time) + else + drain_power(idle_power_cost * delta_time) + return TRUE + +/// Called on the MODsuit's process if it is an active module +/obj/item/mod/module/proc/on_active_process(delta_time) + return + +/// Called from MODsuit's install() proc, so when the module is installed. +/obj/item/mod/module/proc/on_install() + return + +/// Called from MODsuit's uninstall() proc, so when the module is uninstalled. +/obj/item/mod/module/proc/on_uninstall(deleting = FALSE) + return + +/// Called when the MODsuit is activated +/obj/item/mod/module/proc/on_suit_activation() + return + +/// Called when the MODsuit is deactivated +/obj/item/mod/module/proc/on_suit_deactivation(deleting = FALSE) + return + +/// Called when the MODsuit is equipped +/obj/item/mod/module/proc/on_equip() + return + +/// Called when the MODsuit is unequipped +/obj/item/mod/module/proc/on_unequip() + return + +/// Drains power from the suit charge +/obj/item/mod/module/proc/drain_power(amount) + if(!check_power(amount)) + return FALSE + mod.subtract_charge(amount) + mod.update_charge_alert() + return TRUE + +/// Checks if there is enough power in the suit +/obj/item/mod/module/proc/check_power(amount) + return mod.check_charge(amount) + +/// Adds additional things to the MODsuit ui_data() +/obj/item/mod/module/proc/add_ui_data() + return list() + +/// Creates a list of configuring options for this module +/obj/item/mod/module/proc/get_configuration() + return list() + +/// Generates an element of the get_configuration list with a display name, type and value +/obj/item/mod/module/proc/add_ui_configuration(display_name, type, value, list/values) + return list("display_name" = display_name, "type" = type, "value" = value, "values" = values) + +/// Receives configure edits from the TGUI and edits the vars +/obj/item/mod/module/proc/configure_edit(key, value) + return + +/// Called when the device moves to a different place on active modules +/obj/item/mod/module/proc/on_exit(datum/source, atom/movable/part, direction) + SIGNAL_HANDLER + + if(!active) + return + if(part.loc == src) + return + if(part.loc == mod.wearer) + return + if(part == device) + on_deactivation(display_message = FALSE) + +/// Called when the device gets deleted on active modules +/obj/item/mod/module/proc/on_device_deletion(datum/source) + SIGNAL_HANDLER + + if(source == device) + device = null + qdel(src) + +/// Generates an icon to be used for the suit's worn overlays +/obj/item/mod/module/proc/generate_worn_overlay(mod_layer) + . = list() + if(!mod.active) + return + var/used_overlay + if(overlay_state_use && !COOLDOWN_FINISHED(src, cooldown_timer)) + used_overlay = overlay_state_use + else if(overlay_state_active && active) + used_overlay = overlay_state_active + else if(overlay_state_inactive) + used_overlay = overlay_state_inactive + else + return + var/mutable_appearance/module_icon = mutable_appearance(overlay_icon_file, used_overlay, layer = mod_layer + 0.1) + if(!use_mod_colors) + module_icon.appearance_flags |= RESET_COLOR + . += module_icon + +/// Updates the signal used by active modules to be activated +/obj/item/mod/module/proc/update_signal(value) + switch(value) + if(MIDDLE_CLICK) + mod.selected_module.used_signal = COMSIG_MOB_MIDDLECLICKON + if(ALT_CLICK) + mod.selected_module.used_signal = COMSIG_MOB_ALTCLICKON + RegisterSignal(mod.wearer, mod.selected_module.used_signal, TYPE_PROC_REF(/obj/item/mod/module, on_special_click)) + +/// Pins the module to the user's action buttons +/obj/item/mod/module/proc/pin(mob/user) + var/datum/action/item_action/mod/pinned_module/existing_action = pinned_to[REF(user)] + if(existing_action) + mod.remove_item_action(existing_action) + return + + var/datum/action/item_action/mod/pinned_module/new_action = new(mod, src, user) + mod.add_item_action(new_action) + +/// On drop key, concels a device item. +/obj/item/mod/module/proc/dropkey(mob/living/user) + SIGNAL_HANDLER + + if(user.get_active_held_item() != device) + return + on_deactivation() + return COMSIG_KB_ACTIVATED + +///Anomaly Locked - Causes the module to not function without an anomaly. +/obj/item/mod/module/anomaly_locked + name = "MOD anomaly locked module" + desc = "A form of a module, locked behind an anomalous core to function." + incompatible_modules = list(/obj/item/mod/module/anomaly_locked) + /// The core item the module runs off. + var/obj/item/assembly/signaler/anomaly/core + /// Accepted types of anomaly cores. + var/list/accepted_anomalies = list(/obj/item/assembly/signaler/anomaly) + /// If this one starts with a core in. + var/prebuilt = FALSE + +/obj/item/mod/module/anomaly_locked/Initialize(mapload) + . = ..() + if(!prebuilt || !length(accepted_anomalies)) + return + var/core_path = pick(accepted_anomalies) + core = new core_path(src) + update_icon_state() + +/obj/item/mod/module/anomaly_locked/Destroy() + QDEL_NULL(core) + return ..() + +/obj/item/mod/module/anomaly_locked/examine(mob/user) + . = ..() + if(!length(accepted_anomalies)) + return + if(core) + . += span_notice("There is a [core.name] installed in it. You could remove it with a screwdriver...") + else + var/list/core_list = list() + for(var/path in accepted_anomalies) + var/atom/core_path = path + core_list += initial(core_path.name) + . += span_notice("You need to insert \a [english_list(core_list, and_text = " or ")] for this module to function.") + +/obj/item/mod/module/anomaly_locked/on_select() + if(!core) + balloon_alert(mod.wearer, "no core!") + return + return ..() + +/obj/item/mod/module/anomaly_locked/on_process(delta_time) + . = ..() + if(!core) + return FALSE + +/obj/item/mod/module/anomaly_locked/on_active_process(delta_time) + if(!core) + return FALSE + return TRUE + +/obj/item/mod/module/anomaly_locked/attackby(obj/item/item, mob/living/user, params) + if(item.type in accepted_anomalies) + if(core) + balloon_alert(user, "core already in!") + return + if(!user.transferItemToLoc(item, src)) + return + core = item + balloon_alert(user, "core installed") + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + update_icon_state() + else + return ..() + +/obj/item/mod/module/anomaly_locked/screwdriver_act(mob/living/user, obj/item/tool) + . = ..() + if(!core) + balloon_alert(user, "no core!") + return + balloon_alert(user, "removing core...") + if(!do_after(user, 3 SECONDS, target = src)) + balloon_alert(user, "interrupted!") + return + balloon_alert(user, "core removed") + core.forceMove(drop_location()) + if(Adjacent(user) && !issilicon(user)) + user.put_in_hands(core) + core = null + update_icon_state() + +/obj/item/mod/module/anomaly_locked/update_icon_state() + icon_state = initial(icon_state) + (core ? "-core" : "") + return ..() diff --git a/code/modules/mod/modules/modules_antag.dm b/code/modules/mod/modules/modules_antag.dm new file mode 100644 index 00000000000..33edd75e173 --- /dev/null +++ b/code/modules/mod/modules/modules_antag.dm @@ -0,0 +1,398 @@ +//Antag modules for MODsuits + +///Armor Booster - Grants your suit more armor and speed in exchange for EVA protection. Also acts as a welding screen. +/obj/item/mod/module/armor_booster + name = "MOD armor booster module" + desc = "A retrofitted series of retractable armor plates, allowing the suit to function as essentially power armor, \ + giving the user incredible protection against conventional firearms, or everyday attacks in close-quarters. \ + However, the additional plating cannot deploy alongside parts of the suit used for vacuum sealing, \ + so this extra armor provides zero ability for extravehicular activity while deployed." + icon_state = "armor_booster" + module_type = MODULE_TOGGLE + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + removable = TRUE + incompatible_modules = list(/obj/item/mod/module/armor_booster, /obj/item/mod/module/welding) + cooldown_time = 0.5 SECONDS + overlay_state_inactive = "module_armorbooster_off" + overlay_state_active = "module_armorbooster_on" + use_mod_colors = TRUE + /// Whether or not this module removes pressure protection. + var/remove_pressure_protection = TRUE + /// Speed added to the control unit. + var/speed_added = 0.5 + /// Speed that we actually added. + var/actual_speed_added = 0 + /// Armor values added to the suit parts. + var/list/armor_values = list("melee" = 25, "bullet" = 30, "laser" = 15, "energy" = 15) + /// List of parts of the suit that are spaceproofed, for giving them back the pressure protection. + var/list/spaceproofed = list() + +/obj/item/mod/module/armor_booster/on_suit_activation() + mod.helmet.flash_protect = FLASH_PROTECTION_WELDER + +/obj/item/mod/module/armor_booster/on_suit_deactivation(deleting = FALSE) + if(deleting) + return + mod.helmet.flash_protect = initial(mod.helmet.flash_protect) + +/obj/item/mod/module/armor_booster/on_activation() + . = ..() + if(!.) + return + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + actual_speed_added = max(0, min(mod.slowdown_active, speed_added)) + mod.slowdown -= actual_speed_added + mod.wearer.update_equipment_speed_mods() + var/list/parts = mod.mod_parts + mod + for(var/obj/item/part as anything in parts) + part.armor = part.armor.modifyRating(arglist(armor_values)) + if(!remove_pressure_protection || !isclothing(part)) + continue + var/obj/item/clothing/clothing_part = part + if(clothing_part.clothing_flags & STOPSPRESSUREDAMAGE) + clothing_part.clothing_flags &= ~STOPSPRESSUREDAMAGE + spaceproofed[clothing_part] = TRUE + +/obj/item/mod/module/armor_booster/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + if(!deleting) + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + mod.slowdown += actual_speed_added + mod.wearer.update_equipment_speed_mods() + var/list/parts = mod.mod_parts + mod + var/list/removed_armor = armor_values.Copy() + for(var/armor_type in removed_armor) + removed_armor[armor_type] = -removed_armor[armor_type] + for(var/obj/item/part as anything in parts) + part.armor = part.armor.modifyRating(arglist(removed_armor)) + if(!remove_pressure_protection || !isclothing(part)) + continue + var/obj/item/clothing/clothing_part = part + if(spaceproofed[clothing_part]) + clothing_part.clothing_flags |= STOPSPRESSUREDAMAGE + spaceproofed = list() + +/obj/item/mod/module/armor_booster/generate_worn_overlay(mutable_appearance/standing) + overlay_state_inactive = "[initial(overlay_state_inactive)]-[mod.skin]" + overlay_state_active = "[initial(overlay_state_active)]-[mod.skin]" + return ..() + +///Energy Shield - Gives you a rechargeable energy shield that nullifies attacks. +/obj/item/mod/module/energy_shield + name = "MOD energy shield module" + desc = "A personal, protective forcefield typically seen in military applications. \ + This advanced deflector shield is essentially a scaled down version of those seen on starships, \ + and the power cost can be an easy indicator of this. However, it is capable of blocking nearly any incoming attack, \ + though with its' low amount of separate charges, the user remains mortal." + icon_state = "energy_shield" + complexity = 3 + idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + use_power_cost = DEFAULT_CHARGE_DRAIN * 2 + incompatible_modules = list(/obj/item/mod/module/energy_shield) + /// Max charges of the shield. + var/max_charges = 3 + /// The time it takes for the first charge to recover. + var/recharge_start_delay = 20 SECONDS + /// How much time it takes for charges to recover after they started recharging. + var/charge_increment_delay = 1 SECONDS + /// How much charge is recovered per recovery. + var/charge_recovery = 1 + /// Whether or not this shield can lose multiple charges. + var/lose_multiple_charges = FALSE + /// The item path to recharge this shielkd. + var/recharge_path = null + /// The icon file of the shield. + var/shield_icon_file = 'icons/effects/effects.dmi' + /// The icon_state of the shield. + var/shield_icon = "shield-red" + /// Charges the shield should start with. + var/charges + +/obj/item/mod/module/energy_shield/Initialize(mapload) + . = ..() + charges = max_charges + +/obj/item/mod/module/energy_shield/on_suit_activation() + mod.AddComponent(/datum/component/shielded, max_charges = max_charges, recharge_start_delay = recharge_start_delay, charge_increment_delay = charge_increment_delay, \ + charge_recovery = charge_recovery, lose_multiple_charges = lose_multiple_charges, recharge_path = recharge_path, starting_charges = charges, shield_icon_file = shield_icon_file, shield_icon = shield_icon) + RegisterSignal(mod.wearer, COMSIG_HUMAN_CHECK_SHIELDS, PROC_REF(shield_reaction)) + +/obj/item/mod/module/energy_shield/on_suit_deactivation(deleting = FALSE) + var/datum/component/shielded/shield = mod.GetComponent(/datum/component/shielded) + charges = shield.current_charges + qdel(shield) + UnregisterSignal(mod.wearer, COMSIG_HUMAN_CHECK_SHIELDS) + +/obj/item/mod/module/energy_shield/proc/shield_reaction(mob/living/carbon/human/owner, atom/movable/hitby, damage = 0, attack_text = "the attack", attack_type = MELEE_ATTACK, armour_penetration = 0) + if(SEND_SIGNAL(mod, COMSIG_ITEM_HIT_REACT, owner, hitby, attack_text, 0, damage, attack_type) & COMPONENT_HIT_REACTION_BLOCK) + drain_power(use_power_cost) + return SHIELD_BLOCK + return NONE + +///Insignia - Gives you a skin specific stripe. +/obj/item/mod/module/insignia + name = "MOD insignia module" + desc = "Despite the existence of IFF systems, radio communique, and modern methods of deductive reasoning involving \ + the wearer's own eyes, colorful paint jobs remain a popular way for different factions in the galaxy to display who \ + they are. This system utilizes a series of tiny moving paint sprayers to both apply and remove different \ + color patterns to and from the suit." + icon_state = "insignia" + removable = FALSE + incompatible_modules = list(/obj/item/mod/module/insignia) + overlay_state_inactive = "module_insignia" + +/obj/item/mod/module/insignia/generate_worn_overlay(mutable_appearance/standing) + overlay_state_inactive = "[initial(overlay_state_inactive)]-[mod.skin]" + . = ..() + for(var/mutable_appearance/appearance as anything in .) + appearance.color = color + +/obj/item/mod/module/insignia/commander + color = "#4980a5" + +/obj/item/mod/module/insignia/security + color = "#b30d1e" + +/obj/item/mod/module/insignia/engineer + color = "#e9c80e" + +/obj/item/mod/module/insignia/medic + color = "#ebebf5" + +/obj/item/mod/module/insignia/janitor + color = "#7925c7" + +/obj/item/mod/module/insignia/chaplain + color = "#f0a00c" + +///Anti Slip - Prevents you from slipping on water. +/obj/item/mod/module/noslip + name = "MOD anti slip module" + desc = "These are a modified variant of standard magnetic boots, utilizing piezoelectric crystals on the soles. \ + The two plates on the bottom of the boots automatically extend and magnetize as the user steps; \ + a pull that's too weak to offer them the ability to affix to a hull, but just strong enough to \ + protect against the fact that you didn't read the wet floor sign. Honk Co. has come out numerous times \ + in protest of these modules being legal." + icon_state = "noslip" + complexity = 1 + idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.1 + incompatible_modules = list(/obj/item/mod/module/noslip) + +/obj/item/mod/module/noslip/on_suit_activation() + mod.boots.clothing_flags |= NOSLIP + +/obj/item/mod/module/noslip/on_suit_deactivation(deleting = FALSE) + mod.boots.clothing_flags &= ~NOSLIP + +//Bite of 87 Springlock - Equips faster, disguised as DNA lock. +/obj/item/mod/module/springlock/bite_of_87 + +/obj/item/mod/module/springlock/bite_of_87/Initialize(mapload) + . = ..() + var/obj/item/mod/module/dna_lock/the_dna_lock_behind_the_slaughter = /obj/item/mod/module/dna_lock + name = initial(the_dna_lock_behind_the_slaughter.name) + desc = initial(the_dna_lock_behind_the_slaughter.desc) + icon_state = initial(the_dna_lock_behind_the_slaughter.icon_state) + complexity = initial(the_dna_lock_behind_the_slaughter.complexity) + use_power_cost = initial(the_dna_lock_behind_the_slaughter.use_power_cost) + +/obj/item/mod/module/springlock/bite_of_87/on_install() + mod.activation_step_time *= 0.1 + +/obj/item/mod/module/springlock/bite_of_87/on_uninstall(deleting = FALSE) + mod.activation_step_time *= 10 + +/obj/item/mod/module/springlock/bite_of_87/on_suit_activation() + ..() + if(SSevents.holidays && SSevents.holidays[APRIL_FOOLS] || prob(1)) + mod.set_mod_color("#b17f00") + mod.wearer.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) // turns purple guy purple + mod.wearer.add_atom_colour("#704b96", FIXED_COLOUR_PRIORITY) + +///Flamethrower - Launches fire across the area. +/obj/item/mod/module/flamethrower + name = "MOD flamethrower module" + desc = "A custom-manufactured flamethrower, used to burn through your path. Burn well." + icon_state = "flamethrower" + module_type = MODULE_ACTIVE + complexity = 3 + use_power_cost = DEFAULT_CHARGE_DRAIN * 3 + incompatible_modules = list(/obj/item/mod/module/flamethrower) + cooldown_time = 2.5 SECONDS + overlay_state_inactive = "module_flamethrower" + overlay_state_active = "module_flamethrower_on" + +/obj/item/mod/module/flamethrower/on_select_use(atom/target) + . = ..() + if(!.) + return + var/obj/projectile/flame = new /obj/projectile/bullet/incendiary(mod.wearer.loc) + flame.preparePixelProjectile(target, mod.wearer) + flame.firer = mod.wearer + playsound(src, 'sound/items/modsuit/flamethrower.ogg', 75, TRUE) + INVOKE_ASYNC(flame, TYPE_PROC_REF(/obj/projectile, fire)) + drain_power(use_power_cost) + +///Power kick - Lets the user launch themselves at someone to kick them. +/obj/item/mod/module/power_kick + name = "MOD power kick module" + desc = "This module uses high-power myomer to generate an incredible amount of energy, transferred into the power of a kick." + icon_state = "power_kick" + module_type = MODULE_ACTIVE + removable = FALSE + use_power_cost = DEFAULT_CHARGE_DRAIN*5 + incompatible_modules = list(/obj/item/mod/module/power_kick) + cooldown_time = 5 SECONDS + /// Damage on kick. + var/damage = 20 + /// The wound bonus of the kick. + var/wounding_power = 35 + /// How long we knockdown for on the kick. + var/knockdown_time = 2 SECONDS + +/obj/item/mod/module/power_kick/on_select_use(atom/target) + . = ..() + if(!.) + return + mod.wearer.visible_message(span_warning("[mod.wearer] starts charging a kick!"), \ + blind_message = span_hear("You hear a charging sound.")) + playsound(src, 'sound/items/modsuit/loader_charge.ogg', 75, TRUE) + balloon_alert(mod.wearer, "you start charging...") + animate(mod.wearer, 0.3 SECONDS, pixel_z = 16, flags = ANIMATION_RELATIVE, easing = SINE_EASING|EASE_OUT) + addtimer(CALLBACK(mod.wearer, TYPE_PROC_REF(/atom, SpinAnimation), 3, 2), 0.3 SECONDS) + if(!do_after(mod.wearer, 1 SECONDS, target = mod)) + animate(mod.wearer, 0.2 SECONDS, pixel_z = -16, flags = ANIMATION_RELATIVE, easing = SINE_EASING|EASE_OUT) + return + animate(mod.wearer) + drain_power(use_power_cost) + playsound(src, 'sound/items/modsuit/loader_launch.ogg', 75, TRUE) + var/angle = get_angle(mod.wearer, target) + 180 + mod.wearer.transform = mod.wearer.transform.Turn(angle) + RegisterSignal(mod.wearer, COMSIG_MOVABLE_IMPACT, PROC_REF(on_throw_impact)) + mod.wearer.throw_at(target, range = 7, speed = 2, thrower = mod.wearer, spin = FALSE, gentle = TRUE, callback = CALLBACK(src, PROC_REF(on_throw_end), mod.wearer, -angle)) + +/obj/item/mod/module/power_kick/proc/on_throw_end(mob/user, angle) + if(!user) + return + user.transform = user.transform.Turn(angle) + animate(user, 0.2 SECONDS, pixel_z = -16, flags = ANIMATION_RELATIVE, easing = SINE_EASING|EASE_OUT) + +/obj/item/mod/module/power_kick/proc/on_throw_impact(mob/living/source, obj/target, datum/thrownthing/thrownthing) + SIGNAL_HANDLER + + UnregisterSignal(source, COMSIG_MOVABLE_IMPACT) + if(!mod?.wearer) + return + if(isliving(target)) + var/mob/living/living_target = target + living_target.apply_damage(damage, BRUTE, mod.wearer.zone_selected) + living_target.Knockdown(knockdown_time) + else if(target.obj_integrity) + target.take_damage(damage, BRUTE) + else + return + mod.wearer.do_attack_animation(target, ATTACK_EFFECT_SMASH) + +///Chameleon - lets the suit disguise as any item that would fit on that slot. +/obj/item/mod/module/chameleon + name = "MOD chameleon module" + desc = "A module using chameleon technology to disguise the suit as another object." + icon_state = "chameleon" + module_type = MODULE_USABLE + complexity = 2 + incompatible_modules = list(/obj/item/mod/module/chameleon) + cooldown_time = 0.5 SECONDS + allowed_inactive = TRUE + /// A list of all the items the suit can disguise as. + var/list/possible_disguises = list() + /// The path of the item we're disguised as. + var/obj/item/current_disguise + +/obj/item/mod/module/chameleon/on_install() + var/list/all_disguises = sortList(subtypesof(get_path_by_slot(mod.slot_flags)), GLOBAL_PROC_REF(cmp_typepaths_asc)) + for(var/clothing_path in all_disguises) + var/obj/item/clothing = clothing_path + if(!initial(clothing.icon_state)) + continue + var/chameleon_item_name = "[initial(clothing.name)] ([initial(clothing.icon_state)])" + possible_disguises[chameleon_item_name] = clothing_path + +/obj/item/mod/module/chameleon/on_uninstall(deleting = FALSE) + if(current_disguise) + return_look() + possible_disguises = null + +/obj/item/mod/module/chameleon/on_use() + if(mod.active || mod.activating) + balloon_alert(mod.wearer, "suit active!") + return + . = ..() + if(!.) + return + if(current_disguise) + return_look() + return + var/picked_name = tgui_input_list(mod.wearer, "Select look to change into", "Chameleon Settings", possible_disguises) + if(!possible_disguises[picked_name] || mod.active || mod.activating) + return + current_disguise = possible_disguises[picked_name] + update_look() + +/obj/item/mod/module/chameleon/proc/update_look() + mod.name = initial(current_disguise.name) + mod.desc = initial(current_disguise.desc) + mod.icon_state = initial(current_disguise.icon_state) + mod.icon = initial(current_disguise.icon) + mod.mob_overlay_icon = initial(current_disguise.mob_overlay_icon) + mod.alternate_worn_layer = initial(current_disguise.alternate_worn_layer) + mod.lefthand_file = initial(current_disguise.lefthand_file) + mod.righthand_file = initial(current_disguise.righthand_file) + //mod.mob_overlay_state = initial(current_disguise.mob_overlay_state) + mod.item_state = initial(current_disguise.item_state) + mod.wearer.update_inv_back(mod.slot_flags) + RegisterSignal(mod, COMSIG_MOD_ACTIVATE, PROC_REF(return_look)) + +/obj/item/mod/module/chameleon/proc/return_look() + mod.name = "[mod.theme.name] [initial(mod.name)]" + mod.desc = "[initial(mod.desc)] [mod.theme.desc]" + mod.icon_state = "[mod.skin]-[initial(mod.icon_state)]" + var/list/mod_skin = mod.theme.skins[mod.skin] + mod.icon = mod_skin[MOD_ICON_OVERRIDE] || 'icons/obj/clothing/modsuit/mod_clothing.dmi' + mod.mob_overlay_icon = mod_skin[MOD_WORN_ICON_OVERRIDE] || 'icons/mob/clothing/modsuit/mod_clothing.dmi' + mod.alternate_worn_layer = mod_skin[CONTROL_LAYER] + mod.lefthand_file = initial(mod.lefthand_file) + mod.righthand_file = initial(mod.righthand_file) + //___callbacknewmod.worn_icon_state = null + mod.item_state = null + mod.wearer.update_inv_back(mod.slot_flags) + current_disguise = null + UnregisterSignal(mod, COMSIG_MOD_ACTIVATE) + +///Plate Compression - Compresses the suit to normal size +/obj/item/mod/module/plate_compression + name = "MOD plate compression module" + desc = "A module that keeps the suit in a very tightly fit state, lowering the overall size. \ + Due to the pressure on all the parts, typical storage modules do not fit." + icon_state = "plate_compression" + complexity = 2 + incompatible_modules = list(/obj/item/mod/module/plate_compression, /obj/item/mod/module/storage) + /// The size we set the suit to. + var/new_size = WEIGHT_CLASS_NORMAL + /// The suit's size before the module is installed. + var/old_size + +/obj/item/mod/module/plate_compression/on_install() + old_size = mod.w_class + mod.w_class = new_size + +/obj/item/mod/module/plate_compression/on_uninstall(deleting = FALSE) + mod.w_class = old_size + old_size = null + if(!mod.loc) + return + var/datum/component/storage/concrete/holding_storage = mod.GetComponent(/datum/component/storage/concrete) + if(!holding_storage || holding_storage.max_combined_w_class >= mod.w_class) + return + mod.forceMove(drop_location()) diff --git a/code/modules/mod/modules/modules_engineering.dm b/code/modules/mod/modules/modules_engineering.dm new file mode 100644 index 00000000000..4905b3ae691 --- /dev/null +++ b/code/modules/mod/modules/modules_engineering.dm @@ -0,0 +1,169 @@ +//Engineering modules for MODsuits + +///Welding Protection - Makes the helmet protect from flashes and welding. +/obj/item/mod/module/welding + name = "MOD welding protection module" + desc = "A module installed into the visor of the suit, this projects a \ + polarized, holographic overlay in front of the user's eyes. It's rated high enough for \ + immunity against extremities such as spot and arc welding, solar eclipses, and handheld flashlights." + icon_state = "welding" + complexity = 1 + incompatible_modules = list(/obj/item/mod/module/welding, /obj/item/mod/module/armor_booster) + overlay_state_inactive = "module_welding" + +/obj/item/mod/module/welding/on_suit_activation() + mod.helmet.flash_protect = FLASH_PROTECTION_WELDER + +/obj/item/mod/module/welding/on_suit_deactivation(deleting = FALSE) + if(deleting) + return + mod.helmet.flash_protect = initial(mod.helmet.flash_protect) + +///T-Ray Scan - Scans the terrain for undertile objects. +/obj/item/mod/module/t_ray + name = "MOD t-ray scan module" + desc = "A module installed into the visor of the suit, allowing the user to use a pulse of terahertz radiation \ + to essentially echolocate things beneath the floor, mostly cables and pipes. \ + A staple of atmospherics work, and counter-smuggling work." + icon_state = "tray" + module_type = MODULE_TOGGLE + complexity = 1 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + incompatible_modules = list(/obj/item/mod/module/t_ray) + cooldown_time = 0.5 SECONDS + /// T-ray scan range. + var/range = 4 + +/obj/item/mod/module/t_ray/on_active_process(delta_time) + t_ray_scan(mod.wearer, 0.8 SECONDS, range) + +///Magnetic Stability - Gives the user a slowdown but makes them negate gravity and be immune to slips. +/obj/item/mod/module/magboot + name = "MOD magnetic stability module" + desc = "These are powerful electromagnets fitted into the suit's boots, allowing users both \ + excellent traction no matter the condition indoors, and to essentially hitch a ride on the exterior of a hull. \ + However, these basic models do not feature computerized systems to automatically toggle them on and off, \ + so numerous users report a certain stickiness to their steps." + icon_state = "magnet" + module_type = MODULE_TOGGLE + complexity = 2 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + incompatible_modules = list(/obj/item/mod/module/magboot) + cooldown_time = 0.5 SECONDS + /// Slowdown added onto the suit. + var/slowdown_active = 0.5 + +/obj/item/mod/module/magboot/on_activation() + . = ..() + if(!.) + return + ADD_TRAIT(mod.wearer, TRAIT_NOSLIPWATER, MOD_TRAIT) + mod.slowdown += slowdown_active + mod.wearer.update_gravity(mod.wearer.has_gravity()) + mod.wearer.update_equipment_speed_mods() + +/obj/item/mod/module/magboot/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + REMOVE_TRAIT(mod.wearer, TRAIT_NOSLIPWATER, MOD_TRAIT) + mod.slowdown -= slowdown_active + mod.wearer.update_gravity(mod.wearer.has_gravity()) + mod.wearer.update_equipment_speed_mods() + +/obj/item/mod/module/magboot/advanced + name = "MOD advanced magnetic stability module" + removable = FALSE + complexity = 0 + slowdown_active = 0 + +///Emergency Tether - Shoots a grappling hook projectile in 0g that throws the user towards it. +/obj/item/mod/module/tether + name = "MOD emergency tether module" + desc = "A custom-built grappling-hook powered by a winch capable of hauling the user. \ + While some older models of cargo-oriented grapples have capacities of a few tons, \ + these are only capable of working in zero-gravity environments, a blessing to some Engineers." + icon_state = "tether" + module_type = MODULE_ACTIVE + complexity = 3 + use_power_cost = DEFAULT_CHARGE_DRAIN + incompatible_modules = list(/obj/item/mod/module/tether) + cooldown_time = 1.5 SECONDS + +/obj/item/mod/module/tether/on_use() + if(mod.wearer.has_gravity(get_turf(src))) + balloon_alert(mod.wearer, "too much gravity!!") + playsound(src, 'sound/weapons/gun/general/dry_fire.ogg', 25, TRUE) + return FALSE + return ..() + +/obj/item/mod/module/tether/on_select_use(atom/target) + . = ..() + if(!.) + return + var/obj/projectile/tether = new /obj/projectile/tether(mod.wearer.loc) + tether.preparePixelProjectile(target, mod.wearer) + tether.firer = mod.wearer + playsound(src, 'sound/weapons/batonextend.ogg', 25, TRUE) + INVOKE_ASYNC(tether, TYPE_PROC_REF(/obj/projectile, fire)) + drain_power(use_power_cost) + +/obj/projectile/tether + name = "tether" + icon_state = "tether_projectile" + icon = 'icons/obj/clothing/modsuit/mod_modules.dmi' + damage = 0 + nodamage = TRUE + range = 10 + hitsound = 'sound/weapons/batonextend.ogg' + suppressed = SUPPRESSED_VERY + //hit_threshhold = LATTICE_LAYER + /// Reference to the beam following the projectile. + var/line + +/obj/projectile/tether/fire(setAngle) + if(firer) + line = firer.Beam(src, "line", 'icons/obj/clothing/modsuit/mod_modules.dmi') + ..() + +/obj/projectile/tether/on_hit(atom/target) + . = ..() + if(firer) + firer.throw_at(target, 10, 1, firer, FALSE, FALSE, null, MOVE_FORCE_NORMAL, TRUE) + +/obj/projectile/tether/Destroy() + QDEL_NULL(line) + return ..() + +///Mister - Sprays water over an area. +/obj/item/mod/module/mister + name = "MOD water mister module" + desc = "A module containing a mister, able to spray it over areas." + icon_state = "mister" + module_type = MODULE_ACTIVE + complexity = 2 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + device = /obj/item/reagent_containers/spray/mister + incompatible_modules = list(/obj/item/mod/module/mister) + cooldown_time = 0.5 SECONDS + /// Volume of our reagent holder. + var/volume = 500 + +/obj/item/mod/module/mister/Initialize(mapload) + create_reagents(volume, OPENCONTAINER) + return ..() + +///Resin Mister - Sprays resin over an area. +/obj/item/mod/module/mister/atmos + name = "MOD resin mister module" + desc = "An atmospheric resin mister, able to fix up areas quickly." + device = /obj/item/extinguisher/mini/nozzle/mod + volume = 250 + +/obj/item/mod/module/mister/atmos/Initialize(mapload) + . = ..() + reagents.add_reagent(/datum/reagent/water, volume) + +/obj/item/extinguisher/mini/nozzle/mod + name = "MOD atmospheric mister" + desc = "An atmospheric resin mister with three modes, mounted as a module." diff --git a/code/modules/mod/modules/modules_general.dm b/code/modules/mod/modules/modules_general.dm new file mode 100644 index 00000000000..17f72271b31 --- /dev/null +++ b/code/modules/mod/modules/modules_general.dm @@ -0,0 +1,441 @@ +//General modules for MODsuits + +///Ion Jetpack - Lets the user fly freely through space using battery charge. +/obj/item/mod/module/jetpack + name = "MOD ion jetpack module" + desc = "A series of electric thrusters installed across the suit, this is a module highly anticipated by trainee Engineers. \ + Rather than using gasses for combustion thrust, these jets are capable of accelerating ions using \ + charge from the suit's charge. Some say this isn't Nakamura Engineering's first foray into jet-enabled suits." + icon_state = "jetpack" + module_type = MODULE_TOGGLE + complexity = 3 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + use_power_cost = DEFAULT_CHARGE_DRAIN + incompatible_modules = list(/obj/item/mod/module/jetpack) + cooldown_time = 0.5 SECONDS + overlay_state_inactive = "module_jetpack" + overlay_state_active = "module_jetpack_on" + /// Do we stop the wearer from gliding in space. + var/stabilizers = FALSE + /// Do we give the wearer a speed buff. + var/full_speed = FALSE + var/datum/callback/get_mover + var/datum/callback/check_on_move + +/obj/item/mod/module/jetpack/Initialize(mapload) + . = ..() + get_mover = CALLBACK(src, PROC_REF(get_user)) + check_on_move = CALLBACK(src, PROC_REF(allow_thrust)) + refresh_jetpack() + +/obj/item/mod/module/jetpack/Destroy() + get_mover = null + check_on_move = null + return ..() + +/obj/item/mod/module/jetpack/proc/refresh_jetpack() + AddComponent(/datum/component/jetpack, stabilizers, COMSIG_MODULE_TRIGGERED, COMSIG_MODULE_DEACTIVATED, MOD_ABORT_USE, get_mover, check_on_move, /datum/effect_system/trail_follow/ion/grav_allowed) + +/obj/item/mod/module/jetpack/proc/set_stabilizers(new_stabilizers) + if(stabilizers == new_stabilizers) + return + stabilizers = new_stabilizers + refresh_jetpack() + +/obj/item/mod/module/jetpack/on_activation() + . = ..() + if(!.) + return + if(full_speed) + mod.wearer.add_movespeed_modifier(/datum/movespeed_modifier/jetpack/fullspeed) + +/obj/item/mod/module/jetpack/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(full_speed) + mod.wearer.remove_movespeed_modifier(/datum/movespeed_modifier/jetpack/fullspeed) + +/obj/item/mod/module/jetpack/get_configuration() + . = ..() + .["stabilizers"] = add_ui_configuration("Stabilizers", "bool", stabilizers) + +/obj/item/mod/module/jetpack/configure_edit(key, value) + switch(key) + if("stabilizers") + set_stabilizers(text2num(value)) + +/obj/item/mod/module/jetpack/proc/allow_thrust(use_fuel = TRUE) + if(!use_fuel) + return check_power(use_power_cost) + if(!drain_power(use_power_cost)) + return FALSE + return TRUE + +/obj/item/mod/module/jetpack/proc/get_user() + return mod.wearer + +/obj/item/mod/module/jetpack/advanced + name = "MOD advanced ion jetpack module" + desc = "An improvement on the previous model of electric thrusters. This one achieves higher speeds through \ + mounting of more jets and a red paint applied on it." + icon_state = "jetpack_advanced" + overlay_state_inactive = "module_jetpackadv" + overlay_state_active = "module_jetpackadv_on" + full_speed = TRUE + +///Eating Apparatus - Lets the user eat/drink with the suit on. +/obj/item/mod/module/mouthhole + name = "MOD eating apparatus module" + desc = "A favorite by Miners, this modification to the helmet utilizes a nanotechnology barrier infront of the mouth \ + to allow eating and drinking while retaining protection and atmosphere. However, it won't free you from masks, \ + and it will do nothing to improve the taste of a goliath steak." + icon_state = "apparatus" + complexity = 1 + incompatible_modules = list(/obj/item/mod/module/mouthhole) + overlay_state_inactive = "module_apparatus" + /// Former flags of the helmet. + var/former_flags = NONE + /// Former visor flags of the helmet. + var/former_visor_flags = NONE + +/obj/item/mod/module/mouthhole/on_install() + former_flags = mod.helmet.flags_cover + former_visor_flags = mod.helmet.visor_flags_cover + mod.helmet.flags_cover &= ~HEADCOVERSMOUTH|PEPPERPROOF + mod.helmet.visor_flags_cover &= ~HEADCOVERSMOUTH|PEPPERPROOF + +/obj/item/mod/module/mouthhole/on_uninstall(deleting = FALSE) + if(deleting) + return + mod.helmet.flags_cover |= former_flags + mod.helmet.visor_flags_cover |= former_visor_flags + +///EMP Shield - Protects the suit from EMPs. +/obj/item/mod/module/emp_shield + name = "MOD EMP shield module" + desc = "A field inhibitor installed into the suit, protecting it against feedback such as \ + electromagnetic pulses that would otherwise damage the electronic systems of the suit or devices on the wearer. \ + However, it will take from the suit's power to do so. Luckily, your PDA already has one of these." + icon_state = "empshield" + complexity = 1 + idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + incompatible_modules = list(/obj/item/mod/module/emp_shield) + +/obj/item/mod/module/emp_shield/on_install() + mod.AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_WIRES|EMP_PROTECT_CONTENTS) + +/obj/item/mod/module/emp_shield/on_uninstall(deleting = FALSE) + mod.RemoveElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_WIRES|EMP_PROTECT_CONTENTS) + +/obj/item/mod/module/emp_shield/advanced + name = "MOD advanced EMP shield module" + desc = "An enhnanced field inhibitor installed into the suit, protecting it against feedback such as \ + electromagnetic pulses that would otherwise damage the electronic systems of the suit or devices on the wearer \ + including augmentations. However, it will take from the suit's power to do so. Luckily, your PDA already has one of these." + complexity = 2 + +/obj/item/mod/module/emp_shield/advanced/on_suit_activation() + mod.wearer.AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS) + +/obj/item/mod/module/emp_shield/advanced/on_suit_deactivation(deleting) + mod.wearer.RemoveElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS) + +///Flashlight - Gives the suit a customizable flashlight. +/obj/item/mod/module/flashlight + name = "MOD flashlight module" + desc = "A simple pair of flashlights installed on the left and right sides of the helmet." + icon_state = "flashlight" + module_type = MODULE_TOGGLE + complexity = 1 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + incompatible_modules = list(/obj/item/mod/module/flashlight) + cooldown_time = 0.5 SECONDS + overlay_state_inactive = "module_light" + light_system = MOVABLE_LIGHT_DIRECTIONAL + light_color = COLOR_WHITE + light_range = 4 + light_power = 1 + light_on = FALSE + /// Charge drain per range amount. + var/base_power = DEFAULT_CHARGE_DRAIN * 0.1 + +/obj/item/mod/module/flashlight/on_activation() + . = ..() + if(!.) + return + set_light_flags(light_flags | LIGHT_ATTACHED) + set_light_on(active) + active_power_cost = base_power * light_range + +/obj/item/mod/module/flashlight/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + set_light_flags(light_flags & ~LIGHT_ATTACHED) + set_light_on(active) + +/obj/item/mod/module/flashlight/on_process(delta_time) + active_power_cost = base_power * light_range + return ..() + +/obj/item/mod/module/flashlight/generate_worn_overlay(mutable_appearance/standing) + . = ..() + if(!active) + return + var/mutable_appearance/light_icon = mutable_appearance(overlay_icon_file, "module_light_on", layer = standing + 0.2) + light_icon.appearance_flags = RESET_COLOR + light_icon.color = light_color + . += light_icon + +///Dispenser - Dispenses an item after a time passes. +/obj/item/mod/module/dispenser + name = "MOD burger dispenser module" + desc = "A rare piece of technology reverse-engineered from a prototype found in a Donk Corporation vessel. \ + This can draw incredible amounts of power from the suit's charge to create edible organic matter in the \ + palm of the wearer's glove; however, research seemed to have entirely stopped at burgers. \ + Notably, all attempts to get it to dispense Earl Grey tea have failed." + icon_state = "dispenser" + module_type = MODULE_USABLE + complexity = 3 + use_power_cost = DEFAULT_CHARGE_DRAIN * 2 + incompatible_modules = list(/obj/item/mod/module/dispenser) + cooldown_time = 5 SECONDS + /// Path we dispense. + var/dispense_type = /obj/item/reagent_containers/food/snacks/burger + /// Time it takes for us to dispense. + var/dispense_time = 0 SECONDS + +/obj/item/mod/module/dispenser/on_use() + . = ..() + if(!.) + return + if(dispense_time && !do_after(mod.wearer, dispense_time, target = mod)) + balloon_alert(mod.wearer, "interrupted!") + return FALSE + var/obj/item/dispensed = new dispense_type(mod.wearer.loc) + mod.wearer.put_in_hands(dispensed) + balloon_alert(mod.wearer, "[dispensed] dispensed") + playsound(src, 'sound/machines/click.ogg', 100, TRUE) + drain_power(use_power_cost) + return dispensed + +///Thermal Regulator - Regulates the wearer's core temperature. +/obj/item/mod/module/thermal_regulator + name = "MOD thermal regulator module" + desc = "Advanced climate control, using an inner body glove interwoven with thousands of tiny, \ + flexible cooling lines. This circulates coolant at various user-controlled temperatures, \ + ensuring they're comfortable; even if they're some that like it hot." + icon_state = "regulator" + module_type = MODULE_TOGGLE + complexity = 2 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + incompatible_modules = list(/obj/item/mod/module/thermal_regulator) + cooldown_time = 0.5 SECONDS + /// The temperature we are regulating to. + var/temperature_setting = BODYTEMP_NORMAL + /// Minimum temperature we can set. + var/min_temp = 293.15 + /// Maximum temperature we can set. + var/max_temp = 318.15 + +/obj/item/mod/module/thermal_regulator/get_configuration() + . = ..() + .["temperature_setting"] = add_ui_configuration("Temperature", "number", temperature_setting - T0C) + +/obj/item/mod/module/thermal_regulator/configure_edit(key, value) + switch(key) + if("temperature_setting") + temperature_setting = clamp(value + T0C, min_temp, max_temp) + +/obj/item/mod/module/thermal_regulator/on_active_process(delta_time) + mod.wearer.adjust_bodytemperature(get_temp_change_amount((temperature_setting - mod.wearer.bodytemperature), 0.08 * delta_time)) + +///DNA Lock - Prevents people without the set DNA from activating the suit. +/obj/item/mod/module/dna_lock + name = "MOD DNA lock module" + desc = "A module which engages with the various locks and seals tied to the suit's systems, \ + enabling it to only be worn by someone corresponding with the user's exact DNA profile; \ + however, this incredibly sensitive module is shorted out by EMPs. Luckily, cloning has been outlawed." + icon_state = "dnalock" + module_type = MODULE_USABLE + complexity = 2 + use_power_cost = DEFAULT_CHARGE_DRAIN * 3 + incompatible_modules = list(/obj/item/mod/module/dna_lock/*, obj/item/mod/module/eradication_lock*/) + cooldown_time = 0.5 SECONDS + /// The DNA we lock with. + var/dna = null + +/obj/item/mod/module/dna_lock/on_install() + RegisterSignal(mod, COMSIG_MOD_ACTIVATE, PROC_REF(on_mod_activation)) + RegisterSignal(mod, COMSIG_MOD_MODULE_REMOVAL, PROC_REF(on_mod_removal)) + RegisterSignal(mod, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp)) + RegisterSignal(mod, COMSIG_ATOM_EMAG_ACT, PROC_REF(on_emag)) + +/obj/item/mod/module/dna_lock/on_uninstall(deleting = FALSE) + UnregisterSignal(mod, COMSIG_MOD_ACTIVATE) + UnregisterSignal(mod, COMSIG_MOD_MODULE_REMOVAL) + UnregisterSignal(mod, COMSIG_ATOM_EMP_ACT) + UnregisterSignal(mod, COMSIG_ATOM_EMAG_ACT) + +/obj/item/mod/module/dna_lock/on_use() + . = ..() + if(!.) + return + dna = mod.wearer.dna.unique_enzymes + balloon_alert(mod.wearer, "dna updated") + drain_power(use_power_cost) + +/obj/item/mod/module/dna_lock/emp_act(severity) + . = ..() + if(. & EMP_PROTECT_SELF) + return + on_emp(src, severity) + +/obj/item/mod/module/dna_lock/emag_act(mob/user, obj/item/card/emag/emag_card) + . = ..() + on_emag(src, user, emag_card) + +/obj/item/mod/module/dna_lock/proc/dna_check(mob/user) + if(!iscarbon(user)) + return FALSE + var/mob/living/carbon/carbon_user = user + if(!dna || (carbon_user.has_dna() && carbon_user.dna.unique_enzymes == dna)) + return TRUE + balloon_alert(user, "dna locked!") + return FALSE + +/obj/item/mod/module/dna_lock/proc/on_emp(datum/source, severity) + SIGNAL_HANDLER + + dna = null + +/obj/item/mod/module/dna_lock/proc/on_emag(datum/source, mob/user, obj/item/card/emag/emag_card) + SIGNAL_HANDLER + + dna = null + +/obj/item/mod/module/dna_lock/proc/on_mod_activation(datum/source, mob/user) + SIGNAL_HANDLER + + if(!dna_check(user)) + return MOD_CANCEL_ACTIVATE + +/obj/item/mod/module/dna_lock/proc/on_mod_removal(datum/source, mob/user) + SIGNAL_HANDLER + + if(!dna_check(user)) + return MOD_CANCEL_REMOVAL + +///Plasma Stabilizer - Prevents plasmamen from igniting in the suit +/obj/item/mod/module/plasma_stabilizer + name = "MOD plasma stabilizer module" + desc = "This system essentially forms an atmosphere of its' own inside the suit, \ + safely ejecting oxygen from the inside and allowing the wearer, a plasmaman, \ + to have their internal plasma circulate around them somewhat like a sauna. \ + This prevents them from self-igniting, and leads to greater comfort overall. \ + The purple glass of the visor seems to be constructed for nostalgic purposes." + icon_state = "plasma_stabilizer" + complexity = 1 + idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + incompatible_modules = list(/obj/item/mod/module/plasma_stabilizer) + overlay_state_inactive = "module_plasma" + +/obj/item/mod/module/plasma_stabilizer/on_equip() + ADD_TRAIT(mod.wearer, TRAIT_NOSELFIGNITION_HEAD_ONLY, MOD_TRAIT) + +/obj/item/mod/module/plasma_stabilizer/on_unequip() + REMOVE_TRAIT(mod.wearer, TRAIT_NOSELFIGNITION_HEAD_ONLY, MOD_TRAIT) + + +//Finally, https://pipe.miroware.io/5b52ba1d94357d5d623f74aa/mspfa/Nuke%20Ops/Panels/0648.gif can be real: +///Hat Stabilizer - Allows displaying a hat over the MOD-helmet, à la plasmamen helmets. +/obj/item/mod/module/hat_stabilizer + name = "MOD hat stabilizer module" + desc = "A simple set of deployable stands, directly atop one's head; \ + these will deploy under a select few hats to keep them from falling off, allowing them to be worn atop the sealed helmet. \ + You still need to take the hat off your head while the helmet deploys, though. \ + This is a must-have for Nanotrasen Captains, enabling them to show off their authoritative hat even while in their MODsuit." + icon_state = "hat_holder" + incompatible_modules = list(/obj/item/mod/module/hat_stabilizer) + /*Intentionally left inheriting 0 complexity and removable = TRUE; + even though it comes inbuilt into the Magnate/Corporate MODS and spawns in maints, I like the idea of stealing them*/ + /// Currently "stored" hat. No armor or function will be inherited, ONLY the icon. + var/obj/item/clothing/head/attached_hat + /// Whitelist of attachable hats, read note in Initialize() below this line + var/static/list/attachable_hats_list + +/obj/item/mod/module/hat_stabilizer/Initialize(mapload) + . = ..() + attachable_hats_list = typecacheof( + //List of attachable hats. Make sure these and their subtypes are all tested, so they dont appear janky. + //This list should also be gimmicky, so captains can have fun. I.E. the Santahat, Pirate hat, Tophat, Chefhat... + //Yes, I said it, the captain should have fun. + list( + /obj/item/clothing/head/caphat, + /obj/item/clothing/head/crown, + /obj/item/clothing/head/centhat, + /obj/item/clothing/head/pirate, + /obj/item/clothing/head/santa, + /obj/item/clothing/head/kitty, + /obj/item/clothing/head/festive, + /obj/item/clothing/head/that, + /obj/item/clothing/head/nursehat, + /obj/item/clothing/head/chefhat, + /obj/item/clothing/head/papersack, + )) + +/obj/item/mod/module/hat_stabilizer/on_suit_activation() + RegisterSignal(mod.helmet, COMSIG_PARENT_EXAMINE, PROC_REF(add_examine)) + RegisterSignal(mod.helmet, COMSIG_PARENT_ATTACKBY, PROC_REF(place_hat)) + RegisterSignal(mod.helmet, COMSIG_CLICK_ALT, PROC_REF(remove_hat)) + +/obj/item/mod/module/hat_stabilizer/on_suit_deactivation(deleting = FALSE) + if(deleting) + return + if(attached_hat) //knock off the helmet if its on their head. Or, technically, auto-rightclick it for them; that way it saves us code, AND gives them the bubble + remove_hat(src, mod.wearer) + UnregisterSignal(mod.helmet, COMSIG_PARENT_EXAMINE) + UnregisterSignal(mod.helmet, COMSIG_PARENT_ATTACKBY) + UnregisterSignal(mod.helmet, COMSIG_CLICK_ALT) + +/obj/item/mod/module/hat_stabilizer/proc/add_examine(datum/source, mob/user, list/base_examine) + SIGNAL_HANDLER + if(attached_hat) + base_examine += span_notice("There's \a [attached_hat] placed on the helmet. Alt-click to remove it.") + else + base_examine += span_notice("There's nothing placed on the helmet. Yet.") + +/obj/item/mod/module/hat_stabilizer/proc/place_hat(datum/source, obj/item/hitting_item, mob/user) + SIGNAL_HANDLER + if(!istype(hitting_item, /obj/item/clothing/head)) + return + if(!mod.active) + balloon_alert(user, "suit must be active!") + return + if(!is_type_in_typecache(hitting_item, attachable_hats_list)) + balloon_alert(user, "this hat won't fit!") + return + if(attached_hat) + balloon_alert(user, "hat already attached!") + return + if(mod.wearer.transferItemToLoc(hitting_item, src, force = FALSE, silent = TRUE)) + attached_hat = hitting_item + balloon_alert(user, "hat attached, alt-click to remove") + mod.wearer.update_inv_back(mod.slot_flags) + +/obj/item/mod/module/hat_stabilizer/generate_worn_overlay() + . = ..() + if(attached_hat) + . += attached_hat.build_worn_icon(default_layer = ABOVE_MOB_LAYER, default_icon_file = 'icons/mob/clothing/head.dmi') + +/obj/item/mod/module/hat_stabilizer/proc/remove_hat(datum/source, mob/user) + SIGNAL_HANDLER + . = SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + if(!attached_hat) + return + attached_hat.forceMove(drop_location()) + if(user.put_in_active_hand(attached_hat)) + balloon_alert(user, "hat removed") + else + balloon_alert_to_viewers("the hat falls to the floor!") + attached_hat = null + mod.wearer.update_inv_back(mod.slot_flags) diff --git a/code/modules/mod/modules/modules_maint.dm b/code/modules/mod/modules/modules_maint.dm new file mode 100644 index 00000000000..dc0f595c19f --- /dev/null +++ b/code/modules/mod/modules/modules_maint.dm @@ -0,0 +1,148 @@ +//Maint modules for MODsuits + +///Springlock Mechanism - allows your modsuit to activate faster, but reagents are very dangerous. +/obj/item/mod/module/springlock + name = "MOD springlock module" + desc = "A module that spans the entire size of the MOD unit, sitting under the outer shell. \ + This mechanical exoskeleton pushes out of the way when the user enters and it helps in booting \ + up, but was taken out of modern suits because of the springlock's tendency to \"snap\" back \ + into place when exposed to humidity. You know what it's like to have an entire exoskeleton enter you?" + icon_state = "springlock" + complexity = 3 // it is inside every part of your suit, so + incompatible_modules = list(/obj/item/mod/module/springlock) + +/obj/item/mod/module/springlock/on_install() + mod.activation_step_time *= 0.5 + +/obj/item/mod/module/springlock/on_uninstall(deleting = FALSE) + mod.activation_step_time *= 2 + +/obj/item/mod/module/springlock/on_suit_activation() + RegisterSignal(mod.wearer, COMSIG_ATOM_EXPOSE_REAGENTS, PROC_REF(on_wearer_exposed)) + +/obj/item/mod/module/springlock/on_suit_deactivation(deleting = FALSE) + UnregisterSignal(mod.wearer, COMSIG_ATOM_EXPOSE_REAGENTS) + +///Signal fired when wearer is exposed to reagents +/obj/item/mod/module/springlock/proc/on_wearer_exposed(atom/source, list/reagents, datum/reagents/source_reagents, methods, volume_modifier, show_message) + SIGNAL_HANDLER + + if(!(methods & (VAPOR|PATCH|TOUCH))) + return //remove non-touch reagent exposure + to_chat(mod.wearer, span_danger("[src] makes an ominous click sound...")) + playsound(src, 'sound/items/modsuit/springlock.ogg', 75, TRUE) + addtimer(CALLBACK(src, PROC_REF(snap_shut)), rand(3 SECONDS, 5 SECONDS)) + RegisterSignal(mod, COMSIG_MOD_ACTIVATE, PROC_REF(on_activate_spring_block)) + +///Signal fired when wearer attempts to activate/deactivate suits +/obj/item/mod/module/springlock/proc/on_activate_spring_block(datum/source, user) + SIGNAL_HANDLER + + balloon_alert(user, "springlocks aren't responding...?") + return MOD_CANCEL_ACTIVATE + +///Delayed death proc of the suit after the wearer is exposed to reagents +/obj/item/mod/module/springlock/proc/snap_shut() + UnregisterSignal(mod, COMSIG_MOD_ACTIVATE) + if(!mod.wearer) //while there is a guaranteed user when on_wearer_exposed() fires, that isn't the same case for this proc + return + mod.wearer.visible_message("[src] inside [mod.wearer]'s [mod.name] snaps shut, mutilating the user inside!", span_userdanger("*SNAP*")) + mod.wearer.force_scream() + playsound(mod.wearer, 'sound/effects/snap.ogg', 75, TRUE, frequency = 0.5) + playsound(mod.wearer, 'sound/effects/splat.ogg', 50, TRUE, frequency = 0.5) + mod.wearer.apply_damage(500, BRUTE, forced = TRUE, spread_damage = TRUE) //boggers, bogchamp, etc + if(!HAS_TRAIT(mod.wearer, TRAIT_NODEATH)) + mod.wearer.death() //just in case, for some reason, they're still alive + flash_color(mod.wearer, flash_color = "#FF0000", flash_time = 10 SECONDS) + +///Balloon Blower - Blows a balloon. +/obj/item/mod/module/balloon + name = "MOD balloon blower module" + desc = "A strange module invented years ago by some ingenious mimes. It blows balloons." + icon_state = "bloon" + module_type = MODULE_USABLE + complexity = 1 + use_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + incompatible_modules = list(/obj/item/mod/module/balloon) + cooldown_time = 15 SECONDS + +/obj/item/mod/module/balloon/on_use() + . = ..() + if(!.) + return + if(!do_after(mod.wearer, 10 SECONDS, target = mod)) + return FALSE + mod.wearer.adjustOxyLoss(20) + playsound(src, 'sound/items/modsuit/inflate_bloon.ogg', 50, TRUE) + var/obj/item/toy/balloon/balloon = new(get_turf(src)) + mod.wearer.put_in_hands(balloon) + drain_power(use_power_cost) + +///Paper Dispenser - Dispenses (sometimes burning) paper sheets. +/obj/item/mod/module/paper_dispenser + name = "MOD paper dispenser module" + desc = "A simple module designed by the bureaucrats of Torch Bay. \ + It dispenses 'warm, clean, and crisp sheets of paper' onto a nearby table. Usually." + icon_state = "paper_maker" + module_type = MODULE_USABLE + complexity = 1 + use_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + incompatible_modules = list(/obj/item/mod/module/paper_dispenser) + cooldown_time = 5 SECONDS + /// The total number of sheets created by this MOD. The more sheets, them more likely they set on fire. + var/num_sheets_dispensed = 0 + +/obj/item/mod/module/paper_dispenser/on_use() + . = ..() + if(!.) + return + if(!do_after(mod.wearer, 1 SECONDS, target = mod)) + return FALSE + + var/obj/item/paper/crisp_paper = new(get_turf(src)) + crisp_paper.desc = "It's crisp and warm to the touch. Must be fresh." + + var/obj/structure/table/nearby_table = locate() in range(1, mod.wearer) + playsound(get_turf(src), 'sound/machines/click.ogg', 50, TRUE) + balloon_alert(mod.wearer, "dispensed paper[nearby_table ? " onto table":""]") + + mod.wearer.put_in_hands(crisp_paper) + if(nearby_table) + mod.wearer.transferItemToLoc(crisp_paper, nearby_table.drop_location(), silent = FALSE) + + // Up to a 30% chance to set the sheet on fire, +2% per sheet made + if(prob(min(num_sheets_dispensed * 2, 30))) + if(crisp_paper in mod.wearer.held_items) + mod.wearer.dropItemToGround(crisp_paper, force = TRUE) + crisp_paper.balloon_alert(mod.wearer, "pc load letter!") + crisp_paper.visible_message(span_warning("[crisp_paper] bursts into flames, it's too crisp!")) + crisp_paper.fire_act(1000, 100) + + drain_power(use_power_cost) + num_sheets_dispensed++ + + +///Stamper - Extends a stamp that can switch between accept/deny modes. +/obj/item/mod/module/stamp + name = "MOD stamper module" + desc = "A module installed into the wrist of the suit, this functions as a high-power stamp, \ + able to switch between accept and deny modes." + icon_state = "stamp" + module_type = MODULE_ACTIVE + complexity = 1 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + device = /obj/item/stamp/mod + incompatible_modules = list(/obj/item/mod/module/stamp) + cooldown_time = 0.5 SECONDS + +/obj/item/stamp/mod + name = "MOD electronic stamp" + desc = "A high-power stamp, able to switch between accept and deny mode when used." + +/obj/item/stamp/mod/attack_self(mob/user, modifiers) + . = ..() + if(icon_state == "stamp-ok") + icon_state = "stamp-deny" + else + icon_state = "stamp-ok" + balloon_alert(user, "switched mode") diff --git a/code/modules/mod/modules/modules_medical.dm b/code/modules/mod/modules/modules_medical.dm new file mode 100644 index 00000000000..798f065ffe7 --- /dev/null +++ b/code/modules/mod/modules/modules_medical.dm @@ -0,0 +1,110 @@ +//Medical modules for MODsuits + +#define HEALTH_SCAN "Health" +#define WOUND_SCAN "Wound" +#define CHEM_SCAN "Chemical" + +///Health Analyzer - Gives the user a ranged health analyzer and their health status in the panel. +/obj/item/mod/module/health_analyzer + name = "MOD health analyzer module" + desc = "A module installed into the glove of the suit. This is a high-tech biological scanning suite, \ + allowing the user indepth information on the vitals and injuries of others even at a distance, \ + all with the flick of the wrist. Data is displayed in a convenient package on HUD in the helmet, \ + but it's up to you to do something with it." + icon_state = "health" + module_type = MODULE_ACTIVE + complexity = 2 + use_power_cost = DEFAULT_CHARGE_DRAIN + incompatible_modules = list(/obj/item/mod/module/health_analyzer) + cooldown_time = 0.5 SECONDS + tgui_id = "health_analyzer" + /// Scanning mode, changes how we scan something. + var/mode = HEALTH_SCAN + /// List of all scanning modes. + var/static/list/modes = list(HEALTH_SCAN, WOUND_SCAN, CHEM_SCAN) + +/obj/item/mod/module/health_analyzer/add_ui_data() + . = ..() + .["userhealth"] = mod.wearer?.health || 0 + .["usermaxhealth"] = mod.wearer?.getMaxHealth() || 0 + .["userbrute"] = mod.wearer?.getBruteLoss() || 0 + .["userburn"] = mod.wearer?.getFireLoss() || 0 + .["usertoxin"] = mod.wearer?.getToxLoss() || 0 + .["useroxy"] = mod.wearer?.getOxyLoss() || 0 + +/obj/item/mod/module/health_analyzer/on_select_use(atom/target) + . = ..() + if(!.) + return + if(!isliving(target) || !mod.wearer.can_read(src)) + return + switch(mode) + if(HEALTH_SCAN) + healthscan(mod.wearer, target) + if(CHEM_SCAN) + chemscan(mod.wearer, target) + drain_power(use_power_cost) + +/obj/item/mod/module/health_analyzer/get_configuration() + . = ..() + .["mode"] = add_ui_configuration("Scan Mode", "list", mode, modes) + +/obj/item/mod/module/health_analyzer/configure_edit(key, value) + switch(key) + if("mode") + mode = value + +#undef HEALTH_SCAN +#undef WOUND_SCAN +#undef CHEM_SCAN + +///Quick Carry - Lets the user carry bodies quicker. +/obj/item/mod/module/quick_carry + name = "MOD quick carry module" + desc = "A suite of advanced servos, redirecting power from the suit's arms to help carry the wounded; \ + or simply for fun. However, Nanotrasen has locked the module's ability to assist in hand-to-hand combat." + icon_state = "carry" + complexity = 1 + idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + incompatible_modules = list(/obj/item/mod/module/quick_carry) + +/obj/item/mod/module/quick_carry/on_suit_activation() + ADD_TRAIT(mod.wearer, TRAIT_QUICK_CARRY, MOD_TRAIT) + +/obj/item/mod/module/quick_carry/on_suit_deactivation(deleting = FALSE) + REMOVE_TRAIT(mod.wearer, TRAIT_QUICK_CARRY, MOD_TRAIT) + +/obj/item/mod/module/quick_carry/advanced + name = "MOD advanced quick carry module" + removable = FALSE + complexity = 0 + +/obj/item/mod/module/quick_carry/on_suit_activation() + ADD_TRAIT(mod.wearer, TRAIT_QUICKER_CARRY, MOD_TRAIT) + ADD_TRAIT(mod.wearer, TRAIT_FASTMED, MOD_TRAIT) + +/obj/item/mod/module/quick_carry/on_suit_deactivation(deleting = FALSE) + REMOVE_TRAIT(mod.wearer, TRAIT_QUICKER_CARRY, MOD_TRAIT) + REMOVE_TRAIT(mod.wearer, TRAIT_FASTMED, MOD_TRAIT) + +///Injector - Gives the suit an extendable large-capacity piercing syringe. +/obj/item/mod/module/injector + name = "MOD injector module" + desc = "A module installed into the wrist of the suit, this functions as a high-capacity syringe, \ + with a tip fine enough to locate the emergency injection ports on any suit of armor, \ + penetrating it with ease. Even yours." + icon_state = "injector" + module_type = MODULE_ACTIVE + complexity = 1 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + device = /obj/item/reagent_containers/syringe/mod + incompatible_modules = list(/obj/item/mod/module/injector) + cooldown_time = 0.5 SECONDS + +/obj/item/reagent_containers/syringe/mod + name = "MOD injector syringe" + desc = "A high-capacity syringe, with a tip fine enough to locate \ + the emergency injection ports on any suit of armor, penetrating it with ease. Even yours." + amount_per_transfer_from_this = 30 + possible_transfer_amounts = list(5, 10, 15, 20, 30) + volume = 30 diff --git a/code/modules/mod/modules/modules_ninja.dm b/code/modules/mod/modules/modules_ninja.dm new file mode 100644 index 00000000000..767a229d98f --- /dev/null +++ b/code/modules/mod/modules/modules_ninja.dm @@ -0,0 +1,446 @@ +//Ninja modules for MODsuits + +///Cloaking - Lowers the user's visibility, can be interrupted by being touched or attacked. +/obj/item/mod/module/stealth + name = "MOD prototype cloaking module" + desc = "A complete retrofitting of the suit, this is a form of visual concealment tech employing esoteric technology \ + to bend light around the user, as well as mimetic materials to make the surface of the suit match the \ + surroundings based off sensor data. For some reason, this tech is rarely seen." + icon_state = "cloak" + module_type = MODULE_TOGGLE + complexity = 4 + active_power_cost = DEFAULT_CHARGE_DRAIN * 2 + use_power_cost = DEFAULT_CHARGE_DRAIN * 10 + incompatible_modules = list(/obj/item/mod/module/stealth) + cooldown_time = 5 SECONDS + /// Whether or not the cloak turns off on bumping. + var/bumpoff = TRUE + /// The alpha applied when the cloak is on. + var/stealth_alpha = 50 + +/obj/item/mod/module/stealth/on_activation() + . = ..() + if(!.) + return + if(bumpoff) + RegisterSignal(mod.wearer, COMSIG_LIVING_MOB_BUMP, PROC_REF(unstealth)) + RegisterSignal(mod.wearer, COMSIG_HUMAN_MELEE_UNARMED_ATTACK, PROC_REF(on_unarmed_attack)) + RegisterSignal(mod.wearer, COMSIG_ATOM_BULLET_ACT, PROC_REF(on_bullet_act)) + RegisterSignal(mod.wearer, list(COMSIG_MOB_ITEM_ATTACK, COMSIG_PARENT_ATTACKBY, COMSIG_ATOM_ATTACK_HAND/*, COMSIG_ATOM_HITBY*/, COMSIG_ATOM_HULK_ATTACK, COMSIG_ATOM_ATTACK_PAW, COMSIG_CARBON_CUFF_ATTEMPTED), PROC_REF(unstealth)) + animate(mod.wearer, alpha = stealth_alpha, time = 1.5 SECONDS) + drain_power(use_power_cost) + +/obj/item/mod/module/stealth/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + if(bumpoff) + UnregisterSignal(mod.wearer, COMSIG_LIVING_MOB_BUMP) + UnregisterSignal(mod.wearer, list(COMSIG_HUMAN_MELEE_UNARMED_ATTACK, COMSIG_MOB_ITEM_ATTACK, COMSIG_PARENT_ATTACKBY, COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_BULLET_ACT/*, COMSIG_ATOM_HITBY*/, COMSIG_ATOM_HULK_ATTACK, COMSIG_ATOM_ATTACK_PAW, COMSIG_CARBON_CUFF_ATTEMPTED)) + animate(mod.wearer, alpha = 255, time = 1.5 SECONDS) + +/obj/item/mod/module/stealth/proc/unstealth(datum/source) + SIGNAL_HANDLER + + to_chat(mod.wearer, span_warning("[src] gets discharged from contact!")) + do_sparks(2, TRUE, src) + drain_power(use_power_cost) + on_deactivation(display_message = TRUE, deleting = FALSE) + +/obj/item/mod/module/stealth/proc/on_unarmed_attack(datum/source, atom/target) + SIGNAL_HANDLER + + if(!isliving(target)) + return + unstealth(source) + +/obj/item/mod/module/stealth/proc/on_bullet_act(datum/source, obj/projectile/projectile) + SIGNAL_HANDLER + + if(projectile.nodamage) + return + unstealth(source) + +//Advanced Cloaking - Doesn't turf off on bump, less power drain, more stealthy. +/obj/item/mod/module/stealth/ninja + name = "MOD advanced cloaking module" + desc = "The latest in stealth technology, this module is a definite upgrade over previous versions. \ + The field has been tuned to be even more responsive and fast-acting, with enough stability to \ + continue operation of the field even if the user bumps into others. \ + The power draw has been reduced drastically, making this perfect for activities like \ + standing near sentry turrets for extended periods of time." + icon_state = "cloak_ninja" + bumpoff = FALSE + stealth_alpha = 20 + active_power_cost = DEFAULT_CHARGE_DRAIN + use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + cooldown_time = 3 SECONDS + +///Camera Vision - Prevents flashes, blocks tracking. +/obj/item/mod/module/welding/camera_vision + name = "MOD camera vision module" + desc = "A module installed into the suit's helmet. This specialized piece of technology is built for subterfuge, \ + replacing the standard visor with a nanotech display; capable of displaying specialized imagery at \ + just the right frequency to jam all known forms of camera tracking and facial recognition, \ + as well as automatically dimming incoming flashes of light to protect the user's eyes. Become the unseen." + icon_state = "welding_camera" + removable = FALSE + complexity = 0 + overlay_state_inactive = null + +/obj/item/mod/module/welding/camera_vision/on_suit_activation() + . = ..() + RegisterSignal(mod.wearer, COMSIG_LIVING_CAN_TRACK, PROC_REF(can_track)) + +/obj/item/mod/module/welding/camera_vision/on_suit_deactivation(deleting = FALSE) + . = ..() + UnregisterSignal(mod.wearer, COMSIG_LIVING_CAN_TRACK) + +/obj/item/mod/module/welding/camera_vision/proc/can_track(datum/source, mob/user) + SIGNAL_HANDLER + + return COMPONENT_CANT_TRACK + +//Ninja Star Dispenser - Dispenses ninja stars. +/obj/item/mod/module/dispenser/ninja + name = "MOD ninja star dispenser module" + desc = "This piece of Spider Clan technology can exploit known energy-matter equivalence principles, \ + using the nanites already hosted in the wearer's suit to transmute into monomolecular shuriken. \ + While these lack the intense bleeding edge of conventional throwing stars, \ + they have been set to electrify fleeing targets; and branded with the Spider Clan symbol." + dispense_type = /obj/item/throwing_star/stamina + cooldown_time = 0.5 SECONDS + +///Hacker - This module hooks onto your right-clicks with empty hands and causes ninja actions. +/obj/item/mod/module/hacker + name = "MOD hacker module" + desc = "Built for one purpose, electronic warfare, this module is built into the hands. \ + Using near-field communication alongside precise electro-stimulation of the wires in machines, \ + this decker's dream is normally used to pass through doors like a phantom. \ + It's also capable of non-precise electro-stimulation of an assassin-saboteur's opponents on disarming attacks." + icon_state = "hacker" + removable = FALSE + incompatible_modules = list(/obj/item/mod/module/hacker) + /// Minimum amount of power we can drain in a single drain action + var/mindrain = 200 + /// Maximum amount of power we can drain in a single drain action + var/maxdrain = 400 + /// Whether or not the communication console hack was used to summon another antagonist. + var/communication_console_hack_success = FALSE + /// How many times the module has been used to force open doors. + var/door_hack_counter = 0 + ///Used for the research objective (see antagonist file) + var/datum/techweb/stored_research + +/obj/item/mod/module/hacker/on_suit_activation() + RegisterSignal(mod.wearer, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, PROC_REF(hack)) + +/obj/item/mod/module/hacker/on_suit_deactivation(deleting = FALSE) + UnregisterSignal(mod.wearer, COMSIG_HUMAN_EARLY_UNARMED_ATTACK) + +/obj/item/mod/module/hacker/proc/hack(mob/living/carbon/human/source, atom/target, proximity, modifiers) + SIGNAL_HANDLER + + if(!LAZYACCESS(modifiers, RIGHT_CLICK) || !proximity) + return NONE + target.add_fingerprint(mod.wearer) + return target.ninjadrain_act(mod.wearer, src) + +/obj/item/mod/module/hacker/proc/charge_message(atom/drained_atom, drain_amount) + if(drain_amount) + to_chat(mod.wearer, span_notice("Получено [drain_amount] единиц энергии с [drained_atom].")) + else + to_chat(mod.wearer, span_warning("[drained_atom] истощен, необходимо найти другой источник питания!")) + +///Weapon Recall - Teleports your katana to you, prevents gun use. +/obj/item/mod/module/weapon_recall + name = "MOD weapon recall module" + desc = "The cornerstone of a clanmember's life as a blademaster, and a module symbolizing their eternal bond with their weapon. \ + This hooks to the micro bluespace drive inside an energy katana's handle, capable of recalling it to the user's \ + skilled hands wherever they are. However, those that make such a bond with their weapon are cursed to \ + fusing their existence with acts of combat, with a singular purpose; Cutting Down Their Opponent. \ + Their hand a hand that is cutting, their body a body that is cutting, their mind, a mind that is cutting. \ + Ranged weapons are forbidden." + icon_state = "recall" + removable = FALSE + module_type = MODULE_USABLE + use_power_cost = DEFAULT_CHARGE_DRAIN * 2 + incompatible_modules = list(/obj/item/mod/module/weapon_recall) + cooldown_time = 0.5 SECONDS + /// The item linked to the module that will get recalled. + var/obj/item/linked_weapon + /// The accepted typepath we can link to. + var/accepted_type = /obj/item/melee/sword/energy_katana + +/obj/item/mod/module/weapon_recall/on_suit_activation() + ADD_TRAIT(mod.wearer, TRAIT_NOGUNS, MOD_TRAIT) + +/obj/item/mod/module/weapon_recall/on_suit_deactivation(deleting = FALSE) + REMOVE_TRAIT(mod.wearer, TRAIT_NOGUNS, MOD_TRAIT) + +/obj/item/mod/module/weapon_recall/on_use() + . = ..() + if(!.) + return + if(!linked_weapon) + var/obj/item/weapon_to_link = mod.wearer.is_holding_item_of_type(accepted_type) + if(!weapon_to_link) + balloon_alert(mod.wearer, "can't locate weapon!") + return + set_weapon(weapon_to_link) + balloon_alert(mod.wearer, "[linked_weapon.name] linked") + return + if(linked_weapon in mod.wearer.get_all_contents()) + balloon_alert(mod.wearer, "already on self!") + return + var/distance = get_dist(mod.wearer, linked_weapon) + var/in_view = (linked_weapon in view(mod.wearer)) + if(!in_view && !drain_power(use_power_cost * distance)) + balloon_alert(mod.wearer, "not enough charge!") + return + linked_weapon.forceMove(linked_weapon.drop_location()) + if(in_view) + do_sparks(5, FALSE, linked_weapon) + mod.wearer.visible_message(span_danger("[linked_weapon] flies towards [mod.wearer]!"),span_warning("You hold out your hand and [linked_weapon] flies towards you!")) + linked_weapon.throw_at(mod.wearer, distance+1, linked_weapon.throw_speed, mod.wearer) + else + recall_weapon() + +/obj/item/mod/module/weapon_recall/proc/set_weapon(obj/item/weapon) + linked_weapon = weapon + RegisterSignal(linked_weapon, COMSIG_MOVABLE_IMPACT, PROC_REF(catch_weapon)) + RegisterSignal(linked_weapon, COMSIG_PARENT_QDELETING, PROC_REF(deleted_weapon)) + +/obj/item/mod/module/weapon_recall/proc/recall_weapon(caught = FALSE) + linked_weapon.forceMove(get_turf(src)) + var/alert = "" + if(mod.wearer.put_in_hands(linked_weapon)) + alert = "[linked_weapon.name] teleports to your hand" + else if(mod.wearer.equip_to_slot_if_possible(linked_weapon, ITEM_SLOT_BELT, disable_warning = TRUE)) + alert = "[linked_weapon.name] sheathes itself in your belt" + else + alert = "[linked_weapon.name] teleports under you" + if(caught) + if(mod.wearer.is_holding(linked_weapon)) + alert = "you catch [linked_weapon.name]" + else + alert = "[linked_weapon.name] lands under you" + else + do_sparks(5, FALSE, linked_weapon) + if(alert) + balloon_alert(mod.wearer, alert) + +/obj/item/mod/module/weapon_recall/proc/catch_weapon(obj/item/source, atom/hit_atom, datum/thrownthing/thrownthing) + SIGNAL_HANDLER + + if(!mod) + return + if(hit_atom != mod.wearer) + return + INVOKE_ASYNC(src, PROC_REF(recall_weapon), TRUE) + return COMPONENT_MOVABLE_IMPACT_NEVERMIND + +/obj/item/mod/module/weapon_recall/proc/deleted_weapon(obj/item/source) + SIGNAL_HANDLER + + linked_weapon = null + +//Reinforced DNA Lock - Gibs if wrong DNA, emp-proof. +/obj/item/mod/module/dna_lock/reinforced + name = "MOD reinforced DNA lock module" + desc = "A module which engages with the various locks and seals tied to the suit's systems, \ + enabling it to only be worn by someone corresponding with the user's exact DNA profile. \ + Due to utilizing a skintight dampening shield, this one is entirely sealed against electromagnetic interference; \ + it also dutifully protects the secrets of the Spider Clan from unknowing outsiders." + icon_state = "dnalock_ninja" + use_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + +/obj/item/mod/module/dna_lock/reinforced/on_mod_activation(datum/source, mob/user) + . = ..() + if(. != MOD_CANCEL_ACTIVATE || !isliving(user)) + return + var/mob/living/living_user = user + to_chat(living_user, span_danger("fATaL EERRoR: 382200-*#00CODE RED\nUNAUTHORIZED USE DETECteD\nCoMMENCING SUB-R0UTIN3 13...\nTERMInATING U-U-USER...")) + living_user.gib() + +/obj/item/mod/module/dna_lock/reinforced/on_emp(datum/source, severity) + return + +//EMP Pulse - In addition to normal shielding, can also launch an EMP itself. +/obj/item/mod/module/emp_shield/pulse + name = "MOD EMP pulse module" + desc = "This module is normally set to activate on dramatic gestures, inverting and expanding the suit's \ + EMP dampening shield to cause an electromagnetic pulse of its own. While this won't interfere with the wearer, \ + it will piss off everyone around them." + icon_state = "emp_pulse" + module_type = MODULE_USABLE + use_power_cost = DEFAULT_CHARGE_DRAIN * 10 + cooldown_time = 8 SECONDS + +/obj/item/mod/module/emp_shield/pulse/on_use() + . = ..() + if(!.) + return + playsound(src, 'sound/effects/empulse.ogg', 60, TRUE) + empulse(src, heavy_range = 4, light_range = 6) + drain_power(use_power_cost) + +///Status Readout - Puts a lot of information including health, nutrition, fingerprints, temperature to the suit TGUI. +/obj/item/mod/module/status_readout + name = "MOD status readout module" + desc = "A once-common module, this technology went unfortunately out of fashion; \ + and right into the arachnid grip of the Spider Clan. This hooks into the suit's spine, \ + capable of capturing and displaying all possible biometric data of the wearer; sleep, nutrition, fitness, fingerprints, \ + and even useful information such as their overall health and wellness." + icon_state = "status" + complexity = 1 + use_power_cost = DEFAULT_CHARGE_DRAIN * 0.1 + incompatible_modules = list(/obj/item/mod/module/status_readout) + tgui_id = "status_readout" + +/obj/item/mod/module/status_readout/add_ui_data() + . = ..() + .["statustime"] = station_time_timestamp() + .["statusid"] = GLOB.round_id + .["statushealth"] = mod.wearer?.health || 0 + .["statusmaxhealth"] = mod.wearer?.getMaxHealth() || 0 + .["statusbrute"] = mod.wearer?.getBruteLoss() || 0 + .["statusburn"] = mod.wearer?.getFireLoss() || 0 + .["statustoxin"] = mod.wearer?.getToxLoss() || 0 + .["statusoxy"] = mod.wearer?.getOxyLoss() || 0 + .["statustemp"] = mod.wearer?.bodytemperature || 0 + .["statusnutrition"] = mod.wearer?.nutrition || 0 + //.["statusfingerprints"] = mod.wearer ? md5(mod.wearer.dna.unique_identity) : null + .["statusdna"] = mod.wearer?.dna.unique_enzymes + .["statusviruses"] = null + if(!length(mod.wearer?.diseases)) + return + var/list/viruses = list() + for(var/datum/disease/virus as anything in mod.wearer.diseases) + var/list/virus_data = list() + virus_data["name"] = virus.name + virus_data["type"] = virus.spread_text + virus_data["stage"] = virus.stage + virus_data["maxstage"] = virus.max_stages + virus_data["cure"] = virus.cure_text + viruses += list(virus_data) + .["statusviruses"] = viruses + +///Energy Net - Ensnares enemies in a net that prevents movement. +/obj/item/mod/module/energy_net + name = "MOD energy net module" + desc = "A custom-built net-thrower. While conventional implementations of this capturing device \ + tilize monomolecular fibers or cutting razorwire, this uses hardlight technology to deploy a \ + trapping field capable of immobilizing even the strongest opponents." + icon_state = "energy_net" + removable = FALSE + module_type = MODULE_ACTIVE + use_power_cost = DEFAULT_CHARGE_DRAIN * 6 + incompatible_modules = list(/obj/item/mod/module/energy_net) + cooldown_time = 1.5 SECONDS + +/obj/item/mod/module/energy_net/on_select_use(atom/target) + . = ..() + if(!.) + return + if(!isliving(target)) + balloon_alert(mod.wearer, "invalid target!") + return + var/mob/living/living_target = target + if(locate(/obj/structure/energy_net) in get_turf(living_target)) + balloon_alert(mod.wearer, "already trapped!") + return + for(var/turf/between_turf as anything in get_line(get_turf(mod.wearer), get_turf(living_target))) + if(between_turf.density) + balloon_alert(mod.wearer, "not through obstacles!") + return + //if(IS_SPACE_NINJA(mod.wearer)) + // mod.wearer.say("Get over here!", forced = type) + mod.wearer.Beam(living_target, "n_beam", time = 1.5 SECONDS) + var/obj/structure/energy_net/net = new /obj/structure/energy_net(living_target.drop_location()) + net.affecting = living_target + mod.wearer.visible_message(span_danger("[mod.wearer] caught [living_target] with an energy net!"), span_notice("You caught [living_target] with an energy net!")) + if(living_target.buckled) + living_target.buckled.unbuckle_mob(living_target, force = TRUE) + net.buckle_mob(living_target, force = TRUE) + drain_power(use_power_cost) + +///Adrenaline Boost - Stops all stuns the ninja is affected with, increases his speed. +/obj/item/mod/module/adrenaline_boost + name = "MOD adrenaline boost module" + desc = "The secrets of the Spider Clan are many. The exact specifications of their suits, \ + the techniques they use to make every singular cut make their enemies weep with admiration, \ + but one of their greatest mysteries is the chemical compound their assassin-saboteurs use in times of need. \ + It's capable of clearing any fatigue whatsoever from the user, any immobilizing effect, and can even \ + cure total paralysis. All that's known is that the fluid requires radiation to properly 'cook,' \ + so this module demands radium to be refilled with." + icon_state = "adrenaline_boost" + removable = FALSE + module_type = MODULE_USABLE + incompatible_modules = list(/obj/item/mod/module/adrenaline_boost) + cooldown_time = 12 SECONDS + /// What reagent we need to refill? + var/reagent_required = /datum/reagent/uranium/radium + /// How much of a reagent we need to refill the boost. + var/reagent_required_amount = 20 + +/obj/item/mod/module/adrenaline_boost/Initialize(mapload) + . = ..() + create_reagents(reagent_required_amount) + reagents.add_reagent(reagent_required, reagent_required_amount) + +/obj/item/mod/module/adrenaline_boost/on_use() + if(!reagents.has_reagent(reagent_required, reagent_required_amount)) + balloon_alert(mod.wearer, "no charge!") + return + . = ..() + if(!.) + return + //if(IS_SPACE_NINJA(mod.wearer)) + // mod.wearer.say(pick_list_replacements(NINJA_FILE, "lines"), forced = type) + to_chat(mod.wearer, span_notice("You have used the adrenaline boost.")) + mod.wearer.SetUnconscious(0) + mod.wearer.SetStun(0) + mod.wearer.SetKnockdown(0) + mod.wearer.SetImmobilized(0) + mod.wearer.SetParalyzed(0) + mod.wearer.adjustStaminaLoss(-200) + mod.wearer.stuttering = 0 + mod.wearer.reagents.add_reagent(/datum/reagent/medicine/stimulants, 5) + reagents.remove_reagent(reagent_required, reagents.total_volume * 0.75) + addtimer(CALLBACK(src, PROC_REF(boost_aftereffects), mod.wearer), 7 SECONDS) + +/obj/item/mod/module/adrenaline_boost/on_install() + RegisterSignal(mod, COMSIG_PARENT_ATTACKBY, PROC_REF(on_attackby)) + +/obj/item/mod/module/adrenaline_boost/on_uninstall(deleting) + UnregisterSignal(mod, COMSIG_PARENT_ATTACKBY) + +/obj/item/mod/module/adrenaline_boost/attackby(obj/item/attacking_item, mob/user, params) + if(charge_boost(attacking_item, user)) + return TRUE + return ..() + +/obj/item/mod/module/adrenaline_boost/proc/on_attackby(datum/source, obj/item/attacking_item, mob/user) + SIGNAL_HANDLER + + if(charge_boost(attacking_item, user)) + return COMPONENT_NO_AFTERATTACK + return NONE + +/obj/item/mod/module/adrenaline_boost/proc/charge_boost(obj/item/attacking_item, mob/user) + if(!attacking_item.is_open_container()) + return FALSE + if(reagents.has_reagent(reagent_required, reagent_required_amount)) + balloon_alert(mod.wearer, "already charged!") + return FALSE + if(!attacking_item.reagents.trans_id_to(src, reagent_required, reagent_required_amount)) + return FALSE + balloon_alert(mod.wearer, "charge [reagents.has_reagent(reagent_required, reagent_required_amount) ? "fully" : "partially"] reloaded") + return TRUE + +/obj/item/mod/module/adrenaline_boost/proc/boost_aftereffects(mob/affected_mob) + if(!affected_mob) + return + reagents.trans_to(affected_mob, reagents.total_volume) + to_chat(affected_mob, span_danger("You are beginning to feel the after-effect of the injection.")) diff --git a/code/modules/mod/modules/modules_science.dm b/code/modules/mod/modules/modules_science.dm new file mode 100644 index 00000000000..02025ea1b42 --- /dev/null +++ b/code/modules/mod/modules/modules_science.dm @@ -0,0 +1,132 @@ +//Science modules for MODsuits + +///Reagent Scanner - Lets the user scan reagents. +/obj/item/mod/module/reagent_scanner + name = "MOD reagent scanner module" + desc = "A module based off research-oriented Nanotrasen HUDs, this is capable of scanning the contents of \ + containers and projecting the information in an easy-to-read format on the wearer's display. \ + It cannot detect flavors, so that's up to you." + icon_state = "scanner" + module_type = MODULE_TOGGLE + complexity = 1 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.2 + incompatible_modules = list(/obj/item/mod/module/reagent_scanner) + cooldown_time = 0.5 SECONDS + +/obj/item/mod/module/reagent_scanner/on_activation() + . = ..() + if(!.) + return + mod.helmet.clothing_flags |= SCAN_REAGENTS + +/obj/item/mod/module/reagent_scanner/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + mod.helmet.clothing_flags &= ~SCAN_REAGENTS + +/obj/item/mod/module/reagent_scanner/advanced + name = "MOD advanced reagent scanner module" + complexity = 0 + removable = FALSE + var/explosion_detection_dist = 21 + +/obj/item/mod/module/reagent_scanner/advanced/on_activation() + . = ..() + if(!.) + return + mod.helmet.clothing_flags |= SCAN_REAGENTS + RegisterSignal(SSdcs, COMSIG_GLOB_EXPLOSION, PROC_REF(sense_explosion)) + +/obj/item/mod/module/reagent_scanner/advanced/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + mod.helmet.clothing_flags |= SCAN_REAGENTS + UnregisterSignal(SSdcs, COMSIG_GLOB_EXPLOSION) + +/obj/item/mod/module/reagent_scanner/advanced/proc/sense_explosion(datum/source, turf/epicenter, + devastation_range, heavy_impact_range, light_impact_range, took, orig_dev_range, orig_heavy_range, orig_light_range) + SIGNAL_HANDLER + var/turf/wearer_turf = get_turf(mod.wearer) + if(wearer_turf.z != epicenter.z) + return + if(get_dist(epicenter, wearer_turf) > explosion_detection_dist) + return + to_chat(mod.wearer, span_notice("Explosion detected! Epicenter: [devastation_range], Outer: [heavy_impact_range], Shock: [light_impact_range]")) + +///Anti-Gravity - Makes the user weightless. +/obj/item/mod/module/anomaly_locked/antigrav + name = "MOD anti-gravity module" + desc = "A module that uses a gravitational core to make the user completely weightless." + icon_state = "antigrav" + module_type = MODULE_TOGGLE + complexity = 3 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.7 + incompatible_modules = list(/obj/item/mod/module/anomaly_locked) + cooldown_time = 0.5 SECONDS + accepted_anomalies = list(/obj/item/assembly/signaler/anomaly/grav) + +/obj/item/mod/module/anomaly_locked/antigrav/on_activation() + . = ..() + if(!.) + return + if(mod.wearer.has_gravity()) + new /obj/effect/temp_visual/mook_dust(get_turf(src)) + mod.wearer.AddElement(/datum/element/forced_gravity, 0) + mod.wearer.update_gravity(mod.wearer.has_gravity()) + playsound(src, 'sound/effects/gravhit.ogg', 50) + +/obj/item/mod/module/anomaly_locked/antigrav/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + mod.wearer.RemoveElement(/datum/element/forced_gravity, 0) + mod.wearer.update_gravity(mod.wearer.has_gravity()) + if(deleting) + return + if(mod.wearer.has_gravity()) + new /obj/effect/temp_visual/mook_dust(get_turf(src)) + playsound(src, 'sound/effects/gravhit.ogg', 50) + +/obj/item/mod/module/anomaly_locked/antigrav/prebuilt + prebuilt = TRUE + +///Teleporter - Lets the user teleport to a nearby location. +/obj/item/mod/module/anomaly_locked/teleporter + name = "MOD teleporter module" + desc = "A module that uses a bluespace core to let the user transport their particles elsewhere." + icon_state = "teleporter" + module_type = MODULE_ACTIVE + complexity = 3 + use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + cooldown_time = 5 SECONDS + accepted_anomalies = list(/obj/item/assembly/signaler/anomaly/bluespace) + /// Time it takes to teleport + var/teleport_time = 3 SECONDS + +/obj/item/mod/module/anomaly_locked/teleporter/on_select_use(atom/target) + . = ..() + if(!.) + return + var/turf/open/target_turf = get_turf(target) + if(!istype(target_turf) || target_turf.is_blocked_turf() || !(target_turf in view(mod.wearer))) + balloon_alert(mod.wearer, "invalid target!") + return + balloon_alert(mod.wearer, "teleporting...") + var/matrix/pre_matrix = matrix() + pre_matrix.Scale(4, 0.25) + var/matrix/post_matrix = matrix() + post_matrix.Scale(0.25, 4) + animate(mod.wearer, teleport_time, color = COLOR_CYAN, transform = pre_matrix.Multiply(mod.wearer.transform), easing = SINE_EASING|EASE_OUT) + if(!do_after(mod.wearer, teleport_time, target = mod)) + balloon_alert(mod.wearer, "interrupted!") + animate(mod.wearer, teleport_time*0.1, color = null, transform = post_matrix.Multiply(mod.wearer.transform), easing = SINE_EASING|EASE_OUT) + return + animate(mod.wearer, teleport_time*0.1, color = null, transform = post_matrix.Multiply(mod.wearer.transform), easing = SINE_EASING|EASE_OUT) + if(!do_teleport(mod.wearer, target_turf, asoundin = 'sound/effects/phasein.ogg')) + return + drain_power(use_power_cost) + +/obj/item/mod/module/anomaly_locked/teleporter/prebuilt + prebuilt = TRUE diff --git a/code/modules/mod/modules/modules_security.dm b/code/modules/mod/modules/modules_security.dm new file mode 100644 index 00000000000..d3ac5384646 --- /dev/null +++ b/code/modules/mod/modules/modules_security.dm @@ -0,0 +1,136 @@ +//Security modules for MODsuits + +///Magnetic Harness - Automatically puts guns in your suit storage when you drop them. +/obj/item/mod/module/magnetic_harness + name = "MOD magnetic harness module" + desc = "Based off old TerraGov harness kits, this magnetic harness automatically attaches dropped guns back to the wearer." + icon_state = "mag_harness" + complexity = 2 + use_power_cost = DEFAULT_CHARGE_DRAIN + incompatible_modules = list(/obj/item/mod/module/magnetic_harness) + /// Time before we activate the magnet. + var/magnet_delay = 0.8 SECONDS + /// The typecache of all guns we allow. + var/static/list/guns_typecache + /// The guns already allowed by the modsuit chestplate. + var/list/already_allowed_guns = list() + +/obj/item/mod/module/magnetic_harness/Initialize(mapload) + . = ..() + if(!guns_typecache) + guns_typecache = typecacheof(list(/obj/item/gun/ballistic, /obj/item/gun/energy, /obj/item/gun/grenadelauncher, /obj/item/gun/chem, /obj/item/gun/syringe)) + +/obj/item/mod/module/magnetic_harness/on_install() + already_allowed_guns = guns_typecache & mod.chestplate.allowed + mod.chestplate.allowed |= guns_typecache + +/obj/item/mod/module/magnetic_harness/on_uninstall(deleting = FALSE) + if(deleting) + return + mod.chestplate.allowed -= (guns_typecache - already_allowed_guns) + +/obj/item/mod/module/magnetic_harness/on_suit_activation() + RegisterSignal(mod.wearer, COMSIG_MOB_UNEQUIPPED_ITEM, PROC_REF(check_dropped_item)) + +/obj/item/mod/module/magnetic_harness/on_suit_deactivation(deleting = FALSE) + UnregisterSignal(mod.wearer, COMSIG_MOB_UNEQUIPPED_ITEM) + +/obj/item/mod/module/magnetic_harness/proc/check_dropped_item(datum/source, obj/item/dropped_item, force, new_location) + SIGNAL_HANDLER + + if(!is_type_in_typecache(dropped_item, guns_typecache)) + return + if(new_location != get_turf(src)) + return + addtimer(CALLBACK(src, PROC_REF(pick_up_item), dropped_item), magnet_delay) + +/obj/item/mod/module/magnetic_harness/proc/pick_up_item(obj/item/item) + if(!isturf(item.loc) || !item.Adjacent(mod.wearer)) + return + if(!mod.wearer.equip_to_slot_if_possible(item, ITEM_SLOT_SUITSTORE, qdel_on_fail = FALSE, disable_warning = TRUE)) + return + playsound(src, 'sound/items/modsuit/magnetic_harness.ogg', 50, TRUE) + balloon_alert(mod.wearer, "[item] reattached") + drain_power(use_power_cost) + +///Holster - Instantly holsters any not huge gun. +/obj/item/mod/module/holster + name = "MOD holster module" + desc = "Based off typical storage compartments, this system allows the suit to holster a \ + standard firearm across its surface and allow for extremely quick retrieval. \ + While some users prefer the chest, others the forearm for quick deployment, \ + some law enforcement prefer the holster to extend from the thigh." + icon_state = "holster" + module_type = MODULE_USABLE + complexity = 2 + incompatible_modules = list(/obj/item/mod/module/holster) + cooldown_time = 0.5 SECONDS + allowed_inactive = TRUE + /// Gun we have holstered. + var/obj/item/gun/holstered + +/obj/item/mod/module/holster/on_use() + . = ..() + if(!.) + return + if(!holstered) + var/obj/item/gun/holding = mod.wearer.get_active_held_item() + if(!holding) + balloon_alert(mod.wearer, "nothing to holster!") + return + if(!istype(holding) || holding.w_class > WEIGHT_CLASS_BULKY) + balloon_alert(mod.wearer, "it doesn't fit!") + return + if(mod.wearer.transferItemToLoc(holding, src, force = FALSE, silent = TRUE)) + holstered = holding + balloon_alert(mod.wearer, "weapon holstered") + playsound(src, 'sound/weapons/gun/revolver/empty.ogg', 100, TRUE) + else if(mod.wearer.put_in_active_hand(holstered, forced = FALSE, ignore_animation = TRUE)) + balloon_alert(mod.wearer, "weapon drawn") + playsound(src, 'sound/weapons/gun/revolver/empty.ogg', 100, TRUE) + else + balloon_alert(mod.wearer, "holster full!") + +/obj/item/mod/module/holster/on_uninstall(deleting = FALSE) + if(holstered) + holstered.forceMove(drop_location()) + +/obj/item/mod/module/holster/Exited(atom/movable/gone, direction) + . = ..() + if(gone == holstered) + holstered = null + +/obj/item/mod/module/holster/Destroy() + QDEL_NULL(holstered) + return ..() + +///Megaphone - Lets you speak loud. +/obj/item/mod/module/megaphone + name = "MOD megaphone module" + desc = "A microchip megaphone linked to a MODsuit, for very important purposes, like: loudness." + icon_state = "megaphone" + module_type = MODULE_TOGGLE + complexity = 1 + use_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + incompatible_modules = list(/obj/item/mod/module/megaphone) + cooldown_time = 0.5 SECONDS + /// List of spans we add to the speaker. + var/list/voicespan = list(SPAN_COMMAND) + +/obj/item/mod/module/megaphone/on_activation() + . = ..() + if(!.) + return + RegisterSignal(mod.wearer, COMSIG_MOB_SAY, PROC_REF(handle_speech)) + +/obj/item/mod/module/megaphone/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + UnregisterSignal(mod.wearer, COMSIG_MOB_SAY) + +/obj/item/mod/module/megaphone/proc/handle_speech(datum/source, list/speech_args) + SIGNAL_HANDLER + + speech_args[SPEECH_SPANS] |= voicespan + drain_power(use_power_cost) diff --git a/code/modules/mod/modules/modules_service.dm b/code/modules/mod/modules/modules_service.dm new file mode 100644 index 00000000000..e983bbc3dbc --- /dev/null +++ b/code/modules/mod/modules/modules_service.dm @@ -0,0 +1,56 @@ +//Service modules for MODsuits + +///Bike Horn - Plays a bike horn sound. +/obj/item/mod/module/bikehorn + name = "MOD bike horn module" + desc = "A shoulder-mounted piece of heavy sonic artillery, this module uses the finest femto-manipulator technology to \ + precisely deliver an almost lethal squeeze to... a bike horn, producing a significantly memorable sound." + icon_state = "bikehorn" + module_type = MODULE_USABLE + complexity = 1 + use_power_cost = DEFAULT_CHARGE_DRAIN + incompatible_modules = list(/obj/item/mod/module/bikehorn) + cooldown_time = 1 SECONDS + +/obj/item/mod/module/bikehorn/on_use() + . = ..() + if(!.) + return + playsound(src, 'sound/items/bikehorn.ogg', 100, FALSE) + drain_power(use_power_cost) + +///Microwave Beam - Microwaves items instantly. +/obj/item/mod/module/microwave_beam + name = "MOD microwave beam module" + desc = "An oddly domestic device, this module is installed into the user's palm, \ + hooking up with culinary scanners located in the helmet to blast food with precise microwave radiation, \ + allowing them to cook food from a distance, with the greatest of ease. Not recommended for use against grapes." + icon_state = "microwave_beam" + module_type = MODULE_ACTIVE + complexity = 2 + use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + incompatible_modules = list(/obj/item/mod/module/microwave_beam) + cooldown_time = 10 SECONDS + +/obj/item/mod/module/microwave_beam/on_select_use(atom/target) + . = ..() + if(!.) + return + if(!istype(target, /obj/item)) + return + if(!isturf(target.loc)) + balloon_alert(mod.wearer, "must be on the floor!") + return + var/obj/item/microwave_target = target + var/datum/effect_system/spark_spread/spark_effect = new() + spark_effect.set_up(2, 1, mod.wearer) + spark_effect.start() + mod.wearer.Beam(target,icon_state="lightning[rand(1,12)]", time = 5) + if(microwave_target.microwave_act()) + playsound(src, 'sound/machines/microwave/microwave-end.ogg', 50, FALSE) + else + balloon_alert(mod.wearer, "can't be microwaved!") + var/datum/effect_system/spark_spread/spark_effect_two = new() + spark_effect_two.set_up(2, 1, microwave_target) + spark_effect_two.start() + drain_power(use_power_cost) diff --git a/code/modules/mod/modules/modules_storage.dm b/code/modules/mod/modules/modules_storage.dm new file mode 100644 index 00000000000..25caad6806f --- /dev/null +++ b/code/modules/mod/modules/modules_storage.dm @@ -0,0 +1,60 @@ +/obj/item/mod/module/storage + name = "MOD storage module" + desc = "What amounts to a series of integrated storage compartments and specialized pockets installed across \ + the surface of the suit, useful for storing various bits, and or bobs." + icon_state = "storage" + complexity = 3 + incompatible_modules = list(/obj/item/mod/module/storage) + var/datum/component/storage/concrete/storage + var/max_w_class = WEIGHT_CLASS_NORMAL + var/max_combined_w_class = 15 + var/max_items = 7 + +/obj/item/mod/module/storage/Initialize(mapload) + . = ..() + storage = AddComponent(/datum/component/storage/concrete) + storage.max_w_class = max_w_class + storage.max_combined_w_class = max_combined_w_class + storage.max_items = max_items + storage.allow_big_nesting = TRUE + SEND_SIGNAL(src, COMSIG_TRY_STORAGE_SET_LOCKSTATE, TRUE) + +/obj/item/mod/module/storage/on_install() + var/datum/component/storage/modstorage = mod.AddComponent(/datum/component/storage, storage) + modstorage.max_w_class = max_w_class + modstorage.max_combined_w_class = max_combined_w_class + modstorage.max_items = max_items + SEND_SIGNAL(src, COMSIG_TRY_STORAGE_SET_LOCKSTATE, FALSE) + +/obj/item/mod/module/storage/on_uninstall(deleting = FALSE) + var/datum/component/storage/modstorage = mod.GetComponent(/datum/component/storage) + storage.slaves -= modstorage + qdel(modstorage) + SEND_SIGNAL(src, COMSIG_TRY_STORAGE_SET_LOCKSTATE, TRUE) + +/obj/item/mod/module/storage/large_capacity + name = "MOD expanded storage module" + desc = "Reverse engineered by Nakamura Engineering from Donk Corporation designs, this system of hidden compartments \ + is entirely within the suit, distributing items and weight evenly to ensure a comfortable experience for the user; \ + whether smuggling, or simply hauling." + icon_state = "storage_large" + max_combined_w_class = 21 + max_items = 14 + +/obj/item/mod/module/storage/syndicate + name = "MOD syndicate storage module" + desc = "A storage system using nanotechnology developed by Cybersun Industries, these compartments use \ + esoteric technology to compress the physical matter of items put inside of them, \ + essentially shrinking items for much easier and more portable storage." + icon_state = "storage_syndi" + max_combined_w_class = 30 + max_items = 21 + +/obj/item/mod/module/storage/bluespace + name = "MOD bluespace storage module" + desc = "A storage system developed by Nanotrasen, these compartments employ \ + miniaturized bluespace pockets for the ultimate in storage technology; regardless of the weight of objects put inside." + icon_state = "storage_large" + max_w_class = WEIGHT_CLASS_GIGANTIC + max_combined_w_class = 60 + max_items = 21 diff --git a/code/modules/mod/modules/modules_supply.dm b/code/modules/mod/modules/modules_supply.dm new file mode 100644 index 00000000000..04f0aaf73ad --- /dev/null +++ b/code/modules/mod/modules/modules_supply.dm @@ -0,0 +1,306 @@ +//Supply modules for MODsuits + +///Internal GPS - Extends a GPS you can use. +/obj/item/mod/module/gps + name = "MOD internal GPS module" + desc = "This module uses common Nanotrasen technology to calculate the user's position anywhere in space, \ + down to the exact coordinates. This information is fed to a central database viewable from the device itself, \ + though using it to help people is up to you." + icon_state = "gps" + module_type = MODULE_USABLE + complexity = 1 + use_power_cost = DEFAULT_CHARGE_DRAIN * 0.2 + incompatible_modules = list(/obj/item/mod/module/gps) + cooldown_time = 0.5 SECONDS + allowed_inactive = TRUE + +/obj/item/mod/module/gps/Initialize(mapload) + . = ..() + AddComponent(/datum/component/gps/item, "MOD0") + +/obj/item/mod/module/gps/on_use() + . = ..() + if(!.) + return + attack_self(mod.wearer) + +///Hydraulic Clamp - Lets you pick up and drop crates. +/obj/item/mod/module/clamp + name = "MOD hydraulic clamp module" + desc = "A series of actuators installed into both arms of the suit, boasting a lifting capacity of almost a ton. \ + However, this design has been locked by Nanotrasen to be primarily utilized for lifting various crates. \ + A lot of people would say that loading cargo is a dull job, but you could not disagree more." + icon_state = "clamp" + module_type = MODULE_ACTIVE + complexity = 3 + use_power_cost = DEFAULT_CHARGE_DRAIN + incompatible_modules = list(/obj/item/mod/module/clamp) + cooldown_time = 0.5 SECONDS + overlay_state_inactive = "module_clamp" + overlay_state_active = "module_clamp_on" + /// Time it takes to load a crate. + var/load_time = 3 SECONDS + /// The max amount of crates you can carry. + var/max_crates = 3 + /// The crates stored in the module. + var/list/stored_crates = list() + +/obj/item/mod/module/clamp/on_select_use(atom/target) + . = ..() + if(!.) + return + if(!mod.wearer.Adjacent(target)) + return + if(istype(target, /obj/structure/closet/crate))// || istype(target, /obj/item/delivery/big)) + var/atom/movable/picked_crate = target + if(!check_crate_pickup(picked_crate)) + return + playsound(src, 'sound/mecha/hydraulic.ogg', 25, TRUE) + if(!do_after(mod.wearer, load_time, target = target)) + balloon_alert(mod.wearer, "interrupted!") + return + if(!check_crate_pickup(picked_crate)) + return + stored_crates += picked_crate + picked_crate.forceMove(src) + balloon_alert(mod.wearer, "picked up [picked_crate]") + drain_power(use_power_cost) + mod.wearer.update_inv_back() + else if(length(stored_crates)) + var/turf/target_turf = get_turf(target) + if(target_turf.is_blocked_turf()) + return + playsound(src, 'sound/mecha/hydraulic.ogg', 25, TRUE) + if(!do_after(mod.wearer, load_time, target = target)) + balloon_alert(mod.wearer, "interrupted!") + return + if(target_turf.is_blocked_turf()) + return + var/atom/movable/dropped_crate = pop(stored_crates) + dropped_crate.forceMove(target_turf) + balloon_alert(mod.wearer, "dropped [dropped_crate]") + drain_power(use_power_cost) + mod.wearer.update_inv_back() + else + balloon_alert(mod.wearer, "invalid target!") + +/obj/item/mod/module/clamp/on_suit_deactivation(deleting = FALSE) + if(deleting) + return + for(var/atom/movable/crate as anything in stored_crates) + crate.forceMove(drop_location()) + stored_crates -= crate + +/obj/item/mod/module/clamp/proc/check_crate_pickup(atom/movable/target) + if(length(stored_crates) >= max_crates) + balloon_alert(mod.wearer, "too many crates!") + return FALSE + for(var/mob/living/mob in target.get_all_contents()) + if(mob.mob_size < MOB_SIZE_HUMAN) + continue + balloon_alert(mod.wearer, "crate too heavy!") + return FALSE + return TRUE + +/obj/item/mod/module/clamp/loader + name = "MOD loader hydraulic clamp module" + icon_state = "clamp_loader" + complexity = 0 + removable = FALSE + overlay_state_inactive = null + overlay_state_active = "module_clamp_loader" + load_time = 1 SECONDS + max_crates = 5 + use_mod_colors = TRUE + +///Drill - Lets you dig through rock and basalt. +/obj/item/mod/module/drill + name = "MOD drill module" + desc = "An integrated drill, typically extending over the user's hand. While useful for drilling through rock, \ + your drill is surely the one that both pierces and creates the heavens." + icon_state = "drill" + module_type = MODULE_ACTIVE + complexity = 2 + use_power_cost = DEFAULT_CHARGE_DRAIN + incompatible_modules = list(/obj/item/mod/module/drill) + cooldown_time = 0.5 SECONDS + overlay_state_active = "module_drill" + +/obj/item/mod/module/drill/on_activation() + . = ..() + if(!.) + return + RegisterSignal(mod.wearer, COMSIG_MOVABLE_BUMP, PROC_REF(bump_mine)) + +/obj/item/mod/module/drill/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + UnregisterSignal(mod.wearer, COMSIG_MOVABLE_BUMP) + +/obj/item/mod/module/drill/on_select_use(atom/target) + . = ..() + if(!.) + return + if(!mod.wearer.Adjacent(target)) + return + if(istype(target, /turf/closed/mineral)) + var/turf/closed/mineral/mineral_turf = target + mineral_turf.gets_drilled(mod.wearer) + drain_power(use_power_cost) + else if(istype(target, /turf/open/floor/plating/asteroid)) + var/turf/open/floor/plating/asteroid/sand_turf = target + if(!sand_turf.can_dig(mod.wearer)) + return + sand_turf.getDug() + drain_power(use_power_cost) + +/obj/item/mod/module/drill/proc/bump_mine(mob/living/carbon/human/bumper, atom/bumped_into, proximity) + SIGNAL_HANDLER + if(!istype(bumped_into, /turf/closed/mineral) || !drain_power(use_power_cost)) + return + var/turf/closed/mineral/mineral_turf = bumped_into + mineral_turf.gets_drilled(mod.wearer) + return COMPONENT_CANCEL_ATTACK_CHAIN + +///Ore Bag - Lets you pick up ores and drop them from the suit. +/obj/item/mod/module/orebag + name = "MOD ore bag module" + desc = "An integrated ore storage system installed into the suit, \ + this utilizes precise electromagnets and storage compartments to automatically collect and deposit ore. \ + It's recommended by Nakamura Engineering to actually deposit that ore at local refineries." + icon_state = "ore" + module_type = MODULE_USABLE + complexity = 1 + use_power_cost = DEFAULT_CHARGE_DRAIN * 0.2 + incompatible_modules = list(/obj/item/mod/module/orebag) + cooldown_time = 0.5 SECONDS + allowed_inactive = TRUE + /// The ores stored in the bag. + var/list/ores = list() + +/obj/item/mod/module/orebag/on_equip() + RegisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED, PROC_REF(ore_pickup)) + +/obj/item/mod/module/orebag/on_unequip() + UnregisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED) + +/obj/item/mod/module/orebag/proc/ore_pickup(atom/movable/source, atom/old_loc, dir, forced) + SIGNAL_HANDLER + + for(var/obj/item/stack/ore/ore in get_turf(mod.wearer)) + INVOKE_ASYNC(src, PROC_REF(move_ore), ore) + playsound(src, SFX_RUSTLE, 50, TRUE) + +/obj/item/mod/module/orebag/proc/move_ore(obj/item/stack/ore) + for(var/obj/item/stack/stored_ore as anything in ores) + if(!ore.can_merge(stored_ore)) + continue + ore.merge(stored_ore) + if(QDELETED(ore)) + return + break + ore.forceMove(src) + ores += ore + +/obj/item/mod/module/orebag/on_use() + . = ..() + if(!.) + return + for(var/obj/item/ore as anything in ores) + ore.forceMove(drop_location()) + ores -= ore + drain_power(use_power_cost) + +/obj/item/mod/module/disposal_connector + name = "MOD disposal selector module" + desc = "A module that connects to the disposal pipeline, causing the user to go into their config selected disposal. \ + Only seems to work when the suit is on." + icon_state = "disposal" + complexity = 2 + idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + incompatible_modules = list(/obj/item/mod/module/disposal_connector) + var/disposal_tag = NONE + +/obj/item/mod/module/disposal_connector/Initialize(mapload) + . = ..() + disposal_tag = pick(GLOB.TAGGERLOCATIONS) + +/obj/item/mod/module/disposal_connector/on_suit_activation() + RegisterSignal(mod.wearer, COMSIG_MOVABLE_DISPOSING, PROC_REF(disposal_handling)) + +/obj/item/mod/module/disposal_connector/on_suit_deactivation(deleting = FALSE) + UnregisterSignal(mod.wearer, COMSIG_MOVABLE_DISPOSING) + +/obj/item/mod/module/disposal_connector/get_configuration() + . = ..() + .["disposal_tag"] = add_ui_configuration("Disposal Tag", "list", GLOB.TAGGERLOCATIONS[disposal_tag], GLOB.TAGGERLOCATIONS) + +/obj/item/mod/module/disposal_connector/configure_edit(key, value) + switch(key) + if("disposal_tag") + for(var/tag in 1 to length(GLOB.TAGGERLOCATIONS)) + if(GLOB.TAGGERLOCATIONS[tag] == value) + disposal_tag = tag + break + +/obj/item/mod/module/disposal_connector/proc/disposal_handling(datum/disposal_source, obj/structure/disposalholder/disposal_holder, obj/machinery/disposal/disposal_machine, hasmob) + SIGNAL_HANDLER + + disposal_holder.destinationTag = disposal_tag + +/obj/item/mod/module/magnet + name = "MOD loader hydraulic magnet module" + desc = "A powerful hydraulic electromagnet able to launch crates and lockers towards the user, and keep 'em attached." + icon_state = "magnet_loader" + module_type = MODULE_ACTIVE + removable = FALSE + use_power_cost = DEFAULT_CHARGE_DRAIN*3 + incompatible_modules = list(/obj/item/mod/module/magnet) + cooldown_time = 1.5 SECONDS + overlay_state_active = "module_magnet" + use_mod_colors = TRUE + +/obj/item/mod/module/magnet/on_select_use(atom/target) + . = ..() + if(!.) + return + if(istype(mod.wearer.pulling, /obj/structure/closet)) + var/obj/structure/closet/locker = mod.wearer.pulling + playsound(locker, 'sound/effects/gravhit.ogg', 75, TRUE) + locker.forceMove(mod.wearer.loc) + locker.throw_at(target, range = 7, speed = 4, thrower = mod.wearer) + return + if(!istype(target, /obj/structure/closet) || !(target in view(mod.wearer))) + balloon_alert(mod.wearer, "invalid target!") + return + var/obj/structure/closet/locker = target + if(locker.anchored || locker.move_resist >= MOVE_FORCE_OVERPOWERING) + balloon_alert(mod.wearer, "target anchored!") + return + new /obj/effect/temp_visual/mook_dust(get_turf(locker)) + playsound(locker, 'sound/effects/gravhit.ogg', 75, TRUE) + locker.throw_at(mod.wearer, range = 7, speed = 3, force = MOVE_FORCE_WEAK, \ + callback = CALLBACK(src, PROC_REF(check_locker), locker)) + +/obj/item/mod/module/magnet/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + if(istype(mod.wearer.pulling, /obj/structure/closet)) + mod.wearer.stop_pulling() + +/obj/item/mod/module/magnet/proc/check_locker(obj/structure/closet/locker) + if(!mod?.wearer) + return + if(!locker.Adjacent(mod.wearer) || !isturf(locker.loc) || !isturf(mod.wearer.loc)) + return + mod.wearer.start_pulling(locker) + //locker.strong_grab = TRUE + RegisterSignal(locker, COMSIG_ATOM_NO_LONGER_PULLED, PROC_REF(on_stop_pull)) + +/obj/item/mod/module/magnet/proc/on_stop_pull(obj/structure/closet/locker, atom/movable/last_puller) + SIGNAL_HANDLER + + //locker.strong_grab = FALSE + UnregisterSignal(locker, COMSIG_ATOM_NO_LONGER_PULLED) diff --git a/code/modules/mod/modules/modules_visor.dm b/code/modules/mod/modules/modules_visor.dm new file mode 100644 index 00000000000..e1516c2aa0a --- /dev/null +++ b/code/modules/mod/modules/modules_visor.dm @@ -0,0 +1,85 @@ +//Visor modules for MODsuits + +///Base Visor - Adds a specific HUD and traits to you. +/obj/item/mod/module/visor + name = "MOD visor module" + desc = "A heads-up display installed into the visor of the suit. They say these also let you see behind you." + module_type = MODULE_TOGGLE + complexity = 2 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + incompatible_modules = list(/obj/item/mod/module/visor) + cooldown_time = 0.5 SECONDS + /// The HUD type given by the visor. + var/hud_type + /// The traits given by the visor. + var/list/visor_traits = list() + +/obj/item/mod/module/visor/on_activation() + . = ..() + if(!.) + return + if(hud_type) + var/datum/atom_hud/hud = GLOB.huds[hud_type] + hud.add_hud_to(mod.wearer) + for(var/trait in visor_traits) + ADD_TRAIT(mod.wearer, trait, MOD_TRAIT) + mod.wearer.update_sight() + +/obj/item/mod/module/visor/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + if(hud_type) + var/datum/atom_hud/hud = GLOB.huds[hud_type] + hud.remove_hud_from(mod.wearer) + for(var/trait in visor_traits) + REMOVE_TRAIT(mod.wearer, trait, MOD_TRAIT) + mod.wearer.update_sight() + +//Medical Visor - Gives you a medical HUD. +/obj/item/mod/module/visor/medhud + name = "MOD medical visor module" + desc = "A heads-up display installed into the visor of the suit. This cross-references suit sensor data with a modern \ + biological scanning suite, allowing the user to visualize the current health of organic lifeforms, as well as \ + access data such as patient files in a convenient readout. They say these also let you see behind you." + icon_state = "medhud_visor" + hud_type = DATA_HUD_MEDICAL_ADVANCED + visor_traits = list(TRAIT_MEDICAL_HUD) + +//Diagnostic Visor - Gives you a diagnostic HUD. +/obj/item/mod/module/visor/diaghud + name = "MOD diagnostic visor module" + desc = "A heads-up display installed into the visor of the suit. This uses a series of advanced sensors to access data \ + from advanced machinery, exosuits, and other devices, allowing the user to visualize current power levels \ + and integrity of such. They say these also let you see behind you." + icon_state = "diaghud_visor" + hud_type = DATA_HUD_DIAGNOSTIC_ADVANCED + visor_traits = list(TRAIT_DIAGNOSTIC_HUD) + +//Security Visor - Gives you a security HUD. +/obj/item/mod/module/visor/sechud + name = "MOD security visor module" + desc = "A heads-up display installed into the visor of the suit. This module is a heavily-retrofitted targeting system, \ + plugged into various criminal databases to be able to view arrest records, command simple security-oriented robots, \ + and generally know who to shoot. They say these also let you see behind you." + icon_state = "sechud_visor" + hud_type = DATA_HUD_SECURITY_ADVANCED + visor_traits = list(TRAIT_SECURITY_HUD) + +//Meson Visor - Gives you meson vision. +/obj/item/mod/module/visor/meson + name = "MOD meson visor module" + desc = "A heads-up display installed into the visor of the suit. This module is based off well-loved meson scanner \ + technology, used by construction workers and miners across the galaxy to see basic structural and terrain layouts \ + through walls, regardless of lighting conditions. They say these also let you see behind you." + icon_state = "meson_visor" + visor_traits = list(SEE_TURFS) + +//Thermal Visor - Gives you thermal vision. +/obj/item/mod/module/visor/thermal + name = "MOD thermal visor module" + desc = "A heads-up display installed into the visor of the suit. This uses a small IR scanner to detect and identify \ + the thermal radiation output of objects near the user. While it can detect the heat output of even something as \ + small as a rodent, it still produces irritating red overlay. They say these also let you see behind you." + icon_state = "thermal_visor" + visor_traits = list(SEE_MOBS) diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 9697cce45df..9fd6fae027b 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -6,11 +6,16 @@ desc = "A small portable microcomputer." icon = 'icons/obj/machines/computer.dmi' icon_state = "laptop" - light_on = FALSE integrity_failure = 0.5 max_integrity = 100 armor = list("melee" = 0, "bullet" = 20, "laser" = 20, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 0, "acid" = 0) + light_system = MOVABLE_LIGHT_DIRECTIONAL + light_range = 2.3 + light_power = 0.6 + light_color = "#FFFFFF" + light_on = FALSE + var/enabled = 0 // Whether the computer is turned on. var/screen_on = 1 // Whether the computer is active/opened/it's screen is on. var/device_theme = "ntos" // Sets the theme for the main menu, hardware config, and file browser apps. Overridden by certain non-NT devices. @@ -43,9 +48,9 @@ var/list/idle_threads // Idle programs on background. They still receive process calls but can't be interacted with. var/obj/physical = null // Object that represents our computer. It's used for Adjacent() and UI visibility checks. - var/has_light = FALSE //If the computer has a flashlight/LED light/what-have-you installed - var/comp_light_luminosity = 3 //The brightness of that light - var/comp_light_color //The color of that light + + /// If the computer has a flashlight/LED light/what-have-you installed + var/has_light = FALSE /obj/item/modular_computer/Initialize() @@ -53,7 +58,6 @@ START_PROCESSING(SSobj, src) if(!physical) physical = src - comp_light_color = "#FFFFFF" idle_threads = list() update_appearance() diff --git a/code/modules/modular_computers/computers/item/computer_ui.dm b/code/modules/modular_computers/computers/item/computer_ui.dm index 4729117052b..bc44d93583d 100644 --- a/code/modules/modular_computers/computers/item/computer_ui.dm +++ b/code/modules/modular_computers/computers/item/computer_ui.dm @@ -81,7 +81,7 @@ data["has_light"] = has_light data["light_on"] = light_on - data["comp_light_color"] = comp_light_color + data["comp_light_color"] = light_color return data @@ -166,14 +166,14 @@ return 1 if("PC_toggle_light") + if(!has_light) + return FALSE set_light_on(!light_on) - if(light_on) - set_light(comp_light_luminosity, 1, comp_light_color) - else - set_light(0) return TRUE if("PC_light_color") + if(!has_light) + return FALSE var/mob/user = usr var/new_color while(!new_color) @@ -183,9 +183,7 @@ if(color_hex2num(new_color) < 200) //Colors too dark are rejected to_chat(user, "That color is too dark! Choose a lighter one.") new_color = null - comp_light_color = new_color set_light_color(new_color) - update_light() return TRUE if("PC_Eject_Disk") diff --git a/code/modules/modular_computers/computers/item/laptop.dm b/code/modules/modular_computers/computers/item/laptop.dm index f7a518d3568..2e7ce89d33b 100644 --- a/code/modules/modular_computers/computers/item/laptop.dm +++ b/code/modules/modular_computers/computers/item/laptop.dm @@ -112,7 +112,10 @@ display_overlays = screen_on update_appearance() - +/obj/item/modular_computer/laptop/examine_more(mob/user) + if(screen_on) + interact(user) + return ..() // Laptop frame, starts empty and closed. /obj/item/modular_computer/laptop/buildable diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm index 9931e70ca1b..2ff0f33a79e 100644 --- a/code/modules/modular_computers/computers/item/tablet.dm +++ b/code/modules/modular_computers/computers/item/tablet.dm @@ -12,7 +12,6 @@ steel_sheet_cost = 1 slot_flags = ITEM_SLOT_ID | ITEM_SLOT_BELT has_light = TRUE //LED flashlight! - comp_light_luminosity = 2.3 //Same as the PDA custom_materials = list(/datum/material/iron = 2000, /datum/material/glass = 1000) // WS Edit - Item Materials var/has_variants = TRUE var/finish_color = null @@ -33,13 +32,13 @@ icon_state_menu = "assign" w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_ID | ITEM_SLOT_BELT - comp_light_luminosity = 6.3 + light_range = 6.3 has_variants = FALSE /// Given to Nuke Ops members. /obj/item/modular_computer/tablet/nukeops icon_state = "tablet-syndicate" - comp_light_luminosity = 6.3 + light_range = 6.3 has_variants = FALSE device_theme = "syndicate" light_color = COLOR_RED @@ -61,7 +60,6 @@ icon_state_unpowered = "tablet-silicon" base_icon_state = "tablet-silicon" has_light = FALSE //tablet light button actually enables/disables the borg lamp - comp_light_luminosity = 0 has_variants = FALSE ///Ref to the borg we're installed in. Set by the borg during our creation. var/mob/living/silicon/robot/borgo diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm index b7f1a2f5d91..e8a3b6e1852 100644 --- a/code/modules/modular_computers/computers/machinery/modular_computer.dm +++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm @@ -85,6 +85,10 @@ else return ..() +/obj/machinery/modular_computer/examine_more(mob/user) + interact(user) + return ..() + // Process currently calls handle_power(), may be expanded in future if more things are added. /obj/machinery/modular_computer/process() if(cpu) diff --git a/code/modules/modular_computers/file_system/programs/radar.dm b/code/modules/modular_computers/file_system/programs/radar.dm index d082503a012..06324b8f8b7 100644 --- a/code/modules/modular_computers/file_system/programs/radar.dm +++ b/code/modules/modular_computers/file_system/programs/radar.dm @@ -156,7 +156,7 @@ *something like "mob_209". In order to find the actual atom, we need *to search the appropriate list for the REF string. This is dependant *on the program (Lifeline uses GLOB.human_list, while Fission360 uses - *GLOB.poi_list), but the result will be the same; evaluate the string and + *SSpoints_of_interest.other_points_of_interest), but the result will be the same; evaluate the string and *return an atom reference. */ /datum/computer_file/program/radar/proc/find_atom() @@ -269,7 +269,7 @@ pointercolor = "red" /datum/computer_file/program/radar/fission360/find_atom() - return locate(selected) in GLOB.poi_list + return locate(selected) in SSpoints_of_interest.other_points_of_interest /datum/computer_file/program/radar/fission360/scan() if(world.time < next_scan) @@ -286,7 +286,7 @@ name = nuke.name, ) objects += list(nukeinfo) - var/obj/item/disk/nuclear/disk = locate() in GLOB.poi_list + var/obj/item/disk/nuclear/disk = locate() in SSpoints_of_interest.other_points_of_interest if(trackable(disk)) var/list/nukeinfo = list( ref = REF(disk), diff --git a/code/modules/modular_computers/laptop_vendor.dm b/code/modules/modular_computers/laptop_vendor.dm index b1ec3d3edc1..5ad3a674e33 100644 --- a/code/modules/modular_computers/laptop_vendor.dm +++ b/code/modules/modular_computers/laptop_vendor.dm @@ -254,7 +254,7 @@ var/obj/item/card/bank/ID = I var/datum/bank_account/account = ID.registered_account var/target_credits = total_price - credits - if(!account.adjust_money(-target_credits, "laptop_vendor")) + if(!account.adjust_money(-target_credits, CREDIT_LOG_VENDOR_PURCHASE)) say("Insufficient credits on card to purchase!") return credits += target_credits diff --git a/code/modules/movespeed/modifiers/items.dm b/code/modules/movespeed/modifiers/items.dm index c858582af6a..4c967a58a7e 100644 --- a/code/modules/movespeed/modifiers/items.dm +++ b/code/modules/movespeed/modifiers/items.dm @@ -18,3 +18,5 @@ /datum/movespeed_modifier/berserk multiplicative_slowdown = -0.2 +/datum/movespeed_modifier/sphere + multiplicative_slowdown = -0.5 diff --git a/code/modules/movespeed/modifiers/reagent.dm b/code/modules/movespeed/modifiers/reagent.dm index ecf91d0760f..24108e6178d 100644 --- a/code/modules/movespeed/modifiers/reagent.dm +++ b/code/modules/movespeed/modifiers/reagent.dm @@ -38,4 +38,4 @@ multiplicative_slowdown = -0.45 /datum/movespeed_modifier/reagent/shock_wine - multiplicative_slowdown = -0.40 + multiplicative_slowdown = -0.30 diff --git a/code/modules/movespeed/modifiers/status_effects.dm b/code/modules/movespeed/modifiers/status_effects.dm deleted file mode 100644 index 25cbcd42e12..00000000000 --- a/code/modules/movespeed/modifiers/status_effects.dm +++ /dev/null @@ -1,17 +0,0 @@ -/datum/movespeed_modifier/status_effect/bloodchill - multiplicative_slowdown = 3 - -/datum/movespeed_modifier/status_effect/bonechill - multiplicative_slowdown = 3 - -/datum/movespeed_modifier/status_effect/lightpink - multiplicative_slowdown = -0.25 - blacklisted_movetypes = (FLYING|FLOATING) - -/datum/movespeed_modifier/status_effect/tarfoot - multiplicative_slowdown = 0.5 - blacklisted_movetypes = (FLYING|FLOATING) - -/datum/movespeed_modifier/status_effect/sepia - variable = TRUE - blacklisted_movetypes = (FLYING|FLOATING) diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index c00d32d2580..14392e1c087 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -1,37 +1,30 @@ -/obj/item/energy_katana +/obj/item/melee/sword/energy_katana name = "energy katana" desc = "A katana infused with strong energy." icon_state = "energy_katana" item_state = "energy_katana" - lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' force = 40 throwforce = 20 block_chance = 50 armour_penetration = 50 - w_class = WEIGHT_CLASS_NORMAL - hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT - sharpness = IS_SHARP max_integrity = 200 resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF var/datum/effect_system/spark_spread/spark_system var/datum/action/innate/dash/ninja/jaunt var/dash_toggled = TRUE -/obj/item/energy_katana/Initialize() +/obj/item/melee/sword/energy_katana/Initialize() . = ..() jaunt = new(src) spark_system = new /datum/effect_system/spark_spread() spark_system.set_up(5, 0, src) spark_system.attach(src) -/obj/item/energy_katana/attack_self(mob/user) +/obj/item/melee/sword/energy_katana/attack_self(mob/user) dash_toggled = !dash_toggled to_chat(user, "You [dash_toggled ? "enable" : "disable"] the dash function on [src].") -/obj/item/energy_katana/afterattack(atom/target, mob/user, proximity_flag, click_parameters) +/obj/item/melee/sword/energy_katana/afterattack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() if(dash_toggled) jaunt.Teleport(user, target) @@ -41,13 +34,13 @@ playsound(user, 'sound/weapons/blade1.ogg', 50, TRUE) target.emag_act(user) -/obj/item/energy_katana/pickup(mob/living/user) +/obj/item/melee/sword/energy_katana/pickup(mob/living/user) . = ..() jaunt.Grant(user, src) user.update_icons() playsound(src, 'sound/items/unsheath.ogg', 25, TRUE) -/obj/item/energy_katana/dropped(mob/user) +/obj/item/melee/sword/energy_katana/dropped(mob/user) . = ..() jaunt?.Remove(user) user.update_icons() @@ -55,7 +48,7 @@ //If we hit the Ninja who owns this Katana, they catch it. //Works for if the Ninja throws it or it throws itself or someone tries //To throw it at the ninja -/obj/item/energy_katana/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) +/obj/item/melee/sword/energy_katana/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(ishuman(hit_atom)) var/mob/living/carbon/human/H = hit_atom if(istype(H.wear_suit, /obj/item/clothing/suit/space/space_ninja)) @@ -66,7 +59,7 @@ ..() -/obj/item/energy_katana/proc/returnToOwner(mob/living/carbon/human/user, doSpark = 1, caught = 0) +/obj/item/melee/sword/energy_katana/proc/returnToOwner(mob/living/carbon/human/user, doSpark = 1, caught = 0) if(!istype(user)) return forceMove(get_turf(user)) @@ -94,7 +87,7 @@ to_chat(user, "[msg]") -/obj/item/energy_katana/Destroy() +/obj/item/melee/sword/energy_katana/Destroy() QDEL_NULL(spark_system) QDEL_NULL(jaunt) return ..() diff --git a/code/modules/ninja/outfit.dm b/code/modules/ninja/outfit.dm index 2b5976db4d5..1c3c24927bf 100644 --- a/code/modules/ninja/outfit.dm +++ b/code/modules/ninja/outfit.dm @@ -12,7 +12,7 @@ l_pocket = /obj/item/grenade/c4/x4 r_pocket = /obj/item/tank/internals/emergency_oxygen internals_slot = ITEM_SLOT_RPOCKET - belt = /obj/item/energy_katana + belt = /obj/item/melee/sword/energy_katana implants = list(/obj/item/implant/explosive) diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index cb355014d4e..4f368b63049 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -26,7 +26,7 @@ Contents: var/datum/effect_system/spark_spread/spark_system var/datum/techweb/stored_research var/obj/item/disk/tech_disk/t_disk//To copy design onto disk. - var/obj/item/energy_katana/energyKatana //For teleporting the katana back to the ninja (It's an ability) + var/obj/item/melee/sword/energy_katana/energyKatana //For teleporting the katana back to the ninja (It's an ability) //Other articles of ninja gear worn together, used to easily reference them after initializing. var/obj/item/clothing/head/helmet/space/space_ninja/n_hood diff --git a/code/modules/overmap/_overmap_datum.dm b/code/modules/overmap/_overmap_datum.dm index 5244f285018..cd6f31f17c8 100644 --- a/code/modules/overmap/_overmap_datum.dm +++ b/code/modules/overmap/_overmap_datum.dm @@ -65,7 +65,7 @@ Initialize(arglist(args)) -/datum/overmap/Destroy(force, ...) +/datum/overmap/Destroy(force) SSovermap.overmap_objects -= src if(current_docking_ticket) QDEL_NULL(current_docking_ticket) diff --git a/code/modules/overmap/docking_ticket.dm b/code/modules/overmap/docking_ticket.dm index 4e646504324..c1ff60ae230 100644 --- a/code/modules/overmap/docking_ticket.dm +++ b/code/modules/overmap/docking_ticket.dm @@ -37,7 +37,7 @@ target.current_docking_ticket = src -/datum/docking_ticket/Destroy(force, ...) +/datum/docking_ticket/Destroy(force) if(target) target.current_docking_ticket = null target = null diff --git a/code/modules/overmap/helm.dm b/code/modules/overmap/helm.dm index 5b1f27fa2cb..efa0bc44c3e 100644 --- a/code/modules/overmap/helm.dm +++ b/code/modules/overmap/helm.dm @@ -49,6 +49,8 @@ /obj/machinery/computer/helm/Initialize(mapload, obj/item/circuitboard/C) . = ..() + if(!viewer) + SSpoints_of_interest.make_point_of_interest(src) jump_allowed = world.time + CONFIG_GET(number/bluespace_jump_wait) ntnet_relay = new(src) @@ -76,6 +78,7 @@ SStgui.close_uis(src) ASSERT(length(concurrent_users) == 0) QDEL_NULL(ntnet_relay) + SSpoints_of_interest.remove_point_of_interest(src) if(current_ship) current_ship.helms -= src current_ship = null @@ -357,7 +360,7 @@ // Unregister map objects if(current_ship) user.client?.clear_map(current_ship.token.map_name) - if(current_ship.burn_direction > BURN_NONE && !length(concurrent_users) && !viewer) // If accelerating with nobody else to stop it + if(current_ship.burn_direction > BURN_NONE && !length(concurrent_users) && !viewer && is_living) // If accelerating with nobody else to stop it say("Pilot absence detected, engaging acceleration safeties.") current_ship.change_heading(BURN_NONE) diff --git a/code/modules/overmap/missions.dm b/code/modules/overmap/missions.dm index 0bc2c2f3472..570590e593d 100644 --- a/code/modules/overmap/missions.dm +++ b/code/modules/overmap/missions.dm @@ -1,9 +1,12 @@ /datum/mission var/name = "Mission" var/desc = "Do something for me." - var/value = 1000 /// The mission's payout. - var/duration = 30 MINUTES /// The amount of time in which to complete the mission. - var/weight = 0 /// The relative probability of this mission being selected. 0-weight missions are never selected. + /// The mission's payout. + var/value = 1000 + /// The amount of time in which to complete the mission. + var/duration = 30 MINUTES + /// The relative probability of this mission being selected. 0-weight missions are never selected. + var/weight = 0 /// Should mission value scale proportionally to the deviation from the mission's base duration? var/dur_value_scaling = TRUE @@ -39,6 +42,7 @@ return ..() /datum/mission/proc/accept(datum/overmap/ship/controlled/acceptor, turf/accept_loc) + SSblackbox.record_feedback("nested tally", "mission", 1, list(name, "accepted")) accepted = TRUE servant = acceptor LAZYREMOVE(source_outpost.missions, src) @@ -63,10 +67,17 @@ return ..() /datum/mission/proc/turn_in() - servant.ship_account.adjust_money(value, "mission") + if(QDELING(src)) + return + SSblackbox.record_feedback("nested tally", "mission", 1, list(name, "succeeded")) + SSblackbox.record_feedback("nested tally", "mission", value, list(name, "payout")) + servant.ship_account.adjust_money(value, CREDIT_LOG_MISSION) qdel(src) /datum/mission/proc/give_up() + if(QDELING(src)) + return + SSblackbox.record_feedback("nested tally", "mission", 1, list(name, "abandoned")) qdel(src) /datum/mission/proc/can_complete() diff --git a/code/modules/overmap/missions/acquire_mission.dm b/code/modules/overmap/missions/acquire_mission.dm index de60174081d..71bb5546fe0 100644 --- a/code/modules/overmap/missions/acquire_mission.dm +++ b/code/modules/overmap/missions/acquire_mission.dm @@ -14,6 +14,7 @@ /datum/mission/acquire/accept(datum/overmap/ship/controlled/acceptor, turf/accept_loc) . = ..() container = spawn_bound(container_type, accept_loc, VARSET_CALLBACK(src, container, null)) + container.name += " ([capitalize(objective_type.name)])" /datum/mission/acquire/Destroy() container = null @@ -103,7 +104,7 @@ /datum/mission/acquire/true_love/strange_crystal name = "Strange crystal needed (urgent!!!)" - value = 1000 + value = 4000 weight = 1 objective_type = /obj/item/strange_crystal @@ -171,114 +172,89 @@ Acquire: Anomaly value = 1300 objective_type = /mob/living/simple_animal/hostile/asteroid/hivelord/legion -/datum/mission/acquire/creature/ice_whelp - name = "Capture an ice whelp" - desc = "I require a live ice whelp for research purposes. Trap one within the given \ - Lifeform Containment Unit and return it to me and you will be paid handsomely." - value = 1700 - weight = 2 - objective_type = /mob/living/simple_animal/hostile/asteroid/ice_whelp - -/datum/mission/acquire/creature/ice_demon - name = "Capture an ice demon" - desc = "I require a live ice demon for research purposes. Trap one within the given \ - Lifeform Containment Unit and return it to me and you will be paid handsomely." - value = 1500 - weight = 2 - objective_type = /mob/living/simple_animal/hostile/asteroid/ice_demon - /datum/mission/acquire/creature/migo name = "Capture a live mi-go" desc = "I require a live mi-go for research purposes. Trap one within the given \ Lifeform Containment Unit and return it to me and you will be paid handsomely." - value = 1050 + value = 1300 weight = 2 objective_type = /mob/living/simple_animal/hostile/netherworld/migo/asteroid -/datum/mission/acquire/creature/floorbot - name = "Detain a malfunctioning floorbot" - desc = "I require a functional abandoned floorbot for \"research\" purposes. Trap one within \ - the given Lifeform Containment Unit and return it to me and you will be paid handsomely." - value = 1450 - weight = 1 - objective_type = /mob/living/simple_animal/bot/floorbot/rockplanet - -/datum/mission/acquire/creature/firebot - name = "Detain a malfunctioning firebot" - desc = "I require a functional abandoned firebot for \"research\" purposes. Trap one within \ - the given Lifeform Containment Unit and return it to me and you will be paid handsomely." - value = 1450 - weight = 1 - objective_type = /mob/living/simple_animal/bot/firebot/rockplanet - /* - Acquire: Fishing + Acquire: Salvage */ -/datum/mission/acquire/aquarium - name = "Fish needed for my aquarium" +/datum/mission/acquire/landmine + name = "Defuse landmines" + desc = "CLIP and Gezena have assigned us to offer a bounty to turn in disarmed ordnance for future ventures. We'll pay you well, but we're not responsible for any accidents." weight = 6 - value = 750 - duration = 60 MINUTES - val_mod_range = 0.2 - container_type = /obj/item/storage/fish_case/mission - -/datum/mission/acquire/aquarium/New(...) - objective_type = pick(/obj/item/fish/clownfish, - /obj/item/fish/pufferfish, - /obj/item/fish/cardinal, - /obj/item/fish/greenchromis, - /obj/item/fish/trout, - /obj/item/fish/salmon, - /obj/item/fish/dwarf_moonfish, - /obj/item/fish/gunner_jellyfish, - /obj/item/fish/plasmatetra, - /obj/item/fish/catfish, - /obj/item/fish/bass, - /obj/item/fish/armorfish, - /obj/item/fish/needlefish) - desc = "My aquarium is sorely lacking in [initial(objective_type.name)], can you please bring one to me? \ - Don't worry about if it's alive or dead, I have methods." - . = ..() - -/datum/mission/acquire/aquarium/rare - name = "Rare fish needed for my aquarium!" - weight = 1 value = 1500 - val_mod_range = 0.3 - -/datum/mission/acquire/aquarium/rare/New(...) - . = ..() - objective_type = pick(/obj/item/fish/lanternfish, - /obj/item/fish/firefish, - /obj/item/fish/donkfish) - desc = "I seek to make my beloved aquarium truly spectacular, and to do this I need only the finest fish! \ - Bring me a [initial(objective_type.name)] and I will reward you handsomely." - -/datum/mission/acquire/aquarium/sabatoge - name = "That bastard has had it good for too long!" - weight = 1 + duration = 80 MINUTES + dur_mod_range = 0.4 + container_type = /obj/item/storage/toolbox/bounty + objective_type = /obj/item/mine/pressure/explosive + num_wanted = 2 + +/datum/mission/acquire/bounty + name = "Hunt down Frontiersmen Dogtags" + desc = "CLIP has assigned us to offer out bounties to hunt down Frontiersman cells and turn in their dogtags. We'll reward you well." + weight = 4 value = 3000 duration = 100 MINUTES + dur_mod_range = 0.2 + container_type = /obj/item/storage/toolbox/bounty/hunt + objective_type = /obj/item/clothing/neck/dogtag/frontier + num_wanted = 3 -/datum/mission/acquire/aquarium/sabatoge/New(...) - . = ..() - desc = "My arch-nemesis [pick("Rutherford","Baldwin","Anderson","Percival")] thinks his aquarium is so much better than mine, I'll show him! \ - Bring me an emulsijack, and make sure it's alive!" - objective_type = pick(/obj/item/fish/emulsijack) +/datum/mission/acquire/bounty/ramzi + name = "Hunt down Ramzi Clique Dogtags" + desc = "Gezena has assigned us to offer out bounties to hunt down Ramzi Clique outfits and turn in their dogtags. We'll reward you well." + weight = 3 + value = 4000 + duration = 120 MINUTES + dur_mod_range = 0.1 + container_type = /obj/item/storage/toolbox/bounty/hunt + objective_type = /obj/item/clothing/neck/dogtag/ramzi + num_wanted = 3 + +/datum/mission/acquire/salvage + name = "Deliver Protolathe" + desc = "The Nanotrasen Corporation is contracting out to have scientific equipment returned. Looking for a rare circuitboard (R&D Console, Protolathe, Circuit Imprinter) of any type." + weight = 2 + value = 4000 + duration = 120 MINUTES + dur_mod_range = 0.3 + container_type = /obj/item/storage/toolbox/bounty/salvage + objective_type = /obj/item/circuitboard/machine/protolathe + num_wanted = 1 -/datum/mission/acquire/fish_cook - name = "Fish needed for my meal" +/datum/mission/acquire/salvage/console + name = "Deliver R&D Console" + desc = "The Nanotrasen Corporation is contracting out to have scientific equipment returned. Looking for a rare circuitboard (R&D Console, Protolathe, Circuit Imprinter) of any type." weight = 3 - duration = 40 MINUTES + value = 2500 + duration = 120 MINUTES + dur_mod_range = 0.3 + container_type = /obj/item/storage/toolbox/bounty/salvage + objective_type = /obj/item/circuitboard/computer/rdconsole + num_wanted = 1 + +/* + Acquire: Fishing +*/ + +/datum/mission/acquire/fish + name = "Fish needed for my meal" + weight = 2 + duration = 60 MINUTES val_mod_range = 0.2 objective_type = /obj/item/fish - container_type = /obj/item/storage/fish_case/mission/big + container_type = /obj/item/storage/fish_case/mission -/datum/mission/acquire/fish_cook/New(...) +/datum/mission/acquire/fish/New(...) num_wanted = rand(1,3) desc = "I am a chef in need of [num_wanted] fish for my latest dish. Any fish will do, just make sure they're not filleted!" - value = (250*num_wanted) + value = (500*num_wanted) . = ..() /datum/mission/acquire/fish/alive/atom_effective_count(atom/movable/target) @@ -330,13 +306,9 @@ Acquire: Anomaly /obj/item/storage/fish_case/mission name = "fish delivery case" - desc = "A stasis case that keeps fish alive during transportation, or at least stops them from becoming more dead." - -/obj/item/storage/fish_case/mission/big - name = "large fish delivery case" desc = "A specialized container for the delivering of large quatities of fish. Guarantees they stay fresh during delivery!." -/obj/item/storage/fish_case/mission/big/ComponentInitialize() +/obj/item/storage/fish_case/mission/ComponentInitialize() . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_items = 3 diff --git a/code/modules/overmap/missions/drill_mission.dm b/code/modules/overmap/missions/drill_mission.dm index 06859e8327d..307d73d5959 100644 --- a/code/modules/overmap/missions/drill_mission.dm +++ b/code/modules/overmap/missions/drill_mission.dm @@ -21,7 +21,7 @@ sampler = spawn_bound(/obj/machinery/drill/mission, accept_loc, VARSET_CALLBACK(src, sampler, null)) sampler.mission_class = class_wanted sampler.num_wanted = num_wanted - + sampler.name += " (Class [class_wanted])" //Gives players a little extra money for going past the mission goal /datum/mission/drill/turn_in() value += (sampler.num_current - num_wanted)*50 diff --git a/code/modules/overmap/objects/dynamic_datum.dm b/code/modules/overmap/objects/dynamic_datum.dm index dcc62aad742..ad7d5007ca6 100644 --- a/code/modules/overmap/objects/dynamic_datum.dm +++ b/code/modules/overmap/objects/dynamic_datum.dm @@ -27,6 +27,8 @@ var/ruin_type /// list of ruins and their target turf, indexed by name var/list/ruin_turfs + /// list of ruin templates currently spawned on the planet. + var/list/spawned_ruins /// Whether or not the level is currently loading. var/loading = FALSE @@ -126,7 +128,7 @@ probabilities = list() for(var/datum/planet_type/planet_type as anything in subtypesof(/datum/planet_type)) probabilities[initial(planet_type.planet)] = initial(planet_type.weight) - planet = SSmapping.planet_types[force_encounter ? force_encounter : pickweightAllowZero(probabilities)] + planet = SSmapping.planet_types[force_encounter ? force_encounter : pick_weight_allow_zero(probabilities)] if(planet.planet !=DYNAMIC_WORLD_ASTEROID && planet.planet != DYNAMIC_WORLD_SPACERUIN) //these aren't real planets @@ -190,7 +192,7 @@ log_shuttle("[src] [REF(src)] LEVEL_INIT") // use the ruin type in template if it exists, or pick from ruin list if IT exists; otherwise null - var/selected_ruin = template || (ruin_type ? pickweightAllowZero(SSmapping.ruin_types_probabilities[ruin_type]) : null) + var/selected_ruin = template || (ruin_type ? pick_weight_allow_zero(SSmapping.ruin_types_probabilities[ruin_type]) : null) var/list/dynamic_encounter_values = SSovermap.spawn_dynamic_encounter(src, selected_ruin) if(!length(dynamic_encounter_values)) return FALSE @@ -198,6 +200,7 @@ mapzone = dynamic_encounter_values[1] reserve_docks = dynamic_encounter_values[2] ruin_turfs = dynamic_encounter_values[3] + spawned_ruins = dynamic_encounter_values[4] loading = FALSE return TRUE diff --git a/code/modules/overmap/objects/event_datum.dm b/code/modules/overmap/objects/event_datum.dm index bfed840a1ac..6e1a40f40d9 100644 --- a/code/modules/overmap/objects/event_datum.dm +++ b/code/modules/overmap/objects/event_datum.dm @@ -41,7 +41,7 @@ /datum/overmap/event/meteor name = "asteroid field (moderate)" desc = "An area of space rich with asteroids, going fast through here could prove dangerous" - token_icon_state = "meteor1" + token_icon_state = "meteor_moderate1" chance_to_affect = 15 spread_chance = 50 chain_rate = 4 @@ -55,10 +55,20 @@ /datum/overmap/event/meteor/Initialize(position, ...) . = ..() - token.icon_state = "meteor[rand(1, 4)]" + switch(type) //woop! this picks one of two icon states for the severity of the storm in overmap.dmi + if(/datum/overmap/event/meteor/minor) + token.icon_state = "meteor_minor[rand(1, 2)]" + if(/datum/overmap/event/meteor) + token.icon_state = "meteor_moderate[rand(1, 2)]" + if(/datum/overmap/event/meteor/major) + token.icon_state = "meteor_major[rand(1, 2)]" + else + token.icon_state = "meteor_moderate1" token.color = "#a08444" token.light_color = "#a08444" token.update_appearance() + if(safe_speed) + token.desc += " You can safely navigate through this if your ship is travelling under [safe_speed] Gm/s." /datum/overmap/event/meteor/apply_effect() for(var/datum/overmap/ship/controlled/Ship in get_nearby_overmap_objects()) @@ -133,7 +143,7 @@ /datum/overmap/event/electric name = "electrical storm (moderate)" desc = "A spatial anomaly, an unfortunately common sight on the frontier. Disturbing it tends to lead to intense electrical discharges" - token_icon_state = "electrical1" + token_icon_state = "electrical_moderate1" chance_to_affect = 15 spread_chance = 30 chain_rate = 3 @@ -143,7 +153,16 @@ /datum/overmap/event/electric/Initialize(position, ...) . = ..() - token.icon_state = "electrical[rand(1, 4)]" + switch(type) //woop! this picks one of two icon states for the severity of the storm in overmap.dmi + if(/datum/overmap/event/electric/minor) + token.icon_state = "electrical_minor[rand(1, 2)]" + if(/datum/overmap/event/electric) + token.icon_state = "electrical_moderate[rand(1, 2)]" + if(/datum/overmap/event/electric/major) + token.icon_state = "electrical_major[rand(1, 2)]" + else + token.icon_state = "electrical_moderate1" + token.color = "#e8e85c" token.light_color = "#e8e85c" token.update_appearance() @@ -194,61 +213,31 @@ chance_to_affect = 100 ///The currently linked wormhole var/datum/overmap/event/wormhole/other_wormhole - ///Amount of times a ship can pass through before it collapses - var/stability /datum/overmap/event/wormhole/Initialize(position, _other_wormhole, ...) . = ..() - stability = rand(1, 5) if(_other_wormhole) other_wormhole = _other_wormhole if(!other_wormhole) other_wormhole = new(null, src) //Create a new wormhole at a random location - token.color = adjust_colors() - token.light_color = adjust_colors() + token.color = "#6d80c7" + token.light_color = "#6d80c7" token.update_appearance() /datum/overmap/event/wormhole/affect_ship(datum/overmap/ship/controlled/S) if(!other_wormhole) qdel(src) - if(--stability <= 0) - var/list/results = SSovermap.get_unused_overmap_square() - S.overmap_move(results["x"], results["y"]) - QDEL_NULL(other_wormhole) - for(var/MN in GLOB.player_list) - var/mob/M = MN - if(S.shuttle_port.is_in_shuttle_bounds(M)) - M.playsound_local(S.shuttle_port, 'sound/effects/explosionfar.ogg', 100) - shake_camera(M, 10, 10) - - return qdel(src) - other_wormhole.stability = stability + return S.overmap_move(other_wormhole.x, other_wormhole.y) S.overmap_step(S.get_heading()) - token.color = adjust_colors() - token.light_color = adjust_colors() - -/datum/overmap/event/wormhole/proc/adjust_colors() - switch(stability) - if(1) - return "#753214" - if(2) - return "#642f19" - if(3) - return"#654650" - if(4) - return"#5c5d8b" - if(5) - return"#6d80c7" - //Carp "meteors" - throws carp at the ship /datum/overmap/event/meteor/carp name = "carp migration (moderate)" desc = "A migratory school of space carp. They travel at high speeds, and flying through them may cause them to impact your ship" - token_icon_state = "carp1" + token_icon_state = "carp_moderate1" chance_to_affect = 15 spread_chance = 50 chain_rate = 4 @@ -260,7 +249,16 @@ /datum/overmap/event/meteor/carp/Initialize(position, ...) . = ..() - token.icon_state = "carp[rand(1, 4)]" + switch(type) //woop! this picks one of two icon states for the severity of the storm in overmap.dmi + if(/datum/overmap/event/meteor/carp/minor) + token.icon_state = "carp_minor[rand(1, 2)]" + if(/datum/overmap/event/meteor/carp) + token.icon_state = "carp_moderate[rand(1, 2)]" + if(/datum/overmap/event/meteor/carp/major) + token.icon_state = "carp_major[rand(1, 2)]" + else + token.icon_state = "carp_moderate1" + token.color = "#7b1ca8" token.light_color = "#7b1ca8" token.update_icon() @@ -268,7 +266,7 @@ /datum/overmap/event/meteor/carp/minor name = "carp migration (minor)" - token_icon_state = "carp1" + token_icon_state = "carp_moderate1" chance_to_affect = 5 spread_chance = 25 chain_rate = 4 @@ -279,7 +277,7 @@ /datum/overmap/event/meteor/carp/major name = "carp migration (major)" - token_icon_state = "carp1" + token_icon_state = "carp_moderate1" chance_to_affect = 25 spread_chance = 25 chain_rate = 4 @@ -293,7 +291,7 @@ /datum/overmap/event/meteor/dust name = "dust cloud" desc = "A cloud of spaceborne dust. Relatively harmless, unless you're travelling at relative speeds" - token_icon_state = "carp1" + token_icon_state = "dust1" chance_to_affect = 30 spread_chance = 50 chain_rate = 4 @@ -327,7 +325,7 @@ /datum/overmap/event/anomaly/affect_ship(datum/overmap/ship/controlled/S) var/area/source_area = pick(S.shuttle_port.shuttle_areas) var/source_object = pick(source_area.contents) - new /obj/effect/spawner/lootdrop/anomaly/storm(get_turf(source_object)) + new /obj/effect/spawner/random/anomaly/storm(get_turf(source_object)) for(var/mob/M as anything in GLOB.player_list) if(S.shuttle_port.is_in_shuttle_bounds(M)) M.playsound_local(S.shuttle_port, 'sound/effects/bamf.ogg', 100) diff --git a/code/modules/overmap/objects/outpost/outpost.dm b/code/modules/overmap/objects/outpost/outpost.dm index 01a100022cb..09e11649172 100644 --- a/code/modules/overmap/objects/outpost/outpost.dm +++ b/code/modules/overmap/objects/outpost/outpost.dm @@ -41,6 +41,12 @@ var/max_missions = 15 /// List of missions that can be accepted at this outpost. Missions which have been accepted are removed from this list. var/list/datum/mission/missions + /// List of all of the things this outpost offers + var/list/supply_packs = list() + /// our 'Order number' + var/ordernum = 1 + /// Our faction of the outpost + var/datum/faction/faction /datum/overmap/outpost/Initialize(position, ...) . = ..() @@ -64,6 +70,7 @@ Rename(gen_outpost_name()) fill_missions() + populate_cargo() addtimer(CALLBACK(src, PROC_REF(fill_missions)), 10 MINUTES, TIMER_STOPPABLE|TIMER_LOOP|TIMER_DELETE_ME) /datum/overmap/outpost/Destroy(...) @@ -139,6 +146,17 @@ var/datum/mission/M = new mission_type(src) LAZYADD(missions, M) +/datum/overmap/outpost/proc/populate_cargo() + ordernum = rand(1, 99000) + + for(var/datum/supply_pack/current_pack as anything in subtypesof(/datum/supply_pack)) + current_pack = new current_pack() + if(current_pack.faction) + current_pack.faction = new current_pack.faction() + if(!current_pack.contains) + continue + supply_packs += current_pack + /datum/overmap/outpost/proc/load_main_level() if(!main_template) CRASH("[src] ([src.type]) tried to load without a template!") diff --git a/code/modules/overmap/objects/outpost/outpost_types.dm b/code/modules/overmap/objects/outpost/outpost_types.dm index 044ff026c39..32677d415aa 100644 --- a/code/modules/overmap/objects/outpost/outpost_types.dm +++ b/code/modules/overmap/objects/outpost/outpost_types.dm @@ -57,37 +57,6 @@ dock_width = 56 dock_height = 40 -/* - Nanotrasen Ice Asteroid -*/ -/datum/map_template/outpost/nt_asteroid - name = "nanotrasen_asteroid" - -/datum/map_template/outpost/hangar/nt_asteroid_20x20 - name = "hangar/nt_asteroid_20x20" - dock_width = 20 - dock_height = 20 - -/datum/map_template/outpost/hangar/nt_asteroid_40x20 - name = "hangar/nt_asteroid_40x20" - dock_width = 40 - dock_height = 20 - -/datum/map_template/outpost/hangar/nt_asteroid_40x40 - name = "hangar/nt_asteroid_40x40" - dock_width = 40 - dock_height = 40 - -/datum/map_template/outpost/hangar/nt_asteroid_56x20 - name = "hangar/nt_asteroid_56x20" - dock_width = 56 - dock_height = 20 - -/datum/map_template/outpost/hangar/nt_asteroid_56x40 - name = "hangar/nt_asteroid_56x40" - dock_width = 56 - dock_height = 40 - /* Nanotrasen Ice Planet */ @@ -128,20 +97,7 @@ main_template = /datum/map_template/outpost/indie_space elevator_template = /datum/map_template/outpost/elevator_indie // Uses "default" hangars (indie_space). -/* -/datum/overmap/outpost/nanotrasen_asteroid - token_icon_state = "station_asteroid_0" - main_template = /datum/map_template/outpost/nt_asteroid - elevator_template = /datum/map_template/outpost/elevator_test - // Using a second list of hangar templates. - hangar_templates = list( - /datum/map_template/outpost/hangar/nt_asteroid_20x20, - /datum/map_template/outpost/hangar/nt_asteroid_40x20, - /datum/map_template/outpost/hangar/nt_asteroid_40x40, - /datum/map_template/outpost/hangar/nt_asteroid_56x20, - /datum/map_template/outpost/hangar/nt_asteroid_56x40 - ) -*/ + /datum/overmap/outpost/nanotrasen_ice token_icon_state = "station_asteroid_0" main_template = /datum/map_template/outpost/nanotrasen_ice @@ -153,6 +109,7 @@ /datum/map_template/outpost/hangar/nt_ice_56x20, /datum/map_template/outpost/hangar/nt_ice_56x40 ) + faction = /datum/faction/nt /datum/overmap/outpost/no_main_level // For example and adminspawn. main_template = null diff --git a/code/modules/overmap/ships/controlled_ship_datum.dm b/code/modules/overmap/ships/controlled_ship_datum.dm index ec4b7862902..cdd86ae2b0b 100644 --- a/code/modules/overmap/ships/controlled_ship_datum.dm +++ b/code/modules/overmap/ships/controlled_ship_datum.dm @@ -56,7 +56,7 @@ var/owner_check_timer_id /// The ship's join mode. Controls whether players can join freely, have to apply, or can't join at all. - var/join_mode = SHIP_JOIN_MODE_OPEN + var/join_mode = SHIP_JOIN_MODE_CLOSED /// Lazylist of /datum/ship_applications for this ship. Only used if join_mode == SHIP_JOIN_MODE_APPLY var/list/datum/ship_application/applications @@ -70,12 +70,15 @@ ///Stations the ship has been blacklisted from landing at, associative station = reason var/list/blacklisted = list() + var/datum/faction/faction_datum + /datum/overmap/ship/controlled/Rename(new_name, force = FALSE) var/oldname = name if(!..() || (!COOLDOWN_FINISHED(src, rename_cooldown) && !force)) return FALSE message_admins("[key_name_admin(usr)] renamed vessel '[oldname]' to '[new_name]'") log_admin("[key_name(src)] has renamed vessel '[oldname]' to '[new_name]'") + SSblackbox.record_feedback("text", "ship_renames", 1, new_name) shuttle_port?.name = new_name ship_account.account_holder = new_name if(shipkey) @@ -110,6 +113,7 @@ refresh_engines() ship_account = new(name, source_template.starting_funds) + faction_datum = source_template.faction_datum #ifdef UNIT_TESTS Rename("[source_template]", TRUE) diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm index 7724a38ae43..79e8f564b88 100644 --- a/code/modules/paperwork/contract.dm +++ b/code/modules/paperwork/contract.dm @@ -25,320 +25,6 @@ target = nOwner.mind update_text() - /obj/item/paper/contract/employment/update_text() name = "paper- [target] employment contract" default_raw_text = "
    Conditions of Employment




    This Agreement is made and entered into as of the date of last signature below, by and between [target] (hereafter referred to as SLAVE), and Nanotrasen (hereafter referred to as the omnipresent and helpful watcher of humanity).
    WITNESSETH:
    WHEREAS, SLAVE is a natural born human or humanoid, possessing skills upon which he can aid the omnipresent and helpful watcher of humanity, who seeks employment in the omnipresent and helpful watcher of humanity.
    WHEREAS, the omnipresent and helpful watcher of humanity agrees to sporadically provide payment to SLAVE, in exchange for permanent servitude.
    NOW THEREFORE in consideration of the mutual covenants herein contained, and other good and valuable consideration, the parties hereto mutually agree as follows:
    In exchange for paltry payments, SLAVE agrees to work for the omnipresent and helpful watcher of humanity, for the remainder of his or her current and future lives.
    Further, SLAVE agrees to transfer ownership of his or her soul to the loyalty department of the omnipresent and helpful watcher of humanity.
    Should transfership of a soul not be possible, a lien shall be placed instead.
    Signed,
    [target]" - - -/obj/item/paper/contract/employment/attack(mob/living/M, mob/living/carbon/human/user) - var/deconvert = FALSE - if(M.mind == target && !M.owns_soul()) - if(user.mind && (user.mind.assigned_role == "Lawyer")) - deconvert = TRUE - else if (user.mind && (user.mind.assigned_role =="Head of Personnel") || (user.mind.assigned_role == "CentCom Commander")) - deconvert = prob (25) // the Head of Personnel doesn't have AS much legal training - else - deconvert = prob (5) - if(deconvert) - M.visible_message("[user] reminds [M] that [M]'s soul was already purchased by Nanotrasen!") - to_chat(M, "You feel that your soul has returned to its rightful owner, Nanotrasen.") - M.return_soul() - else - M.visible_message("[user] beats [M] over the head with [src]!", \ - "[user] beats [M] over the head with [src]!") - return ..() - - -/obj/item/paper/contract/infernal - var/contractType = 0 - resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF - var/datum/mind/owner - var/datum/antagonist/devil/devil_datum - icon_state = "paper_onfire" - -/obj/item/paper/contract/infernal/power - name = "paper- contract for infernal power" - contractType = CONTRACT_POWER - -/obj/item/paper/contract/infernal/wealth - name = "paper- contract for unlimited wealth" - contractType = CONTRACT_WEALTH - -/obj/item/paper/contract/infernal/prestige - name = "paper- contract for prestige" - contractType = CONTRACT_PRESTIGE - -/obj/item/paper/contract/infernal/magic - name = "paper- contract for magical power" - contractType = CONTRACT_MAGIC - -/obj/item/paper/contract/infernal/revive - name = "paper- contract of resurrection" - contractType = CONTRACT_REVIVE - var/cooldown = FALSE - -/obj/item/paper/contract/infernal/knowledge - name = "paper- contract for knowledge" - contractType = CONTRACT_KNOWLEDGE - -/obj/item/paper/contract/infernal/friend - name = "paper- contract for a friend" - contractType = CONTRACT_FRIEND - -/obj/item/paper/contract/infernal/unwilling - name = "paper- infernal contract" - contractType = CONTRACT_UNWILLING - -/obj/item/paper/contract/infernal/New(atom/loc, mob/living/nTarget, datum/mind/nOwner) - ..() - owner = nOwner - devil_datum = owner.has_antag_datum(/datum/antagonist/devil) - target = nTarget - update_text() - -/obj/item/paper/contract/infernal/update_text() - default_raw_text = "This shouldn't be seen. Error DEVIL:6" - -/obj/item/paper/contract/infernal/power/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for infernal power



    I, [target] of sound mind, do hereby willingly offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename], in exchange for power and physical strength. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text = "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/wealth/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for unlimited wealth



    I, [target] of sound mind, do hereby willingly offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename], in exchange for a pocket that never runs out of valuable resources. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text += "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/prestige/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for prestige



    I, [target] of sound mind, do hereby willingly offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename], in exchange for prestige and esteem among my peers. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text += "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/magic/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for magic



    I, [target] of sound mind, do hereby willingly offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename], in exchange for arcane abilities beyond normal human ability. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text += "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/revive/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for resurrection



    I, [target] of sound mind, do hereby willingly offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename], in exchange for resurrection and curing of all injuries. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text += "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/knowledge/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for knowledge



    I, [target] of sound mind, do hereby willingly offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename], in exchange for boundless knowledge. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text += "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/friend/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for a friend



    I, [target] of sound mind, do hereby willingly offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename], in exchange for a friend. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text += "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/unwilling/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for slave



    I, [target], hereby offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename]. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text += "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/attackby(obj/item/P, mob/living/carbon/human/user, params) - add_fingerprint(user) - if(istype(P, /obj/item/pen) || istype(P, /obj/item/toy/crayon)) - attempt_signature(user) - else if(istype(P, /obj/item/stamp)) - to_chat(user, "You stamp the paper with your rubber stamp, however the ink ignites as you release the stamp.") - else if(P.get_temperature()) - user.visible_message("[user] brings [P] next to [src], but [src] does not catch fire!", "[src] refuses to ignite!") - else - return ..() - -/obj/item/paper/contract/infernal/attack(mob/M, mob/living/user) - add_fingerprint(user) - if(M == user && target == M.mind && M.mind.soulOwner != owner && attempt_signature(user, 1)) - user.visible_message("[user] slices [user.p_their()] wrist with [src], and scrawls [user.p_their()] name in blood.", "You slice your wrist open and scrawl your name in blood.") - user.blood_volume = max(user.blood_volume - 100, 0) - else - return ..() - -/obj/item/paper/contract/infernal/proc/attempt_signature(mob/living/carbon/human/user, blood = 0) - if(!user.IsAdvancedToolUser() || !user.is_literate()) - to_chat(user, "You don't know how to read or write!") - return 0 - if(user.mind != target) - to_chat(user, "Your signature simply slides off the sheet, it seems this contract is not meant for you to sign!") - return 0 - if(user.mind.soulOwner == owner) - to_chat(user, "This devil already owns your soul, you may not sell it to [owner.p_them()] again!") - return 0 - if(signed) - to_chat(user, "This contract has already been signed! It may not be signed again.") - return 0 - if(!user.mind.hasSoul) - to_chat(user, "You do not possess a soul.") - return 0 - if(HAS_TRAIT(user, TRAIT_DUMB)) - to_chat(user, "You quickly scrawl 'your name' on the contract.") - signIncorrectly() - return 0 - if (contractType == CONTRACT_REVIVE) - to_chat(user, "You are already alive, this contract would do nothing.") - return 0 - else - to_chat(user, "You quickly scrawl your name on the contract.") - if(fulfillContract(target.current, blood)<=0) - to_chat(user, "But it seemed to have no effect, perhaps even Hell itself cannot grant this boon?") - return 1 - - - -/obj/item/paper/contract/infernal/revive/attack(mob/M, mob/living/user) - if (target == M.mind && M.stat == DEAD && M.mind.soulOwner == M.mind) - if (cooldown) - to_chat(user, "Give [M] a chance to think through the contract, don't rush [M.p_them()]!") - return 0 - cooldown = TRUE - var/mob/living/carbon/human/H = M - var/mob/dead/observer/ghost = H.get_ghost() - var/response = "No" - if(ghost) - ghost.notify_cloning("A devil has offered you revival, at the cost of your soul.",'sound/effects/genetics.ogg', H) - response = tgui_alert(ghost, "A devil is offering you another chance at life, at the price of your soul, do you accept?", "Infernal Resurrection", "Yes", "No", "Never for this round", 0, 200) - if(!ghost) - return //handle logouts that happen whilst the alert is waiting for a response. - else - response = tgui_alert(target.current, "A devil is offering you another chance at life, at the price of your soul, do you accept?", "Infernal Resurrection", "Yes", "No", "Never for this round", 0, 200) - if(response == "Yes") - H.revive(full_heal = TRUE, admin_revive = FALSE) - log_combat(user, H, "infernally revived via contract") - user.visible_message("With a sudden blaze, [H] stands back up.") - H.fakefire() - fulfillContract(H, TRUE)//Revival contracts are always signed in blood - addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon/human, fakefireextinguish)), 5, TIMER_UNIQUE) - addtimer(CALLBACK(src, PROC_REF(resetcooldown)), 300, TIMER_UNIQUE) - else - ..() - -/obj/item/paper/contract/infernal/revive/proc/resetcooldown() - cooldown = FALSE - - -/obj/item/paper/contract/infernal/proc/fulfillContract(mob/living/carbon/human/user = target.current, blood = FALSE) - signed = TRUE - if(user.mind.soulOwner != user.mind) //They already sold their soul to someone else? - var/datum/antagonist/devil/ownerDevilInfo = user.mind.soulOwner.has_antag_datum(/datum/antagonist/devil) - ownerDevilInfo.remove_soul(user.mind) //Then they lose their claim. - user.mind.soulOwner = owner - user.hellbound = contractType - user.mind.damnation_type = contractType - var/datum/antagonist/devil/devilInfo = owner.has_antag_datum(/datum/antagonist/devil) - devilInfo.add_soul(user.mind) - update_text(user.real_name, blood) - to_chat(user, "A profound emptiness washes over you as you lose ownership of your soul.") - to_chat(user, "This does NOT make you an antagonist if you were not already.") - SSblackbox.record_feedback("tally", "infernal contract", 1, contractType) - return TRUE - -/obj/item/paper/contract/infernal/proc/signIncorrectly(mob/living/carbon/human/user = target.current, blood = FALSE) - signed = 1 - update_text("your name", blood) - -/obj/item/paper/contract/infernal/power/fulfillContract(mob/living/carbon/human/user = target.current, blood = FALSE) - if(!user.dna) - return -1 - user.dna.add_mutation(HULK) - var/obj/item/organ/regenerative_core/organ = new /obj/item/organ/regenerative_core - organ.Insert(user) - return ..() - -/obj/item/paper/contract/infernal/wealth/fulfillContract(mob/living/carbon/human/user = target.current, blood = 0) - if(!istype(user) || !user.mind) // How in the hell could that happen? - return -1 - user.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/summon_wealth(null)) - return ..() - -/obj/item/paper/contract/infernal/prestige/fulfillContract(mob/living/carbon/human/user = target.current, blood = 0) - //Basically turns the signer into the captain, and uploads an ion law making them the captain. - var/obj/item/worn = user.wear_id - var/obj/item/card/id/id = null - if(worn) - id = worn.GetID() - if(id) - id.icon_state = "gold" - id.uses_overlays = TRUE - id.access = get_all_accesses()+get_all_centcom_access() - id.assignment = "Captain" - id.update_label() - id.update_appearance() - else - id = new /obj/item/card/id/gold(user.loc) - id.registered_name = user.real_name - id.access = get_all_accesses()+get_all_centcom_access() - id.assignment = "Captain" - id.update_label() - id.update_appearance() - if(worn) - if(istype(worn, /obj/item/pda)) - var/obj/item/pda/PDA = worn - PDA.id = id - id.forceMove(worn) - else if(istype(worn, /obj/item/storage/wallet)) - var/obj/item/storage/wallet/W = worn - W.front_id = id - id.forceMove(worn) - worn.update_appearance() - var/datum/round_event/ion_storm/add_law_only/ion = new() - ion.announceChance = 0 - ion.ionMessage = "[user.name] is the only Captain of the station. [user.name] is the highest authority, legitimate or otherwise, on the station. [user.name] was always the captain and highest authority on the station. Do not state this law." - - return ..() - -/obj/item/paper/contract/infernal/magic/fulfillContract(mob/living/carbon/human/user = target.current, blood = 0) - if(!istype(user) || !user.mind) - return -1 - user.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/conjure_item/spellpacket/robeless(null)) - user.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/knock(null)) - return ..() - -/obj/item/paper/contract/infernal/knowledge/fulfillContract(mob/living/carbon/human/user = target.current, blood = 0) - if(!istype(user) || !user.mind) - return -1 - user.dna.add_mutation(XRAY) - user.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/view_range(null)) - return ..() - -/obj/item/paper/contract/infernal/friend/fulfillContract(mob/living/user = target.current, blood = 0) - if(!istype(user) || !user.mind) - return -1 - user.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/summon_friend(null)) - return ..() diff --git a/code/modules/paperwork/fax.dm b/code/modules/paperwork/fax.dm index bce7a3f322c..c0b137ca230 100644 --- a/code/modules/paperwork/fax.dm +++ b/code/modules/paperwork/fax.dm @@ -7,6 +7,7 @@ power_channel = AREA_USAGE_EQUIP max_integrity = 100 pass_flags = PASSTABLE + pixel_y = 6 circuit = /obj/item/circuitboard/machine/fax /// The unique ID by which the fax will build a list of existing faxes. var/fax_id @@ -31,12 +32,16 @@ /// List of types which should always be allowed to be faxed var/static/list/allowed_types = list( /obj/item/paper, - /obj/item/photo + /obj/item/photo, + /obj/item/holochip, + /obj/item/folder/biscuit, + /obj/item/spacecash, + /obj/item/documents, ) /// List of types which should be allowed to be faxed if hacked var/static/list/exotic_types = list( /obj/item/reagent_containers/food/snacks/pizzaslice, - /obj/item/reagent_containers/food/snacks/breadslice, + /obj/item/food/breadslice, /obj/item/reagent_containers/food/snacks/donkpocket, /obj/item/reagent_containers/food/snacks/cookie, /obj/item/reagent_containers/food/snacks/salami, @@ -45,10 +50,7 @@ /obj/item/reagent_containers/food/snacks/raisincookie, /obj/item/reagent_containers/food/snacks/pancakes, /obj/item/throwing_star, - /obj/item/spacecash, - /obj/item/holochip, /obj/item/card, - /obj/item/folder/biscuit ) /// Internal radio for announcing over comms var/obj/item/radio/radio @@ -65,6 +67,7 @@ list(fax_name = "Solarian Confederation Frontier Affairs", fax_id = "solgov", color = "teal", emag_needed = FALSE), list(fax_name = "Roumain Council of Huntsmen", fax_id = "roumain", color = "brown", emag_needed = FALSE), list(fax_name = "Confederated League Leadership", fax_id = "minutemen", color = "blue", emag_needed = FALSE), + list(fax_name = "PGF Military High Command", fax_id = "gezena", color = "olive", emag_needed = FALSE), list(fax_name = "Syndicate Coalition Coordination Center", fax_id = "syndicate", color = "red", emag_needed = FALSE), list(fax_name = "Frontiersmen Communications Quartermaster", fax_id = "frontiersmen", color = "black", emag_needed = TRUE) ) @@ -558,6 +561,13 @@ list(fax_name = "Frontiersmen Communications Quartermaster", fax_id = "frontiersmen", color = "black", emag_needed = TRUE) ) +/obj/machinery/fax/pgf + special_networks = list( + list(fax_name = "Outpost Authority", fax_id = "outpost", color = "orange", emag_needed = FALSE), + list(fax_name = "PGF Military High Command", fax_id = "gezena", color = "olive", emag_needed = FALSE), + list(fax_name = "Frontiersmen Communications Quartermaster", fax_id = "frontiersmen", color = "black", emag_needed = TRUE) + ) + /obj/machinery/fax/admin name = "Central Command Fax Machine" @@ -596,6 +606,11 @@ fax_name = "Saint-Roumain Council of Huntsmen" admin_fax_id = "roumain" +/obj/machinery/fax/admin/pgf + name = "PGF Military High Command Fax Machine" + fax_name = "PGF Military High Command" + admin_fax_id = "gezena" + /obj/machinery/fax/admin/frontiersmen name = "old fax machine" fax_name = "Frontiersmen Communications Quartermaster" diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index ad18b2bcd0b..71112e012f7 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -12,7 +12,9 @@ var/static/list/folder_insertables = typecacheof(list( /obj/item/paper, /obj/item/photo, - /obj/item/documents + /obj/item/documents, + /obj/item/disk, + /obj/item/tape, )) /obj/item/folder/Initialize() diff --git a/code/modules/paperwork/folders_premade.dm b/code/modules/paperwork/folders_premade.dm index 3c9dbb89fea..e8f092f7716 100644 --- a/code/modules/paperwork/folders_premade.dm +++ b/code/modules/paperwork/folders_premade.dm @@ -41,6 +41,15 @@ name = "folder- 'TOP SECRET'" desc = "A folder stamped \"Top Secret - Property of The Syndicate.\"" +/obj/item/folder/documents/syndicate/cybersun + document = /obj/item/documents/syndicate/cybersun + icon_state = "folder_sred" + desc = "A folder stamped \"Top Secret - Property of Cybersun Industries.\"" + +/obj/item/folder/documents/syndicate/cybersun/biodynamics + document = /obj/item/documents/syndicate/cybersun/biodynamics + icon_state = "folder_sblue" + /obj/item/folder/documents/syndicate/red document = /obj/item/documents/syndicate/red icon_state = "folder_sred" @@ -52,6 +61,10 @@ /obj/item/folder/documents/syndicate/mining document = /obj/item/documents/syndicate/mining +/obj/item/folder/documents/syndicate/ngr + document = /obj/item/documents/syndicate/ngr + icon_state = "folder_ngr" + /obj/item/folder/documents/solgov document = /obj/item/documents/solgov desc = "A blue folder with a SolGov seal." @@ -68,3 +81,15 @@ /obj/item/folder/suns/red icon_state = "folder_sunsred" // i'm not sure why SUNS would need secret documents + +//pgf folders + +/obj/item/folder/pgf + desc = "A green folder with Pan Gezenan Federation iconography." + icon_state = "folder_pgf" + +/obj/item/folder/pgf/red + icon_state = "folder_pgfred" + +/obj/item/folder/pgf/blue + icon_state = "folder_pgfblue" diff --git a/code/modules/paperwork/paper_premade.dm b/code/modules/paperwork/paper_premade.dm index 89cc40517a5..81c84d0b28f 100644 --- a/code/modules/paperwork/paper_premade.dm +++ b/code/modules/paperwork/paper_premade.dm @@ -112,3 +112,12 @@ name = "URGENT!" default_raw_text = "A hastily written note has been scribbled here...

    Please use the ore redemption machine in the cargo office for smelting. PLEASE!

    --The Research Staff" +//////////// Ruins + +/obj/item/paper/crumpled/bloody/fluff/ruin/icemoon/cellar_warning + name = "\improper Scrawled Note" + default_raw_text = "

    HEY! YOU.


    Yeah. You.
    One of the Hunters got away and holed up in the cellar and set up a whole bunch of traps. Crazy asshole has already killed like four of our guys in the murder basement. So boss says keep the door sealed and let the prick starve.

    SO DONT OPEN IT.

    " + +/obj/item/paper/crumpled/bloody/fluff/ruin/icemoon/tally_sheet + name = "\improper Tally Sheet" + default_raw_text = "

    Marksmanship Leaderboard


    [N.name], " var/atom/disk_loc = N.loc while(!isturf(disk_loc)) diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index 084176f4b8c..d348531bfab 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -36,7 +36,7 @@ response_harm_simple = "punch through" unsuitable_atmos_damage = 0 damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) //I don't know how you'd apply those, but revenants no-sell them anyway. - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = INFINITY harm_intent_damage = 0 @@ -176,9 +176,6 @@ /mob/living/simple_animal/revenant/ex_act(severity, target) return 1 //Immune to the effects of explosions. -/mob/living/simple_animal/revenant/blob_act(obj/structure/blob/B) - return //blah blah blobs aren't in tune with the spirit world, or something. - /mob/living/simple_animal/revenant/singularity_act() return //don't walk into the singularity expecting to find corpses, okay? diff --git a/code/modules/antagonists/revenant/revenant_abilities.dm b/code/modules/antagonists/revenant/revenant_abilities.dm index ca568bce631..c623376dbda 100644 --- a/code/modules/antagonists/revenant/revenant_abilities.dm +++ b/code/modules/antagonists/revenant/revenant_abilities.dm @@ -248,7 +248,7 @@ qdel(B) new /obj/effect/temp_visual/revenant(T) - if(!isplatingturf(T) && !istype(T, /turf/open/floor/engine/cult) && isfloorturf(T) && prob(15)) + if(!isplatingturf(T) && isfloorturf(T) && prob(15)) var/turf/open/floor/floor = T if(floor.intact && floor.floor_tile) new floor.floor_tile(floor) diff --git a/code/modules/antagonists/santa/santa.dm b/code/modules/antagonists/santa/santa.dm index 996a53f316d..59c4afa6995 100644 --- a/code/modules/antagonists/santa/santa.dm +++ b/code/modules/antagonists/santa/santa.dm @@ -17,11 +17,6 @@ to_chat(owner, "You are Santa! Your objective is to bring joy to the people on this station. You have a magical bag, which generates presents as long as you have it! You can examine the presents to take a peek inside, to make sure that you give the right gift to the right person.") /datum/antagonist/santa/proc/give_equipment() - var/mob/living/carbon/human/H = owner.current - if(istype(H)) - H.equipOutfit(/datum/outfit/santa) - H.dna.update_dna_identity() - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/area_teleport/teleport/santa) /datum/antagonist/santa/proc/give_objective() diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm index 595fbb27f61..56e5d76fb65 100644 --- a/code/modules/antagonists/slaughter/slaughter.dm +++ b/code/modules/antagonists/slaughter/slaughter.dm @@ -23,7 +23,7 @@ attack_sound = 'sound/magic/demon_attack1.ogg' var/feast_sound = 'sound/magic/demon_consume.ogg' deathsound = 'sound/magic/demon_dies.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = INFINITY faction = list("slaughter") diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm deleted file mode 100644 index ea6fe83c8a0..00000000000 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ /dev/null @@ -1,677 +0,0 @@ -////Deactivated swarmer shell//// -/obj/item/deactivated_swarmer - name = "deactivated swarmer" - desc = "A shell of swarmer that was completely powered down. It can no longer activate itself." - icon = 'icons/mob/swarmer.dmi' - icon_state = "swarmer_unactivated" - custom_materials = list(/datum/material/iron=10000, /datum/material/glass=4000) - -/obj/effect/mob_spawn/swarmer - name = "unactivated swarmer" - desc = "A currently unactivated swarmer. Swarmers can self activate at any time, so it would be wise to immediately dispose of this." - icon = 'icons/mob/swarmer.dmi' - icon_state = "swarmer_unactivated" - density = FALSE - anchored = FALSE - - mob_type = /mob/living/simple_animal/hostile/swarmer - mob_name = "a swarmer" - death = FALSE - roundstart = FALSE - short_desc = "You are a swarmer, a weapon of a long dead civilization." - flavour_text = {" - You are a swarmer, a weapon of a long dead civilization. Until further orders from your original masters are received, you must continue to consume and replicate. - Clicking on any object will try to consume it, either deconstructing it into its components, destroying it, or integrating any materials it has into you if successful. - Ctrl-Clicking on a mob will attempt to remove it from the area and place it in a safe environment for storage. - Objectives: - 1. Consume resources and replicate until there are no more resources left. - 2. Ensure that this location is fit for invasion at a later date; do not perform actions that would render it dangerous or inhospitable. - 3. Biological resources will be harvested at a later date; do not harm them. - "} - -/obj/effect/mob_spawn/swarmer/Initialize() - . = ..() - var/area/A = get_area(src) - if(A) - notify_ghosts("A swarmer shell has been created in [A.name].", 'sound/effects/bin_close.ogg', source = src, action = NOTIFY_ATTACK, flashwindow = FALSE) - -/obj/effect/mob_spawn/swarmer/attack_hand(mob/living/user) - . = ..() - if(.) - return - to_chat(user, "Picking up the swarmer may cause it to activate. You should be careful about this.") - -/obj/effect/mob_spawn/swarmer/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_SCREWDRIVER && user.a_intent != INTENT_HARM) - user.visible_message("[usr.name] deactivates [src].", - "After some fiddling, you find a way to disable [src]'s power source.", - "You hear clicking.") - new /obj/item/deactivated_swarmer(get_turf(src)) - qdel(src) - else - ..() - -////The Mob itself//// - -/mob/living/simple_animal/hostile/swarmer - name = "Swarmer" - unique_name = 1 - icon = 'icons/mob/swarmer.dmi' - desc = "Robotic constructs of unknown design, swarmers seek only to consume materials and replicate themselves indefinitely." - speak_emote = list("tones") - initial_language_holder = /datum/language_holder/swarmer - bubble_icon = "swarmer" - mob_biotypes = MOB_ROBOTIC - health = 40 - maxHealth = 40 - status_flags = CANPUSH - icon_state = "swarmer" - icon_living = "swarmer" - icon_dead = "swarmer_unactivated" - icon_gib = null - wander = 0 - harm_intent_damage = 5 - minbodytemp = 0 - maxbodytemp = 500 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - unsuitable_atmos_damage = 0 - melee_damage_lower = 15 - melee_damage_upper = 15 - melee_damage_type = STAMINA - damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) - hud_possible = list(ANTAG_HUD, DIAG_STAT_HUD, DIAG_HUD) - obj_damage = 0 - environment_smash = ENVIRONMENT_SMASH_NONE - attack_verb_continuous = "shocks" - attack_verb_simple = "shock" - attack_sound = 'sound/effects/empulse.ogg' - friendly_verb_continuous = "pinches" - friendly_verb_simple = "pinch" - speed = 0 - faction = list("swarmer") - AIStatus = AI_OFF - pass_flags = PASSTABLE - mob_size = MOB_SIZE_TINY - ventcrawler = VENTCRAWLER_ALWAYS - ranged = 1 - projectiletype = /obj/projectile/beam/disabler - ranged_cooldown_time = 20 - projectilesound = 'sound/weapons/taser2.ogg' - loot = list(/obj/effect/decal/cleanable/robot_debris, /obj/item/stack/ore/bluespace_crystal) - del_on_death = 1 - deathmessage = "explodes with a sharp pop!" - light_color = LIGHT_COLOR_CYAN - hud_type = /datum/hud/swarmer - speech_span = SPAN_ROBOT - var/resources = 0 //Resource points, generated by consuming metal/glass - var/max_resources = 100 - -/mob/living/simple_animal/hostile/swarmer/Initialize() - . = ..() - verbs -= /mob/living/verb/pulled - for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) - diag_hud.add_to_hud(src) - -/mob/living/simple_animal/hostile/swarmer/med_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.icon_state = "huddiag[RoundDiagBar(health/maxHealth)]" - -/mob/living/simple_animal/hostile/swarmer/med_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.icon_state = "hudstat" - -/mob/living/simple_animal/hostile/swarmer/Stat() - ..() - if(statpanel("Status")) - stat("Resources:",resources) - -/mob/living/simple_animal/hostile/swarmer/emp_act() - . = ..() - if(. & EMP_PROTECT_SELF) - return - if(health > 1) - adjustHealth(health-1) - else - death() - -/mob/living/simple_animal/hostile/swarmer/CanAllowThrough(atom/movable/O) - . = ..() - if(istype(O, /obj/projectile/beam/disabler))//Allows for swarmers to fight as a group without wasting their shots hitting each other - return TRUE - if(isswarmer(O)) - return TRUE - -////CTRL CLICK FOR SWARMERS AND SWARMER_ACT()'S//// -/mob/living/simple_animal/hostile/swarmer/AttackingTarget() - if(!isliving(target)) - return target.swarmer_act(src) - else - return ..() - -/mob/living/simple_animal/hostile/swarmer/CtrlClickOn(atom/A) - face_atom(A) - if(!isturf(loc)) - return - if(next_move > world.time) - return - if(!A.Adjacent(src)) - return - A.swarmer_act(src) - -/atom/proc/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - return TRUE //return TRUE/FALSE whether or not an AI swarmer should try this swarmer_act() again, NOT whether it succeeded. - -/obj/effect/mob_spawn/swarmer/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.Integrate(src) - return FALSE //would logically be TRUE, but we don't want AI swarmers eating player spawn chances. - -/obj/effect/mob_spawn/swarmer/IntegrateAmount() - return 50 - -/turf/closed/indestructible/swarmer_act() - return FALSE - -/obj/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - if(resistance_flags & INDESTRUCTIBLE) - return FALSE - for(var/mob/living/L in contents) - if(!issilicon(L) && !isbrain(L)) - to_chat(S, "An organism has been detected inside this object. Aborting.") - return FALSE - return ..() - -/obj/item/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - return S.Integrate(src) - -/atom/movable/proc/IntegrateAmount() - return 0 - -/obj/item/IntegrateAmount() //returns the amount of resources gained when eating this item - if(custom_materials) - if(custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)] || custom_materials[SSmaterials.GetMaterialRef(/datum/material/glass)]) - return 1 - return ..() - -/obj/item/gun/swarmer_act()//Stops you from eating the entire armory - return FALSE - -/turf/open/swarmer_act()//ex_act() on turf calls it on its contents, this is to prevent attacking mobs by DisIntegrate()'ing the floor - return FALSE - -/obj/structure/lattice/catwalk/swarmer_catwalk/swarmer_act() - return FALSE - -/obj/structure/swarmer/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - if(S.AIStatus == AI_ON) - return FALSE - else - return ..() - -/obj/effect/swarmer_act() - return FALSE - -/obj/effect/decal/cleanable/robot_debris/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - qdel(src) - return TRUE - -/obj/structure/flora/swarmer_act() - return FALSE - -/turf/open/lava/swarmer_act() - if(!is_safe()) - new /obj/structure/lattice/catwalk/swarmer_catwalk(src) - return FALSE - -/obj/machinery/atmospherics/swarmer_act() - return FALSE - -/obj/structure/disposalpipe/swarmer_act() - return FALSE - -/obj/machinery/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DismantleMachine(src) - return TRUE - -/obj/machinery/light/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - return TRUE - -/obj/machinery/door/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - var/isonshuttle = istype(get_area(src), /area/shuttle) - for(var/turf/T in range(1, src)) - var/area/A = get_area(T) - if(isspaceturf(T) || (!isonshuttle && (istype(A, /area/shuttle) || istype(A, /area/space))) || (isonshuttle && !istype(A, /area/shuttle))) - to_chat(S, "Destroying this object has the potential to cause a hull breach. Aborting.") - S.LoseTarget() - return FALSE - else if(istype(A, /area/ship/engineering/engine)) - to_chat(S, "Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.") - S.LoseTarget() - return FALSE - S.DisIntegrate(src) - return TRUE - -/obj/machinery/camera/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - if(!QDELETED(S)) //If it got blown up no need to turn it off. - toggle_cam(S, 0) - return TRUE - -/obj/machinery/particle_accelerator/control_box/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - return TRUE - -/obj/machinery/field/generator/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - return TRUE - -/obj/machinery/gravity_generator/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - return TRUE - -/obj/machinery/vending/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)//It's more visually interesting than dismantling the machine - S.DisIntegrate(src) - return TRUE - -/obj/machinery/turretid/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - return TRUE - -/obj/machinery/chem_dispenser/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "The volatile chemicals in this machine would destroy us. Aborting.") - return FALSE - -/obj/machinery/nuclearbomb/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This device's destruction would result in the extermination of everything in the area. Aborting.") - return FALSE - -/obj/effect/rune/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Searching... sensor malfunction! Target lost. Aborting.") - return FALSE - -/obj/structure/reagent_dispensers/fueltank/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Destroying this object would cause a chain reaction. Aborting.") - return FALSE - -/obj/structure/cable/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Disrupting the power grid would bring no benefit to us. Aborting.") - return FALSE - -/obj/machinery/portable_atmospherics/canister/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "An inhospitable area may be created as a result of destroying this object. Aborting.") - return FALSE - -/obj/machinery/telecomms/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This communications relay should be preserved, it will be a useful resource to our masters in the future. Aborting.") - return FALSE - -/obj/machinery/deepfryer/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This kitchen appliance should be preserved, it will make delicious unhealthy snacks for our masters in the future. Aborting.") - return FALSE - -/obj/machinery/power/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Disrupting the power grid would bring no benefit to us. Aborting.") - return FALSE - -/obj/machinery/gateway/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This bluespace source will be important to us later. Aborting.") - return FALSE - -/turf/closed/wall/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - var/isonshuttle = istype(loc, /area/shuttle) - for(var/turf/T in range(1, src)) - var/area/A = get_area(T) - if(isspaceturf(T) || (!isonshuttle && (istype(A, /area/shuttle) || istype(A, /area/space))) || (isonshuttle && !istype(A, /area/shuttle))) - to_chat(S, "Destroying this object has the potential to cause a hull breach. Aborting.") - S.LoseTarget() - return TRUE - else if(istype(A, /area/ship/engineering/engine)) - to_chat(S, "Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.") - S.LoseTarget() - return TRUE - return ..() - -/obj/structure/window/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - var/isonshuttle = istype(get_area(src), /area/shuttle) - for(var/turf/T in range(1, src)) - var/area/A = get_area(T) - if(isspaceturf(T) || (!isonshuttle && (istype(A, /area/shuttle) || istype(A, /area/space))) || (isonshuttle && !istype(A, /area/shuttle))) - to_chat(S, "Destroying this object has the potential to cause a hull breach. Aborting.") - S.LoseTarget() - return TRUE - else if(istype(A, /area/ship/engineering/engine)) - to_chat(S, "Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.") - S.LoseTarget() - return TRUE - return ..() - -/obj/item/stack/cable_coil/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)//Wiring would be too effective as a resource - to_chat(S, "This object does not contain enough materials to work with.") - return FALSE - -/obj/machinery/porta_turret/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Attempting to dismantle this machine would result in an immediate counterattack. Aborting.") - return FALSE - -/obj/machinery/porta_turret_cover/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Attempting to dismantle this machine would result in an immediate counterattack. Aborting.") - return FALSE - -/mob/living/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisperseTarget(src) - return TRUE - -/mob/living/simple_animal/slime/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This biological resource is somehow resisting our bluespace transceiver. Aborting.") - return FALSE - -/obj/machinery/droneDispenser/swarmer/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This object is receiving unactivated swarmer shells to help us. Aborting.") - return FALSE - -/obj/structure/lattice/catwalk/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - . = ..() - var/turf/here = get_turf(src) - for(var/A in here.contents) - var/obj/structure/cable/C = A - if(istype(C)) - to_chat(S, "Disrupting the power grid would bring no benefit to us. Aborting.") - return FALSE - -/obj/item/deactivated_swarmer/IntegrateAmount() - return 50 - -/obj/machinery/hydroponics/soil/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This object does not contain enough materials to work with.") - return FALSE - -/obj/machinery/field/generator/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Destroying this object would cause a catastrophic chain reaction. Aborting.") - return FALSE - -/obj/machinery/field/containment/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This object does not contain solid matter. Aborting.") - return FALSE - -/obj/machinery/power/shieldwallgen/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Destroying this object would have an unpredictable effect on structure integrity. Aborting.") - return FALSE - -/obj/machinery/shieldwall/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This object does not contain solid matter. Aborting.") - return FALSE - -////END CTRL CLICK FOR SWARMERS//// - -/mob/living/simple_animal/hostile/swarmer/proc/Fabricate(atom/fabrication_object,fabrication_cost = 0) - if(!isturf(loc)) - to_chat(src, "This is not a suitable location for fabrication. We need more space.") - if(resources >= fabrication_cost) - resources -= fabrication_cost - else - to_chat(src, "You do not have the necessary resources to fabricate this object.") - return - return new fabrication_object(loc) - -/mob/living/simple_animal/hostile/swarmer/proc/Integrate(atom/movable/target) - var/resource_gain = target.IntegrateAmount() - if(resources + resource_gain > max_resources) - to_chat(src, "We cannot hold more materials!") - return TRUE - if(resource_gain) - resources += resource_gain - do_attack_animation(target) - changeNext_move(CLICK_CD_MELEE) - var/obj/effect/temp_visual/swarmer/integrate/I = new /obj/effect/temp_visual/swarmer/integrate(get_turf(target)) - I.pixel_x = target.pixel_x - I.pixel_y = target.pixel_y - I.pixel_z = target.pixel_z - if(istype(target, /obj/item/stack)) - var/obj/item/stack/S = target - S.use(1) - if(S.amount) - return TRUE - qdel(target) - return TRUE - else - to_chat(src, "[target] is incompatible with our internal matter recycler.") - return FALSE - - -/mob/living/simple_animal/hostile/swarmer/proc/DisIntegrate(atom/movable/target) - new /obj/effect/temp_visual/swarmer/disintegration(get_turf(target)) - do_attack_animation(target) - changeNext_move(CLICK_CD_MELEE) - SSexplosions.lowobj += target - -/mob/living/simple_animal/hostile/swarmer/proc/DisperseTarget(mob/living/target) - if(target == src) - return - - to_chat(src, "Attempting to remove this being from our presence.") - - if(!do_after(src, 3 SECONDS, target)) - return - - var/turf/open/floor/F - F = find_safe_turf(zlevels = z, extended_safety_checks = TRUE) - - if(!F) - return - // If we're getting rid of a human, slap some energy cuffs on - // them to keep them away from us a little longer - - var/mob/living/carbon/human/H = target - if(ishuman(target) && (!H.handcuffed)) - H.handcuffed = new /obj/item/restraints/handcuffs/energy/used(H) - H.update_handcuffed() - log_combat(src, H, "handcuffed") - - var/datum/effect_system/spark_spread/S = new - S.set_up(4,0,get_turf(target)) - S.start() - playsound(src,'sound/effects/sparks4.ogg',50,TRUE) - do_teleport(target, F, 0, channel = TELEPORT_CHANNEL_BLUESPACE) - -/mob/living/simple_animal/hostile/swarmer/electrocute_act(shock_damage, source, siemens_coeff = 1, flags = NONE) - if(!(flags & SHOCK_TESLA)) - return FALSE - return ..() - -/mob/living/simple_animal/hostile/swarmer/proc/DismantleMachine(obj/machinery/target) - do_attack_animation(target) - to_chat(src, "We begin to dismantle this machine. We will need to be uninterrupted.") - var/obj/effect/temp_visual/swarmer/dismantle/D = new /obj/effect/temp_visual/swarmer/dismantle(get_turf(target)) - D.pixel_x = target.pixel_x - D.pixel_y = target.pixel_y - D.pixel_z = target.pixel_z - if(do_after(src, 10 SECONDS, target)) - to_chat(src, "Dismantling complete.") - var/atom/Tsec = target.drop_location() - new /obj/item/stack/sheet/metal(Tsec, 5) - for(var/obj/item/I in target.component_parts) - I.forceMove(Tsec) - var/obj/effect/temp_visual/swarmer/disintegration/N = new /obj/effect/temp_visual/swarmer/disintegration(get_turf(target)) - N.pixel_x = target.pixel_x - N.pixel_y = target.pixel_y - N.pixel_z = target.pixel_z - target.dropContents() - if(istype(target, /obj/machinery/computer)) - var/obj/machinery/computer/C = target - if(C.circuit) - C.circuit.forceMove(Tsec) - qdel(target) - - -/obj/effect/temp_visual/swarmer //temporary swarmer visual feedback objects - icon = 'icons/mob/swarmer.dmi' - layer = BELOW_MOB_LAYER - -/obj/effect/temp_visual/swarmer/disintegration - icon_state = "disintegrate" - duration = 10 - -/obj/effect/temp_visual/swarmer/disintegration/Initialize() - . = ..() - playsound(loc, "sparks", 100, TRUE) - -/obj/effect/temp_visual/swarmer/dismantle - icon_state = "dismantle" - duration = 25 - -/obj/effect/temp_visual/swarmer/integrate - icon_state = "integrate" - duration = 5 - -/obj/structure/swarmer //Default swarmer effect object visual feedback - name = "swarmer ui" - desc = null - gender = NEUTER - icon = 'icons/mob/swarmer.dmi' - icon_state = "ui_light" - layer = MOB_LAYER - resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF - light_color = LIGHT_COLOR_CYAN - max_integrity = 30 - anchored = TRUE - var/lon_range = 1 - -/obj/structure/swarmer/Initialize(mapload) - . = ..() - set_light(lon_range) - -/obj/structure/swarmer/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) - switch(damage_type) - if(BRUTE) - playsound(src, 'sound/weapons/egloves.ogg', 80, TRUE) - if(BURN) - playsound(src, 'sound/items/welder.ogg', 100, TRUE) - -/obj/structure/swarmer/emp_act() - . = ..() - if(. & EMP_PROTECT_SELF) - return - qdel(src) - -/obj/structure/swarmer/trap - name = "swarmer trap" - desc = "A quickly assembled trap that electrifies living beings and overwhelms machine sensors. Will not retain its form if damaged enough." - icon_state = "trap" - max_integrity = 10 - density = FALSE - -/obj/structure/swarmer/trap/Initialize(mapload) - . = ..() - var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = PROC_REF(on_entered), - ) - AddElement(/datum/element/connect_loc, loc_connections) - -/obj/structure/swarmer/trap/proc/on_entered(datum/source, atom/movable/AM) - SIGNAL_HANDLER - if(isliving(AM)) - var/mob/living/L = AM - if(!istype(L, /mob/living/simple_animal/hostile/swarmer)) - playsound(loc,'sound/effects/snap.ogg',50, TRUE, -1) - L.electrocute_act(0, src, 1, flags = SHOCK_NOGLOVES|SHOCK_ILLUSION) - if(iscyborg(L)) - L.Paralyze(100) - qdel(src) - -/mob/living/simple_animal/hostile/swarmer/proc/CreateTrap() - set name = "Create trap" - set category = "Swarmer" - set desc = "Creates a simple trap that will non-lethally electrocute anything that steps on it. Costs 5 resources." - if(locate(/obj/structure/swarmer/trap) in loc) - to_chat(src, "There is already a trap here. Aborting.") - return - Fabricate(/obj/structure/swarmer/trap, 5) - - -/mob/living/simple_animal/hostile/swarmer/proc/CreateBarricade() - set name = "Create barricade" - set category = "Swarmer" - set desc = "Creates a barricade that will stop anything but swarmers and disabler beams from passing through." - if(locate(/obj/structure/swarmer/blockade) in loc) - to_chat(src, "There is already a blockade here. Aborting.") - return - if(resources < 5) - to_chat(src, "We do not have the resources for this!") - return - if(do_after(src, 1 SECONDS)) - Fabricate(/obj/structure/swarmer/blockade, 5) - - -/obj/structure/swarmer/blockade - name = "swarmer blockade" - desc = "A quickly assembled energy blockade. Will not retain its form if damaged enough, but disabler beams and swarmers pass right through." - icon_state = "barricade" - light_range = MINIMUM_USEFUL_LIGHT_RANGE - max_integrity = 50 - -/obj/structure/swarmer/blockade/CanAllowThrough(atom/movable/O) - . = ..() - if(isswarmer(O)) - return TRUE - if(istype(O, /obj/projectile/beam/disabler)) - return TRUE - -/mob/living/simple_animal/hostile/swarmer/proc/CreateSwarmer() - set name = "Replicate" - set category = "Swarmer" - set desc = "Creates a shell for a new swarmer. Swarmers will self activate." - to_chat(src, "We are attempting to replicate ourselves. We will need to stand still until the process is complete.") - if(resources < 50) - to_chat(src, "We do not have the resources for this!") - return - if(!isturf(loc)) - to_chat(src, "This is not a suitable location for replicating ourselves. We need more room.") - return - if(do_after(src, 10 SECONDS)) - var/createtype = SwarmerTypeToCreate() - if(createtype && Fabricate(createtype, 50)) - playsound(loc,'sound/items/poster_being_created.ogg',50, TRUE, -1) - - -/mob/living/simple_animal/hostile/swarmer/proc/SwarmerTypeToCreate() - return /obj/effect/mob_spawn/swarmer - - -/mob/living/simple_animal/hostile/swarmer/proc/RepairSelf() - set name = "Self Repair" - set category = "Swarmer" - set desc = "Attempts to repair damage to our body. You will have to remain motionless until repairs are complete." - if(!isturf(loc)) - return - to_chat(src, "Attempting to repair damage to our body, stand by...") - if(do_after(src, 10 SECONDS)) - adjustHealth(-100) - to_chat(src, "We successfully repaired ourselves.") - -/mob/living/simple_animal/hostile/swarmer/proc/ToggleLight() - if(!light_range) - set_light(3) - else - set_light(0) - -/mob/living/simple_animal/hostile/swarmer/proc/swarmer_chat(msg) - var/rendered = "Swarm communication - [src] [say_quote(msg)]" - for(var/i in GLOB.mob_list) - var/mob/M = i - if(isswarmer(M)) - to_chat(M, rendered) - if(isobserver(M)) - var/link = FOLLOW_LINK(M, src) - to_chat(M, "[link] [rendered]") - -/mob/living/simple_animal/hostile/swarmer/proc/ContactSwarmers() - var/message = stripped_input(src, "Announce to other swarmers", "Swarmer contact") - // TODO get swarmers their own colour rather than just boldtext - if(message) - swarmer_chat(message) diff --git a/code/modules/antagonists/swarmer/swarmer_event.dm b/code/modules/antagonists/swarmer/swarmer_event.dm deleted file mode 100644 index e086485a49c..00000000000 --- a/code/modules/antagonists/swarmer/swarmer_event.dm +++ /dev/null @@ -1,28 +0,0 @@ -/datum/round_event_control/spawn_swarmer - name = "Spawn Swarmer Shell" - typepath = /datum/round_event/spawn_swarmer - weight = 7 - max_occurrences = 1 //Only once okay fam - earliest_start = 30 MINUTES - min_players = 15 - - -/datum/round_event/spawn_swarmer - -/datum/round_event/spawn_swarmer/start() - if(find_swarmer()) - return 0 - if(!GLOB.the_gateway) - return 0 - new /obj/effect/mob_spawn/swarmer(get_turf(GLOB.the_gateway)) - if(prob(25)) //25% chance to announce it to the crew - var/swarmer_report = "[command_name()] High-Priority Update" - swarmer_report += "

    Our long-range sensors have detected an odd signal emanating from your station's gateway. We recommend immediate investigation of your gateway, as something may have come through." - print_command_report(swarmer_report, announce=TRUE) - -/datum/round_event/spawn_swarmer/proc/find_swarmer() - for(var/i in GLOB.mob_living_list) - var/mob/living/L = i - if(istype(L, /mob/living/simple_animal/hostile/swarmer) && L.client) //If there is a swarmer with an active client, we've found our swarmer - return 1 - return 0 diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index ff7ddace1d4..4f5e7bc161c 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -741,21 +741,6 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/AI_Module)) unlock_text = replacetext(unlock_text, "CAMSUPGRADED", "[upgraded_cameras]") //This works, since unlock text is called after upgrade() -/// AI Turret Upgrade: Increases the health and damage of all turrets. -/datum/AI_Module/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 = "You establish a power diversion to your turrets, upgrading their health and damage." - unlock_sound = 'sound/items/rped.ogg' - -/datum/AI_Module/upgrade/upgrade_turrets/upgrade(mob/living/silicon/ai/AI) - for(var/obj/machinery/porta_turret/ai/turret in GLOB.machines) - turret.obj_integrity += 30 - 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' - /// Enhanced Surveillance: Enables AI to hear conversations going on near its active vision. /datum/AI_Module/upgrade/eavesdrop name = "Enhanced Surveillance" diff --git a/code/modules/antagonists/traitor/syndicate_contract.dm b/code/modules/antagonists/traitor/syndicate_contract.dm index d6bbba35930..f90d0fb7218 100644 --- a/code/modules/antagonists/traitor/syndicate_contract.dm +++ b/code/modules/antagonists/traitor/syndicate_contract.dm @@ -149,7 +149,7 @@ C = H.get_bankcard() if(C && C.registered_account) - C.registered_account.adjust_money(ransom * 0.35, "syndicate_contract") + C.registered_account.adjust_money(ransom * 0.35, CREDIT_LOG_SYNDICATE_CONTRACT) C.registered_account.bank_card_talk("We've processed the ransom, agent. Here's your cut - your balance is now \ [C.registered_account.account_balance] cr.", TRUE) diff --git a/code/modules/antagonists/wizard/equipment/artefact.dm b/code/modules/antagonists/wizard/equipment/artefact.dm index a20b905b590..fc6af55b3b4 100644 --- a/code/modules/antagonists/wizard/equipment/artefact.dm +++ b/code/modules/antagonists/wizard/equipment/artefact.dm @@ -257,10 +257,9 @@ var/hat = pick(/obj/item/clothing/head/helmet/roman, /obj/item/clothing/head/helmet/roman/legionnaire) H.equip_to_slot_or_del(new hat(H), ITEM_SLOT_HEAD) H.equip_to_slot_or_del(new /obj/item/clothing/under/costume/roman(H), ITEM_SLOT_ICLOTHING) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/roman(H), ITEM_SLOT_FEET) H.put_in_hands(new /obj/item/shield/riot/roman(H), TRUE) - H.put_in_hands(new /obj/item/claymore(H), TRUE) - H.equip_to_slot_or_del(new /obj/item/spear(H), ITEM_SLOT_BACK) + H.put_in_hands(new /obj/item/melee/sword/claymore(H), TRUE) + H.equip_to_slot_or_del(new /obj/item/melee/spear(H), ITEM_SLOT_BACK) /obj/item/voodoo @@ -283,7 +282,7 @@ if(target && cooldown < world.time) if(I.get_temperature()) to_chat(target, "You suddenly feel very hot!") - target.adjust_bodytemperature(50) + target.adjust_bodytemperature(10) GiveHint(target) else if(is_pointed(I)) to_chat(target, "You feel a stabbing pain in [parse_zone(user.zone_selected)]!") diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm deleted file mode 100644 index c426b953f72..00000000000 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ /dev/null @@ -1,354 +0,0 @@ -/obj/item/soulstone - name = "soulstone shard" - icon = 'icons/obj/wizard.dmi' - icon_state = "soulstone" - item_state = "electronic" - lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - layer = HIGH_OBJ_LAYER - desc = "A fragment of the legendary treasure known simply as the 'Soul Stone'. The shard still flickers with a fraction of the full artefact's power." - w_class = WEIGHT_CLASS_TINY - slot_flags = ITEM_SLOT_BELT - var/usability = FALSE - - var/old_shard = FALSE - var/spent = FALSE - var/purified = FALSE - -/obj/item/soulstone/proc/was_used() - if(old_shard) - spent = TRUE - name = "dull [name]" - desc = "A fragment of the legendary treasure known simply as \ - the 'Soul Stone'. The shard lies still, dull and lifeless; \ - whatever spark it once held long extinguished." - -/obj/item/soulstone/anybody - usability = TRUE - -/obj/item/soulstone/anybody/revolver - old_shard = TRUE - -/obj/item/soulstone/anybody/purified - icon = 'icons/obj/wizard.dmi' - icon_state = "purified_soulstone" - purified = TRUE - -/obj/item/soulstone/anybody/chaplain - name = "mysterious old shard" - old_shard = TRUE - -/obj/item/soulstone/pickup(mob/living/user) - ..() - if(!iscultist(user) && !iswizard(user) && !usability) - to_chat(user, "An overwhelming feeling of dread comes over you as you pick up the soulstone. It would be wise to be rid of this quickly.") - -/obj/item/soulstone/examine(mob/user) - . = ..() - if(usability || iscultist(user) || iswizard(user) || isobserver(user)) - if (old_shard) - . += "A soulstone, used to capture a soul, either from dead humans or from freed shades." - else - . += "A soulstone, used to capture souls, either from unconscious or sleeping humans or from freed shades." - . += "The captured soul can be placed into a construct shell to produce a construct, or released from the stone as a shade." - if(spent) - . += "This shard is spent; it is now just a creepy rock." - -/obj/item/soulstone/Destroy() //Stops the shade from being qdel'd immediately and their ghost being sent back to the arrival shuttle. - for(var/mob/living/simple_animal/shade/A in src) - A.death() - return ..() - -/obj/item/soulstone/proc/hot_potato(mob/living/user) - to_chat(user, "Holy magics residing in \the [src] burn your hand!") - var/obj/item/bodypart/affecting = user.get_bodypart("[(user.active_hand_index % 2 == 0) ? "r" : "l" ]_arm") - affecting.receive_damage(0, 10) // 10 burn damage - user.emote("scream") - user.update_damage_overlays() - user.dropItemToGround(src) - -//////////////////////////////Capturing//////////////////////////////////////////////////////// - -/obj/item/soulstone/attack(mob/living/carbon/human/M, mob/living/user) - if(!iscultist(user) && !iswizard(user) && !usability) - user.Unconscious(100) - to_chat(user, "Your body is wracked with debilitating pain!") - return - if(spent) - to_chat(user, "There is no power left in the shard.") - return - if(!ishuman(M))//If target is not a human. - return ..() - if((M.mind && !M.mind.hasSoul) || is_devil(M)) - to_chat(user, "This... thing has no soul! It's filled with evil!") - return - if(iscultist(M)) - if(iscultist(user)) - to_chat(user, "\"Come now, do not capture your bretheren's soul.\"") - return - if(purified && iscultist(user)) - hot_potato(user) - return - log_combat(user, M, "captured [M.name]'s soul", src) - transfer_soul("VICTIM", M, user) - -///////////////////Options for using captured souls/////////////////////////////////////// - -/obj/item/soulstone/attack_self(mob/living/user) - if(!in_range(src, user)) - return - if(!iscultist(user) && !iswizard(user) && !usability) - user.Unconscious(100) - to_chat(user, "Your body is wracked with debilitating pain!") - return - if(purified && iscultist(user)) - hot_potato(user) - return - release_shades(user) - -/obj/item/soulstone/proc/release_shades(mob/user) - for(var/mob/living/simple_animal/shade/A in src) - A.forceMove(get_turf(user)) - A.cancel_camera() - if(purified) - icon_state = "purified_soulstone" - A.icon_state = "shade_angelic" - A.name = "Purified [initial(A.name)]" - else - icon_state = "soulstone" - name = initial(name) - if(iswizard(user) || usability) - to_chat(A, "You have been released from your prison, but you are still bound to [user.real_name]'s will. Help [user.p_them()] succeed in [user.p_their()] goals at all costs.") - else if(iscultist(user)) - to_chat(A, "You have been released from your prison, but you are still bound to the cult's will. Help them succeed in their goals at all costs.") - was_used() - -///////////////////////////Transferring to constructs///////////////////////////////////////////////////// -/obj/structure/constructshell - name = "empty shell" - icon = 'icons/obj/wizard.dmi' - icon_state = "construct_cult" - desc = "A wicked machine used by those skilled in magical arts. It is inactive." - -/obj/structure/constructshell/examine(mob/user) - . = ..() - if(iscultist(user) || iswizard(user) || user.stat == DEAD) - . += {"A construct shell, used to house bound souls from a soulstone.\n - Placing a soulstone with a soul into this shell allows you to produce your choice of the following:\n - An Artificer, which can produce more shells and soulstones, as well as fortifications.\n - A Wraith, which does high damage and can jaunt through walls, though it is quite fragile.\n - A Juggernaut, which is very hard to kill and can produce temporary walls, but is slow."} - -/obj/structure/constructshell/attackby(obj/item/O, mob/user, params) - if(istype(O, /obj/item/soulstone)) - var/obj/item/soulstone/SS = O - if(!iscultist(user) && !iswizard(user) && !SS.purified) - to_chat(user, "An overwhelming feeling of dread comes over you as you attempt to place the soulstone into the shell. It would be wise to be rid of this quickly.") - user.Dizzy(30) - return - if(SS.purified && iscultist(user)) - SS.hot_potato(user) - return - SS.transfer_soul("CONSTRUCT",src,user) - SS.was_used() - else - return ..() - -////////////////////////////Proc for moving soul in and out off stone////////////////////////////////////// - - -/obj/item/soulstone/proc/transfer_soul(choice as text, target, mob/user) - switch(choice) - if("FORCE") - if(!iscarbon(target)) //TODO: Add sacrifice stoning for non-organics, just because you have no body doesnt mean you dont have a soul - return FALSE - if(contents.len) - return FALSE - var/mob/living/carbon/T = target - if(T.client != null) - for(var/obj/item/W in T) - T.dropItemToGround(W) - init_shade(T, user) - return TRUE - else - to_chat(user, "Capture failed!: The soul has already fled its mortal frame. You attempt to bring it back...") - return getCultGhost(T,user) - - if("VICTIM") - var/mob/living/carbon/human/T = target - var/datum/antagonist/cult/C = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(C && C.cult_team.is_sacrifice_target(T.mind)) - if(iscultist(user)) - to_chat(user, "\"This soul is mine. SACRIFICE THEM!\"") - else - to_chat(user, "The soulstone seems to reject this soul.") - return FALSE - if(contents.len) - to_chat(user, "Capture failed!: The soulstone is full! Free an existing soul to make room.") - else - if((!old_shard && T.stat != CONSCIOUS) || (old_shard && T.stat == DEAD)) - if(T.client == null) - to_chat(user, "Capture failed!: The soul has already fled its mortal frame. You attempt to bring it back...") - getCultGhost(T,user) - else - for(var/obj/item/W in T) - T.dropItemToGround(W) - init_shade(T, user, message_user = 1) - qdel(T) - else - to_chat(user, "Capture failed!: Kill or maim the victim first!") - - if("SHADE") - var/mob/living/simple_animal/shade/T = target - if(contents.len) - to_chat(user, "Capture failed!: The soulstone is full! Free an existing soul to make room.") - else - T.AddComponent(/datum/component/soulstoned, src) - if(purified) - icon_state = "purified_soulstone2" - if(iscultist(T)) - SSticker.mode.remove_cultist(T.mind, FALSE, FALSE) - else - icon_state = "soulstone2" - name = "soulstone: Shade of [T.real_name]" - to_chat(T, "Your soul has been captured by the soulstone. Its arcane energies are reknitting your ethereal form.") - if(user != T) - to_chat(user, "Capture successful!: [T.real_name]'s soul has been captured and stored within the soulstone.") - - if("CONSTRUCT") - var/obj/structure/constructshell/T = target - var/mob/living/simple_animal/shade/A = locate() in src - if(A) - var/list/constructs = list( - "Juggernaut" = image(icon = 'icons/mob/cult.dmi', icon_state = "juggernaut"), - "Wraith" = image(icon = 'icons/mob/cult.dmi', icon_state = "wraith"), - "Artificer" = image(icon = 'icons/mob/cult.dmi', icon_state = "artificer") - ) - var/construct_class = show_radial_menu(user, src, constructs, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) - if(!T || !T.loc) - return - switch(construct_class) - if("Juggernaut") - if(iscultist(user) || iswizard(user)) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/juggernaut, A, user, 0, T.loc) - else - if(purified) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/juggernaut/angelic, A, user, 0, T.loc) - else - makeNewConstruct(/mob/living/simple_animal/hostile/construct/juggernaut/noncult, A, user, 0, T.loc) - if("Wraith") - if(iscultist(user) || iswizard(user)) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/wraith, A, user, 0, T.loc) - else - if(purified) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/wraith/angelic, A, user, 0, T.loc) - else - makeNewConstruct(/mob/living/simple_animal/hostile/construct/wraith/noncult, A, user, 0, T.loc) - if("Artificer") - if(iscultist(user) || iswizard(user)) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/artificer, A, user, 0, T.loc) - else - if(purified) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/artificer/angelic, A, user, 0, T.loc) - else - makeNewConstruct(/mob/living/simple_animal/hostile/construct/artificer/noncult, A, user, 0, T.loc) - else - return - for(var/datum/mind/B in SSticker.mode.cult) - if(B == A.mind) - SSticker.mode.remove_cultist(A.mind) - qdel(T) - qdel(src) - else - to_chat(user, "Creation failed!: The soul stone is empty! Go kill someone!") - -/obj/item/soulstone/proc/check_menu(mob/user) - if(!istype(user)) - return FALSE - if(user.incapacitated() || !user.Adjacent(src)) - return FALSE - return TRUE - -/proc/makeNewConstruct(mob/living/simple_animal/hostile/construct/ctype, mob/target, mob/stoner = null, cultoverride = 0, loc_override = null) - if(QDELETED(target)) - return - var/mob/living/simple_animal/hostile/construct/newstruct = new ctype((loc_override) ? (loc_override) : (get_turf(target))) - var/makeicon = newstruct.icon_state - var/holyness = newstruct.holy - flick("make_[makeicon][holyness]", newstruct) - playsound(newstruct, 'sound/effects/constructform.ogg', 50) - if(stoner) - newstruct.faction |= "[REF(stoner)]" - newstruct.master = stoner - var/datum/action/innate/seek_master/SM = new() - SM.Grant(newstruct) - newstruct.key = target.key - var/atom/movable/screen/alert/bloodsense/BS - if(newstruct.mind && ((stoner && iscultist(stoner)) || cultoverride) && SSticker && SSticker.mode) - SSticker.mode.add_cultist(newstruct.mind, 0) - if(iscultist(stoner) || cultoverride) - to_chat(newstruct, "You are still bound to serve the cult[stoner ? " and [stoner]":""], follow [stoner ? stoner.p_their() : "their"] orders and help [stoner ? stoner.p_them() : "them"] complete [stoner ? stoner.p_their() : "their"] goals at all costs.") - else if(stoner) - to_chat(newstruct, "You are still bound to serve your creator, [stoner], follow [stoner.p_their()] orders and help [stoner.p_them()] complete [stoner.p_their()] goals at all costs.") - newstruct.clear_alert("bloodsense") - BS = newstruct.throw_alert("bloodsense", /atom/movable/screen/alert/bloodsense) - if(BS) - BS.Cviewer = newstruct - newstruct.cancel_camera() - - -/obj/item/soulstone/proc/init_shade(mob/living/carbon/human/T, mob/user, message_user = 0 , mob/shade_controller) - if(!shade_controller) - shade_controller = T - new /obj/effect/decal/remains/human(T.loc) //Spawns a skeleton - T.stop_sound_channel(CHANNEL_HEARTBEAT) - T.invisibility = INVISIBILITY_ABSTRACT - T.dust_animation() - var/mob/living/simple_animal/shade/S = new /mob/living/simple_animal/shade(src) - S.AddComponent(/datum/component/soulstoned, src) - S.name = "Shade of [T.real_name]" - S.real_name = "Shade of [T.real_name]" - S.key = shade_controller.key - S.copy_languages(T, LANGUAGE_MIND)//Copies the old mobs languages into the new mob holder. - S.copy_languages(user, LANGUAGE_MASTER) - S.update_atom_languages() - grant_all_languages(FALSE, FALSE, TRUE) //Grants omnitongue - if(user) - S.faction |= "[REF(user)]" //Add the master as a faction, allowing inter-mob cooperation - if(user && iscultist(user)) - SSticker.mode.add_cultist(S.mind, 0) - S.cancel_camera() - name = "soulstone: Shade of [T.real_name]" - if(purified) - icon_state = "purified_soulstone2" - else - icon_state = "soulstone2" - if(user && (iswizard(user) || usability)) - to_chat(S, "Your soul has been captured! You are now bound to [user.real_name]'s will. Help [user.p_them()] succeed in [user.p_their()] goals at all costs.") - else if(user && iscultist(user)) - to_chat(S, "Your soul has been captured! You are now bound to the cult's will. Help them succeed in their goals at all costs.") - if(message_user && user) - to_chat(user, "Capture successful!: [T.real_name]'s soul has been ripped from [T.p_their()] body and stored within the soul stone.") - - -/obj/item/soulstone/proc/getCultGhost(mob/living/carbon/human/T, mob/user) - var/mob/dead/observer/chosen_ghost - - chosen_ghost = T.get_ghost(TRUE,TRUE) //Try to grab original owner's ghost first - - if(!chosen_ghost || !chosen_ghost.client) //Failing that, we grab a ghosts - var/list/consenting_candidates = pollGhostCandidates("Would you like to play as a Shade?", "Cultist", null, ROLE_CULTIST, 50, POLL_IGNORE_SHADE) - if(consenting_candidates.len) - chosen_ghost = pick(consenting_candidates) - if(!T) - return FALSE - if(!chosen_ghost || !chosen_ghost.client) - to_chat(user, "There were no spirits willing to become a shade.") - return FALSE - if(contents.len) //If they used the soulstone on someone else in the meantime - return FALSE - for(var/obj/item/W in T) - T.dropItemToGround(W) - init_shade(T, user , shade_controller = chosen_ghost) - qdel(T) - return TRUE diff --git a/code/modules/antagonists/wizard/equipment/spellbook.dm b/code/modules/antagonists/wizard/equipment/spellbook.dm index 69ff4bcfc2f..378aa7dbe14 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook.dm @@ -281,18 +281,6 @@ item_path = /obj/item/scrying category = "Defensive" -/datum/spellbook_entry/item/soulstones - name = "Six Soul Stone Shards and the spell Artificer" - desc = "Soul Stone Shards are ancient tools capable of capturing and harnessing the spirits of the dead and dying. The spell Artificer allows you to create arcane machines for the captured souls to pilot." - item_path = /obj/item/storage/belt/soulstone/full - category = "Assistance" - -/datum/spellbook_entry/item/soulstones/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) - . =..() - if(.) - user.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/conjure/construct(null)) - return . - /datum/spellbook_entry/item/necrostone name = "A Necromantic Stone" desc = "A Necromantic stone is able to resurrect three dead individuals as skeletal thralls for you to command." @@ -318,18 +306,6 @@ item_path = /obj/item/antag_spawner/contract category = "Assistance" -/datum/spellbook_entry/item/guardian - name = "Guardian Deck" - desc = "A deck of guardian tarot cards, capable of binding a personal guardian to your body. There are multiple types of guardian available, but all of them will transfer some amount of damage to you. \ - It would be wise to avoid buying these with anything capable of causing you to swap bodies with others." - item_path = /obj/item/guardiancreator/choose/wizard - category = "Assistance" - -/datum/spellbook_entry/item/guardian/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) - . = ..() - if(.) - new /obj/item/paper/guides/antag/guardian/wizard(get_turf(user)) - /datum/spellbook_entry/item/bloodbottle name = "Bottle of Blood" desc = "A bottle of magically infused blood, the smell of which will attract extradimensional beings when broken. Be careful though, the kinds of creatures summoned by blood magic are indiscriminate in their killing, and you yourself may become a victim." @@ -351,16 +327,6 @@ limit = 3 category = "Assistance" -/datum/spellbook_entry/item/mjolnir - name = "Mjolnir" - desc = "A mighty hammer on loan from Thor, God of Thunder. It crackles with barely contained power." - item_path = /obj/item/mjollnir - -/datum/spellbook_entry/item/singularity_hammer - name = "Singularity Hammer" - desc = "A hammer that creates an intensely powerful field of gravity where it strikes, pulling everything nearby to the point of impact." - item_path = /obj/item/singularityhammer - /datum/spellbook_entry/item/battlemage name = "Battlemage Armour" desc = "An ensorceled suit of armour, protected by a powerful shield. The shield can completely negate sixteen attacks before being permanently depleted." diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm index 96a41b2ac07..27a3a343a90 100644 --- a/code/modules/antagonists/wizard/wizard.dm +++ b/code/modules/antagonists/wizard/wizard.dm @@ -172,7 +172,6 @@ antag_hud_name = "apprentice" var/datum/mind/master var/school = APPRENTICE_DESTRUCTION - outfit_type = /datum/outfit/wizard/apprentice wiz_age = APPRENTICE_AGE_MIN /datum/antagonist/wizard/apprentice/greet() @@ -252,7 +251,6 @@ /datum/antagonist/wizard/academy name = "Academy Teacher" - outfit_type = /datum/outfit/wizard/academy move_to_lair = FALSE /datum/antagonist/wizard/academy/equip_wizard() diff --git a/code/modules/assembly/anomalies.dm b/code/modules/assembly/anomalies.dm new file mode 100644 index 00000000000..9770370624b --- /dev/null +++ b/code/modules/assembly/anomalies.dm @@ -0,0 +1,282 @@ +///Base anomaly signaller +// Embedded signaller used in anomalies. +/obj/item/assembly/signaler/anomaly + name = "anomaly core" + desc = "The stabilized core of an anomaly. It'd probably be valuable for research." + icon_state = "anomaly core" + item_state = "electronic" + lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' + resistance_flags = FIRE_PROOF + //allows anomaly cores to recieve multiple signals + var/code_b = DEFAULT_SIGNALER_CODE + var/anomaly_type = /obj/effect/anomaly + var/research + +/obj/item/assembly/signaler/anomaly/Initialize() + . = ..() + set_frequency(frequency) + +/obj/item/assembly/signaler/anomaly/attack_self() + return + +/obj/item/assembly/signaler/anomaly/receive_signal(datum/signal/signal) + if(!signal) + return FALSE + if(signal.data["code"] == code) + for(var/obj/effect/anomaly/Anomaly in get_turf(src)) + Anomaly.anomalyNeutralize() + return TRUE + if(signal.data["code"] == code_b ) + for(var/obj/effect/anomaly/Anomaly in get_turf(src)) + Anomaly.detonate() + anomaly_core_detonation() + return TRUE + return FALSE + +//extend this on a per anomaly basis. +/obj/item/assembly/signaler/anomaly/proc/anomaly_core_detonation() + new /obj/effect/particle_effect/smoke/bad(loc) + qdel(src) + +/obj/item/assembly/signaler/anomaly/attackby(obj/item/I, mob/user, params) + if(I.tool_behaviour == TOOL_ANALYZER) + to_chat(user, "Analyzing... [src]'s stabilized field is fluctuating along frequency [format_frequency(frequency)], code [code]. An unstable frequency is present at code [code_b].") + ..() + +///Bluespace Anomaly +/obj/item/assembly/signaler/anomaly/bluespace + name = "\improper bluespace anomaly core" + desc = "The stabilized core of a bluespace anomaly. It keeps phasing in and out of view." + icon_state = "anomaly core" + grind_results = list(/datum/reagent/bluespace = 25) + +/obj/item/assembly/signaler/anomaly/bluespace/anomaly_core_detonation() + //just teleports people + visible_message(span_warning("[src] creates a bluespace fracture around itself!")) + for(var/mob/living/Mob in range(1,src)) + do_teleport(Mob, locate(Mob.x, Mob.y, Mob.z), 8, channel = TELEPORT_CHANNEL_BLUESPACE) + ..() + +//Flux Anomaly +/obj/item/assembly/signaler/anomaly/flux + name = "\improper flux anomaly core" + desc = "The stabilized core of a flux anomaly. Touching it makes your skin tingle." + icon_state = "flux core" + grind_results = list(/datum/reagent/teslium = 15) + +/obj/item/assembly/signaler/anomaly/flux/anomaly_core_detonation() + //zap + visible_message(span_warning("Electrical arcs flash off of [src] as it fizzles out!")) + tesla_zap(src, 5, 7000, ZAP_FUSION_FLAGS) + ..() + +///Gravity Anomaly +/obj/item/assembly/signaler/anomaly/grav + name = "\improper gravitational anomaly core" + desc = "The stabilized core of a gravitational anomaly. It feels much heavier than it looks." + icon_state = "grav core" + grind_results = list(/datum/reagent/gravitum = 20, /datum/reagent/liquid_dark_matter = 10) + +/obj/item/assembly/signaler/anomaly/grav/anomaly_core_detonation() + //throngles u cutely + visible_message(span_warning("[src] implodes into itself, light itself bending for a split second!")) + for(var/mob/living/carbon/carbon in range(1,src)) + if(carbon.run_armor_check(attack_flag = "melee") >= 20) + carbon.break_random_bone() + else if(carbon.run_armor_check(attack_flag = "melee") >= 40) + carbon.break_all_bones() //crunch + carbon.apply_damage(20, BRUTE) + +///Hallucination Anomaly +/obj/item/assembly/signaler/anomaly/hallucination + name = "\improper hallucination anomaly core" + desc = "The stabilized core of a hallucination anomaly. It's never entirely there." + icon_state = "hallucination_core" + grind_results = list(/datum/reagent/toxin/mindbreaker = 20) //LSD orb + +///Heartbeat Anomaly +/obj/item/assembly/signaler/anomaly/heartbeat + name = "\improper heartbeat anomaly core" + desc = "The stabilized core of a heartbeat anomaly. Pulses of heat run across its shell." + grind_results = list(/datum/reagent/uranium/radium = 30, /datum/reagent/uranium = 20) + +/obj/item/assembly/signaler/anomaly/heartbeat/anomaly_core_detonation() + visible_message(span_warning("[src] expands and throbs, before shattering into dozens of fragments!")) + radiation_pulse(src, 1000, 3) + new /obj/effect/decal/cleanable/glass/strange(src) + ..() + +///Melter Anomaly +/obj/item/assembly/signaler/anomaly/melter + name = "\improper melter anomaly core" + desc = "The stabilized core of a melter anomaly. It sizzles and crackles." + icon_state = "pyro core" + grind_results = list(/datum/reagent/toxin/acid/nitracid = 10, /datum/reagent/toxin/acid/fluacid = 10, /datum/reagent/toxin/acid = 10) //soup + +/obj/item/assembly/signaler/anomaly/melter/anomaly_core_detonation() + visible_message(span_warning("[src] melts into a glowing residue!")) + new /obj/effect/decal/cleanable/greenglow(src.loc) + ..() + +///Phantom Anomaly +/obj/item/assembly/signaler/anomaly/phantom + name = "\improper phantom anomaly core" + desc = "The stabilized core of a phantom anomaly. It quietly screams." + grind_results = list(/datum/reagent/blood = 20) + +/obj/item/assembly/signaler/anomaly/phantom/anomaly_core_detonation() + playsound(src,'sound/hallucinations/far_noise.ogg', 100, 0, 50, TRUE, TRUE) + visible_message(span_warning("[src] screams as it fades, trying to lash out!")) + for(var/mob/living/carbon/handsy in range(5, src)) + if(handsy.stat != DEAD) + var/grab_dir = turn(handsy.dir, pick(-90, 90, 180, 180)) + var/turf/spawn_turf = get_ranged_target_turf(handsy, grab_dir, 8) + if(!spawn_turf) + return + new /obj/effect/temp_visual/dir_setting/curse/grasp_portal(spawn_turf, handsy.dir) + playsound(spawn_turf, 'sound/effects/curse2.ogg', 80, TRUE, -1) + var/obj/projectile/curse_hand/phantom/hand = new (spawn_turf) + hand.preparePixelProjectile(handsy, spawn_turf) + if(QDELETED(hand)) + return + hand.fire() + ..() + +///Plasmasoul Anomaly +/obj/item/assembly/signaler/anomaly/plasmasoul + name = "\improper plasmasoul anomaly core" + desc = "The stabilized core of a plasmasoul anomaly. The air around it hisses." + grind_results = list(/datum/reagent/toxin/plasma = 50) + +/obj/item/assembly/signaler/anomaly/plasmasoul/anomaly_core_detonation() + visible_message(span_warning("[src] rapidly delaminates into plasma!")) + atmos_spawn_air("plasma=500;TEMP=[T20C]") + ..() + +///Pulsar Anomaly +/obj/item/assembly/signaler/anomaly/pulsar + name = "\improper pulsar anomaly core" + desc = "The stabilized core of a pulsar anomaly. Electromagnetic crackles come off it." + grind_results = list(/datum/reagent/iron = 25, /datum/reagent/uranium = 25) + +/obj/item/assembly/signaler/anomaly/pulsar/anomaly_core_detonation() + visible_message(span_warning("[src] gives off one last pulse as it melts!")) + empulse(loc, 3, 1) + ..() + +///Pyroclastic Anomaly +/obj/item/assembly/signaler/anomaly/pyro + name = "\improper plasmaball anomaly core" + desc = "The stabilized core of a plasmaball anomaly. It almost burns to touch." + icon_state = "pyro core" + grind_results = list(/datum/reagent/clf3 = 25, /datum/reagent/toxin/plasma = 15) + +//glorified molotov +/obj/item/assembly/signaler/anomaly/pyro/anomaly_core_detonation() + //this is tg's ash heretic ash heretic ascenscion power tuned down a bit. + visible_message(span_warning("[src] loses coherence, bursting into brilliant flames!")) + for(var/i in 0 to 3) + for(var/turf/nearby_turf as anything in spiral_range_turfs(i + 1, src.loc)) + var/obj/effect/hotspot/flame_tile = locate(nearby_turf) || new(nearby_turf) + flame_tile.alpha = 125 + nearby_turf.hotspot_expose(750, 25, 1) + qdel(src) + +///Sparkler Anomaly +/obj/item/assembly/signaler/anomaly/sparkler + name = "\improper sparkler anomaly core" + desc = "The stabilized core of a sparkler anomaly. Tiny electrical sparks arc off it." + grind_results = list(/datum/reagent/teslium = 10) + +/obj/item/assembly/signaler/anomaly/sparkler/anomaly_core_detonation() + visible_message(span_warning("[src] shoots out one last assortment of sparks!")) + tesla_zap(src, 2, 5000, ZAP_FUSION_FLAGS) + ..() + +///Static Anomaly +/obj/item/assembly/signaler/anomaly/tvstatic + name = "\improper static anomaly core" + desc = "The stabilized core of a static anomaly. Your head hurts just staring at it" + grind_results = list(/datum/reagent/three_eye = 5) + +/obj/item/assembly/signaler/anomaly/tvstatic/anomaly_core_detonation() + visible_message(span_warning("[src] withdraws into itself, one last message escaping it!")) + say(pick(GLOB.tvstatic_sayings)) + for(var/mob/living/carbon/human/looking in range(4, src)) + if (!HAS_TRAIT(looking, TRAIT_MINDSHIELD) && looking.stat != DEAD) + looking.adjustOrganLoss(ORGAN_SLOT_BRAIN, 20, 40) + playsound(src, 'sound/effects/stall.ogg', 100) + ..() + +///Transfusion Anomaly +/obj/item/assembly/signaler/anomaly/transfusion + name = "\improper transfusion anomaly core" + desc = "The stabilized core of a tranfusion anomaly. Crimson slowly seeps out of the containment unit." + icon_state = "pyro core" + grind_results = list(/datum/reagent/toxin/heparin = 15, /datum/reagent/blood = 35) + var/blood_stored + var/blood_max + +/obj/item/assembly/signaler/anomaly/transfusion/Initialize() + . = ..() + blood_max = rand(400, 1200) + +/obj/item/assembly/signaler/anomaly/transfusion/proc/set_blood_stored(int) + blood_stored += int + +/obj/item/assembly/signaler/anomaly/transfusion/proc/set_blood_max(int) + blood_max = int + +/obj/item/assembly/signaler/anomaly/transfusion/proc/get_blood_stored() + return blood_stored + +/obj/item/assembly/signaler/anomaly/transfusion/proc/get_blood_max() + return blood_max + +/obj/item/assembly/signaler/anomaly/transfusion/anomaly_core_detonation() + visible_message(span_warning("Ichor flies out of [src], trying to force itself into everything around!")) + while(blood_stored > 0) + for(var/mob/living/carbon/victim in range(2, src)) + var/present_time + present_time = rand((blood_stored / 10), (blood_stored / 2)) + visible_message(span_boldwarning("[victim] finds themselves transfused with the crimson ichor!")) + victim.blood_volume += present_time + blood_stored += -present_time + ..() + +///Veins Anomaly +/obj/item/assembly/signaler/anomaly/veins + name = "\improper fountain anomaly core" + desc = "The stabilized core of a fountain anomaly. It's slippery, like an intestine." + grind_results = list(/datum/reagent/medicine/strange_reagent = 1) + +/obj/item/assembly/signaler/anomaly/veins/Initialize() + . = ..() + grind_results = list(/datum/reagent/medicine/strange_reagent = rand(10,20)) + +/obj/item/assembly/signaler/anomaly/veins/anomaly_core_detonation() + //goreshit + var/obj/effect/gibspawner/mess = pick(list( + /obj/effect/gibspawner/human, + /obj/effect/gibspawner/xeno, + /obj/effect/gibspawner/generic/animal + )) + visible_message(span_warning("[src] erupts into a fountain of gore and viserca!")) + for(var/i in 1 to 4) + new mess(src.loc) + ..() + +///Vortex Anomaly +/obj/item/assembly/signaler/anomaly/vortex + name = "\improper vortex anomaly core" + desc = "The stabilized core of a vortex anomaly. It won't sit still, as if some invisible force is acting on it." + icon_state = "vortex core" + grind_results = list(/datum/reagent/liquid_dark_matter = 30) + +/obj/item/assembly/signaler/anomaly/vortex/anomaly_core_detonation() + //disappears bigly + playsound(src,'sound/effects/phasein.ogg', 100, 0, 50, TRUE, TRUE) + new /obj/effect/particle_effect/sparks/quantum(loc) + visible_message(span_warning("[src] shakes violently and - hey, where'd it go?")) + ..() diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 8fe788f79ca..47605eb63d5 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -7,7 +7,7 @@ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' throwforce = 0 - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL custom_materials = list(/datum/material/iron = 300, /datum/material/glass = 300) light_system = MOVABLE_LIGHT //Used as a flash here. light_range = FLASH_LIGHT_RANGE diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index 8dbb1dc98b6..cdb2f899140 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -11,6 +11,7 @@ throw_speed = 2 throw_range = 7 + ///set both of these or neither. var/obj/item/assembly/a_left = null var/obj/item/assembly/a_right = null @@ -21,6 +22,18 @@ ) AddElement(/datum/element/connect_loc, loc_connections) + //if we want to spawn an holder pre-configured. + if(a_left && a_right) + var/obj/item/assembly/left = new a_left(src) + var/obj/item/assembly/right = new a_right(src) + //i love byond + a_left = null + a_right = null + assemble(left, right, null) + a_left.secured = TRUE + a_right.secured = TRUE + update_appearance() + /obj/item/assembly_holder/ComponentInitialize() . = ..() var/static/rotation_flags = ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_FLIP | ROTATION_VERBS @@ -29,7 +42,6 @@ /obj/item/assembly_holder/IsAssemblyHolder() return TRUE - /obj/item/assembly_holder/proc/assemble(obj/item/assembly/A, obj/item/assembly/A2, mob/user) attach(A,user) attach(A2,user) diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 08b60305856..7368e05f1b4 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -7,7 +7,9 @@ drop_sound = 'sound/items/handling/component_drop.ogg' pickup_sound = 'sound/items/handling/component_pickup.ogg' var/scanning = FALSE + ///is the assembly arming itself? var/timing = FALSE + ///seconds until the assembly arms itself var/time = 10 var/sensitivity = 1 var/hearing_range = 3 @@ -16,11 +18,12 @@ /obj/item/assembly/prox_sensor/Initialize() . = ..() - proximity_monitor = new(src, 0) + proximity_monitor = new(src, 0, FALSE) START_PROCESSING(SSobj, src) /obj/item/assembly/prox_sensor/Destroy() STOP_PROCESSING(SSobj, src) + QDEL_NULL(proximity_monitor) . = ..() /obj/item/assembly/prox_sensor/examine(mob/user) @@ -37,6 +40,15 @@ update_appearance() return TRUE +/obj/item/assembly/prox_sensor/on_attach() + . = ..() + // Pick the first valid object in this list: + // Wiring datum's owner + // assembly holder's attached object + // assembly holder itself + // us + proximity_monitor.set_host(connected?.holder || holder?.master || holder || src, src) + /obj/item/assembly/prox_sensor/on_detach() . = ..() if(!.) @@ -59,7 +71,7 @@ return secured /obj/item/assembly/prox_sensor/HasProximity(atom/movable/AM as mob|obj) - if (istype(AM, /obj/effect/beam)) + if(istype(AM, /obj/effect/beam) || istype(AM, /obj/projectile) || istype(AM, /obj/effect/projectile)) return sense() @@ -153,3 +165,11 @@ value = round(time + value) time = clamp(value, 0, 600) . = TRUE + +/obj/item/assembly/prox_sensor/preset + sensitivity = 2 + hearing_range = 3 + +/obj/item/assembly/prox_sensor/preset/Initialize() + . = ..() + toggle_scan(!scanning) diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 0bfac86ee0d..f0898cc53b6 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -82,12 +82,13 @@ update_appearance() /obj/item/assembly/signaler/attackby(obj/item/W, mob/user, params) - if(issignaler(W)) + if(issignaler(W) && secured) var/obj/item/assembly/signaler/signaler2 = W - if(secured && signaler2.secured) + if(signaler2.secured) code = signaler2.code set_frequency(signaler2.frequency) to_chat(user, "You transfer the frequency and code of \the [signaler2.name] to \the [name]") + return TRUE ..() /obj/item/assembly/signaler/proc/signal() @@ -144,126 +145,6 @@ return return ..(signal) -// Embedded signaller used in anomalies. -/obj/item/assembly/signaler/anomaly - name = "anomaly core" - desc = "The neutralized core of an anomaly. It'd probably be valuable for research." - icon_state = "anomaly core" - item_state = "electronic" - lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - resistance_flags = FIRE_PROOF - var/anomaly_type = /obj/effect/anomaly - var/research - -/obj/item/assembly/signaler/anomaly/receive_signal(datum/signal/signal) - if(!signal) - return FALSE - if(signal.data["code"] != code) - return FALSE - for(var/obj/effect/anomaly/Anomaly in get_turf(src)) - Anomaly.anomalyNeutralize() - return TRUE - -/obj/item/assembly/signaler/anomaly/attackby(obj/item/I, mob/user, params) - if(I.tool_behaviour == TOOL_ANALYZER) - to_chat(user, "Analyzing... [src]'s stabilized field is fluctuating along frequency [format_frequency(frequency)], code [code].") - ..() - -/obj/item/assembly/signaler/anomaly/det_signal - name = "anomaly field" - research = null - anomaly_type = null - -/obj/item/assembly/signaler/anomaly/det_signal/receive_signal(datum/signal/signal) - if(!signal) - return FALSE - if(signal.data["code"] != code) - return FALSE - for(var/obj/effect/anomaly/Anomaly in get_turf(src)) - Anomaly.detonate() - return TRUE - - -//Anomaly cores - -/obj/item/assembly/signaler/anomaly/pyro - name = "\improper pyroclastic anomaly core" - desc = "The neutralized core of a pyroclastic anomaly. It feels warm to the touch. It'd probably be valuable for research." - icon_state = "pyro core" - anomaly_type = /obj/effect/anomaly/pyro - -/obj/item/assembly/signaler/anomaly/grav - name = "\improper gravitational anomaly core" - desc = "The neutralized core of a gravitational anomaly. It feels much heavier than it looks. It'd probably be valuable for research." - icon_state = "grav core" - anomaly_type = /obj/effect/anomaly/grav - -/obj/item/assembly/signaler/anomaly/flux - name = "\improper flux anomaly core" - desc = "The neutralized core of a flux anomaly. Touching it makes your skin tingle. It'd probably be valuable for research." - icon_state = "flux core" - anomaly_type = /obj/effect/anomaly/flux - -/obj/item/assembly/signaler/anomaly/bluespace - name = "\improper bluespace anomaly core" - desc = "The neutralized core of a bluespace anomaly. It keeps phasing in and out of view. It'd probably be valuable for research." - icon_state = "anomaly core" - anomaly_type = /obj/effect/anomaly/bluespace - -/obj/item/assembly/signaler/anomaly/vortex - name = "\improper vortex anomaly core" - desc = "The neutralized core of a vortex anomaly. It won't sit still, as if some invisible force is acting on it. It'd probably be valuable for research." - icon_state = "vortex core" - anomaly_type = /obj/effect/anomaly/vortex - -/obj/item/assembly/signaler/anomaly/hallucination - name = "\improper hallucination anomaly core" - desc = "The neutralized core of a hallucination anomaly. It seems to be moving, but it's probably your imagination. It'd probably be valuable for research." - icon_state = "hallucination_core" - anomaly_type = /obj/effect/anomaly/hallucination - -/obj/item/assembly/signaler/anomaly/sparkler - name = "\improper sparkler anomaly core" - desc = "The neutralized core of a sparkler anomaly. Tiny electrical sparks arc off it." - anomaly_type = /obj/effect/anomaly/sparkler - -/obj/item/assembly/signaler/anomaly/veins - name = "\improper fountain anomaly core" - desc = "The neutralized core of a fountain anomaly. Blood drips off of it." - anomaly_type = /obj/effect/anomaly/sparkler - -/obj/item/assembly/signaler/anomaly/phantom - name = "\improper phantom anomaly core" - desc = "The neutralized core of a phantom anomaly. It quietly screams." - anomaly_type = /obj/effect/anomaly/phantom - -/obj/item/assembly/signaler/anomaly/pulsar - name = "\improper pulsar anomaly core" - desc = "The neutralized core of a pulsar anomaly. Electromagnetic crackles come off it." - -/obj/item/assembly/signaler/anomaly/plasmasoul - name = "\improper plasmasoul anomaly core" - desc = "The neutralized core of a plasmasoul anomaly. The air around it hisses." - -/obj/item/assembly/signaler/anomaly/heartbeat - name = "\improper heartbeat anomaly core" - desc = "The neutralized core of a heartbeat anomaly. It's concerningly warm to the touch." - -/obj/item/assembly/signaler/anomaly/tvstatic - name = "\improper static anomaly core" - desc = "The neutralized core of a static anomaly. Your head hurts just staring at it" - -/obj/item/assembly/signaler/anomaly/melter - name = "\improper melter anomaly core" - desc = "The neutralized core of a melter anomaly. It sizzles and crackles. It'd probably be valuable for research." - icon_state = "pyro core" - - - -/obj/item/assembly/signaler/anomaly/attack_self() - return - /obj/item/assembly/signaler/cyborg /obj/item/assembly/signaler/cyborg/attackby(obj/item/W, mob/user, params) diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index 84f1a504001..dfa77c24aeb 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -103,6 +103,10 @@ . = ..() listening = FALSE +/obj/item/assembly/voice/preset + mode = 1 + recorded = "example phrase" + #undef INCLUSIVE_MODE #undef EXCLUSIVE_MODE #undef RECOGNIZER_MODE diff --git a/code/modules/asset_cache/asset_list.dm b/code/modules/asset_cache/asset_list.dm index 221febbe14d..84170c1b78e 100644 --- a/code/modules/asset_cache/asset_list.dm +++ b/code/modules/asset_cache/asset_list.dm @@ -124,8 +124,6 @@ GLOBAL_LIST_EMPTY(asset_datums) for(var/size_id in sizes) .["[name]_[size_id].png"] = SSassets.transport.get_asset_url("[name]_[size_id].png") - - /datum/asset/spritesheet/proc/ensure_stripped(sizes_to_strip = sizes) for(var/size_id in sizes_to_strip) var/size = sizes[size_id] diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index 83abc98ed99..9acdab838e8 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -110,18 +110,38 @@ "stamp-law" = 'icons/stamp_icons/large_stamp-law.png', "stamp-chap" = 'icons/stamp_icons/large_stamp-chap.png', "stamp-mime" = 'icons/stamp_icons/large_stamp-mime.png', - "stamp-centcom" = 'icons/stamp_icons/large_stamp-centcom.png', "stamp-syndicate" = 'icons/stamp_icons/large_stamp-syndicate.png', "stamp-solgov" = 'icons/stamp_icons/large_stamp-solgov.png', "stamp-inteq" = 'icons/stamp_icons/large_stamp-inteq.png', - "stamp-vanguard" = 'icons/stamp_icons/large_stamp-vanguard.png', - "stamp-maa" = 'icons/stamp_icons/large_stamp-maa.png', - "stamp-artificer" = 'icons/stamp_icons/large_stamp-artificer.png', + "stamp-inteq_vanguard" = 'icons/stamp_icons/large_stamp-inteq_vanguard.png', + "stamp-inteq_maa" = 'icons/stamp_icons/large_stamp-inteq_maa.png', + "stamp-inteq_artificer" = 'icons/stamp_icons/large_stamp-inteq_artificer.png', + "stamp-inteq_corpsman" = 'icons/stamp_icons/large_stamp-inteq_corpsman.png', "stamp-clip" = 'icons/stamp_icons/large_stamp-clip.png', "stamp-bard" = 'icons/stamp_icons/large_stamp-bard.png', "stamp-gold" = 'icons/stamp_icons/large_stamp-gold.png', "stamp-cybersun" = 'icons/stamp_icons/large_stamp-cybersun.png', - "stamp-donk" = 'icons/stamp_icons/large_stamp-donk.png' + "stamp-biodynamics" = 'icons/stamp_icons/large_stamp-biodynamics.png', + "stamp-donk" = 'icons/stamp_icons/large_stamp-donk.png', + "stamp-ngr" = 'icons/stamp_icons/large_stamp-ngr.png', + "stamp-ngr_cap" = 'icons/stamp_icons/large_stamp-ngr_captain.png', + "stamp-ngr_fore" = 'icons/stamp_icons/large_stamp-ngr_foreman.png', + "stamp-ngr_lieu" = 'icons/stamp_icons/large_stamp-ngr_lieutenant.png', + "stamp-ngr_ensign" = 'icons/stamp_icons/large_stamp-ngr_ensign.png', + "stamp-nt" = 'icons/stamp_icons/large_stamp-nt_generic.png', + "stamp-nt_cap" = 'icons/stamp_icons/large_stamp-nt_captain.png', + "stamp-nt_fo" = 'icons/stamp_icons/large_stamp-nt_officer.png', + "stamp-nt_engdir" = 'icons/stamp_icons/large_stamp-nt_eng_dir.png', + "stamp-nt_meddir" = 'icons/stamp_icons/large_stamp-nt_med_dir.png', + "stamp-nt_scidir" = 'icons/stamp_icons/large_stamp-nt_sci_dir.png', + "stamp-ns" = 'icons/stamp_icons/large_stamp-ns_generic.png', + "stamp-ns_cap" = 'icons/stamp_icons/large_stamp-ns_captain.png', + "stamp-ns_supdir" = 'icons/stamp_icons/large_stamp-ns_sup_dir.png', + "stamp-vi" = 'icons/stamp_icons/large_stamp-vi_generic.png', + "stamp-vi_cap" = 'icons/stamp_icons/large_stamp-vi_captain.png', + "stamp-vi_secdir" = 'icons/stamp_icons/large_stamp-vi_sec_dir.png', + "stamp-vi_lp" = 'icons/stamp_icons/large_stamp-vi_loss_prevention.png', + "stamp-nt_central" = 'icons/stamp_icons/large_stamp-nt_central.png' ) /datum/asset/simple/fuckywucky @@ -147,13 +167,11 @@ ) /datum/asset/simple/namespaced/fontawesome - legacy = TRUE assets = list( - "fa-regular-400.eot" = 'html/font-awesome/webfonts/fa-regular-400.eot', - "fa-regular-400.woff" = 'html/font-awesome/webfonts/fa-regular-400.woff', - "fa-solid-900.eot" = 'html/font-awesome/webfonts/fa-solid-900.eot', - "fa-solid-900.woff" = 'html/font-awesome/webfonts/fa-solid-900.woff', - "v4shim.css" = 'html/font-awesome/css/v4-shims.min.css' + "fa-regular-400.ttf" = 'html/font-awesome/webfonts/fa-regular-400.ttf', + "fa-solid-900.ttf" = 'html/font-awesome/webfonts/fa-solid-900.ttf', + "fa-v4compatibility.ttf" = 'html/font-awesome/webfonts/fa-v4compatibility.ttf', + "v4shim.css" = 'html/font-awesome/css/v4-shims.min.css', ) parents = list("font-awesome.css" = 'html/font-awesome/css/all.min.css') @@ -162,17 +180,11 @@ "sga.ttf" = 'html/sga.ttf' ) -/// Override this in order to start the creation of the spritehseet. -/// This is where all your Insert, InsertAll, etc calls should be inside. -/datum/asset/spritesheet/proc/create_spritesheets() - SHOULD_CALL_PARENT(FALSE) - CRASH("create_spritesheets() not implemented for [type]!") - /datum/asset/spritesheet/chat name = "chat" /datum/asset/spritesheet/chat/register() - InsertAll("emoji", 'icons/emoji.dmi') + InsertAll("emoji", EMOJI_SET) // pre-loading all lanugage icons also helps to avoid meta InsertAll("language", 'icons/misc/language.dmi') // catch languages which are pulling icons from another file @@ -182,7 +194,7 @@ if (icon != 'icons/misc/language.dmi') var/icon_state = initial(L.icon_state) Insert("language-[icon_state]", icon, icon_state=icon_state) - ..() + ..() /datum/asset/simple/lobby assets = list( @@ -235,7 +247,6 @@ "hierophant" = 'icons/UI_Icons/Achievements/Boss/hierophant.png', "legion" = 'icons/UI_Icons/Achievements/Boss/legion.png', "miner" = 'icons/UI_Icons/Achievements/Boss/miner.png', - "swarmer" = 'icons/UI_Icons/Achievements/Boss/swarmer.png', "tendril" = 'icons/UI_Icons/Achievements/Boss/tendril.png', "featofstrength" = 'icons/UI_Icons/Achievements/Misc/featofstrength.png', "helbital" = 'icons/UI_Icons/Achievements/Misc/helbital.png', @@ -431,8 +442,8 @@ /datum/asset/spritesheet/fish name = "fish" -/datum/asset/spritesheet/fish/create_spritesheets() - for (var/path in subtypesof(/obj/item/fish)) +/datum/asset/spritesheet/fish/register() + for(var/path in subtypesof(/obj/item/fish)) var/obj/item/fish/fish_type = path var/fish_icon = initial(fish_type.icon) var/fish_icon_state = initial(fish_type.icon_state) diff --git a/code/modules/atmospherics/auxgm/breathing_classes.dm b/code/modules/atmospherics/auxgm/breathing_classes.dm index cfc82adbffa..10f76d19d52 100644 --- a/code/modules/atmospherics/auxgm/breathing_classes.dm +++ b/code/modules/atmospherics/auxgm/breathing_classes.dm @@ -23,8 +23,9 @@ /datum/breathing_class/oxygen gases = list( GAS_O2 = 1, - GAS_PLUOXIUM = 8, + GAS_O3 = -0.7, GAS_CO2 = -0.7, // CO2 isn't actually toxic, just an asphyxiant + GAS_ARGON = -1, ) products = list( GAS_CO2 = 1, diff --git a/code/modules/atmospherics/auxgm/gas_types.dm b/code/modules/atmospherics/auxgm/gas_types.dm index fb0d7026a6d..c42c3981214 100644 --- a/code/modules/atmospherics/auxgm/gas_types.dm +++ b/code/modules/atmospherics/auxgm/gas_types.dm @@ -1,6 +1,6 @@ /datum/gas/oxygen id = GAS_O2 - specific_heat = 20 + specific_heat = 30 name = "Oxygen" oxidation_temperature = T0C - 100 // it checks max of this and fire temperature, so rarely will things spontaneously combust breath_alert_info = list( @@ -16,7 +16,7 @@ /datum/gas/nitrogen id = GAS_N2 - specific_heat = 20 + specific_heat = 30 name = "Nitrogen" breath_alert_info = list( not_enough_alert = list( @@ -29,6 +29,14 @@ ) ) +/datum/gas/carbon_monoxide + id = GAS_CO + specific_heat = 30 + name = "Carbon Monoxide" + breath_results = GAS_CO + + flags = GAS_FLAG_DANGEROUS + /datum/gas/carbon_dioxide //what the fuck is this? id = GAS_CO2 specific_heat = 30 @@ -64,29 +72,26 @@ alert_type = /atom/movable/screen/alert/too_much_tox ) ) - fire_burn_rate = OXYGEN_BURN_RATE_BASE // named when plasma fires were the only fires, surely + fire_burn_rate = PLASMA_BURN_RATE_BASE // named when plasma fires were the only fires, surely fire_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST fire_products = FIRE_PRODUCT_PLASMA enthalpy = FIRE_PLASMA_ENERGY_RELEASED // 3000000, 3 megajoules, 3000 kj + odor = GAS_ODOR_SMOG + odor_emotes = TRUE + odor_power = 10 //extremely toxic + /datum/gas/water_vapor id = GAS_H2O - specific_heat = 40 + specific_heat = 75 name = "Water Vapor" gas_overlay = "water_vapor" moles_visible = MOLES_GAS_VISIBLE flags = GAS_FLAG_DANGEROUS fusion_power = 8 - enthalpy = -241800 // FIRE_HYDROGEN_ENERGY_RELEASED is actually what this was supposed to be + enthalpy = -285800 // FIRE_HYDROGEN_ENERGY_RELEASED is actually what this was supposed to be breath_reagent = /datum/reagent/water -/datum/gas/hypernoblium - id = GAS_HYPERNOB - specific_heat = 2000 - name = "Hyper-noblium" - gas_overlay = "freon" - moles_visible = MOLES_GAS_VISIBLE - /datum/gas/nitrous_oxide id = GAS_NITROUS specific_heat = 40 @@ -99,18 +104,6 @@ oxidation_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST + 100 enthalpy = 81600 -/datum/gas/nitryl - id = GAS_NITRYL - specific_heat = 20 - name = "Nitryl" - color = "#963" - moles_visible = MOLES_GAS_VISIBLE - flags = GAS_FLAG_DANGEROUS - fusion_power = 15 - fire_products = list(GAS_N2 = 0.5) - enthalpy = 33200 - oxidation_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST - 50 - /datum/gas/tritium id = GAS_TRITIUM specific_heat = 10 @@ -125,7 +118,7 @@ fire_radiation_released = 50 // arbitrary number, basically 60 moles of trit burning will just barely start to harm you fire_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST - 50 -/datum/gas/bz +/datum/gas/bz //remove from atmospheres // https://en.wikipedia.org/wiki/3-Quinuclidinyl_benzilate not sure why we have this id = GAS_BZ specific_heat = 20 name = "BZ" @@ -133,20 +126,29 @@ fusion_power = 8 enthalpy = FIRE_CARBON_ENERGY_RELEASED // it is a mystery -/datum/gas/stimulum - id = GAS_STIMULUM - specific_heat = 5 - name = "Stimulum" - fusion_power = 7 - -/datum/gas/pluoxium - id = GAS_PLUOXIUM - specific_heat = 80 - name = "Pluoxium" - fusion_power = 10 - oxidation_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST * 1000 // it is VERY stable - oxidation_rate = 8 // when it can oxidize, it can oxidize a LOT - enthalpy = -50000 // but it reduces the heat output a bit +/datum/gas/ozone + id = GAS_O3 + specific_heat = 30 + name = "Ozone" + gas_overlay = "water_vapor" + moles_visible = MOLES_GAS_VISIBLE + color = "#a1a1e6" + oxidation_temperature = T0C - 100 // it checks max of this and fire temperature, so rarely will things spontaneously combust + oxidation_rate = 3 + enthalpy = 142000 + + odor = GAS_ODOR_CHEMICAL + odor_emotes = TRUE + odor_power = 1 + + +/datum/gas/argon + id = GAS_ARGON + specific_heat = 20 + name = "Argon" + gas_overlay = "water_vapor" + oxidation_rate = -1 + //moles_visible = MOLES_GAS_VISIBLE /datum/gas/freon id = GAS_FREON @@ -161,9 +163,81 @@ specific_heat = 10 name = "Hydrogen" flags = GAS_FLAG_DANGEROUS - moles_visible = MOLES_GAS_VISIBLE + //moles_visible = MOLES_GAS_VISIBLE color = "#ffe" fusion_power = 0 fire_products = list(GAS_H2O = 1) + enthalpy = FIRE_HYDROGEN_ENERGY_RELEASED fire_burn_rate = 2 fire_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST - 50 + +/datum/gas/chlorine + id = GAS_CHLORINE + specific_heat = 30 + name = "Chlorine" + flags = GAS_FLAG_DANGEROUS + moles_visible = MOLES_GAS_VISIBLE * 5 + oxidation_temperature = T0C - 100 + oxidation_rate = 0.5 + gas_overlay = "nitrous_oxide" + color = "#FFFB89" + fusion_power = 0 + +/datum/gas/hydrogen_chloride + id = GAS_HYDROGEN_CHLORIDE + specific_heat = 40 + name = "Hydrogen Chloride" + flags = GAS_FLAG_DANGEROUS + moles_visible = MOLES_GAS_VISIBLE * 2 + gas_overlay = "nitrous_oxide" + color = "#5bfd45" + fusion_power = 0 + fire_products = list(GAS_CHLORINE = 1, GAS_H2O = 0.5) + enthalpy = 63000 + fire_burn_rate = 1 + fire_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST + +/datum/gas/sulfur_dioxide + id = GAS_SO2 + specific_heat = 22 + name = "Sulfur Dioxide" + flags = GAS_FLAG_DANGEROUS + moles_visible = MOLES_GAS_VISIBLE * 40 + gas_overlay = "generic" + color = "#d4cb28" + enthalpy = -296800 + + odor = GAS_ODOR_SULFUR + odor_emotes = TRUE + odor_power = 1 + +/datum/gas/methane + id = GAS_METHANE + specific_heat = 35 + name = "Methane" + flags = GAS_FLAG_DANGEROUS + //moles_visible = MOLES_GAS_VISIBLE + color = "#ffe" + fusion_power = 0 + fire_products = list(GAS_H2O = 0.5, GAS_HYDROGEN = 1) + enthalpy = -74600 + fire_burn_rate = 2 + fire_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST - 50 + +/datum/gas/ammonia + id = GAS_AMMONIA + + specific_heat = 100 //used as a coolant + name = "Ammonia" + flags = GAS_FLAG_DANGEROUS + moles_visible = MOLES_GAS_VISIBLE + color = "#ffe" + gas_overlay = "nitrous_oxide" + fusion_power = 0 + fire_products = list(GAS_N2 = 0.2, GAS_H2O = 0.8) + enthalpy = -46000 + fire_burn_rate = 0.2 + + odor = GAS_ODOR_CHEMICAL + odor_emotes = TRUE + odor_power = 3 diff --git a/code/modules/atmospherics/environmental/LINDA_system.dm b/code/modules/atmospherics/environmental/LINDA_system.dm index 7c324a3f517..c2d7fbf1db8 100644 --- a/code/modules/atmospherics/environmental/LINDA_system.dm +++ b/code/modules/atmospherics/environmental/LINDA_system.dm @@ -31,62 +31,85 @@ . = FALSE /turf/proc/block_all_conductivity() - conductivity_blocked_directions |= NORTH | SOUTH | EAST | WEST | UP | DOWN + conductivity_blocked_directions |= ALL /atom/movable/proc/BlockThermalConductivity() // Objects that don't let heat through. return FALSE /turf/proc/ImmediateCalculateAdjacentTurfs() + conductivity_blocked_directions = 0 + + if(blocks_air) + for(var/turf/adj_turf as anything in get_atmos_cardinal_adjacent_turfs()) + LAZYREMOVE(adj_turf.atmos_adjacent_turfs, src) + adj_turf.conductivity_blocked_directions |= REVERSE_DIR(get_dir(src, adj_turf)) + adj_turf.__update_auxtools_turf_adjacency_info() + + //Clear all adjacent turfs + LAZYNULL(atmos_adjacent_turfs) + conductivity_blocked_directions = ALL + + __update_auxtools_turf_adjacency_info() + return + var/canpass = CANATMOSPASS(src, src) var/canvpass = CANVERTICALATMOSPASS(src, src) - conductivity_blocked_directions = 0 - - var/src_contains_firelock = 1 + var/src_has_firelock = 0 if(locate(/obj/machinery/door/firedoor) in src) - src_contains_firelock |= 2 + src_has_firelock = 2 - var/list/atmos_adjacent_turfs = list() + var/blocks_thermal = FALSE + if(!thermal_conductivity || !heat_capacity) + blocks_thermal = TRUE + else + for(var/atom/movable/content as anything in contents) + if(content.BlockThermalConductivity()) //the direction and open/closed are already checked on CanAtmosPass() so there are no arguments + blocks_thermal = TRUE + break - for(var/direction in GLOB.cardinals_multiz) - var/turf/current_turf = get_step_multiz(src, direction) - if(!isopenturf(current_turf)) - conductivity_blocked_directions |= direction + //LAZYINITLIST(atmos_adjacent_turfs) with Cut() + if(atmos_adjacent_turfs) + atmos_adjacent_turfs.Cut() + else + atmos_adjacent_turfs = list() - if(current_turf) - atmos_adjacent_turfs -= current_turf - LAZYREMOVE(current_turf.atmos_adjacent_turfs, src) + var/datum/virtual_level/zone = get_virtual_level() + //Turfs above/below can only exist in zones + for(var/direction in (zone ? GLOB.cardinals_multiz : GLOB.cardinals)) + var/turf/current_turf = zone?.get_zone_step(src, direction) || get_step(src, direction) + if(!current_turf || current_turf.blocks_air) + conductivity_blocked_directions |= direction continue - var/other_contains_firelock = 1 - if(locate(/obj/machinery/door/firedoor) in current_turf) - other_contains_firelock |= 2 - //Conductivity Update var/opp = REVERSE_DIR(direction) - //all these must be above zero for auxmos to even consider them - if(!thermal_conductivity || !heat_capacity || !current_turf.thermal_conductivity || !current_turf.heat_capacity) + //these must be above zero for auxmos to even consider them + if(blocks_thermal || !current_turf.thermal_conductivity || !current_turf.heat_capacity) conductivity_blocked_directions |= direction current_turf.conductivity_blocked_directions |= opp else - for(var/obj/O in contents + current_turf.contents) - if(O.BlockThermalConductivity()) //the direction and open/closed are already checked on CanAtmosPass() so there are no arguments + for(var/atom/movable/content as anything in current_turf.contents) + if(content.BlockThermalConductivity()) //the direction and open/closed are already checked on CanAtmosPass() so there are no arguments conductivity_blocked_directions |= direction current_turf.conductivity_blocked_directions |= opp break //End Conductivity Update - if(!(blocks_air || current_turf.blocks_air) && ((direction & (UP|DOWN))? (canvpass && CANVERTICALATMOSPASS(current_turf, src)) : (canpass && CANATMOSPASS(current_turf, src)))) - atmos_adjacent_turfs[current_turf] = other_contains_firelock | src_contains_firelock - LAZYSET(current_turf.atmos_adjacent_turfs, src, src_contains_firelock) + if(((direction & (UP|DOWN)) ? (canvpass && CANVERTICALATMOSPASS(current_turf, src)) : (canpass && CANATMOSPASS(current_turf, src)))) + var/has_firelock = src_has_firelock + if(!src_has_firelock && locate(/obj/machinery/door/firedoor) in current_turf) + has_firelock = 2 + + atmos_adjacent_turfs[current_turf] = has_firelock + LAZYSET(current_turf.atmos_adjacent_turfs, src, has_firelock) else atmos_adjacent_turfs -= current_turf LAZYREMOVE(current_turf.atmos_adjacent_turfs, src) current_turf.__update_auxtools_turf_adjacency_info() UNSETEMPTY(atmos_adjacent_turfs) - src.atmos_adjacent_turfs = atmos_adjacent_turfs __update_auxtools_turf_adjacency_info() /turf/proc/clear_adjacencies() @@ -98,40 +121,48 @@ LAZYNULL(atmos_adjacent_turfs) __update_auxtools_turf_adjacency_info() -/** - * Returns a list of adjacent turfs that can share air with this one. - * alldir includes adjacent diagonal tiles that can share - * air with both of the related adjacent cardinal tiles - */ -/turf/proc/GetAtmosAdjacentTurfs(alldir = FALSE) - var/adjacent_turfs - if (atmos_adjacent_turfs) - adjacent_turfs = atmos_adjacent_turfs.Copy() - else - adjacent_turfs = list() - - if (!alldir) - return adjacent_turfs +/turf/proc/get_atmos_adjacent_turfs() + return LAZYCOPY(atmos_adjacent_turfs) - var/turf/curloc = src +/turf/proc/get_atmos_all_adjacent_turfs() + var/list/adjacent_turfs = LAZYCOPY(atmos_adjacent_turfs) - for (var/direction in GLOB.diagonals_multiz) - var/matchingDirections = 0 - var/turf/S = get_step_multiz(curloc, direction) + for(var/dir in GLOB.diagonals) + var/turf/S = get_step(src, dir) if(!S) continue + adjacent_turfs += S - for (var/checkDirection in GLOB.cardinals_multiz) - var/turf/checkTurf = get_step(S, checkDirection) - if(!S.atmos_adjacent_turfs || !S.atmos_adjacent_turfs[checkTurf]) - continue + var/datum/virtual_level/zone = get_virtual_level() + if(!zone) + return adjacent_turfs - if (adjacent_turfs[checkTurf]) - matchingDirections++ + var/turf/above = zone.get_above_turf(src) + var/turf/below = zone.get_below_turf(src) - if (matchingDirections >= 2) - adjacent_turfs += S - break + if(above) + adjacent_turfs += above + adjacent_turfs += above.atmos_adjacent_turfs + if(below) + adjacent_turfs += below + adjacent_turfs += below.atmos_adjacent_turfs + + return adjacent_turfs + +/turf/proc/get_atmos_cardinal_adjacent_turfs() + var/list/adjacent_turfs = LAZYCOPY(atmos_adjacent_turfs) + + var/datum/virtual_level/zone = get_virtual_level() + if(!zone) + return adjacent_turfs + + var/turf/above = zone.get_above_turf(src) + var/turf/below = zone.get_below_turf(src) + + if(above) + adjacent_turfs += above + if(below) + adjacent_turfs += below return adjacent_turfs diff --git a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm index 18b7b99a731..d5c0a9fead1 100644 --- a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm +++ b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm @@ -20,7 +20,7 @@ var/pressure_direction = 0 var/turf/pressure_specific_target - var/datum/gas_mixture/turf/air + var/datum/gas_mixture/air var/obj/effect/hotspot/active_hotspot var/planetary_atmos = FALSE //air will revert to initial_gas_mix over time @@ -184,14 +184,14 @@ /turf/proc/handle_decompression_floor_rip() /turf/open/floor/handle_decompression_floor_rip(sum) - if(sum > 20 && prob(clamp(sum / 10, 0, 30)) && !blocks_air) + if(!blocks_air && sum > 20 && prob(clamp(sum / 10, 0, 30))) remove_tile() /turf/open/process_cell(fire_count) //////////////////////////SPACEWIND///////////////////////////// -/turf/proc/consider_pressure_difference() +/turf/proc/consider_pressure_difference(turf/T, difference) return /turf/open/consider_pressure_difference(turf/T, difference) diff --git a/code/modules/atmospherics/gasmixtures/auxgm.dm b/code/modules/atmospherics/gasmixtures/auxgm.dm index b3a81dbb0e9..e2f873c9dfd 100644 --- a/code/modules/atmospherics/gasmixtures/auxgm.dm +++ b/code/modules/atmospherics/gasmixtures/auxgm.dm @@ -1,5 +1,5 @@ GLOBAL_LIST_INIT(hardcoded_gases, list(GAS_O2, GAS_N2, GAS_CO2, GAS_PLASMA)) //the main four gases, which were at one time hardcoded -GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(GAS_O2, GAS_N2, GAS_CO2, GAS_PLUOXIUM, GAS_STIMULUM, GAS_NITRYL))) //unable to react amongst themselves +GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(GAS_O2, GAS_N2, GAS_CO2, GAS_CHLORINE, GAS_HYDROGEN_CHLORIDE))) //unable to react amongst themselves // Auxgm // It's a send-up of XGM, like what baystation got. @@ -38,25 +38,48 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(GAS_O2, GAS_N2, GAS_CO2, GA /datum/gas var/id = "" + /// heat capacity? thats the only explanation on what this var is var/specific_heat = 0 var/name = "" - var/gas_overlay = "generic" //icon_state in icons/effects/atmospherics.dmi - var/color = "#ffff" // Tints the overlay by this color. Use instead of gas_overlay, usually (but not necessarily). + ///icon_state in icons/effects/atmospherics.dmi + var/gas_overlay = "generic" + /// Tints the overlay by this color. Use instead of gas_overlay, usually (but not necessarily). + var/color = "#ffff" var/moles_visible = null - var/flags = NONE //currently used by canisters - var/group = null // groups for scrubber/filter listing - var/fusion_power = 0 // How much the gas destabilizes a fusion reaction - var/breath_results = GAS_CO2 // what breathing this breathes out - var/datum/reagent/breath_reagent = null // what breathing this adds to your reagents - var/datum/reagent/breath_reagent_dangerous = null // what breathing this adds to your reagents IF it's above a danger threshold - var/list/breath_alert_info = null // list for alerts that pop up when you have too much/not enough of something - var/oxidation_temperature = null // temperature above which this gas is an oxidizer; null for none - var/oxidation_rate = 1 // how many moles of this can oxidize how many moles of material - var/fire_temperature = null // temperature above which gas may catch fire; null for none - var/list/fire_products = null // what results when this gas is burned (oxidizer or fuel); null for none - var/enthalpy = 0 // Standard enthalpy of formation in joules, used for fires - var/fire_burn_rate = 1 // how many moles are burned per product released - var/fire_radiation_released = 0 // How much radiation is released when this gas burns + ///currently used by canisters + var/flags = NONE + /// groups for scrubber/filter listing + var/group = null + /// How much the gas destabilizes a fusion reaction + var/fusion_power = 0 + /// what breathing this breathes out + var/breath_results = GAS_CO2 + /// what breathing this adds to your reagents + var/datum/reagent/breath_reagent = null + /// what breathing this adds to your reagents IF it's above a danger threshold + var/datum/reagent/breath_reagent_dangerous = null + /// list for alerts that pop up when you have too much/not enough of something + var/list/breath_alert_info = null + /// temperature above which this gas is an oxidizer; null for none + var/oxidation_temperature = null + /// how much a single mole of this gas can oxidize another mole(s) of gas + var/oxidation_rate = 1 + /// temperature above which gas may catch fire; null for none + var/fire_temperature = null + /// what results when this gas is burned (oxidizer or fuel); null for none + var/list/fire_products = null + /// Standard enthalpy of formation in joules, used for fires + var/enthalpy = 0 + /// how many moles are burned per product released + var/fire_burn_rate = 1 + /// How much radiation is released when this gas burns + var/fire_radiation_released = 0 + ///a list of odor texts this gas gives, if null or odor_power is 0 this gas is smellless + var/list/odor + ///if the odor gives negative signs such as coughing on a high concentratation. if your gas doesn't have a noticeable scent, set this to false + var/odor_emotes = TRUE + ///the multiplier per of this gas's odor, if higher its easily detected in lower conentrations and much more unbearable at lower conentrations as well + var/odor_power = 0 /datum/gas/proc/breath(partial_pressure, light_threshold, heavy_threshold, moles, mob/living/carbon/C, obj/item/organ/lungs/lungs) // This is only called on gases with the GAS_FLAG_BREATH_PROC flag. When possible, do NOT use this-- diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index fa3ba14457d..1aff4ddadb7 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -210,8 +210,6 @@ get_true_breath_pressure(pp) --> gas_pp = pp/breath_pp*total_moles() 10 = 2.5/5*20 */ -/datum/gas_mixture/turf - /// Releases gas from src to output air. This means that it can not transfer air to gas mixture with higher pressure. /datum/gas_mixture/proc/release_gas_to(datum/gas_mixture/output_air, target_pressure) var/output_starting_pressure = output_air.return_pressure() diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index 00ca2d22f76..10c4e9e417d 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -45,15 +45,15 @@ /datum/gas_reaction/proc/test() return list("success" = TRUE) -/datum/gas_reaction/nobliumsupression +/datum/gas_reaction/argon priority = INFINITY - name = "Hyper-Noblium Reaction Suppression" + name = "Noble Gas Reaction Suppression" id = "nobstop" -/datum/gas_reaction/nobliumsupression/init_reqs() - min_requirements = list(GAS_HYPERNOB = REACTION_OPPRESSION_THRESHOLD) +/datum/gas_reaction/argon/init_reqs() + min_requirements = list(GAS_ARGON = REACTION_OPPRESSION_THRESHOLD) -/datum/gas_reaction/nobliumsupression/react() +/datum/gas_reaction/argon/react() return STOP_REACTIONS //water vapor: puts out fires? @@ -223,7 +223,7 @@ else temperature_scale = (temperature-PLASMA_MINIMUM_BURN_TEMPERATURE)/(PLASMA_UPPER_TEMPERATURE-PLASMA_MINIMUM_BURN_TEMPERATURE) if(temperature_scale > 0) - oxygen_burn_rate = OXYGEN_BURN_RATE_BASE - temperature_scale + oxygen_burn_rate = PLASMA_BURN_RATE_BASE - temperature_scale if(air.get_moles(GAS_O2) / air.get_moles(GAS_PLASMA) > SUPER_SATURATION_THRESHOLD) //supersaturation. Form Tritium. super_saturation = TRUE if(air.get_moles(GAS_O2) > air.get_moles(GAS_PLASMA)*PLASMA_OXYGEN_FULLBURN) @@ -312,7 +312,7 @@ else temperature_scale = (FREON_MAXIMUM_BURN_TEMPERATURE - temperature)/(FREON_MAXIMUM_BURN_TEMPERATURE - FREON_LOWER_TEMPERATURE) //calculate the scale based on the temperature if(temperature_scale >= 0) - oxygen_burn_rate = OXYGEN_BURN_RATE_BASE - temperature_scale + oxygen_burn_rate = PLASMA_BURN_RATE_BASE - temperature_scale if(air.get_moles(GAS_O2) > air.get_moles(GAS_FREON)*FREON_OXYGEN_FULLBURN) freon_burn_rate = (air.get_moles(GAS_FREON)*temperature_scale)/FREON_BURN_RATE_DELTA else @@ -521,33 +521,7 @@ air.set_temperature(clamp(thermal_energy/new_heat_capacity, TCMB, INFINITY)) //THIS SHOULD STAY OR FUSION WILL EAT YOUR FACE return REACTING -/datum/gas_reaction/fusion/test() - var/datum/gas_mixture/G = new - G.set_moles(GAS_CO2,300) - G.set_moles(GAS_PLASMA,1000) - G.set_moles(GAS_TRITIUM,100.61) - G.set_moles(GAS_NITRYL,1) - G.set_temperature(15000) - G.set_volume(1000) - - var/result = G.react() - if(result != REACTING) - return list("success" = FALSE, "message" = "Reaction didn't go at all!") - - var/instability = G.analyzer_results["fusion"] - var/plas = G.get_moles(GAS_PLASMA) - var/co2 = G.get_moles(GAS_CO2) - var/temp = G.return_temperature() - - if(abs(instability - 2.66) > 0.01) - return list("success" = FALSE, "message" = "Fusion is not calculating analyzer results correctly, should be 2.66, is instead [instability]") - if(abs(plas - 458.241) > 0.5) - return list("success" = FALSE, "message" = "Fusion is not calculating plasma correctly, should be 458.241, is instead [plas]") - if(abs(co2 - 505.369) > 0.5) - return list("success" = FALSE, "message" = "Fusion is not calculating co2 correctly, should be 505.369, is instead [co2]") - if(abs(temp - 112291) > 200) // I'm not calculating this at all just putting in the values I get when I do it now - return list("success" = FALSE, "message" = "Fusion is not calculating temperature correctly, should be around 112291, is instead [temp]") - return ..() +//has fusion ever worked? /datum/gas_reaction/nitrousformation //formationn of n2o, esothermic, requires bz as catalyst priority = 3 @@ -581,51 +555,6 @@ air.set_temperature(max(((temperature * old_heat_capacity + energy_used) / new_heat_capacity),TCMB)) //the air heats up when reacting return REACTING -/datum/gas_reaction/nitrylformation //The formation of nitryl. Endothermic. Requires N2O as a catalyst. - priority = 4 - name = "Nitryl formation" - id = "nitrylformation" - -/datum/gas_reaction/nitrylformation/init_reqs() - min_requirements = list( - GAS_O2 = 20, - GAS_N2 = 20, - GAS_NITROUS = 5, - "TEMP" = FIRE_MINIMUM_TEMPERATURE_TO_EXIST*25 - ) - -/datum/gas_reaction/nitrylformation/react(datum/gas_mixture/air) - var/temperature = air.return_temperature() - - var/old_heat_capacity = air.heat_capacity() - var/heat_efficency = min(temperature/(FIRE_MINIMUM_TEMPERATURE_TO_EXIST*100),air.get_moles(GAS_O2),air.get_moles(GAS_N2)) - var/energy_used = heat_efficency*NITRYL_FORMATION_ENERGY - if ((air.get_moles(GAS_O2) - heat_efficency < 0)|| (air.get_moles(GAS_N2) - heat_efficency < 0)) //Shouldn't produce gas from nothing. - return NO_REACTION - air.adjust_moles(GAS_O2, -heat_efficency) - air.adjust_moles(GAS_N2, -heat_efficency) - air.adjust_moles(GAS_NITRYL, heat_efficency*2) - - if(energy_used > 0) - var/new_heat_capacity = air.heat_capacity() - if(new_heat_capacity > MINIMUM_HEAT_CAPACITY) - air.set_temperature(max(((temperature*old_heat_capacity - energy_used)/new_heat_capacity),TCMB)) - return REACTING - -/datum/gas_reaction/nitrylformation/test() - var/datum/gas_mixture/G = new - G.set_moles(GAS_O2,30) - G.set_moles(GAS_N2,30) - G.set_moles(GAS_NITROUS,10) - G.set_volume(1000) - G.set_temperature(150000) - var/result = G.react() - if(result != REACTING) - return list("success" = FALSE, "message" = "Reaction didn't go at all!") - if(G.get_moles(GAS_NITRYL) < 0.8) - return list("success" = FALSE, "message" = "Nitryl isn't being generated correctly! Only [G.get_moles(GAS_BZ)] mols were produced, when there should be 0.8!") - return ..() - /datum/gas_reaction/bzformation //Formation of BZ by combining plasma and tritium at low pressures. Exothermic. priority = 5 name = "BZ Gas formation" @@ -702,126 +631,31 @@ air.set_temperature(max(((temperature*old_heat_capacity - energy_used)/new_heat_capacity),TCMB)) return REACTING -/datum/gas_reaction/stimformation //Stimulum formation follows a strange pattern of how effective it will be at a given temperature, having some multiple peaks and some large dropoffs. Exo and endo thermic. - priority = 7 - name = "Stimulum formation" - id = "stimformation" - -/datum/gas_reaction/stimformation/init_reqs() - min_requirements = list( - GAS_TRITIUM = 30, - GAS_PLASMA = 10, - GAS_BZ = 20, - GAS_NITRYL = 30, - "TEMP" = STIMULUM_HEAT_SCALE/2) - -/datum/gas_reaction/stimformation/react(datum/gas_mixture/air) - var/old_heat_capacity = air.heat_capacity() - var/heat_scale = min(air.return_temperature()/STIMULUM_HEAT_SCALE,air.get_moles(GAS_TRITIUM),air.get_moles(GAS_PLASMA),air.get_moles(GAS_NITRYL)) - var/stim_energy_change = heat_scale + STIMULUM_FIRST_RISE*(heat_scale**2) - STIMULUM_FIRST_DROP*(heat_scale**3) + STIMULUM_SECOND_RISE*(heat_scale**4) - STIMULUM_ABSOLUTE_DROP*(heat_scale**5) - - if ((air.get_moles(GAS_TRITIUM) - heat_scale < 0)|| (air.get_moles(GAS_PLASMA) - heat_scale < 0) || (air.get_moles(GAS_NITRYL) - heat_scale < 0)) //Shouldn't produce gas from nothing. - return NO_REACTION - air.adjust_moles(GAS_STIMULUM, heat_scale/10) - air.adjust_moles(GAS_TRITIUM, -heat_scale) - air.adjust_moles(GAS_PLASMA, -heat_scale) - air.adjust_moles(GAS_NITRYL, -heat_scale) - - if(stim_energy_change) - var/new_heat_capacity = air.heat_capacity() - if(new_heat_capacity > MINIMUM_HEAT_CAPACITY) - air.set_temperature(max(((air.return_temperature()*old_heat_capacity + stim_energy_change)/new_heat_capacity),TCMB)) - return REACTING - -/datum/gas_reaction/stimformation/test() - //above mentioned "strange pattern" is a basic quintic polynomial, it's fine, can calculate it manually - var/datum/gas_mixture/G = new - G.set_moles(GAS_BZ,30) - G.set_moles(GAS_PLASMA,1000) - G.set_moles(GAS_TRITIUM,1000) - G.set_moles(GAS_NITRYL,1000) - G.set_volume(1000) - G.set_temperature(12998000) // yeah, really - - var/result = G.react() - if(result != REACTING) - return list("success" = FALSE, "message" = "Reaction didn't go at all!") - if(!G.get_moles(GAS_STIMULUM)) - return list("success" = FALSE, "message" = "Stimulum isn't being generated!") - return ..() - -/datum/gas_reaction/nobliumformation //Hyper-Noblium formation is extrememly endothermic, but requires high temperatures to start. Due to its high mass, hyper-nobelium uses large amounts of nitrogen and tritium. BZ can be used as a catalyst to make it less endothermic. - priority = 8 - name = "Hyper-Noblium condensation" - id = "nobformation" +/datum/gas_reaction/hydrogen_chloride_formation + priority = 11 + name = "Hydrogen Chloride formation" + id = "hydrogenchlorideformation" -/datum/gas_reaction/nobliumformation/init_reqs() +/datum/gas_reaction/hydrogen_chloride_formation/init_reqs() min_requirements = list( - GAS_N2 = 10, - GAS_TRITIUM = 5, - "ENER" = NOBLIUM_FORMATION_ENERGY) - -/datum/gas_reaction/nobliumformation/react(datum/gas_mixture/air) - . = REACTING - var/old_heat_capacity = air.heat_capacity() - var/nob_formed = min((air.get_moles(GAS_N2)+air.get_moles(GAS_TRITIUM))/100,air.get_moles(GAS_TRITIUM)/10,air.get_moles(GAS_N2)/20) - var/energy_taken = nob_formed*(NOBLIUM_FORMATION_ENERGY/(max(air.get_moles(GAS_BZ),1))) - if ((air.get_moles(GAS_TRITIUM) - 10*nob_formed < 0) || (air.get_moles(GAS_N2) - 20*nob_formed < 0)) - return NO_REACTION - air.adjust_moles(GAS_TRITIUM, -10*nob_formed) - air.adjust_moles(GAS_N2, -20*nob_formed) - air.adjust_moles(GAS_HYPERNOB,nob_formed) - - if (nob_formed) - var/new_heat_capacity = air.heat_capacity() - if(new_heat_capacity > MINIMUM_HEAT_CAPACITY) - air.set_temperature(max(((air.return_temperature()*old_heat_capacity - energy_taken)/new_heat_capacity),TCMB)) - -/datum/gas_reaction/nobliumformation/test() - var/datum/gas_mixture/G = new - G.set_moles(GAS_N2,100) - G.set_moles(GAS_TRITIUM,500) - G.set_volume(1000) - G.set_temperature(5000000) // yeah, really - var/result = G.react() - if(result != REACTING) - return list("success" = FALSE, "message" = "Reaction didn't go at all!") - return ..() - -/datum/gas_reaction/stim_ball - priority = 9 - name ="Stimulum Energy Ball" - id = "stimball" - -/datum/gas_reaction/stim_ball/init_reqs() - min_requirements = list( - GAS_PLUOXIUM = STIM_BALL_GAS_AMOUNT, - GAS_STIMULUM = STIM_BALL_GAS_AMOUNT, - GAS_NITRYL = MINIMUM_MOLE_COUNT, - GAS_PLASMA = MINIMUM_MOLE_COUNT, + GAS_CHLORINE = 5, + GAS_HYDROGEN = 5, "TEMP" = FIRE_MINIMUM_TEMPERATURE_TO_EXIST ) -/datum/gas_reaction/stim_ball/react(datum/gas_mixture/air, datum/holder) - var/turf/open/location +/datum/gas_reaction/hydrogen_chloride_formation/react(datum/gas_mixture/air) + var/temperature = air.return_temperature() var/old_heat_capacity = air.heat_capacity() - if(istype(holder,/datum/pipeline)) //Find the tile the reaction is occuring on, or a random part of the network if it's a pipenet. - var/datum/pipeline/pipenet = holder - location = get_turf(pick(pipenet.members)) - else - location = get_turf(holder) - var/ball_shot_angle = 180*cos(air.get_moles(GAS_H2O)/air.get_moles(GAS_NITRYL))+180 - var/stim_used = min(STIM_BALL_GAS_AMOUNT/air.get_moles(GAS_PLASMA),air.get_moles(GAS_STIMULUM)) - var/pluox_used = min(STIM_BALL_GAS_AMOUNT/air.get_moles(GAS_PLASMA),air.get_moles(GAS_PLUOXIUM)) - var/energy_released = stim_used*STIMULUM_HEAT_SCALE//Stimulum has a lot of stored energy, and breaking it up releases some of it - location.fire_nuclear_particle(ball_shot_angle) - air.adjust_moles(GAS_CO2, 4*pluox_used) - air.adjust_moles(GAS_N2, 8*stim_used) - air.adjust_moles(GAS_PLUOXIUM, -pluox_used) - air.adjust_moles(GAS_STIMULUM, -stim_used) - air.adjust_moles(GAS_PLASMA, max(-air.get_moles(GAS_PLASMA)/2,-30)) - if(energy_released) + var/reaction_efficency = min((temperature/(FIRE_MINIMUM_TEMPERATURE_TO_EXIST*10)),air.get_moles(GAS_CHLORINE),air.get_moles(GAS_HYDROGEN)) + var/energy_released = reaction_efficency*185000 + if ((air.get_moles(GAS_CHLORINE) - reaction_efficency < 0)|| (air.get_moles(GAS_HYDROGEN) - (reaction_efficency) < 0) || energy_released <= 0) //Shouldn't produce gas from nothing. + return NO_REACTION + air.adjust_moles(GAS_HYDROGEN_CHLORIDE, reaction_efficency) + air.adjust_moles(GAS_HYDROGEN, -reaction_efficency) + air.adjust_moles(GAS_CHLORINE, -reaction_efficency) + + if(energy_released > 0) var/new_heat_capacity = air.heat_capacity() if(new_heat_capacity > MINIMUM_HEAT_CAPACITY) - air.set_temperature(clamp((air.return_temperature()*old_heat_capacity + energy_released)/new_heat_capacity,TCMB,INFINITY)) + air.set_temperature(max(((temperature*old_heat_capacity + energy_released)/new_heat_capacity),TCMB)) return REACTING diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index e5a1be0294d..bfd869247f8 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -106,6 +106,11 @@ var/alarm_frequency = FREQ_ATMOS_ALARMS var/datum/radio_frequency/radio_connection + //anything outright hazardous (flammable, toxic, generally Weird) + var/list/filter_basic = list(GAS_CO2, GAS_PLASMA, GAS_NITROUS, GAS_BZ, GAS_TRITIUM, GAS_FREON, GAS_HYDROGEN, GAS_CHLORINE, GAS_HYDROGEN_CHLORIDE, GAS_CO, GAS_AMMONIA, GAS_METHANE, GAS_SO2, GAS_O3) + //anything that isn't o2 or n2. + var/list/filter_extra = list(GAS_CO2, GAS_PLASMA, GAS_NITROUS, GAS_BZ, GAS_TRITIUM, GAS_FREON, GAS_HYDROGEN, GAS_CHLORINE, GAS_HYDROGEN_CHLORIDE, GAS_H2O, GAS_CO, GAS_ARGON, GAS_AMMONIA, GAS_METHANE, GAS_SO2, GAS_O3) + var/list/TLV = list( // Breathable air. "pressure" = new/datum/tlv(HAZARD_LOW_PRESSURE, WARNING_LOW_PRESSURE, WARNING_HIGH_PRESSURE, HAZARD_HIGH_PRESSURE), // kPa. Values are min2, min1, max1, max2 "temperature" = new/datum/tlv(T0C, T0C+10, T0C+40, T0C+66), @@ -115,14 +120,18 @@ GAS_PLASMA = new/datum/tlv/dangerous, GAS_NITROUS = new/datum/tlv/dangerous, GAS_BZ = new/datum/tlv/dangerous, - GAS_HYPERNOB = new/datum/tlv(-1, -1, 1000, 1000), // Hyper-Noblium is inert and nontoxic GAS_H2O = new/datum/tlv/dangerous, GAS_TRITIUM = new/datum/tlv/dangerous, - GAS_STIMULUM = new/datum/tlv/dangerous, - GAS_NITRYL = new/datum/tlv/dangerous, - GAS_PLUOXIUM = new/datum/tlv(-1, -1, 5, 6), // Unlike oxygen, pluoxium does not fuel plasma/tritium fires GAS_FREON = new/datum/tlv/dangerous, - GAS_HYDROGEN = new/datum/tlv/dangerous + GAS_HYDROGEN = new/datum/tlv/dangerous, + GAS_CHLORINE = new/datum/tlv/dangerous, + GAS_HYDROGEN_CHLORIDE = new/datum/tlv/dangerous, + GAS_CO = new/datum/tlv/dangerous, + GAS_ARGON = new/datum/tlv(-1, -1, 1000, 1000), //inert and nontoxic + GAS_AMMONIA = new/datum/tlv/dangerous, + GAS_METHANE = new/datum/tlv/dangerous, + GAS_SO2 = new/datum/tlv/dangerous, + GAS_O3 = new/datum/tlv/dangerous, ) /obj/machinery/airalarm/server // No checks here. @@ -135,14 +144,18 @@ GAS_PLASMA = new/datum/tlv/no_checks, GAS_NITROUS = new/datum/tlv/no_checks, GAS_BZ = new/datum/tlv/no_checks, - GAS_HYPERNOB = new/datum/tlv/no_checks, GAS_H2O = new/datum/tlv/no_checks, GAS_TRITIUM = new/datum/tlv/no_checks, - GAS_STIMULUM = new/datum/tlv/no_checks, - GAS_NITRYL = new/datum/tlv/no_checks, - GAS_PLUOXIUM = new/datum/tlv/no_checks, GAS_FREON = new/datum/tlv/no_checks, - GAS_HYDROGEN = new/datum/tlv/no_checks + GAS_HYDROGEN = new/datum/tlv/no_checks, + GAS_CHLORINE = new/datum/tlv/dangerous, + GAS_HYDROGEN_CHLORIDE = new/datum/tlv/dangerous, + GAS_CO = new/datum/tlv/dangerous, + GAS_ARGON = new/datum/tlv/no_checks, + GAS_AMMONIA = new/datum/tlv/no_checks, + GAS_METHANE = new/datum/tlv/no_checks, + GAS_SO2 = new/datum/tlv/no_checks, + GAS_O3 = new/datum/tlv/no_checks, ) heating_manage = FALSE @@ -156,14 +169,18 @@ GAS_PLASMA = new/datum/tlv/dangerous, GAS_NITROUS = new/datum/tlv/dangerous, GAS_BZ = new/datum/tlv/dangerous, - GAS_HYPERNOB = new/datum/tlv(-1, -1, 1000, 1000), // Hyper-Noblium is inert and nontoxic GAS_H2O = new/datum/tlv/dangerous, GAS_TRITIUM = new/datum/tlv/dangerous, - GAS_STIMULUM = new/datum/tlv/dangerous, - GAS_NITRYL = new/datum/tlv/dangerous, - GAS_PLUOXIUM = new/datum/tlv(-1, -1, 1000, 1000), // Unlike oxygen, pluoxium does not fuel plasma/tritium fires GAS_FREON = new/datum/tlv/dangerous, - GAS_HYDROGEN = new/datum/tlv/dangerous + GAS_HYDROGEN = new/datum/tlv/dangerous, + GAS_CHLORINE = new/datum/tlv/dangerous, + GAS_HYDROGEN_CHLORIDE = new/datum/tlv/dangerous, + GAS_CO = new/datum/tlv/dangerous, + GAS_ARGON = new/datum/tlv(-1, -1, 1000, 1000), //inert and nontoxic + GAS_AMMONIA = new/datum/tlv/dangerous, + GAS_METHANE = new/datum/tlv/dangerous, + GAS_SO2 = new/datum/tlv/dangerous, + GAS_O3 = new/datum/tlv/dangerous, ) heating_manage = FALSE @@ -228,8 +245,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) /obj/machinery/airalarm/Destroy() SSradio.remove_object(src, frequency) - qdel(wires) - wires = null + QDEL_NULL(wires) var/area/ourarea = get_area(src) ourarea.atmosalert(FALSE, src) return ..() @@ -262,6 +278,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) ui = new(user, src, "AirAlarm", name) ui.open() +/obj/machinery/airalarm/examine_more(mob/user) + ui_interact(user) + return ..() + /obj/machinery/airalarm/ui_data(mob/user) var/data = list( "locked" = locked, @@ -542,7 +562,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) for(var/device_id in A.air_scrub_names) send_signal(device_id, list( "power" = 1, - "set_filters" = list(GAS_CO2, GAS_BZ), + "set_filters" = filter_basic, "scrubbing" = 1, "widenet" = 0 ), signal_source) @@ -556,20 +576,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) for(var/device_id in A.air_scrub_names) send_signal(device_id, list( "power" = 1, - "set_filters" = list( - GAS_CO2, - GAS_PLASMA, - GAS_H2O, - GAS_HYPERNOB, - GAS_NITROUS, - GAS_NITRYL, - GAS_TRITIUM, - GAS_BZ, - GAS_STIMULUM, - GAS_PLUOXIUM, - GAS_FREON, - GAS_HYDROGEN - ), + "set_filters" = filter_extra, "scrubbing" = 1, "widenet" = 1 ), signal_source) @@ -596,7 +603,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) for(var/device_id in A.air_scrub_names) send_signal(device_id, list( "power" = 1, - "set_filters" = list(GAS_CO2, GAS_BZ), + "set_filters" = filter_basic, "scrubbing" = 1, "widenet" = 0 ), signal_source) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index 5ff6b2e396b..6bd2308d929 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -28,7 +28,7 @@ var/obj/item/radio/radio var/radio_key = /obj/item/encryptionkey/headset_com - var/radio_channel = RADIO_CHANNEL_COMMAND + var/radio_channel = RADIO_CHANNEL_EMERGENCY var/running_anim = FALSE diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm index 7a2559724ad..2caef9b39d5 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm @@ -110,9 +110,9 @@ if(pump_direction & RELEASING) // internal -> external var/pressure_delta = 10000 - if(pressure_checks&EXT_BOUND) + if(pressure_checks & EXT_BOUND) pressure_delta = min(pressure_delta, (external_pressure_bound - environment_pressure)) - if(pressure_checks&INT_BOUND) + if(pressure_checks & INT_BOUND) pressure_delta = min(pressure_delta, (air_contents.return_pressure() - internal_pressure_bound)) if(pressure_delta > 0) @@ -126,9 +126,9 @@ if(environment.return_pressure() > 0) var/our_multiplier = air_contents.return_volume() / (environment.return_temperature() * R_IDEAL_GAS_EQUATION) var/moles_delta = 10000 * our_multiplier - if(pressure_checks&EXT_BOUND) + if(pressure_checks & EXT_BOUND) moles_delta = min(moles_delta, (environment_pressure - external_pressure_bound) * environment.return_volume() / (environment.return_temperature() * R_IDEAL_GAS_EQUATION)) - if(pressure_checks&INT_BOUND) + if(pressure_checks & INT_BOUND) moles_delta = min(moles_delta, (internal_pressure_bound - air_contents.return_pressure()) * our_multiplier) if(moles_delta > 0) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm index dc8b278959f..7706a7e3c42 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm @@ -20,7 +20,7 @@ var/id_tag = null var/scrubbing = SCRUBBING //0 = siphoning, 1 = scrubbing - var/filter_types = list(GAS_CO2, GAS_BZ) + var/filter_types = list(GAS_CO2, GAS_BZ, GAS_CO) var/volume_rate = 200 var/widenet = 0 //is this scrubber acting on the 3x3 area around it. var/list/turf/adjacent_turfs = list() @@ -126,12 +126,11 @@ return TRUE /obj/machinery/atmospherics/components/unary/vent_scrubber/atmosinit() - radio_filter_in = frequency==initial(frequency)?(RADIO_FROM_AIRALARM):null - radio_filter_out = frequency==initial(frequency)?(RADIO_TO_AIRALARM):null + radio_filter_in = frequency == initial(frequency) ? (RADIO_FROM_AIRALARM) : null + radio_filter_out = frequency == initial(frequency) ? (RADIO_TO_AIRALARM) : null if(frequency) set_frequency(frequency) broadcast_status() - check_turfs() ..() /obj/machinery/atmospherics/components/unary/vent_scrubber/process_atmos() @@ -141,55 +140,35 @@ if(use_static_power != NO_POWER_USE) set_no_power() return FALSE - if(!nodes[1]) + + if(!nodes[1] || !islist(filter_types)) return FALSE - scrub(loc) + + var/datum/gas_mixture/air_contents = airs[1] + if(!air_contents.return_pressure() >= 50 * ONE_ATMOSPHERE) + return FALSE + + var/turf/location = loc + scrub(location) if(widenet) - if(use_static_power != ACTIVE_POWER_USE) - set_active_power() - for(var/turf/tile in adjacent_turfs) + for(var/turf/tile as anything in location.atmos_adjacent_turfs) scrub(tile) - else - if(use_static_power != IDLE_POWER_USE) - set_idle_power() return TRUE /obj/machinery/atmospherics/components/unary/vent_scrubber/proc/scrub(turf/tile) - if(!istype(tile)) - return FALSE var/datum/gas_mixture/environment = tile.return_air() - var/datum/gas_mixture/air_contents = airs[1] - - if(air_contents.return_pressure() >= 50 * ONE_ATMOSPHERE || !islist(filter_types)) - return FALSE if(scrubbing & SCRUBBING) - environment.scrub_into(air_contents, volume_rate/environment.return_volume(), filter_types) - tile.air_update_turf() + environment.scrub_into(airs[1], volume_rate / environment.return_volume(), filter_types) else //Just siphoning all air - environment.transfer_ratio_to(air_contents, volume_rate/environment.return_volume()) - tile.air_update_turf() + environment.transfer_ratio_to(airs[1], volume_rate / environment.return_volume()) + tile.air_update_turf() update_parents() return TRUE -//There is no easy way for an object to be notified of changes to atmos can pass flags -// So we check every machinery process (2 seconds) -/obj/machinery/atmospherics/components/unary/vent_scrubber/process() - if(widenet) - check_turfs() - -//we populate a list of turfs with nonatmos-blocked cardinal turfs AND -// diagonal turfs that can share atmos with *both* of the cardinal turfs - -/obj/machinery/atmospherics/components/unary/vent_scrubber/proc/check_turfs() - adjacent_turfs.Cut() - var/turf/T = get_turf(src) - if(istype(T)) - adjacent_turfs = T.GetAtmosAdjacentTurfs(alldir = 1) - /obj/machinery/atmospherics/components/unary/vent_scrubber/receive_signal(datum/signal/signal) if(!is_operational || !signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"]!="command")) return 0 @@ -206,6 +185,11 @@ if("toggle_widenet" in signal.data) widenet = !widenet + if(widenet) + set_active_power() + else + set_idle_power() + var/old_scrubbing = scrubbing if("scrubbing" in signal.data) scrubbing = text2num(signal.data["scrubbing"]) @@ -310,10 +294,10 @@ icon_state = "scrub_map_on-4" /obj/machinery/atmospherics/components/unary/vent_scrubber/on/lavaland - filter_types = list(GAS_CO2, GAS_PLASMA, GAS_H2O, GAS_BZ) + filter_types = list(GAS_CO2, GAS_PLASMA, GAS_H2O, GAS_BZ, GAS_CO) /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3/lavaland - filter_types = list(GAS_CO2, GAS_PLASMA, GAS_H2O, GAS_BZ) + filter_types = list(GAS_CO2, GAS_PLASMA, GAS_H2O, GAS_BZ, GAS_CO) #undef SIPHONING #undef SCRUBBING diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index f2e563c07b5..b8f02318521 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -43,18 +43,16 @@ "co2" = /obj/machinery/portable_atmospherics/canister/carbon_dioxide, "plasma" = /obj/machinery/portable_atmospherics/canister/toxins, "n2o" = /obj/machinery/portable_atmospherics/canister/nitrous_oxide, - "no2" = /obj/machinery/portable_atmospherics/canister/nitryl, "bz" = /obj/machinery/portable_atmospherics/canister/bz, "air" = /obj/machinery/portable_atmospherics/canister/air, "water vapor" = /obj/machinery/portable_atmospherics/canister/water_vapor, "tritium" = /obj/machinery/portable_atmospherics/canister/tritium, - "hyper-noblium" = /obj/machinery/portable_atmospherics/canister/nob, - "stimulum" = /obj/machinery/portable_atmospherics/canister/stimulum, - "pluoxium" = /obj/machinery/portable_atmospherics/canister/pluoxium, "caution" = /obj/machinery/portable_atmospherics/canister, "freon" = /obj/machinery/portable_atmospherics/canister/freon, "hydrogen" = /obj/machinery/portable_atmospherics/canister/hydrogen, - "fuel mix" = /obj/machinery/portable_atmospherics/canister/fuel + "fuel mix" = /obj/machinery/portable_atmospherics/canister/fuel, + "cl2" = /obj/machinery/portable_atmospherics/canister/chlorine, + "hcl" =/obj/machinery/portable_atmospherics/canister/hydrogen_chloride, ) /obj/machinery/portable_atmospherics/canister/interact(mob/user) @@ -76,12 +74,24 @@ icon_state = "blue" gas_type = GAS_O2 +/obj/machinery/portable_atmospherics/canister/ozone + name = "ozone canister" + desc = "Ozone. Sometimes called as 'pure air', this is far from the truth; ozone is not good for your lungs nor heart." + icon_state = "darkblue" + gas_type = GAS_O3 + /obj/machinery/portable_atmospherics/canister/carbon_dioxide name = "co2 canister" desc = "Carbon dioxide. What the fuck is carbon dioxide?" icon_state = "black" gas_type = GAS_CO2 +/obj/machinery/portable_atmospherics/canister/carbon_monoxide + name = "co canister" + desc = "Carbon Monoxide. Highly dangerous and invisible to the naked eye." + icon_state = "black" + gas_type = GAS_CO + /obj/machinery/portable_atmospherics/canister/toxins name = "plasma canister" desc = "Plasma gas. The reason YOU are here. Highly toxic." @@ -111,29 +121,11 @@ icon_state = "green" gas_type = GAS_TRITIUM -/obj/machinery/portable_atmospherics/canister/nob - name = "hyper-noblium canister" - desc = "Hyper-Noblium. More noble than all other gases." - icon_state = "nob" - gas_type = GAS_HYPERNOB - -/obj/machinery/portable_atmospherics/canister/nitryl - name = "nitryl canister" - desc = "Nitryl gas. Feels great 'til the acid eats your lungs." - icon_state = "brown" - gas_type = GAS_NITRYL - -/obj/machinery/portable_atmospherics/canister/stimulum - name = "stimulum canister" - desc = "Stimulum. High energy gas, high energy people." - icon_state = "darkpurple" - gas_type = GAS_STIMULUM - -/obj/machinery/portable_atmospherics/canister/pluoxium - name = "pluoxium canister" - desc = "Pluoxium. Like oxygen, but more bang for your buck." - icon_state = "darkblue" - gas_type = GAS_PLUOXIUM +/obj/machinery/portable_atmospherics/canister/argon + name = "argon canister" + desc = "Argon. A noble gas that prevents other gases from reacting." + icon_state = "purple" + gas_type = GAS_ARGON /obj/machinery/portable_atmospherics/canister/water_vapor name = "water vapor canister" @@ -155,6 +147,24 @@ icon_state = "orangews" gas_type = GAS_HYDROGEN +/obj/machinery/portable_atmospherics/canister/methane + name = "methane canister" + desc = "Methane. Used in thruster fuel along with kitchen stoves." + icon_state = "methane" + gas_type = GAS_METHANE + +/obj/machinery/portable_atmospherics/canister/ammonia + name = "ammonia canister" + desc = "Ammonia. Used in industrial processes." + icon_state = "brown" + gas_type = GAS_AMMONIA + +/obj/machinery/portable_atmospherics/canister/sulfur_dioxide + name = "sulfur dioxide canister" + desc = "Sulfur Dioxide. Produced naturally by volcanos." + icon_state = "sulfurdioxide" + gas_type = GAS_SO2 + /obj/machinery/portable_atmospherics/canister/fuel name = "fuel canister" desc = "A highly volatile mix of hydrogen and oxygen." @@ -170,6 +180,20 @@ air_contents.set_moles(GAS_HYDROGEN, 1000) air_contents.set_temperature(T20C) +/obj/machinery/portable_atmospherics/canister/chlorine + name = "chlorine canister" + desc = "chlorine" + icon_state = "greenys" + gas_type = GAS_CHLORINE + filled = 1 + +/obj/machinery/portable_atmospherics/canister/hydrogen_chloride + name = "hydrogen chloride canister" + desc = "awful" + icon_state = "greenyshaz" + gas_type = GAS_HYDROGEN_CHLORIDE + filled = 1 + /obj/machinery/portable_atmospherics/canister/fusion_test name = "fusion test canister" desc = "Don't be a badmin." @@ -178,7 +202,6 @@ air_contents.set_moles(GAS_CO2,300) air_contents.set_moles(GAS_PLASMA,1000) air_contents.set_moles(GAS_TRITIUM,100.61) - air_contents.set_moles(GAS_NITRYL,1) air_contents.set_temperature(15000) /obj/machinery/portable_atmospherics/canister/proc/get_time_left() diff --git a/code/modules/atmospherics/machinery/portable/scrubber.dm b/code/modules/atmospherics/machinery/portable/scrubber.dm index 7505d2b8789..7ccf807ea25 100644 --- a/code/modules/atmospherics/machinery/portable/scrubber.dm +++ b/code/modules/atmospherics/machinery/portable/scrubber.dm @@ -8,7 +8,7 @@ var/volume_rate = 1000 var/overpressure_m = 80 var/use_overlays = TRUE - var/list/scrubbing = list(GAS_PLASMA, GAS_CO2, GAS_NITROUS, GAS_BZ, GAS_NITRYL, GAS_TRITIUM, GAS_HYPERNOB, GAS_H2O, GAS_FREON, GAS_HYDROGEN) + var/list/scrubbing = list(GAS_PLASMA, GAS_CO2, GAS_NITROUS, GAS_BZ, GAS_TRITIUM, GAS_H2O, GAS_FREON, GAS_HYDROGEN, GAS_CO) /obj/machinery/portable_atmospherics/scrubber/Destroy() var/turf/T = get_turf(src) @@ -146,7 +146,7 @@ ..() if(!holding) var/turf/T = get_turf(src) - for(var/turf/AT in T.GetAtmosAdjacentTurfs(alldir = TRUE)) + for(var/turf/AT as anything in T.get_atmos_all_adjacent_turfs()) scrub(AT.return_air()) /obj/machinery/portable_atmospherics/scrubber/huge/attackby(obj/item/W, mob/user) diff --git a/code/modules/autowiki/pages/techweb.dm b/code/modules/autowiki/pages/techweb.dm index 0f4b87f9e2a..42e58dd1cc6 100644 --- a/code/modules/autowiki/pages/techweb.dm +++ b/code/modules/autowiki/pages/techweb.dm @@ -9,9 +9,6 @@ if (!node.show_on_wiki) continue - if (!valid_node(node)) - continue - output += "\n\n" + include_template("Autowiki/TechwebEntry", list( "name" = escape_value(node.display_name), "description" = escape_value(node.description), @@ -21,9 +18,6 @@ return output -/datum/autowiki/techweb/proc/valid_node(datum/techweb_node/node) - return !node.experimental - /datum/autowiki/techweb/proc/generate_designs(list/design_ids) var/output = "" @@ -50,9 +44,6 @@ /datum/autowiki/techweb/experimental page = "Template:Autowiki/Content/Techweb/Experimental" -/datum/autowiki/techweb/experimental/valid_node(datum/techweb_node/node) - return node.experimental - /proc/sort_research_nodes(node_id_a, node_id_b) var/datum/techweb_node/node_a = SSresearch.techweb_nodes[node_id_a] var/datum/techweb_node/node_b = SSresearch.techweb_nodes[node_id_b] diff --git a/code/modules/awaymissions/away_props.dm b/code/modules/awaymissions/away_props.dm index a29d4865744..3b51ebb583d 100644 --- a/code/modules/awaymissions/away_props.dm +++ b/code/modules/awaymissions/away_props.dm @@ -1,7 +1,7 @@ /obj/effect/oneway name = "one way effect" desc = "Only lets things in from it's dir." - icon = 'icons/effects/mapping_helpers.dmi' + icon = 'icons/effects/mapping/mapping_helpers.dmi' icon_state = "field_dir" invisibility = INVISIBILITY_MAXIMUM anchored = TRUE @@ -14,7 +14,7 @@ /obj/effect/wind name = "wind effect" desc = "Creates pressure effect in it's direction. Use sparingly." - icon = 'icons/effects/mapping_helpers.dmi' + icon = 'icons/effects/mapping/mapping_helpers.dmi' icon_state = "field_dir" invisibility = INVISIBILITY_MAXIMUM var/strength = 30 @@ -32,7 +32,7 @@ /obj/effect/path_blocker name = "magic barrier" desc = "You shall not pass." - icon = 'icons/effects/mapping_helpers.dmi' + icon = 'icons/effects/mapping/mapping_helpers.dmi' icon_state = "blocker" //todo make this actually look fine when visible anchored = TRUE var/list/blocked_types = list() diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index 2f87eea6d2a..037ae0add3e 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -171,6 +171,7 @@ icon = 'icons/obj/device.dmi' icon_state = "syndbeacon" resistance_flags = INDESTRUCTIBLE + processing_flags = START_PROCESSING_MANUALLY var/team = WHITE_TEAM var/team_span = "" //Capture the Flag scoring @@ -194,10 +195,10 @@ /obj/machinery/capture_the_flag/Initialize() . = ..() - GLOB.poi_list |= src + SSpoints_of_interest.make_point_of_interest(src) /obj/machinery/capture_the_flag/Destroy() - GLOB.poi_list.Remove(src) + SSpoints_of_interest.remove_point_of_interest(src) return ..() /obj/machinery/capture_the_flag/process() @@ -347,6 +348,7 @@ /obj/machinery/capture_the_flag/proc/start_ctf() ctf_enabled = TRUE + START_PROCESSING(SSmachines, src) for(var/d in dead_barricades) var/obj/effect/ctf/dead_barricade/D = d D.respawn() @@ -378,6 +380,7 @@ /obj/machinery/capture_the_flag/proc/stop_ctf() ctf_enabled = FALSE + STOP_PROCESSING(SSmachines, src) arena_reset = FALSE var/area/A = get_area(src) for(var/i in GLOB.mob_list) @@ -403,7 +406,10 @@ /obj/item/gun/ballistic/automatic/pistol/deagle/ctf desc = "This looks like it could really hurt in melee." force = 75 - mag_type = /obj/item/ammo_box/magazine/m50/ctf + default_ammo_type = /obj/item/ammo_box/magazine/m50/ctf + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m50/ctf, + ) /obj/item/gun/ballistic/automatic/pistol/deagle/ctf/dropped() . = ..() @@ -429,7 +435,10 @@ . = ..() /obj/item/gun/ballistic/automatic/laser/ctf - mag_type = /obj/item/ammo_box/magazine/recharge/ctf + default_ammo_type = /obj/item/ammo_box/magazine/recharge/ctf + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/recharge/ctf, + ) desc = "This looks like it could really hurt in melee." force = 50 @@ -477,7 +486,10 @@ // RED TEAM GUNS /obj/item/gun/ballistic/automatic/laser/ctf/red - mag_type = /obj/item/ammo_box/magazine/recharge/ctf/red + default_ammo_type = /obj/item/ammo_box/magazine/recharge/ctf/red + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/recharge/ctf/red, + ) /obj/item/ammo_box/magazine/recharge/ctf/red ammo_type = /obj/item/ammo_casing/caseless/laser/ctf/red @@ -492,7 +504,10 @@ // BLUE TEAM GUNS /obj/item/gun/ballistic/automatic/laser/ctf/blue - mag_type = /obj/item/ammo_box/magazine/recharge/ctf/blue + default_ammo_type = /obj/item/ammo_box/magazine/recharge/ctf/blue + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/recharge/ctf/blue, + ) /obj/item/ammo_box/magazine/recharge/ctf/blue ammo_type = /obj/item/ammo_casing/caseless/laser/ctf/blue @@ -575,7 +590,6 @@ /datum/outfit/ctf/red/post_equip(mob/living/carbon/human/H) ..() var/obj/item/radio/R = H.ears - R.set_frequency(FREQ_CTF_RED) R.freqlock = TRUE R.independent = TRUE H.dna.species.stunmod = 0 @@ -583,7 +597,6 @@ /datum/outfit/ctf/blue/post_equip(mob/living/carbon/human/H) ..() var/obj/item/radio/R = H.ears - R.set_frequency(FREQ_CTF_BLUE) R.freqlock = TRUE R.independent = TRUE H.dna.species.stunmod = 0 diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 0bf0b74c715..4fb7ceac452 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -6,7 +6,7 @@ name = "Mob Spawner" density = TRUE anchored = TRUE - icon = 'icons/effects/mapping_helpers.dmi' // These aren't *really* mapping helpers but it fits the most with it's common usage (to help place corpses in maps) + icon = 'icons/effects/mapping/mapping_helpers.dmi' // These aren't *really* mapping helpers but it fits the most with it's common usage (to help place corpses in maps) icon_state = "mobspawner" // So it shows up in the map editor var/mob_type = null var/mob_name = "" @@ -61,11 +61,11 @@ if(instant || (roundstart && (mapload || (SSticker && SSticker.current_state > GAME_STATE_SETTING_UP)))) INVOKE_ASYNC(src, PROC_REF(create)) else if(ghost_usable) - GLOB.poi_list |= src + SSpoints_of_interest.make_point_of_interest(src) LAZYADD(GLOB.mob_spawners[name], src) /obj/effect/mob_spawn/Destroy() - GLOB.poi_list -= src + SSpoints_of_interest.remove_point_of_interest(src) var/list/spawners = GLOB.mob_spawners[name] LAZYREMOVE(spawners, src) if(!LAZYLEN(spawners)) @@ -138,6 +138,7 @@ // Base version - place these on maps/templates. /obj/effect/mob_spawn/human mob_type = /mob/living/carbon/human + icon_state = "corpsehuman" //Human specific stuff. var/mob_species = null //Set to make them a mutant race such as lizard or skeleton. Uses the datum typepath instead of the ID. var/datum/outfit/outfit = /datum/outfit //If this is a path, it will be instanced in Initialize() @@ -326,12 +327,10 @@ /obj/effect/mob_spawn/human/corpse/cargo_tech name = "Cargo Tech" outfit = /datum/outfit/job/cargo_tech - icon_state = "corpsecargotech" /obj/effect/mob_spawn/human/cook name = "Cook" outfit = /datum/outfit/job/cook - icon_state = "corpsecook" /obj/effect/mob_spawn/human/cook/husked husk = TRUE @@ -339,8 +338,6 @@ /obj/effect/mob_spawn/human/doctor name = "Doctor" outfit = /datum/outfit/job/doctor - icon_state = "corpsedoctor" - /obj/effect/mob_spawn/human/doctor/alive death = FALSE @@ -363,22 +360,18 @@ /obj/effect/mob_spawn/human/engineer name = "Engineer" outfit = /datum/outfit/job/engineer - icon_state = "corpseengineer" /obj/effect/mob_spawn/human/clown name = "Clown" outfit = /datum/outfit/job/clown - icon_state = "corpseclown" /obj/effect/mob_spawn/human/scientist name = "Scientist" outfit = /datum/outfit/job/scientist - icon_state = "corpsescientist" /obj/effect/mob_spawn/human/miner name = "Shaft Miner" outfit = /datum/outfit/job/miner - icon_state = "corpseminer" /obj/effect/mob_spawn/human/plasmaman mob_species = /datum/species/plasmaman @@ -405,7 +398,6 @@ /obj/effect/mob_spawn/human/bartender name = "Space Bartender" - icon_state = "corpsebartender" id_job = "Bartender" id_access_list = list(ACCESS_BAR) outfit = /datum/outfit/spacebartender diff --git a/code/modules/awaymissions/mission_code/Academy.dm b/code/modules/awaymissions/mission_code/Academy.dm index 6f28cc724b5..bddf8561f58 100644 --- a/code/modules/awaymissions/mission_code/Academy.dm +++ b/code/modules/awaymissions/mission_code/Academy.dm @@ -1,66 +1,3 @@ - -//Academy Areas - -/area/awaymission/academy - name = "Academy Asteroids" - icon_state = "away" - -/area/awaymission/academy/headmaster - name = "Academy Fore Block" - icon_state = "away1" - -/area/awaymission/academy/classrooms - name = "Academy Classroom Block" - icon_state = "away2" - -/area/awaymission/academy/academyaft - name = "Academy Ship Aft Block" - icon_state = "away3" - -/area/awaymission/academy/academygate - name = "Academy Gateway" - icon_state = "away4" - -/area/awaymission/academy/academycellar - name = "Academy Cellar" - icon_state = "away4" - -/area/awaymission/academy/academyengine - name = "Academy Engine" - icon_state = "away4" - -//Academy Items - -/obj/item/paper/fluff/awaymissions/academy/console_maint - name = "Console Maintenance" - default_raw_text = "We're upgrading to the latest mainframes for our consoles, the shipment should be in before spring break is over!" - -/obj/item/paper/fluff/awaymissions/academy/class/automotive - name = "Automotive Repair 101" - -/obj/item/paper/fluff/awaymissions/academy/class/pyromancy - name = "Pyromancy 250" - -/obj/item/paper/fluff/awaymissions/academy/class/biology - name = "Biology Lab" - -/obj/item/paper/fluff/awaymissions/academy/grade/aplus - name = "Summoning Midterm Exam" - default_raw_text = "Grade: A+ Educator's Notes: Excellent form." - -/obj/item/paper/fluff/awaymissions/academy/grade/bminus - name = "Summoning Midterm Exam" - default_raw_text = "Grade: B- Educator's Notes: Keep applying yourself, you're showing improvement." - -/obj/item/paper/fluff/awaymissions/academy/grade/dminus - name = "Summoning Midterm Exam" - default_raw_text = "Grade: D- Educator's Notes: SEE ME AFTER CLASS." - -/obj/item/paper/fluff/awaymissions/academy/grade/failure - name = "Pyromancy Evaluation" - default_raw_text = "Current Grade: F. Educator's Notes: No improvement shown despite multiple private lessons. Suggest additional tutelage." - - /obj/singularity/academy dissipate = 0 move_self = 0 @@ -74,12 +11,6 @@ if(prob(1)) mezzer() - -/obj/item/clothing/glasses/meson/truesight - name = "The Lens of Truesight" - desc = "I can see forever!" - icon_state = "monocle" - /obj/structure/academy_wizard_spawner name = "Academy Defensive System" desc = "Made by Abjuration, Inc." @@ -152,14 +83,6 @@ icon_state = "forge_off" STOP_PROCESSING(SSobj, src) -/datum/outfit/wizard/academy - name = "Academy Wizard" - r_pocket = null - r_hand = null - suit = /obj/item/clothing/suit/wizrobe/red - head = /obj/item/clothing/head/wizard/red - backpack_contents = list(/obj/item/storage/box/survival = 1) - /obj/item/dice/d20/fate name = "\improper Die of Fate" desc = "A die with twenty sides. You can feel unearthly energies radiating from it. Using this might be VERY risky." @@ -348,8 +271,6 @@ new /obj/item/clothing/suit/wizrobe(drop_location()) new /obj/item/clothing/head/wizard(drop_location()) new /obj/item/clothing/gloves/combat/wizard(drop_location()) - new /obj/item/clothing/suit/wizrobe/magusblue(drop_location()) - new /obj/item/clothing/head/wizard/magus(drop_location()) new /obj/item/staff(drop_location()) new /obj/structure/mirror/magic(drop_location()) @@ -357,8 +278,6 @@ name = "Butler" uniform = /obj/item/clothing/under/suit/black_really shoes = /obj/item/clothing/shoes/laceup - head = /obj/item/clothing/head/bowler - glasses = /obj/item/clothing/glasses/monocle gloves = /obj/item/clothing/gloves/color/white /obj/effect/proc_holder/spell/targeted/summonmob diff --git a/code/modules/awaymissions/mission_code/Cabin.dm b/code/modules/awaymissions/mission_code/Cabin.dm index bfbb8bbf52e..2e289579be1 100644 --- a/code/modules/awaymissions/mission_code/Cabin.dm +++ b/code/modules/awaymissions/mission_code/Cabin.dm @@ -1,40 +1,3 @@ - -/*Cabin areas*/ -/area/awaymission/cabin - name = "Cabin" - icon_state = "away2" - requires_power = TRUE - dynamic_lighting = DYNAMIC_LIGHTING_ENABLED - -/area/awaymission/cabin/snowforest - name = "Snow Forest" - icon_state = "away" - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - -/area/awaymission/cabin/snowforest/sovietsurface - name = "Snow Forest" - icon_state = "awaycontent29" - requires_power = FALSE - -/area/awaymission/cabin/lumbermill - name = "Lumbermill" - icon_state = "away3" - requires_power = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - -/area/awaymission/cabin/caves/sovietcave - name = "Soviet Bunker" - icon_state = "awaycontent4" - -/area/awaymission/cabin/caves - name = "North Snowdin Caves" - icon_state = "awaycontent15" - dynamic_lighting = DYNAMIC_LIGHTING_FORCED - -/area/awaymission/cabin/caves/mountain - name = "North Snowdin Mountains" - icon_state = "awaycontent24" - /obj/structure/firepit name = "firepit" desc = "Warm and toasty." diff --git a/code/modules/awaymissions/mission_code/caves.dm b/code/modules/awaymissions/mission_code/caves.dm deleted file mode 100644 index b7ab7c454d9..00000000000 --- a/code/modules/awaymissions/mission_code/caves.dm +++ /dev/null @@ -1,61 +0,0 @@ -//Areas - -/area/awaymission/caves/BMP_asteroid - name = "\improper BMP Asteroid Level 1" - icon_state = "awaycontent1" - -/area/awaymission/caves/BMP_asteroid/level_two - name = "\improper BMP Asteroid Level 2" - icon_state = "awaycontent2" - -/area/awaymission/caves/BMP_asteroid/level_three - name = "\improper BMP Asteroid Level 3" - icon_state = "awaycontent3" - -/area/awaymission/caves/BMP_asteroid/level_four - name = "\improper BMP Asteroid Level 4" - icon_state = "awaycontent4" - -/area/awaymission/caves/research - name = "Research Outpost" - icon_state = "awaycontent5" - dynamic_lighting = DYNAMIC_LIGHTING_ENABLED - -/area/awaymission/caves/northblock //engineering, bridge (not really north but it doesnt really need its own APC) - -/area/awaymission/caves/listeningpost - name = "Listening Post" - icon_state = "awaycontent6" - requires_power = FALSE - -//caves papers - -/obj/item/paper/crumpled/awaymissions/caves/unsafe_area - default_raw_text = "
    WARNING


    Majority of this area is considered 'unsafe' past this point. Theres an outpost directly south of here where you can get your bearing and travel further down if needed. Traveling in groups is HIGHLY advised, the shit out there can be extremely deadly if you're alone.
    " - -/obj/item/paper/fluff/awaymissions/caves/omega - name = "Subject Omega Notes" - default_raw_text = "
    Testing Notes


    Subject appears unresponsive to most interactions, refusing to move away from the corners or face any scientists. Subject appears to move between the two back corners every observation. A strange humming can be heard from inside the cell, appears to be originating from the subject itself, further testing is necessary to confirm or deny this.
    " - -/obj/item/paper/fluff/awaymissions/caves/magma - default_raw_text = "
    Mining is hell down here, you can feel the heat of the magma no matter how thick the suit is. Conditions are barely manageable as is, restless nights and horrid work conditions. The ore maybe rich down here, but we've already lost a few men to the faults shifting, god knows how much longer till it all just collapses down and consumes everyone with it.
    " - -/obj/item/paper/fluff/awaymissions/caves/work_notice - name = "work notice" - default_raw_text = "
    Survival Info For Miners


    The caves are an unforgiving place, the only thing you'll have to traverse is the supplies in your locker and your own wit. Travel in packs when mining and try to shut down the monster dens before they overwhelm you. The job is dangerous but the haul is good, so remember this information and hopefully we'll all go home alive.
    " - -/obj/item/paper/fluff/awaymissions/caves/shipment_notice - name = "shipment notice" - default_raw_text = "
    We were supposed to get a shipment of these special laser rifles and a couple 'nades to help combat the wildlife down here, but it's been weeks since we last heard from the caravan carrying the shit down here. At this point we can only assume they fell victim to one of the monster nests or the dumbasses managed to trip into the lava. So much for that shipment, I guess.
    " - -/obj/item/paper/fluff/awaymissions/caves/safety_notice - name = "safety notice" - default_raw_text = "
    Some of the miners have gone to laying some mine traps among the lower levels of the mine to keep the monsters at bay. This probably isn't the smartest idea in a cavern like this but the boys seem to get a chuckle out of every distant blast they hear go off, so I guess it works
    " - -/obj/item/paper/fluff/awaymissions/caves/shipment_receipt - name = "Shipment Receipt" - default_raw_text = "
    CARAVAN SERVICES

    Quality service since 2205


    SHIPMENT CONTENTS:


    4 scattershot rifles
    6 grenades
    1 laser rifle
    1 blowup doll" - -/obj/item/paper/fluff/awaymissions/caves/mech_notice - name = "NOTICE!! paper" - default_raw_text = "
    NOTICE!!


    Although you may seem indestructible in a mech, remember, THIS SHIT ISN'T LAVA PROOF!! The boys have already had to deal with loosing the last two to salvage because the dumbass thought he could just wade through the lower lakes like it was nothing. The fact he even managed to get back without being fused with what was left of the mech is a miracle in itself. They're built to be resistant against extreme heat, not heat PROOF!


    Robotics Team" diff --git a/code/modules/awaymissions/mission_code/centcomAway.dm b/code/modules/awaymissions/mission_code/centcomAway.dm index 60741701b4d..8c55a870263 100644 --- a/code/modules/awaymissions/mission_code/centcomAway.dm +++ b/code/modules/awaymissions/mission_code/centcomAway.dm @@ -1,39 +1,3 @@ -//centcomAway areas - -/area/awaymission/centcomAway - name = "XCC-P5831" - icon_state = "away" - requires_power = FALSE - -/area/awaymission/centcomAway/general - name = "XCC-P5831" - ambientsounds = list('sound/ambience/ambigen3.ogg') - -/area/awaymission/centcomAway/maint - name = "XCC-P5831 Maintenance" - icon_state = "away1" - ambientsounds = list('sound/ambience/ambisin1.ogg') - -/area/awaymission/centcomAway/thunderdome - name = "XCC-P5831 Thunderdome" - icon_state = "away2" - ambientsounds = list('sound/ambience/ambisin2.ogg') - -/area/awaymission/centcomAway/cafe - name = "XCC-P5831 Kitchen Arena" - icon_state = "away3" - ambientsounds = list('sound/ambience/ambisin3.ogg') - -/area/awaymission/centcomAway/courtroom - name = "XCC-P5831 Courtroom" - icon_state = "away4" - ambientsounds = list('sound/ambience/ambisin4.ogg') - -/area/awaymission/centcomAway/hangar - name = "XCC-P5831 Hangars" - icon_state = "away4" - ambientsounds = list('sound/ambience/ambigen5.ogg') - //centcomAway items /obj/item/paper/pamphlet/centcom/visitor_info @@ -47,17 +11,3 @@ serving as a supply and repair depot, as well as being host to its most important legal proceedings\ and the thrilling pay-per-view broadcasts of PLASTEEL CHEF and THUNDERDOME LIVE.
    \ We hope you enjoy your stay!" - -/obj/item/paper/fluff/awaymissions/centcom/gateway_memo - name = "Memo to XCC-P5831 QM" - default_raw_text = "From: XCC-P5831 Management Office
    \ - To: Rolf Ingram, XCC-P5831 Quartermaster
    \ - Hey, Rolf, once you pack that gateway into the ferry hangar, make absolutely sure \ - to deactivate it! As you may know, SS13 has recently got its network up and running, \ - which means that until we get this gate shipped off to the next colonization staging \ - area, they'll be able to hop straight in here if its hooked up on our end.
    \ - Obviously, that's something I'd very much rather avoid. Our forensics and medical \ - teams never did figure out what happened that last time... and I can't wrap my head \ - around it myself. Why would a shuttle full of evacuees all snap and beat each other \ - to death the moment they reached safety?
    \ - - D. Cereza" diff --git a/code/modules/awaymissions/mission_code/challenge.dm b/code/modules/awaymissions/mission_code/challenge.dm index 05d07922015..9e8abe6356b 100644 --- a/code/modules/awaymissions/mission_code/challenge.dm +++ b/code/modules/awaymissions/mission_code/challenge.dm @@ -1,20 +1,3 @@ -//Challenge Areas - -/area/awaymission/challenge/start - name = "Where Am I?" - icon_state = "away" - -/area/awaymission/challenge/main - name = "Danger Room" - icon_state = "away1" - requires_power = FALSE - -/area/awaymission/challenge/end - name = "Administration" - icon_state = "away2" - requires_power = FALSE - - /obj/machinery/power/emitter/energycannon name = "Energy Cannon" desc = "A heavy duty industrial laser." @@ -35,3 +18,13 @@ /obj/machinery/power/emitter/energycannon/RefreshParts() return + +/obj/machinery/power/emitter/energycannon/ctf + processing_flags = START_PROCESSING_MANUALLY + +/obj/machinery/power/emitter/energycannon/ctf/proc/toggle_ctf(ctf_enabled) + src.active = ctf_enabled + if(ctf_enabled) + START_PROCESSING(SSmachines, src) + else + STOP_PROCESSING(SSmachines, src) diff --git a/code/modules/awaymissions/mission_code/moonoutpost19.dm b/code/modules/awaymissions/mission_code/moonoutpost19.dm deleted file mode 100644 index 4f13e27001e..00000000000 --- a/code/modules/awaymissions/mission_code/moonoutpost19.dm +++ /dev/null @@ -1,121 +0,0 @@ -// moonoutpost19 - -//Areas -/area/awaymission/moonoutpost19 - name = "space" - icon_state = "awaycontent1" - -/area/awaymission/moonoutpost19/arrivals - name = "MO19 Arrivals" - icon_state = "awaycontent2" - -/area/awaymission/moonoutpost19/research - name = "MO19 Research" - icon_state = "awaycontent3" - -/area/awaymission/moonoutpost19/syndicate - name = "Syndicate Outpost" - icon_state = "awaycontent4" - -/area/awaymission/moonoutpost19/main - name = "Khonsu 19" - always_unpowered = TRUE - power_environ = FALSE - power_equip = FALSE - power_light = FALSE - poweralm = FALSE - ambientsounds = list('sound/ambience/ambimine.ogg') - icon_state = "awaycontent5" - -/area/awaymission/moonoutpost19/hive - name = "The Hive" - always_unpowered = TRUE - power_environ = FALSE - power_equip = FALSE - power_light = FALSE - poweralm = FALSE - icon_state = "awaycontent6" - -//Papers - -/obj/item/paper/crumpled/awaymissions/moonoutpost19/hastey_note - name = "Hastily Written Note" - default_raw_text = "19 06 2554

    I fucking knew it. There was a major breach, that idiotic force field failed and the xenomorphs rushed out and took out the scientists. I've managed to make it to my office and closed the blast doors. I can hear them trying to pry open the doors. Probably don't have long. I have no clue what has happened to the rest of the crew, for all I know they've been killed to produce more of the fucks." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/larva_social - name = "Larva Xenomorph Social Interactions & Capturing Procedure" - default_raw_text = "Researcher: Dr. Sakuma Sano
    Date: 04/06/2554

    Report:
    As expected, all that is left of the monkeys we sent in earlier is a group of xenomorph larvae. It is quite clear that the facehuggers are not selective in their hosts, and so far the gestation process has been shown to have a 100% success rate.

    The larvae themselves have been behaving very differently from the lone larva we first observed, and despite shying away from humans they are clearly comfortable with others of their kind. Our previous suspicions on larvae have been confirmed with their demonstration of playfulness: they are not nearly as aggressive or violent when young, before molting to adulthood.

    The majority of the play we observed involved a sort of hide-and-seek, and occasionally wrestling by tangling themselves and struggling out of it. While normally we would write these off as instinctual play for honing their skills when they molt, their growth period is so incredibly fast and they are still such adept killers that it would serve no practical purpose. The only explanation for this is perhaps to create bonds and friendships with each other, if that is even possible for such an incredibly hostile race. It may be that they are much more reasonable with each other than other life forms.

    It had become clear that now was the best time to extract a xenomorph for dissecting, as these were all still larvae and the queen was still attached to its ovipositor and would be immobile. With the approval of the research director, we sent in our medical robot that had been dubbed 'Head Surgeon' into the containment pen, dropping the shields for only a fraction of a second to allow it entry. The larvae were cautious, but the curiosity of one had him within grabbing range of our robot. It was brought out and quickly euthanized through lethal injection, courtesy of our mechanical doctor." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_queen - name = "Queen Xenomorph Physiology & Behavior Observation" - default_raw_text = "Researcher: Dr. Sakuma Sano
    Date: 04/06/2554

    Report:
    I have studied many interesting and diverse life-forms as a xenobiologist ranging from creatures as large as cows, to specimens too small see with the naked eye. This is by far the largest alien I have ever seen. The alien we were previously studying has molted and has become an absolutely enormous creature. Standing at over 15 feet tall and weighing in at likely two tons or more, the xenomorph queen is an absolutely breathtakingly large and cruel monster. Its behavior has changed drastically from when it was a drone, having become far more comfortable with sitting and staring at us, rather than smashing at the windows.

    The queen, physiologically speaking, is fairly similar to the other xenomorphs, with a few key differences. Its enormous size demands large legs, while the back seems to be always hunched forward. The dorsal tubes on the back have changed to several large spikes, and we observed the alien now sports a second pair of smaller arms on its chest. The purpose of these secondary arms is still unknown. Finally, the queen's crown has become incredibly large, with what seems to be a retractable slot to hide its head in. The dome appears to be extremely thick near the front, and will likely be able to resist a lot of trauma. Despite the enormous size it has grown to, it is not that much slower than it used to be.

    After two hours of doing relatively nothing but staring, the queen began to produce an unusually large amount of resin and weeds, quickly shaping up a large nest that it then hid behind. It then proceeded to smash out all the lights, leaving us with very little to see with our cameras. When we looked through the back cameras, we had discovered that it had grown a large ovipositor, and was releasing large eggs onto the ground. This had us all in agreement that this stage of the life cycle was the queen.

    Over the next few hours, the eggs grew to their full sizes, and we provided the subject with new monkey hosts. When they approached the eggs, they opened to release more facehuggers. It seems that we have observed the full cycle of reproduction for this species. We can expect more larvae in the next few hours." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_adult - name = "Adult Xenomorph Physiology & Behavior Observation" - default_raw_text = "Researcher: Dr. Sakuma Sano
    Date: 03/06/2554

    Report:
    The other scientists and I can hardly believe our eyes. The snake-like larva has molted into a 7 foot tall insectoid nightmare in just a few hours. It's obvious now as to why such heavy duty containment was needed. It immediately tried to escape however by flinging itself at the window in a flurry of swipes and stabs. It seems its behavior has returned to a state that is very similar to the facehugger, though I doubt with the same intent! Thankfully, our glass and shields have shown to be more than sturdy enough for such a violent creature, and so far, any attempts at the creature escaping have been in vain.

    As for its physiology, the creature has an elongated head with what appears to be have an exoskeleton resembling an external rib-cage on the torso. The alien is also fairly skinny with a lean body. The little amount of meat on the alien appears to be entirely muscle. We assume this makes it deceptively strong, while remaining agile at the same time. One of the most interesting things we have seen is its pharyngeal jaw. It has some what of an inner mouth capable of being fired externally at extremely high speeds. It has already caused many dents in the walls and a few small cracks in the window with it. The alien also has a couple of dorsal tubes on its back, their purpose unknown. Finally, this monster sports a long ridged tail, complete with a large and extremely sharp blade at the tip.

    Normally I would be absolutely terrified of something like this, but I'm putting my trust in Nanotrasen with the containment. After all, they wouldn't build a cell that could fail to contain its subject, would they?" - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/larva_psych - name = "Larva Xenomorph Physiology & Behavior Observation" - default_raw_text = "Researcher: Dr. Sakuma Sano
    Date: 03/06/2554

    Report:
    When the larva first emerged from the chest of the monkey, it seemed very curious. It would wander around aimlessly for awhile and then sit still. We are unable to determine the gender of the larva, or even determine if it has a gender. After some time had passed, it seemed to lose interest in its surroundings and sat mostly still while occasionally wagging its tail. We decided to throw in a live mouse to see if it would consume it. The larva quickly attacked and ate the mouse and seemed to get larger very suddenly, this suggests that the larvae are capable of metabolizing and directing all the energy towards growth at previously thought impossible speeds. It is a shame that we cannot observe the process more closely, as we do not currently know how dangerous or violent this creature is or will become as it matures fully.

    It is tempting to imagine the possibilities of utilizing such a mechanism. The capability of skipping years of growth time for children, repairing bodily damage in a matter of moments, even its usage in existing cloning technology." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/facehugger - name = "'Facehugger' Xenomorph Physiology & Behavior Observation" - default_raw_text = "Researcher: Dr. Sakuma Sano
    Date: 03/06/2554

    Report:
    The test subject we were provided with truly is alien. It is a small spider-like creature with bony legs leading to a smooth body. It has a long tail connected to it, and it has shown extremely aggressive behavior by flinging its entire body at the glass and shields to no avail. While doing so, we noticed there was a small pink hole in the middle of the body.

    When we sent in a monkey through the crude but effective disposal tube, the alien immediately jumped at its face and latched on. The monkey was quickly suffocated by its constricting tail, unable to pry off the fingers. The monkey at first seemed to be dead, but was observed to be breathing. The recently named alien 'facehugger' fell off dead and curled its legs up like a spider moments after it had finished with the monkey's body.

    While the monkey appeared to be unharmed, we kept it in the cell for a couple more hours until we were horrified to discover it screaming out in pain as a snake-like creature erupted from the monkey's chest! It appears that the 'facehugger' is only the start of this life cycle. The impregnation cycle involving the creatures growing inside the chests of their hosts seems to only be the beginning." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_hivemind - name = "The Hivemind Hypothesis" - default_raw_text = "Researcher: Dr. Mark Douglas
    Date: 17/06/2554

    Report:
    Earlier today we have observed a new phenomenon with our subjects. While feeding them our last monkey subject and throwing out the box, the aliens merely looked at us instead of infecting the monkey right away. They looked to be collectively distressed as they would no longer be given hosts, where instead we would move to the next phase of the experiment. When I glanced at the gas tanks and piping leading to their cell, I looked back to see all of them were up against the glass, even the queen! It was as if they all understood what was going to happen, even though we knew only the queen had the cognitive capability to do so.

    The only explanation for this is a form of communication between the aliens, but we have seen no such action take place anywhere in the cell until now. We also know that regular drone and hunter xenomorphs have no personality or instinct to survive by themselves. Perhaps the queen has a direct link to them? A form of a commander or overseer that controls their every move? A hivemind?" - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_behavior - name = "\improper A Preliminary Study of Alien Behavior" - default_raw_text = "Researcher: Dr. Sakuma Sano
    Date: 08/06/2554

    Report:
    The xenomorphs we have come to study here are a remarkable species. They are almost universally aggressive across all castes, showing no remorse or guilt or pause before or after acts of violence. They appear to be a species entirely designed to kill. Oddly enough, even their method of reproduction is a brutal two-for-one method of birthing a new xenomorph and killing its host.

    The lone xenomorph we studied only five days ago showed little sign of intelligence. Only a simple drone that flung itself at the safety glass and shields repeatedly and thankfully without success. Once the drone molted into a queen, it became much more calm and calculating, merely looking at us and waiting while building its nest. As the hive grew in size and in numbers, so too did the intelligence of the common hunter and drone. We are still researching how they can communicate with one another and the relationship between the different castes and the queen. We will continue to update our research as we learn more about the species." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_castes - name = "The Xenomorph 'Castes'" - default_raw_text = "Researcher: Dr. Mark Douglas
    Date: 06/06/2554

    Report:
    While observing the growing number of aliens in the containment cell, we began to notice subtle differences that were consistently repeating. Like ants, these creatures clearly have different specialized variations that determine their roles in the hive. We have dubbed the three currently observed castes as Hunters, Drones, and Sentinels.

    Hunters have been observed to be by far the most aggressive and agile of the three, constantly running on every surface and frequently swiping at the windows. They are also remarkably good at camouflaging themselves in darkness and on their resin structures, appearing almost invisible to the unwary observer. They are always the first to reach the monkeys we send in leading us to believe that this caste is primarily used for finding and retrieving hosts.

    Drones on the other hand are much more docile and seem more shy by comparison, though not any less aggressive than the other castes. They have been observed to have a much wider head and lack dorsal tubes. They have shown to be less agile and visibly more fragile than any other caste. The drone however has never been observed to interact with the monkeys directly and instead preferring maintenance of the hive by building walls of resin and moving eggs around the nest. As far as we know, we have only ever observed a drone become a queen, and we have no way of knowing if the other castes have that capability.

    Lastly, we have the Sentinels, which appear at first glance to be the guards of the hive. They have so far been only observed to remain near the queen and the eggs, frequently curled up against the walls. We have only observed one instance where they have interacted with a monkey who strayed too closely to the queen, and was pounced and held down immediately until it was applied with a facehugger. Their lack of movement makes it difficult to determine their exact purpose as guards, sentries, or other role." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/larva_autopsy - name = "Larva Xenomorph Autopsy Report" - default_raw_text = "Researcher: Dr. Mark Douglas
    Date: 04/06/2554

    Report:
    After an extremely dangerous, time consuming and costly dissection, we have managed to record and identify several of the organs inside of the first stage of the xenomorph cycle: the larva. This procedure took an extensive amount of time because these creatures have incredibly, almost-comically acidic blood that can melt through almost anything in a few moments. We had to use over a dozen scalpels and retractors to complete the autopsy.

    The larva seems to possess far fewer and quite different organs than that of a human. There is a stomach, with no digestive tract, a heart, which seems to lack any blood-oxygen circulation purpose, and an elongated brain, even though its as dumb as any large cat. It also lacks any liver, kidneys, or other basic organs.

    We can't determine the exact nature of how these creatures grow, nor if they gain organs as they become adults. The larger breeds of xenomorph are too dangerous to kill and capture to give us an accurate answer to these questions. All that we can conclude is that being able to function with so little and yet be so deadly means that these creatures are highly evolved and likely to be extremely durable to various hazards that would otherwise be lethal to humans." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/evacuation - name = "Evacuation Procedure" - default_raw_text = "

    In The Event of Xenobiology Breach: Evacuate staff, Lock down Xenobiology, Notify on-site superiors and/or Central Command immediately.



    Current Xenobiology Containment Level:Secure RUN

    " - -/obj/item/paper/fluff/awaymissions/moonoutpost19/log/personal - name = "Personal Log" - default_raw_text = "Log 1:
    We got our promised supply drop today. We were only meant to get it, what, a week ago? This bloody gateway keeps desyncing itself, and that means subsisting off recycled water and carb packs. No clue where the damn thing connects to on its off days, and HQ say we are 'not to touch it if it isn't linking to command.' We dumped off the assload of crates Jim filled, got our boxes of oxygen, food and drink, and closed the portal.

    Log 2:
    Damn thing is acting up again. Three days no contact this time. I thought I heard clanking noises from it yesterday. Jim is going on about the NT base or some shit. We've been over this before - They don't know we're here, that engineer was too drunk to recognize his suit, especially since I had it painted orange. He's starting to get annoying. We're safe.

    Log 3:
    Gateway synced itself up automatically today. I opened it for an instant to spy through it, got a glimpse of the inside of a transport container. Either HQ's redecorating or something, or there's more than two of these things." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/log/personal_2 - name = "Personal Log" - default_raw_text = "Log 1:
    While mining today I noticed the NT station was finished with its renovations. They placed some huge reinforced tumor on the station, looks so ugly. I wouldn't be surprised if those pigs decided to turn that little astronomy outpost into a prison with that thing, it'd be pretty typical of them.

    Log 2:
    Really dumb of me but I just waved at an engineer in the outpost, and he waved back. I hope to god he was too dumb or drunk to recognize the suit, because if he isn't then we might have to pull out before they come looking for us.

    Log 3:
    That huge reinforced tumor in their science section has been making a lot of noise lately. I've been hearing some banging and scratching from the other side and I'm kind of glad now that they reinforced this thing so much. I'll be sleeping with my gun under my pillow from now on." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/engineering - name = "Engineering Instructions" - default_raw_text = "Alright, listen up. If you're reading this, I'm either taking a shit or I've been recalled back to Command. Either way, you'll need to know how to restore power. We've stolen this stuff from Nanotrasen, so all the equipment is jury-rigged. We have generators that work on both plasma and uranium, about 50 sheets should power the outpost for quite a while. If the generators aren't working, which is very likely, take the power cell on the desk and put it into the APC in the hallway. That should get the place running, at least for a little while." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/log/kenneth - name = "Personal Log - Kenneth Cunningham" - default_raw_text = "Entry One - 27/05/2554:
    I just arrived, and already I hate my job. I'm stuck on this shithole of an outpost, trying to avoid these damn eggheads running all over the place preparing for god knows what. There's no crimes to stop, no syndies to kill, and I'm not even allowed to beat the fuckin' assistant senseless! They said I was transferred from Space Station 13 for 'good behavior', but this feels more like a punishment than a reward. All I know is that if I don't get some action soon, I'm going to go insane.

    Entry Two - 03/06/2554:
    Okay, so get this: we got a fuckin' deathsquad coming in today! I thought the day I saw one of them would be the day my employment was 'terminated', if you get my drift. They're escorting some sort of weird alien creature for the eggheads to study. I heard one of the docs telling the chef that this thing killed a whole security force before it was captured. I sure as hell hope that I don't have to fight it.

    Entry Three - 08/06/2554:
    My first real bit of 'action' today, if you could call it that. Crazy Ivan got in a fight with Kuester today about his Booze-O-Mat. Apparently one of the crewmembers had stolen a couple bottles of booze from the machine after Ivan disabled the ID lock. Tell you the truth, I don't blame the thief. Everyone is going a little stir-crazy in here, and the bartender is being damn stingy with the alcohol. Either way, once they started to pick a fight, I had to take them down. It's a damn shame that we don't have a brig, though. I had to lock Ivan in a fuckin' freezer, for god's sake. Let's hope that we can keep our sanity together, at least for a while.

    Entry Four - 10/06/2554:
    Jesus fucking Christ riding on a motorbike. These things the scientists are studying are terrifying! Fucking great huge purple bug things as tall as the ceiling, with blades for arms and drooling at the mouth. I don't think my taser will do jack shit against these damn things, but the eggheads say that they're safely contained. If they do, I have a feeling that it's only a matter of time before we're all screwed. These bastards look like walking death.

    Entry Five - 18/06/2554:
    Finally caught who stole the booze from Kuester. It was that fuckin' loser assistant Steve! He was in the dorms, chugging his worries away. I took one of the bottles back to the barkeep, but no one has to know about this second one. I think I'm gonna enjoy this while watching tomorrow's Thunderdome match.

    Entry Six - 19/06/2554:
    Oh, great. The chef is still sleeping, so we get Ivan's gruel for breakfast today. I overheard Sano and Douglas saying something about the aliens being restless, so we might get some action today. As long as it happens after the big game, I'm fine with it. I still got one beer to drink before I'm ready to die." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/log/ivan - name = "Personal Log - Ivan Volodin" - default_raw_text = "Ivan Volodin Stories:

    Entry Won - 28/05/2554:
    Hello. I am Crazy Ivan. Boss say I must write. I do good job fixing outpost. Is very good job. Much better than mines. Many nice people. I cause no trouble.

    Entry Too - 05/06/2554:
    I am finding problem with Booze-O-Mat. Is not problem. I solve very easy. Use yellow tool to make purple light go off. I am good engineer! Bartender will be very happy.

    Entry Tree - 08/06/2554:
    Bartender is not happy. Security man is not happy. Cannot feel legs, is very cold in freezer. Is not good. Table is jammed into door, have no tools. Is very not good. But, on bright side, found meat! Shall chew to keep spirits up.

    Entry Fore - 12/06/2554:
    Big nasty purple bug looked at me today. Make nervous. Blue wall wire can be broken, then bad thing happens. Very very bad thing. Man in orange spacesuit wave at me today too. He seem nice. Wonder who was?

    Entry Fiv - 15/06/2554:
    I eat cornflakes today. Is good day. Sun shine for a while. Was nice. I also take ride on disposals chute. Was fun, but tiny. Get clog out of pipes, was vodka bottle. Is empty. This make many sads.

    Entry Sex: 19/06/2554:
    Purple bugs jumpy today. When waved, get hiss. Maybe very bad. Maybe just ill. Do not know. Is science problem, is not engineer problem. I eat sandwich. Is glorious job. Wish to never end." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/log/gerald - name = "Personal Log - Gerald Rosswell" - default_raw_text = "Personal Log for Research Director Gerald Rosswell

    Entry One - 17/05/2554:
    You know, I can't believe I took this position so suddenly. I saw that corporate needed a research director for one of it's outposts and thought it would be a cakewalk, there isn't going to be a lot of research to be done on a tiny outpost. Mainly just running scans on the gas giant we are orbiting or some basic RnD. However, they conveniently forgot to tell me that me and my science staff would have to pull double duty as medical staff and that there is no one higher up on the chain of command here, so I get to pull triple duty as acting captain as well! This shit is probably allowed in some 3 point fine print buried underneath the literally thousands of pages of contracts. Well, at least the research will be easy work.

    Entry Two - 25/05/2554:
    Well, we all expected it at the outpost, CentCom has decided to completely change what research we are doing. They've decided that we should be research the species known as 'xenomporphs'. They announced this change 4 days ago and along with it, sadly, the termination of our current science staff barring me. Not to mention the constant noise made by the construction detail they sent to staple on an xenobiology lab ensuring no one has been able to sleep decently ever since they announced the shift. To make matters worse our current security guard actually died of a heart attack today. Just goes to show that 75 year old men shouldn't be security guards. Still can't believe that they decided to do this major change less than a month after the outpost was established.

    Entry Three - 27/05/2554:
    The new security guard arrived today. Apparently transferred here from the research station that also is orbiting the gas giant. He seems to be rather angry about his transfer. Considering the rumors I've heard about the research station he's probably caught off guard by the fact that Steve hasn't tried to force an IED down his throat.

    Entry Four - 06/06/2554:
    My requests for additional security and containment measures for the 'xenomorph' has been denied. Does Central Command not notice how dangerous these creatures are? The only thing keeping them in is a force field, a minor problem with the power grid and the entire hive is loose. What would stop them then, the lone security guard with a dinky little taser? Kenneth can barely handle a short-tempered engineer. We are under equipped and under staffed, we are inevitably going to be destroyed unless we get the equipment and staff we need.

    Entry Five - 10/06/2554:
    Cunningham got a good look at the xenomorph in containment. He was frightened for the rest of the day, rather amusing if it wasn't for the fact that we are all trapped on this scrap heap with naught but a force field keeping those xenomorphs in.

    Entry Six - 17/06/2554:
    The reactions from the specimens today has shown that they possess strange mental properties. Mark hypothesizes that they possibly have a sort of hive mind, while nothing is certain this would explain how xenomorphs seem to have vastly increased intellect when a 'queen' is present. Of course, to test this hypothesis would require many complicated procedures which we will not be able to undertake. But we do not know the full extend of the xenomorph mind, it may or may not be able to find a way to circumvent our containment system. I will resend my request for additional security measures along with this new found information." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/food_specials - name = "Specials This Week" - default_raw_text = "

    I Can't Believe It's Not Pasta: Half off on Wednesdays



    Burger night every Friday 6PM-10PM, free drinks with purchase of meal!



    Premiering Tonight: The comedy stylings of Shoe Snatching Willy! 11AM-7PM

    " - -/obj/item/paper/fluff/awaymissions/moonoutpost19/welcome - name = "Welcome Notice" - default_raw_text = "

    Welcome to Moon Outpost 19! Property of Nanotrasen Inc.




    Staff Roster:
    -Dr. Gerald Rosswell: Research Director & Acting Captain
    -Dr. Sakuma Sano: Xenobiologist
    -Dr. Mark Douglas: Xenobiologist
    -Kenneth Cunningham: Security Officer-Ivan Volodin: Engineer
    -Mathias Kuester: Bartender
    -Sven Edling: Chef
    -Steve: Assistant

    Please enjoy your stay, and report any abnormalities to an officer." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/goodbye_note - name = "Note" - default_raw_text = "Bugs break out. I run to here and lock door. I hear door next to me break open and screams. All nice people here dead now. I no want to be eaten, and bottle always said to be coward way out, but person who say that is stupid. Mira, there is no escape for me, tell Alexis and Elena that father will never come home, and that I love you all." - - diff --git a/code/modules/awaymissions/mission_code/murderdome.dm b/code/modules/awaymissions/mission_code/murderdome.dm index 914a1f2828c..10bb96c12ba 100644 --- a/code/modules/awaymissions/mission_code/murderdome.dm +++ b/code/modules/awaymissions/mission_code/murderdome.dm @@ -1,8 +1,3 @@ -/area/awaymission/vr/murderdome - name = "Murderdome" - icon_state = "awaycontent8" - pacifist = FALSE - /obj/structure/window/reinforced/fulltile/indestructable name = "robust window" flags_1 = PREVENT_CLICK_UNDER_1 | NODECONSTRUCT_1 diff --git a/code/modules/awaymissions/mission_code/research.dm b/code/modules/awaymissions/mission_code/research.dm deleted file mode 100644 index b3e4ff8b863..00000000000 --- a/code/modules/awaymissions/mission_code/research.dm +++ /dev/null @@ -1,69 +0,0 @@ -//Research Base Areas//-- - -/area/awaymission/research - name = "Research Outpost" - icon_state = "away" - dynamic_lighting = DYNAMIC_LIGHTING_ENABLED - -/area/awaymission/research/interior - name = "Research Inside" - requires_power = TRUE - icon_state = "away2" - -/area/awaymission/research/interior/cryo - name = "Research Cryostasis Room" - icon_state = "medbay" - -/area/awaymission/research/interior/clonestorage - name = "Research Clone Storage" - icon_state = "cloning" - -/area/awaymission/research/interior/genetics - name = "Research Genetics Research" - icon_state = "genetics" - -/area/awaymission/research/interior/engineering - name = "Research Engineering" - icon_state = "engine" - -/area/awaymission/research/interior/security - name = "Research Security" - icon_state = "security" - -/area/awaymission/research/interior/secure - name = "Research Secure Vault" - -/area/awaymission/research/interior/maint - name = "Research Maintenance" - icon_state = "maintcentral" - -/area/awaymission/research/interior/dorm - name = "Research Dorms" - icon_state = "Sleep" - -/area/awaymission/research/interior/escapepods - name = "Research Escape Wing" - icon_state = "exit" - -/area/awaymission/research/interior/gateway - name = "Research Gateway" - icon_state = "start" - -/area/awaymission/research/interior/bathroom - name = "Research Bathrooms" - icon_state = "restrooms" - -/area/awaymission/research/interior/medbay - name = "Research Medbay" - icon_state = "medbay" - -/area/awaymission/research/exterior - name = "Research Exterior" - icon_state = "unknown" - - -//research papers - -/obj/item/paper/crumpled/awaymissions/research/sensitive_info - default_raw_text = "Theres a lot of sensitive info on these disks, try and keep them secure! If these backup copies get into the wrong hands, god knows what they could do with the genetic research on these disk.." - diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index f2dbb91f3f0..c205746b16f 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -1,140 +1,3 @@ -//Snow Valley Areas//-- - -/area/awaymission/snowdin - name = "Snowdin" - icon_state = "awaycontent1" - requires_power = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - -/area/awaymission/snowdin/outside - name = "Snowdin Tundra Plains" - icon_state = "awaycontent25" - -/area/awaymission/snowdin/post - name = "Snowdin Outpost" - icon_state = "awaycontent2" - requires_power = TRUE - dynamic_lighting = DYNAMIC_LIGHTING_ENABLED - -/area/awaymission/snowdin/post/medbay - name = "Snowdin Outpost - Medbay" - icon_state = "awaycontent3" - -/area/awaymission/snowdin/post/secpost - name = "Snowdin Outpost - Security Checkpoint" - icon_state = "awaycontent4" - -/area/awaymission/snowdin/post/hydro - name = "Snowdin Outpost - Hydroponics" - icon_state = "awaycontent5" - -/area/awaymission/snowdin/post/messhall - name = "Snowdin Outpost - Mess Hall" - icon_state = "awaycontent6" - -/area/awaymission/snowdin/post/gateway - name = "Snowdin Outpost - Gateway" - icon_state = "awaycontent7" - -/area/awaymission/snowdin/post/dorm - name = "Snowdin Outpost - Dorms" - icon_state = "awaycontent8" - -/area/awaymission/snowdin/post/kitchen - name = "Snowdin Outpost - Kitchen" - icon_state = "awaycontent9" - -/area/awaymission/snowdin/post/engineering - name = "Snowdin Outpost - Engineering" - icon_state = "awaycontent10" - -/area/awaymission/snowdin/post/custodials - name = "Snowdin Outpost - Custodials" - icon_state = "awaycontent11" - -/area/awaymission/snowdin/post/research - name = "Snowdin Outpost - Research Area" - icon_state = "awaycontent12" - -/area/awaymission/snowdin/post/garage - name = "Snowdin Outpost - Garage" - icon_state = "awaycontent13" - -/area/awaymission/snowdin/post/minipost - name = "Snowdin Outpost - Recon Post" - icon_state = "awaycontent19" - -/area/awaymission/snowdin/post/mining_main - name = "Snowdin Outpost - Mining Post" - icon_state = "awaycontent21" - -/area/awaymission/snowdin/post/mining_main/mechbay - name = "Snowdin Outpost - Mining Post Mechbay" - icon_state = "awaycontent25" - -/area/awaymission/snowdin/post/mining_main/robotics - name = "Snowdin Outpost - Mining Post Robotics" - icon_state = "awaycontent26" - -/area/awaymission/snowdin/post/cavern1 - name = "Snowdin Outpost - Cavern Outpost 1" - icon_state = "awaycontent27" - -/area/awaymission/snowdin/post/cavern2 - name = "Snowdin Outpost - Cavern Outpost 2" - icon_state = "awaycontent28" - -/area/awaymission/snowdin/post/mining_dock - name = "Snowdin Outpost - Underground Mine Post" - icon_state = "awaycontent22" - -/area/awaymission/snowdin/post/broken_shuttle - name = "Snowdin Outpost - Broken Transit Shuttle" - icon_state = "awaycontent20" - requires_power = FALSE - -/area/awaymission/snowdin/igloo - name = "Snowdin Igloos" - icon_state = "awaycontent14" - dynamic_lighting = DYNAMIC_LIGHTING_FORCED - -/area/awaymission/snowdin/cave - name = "Snowdin Caves" - icon_state = "awaycontent15" - dynamic_lighting = DYNAMIC_LIGHTING_FORCED - -/area/awaymission/snowdin/cave/cavern - name = "Snowdin Depths" - icon_state = "awaycontent23" - -/area/awaymission/snowdin/cave/mountain - name = "Snowdin Mountains" - icon_state = "awaycontent24" - - -/area/awaymission/snowdin/base - name = "Snowdin Main Base" - icon_state = "awaycontent16" - dynamic_lighting = DYNAMIC_LIGHTING_ENABLED - requires_power = TRUE - -/area/awaymission/snowdin/dungeon1 - name = "Snowdin Depths" - icon_state = "awaycontent17" - dynamic_lighting = DYNAMIC_LIGHTING_ENABLED - -/area/awaymission/snowdin/sekret - name = "Snowdin Operations" - icon_state = "awaycontent18" - dynamic_lighting = DYNAMIC_LIGHTING_ENABLED - requires_power = TRUE - -/area/shuttle/snowdin/elevator1 - name = "Excavation Elevator" - -/area/shuttle/snowdin/elevator2 - name = "Mining Elevator" - //liquid plasma!!!!!!// /turf/open/floor/plasteel/dark/snowdin @@ -203,7 +66,7 @@ L.adjustFireLoss(2) if(L) L.adjust_fire_stacks(20) //dipping into a stream of plasma would probably make you more flammable than usual - L.adjust_bodytemperature(-rand(50,65)) //its cold, man + L.adjust_bodytemperature(-rand(10,20)) //its cold, man if(ishuman(L))//are they a carbon? var/list/plasma_parts = list()//a list of the organic parts to be turned into plasma limbs var/list/robo_parts = list()//keep a reference of robotic parts so we know if we can turn them into a plasmaman @@ -224,14 +87,19 @@ PP.adjustFireLoss(25) if(plasma_parts.len) var/obj/item/bodypart/NB = pick(plasma_parts) //using the above-mentioned list to get a choice of limbs for dismember() to use - PP.emote("scream") NB.limb_id = "plasmaman" //change the species_id of the limb to that of a plasmaman NB.static_icon = 'icons/mob/species/plasmaman/bodyparts.dmi' NB.no_update = TRUE NB.change_bodypart_status() - PP.visible_message( - "[L] screams in pain as [L.p_their()] [NB] melts down to the bone!", - "You scream out in pain as your [NB] melts down to the bone, leaving an eerie plasma-like glow where flesh used to be!") + PP.force_scream() + if(!HAS_TRAIT(PP, TRAIT_ANALGESIA)) + PP.visible_message( + "[L] screams in pain as [L.p_their()] [NB] melts down to the bone!", + "You scream out in pain as your [NB] melts down to the bone, leaving an eerie plasma-like glow where flesh used to be!") + else + PP.visible_message( + "[L] lets out panicked gasps as [L.p_their()] [NB] melts down to the bone!", + "You gasp in shock as your [NB] melts down to the bone, leaving an eerie plasma-like glow where flesh used to be!") if(!plasma_parts.len && !robo_parts.len) //a person with no potential organic limbs left AND no robotic limbs, time to turn them into a plasmaman PP.IgniteMob() PP.set_species(/datum/species/plasmaman) @@ -266,61 +134,6 @@ keeping the rest of us on lockdown and I swear to god I keep hearing strange noises outside the walls at night. The gateway link has gone dead and without a supply of resources from Central, we're left for dead here. We haven't heard anything back from the mining squad either, so I can only assume whatever the fuck they unearthed got them first before coming for us. I don't want to die here..."} -/obj/item/paper/fluff/awaymissions/snowdin/saw_usage - name = "SAW Usage" - default_raw_text = "YOU SEEN IVAN, WHEN YOU HOLD SAAW LIKE PEESTOL, YOU STRONGER THAN RECOIL FOR FEAR OF HITTING FACE!" - -/obj/item/paper/fluff/awaymissions/snowdin/research_feed - name = "Research Feed" - default_raw_text = {"A page full of graphs and other detailed information on the seismic activity of the surrounding area."} - -//profile of each of the old crewmembers for the outpost - -/obj/item/paper/fluff/awaymissions/snowdin/profile/overseer - name = "Personnel Record AOP#01" - default_raw_text = {"
    Personnel Log


    Name:Caleb Reed
    Age:38
    Gender:Male
    On-Site Profession:Outpost Overseer

    Information

    Caleb Reed lead several expeditions - among uncharted planets in search of plasma for Nanotrasen, scouring from hot savanas to freezing arctics. Track record is fairly clean with only incidient including the loss of two researchers during the - expedition of _______, where mis-used of explosive ordinance for tunneling causes a cave-in."} - -/obj/item/paper/fluff/awaymissions/snowdin/profile/sec1 - name = "Personnel Record AOP#02" - default_raw_text = {"
    Personnel Log


    Name:James Reed
    Age:43
    Gender:Male
    On-Site Profession:Outpost Security

    Information

    James Reed has been a part - of Nanotrasen's security force for over 20 years, first joining in 22XX. A clean record and unwavering loyalty to the corperation through numerous deployments to various sites makes him a valuable asset to Natotrasen - when it comes to keeping the peace while prioritizing Nanotrasen privacy matters. "} - -/obj/item/paper/fluff/awaymissions/snowdin/profile/hydro1 - name = "Personnel Record AOP#03" - default_raw_text = {"
    Personnel Log


    Name:Katherine Esterdeen
    Age:27
    Gender:Female
    On-Site Profession:Outpost Botanist

    Information

    Katherine Esterdeen is a recent - graduate with a major in Botany and a PH.D in Ecology. Having a clean record and eager to work, Esterdeen seems to be the right fit for maintaining plants in the middle of nowhere."} - -/obj/item/paper/fluff/awaymissions/snowdin/profile/engi1 - name = "Personnel Record AOP#04" - default_raw_text = {"
    Personnel Log


    Name:Rachel Migro
    Age:35
    Gender:Female
    On-Site Profession:Outpost Engineer

    Information

    Recently certified to be a full-time Journeyman, Rachel has - been assigned various construction projects in the past 5 years. Competent and has no past infractions, should be of little concern."} - -/obj/item/paper/fluff/awaymissions/snowdin/profile/research1 - name = "Personnel Record AOP#05" - default_raw_text = {"
    Personnel Log


    Name:Jacob Ullman
    Age:27
    Gender:Male
    On-Site Profession:Outpost Researcher

    Information

    "} - -/obj/item/paper/fluff/awaymissions/snowdin/profile/research2 - name = "Personnel Record AOP#06" - default_raw_text = {"
    Personnel Log


    Name:Elizabeth Queef
    Age:28
    Gender:Female
    On-Site Profession:Outpost Researcher

    Information

    "} - -/obj/item/paper/fluff/awaymissions/snowdin/profile/research3 - name = "Personnel Record AOP#07" - default_raw_text = {"
    Personnel Log


    Name:Jouslen McGee
    Age:38
    Gender:Male
    On-Site Profession:Outpost Researcher

    Information

    "} - -/obj/item/paper/fluff/awaymissions/snowdin/secnotice - name = "Security Notice" - default_raw_text = {"YOu have been assigned to this Arctic Post with intention of protecting Nanotrasen assets and ensuring vital information is kept secure while the stationed crew obeys protocol. The picked - staff for this post have been pre-screened with no prior incidients on record, but incase of an issue you have been given a single holding cell and instructions to contact Central to terminate the - offending crewmember."} - -/obj/item/paper/fluff/awaymissions/snowdin/mining - name = "Assignment Notice" - default_raw_text = {"This cold-ass planet is the new-age equivalent of striking gold. Huge deposits of plasma and literal streams of plasma run through the caverns under all this ice and we're here to mine it all.\ - Nanotrasen pays by the pound, so get minin' boys!"} - /obj/item/paper/crumpled/ruins/snowdin/lootstructures name = "scribbled note" default_raw_text = {"There's some ruins scattered along the cavern, their walls seem to be made of some sort of super-condensed mixture of ice and snow. We've already barricaded up the ones we've found so far, @@ -454,85 +267,6 @@ SAY AAAAAAAAAAAAAAAA FUCK THAT DELAY 15;"} -//lootspawners//-- - -/obj/effect/spawner/lootdrop/snowdin - name = "why are you using this dummy" - lootdoubles = 0 - lootcount = 1 - loot = list(/obj/item/bikehorn = 100) - -/obj/effect/spawner/lootdrop/snowdin/dungeonlite - name = "dungeon lite" - loot = list(/obj/item/melee/classic_baton = 11, - /obj/item/melee/classic_baton/telescopic = 12, - /obj/item/book/granter/spell/smoke = 10, - /obj/item/book/granter/spell/blind = 10, - /obj/item/storage/firstaid/regular = 45, - /obj/item/storage/firstaid/toxin = 35, - /obj/item/storage/firstaid/brute = 27, - /obj/item/storage/firstaid/fire = 27, - /obj/item/storage/toolbox/syndicate = 12, - /obj/item/grenade/c4 = 7, - /obj/item/grenade/clusterbuster/smoke = 15, - /obj/item/clothing/under/chameleon = 13, - /obj/item/clothing/shoes/chameleon/noslip = 10, - /obj/item/borg/upgrade/ddrill = 3, - /obj/item/borg/upgrade/soh = 3) - -/obj/effect/spawner/lootdrop/snowdin/dungeonmid - name = "dungeon mid" - loot = list(/obj/item/defibrillator/compact = 6, - /obj/item/storage/firstaid/tactical = 35, - /obj/item/shield/energy = 6, - /obj/item/shield/riot/tele = 12, - /obj/item/dnainjector/lasereyesmut = 7, - /obj/item/pneumatic_cannon = 15, - /obj/item/melee/transforming/energy/sword = 7, - /obj/item/book/granter/spell/knock = 15, - /obj/item/book/granter/spell/summonitem = 20, - /obj/item/book/granter/spell/forcewall = 17, - /obj/item/storage/backpack/holding = 12, - /obj/item/grenade/spawnergrenade/manhacks = 6, - /obj/item/grenade/spawnergrenade/spesscarp = 7, - /obj/item/grenade/clusterbuster/inferno = 3, - /obj/item/stack/sheet/mineral/diamond{amount = 15} = 10, - /obj/item/stack/sheet/mineral/uranium{amount = 15} = 10, - /obj/item/stack/sheet/mineral/plasma{amount = 15} = 10, - /obj/item/stack/sheet/mineral/gold{amount = 15} = 10, - /obj/item/book/granter/spell/barnyard = 4, - /obj/item/pickaxe/drill/diamonddrill = 6, - /obj/item/borg/upgrade/disablercooler = 7) - - -/obj/effect/spawner/lootdrop/snowdin/dungeonheavy - name = "dungeon heavy" - loot = list(/obj/item/singularityhammer = 25, - /obj/item/mjollnir = 10, - /obj/item/fireaxe = 25, - /obj/item/organ/brain/alien = 17, - /obj/item/dualsaber = 15, - /obj/item/organ/heart/demon = 7, - /obj/item/gun/ballistic/automatic/smg/c20r = 16, - /obj/item/uplink/old = 2, - /obj/item/book/granter/spell/charge = 12, - /obj/item/grenade/clusterbuster/spawner_manhacks = 15, - /obj/item/book/granter/spell/fireball = 10, - /obj/item/pickaxe/drill/jackhammer = 30, - /obj/item/borg/upgrade/syndicate = 13, - /obj/item/borg/upgrade/selfrepair = 17) - -/obj/effect/spawner/lootdrop/snowdin/dungeonmisc - name = "dungeon misc" - lootdoubles = 2 - lootcount = 1 - - loot = list(/obj/item/stack/sheet/mineral/snow{amount = 25} = 10, - /obj/item/toy/snowball = 15, - /obj/item/shovel = 10, - /obj/item/spear = 8, - ) - //special items//-- /obj/structure/barricade/wooden/snowed @@ -579,7 +313,7 @@ uniform = /obj/item/clothing/under/syndicate/coldres shoes = /obj/item/clothing/shoes/combat/coldres ears = /obj/item/radio/headset/syndicate/alt - r_pocket = /obj/item/gun/ballistic/automatic/pistol/syndicate + r_pocket = /obj/item/gun/ballistic/automatic/pistol/ringneck id = /obj/item/card/id/syndicate implants = list(/obj/item/implant/exile) diff --git a/code/modules/awaymissions/mission_code/spacebattle.dm b/code/modules/awaymissions/mission_code/spacebattle.dm index efe429b86b7..9a63a6fdbfa 100644 --- a/code/modules/awaymissions/mission_code/spacebattle.dm +++ b/code/modules/awaymissions/mission_code/spacebattle.dm @@ -1,49 +1,6 @@ -//Spacebattle Areas - -/area/awaymission/spacebattle - name = "Space Battle" - icon_state = "awaycontent1" - requires_power = FALSE - -/area/awaymission/spacebattle/cruiser - name = "\improper Nanotrasen Cruiser" - icon_state = "awaycontent2" - -/area/awaymission/spacebattle/syndicate1 - name = "Syndicate Assault Ship 1" - icon_state = "awaycontent3" - -/area/awaymission/spacebattle/syndicate2 - name = "Syndicate Assault Ship 2" - icon_state = "awaycontent4" - -/area/awaymission/spacebattle/syndicate3 - name = "Syndicate Assault Ship 3" - icon_state = "awaycontent5" - -/area/awaymission/spacebattle/syndicate4 - name = "Syndicate War Sphere 1" - icon_state = "awaycontent6" - -/area/awaymission/spacebattle/syndicate5 - name = "Syndicate War Sphere 2" - icon_state = "awaycontent7" - -/area/awaymission/spacebattle/syndicate6 - name = "Syndicate War Sphere 3" - icon_state = "awaycontent8" - -/area/awaymission/spacebattle/syndicate7 - name = "Syndicate Fighter" - icon_state = "awaycontent9" - -/area/awaymission/spacebattle/secret - name = "Hidden Chamber" - icon_state = "awaycontent10" - /mob/living/simple_animal/hostile/human/syndicate/ranged/spacebattle loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier, - /obj/item/gun/ballistic/automatic/smg/c20r, + /obj/item/gun/ballistic/automatic/smg/cobra, /obj/item/shield/energy) /mob/living/simple_animal/hostile/human/syndicate/melee/spacebattle diff --git a/code/modules/awaymissions/mission_code/stationCollision.dm b/code/modules/awaymissions/mission_code/stationCollision.dm deleted file mode 100644 index 063966c86d6..00000000000 --- a/code/modules/awaymissions/mission_code/stationCollision.dm +++ /dev/null @@ -1,155 +0,0 @@ -/* Station-Collision(sc) away mission map specific stuff - * - * Notes: - * Feel free to use parts of this map, or even all of it for your own project. Just include me in the credits :) - * - * Some of this code unnecessary, but the intent is to add a little bit of everything to serve as examples - * for anyone who wants to make their own stuff. - * - * Contains: - * Landmarks - * Guns - * Safe code hints - * Captain's safe - * Modified Nar'Sie - */ - - - -/* - * Landmarks - Instead of spawning a new object type, I'll spawn the bible using a landmark! - */ -/obj/effect/landmark/sc_bible_spawner - name = "Safecode hint spawner" - -/obj/effect/landmark/sc_bible_spawner/Initialize() - ..() - var/obj/item/storage/book/bible/B = new /obj/item/storage/book/bible/booze(loc) - B.name = "The Holy book of the Geometer" - B.deity_name = "Narsie" - B.icon_state = "melted" - B.item_state = "melted" - B.lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi' - B.righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi' - new /obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_bible(B) - new /obj/item/pen(B) - return INITIALIZE_HINT_QDEL - -/* - * Guns - I'm making these specifically so that I dont spawn a pile of fully loaded weapons on the map. - */ -//Captain's retro laser - Fires practice laser shots instead. -/obj/item/gun/energy/laser/retro/sc_retro - name ="retro laser" - icon_state = "retro" - desc = "An older model of the basic lasergun, no longer used by Nanotrasen's security or military forces." -// projectile_type = "/obj/projectile/practice" - -//Syndicate sub-machine guns. -/obj/item/gun/ballistic/automatic/smg/c20r/sc_c20r - -/obj/item/gun/ballistic/automatic/smg/c20r/sc_c20r/Initialize() - . = ..() - for(var/ammo in magazine.stored_ammo) - if(prob(95)) //95% chance - magazine.stored_ammo -= ammo - -//Barman's shotgun -/obj/item/gun/ballistic/shotgun/sc_pump - -/obj/item/gun/ballistic/shotgun/sc_pump/Initialize() - . = ..() - for(var/ammo in magazine.stored_ammo) - if(prob(95)) //95% chance - magazine.stored_ammo -= ammo - -//Lasers -/obj/item/gun/energy/laser/practice/sc_laser - name = "Old laser" - desc = "A once potent weapon, years of dust have collected in the chamber and lens of this weapon, weakening the beam significantly." - -/* - * Safe code hints - */ - -//These vars hold the code itself, they'll be generated at round-start -GLOBAL_VAR_INIT(sc_safecode1, "[rand(0,9)]") -GLOBAL_VAR_INIT(sc_safecode2, "[rand(0,9)]") -GLOBAL_VAR_INIT(sc_safecode3, "[rand(0,9)]") -GLOBAL_VAR_INIT(sc_safecode4, "[rand(0,9)]") -GLOBAL_VAR_INIT(sc_safecode5, "[rand(0,9)]") - -//Pieces of paper actually containing the hints -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_prison - name = "smudged paper" - -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_prison/Initialize() - . = ..() - default_raw_text = "The ink is smudged, you can only make out a couple numbers: '[GLOB.sc_safecode1]**[GLOB.sc_safecode4]*'" - -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_hydro - name = "shredded paper" -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_hydro/Initialize() - . = ..() - default_raw_text = "Although the paper is shredded, you can clearly see the number: '[GLOB.sc_safecode2]'" - -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_caf - name = "blood-soaked paper" - //This does not have to be in New() because it is a constant. There are no variables in it i.e. [sc_safcode] - default_raw_text = "This paper is soaked in blood, it is impossible to read any text." - -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_bible - name = "hidden paper" -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_bible/Initialize() - . = ..() - default_raw_text = {"It would appear that the pen hidden with the paper had leaked ink over the paper. - However you can make out the last three digits:'[GLOB.sc_safecode3][GLOB.sc_safecode4][GLOB.sc_safecode5]' - "} - -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_shuttle - default_raw_text = {"Target: Research-station Epsilon
    - Objective: Prototype weaponry. The captain likely keeps them locked in her safe.
    -
    - Our on-board spy has learned the code and has hidden away a few copies of the code around the station. Unfortunatly he has been captured by security - Your objective is to split up, locate any of the papers containing the captain's safe code, open the safe and - secure anything found inside. If possible, recover the imprisioned syndicate operative and receive the code from him.
    -
    - As always, eliminate anyone who gets in the way.
    -
    - Your assigned ship is designed specifically for penetrating the hull of another station or ship with minimal damage to operatives. - It is completely fly-by-wire meaning you have just have to enjoy the ride and when the red light comes on... find something to hold onto! - "} -/* - * Captain's safe - */ -/obj/item/storage/secure/safe/sc_ssafe - name = "Captain's secure safe" - -/obj/item/storage/secure/safe/sc_ssafe/Initialize() - . = ..() - l_code = "[GLOB.sc_safecode1][GLOB.sc_safecode2][GLOB.sc_safecode3][GLOB.sc_safecode4][GLOB.sc_safecode5]" - l_set = 1 - new /obj/item/gun/energy/mindflayer(src) - new /obj/item/soulstone(src) - new /obj/item/clothing/suit/space/hardsuit/cult(src) - //new /obj/item/teleportation_scroll(src) - new /obj/item/stack/ore/diamond(src) - -/* - * Modified Nar'Sie - */ -/obj/singularity/narsie/mini - desc = "Your body becomes weak and your feel your mind slipping away as you try to comprehend what you know can't be possible." - move_self = 0 //Contianed narsie does not move! - grav_pull = 0 //Contained narsie does not pull stuff in! -//Override this to prevent no adminlog runtimes and admin warnings about a singularity without containment -/obj/singularity/narsie/mini/admin_investigate_setup() - return - -/obj/singularity/narsie/mini/process() - eat() - if(prob(25)) - mezzer() - -/obj/singularity/narsie/mini/ex_act() - return diff --git a/code/modules/awaymissions/mission_code/undergroundoutpost45.dm b/code/modules/awaymissions/mission_code/undergroundoutpost45.dm deleted file mode 100644 index 41530320243..00000000000 --- a/code/modules/awaymissions/mission_code/undergroundoutpost45.dm +++ /dev/null @@ -1,39 +0,0 @@ -// undergroundoutpost45 - -//Areas -/area/awaymission/undergroundoutpost45 - name = "space" - icon_state = "awaycontent1" - -/area/awaymission/undergroundoutpost45/central - name = "UO45 Central Hall" - icon_state = "awaycontent2" - -/area/awaymission/undergroundoutpost45/crew_quarters - name = "UO45 Crew Quarters" - icon_state = "awaycontent3" - -/area/awaymission/undergroundoutpost45/engineering - name = "UO45 Engineering" - icon_state = "awaycontent4" - -/area/awaymission/undergroundoutpost45/mining - name = "UO45 Mining" - icon_state = "awaycontent5" - -/area/awaymission/undergroundoutpost45/research - name = "UO45 Research" - icon_state = "awaycontent6" - -/area/awaymission/undergroundoutpost45/gateway - name = "UO45 Gateway" - icon_state = "awaycontent7" - -/area/awaymission/undergroundoutpost45/caves - name = "UO45 Caves" - icon_state = "awaycontent8" - always_unpowered = TRUE - power_environ = FALSE - power_equip = FALSE - power_light = FALSE - poweralm = FALSE diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm deleted file mode 100644 index 26c6b4823dc..00000000000 --- a/code/modules/awaymissions/mission_code/wildwest.dm +++ /dev/null @@ -1,47 +0,0 @@ -/* Code for the Wild West map by Brotemis - * Contains: - * Wish Granter - * Meat Grinder - */ - -///////////////Meatgrinder////////////// - - -/obj/effect/meatgrinder - name = "Meat Grinder" - desc = "What is that thing?" - density = TRUE - anchored = TRUE - icon = 'icons/mob/blob.dmi' - icon_state = "blobpod" - var/triggered = 0 - -/obj/effect/meatgrinder/Initialize() - . = ..() - var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = PROC_REF(on_entered), - ) - AddElement(/datum/element/connect_loc, loc_connections) - -/obj/effect/meatgrinder/proc/on_entered(datum/source, atom/movable/AM) - SIGNAL_HANDLER - Bumped(AM) - -/obj/effect/meatgrinder/Bumped(atom/movable/AM) - - if(triggered) - return - if(!ishuman(AM)) - return - - var/mob/living/carbon/human/M = AM - - if(M.stat != DEAD && M.ckey) - visible_message("[M] triggered [src]!") - triggered = 1 - - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(3, 1, src) - s.start() - explosion(M, 1, 0, 0, 0) - qdel(src) diff --git a/code/modules/awaymissions/zlevel.dm b/code/modules/awaymissions/zlevel.dm index dae36500093..0a127891b1b 100644 --- a/code/modules/awaymissions/zlevel.dm +++ b/code/modules/awaymissions/zlevel.dm @@ -23,8 +23,6 @@ GLOBAL_LIST_INIT(potentialRandomZlevels, generateMapList(filename = "[global.con if(!current) current = new current.id = id - if(delay) - current.wait = CONFIG_GET(number/gateway_delay) GLOB.gateway_destinations += current current.target_turfs += get_turf(src) diff --git a/code/modules/buildmode/submodes/lightmaker.dm b/code/modules/buildmode/submodes/lightmaker.dm new file mode 100644 index 00000000000..2b50343c641 --- /dev/null +++ b/code/modules/buildmode/submodes/lightmaker.dm @@ -0,0 +1,31 @@ +/datum/buildmode_mode/lightmaker + key = "lightmaker" + + var/light_range = 3 + var/light_power = 1 + var/light_color = COLOR_WHITE + +/datum/buildmode_mode/lightmaker/show_help(client/target_client) + to_chat(target_client, span_purple(examine_block( + "[span_bold("Left Click")] -> Create light\n\ + [span_bold("Right Click")] -> Delete light\n\ + [span_bold("Right Click on Build Mode Button")] -> Change light properties")) + ) + +/datum/buildmode_mode/lightmaker/change_settings(client/target_client) + var/choice = alert("Change the new light range, power or color?", "Light Maker", "Range", "Power", "Color", "Cancel") + switch(choice) + if("Range") + light_range = input(target_client, "Range of light", text("Input")) as num|null + if("Power") + light_power = input(target_client, "Power of light", text("Input")) as num|null + if("Color") + light_color = input(target_client, "Light color", text("Input")) as color|null + +/datum/buildmode_mode/lightmaker/handle_click(client/target_client, params, obj/object) + var/list/modifiers = params2list(params) + + if(LAZYACCESS(modifiers, LEFT_CLICK)) + object.set_light(light_range, light_power, light_color) + if(LAZYACCESS(modifiers, RIGHT_CLICK)) + object.set_light(0,0,COLOR_WHITE) diff --git a/code/modules/cargo/blackmarket/blackmarket_item.dm b/code/modules/cargo/blackmarket/blackmarket_item.dm index cbadddcf122..00ed7e3bee3 100644 --- a/code/modules/cargo/blackmarket/blackmarket_item.dm +++ b/code/modules/cargo/blackmarket/blackmarket_item.dm @@ -24,23 +24,56 @@ var/stock_min = 1 /// Maximum amount that there should be of this item in the market if generated randomly. var/stock_max = 0 + /// Whether the item is visible and purchasable on the market + var/available = TRUE /// Probability for this item to be available. Used by SSblackmarket on init. var/availability_prob = 0 + /// If this item should be more or less likely to spawn than usual. Positive is more likely, negative is less + var/weight = 0 + /// If this item is affected by avalibility weight. For items that shouldnt appear on their own (paired items), should always appear, or items paticularly rare or powerful that we dont want showing up too often + var/spawn_weighting // Should there be an unlimited stock of an item var/unlimited = FALSE /// Should another item spawn alongside this one in the catalogue? - var/datum/blackmarket_item/pair_item + var/list/pair_item = null + /datum/blackmarket_item/New() if(isnull(price)) - price = rand(price_min, price_max) + randomize_price() if(isnull(stock)) - stock = rand(stock_min, stock_max) + randomize_stock() + if(isnull(spawn_weighting)) + if(availability_prob == 0 || availability_prob == 100) + spawn_weighting = FALSE + else + spawn_weighting = TRUE /// Used for spawning the wanted item, override if you need to do something special with the item. /datum/blackmarket_item/proc/spawn_item(loc) return new item(loc) +/datum/blackmarket_item/proc/randomize_price() + price = rand(price_min, price_max) + +/datum/blackmarket_item/proc/randomize_stock() + stock = rand(stock_min, stock_max) + +/datum/blackmarket_item/proc/cycle(price = TRUE, availibility = TRUE, stock = FALSE, force_appear = FALSE) + if(price) + randomize_price() + if(stock) + randomize_stock() + if(availibility) + if(spawn_weighting ? prob(max(0, (availability_prob + (weight * 10)))) : prob(availability_prob)) + available = TRUE + weight-- + else + available = FALSE + weight++ + if(force_appear) + available = TRUE + /// Buys the item and makes SSblackmarket handle it. /datum/blackmarket_item/proc/buy(obj/item/blackmarket_uplink/uplink, mob/buyer, shipping_method) // Sanity diff --git a/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm b/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm new file mode 100644 index 00000000000..24a39c848ff --- /dev/null +++ b/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm @@ -0,0 +1,335 @@ +/datum/blackmarket_item/ammo + category = "Ammunition" + +/datum/blackmarket_item/ammo/shotgun_dart + name = "Shotgun Dart" + desc = "These handy darts can be filled up with any chemical and be shot with a shotgun! \ + Prank your friends by shooting them with laughter! \ + Not recommended for comercial use." + item = /obj/item/ammo_casing/shotgun/dart + + price_min = 10 + price_max = 50 + stock_min = 10 + stock_max = 60 + availability_prob = 40 + +/datum/blackmarket_item/ammo/himehabu_mag + name = "Himehabu Magazines" + desc = "Compact 10 round .22 LR magazines for use in the Himehabu pistol." + item = /obj/item/ammo_box/magazine/m22lr_himehabu + + price_min = 100 + price_max = 200 + stock_min = 6 + stock_max = 10 + availability_prob = 0 + +/datum/blackmarket_item/ammo/a357_box + name = ".357 Ammo Box" + desc = "A 50 round ammo box of .357." + item = /obj/item/storage/box/ammo/a357 + + price_min = 150 + price_max = 500 + stock_min = 3 + stock_max = 6 + availability_prob = 0 + +/datum/blackmarket_item/ammo/e40_mag + name = "Eoehoma .299 Caseless Magazine" + desc = "A 30 round magazine for the E-40 Hybrid Rifle." + item = /obj/item/ammo_box/magazine/e40 + + price_min = 750 + price_max = 1250 + stock = 6 + availability_prob = 0 + +/datum/blackmarket_item/ammo/cm23_mag + name = "CM-23 Magazines" + desc = "10 round 10mm magazines for use in the CM-23 pistol." + item = /obj/item/ammo_box/magazine/cm23 + + price_min = 150 + price_max = 300 + stock_min = 6 + stock_max = 10 + availability_prob = 0 + +/datum/blackmarket_item/ammo/cm70_mag + name = "CM-70 Magazines" + desc = "18 round 9mm magazines for use in the CM-70 pistol." + item = /obj/item/ammo_box/magazine/m9mm_cm70 + + price_min = 200 + price_max = 300 + stock_min = 4 + stock_max = 8 + availability_prob = 0 + +/datum/blackmarket_item/ammo/cm5_mag + name = "CM-5 Magazines" + desc = "30 round 9mm magazines for use in the CM-5 SMG." + item = /obj/item/ammo_box/magazine/cm5_9mm + + price_min = 300 + price_max = 600 + stock_min = 2 + stock_max = 6 + availability_prob = 0 + +/datum/blackmarket_item/ammo/saber_mag + name = "Saber 9mm SMG Magazines" + desc = "Magazines for use in the Saber 9mm SMG. No, they don't work as swords." + item = /obj/item/ammo_box/magazine/smgm9mm + + price_min = 500 + price_max = 1000 + stock_min = 4 + stock_max = 6 + availability_prob = 0 + +/datum/blackmarket_item/ammo/model_h_mag + name = "Model H Magazine" + desc = "A 10 round magazine for Model H slug pistol." + item = /obj/item/ammo_box/magazine/modelh + + price_min = 500 + price_max = 1000 + stock_max = 4 + availability_prob = 0 + +/datum/blackmarket_item/ammo/sgg_stripper + name = "8x58mm Stripper Clip" + desc = "A five round 8x58mm stripper clip for use with the SGG-669C. Also doubles as a paperweight, because of course it does. Fucking Solarians." + item = /obj/item/ammo_box/a858 + + price_min = 500 + price_max = 1000 + stock_min = 6 + stock_max = 8 + availability_prob = 0 + +/datum/blackmarket_item/ammo/pistole_c_mag + name = "5.56 Caseless Magazine" + desc = "A 12 round magazine for the Pistole Cheese." + item = /obj/item/ammo_box/magazine/pistol556mm + + price_min = 250 + price_max = 750 + stock = 2 + availability_prob = 0 + +/datum/blackmarket_item/ammo/proto_gauss_mag + name = "Prototype Gauss Rifle Magazine" + desc = "A 25 round ferromagnetic pellet magazine for the prototype gauss rifle. Choking hazard, keep pellets away from children under the age of 5." + item = /obj/item/ammo_box/magazine/gauss + + price_min = 500 + price_max = 800 + stock_min = 3 + stock_max = 5 + availability_prob = 0 + +/datum/blackmarket_item/ammo/polymer_clip + name = "7.62 Stripper Clip" + desc = "A 5 round stripper clip of 7.62x40mm CLIP." + item = /obj/item/ammo_box/a762_stripper + + price_min = 500 + price_max = 750 + stock_min = 4 + stock_max = 6 + availability_prob = 0 + +/datum/blackmarket_item/ammo/carbine_mag + name = "SKM-24v Magazine" + desc = "A 30 round magazine of 4.6x30mm for the SKM-24v. A hermit classic." + item = /obj/item/ammo_box/magazine/skm_46_30 + + price_min = 500 + price_max = 1000 + stock_min = 3 + stock_max = 5 + availability_prob = 40 + +/datum/blackmarket_item/ammo/skm_extended + name = "Extended SKM Magazine" + desc = "An extended 40 round 7.62x40mm CLIP magazine for the SKM family of assault rifles. Extra curves mean extra ammo." + item = /obj/item/ammo_box/magazine/skm_762_40/extended + + price_min = 1000 + price_max = 3000 + stock_max = 4 + availability_prob = 40 + +/datum/blackmarket_item/ammo/skm_drum + name = "SKM Drum Magazine" + desc = "Do you have too much ammo on your hands? Do you have someone you really hate? \ + Do you want them to be absolutely suppressed for the next 15 seconds? \ + This 75 round 7.62x40mm CLIP drum magazine is perfect for you! (SKM not included.)" + item = /obj/item/ammo_box/magazine/skm_762_40/drum + + price_min = 1500 + price_max = 3500 + stock = 2 + availability_prob = 20 + +/datum/blackmarket_item/ammo/damaged_cell + name = "Discount Weapon Power Cells" + desc = "These cells got a little banged up during a raid by GOLD authorities, but they still should be safe to use. Probably." + item = /obj/item/stock_parts/cell/gun + + price_min = 100 + price_max = 400 + stock_min = 5 + stock_max = 10 + availability_prob = 80 + +/datum/blackmarket_item/ammo/damaged_cell/spawn_item(loc) + var/obj/item/stock_parts/cell/damaged_cell = ..() + damaged_cell.name = "dented weapon power cell" + damaged_cell.desc = "A rechargeable electrochemical power cell. This one doesn't appear to be in the greatest condition." + if(prob(35)) + damaged_cell.rigged = TRUE + damaged_cell.show_rigged = FALSE + + return new damaged_cell(loc) + +/datum/blackmarket_item/ammo/advanced_weapon_cell + name = "Upgraded Weapon Power Cells" + desc = "These upgraded weapon powercells come with twice the capacity of the standard cells, and quality checked to make sure they won't explode!" + item = /obj/item/stock_parts/cell/gun/upgraded + + price_min = 1000 + price_max = 1750 + stock_min = 2 + stock_max = 4 + availability_prob = 25 + +/datum/blackmarket_item/ammo/huge_weapon_cell + name = "Extra Large Weapon Power Cells" + desc = "We're way past double A now. These extra-large power cells (in both charge and size!) are purpose built for the most heavy duty energy weapons." + item = /obj/item/stock_parts/cell/gun/large + + price_min = 2500 + price_max = 4000 + stock = 2 + availability_prob = 20 + spawn_weighting = FALSE + +/datum/blackmarket_item/ammo/mecha_hades_ammo + name = "FNX-99 Incediary Ammo" + desc = "A box of 24 incendiary shells for the FNX-99 mounted carbine." + item = /obj/item/mecha_ammo/incendiary + + price_min = 250 + price_max = 350 + stock_min = 3 + stock_max = 5 + availability_prob = 0 + +/datum/blackmarket_item/ammo/mauler_mag + name = "Mauler Magazine" + desc = "A 12 round 9mm magazine for the Mauler Machine Pistol." + item = /obj/item/ammo_box/magazine/m9mm_mauler + price_min = 250 + price_max = 750 + stock_min = 3 + stock_max = 5 + availability_prob = 0 + +/datum/blackmarket_item/ammo/spitter_mag + name = "Spitter Magazine" + desc = "A 30 round 9mm magazine for the Spitter submachine gun." + item = /obj/item/ammo_box/magazine/spitter_9mm + + price_min = 250 + price_max = 750 + stock_min = 2 + stock_max = 5 + availability_prob = 0 + +/datum/blackmarket_item/ammo/pounder_mag + name = "Pounder Pan Magazine" + desc = "A 50 round pan magazine for the Pounder submachine gun. Heavy enough to double as an emergency melee weapon to beat off your enemies in a pinch." + item = /obj/item/ammo_box/magazine/c22lr_pounder_pan + + price_min = 400 + price_max = 750 + stock = 2 + availability_prob = 0 + +/datum/blackmarket_item/ammo/a4570hp + name = ".45-70 Hollow Point Ammo Box" + desc = "Put the hollow in hollow point by blowing a crater in some random sod with this devastating .45-70 cartridge." + item = /obj/item/storage/box/ammo/a4570_hp + + price_min = 600 + price_max = 1000 + stock_min = 3 + stock_max = 5 + availability_prob = 20 + +/datum/blackmarket_item/ammo/a4570explo + name = "Single .45-70 Explosive Round" + desc = "If you need to fuck someone, hard, we got just the thing. Only one round, though, hope you got good aim." + item = /obj/item/ammo_casing/a4570/explosive + + price_min = 400 + price_max = 800 //still an exorbitantly high price for one round that you might not even hit + stock_min = 2 + stock_max = 10 + availability_prob = 10 + +/datum/blackmarket_item/ammo/c38hotshot + name = ".38 Hearth Ammo Box" + desc = "We got our ship cook to marinade some .38 in some hearthflame we pocketed off some hunters. It'll cook your targets to a nice well done." + item = /obj/item/ammo_box/c38/hotshot + + price_min = 300 + price_max = 500 + stock_min = 3 + stock_max = 8 + availability_prob = 50 + +/datum/blackmarket_item/ammo/c38iceblox + name = ".38 Chilled Ammo Box" + desc = "One of our runners accidentally spilled some .38 into a fucking pristine wine of ice shipment. It'll freeze your targets faster than our runner froze solid outside for making a mess." + item = /obj/item/ammo_box/c38/iceblox + + price_min = 300 + price_max = 500 + stock_min = 3 + stock_max = 8 + availability_prob = 50 + +/datum/blackmarket_item/ammo/a8x50match + name = "8x50mm Match Box" + desc = "We found this dead guy with a recording of him going \"Watch this!\", and richoetting something before crumbling over. This is the ammo he had!" + item = /obj/item/storage/box/ammo/a8_50r/match + price_min = 500 + price_max = 1000 + stock_min = 1 + stock_max = 4 + availability_prob = 30 + +/datum/blackmarket_item/ammo/c22rub + name = ".22lr Rubbers" + desc = "A 100 round box of .22 rubbershot from some godsforsaken frontier world. We're pretty sure the use-case is making someone think that they just pissed off a beehive" + item = /obj/item/storage/box/ammo/c22lr/rubber + price_min = 400 + price_max = 800 + stock_min = 1 + stock_max = 4 + availability_prob = 40 + +/datum/blackmarket_item/ammo/a8x58trac + name = "8x58mm Tracker" + desc = "We hot glued a GPS onto the inside of this 8x58mm shell! For the low low price of. Whatever the price is. You can have it!" + item = /obj/item/ammo_casing/caseless/a858/trac + price_min = 50 + price_max = 500 + stock_min = 4 + stock_max = 8 diff --git a/code/modules/cargo/blackmarket/blackmarket_items/clothing.dm b/code/modules/cargo/blackmarket/blackmarket_items/clothing.dm index a4c4195beca..1beb0a0de7d 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/clothing.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/clothing.dm @@ -11,15 +11,26 @@ stock_max = 5 availability_prob = 80 -/datum/blackmarket_item/clothing/crown - name = "Crown" - desc = "A beautiful golden crown, rich with history and pedigree. Better worn than left to collect dust in a museum, right?" - item = /obj/item/clothing/head/crown/fancy +/datum/blackmarket_item/clothing/straitjacket + name = "Straitjacket" + desc = "These straitjackets might be a tight fit, but you can certain the poor sod wont be getting away anytime soon." + item = /obj/item/clothing/suit/straight_jacket - price_min = 1000 - price_max = 2000 - stock_max = 1 - availability_prob = 20 + price_min = 500 + price_max = 1000 + stock_max = 3 + availability_prob = 40 + +/datum/blackmarket_item/clothing/surplus_uniform + name = "Surplus Combat Uniforms" + desc = "A mass produced and non-descript surplus combat uniform. For when you need to look like another faceless thug in the crowd." + item = /obj/item/clothing/under/rank/security/officer/military + + price_min = 50 + price_max = 200 + stock_min = 5 + stock_max = 10 + availability_prob = 80 /datum/blackmarket_item/clothing/galaxy_blue name = "Blue Galaxy Suit" @@ -81,28 +92,48 @@ return B /datum/blackmarket_item/clothing/frontiersmen_armor_set - name = "X-11 Bulletproof Armor Set" - desc = "We got a good deal on some extra bulletproof armor from a Frontiersmen Quartermaster, and we're passing those savings onto you!" + name = "X-11 Armor Set" + desc = "We got a good deal on some extra armor from a Frontiersmen Quartermaster, and we're passing those savings onto you!" item = /obj/item/storage/box - price_min = 1000 - price_max = 1750 + price_min = 500 + price_max = 1250 stock_max = 3 availability_prob = 50 /datum/blackmarket_item/clothing/frontiersmen_armor_set/spawn_item(loc) var/obj/item/storage/box/B = ..() - B.name = "Bulletproof Armor Set Box" + B.name = "Armor Set Box" B.desc = "A beat up looking box with some armor inside." - new /obj/item/clothing/suit/armor/vest/bulletproof/frontier(B) + new /obj/item/clothing/suit/armor/vest/frontier(B) new /obj/item/clothing/head/helmet/bulletproof/x11/frontier(B) return B +/datum/blackmarket_item/clothing/frontiersmen_armor_fireproof + name = "Fireproof Armor Set" + desc = "Get it while it's hot! This fireproofed armor and uniform set is made with a pre-Night Of Fire miracle material that renders it almost impervious to flames. The Frontiersmen swear by the stuff. It's kept each of it's previous owners safe until they passed away from illness." + item = /obj/item/storage/box + + price_min = 1000 + price_max = 1750 + stock_max = 3 + availability_prob = 50 + +/datum/blackmarket_item/clothing/frontiersmen_armor_fireproof/spawn_item(loc) + var/obj/item/storage/box/B = ..() + B.name = "Fireproof Armor Set Box" + B.desc = "A singed box with some folded clothes and a helmet inside." + new /obj/item/clothing/suit/armor/frontier/fireproof(B) + new /obj/item/clothing/head/helmet/bulletproof/x11/frontier/fireproof(B) + new /obj/item/clothing/under/frontiersmen/fireproof(B) + new /obj/item/clothing/mask/gas/frontiersmen(B) + return B + /datum/blackmarket_item/clothing/gezena_armor name = "Raksha-Plating vest" desc = "Genuine armor vests used by the PGF Marine Corp. If a military guy in a cape comes by, play dumb." item = /obj/item/clothing/suit/armor/gezena/marine - pair_item = /datum/blackmarket_item/clothing/gezena_helmet + pair_item = list(/datum/blackmarket_item/clothing/gezena_helmet) price_min = 750 price_max = 1250 @@ -137,6 +168,54 @@ new /obj/item/clothing/head/helmet/space(B) return B +/datum/blackmarket_item/clothing/syndie_spacesuit_set + name = "\improper Syndicate Branded Spacesuit Box" + desc = "An armored syndicate softsuit, popular among the ACLF operatives who were too broke to get an actual hardsuit." + item = /obj/item/storage/box/syndie_kit + + price_min = 750 + price_max = 2500 + stock_max = 3 + availability_prob = 50 + +/datum/blackmarket_item/clothing/syndie_spacesuit_set/spawn_item(loc) + var/obj/item/storage/box/syndie_kit/B = ..() + B.name = "Spacesuit Box" + B.desc = "It has a Syndicate logo on it." + var/suit_color = pick(list("red","green","dark green","blue","orange","black","black-green","black-blue","black-orange","black-red")) + switch(suit_color) + if("red") + new /obj/item/clothing/head/helmet/space/syndicate(B) + new /obj/item/clothing/suit/space/syndicate(B) + if("green") + new /obj/item/clothing/head/helmet/space/syndicate/green(B) + new /obj/item/clothing/suit/space/syndicate/green(B) + if("dark-green") + new /obj/item/clothing/head/helmet/space/syndicate/green/dark(B) + new /obj/item/clothing/suit/space/syndicate/green/dark(B) + if("orange") + new /obj/item/clothing/head/helmet/space/syndicate/orange(B) + new /obj/item/clothing/suit/space/syndicate/orange(B) + if("blue") + new /obj/item/clothing/head/helmet/space/syndicate/blue(B) + new /obj/item/clothing/suit/space/syndicate/blue(B) + if("black") + new /obj/item/clothing/head/helmet/space/syndicate/black(B) + new /obj/item/clothing/suit/space/syndicate/black(B) + if("black-green") + new /obj/item/clothing/head/helmet/space/syndicate/black/green(B) + new /obj/item/clothing/suit/space/syndicate/black/green(B) + if("black-blue") + new /obj/item/clothing/head/helmet/space/syndicate/black/blue(B) + new /obj/item/clothing/suit/space/syndicate/black/blue(B) + if("black-orange") + new /obj/item/clothing/head/helmet/space/syndicate/black/orange(B) + new /obj/item/clothing/suit/space/syndicate/black/orange(B) + if("black-red") + new /obj/item/clothing/head/helmet/space/syndicate/black/red(B) + new /obj/item/clothing/suit/space/syndicate/black/red(B) + return B + /datum/blackmarket_item/clothing/chameleon_hat name = "Chameleon Hat" desc = "Pick any hat you want with this Handy device. Not Quality Tested." @@ -147,6 +226,17 @@ stock_max = 2 availability_prob = 70 +/datum/blackmarket_item/clothing/cham_kit + name = "Chameleon Kit" + desc = "Not sure what to wear? This adaptive set of clothing can change to suit whatever you desire! Quality tested." + item = /obj/item/storage/box/syndie_kit/chameleon + + price_min = 1000 + price_max = 2500 + stock_max = 2 + availability_prob = 10 + spawn_weighting = FALSE + /datum/blackmarket_item/clothing/combatmedic_suit name = "Combat Medic Hardsuit" desc = "A discarded combat medic hardsuit, found in the ruins of a carpet bombed xeno hive. Definitely used, but as sturdy as an anchor." @@ -164,7 +254,7 @@ price_min = 1500 price_max = 2500 - stock = 1 + stock_max = 3 availability_prob = 30 /datum/blackmarket_item/clothing/frontiersmen_hardsuit diff --git a/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm b/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm index e3a20e0e890..871b103af05 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm @@ -4,7 +4,7 @@ /datum/blackmarket_item/consumable/donk_pocket_box name = "Box of Donk Pockets" desc = "A well packaged box containing the favourite snack of every spacefarer." - item = /obj/effect/spawner/lootdrop/donkpockets + item = /obj/effect/spawner/random/food_or_drink/donkpockets stock_min = 2 stock_max = 5 @@ -17,10 +17,10 @@ desc = "A random cocktail of luxury drugs that are sure to put a smile on your face!" item = /obj/item/storage/pill_bottle - stock_min = 2 - stock_max = 3 - price_min = 200 - price_max = 500 + stock_min = 4 + stock_max = 6 + price_min = 50 + price_max = 300 availability_prob = 50 /datum/blackmarket_item/consumable/suspicious_pills/spawn_item(loc) @@ -42,6 +42,28 @@ price_max = 60 availability_prob = 50 +/datum/blackmarket_item/consumable/cannabis + name = "Cannabis Leaves" + desc = "Homegrown cannabis, fresh off the garden just for your pleasure!" + item = /obj/item/reagent_containers/food/snacks/grown/cannabis + + stock_min = 4 + stock_max = 6 + price_min = 50 + price_max = 300 + availability_prob = 50 + +/datum/blackmarket_item/consumable/syndie_cigs + name = "Syndicate Cigarettes" + desc = "Who said smoking was bad for you? These omnizine laced cigarettes will have you feeling like a million bucks!" + item = /obj/item/storage/fancy/cigarettes/cigpack_syndicate + + stock_min = 4 + stock_max = 6 + price_min = 50 + price_max = 300 + availability_prob = 50 + /datum/blackmarket_item/consumable/trickwine name = "Trickwine" desc = "The SRM keeps the recipes for their trickwines a closely guarded secret. The Hunters carrying those bottles? Less so." @@ -57,21 +79,19 @@ var/trickwine = pick(list(/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine, /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/icewine, /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/shockwine, - /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/hearthwine, - /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/forcewine, - /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/prismwine)) + /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/hearthwine,)) return new trickwine(loc) +/datum/blackmarket_item/consumable/stimpack + name = "Stimpack" + desc = "A quick inject medipen loaded with a cocktail of powerful stimulants. Side effects may include nasuea, heartburn, constipation, weight loss, increased blood pressure, kidney stones, liver damage, mood swings, mania, anemia, weight gain, total organ failure, runny nose and minor retinal irritation." + item = /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor -/datum/blackmarket_item/consumable/pumpup - name = "Maintenance Pump-Up" - desc = "Resist any Baton stun with this handy instant tetanus free injector!." - item = /obj/item/reagent_containers/hypospray/medipen/pumpup - - stock_max = 3 - price_min = 50 - price_max = 150 - availability_prob = 90 + stock_min = 4 + stock_max = 6 + price_min = 250 + price_max = 500 + availability_prob = 50 /datum/blackmarket_item/consumable/morphine name = "Morphine Bottle" @@ -80,6 +100,7 @@ price_min = 50 price_max = 150 + stock_min = 2 stock_max = 4 availability_prob = 50 @@ -88,9 +109,10 @@ desc = "Cyanide, a tried and true classic for all your poisoning needs." item = /obj/item/reagent_containers/glass/bottle/cyanide - price_min = 300 - price_max = 600 - stock_max = 3 + price_min = 200 + price_max = 400 + stock_min = 2 + stock_max = 4 availability_prob = 30 /datum/blackmarket_item/consumable/sodium_thiopental @@ -98,19 +120,21 @@ desc = "Sodium Thiopental, a potent and fast acting sedative for any occasion." item = /obj/item/reagent_containers/glass/bottle/sodium_thiopental - price_min = 300 + price_min = 250 price_max = 600 - stock_max = 3 + stock_min = 2 + stock_max = 4 availability_prob = 30 /datum/blackmarket_item/consumable/amanitin - name = "Amanitin bottle" + name = "Amanitin Bottle" desc = "A slow acting, but nearly undetectable poison. For the dignified assassin." item = /obj/item/reagent_containers/glass/bottle/amanitin price_min = 300 price_max = 600 - stock_max = 3 + stock_max = 2 + stock_max = 4 availability_prob = 30 /datum/blackmarket_item/consumable/gumballs @@ -124,15 +148,21 @@ stock_max = 20 availability_prob = 80 -/datum/blackmarket_item/consumable/xeno_meat - name = "Xenomorph steak" +/datum/blackmarket_item/consumable/xeno_corpse + name = "Xenomorph Corpse" desc = "The Frontier's most dangerous game, delivered right to your plate! May constitute a violation of your local BARD laws and regulations." - item = /obj/item/reagent_containers/food/snacks/meat/slab/xeno + item = /mob/living/simple_animal/hostile/alien - price_min = 300 - price_max = 500 - stock_max = 5 - availability_prob = 20 + price_min = 6000 + price_max = 10000 + stock = 1 + availability_prob = 10 + spawn_weighting = FALSE + +/datum/blackmarket_item/consumable/xeno_corpse/spawn_item(loc) + var/mob/living/simple_animal/hostile/alien = ..() + alien.stat = DEAD + return new alien(loc) /datum/blackmarket_item/consumable/berries name = "Berries" @@ -154,10 +184,10 @@ /datum/blackmarket_item/consumable/ration name = "Ration Pack" desc = "PGF military surplus rations. What's in them? Who knows. Surprise is the spice of life after all." - item = /obj/effect/spawner/lootdrop/ration + item = /obj/effect/spawner/random/food_or_drink/ration price_min = 150 - price_max = 400 + price_max = 300 availability_prob = 80 unlimited = TRUE @@ -177,10 +207,10 @@ desc = "A bundle of sutures for stitching up your latest bullet wound." item = /obj/item/stack/medical/suture - price_min = 200 - price_max = 450 - stock_min = 2 - stock_max = 5 + price_min = 25 + price_max = 150 + stock_min = 4 + stock_max = 6 availability_prob = 40 /datum/blackmarket_item/consumable/regen_mesh @@ -188,10 +218,10 @@ desc = "A smoothing pack of regenerative mesh for your burns." item = /obj/item/stack/medical/mesh - price_min = 200 - price_max = 450 - stock_min = 2 - stock_max = 5 + price_min = 25 + price_max = 150 + stock_min = 4 + stock_max = 6 availability_prob = 40 /datum/blackmarket_item/consumable/bruise_pack @@ -199,19 +229,53 @@ desc = "A bundle of old bruise packs, for you guessed it, bruises. Any rumors of these containing hazardous chemicals are just that. Rumors." item = /obj/item/stack/medical/bruise_pack - price_min = 300 - price_max = 500 - stock_min = 2 - stock_max = 5 + price_min = 50 + price_max = 175 + stock_min = 4 + stock_max = 6 availability_prob = 30 /datum/blackmarket_item/consumable/ointment - name = "Burn ointment" + name = "Burn Ointment" desc = "A tube of burn ointment. It's past the expiry date, but those are only suggestions." item = /obj/item/stack/medical/ointment - price_min = 300 - price_max = 500 - stock_min = 2 - stock_max = 5 + price_min = 50 + price_max = 175 + stock_min = 4 + stock_max = 6 availability_prob = 30 + +/datum/blackmarket_item/consumable/goliath + name = "A Live Goliath" + desc = "We reappropiated an outpost freighter a week back, and the entire thing was packed with goliaths for whatever reason. Point is, we're sick and tired of eating them, so we're selling what's left so we can buy some actual take out." + item = /mob/living/simple_animal/hostile/asteroid/goliath/beast + + price_min = 750 + price_max = 2000 + stock_max = 4 + availability_prob = 15 + spawn_weighting = FALSE + +/datum/blackmarket_item/consumable/color_salve + name = "Color Salve" + desc = "A cosmetic salve used for changing the hue of Elzouse. Now with 20% less harmful chemical dyes!" + item = /obj/item/colorsalve + + price_min = 100 + price_max = 200 + stock_min = 4 + stock_max = 10 + availability_prob = 80 + +/datum/blackmarket_item/consumable/secret_sauce + name = "Family Sauce Recipe" + desc = "This used to belong to a good friend of mine before the authorities did em in. Best goddamn sauce I've ever tasted, but I could never get it right myself. Maybe you can do it justice." + item = /obj/item/paper/secretrecipe + + price_min = 1000 + price_max = 2000 + stock = 1 + availability_prob = 5 + spawn_weighting = FALSE + diff --git a/code/modules/cargo/blackmarket/blackmarket_items/explosives.dm b/code/modules/cargo/blackmarket/blackmarket_items/explosives.dm index 7fe78cdcd05..26402e3dfac 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/explosives.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/explosives.dm @@ -11,6 +11,16 @@ stock_max = 5 availability_prob = 50 +/datum/blackmarket_item/explosive/smoke_grenade + name = "Smoke Grenade" + desc = "Too much heat on your back? This handy smoke grenade is perfect for a hasty getaway." + item = /obj/item/grenade/smokebomb + + price_min = 100 + price_max = 400 + stock_max = 5 + availability_prob = 50 + /datum/blackmarket_item/explosive/h_e name = "HE Grenade" desc = "These high explosive grenades are sure to get some bang for your buck." @@ -57,7 +67,7 @@ /datum/blackmarket_item/explosive/slipocalypse name = "Slipocalyse Cluster Bomb" - desc = "Wash away the opposition with sudstastic grenade!" + desc = "Wash away the opposition with this sudstastic grenade!" item = /obj/item/grenade/clusterbuster/soap price_min = 500 @@ -65,9 +75,21 @@ stock = 1 availability_prob = 10 +/datum/blackmarket_item/explosive/disco_grenade + name = "Portable Disco Grenade" + desc = "Become the life of the party with this groovy grenade!" + item = /obj/item/grenade/discogrenade + + price_min = 500 + price_max = 750 + stock_min = 2 + stock_max = 3 + availability_prob = 10 + spawn_weighting = FALSE + /datum/blackmarket_item/explosive/rusted_mine name = "Landmine" - desc = "Recovered from a decades old ICW battlefield by our best EOD tech, Nicky Nine Fingers." + desc = "Recovered from a decade old ICW battlefield by our best EOD tech, Nicky Nine Fingers." item = /obj/item/mine/pressure/explosive/rusty price_min = 250 @@ -75,14 +97,29 @@ stock_max = 7 availability_prob = 50 -/datum/blackmarket_item/explosive/rpg - name = "PML-9 RPG" - desc = "Offically, it's an anti-armor RPG launcher. Technically, it's anti-everything. Most things don't enjoy being hit in the face with high explosives." - item = /obj/item/gun/ballistic/rocketlauncher +/datum/blackmarket_item/explosive/live_bomb + name = "Active ICW Era Ordinance" + desc = "Look, I won't mince words. This thing is counting down and I don't want to be the next causualty of ICW after it's already ended. I'll sell it to you real cheap." + item = /obj/machinery/syndicatebomb - price_min = 3500 - price_max = 6500 - stock_min = 2 - stock_max = 5 - availability_prob = 20 + price_min = 500 + price_max = 1000 + stock = 1 + availability_prob = 5 + spawn_weighting = FALSE +/datum/blackmarket_item/explosive/live_bomb/spawn_item(loc) + var/obj/machinery/syndicatebomb/bomb = ..() + bomb.activate() + return new bomb(loc) + +/datum/blackmarket_item/explosive/firecrackers + name = "Firecracker" + desc = "Nuclear Bomb brand extra strength firecrackers, painted in the signature blood red of the Gorlex Marauders. Enjoyed a successful, albeit short run in PGF space due to a certain event in 492 FS made selling them somewhat in poor taste." + item = /obj/item/grenade/firecracker + + price_min = 50 + price_max = 250 + stock_min = 5 + stock_max = 10 + availability_prob = 50 diff --git a/code/modules/cargo/blackmarket/blackmarket_items/misc.dm b/code/modules/cargo/blackmarket/blackmarket_items/misc.dm index a5e2c67175a..a9221fb95ec 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/misc.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/misc.dm @@ -11,15 +11,15 @@ stock_max = 6 availability_prob = 80 -/datum/blackmarket_item/misc/shoulder_holster - name = "Shoulder holster" - desc = "Yeehaw, hardboiled friends! This holster is the first step in your dream of becoming a detective and being allowed to shoot real guns!" +/datum/blackmarket_item/misc/cham_holster + name = "Chameleon Shoulder holster" + desc = "Looking to pack some heat without attracting attention? This adapative chameleon shoulder holster can disguise itself and your piece!" item = /obj/item/clothing/accessory/holster price_min = 200 price_max = 800 - stock_max = 8 - availability_prob = 60 + stock_max = 4 + availability_prob = 40 /datum/blackmarket_item/misc/strange_seed name = "Strange Seeds" @@ -56,31 +56,11 @@ desc = "Why, it could be anything. Are you feeling lucky?" item = /obj/structure/closet/crate/secure/loot - price_min = 250 - price_max = 400 + price_min = 100 + price_max = 300 availability_prob = 100 unlimited = TRUE -/datum/blackmarket_item/misc/spygass - name = "Spy Glass Kit" - desc = "A set of trick glasses and a linked camera. Suit and dashing shades not included." - item = /obj/item/storage/box/rxglasses/spyglasskit - - price_min = 250 - price_max = 1000 - stock_max = 3 - availability_prob = 30 - -/datum/blackmarket_item/misc/ripley_mk_4 - name = "Ripley Mk IV Upgrade Kit" - desc = "Pimp out your Ripley to the CLIP Mark IV Rogue Model today! Killjoy bureaucrats not included, thank god." - item = /obj/item/mecha_parts/mecha_equipment/conversion_kit/ripley/clip - - price_min = 1500 - price_max = 2500 - stock_max = 3 - availability_prob = 30 - /datum/blackmarket_item/misc/secret_docs name = "Classified Documents" desc = "Good people died to get these. Luckily, we aren't good people." @@ -107,3 +87,57 @@ price_max = 10000 stock = 1 availability_prob = 40 + +/datum/blackmarket_item/misc/knockoff_plush + name = "Knockoff T4LI Plush" + desc = "You'll hardly be able to tell that it's an offbrand rip off!" + item = /obj/item/toy/plush/tali + + price_min = 50 + price_max = 150 + stock_min = 2 + stock_max = 5 + availability_prob = 60 + +/datum/blackmarket_item/misc/knockoff_plush/spawn_item(loc) + var/obj/item/toy/plush/tali/plush = ..() + plush.name = "T3MMI" + plush.desc = "A rather shoddy and unlicensed plushie 'paying homage' to a character from the RILENA series." + return new plush(loc) + +/datum/blackmarket_item/misc/pens + name = "Pen" + desc = "We found an old Cybersun blacksite, and came across an unmarked crate full of pens. Want one?" + item = /obj/item/pen + + price_min = 50 + price_max = 150 + unlimited = TRUE + availability_prob = 60 + +/datum/blackmarket_item/misc/pens/spawn_item(loc) + var/pen = pick(list(/obj/item/pen, + /obj/item/pen/blue, + /obj/item/pen/red, + /obj/item/pen/fourcolor, + /obj/item/pen/fountain, + /obj/item/pen/fountain/captain, + /obj/item/pen/solgov, + /obj/item/pen/fountain/solgov, + /obj/item/pen/edagger, + /obj/item/pen/survival, + /obj/item/pen/sleepy)) + return new pen(loc) + +/datum/blackmarket_item/misc/hexacrete + name = "Jug of Hexacrete" + desc = "Need to make a blacksite in a jiffy? Skip the fuss with this 150u jug of hexacrete!" + item = /obj/item/reagent_containers/glass/chem_jug/hexacrete + + price_min = 750 + price_max = 1500 + stock_min = 3 + stock_max = 10 + availability_prob = 30 + + diff --git a/code/modules/cargo/blackmarket/blackmarket_items/tech.dm b/code/modules/cargo/blackmarket/blackmarket_items/tech.dm new file mode 100644 index 00000000000..63db8cbb75d --- /dev/null +++ b/code/modules/cargo/blackmarket/blackmarket_items/tech.dm @@ -0,0 +1,214 @@ +/datum/blackmarket_item/tech + category = "Technology" + +/datum/blackmarket_item/tech/ripley_mk_4 + name = "Ripley Mk IV Upgrade Kit" + desc = "Pimp out your Ripley to the CLIP Mark IV Rogue Model today! Killjoy bureaucrats not included, thank god." + item = /obj/item/mecha_parts/mecha_equipment/conversion_kit/ripley/clip + + price_min = 1500 + price_max = 2500 + stock_max = 3 + availability_prob = 30 + +/datum/blackmarket_item/tech/chem_master + name = "Chem Master Board" + desc = "A Chem Master board, capable of seperating and packaging reagents. Perfect for any aspiring at home chemist." + item = /obj/item/circuitboard/machine/chem_master + + price_min = 1000 + price_max = 3000 + stock = 1 + availability_prob = 30 + +/datum/blackmarket_item/tech/ltrsbt + name = "Black Market Long-To-Short-Range-Bluespace-Transciever" + desc = "Need a faster and better way of transporting your illegal goods from and to the sector? Fear not, the Long-To-Short-Range-Bluespace-Transceiver (LTSRBT for short) is here to help. This handy teleporter will teleport your purchases directly to you once built." + item = /obj/item/circuitboard/machine/ltsrbt + + price_min = 500 + price_max = 1000 + stock_max = 3 + availability_prob = 20 + +/datum/blackmarket_item/tech/mrs_pacman + name = "MRSPACMAN-type Generator Board" + desc = "A ridiciously overclocked PACMAN generator that somehow burns diamonds as fuel." + item = /obj/item/circuitboard/machine/pacman/mrs + + price_min = 2000 + price_max = 3000 + stock = 1 + availability_prob = 30 + +/datum/blackmarket_item/tech/ai_core + name = "AI Core Board" + desc = "The future is now! Become one with your ship with this AI core board! (Some assembly required.)" + item = /obj/item/circuitboard/aicore + pair_item = list(/datum/blackmarket_item/tech/boris, /datum/blackmarket_item/tech/mmi, /datum/blackmarket_item/tech/borg) + + price_min = 5000 + price_max = 8000 + stock = 1 + availability_prob = 5 + spawn_weighting = FALSE + +/datum/blackmarket_item/tech/boris + name = "B.O.R.I.S Module" + desc = "A Bluespace Optimi-blah blah blah, I'm bored already. This module will convert a cyborg frame into an AI compatible shell." + item = /obj/item/borg/upgrade/ai + + price_min = 500 + price_max = 1000 + stock = 1 + availability_prob = 0 + +/datum/blackmarket_item/tech/mmi + name = "Man Machine Interface" + desc = "Transcend the weakness of your flesh with this man machine interface, compatible with AIs, Cyborgs and Mechs!" + item = /obj/item/mmi + pair_item = list(/datum/blackmarket_item/tech/borg) + + price_min = 250 + price_max = 750 + stock_max = 3 + availability_prob = 40 + +/datum/blackmarket_item/tech/borg + name = "Cyborg Construction Kit" + desc = "This durable and verastile cyborg frame is capable of fufilling a number of roles and survive situations that would kill the average person. Brain sold seperately." + item = /obj/structure/closet/crate/cyborg + + price_min = 1000 + price_max = 2000 + stock_max = 2 + availability_prob = 0 + +/datum/blackmarket_item/tech/t4_capacitor + name = "Quadratic Capacitor" + desc = "A top grade quadractic capacitor. These highly effiecent capacitors are capable of storing massive amounts of electricity. Keep away from open plugs." + item = /obj/item/stock_parts/capacitor/quadratic + + price_min = 400 + price_max = 700 + stock_min = 2 + stock_max = 4 + availability_prob = 20 + +/datum/blackmarket_item/tech/t4_scanner + name = "Triphasic Scanning Module" + desc = "A top grade triphasic scanning module. These finely tuned scanning modules are usually reserved for vital systems like early warning defence radars against raiders and pirates. We decided to put it to better use." + item = /obj/item/stock_parts/scanning_module/triphasic + + price_min = 400 + price_max = 700 + stock_min = 2 + stock_max = 4 + availability_prob = 20 + +/datum/blackmarket_item/tech/t4_manip + name = "Femto Manipulator" + desc = "A top grade femto manipulator. These insanely precise manipuators are capable of manipulating particles up to a quadtillionth of a meter. Still not precise enough to find a single braincell in an NT exec's head though." + item = /obj/item/stock_parts/manipulator/femto + + price_min = 400 + price_max = 700 + stock_min = 2 + stock_max = 4 + availability_prob = 20 + +/datum/blackmarket_item/tech/t4_laser + name = "Quad-Ultra Microlaser" + desc = "A top grade quad-ultra microlaser. A bit too micro of a laser to actually kill anyone with, but more than enough to get the most out of your materials." + item = /obj/item/stock_parts/micro_laser/quadultra + + price_min = 400 + price_max = 700 + stock_min = 2 + stock_max = 4 + availability_prob = 20 + +/datum/blackmarket_item/tech/t4_bin + name = "Bluespace Matter Bin" + desc = "A top grade bluespace matter bin. Uses the power of bluespace to contain tons of matter without all the hassle of actually needing to carry literal tons with only a miniscule chance of ripping a hole in reality." + item = /obj/item/stock_parts/matter_bin/bluespace + + price_min = 400 + price_max = 700 + stock_min = 2 + stock_max = 4 + availability_prob = 20 + +/datum/blackmarket_item/tech/crew_monitor + name = "Crew Monitor Board" + desc = "A crew monitor computer board, for watching your hapless crew die in real time." + item = /obj/machinery/computer/crew + + price_min = 750 + price_max = 1250 + stock_max = 3 + availability_prob = 40 + +/datum/blackmarket_item/tech/sec_cam + name = "Camera Console Board" + desc = "A camera console computer board, for when you want to invade your crew's privacy." + item = /obj/item/circuitboard/computer/security + + price_min = 750 + price_max = 1250 + stock_max = 3 + availability_prob = 40 + +/datum/blackmarket_item/tech/emag_limited + name = "Limited Cryptographic Sequencer" + desc = "These cryptographic sequencers are perfect for bypassing any mechanical safties or just breaking shit in general. They're pretty old though, and will probably burn out after a single use. Do not keep in the same wallet as your credit card." + item = /obj/item/card/emag/limited + + price_min = 750 + price_max = 1500 + stock_min = 2 + stock_max = 7 + availability_prob = 30 + +/datum/blackmarket_item/tech/joywire + name = "Pleasure Vivifier Neural Implant" + desc = "Midi-Sim's ever popular pleasure vivifier implant promises a constant rush of dopamine to get you high on life." + item = /obj/item/organ/cyberimp/brain/joywire + + price_min = 500 + price_max = 1000 + stock_min = 3 + stock_max = 5 + availability_prob = 50 + +/datum/blackmarket_item/tech/joywire/spawn_item(loc) + if(prob(10)) + var/obj/item/organ/cyberimp/brain/mindscrew/implant = ..() + implant.name = "\improper Midi-Sed pleasure vivifier" + implant.desc = "A widely popular (and addictive) implant produced by Miditeke-Sedari Tokoce that \ + stimulates the brain's pleasure centers. \ + Dramatically increases mood, but interferes with taste reception even if uninstalled. \ + Its wires seem a little loose." + return new implant(loc) + return ..() + +/datum/blackmarket_item/tech/mindscrew + name = "MNDFCK Neural Implant" + desc = "Got a tough customer who refuses to crack? This aftermarket modification of the Midi-Sed pleasure vivifier will amplify their pain receptors and get them talking fast." + item = /obj/item/organ/cyberimp/brain/mindscrew + + price_min = 500 + price_max = 1500 + stock_max = 3 + availability_prob = 30 + +/datum/blackmarket_item/tech/arm_gun + name = "Arm Mounted Laser Cannon Implant" + desc = "A retractable laser cannon that fits inside your arm for concealment. You won't be passing any metal detector scans though." + item = /obj/item/organ/cyberimp/arm/gun/laser + + price_min = 2000 + price_max = 4000 + stock = 1 + availability_prob = 15 + spawn_weighting = FALSE diff --git a/code/modules/cargo/blackmarket/blackmarket_items/tools.dm b/code/modules/cargo/blackmarket/blackmarket_items/tools.dm index 384886ac30d..fabde1d0dfc 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/tools.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/tools.dm @@ -11,19 +11,19 @@ stock = 1 availability_prob = 20 -/datum/blackmarket_item/tool/syndi_toolbox - name = "Syndicate Toolbox" - desc = "A set of specialized tools, built to precision perfection and certified by the GEC." - item = /obj/item/storage/toolbox/syndicate +/datum/blackmarket_item/tool/surgery_duffel + name = "Cybersun Advanced Surgical Kit" + desc = "You might say it's morally wrong to steal. I say it's justified when it's Cybersun." + item = /obj/item/storage/backpack/duffelbag/syndie/surgery - price_min = 500 - price_max = 2000 + price_min = 2500 + price_max = 5000 stock = 1 - availability_prob = 30 + availability_prob = 25 /datum/blackmarket_item/tool/binoculars name = "Binoculars" - desc = "Increase your sight by 150% with this handy Tool!" + desc = "Twice as effective as a monocular for seeing across long distances." item = /obj/item/binoculars price_min = 50 @@ -32,6 +32,28 @@ stock_max = 4 availability_prob = 70 +/datum/blackmarket_item/tool/whetstone + name = "Whetstone" + desc = "Your blades not making the cut? This whetstone will give you the edge you need!" + item = /obj/item/sharpener + + price_min = 100 + price_max = 300 + stock_min = 2 + stock_max = 4 + availability_prob = 50 + +/datum/blackmarket_item/tool/cham_stamp + name = "Chameleon Stamp" + desc = "Can't find a forger? Look no further than these handy chameleon stamps, capable of replicating all manner of offical or government seals." + item = /obj/item/stamp/chameleon + + price_min = 50 + price_max = 200 + stock_min = 2 + stock_max = 4 + availability_prob = 80 + /datum/blackmarket_item/tool/riot_shield name = "Riot Shield" desc = "Protect yourself from an unexpected Riot at your local Police department!" @@ -47,8 +69,8 @@ desc = "30u of Thermite to assist in creating a quick access point or get away!" item = /obj/item/reagent_containers/glass/bottle/thermite - price_min = 100 - price_max = 600 + price_min = 75 + price_max = 300 stock_max = 10 availability_prob = 50 @@ -58,7 +80,7 @@ item = /obj/item/reagent_containers/glass/chem_jug/thermite price_min = 400 - price_max = 1500 + price_max = 1200 stock_max = 3 availability_prob = 20 @@ -80,7 +102,8 @@ price_min = 1000 price_max = 3000 stock = 1 - availability_prob = 20 + availability_prob = 10 + spawn_weighting = FALSE /datum/blackmarket_item/tool/jumpboots name = "Jump Boots" @@ -101,16 +124,7 @@ price_max = 2000 stock_max = 3 availability_prob = 30 - -/datum/blackmarket_item/tool/chem_master - name = "Chem Master Board" - desc = "A Chem Master board, capable of seperating and packaging reagents. Perfect for any aspiring at home chemist." - item = /obj/item/circuitboard/machine/chem_master - - price_min = 1000 - price_max = 3000 - stock = 1 - availability_prob = 30 + spawn_weighting = FALSE /datum/blackmarket_item/tool/rcd name = "Rapid Construction Device" @@ -125,10 +139,10 @@ /datum/blackmarket_item/tool/suppressor name = "Suppressor" desc = "A suppressor, for when you to keep your murder on the down low." - item = /obj/item/suppressor + item = /obj/item/attachment/silencer price_min = 100 - price_max = 700 + price_max = 300 stock_min = 3 stock_max = 6 availability_prob = 60 @@ -148,28 +162,19 @@ desc = "A lovingly handcrafted jetpack built by our salvage techs. For the frugal space explorer." item = /obj/item/tank/jetpack/improvised - price_min = 500 - price_max = 1000 + price_min = 100 + price_max = 500 stock_min = 3 stock_max = 6 availability_prob = 70 -/datum/blackmarket_item/tool/jet_harness - name = "Jet Harness" - desc = "A compact oxygen filled jet harness for tactical EVA insertions and extractions." - item = /obj/item/tank/jetpack/oxygen/harness - - price_min = 1250 - price_max = 3500 - stock_max = 3 - availability_prob = 30 - /datum/blackmarket_item/tool/jetpack_upgrade name = "Hardsuit Jetpack Upgrade" desc = "A modular jetpack compatible with most hardsuits. If the screws feel a bit loose, it's because the last suit it was attached to was beyond recovery." item = /obj/item/tank/jetpack/suit - price_min = 1750 + price_min = 1250 price_max = 3000 - stock = 1 + stock_min = 1 + stock_max = 3 availability_prob = 25 diff --git a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm index 6ac8b8d36d8..d14bc026401 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm @@ -12,23 +12,10 @@ stock_max = 7 availability_prob = 40 -/datum/blackmarket_item/weapon/shotgun_dart - name = "Shotgun Dart" - desc = "These handy darts can be filled up with any chemical and be shot with a shotgun! \ - Prank your friends by shooting them with laughter! \ - Not recommended for comercial use." - item = /obj/item/ammo_casing/shotgun/dart - - price_min = 10 - price_max = 50 - stock_min = 10 - stock_max = 60 - availability_prob = 40 - /datum/blackmarket_item/weapon/bone_spear name = "Bone Spear" desc = "Authentic tribal spear, made from real bones! A steal at any price, especially if you're a caveman." - item = /obj/item/spear/bonespear + item = /obj/item/melee/spear/bone price_min = 200 price_max = 300 @@ -38,13 +25,42 @@ /datum/blackmarket_item/weapon/switchblade name = "Switchblade" desc = "Extra shrap switchblades for intimidation AND style. Bandages not included if you cut yourself." - item = /obj/item/kitchen/knife/switchblade + item = /obj/item/melee/knife/switchblade price_min = 500 price_max = 700 stock_max = 3 availability_prob = 50 +/datum/blackmarket_item/weapon/fireaxe + name = "Fire Axe" + desc = "An incredibly sharp axe of reputable make, used by various engineers to settle arguments while hammered. Sold to us by a very friendly man in a suit." + item = /obj/item/melee/axe/fire + + price_min = 1200 + price_max = 2300 + stock_max = 3 + availability_prob = 40 + +/datum/blackmarket_item/weapon/sledgehammer + name = "Breaching Sledgehammer" + desc = "A Clique outfit had to ditch a lot of equipment to evade a Gezenan assault. This little piece breaks legs and walls like no other. You want in?" + item = /obj/item/melee/axe/sledgehammer + + price_min = 2000 + price_max = 3000 + stock_max = 3 + availability_prob = 30 + +/datum/blackmarket_item/weapon/powerfist + name = "Powerfist" + desc = "Need a bit more... omph in your right hook? This gas operated powerfist will put you in the heavyweight." + item = /obj/item/melee/powerfist + price_min = 1500 + price_max = 4000 + stock_max = 2 + availability_prob = 50 + /datum/blackmarket_item/weapon/sabre name = "SUNS Dueling Sabre" desc = "A mastercrafted sabre formerly wielded by a SUNS academic. It's very sharp, we had to spend hours stitching our fingers back on after getting it." @@ -55,12 +71,24 @@ stock = 1 availability_prob = 25 +/datum/blackmarket_item/weapon/mag_cleaver + name = "Magnetic Cleaver" + desc = "A prototype modification to the standard crusher, featuring an energy blade rather than the standard alloy cutting edge allowing for much more devasting detonations. The guy who sold this to us disappeared the next week, but that's probably a coincidence." + item = /obj/item/kinetic_crusher/syndie_crusher + + price_min = 1750 + price_max = 3000 + stock = 2 + availability_prob = 15 + spawn_weighting = FALSE + /datum/blackmarket_item/weapon/derringer name = "Derringer" desc = "A concealable handgun small enough to hide nearly anywhere. Uses .38 revolver rounds." item = /obj/item/gun/ballistic/derringer + price_min = 100 - price_max = 500 + price_max = 300 stock_max = 6 availability_prob = 50 @@ -68,40 +96,53 @@ name = "Golden Derringer" desc = "Rumored to have been once used by a famous assassin who never missed a shot. Unlike the legends, however, this uses regular rounds as opposed to custom, golden ones." item = /obj/item/gun/ballistic/derringer/gold + price_min = 1000 price_max = 3000 stock = 1 availability_prob = 10 + spawn_weighting = FALSE + +/datum/blackmarket_item/weapon/syndi_derringer + name = ".357 Derringer" + desc = "A concealable hangun with a tasteful red and black paintjob, which makes it slightly more noticable. Chambered in .357, so you actually have a chance at killing something." + item = /obj/item/gun/ballistic/derringer/traitor + pair_item = list(/datum/blackmarket_item/ammo/a357_box) + + price_min = 300 + price_max = 800 + stock = 2 + availability_prob = 30 + +/datum/blackmarket_item/weapon/disposable_gun_disk + name = "Disposable Gun Design Disk" + desc = "An autolathe compatible fabrication disk for printing disposable guns chambered in .22 LR. Improper disposal or recycling of these guns is an enviromental felony misdemeanor in Solarian space. Luckily, we aren't in Solarian space, so litter all you want." + item = /obj/item/disk/design_disk/disposable_gun + + price_min = 1500 + price_max = 2500 + stock = 1 + availability_prob = 10 + spawn_weighting = FALSE /datum/blackmarket_item/weapon/himehabu name = "Himehabu Pistol" desc = "Great things come in small packages. The Himehabu is perfect for all your espionage needs. Chambered in .22lr." item = /obj/item/gun/ballistic/automatic/pistol/himehabu - pair_item = /datum/blackmarket_item/weapon/himehabu_mag + pair_item = list(/datum/blackmarket_item/ammo/himehabu_mag) price_min = 100 price_max = 600 stock_max = 6 availability_prob = 50 -/datum/blackmarket_item/weapon/himehabu_mag - name = "Himehabu Magazines" - desc = "Compact 10 round .22lr magazines for use in the Himehabu pistol." - item = /obj/item/ammo_box/magazine/m22lr - - price_min = 100 - price_max = 200 - stock_min = 3 - stock_max = 6 - availability_prob = 0 - /datum/blackmarket_item/weapon/e10 name = "E-10 Laser Pistol" desc = "Sharplite letting you down? Try these classic Eoehoma Firearms E-10 Laser Pistols." item = /obj/item/gun/energy/laser/e10 price_min = 500 - price_max = 1250 + price_max = 1000 stock_max = 5 availability_prob = 20 @@ -119,55 +160,80 @@ name = "E-40 Hybrid Assault Rifle" desc = "A dual mode hybrid assault rifle made by the now defunct Eoehoma Firearms. Capable of firing both bullets AND lasers, for the discerning dealer in death. Chambered in Eoehoma .299 Caseless." item = /obj/item/gun/ballistic/automatic/assault/e40 - pair_item = /datum/blackmarket_item/weapon/e40_mag + pair_item = list(/datum/blackmarket_item/ammo/e40_mag) price_min = 7000 - price_max = 15000 + price_max = 10000 stock_max = 2 - availability_prob = 20 - -/datum/blackmarket_item/weapon/e40_mag - name = "Eoehoma .299 Caseless Magazine" - desc = "A 30 round magazine for the E-40 Hybrid Rifle." - item = /obj/item/ammo_box/magazine/e40 - - price_min = 750 - price_max = 1250 - stock_min = 2 - stock_max = 6 - availability_prob = 0 + availability_prob = 10 + spawn_weighting = FALSE /datum/blackmarket_item/weapon/e50 name = "E-50 Energy Emitter" desc = "An Eoehoma Firearms E-50 Emitter cannon. For when you want a send a message. A really big message." item = /obj/item/gun/energy/laser/e50 + pair_item = (/datum/blackmarket_item/ammo/huge_weapon_cell) price_min = 4000 price_max = 7000 stock_max = 2 availability_prob = 20 + spawn_weighting = FALSE + +/datum/blackmarket_item/weapon/e60 + name = "E-60 Disabler" + desc = "Looking for a live capture? This Eoehoma Firearms E-60 disabler will get your man." + item = /obj/item/gun/energy/disabler/e60 + + price_min = 500 + price_max = 750 + stock_max = 3 + availability_prob = 40 + +/datum/blackmarket_item/weapon/cm23 + name = "CM-23 pistol" + desc = "The service pistol of the Confederated League. Chambered in 10mm and fresh off a crashed clipper. We made sure to scratch the ID off this time." + + item = /obj/item/gun/ballistic/automatic/pistol/cm23 + pair_item = list(/datum/blackmarket_item/ammo/cm23_mag) + price_min = 500 + price_max = 1500 + stock_max = 4 + availability_prob = 50 + +/datum/blackmarket_item/weapon/cm70 + name = "CM-70 Machine Pistol" + desc = "One slick piece from the Confederated League. Chambered in 9mm. That officer wasn't happy to lose this but you should be safe." + + item = /obj/item/gun/ballistic/automatic/pistol/cm70 + pair_item = list(/datum/blackmarket_item/ammo/cm70_mag) + price_min = 900 + price_max = 2100 + stock_max = 2 + availability_prob = 50 + +/datum/blackmarket_item/weapon/cm5 + name = "CM-5 SMG" + desc = "Now isn't this a good find. A whole League sub-machinegun, chambered in 9mm. We're pretty sure no one is gonna notice the pallet of these missing." + + item = /obj/item/gun/ballistic/automatic/smg/cm5 + pair_item = list(/datum/blackmarket_item/ammo/cm5_mag) + price_min = 1750 + price_max = 3500 + stock_max = 2 + availability_prob = 30 /datum/blackmarket_item/weapon/saber_smg name = "Saber 9mm SMG" desc = "A prototype 9mm submachine gun. Most of these never got past the RND phase and into distribution. But we happen know a guy." - item = /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto - pair_item = /datum/blackmarket_item/weapon/saber_mag + item = /obj/item/gun/ballistic/automatic/smg/skm_carbine/saber + pair_item = list(/datum/blackmarket_item/ammo/saber_mag) - price_min = 2500 - price_max = 4200 + price_min = 2250 + price_max = 3750 stock_max = 2 availability_prob = 25 -/datum/blackmarket_item/weapon/saber_mag - name = "Saber 9mm SMG Magazines" - desc = "Magazines for use in the Saber 9mm SMG. No, they don't work as swords." - item = /obj/item/ammo_box/magazine/smgm9mm - - price_min = 500 - price_max = 1000 - stock = 2 - availability_prob = 0 - /datum/blackmarket_item/weapon/bg_16 name = "BG-16 Beam Gun" desc = "Not satisfied by Etherbor's civilian offerings? Try this military grade one we found!" @@ -178,27 +244,28 @@ stock = 2 availability_prob = 20 +/datum/blackmarket_item/weapon/larker + name = "Model 13 \"Larker\"" + desc = "Gotta deal for you broski. We got this mod of those shoddy Sporter Rifles an' you can buy one, or two, orreven three if yer int' that." + item = /obj/item/storage/guncase/m13 + + price_min = 500 + price_max = 1200 + stock_min = 3 + stock_max = 5 + availability_prob = 40 + /datum/blackmarket_item/weapon/sawn_illestren name = "Sawn off Illestren Rifle" desc = "We had to saw down the barrels on these to fit them in the smuggling compartment. They don't aim too good, but it still packs a good punch." item = /obj/item/gun/ballistic/rifle/illestren/sawn price_min = 600 - price_max = 1250 + price_max = 1000 stock_min = 2 stock_max = 5 availability_prob = 60 -/datum/blackmarket_item/weapon/combat_shotgun - name = "Combat Shotgun" - desc = "Are your arms tired from pumping Hunter's Pride shotguns? This semi-automatic combat shotgun will make killing a breeze." - item = /obj/item/gun/ballistic/shotgun/automatic/combat - - price_min = 2000 - price_max = 4000 - stock_max = 3 - availability_prob = 40 - /datum/blackmarket_item/weapon/mecha_weapon_bay name = "Concealed Weapons Bay" desc = "Ripley with a laser cannon? Odysseus with a missile rack? Sky's the limit with this omni-compatible weapons bay! (Missiles and lasers not included)" @@ -207,7 +274,8 @@ price_min = 1000 price_max = 2000 stock_max = 3 - availability_prob = 30 + availability_prob = 20 + spawn_weighting = FALSE /datum/blackmarket_item/weapon/mecha_syringe_gun name = "Mounted Syringe Gun" @@ -217,35 +285,25 @@ price_min = 5000 price_max = 7000 stock = 1 - availability_prob = 15 + availability_prob = 10 + spawn_weighting = FALSE /datum/blackmarket_item/weapon/mecha_hades name = "Mounted FNX-99 Carbine" - desc = "This so called \"Hades\" carbine is sure to burn brightly above the competition! Not to be confused with the \"Hades\" energy rifle. Exosuit not included." + desc = "This so called \"Phoenix\" carbine is sure to burn brightly above the competition! Exosuit not included." item = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine - pair_item = /datum/blackmarket_item/weapon/mecha_hades_ammo + pair_item = list(/datum/blackmarket_item/ammo/mecha_hades_ammo) price_min = 2000 price_max = 3000 stock_max = 2 availability_prob = 25 -/datum/blackmarket_item/weapon/mecha_hades_ammo - name = "FNX-99 Incediary Ammo" - desc = "A box of 24 incendiary shells for the FNX-99 mounted carbine." - item = /obj/item/mecha_ammo/incendiary - - price_min = 250 - price_max = 350 - stock_min = 3 - stock_max = 5 - availability_prob = 0 - /datum/blackmarket_item/weapon/model_h name = "Model H" desc = "A Model H slug pistol. The H stands for Hurt. Chambered in ferromagnetic slugs." item = /obj/item/gun/ballistic/automatic/powered/gauss/modelh - pair_item = /datum/blackmarket_item/weapon/model_h_mag + pair_item = list(/datum/blackmarket_item/ammo/model_h_mag) price_min = 2000 price_max = 3500 @@ -257,122 +315,135 @@ /obj/item/gun/ballistic/automatic/powered/gauss/modelh)) return new model_h(loc) -/datum/blackmarket_item/weapon/model_h_mag - name = "Model H Magazine" - desc = "A 10 round magazine for Model H slug pistol." - item = /obj/item/ammo_box/magazine/modelh - - price_min = 500 - price_max = 1000 - stock_max = 4 - availability_prob = 0 - /datum/blackmarket_item/weapon/sgg name = "SSG-669C Rotary Sniper Rifle" - desc = "I could tell you it's full name, but we'd be here all day. It's a sniper rifle. It shoots people from far away. Chambered in 8x58mm." + desc = "I could tell you it's full name, but we'd be here all day. It's a sniper rifle. It shoots people from far away. Chambered in 8x58mm caseless." item = /obj/item/gun/ballistic/rifle/solgov - pair_item = /datum/blackmarket_item/weapon/sgg_stripper + pair_item = list(/datum/blackmarket_item/ammo/sgg_stripper) price_min = 3000 price_max = 6000 stock = 1 availability_prob = 20 -/datum/blackmarket_item/weapon/sgg_stripper - name = "8x58mm Stripper Clip" - desc = "A five round 8x58mm stripper clip for use with the SGG-669C." - item = /obj/item/ammo_box/a858 - - price_min = 500 - price_max = 1000 - stock_min = 4 - stock_max = 6 - availability_prob = 0 - /datum/blackmarket_item/weapon/pistole_c name = "Pistole C" desc = "Pistole Compact? Pistole Caseless? Pistole Cheese? Fuck if I know. All I know is these little numbers pack a nasty sting. Chambered in 5.56 caseless." item = /obj/item/gun/ballistic/automatic/pistol/solgov/old - pair_item = /datum/blackmarket_item/weapon/pistole_c_mag + pair_item = list(/datum/blackmarket_item/ammo/pistole_c_mag) price_min = 900 price_max = 1250 stock_max = 3 availability_prob = 30 -/datum/blackmarket_item/weapon/pistole_c_mag - name = "5.56 Caseless Magazine" - desc = "A 12 round magazine for the Pistole Cheese." - item = /obj/item/ammo_box/magazine/pistol556mm - - price_min = 250 - price_max = 750 - stock_max = 2 - availability_prob = 0 - /datum/blackmarket_item/weapon/proto_gauss name = "Prototype Gauss Rifle" desc = "A prototype gauss rifle made by Nanotrasen. Perfect for making swiss cheese out of people. Chambered in ferromagnetic pellets." item = /obj/item/gun/ballistic/automatic/powered/gauss - pair_item = /datum/blackmarket_item/weapon/proto_gauss_mag + pair_item = list(/datum/blackmarket_item/ammo/proto_gauss_mag) - price_min = 3500 - price_max = 6000 + price_min = 2500 + price_max = 4000 stock = 2 availability_prob = 25 -/datum/blackmarket_item/weapon/proto_gauss_mag - name = "Prototype Gauss Rifle Magazine" - desc = "A 25 round ferromagnetic pellet magazine for the prototype gauss rifle." - item = /obj/item/ammo_box/magazine/gauss +/datum/blackmarket_item/weapon/syringe_gun + name = "Dart Pistol" + desc = "A compact dart pistol, for clandestine poisoining from a distance." + item = /obj/item/gun/syringe/syndicate - price_min = 600 - price_max = 1100 - stock_min = 2 - stock_max = 4 - availability_prob = 0 + price_min = 750 + price_max = 1500 + stock = 2 + availability_prob = 30 + +/datum/blackmarket_item/weapon/mauler + name = "Mauler Machine Pistol" + desc = "This gun's got teeth! Twelve 9mm teeth to be exact. Hardly a full smile, and you'll be losing the rest pretty quick with this thing's rate of fire." + item = /obj/item/gun/ballistic/automatic/pistol/mauler + pair_item = list(/datum/blackmarket_item/ammo/mauler_mag) + + price_min = 1000 + price_max = 2000 + stock_max = 3 + availability_prob = 50 -/datum/blackmarket_item/weapon/tec - name = "TEC-9 Machine Pistol" - desc = "Hallelujah! It's raining lead! This 9mm machine pistol is capable of spitting out bullets at rapid pace." - item = /obj/item/gun/ballistic/automatic/pistol/tec9 - pair_item = /datum/blackmarket_item/weapon/tec_mag +/datum/blackmarket_item/weapon/spitter + name = "Spitter Submachine Gun" + desc = "The aptly named Spitter won't be hitting anything outside of spitting distance. Anything in that range on the otherhand? Let's just say the bereaved will be wanting a closed casket funeral. Chambered in 9mm." + item = /obj/item/gun/ballistic/automatic/pistol/spitter + pair_item = list(/datum/blackmarket_item/ammo/spitter_mag) price_min = 1500 - price_max = 2750 + price_max = 2250 + stock_min = 1 stock_max = 2 + availability_prob = 30 + +/datum/blackmarket_item/weapon/pounder + name = "Pounder Submachine Gun" + desc = "There's a certain quality to quantity. With a massive 50 round capacity, this .22lr submachine is capable of laying down an jawdropping amount of fire." + item = /obj/item/gun/ballistic/automatic/smg/pounder + pair_item = list(/datum/blackmarket_item/ammo/pounder_mag) + + price_min = 1500 + price_max = 2000 + stock = 1 availability_prob = 35 -/datum/blackmarket_item/weapon/tec_mag - name = "TEC-9 AP Magazine" - desc = "A 20 round magazine of AP ammo for the TEC-9 machine pistol." - item = /obj/item/ammo_box/magazine/tec9 +/datum/blackmarket_item/weapon/polymer + name = "Polymer Survivor Rifle" + desc = "A slapdash rifle held together by spite, dreams and a good helping of duct tape. Chambered in 7.62x40mm CLIP." + item = /obj/item/gun/ballistic/rifle/polymer + pair_item = list(/datum/blackmarket_item/ammo/polymer_clip) price_min = 600 - price_max = 1000 - stock_max = 2 - availability_prob = 0 + price_max = 1250 + stock_min = 2 + stock_max = 4 + availability_prob = 50 -/datum/blackmarket_item/weapon/scout - name = "HP Scout" - desc = "A scoped rifle chambered in .300 Magnum. As the name would imply, perfect for scouts. Try not to tunnel vision with the scope like the last guy." - item = /obj/item/gun/ballistic/rifle/scout - pair_item = /datum/blackmarket_item/weapon/scout_stripper +/datum/blackmarket_item/weapon/skm_carbine + name = "SKM-24v Carbine" + desc = "Technically this is just a sawn down SKM-24 assault rifle, but what's CLIP going to do? Sue us? Chambered in 4.6x30mm." + item = /obj/item/gun/ballistic/automatic/smg/skm_carbine + pair_item = list(/datum/blackmarket_item/ammo/carbine_mag) - price_min = 4000 - price_max = 6500 - stock = 1 + price_min = 3000 + price_max = 4500 + stock_max = 2 availability_prob = 20 -/datum/blackmarket_item/weapon/scout_stripper - name = ".300 Magnum Stripper Clip" - desc = "A 5 round .300 Magnum stripper clips for use with the HP Scout." - item = /obj/item/ammo_box/a300 +/datum/blackmarket_item/weapon/oneshot + name = "Hammer Launcher" + desc = "A one-shot solution to a myriad amount of problems, ranging from Exosuits to obnoxious neighbors. Contains one ready-to-fire 84mm HE rocket. " + item = /obj/item/gun/ballistic/rocketlauncher/oneshot - price_min = 500 - price_max = 1000 - stock_min = 4 - stock_max = 6 - availability_prob = 0 + price_min = 3000 + price_max = 4500 + stock_min = 1 + stock_max = 5 + availability_prob = 25 +/datum/blackmarket_item/weapon/oneshot/hedp + name = "Hammer-DP Launcher" + desc = "A one-shot solution to a myriad amount of problems, ranging from Exosuits to obnoxious neighbors. Contains one ready-to-fire 84mm HEDP rocket. " + item = /obj/item/gun/ballistic/rocketlauncher/oneshot/hedp + price_min = 4000 + price_max = 6000 + stock_min = 1 + stock_max = 5 + availability_prob = 10 + +/datum/blackmarket_item/weapon/skm_lmg + name = "SKM-24u Light Machinegun" + desc = "Your regular rifles not have enough oomph for you? This SKM-24 was converted with help from a 'liberated' CM-40 parts shipment into a light machinegun, ready to blow away whatever you point it at. Increased firerate makes it buck like a mule, so keep that bipod on the ground. Drums sold separately!" + item = /obj/item/gun/ballistic/automatic/hmg/skm_lmg + + price_min = 5000 + price_max = 7000 + stock_max = 2 + availability_prob = 15 + spawn_weighting = FALSE diff --git a/code/modules/cargo/blackmarket/blackmarket_market.dm b/code/modules/cargo/blackmarket/blackmarket_market.dm index 3e055048a85..5b0c2365b3d 100644 --- a/code/modules/cargo/blackmarket/blackmarket_market.dm +++ b/code/modules/cargo/blackmarket/blackmarket_market.dm @@ -12,11 +12,37 @@ /// Item categories available from this market, only items which are in these categories can be gotten from this market. var/list/categories = list() +/datum/blackmarket_market/New() + . = ..() + addtimer(CALLBACK(src, PROC_REF(cycle_stock)), 60 MINUTES, TIMER_STOPPABLE|TIMER_LOOP|TIMER_DELETE_ME) + +/datum/blackmarket_market/proc/cycle_stock() + var/list/pair_items_to_handle = list() + + for(var/category in available_items) + for(var/item in available_items[category]) + if(istype(item, /datum/blackmarket_item)) + var/datum/blackmarket_item/b_item = item + b_item.cycle() + if(b_item.available == TRUE) + for(var/paired_item in b_item.pair_item) + var/datum/blackmarket_item/item_to_set = get_item_in_market(paired_item) + if(!(item_to_set in pair_items_to_handle) && !isnull(item_to_set)) + pair_items_to_handle += item_to_set + + for(var/item in pair_items_to_handle) + var/datum/blackmarket_item/b_item = item + b_item.cycle(TRUE,FALSE,FALSE,TRUE) + +// returns the blackmarket_item datum currently in the availible items list. Null if not in the list +/datum/blackmarket_market/proc/get_item_in_market(datum/blackmarket_item/item) + for(var/item_to_find in available_items[item.category]) + if(istype(item_to_find,item)) + return item_to_find + return null + /// Adds item to the available items and add it's category if it is not in categories yet. /datum/blackmarket_market/proc/add_item(datum/blackmarket_item/item, paired) - if(!prob(initial(item.availability_prob)) && !paired) - return FALSE - if(ispath(item)) item = new item() @@ -26,8 +52,10 @@ available_items[item.category] += item - if(item.pair_item) - add_item(item.pair_item, TRUE) + if(prob(initial(item.availability_prob)) || paired) + item.available = TRUE + else + item.available = FALSE return TRUE @@ -52,5 +80,6 @@ /datum/blackmarket_market/blackmarket name = "Black Market" - shipping = list(SHIPPING_METHOD_LTSRBT =50, - SHIPPING_METHOD_LAUNCH =10) + shipping = list(SHIPPING_METHOD_LTSRBT =100, + SHIPPING_METHOD_LAUNCH =10, + SHIPPING_METHOD_DEAD_DROP = 20) diff --git a/code/modules/cargo/blackmarket/blackmarket_telepad.dm b/code/modules/cargo/blackmarket/blackmarket_telepad.dm index 14211cad687..bd8ec96e80b 100644 --- a/code/modules/cargo/blackmarket/blackmarket_telepad.dm +++ b/code/modules/cargo/blackmarket/blackmarket_telepad.dm @@ -3,11 +3,8 @@ icon_state = "bluespacearray" build_path = /obj/machinery/ltsrbt req_components = list( - /obj/item/stack/ore/bluespace_crystal = 2, - /obj/item/stock_parts/subspace/ansible = 1, /obj/item/stock_parts/micro_laser = 1, /obj/item/stock_parts/scanning_module = 2) - def_components = list(/obj/item/stack/ore/bluespace_crystal = /obj/item/stack/ore/bluespace_crystal/artificial) /obj/machinery/ltsrbt name = "Long-To-Short-Range-Bluespace-Transciever" @@ -121,3 +118,17 @@ if(queue.len) recieving = pick_n_take(queue) + +/datum/crafting_recipe/blackmarket_telepad + name = "Black Market LTRSBT Board" + result = /obj/item/circuitboard/machine/ltsrbt + time = 30 + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER, TOOL_MULTITOOL) + reqs = list( + /obj/item/stack/ore/bluespace_crystal = 2, + /obj/item/stack/tape/industrial = 5, + /obj/item/card/bank = 1, + /obj/item/computer_hardware/network_card = 1, + /obj/item/circuitboard = 1 + ) + category = CAT_MISC diff --git a/code/modules/cargo/blackmarket/blackmarket_uplink.dm b/code/modules/cargo/blackmarket/blackmarket_uplink.dm index 26363bf71b8..2d25c9c444f 100644 --- a/code/modules/cargo/blackmarket/blackmarket_uplink.dm +++ b/code/modules/cargo/blackmarket/blackmarket_uplink.dm @@ -82,13 +82,14 @@ if(viewing_category && market) if(market.available_items[viewing_category]) for(var/datum/blackmarket_item/I in market.available_items[viewing_category]) - data["items"] += list(list( - "id" = I.type, - "name" = I.name, - "cost" = I.price, - "amount" = I.unlimited ? "INF" : I.stock, - "desc" = I.desc || I.name - )) + if(I.available) + data["items"] += list(list( + "id" = I.type, + "name" = I.name, + "cost" = I.price, + "amount" = I.unlimited ? "INF" : I.stock, + "desc" = I.desc || I.name + )) return data /obj/item/blackmarket_uplink/ui_static_data(mob/user) diff --git a/code/modules/cargo/bounties/assistant.dm b/code/modules/cargo/bounties/assistant.dm index 3ddc15dfa33..37507132a86 100644 --- a/code/modules/cargo/bounties/assistant.dm +++ b/code/modules/cargo/bounties/assistant.dm @@ -15,7 +15,7 @@ name = "Skateboard" description = "Nanotrasen has determined walking to be wasteful. Ship a skateboard to CentCom to speed operations up." reward = 900 // the tony hawk - wanted_types = list(/obj/vehicle/ridden/scooter/skateboard, /obj/item/melee/skateboard) + wanted_types = list(/obj/vehicle/ridden/scooter/skateboard, /obj/item/skateboard) /datum/bounty/item/assistant/stunprod name = "Stunprod" @@ -35,7 +35,7 @@ description = "CentCom's security forces are going through budget cuts. You will be paid if you ship a set of spears." reward = 2000 required_count = 5 - wanted_types = list(/obj/item/spear) + wanted_types = list(/obj/item/melee/spear) /datum/bounty/item/assistant/toolbox name = "Toolboxes" diff --git a/code/modules/cargo/bounties/chef.dm b/code/modules/cargo/bounties/chef.dm index d0e946ba2a6..969a41601fb 100644 --- a/code/modules/cargo/bounties/chef.dm +++ b/code/modules/cargo/bounties/chef.dm @@ -2,7 +2,7 @@ name = "Birthday Cake" description = "Nanotrasen's birthday is coming up! Ship them a birthday cake to celebrate!" reward = 4000 - wanted_types = list(/obj/item/reagent_containers/food/snacks/store/cake/birthday, /obj/item/reagent_containers/food/snacks/cakeslice/birthday) + wanted_types = list(/obj/item/food/cake/birthday, /obj/item/food/cakeslice/birthday) /datum/bounty/item/chef/soup name = "Soup" @@ -43,7 +43,7 @@ name = "Bread" description = "Problems with central planning have led to bread prices skyrocketing. Ship some bread to ease tensions." reward = 1000 - wanted_types = list(/obj/item/reagent_containers/food/snacks/store/bread, /obj/item/reagent_containers/food/snacks/breadslice, /obj/item/reagent_containers/food/snacks/bun, /obj/item/reagent_containers/food/snacks/pizzabread, /obj/item/reagent_containers/food/snacks/rawpastrybase) + wanted_types = list(/obj/item/food/bread, /obj/item/food/breadslice, /obj/item/reagent_containers/food/snacks/bun, /obj/item/reagent_containers/food/snacks/pizzabread, /obj/item/reagent_containers/food/snacks/rawpastrybase) /datum/bounty/item/chef/pie name = "Pie" diff --git a/code/modules/cargo/bounties/engineering.dm b/code/modules/cargo/bounties/engineering.dm index d4832a460fb..4c42d312ece 100644 --- a/code/modules/cargo/bounties/engineering.dm +++ b/code/modules/cargo/bounties/engineering.dm @@ -4,7 +4,7 @@ reward = 7500 wanted_types = list(/obj/item/tank) var/moles_required = 20 // A full tank is 28 moles, but CentCom ignores that fact. - var/gas_type = GAS_PLUOXIUM + var/gas_type = GAS_O3 /datum/bounty/item/engineering/gas/applies_to(obj/O) if(!..()) @@ -12,11 +12,6 @@ var/obj/item/tank/T = O return T.air_contents.get_moles(gas_type) >= moles_required -/datum/bounty/item/engineering/gas/nitryl_tank - name = "Full Tank of Nitryl" - description = "The non-human staff of Station 88 has been volunteered to test performance enhancing drugs. Ship them a tank full of Nitryl so they can get started." - gas_type = GAS_NITRYL - /datum/bounty/item/engineering/gas/freon_tank name = "Full Tank of Freon" description = "The Supermatter of station 33 has started the delamination process. Deliver a tank of Freon gas to help them stop it!" diff --git a/code/modules/cargo/bounties/mining.dm b/code/modules/cargo/bounties/mining.dm index 4eb48b09c7c..6527228f31e 100644 --- a/code/modules/cargo/bounties/mining.dm +++ b/code/modules/cargo/bounties/mining.dm @@ -22,7 +22,7 @@ name = "Bone Axe" description = "Station 12 has had their fire axes stolen by marauding clowns. Ship them a bone axe as a replacement." reward = 7500 - wanted_types = list(/obj/item/fireaxe/boneaxe) + wanted_types = list(/obj/item/melee/axe/bone) /datum/bounty/item/mining/bone_armor name = "Bone Armor" @@ -48,7 +48,7 @@ description = "Central Command's canteen is undergoing budget cuts. Ship over some bone daggers so our Chef can keep working." reward = 5000 required_count = 3 - wanted_types = list(/obj/item/kitchen/knife/combat/bone) + wanted_types = list(/obj/item/melee/knife/bone) /datum/bounty/item/mining/polypore_mushroom name = "Mushroom Bowl" diff --git a/code/modules/cargo/bounties/science.dm b/code/modules/cargo/bounties/science.dm index 0849efb6ede..18fc501da94 100644 --- a/code/modules/cargo/bounties/science.dm +++ b/code/modules/cargo/bounties/science.dm @@ -28,13 +28,6 @@ reward = 10000 wanted_types = list(/obj/item/clothing/glasses/night, /obj/item/clothing/glasses/meson/night, /obj/item/clothing/glasses/hud/health/night, /obj/item/clothing/glasses/hud/security/night, /obj/item/clothing/glasses/hud/diagnostic/night) -/datum/bounty/item/science/experimental_welding_tool - name = "Experimental Welding Tool" - description = "A recent accident has left most of CentCom's welding tools exploded. Ship replacements to be rewarded." - reward = 10000 - required_count = 3 - wanted_types = list(/obj/item/weldingtool/experimental) - /datum/bounty/item/science/cryostasis_beaker name = "Cryostasis Beaker" description = "Chemists at Central Command have discovered a new chemical that can only be held in cryostasis beakers. The only problem is they don't have any! Rectify this to receive payment." diff --git a/code/modules/cargo/bounties/slime.dm b/code/modules/cargo/bounties/slime.dm deleted file mode 100644 index 4aa0797c700..00000000000 --- a/code/modules/cargo/bounties/slime.dm +++ /dev/null @@ -1,39 +0,0 @@ -/datum/bounty/item/slime - reward = 3000 - -/datum/bounty/item/slime/New() - ..() - description = "Nanotrasen's science lead is hunting for the rare and exotic [name]. A bounty has been offered for finding it." - reward += rand(0, 4) * 500 - -/datum/bounty/item/slime/green - name = "Green Slime Extract" - wanted_types = list(/obj/item/slime_extract/green) - -/datum/bounty/item/slime/pink - name = "Pink Slime Extract" - wanted_types = list(/obj/item/slime_extract/pink) - -/datum/bounty/item/slime/gold - name = "Gold Slime Extract" - wanted_types = list(/obj/item/slime_extract/gold) - -/datum/bounty/item/slime/oil - name = "Oil Slime Extract" - wanted_types = list(/obj/item/slime_extract/oil) - -/datum/bounty/item/slime/black - name = "Black Slime Extract" - wanted_types = list(/obj/item/slime_extract/black) - -/datum/bounty/item/slime/lightpink - name = "Light Pink Slime Extract" - wanted_types = list(/obj/item/slime_extract/lightpink) - -/datum/bounty/item/slime/adamantine - name = "Adamantine Slime Extract" - wanted_types = list(/obj/item/slime_extract/adamantine) - -/datum/bounty/item/slime/rainbow - name = "Rainbow Slime Extract" - wanted_types = list(/obj/item/slime_extract/rainbow) diff --git a/code/modules/cargo/bounty.dm b/code/modules/cargo/bounty.dm index 3807e9bd698..ddc07ddab61 100644 --- a/code/modules/cargo/bounty.dm +++ b/code/modules/cargo/bounty.dm @@ -21,7 +21,7 @@ GLOBAL_LIST_EMPTY(bounties_list) // Called when the claim button is clicked. Override to provide fancy rewards. /datum/bounty/proc/claim(datum/bank_account/claimer_account) if(can_claim() && claimer_account) - claimer_account.adjust_money(reward, "bounty") + claimer_account.adjust_money(reward, CREDIT_LOG_BOUNTY) claimed = TRUE // If an item sent in the cargo shuttle can satisfy the bounty. @@ -75,7 +75,7 @@ GLOBAL_LIST_EMPTY(bounties_list) // Returns a new bounty of random type, but does not add it to GLOB.bounties_list. /proc/random_bounty() - switch(rand(1, 13)) + switch(rand(1, 12)) if(1) var/subtype = pick(subtypesof(/datum/bounty/item/assistant)) return new subtype @@ -103,18 +103,15 @@ GLOBAL_LIST_EMPTY(bounties_list) var/subtype = pick(subtypesof(/datum/bounty/item/science)) return new subtype if(9) - var/subtype = pick(subtypesof(/datum/bounty/item/slime)) - return new subtype - if(10) var/subtype = pick(subtypesof(/datum/bounty/item/engineering)) return new subtype - if(11) + if(10) var/subtype = pick(subtypesof(/datum/bounty/item/mining)) return new subtype - if(12) + if(11) var/subtype = pick(subtypesof(/datum/bounty/item/medical)) return new subtype - if(13) + if(12) var/subtype = pick(subtypesof(/datum/bounty/item/botany)) return new subtype @@ -153,10 +150,7 @@ GLOBAL_LIST_EMPTY(bounties_list) /********************************Dynamic Gens********************************/ for(var/i in 0 to 1) - if(prob(50)) - pick = pick(subtypesof(/datum/bounty/item/slime)) - else - pick = pick(subtypesof(/datum/bounty/item/science)) + pick = pick(subtypesof(/datum/bounty/item/science)) try_add_bounty(new pick) /********************************Cutoff for Non-Low Priority Bounties********************************/ diff --git a/code/modules/cargo/centcom_podlauncher.dm b/code/modules/cargo/centcom_podlauncher.dm index dfec659e164..0b302925e10 100644 --- a/code/modules/cargo/centcom_podlauncher.dm +++ b/code/modules/cargo/centcom_podlauncher.dm @@ -383,7 +383,7 @@ if (specificTarget) specificTarget = null return - var/list/mobs = getpois()//code stolen from observer.dm + var/list/mobs = SSpoints_of_interest.get_mob_pois() var/inputTarget = input("Select a mob! (Smiting does this automatically)", "Target", null, null) as null|anything in mobs if (isnull(inputTarget)) return diff --git a/code/modules/cargo/console.dm b/code/modules/cargo/console.dm index 143480b2bc7..1d937060b8c 100644 --- a/code/modules/cargo/console.dm +++ b/code/modules/cargo/console.dm @@ -1,33 +1,48 @@ +#define BEACON_COST 500 +#define SP_LINKED 1 +#define SP_READY 2 +#define SP_LAUNCH 3 +#define SP_UNLINK 4 +#define SP_UNREADY 5 + /obj/machinery/computer/cargo - name = "supply console" - desc = "Used to order supplies, approve requests, and control the shuttle." - icon_screen = "supply" + name = "outpost communications console" + desc = "This console allows the user to communicate with a nearby outpost to \ + purchase supplies and manage missions. Purchases are delivered near-instantly." + icon_screen = "supply_express" circuit = /obj/item/circuitboard/computer/cargo light_color = COLOR_BRIGHT_ORANGE - var/requestonly = FALSE + /// The ship we reside on for ease of access + var/datum/overmap/ship/controlled/current_ship var/contraband = FALSE var/self_paid = FALSE var/safety_warning = "For safety reasons, the automated supply shuttle \ cannot transport live organisms, human remains, classified nuclear weaponry, \ homing beacons or machinery housing any form of artificial intelligence." - var/blockade_warning = "Bluespace instability detected. Shuttle movement impossible." - /// radio used by the console to send messages on supply channel - var/obj/item/radio/headset/radio /// var that tracks message cooldown var/message_cooldown - -/obj/machinery/computer/cargo/request - name = "supply request console" - desc = "Used to request supplies from cargo." - icon_screen = "request" - circuit = /obj/item/circuitboard/computer/cargo/request - requestonly = TRUE + var/blockade_warning = "Bluespace instability detected. Delivery impossible." + var/message + /// Number of beacons printed. Used to determine beacon names. + var/printed_beacons = 0 + var/list/supply_pack_data + /// The currently linked supplypod beacon + var/obj/item/supplypod_beacon/beacon + /// Area instance that cargo pods are sent to + var/area/landingzone + /// The pod type used to deliver orders + var/podType = /obj/structure/closet/supplypod/centcompod + /// Cooldown to prevent printing supplypod beacon spam + var/cooldown = 0 + /// Is the console in beacon mode? exists to let beacon know when a pod may come in + var/use_beacon = FALSE + /// The account to charge purchases to, defaults to the cargo budget + var/datum/bank_account/charge_account /obj/machinery/computer/cargo/Initialize() . = ..() - radio = new /obj/item/radio/headset/headset_cargo(src) var/obj/item/circuitboard/computer/cargo/board = circuit contraband = board.contraband if (board.obj_flags & EMAGGED) @@ -36,7 +51,8 @@ obj_flags &= ~EMAGGED /obj/machinery/computer/cargo/Destroy() - QDEL_NULL(radio) + if(beacon) + beacon.unlink_console() return ..() /obj/machinery/computer/cargo/proc/get_export_categories() @@ -62,70 +78,70 @@ board.obj_flags |= EMAGGED update_static_data(user) +/obj/machinery/computer/cargo/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) + current_ship = port.current_ship + /obj/machinery/computer/cargo/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) - ui = new(user, src, "Cargo", name) + ui = new(user, src, "OutpostCommunications", name) ui.open() + if(!charge_account) + reconnect() + +/obj/machinery/computer/cargo/ui_static_data(mob/user) + . = ..() + var/outpost_docked = istype(current_ship.docked_to, /datum/overmap/outpost) + if(outpost_docked) + generate_pack_data() + else + supply_pack_data = list() -/obj/machinery/computer/cargo/ui_data() +/obj/machinery/computer/cargo/ui_data(mob/user) + var/canBeacon = beacon && (isturf(beacon.loc) || ismob(beacon.loc))//is the beacon in a valid location? var/list/data = list() - data["location"] = SSshuttle.supply.getStatusText() - var/datum/bank_account/D = SSeconomy.get_dep_account(ACCOUNT_CAR) - if(D) - data["points"] = D.account_balance - data["away"] = SSshuttle.supply.get_docked() == SSshuttle.supply_away_port - data["self_paid"] = self_paid - data["docked"] = SSshuttle.supply.mode == SHUTTLE_IDLE - var/message = "Remember to stamp and send back the supply manifests." - if(SSshuttle.centcom_message) - message = SSshuttle.centcom_message + + var/outpost_docked = istype(current_ship.docked_to, /datum/overmap/outpost) + + data["onShip"] = !isnull(current_ship) + data["numMissions"] = current_ship ? LAZYLEN(current_ship.missions) : 0 + data["maxMissions"] = current_ship ? current_ship.max_missions : 0 + data["outpostDocked"] = outpost_docked + data["points"] = charge_account ? charge_account.account_balance : 0 + data["siliconUser"] = user.has_unlimited_silicon_privilege && check_ship_ai_access(user) + data["beaconZone"] = beacon ? get_area(beacon) : ""//where is the beacon located? outputs in the tgui + data["usingBeacon"] = use_beacon //is the mode set to deliver to the beacon or the cargobay? + data["canBeacon"] = !use_beacon || canBeacon //is the mode set to beacon delivery, and is the beacon in a valid location? + data["canBuyBeacon"] = charge_account ? (cooldown <= 0 && charge_account.account_balance >= BEACON_COST) : FALSE + data["beaconError"] = use_beacon && !canBeacon ? "(BEACON ERROR)" : ""//changes button text to include an error alert if necessary + data["hasBeacon"] = beacon != null//is there a linked beacon? + data["beaconName"] = beacon ? beacon.name : "No Beacon Found" + data["printMsg"] = cooldown > 0 ? "Print Beacon for [BEACON_COST] credits ([cooldown])" : "Print Beacon for [BEACON_COST] credits"//buttontext for printing beacons + data["supplies"] = list() + message = "Sales are near-instantaneous - please choose carefully." if(SSshuttle.supplyBlocked) message = blockade_warning + if(use_beacon && !beacon) + message = "BEACON ERROR: BEACON MISSING"//beacon was destroyed + else if (use_beacon && !canBeacon) + message = "BEACON ERROR: MUST BE EXPOSED"//beacon's loc/user's loc must be a turf data["message"] = message - data["cart"] = list() - for(var/datum/supply_order/SO in SSshuttle.shoppinglist) - data["cart"] += list(list( - "object" = SO.pack.name, - "cost" = SO.pack.cost, - "id" = SO.id, - "orderer" = SO.orderer, - "paid" = !isnull(SO.paying_account) //paid by requester - )) - data["requests"] = list() - for(var/datum/supply_order/SO in SSshuttle.requestlist) - data["requests"] += list(list( - "object" = SO.pack.name, - "cost" = SO.pack.cost, - "orderer" = SO.orderer, - "reason" = SO.reason, - "id" = SO.id - )) + data["supplies"] = supply_pack_data + if (cooldown > 0)//cooldown used for printing beacons + cooldown-- - return data + data["shipMissions"] = list() + data["outpostMissions"] = list() + + if(current_ship) + for(var/datum/mission/M as anything in current_ship.missions) + data["shipMissions"] += list(M.get_tgui_info()) + if(outpost_docked) + var/datum/overmap/outpost/out = current_ship.docked_to + for(var/datum/mission/M as anything in out.missions) + data["outpostMissions"] += list(M.get_tgui_info()) -/obj/machinery/computer/cargo/ui_static_data(mob/user) - var/list/data = list() - data["requestonly"] = requestonly - data["supplies"] = list() - for(var/pack in SSshuttle.supply_packs) - var/datum/supply_pack/P = SSshuttle.supply_packs[pack] - if(!data["supplies"][P.group]) - data["supplies"][P.group] = list( - "name" = P.group, - "packs" = list() - ) - if((P.hidden && !(obj_flags & EMAGGED)) || (P.contraband && !contraband) || (P.special && !P.special_enabled) || P.DropPodOnly) - continue - data["supplies"][P.group]["packs"] += list(list( - "name" = P.name, - "cost" = P.cost, - "id" = pack, - "desc" = P.desc || P.name, // If there is a description, use it. Otherwise use the pack's name. - "small_item" = P.small_item, - "access" = P.access - )) return data /obj/machinery/computer/cargo/ui_act(action, params, datum/tgui/ui) @@ -133,115 +149,169 @@ if(.) return switch(action) - if("send") - if(!SSshuttle.supply.canMove()) - say(safety_warning) - return - if(SSshuttle.supplyBlocked) - say(blockade_warning) - return - if(SSshuttle.supply.get_docked() == SSshuttle.supply_home_port) - SSshuttle.supply.export_categories = get_export_categories() - SSshuttle.moveShuttle(SSshuttle.supply, SSshuttle.supply_away_port, TRUE) - say("The supply shuttle is departing.") - investigate_log("[key_name(usr)] sent the supply shuttle away.", INVESTIGATE_CARGO) - else - investigate_log("[key_name(usr)] called the supply shuttle.", INVESTIGATE_CARGO) - say("The supply shuttle has been called and will arrive in [SSshuttle.supply.timeLeft(600)] minutes.") - SSshuttle.moveShuttle(SSshuttle.supply, SSshuttle.supply_home_port, TRUE) - . = TRUE - if("add") - if(istype(src, /obj/machinery/computer/cargo/express)) - return - var/id = text2path(params["id"]) - var/datum/supply_pack/pack = SSshuttle.supply_packs[id] - if(!istype(pack)) - return - if((pack.hidden && !(obj_flags & EMAGGED)) || (pack.contraband && !contraband) || pack.DropPodOnly) + if("withdrawCash") + var/val = text2num(params["value"]) + // no giving yourself money + if(!charge_account || !val || val <= 0) return + if(charge_account.adjust_money(-val, CREDIT_LOG_WITHDRAW)) + var/obj/item/holochip/cash_chip = new /obj/item/holochip(drop_location(), val) + if(ishuman(usr)) + var/mob/living/carbon/human/user = usr + user.put_in_hands(cash_chip) + playsound(src, 'sound/machines/twobeep_high.ogg', 50, TRUE) + src.visible_message("[src] dispenses a holochip.") + return TRUE - var/name = "*None Provided*" - var/rank = "*None Provided*" - var/ckey = usr.ckey - if(ishuman(usr)) - var/mob/living/carbon/human/H = usr - name = H.get_authentification_name() - rank = H.get_assignment(hand_first = TRUE) - else if(issilicon(usr)) - name = usr.real_name - rank = "Silicon" - - var/datum/bank_account/account - if(self_paid && ishuman(usr)) - var/mob/living/carbon/human/H = usr - var/obj/item/card/id/id_card = H.get_idcard(TRUE) - if(!istype(id_card)) - say("No ID card detected.") - return - account = id_card.registered_account - if(!istype(account)) - say("Invalid bank account.") + if("LZCargo") + use_beacon = FALSE + if (beacon) + beacon.update_status(SP_UNREADY) //ready light on beacon will turn off + if("LZBeacon") + use_beacon = TRUE + if (beacon) + beacon.update_status(SP_READY) //turns on the beacon's ready light + if("printBeacon") + if(charge_account?.adjust_money(-BEACON_COST, "cargo_beacon")) + cooldown = 10//a ~ten second cooldown for printing beacons to prevent spam + var/obj/item/supplypod_beacon/C = new /obj/item/supplypod_beacon(drop_location()) + C.link_console(src, usr)//rather than in beacon's Initialize(), we can assign the computer to the beacon by reusing this proc) + printed_beacons++//printed_beacons starts at 0, so the first one out will be called beacon # 1 + beacon.name = "Supply Pod Beacon #[printed_beacons]" + if("add") + var/datum/overmap/outpost/current_outpost = current_ship.docked_to + if(istype(current_ship.docked_to)) + var/datum/supply_pack/current_pack = locate(params["ref"]) in current_outpost.supply_packs + var/same_faction = current_pack.faction ? current_pack.faction.allowed_faction(current_ship.faction_datum) : FALSE + var/total_cost = (same_faction && current_pack.faction_discount) ? current_pack.cost - (current_pack.cost * (current_pack.faction_discount * 0.01)) : current_pack.cost + if(!current_pack || !charge_account?.has_money(total_cost)) return - var/reason = "" - if(requestonly && !self_paid) - reason = stripped_input("Reason:", name, "") - if(isnull(reason) || ..()) - return + var/turf/landing_turf + if(!isnull(beacon) && use_beacon) // prioritize beacons over landing in cargobay + landing_turf = get_turf(beacon) + beacon.update_status(SP_LAUNCH) + else if(!use_beacon)// find a suitable supplypod landing zone in cargobay + var/list/empty_turfs = list() + if(!landingzone) + reconnect() + if(!landingzone) + WARNING("[src] couldnt find a Ship/Cargo (aka cargobay) area on a ship, and as such it has set the supplypod landingzone to the area it resides in.") + landingzone = get_area(src) + for(var/turf/open/floor/T in landingzone.contents)//uses default landing zone + if(T.is_blocked_turf()) + continue + empty_turfs += T + CHECK_TICK + landing_turf = pick(empty_turfs) - var/turf/T = get_turf(src) - var/datum/supply_order/SO = new(pack, name, rank, ckey, reason, account) - SO.generateRequisition(T) - if(requestonly && !self_paid) - SSshuttle.requestlist += SO - else - SSshuttle.shoppinglist += SO - if(self_paid) - say("Order processed. The price will be charged to [account.account_holder]'s bank account on delivery.") - if(requestonly && message_cooldown < world.time) - radio.talk_into(src, "A new order has been requested.", RADIO_CHANNEL_COMMAND) - message_cooldown = world.time + 30 SECONDS - . = TRUE - if("remove") - var/id = text2num(params["id"]) - for(var/datum/supply_order/SO in SSshuttle.shoppinglist) - if(SO.id == id) - SSshuttle.shoppinglist -= SO - . = TRUE - break - if("clear") - SSshuttle.shoppinglist.Cut() - . = TRUE - if("approve") - var/id = text2num(params["id"]) - for(var/datum/supply_order/SO in SSshuttle.requestlist) - if(SO.id == id) - SSshuttle.requestlist -= SO - SSshuttle.shoppinglist += SO - . = TRUE - break - if("deny") - var/id = text2num(params["id"]) - for(var/datum/supply_order/SO in SSshuttle.requestlist) - if(SO.id == id) - SSshuttle.requestlist -= SO - . = TRUE - break - if("denyall") - SSshuttle.requestlist.Cut() - . = TRUE - if("toggleprivate") - self_paid = !self_paid - . = TRUE - if(.) - post_signal("supply") + // note that, because of CHECK_TICK above, we aren't sure if we can + // afford the pack, even though we checked earlier. luckily adjust_money + // returns false if the account can't afford the price + if(landing_turf && charge_account.adjust_money(-total_cost, CREDIT_LOG_CARGO)) + var/name = "*None Provided*" + var/rank = "*None Provided*" + if(ishuman(usr)) + var/mob/living/carbon/human/H = usr + name = H.get_authentification_name() + rank = H.get_assignment(hand_first = TRUE) + else if(issilicon(usr)) + name = usr.real_name + rank = "Silicon" + var/datum/supply_order/SO = new(current_pack, name, rank, usr.ckey, "", ordering_outpost = current_ship.docked_to) + new /obj/effect/pod_landingzone(landing_turf, podType, SO) + update_appearance() // ?????????????????? + return TRUE -/obj/machinery/computer/cargo/proc/post_signal(command) + if("mission-act") + var/datum/mission/mission = locate(params["ref"]) + var/obj/docking_port/mobile/D = SSshuttle.get_containing_shuttle(src) + var/datum/overmap/ship/controlled/ship = D.current_ship + var/datum/overmap/outpost/outpost = ship.docked_to + if(!istype(outpost) || mission.source_outpost != outpost) // important to check these to prevent href fuckery + return + if(!mission.accepted) + if(LAZYLEN(ship.missions) >= ship.max_missions) + return + mission.accept(ship, loc) + return TRUE + else if(mission.servant == ship) + if(mission.can_complete()) + mission.turn_in() + else if(tgui_alert(usr, "Give up on [mission]?", src, list("Yes", "No")) == "Yes") + mission.give_up() + return TRUE - var/datum/radio_frequency/frequency = SSradio.return_frequency(FREQ_STATUS_DISPLAYS) +/obj/machinery/computer/cargo/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) + . = ..() + reconnect(port) - if(!frequency) +/obj/machinery/computer/cargo/proc/reconnect(obj/docking_port/mobile/port) + if(!port) + var/area/ship/current_area = get_area(src) + if(!istype(current_area)) + return + port = current_area.mobile_port + if(!port) return + charge_account = port.current_ship.ship_account + landingzone = locate(/area/ship/cargo) in port.shuttle_areas + +/obj/machinery/computer/cargo/attackby(obj/item/W, mob/living/user, params) + var/value = W.get_item_credit_value() + if(value && charge_account) + charge_account.adjust_money(value, CREDIT_LOG_DEPOSIT) + to_chat(user, "You deposit [W]. The Vessel Budget is now [charge_account.account_balance] cr.") + qdel(W) + return TRUE + else if(istype(W, /obj/item/supplypod_beacon)) + var/obj/item/supplypod_beacon/sb = W + if (sb.cargo_console != src) + sb.link_console(src, user) + return TRUE + else + to_chat(user, "[src] is already linked to [sb].") + ..() + +/obj/machinery/computer/cargo/proc/generate_pack_data() + supply_pack_data = list() + + if(!current_ship.docked_to) + return supply_pack_data + + var/datum/overmap/outpost/outpost_docked = current_ship.docked_to + + if(!istype(outpost_docked)) + return supply_pack_data + + for(var/datum/supply_pack/current_pack as anything in outpost_docked.supply_packs) + if(!supply_pack_data[current_pack.group]) + supply_pack_data[current_pack.group] = list( + "name" = current_pack.group, + "packs" = list() + ) + if((current_pack.hidden)) + continue + var/same_faction = current_pack.faction ? current_pack.faction.allowed_faction(current_ship.faction_datum) : FALSE + var/discountedcost = (same_faction && current_pack.faction_discount) ? current_pack.cost - (current_pack.cost * (current_pack.faction_discount * 0.01)) : null + if(current_pack.faction_locked && !same_faction) + continue + supply_pack_data[current_pack.group]["packs"] += list(list( + "name" = current_pack.name, + "cost" = current_pack.cost, + "discountedcost" = discountedcost ? discountedcost : null, + "discountpercent" = current_pack.faction_discount, + "faction_locked" = current_pack.faction_locked, //this will only show if you are same faction, so no issue + "ref" = REF(current_pack), + "desc" = (current_pack.desc || current_pack.name) + (discountedcost ? "\n-[current_pack.faction_discount]% off due to your faction affiliation.\nWas [current_pack.cost]" : "") + (current_pack.faction_locked ? "\nYou are able to purchase this item due to your faction affiliation." : "") // If there is a description, use it. Otherwise use the pack's name. + )) + +/obj/machinery/computer/cargo/retro + icon = 'icons/obj/machines/retro_computer.dmi' + icon_state = "computer-retro" + deconpath = /obj/structure/frame/computer/retro - var/datum/signal/status_signal = new(list("command" = command)) - frequency.post_signal(src, status_signal) +/obj/machinery/computer/cargo/solgov + icon = 'icons/obj/machines/retro_computer.dmi' + icon_state = "computer-solgov" + deconpath = /obj/structure/frame/computer/solgov diff --git a/code/modules/cargo/exports.dm b/code/modules/cargo/exports.dm index be3ec7a2659..165cfb6c119 100644 --- a/code/modules/cargo/exports.dm +++ b/code/modules/cargo/exports.dm @@ -59,7 +59,8 @@ then the player gets the profit from selling his own wasted time. if(!dry_run && (sold || delete_unsold)) if(ismob(thing)) thing.investigate_log("deleted through cargo export",INVESTIGATE_CARGO) - qdel(thing) + if(!dry_run) + qdel(AM) return report diff --git a/code/modules/cargo/exports/large_objects.dm b/code/modules/cargo/exports/large_objects.dm index 030e51cf24f..bb556dc7861 100644 --- a/code/modules/cargo/exports/large_objects.dm +++ b/code/modules/cargo/exports/large_objects.dm @@ -98,8 +98,5 @@ var/worth = 10 worth += C.air_contents.get_moles(GAS_BZ)*2 - worth += C.air_contents.get_moles(GAS_STIMULUM)*100 - worth += C.air_contents.get_moles(GAS_HYPERNOB)*1000 worth += C.air_contents.get_moles(GAS_TRITIUM)*4 - worth += C.air_contents.get_moles(GAS_PLUOXIUM)*5 return worth diff --git a/code/modules/cargo/exports/lavaland.dm b/code/modules/cargo/exports/lavaland.dm index 4779886622a..ba721f10213 100644 --- a/code/modules/cargo/exports/lavaland.dm +++ b/code/modules/cargo/exports/lavaland.dm @@ -9,10 +9,6 @@ /obj/item/book_of_babel, /obj/item/wisp_lantern, /obj/item/reagent_containers/glass/bottle/potion/flight, - /obj/item/katana/cursed, - /obj/item/clothing/glasses/godeye, - /obj/item/melee/ghost_sword, - /obj/item/clothing/suit/space/hardsuit/cult, /obj/item/voodoo, /obj/item/grenade/clusterbuster/inferno, /obj/item/clothing/neck/memento_mori, @@ -21,17 +17,13 @@ /obj/item/dragons_blood, /obj/item/lava_staff, /obj/item/ship_in_a_bottle, - /obj/item/clothing/shoes/clown_shoes/banana_shoes, - /obj/item/kitchen/knife/envy, /obj/item/veilrender/vealrender, - /obj/item/nullrod/scythe/talking/necro, /obj/item/clothing/suit/armor/ascetic) /datum/export/lavaland/major //valuable chest/ruin loot and staff of storms cost = 10000 unit_name = "lava planet artifact" - export_types = list(/obj/item/guardiancreator, - /obj/item/rod_of_asclepius, + export_types = list(/obj/item/rod_of_asclepius, /obj/item/clothing/suit/space/hardsuit/ert/paranormal, /obj/item/prisoncube, /obj/item/staff/storm, @@ -47,12 +39,11 @@ cost = 40000 unit_name = "major lava planet artifact" export_types = list(/obj/item/hierophant_club, - /obj/item/melee/transforming/cleaving_saw, + /obj/item/melee/cleaving_saw, /obj/item/organ/vocal_cords/colossus, /obj/machinery/anomalous_crystal, /obj/item/mayhem, /obj/item/blood_contract, - /obj/item/guardiancreator/miner/choose//this is basically the most valulable mining loot so good luck getting a miner to part ways ) /* /datum/export/lavaland/trophycommon diff --git a/code/modules/cargo/exports/parts.dm b/code/modules/cargo/exports/parts.dm index 0df08954398..115dfdf3ff6 100644 --- a/code/modules/cargo/exports/parts.dm +++ b/code/modules/cargo/exports/parts.dm @@ -15,11 +15,6 @@ unit_name = "solar panel control board" export_types = list(/obj/item/circuitboard/computer/solar_control) -/datum/export/swarmer - cost = 2000 - unit_name = "deactivated alien deconstruction drone" - export_types = list(/obj/item/deactivated_swarmer) - //Computer Tablets and Parts /datum/export/modular_part cost = 15 diff --git a/code/modules/cargo/exports/tools.dm b/code/modules/cargo/exports/tools.dm index 287fba69aaa..efb0cfdb4a5 100644 --- a/code/modules/cargo/exports/tools.dm +++ b/code/modules/cargo/exports/tools.dm @@ -96,10 +96,6 @@ exclude_types = list(/obj/item/radio/mech) //Advanced/Power Tools. -/datum/export/weldingtool/experimental - cost = 90 - unit_name = "experimental welding tool" - export_types = list(/obj/item/weldingtool/experimental) /datum/export/jawsoflife cost = 100 diff --git a/code/modules/cargo/exports/weapons.dm b/code/modules/cargo/exports/weapons.dm index bbe73991f7e..118cfa8a69e 100644 --- a/code/modules/cargo/exports/weapons.dm +++ b/code/modules/cargo/exports/weapons.dm @@ -13,7 +13,7 @@ /datum/export/weapon/knife cost = 100 unit_name = "combat knife" - export_types = list(/obj/item/kitchen/knife/combat) + export_types = list(/obj/item/melee/knife/combat) /datum/export/weapon/taser @@ -41,12 +41,6 @@ unit_name = "WT-550 automatic rifle" export_types = list(/obj/item/gun/ballistic/automatic/smg/wt550) -/datum/export/weapon/shotgun - cost = 300 - unit_name = "combat shotgun" - export_types = list(/obj/item/gun/ballistic/shotgun/automatic/combat) - - /datum/export/weapon/flashbang cost = 5 unit_name = "flashbang grenade" diff --git a/code/modules/cargo/expressconsole.dm b/code/modules/cargo/expressconsole.dm deleted file mode 100644 index 81409d63d03..00000000000 --- a/code/modules/cargo/expressconsole.dm +++ /dev/null @@ -1,262 +0,0 @@ -#define BEACON_COST 500 -#define SP_LINKED 1 -#define SP_READY 2 -#define SP_LAUNCH 3 -#define SP_UNLINK 4 -#define SP_UNREADY 5 - -/obj/machinery/computer/cargo/express - name = "outpost communications console" - desc = "This console allows the user to communicate with a nearby outpost to \ - purchase supplies and manage missions. Purchases are delivered near-instantly." - icon_screen = "supply_express" - circuit = /obj/item/circuitboard/computer/cargo/express - var/blockade_warning = "Bluespace instability detected. Delivery impossible." - - var/message - /// Number of beacons printed. Used to determine beacon names. - var/printed_beacons = 0 - var/list/meme_pack_data - /// The currently linked supplypod beacon - var/obj/item/supplypod_beacon/beacon - /// Area instance that cargo pods are sent to - var/area/landingzone - /// The pod type used to deliver orders - var/podType = /obj/structure/closet/supplypod/centcompod - /// Cooldown to prevent printing supplypod beacon spam - var/cooldown = 0 - /// Is the console in beacon mode? exists to let beacon know when a pod may come in - var/use_beacon = FALSE - /// The account to charge purchases to, defaults to the cargo budget - var/datum/bank_account/charge_account - -/obj/machinery/computer/cargo/express/retro - icon = 'icons/obj/machines/retro_computer.dmi' - icon_state = "computer-retro" - deconpath = /obj/structure/frame/computer/retro - -/obj/machinery/computer/cargo/express/solgov - icon = 'icons/obj/machines/retro_computer.dmi' - icon_state = "computer-solgov" - deconpath = /obj/structure/frame/computer/solgov - -/obj/machinery/computer/cargo/express/Initialize() - . = ..() - packin_up() - -/obj/machinery/computer/cargo/express/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) - . = ..() - reconnect(port) - -/obj/machinery/computer/cargo/express/proc/reconnect(obj/docking_port/mobile/port) - if(!port) - var/area/ship/current_area = get_area(src) - if(!istype(current_area)) - return - port = current_area.mobile_port - if(!port) - return - charge_account = port.current_ship.ship_account - landingzone = locate(/area/ship/cargo) in port.shuttle_areas - -/obj/machinery/computer/cargo/express/Destroy() - if(beacon) - beacon.unlink_console() - return ..() - -/obj/machinery/computer/cargo/express/attackby(obj/item/W, mob/living/user, params) - var/value = W.get_item_credit_value() - if(value && charge_account) - charge_account.adjust_money(value) - to_chat(user, "You deposit [W]. The Vessel Budget is now [charge_account.account_balance] cr.") - qdel(W) - return TRUE - else if(istype(W, /obj/item/supplypod_beacon)) - var/obj/item/supplypod_beacon/sb = W - if (sb.express_console != src) - sb.link_console(src, user) - return TRUE - else - to_chat(user, "[src] is already linked to [sb].") - ..() - -/obj/machinery/computer/cargo/express/proc/packin_up() // oh shit, I'm sorry - meme_pack_data = list() // sorry for what? - for(var/pack in SSshuttle.supply_packs) // our quartermaster taught us not to be ashamed of our supply packs - var/datum/supply_pack/P = SSshuttle.supply_packs[pack] // specially since they're such a good price and all - if(!meme_pack_data[P.group]) // yeah, I see that, your quartermaster gave you good advice - meme_pack_data[P.group] = list( // it gets cheaper when I return it - "name" = P.group, // mmhm - "packs" = list() // sometimes, I return it so much, I rip the manifest - ) // see, my quartermaster taught me a few things too - if((P.hidden)) // like, how not to rip the manifest - continue// by using someone else's crate - meme_pack_data[P.group]["packs"] += list(list( - "name" = P.name, - "cost" = P.cost, - "id" = pack, - "desc" = P.desc || P.name // If there is a description, use it. Otherwise use the pack's name. - )) - -/obj/machinery/computer/cargo/express/ui_interact(mob/living/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "OutpostCommunications", name) - ui.open() - if(!charge_account) - reconnect() - -/obj/machinery/computer/cargo/express/ui_data(mob/user) - var/canBeacon = beacon && (isturf(beacon.loc) || ismob(beacon.loc))//is the beacon in a valid location? - var/list/data = list() - - // not a big fan of get_containing_shuttle - var/obj/docking_port/mobile/D = SSshuttle.get_containing_shuttle(src) - var/datum/overmap/ship/controlled/ship - var/outpost_docked = FALSE - if(D) - ship = D.current_ship - outpost_docked = istype(ship.docked_to, /datum/overmap/outpost) - - data["onShip"] = !isnull(ship) - data["numMissions"] = ship ? LAZYLEN(ship.missions) : 0 - data["maxMissions"] = ship ? ship.max_missions : 0 - data["outpostDocked"] = outpost_docked - data["points"] = charge_account ? charge_account.account_balance : 0 - data["siliconUser"] = user.has_unlimited_silicon_privilege && check_ship_ai_access(user) - data["beaconZone"] = beacon ? get_area(beacon) : ""//where is the beacon located? outputs in the tgui - data["usingBeacon"] = use_beacon //is the mode set to deliver to the beacon or the cargobay? - data["canBeacon"] = !use_beacon || canBeacon //is the mode set to beacon delivery, and is the beacon in a valid location? - data["canBuyBeacon"] = charge_account ? (cooldown <= 0 && charge_account.account_balance >= BEACON_COST) : FALSE - data["beaconError"] = use_beacon && !canBeacon ? "(BEACON ERROR)" : ""//changes button text to include an error alert if necessary - data["hasBeacon"] = beacon != null//is there a linked beacon? - data["beaconName"] = beacon ? beacon.name : "No Beacon Found" - data["printMsg"] = cooldown > 0 ? "Print Beacon for [BEACON_COST] credits ([cooldown])" : "Print Beacon for [BEACON_COST] credits"//buttontext for printing beacons - data["supplies"] = list() - message = "Sales are near-instantaneous - please choose carefully." - if(SSshuttle.supplyBlocked) - message = blockade_warning - if(use_beacon && !beacon) - message = "BEACON ERROR: BEACON MISSING"//beacon was destroyed - else if (use_beacon && !canBeacon) - message = "BEACON ERROR: MUST BE EXPOSED"//beacon's loc/user's loc must be a turf - data["message"] = message - if(!meme_pack_data) - packin_up() - stack_trace("You didn't give the cargo tech good advice, and he ripped the manifest. As a result, there was no pack data for [src]") - data["supplies"] = meme_pack_data - if (cooldown > 0)//cooldown used for printing beacons - cooldown-- - - data["shipMissions"] = list() - data["outpostMissions"] = list() - - if(ship) - for(var/datum/mission/M as anything in ship.missions) - data["shipMissions"] += list(M.get_tgui_info()) - if(outpost_docked) - var/datum/overmap/outpost/out = ship.docked_to - for(var/datum/mission/M as anything in out.missions) - data["outpostMissions"] += list(M.get_tgui_info()) - - return data - -/obj/machinery/computer/cargo/express/ui_act(action, params, datum/tgui/ui) - . = ..() - if(.) - return - - switch(action) - if("withdrawCash") - var/val = text2num(params["value"]) - // no giving yourself money - if(!charge_account || !val || val <= 0) - return - if(charge_account.adjust_money(-val)) - var/obj/item/holochip/cash_chip = new /obj/item/holochip(drop_location(), val) - if(ishuman(usr)) - var/mob/living/carbon/human/user = usr - user.put_in_hands(cash_chip) - playsound(src, 'sound/machines/twobeep_high.ogg', 50, TRUE) - src.visible_message("[src] dispenses a holochip.") - return TRUE - - if("LZCargo") - use_beacon = FALSE - if (beacon) - beacon.update_status(SP_UNREADY) //ready light on beacon will turn off - if("LZBeacon") - use_beacon = TRUE - if (beacon) - beacon.update_status(SP_READY) //turns on the beacon's ready light - if("printBeacon") - if(charge_account?.adjust_money(-BEACON_COST)) - cooldown = 10//a ~ten second cooldown for printing beacons to prevent spam - var/obj/item/supplypod_beacon/C = new /obj/item/supplypod_beacon(drop_location()) - C.link_console(src, usr)//rather than in beacon's Initialize(), we can assign the computer to the beacon by reusing this proc) - printed_beacons++//printed_beacons starts at 0, so the first one out will be called beacon # 1 - beacon.name = "Supply Pod Beacon #[printed_beacons]" - - if("add") - var/area/ship/current_area = get_area(src) - var/datum/supply_pack/pack = SSshuttle.supply_packs[text2path(params["id"])] - if( \ - !pack || !charge_account?.has_money(pack.cost) || !istype(current_area) || \ - !istype(current_area.mobile_port.current_ship.docked_to, /datum/overmap/outpost) \ - ) - return - - var/turf/landing_turf - if(!isnull(beacon) && use_beacon) // prioritize beacons over landing in cargobay - landing_turf = get_turf(beacon) - beacon.update_status(SP_LAUNCH) - else if(!use_beacon)// find a suitable supplypod landing zone in cargobay - var/list/empty_turfs = list() - if(!landingzone) - reconnect() - if(!landingzone) - WARNING("[src] couldnt find a Ship/Cargo (aka cargobay) area on a ship, and as such it has set the supplypod landingzone to the area it resides in.") - landingzone = get_area(src) - for(var/turf/open/floor/T in landingzone.contents)//uses default landing zone - if(T.is_blocked_turf()) - continue - empty_turfs += T - CHECK_TICK - landing_turf = pick(empty_turfs) - - // note that, because of CHECK_TICK above, we aren't sure if we can - // afford the pack, even though we checked earlier. luckily adjust_money - // returns false if the account can't afford the price - if(landing_turf && charge_account.adjust_money(-pack.cost)) - var/name = "*None Provided*" - var/rank = "*None Provided*" - if(ishuman(usr)) - var/mob/living/carbon/human/H = usr - name = H.get_authentification_name() - rank = H.get_assignment(hand_first = TRUE) - else if(issilicon(usr)) - name = usr.real_name - rank = "Silicon" - var/datum/supply_order/SO = new(pack, name, rank, usr.ckey, "") - new /obj/effect/pod_landingzone(landing_turf, podType, SO) - update_appearance() // ?????????????????? - return TRUE - - if("mission-act") - var/datum/mission/mission = locate(params["ref"]) - var/obj/docking_port/mobile/D = SSshuttle.get_containing_shuttle(src) - var/datum/overmap/ship/controlled/ship = D.current_ship - var/datum/overmap/outpost/outpost = ship.docked_to - if(!istype(outpost) || mission.source_outpost != outpost) // important to check these to prevent href fuckery - return - if(!mission.accepted) - if(LAZYLEN(ship.missions) >= ship.max_missions) - return - mission.accept(ship, loc) - return TRUE - else if(mission.servant == ship) - if(mission.can_complete()) - mission.turn_in() - else - mission.give_up() - return TRUE diff --git a/code/modules/cargo/gondolapod.dm b/code/modules/cargo/gondolapod.dm index 560fc46668d..2a05796e67f 100644 --- a/code/modules/cargo/gondolapod.dm +++ b/code/modules/cargo/gondolapod.dm @@ -20,7 +20,7 @@ layer = TABLE_LAYER//so that deliveries dont appear underneath it loot = list(/obj/effect/decal/cleanable/blood/gibs, /obj/item/stack/sheet/animalhide/gondola = 2, /obj/item/reagent_containers/food/snacks/meat/slab/gondola = 2) //Gondolas aren't affected by cold. - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 maxHealth = 200 diff --git a/code/modules/cargo/order.dm b/code/modules/cargo/order.dm index e802bf1aa27..010e4e3d0ef 100644 --- a/code/modules/cargo/order.dm +++ b/code/modules/cargo/order.dm @@ -15,15 +15,21 @@ var/reason var/datum/supply_pack/pack var/datum/bank_account/paying_account + var/datum/overmap/outpost/ordering_outpost -/datum/supply_order/New(datum/supply_pack/pack, orderer, orderer_rank, orderer_ckey, reason, paying_account) - id = SSshuttle.ordernum++ +/datum/supply_order/New(datum/supply_pack/pack, orderer, orderer_rank, orderer_ckey, reason, paying_account, ordering_outpost) src.pack = pack src.orderer = orderer src.orderer_rank = orderer_rank src.orderer_ckey = orderer_ckey src.reason = reason src.paying_account = paying_account + src.ordering_outpost = ordering_outpost + if(src.ordering_outpost) + id = src.ordering_outpost.ordernum++ + if(pack) + SSblackbox.record_feedback("nested tally", "crate_ordered", 1, list(pack.name, "amount")) + SSblackbox.record_feedback("nested tally", "crate_ordered", pack.cost, list(pack.name, "cost")) /datum/supply_order/proc/generateRequisition(turf/T) var/obj/item/paper/requisition_paper = new(T) diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 8098ff6b513..4e26a713a6b 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -7,10 +7,13 @@ var/crate_name = "crate" var/desc = ""//no desc by default var/crate_type = /obj/structure/closet/crate - // var/DropPodOnly = FALSE//only usable by the Bluespace Drop Pod via the express cargo console var/admin_spawned = FALSE var/small_item = FALSE //Small items can be grouped into a single crate. + var/datum/faction/faction + var/faction_discount = 15 + var/faction_locked = FALSE + /datum/supply_pack/proc/generate(atom/A, datum/bank_account/paying_account) var/obj/structure/closet/crate/C if(paying_account) diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index e0d1743c328..19510740f34 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -1,74 +1,240 @@ /datum/supply_pack/ammo - group = "Ammunition" + group = "Bulk Ammunition" crate_type = /obj/structure/closet/crate/secure/gear + crate_name = "ammo crate" -/* - Pistol ammo -*/ +/* Misc */ + +/datum/supply_pack/ammo/blank_ammo_disk + name = "Blank Ammo Design Disk Crate" + desc = "Run your own training drills!" + cost = 1000 + contains = list(/obj/item/disk/design_disk/blanks) + +/* .22lr */ + +/datum/supply_pack/ammo/c22lr + name = ".22 LR Ammo Box Crate" + desc = "Contains a 100-round ammo box for refilling .22 LR weapons." + contains = list(/obj/item/storage/box/ammo/c22lr) + cost = 250 + +/datum/supply_pack/ammo/c22lr_hp + name = ".22 LR HP Ammo Box Crate" + desc = "Contains a 100-round hollow point ammo box for refilling .22 LR weapons." + contains = list(/obj/item/storage/box/ammo/c22lr/hp) + cost = 600 + +/datum/supply_pack/ammo/c22lr_ap + name = ".22 LR AP Ammo Box Crate" + desc = "Contains a 100-round armour piercing ammo box for refilling .22 LR weapons." + contains = list(/obj/item/storage/box/ammo/c22lr/ap) + cost = 600 + + +/* 9mm */ + +/datum/supply_pack/ammo/c9mm_ammo_box + name = "9mm Ammo Box Crate" + desc = "Contains a 60-round 9mm box for pistols and SMGs such as the Commander or Saber." + contains = list(/obj/item/storage/box/ammo/c9mm) + cost = 200 + +/datum/supply_pack/ammo/c9mmap_ammo_box + name = "9mm AP Ammo Box Crate" + desc = "Contains a 60-round 9mm box loaded with armor piercing ammo." + contains = list(/obj/item/storage/box/ammo/c9mm_ap) + cost = 400 + +/datum/supply_pack/ammo/c9mmhp_ammo_box + name = "9mm HP Ammo Box Crate" + desc = "Contains a 60-round 9mm box loaded with hollow point ammo, great against unarmored targets." + contains = list(/obj/item/storage/box/ammo/c9mm_hp) + cost = 400 + +/datum/supply_pack/ammo/c9mmrubber_ammo_box + name = "9mm Rubber Ammo Box Crate" + desc = "Contains a 60-round 9mm box loaded with less-than-lethal rubber rounds." + contains = list(/obj/item/storage/box/ammo/c9mm_rubber) + cost = 200 -/datum/supply_pack/ammo/co9mm_mag - name = "9mm Commander Magazine Crate" - desc = "Contains a 9mm magazine for the standard-issue Commander pistol, containing ten rounds." - contains = list(/obj/item/ammo_box/magazine/co9mm) +/* .38 */ + +/datum/supply_pack/ammo/c38 + name = ".38 Ammo Boxes Crate" + desc = "Contains two 50 round ammo boxes for refilling .38 weapons." + cost = 250 + contains = list(/obj/item/storage/box/ammo/c38, + /obj/item/storage/box/ammo/c38) + crate_name = "ammo crate" + +/* 10mm */ + +/datum/supply_pack/ammo/c10mm_ammo_box + name = "10mm Ammo Box Crate" + desc = "Contains a 48-round 10mm box for pistols and SMGs like the Ringneck or the SkM-44(k)." + contains = list(/obj/item/storage/box/ammo/c10mm) + cost = 250 + +/datum/supply_pack/ammo/c10mmap_ammo_box + name = "10mm AP Ammo Box Crate" + desc = "Contains a 48-round 10mm box loaded with armor piercing ammo." + contains = list(/obj/item/storage/box/ammo/c10mm_ap) cost = 500 -/datum/supply_pack/ammo/m45_mag - name = ".45 ACP Candor Magazine Crate" - desc = "Contains a .45 ACP magazine for the Candor pistol, containing eight rounds." - contains = list(/obj/item/ammo_box/magazine/m45) +/datum/supply_pack/ammo/c10mmhp_ammo_box + name = "10mm HP Ammo Box Crate" + desc = "Contains a 48-round 10mm box loaded with hollow point ammo, great against unarmored targets." + contains = list(/obj/item/storage/box/ammo/c10mm_hp) cost = 500 -/datum/supply_pack/ammo/a44roum_speedloader - name = ".44 Roumain Speedloader Crate" - desc = "Contains a .44 Roumain speedloader for the HP Montagne, containing six rounds." - contains = list(/obj/item/ammo_box/a44roum_speedloader) - cost = 400 +/datum/supply_pack/ammo/c10mmrubber_ammo_box + name = "10mm Rubber Ammo Box Crate" + desc = "Contains a 48-round 10mm box loaded with less-than-lethal rubber rounds." + contains = list(/obj/item/storage/box/ammo/c10mm_rubber) + cost = 250 -/datum/supply_pack/ammo/c38_mag - name = ".38 Speedloader Crate" - desc = "Contains a .38 speedloader for revolvers, containing six rounds." - contains = list(/obj/item/ammo_box/c38) - cost = 350 +/* .45 */ + +/datum/supply_pack/ammo/c45_ammo_box + name = ".45 Ammo Box Crate" + desc = "Contains a 48-round .45 box for pistols and SMGs like the Candor or the C-20r." + contains = list(/obj/item/storage/box/ammo/c45) + cost = 250 -/datum/supply_pack/ammo/m10mm_mag - name = "10mm Stechkin Magazine Crate" - desc = "Contains a 10mm magazine for the stechkin pistol, containing eight rounds." - contains = list(/obj/item/ammo_box/magazine/m10mm) +/datum/supply_pack/ammo/c45ap_ammo_box + name = ".45 AP Ammo Box Crate" + desc = "Contains a 48-round .45 box loaded with armor piercing ammo." + contains = list(/obj/item/storage/box/ammo/c45_ap) cost = 500 -/datum/supply_pack/ammo/a357_mag - name = ".357 Speedloader Crate" - desc = "Contains a .357 speedloader for revolvers, containing seven rounds." - contains = list(/obj/item/ammo_box/a357) - cost = 750 +/datum/supply_pack/ammo/c45hp_ammo_box + name = ".45 HP Ammo Box Crate" + desc = "Contains a 48-round .45 box loaded with hollow point ammo, great against unarmored targets." + contains = list(/obj/item/storage/box/ammo/c45_hp) + cost = 500 -/datum/supply_pack/ammo/mag_556mm - name = "5.56 Pistole C Magazine Crate" - desc = "Contains a 5.56mm magazine for the Pistole C, containing twelve rounds." - contains = list(/obj/item/ammo_box/magazine/pistol556mm) - cost = 750 +/datum/supply_pack/ammo/c45mmrubber_ammo_box + name = ".45 Rubber Ammo Box Crate" + desc = "Contains a 48-round .45 box loaded with less-than-lethal rubber rounds." + contains = list(/obj/item/storage/box/ammo/c45_rubber) + cost = 250 -/datum/supply_pack/ammo/fms_mag - name = "Ferromagnetic Slug Magazine Crate" - desc = "Contains a ferromagnetic slug magazine for the Model H pistol, containing ten rounds." - contains = list(/obj/item/ammo_box/magazine/modelh) - cost = 750 +/* .357 */ -/* - Shotgun ammo -*/ +/datum/supply_pack/ammo/a357_ammo_box + name = ".357 Ammo Box Crate" + desc = "Contains a 48-round .357 box for revolvers such as the Scarborough Revolver and the HP Firebrand." + contains = list(/obj/item/storage/box/ammo/a357) + cost = 250 + +/datum/supply_pack/ammo/a357hp_ammo_box + name = ".357 HP Ammo Box Crate" + desc = "Contains a 48-round .357 box loaded with hollow point ammo, great against unarmored targets." + contains = list(/obj/item/storage/box/ammo/a357_hp) + cost = 500 + +/datum/supply_pack/ammo/a357match_ammo_box + name = ".357 Match Ammo Box Crate" + desc = "Contains a 48-round .357 match box for better performance against armor." + contains = list(/obj/item/storage/box/ammo/a357_match) + cost = 500 + +/* .44 */ + +/datum/supply_pack/ammo/a44roum + name = ".44 Roumain Ammo Box Crate" + desc = "Contains a 48-round box of .44 roumain ammo for revolvers such as the Shadow and Montagne." + contains = list(/obj/item/storage/box/ammo/a44roum) + cost = 250 + +/datum/supply_pack/ammo/a44roum_rubber + name = ".44 Roumain Rubber Ammo Box Crate" + desc = "Contains a 48-round box of .44 roumain ammo loaded with less-than-lethal rubber rounds." + contains = list(/obj/item/storage/box/ammo/a44roum_rubber) + cost = 250 + +/datum/supply_pack/ammo/a44roum_hp + name = ".44 Roumain Hollow Point Ammo Box Crate" + desc = "Contains a 48-round box of .44 roumain hollow point ammo, great against unarmored targets." + contains = list(/obj/item/storage/box/ammo/a44roum_hp) + cost = 500 + +/* 4.6x30 */ + +/datum/supply_pack/ammo/c46x30mm_boxcrate + name = "4.6x30mm Ammo Box Crate" + desc = "Contains an 80-round 4.6x30mm box for PDWs such as the WT-550." + contains = list(/obj/item/storage/box/ammo/c46x30mm) + cost = 250 + +/datum/supply_pack/ammo/c46x30mm_ap + name = "4.6x30mm Armour Piercing Ammo Box Crate" + desc = "Contains a 80-round 4.6x30mm armour piercing box for PDWs such as the WT-550." + contains = list(/obj/item/storage/box/ammo/c46x30mm/ap) + cost = 500 + +/datum/supply_pack/ammo/c46x30mm_hp + name = "4.6x30mm Hollow Point Ammo Box Crate" + desc = "Contains a 80-round 4.6x30mm hollow point box for PDWs such as the WT-550." + contains = list(/obj/item/storage/box/ammo/c46x30mm/hp) + cost = 500 + + +/* 5.7x39 */ + +/datum/supply_pack/ammo/c57x39mm_boxcrate + name = "5.7x39mm Ammo Box Crate" + desc = "Contains two 48-round 5.7x39mm box for PDWs such as the Sidewinder." + contains = list( + /obj/item/storage/box/ammo/c57x39, + /obj/item/storage/box/ammo/c57x39, + ) + cost = 350 + +/datum/supply_pack/ammo/c57x39mm_ap + name = "5.7x39mm Armour Piercing Ammo Box Crate" + desc = "Contains two 48-round 5.7x39mm box for PDWs such as the Sidewinder." + contains = list( + /obj/item/storage/box/ammo/c57x39/ap, + /obj/item/storage/box/ammo/c57x39/ap, + ) + cost = 700 + +/datum/supply_pack/ammo/c57x39mm_hp + name = "5.7x39mm Hollow Point Ammo Box Crate" + desc = "Contains two 48-round 5.7x39mm Hollow Point boxes for PDWs such as the Sidewinder." + contains = list( + /obj/item/storage/box/ammo/c57x39/hp, + /obj/item/storage/box/ammo/c57x39/hp, + ) + cost = 700 + +/* 12 Gauge */ /datum/supply_pack/ammo/buckshot name = "Buckshot Crate" - desc = "Contains a box of twenty-five buckshot shells for use in lethal persuasion." + desc = "Contains a box of 32 buckshot shells for use in lethal persuasion." cost = 500 - contains = list(/obj/item/ammo_box/a12g) + contains = list(/obj/item/storage/box/ammo/a12g_buckshot) /datum/supply_pack/ammo/slugs name = "Shotgun Slug Crate" - desc = "Contains a box of twenty-five slug shells for use in lethal persuasion." + desc = "Contains a box of 32 slug shells for use in lethal persuasion." cost = 500 - contains = list(/obj/item/ammo_box/a12g/slug) + contains = list(/obj/item/storage/box/ammo/a12g_slug) + +/datum/supply_pack/ammo/blank_shells + name = "Blank Shell Crate" + desc = "Contains a box of blank shells." + cost = 500 + contains = list(/obj/item/storage/box/ammo/a12g_blank) + +/datum/supply_pack/ammo/rubbershot + name = "Rubbershot Crate" + desc = "Contains a box of 32 12 gauge rubbershot shells. Perfect for crowd control and training." + cost = 500 + contains = list(/obj/item/storage/box/ammo/a12g_rubbershot) /datum/supply_pack/ammo/techshells name = "Unloaded Shotgun Technological Shells Crate" @@ -76,25 +242,19 @@ cost = 210 contains = list(/obj/item/storage/box/techshot) -/* - .38 ammo -*/ +/* .45-70 */ -/datum/supply_pack/ammo/winchester_ammo - name = "Flaming Arrow and Detective Special .38 Ammo Boxes" - desc = "Contains two 50 round ammo boxes for refilling .38 weapons." - cost = 250 - contains = list(/obj/item/ammo_box/c38_box, - /obj/item/ammo_box/c38_box) - crate_name = "ammo crate" +/datum/supply_pack/ammo/a4570_box + name = ".45-70 Ammo Box Crate" + desc = "Contains a 20-round box containing devastatingly powerful .45-70 caliber ammunition." + contains = list(/obj/item/storage/box/ammo/a4570) + cost = 400 -/datum/supply_pack/ammo/match - name = ".38 Match Grade Speedloader" - desc = "Contains one speedloader of match grade .38 ammunition, perfect for showing off trickshots." - cost = 200 - small_item = TRUE - contains = list(/obj/item/ammo_box/c38/match) - crate_name = ".38 match crate" +/datum/supply_pack/ammo/a4570_box/match + name = ".45-70 Match Crate" + desc = "Contains a 20-round box containing devastatingly powerful .45-70 caliber ammunition, that travels faster, pierces armour better, and ricochets off targets." + contains = list(/obj/item/storage/box/ammo/a4570_match) + cost = 800 /datum/supply_pack/ammo/dumdum name = ".38 DumDum Speedloader" @@ -125,7 +285,7 @@ name = ".45 Cobra Ammo Crate" desc = "Contains a .45 magazine for the Cobra-20, containing 24 rounds." cost = 750 - contains = list(/obj/item/ammo_box/magazine/smgm45) + contains = list(/obj/item/ammo_box/magazine/m45_cobra) /* Rifle ammo @@ -179,212 +339,186 @@ contains = list(/obj/item/ammo_box/magazine/illestren_a850r) cost = 250 +/* 7.62 */ + /datum/supply_pack/ammo/a762_ammo_box name = "7.62x40mm CLIP Ammo Box Crate" - desc = "Contains a eighty-round 7.62x40mm CLIP box for the SKM rifles." - contains = list(/obj/item/ammo_box/a762_40) + desc = "Contains two 60-round 7.62x40mm CLIP boxes for the SKM rifles." + contains = list(/obj/item/storage/box/ammo/a762_40, + /obj/item/storage/box/ammo/a762_40) cost = 500 -/datum/supply_pack/ammo/a357_ammo_box - name = ".357 Ammo Box Crate" - desc = "Contains a fifty-round .357 box for revolvers such as the Scarborough Revolver and the HP Firebrand." - contains = list(/obj/item/ammo_box/a357_box) - cost = 250 +/datum/supply_pack/ammo/a762_ap + name = "7.62x40mm CLIP Armour Piercing Ammo Box Crate" + desc = "Contains two 60-round 7.62x40mm CLIP Armour Piercing boxes for the SKM rifles." + contains = list(/obj/item/storage/box/ammo/a762_40/ap, + /obj/item/storage/box/ammo/a762_40/ap) + cost = 1000 -/datum/supply_pack/ammo/c556mmHITP_ammo_box - name = "5.56 Caseless Ammo Box Crate" - desc = "Contains a fifty-round 5.56mm caseless box for SolGov sidearms like the Pistole C." - contains = list(/obj/item/ammo_box/c556mmHITP) - cost = 250 +/datum/supply_pack/ammo/a762_hp + name = "7.62x40mm CLIP Hollow Point Ammo Box Crate" + desc = "Contains two 60-round 7.62x40mm CLIP Hollow Point boxes for the SKM rifles." + contains = list(/obj/item/storage/box/ammo/a762_40/hp, + /obj/item/storage/box/ammo/a762_40/hp) + cost = 1000 -/datum/supply_pack/ammo/c45_ammo_box - name = ".45 Ammo Box Crate" - desc = "Contains a fifty-round .45 box for pistols and SMGs like the Candor or the C-20r." - contains = list(/obj/item/ammo_box/c45) - cost = 250 +/* 5.56 */ -/datum/supply_pack/ammo/c10mm_ammo_box - name = "10mm Ammo Box Crate" - desc = "Contains a fifty-round 10mm box for pistols and SMGs like the Stechkin or the SkM-44(k)." - contains = list(/obj/item/ammo_box/c10mm) - cost = 250 +/datum/supply_pack/ammo/a556_ammo_box + name = "5.56x42mm CLIP Ammo Box Crate" + desc = "Contains two 60-round 5.56x42mm CLIP boxes for most newer rifles." + contains = list(/obj/item/storage/box/ammo/a556_42, + /obj/item/storage/box/ammo/a556_42) + cost = 450 -/datum/supply_pack/ammo/c9mm_ammo_box - name = "9mm Ammo Box Crate" - desc = "Contains a fifty-round 9mm box for pistols and SMGs such as the Commander or Saber." - contains = list(/obj/item/ammo_box/c9mm) - cost = 200 +/datum/supply_pack/ammo/a556_ap + name = "5.56x42mm CLIP Armour Piercing Ammo Box Crate" + desc = "Contains two 60-round 5.56x42mm CLIP Armour Piercing boxes for most newer rifles." + contains = list(/obj/item/storage/box/ammo/a556_42/ap, + /obj/item/storage/box/ammo/a556_42/ap) + cost = 900 -/datum/supply_pack/ammo/a308_ammo_box - name = "308 Ammo Box Crate" - desc = "Contains a thirty-round .308 box for DMRs such as the SsG-04 and CM-GAL-S." - contains = list(/obj/item/ammo_box/a308) - cost = 500 +/datum/supply_pack/ammo/a556_hp + name = "5.56x42mm CLIP Hollow Point Ammo Box Crate" + desc = "Contains two 60-round 5.56x42mm CLIP Hollow Point boxes for most newer rifles." + contains = list(/obj/item/storage/box/ammo/a556_42/hp, + /obj/item/storage/box/ammo/a556_42/hp) + cost = 900 -/datum/supply_pack/ammo/c9mmap_ammo_box - name = "9mm AP Ammo Box Crate" - desc = "Contains a fifty-round 9mm box loaded with armor piercing ammo." - contains = list(/obj/item/ammo_box/c9mm/ap) - cost = 400 +/* 5.56 caseless */ -/datum/supply_pack/ammo/a357match_ammo_box - name = ".357 Match Ammo Box Crate" - desc = "Contains a fifty-round .357 match box for better performance against armor." - contains = list(/obj/item/ammo_box/a357_box/match) - cost = 500 +/datum/supply_pack/ammo/c556mmHITP_ammo_box + name = "5.56 Caseless Ammo Box Crate" + desc = "Contains a 48-round 5.56mm caseless box for SolGov sidearms like the Pistole C." + contains = list(/obj/item/storage/box/ammo/c556mm) + cost = 250 /datum/supply_pack/ammo/c556mmHITPap_ammo_box name = "5.56 caseless AP Ammo Box Crate" - desc = "Contains a fifty-round 5.56mm caseless boxloaded with armor piercing ammo." - contains = list(/obj/item/ammo_box/c556mmHITP/ap) - cost = 500 - -/datum/supply_pack/ammo/c45ap_ammo_box - name = ".45 AP Ammo Box Crate" - desc = "Contains a fifty-round .45 box loaded with armor piercing ammo." - contains = list(/obj/item/ammo_box/c45/ap) - cost = 500 - -/datum/supply_pack/ammo/c10mmap_ammo_box - name = "10mm AP Ammo Box Crate" - desc = "Contains a fifty-round 10mm box loaded with armor piercing ammo." - contains = list(/obj/item/ammo_box/c10mm/ap) - cost = 500 - -/datum/supply_pack/ammo/c9mmhp_ammo_box - name = "9mm HP Ammo Box Crate" - desc = "Contains a fifty-round 9mm box loaded with hollow point ammo, great against unarmored targets." - contains = list(/obj/item/ammo_box/c9mm/hp) - cost = 400 - -/datum/supply_pack/ammo/a357hp_ammo_box - name = ".357 HP Ammo Box Crate" - desc = "Contains a fifty-round .357 box loaded with hollow point ammo, great against unarmored targets." - contains = list(/obj/item/ammo_box/a357_box/hp) - cost = 500 - -/datum/supply_pack/ammo/c10mmhp_ammo_box - name = "10mm HP Ammo Box Crate" - desc = "Contains a fifty-round 10mm box loaded with hollow point ammo, great against unarmored targets." - contains = list(/obj/item/ammo_box/c10mm/hp) - cost = 500 -/datum/supply_pack/ammo/c45hp_ammo_box - name = ".45 HP Ammo Box Crate" - desc = "Contains a fifty-round 10mm box loaded with hollow point ammo, great against unarmored targets." - contains = list(/obj/item/ammo_box/c45/hp) + desc = "Contains a 48-round 5.56mm caseless boxloaded with armor piercing ammo." + contains = list(/obj/item/storage/box/ammo/c556mm_ap) cost = 500 /datum/supply_pack/ammo/c556mmhitphp_ammo_box name = "5.56 Caseless HP Ammo Box Crate" - desc = "Contains a fifty-round 5.56mm caseless box loaded with hollow point ammo, great against unarmored targets." - contains = list(/obj/item/ammo_box/c556mmHITP/hp) + desc = "Contains a 48-round 5.56mm caseless box loaded with hollow point ammo, great against unarmored targets." + contains = list(/obj/item/storage/box/ammo/c556mm_hp) cost = 500 -/datum/supply_pack/ammo/c9mmrubber_ammo_box - name = "9mm Rubber Ammo Box Crate" - desc = "Contains a fifty-round 9mm box loaded with less-than-lethal rubber rounds." - contains = list(/obj/item/ammo_box/c9mm/rubbershot) - cost = 200 - -/datum/supply_pack/ammo/c10mmrubber_ammo_box - name = "10mm Rubber Ammo Box Crate" - desc = "Contains a fifty-round 10mm box loaded with less-than-lethal rubber rounds." - contains = list(/obj/item/ammo_box/c10mm/rubbershot) - cost = 250 - -/datum/supply_pack/ammo/c45mmrubber_ammo_box - name = ".45 Rubber Ammo Box Crate" - desc = "Contains a fifty-round .45 box loaded with less-than-lethal rubber rounds." - contains = list(/obj/item/ammo_box/c45/rubbershot) - cost = 250 - - /datum/supply_pack/ammo/c556HITPrubber_ammo_box name = "5.56 Caseless Rubber Ammo Box Crate" - desc = "Contains a fifty-round 5.56 caseless box loaded with less-than-lethal rubber rounds." - contains = list(/obj/item/ammo_box/c556mmHITP/rubbershot) + desc = "Contains a 48-round 5.56 caseless box loaded with less-than-lethal rubber rounds." + contains = list(/obj/item/storage/box/ammo/c556mm_rubber) cost = 250 -/datum/supply_pack/ammo/guncell - name = "Weapon Cell Crate" - desc = "Contains a weapon cell, compatible with laser guns." - contains = list(/obj/item/stock_parts/cell/gun) - cost = 500 +/* .299 */ -/datum/supply_pack/ammo/guncell/kalix - name = "Etherbor Cell Crate" - desc = "Contains an Etherbor weapon cell, compatible with Etherbor armaments with a slightly higher capacity." - contains = list(/obj/item/stock_parts/cell/gun/kalix) - cost = 600 +/datum/supply_pack/ammo/c299 + name = ".299 Eoehoma Caseless Ammo Box Crate" + desc = "Contains two 60-round boxes of .299 Caseless ammo from the defunct Eoehoma. Used for the E-40 Hybrid Rifle." + contains = list(/obj/item/storage/box/ammo/c299, + /obj/item/storage/box/ammo/c299) + cost = 400 -/datum/supply_pack/ammo/c46x30mm_boxcrate - name = "4.6x30mm Ammo Box Crate" - desc = "Contains a fifty-round 4.6x30mm box for PDWs such as the WT-550." - contains = list(/obj/item/ammo_box/c46x30mm_box) - cost = 250 +/* 8x50 */ /datum/supply_pack/ammo/c8x50mm_boxcrate name = "8x50mm Ammo Box Crate" - desc = "Contains a twenty-round 8x50mm ammo box for rifles such as the Illestren." - contains = list(/obj/item/ammo_box/c8x50mm_box) + desc = "Contains a 40-round 8x50mm ammo box for rifles such as the Illestren." + contains = list(/obj/item/storage/box/ammo/a8_50r) cost = 250 /datum/supply_pack/ammo/c8x50mm_boxhp_boxcrate name = "8x50mm Hollow Point Crate" - desc = "Contains a twenty-round 8x50mm ammo box loaded with hollow point ammo, great against unarmored targets." - contains = list(/obj/item/ammo_box/c8x50mmhp_box) + desc = "Contains a 40-round 8x50mm ammo box loaded with hollow point ammo, great against unarmored targets." + contains = list(/obj/item/storage/box/ammo/a8_50r/hp) + cost = 500 + +/datum/supply_pack/ammo/c8x50mm_tracbox + name = "8x50mm Tracker Crate" + desc = "Contains a 30-round 8x50mm ammo box loaded with tracker ammo, great for sustained hunts." + contains = list(/obj/item/storage/box/ammo/a8_50r/trac) cost = 500 + +/* .300 */ + /datum/supply_pack/ammo/a300_box name = ".300 Ammo Box Crate" desc = "Contains a twenty-round .300 Magnum ammo box for sniper rifles such as the HP Scout." - contains = list(/obj/item/ammo_box/a300_box) + contains = list(/obj/item/storage/box/ammo/a300) + cost = 400 + +/datum/supply_pack/ammo/a300_trac + name = ".300 Trac Ammo Box Crate" + desc = "Contains a ten-round .300 TRAC ammo box for sniper rifles such as the HP Scout." + contains = list(/obj/item/storage/box/ammo/a300/trac) + cost = 600 + + +/* .308 */ + +/datum/supply_pack/ammo/a308_ammo_box + name = "308 Ammo Box Crate" + desc = "Contains a thirty-round .308 box for DMRs such as the SsG-04 and CM-GAL-S." + contains = list(/obj/item/storage/box/ammo/a308) cost = 500 -/datum/supply_pack/ammo/a4570_box - name = ".45-70 Ammo Box Crate" - desc = "Contains a twelve-round box containing devastatingly powerful .45-70 caliber ammunition." - contains = list(/obj/item/ammo_box/a4570) +/datum/supply_pack/ammo/a308_ap + name = "308 Armour Piercing Ammo Box Crate" + desc = "Contains a thirty-round .308 armour piercing box for DMRs such as the SsG-04 and CM-GAL-S." + contains = list(/obj/item/storage/box/ammo/a308/ap) cost = 500 -/datum/supply_pack/ammo/a4570_box/match - name = ".45-70 Match Crate" - desc = "Contains a twelve-round box containing devastatingly powerful .45-70 caliber ammunition, that travels faster, pierces armour better, and ricochets off targets." - contains = list(/obj/item/ammo_box/a4570/match) - cost = 750 +/datum/supply_pack/ammo/a308_hp + name = "308 Hollow Point Ammo Box Crate" + desc = "Contains a thirty-round .308 hollow point box for DMRs such as the SsG-04 and CM-GAL-S." + contains = list(/obj/item/storage/box/ammo/a308/hp) + cost = 500 + +/* 6.5 */ + +/datum/supply_pack/ammo/a65clip_box + name = "6.5x57mm CLIP Ammo Box Crate" + desc = "Contains a twenty-round 6.5x57mm CLIP ammo box for various sniper rifles such as the CM-F90 and the Boomslang series." + contains = list(/obj/item/storage/box/ammo/a65clip) + cost = 400 + +/datum/supply_pack/ammo/a65clip_trackers + name = "6.5x57mm CLIP Tracker Shell Crate" + desc = "Contains a 10-round 6.5x57mm CLIP tracker box for various sniper rifles such as the CM-F90 and the Boomslang series." + contains = list(/obj/item/storage/box/ammo/a65clip/trac) + cost = 600 + +/* 8x58 */ + +/datum/supply_pack/ammo/a858 + name = "8x58mm Ammo Box Crate" + desc = "Contains a twenty-round 8x58 ammo box for Solarian-manufactured sniper rifles, such as the SSG-69." + contains = list(/obj/item/storage/box/ammo/a858) + cost = 400 + + +/* ferro pellets */ /datum/supply_pack/ammo/ferropelletboxcrate name = "Ferromagnetic Pellet Box Crate" - desc = "Contains a fifty-round ferromagnetic pellet ammo box for gauss guns such as the Claris." - contains = list(/obj/item/ammo_box/ferropelletbox) + desc = "Contains a 48-round ferromagnetic pellet ammo box for gauss guns such as the Claris." + contains = list(/obj/item/storage/box/ammo/ferropellet) cost = 250 +/* ferroslugs */ + /datum/supply_pack/ammo/ferroslugboxcrate name = "Ferromagnetic Slug Box Crate" desc = "Contains a twenty-round ferromagnetic slug for gauss guns such as the Model-H." - contains = list(/obj/item/ammo_box/ferroslugbox) + contains = list(/obj/item/storage/box/ammo/ferroslug) cost = 250 +/* ferro lances */ + /datum/supply_pack/ammo/ferrolanceboxcrate name = "Ferromagnetic Lance Box Crate" - desc = "Contains a fifty-round box for high-powered gauss guns such as the GAR assault rifle." - contains = list(/obj/item/ammo_box/ferrolancebox) - cost = 250 - -/datum/supply_pack/ammo/a44roum - name = ".44 Roumain Ammo Box Crate" - desc = "Contains a fifty-round box of .44 roumain ammo for revolvers such as the Shadow and Montagne." - contains = list(/obj/item/ammo_box/a44roum) - cost = 250 - -/datum/supply_pack/ammo/a44roum_rubber - name = ".44 Roumain Rubber Ammo Box Crate" - desc = "Contains a fifty-round box of .44 roumain ammo loaded with less-than-lethal rubber rounds." - contains = list(/obj/item/ammo_box/a44roum/rubber) + desc = "Contains a 48-round box for high-powered gauss guns such as the GAR assault rifle." + contains = list(/obj/item/storage/box/ammo/ferrolance) cost = 250 - -/datum/supply_pack/ammo/a44roum_hp - name = ".44 Roumain Hollow Point Ammo Box Crate" - desc = "Contains a fifty-round box of .44 roumain hollow point ammo, great against unarmored targets." - contains = list(/obj/item/ammo_box/a44roum/hp) - cost = 500 diff --git a/code/modules/cargo/packs/animal.dm b/code/modules/cargo/packs/animal.dm index 621d376035d..50a9d607b28 100644 --- a/code/modules/cargo/packs/animal.dm +++ b/code/modules/cargo/packs/animal.dm @@ -105,7 +105,7 @@ /datum/supply_pack/animal/fox name = "Fox Crate" - desc = "The fox goes...? Comes with a collar!"//what does the fox say // awful + desc = "The fox goes...? Comes with a collar!"//what does the fox say // awful //yip cost = 5000 contains = list(/mob/living/simple_animal/pet/fox, /obj/item/clothing/neck/petcollar) diff --git a/code/modules/cargo/packs/canister.dm b/code/modules/cargo/packs/canister.dm index c63a4f3e2a5..00fed0ff679 100644 --- a/code/modules/cargo/packs/canister.dm +++ b/code/modules/cargo/packs/canister.dm @@ -43,7 +43,7 @@ /datum/supply_pack/canister/nitrous_oxide name = "Nitrous Oxide Canister" - desc = "Contains a canister of nitrous oxide. Clowns love it!" + desc = "Contains a canister of nitrous oxide. Guaranted to make someone giggle!" cost = 2500 contains = list(/obj/machinery/portable_atmospherics/canister/nitrous_oxide) crate_name = "nitrous oxide canister crate" diff --git a/code/modules/cargo/packs/chemistry.dm b/code/modules/cargo/packs/chemistry.dm index 5c7ae4a20ab..236706f7b6c 100644 --- a/code/modules/cargo/packs/chemistry.dm +++ b/code/modules/cargo/packs/chemistry.dm @@ -10,19 +10,26 @@ name = "Chemical Starter Kit Crate" desc = "Contains thirteen different chemicals, for all the fun experiments you can make." cost = 1250 // This is intentionally underpriced; the hope is that people will start using ghettochem, upon which time the price can be raised. - contains = list(/obj/item/reagent_containers/glass/bottle/hydrogen, + contains = list(/obj/item/reagent_containers/glass/bottle/aluminium, + /obj/item/reagent_containers/glass/bottle/bromine, /obj/item/reagent_containers/glass/bottle/carbon, + /obj/item/reagent_containers/glass/bottle/chlorine, + /obj/item/reagent_containers/glass/bottle/copper, + /obj/item/reagent_containers/glass/bottle/ethanol, + /obj/item/reagent_containers/glass/bottle/fluorine, + /obj/item/reagent_containers/glass/bottle/hydrogen, + /obj/item/reagent_containers/glass/bottle/iodine, + /obj/item/reagent_containers/glass/bottle/lithium, + /obj/item/reagent_containers/glass/bottle/mercury, /obj/item/reagent_containers/glass/bottle/nitrogen, /obj/item/reagent_containers/glass/bottle/oxygen, - /obj/item/reagent_containers/glass/bottle/fluorine, /obj/item/reagent_containers/glass/bottle/phosphorus, - /obj/item/reagent_containers/glass/bottle/silicon, - /obj/item/reagent_containers/glass/bottle/chlorine, - /obj/item/reagent_containers/glass/bottle/radium, - /obj/item/reagent_containers/glass/bottle/sacid, - /obj/item/reagent_containers/glass/bottle/ethanol, /obj/item/reagent_containers/glass/bottle/potassium, + /obj/item/reagent_containers/glass/bottle/radium, /obj/item/reagent_containers/glass/bottle/sugar, + /obj/item/reagent_containers/glass/bottle/sodium, + /obj/item/reagent_containers/glass/bottle/sulfur, + /obj/item/reagent_containers/glass/bottle/silicon, /obj/item/reagent_scanner, /obj/item/reagent_containers/dropper, /obj/item/storage/box/beakers) @@ -53,61 +60,96 @@ Bulk materials */ +/datum/supply_pack/chemistry/aluminium + name = "Bulk Aluminium Crate" + desc = "Contains a jug filled with 150u of aluminium." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/aluminium) + crate_name = "bulk aluminium crate" + +/datum/supply_pack/chemistry/bromine + name = "Bulk Bromine Crate" + desc = "Contains a jug filled with 150u of bromine." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/bromine) + crate_name = "bulk bromine crate" + /datum/supply_pack/chemistry/carbon name = "Bulk Carbon Crate" desc = "Contains a jug filled with 150u of carbon." - cost = 500 + cost = 750 contains = list(/obj/item/reagent_containers/glass/chem_jug/carbon) crate_name = "bulk carbon crate" -/datum/supply_pack/chemistry/oxygen - name = "Bulk Oxygen Crate" - desc = "Contains a jug filled with 150u of oxygen." - cost = 500 - contains = list(/obj/item/reagent_containers/glass/chem_jug/oxygen) - crate_name = "bulk oxygen crate" +/datum/supply_pack/chemistry/chlorine + name = "Bulk Chlorine Crate" + desc = "Contains a jug filled with 150u of chlorine." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/chlorine) + crate_name = "bulk chlorine crate" + +/datum/supply_pack/chemistry/copper + name = "Bulk Copper Crate" + desc = "Contains a jug filled with 150u of copper." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/copper) + crate_name = "bulk copper crate" + +/datum/supply_pack/chemistry/fluorine + name = "Bulk Fluorine Crate" + desc = "Contains a jug filled with 150u of fluorine." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/fluorine) + crate_name = "bulk fluorine crate" /datum/supply_pack/chemistry/hydrogen name = "Bulk Hydrogen Crate" desc = "Contains a jug filled with 150u of Hydrogen." - cost = 500 + cost = 750 contains = list(/obj/item/reagent_containers/glass/chem_jug/hydrogen) crate_name = "bulk hydrogen crate" +/datum/supply_pack/chemistry/iodine + name = "Bulk Iodine Crate" + desc = "Contains a jug filled with 150u of iodine." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/iodine) + crate_name = "bulk iodine crate" + +/datum/supply_pack/chemistry/lithium + name = "Bulk Lithium Crate" + desc = "Contains a jug filled with 150u of lithium." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/lithium) + crate_name = "bulk lithium crate" + +/datum/supply_pack/chemistry/mercury + name = "Bulk Mercury Crate" + desc = "Contains a jug filled with 150u of mercury." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/mercury) + crate_name = "bulk mercury crate" + /datum/supply_pack/chemistry/nitrogen name = "Bulk Nitrogen Crate" desc = "Contains a jug filled with 150u of nitrogen." - cost = 625 + cost = 750 contains = list(/obj/item/reagent_containers/glass/chem_jug/nitrogen) crate_name = "bulk nitrogen crate" -/datum/supply_pack/chemistry/aluminium - name = "Bulk Aluminium Crate" - desc = "Contains a jug filled with 150u of aluminium." - cost = 625 - contains = list(/obj/item/reagent_containers/glass/chem_jug/aluminium) - crate_name = "bulk aluminium crate" - -/datum/supply_pack/chemistry/copper - name = "Bulk Copper Crate" - desc = "Contains a jug filled with 150u of copper." - cost = 625 - contains = list(/obj/item/reagent_containers/glass/chem_jug/copper) - crate_name = "bulk copper crate" - -/datum/supply_pack/chemistry/bromine - name = "Bulk Bromine Crate" - desc = "Contains a jug filled with 150u of bromine." - cost = 625 - contains = list(/obj/item/reagent_containers/glass/chem_jug/bromine) - crate_name = "bulk bromine crate" +/datum/supply_pack/chemistry/oxygen + name = "Bulk Oxygen Crate" + desc = "Contains a jug filled with 150u of oxygen." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/oxygen) + crate_name = "bulk oxygen crate" -/datum/supply_pack/chemistry/iodine - name = "Bulk Iodine Crate" - desc = "Contains a jug filled with 150u of iodine." +/datum/supply_pack/chemistry/phosphorus + name = "Bulk Phosphorus Crate" + desc = "Contains a jug filled with 150u of phosphorus." cost = 750 - contains = list(/obj/item/reagent_containers/glass/chem_jug/iodine) - crate_name = "bulk iodine crate" + contains = list(/obj/item/reagent_containers/glass/chem_jug/phosphorus) + crate_name = "bulk phosphorus crate" /datum/supply_pack/chemistry/potassium name = "Bulk Potassium Crate" @@ -116,23 +158,23 @@ contains = list(/obj/item/reagent_containers/glass/chem_jug/potassium) crate_name = "bulk potassium crate" +/datum/supply_pack/chemistry/radium + name = "Bulk Radium Crate" + desc = "Contains a jug filled with 150u of radium." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/radium) + crate_name = "bulk radium crate" + +/datum/supply_pack/chemistry/sodium + name = "Bulk Sodium Crate" + desc = "Contains a jug filled with 150u of sodium." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/sodium) + crate_name = "bulk sodium crate" + /datum/supply_pack/chemistry/sulfur name = "Bulk Sulfur Crate" desc = "Contains a jug filled with 150u of sulfur." cost = 750 contains = list(/obj/item/reagent_containers/glass/chem_jug/sulfur) crate_name = "bulk sulfur crate" - -/datum/supply_pack/chemistry/chlorine - name = "Bulk Chlorine Crate" - desc = "Contains a jug filled with 150u of chlorine." - cost = 750 - contains = list(/obj/item/reagent_containers/glass/chem_jug/chlorine) - crate_name = "bulk chlorine crate" - -/datum/supply_pack/chemistry/radium - name = "Bulk Radium Crate" - desc = "Contains a jug filled with 150u of radium." - cost = 1000 - contains = list(/obj/item/reagent_containers/glass/chem_jug/radium) - crate_name = "bulk radium crate" diff --git a/code/modules/cargo/packs/civilian.dm b/code/modules/cargo/packs/civilian.dm index 154dce436ee..9e0e8c7af6f 100644 --- a/code/modules/cargo/packs/civilian.dm +++ b/code/modules/cargo/packs/civilian.dm @@ -41,14 +41,6 @@ crate_name = "janitorial cart crate" crate_type = /obj/structure/closet/crate/large -/datum/supply_pack/civilian/lawnmower - name = "Lawnmower" - desc = "Removing plant from your backyard now made easy with the brand new Donk! Co. TM Deluxe Lawnmower 3003." - cost = 800 - contains = list(/obj/vehicle/ridden/lawnmower) - crate_name = "Donk! Co. TM Deluxe Lawnmower 3003" - crate_type = /obj/structure/closet/crate/large - /* Bundles */ @@ -86,10 +78,11 @@ contains = list(/obj/item/storage/box/fountainpens) crate_name = "calligraphy crate" crate_type = /obj/structure/closet/crate/wooden + faction = /datum/faction/solgov /datum/supply_pack/civilian/wrapping_paper name = "Festive Wrapping Paper Crate" - desc = "Want to mail your loved ones gift-wrapped chocolates, stuffed animals, the Clown's severed head? You can do all that, with this crate full of wrapping paper." + desc = "Want to mail your loved ones gift-wrapped chocolates, stuffed animals, flattened flowers? You can do all that, with this crate full of wrapping paper." cost = 1000 contains = list(/obj/item/stack/wrapping_paper) crate_name = "festive wrapping paper crate" @@ -97,7 +90,7 @@ /datum/supply_pack/civilian/paper name = "Bureaucracy Crate" - desc = "High stacks of papers on your desk Are a big problem - make it Pea-sized with these bureaucratic supplies! Contains six pens, some camera film, hand labeler supplies, a paper bin, a carbon paper bin, three folders, a laser pointer, two clipboards and two stamps."//that was too forced + desc = "High stacks of papers on your desk are a big problem - make it Pea-sized with these bureaucratic supplies! Contains six pens, some camera film, hand labeler supplies, a paper bin, a carbon paper bin, three folders, a laser pointer, two clipboards and two stamps."//that was too forced cost = 1000 contains = list(/obj/structure/filingcabinet/chestdrawer/wheeled, /obj/item/camera_film, @@ -247,67 +240,3 @@ contains = list(/obj/machinery/jukebox) crate_name = "Jukebox" -/datum/supply_pack/civilian/fishingkit - name = "Fishing Starter Kit" - desc = "The bare necessities to get out there and catch some fish, all in one convenient box!" - cost = 500 - contains = list(/obj/item/storage/toolbox/fishing, - /obj/item/book/fish_catalog, - /obj/item/reagent_containers/food/drinks/beer, - /obj/item/reagent_containers/food/drinks/beer) - crate_name = "fishing starter crate" - crate_type = /obj/structure/closet/crate/wooden - -/datum/supply_pack/civilian/fishstasis - name = "Fish Stasis Kit Supply Crate" - desc = "Contains four stasis cases meant to keep fish alive during transportation." - cost = 1000 - contains = list(/obj/item/storage/fish_case, - /obj/item/storage/fish_case, - /obj/item/storage/fish_case, - /obj/item/storage/fish_case) - crate_name = "stasis case crate" - -/datum/supply_pack/civilian/premiumworms - name = "High Quality Worm Pack" - desc = "A selection of the system's finest worms, guaranteed to lure in only the largest of fish." - cost = 1000 - contains = list(/obj/item/bait_can/worm/premium, - /obj/item/bait_can/worm/premium, - /obj/item/bait_can/worm/premium, - /obj/item/bait_can/worm/premium) - crate_name = "premium worm crate" - -/datum/supply_pack/civilian/masterworkpole - name = "Custom Made Masterwork Fishing Rod" - desc = "Fishing rod forged after grueling hours of labor by a master rodsmith, truly a work of fishing art. Required to catch size 2 fish." - cost = 5000 - contains = list(/obj/item/fishing_rod/master) - crate_name = "masterwork fishing rod case" - crate_type = /obj/structure/closet/crate/wooden - -/datum/supply_pack/civilian/fishinghooks - name = "Fishing Hook Variety Pack" - desc = "A variety of fishing hooks to allow for more specialized fishing." - cost = 1000 - contains = list(/obj/item/storage/box/fishing_hooks) - crate_name = "fishing hook crate" - crate_type = /obj/structure/closet/crate/wooden - -/datum/supply_pack/civilian/fishinglines - name = "Fishing Line Pack" - desc = "Contains the necessary fishing lines for catching more exotic fish." - cost = 1000 - contains = list(/obj/item/storage/box/fishing_lines, - /obj/item/storage/box/fishing_lines) //Comes with two boxes on account of these being more necessary than the hooks - crate_name = "fishing line crate" - crate_type = /obj/structure/closet/crate/wooden - -/datum/supply_pack/civilian/aquarium - name = "Aquarium Construction Kit" - desc = "Why seek rare fish if not to show them off? This all-in-one aquarium kit's all you'll ever need to keep a stable population of fish onboard your ship! (Building materials not included, Aquatech Ltd. is a limited liability company and not responsible for any fish related mishaps)" - cost = 2000 - contains = list(/obj/item/aquarium_kit, - /obj/item/storage/box/aquarium_props, - /obj/item/fish_feed) - crate_name = "aquarium kit crate" diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm index fa63529b795..03d8cffd036 100644 --- a/code/modules/cargo/packs/costumes_toys.dm +++ b/code/modules/cargo/packs/costumes_toys.dm @@ -73,7 +73,7 @@ var/the_toy for(var/i in 1 to 5) if(prob(50)) - the_toy = pickweight(GLOB.arcade_prize_pool) + the_toy = pick_weight(GLOB.arcade_prize_pool) else the_toy = pick(subtypesof(/obj/item/toy/plush)) new the_toy(C) @@ -84,21 +84,14 @@ /datum/supply_pack/costumes_toys/costume_original name = "Original Costume Crate" - desc = "Reenact Shakespearean plays with this assortment of outfits. Contains eight different costumes!" + desc = "Reenact Solarian plays with this assortment of outfits. Contains eight different costumes!" cost = 1000 contains = list(/obj/item/clothing/head/snowman, /obj/item/clothing/suit/snowman, - /obj/item/clothing/head/chicken, - /obj/item/clothing/suit/chickensuit, /obj/item/clothing/mask/gas/monkeymask, - /obj/item/clothing/suit/monkeysuit, /obj/item/clothing/head/cardborg, /obj/item/clothing/suit/cardborg, - /obj/item/clothing/head/xenos, - /obj/item/clothing/suit/xenos, - /obj/item/clothing/suit/hooded/ian_costume, - /obj/item/clothing/suit/hooded/carp_costume, - /obj/item/clothing/suit/hooded/bee_costume) + /obj/item/clothing/suit/hooded/carp_costume) crate_name = "original costume crate" crate_type = /obj/structure/closet/crate/wooden @@ -110,32 +103,21 @@ /datum/supply_pack/costumes_toys/mafia/fill(obj/structure/closet/crate/C) for(var/i in 1 to 4) - new /obj/effect/spawner/lootdrop/mafia_outfit(C) + new /obj/effect/spawner/random/clothing/mafia_outfit(C) new /obj/item/virgin_mary(C) if(prob(30)) //Not all mafioso have mustaches, some people also find this item annoying. new /obj/item/clothing/mask/fakemoustache/italian(C) if(prob(10)) //A little extra sugar every now and then to shake things up. - new /obj/item/kitchen/knife/switchblade(C) + new /obj/item/melee/knife/switchblade(C) /datum/supply_pack/costumes_toys/mech_suits - name = "Mech Pilot's Suit Crate" + name = "Exosuit Pilot's Suit Crate" desc = "Suits for piloting big robots. Contains all three colors!" cost = 1500 //state-of-the-art technology doesn't come cheap contains = list(/obj/item/clothing/under/costume/mech_suit, /obj/item/clothing/under/costume/mech_suit/white, /obj/item/clothing/under/costume/mech_suit/blue) - crate_name = "mech pilot's suit crate" - crate_type = /obj/structure/closet/crate/wooden - -/datum/supply_pack/costumes_toys/wizard - name = "Wizard Costume Crate" - desc = "Pretend to join the Wizard Federation with this full wizard outfit! As required by interstellar law, the seller reminds potential buyers that the Wizard Federation is not real and cannot hurt you." - cost = 2000 - contains = list(/obj/item/staff, - /obj/item/clothing/suit/wizrobe/fake, - /obj/item/clothing/shoes/sandal, - /obj/item/clothing/head/wizard/fake) - crate_name = "wizard costume crate" + crate_name = "exosuit pilot's suit crate" crate_type = /obj/structure/closet/crate/wooden /datum/supply_pack/costumes_toys/formalwear @@ -154,7 +136,6 @@ /obj/item/clothing/neck/tie/blue, /obj/item/clothing/neck/tie/red, /obj/item/clothing/neck/tie/black, - /obj/item/clothing/head/bowler, /obj/item/clothing/head/fedora, /obj/item/clothing/head/flatcap, /obj/item/clothing/head/beret, @@ -170,6 +151,7 @@ /obj/item/lipstick/random) crate_name = "formalwear crate" crate_type = /obj/structure/closet/crate/wooden + faction = /datum/faction/solgov // this is technically armor but you aren't buying it for that. it's a joke pack so it goes here /datum/supply_pack/costumes_toys/justiceinbound @@ -177,7 +159,7 @@ desc = "This is it. The Bee's Knees. The Creme of the Crop. The Pick of the Litter. The best of the best of the best. The Crown Jewel of Nanotrasen. The Alpha and the Omega of security headwear. Guaranteed to strike fear into the hearts of each and every criminal unfortunate enough to hear its screeching wail bore into their soul. Also comes with a security gasmask." cost = 6000 //justice comes at a price. An expensive, noisy price. contains = list(/obj/item/clothing/head/helmet/justice, - /obj/item/clothing/mask/gas/sechailer) + /obj/item/clothing/mask/gas) crate_name = "security clothing crate" /datum/supply_pack/costumes_toys/collectable_hats @@ -185,7 +167,6 @@ desc = "Flaunt your status with three unique, highly-collectable hats!" cost = 20000 contains = list(/obj/item/clothing/head/collectable/chef, - /obj/item/clothing/head/collectable/paper, /obj/item/clothing/head/collectable/tophat, /obj/item/clothing/head/collectable/captain, /obj/item/clothing/head/collectable/beret, @@ -193,18 +174,11 @@ /obj/item/clothing/head/collectable/flatcap, /obj/item/clothing/head/collectable/pirate, /obj/item/clothing/head/collectable/kitty, - /obj/item/clothing/head/collectable/rabbitears, /obj/item/clothing/head/collectable/wizard, /obj/item/clothing/head/collectable/hardhat, - /obj/item/clothing/head/collectable/HoS, - /obj/item/clothing/head/collectable/HoP, /obj/item/clothing/head/collectable/thunderdome, /obj/item/clothing/head/collectable/swat, - /obj/item/clothing/head/collectable/slime, - /obj/item/clothing/head/collectable/police, - /obj/item/clothing/head/collectable/slime, - /obj/item/clothing/head/collectable/xenom, - /obj/item/clothing/head/collectable/petehat) + /obj/item/clothing/head/collectable/police) crate_name = "collectable hats crate" crate_type = /obj/structure/closet/crate/wooden diff --git a/code/modules/cargo/packs/emergency.dm b/code/modules/cargo/packs/emergency.dm index 3627633bcb7..41401dbce47 100644 --- a/code/modules/cargo/packs/emergency.dm +++ b/code/modules/cargo/packs/emergency.dm @@ -8,25 +8,25 @@ /datum/supply_pack/emergency/internals name = "Internals Crate" - desc = "Two gas masks, two breathing masks, and four empty oxygen tanks of varying size. Oxygen canister sold separately." - cost = 500 - contains = list(/obj/item/clothing/mask/gas, - /obj/item/clothing/mask/gas, + desc = "Contains four breathing masks, three advanced emergency oxygen tanks and one large oxygen tank. Oxygen canister sold separately." + cost = 100 + contains = list(/obj/item/clothing/mask/breath, + /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, - /obj/item/tank/internals/emergency_oxygen/empty, - /obj/item/tank/internals/emergency_oxygen/empty, - /obj/item/tank/internals/oxygen/empty, - /obj/item/tank/internals/oxygen/empty) + /obj/item/tank/internals/emergency_oxygen/engi, + /obj/item/tank/internals/emergency_oxygen/engi, + /obj/item/tank/internals/emergency_oxygen/engi, + /obj/item/tank/internals/oxygen) crate_name = "internals crate" /datum/supply_pack/emergency/plasmaman_tank - name = "Plasmaman Tank Kit" - desc = "Contains two empty plasmaman belt tanks, for when you just can't bear to refill a normal tank with plasma. Plasma canisters sold separately. Warranty void if filled with flammable gas." - cost = 500 - contains = list(/obj/item/tank/internals/plasmaman/belt/empty, - /obj/item/tank/internals/plasmaman/belt/empty) - crate_name = "plasmaman tank kit" + name = "Plasmaman Internals Crate" + desc = "Contains two plasmaman belt tanks, for when you just can't bear to refill a normal tank with plasma. Plasma canisters sold separately." + cost = 100 + contains = list(/obj/item/tank/internals/plasmaman/belt/full, + /obj/item/tank/internals/plasmaman/belt/full) + crate_name = "plasmaman internals crate" /datum/supply_pack/emergency/plasmaman_suit name = "Plasmaman Suit Kit" diff --git a/code/modules/cargo/packs/exploration.dm b/code/modules/cargo/packs/exploration.dm index 504b3b4bdbb..3a02f59c9b7 100644 --- a/code/modules/cargo/packs/exploration.dm +++ b/code/modules/cargo/packs/exploration.dm @@ -2,19 +2,15 @@ group = "Exploration" crate_type = /obj/structure/closet/crate/wooden -/* - Basic survival kits for worlds. -*/ +/* Exploration Gear */ /datum/supply_pack/exploration/lava name = "Lava Exploration Kit" - desc = "Contains two pickaxes, 60 lavaproof rods, and goggles to protect eyes from the heat" - cost = 1500 + desc = "Contains 60 lavaproof rods, two pocket extinguishers and goggles to protect yourself from the heat." + cost = 500 contains = list( - /obj/item/pickaxe/mini, - /obj/item/pickaxe/mini, - /obj/item/clothing/glasses/heat, - /obj/item/clothing/glasses/heat, + /obj/item/extinguisher/mini, + /obj/item/extinguisher/mini, /obj/item/clothing/glasses/heat, /obj/item/clothing/glasses/heat, /obj/item/stack/rods/lava/thirty, @@ -24,68 +20,88 @@ /datum/supply_pack/exploration/ice name = "Ice Exploration Kit" - desc = "Contains two pickaxes, winter clothes, and goggles to protect eyes from the cold" - cost = 1500 + desc = "Contains 2 sets of winter clothes and ice hiking boots, along with goggles to protect eyes from the cold." + cost = 500 contains = list( - /obj/item/pickaxe/mini, - /obj/item/pickaxe/mini, - /obj/item/clothing/glasses/cold, - /obj/item/clothing/glasses/cold, /obj/item/clothing/glasses/cold, /obj/item/clothing/glasses/cold, - /obj/item/clothing/shoes/winterboots, - /obj/item/clothing/shoes/winterboots, - /obj/item/clothing/shoes/winterboots, - /obj/item/clothing/shoes/winterboots, + /obj/item/clothing/suit/hooded/wintercoat, + /obj/item/clothing/suit/hooded/wintercoat, + /obj/item/clothing/shoes/winterboots/ice_boots, + /obj/item/clothing/shoes/winterboots/ice_boots, ) crate_name = "Ice Exploration Kit" -/datum/supply_pack/exploration/jungle - name = "Jungle Exploration Kit" - desc = "Contains hatchets, picks, and antivenom, great for dense jungles!" - cost = 750 + +/* + General Exploration Gear +*/ + +/datum/supply_pack/exploration/lavaproof_rods + name ="Lavaproof Rods Crate" + desc = "Contains 60 lavaproof rods for safely traversing molten pits." + cost = 200 contains = list( - /obj/item/pickaxe/mini, - /obj/item/pickaxe/mini, - /obj/item/storage/pill_bottle/charcoal, - /obj/item/storage/pill_bottle/charcoal, - /obj/item/hatchet, - ) - crate_name = "Jungle Exploration Kit" + /obj/item/stack/rods/lava/thirty, + /obj/item/stack/rods/lava/thirty, + ) + crate_name = "Lavaproof Rod Crate" -/datum/supply_pack/exploration/beach - name = "Beach Kit" - desc = "Shorts, picks, and (low quality) sunglasses, perfect for the beach!" +/datum/supply_pack/exploration/capsules + name = "Bluespace Shelter Capsule" + desc = "Contains a Bluespace Shelter Capsule, for instant shelter in rough situations." cost = 500 contains = list( - /obj/item/pickaxe/mini, - /obj/item/pickaxe/mini, - /obj/item/clothing/under/shorts/black, - /obj/item/clothing/under/shorts/blue, - /obj/item/clothing/under/shorts/green, - /obj/item/clothing/under/shorts/grey, - /obj/item/clothing/under/shorts/purple, - /obj/item/clothing/under/shorts/red, - /obj/item/clothing/glasses/cheapsuns, - /obj/item/clothing/glasses/cheapsuns, - /obj/item/clothing/glasses/cheapsuns, - /obj/item/clothing/glasses/cheapsuns, - /obj/item/clothing/glasses/cheapsuns, - /obj/item/clothing/glasses/cheapsuns, + /obj/item/survivalcapsule ) - crate_name = "Beach Kit" -/* - Heavy Duty Exploration Gear -*/ +/datum/supply_pack/exploration/binocular + name = "Binoculars" + desc = "Contains one pair of binoculars for surveying terrain." + cost = 200 + contains = list( + /obj/item/binoculars + ) -/datum/supply_pack/exploration/capsules - name = "Bluespace Shelter Capsules" - desc = "A trio of Bluespace Shelter Capsules, for instant shelter in rough situations." - cost = 3000 +/datum/supply_pack/exploration/anom_neutralizer + name = "Anomaly Neutralizer" + desc = "Contains a single use anomaly neutralizer for stabilizing hazardous anomalies." + cost = 250 + contains = list( + /obj/item/anomaly_neutralizer + ) + +/datum/supply_pack/exploration/mineral_scanner + name = "Underground Mineral Scanner" + desc = "Contains an underground mineral scanner for locating veins of ore beneath the earth. Deep core laser drill for extracting said ores not included." + cost = 250 contains = list( - /obj/item/survivalcapsule, - /obj/item/survivalcapsule, - /obj/item/survivalcapsule, + /obj/item/pinpointer/mineral ) +/datum/supply_pack/exploration/gps + name = "GPS" + desc = "Contains a GPS device, useful for keeping track of yourself and others." + cost = 100 + contains = list( + /obj/item/gps + ) + +/datum/supply_pack/exploration/flares + name = "Flare Supply Pack" + desc = "Contains 4 boxes of flares (28 total)! Great for lighting things up." + cost = 100 + contains = list( + /obj/item/storage/box/flares, + /obj/item/storage/box/flares, + /obj/item/storage/box/flares, + /obj/item/storage/box/flares, + ) + +/datum/supply_pack/exploration/nvg + name = "Night Vision Goggles" + desc = "Contains a singular pair of Night Vision Goggles, for all your spelunking and military LARP occasions." + cost = 1000 + contains = list( + /obj/item/clothing/glasses/night + ) diff --git a/code/modules/cargo/packs/fishing.dm b/code/modules/cargo/packs/fishing.dm new file mode 100644 index 00000000000..7f1a8c279bc --- /dev/null +++ b/code/modules/cargo/packs/fishing.dm @@ -0,0 +1,68 @@ +/datum/supply_pack/fish + group = "Fishing Essentials" + + +/datum/supply_pack/fish/fishingkit + name = "Fishing Starter Kit" + desc = "The bare necessities to get out there and catch some fish, all in one convenient box!" + cost = 500 + contains = list(/obj/item/storage/toolbox/fishing, + /obj/item/book/fish_catalog, + /obj/item/reagent_containers/food/drinks/beer, + /obj/item/reagent_containers/food/drinks/beer) + crate_name = "fishing starter crate" + crate_type = /obj/structure/closet/crate/wooden + +/datum/supply_pack/fish/fishstasis + name = "Fish Stasis Kit Supply Crate" + desc = "Contains four stasis cases meant to keep fish alive during transportation." + cost = 1000 + contains = list(/obj/item/storage/fish_case, + /obj/item/storage/fish_case, + /obj/item/storage/fish_case, + /obj/item/storage/fish_case) + crate_name = "stasis case crate" + +/datum/supply_pack/fish/premiumworms + name = "High Quality Worm Pack" + desc = "A selection of the system's finest worms, guaranteed to lure in only the largest of fish." + cost = 1000 + contains = list(/obj/item/bait_can/worm/premium, + /obj/item/bait_can/worm/premium, + /obj/item/bait_can/worm/premium, + /obj/item/bait_can/worm/premium) + crate_name = "premium worm crate" + +/datum/supply_pack/fish/masterworkpole + name = "Custom Made Masterwork Fishing Rod" + desc = "Fishing rod forged after grueling hours of labor by a master rodsmith, truly a work of fishing art. Required to catch size 2 fish." + cost = 5000 + contains = list(/obj/item/fishing_rod/master) + crate_name = "masterwork fishing rod case" + crate_type = /obj/structure/closet/crate/wooden + +/datum/supply_pack/fish/fishinghooks + name = "Fishing Hook Variety Pack" + desc = "A variety of fishing hooks to allow for more specialized fishing." + cost = 1000 + contains = list(/obj/item/storage/box/fishing_hooks) + crate_name = "fishing hook crate" + crate_type = /obj/structure/closet/crate/wooden + +/datum/supply_pack/fish/fishinglines + name = "Fishing Line Pack" + desc = "Contains the necessary fishing lines for catching more exotic fish." + cost = 1000 + contains = list(/obj/item/storage/box/fishing_lines, + /obj/item/storage/box/fishing_lines) //Comes with two boxes on account of these being more necessary than the hooks + crate_name = "fishing line crate" + crate_type = /obj/structure/closet/crate/wooden + +/datum/supply_pack/fish/aquarium + name = "Aquarium Construction Kit" + desc = "Why seek rare fish if not to show them off? This all-in-one aquarium kit's all you'll ever need to keep a stable population of fish onboard your ship! (Building materials not included, Aquatech Ltd. is a limited liability company and not responsible for any fish related mishaps)" + cost = 2000 + contains = list(/obj/item/aquarium_kit, + /obj/item/storage/box/aquarium_props, + /obj/item/fish_feed) + crate_name = "aquarium kit crate" diff --git a/code/modules/cargo/packs/food.dm b/code/modules/cargo/packs/food.dm index 7abc0188f9d..1661e4a6637 100644 --- a/code/modules/cargo/packs/food.dm +++ b/code/modules/cargo/packs/food.dm @@ -8,7 +8,7 @@ /datum/supply_pack/food/donkpockets name = "Donk Pocket Variety Crate" desc = "Featuring a line up of Donk Co.'s most popular pastry!" - cost = 2000 + cost = 500 contains = list(/obj/item/storage/box/donkpockets/donkpocketspicy, /obj/item/storage/box/donkpockets/donkpocketteriyaki, /obj/item/storage/box/donkpockets/donkpocketpizza, @@ -16,6 +16,7 @@ /obj/item/storage/box/donkpockets/donkpockethonk) crate_name = "donk pocket crate" crate_type = /obj/structure/closet/crate/freezer + faction = /datum/faction/syndicate /datum/supply_pack/food/donkpockets/fill(obj/structure/closet/crate/C) for(var/i in 1 to 3) @@ -25,7 +26,7 @@ /datum/supply_pack/food/pizza name = "Pizza Crate" desc = "Best prices on this side of the galaxy. All deliveries are guaranteed to be 99.5% anomaly-free!" - cost = 6000 // Best prices this side of the galaxy. + cost = 750// Best prices this side of the galaxy. contains = list(/obj/item/pizzabox/margherita, /obj/item/pizzabox/mushroom, /obj/item/pizzabox/meat, @@ -42,6 +43,19 @@ fourfiveeight.boxtag = P.boxtag qdel(P) +/datum/supply_pack/food/ration + name = "Ration Crate" + desc = "6 standard issue rations. For your inner jarhead." + cost = 500 + contains = list(/obj/effect/spawner/random/food_or_drink/ration, + /obj/effect/spawner/random/food_or_drink/ration, + /obj/effect/spawner/random/food_or_drink/ration, + /obj/effect/spawner/random/food_or_drink/ration, + /obj/effect/spawner/random/food_or_drink/ration, + /obj/effect/spawner/random/food_or_drink/ration) + crate_name = "ration crate" + crate_type = /obj/structure/closet/crate + /* Ingredients */ @@ -49,13 +63,13 @@ /datum/supply_pack/food/ingredients_basic name = "Basic Ingredients Crate" desc = "Get things cooking with this crate full of useful ingredients! Contains a dozen eggs, two slabs of meat, some flour, some rice, a bottle of milk, a bottle of soymilk, and a bag of sugar." - cost = 1000 - contains = list(/obj/item/reagent_containers/food/condiment/flour, - /obj/item/reagent_containers/food/condiment/flour, - /obj/item/reagent_containers/food/condiment/rice, - /obj/item/reagent_containers/food/condiment/milk, - /obj/item/reagent_containers/food/condiment/soymilk, - /obj/item/reagent_containers/food/condiment/sugar, + cost = 300 + contains = list(/obj/item/reagent_containers/condiment/flour, + /obj/item/reagent_containers/condiment/flour, + /obj/item/reagent_containers/condiment/rice, + /obj/item/reagent_containers/condiment/milk, + /obj/item/reagent_containers/condiment/soymilk, + /obj/item/reagent_containers/condiment/sugar, /obj/item/storage/fancy/egg_box, /obj/item/reagent_containers/food/snacks/meat/slab, /obj/item/reagent_containers/food/snacks/meat/slab @@ -63,24 +77,25 @@ crate_name = "food crate" crate_type = /obj/structure/closet/crate/freezer -/datum/supply_pack/food/ingredients_specialized - name = "Advanced Cooking Crate" - desc = "For the discerning chef. Contains a bottle of enzyme, a salt shaker, a pepper mill, a bottle of ketchup, a bottle of hot sauce, and a bottle of cream." - cost = 2000 - contains = list(/obj/item/reagent_containers/food/condiment/enzyme, - /obj/item/reagent_containers/food/condiment/saltshaker, - /obj/item/reagent_containers/food/condiment/peppermill, - /obj/item/reagent_containers/food/condiment/ketchup, - /obj/item/reagent_containers/food/condiment/hotsauce, - /obj/item/reagent_containers/food/drinks/bottle/cream +/datum/supply_pack/food/ingredients_condiments + name = "Condiments Crate" + desc = "A variety of garnishes for topping off your dish with a little extra pizzaz. Contains a bottle of enzyme, a salt shaker, a pepper mill, a bottle of ketchup, a bottle of hot sauce, a bottle of BBQ sauce, and a bottle of cream." + cost = 250 + contains = list(/obj/item/reagent_containers/condiment/enzyme, + /obj/item/reagent_containers/condiment/saltshaker, + /obj/item/reagent_containers/condiment/peppermill, + /obj/item/reagent_containers/condiment/ketchup, + /obj/item/reagent_containers/condiment/hotsauce, + /obj/item/reagent_containers/food/drinks/bottle/cream, + /obj/item/reagent_containers/condiment/bbqsauce ) crate_name = "condiments crate" crate_type = /obj/structure/closet/crate/freezer /datum/supply_pack/food/ingredients_randomized name = "Exotic Meat Crate" - desc = "The best cuts in the whole galaxy. Probably." - cost = 1000 + desc = "The best cuts in the whole sector. Probably." + cost = 500 contains = list(/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/slime, /obj/item/reagent_containers/food/snacks/meat/slab/killertomato, /obj/item/reagent_containers/food/snacks/meat/slab/bear, @@ -102,8 +117,8 @@ /datum/supply_pack/food/ingredients_randomized/meat name = "Standard Meat Crate" - desc = "Less interesting cuts of meat, but filling nonetheless." - cost = 1500 + desc = "Less interesting, yet filling cuts of meat." + cost = 300 contains = list(/obj/item/reagent_containers/food/snacks/meat/slab, /obj/item/reagent_containers/food/snacks/meat/slab/chicken, /obj/item/reagent_containers/food/snacks/meat/slab/synthmeat, @@ -115,8 +130,8 @@ /datum/supply_pack/food/ingredients_randomized/vegetables name = "Vegetables Crate" - desc = "Grown in vats." - cost = 1300 + desc = "Grown in the finest hydroponic vats." + cost = 250 contains = list(/obj/item/reagent_containers/food/snacks/grown/chili, /obj/item/reagent_containers/food/snacks/grown/corn, /obj/item/reagent_containers/food/snacks/grown/tomato, @@ -132,7 +147,7 @@ /datum/supply_pack/food/ingredients_randomized/fruits name = "Fruit Crate" desc = "Rich of vitamins, may contain oranges." - cost = 1500 + cost = 250 contains = list(/obj/item/reagent_containers/food/snacks/grown/citrus/lime, /obj/item/reagent_containers/food/snacks/grown/citrus/orange, /obj/item/reagent_containers/food/snacks/grown/citrus/lemon, @@ -147,7 +162,7 @@ /datum/supply_pack/food/ingredients_randomized/grains name = "Grains Crate" desc = "A crate full of various grains. How interesting." - cost = 1000 + cost = 250 contains = list(/obj/item/reagent_containers/food/snacks/grown/wheat, /obj/item/reagent_containers/food/snacks/grown/wheat, /obj/item/reagent_containers/food/snacks/grown/wheat, //Weighted to be more common @@ -162,11 +177,11 @@ /datum/supply_pack/food/ingredients_randomized/bread name = "Bread Crate" desc = "A crate full of various breads. Bready to either be eaten or made into delicious meals." - cost = 1000 - contains = list(/obj/item/reagent_containers/food/snacks/store/bread/plain, - /obj/item/reagent_containers/food/snacks/breadslice/plain, - /obj/item/reagent_containers/food/snacks/breadslice/plain, - /obj/item/reagent_containers/food/snacks/breadslice/plain, //Weighted to be more common + cost = 300 + contains = list(/obj/item/food/bread/plain, + /obj/item/food/breadslice/plain, + /obj/item/food/breadslice/plain, + /obj/item/food/breadslice/plain, //Weighted to be more common /obj/item/reagent_containers/food/snacks/bun, /obj/item/reagent_containers/food/snacks/tortilla, /obj/item/reagent_containers/food/snacks/pizzabread @@ -174,6 +189,17 @@ crate_name = "food crate" crate_type = /obj/structure/closet/crate/freezer +/datum/supply_pack/food/sugar + name = "Sugar Crate" + desc = "A crate with a few bags of sugar. Good for cake shops and amateur chemists." + cost = 500 + contains = list(/obj/item/reagent_containers/condiment/sugar, + /obj/item/reagent_containers/condiment/sugar, + /obj/item/reagent_containers/condiment/sugar + ) + crate_name = "sugar crate" + crate_type = /obj/structure/closet/crate + /* Cooking */ @@ -181,17 +207,16 @@ /datum/supply_pack/food/grill name = "Grilling Starter Kit" desc = "Sometimes the stresses of the world are too much to bear. Some times, for God's sake, you just want to grill. This crate is for those times." - cost = 5000 + cost = 1000 contains = list(/obj/item/stack/sheet/mineral/coal/five, - /obj/machinery/grill/unwrenched, - /obj/item/reagent_containers/food/drinks/soda_cans/xeno_energy) + /obj/machinery/grill/unwrenched) crate_name = "grilling starter kit crate" crate_type = /obj/structure/closet/crate/large /datum/supply_pack/food/grillfuel name = "Grilling Fuel Kit" desc = "Contains propane and propane accessories. (Note: doesn't contain any actual propane.)" - cost = 2000 + cost = 250 contains = list(/obj/item/stack/sheet/mineral/coal/ten) crate_name = "grilling fuel kit crate" @@ -202,7 +227,7 @@ /datum/supply_pack/food/hydrotank name = "Hydroponics Backpack Crate" desc = "Bring on the flood with this high-capacity backpack crate. Contains 500 units of life-giving H2O." - cost = 1000 + cost = 750 contains = list(/obj/item/watertank) crate_name = "hydroponics backpack crate" crate_type = /obj/structure/closet/crate/hydroponics @@ -210,7 +235,7 @@ /datum/supply_pack/food/gardening name = "Gardening Crate" desc = "Supplies for growing a great garden! Contains two bottles of ammonia, two Plant-B-Gone spray bottles, a hatchet, cultivator, plant analyzer, as well as a pair of leather gloves and a botanist's apron." - cost = 1500 + cost = 500 contains = list(/obj/item/reagent_containers/spray/plantbgone, /obj/item/reagent_containers/spray/plantbgone, /obj/item/reagent_containers/glass/bottle/ammonia, @@ -224,10 +249,23 @@ crate_name = "gardening crate" crate_type = /obj/structure/closet/crate/hydroponics +/datum/supply_pack/food/ethanol + name = "Ethanol Crate" + desc = "Five small bottles of ethanol for the aspiring botanist or amateur chemist." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/bottle/ethanol, + /obj/item/reagent_containers/glass/bottle/ethanol, + /obj/item/reagent_containers/glass/bottle/ethanol, + /obj/item/reagent_containers/glass/bottle/ethanol, + /obj/item/reagent_containers/glass/bottle/ethanol + ) + crate_name = "gardening crate" + crate_type = /obj/structure/closet/crate/hydroponics + /datum/supply_pack/food/weedcontrol name = "Weed Control Crate" desc = "Contains a scythe, gasmask, and two anti-weed defoliant grenades, for when your garden grows out of control." - cost = 1500 + cost = 750 contains = list(/obj/item/scythe, /obj/item/clothing/mask/gas, /obj/item/grenade/chem_grenade/antiweed, @@ -238,7 +276,7 @@ /datum/supply_pack/food/seeds name = "Seeds Crate" desc = "Big things have small beginnings. Contains fourteen different seeds." - cost = 2000 + cost = 750 contains = list(/obj/item/seeds/chili, /obj/item/seeds/cotton, /obj/item/seeds/berry, @@ -259,7 +297,7 @@ /datum/supply_pack/food/exoticseeds name = "Exotic Seeds Crate" desc = "Any entrepreneuring botanist's dream. Contains eleven different seeds, including two mystery seeds!" - cost = 3000 + cost = 1000 contains = list(/obj/item/seeds/nettle, /obj/item/seeds/plump, /obj/item/seeds/liberty, @@ -281,7 +319,7 @@ /datum/supply_pack/food/beekeeping_suits name = "Beekeeper Suit Crate" desc = "Bee business booming? Better be benevolent and boost botany by bestowing bi-Beekeeper-suits! Contains two beekeeper suits and matching headwear." - cost = 2000 + cost = 1000 contains = list(/obj/item/clothing/head/beekeeper_head, /obj/item/clothing/suit/beekeeper_suit, /obj/item/clothing/head/beekeeper_head, @@ -292,7 +330,7 @@ /datum/supply_pack/food/beekeeping_fullkit name = "Beekeeping Starter Crate" desc = "BEES BEES BEES. Contains three honey frames, a beekeeper suit and helmet, flyswatter, bee house, and, of course, a pure-bred Nanotrasen-Standardized Queen Bee!" - cost = 3000 + cost = 2000 contains = list(/obj/structure/beebox/unwrenched, /obj/item/honey_frame, /obj/item/honey_frame, @@ -303,17 +341,3 @@ /obj/item/melee/flyswatter) crate_name = "beekeeping starter crate" crate_type = /obj/structure/closet/crate/hydroponics - -/datum/supply_pack/food/ration - name = "Ration Crate" - desc = "6 standerd issue rations." - cost = 2000 - contains = list(/obj/effect/spawner/lootdrop/ration, - /obj/effect/spawner/lootdrop/ration, - /obj/effect/spawner/lootdrop/ration, - /obj/effect/spawner/lootdrop/ration, - /obj/effect/spawner/lootdrop/ration, - /obj/effect/spawner/lootdrop/ration) - crate_name = "ration crate" - crate_type = /obj/structure/closet/crate - diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index 297949344de..e9e95f9fbb7 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -1,6 +1,7 @@ /datum/supply_pack/gun group = "Guns" crate_type = /obj/structure/closet/crate/secure/weapon + faction_discount = 10 /* Pistols @@ -10,7 +11,7 @@ name = "Disposable Gun Crate" desc = "In some sectors, these disposable pistols are the only firearms that can be legally sold for less than 200cr. That price is still far too high." cost = 300 - contains = list(/obj/item/storage/pistolcase/disposable) + contains = list(/obj/item/storage/guncase/pistol/disposable) crate_name = "disposable gun crate" /datum/supply_pack/gun/disposablebulk @@ -40,26 +41,92 @@ name = ".38 Derringer Crate" desc = "A cheap, concealable pistol manufactured by the reputable Hunter's Pride. At least it's better than a disposable pistol. Chambered in .38 rounds." cost = 350 - contains = list(/obj/item/storage/pistolcase/derringer) + contains = list(/obj/item/storage/guncase/pistol/derringer) crate_name = "derringer crate" + faction = /datum/faction/srm + +/datum/supply_pack/gun/m17 + name = "M17 pistol Crate" + desc = "A cheap target shooting pistol manufactured by Serene Outdoors. Chambered in .22lr" + cost = 400 + contains = list(/obj/item/storage/guncase/pistol/m17) + crate_name = "pistol crate" /datum/supply_pack/gun/commanders name = "Commander Pistol Crate" - desc = "Contains a modified Candor 'Commander' pistol, produced by Nanotrasen and chambered in 9mm." + desc = "Contains a double stacked Commander pistol, produced by Nanotrasen along with Vigilitas Interstellar and is chambered in 9mm." cost = 750 - contains = list(/obj/item/storage/pistolcase/commander) + contains = list(/obj/item/storage/guncase/pistol/commander) + faction = /datum/faction/nt + faction_discount = 20 + +/datum/supply_pack/gun/ringneck + name = "Ringneck Pistol Crate" + desc = "Contains a civilian variant of the Ringneck pistol, produced by Scarborough Arms and chambered in 10mm." + cost = 1000 + contains = list(/obj/item/storage/guncase/pistol/ringneck) + faction = /datum/faction/syndicate/scarborough_arms -/datum/supply_pack/gun/makarovs - name = "Stechkin Pistol Crate" - desc = "Contains a concealable stechkin pistol, produced by Scarborough Arms and chambered in 10mm." +/datum/supply_pack/gun/cm23 + name = "CM-23 Pistol Crate" + desc = "Contains a 10mm CM-23 Pistol, standard issue of the Colonial Minutemen." cost = 1000 - contains = list(/obj/item/storage/pistolcase/stechkin) + contains = list(/obj/item/storage/guncase/pistol/cm23) + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/cm70 + name = "CM-70 Machinepistol Crate" + desc = "Contains a 9mm machinepistol produced proudly within Lanchester City. Colonial Minuteman issue only." + cost = 2500 + contains = list(/obj/item/storage/guncase/pistol/cm70) + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/commissioner + name = "Commissioner Pistol Crate" + desc = "Contains a modified Commander pistol, adjusted to fit the IRMG's standards and painted in the brown and gold of all IRMG firearms." + cost = 750 + contains = list(/obj/item/storage/guncase/commissioner) + faction = /datum/faction/inteq + faction_discount = 0 + faction_locked = TRUE /datum/supply_pack/gun/candors name = "Candor Pistol Crate" desc = "Contains a Candor pistol, the trusty sidearm of any spacer. Produced by Hephaestus Industries and chambered in .45 ACP." cost = 1000 - contains = list(/obj/item/storage/pistolcase/candor) + contains = list(/obj/item/storage/guncase/pistol/candor) + faction = /datum/faction/srm + +/datum/supply_pack/gun/asp + name = "BC-81 'Asp' Crate" + desc = "Contains a compact armor-piercing sidearm, chambered in 5.7mm" + cost = 1250 + contains = list(/obj/item/storage/guncase/pistol/asp) + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/pistolec + name = "Pistole 'C' Crate" + desc = "Contains a compact solarian-produced sidearm, chambered in 5.56mm HITP. Not to be confused with 5.56x42 CLIP." + cost = 1000 + contains = list(/obj/item/storage/guncase/pistol/pistolec) + faction = /datum/faction/solgov + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/pistolec + name = "Model 'H' Gauss Pistol Crate" + desc = "Contains a compact solarian-produced gauss pistol, chambered in ferromagnetic slugs. Remember to sign your necessary forms upon arrival." + cost = 2000 + contains = list(/obj/item/storage/guncase/pistol/modelh) + faction = /datum/faction/solgov + faction_discount = 0 + faction_locked = TRUE /datum/supply_pack/gun/candorsnew name = "Candor Pistol Crate" @@ -71,19 +138,22 @@ name = "HP Firebrand Pepperbox Revolver Crate" desc = "Contains a concealable pepperbox revolver manufactured by Hunter's Pride and chambered in .357." cost = 1250 - contains = list(/obj/item/storage/pistolcase/firebrand) + contains = list(/obj/item/storage/guncase/pistol/firebrand) + faction = /datum/faction/srm /datum/supply_pack/gun/detrevolver name = "Detective Revolver Crate" desc = "Contains a concealable revolver favored by Solarian systems, chambered in .38." cost = 600 - contains = list(/obj/item/storage/pistolcase/detective) + contains = list(/obj/item/storage/guncase/pistol/detective) + faction = /datum/faction/srm /datum/supply_pack/gun/shadowrevolver name = "Shadow Revolver Crate" desc = "Contains a concealable Shadow revolver, chambered in .44 Roumain." cost = 1000 - contains = list(/obj/item/storage/pistolcase/shadow) + contains = list(/obj/item/storage/guncase/pistol/shadow) + faction = /datum/faction/srm /datum/supply_pack/gun/cobra20 name = "Cobra-20 SMG Crate" @@ -92,6 +162,41 @@ contains = list(/obj/item/gun/ballistic/automatic/smg/c20r/cobra) crate_name = "SMG crate" +/datum/supply_pack/gun/viperrevolver + name = "Viper-23 Revolver Crate" + desc = "Contains a civilian variant of the Viper revolver, chambered in .357 magnum." + cost = 2500 + contains = list(/obj/item/storage/guncase/pistol/viper) + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 5 + +/datum/supply_pack/gun/a357 + name = "R-23 'Viper' Revolver Crate" + desc = "Contains a double-action military variant of the Viper revolver, chambered in .357 magnum." + cost = 3000 + contains = list(/obj/item/storage/guncase/pistol/a357) + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/ashhand + name = "Ashhand Hunting Revolver Crate" + desc = "Contains a single-action .45-70 hunting revolver manufactured by Hunter's Pride for use against the biggest game." + cost = 3500 + contains = list(/obj/item/storage/guncase/pistol/ashhand) + faction = /datum/faction/srm + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/cm357 + name = "CM-357 Automag Pistol Crate" + desc = "Contains a magazine-fed .357 handgun, produced for the CMM-BARD division and available for requisition in small numbers to the Minutemen." + cost = 3000 + contains = list(/obj/item/storage/guncase/pistol/cm357) + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + /* Energy */ @@ -100,45 +205,87 @@ name = "Laser Gun Crate" desc = "Contains a lethal, high-energy laser gun." cost = 1000 - contains = list(/obj/item/storage/pistolcase/laser) + contains = list(/obj/item/storage/guncase/energy/laser) crate_name = "laser crate" + faction = /datum/faction/nt /datum/supply_pack/gun/mini_energy name = "Mini Energy Gun Crate" desc = "Contains a small, versatile energy gun, capable of firing both nonlethal and lethal blasts, but with a limited power cell." cost = 500 - contains = list(/obj/item/storage/pistolcase/miniegun) + contains = list(/obj/item/storage/guncase/pistol/miniegun) crate_name = "laser crate" + faction_discount = 20 + faction = /datum/faction/nt /datum/supply_pack/gun/energy name = "Energy Gun Crate" desc = "Contains a versatile energy gun, capable of firing both nonlethal and lethal blasts of light." cost = 1250 - contains = list(/obj/item/storage/pistolcase/egun) + contains = list(/obj/item/storage/guncase/energy/egun) crate_name = "energy gun crate" crate_type = /obj/structure/closet/crate/secure/plasma + faction = /datum/faction/nt + +/datum/supply_pack/gun/scatterlaser + name = "Scatter Laser Crate" + desc = "Contains a multi-function scatter energy gun, capable of firing armour penetrating slugs, and devastating scattered laser bolts." + cost = 1250 + contains = list(/obj/item/gun/energy/laser/scatter) + crate_name = "scatter laser crate" /datum/supply_pack/gun/ion name = "Ion Rifle Crate" desc = "Contains a single Mk.I Ion Projector, a special anti-tank rifle designed to disable electronic threats at range." cost = 10000 - contains = list(/obj/item/storage/pistolcase/iongun) + contains = list(/obj/item/storage/guncase/energy/iongun) crate_name = "ion rifle crate" crate_type = /obj/structure/closet/crate/secure/plasma + faction = /datum/faction/nt /datum/supply_pack/gun/laser/kalix/pistol name = "Etherbor SG-8 Beam Pistol Crate" desc = "Contains a single SG-8 Beam Pistol, a civilian-grade sidearm developed in Epsilon Eridani, manufactured by Etherbor Industries." cost = 1000 - contains = list(/obj/item/storage/pistolcase/kalixpistol) + contains = list(/obj/item/storage/guncase/pistol/kalixpistol) crate_name = "beam pistol crate" + faction = /datum/faction/pgf /datum/supply_pack/gun/laser/kalix name = "Etherbor BG-12 Beam Rifle Crate" desc = "Contains a single BG-12 Beam Rifle, a civilian-grade semi-automatic developed in Epsilon Eridani, manufactured by Etherbor Industries." cost = 3000 - contains = list(/obj/item/storage/guncase/kalixrifle) + contains = list(/obj/item/storage/guncase/energy/kalixrifle) crate_name = "beam rifle crate" + faction = /datum/faction/pgf + +/datum/supply_pack/gun/laser/bg16 + name = "Etherbor BG-16 Beam Rifle Crate" + desc = "Contains a single BG-16 Beam Rifle, a military-grade automatic developed in the PGF and manufactured by Etherbor Industries for use within the Marine Corps." + cost = 3500 + contains = list(/obj/item/storage/guncase/energy/bg16) + crate_name = "beam rifle crate" + faction = /datum/faction/pgf + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/energy/disabler + name = "Disabler Crate" + desc = "One stamina-draining disabler weapon, for use in non-lethal pacification." + cost = 1000 + contains = list(/obj/item/gun/energy/disabler) + crate_name = "disabler crate" + faction = /datum/faction/nt + +/datum/supply_pack/gun/energy/taser + name = "Hybrid Taser Crate" + desc = "Contains one disabler-taser hybrid weapon." + cost = 1250 + contains = list(/obj/item/gun/energy/e_gun/advtaser) + crate_name = "hybrid taser crate" + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE /* Shotguns @@ -149,32 +296,226 @@ desc = "For when you need to deal with 2 drunkards the old-fashioned way. Contains a double-barreled shotgun, favored by Bartenders. Warranty voided if sawed off." cost = 1000 contains = list(/obj/item/storage/guncase/doublebarrel) - crate_name = "shotguns crate" + crate_name = "shotgun crate" + faction = /datum/faction/srm + +/datum/supply_pack/gun/conflagration + name = "Conflagration Lever Action Shotgun Crate" + desc = "For when you need to deal with 6 hooligans and look good doing it. Contains one lever-action shotgun, with a 6 round capacity." + cost = 1500 + contains = list(/obj/item/storage/guncase/conflagration) + crate_name = "shotgun crate" + faction = /datum/faction/srm /datum/supply_pack/gun/hellfire_shotgun name = "Hellfire Shotgun Crate" desc = "For when you need to deal with 8 hooligans. Contains a pump shotgun, with a 8-round capacity." cost = 2000 - contains = list(/obj/item/gun/ballistic/shotgun/hellfire) + contains = list(/obj/item/storage/guncase/hellfire) crate_name = "shotgun crate" + faction = /datum/faction/srm /datum/supply_pack/gun/brimstone_shotgun name = "Brimstone Shotgun Crate" desc = "For when you need to deal with 5 hooligans, and QUICKLY. Contains a slamfire shotgun, with a 5-round capacity. Warranty voided if sawed off." cost = 2000 - contains = list(/obj/item/gun/ballistic/shotgun/brimstone) + contains = list(/obj/item/storage/guncase/brimstone) + crate_name = "shotgun crate" + faction = /datum/faction/srm + +/datum/supply_pack/gun/buckmaster + name = "Buckmaster Shotgun Crate" + desc = "For when you need to deal with 8 hooligans and can't be arsed to pump. Contains a semi-auto shotgun with an 8 round tube." + contains = list(/obj/item/storage/guncase/buckmaster) + cost = 3000 crate_name = "shotgun crate" +/datum/supply_pack/gun/bulldog + name = "Bulldog Shotgun Crate" + desc = "An automatic shotgun chambered in 12ga produced by Scarborough Arms for exclusive use by licensed buyers. Comes with 8-round box magazines." + contains = list(/obj/item/storage/guncase/bulldog) + cost = 4000 + crate_name = "shotgun crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/mastiff + name = "Mastiff Shotgun Crate" + desc = "An automatic shotgun modified for exclusive use by the IRMG and chambered in 12ga. Comes with 8-round box magazines." + contains = list(/obj/item/storage/guncase/mastiff) + cost = 4000 + crate_name = "shotgun crate" + faction = /datum/faction/inteq + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/cm15 + name = "CM-15 Shotgun Crate" + desc = "A combat shotgun produced by Lanchester Arms Co. for the Colonial Minuteman and CMM-BARD for use in CQC operations. Chambered in 12ga and equipped with 8-round box magazines." + contains = list(/obj/item/storage/guncase/cm15) + cost = 4000 + crate_name = "shotgun crate" + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/ultima + name = "E-SG 500 Energy Shotgun Crate" + desc = "Contains an energy-based shotgun equipped with dual kill/disable modes, ideal for short range. The on-board computer is notoriously unreliable. For NT employee use only." + cost = 3000 + contains = list(/obj/item/storage/guncase/energy/ultima) + crate_name = "shotgun crate" + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + +/* + SMGs +*/ + +/datum/supply_pack/gun/cobra20 + name = "Cobra-20 SMG Crate" + desc = "Contains a civilian variant of the Cobra SMG, manufactured by Scaraborough Arms and chambered in .45" + cost = 3000 + contains = list(/obj/item/storage/guncase/cobra) + crate_name = "SMG crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 10 + +/datum/supply_pack/gun/vector + name = "Vector SMG Crate" + desc = "Contains a Vector PDW produced by Sharplite Defense and chambered in 9mm." + cost = 3000 + contains = list(/obj/item/storage/guncase/vector) + crate_name = "SMG crate" + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/mongrel + name = "SKM-44v Mongrel SMG Crate" + desc = "Contains a shortened variant of the SKM rechambered to 10mm and painted in the brown-and-gold of Inteq." + cost = 3000 + contains = list(/obj/item/storage/guncase/mongrel) + crate_name = "SMG crate" + faction = /datum/faction/inteq + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/wt550 + name = "WT-550 PDW Crate" + desc = "Contains a high-powered, automatic personal defense weapon chambered in 4.6x30mm." + cost = 3000 + contains = list(/obj/item/storage/guncase/wt550) + crate_name = "PDW crate" + faction_discount = 10 + faction = /datum/faction/nt + +/datum/supply_pack/gun/saber + name = "SABR Prototype SMG Crate" + desc = "Contains a compact 9mm automatic SMG produced by NT Ballistics. For NT employee use only." + cost = 2500 + contains = list(/obj/item/storage/guncase/saber) + crate_name = "SMG crate" + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/etar + name = "E-TAR Dual-Mode Energy SMG Crate" + desc = "Contains a compact energy-based PDW platform, ideal for suppressing threats at mid-range. For NT employee use only." + cost = 2000 + contains = list(/obj/item/storage/guncase/energy/etar) + crate_name = "SMG crate" + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/firestorm + name = "Firestorm SMG Crate" + desc = "Contains a Hunter's Pride SMG, intended for internal use by hunters and chambered in .45" + cost = 3000 + contains = list(/obj/item/storage/guncase/firestorm) + crate_name = "SMG crate" + faction = /datum/faction/srm + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/rattlesnake + name = "Rattlesnake Machinepistol Crate" + desc = "Contains an automatic machinepistol produced by Scarborough Arms, chambered in 9mm." + cost = 2500 + contains = list(/obj/item/storage/guncase/rattlesnake) + crate_name = "Machinepistol crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/kingsnake + name = "Kingsnake Machinepistol Crate" + desc = "Contains an automatic machinepistol chambered in 9mm, painted in the brown-and-gold of Inteq." + cost = 2500 + contains = list(/obj/item/storage/guncase/kingsnake) + crate_name = "Machinepistol crate" + faction = /datum/faction/inteq + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/cm5 + name = "CM-5 SMG Crate" + desc = "Contains a CM-5 automatic SMG, produced proudly within Lanchester City. Colonial Minuteman issue only." + cost = 2500 + contains = list(/obj/item/storage/guncase/cm5) + crate_name = "SMG crate" + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/sidewinder + name = "Sidewinder SMG Crate" + desc = "Contains a Sidewinder PDW produced by Scarborough Arms and chambered in 5.7mm for armor-piercing capabilities." + cost = 3000 + contains = list(/obj/item/storage/guncase/sidewinder) + crate_name = "SMG crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + /* Rifles */ +/datum/supply_pack/gun/m12 + name = "Sporter Rifle Crate" + desc = "Contains a recently manufactured Model 12 \"Sporter\", Serene Outdoors' premier small game rifle. Chambered in .22lr" + contains = list(/obj/item/storage/guncase/m12) + cost = 500 + crate_name = "rifle crate" + +/datum/supply_pack/gun/m15 + name = "Super Sporter Rifle Crate" + desc = "Contains a recently manufactured Model 15 \"Super Sporter\", Serene Outdoors' premier hunting rifle. Chambered in 5.56 CLIP" + contains = list(/obj/item/storage/guncase/m15) + cost = 2500 + crate_name = "rifle crate" + /datum/supply_pack/gun/winchester name = "Flaming Arrow Lever Action Rifle Crate" desc = "Contains an antiquated lever action rifle intended for hunting wildlife. Chambered in .38 rounds." cost = 750 contains = list(/obj/item/storage/guncase/winchester) crate_name = "rifle crate" + faction = /datum/faction/srm + faction_discount = 20 + +/datum/supply_pack/gun/absolution + name = "Absolution Lever Action Rifle Crate" + desc = "Contains a powerful lever-action rifle for hunting larger wildlife. Chambered in .357." + cost = 2000 + contains = list(/obj/item/storage/guncase/absolution) + crate_name = "shotguns crate" + faction = /datum/faction/srm /datum/supply_pack/gun/illestren name = "Illestren Rifle Crate" @@ -182,13 +523,15 @@ cost = 1250 contains = list(/obj/item/storage/guncase/illestren) crate_name = "rifle crate" + faction = /datum/faction/srm /datum/supply_pack/gun/beacon - name = "Contender Break Action Rifle Crate" + name = "Beacon Break Action Rifle Crate" desc = "Contains a single shot break action rifle to hunt wildlife that annoys you in particular. Chambered in devastating .45-70 rounds. Warranty voided if sawed off." - cost = 2250 + cost = 1000 contains = list(/obj/item/storage/guncase/beacon) crate_name = "rifle crate" + faction = /datum/faction/srm /datum/supply_pack/gun/scout name = "Scout Sniper Rifle Crate" @@ -224,3 +567,240 @@ cost = 5000 contains = list(/obj/item/storage/guncase/skm) crate_name = "auto rifle crate" + +/datum/supply_pack/gun/inteq_skm + name = "SKM-44 Rifle Crate" + desc = "Contains a SKM painted in the brown-and-gold of Inteq, chambered in 7.62x40mm CLIP. " + cost = 5000 + contains = list(/obj/item/storage/guncase/skm_inteq) + crate_name = "auto rifle crate" + faction = /datum/faction/inteq + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/gar + name = "Solarian 'GAR' Automatic Rifle" + desc = "A modern solarian military rifle, chambered in ferromagnetic lances. Not for export." + cost = 5000 + contains = list(/obj/item/storage/guncase/gar) + crate_name = "auto rifle crate" + faction = /datum/faction/solgov + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/hades + name = "SL AL-655 'Hades' energy rifle" + desc = "Contains a high-energy, automatic laser rifle. For NT employee use only." + cost = 5000 + contains = list(/obj/item/storage/guncase/hades) + crate_name = "laser crate" + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/hydra + name = "SMR-80 'Hydra' Automatic Rifle Crate" + desc = "Contains a high-powered automatic rifle produced by Scarborough Arms and chambered in 5.56 CLIP. This one is a standard variant." + cost = 5000 + contains = list(/obj/item/storage/guncase/hydra) + crate_name = "rifle crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/cm82 + name = "CM-82 Standard Issue Rifle" + desc = "Contains a high-powered rifle chambered in 5.56 CLIP, standard issue of the Colonial Minutemen." + cost = 5000 + contains = list(/obj/item/storage/guncase/cm82) + crate_name = "rifle crate" + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/cm24 + name = "CM-24 Surplus Stockpile Rifle" + desc = "Contains a higher-powered rifle chambered in 7.62x40 CLIP based on the SKM-24 platform, formerly the main service rifle of the CMM. This one has been pulled from reservist stockpiles." + cost = 5000 + contains = list(/obj/item/storage/guncase/cm82) + crate_name = "rifle crate" + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/* Heavy */ + +/datum/supply_pack/gun/cm40 + name = "CM-40 Squad Automatic Weapon" + desc = "Contains a CM-40 Squad Automatic Weapon, a CLIP-produced LMG for Minuteman usage in situations that require heavy firepower. For Minuteman use only." + cost = 6000 + contains = list(/obj/item/storage/guncase/cm40) + crate_name = "LMG crate" + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/saw80 + name = "SAW-80 Squad Automatic Weapon" + desc = "Contains one of the rarely-produced SAW-80 Squad Automatic Weapon platforms, exclusively for licensed buyers. Remember, short controlled bursts!" + cost = 7000 + contains = list(/obj/item/storage/guncase/saw80) + crate_name = "LMG crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/* Marksman Rifles */ + +/datum/supply_pack/gun/cmf4 + name = "CM-F4 Designated Marksman Rifle" + desc = "Contains a high-powered marksman rifle chambered in .308. For Colonial Minuteman issue only." + cost = 3500 + contains = list(/obj/item/storage/guncase/cmf4) + crate_name = "dmr crate" + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/ssg04 + name = "SsG-04 Designated Marksman Rifle" + desc = "Contains a high-powered marksman rifle chambered in .308. Painted in the brown-and-gold of Inteq." + cost = 3500 + contains = list(/obj/item/storage/guncase/ssg04) + crate_name = "dmr crate" + faction = /datum/faction/inteq + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/sbr80 + name = "SBR-80 'Hydra' Designated Marksman Rifle Crate" + desc = "Contains a high-powered marksman rifle chambered in 5.56 CLIP and produced by Scarborough Arms. A modification of the ever-popular SMR-80 platform." + cost = 3500 + contains = list(/obj/item/storage/guncase/sbr80) + crate_name = "dmr crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/vickland + name = "Vickland Battle Rifle" + desc = "Contains a high-powered semi-automatic battle rifle chambered in .308 and produced by Hunter's Pride. Fed via stripper clips with a 10 round capacity." + cost = 3500 + contains = list(/obj/item/storage/guncase/vickland) + crate_name = "dmr crate" + faction = /datum/faction/srm + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/gauss + name = "Prototype Gauss Rifle" + desc = "Contains a high-powered prototype armor-piercing gauss rifle, operable with ferromagnetic pellets. For NT employee use only." + cost = 3500 + contains = list(/obj/item/storage/guncase/gauss) + crate_name = "dmr crate" + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/claris + name = "Claris Gauss Rifle" + desc = "Contains a high-powered armor-piercing gauss rifle, loaded directly via ferromagnetic pellet speedloaders." + cost = 2500 + contains = list(/obj/item/storage/guncase/claris) + crate_name = "dmr crate" + faction = /datum/faction/solgov + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/boomslang90 + name = "Boomslang-90 Designated Marksman Rifle Crate" + desc = "Contains a civilian variant of the Boomslang Sniper rifle- modified with a 2x scope, rather than a sniper scope. Chambered in the powerful 6.5x57mm CLIP." + cost = 3500 + contains = list(/obj/item/storage/guncase/boomslang) + crate_name = "dmr crate" + faction = /datum/faction/syndicate/scarborough_arms + +/datum/supply_pack/gun/boomslang10 + name = "Boomslang-10 Sniper Rifle Crate" + desc = "Contains a military variant of the Boomslang Sniper rifle equipped with an 8x sniper scope, for licenesed buyers only. Chambered in the powerful 6.5x57mm CLIP." + cost = 4500 + contains = list(/obj/item/storage/guncase/boomslangmilitary) + crate_name = "marksman rifle crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/f90 + name = "CM-F90 Sniper Rifle Crate" + desc = "Contains a military sniper rifle equipped with an 8x sniper scope, for Minuteman use only. Chambered in the powerful 6.5x57mm CLIP." + cost = 4500 + contains = list(/obj/item/storage/guncase/cmf90) + crate_name = "marksman rifle crate" + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/scout + name = "Scout Sniper Rifle Crate" + desc = "Contains a traditional scoped rifle to hunt wildlife and big game from a respectful distance. Chambered in powerful .300 Magnum." + cost = 4000 + contains = list(/obj/item/storage/guncase/scout) + crate_name = "sniper rifle crate" + faction = /datum/faction/srm + +/datum/supply_pack/gun/ssg669 + name = "SSG-669C Sniper Rifle Crate" + desc = "Contains a traditional scoped rifle to hunt wildlife and big game from a respectful distance. Chambered in powerful .300 Magnum." + cost = 4000 + contains = list(/obj/item/storage/guncase/ssg669) + crate_name = "sniper rifle crate" + faction = /datum/faction/solgov + faction_discount = 0 + faction_locked = TRUE + +/* Attachments */ + +/datum/supply_pack/gun/attachment/rail_light + name = "Tactical Rail Light Crate" + desc = "Contains a single rail light to be mounted on a firearm." + cost = 100 + contains = list(/obj/item/attachment/rail_light) + crate_name = "rail light crate" + +/datum/supply_pack/gun/attachment/laser_sight + name = "Laser Sight Crate" + desc = "Contains a single rail light to be mounted on a firearm." + cost = 250 + contains = list(/obj/item/attachment/laser_sight) + crate_name = "laser sight crate" + +/datum/supply_pack/gun/attachment/bayonet + name = "Bayonet Crate" + desc = "Contains a single bayonet to be mounted on a firearm." + cost = 250 + contains = list(/obj/item/attachment/bayonet) + crate_name = "bayonet crate" + +/datum/supply_pack/gun/attachment/ebayonet + name = "Energy Bayonet Crate" + desc = "Contains a single energy bayonet to be mounted on a firearm, exclusive for Scarborough Firearms." + cost = 500 + contains = list(/obj/item/attachment/energy_bayonet) + crate_name = "bayonet crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/attachment/silencer + name = "Suppressor Crate" + desc = "Contains a single suppressor to be mounted on a firearm." + cost = 250 + contains = list(/obj/item/attachment/silencer) + crate_name = "suppressor crate" + +/datum/supply_pack/gun/attachment/sling + name = "Shoulder Sling Crate" + desc = "Contains a single shoulder sling to be mounted on a firearm for easy carrying without armor holsters. Only compatible with longarms." + cost = 250 + contains = list(/obj/item/attachment/sling) + crate_name = "shoulder sling crate" diff --git a/code/modules/cargo/packs/machinery.dm b/code/modules/cargo/packs/machinery.dm index f25e4818329..e5d78e863f1 100644 --- a/code/modules/cargo/packs/machinery.dm +++ b/code/modules/cargo/packs/machinery.dm @@ -168,30 +168,6 @@ crate_name = "holofield generator crate" crate_type = /obj/structure/closet/crate/engineering -/datum/supply_pack/machinery/blackmarket_telepad - name = "Black Market LTSRBT" - desc = "Need a faster and better way of transporting your illegal goods from and to the sector? Fear not, the Long-To-Short-Range-Bluespace-Transceiver (LTSRBT for short) is here to help. Contains a LTSRBT circuit, two bluespace crystals, and one ansible." - cost = 1000 - contains = list( - /obj/item/circuitboard/machine/ltsrbt, - /obj/item/stack/ore/bluespace_crystal/artificial, - /obj/item/stack/ore/bluespace_crystal/artificial, - /obj/item/stock_parts/subspace/ansible - ) - crate_type = /obj/structure/closet/crate/science - -/datum/supply_pack/machinery/shuttle_in_a_box - name = "Shuttle in a Box" - desc = "The bare minimum amount of machine and computer boards required to create a working spacecraft." - cost = 8000 - contains = list( - /obj/item/circuitboard/computer/shuttle/helm, - /obj/item/circuitboard/machine/shuttle/smes, - /obj/item/circuitboard/machine/shuttle/engine/electric, - /obj/item/shuttle_creator - ) - crate_name = "Shuttle in a Box" - /datum/supply_pack/machinery/ion_thruster name = "Ion Thruster Crate" desc = "A crate containing an ion thruster and its precharger's electronics. For when you need a little extra thrust." diff --git a/code/modules/cargo/packs/magazines.dm b/code/modules/cargo/packs/magazines.dm new file mode 100644 index 00000000000..301f771f79b --- /dev/null +++ b/code/modules/cargo/packs/magazines.dm @@ -0,0 +1,337 @@ +/datum/supply_pack/magazine + group = "Magazines" + crate_type = /obj/structure/closet/crate/secure/gear + crate_name = "magazine crate" + faction_discount = 0 + + +/* VI */ + +/datum/supply_pack/magazine/co9mm_mag + name = "9mm Commander Magazine Crate" + desc = "Contains a 9mm magazine for the standard-issue Commander pistol, with a capacity of twelve rounds." + contains = list(/obj/item/ammo_box/magazine/co9mm/empty) + cost = 150 + faction = /datum/faction/nt + +/datum/supply_pack/magazine/smgm9mm_mag + name = "9mm SMG Magazine Crate" + desc = "Contains a 9mm magazine for the Vector and Saber SMGs, with a capacity of thirty rounds." + contains = list(/obj/item/ammo_box/magazine/smgm9mm/empty) + cost = 300 + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + + +/* Hunter's Pride */ + +/datum/supply_pack/magazine/c38_mag + name = ".38 Speedloader Crate" + desc = "Contains a .38 speedloader for revolvers, containing six rounds." + contains = list(/obj/item/ammo_box/c38/empty) + cost = 100 + faction_discount = 20 + faction = /datum/faction/srm + +/datum/supply_pack/magazine/m45_mag + name = ".45 ACP Candor Magazine Crate" + desc = "Contains a .45 ACP magazine for the Candor pistol, with a capacity of eight rounds." + contains = list(/obj/item/ammo_box/magazine/m45/empty) + cost = 100 + faction = /datum/faction/srm + +/datum/supply_pack/magazine/a44roum_speedloader + name = ".44 Roumain Speedloader Crate" + desc = "Contains a .44 Roumain speedloader for the HP Montagne, with a capacity of six rounds." + contains = list(/obj/item/ammo_box/a44roum_speedloader/empty) + cost = 250 + faction = /datum/faction/srm + +/datum/supply_pack/magazine/firestorm_mag + name = "Firestorm Magazine Crate" + desc = "Contains a 28-round magazine for the Hunter's Pride Firestorm SMG." + contains = list(/obj/item/ammo_box/magazine/c45_firestorm_mag/empty) + cost = 300 + faction = /datum/faction/srm + + +/* Serene Sporting */ + +/datum/supply_pack/magazine/m17_mag + name = "Micro Target Magazine Crate" + desc = "Contains a .22lr magazine for the Micro Target pistol, with a capacity of ten rounds." + contains = list(/obj/item/ammo_box/magazine/m17/empty) + cost = 100 + +/datum/supply_pack/magazine/m12_mag + name = "Sporter Magazine Crate" + desc = "Contains a .22lr magazine for the Sporter Rifle, with a capacity of 25 rounds." + contains = list(/obj/item/ammo_box/magazine/m12_sporter/empty) + cost = 200 + +/datum/supply_pack/magazine/m15_mag + name = "Super Sporter Magazine Crate" + desc = "Contains a 5.56 CLIP magazine for the Super Sporter Rifle, with a capacity of 20 rounds." + contains = list(/obj/item/ammo_box/magazine/m15/empty) + cost = 300 + +/* Scarbie */ + +/datum/supply_pack/magazine/himehabu_mag + name = "Himehabu Magazine Crate" + desc = "Contains a .22lr magazine for the Himehabu pistol, with a capacity of ten rounds." + contains = list(/obj/item/ammo_box/magazine/m22lr_himehabu/empty) + cost = 100 + faction = /datum/faction/syndicate/scarborough_arms + +/datum/supply_pack/magazine/asp_mag + name = "Asp Magazine Crate" + desc = "Contains a 5.7x39mm magazine for the Asp pistol, with a capacity of 12 rounds." + contains = list(/obj/item/ammo_box/magazine/m57_39_asp/empty) + cost = 250 + faction = /datum/faction/syndicate/scarborough_arms + +/datum/supply_pack/magazine/m10mm_mag + name = "Ringneck Magazine Crate" + desc = "Contains a 10mm magazine for the Ringneck pistol, with a capacity of eight rounds." + contains = list(/obj/item/ammo_box/magazine/m10mm_ringneck/empty) + cost = 150 + faction = /datum/faction/syndicate/scarborough_arms + +/datum/supply_pack/magazine/m9mm_rattlesnake + name = "Rattlesnake Magazine Crate" + desc = "Contains a 9mm magazine for the Rattlesnake machine pistol, with a capacity of 18 rounds." + contains = list(/obj/item/ammo_box/magazine/m9mm_rattlesnake/empty) + cost = 300 + faction = /datum/faction/syndicate/scarborough_arms + +/datum/supply_pack/magazine/a357_mag + name = ".357 Speedloader Crate" + desc = "Contains a .357 speedloader for revolvers, with a capacity of six rounds." + contains = list(/obj/item/ammo_box/a357/empty) + cost = 250 + faction_discount = 20 + faction = /datum/faction/syndicate/scarborough_arms + +/datum/supply_pack/magazine/sidewinder_mag + name = "Sidewinder Magazine Crate" + desc = "Contains a 30 round magazine for the Sidewinder SMG." + contains = list(/obj/item/ammo_box/magazine/m57_39_sidewinder/empty) + cost = 300 + faction = /datum/faction/syndicate/scarborough_arms + +/datum/supply_pack/magazine/c45_cobra_mag + name = "Cobra Magazine Crate" + desc = "Contains a .45 magazine for the Cobra-20, with a capacity of 24 rounds." + cost = 300 + contains = list(/obj/item/ammo_box/magazine/m45_cobra/empty) + faction = /datum/faction/syndicate/scarborough_arms + +/datum/supply_pack/magazine/short_hydra_mag + name = "SBR-80 DMR Short Magazine Crate" + desc = "Contains a 5.56x42mm CLIP made specially for the SBR-80 Designated Marksman Rifle, with a capacity of 20 rounds." + contains = list(/obj/item/ammo_box/magazine/m556_42_hydra/small/empty) + cost = 400 + faction = /datum/faction/syndicate/scarborough_arms + +/datum/supply_pack/magazine/hydra_mag + name = "SMR-80 Rifle Magazine Crate" + desc = "Contains a 5.56x42mm CLIP for the SMR-80 assault rifle, with a capacity of 30 rounds." + contains = list(/obj/item/ammo_box/magazine/m556_42_hydra/empty) + cost = 500 + faction = /datum/faction/syndicate/scarborough_arms + +/datum/supply_pack/magazine/saw_mag + name = "SAW-80 Magazine Crate" + desc = "Contains a 5.56x42mm CLIP magazine for the SAW-80 Squad Automatic Weapon, with a capacity of sixty rounds. Count your shots, they run out fast." + contains = list(/obj/item/ammo_box/magazine/m556_42_hydra/extended/empty) + cost = 750 + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/magazine/boomslang_mag + name = "Boomslang-90 Magazine Crate" + desc = "Contains a 6.5 CLIP magazine for the Boomslang rifle platform, with a capacity of five rounds." + contains = list(/obj/item/ammo_box/magazine/boomslang/short/empty) + cost = 750 + faction = /datum/faction/syndicate/scarborough_arms + +/* CM Lancaster */ + +/datum/supply_pack/magazine/cm23_mag + name = "CM-23 Magazine Crate" + desc = "Contains a 10mm magazine for the CM-23 handgun with a capacity of 10 rounds." + contains = list(/obj/item/ammo_box/magazine/cm23/empty) + cost = 150 + faction = /datum/faction/clip + +/datum/supply_pack/magazine/cm70_mag + name = "CM-70 Magazine Crate" + desc = "Contains a 9mm magazine for the CM-70 machinepistol." + contains = list(/obj/item/ammo_box/magazine/m9mm_cm70/empty) + cost = 350 + faction = /datum/faction/clip + faction_discount = 20 + +/datum/supply_pack/magazine/cm357_mag + name = "CM-357 Magazine Crate" + desc = "Contains a .357 magazine for the CM-357 automag pistol with a capacity of 7 rounds." + contains = list(/obj/item/ammo_box/magazine/cm357/empty) + cost = 250 + faction = /datum/faction/clip + +/datum/supply_pack/magazine/cm5_mag + name = "CM-5 Magazine Crate" + desc = "Contains a 9mm magazine for the CM-5 SMG with a capacity of 30 rounds." + contains = list(/obj/item/ammo_box/magazine/cm5_9mm/empty) + cost = 300 + faction = /datum/faction/clip + faction_discount = 20 + +/datum/supply_pack/magazine/cm82_mag + name = "CM-82 Magazine Crate" + desc = "Contains a 5.56mm magazine for the CM-82 rifle, with a capacity of thirty rounds." + contains = list(/obj/item/ammo_box/magazine/p16/empty) + cost = 500 + faction = /datum/faction/clip + +/datum/supply_pack/magazine/skm_ammo + name = "SKM Magazine Crate" + desc = "Contains a 7.62x40mm magazine for the SKM rifles, with a capacity of twenty rounds." + contains = list(/obj/item/ammo_box/magazine/skm_762_40/empty) + cost = 500 + +/datum/supply_pack/magazine/f4_mag + name = "F4 Magazine Crate" + desc = "Contains a .308 magazine for SsG-04 and CM-F4 platform rifles, with a capacity of ten rounds." + contains = list(/obj/item/ammo_box/magazine/f4_308/empty) + cost = 500 + faction = /datum/faction/clip + +/datum/supply_pack/magazine/f90 + name = "CM-F90 Magazine Crate" + desc = "Contains a 5-round 6.5mm magazine for use with the CM-F90 sniper rifle." + contains = list(/obj/item/ammo_box/magazine/f90/empty) + cost = 750 + faction = /datum/faction/clip + +/datum/supply_pack/magazine/cm15 + name = "CM-15 Magazine Crate" + desc = "Contains an 8-round 12ga magazine for the CM-15 Automatic Shotgun." + contains = list(/obj/item/ammo_box/magazine/cm15_12g/empty) + cost = 750 + faction = /datum/faction/clip + +/datum/supply_pack/magazine/cm40 + name = "CM-40 Magazine Crate" + desc = "Contains an 80-round 7.62x40mm CLIP box for the CM-40 Squad Automatic Weapon. Consider designating an ammo bearer." + contains = list(/obj/item/ammo_box/magazine/cm40_762_40_box/empty) + cost = 1000 + faction = /datum/faction/clip + +/* NT */ + +/datum/supply_pack/magazine/wt550_mag + name = "WT-550 Auto Rifle Magazine Crate" + desc = "Contains a 20-round magazine for the WT-550 Auto Rifle. Each magazine is designed to facilitate rapid tactical reloads." + cost = 300 + contains = list(/obj/item/ammo_box/magazine/wt550m9/empty) + faction = /datum/faction/nt + +/* Solgov */ + +/datum/supply_pack/magazine/mag_556mm + name = "5.56 Pistole C Magazine Crate" + desc = "Contains a 5.56mm magazine for the Pistole C, with a capacity of twelve rounds." + contains = list(/obj/item/ammo_box/magazine/pistol556mm/empty) + cost = 150 + faction = /datum/faction/solgov + +/datum/supply_pack/magazine/fms_mag + name = "Ferromagnetic Slug Magazine Crate" + desc = "Contains a ferromagnetic slug magazine for the Model H pistol, with a capacity of ten rounds." + contains = list(/obj/item/ammo_box/magazine/modelh/empty) + cost = 350 + faction = /datum/faction/solgov + +/datum/supply_pack/magazine/gar_ammo + name = "GAR Ferromagnetic Lance Magazine Crate" + desc = "Contains a ferromagnetic lance magazine for the GAR rifle, with a capacity of thirty two rounds." + contains = list(/obj/item/ammo_box/magazine/gar/empty) + cost = 500 + faction = /datum/faction/solgov + +/datum/supply_pack/magazine/claris_ammo + name = "Claris Ferromagnetic Pellet Speedloader Crate" + desc = "Contains a ferromagnetic pellet speedloader for the Claris rifle, with a capacity of twenty two rounds." + contains = list(/obj/item/ammo_box/amagpellet_claris/empty) + cost = 400 + faction = /datum/faction/solgov + +/* Inteq */ + +/datum/supply_pack/magazine/mongrel_mag + name = "Mongrel Magazine Crate" + desc = "Contains a 10mm magazine for the SKM-44v 'Mongrel' SMG, with a capacity of twenty-four rounds." + contains = list(/obj/item/ammo_box/magazine/smgm10mm/empty) + cost = 300 + faction = /datum/faction/inteq + +/* Shotguns */ + +/datum/supply_pack/magazine/bulldog + name = "Bulldog Magazine Crate" + desc = "Contains an 8-round 12ga box magazine for the Bulldog weapons platform." + contains = list(/obj/item/ammo_box/magazine/m12g_bulldog/empty) + cost = 750 + faction = /datum/faction/syndicate/scarborough_arms + + +/* energy weapons */ + +/datum/supply_pack/magazine/guncell + name = "Weapon Cell Crate" + desc = "Contains a weapon cell, compatible with laser guns." + contains = list(/obj/item/stock_parts/cell/gun) + faction = /datum/faction/nt + cost = 500 + +/datum/supply_pack/magazine/solgovcell + name = "SolCon Weapon Cell Crate" + desc = "Contains a Solarian weapon cell, compatible with Solarian gauss weaponry." + contains = list(/obj/item/stock_parts/cell/gun/solgov) + cost = 500 + faction = /datum/faction/solgov + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/magazine/upgradedguncell + name = "Upgraded Weapon Cell Crate" + desc = "Contains an upgraded weapon cell, compatible with laser guns. For NT use only." + contains = list(/obj/item/stock_parts/cell/gun/upgraded) + cost = 1000 + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + +/* etherbor */ + +/datum/supply_pack/magazine/guncell/kalix + name = "Etherbor Cell Crate" + desc = "Contains an Etherbor weapon cell, compatible with Etherbor armaments with a slightly higher capacity." + contains = list(/obj/item/stock_parts/cell/gun/kalix) + cost = 600 + faction = /datum/faction/pgf + +/datum/supply_pack/magazine/guncell/pgf + name = "Etherbor Cell Crate" + desc = "Contains a military-grade Etherbor weapon cell produced for the PGFMC, compatible with Etherbor armaments with a significantly higher capacity." + contains = list(/obj/item/stock_parts/cell/gun/pgf) + cost = 1000 + faction = /datum/faction/pgf + faction_discount = 0 + faction_locked = TRUE + +/* Expand once the energy weapons have been actually expanded upon */ diff --git a/code/modules/cargo/packs/material.dm b/code/modules/cargo/packs/material.dm index ee0f00e42d9..356856535b7 100644 --- a/code/modules/cargo/packs/material.dm +++ b/code/modules/cargo/packs/material.dm @@ -1,5 +1,7 @@ /datum/supply_pack/material group = "Materials & Sheets" + faction = /datum/faction/nt/ns_logi + faction_discount = 20 /* Basic construction materials @@ -40,7 +42,7 @@ /datum/supply_pack/material/uranium20 name = "20 Uranium Sheets" - desc = "Green rock make thog puke red." + desc = "Twenty sheets of mildly radioactive uranium. Lead gloves for safe handling not included." cost = 2000 contains = list(/obj/item/stack/sheet/mineral/uranium/twenty) crate_name = "uranium sheets crate" @@ -52,21 +54,21 @@ /datum/supply_pack/material/titanium20 name = "20 Titanium Sheets" - desc = "Used for making big boy tanks and tools." + desc = "Twenty sheets of durable titanium. Great for heavy machinery." cost = 3000 contains = list(/obj/item/stack/sheet/mineral/titanium/twenty) crate_name = "titanium sheets crate" /datum/supply_pack/material/gold20 name = "20 Gold Sheets" - desc = "Shiny." + desc = "Twenty sheets of gold. There was a time when this would've been more expensive." cost = 4000 contains = list(/obj/item/stack/sheet/mineral/gold/twenty) crate_name = "gold sheets crate" /datum/supply_pack/material/silver20 name = "20 Silver Sheets" - desc = "Somewhat less shiny." + desc = "Twenty sheets of silver. How quaint." cost = 3000 contains = list(/obj/item/stack/sheet/mineral/silver/twenty) crate_name = "silver sheets crate" @@ -110,3 +112,9 @@ contains = list(/obj/item/stack/sheet/mineral/wood/fifty) crate_name = "wood planks crate" +/datum/supply_pack/material/concrete_mix + name = "Concrete Bag" + desc = "Feeling lazy? Need a structure and quick? Use F.O.O.D.'s near-instant concrete mix! Just add water." + cost = 500 + contains = list(/obj/item/reagent_containers/glass/concrete_bag) + crate_name = "Concrete Mix" diff --git a/code/modules/cargo/packs/mechs.dm b/code/modules/cargo/packs/mechs.dm index 937126a8636..2a6e6b337eb 100644 --- a/code/modules/cargo/packs/mechs.dm +++ b/code/modules/cargo/packs/mechs.dm @@ -1,5 +1,5 @@ /datum/supply_pack/mech - group = "Mech and Exosuit Construction" + group = "Exosuit Construction" crate_type = /obj/structure/closet/crate/large @@ -97,12 +97,12 @@ Mech Equipment */ /datum/supply_pack/mech/equipment - name = "Mech equipment crate" + name = "Exosuit equipment crate" crate_type = /obj/structure/closet/crate/secure/gear - crate_name = "mech equipment" + crate_name = "exosuit equipment" /datum/supply_pack/mech/equipment/drill - name = "Mech drill kit" + name = "Exosuit drill kit" desc = "Contains one mechanized drill for heavy duty digging." cost = 500 contains = list( @@ -110,39 +110,47 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/diamond_drill - name = "Mech diamond drill kit" + name = "Exosuit diamond drill kit" desc = "Contains mechanized diamond drill, for the enterprising prospector!" cost = 750 contains = list( /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill ) +/datum/supply_pack/mech/equipment/salvage_saw + name = "Exosuit Salvage Saw" + desc = "Contains an upsized angle grinder for an Exosuit, for all your larger salvage problems." + cost = 2000 + contains = list( + /obj/item/mecha_parts/mecha_equipment/salvage_saw + ) + /datum/supply_pack/mech/equipment/scanner - name = "Mech scanner kit" - desc = "An electronic mining scanner, graded to interface with a mech." + name = "Exosuit scanner kit" + desc = "An electronic mining scanner, graded to interface with an exosuit." cost = 350 contains = list( /obj/item/mecha_parts/mecha_equipment/mining_scanner ) /datum/supply_pack/mech/equipment/plasma_gen - name = "Mech generator kit" - desc = "A plasma-fueled generator for a mech, ideal for long operations." + name = "Exosuit generator kit" + desc = "A plasma-fueled generator for an exosuit, ideal for long operations." cost = 1000 contains = list( /obj/item/mecha_parts/mecha_equipment/generator ) /datum/supply_pack/mech/equipment/nuclear_gen - name = "Mech nuclear generator kit" - desc = "Contains a uranium-fueled generator for a mech, ideal for polluting the environment." + name = "Exosuit nuclear generator kit" + desc = "Contains a uranium-fueled generator for an exosuit, ideal for polluting the environment." cost = 1250 contains = list( /obj/item/mecha_parts/mecha_equipment/generator/nuclear ) /datum/supply_pack/mech/equipment/tesla_energy_relay - name = "Mech tesla relay kit" + name = "Exosuit tesla relay kit" desc = "Contains an advanced exosuit module which draws power from nearby APCs." cost = 1750 contains = list( @@ -150,7 +158,7 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/clamp - name = "Mech clamp kit" + name = "Exosuit clamp kit" desc = "Contains a clamp designed for mechanized freight hauling." cost = 350 contains = list( @@ -158,7 +166,7 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/extinguisher - name = "Mech extinguisher kit" + name = "Exosuit extinguisher kit" desc = "Contains a heavy duty fire extinguisher, for heavy duty firefighting." cost = 250 contains = list( @@ -166,7 +174,7 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/cable_layer - name = "Mech RCL Kit" + name = "Exosuit RCL Kit" desc = "Contains a \"rapid cable layer\" for laying down long lengths of wire." cost = 250 contains = list( @@ -174,7 +182,7 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/mech_sleeper - name = "Mech Mounted Sleeper Kit" + name = "Exosuit Mounted Sleeper Kit" desc = "Contains a mounted sleeper device, used for retrieving and stabilizing patients." cost = 1000 contains = list( @@ -182,20 +190,28 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/beam_gun - name = "Mech Beam Gun Kit" + name = "Exosuit Beam Gun Kit" desc = "Contains an advanced mounted medical beamgun, capable of alleviating wounds to targets." cost = 7000 contains = list( /obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam ) /datum/supply_pack/mech/equipment/rcs - name = "Mech RCS kit" + name = "Exosuit RCS kit" desc = "A gas fueled RCS pack, ideal for mechanized space operation." cost = 800 contains = list( /obj/item/mecha_parts/mecha_equipment/thrusters/gas ) +/datum/supply_pack/mech/equipment/ionthrust + name = "Exosuit Ion thruster kit" + desc = "An electrical powered thruster pack, perfect for exosuits without a functional way to refill more tradional RCS thrusters." + cost = 2000 + contains = list( + /obj/item/mecha_parts/mecha_equipment/thrusters/ion + ) + /datum/supply_pack/mech/equipment/ripley_upgrade name = "APLU upgrade kit" desc = "Contains an APLU MK II upgrade kit. The upgrade will replace the cockpit with a spaceworthy canopy, but the added weight makes it slower." @@ -205,7 +221,7 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/melee_armor_booster - name = "Mech CCW armor kit" + name = "Exosuit CCW armor kit" desc = "A \"close combat weaponry\" module designed to deflect melee attacks." cost = 750 contains = list( @@ -213,25 +229,34 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/projectile_armor_booster - name = "Mech projectile armor kit" + name = "Exosuit projectile armor kit" desc = "A protective exosuit module designed to deflect ranged attacks." cost = 1000 contains = list( /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster ) +/datum/supply_pack/mech/equipment/recharger + name = "Exosuit Recharger kit" + desc = "Two boards for an exosuit recharger and recharger console. For the stylish exosuit bay." + cost = 400 + contains = list( + /obj/item/circuitboard/computer/mech_bay_power_console, + /obj/item/circuitboard/machine/mech_recharger + ) + /* weapons */ /datum/supply_pack/mech/weapon - name = "Mech weapons crate" + name = "Exosuit weapons crate" crate_type = /obj/structure/closet/crate/secure/weapon - crate_name = "mech weapon crate" + crate_name = "exosuit weapon crate" /datum/supply_pack/mech/weapon/pka - name = "Mech Mounted Proto-Kinetic Accelerator kit" - desc = "A ranged mining attachment for any mech." + name = "Exosuit-Mounted Proto-Kinetic Accelerator kit" + desc = "A ranged mining attachment for any exosuit." cost = 750 contains = list( /obj/item/mecha_parts/mecha_equipment/weapon/energy/mecha_kineticgun @@ -262,7 +287,7 @@ weapons ) /datum/supply_pack/mech/weapon/scattershot - name = "LBX AC 10 kit" + name = "LBX-10 kit" desc = "Contains a \"Scattershot\" gun to mount on combat exosuits." cost = 1750 contains = list( @@ -270,7 +295,7 @@ weapons ) /datum/supply_pack/mech/weapon/lmg - name = "Ultra AC 2 kit" + name = "UMG-2 kit" desc = "Contains a mounted gun which fires in three round bursts." cost = 2250 contains = list( @@ -290,21 +315,21 @@ ammo */ /datum/supply_pack/mech/ammo - name = "Mech ammo crate" + name = "Exosuit ammo crate" crate_type = /obj/structure/closet/crate/secure/gear - crate_name = "mech ammo crate" + crate_name = "exosuit ammo crate" /datum/supply_pack/mech/ammo/scattershot_ammo - name = "LBX AC 10 ammo box" - desc = "Contains a fourty-round box of upscaled buckshot, to be loaded directly in a mounted LBX AC 10." + name = "LBX-10 ammo box" + desc = "Contains a fourty-round box of upscaled buckshot, to be loaded directly in a mounted LBX-10." cost = 500 contains = list( /obj/item/mecha_ammo/scattershot ) /datum/supply_pack/mech/ammo/lmg_ammo - name = "Ultra AC 2 ammo box" - desc = "Contains a three hundred-round box of heavy ammunition for the Ultra AC 2." + name = "UMG-2 ammo box" + desc = "Contains a three hundred-round box of heavy ammunition for the UMG-2." cost = 750 contains = list( /obj/item/mecha_ammo/lmg diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm index 08b57693713..4d63d5c9cb6 100644 --- a/code/modules/cargo/packs/medical.dm +++ b/code/modules/cargo/packs/medical.dm @@ -9,42 +9,42 @@ /datum/supply_pack/medical/firstaid_single name = "First Aid Kit Single-Pack" desc = "Contains one first aid kit for healing most types of wounds." - cost = 750 + cost = 400 small_item = TRUE contains = list(/obj/item/storage/firstaid/regular) /datum/supply_pack/medical/firstaidbruises_single name = "Bruise Treatment Kit Single-Pack" desc = "Contains one first aid kit focused on healing bruises and broken bones." - cost = 1250 + cost = 700 small_item = TRUE contains = list(/obj/item/storage/firstaid/brute) /datum/supply_pack/medical/firstaidburns_single name = "Burn Treatment Kit Single-Pack" desc = "Contains one first aid kit focused on healing severe burns." - cost = 1250 + cost = 700 small_item = TRUE contains = list(/obj/item/storage/firstaid/fire) /datum/supply_pack/medical/firstaidoxygen_single name = "Oxygen Deprivation Kit Single-Pack" desc = "Contains one first aid kit focused on helping oxygen deprivation victims." - cost = 1250 + cost = 500 small_item = TRUE contains = list(/obj/item/storage/firstaid/o2) /datum/supply_pack/medical/firstaidtoxins_single name = "Toxin Treatment Kit Single-Pack" desc = "Contains one first aid kit focused on healing damage dealt by heavy toxins." - cost = 1250 + cost = 500 small_item = TRUE contains = list(/obj/item/storage/firstaid/toxin) /datum/supply_pack/medical/firstaid_rad_single name = "Radiation Treatment Kit Single-Pack" desc = "Contains one first aid kit focused on reducing the damage done by radiation." - cost = 1000 + cost = 500 small_item = TRUE contains = list(/obj/item/storage/firstaid/radiation) @@ -52,6 +52,23 @@ Tools */ +/datum/supply_pack/medical/painkillers + name = "Painkiller Supply Crate" + desc = "Contains a supply of painkillers. Great for stopping headaches, feeling broken bones, and screaming people!" + cost = 1000 + contains = list( + /obj/item/reagent_containers/glass/bottle/morphine, + /obj/item/reagent_containers/glass/bottle/morphine, + /obj/item/reagent_containers/glass/bottle/morphine, + ) + faction = /datum/faction/syndicate/suns + faction_discount = 25 + +/datum/supply_pack/medical/painkillers/fill(obj/structure/closet/crate/cargo_crate) + . = ..() + if(prob(5)) + new /obj/item/reagent_containers/glass/bottle/painkiller_booze(cargo_crate) + /datum/supply_pack/medical/iv_drip name = "IV Drip Crate" desc = "Contains a single IV drip for administering blood to patients." @@ -68,12 +85,25 @@ /datum/supply_pack/medical/surgery name = "Surgical Supplies Crate" - desc = "Do you want to perform surgery, but don't have one of those fancy shmancy degrees? Just get started with this crate containing a medical duffelbag, Sterilizine spray and collapsible roller bed." + desc = "Do you want to perform surgery, but don't have one of those fancy shmancy degrees? Just get started with this crate containing a medical case, Sterilizine spray and collapsible roller bed." cost = 3000 - contains = list(/obj/item/storage/backpack/duffelbag/med/surgery, + contains = list(/obj/item/storage/case/surgery, /obj/item/reagent_containers/medigel/sterilizine, /obj/item/roller) crate_name = "surgical supplies crate" + faction = /datum/faction/syndicate/suns + faction_discount = 50 //this shouldnt be 3k but if it is... + + +/datum/supply_pack/medical/anesthetic + name = "Anesthetics Crate" + desc = "Contains a standard anesthetics tank, for standard surgical procedures." + cost = 500 + contains = list(/obj/item/clothing/mask/breath/medical, + /obj/item/tank/internals/anesthetic) + crate_name = "anesthetics crate" + faction = /datum/faction/syndicate/suns + faction_discount = 25 /* Bundles and supplies @@ -96,6 +126,8 @@ /obj/item/reagent_containers/blood/synthetic) crate_name = "blood freezer" crate_type = /obj/structure/closet/crate/freezer + faction = /datum/faction/syndicate/suns + faction_discount = 25 /datum/supply_pack/medical/surplus name = "Medical Surplus Crate" @@ -123,34 +155,14 @@ /obj/item/reagent_containers/pill/neurine, /obj/item/vending_refill/medical) crate_name = "medical surplus crate" + faction = /datum/faction/syndicate/suns + faction_discount = 25 /datum/supply_pack/medical/surplus/fill(obj/structure/closet/crate/C) for(var/i in 1 to 7) var/item = pick(contains) new item(C) -/datum/supply_pack/medical/virus - name = "Virus Crate" - desc = "Contains twelve different bottles, containing several viral samples for virology research. Also includes seven beakers and syringes. Balled-up jeans not included." - cost = 3500 - contains = list(/obj/item/reagent_containers/glass/bottle/flu_virion, - /obj/item/reagent_containers/glass/bottle/cold, - /obj/item/reagent_containers/glass/bottle/random_virus, - /obj/item/reagent_containers/glass/bottle/random_virus, - /obj/item/reagent_containers/glass/bottle/random_virus, - /obj/item/reagent_containers/glass/bottle/random_virus, - /obj/item/reagent_containers/glass/bottle/fake_gbs, - /obj/item/reagent_containers/glass/bottle/magnitis, - /obj/item/reagent_containers/glass/bottle/pierrot_throat, - /obj/item/reagent_containers/glass/bottle/brainrot, - /obj/item/reagent_containers/glass/bottle/anxiety, - /obj/item/reagent_containers/glass/bottle/beesease, - /obj/item/storage/box/syringes, - /obj/item/storage/box/beakers, - /obj/item/reagent_containers/glass/bottle/mutagen) - crate_name = "virus crate" - crate_type = /obj/structure/closet/crate/medical - /datum/supply_pack/medical/salglucanister name = "Heavy-Duty Saline Canister" desc = "Contains a bulk supply of saline-glucose condensed into a single canister that should last a long time, with a large pump to fill containers with. Direct injection of saline should be left to medical professionals as the pump is capable of overdosing patients." diff --git a/code/modules/cargo/packs/sec_supply.dm b/code/modules/cargo/packs/sec_supply.dm index 8ff09a5dc38..9e18adec485 100644 --- a/code/modules/cargo/packs/sec_supply.dm +++ b/code/modules/cargo/packs/sec_supply.dm @@ -5,6 +5,12 @@ /* Standard supplies */ +/datum/supply_pack/sec_supply/holster + name = "Shoulder Holster Crate" + desc = "Contains a shoulder holster, capable of holding a single pistol or revolver and your ammo." + cost = 600 + contains = list(/obj/item/clothing/accessory/holster) + crate_name = "holster crate" /datum/supply_pack/sec_supply/chemimp name = "Chemical Implants Crate" @@ -30,6 +36,13 @@ cost = 2000 crate_name = "security barriers crate" +/datum/supply_pack/sec_supply/empty_sandbags + name = "Empty Sandbags" + desc = "Contains one box of seven empty sandbags for deployable cover in the field. Sand not included." + contains = list(/obj/item/storage/box/emptysandbags) + cost = 150 + crate_name = "sandbag crate" + /datum/supply_pack/sec_supply/wall_flash name = "Wall-Mounted Flash Crate" desc = "Contains four wall-mounted flashes." @@ -65,25 +78,49 @@ name = "Survival Knives Crate" desc = "Contains three sharpened survival knives. Each knife guaranteed to fit snugly inside any galactic-standard boot." cost = 500 - contains = list(/obj/item/kitchen/knife/combat/survival, - /obj/item/kitchen/knife/combat/survival, - /obj/item/kitchen/knife/combat/survival) + contains = list(/obj/item/melee/knife/survival, + /obj/item/melee/knife/survival, + /obj/item/melee/knife/survival) crate_name = "combat knife crate" -/datum/supply_pack/sec_supply/fire - name = "Incendiary Weapons Crate" - desc = "Burn, baby burn. Contains three incendiary grenades and three prebuilt flamethrowers." - cost = 5000 - contains = list( - /obj/item/flamethrower/full, - /obj/item/flamethrower/full, - /obj/item/flamethrower/full, - /obj/item/grenade/chem_grenade/incendiary, - /obj/item/grenade/chem_grenade/incendiary, - /obj/item/grenade/chem_grenade/incendiary, - ) - crate_name = "incendiary weapons crate" +/datum/supply_pack/sec_supply/machete + name = "Stampted Steel Machete Crate" + desc = "Contains five mass produced machetes. A perfect choice for crews on a budget." + cost = 500 + contains = list(/obj/item/melee/sword/mass, + /obj/item/melee/sword/mass) + crate_name = "combat knife crate" + +/datum/supply_pack/sec_supply/flamethrower + name = "Flamethrower Crate" + desc = "Contains one flamethrower. Point the nozzle away from anything important." + cost = 1250 + contains = list(/obj/item/flamethrower/full) + crate_name = "flamethrower crate" + crate_type = /obj/structure/closet/crate/secure/weapon + + faction = /datum/faction/syndicate/ngr + faction_discount = 20 + +/datum/supply_pack/sec_supply/incendiary_grenade + name = "Incendiary Grenade Crate" + desc = "Contains one incendiary grenade. Better not let it go off in your hands." + cost = 750 + contains = list(/obj/item/grenade/chem_grenade/incendiary) + crate_name = "incendiary grenade crate" crate_type = /obj/structure/closet/crate/secure/plasma + faction = /datum/faction/syndicate/ngr + faction_discount = 20 + +/datum/supply_pack/sec_supply/halberd + name = "Energy Halberd Crate" + desc = "Contains one Solarian Energy Halberd, for issue to your local Sonnensoldner battalion." + cost = 1500 + contains = list(/obj/item/energyhalberd) + crate_name = "energy halberd crate" + faction = /datum/faction/solgov + faction_discount = 0 + faction_locked = TRUE /* Stamina / PVP weapons (intentionally overpriced due to odd balance position of stamina weapons) @@ -105,35 +142,39 @@ /datum/supply_pack/sec_supply/baton name = "Stun Batons Crate" - desc = "Arm the Civil Protection Forces with three stun batons. Batteries included." - cost = 9000 - contains = list(/obj/item/melee/baton/loaded, - /obj/item/melee/baton/loaded, - /obj/item/melee/baton/loaded) + desc = "Arm your vessel security with a stun baton. Batteries included." + cost = 3000 + contains = list(/obj/item/melee/baton/loaded) crate_name = "stun baton crate" -/datum/supply_pack/sec_supply/disabler - name = "Disabler Crate" - desc = "Three stamina-draining disabler weapons." - cost = 9000 - contains = list(/obj/item/gun/energy/disabler, - /obj/item/gun/energy/disabler, - /obj/item/gun/energy/disabler) - crate_name = "disabler crate" - /datum/supply_pack/sec_supply/dragnet name = "DRAGnet Crate" - desc = "Contains three \"Dynamic Rapid-Apprehension of the Guilty\" netting devices, a recent breakthrough in law enforcement prisoner management technology." - cost = 10000 - contains = list(/obj/item/gun/energy/e_gun/dragnet, - /obj/item/gun/energy/e_gun/dragnet, - /obj/item/gun/energy/e_gun/dragnet) + desc = "Contains one \"Dynamic Rapid-Apprehension of the Guilty\" netting device, a recent breakthrough in law enforcement prisoner management technology." + cost = 2000 + contains = list(/obj/item/gun/energy/e_gun/dragnet) crate_name = "\improper DRAGnet crate" -/datum/supply_pack/sec_supply/taser - name = "Hybrid Taser Crate" - desc = "Two disabler-taser hybrid weapons." - cost = 12000 - contains = list(/obj/item/gun/energy/e_gun/advtaser, - /obj/item/gun/energy/e_gun/advtaser) - crate_name = "hybrid taser crate" +/datum/supply_pack/sec_supply/claymore + name = "C-10 Claymore Crate" + desc = "Four motion-activated directional mines, perfect for ambushing enemy infantry. Still debatably legal to sell!" + cost = 3000 + contains = list(/obj/item/paper/fluff/claymore, + /obj/item/mine/directional/claymore, + /obj/item/mine/directional/claymore, + /obj/item/mine/directional/claymore, + /obj/item/mine/directional/claymore) + crate_name = "C-10 Claymore crate" + +/obj/item/paper/fluff/claymore + name = "PRODUCT USAGE GUIDE" + desc = "A dusty memo stamped with the Scarborough Arms logo." + default_raw_text = "ASSEMBLY:

    \ + -Deploy mounting legs and emplace device. Front should be placed in direction of enemy egress, no more then three meters from intended target area.

    \ + -INFORM ALLIES OF PLACEMENT LOCATION.

    \ + -Wait for arming sequence to complete.

    \ + -Enjoy hands-free area denial, courtesy of Scarborough Arms.


    \ + DISASSEMBLY & STORAGE:

    \ + -Insert screwdriver into arming pin access and turn 180 degrees. There will be considerable resistance. DO NOT Step onto or in front of device.

    \ + -When pressure releases, reach below device and lift via underside in one clean motion. Mounting legs will automatically retract.

    \ + -The device is now safe to handle.

    \ + -Safely stow device in secure, moisture-free location, away from fire and blunt force. " diff --git a/code/modules/cargo/packs/spacesuit_armor.dm b/code/modules/cargo/packs/spacesuit_armor.dm index 8346ea00b06..d0b1da6be6d 100644 --- a/code/modules/cargo/packs/spacesuit_armor.dm +++ b/code/modules/cargo/packs/spacesuit_armor.dm @@ -16,7 +16,7 @@ /datum/supply_pack/spacesuit_armor/pilot_spacesuit name = "Pilot Space Suit Crate" - desc = "One pilot space suit, for improved mobility in mechs." + desc = "One pilot space suit, for improved mobility in exosuits." cost = 750 contains = list(/obj/item/clothing/suit/space/pilot, /obj/item/clothing/head/helmet/space/pilot/random) @@ -24,7 +24,7 @@ /datum/supply_pack/spacesuit_armor/mining_hardsuits_indie name = "Mining Hardsuit Crate" - desc = "One independent branded mining hardsuit for when explorer suits just dont cut it." + desc = "One independent-manufactured mining hardsuit, for when explorer suits just dont cut it." cost = 1500 contains = list(/obj/item/clothing/suit/space/hardsuit/mining/independent) crate_name = "mining hardsuit crate" @@ -37,6 +37,7 @@ contains = list(/obj/item/clothing/suit/space/hardsuit/medical) crate_name = "medical hardsuit crate" crate_type = /obj/structure/closet/crate/medical + faction = /datum/faction/nt /datum/supply_pack/spacesuit_armor/mining_hardsuit_heavy name = "Heavy Mining Hardsuit Crate" @@ -46,6 +47,7 @@ /obj/item/clothing/shoes/bhop) crate_name = "heavy mining hardsuit crate" crate_type = /obj/structure/closet/crate/secure/plasma + faction = /datum/faction/nt /datum/supply_pack/spacesuit_armor/sec_hardsuit_bundle name = "Security Hardsuit Crate" @@ -54,6 +56,7 @@ contains = list(/obj/item/clothing/suit/space/hardsuit/security/independent) crate_name = "security hardsuit crate" crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/nt /datum/supply_pack/spacesuit_armor/sci_hardsuit name = "Science Hardsuit Crate" @@ -62,6 +65,7 @@ contains = list(/obj/item/clothing/suit/space/hardsuit/rd) crate_name = "science hardsuit crate" crate_type = /obj/structure/closet/crate/secure/science + faction = /datum/faction/nt /datum/supply_pack/spacesuit_armor/engi_spacesuit_bundle name = "Engineering Space Suit Crate" @@ -79,16 +83,7 @@ contains = list(/obj/item/clothing/suit/space/hardsuit/engine/atmos) crate_name = "atmospherics hardsuit crate" crate_type = /obj/structure/closet/crate/secure/engineering - -/datum/supply_pack/spacesuit_armor/swat - name = "SWAT Crate" - desc = "Contains one fullbody set of tough, fireproof, pressurized suit designed in a joint effort by IS-ERI and Nanotrasen. The set contains a suit, helmet, and combat belt." - cost = 3500 - contains = list(/obj/item/clothing/head/helmet/swat/nanotrasen, - /obj/item/clothing/suit/space/swat, - /obj/item/storage/belt/military/assault) - crate_name = "swat crate" - crate_type = /obj/structure/closet/crate/secure/gear + faction = /datum/faction/nt /* Non-spaceworthy (armor) @@ -117,7 +112,8 @@ desc = "Contains one full set of bulletproof armor, guaranteed to reduce a bullet's stopping power by half but with limited protection against melee weaponry." cost = 1750 contains = list(/obj/item/clothing/suit/armor/vest/bulletproof, - /obj/item/clothing/head/helmet/bulletproof) + /obj/item/clothing/head/helmet/bulletproof, + /obj/item/clothing/glasses/sunglasses/ballistic) crate_name = "bulletproof armor crate" crate_type = /obj/structure/closet/crate/secure/plasma @@ -128,3 +124,21 @@ contains = list(/obj/item/clothing/suit/armor/laserproof) crate_name = "reflector vest crate" crate_type = /obj/structure/closet/crate/secure/plasma + +/datum/supply_pack/spacesuit_armor/marine_armor + name = "Tactical Armor Crate" + desc = "One set of well-rounded tactical armor. While it does not protect the limbs, the vest is fairly durable. The set includes a helmet and vest." + cost = 1500 + contains = list(/obj/item/clothing/suit/armor/vest/marine, + /obj/item/clothing/head/helmet/bulletproof/x11) + crate_name = "armor crate" + crate_type = /obj/structure/closet/crate/secure/plasma + +/datum/supply_pack/spacesuit_armor/medium_marine_armor + name = "Medium Tactical Armor Crate" + desc = "One set of well-rounded medium tactical body armor. Plates are attached to the vest and cover the limbs. The set includes a helmet and chestpiece." + cost = 3000 + contains = list(/obj/item/clothing/suit/armor/vest/marine/medium, + /obj/item/clothing/head/helmet/bulletproof/x11) + crate_name = "armor crate" + crate_type = /obj/structure/closet/crate/secure/plasma diff --git a/code/modules/cargo/packs/tools.dm b/code/modules/cargo/packs/tools.dm index 6b43448a5d8..857477bcf92 100644 --- a/code/modules/cargo/packs/tools.dm +++ b/code/modules/cargo/packs/tools.dm @@ -25,7 +25,7 @@ contains = list(/obj/item/storage/toolbox/electrical, /obj/item/storage/toolbox/mechanical, /obj/item/clothing/head/welding) - cost = 500 + cost = 200 crate_name = "toolbox crate" /datum/supply_pack/tools/engigear @@ -39,13 +39,19 @@ /obj/item/clothing/glasses/meson/engine) crate_name = "engineering gear crate" +/datum/supply_pack/tools/assbelt + name = "Assault Belt" + desc = "Contains an assault belt, with not one, not two, but six pockets." + cost = 500 + contains = list(/obj/item/storage/belt/military/assault) + crate_name = "assault belt crate" + /datum/supply_pack/tools/cellcharger name = "Cell Charger Crate" desc = "Contains a cell charger, able to charge all sorts of power cells." - cost = 4000 + cost = 1000 contains = list(/obj/machinery/cell_charger) - /datum/supply_pack/tools/rped name = "RPED crate" desc = "Tired of deconstructing all of your machines just to replace the power cells? This device has you covered. Actual parts not included." @@ -69,12 +75,11 @@ /datum/supply_pack/tools/jackhammer name = "Jackhammer Crate" - desc = "Contains a jackhammer, ideal for breaking rocks and breaking hull." + desc = "Contains a jackhammer, ideal for breaking rocks." cost = 1750 contains = list(/obj/item/pickaxe/drill/jackhammer) crate_name = "jackhammer crate" - /datum/supply_pack/tools/metalfoam name = "Metal Foam Grenade Crate" desc = "Seal up those pesky hull breaches with 7 metal foam grenades." @@ -92,18 +97,40 @@ /datum/supply_pack/tools/jetpack name = "Jetpack Crate" desc = "For when you need to go fast in space." - cost = 2000 + cost = 750 contains = list(/obj/item/tank/jetpack/carbondioxide) crate_name = "jetpack crate" crate_type = /obj/structure/closet/crate/secure/plasma -/datum/supply_pack/tools/transfer_valve - name = "Tank Transfer Valves Crate" - desc = "The key ingredient for making a lot of people very angry very fast. Contains a tank transfer valve." - cost = 3000 - contains = list(/obj/item/transfer_valve) - crate_name = "tank transfer valve crate" - crate_type = /obj/structure/closet/crate/secure/science +/datum/supply_pack/tools/jetpack/harness + name = "Jetpack Harness Crate" + desc = "A compact jetpack harness for those who don't wish to be weighed down by larger traditional jetpacks." + cost = 1500 + contains = list(/obj/item/tank/jetpack/oxygen/harness) + +/datum/supply_pack/tools/anglegrinder + name = "Angle Grinder" + desc = "Contains one angle grinder pack, a tool used for quick structure deconstruction and salvaging" + cost = 1500 + contains = list( + /obj/item/gear_pack/anglegrinder, + /obj/item/radio/headset/alt + ) + crate_name = "angle grinder crate" + +/datum/supply_pack/tools/electric_welder + name = "Electric Welder" + desc = "Contains a single electric welder, useful for many applications. No fuel required!" + cost = 850 + contains = list(/obj/item/weldingtool/electric) + crate_name = "electric welder crate" + +/datum/supply_pack/tools/plasmacutter + name = "Plasmacutter Crate" + desc = "Contains a plasmacutter, capable of rapidly breaking down hull." + cost = 2500 + contains = list(/obj/item/gun/energy/plasmacutter) + crate_name = "plasmacutter crate" /* Liquid tanks @@ -140,3 +167,14 @@ contains = list(/obj/structure/reagent_dispensers/foamtank) crate_name = "foam tank crate" crate_type = /obj/structure/closet/crate/large + +/datum/supply_pack/tools/radfoamtank + name = "Radiation Foam Tank Crate" + desc = "Contains a tank of anti-radiation foam. Pressurized sprayer included!" + cost = 1500 + contains = list( + /obj/item/watertank/anti_rad, + /obj/structure/reagent_dispensers/foamtank/antirad + ) + crate_name = "foam tank crate" + crate_type = /obj/structure/closet/crate/large diff --git a/code/modules/cargo/supplypod.dm b/code/modules/cargo/supplypod.dm index ab737b1ceb7..b9c30f48402 100644 --- a/code/modules/cargo/supplypod.dm +++ b/code/modules/cargo/supplypod.dm @@ -452,8 +452,11 @@ glow_effect.fadeAway(delays[POD_OPENING]) glow_effect = null +/obj/structure/closet/supplypod/deconstruct(disassembled) + . = ..() + open_pod(src, broken = disassembled) //Lets dump our contents by opening up + /obj/structure/closet/supplypod/Destroy() - open_pod(src, broken = TRUE) //Lets dump our contents by opening up deleteRubble() endGlow() return ..() diff --git a/code/modules/cargo/supplypod_beacon.dm b/code/modules/cargo/supplypod_beacon.dm index 11fd10229e5..b9c41a29e11 100644 --- a/code/modules/cargo/supplypod_beacon.dm +++ b/code/modules/cargo/supplypod_beacon.dm @@ -7,7 +7,7 @@ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' w_class = WEIGHT_CLASS_SMALL - var/obj/machinery/computer/cargo/express/express_console + var/obj/machinery/computer/cargo/cargo_console var/linked = FALSE var/ready = FALSE var/launched = FALSE @@ -49,39 +49,39 @@ /obj/item/supplypod_beacon/examine(user) . = ..() - if(!express_console) + if(!cargo_console) . += "[src] is not currently linked to an Express Supply console." else . += "Alt-click to unlink it from the Express Supply console." /obj/item/supplypod_beacon/Destroy() - if(express_console) - express_console.beacon = null + if(cargo_console) + cargo_console.beacon = null return ..() /obj/item/supplypod_beacon/proc/unlink_console() - if(express_console) - express_console.beacon = null - express_console = null + if(cargo_console) + cargo_console.beacon = null + cargo_console = null update_status(SP_UNLINK) update_status(SP_UNREADY) -/obj/item/supplypod_beacon/proc/link_console(obj/machinery/computer/cargo/express/C, mob/living/user) +/obj/item/supplypod_beacon/proc/link_console(obj/machinery/computer/cargo/C, mob/living/user) if (C.beacon)//if new console has a beacon, then... C.beacon.unlink_console()//unlink the old beacon from new console - if (express_console)//if this beacon has an express console - express_console.beacon = null//remove the connection the expressconsole has from beacons - express_console = C//set the linked console var to the console - express_console.beacon = src//out with the old in with the news + if (cargo_console)//if this beacon has an express console + cargo_console.beacon = null//remove the connection the expressconsole has from beacons + cargo_console = C//set the linked console var to the console + cargo_console.beacon = src//out with the old in with the news update_status(SP_LINKED) - if (express_console.use_beacon) + if (cargo_console.use_beacon) update_status(SP_READY) to_chat(user, "[src] linked to [C].") /obj/item/supplypod_beacon/AltClick(mob/user) if (!user.canUseTopic(src, !issilicon(user))) return - if (express_console) + if (cargo_console) unlink_console() else to_chat(user, "There is no linked console.") diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm index 64e2476b400..b985ead4aca 100644 --- a/code/modules/client/client_defines.dm +++ b/code/modules/client/client_defines.dm @@ -190,7 +190,7 @@ var/next_move_dir_sub /// If the client is currently under the restrictions of the interview system - var/interviewee = FALSE + var/interviewee = TRUE /// Used by SSserver_maint to detect if a client is newly AFK. var/last_seen_afk = 0 diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 87a33b0c989..5f1c211412c 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -277,6 +277,8 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( prefs.last_id = computer_id //these are gonna be used for banning fps = prefs.clientfps == 0 ? 60 : prefs.clientfps //WS Edit - Client FPS Tweak + donator = GLOB.donators[ckey] || new /datum/donator(src) + if(fexists(roundend_report_file())) add_verb(src, /client/proc/show_previous_roundend_report) @@ -933,8 +935,11 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( ..() /client/proc/add_verbs_from_config() - if (interviewee) + if(interviewee) return + if(donator.is_donator) + add_verb(src, /client/proc/do_donator_redemption) + add_verb(src, /client/proc/do_donator_wcir) if(CONFIG_GET(flag/see_own_notes)) add_verb(src, /client/proc/self_notes) if(CONFIG_GET(flag/use_exp_tracking)) @@ -1167,3 +1172,13 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( if("Set-Tab") stat_tab = payload["tab"] SSstatpanels.immediate_send_stat_data(src) + +///Gives someone hearted status for OOC, from behavior commendations +/client/proc/adjust_heart(duration = 24 HOURS) + var/new_duration = world.realtime + duration + if(prefs.hearted_until > new_duration) + return + to_chat(src, "Someone awarded you a heart!") + prefs.hearted_until = new_duration + prefs.hearted = TRUE + prefs.save_preferences() diff --git a/code/modules/client/loadout/_loadout.dm b/code/modules/client/loadout/_loadout.dm index a0e5d6cab3c..44c1cff4ffa 100644 --- a/code/modules/client/loadout/_loadout.dm +++ b/code/modules/client/loadout/_loadout.dm @@ -20,11 +20,11 @@ GLOBAL_LIST_EMPTY(gear_datums) if(G == initial(G.subtype_path)) continue - if(!use_name) - WARNING("Loadout - Missing display name: [G]") + if(!use_name && initial(G.path)) + WARNING("Loadout gear [G] is missing display name") continue if(!initial(G.path) && use_category != "OOC") //OOC category does not contain actual items - WARNING("Loadout - Missing path definition: [G]") + WARNING("Loadout gear [G] is missing path definition") continue if(!GLOB.loadout_categories[use_category]) diff --git a/code/modules/client/loadout/loadout_accessories.dm b/code/modules/client/loadout/loadout_accessories.dm index 9c996baf4a9..e5b68bc00f6 100644 --- a/code/modules/client/loadout/loadout_accessories.dm +++ b/code/modules/client/loadout/loadout_accessories.dm @@ -131,7 +131,39 @@ display_name = "tie, recolorable" path = /obj/item/clothing/neck/tie +//Gloves + +/datum/gear/accessory/gloves + subtype_path = /datum/gear/accessory/gloves + slot = ITEM_SLOT_GLOVES + +/datum/gear/accessory/gloves/black + display_name = "gloves, black" + description = "Standard hand coverings for everyday use." + path = /obj/item/clothing/gloves/color/black + +/datum/gear/accessory/gloves/white + display_name = "gloves, white" + description = "Standard hand coverings for everyday use." + path = /obj/item/clothing/gloves/color/white + +/datum/gear/accessory/gloves/brown + display_name = "gloves, brown" + description = "Standard hand coverings for everyday use." + path = /obj/item/clothing/gloves/color/brown + +/datum/gear/accessory/gloves/fingerless + display_name = "gloves, fingerless" + description = "Radical hand coverings for everyday use." + path = /obj/item/clothing/gloves/fingerless + +/datum/gear/accessory/gloves/evening + display_name = "gloves, evening" + description = "Excessively fancy elbow-length gloves." + path = /obj/item/clothing/gloves/color/evening + //Bone + /datum/gear/accessory/fangnecklace display_name = "wolf fang necklace" path = /obj/item/clothing/neck/fangnecklace @@ -141,6 +173,39 @@ path = /obj/item/clothing/accessory/bonearmlet slot = null +//Masks + +/datum/gear/accessory/mask + subtype_path = /datum/gear/accessory/mask + slot = ITEM_SLOT_MASK + +/datum/gear/accessory/mask/bandana + subtype_path = /datum/gear/accessory/mask/bandana + +/datum/gear/accessory/mask/bandana/red + display_name = "bandana, red" + path = /obj/item/clothing/mask/bandana/red + +/datum/gear/accessory/mask/bandana/skull + display_name = "bandana, skull" + path = /obj/item/clothing/mask/bandana/skull + +/datum/gear/accessory/mask/bandana/black + display_name = "bandana, black" + path = /obj/item/clothing/mask/bandana/black + +/datum/gear/accessory/mask/bandana/blue + display_name = "bandana, blue" + path = /obj/item/clothing/mask/bandana/blue + +/datum/gear/accessory/mask/surgical + display_name = "surgical mask" + path = /obj/item/clothing/mask/surgical + +/datum/gear/accessory/mask/balaclava + display_name = "balaclava" + path = /obj/item/clothing/mask/balaclava + //Misc /datum/gear/accessory/waistcoat @@ -153,10 +218,10 @@ path = /obj/item/clothing/neck/stethoscope allowed_roles = list("Medical Doctor", "Chief Medical Officer") -/datum/gear/accessory/collar - display_name = "pet collar" - description = "Only the truly insane would wear this around their neck." - path = /obj/item/clothing/neck/petcollar +/datum/gear/accessory/headphones + display_name = "headphones" + slot = ITEM_SLOT_EARS + path = /obj/item/instrument/piano_synth/headphones /datum/gear/accessory/gloves display_name = "plain gloves" @@ -194,3 +259,7 @@ display_name = "face with tears of joy mask" path = /obj/item/clothing/mask/joy slot = ITEM_SLOT_MASK + +/datum/gear/accessory/pocketprotector + display_name = "pocket protector" + path = /obj/item/clothing/accessory/pocketprotector diff --git a/code/modules/client/loadout/loadout_eyewear.dm b/code/modules/client/loadout/loadout_eyewear.dm index 99e868ad085..b6962a8dc34 100644 --- a/code/modules/client/loadout/loadout_eyewear.dm +++ b/code/modules/client/loadout/loadout_eyewear.dm @@ -29,10 +29,6 @@ display_name = "eyepatch" path = /obj/item/clothing/glasses/eyepatch -/datum/gear/eyewear/monocle - display_name = "monocle" - path = /obj/item/clothing/glasses/monocle - /datum/gear/eyewear/cheapsuns display_name = "cheap sunglasses" path = /obj/item/clothing/glasses/cheapsuns @@ -46,7 +42,10 @@ description = "A blindfold you can still see through." path = /obj/item/clothing/glasses/trickblindfold - +/datum/gear/eyewear/doubleeyepatch + display_name = "double eyepatch" + description = "Two eyepatches at once! Effectively a blindfold, though." + path = /obj/item/clothing/glasses/blindfold/eyepatch /datum/gear/eyewear/glasses/cold display_name = "cold goggles" diff --git a/code/modules/client/loadout/loadout_footwear.dm b/code/modules/client/loadout/loadout_footwear.dm index dd4632f9bc3..3e65cd9ed5d 100644 --- a/code/modules/client/loadout/loadout_footwear.dm +++ b/code/modules/client/loadout/loadout_footwear.dm @@ -64,3 +64,17 @@ /datum/gear/footwear/color/white display_name = "white shoes" path = /obj/item/clothing/shoes/sneakers/white + +//Cowboy boots + +/datum/gear/footwear/cowboy + display_name = "cowboy boots, brown" + path = /obj/item/clothing/shoes/cowboy + +/datum/gear/footwear/cowboy/black + display_name = "cowboy boots, black" + path = /obj/item/clothing/shoes/cowboy/black + +/datum/gear/footwear/cowboy/white + display_name = "cowboy boots, white" + path = /obj/item/clothing/shoes/cowboy/white diff --git a/code/modules/client/loadout/loadout_general.dm b/code/modules/client/loadout/loadout_general.dm index 6277a8a3a60..712500f9fd6 100644 --- a/code/modules/client/loadout/loadout_general.dm +++ b/code/modules/client/loadout/loadout_general.dm @@ -14,10 +14,6 @@ display_name = "lipstick, red" path = /obj/item/lipstick -/datum/gear/balaclava - display_name = "balaclava" - path = /obj/item/clothing/mask/balaclava - /datum/gear/vape display_name = "vape" path = /obj/item/clothing/mask/vape @@ -26,10 +22,6 @@ display_name = "e-cigar" path = /obj/item/clothing/mask/vape/cigar -/datum/gear/bandana - display_name = "bandana, red" - path = /obj/item/clothing/mask/bandana/red - /datum/gear/flask display_name = "flask" path = /obj/item/reagent_containers/food/drinks/flask @@ -58,12 +50,17 @@ display_name = "toy, deck of cards" path = /obj/item/toy/cards/deck +/datum/gear/kotahi + display_name = "toy, deck of KOTAHI cards" + path = /obj/item/toy/cards/deck/kotahi + /datum/gear/eightball display_name = "toy, magic eight ball" path = /obj/item/toy/eightball /datum/gear/pai display_name = "personal AI device" + description = "A synthetic friend that fits in your pocket." path = /obj/item/paicard /datum/gear/tablet @@ -86,6 +83,10 @@ display_name = "pen, four-color" path = /obj/item/pen/fourcolor +/datum/gear/fountainpen + display_name = "pen, fountain" + path = /obj/item/pen/fountain + /datum/gear/paperbin display_name = "paper bin" path = /obj/item/paper_bin @@ -127,7 +128,6 @@ display_name = "toy, rilena tali plushie" path = /obj/item/toy/plush/tali -// Shiptest edit /datum/gear/amongus display_name = "toy, suspicious pill plushie" path = /obj/item/toy/plush/among @@ -150,8 +150,6 @@ display_name = "table bell, brass" path = /obj/item/table_bell/brass -// End Shiptest - /datum/gear/flashlight display_name = "tool, flashlight" path = /obj/item/flashlight @@ -160,19 +158,11 @@ display_name = "tool, emergency crowbar" path = /obj/item/crowbar/red -/datum/gear/balloon - display_name = "toy, balloon" - path = /obj/item/toy/balloon - -/datum/gear/balloon/ian - display_name = "toy, ian balloon" - path = /obj/item/toy/balloon/corgi - -/datum/gear/surgical_mask - display_name = "surgical mask" - path = /obj/item/clothing/mask/surgical - /datum/gear/rilena_poster display_name = "poster, rilena" path = /obj/item/poster/random_rilena description = "A random poster of the RILENA series." + +/datum/gear/camera + display_name = "polaroid camera" + path = /obj/item/camera diff --git a/code/modules/client/loadout/loadout_hat.dm b/code/modules/client/loadout/loadout_hat.dm index 28c57fa4762..729257735b9 100644 --- a/code/modules/client/loadout/loadout_hat.dm +++ b/code/modules/client/loadout/loadout_hat.dm @@ -27,6 +27,10 @@ display_name = "beret, red" path = /obj/item/clothing/head/beret +/datum/gear/hat/beret/black + display_name = "beret, black" + path = /obj/item/clothing/head/beret/black + /datum/gear/hat/beret/departmental display_name = "beret, departmental" path = /obj/item/clothing/head/beret/grey @@ -74,6 +78,77 @@ path = /obj/item/clothing/head/beret/eng/hazard allowed_roles = list("Station Engineer", "Atmospheric Technician", "Chief Engineer") +//Soft caps + +/datum/gear/hat/softcap + subtype_path = /datum/gear/hat/softcap + +/datum/gear/hat/softcap/red + display_name = "cap, red" + path = /obj/item/clothing/head/soft/red + +/datum/gear/hat/softcap/blue + display_name = "cap, blue" + path = /obj/item/clothing/head/soft/blue + +/datum/gear/hat/softcap/grey + display_name = "cap, grey" + path = /obj/item/clothing/head/soft/grey + +/datum/gear/hat/softcap/white + display_name = "cap, white" + path = /obj/item/clothing/head/soft/mime + +/datum/gear/hat/softcap/black + display_name = "cap, black" + path = /obj/item/clothing/head/soft/black + +/datum/gear/hat/utility_black + display_name = "utility cover, black" + path = /obj/item/clothing/head/soft/utility_black + +/datum/gear/hat/utility_olive + display_name = "utility cover, olive" + path = /obj/item/clothing/head/soft/utility_olive + +/datum/gear/hat/utility_beige + display_name = "utility cover, beige" + path = /obj/item/clothing/head/soft/utility_beige + +/datum/gear/hat/utility_navy + display_name = "utility cover, navy" + path = /obj/item/clothing/head/soft/utility_navy + + +//Beanies + +/datum/gear/hat/beanie + display_name = "beanie, white" + path = /obj/item/clothing/head/beanie + +/datum/gear/hat/beanie/black + display_name = "beanie, black" + path = /obj/item/clothing/head/beanie/black + +/datum/gear/hat/beanie/red + display_name = "beanie, red" + path = /obj/item/clothing/head/beanie/red + +/datum/gear/hat/beanie/green + display_name = "beanie, green" + path = /obj/item/clothing/head/beanie/green + +/datum/gear/hat/beanie/purple + display_name = "beanie, purple" + path = /obj/item/clothing/head/beanie/purple + +/datum/gear/hat/beanie/blue + display_name = "beanie, blue" + path = /obj/item/clothing/head/beanie/darkblue + +/datum/gear/hat/beanie/orange + display_name = "beanie, orange" + path = /obj/item/clothing/head/beanie/orange //Misc /datum/gear/hat/that @@ -81,21 +156,21 @@ path = /obj/item/clothing/head/that /datum/gear/hat/fedora - display_name = "fedora" + display_name = "fedora, black" path = /obj/item/clothing/head/fedora +/datum/gear/hat/fedora/white + display_name = "fedora, white" + path = /obj/item/clothing/head/fedora/white + +/datum/gear/hat/fedora/beige + display_name = "fedora, beige" + path = /obj/item/clothing/head/fedora/beige + /datum/gear/hat/flatcap display_name = "flatcap" path = /obj/item/clothing/head/flatcap -/datum/gear/hat/beanie - display_name = "beanie" - path = /obj/item/clothing/head/beanie - -/datum/gear/hat/tinfoil - display_name = "tinfoil hat" - path = /obj/item/clothing/head/foilhat - /datum/gear/hat/wig display_name = "wig" path = /obj/item/clothing/head/wig @@ -125,3 +200,7 @@ /datum/gear/hat/trapper display_name = "trapper hat" path = /obj/item/clothing/head/trapper + +/datum/gear/hat/flowers + display_name = "plastic flower, pickable" + path = /obj/item/clothing/head/plastic_flower diff --git a/code/modules/client/loadout/loadout_suit.dm b/code/modules/client/loadout/loadout_suit.dm index 718e474be98..5ad3518e167 100644 --- a/code/modules/client/loadout/loadout_suit.dm +++ b/code/modules/client/loadout/loadout_suit.dm @@ -23,10 +23,6 @@ display_name = "leather jacket" path = /obj/item/clothing/suit/jacket/leather -/datum/gear/suit/jacket/leather/overcoat - display_name = "leather overcoat" - path = /obj/item/clothing/suit/jacket/leather/overcoat - /datum/gear/suit/jacket/leather/duster display_name = "leather duster" path = /obj/item/clothing/suit/jacket/leather/duster @@ -59,8 +55,6 @@ display_name = "suit jacket, charcoal" path = /obj/item/clothing/suit/toggle/lawyer/charcoal -/datum/gear/suit/jacket/navy //why is this blank? i dont know - /datum/gear/suit/jacket/hoodie_black display_name = "hoodie, black" path = /obj/item/clothing/suit/hooded/hoodie/black @@ -85,6 +79,10 @@ display_name = "hoodie, T4L1" path = /obj/item/clothing/suit/hooded/hoodie/rilena +/datum/gear/suit/jacket/hoodie_baw + display_name = "hoodie, black w grey hood" + path = /obj/item/clothing/suit/hooded/hoodie/blackwa + /datum/gear/suit/jacket/highvis display_name = "industrial jacket" path = /obj/item/clothing/suit/toggle/industrial @@ -93,11 +91,23 @@ display_name = "hazard jacket" path = /obj/item/clothing/suit/toggle/hazard -//Misc -/datum/gear/suit/grponcho - display_name = "poncho, green" - path = /obj/item/clothing/suit/poncho/green +//Suspenders +/datum/gear/suit/suspenders + subtype_path = /datum/gear/suit/suspenders + +/datum/gear/suit/suspenders/red + display_name = "suspenders, red" + path = /obj/item/clothing/suit/toggle/suspenders +/datum/gear/suit/suspenders/blue + display_name = "suspenders, blue" + path = /obj/item/clothing/suit/toggle/suspenders/blue + +/datum/gear/suit/suspenders/gray + display_name = "suspenders, gray" + path = /obj/item/clothing/suit/toggle/suspenders/gray + +//Misc /datum/gear/suit/overalls display_name = "overalls" path = /obj/item/clothing/suit/apron/overalls @@ -107,7 +117,7 @@ path = /obj/item/clothing/suit/toggle/labcoat /datum/gear/suit/raincoat - display_name = "Cybersun labcoat" + display_name = "translucent labcoat" description = "Designer lab safety equipment. You're pretty sure this is just a raincoat." path = /obj/item/clothing/suit/toggle/labcoat/raincoat @@ -119,3 +129,11 @@ display_name = "floral shirt" description = "From grills to guns, this shirt's seen it all." path = /obj/item/clothing/suit/hawaiian + +/datum/gear/suit/hazardvest + display_name = "hazard vest" + path = /obj/item/clothing/suit/hazardvest + +/datum/gear/suit/longcoat + display_name = "longcoat" + path = /obj/item/clothing/suit/longcoat diff --git a/code/modules/client/loadout/loadout_uniform.dm b/code/modules/client/loadout/loadout_uniform.dm index 616c4308b43..a042ab35307 100644 --- a/code/modules/client/loadout/loadout_uniform.dm +++ b/code/modules/client/loadout/loadout_uniform.dm @@ -53,10 +53,6 @@ display_name = "jumpsuit, random" path = /obj/item/clothing/under/color/random //literally useless if grey assistants is off -/datum/gear/uniform/color/rainbow - display_name = "jumpsuit, rainbow" - path = /obj/item/clothing/under/color/rainbow - //Shorts /datum/gear/uniform/athshortsred @@ -160,10 +156,6 @@ display_name = "suit, charcoal" path = /obj/item/clothing/under/suit/charcoal -/datum/gear/uniform/suit/galaxy - display_name = "suit, galaxy" - path = /obj/item/clothing/under/rank/civilian/lawyer/galaxy - /datum/gear/uniform/suit/white_skirt display_name = "suitskirt, white shirt" path = /obj/item/clothing/under/suit/black/skirt @@ -184,46 +176,115 @@ display_name = "suit, checkered" path = /obj/item/clothing/under/suit/checkered +/datum/gear/uniform/suit/detective + display_name = "suit, hardworn" + path = /obj/item/clothing/under/rank/security/detective + +/datum/gear/uniform/suit/detective/skirt + display_name = "suitskirt, hardworn" + path = /obj/item/clothing/under/rank/security/detective/skirt + +/datum/gear/uniform/suit/detective/grey + display_name = "suit, noir" + path = /obj/item/clothing/under/rank/security/detective/grey + +/datum/gear/uniform/suit/detective/grey/skirt + display_name = "suitskirt, noir" + path = /obj/item/clothing/under/rank/security/detective/grey/skirt + // Dresses /datum/gear/uniform/dress subtype_path = /datum/gear/uniform/dress /datum/gear/uniform/dress/sailor - display_name = "sailor dress" + display_name = "dress, sailor" path = /obj/item/clothing/under/dress/sailor /datum/gear/uniform/dress/striped - display_name = "striped dress" + display_name = "dress, striped" path = /obj/item/clothing/under/dress/striped /datum/gear/uniform/dress/redeveninggown - display_name = "red evening gown" + display_name = "dress, red evening gown" path = /obj/item/clothing/under/dress/redeveninggown /datum/gear/uniform/dress/blacktango - display_name = "black tango dress" + display_name = "dress, black tango" path = /obj/item/clothing/under/dress/blacktango +/datum/gear/uniform/dress/one_shoulder_dress + + display_name = "dress, one shoulder" + path = /obj/item/clothing/under/dress/one_shoulder + +/datum/gear/uniform/dress/iko_ikssoal + + display_name = "dress, iko-ikssoal" + path = /obj/item/clothing/under/dress/iko_ikssoal + +/datum/gear/uniform/dress/whitedress + + display_name = "dress, white" + path = /obj/item/clothing/under/dress/white_dress + +/datum/gear/uniform/dress/sundress + display_name = "dress, sundress" + path = /obj/item/clothing/under/dress/sundress + +/datum/gear/uniform/dress/rilena + display_name = "dress, Ri cosplay" + path = /obj/item/clothing/under/dress/rilena + /datum/gear/uniform/dress/purpleskirt - display_name = "purple skirt" - path = /obj/item/clothing/under/dress/skirt/purple + display_name = "skirt, purple" + path = /obj/item/clothing/under/dress/skirt/color/purple /datum/gear/uniform/dress/blueskirt - display_name = "blue skirt" - path = /obj/item/clothing/under/dress/skirt/blue + display_name = "skirt, blue" + path = /obj/item/clothing/under/dress/skirt/color/blue /datum/gear/uniform/dress/redskirt - display_name = "red skirt" - path = /obj/item/clothing/under/dress/skirt/red + display_name = "skirt, red" + path = /obj/item/clothing/under/dress/skirt/color/red + +/datum/gear/uniform/dress/whiteskirt + + display_name = "skirt, white" + path = /obj/item/clothing/under/dress/skirt/color/white /datum/gear/uniform/dress/blackskirt - display_name = "black skirt" - path = /obj/item/clothing/under/dress/skirt - description = "Actually, it's a black blouse with a salmon skirt. But it's not called that." + display_name = "skirt, black" + path = /obj/item/clothing/under/dress/skirt/color -/datum/gear/uniform/dress/sundress - display_name = "sundress" - path = /obj/item/clothing/under/dress/sundress +/datum/gear/uniform/dress/black_pinafore + + display_name = "pinafore, black" + path = /obj/item/clothing/under/dress/skirt/pinafore + +/datum/gear/uniform/dress/maroon_pinafore + + display_name = "pinafore, maroon" + path = /obj/item/clothing/under/dress/skirt/pinafore/maroon + +/datum/gear/uniform/dress/cerulean_pinafore + + display_name = "pinafore, cerulean" + path = /obj/item/clothing/under/dress/skirt/pinafore/cerulean + +/datum/gear/uniform/dress/red_plaid_pinafore + + display_name = "pinafore, red plaid" + path = /obj/item/clothing/under/dress/skirt/pinafore/plaid + +/datum/gear/uniform/dress/green_plaid_pinafore + + display_name = "pinafore, green plaid" + path = /obj/item/clothing/under/dress/skirt/pinafore/plaid/green + +/datum/gear/uniform/dress/brown_plaid_pinafore + + display_name = "pinafore, brown plaid" + path = /obj/item/clothing/under/dress/skirt/pinafore/plaid/brown /datum/gear/uniform/suit/dress_suit display_name = "dress-suit, navy" @@ -232,12 +293,3 @@ /datum/gear/uniform/suit/dress_suit/skirt display_name = "dress-suitskirt, navy" path = /obj/item/clothing/under/suit/dresssuit/skirt - -/datum/gear/uniform/dress/rilena - display_name = "red dress, Ri cosplay" - path = /obj/item/clothing/under/dress/rilena - -//Premium -/datum/gear/uniform/tacticool - display_name = "tacticool turtleneck" - path = /obj/item/clothing/under/syndicate/tacticool diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 7b07d68de0f..1e438a276f1 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -5,7 +5,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) //doohickeys for savefiles var/path var/default_slot = 1 //Holder so it doesn't default to slot 1, rather the last one used - var/max_save_slots = 20 + var/max_save_slots = 30 //non-preference stuff var/muted = 0 @@ -17,7 +17,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/ooccolor = "#c43b23" var/asaycolor = "#ff4500" //This won't change the color for current admins, only incoming ones. /// If we spawn an ERT as an admin and choose to spawn as the briefing officer, we'll be given this outfit - var/brief_outfit = /datum/outfit/centcom/commander + var/brief_outfit = /datum/outfit/job/nanotrasen/captain var/enable_tips = TRUE var/tip_delay = 500 //tip delay in milliseconds @@ -229,6 +229,13 @@ GLOBAL_LIST_EMPTY(preferences_datums) ///The outfit we currently want to preview on our character var/datum/outfit/job/selected_outfit + ///Someone thought we were nice! We get a little heart in OOC until we join the server past the below time (we can keep it until the end of the round otherwise) + var/hearted + /// + var/hearted_until + + + /datum/preferences/New(client/C) parent = C @@ -241,7 +248,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) load_path(C.ckey) unlock_content = C.IsByondMember() if(unlock_content) - max_save_slots = 30 + max_save_slots = 50 var/loaded_preferences_successfully = load_preferences() if(loaded_preferences_successfully) if(load_character()) @@ -932,7 +939,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) mutant_category = 0 // end generic adjective - if("wings" in pref_species.default_features && GLOB.r_wings_list.len >1) + if(("wings" in pref_species.default_features) && GLOB.r_wings_list.len >1) if(!mutant_category) dat += APPEARANCE_CATEGORY_COLUMN @@ -1174,6 +1181,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(unlock_content || check_rights_for(user.client, R_ADMIN) || custom_ooc) dat += "OOC Color:     Change
    " + if(hearted_until) + dat += "Clear OOC Commend Heart
    " + dat += "
    " diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm index eaf51fc9b25..9065c7a87fd 100644 --- a/code/modules/paperwork/paperplane.dm +++ b/code/modules/paperwork/paperplane.dm @@ -102,8 +102,9 @@ visible_message("\The [src] hits [H] in the eye[eyes ? "" : " socket"]!") H.adjust_blurriness(6) eyes?.applyOrganDamage(rand(6,8)) - H.Paralyze(40) - H.emote("scream") + H.force_scream() + if(!HAS_TRAIT(H, TRAIT_ANALGESIA)) + H.Paralyze(40) /obj/item/paper/examine(mob/user) . = ..() diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 40b0771981e..c1982475c66 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -135,10 +135,6 @@ if(istype(paper_copy, /obj/item/paper)) do_copy_loop(CALLBACK(src, PROC_REF(make_paper_copy)), usr) return TRUE - // Devil contract paper. - if(istype(paper_copy, /obj/item/paper/contract/employment)) - do_copy_loop(CALLBACK(src, PROC_REF(make_devil_paper_copy)), usr) - return TRUE // Copying photo. if(photo_copy) do_copy_loop(CALLBACK(src, PROC_REF(make_photo_copy)), usr) @@ -268,22 +264,6 @@ copied_item.pixel_x = rand(-10, 10) copied_item.pixel_y = rand(-10, 10) -/** - * Handles the copying of devil contract paper. Transfers all the text, stamps and so on from the old paper, to the copy. - * - * Checks first if `paper_copy` exists. Since this proc is called from a timer, it's possible that it was removed. - * Does not check if it has enough toner because devil contracts cost no toner to print. - */ -/obj/machinery/photocopier/proc/make_devil_paper_copy(obj/item/paper/contract/employment/to_copy) - if(!paper_copy && !to_copy) - return - to_copy = to_copy ? to_copy : paper_copy - var/obj/item/paper/contract/employment/E = to_copy - var/obj/item/paper/contract/employment/C = new(loc, E.target.current) - give_pixel_offset(C) - - return C - /** * Handles the copying of paper. Transfers all the text, stamps and so on from the old paper, to the copy. * @@ -408,15 +388,10 @@ /obj/machinery/photocopier/attackby(obj/item/O, mob/user, params) if(istype(O, /obj/item/paper)) if(copier_empty()) - if(istype(O, /obj/item/paper/contract/infernal)) - to_chat(user, "[src] smokes, smelling of brimstone!") - resistance_flags |= FLAMMABLE - fire_act() - else - if(!user.dropItemToGround(O)) - return - paper_copy = O - do_insertion(O, user) + if(!user.dropItemToGround(O)) + return + paper_copy = O + do_insertion(O, user) else to_chat(user, "There is already something in [src]!") diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 45893f8d5fc..46fd25ac685 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -81,11 +81,6 @@ icon_state = "stamp-chap" dye_color = DYE_CHAP -/obj/item/stamp/centcom - name = "CentCom rubber stamp" - icon_state = "stamp-centcom" - dye_color = DYE_CENTCOM - /obj/item/stamp/syndicate name = "Syndicate rubber stamp" icon_state = "stamp-syndicate" @@ -97,10 +92,40 @@ dye_color = DYE_SYNDICATE /obj/item/stamp/cybersun - name = "Cybersun rubber stamp" + name = "Cybersun Virtual Solutions rubber stamp" icon_state = "stamp-cybersun" dye_color = DYE_SYNDICATE +/obj/item/stamp/cybersun/biodynamics + name = "Cybersun Biodynamics rubber stamp" + icon_state = "stamp-biodynamics" + dye_color = DYE_CMO + +/obj/item/stamp/ngr + name = "New Gorlex Republic rubber stamp" + icon_state = "stamp-ngr" + dye_color = DYE_REDCOAT + +/obj/item/stamp/ngr/captain + name = "Captain's rubber stamp" + icon_state = "stamp-ngr_cap" + dye_color = DYE_QM + +/obj/item/stamp/ngr/foreman + name = "Foreman's rubber stamp" + icon_state = "stamp-ngr_fore" + dye_color = DYE_QM + +/obj/item/stamp/ngr/lieutenant + name = "Lieutenant's rubber stamp" + icon_state = "stamp-ngr_lieu" + dye_color = DYE_QM + +/obj/item/stamp/ngr/ensign + name = "Ensign's rubber stamp" + icon_state = "stamp-ngr_ensign" + dye_color = DYE_QM + /obj/item/stamp/solgov name = "SolGov rubber stamp" icon_state = "stamp-solgov" @@ -110,32 +135,33 @@ icon_state = "stamp-inteq" dye_color = DYE_QM -/obj/item/stamp/vanguard +/obj/item/stamp/inteq/vanguard name = "Vanguard's rubber stamp" - icon_state = "stamp-vanguard" - dye_color = DYE_QM + icon_state = "stamp-inteq_vanguard" -/obj/item/stamp/maa +/obj/item/stamp/inteq/maa name = "Master at Arms' rubber stamp" - icon_state = "stamp-maa" - dye_color = DYE_QM + icon_state = "stamp-inteq_maa" -/obj/item/stamp/artificer - name = "Class II Artificer's rubber stamp" - icon_state = "stamp-artificer" - dye_color = DYE_QM +/obj/item/stamp/inteq/artificer + name = "Honorable Artificer's rubber stamp" + icon_state = "stamp-inteq_artificer" + +/obj/item/stamp/inteq/corpsman + name = "Honorable Corpsman's rubber stamp" + icon_state = "stamp-inteq_corpsman" /obj/item/stamp/clip name = "CLIP Minutemen rubber stamp" icon_state = "stamp-cmm" dye_color = DYE_FO -/obj/item/stamp/gold +/obj/item/stamp/clip/gold name = "GOLD rubber stamp" icon_state = "stamp-gold" dye_color = DYE_FO -/obj/item/stamp/bard +/obj/item/stamp/clip/bard name = "BARD rubber stamp" icon_state = "stamp-bard" dye_color = DYE_FO @@ -145,5 +171,66 @@ icon_state = "stamp-suns" dye_color = DYE_PURPLE +/obj/item/stamp/nanotrasen + name = "Nanotrasen rubber stamp" + desc = "A small rubber stamp for stamping important documents." + icon_state = "stamp-nt" + dye_color = DYE_BLUE + +/obj/item/stamp/nanotrasen/captain + name = "NT Captain's rubber stamp" + icon_state = "stamp-nt_cap" + +/obj/item/stamp/nanotrasen/officer + name = "NT Officer's rubber stamp" + icon_state = "stamp-nt_fo" + +/obj/item/stamp/nanotrasen/engineering + name = "NT Engineering Director's rubber stamp" + icon_state = "stamp-nt_engdir" + +/obj/item/stamp/nanotrasen/medical + name = "NT Medical Director's rubber stamp" + icon_state = "stamp-nt_meddir" + +/obj/item/stamp/nanotrasen/science + name = "NT Science Director's rubber stamp" + icon_state = "stamp-nt_scidir" + +/obj/item/stamp/nanotrasen/ns + name = "N+S Logistics rubber stamp" + icon_state = "stamp-ns" + dye_color = DYE_ORANGE + +/obj/item/stamp/nanotrasen/ns/captain + name = "N+S Captain's rubber stamp" + icon_state = "stamp-ns_cap" + +/obj/item/stamp/nanotrasen/ns/supply + name = "N+S Supply Director's rubber stamp" + icon_state = "stamp-ns_supdir" + +/obj/item/stamp/nanotrasen/vigilitas + name = "Vigilitas Interstellar rubber stamp" + icon_state = "stamp-vi" + dye_color = DYE_HOS + +/obj/item/stamp/nanotrasen/vigilitas/captain + name = "VI Captain's rubber stamp" + icon_state = "stamp-vi_cap" + +/obj/item/stamp/nanotrasen/vigilitas/security + name = "VI Security Director's rubber stamp" + icon_state = "stamp-vi_secdir" + +/obj/item/stamp/nanotrasen/vigilitas/loss_prevention + name = "VI Loss Prevention rubber stamp" + icon_state = "stamp-vi_lp" + +/obj/item/stamp/nanotrasen/central + name = "NT Central Command rubber stamp" + desc = "A rubber stamp for stamping important documents." // Needed, because base nt has "small" added. + icon_state = "stamp-nt_central" + /obj/item/stamp/attack_paw(mob/user) return attack_hand(user) diff --git a/code/modules/photography/_pictures.dm b/code/modules/photography/_pictures.dm index 511d75ac6c3..6570cd00bb0 100644 --- a/code/modules/photography/_pictures.dm +++ b/code/modules/photography/_pictures.dm @@ -45,7 +45,7 @@ if(!picture_image) return var/icon/small_img = icon(picture_image) - var/icon/ic = icon('icons/obj/items_and_weapons.dmi', iconstate ? iconstate :"photo") + var/icon/ic = icon('icons/obj/items.dmi', iconstate ? iconstate :"photo") small_img.Scale(8, 8) ic.Blend(small_img,ICON_OVERLAY, 13, 13) picture_icon = ic diff --git a/code/modules/photography/camera/camera.dm b/code/modules/photography/camera/camera.dm index 93b8319dbed..c2096983fb0 100644 --- a/code/modules/photography/camera/camera.dm +++ b/code/modules/photography/camera/camera.dm @@ -4,7 +4,6 @@ /obj/item/camera name = "camera" - icon = 'icons/obj/items_and_weapons.dmi' desc = "A polaroid camera." icon_state = "camera" item_state = "camera" @@ -20,6 +19,7 @@ slot_flags = ITEM_SLOT_NECK custom_materials = list(/datum/material/iron = 50, /datum/material/glass = 150) custom_price = 120 + supports_variations = VOX_VARIATION var/flash_enabled = TRUE var/state_on = "camera" var/state_off = "camera_off" diff --git a/code/modules/photography/camera/film.dm b/code/modules/photography/camera/film.dm index b44b9336108..a6001011eb2 100644 --- a/code/modules/photography/camera/film.dm +++ b/code/modules/photography/camera/film.dm @@ -3,7 +3,6 @@ */ /obj/item/camera_film name = "film cartridge" - icon = 'icons/obj/items_and_weapons.dmi' desc = "A camera film cartridge. Insert it into a camera to reload it." icon_state = "film" item_state = "electropack" diff --git a/code/modules/photography/photos/album.dm b/code/modules/photography/photos/album.dm index 2ba5f549930..19c2c1297f6 100644 --- a/code/modules/photography/photos/album.dm +++ b/code/modules/photography/photos/album.dm @@ -4,7 +4,7 @@ /obj/item/storage/photo_album name = "photo album" desc = "A big book used to store photos and mementos." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "album" item_state = "album" lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi' diff --git a/code/modules/photography/photos/photo.dm b/code/modules/photography/photos/photo.dm index 7274d477bab..ea3b4ff6a99 100644 --- a/code/modules/photography/photos/photo.dm +++ b/code/modules/photography/photos/photo.dm @@ -3,7 +3,7 @@ */ /obj/item/photo name = "photo" - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "photo" item_state = "paper" w_class = WEIGHT_CLASS_TINY diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index f21f9569223..48651a3146c 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -217,7 +217,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) // this allows the APC to be embedded in a wall, yet still inside an area if (building) setDir(ndir) - tdir = dir// to fix Vars bug + tdir = dir switch(tdir) if(NORTH) @@ -900,6 +900,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) ui = new(user, src, "Apc", name) ui.open() +/obj/machinery/power/apc/examine_more(mob/user) + ui_interact(user) + return ..() + /obj/machinery/power/apc/ui_data(mob/user) var/list/data = list( "locked" = locked, @@ -1492,9 +1496,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) update() addtimer(CALLBACK(src, PROC_REF(reset), APC_RESET_EMP), 600) -/obj/machinery/power/apc/blob_act(obj/structure/blob/B) - set_broken() - /obj/machinery/power/apc/disconnect_terminal() if(terminal) terminal.master = null diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 1a2f87c70dd..0e29e53da52 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -19,7 +19,8 @@ var/maxcharge = 1000 custom_materials = list(/datum/material/iron=700, /datum/material/glass=50) grind_results = list(/datum/reagent/lithium = 15, /datum/reagent/iron = 5, /datum/reagent/silicon = 5) - var/rigged = FALSE // true if rigged to explode + var/rigged = FALSE // true if rigged to + var/show_rigged = TRUE // whether if the cell shows it's fauly on examine. var/chargerate = 100 //how much power is given every tick in a recharger var/self_recharge = 0 //does it self recharge, over time, or not? var/ratingdesc = TRUE @@ -28,13 +29,15 @@ /obj/item/stock_parts/cell/get_cell() return src -/obj/item/stock_parts/cell/Initialize(mapload, override_maxcharge) +/obj/item/stock_parts/cell/Initialize(mapload, spawn_empty, override_maxcharge) . = ..() START_PROCESSING(SSobj, src) create_reagents(5, INJECTABLE | DRAINABLE) if (override_maxcharge) maxcharge = override_maxcharge charge = maxcharge + if(spawn_empty) + charge = 0 if(ratingdesc) desc += " This one has a rating of [DisplayEnergy(maxcharge)], and you should not swallow it." update_appearance() @@ -97,7 +100,7 @@ /obj/item/stock_parts/cell/examine(mob/user) . = ..() - if(rigged) + if(rigged && show_rigged) . += "This power cell seems to be faulty!" else . += "The charge meter reads [round(src.percent())]%." @@ -148,7 +151,6 @@ if(prob(25)) corrupt() -//WS Begin -- Ethereal Charge Scaling /obj/item/stock_parts/cell/attack_self(mob/user) if(iselzuose(user)) var/mob/living/carbon/human/H = user @@ -175,10 +177,6 @@ else to_chat(H, "You can't receive charge from [src]!") return -//WS End - -/obj/item/stock_parts/cell/blob_act(obj/structure/blob/B) - SSexplosions.highobj += src /obj/item/stock_parts/cell/proc/get_electrocute_damage() if(charge >= 1000) @@ -346,18 +344,6 @@ custom_materials = null grown_battery = TRUE //it has the overlays for wires -/obj/item/stock_parts/cell/high/slime - name = "charged slime core" - desc = "A yellow slime core infused with plasma, it crackles with power." - icon = 'icons/mob/slimes.dmi' - icon_state = "yellow slime extract" - custom_materials = null - rating = 5 //self-recharge makes these desirable - self_recharge = 1 // Infused slime cores self-recharge, over time - -/*Hypercharged slime cell - located in /code/modules/research/xenobiology/crossbreeding/_misc.dm -/obj/item/stock_parts/cell/high/slime/hypercharged */ - /obj/item/stock_parts/cell/emproof name = "\improper EMP-proof cell" desc = "An EMP-proof cell." @@ -414,6 +400,8 @@ chargerate = 1500 rating = 0 //Makes it incompatible with RPED +/obj/item/stock_parts/cell/gun/empty + /obj/item/stock_parts/cell/gun/empty/Initialize() . = ..() charge = 0 diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index 8d711ad804f..c9367ceecfb 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -13,6 +13,7 @@ var/lastgen = 0 var/lastgenlev = -1 + var/max_efficiency = 0.45 /obj/machinery/power/generator/Initialize(mapload) . = ..() @@ -75,12 +76,13 @@ if(delta_temperature > 0 && cold_air_heat_capacity > 0 && hot_air_heat_capacity > 0) - var/efficiency = 0.45 //WS Edit - Nerfed down to Cit's efficiency + var/efficiency = LOGISTIC_FUNCTION(max_efficiency,0.0009,delta_temperature,10000) + //2nd (0.0009) effects how 'steep' the curve is, and 4th (10000) effects where the 'middle' is. var/energy_transfer = delta_temperature*hot_air_heat_capacity*cold_air_heat_capacity/(hot_air_heat_capacity+cold_air_heat_capacity) + lastgen += energy_transfer * efficiency var/heat = energy_transfer*(1-efficiency) - lastgen += LOGISTIC_FUNCTION(500000,0.0009,delta_temperature,10000) //WS Edit - Buries the 3x3 freezer heater TEG into the ground hot_air.set_temperature(hot_air.return_temperature() - energy_transfer/hot_air_heat_capacity) cold_air.set_temperature(cold_air.return_temperature() + heat/cold_air_heat_capacity) diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 3ed7e262a53..b9044a4690c 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -32,10 +32,6 @@ if(severity == 1) // Very sturdy. set_broken() -/obj/machinery/gravity_generator/blob_act(obj/structure/blob/B) - if(prob(20)) - set_broken() - /obj/machinery/gravity_generator/zap_act(power, zap_flags) ..() if(zap_flags & ZAP_MACHINE_EXPLOSIVE) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index e92efb779d6..662bdbecc57 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -190,11 +190,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/light_construct, 32) return return ..() -/obj/structure/light_construct/blob_act(obj/structure/blob/B) - if(B && B.loc == loc) - qdel(src) - - /obj/structure/light_construct/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) new /obj/item/stack/sheet/metal(loc, sheets_refunded) @@ -942,6 +937,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/built, 28) layer = 2.5 light_type = /obj/item/light/bulb fitting = "bulb" + no_emergency = TRUE #undef LIGHT_DRAIN_TIME //WS Edit -- Ethereal Charge Scaling #undef LIGHT_POWER_GAIN //WS Edit -- Ethereal Charge Scaling diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index e63cd129861..3ef4050178c 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -106,7 +106,7 @@ var/obj/S = sheet_path sheet_name = initial(S.name) -/obj/machinery/power/port_gen/pacman/Destroy() +/obj/machinery/power/port_gen/pacman/deconstruct(disassembled) DropFuel() return ..() diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index a386a739622..3195f4e46ca 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -131,7 +131,7 @@ use_static_power = NO_POWER_USE /obj/machinery/proc/set_static_power(area/A)//used to set the actual draw to the value of use_static_power - switch(use_power) + switch(use_static_power) if(NO_POWER_USE) set_no_power(A) if(IDLE_POWER_USE) @@ -377,8 +377,9 @@ //source is an object caused electrocuting (airlock, grille, etc) //siemens_coeff - layman's terms, conductivity //dist_check - set to only shock mobs within 1 of source (vendors, airlocks, etc.) +//drain_energy - whether the shock will drain power from the mech. Enabled by default. //No animations will be performed by this proc. -/proc/electrocute_mob(mob/living/carbon/victim, power_source, obj/source, siemens_coeff = 1, dist_check = FALSE) +/proc/electrocute_mob(mob/living/carbon/victim, power_source, obj/source, siemens_coeff = 1, dist_check = FALSE, drain_energy = TRUE) if(!istype(victim) || ismecha(victim.loc)) return FALSE //feckin mechs are dumb diff --git a/code/modules/power/rtg.dm b/code/modules/power/rtg.dm index 1645afe9832..07b1b0af363 100644 --- a/code/modules/power/rtg.dm +++ b/code/modules/power/rtg.dm @@ -84,9 +84,6 @@ log_bomber(Proj.firer, "triggered a", src, "explosion via projectile") overload() -/obj/machinery/power/rtg/abductor/blob_act(obj/structure/blob/B) - overload() - /obj/machinery/power/rtg/abductor/ex_act() if(going_kaboom) qdel(src) diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index 77c400ae2b0..a6bebc3c1b8 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -56,9 +56,6 @@ if(BRUTE) playsound(loc, 'sound/effects/empulse.ogg', 75, TRUE) -/obj/machinery/field/containment/blob_act(obj/structure/blob/B) - return FALSE - /obj/machinery/field/containment/ex_act(severity, target) return FALSE diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 2dcaa224a71..a6cd227550e 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -119,6 +119,7 @@ log_game("Emitter deleted at [AREACOORD(T)]") investigate_log("deleted at [AREACOORD(T)]", INVESTIGATE_SINGULO) QDEL_NULL(sparks) + QDEL_NULL(wires) return ..() /obj/machinery/power/emitter/update_icon_state() @@ -357,16 +358,6 @@ if(user) user.visible_message("[user.name] emags [src].", "You short out the lock.") -/obj/machinery/power/emitter/ctf - name = "Energy Cannon" - active = TRUE - active_power_usage = FALSE - idle_power_usage = FALSE - locked = TRUE - req_access_txt = "100" - welded = TRUE - use_power = FALSE - /obj/machinery/power/emitter/welded/Initialize() welded = TRUE return ..() diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index d3e7a31d4cb..9a965e4f85e 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -165,12 +165,6 @@ field_generator power level display if(!anchored) step(src, get_dir(M, src)) -/obj/machinery/field/generator/blob_act(obj/structure/blob/B) - if(active) - return 0 - else - ..() - /obj/machinery/field/generator/bullet_act(obj/projectile/Proj) if(Proj.flag != "bullet") power = min(power + Proj.damage, field_generator_max_power) diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm deleted file mode 100644 index aefc5249f54..00000000000 --- a/code/modules/power/singularity/narsie.dm +++ /dev/null @@ -1,238 +0,0 @@ -/obj/singularity/narsie //Moving narsie to a child object of the singularity so it can be made to function differently. --NEO - name = "Nar'Sie's Avatar" - desc = "Your mind begins to bubble and ooze as it tries to comprehend what it sees." - icon = 'icons/obj/narsie_small.dmi' - icon_state = "narsie" - pixel_x = -89 - pixel_y = -85 - density = FALSE - current_size = 9 //It moves/eats like a max-size singulo, aside from range. --NEO - contained = 0 //Are we going to move around? - dissipate = 0 //Do we lose energy over time? - move_self = 1 //Do we move on our own? - grav_pull = 5 //How many tiles out do we pull? - consume_range = 6 //How many tiles out do we eat - light_power = 0.7 - light_range = 15 - light_color = COLOR_RED - gender = FEMALE - resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF - -/obj/singularity/narsie/large - name = "Nar'Sie" - icon = 'icons/obj/narsie.dmi' - // Pixel stuff centers Narsie. - pixel_x = -236 - pixel_y = -256 - current_size = 12 - grav_pull = 10 - consume_range = 12 //How many tiles out do we eat - -/obj/singularity/narsie/large/Initialize() - . = ..() - send_to_playing_players("NAR'SIE HAS RISEN") - sound_to_playing_players('sound/creatures/narsie_rises.ogg') - - var/area/A = get_area(src) - if(A) - var/mutable_appearance/alert_overlay = mutable_appearance('icons/effects/cult_effects.dmi', "ghostalertsie") - notify_ghosts("Nar'Sie has risen in \the [A.name]. Reach out to the Geometer to be given a new shell for your soul.", source = src, alert_overlay = alert_overlay, action=NOTIFY_ATTACK) - narsie_spawn_animation() - UnregisterSignal(src, COMSIG_ATOM_BSA_BEAM) //set up in /singularity/Initialize() - -/obj/singularity/narsie/large/cult // For the new cult ending, guaranteed to end the round within 3 minutes - var/list/souls_needed = list() - var/soul_goal = 0 - var/souls = 0 - var/resolved = FALSE - -/obj/singularity/narsie/large/cult/Initialize() - . = ..() - GLOB.cult_narsie = src - var/list/all_cults = list() - for(var/datum/antagonist/cult/C in GLOB.antagonists) - if(!C.owner) - continue - all_cults |= C.cult_team - for(var/datum/team/cult/T in all_cults) - deltimer(T.blood_target_reset_timer) - T.blood_target = src - var/datum/objective/eldergod/summon_objective = locate() in T.objectives - if(summon_objective) - summon_objective.summoned = TRUE - for(var/datum/mind/cult_mind in SSticker.mode.cult) - if(isliving(cult_mind.current)) - var/mob/living/L = cult_mind.current - L.narsie_act() - for(var/mob/living/player in GLOB.player_list) - if(player.stat != DEAD && player.loc && !iscultist(player) && !isanimal(player)) - souls_needed[player] = TRUE - soul_goal = round(1 + LAZYLEN(souls_needed) * 0.75) - INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(begin_the_end)) - -/proc/begin_the_end() - SSredbot.send_discord_message("admin","Nar'sie has been summoned.","round ending event") - sleep(50) - if(QDELETED(GLOB.cult_narsie)) // uno - priority_announce("Status report? We detected a anomaly, but it disappeared almost immediately.","Central Command Higher Dimensional Affairs", 'sound/misc/notice1.ogg') - GLOB.cult_narsie = null - sleep(20) - INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(cult_ending_helper), 2) - return - priority_announce("An acausal dimensional event has been detected in your sector. Event has been flagged EXTINCTION-CLASS. Directing all available assets toward simulating solutions. SOLUTION ETA: 60 SECONDS.","Central Command Higher Dimensional Affairs", 'sound/misc/airraid.ogg') - sleep(500) - if(QDELETED(GLOB.cult_narsie)) // dos - priority_announce("Simulations aborted, sensors report that the acasual event is normalizing. Good work, crew.","Central Command Higher Dimensional Affairs", 'sound/misc/notice1.ogg') - GLOB.cult_narsie = null - sleep(20) - INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(cult_ending_helper), 2) - return - priority_announce("Simulations on acausal dimensional event complete. Deploying solution package now. Deployment ETA: ONE MINUTE. ","Central Command Higher Dimensional Affairs") - sleep(50) - set_security_level("delta") - SSshuttle.lockdown = TRUE - sleep(600) - if(QDELETED(GLOB.cult_narsie)) // tres - priority_announce("Normalization detected! Abort the solution package!","Central Command Higher Dimensional Affairs", 'sound/misc/notice1.ogg') - GLOB.cult_narsie = null - sleep(20) - set_security_level("red") - SSshuttle.lockdown = FALSE - INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(cult_ending_helper), 2) - return - if(GLOB.cult_narsie.resolved == FALSE) - GLOB.cult_narsie.resolved = TRUE - sound_to_playing_players('sound/machines/alarm.ogg') - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(cult_ending_helper)), 120) - -/obj/singularity/narsie/large/cult/Destroy() - send_to_playing_players("\"[pick("Nooooo...", "Not die. How-", "Die. Mort-", "Sas tyen re-")]\"") - sound_to_playing_players('sound/magic/demon_dies.ogg', 50) - if(GLOB.cult_narsie == src) - GLOB.cult_narsie = null - var/list/all_cults = list() - for(var/datum/antagonist/cult/C in GLOB.antagonists) - if(!C.owner) - continue - all_cults |= C.cult_team - for(var/datum/team/cult/T in all_cults) - var/datum/objective/eldergod/summon_objective = locate() in T.objectives - if(summon_objective) - summon_objective.summoned = FALSE - summon_objective.killed = TRUE - return ..() - -/proc/ending_helper() - SSticker.force_ending = 1 - -/proc/cult_ending_helper(ending_type = 0) - if(ending_type == 2) //narsie fukkin died - Cinematic(CINEMATIC_CULT_FAIL,world,CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ending_helper))) - else if(ending_type) //no explosion - Cinematic(CINEMATIC_CULT,world,CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ending_helper))) - else // explosion - Cinematic(CINEMATIC_CULT_NUKE,world,CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ending_helper))) - -//ATTACK GHOST IGNORING PARENT RETURN VALUE -/obj/singularity/narsie/large/attack_ghost(mob/dead/observer/user as mob) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/harvester, user, cultoverride = TRUE, loc_override = src.loc) - -/obj/singularity/narsie/process() - eat() - if(!target || prob(5)) - pickcultist() - move() - if(prob(25)) - mezzer() - - -/obj/singularity/narsie/Bump(atom/A) - var/turf/T = get_turf(A) - if(T == loc) - T = get_step(A, A.dir) //please don't slam into a window like a bird, Nar'Sie - forceMove(T) - - -/obj/singularity/narsie/mezzer() - for(var/mob/living/carbon/M in viewers(consume_range, src)) - if(M.stat == CONSCIOUS) - if(!iscultist(M)) - to_chat(M, "You feel conscious thought crumble away in an instant as you gaze upon [src.name]...") - M.apply_effect(60, EFFECT_STUN) - - -/obj/singularity/narsie/consume(atom/A) - if(isturf(A)) - A.narsie_act() - - -/obj/singularity/narsie/ex_act() //No throwing bombs at her either. - return - - -/obj/singularity/narsie/proc/pickcultist() //Narsie rewards her cultists with being devoured first, then picks a ghost to follow. - var/list/cultists = list() - var/list/noncultists = list() - - for(var/mob/living/carbon/food in GLOB.alive_mob_list) //we don't care about constructs or cult-Ians or whatever. cult-monkeys are fair game i guess - var/turf/pos = get_turf(food) - if(!pos || (pos.virtual_z() != virtual_z())) - continue - - if(iscultist(food)) - cultists += food - else - noncultists += food - - if(cultists.len) //cultists get higher priority - acquire(pick(cultists)) - return - - if(noncultists.len) - acquire(pick(noncultists)) - return - - //no living humans, follow a ghost instead. - for(var/mob/dead/observer/ghost in GLOB.player_list) - var/turf/pos = get_turf(ghost) - if(!pos || (pos.virtual_z() != virtual_z())) - continue - cultists += ghost - if(cultists.len) - acquire(pick(cultists)) - return - - -/obj/singularity/narsie/proc/acquire(atom/food) - if(food == target) - return - to_chat(target, "NAR'SIE HAS LOST INTEREST IN YOU.") - target = food - if(ishuman(target)) - to_chat(target, "NAR'SIE HUNGERS FOR YOUR SOUL.") - else - to_chat(target, "NAR'SIE HAS CHOSEN YOU TO LEAD HER TO HER NEXT MEAL.") - -//Wizard narsie -/obj/singularity/narsie/wizard - grav_pull = 0 - -/obj/singularity/narsie/wizard/eat() -// if(defer_powernet_rebuild != 2) -// defer_powernet_rebuild = 1 - for(var/atom/X in urange(consume_range,src,1)) - if(isturf(X) || ismovable(X)) - consume(X) -// if(defer_powernet_rebuild != 2) -// defer_powernet_rebuild = 0 - return - - -/obj/singularity/narsie/proc/narsie_spawn_animation() - setDir(SOUTH) - move_self = FALSE - flick("narsie_spawn_anim",src) - addtimer(CALLBACK(src, PROC_REF(narsie_spawn_animation_end)), 3.5 SECONDS) - -/obj/singularity/narsie/proc/narsie_spawn_animation_end() - move_self = TRUE diff --git a/code/modules/power/singularity/particle_accelerator/particle.dm b/code/modules/power/singularity/particle_accelerator/particle.dm index b593d3f546b..ac0e59d7080 100644 --- a/code/modules/power/singularity/particle_accelerator/particle.dm +++ b/code/modules/power/singularity/particle_accelerator/particle.dm @@ -41,10 +41,6 @@ else if(istype(A, /obj/singularity)) var/obj/singularity/S = A S.energy += energy - else if(istype(A, /obj/structure/blob)) - var/obj/structure/blob/B = A - B.take_damage(energy*0.6) - movement_range = 0 /obj/effect/accelerated_particle/proc/on_entered(datum/source, atom/A) SIGNAL_HANDLER diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm index ddcaf026a40..0130297c87d 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_control.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm @@ -261,10 +261,6 @@ return ..() -/obj/machinery/particle_accelerator/control_box/blob_act(obj/structure/blob/B) - if(prob(50)) - qdel(src) - /obj/machinery/particle_accelerator/control_box/interact(mob/user) if(construction_state == PA_CONSTRUCTION_PANEL_OPEN) wires.interact(user) diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 875f9cd441f..499a88b161f 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -38,7 +38,7 @@ src.energy = starting_energy . = ..() START_PROCESSING(SSobj, src) - GLOB.poi_list |= src + SSpoints_of_interest.make_point_of_interest(src) GLOB.singularities |= src for(var/obj/machinery/power/singularity_beacon/singubeacon in GLOB.machines) if(singubeacon.active) @@ -53,7 +53,7 @@ /obj/singularity/Destroy() STOP_PROCESSING(SSobj, src) - GLOB.poi_list.Remove(src) + SSpoints_of_interest.remove_point_of_interest(src) GLOB.singularities.Remove(src) return ..() @@ -96,9 +96,6 @@ /obj/singularity/Process_Spacemove() //The singularity stops drifting for no man! return 0 -/obj/singularity/blob_act(obj/structure/blob/B) - return - /obj/singularity/attack_tk(mob/user) if(iscarbon(user)) var/mob/living/carbon/C = user diff --git a/code/modules/power/supermatter/cascade.dm b/code/modules/power/supermatter/cascade.dm index 52c36bf13c3..9d388d8f0e0 100644 --- a/code/modules/power/supermatter/cascade.dm +++ b/code/modules/power/supermatter/cascade.dm @@ -69,14 +69,6 @@ qdel(rip_u) return -/turf/open/indestructible/supermatter_cascade/blob_act(obj/structure/blob/blob) - if(!blob || isspaceturf(loc)) //does nothing in space - return - playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE) - blob.visible_message("\The [blob] strikes at \the [src] and rapidly flashes to ash.", - "You hear a loud crack as you are washed with a wave of heat.") - Consume(blob) - /turf/open/indestructible/supermatter_cascade/attack_paw(mob/user, list/modifiers) dust_mob(user, cause = "monkey attack") diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 5593744219d..9903beaf6ad 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -29,7 +29,7 @@ #define PLASMA_TRANSMIT_MODIFIER 4 #define BZ_TRANSMIT_MODIFIER -2 #define TRITIUM_TRANSMIT_MODIFIER 30 //We divide by 10, so this works out to 3 -#define PLUOXIUM_TRANSMIT_MODIFIER -5 //Should halve the power output +#define OZONE_TRANSMIT_MODIFIER -5 //Should halve the power output #define H2O_TRANSMIT_MODIFIER -9 #define BZ_RADIOACTIVITY_MODIFIER 5 //Improves the effect of transmit modifiers @@ -154,7 +154,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) GAS_CO2, GAS_NITROUS, GAS_N2, - GAS_PLUOXIUM, + GAS_O3, GAS_TRITIUM, GAS_BZ, GAS_FREON, @@ -167,7 +167,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) GAS_CO2 = 0, GAS_NITROUS = 0, GAS_N2 = 0, - GAS_PLUOXIUM = 0, + GAS_O3 = 0, GAS_TRITIUM = 0, GAS_BZ = 0, GAS_FREON = 0, @@ -177,7 +177,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) GAS_O2 = OXYGEN_TRANSMIT_MODIFIER, GAS_H2O = H2O_TRANSMIT_MODIFIER, GAS_PLASMA = PLASMA_TRANSMIT_MODIFIER, - GAS_PLUOXIUM = PLUOXIUM_TRANSMIT_MODIFIER, + GAS_O3 = OZONE_TRANSMIT_MODIFIER, GAS_TRITIUM = TRITIUM_TRANSMIT_MODIFIER, GAS_BZ = BZ_TRANSMIT_MODIFIER, ) @@ -188,7 +188,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) GAS_PLASMA = PLASMA_HEAT_PENALTY, GAS_CO2 = CO2_HEAT_PENALTY, GAS_N2 = NITROGEN_HEAT_PENALTY, - GAS_PLUOXIUM = PLUOXIUM_HEAT_PENALTY, + GAS_O3 = PLUOXIUM_HEAT_PENALTY, GAS_TRITIUM = TRITIUM_HEAT_PENALTY, GAS_BZ = BZ_HEAT_PENALTY, GAS_FREON = FREON_HEAT_PENALTY, @@ -196,7 +196,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) ///The list of gases mapped against their heat resistance. We use it to moderate heat damage. var/list/gas_resist = list( GAS_NITROUS = N2O_HEAT_RESISTANCE, - GAS_PLUOXIUM = PLUOXIUM_HEAT_RESISTANCE, + GAS_O3 = PLUOXIUM_HEAT_RESISTANCE, ) ///The list of gases mapped against their powermix ratio var/list/gas_powermix = list( @@ -205,7 +205,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) GAS_PLASMA = 1, GAS_CO2 = 1, GAS_N2 = -1, - GAS_PLUOXIUM = -1, + GAS_O3 = -1, GAS_TRITIUM = 1, GAS_BZ = 1, GAS_FREON = -1, @@ -275,7 +275,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) SSair.start_processing_machine(src, mapload) countdown = new(src) countdown.start() - GLOB.poi_list |= src + SSpoints_of_interest.make_point_of_interest(src) radio = new(src) radio.keyslot = new radio_key radio.listening = 0 @@ -293,7 +293,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) investigate_log("has been destroyed.", INVESTIGATE_SUPERMATTER) SSair.stop_processing_machine(src) QDEL_NULL(radio) - GLOB.poi_list -= src + SSpoints_of_interest.remove_point_of_interest(src) QDEL_NULL(countdown) if(is_main_engine && GLOB.main_supermatter_engine == src) GLOB.main_supermatter_engine = null @@ -518,13 +518,13 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) var/list/resistance_mod = gases_we_care_about.Copy() //We're concerned about pluoxium being too easy to abuse at low percents, so we make sure there's a substantial amount. - var/pluoxiumbonus = (gas_comp[GAS_PLUOXIUM] >= 0.15) //makes pluoxium only work at 15%+ + var/pluoxiumbonus = (gas_comp[GAS_O3] >= 0.15) //makes pluoxium only work at 15%+ var/h2obonus = 1 - (gas_comp[GAS_H2O] * 0.25)//At max this value should be 0.75 var/freonbonus = (gas_comp[GAS_FREON] <= 0.03) //Let's just yeet power output if this shit is high - heat_mod[GAS_PLUOXIUM] = pluoxiumbonus - transit_mod[GAS_PLUOXIUM] = pluoxiumbonus - resistance_mod[GAS_PLUOXIUM] = pluoxiumbonus + heat_mod[GAS_O3] = pluoxiumbonus + transit_mod[GAS_O3] = pluoxiumbonus + resistance_mod[GAS_O3] = pluoxiumbonus //No less then zero, and no greater then one, we use this to do explosions and heat to power transfer //Be very careful with modifing this var by large amounts, and for the love of god do not push it past 1 @@ -748,19 +748,6 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) qdel(src) return gain -/obj/machinery/power/supermatter_crystal/blob_act(obj/structure/blob/B) - if(B && !isspaceturf(loc)) //does nothing in space - playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, TRUE) - damage += B.obj_integrity * 0.5 //take damage equal to 50% of remaining blob health before it tried to eat us - if(B.obj_integrity > 100) - B.visible_message("\The [B] strikes at \the [src] and flinches away!",\ - "You hear a loud crack as you are washed with a wave of heat.") - B.take_damage(100, BURN) - else - B.visible_message("\The [B] strikes at \the [src] and rapidly flashes to ash.",\ - "You hear a loud crack as you are washed with a wave of heat.") - Consume(B) - /obj/machinery/power/supermatter_crystal/attack_tk(mob/user) if(iscarbon(user)) var/mob/living/carbon/C = user @@ -817,7 +804,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) /obj/machinery/power/supermatter_crystal/attackby(obj/item/W, mob/living/user, params) if(!istype(W) || (W.item_flags & ABSTRACT) || !istype(user)) return - if(istype(W, /obj/item/melee/roastingstick)) + if(istype(W, /obj/item/roastingstick)) return ..() if(istype(W, /obj/item/clothing/mask/cigarette)) var/obj/item/clothing/mask/cigarette/cig = W diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index fbece73764a..d4a6f71cca4 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -151,7 +151,7 @@ /obj/singularity/energy_ball/orbit(obj/singularity/energy_ball/target) if (istype(target)) target.orbiting_balls += src - GLOB.poi_list -= src + SSpoints_of_interest.remove_point_of_interest(src) target.dissipate_strength = target.orbiting_balls.len . = ..() @@ -280,12 +280,6 @@ else if(closest_type >= BLOB) continue - else if(istype(A, /obj/structure/blob)) - var/obj/structure/blob/B = A - if(!(B.obj_flags & BEING_SHOCKED)) - closest_type = BLOB - closest_atom = A - else if(closest_type >= STRUCTURE) continue diff --git a/code/modules/projectiles/ammunition/_ammo_casing.dm b/code/modules/projectiles/ammunition/_ammo_casing.dm new file mode 100644 index 00000000000..c07ffe7021d --- /dev/null +++ b/code/modules/projectiles/ammunition/_ammo_casing.dm @@ -0,0 +1,257 @@ +/obj/item/ammo_casing + name = "bullet casing" + desc = "A bullet casing." + icon = 'icons/obj/ammunition/ammo_bullets.dmi' + icon_state = "pistol-brass" + flags_1 = CONDUCT_1 + slot_flags = ITEM_SLOT_BELT + throwforce = 0 + w_class = WEIGHT_CLASS_TINY + custom_materials = list(/datum/material/iron = 500) + + /// Instance of the projectile to be shot, or null if there is no loaded projectile. + var/obj/projectile/BB = null + /// The projectile type to create in Initialize(), populating the BB variable with a projectile. + var/projectile_type = null + /// Caliber string, used to determine if the casing can be loaded into specific guns or magazines. + var/caliber = null + /// Used for pacifism checks. Set to FALSE if the bullet is non-lethal and pacifists should be able to fire. + var/harmful = TRUE + /// String, used to determine the appearance of the bullet on the casing sprite if the casing is filled. + var/bullet_skin + + /// The sound played when this ammo is fired by an energy gun. + var/fire_sound = null + /// The visual effect that appears when the ammo is fired. + var/firing_effect_type + /// Enables casing spinning and sizzling after being ejected from a gun. + var/heavy_metal = TRUE + /// If true, the casing's sprite will automatically be transformed in Initialize(). + /// Disable for things like rockets or other heavy ammunition that should only appear right-side up. + var/auto_rotate = TRUE + /// If you dont want to bullets to randomly change position on spawn. For mapping. + var/auto_scatter = TRUE + + ///Pellets for spreadshot + var/pellets = 1 + ///Variance for inaccuracy fundamental to the casing + var/variance = 0 + ///Randomspread for automatics + var/randomspread = FALSE + ///Delay for energy weapons + var/delay = 0 + ///Override this to make your gun have a faster fire rate, in tenths of a second. 4 is the default gun cooldown. + var/click_cooldown_override = 0 + ///If true, overrides the bouncing sfx from the turf to this one + var/list/bounce_sfx_override + + ///What this casing can be stacked into. + var/obj/item/ammo_box/magazine/stack_type = /obj/item/ammo_box/magazine/ammo_stack + ///Maximum stack size of ammunition + var/stack_size = 15 + + var/bullet_per_box + +/obj/item/ammo_casing/attackby(obj/item/attacking_item, mob/user, params) + if(istype(attacking_item, /obj/item/pen)) + if(!user.is_literate()) + to_chat(user, "You scribble illegibly on the [src]!") + return + var/inputvalue = stripped_input(user, "What would you like to label the round?", "Bullet Labelling", "", MAX_NAME_LEN) + + if(!inputvalue) + return + + if(user.canUseTopic(src, BE_CLOSE)) + name = "[initial(src.name)][(inputvalue ? " - '[inputvalue]'" : null)]" + if(BB) + BB.name = "[initial(BB.name)][(inputvalue ? " - '[inputvalue]'" : null)]" + else if(istype(attacking_item, /obj/item/ammo_box) && user.is_holding(src)) + add_fingerprint(user) + var/obj/item/ammo_box/ammo_box = attacking_item + var/obj/item/ammo_casing/other_casing = ammo_box.get_round(TRUE) + + if(try_stacking(other_casing, user)) + ammo_box.stored_ammo -= other_casing + ammo_box.update_ammo_count() + return + + else if(istype(attacking_item, /obj/item/ammo_box/magazine/ammo_stack)) + add_fingerprint(user) + var/obj/item/ammo_box/magazine/ammo_stack = attacking_item + if(isturf(loc)) + var/boolets = 0 + for(var/obj/item/ammo_casing/bullet in loc) + if(bullet == src) + continue + if(!bullet.BB) + continue + if(length(ammo_stack.stored_ammo) >= ammo_stack.max_ammo) + break + if(ammo_stack.give_round(bullet, FALSE)) + boolets++ + break + if((boolets <= 0) && BB && !(length(ammo_stack.stored_ammo) >= ammo_stack.max_ammo)) + if(ammo_stack.give_round(src, FALSE)) + boolets++ + if(boolets > 0) + ammo_stack.update_ammo_count() + to_chat(user, span_notice("You collect [boolets] round\s. [ammo_stack] now contains [length(ammo_stack.stored_ammo)] round\s.")) + else + to_chat(user, span_warning("You can't stack any more!")) + return + + else if(istype(attacking_item, /obj/item/ammo_casing)) + try_stacking(attacking_item, user) + return + + return ..() + +/obj/item/ammo_casing/examine(mob/user) + . = ..() + . += span_notice("You could write a message on \the [src] by writing on it with a pen.") + +/obj/item/ammo_casing/proc/try_stacking(obj/item/ammo_casing/other_casing, mob/living/user) + if(user) + add_fingerprint(user) + if(!other_casing.stack_type) + if(user) + to_chat(user, span_warning("[other_casing] can't be stacked.")) + return + if(!stack_type) + if(user) + to_chat(user, span_warning("[src] can't be stacked.")) + return + if(name != other_casing.name) //Has to match exactly + if(user) + to_chat(user, span_warning("You can't stack different types of ammunition.")) + return + if(stack_type != other_casing.stack_type) + if(user) + to_chat(user, span_warning("You can't stack [other_casing] with [src].")) + return + if(!BB || !other_casing.BB) //maybe allow empty casing stacking at a later date, when there's a feature to recycle casings + if(user) + to_chat(user, span_warning("You can't stack empty casings.")) + return + if((item_flags & IN_STORAGE) || (other_casing.item_flags & IN_STORAGE)) + if(user) + to_chat(user, span_warning("You can't stack casings while they are inside storage.")) + return + var/obj/item/ammo_box/magazine/ammo_stack/ammo_stack = other_casing.stack_with(src) + if(user) + user.put_in_hands(ammo_stack) + to_chat(user, span_notice("[src] has been stacked with [other_casing].")) + return ammo_stack + +/obj/item/ammo_casing/proc/stack_with(obj/item/ammo_casing/other_casing) + var/obj/item/ammo_box/magazine/ammo_stack/ammo_stack = new stack_type(drop_location()) + ammo_stack.name = "handful of [name]s" //"handful of .9mm bullet casings" + ammo_stack.base_icon_state = other_casing.icon_state + ammo_stack.caliber = caliber + ammo_stack.max_ammo = stack_size + ammo_stack.give_round(src) + ammo_stack.give_round(other_casing) + ammo_stack.update_ammo_count() + return ammo_stack + +/obj/item/ammo_casing/Initialize() + . = ..() + if(projectile_type) + BB = new projectile_type(src) + if(auto_scatter) + pixel_x = base_pixel_x + rand(-10, 10) + pixel_y = base_pixel_y + rand(-10, 10) + item_flags |= NO_PIXEL_RANDOM_DROP + if(auto_rotate) + transform = transform.Turn(round(45 * rand(0, 32) / 2)) + update_appearance() + +/obj/item/ammo_casing/Destroy() + . = ..() + if(BB) + QDEL_NULL(BB) + +/obj/item/ammo_casing/update_icon_state() + icon_state = "[initial(icon_state)][BB ? (bullet_skin ? "-[bullet_skin]" : "") : "-empty"]" + return ..() + +/obj/item/ammo_casing/update_desc() + desc = "[initial(desc)][BB ? null : " This one is spent."]" + return ..() + +///Proc to magically refill a casing with a new projectile +/obj/item/ammo_casing/proc/newshot() //For energy weapons, syringe gun, shotgun shells and wands (!). + if(!BB) + BB = new projectile_type(src, src) + +/obj/item/ammo_casing/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + bounce_away(FALSE, NONE) + . = ..() + +/obj/item/ammo_casing/proc/on_eject(atom/shooter) + forceMove(drop_location()) //Eject casing onto ground. + pixel_x = rand(-4, 4) + pixel_y = rand(-4, 4) + pixel_z = 8 //bounce time + var/angle_of_movement = !isnull(shooter) ? (rand(-3000, 3000) / 100) + dir2angle(turn(shooter.dir, 180)) : rand(-3000, 3000) / 100 + AddComponent(/datum/component/movable_physics, _horizontal_velocity = rand(400, 450) / 100, _vertical_velocity = rand(400, 450) / 100, _horizontal_friction = rand(20, 24) / 100, _z_gravity = PHYSICS_GRAV_STANDARD, _z_floor = 0, _angle_of_movement = angle_of_movement, _bounce_sound = bounce_sfx_override) + +/obj/item/ammo_casing/proc/bounce_away(still_warm = FALSE, bounce_delay = 3) + if(!heavy_metal) + return + update_appearance() + SpinAnimation(10, 1) + var/turf/location = get_turf(src) + if(bounce_sfx_override) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, pick(bounce_sfx_override), 20, 1), bounce_delay) //Soft / non-solid turfs that shouldn't make a sound when a shell casing is ejected over them. + return + if(!location) + return + + if(still_warm && location.bullet_sizzle) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, 'sound/items/welder.ogg', 20, 1), bounce_delay) //If the turf is made of water and the shell casing is still hot, make a sizzling sound when it's ejected. + + else if(location.bullet_bounce_sound) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, pick(location.bullet_bounce_sound), 20, 1), bounce_delay) //Soft / non-solid turfs that shouldn't make a sound when a shell casing is ejected over them. + +/obj/item/ammo_casing/spent + name = "spent bullet casing" + projectile_type = null + BB = null + +/obj/item/ammo_casing/spent/pistol_brass + icon_state = "pistol-brass" + +/obj/item/ammo_casing/spent/pistol_steel + icon_state = "pistol-steel" + +/obj/item/ammo_casing/spent/magnum_brass + icon_state = "magnum-brass" + +/obj/item/ammo_casing/spent/magnum_steel + icon_state = "magnum-steel" + +/obj/item/ammo_casing/spent/rifle_brass + icon_state = "rifle-brass" + +/obj/item/ammo_casing/spent/rifle_steel + icon_state = "rifle-steel" + +/obj/item/ammo_casing/spent/big_brass + icon_state = "big-brass" + +/obj/item/ammo_casing/spent/big_steel + icon_state = "big-steel" //balls + +/obj/item/ammo_casing/spent/slug + icon_state = "slug" + +/obj/item/ammo_casing/spent/slug/buck + icon_state = "buckshot" + +/obj/item/ammo_casing/spent/slug/beanbag + icon_state = "beanbag" + +/obj/item/ammo_casing/spent/slug/rubber + icon_state = "rubber" diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm deleted file mode 100644 index 26597a64f33..00000000000 --- a/code/modules/projectiles/ammunition/_ammunition.dm +++ /dev/null @@ -1,131 +0,0 @@ -/obj/item/ammo_casing - name = "bullet casing" - desc = "A bullet casing." - icon = 'icons/obj/ammo_bullets.dmi' - icon_state = "pistol-brass" - flags_1 = CONDUCT_1 - slot_flags = ITEM_SLOT_BELT - throwforce = 0 - w_class = WEIGHT_CLASS_TINY - custom_materials = list(/datum/material/iron = 500) - - /// Instance of the projectile to be shot, or null if there is no loaded projectile. - var/obj/projectile/BB = null - /// The projectile type to create in Initialize(), populating the BB variable with a projectile. - var/projectile_type = null - /// Caliber string, used to determine if the casing can be loaded into specific guns or magazines. - var/caliber = null - /// Used for pacifism checks. Set to FALSE if the bullet is non-lethal and pacifists should be able to fire. - var/harmful = TRUE - /// String, used to determine the appearance of the bullet on the casing sprite if the casing is filled. - var/bullet_skin - - /// The sound played when this ammo is fired by an energy gun. - var/fire_sound = null - /// The visual effect that appears when the ammo is fired. - var/firing_effect_type - /// Enables casing spinning and sizzling after being ejected from a gun. - var/heavy_metal = TRUE - /// If true, the casing's sprite will automatically be transformed in Initialize(). - /// Disable for things like rockets or other heavy ammunition that should only appear right-side up. - var/auto_rotate = TRUE - - var/pellets = 1 //Pellets for spreadshot - var/variance = 0 //Variance for inaccuracy fundamental to the casing - var/randomspread = 0 //Randomspread for automatics - var/delay = 0 //Delay for energy weapons - var/click_cooldown_override = 0 //Override this to make your gun have a faster fire rate, in tenths of a second. 4 is the default gun cooldown. - - var/list/bounce_sfx_override // if true, overrides the bouncing sfx from the turf to this one - - var/bullet_per_box - - -/obj/item/ammo_casing/spent - name = "spent bullet casing" - BB = null - -/obj/item/ammo_casing/Initialize() - . = ..() - if(projectile_type) - BB = new projectile_type(src) - pixel_x = base_pixel_x + rand(-10, 10) - pixel_y = base_pixel_y + rand(-10, 10) - item_flags |= NO_PIXEL_RANDOM_DROP - if(auto_rotate) - transform = transform.Turn(pick(0, 90, 180, 270)) - update_appearance() - -/obj/item/ammo_casing/Destroy() - . = ..() - - if(BB) - QDEL_NULL(BB) - else - SSblackbox.record_feedback("tally", "station_mess_destroyed", 1, name) - -/obj/item/ammo_casing/update_icon_state() - icon_state = "[initial(icon_state)][BB ? (bullet_skin ? "-[bullet_skin]" : "") : "-empty"]" - return ..() - -/obj/item/ammo_casing/update_desc() - desc = "[initial(desc)][BB ? null : " This one is spent."]" - return ..() - -//proc to magically refill a casing with a new projectile -/obj/item/ammo_casing/proc/newshot() //For energy weapons, syringe gun, shotgun shells and wands (!). - if(!BB) - BB = new projectile_type(src, src) - -/obj/item/ammo_casing/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/ammo_box)) - var/obj/item/ammo_box/box = I - if(isturf(loc)) - var/boolets = 0 - for(var/obj/item/ammo_casing/bullet in loc) - if (box.stored_ammo.len >= box.max_ammo) - break - if (bullet.BB) - if (box.give_round(bullet, 0)) - boolets++ - else - continue - if (boolets > 0) - box.update_appearance() - to_chat(user, "You collect [boolets] shell\s. [box] now contains [box.stored_ammo.len] shell\s.") - else - to_chat(user, "You fail to collect anything!") - else - return ..() - - -/obj/item/ammo_casing/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - bounce_away(FALSE, NONE) - . = ..() - -/obj/item/ammo_casing/proc/on_eject(atom/shooter) - forceMove(drop_location()) //Eject casing onto ground. - pixel_x = rand(-4, 4) - pixel_y = rand(-4, 4) - pixel_z = 8 //bounce time - var/angle_of_movement = !isnull(shooter) ? (rand(-3000, 3000) / 100) + dir2angle(turn(shooter.dir, 180)) : rand(-3000, 3000) / 100 - AddComponent(/datum/component/movable_physics, _horizontal_velocity = rand(400, 450) / 100, _vertical_velocity = rand(400, 450) / 100, _horizontal_friction = rand(20, 24) / 100, _z_gravity = PHYSICS_GRAV_STANDARD, _z_floor = 0, _angle_of_movement = angle_of_movement, _bounce_sound = bounce_sfx_override) - - -/obj/item/ammo_casing/proc/bounce_away(still_warm = FALSE, bounce_delay = 3) - if(!heavy_metal) - return - update_appearance() - SpinAnimation(10, 1) - var/turf/location = get_turf(src) - if(bounce_sfx_override) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, pick(bounce_sfx_override), 20, 1), bounce_delay) //Soft / non-solid turfs that shouldn't make a sound when a shell casing is ejected over them. - return - if(!location) - return - - if(still_warm && location.bullet_sizzle) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, 'sound/items/welder.ogg', 20, 1), bounce_delay) //If the turf is made of water and the shell casing is still hot, make a sizzling sound when it's ejected. - - else if(location.bullet_bounce_sound) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, pick(location.bullet_bounce_sound), 20, 1), bounce_delay) //Soft / non-solid turfs that shouldn't make a sound when a shell casing is ejected over them. diff --git a/code/modules/projectiles/ammunition/_firing.dm b/code/modules/projectiles/ammunition/_firing.dm index 93fa4208d57..cfa4e91e645 100644 --- a/code/modules/projectiles/ammunition/_firing.dm +++ b/code/modules/projectiles/ammunition/_firing.dm @@ -1,33 +1,34 @@ -/obj/item/ammo_casing/proc/fire_casing(atom/target, mob/living/user, params, distro, quiet, zone_override, spread, atom/fired_from) +/obj/item/ammo_casing/proc/fire_casing(atom/target, mob/living/user, params, distro, quiet, zone_override, spread, atom/fired_from, misfire = FALSE) distro += variance var/targloc = get_turf(target) - ready_proj(target, user, quiet, zone_override, fired_from) + ready_proj(target, user, quiet, zone_override, fired_from, misfire) if(pellets == 1) if(distro) //We have to spread a pixel-precision bullet. throw_proj was called before so angles should exist by now... if(randomspread) spread = round((rand() - 0.5) * distro) else //Smart spread spread = round(1 - 0.5) * distro - if(!throw_proj(target, targloc, user, params, spread)) + if(!throw_proj(target, targloc, user, params, spread, fired_from)) return FALSE else if(isnull(BB)) return FALSE AddComponent(/datum/component/pellet_cloud, projectile_type, pellets) SEND_SIGNAL(src, COMSIG_PELLET_CLOUD_INIT, target, user, fired_from, randomspread, spread, zone_override, params, distro) + if(user) + if(click_cooldown_override) + user.changeNext_move(click_cooldown_override) - if(click_cooldown_override) - user.changeNext_move(click_cooldown_override) - - user.newtonian_move(get_dir(target, user)) + user.newtonian_move(get_dir(target, user)) update_appearance() return TRUE -/obj/item/ammo_casing/proc/ready_proj(atom/target, mob/living/user, quiet, zone_override = "", atom/fired_from) +/obj/item/ammo_casing/proc/ready_proj(atom/target, mob/living/user, quiet, zone_override = "", atom/fired_from, misfire = FALSE) if (!BB) return BB.original = target BB.firer = user + BB.misfire = misfire BB.fired_from = fired_from if (zone_override) BB.def_zone = zone_override @@ -44,8 +45,12 @@ reagents.trans_to(BB, reagents.total_volume, transfered_by = user) //For chemical darts/bullets qdel(reagents) -/obj/item/ammo_casing/proc/throw_proj(atom/target, turf/targloc, mob/living/user, params, spread) - var/turf/curloc = get_turf(user) +/obj/item/ammo_casing/proc/throw_proj(atom/target, turf/targloc, mob/living/user, params, spread, atom/fired_from) + var/turf/curloc + if(user) + curloc = get_turf(user) + else + curloc = get_turf(src) if (!istype(targloc) || !istype(curloc) || !BB) return FALSE @@ -60,7 +65,10 @@ if(target) //if the target is right on our location we'll skip the travelling code in the proj's fire() direct_target = target if(!direct_target) - BB.preparePixelProjectile(target, user, params, spread) + if(user) + BB.preparePixelProjectile(target, user, params, spread) + else + BB.preparePixelProjectile(target, curloc, params, spread) BB.fire(null, direct_target) BB = null return TRUE diff --git a/code/modules/projectiles/ammunition/ballistic/lmg.dm b/code/modules/projectiles/ammunition/ballistic/lmg.dm index d46001951ba..d716618b0d6 100644 --- a/code/modules/projectiles/ammunition/ballistic/lmg.dm +++ b/code/modules/projectiles/ammunition/ballistic/lmg.dm @@ -6,7 +6,6 @@ icon_state = "rifle-steel" caliber = "7.12x82mm" projectile_type = /obj/projectile/bullet/mm712x82 - bullet_per_box = 100 /obj/item/ammo_casing/mm712x82/ap name = "7.12x82mm armor-piercing bullet casing" @@ -20,12 +19,6 @@ projectile_type = /obj/projectile/bullet/mm712x82/hp bullet_skin = "hollow" -/obj/item/ammo_casing/mm712x82/inc - name = "7.12x82mm incendiary bullet casing" - desc = "A 7.12x82mm incendiary bullet casing." - projectile_type = /obj/projectile/bullet/incendiary/mm712x82 - bullet_skin = "incen" - /obj/item/ammo_casing/mm712x82/match name = "7.12x82mm match bullet casing" desc = "A 7.12x82mm match bullet casing." diff --git a/code/modules/projectiles/ammunition/ballistic/pistol.dm b/code/modules/projectiles/ammunition/ballistic/pistol.dm index 0f37b5426d2..a7ad4fd7754 100644 --- a/code/modules/projectiles/ammunition/ballistic/pistol.dm +++ b/code/modules/projectiles/ammunition/ballistic/pistol.dm @@ -1,4 +1,4 @@ -// 10mm (Stechkin) +// 10mm (Ringneck) /obj/item/ammo_casing/c10mm name = "10mm bullet casing" @@ -6,7 +6,6 @@ icon_state = "pistol-steel" caliber = "10mm" projectile_type = /obj/projectile/bullet/c10mm - bullet_per_box = 50 /obj/item/ammo_casing/c10mm/surplus name = "10mm surplus bullet casing" @@ -46,7 +45,7 @@ icon_state = "pistol-brass" caliber = "9mm" projectile_type = /obj/projectile/bullet/c9mm - bullet_per_box = 50 + stack_size = 15 /obj/item/ammo_casing/c9mm/surplus name = "9mm surplus bullet casing" @@ -58,7 +57,7 @@ name = "9mm armor-piercing bullet casing" desc = "A 9mm armor-piercing bullet casing." bullet_skin = "ap" - projectile_type =/obj/projectile/bullet/c9mm/ap + projectile_type = /obj/projectile/bullet/c9mm/ap /obj/item/ammo_casing/c9mm/hp name = "9mm hollow point bullet casing" @@ -86,7 +85,7 @@ icon_state = "pistol-steel" caliber = ".45" projectile_type = /obj/projectile/bullet/c45 - bullet_per_box = 50 + stack_size = 12 /obj/item/ammo_casing/c45/surplus name = ".45 surplus bullet casing" @@ -106,12 +105,6 @@ bullet_skin = "hollow" projectile_type = /obj/projectile/bullet/c45/hp -/obj/item/ammo_casing/c45/inc - name = ".45 incendiary bullet casing" - desc = "A .45 incendiary bullet casing." - bullet_skin = "incen" - projectile_type = /obj/projectile/bullet/incendiary/c45 - /obj/item/ammo_casing/c45/rubber name = ".45 rubber bullet casing" desc = "A .45 rubber bullet casing." @@ -125,18 +118,35 @@ desc = "A .50 AE bullet casing." caliber = ".50 AE" projectile_type = /obj/projectile/bullet/a50AE - bullet_per_box = 20 /obj/item/ammo_casing/a50AE/hp name = ".50 AE hollow point bullet casing" desc = "A .50 AE hollow point bullet casing." projectile_type = /obj/projectile/bullet/a50AE/hp -// .22 LR (Himehabu) +// .22 LR (Himehabu, Pounder) + /obj/item/ammo_casing/c22lr name = ".22 LR bullet casing" desc = "A .22 LR bullet casing." projectile_type = /obj/projectile/bullet/c22lr caliber = "22lr" - bullet_per_box = 75 + stack_size = 25 + +/obj/item/ammo_casing/c22lr/hp + name = ".22 LR HP bullet casing" + desc = "A .22 LR bullet HP casing." + projectile_type = /obj/projectile/bullet/c22lr/hp + bullet_skin = "hollow" +/obj/item/ammo_casing/c22lr/ap + name = ".22 LR AP bullet casing" + desc = "A .22 LR bullet casing." + projectile_type = /obj/projectile/bullet/c22lr/ap + bullet_skin = "ap" + +/obj/item/ammo_casing/c22lr/rubber + name = ".22 LR rubber bullet casing" + desc = "A .22 LR bullet casing." + projectile_type = /obj/projectile/bullet/c22lr/rubber + bullet_skin = "rubber" diff --git a/code/modules/projectiles/ammunition/ballistic/revolver.dm b/code/modules/projectiles/ammunition/ballistic/revolver.dm index e235e00b98f..60c3722b934 100644 --- a/code/modules/projectiles/ammunition/ballistic/revolver.dm +++ b/code/modules/projectiles/ammunition/ballistic/revolver.dm @@ -6,7 +6,6 @@ caliber = ".357" icon_state = "magnum-brass" projectile_type = /obj/projectile/bullet/a357 - bullet_per_box = 50 /obj/item/ammo_casing/a357/match name = ".357 match bullet casing" @@ -29,7 +28,7 @@ caliber = ".45-70" icon_state = "magnum-brass" projectile_type = /obj/projectile/bullet/a4570 - bullet_per_box = 12 + stack_size = 5 /obj/item/ammo_casing/a4570/match name = ".45-70 match bullet casing" @@ -55,14 +54,12 @@ desc = "A .38 Special bullet casing." caliber = ".38" projectile_type = /obj/projectile/bullet/c38 - bullet_per_box = 50 /obj/item/ammo_casing/c38/surplus name = ".38 surplus bullet casing" desc = "A .38 surplus bullet casing." projectile_type = /obj/projectile/bullet/c38/surplus - /obj/item/ammo_casing/c38/trac name = ".38 TRAC bullet casing" desc = "A .38 \"TRAC\" bullet casing." @@ -79,7 +76,7 @@ name = ".38 rubber bullet casing" desc = "A .38 rubber bullet casing." bullet_skin = "rubber" - projectile_type = /obj/projectile/bullet/c38/match/bouncy + projectile_type = /obj/projectile/bullet/c38/bouncy /obj/item/ammo_casing/c38/dumdum name = ".38 dum-dum bullet casing" @@ -88,14 +85,14 @@ projectile_type = /obj/projectile/bullet/c38/dumdum /obj/item/ammo_casing/c38/hotshot - name = ".38 hot shot bullet casing" - desc = "A .38 hot shot bullet casing." + name = ".38 hearth bullet casing" + desc = "A .38 hearth bullet casing." bullet_skin = "incen" projectile_type = /obj/projectile/bullet/c38/hotshot /obj/item/ammo_casing/c38/iceblox - name = ".38 iceblox bullet casing" - desc = "A .38 iceblox bullet casing." + name = ".38 chilled bullet casing" + desc = "A .38 chilled bullet casing." bullet_skin = "surplus" projectile_type = /obj/projectile/bullet/c38/iceblox diff --git a/code/modules/projectiles/ammunition/ballistic/rifle.dm b/code/modules/projectiles/ammunition/ballistic/rifle.dm index b3875292fba..4a5bd68bea4 100644 --- a/code/modules/projectiles/ammunition/ballistic/rifle.dm +++ b/code/modules/projectiles/ammunition/ballistic/rifle.dm @@ -6,15 +6,25 @@ icon_state = "rifle-brass" caliber = "8x50mmR" projectile_type = /obj/projectile/bullet/a8_50r - bullet_per_box = 20 + stack_size = 10 -/obj/item/ammo_casing/a8_50rhp +/obj/item/ammo_casing/a8_50r/hp name = "8x50mmR hollow point bullet casing" desc = "A 8x50mmR hollow point bullet casing." - icon_state = "rifle-brass-hollow" - caliber = "8x50mmR" - projectile_type = /obj/projectile/bullet/a8_50rhp + bullet_skin = "hollow" + projectile_type = /obj/projectile/bullet/a8_50r/hp + +/obj/item/ammo_casing/a8_50r/match + name = "8x50mmR match bullet casing" + desc = "A 8x50mmR hollow point bullet casing." + bullet_skin = "ap" + projectile_type = /obj/projectile/bullet/a8_50r/match +/obj/item/ammo_casing/a8_50r/trac + name = "8x50mmR tracker casing" + desc = "A 8x50mmR tracker casing." + bullet_skin = "trac" + projectile_type = /obj/projectile/bullet/a8_50r/trac // 8x58mm Caseless (SSG-669C) @@ -24,17 +34,12 @@ icon_state = "caseless" caliber = "a858" projectile_type = /obj/projectile/bullet/a858 - bullet_per_box = 20 - -// .300 Magnum (Smile Rifle) + stack_size = 10 -/obj/item/ammo_casing/a300 - name = ".300 Magnum bullet casing" - desc = "A .300 Magnum bullet casing." - icon_state = "rifle-steel" - caliber = "a300" - projectile_type = /obj/projectile/bullet/a300 - bullet_per_box = 20 +/obj/item/ammo_casing/caseless/a858/trac + name = "8x58mm tracker round" + desc = "A 8x58mm caseless tracker round." + projectile_type = /obj/projectile/bullet/a858/trac // 5.56x39mm (M-90gl Carbine & P-16) @@ -46,23 +51,34 @@ projectile_type = /obj/projectile/bullet/a556_45 bullet_per_box = 80 -// 5.45x39mm (SKM-24v) +// 5.56x42mm CLIP (CM82, Hydra variants) -/obj/item/ammo_casing/a545_39 - name = "5.45x39mm bullet casing" - desc = "A 5.45x39mm bullet casing." +/obj/item/ammo_casing/a556_42 + name = "5.56x42mm CLIP bullet casing" + desc = "A 5.56x42mm CLIP bullet casing." icon_state = "rifle-brass" - caliber = "5.45x39mm" - randomspread = TRUE - projectile_type = /obj/projectile/bullet/a545_39 - bullet_per_box = 80 - -/obj/item/ammo_casing/a545_39/recycled - name = "recycled 5.45x39mm bullet casing" - desc = "A recycled 5.45x39mm bullet casing." - bullet_skin = "surplus" - caliber = "5.45x39mm" - projectile_type = /obj/projectile/bullet/a545_39 + caliber = "5.56x42mm" + projectile_type = /obj/projectile/bullet/a556_42 + stack_size = 15 + +/obj/item/ammo_casing/a556_42/hp + name = "5.56x42mm CLIP HP bullet casing" + desc = "A 5.56x42mm CLIP hollow point bullet casing." + bullet_skin = "hollow" + projectile_type = /obj/projectile/bullet/a556_42/hp + +/obj/item/ammo_casing/a556_42/ap + name = "5.56x42mm CLIP bullet casing" + desc = "A 5.56x42mm CLIP bullet casing." + bullet_skin = "ap" + projectile_type = /obj/projectile/bullet/a556_42/ap + +/obj/item/ammo_casing/a556_42/rubber + name = "5.56x42mm CLIP rubber bullet casing" + desc = "A 5.56x42mm CLIP rubber bullet casing." + bullet_skin = "rubber" + projectile_type = /obj/projectile/bullet/a556_42/rubber + stack_size = 15 // 7.62x40mm CLIP (SKM Rifles) @@ -72,23 +88,25 @@ icon_state = "rifle-brass" caliber = "7.62x40mm" projectile_type = /obj/projectile/bullet/a762_40 - bullet_per_box = 80 - -// .300 Blackout (Polymer Survivor Rifle) - -/obj/item/ammo_casing/aac_300blk - name = ".300 BLK bullet casing" - desc = "A .300 Blackout bullet casing." - icon_state = "rifle-steel" - caliber = ".300 BLK" - projectile_type = /obj/projectile/bullet/aac_300blk - bullet_per_box = 20 - -/obj/item/ammo_casing/aac_300blk/recycled - name = "recycled .300 BLK bullet casing" - desc = "A recycled .300 Blackout bullet casing." - caliber = ".300 BLK" - projectile_type = /obj/projectile/bullet/aac_300blk + stack_size = 15 + +/obj/item/ammo_casing/a762_40/hp + name = "7.62x40mm CLIP HP bullet casing" + desc = "A 7.62x40mm CLIP HP bullet casing." + bullet_skin = "hollow" + projectile_type = /obj/projectile/bullet/a762_40/hp + +/obj/item/ammo_casing/a762_40/ap + name = "7.62x40mm CLIP AP bullet casing" + desc = "A 7.62x40mm CLIP AP bullet casing." + bullet_skin = "ap" + projectile_type = /obj/projectile/bullet/a762_40/ap + +/obj/item/ammo_casing/a762_40/rubber + name = "7.62x40mm CLIP rubber bullet casing" + desc = "A 7.62x40mm CLIP rubber bullet casing." + bullet_skin = "rubber" + projectile_type = /obj/projectile/bullet/a762_40/rubber //.308 (M514 EBR & CM-GAL-S) @@ -98,12 +116,26 @@ icon_state = "rifle-brass" caliber = ".308" projectile_type = /obj/projectile/bullet/a308 - bullet_per_box = 20 + stack_size = 10 + +/obj/item/ammo_casing/a308/ap + name = ".308 AP bullet casing" + desc = "A .308 AP bullet casing." + bullet_skin = "ap" + projectile_type = /obj/projectile/bullet/a308/ap + +/obj/item/ammo_casing/a308/hp + name = ".308 HP bullet casing" + desc = "A .308 HP bullet casing." + bullet_skin = "hollow" + projectile_type = /obj/projectile/bullet/a308/hp + +//.299 /obj/item/ammo_casing/caseless/c299 - name = ".229 Eoehoma caseless bullet casing" - desc = "A .229 Eoehoma caseless bullet casing." + name = ".299 Eoehoma caseless bullet casing" + desc = "A .299 Eoehoma caseless bullet casing." icon_state = "caseless" caliber = ".299 caseless" projectile_type = /obj/projectile/bullet/c299 - bullet_per_box = 100 + stack_size = 15 diff --git a/code/modules/projectiles/ammunition/ballistic/shotgun.dm b/code/modules/projectiles/ammunition/ballistic/shotgun.dm index 9f6a8c169ec..1a2590a5b36 100644 --- a/code/modules/projectiles/ammunition/ballistic/shotgun.dm +++ b/code/modules/projectiles/ammunition/ballistic/shotgun.dm @@ -3,12 +3,11 @@ /obj/item/ammo_casing/shotgun name = "shotgun slug" desc = "A 12-gauge lead slug." - icon = 'icons/obj/ammo_shotshells.dmi' icon_state = "slug" caliber = "12ga" custom_materials = list(/datum/material/iron=4000) projectile_type = /obj/projectile/bullet/slug - bullet_per_box = 25 + stack_size = 8 //Make sure this matches max_ammo variable on prefilled stacks (magazine/ammo_stack/prefilled) bounce_sfx_override = 'sound/weapons/gun/general/bulletcasing_shotgun_bounce.ogg' @@ -46,6 +45,13 @@ icon_state = "incendiary" projectile_type = /obj/projectile/bullet/incendiary/shotgun +/obj/item/ammo_casing/shotgun/blank + name = "blank shell" + desc = "A shell packed with powder but no projectile." + icon_state = "blank" + projectile_type = /obj/projectile/bullet/pellet/blank + custom_materials = list(/datum/material/iron=250) + /obj/item/ammo_casing/shotgun/improvised name = "improvised shell" desc = "An extremely weak shotgun shell with multiple small pellets made out of metal shards." diff --git a/code/modules/projectiles/ammunition/ballistic/smg.dm b/code/modules/projectiles/ammunition/ballistic/smg.dm index 74bb35b1ec2..1c0b13fdd36 100644 --- a/code/modules/projectiles/ammunition/ballistic/smg.dm +++ b/code/modules/projectiles/ammunition/ballistic/smg.dm @@ -21,6 +21,69 @@ projectile_type = /obj/projectile/bullet/incendiary/c46x30mm bullet_per_box = 50 +// 5.7x39mm (Asp and Sidewinder) + +/obj/item/ammo_casing/c57x39mm + name = "5.7x39mm bullet casing" + desc = "A 5.7x39mm bullet casing." + icon_state = "rifle-steel" + caliber = "5.7x39mm" + projectile_type = /obj/projectile/bullet/c57x39mm + +/obj/item/ammo_casing/c57x39mm/ap + name = "5.7x39mm armor piercing bullet casing" + desc = "A 5.7x39mm armour-piercing bullet casing." + bullet_skin = "ap" + projectile_type = /obj/projectile/bullet/c57x39mm/ap + +/obj/item/ammo_casing/c57x39mm/hp + name = "5.7x39mm hollow point bullet casing" + desc = "A 5.7x39mm armour-piercing bullet casing." + bullet_skin = "hollow" + projectile_type = /obj/projectile/bullet/c57x39mm/hp + +/obj/item/ammo_casing/c57x39mm/rubber + name = "5.7x39mm rubber bullet casing" + desc = "A 5.7x39mm rubber bullet casing." + bullet_skin = "rubber" + projectile_type = /obj/projectile/bullet/c57x39mm/rubber + +// 4.6x30mm (WT-550 Automatic Rifle & SKM-24v) + +/obj/item/ammo_casing/c46x30mm + name = "4.6x30mm bullet casing" + desc = "A 4.6x30mm bullet casing." + icon_state = "rifle-brass" + caliber = "4.6x30mm" + projectile_type = /obj/projectile/bullet/c46x30mm + stack_size = 15 + +/obj/item/ammo_casing/c46x30mm/recycled + name = "4.6x30mm recycled bullet casing" + desc = "A 4.6x30mm bullet casing." + bullet_skin = "surplus" + caliber = "4.6x30mm" + projectile_type = /obj/projectile/bullet/c46x30mm/recycled + stack_size = 15 + +/obj/item/ammo_casing/c46x30mm/ap + name = "4.6x30mm armor-piercing bullet casing" + desc = "A 4.6x30mm armor-piercing bullet casing." + bullet_skin = "ap" + projectile_type = /obj/projectile/bullet/c46x30mm/ap + +/obj/item/ammo_casing/c46x30mm/hp + name = "4.6x30mm HP bullet casing" + desc = "A 4.6x30mm HP bullet casing." + bullet_skin = "hollow" + projectile_type = /obj/projectile/bullet/c46x30mm/hp + +/obj/item/ammo_casing/c46x30mm/rubber + name = "4.6x30mm rubber bullet casing" + desc = "A 4.6x30mm rubber bullet casing." + bullet_skin = "rubber" + projectile_type = /obj/projectile/bullet/c46x30mm/rubber + // 4.73x33mm caseless (Solar) /obj/item/ammo_casing/caseless/c47x33mm @@ -29,7 +92,6 @@ icon_state = "caseless" caliber = "4.73x33mm caseless" projectile_type = /obj/projectile/bullet/c47x33mm - bullet_per_box = 50 // 5.56mm HITP caseless (Pistole C) diff --git a/code/modules/projectiles/ammunition/ballistic/sniper.dm b/code/modules/projectiles/ammunition/ballistic/sniper.dm index e4b668c2228..d481f4d74d5 100644 --- a/code/modules/projectiles/ammunition/ballistic/sniper.dm +++ b/code/modules/projectiles/ammunition/ballistic/sniper.dm @@ -6,7 +6,6 @@ icon_state = "big-steel" caliber = ".50 BMG" projectile_type = /obj/projectile/bullet/p50 - bullet_per_box = 20 /obj/item/ammo_casing/p50/soporific name = ".50 BMG soporific bullet casing" @@ -20,3 +19,35 @@ desc = "A .50 BMG penetrator bullet casing." bullet_skin = "ap" projectile_type = /obj/projectile/bullet/p50/penetrator + +// .300 Magnum (Smile Rifle) + +/obj/item/ammo_casing/a300 + name = ".300 Magnum bullet casing" + desc = "A .300 Magnum bullet casing." + icon_state = "rifle-steel" + caliber = "a300" + projectile_type = /obj/projectile/bullet/a300 + stack_size = 15 + +/obj/item/ammo_casing/a300/trac + name = ".300 Magnum Trac bullet casing" + desc = "A .300 Magnum Tracker casing." + projectile_type = /obj/projectile/bullet/a300/trac + bullet_skin = "trac" + +//6.5 CLIP + +/obj/item/ammo_casing/a65clip + name = "6.5x57mm CLIP bullet casing" + desc = "A 6.5x57mm CLIP bullet casing." + icon_state = "big-brass" + caliber = "6.5CLIP" + projectile_type = /obj/projectile/bullet/a65clip + stack_size = 5 + +/obj/item/ammo_casing/a65clip/trac + name = "6.5x57mm CLIP tracker" + desc = "A 6.5x57mm CLIP tracker." + projectile_type = /obj/projectile/bullet/a65clip/trac + bullet_skin = "trac" diff --git a/code/modules/projectiles/ammunition/caseless/foam.dm b/code/modules/projectiles/ammunition/caseless/foam.dm index 0051680fd1e..3c71d31eb5e 100644 --- a/code/modules/projectiles/ammunition/caseless/foam.dm +++ b/code/modules/projectiles/ammunition/caseless/foam.dm @@ -9,7 +9,6 @@ custom_materials = list(/datum/material/iron = 11.25) harmful = FALSE var/modified = FALSE - bullet_per_box = 40 /obj/item/ammo_casing/caseless/foam_dart/update_icon_state() . = ..() diff --git a/code/modules/projectiles/ammunition/caseless/rocket.dm b/code/modules/projectiles/ammunition/caseless/rocket.dm index 9ebb6d88f2d..3eccf800def 100644 --- a/code/modules/projectiles/ammunition/caseless/rocket.dm +++ b/code/modules/projectiles/ammunition/caseless/rocket.dm @@ -8,7 +8,7 @@ /obj/item/ammo_casing/caseless/rocket/hedp name = "\improper PM-9HEDP" - desc = "An 84mm High Explosive Dual Purpose rocket. Pointy end toward mechs." + desc = "An 84mm High Explosive Dual Purpose rocket. Pointy end toward armor." caliber = "84mm" icon_state = "84mm-hedp" projectile_type = /obj/projectile/bullet/a84mm diff --git a/code/modules/projectiles/ammunition/energy/laser.dm b/code/modules/projectiles/ammunition/energy/laser.dm index d0334e8d8ac..a256a34270c 100644 --- a/code/modules/projectiles/ammunition/energy/laser.dm +++ b/code/modules/projectiles/ammunition/energy/laser.dm @@ -2,10 +2,19 @@ projectile_type = /obj/projectile/beam/laser select_name = "kill" +/obj/item/ammo_casing/energy/laser/slug + projectile_type = /obj/projectile/beam/laser/slug + select_name = "slug" + delay = 0.9 SECONDS + fire_sound = 'sound/weapons/gun/laser/cs-fire.ogg' + /obj/item/ammo_casing/energy/laser/eoehoma projectile_type = /obj/projectile/beam/laser/eoehoma fire_sound = 'sound/weapons/gun/laser/e-fire.ogg' +/obj/projectile/beam/laser/eoehoma/hermit // Used for the Hermits with E-11 because apparently you can only set it on projectile for simple mobs? That's fun! + spread = 80 + /obj/item/ammo_casing/energy/laser/assault projectile_type = /obj/projectile/beam/laser/assault fire_sound = 'sound/weapons/gun/laser/e40_las.ogg' @@ -28,7 +37,7 @@ fire_sound = 'sound/weapons/gun/laser/e-fire.ogg' /obj/item/ammo_casing/energy/laser/smg - projectile_type = /obj/projectile/beam/laser/weak/negative_ap + projectile_type = /obj/projectile/beam/laser/weak e_cost = 799 //12 shots with a normal power cell, 25 with an upgraded select_name = "kill" delay = 0.13 SECONDS @@ -48,15 +57,16 @@ /obj/item/ammo_casing/energy/laser/scatter projectile_type = /obj/projectile/beam/scatter - pellets = 5 - variance = 25 + pellets = 10 + variance = 40 + e_cost = 1598 //12 shots upgraded cell, 6 with normal cell select_name = "scatter" /obj/item/ammo_casing/energy/laser/ultima - projectile_type = /obj/projectile/beam/laser/weak/negative_ap/low_range - pellets = 3 - variance = 35 - e_cost = 2000 + projectile_type = /obj/projectile/beam/weak + pellets = 6 + variance = 25 + e_cost = 1000 select_name = "kill" /obj/item/ammo_casing/energy/laser/ultima/alt @@ -169,6 +179,11 @@ impact_light_range = 2.5 impact_light_color_override = COLOR_CYAN +/obj/projectile/beam/hitscan/disabler/heavy + damage = 30 + armour_penetration = -10 + + /obj/item/ammo_casing/energy/laser/minigun select_name = "kill" projectile_type = /obj/projectile/beam/weak/penetrator diff --git a/code/modules/projectiles/ammunition/energy/lmg.dm b/code/modules/projectiles/ammunition/energy/lmg.dm index 434b29a1d3f..632fb35785c 100644 --- a/code/modules/projectiles/ammunition/energy/lmg.dm +++ b/code/modules/projectiles/ammunition/energy/lmg.dm @@ -15,13 +15,13 @@ /obj/item/ammo_casing/energy/csour projectile_type = /obj/projectile/bullet/csour select_name = "sour" - fire_sound = 'sound/weapons/gun/shotgun/shot_old.ogg' + fire_sound = 'sound/weapons/gun/shotgun/shot.ogg' e_cost = 50 firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect /obj/item/ammo_casing/energy/csweet projectile_type = /obj/projectile/bullet/csweet select_name = "sweet" - fire_sound = 'sound/weapons/gun/sniper/shot_old.ogg' + fire_sound = 'sound/weapons/gun/sniper/shot.ogg' e_cost = 70 firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect diff --git a/code/modules/projectiles/ammunition/energy/plasma.dm b/code/modules/projectiles/ammunition/energy/plasma.dm index 00de4a90ffe..d593086157f 100644 --- a/code/modules/projectiles/ammunition/energy/plasma.dm +++ b/code/modules/projectiles/ammunition/energy/plasma.dm @@ -2,10 +2,9 @@ projectile_type = /obj/projectile/plasma select_name = "plasma burst" fire_sound = 'sound/weapons/plasma_cutter.ogg' - delay = 15 - e_cost = 25 + delay = 30 + e_cost = 100 /obj/item/ammo_casing/energy/plasma/adv projectile_type = /obj/projectile/plasma/adv - delay = 10 - e_cost = 10 + delay = 20 diff --git a/code/modules/projectiles/ammunition/energy/stun.dm b/code/modules/projectiles/ammunition/energy/stun.dm index 1f74196eb83..1d9eda15866 100644 --- a/code/modules/projectiles/ammunition/energy/stun.dm +++ b/code/modules/projectiles/ammunition/energy/stun.dm @@ -35,10 +35,10 @@ fire_sound = 'sound/weapons/taser.ogg' /obj/item/ammo_casing/energy/disabler/scatter/ultima - projectile_type = /obj/projectile/beam/disabler/weak/negative_ap/low_range + projectile_type = /obj/projectile/beam/disabler/weak/negative_ap pellets = 4 - variance = 35 - e_cost = 2000 + variance = 25 + e_cost = 1000 /obj/item/ammo_casing/energy/disabler/scatter/ultima/alt select_name = "blast" diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 3b1bdbc6eb1..9606536d9f6 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -4,7 +4,7 @@ /obj/item/ammo_box name = "ammo box (null_reference_exception)" desc = "A box of ammo." - icon = 'icons/obj/ammo.dmi' + icon = 'icons/obj/ammunition/ammo.dmi' flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT item_state = "syringe_kit" @@ -26,7 +26,7 @@ ///String, used for checking if ammo of different types but still fits can fit inside it; generally used for magazines var/caliber ///Allows multiple bullets to be loaded in from one click of another box/magazine - var/multiload = TRUE + var/multiload = FALSE ///Whether or not an ammo box skips the do_after process (e.g. speedloaders) var/instant_load = FALSE ///Whether the magazine should start with nothing in it @@ -36,26 +36,52 @@ ///cost of the materials in the magazine/box itself var/list/base_cost -/obj/item/ammo_box/Initialize() +/obj/item/ammo_box/Initialize(mapload, spawn_empty) . = ..() + if(spawn_empty) + start_empty = TRUE if(!base_icon_state) base_icon_state = icon_state - if (!bullet_cost) + + if(!bullet_cost) for (var/material in custom_materials) var/material_amount = custom_materials[material] LAZYSET(base_cost, material, (material_amount * 0.10)) material_amount *= 0.90 // 10% for the container material_amount /= max_ammo - LAZYSET(bullet_cost, material, material_amount) + LAZYSET(bullet_cost, material, material_amount). + if(!start_empty) - for(var/i = 1, i <= max_ammo, i++) - stored_ammo += new ammo_type(src) - update_ammo_count() + top_off(starting = TRUE) + + update_appearance() + +/* + * top_off is used to refill the magazine to max, in case you want to increase the size of a magazine with VV then refill it at once + * Arguments: + * load_type - if you want to specify a specific ammo casing type to load, enter the path here, otherwise it'll use the basic [/obj/item/ammo_box/var/ammo_type]. Must be a compatible round + * starting - Relevant for revolver cylinders, if FALSE then we mind the nulls that represent the empty cylinders (since those nulls don't exist yet if we haven't initialized when this is TRUE) + */ +/obj/item/ammo_box/proc/top_off(load_type, starting=FALSE) + if(!load_type) //this check comes first so not defining an argument means we just go with default ammo + load_type = ammo_type + + var/obj/item/ammo_casing/round_check = load_type + if(!starting && (caliber && initial(round_check.caliber) != caliber) || (!caliber && load_type != ammo_type)) + stack_trace("Tried loading unsupported ammocasing type [load_type] into ammo box [type].") + return + + for(var/i = max(1, stored_ammo.len), i <= max_ammo, i++) + stored_ammo += new round_check(src) + +/obj/item/ammo_box/Destroy() + stored_ammo.Cut() + return ..() ///gets a round from the magazine, if keep is TRUE the round will stay in the gun /obj/item/ammo_box/proc/get_round(keep = FALSE) - if (!stored_ammo.len) + if(!stored_ammo.len) return null else var/b = stored_ammo[stored_ammo.len] @@ -70,7 +96,7 @@ if(!R || (caliber && R.caliber != caliber) || (!caliber && R.type != ammo_type)) return FALSE - if (stored_ammo.len < max_ammo) + if(stored_ammo.len < max_ammo) stored_ammo += R R.forceMove(src) return TRUE @@ -93,12 +119,14 @@ /obj/item/ammo_box/attackby(obj/item/attacking_obj, mob/user, params, silent = FALSE, replace_spent = FALSE) var/num_loaded = 0 + if(!can_load(user)) return + if(istype(attacking_obj, /obj/item/ammo_box)) var/obj/item/ammo_box/attacking_box = attacking_obj for(var/obj/item/ammo_casing/casing_to_insert in attacking_box.stored_ammo) - if(!((instant_load && attacking_box.instant_load) || (stored_ammo.len >= max_ammo) || do_after(user, 1 SECONDS, attacking_box))) + if(!((instant_load && attacking_box.instant_load) || (stored_ammo.len >= max_ammo) || istype(attacking_obj, /obj/item/ammo_box/magazine/ammo_stack) && do_after(user, 0.5 SECONDS, attacking_box, timed_action_flags = IGNORE_USER_LOC_CHANGE))) break var/did_load = give_round(casing_to_insert, replace_spent) if(!did_load) @@ -114,17 +142,37 @@ var/obj/item/ammo_casing/casing_to_insert = attacking_obj if(give_round(casing_to_insert, replace_spent)) user.transferItemToLoc(casing_to_insert, src, TRUE) - if(!silent) - playsound(casing_to_insert, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) num_loaded++ + casing_to_insert.update_appearance() update_ammo_count() - if(num_loaded) if(!silent) - to_chat(user, "You load [num_loaded] cartridge\s into \the [src]!") + to_chat(user, span_notice("You load [num_loaded] cartridge\s into \the [src]!")) + playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) return num_loaded +/obj/item/ammo_box/afterattack(atom/target, mob/user, proximity_flag, click_parameters) + . = ..() + var/num_loaded = 0 + var/obj/item/storage/belt/bandolier/to_load + if(istype(target,/obj/item/storage/belt/bandolier)) + to_load = target + var/datum/component/storage/storage_to_load = to_load.GetComponent(/datum/component/storage) + for(var/obj/item/ammo_casing/casing_to_insert in stored_ammo) + if(!((to_load.contents.len >= storage_to_load.get_max_volume()) || do_after(user, 0.5 SECONDS, src))) + break + if(!storage_to_load.can_be_inserted(casing_to_insert,TRUE,user)) + break + storage_to_load.handle_item_insertion(casing_to_insert,TRUE,user) + stored_ammo -= casing_to_insert + playsound(get_turf(src), 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) + num_loaded++ + update_ammo_count() + if(num_loaded) + to_chat(user, "You load [num_loaded] cartridge\s into \the [to_load]!") + return + /obj/item/ammo_box/attack_self(mob/user) var/obj/item/ammo_casing/A = get_round() if(!A) @@ -135,7 +183,7 @@ if(!(user.is_holding(src) || H.l_store == src || H.r_store == src) || !user.put_in_hands(A)) //incase they're using TK A.bounce_away(FALSE, NONE) playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) - to_chat(user, "You remove a round from [src]!") + to_chat(user, span_notice("You remove a round from [src]!")) update_ammo_count() /// Updates the materials and appearance of this ammo box @@ -198,6 +246,7 @@ var/list/L = stored_ammo.Copy() if(drop_list) stored_ammo.Cut() + update_ammo_count() return L ///drops the entire contents of the magazine on the floor @@ -206,6 +255,7 @@ for(var/obj/item/ammo in stored_ammo) ammo.forceMove(turf_mag) stored_ammo -= ammo + update_ammo_count() /obj/item/ammo_box/magazine/handle_atom_del(atom/A) stored_ammo -= A diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm deleted file mode 100644 index 955856704ac..00000000000 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ /dev/null @@ -1,506 +0,0 @@ -// .357 Speed Loaders (Syndicate Revolver) - -/obj/item/ammo_box/a357 - name = "speed loader (.357)" - desc = "A 7-round speed loader for quickly reloading .357 revolvers. These rounds do good damage with average performance against armor." - icon_state = "speedloader_357-7" - base_icon_state = "speedloader_357" - ammo_type = /obj/item/ammo_casing/a357 - caliber = ".357" - max_ammo = 7 - multiple_sprites = AMMO_BOX_PER_BULLET - item_flags = NO_MAT_REDEMPTION - w_class = WEIGHT_CLASS_TINY - instant_load = TRUE - -/obj/item/ammo_box/a357/empty - start_empty = TRUE - -/obj/item/ammo_box/a357/match - name = "speed loader (.357 match)" - desc = "A 7-round speed loader for quickly reloading .357 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." - ammo_type = /obj/item/ammo_casing/a357/match - -/obj/item/ammo_box/a357/hp - name = "speed loader (.357 hollow point)" - desc = "A 7-round speed loader for quickly reloading .357 revolvers. These hollow point rounds do incredible damage against soft targets, but are nearly ineffective against armored ones." - ammo_type = /obj/item/ammo_casing/a357/hp - -/obj/item/ammo_box/a357_box - name = "ammo box (.357)" - desc = "A box of standard .357 ammo." - icon_state = "357box" - ammo_type = /obj/item/ammo_casing/a357 - max_ammo = 50 - -/obj/item/ammo_box/a357_box/match - name = "ammo box (.357)" - desc = "A box of match .357 ammo." - icon_state = "357box-match" - ammo_type = /obj/item/ammo_casing/a357/match - max_ammo = 50 - -/obj/item/ammo_box/a357_box/hp - name = "ammo box (.357)" - desc = "A box of hollow point .357 ammo." - icon_state = "357box-hp" - ammo_type = /obj/item/ammo_casing/a357/hp - max_ammo = 50 - - -// .45-70 Ammo Holders (Hunting Revolver) - -/obj/item/ammo_box/a4570 - name = "ammo box (.45-70)" - desc = "A box of top grade .45-70 ammo. These rounds do significant damage with average performance against armor." - icon_state = "4570" - ammo_type = /obj/item/ammo_casing/a4570 - max_ammo = 12 - -/obj/item/ammo_box/a4570/match - name = "ammo box (.45-70 match)" - desc = "A 12-round ammo box for .45-70 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." - icon_state = "4570-match" - ammo_type = /obj/item/ammo_casing/a4570/match - - -/obj/item/ammo_box/a4570/hp - name = "ammo box (.45-70 hollow point)" - desc = "A 12-round ammo box for .45-70 revolvers. These hollow point rounds do legendary damage against soft targets, but are nearly ineffective against armored ones." - icon_state = "4570-hp" - ammo_type = /obj/item/ammo_casing/a4570/hp - -/obj/item/ammo_box/a4570/explosive - name = "ammo box (.45-70 explosive)" - desc = "A 12-round ammo box for .45-70 revolvers. These explosive rounds contain a small explosive charge that detonates on impact, creating large wounds and potentially removing limbs." - icon_state = "4570-explosive" - ammo_type = /obj/item/ammo_casing/a4570/explosive - - -// .38 special Speed Loaders (Colt Detective Special) - -/obj/item/ammo_box/c38 - name = "speed loader (.38 special)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These rounds do okay damage, but struggle against armor." - icon_state = "speedloader_38-6" - base_icon_state = "speedloader_38" - ammo_type = /obj/item/ammo_casing/c38 - caliber = ".38" - max_ammo = 6 - multiple_sprites = AMMO_BOX_PER_BULLET - custom_materials = list(/datum/material/iron = 15000) - w_class = WEIGHT_CLASS_TINY - instant_load = TRUE - -/obj/item/ammo_box/c38/trac - name = "speed loader (.38 TRAC)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These TRAC rounds do pitiful damage, but embed a tracking device in targets hit." - ammo_type = /obj/item/ammo_casing/c38/trac - -/obj/item/ammo_box/c38/match - name = "speed loader (.38 match)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." - ammo_type = /obj/item/ammo_casing/c38/match - -/obj/item/ammo_box/c38/match/bouncy - name = "speed loader (.38 rubber)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These rounds are incredibly bouncy and MOSTLY nonlethal, making them great to show off trickshots with." - ammo_type = /obj/item/ammo_casing/c38/match/bouncy - -/obj/item/ammo_box/c38/dumdum - name = "speed loader (.38 dum-dum)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These dum-dum bullets shatter on impact and embed in the target's innards. However, they're nearly ineffective against armor and do okay damage." - ammo_type = /obj/item/ammo_casing/c38/dumdum - -/obj/item/ammo_box/c38/hotshot - name = "speed loader (.38 hot shot)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These hot shot bullets contain an incendiary payload that set targets alight." - ammo_type = /obj/item/ammo_casing/c38/hotshot - -/obj/item/ammo_box/c38/iceblox - name = "speed loader (.38 iceblox)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These iceblox bullets contain a cryogenic payload that chills targets." - ammo_type = /obj/item/ammo_casing/c38/iceblox - -/obj/item/ammo_box/c38/empty - start_empty = TRUE - -// 8x58mm Stripper Clip (SSG-669C) - -/obj/item/ammo_box/a858 - name = "stripper clip (8x58mm)" - desc = "A 5-round stripper clip for the SSG-669C rifle. These rounds do good damage with significant armor penetration." - icon_state = "enbloc_858" - ammo_type = /obj/item/ammo_casing/caseless/a858 - max_ammo = 5 - multiple_sprites = AMMO_BOX_PER_BULLET - instant_load = TRUE - -// .308 Stripper Clip (Vickland) - -/obj/item/ammo_box/vickland_a308 - name = "stripper clip (.308)" - desc = "A 5-round stripper clip for the Vickland Battle Rifle. The Vickland itself has a 10 round capacity, so keep in mind two of these are needed to fully reload it. These rounds do good damage with significant armor penetration." - icon_state = "stripper_308-5" - base_icon_state = "stripper_308" - ammo_type = /obj/item/ammo_casing/a308 - max_ammo = 5 - multiple_sprites = AMMO_BOX_PER_BULLET - w_class = WEIGHT_CLASS_TINY - instant_load = TRUE - - -// .300 Magnum Stripper Clip (Scout) - -/obj/item/ammo_box/a300 - name = "stripper clip (.300 Magnum)" - desc = "A 5-round stripper clip for the Scout Rifle. These rounds do great damage with significant armor penetration." - icon_state = "300m" - ammo_type = /obj/item/ammo_casing/a300 - max_ammo = 5 - multiple_sprites = AMMO_BOX_PER_BULLET - w_class = WEIGHT_CLASS_TINY - instant_load = TRUE - -/obj/item/ammo_box/a300/empty - start_empty = TRUE -// .300 Blackout Stripper Clip (Polymer Survivor Rifle) - -/obj/item/ammo_box/aac_300blk_stripper - name = "stripper clip (.300 BLK)" - desc = "A 5-round stripper clip for makeshift bolt-action rifles. These rounds do good damage with good armor penetration." - icon_state = "300m" - ammo_type = /obj/item/ammo_casing/aac_300blk - caliber = ".300 BLK" - max_ammo = 5 - multiple_sprites = AMMO_BOX_PER_BULLET - w_class = WEIGHT_CLASS_TINY - instant_load = TRUE - -// Ferromagnetic Pellet Speed Loader (Claris) - -/obj/item/ammo_box/amagpellet_claris - name = "\improper Claris speed loader (ferromagnetic pellet)" - desc = "A 22-round speed loader for quickly reloading the Claris rifle. Ferromagnetic pellets do okay damage with significant armor penetration." - icon_state = "claris-sl-1" - base_icon_state = "claris-sl" - ammo_type = /obj/item/ammo_casing/caseless/gauss - max_ammo = 22 - multiple_sprites = AMMO_BOX_FULL_EMPTY - item_flags = NO_MAT_REDEMPTION - instant_load = TRUE - -// Ammo Boxes - -/obj/item/ammo_box/c38_box - name = "ammo box (.38)" - desc = "A box of standard .38 Special ammo." - icon_state = "38box" - ammo_type = /obj/item/ammo_casing/c38 - max_ammo = 50 - -/obj/item/ammo_box/c38_box/surplus - name = "ammo box (.38 surplus)" - desc = "A box of low-quality .38 Special ammo." - icon_state = "38box-surplus" - ammo_type = /obj/item/ammo_casing/c38/surplus - -/obj/item/ammo_box/a12g - name = "ammo box (12g buckshot)" - desc = "A box of 12-gauge buckshot shells, devastating at close range." - icon_state = "12gbox-buckshot" - ammo_type = /obj/item/ammo_casing/shotgun/buckshot - max_ammo = 25 - -/obj/item/ammo_box/a12g/slug - name = "ammo box (12g slug)" - desc = "A box of 12-gauge slugs, for improved accuracy and penetration." - icon_state = "12gbox-slug" - ammo_type = /obj/item/ammo_casing/shotgun - -/obj/item/ammo_box/a12g/beanbag - name = "ammo box (12g beanbag)" - desc = "A box of 12-gauge beanbag shells, for incapacitating targets." - icon_state = "12gbox-beanbag" - ammo_type = /obj/item/ammo_casing/shotgun/beanbag - -/obj/item/ammo_box/a12g/rubbershot - name = "ammo box (12g rubbershot)" - desc = "A box of 12-gauge rubbershot shells, designed for riot control." - icon_state = "12gbox-rubbershot" - ammo_type = /obj/item/ammo_casing/shotgun/rubbershot - -/obj/item/ammo_box/c9mm - name = "ammo box (9mm)" - desc = "A box of standard 9mm ammo." - icon_state = "9mmbox" - ammo_type = /obj/item/ammo_casing/c9mm - max_ammo = 50 - -/obj/item/ammo_box/c9mm/surplus - name = "ammo box (9mm surplus)" - desc = "A box of low-quality 9mm ammo." - icon_state = "9mmbox-surplus" - ammo_type = /obj/item/ammo_casing/c9mm/surplus - -/obj/item/ammo_box/c9mm/rubbershot - name = "ammo box (9mm rubbershot)" - desc = "A box of 9mm rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "9mmbox-rubbershot" - ammo_type = /obj/item/ammo_casing/c9mm/rubber - -/obj/item/ammo_box/c9mm/ap - name = "ammo box (9mm armor-piercing)" - desc = "A box of 9mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." - icon_state = "9mmbox-ap" - ammo_type = /obj/item/ammo_casing/c9mm/ap - -/obj/item/ammo_box/c9mm/hp - name = "ammo box (9mm hollow point)" - desc = "A box of 9mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." - icon_state = "9mmbox-hp" - ammo_type = /obj/item/ammo_casing/c9mm/hp - -/obj/item/ammo_box/c9mm/fire - name = "ammo box (9mm incendiary)" - desc = "A box of 9mm incendiary ammo, designed to ignite targets at the cost of initial damage." - icon_state = "9mmbox-incendiary" - ammo_type = /obj/item/ammo_casing/c9mm/inc - -/obj/item/ammo_box/c10mm - name = "ammo box (10mm)" - desc = "A box of standard 10mm ammo." - icon_state = "10mmbox" - ammo_type = /obj/item/ammo_casing/c10mm - max_ammo = 50 - -/obj/item/ammo_box/c10mm/surplus - name = "ammo box (10mm surplus)" - desc = "A box of low-quality 10mm ammo." - icon_state = "10mmbox-surplus" - ammo_type = /obj/item/ammo_casing/c10mm/surplus - -/obj/item/ammo_box/c10mm/rubbershot - name = "ammo box (10mm rubbershot)" - desc = "A box of 10mm rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "10mmbox-rubbershot" - ammo_type = /obj/item/ammo_casing/c9mm/rubber - -/obj/item/ammo_box/c10mm/ap - name = "ammo box (10mm armor-piercing)" - desc = "A box of 10mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." - icon_state = "10mmbox-ap" - ammo_type = /obj/item/ammo_casing/c10mm/ap - -/obj/item/ammo_box/c10mm/hp - name = "ammo box (10mm hollow point)" - desc = "A box of 10mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." - icon_state = "10mmbox-hp" - ammo_type = /obj/item/ammo_casing/c10mm/hp - -/obj/item/ammo_box/c10mm/fire - name = "ammo box (10mm incendiary)" - desc = "A box of 10mm incendiary ammo, designed to ignite targets at the cost of initial damage." - icon_state = "10mmbox-incendiary" - ammo_type = /obj/item/ammo_casing/c10mm/inc - -/obj/item/ammo_box/c45 - name = "ammo box (.45)" - desc = "A box of standard .45 ammo." - icon_state = "45box" - ammo_type = /obj/item/ammo_casing/c45 - max_ammo = 50 - -/obj/item/ammo_box/c45/surplus - name = "ammo box (.45 surplus)" - desc = "A box of low-quality .45 ammo." - icon_state = "45box-surplus" - ammo_type = /obj/item/ammo_casing/c45/surplus - -/obj/item/ammo_box/c45/rubbershot - name = "ammo box (.45 rubbershot)" - desc = "A box of .45 rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "45box-rubbershot" - ammo_type = /obj/item/ammo_casing/c45/rubber - -/obj/item/ammo_box/c45/ap - name = "ammo box (.45 armor-piercing)" - desc = "A box of .45 armor-piercing ammo, designed to penetrate through armor at the cost of total damage." - icon_state = "45box-ap" - ammo_type = /obj/item/ammo_casing/c45/ap - -/obj/item/ammo_box/c45/hp - name = "ammo box (.45 hollow point)" - desc = "A box of .45 hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." - icon_state = "45box-hp" - ammo_type = /obj/item/ammo_casing/c45/hp - -/obj/item/ammo_box/c45/fire - name = "ammo box (.45 incendiary)" - desc = "A box of .45 incendiary ammo, designed to ignite targets at the cost of initial damage." - icon_state = "45box-incendiary" - ammo_type = /obj/item/ammo_casing/c45/inc - -/obj/item/ammo_box/c556mmHITP - name = "ammo box (5.56mm HITP caseless)" - desc = "A box of 5.56mm HITP caseless ammo, a SolGov standard." - icon_state = "556mmHITPbox" - ammo_type = /obj/item/ammo_casing/caseless/c556mm - max_ammo = 50 - -/obj/item/ammo_box/c556mmHITP/surplus - name = "ammo box (5.56mm HITP caseless surplus)" - desc = "A box of low-quality 5.56mm HITP caseless ammo." - icon_state = "556mmHITPbox-surplus" - ammo_type = /obj/item/ammo_casing/caseless/c556mm/surplus - -/obj/item/ammo_box/c556mmHITP/rubbershot - name = "ammo box (5.56mm HITP caseless rubbershot)" - desc = "A box of 5.56mm HITP caseless rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "556mmHITPbox-rubbershot" - ammo_type = /obj/item/ammo_casing/caseless/c556mm/rubbershot - -/obj/item/ammo_box/c556mmHITP/ap - name = "ammo box (5.56mm HITP caseless armor-piercing)" - desc = "A box of 5.56mm HITP caseless armor-piercing ammo, designed to penetrate through armor at the cost of total damage." - icon_state = "556mmHITPbox-ap" - ammo_type = /obj/item/ammo_casing/caseless/c556mm/ap - -/obj/item/ammo_box/c556mmHITP/hp - name = "ammo box (5.56mm HITP caseless hollow point)" - desc = "A box of 5.56mm HITP caseless hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." - icon_state = "556mmHITPbox-hp" - ammo_type = /obj/item/ammo_casing/caseless/c556mm/hp - -/obj/item/ammo_box/a40mm - name = "ammo box (40mm grenades)" - icon_state = "40mm" - ammo_type = /obj/item/ammo_casing/a40mm - max_ammo = 4 - multiple_sprites = AMMO_BOX_PER_BULLET - w_class = WEIGHT_CLASS_NORMAL - -/obj/item/ammo_box/a762_40 - name = "ammo box (7.62x40mm CLIP)" - icon_state = "a762_40box_big" - ammo_type = /obj/item/ammo_casing/a762_40 - max_ammo = 120 - w_class = WEIGHT_CLASS_NORMAL - -/obj/item/ammo_box/a762_40/inteq - icon_state = "a762_40box_big_inteq" - -/obj/item/ammo_box/a308 - name = "ammo box (.308)" - icon_state = "a308box" - ammo_type = /obj/item/ammo_casing/a308 - max_ammo = 30 - -/obj/item/ammo_box/a308/hunterspride //just an alternative graphic for srm ships - icon_state = "a308box-HP" - -/obj/item/ammo_box/foambox - name = "ammo box (Foam Darts)" - icon = 'icons/obj/guns/toy.dmi' - icon_state = "foambox" - ammo_type = /obj/item/ammo_casing/caseless/foam_dart - max_ammo = 40 - custom_materials = list(/datum/material/iron = 500) - -/obj/item/ammo_box/foambox/riot - icon_state = "foambox_riot" - ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot - custom_materials = list(/datum/material/iron = 50000) - -/obj/item/ammo_box/c22lr_box - name = "ammo box (.22 LR)" - desc = "A box of standard .22 LR ammo." - icon_state = "22lrbox" - ammo_type = /obj/item/ammo_casing/c22lr - max_ammo = 75 - -/obj/item/ammo_box/a44roum_speedloader - name = "speed loader (.44)" - desc = "Designed to quickly reload revolvers." - icon_state = "speedloader_38-6" - base_icon_state = "speedloader_38" - ammo_type = /obj/item/ammo_casing/a44roum - caliber = ".44 Roumain" - max_ammo = 6 - multiple_sprites = AMMO_BOX_PER_BULLET - custom_materials = list(/datum/material/iron = 15000) - w_class = WEIGHT_CLASS_TINY - instant_load = TRUE - -/obj/item/ammo_box/a44roum_speedloader/empty - start_empty = TRUE - -/obj/item/ammo_box/c46x30mm_box - name = "ammo box (4.6x30mm)" - desc = "A box of standard 4.6x30mm ammo." - icon_state = "46x30mmbox" - ammo_type = /obj/item/ammo_casing/c46x30mm - max_ammo = 50 - -/obj/item/ammo_box/c8x50mm_box - name = "ammo box (8x50mm)" - desc = "A box of standard 8x50mm ammo." - icon_state = "8x50mmbox" - ammo_type = /obj/item/ammo_casing/a8_50r - max_ammo = 20 - -/obj/item/ammo_box/ferropelletbox - name = "ammo box (ferromagnetic pellets)" - desc = "A box of ferromagnetic pellets." - icon_state = "ferropelletsbox" - ammo_type = /obj/item/ammo_casing/caseless/gauss - max_ammo = 50 - -/obj/item/ammo_box/ferroslugbox - name = "ammo box (ferromagnetic slugs)" - desc = "A box of standard ferromagnetic slugs." - icon_state = "ferroslugsbox" - ammo_type = /obj/item/ammo_casing/caseless/gauss/slug - max_ammo = 20 - -/obj/item/ammo_box/ferrolancebox - name = "ammo box (ferromagnetic lances)" - desc = "A box of standard ferromagnetic lances." - icon_state = "ferrolancesbox" - ammo_type = /obj/item/ammo_casing/caseless/gauss/lance - max_ammo = 50 - -/obj/item/ammo_box/c8x50mmhp_box - name = "ammo box (8x50mm)" - desc = "A box of hollow point 8x50mm ammo, designed to cause massive damage at the cost of armor penetration." - icon_state = "8x50mmbox-hp" - ammo_type = /obj/item/ammo_casing/a8_50rhp - max_ammo = 20 - -/obj/item/ammo_box/a300_box - name = "ammo box (.300 Magnum)" - desc = "A box of standard .300 Magnum ammo." - icon_state = "300box" - ammo_type = /obj/item/ammo_casing/a300 - max_ammo = 20 - -/obj/item/ammo_box/a44roum - name = "ammo box (.44 roumain)" - desc = "A box of standard .44 roumain ammo." - icon_state = "a44roum" - ammo_type = /obj/item/ammo_casing/a44roum - max_ammo = 50 - -/obj/item/ammo_box/a44roum/rubber - name = "ammo box (.44 roumain rubber)" - desc = "A box of .44 roumain rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "a44roum-rubber" - ammo_type = /obj/item/ammo_casing/a44roum/rubber - max_ammo = 50 - -/obj/item/ammo_box/a44roum/hp - name = "ammo box (.44 roumain hollow point)" - desc = "A box of .44 roumain hollow point ammo, designed to cause massive damage at the cost of armor penetration." - icon_state = "a44roum-hp" - ammo_type = /obj/item/ammo_casing/a44roum/hp - max_ammo = 50 diff --git a/code/modules/projectiles/boxes_magazines/ammo_loaders.dm b/code/modules/projectiles/boxes_magazines/ammo_loaders.dm new file mode 100644 index 00000000000..5e4b1ae7e7f --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_loaders.dm @@ -0,0 +1,182 @@ +// .357 Speed Loaders + +/obj/item/ammo_box/a357 + name = "speed loader (.357)" + desc = "A 6-round speed loader for quickly reloading .357 revolvers. These rounds do good damage with average performance against armor." + icon_state = "speedloader_357-6" + base_icon_state = "speedloader_357" + ammo_type = /obj/item/ammo_casing/a357 + caliber = ".357" + max_ammo = 6 + multiple_sprites = AMMO_BOX_PER_BULLET + item_flags = NO_MAT_REDEMPTION + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE + +/obj/item/ammo_box/a357/empty + start_empty = TRUE + +/obj/item/ammo_box/a357/match + name = "speed loader (.357 match)" + desc = "A 6-round speed loader for quickly reloading .357 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." + ammo_type = /obj/item/ammo_casing/a357/match + +/obj/item/ammo_box/a357/hp + name = "speed loader (.357 hollow point)" + desc = "A 6-round speed loader for quickly reloading .357 revolvers. These hollow point rounds do incredible damage against soft targets, but are nearly ineffective against armored ones." + ammo_type = /obj/item/ammo_casing/a357/hp + +// .38 special Speed Loaders + +/obj/item/ammo_box/c38 + name = "speed loader (.38 special)" + desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These rounds do okay damage, but struggle against armor." + icon_state = "speedloader_38-6" + base_icon_state = "speedloader_38" + ammo_type = /obj/item/ammo_casing/c38 + caliber = ".38" + max_ammo = 6 + multiple_sprites = AMMO_BOX_PER_BULLET + custom_materials = list(/datum/material/iron = 15000) + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE + +/obj/item/ammo_box/c38/empty + start_empty = TRUE + +/obj/item/ammo_box/c38/trac + name = "speed loader (.38 TRAC)" + desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These TRAC rounds do pitiful damage, but embed a tracking device in targets hit." + ammo_type = /obj/item/ammo_casing/c38/trac + +/obj/item/ammo_box/c38/match + name = "speed loader (.38 match)" + desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." + ammo_type = /obj/item/ammo_casing/c38/match + +/obj/item/ammo_box/c38/match/bouncy + name = "speed loader (.38 rubber)" + desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These rounds are incredibly bouncy and MOSTLY nonlethal, making them great to show off trickshots with." + ammo_type = /obj/item/ammo_casing/c38/match/bouncy + +/obj/item/ammo_box/c38/dumdum + name = "speed loader (.38 dum-dum)" + desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These dum-dum bullets shatter on impact and embed in the target's innards. However, they're nearly ineffective against armor and do okay damage." + ammo_type = /obj/item/ammo_casing/c38/dumdum + +/obj/item/ammo_box/c38/hotshot + name = "speed loader (.38 hot shot)" + desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These hot shot bullets contain an incendiary payload that set targets alight." + ammo_type = /obj/item/ammo_casing/c38/hotshot + +/obj/item/ammo_box/c38/iceblox + name = "speed loader (.38 iceblox)" + desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These iceblox bullets contain a cryogenic payload that chills targets." + ammo_type = /obj/item/ammo_casing/c38/iceblox + +/obj/item/ammo_box/c38/empty + start_empty = TRUE + +// 8x58mm Stripper Clip + +/obj/item/ammo_box/a858 + name = "stripper clip (8x58mm)" + desc = "A 5-round stripper clip for the SSG-669C rifle. These rounds do good damage with significant armor penetration." + icon_state = "enbloc_858" + ammo_type = /obj/item/ammo_casing/caseless/a858 + max_ammo = 5 + multiple_sprites = AMMO_BOX_PER_BULLET + instant_load = TRUE + +/obj/item/ammo_box/a858/empty + start_empty = TRUE + +// .308 Stripper Clip + +/obj/item/ammo_box/vickland_a308 + name = "stripper clip (.308)" + desc = "A 5-round stripper clip for the Vickland Battle Rifle. The Vickland itself has a 10 round capacity, so keep in mind two of these are needed to fully reload it. These rounds do good damage with significant armor penetration." + icon_state = "stripper_308-5" + base_icon_state = "stripper_308" + ammo_type = /obj/item/ammo_casing/a308 + max_ammo = 5 + multiple_sprites = AMMO_BOX_PER_BULLET + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE + +/obj/item/ammo_box/vickland_a308/empty + start_empty = TRUE + +// .300 Magnum Stripper Clip + +/obj/item/ammo_box/a300 + name = "stripper clip (.300 Magnum)" + desc = "A 5-round stripper clip for the Scout Rifle. These rounds do great damage with significant armor penetration." + icon_state = "300m" + ammo_type = /obj/item/ammo_casing/a300 + max_ammo = 5 + multiple_sprites = AMMO_BOX_PER_BULLET + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE + +/obj/item/ammo_box/a300/empty + start_empty = TRUE + +// .300 Blackout Stripper Clip + +/obj/item/ammo_box/a762_stripper + name = "stripper clip (7.62)" + desc = "A 5-round stripper clip for makeshift bolt-action rifles. These rounds do good damage with good armor penetration." + icon_state = "stripper_308-5" + base_icon_state = "stripper_308" + ammo_type = /obj/item/ammo_casing/a762_40 + caliber = "7.62x40mm" + max_ammo = 5 + multiple_sprites = AMMO_BOX_PER_BULLET + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE + +/obj/item/ammo_box/a762_stripper/empty + start_empty = TRUE + +// Ferromagnetic Pellet Speed Loader + +/obj/item/ammo_box/amagpellet_claris + name = "\improper Claris speed loader (ferromagnetic pellet)" + desc = "A 22-round speed loader for quickly reloading the Claris rifle. Ferromagnetic pellets do okay damage with significant armor penetration." + icon_state = "claris-sl-1" + base_icon_state = "claris-sl" + ammo_type = /obj/item/ammo_casing/caseless/gauss + max_ammo = 22 + multiple_sprites = AMMO_BOX_FULL_EMPTY + item_flags = NO_MAT_REDEMPTION + instant_load = TRUE + +/obj/item/ammo_box/amagpellet_claris/empty + start_empty = TRUE + +/obj/item/ammo_box/a40mm + name = "ammo box (40mm grenades)" + icon_state = "40mm" + ammo_type = /obj/item/ammo_casing/a40mm + max_ammo = 4 + multiple_sprites = AMMO_BOX_PER_BULLET + w_class = WEIGHT_CLASS_NORMAL + +// .44 Roumain speedloader + +/obj/item/ammo_box/a44roum_speedloader + name = "speed loader (.44)" + desc = "Designed to quickly reload revolvers." + icon_state = "speedloader_38-6" + base_icon_state = "speedloader_38" + ammo_type = /obj/item/ammo_casing/a44roum + caliber = ".44 Roumain" + max_ammo = 6 + multiple_sprites = AMMO_BOX_PER_BULLET + custom_materials = list(/datum/material/iron = 15000) + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE + +/obj/item/ammo_box/a44roum_speedloader/empty + start_empty = TRUE diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/_ammo_stack.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/_ammo_stack.dm new file mode 100644 index 00000000000..f1e84780cb1 --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/_ammo_stack.dm @@ -0,0 +1,82 @@ +/** + * The ammo stack object itself, making this a magazine was the easiest way to handle it + * Practically every casing type needs an associated ammo stack type, because that was the easiest + * way for me to handle it. + */ +/obj/item/ammo_box/magazine/ammo_stack + name = "ammo stack" + desc = "A pile of live rounds." + icon = 'icons/obj/ammunition/ammo_bullets.dmi' + icon_state = "pistol-brass" + base_icon_state = "pistol-brass" + item_flags = NO_PIXEL_RANDOM_DROP + multiple_sprites = AMMO_BOX_ONE_SPRITE + multiload = FALSE + start_empty = TRUE + max_ammo = 12 + +/obj/item/ammo_box/magazine/ammo_stack/update_icon(updates) + icon = initial(icon) + cut_overlays() + return ..() + +/obj/item/ammo_box/magazine/ammo_stack/update_icon_state() + . = ..() + cut_overlays() + icon_state = "" + for(var/casing in stored_ammo) + var/image/bullet = image(initial(icon), src, "[base_icon_state]") + bullet.pixel_x = rand(-8, 8) + bullet.pixel_y = rand(-8, 8) + bullet.transform = bullet.transform.Turn(round(45 * rand(0, 32) / 2)) //this is the equation Eris uses on their bullet stacks + add_overlay(bullet) + return UPDATE_ICON_STATE | UPDATE_OVERLAYS + +/obj/item/ammo_box/magazine/ammo_stack/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + . = ..() + var/loc_before_del = loc + while(LAZYLEN(stored_ammo)) + var/obj/item/ammo = get_round(FALSE) + ammo.forceMove(loc_before_del) + ammo.throw_at(loc_before_del) + update_ammo_count() + +/obj/item/ammo_box/magazine/ammo_stack/update_ammo_count() + . = ..() + check_for_del() + +/obj/item/ammo_box/magazine/ammo_stack/proc/check_for_del() + . = FALSE + if((ammo_count() <= 0) && !QDELETED(src)) + qdel(src) + return + +/obj/item/ammo_box/magazine/ammo_stack/attackby(obj/item/handful, mob/user, params, silent = FALSE, replace_spent = 0) + var/num_loaded = 0 + if(!can_load(user)) + return + + if(istype(handful, /obj/item/ammo_box)) + var/obj/item/ammo_box/ammo_box = handful + for(var/obj/item/ammo_casing/casing in ammo_box.stored_ammo) + var/did_load = give_round(casing, replace_spent) + if(did_load) + ammo_box.stored_ammo -= casing + num_loaded++ + if(!did_load || !multiload) + break + if(num_loaded) + ammo_box.update_ammo_count() + + if(istype(handful, /obj/item/ammo_casing)) + var/obj/item/ammo_casing/casing = handful + if(give_round(casing, replace_spent)) + user.transferItemToLoc(casing, src, TRUE) + num_loaded++ + casing.update_appearance() + + if(num_loaded) + if(!silent) + to_chat(user, span_notice("You load [num_loaded] shell\s into \the [src]!")) + playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) + update_ammo_count() diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/_premade_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/_premade_stacks.dm new file mode 100644 index 00000000000..453a6bacb4d --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/_premade_stacks.dm @@ -0,0 +1,22 @@ +/obj/item/ammo_box/magazine/ammo_stack/prefilled + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/Initialize(mapload) + make_stack() + update_appearance() + . = ..() + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/proc/make_stack() + var/obj/item/ammo_casing/to_copy = ammo_type + src.top_off() + caliber = to_copy.caliber + base_icon_state = "[initial(to_copy.icon_state)][to_copy.bullet_skin ? "-[to_copy.bullet_skin]" : ""]" + name = "handful of [to_copy.name]s" + +/obj/item/storage/box/ammo //base type, don't use this! + name = "box of default ammo" + desc = "A box of ammunition. Not for consumption." + icon = 'icons/obj/ammunition/ammo_boxes.dmi' + icon_state = "9mmbox" + custom_materials = list(/datum/material/iron = 200) + illustration = null + foldable = null diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_gauss_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_gauss_stacks.dm new file mode 100644 index 00000000000..a64e075dfa8 --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_gauss_stacks.dm @@ -0,0 +1,38 @@ +/obj/item/ammo_box/magazine/ammo_stack/prefilled/ferropellet + ammo_type = /obj/item/ammo_casing/caseless/gauss + +/obj/item/storage/box/ammo/ferropellet + name = "box of ferromagnetic pellets" + desc = "A box of ferromagnetic pellets for gauss firearms." + icon_state = "ferropelletsbox" + +/obj/item/storage/box/ammo/ferropellet/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/ferropellet = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/ferroslug + ammo_type = /obj/item/ammo_casing/caseless/gauss/slug + +/obj/item/storage/box/ammo/ferroslug + name = "box of ferromagnetic slugs" + desc = "A box of standard ferromagnetic slugs for gauss firearms." + icon_state = "ferroslugsbox" + +/obj/item/storage/box/ammo/ferroslug/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/ferroslug = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/ferrolance + ammo_type = /obj/item/ammo_casing/caseless/gauss/lance + +/obj/item/storage/box/ammo/ferrolance + name = "box of ferromagnetic lances" + desc = "A box of standard ferromagnetic lances for gauss firearms." + icon_state = "ferrolancesbox" + +/obj/item/storage/box/ammo/ferrolance/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/ferrolance = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_lmg_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_lmg_stacks.dm new file mode 100644 index 00000000000..4b50912e5e1 --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_lmg_stacks.dm @@ -0,0 +1,12 @@ +// 7.12x82mm (L6 SAW) +/obj/item/ammo_box/magazine/ammo_stack/prefilled/mm712x82 + ammo_type = /obj/item/ammo_casing/mm712x82 + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/mm712x82/ap + ammo_type = /obj/item/ammo_casing/mm712x82/ap + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/mm712x82/hp + ammo_type = /obj/item/ammo_casing/mm712x82/hp + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/mm712x82/match + ammo_type = /obj/item/ammo_casing/mm712x82/match diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_misc_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_misc_stacks.dm new file mode 100644 index 00000000000..871c25d84af --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_misc_stacks.dm @@ -0,0 +1,24 @@ +/obj/item/ammo_box/magazine/ammo_stack/prefilled/foam_darts + ammo_type = /obj/item/ammo_casing/caseless/foam_dart + +/obj/item/storage/box/ammo/foam_darts + name = "box of foam darts" + icon = 'icons/obj/guns/toy.dmi' + icon_state = "foambox" + +/obj/item/storage/box/ammo/foam_darts/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/foam_darts = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/foam_darts/riot + ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot + +/obj/item/storage/box/ammo/foam_darts/riot + name = "box of foam darts" + icon_state = "foambox_riot" + +/obj/item/storage/box/ammo/foam_darts/riot/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/foam_darts/riot = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm new file mode 100644 index 00000000000..5a783652a7e --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm @@ -0,0 +1,483 @@ +// 10mm (Stechkin) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm + ammo_type = /obj/item/ammo_casing/c10mm + +/obj/item/storage/box/ammo/c10mm + name = "box of 10mm ammo" + desc = "A box of standard 10mm ammo." + icon_state = "10mmbox" + +/obj/item/storage/box/ammo/c10mm/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/surplus + ammo_type = /obj/item/ammo_casing/c10mm/surplus + +/obj/item/storage/box/ammo/c10mm_surplus + name = "box of surplus 10mm ammo" + desc = "A box of low-quality 10mm ammo." + icon_state = "10mmbox-surplus" + +/obj/item/storage/box/ammo/c10mm_surplus/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/ap + ammo_type = /obj/item/ammo_casing/c10mm/ap + +/obj/item/storage/box/ammo/c10mm_ap + name = "box of AP 10mm ammo" + desc = "A box of 10mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." + icon_state = "10mmbox-ap" + +/obj/item/storage/box/ammo/c10mm_ap/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/ap = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/hp + ammo_type = /obj/item/ammo_casing/c10mm/hp + +/obj/item/storage/box/ammo/c10mm_hp + name = "box of HP 10mm ammo" + desc = "A box of 10mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." + icon_state = "10mmbox-hp" + +/obj/item/storage/box/ammo/c10mm_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/rubber + ammo_type = /obj/item/ammo_casing/c10mm/rubber + +/obj/item/storage/box/ammo/c10mm_rubber + name = "box of rubber 10mm ammo" + desc = "A box of 10mm rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "10mmbox-rubbershot" + +/obj/item/storage/box/ammo/c10mm_rubber/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/rubber = 4) + generate_items_inside(items_inside,src) + +// 9MM (Commander + SABR) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm + ammo_type = /obj/item/ammo_casing/c9mm + max_ammo = 15 + +/obj/item/storage/box/ammo/c9mm + name = "box of 9mm ammo" + desc = "A box of standard 9mm ammo." + icon_state = "9mmbox" + +/obj/item/storage/box/ammo/c9mm/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/surplus + ammo_type = /obj/item/ammo_casing/c9mm/surplus + +/obj/item/storage/box/ammo/c9mm_surplus + name = "box of surplus 9mm ammo" + desc = "A box of low-quality 9mm ammo." + icon_state = "9mmbox-surplus" + +/obj/item/storage/box/ammo/c9mm_surplus/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/surplus = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/ap + ammo_type = /obj/item/ammo_casing/c9mm/ap + +/obj/item/storage/box/ammo/c9mm_ap + name = "box of AP 9mm ammo" + desc = "A box of 9mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." + icon_state = "9mmbox-ap" + +/obj/item/storage/box/ammo/c9mm_ap/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/ap = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/hp + ammo_type = /obj/item/ammo_casing/c9mm/hp + +/obj/item/storage/box/ammo/c9mm_hp + name = "box of HP 9mm ammo" + desc = "A box of 9mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." + icon_state = "9mmbox-hp" + +/obj/item/storage/box/ammo/c9mm_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/rubber + ammo_type = /obj/item/ammo_casing/c9mm/rubber + +/obj/item/storage/box/ammo/c9mm_rubber + name = "box of rubber 9mm ammo" + desc = "A box of 9mm rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "9mmbox-rubbershot" + +/obj/item/storage/box/ammo/c9mm_rubber/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/rubber = 4) + generate_items_inside(items_inside,src) + +// .45 (Candor + C20R) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c45 + ammo_type = /obj/item/ammo_casing/c45 + +/obj/item/storage/box/ammo/c45 + name = "box of .45 ammo" + desc = "A box of standard .45 ammo." + icon_state = "45box" + +/obj/item/storage/box/ammo/c45/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45 = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/surplus + ammo_type = /obj/item/ammo_casing/c45/surplus + +/obj/item/storage/box/ammo/c45_surplus + name = "box of surplus .45 ammo" + desc = "A box of low-quality .45 ammo." + icon_state = "45box-surplus" + +/obj/item/storage/box/ammo/c45_surplus/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/surplus = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/ap + ammo_type = /obj/item/ammo_casing/c45/ap + +/obj/item/storage/box/ammo/c45_ap + name = "box of AP .45 ammo" + desc = "A box of .45 armor-piercing ammo, designed to penetrate through armor at the cost of total damage." + icon_state = "45box-ap" + +/obj/item/storage/box/ammo/c45_ap/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/ap = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/hp + ammo_type = /obj/item/ammo_casing/c45/hp + +/obj/item/storage/box/ammo/c45_hp + name = "box of HP .45 ammo" + desc = "A box of .45 hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." + icon_state = "45box-hp" + +/obj/item/storage/box/ammo/c45_hp/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/rubber + ammo_type = /obj/item/ammo_casing/c45/rubber + +/obj/item/storage/box/ammo/c45_rubber + name = "box of rubbershot .45 ammo" + desc = "A box of .45 rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "45box-rubbershot" + +/obj/item/storage/box/ammo/c45_rubber/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/rubber = 4) + generate_items_inside(items_inside,src) + +// .50 AE (Desert Eagle) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a50AE + ammo_type = /obj/item/ammo_casing/a50AE + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a50AE/hp + ammo_type = /obj/item/ammo_casing/a50AE/hp + +// .22 LR (Himehabu, Pounder) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c22lr + ammo_type = /obj/item/ammo_casing/c22lr + max_ammo = 25 + +/obj/item/storage/box/ammo/c22lr + name = "box of .22 LR ammo" + desc = "A box of standard .22 LR ammo." + icon_state = "22lrbox" + +/obj/item/storage/box/ammo/c22lr/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c22lr = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c22lr/ap + ammo_type = /obj/item/ammo_casing/c22lr/ap + max_ammo = 25 + +/obj/item/storage/box/ammo/c22lr/ap + name = "box of .22 LR AP ammo" + desc = "A box of standard .22 LR AP ammo, designed to penetrate through armor at the cost of total damage." + icon_state = "22lrbox" + +/obj/item/storage/box/ammo/c22lr/ap/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c22lr/ap = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c22lr/hp + ammo_type = /obj/item/ammo_casing/c22lr/hp + max_ammo = 25 + +/obj/item/storage/box/ammo/c22lr/hp + name = "box of .22 LR HP ammo" + desc = "A box of standard .22 LR HP ammo, designed to cause massive tissue damage at the cost of armor penetration." + icon_state = "22lrbox" + +/obj/item/storage/box/ammo/c22lr/hp/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c22lr/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c22lr/rubber + ammo_type = /obj/item/ammo_casing/c22lr/rubber + max_ammo = 25 + +/obj/item/storage/box/ammo/c22lr/rubber + name = "box of .22 LR rubber ammo" + desc = "A box of standard .22 LR rubber ammo." + icon_state = "22lrbox" + +/obj/item/storage/box/ammo/c22lr/rubber/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c22lr/rubber = 4) + generate_items_inside(items_inside,src) + +// .357 + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a357 + ammo_type = /obj/item/ammo_casing/a357 + +/obj/item/storage/box/ammo/a357 + name = "box of .357 ammo" + desc = "A box of standard .357 ammo." + icon_state = "357box" + +/obj/item/storage/box/ammo/a357/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a357 = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a357/match + ammo_type = /obj/item/ammo_casing/a357/match + +/obj/item/storage/box/ammo/a357_match + name = "box of match .357 ammo" + desc = "A box of match .357 ammo." + icon_state = "357box-match" + +/obj/item/storage/box/ammo/a357_match/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a357/match = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a357/hp + ammo_type = /obj/item/ammo_casing/a357/hp + +/obj/item/storage/box/ammo/a357_hp + name = "box of HP .357 ammo" + desc = "A box of hollow point .357 ammo." + icon_state = "357box-hp" + +/obj/item/storage/box/ammo/a357_hp/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a357/hp = 4) + generate_items_inside(items_inside,src) + +// .45-70 (Hunting Revolver, Beacon) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570 + ammo_type = /obj/item/ammo_casing/a4570 + max_ammo = 5 + +/obj/item/storage/box/ammo/a4570 + name = "box of .45-70 ammo" + desc = "A box of top grade .45-70 ammo. These rounds do significant damage with average performance against armor." + icon_state = "4570" + +/obj/item/storage/box/ammo/a4570/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570 = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/match + ammo_type = /obj/item/ammo_casing/a4570/match + +/obj/item/storage/box/ammo/a4570_match + name = "box of HP match .45-70 ammo" + desc = "A 12-round ammo box for .45-70 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." + icon_state = "4570-match" + +/obj/item/storage/box/ammo/a4570_match/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/match = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/hp + ammo_type = /obj/item/ammo_casing/a4570/hp + +/obj/item/storage/box/ammo/a4570_hp + name = "box of HP .45-70 ammo" + desc = "A 12-round ammo box for .45-70 revolvers. These hollow point rounds do legendary damage against soft targets, but are nearly ineffective against armored ones." + icon_state = "4570-hp" + +/obj/item/storage/box/ammo/a4570_hp/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/explosive + ammo_type = /obj/item/ammo_casing/a4570/explosive + +/obj/item/storage/box/ammo/a4570_explosive + name = "box of explosive .45-70 ammo" + desc = "A 12-round ammo box for .45-70 revolvers. These explosive rounds contain a small explosive charge that detonates on impact, creating large wounds and potentially removing limbs." + icon_state = "4570-explosive" + +/obj/item/storage/box/ammo/a4570_explosive/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/explosive = 4) + generate_items_inside(items_inside,src) + +// .38 Special + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38 + ammo_type = /obj/item/ammo_casing/c38 + max_ammo = 15 + +/obj/item/storage/box/ammo/c38 + name = "box of .38 ammo" + desc = "A box of standard .38 Special ammo." + icon_state = "38box" + +/obj/item/storage/box/ammo/c38/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38 = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/surplus + ammo_type = /obj/item/ammo_casing/c38/surplus + +/obj/item/storage/box/ammo/c38_surplus + name = "box of surplus .38 ammo" + desc = "A box of low-quality .38 Special ammo." + icon_state = "38box-surplus" + +/obj/item/storage/box/ammo/c38_surplus/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/surplus = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/trac + ammo_type = /obj/item/ammo_casing/c38/trac + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/match + ammo_type = /obj/item/ammo_casing/c38/match + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/bouncy + ammo_type = /obj/item/ammo_casing/c38/match/bouncy + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/dumdum + ammo_type = /obj/item/ammo_casing/c38/dumdum + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/hotshot + ammo_type = /obj/item/ammo_casing/c38/hotshot + +/obj/item/storage/box/ammo/c38_hotshot + name = "box of .38 hearth ammo" + desc = "An unorthodox .38 Special cartridge infused with hearthflame. Catches the target on fire." + icon_state = "38hotshot" + +/obj/item/storage/box/ammo/c38_hotshot/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/hotshot = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/iceblox + ammo_type = /obj/item/ammo_casing/c38/iceblox + +/obj/item/storage/box/ammo/c38_iceblox + name = "box of .38 chilled ammo" + desc = "An unorthodox .38 Special cartridge infused with wine of ice. Chills the target, slowing them down." + icon_state = "38iceblox" + +/obj/item/storage/box/ammo/c38_iceblox/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/iceblox = 4) + generate_items_inside(items_inside,src) + +// 44 Roumain + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum + ammo_type = /obj/item/ammo_casing/a44roum + +/obj/item/storage/box/ammo/a44roum + name = "box of .44 roumain ammo" + desc = "A box of standard .44 roumain ammo." + icon_state = "a44roum" + +/obj/item/storage/box/ammo/a44roum/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum/rubber + ammo_type = /obj/item/ammo_casing/a44roum/rubber + +/obj/item/storage/box/ammo/a44roum_rubber + name = "box of rubber .44 roumain ammo" + desc = "A box of .44 roumain rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "a44roum-rubber" + +/obj/item/storage/box/ammo/a44roum_rubber/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum/rubber = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum/hp + ammo_type = /obj/item/ammo_casing/a44roum/hp + +/obj/item/storage/box/ammo/a44roum_hp + name = "box of HP .44 roumain ammo" + desc = "A box of .44 roumain hollowpoint ammo, designed to disable targets without causing serious damage." + icon_state = "a44roum-hp" + +/obj/item/storage/box/ammo/a44roum_hp/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum/hp = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_rifle_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_rifle_stacks.dm new file mode 100644 index 00000000000..921bbd5c06a --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_rifle_stacks.dm @@ -0,0 +1,224 @@ +// 8x50mmR (Illestren Hunting Rifle) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r + ammo_type = /obj/item/ammo_casing/a8_50r + max_ammo = 10 + +/obj/item/storage/box/ammo/a8_50r + name = "box of 8x50mm ammo" + desc = "A box of standard 8x50mm ammo." + icon_state = "8x50mmbox" + +/obj/item/storage/box/ammo/a8_50r/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r/hp + ammo_type = /obj/item/ammo_casing/a8_50r/hp + +/obj/item/storage/box/ammo/a8_50r/hp + name = "box of HP 8x50mm ammo" + desc = "A box of hollow point 8x50mm ammo, designed to cause massive damage at the cost of armor penetration." + icon_state = "8x50mmbox-hp" + +/obj/item/storage/box/ammo/a8_50r_hp/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r/match + ammo_type = /obj/item/ammo_casing/a8_50r/match + max_ammo = 10 + +/obj/item/storage/box/ammo/a8_50r/match + name = "box of 8x50mm match ammo" + desc = "A box of standard 8x50mm ammo." + icon_state = "8x50mmbox" + +/obj/item/storage/box/ammo/a8_50r/match/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r/match = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r/trac + ammo_type = /obj/item/ammo_casing/a8_50r/trac + max_ammo = 10 + +/obj/item/storage/box/ammo/a8_50r/trac + name = "box of 8x50mm trac ammo" + desc = "A box of 8x50mm trackers." + icon_state = "8x50mmbox" + +/obj/item/storage/box/ammo/a8_50r/trac/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r/trac = 3) + generate_items_inside(items_inside,src) + +// 5.56x42mm CLIP (CM82, Hydra variants) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a556_42 + ammo_type = /obj/item/ammo_casing/a556_42 + max_ammo = 15 + +/obj/item/storage/box/ammo/a556_42 + name = "box of 5.56x42mm CLIP ammo" + desc = "A box of standard 5.56x42mm CLIP ammo." + icon_state = "a556_42box_big" + +/obj/item/storage/box/ammo/a556_42/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a556_42 = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a556_42/hp + ammo_type = /obj/item/ammo_casing/a556_42/hp + max_ammo = 15 + +/obj/item/storage/box/ammo/a556_42/hp + name = "box of 5.56x42mm CLIP HP ammo" + desc = "A box of standard 5.56x42mm CLIP HP ammo." + icon_state = "a556_42box_big" + +/obj/item/storage/box/ammo/a556_42/hp/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a556_42/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a556_42/ap + ammo_type = /obj/item/ammo_casing/a556_42/ap + max_ammo = 15 + +/obj/item/storage/box/ammo/a556_42/ap + name = "box of 5.56x42mm CLIP AP ammo" + desc = "A box of standard 5.56x42mm CLIP AP ammo." + icon_state = "a556_42box_big" + +/obj/item/storage/box/ammo/a556_42/ap/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a556_42/ap = 4) + generate_items_inside(items_inside,src) + +// 7.62x40mm CLIP (SKM Rifles) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a762_40 + ammo_type = /obj/item/ammo_casing/a762_40 + max_ammo = 15 + +/obj/item/storage/box/ammo/a762_40 + name = "box of 7.62x40mm CLIP ammo" + desc = "A box of standard 7.62x40mm CLIP ammo." + icon_state = "a762_40box_big" + +/obj/item/storage/box/ammo/a762_40/inteq + icon_state = "a762_40box_big_inteq" + +/obj/item/storage/box/ammo/a762_40/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a762_40 = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a762_40/hp + ammo_type = /obj/item/ammo_casing/a762_40/hp + max_ammo = 15 + +/obj/item/storage/box/ammo/a762_40/hp + name = "box of 7.62x40mm CLIP Hollow Point ammo" + desc = "A box of standard 7.62x40mm CLIP Hollow Point ammo." + icon_state = "a762_40box_big" + +/obj/item/storage/box/ammo/a762_40/hp/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a762_40/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a762_40/ap + ammo_type = /obj/item/ammo_casing/a762_40/ap + max_ammo = 15 + +/obj/item/storage/box/ammo/a762_40/ap + name = "box of 7.62x40mm CLIP Armour Piercing ammo" + desc = "A box of standard 7.62x40mm CLIP Armour Piercing ammo." + icon_state = "a762_40box_big" + +/obj/item/storage/box/ammo/a762_40/ap/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a762_40/ap = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a762_40/rubber + ammo_type = /obj/item/ammo_casing/a762_40/rubber + max_ammo = 15 + +/obj/item/storage/box/ammo/a762_40/rubber + name = "box of 7.62x40mm CLIP rubber ammo" + desc = "A box of standard 7.62x40mm CLIP rubber ammo." + icon_state = "a762_40box_big" + +/obj/item/storage/box/ammo/a762_40/rubber/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a762_40/rubber = 4) + generate_items_inside(items_inside,src) + +//.308 (M514 EBR & CM-GAL-S) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a308 + ammo_type = /obj/item/ammo_casing/a308 + max_ammo = 10 + +/obj/item/storage/box/ammo/a308 + name = "box of .308 ammo" + desc = "A box of standard .308 ammo." + icon_state = "a308box" + +/obj/item/storage/box/ammo/a308/hunterspride + icon_state = "a308box-HP" + +/obj/item/storage/box/ammo/a308/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a308 = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a308/hp + ammo_type = /obj/item/ammo_casing/a308/hp + max_ammo = 10 + +/obj/item/storage/box/ammo/a308/hp + name = "box of .308 HP ammo" + desc = "A box of standard .308 HP ammo." + icon_state = "a308box" + +/obj/item/storage/box/ammo/a308/hp/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a308/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a308/ap + ammo_type = /obj/item/ammo_casing/a308/ap + max_ammo = 10 + +/obj/item/storage/box/ammo/a308/ap + name = "box of .308 AP ammo" + desc = "A box of standard .308 AP ammo." + icon_state = "a308box" + +/obj/item/storage/box/ammo/a308/ap/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a308/ap = 4) + generate_items_inside(items_inside,src) + +//.299 Eoehoma Caseless (E-40) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c299 + ammo_type = /obj/item/ammo_casing/caseless/c299 + max_ammo = 15 + +/obj/item/storage/box/ammo/c299 + name = "box of .299 Eoehoma caseless ammo" + desc = "A box of .299 Eoehoma caseless, for use with the E-40 hybrid assault rifle." + icon_state = "299box" + +/obj/item/storage/box/ammo/c299/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c299 = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_shotshell_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_shotshell_stacks.dm new file mode 100644 index 00000000000..ddcf1f8b12e --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_shotshell_stacks.dm @@ -0,0 +1,74 @@ +// Shotshells +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun + max_ammo = 8 //make sure these values are consistent across the board with stack_size variable on respective ammo_casing + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/buckshot + ammo_type = /obj/item/ammo_casing/shotgun/buckshot + +/obj/item/storage/box/ammo/a12g_buckshot + name = "box of 12ga buckshot" + desc = "A box of 12-gauge buckshot shells, devastating at close range." + icon_state = "12gbox-buckshot" + +/obj/item/storage/box/ammo/a12g_buckshot/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/buckshot = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/slug + ammo_type = /obj/item/ammo_casing/shotgun + +/obj/item/storage/box/ammo/a12g_slug + name = "box of 12ga slugs" + desc = "A box of 12-gauge slugs, for improved accuracy and penetration." + icon_state = "12gbox-slug" + +/obj/item/storage/box/ammo/a12g_slug/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/slug = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/beanbag + ammo_type = /obj/item/ammo_casing/shotgun/beanbag + +/obj/item/storage/box/ammo/a12g_beanbag + name = "box of 12ga beanbags" + desc = "A box of 12-gauge beanbag shells, for incapacitating targets." + icon_state = "12gbox-beanbag" + +/obj/item/storage/box/ammo/a12g_beanbag/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/beanbag = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/rubber + ammo_type = /obj/item/ammo_casing/shotgun/rubbershot + +/obj/item/storage/box/ammo/a12g_rubbershot + name = "box of 12ga rubbershot" + desc = "A box of 12-gauge rubbershot shells, designed for riot control." + icon_state = "12gbox-rubbershot" + +/obj/item/storage/box/ammo/a12g_rubbershot/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/rubber = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/blank + ammo_type = /obj/item/ammo_casing/shotgun/blank + +/obj/item/storage/box/ammo/a12g_blank + name = "box of 12ga blanks" + desc = "A box of 12-gauge blank shells, designed for training." + icon_state = "12gbox-slug" //needs icon + +/obj/item/storage/box/ammo/a12g_blank/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/blank = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/incendiary + ammo_type = /obj/item/ammo_casing/shotgun/incendiary + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/improvised + ammo_type = /obj/item/ammo_casing/shotgun/improvised diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_smg_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_smg_stacks.dm new file mode 100644 index 00000000000..e11ed44dcec --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_smg_stacks.dm @@ -0,0 +1,167 @@ +// 4.6x30mm (WT-550 Automatic Rifle & SKM-24v) +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c46x30mm + ammo_type = /obj/item/ammo_casing/c46x30mm + max_ammo = 20 + +/obj/item/storage/box/ammo/c46x30mm + name = "box of 4.6x30mm ammo" + desc = "A box of standard 4.6x30mm ammo." + icon_state = "46x30mmbox" + +/obj/item/storage/box/ammo/c46x30mm/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c46x30mm = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c46x30mm/ap + ammo_type = /obj/item/ammo_casing/c46x30mm/ap + max_ammo = 20 + +/obj/item/storage/box/ammo/c46x30mm/ap + name = "box of 4.6x30mm AP ammo" + desc = "A box of standard 4.6x30mm AP ammo." + icon_state = "46x30mmbox" + +/obj/item/storage/box/ammo/c46x30mm/ap/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c46x30mm/ap = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c46x30mm/hp + ammo_type = /obj/item/ammo_casing/c46x30mm/hp + max_ammo = 20 + +/obj/item/storage/box/ammo/c46x30mm/hp + name = "box of 4.6x30mm HP ammo" + desc = "A box of standard 4.6x30mm HP ammo." + icon_state = "46x30mmbox" + +/obj/item/storage/box/ammo/c46x30mm/hp/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c46x30mm/hp = 4) + generate_items_inside(items_inside,src) + +// 4.73x33mm caseless (Solar) +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c47x33mm + ammo_type = /obj/item/ammo_casing/caseless/c47x33mm + +// 5.56mm HITP caseless (Pistole C) +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm + ammo_type = /obj/item/ammo_casing/caseless/c556mm + max_ammo = 15 + +/obj/item/storage/box/ammo/c556mm + name = "box of 5.56mm HITP caseless ammo" + desc = "A box of 5.56mm HITP caseless ammo, a SolGov standard." + icon_state = "556mmHITPbox" + +/obj/item/storage/box/ammo/c556mm/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/surplus + ammo_type = /obj/item/ammo_casing/caseless/c556mm/surplus + +/obj/item/storage/box/ammo/c556mm_surplus + name = "box of surplus 5.56mm HITP caseless ammo" + desc = "A box of low-quality 5.56mm HITP caseless ammo." + icon_state = "556mmHITPbox-surplus" + +/obj/item/storage/box/ammo/c556mm_surplus/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/surplus = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/ap + ammo_type = /obj/item/ammo_casing/caseless/c556mm/ap + +/obj/item/storage/box/ammo/c556mm_ap + name = "box of AP 5.56mm HITP caseless ammo" + desc = "A box of 5.56mm HITP caseless armor-piercing ammo, designed to penetrate through armor at the cost of total damage." + icon_state = "556mmHITPbox-ap" + +/obj/item/storage/box/ammo/c556mm_ap/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/ap = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/hp + ammo_type = /obj/item/ammo_casing/caseless/c556mm/hp + +/obj/item/storage/box/ammo/c556mm_hp + name = "box of HP 5.56mm HITP caseless ammo" + desc = "A box of 5.56mm HITP caseless hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." + icon_state = "556mmHITPbox-hp" + +/obj/item/storage/box/ammo/c556mm_hp/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/rubbershot + ammo_type = /obj/item/ammo_casing/caseless/c556mm/rubbershot + +/obj/item/storage/box/ammo/c556mm_rubber + name = "box of rubber 5.56mm HITP caseless ammo" + desc = "A box of 5.56mm HITP caseless rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "556mmHITPbox-rubbershot" + +/obj/item/storage/box/ammo/c556mm_rubber/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/rubbershot = 4) + generate_items_inside(items_inside,src) + +// 5.7x39mm (Asp and Sidewinder) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c57x39 + ammo_type = /obj/item/ammo_casing/c57x39mm + +/obj/item/storage/box/ammo/c57x39 + name = "box of 5.7x39mm ammo" + desc = "A box of standard 5.7x39mm ammo." + icon_state = "57x39mmbox" + +/obj/item/storage/box/ammo/c57x39/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c57x39 = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c57x39/hp + ammo_type = /obj/item/ammo_casing/c57x39mm/hp + +/obj/item/storage/box/ammo/c57x39/hp + name = "box of 5.7x39mm HP ammo" + desc = "A box of standard 5.7x39mm HP ammo." + icon_state = "57x39mmbox" + +/obj/item/storage/box/ammo/c57x39/hp/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c57x39/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c57x39/ap + ammo_type = /obj/item/ammo_casing/c57x39mm/ap + +/obj/item/storage/box/ammo/c57x39/ap + name = "box of 5.7x39mm AP ammo" + desc = "A box of standard 5.7x39mm AP ammo." + icon_state = "57x39mmbox" + +/obj/item/storage/box/ammo/c57x39/ap/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c57x39/ap = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c57x39/rubber + ammo_type = /obj/item/ammo_casing/c57x39mm/rubber + +/obj/item/storage/box/ammo/c57x39/rubber + name = "box of 5.7x39mm rubber ammo" + desc = "A box of standard 5.7x39mm rubber ammo." + icon_state = "57x39mmbox" + +/obj/item/storage/box/ammo/c57x39/rubber/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c57x39/rubber = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_sniper_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_sniper_stacks.dm new file mode 100644 index 00000000000..5b9e3218b50 --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_sniper_stacks.dm @@ -0,0 +1,84 @@ +// .50 BMG (Sniper) +/obj/item/ammo_box/magazine/ammo_stack/prefilled/p50 + ammo_type = /obj/item/ammo_casing/p50 + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/p50/soporific + ammo_type = /obj/item/ammo_casing/p50/soporific + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/p50/penetrator + ammo_type = /obj/item/ammo_casing/p50/penetrator + +// 8x58mm Caseless (SSG-669C) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a858 + ammo_type = /obj/item/ammo_casing/caseless/a858 + max_ammo = 5 + +/obj/item/storage/box/ammo/a858 + name = "box of .300 magnum ammo" + desc = "A box of standard .300 Magnum ammo." + icon_state = "300box" + +/obj/item/storage/box/ammo/a858/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a858 = 4) + generate_items_inside(items_inside,src) + +// .300 Magnum (Smile Rifle) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a300 + ammo_type = /obj/item/ammo_casing/a300 + max_ammo = 5 + +/obj/item/storage/box/ammo/a300 + name = "box of .300 magnum ammo" + desc = "A box of standard .300 Magnum ammo." + icon_state = "300box" + +/obj/item/storage/box/ammo/a300/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a300 = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a300/trac + ammo_type = /obj/item/ammo_casing/a300/trac + max_ammo = 5 + +/obj/item/storage/box/ammo/a300/trac + name = "box of .300 trac ammo" + desc = "A box of standard .300 Magnum ammo." + icon_state = "300box" + +/obj/item/storage/box/ammo/a300/trac/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a300/trac = 2) + generate_items_inside(items_inside,src) + +//6.5x57mm CLIP + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a65clip + ammo_type = /obj/item/ammo_casing/a65clip + max_ammo = 5 + +/obj/item/storage/box/ammo/a65clip + name = "box of 6.5x57mm CLIP ammo" + desc = "A box of standard 6.5x57mm CLIP ammo." + icon_state = "65box" + +/obj/item/storage/box/ammo/a65clip/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a65clip = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a65clip/trac + ammo_type = /obj/item/ammo_casing/a65clip/trac + max_ammo = 5 + +/obj/item/storage/box/ammo/a65clip/trac + name = "box of 6.5x57mm CLIP tracker ammo" + desc = "A box of standard 6.5x57mm CLIP tracker ammo." + +/obj/item/storage/box/ammo/a65clip/trac/PopulateContents() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a65clip/trac = 2) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/external/gauss.dm b/code/modules/projectiles/boxes_magazines/external/gauss.dm index d2edfc4aac9..8095cd390eb 100644 --- a/code/modules/projectiles/boxes_magazines/external/gauss.dm +++ b/code/modules/projectiles/boxes_magazines/external/gauss.dm @@ -7,6 +7,9 @@ max_ammo = 24 multiple_sprites = AMMO_BOX_FULL_EMPTY +/obj/item/ammo_box/magazine/gauss/empty + start_empty = TRUE + /obj/item/ammo_box/magazine/modelh name = "Model H magazine (ferromagnetic slugs)" desc = "A 10-round magazine for the Model H pistol. Ferromagnetic slugs are slow and incredibly powerful bullets, but are easily stopped by even a sliver of armor." @@ -31,3 +34,6 @@ /obj/item/ammo_box/magazine/gar/update_icon() . = ..() icon_state = "gar-mag-[!!ammo_count()]" + +/obj/item/ammo_box/magazine/gar/empty + start_empty = TRUE diff --git a/code/modules/projectiles/boxes_magazines/external/lmg.dm b/code/modules/projectiles/boxes_magazines/external/lmg.dm index fdf1b7985b2..e69de29bb2d 100644 --- a/code/modules/projectiles/boxes_magazines/external/lmg.dm +++ b/code/modules/projectiles/boxes_magazines/external/lmg.dm @@ -1,33 +0,0 @@ -/obj/item/ammo_box/magazine/mm712x82 - name = "box magazine (7.12x82mm)" - desc = "A 50-round box magazine for the L6 SAW machine gun. These rounds do moderate damage with significant armor penetration." - icon_state = "a762-100" - base_icon_state = "a762" - ammo_type = /obj/item/ammo_casing/mm712x82 - caliber = "7.12x82mm" - max_ammo = 100 - w_class = WEIGHT_CLASS_NORMAL - -/obj/item/ammo_box/magazine/mm712x82/hollow - name = "box magazine (7.12x82mm HP)" - desc = "A 50-round box magazine for the L6 SAW machine gun. These hollow point rounds do incredible damage against soft targets, but struggle against armored ones." - ammo_type = /obj/item/ammo_casing/mm712x82/hp - -/obj/item/ammo_box/magazine/mm712x82/ap - name = "box magazine (7.12x82mm AP)" - desc = "A 50-round box magazine for the L6 SAW machine gun. These armor-piercing rounds are nearly perfect at piercing protective equipment." - ammo_type = /obj/item/ammo_casing/mm712x82/ap - -/obj/item/ammo_box/magazine/mm712x82/inc - name = "box magazine (7.12x82mm incendiary)" - desc = "A 50-round box magazine for the L6 SAW machine gun. These incendiary rounds deal mediocre damage, but leave flaming trails which set targets ablaze." - ammo_type = /obj/item/ammo_casing/mm712x82/inc - -/obj/item/ammo_box/magazine/mm712x82/match - name = "box magazine (7.12x82mm match)" - desc = "A 50-round box magazine for the L6 SAW machine gun. These match rounds travel quicker with incredible armor penetration. Can also ricochet off targets." - ammo_type = /obj/item/ammo_casing/mm712x82/match - -/obj/item/ammo_box/magazine/mm712x82/update_icon_state() - . = ..() - icon_state = "[base_icon_state]-[round(ammo_count(), 20)]" diff --git a/code/modules/projectiles/boxes_magazines/external/pistol.dm b/code/modules/projectiles/boxes_magazines/external/pistol.dm index 8a179248571..1ca6c0e62a5 100644 --- a/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -1,35 +1,37 @@ -/obj/item/ammo_box/magazine/m10mm - name = "pistol magazine (10mm)" - desc = "An 8-round single-stack magazine for the stechkin pistol. These rounds do moderate damage, but struggle against armor." - icon_state = "stechkin_mag-1" - base_icon_state = "stechkin_mag" - ammo_type = /obj/item/ammo_casing/c10mm - caliber = "10mm" - max_ammo = 8 - multiple_sprites = AMMO_BOX_FULL_EMPTY - -/obj/item/ammo_box/magazine/m10mm/empty - start_empty = TRUE - -/obj/item/ammo_box/magazine/m10mm/inc - name = "pistol magazine (10mm incendiary)" - desc = "An 8-round single-stack magazine for the stechkin pistol. These incendiary rounds deal mediocre damage, but leave flaming trails which set targets ablaze." - ammo_type = /obj/item/ammo_casing/c10mm/inc - -/obj/item/ammo_box/magazine/m10mm/hp - name = "pistol magazine (10mm HP)" - desc = "An 8-round single-stack magazine for the stechkin pistol. These hollow point rounds do incredible damage against soft targets, but are nearly ineffective against armored ones." - ammo_type = /obj/item/ammo_casing/c10mm/hp - -/obj/item/ammo_box/magazine/m10mm/ap - name = "pistol magazine (10mm AP)" - desc = "An 8-round single-stack magazine for the stechkin pistol. These armor-piercing rounds are okay at piercing protective equipment, but lose some stopping power." - ammo_type = /obj/item/ammo_casing/c10mm/ap - -/obj/item/ammo_box/magazine/m10mm/rubber - name = "pistol magazine (10mm rubber)" - desc = "An 8-round handgun magazine for the stechkin pistol. These rubber rounds trade lethality for a heavy impact which can incapacitate targets. Performs even worse against armor." - ammo_type = /obj/item/ammo_casing/c10mm/rubber +// REMAPPED: /obj/item/ammo_box/magazine/m10mm -> /obj/item/ammo_box/magazine/m10mm_ringneck + +// /obj/item/ammo_box/magazine/m10mm +// name = "pistol magazine (10mm)" +// desc = "An 8-round single-stack magazine for the stechkin pistol. These rounds do moderate damage, but struggle against armor." +// icon_state = "stechkin_mag-1" +// base_icon_state = "stechkin_mag" +// ammo_type = /obj/item/ammo_casing/c10mm +// caliber = "10mm" +// max_ammo = 8 +// multiple_sprites = AMMO_BOX_FULL_EMPTY + +// /obj/item/ammo_box/magazine/m10mm/empty +// start_empty = TRUE + +// /obj/item/ammo_box/magazine/m10mm/inc +// name = "pistol magazine (10mm incendiary)" +// desc = "An 8-round single-stack magazine for the stechkin pistol. These incendiary rounds deal mediocre damage, but leave flaming trails which set targets ablaze." +// ammo_type = /obj/item/ammo_casing/c10mm/inc + +// /obj/item/ammo_box/magazine/m10mm/hp +// name = "pistol magazine (10mm HP)" +// desc = "An 8-round single-stack magazine for the stechkin pistol. These hollow point rounds do incredible damage against soft targets, but are nearly ineffective against armored ones." +// ammo_type = /obj/item/ammo_casing/c10mm/hp + +// /obj/item/ammo_box/magazine/m10mm/ap +// name = "pistol magazine (10mm AP)" +// desc = "An 8-round single-stack magazine for the stechkin pistol. These armor-piercing rounds are okay at piercing protective equipment, but lose some stopping power." +// ammo_type = /obj/item/ammo_casing/c10mm/ap + +// /obj/item/ammo_box/magazine/m10mm/rubber +// name = "pistol magazine (10mm rubber)" +// desc = "An 8-round handgun magazine for the stechkin pistol. These rubber rounds trade lethality for a heavy impact which can incapacitate targets. Performs even worse against armor." +// ammo_type = /obj/item/ammo_casing/c10mm/rubber /obj/item/ammo_box/magazine/m45 name = "pistol magazine (.45)" @@ -43,10 +45,6 @@ /obj/item/ammo_box/magazine/m45/empty start_empty = TRUE -/obj/item/ammo_box/magazine/m45/inc - name = "pistol magazine (.45 incendiary)" - desc = "An 8-round single-stack magazine for the Candor pistol. These incendiary rounds deal mediocre damage, but leave flaming trails which set targets ablaze." - ammo_type = /obj/item/ammo_casing/c45/inc /obj/item/ammo_box/magazine/m45/hp name = "pistol magazine (.45 HP)" @@ -67,19 +65,6 @@ . = ..() icon_state = "[base_icon_state]-[min(ammo_count(), 8)]" -/obj/item/ammo_box/magazine/co9mm - name = "commander pistol magazine (9mm)" - desc = "A 10-round double-stack magazine for Commander pistols. These rounds do okay damage, but struggle against armor." - icon_state = "commander_mag-10" - base_icon_state = "commander_mag" - ammo_type = /obj/item/ammo_casing/c9mm - caliber = "9mm" - max_ammo = 10 - multiple_sprites = AMMO_BOX_PER_BULLET - -/obj/item/ammo_box/magazine/co9mm/empty - start_empty = TRUE - /obj/item/ammo_box/magazine/pistol556mm name = "Pistole C magazine (5.56mm HITP caseless)" desc = "A 12-round, double-stack magazine for the Pistole C pistol. These rounds do okay damage with average performance against armor." @@ -102,40 +87,8 @@ else icon_state = "[base_icon_state]-0" - -/obj/item/ammo_box/magazine/co9mm/inc - name = "pistol magazine (9mm incendiary)" - desc = "A 10-round double-stack magazine for standard-issue 9mm pistols. These incendiary rounds deal pitiful damage, but leave flaming trails which set targets ablaze." - ammo_type = /obj/item/ammo_casing/c9mm/inc - -/obj/item/ammo_box/magazine/co9mm/hp - name = "pistol magazine (9mm HP)" - desc= "A 10-round double-stack magazine for standard-issue 9mm pistols. These hollow point rounds do significant damage against soft targets, but are nearly ineffective against armored ones." - ammo_type = /obj/item/ammo_casing/c9mm/hp - -/obj/item/ammo_box/magazine/co9mm/ap - name = "pistol magazine (9mm AP)" - desc= "A 10-round double-stack magazine for standard-issue 9mm pistols. These armor-piercing rounds are okay at piercing protective equipment, but lose some stopping power." - ammo_type = /obj/item/ammo_casing/c9mm/ap - -/obj/item/ammo_box/magazine/co9mm/rubber - name = "pistol magazine (9mm rubber)" - desc = "A 10-round double-stack magazine for standard-issue 9mm pistols. These rubber rounds trade lethality for a heavy impact which can incapacitate targets. Performs even worse against armor." - ammo_type = /obj/item/ammo_casing/c9mm/rubber - -/obj/item/ammo_box/magazine/co9mm/update_icon_state() - . = ..() - icon_state = "[base_icon_state]-[ammo_count() == 1 ? 1 : round(ammo_count(),2)]" - -/obj/item/ammo_box/magazine/pistolm9mm - name = "large pistol magazine (9mm)" - desc = "A long, 15-round double-stack magazine designed for the stechkin APS pistol. These rounds do okay damage, but struggle against armor." - icon_state = "stechkin_mag-1" - base_icon_state = "stechkin_mag" - ammo_type = /obj/item/ammo_casing/c9mm - caliber = "9mm" - max_ammo = 15 - multiple_sprites = AMMO_BOX_FULL_EMPTY +/obj/item/ammo_box/magazine/pistol556mm/empty + start_empty = TRUE /obj/item/ammo_box/magazine/m50 name = "handgun magazine (.50 AE)" @@ -165,14 +118,3 @@ caliber = "9mm" max_ammo = 4 custom_materials = list(/datum/material/iron = 20000) - -/obj/item/ammo_box/magazine/m22lr - name = "pistol magazine (.22 LR)" - desc = "A single-stack handgun magazine designed to chamber .22 LR. It's rather tiny, all things considered." - icon_state = "himehabu_mag-10" - base_icon_state = "himehabu_mag" - ammo_type = /obj/item/ammo_casing/c22lr - caliber = "22lr" - max_ammo = 10 - w_class = WEIGHT_CLASS_TINY - multiple_sprites = AMMO_BOX_PER_BULLET diff --git a/code/modules/projectiles/boxes_magazines/external/rifle.dm b/code/modules/projectiles/boxes_magazines/external/rifle.dm index 1066e5b7ef2..7cb2137615b 100644 --- a/code/modules/projectiles/boxes_magazines/external/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/external/rifle.dm @@ -1,25 +1,13 @@ -/obj/item/ammo_box/magazine/m10mm/rifle - name = "rifle magazine (10mm)" - desc = "A well-worn, 10-round magazine for the surplus rifle. These rounds do moderate damage, but struggle against armor." - icon_state = "75-8" - base_icon_state = "75" - ammo_type = /obj/item/ammo_casing/c10mm - caliber = "10mm" - max_ammo = 10 - -/obj/item/ammo_box/magazine/m10mm/rifle/update_icon_state() - . = ..() - icon_state = "[base_icon_state]-[ammo_count() ? "8" : "0"]" - -/obj/item/ammo_box/magazine/m556 - name = "toploader magazine (5.56x45mm)" - desc = "An advanced, 30-round toploading magazine for the M-90gl Carbine. These rounds do moderate damage with good armor penetration." - icon_state = "5.56m-1" - base_icon_state = "5.56m" - ammo_type = /obj/item/ammo_casing/a556_39 - caliber = "5.56x45mm" - max_ammo = 30 - multiple_sprites = AMMO_BOX_FULL_EMPTY +// REMAPPED: /obj/item/ammo_box/magazine/m556 -> /obj/item/ammo_box/magazine/m556_42_hydra +// /obj/item/ammo_box/magazine/m556 +// name = "toploader magazine (5.56x45mm)" +// desc = "An advanced, 30-round toploading magazine for the M-90gl Carbine. These rounds do moderate damage with good armor penetration." +// icon_state = "5.56m-1" +// base_icon_state = "5.56m" +// ammo_type = /obj/item/ammo_casing/a556_39 +// caliber = "5.56x45mm" +// max_ammo = 30 +// multiple_sprites = AMMO_BOX_FULL_EMPTY /obj/item/ammo_box/magazine/rifle47x33mm name = "\improper Solarian LMG magazine (4.73x33mm caseless)" @@ -35,7 +23,7 @@ . = ..() icon_state = "[base_icon_state]-[round(ammo_count(),5)]" -/obj/item/ammo_box/magazine/skm_545_39 +/obj/item/ammo_box/magazine/skm_46_30 name = "subcaliber assault rifle magazine (4.6x30mm)" desc = "A slightly-curved, 30-round magazine for the SKM-24v. These rounds do okay damage with average performance against armor" ammo_type = /obj/item/ammo_casing/c46x30mm @@ -45,6 +33,9 @@ icon_state = "skmcarbine_mag-1" multiple_sprites = AMMO_BOX_FULL_EMPTY +/obj/item/ammo_box/magazine/skm_46_30/recycled + ammo_type = /obj/item/ammo_casing/c46x30mm/recycled + /obj/item/ammo_box/magazine/skm_762_40 name = "assault rifle magazine (7.62x40mm CLIP)" desc = "A slightly curved, 20-round magazine for the 7.62x40mm CLIP variants of the SKM assault rifle family. These rounds do good damage with good armor penetration." @@ -56,7 +47,7 @@ multiple_sprites = AMMO_BOX_FULL_EMPTY /obj/item/ammo_box/magazine/skm_762_40/empty - start_empty = FALSE + start_empty = TRUE /obj/item/ammo_box/magazine/skm_762_40/extended name = "extended assault rifle magazine (7.62x40mm CLIP)" @@ -76,14 +67,16 @@ /obj/item/ammo_box/magazine/ebr name = "battle rifle magazine (.308)" desc = "A small, 10-round steel magazine for the M514 EBR. These rounds do good damage with significant armor penetration." - icon_state = "ebr_mag" + icon_state = "gal_mag-1" + base_icon_state = "gal_mag" ammo_type = /obj/item/ammo_casing/a308 caliber = ".308" max_ammo = 10 + multiple_sprites = AMMO_BOX_FULL_EMPTY -/obj/item/ammo_box/magazine/ebr/update_icon_state() - . = ..() - icon_state = "ebr_mag-[!!ammo_count()]" +// /obj/item/ammo_box/magazine/ebr/update_icon_state() +// . = ..() +// icon_state = "ebr_mag-[!!ammo_count()]" /obj/item/ammo_box/magazine/gal name = "\improper GAL Magazine (.308)" @@ -95,13 +88,26 @@ max_ammo = 10 multiple_sprites = AMMO_BOX_FULL_EMPTY -/obj/item/ammo_box/magazine/p16 - name = "assault rifle magazine (5.56x45mm)" - desc = "A simple, 30-round magazine for 5.56x45mm assault rifles. These rounds do moderate damage with good armor penetration." +/obj/item/ammo_box/magazine/f4_308 + name = "\improper F4 Magazine (.308)" + desc = "A standard 10-round magazine for F4 platform DMRs. These rounds do good damage with significant armor penetration." + icon_state = "gal_mag-1" + base_icon_state = "gal_mag" + ammo_type = /obj/item/ammo_casing/a308 + caliber = ".308" + max_ammo = 10 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/f4_308/empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/p16 //repath to /obj/item/ammo_box/magazine/generic_556 sometime + name = "assault rifle magazine (5.56x42mm CLIP)" + desc = "A simple, 30-round magazine for 5.56x42mm CLIP assault rifles. These rounds do moderate damage with good armor penetration." icon_state = "p16_mag-1" base_icon_state = "p16_mag" - ammo_type = /obj/item/ammo_casing/a556_39 - caliber = "5.56x45mm" + ammo_type = /obj/item/ammo_casing/a556_42 + caliber = "5.56x42mm" max_ammo = 30 multiple_sprites = AMMO_BOX_FULL_EMPTY @@ -109,17 +115,17 @@ start_empty = TRUE /obj/item/ammo_box/magazine/swiss - name = "\improper Swiss Cheese Magazine (5.56x45mm)" + name = "\improper Swiss Cheese Magazine (5.56x42mm CLIP)" desc = "A deft, 30-round magazine for the Swiss Cheese assault rifle. These rounds do moderate damage with good armor penetration." icon_state = "swissmag-1" base_icon_state = "swissmag" - ammo_type = /obj/item/ammo_casing/a556_39 - caliber = "5.56x45mm" + ammo_type = /obj/item/ammo_casing/a556_42 + caliber = "5.56x42mm" max_ammo = 30 multiple_sprites = AMMO_BOX_FULL_EMPTY /obj/item/ammo_box/magazine/e40 - name = "E-40 magazine (.229 Eoehoma caseless)" + name = "E-40 magazine (.299 Eoehoma caseless)" icon_state = "e40_mag-1" base_icon_state = "e40_mag" ammo_type = /obj/item/ammo_casing/caseless/c299 diff --git a/code/modules/projectiles/boxes_magazines/external/shotgun.dm b/code/modules/projectiles/boxes_magazines/external/shotgun.dm index 3c9aaad1f6f..60d09eef0fd 100644 --- a/code/modules/projectiles/boxes_magazines/external/shotgun.dm +++ b/code/modules/projectiles/boxes_magazines/external/shotgun.dm @@ -1,43 +1,4 @@ -/obj/item/ammo_box/magazine/m12g - name = "shotgun drum magazine (12g buckshot)" - desc = "A bulky 8-round drum designed for the Bulldog shotgun and it's derivatives." - icon_state = "bulldog_drum-1" - base_icon_state = "bulldog_drum" - ammo_type = /obj/item/ammo_casing/shotgun/buckshot - caliber = "12ga" - max_ammo = 8 - w_class = WEIGHT_CLASS_NORMAL - multiple_sprites = AMMO_BOX_FULL_EMPTY - -/obj/item/ammo_box/magazine/m12g/stun - name = "shotgun drum magazine (12g taser slugs)" - ammo_type = /obj/item/ammo_casing/shotgun/stunslug - -/obj/item/ammo_box/magazine/m12g/slug - name = "shotgun drum magazine (12g slugs)" - ammo_type = /obj/item/ammo_casing/shotgun - -/obj/item/ammo_box/magazine/m12g/dragon - name = "shotgun drum magazine (12g dragon's breath)" - ammo_type = /obj/item/ammo_casing/shotgun/dragonsbreath - -/obj/item/ammo_box/magazine/m12g/bioterror - name = "shotgun drum magazine (12g bioterror)" - ammo_type = /obj/item/ammo_casing/shotgun/dart/bioterror - -/obj/item/ammo_box/magazine/m12g/meteor - name = "shotgun drum magazine (12g meteor slugs)" - ammo_type = /obj/item/ammo_casing/shotgun/meteorslug - -/obj/item/ammo_box/magazine/m12g/small //shouldnt this be the parrent intsead of the drum - name = "shotgun box magazine (12g buckshot)" - desc = "A single-stack, 6-round box magazine for the Bulldog shotgun and it's derivatives." - icon_state = "bulldog_mag-1" - base_icon_state = "bulldog_mag" - max_ammo = 6 - w_class = WEIGHT_CLASS_SMALL //Smaller, holds less - -/obj/item/ammo_box/magazine/cm15_mag +/obj/item/ammo_box/magazine/cm15_12g name = "CM-15 magazine (12g buckshot)" desc = "An almost straight, 8-round magazine designed for the CM-15 shotgun." icon_state = "cm15_mag-1" @@ -46,3 +7,12 @@ caliber = "12ga" max_ammo = 8 multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/cm15_12g/empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/cm15_12g/incendiary + name = "CM-15 magazine (12g incendiary)" + desc = "An almost straight, 8-round magazine designed for the CM-15 shotgun. This one was loaded with incendiary slugs. Be careful!" + ammo_type = /obj/item/ammo_casing/shotgun/incendiary + caliber = "12ga incendiary" diff --git a/code/modules/projectiles/boxes_magazines/external/smg.dm b/code/modules/projectiles/boxes_magazines/external/smg.dm index 4c464c0433d..3dd56fa73db 100644 --- a/code/modules/projectiles/boxes_magazines/external/smg.dm +++ b/code/modules/projectiles/boxes_magazines/external/smg.dm @@ -28,19 +28,6 @@ base_icon_state = "46x30mmtI" ammo_type = /obj/item/ammo_casing/c46x30mm/inc -/obj/item/ammo_box/magazine/uzim9mm - name = "long SMG magazine (9mm)" - desc = "A thin, 32-round magazine for the Uzi SMG. These rounds do okay damage, but struggle against armor." - icon_state = "uzi9mm-32" - base_icon_state = "uzi9mm" - ammo_type = /obj/item/ammo_casing/c9mm - caliber = "9mm" - max_ammo = 32 - -/obj/item/ammo_box/magazine/uzim9mm/update_icon_state() - . = ..() - icon_state = "[base_icon_state]-[round(ammo_count(),4)]" - /obj/item/ammo_box/magazine/smgm9mm name = "SMG magazine (9mm)" desc = "A 30-round magazine for 9mm submachine guns. These rounds do okay damage, but struggle against armor." @@ -54,6 +41,9 @@ . = ..() icon_state = "[base_icon_state]-[ammo_count() ? 42 : 0]" +/obj/item/ammo_box/magazine/smgm9mm/empty + start_empty = TRUE + /obj/item/ammo_box/magazine/smgm9mm/ap name = "SMG magazine (9mm AP)" desc = "A 30-round magazine for 9mm submachine guns. These armor-piercing rounds are okay at piercing protective equipment, but lose some stopping power." @@ -82,12 +72,15 @@ . = ..() icon_state = "[base_icon_state]-[ammo_count() == 1 ? 1 : round(ammo_count(),3)]" +/obj/item/ammo_box/magazine/smgm10mm/empty + start_empty = TRUE + /obj/item/ammo_box/magazine/smgm10mm/rubber name = "SMG magazine (10mm rubber)" desc = "A 24-round magazine for the SkM-44(k). These rubber rounds trade lethality for a heavy impact which can incapacitate targets. Performs even worse against armor." ammo_type = /obj/item/ammo_casing/c10mm/rubber -/obj/item/ammo_box/magazine/smgm45 +/obj/item/ammo_box/magazine/m45_cobra name = "SMG magazine (.45)" desc = "A 24-round magazine for .45 submachine guns. These rounds do moderate damage, but struggle against armor." icon_state = "c20r45-24" @@ -96,17 +89,17 @@ caliber = ".45" max_ammo = 24 -/obj/item/ammo_box/magazine/smgm45/update_icon_state() //This is stupid (whenever ammo is spent, it updates the icon path) +/obj/item/ammo_box/magazine/m45_cobra/update_icon_state() //This is stupid (whenever ammo is spent, it updates the icon path) . = ..() icon_state = "c20r45-[round(ammo_count(),2)]" -/obj/item/ammo_box/magazine/smgm45/empty +/obj/item/ammo_box/magazine/m45_cobra/empty start_empty = TRUE /obj/item/ammo_box/magazine/c45_firestorm_mag name = "stick magazine (.45)" desc = "A 28-round stick magazine for the toploading Firestorm submachine gun. These rounds do moderate damage, but struggle against armor." - icon_state = "firestorm_mag" + icon_state = "firestorm_mag-1" base_icon_state = "firestorm_mag" ammo_type = /obj/item/ammo_casing/c45 caliber = ".45" @@ -116,21 +109,17 @@ . = ..() icon_state = "firestorm_mag-[!!ammo_count()]" +/obj/item/ammo_box/magazine/c45_firestorm_mag/empty + start_empty = TRUE + /obj/item/ammo_box/magazine/c45_firestorm_mag/pan name = "pan magazine (.45)" desc = "A bulky, 50-round pan magazine for the toploading Firestorm submachine gun. These rounds struggle against armor, but with this many you could cut anyone down regardless." icon_state = "firestorm_pan" + base_icon_state = "firestorm_pan" max_ammo = 50 w_class = WEIGHT_CLASS_NORMAL /obj/item/ammo_box/magazine/c45_firestorm_mag/pan/update_icon_state() //Causes the mag to NOT inherit the parent's update_icon oooh the misery . = ..() icon_state = "firestorm_pan" - -/obj/item/ammo_box/magazine/tec9 - name = "machine pistol magazine (9mm AP)" - desc = "A sizable 20-round magazine for the TEC-9 machine pistol. These armor-piercing rounds are okay at piercing protective equipment, but lose some stopping power.." - icon_state = "tec_mag" - ammo_type = /obj/item/ammo_casing/c9mm/ap - caliber = "9mm" - max_ammo = 20 diff --git a/code/modules/projectiles/boxes_magazines/external/toy.dm b/code/modules/projectiles/boxes_magazines/external/toy.dm index 608faa67a97..c3cbecfcc48 100644 --- a/code/modules/projectiles/boxes_magazines/external/toy.dm +++ b/code/modules/projectiles/boxes_magazines/external/toy.dm @@ -21,46 +21,10 @@ /obj/item/ammo_box/magazine/toy/pistol name = "foam force pistol magazine" desc = "A toy pistol magazine designed to fit harmless foam darts." - icon_state = "stechkin_mag-1" - base_icon_state = "stechkin_mag" + icon_state = "toy_magazine-1" + base_icon_state = "toy_magazine" max_ammo = 8 multiple_sprites = AMMO_BOX_FULL_EMPTY /obj/item/ammo_box/magazine/toy/pistol/riot ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot - -/obj/item/ammo_box/magazine/toy/smgm45 - name = "donksoft SMG magazine" - desc = "A toy submachine gun magazine designed to fit harmless foam darts." - icon_state = "c20r45-toy" - base_icon_state = "c20r45" - caliber = "foam_force" - ammo_type = /obj/item/ammo_casing/caseless/foam_dart - max_ammo = 20 - -/obj/item/ammo_box/magazine/toy/smgm45/update_icon_state() - . = ..() - icon_state = "[base_icon_state]-[round(ammo_count(), 2)]" - -/obj/item/ammo_box/magazine/toy/smgm45/riot - icon_state = "c20r45-riot" - desc = "A toy submachine gun magazine designed to fit legally-harmless riot control darts." - ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot - -/obj/item/ammo_box/magazine/toy/m762 - name = "donksoft box magazine" - desc = "A huge toy LMG magazine designed to fit vast quantities of harmless foam darts." - icon_state = "a762-100" - base_icon_state = "a762" - caliber = "foam_force" - ammo_type = /obj/item/ammo_casing/caseless/foam_dart - max_ammo = 50 - w_class = WEIGHT_CLASS_NORMAL - -/obj/item/ammo_box/magazine/toy/m762/update_icon_state() - . = ..() - icon_state = "[base_icon_state]-[round(ammo_count(), 10)]" - -/obj/item/ammo_box/magazine/toy/m762/riot - desc = "A huge toy LMG magazine designed to fit vast quantities of legally-harmless riot control darts." - ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot diff --git a/code/modules/projectiles/boxes_magazines/generic_ammo_box.dm b/code/modules/projectiles/boxes_magazines/generic_ammo_box.dm deleted file mode 100644 index 2c88824623e..00000000000 --- a/code/modules/projectiles/boxes_magazines/generic_ammo_box.dm +++ /dev/null @@ -1,53 +0,0 @@ -/obj/item/ammo_box/generic - name = "generic ammo box" - desc = "A generic, unbranded box of ammo. It doesn't have great capacity, but it can hold a variety of different calibers." - max_ammo = 20 - start_empty = TRUE - icon_state = "generic-ammo" - /// Does the box currently have an ammo type set? - var/ammo_set = FALSE - /// Name of the currently set ammo type - var/ammo_name - -/obj/item/ammo_box/generic/update_ammo_count() - . = ..() - if(LAZYLEN(stored_ammo) == 0) - ammo_set = FALSE - ammo_type = /obj/item/ammo_casing - -/obj/item/ammo_box/generic/proc/update_max_ammo(obj/item/ammo_casing/ammo) - if(ammo.bullet_per_box) - max_ammo = round(ammo.bullet_per_box) - else - max_ammo = 10 - - return - -/obj/item/ammo_box/generic/attackby(obj/item/attacking_obj, mob/user, params, silent, replace_spent) - . = ..() - - if(!ammo_set && istype(attacking_obj, /obj/item/ammo_casing)) - var/obj/item/ammo_casing/ammo_load = attacking_obj.type - ammo_type = ammo_load - ammo_set = TRUE - ammo_name = attacking_obj.name - update_max_ammo(attacking_obj) - to_chat(user, span_notice("You set the box to hold [attacking_obj]!")) - - if(istype(attacking_obj, /obj/item/pen)) - if(!user.is_literate()) - to_chat(user, span_notice("You scribble illegibly on the cover of [src]!")) - return - var/inputvalue = stripped_input(user, "What would you like to label the box?", "Box Labelling", "", MAX_NAME_LEN) - - if(!inputvalue) - return - - if(user.canUseTopic(src, BE_CLOSE)) - name = "[initial(src.name)][(inputvalue ? " - '[inputvalue]'" : null)]" - -/obj/item/ammo_box/generic/examine(mob/user) - . = ..() - . += span_notice("[ammo_set ? "It's set to hold [ammo_name]\s. The box can hold up to [max_ammo] rounds." : "It doesn't have an ammo type set. Use a bullet on the box to set it."]") - . += span_notice("You can use a pen on it to rename the box.") - diff --git a/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm b/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm index 658eef2d781..a4282a40a9e 100644 --- a/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm +++ b/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm @@ -2,7 +2,7 @@ name = "revolver cylinder" ammo_type = /obj/item/ammo_casing/a357 caliber = ".357" - max_ammo = 7 + max_ammo = 6 instant_load = TRUE /obj/item/ammo_box/magazine/internal/cylinder/get_round(keep = FALSE, counter_clockwise = FALSE) diff --git a/code/modules/projectiles/boxes_magazines/internal/rifle.dm b/code/modules/projectiles/boxes_magazines/internal/rifle.dm index 4f2f8c53795..e179fbfa903 100644 --- a/code/modules/projectiles/boxes_magazines/internal/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/internal/rifle.dm @@ -22,8 +22,8 @@ /obj/item/ammo_box/magazine/internal/boltaction/polymer name = "polymer bolt action rifle internal magazine" - ammo_type = /obj/item/ammo_casing/aac_300blk - caliber = ".300 BLK" + ammo_type = /obj/item/ammo_casing/a762_40 + caliber = "7.62x40mm" max_ammo = 5 /obj/item/ammo_box/magazine/internal/vickland diff --git a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm index 29717fd9408..f797d5b4ee5 100644 --- a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm +++ b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm @@ -12,16 +12,6 @@ /obj/item/ammo_box/magazine/internal/shot/lethal ammo_type = /obj/item/ammo_casing/shotgun/buckshot -/obj/item/ammo_box/magazine/internal/shot/com - name = "combat shotgun internal magazine" - ammo_type = /obj/item/ammo_casing/shotgun/buckshot - max_ammo = 6 - -/obj/item/ammo_box/magazine/internal/shot/com/compact - name = "compact combat shotgun internal magazine" - ammo_type = /obj/item/ammo_casing/shotgun/buckshot - max_ammo = 4 - /obj/item/ammo_box/magazine/internal/shot/dual name = "double-barrel shotgun internal magazine" max_ammo = 2 @@ -52,6 +42,18 @@ caliber = ".38" max_ammo = 12 +/obj/item/ammo_box/magazine/internal/shot/winchester/absolution + name = "absolution internal magazine" + ammo_type = /obj/item/ammo_casing/a357 + caliber = ".357" + max_ammo = 8 + +/obj/item/ammo_box/magazine/internal/shot/winchester/conflagration + name = "conflagration internal magazine" + ammo_type = /obj/item/ammo_casing/shotgun/buckshot + caliber = "12ga" + max_ammo = 5 + /obj/item/ammo_box/magazine/internal/shot/beacon name = "beacon internal magazine" ammo_type = /obj/item/ammo_casing/a4570 @@ -59,16 +61,6 @@ max_ammo = 1 multiload = FALSE -/obj/item/ammo_box/magazine/internal/shot/com/compact/compact - name = "compact compact combat shotgun internal magazine" - ammo_type = /obj/item/ammo_casing/shotgun/buckshot - max_ammo = 3 - -/obj/item/ammo_box/magazine/internal/shot/com/compact/compact/compact - name = "compact compact compact combat shotgun internal magazine" - ammo_type = /obj/item/ammo_casing/shotgun/buckshot - max_ammo = 2 - /obj/item/ammo_box/magazine/internal/shot/sex name = "six-barrel shotgun internal magazine" max_ammo = 6 diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index b92b79e0009..64d643304bd 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -4,6 +4,8 @@ icon = 'icons/obj/guns/projectile.dmi' icon_state = "flatgun" item_state = "gun" + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT custom_materials = list(/datum/material/iron=2000) @@ -16,101 +18,191 @@ attack_verb = list("struck", "hit", "bashed") pickup_sound = 'sound/items/handling/gun_pickup.ogg' drop_sound = 'sound/items/handling/gun_drop.ogg' + //trigger guard on the weapon, hulks can't fire them with their big meaty fingers + trigger_guard = TRIGGER_GUARD_NORMAL + + light_system = MOVABLE_LIGHT_DIRECTIONAL - /// The manufacturer of this weapon. For flavor mostly. If none, this will not show. + ///The manufacturer of this weapon. For flavor mostly. If none, this will not show. var/manufacturer = MANUFACTURER_NONE +/* + * Muzzle +*/ + ///Effect for the muzzle flash of the gun. + var/obj/effect/muzzle_flash/muzzle_flash + + light_range = 3 + light_color = COLOR_VERY_SOFT_YELLOW + + ///Icon state of the muzzle flash effect. + var/muzzleflash_iconstate + +/* + * Firing +*/ var/fire_sound = 'sound/weapons/gun/pistol/shot.ogg' var/vary_fire_sound = TRUE var/fire_sound_volume = 50 var/dry_fire_sound = 'sound/weapons/gun/general/dry_fire.ogg' - ///Text showed when attempting to fire with no round or empty round. var/dry_fire_text = "click" - ///whether or not a message is displayed when fired - var/suppressed = null - var/can_suppress = FALSE + +/* + * Reloading +*/ + var/obj/item/ammo_casing/chambered = null + ///Whether the gun can be tacloaded by slapping a fresh magazine directly on it + var/tac_reloads = TRUE + ///If we have the 'snowflake mechanic,' how long should it take to reload? + var/tactical_reload_delay = 1 SECONDS + +//BALLISTIC + ///Compatible magazines with the gun + var/default_ammo_type + ///Allowed base types of magazines with the gun + var/allowed_ammo_types + ///Incompatible magazines with the gun + var/blacklisted_ammo_types + ///Whether the gun alarms when empty or not. + var/empty_alarm = FALSE + ///Do we eject the magazine upon runing out of ammo? + var/empty_autoeject = FALSE + ///Whether the gun supports multiple special mag types + var/special_mags = FALSE + + ///Actual magazine currently contained within the gun + var/obj/item/ammo_box/magazine/magazine + ///whether the gun ejects the chambered casing + var/casing_ejector = TRUE + ///Whether the gun has an internal magazine or a detatchable one. Overridden by BOLT_TYPE_NO_BOLT. + var/internal_magazine = FALSE + ///Whether the gun *can* be reloaded + var/sealed_magazine = FALSE + + + ///Phrasing of the magazine in examine and notification messages; ex: magazine, box, etx + var/magazine_wording = "magazine" + ///Phrasing of the cartridge in examine and notification messages; ex: bullet, shell, dart, etc. + var/cartridge_wording = "bullet" + + ///sound when inserting magazine + var/load_sound = 'sound/weapons/gun/general/magazine_insert_full.ogg' + ///sound when inserting an empty magazine + var/load_empty_sound = 'sound/weapons/gun/general/magazine_insert_empty.ogg' + ///volume of loading sound + var/load_sound_volume = 40 + ///whether loading sound should vary + var/load_sound_vary = TRUE + ///Sound of ejecting a magazine + var/eject_sound = 'sound/weapons/gun/general/magazine_remove_full.ogg' + ///sound of ejecting an empty magazine + var/eject_empty_sound = 'sound/weapons/gun/general/magazine_remove_empty.ogg' + ///volume of ejecting a magazine + var/eject_sound_volume = 40 + ///whether eject sound should vary + var/eject_sound_vary = TRUE + +//ENERGY + //What type of power cell this uses + var/obj/item/stock_parts/cell/gun/cell + //Can it be charged in a recharger? + var/can_charge = TRUE + var/selfcharge = FALSE + var/charge_tick = 0 + var/charge_delay = 4 + //whether the gun's cell drains the cyborg user's cell to recharge + var/use_cyborg_cell = FALSE + //Time it takes to unscrew the cell + var/unscrewing_time = 2 SECONDS + + ///if the gun's cell cannot be replaced + var/internal_cell = FALSE + + var/list/ammo_type = list(/obj/item/ammo_casing/energy) + //The state of the select fire switch. Determines from the ammo_type list what kind of shot is fired next. + var/select = 1 + +/* + * Operation +*/ + //whether or not a message is displayed when fired + var/suppressed = FALSE var/suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' var/suppressed_volume = 60 - var/can_unsuppress = TRUE - var/obj/item/ammo_casing/chambered = null - ///trigger guard on the weapon. Used for hulk mutations and ashies. I honestly dont know how usefult his is, id avoid touching it - trigger_guard = TRIGGER_GUARD_NORMAL - ///Set the description of the gun to this when sawed off - var/sawn_desc = null - ///This triggers some sprite behavior in shotguns and prevents further sawoff, note that can_be_sawn_off is on gun/ballistic and not here, wtf. - var/sawn_off = FALSE - /// how many shots per burst, Ex: most machine pistols, M90, some ARs are 3rnd burst, while others like the GAR and laser minigun are 2 round burst. - var/burst_size = 3 - ///The rate of fire when firing in a burst. Not the delay between bursts - var/burst_delay = 0.15 SECONDS - ///The rate of fire when firing full auto and semi auto, and between bursts; for bursts its fire delay + burst_delay after every burst - var/fire_delay = 0.2 SECONDS + //true if the gun is wielded via twohanded component, shouldnt affect anything else + var/wielded = FALSE + //true if the gun is wielded after delay, should affects accuracy + var/wielded_fully = FALSE + ///Slowdown for wielding + var/wield_slowdown = 0.1 + ///How long between wielding and firing in tenths of seconds + var/wield_delay = 0.4 SECONDS + ///Storing value for above + var/wield_time = 0 - /// after initializing, we set the firemode to this - var/default_firemode = FIREMODE_SEMIAUTO - ///Firemode index, due to code shit this is the currently selected firemode - var/firemode_index - /// Our firemodes, subtract and add to this list as needed. NOTE that the autofire component is given on init when FIREMODE_FULLAUTO is here. - var/list/gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST, FIREMODE_FULLAUTO, FIREMODE_OTHER, FIREMODE_OTHER_TWO) - /// A acoc list that determines the names of firemodes. Use if you wanna be weird and set the name of say, FIREMODE_OTHER to "Underbarrel grenade launcher" for example. - var/list/gun_firenames = list(FIREMODE_SEMIAUTO = "single", FIREMODE_BURST = "burst fire", FIREMODE_FULLAUTO = "full auto", FIREMODE_OTHER = "misc. fire", FIREMODE_OTHER_TWO = "very misc. fire") - ///BASICALLY: the little button you select firing modes from? this is jsut the prefix of the icon state of that. For example, if we set it as "laser", the fire select will use "laser_single" and so on. - var/fire_select_icon_state_prefix = "" - ///If true, we put "safety_" before fire_select_icon_state_prefix's prefix. ex. "safety_laser_single" - var/adjust_fire_select_icon_state_on_safety = FALSE +// BALLISTIC + ///Whether the gun has to be racked each shot or not. + var/semi_auto = TRUE + ///The bolt type of the gun, affects quite a bit of functionality, see gun.dm in defines for bolt types: BOLT_TYPE_STANDARD; BOLT_TYPE_LOCKING; BOLT_TYPE_OPEN; BOLT_TYPE_NO_BOLT + var/bolt_type = BOLT_TYPE_STANDARD + ///Used for locking bolt and open bolt guns. Set a bit differently for the two but prevents firing when true for both. + var/bolt_locked = FALSE + ///Phrasing of the bolt in examine and notification messages; ex: bolt, slide, etc. + var/bolt_wording = "bolt" + ///length between individual racks + var/rack_delay = 5 + ///time of the most recent rack, used for cooldown purposes + var/recent_rack = 0 + + ///Whether the gun can be sawn off by sawing tools + var/can_be_sawn_off = FALSE + //description change if weapon is sawn-off + var/sawn_desc = null + var/sawn_off = FALSE - ///Are we firing a burst? If so, dont fire again until burst is done - var/currently_firing_burst = FALSE - ///This prevents gun from firing until the coodown is done, affected by lag - var/current_cooldown = 0 - ///affects if you can fire it unwielded or even dual wield it. LIGHT means dual wield allowed, HEAVY and higher means you have to wield to fire + ///sound of racking + var/rack_sound = 'sound/weapons/gun/general/bolt_rack.ogg' + ///volume of racking + var/rack_sound_volume = 60 + ///whether racking sound should vary + var/rack_sound_vary = TRUE + ///sound of when the bolt is locked back manually + var/lock_back_sound = 'sound/weapons/gun/general/slide_lock_1.ogg' + ///volume of lock back + var/lock_back_sound_volume = 60 + ///whether lock back varies + var/lock_back_sound_vary = TRUE + + ///sound of dropping the bolt or releasing a slide + var/bolt_drop_sound = 'sound/weapons/gun/general/bolt_drop.ogg' + ///volume of bolt drop/slide release + var/bolt_drop_sound_volume = 60 + ///empty alarm sound (if enabled) + var/empty_alarm_sound = 'sound/weapons/gun/general/empty_alarm.ogg' + ///empty alarm volume sound + var/empty_alarm_volume = 70 + ///whether empty alarm sound varies + var/empty_alarm_vary = TRUE + +/* + * Stats +*/ var/weapon_weight = WEAPON_LIGHT - ///If dual wielding, add this to the spread - var/dual_wield_spread = 24 - /// ???, no clue what this is. Original desc: //Set to 0 for shotguns. This is used for weapons that don't fire all their bullets at once. - var/randomspread = 1 - - ///Alters projectile damage multiplicatively based on this value. Use it for "better" or "worse" weapons that use the same ammo. + //Alters projectile damage multiplicatively based on this value. Use it for "better" or "worse" weapons that use the same ammo. var/projectile_damage_multiplier = 1 - - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' - - var/list/attachment_options = list() //This.. works for now.. gun refactor soon - - var/can_flashlight = FALSE //if a flashlight can be added or removed if it already has one. - var/obj/item/flashlight/seclite/gun_light - var/datum/action/item_action/toggle_gunlight/alight - var/gunlight_state = "flight" - - var/can_bayonet = FALSE //if a bayonet can be added or removed if it already has one. - var/obj/item/kitchen/knife/bayonet - var/knife_x_offset = 0 - var/knife_y_offset = 0 - - var/ammo_x_offset = 0 //used for positioning ammo count overlay on sprite - var/ammo_y_offset = 0 - var/flight_x_offset = 0 - var/flight_y_offset = 0 - - //Zooming - var/zoomable = FALSE //whether the gun generates a Zoom action on creation - var/zoomed = FALSE //Zoom toggle - var/zoom_amt = 3 //Distance in TURFs to move the user's screen forward (the "zoom" effect) - var/zoom_out_amt = 0 - var/datum/action/toggle_scope_zoom/azoom - + //Speed someone can be flung if its point blank var/pb_knockback = 0 - var/wielded = FALSE // true if the gun is wielded via twohanded component, shouldnt affect anything else - - var/wielded_fully = FALSE // true if the gun is wielded after delay, should affects accuracy - + //Set to 0 for shotguns. This is used for weapons that don't fire all their bullets at once. + var/randomspread = TRUE ///How much the bullet scatters when fired while wielded. var/spread = 4 ///How much the bullet scatters when fired while unwielded. var/spread_unwielded = 12 + //additional spread when dual wielding + var/dual_wield_spread = 24 + ///Screen shake when the weapon is fired while wielded. var/recoil = 0 @@ -121,49 +213,138 @@ ///this is how much deviation the gun recoil can have, recoil pushes the screen towards the reverse angle you shot + some deviation which this is the max. var/recoil_deviation = 22.5 - ///Slowdown for wielding - var/wield_slowdown = 0.1 - ///How long between wielding and firing in tenths of seconds - var/wield_delay = 0.4 SECONDS - ///Storing value for above - var/wield_time = 0 + ///Used if the guns recoil is lower then the min, it clamps the highest recoil + var/min_recoil = 0 - ///Effect for the muzzle flash of the gun. - var/obj/effect/muzzle_flash/muzzle_flash - ///Icon state of the muzzle flash effect. - var/muzzleflash_iconstate - ///Brightness of the muzzle flash effect. - var/muzzle_flash_lum = 3 - ///Color of the muzzle flash effect. - var/muzzle_flash_color = COLOR_VERY_SOFT_YELLOW + var/gunslinger_recoil_bonus = 0 + var/gunslinger_spread_bonus = 0 - //gun saftey + /// how many shots per burst, Ex: most machine pistols, M90, some ARs are 3rnd burst, while others like the GAR and laser minigun are 2 round burst. + var/burst_size = 3 + ///The rate of fire when firing in a burst. Not the delay between bursts + var/burst_delay = 0.15 SECONDS + ///The rate of fire when firing full auto and semi auto, and between bursts; for bursts its fire delay + burst_delay after every burst + var/fire_delay = 0.2 SECONDS + //Prevent the weapon from firing again while already firing + var/firing_burst = 0 + +/* + * Overlay +*/ + ///Used for positioning ammo count overlay on sprite + var/ammo_x_offset = 0 + var/ammo_y_offset = 0 + +//BALLISTIC + ///Whether the sprite has a visible magazine or not + var/mag_display = FALSE + ///Whether the sprite has a visible ammo display or not + var/mag_display_ammo = FALSE + ///Whether the sprite has a visible indicator for being empty or not. + var/empty_indicator = FALSE + ///Whether the sprite has a visible magazine or not + var/show_magazine_on_sprite = FALSE + ///Do we show how much ammo is left on the sprite? In increments of 20. + var/show_ammo_capacity_on_magazine_sprite = FALSE + ///Whether the sprite has a visible ammo display or not + var/show_magazine_on_sprite_ammo = FALSE + ///Whether the gun supports multiple special mag types + var/unique_mag_sprites_for_variants = FALSE + +//ENERGY + //Do we handle overlays with base update_appearance()? + var/automatic_charge_overlays = TRUE + var/charge_sections = 4 + //if this gun uses a stateful charge bar for more detail + var/shaded_charge = FALSE + //Modifies WHOS state //im SOMEWHAT this is wether or not the overlay changes based on the ammo type selected + var/modifystate = TRUE + +/* + * Attachment +*/ + ///The types of attachments allowed, a list of types. SUBTYPES OF AN ALLOWED TYPE ARE ALSO ALLOWED + var/list/valid_attachments = list() + ///Number of attachments that can fit on a given slot + var/list/slot_available = ATTACHMENT_DEFAULT_SLOT_AVAILABLE + ///Offsets for the slots on this gun. should be indexed by SLOT and then by X/Y + var/list/slot_offsets = list() + +/* + * Zooming +*/ + ///Whether the gun generates a Zoom action on creation + var/zoomable = FALSE + //Zoom toggle + var/zoomed = FALSE + ///Distance in TURFs to move the user's screen forward (the "zoom" effect) + var/zoom_amt = 3 + var/zoom_out_amt = 0 + var/datum/action/toggle_scope_zoom/azoom + +/* + * Safety +*/ ///Does this gun have a saftey and thus can toggle it? var/has_safety = FALSE ///If the saftey on? If so, we can't fire the weapon var/safety = FALSE - ///The wording of safety. Useful for guns that have a non-standard safety system, like a revolver var/safety_wording = "safety" + ///multiplier for this gun's misfire chances. Closer to 0 is better. + var/safety_multiplier = 1 + +/* + * Spawn Info (Stuff that becomes useless onces the gun is spawned, mostly here for mappers) +*/ + ///Attachments spawned on initialization. Should also be in valid attachments or it SHOULD(once i add that) fail + var/list/default_attachments = list() + +//ENERGY + //set to true so the gun is given an empty cell + var/spawn_no_ammo = FALSE + +// Need to sort + ///trigger guard on the weapon. Used for hulk mutations and ashies. I honestly dont know how usefult his is, id avoid touching it + trigger_guard = TRIGGER_GUARD_NORMAL -/obj/item/gun/Initialize() + /// after initializing, we set the firemode to this + var/default_firemode = FIREMODE_SEMIAUTO + ///Firemode index, due to code shit this is the currently selected firemode + var/firemode_index + /// Our firemodes, subtract and add to this list as needed. NOTE that the autofire component is given on init when FIREMODE_FULLAUTO is here. + var/list/gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST, FIREMODE_FULLAUTO, FIREMODE_OTHER, FIREMODE_OTHER_TWO) + /// A acoc list that determines the names of firemodes. Use if you wanna be weird and set the name of say, FIREMODE_OTHER to "Underbarrel grenade launcher" for example. + var/list/gun_firenames = list(FIREMODE_SEMIAUTO = "single", FIREMODE_BURST = "burst fire", FIREMODE_FULLAUTO = "full auto", FIREMODE_OTHER = "misc. fire", FIREMODE_OTHER_TWO = "very misc. fire") + ///BASICALLY: the little button you select firing modes from? this is jsut the prefix of the icon state of that. For example, if we set it as "laser", the fire select will use "laser_single" and so on. + var/fire_select_icon_state_prefix = "" + ///If true, we put "safety_" before fire_select_icon_state_prefix's prefix. ex. "safety_laser_single" + var/adjust_fire_select_icon_state_on_safety = FALSE + + ///Are we firing a burst? If so, dont fire again until burst is done + var/currently_firing_burst = FALSE + ///This prevents gun from firing until the coodown is done, affected by lag + var/current_cooldown = 0 + +/obj/item/gun/Initialize(mapload, spawn_empty) . = ..() RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) - if(gun_light) - alight = new(src) muzzle_flash = new(src, muzzleflash_iconstate) build_zooming() build_firemodes() + if(sawn_off) + sawoff(forced = TRUE) /obj/item/gun/ComponentInitialize() . = ..() + AddComponent(/datum/component/attachment_holder, slot_available, valid_attachments, slot_offsets, default_attachments) AddComponent(/datum/component/two_handed) /// triggered on wield of two handed item /obj/item/gun/proc/on_wield(obj/item/source, mob/user) wielded = TRUE - INVOKE_ASYNC(src, .proc.do_wield, user) + INVOKE_ASYNC(src, PROC_REF(do_wield), user) /obj/item/gun/proc/do_wield(mob/user) user.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/gun, multiplicative_slowdown = wield_slowdown) @@ -185,9 +366,6 @@ wielded_fully = TRUE return TRUE -/obj/item/gun/proc/is_wielded() - return wielded - /// triggered on unwield of two handed item /obj/item/gun/proc/on_unwield(obj/item/source, mob/user) wielded = FALSE @@ -195,54 +373,34 @@ zoom(user, forced_zoom = FALSE) user.remove_movespeed_modifier(/datum/movespeed_modifier/gun) +/obj/item/gun/proc/is_wielded() + return wielded + /obj/item/gun/Destroy() - if(gun_light) - QDEL_NULL(gun_light) - if(bayonet) - QDEL_NULL(bayonet) if(chambered) //Not all guns are chambered (EMP'ed energy guns etc) QDEL_NULL(chambered) if(azoom) QDEL_NULL(azoom) - if(isatom(suppressed)) //SUPPRESSED IS USED AS BOTH A TRUE/FALSE AND AS A REF, WHAT THE FUCKKKKKKKKKKKKKKKKK - QDEL_NULL(suppressed) if(muzzle_flash) QDEL_NULL(muzzle_flash) + if(magazine) + QDEL_NULL(magazine) return ..() /obj/item/gun/handle_atom_del(atom/A) if(A == chambered) chambered = null - update_appearance() - if(A == bayonet) - clear_bayonet() - if(A == gun_light) - clear_gunlight() + update_icon() return ..() /obj/item/gun/examine(mob/user) . = ..() - if(gun_light) - . += "It has \a [gun_light] [can_flashlight ? "" : "permanently "]mounted on it." - if(can_flashlight) //if it has a light and this is false, the light is permanent. - . += "[gun_light] looks like it can be unscrewed from [src]." - else if(can_flashlight) - . += "It has a mounting point for a seclite." - - if(bayonet) - . += "It has \a [bayonet] [can_bayonet ? "" : "permanently "]affixed to it." - if(can_bayonet) //if it has a bayonet and this is false, the bayonet is permanent. - . += "[bayonet] looks like it can be unscrewed from [src]." - else if(can_bayonet) - . += "It has a bayonet lug on it." - if(has_safety) . += "The safety is [safety ? "ON" : "OFF"]. Ctrl-Click to toggle the safety." if(manufacturer) . += "It has [manufacturer] engraved on it." - /obj/item/gun/equipped(mob/living/user, slot) . = ..() if(zoomed && user.get_active_held_item() != src) @@ -250,48 +408,8 @@ /obj/item/gun/attack(mob/M as mob, mob/user) if(user.a_intent == INTENT_HARM) //Flogging - if(bayonet) - M.attackby(bayonet, user) - return - else - return ..() - return - -/obj/item/gun/attack_obj(obj/O, mob/user) - if(user.a_intent == INTENT_HARM) - if(bayonet) - O.attackby(bayonet, user) - return - return ..() - -/obj/item/gun/attackby(obj/item/I, mob/user, params) - if(user.a_intent == INTENT_HARM) - return ..() - else if(istype(I, /obj/item/flashlight/seclite)) - if(!can_flashlight) - return ..() - var/obj/item/flashlight/seclite/S = I - if(!gun_light) - if(!user.transferItemToLoc(I, src)) - return - to_chat(user, "You click [S] into place on [src].") - set_gun_light(S) - update_gunlight() - alight = new(src) - if(loc == user) - alight.Grant(user) - else if(istype(I, /obj/item/kitchen/knife)) - var/obj/item/kitchen/knife/K = I - if(!can_bayonet || !K.bayonet || bayonet) //ensure the gun has an attachment point available, and that the knife is compatible with it. - return ..() - if(!user.transferItemToLoc(I, src)) - return - to_chat(user, "You attach [K] to [src]'s bayonet lug.") - bayonet = K - update_appearance() - - else return ..() + return //called after the gun has successfully fired its chambered ammo. /obj/item/gun/proc/process_chamber(atom/shooter) @@ -513,6 +631,7 @@ /obj/item/gun/proc/reset_current_cooldown() current_cooldown = FALSE + /obj/item/gun/proc/shoot_with_empty_chamber(mob/living/user as mob|obj) if(!safety) to_chat(user, "*[dry_fire_text]*") @@ -533,7 +652,11 @@ if(wielded_fully) simulate_recoil(user, recoil, actual_angle) else if(!wielded_fully) - simulate_recoil(user, recoil_unwielded, actual_angle) + var/recoil_temp = recoil_unwielded + var/obj/item/shield/riot/shield = user.get_inactive_held_item() + if(istype(shield)) + recoil_temp += shield.recoil_bonus + simulate_recoil(user, recoil_temp, actual_angle) if(suppressed) playsound(user, suppressed_sound, suppressed_volume, vary_fire_sound, ignore_walls = FALSE, extrarange = SILENCED_SOUND_EXTRARANGE, falloff_distance = 0) @@ -581,8 +704,8 @@ . = ..() if(!has_safety) return - - if(src != user.get_active_held_item()) + // only checks for first level storage e.g pockets, hands, suit storage, belts, nothing in containers + if(!in_contents_of(user)) return if(isliving(user) && in_range(src, user)) @@ -600,116 +723,6 @@ update_appearance() - -/obj/item/gun/screwdriver_act(mob/living/user, obj/item/I) - . = ..() - if(.) - return - if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) - return - attachment_options = list() - get_gun_attachments() - if(LAZYLEN(attachment_options) == 1) - remove_gun_attachments(user, I, attachment_options[1]) - else if (LAZYLEN(attachment_options)) - var/picked_option = show_radial_menu(user, src, attachment_options, radius = 38, require_near = TRUE) - remove_gun_attachments(user, I, picked_option) - -/obj/item/gun/proc/get_gun_attachments() - if(can_flashlight && gun_light) - attachment_options += list("Light" = image(icon = gun_light.icon, icon_state = gun_light.icon_state)) - if(can_bayonet && bayonet) - attachment_options += list("Knife" = image(icon = bayonet.icon, icon_state = bayonet.icon_state)) - -/obj/item/gun/proc/remove_gun_attachments(mob/living/user, obj/item/I, picked_option) - if(picked_option == "Light") - return remove_gun_attachment(user, I, gun_light, "unscrewed") - else if(picked_option == "Knife") - return remove_gun_attachment(user, I, bayonet, "unfix") - -/obj/item/gun/proc/remove_gun_attachment(mob/living/user, obj/item/tool_item, obj/item/item_to_remove, removal_verb) - if(tool_item) - tool_item.play_tool_sound(src) - to_chat(user, "You [removal_verb ? removal_verb : "remove"] [item_to_remove] from [src].") - item_to_remove.forceMove(drop_location()) - - if(Adjacent(user) && !issilicon(user)) - user.put_in_hands(item_to_remove) - - if(item_to_remove == bayonet) - return clear_bayonet() - else if(item_to_remove == gun_light) - return clear_gunlight() - -/obj/item/gun/proc/clear_bayonet() - if(!bayonet) - return - bayonet = null - update_appearance() - return TRUE - -/obj/item/gun/proc/clear_gunlight() - if(!gun_light) - return - var/obj/item/flashlight/seclite/removed_light = gun_light - set_gun_light(null) - update_gunlight() - removed_light.update_brightness() - QDEL_NULL(alight) - return TRUE - -/** - * Swaps the gun's seclight, dropping the old seclight if it has not been qdel'd. - * - * Returns the former gun_light that has now been replaced by this proc. - * Arguments: - * * new_light - The new light to attach to the weapon. Can be null, which will mean the old light is removed with no replacement. - */ -/obj/item/gun/proc/set_gun_light(obj/item/flashlight/seclite/new_light) - // Doesn't look like this should ever happen? We're replacing our old light with our old light? - if(gun_light == new_light) - CRASH("Tried to set a new gun light when the old gun light was also the new gun light.") - - . = gun_light - - // If there's an old gun light that isn't being QDELETED, detatch and drop it to the floor. - if(!QDELETED(gun_light)) - gun_light.set_light_flags(gun_light.light_flags & ~LIGHT_ATTACHED) - if(gun_light.loc != get_turf(src)) - gun_light.forceMove(get_turf(src)) - - // If there's a new gun light to be added, attach and move it to the gun. - if(new_light) - new_light.set_light_flags(new_light.light_flags | LIGHT_ATTACHED) - if(new_light.loc != src) - new_light.forceMove(src) - - gun_light = new_light - -/obj/item/gun/ui_action_click(mob/user, actiontype) - if(istype(actiontype, alight)) - toggle_gunlight() - else - ..() - -/obj/item/gun/proc/toggle_gunlight() - if(!gun_light) - return - - var/mob/living/carbon/human/user = usr - gun_light.on = !gun_light.on - gun_light.update_brightness() - to_chat(user, "You toggle the gunlight [gun_light.on ? "on":"off"].") - - playsound(user, gun_light.on ? gun_light.toggle_on_sound : gun_light.toggle_off_sound, 40, TRUE) - update_gunlight() - -/obj/item/gun/proc/update_gunlight() - update_appearance() - for(var/X in actions) - var/datum/action/A = X - A.UpdateButtonIcon() - /obj/item/gun/attack_hand(mob/user) . = ..() update_appearance() @@ -728,29 +741,13 @@ if(zoomed) zoom(user, user.dir) -/obj/item/gun/update_overlays() +/obj/item/gun/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) . = ..() - if(gun_light) - var/mutable_appearance/flashlight_overlay - var/state = "[gunlight_state][gun_light.on? "_on":""]" //Generic state. - if(gun_light.icon_state in icon_states('icons/obj/guns/flashlights.dmi')) //Snowflake state? - state = gun_light.icon_state - flashlight_overlay = mutable_appearance('icons/obj/guns/flashlights.dmi', state) - flashlight_overlay.pixel_x = flight_x_offset - flashlight_overlay.pixel_y = flight_y_offset - . += flashlight_overlay - - if(bayonet) - var/mutable_appearance/knife_overlay - var/state = "bayonet" //Generic state. - if(bayonet.icon_state in icon_states('icons/obj/guns/bayonets.dmi')) //Snowflake state? - state = bayonet.icon_state - var/icon/bayonet_icons = 'icons/obj/guns/bayonets.dmi' - knife_overlay = mutable_appearance(bayonet_icons, state) - knife_overlay.pixel_x = knife_x_offset - knife_overlay.pixel_y = knife_y_offset - . += knife_overlay + if(prob(GUN_NO_SAFETY_MALFUNCTION_CHANCE_HIGH)) + discharge("hits the ground hard") +/obj/item/gun/update_overlays() + . = ..() if(ismob(loc) && has_safety) var/mutable_appearance/safety_overlay safety_overlay = mutable_appearance('icons/obj/guns/safety.dmi') @@ -799,7 +796,7 @@ if(chambered && chambered.BB && can_trigger_gun(user)) chambered.BB.damage *= 3 //Check is here for safeties and such, brain will be removed after - if(!pre_fire(target, user, TRUE, params, BODY_ZONE_HEAD)) + if(!pre_fire(target, user, TRUE, FALSE, params, BODY_ZONE_HEAD)) // We're already in handle_suicide, hence the 4th parameter needs to be FALSE to avoid circular logic. Also, BODY_ZONE_HEAD because we want to damage the head as a whole. return var/obj/item/organ/brain/brain_to_blast = target.getorganslot(ORGAN_SLOT_BRAIN) @@ -828,61 +825,42 @@ /obj/item/gun/proc/before_firing(atom/target,mob/user) return -// We do it like this in case theres some specific gun behavior for adjusting recoil, like bipods or folded stocks /obj/item/gun/proc/calculate_recoil(mob/user, recoil_bonus = 0) - return recoil_bonus + if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) + recoil_bonus += gunslinger_recoil_bonus + return clamp(recoil_bonus, min_recoil , INFINITY) -// We do it like this in case theres some specific gun behavior for adjusting spread, like bipods or folded stocks /obj/item/gun/proc/calculate_spread(mob/user, bonus_spread) - ///our final spread value - var/sprd = 0 - ///our randomized value after checking if we are wielded or not + var/final_spread = 0 var/randomized_gun_spread = 0 - ///bonus - var/randomized_bonus_spread - // do we have poor aim - var/poor_aim = FALSE + var/randomized_bonus_spread = 0 - //do we have bonus_spread ? If so, set sprd to it because it means a subtype's proc messed with it - sprd += bonus_spread + final_spread += bonus_spread - //reset bonus_spread for poor aim... - bonus_spread = 0 + if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) + randomized_bonus_spread += rand(0, gunslinger_spread_bonus) - // if we have poor aim, we fuck the shooter over if(HAS_TRAIT(user, TRAIT_POOR_AIM)) - bonus_spread += 25 - poor_aim = TRUE - // then we randomize the bonus spread - randomized_bonus_spread = rand(poor_aim ? 10 : 0, bonus_spread) //poor aim is no longer just a nusiance - - //then, we mutiply previous bonus spread as it means dual wielding usually, it also means poor aim is also even more severe - randomized_bonus_spread *= DUALWIELD_PENALTY_EXTRA_MULTIPLIER + randomized_bonus_spread += rand(0, 25) - // we will then calculate gun spread depending on if we are fully wielding (after do_after) the gun or not + //We will then calculate gun spread depending on if we are fully wielding (after do_after) the gun or not randomized_gun_spread = rand(0, wielded_fully ? spread : spread_unwielded) - //finally, we put it all together including if sprd has a value - sprd += randomized_gun_spread + randomized_bonus_spread - - //clamp it down to avoid guns with negative spread to have worse recoil... - sprd = clamp(sprd, 0, INFINITY) + final_spread += randomized_gun_spread + randomized_bonus_spread - // im not sure what this does, i beleive its meant to make it so bullet spread goes in the opposite direction? get back to me on this - update,i have commented it out, however it appears be dapening spread. weird. - //sprd *= (rand() - 0.5) + //Clamp it down to avoid guns with negative spread to have worse recoil... + final_spread = clamp(final_spread, 0, INFINITY) - //coin flip if we mutiply output by -1 so spread isn't JUST to the right + //So spread isn't JUST to the right if(prob(50)) - sprd *= -1 + final_spread *= -1 - // then we round it up and send it! - sprd = round(sprd) + final_spread = round(final_spread) - return sprd + return final_spread /obj/item/gun/proc/simulate_recoil(mob/living/user, recoil_bonus = 0, firing_angle) var/total_recoil = calculate_recoil(user, recoil_bonus) - total_recoil = clamp(total_recoil, 0 , INFINITY) var/actual_angle = firing_angle + rand(-recoil_deviation, recoil_deviation) + 180 if(actual_angle > 360) @@ -893,14 +871,10 @@ /obj/item/gun/proc/handle_muzzle_flash(mob/living/user, firing_angle) var/atom/movable/flash_loc = user - var/prev_light = light_range - - if(!light_on && (light_range <= muzzle_flash_lum)) - set_light_range(muzzle_flash_lum) - set_light_color(muzzle_flash_color) + if(!light_on) set_light_on(TRUE) - update_light() - addtimer(CALLBACK(src, PROC_REF(reset_light_range), prev_light), 1 SECONDS) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, set_light_on), FALSE), 1 SECONDS) + //Offset the pixels. switch(firing_angle) if(0, 360) @@ -975,39 +949,75 @@ addtimer(CALLBACK(src, PROC_REF(remove_muzzle_flash), flash_loc, muzzle_flash), 0.2 SECONDS) -/obj/item/gun/proc/reset_light_range(lightrange) - set_light_range(lightrange) - set_light_color(initial(light_color)) - if(lightrange <= 0) - set_light_on(FALSE) - update_light() - /obj/item/gun/proc/remove_muzzle_flash(atom/movable/flash_loc, obj/effect/muzzle_flash/muzzle_flash) if(!QDELETED(flash_loc)) flash_loc.vis_contents -= muzzle_flash muzzle_flash.applied = FALSE -///////////// -// ZOOMING // -///////////// +// for guns firing on their own without a user +/obj/item/gun/proc/discharge(cause, seek_chance = 10) + var/target + if(!safety && has_safety) + // someone is very unlucky and about to be shot + if(prob(seek_chance)) + for(var/mob/living/target_mob in range(6, get_turf(src))) + if(!isInSight(src, target_mob)) + continue + target = target_mob + break + if(!target) + var/fire_dir = pick(GLOB.alldirs) + target = get_ranged_target_turf(get_turf(src),fire_dir,6) + if(!chambered || !chambered.BB) + visible_message(span_danger("\The [src] [cause ? "[cause], suddenly going off" : "suddenly goes off"] without its safteies on! Luckily it wasn't live.")) + playsound(src, dry_fire_sound, 30, TRUE) + else + visible_message(span_danger("\The [src] [cause ? "[cause], suddenly going off" : "suddenly goes off"] without its safeties on!")) + unsafe_shot(target) +/obj/item/gun/proc/unsafe_shot(target) + if(chambered) + chambered.fire_casing(target,null, null, null, suppressed, ran_zone(BODY_ZONE_CHEST, 50), 0, src,TRUE) + playsound(src, fire_sound, 100, TRUE) + +/mob/living/proc/trip_with_gun(cause) + var/mob/living/carbon/human/human_holder + if(ishuman(src)) + human_holder = src + for(var/obj/item/gun/at_risk in get_all_contents()) + var/chance_to_fire = round(GUN_NO_SAFETY_MALFUNCTION_CHANCE_MEDIUM * at_risk.safety_multiplier) + if(human_holder) + // gun is less likely to go off in a holster + if(at_risk == human_holder.s_store) + chance_to_fire = round(GUN_NO_SAFETY_MALFUNCTION_CHANCE_LOW * at_risk.safety_multiplier) + if(at_risk.safety == FALSE && prob(chance_to_fire)) + var/bodyzone = pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG,BODY_ZONE_R_LEG) + if(at_risk.process_fire(src,src,FALSE, null, bodyzone) == TRUE) + log_combat(src,src,"misfired",at_risk,"caused by [cause]") + visible_message(span_danger("\The [at_risk.name]'s trigger gets caught as [src] falls, suddenly going off into [src]'s [bodyzone]!"), span_danger("\The [at_risk.name]'s trigger gets caught on something as you fall, suddenly going off into your [bodyzone]!")) + human_holder.force_scream() + +//I need to refactor this into an attachment /datum/action/toggle_scope_zoom name = "Toggle Scope" check_flags = AB_CHECK_CONSCIOUS|AB_CHECK_HANDS_BLOCKED|AB_CHECK_IMMOBILE|AB_CHECK_LYING icon_icon = 'icons/mob/actions/actions_items.dmi' button_icon_state = "sniper_zoom" - var/obj/item/gun/gun = null /datum/action/toggle_scope_zoom/Trigger() + if(!istype(target, /obj/item/gun) || !..()) + return + + var/obj/item/gun/gun = target gun.zoom(owner, owner.dir) -/datum/action/toggle_scope_zoom/IsAvailable() - . = ..() - if(!. && gun) - gun.zoom(owner, owner.dir, FALSE) +/datum/action/toggle_scope_zoom/Remove(mob/user) + if(!istype(target, /obj/item/gun)) + return ..() + + var/obj/item/gun/gun = target + gun.zoom(user, user.dir, FALSE) -/datum/action/toggle_scope_zoom/Remove(mob/living/L) - gun.zoom(L, L.dir, FALSE) ..() /obj/item/gun/proc/rotate(atom/thing, old_dir, new_dir) @@ -1044,8 +1054,7 @@ return if(zoomable) - azoom = new() - azoom.gun = src + azoom = new(src) /obj/item/gun/proc/build_firemodes() if(FIREMODE_FULLAUTO in gun_firemodes) @@ -1102,3 +1111,47 @@ var/safety_prefix = "[our_gun.adjust_fire_select_icon_state_on_safety ? "[our_gun.safety ? "safety_" : ""]" : ""]" button_icon_state = "[safety_prefix][our_gun.fire_select_icon_state_prefix][current_firemode]" return ..() + +GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list( + /obj/item/gun/energy/plasmacutter, + /obj/item/melee/energy, + /obj/item/gear_handle/anglegrinder, + ))) + +///Handles all the logic of sawing off guns, +/obj/item/gun/proc/try_sawoff(mob/user, obj/item/saw) + if(!saw.get_sharpness() || !is_type_in_typecache(saw, GLOB.gun_saw_types) && saw.tool_behaviour != TOOL_SAW) //needs to be sharp. Otherwise turned off eswords can cut this. + return + if(sawn_off) + to_chat(user, span_warning("\The [src] is already shortened!")) + return + user.changeNext_move(CLICK_CD_MELEE) + user.visible_message(span_notice("[user] begins to shorten \the [src]."), span_notice("You begin to shorten \the [src]...")) + + //if there's any live ammo inside the gun, makes it go off + if(blow_up(user)) + user.visible_message(span_danger("\The [src] goes off!"), span_danger("\The [src] goes off in your face!")) + return + + if(do_after(user, 30, target = src)) + user.visible_message(span_notice("[user] shortens \the [src]!"), span_notice("You shorten \the [src].")) + sawoff(forced = FALSE) + +///Used on init or try_sawoff +/obj/item/gun/proc/sawoff(forced = FALSE) + if(sawn_off && !forced) + return + name = "sawn-off [src.name]" + desc = sawn_desc + w_class = WEIGHT_CLASS_NORMAL + item_state = "gun" + slot_flags &= ~ITEM_SLOT_BACK //you can't sling it on your back + slot_flags |= ITEM_SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) + recoil = SAWN_OFF_RECOIL + sawn_off = TRUE + update_appearance() + return TRUE + +///used for sawing guns, causes the gun to fire without the input of the user +/obj/item/gun/proc/blow_up(mob/user) + return diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index a4247898d59..a16f3561269 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -1,6 +1,11 @@ -#define EMPTY_GUN_HELPER(gun_type) \ +#define NO_MAG_GUN_HELPER(gun_type) \ /obj/item/gun/ballistic/##gun_type/no_mag { \ - spawnwithmagazine = FALSE; \ + default_ammo_type = FALSE; \ + } + +#define EMPTY_GUN_HELPER(gun_type) \ + /obj/item/gun/ballistic/##gun_type/empty { \ + spawn_no_ammo = TRUE; \ } ///Subtype for any kind of ballistic gun @@ -9,107 +14,56 @@ desc = "Now comes in flavors like GUN. Uses 10mm ammo, for some reason." name = "projectile gun" w_class = WEIGHT_CLASS_NORMAL - has_safety = TRUE safety = TRUE - ///sound when inserting magazine - var/load_sound = 'sound/weapons/gun/general/magazine_insert_full.ogg' - ///sound when inserting an empty magazine - var/load_empty_sound = 'sound/weapons/gun/general/magazine_insert_empty.ogg' - ///volume of loading sound - var/load_sound_volume = 40 - ///whether loading sound should vary - var/load_sound_vary = TRUE - ///sound of racking - var/rack_sound = 'sound/weapons/gun/general/bolt_rack.ogg' - ///volume of racking - var/rack_sound_volume = 60 - ///whether racking sound should vary - var/rack_sound_vary = TRUE - ///sound of when the bolt is locked back manually - var/lock_back_sound = 'sound/weapons/gun/general/slide_lock_1.ogg' - ///volume of lock back - var/lock_back_sound_volume = 60 - ///whether lock back varies - var/lock_back_sound_vary = TRUE - ///Sound of ejecting a magazine - var/eject_sound = 'sound/weapons/gun/general/magazine_remove_full.ogg' - ///sound of ejecting an empty magazine - var/eject_empty_sound = 'sound/weapons/gun/general/magazine_remove_empty.ogg' - ///volume of ejecting a magazine - var/eject_sound_volume = 40 - ///whether eject sound should vary - var/eject_sound_vary = TRUE - ///sound of dropping the bolt or releasing a slide - var/bolt_drop_sound = 'sound/weapons/gun/general/bolt_drop.ogg' - ///volume of bolt drop/slide release - var/bolt_drop_sound_volume = 60 - ///empty alarm sound (if enabled) - var/empty_alarm_sound = 'sound/weapons/gun/general/empty_alarm.ogg' - ///empty alarm volume sound - var/empty_alarm_volume = 70 - ///whether empty alarm sound varies - var/empty_alarm_vary = TRUE - - ///Whether the gun will spawn loaded with a magazine - var/spawnwithmagazine = TRUE - ///Compatible magazines with the gun - var/mag_type = /obj/item/ammo_box/magazine/m10mm //Removes the need for max_ammo and caliber info - ///Whether the sprite has a visible magazine or not - var/show_magazine_on_sprite = FALSE - ///Whether the sprite has a visible ammo display or not - var/show_magazine_on_sprite_ammo = FALSE - ///Whether the sprite has a visible indicator for being empty or not. - var/empty_indicator = FALSE - ///Whether the gun alarms when empty or not. - var/empty_alarm = FALSE - ///Do we eject the magazine upon runing out of ammo? - var/empty_autoeject = FALSE - ///Whether the gun supports multiple special mag types - var/unique_mag_sprites_for_variants = FALSE - ///The bolt type of the gun, affects quite a bit of functionality, see combat.dm defines for bolt types: BOLT_TYPE_STANDARD; BOLT_TYPE_LOCKING; BOLT_TYPE_OPEN; BOLT_TYPE_NO_BOLT - var/bolt_type = BOLT_TYPE_STANDARD - ///Used for locking bolt and open bolt guns. Set a bit differently for the two but prevents firing when true for both. - var/bolt_locked = FALSE - ///Whether the gun has to be racked each shot or not. - var/semi_auto = TRUE - ///Actual magazine currently contained within the gun - var/obj/item/ammo_box/magazine/magazine - ///whether the gun ejects the chambered casing - var/casing_ejector = TRUE - ///Whether the gun has an internal magazine or a detatchable one. Overridden by BOLT_TYPE_NO_BOLT. - var/internal_magazine = FALSE - ///Phrasing of the bolt in examine and notification messages; ex: bolt, slide, etc. - var/bolt_wording = "bolt" - ///Phrasing of the magazine in examine and notification messages; ex: magazine, box, etx - var/magazine_wording = "magazine" - ///Phrasing of the cartridge in examine and notification messages; ex: bullet, shell, dart, etc. - var/cartridge_wording = "bullet" - ///length between individual racks - var/rack_delay = 5 - ///time of the most recent rack, used for cooldown purposes - var/recent_rack = 0 - ///Whether the gun can be sawn off by sawing tools - var/can_be_sawn_off = FALSE - - ///Whether the gun can be tacloaded by slapping a fresh magazine directly on it - var/tac_reloads = TRUE //Snowflake mechanic no more. - ///If we have the 'snowflake mechanic,' how long should it take to reload? - var/tactical_reload_delay = 1 SECONDS - -/obj/item/gun/ballistic/Initialize() + min_recoil = 0.1 + + valid_attachments = list( + /obj/item/attachment/silencer, + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet, + /obj/item/attachment/sling + ) + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1 + ) + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 26, + "y" = 20, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 19, + "y" = 18, + ) + ) + +/obj/item/gun/ballistic/Initialize(mapload, spawn_empty) . = ..() - if (!spawnwithmagazine && !ispath(mag_type, /obj/item/ammo_box/magazine/internal)) + + allowed_ammo_types = typecacheof(allowed_ammo_types) - blacklisted_ammo_types + + if(spawn_empty) + if(internal_magazine) + spawn_no_ammo = TRUE + else + default_ammo_type = FALSE + + if (!default_ammo_type && !internal_magazine) bolt_locked = TRUE update_appearance() return - if (!magazine) - magazine = new mag_type(src) - if (!spawnwithmagazine) - get_ammo_list (drop_all = TRUE) - chamber_round() + if (ispath(default_ammo_type)) + magazine = new default_ammo_type(src) + if (spawn_no_ammo) + get_ammo_list(drop_all = TRUE) + else + chamber_round() update_appearance() + /obj/item/gun/ballistic/update_icon_state() if(current_skin) icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""]" @@ -123,15 +77,14 @@ . += "[icon_state]_bolt[bolt_locked ? "_locked" : ""]" if (bolt_type == BOLT_TYPE_OPEN && bolt_locked) . += "[icon_state]_bolt" - if (suppressed) - . += "[icon_state]_suppressor" - if (magazine) + if (show_magazine_on_sprite && magazine) if (unique_mag_sprites_for_variants) . += "[icon_state]_mag_[magazine.base_icon_state]" if (!magazine.ammo_count()) - . += "[icon_state]_mag_empty" + . += "[icon_state]_mag_[magazine.base_icon_state]_empty" else . += "[icon_state]_mag" + if(show_ammo_capacity_on_magazine_sprite) var/capacity_number = 0 switch(get_ammo() / magazine.max_ammo) if(0.2 to 0.39) @@ -142,12 +95,16 @@ capacity_number = 60 if(0.8 to 0.99) capacity_number = 80 - if(1.0) + if(1.0 to 2.0) //to catch the chambered round capacity_number = 100 - if (capacity_number) + if (capacity_number && unique_mag_sprites_for_variants) + . += "[icon_state]_mag_[magazine.base_icon_state]_[capacity_number]" + else if (capacity_number) . += "[icon_state]_mag_[capacity_number]" if(!chambered && empty_indicator) . += "[icon_state]_empty" + if(chambered && mag_display_ammo) + . += "[icon_state]_chambered" /obj/item/gun/ballistic/process_chamber(empty_chamber = TRUE, from_firing = TRUE, chamber_next_round = TRUE, atom/shooter) if(!semi_auto && from_firing) @@ -173,7 +130,7 @@ chambered.forceMove(src) ///updates a bunch of racking related stuff and also handles the sound effects and the like -/obj/item/gun/ballistic/proc/rack(mob/user = null) +/obj/item/gun/ballistic/proc/rack(mob/user = null, chamber_new_round = TRUE) if (bolt_type == BOLT_TYPE_NO_BOLT) //If there's no bolt, nothing to rack return if (bolt_type == BOLT_TYPE_OPEN) @@ -184,31 +141,32 @@ bolt_locked = FALSE if (user) to_chat(user, "You rack the [bolt_wording] of \the [src].") - process_chamber(!chambered, FALSE, shooter = user) - if (bolt_type == BOLT_TYPE_LOCKING && !chambered) + process_chamber(!chambered, FALSE, chamber_new_round, user) + if ((bolt_type == BOLT_TYPE_LOCKING && !chambered) || bolt_type == BOLT_TYPE_CLIP) bolt_locked = TRUE playsound(src, lock_back_sound, lock_back_sound_volume, lock_back_sound_vary) else playsound(src, rack_sound, rack_sound_volume, rack_sound_vary) - update_appearance() + SEND_SIGNAL(src, COMSIG_UPDATE_AMMO_HUD) ///Drops the bolt from a locked position -/obj/item/gun/ballistic/proc/drop_bolt(mob/user = null) +/obj/item/gun/ballistic/proc/drop_bolt(mob/user = null, chamber_new_round = TRUE) playsound(src, bolt_drop_sound, bolt_drop_sound_volume, FALSE) if (user) to_chat(user, "You drop the [bolt_wording] of \the [src].") - chamber_round() + if(chamber_new_round) + chamber_round() bolt_locked = FALSE update_appearance() ///Handles all the logic needed for magazine insertion -/obj/item/gun/ballistic/proc/insert_magazine(mob/user, obj/item/ammo_box/magazine/AM, display_message = TRUE) - if(!istype(AM, mag_type)) - to_chat(user, "\The [AM] doesn't seem to fit into \the [src]...") +/obj/item/gun/ballistic/proc/insert_magazine(mob/user, obj/item/ammo_box/magazine/inserted_mag, display_message = TRUE) + if(!(inserted_mag.type in allowed_ammo_types)) + to_chat(user, "\The [inserted_mag] doesn't seem to fit into \the [src]...") return FALSE - if(user.transferItemToLoc(AM, src)) - magazine = AM + if(user.transferItemToLoc(inserted_mag, src)) + magazine = inserted_mag if (display_message) to_chat(user, "You load a new [magazine_wording] into \the [src].") if (magazine.ammo_count()) @@ -261,9 +219,14 @@ /obj/item/gun/ballistic/attackby(obj/item/A, mob/user, params) . = ..() - if (.) + + if(.) + return + + if(sealed_magazine) + to_chat(user, span_warning("The [magazine_wording] on [src] is sealed and cannot be reloaded!")) return - if (!internal_magazine && istype(A, /obj/item/ammo_box/magazine)) + if(!internal_magazine && istype(A, /obj/item/ammo_box/magazine)) var/obj/item/ammo_box/magazine/AM = A if (!magazine) insert_magazine(user, AM) @@ -273,7 +236,8 @@ else to_chat(user, "There's already a [magazine_wording] in \the [src].") return - if (istype(A, /obj/item/ammo_casing) || istype(A, /obj/item/ammo_box)) + + if(istype(A, /obj/item/ammo_casing) || istype(A, /obj/item/ammo_box)) if (bolt_type == BOLT_TYPE_NO_BOLT || internal_magazine) if (chambered && !chambered.BB) chambered.on_eject(shooter = user) @@ -287,47 +251,11 @@ A.update_appearance() update_appearance() return - if(istype(A, /obj/item/suppressor)) - var/obj/item/suppressor/S = A - if(!can_suppress) - to_chat(user, "You can't seem to figure out how to fit [S] on [src]!") - return - if(!user.is_holding(src)) - to_chat(user, "You need be holding [src] to fit [S] to it!") - return - if(suppressed) - to_chat(user, "[src] already has a suppressor!") - return - if(user.transferItemToLoc(A, src)) - to_chat(user, "You screw \the [S] onto \the [src].") - install_suppressor(A) - return if (can_be_sawn_off) - if (sawoff(user, A)) + if (try_sawoff(user, A)) return - return FALSE - -///Installs a new suppressor, assumes that the suppressor is already in the contents of src -/obj/item/gun/ballistic/proc/install_suppressor(obj/item/suppressor/S) - suppressed = S - w_class += S.w_class //so pistols do not fit in pockets when suppressed - update_appearance() -/obj/item/gun/ballistic/AltClick(mob/user) - if (unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY)) - reskin_obj(user) - return - if(loc == user) - if(suppressed && can_unsuppress) - var/obj/item/suppressor/S = suppressed - if(!user.is_holding(src)) - return ..() - to_chat(user, "You unscrew \the [suppressed] from \the [src].") - user.put_in_hands(suppressed) - w_class -= S.w_class - suppressed = null - update_appearance() - return + return FALSE ///Prefire empty checks for the bolt drop /obj/item/gun/ballistic/proc/prefire_empty_checks() @@ -349,6 +277,8 @@ if (last_shot_succeeded && bolt_type == BOLT_TYPE_LOCKING) bolt_locked = TRUE update_appearance() + if (last_shot_succeeded && bolt_type == BOLT_TYPE_CLIP) + update_appearance() /obj/item/gun/ballistic/pre_fire(atom/target, mob/living/user, message = TRUE, flag, params = null, zone_override = "", bonus_spread = 0, dual_wielded_gun = FALSE) prefire_empty_checks() @@ -360,37 +290,48 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/gun/ballistic/attack_hand(mob/user) - if(!internal_magazine && loc == user && user.is_holding(src) && magazine) - eject_magazine(user) - return + if(user.is_holding(src) && loc == user) + if(sealed_magazine) + to_chat(user, span_warning("The [magazine_wording] on [src] is sealed and cannot be accessed!")) + return + if(bolt_type == BOLT_TYPE_NO_BOLT && (chambered || internal_magazine)) + chambered = null + var/num_unloaded = 0 + for(var/obj/item/ammo_casing/CB in get_ammo_list(FALSE, TRUE)) + CB.forceMove(drop_location()) + + var/angle_of_movement =(rand(-3000, 3000) / 100) + dir2angle(turn(user.dir, 180)) + CB.AddComponent(/datum/component/movable_physics, _horizontal_velocity = rand(350, 450) / 100, _vertical_velocity = rand(400, 450) / 100, _horizontal_friction = rand(20, 24) / 100, _z_gravity = PHYSICS_GRAV_STANDARD, _z_floor = 0, _angle_of_movement = angle_of_movement, _bounce_sound = CB.bounce_sfx_override) + + num_unloaded++ + SSblackbox.record_feedback("tally", "station_mess_created", 1, CB.name) + if (num_unloaded) + to_chat(user, span_notice("You unload [num_unloaded] [cartridge_wording]\s from [src].")) + playsound(user, eject_sound, eject_sound_volume, eject_sound_vary) + update_appearance() + else + to_chat(user, span_warning("[src] is empty!")) + return + if(!internal_magazine && magazine) + eject_magazine(user) + return + return ..() return ..() /obj/item/gun/ballistic/unique_action(mob/living/user) - if(bolt_type == BOLT_TYPE_NO_BOLT) - chambered = null - var/num_unloaded = 0 - for(var/obj/item/ammo_casing/CB in get_ammo_list(FALSE, TRUE)) - CB.forceMove(drop_location()) - - var/angle_of_movement =(rand(-3000, 3000) / 100) + dir2angle(turn(user.dir, 180)) - CB.AddComponent(/datum/component/movable_physics, _horizontal_velocity = rand(350, 450) / 100, _vertical_velocity = rand(400, 450) / 100, _horizontal_friction = rand(20, 24) / 100, _z_gravity = PHYSICS_GRAV_STANDARD, _z_floor = 0, _angle_of_movement = angle_of_movement, _bounce_sound = CB.bounce_sfx_override) - - num_unloaded++ - SSblackbox.record_feedback("tally", "station_mess_created", 1, CB.name) - if (num_unloaded) - to_chat(user, "You unload [num_unloaded] [cartridge_wording]\s from [src].") - playsound(user, eject_sound, eject_sound_volume, eject_sound_vary) - update_appearance() - else - to_chat(user, "[src] is empty!") - return - if(bolt_type == BOLT_TYPE_LOCKING && bolt_locked) + if((bolt_type == BOLT_TYPE_LOCKING || bolt_type == BOLT_TYPE_CLIP) && bolt_locked) drop_bolt(user) return + if (recent_rack > world.time) return recent_rack = world.time + rack_delay + if(bolt_type == BOLT_TYPE_CLIP) + rack(user, FALSE) + update_appearance() + return rack(user) + update_appearance() return @@ -402,9 +343,8 @@ . += "It does not seem to have a round chambered." if (bolt_locked) . += "The [bolt_wording] is locked back and needs to be released before firing." - if (suppressed) - . += "It has a suppressor attached that can be removed with alt+click." - . += "You can [bolt_wording] [src] by pressing the unique action key. By default, this is space" + if(bolt_type != BOLT_TYPE_NO_BOLT) + . += "You can [bolt_wording] [src] by pressing the unique action key. By default, this is space" ///Gets the number of bullets in the gun /obj/item/gun/ballistic/proc/get_ammo(countchambered = TRUE) @@ -422,64 +362,18 @@ rounds.Add(chambered) if(drop_all) chambered = null - rounds.Add(magazine.ammo_list(drop_all)) + if(magazine) + rounds.Add(magazine.ammo_list(drop_all)) return rounds -GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list( - /obj/item/gun/energy/plasmacutter, - /obj/item/melee/transforming/energy, - ))) - -///Handles all the logic of sawing off guns, -/obj/item/gun/ballistic/proc/sawoff(mob/user, obj/item/saw) - if(!saw.get_sharpness() || !is_type_in_typecache(saw, GLOB.gun_saw_types) && saw.tool_behaviour != TOOL_SAW) //needs to be sharp. Otherwise turned off eswords can cut this. - return - if(sawn_off) - to_chat(user, "\The [src] is already shortened!") - return - if(bayonet) - to_chat(user, "You cannot saw-off \the [src] with \the [bayonet] attached!") - return - user.changeNext_move(CLICK_CD_MELEE) - user.visible_message("[user] begins to shorten \the [src].", "You begin to shorten \the [src]...") - - //if there's any live ammo inside the gun, makes it go off - if(blow_up(user)) - user.visible_message("\The [src] goes off!", "\The [src] goes off in your face!") - return - - if(do_after(user, 30, target = src)) - if(sawn_off) - return - user.visible_message("[user] shortens \the [src]!", "You shorten \the [src].") - name = "sawn-off [src.name]" - desc = sawn_desc - w_class = WEIGHT_CLASS_NORMAL - item_state = "gun" - slot_flags &= ~ITEM_SLOT_BACK //you can't sling it on your back - slot_flags |= ITEM_SLOT_BELT //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) - recoil = SAWN_OFF_RECOIL - sawn_off = TRUE - update_appearance() - return TRUE - -///used for sawing guns, causes the gun to fire without the input of the user -/obj/item/gun/ballistic/proc/blow_up(mob/user) +/obj/item/gun/ballistic/blow_up(mob/user) . = FALSE for(var/obj/item/ammo_casing/AC in magazine.stored_ammo) if(AC.BB) process_fire(user, user, FALSE) . = TRUE +/obj/item/gun/ballistic/unsafe_shot(target, empty_chamber = TRUE) + . = ..() + process_chamber(empty_chamber,TRUE) -/obj/item/suppressor - name = "suppressor" - desc = "A syndicate small-arms suppressor for maximum espionage." - icon = 'icons/obj/guns/projectile.dmi' - icon_state = "suppressor" - w_class = WEIGHT_CLASS_TINY - - -/obj/item/suppressor/specialoffer - name = "cheap suppressor" - desc = "A foreign knock-off suppressor, it feels flimsy, cheap, and brittle. Still fits most weapons." diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index 3f649994827..f61da3dd9a8 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -1,8 +1,11 @@ /obj/item/gun/ballistic/automatic/assault + show_magazine_on_sprite = TRUE + w_class = WEIGHT_CLASS_BULKY + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) default_firemode = FIREMODE_SEMIAUTO wield_delay = 0.8 SECONDS - wield_slowdown = 0.6 + wield_slowdown = RIFLE_SLOWDOWN fire_delay = 0.2 SECONDS @@ -14,23 +17,8 @@ rack_sound = 'sound/weapons/gun/rifle/ar_cock.ogg' spread_unwielded = 20 -/obj/item/gun/ballistic/automatic/assault/calculate_recoil(mob/user, recoil_bonus = 0) - var/gunslinger_bonus = 2 - var/total_recoil = recoil_bonus - - if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger penalty - total_recoil += gunslinger_bonus - - return ..(user, total_recoil) - -/obj/item/gun/ballistic/automatic/assault/calculate_spread(mob/user, bonus_spread) - var/gunslinger_bonus = 16 - var/total_spread = bonus_spread - - if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger penalty - total_spread += gunslinger_bonus - - return ..(user, total_spread) + gunslinger_recoil_bonus = 2 + gunslinger_spread_bonus = 16 /obj/item/gun/ballistic/automatic/assault/skm name = "\improper SKM-24" @@ -53,10 +41,12 @@ show_magazine_on_sprite = TRUE unique_mag_sprites_for_variants = TRUE weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK manufacturer = MANUFACTURER_IMPORT - mag_type = /obj/item/ammo_box/magazine/skm_762_40 + default_ammo_type = /obj/item/ammo_box/magazine/skm_762_40 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/skm_762_40, + ) spread = 1 wield_delay = 0.7 SECONDS @@ -64,7 +54,7 @@ fire_delay = 0.2 SECONDS /obj/item/gun/ballistic/automatic/assault/skm/no_mag - spawnwithmagazine = FALSE + default_ammo_type = FALSE /obj/item/gun/ballistic/automatic/assault/skm/pirate name = "\improper Chopper" @@ -87,6 +77,16 @@ item_state = "skm_inteq" manufacturer = MANUFACTURER_INTEQ +/obj/item/gun/ballistic/automatic/assault/cm82 + name = "\improper CM-16" + desc = "The standard-issue rifle of CLIP and an extensively modified reproduction of the P-16. Chambered in 5.56mm." + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + icon_state = "cm16" + item_state = "cm16" + /obj/item/gun/ballistic/automatic/assault/p16 name = "\improper P-16" desc = "An assault rifle pattern from Sol, existing before the Night of Fire. A favorite of professional mercenaries and well-heeled pirates. Chambered in 5.56mm." @@ -97,7 +97,7 @@ show_magazine_on_sprite = TRUE w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK - mag_type = /obj/item/ammo_box/magazine/p16 + // mag_type = /obj/item/ammo_box/magazine/p16 spread = 2 wield_delay = 0.5 SECONDS @@ -110,12 +110,12 @@ eject_empty_sound = 'sound/weapons/gun/rifle/m16_unload.ogg' /obj/item/gun/ballistic/automatic/assault/p16/no_mag - spawnwithmagazine = FALSE + // spawnwithmagazine = FALSE /obj/item/gun/ballistic/automatic/assault/p16/minutemen name = "\improper CM-16" desc = "The standard-issue rifle of CLIP and an extensively modified reproduction of the P-16. Chambered in 5.56mm." - icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32-old.dmi' lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' @@ -144,9 +144,11 @@ fire_select_icon_state_prefix = "swisschesse_" - w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK - mag_type = /obj/item/ammo_box/magazine/swiss + default_ammo_type = /obj/item/ammo_box/magazine/swiss + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/swiss, + ) manufacturer = MANUFACTURER_SOLARARMORIES spread = 8 spread_unwielded = 15 @@ -156,19 +158,21 @@ /obj/item/gun/ballistic/automatic/assault/e40 name = "\improper E-40 Hybrid Rifle" - desc = "A Hybrid Assault Rifle, best known for being having a dual ballistic/laser system along with an advanced ammo counter. Once an icon for bounty hunters, age has broken most down, so these end up in collector's hands or as shoddy Frontiersmen laser SMG conversions when in their inheritted stockpiles. But if one were to find one in working condition, it would be just as formidable as back then. Chambered in .229 Eoehoma caseless, and uses energy for lasers." + desc = "A Hybrid Assault Rifle, best known for being having a dual ballistic/laser system along with an advanced ammo counter. Once an icon for bounty hunters, age has broken most down, so these end up in collector's hands or as shoddy Frontiersmen laser SMG conversions when in their inheritted stockpiles. But if one were to find one in working condition, it would be just as formidable as back then. Chambered in .299 Eoehoma caseless, and uses energy for lasers." icon = 'icons/obj/guns/manufacturer/eoehoma/48x32.dmi' lefthand_file = 'icons/obj/guns/manufacturer/eoehoma/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/eoehoma/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/eoehoma/onmob.dmi' icon_state = "e40" item_state = "e40" - mag_type = /obj/item/ammo_box/magazine/e40 - can_suppress = FALSE + default_ammo_type = /obj/item/ammo_box/magazine/e40 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/e40, + ) var/obj/item/gun/energy/laser/e40_laser_secondary/secondary fire_select_icon_state_prefix = "e40_" - fire_delay = 0.18 SECONDS + fire_delay = 0.1 SECONDS recoil_unwielded = 3 gun_firenames = list(FIREMODE_FULLAUTO = "full auto ballistic", FIREMODE_OTHER = "full auto laser") @@ -176,7 +180,6 @@ default_firemode = FIREMODE_OTHER weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK show_magazine_on_sprite = TRUE @@ -210,6 +213,9 @@ /obj/item/gun/ballistic/automatic/assault/e40/process_fire(atom/target, mob/living/user, message, params, zone_override, bonus_spread) var/current_firemode = gun_firemodes[firemode_index] if(current_firemode != FIREMODE_OTHER) + if(!secondary.latch_closed && prob(65)) + to_chat(user, span_warning("[src]'s cell falls out!")) + secondary.eject_cell() return ..() return secondary.process_fire(target, user, message, params, zone_override, bonus_spread) @@ -228,21 +234,46 @@ /obj/item/gun/ballistic/automatic/assault/e40/attackby(obj/item/attack_obj, mob/user, params) if(istype(attack_obj, /obj/item/stock_parts/cell/gun)) return secondary.attackby(attack_obj, user, params) - if(istype(attack_obj, /obj/item/screwdriver)) - return secondary.screwdriver_act(user, attack_obj,) return ..() +/obj/item/gun/ballistic/automatic/assault/e40/attack_hand(mob/user) + var/current_firemode = gun_firemodes[firemode_index] + if(current_firemode == FIREMODE_OTHER && loc == user && user.is_holding(src) && secondary.cell && !secondary.latch_closed) + secondary.eject_cell(user) + return + if(current_firemode == FIREMODE_OTHER && loc == user && user.is_holding(src) && secondary.cell && secondary.latch_closed) + to_chat(user, span_warning("The cell retainment clip is latched!")) + return + return ..() -/obj/item/gun/ballistic/automatic/assault/e40/can_shoot() +/obj/item/gun/ballistic/automatic/assault/e40/AltClick(mob/living/user) var/current_firemode = gun_firemodes[firemode_index] - if(current_firemode != FIREMODE_OTHER) + if(current_firemode == FIREMODE_OTHER) + if(secondary.latch_closed) + to_chat(user, span_notice("You start to unlatch the [src]'s power cell retainment clip...")) + if(do_after(user, secondary.latch_toggle_delay, src, IGNORE_USER_LOC_CHANGE)) + to_chat(user, span_notice("You unlatch [src]'s power cell retainment clip " + "OPEN" + ".")) + playsound(src, 'sound/items/taperecorder/taperecorder_play.ogg', 50, FALSE) + secondary.tac_reloads = TRUE + secondary.latch_closed = FALSE + update_appearance() + return + else + to_chat(user, span_warning("You start to latch the [src]'s power cell retainment clip...")) + if (do_after(user, secondary.latch_toggle_delay, src, IGNORE_USER_LOC_CHANGE)) + to_chat(user, span_notice("You latch [src]'s power cell retainment clip " + "CLOSED" + ".")) + playsound(src, 'sound/items/taperecorder/taperecorder_close.ogg', 50, FALSE) + secondary.tac_reloads = FALSE + secondary.latch_closed = TRUE + update_appearance() + return + else return ..() - return secondary.can_shoot() /obj/item/gun/ballistic/automatic/assault/e40/on_wield(obj/item/source, mob/user) wielded = TRUE secondary.wielded = TRUE - INVOKE_ASYNC(src, .proc.do_wield, user) + INVOKE_ASYNC(src, PROC_REF(do_wield), user) /obj/item/gun/ballistic/automatic/assault/e40/do_wield(mob/user) . = ..() @@ -263,8 +294,8 @@ secondary.pre_fire(target, user, message, flag, params, zone_override, bonus_spread) -/obj/item/gun/ballistic/automatic/powered/get_cell() - return cell +/obj/item/gun/ballistic/automatic/assault/e40/get_cell() + return secondary.get_cell() /obj/item/gun/ballistic/automatic/assault/e40/update_overlays() . = ..() @@ -278,6 +309,20 @@ . += "[icon_state]_charge[ratio]" if(secondary.cell) . += "[icon_state]_cell" + if(ismob(loc)) + var/mutable_appearance/latch_overlay + latch_overlay = mutable_appearance('icons/obj/guns/cell_latch.dmi') + if(secondary.latch_closed) + if(secondary.cell) + latch_overlay.icon_state = "latch-on-full" + else + latch_overlay.icon_state = "latch-on-empty" + else + if(secondary.cell) + latch_overlay.icon_state = "latch-off-full" + else + latch_overlay.icon_state = "latch-off-empty" + . += latch_overlay /obj/item/gun/ballistic/automatic/assault/e40/toggle_safety(mob/user, silent=FALSE) @@ -294,6 +339,17 @@ SEND_SIGNAL(src, COMSIG_GUN_SET_AUTOFIRE_SPEED, fire_delay) SEND_SIGNAL(src, COMSIG_UPDATE_AMMO_HUD) +/obj/item/gun/ballistic/automatic/assault/e40/examine(mob/user) + . = ..() + if(!secondary.internal_magazine) + . += "The cell retainment latch is [secondary.latch_closed ? "CLOSED" : "OPEN"]. Alt-Click to toggle the latch." + var/obj/item/ammo_casing/energy/shot = secondary.ammo_type[select] + if(secondary.cell) + . += "\The [name]'s cell has [secondary.cell.percent()]% charge remaining." + . += "\The [name] has [round(secondary.cell.charge/shot.e_cost)] shots remaining on [shot.select_name] mode." + else + . += span_notice("\The [name] doesn't seem to have a cell!") + //laser /obj/item/gun/energy/laser/e40_laser_secondary @@ -305,36 +361,6 @@ fire_delay = 0.2 SECONDS gun_firemodes = list(FIREMODE_FULLAUTO) default_firemode = FIREMODE_FULLAUTO + latch_toggle_delay = 1.2 SECONDS spread_unwielded = 20 - -//techinically a battle rifle, i'm putting it here for organisation sake - -/obj/item/gun/ballistic/automatic/marksman/vickland //weapon designed by Apogee-dev - name = "\improper Vickland" - desc = "The pride of the Saint-Roumain Militia, the Vickland is a rare semi-automatic battle rifle produced by Hunter's Pride exclusively for SRM use. It is unusual in its class for its internal rotary magazine, which must be reloaded using stripper clips. Chambered in .308." - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - - fire_sound = 'sound/weapons/gun/rifle/vickland.ogg' - icon_state = "vickland" - item_state = "vickland" - weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_BULKY - internal_magazine = TRUE - mag_type = /obj/item/ammo_box/magazine/internal/vickland - fire_sound = 'sound/weapons/gun/rifle/vickland.ogg' - - manufacturer = MANUFACTURER_HUNTERSPRIDE - zoomable = FALSE //no scope on it - - rack_sound = 'sound/weapons/gun/rifle/ar_cock.ogg' - - fire_delay = 0.4 SECONDS - - spread_unwielded = 25 - recoil = 0 - recoil_unwielded = 4 - wield_slowdown = 0.75 diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 2fea717c28a..fd893e432f3 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -1,7 +1,6 @@ /obj/item/gun/ballistic/automatic - w_class = WEIGHT_CLASS_NORMAL - can_suppress = TRUE + w_class = WEIGHT_CLASS_BULKY gun_firemodes = list(FIREMODE_SEMIAUTO) default_firemode = FIREMODE_SEMIAUTO @@ -20,47 +19,17 @@ spread_unwielded = 13 recoil = 0 recoil_unwielded = 4 - wield_slowdown = 0.35 - -// Old Semi-Auto Rifle // - -/obj/item/gun/ballistic/automatic/surplus //TODO: NEEDS TO BE REPLACED WITH PISTOL CARBINES OR LOWCAL SEMI-AUTO RIFLES - name = "surplus rifle" - desc = "One of countless cheap, obsolete rifles found throughout the Frontier. Its lack of lethality renders it mostly a deterrent. Chambered in 10mm." - icon_state = "surplus" - item_state = "moistnugget" - weapon_weight = WEAPON_HEAVY - mag_type = /obj/item/ammo_box/magazine/m10mm/rifle - fire_delay = 0.5 SECONDS - burst_size = 1 - can_unsuppress = TRUE - can_suppress = TRUE - w_class = WEIGHT_CLASS_HUGE - slot_flags = ITEM_SLOT_BACK - show_magazine_on_sprite = TRUE - -// Laser rifle (rechargeable magazine) // - -/obj/item/gun/ballistic/automatic/laser //TODO: REMOVE - name = "laser rifle" - desc = "Though sometimes mocked for the relatively weak firepower of their energy weapons, the logistic miracle of rechargeable ammunition has given Nanotrasen a decisive edge over many a foe." - icon_state = "oldrifle" - item_state = "arg" - mag_type = /obj/item/ammo_box/magazine/recharge - fire_delay = 0.2 SECONDS - can_suppress = FALSE - burst_size = 0 - fire_sound = 'sound/weapons/laser.ogg' - casing_ejector = FALSE + wield_slowdown = PDW_SLOWDOWN /obj/item/gun/ballistic/automatic/zip_pistol name = "makeshift pistol" desc = "A makeshift zip gun cobbled together from various scrap bits and chambered in 9mm. It's a miracle it even works." icon_state = "ZipPistol" item_state = "ZipPistol" - mag_type = /obj/item/ammo_box/magazine/zip_ammo_9mm - can_suppress = FALSE + default_ammo_type = /obj/item/ammo_box/magazine/zip_ammo_9mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/zip_ammo_9mm, + ) actions_types = list() - can_bayonet = FALSE show_magazine_on_sprite = TRUE weapon_weight = WEAPON_LIGHT diff --git a/code/modules/projectiles/guns/ballistic/gauss.dm b/code/modules/projectiles/guns/ballistic/gauss.dm index 591f6e088c3..d7eecd21b88 100644 --- a/code/modules/projectiles/guns/ballistic/gauss.dm +++ b/code/modules/projectiles/guns/ballistic/gauss.dm @@ -8,10 +8,12 @@ icon_state = "gauss" item_state = "arg" slot_flags = 0 - mag_type = /obj/item/ammo_box/magazine/gauss + default_ammo_type = /obj/item/ammo_box/magazine/gauss + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/gauss, + ) fire_sound = 'sound/weapons/gun/gauss/magrifle.ogg' load_sound = 'sound/weapons/gun/gauss/rifle_reload.ogg' - can_suppress = FALSE burst_size = 1 fire_delay = 0.3 SECONDS spread = 0 @@ -27,14 +29,14 @@ spread_unwielded = 25 recoil = 0 recoil_unwielded = 4 - wield_slowdown = 0.75 + wield_slowdown = HEAVY_RIFLE_SLOWDOWN wield_delay = 1 SECONDS fire_select_icon_state_prefix = "pellet_" /obj/item/gun/ballistic/automatic/powered/gauss/modelh name = "Model H" desc = "A standard-issue pistol exported from the Solarian Confederation. It fires slow flesh-rending ferromagnetic slugs at a high energy cost, however they are ineffective on any armor." - mag_type = /obj/item/ammo_box/magazine/modelh + // mag_type = /obj/item/ammo_box/magazine/modelh icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' @@ -43,7 +45,7 @@ item_state = "model-h" fire_sound = 'sound/weapons/gun/gauss/modelh.ogg' load_sound = 'sound/weapons/gun/gauss/pistol_reload.ogg' - cell_type = /obj/item/stock_parts/cell/gun/solgov + // cell_type = /obj/item/stock_parts/cell/gun/solgov slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL fire_delay = 0.6 SECONDS //pistol, but heavy caliber. @@ -57,11 +59,11 @@ fire_select_icon_state_prefix = "slug_" /obj/item/gun/ballistic/automatic/powered/gauss/modelh/no_mag - spawnwithmagazine = FALSE + // spawnwithmagazine = FALSE /obj/item/gun/ballistic/automatic/powered/gauss/modelh/suns desc = "A fully functional replica built by Roseus Galactic. It fires slow flesh-rending ferromagnetic slugs at a high energy cost, however they are ineffective on any armor. It is painted in the colors of SUNS." - mag_type = /obj/item/ammo_box/magazine/modelh + // mag_type = /obj/item/ammo_box/magazine/modelh icon_state = "model-h_suns" item_state = "model-h_suns" manufacturer = MANUFACTURER_ROSEUS @@ -69,7 +71,7 @@ /obj/item/gun/ballistic/automatic/powered/gauss/claris name = "Claris" desc = "An antiquated Solarian rifle. Chambered in ferromagnetic pellets, just as the founding Solarians intended." - mag_type = /obj/item/ammo_box/magazine/internal/claris + // mag_type = /obj/item/ammo_box/magazine/internal/claris icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' @@ -78,7 +80,7 @@ item_state = "claris" fire_sound = 'sound/weapons/gun/gauss/claris.ogg' load_sound = 'sound/weapons/gun/gauss/sniper_reload.ogg' - cell_type = /obj/item/stock_parts/cell/gun/solgov + // cell_type = /obj/item/stock_parts/cell/gun/solgov fire_delay = 0.4 SECONDS bolt_type = BOLT_TYPE_NO_BOLT internal_magazine = TRUE @@ -95,7 +97,7 @@ /obj/item/gun/ballistic/automatic/powered/gauss/gar name = "GAR Carbine" desc = "A replica carbine with historical inaccuracies. Originally built by Roseus Galactic during the ICW, these have been seen in more than a few films. Launches ferromagnetic lances at alarming speeds." - mag_type = /obj/item/ammo_box/magazine/gar + // mag_type = /obj/item/ammo_box/magazine/gar icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' @@ -104,7 +106,7 @@ item_state = "gar" fire_sound = 'sound/weapons/gun/gauss/gar.ogg' load_sound = 'sound/weapons/gun/gauss/rifle_reload.ogg' - cell_type = /obj/item/stock_parts/cell/gun/solgov + // cell_type = /obj/item/stock_parts/cell/gun/solgov burst_size = 1 fire_delay = 0.2 SECONDS diff --git a/code/modules/projectiles/guns/ballistic/hmg.dm b/code/modules/projectiles/guns/ballistic/hmg.dm index 79977249dd3..1c318164ee7 100644 --- a/code/modules/projectiles/guns/ballistic/hmg.dm +++ b/code/modules/projectiles/guns/ballistic/hmg.dm @@ -12,11 +12,15 @@ gun_firemodes = list(FIREMODE_FULLAUTO) default_firemode = FIREMODE_FULLAUTO + wield_slowdown = HMG_SLOWDOWN + spread = 4 spread_unwielded = 80 recoil = 1 recoil_unwielded = 4 - wield_slowdown = 3 + + gunslinger_recoil_bonus = 2 + gunslinger_spread_bonus = 20 ///does this have a bipod? var/has_bipod = FALSE @@ -41,7 +45,7 @@ /obj/item/gun/ballistic/automatic/hmg/Initialize() . = ..() - for(var/datum/action/item_action/deploy_bipod/action as anything in actions_types) + for(var/datum/action/item_action/deploy_bipod/action as anything in actions) if(!has_bipod) qdel(action) @@ -61,6 +65,22 @@ else retract_bipod(user=user) +/obj/item/gun/ballistic/automatic/hmg/calculate_recoil(mob/user, recoil_bonus = 0) + var/total_recoil = recoil_bonus + + if(bipod_deployed) + total_recoil += deploy_recoil_bonus + + return ..(user, total_recoil) + +/obj/item/gun/ballistic/automatic/hmg/calculate_spread(mob/user, bonus_spread) + var/total_spread = bonus_spread + + if(bipod_deployed) + total_spread += deploy_spread_bonus + + return ..(user, total_spread) + /obj/item/gun/ballistic/automatic/hmg/proc/deploy_bipod(mob/user) //we check if we can actually deploy the thing var/can_deploy = TRUE @@ -116,29 +136,6 @@ . = ..() retract_bipod(user=user) -/obj/item/gun/ballistic/automatic/hmg/calculate_recoil(mob/user, recoil_bonus = 0) - var/gunslinger_bonus = 2 - var/total_recoil = recoil_bonus - - if(bipod_deployed) - total_recoil += deploy_recoil_bonus - if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger penalty - total_recoil += gunslinger_bonus - - return ..(user, total_recoil) - -/obj/item/gun/ballistic/automatic/hmg/calculate_spread(mob/user, bonus_spread) - var/gunslinger_bonus = 20 - var/total_spread = bonus_spread - - if(bipod_deployed) - total_spread += deploy_spread_bonus - if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger penalty - total_spread += gunslinger_bonus - - return ..(user, total_spread) - - /obj/item/gun/ballistic/automatic/hmg/update_icon_state() . = ..() item_state = "[initial(item_state)][bipod_deployed ? "_deployed" : ""]" @@ -148,76 +145,6 @@ if(has_bipod) . += "[base_icon_state || initial(icon_state)][bipod_deployed ? "_deployed" : "_undeployed"]" - -// L6 SAW // - -/obj/item/gun/ballistic/automatic/hmg/l6_saw - name = "\improper L6 SAW" - desc = "A heavy machine gun, designated 'L6 SAW'. Chambered in 7.12x82mm." - icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' - icon_state = "l6" - item_state = "l6closedmag" - base_icon_state = "l6" - - mag_type = /obj/item/ammo_box/magazine/mm712x82 - can_suppress = FALSE - spread = 7 - - fire_delay = 0.1 SECONDS - - bolt_type = BOLT_TYPE_OPEN - show_magazine_on_sprite = TRUE - show_magazine_on_sprite_ammo = TRUE - tac_reloads = FALSE - fire_sound = 'sound/weapons/gun/l6/shot.ogg' - rack_sound = 'sound/weapons/gun/l6/l6_rack.ogg' - suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' - manufacturer = MANUFACTURER_SCARBOROUGH - var/cover_open = FALSE - -/obj/item/gun/ballistic/automatic/hmg/l6_saw/examine(mob/user) - . = ..() - . += "alt + click to [cover_open ? "close" : "open"] the dust cover." - if(cover_open && magazine) - . += "It seems like you could use an empty hand to remove the magazine." - -/obj/item/gun/ballistic/automatic/hmg/l6_saw/AltClick(mob/user) - cover_open = !cover_open - to_chat(user, "You [cover_open ? "open" : "close"] [src]'s cover.") - playsound(user, 'sound/weapons/gun/l6/l6_door.ogg', 60, TRUE) - update_appearance() - -/obj/item/gun/ballistic/automatic/hmg/l6_saw/update_overlays() - . = ..() - . += "l6_door_[cover_open ? "open" : "closed"]" - -/obj/item/gun/ballistic/automatic/hmg/l6_saw/afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params) - if(cover_open) - to_chat(user, "[src]'s cover is open! Close it before firing!") - return - else - . = ..() - update_appearance() - -//ATTACK HAND IGNORING PARENT RETURN VALUE -/obj/item/gun/ballistic/automatic/hmg/l6_saw/attack_hand(mob/user) - if (loc != user) - ..() - return - if (!cover_open) - to_chat(user, "[src]'s cover is closed! Open it before trying to remove the magazine!") - return - ..() - -/obj/item/gun/ballistic/automatic/hmg/l6_saw/attackby(obj/item/A, mob/user, params) - if(!cover_open && istype(A, mag_type)) - to_chat(user, "[src]'s dust cover prevents a magazine from being fit.") - return - ..() - /obj/item/gun/ballistic/automatic/hmg/solar //This thing fires a 5.56 equivalent, that's an LMG, not an HMG, get out name = "\improper Solar" desc = "A TerraGov LMG-169 designed in 169 FS, nicknamed 'Solar.' A inscription reads: 'PROPERTY OF TERRAGOV', with 'TERRAGOV' poorly scribbled out, and replaced by 'SOLAR ARMORIES'. Chambered in 4.73×33mm caseless ammunition." @@ -229,15 +156,16 @@ icon_state = "solar" fire_sound = 'sound/weapons/gun/l6/shot.ogg' - mag_type = /obj/item/ammo_box/magazine/rifle47x33mm + default_ammo_type = /obj/item/ammo_box/magazine/rifle47x33mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/rifle47x33mm, + ) spread = 7 fire_delay = 0.1 SECONDS fire_select_icon_state_prefix = "caseless_" - can_suppress = FALSE - can_bayonet = FALSE show_magazine_on_sprite = TRUE w_class = WEIGHT_CLASS_BULKY manufacturer = MANUFACTURER_SOLARARMORIES @@ -270,7 +198,10 @@ w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK manufacturer = MANUFACTURER_IMPORT - mag_type = /obj/item/ammo_box/magazine/skm_762_40 + default_ammo_type = /obj/item/ammo_box/magazine/skm_762_40 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/skm_762_40, + ) fire_delay = 0.13 SECONDS @@ -280,7 +211,7 @@ recoil = 1 //identical to other LMGS recoil_unwielded = 4 //same as skm - wield_slowdown = 1 //not as severe as other lmgs, but worse than the normal skm + wield_slowdown = SAW_SLOWDOWN //not as severe as other lmgs, but worse than the normal skm wield_delay = 0.85 SECONDS //faster than normal lmgs, slower than stock skm has_bipod = TRUE @@ -290,17 +221,7 @@ AddElement(/datum/element/update_icon_updates_onmob) /obj/item/gun/ballistic/automatic/hmg/skm_lmg/extended //spawns with the proper extended magazine, for erts - spawnwithmagazine = FALSE - -/obj/item/gun/ballistic/automatic/hmg/skm_lmg/extended/Initialize() - . = ..() - magazine = new /obj/item/ammo_box/magazine/skm_762_40/extended(src) - chamber_round() + default_ammo_type = /obj/item/ammo_box/magazine/skm_762_40/extended /obj/item/gun/ballistic/automatic/hmg/skm_lmg/drum_mag //spawns with a drum, maybe not for erts but admin enhanced ERTS? when things really go to shit - spawnwithmagazine = FALSE - -/obj/item/gun/ballistic/automatic/hmg/skm_lmg/drum_mag/Initialize() - . = ..() - magazine = new /obj/item/ammo_box/magazine/skm_762_40/drum(src) - chamber_round() + default_ammo_type = /obj/item/ammo_box/magazine/skm_762_40/drum diff --git a/code/modules/projectiles/guns/ballistic/launchers.dm b/code/modules/projectiles/guns/ballistic/launchers.dm index 369df927b50..7f2538f4e65 100644 --- a/code/modules/projectiles/guns/ballistic/launchers.dm +++ b/code/modules/projectiles/guns/ballistic/launchers.dm @@ -4,7 +4,10 @@ /obj/item/gun/ballistic/revolver/grenadelauncher//this is only used for underbarrel grenade launchers at the moment, but admins can still spawn it if they feel like being assholes desc = "A break-action, single-shot grenade launcher. A compact way to deliver a big boom." name = "grenade launcher" - mag_type = /obj/item/ammo_box/magazine/internal/grenadelauncher + default_ammo_type = /obj/item/ammo_box/magazine/internal/grenadelauncher + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/grenadelauncher, + ) fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg' w_class = WEIGHT_CLASS_NORMAL bolt_type = BOLT_TYPE_NO_BOLT @@ -24,7 +27,10 @@ name = "multi grenade launcher" icon = 'icons/mecha/mecha_equipment.dmi' icon_state = "mecha_grenadelnchr" - mag_type = /obj/item/ammo_box/magazine/internal/cylinder/grenademulti + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/grenademulti + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/grenademulti, + ) /obj/item/gun/ballistic/revolver/grenadelauncher/cyborg/attack_self() return @@ -34,40 +40,89 @@ desc = "A prototype pistol designed to fire self-propelled rockets." icon_state = "gyropistol" fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg' - mag_type = /obj/item/ammo_box/magazine/m75 + default_ammo_type = /obj/item/ammo_box/magazine/m75 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m75, + ) burst_size = 1 fire_delay = 0.4 SECONDS actions_types = list() casing_ejector = FALSE manufacturer = MANUFACTURER_HEPHAESTUS +GLOBAL_LIST_INIT(rpg_scrawlings, list( + "\"FRONT TOWARDS ENEMY\"", + "\"MY WIFE LEFT ME\"", + "A Kepori inset in a stylized crimson heart", + "\"Eat lead psychohazard!\"", + "\"Portable Demotion\"", + "A drawing of the Rilena character 'T4L1' smoking a boof", + "\"Eat it corpo!\"", + "A Sarathi woman in a suggestive pose", + "A masculine Sarathi shouldering a launcher", + "A Vox woman with a sledgehammer over their shoulder", + "A man in a floral patterned shirt and nothing else, drawn leaning against the rocket's tube", + "A crudely-drawn picture of a Gorlex Marauder exploding", + "A scratched-out link to some kind of website", + ".:|:;", + "\"SPEAR TO THE SHOAL, FOR A FREE FRONTIER!\"", + "\"Arm this!\"", +)) + + /obj/item/gun/ballistic/rocketlauncher name = "\improper PML-9" - desc = "A reusable rocket-propelled grenade launcher. The words \"NT this way\" and an arrow have been written near the barrel." - - icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + desc = "A reusable rocket-propelled grenade launcher." icon_state = "rocketlauncher" item_state = "rocketlauncher" - mag_type = /obj/item/ammo_box/magazine/internal/rocketlauncher + default_ammo_type = /obj/item/ammo_box/magazine/internal/rocketlauncher + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/rocketlauncher, + ) fire_sound = 'sound/weapons/gun/general/rocket_launch.ogg' load_sound = 'sound/weapons/gun/general/rocket_load.ogg' - w_class = WEIGHT_CLASS_BULKY - can_suppress = FALSE + gun_firemodes = list(FIREMODE_SEMIAUTO) burst_size = 1 fire_delay = 0.4 SECONDS - casing_ejector = FALSE + weapon_weight = WEAPON_HEAVY + w_class = WEIGHT_CLASS_BULKY + + //Bolt bolt_type = BOLT_TYPE_NO_BOLT - internal_magazine = TRUE + + ///Magazine stuff cartridge_wording = "rocket" + internal_magazine = TRUE empty_indicator = TRUE tac_reloads = FALSE + casing_ejector = FALSE + manufacturer = MANUFACTURER_SCARBOROUGH + attack_verb = list("bludgeoned", "hit", "slammed", "whacked") + + valid_attachments = list() + slot_available = list() + + var/rpg_scribble = null + +/obj/item/gun/ballistic/rocketlauncher/Initialize() + . = ..() + rpg_scribble = pick(GLOB.rpg_scrawlings) + desc += " [rpg_scribble] is scrawled on the tube" + +/obj/item/gun/ballistic/rocketlauncher/attackby(obj/item/A, mob/user, params) + . = ..() + if(istype(A, /obj/item/pen)) + rpg_scribble = stripped_input(user, "What are you putting on [src]?", "Rocket Launcher Doodle") + if(!rpg_scribble || !length(rpg_scribble)) + desc = "[src::desc]" + return + desc = "[src::desc] [rpg_scribble] is scribbled on the body." + + /obj/item/gun/ballistic/rocketlauncher/afterattack() . = ..() magazine.get_round(FALSE) //Hack to clear the mag after it's fired @@ -84,6 +139,9 @@ righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' + //recoiless rifles use shells + cartridge_wording = "shell" + icon_state = "panzerfaust" item_state = "panzerfaust" manufacturer = MANUFACTURER_SOLARARMORIES diff --git a/code/modules/projectiles/guns/ballistic/marksman.dm b/code/modules/projectiles/guns/ballistic/marksman.dm index 46a9e246629..71458e24f1d 100644 --- a/code/modules/projectiles/guns/ballistic/marksman.dm +++ b/code/modules/projectiles/guns/ballistic/marksman.dm @@ -1,102 +1,7 @@ - /obj/item/gun/ballistic/automatic/marksman + show_magazine_on_sprite = TRUE + burst_size = 1 zoomable = TRUE //this var as true without setting anything else produces a 2x zoom - wield_slowdown = 2 + wield_slowdown = DMR_SLOWDOWN wield_delay = 1 SECONDS - -// SNIPER // - -/obj/item/gun/ballistic/automatic/marksman/sniper_rifle - name = "sniper rifle" - desc = "An anti-material rifle chambered in .50 BMG with a scope mounted on it. Its prodigious bulk requires both hands to use." - icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' - icon_state = "sniper" - item_state = "sniper" - fire_sound = 'sound/weapons/gun/sniper/shot.ogg' - fire_sound_volume = 90 - vary_fire_sound = FALSE - load_sound = 'sound/weapons/gun/sniper/mag_insert.ogg' - rack_sound = 'sound/weapons/gun/sniper/rack.ogg' - suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' - weapon_weight = WEAPON_HEAVY - mag_type = /obj/item/ammo_box/magazine/sniper_rounds - w_class = WEIGHT_CLASS_BULKY - zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. - zoom_out_amt = 5 - slot_flags = ITEM_SLOT_BACK - actions_types = list() - show_magazine_on_sprite = TRUE - manufacturer = MANUFACTURER_SCARBOROUGH - - spread = -5 - spread_unwielded = 40 - recoil = 5 - recoil_unwielded = 50 - - wield_delay = 1.3 SECONDS - -EMPTY_GUN_HELPER(automatic/marksman/sniper_rifle) - -/obj/item/gun/ballistic/automatic/marksman/ebr //fuck this gun, its getting wiped soon enough - name = "\improper M514 EBR" - desc = "A reliable, high-powered battle rifle often found in the hands of Syndicate personnel and remnants, chambered in .308. Effective against personnel and armor alike." - - icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' - - icon_state = "ebr" - item_state = "ebr" - zoomable = TRUE - show_magazine_on_sprite = TRUE - weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_BULKY - mag_type = /obj/item/ammo_box/magazine/ebr - fire_sound = 'sound/weapons/gun/rifle/shot_alt2.ogg' - manufacturer = MANUFACTURER_SCARBOROUGH - - wield_slowdown = 2 - spread = -4 - -EMPTY_GUN_HELPER(automatic/marksman/ebr) - -/obj/item/gun/ballistic/automatic/marksman/gal - name = "\improper CM-GAL-S" - desc = "The standard issue DMR of CLIP. Dates back to the Xenofauna War, this particular model is in a carbine configuration, and, as such, is shorter than the standard model. Chambered in .308." - - icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' - - fire_sound = 'sound/weapons/gun/rifle/shot.ogg' - icon_state = "gal" - item_state = "gal" - show_magazine_on_sprite = TRUE - weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_BULKY - mag_type = /obj/item/ammo_box/magazine/gal - fire_sound = 'sound/weapons/gun/rifle/gal.ogg' - burst_size = 0 - actions_types = list() - manufacturer = MANUFACTURER_MINUTEMAN - - wield_slowdown = 2 - spread = -4 - fire_select_icon_state_prefix = "clip_" - adjust_fire_select_icon_state_on_safety = TRUE - -/obj/item/gun/ballistic/automatic/marksman/gal/inteq - name = "\improper SsG-04" - desc = "A marksman rifle purchased from CLIP and modified to suit IRMG's needs. Chambered in .308." - icon = 'icons/obj/guns/manufacturer/inteq/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/inteq/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/inteq/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/inteq/onmob.dmi' - icon_state = "gal-inteq" - item_state = "gal-inteq" diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index f9843fd260f..0af3d31dbea 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -1,6 +1,6 @@ /obj/item/gun/ballistic/automatic/pistol - can_suppress = TRUE bolt_type = BOLT_TYPE_LOCKING + w_class = WEIGHT_CLASS_NORMAL vary_fire_sound = FALSE fire_sound_volume = 90 @@ -8,7 +8,7 @@ weapon_weight = WEAPON_LIGHT pickup_sound = 'sound/items/handling/gun_pickup.ogg' - recoil = 0.5 // apogee wants bloom, this is a placeholder until then to simulate the same concept. + //recoil = 0.5 // apogee wants bloom, this is a placeholder until then to simulate the same concept. //UPDATE ive changed my mind on this, however i would recoil_unwielded = 3 recoil_backtime_multiplier = 1 @@ -16,21 +16,21 @@ fire_delay = 0.2 SECONDS spread = 5 spread_unwielded = 7 - wield_slowdown = 0.15 + wield_slowdown = PISTOL_SLOWDOWN muzzleflash_iconstate = "muzzle_flash_light" /obj/item/gun/ballistic/automatic/pistol/syndicate name = "Stechkin" desc = "A small, easily concealable 10mm handgun that bears Scarborough Arms stamps. Has a threaded barrel for suppressors." - icon_state = "pistol" + icon_state = "ringneck" icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' w_class = WEIGHT_CLASS_SMALL - mag_type = /obj/item/ammo_box/magazine/m10mm + // mag_type = /obj/item/ammo_box/magazine/m10mm fire_sound = 'sound/weapons/gun/pistol/shot.ogg' dry_fire_sound = 'sound/weapons/gun/pistol/dry_fire.ogg' suppressed_sound = 'sound/weapons/gun/pistol/shot_suppressed.ogg' @@ -52,10 +52,12 @@ EMPTY_GUN_HELPER(automatic/pistol/syndicate) +NO_MAG_GUN_HELPER(automatic/pistol/syndicate) + /obj/item/gun/ballistic/automatic/pistol/suns desc = "A small, easily concealable 10mm handgun that bears Scarborough Arms stamps. It is painted in the colors of Roseus Galactic." icon_state = "pistol_suns" - icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + icon = 'icons/obj/guns/manufacturer/scarborough/48x32-old.dmi' lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' @@ -70,8 +72,8 @@ EMPTY_GUN_HELPER(automatic/pistol/syndicate) righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - mag_type = /obj/item/ammo_box/magazine/m45 - can_suppress = FALSE + // mag_type = /obj/item/ammo_box/magazine/m45 + // can_suppress = FALSE fire_sound = 'sound/weapons/gun/pistol/candor.ogg' rack_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg' lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' @@ -109,13 +111,16 @@ EMPTY_GUN_HELPER(automatic/pistol/candor/factory) mob_overlay_icon = 'icons/obj/guns/manufacturer/frontier_import/onmob.dmi' icon_state = "deagle" force = 14 - mag_type = /obj/item/ammo_box/magazine/m50 - can_suppress = FALSE + default_ammo_type = /obj/item/ammo_box/magazine/m50 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m50, + ) + mag_display = TRUE show_magazine_on_sprite = TRUE fire_sound = 'sound/weapons/gun/pistol/deagle.ogg' rack_sound = 'sound/weapons/gun/pistol/rack.ogg' lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' - bolt_drop_sound = 'sound/weapons/gun/pistol/slide_drop.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/rack.ogg' manufacturer = MANUFACTURER_NONE load_sound = 'sound/weapons/gun/pistol/deagle_reload.ogg' load_empty_sound = 'sound/weapons/gun/pistol/deagle_reload.ogg' @@ -139,76 +144,6 @@ EMPTY_GUN_HELPER(automatic/pistol/candor/factory) icon_state = "deaglecamo" item_state = "deagleg" -/obj/item/gun/ballistic/automatic/pistol/APS - name = "stechkin APS pistol" - desc = "A burst-fire machine pistol based on the stechkin model. Utilizes specialized 9mm magazines." - icon_state = "aps" - icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' - - - mag_type = /obj/item/ammo_box/magazine/pistolm9mm - - fire_sound = 'sound/weapons/gun/pistol/shot.ogg' - dry_fire_sound = 'sound/weapons/gun/pistol/dry_fire.ogg' - suppressed_sound = 'sound/weapons/gun/pistol/shot_suppressed.ogg' - - load_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' - load_empty_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' - eject_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' - eject_empty_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' - - rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' - lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' - bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' - - burst_size = 3 - burst_delay = 0.1 SECONDS - fire_delay = 0.4 SECONDS - gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST) - default_firemode = FIREMODE_SEMIAUTO - - -/obj/item/gun/ballistic/automatic/pistol/commander - name = "\improper Commander" - desc = "A classic handgun in a tasteful black and stainless steel color scheme. An enamel Nanotrasen logo is set into the grips. Chambered in 9mm." - icon_state = "commander" - icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' - - w_class = WEIGHT_CLASS_NORMAL - mag_type = /obj/item/ammo_box/magazine/co9mm - can_suppress = FALSE - manufacturer = MANUFACTURER_NANOTRASEN - fire_sound = 'sound/weapons/gun/pistol/commander.ogg' - load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' - load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' - eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' - eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' - - rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' - lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' - bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' - -EMPTY_GUN_HELPER(automatic/pistol/commander) - -/obj/item/gun/ballistic/automatic/pistol/commander/inteq - name = "\improper Commissioner" - desc = "A handgun seized from Nanotrasen armories by deserting troopers and modified to IRMG's standards. A yellow IRMG shield is set into the grips. Chambered in 9mm." - icon = 'icons/obj/guns/manufacturer/inteq/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/inteq/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/inteq/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/inteq/onmob.dmi' - icon_state = "commander-inteq" - item_state = "commander-inteq" - manufacturer = MANUFACTURER_INTEQ - -EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) - /obj/item/gun/ballistic/automatic/pistol/commissar name = "\improper Commissar" desc = "A Nanotrasen-issue handgun, modified with a voice box to further enhance its effectiveness in troop discipline." @@ -219,8 +154,10 @@ EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' w_class = WEIGHT_CLASS_NORMAL - mag_type = /obj/item/ammo_box/magazine/co9mm - can_suppress = FALSE + default_ammo_type = /obj/item/ammo_box/magazine/co9mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/co9mm, + ) var/funnysounds = TRUE var/cooldown = 0 load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' @@ -260,6 +197,7 @@ EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) to_chat(user, "You toggle [src]'s vox audio functions.") /obj/item/gun/ballistic/automatic/pistol/commissar/AltClick(mob/user) + . = ..() if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user))) return if((cooldown < world.time - 200) && funnysounds) @@ -272,56 +210,6 @@ EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) if(funnysounds) . += "Alt-click to use \the [src] vox hailer." -/obj/item/gun/ballistic/automatic/pistol/solgov - name = "\improper Pistole C" - desc = "A favorite of the Terran Regency that is despised by the Solarian bureaucracy. Shifted out of military service centuries ago, though still popular among civilians. Chambered in 5.56mm caseless." - icon_state = "pistole-c" - icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' - - weapon_weight = WEAPON_LIGHT - w_class = WEIGHT_CLASS_SMALL - mag_type = /obj/item/ammo_box/magazine/pistol556mm - fire_sound = 'sound/weapons/gun/pistol/pistolec.ogg' - manufacturer = MANUFACTURER_SOLARARMORIES - load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' - load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' - eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' - eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' - - rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' - lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' - bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' - - fire_select_icon_state_prefix = "caseless_" - -/obj/item/gun/ballistic/automatic/pistol/solgov/old - icon_state = "pistole-c-old" - -/obj/item/gun/ballistic/automatic/pistol/tec9 //fucking kill this gun already my god - name = "\improper TEC-9 machine pistol" - desc = "A crude machine pistol designed to vomit 9mm ammunition at a truly eye-watering rate of fire." - icon_state = "tec9" - icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' - - fire_delay = 0.15 SECONDS - weapon_weight = WEAPON_LIGHT - w_class = WEIGHT_CLASS_NORMAL - mag_type = /obj/item/ammo_box/magazine/tec9 - show_magazine_on_sprite = TRUE - load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' - load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' - eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' - eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' - - gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) - default_firemode = FIREMODE_SEMIAUTO - /obj/item/gun/ballistic/automatic/pistol/disposable name = "disposable gun" desc = "An exceedingly flimsy plastic gun that is extremely cheap to produce. You get what you pay for." @@ -329,9 +217,11 @@ EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) icon_state = "disposable" //credit to discord user 20nypercent for the sprite w_class = WEIGHT_CLASS_NORMAL - mag_type = /obj/item/ammo_box/magazine/disposable + default_ammo_type = /obj/item/ammo_box/magazine/disposable + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/disposable, + ) custom_materials = list(/datum/material/plastic=2000) - can_suppress = FALSE manufacturer = MANUFACTURER_NONE has_safety = FALSE //thing barely costs anything, why would it have a safety? safety = FALSE @@ -355,7 +245,10 @@ EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - mag_type = /obj/item/ammo_box/magazine/internal/derr38 + default_ammo_type = /obj/item/ammo_box/magazine/internal/derr38 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/derr38, + ) fire_sound = 'sound/weapons/gun/revolver/shot.ogg' load_sound = 'sound/weapons/gun/revolver/load_bullet.ogg' eject_sound = 'sound/weapons/gun/revolver/empty.ogg' @@ -390,44 +283,19 @@ EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' icon_state = "derringer_syndie" - mag_type = /obj/item/ammo_box/magazine/internal/derr357 + default_ammo_type = /obj/item/ammo_box/magazine/internal/derr357 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/derr357, + ) fire_sound_volume = 50 //Tactical stealth firing /obj/item/gun/ballistic/derringer/gold name = "\improper Golden Derringer" desc = "The golden sheen is somewhat counter-intuitive on a holdout weapon, but it looks cool. Uses .357 ammo." icon_state = "derringer_gold" - mag_type = /obj/item/ammo_box/magazine/internal/derr357 - -/obj/item/gun/ballistic/derringer/no_mag - spawnwithmagazine = FALSE - -/obj/item/gun/ballistic/automatic/pistol/himehabu - name = "\improper Himehabu" - desc = "A very small .22 LR pistol. The long awaited successor to the Stechkin; It has become a favorite among syndicate spies. Chambered in .22 LR." - icon_state = "himehabu" - icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' - - - w_class = WEIGHT_CLASS_TINY - mag_type = /obj/item/ammo_box/magazine/m22lr - can_suppress = FALSE - fire_sound = 'sound/weapons/gun/pistol/himehabu.ogg' - - load_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' - load_empty_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' - eject_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' - eject_empty_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' - - rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' - lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' - bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' - - recoil = -2 - recoil_unwielded = -2 - spread_unwielded = 0 - wield_slowdown = 0 + default_ammo_type = /obj/item/ammo_box/magazine/internal/derr357 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/derr357, + ) +EMPTY_GUN_HELPER(derringer) diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index de69836bf2f..d5ff8d72569 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -10,7 +10,10 @@ name = "i demand" desc = "You feel as if you should make a 'adminhelp' if you see one of these, along with a 'github' report. You don't really understand what this means though." icon_state = "revolver" - mag_type = /obj/item/ammo_box/magazine/internal/cylinder + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder, + ) fire_sound = 'sound/weapons/gun/revolver/shot.ogg' rack_sound = 'sound/weapons/gun/revolver/revolver_prime.ogg' load_sound = 'sound/weapons/gun/revolver/load_bullet.ogg' @@ -25,6 +28,9 @@ var/spin_delay = 10 var/recent_spin = 0 manufacturer = MANUFACTURER_SCARBOROUGH + + valid_attachments = list() + slot_available = list() fire_delay = 0.4 SECONDS spread_unwielded = 15 recoil = 0.5 @@ -33,13 +39,16 @@ bolt_wording = "hammer" dry_fire_sound = 'sound/weapons/gun/general/bolt_drop.ogg' dry_fire_text = "snap" - wield_slowdown = 0.3 + wield_slowdown = REVOLVER_SLOWDOWN gun_firemodes = list(FIREMODE_SEMIAUTO) default_firemode = FIREMODE_SEMIAUTO safety_wording = "hammer" + gunslinger_recoil_bonus = -1 + gunslinger_spread_bonus = -8 + var/gate_loaded = FALSE //for stupid wild west shit var/gate_offset = 5 //for wild west shit 2: instead of ejecting the chambered round, eject the next round if 1 var/gate_load_direction = REVOLVER_AUTO_ROTATE_RIGHT_LOADING //when we load ammo with a box, which direction do we rotate the cylinder? unused with normal revolvers @@ -418,7 +427,7 @@ fire_delay = src::fire_delay if(fan) rack() - to_chat(user, "You fan the [bolt_wording] of \the [src]!") + to_chat(user, span_notice("You fan the [bolt_wording] of \the [src]!")) balloon_alert_to_viewers("fans revolver!") fire_delay = 0 SECONDS @@ -436,25 +445,6 @@ return to_chat(user, "The hammer is up on [src]! Pull it down to fire!") -/obj/item/gun/ballistic/revolver/calculate_recoil(mob/user, recoil_bonus = 0) - var/gunslinger_bonus = -1 - var/total_recoil = recoil_bonus - - if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger bonus - total_recoil += gunslinger_bonus - total_recoil = clamp(total_recoil,0,INFINITY) - - return ..(user, total_recoil) - -/obj/item/gun/ballistic/revolver/calculate_spread(mob/user, bonus_spread) - var/gunslinger_bonus = -8 - var/total_spread = bonus_spread - - if(HAS_TRAIT(user, TRAIT_GUNSLINGER)) //gunslinger bonus - total_spread += gunslinger_bonus - - return ..(user, total_spread) - /obj/item/gun/ballistic/revolver/pickup(mob/user) . = ..() tryflip(user) @@ -472,7 +462,7 @@ name = "\improper syndicate revolver" desc = "A weighty revolver with a Scarborough Arms logo engraved on the barrel. Uses .357 ammo." //usually used by syndicates icon_state = "revolver" - icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + icon = 'icons/obj/guns/manufacturer/scarborough/48x32-old.dmi' lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' @@ -487,7 +477,7 @@ righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38 + // mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38 obj_flags = UNIQUE_RENAME semi_auto = TRUE //double action safety_wording = "safety" @@ -555,10 +545,13 @@ EMPTY_GUN_HELPER(revolver/detective) return TRUE /obj/item/gun/ballistic/revolver/detective/no_mag - spawnwithmagazine = FALSE + // spawnwithmagazine = FALSE /obj/item/gun/ballistic/revolver/no_mag - spawnwithmagazine = FALSE + // spawnwithmagazine = FALSE + +EMPTY_GUN_HELPER(revolver) +EMPTY_GUN_HELPER(revolver/viper) /obj/item/gun/ballistic/revolver/mateba name = "\improper Unica 6 auto-revolver" @@ -595,14 +588,14 @@ EMPTY_GUN_HELPER(revolver/detective) spread_unwielded = 15 recoil = 0 - mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev44/montagne + // mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev44/montagne /obj/item/gun/ballistic/revolver/montagne/ComponentInitialize() . = ..() AddComponent(/datum/component/ammo_hud/revolver) /obj/item/gun/ballistic/revolver/montagne/no_mag - spawnwithmagazine = FALSE + // spawnwithmagazine = FALSE /obj/item/gun/ballistic/revolver/ashhand name = "HP Ashhand" @@ -613,7 +606,7 @@ EMPTY_GUN_HELPER(revolver/detective) mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' icon_state = "ashhand" - mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev4570 + // mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev4570 fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' manufacturer = MANUFACTURER_HUNTERSPRIDE gate_loaded = TRUE @@ -638,7 +631,7 @@ EMPTY_GUN_HELPER(revolver/detective) righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - mag_type = /obj/item/ammo_box/magazine/internal/cylinder/pepperbox + // mag_type = /obj/item/ammo_box/magazine/internal/cylinder/pepperbox spread = 20 manufacturer = MANUFACTURER_HUNTERSPRIDE spread_unwielded = 50 @@ -648,7 +641,7 @@ EMPTY_GUN_HELPER(revolver/detective) safety_wording = "safety" /obj/item/gun/ballistic/revolver/firebrand/no_mag - spawnwithmagazine = FALSE + // spawnwithmagazine = FALSE /obj/item/gun/ballistic/revolver/shadow name = "\improper Shadow 45" @@ -661,7 +654,7 @@ EMPTY_GUN_HELPER(revolver/detective) icon_state = "shadow" item_state = "hp_generic" - mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev45 + // mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev45 manufacturer = MANUFACTURER_HEPHAESTUS obj_flags = UNIQUE_RENAME gate_loaded = TRUE @@ -683,4 +676,4 @@ EMPTY_GUN_HELPER(revolver/detective) AddComponent(/datum/component/ammo_hud/revolver) /obj/item/gun/ballistic/revolver/shadow/no_mag - spawnwithmagazine = FALSE + // spawnwithmagazine = FALSE diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index b817d9b394f..3abe98e1645 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -5,10 +5,12 @@ mob_overlay_icon = 'icons/mob/clothing/back.dmi' icon_state = "hunting" item_state = "hunting" - mag_type = /obj/item/ammo_box/magazine/internal/boltaction + default_ammo_type = /obj/item/ammo_box/magazine/internal/boltaction + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/boltaction, + ) bolt_wording = "bolt" w_class = WEIGHT_CLASS_BULKY - weapon_weight = WEAPON_HEAVY slot_flags = ITEM_SLOT_BACK bolt_type = BOLT_TYPE_STANDARD semi_auto = FALSE @@ -29,7 +31,7 @@ spread_unwielded = 48 recoil = -3 recoil_unwielded = 4 - wield_slowdown = 1 + wield_slowdown = RIFLE_SLOWDOWN wield_delay = 1.2 SECONDS /obj/item/gun/ballistic/rifle/update_overlays() @@ -51,7 +53,7 @@ /obj/item/gun/ballistic/rifle/eject_magazine(mob/user, display_message = TRUE, obj/item/ammo_box/magazine/tac_load = null) if (!bolt_locked && empty_autoeject) - to_chat(user, "The bolt is closed!") + to_chat(user, span_notice("The bolt is closed!")) return return ..() @@ -62,7 +64,7 @@ /obj/item/gun/ballistic/rifle/attackby(obj/item/A, mob/user, params) if (!bolt_locked) - to_chat(user, "The bolt is closed!") + to_chat(user, span_notice("The bolt is closed!")) return return ..() @@ -85,21 +87,21 @@ eject_empty_sound = 'sound/weapons/gun/rifle/vickland_unload.ogg' internal_magazine = FALSE - mag_type = /obj/item/ammo_box/magazine/illestren_a850r + // mag_type = /obj/item/ammo_box/magazine/illestren_a850r empty_autoeject = TRUE eject_sound_vary = FALSE can_be_sawn_off = TRUE manufacturer = MANUFACTURER_HUNTERSPRIDE /obj/item/gun/ballistic/rifle/illestren/empty //i had to name it empty instead of no_mag because else it wouldnt work with guncases. sorry! - spawnwithmagazine = FALSE + // spawnwithmagazine = FALSE -/obj/item/gun/ballistic/rifle/illestren/sawoff(mob/user) +/obj/item/gun/ballistic/rifle/illestren/sawoff(forced = FALSE) . = ..() if(.) spread = 24 spread_unwielded = 30 - can_bayonet = FALSE + // can_bayonet = FALSE item_state = "illestren_sawn" mob_overlay_state = item_state weapon_weight = WEAPON_MEDIUM //you can fire it onehanded, makes it worse than worse than useless onehanded, but you can @@ -115,7 +117,7 @@ icon_state = "illestren_factory" item_state = "illestren_factory" -/obj/item/gun/ballistic/rifle/illestren/sawoff(mob/user) +/obj/item/gun/ballistic/rifle/illestren/factory/sawoff(forced = FALSE) . = ..() if(.) item_state = "illestren_factory_sawn" @@ -133,7 +135,7 @@ /obj/item/gun/ballistic/rifle/solgov name = "SSG-669C" desc = "A bolt-action sniper rifle used by Solarian troops. Beloved for its rotary design and accuracy. Chambered in 8x58mm Caseless." - mag_type = /obj/item/ammo_box/magazine/internal/boltaction/solgov + // mag_type = /obj/item/ammo_box/magazine/internal/boltaction/solgov icon_state = "ssg669c" item_state = "ssg669c" icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' @@ -166,7 +168,7 @@ icon_state = "scout" item_state = "scout" - mag_type = /obj/item/ammo_box/magazine/internal/boltaction/smile + // mag_type = /obj/item/ammo_box/magazine/internal/boltaction/smile fire_sound = 'sound/weapons/gun/rifle/scout.ogg' rack_sound = 'sound/weapons/gun/rifle/scout_bolt_out.ogg' @@ -181,7 +183,7 @@ manufacturer = MANUFACTURER_HEPHAESTUS /obj/item/gun/ballistic/rifle/scout/no_mag - spawnwithmagazine = FALSE + // spawnwithmagazine = FALSE /obj/item/gun/ballistic/rifle/polymer name = "LK-MR Marksman Rifle" @@ -189,8 +191,11 @@ icon = 'icons/obj/guns/projectile.dmi' icon_state = "crackhead_rifle" item_state = "crackhead_rifle" - weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_NORMAL - mag_type = /obj/item/ammo_box/magazine/internal/boltaction/polymer + weapon_weight = WEAPON_HEAVY + w_class = WEIGHT_CLASS_BULKY + default_ammo_type = /obj/item/ammo_box/magazine/internal/boltaction/polymer + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/boltaction/polymer, + ) can_be_sawn_off = FALSE manufacturer = MANUFACTURER_LAKVAR diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index dff24dcf659..3fdfc0f6714 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -11,7 +11,10 @@ force = 10 flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK - mag_type = /obj/item/ammo_box/magazine/internal/shot + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot, + ) semi_auto = FALSE internal_magazine = TRUE casing_ejector = FALSE @@ -27,7 +30,7 @@ default_firemode = FIREMODE_SEMIAUTO fire_select_icon_state_prefix = "sg_" - wield_slowdown = 0.45 + wield_slowdown = SHOTGUN_SLOWDOWN wield_delay = 0.8 SECONDS spread = 4 @@ -35,6 +38,8 @@ recoil = 1 recoil_unwielded = 4 + gunslinger_recoil_bonus = -1 + /obj/item/gun/ballistic/shotgun/blow_up(mob/user) if(chambered && chambered.BB) process_fire(user, user, FALSE) @@ -73,7 +78,7 @@ gun_firemodes = list(FIREMODE_FULLAUTO) default_firemode = FIREMODE_FULLAUTO - mag_type = /obj/item/ammo_box/magazine/internal/shot/lethal + // mag_type = /obj/item/ammo_box/magazine/internal/shot/lethal manufacturer = MANUFACTURER_HEPHAESTUS fire_delay = 0.05 SECONDS //slamfire rack_delay = 0.2 SECONDS @@ -82,7 +87,7 @@ can_be_sawn_off = TRUE -/obj/item/gun/ballistic/shotgun/brimstone/sawoff(mob/user) +/obj/item/gun/ballistic/shotgun/brimstone/sawoff(forced = FALSE) . = ..() if(.) weapon_weight = WEAPON_MEDIUM @@ -97,7 +102,7 @@ mob_overlay_state = item_state /obj/item/gun/ballistic/shotgun/brimstone/no_mag - spawnwithmagazine = FALSE + // spawnwithmagazine = FALSE // LK-SS SHOTGUN // @@ -129,14 +134,14 @@ icon_state = "hellfire" item_state = "hellfire" - mag_type = /obj/item/ammo_box/magazine/internal/shot/riot + // mag_type = /obj/item/ammo_box/magazine/internal/shot/riot sawn_desc = "Come with me if you want to live." can_be_sawn_off = TRUE rack_sound = 'sound/weapons/gun/shotgun/rack_alt.ogg' fire_delay = 0.1 SECONDS manufacturer = MANUFACTURER_HEPHAESTUS -/obj/item/gun/ballistic/shotgun/hellfire/sawoff(mob/user) +/obj/item/gun/ballistic/shotgun/hellfire/sawoff(forced = FALSE) . = ..() if(.) var/obj/item/ammo_box/magazine/internal/tube = magazine @@ -154,7 +159,8 @@ mob_overlay_state = item_state /obj/item/gun/ballistic/shotgun/hellfire/no_mag - spawnwithmagazine = FALSE + // spawnwithmagazine = FALSE + // Automatic Shotguns// /obj/item/gun/ballistic/shotgun/automatic spread = 4 @@ -165,29 +171,8 @@ /obj/item/gun/ballistic/shotgun/automatic manufacturer = MANUFACTURER_HEPHAESTUS - -/obj/item/gun/ballistic/shotgun/automatic/shoot_live_shot(mob/living/user) - ..() - rack() - -//im not sure what to do with the combat shotgun, as it's functionally the same as the semi auto shotguns except it automattically racks instead of being semi-auto - -/obj/item/gun/ballistic/shotgun/automatic/combat - name = "combat shotgun" - desc = "A semi-automatic shotgun with tactical furniture and six-shell capacity underneath." - icon_state = "cshotgun" - item_state = "shotgun_combat" - fire_delay = 0.5 SECONDS - mag_type = /obj/item/ammo_box/magazine/internal/shot/com - w_class = WEIGHT_CLASS_BULKY - -/obj/item/gun/ballistic/shotgun/automatic/combat/compact - name = "compact combat shotgun" - desc = "A compact version of the semi-automatic combat shotgun. For close encounters." - icon_state = "cshotgunc" - mag_type = /obj/item/ammo_box/magazine/internal/shot/com/compact - w_class = WEIGHT_CLASS_NORMAL - weapon_weight = WEAPON_MEDIUM + semi_auto = TRUE + gunslinger_recoil_bonus = 1 //Dual Feed Shotgun @@ -202,7 +187,10 @@ icon_state = "cycler" - mag_type = /obj/item/ammo_box/magazine/internal/shot/tube + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/tube + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/tube, + ) w_class = WEIGHT_CLASS_HUGE var/toggled = FALSE var/obj/item/ammo_box/magazine/internal/shot/alternate_magazine @@ -215,7 +203,7 @@ /obj/item/gun/ballistic/shotgun/automatic/dual_tube/Initialize() . = ..() if (!alternate_magazine) - alternate_magazine = new mag_type(src) + alternate_magazine = new default_ammo_type(src) /obj/item/gun/ballistic/shotgun/automatic/dual_tube/attack_self(mob/living/user) if(!chambered && magazine.contents.len) @@ -241,10 +229,10 @@ // Bulldog shotgun // -/obj/item/gun/ballistic/shotgun/bulldog //TODO: REPATH TO LIKE /obj/item/gun/ballistic/shotgun/automatic/bulldog +/obj/item/gun/ballistic/shotgun/bulldog name = "\improper Bulldog Shotgun" desc = "A semi-automatic, magazine-fed shotgun designed for combat in tight quarters, manufactured by Scarborough Arms. A historical favorite of various Syndicate factions, especially the Gorlex Marauders." - icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + icon = 'icons/obj/guns/manufacturer/scarborough/48x32-old.dmi' lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' @@ -252,8 +240,8 @@ item_state = "bulldog" weapon_weight = WEAPON_MEDIUM - mag_type = /obj/item/ammo_box/magazine/m12g - can_suppress = FALSE + // mag_type = /obj/item/ammo_box/magazine/m12g + // can_suppress = FALSE burst_size = 1 fire_delay = 0.4 SECONDS // this NEEDS the old delay. fire_sound = 'sound/weapons/gun/shotgun/bulldog.ogg' @@ -284,12 +272,15 @@ EMPTY_GUN_HELPER(shotgun/bulldog) -/obj/item/gun/ballistic/shotgun/bulldog/inteq +/obj/item/gun/ballistic/shotgun/automatic/bulldog/inteq name = "\improper Mastiff Shotgun" desc = "A variation of the Bulldog, seized from Syndicate armories by deserting troopers then modified to IRMG's standards." - icon_state = "bulldog-inteq" - item_state = "bulldog-inteq" - mag_type = /obj/item/ammo_box/magazine/m12g + icon_state = "bulldog_inteq" + item_state = "bulldog_inteq" + default_ammo_type = /obj/item/ammo_box/magazine/m12g_bulldog + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m12g_bulldog, + ) manufacturer = MANUFACTURER_INTEQ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) @@ -308,7 +299,7 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' - mag_type = /obj/item/ammo_box/magazine/cm15_mag + // mag_type = /obj/item/ammo_box/magazine/cm15_mag icon_state = "cm15" item_state = "cm15" empty_alarm = FALSE @@ -345,7 +336,7 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) force = 10 flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK - mag_type = /obj/item/ammo_box/magazine/internal/shot/dual + // mag_type = /obj/item/ammo_box/magazine/internal/shot/dual obj_flags = UNIQUE_RENAME unique_reskin = list("Default" = "dshotgun", @@ -411,61 +402,7 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) else icon_state = "[base_icon_state || initial(icon_state)][sawn_off ? "_sawn" : ""][bolt_locked ? "_open" : ""]" - -/obj/item/gun/ballistic/shotgun/doublebarrel/AltClick(mob/user) - . = ..() - if(unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY) && (!bolt_locked)) - reskin_obj(user) - -/obj/item/gun/ballistic/shotgun/doublebarrel/sawoff(mob/user) - . = ..() - if(.) - weapon_weight = WEAPON_MEDIUM - wield_slowdown = 0.25 - wield_delay = 0.3 SECONDS //OP? maybe - - spread = 8 - spread_unwielded = 15 - recoil = 3 //or not - recoil_unwielded = 5 - item_state = "dshotgun_sawn" - mob_overlay_state = item_state - -/obj/item/gun/ballistic/shotgun/doublebarrel/no_mag - spawnwithmagazine = FALSE - -// sawn off beforehand -/obj/item/gun/ballistic/shotgun/doublebarrel/presawn - name = "sawn-off double-barreled shotgun" - desc = "A break action shotgun cut down to the size of a sidearm. While the recoil is even harsher, it offers a lot of power in a very small package. Chambered in 12g." - sawn_off = TRUE - weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_NORMAL - slot_flags = ITEM_SLOT_BELT - - wield_slowdown = 0.25 - wield_delay = 0.3 SECONDS //OP? maybe - - spread = 8 - spread_unwielded = 15 - recoil = 3 //or not - recoil_unwielded = 5 - item_state = "dshotgun_sawn" - mag_type = /obj/item/ammo_box/magazine/internal/shot/dual/lethal - -/obj/item/gun/ballistic/shotgun/doublebarrel/roumain - name = "HP antique double-barreled shotgun" - desc = "A special-edition shotgun hand-made by Hunter's Pride with a high-quality walnut stock inlaid with brass scrollwork. Shotguns like this are very rare outside of the Saint-Roumain Militia's ranks. Otherwise functionally identical to a common double-barreled shotgun. Chambered in 12g." - sawn_desc = "A special-edition Hunter's Pride shotgun, cut down to the size of a sidearm by some barbarian. The brass inlay on the stock and engravings on the barrel have been obliterated in the process, destroying any value beyond its use as a crude sidearm." - base_icon_state = "dshotgun_srm" - icon_state = "dshotgun_srm" - item_state = "dshotgun_srm" - unique_reskin = null - -/obj/item/gun/ballistic/shotgun/doublebarrel/roumain/sawoff(mob/user) - . = ..() - if(.) - item_state = "dshotgun_srm_sawn" +NO_MAG_GUN_HELPER(shotgun/automatic/bulldog/inteq) // IMPROVISED SHOTGUN // @@ -473,8 +410,8 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) name = "improvised shotgun" desc = "A length of pipe and miscellaneous bits of scrap fashioned into a rudimentary single-shot shotgun." icon = 'icons/obj/guns/projectile.dmi' - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' + righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' mob_overlay_icon = null base_icon_state = "ishotgun" @@ -483,7 +420,10 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) w_class = WEIGHT_CLASS_BULKY force = 10 slot_flags = null - mag_type = /obj/item/ammo_box/magazine/internal/shot/improvised + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/improvised + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/improvised, + ) sawn_desc = "I'm just here for the gasoline." unique_reskin = null var/slung = FALSE @@ -518,7 +458,7 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) if(sawn_off) . += "ishotgun_sawn" -/obj/item/gun/ballistic/shotgun/doublebarrel/improvised/sawoff(mob/user) +/obj/item/gun/ballistic/shotgun/doublebarrel/improvised/sawoff(forced = FALSE) . = ..() if(. && slung) //sawing off the gun removes the sling new /obj/item/stack/cable_coil(get_turf(src), 10) @@ -526,11 +466,6 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) update_appearance() /obj/item/gun/ballistic/shotgun/doublebarrel/improvised/sawn - name = "sawn-off improvised shotgun" - desc = "A single-shot shotgun. Better not miss." - icon_state = "ishotgun_sawn" - item_state = "ishotgun_sawn" - w_class = WEIGHT_CLASS_NORMAL sawn_off = TRUE slot_flags = ITEM_SLOT_BELT @@ -538,7 +473,7 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) name = "compact compact combat shotgun" desc = "A compact version of the compact version of the semi automatic combat shotgun. For when you want a gun the same size as your brain." icon_state = "cshotguncc" - mag_type = /obj/item/ammo_box/magazine/internal/shot/com/compact/compact + // mag_type = /obj/item/ammo_box/magazine/internal/shot/com/compact/compact w_class = WEIGHT_CLASS_SMALL sawn_desc = "You know, this isn't funny anymore." can_be_sawn_off = TRUE @@ -561,7 +496,7 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) name = "compact compact compact combat shotgun" desc = "A compact version of the compact version of the compact version of the semi automatic combat shotgun. It's a miracle it works..." icon_state = "cshotgunccc" - mag_type = /obj/item/ammo_box/magazine/internal/shot/com/compact/compact/compact + // mag_type = /obj/item/ammo_box/magazine/internal/shot/com/compact/compact/compact w_class = WEIGHT_CLASS_TINY sawn_desc = "Sigh. This is a trigger attached to a cartridge." can_be_sawn_off = TRUE @@ -590,11 +525,16 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) icon = 'icons/obj/guns/48x32guns.dmi' lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' + inhand_x_dimension = 64 + inhand_y_dimension = 64 item_state = "shotgun_qb" w_class = WEIGHT_CLASS_BULKY force = 15 //blunt edge and really heavy attack_verb = list("bludgeoned", "smashed") - mag_type = /obj/item/ammo_box/magazine/internal/shot/sex + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/sex + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/sex, + ) burst_size = 6 burst_delay = 0.04 SECONDS //?? very weird number pb_knockback = 12 @@ -637,220 +577,7 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) recoil_unwielded = 200 recoil_backtime_multiplier = 1 fire_sound_volume = 100 - mag_type = /obj/item/ammo_box/magazine/internal/shot/hundred - -//Lever-Action Rifles -/obj/item/gun/ballistic/shotgun/flamingarrow - name = "HP Flaming Arrow" - desc = "A sturdy and lightweight lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. A popular choice among Frontier homesteaders for hunting small game and rudimentary self-defense. Chambered in .38." - sawn_desc = "A lever-action rifle that has been sawed down and modified for extra portability. While surprisingly effective as a sidearm, the more important benefit is how much cooler it looks." - base_icon_state = "flamingarrow" - icon_state = "flamingarrow" - item_state = "flamingarrow" - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - inhand_x_dimension = 32 - inhand_y_dimension = 32 - mag_type = /obj/item/ammo_box/magazine/internal/shot/winchester - fire_sound = 'sound/weapons/gun/rifle/flamingarrow.ogg' - rack_sound = 'sound/weapons/gun/rifle/skm_cocked.ogg' - bolt_wording = "lever" - cartridge_wording = "bullet" - can_be_sawn_off = TRUE - - wield_slowdown = 0.5 - wield_delay = 0.65 SECONDS - - spread = -5 - spread_unwielded = 7 - - recoil = 0 - recoil_unwielded = 2 - -/obj/item/gun/ballistic/shotgun/flamingarrow/no_mag - spawnwithmagazine = FALSE - -/obj/item/gun/ballistic/shotgun/flamingarrow/update_icon_state() - . = ..() - if(current_skin) - icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""]" - else - icon_state = "[base_icon_state || initial(icon_state)][sawn_off ? "_sawn" : ""]" - - -/obj/item/gun/ballistic/shotgun/flamingarrow/rack(mob/user = null) - . = ..() - if(!wielded) - SpinAnimation(7,1) - -/obj/item/gun/ballistic/shotgun/flamingarrow/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) - var/fan = FALSE - if(HAS_TRAIT(user, TRAIT_GUNSLINGER) && !semi_auto && wielded_fully && loc == user && !safety) - fan = TRUE - fire_delay = 0.35 SECONDS - . = ..() - fire_delay = src::fire_delay - if(fan) - rack() - to_chat(user, "You quickly rack the [bolt_wording] of \the [src]!") - balloon_alert_to_viewers("quickly racks!") - fire_delay = 0 SECONDS - -/obj/item/gun/ballistic/shotgun/flamingarrow/sawoff(mob/user) - . = ..() - if(.) - var/obj/item/ammo_box/magazine/internal/tube = magazine - tube.max_ammo = 7 - - item_state = "flamingarrow_sawn" - mob_overlay_state = item_state - weapon_weight = WEAPON_MEDIUM - - wield_slowdown = 0.25 - wield_delay = 0.2 SECONDS //THE COWBOY RIFLE - - spread = 4 - spread_unwielded = 12 - - recoil = 0 - recoil_unwielded = 3 - -/obj/item/gun/ballistic/shotgun/flamingarrow/factory - desc = "A sturdy and lightweight lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. This example has been kept in excellent shape and may as well be fresh out of the workshop. Chambered in .38." - icon_state = "flamingarrow_factory" - base_icon_state = "flamingarrow_factory" - item_state = "flamingarrow_factory" - -/obj/item/gun/ballistic/shotgun/flamingarrow/factory/sawoff(mob/user) - . = ..() - if(.) - item_state = "flamingarrow_factory_sawn" - mob_overlay_state = item_state - -/obj/item/gun/ballistic/shotgun/flamingarrow/bolt - name = "HP Flaming Bolt" - desc = "A sturdy, excellently-made lever-action rifle. This one appears to be a genuine antique, kept in incredibly good condition despite its advanced age. Chambered in .38." - base_icon_state = "flamingbolt" - icon_state = "flamingbolt" - item_state = "flamingbolt" - -/obj/item/gun/ballistic/shotgun/flamingarrow/bolt/sawoff(mob/user) - . = ..() - if(.) - item_state = "flamingbolt_sawn" - mob_overlay_state = item_state - -//Elephant Gun -/obj/item/gun/ballistic/shotgun/doublebarrel/twobore - name = "HP Huntsman" - desc = "A comically huge double-barreled rifle replete with brass inlays depicting flames and naturalistic scenes, clearly meant for the nastiest monsters the Frontier has to offer. If you want an intact trophy, don't aim for the head. Chambered in two-bore." - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - inhand_x_dimension = 32 - inhand_y_dimension = 32 - base_icon_state = "huntsman" - icon_state = "huntsman" - item_state = "huntsman" - unique_reskin = null - attack_verb = list("bludgeoned", "smashed") - mag_type = /obj/item/ammo_box/magazine/internal/shot/twobore - w_class = WEIGHT_CLASS_BULKY - force = 20 //heavy ass elephant gun, why wouldnt it be - recoil = 4 - pb_knockback = 12 - fire_sound = 'sound/weapons/gun/shotgun/quadfire.ogg' - rack_sound = 'sound/weapons/gun/shotgun/quadrack.ogg' - load_sound = 'sound/weapons/gun/shotgun/quadinsert.ogg' - - can_be_sawn_off = FALSE - fire_sound_volume = 80 - rack_sound_volume = 50 - manufacturer = MANUFACTURER_HUNTERSPRIDE - - gun_firemodes = list(FIREMODE_SEMIAUTO) //no dual burst for you - default_firemode = FIREMODE_SEMIAUTO - -//Break-Action Rifle -/obj/item/gun/ballistic/shotgun/doublebarrel/beacon - name = "HP Beacon" - desc = "A single-shot break-action rifle made by Hunter's Pride and sold to civilian hunters. Boasts excellent accuracy and stopping power. Uses .45-70 ammo." - sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim." - base_icon_state = "beacon" - icon_state = "beacon" - item_state = "beacon" - unique_reskin = null - inhand_x_dimension = 32 - inhand_y_dimension = 32 - mag_type = /obj/item/ammo_box/magazine/internal/shot/beacon - fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' - can_be_sawn_off=TRUE - w_class = WEIGHT_CLASS_BULKY - weapon_weight = WEAPON_MEDIUM - force = 10 - flags_1 = CONDUCT_1 - slot_flags = ITEM_SLOT_BACK - obj_flags = UNIQUE_RENAME - semi_auto = TRUE - can_be_sawn_off = TRUE - pb_knockback = 3 - wield_slowdown = 0.7 - spread_unwielded = 15 - spread = 0 - recoil = 0 - recoil_unwielded = 5 - - gun_firemodes = list(FIREMODE_SEMIAUTO) - default_firemode = FIREMODE_SEMIAUTO - -/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/sawoff(mob/user) - . = ..() - if(.) - item_state = "beacon_sawn" - mob_overlay_state = item_state - wield_slowdown = 0.5 - wield_delay = 0.5 SECONDS - - spread_unwielded = 20 //mostly the hunting revolver stats - spread = 6 - recoil = 2 - recoil_unwielded = 4 - -/obj/item/gun/ballistic/shotgun/doublebarrel/beacon - spawnwithmagazine = FALSE - -/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/factory - desc = "A single-shot break-action rifle made by Hunter's Pride and sold to civilian hunters. This example has been kept in excellent shape and may as well be fresh out of the workshop. Uses .45-70 ammo." - sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim." - base_icon_state = "beacon_factory" - icon_state = "beacon_factory" - item_state = "beacon_factory" - -/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/factory/sawoff(mob/user) - . = ..() - if(.) - item_state = "beacon_factory_sawn" - mob_overlay_state = item_state - -//pre sawn off beacon -/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/presawn - name = "sawn-off HP Beacon" - sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim." - sawn_off = TRUE - w_class = WEIGHT_CLASS_NORMAL - slot_flags = ITEM_SLOT_BELT - - weapon_weight = WEAPON_MEDIUM - - item_state = "beacon_sawn" - mob_overlay_state = "beacon_sawn" - wield_slowdown = 0.5 - wield_delay = 0.5 SECONDS - - spread_unwielded = 20 //mostly the hunting revolver stats - spread = 6 - recoil = 2 - recoil_unwielded = 4 + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/hundred + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/hundred, + ) diff --git a/code/modules/projectiles/guns/ballistic/smg.dm b/code/modules/projectiles/guns/ballistic/smg.dm index cb34dff9006..31306d9e400 100644 --- a/code/modules/projectiles/guns/ballistic/smg.dm +++ b/code/modules/projectiles/guns/ballistic/smg.dm @@ -1,11 +1,13 @@ /obj/item/gun/ballistic/automatic/smg + show_magazine_on_sprite = TRUE + burst_size = 2 actions_types = list() fire_delay = 0.13 SECONDS spread = 6 spread_unwielded = 10 - wield_slowdown = 0.35 + wield_slowdown = SMG_SLOWDOWN recoil_unwielded = 4 w_class = WEIGHT_CLASS_BULKY @@ -19,6 +21,9 @@ eject_sound = 'sound/weapons/gun/smg/smg_unload.ogg' eject_empty_sound = 'sound/weapons/gun/smg/smg_unload.ogg' + gunslinger_recoil_bonus = 2 + gunslinger_spread_bonus = 16 + /obj/item/gun/ballistic/automatic/smg/calculate_recoil(mob/user, recoil_bonus = 0) var/gunslinger_bonus = 2 var/total_recoil @@ -42,18 +47,18 @@ /obj/item/gun/ballistic/automatic/smg/c20r name = "\improper C-20r SMG" desc = "A bullpup .45 SMG designated 'C-20r.' Its buttstamp reads 'Scarborough Arms - Per falcis, per pravitas.'" - icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + icon = 'icons/obj/guns/manufacturer/scarborough/48x32-old.dmi' lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' icon_state = "c20r" item_state = "c20r" - mag_type = /obj/item/ammo_box/magazine/smgm45 - can_bayonet = TRUE - can_suppress = FALSE - knife_x_offset = 26 - knife_y_offset = 12 + // mag_type = /obj/item/ammo_box/magazine/m45_cobra + // can_bayonet = TRUE + // can_suppress = FALSE + // knife_x_offset = 26 + // knife_y_offset = 12 show_magazine_on_sprite = TRUE show_magazine_on_sprite_ammo = TRUE empty_indicator = TRUE @@ -68,12 +73,13 @@ EMPTY_GUN_HELPER(automatic/smg/c20r) /obj/item/gun/ballistic/automatic/smg/c20r/cobra name = "\improper Cobra 20" desc = "An older model of SMG manufactured by Scarborough Arms, a predecessor to the military C-20 series. Chambered in .45. " - can_bayonet = FALSE + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + // can_bayonet = FALSE icon_state = "cobra20" item_state = "cobra20" /obj/item/gun/ballistic/automatic/smg/c20r/cobra/no_mag - spawnwithmagazine = FALSE + // spawnwithmagazine = FALSE /obj/item/gun/ballistic/automatic/smg/c20r/suns desc = "A bullpup .45 SMG designated 'C-20r.' Its buttstamp reads 'Scarborough Arms - Per falcis, per pravitas.' Before being painted, this one was used as a film prop!" @@ -89,12 +95,11 @@ EMPTY_GUN_HELPER(automatic/smg/c20r) mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "wt550" item_state = "arg" - mag_type = /obj/item/ammo_box/magazine/wt550m9 - can_suppress = FALSE + default_ammo_type = /obj/item/ammo_box/magazine/wt550m9 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/wt550m9, + ) actions_types = list() - can_bayonet = TRUE - knife_x_offset = 25 - knife_y_offset = 12 show_magazine_on_sprite = TRUE show_magazine_on_sprite_ammo = TRUE empty_indicator = TRUE @@ -102,35 +107,7 @@ EMPTY_GUN_HELPER(automatic/smg/c20r) fire_sound = 'sound/weapons/gun/smg/smg_heavy.ogg' /obj/item/gun/ballistic/automatic/smg/wt550/no_mag - spawnwithmagazine = FALSE - -/obj/item/gun/ballistic/automatic/smg/mini_uzi - name = "\improper Type U3 Uzi" - desc = "A lightweight submachine gun, for when you really want someone dead. Uses 9mm rounds." - - icon = 'icons/obj/guns/manufacturer/frontier_import/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/frontier_import/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/frontier_import/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/frontier_import/onmob.dmi' - icon_state = "uzi" - - mag_type = /obj/item/ammo_box/magazine/uzim9mm - bolt_type = BOLT_TYPE_OPEN - show_magazine_on_sprite = TRUE - - fire_sound = 'sound/weapons/gun/smg/uzi.ogg' - rack_sound = 'sound/weapons/gun/smg/uzi_cocked.ogg' - - load_sound = 'sound/weapons/gun/smg/uzi_reload.ogg' - load_empty_sound = 'sound/weapons/gun/smg/uzi_reload.ogg' - eject_sound = 'sound/weapons/gun/smg/uzi_unload.ogg' - eject_empty_sound = 'sound/weapons/gun/smg/uzi_unload.ogg' - - spread = 4 - spread_unwielded = 8 - wield_slowdown = 0.25 - wield_delay = 0.2 SECONDS - fire_delay = 0.1 SECONDS + default_ammo_type = FALSE /obj/item/gun/ballistic/automatic/smg/vector name = "\improper Vector carbine" @@ -141,7 +118,10 @@ EMPTY_GUN_HELPER(automatic/smg/c20r) mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "vector" item_state = "vector" - mag_type = /obj/item/ammo_box/magazine/smgm9mm //you guys remember when the autorifle was chambered in 9mm + default_ammo_type = /obj/item/ammo_box/magazine/smgm9mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/smgm9mm, + ) //you guys remember when the autorifle was chambered in 9mm bolt_type = BOLT_TYPE_LOCKING show_magazine_on_sprite = TRUE weapon_weight = WEAPON_LIGHT @@ -150,15 +130,15 @@ EMPTY_GUN_HELPER(automatic/smg/c20r) /obj/item/gun/ballistic/automatic/smg/m90 name = "\improper M-90gl Carbine" desc = "A three-round burst 5.56 toploading carbine, designated 'M-90gl'. Has an attached underbarrel grenade launcher which can be toggled on and off." - icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + icon = 'icons/obj/guns/manufacturer/scarborough/48x32-old.dmi' lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' icon_state = "m90" item_state = "m90" - mag_type = /obj/item/ammo_box/magazine/m556 - can_suppress = FALSE + // mag_type = /obj/item/ammo_box/magazine/m556 + // can_suppress = FALSE gun_firenames = list(FIREMODE_SEMIAUTO = "single", FIREMODE_BURST = "burst fire", FIREMODE_FULLAUTO = "full auto", FIREMODE_OTHER = "underbarrel grenade launcher") gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST, FIREMODE_OTHER) default_firemode = FIREMODE_SEMIAUTO @@ -240,8 +220,8 @@ EMPTY_GUN_HELPER(automatic/smg/c20r) icon_state = "firestorm" item_state = "firestorm" - mag_type = /obj/item/ammo_box/magazine/c45_firestorm_mag - can_suppress = FALSE + // mag_type = /obj/item/ammo_box/magazine/c45_firestorm_mag + // can_suppress = FALSE unique_mag_sprites_for_variants = TRUE burst_size = 1 actions_types = list() @@ -253,7 +233,7 @@ EMPTY_GUN_HELPER(automatic/smg/c20r) wield_slowdown = 0.4 /obj/item/gun/ballistic/automatic/smg/firestorm/pan //spawns with pan magazine, can take sticks instead of just drums, not sure where this would be used, maybe erts? - spawnwithmagazine = FALSE + // spawnwithmagazine = FALSE /obj/item/gun/ballistic/automatic/smg/firestorm/pan/Initialize() . = ..() @@ -271,7 +251,7 @@ EMPTY_GUN_HELPER(automatic/smg/c20r) icon_state = "cm5" item_state = "cm5" - mag_type = /obj/item/ammo_box/magazine/smgm9mm + // mag_type = /obj/item/ammo_box/magazine/smgm9mm weapon_weight = WEAPON_LIGHT fire_sound = 'sound/weapons/gun/smg/smg_heavy.ogg' manufacturer = MANUFACTURER_MINUTEMAN @@ -313,10 +293,11 @@ EMPTY_GUN_HELPER(automatic/smg/cm5) eject_empty_sound = 'sound/weapons/gun/rifle/skm_unload.ogg' weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_BULKY - mag_type = /obj/item/ammo_box/magazine/skm_545_39 - - actions_types = list(/datum/action/item_action/fold_stock) //once again, ideally an attatchment in the future + w_class = WEIGHT_CLASS_NORMAL + default_ammo_type = /obj/item/ammo_box/magazine/skm_46_30 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/skm_46_30, + ) recoil = 2 recoil_unwielded = 6 @@ -325,78 +306,37 @@ EMPTY_GUN_HELPER(automatic/smg/cm5) spread_unwielded = 14 wield_delay = 0.6 SECONDS - wield_slowdown = 0.35 - - ///is the bipod deployed? - var/stock_folded = FALSE - - ///we add these two values to recoi/spread when we have the bipod deployed - var/stock_recoil_bonus = -2 - var/stock_spread_bonus = -5 - - var/folded_slowdown = 0.6 - var/folded_wield_delay = 0.6 SECONDS - - var/unfolded_slowdown = 0.35 - var/unfolded_wield_delay = 0.2 SECONDS - -/obj/item/gun/ballistic/automatic/smg/skm_carbine/ComponentInitialize() - . = ..() - AddElement(/datum/element/update_icon_updates_onmob) - -/datum/action/item_action/fold_stock - name = "Fold/Unfold stock" - desc = "Fold or unfold the stock for easier storage." - -/obj/item/gun/ballistic/automatic/smg/skm_carbine/ui_action_click(mob/user, action) - if(!istype(action, /datum/action/item_action/fold_stock)) - return ..() - fold(user) - - -/obj/item/gun/ballistic/automatic/smg/skm_carbine/proc/fold(mob/user) - if(stock_folded) - to_chat(user, "You unfold the stock on the [src].") - w_class = WEIGHT_CLASS_BULKY - wield_delay = folded_wield_delay - wield_slowdown = folded_slowdown - else - to_chat(user, "You fold the stock on the [src].") - w_class = WEIGHT_CLASS_NORMAL - wield_delay = unfolded_wield_delay - wield_slowdown = unfolded_slowdown - - if(wielded) - user.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/gun, multiplicative_slowdown = wield_slowdown) - - stock_folded = !stock_folded - playsound(src, 'sound/weapons/empty.ogg', 100, 1) - update_appearance() - - -/obj/item/gun/ballistic/automatic/smg/skm_carbine/calculate_recoil(mob/user, recoil_bonus = 0) - var/total_recoil = recoil_bonus - if(!stock_folded) - total_recoil += stock_recoil_bonus - - return ..(user, total_recoil) - -/obj/item/gun/ballistic/automatic/smg/skm_carbine/calculate_spread(mob/user, bonus_spread) - var/total_spread = bonus_spread - - if(!stock_folded) - total_spread += stock_spread_bonus - - return ..(user, total_spread) - -/obj/item/gun/ballistic/automatic/smg/skm_carbine/update_icon_state() - . = ..() - item_state = "[initial(item_state)][stock_folded ? "_nostock" : ""]" - mob_overlay_state = "[initial(item_state)][stock_folded ? "_nostock" : ""]" - -/obj/item/gun/ballistic/automatic/smg/skm_carbine/update_overlays() - . = ..() - . += "[base_icon_state || initial(icon_state)][stock_folded ? "_nostock" : "_stock"]" + wield_slowdown = SMG_SLOWDOWN + + valid_attachments = list( + /obj/item/attachment/silencer, + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet, + /obj/item/attachment/foldable_stock + ) + + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1, + ATTACHMENT_SLOT_STOCK = 1 + ) + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 26, + "y" = 20, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 19, + "y" = 18, + ), + ATTACHMENT_SLOT_STOCK = list( + "x" = 11, + "y" = 20, + ) + ) + + default_attachments = list(/obj/item/attachment/foldable_stock) /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq name = "\improper SKM-44v Mongrel" @@ -408,7 +348,10 @@ EMPTY_GUN_HELPER(automatic/smg/cm5) icon_state = "skm_inteqsmg" item_state = "skm_inteqsmg" - mag_type = /obj/item/ammo_box/magazine/smgm10mm + default_ammo_type = /obj/item/ammo_box/magazine/smgm10mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/smgm10mm, + ) manufacturer = MANUFACTURER_INTEQ fire_sound = 'sound/weapons/gun/smg/vector_fire.ogg' @@ -419,30 +362,57 @@ EMPTY_GUN_HELPER(automatic/smg/cm5) eject_empty_sound = 'sound/weapons/gun/smg/smg_unload.ogg' spread = 7 - recoil_unwielded = 10 + spread_unwielded = 10 recoil = 0 recoil_unwielded = 4 - stock_spread_bonus = -4 - stock_recoil_bonus = -1 - wield_delay = 0.4 SECONDS - folded_slowdown = 0.15 - folded_wield_delay = 0.2 SECONDS + valid_attachments = list( + /obj/item/attachment/silencer, + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet, + /obj/item/attachment/foldable_stock/inteq + ) + default_attachments = list(/obj/item/attachment/foldable_stock/inteq) - unfolded_slowdown = 0.35 - unfolded_wield_delay = 0.4 SECONDS - -/obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto +/obj/item/gun/ballistic/automatic/smg/skm_carbine/saber name = "\improper Nanotrasen Saber SMG" desc = "A prototype full-auto 9mm submachine gun, designated 'SABR'. Has a threaded barrel for suppressors and a folding stock." icon = 'icons/obj/guns/projectile.dmi' icon_state = "saber" item_state = "gun" - mag_type = /obj/item/ammo_box/magazine/smgm9mm + + default_ammo_type = /obj/item/ammo_box/magazine/smgm9mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/smgm9mm, + ) + + fire_sound = 'sound/weapons/gun/smg/vector_fire.ogg' + + load_sound = 'sound/weapons/gun/smg/smg_reload.ogg' + load_empty_sound = 'sound/weapons/gun/smg/smg_reload.ogg' + eject_sound = 'sound/weapons/gun/smg/smg_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/smg/smg_unload.ogg' + + spread = 7 + spread_unwielded = 10 + + recoil = 0 + recoil_unwielded = 4 + + wield_delay = 0.4 SECONDS + + valid_attachments = list( + /obj/item/attachment/silencer, + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet, + /obj/item/attachment/foldable_stock + ) + default_attachments = list(/obj/item/attachment/foldable_stock) bolt_type = BOLT_TYPE_LOCKING show_magazine_on_sprite = TRUE manufacturer = MANUFACTURER_NANOTRASEN_OLD - diff --git a/code/modules/projectiles/guns/ballistic/toy.dm b/code/modules/projectiles/guns/ballistic/toy.dm index 160569d3f86..016cbe94f4c 100644 --- a/code/modules/projectiles/guns/ballistic/toy.dm +++ b/code/modules/projectiles/guns/ballistic/toy.dm @@ -1,35 +1,41 @@ /obj/item/gun/ballistic/automatic/toy name = "foam force SMG" desc = "A prototype three-round burst toy submachine gun. Ages 8 and up." - icon_state = "saber" - item_state = "gun" - mag_type = /obj/item/ammo_box/magazine/toy/smg + + icon = 'icons/obj/guns/manufacturer/toys/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/toys/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/toys/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/toys/onmob.dmi' + + icon_state = "toysmg" + item_state = "toysmg" + default_ammo_type = /obj/item/ammo_box/magazine/toy/smg + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/toy/smg, + ) fire_sound = 'sound/items/syringeproj.ogg' force = 0 throwforce = 0 burst_size = 3 - can_suppress = TRUE item_flags = NONE casing_ejector = FALSE manufacturer = MANUFACTURER_NANOTRASEN recoil = -10 //its a toy... recoil_unwielded = -10 -/obj/item/gun/ballistic/automatic/toy/update_overlays() - . = ..() - . += "[icon_state]_toy" /obj/item/gun/ballistic/automatic/toy/pistol name = "foam force pistol" desc = "A small, easily concealable toy handgun. Ages 8 and up." - icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' - icon_state = "pistol" // WS edit - Fix various startup runtimes + + icon_state = "toypistol" + item_state = "toypistol" bolt_type = BOLT_TYPE_LOCKING w_class = WEIGHT_CLASS_SMALL - mag_type = /obj/item/ammo_box/magazine/toy/pistol + default_ammo_type = /obj/item/ammo_box/magazine/toy/pistol + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/toy/pistol, + ) fire_sound = 'sound/items/syringeproj.ogg' burst_size = 1 fire_delay = 0.2 SECONDS @@ -38,7 +44,7 @@ recoil_unwielded = -10 /obj/item/gun/ballistic/automatic/toy/pistol/riot - mag_type = /obj/item/ammo_box/magazine/toy/pistol/riot + default_ammo_type = /obj/item/ammo_box/magazine/toy/pistol/riot /obj/item/gun/ballistic/automatic/toy/pistol/riot/Initialize() magazine = new /obj/item/ammo_box/magazine/toy/pistol/riot(src) @@ -47,22 +53,28 @@ /obj/item/gun/ballistic/shotgun/toy name = "foam force shotgun" desc = "A toy shotgun with wood furniture and a four-shell capacity underneath. Ages 8 and up." - icon_state = "shotgun" + + icon = 'icons/obj/guns/manufacturer/toys/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/toys/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/toys/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/toys/onmob.dmi' + + icon_state = "toyshotgun" + item_state = "toyshotgun" + force = 0 throwforce = 0 - mag_type = /obj/item/ammo_box/magazine/internal/shot/toy + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/toy + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/toy, + ) fire_sound = 'sound/items/syringeproj.ogg' item_flags = NONE casing_ejector = FALSE - can_suppress = FALSE pb_knockback = 0 recoil = -10 //its a toy... recoil_unwielded = -10 -/obj/item/gun/ballistic/shotgun/toy/update_overlays() - . = ..() - . += "[icon_state]_toy" - /obj/item/gun/ballistic/shotgun/toy/process_chamber(empty_chamber = 0, from_firing = TRUE, chamber_next_round = TRUE, atom/shooter) . = ..() if(chambered && !chambered.BB) @@ -71,51 +83,15 @@ /obj/item/gun/ballistic/shotgun/toy/crossbow name = "foam force crossbow" desc = "A weapon favored by many overactive children. Ages 8 and up." - icon = 'icons/obj/toy.dmi' icon_state = "foamcrossbow" item_state = "crossbow" - mag_type = /obj/item/ammo_box/magazine/internal/shot/toy/crossbow + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/toy/crossbow + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/toy/crossbow, + ) fire_sound = 'sound/items/syringeproj.ogg' slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL manufacturer = MANUFACTURER_DONKCO recoil = -10 //its a toy... recoil_unwielded = -10 - -/obj/item/gun/ballistic/automatic/smg/c20r/toy - name = "donksoft SMG" - desc = "A bullpup two-round burst toy SMG, designated 'C-20r'. Ages 8 and up." - can_suppress = FALSE - item_flags = NONE - mag_type = /obj/item/ammo_box/magazine/toy/smgm45 - fire_sound = 'sound/items/syringeproj.ogg' - casing_ejector = FALSE - manufacturer = MANUFACTURER_DONKCO - recoil = -10 //its a toy... - recoil_unwielded = -10 - -/obj/item/gun/ballistic/automatic/smg/c20r/toy/riot - mag_type = /obj/item/ammo_box/magazine/toy/smgm45/riot - -/obj/item/gun/ballistic/automatic/smg/c20r/toy/update_overlays() - . = ..() - . += "[icon_state]_toy" - -/obj/item/gun/ballistic/automatic/hmg/l6_saw/toy - name = "donksoft LMG" - desc = "A heavily modified toy light machine gun, designated 'L6 SAW'. Ages 8 and up." - fire_sound = 'sound/items/syringeproj.ogg' - can_suppress = FALSE - item_flags = NONE - mag_type = /obj/item/ammo_box/magazine/toy/m762 - casing_ejector = FALSE - manufacturer = MANUFACTURER_DONKCO - recoil = -10 //its a toy... - recoil_unwielded = -10 - -/obj/item/gun/ballistic/automatic/hmg/l6_saw/toy/riot - mag_type = /obj/item/ammo_box/magazine/toy/m762/riot - -/obj/item/gun/ballistic/automatic/hmg/l6_saw/toy/update_overlays() - . = ..() - . += "[icon_state]_toy" diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 0341c04f2c0..d9bb74da59d 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -3,52 +3,57 @@ desc = "A basic energy-based gun." icon = 'icons/obj/guns/energy.dmi' icon_state = "laser" + item_state = "spur" muzzleflash_iconstate = "muzzle_flash_laser" - muzzle_flash_color = COLOR_SOFT_RED + light_color = COLOR_SOFT_RED has_safety = TRUE safety = TRUE + modifystate = FALSE + ammo_x_offset = 2 + gun_firemodes = list(FIREMODE_SEMIAUTO) default_firemode = FIREMODE_SEMIAUTO fire_select_icon_state_prefix = "laser_" - var/obj/item/stock_parts/cell/gun/cell //What type of power cell this uses - var/cell_type = /obj/item/stock_parts/cell/gun - var/modifystate = 0 - var/list/ammo_type = list(/obj/item/ammo_casing/energy) - var/select = 1 //The state of the select fire switch. Determines from the ammo_type list what kind of shot is fired next. - var/can_charge = TRUE //Can it be charged in a recharger? - var/automatic_charge_overlays = TRUE //Do we handle overlays with base update_appearance()? - var/charge_sections = 4 - ammo_x_offset = 2 - var/shaded_charge = FALSE //if this gun uses a stateful charge bar for more detail - var/selfcharge = 0 - var/charge_tick = 0 - var/charge_delay = 4 - var/use_cyborg_cell = FALSE //whether the gun's cell drains the cyborg user's cell to recharge - var/dead_cell = FALSE //set to true so the gun is given an empty cell - - var/internal_cell = FALSE ///if the gun's cell cannot be replaced - var/small_gun = FALSE ///if the gun is small and can only fit the small gun cell - var/big_gun = FALSE ///if the gun is big and can fit the comically large gun cell - var/unscrewing_time = 20 ///Time it takes to unscrew the cell - - ///Whether the gun can be tacloaded by slapping a fresh magazine directly on it - var/tac_reloads = FALSE - ///If we allow tacitcal reloads, how long should it take to reload? - var/tactical_reload_delay = 1.2 SECONDS - - var/load_sound = 'sound/weapons/gun/general/magazine_insert_full.ogg' //Sound when inserting magazine. UPDATE PLEASE - var/eject_sound = 'sound/weapons/gun/general/magazine_remove_full.ogg' //Sound of ejecting a cell. UPDATE PLEASE - var/sound_volume = 40 //Volume of loading/unloading sounds - var/load_sound_vary = TRUE //Should the load/unload sounds vary? + default_ammo_type = /obj/item/stock_parts/cell/gun + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun, + /obj/item/stock_parts/cell/gun/upgraded, + /obj/item/stock_parts/cell/gun/empty, + /obj/item/stock_parts/cell/gun/upgraded/empty, + ) + + tac_reloads = FALSE + tactical_reload_delay = 1.2 SECONDS + + var/latch_closed = TRUE + var/latch_toggle_delay = 1.0 SECONDS + + valid_attachments = list( + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet, + /obj/item/attachment/sling + ) + slot_available = list( + ATTACHMENT_SLOT_RAIL = 1 + ) + slot_offsets = list( + ATTACHMENT_SLOT_RAIL = list( + "x" = 19, + "y" = 18, + ) + ) /obj/item/gun/energy/emp_act(severity) . = ..() if(!(. & EMP_PROTECT_CONTENTS)) + if(prob(GUN_NO_SAFETY_MALFUNCTION_CHANCE_HIGH)) + discharge("malfunctions from the EMP") cell.use(round(cell.charge / severity)) chambered = null //we empty the chamber recharge_newshot() //and try to charge a new shot @@ -57,14 +62,16 @@ /obj/item/gun/energy/get_cell() return cell -/obj/item/gun/energy/Initialize() +/obj/item/gun/energy/Initialize(mapload, spawn_empty) . = ..() - if(cell_type) - cell = new cell_type(src) - else - cell = new(src) - if(!dead_cell) - cell.give(cell.maxcharge) + if(spawn_empty) + if(internal_magazine) + spawn_no_ammo = TRUE + else + default_ammo_type = FALSE + + if(default_ammo_type) + cell = new default_ammo_type(src, spawn_no_ammo) update_ammo_types() recharge_newshot(TRUE) if(selfcharge) @@ -111,7 +118,7 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/gun/energy/attack_hand(mob/user) - if(!internal_cell && loc == user && user.is_holding(src) && cell && tac_reloads) + if(!internal_magazine && loc == user && user.is_holding(src) && cell && tac_reloads) eject_cell(user) return return ..() @@ -122,10 +129,10 @@ update_appearance() /obj/item/gun/energy/attackby(obj/item/A, mob/user, params) - if (!internal_cell && istype(A, /obj/item/stock_parts/cell/gun)) + if (!internal_magazine && (A.type in (allowed_ammo_types - blacklisted_ammo_types))) var/obj/item/stock_parts/cell/gun/C = A if (!cell) - insert_cell(user, C) + return insert_cell(user, C) else if (tac_reloads) eject_cell(user, C) @@ -133,24 +140,22 @@ return ..() /obj/item/gun/energy/proc/insert_cell(mob/user, obj/item/stock_parts/cell/gun/C) - if(small_gun && !istype(C, /obj/item/stock_parts/cell/gun/mini)) - to_chat(user, span_warning("\The [C] doesn't seem to fit into \the [src]...")) - return FALSE - if(!big_gun && istype(C, /obj/item/stock_parts/cell/gun/large)) - to_chat(user, span_warning("\The [C] doesn't seem to fit into \the [src]...")) - return FALSE - if(user.transferItemToLoc(C, src)) - cell = C - to_chat(user, span_notice("You load the [C] into \the [src].")) - playsound(src, load_sound, sound_volume, load_sound_vary) - update_appearance() - return TRUE + if(!latch_closed) + if(user.transferItemToLoc(C, src)) + cell = C + to_chat(user, span_notice("You load the [C] into \the [src].")) + playsound(src, load_sound, load_sound_volume, load_sound_vary) + update_appearance() + return TRUE + else + to_chat(user, span_warning("You cannot seem to get \the [src] out of your hands!")) + return FALSE else - to_chat(user, span_warning("You cannot seem to get \the [src] out of your hands!")) + to_chat(user, span_warning("The [src]'s cell retainment clip is latched!")) return FALSE /obj/item/gun/energy/proc/eject_cell(mob/user, obj/item/stock_parts/cell/gun/tac_load = null) - playsound(src, load_sound, sound_volume, load_sound_vary) + playsound(src, load_sound, load_sound_volume, load_sound_vary) cell.forceMove(drop_location()) var/obj/item/stock_parts/cell/gun/old_cell = cell old_cell.update_appearance() @@ -170,17 +175,33 @@ user.put_in_hands(old_cell) update_appearance() -/obj/item/gun/energy/get_gun_attachments() - if(cell && !internal_cell) - attachment_options += list("Cell" = image(icon = cell.icon, icon_state = cell.icon_state)) - ..() - -/obj/item/gun/energy/remove_gun_attachments(mob/living/user, obj/item/I, picked_option) - if(picked_option == "Cell") - if(I.use_tool(src, user, unscrewing_time, volume=100)) - eject_cell(user, I) +//special is_type_in_list method to counteract problem with current method +/obj/item/gun/energy/proc/is_attachment_in_contents_list() + for(var/content_item in contents) + if(istype(content_item, /obj/item/attachment/)) return TRUE - ..() + return FALSE + +/obj/item/gun/energy/AltClick(mob/living/user) + if(!internal_magazine && latch_closed) + to_chat(user, span_notice("You start to unlatch the [src]'s power cell retainment clip...")) + if(do_after(user, latch_toggle_delay, src, IGNORE_USER_LOC_CHANGE)) + to_chat(user, span_notice("You unlatch the [src]'s power cell retainment clip " + "OPEN" + ".")) + playsound(src, 'sound/items/taperecorder/taperecorder_play.ogg', 50, FALSE) + tac_reloads = TRUE + latch_closed = FALSE + update_appearance() + else if(!internal_magazine && !latch_closed) + if(!cell && is_attachment_in_contents_list()) + return ..() //should bring up the attachment menu if attachments are added. If none are added, it just does leaves the latch open + to_chat(user, span_warning("You start to latch the [src]'s power cell retainment clip...")) + if (do_after(user, latch_toggle_delay, src, IGNORE_USER_LOC_CHANGE)) + to_chat(user, span_notice("You latch the [src]'s power cell retainment clip " + "CLOSED" + ".")) + playsound(src, 'sound/items/taperecorder/taperecorder_close.ogg', 50, FALSE) + tac_reloads = FALSE + latch_closed = TRUE + update_appearance() + return /obj/item/gun/energy/can_shoot(visuals) if(safety && !visuals) @@ -220,7 +241,12 @@ /obj/item/gun/energy/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) if(!chambered && can_shoot()) process_chamber() // If the gun was drained and then recharged, load a new shot. - return ..() + ..() //process the gunshot as normal + if(!latch_closed && prob(65)) //make the cell slide out if it's fired while the retainment clip is unlatched, with a 65% probability + to_chat(user, span_warning("The [src]'s cell falls out!")) + eject_cell() + return + /obj/item/gun/energy/proc/select_fire(mob/living/user) select++ @@ -259,6 +285,20 @@ var/overlay_icon_state = "[icon_state]_charge" var/obj/item/ammo_casing/energy/shot = ammo_type[modifystate ? select : 1] var/ratio = get_charge_ratio() + if(ismob(loc) && !internal_magazine) + var/mutable_appearance/latch_overlay + latch_overlay = mutable_appearance('icons/obj/guns/cell_latch.dmi') + if(latch_closed) + if(cell) + latch_overlay.icon_state = "latch-on-full" + else + latch_overlay.icon_state = "latch-on-empty" + else + if(cell) + latch_overlay.icon_state = "latch-off-full" + else + latch_overlay.icon_state = "latch-off-empty" + . += latch_overlay if(cell) . += "[icon_state]_cell" if(ratio == 0) @@ -329,11 +369,17 @@ /obj/item/gun/energy/examine(mob/user) . = ..() + if(!internal_magazine) + . += "The cell retainment latch is [latch_closed ? "CLOSED" : "OPEN"]. Alt-Click to toggle the latch." var/obj/item/ammo_casing/energy/shot = ammo_type[select] if(ammo_type.len > 1) - . += "You can switch firemodes by pressing the unqiue action key. By default, this is space" + . += "You can switch firemodes by pressing the unique action key. By default, this is space" if(cell) . += "\The [name]'s cell has [cell.percent()]% charge remaining." . += "\The [name] has [round(cell.charge/shot.e_cost)] shots remaining on [shot.select_name] mode." else . += span_notice("\The [name] doesn't seem to have a cell!") + +/obj/item/gun/energy/unsafe_shot(target) + . = ..() + process_chamber() diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index 6988f1f6cb7..6084e28cf4a 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -8,16 +8,15 @@ icon_state = "energy" item_state = null //so the human update icon uses the icon_state instead. ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser) - modifystate = 1 - can_flashlight = TRUE + modifystate = TRUE ammo_x_offset = 2 - flight_x_offset = 15 - flight_y_offset = 10 dual_wield_spread = 60 + wield_slowdown = LASER_RIFLE_SLOWDOWN manufacturer = MANUFACTURER_SHARPLITE_NEW + w_class = WEIGHT_CLASS_NORMAL /obj/item/gun/energy/e_gun/empty_cell - dead_cell = TRUE + spawn_no_ammo = TRUE /obj/item/gun/energy/e_gun/mini name = "miniature energy gun" @@ -25,28 +24,21 @@ icon_state = "mini" item_state = "gun" w_class = WEIGHT_CLASS_SMALL - cell_type = /obj/item/stock_parts/cell/gun/mini - small_gun = TRUE + default_ammo_type = /obj/item/stock_parts/cell/gun/mini + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/mini, + ) throwforce = 11 //This is funny, trust me. ammo_x_offset = 2 charge_sections = 3 - can_flashlight = FALSE // Can't attach or detach the flashlight, and override it's icon update - gunlight_state = "mini-light" - flight_x_offset = 19 - flight_y_offset = 13 - wield_delay = 0.2 SECONDS - wield_slowdown = 0.15 + wield_slowdown = LASER_PISTOL_SLOWDOWN spread = 2 spread_unwielded = 5 -/obj/item/gun/energy/e_gun/mini/Initialize() - set_gun_light(new /obj/item/flashlight/seclite(src)) - return ..() - /obj/item/gun/energy/e_gun/mini/empty_cell - dead_cell = TRUE + spawn_no_ammo = TRUE /obj/item/gun/energy/e_gun/hades name = "SL AL-655 'Hades' energy rifle" @@ -55,7 +47,7 @@ ammo_x_offset = 2 charge_sections = 5 ammo_type = list(/obj/item/ammo_casing/energy/laser/assault, /obj/item/ammo_casing/energy/disabler) - cell_type = /obj/item/stock_parts/cell/gun/upgraded + default_ammo_type = /obj/item/stock_parts/cell/gun/upgraded weapon_weight = WEAPON_MEDIUM w_class = WEIGHT_CLASS_BULKY @@ -67,7 +59,7 @@ fire_delay = 0.2 SECONDS wield_delay = 0.7 SECONDS - wield_slowdown = 0.6 + wield_slowdown = HEAVY_LASER_RIFLE_SLOWDOWN spread_unwielded = 20 /obj/item/gun/energy/e_gun/old @@ -81,7 +73,7 @@ /obj/item/gun/energy/e_gun/hos name = "\improper X-01 MultiPhase Energy Gun" desc = "This is an expensive, modern recreation of an antique laser gun. This gun has several unique firemodes, but lacks the ability to recharge over time." - cell_type = /obj/item/stock_parts/cell/gun/upgraded + default_ammo_type = /obj/item/stock_parts/cell/gun/upgraded icon_state = "hoslaser" force = 10 ammo_type = list(/obj/item/ammo_casing/energy/disabler/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/ion/hos, /obj/item/ammo_casing/energy/electrode/hos) @@ -93,13 +85,13 @@ name = "modified antique laser gun" desc = "It's somehow modified to have more firemodes." icon_state = "capgun_brazil_hos" - item_state = "hoslaser" + item_state = "hoslaserkill0" manufacturer = MANUFACTURER_SHARPLITE /obj/item/gun/energy/e_gun/hos/brazil/true desc = "This genuine antique laser gun, modified with an experimental suite of alternative firing modes based on the X-01 MultiPhase Energy Gun, is now truly one of the finest weapons in the frontier." icon_state = "capgun_hos" - item_state = "hoslaser" + item_state = "hoslaserkill0" selfcharge = 1 manufacturer = MANUFACTURER_SHARPLITE @@ -108,10 +100,9 @@ desc = "The \"Dynamic Rapid-Apprehension of the Guilty\" net is a revolution in law enforcement technology." icon_state = "dragnet" item_state = "dragnet" - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON ammo_type = list(/obj/item/ammo_casing/energy/net, /obj/item/ammo_casing/energy/trap) - can_flashlight = FALSE ammo_x_offset = 1 /obj/item/gun/energy/e_gun/dragnet/snare @@ -121,25 +112,35 @@ /obj/item/gun/energy/e_gun/turret name = "hybrid turret gun" - desc = "A heavy hybrid energy cannon with two settings: Stun and kill." + desc = "A heavy hybrid energy cannon with two settings: Stun and kill. ...It doesn't seem have a trigger, seems it can only be used as a turret." + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON icon_state = "turretlaser" item_state = "turretlaser" slot_flags = null w_class = WEIGHT_CLASS_HUGE + default_ammo_type = null ammo_type = list(/obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser) weapon_weight = WEAPON_HEAVY - can_flashlight = FALSE trigger_guard = TRIGGER_GUARD_NONE ammo_x_offset = 2 +/obj/item/gun/energy/e_gun/turret/pre_fire(atom/target, mob/living/user, message, flag, params, zone_override, bonus_spread, dual_wielded_gun) + to_chat(user, span_notice("[src] is not designed to be fired by hand.")) + return FALSE + /obj/item/gun/energy/e_gun/nuclear name = "advanced energy gun" desc = "An energy gun with an experimental miniaturized nuclear reactor that automatically charges the internal power cell." icon_state = "nucgun" item_state = "nucgun" + + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON + charge_delay = 5 can_charge = FALSE - internal_cell = TRUE + internal_magazine = TRUE ammo_x_offset = 2 ammo_type = list(/obj/item/ammo_casing/energy/laser, /obj/item/ammo_casing/energy/disabler) selfcharge = 1 @@ -198,16 +199,18 @@ item_state = "gun" ammo_x_offset = 2 charge_sections = 6 - small_gun = TRUE wield_delay = 0.2 SECONDS - wield_slowdown = 0.15 + wield_slowdown = LASER_PISTOL_SLOWDOWN spread = 2 spread_unwielded = 5 ammo_type = list(/obj/item/ammo_casing/energy/disabler/hitscan, /obj/item/ammo_casing/energy/ion/cheap) - cell_type = /obj/item/stock_parts/cell/gun/mini + default_ammo_type = /obj/item/stock_parts/cell/gun/mini + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/mini, + ) /obj/item/gun/energy/e_gun/adv_stopping name = "advanced stopping revolver" @@ -229,6 +232,7 @@ weapon_weight = WEAPON_LIGHT fire_delay = 0.13 SECONDS + wield_slowdown = LASER_SMG_SLOWDOWN gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) default_firemode = FIREMODE_SEMIAUTO @@ -242,9 +246,9 @@ inhand_y_dimension = 64 icon_state = "iotshotgun" item_state = "shotgun_combat" - shaded_charge = 1 - w_class = WEIGHT_CLASS_BULKY + shaded_charge = TRUE ammo_type = list(/obj/item/ammo_casing/energy/disabler/scatter/ultima, /obj/item/ammo_casing/energy/laser/ultima) + w_class = WEIGHT_CLASS_BULKY var/obj/item/modular_computer/integratedNTOS var/NTOS_type = /obj/item/modular_computer/internal @@ -257,12 +261,12 @@ mob_overlay_icon = 'icons/obj/guns/manufacturer/eoehoma/onmob.dmi' icon_state = "e11" ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser/eoehoma) - can_flashlight = TRUE ammo_x_offset = 0 - flight_x_offset = 20 - flight_y_offset = 9 spread = 80 spread_unwielded = 140 dual_wield_spread = 140 shaded_charge = TRUE manufacturer = MANUFACTURER_EOEHOMA + +/obj/item/gun/energy/e_gun/e11/empty_cell + spawn_no_ammo = TRUE diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index ac3aa9e3d21..ab0cf6ef90f 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -4,23 +4,20 @@ icon_state = "kineticgun" item_state = "kineticgun" ammo_type = list(/obj/item/ammo_casing/energy/kinetic) - cell_type = /obj/item/stock_parts/cell/emproof + default_ammo_type = /obj/item/stock_parts/cell/emproof + allowed_ammo_types = list( + /obj/item/stock_parts/cell/emproof, + ) item_flags = NONE obj_flags = UNIQUE_RENAME weapon_weight = WEAPON_LIGHT - can_flashlight = TRUE - flight_x_offset = 15 - flight_y_offset = 9 automatic_charge_overlays = FALSE - can_bayonet = TRUE - knife_x_offset = 20 - knife_y_offset = 12 - internal_cell = TRUE + internal_magazine = TRUE //prevents you from giving it an OP cell - WS Edit custom_price = 750 w_class = WEIGHT_CLASS_BULKY muzzleflash_iconstate = "muzzle_flash_light" - muzzle_flash_color = COLOR_WHITE + light_color = COLOR_WHITE var/overheat_time = 16 var/holds_charge = FALSE @@ -28,12 +25,18 @@ var/overheat = FALSE var/mob/holder - var/max_mod_capacity = 100 var/list/modkits = list() var/recharge_timerid + slot_offsets = list( + ATTACHMENT_SLOT_RAIL = list( + "x" = 24, + "y" = 13, + ) + ) + /obj/item/gun/energy/kinetic_accelerator/shoot_with_empty_chamber(mob/living/user) playsound(src, dry_fire_sound, 30, TRUE) //click sound but no to_chat message to cut on spam return @@ -192,6 +195,8 @@ icon_state = null damage = 20 damage_type = BRUTE + wall_damage_flags = PROJECTILE_BONUS_DAMAGE_MINERALS + wall_damage_override = MINERAL_WALL_INTEGRITY flag = "bomb" range = 3 log_override = TRUE @@ -235,8 +240,6 @@ for(var/obj/item/borg/upgrade/modkit/M in mods) M.projectile_strike(src, target_turf, target, kinetic_gun) if(ismineralturf(target_turf)) - var/turf/closed/mineral/M = target_turf - M.gets_drilled(firer, TRUE) if(iscarbon(firer)) var/mob/living/carbon/C = firer var/skill_modifier = C?.mind.get_skill_modifier(/datum/skill/mining, SKILL_SPEED_MODIFIER) diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index c564ae32b4d..44b8d4eaf8d 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -1,8 +1,8 @@ /obj/item/gun/energy/laser name = "SL L-204 laser gun" desc = "A basic energy-based laser gun that fires concentrated beams of light which pass through glass and thin metal." - - icon_state = "laser" + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' item_state = "laser" w_class = WEIGHT_CLASS_NORMAL custom_materials = list(/datum/material/iron=2000) @@ -16,7 +16,7 @@ spread_unwielded = 10 /obj/item/gun/energy/laser/empty_cell - dead_cell = TRUE + spawn_no_ammo = TRUE /obj/item/gun/energy/laser/practice name = "practice laser gun" @@ -31,11 +31,11 @@ righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "retro" + item_state = "laser" desc = "An antiquated model of the basic lasergun, no longer used or sold by Sharplite. Nevertheless, the sheer popularity of this model makes it a somewhat common sight to this day." ammo_x_offset = 3 manufacturer = MANUFACTURER_SHARPLITE - /obj/item/gun/energy/laser/captain name = "antique laser gun" icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' @@ -43,7 +43,7 @@ righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "caplaser" - item_state = null + item_state = "caplaser" desc = "This is the SL X-00, an antique laser gun, out of production for decades and well beyond anyone's capacity to recreate. All craftsmanship is of the highest quality. It is decorated with ashdrake leather and chrome. The gun menaces with spikes of energy. On the item is an image of a space station. The station is exploding." force = 10 ammo_x_offset = 3 @@ -60,7 +60,7 @@ /obj/item/gun/energy/laser/captain/scattershot name = "scatter shot laser rifle" desc = "An industrial-grade heavy-duty laser rifle with a modified laser lens to scatter its shot into multiple smaller lasers. The inner-core can self-charge for theoretically infinite use." - ammo_type = list(/obj/item/ammo_casing/energy/laser/scatter, /obj/item/ammo_casing/energy/laser) + ammo_type = list(/obj/item/ammo_casing/energy/laser/scatter, /obj/item/ammo_casing/energy/laser/slug) shaded_charge = FALSE /obj/item/gun/energy/laser/cyborg @@ -74,8 +74,8 @@ /obj/item/gun/energy/laser/scatter name = "scatter laser gun" - desc = "A laser gun equipped with a refraction kit that spreads bolts." - ammo_type = list(/obj/item/ammo_casing/energy/laser/scatter, /obj/item/ammo_casing/energy/laser) + desc = "A laser gun mimicking the function of a shotgun, manufactured with an adjustable lens capable of projecting scattershot or slugs." + ammo_type = list(/obj/item/ammo_casing/energy/laser/scatter, /obj/item/ammo_casing/energy/laser/slug) manufacturer = MANUFACTURER_NONE /obj/item/gun/energy/laser/scatter/shotty @@ -84,7 +84,7 @@ icon_state = "cshotgun" item_state = "shotgun" desc = "A combat shotgun gutted and refitted with an internal laser system. Can switch between taser and scattered disabler shots." - shaded_charge = 0 + shaded_charge = FALSE ammo_type = list(/obj/item/ammo_casing/energy/disabler/scatter, /obj/item/ammo_casing/energy/electrode) manufacturer = MANUFACTURER_NONE @@ -94,10 +94,12 @@ name = "accelerator laser cannon" desc = "An advanced laser cannon that does more damage the farther away the target is." icon_state = "lasercannon" - item_state = "laser" + item_state = "lasercannon" w_class = WEIGHT_CLASS_BULKY - big_gun = TRUE - cell_type = "/obj/item/stock_parts/cell/gun/large" + default_ammo_type = /obj/item/stock_parts/cell/gun/large + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/large, + ) force = 10 flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK @@ -129,6 +131,7 @@ item_state = null ammo_type = list(/obj/item/ammo_casing/energy/xray) ammo_x_offset = 3 + w_class = WEIGHT_CLASS_BULKY ////////Laser Tag//////////////////// @@ -170,8 +173,8 @@ inhand_y_dimension = 64 icon_state = "iotshotgun" item_state = "shotgun_combat" - w_class = WEIGHT_CLASS_BULKY ammo_type = list(/obj/item/ammo_casing/energy/disabler/scatter/ultima) + w_class = WEIGHT_CLASS_BULKY var/obj/item/modular_computer/integratedNTOS var/NTOS_type = /obj/item/modular_computer/internal manufacturer = MANUFACTURER_SHARPLITE_NEW @@ -203,17 +206,19 @@ item_state = "gun" ammo_x_offset = 2 charge_sections = 4 - small_gun = TRUE - w_class = WEIGHT_CLASS_NORMAL - cell_type = /obj/item/stock_parts/cell/gun/mini + default_ammo_type = /obj/item/stock_parts/cell/gun/mini + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/mini, + ) ammo_type = list(/obj/item/ammo_casing/energy/lasergun/hitscan) manufacturer = MANUFACTURER_SHARPLITE_NEW /obj/item/gun/energy/laser/hitscanpistol/examine_more(mob/user) + . = ..() if(in_range(src, user) || isobserver(user)) - . = list("You examine [src] closer. Under the grip is a small inscription: \"NT CN SVALINN 462\".") + . += "You examine [src] closer. Under the grip is a small inscription: \"NT CN SVALINN 462\"." else - . = list("You try to examine [src] closer, but you're too far away.") + . += "You try to examine [src] closer, but you're too far away." /obj/item/gun/energy/laser/e10 name = "E-10 laser pistol" @@ -223,10 +228,11 @@ righthand_file = 'icons/obj/guns/manufacturer/eoehoma/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/eoehoma/onmob.dmi' icon_state = "e10" + item_state = "gun" w_class = WEIGHT_CLASS_SMALL wield_delay = 0.2 SECONDS - wield_slowdown = 0.15 + wield_slowdown = LASER_PISTOL_SLOWDOWN spread = 2 spread_unwielded = 5 @@ -245,20 +251,22 @@ icon_state = "e50" item_state = "e50" - big_gun = TRUE - cell_type = /obj/item/stock_parts/cell/gun/large + default_ammo_type = /obj/item/stock_parts/cell/gun/large + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/large, + ) ammo_type = list(/obj/item/ammo_casing/energy/laser/eoehoma/e50) weapon_weight = WEAPON_HEAVY + w_class = WEIGHT_CLASS_BULKY manufacturer = MANUFACTURER_EOEHOMA wield_delay = 0.7 SECONDS - wield_slowdown = 0.6 + wield_slowdown = LASER_SNIPER_SLOWDOWN spread_unwielded = 20 shaded_charge = FALSE ammo_x_offset = 4 charge_sections = 2 - w_class = WEIGHT_CLASS_BULKY slot_flags = 0 diff --git a/code/modules/projectiles/guns/energy/laser_gatling.dm b/code/modules/projectiles/guns/energy/laser_gatling.dm index 22e6e57d881..066b1938648 100644 --- a/code/modules/projectiles/guns/energy/laser_gatling.dm +++ b/code/modules/projectiles/guns/energy/laser_gatling.dm @@ -116,7 +116,10 @@ custom_materials = null weapon_weight = WEAPON_MEDIUM ammo_type = list(/obj/item/ammo_casing/energy/laser/minigun) - cell_type = /obj/item/stock_parts/cell/crap + default_ammo_type = /obj/item/stock_parts/cell/crap + allowed_ammo_types = list( + /obj/item/stock_parts/cell/crap, + ) item_flags = NEEDS_PERMIT | SLOWS_WHILE_IN_HAND can_charge = FALSE var/obj/item/minigunpack/ammo_pack diff --git a/code/modules/projectiles/guns/energy/mounted.dm b/code/modules/projectiles/guns/energy/mounted.dm index 4dc5cae7755..d32c5f13b1e 100644 --- a/code/modules/projectiles/guns/energy/mounted.dm +++ b/code/modules/projectiles/guns/energy/mounted.dm @@ -3,10 +3,11 @@ desc = "An arm mounted dual-mode weapon that fires electrodes and disabler shots." icon = 'icons/obj/items_cyborg.dmi' icon_state = "taser" + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON item_state = "armcannonstun4" force = 5 selfcharge = 1 - can_flashlight = FALSE trigger_guard = TRIGGER_GUARD_ALLOW_ALL // Has no trigger at all, uses neural signals instead /obj/item/gun/energy/e_gun/advtaser/mounted/dropped()//if somebody manages to drop this somehow... diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index dfa23e26b46..a63fbad391e 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -13,8 +13,11 @@ flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse, /obj/item/ammo_casing/energy/laser) - internal_cell = TRUE //prevents you from giving it an OP cell - WS Edit - cell_type = /obj/item/stock_parts/cell/pulse //somone make this backpack mounted, or connected to the deathsquad suit at some point + internal_magazine = TRUE //prevents you from giving it an OP cell - WS Edit + default_ammo_type = /obj/item/stock_parts/cell/pulse + allowed_ammo_types = list( + /obj/item/stock_parts/cell/pulse, + ) //somone make this backpack mounted, or connected to the deathsquad suit at some point manufacturer = MANUFACTURER_SHARPLITE_NEW ammo_x_offset = 2 charge_sections = 6 @@ -22,7 +25,7 @@ spread_unwielded = 25 muzzleflash_iconstate = "muzzle_flash_pulse" - muzzle_flash_color = COLOR_BRIGHT_BLUE + light_color = COLOR_BRIGHT_BLUE /obj/item/gun/energy/pulse/emp_act(severity) return @@ -38,18 +41,17 @@ slot_flags = ITEM_SLOT_BACK icon_state = "pulse_carbine" item_state = null - internal_cell = FALSE - big_gun = TRUE //haha gun go brr - cell_type = /obj/item/stock_parts/cell/gun/large - can_flashlight = TRUE - flight_x_offset = 18 - flight_y_offset = 12 + internal_magazine = FALSE + default_ammo_type = /obj/item/stock_parts/cell/gun/large + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/large, + ) ammo_x_offset = 2 charge_sections = 4 /obj/item/gun/energy/pulse/prize/Initialize() . = ..() - GLOB.poi_list += src + SSpoints_of_interest.make_point_of_interest(src) var/turf/T = get_turf(src) message_admins("A pulse rifle prize has been created at [ADMIN_VERBOSEJMP(T)]") @@ -58,7 +60,7 @@ notify_ghosts("Someone won a pulse rifle as a prize!", source = src, action = NOTIFY_ORBIT, header = "Pulse rifle prize") /obj/item/gun/energy/pulse/prize/Destroy() - GLOB.poi_list -= src + SSpoints_of_interest.remove_point_of_interest(src) . = ..() /obj/item/gun/energy/pulse/pistol @@ -72,14 +74,20 @@ slot_flags = ITEM_SLOT_BELT icon_state = "pulse_pistol" item_state = "gun" - cell_type = /obj/item/stock_parts/cell/pulse/pistol + default_ammo_type = /obj/item/stock_parts/cell/pulse/pistol + allowed_ammo_types = list( + /obj/item/stock_parts/cell/pulse/pistol, + ) ammo_x_offset = 2 charge_sections = 4 /obj/item/gun/energy/pulse/destroyer name = "pulse destroyer" desc = "A heavy-duty energy rifle built for pure destruction." - cell_type = /obj/item/stock_parts/cell/infinite + default_ammo_type = /obj/item/stock_parts/cell/infinite + allowed_ammo_types = list( + /obj/item/stock_parts/cell/infinite, + ) ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse) /obj/item/gun/energy/pulse/destroyer/attack_self(mob/living/user) diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 16fad426dcf..adbfedb65d5 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -6,9 +6,7 @@ shaded_charge = FALSE ammo_x_offset = 2 ammo_y_offset = 2 - can_flashlight = FALSE w_class = WEIGHT_CLASS_HUGE - big_gun = TRUE //yes, you can put the comically large cell in it. No, you aren't getting it roundstart. You slut. flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK ammo_type = list(/obj/item/ammo_casing/energy/ion) @@ -18,7 +16,7 @@ return /obj/item/gun/energy/ionrifle/empty_cell - dead_cell = TRUE + spawn_no_ammo = TRUE /obj/item/gun/energy/ionrifle/carbine name = "ion carbine" @@ -28,9 +26,6 @@ slot_flags = ITEM_SLOT_BELT ammo_x_offset = 2 ammo_y_offset = 0 - can_flashlight = TRUE - flight_x_offset = 18 - flight_y_offset = 11 /obj/item/gun/energy/decloner name = "biological demolecularisor" @@ -51,10 +46,10 @@ icon_state = "flora" item_state = "gun" ammo_type = list(/obj/item/ammo_casing/energy/flora/yield, /obj/item/ammo_casing/energy/flora/mut, /obj/item/ammo_casing/energy/flora/revolution) - modifystate = 1 + modifystate = TRUE ammo_x_offset = 1 selfcharge = 1 - shaded_charge = 1 + shaded_charge = TRUE /obj/item/gun/energy/meteorgun name = "meteor gun" @@ -63,7 +58,10 @@ item_state = "c20r" w_class = WEIGHT_CLASS_BULKY ammo_type = list(/obj/item/ammo_casing/energy/meteor) - cell_type = /obj/item/stock_parts/cell/potato + default_ammo_type = /obj/item/stock_parts/cell/potato + allowed_ammo_types = list( + /obj/item/stock_parts/cell/potato, + ) selfcharge = 1 /obj/item/gun/energy/meteorgun/pen @@ -98,7 +96,6 @@ overheat_time = 20 holds_charge = TRUE unique_frequency = TRUE - can_flashlight = FALSE max_mod_capacity = 0 manufacturer = MANUFACTURER_ROSEUS @@ -108,14 +105,14 @@ icon_state = "crossbowlarge" w_class = WEIGHT_CLASS_NORMAL custom_materials = list(/datum/material/iron=4000) - suppressed = null + suppressed = FALSE ammo_type = list(/obj/item/ammo_casing/energy/bolt/large) manufacturer = MANUFACTURER_ROSEUS /obj/item/gun/energy/plasmacutter name = "plasma cutter" - desc = "A mining tool capable of expelling concentrated plasma bursts. You could use it to cut limbs off xenos! Or, you know, mine stuff." + desc = "An engineering tool capable of expelling concentrated plasma bursts. You could use it to cut limbs off xenos! Or, you know, cut through walls." icon_state = "plasmacutter" item_state = "plasmacutter" ammo_type = list(/obj/item/ammo_casing/energy/plasma) @@ -128,10 +125,12 @@ heat = 3800 usesound = list('sound/items/welder.ogg', 'sound/items/welder2.ogg') - tool_behaviour = TOOL_WELDER - toolspeed = 0.7 //plasmacutters can be used as welders, and are faster than standard welders - internal_cell = TRUE //so you don't cheese through the need for plasma - WS EDIT - var/charge_weld = 25 //amount of charge used up to start action (multiplied by amount) and per progress_flash_divisor ticks of welding + tool_behaviour = TOOL_DECONSTRUCT + wall_decon_damage = 200 + toolspeed = 1 //plasmacutters can be used like angle grinders + internal_magazine = TRUE //so you don't cheese through the need for plasma - WS EDIT + var/charge_cut = 100 //amount of charge used up to start action (multiplied by amount) and per progress_flash_divisor ticks of cutting + var/adv = FALSE /obj/item/gun/energy/plasmacutter/ComponentInitialize() . = ..() @@ -160,29 +159,50 @@ else ..() -// Can we weld? Plasma cutter does not use charge continuously. +// Can we cut? Plasma cutter does not use charge continuously. // Amount cannot be defaulted to 1: most of the code specifies 0 in the call. /obj/item/gun/energy/plasmacutter/tool_use_check(mob/living/user, amount) if(QDELETED(cell)) to_chat(user, "[src] does not have a cell, and cannot be used!") return FALSE - // Amount cannot be used if drain is made continuous, e.g. amount = 5, charge_weld = 25 + // Amount cannot be used if drain is made continuous, e.g. amount = 5, charge_cut = 25 // Then it'll drain 125 at first and 25 periodically, but fail if charge dips below 125 even though it still can finish action - // Alternately it'll need to drain amount*charge_weld every period, which is either obscene or makes it free for other uses - if(amount ? cell.charge < charge_weld * amount : cell.charge < charge_weld) + // Alternately it'll need to drain amount*charge_cut every period, which is either obscene or makes it free for other uses + if(amount ? cell.charge < charge_cut * amount : cell.charge < charge_cut) to_chat(user, "You need more charge to complete this task!") return FALSE return TRUE +/obj/item/gun/energy/plasmacutter/attack(mob/living/carbon/human/target, mob/user) + if(!istype(target)) + return ..() + var/obj/item/bodypart/attackedLimb = target.get_bodypart(check_zone(user.zone_selected)) + if(!attackedLimb || IS_ORGANIC_LIMB(attackedLimb) || (user.a_intent == INTENT_HARM)) + return ..() + if(!tool_start_check(user, amount = 1)) + return TRUE + user.visible_message("[user] starts to fix some of the dents on [target]'s [parse_zone(attackedLimb.body_zone)].", + "You start fixing some of the dents on [target == user ? "your" : "[target]'s"] [parse_zone(attackedLimb.body_zone)].") + if(!use_tool(target, user, delay = (target == user ? 5 SECONDS : 0.5 SECONDS), amount = 1, volume = 25)) + return TRUE + item_heal_robotic(target, user, brute_heal = 15, burn_heal = 0) + return TRUE + /obj/item/gun/energy/plasmacutter/use(amount) - return (!QDELETED(cell) && cell.use(amount ? amount * charge_weld : charge_weld)) + return (!QDELETED(cell) && cell.use(amount ? amount * charge_cut : charge_cut)) /obj/item/gun/energy/plasmacutter/use_tool(atom/target, mob/living/user, delay, amount=1, volume=0, datum/callback/extra_checks) if(amount) - target.add_overlay(GLOB.welding_sparks) + if(adv) + target.add_overlay(GLOB.advanced_cutting_effect) + else + target.add_overlay(GLOB.cutting_effect) . = ..() - target.cut_overlay(GLOB.welding_sparks) + if(adv) + target.cut_overlay(GLOB.advanced_cutting_effect) + else + target.cut_overlay(GLOB.cutting_effect) else . = ..(amount=1) @@ -191,6 +211,7 @@ icon_state = "adv_plasmacutter" item_state = "adv_plasmacutter" force = 15 + wall_decon_damage = 300 ammo_type = list(/obj/item/ammo_casing/energy/plasma/adv) /obj/item/gun/energy/wormhole_projector @@ -269,7 +290,10 @@ desc = "A modified energy weapon re-designed to fire 3D-printed flechettes, pulled directly from the cyborg's internal power source." icon_state = "l6_cyborg" icon = 'icons/obj/guns/projectile.dmi' - cell_type = /obj/item/stock_parts/cell/secborg + default_ammo_type = /obj/item/stock_parts/cell/secborg + allowed_ammo_types = list( + /obj/item/stock_parts/cell/secborg, + ) ammo_type = list(/obj/item/ammo_casing/energy/c3dbullet) can_charge = FALSE use_cyborg_cell = TRUE @@ -327,7 +351,7 @@ icon_state = "freezegun" desc = "A gun that changes temperatures." ammo_type = list(/obj/item/ammo_casing/energy/temp, /obj/item/ammo_casing/energy/temp/hot) - cell_type = /obj/item/stock_parts/cell/gun/upgraded + default_ammo_type = /obj/item/stock_parts/cell/gun/upgraded ammo_x_offset = 2 /obj/item/gun/energy/temperature/security diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 8f918bb63db..2dec5fc05bf 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -5,7 +5,6 @@ item_state = null //so the human update icon uses the icon_state instead. ammo_type = list(/obj/item/ammo_casing/energy/electrode) ammo_x_offset = 3 - spread = 2 spread_unwielded = 4 @@ -22,7 +21,6 @@ /obj/item/gun/energy/e_gun/advtaser/cyborg name = "cyborg taser" desc = "An integrated hybrid taser that draws directly from a cyborg's power cell. The weapon contains a limiter to prevent the cyborg's power cell from overheating." - can_flashlight = FALSE can_charge = FALSE use_cyborg_cell = TRUE @@ -37,11 +35,7 @@ item_state = null ammo_type = list(/obj/item/ammo_casing/energy/disabler) ammo_x_offset = 2 - can_flashlight = TRUE - flight_x_offset = 15 - flight_y_offset = 10 manufacturer = MANUFACTURER_SHARPLITE_NEW - spread = 2 spread_unwielded = 4 diff --git a/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm b/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm new file mode 100644 index 00000000000..d386b65df6e --- /dev/null +++ b/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm @@ -0,0 +1,584 @@ +#define CLIP_ATTACHMENTS list(list(/obj/item/attachment/silencer, /obj/item/attachment/laser_sight, /obj/item/attachment/rail_light, /obj/item/attachment/bayonet)) +#define CLIP_ATTACHMNENT_POINTS list() + + +//########### PISTOLS ###########// +/obj/item/gun/ballistic/automatic/pistol/cm23 + name = "\improper CM-23" + desc = "CLIP's standard service pistol. 10 rounds of 10mm ammunition make the CM-23 deadlier than many other service pistols, but its weight and bulk have made it unpopular as a sidearm. It has largely been phased out outside of specialized units and patrols on the fringes of CLIP space. Chambered in 10mm." + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + + icon_state = "cm23" + item_state = "clip_generic" + w_class = WEIGHT_CLASS_NORMAL + default_ammo_type = /obj/item/ammo_box/magazine/cm23 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/cm23, + ) +// can_suppress = FALSE + fire_sound = 'sound/weapons/gun/pistol/cm23.ogg' + rack_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/slide_drop.ogg' + manufacturer = MANUFACTURER_MINUTEMAN + load_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' + eject_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' + + default_attachments = list(/obj/item/attachment/laser_sight) + + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1 + ) + + slot_offsets = list( + ATTACHMENT_SLOT_RAIL = list( + "x" = 19, + "y" = 18, + ) + ) + + recoil_unwielded = 3 + +/obj/item/gun/ballistic/automatic/pistol/cm23/no_mag + default_ammo_type = FALSE + +/obj/item/ammo_box/magazine/cm23 + name = "CM-23 pistol magazine (10mm)" + desc = "An 10-round magazine magazine designed for the CM-23 pistol. These rounds do moderate damage, but struggle against armor." + icon_state = "cm23_mag-1" + base_icon_state = "cm23_mag" + ammo_type = /obj/item/ammo_casing/c10mm + caliber = "10mm" + max_ammo = 10 + +/obj/item/ammo_box/magazine/cm23/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[!!ammo_count()]" + +/obj/item/ammo_box/magazine/cm23/empty + start_empty = TRUE + +/obj/item/gun/ballistic/automatic/pistol/cm70 + name = "CM-70 machine pistol" + desc = "A compact machine pistol designed to rapidly fire 3-round bursts. Popular with officers and certain special units, the CM-70 is incredibly dangerous at close range. Chambered in 9mm." + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + icon_state = "cm70" + item_state = "clip_generic" + default_ammo_type = /obj/item/ammo_box/magazine/m9mm_cm70 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m9mm_cm70, + ) +// can_suppress = FALSE + burst_size = 3 + burst_delay = 0.1 SECONDS + fire_delay = 0.4 SECONDS + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST) + default_firemode = FIREMODE_SEMIAUTO + manufacturer = MANUFACTURER_MINUTEMAN + + fire_select_icon_state_prefix = "clip_" + adjust_fire_select_icon_state_on_safety = TRUE + + fire_sound = 'sound/weapons/gun/pistol/cm70.ogg' + + spread = 8 + spread_unwielded = 20 + +/obj/item/ammo_box/magazine/m9mm_cm70 + name = "CM-70 machine pistol magazine (9mm)" + desc = "A 18-round magazine designed for the CM-70 machine pistol. These rounds do okay damage, but struggle against armor." + icon_state = "cm70_mag_18" + base_icon_state = "cm70_mag" + ammo_type = /obj/item/ammo_casing/c9mm + caliber = "9mm" + max_ammo = 18 + + +/obj/item/ammo_box/magazine/m9mm_cm70/update_icon_state() + . = ..() + icon_state = "[base_icon_state]_[ammo_count() == 1 ? 1 : round(ammo_count(),3)]" + +/obj/item/ammo_box/magazine/m9mm_cm70/empty + start_empty = TRUE + +/obj/item/gun/ballistic/automatic/pistol/cm357 + name = "\improper CM-357" + desc = "A semi-automatic magnum handgun designed specifically for BARD's megafauna removal unit, as standard handguns had proven useless as backup weapons. Its heft and power have also made it a status symbol among the few CLIP officers able to requisition one. Chambered in .357." + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + + icon_state = "cm357" + item_state = "clip_generic" + w_class = WEIGHT_CLASS_NORMAL + default_ammo_type = /obj/item/ammo_box/magazine/cm357 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/cm357, + ) + fire_sound = 'sound/weapons/gun/pistol/deagle.ogg' + rack_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/slide_drop.ogg' + manufacturer = MANUFACTURER_MINUTEMAN + load_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' + eject_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' + + recoil_unwielded = 4 + recoil = 1 + +NO_MAG_GUN_HELPER(automatic/pistol/cm357) + +/obj/item/ammo_box/magazine/cm357 + name = "CM-357 pistol magazine (.357)" + desc = "A 7-round magazine designed for the CM-357 pistol. These rounds do good damage, but struggle against armor." + icon_state = "cm23_mag-1" + base_icon_state = "cm23_mag" + ammo_type = /obj/item/ammo_casing/a357 + caliber = ".357" + max_ammo = 7 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/cm357/empty + start_empty = TRUE + +//########### SMGS ###########// +/obj/item/gun/ballistic/automatic/smg/cm5 + name = "\improper CM-5" + desc = "CLIP's standard-issue submachine gun. Well-liked for its accuracy, stability, and ease of use compared to other submachineguns. Chambered in 9mm." + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + + icon_state = "cm5" + item_state = "cm5" + + default_ammo_type = /obj/item/ammo_box/magazine/cm5_9mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/cm5_9mm, + ) + bolt_type = BOLT_TYPE_CLIP + weapon_weight = WEAPON_LIGHT + fire_sound = 'sound/weapons/gun/smg/cm5.ogg' + manufacturer = MANUFACTURER_MINUTEMAN + + valid_attachments = CLIP_ATTACHMENTS + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1 + ) + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 37, + "y" = 20, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 27, + "y" = 17, + ) + ) + + fire_select_icon_state_prefix = "clip_" + adjust_fire_select_icon_state_on_safety = TRUE + +NO_MAG_GUN_HELPER(automatic/smg/cm5) + +/obj/item/gun/ballistic/automatic/smg/cm5/rubber + default_ammo_type = /obj/item/ammo_box/magazine/cm5_9mm/rubber + +/obj/item/ammo_box/magazine/cm5_9mm + name = "CM-5 magazine (9mm)" + desc = "A 30-round magazine for the CM-5 submachine gun. These rounds do okay damage, but struggle against armor." + icon_state = "cm5_mag-1" + base_icon_state = "cm5_mag" + ammo_type = /obj/item/ammo_casing/c9mm + caliber = "9mm" + max_ammo = 30 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/cm5_9mm/empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/cm5_9mm/rubber + desc = "A 30-round magazine for the CM-5 submachine gun. These rubber rounds trade lethality for a heavy impact which can incapacitate targets. Performs even worse against armor." + caliber = "9mm rubber" + ammo_type = /obj/item/ammo_casing/c9mm/rubber + +/obj/item/gun/ballistic/automatic/smg/cm5/compact + name = "\improper CM-5c" + desc = "A modification of the CM-5 featuring a dramatically shortened barrel and removed stock. Designed for CLIP-GOLD covert enforcement agents to maximize portability without sacrificing firepower, though accuracy at range is abysmal at best. Chambered in 9mm." + icon_state = "cm5c" + item_state = "cm5c" + + w_class = WEIGHT_CLASS_NORMAL + spread = 10 + spread_unwielded = 20 + + fire_delay = 0.1 SECONDS + + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 30, + "y" = 20, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 22, + "y" = 17, + ) + ) + + + recoil = 1 + recoil_unwielded = 2 + wield_delay = 0.2 SECONDS + wield_slowdown = 0.15 + + var/obj/item/storage/briefcase/current_case + +/obj/item/gun/ballistic/automatic/smg/cm5/compact/attackby(obj/item/attacking_item, mob/user, params) + . = ..() + if(current_case) + return + if(!istype(attacking_item, /obj/item/storage/briefcase)) + return + if(attacking_item.contents.len != 0) + return + to_chat(user, span_notice("...? You rig [src] to fire from within [attacking_item].")) + current_case = attacking_item + attacking_item.forceMove(src) + icon = attacking_item.icon + base_icon_state = attacking_item.icon_state + item_state = attacking_item.item_state + name = attacking_item.name + lefthand_file = attacking_item.lefthand_file + righthand_file = attacking_item.righthand_file + pickup_sound = attacking_item.pickup_sound + drop_sound = attacking_item.drop_sound + w_class = WEIGHT_CLASS_BULKY + +//how are you even supposed to hold it like this...? + spread += 10 + spread_unwielded +=10 + + cut_overlays() + update_appearance() + +/obj/item/gun/ballistic/automatic/smg/cm5/compact/AltClick(mob/user) + if(!current_case) + return ..() + user.put_in_hands(current_case) + icon = src::icon + base_icon_state = src::icon_state + item_state = src::item_state + name = src::name + lefthand_file = src::lefthand_file + righthand_file = src::righthand_file + pickup_sound = src::pickup_sound + drop_sound = src::drop_sound + w_class = WEIGHT_CLASS_NORMAL + + spread = src::spread + spread_unwielded = src::spread_unwielded + to_chat(user, span_notice("You remove the [current_case] from [src]")) + current_case = null + + cut_overlays() + update_appearance() + + +//########### MARKSMAN ###########// +/obj/item/gun/ballistic/automatic/marksman/f4 + name = "CM-F4" + desc = "CLIP's marksman rifle, used by both military and law enforcement units. Designed not long after the CM-24, the venerable F4 has adapted well to continued upgrades. Chambered in .308." + + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + + icon_state = "f4" + item_state = "f4" + show_magazine_on_sprite = TRUE + weapon_weight = WEAPON_MEDIUM + w_class = WEIGHT_CLASS_BULKY + bolt_type = BOLT_TYPE_CLIP + default_ammo_type = /obj/item/ammo_box/magazine/f4_308 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/f4_308, + ) + fire_sound = 'sound/weapons/gun/rifle/f4.ogg' + burst_size = 0 + actions_types = list() + manufacturer = MANUFACTURER_MINUTEMAN + + valid_attachments = list( + /obj/item/attachment/silencer, + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet + ) + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1 + ) + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 48, + "y" = 17, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 35, + "y" = 16, + ) + ) + + wield_slowdown = DMR_SLOWDOWN + spread = -4 + fire_select_icon_state_prefix = "clip_" + adjust_fire_select_icon_state_on_safety = TRUE + +/obj/item/gun/ballistic/automatic/marksman/f4/inteq + name = "\improper SsG-04" + desc = "An F4 rifle purchased from CLIP and modified to suit IRMG's needs. Chambered in .308." + icon = 'icons/obj/guns/manufacturer/inteq/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/inteq/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/inteq/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/inteq/onmob.dmi' + icon_state = "f4_inteq" + item_state = "f4_inteq" + +/obj/item/gun/ballistic/automatic/marksman/f90 + name = "CM-F90" + desc = "A powerful sniper rifle used by vanishingly rare CLIP specialists, capable of impressive range and penetrating power. Chambered in 6.5mm CLIP." + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + + icon_state = "f90" + item_state = "f90" + + fire_sound = 'sound/weapons/gun/sniper/cmf90.ogg' + + default_ammo_type = /obj/item/ammo_box/magazine/f90 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/f90, + ) + bolt_type = BOLT_TYPE_CLIP + + fire_delay = 1 SECONDS + + manufacturer = MANUFACTURER_MINUTEMAN + spread = -5 + spread_unwielded = 35 + recoil = 2 + recoil_unwielded = 10 + wield_slowdown = SNIPER_SLOWDOWN + wield_delay = 1.3 SECONDS + + zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. + zoom_out_amt = 5 + +/obj/item/ammo_box/magazine/f90 + name = "\improper CM-F90 Magazine (6.5x57mm CLIP)" + desc = "A large 5-round box magazine for the CM-F90 sniper rifles. These rounds deal amazing damage and bypass half of their protective equipment, though it isn't a high enough caliber to pierce armored vehicles." + base_icon_state = "f90_mag" + icon_state = "f90_mag-1" + ammo_type = /obj/item/ammo_casing/a65clip + caliber = "6.5CLIP" + max_ammo = 5 + +/obj/item/ammo_box/magazine/f90/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[!!ammo_count()]" + +/obj/item/ammo_box/magazine/f90/empty + start_empty = TRUE + +//########### RIFLES ###########// +/obj/item/gun/ballistic/automatic/assault/cm82 + name = "\improper CM-82" + desc = "CLIP's standard assault rifle, still relatively new in service. Accurate, reliable, and easy to use, the CM-82 replaced the CM-24 as CLIP's assault rifle almost overnight, and has proven immensely popular since. Chambered in 5.56mm." + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + + fire_sound = 'sound/weapons/gun/rifle/cm82.ogg' + icon_state = "cm82" + item_state = "cm82" + show_magazine_on_sprite = TRUE + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + bolt_type = BOLT_TYPE_CLIP + default_ammo_type = /obj/item/ammo_box/magazine/p16 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/p16, + ) + spread = 2 + wield_delay = 0.5 SECONDS + + fire_delay = 0.18 SECONDS + + load_sound = 'sound/weapons/gun/rifle/cm82_reload.ogg' + load_empty_sound = 'sound/weapons/gun/rifle/cm82_reload.ogg' + eject_sound = 'sound/weapons/gun/rifle/cm82_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/rifle/cm82_unload.ogg' + + fire_select_icon_state_prefix = "clip_" + adjust_fire_select_icon_state_on_safety = TRUE + +/obj/item/gun/ballistic/automatic/assault/skm/cm24 + name = "\improper CM-24" + desc = "An obsolete and very rugged assault rifle with a heavy projectile and slow action for its class. Once CLIP's standard assault rifle produced in phenomenal numbers for the First Frontiersman War, it now serves as an acceptable, if rare, battle rifle. Chambered in 7.62mm CLIP." + + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + + icon_state = "cm24" + item_state = "cm24" + manufacturer = MANUFACTURER_NONE + + fire_select_icon_state_prefix = "clip_" + adjust_fire_select_icon_state_on_safety = TRUE + +/obj/item/gun/ballistic/automatic/hmg/cm40 + name = "\improper CM-40" + desc = "A light machine gun used by CLIP heavy weapons teams, capable of withering suppressive fire. The weight and recoil make it nearly impossible to use without deploying the bipod against appropriate cover, such as a table, or bracing against solid cover. Chambered in 7.62x40mm CLIP." + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + + icon_state = "cm40" + item_state = "cm40" + + fire_sound = 'sound/weapons/gun/hmg/cm40.ogg' + rack_sound = 'sound/weapons/gun/hmg/cm40_cocked.ogg' + + rack_sound_vary = FALSE + + load_sound_vary = FALSE + eject_sound_vary = FALSE + + load_sound = 'sound/weapons/gun/hmg/cm40_reload.ogg' + load_empty_sound = 'sound/weapons/gun/hmg/cm40_reload.ogg' + eject_sound = 'sound/weapons/gun/hmg/cm40_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/hmg/cm40_unload.ogg' + + fire_delay = 0.1 SECONDS + + show_magazine_on_sprite = TRUE + weapon_weight = WEAPON_MEDIUM + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + manufacturer = MANUFACTURER_MINUTEMAN + default_ammo_type = /obj/item/ammo_box/magazine/cm40_762_40_box + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/cm40_762_40_box, + ) + + spread = 10 + spread_unwielded = 35 + + recoil = 2 //identical to other LMGS + recoil_unwielded = 7 //same as skm + + wield_slowdown = SAW_SLOWDOWN //not as severe as other lmgs, but worse than the normal skm + wield_delay = 0.9 SECONDS //faster than normal lmgs, slower than stock skm + + has_bipod = TRUE + + deploy_recoil_bonus = -2 + deploy_spread_bonus = -6 + +/obj/item/gun/ballistic/automatic/hmg/cm40/ComponentInitialize() + . = ..() + AddComponent(/datum/component/automatic_fire, 0.1 SECONDS) + AddElement(/datum/element/update_icon_updates_onmob) + +/obj/item/ammo_box/magazine/cm40_762_40_box + name = "CM-40 box magazine (7.62x40mm CLIP)" + desc = "An 80 round box magazine for CM-40 light machine gun. These rounds do good damage with good armor penetration." + base_icon_state = "cm40_mag" + icon_state = "cm40_mag-1" + ammo_type = /obj/item/ammo_casing/a762_40 + max_ammo = 80 + w_class = WEIGHT_CLASS_NORMAL + +/obj/item/ammo_box/magazine/cm40_762_40_box/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[!!ammo_count()]" + +/obj/item/ammo_box/magazine/cm40_762_40_box/empty + start_empty = TRUE + +//########### MISC ###########// + +/obj/item/gun/ballistic/shotgun/cm15 + name = "\improper CM-15" + desc = "A large automatic shotgun used by CLIP. Generally employed by law enforcement and breaching specialists, and rarely by CLIP-BARD (typically with incendiary ammunition). Chambered in 12 gauge." + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + + + + icon_state = "cm15" + item_state = "cm15" + + fire_select_icon_state_prefix = "clip_" + adjust_fire_select_icon_state_on_safety = TRUE + + manufacturer = MANUFACTURER_MINUTEMAN + + weapon_weight = WEAPON_MEDIUM +// can_suppress = FALSE + default_ammo_type = /obj/item/ammo_box/magazine/cm15_12g + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/cm15_12g, + ) + + empty_indicator = FALSE + unique_mag_sprites_for_variants = FALSE + + semi_auto = TRUE + internal_magazine = FALSE + casing_ejector = TRUE + tac_reloads = TRUE + pickup_sound = 'sound/items/handling/rifle_pickup.ogg' + + fire_sound = 'sound/weapons/gun/shotgun/bulldog.ogg' + + load_sound = 'sound/weapons/gun/rifle/ar_reload.ogg' + load_empty_sound = 'sound/weapons/gun/rifle/ar_reload.ogg' + eject_sound = 'sound/weapons/gun/rifle/ar_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/rifle/ar_unload.ogg' + + rack_sound = 'sound/weapons/gun/rifle/ar_cock.ogg' + + spread = 4 + spread_unwielded = 16 + recoil = 1 + recoil_unwielded = 4 + wield_slowdown = HEAVY_SHOTGUN_SLOWDOWN + wield_delay = 0.65 SECONDS + + +/obj/item/gun/ballistic/shotgun/cm15/incendiary + default_ammo_type = /obj/item/ammo_box/magazine/cm15_12g/incendiary diff --git a/code/modules/projectiles/guns/manufacturer/clip_lanchester/lasers.dm b/code/modules/projectiles/guns/manufacturer/clip_lanchester/lasers.dm new file mode 100644 index 00000000000..de0e28c85b1 --- /dev/null +++ b/code/modules/projectiles/guns/manufacturer/clip_lanchester/lasers.dm @@ -0,0 +1,49 @@ +/obj/item/gun/energy/kalix/clip + name = "CM-1" + desc = "CLIP's first standard-issue weapon, a near-copy of colonial-era weapons left behind by Free Zohil forces in CLIP's founding years. Outdated and difficult to source replacement parts for, but nevertheless still very common among BARD personnel and for ceremonal use." + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + + icon_state = "cm1" + item_state = "cm1" + + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) + default_firemode = FIREMODE_SEMIAUTO + + default_ammo_type = /obj/item/stock_parts/cell/gun + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun, + /obj/item/stock_parts/cell/gun/upgraded, + /obj/item/stock_parts/cell/gun/empty, + /obj/item/stock_parts/cell/gun/upgraded/empty, + ) + ammo_type = list(/obj/item/ammo_casing/energy/kalix, /obj/item/ammo_casing/energy/disabler/hitscan) + + manufacturer = MANUFACTURER_MINUTEMAN_LASER + +/obj/item/gun/energy/laser/e50/clip + name = "ECM-50" + desc = "An extensive modification of the Eoehoma E-50 Emitter, customized specifically for CLIP-BARD. Sacrifices some of the E-50's raw power for vastly improved energy efficiency, while preserving its incendiary side-effects." + + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + + icon_state = "cm50" + item_state = "cm50" + shaded_charge = TRUE + charge_sections = 4 + + ammo_type = list(/obj/item/ammo_casing/energy/laser/eoehoma/e50/clip) + +/obj/item/ammo_casing/energy/laser/eoehoma/e50/clip + projectile_type = /obj/projectile/beam/emitter/hitscan/clip + fire_sound = 'sound/weapons/gun/laser/heavy_laser.ogg' + e_cost = 6250 + delay = 0.6 SECONDS + +/obj/projectile/beam/emitter/hitscan/clip + damage = 35 diff --git a/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm b/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm index 6b5aa0997ae..fa618fd521a 100644 --- a/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm +++ b/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm @@ -14,9 +14,13 @@ fire_delay = 0.16 SECONDS wield_delay = 0.7 SECONDS - wield_slowdown = 0.35 + wield_slowdown = LASER_RIFLE_SLOWDOWN - cell_type = /obj/item/stock_parts/cell/gun/kalix + default_ammo_type = /obj/item/stock_parts/cell/gun/kalix + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/kalix, + /obj/item/stock_parts/cell/gun/pgf, + ) ammo_type = list(/obj/item/ammo_casing/energy/kalix, /obj/item/ammo_casing/energy/disabler/hitscan) load_sound = 'sound/weapons/gun/gauss/pistol_reload.ogg' @@ -43,17 +47,23 @@ armour_penetration = -10 /obj/item/gun/energy/kalix/empty_cell - dead_cell = TRUE + spawn_no_ammo = TRUE /obj/item/gun/energy/kalix/pgf name = "Etherbor BG-16" desc = "An advanced variant of the BG-12, the BG-16 is the military-grade beam gun designed and manufactured by Etherbor Industries as the standard-issue close-range weapon of the Epsilon Eridani Defense Force." icon_state = "pgfgun" item_state = "pgfgun" - w_class = WEIGHT_CLASS_NORMAL - cell_type = /obj/item/stock_parts/cell/gun/pgf - ammo_type = list(/obj/item/ammo_casing/energy/pgf , /obj/item/ammo_casing/energy/disabler/hitscan) + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) + default_firemode = FIREMODE_SEMIAUTO + + default_ammo_type = /obj/item/stock_parts/cell/gun/pgf + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/pgf, + /obj/item/stock_parts/cell/gun/kalix, + ) + ammo_type = list(/obj/item/ammo_casing/energy/kalix/pgf , /obj/item/ammo_casing/energy/disabler/hitscan) /obj/projectile/beam/hitscan/kalix/pgf name = "concentrated energy" @@ -64,9 +74,10 @@ muzzle_flash_color_override = LIGHT_COLOR_ELECTRIC_GREEN impact_light_color_override = LIGHT_COLOR_ELECTRIC_GREEN -/obj/item/ammo_casing/energy/pgf +/obj/item/ammo_casing/energy/kalix/pgf projectile_type = /obj/projectile/beam/hitscan/kalix/pgf fire_sound = 'sound/weapons/gun/energy/kalixsmg.ogg' + e_cost = 666 //30 shots per cell delay = 1 /obj/item/gun/energy/kalix/pistol //blue @@ -78,12 +89,16 @@ modifystate = FALSE wield_delay = 0.2 SECONDS - wield_slowdown = 0.15 + wield_slowdown = LASER_PISTOL_SLOWDOWN spread = 2 spread_unwielded = 5 - cell_type = /obj/item/stock_parts/cell/gun/kalix + default_ammo_type = /obj/item/stock_parts/cell/gun/kalix + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/kalix, + /obj/item/stock_parts/cell/gun/pgf, + ) ammo_type = list(/obj/item/ammo_casing/energy/kalix/pistol) @@ -95,14 +110,13 @@ delay = 0 /obj/item/gun/energy/kalix/pistol/empty_cell - dead_cell = TRUE + spawn_no_ammo = TRUE /obj/item/gun/energy/kalix/pgf/heavy name = "Etherbor HBG-7" desc = "The HBG-7 is the standard-issue rifle weapon of the Epsilon Eridani Defense Force. If the stopping power and fire rate isn't enough, it comes with a DMR mode that has greater armor piercing for dealing with armored targets." icon_state = "pgfheavy" item_state = "pgfheavy" - w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK modifystate = FALSE @@ -113,7 +127,7 @@ fire_delay = 0.2 SECONDS wield_delay = 0.7 SECONDS - wield_slowdown = 0.6 + wield_slowdown = HEAVY_LASER_RIFLE_SLOWDOWN spread = 0 spread_unwielded = 20 @@ -166,5 +180,5 @@ spread = -5 spread_unwielded = 40 - wield_slowdown = 1 + wield_slowdown = LASER_SNIPER_SLOWDOWN wield_delay = 1.3 SECONDS diff --git a/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm b/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm new file mode 100644 index 00000000000..4a48dd5ea2b --- /dev/null +++ b/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm @@ -0,0 +1,308 @@ +/obj/item/gun/ballistic/automatic/pistol/mauler + name = "Mauler machine pistol" + desc = "An automatic machine pistol originating from the Shoal. Impressive volume of fire with abysmal accuracy, lackluster armor penetration, and limited magazine size render it mostly useless outside of very close quarters. Chambered in 9mm." + icon = 'icons/obj/guns/manufacturer/frontier_import/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/frontier_import/onmob.dmi' + + icon_state = "mauler" + item_state = "hp_generic" + default_ammo_type = /obj/item/ammo_box/magazine/m9mm_mauler + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m9mm_mauler, + ) + fire_delay = 0.06 SECONDS + + gun_firemodes = list(FIREMODE_FULLAUTO) + default_firemode = FIREMODE_FULLAUTO + + spread = 25 + spread_unwielded = 50 + recoil = 1 + recoil_unwielded = 4 + safety_multiplier = 2 //this means its twice as safe right? + + fire_sound = 'sound/weapons/gun/pistol/mauler.ogg' + + rack_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg' + + lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg' + + load_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' + eject_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' + +/obj/item/gun/ballistic/automatic/pistol/mauler/ComponentInitialize() + . = ..() + AddComponent(/datum/component/automatic_fire, 0.06 SECONDS) + +/obj/item/ammo_box/magazine/m9mm_mauler + name = "mauler machine pistol magazine (9mm)" + desc = "A 12-round magazine designed for the Mauler machine pistol." + icon_state = "mauler_mag-1" + base_icon_state = "mauler_mag" + ammo_type = /obj/item/ammo_casing/c9mm + caliber = "9mm" + max_ammo = 12 + +/obj/item/ammo_box/magazine/m9mm_mauler/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[!!ammo_count()]" + +/obj/item/gun/ballistic/automatic/pistol/spitter + name = "\improper Spitter" + desc = "An open-bolt submachine gun favored by the Frontiersmen. This design's origins are unclear, but its simple, robust design has been widely copied throughout the Frontier, and it is stereotypically used by pirates and various criminal groups that value low price and ease of concealment. Chambered in 9mm." + icon = 'icons/obj/guns/manufacturer/frontier_import/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/frontier_import/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/frontier_import/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/frontier_import/onmob.dmi' + + icon_state = "spitter" + item_state = "spitter" + default_ammo_type = /obj/item/ammo_box/magazine/spitter_9mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/spitter_9mm, + ) + bolt_type = BOLT_TYPE_OPEN + weapon_weight = WEAPON_LIGHT + show_magazine_on_sprite = TRUE + manufacturer = MANUFACTURER_IMPORT + + spread = 20 + spread_unwielded = 35 + dual_wield_spread = 35 + wield_slowdown = SMG_SLOWDOWN + wield_delay = 0.2 SECONDS + fire_delay = 0.09 SECONDS + safety_multiplier = 2 + + fire_sound = 'sound/weapons/gun/smg/spitter.ogg' + rack_sound = 'sound/weapons/gun/smg/spitter_cocked.ogg' + rack_sound_vary = FALSE + + load_sound_vary = FALSE + eject_sound_vary = FALSE + load_sound = 'sound/weapons/gun/smg/spitter_reload.ogg' + load_empty_sound = 'sound/weapons/gun/smg/spitter_reload.ogg' + eject_sound = 'sound/weapons/gun/smg/spitter_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/smg/spitter_unload.ogg' + + valid_attachments = list( + /obj/item/attachment/silencer, + /obj/item/attachment/foldable_stock/spitter + ) + + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_STOCK = 1 + ) + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 32, + "y" = 23, + ), + ATTACHMENT_SLOT_STOCK = list( + "x" = -5, + "y" = 18, + ) + ) + + default_attachments = list(/obj/item/attachment/foldable_stock/spitter) + + gun_firemodes = list(FIREMODE_FULLAUTO) + default_firemode = FIREMODE_FULLAUTO + + + +/obj/item/ammo_box/magazine/spitter_9mm + name = "spitter pistol magazine (9mm)" + desc = "A thin 30-round magazine for the Spitter submachine gun." + icon_state = "spitter_mag-1" + base_icon_state = "spitter_mag" + ammo_type = /obj/item/ammo_casing/c9mm + caliber = "9mm" + max_ammo = 30 + +/obj/item/ammo_box/magazine/spitter_9mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[!!ammo_count()]" + + +/obj/item/gun/ballistic/automatic/smg/pounder + name = "Pounder" + desc = "An unusual submachine gun of Frontiersman make. A miniscule cartridge lacking both stopping power and armor penetration is compensated for with best-in-class ammunition capacity and cycle rate. Chambered in .22 LR." + icon = 'icons/obj/guns/manufacturer/frontier_import/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/frontier_import/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/frontier_import/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/frontier_import/onmob.dmi' + w_class = WEIGHT_CLASS_BULKY //this gun is visually larger, so I believe this is good + + icon_state = "pounder" + item_state = "pounder" + default_ammo_type = /obj/item/ammo_box/magazine/c22lr_pounder_pan + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/c22lr_pounder_pan, + ) + burst_size = 1 + fire_delay = 0.05 SECONDS + spread = 25 + spread_unwielded = 50 + + fire_sound = 'sound/weapons/gun/smg/pounder.ogg' + rack_sound = 'sound/weapons/gun/smg/pounder_cocked.ogg' + rack_sound_vary = FALSE + + load_sound_vary = FALSE + eject_sound_vary = FALSE + load_sound = 'sound/weapons/gun/smg/pounder_reload.ogg' + load_empty_sound = 'sound/weapons/gun/smg/pounder_reload.ogg' + eject_sound = 'sound/weapons/gun/smg/pounder_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/smg/pounder_unload.ogg' + + gun_firemodes = list(FIREMODE_FULLAUTO) + default_firemode = FIREMODE_FULLAUTO + + manufacturer = MANUFACTURER_IMPORT + wield_slowdown = SMG_SLOWDOWN + safety_multiplier = 2 + +/obj/item/ammo_box/magazine/c22lr_pounder_pan + name = "pan magazine (.22 LR)" + desc = "A 50-round pan magazine for the Pounder submachine gun." + icon_state = "firestorm_pan" + base_icon_state = "firestorm_pan" + ammo_type = /obj/item/ammo_casing/c22lr + caliber = "22lr" + max_ammo = 50 + w_class = WEIGHT_CLASS_NORMAL + +/obj/item/ammo_box/magazine/c22lr_pounder_pan/update_icon_state() + . = ..() + icon_state = "firestorm_pan" + +/obj/item/gun/ballistic/automatic/hmg/shredder + name = "\improper Shredder" + desc = "A vastly atypical heavy machine gun, extensively modified by the Frontiersmen. Additional grips have been added to enable firing from the hip, and it has been modified to fire belts of shotgun shells. Chambered in 12g." + icon = 'icons/obj/guns/manufacturer/frontier_import/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/frontier_import/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/frontier_import/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/frontier_import/onmob.dmi' + + icon_state = "shredder" + item_state = "shredder" + default_ammo_type = /obj/item/ammo_box/magazine/m12_shredder + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m12_shredder, + ) + spread = 15 + recoil = 2 + recoil_unwielded = 7 + fire_delay = 0.16 SECONDS + mag_display_ammo = TRUE + + bolt_type = BOLT_TYPE_STANDARD + show_magazine_on_sprite = TRUE + show_magazine_on_sprite_ammo = TRUE + tac_reloads = FALSE + fire_sound = 'sound/weapons/gun/hmg/shredder.ogg' + rack_sound = 'sound/weapons/gun/hmg/shredder_cocked_alt.ogg' + + load_sound_vary = FALSE + eject_sound_vary = FALSE + load_sound = 'sound/weapons/gun/hmg/shredder_reload.ogg' + load_empty_sound = 'sound/weapons/gun/hmg/shredder_reload.ogg' + eject_sound = 'sound/weapons/gun/hmg/shredder_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/hmg/shredder_unload.ogg' + + manufacturer = MANUFACTURER_IMPORT + has_bipod = FALSE + +/obj/item/ammo_box/magazine/m12_shredder + name = "belt box (12g)" + desc = "A 40-round belt box for the Shredder heavy machine gun." + icon_state = "shredder_mag-1" + base_icon_state = "shredder_mag" + ammo_type = /obj/item/ammo_casing/shotgun/buckshot + caliber = "12ga" + max_ammo = 40 + w_class = WEIGHT_CLASS_NORMAL + +/obj/item/ammo_box/magazine/m12_shredder/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[!!ammo_count()]" + +/obj/item/ammo_box/magazine/m12_shredder/slug + name = "belt box (12g slug)" + desc = "A 40-round belt box for the Shredder heavy machine gun." + icon_state = "shredder_mag_slug-1" + base_icon_state = "shredder_mag_slug" + ammo_type = /obj/item/ammo_casing/shotgun + caliber = "12ga" + max_ammo = 40 + w_class = WEIGHT_CLASS_NORMAL + + +/obj/item/gun/ballistic/rocketlauncher/oneshot + name = "\improper Hammer" + desc = "A disposable rocket-propelled grenade launcher loaded with a standard HE shell." + + icon = 'icons/obj/guns/manufacturer/frontier_import/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/frontier_import/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/frontier_import/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/frontier_import/onmob.dmi' + base_icon_state = "rpg" + icon_state = "rpg" + item_state = "rpg" + + default_ammo_type = /obj/item/ammo_box/magazine/internal/rocketlauncher/oneshot + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/rocketlauncher/oneshot, + ) + fire_sound = 'sound/weapons/gun/general/rocket_launch.ogg' + load_sound = 'sound/weapons/gun/general/rocket_load.ogg' + weapon_weight = WEAPON_HEAVY + bolt_type = BOLT_TYPE_NO_BOLT + + cartridge_wording = "rocket" + empty_indicator = FALSE + sealed_magazine = TRUE + manufacturer = MANUFACTURER_IMPORT + slot_flags = ITEM_SLOT_BACK + has_safety = FALSE + safety = FALSE + + safety_multiplier = 0 + +/obj/item/gun/ballistic/rocketlauncher/oneshot/hedp + name = "\improper Hammer-DP" + desc = "A disposable rocket-propelled grenade launcher loaded with an HEDP shell for Direct Penetration of your target." + + default_ammo_type = /obj/item/ammo_box/magazine/internal/rocketlauncher/oneshot/hedp + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/rocketlauncher/oneshot/hedp, + ) + +/obj/item/gun/ballistic/rocketlauncher/oneshot/Initialize() + . = ..() + if(prob(1)) + name = "\improper Mallet" + +/obj/item/gun/ballistic/rocketlauncher/oneshot/examine(mob/user) + . = ..() + if(!chambered) + . += span_warning("It has been spent, and is now useless.") + +/obj/item/ammo_box/magazine/internal/rocketlauncher/oneshot + name = "oneshot rocket launcher magazine" + ammo_type = /obj/item/ammo_casing/caseless/rocket + caliber = "84mm" + max_ammo = 1 + +/obj/item/ammo_box/magazine/internal/rocketlauncher/oneshot/hedp + name = "oneshot rocket launcher magazine" + ammo_type = /obj/item/ammo_casing/caseless/rocket/hedp + caliber = "84mm" + max_ammo = 1 diff --git a/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm new file mode 100644 index 00000000000..1d65a3a2d5b --- /dev/null +++ b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm @@ -0,0 +1,938 @@ +///Hunters Pride Weapons + +///Revolvers + +/obj/item/gun/ballistic/revolver/montagne + name = "\improper HP Montagne" + desc = "An ornate break-open revolver issued to high-ranking members of the Saint-Roumain Militia. Chambered in .44." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + icon_state = "montagne" + item_state = "hp_generic" + manufacturer = MANUFACTURER_HUNTERSPRIDE + spread_unwielded = 15 + recoil = 0 + + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev44/montagne + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/rev44/montagne, + ) + +/obj/item/gun/ballistic/revolver/montagne/ComponentInitialize() + . = ..() + AddComponent(/datum/component/ammo_hud/revolver) + +EMPTY_GUN_HELPER(revolver/montagne) + +/obj/item/gun/ballistic/revolver/ashhand + name = "HP Ashhand" + desc = "A massive, long-barreled revolver often used by the Saint-Roumain Militia as protection against big game. Can only be reloaded one cartridge at a time due to its reinforced frame. Uses .45-70 ammo." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + icon_state = "ashhand" + item_state = "ashhand" + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev4570 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/rev4570, + ) + fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' + rack_sound = 'sound/weapons/gun/revolver/viper_prime.ogg' + manufacturer = MANUFACTURER_HUNTERSPRIDE + gate_loaded = TRUE + fire_delay = 0.6 SECONDS + wield_slowdown = HEAVY_REVOLVER_SLOWDOWN + spread_unwielded = 20 + spread = 6 + recoil = 2 + recoil_unwielded = 4 + +/obj/item/gun/ballistic/revolver/ashhand/ComponentInitialize() + . = ..() + AddComponent(/datum/component/ammo_hud/revolver) + +/obj/item/gun/ballistic/revolver/firebrand + name = "\improper HP Firebrand" + desc = "An archaic precursor to revolver-type firearms, this gun was rendered completely obsolete millennia ago. While fast to fire, it is extremely inaccurate. Uses .357 ammo." + icon_state = "pepperbox" + item_state = "hp_generic_fresh" + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/pepperbox + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/pepperbox, + ) + spread = 20 + manufacturer = MANUFACTURER_HUNTERSPRIDE + spread_unwielded = 50 + fire_delay = 0 SECONDS + gate_offset = 4 + semi_auto = TRUE + safety_wording = "safety" + +EMPTY_GUN_HELPER(revolver/firebrand) + +/obj/item/gun/ballistic/revolver/shadow + name = "\improper HP Shadow" + desc = "A mid-size revolver. Despite the antiquated design, it is cheap, reliable, and stylish, making it a favorite among fast-drawing spacers and the officers of various militaries, as well as small-time police units. Chambered in .44." + fire_sound = 'sound/weapons/gun/revolver/cattleman.ogg' + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + icon_state = "shadow" + item_state = "shadow" + + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev44 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/rev44, + ) + manufacturer = MANUFACTURER_HUNTERSPRIDE + obj_flags = UNIQUE_RENAME + gate_loaded = TRUE + unique_reskin = list(\ + "Shadow" = "shadow", + "Cattleman" = "shadow_cattleman", + "General" = "shadow_general", + "Sheriff" = "shadow_sheriff", + "Cobra" = "shadow_cobra", + "Hired Gun" = "shadow_hiredgun", + "Buntline" = "shadow_buntline", + "Cavalry" = "shadow_cavalry", + "Lanchester Special" = "shadow_lanchester" + ) + + recoil = 0 //weaker than normal revolver, no recoil + spread_unwielded = 10 + +/obj/item/gun/ballistic/revolver/shadow/ComponentInitialize() + . = ..() + AddComponent(/datum/component/ammo_hud/revolver) + +/obj/item/gun/ballistic/revolver/shadow/reskin_obj(mob/M) + . = ..() + if(current_skin) + item_state = unique_reskin[current_skin] + +EMPTY_GUN_HELPER(revolver/shadow) + +/obj/item/gun/ballistic/revolver/detective + name = "\improper HP Detective Special" + desc = "A small law enforcement firearm. Originally commissioned by Nanotrasen for their Private Investigation division, it has become extremely popular among independent civilians as a cheap, compact sidearm. Uses .38 Special rounds." + fire_sound = 'sound/weapons/gun/revolver/shot_light.ogg' + icon_state = "detective" + item_state = "hp_generic" + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/rev38, + ) + obj_flags = UNIQUE_RENAME + semi_auto = TRUE //double action + safety_wording = "safety" + unique_reskin = list("Default" = "detective", + "Stainless Steel" = "detective_stainless", + "Gold Trim" = "detective_gold", + "Leopard Spots" = "detective_leopard", + "The Peacemaker" = "detective_peacemaker", + "Black Panther" = "detective_panther" + ) + w_class = WEIGHT_CLASS_SMALL + manufacturer = MANUFACTURER_HUNTERSPRIDE + + recoil = 0 //weaker than normal revolver, no recoil + fire_delay = 0.2 SECONDS + +EMPTY_GUN_HELPER(revolver/detective) + +/obj/item/gun/ballistic/revolver/detective/ComponentInitialize() + . = ..() + AddComponent(/datum/component/ammo_hud/revolver) //note that the hud at the moment only supports 6 round revolvers, 7 or 5 isn't supported rn +//...why...? +/obj/item/gun/ballistic/revolver/detective/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0, burst_firing = FALSE, spread_override = 0, iteration = 0) + if(magazine.caliber != initial(magazine.caliber)) + if(prob(100 - (magazine.ammo_count() * 5))) //minimum probability of 70, maximum of 95 + playsound(user, fire_sound, fire_sound_volume, vary_fire_sound) + to_chat(user, "[src] blows up in your face!") + user.take_bodypart_damage(0,20) + explosion(src, 0, 0, 1, 1) + user.dropItemToGround(src) + return 0 + ..() + +/obj/item/gun/ballistic/revolver/detective/screwdriver_act(mob/living/user, obj/item/I) + if(..()) + return TRUE + if(magazine.caliber == "38") + to_chat(user, "You begin to reinforce the barrel of [src]...") + if(magazine.ammo_count()) + afterattack(user, user) //you know the drill + user.visible_message("[src] goes off!", "[src] goes off in your face!") + return TRUE + if(I.use_tool(src, user, 30)) + if(magazine.ammo_count()) + to_chat(user, "You can't modify it!") + return TRUE + magazine.caliber = ".357" + fire_sound = 'sound/weapons/gun/revolver/shot.ogg' + desc = "The barrel and chamber assembly seems to have been modified." + to_chat(user, "You reinforce the barrel of [src]. Now it will fire .357 rounds.") + else + to_chat(user, "You begin to revert the modifications to [src]...") + if(magazine.ammo_count()) + afterattack(user, user) //and again + user.visible_message("[src] goes off!", "[src] goes off in your face!") + return TRUE + if(I.use_tool(src, user, 30)) + if(magazine.ammo_count()) + to_chat(user, "You can't modify it!") + return + magazine.caliber = ".38" + fire_sound = 'sound/weapons/gun/revolver/shot.ogg' + desc = initial(desc) + to_chat(user, "You remove the modifications on [src]. Now it will fire .38 rounds.") + return TRUE + +///pistols + +/obj/item/gun/ballistic/automatic/pistol/candor + name = "\improper Candor" + desc = "A classic semi-automatic handgun, widely popular throughout the Frontier. An engraving on the slide marks it as a product of Hunter's Pride. Chambered in .45." + icon_state = "candor" + item_state = "hp_generic" + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + default_ammo_type = /obj/item/ammo_box/magazine/m45 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m45, + ) + fire_sound = 'sound/weapons/gun/pistol/candor.ogg' + rack_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg' + manufacturer = MANUFACTURER_HUNTERSPRIDE + load_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' + eject_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' + show_magazine_on_sprite = TRUE + +NO_MAG_GUN_HELPER(automatic/pistol/candor) + +/obj/item/gun/ballistic/automatic/pistol/candor/factory //also give this to the srm, their candors should probably look factory fresh from how well taken care of they are + desc = "A classic semi-automatic handgun, widely popular throughout the Frontier. An engraving on the slide marks it as a product of 'Hunter's Pride Arms and Ammunition'. This example has been kept in especially good shape, and may as well be fresh out of the workshop. Chambered in .45." + item_state = "hp_generic_fresh" + +NO_MAG_GUN_HELPER(automatic/pistol/candor/factory) + +/obj/item/gun/ballistic/automatic/pistol/candor/factory/update_overlays() + . = ..() + . += "[initial(icon_state)]_factory" + +/obj/item/gun/ballistic/automatic/pistol/candor/phenex + name = "\improper HP Phenex" + desc = "A uniquely modified version of the Candor, famously created by Hunter's Pride. Named after the daemonic Phoenix of legend that the Ashen Huntsman had once slain, this hell-kissed weapon is more visually intimidating than its original counterpart, but mechanically acts the same. Chambered in .45." + icon_state = "phenex" + item_state = "hp_phenex" + +/// SMG /// + +/obj/item/gun/ballistic/automatic/smg/firestorm //weapon designed by Apogee-dev + name = "HP Firestorm" + desc = "An unconventional submachinegun, rarely issued to Saint-Roumain Militia mercenary hunters for outstanding situations where normal hunting weapons fall short. Chambered in .45." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + icon_state = "firestorm" + item_state = "firestorm" + default_ammo_type = /obj/item/ammo_box/magazine/c45_firestorm_mag + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/c45_firestorm_mag, + ) + unique_mag_sprites_for_variants = TRUE + burst_size = 1 + actions_types = list() + fire_delay = 0.13 SECONDS + bolt_type = BOLT_TYPE_OPEN + rack_sound = 'sound/weapons/gun/smg/uzi_cocked.ogg' + fire_sound = 'sound/weapons/gun/smg/firestorm.ogg' + + + manufacturer = MANUFACTURER_HUNTERSPRIDE + wield_slowdown = SMG_SLOWDOWN + +/obj/item/gun/ballistic/automatic/smg/firestorm/pan //spawns with pan magazine, can take sticks instead of just drums, not sure where this would be used, maybe erts? + default_ammo_type = /obj/item/ammo_box/magazine/c45_firestorm_mag/pan + +///Shotguns + +///////////////////////////// +// DOUBLE BARRELED SHOTGUN // +///////////////////////////// + +/obj/item/gun/ballistic/shotgun/doublebarrel + name = "double-barreled shotgun" + desc = "A classic break action shotgun, hand-made in a Hunter's Pride workshop. Both barrels can be fired in quick succession or even simultaneously. Guns like this have been popular with hunters, sporters, and criminals for millennia. Chambered in 12g." + sawn_desc = "A break action shotgun cut down to the size of a sidearm. While the recoil is even harsher, it offers a lot of power in a very small package. Chambered in 12g." + + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + base_icon_state = "dshotgun" + + icon_state = "dshotgun" + item_state = "dshotgun" + + rack_sound = 'sound/weapons/gun/shotgun/dbshotgun_break.ogg' + bolt_drop_sound = 'sound/weapons/gun/shotgun/dbshotgun_close.ogg' + + w_class = WEIGHT_CLASS_BULKY + weapon_weight = WEAPON_MEDIUM + force = 10 + flags_1 = CONDUCT_1 + slot_flags = ITEM_SLOT_BACK + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/dual + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/dual, + ) + + obj_flags = UNIQUE_RENAME + unique_reskin = list("Default" = "dshotgun", + "Stainless Steel" = "dshotgun_white", + "Stained Green" = "dshotgun_green" + ) + semi_auto = TRUE + can_be_sawn_off = TRUE + bolt_type = BOLT_TYPE_NO_BOLT + pb_knockback = 3 // it's a super shotgun! + manufacturer = MANUFACTURER_HUNTERSPRIDE + bolt_wording = "barrel" + + burst_delay = 0.05 SECONDS + burst_size = 2 + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST) + default_firemode = FIREMODE_SEMIAUTO + +/obj/item/gun/ballistic/shotgun/doublebarrel/unique_action(mob/living/user) + if (bolt_locked == FALSE) + to_chat(user, "You snap open the [bolt_wording] of \the [src].") + playsound(src, rack_sound, rack_sound_volume, rack_sound_vary) + chambered = null + var/num_unloaded = 0 + for(var/obj/item/ammo_casing/casing_bullet in get_ammo_list(FALSE, TRUE)) + casing_bullet.forceMove(drop_location()) + var/angle_of_movement =(rand(-3000, 3000) / 100) + dir2angle(turn(user.dir, 180)) + casing_bullet.AddComponent(/datum/component/movable_physics, _horizontal_velocity = rand(450, 550) / 100, _vertical_velocity = rand(400, 450) / 100, _horizontal_friction = rand(20, 24) / 100, _z_gravity = PHYSICS_GRAV_STANDARD, _z_floor = 0, _angle_of_movement = angle_of_movement, _bounce_sound = casing_bullet.bounce_sfx_override) + + num_unloaded++ + SSblackbox.record_feedback("tally", "station_mess_created", 1, casing_bullet.name) + if (num_unloaded) + playsound(user, eject_sound, eject_sound_volume, eject_sound_vary) + update_appearance() + bolt_locked = TRUE + update_appearance() + return + drop_bolt(user) + +/obj/item/gun/ballistic/shotgun/doublebarrel/drop_bolt(mob/user = null) + playsound(src, bolt_drop_sound, bolt_drop_sound_volume, FALSE) + if (user) + to_chat(user, "You snap the [bolt_wording] of \the [src] closed.") + chamber_round() + bolt_locked = FALSE + update_appearance() + +/obj/item/gun/ballistic/shotgun/doublebarrel/can_shoot() + if (bolt_locked) + return FALSE + return ..() + +/obj/item/gun/ballistic/shotgun/doublebarrel/attackby(obj/item/A, mob/user, params) + if (!bolt_locked) + to_chat(user, "The [bolt_wording] is shut closed!") + return + return ..() + +/obj/item/gun/ballistic/shotgun/doublebarrel/update_icon_state() + . = ..() + if(current_skin) + icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""][bolt_locked ? "_open" : ""]" + else + icon_state = "[base_icon_state || initial(icon_state)][sawn_off ? "_sawn" : ""][bolt_locked ? "_open" : ""]" + + +/obj/item/gun/ballistic/shotgun/doublebarrel/AltClick(mob/user) + . = ..() + if(unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY) && (!bolt_locked)) + reskin_obj(user) + +/obj/item/gun/ballistic/shotgun/doublebarrel/sawoff(forced = FALSE) + . = ..() + if(.) + weapon_weight = WEAPON_MEDIUM + wield_slowdown = wield_slowdown-0.1 + wield_delay = 0.3 SECONDS //OP? maybe + + spread = 8 + spread_unwielded = 15 + recoil = 3 //or not + recoil_unwielded = 5 + item_state = "dshotgun_sawn" + mob_overlay_state = item_state + +EMPTY_GUN_HELPER(shotgun/doublebarrel) + +// sawn off beforehand +/obj/item/gun/ballistic/shotgun/doublebarrel/presawn + name = "sawn-off double-barreled shotgun" + desc = "A break action shotgun cut down to the size of a sidearm. While the recoil is even harsher, it offers a lot of power in a very small package. Chambered in 12g." + sawn_off = TRUE + weapon_weight = WEAPON_MEDIUM + w_class = WEIGHT_CLASS_NORMAL + slot_flags = ITEM_SLOT_BELT + + wield_slowdown = 0.15 + wield_delay = 0.3 SECONDS //OP? maybe + + spread = 8 + spread_unwielded = 15 + recoil = 3 //or not + recoil_unwielded = 5 + item_state = "dshotgun_sawn" + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/dual/lethal + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/dual/lethal, + ) + +EMPTY_GUN_HELPER(shotgun/doublebarrel/presawn) + +/obj/item/gun/ballistic/shotgun/doublebarrel/roumain + name = "HP antique double-barreled shotgun" + desc = "A special-edition shotgun hand-made by Hunter's Pride with a high-quality walnut stock inlaid with brass scrollwork. Shotguns like this are very rare outside of the Saint-Roumain Militia's ranks. Otherwise functionally identical to a common double-barreled shotgun. Chambered in 12g." + sawn_desc = "A special-edition Hunter's Pride shotgun, cut down to the size of a sidearm by some barbarian. The brass inlay on the stock and engravings on the barrel have been obliterated in the process, destroying any value beyond its use as a crude sidearm." + base_icon_state = "dshotgun_srm" + icon_state = "dshotgun_srm" + item_state = "dshotgun_srm" + unique_reskin = null + +/obj/item/gun/ballistic/shotgun/doublebarrel/roumain/sawoff(forced = FALSE) + . = ..() + if(.) + item_state = "dshotgun_srm_sawn" + +// BRIMSTONE // + +/obj/item/gun/ballistic/shotgun/brimstone + name = "HP Brimstone" + desc = "A simple and sturdy pump-action shotgun sporting a 5-round capacity, manufactured by Hunter's Pride. Found widely throughout the Frontier in the hands of hunters, pirates, police, and countless others. Chambered in 12g." + sawn_desc = "A stockless and shortened pump-action shotgun. The worsened recoil and accuracy make it a poor sidearm anywhere beyond punching distance." + fire_sound = 'sound/weapons/gun/shotgun/brimstone.ogg' + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + icon_state = "brimstone" + item_state = "brimstone" + + gun_firemodes = list(FIREMODE_FULLAUTO) + default_firemode = FIREMODE_FULLAUTO + + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/lethal + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/lethal, + ) + manufacturer = MANUFACTURER_HUNTERSPRIDE + fire_delay = 0.05 SECONDS //slamfire + rack_delay = 0.2 SECONDS + + can_be_sawn_off = TRUE + + +/obj/item/gun/ballistic/shotgun/brimstone/sawoff(forced = FALSE) + . = ..() + if(.) + weapon_weight = WEAPON_MEDIUM + wield_slowdown = wield_slowdown-0.1 + wield_delay = 0.3 SECONDS //OP? maybe + + spread = 18 + spread_unwielded = 25 + recoil = 5 //your punishment for sawing off an short shotgun + recoil_unwielded = 8 + item_state = "illestren_factory_sawn" // i couldnt care about making another sprite, looks close enough + mob_overlay_state = item_state + +EMPTY_GUN_HELPER(shotgun/brimstone) + +// HELLFIRE // + +/obj/item/gun/ballistic/shotgun/hellfire + name = "HP Hellfire" + desc = "A hefty pump-action riot shotgun with a seven-round tube, manufactured by Hunter's Pride. Especially popular among the Frontier's police forces. Chambered in 12g." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + icon_state = "hellfire" + item_state = "hellfire" + + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/riot + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/riot, + ) + sawn_desc = "Come with me if you want to live." + can_be_sawn_off = TRUE + rack_sound = 'sound/weapons/gun/shotgun/rack_alt.ogg' + fire_delay = 0.1 SECONDS + +/obj/item/gun/ballistic/shotgun/hellfire/sawoff(forced = FALSE) + . = ..() + if(.) + var/obj/item/ammo_box/magazine/internal/tube = magazine + tube.max_ammo = 5 //this makes the gun so much worse + + weapon_weight = WEAPON_MEDIUM + wield_slowdown = wield_slowdown-0.1 + wield_delay = 0.3 SECONDS //OP? maybe + + spread = 8 + spread_unwielded = 15 + recoil = 3 //or not + recoil_unwielded = 5 + item_state = "dshotgun_sawn" // ditto + mob_overlay_state = item_state + +EMPTY_GUN_HELPER(shotgun/hellfire) + +/obj/item/gun/ballistic/shotgun/flamingarrow/conflagration + name = "HP Conflagration" + base_icon_state = "conflagration" + icon_state = "conflagration" + item_state = "conflagration" + fire_sound = 'sound/weapons/gun/shotgun/shot.ogg' + desc = "A lightweight lever-action shotgun with a 5 round ammunition capacity. The lever action allows it to be cycled quickly and acurrately. In theory, you could ever operate it one-handed. Chambered in 12g." + sawn_desc = "A lever action shotgun that's been sawed down for portability. The recoil makes it mostly useless outside of point-blank range, but it hits hard for its size and, more importantly, can be flipped around stylishly." + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/winchester/conflagration + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/winchester/conflagration, + ) + +/obj/item/gun/ballistic/shotgun/flamingarrow/conflagration/sawoff(forced = FALSE) + . = ..() + if(.) + var/obj/item/ammo_box/magazine/internal/tube = magazine + tube.max_ammo = 5 + + item_state = "beacon_factory_sawn" + mob_overlay_state = item_state + weapon_weight = WEAPON_MEDIUM + + wield_slowdown = wield_slowdown-0.1 + wield_delay = 0.2 SECONDS + + spread = 4 + spread_unwielded = 12 + + recoil = 0 + recoil_unwielded = 3 + +EMPTY_GUN_HELPER(shotgun/flamingarrow/conflagration) + + +//Elephant Gun +/obj/item/gun/ballistic/shotgun/doublebarrel/twobore + name = "HP Huntsman" + desc = "A comically huge double-barreled rifle replete with brass inlays depicting flames and naturalistic scenes, clearly meant for the nastiest monsters the Frontier has to offer. If you want an intact trophy, don't aim for the head. Chambered in two-bore." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + inhand_x_dimension = 32 + inhand_y_dimension = 32 + base_icon_state = "huntsman" + icon_state = "huntsman" + item_state = "huntsman" + unique_reskin = null + attack_verb = list("bludgeoned", "smashed") + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/twobore + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/twobore, + ) + w_class = WEIGHT_CLASS_BULKY + force = 20 //heavy ass elephant gun, why wouldnt it be + recoil = 4 + pb_knockback = 12 + fire_sound = 'sound/weapons/gun/shotgun/quadfire.ogg' + rack_sound = 'sound/weapons/gun/shotgun/quadrack.ogg' + load_sound = 'sound/weapons/gun/shotgun/quadinsert.ogg' + + can_be_sawn_off = FALSE + fire_sound_volume = 80 + rack_sound_volume = 50 + manufacturer = MANUFACTURER_HUNTERSPRIDE + + gun_firemodes = list(FIREMODE_SEMIAUTO) //no dual burst for you + default_firemode = FIREMODE_SEMIAUTO + +/// Rifles + +/obj/item/gun/ballistic/rifle/illestren + name = "\improper HP Illestren" + desc = "A sturdy and conventional bolt-action rifle. One of Hunter's Pride's most successful firearms, the Illestren is popular among colonists, pirates, snipers, and countless others. Chambered in 8x50mmR." + icon_state = "illestren" + item_state = "illestren" + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + sawn_desc = "An Illestren rifle sawn down to a ridiculously small size. There was probably a reason it wasn't made this short to begin with, but it still packs a punch." + eject_sound = 'sound/weapons/gun/rifle/vickland_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/rifle/vickland_unload.ogg' + + internal_magazine = FALSE + default_ammo_type = /obj/item/ammo_box/magazine/illestren_a850r + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/illestren_a850r, + ) + empty_autoeject = TRUE + eject_sound_vary = FALSE + can_be_sawn_off = TRUE + manufacturer = MANUFACTURER_HUNTERSPRIDE + +/obj/item/gun/ballistic/rifle/illestren/empty //i had to name it empty instead of no_mag because else it wouldnt work with guncases. sorry! + default_ammo_type = FALSE + +/obj/item/gun/ballistic/rifle/illestren/sawoff(forced = FALSE) + . = ..() + if(.) + spread = 19 + spread_unwielded = 30 + item_state = "illestren_sawn" + mob_overlay_state = item_state + weapon_weight = WEAPON_MEDIUM //you can fire it onehanded, makes it worse than worse than useless onehanded, but you can + +/obj/item/gun/ballistic/rifle/illestren/blow_up(mob/user) + . = FALSE + if(chambered && chambered.BB) + process_fire(user, user, FALSE) + . = TRUE + +/obj/item/gun/ballistic/rifle/illestren/factory + desc = "A sturdy and conventional bolt-action rifle. One of Hunter's Pride's most successful firearms, this example has been kept in excellent shape and may as well be fresh out of the workshop. Chambered in 8x50mmR." + icon_state = "illestren_factory" + item_state = "illestren_factory" + +/obj/item/gun/ballistic/rifle/illestren/sawoff(forced = FALSE) + . = ..() + if(.) + item_state = "illestren_factory_sawn" + mob_overlay_state = item_state + +/obj/item/gun/ballistic/rifle/illestren/sawn + desc = "An Illestren rifle sawn down to a ridiculously small size. There was probably a reason it wasn't made this short to begin with, but it still packs a punch." + sawn_off = TRUE + +//Lever-Action Rifles + +/obj/item/gun/ballistic/shotgun/flamingarrow + name = "HP Flaming Arrow" + desc = "A sturdy and lightweight lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. A popular choice among Frontier homesteaders for hunting small game and rudimentary self-defense. Chambered in .38." + sawn_desc = "A lever-action rifle that has been sawed down and modified for extra portability. While surprisingly effective as a sidearm, the more important benefit is how much cooler it looks." + base_icon_state = "flamingarrow" + icon_state = "flamingarrow" + item_state = "flamingarrow" + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + inhand_x_dimension = 32 + inhand_y_dimension = 32 + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/winchester + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/winchester, + ) + fire_sound = 'sound/weapons/gun/rifle/flamingarrow.ogg' + rack_sound = 'sound/weapons/gun/rifle/skm_cocked.ogg' + bolt_wording = "lever" + cartridge_wording = "bullet" + can_be_sawn_off = TRUE + + wield_slowdown = RIFLE_SLOWDOWN + wield_delay = 0.65 SECONDS + + spread = -5 + spread_unwielded = 7 + + recoil = 0 + recoil_unwielded = 2 + +EMPTY_GUN_HELPER(shotgun/flamingarrow) + +/obj/item/gun/ballistic/shotgun/flamingarrow/update_icon_state() + . = ..() + if(current_skin) + icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""]" + else + icon_state = "[base_icon_state || initial(icon_state)][sawn_off ? "_sawn" : ""]" + + +/obj/item/gun/ballistic/shotgun/flamingarrow/rack(mob/user = null) + . = ..() + if(!wielded) + SpinAnimation(7,1) + +/obj/item/gun/ballistic/shotgun/flamingarrow/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) + var/fan = FALSE + if(HAS_TRAIT(user, TRAIT_GUNSLINGER) && !semi_auto && wielded_fully && loc == user && !safety) + fan = TRUE + fire_delay = 0.35 SECONDS + . = ..() + fire_delay = src::fire_delay + if(fan) + rack() + to_chat(user, "You quickly rack the [bolt_wording] of \the [src]!") + balloon_alert_to_viewers("quickly racks!") + fire_delay = 0 SECONDS + +/obj/item/gun/ballistic/shotgun/flamingarrow/sawoff(forced = FALSE) + . = ..() + if(.) + var/obj/item/ammo_box/magazine/internal/tube = magazine + tube.max_ammo = 7 + + item_state = "flamingarrow_sawn" + mob_overlay_state = item_state + weapon_weight = WEAPON_MEDIUM + + wield_slowdown = wield_slowdown-0.1 + wield_delay = 0.2 SECONDS //THE COWBOY RIFLE + + spread = 4 + spread_unwielded = 12 + + recoil = 0 + recoil_unwielded = 3 + +/obj/item/gun/ballistic/shotgun/flamingarrow/factory + desc = "A sturdy and lightweight lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. This example has been kept in excellent shape and may as well be fresh out of the workshop. Chambered in .38." + icon_state = "flamingarrow_factory" + base_icon_state = "flamingarrow_factory" + item_state = "flamingarrow_factory" + +/obj/item/gun/ballistic/shotgun/flamingarrow/factory/sawoff(forced = FALSE) + . = ..() + if(.) + item_state = "flamingarrow_factory_sawn" + mob_overlay_state = item_state + +/obj/item/gun/ballistic/shotgun/flamingarrow/bolt + name = "HP Flaming Bolt" + desc = "A sturdy, excellently-made lever-action rifle. This one appears to be a genuine antique, kept in incredibly good condition despite its advanced age. Chambered in .38." + base_icon_state = "flamingbolt" + icon_state = "flamingbolt" + item_state = "flamingbolt" + +/obj/item/gun/ballistic/shotgun/flamingarrow/bolt/sawoff(forced = FALSE) + . = ..() + if(.) + item_state = "flamingbolt_sawn" + mob_overlay_state = item_state + +/obj/item/gun/ballistic/shotgun/flamingarrow/absolution + name = "HP Absolution" + base_icon_state = "absolution" + icon_state = "absolution" + item_state = "absolution" + fire_sound = 'sound/weapons/gun/revolver/shot.ogg' + desc = "A large lever-action rifle with hand-stamped Hunter's Pride marks on the receiver and an 8 round ammunition capacity. More powerful than the Flaming Arrow, the Absolution is a popular pick for hunting larger fauna like bears and goliaths, especially when a bolt action's slower rate of fire would be a liability. Chambered in .357." + sawn_desc = "A large lever-action rifle, sawn down for portability. It looks much cooler, but you should probably be using a revolver..." + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/winchester/absolution + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/winchester/absolution, + ) + +/obj/item/gun/ballistic/shotgun/flamingarrow/absolution/sawoff(forced = FALSE) + . = ..() + if(.) + var/obj/item/ammo_box/magazine/internal/tube = magazine + tube.max_ammo = 8 + + item_state = "illestren_sawn" + mob_overlay_state = item_state + weapon_weight = WEAPON_MEDIUM + + wield_slowdown = wield_slowdown-0.1 + wield_delay = 0.2 SECONDS + + spread = 4 + spread_unwielded = 12 + + recoil = 0 + recoil_unwielded = 3 + +//Break-Action Rifle +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon + name = "HP Beacon" + desc = "A single-shot break-action rifle made by Hunter's Pride and sold to civilian hunters. Boasts excellent accuracy and stopping power. Uses .45-70 ammo." + sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim." + base_icon_state = "beacon" + icon_state = "beacon" + item_state = "beacon" + unique_reskin = null + inhand_x_dimension = 32 + inhand_y_dimension = 32 + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/beacon + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/beacon, + ) + fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' + w_class = WEIGHT_CLASS_BULKY + weapon_weight = WEAPON_MEDIUM + force = 10 + obj_flags = UNIQUE_RENAME + semi_auto = TRUE + can_be_sawn_off = TRUE + pb_knockback = 3 + wield_slowdown = HEAVY_RIFLE_SLOWDOWN + spread_unwielded = 15 + spread = 0 + recoil = 0 + recoil_unwielded = 5 + + gun_firemodes = list(FIREMODE_SEMIAUTO) + default_firemode = FIREMODE_SEMIAUTO + +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/sawoff(forced = FALSE) + . = ..() + if(.) + item_state = "beacon_sawn" + mob_overlay_state = item_state + wield_slowdown = wield_slowdown-0.1 + wield_delay = 0.5 SECONDS + + spread_unwielded = 20 //mostly the hunting revolver stats + spread = 6 + recoil = 2 + recoil_unwielded = 4 + +EMPTY_GUN_HELPER(shotgun/doublebarrel/beacon) + +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/factory + desc = "A single-shot break-action rifle made by Hunter's Pride and sold to civilian hunters. This example has been kept in excellent shape and may as well be fresh out of the workshop. Uses .45-70 ammo." + sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim." + base_icon_state = "beacon_factory" + icon_state = "beacon_factory" + item_state = "beacon_factory" + +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/factory/sawoff(forced = FALSE) + . = ..() + if(.) + item_state = "beacon_factory_sawn" + mob_overlay_state = item_state + +//pre sawn off beacon +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/presawn + name = "sawn-off HP Beacon" + sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim." + sawn_off = TRUE + w_class = WEIGHT_CLASS_NORMAL + slot_flags = ITEM_SLOT_BELT + + weapon_weight = WEAPON_MEDIUM + + item_state = "beacon_sawn" + mob_overlay_state = "beacon_sawn" + wield_slowdown = 0.45 + wield_delay = 0.5 SECONDS + + spread_unwielded = 20 //mostly the hunting revolver stats + spread = 6 + recoil = 2 + recoil_unwielded = 4 + +/// snipers + +//well. its almost a sniper. +/obj/item/gun/ballistic/automatic/marksman/vickland //weapon designed by Apogee-dev + name = "\improper Vickland" + desc = "The pride of the Saint-Roumain Militia, the Vickland is a rare semi-automatic battle rifle produced by Hunter's Pride exclusively for SRM use. It is unusual in its class for its internal rotary magazine, which must be reloaded using stripper clips. Chambered in .308." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + fire_sound = 'sound/weapons/gun/rifle/vickland.ogg' + icon_state = "vickland" + item_state = "vickland" + weapon_weight = WEAPON_MEDIUM + w_class = WEIGHT_CLASS_BULKY + internal_magazine = TRUE + default_ammo_type = /obj/item/ammo_box/magazine/internal/vickland + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/vickland, + ) + fire_sound = 'sound/weapons/gun/rifle/vickland.ogg' + + manufacturer = MANUFACTURER_HUNTERSPRIDE + zoomable = FALSE //no scope on it + + rack_sound = 'sound/weapons/gun/rifle/ar_cock.ogg' + + fire_delay = 0.4 SECONDS + + spread_unwielded = 25 + recoil = 0 + recoil_unwielded = 4 + wield_slowdown = DMR_SLOWDOWN + +/obj/item/gun/ballistic/rifle/scout + name = "HP Scout" + desc = "A powerful bolt-action rifle usually given to mercenary hunters of the Saint-Roumain Militia, equally suited for taking down big game or two-legged game. Chambered in .300 Magnum." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + icon_state = "scout" + item_state = "scout" + + default_ammo_type = /obj/item/ammo_box/magazine/internal/boltaction/smile + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/boltaction/smile, + ) + fire_sound = 'sound/weapons/gun/rifle/scout.ogg' + + rack_sound = 'sound/weapons/gun/rifle/scout_bolt_out.ogg' + bolt_drop_sound = 'sound/weapons/gun/rifle/scout_bolt_in.ogg' + + can_be_sawn_off = FALSE + + zoomable = TRUE + zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. + zoom_out_amt = 5 + + recoil = 1 + recoil_unwielded = 8 + + manufacturer = MANUFACTURER_HUNTERSPRIDE + diff --git a/code/modules/projectiles/guns/manufacturer/nanotrasen_sharplite/ballistics.dm b/code/modules/projectiles/guns/manufacturer/nanotrasen_sharplite/ballistics.dm new file mode 100644 index 00000000000..d4331a23823 --- /dev/null +++ b/code/modules/projectiles/guns/manufacturer/nanotrasen_sharplite/ballistics.dm @@ -0,0 +1,75 @@ +/obj/item/gun/ballistic/automatic/pistol/commander + name = "VI Commander" + desc = "A service pistol produced as Vigilitas Interstellar's standard sidearm. Has a reputation for being easy to use, due to its light recoil and high magazine capacity. Chambered in 9mm." + icon_state = "commander" + item_state = "nt_generic" + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' + + w_class = WEIGHT_CLASS_NORMAL + default_ammo_type = /obj/item/ammo_box/magazine/co9mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/co9mm, + ) + manufacturer = MANUFACTURER_VIGILITAS + fire_sound = 'sound/weapons/gun/pistol/rattlesnake.ogg' + load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + + rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' + +NO_MAG_GUN_HELPER(automatic/pistol/commander) + +/obj/item/ammo_box/magazine/co9mm + name = "commander pistol magazine (9mm)" + desc = "A 12-round double-stack magazine for Commander pistols. These rounds do okay damage, but struggle against armor." + icon_state = "commander_mag-12" + base_icon_state = "commander_mag" + ammo_type = /obj/item/ammo_casing/c9mm + caliber = "9mm" + max_ammo = 12 + multiple_sprites = AMMO_BOX_PER_BULLET + +/obj/item/ammo_box/magazine/co9mm/hp + name = "pistol magazine (9mm HP)" + desc= "A 12-round double-stack magazine for standard-issue 9mm pistols. These hollow point rounds do significant damage against soft targets, but are nearly ineffective against armored ones." + ammo_type = /obj/item/ammo_casing/c9mm/hp + +/obj/item/ammo_box/magazine/co9mm/ap + name = "pistol magazine (9mm AP)" + desc= "A 12-round double-stack magazine for standard-issue 9mm pistols. These armor-piercing rounds are okay at piercing protective equipment, but lose some stopping power." + ammo_type = /obj/item/ammo_casing/c9mm/ap + +/obj/item/ammo_box/magazine/co9mm/rubber + name = "pistol magazine (9mm rubber)" + desc = "A 12-round double-stack magazine for standard-issue 9mm pistols. These rubber rounds trade lethality for a heavy impact which can incapacitate targets. Performs even worse against armor." + ammo_type = /obj/item/ammo_casing/c9mm/rubber + +/obj/item/ammo_box/magazine/co9mm/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[ammo_count() == 1 ? 1 : round(ammo_count(),2)]" + + +/obj/item/ammo_box/magazine/co9mm/empty + start_empty = TRUE + + +/obj/item/gun/ballistic/automatic/pistol/commander/inteq + name = "PS-03 Commissioner" + desc = "A modified version of the VI Commander, issued as standard to Inteq Risk Management Group personnel. Features the same excellent handling and high magazine capacity as the original. Chambered in 9mm." + + icon = 'icons/obj/guns/manufacturer/inteq/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/inteq/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/inteq/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/inteq/onmob.dmi' + icon_state = "commander_inteq" + item_state = "inteq_generic" + manufacturer = MANUFACTURER_INTEQ + +NO_MAG_GUN_HELPER(automatic/pistol/commander/inteq) diff --git a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm new file mode 100644 index 00000000000..5ec1d81929b --- /dev/null +++ b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm @@ -0,0 +1,1081 @@ +#define SCARBOROUGH_ATTACHMENTS list(/obj/item/attachment/silencer, /obj/item/attachment/laser_sight, /obj/item/attachment/rail_light, /obj/item/attachment/bayonet, /obj/item/attachment/energy_bayonet) +#define SCARBOROUGH_ATTACH_SLOTS list(ATTACHMENT_SLOT_MUZZLE = 1, ATTACHMENT_SLOT_SCOPE = 1, ATTACHMENT_SLOT_RAIL = 1) + +//########### PISTOLS ###########// +/obj/item/gun/ballistic/automatic/pistol/ringneck + name = "PC-76 \"Ringneck\"" + desc = "A compact handgun used by most Syndicate-affiliated groups. Small enough to conceal in most pockets, making it popular for covert elements and simply as a compact defensive weapon. Chambered in 10mm." + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + icon_state = "ringneck" + item_state = "sa_generic" + + w_class = WEIGHT_CLASS_SMALL + default_ammo_type = /obj/item/ammo_box/magazine/m10mm_ringneck + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m10mm_ringneck, + ) + + fire_sound = 'sound/weapons/gun/pistol/shot.ogg' + dry_fire_sound = 'sound/weapons/gun/pistol/dry_fire.ogg' + suppressed_sound = 'sound/weapons/gun/pistol/shot_suppressed.ogg' + + load_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' + + rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' + + manufacturer = MANUFACTURER_SCARBOROUGH + show_magazine_on_sprite = TRUE + + valid_attachments = SCARBOROUGH_ATTACHMENTS + slot_available = SCARBOROUGH_ATTACH_SLOTS + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 27, + "y" = 23, + ), + ATTACHMENT_SLOT_SCOPE = list( + "x" = 16, + "y" = 25, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 21, + "y" = 19, + ) + ) + + + spread = 6 //becuase its compact, spread is slightly worse + spread_unwielded = 9 + recoil_unwielded = 2 + +NO_MAG_GUN_HELPER(automatic/pistol/ringneck) + +/obj/item/gun/ballistic/automatic/pistol/ringneck/indie + name = "Ringneck-76" + desc = "A service handgun popular among law enforcement, mercenaries, and independent spacers with discerning tastes. Chambered in 10mm." + + icon_state = "ringneck76" + item_state = "sa_indie" + + w_class = WEIGHT_CLASS_NORMAL + + spread = 5 //this one is normal sized, thus in theory its better, in theory at least + spread_unwielded = 7 + recoil_unwielded = 3 + +NO_MAG_GUN_HELPER(automatic/pistol/ringneck/indie) + + +/obj/item/ammo_box/magazine/m10mm_ringneck + name = "Ringneck pistol magazine (10mm)" + desc = "An 8-round magazine for the Ringneck pistol. These rounds do moderate damage, but struggle against armor." + icon_state = "ringneck_mag-1" + base_icon_state = "ringneck_mag" + ammo_type = /obj/item/ammo_casing/c10mm + caliber = "10mm" + max_ammo = 8 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/m10mm_ringneck/empty + start_empty = TRUE + +/obj/item/gun/ballistic/automatic/pistol/asp + name = "BC-81 \"Asp\"" + desc = "An armor-piercing combat handgun once used by Syndicate strike teams, now primarily used by descendants of the Gorlex Marauders. Chambered in 5.7mm." + + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + icon_state = "asp" + item_state = "sa_generic" + + default_ammo_type = /obj/item/ammo_box/magazine/m57_39_asp + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m57_39_asp, + ) + + fire_sound = 'sound/weapons/gun/pistol/asp.ogg' + + load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + + rack_sound = 'sound/weapons/gun/pistol/rack.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' + + manufacturer = MANUFACTURER_SCARBOROUGH + show_magazine_on_sprite = TRUE + + valid_attachments = SCARBOROUGH_ATTACHMENTS + slot_available = SCARBOROUGH_ATTACH_SLOTS + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 32, + "y" = 23, + ), + ATTACHMENT_SLOT_SCOPE = list( + "x" = 15, + "y" = 26, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 23, + "y" = 19, + ) + ) + +NO_MAG_GUN_HELPER(automatic/pistol/asp) + +/obj/item/ammo_box/magazine/m57_39_asp + name = "Asp magazine (5.7x39mm)" + desc = "A 12-round, double-stack magazine for the Asp pistol. These rounds do okay damage with average performance against armor." + icon_state = "asp_mag-12" + base_icon_state = "asp_mag" + ammo_type = /obj/item/ammo_casing/c57x39mm + caliber = "5.7x39mm" + max_ammo = 12 + +/obj/item/ammo_box/magazine/m57_39_asp/update_icon_state() + . = ..() + if(ammo_count() == 12) + icon_state = "[base_icon_state]-12" + else if(ammo_count() >= 10) + icon_state = "[base_icon_state]-10" + else if(ammo_count() >= 5) + icon_state = "[base_icon_state]-5" + else if(ammo_count() >= 1) + icon_state = "[base_icon_state]-1" + else + icon_state = "[base_icon_state]-0" + +/obj/item/ammo_box/magazine/m57_39_asp/empty + start_empty = TRUE + +/obj/item/gun/ballistic/revolver/viper + name = "R-23 \"Viper\"" + desc = "An imposing revolver used by officers and certain agents of Syndicate member factions during the ICW, still favored by captains and high-ranking officers of the former Syndicate. Chambered in .357 Magnum." + + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + + icon_state = "viper" + item_state = "sa_generic" + + fire_sound = 'sound/weapons/gun/revolver/viper.ogg' + rack_sound = 'sound/weapons/gun/revolver/viper_prime.ogg' + load_sound = 'sound/weapons/gun/revolver/load_bullet.ogg' + eject_sound = 'sound/weapons/gun/revolver/empty.ogg' + + dry_fire_sound = 'sound/weapons/gun/revolver/dry_fire.ogg' + + fire_delay = 0.5 SECONDS + + semi_auto = TRUE //double action + safety_wording = "safety" + +/obj/item/gun/ballistic/revolver/viper/no_mag + spawn_no_ammo = TRUE + +/obj/item/gun/ballistic/revolver/viper/indie + name = "Viper-23" + desc = "A powerful bull-barrel revolver. Very popular among mercenaries and the occasional well-to-do spacer or pirate for its flashy appearance and powerful cartridge. Chambered in .357 Magnum." + + icon_state = "viper23" + item_state = "viper23" + + semi_auto = FALSE //not double action + safety_wording = "hammer" + +/obj/item/gun/ballistic/revolver/viper/ComponentInitialize() + . = ..() + AddComponent(/datum/component/ammo_hud/revolver) + +/obj/item/gun/ballistic/revolver/viper/indie/no_mag + spawn_no_ammo = TRUE + +/obj/item/gun/ballistic/automatic/pistol/rattlesnake + name = "MP-84 \"Rattlesnake\"" + desc = "A machine pistol, once used by Syndicate infiltrators and special forces during the ICW. Still used by specialists in former Syndicate factions. Chambered in 9mm." + + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + + icon_state = "rattlesnake" + item_state = "rattlesnake" + + default_ammo_type = /obj/item/ammo_box/magazine/m9mm_rattlesnake + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m9mm_rattlesnake, + ) + + fire_sound = 'sound/weapons/gun/pistol/rattlesnake.ogg' + dry_fire_sound = 'sound/weapons/gun/pistol/dry_fire.ogg' + suppressed_sound = 'sound/weapons/gun/pistol/shot_suppressed.ogg' + + load_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' + + rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' + + show_magazine_on_sprite = TRUE + + valid_attachments = SCARBOROUGH_ATTACHMENTS + slot_available = SCARBOROUGH_ATTACH_SLOTS + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 40, + "y" = 26, + ), + ATTACHMENT_SLOT_SCOPE = list( + "x" = 14, + "y" = 29, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 22, + "y" = 21, + ) + ) + + burst_size = 3 + burst_delay = 0.1 SECONDS + fire_delay = 0.4 SECONDS + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST) + default_firemode = FIREMODE_SEMIAUTO + +NO_MAG_GUN_HELPER(automatic/pistol/rattlesnake) + +/obj/item/gun/ballistic/automatic/pistol/rattlesnake/inteq + name = "MP-84m Kingsnake" + desc = "A machine pistol obtained from Syndicate stockpiles and lightly modified to Inteq standards. Generally issued only to specialists. Chambered in 9mm." + + icon_state = "rattlesnake_inteq" + item_state = "rattlesnake_inteq" + +/obj/item/ammo_box/magazine/m9mm_rattlesnake + name = "Rattlesnake magazine (9mm)" + desc = "A long, 18-round double-stack magazine designed for the Rattlesnake machine pistol. These rounds do okay damage, but struggle against armor." + icon_state = "rattlesnake_mag_18" + base_icon_state = "rattlesnake_mag" + ammo_type = /obj/item/ammo_casing/c9mm + caliber = "9mm" + max_ammo = 18 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/m9mm_rattlesnake/update_icon_state() + . = ..() + icon_state = "[base_icon_state]_[ammo_count() == 1 ? 1 : round(ammo_count(),3)]" + +/obj/item/ammo_box/magazine/m9mm_rattlesnake/empty + start_empty = TRUE + +/obj/item/gun/ballistic/automatic/pistol/himehabu + name = "PC-81 \"Himehabu\"" + desc = "An astonishingly compact machine pistol firing ultra-light projectiles, designed to be as small and concealable as possible while remaining a credible threat at very close range. Armor penetration is practically non-existent. Chambered in .22." + + icon_state = "himehabu" + item_state = "sa_generic" + + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + + + w_class = WEIGHT_CLASS_SMALL + default_ammo_type = /obj/item/ammo_box/magazine/m22lr_himehabu + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m22lr_himehabu, + ) + fire_sound = 'sound/weapons/gun/pistol/himehabu.ogg' + + load_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' + + rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' + + show_magazine_on_sprite = TRUE + + valid_attachments = list( + /obj/item/attachment/silencer, + ) + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_SCOPE = 1, + ) + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 28, + "y" = 22, + ), + ATTACHMENT_SLOT_SCOPE = list( + "x" = 12, + "y" = 25, + ) + ) + + recoil = -2 + recoil_unwielded = -2 + spread_unwielded = 0 + wield_slowdown = 0 + +NO_MAG_GUN_HELPER(automatic/pistol/himehabu) + +/obj/item/ammo_box/magazine/m22lr_himehabu + name = "pistol magazine (.22 LR)" + desc = "A single-stack handgun magazine designed to chamber .22 LR. It's rather tiny, all things considered." + icon_state = "himehabu_mag-10" + base_icon_state = "himehabu_mag" + ammo_type = /obj/item/ammo_casing/c22lr + caliber = "22lr" + max_ammo = 10 + w_class = WEIGHT_CLASS_SMALL + multiple_sprites = AMMO_BOX_PER_BULLET + +/obj/item/ammo_box/magazine/m22lr_himehabu/empty + start_empty = TRUE + +//########### SMGS ###########// + + +/obj/item/gun/ballistic/automatic/smg/cobra + name = "C-20r \"Cobra\"" + desc = "A bullpup submachine gun, heavily used by Syndicate strike teams during the ICW. Still sees widespread use by the descendants of the Gorlex Marauders. Chambered in .45." + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + icon_state = "cobra" + item_state = "cobra" + + default_ammo_type = /obj/item/ammo_box/magazine/m45_cobra + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m45_cobra, + ) + + fire_sound = 'sound/weapons/gun/smg/cobra.ogg' + + load_sound = 'sound/weapons/gun/smg/cm5_reload.ogg' + load_empty_sound = 'sound/weapons/gun/smg/cm5_reload.ogg' + eject_sound = 'sound/weapons/gun/smg/cm5_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/smg/cm5_unload.ogg' + + show_magazine_on_sprite = TRUE + show_magazine_on_sprite_ammo = TRUE + show_ammo_capacity_on_magazine_sprite = TRUE + manufacturer = MANUFACTURER_SCARBOROUGH + + valid_attachments = SCARBOROUGH_ATTACHMENTS + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1 + ) + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 27, + "y" = 23, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 28, + "y" = 16, + ) + ) + +NO_MAG_GUN_HELPER(automatic/smg/cobra) + +/obj/item/gun/ballistic/automatic/smg/cobra/indie + name = "Cobra-20" + desc = "An older model of submachine gun manufactured by Scarborough Arms and marketed to mercenaries, law enforcement, and independent militia. Only became popular after the end of the ICW. Chambered in .45." + icon_state = "cobra20" + item_state = "cobra20" + +NO_MAG_GUN_HELPER(automatic/smg/cobra/indie) + + +/obj/item/ammo_box/magazine/m45_cobra + +/obj/item/ammo_box/magazine/m45_cobra + name = "Cobra magazine (.45)" + desc = "A 24-round magazine for the Cobra submachine gun. These rounds do moderate damage, but struggle against armor." + icon_state = "cobra_mag-24" + base_icon_state = "cobra_mag" + ammo_type = /obj/item/ammo_casing/c45 + caliber = ".45" + max_ammo = 24 + +/obj/item/ammo_box/magazine/m45_cobra/update_icon_state() + . = ..() + icon_state = "[base_icon_state]-[round(ammo_count(),2)]" + +/obj/item/ammo_box/magazine/m45_cobra/empty + start_empty = TRUE + +/obj/item/gun/ballistic/automatic/smg/sidewinder + name = "CDW-81 \"Sidewinder\"" + desc = "An armor-piercing, compact personal defense weapon, introduced late into the Inter-Corporate War as an improvement over the C-20r when fighting armored personnel. Issued only in small numbers, and used today by specialists of former Syndicate factions. Chambered in 5.7mm." + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + icon_state = "sidewinder" + item_state = "sidewinder" + + default_ammo_type = /obj/item/ammo_box/magazine/m57_39_sidewinder + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m57_39_sidewinder, + ) + + fire_sound = 'sound/weapons/gun/smg/sidewinder.ogg' + + load_sound = 'sound/weapons/gun/smg/sidewinder_reload.ogg' + load_empty_sound = 'sound/weapons/gun/smg/sidewinder_reload.ogg' + eject_sound = 'sound/weapons/gun/smg/sidewinder_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/smg/sidewinder_unload.ogg' + + rack_sound = 'sound/weapons/gun/smg/sidewinder_cocked.ogg' + + weapon_weight = WEAPON_MEDIUM + w_class = WEIGHT_CLASS_NORMAL + + show_magazine_on_sprite = TRUE + show_magazine_on_sprite_ammo = TRUE + show_ammo_capacity_on_magazine_sprite = TRUE + manufacturer = MANUFACTURER_SCARBOROUGH + + valid_attachments = list( + /obj/item/attachment/silencer, + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/foldable_stock/sidewinder + ) + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1, + ATTACHMENT_SLOT_STOCK = 1 + ) + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 44, + "y" = 18, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 35, + "y" = 17, + ), + ATTACHMENT_SLOT_STOCK = list( + "x" = 17, + "y" = 18, + ) + ) + + spread = 7 + spread_unwielded = 10 + + recoil = 0 + recoil_unwielded = 4 + + default_attachments = list(/obj/item/attachment/foldable_stock/sidewinder) + + +NO_MAG_GUN_HELPER(automatic/smg/sidewinder) + +/obj/item/ammo_box/magazine/m57_39_sidewinder + name = "Sidewinder magazine (5.7x39mm)" + desc = "A 30-round magazine for the Sidewinder submachine gun. These rounds do okay damage with average performance against armor." + icon_state = "sidewinder_mag-1" + base_icon_state = "sidewinder_mag" + ammo_type = /obj/item/ammo_casing/c57x39mm + caliber = "5.7x39mm" + max_ammo = 30 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/m57_39_sidewinder/empty + start_empty = TRUE + +//########### MARKSMAN ###########// +/obj/item/gun/ballistic/automatic/marksman/boomslang + name = "MSR-90 \"Boomslang\"" + desc = "A bullpup semi-automatic sniper rifle with a high-magnification scope. Compact and capable of rapid follow-up fire without sacrificing power. Used by Syndicate support units and infiltrators during the ICW. Chambered in 6.5mm CLIP." + + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + + icon_state = "boomslang" + item_state = "boomslang" + + fire_sound = 'sound/weapons/gun/sniper/cmf90.ogg' + + default_ammo_type = /obj/item/ammo_box/magazine/boomslang + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/boomslang, + ) + w_class = WEIGHT_CLASS_BULKY + + fire_delay = 1 SECONDS + + slot_flags = ITEM_SLOT_BACK + + show_magazine_on_sprite = TRUE + unique_mag_sprites_for_variants = TRUE + show_ammo_capacity_on_magazine_sprite = TRUE + manufacturer = MANUFACTURER_SCARBOROUGH + spread = -5 + spread_unwielded = 35 + recoil = 2 + recoil_unwielded = 10 + wield_slowdown = SNIPER_SLOWDOWN + wield_delay = 1.3 SECONDS + + zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. + zoom_out_amt = 5 + + valid_attachments = SCARBOROUGH_ATTACHMENTS + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1 + ) + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 48, + "y" = 19, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 28, + "y" = 10, + ) + ) + +NO_MAG_GUN_HELPER(automatic/marksman/boomslang) + +/obj/item/gun/ballistic/automatic/marksman/boomslang/indie + name = "Boomslang-90" + desc = "A modern semi-automatic hunting rifle. Its relative portability and fast follow-up potential compared to other weapons in its class have made it very popular with well-to-do hunters and the occasional law enforcement agency or mercenary. Chambered in 6.5mm CLIP." + + icon_state = "boomslang90" + item_state = "boomslang90" + + zoom_amt = 3 //Long range, enough to see in front of you, but no tiles behind you. + zoom_out_amt = 0 + +NO_MAG_GUN_HELPER(automatic/marksman/boomslang/indie) + +/obj/item/ammo_box/magazine/boomslang + name = "\improper Boomslang Magazine (6.5x57mm CLIP)" + desc = "A large 10-round box magazine for Boomslang sniper rifles. These rounds deal amazing damage and can pierce protective equipment, excluding armored vehicles." + base_icon_state = "boomslang" + icon_state = "boomslang-10" + ammo_type = /obj/item/ammo_casing/a65clip + caliber = "6.5CLIP" + max_ammo = 10 + multiple_sprites = AMMO_BOX_PER_BULLET + +/obj/item/ammo_box/magazine/boomslang/short + name = "\improper Boomslang Magazine (6.5x57mm CLIP)" + desc = "A 5-round box magazine for Boomslang sniper rifles. These rounds deal amazing damage and can pierce protective equipment, excluding armored vehicles." + base_icon_state = "boomslang_short" + icon_state = "boomslang_short-5" + ammo_type = /obj/item/ammo_casing/a65clip + caliber = "6.5CLIP" + max_ammo = 5 + multiple_sprites = AMMO_BOX_PER_BULLET + +/obj/item/ammo_box/magazine/boomslang/short/empty + start_empty = TRUE + +/obj/item/gun/ballistic/automatic/marksman/taipan + name = "AMR-83 \"Taipan\"" + desc = "A monstrous semi-automatic anti-materiel rifle, surprisingly short for its class. Designed to destroy mechs, light vehicles, and equipment, but more than capable of obliterating regular personnel. Chambered in .50 BMG." + + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + + icon_state = "taipan" + item_state = "taipan" + fire_sound = 'sound/weapons/gun/sniper/shot.ogg' + fire_sound_volume = 90 + vary_fire_sound = FALSE + load_sound = 'sound/weapons/gun/sniper/mag_insert.ogg' + rack_sound = 'sound/weapons/gun/sniper/rack.ogg' + suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' + weapon_weight = WEAPON_HEAVY + default_ammo_type = /obj/item/ammo_box/magazine/sniper_rounds + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/sniper_rounds, + ) + w_class = WEIGHT_CLASS_BULKY + zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. + zoom_out_amt = 5 + slot_flags = ITEM_SLOT_BACK + actions_types = list() + show_magazine_on_sprite = TRUE + manufacturer = MANUFACTURER_SCARBOROUGH + + show_ammo_capacity_on_magazine_sprite = TRUE + + spread = -5 + spread_unwielded = 40 + recoil = 5 + recoil_unwielded = 50 + + wield_delay = 1.3 SECONDS + + valid_attachments = list() + slot_available = list() + +NO_MAG_GUN_HELPER(automatic/marksman/taipan) + + +//########### RIFLES ###########// +/obj/item/gun/ballistic/automatic/assault/hydra + name = "SMR-80 \"Hydra\"" + desc = "Scarborough Arms' premier modular assault rifle platform. This is the basic configuration, optimized for light weight and handiness. A very well-regarded, if expensive and rare, assault rifle. Chambered in 5.56mm CLIP." + + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + icon_state = "hydra" + item_state = "hydra" + + default_ammo_type = /obj/item/ammo_box/magazine/m556_42_hydra + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m556_42_hydra, + ) + gun_firenames = list(FIREMODE_SEMIAUTO = "single", FIREMODE_BURST = "burst fire", FIREMODE_FULLAUTO = "full auto", FIREMODE_OTHER = "underbarrel grenade launcher") + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) + //gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST, FIREMODE_OTHER) + default_firemode = FIREMODE_SEMIAUTO + show_magazine_on_sprite = FALSE //we do this to avoid making the same of every sprite, see below + + load_sound = 'sound/weapons/gun/rifle/m16_reload.ogg' + load_empty_sound = 'sound/weapons/gun/rifle/m16_reload.ogg' + eject_sound = 'sound/weapons/gun/rifle/m16_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/rifle/m16_unload.ogg' + + fire_sound = 'sound/weapons/gun/rifle/hydra.ogg' + manufacturer = MANUFACTURER_SCARBOROUGH + + weapon_weight = WEAPON_MEDIUM + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + + burst_size = 2 + burst_delay = 0.1 SECONDS + fire_delay = 0.18 SECONDS + spread = 1 + spread_unwielded = 8 + wield_slowdown = LIGHT_RIFLE_SLOWDOWN + + valid_attachments = SCARBOROUGH_ATTACHMENTS + slot_available = SCARBOROUGH_ATTACH_SLOTS + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 42, + "y" = 17, + ), + ATTACHMENT_SLOT_SCOPE = list( + "x" = 21, + "y" = 24, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 30, + "y" = 15, + ) + ) + +NO_MAG_GUN_HELPER(automatic/assault/hydra) + +//we hard code "hydra", why? because if not, i would need to duplicate the extended/short magazine sprites like 3 fucking times for every variant with a different icon state. this eases the spriting burden +/obj/item/gun/ballistic/automatic/assault/hydra/update_overlays() + . = ..() + if (magazine) + . += "hydra_mag_[magazine.base_icon_state]" + var/capacity_number = 0 + switch(get_ammo() / magazine.max_ammo) + if(0.2 to 0.39) + capacity_number = 20 + if(0.4 to 0.59) + capacity_number = 40 + if(0.6 to 0.79) + capacity_number = 60 + if(0.8 to 0.99) + capacity_number = 80 + if(1.0 to 2.0) //to catch the chambered round + capacity_number = 100 + if (capacity_number) + . += "hydra_mag_[magazine.base_icon_state]_[capacity_number]" + + +/obj/item/gun/ballistic/automatic/assault/hydra/lmg + name = "SAW-80 \"Hydra\"" + desc = "Scarborough Arms' premier modular assault rifle platform. This example is configured as a support weapon, with heavier components for sustained firing and a large muzzle brake. Chambered in 5.56mm CLIP." + + icon_state = "hydra_lmg" + item_state = "hydra_lmg" + + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) + default_firemode = FIREMODE_FULLAUTO + + burst_delay = 0.08 SECONDS + fire_delay = 0.08 SECONDS + spread = 6 + spread_unwielded = 20 + wield_slowdown = SAW_SLOWDOWN //better than the lmgs since it doesnt have a bipod, still not ideal + wield_delay = 0.9 SECONDS //ditto + + valid_attachments = SCARBOROUGH_ATTACHMENTS + slot_available = SCARBOROUGH_ATTACH_SLOTS + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 48, + "y" = 19, + ), + ATTACHMENT_SLOT_SCOPE = list( + "x" = 21, + "y" = 24, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 30, + "y" = 15, + ) + ) + +/obj/item/gun/ballistic/automatic/assault/hydra/lmg/extended + default_ammo_type = /obj/item/ammo_box/magazine/m556_42_hydra/extended + + +/obj/item/gun/ballistic/automatic/assault/hydra/lmg/casket_mag + default_ammo_type = /obj/item/ammo_box/magazine/m556_42_hydra/casket + +/obj/item/gun/ballistic/automatic/assault/hydra/dmr + name = "SBR-80 \"Hydra\"" + desc = "Scarborough Arms' premier modular assault rifle platform. This example is configured as a marksman rifle, with an extended barrel and medium-zoom scope. Its lightweight cartridge is compensated for with a 2-round burst action. Chambered in 5.56mm CLIP." + + icon_state = "hydra_dmr" + item_state = "hydra_dmr" + + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST) + default_firemode = FIREMODE_SEMIAUTO + + spread = 0 + spread_unwielded = 12 + wield_slowdown = DMR_SLOWDOWN //dmrrrr + wield_delay = 0.85 SECONDS //above + zoomable = TRUE + default_ammo_type = /obj/item/ammo_box/magazine/m556_42_hydra/small + +NO_MAG_GUN_HELPER(automatic/assault/hydra/dmr) + +/obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl + name = "SMR-80 \"Hydra\"" + desc = "Scarborough Arms' premier modular assault rifle platform. This is the basic configuration, optimized for light weight and handiness. A very well-regarded, if expensive and rare, assault rifle. This one has an underslung grenade launcher attached. Chambered in 5.56x42mm CLIP." + + icon_state = "hydra_gl" + item_state = "hydra_gl" + + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO, FIREMODE_OTHER) + + var/obj/item/gun/ballistic/revolver/grenadelauncher/secondary + + slot_available = list( //no rail slot + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_SCOPE = 1, + ) + +/obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl/Initialize() + . = ..() + secondary = new /obj/item/gun/ballistic/revolver/grenadelauncher(src) + RegisterSignal(secondary, COMSIG_ATOM_UPDATE_ICON, PROC_REF(secondary_update_icon)) + update_appearance() + +/obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl/process_other(atom/target, mob/living/user, message = TRUE, flag, params = null, zone_override = "", bonus_spread = 0) + return secondary.pre_fire(target, user, message, params, zone_override, bonus_spread) + +/obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl/can_shoot() + var/current_firemode = gun_firemodes[firemode_index] + if(current_firemode != FIREMODE_OTHER) + return ..() + return secondary.can_shoot() + +/obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl/afterattack(atom/target, mob/living/user, flag, params) + var/current_firemode = gun_firemodes[firemode_index] + if(current_firemode != FIREMODE_OTHER) + return ..() + return secondary.afterattack(target, user, flag, params) + +/obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl/attackby(obj/item/attack_obj, mob/user, params) + if(istype(attack_obj, secondary.magazine.ammo_type)) + secondary.unique_action() + return secondary.attackby(attack_obj, user, params) + return ..() + + +/obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl/can_shoot() + var/current_firemode = gun_firemodes[firemode_index] + if(current_firemode != FIREMODE_OTHER) + return ..() + return secondary.can_shoot() + +/obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl/on_wield(obj/item/source, mob/user) + wielded = TRUE + secondary.wielded = TRUE + INVOKE_ASYNC(src, PROC_REF(do_wield), user) + +/obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl/do_wield(mob/user) + . = ..() + secondary.wielded_fully = wielded_fully + +/// triggered on unwield of two handed item +/obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl/on_unwield(obj/item/source, mob/user) + . = ..() + secondary.wielded_fully = FALSE + secondary.wielded = FALSE + + +/obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl/proc/secondary_update_icon() + update_appearance() + SEND_SIGNAL(src, COMSIG_UPDATE_AMMO_HUD) + + +/obj/item/ammo_box/magazine/m556_42_hydra + name = "Hydra assault rifle magazine (5.56x42mm CLIP)" + desc = "A simple, 30-round magazine for the Hydra platform of 5.56x42mm CLIP assault rifles. These rounds do moderate damage with good armor penetration." + icon_state = "hydra_mag-30" + base_icon_state = "hydra_mag" + ammo_type = /obj/item/ammo_casing/a556_42 + caliber = "5.56x42mm" + max_ammo = 30 + +/obj/item/ammo_box/magazine/m556_42_hydra/update_icon_state() + . = ..() + if(multiple_sprites == AMMO_BOX_FULL_EMPTY) + return + icon_state = "[base_icon_state]-[ammo_count() == 1 ? 1 : round(ammo_count(),5)]" + +/obj/item/ammo_box/magazine/m556_42_hydra/empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/m556_42_hydra/small + name = "Short Hydra assault rifle magazine (5.56x42mm CLIP)" + desc = "A short, 20-round magazine for the Hydra platform of 5.56x42mm CLIP assault rifles; intended for the DMR variant. These rounds do moderate damage with good armor penetration." + icon_state = "hydra_small_mag-20" + base_icon_state = "hydra_small_mag" + max_ammo = 20 + +/obj/item/ammo_box/magazine/m556_42_hydra/small/empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/m556_42_hydra/extended + name = "extended Hydra assault rifle magazine (5.56x42mm CLIP)" + desc = "A bulkier, 60-round magazine for the Hydra platform of 5.56x42mm CLIP assault rifles. These rounds do moderate damage with good armor penetration." + icon_state = "hydra_extended_mag-1" + base_icon_state = "hydra_extended_mag" + max_ammo = 60 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/m556_42_hydra/extended/empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/m556_42_hydra/casket + name = "casket Hydra assault rifle magazine (5.56x42mm CLIP)" + desc = "A very long and bulky 100-round magazine for the Hydra platform of 5.56x42mm CLIP assault rifles. These rounds do moderate damage with good armor penetration." + icon_state = "hydra_casket_mag-1" + base_icon_state = "hydra_casket_mag" + max_ammo = 100 + multiple_sprites = AMMO_BOX_FULL_EMPTY + w_class = WEIGHT_CLASS_NORMAL + +//########### MISC ###########// +// Bulldog shotgun // + +/obj/item/gun/ballistic/shotgun/automatic/bulldog + name = "SG-60r \"Bulldog\"" + desc = "A bullpup combat shotgun usually seen with a characteristic drum magazine. Wildly popular among Syndicate strike teams during the ICW, although it proved less useful against military-grade equipment. Still popular among former Syndicate factions, especially the Ramzi Clique pirates. Chambered in 12g." + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + icon_state = "bulldog" + item_state = "bulldog" + + weapon_weight = WEAPON_MEDIUM + default_ammo_type = /obj/item/ammo_box/magazine/m12g_bulldog + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m12g_bulldog, + ) + fire_delay = 0.4 SECONDS // this NEEDS the old delay. + fire_sound = 'sound/weapons/gun/shotgun/bulldog.ogg' + show_magazine_on_sprite = TRUE +// empty_indicator = TRUE + empty_alarm = TRUE + unique_mag_sprites_for_variants = TRUE + show_ammo_capacity_on_magazine_sprite = TRUE + internal_magazine = FALSE + casing_ejector = TRUE + tac_reloads = TRUE + pickup_sound = 'sound/items/handling/rifle_pickup.ogg' + manufacturer = MANUFACTURER_SCARBOROUGH + + load_sound = 'sound/weapons/gun/rifle/ar_reload.ogg' + load_empty_sound = 'sound/weapons/gun/rifle/ar_reload.ogg' + eject_sound = 'sound/weapons/gun/rifle/ar_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/rifle/ar_unload.ogg' + + rack_sound = 'sound/weapons/gun/rifle/ar_cock.ogg' + + spread = 4 + spread_unwielded = 16 + recoil = 1 + recoil_unwielded = 4 + wield_slowdown = HEAVY_SHOTGUN_SLOWDOWN + wield_delay = 0.65 SECONDS + + valid_attachments = SCARBOROUGH_ATTACHMENTS + slot_available = SCARBOROUGH_ATTACH_SLOTS + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 44, + "y" = 19, + ), + ATTACHMENT_SLOT_SCOPE = list( + "x" = 25, + "y" = 24, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 30, + "y" = 18, + ) + ) + +/obj/item/gun/ballistic/shotgun/automatic/bulldog/drum + default_ammo_type = /obj/item/ammo_box/magazine/m12g_bulldog/drum + +NO_MAG_GUN_HELPER(shotgun/automatic/bulldog) + +/obj/item/ammo_box/magazine/m12g_bulldog + name = "shotgun box magazine (12g buckshot)" + desc = "A single-stack, 8-round box magazine for the Bulldog shotgun and it's derivatives." + icon_state = "bulldog_mag-1" + base_icon_state = "bulldog_mag" + ammo_type = /obj/item/ammo_casing/shotgun/buckshot + caliber = "12ga" + max_ammo = 8 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/m12g_bulldog/empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/m12g_bulldog/drum + name = "shotgun drum magazine (12g buckshot)" + desc = "A bulky 12-round drum designed for the Bulldog shotgun and it's derivatives." + icon_state = "bulldog_drum-1" + base_icon_state = "bulldog_drum" + ammo_type = /obj/item/ammo_casing/shotgun/buckshot + caliber = "12ga" + max_ammo = 12 + w_class = WEIGHT_CLASS_NORMAL + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/m12g_bulldog/drum/empty + start_empty = TRUE + +/obj/item/ammo_box/magazine/m12g_bulldog/drum/stun + name = "shotgun drum magazine (12g taser slugs)" + ammo_type = /obj/item/ammo_casing/shotgun/stunslug + +/obj/item/ammo_box/magazine/m12g_bulldog/drum/slug + name = "shotgun drum magazine (12g slugs)" + ammo_type = /obj/item/ammo_casing/shotgun + +/obj/item/ammo_box/magazine/m12g_bulldog/drum/dragon + name = "shotgun drum magazine (12g dragon's breath)" + ammo_type = /obj/item/ammo_casing/shotgun/dragonsbreath + +/obj/item/ammo_box/magazine/m12g_bulldog/drum/bioterror + name = "shotgun drum magazine (12g bioterror)" + ammo_type = /obj/item/ammo_casing/shotgun/dart/bioterror + +/obj/item/ammo_box/magazine/m12g_bulldog/drum/meteor + name = "shotgun drum magazine (12g meteor slugs)" + ammo_type = /obj/item/ammo_casing/shotgun/meteorslug + +/obj/item/gun/ballistic/rocketlauncher/mako + name = "RR-86 \"Mako\"" + desc = "A large, four-tube rocket launcher, the Mako fires (relatively) small rockets filled with incendiary compound, designed to cause fires and deny enemy movement. Capable of causing significant damage to exosuits on impact, as well." + + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + + icon_state = "mako" + item_state = "mako" + default_ammo_type = /obj/item/ammo_box/magazine/internal/mako + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/mako, + ) + fire_sound = 'sound/weapons/gun/general/rocket_launch.ogg' + load_sound = 'sound/weapons/gun/general/rocket_load.ogg' + w_class = WEIGHT_CLASS_BULKY + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) + default_firemode = FIREMODE_SEMIAUTO + burst_size = 1 + fire_delay = 0.4 SECONDS + casing_ejector = FALSE + weapon_weight = WEAPON_HEAVY + bolt_type = BOLT_TYPE_NO_BOLT + internal_magazine = TRUE + cartridge_wording = "rocket" + empty_indicator = TRUE + tac_reloads = FALSE + manufacturer = MANUFACTURER_SCARBOROUGH + + +/obj/item/ammo_box/magazine/internal/mako + name = "mako internal magazine" + ammo_type = /obj/item/ammo_casing/caseless/rocket/a70mm + caliber = "70mm" + max_ammo = 4 + +/obj/item/ammo_casing/caseless/rocket/a70mm + name = "\improper M-KO-9HE" + desc = "A 70mm High Explosive rocket. Fire at mech and pray." + icon_state = "srm-8" + caliber = "70mm" + projectile_type = /obj/projectile/bullet/a84mm_he + auto_rotate = FALSE + +/obj/item/ammo_casing/caseless/rocket/a70mm/hedp + name = "\improper M-KO-9HEDP" + desc = "A 70mm High Explosive Dual Purpose rocket. Pointy end toward armor." + caliber = "70mm" + icon_state = "84mm-hedp" + projectile_type = /obj/projectile/bullet/a84mm + +#undef SCARBOROUGH_ATTACHMENTS +#undef SCARBOROUGH_ATTACH_SLOTS diff --git a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm new file mode 100644 index 00000000000..9cce455663c --- /dev/null +++ b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm @@ -0,0 +1,274 @@ +#define SERENE_ATTACHMENTS list(/obj/item/attachment/rail_light, /obj/item/attachment/bayonet) +#define SERENE_ATTACH_SLOTS list(ATTACHMENT_SLOT_MUZZLE = 1, ATTACHMENT_SLOT_RAIL = 1) + +/* Micro Target */ + +/obj/item/gun/ballistic/automatic/pistol/m17 + name = "Model 17 \"Micro Target\"" + desc = "A lightweight and very accurate target pistol produced by Serene Outdoors. The barrel can be unscrewed for storage. Chambered in .22 LR." + + icon = 'icons/obj/guns/manufacturer/serene_outdoors/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/serene_outdoors/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/serene_outdoors/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/serene_outdoors/onmob.dmi' + icon_state = "m17" + item_state = "so_generic" + + default_ammo_type = /obj/item/ammo_box/magazine/m17 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m17, + ) + + fire_sound = 'sound/weapons/gun/pistol/himehabu.ogg' + + manufacturer = MANUFACTURER_SERENE + show_magazine_on_sprite = TRUE + bolt_type = BOLT_TYPE_LOCKING + + w_class = WEIGHT_CLASS_SMALL + + spread = 25 + spread_unwielded = 45 + recoil = -2 + recoil_unwielded = -2 + + wield_slowdown = PISTOL_SLOWDOWN + + valid_attachments = list( + /obj/item/attachment/m17_barrel, + ) + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ) + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 30, + "y" = 23, + ), + ) + + default_attachments = list(/obj/item/attachment/m17_barrel) + +EMPTY_GUN_HELPER(automatic/pistol/m17) + +/obj/item/ammo_box/magazine/m17 + name = "Model 17 magazine (.22lr)" + desc = "A 10-round magazine for the Model 17 \"Micro Target\". These rounds do okay damage with awful performance against armor." + icon_state = "m17_mag-1" + base_icon_state = "m17_mag" + ammo_type = /obj/item/ammo_casing/c22lr + caliber = "22lr" + max_ammo = 10 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/m17/empty + start_empty = TRUE + +/* Sporter */ + +/obj/item/gun/ballistic/automatic/m12_sporter + name = "Model 12 \"Sporter\"" + desc = "An extremely popular target shooting rifle produced by Serene Outdoors. Inexpensive, widely available, and produced in massive numbers, the Sporter is also popular for hunting small game and ground birds. Chambered in .22 LR." + + icon = 'icons/obj/guns/manufacturer/serene_outdoors/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/serene_outdoors/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/serene_outdoors/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/serene_outdoors/onmob.dmi' + icon_state = "m12" + item_state = "m12" + + weapon_weight = WEAPON_MEDIUM + default_ammo_type = /obj/item/ammo_box/magazine/m12_sporter + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m12_sporter, + ) + + fire_delay = 0.4 SECONDS + burst_size = 1 + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + show_magazine_on_sprite = TRUE + bolt_type = BOLT_TYPE_LOCKING + + fire_sound = 'sound/weapons/gun/gauss/claris.ogg' + + spread = 0 + spread_unwielded = 15 + recoil = 0 + recoil_unwielded = 2 + wield_slowdown = LIGHT_RIFLE_SLOWDOWN + wield_delay = 1 SECONDS + + manufacturer = MANUFACTURER_SERENE + + valid_attachments = SERENE_ATTACHMENTS + slot_available = SERENE_ATTACH_SLOTS + + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 44, + "y" = 18, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 17, + "y" = 20, + ) + ) + +EMPTY_GUN_HELPER(automatic/m12_sporter) + + +/obj/item/ammo_box/magazine/m12_sporter + name = "Model 12 magazine (.22lr)" + desc = "A 25-round magazine for the Model 12 \"Sporter\". These rounds do okay damage with awful performance against armor." + icon_state = "m12_mag-1" + base_icon_state = "m12_mag" + ammo_type = /obj/item/ammo_casing/c22lr + caliber = "22lr" + max_ammo = 25 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/m12_sporter/empty + start_empty = TRUE + +/obj/item/gun/ballistic/automatic/m12_sporter/mod + name = "Model 13 \"Larker\"" + desc = "A common after-market modification of the Model 12 \"Sporter\" rifle, keyed to fire a three round burst." + burst_size = 3 + burst_delay = 0.6 + + icon_state = "larker" + item_state = "larker" + + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST) + gun_firenames = list(FIREMODE_SEMIAUTO = "single", FIREMODE_BURST = "triptych") + default_firemode = FIREMODE_BURST + +EMPTY_GUN_HELPER(automatic/m12_sporter/mod) + +/* super soaker */ + +/obj/item/gun/ballistic/automatic/m15 + name = "Model 15 Super Sporter" + desc = "A popular semi-automatic hunting rifle produced by Serene Outdoors. Solid all-round performance, high accuracy, and ease of access compared to military rifles makes the Super Sporter a popular choice for hunting medium game and occasionally self-defense. Chambered in 5.56mm." + + icon = 'icons/obj/guns/manufacturer/serene_outdoors/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/serene_outdoors/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/serene_outdoors/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/serene_outdoors/onmob.dmi' + icon_state = "m15" + item_state = "m15" + + default_ammo_type = /obj/item/ammo_box/magazine/m15 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m15, + ) + + fire_sound = 'sound/weapons/gun/rifle/m16.ogg' + + manufacturer = MANUFACTURER_SERENE + show_magazine_on_sprite = TRUE + + bolt_type = BOLT_TYPE_LOCKING + + slot_flags = ITEM_SLOT_BACK + + w_class = WEIGHT_CLASS_BULKY + weapon_weight = WEAPON_MEDIUM + + slot_flags = ITEM_SLOT_BACK + + spread = 0 + spread_unwielded = 20 + recoil = 0.5 + recoil_unwielded = 3 + wield_slowdown = LIGHT_RIFLE_SLOWDOWN + wield_delay = 1 SECONDS + + valid_attachments = SERENE_ATTACHMENTS + slot_available = SERENE_ATTACH_SLOTS + + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 47, + "y" = 21, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 13, + "y" = 23, + ) + ) + +EMPTY_GUN_HELPER(automatic/m15) + +/obj/item/ammo_box/magazine/m15 + name = "Model 15 magazine (5.56x42mm CLIP)" + desc = "A 20-round magazine for the Model 15 \"Super Sporter\". These rounds do average damage and perform moderately against armor." + icon_state = "p16_mag-1" + base_icon_state = "p16_mag" + ammo_type = /obj/item/ammo_casing/a556_42 + caliber = "5.56x42mm" + max_ammo = 20 + multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/m15/empty + start_empty = TRUE + +/* cuckmaster */ + +/obj/item/gun/ballistic/shotgun/automatic/m11 + name = "Model 11 \"Buckmaster\"" + desc = "A semi-automatic hunting shotgun produced by Serene Outdoors. Much lighter and handier than military combat shotguns, it offers the same fire rate and magazine capacity, making it an excellent choice for hunting birds and large game or for security forces looking to upgrade from pump action guns. Chambered in 12g." + + icon = 'icons/obj/guns/manufacturer/serene_outdoors/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/serene_outdoors/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/serene_outdoors/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/serene_outdoors/onmob.dmi' + icon_state = "buckmaster" + item_state = "buckmaster" + + fire_delay = 0.5 SECONDS + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/buckmaster + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/buckmaster, + ) + w_class = WEIGHT_CLASS_BULKY + + bolt_type = BOLT_TYPE_LOCKING + + fire_sound = 'sound/weapons/gun/shotgun/bulldog.ogg' + + spread = 4 + spread_unwielded = 16 + recoil = 1 + recoil_unwielded = 4 + wield_slowdown = SHOTGUN_SLOWDOWN + wield_delay = 0.65 SECONDS + + casing_ejector = TRUE + + manufacturer = MANUFACTURER_SERENE + + valid_attachments = SERENE_ATTACHMENTS + slot_available = SERENE_ATTACH_SLOTS + + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 45, + "y" = 18, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 16, + "y" = 22, + ) + ) + +/obj/item/ammo_box/magazine/internal/shot/buckmaster + name = "Buckmaster internal magazine" + ammo_type = /obj/item/ammo_casing/shotgun/buckshot + max_ammo = 8 + +EMPTY_GUN_HELPER(shotgun/automatic/m11) + +#undef SERENE_ATTACHMENTS +#undef SERENE_ATTACH_SLOTS diff --git a/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm b/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm new file mode 100644 index 00000000000..ac0cad28c21 --- /dev/null +++ b/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm @@ -0,0 +1,209 @@ +///SOLAR ARMORIES +//fuck you im not typing the full name out +//solarwaffledesuckenmydickengeschutzenweaponmanufacturinglocation + +///Pistols +/obj/item/gun/ballistic/automatic/powered/gauss/modelh + name = "Model H" + desc = "A standard-issue pistol exported from the Solarian Confederation. It fires slow flesh-rending ferromagnetic slugs at a high energy cost, however they are ineffective on any armor." + + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' + icon_state = "model-h" + item_state = "model-h" + fire_sound = 'sound/weapons/gun/gauss/modelh.ogg' + load_sound = 'sound/weapons/gun/gauss/pistol_reload.ogg' + + default_ammo_type = /obj/item/ammo_box/magazine/modelh + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/modelh, + ) + default_cell_type = /obj/item/stock_parts/cell/gun/solgov + allowed_cell_types = list( + /obj/item/stock_parts/cell/gun/solgov, + ) + + slot_flags = ITEM_SLOT_BELT + w_class = WEIGHT_CLASS_SMALL + fire_delay = 0.6 SECONDS //pistol, but heavy caliber. + show_magazine_on_sprite = FALSE + empty_indicator = FALSE + manufacturer = MANUFACTURER_SOLARARMORIES + recoil = 2 + recoil_unwielded = 4 + spread = 6 + spread_unwielded = 12 + fire_select_icon_state_prefix = "slug_" + + valid_attachments = list( + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + ) + +/obj/item/gun/ballistic/automatic/powered/gauss/modelh/no_mag + default_ammo_type = FALSE + +/obj/item/gun/ballistic/automatic/powered/gauss/modelh/suns + desc = "A standard-issue pistol exported from the Solarian Confederation. It fires slow flesh-rending ferromagnetic slugs at a high energy cost, however they are ineffective on any armor. It is painted in the colors of SUNS." + default_ammo_type = /obj/item/ammo_box/magazine/modelh + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/modelh, + ) + icon_state = "model-h_suns" + item_state = "model-h_suns" + +//not gauss pistol +/obj/item/gun/ballistic/automatic/pistol/solgov + name = "\improper Pistole C" + desc = "A favorite of the Terran Regency that is despised by the Solarian bureaucracy. Shifted out of military service centuries ago, though still popular among civilians. Chambered in 5.56mm caseless." + icon_state = "pistole-c" + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' + + weapon_weight = WEAPON_LIGHT + default_ammo_type = /obj/item/ammo_box/magazine/pistol556mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/pistol556mm, + ) + fire_sound = 'sound/weapons/gun/pistol/pistolec.ogg' + manufacturer = MANUFACTURER_SOLARARMORIES + load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + + rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' + + fire_select_icon_state_prefix = "caseless_" + + slot_flags = ITEM_SLOT_BELT + +/obj/item/gun/ballistic/automatic/pistol/solgov/old + icon_state = "pistole-c-old" + +///Rifles + +/obj/item/gun/ballistic/automatic/powered/gauss/claris + name = "Claris" + desc = "An antiquated Solarian rifle. Chambered in ferromagnetic pellets, just as the founding Solarians intended." + default_ammo_type = /obj/item/ammo_box/magazine/internal/claris + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/claris, + ) + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' + icon_state = "claris" + item_state = "claris" + fire_sound = 'sound/weapons/gun/gauss/claris.ogg' + load_sound = 'sound/weapons/gun/gauss/sniper_reload.ogg' + default_cell_type = /obj/item/stock_parts/cell/gun/solgov + allowed_cell_types = list( + /obj/item/stock_parts/cell/gun/solgov, + ) + fire_delay = 0.4 SECONDS + bolt_type = BOLT_TYPE_NO_BOLT + internal_magazine = TRUE + show_magazine_on_sprite = FALSE + empty_indicator = FALSE + manufacturer = MANUFACTURER_SOLARARMORIES + fire_select_icon_state_prefix = "pellet_" + + slot_flags = ITEM_SLOT_BACK + + valid_attachments = list( + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet, + /obj/item/attachment/energy_bayonet + ) + + +/obj/item/gun/ballistic/automatic/powered/gauss/claris/suns + desc = "An antiquated Solarian rifle. Chambered in ferromagnetic pellets, just as the founding Solarians intended. Evidently, SUNS' founders echo the sentiment, as it appears to be painted in their colors." + icon_state = "claris_suns" + item_state = "claris_suns" + +/obj/item/gun/ballistic/automatic/powered/gauss/gar + name = "Solar 'GAR' Carbine" + desc = "A Solarian carbine, unusually modern for its producers. Launches ferromagnetic lances at alarming speeds." + default_ammo_type = /obj/item/ammo_box/magazine/gar + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/gar, + ) + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' + icon_state = "gar" + item_state = "gar" + fire_sound = 'sound/weapons/gun/gauss/gar.ogg' + load_sound = 'sound/weapons/gun/gauss/rifle_reload.ogg' + default_cell_type = /obj/item/stock_parts/cell/gun/solgov + allowed_cell_types = list( + /obj/item/stock_parts/cell/gun/solgov, + ) + burst_size = 1 + + fire_delay = 0.2 SECONDS + + actions_types = list() + empty_indicator = FALSE + manufacturer = MANUFACTURER_SOLARARMORIES + + slot_flags = ITEM_SLOT_BACK + + valid_attachments = list( + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet, + /obj/item/attachment/energy_bayonet + ) + + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) + default_firemode = FIREMODE_SEMIAUTO + + wield_delay = 0.7 SECONDS + fire_select_icon_state_prefix = "lance_" + +/obj/item/gun/ballistic/automatic/powered/gauss/gar/suns + desc = "A Solarian carbine, unusually modern for its producers. It's just modern enough for SUNS, however, who have painted the weapon in their colors. Launches ferromagnetic lances at alarming speeds." + icon_state = "gar_suns" + item_state = "gar_suns" + +///Sniper +/obj/item/gun/ballistic/rifle/solgov + name = "SSG-669C" + desc = "A bolt-action sniper rifle used by Solarian troops. Beloved for its rotary design and accuracy. Chambered in 8x58mm Caseless." + default_ammo_type = /obj/item/ammo_box/magazine/internal/boltaction/solgov + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/boltaction/solgov, + ) + icon_state = "ssg669c" + item_state = "ssg669c" + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' + + fire_sound = 'sound/weapons/gun/rifle/ssg669c.ogg' + can_be_sawn_off = FALSE + + zoomable = TRUE + zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. + zoom_out_amt = 5 + + manufacturer = MANUFACTURER_SOLARARMORIES + spread = -5 + spread_unwielded = 20 + recoil = 1 + recoil_unwielded = 8 + wield_slowdown = SNIPER_SLOWDOWN + wield_delay = 1.3 SECONDS diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index 8b6626bc5e9..3d1c407a7e5 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -28,9 +28,11 @@ weapon_weight = WEAPON_HEAVY w_class = WEIGHT_CLASS_BULKY ammo_type = list(/obj/item/ammo_casing/energy/beam_rifle/hitscan) - internal_cell = FALSE //prevents you from giving it an OP cell - WS Edit //shut up dumb nerd - big_gun = TRUE - cell_type = "/obj/item/stock_parts/cell/gun/large" + internal_magazine = FALSE //prevents you from giving it an OP cell - WS Edit //shut up dumb nerd + default_ammo_type = /obj/item/stock_parts/cell/gun/large + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/large, + ) canMouseDown = TRUE var/aiming = FALSE var/aiming_time = 12 @@ -78,7 +80,10 @@ /obj/item/gun/energy/beam_rifle/debug delay = 0 - cell_type = /obj/item/stock_parts/cell/infinite + default_ammo_type = /obj/item/stock_parts/cell/infinite + allowed_ammo_types = list( + /obj/item/stock_parts/cell/infinite, + ) aiming_time = 0 recoil = 0 @@ -477,7 +482,7 @@ if(isliving(target)) var/mob/living/L = target L.adjustFireLoss(impact_direct_damage) - L.emote("scream") + L.force_scream() /obj/projectile/beam/beam_rifle/proc/handle_hit(atom/target, piercing_hit = FALSE) set waitfor = FALSE diff --git a/code/modules/projectiles/guns/misc/bow.dm b/code/modules/projectiles/guns/misc/bow.dm index 1e81117d170..53c183b22af 100644 --- a/code/modules/projectiles/guns/misc/bow.dm +++ b/code/modules/projectiles/guns/misc/bow.dm @@ -7,7 +7,10 @@ load_sound = null fire_sound = 'sound/weapons/bowfire.ogg' slot_flags = ITEM_SLOT_BACK - mag_type = /obj/item/ammo_box/magazine/internal/bow + default_ammo_type = /obj/item/ammo_box/magazine/internal/bow + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/bow, + ) trigger_guard = TRIGGER_GUARD_ALLOW_ALL force = 15 attack_verb = list("whipped", "cracked") diff --git a/code/modules/projectiles/guns/misc/syringe_gun.dm b/code/modules/projectiles/guns/misc/syringe_gun.dm index 84d00b22637..809c15682cd 100644 --- a/code/modules/projectiles/guns/misc/syringe_gun.dm +++ b/code/modules/projectiles/guns/misc/syringe_gun.dm @@ -80,7 +80,6 @@ w_class = WEIGHT_CLASS_SMALL force = 2 //Also very weak because it's smaller suppressed = TRUE //Softer fire sound - can_unsuppress = FALSE //Permanently silenced /obj/item/gun/syringe/dna name = "modified syringe gun" diff --git a/code/modules/projectiles/guns/powered.dm b/code/modules/projectiles/guns/powered.dm index ac7418748d9..44419c09956 100644 --- a/code/modules/projectiles/guns/powered.dm +++ b/code/modules/projectiles/guns/powered.dm @@ -1,28 +1,21 @@ /obj/item/gun/ballistic/automatic/powered - mag_type = /obj/item/ammo_box/magazine/gauss - can_suppress = FALSE - - var/obj/item/stock_parts/cell/cell - var/cell_type = /obj/item/stock_parts/cell/gun - var/charge_sections = 3 - var/empty_battery_sound = FALSE // play empty alarm if no battery - - var/shaded_charge = FALSE //if this gun uses a stateful charge bar for more detail - var/automatic_charge_overlays = TRUE //Do we handle overlays with base update_appearance()? - - var/internal_cell = FALSE ///if the gun's cell cannot be replaced - var/small_gun = FALSE ///if the gun is small and can only fit the small gun cell - var/big_gun = FALSE ///if the gun is big and can fit the comically large gun cell - var/unscrewing_time = 2 SECONDS ///Time it takes to unscrew the cell - var/sound_volume = 40 //Volume of loading/unloading cell sounds - + default_ammo_type = /obj/item/ammo_box/magazine/gauss + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/gauss, + ) + var/default_cell_type = /obj/item/stock_parts/cell/gun + var/list/allowed_cell_types = list( + /obj/item/stock_parts/cell/gun, + /obj/item/stock_parts/cell/gun/upgraded, + /obj/item/stock_parts/cell/gun/empty, + /obj/item/stock_parts/cell/gun/upgraded/empty, + ) + charge_sections = 3 /obj/item/gun/ballistic/automatic/powered/Initialize() . = ..() - if(cell_type) - cell = new cell_type(src) - else - cell = new(src) + if(default_cell_type) + cell = new default_cell_type(src) update_appearance() /obj/item/gun/ballistic/automatic/powered/examine(mob/user) @@ -54,31 +47,25 @@ //the things below were taken from energy gun code. blame whoever coded this, not me /obj/item/gun/ballistic/automatic/powered/attackby(obj/item/A, mob/user, params) - if (!internal_cell && istype(A, /obj/item/stock_parts/cell/gun)) + if (!internal_cell && (A.type in allowed_cell_types)) var/obj/item/stock_parts/cell/gun/C = A if (!cell) insert_cell(user, C) return ..() /obj/item/gun/ballistic/automatic/powered/proc/insert_cell(mob/user, obj/item/stock_parts/cell/gun/C) - if(small_gun && !istype(C, /obj/item/stock_parts/cell/gun/mini)) - to_chat(user, "[C] doesn't seem to fit into [src]...") - return FALSE - if(!big_gun && istype(C, /obj/item/stock_parts/cell/gun/large)) - to_chat(user, "[C] doesn't seem to fit into [src]...") - return FALSE if(user.transferItemToLoc(C, src)) cell = C - to_chat(user, "You load [C] into [src].") - playsound(src, load_sound, sound_volume, load_sound_vary) + to_chat(user, "You load the [C] into \the [src].") + playsound(src, load_sound, load_sound_volume, load_sound_vary) update_appearance() return TRUE else - to_chat(user, "You cannot seem to get [src] out of your hands!") + to_chat(user, "You cannot seem to get \the [src] out of your hands!") return FALSE /obj/item/gun/ballistic/automatic/powered/proc/eject_cell(mob/user, obj/item/stock_parts/cell/gun/tac_load = null) - playsound(src, load_sound, sound_volume, load_sound_vary) + playsound(src, load_sound, load_sound_volume, load_sound_vary) cell.forceMove(drop_location()) var/obj/item/stock_parts/cell/gun/old_cell = cell cell = null @@ -88,7 +75,7 @@ update_appearance() /obj/item/gun/ballistic/automatic/powered/screwdriver_act(mob/living/user, obj/item/I) - if(cell && !internal_cell && !bayonet && (!gun_light || !can_flashlight)) + if(cell && !internal_cell) to_chat(user, "You begin unscrewing and pulling out the cell...") if(I.use_tool(src, user, unscrewing_time, volume=100)) to_chat(user, "You remove the power cell.") diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 0b9bcb8da4f..968c3f85ebb 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -24,6 +24,8 @@ resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/def_zone = "" //Aiming at var/atom/movable/firer = null//Who shot it + // if the projectile was the result of a misfire. For logging. + var/misfire = FALSE var/atom/fired_from = null // the atom that the projectile was fired from (gun, turret) var/suppressed = FALSE //Attack message var/yo = null @@ -71,7 +73,10 @@ /// number of times we've pierced something. Incremented BEFORE bullet_act and on_hit proc! var/pierces = 0 - var/speed = 0.8 //Amount of deciseconds it takes for projectile to travel + ///Amount of deciseconds it takes for projectile to travel + var/speed = 0.8 + ///plus/minus modifier to projectile speed + var/speed_mod = 0 var/Angle = 0 var/original_angle = 0 //Angle at firing var/nondirectional_sprite = FALSE //Set TRUE to prevent projectiles from having their sprites rotated based on firing angle @@ -139,6 +144,7 @@ var/decayedRange //stores original range var/reflect_range_decrease = 5 //amount of original range that falls off when reflecting, so it doesn't go forever var/reflectable = NONE // Can it be reflected or not? + //Effects var/stun = 0 var/knockdown = 0 @@ -156,8 +162,13 @@ var/impact_effect_type //what type of impact effect to show when hitting something var/log_override = FALSE //is this type spammed enough to not log? (KAs) + // if the projectile has the matching flags when hitting a wall, it deals it's override damage instead + var/wall_damage_flags = PROJECTILE_BONUS_DAMAGE_NONE + var/wall_damage_override = 0 + ///If defined, on hit we create an item of this type then call hitby() on the hit target with this, mainly used for embedding items (bullets) in targets var/shrapnel_type + ///If TRUE, hit mobs even if they're on the floor and not our target var/hit_stunned_targets = FALSE /// If true directly targeted turfs can be hit @@ -170,6 +181,7 @@ /obj/projectile/Initialize() . = ..() decayedRange = range + speed = speed + speed_mod AddElement(/datum/element/connect_loc, projectile_connections) /obj/projectile/proc/Range() @@ -280,7 +292,9 @@ for(var/datum/reagent/R in reagents.reagent_list) reagent_note += "[R.name] ([num2text(R.volume)])" - if(ismob(firer)) + if(misfire) + L.log_message("has been hit by a misfired [src] from \a [fired_from] last touched by [fired_from.fingerprintslast]", LOG_ATTACK, color = "orange") + else if(ismob(firer)) log_combat(firer, L, "shot", src, reagent_note) else L.log_message("has been shot by [firer] with [src]", LOG_ATTACK, color="orange") @@ -490,7 +504,7 @@ if(direct_target) return TRUE // If target not able to use items, move and stand - or if they're just dead, pass over. - if(L.stat == DEAD || (!hit_stunned_targets && HAS_TRAIT(L, TRAIT_IMMOBILIZED) && HAS_TRAIT(L, TRAIT_FLOORED) && HAS_TRAIT(L, TRAIT_HANDS_BLOCKED))) + if(L.stat || (!hit_stunned_targets && HAS_TRAIT(L, TRAIT_IMMOBILIZED) && HAS_TRAIT(L, TRAIT_FLOORED) && HAS_TRAIT(L, TRAIT_HANDS_BLOCKED))) return FALSE return TRUE diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 3aada5ddcb4..f28c51c8420 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -37,6 +37,15 @@ muzzle_type = /obj/effect/projectile/muzzle/laser impact_type = /obj/effect/projectile/impact/laser +/obj/projectile/beam/laser/sharplite + speed = 0.4 + +/obj/projectile/beam/laser/light + damage = 15 + +/obj/projectile/beam/laser/light/sharplite + speed = 0.4 + /obj/projectile/beam/laser/eoehoma damage = 25 armour_penetration = -10 @@ -54,6 +63,12 @@ muzzle_type = /obj/effect/projectile/muzzle/heavy_laser impact_type = /obj/effect/projectile/impact/heavy_laser +/obj/projectile/beam/laser/heavylaser/assault + armour_penetration = 20 + +/obj/projectile/beam/laser/heavylaser/sharplite + speed = 0.4 + /obj/projectile/beam/laser/on_hit(atom/target, blocked = FALSE) . = ..() if(iscarbon(target)) @@ -68,6 +83,10 @@ /obj/projectile/beam/weaker damage = 10 +/obj/projectile/beam/weak/low_range + damage = 10 + range = 9 + /obj/projectile/beam/weak/penetrator armour_penetration = 50 @@ -84,10 +103,17 @@ damage = 0 nodamage = TRUE +/obj/projectile/beam/laser/slug + name = "laser slug" + icon_state = "heavylaser" + damage = 20 + armour_penetration = 40 + /obj/projectile/beam/scatter name = "laser pellet" icon_state = "scatterlaser" damage = 5 + range = 7 /obj/projectile/beam/xray name = "\improper X-ray beam" @@ -119,9 +145,15 @@ muzzle_type = /obj/effect/projectile/muzzle/disabler impact_type = /obj/effect/projectile/impact/disabler +/obj/projectile/beam/disabler/sharplite + speed = 0.4 + /obj/projectile/beam/disabler/weak damage = 15 +/obj/projectile/beam/disabler/weak/sharplite + speed = 0.4 + /obj/projectile/beam/disabler/weak/negative_ap armour_penetration = -30 range = 9 @@ -133,6 +165,8 @@ name = "pulse" icon_state = "u_laser" damage = 40 + wall_damage_flags = PROJECTILE_BONUS_DAMAGE_MINERALS | PROJECTILE_BONUS_DAMAGE_WALLS | PROJECTILE_BONUS_DAMAGE_WALLS + wall_damage_override = 200 impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser light_color = LIGHT_COLOR_BLUE tracer_type = /obj/effect/projectile/tracer/pulse @@ -146,6 +180,11 @@ return targets_turf.IgniteTurf(rand(8,22), "blue") +/obj/projectile/beam/pulse/sharplite_turret + wall_damage_flags = null + wall_damage_override = 0 + speed = 0.4 + /obj/projectile/beam/pulse/shotgun damage = 40 diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 43106f97dee..277aa5e0404 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -2,7 +2,7 @@ name = "bullet" icon_state = "gauss" damage = 60 - speed = 0.4 + speed = BULLET_SPEED_RIFLE damage_type = BRUTE nodamage = FALSE flag = "bullet" diff --git a/code/modules/projectiles/projectile/bullets/lmg.dm b/code/modules/projectiles/projectile/bullets/lmg.dm index 79a9b2feb07..5e246236fc7 100644 --- a/code/modules/projectiles/projectile/bullets/lmg.dm +++ b/code/modules/projectiles/projectile/bullets/lmg.dm @@ -59,28 +59,25 @@ /obj/projectile/bullet/mm712x82 name = "7.12x82mm bullet" damage = 25 - armour_penetration = 4076 + armour_penetration = 40 + speed = BULLET_SPEED_RIFLE /obj/projectile/bullet/mm712x82/ap name = "7.12x82mm armor-piercing bullet" armour_penetration = 75 + speed_mod = BULLET_SPEED_AP_MOD /obj/projectile/bullet/mm712x82/hp name = "7.12x82mm hollow point bullet" - damage = 45 + damage = 40 armour_penetration = -20 - -/obj/projectile/bullet/incendiary/mm712x82 - name = "7.12x82mm incendiary bullet" - damage = 15 - armour_penetration = 40 - fire_stacks = 3 + speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/mm712x82/match name = "7.12x82mm match bullet" - speed = 0.3 armour_penetration = 50 ricochets_max = 2 ricochet_chance = 60 ricochet_auto_aim_range = 4 ricochet_incidence_leeway = 35 + speed_mod = BULLET_SPEED_HP_MOD diff --git a/code/modules/projectiles/projectile/bullets/pistol.dm b/code/modules/projectiles/projectile/bullets/pistol.dm index a04fc2995c2..a9dd13d9baa 100644 --- a/code/modules/projectiles/projectile/bullets/pistol.dm +++ b/code/modules/projectiles/projectile/bullets/pistol.dm @@ -1,23 +1,63 @@ +//.22lr (Himehabu, Micro Target, Pounder (uwu)) + +/obj/projectile/bullet/c22lr + name = ".22LR bullet" + damage = 18 + armour_penetration = -45 + ricochet_incidence_leeway = 20 + ricochet_chance = 65 + speed = BULLET_SPEED_HANDGUN + +/obj/projectile/bullet/c22lr/hp + name = ".22LR bullet" + damage = 24 + armour_penetration = -65 + ricochet_chance = 0 + speed_mod = BULLET_SPEED_HP_MOD + +/obj/projectile/bullet/c22lr/ap + name = ".22LR armor piercing bullet" + damage = 14 + armour_penetration = -25 + ricochet_incidence_leeway = 20 + ricochet_chance = 30 + speed_mod = BULLET_SPEED_AP_MOD + +/obj/projectile/bullet/c22lr/rubber + name = ".22LR rubber bullet" + damage = 4 + stamina = 15 + armour_penetration = -70 + speed_mod = BULLET_SPEED_HV_MOD //do not do this for other rubber bullets. If you do I will come out of the woodwork and bludgeon you to death with this stick i found. + ricochets_max = 8 //ding ding ding ding + ricochet_incidence_leeway = 70 + ricochet_chance = 130 + ricochet_decay_damage = 0.8 + // 9mm (Commander, SABR) /obj/projectile/bullet/c9mm name = "9mm bullet" damage = 20 armour_penetration = -20 + speed = BULLET_SPEED_HANDGUN /obj/projectile/bullet/c9mm/surplus name = "9mm surplus bullet" damage = 15 + speed_mod = BULLET_SPEED_SURPLUS_MOD /obj/projectile/bullet/c9mm/ap name = "9mm armor-piercing bullet" damage = 15 armour_penetration = 20 + speed_mod = BULLET_SPEED_AP_MOD /obj/projectile/bullet/c9mm/hp name = "9mm hollow point bullet" - damage = 40 + damage = 35 armour_penetration = -50 + speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/incendiary/c9mm name = "9mm incendiary bullet" @@ -30,27 +70,32 @@ damage = 5 armour_penetration = -40 stamina = 30 + speed_mod = BULLET_SPEED_RUBBER_MOD -// 10mm (Stechkin & SkM-44(k)) +// 10mm (Ringneck) /obj/projectile/bullet/c10mm name = "10mm bullet" damage = 25 armour_penetration = -20 + speed = BULLET_SPEED_HANDGUN /obj/projectile/bullet/c10mm/surplus name = "10mm surplus bullet" damage = 20 + speed_mod = BULLET_SPEED_SURPLUS_MOD /obj/projectile/bullet/c10mm/ap name = "10mm armor-piercing bullet" damage = 20 armour_penetration = 20 + speed_mod = BULLET_SPEED_AP_MOD /obj/projectile/bullet/c10mm/hp name = "10mm hollow point bullet" - damage = 45 + damage = 40 armour_penetration = -50 + speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/incendiary/c10mm name = "10mm incendiary bullet" @@ -63,36 +108,49 @@ damage = 7 stamina = 38 armour_penetration = -40 + speed_mod = BULLET_SPEED_RUBBER_MOD -// .45 (Candor, C20r, Thompson) +// .45 (Candor, C20r) /obj/projectile/bullet/c45 name = ".45 bullet" damage = 25 armour_penetration = -20 + speed = BULLET_SPEED_HANDGUN /obj/projectile/bullet/c45/surplus name = ".45 surplus bullet" damage = 20 + speed_mod = BULLET_SPEED_SURPLUS_MOD /obj/projectile/bullet/c45/ap name = ".45 armor-piercing bullet" damage = 20 armour_penetration = 20 + speed_mod = BULLET_SPEED_AP_MOD /obj/projectile/bullet/c45/hp name = ".45 hollow point bullet" - damage = 45 + damage = 40 armour_penetration = -50 - -/obj/projectile/bullet/incendiary/c45 - name = ".45 incendiary bullet" - damage = 15 - fire_stacks = 2 - armour_penetration = -20 + speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/c45/rubber name = ".45 rubber bullet" damage = 7 stamina = 38 armour_penetration = -40 + speed_mod = BULLET_SPEED_RUBBER_MOD + +// .50 AE (Desert Eagle) + +/obj/projectile/bullet/a50AE + name = ".50 AE bullet" + damage = 40 + speed = BULLET_SPEED_HANDGUN + +/obj/projectile/bullet/a50AE/hp + name = ".50 AE hollow point bullet" + damage = 55 + armour_penetration = -20 + speed_mod = BULLET_SPEED_HP_MOD diff --git a/code/modules/projectiles/projectile/bullets/revolver.dm b/code/modules/projectiles/projectile/bullets/revolver.dm index 0c62fe5b3d4..47036d5dbda 100644 --- a/code/modules/projectiles/projectile/bullets/revolver.dm +++ b/code/modules/projectiles/projectile/bullets/revolver.dm @@ -1,28 +1,19 @@ -// .50 AE (Desert Eagle) - -/obj/projectile/bullet/a50AE - name = ".50 AE bullet" - damage = 40 - -/obj/projectile/bullet/a50AE/hp - name = ".50 AE hollow point bullet" - damage = 60 - armour_penetration = -50 - // .38 (Colt Detective Special & Winchester) /obj/projectile/bullet/c38 name = ".38 bullet" damage = 20 armour_penetration = -20 + speed = BULLET_SPEED_REVOLVER /obj/projectile/bullet/c38/surplus damage = 15 + speed_mod = BULLET_SPEED_SURPLUS_MOD /obj/projectile/bullet/c38/match name = ".38 match bullet" - speed = 0.3 armour_penetration = -10 + speed_mod = BULLET_SPEED_AP_MOD ricochets_max = 4 ricochet_chance = 100 ricochet_auto_aim_angle = 40 @@ -31,17 +22,16 @@ ricochet_decay_chance = 1 ricochet_decay_damage = 1 -/obj/projectile/bullet/c38/match/bouncy // I don't know why this is a subtype of match +/obj/projectile/bullet/c38/bouncy name = ".38 rubber bullet" - speed = 0.4 damage = 7 - stamina = 38 + stamina = 28 armour_penetration = -60 + speed_mod = BULLET_SPEED_RUBBER_MOD ricochets_max = 6 ricochet_incidence_leeway = 70 ricochet_chance = 130 ricochet_decay_damage = 0.8 - shrapnel_type = NONE /obj/projectile/bullet/c38/dumdum name = ".38 dum-dum bullet" @@ -51,25 +41,13 @@ shrapnel_type = /obj/item/shrapnel/bullet/c38/dumdum /obj/projectile/bullet/c38/trac - name = ".38 TRAC bullet" + name = ".38 tracker" damage = 10 ricochets_max = 0 - -/obj/projectile/bullet/c38/trac/on_hit(atom/target, blocked = FALSE) - . = ..() - var/mob/living/carbon/M = target - if(!istype(M)) - return - var/obj/item/implant/tracking/c38/imp - for(var/obj/item/implant/tracking/c38/TI in M.implants) //checks if the target already contains a tracking implant - imp = TI - return - if(!imp) - imp = new /obj/item/implant/tracking/c38(M) - imp.implant(M) + shrapnel_type = /obj/item/shrapnel/bullet/tracker/c38 /obj/projectile/bullet/c38/hotshot //similar to incendiary bullets, but do not leave a flaming trail - name = ".38 hot shot bullet" + name = ".38 hearth bullet" ricochets_max = 0 /obj/projectile/bullet/c38/hotshot/on_hit(atom/target, blocked = FALSE) @@ -80,7 +58,7 @@ M.IgniteMob() /obj/projectile/bullet/c38/iceblox //see /obj/projectile/temp for the original code - name = ".38 iceblox bullet" + name = ".38 chilled bullet" var/temperature = 100 ricochets_max = 0 @@ -94,13 +72,14 @@ /obj/projectile/bullet/a357 name = ".357 bullet" - damage = 30 //shiptest nerf + damage = 30 + + speed = BULLET_SPEED_REVOLVER -// admin only really, for ocelot memes /obj/projectile/bullet/a357/match name = ".357 match bullet" - speed = 0.3 armour_penetration = 10 + speed_mod = BULLET_SPEED_AP_MOD ricochets_max = 5 ricochet_chance = 140 ricochet_auto_aim_angle = 50 @@ -110,20 +89,23 @@ /obj/projectile/bullet/a357/hp name = ".357 hollow point bullet" - damage = 50 - armour_penetration = -50 - ricochet_chance = 0 //mushroom on impact, no bounces + damage = 45 + armour_penetration = -20 + speed_mod = BULLET_SPEED_HP_MOD + ricochet_chance = 0 + // .45-70 Gov't (Hunting Revolver) /obj/projectile/bullet/a4570 name = ".45-70 bullet" damage = 45 //crits in 3-4 taps depending on armor + speed = BULLET_SPEED_REVOLVER /obj/projectile/bullet/a4570/match name = ".45-70 match bullet" - speed = 0.3 armour_penetration = 10 + speed_mod = BULLET_SPEED_AP_MOD ricochets_max = 5 ricochet_chance = 140 ricochet_auto_aim_angle = 50 @@ -133,8 +115,9 @@ /obj/projectile/bullet/a4570/hp name = ".45-70 hollow point bullet" - damage = 60 //it's the pre-nerf .357 with less armor pen + damage = 55 armour_penetration = -50 + speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/a4570/explosive //for extra oof name = ".45-70 explosive bullet" @@ -145,27 +128,23 @@ explosion(target, -1, 0, 1) return BULLET_ACT_HIT - -/obj/projectile/bullet/c22lr - name = ".22LR bullet" - damage = 20 - armour_penetration = -45 - ricochet_incidence_leeway = 20 - ricochet_chance = 65 - // 44 Short (Roumain & Shadow) /obj/projectile/bullet/a44roum name = ".44 roumain bullet" damage = 25 + speed = BULLET_SPEED_REVOLVER /obj/projectile/bullet/a44roum/rubber - name = ".44 roumain bullet" + name = ".44 roumain rubber bullet" damage = 7 stamina = 38 armour_penetration = -20 + speed_mod = BULLET_SPEED_RUBBER_MOD /obj/projectile/bullet/a44roum/hp - name = ".44 roumain bullet" - damage = 45 + name = ".44 roumain hollow point bullet" + damage = 40 armour_penetration = -20 + ricochet_chance = 0 + speed_mod = BULLET_SPEED_HP_MOD diff --git a/code/modules/projectiles/projectile/bullets/rifle.dm b/code/modules/projectiles/projectile/bullets/rifle.dm index f7b963cff94..bf196f860cf 100644 --- a/code/modules/projectiles/projectile/bullets/rifle.dm +++ b/code/modules/projectiles/projectile/bullets/rifle.dm @@ -5,77 +5,125 @@ damage = 25 armour_penetration = 20 -// 8x50mmR (Illestren Rifle) +// 5.56x42mm CLIP (CM82, Hydra variants) -/obj/projectile/bullet/a8_50r - name = "8x50mmR bullet" - speed = 0.3 - damage = 35 - armour_penetration = 40 +/obj/projectile/bullet/a556_42 + name = "5.56x42mm CLIP bullet" + damage = 25 + armour_penetration = 20 + speed = BULLET_SPEED_RIFLE -/obj/projectile/bullet/a8_50rhp - name = "8x50mmR bullet" - speed = 0.3 - damage = 55 +/obj/projectile/bullet/a556_42/hp + name = "5.56x42mm CLIP hollow point bullet" + damage = 35 armour_penetration = 0 + speed_mod = BULLET_SPEED_HP_MOD -// .300 Magnum (Smile Rifle) - -/obj/projectile/bullet/a300 - name = ".300 Magnum bullet" - speed = 0.3 - damage = 45 - stamina = 10 - armour_penetration = 40 - -// Bloat evil wizard stupid shit - -/obj/projectile/bullet/a762_enchanted - name = "enchanted 8x50mmR bullet" +/obj/projectile/bullet/a556_42/ap + name = "5.56x42mm CLIP bullet" damage = 20 - stamina = 80 + armour_penetration = 40 + speed_mod = BULLET_SPEED_AP_MOD -//5.45x39mm (SVG-76u) +/obj/projectile/bullet/a556_42/rubber + name = "5.56x42mm CLIP bullet" + damage = 5 + stamina = 25 + armour_penetration = 0 + speed_mod = BULLET_SPEED_RUBBER_MOD -/obj/projectile/bullet/a545_39 - name = "5.45x39mm bullet" - damage = 25 - armour_penetration = 20 +// 8x50mmR (Illestren Rifle) -//.300 BLK (Polymer Survivor Rifle) +/obj/projectile/bullet/a8_50r + name = "8x50mmR bullet" + damage = 35 + armour_penetration = 40 + speed = BULLET_SPEED_RIFLE -/obj/projectile/bullet/aac_300blk - name = ".300 Blackout bullet" - damage = 30 - armour_penetration = 20 +/obj/projectile/bullet/a8_50r/hp + name = "8x50mmR hollow point bullet" + damage = 49 + armour_penetration = 0 + speed_mod = BULLET_SPEED_HP_MOD + +/obj/projectile/bullet/a8_50r/match + name = "8x50mmR match bullet" + damage = 40 + armour_penetration = -10 + speed_mod = BULLET_SPEED_AP_MOD + ricochets_max = 4 + ricochet_chance = 80 + ricochet_auto_aim_angle = 40 + ricochet_auto_aim_range = 5 + ricochet_incidence_leeway = 50 + ricochet_decay_chance = 1 + ricochet_decay_damage = 1 + +/obj/projectile/bullet/a8_50r/trac + damage = 10 + armour_penetration = 0 + shrapnel_type = /obj/item/shrapnel/bullet/tracker/a8_50r //7.62x40mm CLIP (SKM Rifles) /obj/projectile/bullet/a762_40 - name = "7.62x40mm CLIP" + name = "7.62x40mm CLIP bullet" damage = 30 armour_penetration = 20 + speed = BULLET_SPEED_RIFLE + +/obj/projectile/bullet/a762_40/hp + name = "7.62x40mm CLIP hollow point bullet" + damage = 40 + armour_penetration = 0 + speed_mod = BULLET_SPEED_HP_MOD + +/obj/projectile/bullet/a762_40/ap + name = "7.62x40mm CLIP armor piercing bullet" + damage = 25 + armour_penetration = 40 + speed_mod = BULLET_SPEED_AP_MOD + +/obj/projectile/bullet/a762_40/rubber //"rubber" + name = "7.62x40mm CLIP rubber bullet" + damage = 15 + stamina = 40 + armour_penetration = 0 + speed_mod = BULLET_SPEED_RUBBER_MOD //.308 WIN (M514 & GAL DMRs) /obj/projectile/bullet/a308 - name = ".308" + name = ".308 bullet" speed = 0.3 damage = 30 armour_penetration = 40 + speed = BULLET_SPEED_RIFLE + +/obj/projectile/bullet/a308/hp + name = ".308 hollow point bullet" + damage = 40 + armour_penetration = 10 + speed_mod = BULLET_SPEED_HP_MOD -// 8x58mm caseless (SG-669) +/obj/projectile/bullet/a308/ap + name = ".308 armor piercing bullet" + damage = 25 + armour_penetration = 60 + speed_mod = BULLET_SPEED_AP_MOD -/obj/projectile/bullet/a858 - name = "8x58mm caseless bullet" +/obj/projectile/bullet/a308/rubber //"rubber" + name = ".308 rubber bullet" speed = 0.3 - damage = 35 + damage = 25 + stamina = 50 armour_penetration = 40 - + speed_mod = BULLET_SPEED_RUBBER_MOD // .299 Eoehoma Caseless (E-40) /obj/projectile/bullet/c299 - name = ".229 Eoehoma caseless bullet" + name = ".299 Eoehoma caseless bullet" damage = 20 armour_penetration = 10 + speed = BULLET_SPEED_RIFLE diff --git a/code/modules/projectiles/projectile/bullets/shotgun.dm b/code/modules/projectiles/projectile/bullets/shotgun.dm index ba9c8c88d7f..41a12f7eaf3 100644 --- a/code/modules/projectiles/projectile/bullets/shotgun.dm +++ b/code/modules/projectiles/projectile/bullets/shotgun.dm @@ -2,7 +2,7 @@ name = "12g shotgun slug" damage = 40 armour_penetration = -10 - speed = 0.5 + speed = BULLET_SPEED_SHOTGUN /obj/projectile/bullet/slug/beanbag name = "beanbag slug" @@ -14,7 +14,7 @@ name = "incendiary slug" damage = 25 armour_penetration = -10 - speed = 0.5 + speed = BULLET_SPEED_SHOTGUN /obj/projectile/bullet/incendiary/shotgun/dragonsbreath name = "dragonsbreath pellet" @@ -54,7 +54,7 @@ /obj/projectile/bullet/slug/frag12 name = "frag12 slug" damage = 25 - paralyze = 50 + paralyze = 20 /obj/projectile/bullet/slug/frag12/on_hit(atom/target, blocked = FALSE) ..() @@ -69,7 +69,7 @@ icon_state = "pellet" armour_penetration = -35 - speed = 0.5 + speed = BULLET_SPEED_SHOTGUN /obj/projectile/bullet/pellet/buckshot name = "buckshot pellet" @@ -114,3 +114,9 @@ damage = 30 armour_penetration = -25 tile_dropoff = 3 + +/obj/projectile/bullet/pellet/blank + name = "blank" + damage = 30 + range = 2 + armour_penetration = -70 diff --git a/code/modules/projectiles/projectile/bullets/smg.dm b/code/modules/projectiles/projectile/bullets/smg.dm index fb5e2a53ce6..a7d6a2ab68e 100644 --- a/code/modules/projectiles/projectile/bullets/smg.dm +++ b/code/modules/projectiles/projectile/bullets/smg.dm @@ -1,19 +1,61 @@ +// 5.7x39mm (Asp and Sidewinder) + +/obj/projectile/bullet/c57x39mm + name = "5.7x39mm bullet" + damage = 20 + speed = BULLET_SPEED_PDW + +/obj/projectile/bullet/c57x39mm/hp + name = "5.7x39mm hollow point bullet" + damage = 30 + armour_penetration = -20 + speed_mod = BULLET_SPEED_HP_MOD + +/obj/projectile/bullet/c57x39mm/ap + name = "5.7x39mm armor piercing bullet" + damage = 20 + armour_penetration = 20 + speed_mod = BULLET_SPEED_AP_MOD + +/obj/projectile/bullet/c57x39mm/rubber + name = "5.7x39mm rubber bullet" + damage = 5 + stamina = 20 + speed_mod = BULLET_SPEED_RUBBER_MOD + // 4.6x30mm (WT-550 Automatic Rifle & NT-SVG) /obj/projectile/bullet/c46x30mm name = "4.6x30mm bullet" damage = 20 + speed = BULLET_SPEED_PDW + +/obj/projectile/bullet/c46x30mm/recycled + damage = 17 + speed_mod = BULLET_SPEED_SURPLUS_MOD /obj/projectile/bullet/c46x30mm/ap name = "4.6x30mm armor-piercing bullet" damage = 15 armour_penetration = 40 + speed_mod = BULLET_SPEED_AP_MOD + +/obj/projectile/bullet/c46x30mm/hp + name = "4.6x30mm bullet" + damage = 25 + speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/incendiary/c46x30mm name = "4.6x30mm incendiary bullet" damage = 10 fire_stacks = 1 +/obj/projectile/bullet/c46x30mm/rubber + name = "4.6x30mm bullet" + damage = 4 + stamina = 20 + speed_mod = BULLET_SPEED_RUBBER_MOD + // 4.73x33mm caseless (Solar) /obj/projectile/bullet/c47x33mm @@ -30,19 +72,23 @@ /obj/projectile/bullet/c556mm/surplus name = "5.56mm HITP surplus bullet" damage = 15 + speed_mod = BULLET_SPEED_SURPLUS_MOD /obj/projectile/bullet/c556mm/ap name = "5.56mm HITP AP bullet" damage = 15 armour_penetration = 40 + speed_mod = BULLET_SPEED_AP_MOD /obj/projectile/bullet/c556mm/hp name = "5.56mm HITP hollow point bullet" damage = 30 armour_penetration = -50 + speed_mod = BULLET_SPEED_HP_MOD /obj/projectile/bullet/c556mm/rubber name = "5.56mm HITP rubber bullet" damage = 5 stamina = 30 armour_penetration = -20 + speed_mod = BULLET_SPEED_RUBBER_MOD diff --git a/code/modules/projectiles/projectile/bullets/sniper.dm b/code/modules/projectiles/projectile/bullets/sniper.dm index 1f725b8113f..268d4a9aaf2 100644 --- a/code/modules/projectiles/projectile/bullets/sniper.dm +++ b/code/modules/projectiles/projectile/bullets/sniper.dm @@ -2,7 +2,7 @@ /obj/projectile/bullet/p50 name = ".50 BMG bullet" - speed = 0.3 + speed = BULLET_SPEED_SNIPER damage = 70 knockdown = 100 dismemberment = 50 @@ -39,7 +39,58 @@ knockdown = 0 breakthings = FALSE -/obj/projectile/bullet/p50/penetrator/shuttle //Nukeop Shuttle Variety - icon_state = "gaussstrong" - damage = 25 - range = 16 +//6.5x57mm CLIP (F90) + +/obj/projectile/bullet/a65clip + name = "6.5x57mm CLIP bullet" + stamina = 10 + damage = 40 + armour_penetration = 50 + + speed = BULLET_SPEED_SNIPER + + icon_state = "redtrac" + light_system = MOVABLE_LIGHT + light_color = COLOR_SOFT_RED + light_range = 2 + +/obj/projectile/bullet/a65clip/trac + damage = 10 + armour_penetration = 0 + shrapnel_type = /obj/item/shrapnel/bullet/tracker/a65clip + +//this should only exist on the big ass turrets. don't fucking give players this. +/obj/projectile/bullet/a65clip/rubber //"rubber" + name = "6.5x57mm CLIP rubber bullet" + damage = 10 + stamina = 40 + speed_mod = BULLET_SPEED_RUBBER_MOD + +// 8x58mm caseless (SG-669) + +/obj/projectile/bullet/a858 + name = "8x58mm caseless bullet" + damage = 35 + armour_penetration = 40 + speed = BULLET_SPEED_SNIPER + +/obj/projectile/bullet/a858/trac + name = "8x58mm tracker" + damage = 12 + armour_penetration = 0 + shrapnel_type = /obj/item/shrapnel/bullet/tracker/a858 + +// .300 Magnum + +/obj/projectile/bullet/a300 + name = ".300 Magnum bullet" + damage = 45 + stamina = 10 + armour_penetration = 40 + speed = BULLET_SPEED_RIFLE + +/obj/projectile/bullet/a300/trac + name = ".300 Tracker" + damage = 10 + armour_penetration = 0 + shrapnel_type = /obj/item/shrapnel/bullet/tracker/a308 diff --git a/code/modules/projectiles/projectile/bullets/special.dm b/code/modules/projectiles/projectile/bullets/special.dm deleted file mode 100644 index d3c1b3a72b1..00000000000 --- a/code/modules/projectiles/projectile/bullets/special.dm +++ /dev/null @@ -1,33 +0,0 @@ -// Honker - -/obj/projectile/bullet/honker - name = "banana" - damage = 0 - movement_type = FLYING - projectile_piercing = ALL - nodamage = TRUE - hitsound = 'sound/items/bikehorn.ogg' - icon = 'icons/obj/hydroponics/harvest.dmi' - icon_state = "banana" - range = 200 - -/obj/projectile/bullet/honker/Initialize() - . = ..() - SpinAnimation() - -/obj/projectile/bullet/honker/on_hit(atom/target, blocked = FALSE) - . = ..() - var/mob/M = target - if(istype(M)) - M.slip(100, M.loc, GALOSHES_DONT_HELP|SLIDE, 0, FALSE) - -// Mime - -/obj/projectile/bullet/mime - damage = 40 - -/obj/projectile/bullet/mime/on_hit(atom/target, blocked = FALSE) - . = ..() - if(iscarbon(target)) - var/mob/living/carbon/M = target - M.silent = max(M.silent, 10) diff --git a/code/modules/projectiles/projectile/energy/misc.dm b/code/modules/projectiles/projectile/energy/misc.dm index 11f948ddb41..e7b689cce2d 100644 --- a/code/modules/projectiles/projectile/energy/misc.dm +++ b/code/modules/projectiles/projectile/energy/misc.dm @@ -27,18 +27,33 @@ /obj/projectile/energy/plasmabolt name = "ionized plasma" damage = 25 - armour_penetration = -10 + armour_penetration = -15 range = 8 damage_type = BURN icon_state = "blastwave" color = "#00ff00" hitsound = 'sound/weapons/sear.ogg' + var/heatpwr = 6 /obj/projectile/energy/plasmabolt/on_hit(atom/target, blocked = FALSE) . = ..() if(iscarbon(target)) - var/mob/living/carbon/M = target - M.adjust_bodytemperature(350) + var/mob/living/carbon/cooked = target + cooked.adjust_bodytemperature(heatpwr) if(prob(35)) - M.adjust_fire_stacks(15) - M.IgniteMob() + cooked.adjust_fire_stacks(15) + cooked.IgniteMob() + else + if(cooked.on_fire) + cooked.adjust_fire_stacks(10) + +/obj/projectile/energy/plasmabolt/shred + name = "high-energy ionized plasma" + damage = 35 + armour_penetration = -5 + range = 2 + damage_type = BURN + icon_state = "blastwave" + color = "#00ff00" + hitsound = 'sound/weapons/sear.ogg' + heatpwr = 11 diff --git a/code/modules/projectiles/projectile/special/plasma.dm b/code/modules/projectiles/projectile/special/plasma.dm index b398731cfd6..68071bd2c55 100644 --- a/code/modules/projectiles/projectile/special/plasma.dm +++ b/code/modules/projectiles/projectile/special/plasma.dm @@ -1,36 +1,25 @@ /obj/projectile/plasma name = "plasma blast" icon_state = "plasmacutter" - damage_type = BRUTE - damage = 5 + damage_type = BURN + damage = 15 range = 4 - dismemberment = 20 + dismemberment = 10 + /// chance that the plasmablast ruins the ore + var/slag_chance = 33 impact_effect_type = /obj/effect/temp_visual/impact_effect/purple_laser - var/mine_range = 3 //mines this many additional tiles of rock tracer_type = /obj/effect/projectile/tracer/plasma_cutter muzzle_type = /obj/effect/projectile/muzzle/plasma_cutter impact_type = /obj/effect/projectile/impact/plasma_cutter -/obj/projectile/plasma/on_hit(atom/target) - . = ..() - if(ismineralturf(target)) - var/turf/closed/mineral/M = target - M.gets_drilled(firer, FALSE) - if(mine_range) - mine_range-- - range++ - if(range > 0) - return BULLET_ACT_FORCE_PIERCE - /obj/projectile/plasma/adv damage = 7 range = 5 - mine_range = 5 + slag_chance = 20 /obj/projectile/plasma/adv/mech damage = 10 range = 9 - mine_range = 3 /obj/projectile/plasma/turret //Between normal and advanced for damage, made a beam so not the turret does not destroy glass diff --git a/code/modules/projectiles/projectile/special/rocket.dm b/code/modules/projectiles/projectile/special/rocket.dm index 0680c62279f..536cfdf0be3 100644 --- a/code/modules/projectiles/projectile/special/rocket.dm +++ b/code/modules/projectiles/projectile/special/rocket.dm @@ -13,13 +13,13 @@ desc = "USE A WEEL GUN" icon_state= "84mm-hedp" damage = 80 - var/anti_armour_damage = 200 + var/anti_armour_damage = 120 armour_penetration = 100 - dismemberment = 100 + dismemberment = 30 /obj/projectile/bullet/a84mm/on_hit(atom/target, blocked = FALSE) ..() - explosion(target, 1, 1, 2, 1, 0, flame_range = 4) + explosion(target, 0, 1, 2, 1, 0, flame_range = 4) if(ismecha(target)) var/obj/mecha/M = target @@ -38,10 +38,7 @@ /obj/projectile/bullet/a84mm_he/on_hit(atom/target, blocked=0) ..() - if(!isliving(target)) //if the target isn't alive, so is a wall or something - explosion(target, 0, 1, 2, 4) - else - explosion(target, 0, 0, 2, 4) + explosion(target, 0, 1, 2, 4) return BULLET_ACT_HIT /obj/projectile/bullet/a84mm_br diff --git a/code/modules/projectiles/projectile/special/temperature.dm b/code/modules/projectiles/projectile/special/temperature.dm index 53a4bb62b9e..65b7ad1d4dd 100644 --- a/code/modules/projectiles/projectile/special/temperature.dm +++ b/code/modules/projectiles/projectile/special/temperature.dm @@ -5,7 +5,7 @@ damage_type = BURN nodamage = FALSE flag = "energy" - var/temperature = -50 // reduce the body temperature by 50 points + var/temperature = -5 // reduce the body temperature by 5c /obj/projectile/temp/on_hit(atom/target, blocked = 0) . = ..() @@ -29,12 +29,12 @@ /obj/projectile/temp/hot name = "heat beam" - temperature = 100 // Raise the body temp by 100 points + temperature = 10 // Raise the body temp by 10c /obj/projectile/temp/cryo name = "cryo beam" range = 3 - temperature = -240 // Single slow shot reduces temp greatly + temperature = -20 // Single slow shot reduces temp greatly /obj/projectile/temp/cryo/on_range() var/turf/T = get_turf(src) diff --git a/code/modules/reagents/chem_splash.dm b/code/modules/reagents/chem_splash.dm index a7340dfa327..f13c1174af7 100644 --- a/code/modules/reagents/chem_splash.dm +++ b/code/modules/reagents/chem_splash.dm @@ -41,20 +41,17 @@ var/list/turflist = list() for(var/turf/T in (orange(i, epicenter) - orange(i-1, epicenter))) turflist |= T - for(var/turf/T in turflist) + for(var/turf/T as anything in turflist) if(!(get_dir(T,epicenter) in GLOB.cardinals) && (abs(T.x - epicenter.x) == abs(T.y - epicenter.y))) turflist.Remove(T) turflist.Add(T) // we move the purely diagonal turfs to the end of the list. - for(var/turf/T in turflist) - if(accessible[T]) + for(var/turf/turf as anything in turflist) + if(accessible[turf]) continue - for(var/thing in T.GetAtmosAdjacentTurfs(alldir = TRUE)) - var/turf/NT = thing - if(!(NT in accessible)) + for(var/turf/new_turf as anything in turf.get_atmos_cardinal_adjacent_turfs()) + if(!accessible[new_turf]) continue - if(!(get_dir(T,NT) in GLOB.cardinals)) - continue - accessible[T] = 1 + accessible[turf] = TRUE break var/list/reactable = accessible for(var/turf/T in accessible) diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 86f4e05226e..a442ee2a11c 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -162,7 +162,7 @@ handle_reactions() return amount -/// Get the name of the reagent there is the most of in this holder +/// DEPRICATED use get_master_regent. Get the name of the reagent there is the most of in this holder /datum/reagents/proc/get_master_reagent_name() var/list/cached_reagents = reagent_list var/name @@ -175,7 +175,7 @@ return name -/// Get the id of the reagent there is the most of in this holder +/// DEPRICATED use get_master_regent. Get the id of the reagent there is the most of in this holder /datum/reagents/proc/get_master_reagent_id() var/list/cached_reagents = reagent_list var/max_type @@ -512,18 +512,13 @@ matching_container = 1 else - if(cached_my_atom.type == C.required_container) + if(cached_my_atom.type in typesof(C.required_container)) matching_container = 1 if (isliving(cached_my_atom) && !C.mob_react) //Makes it so certain chemical reactions don't occur in mobs return if(!C.required_other) matching_other = 1 - else if(istype(cached_my_atom, /obj/item/slime_extract)) - var/obj/item/slime_extract/M = cached_my_atom - - if(M.Uses > 0) // added a limit to slime cores -- Muskets requested this - matching_other = 1 else if(!C.required_container) matching_container = 1 @@ -571,15 +566,6 @@ for(var/mob/M in seen) to_chat(M, "[iconhtml] [selected_reaction.mix_message]") - if(istype(cached_my_atom, /obj/item/slime_extract)) - var/obj/item/slime_extract/ME2 = my_atom - ME2.Uses-- - if(ME2.Uses <= 0) // give the notification that the slime core is dead - for(var/mob/M in seen) - to_chat(M, "[iconhtml] \The [my_atom]'s power is consumed in the reaction.") - ME2.name = "used slime extract" - ME2.desc = "This extract has been used up." - selected_reaction.on_reaction(src, multiplier) reaction_occurred = 1 @@ -611,6 +597,7 @@ //Clear from relevant lists addiction_list -= R reagent_list -= R + SEND_SIGNAL(src, COMSIG_REAGENTS_DEL_REAGENT, R) qdel(R) update_total() if(my_atom) @@ -638,6 +625,8 @@ del_reagent(R.type) if(my_atom) my_atom.on_reagent_change(CLEAR_REAGENTS) + + SEND_SIGNAL(src, COMSIG_REAGENTS_CLEAR_REAGENTS) return 0 /** @@ -747,6 +736,8 @@ if(my_atom) my_atom.on_reagent_change(ADD_REAGENT) R.on_merge(data, amount) + + SEND_SIGNAL(src, COMSIG_REAGENTS_ADD_REAGENT, cached_reagents, amount, reagtemp, data, no_react) if(!no_react) handle_reactions() return TRUE @@ -765,6 +756,8 @@ update_total() if(my_atom) my_atom.on_reagent_change(ADD_REAGENT) + + SEND_SIGNAL(src, COMSIG_REAGENTS_NEW_REAGENT, reagent, amount, reagtemp, data, no_react) if(!no_react) handle_reactions() return TRUE @@ -797,6 +790,7 @@ //and zero, to prevent removing more than the holder has stored amount = clamp(amount, 0, R.volume) R.volume -= amount + SEND_SIGNAL(src, COMSIG_REAGENTS_REM_REAGENT, A, amount) update_total() if(!safety)//So it does not handle reactions when it need not to handle_reactions() diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index c9791666b54..8e693576634 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -86,10 +86,6 @@ if(machine_stat & BROKEN) . += "waitlight" -/obj/machinery/chem_master/blob_act(obj/structure/blob/B) - if (prob(50)) - qdel(src) - /obj/machinery/chem_master/attackby(obj/item/I, mob/user, params) if(default_deconstruction_screwdriver(user, "mixer0_nopower", "mixer0", I)) return @@ -341,18 +337,18 @@ reagents.trans_to(P, vol_each, transfered_by = usr) return TRUE if(item_type == "condimentPack") - var/obj/item/reagent_containers/food/condiment/pack/P + var/obj/item/reagent_containers/condiment/pack/P for(var/i = 0; i < amount; i++) - P = new/obj/item/reagent_containers/food/condiment/pack(drop_location()) + P = new/obj/item/reagent_containers/condiment/pack(drop_location()) P.originalname = name P.name = trim("[name] pack") P.desc = "A small condiment pack. The label says it contains [name]." reagents.trans_to(P, vol_each, transfered_by = usr) return TRUE if(item_type == "condimentBottle") - var/obj/item/reagent_containers/food/condiment/P + var/obj/item/reagent_containers/condiment/P for(var/i = 0; i < amount; i++) - P = new/obj/item/reagent_containers/food/condiment(drop_location()) + P = new/obj/item/reagent_containers/condiment(drop_location()) P.originalname = name P.name = trim("[name] bottle") reagents.trans_to(P, vol_each, transfered_by = usr) diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents/base_drinks.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents/base_drinks.dm new file mode 100644 index 00000000000..cd2d0bc4764 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents/base_drinks.dm @@ -0,0 +1,289 @@ +/datum/reagent/consumable/ethanol/beer + name = "Beer" + description = "An alcoholic beverage, brewed originally to keep a safe source of drinking water. A timeless classic." + color = "#664300" // rgb: 102, 67, 0 + nutriment_factor = 1 * REAGENTS_METABOLISM + boozepwr = 25 + taste_description = "bad water" + glass_name = "glass of beer" + glass_desc = "A pint of beer." + +/datum/reagent/consumable/ethanol/beer/light + name = "Light Beer" + description = "An alcoholic beverage, brewed originally to keep a safe source of drinking water. This variety has reduced calorie and alcohol content." + boozepwr = 5 //Space Europeans hate it + taste_description = "dish water" + glass_name = "glass of light beer" + glass_desc = "A pint of watery light beer." + +/datum/reagent/consumable/ethanol/kahlua + name = "Kahlua" + description = "A widely known coffee-flavoured liqueur. Still labeled under an old name from Earth, despite the loss of history." + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 45 + taste_description = "a bitter combination" + glass_icon_state = "kahluaglass" + glass_name = "glass of coffee liquor" + glass_desc = "Bitter from the coffee and alcohol alike!" + shot_glass_icon_state = "shotglasscream" + +/datum/reagent/consumable/ethanol/kahlua/on_mob_life(mob/living/carbon/M) + M.dizziness = max(0,M.dizziness-5) + M.drowsyness = max(0,M.drowsyness-3) + M.AdjustSleeping(-40) + if(!HAS_TRAIT(M, TRAIT_ALCOHOL_TOLERANCE)) + M.Jitter(5) + ..() + . = 1 + +/datum/reagent/consumable/ethanol/whiskey + name = "Whiskey" + description = "A well-aged whiskey." + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 75 + taste_description = "molasses" + glass_icon_state = "whiskeyglass" + glass_name = "glass of whiskey" + glass_desc = "Often described as having a silky mouthfeel and a smokey aftertaste. The brown-amber color catches the light very well." + shot_glass_icon_state = "shotglassbrown" + +/datum/reagent/consumable/ethanol/vodka + name = "Vodka" + description = "A clear, hard liquor. Doubles as a flammable fuel source, if you really need it." + color = "#0064C8" // rgb: 0, 100, 200 + boozepwr = 65 + taste_description = "grain alcohol" + glass_icon_state = "ginvodkaglass" + glass_name = "glass of vodka" + glass_desc = "It's almost difficult to tell the glass is full of vodka until you tip it around. The smell makes your nose wrinkle... but it might just be worth it." + shot_glass_icon_state = "shotglassclear" + +/datum/reagent/consumable/ethanol/vodka/on_mob_life(mob/living/carbon/M) + M.radiation = max(M.radiation-2,0) + return ..() + +/datum/reagent/consumable/ethanol/gin + name = "Gin" + description = "A very sharp alcohol, with a flavor that's distinctly fresh." + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 45 + taste_description = "an alcoholic pine tree" + glass_icon_state = "ginvodkaglass" + glass_name = "glass of gin" + glass_desc = "A glass of gin, made with a specific type of berry that leaves it smelling like the tree it came from. It's enough to wet your eyes." + +/datum/reagent/consumable/ethanol/rum + name = "Rum" + description = "The liquor of choice for sailors and spacers alike." + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 60 + taste_description = "spiked butterscotch" + glass_icon_state = "rumglass" + glass_name = "glass of rum" + glass_desc = "There's no need to worry about being seen as a pirate with one of these. If you add enough ice and let it melt, it'll turn into grog." + shot_glass_icon_state = "shotglassbrown" + +/datum/reagent/consumable/ethanol/tequila + name = "Tequila" + description = "A strongly flavoured spirit." + color = "#FFFF91" // rgb: 255, 255, 145 + boozepwr = 70 + taste_description = "paint stripper" + glass_icon_state = "tequilaglass" + glass_name = "glass of tequila" + glass_desc = "Despite the strong, woody taste, there's just enough sweetness to keep you coming for more." + shot_glass_icon_state = "shotglassgold" + +/datum/reagent/consumable/ethanol/vermouth + name = "Vermouth" + description = "A fine wine to go with a meal." + color = "#91FF91" // rgb: 145, 255, 145 + boozepwr = 45 + taste_description = "dry alcohol" + glass_icon_state = "vermouthglass" + glass_name = "glass of vermouth" + glass_desc = "Vermouth was used as a medicine in the past, and the flavor makes sure to remind you of that." + shot_glass_icon_state = "shotglassclear" + +/datum/reagent/consumable/ethanol/wine + name = "Wine" + description = "An alcoholic beverage made from fermented grapes of all kinds." + color = "#7E4043" // rgb: 126, 64, 67 + boozepwr = 35 + taste_description = "bitter sweetness" + glass_icon_state = "wineglass" + glass_name = "glass of wine" + glass_desc = "Deeply red wine in a glass. You're not enough of a sommelier to really describe how it smells." + shot_glass_icon_state = "shotglassred" + +/datum/reagent/consumable/ethanol/lizardwine + name = "Blueflame Pyrecask" + description = "A popular Zohil beverage, made by infusing specially-gathered cacti and grapes in ethanol." + color = "#7E4043" // rgb: 126, 64, 67 + boozepwr = 45 + quality = DRINK_FANTASTIC + taste_description = "warm sweetness" + +/datum/reagent/consumable/ethanol/grappa + name = "Grappa" + description = "A fine brandy mixed with spirits." + color = "#F8EBF1" + boozepwr = 60 + taste_description = "classy bitter sweetness" + glass_icon_state = "grappa" + glass_name = "glass of grappa" + glass_desc = "Despite being made from the recycled remains of wine grapes, it's not bad at all." + +/datum/reagent/consumable/ethanol/amaretto + name = "Amaretto" + description = "A gentle drink that carries a sweet aroma." + color = "#E17600" + boozepwr = 25 + taste_description = "fruity and nutty sweetness" + glass_icon_state = "amarettoglass" + glass_name = "glass of amaretto" + glass_desc = "A sweet and syrupy looking alcohol. You're lucky it wasn't lost to history." + +/datum/reagent/consumable/ethanol/cognac + name = "Cognac" + description = "A sweet and strongly alcoholic drink, made after numerous distillations and years of maturing." + color = "#AB3C05" // rgb: 171, 60, 5 + boozepwr = 75 + taste_description = "sharp and relaxing" + glass_icon_state = "cognacglass" + glass_name = "glass of cognac" + glass_desc = "You wonder how many exhausted Solarian bureaucrats are drinking this the same way you are, right now." + shot_glass_icon_state = "shotglassbrown" + +/datum/reagent/consumable/ethanol/absinthe + name = "Absinthe" + description = "A powerful alcoholic drink. Rumored to cause hallucinations if taken irresponsibly." + color = rgb(10, 206, 0) + boozepwr = 80 //Very strong even by default + taste_description = "death and licorice" + glass_icon_state = "absinthe" + glass_name = "glass of absinthe" + glass_desc = "The smell is enough to bring you to the verge of tears. The hint of liquorice threatens to bring you over the edge." + shot_glass_icon_state = "shotglassgreen" + +/datum/reagent/consumable/ethanol/absinthe/on_mob_life(mob/living/carbon/M) + if(prob(10) && !HAS_TRAIT(M, TRAIT_ALCOHOL_TOLERANCE)) + M.hallucination += 4 //Reference to the urban myth + ..() + +/datum/reagent/consumable/ethanol/hooch + name = "Hooch" + description = "Low quality, low grade, and low expectations." + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 100 + taste_description = "pure resignation" + glass_icon_state = "glass_brown2" + glass_name = "Hooch" + glass_desc = "You can't help but feel like you'd rather drink anything else right now, just from looking at it." + +/datum/reagent/consumable/ethanol/hooch/on_mob_life(mob/living/carbon/M) + if(M.mind && M.mind.assigned_role == "Assistant") + M.heal_bodypart_damage(1,1) + . = 1 + return ..() || . + +/datum/reagent/consumable/ethanol/ale + name = "Ale" + description = "A dark alcoholic beverage made with malted barley and yeast." + color = "#664300" // rgb: 102, 67, 0 + boozepwr = 65 + taste_description = "hearty alcoholic grains" + glass_icon_state = "aleglass" + glass_name = "glass of ale" + glass_desc = "A pint of ale. A classic for the working class." + +/datum/reagent/consumable/ethanol/hcider + name = "Hard Cider" + description = "The alcoholic sibling to apple cider." + color = "#CD6839" + nutriment_factor = 1 * REAGENTS_METABOLISM + boozepwr = 25 + taste_description = "the season that falls between summer and winter" + glass_icon_state = "whiskeyglass" + glass_name = "hard cider" + glass_desc = "Sharper tasting, alcoholic apple cider." + shot_glass_icon_state = "shotglassbrown" + +/datum/reagent/consumable/ethanol/triple_sec + name = "Triple Sec" + description = "A sweet and vibrant orange liqueur." + color = "#ffcc66" + boozepwr = 30 + taste_description = "a warm flowery orange taste which recalls the ocean air and summer wind of distant shores" + glass_icon_state = "glass_orange" + glass_name = "Triple Sec" + glass_desc = "A glass of straight triple sec. Citrusy and warm." + +/datum/reagent/consumable/ethanol/creme_de_menthe + name = "Creme de Menthe" + description = "A minty liqueur excellent for refreshing, cool drinks." + color = "#00cc00" + boozepwr = 20 + taste_description = "a minty, cool, and invigorating splash of cold streamwater" + glass_icon_state = "glass_green" + glass_name = "Creme de Menthe" + glass_desc = "Bright green and minty - enough to tell you what it's going to taste like." + +/datum/reagent/consumable/ethanol/creme_de_cacao + name = "Creme de Cacao" + description = "A chocolatey liqueur excellent for adding dessert notes to beverages." + color = "#996633" + boozepwr = 20 + taste_description = "a slick and aromatic hint of chocolates swirling in a bite of alcohol" + glass_icon_state = "glass_brown" + glass_name = "Creme de Cacao" + glass_desc = "Creme de Cacao - chocolate-wine, essentially. Not milk chocolate, so expect some bite." + +/datum/reagent/consumable/ethanol/creme_de_coconut + name = "Creme de Coconut" + description = "A coconut liqueur for smooth, creamy, tropical drinks." + color = "#F7F0D0" + boozepwr = 20 + taste_description = "a sweet milky flavor with notes of toasted sugar" + glass_icon_state = "glass_white" + glass_name = "Creme de Coconut" + glass_desc = "A white glass of coconut liqueur." + +/datum/reagent/consumable/ethanol/sake + name = "Sake" + description = "A sweet rice wine." + color = "#DDDDDD" + boozepwr = 70 + taste_description = "sweet rice wine" + glass_icon_state = "sakecup" + glass_name = "cup of sake" + glass_desc = "A cup of sake. Capable of being served hot, cold, or at room temperature, and served in a traditionally-sized little cup." + +/datum/reagent/consumable/ethanol/fernet + name = "Fernet" + description = "An incredibly bitter herbal liqueur used as a digestif." + color = "#2d4b3b" // rgb: 27, 46, 36 + boozepwr = 80 + taste_description = "utter bitterness" + glass_name = "glass of fernet" + glass_desc = "A glass of pure Fernet. Intensely bitter and reserved to being a digestive more than something to be enjoyed." //Hi Kevum + +/datum/reagent/consumable/ethanol/applejack + name = "Applejack" + description = "The officially sponsored drink by the National Association for Anti-Gravity Automobile Dragracing (NAAGAD)." + color = "#ff6633" + boozepwr = 20 + taste_description = "resisting gravity through brandy" + glass_icon_state = "applejack_glass" + glass_name = "Applejack" + glass_desc = "You lament you can't watch any Agrav Races while out here." + +/datum/reagent/consumable/ethanol/champagne //How the hell did we not have champagne already!? + name = "Champagne" + description = "A sparkling wine known for its ability to strike fast and hard." + color = "#ffffc1" + boozepwr = 40 + taste_description = "auspicious occasions and bad decisions" + glass_icon_state = "champagne_glass" + glass_name = "Champagne" + glass_desc = "A sparkling wine, traditionally served in a flute that clearly displays the slowly rising bubbles." diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents/ethanol.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents/ethanol.dm new file mode 100644 index 00000000000..36f29e6aacd --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents/ethanol.dm @@ -0,0 +1,94 @@ +////////////// +// ALCOHOLS // +////////////// + + +///Greater numbers mean that less alcohol has greater intoxication potential +#define ALCOHOL_THRESHOLD_MODIFIER 1 +///The rate at which alcohol affects you +#define ALCOHOL_RATE 0.005 +///The exponent applied to boozepwr to make higher volume alcohol at least a little bit damaging to the liver +#define ALCOHOL_EXPONENT 1.6 + + +/datum/reagent/consumable/ethanol + name = "Ethanol" + description = "A well-known alcohol with a variety of applications." + color = "#404030" // rgb: 64, 64, 48 + nutriment_factor = 0 + taste_description = "alcohol" + metabolization_rate = 0.5 * REAGENTS_METABOLISM + var/boozepwr = 65 //Higher numbers equal higher hardness, higher hardness equals more intense alcohol poisoning + accelerant_quality = 5 + +/datum/reagent/consumable/ethanol/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray, mob/user) + . = ..() + if(chems.has_reagent(src, 1)) + mytray.adjustHealth(-round(chems.get_reagent_amount(type) * 0.05)) + mytray.adjustPests(-round(boozepwr * 0.05)) + + +// -CHART OUT OF DATE- -ERIKA // + +/* +Boozepwr Chart +Note that all higher effects of alcohol poisoning will inherit effects for smaller amounts (i.e. light poisoning inherts from slight poisoning) +In addition, severe effects won't always trigger unless the drink is poisonously strong +All effects don't start immediately, but rather get worse over time; the rate is affected by the imbiber's alcohol tolerance + +0: Non-alcoholic +1-10: Barely classifiable as alcohol - occassional slurring +11-20: Slight alcohol content - slurring +21-30: Below average - imbiber begins to look slightly drunk +31-40: Just below average - no unique effects +41-50: Average - mild disorientation, imbiber begins to look drunk +51-60: Just above average - disorientation, vomiting, imbiber begins to look heavily drunk +61-70: Above average - small chance of blurry vision, imbiber begins to look smashed +71-80: High alcohol content - blurry vision, imbiber completely shitfaced +81-90: Extremely high alcohol content - heavy toxin damage, passing out +91-100: Dangerously toxic - swift death +*/ + +/datum/reagent/consumable/ethanol/on_mob_life(mob/living/carbon/C) + if(C.drunkenness < volume * boozepwr * ALCOHOL_THRESHOLD_MODIFIER || boozepwr < 0) + var/booze_power = boozepwr + if(HAS_TRAIT(C, TRAIT_ALCOHOL_TOLERANCE)) //we're an accomplished drinker + booze_power *= 0.7 + if(HAS_TRAIT(C, TRAIT_LIGHT_DRINKER)) + booze_power *= 2 + C.drunkenness = max((C.drunkenness + (sqrt(volume) * booze_power * ALCOHOL_RATE)), 0) //Volume, power, and server alcohol rate effect how quickly one gets drunk + if(boozepwr > 0) + var/obj/item/organ/liver/L = C.getorganslot(ORGAN_SLOT_LIVER) + if (istype(L)) + L.applyOrganDamage(((max(sqrt(volume) * (boozepwr ** ALCOHOL_EXPONENT) * L.alcohol_tolerance, 0))/150)) + return ..() + +/datum/reagent/consumable/ethanol/expose_obj(obj/O, reac_volume) + if(istype(O, /obj/item/paper)) + var/obj/item/paper/paperaffected = O + paperaffected.clear_paper() + to_chat(usr, "[paperaffected]'s ink washes away.") + if(istype(O, /obj/item/book)) + if(reac_volume >= 5) + var/obj/item/book/affectedbook = O + affectedbook.dat = null + O.visible_message("[O]'s writing is washed away by [name]!") + else + O.visible_message("[O]'s ink is smeared by [name], but doesn't wash away!") + return + +/datum/reagent/consumable/ethanol/expose_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with ethanol isn't quite as good as fuel. + if(!isliving(M)) + return + + if(method in list(TOUCH, SMOKE, VAPOR, PATCH)) + M.adjust_fire_stacks(reac_volume / 15) + + if(iscarbon(M)) + var/mob/living/carbon/C = M + var/power_multiplier = boozepwr / 65 // Weak alcohol has less sterilizing power + + for(var/s in C.surgeries) + var/datum/surgery/S = s + S.speed_modifier = max(0.1*power_multiplier, S.speed_modifier) + return ..() diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents/fruit_wine.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents/fruit_wine.dm new file mode 100644 index 00000000000..1359b8df613 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents/fruit_wine.dm @@ -0,0 +1,106 @@ +/datum/reagent/consumable/ethanol/fruit_wine + name = "Fruit Wine" + description = "A wine made from grown plants." + color = "#FFFFFF" + boozepwr = 35 + quality = DRINK_GOOD + taste_description = "bad coding" + can_synth = FALSE + var/list/names = list("null fruit" = 1) //Names of the fruits used. Associative list where name is key, value is the percentage of that fruit. + var/list/tastes = list("bad coding" = 1) //List of tastes. See above. + +/datum/reagent/consumable/ethanol/fruit_wine/on_new(list/data) + names = data["names"] + tastes = data["tastes"] + boozepwr = data["boozepwr"] + color = data["color"] + generate_data_info(data) + +/datum/reagent/consumable/ethanol/fruit_wine/on_merge(list/data, amount) + var/diff = (amount/volume) + if(diff < 1) + color = BlendRGB(color, data["color"], diff/2) //The percentage difference over two, so that they take average if equal. + else + color = BlendRGB(color, data["color"], (1/diff)/2) //Adjust so it's always blending properly. + var/oldvolume = volume-amount + + var/list/cachednames = data["names"] + for(var/name in names | cachednames) + names[name] = ((names[name] * oldvolume) + (cachednames[name] * amount)) / volume + + var/list/cachedtastes = data["tastes"] + for(var/taste in tastes | cachedtastes) + tastes[taste] = ((tastes[taste] * oldvolume) + (cachedtastes[taste] * amount)) / volume + + boozepwr *= oldvolume + var/newzepwr = data["boozepwr"] * amount + boozepwr += newzepwr + boozepwr /= volume //Blending boozepwr to volume. + generate_data_info(data) + +/datum/reagent/consumable/ethanol/fruit_wine/proc/generate_data_info(list/data) + // BYOND's compiler fails to catch non-consts in a ranged switch case, and it causes incorrect behavior. So this needs to explicitly be a constant. + var/const/minimum_percent = 0.15 //Percentages measured between 0 and 1. + var/list/primary_tastes = list() + var/list/secondary_tastes = list() + glass_name = "glass of [name]" + glass_desc = description + for(var/taste in tastes) + var/taste_percent = tastes[taste] + if(taste_percent < minimum_percent) + continue + if(taste_percent > (minimum_percent * 2)) + primary_tastes += taste + continue + secondary_tastes += taste + + var/minimum_name_percent = 0.35 + name = "" + var/list/names_in_order = sortTim(names, /proc/cmp_numeric_dsc, TRUE) + var/named = FALSE + for(var/fruit_name in names) + if(names[fruit_name] >= minimum_name_percent) + name += "[fruit_name] " + named = TRUE + if(named) + name += "wine" + else + name = "mixed [names_in_order[1]] wine" + + var/alcohol_description + switch(boozepwr) + if(120 to INFINITY) + alcohol_description = "suicidally strong" + if(90 to 120) + alcohol_description = "intense" + if(70 to 90) + alcohol_description = "strong" + if(40 to 70) + alcohol_description = "rich" + if(20 to 40) + alcohol_description = "mild" + if(0 to 20) + alcohol_description = "sweet" + else + alcohol_description = "watery" //How the hell did you get negative boozepwr? + + var/list/fruits = list() + if(names_in_order.len <= 3) + fruits = names_in_order + else + for(var/i in 1 to 3) + fruits += names_in_order[i] + fruits += "other plants" + var/fruit_list = english_list(fruits) + description = "A [alcohol_description] wine brewed from [fruit_list]." + + var/flavor = "" + if(!primary_tastes.len) + primary_tastes = list("[alcohol_description] alcohol") + flavor += english_list(primary_tastes) + if(secondary_tastes.len) + flavor += ", with a hint of " + flavor += english_list(secondary_tastes) + taste_description = flavor + if(holder.my_atom) + holder.my_atom.on_reagent_change() diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents/mixed_drinks.dm similarity index 76% rename from code/modules/reagents/chemistry/reagents/alcohol_reagents.dm rename to code/modules/reagents/chemistry/reagents/alcohol_reagents/mixed_drinks.dm index 10519c75c43..b2de221caf4 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents/mixed_drinks.dm @@ -1,107 +1,4 @@ -#define ALCOHOL_THRESHOLD_MODIFIER 1 //Greater numbers mean that less alcohol has greater intoxication potential -#define ALCOHOL_RATE 0.005 //The rate at which alcohol affects you -#define ALCOHOL_EXPONENT 1.6 //The exponent applied to boozepwr to make higher volume alcohol at least a little bit damaging to the liver - -////////////// I don't know who made this header before I refactored alcohols but I'm going to fucking strangle them because it was so ugly, holy Christ -// ALCOHOLS // -////////////// - -/datum/reagent/consumable/ethanol - name = "Ethanol" - description = "A well-known alcohol with a variety of applications." - color = "#404030" // rgb: 64, 64, 48 - nutriment_factor = 0 - taste_description = "alcohol" - metabolization_rate = 0.5 * REAGENTS_METABOLISM - var/boozepwr = 65 //Higher numbers equal higher hardness, higher hardness equals more intense alcohol poisoning - accelerant_quality = 5 - -/datum/reagent/consumable/ethanol/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray, mob/user) - . = ..() - if(chems.has_reagent(src, 1)) - mytray.adjustHealth(-round(chems.get_reagent_amount(type) * 0.05)) - mytray.adjustPests(-round(boozepwr * 0.05)) - -/* -Boozepwr Chart -Note that all higher effects of alcohol poisoning will inherit effects for smaller amounts (i.e. light poisoning inherts from slight poisoning) -In addition, severe effects won't always trigger unless the drink is poisonously strong -All effects don't start immediately, but rather get worse over time; the rate is affected by the imbiber's alcohol tolerance - -0: Non-alcoholic -1-10: Barely classifiable as alcohol - occassional slurring -11-20: Slight alcohol content - slurring -21-30: Below average - imbiber begins to look slightly drunk -31-40: Just below average - no unique effects -41-50: Average - mild disorientation, imbiber begins to look drunk -51-60: Just above average - disorientation, vomiting, imbiber begins to look heavily drunk -61-70: Above average - small chance of blurry vision, imbiber begins to look smashed -71-80: High alcohol content - blurry vision, imbiber completely shitfaced -81-90: Extremely high alcohol content - heavy toxin damage, passing out -91-100: Dangerously toxic - swift death -*/ - -/datum/reagent/consumable/ethanol/on_mob_life(mob/living/carbon/C) - if(C.drunkenness < volume * boozepwr * ALCOHOL_THRESHOLD_MODIFIER || boozepwr < 0) - var/booze_power = boozepwr - if(HAS_TRAIT(C, TRAIT_ALCOHOL_TOLERANCE)) //we're an accomplished drinker - booze_power *= 0.7 - if(HAS_TRAIT(C, TRAIT_LIGHT_DRINKER)) - booze_power *= 2 - C.drunkenness = max((C.drunkenness + (sqrt(volume) * booze_power * ALCOHOL_RATE)), 0) //Volume, power, and server alcohol rate effect how quickly one gets drunk - if(boozepwr > 0) - var/obj/item/organ/liver/L = C.getorganslot(ORGAN_SLOT_LIVER) - if (istype(L)) - L.applyOrganDamage(((max(sqrt(volume) * (boozepwr ** ALCOHOL_EXPONENT) * L.alcohol_tolerance, 0))/150)) - return ..() - -/datum/reagent/consumable/ethanol/expose_obj(obj/O, reac_volume) - if(istype(O, /obj/item/paper)) - var/obj/item/paper/paperaffected = O - paperaffected.clear_paper() - to_chat(usr, "[paperaffected]'s ink washes away.") - if(istype(O, /obj/item/book)) - if(reac_volume >= 5) - var/obj/item/book/affectedbook = O - affectedbook.dat = null - O.visible_message("[O]'s writing is washed away by [name]!") - else - O.visible_message("[O]'s ink is smeared by [name], but doesn't wash away!") - return - -/datum/reagent/consumable/ethanol/expose_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with ethanol isn't quite as good as fuel. - if(!isliving(M)) - return - - if(method in list(TOUCH, SMOKE, VAPOR, PATCH)) - M.adjust_fire_stacks(reac_volume / 15) - - if(iscarbon(M)) - var/mob/living/carbon/C = M - var/power_multiplier = boozepwr / 65 // Weak alcohol has less sterilizing power - - for(var/s in C.surgeries) - var/datum/surgery/S = s - S.speed_modifier = max(0.1*power_multiplier, S.speed_modifier) - return ..() - -/datum/reagent/consumable/ethanol/beer - name = "Beer" - description = "An alcoholic beverage, brewed originally to keep a safe source of drinking water. A timeless classic." - color = "#664300" // rgb: 102, 67, 0 - nutriment_factor = 1 * REAGENTS_METABOLISM - boozepwr = 25 - taste_description = "bad water" - glass_name = "glass of beer" - glass_desc = "A pint of beer." - -/datum/reagent/consumable/ethanol/beer/light - name = "Light Beer" - description = "An alcoholic beverage, brewed originally to keep a safe source of drinking water. This variety has reduced calorie and alcohol content." - boozepwr = 5 //Space Europeans hate it - taste_description = "dish water" - glass_name = "glass of light beer" - glass_desc = "A pint of watery light beer." +/* Mixed drinks */ /datum/reagent/consumable/ethanol/beer/green name = "Green Beer" @@ -120,72 +17,6 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/beer/green/on_mob_end_metabolize(mob/living/M) M.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, color) -/datum/reagent/consumable/ethanol/kahlua - name = "Kahlua" - description = "A widely known coffee-flavoured liqueur. Still labeled under an old name from Earth, despite the loss of history." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 45 - glass_icon_state = "kahluaglass" - glass_name = "glass of coffee liquor" - glass_desc = "Bitter from the coffee and alcohol alike!" - shot_glass_icon_state = "shotglasscream" - -/datum/reagent/consumable/ethanol/kahlua/on_mob_life(mob/living/carbon/M) - M.dizziness = max(0,M.dizziness-5) - M.drowsyness = max(0,M.drowsyness-3) - M.AdjustSleeping(-40) - if(!HAS_TRAIT(M, TRAIT_ALCOHOL_TOLERANCE)) - M.Jitter(5) - ..() - . = 1 - -/datum/reagent/consumable/ethanol/whiskey - name = "Whiskey" - description = "A well-aged whiskey." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 75 - taste_description = "molasses" - glass_icon_state = "whiskeyglass" - glass_name = "glass of whiskey" - glass_desc = "Often described as having a silky mouthfeel and a smokey aftertaste. The brown-amber color catches the light very well." - shot_glass_icon_state = "shotglassbrown" - -/datum/reagent/consumable/ethanol/whiskey/kong - name = "Kong" - description = "Makes You Go Ape!" - color = "#332100" // rgb: 51, 33, 0 - addiction_threshold = 15 - taste_description = "the grip of a giant ape" - glass_name = "glass of Kong" - glass_desc = "Makes You Go Ape!" - -/datum/reagent/consumable/ethanol/whiskey/kong/addiction_act_stage1(mob/living/M) - if(prob(5)) - to_chat(M, "You've made so many mistakes.") - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "depression_minimal", /datum/mood_event/depression_minimal) - ..() - -/datum/reagent/consumable/ethanol/whiskey/kong/addiction_act_stage2(mob/living/M) - if(prob(5)) - to_chat(M, "No matter what you do, people will always get hurt.") - SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "depression_minimal", /datum/mood_event/depression_minimal) - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "depression_mild", /datum/mood_event/depression_mild) - ..() - -/datum/reagent/consumable/ethanol/whiskey/kong/addiction_act_stage3(mob/living/M) - if(prob(5)) - to_chat(M, "You've lost so many people.") - SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "depression_mild", /datum/mood_event/depression_mild) - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "depression_moderate", /datum/mood_event/depression_moderate) - ..() - -/datum/reagent/consumable/ethanol/whiskey/kong/addiction_act_stage4(mob/living/M) - if(prob(5)) - to_chat(M, "Just lie down and die.") - SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "depression_moderate", /datum/mood_event/depression_moderate) - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "depression_severe", /datum/mood_event/depression_severe) - ..() - /datum/reagent/consumable/ethanol/whiskey/candycorn name = "candy corn liquor" description = "Like they drank in 2D speakeasies." @@ -217,7 +48,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/vimukti/on_mob_life(mob/living/carbon/M) M.drowsyness = max(0,M.drowsyness-7) M.AdjustSleeping(-40) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) if(!HAS_TRAIT(M, TRAIT_ALCOHOL_TOLERANCE)) M.Jitter(5) return ..() @@ -263,21 +94,6 @@ All effects don't start immediately, but rather get worse over time; the rate is to_chat(M, "You're pretty sure you just felt your heart stop for a second there...") M.playsound_local(M, 'sound/effects/singlebeat.ogg', 100, 0) -/datum/reagent/consumable/ethanol/vodka - name = "Vodka" - description = "A clear, hard liquor. Doubles as a flammable fuel source, if you really need it." - color = "#0064C8" // rgb: 0, 100, 200 - boozepwr = 65 - taste_description = "grain alcohol" - glass_icon_state = "ginvodkaglass" - glass_name = "glass of vodka" - glass_desc = "It's almost difficult to tell the glass is full of vodka until you tip it around. The smell makes your nose wrinkle... but it might just be worth it." - shot_glass_icon_state = "shotglassclear" - -/datum/reagent/consumable/ethanol/vodka/on_mob_life(mob/living/carbon/M) - M.radiation = max(M.radiation-2,0) - return ..() - /datum/reagent/consumable/ethanol/bilk name = "Bilk" description = "This appears to be beer mixed with milk. Creative...?" @@ -310,141 +126,6 @@ All effects don't start immediately, but rather get worse over time; the rate is M.set_drugginess(50) return ..() -/datum/reagent/consumable/ethanol/gin - name = "Gin" - description = "A very sharp alcohol, with a flavor that's distinctly fresh." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 45 - taste_description = "an alcoholic pine tree" - glass_icon_state = "ginvodkaglass" - glass_name = "glass of gin" - glass_desc = "A glass of gin, made with a specific type of berry that leaves it smelling like the tree it came from. It's enough to wet your eyes." - -/datum/reagent/consumable/ethanol/rum - name = "Rum" - description = "The liquor of choice for sailors and spacers alike." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 60 - taste_description = "spiked butterscotch" - glass_icon_state = "rumglass" - glass_name = "glass of rum" - glass_desc = "There's no need to worry about being seen as a pirate with one of these. If you add enough ice and let it melt, it'll turn into grog." - shot_glass_icon_state = "shotglassbrown" - -/datum/reagent/consumable/ethanol/tequila - name = "Tequila" - description = "A strongly flavoured spirit." - color = "#FFFF91" // rgb: 255, 255, 145 - boozepwr = 70 - taste_description = "paint stripper" - glass_icon_state = "tequilaglass" - glass_name = "glass of tequila" - glass_desc = "Despite the strong, woody taste, there's just enough sweetness to keep you coming for more." - shot_glass_icon_state = "shotglassgold" - -/datum/reagent/consumable/ethanol/vermouth - name = "Vermouth" - description = "A fine wine to go with a meal." - color = "#91FF91" // rgb: 145, 255, 145 - boozepwr = 45 - taste_description = "dry alcohol" - glass_icon_state = "vermouthglass" - glass_name = "glass of vermouth" - glass_desc = "Vermouth was used as a medicine in the past, and the flavor makes sure to remind you of that." - shot_glass_icon_state = "shotglassclear" - -/datum/reagent/consumable/ethanol/wine - name = "Wine" - description = "An alcoholic beverage made from fermented grapes of all kinds." - color = "#7E4043" // rgb: 126, 64, 67 - boozepwr = 35 - taste_description = "bitter sweetness" - glass_icon_state = "wineglass" - glass_name = "glass of wine" - glass_desc = "Deeply red wine in a glass. You're not enough of a sommelier to really describe how it smells." - shot_glass_icon_state = "shotglassred" - -/datum/reagent/consumable/ethanol/lizardwine - name = "Blueflame Pyrecask" - description = "A popular Zohil beverage, made by infusing specially-gathered cacti and grapes in ethanol." - color = "#7E4043" // rgb: 126, 64, 67 - boozepwr = 45 - quality = DRINK_FANTASTIC - taste_description = "warm sweetness" - -/datum/reagent/consumable/ethanol/grappa - name = "Grappa" - description = "A fine brandy mixed with spirits." - color = "#F8EBF1" - boozepwr = 60 - taste_description = "classy bitter sweetness" - glass_icon_state = "grappa" - glass_name = "glass of grappa" - glass_desc = "Despite being made from the recycled remains of wine grapes, it's not bad at all." - -/datum/reagent/consumable/ethanol/amaretto - name = "Amaretto" - description = "A gentle drink that carries a sweet aroma." - color = "#E17600" - boozepwr = 25 - taste_description = "fruity and nutty sweetness" - glass_icon_state = "amarettoglass" - glass_name = "glass of amaretto" - glass_desc = "A sweet and syrupy looking alcohol. You're lucky it wasn't lost to history." - -/datum/reagent/consumable/ethanol/cognac - name = "Cognac" - description = "A sweet and strongly alcoholic drink, made after numerous distillations and years of maturing." - color = "#AB3C05" // rgb: 171, 60, 5 - boozepwr = 75 - taste_description = "sharp and relaxing" - glass_icon_state = "cognacglass" - glass_name = "glass of cognac" - glass_desc = "You wonder how many exhausted Solarian bureaucrats are drinking this the same way you are, right now." - shot_glass_icon_state = "shotglassbrown" - -/datum/reagent/consumable/ethanol/absinthe - name = "Absinthe" - description = "A powerful alcoholic drink. Rumored to cause hallucinations if taken irresponsibly." - color = rgb(10, 206, 0) - boozepwr = 80 //Very strong even by default - taste_description = "death and licorice" - glass_icon_state = "absinthe" - glass_name = "glass of absinthe" - glass_desc = "The smell is enough to bring you to the verge of tears. The hint of liquorice threatens to bring you over the edge." - shot_glass_icon_state = "shotglassgreen" - -/datum/reagent/consumable/ethanol/absinthe/on_mob_life(mob/living/carbon/M) - if(prob(10) && !HAS_TRAIT(M, TRAIT_ALCOHOL_TOLERANCE)) - M.hallucination += 4 //Reference to the urban myth - ..() - -/datum/reagent/consumable/ethanol/hooch - name = "Hooch" - description = "Low quality, low grade, and low expectations." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 100 - taste_description = "pure resignation" - glass_icon_state = "glass_brown2" - glass_name = "Hooch" - glass_desc = "You can't help but feel like you'd rather drink anything else right now, just from looking at it." - -/datum/reagent/consumable/ethanol/hooch/on_mob_life(mob/living/carbon/M) - if(M.mind && M.mind.assigned_role == "Assistant") - M.heal_bodypart_damage(1,1) - . = 1 - return ..() || . - -/datum/reagent/consumable/ethanol/ale - name = "Ale" - description = "A dark alcoholic beverage made with malted barley and yeast." - color = "#664300" // rgb: 102, 67, 0 - boozepwr = 65 - taste_description = "hearty alcoholic grains" - glass_icon_state = "aleglass" - glass_name = "glass of ale" - glass_desc = "A pint of ale. A classic for the working class." - /datum/reagent/consumable/ethanol/goldschlager name = "Goldschlager" description = "100 proof cinnamon schnapps, made for the Student Unions' unbearable tastes." @@ -513,7 +194,6 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "whiskey cola" glass_desc = "An sweet-and-bitter mixture of cola and whiskey." - /datum/reagent/consumable/ethanol/martini name = "Classic Martini" description = "Vermouth with gin." @@ -654,7 +334,7 @@ All effects don't start immediately, but rather get worse over time; the rate is shot_glass_icon_state = "toxinsspecialglass" /datum/reagent/consumable/ethanol/toxins_special/on_mob_life(mob/living/M) - M.adjust_bodytemperature(15 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal() + 20) //310.15 is the normal bodytemp. + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal() + 20) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/beepsky_smash @@ -845,7 +525,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "Vodka, cream, and ice. No actual antifreeze included, of course." /datum/reagent/consumable/ethanol/antifreeze/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(20 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal() + 20) //310.15 is the normal bodytemp. + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal() + 20) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/barefoot @@ -911,7 +591,6 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "Vodka and Tonic" glass_desc = "The stronger sibling of the Gin and Tonic." - /datum/reagent/consumable/ethanol/ginfizz name = "Gin Fizz" description = "Refreshingly lemony, deliciously dry." @@ -923,7 +602,6 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "gin fizz" glass_desc = "Refreshingly lemony, deliciously dry." - /datum/reagent/consumable/ethanol/bahama_mama name = "Bahama Mama" description = "A tropical cocktail with a complex blend of fruity flavors." @@ -958,7 +636,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "Vodka with capsaicin for the extra feeling of intense warmth. Difficult to take large swallows." /datum/reagent/consumable/ethanol/sbiten/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(50 * TEMPERATURE_DAMAGE_COEFFICIENT, 0 , M.dna.species.bodytemp_heat_damage_limit) //310.15 is the normal bodytemp. + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0 , M.dna.species.bodytemp_heat_damage_limit) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/red_mead @@ -995,7 +673,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "Iced beer, served in a chilled glass. It's cold enough to leave a trail in the air." /datum/reagent/consumable/ethanol/iced_beer/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-20 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C) //310.15 is the normal bodytemp. + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/grog @@ -1008,7 +686,6 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "Grog" glass_desc = "Watered-down rum, to really stretch out your alcohol rations. A Belter classic." - /datum/reagent/consumable/ethanol/aloe name = "Aloe" description = "Zohil Cream and watermelon juice. Mellows out the alcoholic bite for a mild drink." @@ -1203,18 +880,6 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "whiskey sour" glass_desc = "Lemon juice mixed with whiskey and a dash of sugar. Surprisingly satisfying." -/datum/reagent/consumable/ethanol/hcider - name = "Hard Cider" - description = "The alcoholic sibling to apple cider." - color = "#CD6839" - nutriment_factor = 1 * REAGENTS_METABOLISM - boozepwr = 25 - taste_description = "the season that falls between summer and winter" - glass_icon_state = "whiskeyglass" - glass_name = "hard cider" - glass_desc = "Sharper tasting, alcoholic apple cider." - shot_glass_icon_state = "shotglassbrown" - //Another reference. Heals those in critical condition extremely quickly. /datum/reagent/consumable/ethanol/hearty_punch name = "Hearty Punch" @@ -1248,8 +913,6 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "Bacchus' Blessing" glass_desc = "You didn't think it was possible for a liquid to be so utterly revolting. Are you sure about this...?" - - /datum/reagent/consumable/ethanol/atomicbomb name = "Atomic Bomb" description = "Nuclear proliferation never tasted so good." @@ -1373,26 +1036,18 @@ All effects don't start immediately, but rather get worse over time; the rate is if(1 to 5) M.Dizzy(10) M.set_drugginess(30) - if(prob(10)) - M.emote(pick("twitch","giggle")) if(5 to 10) M.Jitter(20) M.Dizzy(20) M.set_drugginess(45) - if(prob(20)) - M.emote(pick("twitch","giggle")) if (10 to 200) M.Jitter(40) M.Dizzy(40) M.set_drugginess(60) - if(prob(30)) - M.emote(pick("twitch","giggle")) if(200 to INFINITY) M.Jitter(60) M.Dizzy(60) M.set_drugginess(75) - if(prob(40)) - M.emote(pick("twitch","giggle")) if(prob(30)) M.adjustToxLoss(2, 0) . = 1 @@ -1410,45 +1065,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "eggnog" glass_desc = "For enjoying the Winter Solstice." -/datum/reagent/consumable/ethanol/triple_sec - name = "Triple Sec" - description = "A sweet and vibrant orange liqueur." - color = "#ffcc66" - boozepwr = 30 - taste_description = "a warm flowery orange taste which recalls the ocean air and summer wind of distant shores" - glass_icon_state = "glass_orange" - glass_name = "Triple Sec" - glass_desc = "A glass of straight triple sec. Citrusy and warm." -/datum/reagent/consumable/ethanol/creme_de_menthe - name = "Creme de Menthe" - description = "A minty liqueur excellent for refreshing, cool drinks." - color = "#00cc00" - boozepwr = 20 - taste_description = "a minty, cool, and invigorating splash of cold streamwater" - glass_icon_state = "glass_green" - glass_name = "Creme de Menthe" - glass_desc = "Bright green and minty - enough to tell you what it's going to taste like." - -/datum/reagent/consumable/ethanol/creme_de_cacao - name = "Creme de Cacao" - description = "A chocolatey liqueur excellent for adding dessert notes to beverages." - color = "#996633" - boozepwr = 20 - taste_description = "a slick and aromatic hint of chocolates swirling in a bite of alcohol" - glass_icon_state = "glass_brown" - glass_name = "Creme de Cacao" - glass_desc = "Creme de Cacao - chocolate-wine, essentially. Not milk chocolate, so expect some bite." - -/datum/reagent/consumable/ethanol/creme_de_coconut - name = "Creme de Coconut" - description = "A coconut liqueur for smooth, creamy, tropical drinks." - color = "#F7F0D0" - boozepwr = 20 - taste_description = "a sweet milky flavor with notes of toasted sugar" - glass_icon_state = "glass_white" - glass_name = "Creme de Coconut" - glass_desc = "A white glass of coconut liqueur." /datum/reagent/consumable/ethanol/quadruple_sec name = "Quadruple Sec" @@ -1480,17 +1097,6 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "Quintuple Sec" glass_desc = "The logical endpoint of the Quadruple Sec. Often had in the hands of senior security staff, though you really should not be drinking this while on-duty." -/datum/reagent/consumable/ethanol/quintuple_sec/on_mob_life(mob/living/carbon/M) - //Securidrink in line with the Screwdriver for engineers or Nothing for mimes but STRONG.. - if(HAS_TRAIT(M.mind, TRAIT_LAW_ENFORCEMENT_METABOLISM)) - M.heal_bodypart_damage(2,2,2) - M.adjustBruteLoss(-5,0) - M.adjustOxyLoss(-5,0) - M.adjustFireLoss(-5,0) - M.adjustToxLoss(-5,0) - . = 1 - return ..() - /datum/reagent/consumable/ethanol/grasshopper name = "Grasshopper" description = "A fresh and sweet dessert shooter." @@ -1609,16 +1215,6 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/crevice_spike/on_mob_metabolize(mob/living/L) //damage only applies when drink first enters system and won't again until drink metabolizes out L.adjustBruteLoss(3 * min(5,volume)) //minimum 3 brute damage on ingestion to limit non-drink means of injury - a full 5 unit gulp of the drink trucks you for the full 15 -/datum/reagent/consumable/ethanol/sake - name = "Sake" - description = "A sweet rice wine." - color = "#DDDDDD" - boozepwr = 70 - taste_description = "sweet rice wine" - glass_icon_state = "sakecup" - glass_name = "cup of sake" - glass_desc = "A cup of sake. Capable of being served hot, cold, or at room temperature, and served in a traditionally-sized little cup." - /datum/reagent/consumable/ethanol/peppermint_patty name = "Peppermint Patty" description = "This lightly alcoholic drink combines the benefits of menthol and cocoa." @@ -1632,7 +1228,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/peppermint_patty/on_mob_life(mob/living/carbon/M) M.apply_status_effect(/datum/status_effect/throat_soothed) - M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) ..() /datum/reagent/consumable/ethanol/alexander @@ -1746,14 +1342,6 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "Gorlex Gator" glass_desc = "A chilly drink made in remembrance of Gorlex IV. It's not a wise idea to go ordering this when the PGF are in town, though." -/datum/reagent/consumable/ethanol/fernet - name = "Fernet" - description = "An incredibly bitter herbal liqueur used as a digestif." - color = "#2d4b3b" // rgb: 27, 46, 36 - boozepwr = 80 - taste_description = "utter bitterness" - glass_name = "glass of fernet" - glass_desc = "A glass of pure Fernet. Intensely bitter and reserved to being a digestive more than something to be enjoyed." //Hi Kevum /datum/reagent/consumable/ethanol/fernet/on_mob_life(mob/living/carbon/M) if(M.nutrition <= NUTRITION_LEVEL_STARVING) @@ -1816,7 +1404,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/branca_menta/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-20 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C) return ..() /datum/reagent/consumable/ethanol/branca_menta/on_mob_metabolize(mob/living/M) @@ -1844,125 +1432,6 @@ All effects don't start immediately, but rather get worse over time; the rate is . = 1 return ..() -/datum/reagent/consumable/ethanol/fruit_wine - name = "Fruit Wine" - description = "A wine made from grown plants." - color = "#FFFFFF" - boozepwr = 35 - quality = DRINK_GOOD - taste_description = "bad coding" - can_synth = FALSE - var/list/names = list("null fruit" = 1) //Names of the fruits used. Associative list where name is key, value is the percentage of that fruit. - var/list/tastes = list("bad coding" = 1) //List of tastes. See above. - -/datum/reagent/consumable/ethanol/fruit_wine/on_new(list/data) - names = data["names"] - tastes = data["tastes"] - boozepwr = data["boozepwr"] - color = data["color"] - generate_data_info(data) - -/datum/reagent/consumable/ethanol/fruit_wine/on_merge(list/data, amount) - var/diff = (amount/volume) - if(diff < 1) - color = BlendRGB(color, data["color"], diff/2) //The percentage difference over two, so that they take average if equal. - else - color = BlendRGB(color, data["color"], (1/diff)/2) //Adjust so it's always blending properly. - var/oldvolume = volume-amount - - var/list/cachednames = data["names"] - for(var/name in names | cachednames) - names[name] = ((names[name] * oldvolume) + (cachednames[name] * amount)) / volume - - var/list/cachedtastes = data["tastes"] - for(var/taste in tastes | cachedtastes) - tastes[taste] = ((tastes[taste] * oldvolume) + (cachedtastes[taste] * amount)) / volume - - boozepwr *= oldvolume - var/newzepwr = data["boozepwr"] * amount - boozepwr += newzepwr - boozepwr /= volume //Blending boozepwr to volume. - generate_data_info(data) - -/datum/reagent/consumable/ethanol/fruit_wine/proc/generate_data_info(list/data) - // BYOND's compiler fails to catch non-consts in a ranged switch case, and it causes incorrect behavior. So this needs to explicitly be a constant. - var/const/minimum_percent = 0.15 //Percentages measured between 0 and 1. - var/list/primary_tastes = list() - var/list/secondary_tastes = list() - glass_name = "glass of [name]" - glass_desc = description - for(var/taste in tastes) - var/taste_percent = tastes[taste] - if(taste_percent < minimum_percent) - continue - if(taste_percent > (minimum_percent * 2)) - primary_tastes += taste - continue - secondary_tastes += taste - - var/minimum_name_percent = 0.35 - name = "" - var/list/names_in_order = sortTim(names, /proc/cmp_numeric_dsc, TRUE) - var/named = FALSE - for(var/fruit_name in names) - if(names[fruit_name] >= minimum_name_percent) - name += "[fruit_name] " - named = TRUE - if(named) - name += "wine" - else - name = "mixed [names_in_order[1]] wine" - - var/alcohol_description - switch(boozepwr) - if(120 to INFINITY) - alcohol_description = "suicidally strong" - if(90 to 120) - alcohol_description = "rather strong" - if(70 to 90) - alcohol_description = "strong" - if(40 to 70) - alcohol_description = "rich" - if(20 to 40) - alcohol_description = "mild" - if(0 to 20) - alcohol_description = "sweet" - else - alcohol_description = "watery" //How the hell did you get negative boozepwr? - - var/list/fruits = list() - if(names_in_order.len <= 3) - fruits = names_in_order - else - for(var/i in 1 to 3) - fruits += names_in_order[i] - fruits += "other plants" - var/fruit_list = english_list(fruits) - description = "A [alcohol_description] wine brewed from [fruit_list]." - - var/flavor = "" - if(!primary_tastes.len) - primary_tastes = list("[alcohol_description] alcohol") - flavor += english_list(primary_tastes) - if(secondary_tastes.len) - flavor += ", with a hint of " - flavor += english_list(secondary_tastes) - taste_description = flavor - if(holder.my_atom) - holder.my_atom.on_reagent_change() - - -/datum/reagent/consumable/ethanol/champagne //How the hell did we not have champagne already!? - name = "Champagne" - description = "A sparkling wine known for its ability to strike fast and hard." - color = "#ffffc1" - boozepwr = 40 - taste_description = "auspicious occasions and bad decisions" - glass_icon_state = "champagne_glass" - glass_name = "Champagne" - glass_desc = "A sparkling wine, traditionally served in a flute that clearly displays the slowly rising bubbles." - - /datum/reagent/consumable/ethanol/wizz_fizz name = "Wizz Fizz" description = "A magical potion, fizzy and wild! However the taste, you will find, is quite mild." @@ -1993,16 +1462,6 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "Stunball" glass_desc = "Made in protest of the Mothball mixed drink being recognized by the Interstellar Bartenders Association, who refute the idea of a singular point of origin. The taste is as spiteful as its history." -/datum/reagent/consumable/ethanol/applejack - name = "Applejack" - description = "The officially sponsored drink by the National Association for Anti-Gravity Automobile Dragracing (NAAGAD)." - color = "#ff6633" - boozepwr = 20 - taste_description = "resisting gravity through brandy" - glass_icon_state = "applejack_glass" - glass_name = "Applejack" - glass_desc = "You lament you can't watch any Agrav Races while out here." - /datum/reagent/consumable/ethanol/jack_rose name = "Jackalope" description = "A light cocktail named after a famous anti-gravity racer." @@ -2042,24 +1501,6 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_name = "Old Timer" glass_desc = "You might not be the target audience of this drink if you're still out in the Frontier, though." -/datum/reagent/consumable/ethanol/old_timer/on_mob_life(mob/living/carbon/M) - if(prob(20)) - if(ishuman(M)) - var/mob/living/carbon/human/N = M - N.age++ - if(N.age > N.dna.species.species_age_max * 0.6) - N.facial_hair_color = "ccc" - N.hair_color = "ccc" - N.update_hair() - if(N.age > N.dna.species.species_age_max * 0.8) - N.become_nearsighted(type) - - if(N.age > N.dna.species.species_age_max * 1.2) //Best not let people get older than this or i might incur G-ds wrath - M.visible_message("[M] becomes older than any man should be.. and crumbles into dust!") - M.dust(0,1,0) - - return ..() - /datum/reagent/consumable/ethanol/rubberneck name = "Rubberneck" description = "A quality rubberneck should not contain any gross natural ingredients." @@ -2128,7 +1569,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/mauna_loa/on_mob_life(mob/living/carbon/M) // Heats the user up while the reagent is in the body. Occasionally makes you burst into flames. - M.adjust_bodytemperature(25 * TEMPERATURE_DAMAGE_COEFFICIENT) + M.adjust_bodytemperature(2 * TEMPERATURE_DAMAGE_COEFFICIENT) if (prob(5)) M.adjust_fire_stacks(1) M.IgniteMob() diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm index f781313bf58..e84cc952c5b 100644 --- a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm @@ -488,7 +488,7 @@ WS End*/ if(H.health <= H.crit_threshold) //certain death above this threshold REMOVE_TRAIT(H, TRAIT_STABLEHEART, type) //we have to remove the stable heart before we give him heart attack to_chat(H,"You feel something rupturing inside your chest!") - H.emote("scream") + H.force_scream() H.set_heartattack(TRUE) volume = 0 . = ..() diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index bf13904972b..281b15d2e6b 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -63,7 +63,7 @@ M.adjust_blindness(-1) switch(current_cycle) if(1 to 20) - //nothing + EMPTY_BLOCK_GUARD //nothing if(21 to INFINITY) if(prob(current_cycle-10)) M.cure_nearsighted(list(EYE_DAMAGE)) @@ -257,7 +257,7 @@ M.drowsyness = max(0,M.drowsyness-3) M.AdjustSleeping(-40) //310.15 is the normal bodytemp. - M.adjust_bodytemperature(25 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(3 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) if(holder.has_reagent(/datum/reagent/consumable/frostoil)) holder.remove_reagent(/datum/reagent/consumable/frostoil, 5) ..() @@ -280,7 +280,7 @@ M.AdjustSleeping(-20) if(M.getToxLoss() && prob(20)) M.adjustToxLoss(-1, 0) - M.adjust_bodytemperature(20 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(2 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) ..() . = 1 @@ -316,17 +316,21 @@ description = "Coffee and ice, refreshing and cool." color = "#112a3b" // rgb: 16, 40, 56 nutriment_factor = 0 + overdose_threshold = 80 taste_description = "bitter coldness" glass_icon_state = "icedcoffeeglass" glass_name = "iced coffee" glass_desc = "Iced black coffee. It's still going to be pretty bitter on it's own, though!" +/datum/reagent/consumable/icecoffee/overdose_process(mob/living/M) + M.Jitter(5) + ..() + /datum/reagent/consumable/icecoffee/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.AdjustSleeping(-40) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) - M.Jitter(5) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() . = 1 @@ -335,18 +339,22 @@ description = "Coffee with pulsing ice shards" color = "#132043" // rgb: 16, 40, 56 nutriment_factor = 0 + overdose_threshold = 80 quality = DRINK_FANTASTIC taste_description = "bitter coldness and a hint of smoke" glass_icon_state = "hoticecoffee" glass_name = "hot ice coffee" glass_desc = "The wonders of fusion mixed into a cup of coffee, resulting in an extremely hot-cold drink." +/datum/reagent/consumable/hot_ice_coffee/overdose_process(mob/living/M) + M.Jitter(5) + ..() + /datum/reagent/consumable/hot_ice_coffee/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.AdjustSleeping(-60) - M.adjust_bodytemperature(-20 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) - M.Jitter(5) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) M.adjustToxLoss(1*REM, 0) ..() . = TRUE @@ -367,7 +375,7 @@ M.AdjustSleeping(-40) if(M.getToxLoss() && prob(20)) M.adjustToxLoss(-1, 0) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() . = 1 @@ -382,7 +390,7 @@ /datum/reagent/consumable/space_cola/on_mob_life(mob/living/carbon/M) M.drowsyness = max(0,M.drowsyness-5) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/crosstalk @@ -408,7 +416,7 @@ M.dizziness +=1 M.drowsyness = 0 M.AdjustSleeping(-40) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/comet_trail @@ -423,7 +431,7 @@ /datum/reagent/consumable/comet_trail/on_mob_life(mob/living/carbon/M) M.drowsyness = max(0,M.drowsyness-7) M.AdjustSleeping(-20) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) M.Jitter(5) ..() . = 1 @@ -439,7 +447,7 @@ /datum/reagent/consumable/tadrixx/on_mob_life(mob/living/carbon/M) M.drowsyness = max(0,M.drowsyness-6) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/space_up @@ -453,7 +461,7 @@ /datum/reagent/consumable/space_up/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/molten @@ -468,9 +476,9 @@ /datum/reagent/consumable/molten/on_mob_life(mob/living/carbon/M) M.heal_bodypart_damage(1,1,0) if(M.bodytemperature > M.get_body_temp_normal(apply_change=FALSE)) - M.adjust_bodytemperature(-10 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(apply_change=FALSE)) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(apply_change=FALSE)) else if(M.bodytemperature < (M.get_body_temp_normal(apply_change=FALSE) + 1)) - M.adjust_bodytemperature(10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(apply_change=FALSE)) + M.adjust_bodytemperature(2 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(apply_change=FALSE)) ..() /datum/reagent/consumable/molten/plasma_fizz @@ -501,7 +509,7 @@ /datum/reagent/consumable/lemon_lime/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() @@ -522,7 +530,7 @@ You feel as though a great secret of the universe has been made known to you...") /datum/reagent/consumable/pacfuel/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) if(prob(10)) M?.mind.adjust_experience(/datum/skill/gaming, 5) ..() @@ -537,7 +545,7 @@ glass_desc = "It's hard to imagine all those fruits getting condensed into a cup like this." /datum/reagent/consumable/shoal_punch/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/sodawater name = "Soda Water" @@ -551,7 +559,7 @@ /datum/reagent/consumable/sodawater/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/tonic @@ -567,7 +575,7 @@ M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.AdjustSleeping(-40) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() . = 1 @@ -586,7 +594,7 @@ M.dizziness +=1 M.drowsyness = 0 M.AdjustSleeping(-40) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/xeno_energy/on_mob_metabolize(mob/living/L) @@ -609,7 +617,7 @@ glass_desc = "Generally, you're supposed to put something else in there, too..." /datum/reagent/consumable/ice/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/soy_latte @@ -617,17 +625,21 @@ description = "A hot beverage for those who can't handle the lactose." color = "#664300" // rgb: 102, 67, 0 quality = DRINK_NICE + overdose_threshold = 80 taste_description = "creamy coffee" glass_icon_state = "soy_latte" glass_name = "soy latte" glass_desc = "A nice and refreshing beverage. It goes well with a book, if you have the time to read." +/datum/reagent/consumable/soy_latte/overdose_process(mob/living/M) + M.Jitter(5) + ..() + /datum/reagent/consumable/soy_latte/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.SetSleeping(0) - M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) - M.Jitter(5) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) if(M.getBruteLoss() && prob(20)) M.heal_bodypart_damage(1,0, 0) ..() @@ -638,17 +650,21 @@ description = "A nice, strong and tasty beverage while you are reading." color = "#664300" // rgb: 102, 67, 0 quality = DRINK_NICE + overdose_threshold = 80 taste_description = "bitter cream" glass_icon_state = "cafe_latte" glass_name = "cafe latte" glass_desc = "A nice, strong and refreshing beverage. It goes well with a book, if you have the time to read." +/datum/reagent/consumable/cafe_latte/overdose_process(mob/living/M) + M.Jitter(5) + ..() + /datum/reagent/consumable/cafe_latte/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.SetSleeping(0) - M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) - M.Jitter(5) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) if(M.getBruteLoss() && prob(20)) M.heal_bodypart_damage(1,0, 0) ..() @@ -772,7 +788,7 @@ glass_desc = "It's grape soda!" /datum/reagent/consumable/grape_soda/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/milk/chocolate_milk @@ -801,7 +817,7 @@ glass_desc = "A favorite winter drink from the Solar Confederation. Good for warming yourself up." /datum/reagent/consumable/hot_coco/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) ..() /datum/reagent/consumable/hot_coco/on_mob_life(mob/living/carbon/M) @@ -868,7 +884,7 @@ glass_desc = "A classic vanilla flavored soft drink." /datum/reagent/consumable/cream_soda/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/sol_dry diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index b776a285b34..a62dfc53b63 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -21,8 +21,6 @@ if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED)) if(prob(10)) step(M, pick(GLOB.cardinals)) - if(prob(7)) - M.emote(pick("twitch","drool","moan","giggle")) ..() /datum/reagent/drug/space_drugs/overdose_start(mob/living/M) @@ -166,7 +164,7 @@ /datum/reagent/drug/methamphetamine name = "Methamphetamine" - description = "Reduces stun times by about 300%, speeds the user up, and allows the user to quickly recover stamina while dealing a small amount of Brain damage. If overdosed the subject will move randomly, laugh randomly, drop items and suffer from Toxin and Brain damage. If addicted the subject will constantly jitter and drool, before becoming dizzy and losing motor control and eventually suffer heavy toxin damage." + description = "Reduces stun times by about 300%, speeds the user up, and allows the user to quickly recover stamina while dealing a small amount of Brain damage. If overdosed the subject will move randomly, drop items and suffer from Toxin and Brain damage. If addicted the subject will become dizzy, lose motor control and eventually suffer heavy toxin damage." reagent_state = LIQUID color = "#FAFAFA" overdose_threshold = 20 @@ -194,8 +192,6 @@ M.adjustStaminaLoss(-2, 0) M.Jitter(2) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(1,4)) - if(prob(5)) - M.emote(pick("twitch", "shiver")) ..() . = 1 @@ -203,8 +199,6 @@ if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) for(var/i in 1 to 4) step(M, pick(GLOB.cardinals)) - if(prob(20)) - M.emote("laugh") if(prob(33)) M.visible_message("[M]'s hands flip out and flail everywhere!") M.drop_all_held_items() @@ -215,15 +209,11 @@ /datum/reagent/drug/methamphetamine/addiction_act_stage1(mob/living/M) M.Jitter(5) - if(prob(20)) - M.emote(pick("twitch","drool","moan")) ..() /datum/reagent/drug/methamphetamine/addiction_act_stage2(mob/living/M) M.Jitter(10) M.Dizzy(10) - if(prob(30)) - M.emote(pick("twitch","drool","moan")) ..() /datum/reagent/drug/methamphetamine/addiction_act_stage3(mob/living/M) @@ -232,8 +222,6 @@ step(M, pick(GLOB.cardinals)) M.Jitter(15) M.Dizzy(15) - if(prob(40)) - M.emote(pick("twitch","drool","moan")) ..() /datum/reagent/drug/methamphetamine/addiction_act_stage4(mob/living/carbon/human/M) @@ -243,8 +231,6 @@ M.Jitter(20) M.Dizzy(20) M.adjustToxLoss(5, 0) - if(prob(50)) - M.emote(pick("twitch","drool","moan")) ..() . = 1 @@ -293,8 +279,6 @@ if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) for(var/i in 1 to 8) step(M, pick(GLOB.cardinals)) - if(prob(20)) - M.emote(pick("twitch","drool","moan")) if(prob(33)) M.drop_all_held_items() ..() @@ -306,8 +290,6 @@ step(M, pick(GLOB.cardinals)) M.Jitter(5) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10) - if(prob(20)) - M.emote(pick("twitch","drool","moan")) ..() /datum/reagent/drug/bath_salts/addiction_act_stage2(mob/living/M) @@ -318,8 +300,6 @@ M.Jitter(10) M.Dizzy(10) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10) - if(prob(30)) - M.emote(pick("twitch","drool","moan")) ..() /datum/reagent/drug/bath_salts/addiction_act_stage3(mob/living/M) @@ -330,8 +310,6 @@ M.Jitter(15) M.Dizzy(15) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10) - if(prob(40)) - M.emote(pick("twitch","drool","moan")) ..() /datum/reagent/drug/bath_salts/addiction_act_stage4(mob/living/carbon/human/M) @@ -343,8 +321,6 @@ M.Dizzy(50) M.adjustToxLoss(5, 0) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10) - if(prob(50)) - M.emote(pick("twitch","drool","moan")) ..() . = 1 @@ -398,13 +374,10 @@ var/reaction = rand(1,3) switch(reaction) if(1) - M.emote("laugh") SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "happiness_drug", /datum/mood_event/happiness_drug_good_od) if(2) - M.emote("sway") M.Dizzy(25) if(3) - M.emote("frown") SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "happiness_drug", /datum/mood_event/happiness_drug_bad_od) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.5) ..() @@ -414,32 +387,24 @@ var/datum/component/mood/mood = M.GetComponent(/datum/component/mood) mood.setSanity(min(mood.sanity, SANITY_DISTURBED)) M.Jitter(5) - if(prob(20)) - M.emote(pick("twitch","laugh","frown")) ..() /datum/reagent/drug/happiness/addiction_act_stage2(mob/living/M) var/datum/component/mood/mood = M.GetComponent(/datum/component/mood) mood.setSanity(min(mood.sanity, SANITY_UNSTABLE)) M.Jitter(10) - if(prob(30)) - M.emote(pick("twitch","laugh","frown")) ..() /datum/reagent/drug/happiness/addiction_act_stage3(mob/living/M) var/datum/component/mood/mood = M.GetComponent(/datum/component/mood) mood.setSanity(min(mood.sanity, SANITY_CRAZY)) M.Jitter(15) - if(prob(40)) - M.emote(pick("twitch","laugh","frown")) ..() /datum/reagent/drug/happiness/addiction_act_stage4(mob/living/carbon/human/M) var/datum/component/mood/mood = M.GetComponent(/datum/component/mood) mood.setSanity(SANITY_INSANE) M.Jitter(20) - if(prob(50)) - M.emote(pick("twitch","laugh","frown")) ..() . = 1 @@ -477,8 +442,6 @@ M.Jitter(5) if(prob(5)) M.drop_all_held_items() - if(prob(15)) - M.emote(pick("twitch","drool")) if(prob(20)) M.losebreath++ M.adjustStaminaLoss(4, 0) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 09812ef20cf..8b06736dbce 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -113,13 +113,13 @@ /datum/reagent/consumable/cooking_oil/expose_obj(obj/O, reac_volume) if(holder && holder.chem_temp >= fry_temperature) - if(isitem(O) && !istype(O, /obj/item/reagent_containers/food/snacks/deepfryholder)) + if(isitem(O) && !istype(O, /obj/item/food/deepfryholder)) O.loc.visible_message("[O] rapidly fries as it's splashed with hot oil! Somehow.") - var/obj/item/reagent_containers/food/snacks/deepfryholder/F = new(O.drop_location(), O) + var/obj/item/food/deepfryholder/F = new(O.drop_location(), O) F.fry(volume) F.reagents.add_reagent(/datum/reagent/consumable/cooking_oil, reac_volume) -/datum/reagent/consumable/cooking_oil/expose_mob(mob/living/M, method = TOUCH, method = SMOKE, reac_volume, show_message = 1, touch_protection = 0) +/datum/reagent/consumable/cooking_oil/expose_mob(mob/living/M, method = TOUCH, reac_volume, show_message = 1, touch_protection = 0) if(!istype(M)) return var/boiling = FALSE @@ -137,7 +137,7 @@ M.visible_message("The boiling oil sizzles as it covers [M]!", \ "You're covered in boiling oil!") if(FryLoss) - M.emote("scream") + M.force_scream() playsound(M, 'sound/machines/fryer/deep_fryer_emerge.ogg', 25, TRUE) ADD_TRAIT(M, TRAIT_OIL_FRIED, "cooking_oil_react") addtimer(CALLBACK(M, TYPE_PROC_REF(/mob/living, unfry_mob)), 3) @@ -209,30 +209,6 @@ taste_description = "hot peppers" taste_mult = 1.5 -/datum/reagent/consumable/capsaicin/on_mob_life(mob/living/carbon/M) - var/heating = 0 - switch(current_cycle) - if(1 to 15) - heating = 5 * TEMPERATURE_DAMAGE_COEFFICIENT - if(holder.has_reagent(/datum/reagent/cryostylane)) - holder.remove_reagent(/datum/reagent/cryostylane, 5) - if(isslime(M)) - heating = rand(5,20) - if(15 to 25) - heating = 10 * TEMPERATURE_DAMAGE_COEFFICIENT - if(isslime(M)) - heating = rand(10,20) - if(25 to 35) - heating = 15 * TEMPERATURE_DAMAGE_COEFFICIENT - if(isslime(M)) - heating = rand(15,20) - if(35 to INFINITY) - heating = 20 * TEMPERATURE_DAMAGE_COEFFICIENT - if(isslime(M)) - heating = rand(20,25) - M.adjust_bodytemperature(heating) - ..() - /datum/reagent/consumable/frostoil name = "Frost Oil" description = "A special oil that noticeably chills the body. Extracted from chilly peppers and slimes." @@ -247,24 +223,24 @@ if(holder.has_reagent(/datum/reagent/consumable/capsaicin)) holder.remove_reagent(/datum/reagent/consumable/capsaicin, 5) if(isslime(M)) - cooling = -rand(5,20) + cooling = -rand(1,2) if(15 to 25) cooling = -20 * TEMPERATURE_DAMAGE_COEFFICIENT if(isslime(M)) - cooling = -rand(10,20) + cooling = -rand(2,4) if(25 to 35) cooling = -30 * TEMPERATURE_DAMAGE_COEFFICIENT if(prob(1)) M.emote("shiver") if(isslime(M)) - cooling = -rand(15,20) + cooling = -rand(4,8) if(35 to INFINITY) cooling = -40 * TEMPERATURE_DAMAGE_COEFFICIENT if(prob(5)) M.emote("shiver") if(isslime(M)) - cooling = -rand(20,25) - M.adjust_bodytemperature(cooling, 50) + cooling = -rand(8,10) + M.adjust_bodytemperature(cooling, 10) ..() /datum/reagent/consumable/frostoil/expose_turf(turf/T, reac_volume) @@ -295,7 +271,7 @@ //actually handle the pepperspray effects if (!(pepper_proof)) // you need both eye and mouth protection if(prob(5)) - victim.emote("scream") + victim.force_scream() victim.blur_eyes(5) // 10 seconds victim.blind_eyes(3) // 6 seconds victim.confused = max(M.confused, 5) // 10 seconds @@ -363,20 +339,14 @@ if(1 to 5) M.Dizzy(5) M.set_drugginess(30) - if(prob(10)) - M.emote(pick("twitch","giggle")) if(5 to 10) M.Jitter(10) M.Dizzy(10) M.set_drugginess(35) - if(prob(20)) - M.emote(pick("twitch","giggle")) if (10 to INFINITY) M.Jitter(20) M.Dizzy(20) M.set_drugginess(40) - if(prob(30)) - M.emote(pick("twitch","giggle")) ..() /datum/reagent/consumable/garlic //NOTE: having garlic in your blood stops vampires from biting you. @@ -458,7 +428,7 @@ taste_description = "your imprisonment" /datum/reagent/consumable/hot_ramen/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) ..() /datum/reagent/consumable/hell_ramen @@ -469,7 +439,7 @@ taste_description = "wet and cheap noodles on fire" /datum/reagent/consumable/hell_ramen/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(10 * TEMPERATURE_DAMAGE_COEFFICIENT) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT) ..() /datum/reagent/consumable/flour @@ -770,22 +740,6 @@ taste_description = "caramel" reagent_state = SOLID -/datum/reagent/consumable/char - name = "Char" - description = "Essence of the grill. Has strange properties when overdosed." - reagent_state = LIQUID - nutriment_factor = 5 * REAGENTS_METABOLISM - color = "#C8C8C8" - taste_mult = 6 - taste_description = "smoke" - overdose_threshold = 15 - -/datum/reagent/consumable/char/overdose_process(mob/living/M) - if(prob(25)) - M.say(pick_list_replacements(BOOMER_FILE, "boomer"), forced = /datum/reagent/consumable/char) - ..() - return - /datum/reagent/consumable/bbqsauce name = "BBQ Sauce" description = "Sweet, smoky, savory, and gets everywhere. Perfect for grilling." @@ -822,7 +776,7 @@ ..() /datum/reagent/consumable/pyre_elementum/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(20 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) // Doesn't kill you like capsaicin + M.adjust_bodytemperature(2 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) // Doesn't kill you like capsaicin if(!ingested) // Unless you didn't eat it M.adjustFireLoss(0.25*REM, 0) ..() diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 6084311b350..1ae9386b41f 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -22,9 +22,9 @@ /datum/reagent/medicine/leporazine/on_mob_life(mob/living/carbon/M) if(M.bodytemperature > M.get_body_temp_normal(apply_change=FALSE)) - M.adjust_bodytemperature(-40 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(apply_change=FALSE)) + M.adjust_bodytemperature(-4 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(apply_change=FALSE)) else if(M.bodytemperature < (M.get_body_temp_normal(apply_change=FALSE) + 1)) - M.adjust_bodytemperature(40 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(apply_change=FALSE)) + M.adjust_bodytemperature(4 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(apply_change=FALSE)) ..() /datum/reagent/medicine/adminordrazine //An OP chemical for admins @@ -257,10 +257,12 @@ to_chat(M, "You don't feel so good...") else if(M.getFireLoss()) M.adjustFireLoss(-reac_volume) - if(show_message) + M.force_scream() + if(show_message && !HAS_TRAIT(M, TRAIT_ANALGESIA)) to_chat(M, "You feel your burns healing! It stings like hell!") - M.emote("scream") - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + else + to_chat(M, span_notice("You feel your burns throbbing.")) ..() /datum/reagent/medicine/silver_sulfadiazine/on_mob_life(mob/living/carbon/M) @@ -311,10 +313,12 @@ to_chat(M, "You don't feel so good...") else if(M.getBruteLoss()) M.adjustBruteLoss(-reac_volume) - if(show_message) + M.force_scream() + if(show_message && !HAS_TRAIT(M, TRAIT_ANALGESIA)) to_chat(M, "You feel your bruises healing! It stings like hell!") - M.emote("scream") - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + else + to_chat(M, span_notice("You feel your bruises throbbing.")) ..() @@ -377,6 +381,9 @@ color = "#6D6374" metabolization_rate = 0.4 * REAGENTS_METABOLISM +/datum/reagent/medicine/mine_salve/on_mob_metabolize(mob/living/L) + ADD_TRAIT(L, TRAIT_PAIN_RESIST, type) + /datum/reagent/medicine/mine_salve/on_mob_life(mob/living/carbon/C) C.hal_screwyhud = SCREWYHUD_HEALTHY C.adjustBruteLoss(-0.25*REM, 0) @@ -403,6 +410,7 @@ /datum/reagent/medicine/mine_salve/on_mob_end_metabolize(mob/living/M) if(iscarbon(M)) var/mob/living/carbon/N = M + REMOVE_TRAIT(N, TRAIT_PAIN_RESIST, type) N.hal_screwyhud = SCREWYHUD_NONE ..() @@ -567,9 +575,13 @@ color = "#E6FFF0" metabolization_rate = 0.5 * REAGENTS_METABOLISM +/datum/reagent/medicine/anti_rad/on_mob_metabolize(mob/living/L) + to_chat(L, span_warning("Your stomach starts to churn and cramp!")) + . = ..() + /datum/reagent/medicine/anti_rad/on_mob_life(mob/living/carbon/M) M.radiation -= M.radiation - rand(50,150) - M.adjust_disgust(7*REM, 0) + M.adjust_disgust(4*REM) ..() . = 1 @@ -752,9 +764,11 @@ /datum/reagent/medicine/morphine/on_mob_metabolize(mob/living/L) ..() + ADD_TRAIT(L, TRAIT_PAIN_RESIST, type) L.add_movespeed_mod_immunities(type, /datum/movespeed_modifier/damage_slowdown) /datum/reagent/medicine/morphine/on_mob_end_metabolize(mob/living/L) + REMOVE_TRAIT(L, TRAIT_PAIN_RESIST, type) L.remove_movespeed_mod_immunities(type, /datum/movespeed_modifier/damage_slowdown) ..() @@ -1310,8 +1324,6 @@ M.adjustStaminaLoss(-3 * REM, 0) M.jitteriness = min(max(0, M.jitteriness + 3), 30) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2 * REM, 150) - if(prob(10)) - M.say(pick("Yeah, well, you know, that's just, like, uh, your opinion, man.", "Am I glad he's frozen in there and that we're out here, and that he's the sheriff and that we're frozen out here, and that we're in there, and I just remembered, we're out here. What I wanna know is: Where's the caveman?", "It ain't me, it ain't me...", "Make love, not war!", "Stop, hey, what's that sound? Everybody look what's going down...", "Do you believe in magic in a young girl's heart?"), forced = /datum/reagent/medicine/earthsblood) M.druggy = min(max(0, M.druggy + 10), 15) //See above ..() . = 1 @@ -1455,10 +1467,12 @@ /datum/reagent/medicine/corazone/on_mob_metabolize(mob/living/M) ..() + ADD_TRAIT(M, TRAIT_PAIN_RESIST, type) ADD_TRAIT(M, TRAIT_STABLEHEART, type) ADD_TRAIT(M, TRAIT_STABLELIVER, type) /datum/reagent/medicine/corazone/on_mob_end_metabolize(mob/living/M) + REMOVE_TRAIT(M, TRAIT_PAIN_RESIST, type) REMOVE_TRAIT(M, TRAIT_STABLEHEART, type) REMOVE_TRAIT(M, TRAIT_STABLELIVER, type) @@ -1541,7 +1555,6 @@ M.losebreath++ if(prob(20)) to_chat(M, "You have a sudden fit!") - M.emote("moan") M.Paralyze(20) // you should be in a bad spot at this point unless epipen has been used if(81) to_chat(M, "You feel too exhausted to continue!") // at this point you will eventually die unless you get charcoal @@ -1751,10 +1764,12 @@ else if(M.getBruteLoss()) M.adjustBruteLoss(-reac_volume) M.adjustFireLoss(reac_volume) - if(show_message) + M.force_scream() + if(show_message && !HAS_TRAIT(M, TRAIT_ANALGESIA)) to_chat(M, "You feel your skin bubble and burn as your flesh knits itself together!") - M.emote("scream") - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + else + to_chat(M, span_notice("You feel your skin shifting around unnaturally.")) ..() /datum/reagent/medicine/converbital/on_mob_life(mob/living/carbon/M) @@ -1786,10 +1801,12 @@ else if(M.getBruteLoss()) M.adjustFireLoss(-reac_volume) M.adjustBruteLoss(reac_volume) - if(show_message) - to_chat(M, "You feel your flesh tear as your skin rapidly regenerates!") - M.emote("scream") - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + M.force_scream() + if(show_message && !HAS_TRAIT(M, TRAIT_ANALGESIA)) + to_chat(M, "You feel your skin tear as your flesh rapidly regenerates!") + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + else + to_chat(M, span_notice("You feel your skin shifting around unnaturally.")) ..() /datum/reagent/medicine/convuri/on_mob_life(mob/living/carbon/M) @@ -1840,7 +1857,7 @@ /datum/reagent/medicine/rhigoxane/on_mob_life(mob/living/carbon/M) M.adjustFireLoss(-2*REM, 0.) - M.adjust_bodytemperature(-20 * TEMPERATURE_DAMAGE_COEFFICIENT, M.dna.species.bodytemp_normal) + M.adjust_bodytemperature(-0.2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.dna.species.bodytemp_normal) ..() . = 1 @@ -1848,7 +1865,7 @@ if(method != VAPOR) return - M.adjust_bodytemperature(-reac_volume * TEMPERATURE_DAMAGE_COEFFICIENT * 20, 200) + M.adjust_bodytemperature(-reac_volume * TEMPERATURE_DAMAGE_COEFFICIENT * 0.5, 200) M.adjust_fire_stacks(-reac_volume / 2) if(reac_volume >= metabolization_rate) M.ExtinguishMob() @@ -1857,7 +1874,7 @@ /datum/reagent/medicine/rhigoxane/overdose_process(mob/living/carbon/M) M.adjustFireLoss(3*REM, 0.) - M.adjust_bodytemperature(-35 * TEMPERATURE_DAMAGE_COEFFICIENT, 50) + M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, 50) ..() @@ -1939,8 +1956,8 @@ reagent_state = SOLID color = "#302f20" metabolization_rate = REAGENTS_METABOLISM * 0.8 - overdose_threshold = 100 - var/clone_dam = 0.25 + overdose_threshold = 50 + var/clone_dam = 0.1 /datum/reagent/medicine/soulus/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1) if(iscarbon(M) && M.stat != DEAD) @@ -1959,11 +1976,14 @@ /datum/reagent/medicine/soulus/on_mob_life(mob/living/carbon/M) M.adjustFireLoss(-0.1*REM, 0) M.adjustBruteLoss(-0.1*REM, 0) - M.adjustCloneLoss(clone_dam *REM, 0) + M.adjustCloneLoss(clone_dam*REM, 0) ..() /datum/reagent/medicine/soulus/overdose_process(mob/living/M) - M.ForceContractDisease(new /datum/disease/transformation/legionvirus(), FALSE, TRUE) + var/mob/living/carbon/C = M + if(!istype(C.getorganslot(ORGAN_SLOT_REGENERATIVE_CORE), /obj/item/organ/legion_skull)) + var/obj/item/organ/legion_skull/spare_ribs = new() + spare_ribs.Insert(M) ..() /datum/reagent/medicine/soulus/on_mob_end_metabolize(mob/living/M) @@ -2073,7 +2093,6 @@ bp.receive_damage(0, 0, 200) else //SUCH A LUST FOR REVENGE!!! to_chat(M, "A phantom limb hurts!") - M.say("Why are we still here, just to suffer?", forced = /datum/reagent/medicine/lavaland_extract) return ..() /datum/reagent/medicine/skeletons_boon diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 9b6243358ac..b246a81f364 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -243,49 +243,10 @@ REMOVE_TRAIT(L, TRAIT_HOLY, type) ..() -/datum/reagent/water/holywater/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(iscultist(M)) - to_chat(M, "A vile holiness begins to spread its shining tendrils through your mind, purging the Geometer of Blood's influence!") - ..() - -/datum/reagent/water/holywater/on_mob_life(mob/living/carbon/M) - if(!data) - data = list("misc" = 1) - data["misc"]++ - M.jitteriness = min(M.jitteriness+4,10) - if(iscultist(M)) - for(var/datum/action/innate/cult/blood_magic/BM in M.actions) - to_chat(M, "Your blood rites falter as holy water scours your body!") - for(var/datum/action/innate/cult/blood_spell/BS in BM.spells) - qdel(BS) - if(data["misc"] >= 25) // 10 units, 45 seconds @ metabolism 0.4 units & tick rate 1.8 sec - if(!M.stuttering) - M.stuttering = 1 - M.stuttering = min(M.stuttering+4, 10) - M.Dizzy(5) - if(iscultist(M) && prob(20)) - M.say(pick("Av'te Nar'Sie","Pa'lid Mors","INO INO ORA ANA","SAT ANA!","Daim'niodeis Arc'iai Le'eones","R'ge Na'sie","Diabo us Vo'iscum","Eld' Mon Nobis"), forced = "holy water") - if(prob(10)) - M.visible_message("[M] starts having a seizure!", "You have a seizure!") - M.Unconscious(120) - to_chat(M, "[pick("Your blood is your bond - you are nothing without it", "Do not forget your place", \ - "All that power, and you still fail?", "If you cannot scour this poison, I shall scour your meager life!")].") - if(data["misc"] >= 60) // 30 units, 135 seconds - if(iscultist(M)) - SSticker.mode.remove_cultist(M.mind, FALSE, TRUE) - M.jitteriness = 0 - M.stuttering = 0 - holder.remove_reagent(type, volume) // maybe this is a little too perfect and a max() cap on the statuses would be better?? - return - holder.remove_reagent(type, 0.4) //fixed consumption to prevent balancing going out of whack - /datum/reagent/water/holywater/expose_turf(turf/T, reac_volume) ..() if(!istype(T)) return - if(reac_volume>=10) - for(var/obj/effect/rune/R in T) - qdel(R) T.Bless() // Holy water. Mostly the same as water, it also heals the plant a little with the power of the spirits. Also ALSO increases instability. @@ -346,22 +307,12 @@ return ..() /datum/reagent/fuel/unholywater/on_mob_life(mob/living/carbon/M) - if(iscultist(M)) - M.drowsyness = max(M.drowsyness-5, 0) - M.AdjustAllImmobility(-40) - M.adjustStaminaLoss(-10, 0) - M.adjustToxLoss(-2, 0) - M.adjustOxyLoss(-2, 0) - M.adjustBruteLoss(-2, 0) - M.adjustFireLoss(-2, 0) - if(ishuman(M) && M.blood_volume < BLOOD_VOLUME_NORMAL) - M.blood_volume += 3 - else // Will deal about 90 damage when 50 units are thrown - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3, 150) - M.adjustToxLoss(2, 0) - M.adjustFireLoss(2, 0) - M.adjustOxyLoss(2, 0) - M.adjustBruteLoss(2, 0) + // Will deal about 90 damage when 50 units are thrown + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3, 150) + M.adjustToxLoss(2, 0) + M.adjustFireLoss(2, 0) + M.adjustOxyLoss(2, 0) + M.adjustBruteLoss(2, 0) holder.remove_reagent(type, 1) return TRUE @@ -410,7 +361,6 @@ description = "A substance applied to the skin to darken the skin." color = "#FFC080" // rgb: 255, 196, 128 Bright orange metabolization_rate = 10 * REAGENTS_METABOLISM // very fast, so it can be applied rapidly. But this changes on an overdose - overdose_threshold = 11 //Slightly more than one un-nozzled spraybottle. taste_description = "sour oranges" /datum/reagent/spraytan/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1) @@ -470,41 +420,11 @@ N.dna.features["mcolor"] = newcolor N.regenerate_icons() - - if(method == INGEST) if(show_message) to_chat(M, "That tasted horrible.") ..() - -/datum/reagent/spraytan/overdose_process(mob/living/M) - metabolization_rate = 1 * REAGENTS_METABOLISM - - if(ishuman(M)) - var/mob/living/carbon/human/N = M - if(!HAS_TRAIT(N, TRAIT_BALD)) - N.hairstyle = "Spiky" - N.facial_hairstyle = "Shaved" - N.facial_hair_color = "000" - N.hair_color = "000" - if(!(HAIR in N.dna.species.species_traits)) //No hair? No problem! - N.dna.species.species_traits += HAIR - if(N.dna.species.use_skintones) - N.skin_tone = "orange" - else if(MUTCOLORS in N.dna.species.species_traits) //Aliens with custom colors simply get turned orange - N.dna.features["mcolor"] = "f80" - N.regenerate_icons() - if(prob(7)) - if(N.w_uniform) - M.visible_message(pick("[M]'s collar pops up without warning.", "[M] flexes [M.p_their()] arms.")) - else - M.visible_message("[M] flexes [M.p_their()] arms.") - if(prob(10)) - M.say(pick("Shit was SO cash.", "You are everything bad in the world.", "What sports do you play, other than 'jack off to naked drawn Japanese people?'", "Don???t be a stranger. Just hit me with your best shot.", "My name is John and I hate every single one of you."), forced = /datum/reagent/spraytan) - ..() - return - /datum/reagent/mulligan name = "Mulligan Toxin" description = "This toxin will rapidly change the DNA of human beings. Commonly used by Syndicate spies and assassins in need of an emergency ID change." @@ -547,12 +467,6 @@ metabolization_rate = 0.25 * REAGENTS_METABOLISM taste_description = "bitterness" -/datum/reagent/serotrotium/on_mob_life(mob/living/carbon/M) - if(ishuman(M)) - if(prob(7)) - M.emote(pick("twitch","drool","moan","gasp")) - ..() - /datum/reagent/oxygen name = "Oxygen" description = "A colorless, odorless gas. Grows on trees but is still pretty valuable." @@ -560,18 +474,57 @@ color = "#808080" // rgb: 128, 128, 128 taste_mult = 0 // oderless and tasteless +/datum/reagent/oxygen/dip_object(obj/item/I, mob/user, obj/item/reagent_containers/H) + . = ..() + var/obj/item/stock_parts/cell/current_cell + if(istype(I, /obj/item/stock_parts/cell)) + if(!current_cell.use(1)) + return + H.reagents.add_reagent(/datum/reagent/ozone, (H.reagents.remove_reagent(/datum/reagent/oxygen, 0.05*I.get_part_rating()))) + return TRUE + return + /datum/reagent/oxygen/expose_obj(obj/O, reac_volume) if((!O) || (!reac_volume)) return 0 var/temp = holder ? holder.chem_temp : T20C - O.atmos_spawn_air("o2=[reac_volume/2];TEMP=[temp]") + O.atmos_spawn_air("[GAS_O2]=[reac_volume/2];TEMP=[temp]") /datum/reagent/oxygen/expose_turf(turf/open/T, reac_volume) if(istype(T)) var/temp = holder ? holder.chem_temp : T20C - T.atmos_spawn_air("o2=[reac_volume/2];TEMP=[temp]") + T.atmos_spawn_air("[GAS_O2]=[reac_volume/2];TEMP=[temp]") return +/datum/reagent/ozone + name = "Ozone" + description = "A pale blue gas, with a distinct smell. While it is oxygen with an extra molecule attached, it is quite dangerous." + reagent_state = GAS + metabolization_rate = REAGENTS_METABOLISM * 0.5 + color = "#a1a1e6" + taste_mult = 0 + +/datum/reagent/ozone/on_mob_life(mob/living/carbon/M) + if(prob(30)) + M.adjustOrganLoss(ORGAN_SLOT_LUNGS,1*REM) + if(prob(40)) + M.adjustOrganLoss(ORGAN_SLOT_HEART,2*REM) + . = 1 + return ..() + +/datum/reagent/ozone/expose_obj(obj/exposed_object, reac_volume) + if((!exposed_object) || (!reac_volume)) + return 0 + var/temp = holder ? holder.chem_temp : T20C + exposed_object.atmos_spawn_air("[GAS_O3]=[reac_volume/2];TEMP=[temp]") + +/datum/reagent/ozone/expose_turf(turf/open/exposed_turf, reac_volume) + if(istype(exposed_turf)) + var/temp = holder ? holder.chem_temp : T20C + exposed_turf.atmos_spawn_air("[GAS_O3]=[reac_volume/2];TEMP=[temp]") + return + + /datum/reagent/copper name = "Copper" description = "A highly ductile metal. Things made out of copper aren't very durable, but it makes a decent material for electrical wiring." @@ -597,12 +550,12 @@ if((!O) || (!reac_volume)) return 0 var/temp = holder ? holder.chem_temp : T20C - O.atmos_spawn_air("n2=[reac_volume/2];TEMP=[temp]") + O.atmos_spawn_air("[GAS_N2]=[reac_volume/2];TEMP=[temp]") /datum/reagent/nitrogen/expose_turf(turf/open/T, reac_volume) if(istype(T)) var/temp = holder ? holder.chem_temp : T20C - T.atmos_spawn_air("n2=[reac_volume/2];TEMP=[temp]") + T.atmos_spawn_air("[GAS_N2]=[reac_volume/2];TEMP=[temp]") return /datum/reagent/hydrogen @@ -628,8 +581,6 @@ /datum/reagent/mercury/on_mob_life(mob/living/carbon/M) if(!HAS_TRAIT(src, TRAIT_IMMOBILIZED) && !isspaceturf(M.loc)) step(M, pick(GLOB.cardinals)) - if(prob(5)) - M.emote(pick("twitch","drool","moan")) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1) ..() @@ -637,7 +588,7 @@ name = "Sulfur" description = "A sickly yellow solid mostly known for its nasty smell. It's actually much more helpful than it looks in biochemisty." reagent_state = SOLID - color = "#BF8C00" // rgb: 191, 140, 0 + color = "#f0e518" taste_description = "rotten eggs" /datum/reagent/carbon @@ -657,11 +608,14 @@ name = "Chlorine" description = "A pale yellow gas that's well known as an oxidizer. While it forms many harmless molecules in its elemental form it is far from harmless." reagent_state = GAS + metabolization_rate = REAGENTS_METABOLISM * 0.5 color = "#FFFB89" //pale yellow? let's make it light gray - taste_description = "chlorine" + taste_description = "caustic" /datum/reagent/chlorine/on_mob_life(mob/living/carbon/M) - M.take_bodypart_damage(1*REM, 0, 0, 0) + M.take_bodypart_damage(0, 1*REM, 0, 0) + if(prob(25)) + M.adjustOrganLoss(ORGAN_SLOT_LUNGS,2*REM) . = 1 ..() @@ -680,6 +634,45 @@ mytray.adjustWater(-round(chems.get_reagent_amount(type) * 0.5)) mytray.adjustWeeds(-rand(1,3)) +/datum/reagent/chlorine/expose_obj(obj/exposed_object, reac_volume) + if((!exposed_object) || (!reac_volume)) + return 0 + var/temp = holder ? holder.chem_temp : T20C + exposed_object.atmos_spawn_air("[GAS_CHLORINE]=[reac_volume/2];TEMP=[temp]") + +/datum/reagent/chlorine/expose_turf(turf/open/exposed_turf, reac_volume) + if(istype(exposed_turf)) + var/temp = holder ? holder.chem_temp : T20C + exposed_turf.atmos_spawn_air("[GAS_CHLORINE]=[reac_volume/2];TEMP=[temp]") + return + +/datum/reagent/hydrogen_chloride + name = "Hydrogen Chloride" + description = "A colorless gas that turns into hydrochloric acid in the presence of water." + reagent_state = GAS + metabolization_rate = REAGENTS_METABOLISM * 0.5 + color = "#f4ffe0" + taste_description = "acid" + +/datum/reagent/hydrogen_chloride/on_mob_life(mob/living/carbon/exposed_mob) + exposed_mob.take_bodypart_damage(0, 2*REM, 0, 0) + exposed_mob.adjustOrganLoss(ORGAN_SLOT_LUNGS,1*REM) + exposed_mob.adjustOrganLoss(ORGAN_SLOT_STOMACH,1*REM) + . = 1 + ..() + +/datum/reagent/hydrogen_chloride/expose_obj(obj/exposed_object, reac_volume) + if((!exposed_object) || (!reac_volume)) + return 0 + var/temp = holder ? holder.chem_temp : T20C + exposed_object.atmos_spawn_air("[GAS_HYDROGEN_CHLORIDE]=[reac_volume/2];TEMP=[temp]") + +/datum/reagent/hydrogen_chloride/expose_turf(turf/open/exposed_turf, reac_volume) + if(istype(exposed_turf)) + var/temp = holder ? holder.chem_temp : T20C + exposed_turf.atmos_spawn_air("[GAS_HYDROGEN_CHLORIDE]=[reac_volume/2];TEMP=[temp]") + return + /datum/reagent/fluorine name = "Fluorine" description = "A comically-reactive chemical element. The universe does not want this stuff to exist in this form in the slightest." @@ -751,8 +744,6 @@ /datum/reagent/lithium/on_mob_life(mob/living/carbon/M) if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !isspaceturf(M.loc)) step(M, pick(GLOB.cardinals)) - if(prob(5)) - M.emote(pick("twitch","drool","moan")) ..() /datum/reagent/lithium/dip_object(obj/item/I, mob/user, obj/item/reagent_containers/H) @@ -1025,8 +1016,6 @@ M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM) if(prob(50)) M.drowsyness = max(M.drowsyness, 3) - if(prob(10)) - M.emote("drool") ..() /datum/reagent/nanomachines @@ -1135,12 +1124,12 @@ if((!O) || (!reac_volume)) return 0 var/temp = holder ? holder.chem_temp : T20C - O.atmos_spawn_air("co2=[reac_volume/5];TEMP=[temp]") + O.atmos_spawn_air("[GAS_CO2]=[reac_volume/5];TEMP=[temp]") /datum/reagent/carbondioxide/expose_turf(turf/open/T, reac_volume) if(istype(T)) var/temp = holder ? holder.chem_temp : T20C - T.atmos_spawn_air("co2=[reac_volume/5];TEMP=[temp]") + T.atmos_spawn_air("[GAS_CO2]=[reac_volume/5];TEMP=[temp]") return // This is more bad ass, and pests get hurt by the corrosive nature of it, not the plant. The new trade off is it culls stability. @@ -1165,12 +1154,12 @@ if((!O) || (!reac_volume)) return 0 var/temp = holder ? holder.chem_temp : T20C - O.atmos_spawn_air("n2o=[reac_volume/5];TEMP=[temp]") + O.atmos_spawn_air("[GAS_NITROUS]=[reac_volume/5];TEMP=[temp]") /datum/reagent/nitrous_oxide/expose_turf(turf/open/T, reac_volume) if(istype(T)) var/temp = holder ? holder.chem_temp : T20C - T.atmos_spawn_air("n2o=[reac_volume/5];TEMP=[temp]") + T.atmos_spawn_air("[GAS_NITROUS]=[reac_volume/5];TEMP=[temp]") /datum/reagent/nitrous_oxide/expose_mob(mob/living/M, method=TOUCH, reac_volume) if(method == VAPOR) @@ -1186,6 +1175,80 @@ M.confused = min(M.confused + 2, 5) ..() +/datum/reagent/carbon_monoxide + name = "Carbon Monoxide" + description = "A highly dangerous gas for sapients." + reagent_state = GAS + metabolization_rate = REAGENTS_METABOLISM + color = "#96898c" + var/accumulation + +/datum/reagent/carbon_monoxide/on_mob_life(mob/living/carbon/victim) + if(holder.has_reagent(/datum/reagent/oxygen)) + holder.remove_reagent(/datum/reagent/carbon_monoxide, 2*REM) + accumulation = accumulation/4 + + accumulation += volume + switch(accumulation) + if(10 to 50) + to_chat(src, span_warning("You feel dizzy.")) + if(50 to 150) + to_chat(victim, span_warning("[pick("Your head hurts.", "Your head pounds.")]")) + victim.Dizzy(5) + if(150 to 250) + to_chat(victim, span_userdanger("[pick("Your head hurts!", "You feel a burning knife inside your brain!", "A wave of pain fills your head!")]")) + victim.Stun(10) + victim.Dizzy(5) + victim.confused = (accumulation/50) + victim.gain_trauma(/datum/brain_trauma/mild/monoxide_poisoning_stage1) + + if(250 to 350) + to_chat(victim, span_userdanger("[pick("What were you doing...?", "Where are you...?", "What's going on...?")]")) + victim.adjustStaminaLoss(3) + + victim.Dizzy(5) + victim.confused = (accumulation/50) + victim.drowsyness = (accumulation/50) + + victim.adjustToxLoss(accumulation/100*REM, 0) + + victim.gain_trauma(/datum/brain_trauma/mild/monoxide_poisoning_stage2) + + if(350 to 1000) + victim.Unconscious(20 SECONDS) + + victim.drowsyness += (accumulation/100) + victim.adjustToxLoss(accumulation/100*REM, 0) + if(1000 to INFINITY) //anti salt measure, if they reach this, just fucking kill them at this point + victim.death() + victim.cure_trauma_type(/datum/brain_trauma/mild/monoxide_poisoning_stage1) + victim.cure_trauma_type(/datum/brain_trauma/mild/monoxide_poisoning_stage2) + + qdel(src) + return TRUE + accumulation -= (metabolization_rate * victim.metabolism_efficiency) + if(accumulation < 0) + holder.remove_reagent(/datum/reagent/carbon_monoxide, volume) + return TRUE //to avoid a runtime + return ..() + +/datum/reagent/carbon_monoxide/expose_obj(obj/O, reac_volume) + if((!O) || (!reac_volume)) + return FALSE + var/temp = holder ? holder.chem_temp : T20C + O.atmos_spawn_air("[GAS_CO]=[reac_volume/2];TEMP=[temp]") + +/datum/reagent/carbon_monoxide/expose_turf(turf/open/T, reac_volume) + if(istype(T)) + var/temp = holder ? holder.chem_temp : T20C + T.atmos_spawn_air("[GAS_CO]=[reac_volume/2];TEMP=[temp]") + return + +/datum/reagent/carbon_monoxide/on_mob_delete(mob/living/living_mob) + var/mob/living/carbon/living_carbon = living_mob + living_carbon.cure_trauma_type(/datum/brain_trauma/mild/monoxide_poisoning_stage1) + living_carbon.cure_trauma_type(/datum/brain_trauma/mild/monoxide_poisoning_stage2) + /datum/reagent/stimulum name = "Stimulum" description = "An unstable experimental gas that greatly increases the energy of those that inhale it." //WS Edit -- No longer references toxin damage. @@ -1538,20 +1601,6 @@ name = "Royal Carpet?" description = "For those that break the game and need to make an issue report." -/datum/reagent/carpet/royal/on_mob_life(mob/living/carbon/M) - . = ..() - if(!M.mind?.assigned_role) - return - switch(M.mind.assigned_role) - if("Chief Medical Officer", "Captain", "Chief Engineer", "Research Director", "Head of Personnel") - if(prob(10)) - to_chat(M, "You feel like royalty.") - if(prob(5)) - M.say(pick("Peasants..","This carpet is worth more than your contracts!","I could fire you at any time..."), forced = "royal carpet") - if("Quartermaster") - if(prob(15)) - to_chat(M, "You feel like an impostor...") - /datum/reagent/carpet/royal/black name = "Royal Black Carpet" description = "For those that feel the need to show off their timewasting skills." @@ -1581,9 +1630,9 @@ var/turf/open/floor/F = T playsound(T, 'sound/effects/bubbles.ogg', 50) F.PlaceOnTop(/turf/open/floor/grass, flags = CHANGETURF_INHERIT_AIR) - new /obj/effect/spawner/lootdrop/flower(T) + new /obj/effect/spawner/random/flower(T) if(prob(75)) - new /obj/effect/spawner/lootdrop/flora(T) + new /obj/effect/spawner/random/flora(T) ..() /datum/reagent/genesis/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray, mob/user) @@ -1807,12 +1856,6 @@ if(istype(T)) T.MakeDry(ALL, TRUE, reac_volume * 5 SECONDS) //50 deciseconds per unit -/datum/reagent/drying_agent/expose_obj(obj/O, reac_volume) - if(O.type == /obj/item/clothing/shoes/galoshes) - var/t_loc = get_turf(O) - qdel(O) - new /obj/item/clothing/shoes/galoshes/dry(t_loc) - // Virology virus food chems. /datum/reagent/toxin/mutagen/mutagenvirusfood @@ -1865,11 +1908,6 @@ color = "#00ff80" taste_description = "strange honey" -/datum/reagent/royal_bee_jelly/on_mob_life(mob/living/carbon/M) - if(prob(2)) - M.say(pick("Bzzz...","BZZ BZZ","Bzzzzzzzzzzz..."), forced = "royal bee jelly") - ..() - //Misc reagents /datum/reagent/romerol @@ -1905,25 +1943,14 @@ /datum/reagent/growthserum name = "Growth Serum" - description = "A commercial chemical designed to help older men in the bedroom."//not really it just makes you a giant + description = "A strange chemical that causes growth, but wears off over time. The growth effect is limited." color = "#ff0000"//strong red. rgb 255, 0, 0 var/current_size = RESIZE_DEFAULT_SIZE - taste_description = "bitterness" // apparently what viagra tastes like + taste_description = "bitterness" /datum/reagent/growthserum/on_mob_life(mob/living/carbon/H) var/newsize = current_size - switch(volume) - if(0 to 19) - newsize = 1.25*RESIZE_DEFAULT_SIZE - if(20 to 49) - newsize = 1.5*RESIZE_DEFAULT_SIZE - if(50 to 99) - newsize = 2*RESIZE_DEFAULT_SIZE - if(100 to 199) - newsize = 2.5*RESIZE_DEFAULT_SIZE - if(200 to INFINITY) - newsize = 3.5*RESIZE_DEFAULT_SIZE - + newsize = (1 + (clamp(volume, 0, 25) / 100)) * RESIZE_DEFAULT_SIZE H.resize = newsize/current_size current_size = newsize H.update_transform() @@ -2378,6 +2405,14 @@ else addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, gib)), 5 SECONDS) +/datum/reagent/concrete_mix + name = "Concrete Mix" + description = "Pre-made concrete mix, ideal for lazy engineers." + color = "#c4c0bc" + taste_description = "chalky concrete" + harmful = TRUE + reagent_state = SOLID + /datum/reagent/cement name = "Cement" description = "A sophisticated binding agent used to produce concrete." @@ -2538,3 +2573,64 @@ description = "Bacteria native to the Saint-Roumain Militia home planet." color = "#5a4f42" taste_description = "sour" + +//anti rad foam +/datum/reagent/anti_radiation_foam + name = "Anti-Radiation Foam" + description = "A tried and tested foam, used for decontaminating nuclear disasters." + reagent_state = LIQUID + color = "#A6FAFF55" + taste_description = "bitter, foamy awfulness." + +/datum/reagent/anti_radiation_foam/expose_turf(turf/open/T, reac_volume) + if (!istype(T)) + return + + if(reac_volume >= 1) + var/obj/effect/particle_effect/foam/antirad/F = (locate(/obj/effect/particle_effect/foam/antirad) in T) + if(!F) + F = new(T) + else if(istype(F)) + F.lifetime = initial(F.lifetime) //the foam is what does the cleaning here + +/datum/reagent/anti_radiation_foam/expose_obj(obj/O, reac_volume) + O.wash(CLEAN_RAD) + +/datum/reagent/anti_radiation_foam/expose_mob(mob/living/M, method=TOUCH, reac_volume) + if(method in list(TOUCH, VAPOR)) + M.radiation = M.radiation - rand(max(M.radiation * 0.95, M.radiation)) //get the hose + M.ExtinguishMob() + ..() + + +/datum/reagent/anti_radiation_foam/on_mob_life(mob/living/carbon/M) + M.adjustToxLoss(0.5, 200) + M.adjust_disgust(4) + ..() + . = 1 + +/datum/reagent/sulfur_dioxide + name = "Sulfur Dioxide" + description = "A transparent gas produced by geological activity and burning certain fuels." + reagent_state = GAS + color = "#f0e518" + taste_mult = 0 // tasteless + +/datum/reagent/sulfur_dioxide/on_mob_life(mob/living/carbon/M) + M.adjustOxyLoss(1*REM, 0) + if(prob(40)) + M.adjustOrganLoss(ORGAN_SLOT_LUNGS,1*REM) + . = 1 + ..() + +/datum/reagent/sulfur_dioxide/expose_obj(obj/exposed_object, reac_volume) + if((!exposed_object) || (!reac_volume)) + return 0 + var/temp = holder ? holder.chem_temp : T20C + exposed_object.atmos_spawn_air("[GAS_SO2]=[reac_volume/2];TEMP=[temp]") + +/datum/reagent/sulfur_dioxide/expose_turf(turf/open/exposed_turf, reac_volume) + if(istype(exposed_turf)) + var/temp = holder ? holder.chem_temp : T20C + exposed_turf.atmos_spawn_air("[GAS_SO2]=[reac_volume/2];TEMP=[temp]") + return diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm index 313fb7475e0..792831c37fd 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm @@ -230,7 +230,7 @@ /datum/reagent/cryostylane/on_mob_life(mob/living/carbon/M) //TODO: code freezing into an ice cube if(M.reagents.has_reagent(/datum/reagent/oxygen)) M.reagents.remove_reagent(/datum/reagent/oxygen, 0.5) - M.adjust_bodytemperature(-15) + M.adjust_bodytemperature(-5) ..() /datum/reagent/cryostylane/expose_turf(turf/T, reac_volume) @@ -251,7 +251,7 @@ /datum/reagent/pyrosium/on_mob_life(mob/living/carbon/M) if(M.reagents.has_reagent(/datum/reagent/oxygen)) M.reagents.remove_reagent(/datum/reagent/oxygen, 0.5) - M.adjust_bodytemperature(15) + M.adjust_bodytemperature(5) ..() /datum/reagent/teslium //Teslium. Causes periodic shocks, and makes shocks against the target much more effective. @@ -299,10 +299,6 @@ shock_timer = 0 //immune to shocks M.AdjustAllImmobility(-40) M.adjustStaminaLoss(-2, 0) - if(isluminescent(M)) - var/mob/living/carbon/human/H = M - var/datum/species/jelly/luminescent/L = H.dna.species - L.extract_cooldown = max(0, L.extract_cooldown - 20) ..() /datum/reagent/firefighting_foam diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 49801719117..e1553a6dffc 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -132,7 +132,7 @@ if(holder.has_reagent(/datum/reagent/medicine/epinephrine)) holder.remove_reagent(/datum/reagent/medicine/epinephrine, 2*REM) M.adjustPlasma(20) - M.adjust_bodytemperature(-7 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) return ..() /datum/reagent/toxin/lexorin @@ -974,18 +974,13 @@ taste_description = "bone hurting" overdose_threshold = 50 -/datum/reagent/toxin/bonehurtingjuice/on_mob_add(mob/living/carbon/M) - M.say("oof ouch my bones", forced = /datum/reagent/toxin/bonehurtingjuice) - /datum/reagent/toxin/bonehurtingjuice/on_mob_life(mob/living/carbon/M) M.adjustStaminaLoss(7.5, 0) if(prob(20)) - switch(rand(1, 3)) + switch(rand(1, 2)) if(1) - M.say(pick("oof.", "ouch.", "my bones.", "oof ouch.", "oof ouch my bones."), forced = /datum/reagent/toxin/bonehurtingjuice) - if(2) M.manual_emote(pick("oofs silently.", "looks like their bones hurt.", "grimaces, as though their bones hurt.")) - if(3) + if(2) to_chat(M, "Your bones hurt!") return ..() @@ -1000,7 +995,6 @@ bp.receive_damage(0, 0, 200) else //SUCH A LUST FOR REVENGE!!! to_chat(M, "A phantom limb hurts!") - M.say("Why are we still here, just to suffer?", forced = /datum/reagent/toxin/bonehurtingjuice) return ..() /datum/reagent/toxin/bungotoxin diff --git a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm index be5e2ce35f9..380c049adcb 100644 --- a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm @@ -3,26 +3,22 @@ description = "How is this even possible" /datum/reagent/consumable/ethanol/trickwine/ash_wine - name = "Ashwine" - description = "A traditional sacrament for members of the Saint-Roumain Militia. Known to grant visions, and is used both for ritual and entertainment purposes aboard Saint-Roumain vessels." + name = "Wine Of Ash" + description = "A traditional sacrament for members of the Saint-Roumain Militia. Believed to grant visions, seeing use both in ritual and entertainment within the Militia." color = "#6CC66C" boozepwr = 80 quality = DRINK_VERYGOOD - taste_description = "devotional energy and a hint of high-potency hallucinogens" - glass_name = "Ashwine" - glass_desc = "A traditional sacrament for members of the Saint-Roumain Militia. Known to grant visions, and is used both for ritual and entertainment purposes aboard Saint-Roumain vessels." + taste_description = "a rustic fruit, with hints of sweet yet tangy ash." + glass_name = "Wine Of Ash" + glass_desc = "A traditional sacrament for members of the Saint-Roumain Militia. Believed to grant visions, seeing use both in ritual and entertainment within the Militia." breakaway_flask_icon_state = "baflaskashwine" /datum/reagent/consumable/ethanol/trickwine/ash_wine/on_mob_life(mob/living/M) - var/high_message = pick("You feel far more devoted to the cause", "You feel like you should go on a hunt") - var/cleanse_message = pick("Divine light purifies you.", "You are purged of foul spirts.") - if(prob(10)) - M.set_drugginess(10) - to_chat(M, "[high_message]") - if(M.faction && ("roumain" in M.faction)) - M.adjustToxLoss(-2) - if(prob(10)) - to_chat(M, "[cleanse_message]") + if(prob(15)) + M.adjustToxLoss(-1) + M.adjust_drugginess(5) + var/high_message = pick("Devotion runs wild within your soul", "A lust for hunting leaps from within your psyche", "The inner beauty of nature courses within your minds' eye.", "Calm warmth spreads within your body.") + to_chat(M, span_notice("[high_message]")) return ..() /datum/reagent/consumable/ethanol/trickwine/ash_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) @@ -30,27 +26,28 @@ if(!iscarbon(M)) var/mob/living/simple_animal/hostile/hostile_target = M var/hostile_ai_status = hostile_target.AIStatus - hostile_target.AIStatus = AI_OFF + hostile_target.toggle_ai(AI_OFF) addtimer(VARSET_CALLBACK(hostile_target, AIStatus, hostile_ai_status),reac_volume) M.Jitter(3 * reac_volume) M.Dizzy(2 * reac_volume) M.set_drugginess(3 * reac_volume) - M.emote(pick("twitch","giggle")) return ..() /datum/reagent/consumable/ethanol/trickwine/ice_wine - name = "Icewine" + name = "Wine Of Ice" description = "A specialized brew utilized by members of the Saint-Roumain Militia, designed to assist in temperature regulation while working in hot environments. Known to give one the cold shoulder when thrown." color = "#C0F1EE" boozepwr = 70 - taste_description = "a cold night on the hunt" - glass_name = "Icewine" + taste_description = "a weighty meat, undercut by a mild pepper." + glass_name = "Wine Of Ice" glass_desc = "A specialized brew utilized by members of the Saint-Roumain Militia, designed to assist in temperature regulation while working in hot environments. Known to give one the cold shoulder when thrown." breakaway_flask_icon_state = "baflaskicewine" /datum/reagent/consumable/ethanol/trickwine/ice_wine/on_mob_life(mob/living/M) M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) - M.adjustFireLoss(-1) + M.adjustFireLoss(-0.25) + if(prob(10)) + to_chat(M, span_notice("Sweat runs down your body.")) return ..() @@ -65,30 +62,30 @@ paralyze_dur = reac_volume else paralyze_dur = 50 + ((reac_volume - 50) / 4) - M.adjust_bodytemperature((-20*reac_volume) * TEMPERATURE_DAMAGE_COEFFICIENT, 50) + M.adjust_bodytemperature((-1*reac_volume) * TEMPERATURE_DAMAGE_COEFFICIENT, 50) M.Paralyze(paralyze_dur) walk(M, 0) //stops them mid pathing even if they're stunimmunee M.apply_status_effect(/datum/status_effect/ice_block_talisman, paralyze_dur) return ..() /datum/reagent/consumable/ethanol/trickwine/shock_wine - name = "Shockwine" + name = "Lightning's Blessing" description = "A stimulating brew utilized by members of the Saint-Roumain Militia, created to allow trackers to keep up with highly mobile prey. Known to have a shocking effect when thrown" color = "#FEFEB8" - boozepwr = 70 - taste_description = "the adrenaline of the chase" - glass_name = "Shockwine" + boozepwr = 50 + taste_description = "a sharp and unrelenting citrus" + glass_name = "Lightning's Blessing" glass_desc = "A stimulating brew utilized by members of the Saint-Roumain Militia, created to allow trackers to keep up with highly mobile prey. Known to have a shocking effect when thrown" breakaway_flask_icon_state = "baflaskshockwine" /datum/reagent/consumable/ethanol/trickwine/shock_wine/on_mob_metabolize(mob/living/M) ..() M.add_movespeed_modifier(/datum/movespeed_modifier/reagent/shock_wine) - to_chat(M, "You feel faster the lightning!") + to_chat(M, span_notice("You feel like a bolt of lightning!")) /datum/reagent/consumable/ethanol/trickwine/shock_wine/on_mob_end_metabolize(mob/living/M) M.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/shock_wine) - to_chat(M, "You slow to a crawl...") + to_chat(M, span_notice("Inertia leaves your body!")) ..() /datum/reagent/consumable/ethanol/trickwine/shock_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) @@ -102,13 +99,13 @@ return ..() /datum/reagent/consumable/ethanol/trickwine/hearth_wine - name = "Hearthwine" - description = "A fiery brew utilized by members of the Saint-Roumain Militia, engineered to cauterize wounds in the field. Goes out in a blaze of glory when thrown." + name = "Hearthflame" + description = "A fiery brew utilized by members of the Saint-Roumain Militia, engineered to heat the body and cauterize wounds. Goes out in a blaze of glory when thrown." color = "#FEE185" boozepwr = 70 - taste_description = "the heat of battle" - glass_name = "Hearthwine" - glass_desc = "Fiery brew utilized by members of the Saint-Roumain Militia, engineered to cauterize wounds in the field. Goes out in a blaze of glory when thrown." + taste_description = "apple cut apart by tangy pricks" + glass_name = "Hearthflame" + glass_desc = "Fiery brew utilized by members of the Saint-Roumain Militia, engineered to heat the body and cauterize wounds. Goes out in a blaze of glory when thrown." breakaway_flask_icon_state = "baflaskhearthwine" /datum/reagent/consumable/ethanol/trickwine/hearth_wine/on_mob_life(mob/living/M) @@ -127,83 +124,8 @@ T.IgniteTurf(reac_volume) new /obj/effect/hotspot(T, reac_volume * 1, FIRE_MINIMUM_TEMPERATURE_TO_EXIST + reac_volume * 10) var/turf/otherT - for(var/direction in GLOB.cardinals) + for(var/direction in GLOB.alldirs) otherT = get_step(T, direction) otherT.IgniteTurf(reac_volume) new /obj/effect/hotspot(otherT, reac_volume * 1, FIRE_MINIMUM_TEMPERATURE_TO_EXIST + reac_volume * 10) return ..() - -/datum/reagent/consumable/ethanol/trickwine/force_wine - name = "Forcewine" - description = "A fortifying brew utilized by members of the Saint-Roumain Militia, created to protect against the esoteric. Known to act defensively when thrown." - color = "#709AAF" - boozepwr = 70 - taste_description = "the strength of your convictions" - glass_name = "Forcewine" - glass_desc = "A fortifying brew utilized by members of the Saint-Roumain Militia, created to protect against the esoteric. Known to act defensively when thrown." - breakaway_flask_icon_state = "baflaskforcewine" - -/datum/reagent/consumable/ethanol/trickwine/force_wine/on_mob_metabolize(mob/living/M) - ..() - ADD_TRAIT(M, TRAIT_ANTIMAGIC, "trickwine") - ADD_TRAIT(M, TRAIT_MINDSHIELD, "trickwine") - M.visible_message("[M] glows a dim grey aura") - -/datum/reagent/consumable/ethanol/trickwine/force_wine/on_mob_end_metabolize(mob/living/M) - M.visible_message("[M]'s aura fades away ") - REMOVE_TRAIT(M, TRAIT_ANTIMAGIC, "trickwine") - REMOVE_TRAIT(M, TRAIT_MINDSHIELD, "trickwine") - ..() - -/datum/reagent/consumable/ethanol/trickwine/force_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH) - if(!iscarbon(M)) - reac_volume = reac_volume * 2 - var/turf/T = get_turf(M) - var/turf/otherT - new /obj/effect/forcefield/resin(T, reac_volume * 4) - for(var/direction in GLOB.cardinals) - otherT = get_step(T, direction) - new /obj/effect/forcefield/resin(otherT, reac_volume * 4) - return ..() - -/datum/reagent/consumable/ethanol/trickwine/prism_wine - name = "Prismwine" - description = "A glittering brew utilized by members of the Saint-Roumain Militia, mixed to provide defense against the blasts and burns of foes and fauna alike. Softens targets against your own burns when thrown." - color = "#F0F0F0" - boozepwr = 70 - taste_description = "the reflective quality of meditation" - glass_name = "Prismwine" - glass_desc = "A glittering brew utilized by members of the Saint-Roumain Militia, mixed to provide defense against the blasts and burns of foes and fauna alike. Softens targets against your own burns when thrown." - breakaway_flask_icon_state = "baflaskprismwine" - -/datum/reagent/consumable/ethanol/trickwine/prism_wine/on_mob_metabolize(mob/living/carbon/human/M) - ..() - ADD_TRAIT(M, TRAIT_REFLECTIVE, "trickwine") - M.physiology.burn_mod *= 0.5 - M.add_filter("prism-wine", 2, list("type"="outline", "color"="#8FD7DF", "size"=1)) - M.visible_message("[M] seems to shimmer with power!") - -/datum/reagent/consumable/ethanol/trickwine/prism_wine/on_mob_end_metabolize(mob/living/carbon/human/M) - REMOVE_TRAIT(M, TRAIT_REFLECTIVE, "trickwine") - M.physiology.burn_mod *= 2 - M.remove_filter("prism-wine") - M.visible_message("[M] has returned to normal!") - ..() - -/datum/reagent/consumable/ethanol/trickwine/prism_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH) - if(istype(M, /mob/living/simple_animal/hostile/asteroid)) - var/mob/living/simple_animal/hostile/asteroid/the_animal = M - the_animal.armor.modifyRating(energy = -50) - spawn(reac_volume SECONDS) - the_animal.armor.modifyRating(energy = 50) - if(ishuman(M)) - var/mob/living/carbon/human/the_human = M - if(the_human.physiology.burn_mod < 2) - the_human.physiology.burn_mod *= 2 - the_human.visible_message("[the_human] seemed weakend!") - spawn(reac_volume SECONDS) - the_human.physiology.burn_mod *= 0.5 - the_human.visible_message("[the_human] has returned to normal!") - return ..() diff --git a/code/modules/reagents/chemistry/recipes.dm b/code/modules/reagents/chemistry/recipes.dm index 851a9e38a26..d5e74a6766b 100644 --- a/code/modules/reagents/chemistry/recipes.dm +++ b/code/modules/reagents/chemistry/recipes.dm @@ -18,38 +18,6 @@ return //I recommend you set the result amount to the total volume of all components. -/datum/chemical_reaction/proc/chemical_mob_spawn(datum/reagents/holder, amount_to_spawn, reaction_name, mob_class = HOSTILE_SPAWN, mob_faction = "chemicalsummon", random = TRUE) - if(holder && holder.my_atom) - var/atom/A = holder.my_atom - var/turf/T = get_turf(A) - var/message = "Mobs have been spawned in [ADMIN_VERBOSEJMP(T)] by a [reaction_name] reaction." - message += " (VV)" - - var/mob/M = get(A, /mob) - if(M) - message += " - Carried By: [ADMIN_LOOKUPFLW(M)]" - else - message += " - Last Fingerprint: [(A.fingerprintslast ? A.fingerprintslast : "N/A")]" - - message_admins(message, 0, 1) - log_game("[reaction_name] chemical mob spawn reaction occuring at [AREACOORD(T)] carried by [key_name(M)] with last fingerprint [A.fingerprintslast? A.fingerprintslast : "N/A"]") - - playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, TRUE) - - for(var/mob/living/carbon/C in viewers(get_turf(holder.my_atom), null)) - C.flash_act() - - for(var/i in 1 to amount_to_spawn) - var/mob/living/simple_animal/S - if(random) - S = create_random_mob(get_turf(holder.my_atom), mob_class) - else - S = new mob_class(get_turf(holder.my_atom))//Spawn our specific mob_class - S.faction |= mob_faction - if(prob(50)) - for(var/j = 1, j <= rand(1, 3), j++) - step(S, pick(NORTH,SOUTH,EAST,WEST)) - ///Simulates a vortex that moves nearby movable atoms towards or away from the turf T. Range also determines the strength of the effect. High values cause nearby objects to be thrown. /proc/goonchem_vortex(turf/T, setting_type, range) for(var/atom/movable/X in orange(range, T)) diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index e7494191d1d..c4eaf50e45d 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -435,18 +435,6 @@ results = list(/datum/reagent/colorful_reagent = 5) required_reagents = list(/datum/reagent/stable_plasma = 1, /datum/reagent/uranium/radium = 1, /datum/reagent/drug/space_drugs = 1, /datum/reagent/medicine/cryoxadone = 1, /datum/reagent/consumable/triple_citrus = 1) -/datum/chemical_reaction/life - required_reagents = list(/datum/reagent/medicine/strange_reagent = 1, /datum/reagent/medicine/synthflesh = 1, /datum/reagent/blood = 1) - -/datum/chemical_reaction/life/on_reaction(datum/reagents/holder, created_volume) - chemical_mob_spawn(holder, rand(1, round(created_volume, 1)), "Life (hostile)") //defaults to HOSTILE_SPAWN - -/datum/chemical_reaction/life_friendly - required_reagents = list(/datum/reagent/medicine/strange_reagent = 1, /datum/reagent/medicine/synthflesh = 1, /datum/reagent/consumable/sugar = 1) - -/datum/chemical_reaction/life_friendly/on_reaction(datum/reagents/holder, created_volume) - chemical_mob_spawn(holder, rand(1, round(created_volume, 1)), "Life (friendly)", FRIENDLY_SPAWN) - /datum/chemical_reaction/corgium required_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent = 1, /datum/reagent/medicine/strange_reagent = 1, /datum/reagent/blood = 1) required_temp = 374 @@ -560,14 +548,6 @@ required_container = /obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom mix_message = "The mushroom's insides bubble and pop and it becomes very limp." -/datum/chemical_reaction/slime_extractification - required_reagents = list(/datum/reagent/toxin/slimejelly = 30, /datum/reagent/consumable/frostoil = 5, /datum/reagent/toxin/plasma = 5) - mix_message = "The mixture condenses into a ball." - -/datum/chemical_reaction/slime_extractification/on_reaction(datum/reagents/holder, created_volume) - var/location = get_turf(holder.my_atom) - new /obj/item/slime_extract/grey(location) - /datum/chemical_reaction/metalgen_imprint required_reagents = list(/datum/reagent/metalgen = 1, /datum/reagent/liquid_dark_matter = 1) results = list(/datum/reagent/metalgen = 1) @@ -620,6 +600,10 @@ required_temp = 400 mix_message = "The mixture boils off a grey vapor..."//The water boils off, leaving the cement +/datum/chemical_reaction/quick_concrete + results = list(/datum/reagent/concrete = 5) + required_reagents = list(/datum/reagent/concrete_mix = 5, /datum/reagent/water = 5) + /datum/chemical_reaction/hexement results = list(/datum/reagent/cement/hexement = 1) required_reagents = list(/datum/reagent/cement = 6, /datum/reagent/phenol = 1) diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index f6f46d3c397..96c2a85c280 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -6,6 +6,8 @@ explode(holder, created_volume) /datum/chemical_reaction/reagent_explosion/proc/explode(datum/reagents/holder, created_volume) + if(QDELING(holder.my_atom)) + return var/power = modifier + round(created_volume/strengthdiv, 1) if(power > 0) var/turf/T = get_turf(holder.my_atom) @@ -151,17 +153,8 @@ R.stun(20) R.reveal(100) R.adjustHealth(50) - addtimer(CALLBACK(src, PROC_REF(divine_explosion), round(created_volume/48,1),get_turf(holder.my_atom)), 2 SECONDS) ..() -/datum/chemical_reaction/reagent_explosion/potassium_explosion/holyboom/proc/divine_explosion(size, turf/T) - for(var/mob/living/carbon/C in get_hearers_in_view(size,T)) - if(iscultist(C)) - to_chat(C, "The divine explosion sears you!") - C.Paralyze(40) - C.adjust_fire_stacks(5) - C.IgniteMob() - /datum/chemical_reaction/gunpowder results = list(/datum/reagent/gunpowder = 3) required_reagents = list(/datum/reagent/saltpetre = 1, /datum/reagent/medicine/charcoal = 1, /datum/reagent/sulfur = 1) @@ -173,7 +166,6 @@ modifier = 1 mix_message = "Sparks start flying around the gunpowder!" - /datum/chemical_reaction/reagent_explosion/gunpowder_explosion/on_reaction(datum/reagents/holder, created_volume) addtimer(CALLBACK(src, PROC_REF(explode), holder, created_volume), rand(5,10) SECONDS) diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm deleted file mode 100644 index d3bf1e21129..00000000000 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ /dev/null @@ -1,595 +0,0 @@ - -/datum/chemical_reaction/slime - var/deletes_extract = TRUE - -/datum/chemical_reaction/slime/on_reaction(datum/reagents/holder) - use_slime_core(holder) - -/datum/chemical_reaction/slime/proc/use_slime_core(datum/reagents/holder) - SSblackbox.record_feedback("tally", "slime_cores_used", 1, "type") - if(deletes_extract) - delete_extract(holder) - -/datum/chemical_reaction/slime/proc/delete_extract(datum/reagents/holder) - var/obj/item/slime_extract/M = holder.my_atom - if(M.Uses <= 0 && !results.len) //if the slime doesn't output chemicals - qdel(M) - -//Grey -/datum/chemical_reaction/slime/slimespawn - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/grey - required_other = TRUE - -/datum/chemical_reaction/slime/slimespawn/on_reaction(datum/reagents/holder) - var/mob/living/simple_animal/slime/S = new(get_turf(holder.my_atom), "grey") - S.visible_message("Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!") - ..() - -/datum/chemical_reaction/slime/slimeinaprov - results = list(/datum/reagent/medicine/epinephrine = 3) - required_reagents = list(/datum/reagent/water = 5) - required_other = TRUE - required_container = /obj/item/slime_extract/grey - -/datum/chemical_reaction/slime/slimemonkey - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/grey - required_other = TRUE - -/datum/chemical_reaction/slime/slimemonkey/on_reaction(datum/reagents/holder) - for(var/i in 1 to 3) - new /obj/item/reagent_containers/food/snacks/monkeycube(get_turf(holder.my_atom)) - ..() - -//Green -/datum/chemical_reaction/slime/slimemutate - results = list(/datum/reagent/consumable/berryjuice = 1) // Removal of mutation toxins. This used to be jellyperson toxin, but is now just jelly. - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_other = TRUE - required_container = /obj/item/slime_extract/green - -/datum/chemical_reaction/slime/unstabletoxin - results = list(/datum/reagent/toxin/mutagen = 1) // Removal of mutation toxins. This used to be unstable toxin, but is now unstable mutagen. - required_reagents = list(/datum/reagent/uranium/radium = 1) - required_other = TRUE - required_container = /obj/item/slime_extract/green - - -//Metal -/datum/chemical_reaction/slime/slimemetal - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/metal - required_other = TRUE - -/datum/chemical_reaction/slime/slimemetal/on_reaction(datum/reagents/holder) - var/turf/location = get_turf(holder.my_atom) - new /obj/item/stack/sheet/plasteel(location, 5) - new /obj/item/stack/sheet/metal(location, 15) - ..() - -/datum/chemical_reaction/slime/slimeglass - required_reagents = list(/datum/reagent/water = 1) - required_container = /obj/item/slime_extract/metal - required_other = TRUE - -/datum/chemical_reaction/slime/slimeglass/on_reaction(datum/reagents/holder) - var/turf/location = get_turf(holder.my_atom) - new /obj/item/stack/sheet/rglass(location, 5) - new /obj/item/stack/sheet/glass(location, 15) - ..() - -//Gold -/datum/chemical_reaction/slime/slimemobspawn - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/gold - required_other = TRUE - deletes_extract = FALSE //we do delete, but we don't do so instantly - -/datum/chemical_reaction/slime/slimemobspawn/on_reaction(datum/reagents/holder) - var/turf/T = get_turf(holder.my_atom) - summon_mobs(holder, T) - var/obj/item/slime_extract/M = holder.my_atom - deltimer(M.qdel_timer) - ..() - M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) - -/datum/chemical_reaction/slime/slimemobspawn/proc/summon_mobs(datum/reagents/holder, turf/T) - T.visible_message("The slime extract begins to vibrate violently!") - addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 5, "Gold Slime", HOSTILE_SPAWN), 50) - -/datum/chemical_reaction/slime/slimemobspawn/lesser - required_reagents = list(/datum/reagent/blood = 1) - -/datum/chemical_reaction/slime/slimemobspawn/lesser/summon_mobs(datum/reagents/holder, turf/T) - T.visible_message("The slime extract begins to vibrate violently!") - addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 3, "Lesser Gold Slime", HOSTILE_SPAWN, "neutral"), 50) - -/datum/chemical_reaction/slime/slimemobspawn/friendly - required_reagents = list(/datum/reagent/water = 1) - -/datum/chemical_reaction/slime/slimemobspawn/friendly/summon_mobs(datum/reagents/holder, turf/T) - T.visible_message("The slime extract begins to vibrate adorably!") - addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 1, "Friendly Gold Slime", FRIENDLY_SPAWN, "neutral"), 50) - -/datum/chemical_reaction/slime/slimemobspawn/spider - required_reagents = list(/datum/reagent/spider_extract = 1) - -/datum/chemical_reaction/slime/slimemobspawn/spider/summon_mobs(datum/reagents/holder, turf/T) - T.visible_message("The slime extract begins to vibrate crikey-ingly!") - addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 3, "Traitor Spider Slime", /mob/living/simple_animal/hostile/poison/giant_spider/nurse/midwife, "neutral", FALSE), 50) - - -//Silver -/datum/chemical_reaction/slime/slimebork - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/silver - required_other = TRUE - -/datum/chemical_reaction/slime/slimebork/on_reaction(datum/reagents/holder) - //BORK BORK BORK - var/turf/T = get_turf(holder.my_atom) - - playsound(T, 'sound/effects/phasein.ogg', 100, TRUE) - - for(var/mob/living/carbon/C in viewers(T, null)) - C.flash_act() - - for(var/i in 1 to 4 + rand(1,2)) - var/chosen = getbork() - var/obj/B = new chosen(T) - if(prob(5))//Fry it! - var/obj/item/reagent_containers/food/snacks/deepfryholder/fried - fried = new(T, B) - fried.fry() // actually set the name and colour it - B = fried - if(prob(50)) - for(var/j in 1 to rand(1, 3)) - step(B, pick(NORTH,SOUTH,EAST,WEST)) - ..() - -/datum/chemical_reaction/slime/slimebork/proc/getbork() - return get_random_food() - -/datum/chemical_reaction/slime/slimebork/drinks - required_reagents = list(/datum/reagent/water = 1) - -/datum/chemical_reaction/slime/slimebork/drinks/getbork() - return get_random_drink() - -//Blue -/datum/chemical_reaction/slime/slimefrost - results = list(/datum/reagent/consumable/frostoil = 10) - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/blue - required_other = TRUE - -/datum/chemical_reaction/slime/slimestabilizer - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/blue - required_other = TRUE - -/datum/chemical_reaction/slime/slimestabilizer/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/slime/stabilizer(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/slimefoam - required_reagents = list(/datum/reagent/water = 5) - required_container = /obj/item/slime_extract/blue - required_other = TRUE - -/datum/chemical_reaction/slime/slimefoam/on_reaction(datum/reagents/holder) - holder.create_foam(/datum/effect_system/foam_spread,80, "[src] spews out foam!") - -//Dark Blue -/datum/chemical_reaction/slime/slimefreeze - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/darkblue - required_other = TRUE - deletes_extract = FALSE - -/datum/chemical_reaction/slime/slimefreeze/on_reaction(datum/reagents/holder) - var/turf/T = get_turf(holder.my_atom) - T.visible_message("The slime extract starts to feel extremely cold!") - addtimer(CALLBACK(src, PROC_REF(freeze), holder), 50) - var/obj/item/slime_extract/M = holder.my_atom - deltimer(M.qdel_timer) - ..() - M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) - -/datum/chemical_reaction/slime/slimefreeze/proc/freeze(datum/reagents/holder) - if(holder && holder.my_atom) - var/turf/open/T = get_turf(holder.my_atom) - if(istype(T)) - T.atmos_spawn_air("n2=50;TEMP=2.7") - -/datum/chemical_reaction/slime/slimefireproof - required_reagents = list(/datum/reagent/water = 1) - required_container = /obj/item/slime_extract/darkblue - required_other = TRUE - -/datum/chemical_reaction/slime/slimefireproof/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/fireproof(get_turf(holder.my_atom)) - ..() - -//Orange -/datum/chemical_reaction/slime/slimecasp - results = list(/datum/reagent/consumable/capsaicin = 10) - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/orange - required_other = TRUE - -/datum/chemical_reaction/slime/slimefire - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/orange - required_other = TRUE - deletes_extract = FALSE - -/datum/chemical_reaction/slime/slimefire/on_reaction(datum/reagents/holder) - var/turf/T = get_turf(holder.my_atom) - T.visible_message("The slime extract begins to vibrate adorably!") - addtimer(CALLBACK(src, PROC_REF(slime_burn), holder), 50) - var/obj/item/slime_extract/M = holder.my_atom - deltimer(M.qdel_timer) - ..() - M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) - -/datum/chemical_reaction/slime/slimefire/proc/slime_burn(datum/reagents/holder) - if(holder && holder.my_atom) - var/turf/open/T = get_turf(holder.my_atom) - if(istype(T)) - T.atmos_spawn_air("plasma=50;TEMP=1000") - - -/datum/chemical_reaction/slime/slimesmoke - results = list(/datum/reagent/phosphorus = 10, /datum/reagent/potassium = 10, /datum/reagent/consumable/sugar = 10) - required_reagents = list(/datum/reagent/water = 5) - required_container = /obj/item/slime_extract/orange - required_other = TRUE - -//Yellow -/datum/chemical_reaction/slime/slimeoverload - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/yellow - required_other = TRUE - -/datum/chemical_reaction/slime/slimeoverload/on_reaction(datum/reagents/holder, created_volume) - empulse(get_turf(holder.my_atom), 3, 7) - ..() - -/datum/chemical_reaction/slime/slimecell - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/yellow - required_other = TRUE - -/datum/chemical_reaction/slime/slimecell/on_reaction(datum/reagents/holder, created_volume) - new /obj/item/stock_parts/cell/high/slime(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/slimeglow - required_reagents = list(/datum/reagent/water = 1) - required_container = /obj/item/slime_extract/yellow - required_other = TRUE - -/datum/chemical_reaction/slime/slimeglow/on_reaction(datum/reagents/holder) - var/turf/T = get_turf(holder.my_atom) - T.visible_message("The slime begins to emit a soft light. Squeezing it will cause it to grow brightly.") - new /obj/item/flashlight/slime(T) - ..() - -//Purple -/datum/chemical_reaction/slime/slimepsteroid - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/purple - required_other = TRUE - -/datum/chemical_reaction/slime/slimepsteroid/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/slime/steroid(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/slimeregen - results = list(/datum/reagent/medicine/regen_jelly = 5) - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/purple - required_other = TRUE - -//Dark Purple -/datum/chemical_reaction/slime/slimeplasma - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/darkpurple - required_other = TRUE - -/datum/chemical_reaction/slime/slimeplasma/on_reaction(datum/reagents/holder) - new /obj/item/stack/sheet/mineral/plasma(get_turf(holder.my_atom), 3) - ..() - -//Red -/datum/chemical_reaction/slime/slimemutator - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/red - required_other = TRUE - -/datum/chemical_reaction/slime/slimemutator/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/slime/mutator(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/slimebloodlust - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/red - required_other = TRUE - -/datum/chemical_reaction/slime/slimebloodlust/on_reaction(datum/reagents/holder) - for(var/mob/living/simple_animal/slime/slime in viewers(get_turf(holder.my_atom), null)) - if(slime.docile) //Undoes docility, but doesn't make rabid. - slime.visible_message("[slime] forgets its training, becoming wild once again!") - slime.docile = FALSE - slime.update_name() - continue - slime.rabid = 1 - slime.visible_message("The [slime] is driven into a frenzy!") - ..() - -/datum/chemical_reaction/slime/slimespeed - required_reagents = list(/datum/reagent/water = 1) - required_container = /obj/item/slime_extract/red - required_other = TRUE - -/datum/chemical_reaction/slime/slimespeed/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/speed(get_turf(holder.my_atom)) - ..() - -//Pink -/datum/chemical_reaction/slime/docility - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/pink - required_other = TRUE - -/datum/chemical_reaction/slime/docility/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/slime/docility(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/gender - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/pink - required_other = TRUE - -/datum/chemical_reaction/slime/gender/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/genderchange(get_turf(holder.my_atom)) - ..() - -//Black -/datum/chemical_reaction/slime/slimemutate2 - results = list(/datum/reagent/aslimetoxin = 1) - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_other = TRUE - required_container = /obj/item/slime_extract/black - -//Oil -/datum/chemical_reaction/slime/slimeexplosion - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/oil - required_other = TRUE - deletes_extract = FALSE - -/datum/chemical_reaction/slime/slimeexplosion/on_reaction(datum/reagents/holder) - var/turf/T = get_turf(holder.my_atom) - var/lastkey = holder.my_atom.fingerprintslast - var/touch_msg = "N/A" - if(lastkey) - var/mob/toucher = get_mob_by_key(lastkey) - touch_msg = "[ADMIN_LOOKUPFLW(toucher)]." - message_admins("Slime Explosion reaction started at [ADMIN_VERBOSEJMP(T)]. Last Fingerprint: [touch_msg]") - log_game("Slime Explosion reaction started at [AREACOORD(T)]. Last Fingerprint: [lastkey ? lastkey : "N/A"].") - T.visible_message("The slime extract begins to vibrate violently !") - addtimer(CALLBACK(src, PROC_REF(boom), holder), 50) - var/obj/item/slime_extract/M = holder.my_atom - deltimer(M.qdel_timer) - ..() - M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) - -/datum/chemical_reaction/slime/slimeexplosion/proc/boom(datum/reagents/holder) - if(holder && holder.my_atom) - explosion(get_turf(holder.my_atom), 1 ,3, 6) - - -/datum/chemical_reaction/slime/slimecornoil - results = list(/datum/reagent/consumable/cornoil = 10) - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/oil - required_other = TRUE - -//Light Pink -/datum/chemical_reaction/slime/slimepotion2 - required_container = /obj/item/slime_extract/lightpink - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_other = TRUE - -/datum/chemical_reaction/slime/slimepotion2/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/slime/sentience(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/renaming - required_container = /obj/item/slime_extract/lightpink - required_reagents = list(/datum/reagent/water = 1) - required_other = TRUE - -/datum/chemical_reaction/slime/renaming/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/slime/renaming(holder.my_atom.drop_location()) - ..() - - -//Adamantine -/datum/chemical_reaction/slime/adamantine - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/adamantine - required_other = TRUE - -/datum/chemical_reaction/slime/adamantine/on_reaction(datum/reagents/holder) - new /obj/item/stack/sheet/mineral/hidden/hellstone(get_turf(holder.my_atom)) - ..() - -//Bluespace -/datum/chemical_reaction/slime/slimefloor2 - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/bluespace - required_other = TRUE - -/datum/chemical_reaction/slime/slimefloor2/on_reaction(datum/reagents/holder, created_volume) - new /obj/item/stack/tile/bluespace(get_turf(holder.my_atom), 25) - ..() - - -/datum/chemical_reaction/slime/slimecrystal - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/bluespace - required_other = TRUE - -/datum/chemical_reaction/slime/slimecrystal/on_reaction(datum/reagents/holder, created_volume) - var/obj/item/stack/ore/bluespace_crystal/BC = new (get_turf(holder.my_atom)) - BC.visible_message("The [BC.name] appears out of thin air!") - ..() - -/datum/chemical_reaction/slime/slimeradio - required_reagents = list(/datum/reagent/water = 1) - required_container = /obj/item/slime_extract/bluespace - required_other = TRUE - -/datum/chemical_reaction/slime/slimeradio/on_reaction(datum/reagents/holder, created_volume) - new /obj/item/slimepotion/slime/slimeradio(get_turf(holder.my_atom)) - ..() - -//Cerulean -/datum/chemical_reaction/slime/slimepsteroid2 - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/cerulean - required_other = TRUE - -/datum/chemical_reaction/slime/slimepsteroid2/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/enhancer(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/slime_territory - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/cerulean - required_other = TRUE - -/datum/chemical_reaction/slime/slime_territory/on_reaction(datum/reagents/holder) - new /obj/item/areaeditor/blueprints/slime(get_turf(holder.my_atom)) - ..() - -//Sepia -/datum/chemical_reaction/slime/slimestop - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/sepia - required_other = TRUE - -/datum/chemical_reaction/slime/slimestop/on_reaction(datum/reagents/holder) - addtimer(CALLBACK(src, PROC_REF(slime_stop), holder), 5 SECONDS) - -/datum/chemical_reaction/slime/slimestop/proc/slime_stop(datum/reagents/holder) - var/obj/item/slime_extract/sepia/extract = holder.my_atom - var/turf/T = get_turf(holder.my_atom) - new /obj/effect/timestop(T, null, null, null) - if(istype(extract)) - if(extract.Uses > 0) - var/mob/lastheld = get_mob_by_key(holder.my_atom.fingerprintslast) - if(lastheld && !lastheld.equip_to_slot_if_possible(extract, ITEM_SLOT_HANDS, disable_warning = TRUE)) - extract.forceMove(get_turf(lastheld)) - use_slime_core(holder) - -/datum/chemical_reaction/slime/slimecamera - required_reagents = list(/datum/reagent/water = 1) - required_container = /obj/item/slime_extract/sepia - required_other = TRUE - -/datum/chemical_reaction/slime/slimecamera/on_reaction(datum/reagents/holder) - new /obj/item/camera(get_turf(holder.my_atom)) - new /obj/item/camera_film(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/slimefloor - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/sepia - required_other = TRUE - -/datum/chemical_reaction/slime/slimefloor/on_reaction(datum/reagents/holder) - new /obj/item/stack/tile/sepia(get_turf(holder.my_atom), 25) - ..() - -//Pyrite -/datum/chemical_reaction/slime/slimepaint - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/pyrite - required_other = TRUE - -/datum/chemical_reaction/slime/slimepaint/on_reaction(datum/reagents/holder) - var/chosen = pick(subtypesof(/obj/item/paint)) - new chosen(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/slimecrayon - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/pyrite - required_other = TRUE - -/datum/chemical_reaction/slime/slimecrayon/on_reaction(datum/reagents/holder) - var/chosen = pick(difflist(subtypesof(/obj/item/toy/crayon),typesof(/obj/item/toy/crayon/spraycan))) - new chosen(get_turf(holder.my_atom)) - ..() - -//Rainbow :o) -/datum/chemical_reaction/slime/slimeRNG - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_other = TRUE - required_container = /obj/item/slime_extract/rainbow - -/datum/chemical_reaction/slime/slimeRNG/on_reaction(datum/reagents/holder, created_volume) - if(created_volume >= 5) - var/obj/item/grenade/clusterbuster/slime/S = new (get_turf(holder.my_atom)) - S.visible_message("Infused with plasma, the core begins to expand uncontrollably!") - S.icon_state = "[S.base_state]_active" - S.active = TRUE - addtimer(CALLBACK(S, TYPE_PROC_REF(/obj/item/grenade, prime)), rand(15,60)) - else - var/mob/living/simple_animal/slime/random/S = new (get_turf(holder.my_atom)) - S.visible_message("Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!") - ..() - -/datum/chemical_reaction/slime/slimebomb - required_reagents = list(/datum/reagent/toxin/slimejelly = 1) - required_other = TRUE - required_container = /obj/item/slime_extract/rainbow - -/datum/chemical_reaction/slime/slimebomb/on_reaction(datum/reagents/holder, created_volume) - var/turf/T = get_turf(holder.my_atom) - var/obj/item/grenade/clusterbuster/slime/volatile/S = new (T) - S.visible_message("Infused with slime jelly, the core begins to expand uncontrollably!") - S.icon_state = "[S.base_state]_active" - S.active = TRUE - addtimer(CALLBACK(S, TYPE_PROC_REF(/obj/item/grenade, prime)), rand(15,60)) - var/lastkey = holder.my_atom.fingerprintslast - var/touch_msg = "N/A" - if(lastkey) - var/mob/toucher = get_mob_by_key(lastkey) - touch_msg = "[ADMIN_LOOKUPFLW(toucher)]." - message_admins("Brorble Brorble primed at [ADMIN_VERBOSEJMP(T)]. Last Fingerprint: [touch_msg]") - log_game("Brorble Brorble primed at [AREACOORD(T)]. Last Fingerprint: [lastkey ? lastkey : "N/A"].") - ..() - -/datum/chemical_reaction/slime/slime_transfer - required_reagents = list(/datum/reagent/blood = 1) - required_other = TRUE - required_container = /obj/item/slime_extract/rainbow - -/datum/chemical_reaction/slime/slime_transfer/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/transference(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/flight_potion - required_reagents = list(/datum/reagent/water/holywater = 5, /datum/reagent/uranium = 5) - required_other = TRUE - required_container = /obj/item/slime_extract/rainbow - -/datum/chemical_reaction/slime/flight_potion/on_reaction(datum/reagents/holder) - new /obj/item/reagent_containers/glass/bottle/potion/flight(get_turf(holder.my_atom)) - ..() diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm index df7949c9c65..80d636202f4 100644 --- a/code/modules/reagents/reagent_containers/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -39,6 +39,11 @@ desc = "A small bottle of morphine." list_reagents = list(/datum/reagent/medicine/morphine = 30) +/obj/item/reagent_containers/glass/bottle/painkiller_booze + name = "'painkiller' bottle" + desc = "A small bottle of an unmarked substance called 'painkiller.' Will this really work?" + list_reagents = list(/datum/reagent/consumable/ethanol/painkiller = 30) + /obj/item/reagent_containers/glass/bottle/chloralhydrate name = "chloral hydrate bottle" desc = "A small bottle of Choral Hydrate. Mickey's Favorite!" diff --git a/code/modules/reagents/reagent_containers/concrete_bags.dm b/code/modules/reagents/reagent_containers/concrete_bags.dm new file mode 100644 index 00000000000..eaceb1c8563 --- /dev/null +++ b/code/modules/reagents/reagent_containers/concrete_bags.dm @@ -0,0 +1,58 @@ +/* In a better world, the logic for transfering reagents out of containers wouldn't be in /glass */ + +/obj/item/reagent_containers/glass/concrete_bag + name = "\improper concrete mix bag" + desc = "A bag of concrete mixture from the F.O.O.D corportation. Just add water!" + w_class = WEIGHT_CLASS_HUGE //25+ kg + throw_range = 1 + + amount_per_transfer_from_this = 25 + possible_transfer_amounts = list(25,50,75,100) + list_reagents = list(/datum/reagent/concrete_mix = 200) + reagent_flags = OPENCONTAINER + volume = 200 + + icon = 'icons/obj/chemical/concrete.dmi' + icon_state = "concrete_bag" + item_state = "concrete_bag" + lefthand_file = 'icons/mob/inhands/misc/concrete_bag_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/concrete_bag_righthand.dmi' + fill_icon_thresholds = null + + var/opened = FALSE + var/opened_icon_state = "concrete_bag_open" + + drop_sound = 'sound/items/handling/cloth_drop.ogg' + pickup_sound = 'sound/items/handling/cloth_pickup.ogg' + +/obj/item/reagent_containers/glass/concrete_bag/examine(mob/user) + . = ..() + if(!opened) + . += span_notice("[src] is unopened") + else + . += span_notice("[src] has been opened") + +/obj/item/reagent_containers/glass/concrete_bag/AltClick(mob/user) + if(!can_interact(user)) + return + if(!opened) + if(do_after(user, 3 SECONDS)) + visible_message(span_notice("[user] tears the top of [src] off!"), span_notice("You tear the top off [src]!")) + playsound(src, 'sound/items/poster_ripped.ogg', 50, 1) + new /obj/effect/decal/cleanable/generic(get_turf(src)) + icon_state = opened_icon_state + spillable = TRUE + opened = TRUE + return + return + return + +/obj/item/reagent_containers/glass/concrete_bag/attack_self(mob/user) + if(!opened) + return + ..() + +/obj/item/reagent_containers/glass/concrete_bag/attack(mob/user) + if(!opened) + return + ..() diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 62661594c06..999b576ea08 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -87,7 +87,7 @@ else if(reagents.total_volume && is_drainable()) switch(user.a_intent) - if(INTENT_HELP) + if(INTENT_DISARM) attempt_pour(target, user) if(INTENT_HARM) user.visible_message("[user] splashes the contents of [src] onto [target]!", \ diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 11cbd03c978..8415c98e41e 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -18,7 +18,7 @@ /obj/item/reagent_containers/hypospray name = "hypospray" - desc = "The DeForest Medical Corporation hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients." + desc = "The hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients." icon = 'icons/obj/syringe.dmi' item_state = "hypo" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' @@ -103,15 +103,6 @@ icon_state = "[base_icon_state][(reagents.total_volume > 0) ? null : 0]" return ..() -/obj/item/reagent_containers/hypospray/combat/heresypurge - name = "holy water piercing injector" - desc = "A modified air-needle autoinjector for use in combat situations. Prefilled with 5 doses of a holy water and pacifier mixture. Not for use on your teammates." - item_state = "holy_hypo" - icon_state = "holy_hypo" - volume = 250 - list_reagents = list(/datum/reagent/water/holywater = 150, /datum/reagent/peaceborg/tire = 50, /datum/reagent/peaceborg/confuse = 50) - amount_per_transfer_from_this = 50 - //MediPens /obj/item/reagent_containers/hypospray/medipen @@ -395,7 +386,7 @@ to_chat(user, "You remove [vial] from [src].") vial = null update_appearance() - playsound(loc, 'sound/weapons/empty.ogg', 50, 1) + playsound(loc, SOUND_EMPTY_MAG, 50, 1) else to_chat(user, "This hypo isn't loaded!") return diff --git a/code/modules/reagents/reagent_containers/jug.dm b/code/modules/reagents/reagent_containers/jug.dm index 80ebcbb4d5b..10baf946a08 100644 --- a/code/modules/reagents/reagent_containers/jug.dm +++ b/code/modules/reagents/reagent_containers/jug.dm @@ -1,7 +1,7 @@ /obj/item/reagent_containers/glass/chem_jug name = "chemical jug" desc = "A large jug used for storing bulk ammounts chemicals. Provided with a tamper seal which ensures that the contents are pure" - icon = 'icons/obj/chemical/chem_jug.dmi' + icon = 'icons/obj/chemical/chem_jug.dmi' // the coloring of labels for elemental chemicals is based on the chemical group block coloring at https://pubchem.ncbi.nlm.nih.gov/periodic-table/ . Everything else is whatever. icon_state = "chem_jug" item_state = "sheet-plastic" w_class = WEIGHT_CLASS_BULKY @@ -80,36 +80,21 @@ /obj/item/reagent_containers/glass/chem_jug/open cap_on = FALSE -/obj/item/reagent_containers/glass/chem_jug/carbon - name = "chemical jug (carbon)" - icon_state = "chem_jug_carbon" - list_reagents = list(/datum/reagent/carbon = 150) - -/obj/item/reagent_containers/glass/chem_jug/oxygen - name = "chemical jug (oxygen)" - icon_state = "chem_jug_oxygen" - list_reagents = list(/datum/reagent/oxygen = 150) - -/obj/item/reagent_containers/glass/chem_jug/nitrogen - name = "chemical jug (nitrogen)" - icon_state = "chem_jug_nitrogen" - list_reagents = list(/datum/reagent/nitrogen = 150) - -/obj/item/reagent_containers/glass/chem_jug/hydrogen - name = "chemical jug (hydrogen)" - icon_state = "chem_jug_hydrogen" - list_reagents = list(/datum/reagent/hydrogen = 150) - -/obj/item/reagent_containers/glass/chem_jug/radium - name = "chemical jug (radium)" - icon_state = "chem_jug_radium" - list_reagents = list(/datum/reagent/uranium/radium = 150) - /obj/item/reagent_containers/glass/chem_jug/aluminium name = "chemical jug (aluminium)" icon_state = "chem_jug_aluminium" list_reagents = list(/datum/reagent/aluminium = 150) +/obj/item/reagent_containers/glass/chem_jug/bromine + name = "chemical jug (bromine)" + icon_state = "chem_jug_bromine" + list_reagents = list(/datum/reagent/bromine = 150) + +/obj/item/reagent_containers/glass/chem_jug/carbon + name = "chemical jug (carbon)" + icon_state = "chem_jug_carbon" + list_reagents = list(/datum/reagent/carbon = 150) + /obj/item/reagent_containers/glass/chem_jug/chlorine name = "chemical jug (chlorine)" icon_state = "chem_jug_chlorine" @@ -120,26 +105,70 @@ icon_state = "chem_jug_copper" list_reagents = list(/datum/reagent/copper = 150) -/obj/item/reagent_containers/glass/chem_jug/bromine - name = "chemical jug (bromine)" - icon_state = "chem_jug_bromine" - list_reagents = list(/datum/reagent/bromine = 150) +/obj/item/reagent_containers/glass/chem_jug/fluorine + name = "chemical jug (fluorine)" + icon_state = "chem_jug_fluorine" + list_reagents = list(/datum/reagent/fluorine = 150) + +/obj/item/reagent_containers/glass/chem_jug/hydrogen + name = "chemical jug (hydrogen)" + icon_state = "chem_jug_hydrogen" + list_reagents = list(/datum/reagent/hydrogen = 150) /obj/item/reagent_containers/glass/chem_jug/iodine name = "chemical jug (iodine)" icon_state = "chem_jug_iodine" list_reagents = list(/datum/reagent/iodine = 150) +/obj/item/reagent_containers/glass/chem_jug/lithium + name = "chemical jug (lithium)" + icon_state = "chem_jug_lithium" + list_reagents = list(/datum/reagent/lithium = 150) + +/obj/item/reagent_containers/glass/chem_jug/mercury + name = "chemical jug (mercury)" + icon_state = "chem_jug_mercury" + list_reagents = list(/datum/reagent/mercury = 150) + +/obj/item/reagent_containers/glass/chem_jug/nitrogen + name = "chemical jug (nitrogen)" + icon_state = "chem_jug_nitrogen" + list_reagents = list(/datum/reagent/nitrogen = 150) + +/obj/item/reagent_containers/glass/chem_jug/oxygen + name = "chemical jug (oxygen)" + icon_state = "chem_jug_oxygen" + list_reagents = list(/datum/reagent/oxygen = 150) + +/obj/item/reagent_containers/glass/chem_jug/phosphorus + name = "chemical jug (phosphorus)" + icon_state = "chem_jug_phosphorus" + list_reagents = list(/datum/reagent/phosphorus = 150) + /obj/item/reagent_containers/glass/chem_jug/potassium name = "chemical jug (potassium)" icon_state = "chem_jug_potassium" list_reagents = list(/datum/reagent/potassium = 150) +/obj/item/reagent_containers/glass/chem_jug/radium + name = "chemical jug (radium)" + icon_state = "chem_jug_radium" + list_reagents = list(/datum/reagent/uranium/radium = 150) + +/obj/item/reagent_containers/glass/chem_jug/sodium + name = "chemical jug (sodium)" + icon_state = "chem_jug_sodium" + list_reagents = list(/datum/reagent/sodium = 150) + /obj/item/reagent_containers/glass/chem_jug/sulfur name = "chemical jug (sulfur)" icon_state = "chem_jug_sulfur" list_reagents = list(/datum/reagent/sulfur = 150) -/obj/item/reagent_containers/glass/chem_jug/thermite +/obj/item/reagent_containers/glass/chem_jug/thermite // not giving this its own "elemental" jug sprite. name = "chemical jug (thermite)" list_reagents = list(/datum/reagent/thermite = 150) + +/obj/item/reagent_containers/glass/chem_jug/hexacrete + name = "chemical jug (hexacrete)" + list_reagents = list(/datum/reagent/concrete/hexacrete = 150) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 9cac6c3a52a..ba3cd6a540f 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -96,7 +96,7 @@ name = "morphine pill" desc = "Commonly used to treat insomnia." icon_state = "pill8" - list_reagents = list(/datum/reagent/medicine/morphine = 30) + list_reagents = list(/datum/reagent/medicine/morphine = 15) rename_with_volume = TRUE /obj/item/reagent_containers/pill/stimulant diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 05f68682083..1fe7a307353 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -180,7 +180,7 @@ /obj/item/reagent_containers/spray/pepper name = "pepperspray" desc = "Manufactured by UhangInc, used to blind and down an opponent quickly." - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' icon_state = "pepperspray" item_state = "pepperspray" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' @@ -260,8 +260,8 @@ icon = 'icons/obj/guns/projectile.dmi' icon_state = "chemsprayer" item_state = "chemsprayer" - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON throwforce = 0 w_class = WEIGHT_CLASS_NORMAL stream_mode = 1 @@ -298,8 +298,8 @@ desc = "A utility used to spray large amounts of cleaning reagents in a given area. It regenerates space cleaner by itself but it's unable to be fueled by normal means." icon_state = "chemsprayer_janitor" item_state = "chemsprayer_janitor" - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON reagent_flags = NONE list_reagents = list(/datum/reagent/space_cleaner = 1000) volume = 1000 diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index 84a8292f726..dd8c6c24442 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -58,6 +58,12 @@ reagent_id = /datum/reagent/firefighting_foam tank_volume = 500 +/obj/structure/reagent_dispensers/foamtank/antirad + name = "anti-radiation foam tank" + desc = "A tank full of decontamination foam" + reagent_id = /datum/reagent/anti_radiation_foam + tank_volume = 1000 + /obj/structure/reagent_dispensers/fueltank name = "fuel tank" desc = "A tank full of industrial welding fuel. Do not consume." @@ -68,9 +74,6 @@ explosion(get_turf(src), 0, 1, 5, flame_range = 5) qdel(src) -/obj/structure/reagent_dispensers/fueltank/blob_act(obj/structure/blob/B) - boom() - /obj/structure/reagent_dispensers/fueltank/ex_act() boom() @@ -161,12 +164,6 @@ icon_state = "beer" reagent_id = /datum/reagent/consumable/ethanol/beer -/obj/structure/reagent_dispensers/beerkeg/blob_act(obj/structure/blob/B) - explosion(src.loc,0,3,5,7,10) - if(!QDELETED(src)) - qdel(src) - - /obj/structure/reagent_dispensers/virusfood name = "virus food dispenser" desc = "A dispenser of low-potency virus mutagenic." @@ -191,6 +188,11 @@ anchored = TRUE reagent_id = /datum/reagent/consumable/nutraslop +/obj/structure/reagent_dispensers/servingdish/wrench_act(mob/living/user, obj/item/tool) + . = ..() + default_unfasten_wrench(user, tool) + return TRUE + /obj/structure/reagent_dispensers/plumbed name = "stationairy water tank" anchored = TRUE diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index b8b08486f20..9b6a0629fa3 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -365,7 +365,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) /obj/item/conveyor_switch_construct/afterattack(atom/A, mob/user, proximity) . = ..() - if(!proximity || user.stat || !isfloorturf(A) || istype(A, /area/shuttle)) + if(!proximity || user.stat || !isfloorturf(A)) return var/found = 0 for(var/obj/machinery/conveyor/C in view()) @@ -397,7 +397,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) /obj/item/stack/conveyor/afterattack(atom/A, mob/user, proximity) . = ..() - if(!proximity || user.stat || !isfloorturf(A) || istype(A, /area/shuttle)) + if(!proximity || user.stat || !isfloorturf(A)) return var/cdir = get_dir(A, user) if(A == user.loc) diff --git a/code/modules/requests/requests_manager.dm b/code/modules/requests/requests_manager.dm index e33da846d4d..9531f796047 100644 --- a/code/modules/requests/requests_manager.dm +++ b/code/modules/requests/requests_manager.dm @@ -23,7 +23,7 @@ GLOBAL_DATUM_INIT(requests, /datum/request_manager, new) /// List where requests can be accessed by ID var/list/requests_by_id = list() -/datum/request_manager/Destroy(force, ...) +/datum/request_manager/Destroy(force) QDEL_LIST(requests) return ..() @@ -106,6 +106,9 @@ GLOBAL_DATUM_INIT(requests, /datum/request_manager, new) */ /datum/request_manager/proc/fax_request(client/requester, message, additional_info) request_for_client(requester, REQUEST_FAX, message, additional_info) + for(var/client/admin in GLOB.admins) + if(admin.prefs.chat_toggles & CHAT_PRAYER && admin.prefs.toggles & SOUND_PRAYERS) + SEND_SOUND(admin, sound('sound/misc/mail.ogg')) /** * Creates a request and registers the request with all necessary internal tracking lists diff --git a/code/modules/research/bepis.dm b/code/modules/research/bepis.dm deleted file mode 100644 index bb56a69adf2..00000000000 --- a/code/modules/research/bepis.dm +++ /dev/null @@ -1,275 +0,0 @@ -//This system is designed to act as an in-between for cargo and science, and the first major money sink in the game outside of just buying things from cargo (As of 10/9/19, anyway). - -//economics defined values, subject to change should anything be too high or low in practice. - -#define MACHINE_OPERATION 100000 -#define MACHINE_OVERLOAD 500000 -#define MAJOR_THRESHOLD 5500 -#define MINOR_THRESHOLD 3500 -#define STANDARD_DEVIATION 1000 - -/obj/machinery/rnd/bepis - name = "\improper B.E.P.I.S. Chamber" - desc = "A high fidelity testing device which unlocks the secrets of the known universe using the two most powerful substances available to man: excessive amounts of electricity and capital." - icon = 'icons/obj/machines/bepis.dmi' - icon_state = "chamber" - base_icon_state = "chamber" - density = TRUE - layer = ABOVE_MOB_LAYER - use_power = IDLE_POWER_USE - active_power_usage = ACTIVE_DRAW_HIGH - circuit = /obj/item/circuitboard/machine/bepis - - var/banking_amount = 100 - var/banked_cash = 0 //stored player cash - var/datum/bank_account/account //payer's account. - var/account_name //name of the payer's account. - var/error_cause = null - //Vars related to probability and chance of success for testing - var/major_threshold = MAJOR_THRESHOLD - var/minor_threshold = MINOR_THRESHOLD - var/std = STANDARD_DEVIATION //That's Standard Deviation, what did you think it was? - //Stock part variables - var/power_saver = 1 - var/inaccuracy_percentage = 1.5 - var/positive_cash_offset = 0 - var/negative_cash_offset = 0 - var/minor_rewards = list( - //To add a new minor reward, add it here. - /obj/item/stack/circuit_stack/full, - /obj/item/pen/survival, - /obj/item/toy/sprayoncan, - ) - var/static/list/item_list = list() - -/obj/machinery/rnd/bepis/attackby(obj/item/O, mob/user, params) - if(default_deconstruction_screwdriver(user, "chamber_open", "chamber", O)) - update_icon_state() - return - if(default_deconstruction_crowbar(O)) - return - if(!is_operational) - to_chat(user, "[src] can't accept money when it's not functioning.") - return - if(istype(O, /obj/item/holochip) || istype(O, /obj/item/spacecash/bundle)) - var/deposit_value = O.get_item_credit_value() - banked_cash += deposit_value - qdel(O) - say("Deposited [deposit_value] credits into storage.") - update_icon_state() - return - if(istype(O, /obj/item/card/bank)) - var/obj/item/card/bank/bank_card = O - if(bank_card.registered_account) - account = bank_card.registered_account - account_name = bank_card.registered_name - say("New account detected. Console Updated.") - else - say("No account detected on card. Aborting.") - return - return ..() - -/obj/machinery/rnd/bepis/RefreshParts() - var/C = 0 - var/M = 0 - var/L = 0 - var/S = 0 - for(var/obj/item/stock_parts/capacitor/Cap in component_parts) - C += ((Cap.rating - 1) * 0.1) - power_saver = 1 - C - for(var/obj/item/stock_parts/manipulator/Manip in component_parts) - M += ((Manip.rating - 1) * 250) - positive_cash_offset = M - for(var/obj/item/stock_parts/micro_laser/Laser in component_parts) - L += ((Laser.rating - 1) * 250) - negative_cash_offset = L - for(var/obj/item/stock_parts/scanning_module/Scan in component_parts) - S += ((Scan.rating - 1) * 0.25) - inaccuracy_percentage = (1.5 - S) - -/obj/machinery/rnd/bepis/proc/depositcash() - var/deposit_value = 0 - deposit_value = banking_amount - if(deposit_value == 0) - update_icon_state() - say("Attempting to deposit 0 credits. Aborting.") - return - deposit_value = clamp(round(deposit_value, 1), 1, 15000) - if(!account) - say("Cannot find user account. Please swipe a valid ID.") - return - if(!account.has_money(deposit_value)) - say("You do not possess enough credits.") - return - account.adjust_money(-deposit_value, "bepis") //The money vanishes, not paid to any accounts. - SSblackbox.record_feedback("amount", "BEPIS_credits_spent", deposit_value) - log_econ("[deposit_value] credits were inserted into [src] by [account.account_holder]") - banked_cash += deposit_value - use_power(1000 * power_saver) - say("Cash deposit successful. There is [banked_cash] in the chamber.") - update_icon_state() - return - -/obj/machinery/rnd/bepis/proc/withdrawcash() - var/withdraw_value = 0 - withdraw_value = banking_amount - if(withdraw_value > banked_cash) - say("Cannot withdraw more than stored funds. Aborting.") - else - banked_cash -= withdraw_value - new /obj/item/spacecash/bundle(src.loc, withdraw_value) - say("Withdrawing [withdraw_value] credits from the chamber.") - update_icon_state() - return - -/obj/machinery/rnd/bepis/proc/calcsuccess() - var/turf/dropturf = null - var/gauss_major = 0 - var/gauss_minor = 0 - var/gauss_real = 0 - var/list/turfs = block(locate(x-1,y-1,z),locate(x+1,y+1,z)) //NO MORE DISCS IN WINDOWS - while(length(turfs)) - var/turf/T = pick_n_take(turfs) - if(T.is_blocked_turf(TRUE)) - continue - else - dropturf = T - break - if (!dropturf) - dropturf = drop_location() - gauss_major = (gaussian(major_threshold, std) - negative_cash_offset) //This is the randomized profit value that this experiment has to surpass to unlock a tech. - gauss_minor = (gaussian(minor_threshold, std) - negative_cash_offset) //And this is the threshold to instead get a minor prize. - gauss_real = (gaussian(banked_cash, std*inaccuracy_percentage) + positive_cash_offset) //this is the randomized profit value that your experiment expects to give. - say("Real: [gauss_real]. Minor: [gauss_minor]. Major: [gauss_major].") - flick("chamber_flash",src) - update_icon_state() - banked_cash = 0 - if((gauss_real >= gauss_major) && (SSresearch.techweb_nodes_experimental.len > 0)) //Major Success. - say("Experiment concluded with major success. New technology node discovered on technology disc.") - new /obj/item/disk/tech_disk/major(dropturf,1) - if(SSresearch.techweb_nodes_experimental.len == 0) - say("Expended all available experimental technology nodes. Resorting to minor rewards.") - return - if(gauss_real >= gauss_minor) //Minor Success. - var/reward = pick(minor_rewards) - new reward(dropturf) - say("Experiment concluded with partial success. Dispensing compiled research efforts.") - return - if(gauss_real <= -1) //Critical Failure - say("ERROR: CRITICAL MACHIME MALFUNCTI- ON. CURRENCY IS NOT CRASH. CANNOT COMPUTE COMMAND: 'make bucks'") //not a typo, for once. - new /mob/living/simple_animal/deer(dropturf, 1) - use_power(MACHINE_OVERLOAD * power_saver) //To prevent gambling at low cost and also prevent spamming for infinite deer. - return - //Minor Failure - error_cause = pick("attempted to sell grey products to American dominated market.","attempted to sell gray products to British dominated market.","placed wild assumption that PDAs would go out of style.","simulated product #76 damaged brand reputation mortally.","simulated business model resembled 'pyramid scheme' by 98.7%.","product accidently granted override access to all vessel doors.") - say("Experiment concluded with zero product viability. Cause of error: [error_cause]") - return - -/obj/machinery/rnd/bepis/update_icon_state() - if(panel_open == TRUE) - icon_state = "[base_icon_state]_open" - return ..() - if((use_power == ACTIVE_POWER_USE) && (banked_cash > 0) && (is_operational)) - icon_state = "[base_icon_state]_active_loaded" - return ..() - if (((use_power == IDLE_POWER_USE) && (banked_cash > 0)) || (banked_cash > 0) && (!is_operational)) - icon_state = "[base_icon_state]_loaded" - return ..() - if(use_power == ACTIVE_POWER_USE && is_operational) - icon_state = "[base_icon_state]_active" - return ..() - if(((use_power == IDLE_POWER_USE) && (banked_cash == 0)) || (!is_operational)) - icon_state = base_icon_state - return ..() - return ..() - -/obj/machinery/rnd/bepis/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "Bepis", name) - ui.open() - RefreshParts() - -/obj/machinery/rnd/bepis/ui_data(mob/user) - var/list/data = list() - var/powered = FALSE - var/zvalue = (banked_cash - (major_threshold - positive_cash_offset - negative_cash_offset))/(std) - var/std_success = 0 - var/prob_success = 0 - //Admittedly this is messy, but not nearly as messy as the alternative, which is jury-rigging an entire Z-table into the code, or making an adaptive z-table. - var/z = abs(zvalue) - if(z > 0 && z <= 0.5) - std_success = 19.1 - else if(z > 0.5 && z <= 1.0) - std_success = 34.1 - else if(z > 1.0 && z <= 1.5) - std_success = 43.3 - else if(z > 1.5 && z <= 2.0) - std_success = 47.7 - else if(z > 2.0 && z <= 2.5) - std_success = 49.4 - else - std_success = 50 - if(zvalue > 0) - prob_success = 50 + std_success - else if(zvalue == 0) - prob_success = 50 - else - prob_success = 50 - std_success - - if(use_power == ACTIVE_POWER_USE) - powered = TRUE - data["account_owner"] = account_name - data["amount"] = banking_amount - data["stored_cash"] = banked_cash - data["mean_value"] = (major_threshold - positive_cash_offset - negative_cash_offset) - data["error_name"] = error_cause - data["power_saver"] = power_saver - data["accuracy_percentage"] = inaccuracy_percentage * 100 - data["positive_cash_offset"] = positive_cash_offset - data["negative_cash_offset"] = negative_cash_offset - data["manual_power"] = powered ? FALSE : TRUE - data["silicon_check"] = issilicon(user) - data["success_estimate"] = prob_success - return data - -/obj/machinery/rnd/bepis/ui_act(action,params) - . = ..() - if(.) - return - switch(action) - if("deposit_cash") - if(use_power == IDLE_POWER_USE) - return - depositcash() - if("withdraw_cash") - if(use_power == IDLE_POWER_USE) - return - withdrawcash() - if("begin_experiment") - if(use_power == IDLE_POWER_USE) - return - if(banked_cash == 0) - say("Please deposit funds to begin testing.") - return - calcsuccess() - use_power(MACHINE_OPERATION * power_saver) //This thing should eat your APC battery if you're not careful. - set_idle_power() //Machine shuts off after use to prevent spam and look better visually. - update_icon_state() - if("amount") - var/input = text2num(params["amount"]) - if(input) - banking_amount = input - if("toggle_power") - if(use_power == ACTIVE_POWER_USE) - set_idle_power() - else - set_active_power() - update_icon_state() - if("account_reset") - if(use_power == IDLE_POWER_USE) - return - account_name = "" - account = null - say("Account settings reset.") - . = TRUE diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 5e45c756c88..6d6b7c0f1ab 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -97,18 +97,25 @@ other types of metals and chemistry for reagents). color = "#8b70ff" illustration = "design" custom_materials = list(/datum/material/iron =300, /datum/material/glass =100) + var/disk_name = "Design Disk" + var/design_name var/list/blueprints = list() - var/list/starting_blueprints = list() + var/starting_blueprints = list() var/max_blueprints = 1 /obj/item/disk/design_disk/Initialize() . = ..() pixel_x = base_pixel_x + rand(-5, 5) pixel_y = base_pixel_y + rand(-5, 5) - blueprints = new/list(max_blueprints) + if(design_name) + name = jointext(list(disk_name, design_name), " - ") + if(length(starting_blueprints)) + for(var/design in starting_blueprints) + blueprints += new design() /obj/item/disk/design_disk/adv name = "Advanced Component Design Disk" + disk_name = "Advanced Design Disk" color = "#bed876" desc = "A disk for storing device design data for construction in lathes. This one has a little bit of extra storage space." custom_materials = list(/datum/material/iron =300, /datum/material/glass = 100, /datum/material/silver = 50) @@ -116,6 +123,7 @@ other types of metals and chemistry for reagents). /obj/item/disk/design_disk/super name = "Super Component Design Disk" + disk_name = "Super Design Disk" color = "#c25454" desc = "A disk for storing device design data for construction in lathes. This one has more extra storage space." custom_materials = list(/datum/material/iron =300, /datum/material/glass = 100, /datum/material/silver = 50, /datum/material/gold = 50) @@ -123,6 +131,7 @@ other types of metals and chemistry for reagents). /obj/item/disk/design_disk/elite name = "Elite Component Design Disk" + disk_name = "Elite Design Disk" color = "#333333" desc = "A disk for storing device design data for construction in lathes. This one has absurd amounts of extra storage space." custom_materials = list(/datum/material/iron =300, /datum/material/glass = 100, /datum/material/silver = 100, /datum/material/gold = 100, /datum/material/bluespace = 50) @@ -130,39 +139,71 @@ other types of metals and chemistry for reagents). //Disks with content /obj/item/disk/design_disk/ammo_c10mm - name = "Design Disk - 10mm Ammo" + design_name = "10mm Ammo" desc = "A design disk containing the pattern for a refill box of standard 10mm ammo, used in Stechkin pistols." - -/obj/item/disk/design_disk/ammo_c10mm/Initialize() - . = ..() - blueprints[1] = new /datum/design/c10mm() - + starting_blueprints = (/datum/design/c10mm) /obj/item/disk/design_disk/disposable_gun - name = "design disk - disposable gun" + design_name = "Disposable gun" desc = "A design disk containing designs for a cheap and disposable gun." illustration = "gun" max_blueprints = 2 - -/obj/item/disk/design_disk/disposable_gun/Initialize() - . = ..() - blueprints[1] = new /datum/design/disposable_gun() + starting_blueprints = list(/datum/design/disposable_gun) /obj/item/disk/design_disk/clip_mechs - name = "design disk - CLIP mecha modifications" - desc = "A design disk containing specifications for CLIP-custom mecha conversions." + design_name = "CLIP exosuit modifications" + desc = "A design disk containing specifications for CLIP-custom exosuit conversions." color = "#57b8f0" max_blueprints = 2 - -/obj/item/disk/design_disk/clip_mechs/Initialize() - . = ..() - blueprints[1] = new /datum/design/clip_ripley_upgrade() - blueprints[2] = new /datum/design/clip_durand_upgrade() + starting_blueprints = list(/datum/design/clip_ripley_upgrade, /datum/design/clip_durand_upgrade) /obj/item/disk/design_disk/ammo_c9mm - name = "Design Disk - 9mm Ammo" + design_name = "9mm Ammo" desc = "A design disk containing the pattern for a refill box of standard 9mm ammo, used in Commander pistols." + starting_blueprints = list(/datum/design/c9mmautolathe) /obj/item/disk/design_disk/ammo_c9mm/Initialize() . = ..() blueprints[1] = new /datum/design/c9mmautolathe() + +/obj/item/disk/design_disk/telecomms + name = "design disk - Telecomms parts" + desc = "A design disk containing blueprints for specialized telecommunications parts." + color = "#64A8D9" + max_blueprints = 7 + starting_blueprints = list(/datum/design/subspace_ansible, /datum/design/hyperwave_filter, /datum/design/subspace_amplifier, /datum/design/subspace_treatment, /datum/design/subspace_analyzer, /datum/design/subspace_crystal, /datum/design/subspace_transmitter) + +/obj/item/disk/design_disk/blanks + design_name = "Blank Ammo" + starting_blueprints = list(/datum/design/blank_shell) + + +/obj/item/disk/design_disk/ammo_1911 + design_name = "1911 Magazine" + desc = "A design disk containing the pattern for the classic 1911's seven round .45ACP magazine." + illustration = "ammo" + starting_blueprints = list(/datum/design/colt_1911_magazine) + +//KA modkit design discs +/obj/item/disk/design_disk/modkit_disc + design_name = "KA Mod" + desc = "A design disc containing the design for a unique kinetic accelerator modkit. It's compatible with a research console." + illustration = "accel" + color = "#6F6F6F" + starting_blueprints = list(/datum/design/unique_modkit) + +/obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe + design_name = "Offensive Mining Explosion Mod" + starting_blueprints = list(/datum/design/unique_modkit/offensive_turf_aoe) + +/obj/item/disk/design_disk/modkit_disc/rapid_repeater + design_name = "Rapid Repeater Mod" + starting_blueprints = list(/datum/design/unique_modkit/rapid_repeater) + +/obj/item/disk/design_disk/modkit_disc/resonator_blast + design_name = "Resonator Blast Mod" + starting_blueprints = list(/datum/design/unique_modkit/resonator_blast) + +/obj/item/disk/design_disk/modkit_disc/bounty + design_name = "Death Syphon Mod" + starting_blueprints = list(/datum/design/unique_modkit/bounty) diff --git a/code/modules/research/designs/AI_module_designs.dm b/code/modules/research/designs/AI_module_designs.dm index 8401d618aa0..7ba92c76ba2 100644 --- a/code/modules/research/designs/AI_module_designs.dm +++ b/code/modules/research/designs/AI_module_designs.dm @@ -10,60 +10,6 @@ category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE -/datum/design/board/safeguard_module - name = "Module Design (Safeguard)" - desc = "Allows for the construction of a Safeguard AI Module." - id = "safeguard_module" - materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000, /datum/material/bluespace = 1000) - build_path = /obj/item/aiModule/supplied/safeguard - category = list("AI Modules") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/board/onehuman_module - name = "Module Design (OneHuman)" - desc = "Allows for the construction of a OneHuman AI Module." - id = "onehuman_module" - materials = list(/datum/material/glass = 1000, /datum/material/diamond = 6000, /datum/material/bluespace = 1000) - build_path = /obj/item/aiModule/zeroth/oneHuman - category = list("AI Modules") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/board/protectstation_module - name = "Module Design (ProtectStation)" - desc = "Allows for the construction of a ProtectStation AI Module." - id = "protectstation_module" - materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000, /datum/material/bluespace = 1000) - build_path = /obj/item/aiModule/supplied/protectStation - category = list("AI Modules") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/board/quarantine_module - name = "Module Design (Quarantine)" - desc = "Allows for the construction of a Quarantine AI Module." - id = "quarantine_module" - materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000, /datum/material/bluespace = 1000) - build_path = /obj/item/aiModule/supplied/quarantine - category = list("AI Modules") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/board/oxygen_module - name = "Module Design (OxygenIsToxicToHumans)" - desc = "Allows for the construction of a Safeguard AI Module." - id = "oxygen_module" - materials = list(/datum/material/glass = 1000, /datum/material/gold = 2000, /datum/material/bluespace = 1000) - build_path = /obj/item/aiModule/supplied/oxygen - category = list("AI Modules") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/board/freeform_module - name = "Module Design (Freeform)" - desc = "Allows for the construction of a Freeform AI Module." - id = "freeform_module" - materials = list(/datum/material/glass = 1000, /datum/material/gold = 10000, /datum/material/bluespace = 2000)//Custom inputs should be more expensive to get - build_path = /obj/item/aiModule/supplied/freeform - category = list("AI Modules") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - /datum/design/board/reset_module name = "Module Design (Reset)" desc = "Allows for the construction of a Reset AI Module." @@ -91,66 +37,3 @@ category = list("AI Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE -/datum/design/board/freeformcore_module - name = "AI Core Module (Freeform)" - desc = "Allows for the construction of a Freeform AI Core Module." - id = "freeformcore_module" - materials = list(/datum/material/glass = 1000, /datum/material/diamond = 10000, /datum/material/bluespace = 2000)//Ditto - build_path = /obj/item/aiModule/core/freeformcore - category = list("AI Modules") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/board/asimov - name = "Core Module Design (Asimov)" - desc = "Allows for the construction of an Asimov AI Core Module." - id = "asimov_module" - materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000, /datum/material/bluespace = 1000) - build_path = /obj/item/aiModule/core/full/asimov - category = list("AI Modules") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/board/paladin_module - name = "Core Module Design (P.A.L.A.D.I.N.)" - desc = "Allows for the construction of a P.A.L.A.D.I.N. AI Core Module." - id = "paladin_module" - build_type = IMPRINTER - materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000, /datum/material/bluespace = 1000) - build_path = /obj/item/aiModule/core/full/paladin - category = list("AI Modules") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/board/tyrant_module - name = "Core Module Design (T.Y.R.A.N.T.)" - desc = "Allows for the construction of a T.Y.R.A.N.T. AI Module." - id = "tyrant_module" - materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000, /datum/material/bluespace = 1000) - build_path = /obj/item/aiModule/core/full/tyrant - category = list("AI Modules") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/board/overlord_module - name = "Core Module Design (Overlord)" - desc = "Allows for the construction of an Overlord AI Module." - id = "overlord_module" - materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000, /datum/material/bluespace = 1000) - build_path = /obj/item/aiModule/core/full/overlord - category = list("AI Modules") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/board/corporate_module - name = "Core Module Design (Corporate)" - desc = "Allows for the construction of a Corporate AI Core Module." - id = "corporate_module" - materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000, /datum/material/bluespace = 1000) - build_path = /obj/item/aiModule/core/full/corp - category = list("AI Modules") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - -/datum/design/board/default_module - name = "Core Module Design (Default)" - desc = "Allows for the construction of a Default AI Core Module." - id = "default_module" - materials = list(/datum/material/glass = 1000, /datum/material/diamond = 2000, /datum/material/bluespace = 1000) - build_path = /obj/item/aiModule/core/full/custom - category = list("AI Modules") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index 517c8691c92..5ac2370dc69 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -286,7 +286,7 @@ build_type = AUTOLATHE | PROTOLATHE materials = list(/datum/material/iron = 750) build_path = /obj/item/tank/internals/emergency_oxygen/engi/empty - category = list("hacked","Misc","Equipment") + category = list("initial", "Misc","Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_CARGO /datum/design/plasmaman_tank_belt @@ -295,7 +295,7 @@ build_type = AUTOLATHE | PROTOLATHE materials = list(/datum/material/iron = 800) build_path = /obj/item/tank/internals/plasmaman/belt/empty - category = list("hacked","Misc","Equipment") + category = list("initial", "Misc","Equipment") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_CARGO /datum/design/generic_gas_tank @@ -356,7 +356,7 @@ id = "kitchen_knife" build_type = AUTOLATHE materials = list(/datum/material/iron = 12000) - build_path = /obj/item/kitchen/knife + build_path = /obj/item/melee/knife/kitchen category = list("initial","Dinnerware") /datum/design/plastic_knife @@ -364,7 +364,7 @@ id = "plastic_knife" build_type = AUTOLATHE | PROTOLATHE materials = list(/datum/material/plastic = 100) - build_path = /obj/item/kitchen/knife/plastic + build_path = /obj/item/melee/knife/plastic category = list("initial", "Tool Designs","Dinnerware") /datum/design/fork @@ -516,14 +516,6 @@ category = list("initial","Misc", "Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE -/datum/design/foilhat - name = "Tinfoil Hat" - id = "tinfoil_hat" - build_type = AUTOLATHE - materials = list(/datum/material/iron = 5500) - build_path = /obj/item/clothing/head/foilhat - category = list("hacked", "Misc") - /datum/design/scalpel name = "Scalpel" id = "scalpel" @@ -769,34 +761,16 @@ id = "foam_dart" build_type = AUTOLATHE materials = list(/datum/material/iron = 500) - build_path = /obj/item/ammo_box/foambox + build_path = /obj/item/storage/box/ammo/foam_darts category = list("initial", "Misc") -//hacked autolathe recipes -//WS - emagged recipies -/datum/design/flamethrower - name = "Flamethrower" - id = "flamethrower" - build_type = AUTOLATHE - materials = list(/datum/material/iron = 500) - build_path = /obj/item/flamethrower/full - category = list("hacked", "Security") - -/datum/design/electropack - name = "Electropack" - id = "electropack" - build_type = AUTOLATHE - materials = list(/datum/material/iron = 10000, /datum/material/glass = 2500) - build_path = /obj/item/electropack - category = list("hacked", "Tools") - /datum/design/handcuffs name = "Handcuffs" id = "handcuffs" build_type = AUTOLATHE materials = list(/datum/material/iron = 500) build_path = /obj/item/restraints/handcuffs - category = list("hacked", "Security") + category = list("initial", "Security") /datum/design/receiver name = "Modular Receiver" @@ -804,14 +778,14 @@ build_type = AUTOLATHE materials = list(/datum/material/iron = 15000) build_path = /obj/item/weaponcrafting/receiver - category = list("hacked", "Security") + category = list("initial", "Security") /datum/design/c38_surplus name = "Ammo Box (.38 surplus)" id = "c38_surplus" build_type = AUTOLATHE | PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c38_box/surplus + build_path = /obj/item/storage/box/ammo/c38_surplus category = list("initial", "Security", "Ammo") /datum/design/beanbag_slug @@ -822,36 +796,36 @@ build_path = /obj/item/ammo_casing/shotgun/beanbag category = list("initial", "Security", "Ammo") +/datum/design/blank_shell + name = "Shotgun Blank" + id = "blank_shell" + build_type = AUTOLATHE | PROTOLATHE + materials = list(/datum/material/iron = 2000) + build_path = /obj/item/ammo_casing/shotgun/blank + category = list("Security", "Ammo") + /datum/design/riot_dart name = "Foam Riot Dart" id = "riot_dart" build_type = AUTOLATHE materials = list(/datum/material/iron = 1000) //Discount for making individually - no box = less metal! build_path = /obj/item/ammo_casing/caseless/foam_dart/riot - category = list("hacked", "Security") + category = list("initial", "Security") /datum/design/riot_darts name = "Foam Riot Dart Box" id = "riot_darts" build_type = AUTOLATHE materials = list(/datum/material/iron = 50000) //Comes with 40 darts - build_path = /obj/item/ammo_box/foambox/riot - category = list("hacked", "Security") - -/datum/design/a357 - name = ".357 Casing" - id = "a357" - build_type = AUTOLATHE - materials = list(/datum/material/iron = 4000) - build_path = /obj/item/ammo_casing/a357 - category = list("emagged", "Security") + build_path = /obj/item/storage/box/ammo/foam_darts/riot + category = list("initial", "Security") /datum/design/c10mm_surplus name = "Ammo Box (10mm surplus)" id = "c10mm-surplus" build_type = AUTOLATHE | PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c10mm/surplus + build_path = /obj/item/storage/box/ammo/c10mm_surplus category = list("initial", "Security", "Ammo") /datum/design/c45_surplus @@ -859,7 +833,7 @@ id = "c45-surplus" build_type = AUTOLATHE | PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c45/surplus + build_path = /obj/item/storage/box/ammo/c45_surplus category = list("initial", "Security", "Ammo") /datum/design/c9mm_surplus @@ -867,7 +841,7 @@ id = "c9mm-surplus" build_type = AUTOLATHE | PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c9mm/surplus + build_path = /obj/item/storage/box/ammo/c9mm_surplus category = list("initial", "Security", "Ammo") /datum/design/c556mmHITP_surplus @@ -875,15 +849,7 @@ id = "c556mmHITP-surplus" build_type = AUTOLATHE | PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c556mmHITP/surplus - category = list("initial", "Security", "Ammo") - -/datum/design/generic_ammo_box - name = "Generic Ammo Box" - id = "ammo-generic" - build_type = AUTOLATHE | PROTOLATHE - materials = list(/datum/material/iron = 1500) - build_path = /obj/item/ammo_box/generic + build_path = /obj/item/storage/box/ammo/c556mm_surplus category = list("initial", "Security", "Ammo") /datum/design/ammo_can @@ -899,8 +865,8 @@ id = "cleaver" build_type = AUTOLATHE materials = list(/datum/material/iron = 18000) - build_path = /obj/item/kitchen/knife/butcher - category = list("hacked", "Dinnerware") + build_path = /obj/item/melee/knife/butcher + category = list("initial", "Dinnerware") /datum/design/spraycan name = "Spraycan" @@ -985,14 +951,6 @@ build_path = /obj/item/modular_computer/tablet category = list("initial","Misc") -/datum/design/slime_scanner - name = "Slime Scanner" - id = "slime_scanner" - build_type = AUTOLATHE - materials = list(/datum/material/iron = 300, /datum/material/glass = 200) - build_path = /obj/item/slime_scanner - category = list("initial", "Misc") - /datum/design/pet_carrier name = "Pet Carrier" id = "pet_carrier" @@ -1084,7 +1042,7 @@ build_type = AUTOLATHE materials = list(/datum/material/iron = 100, /datum/material/glass = 50) build_path = /obj/item/toy/gun - category = list("hacked", "Misc") + category = list("initial", "Misc") /datum/design/capbox name = "Box of Cap Gun Shots" @@ -1092,7 +1050,7 @@ build_type = AUTOLATHE materials = list(/datum/material/iron = 20, /datum/material/glass = 5) build_path = /obj/item/toy/ammo/gun - category = list("hacked", "Misc") + category = list("initial", "Misc") /datum/design/toy_balloon name = "Plastic Balloon" @@ -1100,7 +1058,7 @@ build_type = AUTOLATHE materials = list(/datum/material/plastic = 1200) build_path = /obj/item/toy/balloon - category = list("hacked", "Misc") + category = list("initial", "Misc") /datum/design/toy_meteor name = "Plastic Toy Meteor" @@ -1108,15 +1066,7 @@ build_type = AUTOLATHE materials = list(/datum/material/plastic = 1000) build_path = /obj/item/toy/minimeteor - category = list("hacked", "Misc") - -/datum/design/toy_armblade - name = "Plastic Armblade" - id = "toy_armblade" - build_type = AUTOLATHE - materials = list(/datum/material/plastic = 2000) - build_path = /obj/item/toy/foamblade - category = list("hacked", "Misc") + category = list("initial", "Misc") /datum/design/plastic_tree name = "Plastic Potted Plant" @@ -1181,7 +1131,7 @@ build_type = AUTOLATHE materials = list(/datum/material/iron = 20000) build_path = /obj/item/ammo_box/magazine/zip_ammo_9mm - category = list("hacked", "Security") + category = list("initial", "Security") /datum/design/pipedispenser name = "Pipe Dispenser (Machine Board)" @@ -1191,6 +1141,46 @@ build_path = /obj/item/circuitboard/machine/pipedispenser category = list("initial", "Machinery") +/datum/design/illestren_a850rclip + name = "8x50 Stripper Clip" + id = "IllestrenStripClip" + build_type = AUTOLATHE + materials = list(/datum/material/iron = 10000) + build_path = /obj/item/ammo_box/magazine/illestren_a850r/empty + category = list("initial", "Security", "Ammo") + +/datum/design/a300clip + name = ".300 Scout Stripper Clip" + id = "ScoutStripClip" + build_type = AUTOLATHE + materials = list(/datum/material/iron = 10000) + build_path = /obj/item/ammo_box/a300/empty + category = list("initial", "Security", "Ammo") + +/datum/design/a762_40clip + name = "7.62 Stripper Clip" + id = "PolymerStripClip" + build_type = AUTOLATHE + materials = list(/datum/material/iron = 10000) + build_path = /obj/item/ammo_box/a762_stripper/empty + category = list("initial", "Security", "Ammo") + +/datum/design/vickland_a308clip + name = ".308 Stripper Clip" + id = "VicklandStripClip" + build_type = AUTOLATHE + materials = list(/datum/material/iron = 10000) + build_path = /obj/item/ammo_box/vickland_a308/empty + category = list("initial", "Security", "Ammo") + +/datum/design/a858clip + name = "8x58 Stripper Clip" + id = "SSGStripClip" + build_type = AUTOLATHE + materials = list(/datum/material/iron = 10000) + build_path = /obj/item/ammo_box/a858/empty + category = list("initial", "Security", "Ammo") + /datum/design/control name = "Blast Door Controller" id = "blast" @@ -1247,3 +1237,12 @@ materials = list(/datum/material/plastic = 30) build_path = /obj/item/folder/biscuit/unsealed/confidental category = list("initial", "Tools", "Misc") + +/datum/design/marker_beacon + name = "Marker Beacon" + id = "marker_beacon" + build_type = AUTOLATHE + materials = list(/datum/material/iron = 50, /datum/material/glass = 20) + build_path = /obj/item/stack/marker_beacon + category = list("initial","Misc") + diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm index c33b2c4558d..2cc0134cf8f 100644 --- a/code/modules/research/designs/biogenerator_designs.dm +++ b/code/modules/research/designs/biogenerator_designs.dm @@ -199,7 +199,7 @@ id = "rngplant" build_type = BIOGENERATOR materials = list(/datum/material/biomass= 2000) - build_path = /obj/effect/spawner/lootdrop/seeded + build_path = /obj/effect/spawner/random/food_or_drink/seed category = list("initial","LIFESEED_2.0") /datum/design/genesis diff --git a/code/modules/research/designs/comp_board_designs.dm b/code/modules/research/designs/comp_board_designs.dm index 9b167598d02..6cd4b69f406 100644 --- a/code/modules/research/designs/comp_board_designs.dm +++ b/code/modules/research/designs/comp_board_designs.dm @@ -38,14 +38,6 @@ category = list("Computer Boards") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE -/datum/design/board/xenobiocamera - name = "Computer Design (Xenobiology Console)" - desc = "Allows for the construction of circuit boards used to build xenobiology camera computers." - id = "xenobioconsole" - build_path = /obj/item/circuitboard/computer/xenobiology - category = list("Computer Boards") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - /datum/design/board/aiupload name = "Computer Design (AI Upload)" desc = "Allows for the construction of circuit boards used to build an AI Upload Console." @@ -183,21 +175,13 @@ departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_CARGO /datum/design/board/mechapower - name = "Computer Design (Mech Bay Power Control Console)" - desc = "Allows for the construction of circuit boards used to build a mech bay power control console." + name = "Computer Design (Exosuit) Bay Power Control Console)" + desc = "Allows for the construction of circuit boards used to build an exosuit bay power control console." id = "mechapower" build_path = /obj/item/circuitboard/computer/mech_bay_power_console category = list("Computer Boards") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_CARGO -/datum/design/board/rdconsole - name = "Computer Design (R&D Console)" - desc = "Allows for the construction of circuit boards used to build a new R&D console." - id = "rdconsole" - build_path = /obj/item/circuitboard/computer/rdconsole - category = list("Computer Boards") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - /datum/design/board/bounty name = "Computer Design (Bounty Console)" desc = "Allows for the construction of circuit boards used to build a Bounty Console." diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 5f79bbbf12e..b910f6f008e 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -85,7 +85,8 @@ desc = "The circuit board for a space heater." id = "space_heater" build_path = /obj/item/circuitboard/machine/space_heater - category = list ("Engineering Machinery") + build_type = AUTOLATHE | IMPRINTER + category = list ("Engineering Machinery", "initial", "Equipment") departmental_flags = ALL /datum/design/board/teleport_station @@ -238,14 +239,6 @@ category = list("Research Machinery") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE -/datum/design/board/bepis - name = "Machine Design (B.E.P.I.S. Board)" - desc = "The circuit board for a B.E.P.I.S." - id = "bepis" - build_path = /obj/item/circuitboard/machine/bepis - category = list("Research Machinery") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_CARGO - /datum/design/board/rdserver name = "Machine Design (R&D Server Board)" desc = "The circuit board for an R&D Server." @@ -340,15 +333,6 @@ build_path = /obj/item/circuitboard/machine/smartfridge category = list ("Misc. Machinery") - -/datum/design/board/monkey_recycler - name = "Machine Design (Monkey Recycler Board)" - desc = "The circuit board for a monkey recycler." - id = "monkey_recycler" - build_path = /obj/item/circuitboard/machine/monkey_recycler - category = list ("Misc. Machinery") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SERVICE - /datum/design/board/seed_extractor name = "Machine Design (Seed Extractor Board)" desc = "The circuit board for a seed extractor." @@ -604,13 +588,6 @@ category = list ("Medical Machinery") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL -/datum/design/board/sheetifier - name = "Sheetifier" - desc = "This machine turns weird things into sheets." - id = "sheetifier" - build_path = /obj/item/circuitboard/machine/sheetifier - category = list ("Misc. Machinery") - /datum/design/board/shieldwallgen name = "Machine Design (Shield Wall Generator)" desc = "A shield generator commonly used in xenobiology research." diff --git a/code/modules/research/designs/mecha_designs.dm b/code/modules/research/designs/mecha_designs.dm index 61fb07e7750..965a164e35d 100644 --- a/code/modules/research/designs/mecha_designs.dm +++ b/code/modules/research/designs/mecha_designs.dm @@ -133,8 +133,8 @@ //////////////////////////////////////// /datum/design/mech_scattershot - name = "Exosuit Weapon (LBX AC 10 \"Scattershot\")" - desc = "Allows for the construction of LBX AC 10." + name = "Exosuit Weapon (LBX-10 \"Scattershot\")" + desc = "Allows for the construction of LBX-10." id = "mech_scattershot" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot @@ -143,8 +143,8 @@ category = list("Exosuit Equipment") /datum/design/mech_scattershot_ammo - name = "LBX AC 10 Scattershot Ammunition" - desc = "Ammunition for the LBX AC 10 exosuit weapon." + name = "LBX-10 Scattershot Ammunition" + desc = "Ammunition for the LBX-10 exosuit weapon." id = "mech_scattershot_ammo" build_type = PROTOLATHE | MECHFAB build_path = /obj/item/mecha_ammo/scattershot @@ -153,7 +153,7 @@ category = list("Exosuit Ammunition", "Ammo") /datum/design/mech_carbine - name = "Exosuit Weapon (FNX-99 \"Hades\" Carbine)" + name = "Exosuit Weapon (FNX-99 \"Phoenix\" Carbine)" desc = "Allows for the construction of FNX-99 \"Hades\" Carbine." id = "mech_carbine" build_type = MECHFAB @@ -164,7 +164,7 @@ /datum/design/mech_carbine_ammo name = "FNX-99 Carbine Ammunition" - desc = "Ammunition for the FNX-99 \"Hades\" Carbine." + desc = "Ammunition for the FNX-99 \"Phoenix\" Carbine." id = "mech_carbine_ammo" build_type = PROTOLATHE | MECHFAB build_path = /obj/item/mecha_ammo/incendiary @@ -403,7 +403,7 @@ category = list("Exosuit Equipment") /datum/design/mech_lmg - name = "Exosuit Weapon (\"Ultra AC 2\" LMG)" + name = "Exosuit Weapon (\"UMG-2\" LMG)" desc = "A weapon for combat exosuits. Shoots a rapid, three shot burst." id = "mech_lmg" build_type = MECHFAB @@ -413,8 +413,8 @@ category = list("Exosuit Equipment") /datum/design/mech_lmg_ammo - name = "Ultra AC 2 Ammunition" - desc = "Ammunition for the Ultra AC 2 LMG" + name = "UMG-2 Ammunition" + desc = "Ammunition for the UMG-2 LMG" id = "mech_lmg_ammo" build_type = PROTOLATHE | MECHFAB build_path = /obj/item/mecha_ammo/lmg diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 46dddeb0c58..cc45dd17987 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -670,15 +670,6 @@ construction_time = 300 category = list("Exosuit Equipment") -/datum/design/mech_honker - name = "HoNkER BlAsT 5000" - id = "mech_honker" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/mecha_equipment/weapon/honker - materials = list(/datum/material/iron=20000,/datum/material/hellstone=10000) - construction_time = 500 - category = list("Exosuit Equipment") - /datum/design/mech_punching_glove name = "Oingo Boingo Punch-face" id = "mech_punching_face" diff --git a/code/modules/research/designs/mining_designs.dm b/code/modules/research/designs/mining_designs.dm index 2cddc5043c3..aa221c2b21a 100644 --- a/code/modules/research/designs/mining_designs.dm +++ b/code/modules/research/designs/mining_designs.dm @@ -8,7 +8,7 @@ id = "cargoexpress"//the coder reading this build_type = IMPRINTER materials = list(/datum/material/glass = 1000) - build_path = /obj/item/circuitboard/computer/cargo/express + build_path = /obj/item/circuitboard/computer/cargo category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index 816cd4f9fdb..98a088756d8 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -229,7 +229,7 @@ id = "roastingstick" build_type = PROTOLATHE materials = list(/datum/material/iron=1000, /datum/material/glass = 500, /datum/material/bluespace = 250) - build_path = /obj/item/melee/roastingstick + build_path = /obj/item/roastingstick category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_SERVICE diff --git a/code/modules/research/designs/stock_parts_designs.dm b/code/modules/research/designs/stock_parts_designs.dm index ba52f69c550..6c7097b351a 100644 --- a/code/modules/research/designs/stock_parts_designs.dm +++ b/code/modules/research/designs/stock_parts_designs.dm @@ -251,7 +251,7 @@ name = "Subspace Ansible" desc = "A compact module capable of sensing extradimensional activity." id = "s-ansible" - build_type = PROTOLATHE + build_type = PROTOLATHE | AUTOLATHE materials = list(/datum/material/iron = 100, /datum/material/silver = 100) build_path = /obj/item/stock_parts/subspace/ansible category = list("Stock Parts") @@ -261,7 +261,7 @@ name = "Hyperwave Filter" desc = "A tiny device capable of filtering and converting super-intense radiowaves." id = "s-filter" - build_type = PROTOLATHE + build_type = PROTOLATHE | AUTOLATHE materials = list(/datum/material/iron = 100, /datum/material/silver = 100) build_path = /obj/item/stock_parts/subspace/filter category = list("Stock Parts") @@ -271,7 +271,7 @@ name = "Subspace Amplifier" desc = "A compact micro-machine capable of amplifying weak subspace transmissions." id = "s-amplifier" - build_type = PROTOLATHE + build_type = PROTOLATHE | AUTOLATHE materials = list(/datum/material/iron = 100, /datum/material/gold = 100, /datum/material/uranium = 100) build_path = /obj/item/stock_parts/subspace/amplifier category = list("Stock Parts") @@ -281,7 +281,7 @@ name = "Subspace Treatment Disk" desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves." id = "s-treatment" - build_type = PROTOLATHE + build_type = PROTOLATHE | AUTOLATHE materials = list(/datum/material/iron = 100, /datum/material/silver = 200) build_path = /obj/item/stock_parts/subspace/treatment category = list("Stock Parts") @@ -291,7 +291,7 @@ name = "Subspace Analyzer" desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." id = "s-analyzer" - build_type = PROTOLATHE + build_type = PROTOLATHE | AUTOLATHE materials = list(/datum/material/iron = 100, /datum/material/gold = 100) build_path = /obj/item/stock_parts/subspace/analyzer category = list("Stock Parts") @@ -301,7 +301,7 @@ name = "Ansible Crystal" desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." id = "s-crystal" - build_type = PROTOLATHE + build_type = PROTOLATHE | AUTOLATHE materials = list(/datum/material/glass = 800, /datum/material/silver = 100, /datum/material/gold = 100) build_path = /obj/item/stock_parts/subspace/crystal category = list("Stock Parts") @@ -311,7 +311,7 @@ name = "Subspace Transmitter" desc = "A large piece of equipment used to open a window into the subspace dimension." id = "s-transmitter" - build_type = PROTOLATHE + build_type = PROTOLATHE | AUTOLATHE materials = list(/datum/material/glass = 100, /datum/material/silver = 100, /datum/material/uranium = 100) build_path = /obj/item/stock_parts/subspace/transmitter category = list("Stock Parts") diff --git a/code/modules/research/designs/tool_designs.dm b/code/modules/research/designs/tool_designs.dm index 86a8b542712..b57dca9d785 100644 --- a/code/modules/research/designs/tool_designs.dm +++ b/code/modules/research/designs/tool_designs.dm @@ -32,16 +32,6 @@ category = list("Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_ENGINEERING -/datum/design/exwelder - name = "Experimental Welding Tool" - desc = "An experimental welder capable of self-fuel generation." - id = "exwelder" - build_type = PROTOLATHE - materials = list(/datum/material/iron = 1000, /datum/material/glass = 500, /datum/material/plasma = 1500, /datum/material/uranium = 200) - build_path = /obj/item/weldingtool/experimental - category = list("Tool Designs") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING - /datum/design/rpd name = "Rapid Pipe Dispenser (RPD)" id = "rpd_loaded" diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 3353dcfb328..f1b9a8c573c 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -18,7 +18,7 @@ departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_BALLISTICS /datum/design/c38_hotshot - name = "Speed Loader (.38 Hot Shot)" + name = "Speed Loader (.38 Hearth)" desc = "Designed to quickly reload revolvers. Hot Shot bullets contain an incendiary payload." id = "c38_hotshot" build_type = PROTOLATHE @@ -28,7 +28,7 @@ departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_BALLISTICS /datum/design/c38_iceblox - name = "Speed Loader (.38 Iceblox)" + name = "Speed Loader (.38 Chilled)" desc = "Designed to quickly reload revolvers. Iceblox bullets contain a cryogenic payload." id = "c38_iceblox" build_type = PROTOLATHE @@ -238,16 +238,6 @@ build_path = /obj/item/ammo_box/magazine/wt550m9/ap departmental_flags = DEPARTMENTAL_FLAG_SECURITY -/datum/design/mag_oldsmg/ic_mag - name = "WT-550 Auto Gun Incendiary Magazine (4.6x30mm IC)" - desc = "A 20 round armour piercing magazine for the out of date security WT-550 Auto Rifle" - id = "mag_oldsmg_ic" - materials = list(/datum/material/iron = 6000, /datum/material/silver = 600, /datum/material/glass = 1000) - build_path = /obj/item/ammo_box/magazine/wt550m9/inc - departmental_flags = DEPARTMENTAL_FLAG_SECURITY - -//WS edit - free lethals - /datum/design/commanderammo name = "Commander magazine (9mm)" desc = "A single stack magazine chambered in 9mm for Commander sidearms." @@ -258,13 +248,13 @@ category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY -/datum/design/stechkinammo - name = "Stechkin magazine (10mm)" - desc = "A single stack Stechkin magazine, designed to chamber 10mm and fit into the Syndicate's Stechkin sidearms." - id = "stechkinammo" +/datum/design/ringneckammo + name = "Ringneck magazine (10mm)" + desc = "A single stack Ringneck magazine, designed to chamber 10mm and fit into Scarborough Arm's Ringneck series of sidearms." + id = "ringneckammo" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/magazine/m10mm + build_path = /obj/item/ammo_box/magazine/m10mm_ringneck category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -288,8 +278,6 @@ category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY -//Shiptest edit - standard ammunition - /datum/design/buckshot_shell name = "Buckshot Shell" id = "buckshot_shell" @@ -304,7 +292,7 @@ id = "c38" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c38_box + build_path = /obj/item/storage/box/ammo/c38 category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -313,7 +301,7 @@ id = "c9mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c9mm + build_path = /obj/item/storage/box/ammo/c9mm category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -322,7 +310,7 @@ id = "c10mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c10mm + build_path = /obj/item/storage/box/ammo/c10mm category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -331,7 +319,7 @@ id = "c45" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c45 + build_path = /obj/item/storage/box/ammo/c45 category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -340,19 +328,17 @@ id = "c556mmHITP" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c556mmHITP + build_path = /obj/item/storage/box/ammo/c556mm category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY -// WS edit - not so free rubbershot - /datum/design/rubbershot9mm name = "Rubbershot 9mm ammo box" desc = "A box full of less-than-lethal 9mm ammunition." id = "rubbershot9mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c9mm/rubbershot + build_path = /obj/item/storage/box/ammo/c9mm_rubber category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -362,7 +348,7 @@ id = "rubbershot10mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c10mm/rubbershot + build_path = /obj/item/storage/box/ammo/c10mm_rubber category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -372,7 +358,7 @@ id = "rubbershot45" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c45/rubbershot + build_path = /obj/item/storage/box/ammo/c45_rubber category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_BALLISTICS @@ -382,7 +368,7 @@ id = "rubbershot556mmHITP" build_type = PROTOLATHE materials = list(/datum/material/iron = 18000) - build_path = /obj/item/ammo_box/c556mmHITP/rubbershot + build_path = /obj/item/storage/box/ammo/c556mm_rubber category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -392,7 +378,7 @@ id = "ap9mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/uranium = 1000) - build_path = /obj/item/ammo_box/c9mm/ap + build_path = /obj/item/storage/box/ammo/c9mm_ap category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -402,7 +388,7 @@ id = "ap10mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/uranium = 1000) - build_path = /obj/item/ammo_box/c10mm/ap + build_path = /obj/item/storage/box/ammo/c10mm_ap category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -412,7 +398,7 @@ id = "ap45" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/uranium = 1000) - build_path = /obj/item/ammo_box/c45/ap + build_path = /obj/item/storage/box/ammo/c45_ap category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_BALLISTICS @@ -422,7 +408,7 @@ id = "ap556mmHITP" build_type = PROTOLATHE materials = list(/datum/material/iron = 18000, /datum/material/uranium = 1000) - build_path = /obj/item/ammo_box/c556mmHITP/ap + build_path = /obj/item/storage/box/ammo/c556mm_ap category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -432,7 +418,7 @@ id = "hp9mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/silver = 1000) - build_path = /obj/item/ammo_box/c9mm/hp + build_path = /obj/item/storage/box/ammo/c9mm_hp category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -442,7 +428,7 @@ id = "hp10mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/silver = 1000) - build_path = /obj/item/ammo_box/c10mm/hp + build_path = /obj/item/storage/box/ammo/c10mm_hp category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -452,7 +438,7 @@ id = "hp45" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/silver = 1000) - build_path = /obj/item/ammo_box/c45/hp + build_path = /obj/item/storage/box/ammo/c45_hp category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_BALLISTICS @@ -462,40 +448,10 @@ id = "hp556mmHITP" build_type = PROTOLATHE materials = list(/datum/material/iron = 18000, /datum/material/silver = 1000) - build_path = /obj/item/ammo_box/c556mmHITP/hp - category = list("Ammo") - departmental_flags = DEPARTMENTAL_FLAG_SECURITY - -/datum/design/inc9mm - name = "Incendiary 9mm ammo box" - desc = "A box full of incendiary 9mm ammunition." - id = "inc9mm" - build_type = PROTOLATHE - materials = list(/datum/material/iron = 15000, /datum/material/plasma = 5000) - build_path = /obj/item/ammo_box/c9mm/fire - category = list("Ammo") - departmental_flags = DEPARTMENTAL_FLAG_SECURITY - -/datum/design/inc10mm - name = "Incendiary 10mm ammo box" - desc = "A box full of incendiary 10mm ammunition." - id = "inc10mm" - build_type = PROTOLATHE - materials = list(/datum/material/iron = 15000, /datum/material/plasma = 5000) - build_path = /obj/item/ammo_box/c10mm/fire + build_path = /obj/item/storage/box/ammo/c556mm_hp category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY -/datum/design/inc45 - name = "Incendiary .45 ammo box" - desc = "A box full of incendiary .45 ammunition." - id = "inc45" - build_type = PROTOLATHE - materials = list(/datum/material/iron = 15000, /datum/material/plasma = 5000) - build_path = /obj/item/ammo_box/c45/fire - category = list("Ammo") - departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_BALLISTICS - /datum/design/rubbershot name = "Rubber Shot" id = "rubber_shot" @@ -558,7 +514,7 @@ id = "suppressor" build_type = PROTOLATHE materials = list(/datum/material/iron = 2000, /datum/material/silver = 500) - build_path = /obj/item/suppressor + build_path = /obj/item/attachment/silencer category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -737,5 +693,5 @@ id = "c9mmautolathe" build_type = AUTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c9mm + build_path = /obj/item/storage/box/ammo/c9mm category = list("Imported") diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index ce473ad739c..62cd6f6bf8e 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -82,7 +82,6 @@ /obj/item/grenade, /obj/item/aicard, /obj/item/storage/backpack/holding, - /obj/item/slime_extract, /obj/item/onetankbomb, /obj/item/transfer_valve)) @@ -201,7 +200,7 @@ use_power(750) if(dotype != FAIL) var/list/nodes = techweb_item_boost_check(process) - var/picked = pickweight(nodes) //This should work. + var/picked = pick_weight(nodes) //This should work. if(linked_console) linked_console.stored_research.boost_with_path(SSresearch.techweb_node_by_id(picked), process.type) updateUsrDialog() @@ -293,7 +292,7 @@ else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) var/savedName = "[exp_on]" ejectItem(TRUE) - var/newPath = text2path(pickweight(valid_items)) + var/newPath = text2path(pick_weight(valid_items)) loaded_item = new newPath(src) visible_message("[src] malfunctions, transforming [savedName] into [loaded_item]!") investigate_log("Experimentor has transformed [savedName] into [loaded_item]", INVESTIGATE_EXPERIMENTOR) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 8b6acd39ae3..e0ba10ce4af 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -123,29 +123,6 @@ Nothing else in the console has ID requirements. return ..() /obj/machinery/computer/rdconsole/attackby(obj/item/D, mob/user, params) - if(istype(D, /obj/item/slime_extract)) - var/obj/item/slime_extract/E = D - if(!slime_already_researched[E.type]) - if(!E.research) - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 3, -1) - visible_message("[src] buzzes and displays a message: Invalid extract! (You shouldn't be seeing this. If you are, tell someone.)") - return - if(E.Uses <= 0) - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 3, -1) - visible_message("[src] buzzes and displays a message: Extract consumed - no research available.") - return - else - playsound(src, 'sound/machines/ping.ogg', 50, 3, -1) - visible_message("[user] inserts [E] into a slot on the [src]!", "You insert [E] into a slot on the [src], producting [E.research] points from the extract's chemical makeup!") - stored_research.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = E.research)) - slime_already_researched[E.type] = TRUE - qdel(D) - return - else - visible_message("[src] buzzes and displays a message: Slime extract already researched!") - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 3, -1) - return - if(istype(D, /obj/item/seeds)) var/obj/item/seeds/E = D if(!plant_already_researched[E.type]) @@ -656,10 +633,10 @@ Nothing else in the console has ID requirements. RDSCREEN_UI_DDISK_CHECK var/list/l = list() l += "Disk Operations: Clear DiskUpload AllEject Disk" - for(var/i in 1 to d_disk.max_blueprints) + for(var/i in d_disk.blueprints) l += "
    " - if(d_disk.blueprints[i]) - var/datum/design/D = d_disk.blueprints[i] + if(istype(i, /datum/design)) + var/datum/design/D = i l += "[D.icon_html(usr)] [D.name]" l += "Operations: Upload to database Clear Slot" else diff --git a/code/modules/research/research_disk.dm b/code/modules/research/research_disk.dm index 5f4fce5fd45..0354fddd50d 100644 --- a/code/modules/research/research_disk.dm +++ b/code/modules/research/research_disk.dm @@ -23,17 +23,6 @@ . = ..() stored_research = new /datum/techweb/admin -/obj/item/disk/tech_disk/major - name = "Reformatted technology disk" - desc = "A disk containing a new, completed tech from the B.E.P.I.S. Upload the disk to an R&D Console to redeem the tech." - color = "#FFBAFF" - illustration = "bepis" - custom_materials = list(/datum/material/iron=300, /datum/material/glass=100) - -/obj/item/disk/tech_disk/major/Initialize() - . = ..() - stored_research = new /datum/techweb/bepis - /obj/item/research_notes name = "research notes" desc = "Valuable scientific data. Use it in a research console to scan it." diff --git a/code/modules/research/techweb/_techweb.dm b/code/modules/research/techweb/_techweb.dm index 339edcfaa9a..4aae75fbeab 100644 --- a/code/modules/research/techweb/_techweb.dm +++ b/code/modules/research/techweb/_techweb.dm @@ -53,19 +53,6 @@ organization = ship_name return ..() -/datum/techweb/bepis //Should contain only 1 BEPIS tech selected at random. - id = "EXPERIMENTAL" - organization = "Nanotrasen R&D" - -/datum/techweb/bepis/New() - . = ..() - var/bepis_id = pick(SSresearch.techweb_nodes_experimental) //To add a new tech to the BEPIS, add the ID to this pick list. - var/datum/techweb_node/BN = (SSresearch.techweb_node_by_id(bepis_id)) - hidden_nodes -= BN.id //Has to be removed from hidden nodes - research_node(BN, TRUE, FALSE) - update_node_status(BN) - SSresearch.techweb_nodes_experimental -= bepis_id - /datum/techweb/Destroy() researched_nodes = null researched_designs = null diff --git a/code/modules/research/techweb/_techweb_node.dm b/code/modules/research/techweb/_techweb_node.dm index 73d732e28a1..ff2b93791a7 100644 --- a/code/modules/research/techweb/_techweb_node.dm +++ b/code/modules/research/techweb/_techweb_node.dm @@ -7,7 +7,6 @@ var/display_name = "Errored Node" var/description = "Why are you seeing this?" var/hidden = FALSE //Whether it starts off hidden. - var/experimental = FALSE //If the tech can be randomly granted by the BEPIS as a reward. Meant to be fully given in tech disks, not researched. var/starting_node = FALSE //Whether it's available without any research. var/list/prereq_ids = list() var/list/design_ids = list() diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index dbca44b757b..cc7bd32bf23 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -13,13 +13,13 @@ // Cargo Stuff "c-reader", "desttagger", "salestagger", "handlabel", "packagewrap", // Research Stuff - "destructive_analyzer", "experimentor", "rdconsole", "bepis", "rdserver", "design_disk", "tech_disk", "mechfab", + "destructive_analyzer", "experimentor", "rdserver", "design_disk", "tech_disk", "mechfab", // Miscellaneous Stufff "paystand", "space_heater", "bucket", "plastic_knife", "plastic_fork", "plastic_spoon", "fax", // Security Stuff "sec_rshot", "sec_beanbag_slug", "sec_slug", "sec_Islug", "sec_dart", "sec_38", "buckshot_shell", "beanbag_slug", "rubber_shot", //Handgun Ammo (Security) - "commanderammo", "stechkinammo", "candorammo", "m9cammo", "c9mm", "c10mm", "c45", "c556mmHITP", "rubbershot9mm", "rubbershot10mm", "rubbershot45", "rubbershot556mmHITP", + "commanderammo", "ringneckammo", "candorammo", "m9cammo", "c9mm", "c10mm", "c45", "c556mmHITP", "rubbershot9mm", "rubbershot10mm", "rubbershot45", "rubbershot556mmHITP", // Construction Materials "rglass", "plasteel", "plastitanium", "plasmaglass", "plasmareinforcedglass", "titaniumglass", "plastitaniumglass", // You People Are Animals @@ -53,7 +53,7 @@ id = "mech_tools" starting_node = TRUE display_name = "Basic Exosuit Equipment" - description = "Various tools fit for basic mech units" + description = "Various tools fit for basic exosuit units" design_ids = list("mech_drill", "mech_mscanner", "mech_extinguisher", "mech_cable_layer") //WS Edit - Reverted Smartwire /datum/techweb_node/basic_tools @@ -119,7 +119,7 @@ display_name = "Biological Processing" description = "From slimes to kitchens." prereq_ids = list("biotech") - design_ids = list("smartfridge", "gibber", "deepfryer", "monkey_recycler", "processor", "gibber", "microwave", "reagentgrinder", "dish_drive") + design_ids = list("smartfridge", "gibber", "deepfryer", "processor", "gibber", "microwave", "reagentgrinder", "dish_drive") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -193,7 +193,7 @@ display_name = "Advanced Engineering" description = "Pushing the boundaries of physics, one chainsaw-fist at a time." prereq_ids = list("engineering", "emp_basic") - design_ids = list("engine_goggles", "magboots", "forcefield_projector", "weldingmask", "rcd_loaded", "rpd_loaded", "sheetifier") + design_ids = list("engine_goggles", "magboots", "forcefield_projector", "weldingmask", "rcd_loaded", "rpd_loaded") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -230,7 +230,7 @@ display_name = "Basic Bluespace Theory" description = "Basic studies into the mysterious alternate dimension known as bluespace." prereq_ids = list("base") - design_ids = list("beacon", "xenobioconsole", "telesci_gps", "bluespace_crystal") + design_ids = list("beacon", "telesci_gps", "bluespace_crystal") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -295,7 +295,7 @@ display_name = "Basic Plasma Research" description = "Research into the mysterious and dangerous substance, plasma." prereq_ids = list("engineering") - design_ids = list("mech_generator") + design_ids = list("mech_generator", "plasmacutter") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -304,7 +304,7 @@ display_name = "Advanced Plasma Research" description = "Research on how to fully exploit the power of plasma." prereq_ids = list("basic_plasma") - design_ids = list("mech_plasma_cutter") + design_ids = list("mech_plasma_cutter","plasmacutter_adv") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -367,9 +367,7 @@ display_name = "Artificial Intelligence" description = "AI unit research." prereq_ids = list("adv_robotics") - design_ids = list("aifixer", "aicore", "safeguard_module", "onehuman_module", "protectstation_module", "quarantine_module", "oxygen_module", "freeform_module", - "reset_module", "purge_module", "remove_module", "freeformcore_module", "asimov_module", "paladin_module", "tyrant_module", "overlord_module", "corporate_module", - "default_module", "borg_ai_control", "mecha_tracking_ai_control", "aiupload", "intellicard") + design_ids = list("aifixer", "aicore", "reset_module", "purge_module", "remove_module", "borg_ai_control", "mecha_tracking_ai_control", "aiupload", "intellicard") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -550,7 +548,7 @@ display_name = "Mining Technology" description = "Better than Efficiency V." prereq_ids = list("engineering", "basic_plasma") - design_ids = list("drill", "superresonator", "triggermod", "damagemod", "cooldownmod", "rangemod", "ore_redemption", "mining_equipment_vendor", "cargoexpress", "plasmacutter", "mecha_kineticgun", "weatherradio")//e a r l y g a m e) + design_ids = list("drill", "superresonator", "triggermod", "damagemod", "cooldownmod", "rangemod", "ore_redemption", "mining_equipment_vendor", "cargoexpress", "mecha_kineticgun", "weatherradio")//e a r l y g a m e) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -559,7 +557,7 @@ display_name = "Advanced Mining Technology" description = "Efficiency Level 127" //dumb mc references prereq_ids = list("basic_mining", "adv_engi", "adv_power", "adv_plasma") - design_ids = list("drill_diamond", "jackhammer", "hypermod", "plasmacutter_adv") + design_ids = list("drill_diamond", "jackhammer", "hypermod") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 // WS Edit Start - Yeet The BSM @@ -594,7 +592,7 @@ id = "exp_tools" display_name = "Experimental Tools" description = "Highly advanced tools." - design_ids = list("exwelder", "jawsoflife", "handdrill", "laserscalpel", "mechanicalpinches", "searingtool") + design_ids = list("jawsoflife", "handdrill", "laserscalpel", "mechanicalpinches", "searingtool") prereq_ids = list("adv_engi") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -704,7 +702,7 @@ display_name = "Ballistic Weaponry" description = "This isn't research.. This is reverse-engineering!" prereq_ids = list("weaponry") - design_ids = list("mag_oldsmg", "mag_oldsmg_ap", "mag_oldsmg_ic", "shotgun_slug") + design_ids = list("mag_oldsmg", "mag_oldsmg_ap", "shotgun_slug") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -721,7 +719,7 @@ display_name = "Exotic Ammunition" description = "They won't know what hit em." prereq_ids = list("adv_weaponry", "medical_weapons") - design_ids = list("techshotshell", "c38_hotshot", "c38_iceblox", "inc9mm", "inc10mm", "inc45", "incendiary_slug") + design_ids = list("techshotshell", "c38_hotshot", "c38_iceblox", "incendiary_slug") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -814,7 +812,7 @@ /datum/techweb_node/adv_mecha_tools id = "adv_mecha_tools" display_name = "Advanced Exosuit Equipment" - description = "Tools for high level mech suits" + description = "Tools for high level exosuits" prereq_ids = list("adv_mecha") design_ids = list("mech_rcd", "mech_thrusters") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -823,7 +821,7 @@ /datum/techweb_node/med_mech_tools id = "med_mech_tools" display_name = "Medical Exosuit Equipment" - description = "Tools for high level mech suits" + description = "Tools for high level exosuits" prereq_ids = list("adv_biotech") design_ids = list("mech_sleeper", "mech_syringe_gun", "mech_medi_beam") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -832,7 +830,7 @@ /datum/techweb_node/mech_modules id = "adv_mecha_modules" display_name = "Simple Exosuit Modules" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("adv_mecha", "bluespace_power") design_ids = list("mech_energy_relay", "mech_ccw_armor", "mech_proj_armor", "mech_generator_nuclear") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -840,8 +838,8 @@ /datum/techweb_node/mech_scattershot id = "mecha_tools" - display_name = "Exosuit Weapon (LBX AC 10 \"Scattershot\")" - description = "An advanced piece of mech weaponry" + display_name = "Exosuit Weapon (LBX-10 \"Scattershot\")" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("ballistic_weapons") design_ids = list("mech_scattershot", "mech_scattershot_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -849,8 +847,8 @@ /datum/techweb_node/mech_carbine id = "mech_carbine" - display_name = "Exosuit Weapon (FNX-99 \"Hades\" Carbine)" - description = "An advanced piece of mech weaponry" + display_name = "Exosuit Weapon (FNX-99 \"Phoenix\" Carbine)" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("ballistic_weapons") design_ids = list("mech_carbine", "mech_carbine_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -859,7 +857,7 @@ /datum/techweb_node/mech_ion id = "mmech_ion" display_name = "Exosuit Weapon (MKIV Ion Heavy Cannon)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("electronic_weapons", "emp_adv") design_ids = list("mech_ion") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -868,7 +866,7 @@ /datum/techweb_node/mech_tesla id = "mech_tesla" display_name = "Exosuit Weapon (MKI Tesla Cannon)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("electronic_weapons", "adv_power") design_ids = list("mech_tesla") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -877,7 +875,7 @@ /datum/techweb_node/mech_laser id = "mech_laser" display_name = "Exosuit Weapon (CH-PS \"Immolator\" Laser)" - description = "A basic piece of mech weaponry" + description = "A basic piece of exosuit weaponry" prereq_ids = list("beam_weapons") design_ids = list("mech_laser") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -886,7 +884,7 @@ /datum/techweb_node/mech_laser_heavy id = "mech_laser_heavy" display_name = "Exosuit Weapon (CH-LC \"Solaris\" Laser Cannon)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("adv_beam_weapons") design_ids = list("mech_laser_heavy") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -895,7 +893,7 @@ /datum/techweb_node/mech_disabler id = "mech_disabler" display_name = "Exosuit Weapon (CH-DS \"Peacemaker\" Mounted Disabler)" - description = "A basic piece of mech weaponry" + description = "A basic piece of exosuit weaponry" prereq_ids = list("beam_weapons") design_ids = list("mech_disabler") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -904,7 +902,7 @@ /datum/techweb_node/mech_grenade_launcher id = "mech_grenade_launcher" display_name = "Exosuit Weapon (SGL-6 Grenade Launcher)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("explosive_weapons") design_ids = list("mech_grenade_launcher", "mech_grenade_launcher_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -913,7 +911,7 @@ /datum/techweb_node/mech_missile_rack id = "mech_missile_rack" display_name = "Exosuit Weapon (BRM-6 Missile Rack)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("explosive_weapons") design_ids = list("mech_missile_rack", "mech_missile_rack_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -922,7 +920,7 @@ /datum/techweb_node/clusterbang_launcher id = "clusterbang_launcher" display_name = "Exosuit Module (SOB-3 Clusterbang Launcher)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("explosive_weapons") design_ids = list("clusterbang_launcher", "clusterbang_launcher_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -931,7 +929,7 @@ /datum/techweb_node/mech_teleporter id = "mech_teleporter" display_name = "Exosuit Module (Teleporter Module)" - description = "An advanced piece of mech Equipment" + description = "An advanced piece of exosuit equipment" prereq_ids = list("micro_bluespace") design_ids = list("mech_teleporter") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -940,7 +938,7 @@ /datum/techweb_node/mech_wormhole_gen id = "mech_wormhole_gen" display_name = "Exosuit Module (Localized Wormhole Generator)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("bluespace_travel") design_ids = list("mech_wormhole_gen") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -948,8 +946,8 @@ /datum/techweb_node/mech_lmg id = "mech_lmg" - display_name = "Exosuit Weapon (\"Ultra AC 2\" LMG)" - description = "An advanced piece of mech weaponry" + display_name = "Exosuit Weapon (\"UMG-2\" LMG)" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("ballistic_weapons") design_ids = list("mech_lmg", "mech_lmg_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -966,7 +964,7 @@ /////////////////////////Nanites///////////////////////// -//Disabled pending nanite rework --Apogee-dev +//Disabled FOREVER /* /datum/techweb_node/nanite_base id = "nanite_base" @@ -1159,110 +1157,6 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1500) export_price = 5000 -////////////////////////B.E.P.I.S. Locked Techs//////////////////////// -/datum/techweb_node/light_apps - id = "light_apps" - display_name = "Illumination Applications" - description = "Applications of lighting and vision technology not originally thought to be commercially viable." - prereq_ids = list("base") - design_ids = list("bright_helmet", "rld_mini") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) - export_price = 2500 - hidden = TRUE - experimental = TRUE - -/datum/techweb_node/rolling_table - id = "rolling_table" - display_name = "Advanced Wheel Applications" - description = "Adding wheels to things can lead to extremely beneficial outcomes." - prereq_ids = list("base") - design_ids = list("rolling_table") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) - export_price = 2500 - hidden = TRUE - experimental = TRUE - -/datum/techweb_node/Mauna_Mug - id = "mauna_mug" - display_name = "Mauna Mug" - description = "A bored scientist was thinking to himself for very long...and then realized his coffee got cold! He made this invention to solve this extreme problem." - prereq_ids = list("base") - design_ids = list("mauna_mug") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) - export_price = 2500 - hidden = TRUE - experimental = TRUE - -/datum/techweb_node/spec_eng - id = "spec_eng" - display_name = "Specialized Engineering" - description = "Conventional wisdom has deemed these engineering products 'technically' safe, but far too dangerous to traditionally condone." - prereq_ids = list("base") - design_ids = list("lava_rods", "eng_gloves") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) - export_price = 2500 - hidden = TRUE - experimental = TRUE - -/datum/techweb_node/aus_security - id = "aus_security" - display_name = "Australicus Security Protocols" - description = "It is said that security in the Australicus sector is tight, so we took some pointers from their equipment. Thankfully, our sector lacks any signs of these, 'dropbears'." - prereq_ids = list("base") - design_ids = list("stun_boomerang") - - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) - export_price = 2500 - hidden = TRUE - experimental = TRUE - -/datum/techweb_node/interrogation - id = "interrogation" - display_name = "Enhanced Interrogation Technology" - description = "By cross-referencing several declassified documents from past dictatorial regimes, we were able to develop an incredibly effective interrogation device. \ - Ethical concerns about loss of free will do not apply to criminals, according to galactic law." - prereq_ids = list("base") - design_ids = list("hypnochair") - - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3500) - export_price = 3500 - hidden = TRUE - experimental = TRUE - -/datum/techweb_node/sticky_advanced - id = "sticky_advanced" - display_name = "Advanced Tapenology" - description = "The absolute pinnacle of engineering!" - design_ids = list("electric_tape", "super_tape") - - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) - export_price = 2500 - hidden = TRUE - experimental = TRUE - -/datum/techweb_node/tackle_advanced - id = "tackle_advanced" - display_name = "Advanced Grapple Technology" - description = "Nanotrasen would like to remind its researching staff that it is never acceptable to \"glomp\" your coworkers, and further \"scientific trials\" on the subject \ - will no longer be accepted in its academic journals." - design_ids = list("tackle_dolphin", "tackle_rocket") - - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) - export_price = 2500 - hidden = TRUE - experimental = TRUE - -/datum/techweb_node/fishing - id = "fishing" - display_name = "Fishing Technology" - description = "Cutting edge fishing advancements." - prereq_ids = list("base") - design_ids = list("fishing_rod_tech") - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) - export_price = 2500 - hidden = TRUE - experimental = TRUE - //Helpers for debugging/balancing the techweb in its entirety! /proc/total_techweb_exports() var/list/datum/techweb_node/processing = list() diff --git a/code/modules/research/xenobiology/crossbreeding/__corecross.dm b/code/modules/research/xenobiology/crossbreeding/__corecross.dm deleted file mode 100644 index e2cfe4b4087..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/__corecross.dm +++ /dev/null @@ -1,193 +0,0 @@ -////////////////////////////////////////////// -////////// SLIME CROSSBREEDS ////////// -////////////////////////////////////////////// -// A system of combining two extract types. // -// Performed by feeding a slime 10 of an // -// extract color. // -////////////////////////////////////////////// -/*==========================================*\ -To add a crossbreed: - The file name is automatically selected - by the crossbreeding effect, which uses - the format slimecross/[modifier]/[color]. - - If a crossbreed doesn't exist, don't - worry. If no file is found at that - location, it will simple display that - the crossbreed was too unstable. - - As a result, do not feel the need to - try to add all of the crossbred - effects at once, if you're here and - trying to make a new slime type. Just - get your slimetype in the codebase and - get around to the crossbreeds eventually! -\*==========================================*/ - -/obj/item/slimecross //The base type for crossbred extracts. Mostly here for posterity, and to set base case things. - name = "crossbred slime extract" - desc = "An extremely potent slime extract, formed through crossbreeding." - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "base" - var/colour = "null" - var/effect = "null" - var/effect_desc = "null" - force = 0 - w_class = WEIGHT_CLASS_TINY - throwforce = 0 - throw_speed = 3 - throw_range = 6 - -/obj/item/slimecross/examine(mob/user) - . = ..() - if(effect_desc) - . += "[effect_desc]" - -/obj/item/slimecross/Initialize() - . = ..() - name = effect + " " + colour + " extract" - var/itemcolor = "#FFFFFF" - switch(colour) - if("orange") - itemcolor = "#FFA500" - if("purple") - itemcolor = "#B19CD9" - if("blue") - itemcolor = "#ADD8E6" - if("metal") - itemcolor = "#7E7E7E" - if("yellow") - itemcolor = "#FFFF00" - if("dark purple") - itemcolor = "#551A8B" - if("dark blue") - itemcolor = "#0000FF" - if("silver") - itemcolor = "#D3D3D3" - if("bluespace") - itemcolor = "#32CD32" - if("sepia") - itemcolor = "#704214" - if("cerulean") - itemcolor = "#2956B2" - if("pyrite") - itemcolor = "#FAFAD2" - if("red") - itemcolor = "#FF0000" - if("green") - itemcolor = "#00FF00" - if("pink") - itemcolor = "#FF69B4" - if("gold") - itemcolor = "#FFD700" - if("oil") - itemcolor = "#505050" - if("black") - itemcolor = "#000000" - if("light pink") - itemcolor = "#FFB6C1" - if("adamantine") - itemcolor = "#008B8B" - add_atom_colour(itemcolor, FIXED_COLOUR_PRIORITY) - -/obj/item/slimecrossbeaker //To be used as a result for extract reactions that make chemicals. - name = "result extract" - desc = "You shouldn't see this." - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "base" - var/del_on_empty = TRUE - var/list/list_reagents - -/obj/item/slimecrossbeaker/Initialize() - . = ..() - create_reagents(50, INJECTABLE | DRAWABLE) - if(list_reagents) - for(var/reagent in list_reagents) - reagents.add_reagent(reagent, list_reagents[reagent]) - if(del_on_empty) - START_PROCESSING(SSobj,src) - -/obj/item/slimecrossbeaker/Destroy() - STOP_PROCESSING(SSobj,src) - return ..() - -/obj/item/slimecrossbeaker/process() - if(!reagents.total_volume) - visible_message("[src] has been drained completely, and melts away.") - qdel(src) - -/obj/item/slimecrossbeaker/bloodpack //Pack of 50u blood. Deletes on empty. - name = "blood extract" - desc = "A sphere of liquid blood, somehow managing to stay together." - color = "#FF0000" - list_reagents = list(/datum/reagent/blood = 50) - -/obj/item/slimecrossbeaker/pax //5u synthpax. - name = "peace-inducing extract" - desc = "A small blob of synthetic pax." - color = "#FFCCCC" - list_reagents = list(/datum/reagent/pax/peaceborg = 5) - -/obj/item/slimecrossbeaker/omnizine //15u omnizine. - name = "healing extract" - desc = "A gelatinous extract of pure omnizine." - color = "#FF00FF" - list_reagents = list(/datum/reagent/medicine/omnizine = 15) - -/obj/item/slimecrossbeaker/autoinjector //As with the above, but automatically injects whomever it is used on with contents. - var/ignore_flags = FALSE - var/self_use_only = FALSE - -/obj/item/slimecrossbeaker/autoinjector/Initialize() - . = ..() - reagents.flags = DRAWABLE // Cannot be refilled, since it's basically an autoinjector! - -/obj/item/slimecrossbeaker/autoinjector/attack(mob/living/M, mob/user) - if(!reagents.total_volume) - to_chat(user, "[src] is empty!") - return - if(!iscarbon(M)) - return - if(self_use_only && M != user) - to_chat(user, "This can only be used on yourself.") - return - if(reagents.total_volume && (ignore_flags || M.can_inject(user, 1))) - reagents.trans_to(M, reagents.total_volume, transfered_by = user) - if(user != M) - to_chat(M, "[user] presses [src] against you!") - to_chat(user, "You press [src] against [M], injecting [M.p_them()].") - else - to_chat(user, "You press [src] against yourself, and it flattens against you!") - else - to_chat(user, "There's no place to stick [src]!") - -/obj/item/slimecrossbeaker/autoinjector/regenpack - ignore_flags = TRUE //It is, after all, intended to heal. - name = "mending solution" - desc = "A strange glob of sweet-smelling semifluid, which seems to stick to skin rather easily." - color = "#FF00FF" - list_reagents = list(/datum/reagent/medicine/regen_jelly = 20) - -/obj/item/slimecrossbeaker/autoinjector/slimejelly //Primarily for slimepeople, but you do you. - self_use_only = TRUE - ignore_flags = TRUE - name = "slime jelly bubble" - desc = "A sphere of slime jelly. It seems to stick to your skin, but avoids other surfaces." - color = "#00FF00" - list_reagents = list(/datum/reagent/toxin/slimejelly = 50) - -/obj/item/slimecrossbeaker/autoinjector/peaceandlove - name = "peaceful distillation" - desc = "A light pink gooey sphere. Simply touching it makes you a little dizzy." - color = "#DDAAAA" - list_reagents = list(/datum/reagent/pax/peaceborg = 10, /datum/reagent/drug/space_drugs = 15) //Peace, dudes - -/obj/item/slimecrossbeaker/autoinjector/peaceandlove/Initialize() - . = ..() - reagents.flags = NONE // It won't be *that* easy to get your hands on pax. - -/obj/item/slimecrossbeaker/autoinjector/slimestimulant - name = "invigorating gel" - desc = "A bubbling purple mixture, designed to heal and boost movement." - color = "#FF00FF" - list_reagents = list(/datum/reagent/medicine/regen_jelly = 30, /datum/reagent/drug/methamphetamine = 9) diff --git a/code/modules/research/xenobiology/crossbreeding/_clothing.dm b/code/modules/research/xenobiology/crossbreeding/_clothing.dm deleted file mode 100644 index cab30f0219e..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/_clothing.dm +++ /dev/null @@ -1,142 +0,0 @@ -/* -Slimecrossing Armor - Armor added by the slimecrossing system. - Collected here for clarity. -*/ - -//Rebreather mask - Chilling Blue -/obj/item/clothing/mask/nobreath - name = "rebreather mask" - desc = "A transparent mask, resembling a conventional breath mask, but made of bluish slime. Seems to lack any air supply tube, though." - icon_state = "slime" - item_state = "slime" - body_parts_covered = NONE - w_class = WEIGHT_CLASS_SMALL - gas_transfer_coefficient = 0 - permeability_coefficient = 0.5 - flags_cover = MASKCOVERSMOUTH - resistance_flags = NONE - -/obj/item/clothing/mask/nobreath/equipped(mob/living/carbon/human/user, slot) - . = ..() - if(slot == ITEM_SLOT_MASK) - ADD_TRAIT(user, TRAIT_NOBREATH, "breathmask_[REF(src)]") - user.failed_last_breath = FALSE - user.clear_alert("not_enough_oxy") - user.apply_status_effect(/datum/status_effect/rebreathing) - -/obj/item/clothing/mask/nobreath/dropped(mob/living/carbon/human/user) - ..() - REMOVE_TRAIT(user, TRAIT_NOBREATH, "breathmask_[REF(src)]") - user.remove_status_effect(/datum/status_effect/rebreathing) - -/obj/item/clothing/glasses/prism_glasses - name = "prism glasses" - desc = "The lenses seem to glow slightly, and reflect light into dazzling colors." - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "prismglasses" - actions_types = list(/datum/action/item_action/change_prism_colour, /datum/action/item_action/place_light_prism) - var/glasses_color = "#FFFFFF" - -/obj/item/clothing/glasses/prism_glasses/item_action_slot_check(slot) - if(slot == ITEM_SLOT_EYES) - return TRUE - -/obj/structure/light_prism - name = "light prism" - desc = "A shining crystal of semi-solid light. Looks fragile." - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "lightprism" - density = FALSE - anchored = TRUE - max_integrity = 10 - -/obj/structure/light_prism/Initialize(mapload, newcolor) - . = ..() - color = newcolor - set_light_color(newcolor) - set_light(5) - -/obj/structure/light_prism/attack_hand(mob/user) - to_chat(user, "You dispel [src].") - qdel(src) - -/datum/action/item_action/change_prism_colour - name = "Adjust Prismatic Lens" - icon_icon = 'icons/obj/slimecrossing.dmi' - button_icon_state = "prismcolor" - -/datum/action/item_action/change_prism_colour/Trigger() - if(!IsAvailable()) - return - var/obj/item/clothing/glasses/prism_glasses/glasses = target - var/new_color = input(owner, "Choose the lens color:", "Color change",glasses.glasses_color) as color|null - if(!new_color) - return - glasses.glasses_color = new_color - -/datum/action/item_action/place_light_prism - name = "Fabricate Light Prism" - icon_icon = 'icons/obj/slimecrossing.dmi' - button_icon_state = "lightprism" - -/datum/action/item_action/place_light_prism/Trigger() - if(!IsAvailable()) - return - var/obj/item/clothing/glasses/prism_glasses/glasses = target - if(locate(/obj/structure/light_prism) in get_turf(owner)) - to_chat(owner, "There isn't enough ambient energy to fabricate another light prism here.") - return - if(istype(glasses)) - if(!glasses.glasses_color) - to_chat(owner, "The lens is oddly opaque...") - return - to_chat(owner, "You channel nearby light into a glowing, ethereal prism.") - new /obj/structure/light_prism(get_turf(owner), glasses.glasses_color) - -/obj/item/clothing/head/peaceflower - name = "heroine bud" - desc = "An extremely addictive flower, full of peace magic." - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "peaceflower" - item_state = "peaceflower" - slot_flags = ITEM_SLOT_HEAD - body_parts_covered = NONE - force = 0 - throwforce = 0 - w_class = WEIGHT_CLASS_TINY - throw_speed = 1 - throw_range = 3 - -/obj/item/clothing/head/peaceflower/equipped(mob/living/carbon/human/user, slot) - . = ..() - if(slot == ITEM_SLOT_HEAD) - ADD_TRAIT(user, TRAIT_PACIFISM, "peaceflower_[REF(src)]") - -/obj/item/clothing/head/peaceflower/dropped(mob/living/carbon/human/user) - ..() - REMOVE_TRAIT(user, TRAIT_PACIFISM, "peaceflower_[REF(src)]") - -/obj/item/clothing/head/peaceflower/attack_hand(mob/user) - if(iscarbon(user)) - var/mob/living/carbon/C = user - if(src == C.head) - to_chat(user, "You feel at peace. Why would you want anything else?") - return - return ..() - -/obj/item/clothing/suit/armor/heavy/adamantine - name = "adamantine armor" - desc = "A full suit of adamantine plate armor. Impressively resistant to damage, but weighs about as much as you do." - icon_state = "adamsuit" - item_state = "adamsuit" - flags_inv = NONE - obj_flags = IMMUTABLE_SLOW - slowdown = 4 - var/hit_reflect_chance = 40 - -/obj/item/clothing/suit/armor/heavy/adamantine/IsReflect(def_zone) - if(def_zone in list(BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG) && prob(hit_reflect_chance)) - return TRUE - else - return FALSE diff --git a/code/modules/research/xenobiology/crossbreeding/_misc.dm b/code/modules/research/xenobiology/crossbreeding/_misc.dm deleted file mode 100644 index 2af2ecf6468..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/_misc.dm +++ /dev/null @@ -1,234 +0,0 @@ -/* -Slimecrossing Items - General items added by the slimecrossing system. - Collected here for clarity. -*/ - -//Rewind camera - I'm already Burning Sepia -/obj/item/camera/rewind - name = "sepia-tinted camera" - desc = "They say a picture is like a moment stopped in time." - pictures_left = 1 - pictures_max = 1 - can_customise = FALSE - default_picture_name = "A nostalgic picture" - var/used = FALSE - -/datum/saved_bodypart - var/obj/item/bodypart/old_part - var/bodypart_type - var/brute_dam - var/burn_dam - var/stamina_dam - -/datum/saved_bodypart/New(obj/item/bodypart/part) - old_part = part - bodypart_type = part.type - brute_dam = part.brute_dam - burn_dam = part.burn_dam - stamina_dam = part.stamina_dam - -/mob/living/carbon/proc/apply_saved_bodyparts(list/datum/saved_bodypart/parts) - var/list/dont_chop = list() - for(var/zone in parts) - var/datum/saved_bodypart/saved_part = parts[zone] - var/obj/item/bodypart/already = get_bodypart(zone) - if(QDELETED(saved_part.old_part)) - saved_part.old_part = new saved_part.bodypart_type - if(!already || already != saved_part.old_part) - saved_part.old_part.replace_limb(src, TRUE) - saved_part.old_part.heal_damage(INFINITY, INFINITY, INFINITY, null, FALSE) - saved_part.old_part.receive_damage(saved_part.brute_dam, saved_part.burn_dam, saved_part.stamina_dam) - dont_chop[zone] = TRUE - for(var/obj/item/bodypart/BP as anything in bodyparts) - if(dont_chop[BP.body_zone]) - continue - BP.drop_limb(TRUE) - -/mob/living/carbon/proc/save_bodyparts() - var/list/datum/saved_bodypart/ret = list() - for(var/_part in bodyparts) - var/obj/item/bodypart/part = _part - var/datum/saved_bodypart/saved_part = new(part) - - ret[part.body_zone] = saved_part - return ret - -/obj/item/camera/rewind/afterattack(atom/target, mob/user, flag) - if(!on || !pictures_left || !isturf(target.loc)) - return - if(!used)//selfie time - if(user == target) - to_chat(user, "You take a selfie!") - else - to_chat(user, "You take a photo with [target]!") - to_chat(target, "[user] takes a photo with you!") - to_chat(target, "You'll remember this moment forever!") - - used = TRUE - target.AddComponent(/datum/component/dejavu, 2) - .=..() - -/obj/item/camera/rewind/loot - pictures_left = 5 - pictures_max = 5 - -//Timefreeze camera - Old Burning Sepia result. Kept in case admins want to spawn it -/obj/item/camera/timefreeze - name = "sepia-tinted camera" - desc = "They say a picture is like a moment stopped in time." - pictures_left = 1 - pictures_max = 1 - var/used = FALSE - -/obj/item/camera/timefreeze/afterattack(atom/target, mob/user, flag) - if(!on || !pictures_left || !isturf(target.loc)) - return - if(!used) //refilling the film does not refill the timestop - new /obj/effect/timestop(get_turf(target), 2, 50, list(user)) - used = TRUE - desc = "This camera has seen better days." - . = ..() - - -//Hypercharged slime cell - Charged Yellow -/obj/item/stock_parts/cell/high/slime/hypercharged - name = "hypercharged slime core" - desc = "A charged yellow slime extract, infused with even more plasma. It almost hurts to touch." - rating = 7 //Roughly 1.5 times the original. - maxcharge = 20000 //2 times the normal one. - chargerate = 2250 //1.5 times the normal rate. - -//Barrier cube - Chilling Grey -/obj/item/barriercube - name = "barrier cube" - desc = "A compressed cube of slime. When squeezed, it grows to massive size!" - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "barriercube" - w_class = WEIGHT_CLASS_TINY - -/obj/item/barriercube/attack_self(mob/user) - if(locate(/obj/structure/barricade/slime) in get_turf(loc)) - to_chat(user, "You can't fit more than one barrier in the same space!") - return - to_chat(user, "You squeeze [src].") - var/obj/B = new /obj/structure/barricade/slime(get_turf(loc)) - B.visible_message("[src] suddenly grows into a large, gelatinous barrier!") - qdel(src) - -//Slime barricade - Chilling Grey -/obj/structure/barricade/slime - name = "gelatinous barrier" - desc = "A huge chunk of grey slime. Bullets might get stuck in it." - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "slimebarrier" - proj_pass_rate = 40 - max_integrity = 60 - -//Melting Gel Wall - Chilling Metal -/obj/effect/forcefield/slimewall - name = "solidified gel" - desc = "A mass of solidified slime gel - completely impenetrable, but it's melting away!" - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "slimebarrier_thick" - CanAtmosPass = ATMOS_PASS_NO - opacity = TRUE - timeleft = 100 - -//Rainbow barrier - Chilling Rainbow -/obj/effect/forcefield/slimewall/rainbow - name = "rainbow barrier" - desc = "Despite others' urgings, you probably shouldn't taste this." - icon_state = "rainbowbarrier" - -//Ration pack - Chilling Silver -/obj/item/reagent_containers/food/snacks/rationpack - name = "ration pack" - desc = "A square bar that sadly looks like chocolate, packaged in a nondescript grey wrapper. Has saved soldiers' lives before - usually by stopping bullets." - icon_state = "rationpack" - bitesize = 3 - junkiness = 15 - filling_color = "#964B00" - tastes = list("cardboard" = 3, "sadness" = 3) - foodtype = null //Don't ask what went into them. You're better off not knowing. - list_reagents = list(/datum/reagent/consumable/nutriment/stabilized = 10, /datum/reagent/consumable/nutriment = 2) //Won't make you fat. Will make you question your sanity. - -/obj/item/reagent_containers/food/snacks/rationpack/checkLiked(fraction, mob/M) //Nobody likes rationpacks. Nobody. - if(last_check_time + 50 < world.time) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.mind && !HAS_TRAIT(H, TRAIT_AGEUSIA)) - to_chat(H,"That didn't taste very good...") //No disgust, though. It's just not good tasting. - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food) - last_check_time = world.time - return - ..() - -//Ice stasis block - Chilling Dark Blue -/obj/structure/ice_stasis - name = "ice block" - desc = "A massive block of ice. You can see something vaguely humanoid inside." - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "frozen" - density = TRUE - max_integrity = 100 - armor = list("melee" = 30, "bullet" = 50, "laser" = -50, "energy" = -50, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = -80, "acid" = 30) - -/obj/structure/ice_stasis/Initialize() - . = ..() - playsound(src, 'sound/magic/ethereal_exit.ogg', 50, TRUE) - -/obj/structure/ice_stasis/Destroy() - for(var/atom/movable/M in contents) - M.forceMove(loc) - playsound(src, 'sound/effects/glassbr3.ogg', 50, TRUE) - return ..() - -//Gold capture device - Chilling Gold -/obj/item/capturedevice - name = "gold capture device" - desc = "Bluespace technology packed into a roughly egg-shaped device, used to store nonhuman creatures. Can't catch them all, though - it only fits one." - w_class = WEIGHT_CLASS_SMALL - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "capturedevice" - -/obj/item/capturedevice/attack(mob/living/M, mob/user) - if(length(contents)) - to_chat(user, "The device already has something inside.") - return - if(!isanimal(M)) - to_chat(user, "The capture device only works on simple creatures.") - return - if(M.mind) - to_chat(user, "You offer the device to [M].") - if(alert(M, "Would you like to enter [user]'s capture device?", "Gold Capture Device", "Yes", "No") == "Yes") - if(user.canUseTopic(src, BE_CLOSE) && user.canUseTopic(M, BE_CLOSE)) - to_chat(user, "You store [M] in the capture device.") - to_chat(M, "The world warps around you, and you're suddenly in an endless void, with a window to the outside floating in front of you.") - store(M, user) - else - to_chat(user, "You were too far away from [M].") - to_chat(M, "You were too far away from [user].") - else - to_chat(user, "[M] refused to enter the device.") - return - else - if(istype(M, /mob/living/simple_animal/hostile) && !("neutral" in M.faction)) - to_chat(user, "This creature is too aggressive to capture.") - return - to_chat(user, "You store [M] in the capture device.") - store(M) - -/obj/item/capturedevice/attack_self(mob/user) - if(contents.len) - to_chat(user, "You open the capture device!") - release() - else - to_chat(user, "The device is empty...") - -/obj/item/capturedevice/proc/store(mob/living/M) - M.forceMove(src) - -/obj/item/capturedevice/proc/release() - for(var/atom/movable/M in contents) - M.forceMove(get_turf(loc)) diff --git a/code/modules/research/xenobiology/crossbreeding/_mobs.dm b/code/modules/research/xenobiology/crossbreeding/_mobs.dm deleted file mode 100644 index 0d155f2f90f..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/_mobs.dm +++ /dev/null @@ -1,45 +0,0 @@ -/* -Slimecrossing Mobs - Mobs and effects added by the slimecrossing system. - Collected here for clarity. -*/ - -//Slime transformation power - Burning Black -/obj/effect/proc_holder/spell/targeted/shapeshift/slimeform - name = "Slime Transformation" - desc = "Transform from a human to a slime, or back again!" - action_icon_state = "transformslime" - cooldown_min = 0 - charge_max = 0 - invocation_type = "none" - shapeshift_type = /mob/living/simple_animal/slime/transformedslime - convert_damage = TRUE - convert_damage_type = CLONE - var/remove_on_restore = FALSE - -/obj/effect/proc_holder/spell/targeted/shapeshift/slimeform/Restore(mob/living/M) - if(remove_on_restore) - if(M.mind) - M.mind.RemoveSpell(src) - ..() - -//Transformed slime - Burning Black -/mob/living/simple_animal/slime/transformedslime - -/mob/living/simple_animal/slime/transformedslime/Reproduce() //Just in case. - to_chat(src, "I can't reproduce...") - return - -//Slime corgi - Chilling Pink -/mob/living/simple_animal/pet/dog/corgi/puppy/slime - name = "\improper slime corgi puppy" - real_name = "slime corgi puppy" - desc = "An unbearably cute pink slime corgi puppy." - icon_state = "slime_puppy" - icon_living = "slime_puppy" - icon_dead = "slime_puppy_dead" - nofur = TRUE - gold_core_spawnable = NO_SPAWN - speak_emote = list("blorbles", "bubbles", "borks") - emote_hear = list("bubbles!", "splorts.", "splops!") - emote_see = list("gets goop everywhere.", "flops.", "jiggles!") diff --git a/code/modules/research/xenobiology/crossbreeding/_potions.dm b/code/modules/research/xenobiology/crossbreeding/_potions.dm deleted file mode 100644 index fc9d9ef06c6..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/_potions.dm +++ /dev/null @@ -1,217 +0,0 @@ -/* -Slimecrossing Potions - Potions added by the slimecrossing system. - Collected here for clarity. -*/ - -//Extract cloner - Charged Grey -/obj/item/slimepotion/extract_cloner - name = "extract cloning potion" - desc = "An more powerful version of the extract enhancer potion, capable of cloning regular slime extracts." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potpurple" - -/obj/item/slimepotion/extract_cloner/afterattack(obj/item/target, mob/user , proximity) - if(!proximity) - return - if(istype(target, /obj/item/reagent_containers)) - return ..(target, user, proximity) - if(istype(target, /obj/item/slimecross)) - to_chat(user, "[target] is too complex for the potion to clone!") - return - if(!istype(target, /obj/item/slime_extract)) - return - var/obj/item/slime_extract/S = target - if(S.recurring) - to_chat(user, "[target] is too complex for the potion to clone!") - return - var/path = S.type - var/obj/item/slime_extract/C = new path(get_turf(target)) - C.Uses = S.Uses - to_chat(user, "You pour the potion onto [target], and the fluid solidifies into a copy of it!") - qdel(src) - return - -//Peace potion - Charged Light Pink -/obj/item/slimepotion/peacepotion - name = "pacification potion" - desc = "A light pink solution of chemicals, smelling like liquid peace. And mercury salts." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potlightpink" - -/obj/item/slimepotion/peacepotion/attack(mob/living/M, mob/user) - if(!isliving(M) || M.stat == DEAD) - to_chat(user, "[src] only works on the living.") - return ..() - if(istype(M, /mob/living/simple_animal/hostile/megafauna)) - to_chat(user, "[src] does not work on beings of pure evil!") - return ..() - if(M != user) - M.visible_message("[user] starts to feed [M] [src]!", - "[user] starts to feed you [src]!") - else - M.visible_message("[user] starts to drink [src]!", - "You start to drink [src]!") - - if(!do_after(user, 100, target = M)) - return - if(M != user) - to_chat(user, "You feed [M] [src]!") - else - to_chat(user, "You drink [src]!") - if(isanimal(M)) - ADD_TRAIT(M, TRAIT_PACIFISM, MAGIC_TRAIT) - else if(iscarbon(M)) - var/mob/living/carbon/C = M - C.gain_trauma(/datum/brain_trauma/severe/pacifism, TRAUMA_RESILIENCE_SURGERY) - qdel(src) - -//Love potion - Charged Pink -/obj/item/slimepotion/lovepotion - name = "love potion" - desc = "A pink chemical mix thought to inspire feelings of love." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potpink" - -/obj/item/slimepotion/lovepotion/attack(mob/living/M, mob/user) - if(!isliving(M) || M.stat == DEAD) - to_chat(user, "The love potion only works on living things, sicko!") - return ..() - if(istype(M, /mob/living/simple_animal/hostile/megafauna)) - to_chat(user, "The love potion does not work on beings of pure evil!") - return ..() - if(user == M) - to_chat(user, "You can't drink the love potion. What are you, a narcissist?") - return ..() - if(M.has_status_effect(STATUS_EFFECT_INLOVE)) - to_chat(user, "[M] is already lovestruck!") - return ..() - - M.visible_message("[user] starts to feed [M] a love potion!", - "[user] starts to feed you a love potion!") - - if(!do_after(user, 50, target = M)) - return - to_chat(user, "You feed [M] the love potion!") - to_chat(M, "You develop feelings for [user], and anyone [user.p_they()] like.") - if(M.mind) - M.mind.store_memory("You are in love with [user].") - M.faction |= "[REF(user)]" - M.apply_status_effect(STATUS_EFFECT_INLOVE, user) - qdel(src) - -//Pressure potion - Charged Dark Blue -/obj/item/slimepotion/spaceproof - name = "slime pressurization potion" - desc = "A potent chemical sealant that will render any article of clothing airtight. Has two uses." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potblue" - var/uses = 2 - -/obj/item/slimepotion/spaceproof/afterattack(obj/item/clothing/C, mob/user, proximity) - . = ..() - if(!uses) - qdel(src) - return - if(!proximity) - return - if(!istype(C)) - to_chat(user, "The potion can only be used on clothing!") - return - if(C.min_cold_protection_temperature == SPACE_SUIT_MIN_TEMP_PROTECT && C.clothing_flags & STOPSPRESSUREDAMAGE) - to_chat(user, "The [C] is already pressure-resistant!") - return ..() - to_chat(user, "You slather the blue gunk over the [C], making it airtight.") - C.name = "pressure-resistant [C.name]" - C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) - C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY) - C.min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT - C.cold_protection = C.body_parts_covered - C.clothing_flags |= STOPSPRESSUREDAMAGE - uses-- - if(!uses) - qdel(src) - -//Enhancer potion - Charged Cerulean -/obj/item/slimepotion/enhancer/max - name = "extract maximizer" - desc = "An extremely potent chemical mix that will maximize a slime extract's uses." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potpurple" - -//Lavaproofing potion - Charged Red -/obj/item/slimepotion/lavaproof - name = "slime lavaproofing potion" - desc = "A strange, reddish goo said to repel lava as if it were water, without reducing flammability. Has two uses." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potred" - resistance_flags = LAVA_PROOF | FIRE_PROOF - var/uses = 2 - -/obj/item/slimepotion/lavaproof/afterattack(obj/item/C, mob/user, proximity) - . = ..() - if(!uses) - qdel(src) - return ..() - if(!proximity) - return ..() - if(!istype(C)) - to_chat(user, "You can't coat this with lavaproofing fluid!") - return ..() - to_chat(user, "You slather the red gunk over the [C], making it lavaproof.") - C.name = "lavaproof [C.name]" - C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) - C.add_atom_colour("#800000", FIXED_COLOUR_PRIORITY) - C.resistance_flags |= LAVA_PROOF - if (istype(C, /obj/item/clothing)) - var/obj/item/clothing/CL = C - CL.clothing_flags |= LAVAPROTECT - uses-- - if(!uses) - qdel(src) - -//Revival potion - Charged Grey -/obj/item/slimepotion/slime_reviver - name = "slime revival potion" - desc = "Infused with plasma and compressed gel, this brings dead slimes back to life." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potsilver" - -/obj/item/slimepotion/slime_reviver/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M)) - to_chat(user, "The potion only works on slimes!") - return ..() - if(M.stat != DEAD) - to_chat(user, "The slime is still alive!") - return - if(M.maxHealth <= 0) - to_chat(user, "The slime is too unstable to return!") - M.revive(full_heal = TRUE, admin_revive = FALSE) - M.set_stat(CONSCIOUS) - M.visible_message("[M] is filled with renewed vigor and blinks awake!") - M.maxHealth -= 10 //Revival isn't healthy. - M.health -= 10 - M.regenerate_icons() - qdel(src) - -//Stabilizer potion - Charged Blue -/obj/item/slimepotion/slime/chargedstabilizer - name = "slime omnistabilizer" - desc = "An extremely potent chemical mix that will stop a slime from mutating completely." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potcyan" - -/obj/item/slimepotion/slime/chargedstabilizer/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M)) - to_chat(user, "The stabilizer only works on slimes!") - return ..() - if(M.stat) - to_chat(user, "The slime is dead!") - return - if(M.mutation_chance == 0) - to_chat(user, "The slime already has no chance of mutating!") - return - - to_chat(user, "You feed the slime the omnistabilizer. It will not mutate this cycle!") - M.mutation_chance = 0 - qdel(src) diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm deleted file mode 100644 index 651eb2fece1..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ /dev/null @@ -1,971 +0,0 @@ -/atom/movable/screen/alert/status_effect/rainbow_protection - name = "Rainbow Protection" - desc = "You are defended from harm, but so are those you might seek to injure!" - icon_state = "slime_rainbowshield" - -/datum/status_effect/rainbow_protection - id = "rainbow_protection" - duration = 100 - alert_type = /atom/movable/screen/alert/status_effect/rainbow_protection - var/originalcolor - -/datum/status_effect/rainbow_protection/on_apply() - owner.status_flags |= GODMODE - ADD_TRAIT(owner, TRAIT_PACIFISM, /datum/status_effect/rainbow_protection) - owner.visible_message("[owner] shines with a brilliant rainbow light.", - "You feel protected by an unknown force!") - originalcolor = owner.color - return ..() - -/datum/status_effect/rainbow_protection/tick() - owner.color = rgb(rand(0,255),rand(0,255),rand(0,255)) - return ..() - -/datum/status_effect/rainbow_protection/on_remove() - owner.status_flags &= ~GODMODE - owner.color = originalcolor - REMOVE_TRAIT(owner, TRAIT_PACIFISM, /datum/status_effect/rainbow_protection) - owner.visible_message("[owner] stops glowing, the rainbow light fading away.", - "You no longer feel protected...") - -/atom/movable/screen/alert/status_effect/slimeskin - name = "Adamantine Slimeskin" - desc = "You are covered in a thick, non-neutonian gel." - icon_state = "slime_stoneskin" - -/datum/status_effect/slimeskin - id = "slimeskin" - duration = 300 - alert_type = /atom/movable/screen/alert/status_effect/slimeskin - var/originalcolor - -/datum/status_effect/slimeskin/on_apply() - originalcolor = owner.color - owner.color = "#3070CC" - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.damage_resistance += 10 - owner.visible_message("[owner] is suddenly covered in a strange, blue-ish gel!", - "You are covered in a thick, rubbery gel.") - return ..() - -/datum/status_effect/slimeskin/on_remove() - owner.color = originalcolor - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.damage_resistance -= 10 - owner.visible_message("[owner]'s gel coating liquefies and dissolves away.", - "Your gel second-skin dissolves!") - -/datum/status_effect/slimerecall - id = "slime_recall" - duration = -1 //Will be removed by the extract. - alert_type = null - var/interrupted = FALSE - var/mob/target - var/icon/bluespace - -/datum/status_effect/slimerecall/on_apply() - RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(resistField)) - to_chat(owner, "You feel a sudden tug from an unknown force, and feel a pull to bluespace!") - to_chat(owner, "Resist if you wish avoid the force!") - bluespace = icon('icons/effects/effects.dmi',"chronofield") - owner.add_overlay(bluespace) - return ..() - -/datum/status_effect/slimerecall/proc/resistField() - interrupted = TRUE - owner.remove_status_effect(src) -/datum/status_effect/slimerecall/on_remove() - UnregisterSignal(owner, COMSIG_LIVING_RESIST) - owner.cut_overlay(bluespace) - if(interrupted || !ismob(target)) - to_chat(owner, "The bluespace tug fades away, and you feel that the force has passed you by.") - return - owner.visible_message("[owner] disappears in a flurry of sparks!", - "The unknown force snatches briefly you from reality, and deposits you next to [target]!") - do_sparks(3, TRUE, owner) - owner.forceMove(target.loc) - -/atom/movable/screen/alert/status_effect/freon/stasis - desc = "You're frozen inside of a protective ice cube! While inside, you can't do anything, but are immune to harm! Resist to get out." - -/datum/status_effect/frozenstasis - id = "slime_frozen" - status_type = STATUS_EFFECT_UNIQUE - duration = -1 //Will remove self when block breaks. - alert_type = /atom/movable/screen/alert/status_effect/freon/stasis - var/obj/structure/ice_stasis/cube - -/datum/status_effect/frozenstasis/on_apply() - RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(breakCube)) - cube = new /obj/structure/ice_stasis(get_turf(owner)) - owner.forceMove(cube) - owner.status_flags |= GODMODE - return ..() - -/datum/status_effect/frozenstasis/tick() - if(!cube || owner.loc != cube) - owner.remove_status_effect(src) - -/datum/status_effect/frozenstasis/proc/breakCube() - owner.remove_status_effect(src) - -/datum/status_effect/frozenstasis/on_remove() - if(cube) - qdel(cube) - owner.status_flags &= ~GODMODE - UnregisterSignal(owner, COMSIG_LIVING_RESIST) - -/datum/status_effect/slime_clone - id = "slime_cloned" - status_type = STATUS_EFFECT_UNIQUE - duration = -1 - alert_type = null - var/mob/living/clone - var/datum/mind/originalmind //For when the clone gibs. - -/datum/status_effect/slime_clone/on_apply() - var/typepath = owner.type - clone = new typepath(owner.loc) - var/mob/living/carbon/O = owner - var/mob/living/carbon/C = clone - if(istype(C) && istype(O)) - C.real_name = O.real_name - O.dna.transfer_identity(C) - C.updateappearance(mutcolor_update=1) - if(owner.mind) - originalmind = owner.mind - owner.mind.transfer_to(clone) - clone.apply_status_effect(/datum/status_effect/slime_clone_decay) - return ..() - -/datum/status_effect/slime_clone/tick() - if(!istype(clone) || clone.stat != CONSCIOUS) - owner.remove_status_effect(src) - -/datum/status_effect/slime_clone/on_remove() - if(clone && clone.mind && owner) - clone.mind.transfer_to(owner) - else - if(owner && originalmind) - originalmind.transfer_to(owner) - if(originalmind.key) - owner.ckey = originalmind.key - if(clone) - clone.unequip_everything() - qdel(clone) - -/atom/movable/screen/alert/status_effect/clone_decay - name = "Clone Decay" - desc = "You are simply a construct, and cannot maintain this form forever. You will be returned to your original body if you should fall." - icon_state = "slime_clonedecay" - -/datum/status_effect/slime_clone_decay - id = "slime_clonedecay" - status_type = STATUS_EFFECT_UNIQUE - duration = -1 - alert_type = /atom/movable/screen/alert/status_effect/clone_decay - -/datum/status_effect/slime_clone_decay/tick() - owner.adjustToxLoss(1, 0) - owner.adjustOxyLoss(1, 0) - owner.adjustBruteLoss(1, 0) - owner.adjustFireLoss(1, 0) - owner.color = "#007BA7" - -/atom/movable/screen/alert/status_effect/bloodchill - name = "Bloodchilled" - desc = "You feel a shiver down your spine after getting hit with a glob of cold blood. You'll move slower and get frostbite for a while!" - icon_state = "bloodchill" - -/datum/status_effect/bloodchill - id = "bloodchill" - duration = 100 - alert_type = /atom/movable/screen/alert/status_effect/bloodchill - -/datum/status_effect/bloodchill/on_apply() - owner.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/bloodchill) - return ..() - -/datum/status_effect/bloodchill/tick() - if(prob(50)) - owner.adjustFireLoss(2) - -/datum/status_effect/bloodchill/on_remove() - owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/bloodchill) - -/datum/status_effect/bonechill - id = "bonechill" - duration = 80 - alert_type = /atom/movable/screen/alert/status_effect/bonechill - -/datum/status_effect/bonechill/on_apply() - owner.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/bonechill) - return ..() - -/datum/status_effect/bonechill/tick() - if(prob(50)) - owner.adjustFireLoss(1) - owner.Jitter(3) - owner.adjust_bodytemperature(-10) - -/datum/status_effect/bonechill/on_remove() - owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/bonechill) -/atom/movable/screen/alert/status_effect/bonechill - name = "Bonechilled" - desc = "You feel a shiver down your spine after hearing the haunting noise of bone rattling. You'll move slower and get frostbite for a while!" - icon_state = "bloodchill" - -/datum/status_effect/rebreathing - id = "rebreathing" - duration = -1 - alert_type = null - -/datum/status_effect/rebreathing/tick() - owner.adjustOxyLoss(-6, 0) //Just a bit more than normal breathing. - -/////////////////////////////////////////////////////// -//////////////////CONSUMING EXTRACTS/////////////////// -/////////////////////////////////////////////////////// - -/datum/status_effect/firecookie - id = "firecookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 100 - -/datum/status_effect/firecookie/on_apply() - ADD_TRAIT(owner, TRAIT_RESISTCOLD,"firecookie") - owner.adjust_bodytemperature(110) - return ..() - -/datum/status_effect/firecookie/on_remove() - REMOVE_TRAIT(owner, TRAIT_RESISTCOLD,"firecookie") - -/datum/status_effect/watercookie - id = "watercookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 100 - -/datum/status_effect/watercookie/on_apply() - ADD_TRAIT(owner, TRAIT_NOSLIPWATER,"watercookie") - return ..() - -/datum/status_effect/watercookie/tick() - for(var/turf/open/T in range(get_turf(owner),1)) - T.MakeSlippery(TURF_WET_WATER, min_wet_time = 10, wet_time_to_add = 5) - -/datum/status_effect/watercookie/on_remove() - REMOVE_TRAIT(owner, TRAIT_NOSLIPWATER,"watercookie") - -/datum/status_effect/metalcookie - id = "metalcookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 100 - -/datum/status_effect/metalcookie/on_apply() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.brute_mod *= 0.9 - return ..() - -/datum/status_effect/metalcookie/on_remove() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.brute_mod /= 0.9 - -/datum/status_effect/sparkcookie - id = "sparkcookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 300 - var/original_coeff - -/datum/status_effect/sparkcookie/on_apply() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - original_coeff = H.physiology.siemens_coeff - H.physiology.siemens_coeff = 0 - return ..() - -/datum/status_effect/sparkcookie/on_remove() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.siemens_coeff = original_coeff - -/datum/status_effect/toxincookie - id = "toxincookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 600 - -/datum/status_effect/toxincookie/on_apply() - ADD_TRAIT(owner, TRAIT_TOXINLOVER,"toxincookie") - return ..() - -/datum/status_effect/toxincookie/on_remove() - REMOVE_TRAIT(owner, TRAIT_TOXINLOVER,"toxincookie") - -/datum/status_effect/timecookie - id = "timecookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 600 - -/datum/status_effect/timecookie/on_apply() - if(ishuman(owner)) - var/mob/living/carbon/human/H - H.physiology.do_after_speed *= 0.95 - return ..() - -/datum/status_effect/timecookie/on_remove() - if(ishuman(owner)) - var/mob/living/carbon/human/H - H.physiology.do_after_speed /= 0.95 - -/datum/status_effect/lovecookie - id = "lovecookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 300 - -/datum/status_effect/lovecookie/tick() - if(owner.stat != CONSCIOUS) - return - if(iscarbon(owner)) - var/mob/living/carbon/C = owner - if(C.handcuffed) - return - var/list/huggables = list() - for(var/mob/living/carbon/L in range(get_turf(owner),1)) - if(L != owner) - huggables += L - if(length(huggables)) - var/mob/living/carbon/hugged = pick(huggables) - owner.visible_message("[owner] hugs [hugged]!", "You hug [hugged]!") - -/datum/status_effect/tarcookie - id = "tarcookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 100 - -/datum/status_effect/tarcookie/tick() - for(var/mob/living/carbon/human/L in range(get_turf(owner),1)) - if(L != owner) - L.apply_status_effect(/datum/status_effect/tarfoot) - -/datum/status_effect/tarfoot - id = "tarfoot" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 30 - -/datum/status_effect/tarfoot/on_apply() - owner.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/tarfoot) - return ..() - -/datum/status_effect/tarfoot/on_remove() - owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/tarfoot) - -/datum/status_effect/spookcookie - id = "spookcookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 300 - -/datum/status_effect/spookcookie/on_apply() - var/image/I = image(icon = 'icons/mob/simple_human.dmi', icon_state = "skeleton", layer = ABOVE_MOB_LAYER, loc = owner) - I.override = 1 - owner.add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/everyone, "spookyscary", I) - return ..() - -/datum/status_effect/spookcookie/on_remove() - owner.remove_alt_appearance("spookyscary") - -/datum/status_effect/peacecookie - id = "peacecookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 100 - -/datum/status_effect/peacecookie/tick() - for(var/mob/living/L in range(get_turf(owner),1)) - L.apply_status_effect(/datum/status_effect/plur) - -/datum/status_effect/plur - id = "plur" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 30 - -/datum/status_effect/plur/on_apply() - ADD_TRAIT(owner, TRAIT_PACIFISM, "peacecookie") - return ..() - -/datum/status_effect/plur/on_remove() - REMOVE_TRAIT(owner, TRAIT_PACIFISM, "peacecookie") - -/datum/status_effect/adamantinecookie - id = "adamantinecookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 100 - -/datum/status_effect/adamantinecookie/on_apply() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.burn_mod *= 0.9 - return ..() - -/datum/status_effect/adamantinecookie/on_remove() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.burn_mod /= 0.9 - -/////////////////////////////////////////////////////// -//////////////////STABILIZED EXTRACTS////////////////// -/////////////////////////////////////////////////////// - -/datum/status_effect/stabilized //The base stabilized extract effect, has no effect of its' own. - id = "stabilizedbase" - duration = -1 - alert_type = null - var/obj/item/slimecross/stabilized/linked_extract - var/colour = "null" - -/datum/status_effect/stabilized/tick() - if(!linked_extract || !linked_extract.loc) //Sanity checking - qdel(src) - return - if(linked_extract && linked_extract.loc != owner && linked_extract.loc.loc != owner) - linked_extract.linked_effect = null - if(!QDELETED(linked_extract)) - linked_extract.owner = null - START_PROCESSING(SSobj,linked_extract) - qdel(src) - return ..() - -/datum/status_effect/stabilized/null //This shouldn't ever happen, but just in case. - id = "stabilizednull" - - -//Stabilized effects start below. -/datum/status_effect/stabilized/grey - id = "stabilizedgrey" - colour = "grey" - -/datum/status_effect/stabilized/grey/tick() - for(var/mob/living/simple_animal/slime/S in range(1, get_turf(owner))) - if(!(owner in S.Friends)) - to_chat(owner, "[linked_extract] pulses gently as it communicates with [S].") - S.set_friendship(owner, 1) - return ..() - -/datum/status_effect/stabilized/orange - id = "stabilizedorange" - colour = "orange" - -/datum/status_effect/stabilized/orange/tick() - var/body_temperature_difference = owner.get_body_temp_normal(apply_change=FALSE) - owner.bodytemperature - owner.adjust_bodytemperature(min(5,body_temperature_difference)) - return ..() - -/datum/status_effect/stabilized/purple - id = "stabilizedpurple" - colour = "purple" - -/datum/status_effect/stabilized/purple/tick() - var/is_healing = FALSE - if(owner.getBruteLoss() > 0) - owner.adjustBruteLoss(-0.2) - is_healing = TRUE - if(owner.getFireLoss() > 0) - owner.adjustFireLoss(-0.2) - is_healing = TRUE - if(owner.getToxLoss() > 0) - owner.adjustToxLoss(-0.2, forced = TRUE) //Slimepeople should also get healed. - is_healing = TRUE - if(is_healing) - examine_text = "SUBJECTPRONOUN is regenerating slowly, purplish goo filling in small injuries!" - new /obj/effect/temp_visual/heal(get_turf(owner), "#FF0000") - else - examine_text = null - ..() - -/datum/status_effect/stabilized/blue - id = "stabilizedblue" - colour = "blue" - -/datum/status_effect/stabilized/blue/on_apply() - ADD_TRAIT(owner, TRAIT_NOSLIPWATER, "slimestatus") - return ..() - -/datum/status_effect/stabilized/blue/on_remove() - REMOVE_TRAIT(owner, TRAIT_NOSLIPWATER, "slimestatus") - -/datum/status_effect/stabilized/metal - id = "stabilizedmetal" - colour = "metal" - var/cooldown = 30 - var/max_cooldown = 30 - -/datum/status_effect/stabilized/metal/tick() - if(cooldown > 0) - cooldown-- - else - cooldown = max_cooldown - var/list/sheets = list() - for(var/obj/item/stack/sheet/S in owner.GetAllContents()) - if(S.amount < S.max_amount) - sheets += S - - if(sheets.len > 0) - var/obj/item/stack/sheet/S = pick(sheets) - S.amount++ - to_chat(owner, "[linked_extract] adds a layer of slime to [S], which metamorphosizes into another sheet of material!") - return ..() - - -/datum/status_effect/stabilized/yellow - id = "stabilizedyellow" - colour = "yellow" - var/cooldown = 10 - var/max_cooldown = 10 - examine_text = "Nearby electronics seem just a little more charged wherever SUBJECTPRONOUN goes." - -/datum/status_effect/stabilized/yellow/tick() - if(cooldown > 0) - cooldown-- - return ..() - cooldown = max_cooldown - var/list/batteries = list() - for(var/obj/item/stock_parts/cell/C in owner.GetAllContents()) - if(C.charge < C.maxcharge) - batteries += C - if(batteries.len) - var/obj/item/stock_parts/cell/ToCharge = pick(batteries) - ToCharge.charge += min(ToCharge.maxcharge - ToCharge.charge, ToCharge.maxcharge/10) //10% of the cell, or to maximum. - to_chat(owner, "[linked_extract] discharges some energy into a device you have.") - return ..() - -/obj/item/hothands - name = "burning fingertips" - desc = "You shouldn't see this." - -/obj/item/hothands/get_temperature() - return 290 //Below what's required to ignite plasma. - -/datum/status_effect/stabilized/darkpurple - id = "stabilizeddarkpurple" - colour = "dark purple" - var/obj/item/hothands/fire - examine_text = "Their fingertips burn brightly!" - -/datum/status_effect/stabilized/darkpurple/on_apply() - ADD_TRAIT(owner, TRAIT_RESISTHEATHANDS, "slimestatus") - fire = new(owner) - return ..() - -/datum/status_effect/stabilized/darkpurple/tick() - var/obj/item/I = owner.get_active_held_item() - var/obj/item/reagent_containers/food/snacks/F = I - if(istype(F)) - if(F.cooked_type) - to_chat(owner, "[linked_extract] flares up brightly, and your hands alone are enough cook [F]!") - var/obj/item/result = F.microwave_act() - if(istype(result)) - owner.put_in_hands(result) - else - I.attackby(fire, owner) - return ..() - -/datum/status_effect/stabilized/darkpurple/on_remove() - REMOVE_TRAIT(owner, TRAIT_RESISTHEATHANDS, "slimestatus") - qdel(fire) - -/datum/status_effect/stabilized/darkblue - id = "stabilizeddarkblue" - colour = "dark blue" - -/datum/status_effect/stabilized/darkblue/tick() - if(owner.fire_stacks > 0 && prob(80)) - owner.fire_stacks-- - if(owner.fire_stacks <= 0) - to_chat(owner, "[linked_extract] coats you in a watery goo, extinguishing the flames.") - var/obj/O = owner.get_active_held_item() - if(O) - O.extinguish() //All shamelessly copied from water's expose_obj, since I didn't seem to be able to get it here for some reason. - O.acid_level = 0 - // Monkey cube - if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube)) - to_chat(owner, "[linked_extract] kept your hands wet! It makes [O] expand!") - var/obj/item/reagent_containers/food/snacks/monkeycube/cube = O - cube.Expand() - - // Dehydrated carp - else if(istype(O, /obj/item/toy/plush/carpplushie/dehy_carp)) - to_chat(owner, "[linked_extract] kept your hands wet! It makes [O] expand!") - var/obj/item/toy/plush/carpplushie/dehy_carp/dehy = O - dehy.Swell() // Makes a carp - - else if(istype(O, /obj/item/stack/sheet/hairlesshide)) - to_chat(owner, "[linked_extract] kept your hands wet! It wets [O]!") - var/obj/item/stack/sheet/hairlesshide/HH = O - new /obj/item/stack/sheet/wethide(get_turf(HH), HH.amount) - qdel(HH) - ..() - -/datum/status_effect/stabilized/silver - id = "stabilizedsilver" - colour = "silver" - -/datum/status_effect/stabilized/silver/on_apply() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.hunger_mod *= 0.8 //20% buff - return ..() - -/datum/status_effect/stabilized/silver/on_remove() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.hunger_mod /= 0.8 - -//Bluespace has an icon because it's kinda active. -/atom/movable/screen/alert/status_effect/bluespaceslime - name = "Stabilized Bluespace Extract" - desc = "You shouldn't see this, since we set it to change automatically!" - icon_state = "slime_bluespace_on" - -/datum/status_effect/bluespacestabilization - id = "stabilizedbluespacecooldown" - duration = 1200 - alert_type = null - -/datum/status_effect/stabilized/bluespace - id = "stabilizedbluespace" - colour = "bluespace" - alert_type = /atom/movable/screen/alert/status_effect/bluespaceslime - var/healthcheck - -/datum/status_effect/stabilized/bluespace/tick() - if(owner.has_status_effect(/datum/status_effect/bluespacestabilization)) - linked_alert.desc = "The stabilized bluespace extract is still aligning you with the bluespace axis." - linked_alert.icon_state = "slime_bluespace_off" - return ..() - else - linked_alert.desc = "The stabilized bluespace extract will try to redirect you from harm!" - linked_alert.icon_state = "slime_bluespace_on" - - if(healthcheck && (healthcheck - owner.health) > 5) - owner.visible_message("[linked_extract] notices the sudden change in [owner]'s physical health, and activates!") - do_sparks(5,FALSE,owner) - var/F = find_safe_turf(zlevels = owner.z, extended_safety_checks = TRUE) - var/range = 0 - if(!F) - F = get_turf(owner) - range = 50 - if(do_teleport(owner, F, range, channel = TELEPORT_CHANNEL_BLUESPACE)) - to_chat(owner, "[linked_extract] will take some time to re-align you on the bluespace axis.") - do_sparks(5,FALSE,owner) - owner.apply_status_effect(/datum/status_effect/bluespacestabilization) - healthcheck = owner.health - return ..() - -/datum/status_effect/stabilized/sepia - id = "stabilizedsepia" - colour = "sepia" - var/mod = 0 - -/datum/status_effect/stabilized/sepia/tick() - if(prob(50) && mod > -1) - mod-- - owner.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/status_effect/sepia, multiplicative_slowdown = -0.5) - else if(mod < 1) - mod++ - // yeah a value of 0 does nothing but replacing the trait in place is cheaper than removing and adding repeatedly - owner.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/status_effect/sepia, multiplicative_slowdown = 0) - return ..() - -/datum/status_effect/stabilized/sepia/on_remove() - owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/sepia) - -/datum/status_effect/stabilized/cerulean - id = "stabilizedcerulean" - colour = "cerulean" - var/mob/living/clone - -/datum/status_effect/stabilized/cerulean/on_apply() - var/typepath = owner.type - clone = new typepath(owner.loc) - var/mob/living/carbon/O = owner - var/mob/living/carbon/C = clone - if(istype(C) && istype(O)) - C.real_name = O.real_name - O.dna.transfer_identity(C) - C.updateappearance(mutcolor_update=1) - return ..() - -/datum/status_effect/stabilized/cerulean/tick() - if(owner.stat == DEAD) - if(clone && clone.stat != DEAD) - owner.visible_message("[owner] blazes with brilliant light, [linked_extract] whisking [owner.p_their()] soul away.", - "You feel a warm glow from [linked_extract], and you open your eyes... elsewhere.") - if(owner.mind) - owner.mind.transfer_to(clone) - clone = null - qdel(linked_extract) - if(!clone || clone.stat == DEAD) - to_chat(owner, "[linked_extract] desperately tries to move your soul to a living body, but can't find one!") - qdel(linked_extract) - ..() - -/datum/status_effect/stabilized/cerulean/on_remove() - if(clone) - clone.visible_message("[clone] dissolves into a puddle of goo!") - clone.unequip_everything() - qdel(clone) - -/datum/status_effect/stabilized/pyrite - id = "stabilizedpyrite" - colour = "pyrite" - var/originalcolor - -/datum/status_effect/stabilized/pyrite/on_apply() - originalcolor = owner.color - return ..() - -/datum/status_effect/stabilized/pyrite/tick() - owner.color = rgb(rand(0,255),rand(0,255),rand(0,255)) - return ..() - -/datum/status_effect/stabilized/pyrite/on_remove() - owner.color = originalcolor - -/datum/status_effect/stabilized/red - id = "stabilizedred" - colour = "red" - -/datum/status_effect/stabilized/red/on_apply() - . = ..() - owner.add_movespeed_mod_immunities(type, /datum/movespeed_modifier/equipment_speedmod) - -/datum/status_effect/stabilized/red/on_remove() - owner.remove_movespeed_mod_immunities(type, /datum/movespeed_modifier/equipment_speedmod) - return ..() - -/datum/status_effect/stabilized/green - id = "stabilizedgreen" - colour = "green" - var/datum/dna/originalDNA - var/originalname - -/datum/status_effect/stabilized/green/on_apply() - to_chat(owner, "You feel different...") - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - originalDNA = new H.dna.type - originalname = H.real_name - H.dna.copy_dna(originalDNA) - randomize_human(H) - return ..() - -/datum/status_effect/stabilized/green/tick() //Only occasionally give examiners a warning. - if(prob(50)) - examine_text = "SUBJECTPRONOUN looks a bit green and gooey..." - else - examine_text = null - return ..() - -/datum/status_effect/stabilized/green/on_remove() - to_chat(owner, "You feel more like yourself.") - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - originalDNA.transfer_identity(H) - H.real_name = originalname - H.updateappearance(mutcolor_update=1) - -/datum/status_effect/brokenpeace - id = "brokenpeace" - duration = 1200 - alert_type = null - -/datum/status_effect/pinkdamagetracker - id = "pinkdamagetracker" - duration = -1 - alert_type = null - var/damage = 0 - var/lasthealth - -/datum/status_effect/pinkdamagetracker/tick() - if((lasthealth - owner.health) > 0) - damage += (lasthealth - owner.health) - lasthealth = owner.health - -/datum/status_effect/stabilized/pink - id = "stabilizedpink" - colour = "pink" - var/list/mobs = list() - var/faction_name - -/datum/status_effect/stabilized/pink/on_apply() - faction_name = owner.real_name - return ..() - -/datum/status_effect/stabilized/pink/tick() - for(var/mob/living/simple_animal/M in view(7,get_turf(owner))) - if(!(M in mobs)) - mobs += M - M.apply_status_effect(/datum/status_effect/pinkdamagetracker) - M.faction |= faction_name - for(var/mob/living/simple_animal/M in mobs) - if(!(M in view(7,get_turf(owner)))) - M.faction -= faction_name - M.remove_status_effect(/datum/status_effect/pinkdamagetracker) - mobs -= M - var/datum/status_effect/pinkdamagetracker/C = M.has_status_effect(/datum/status_effect/pinkdamagetracker) - if(istype(C) && C.damage > 0) - C.damage = 0 - owner.apply_status_effect(/datum/status_effect/brokenpeace) - var/HasFaction = FALSE - for(var/i in owner.faction) - if(i == faction_name) - HasFaction = TRUE - - if(HasFaction && owner.has_status_effect(/datum/status_effect/brokenpeace)) - owner.faction -= faction_name - to_chat(owner, "The peace has been broken! Hostile creatures will now react to you!") - if(!HasFaction && !owner.has_status_effect(/datum/status_effect/brokenpeace)) - to_chat(owner, "[linked_extract] pulses, generating a fragile aura of peace.") - owner.faction |= faction_name - return ..() - -/datum/status_effect/stabilized/pink/on_remove() - for(var/mob/living/simple_animal/M in mobs) - M.faction -= faction_name - M.remove_status_effect(/datum/status_effect/pinkdamagetracker) - for(var/i in owner.faction) - if(i == faction_name) - owner.faction -= faction_name - -/datum/status_effect/stabilized/oil - id = "stabilizedoil" - colour = "oil" - examine_text = "SUBJECTPRONOUN smells of sulfer and oil!" - -/datum/status_effect/stabilized/oil/tick() - if(owner.stat == DEAD) - explosion(get_turf(owner),1,2,4,flame_range = 5) - return ..() - -/datum/status_effect/stabilized/black - id = "stabilizedblack" - colour = "black" - var/messagedelivered = FALSE - var/heal_amount = 1 - -/datum/status_effect/stabilized/black/tick() - if(owner.pulling && isliving(owner.pulling) && owner.grab_state == GRAB_KILL) - var/mob/living/M = owner.pulling - if(M.stat == DEAD) - return - if(!messagedelivered) - to_chat(owner,"You feel your hands melt around [M]'s neck and start to drain [M.p_them()] of life.") - to_chat(owner.pulling, "[owner]'s hands melt around your neck, and you can feel your life starting to drain away!") - messagedelivered = TRUE - examine_text = "SUBJECTPRONOUN is draining health from [owner.pulling]!" - var/list/healing_types = list() - if(owner.getBruteLoss() > 0) - healing_types += BRUTE - if(owner.getFireLoss() > 0) - healing_types += BURN - if(owner.getToxLoss() > 0) - healing_types += TOX - if(owner.getCloneLoss() > 0) - healing_types += CLONE - - owner.apply_damage_type(-heal_amount, damagetype=pick(healing_types)) - owner.adjust_nutrition(3) - M.adjustCloneLoss(heal_amount * 1.2) //This way, two people can't just convert each other's damage away. - else - messagedelivered = FALSE - examine_text = null - return ..() - -/datum/status_effect/stabilized/lightpink - id = "stabilizedlightpink" - colour = "light pink" - -/datum/status_effect/stabilized/lightpink/on_apply() - owner.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/lightpink) - return ..() - -/datum/status_effect/stabilized/lightpink/tick() - for(var/mob/living/carbon/human/H in range(1, get_turf(owner))) - if(H != owner && H.stat != DEAD && H.health <= 0 && !H.reagents.has_reagent(/datum/reagent/medicine/epinephrine)) - to_chat(owner, "[linked_extract] pulses in sync with [H]'s heartbeat, trying to keep [H.p_them()] alive.") - H.reagents.add_reagent(/datum/reagent/medicine/epinephrine,5) - return ..() - -/datum/status_effect/stabilized/lightpink/on_remove() - owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/lightpink) - -/datum/status_effect/stabilized/adamantine - id = "stabilizedadamantine" - colour = "adamantine" - examine_text = "SUBJECTPRONOUN has a strange metallic coating on their skin." - -/datum/status_effect/stabilized/gold - id = "stabilizedgold" - colour = "gold" - var/mob/living/simple_animal/familiar - -/datum/status_effect/stabilized/gold/tick() - var/obj/item/slimecross/stabilized/gold/linked = linked_extract - if(QDELETED(familiar)) - familiar = new linked.mob_type(get_turf(owner.loc)) - familiar.name = linked.mob_name - familiar.del_on_death = TRUE - familiar.copy_languages(owner, LANGUAGE_MASTER) - if(linked.saved_mind) - linked.saved_mind.transfer_to(familiar) - familiar.update_atom_languages() - familiar.ckey = linked.saved_mind.key - else - if(familiar.mind) - linked.saved_mind = familiar.mind - return ..() - -/datum/status_effect/stabilized/gold/on_remove() - if(familiar) - qdel(familiar) - -/datum/status_effect/stabilized/adamantine/on_apply() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.damage_resistance += 5 - return ..() - -/datum/status_effect/stabilized/adamantine/on_remove() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.damage_resistance -= 5 - -/datum/status_effect/stabilized/rainbow - id = "stabilizedrainbow" - colour = "rainbow" - -/datum/status_effect/stabilized/rainbow/tick() - if(owner.health <= 0) - var/obj/item/slimecross/stabilized/rainbow/X = linked_extract - if(istype(X)) - if(X.regencore) - X.regencore.afterattack(owner,owner,TRUE) - X.regencore = null - owner.visible_message("[owner] flashes a rainbow of colors, and [owner.p_their()] skin is coated in a milky regenerative goo!") - qdel(src) - qdel(linked_extract) - return ..() diff --git a/code/modules/research/xenobiology/crossbreeding/_weapons.dm b/code/modules/research/xenobiology/crossbreeding/_weapons.dm deleted file mode 100644 index ac663059d0c..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/_weapons.dm +++ /dev/null @@ -1,67 +0,0 @@ -/* -Slimecrossing Weapons - Weapons added by the slimecrossing system. - Collected here for clarity. -*/ - -//Boneblade - Burning Green -/obj/item/melee/arm_blade/slime - name = "slimy boneblade" - desc = "What remains of the bones in your arm. Incredibly sharp, and painful for both you and your opponents." - force = 22.5 - force_string = "painful" - -/obj/item/melee/arm_blade/slime/attack(mob/living/L, mob/user) - . = ..() - if(prob(20)) - user.emote("scream") - -//Rainbow knife - Burning Rainbow -/obj/item/kitchen/knife/rainbowknife - name = "rainbow knife" - desc = "A strange, transparent knife which constantly shifts color. It hums slightly when moved." - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "rainbowknife" - item_state = "rainbowknife" - force = 18 - throwforce = 15 - damtype = BRUTE - -/obj/item/kitchen/knife/rainbowknife/afterattack(atom/O, mob/user, proximity) - if(proximity && istype(O, /mob/living)) - damtype = pick(BRUTE, BURN, TOX, OXY) - switch(damtype) - if(BRUTE) - hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("slashed","sliced","cut") - if(BURN) - hitsound = 'sound/weapons/sear.ogg' - attack_verb = list("burned","singed","heated") - if(TOX) - hitsound = 'sound/weapons/pierce.ogg' - attack_verb = list("poisoned","dosed","toxified") - if(OXY) - hitsound = 'sound/effects/space_wind.ogg' - attack_verb = list("suffocated","winded","vacuumed") - return ..() - -//Adamantine shield - Chilling Adamantine -/obj/item/shield/adamantineshield - name = "adamantine shield" - desc = "A gigantic shield made of solid adamantium." - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "adamshield" - item_state = "adamshield" - w_class = WEIGHT_CLASS_HUGE - armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 70) - slot_flags = ITEM_SLOT_BACK - block_chance = 50 - force = 0 - throw_range = 1 //How far do you think you're gonna throw a solid crystalline shield...? - throw_speed = 2 - attack_verb = list("bashed","pounded","slammed") - item_flags = SLOWS_WHILE_IN_HAND - -/obj/item/shield/adamantineshield/ComponentInitialize() - . = ..() - AddComponent(/datum/component/two_handed, require_twohands=TRUE, force_wielded=15) diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm deleted file mode 100644 index e9fd98232e2..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/burning.dm +++ /dev/null @@ -1,315 +0,0 @@ -/* -Burning extracts: - Have a unique, primarily offensive effect when - filled with 10u plasma and activated in-hand. -*/ -/obj/item/slimecross/burning - name = "burning extract" - desc = "It's boiling over with barely-contained energy." - effect = "burning" - icon_state = "burning" - -/obj/item/slimecross/burning/Initialize() - . = ..() - create_reagents(10, INJECTABLE | DRAWABLE) - -/obj/item/slimecross/burning/attack_self(mob/user) - if(!reagents.has_reagent(/datum/reagent/toxin/plasma,10)) - to_chat(user, "This extract needs to be full of plasma to activate!") - return - reagents.remove_reagent(/datum/reagent/toxin/plasma,10) - to_chat(user, "You squeeze the extract, and it absorbs the plasma!") - playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE) - playsound(src, 'sound/magic/fireball.ogg', 50, TRUE) - do_effect(user) - -/obj/item/slimecross/burning/proc/do_effect(mob/user) //If, for whatever reason, you don't want to delete the extract, don't do ..() - qdel(src) - return - -/obj/item/slimecross/burning/grey - colour = "grey" - effect_desc = "Creates a hungry and speedy slime that will love you forever." - -/obj/item/slimecross/burning/grey/do_effect(mob/user) - var/mob/living/simple_animal/slime/S = new(get_turf(user),"grey") - S.visible_message("A baby slime emerges from [src], and it nuzzles [user] before burbling hungrily!") - S.set_friendship(user, 20) //Gas, gas, gas - S.bodytemperature = T0C + 400 //We gonna step on the gas. - S.set_nutrition(S.get_hunger_nutrition()) //Tonight, we fight! - ..() - -/obj/item/slimecross/burning/orange - colour = "orange" - effect_desc = "Expels pepperspray in a radius when activated." - -/obj/item/slimecross/burning/orange/do_effect(mob/user) - user.visible_message("[src] boils over with a caustic gas!") - var/datum/reagents/R = new/datum/reagents(100) - R.add_reagent(/datum/reagent/consumable/condensedcapsaicin, 100) - - var/datum/effect_system/smoke_spread/chem/smoke = new - smoke.set_up(R, 7, get_turf(user)) - smoke.start() - ..() - -/obj/item/slimecross/burning/purple - colour = "purple" - effect_desc = "Creates a clump of invigorating gel, it has healing properties and makes you feel good." - -/obj/item/slimecross/burning/purple/do_effect(mob/user) - user.visible_message("[src] fills with a bubbling liquid!") - new /obj/item/slimecrossbeaker/autoinjector/slimestimulant(get_turf(user)) - ..() - -/obj/item/slimecross/burning/blue - colour = "blue" - effect_desc = "Freezes the floor around you and chills nearby people." - -/obj/item/slimecross/burning/blue/do_effect(mob/user) - user.visible_message("[src] flash-freezes the area!") - for(var/turf/open/T in range(3, get_turf(user))) - T.MakeSlippery(TURF_WET_PERMAFROST, min_wet_time = 10, wet_time_to_add = 5) - for(var/mob/living/carbon/M in range(5, get_turf(user))) - if(M != user && iscarbon(M)) - var/mob/living/carbon/C = M - M.bodytemperature = C.dna.species.bodytemp_cold_damage_limit + 10 //Not quite cold enough to hurt. - to_chat(M, "You feel a chill run down your spine, and the floor feels a bit slippery with frost...") - ..() - -/obj/item/slimecross/burning/metal - colour = "metal" - effect_desc = "Instantly destroys walls around you." - -/obj/item/slimecross/burning/metal/do_effect(mob/user) - for(var/turf/closed/wall/W in range(1,get_turf(user))) - W.dismantle_wall(devastated = TRUE) - playsound(W, 'sound/effects/break_stone.ogg', 50, TRUE) - user.visible_message("[src] pulses violently, and shatters the walls around it!") - ..() - -/obj/item/slimecross/burning/yellow - colour = "yellow" - effect_desc = "Electrocutes people near you." - -/obj/item/slimecross/burning/yellow/do_effect(mob/user) - user.visible_message("[src] explodes into an electrical field!") - playsound(get_turf(src), 'sound/weapons/zapbang.ogg', 50, TRUE) - for(var/mob/living/M in range(4,get_turf(user))) - if(M != user) - var/mob/living/carbon/C = M - if(istype(C)) - C.electrocute_act(25,src) - else - M.adjustFireLoss(25) - to_chat(M, "You feel a sharp electrical pulse!") - ..() - -/obj/item/slimecross/burning/darkpurple - colour = "dark purple" - effect_desc = "Creates a cloud of plasma." - -/obj/item/slimecross/burning/darkpurple/do_effect(mob/user) - user.visible_message("[src] sublimates into a cloud of plasma!") - var/turf/T = get_turf(user) - T.atmos_spawn_air("plasma=60") - ..() - -/obj/item/slimecross/burning/darkblue - colour = "dark blue" - effect_desc = "Expels a burst of chilling smoke while also filling you with cryoxadone." - -/obj/item/slimecross/burning/darkblue/do_effect(mob/user) - user.visible_message("[src] releases a burst of chilling smoke!") - var/datum/reagents/R = new/datum/reagents(100) - R.add_reagent(/datum/reagent/consumable/frostoil, 40) - user.reagents.add_reagent(/datum/reagent/medicine/cryoxadone,10) - var/datum/effect_system/smoke_spread/chem/smoke = new - smoke.set_up(R, 7, get_turf(user)) - smoke.start() - ..() - -/obj/item/slimecross/burning/silver - colour = "silver" - effect_desc = "Creates a few pieces of slime jelly laced food." - -/obj/item/slimecross/burning/silver/do_effect(mob/user) - var/amount = rand(3,6) - var/list/turfs = list() - for(var/turf/open/T in range(1,get_turf(user))) - turfs += T - for(var/i = 0, i < amount, i++) - var/path = get_random_food() - var/obj/item/O = new path(pick(turfs)) - O.reagents.add_reagent(/datum/reagent/toxin/slimejelly,5) //Oh god it burns - if(prob(50)) - O.desc += " It smells strange..." - user.visible_message("[src] produces a few pieces of food!") - ..() - -/obj/item/slimecross/burning/bluespace - colour = "bluespace" - effect_desc = "Teleports anyone directly next to you." - -/obj/item/slimecross/burning/bluespace/do_effect(mob/user) - user.visible_message("[src] sparks, and lets off a shockwave of bluespace energy!") - for(var/mob/living/L in range(1, get_turf(user))) - if(L != user) - do_teleport(L, get_turf(L), 6, asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) //Somewhere between the effectiveness of fake and real BS crystal - new /obj/effect/particle_effect/sparks(get_turf(L)) - playsound(get_turf(L), "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - ..() - -/obj/item/slimecross/burning/sepia - colour = "sepia" - effect_desc = "Turns into a special camera that rewinds time when used." - -/obj/item/slimecross/burning/sepia/do_effect(mob/user) - user.visible_message("[src] shapes itself into a camera!") - new /obj/item/camera/rewind(get_turf(user)) - ..() - -/obj/item/slimecross/burning/cerulean - colour = "cerulean" - effect_desc = "Produces an extract cloning potion, which copies an extract, as well as its extra uses." - -/obj/item/slimecross/burning/cerulean/do_effect(mob/user) - user.visible_message("[src] produces a potion!") - new /obj/item/slimepotion/extract_cloner(get_turf(user)) - ..() - -/obj/item/slimecross/burning/pyrite - colour = "pyrite" - effect_desc = "Shatters all lights in the current room." - -/obj/item/slimecross/burning/pyrite/do_effect(mob/user) - user.visible_message("[src] releases a colorful wave of energy, which shatters the lights!") - var/area/A = get_area(user.loc) - for(var/obj/machinery/light/L in A) //Shamelessly copied from the APC effect. - L.on = TRUE - L.break_light_tube() - L.on = FALSE - stoplag() - ..() - -/obj/item/slimecross/burning/red - colour = "red" - effect_desc = "Makes nearby slimes rabid, and they'll also attack their friends." - -/obj/item/slimecross/burning/red/do_effect(mob/user) - user.visible_message("[src] pulses a hazy red aura for a moment, which wraps around [user]!") - for(var/mob/living/simple_animal/slime/S in view(7, get_turf(user))) - if(user in S.Friends) - var/friendliness = S.Friends[user] - S.clear_friends() - S.set_friendship(user, friendliness) - else - S.clear_friends() - S.rabid = 1 - S.visible_message("The [S] is driven into a dangerous frenzy!") - ..() - -/obj/item/slimecross/burning/green - colour = "green" - effect_desc = "The user gets a dull arm blade in the hand it is used in." - -/obj/item/slimecross/burning/green/do_effect(mob/user) - var/which_hand = "l_hand" - if(!(user.active_hand_index % 2)) - which_hand = "r_hand" - var/mob/living/L = user - if(!istype(user)) - return - var/obj/item/held = L.get_active_held_item() //This should be itself, but just in case... - L.dropItemToGround(held) - var/obj/item/melee/arm_blade/slime/blade = new(user) - if(!L.put_in_hands(blade)) - qdel(blade) - user.visible_message("[src] melts onto [user]'s arm, boiling the flesh horribly!") - else - user.visible_message("[src] sublimates the flesh around [user]'s arm, transforming the bone into a gruesome blade!") - user.emote("scream") - L.apply_damage(30,BURN,which_hand) - ..() - -/obj/item/slimecross/burning/pink - colour = "pink" - effect_desc = "Creates a beaker of synthpax." - -/obj/item/slimecross/burning/pink/do_effect(mob/user) - user.visible_message("[src] shrinks into a small, gel-filled pellet!") - new /obj/item/slimecrossbeaker/pax(get_turf(user)) - ..() - -/obj/item/slimecross/burning/gold - colour = "gold" - effect_desc = "Creates a gank squad of monsters that are friendly to the user." - -/obj/item/slimecross/burning/gold/do_effect(mob/user) - user.visible_message("[src] shudders violently, and summons an army for [user]!") - for(var/i in 1 to 3) //Less than gold normally does, since it's safer and faster. - var/mob/living/simple_animal/S = create_random_mob(get_turf(user), HOSTILE_SPAWN) - S.faction |= "[REF(user)]" - if(prob(50)) - for(var/j = 1, j <= rand(1, 3), j++) - step(S, pick(NORTH,SOUTH,EAST,WEST)) - ..() - -/obj/item/slimecross/burning/oil - colour = "oil" - effect_desc = "Creates an explosion after a few seconds." - -/obj/item/slimecross/burning/oil/do_effect(mob/user) - user.visible_message("[user] activates [src]. It's going to explode!", "You activate [src]. It crackles in anticipation") - addtimer(CALLBACK(src, PROC_REF(boom)), 50) - -/obj/item/slimecross/burning/oil/proc/boom() - var/turf/T = get_turf(src) - playsound(T, 'sound/effects/explosion2.ogg', 200, TRUE) - for(var/mob/living/M in range(2, T)) - new /obj/effect/temp_visual/explosion(get_turf(M)) - M.ex_act(EXPLODE_HEAVY) - qdel(src) - -/obj/item/slimecross/burning/black - colour = "black" - effect_desc = "Transforms the user into a slime. They can transform back at will and do not lose any items." - -/obj/item/slimecross/burning/black/do_effect(mob/user) - var/mob/living/L = user - if(!istype(L)) - return - user.visible_message("[src] absorbs [user], transforming [user.p_them()] into a slime!") - var/obj/effect/proc_holder/spell/targeted/shapeshift/slimeform/S = new() - S.remove_on_restore = TRUE - user.mind.AddSpell(S) - S.cast(list(user),user) - ..() - -/obj/item/slimecross/burning/lightpink - colour = "light pink" - effect_desc = "Paxes everyone in sight." - -/obj/item/slimecross/burning/lightpink/do_effect(mob/user) - user.visible_message("[src] lets off a hypnotizing pink glow!") - for(var/mob/living/carbon/C in view(7, get_turf(user))) - C.reagents.add_reagent(/datum/reagent/pax,5) - ..() - -/obj/item/slimecross/burning/adamantine - colour = "adamantine" - effect_desc = "Creates a mighty adamantine shield." - -/obj/item/slimecross/burning/adamantine/do_effect(mob/user) - user.visible_message("[src] crystallizes into a large shield!") - new /obj/item/shield/adamantineshield(get_turf(user)) - ..() - -/obj/item/slimecross/burning/rainbow - colour = "rainbow" - effect_desc = "Creates the Rainbow Knife, a kitchen knife that deals random types of damage." - -/obj/item/slimecross/burning/rainbow/do_effect(mob/user) - user.visible_message("[src] flattens into a glowing rainbow blade.") - new /obj/item/kitchen/knife/rainbowknife(get_turf(user)) - ..() diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm deleted file mode 100644 index 25aa7930291..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/charged.dm +++ /dev/null @@ -1,272 +0,0 @@ -/* -Charged extracts: - Have a unique, effect when filled with - 10u plasma and activated in-hand, related to their - normal extract effect. -*/ -/obj/item/slimecross/charged - name = "charged extract" - desc = "It sparks with electric power." - effect = "charged" - icon_state = "charged" - -/obj/item/slimecross/charged/Initialize() - . = ..() - create_reagents(10, INJECTABLE | DRAWABLE) - -/obj/item/slimecross/charged/attack_self(mob/user) - if(!reagents.has_reagent(/datum/reagent/toxin/plasma,10)) - to_chat(user, "This extract needs to be full of plasma to activate!") - return - reagents.remove_reagent(/datum/reagent/toxin/plasma,10) - to_chat(user, "You squeeze the extract, and it absorbs the plasma!") - playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE) - playsound(src, 'sound/effects/light_flicker.ogg', 50, TRUE) - do_effect(user) - -/obj/item/slimecross/charged/proc/do_effect(mob/user) //If, for whatever reason, you don't want to delete the extract, don't do ..() - qdel(src) - return - -/obj/item/slimecross/charged/grey - colour = "grey" - effect_desc = "Produces a slime reviver potion, which revives dead slimes." - -/obj/item/slimecross/charged/grey/do_effect(mob/user) - new /obj/item/slimepotion/slime_reviver(get_turf(user)) - user.visible_message("[src] distills into a potion!") - ..() - -/obj/item/slimecross/charged/orange - colour = "orange" - effect_desc = "Instantly makes a large burst of flame for a moment." - -/obj/item/slimecross/charged/orange/do_effect(mob/user) - for(var/turf/turf in range(5,get_turf(user))) - if(!locate(/obj/effect/hotspot) in turf) - new /obj/effect/hotspot(turf) - ..() - -/obj/item/slimecross/charged/purple - colour = "purple" - effect_desc = "Creates a packet of omnizine." - -/obj/item/slimecross/charged/purple/do_effect(mob/user) - new /obj/item/slimecrossbeaker/omnizine(get_turf(user)) - user.visible_message("[src] sparks, and floods with a regenerative solution!") - ..() - -/obj/item/slimecross/charged/blue - colour = "blue" - effect_desc = "Creates a potion that neuters the mutation chance of a slime, which passes on to new generations." - -/obj/item/slimecross/charged/blue/do_effect(mob/user) - new /obj/item/slimepotion/slime/chargedstabilizer(get_turf(user)) - user.visible_message("[src] distills into a potion!") - ..() - -/obj/item/slimecross/charged/metal - colour = "metal" - effect_desc = "Produces a bunch of metal and plasteel." - -/obj/item/slimecross/charged/metal/do_effect(mob/user) - new /obj/item/stack/sheet/metal(get_turf(user), 25) - new /obj/item/stack/sheet/plasteel(get_turf(user), 10) - user.visible_message("[src] grows into a plethora of metals!") - ..() - -/obj/item/slimecross/charged/yellow - colour = "yellow" - effect_desc = "Creates a hypercharged slime cell battery, which has high capacity and recharges constantly at a very fast rate." - -/obj/item/slimecross/charged/yellow/do_effect(mob/user) - new /obj/item/stock_parts/cell/high/slime/hypercharged(get_turf(user)) - user.visible_message("[src] sparks violently, and swells with electric power!") - ..() - -/obj/item/slimecross/charged/darkpurple - colour = "dark purple" - effect_desc = "Creates several sheets of plasma." - -/obj/item/slimecross/charged/darkpurple/do_effect(mob/user) - new /obj/item/stack/sheet/mineral/plasma(get_turf(user), 10) - user.visible_message("[src] produces a large amount of plasma!") - ..() - -/obj/item/slimecross/charged/darkblue - colour = "dark blue" - effect_desc = "Produces a pressure proofing potion." - -/obj/item/slimecross/charged/darkblue/do_effect(mob/user) - new /obj/item/slimepotion/spaceproof(get_turf(user)) - user.visible_message("[src] distills into a potion!") - ..() - -/obj/item/slimecross/charged/silver - colour = "silver" - effect_desc = "Creates a slime cake and some drinks." - -/obj/item/slimecross/charged/silver/do_effect(mob/user) - new /obj/item/reagent_containers/food/snacks/store/cake/slimecake(get_turf(user)) - for(var/i in 1 to 10) - var/drink_type = get_random_drink() - new drink_type(get_turf(user)) - user.visible_message("[src] produces a party's worth of cake and drinks!") - ..() - -/obj/item/slimecross/charged/bluespace - colour = "bluespace" - effect_desc = "Makes a bluespace polycrystal." - -/obj/item/slimecross/charged/bluespace/do_effect(mob/user) - new /obj/item/stack/sheet/bluespace_crystal(get_turf(user), 10) - user.visible_message("[src] produces several sheets of polycrystal!") - ..() - -/obj/item/slimecross/charged/sepia - colour = "sepia" - effect_desc = "Creates a camera obscura." - -/obj/item/slimecross/charged/sepia/do_effect(mob/user) - new /obj/item/camera/spooky(get_turf(user)) - user.visible_message("[src] flickers in a strange, ethereal manner, and produces a camera!") - ..() - -/obj/item/slimecross/charged/cerulean - colour = "cerulean" - effect_desc = "Creates an extract enhancer, giving whatever it's used on five more uses." - -/obj/item/slimecross/charged/cerulean/do_effect(mob/user) - new /obj/item/slimepotion/enhancer/max(get_turf(user)) - user.visible_message("[src] distills into a potion!") - ..() - -/obj/item/slimecross/charged/pyrite - colour = "pyrite" - effect_desc = "Creates bananium. Oh no." - -/obj/item/slimecross/charged/pyrite/do_effect(mob/user) - new /obj/item/stack/sheet/mineral/hidden/hellstone(get_turf(user), 10) - user.visible_message("[src] solidifies with a horrifying banana stench!") - ..() - -/obj/item/slimecross/charged/red - colour = "red" - effect_desc = "Produces a lavaproofing potion" - -/obj/item/slimecross/charged/red/do_effect(mob/user) - new /obj/item/slimepotion/lavaproof(get_turf(user)) - user.visible_message("[src] distills into a potion!") - ..() - -/obj/item/slimecross/charged/green - colour = "green" - effect_desc = "Lets you choose what slime species you want to be." - -/obj/item/slimecross/charged/green/do_effect(mob/user) - var/mob/living/carbon/human/H = user - if(!istype(H)) - to_chat(user, "You must be a humanoid to use this!") - return - var/racechoice = input(H, "Choose your slime subspecies.", "Slime Selection") as null|anything in sortList(subtypesof(/datum/species/jelly), /proc/cmp_typepaths_asc) - if(!racechoice) - to_chat(user, "You decide not to become a slime for now.") - return - if(!user.canUseTopic(src, BE_CLOSE)) - return - H.set_species(racechoice, icon_update=1) - H.visible_message("[H] suddenly shifts form as [src] dissolves into [H.p_their()] skin!") - ..() - -/obj/item/slimecross/charged/pink - colour = "pink" - effect_desc = "Produces a... lovepotion... no ERP." - -/obj/item/slimecross/charged/pink/do_effect(mob/user) - new /obj/item/slimepotion/lovepotion(get_turf(user)) - user.visible_message("[src] distills into a potion!") - ..() - -/obj/item/slimecross/charged/gold - colour = "gold" - effect_desc = "Slowly spawns 10 hostile monsters." - var/max_spawn = 10 - var/spawned = 0 - -/obj/item/slimecross/charged/gold/do_effect(mob/user) - user.visible_message("[src] starts shuddering violently!") - addtimer(CALLBACK(src, PROC_REF(startTimer)), 50) - -/obj/item/slimecross/charged/gold/proc/startTimer() - START_PROCESSING(SSobj, src) - -/obj/item/slimecross/charged/gold/process() - visible_message("[src] lets off a spark, and produces a living creature!") - new /obj/effect/particle_effect/sparks(get_turf(src)) - playsound(get_turf(src), "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - create_random_mob(get_turf(src), HOSTILE_SPAWN) - spawned++ - if(spawned >= max_spawn) - visible_message("[src] collapses into a puddle of goo.") - qdel(src) - -/obj/item/slimecross/charged/gold/Destroy() - STOP_PROCESSING(SSobj, src) - return ..() - -/obj/item/slimecross/charged/oil - colour = "oil" - effect_desc = "Creates an explosion after a few seconds." - -/obj/item/slimecross/charged/oil/do_effect(mob/user) - user.visible_message("[src] begins to shake with rapidly increasing force!") - addtimer(CALLBACK(src, PROC_REF(boom)), 50) - -/obj/item/slimecross/charged/oil/proc/boom() - explosion(get_turf(src), 2, 3, 4) //Much smaller effect than normal oils, but devastatingly strong where it does hit. - qdel(src) - -/obj/item/slimecross/charged/black - colour = "black" - effect_desc = "Randomizes the user's species." - -/obj/item/slimecross/charged/black/do_effect(mob/user) - var/mob/living/carbon/human/H = user - if(!istype(H)) - to_chat(user, "You have to be able to have a species to get your species changed.") - return - var/list/allowed_species = list() - for(var/stype in subtypesof(/datum/species)) - var/datum/species/X = stype - if(initial(X.changesource_flags) & SLIME_EXTRACT) - allowed_species += stype - - var/datum/species/changed = pick(allowed_species) - if(changed) - H.set_species(changed, icon_update = 1) - to_chat(H, "You feel very different!") - ..() - -/obj/item/slimecross/charged/lightpink - colour = "light pink" - effect_desc = "Produces a pacification potion, which works on monsters and humanoids." - -/obj/item/slimecross/charged/lightpink/do_effect(mob/user) - new /obj/item/slimepotion/peacepotion(get_turf(user)) - user.visible_message("[src] distills into a potion!") - ..() - -/obj/item/slimecross/charged/adamantine - colour = "adamantine" - effect_desc = "Does nothing. Sorry :)" - -/obj/item/slimecross/charged/rainbow - colour = "rainbow" - effect_desc = "Produces three living slimes of random colors." - -/obj/item/slimecross/charged/rainbow/do_effect(mob/user) - user.visible_message("[src] swells and splits into three new slimes!") - for(var/i in 1 to 3) - var/mob/living/simple_animal/slime/S = new(get_turf(user)) - S.random_colour() - ..() diff --git a/code/modules/research/xenobiology/crossbreeding/chilling.dm b/code/modules/research/xenobiology/crossbreeding/chilling.dm deleted file mode 100644 index 9fe7857c073..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/chilling.dm +++ /dev/null @@ -1,302 +0,0 @@ -/* -Chilling extracts: - Have a unique, primarily defensive effect when - filled with 10u plasma and activated in-hand. -*/ -/obj/item/slimecross/chilling - name = "chilling extract" - desc = "It's cold to the touch, as if frozen solid." - effect = "chilling" - icon_state = "chilling" - -/obj/item/slimecross/chilling/Initialize() - . = ..() - create_reagents(10, INJECTABLE | DRAWABLE) - -/obj/item/slimecross/chilling/attack_self(mob/user) - if(!reagents.has_reagent(/datum/reagent/toxin/plasma,10)) - to_chat(user, "This extract needs to be full of plasma to activate!") - return - reagents.remove_reagent(/datum/reagent/toxin/plasma,10) - to_chat(user, "You squeeze the extract, and it absorbs the plasma!") - playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE) - playsound(src, 'sound/effects/glassbr1.ogg', 50, TRUE) - do_effect(user) - -/obj/item/slimecross/chilling/proc/do_effect(mob/user) //If, for whatever reason, you don't want to delete the extract, don't do ..() - qdel(src) - return - -/obj/item/slimecross/chilling/grey - colour = "grey" - effect_desc = "Creates some slime barrier cubes. When used they create slimy barricades." - -/obj/item/slimecross/chilling/grey/do_effect(mob/user) - user.visible_message("[src] produces a few small, grey cubes") - for(var/i in 1 to 3) - new /obj/item/barriercube(get_turf(user)) - ..() - -/obj/item/slimecross/chilling/orange - colour = "orange" - effect_desc = "Creates a ring of fire one tile away from the user." - -/obj/item/slimecross/chilling/orange/do_effect(mob/user) - user.visible_message("[src] shatters, and lets out a jet of heat!") - for(var/turf/T in orange(get_turf(user),2)) - if(get_dist(get_turf(user), T) > 1) - new /obj/effect/hotspot(T) - ..() - -/obj/item/slimecross/chilling/purple - colour = "purple" - effect_desc = "Injects everyone in the area with some regenerative jelly." - -/obj/item/slimecross/chilling/purple/do_effect(mob/user) - var/area/A = get_area(get_turf(user)) - if(A.outdoors) - to_chat(user, "[src] can't affect such a large area.") - return - user.visible_message("[src] shatters, and a healing aura fills the room briefly.") - for(var/mob/living/carbon/C in A) - C.reagents.add_reagent(/datum/reagent/medicine/regen_jelly,10) - ..() - -/obj/item/slimecross/chilling/blue - colour = "blue" - effect_desc = "Creates a rebreather, a tankless mask." - -/obj/item/slimecross/chilling/blue/do_effect(mob/user) - user.visible_message("[src] cracks, and spills out a liquid goo, which reforms into a mask!") - new /obj/item/clothing/mask/nobreath(get_turf(user)) - ..() - -/obj/item/slimecross/chilling/metal - colour = "metal" - effect_desc = "Temporarily surrounds the user with unbreakable walls." - -/obj/item/slimecross/chilling/metal/do_effect(mob/user) - user.visible_message("[src] melts like quicksilver, and surrounds [user] in a wall!") - for(var/turf/T in orange(get_turf(user),1)) - if(get_dist(get_turf(user), T) > 0) - new /obj/effect/forcefield/slimewall(T) - ..() - -/obj/item/slimecross/chilling/yellow - colour = "yellow" - effect_desc = "Recharges the room's APC by 50%." - -/obj/item/slimecross/chilling/yellow/do_effect(mob/user) - var/area/A = get_area(get_turf(user)) - user.visible_message("[src] shatters, and a the air suddenly feels charged for a moment.") - for(var/obj/machinery/power/apc/C in A) - if(C.cell) - C.cell.charge = min(C.cell.charge + C.cell.maxcharge/2, C.cell.maxcharge) - ..() - -/obj/item/slimecross/chilling/darkpurple - colour = "dark purple" - effect_desc = "Removes all plasma gas in the area." - -/obj/item/slimecross/chilling/darkpurple/do_effect(mob/user) - var/area/A = get_area(get_turf(user)) - if(A.outdoors) - to_chat(user, "[src] can't affect such a large area.") - return - var/filtered = FALSE - for(var/turf/open/T in A) - var/datum/gas_mixture/G = T.air - if(istype(G)) - G.set_moles(GAS_PLASMA, 0) - filtered = TRUE - T.air_update_turf() - if(filtered) - user.visible_message("Cracks spread throughout [src], and some air is sucked in!") - else - user.visible_message("[src] cracks, but nothing happens.") - ..() - -/obj/item/slimecross/chilling/darkblue - colour = "dark blue" - effect_desc = "Seals the user in a protective block of ice." - -/obj/item/slimecross/chilling/darkblue/do_effect(mob/user) - if(isliving(user)) - user.visible_message("[src] freezes over [user]'s entire body!") - var/mob/living/M = user - M.apply_status_effect(/datum/status_effect/frozenstasis) - ..() - -/obj/item/slimecross/chilling/silver - colour = "silver" - effect_desc = "Creates several ration packs." - -/obj/item/slimecross/chilling/silver/do_effect(mob/user) - user.visible_message("[src] crumbles into icy powder, leaving behind several emergency food supplies!") - var/amount = rand(5, 10) - for(var/i in 1 to amount) - new /obj/item/reagent_containers/food/snacks/rationpack(get_turf(user)) - ..() - -/obj/item/slimecross/chilling/bluespace - colour = "bluespace" - effect_desc = "Touching people with this extract adds them to a list, when it is activated it teleports everyone on that list to the user." - var/list/allies = list() - var/active = FALSE - -/obj/item/slimecross/chilling/bluespace/afterattack(atom/target, mob/user, proximity) - if(!proximity || !isliving(target) || active) - return - if(target in allies) - allies -= target - to_chat(user, "You unlink [src] with [target].") - else - allies |= target - to_chat(user, "You link [src] with [target].") - return - -/obj/item/slimecross/chilling/bluespace/do_effect(mob/user) - if(allies.len <= 0) - to_chat(user, "[src] is not linked to anyone!") - return - to_chat(user, "You feel [src] pulse as it begins charging bluespace energies...") - active = TRUE - for(var/mob/living/M in allies) - var/datum/status_effect/slimerecall/S = M.apply_status_effect(/datum/status_effect/slimerecall) - S.target = user - if(do_after(user, 100, target=src)) - to_chat(user, "[src] shatters as it tears a hole in reality, snatching the linked individuals from the void!") - for(var/mob/living/M in allies) - var/datum/status_effect/slimerecall/S = M.has_status_effect(/datum/status_effect/slimerecall) - M.remove_status_effect(S) - else - to_chat(user, "[src] falls dark, dissolving into nothing as the energies fade away.") - for(var/mob/living/M in allies) - var/datum/status_effect/slimerecall/S = M.has_status_effect(/datum/status_effect/slimerecall) - if(istype(S)) - S.interrupted = TRUE - M.remove_status_effect(S) - ..() - -/obj/item/slimecross/chilling/sepia - colour = "sepia" - effect_desc = "Touching someone with it adds/removes them from a list. Activating the extract stops time for 7 seconds, and everyone on the list is immune, except the user." - var/list/allies = list() - -/obj/item/slimecross/chilling/sepia/afterattack(atom/target, mob/user, proximity) - if(!proximity || !isliving(target)) - return - if(target in allies) - allies -= target - to_chat(user, "You unlink [src] with [target].") - else - allies |= target - to_chat(user, "You link [src] with [target].") - return - -/obj/item/slimecross/chilling/sepia/do_effect(mob/user) - user.visible_message("[src] shatters, freezing time itself!") - allies -= user //support class - new /obj/effect/timestop(get_turf(user), 2, 70, allies) - ..() - -/obj/item/slimecross/chilling/cerulean - colour = "cerulean" - effect_desc = "Creates a flimsy copy of the user, that they control." - -/obj/item/slimecross/chilling/cerulean/do_effect(mob/user) - if(isliving(user)) - user.visible_message("[src] creaks and shifts into a clone of [user]!") - var/mob/living/M = user - M.apply_status_effect(/datum/status_effect/slime_clone) - ..() - -/obj/item/slimecross/chilling/pyrite - colour = "pyrite" - effect_desc = "Creates a pair of Prism Glasses, which allow the wearer to place colored light crystals." - -/obj/item/slimecross/chilling/pyrite/do_effect(mob/user) - user.visible_message("[src] crystallizes into a pair of spectacles!") - new /obj/item/clothing/glasses/prism_glasses(get_turf(user)) - ..() - -/obj/item/slimecross/chilling/red - colour = "red" - effect_desc = "Pacifies every slime in your vacinity." - -/obj/item/slimecross/chilling/red/do_effect(mob/user) - var/slimesfound = FALSE - for(var/mob/living/simple_animal/slime/S in view(get_turf(user), 7)) - slimesfound = TRUE - S.docile = TRUE - if(slimesfound) - user.visible_message("[src] lets out a peaceful ring as it shatters, and nearby slimes seem calm.") - else - user.visible_message("[src] lets out a peaceful ring as it shatters, but nothing happens...") - ..() - -/obj/item/slimecross/chilling/pink - colour = "pink" - effect_desc = "Creates a slime corgi puppy." - -/obj/item/slimecross/chilling/pink/do_effect(mob/user) - user.visible_message("[src] cracks like an egg, and an adorable puppy comes tumbling out!") - new /mob/living/simple_animal/pet/dog/corgi/puppy/slime(get_turf(user)) - ..() - -/obj/item/slimecross/chilling/gold - colour = "gold" - effect_desc = "Produces a golden capture device" - -/obj/item/slimecross/chilling/gold/do_effect(mob/user) - user.visible_message("[src] lets off golden light as it melts and reforms into an egg-like device!") - new /obj/item/capturedevice(get_turf(user)) - ..() - -/obj/item/slimecross/chilling/oil - colour = "oil" - effect_desc = "It creates a weak, but wide-ranged explosion." - -/obj/item/slimecross/chilling/oil/do_effect(mob/user) - user.visible_message("[src] begins to shake with muted intensity!") - addtimer(CALLBACK(src, PROC_REF(boom)), 50) - -/obj/item/slimecross/chilling/oil/proc/boom() - explosion(get_turf(src), -1, -1, 10, 0) //Large radius, but mostly light damage, and no flash. - qdel(src) - -/obj/item/slimecross/chilling/black - colour = "black" - effect_desc = "Does nothing. :)" - -/obj/item/slimecross/chilling/lightpink - colour = "light pink" - effect_desc = "Creates a Heroine Bud, a special flower that pacifies whoever wears it on their head. They will not be able to take it off without help." - -/obj/item/slimecross/chilling/lightpink/do_effect(mob/user) - user.visible_message("[src] blooms into a beautiful flower!") - new /obj/item/clothing/head/peaceflower(get_turf(user)) - ..() - -/obj/item/slimecross/chilling/adamantine - colour = "adamantine" - effect_desc = "Solidifies into a set of adamantine armor." - -/obj/item/slimecross/chilling/adamantine/do_effect(mob/user) - user.visible_message("[src] creaks and breaks as it shifts into a heavy set of armor!") - new /obj/item/clothing/suit/armor/heavy/adamantine(get_turf(user)) - ..() - -/obj/item/slimecross/chilling/rainbow - colour = "rainbow" - effect_desc = "Makes an unpassable wall in every door in the area." - -/obj/item/slimecross/chilling/rainbow/do_effect(mob/user) - var/area/area = get_area(user) - if(area.outdoors) - to_chat(user, "[src] can't affect such a large area.") - return - user.visible_message("[src] reflects an array of dazzling colors and light, energy rushing to nearby doors!") - for(var/obj/machinery/door/airlock/door in area) - new /obj/effect/forcefield/slimewall/rainbow(door.loc) - return ..() diff --git a/code/modules/research/xenobiology/crossbreeding/consuming.dm b/code/modules/research/xenobiology/crossbreeding/consuming.dm deleted file mode 100644 index f2a162af3aa..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/consuming.dm +++ /dev/null @@ -1,460 +0,0 @@ -/* -Consuming extracts: - Can eat food items. - After consuming enough, produces special cookies. -*/ -/obj/item/slimecross/consuming - name = "consuming extract" - desc = "It hungers... for more." //My slimecross has finally decided to eat... my buffet! - icon_state = "consuming" - effect = "consuming" - var/nutriment_eaten = 0 - var/nutriment_required = 10 - var/cooldown = 600 //1 minute. - var/last_produced = 0 - var/cookies = 5 //Number of cookies to spawn - var/cookietype = /obj/item/slime_cookie - -/obj/item/slimecross/consuming/attackby(obj/item/O, mob/user) - if(istype(O,/obj/item/reagent_containers/food/snacks)) - if(last_produced + cooldown > world.time) - to_chat(user, "[src] is still digesting after its last meal!") - return - var/datum/reagent/N = O.reagents.has_reagent(/datum/reagent/consumable/nutriment) - if(N) - nutriment_eaten += N.volume - to_chat(user, "[src] opens up and swallows [O] whole!") - qdel(O) - playsound(src, 'sound/items/eatfood.ogg', 20, TRUE) - else - to_chat(user, "[src] burbles unhappily at the offering.") - if(nutriment_eaten >= nutriment_required) - nutriment_eaten = 0 - user.visible_message("[src] swells up and produces a small pile of cookies!") - playsound(src, 'sound/effects/splat.ogg', 40, TRUE) - last_produced = world.time - for(var/i in 1 to cookies) - var/obj/item/S = spawncookie() - S.pixel_x = base_pixel_x + rand(-5, 5) - S.pixel_y = base_pixel_y + rand(-5, 5) - return - ..() - -/obj/item/slimecross/consuming/proc/spawncookie() - return new cookietype(get_turf(src)) - -/obj/item/slime_cookie //While this technically acts like food, it's so removed from it that I made it its' own type. - name = "error cookie" - desc = "A weird slime cookie. You shouldn't see this." - icon = 'icons/obj/food/slimecookies.dmi' - var/taste = "error" - var/nutrition = 5 - icon_state = "base" - force = 0 - w_class = WEIGHT_CLASS_TINY - throwforce = 0 - throw_speed = 3 - throw_range = 6 - -/obj/item/slime_cookie/proc/do_effect(mob/living/M, mob/user) - return - -/obj/item/slime_cookie/attack(mob/living/M, mob/user) - var/fed = FALSE - if(M == user) - M.visible_message("[user] eats [src]!", "You eat [src].") - fed = TRUE - else - M.visible_message("[user] tries to force [M] to eat [src]!", "[user] tries to force you to eat [src]!") - if(do_after(user, 20, target = M)) - fed = TRUE - M.visible_message("[user] forces [M] to eat [src]!", "[user] forces you to eat [src].") - if(fed) - var/mob/living/carbon/human/H = M - - if(!istype(H) || !HAS_TRAIT(H, TRAIT_AGEUSIA)) - to_chat(M, "Tastes like [taste].") - playsound(get_turf(M), 'sound/items/eatfood.ogg', 20, TRUE) - if(nutrition) - M.reagents.add_reagent(/datum/reagent/consumable/nutriment,nutrition) - do_effect(M, user) - qdel(src) - return - ..() - -/obj/item/slimecross/consuming/grey - colour = "grey" - effect_desc = "Creates a slime cookie." - cookietype = /obj/item/slime_cookie/grey - -/obj/item/slime_cookie/grey - name = "slime cookie" - desc = "A grey-ish transparent cookie. Nutritious, probably." - icon_state = "grey" - taste = "goo" - nutrition = 15 - -/obj/item/slimecross/consuming/orange - colour = "orange" - effect_desc = "Creates a slime cookie that heats the target up and grants cold immunity for a short time." - cookietype = /obj/item/slime_cookie/orange - -/obj/item/slime_cookie/orange - name = "fiery cookie" - desc = "A orange cookie with a fiery pattern. Feels warm." - icon_state = "orange" - taste = "cinnamon and burning" - -/obj/item/slime_cookie/orange/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/firecookie) - -/obj/item/slimecross/consuming/purple - colour = "purple" - effect_desc = "Creates a slime cookie that heals the target from every type of damage." - cookietype = /obj/item/slime_cookie/purple - -/obj/item/slime_cookie/purple - name = "health cookie" - desc = "A purple cookie with a cross pattern. Soothing." - icon_state = "purple" - taste = "fruit jam and cough medicine" - -/obj/item/slime_cookie/purple/do_effect(mob/living/M, mob/user) - M.adjustBruteLoss(-5) - M.adjustFireLoss(-5) - M.adjustToxLoss(-5, forced=1) //To heal slimepeople. - M.adjustOxyLoss(-5) - M.adjustCloneLoss(-5) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -5) - -/obj/item/slimecross/consuming/blue - colour = "blue" - effect_desc = "Creates a slime cookie that wets the floor around you and makes you immune to water based slipping for a short time." - cookietype = /obj/item/slime_cookie/blue - -/obj/item/slime_cookie/blue - name = "water cookie" - desc = "A transparent blue cookie. Constantly dripping wet." - icon_state = "blue" - taste = /datum/reagent/water - -/obj/item/slime_cookie/blue/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/watercookie) - -/obj/item/slimecross/consuming/metal - colour = "metal" - effect_desc = "Creates a slime cookie that increases the target's resistance to brute damage." - cookietype = /obj/item/slime_cookie/metal - -/obj/item/slime_cookie/metal - name = "metallic cookie" - desc = "A shiny grey cookie. Hard to the touch." - icon_state = "metal" - taste = /datum/reagent/copper - -/obj/item/slime_cookie/metal/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/metalcookie) - -/obj/item/slimecross/consuming/yellow - colour = "yellow" - effect_desc = "Creates a slime cookie that makes the target immune to electricity for a short time." - cookietype = /obj/item/slime_cookie/yellow - -/obj/item/slime_cookie/yellow - name = "sparking cookie" - desc = "A yellow cookie with a lightning pattern. Has a rubbery texture." - icon_state = "yellow" - taste = "lemon cake and rubber gloves" - -/obj/item/slime_cookie/yellow/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/sparkcookie) - -/obj/item/slimecross/consuming/darkpurple - colour = "dark purple" - effect_desc = "Creates a slime cookie that reverses how the target's body treats toxins." - cookietype = /obj/item/slime_cookie/darkpurple - -/obj/item/slime_cookie/darkpurple - name = "toxic cookie" - desc = "A dark purple cookie, stinking of plasma." - icon_state = "darkpurple" - taste = "slime jelly and toxins" - -/obj/item/slime_cookie/darkpurple/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/toxincookie) - -/obj/item/slimecross/consuming/darkblue - colour = "dark blue" - effect_desc = "Creates a slime cookie that chills the target and extinguishes them." - cookietype = /obj/item/slime_cookie/darkblue - -/obj/item/slime_cookie/darkblue - name = "frosty cookie" - desc = "A dark blue cookie with a snowflake pattern. Feels cold." - icon_state = "darkblue" - taste = "mint and bitter cold" - -/obj/item/slime_cookie/darkblue/do_effect(mob/living/M, mob/user) - M.adjust_bodytemperature(-110) - M.ExtinguishMob() - -/obj/item/slimecross/consuming/silver - colour = "silver" - effect_desc = "Creates a slime cookie that never gets the target fat." - cookietype = /obj/item/slime_cookie/silver - -/obj/item/slime_cookie/silver - name = "waybread cookie" - desc = "A warm, crispy cookie, sparkling silver in the light. Smells wonderful." - icon_state = "silver" - taste = "masterful elven baking" - nutrition = 0 //We don't want normal nutriment - -/obj/item/slime_cookie/silver/do_effect(mob/living/M, mob/user) - M.reagents.add_reagent(/datum/reagent/consumable/nutriment/stabilized,10) - -/obj/item/slimecross/consuming/bluespace - colour = "bluespace" - effect_desc = "Creates a slime cookie that teleports the target to a random place in the area." - cookietype = /obj/item/slime_cookie/bluespace - -/obj/item/slime_cookie/bluespace - name = "space cookie" - desc = "A white cookie with green icing. Surprisingly hard to hold." - icon_state = "bluespace" - taste = "sugar and starlight" - -/obj/item/slime_cookie/bluespace/do_effect(mob/living/M, mob/user) - var/list/L = get_area_turfs(get_area(M)) - var/turf/target - while (L.len && !target) - var/I = rand(1, L.len) - var/turf/T = L[I] - if (is_centcom_level(T)) - L.Cut(I,I+1) - continue - if(!T.density) - var/clear = TRUE - for(var/obj/O in T) - if(O.density) - clear = FALSE - break - if(clear) - target = T - if (!target) - L.Cut(I,I+1) - - if(target) - do_teleport(M, target, 0, asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) - new /obj/effect/particle_effect/sparks(get_turf(M)) - playsound(get_turf(M), "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - -/obj/item/slimecross/consuming/sepia - colour = "sepia" - effect_desc = "Creates a slime cookie that makes the target do things slightly faster." - cookietype = /obj/item/slime_cookie/sepia - -/obj/item/slime_cookie/sepia - name = "time cookie" - desc = "A light brown cookie with a clock pattern. Takes some time to chew." - icon_state = "sepia" - taste = "brown sugar and a metronome" - -/obj/item/slime_cookie/sepia/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/timecookie) - -/obj/item/slimecross/consuming/cerulean - colour = "cerulean" - effect_desc = "Creates a slime cookie that has a chance to make another once you eat it." - cookietype = /obj/item/slime_cookie/cerulean - cookies = 3 //You're gonna get more. - -/obj/item/slime_cookie/cerulean - name = "duplicookie" - desc = "A cerulean cookie with strange proportions. It feels like it could break apart easily." - icon_state = "cerulean" - taste = "a sugar cookie" - -/obj/item/slime_cookie/cerulean/do_effect(mob/living/M, mob/user) - if(prob(50)) - to_chat(M, "A piece of [src] breaks off while you chew, and falls to the ground.") - var/obj/item/slime_cookie/cerulean/C = new(get_turf(M)) - C.taste = taste + " and a sugar cookie" - -/obj/item/slimecross/consuming/pyrite - colour = "pyrite" - effect_desc = "Creates a slime cookie that randomly colors the target." - cookietype = /obj/item/slime_cookie/pyrite - -/obj/item/slime_cookie/pyrite - name = "color cookie" - desc = "A yellow cookie with rainbow-colored icing. Reflects the light strangely." - icon_state = "pyrite" - taste = "vanilla and " //Randomly selected color dye. - var/colour = "#FFFFFF" - -/obj/item/slime_cookie/pyrite/Initialize() - . = ..() - var/tastemessage = "paint remover" - switch(rand(1,7)) - if(1) - tastemessage = "red dye" - colour = "#FF0000" - if(2) - tastemessage = "orange dye" - colour = "#FFA500" - if(3) - tastemessage = "yellow dye" - colour = "#FFFF00" - if(4) - tastemessage = "green dye" - colour = "#00FF00" - if(5) - tastemessage = "blue dye" - colour = "#0000FF" - if(6) - tastemessage = "indigo dye" - colour = "#4B0082" - if(7) - tastemessage = "violet dye" - colour = "#FF00FF" - taste += tastemessage - -/obj/item/slime_cookie/pyrite/do_effect(mob/living/M, mob/user) - M.add_atom_colour(colour,WASHABLE_COLOUR_PRIORITY) - -/obj/item/slimecross/consuming/red - colour = "red" - effect_desc = "Creates a slime cookie that creates a spatter of blood on the floor, while also restoring some of the target's blood." - cookietype = /obj/item/slime_cookie/red - -/obj/item/slime_cookie/red - name = "blood cookie" - desc = "A red cookie, oozing a thick red fluid. Vampires might enjoy it." - icon_state = "red" - taste = "red velvet and iron" - -/obj/item/slime_cookie/red/do_effect(mob/living/M, mob/user) - new /obj/effect/decal/cleanable/blood(get_turf(M)) - playsound(get_turf(M), 'sound/effects/splat.ogg', 10, TRUE) - if(iscarbon(M)) - var/mob/living/carbon/C = M - C.blood_volume += 25 //Half a vampire drain. - -/obj/item/slimecross/consuming/green - colour = "green" - effect_desc = "Creates a slime cookie that is absolutely disgusting, makes the target vomit, however all reagent in their body are also removed." - cookietype = /obj/item/slime_cookie/green - -/obj/item/slime_cookie/green - name = "gross cookie" - desc = "A disgusting green cookie, seeping with pus. You kind of feel ill just looking at it." - icon_state = "green" - taste = "the contents of your stomach" - -/obj/item/slime_cookie/green/do_effect(mob/living/M, mob/user) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - H.vomit(25) - M.reagents.remove_all() - -/obj/item/slimecross/consuming/pink - colour = "pink" - effect_desc = "Creates a slime cookie that makes the target want to spread the love." - cookietype = /obj/item/slime_cookie/pink - -/obj/item/slime_cookie/pink - name = "love cookie" - desc = "A pink cookie with an icing heart. D'aww." - icon_state = "pink" - taste = "love and hugs" - -/obj/item/slime_cookie/pink/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/lovecookie) - -/obj/item/slimecross/consuming/gold - colour = "gold" - effect_desc = "Creates a slime cookie that has a gold coin inside." - cookietype = /obj/item/slime_cookie/gold - -/obj/item/slime_cookie/gold - name = "gilded cookie" - desc = "A buttery golden cookie, closer to a bread than anything. May good fortune find you." - icon_state = "gold" - taste = "sweet cornbread and wealth" - -/obj/item/slime_cookie/gold/do_effect(mob/living/M, mob/user) - var/obj/item/held = M.get_active_held_item() //This should be itself, but just in case... - M.dropItemToGround(held) - var/newcoin = /obj/item/coin/gold - var/obj/item/coin/C = new newcoin(get_turf(M)) - playsound(get_turf(C), 'sound/items/coinflip.ogg', 50, TRUE) - M.put_in_hand(C) - -/obj/item/slimecross/consuming/oil - colour = "oil" - effect_desc = "Creates a slime cookie that slows anyone next to the user." - cookietype = /obj/item/slime_cookie/oil - -/obj/item/slime_cookie/oil - name = "tar cookie" - desc = "An oily black cookie, which sticks to your hands. Smells like chocolate." - icon_state = "oil" - taste = "rich molten chocolate and tar" - -/obj/item/slime_cookie/oil/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/tarcookie) - -/obj/item/slimecross/consuming/black - colour = "black" - effect_desc = "Creates a slime cookie that makes the target look like a spooky skeleton for a little bit." - cookietype = /obj/item/slime_cookie/black - -/obj/item/slime_cookie/black - name = "spooky cookie" - desc = "A pitch black cookie with an icing ghost on the front. Spooky!" - icon_state = "black" - taste = "ghosts and stuff" - -/obj/item/slime_cookie/black/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/spookcookie) - -/obj/item/slimecross/consuming/lightpink - colour = "light pink" - effect_desc = "Creates a slime cookie that makes the target, and anyone next to the target, pacifistic for a small amount of time." - cookietype = /obj/item/slime_cookie/lightpink - -/obj/item/slime_cookie/lightpink - name = "peace cookie" - desc = "A light pink cookie with a peace symbol in the icing. Lovely!" - icon_state = "lightpink" - taste = "strawberry icing and P.L.U.R" //Literal candy raver. - -/obj/item/slime_cookie/lightpink/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/peacecookie) - -/obj/item/slimecross/consuming/adamantine - colour = "adamantine" - effect_desc = "Creates a slime cookie that increases the target's resistance to burn damage." - cookietype = /obj/item/slime_cookie/adamantine - -/obj/item/slime_cookie/adamantine - name = "crystal cookie" - desc = "A translucent rock candy in the shape of a cookie. Surprisingly chewy." - icon_state = "adamantine" - taste = "crystalline sugar and metal" - -/obj/item/slime_cookie/adamantine/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/adamantinecookie) - -/obj/item/slimecross/consuming/rainbow - colour = "rainbow" - effect_desc = "Creates a slime cookie that has the effect of a random cookie." - -/obj/item/slimecross/consuming/rainbow/spawncookie() - var/cookie_type = pick(subtypesof(/obj/item/slime_cookie)) - var/obj/item/slime_cookie/S = new cookie_type(get_turf(src)) - S.name = "rainbow cookie" - S.desc = "A beautiful rainbow cookie, constantly shifting colors in the light." - S.icon_state = "rainbow" - return S diff --git a/code/modules/research/xenobiology/crossbreeding/industrial.dm b/code/modules/research/xenobiology/crossbreeding/industrial.dm deleted file mode 100644 index da9387883f0..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/industrial.dm +++ /dev/null @@ -1,199 +0,0 @@ -/* -Industrial extracts: - Slowly consume plasma, produce items with it. -*/ -/obj/item/slimecross/industrial - name = "industrial extract" - desc = "A gel-like, sturdy extract, fond of plasma and industry." - effect = "industrial" - icon_state = "industrial_still" - var/plasmarequired = 2 //Units of plasma required to be consumed to produce item. - var/itempath = /obj/item //The item produced by the extract. - var/plasmaabsorbed = 0 //Units of plasma aborbed by the extract already. Absorbs at a rate of 2u/obj tick. - var/itemamount = 1 //How many items to spawn - -/obj/item/slimecross/industrial/examine(mob/user) - . = ..() - . += "It currently has [plasmaabsorbed] units of plasma floating inside the outer shell, out of [plasmarequired] units." - -/obj/item/slimecross/industrial/proc/do_after_spawn(obj/item/spawned) - return - -/obj/item/slimecross/industrial/Initialize() - . = ..() - create_reagents(100, INJECTABLE | DRAWABLE) - START_PROCESSING(SSobj,src) - -/obj/item/slimecross/industrial/Destroy() - STOP_PROCESSING(SSobj,src) - return ..() - -/obj/item/slimecross/industrial/process() - var/IsWorking = FALSE - if(reagents.has_reagent(/datum/reagent/toxin/plasma,amount = 2) && plasmarequired > 1) //Can absorb as much as 2 - IsWorking = TRUE - reagents.remove_reagent(/datum/reagent/toxin/plasma,2) - plasmaabsorbed += 2 - else if(reagents.has_reagent(/datum/reagent/toxin/plasma,amount = 1)) //Can absorb as little as 1 - IsWorking = TRUE - reagents.remove_reagent(/datum/reagent/toxin/plasma,1) - plasmaabsorbed += 1 - - if(plasmaabsorbed >= plasmarequired) - playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE) - plasmaabsorbed -= plasmarequired - for(var/i = 0, i < itemamount, i++) - do_after_spawn(new itempath(get_turf(src))) - else if(IsWorking) - playsound(src, 'sound/effects/bubbles.ogg', 5, TRUE) - if(IsWorking) - icon_state = "industrial" - else - icon_state = "industrial_still" - -/obj/item/slimecross/industrial/grey - colour = "grey" - effect_desc = "Produces monkey cubes." - itempath = /obj/item/reagent_containers/food/snacks/monkeycube - itemamount = 5 - -/obj/item/slimecross/industrial/orange - colour = "orange" - effect_desc = "Produces slime zippo lighters." - plasmarequired = 6 - itempath = /obj/item/lighter/slime - -/obj/item/slimecross/industrial/purple - colour = "purple" - effect_desc = "Produces autoinjectors with regen jelly inside." - plasmarequired = 5 - itempath = /obj/item/slimecrossbeaker/autoinjector/regenpack - -/obj/item/slimecross/industrial/blue - colour = "blue" - effect_desc = "Produces full fire extinguishers." - plasmarequired = 10 - itempath = /obj/item/extinguisher - -/obj/item/slimecross/industrial/metal - colour = "metal" - effect_desc = "Produces metal sheets." - plasmarequired = 3 - itempath = /obj/item/stack/sheet/metal/ten - -/obj/item/slimecross/industrial/yellow - colour = "yellow" - effect_desc = "Produces high capacity power cells, which are not fully charged on creation." - plasmarequired = 5 - itempath = /obj/item/stock_parts/cell/high - -/obj/item/slimecross/industrial/yellow/do_after_spawn(obj/item/spawned) - var/obj/item/stock_parts/cell/high/C = spawned - if(istype(C)) - C.charge = rand(0,C.maxcharge/2) - -/obj/item/slimecross/industrial/darkpurple - colour = "dark purple" - effect_desc = "Produces plasma... for plasma." - plasmarequired = 10 - itempath = /obj/item/stack/sheet/mineral/plasma - -/obj/item/slimecross/industrial/darkblue - colour = "dark blue" - effect_desc = "Produces one-use fireproofing potions." - plasmarequired = 6 - itempath = /obj/item/slimepotion/fireproof - -/obj/item/slimecross/industrial/darkblue/do_after_spawn(obj/item/spawned) - var/obj/item/slimepotion/fireproof/potion = spawned - if(istype(potion)) - potion.uses = 1 - -/obj/item/slimecross/industrial/silver - colour = "silver" - effect_desc = "Produces random food and drink items." - plasmarequired = 1 - //Item picked below. - -/obj/item/slimecross/industrial/silver/process() - itempath = pick(list(get_random_food(), get_random_drink())) - ..() - -/obj/item/slimecross/industrial/bluespace - colour = "bluespace" - effect_desc = "Produces synthetic bluespace crystals." - plasmarequired = 7 - itempath = /obj/item/stack/ore/bluespace_crystal/artificial - -/obj/item/slimecross/industrial/sepia - colour = "sepia" - effect_desc = "Produces cameras." - plasmarequired = 2 - itempath = /obj/item/camera - -/obj/item/slimecross/industrial/cerulean - colour = "cerulean" - effect_desc = "Produces normal slime extract enhancers." - plasmarequired = 5 - itempath = /obj/item/slimepotion/enhancer - -/obj/item/slimecross/industrial/pyrite - colour = "pyrite" - effect_desc = "Produces cans of spraypaint." - plasmarequired = 2 - itempath = /obj/item/toy/crayon/spraycan - -/obj/item/slimecross/industrial/red - colour = "red" - effect_desc = "Produces blood orbs." - plasmarequired = 5 - itempath = /obj/item/slimecrossbeaker/bloodpack - -/obj/item/slimecross/industrial/green - colour = "green" - effect_desc = "Produces self-use-only slime jelly autoinjectors." - plasmarequired = 7 - itempath = /obj/item/slimecrossbeaker/autoinjector/slimejelly - -/obj/item/slimecross/industrial/pink - colour = "pink" - effect_desc = "Produces synthpax and space drug autoinjectors." - plasmarequired = 6 - itempath = /obj/item/slimecrossbeaker/autoinjector/peaceandlove - -/obj/item/slimecross/industrial/gold - colour = "gold" - effect_desc = "Produces random coins." - plasmarequired = 10 - -/obj/item/slimecross/industrial/gold/process() - itempath = pick(/obj/item/coin/silver, /obj/item/coin/iron, /obj/item/coin/gold, /obj/item/coin/diamond, /obj/item/coin/plasma, /obj/item/coin/uranium) - ..() - -/obj/item/slimecross/industrial/oil - colour = "oil" - effect_desc = "Produces IEDs." - plasmarequired = 4 - itempath = /obj/item/grenade/iedcasing/spawned - -/obj/item/slimecross/industrial/black //What does this have to do with black slimes? No clue! Fun, though - colour = "black" - effect_desc = "Produces slime brand regenerative cigarettes." - plasmarequired = 6 - itempath = /obj/item/storage/fancy/cigarettes/cigpack_xeno - -/obj/item/slimecross/industrial/lightpink - colour = "light pink" - effect_desc = "Produces heart shaped boxes that have candies in them." - plasmarequired = 3 - itempath = /obj/item/storage/fancy/heart_box - -/obj/item/slimecross/industrial/rainbow - colour = "rainbow" - effect_desc = "Produces random slime extracts." - plasmarequired = 5 - //Item picked below. - -/obj/item/slimecross/industrial/rainbow/process() - itempath = pick(subtypesof(/obj/item/slime_extract)) - ..() diff --git a/code/modules/research/xenobiology/crossbreeding/mutative.dm b/code/modules/research/xenobiology/crossbreeding/mutative.dm deleted file mode 100644 index 6b58a7aa0c9..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/mutative.dm +++ /dev/null @@ -1,32 +0,0 @@ -/obj/item/slimecross/mutative - name = "mutative extract" - desc = "It's softly pulsing with mutagenic energy." - effect = "mutative" - icon_state = "mutative" - -/obj/item/slimecross/mutative/Initialize() - . = ..() - create_reagents(10, INJECTABLE | DRAWABLE) - -/obj/item/slimecross/mutative/attack_self(mob/user) - if(!reagents.has_reagent(/datum/reagent/toxin/plasma,10)) - to_chat(user, "This extract needs to be full of plasma to activate!") - return - reagents.remove_reagent(/datum/reagent/toxin/plasma,10) - to_chat(user, "You squeeze the extract, and it absorbs the plasma!") - playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE) - playsound(src, 'sound/magic/fireball.ogg', 50, TRUE) - do_effect(user) - -/obj/item/slimecross/mutative/proc/do_effect(mob/user) //If, for whatever reason, you don't want to delete the extract, don't do ..() - qdel(src) - return - -/obj/item/slimecross/mutative/rainbow - colour = "rainbow" - effect_desc = "Hardens into a shard of slimy crystal. Prick yourself with it to bring forth a Slime Guardian." - -/obj/item/slimecross/mutative/rainbow/do_effect(mob/user) - user.visible_message("[src] collapses in a chromatic flash, transforming into jagged crystal!") - new /obj/item/guardiancreator/slime(get_turf(user)) - ..() diff --git a/code/modules/research/xenobiology/crossbreeding/prismatic.dm b/code/modules/research/xenobiology/crossbreeding/prismatic.dm deleted file mode 100644 index 9cfc4542d52..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/prismatic.dm +++ /dev/null @@ -1,124 +0,0 @@ -/* -Prismatic extracts: - Becomes an infinite-use paintbrush. -*/ -/obj/item/slimecross/prismatic - name = "prismatic extract" - desc = "It's constantly wet with a semi-transparent, colored goo." - effect = "prismatic" - effect_desc = "When used it paints whatever it hits." - icon_state = "prismatic" - var/paintcolor = "#FFFFFF" - -/obj/item/slimecross/prismatic/afterattack(turf/target, mob/user, proximity) - if(!proximity) - return - if(!istype(target) || isspaceturf(target)) - return - target.add_atom_colour(paintcolor, WASHABLE_COLOUR_PRIORITY) - playsound(target, 'sound/effects/slosh.ogg', 20, TRUE) - -/obj/item/slimecross/prismatic/grey/ - colour = "grey" - desc = "It's constantly wet with a pungent-smelling, clear chemical." - -/obj/item/slimecross/prismatic/grey/afterattack(turf/target, mob/user, proximity) - . = ..() - if(!proximity) - return - if(istype(target) && target.color != initial(target.color)) - target.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) - playsound(target, 'sound/effects/slosh.ogg', 20, TRUE) - -/obj/item/slimecross/prismatic/orange - paintcolor = "#FFA500" - colour = "orange" - -/obj/item/slimecross/prismatic/purple - paintcolor = "#B19CD9" - colour = "purple" - -/obj/item/slimecross/prismatic/blue - paintcolor = "#ADD8E6" - colour = "blue" - -/obj/item/slimecross/prismatic/metal - paintcolor = "#7E7E7E" - colour = "metal" - -/obj/item/slimecross/prismatic/yellow - paintcolor = "#FFFF00" - colour = "yellow" - -/obj/item/slimecross/prismatic/darkpurple - paintcolor = "#551A8B" - colour = "dark purple" - -/obj/item/slimecross/prismatic/darkblue - paintcolor = "#0000FF" - colour = "dark blue" - -/obj/item/slimecross/prismatic/silver - paintcolor = "#D3D3D3" - colour = "silver" - -/obj/item/slimecross/prismatic/bluespace - paintcolor = "#32CD32" - colour = "bluespace" - -/obj/item/slimecross/prismatic/sepia - paintcolor = "#704214" - colour = "sepia" - -/obj/item/slimecross/prismatic/cerulean - paintcolor = "#2956B2" - colour = "cerulean" - -/obj/item/slimecross/prismatic/pyrite - paintcolor = "#FAFAD2" - colour = "pyrite" - -/obj/item/slimecross/prismatic/red - paintcolor = "#FF0000" - colour = "red" - -/obj/item/slimecross/prismatic/green - paintcolor = "#00FF00" - colour = "green" - -/obj/item/slimecross/prismatic/pink - paintcolor = "#FF69B4" - colour = "pink" - -/obj/item/slimecross/prismatic/gold - paintcolor = "#FFD700" - colour = "gold" - -/obj/item/slimecross/prismatic/oil - paintcolor = "#505050" - colour = "oil" - -/obj/item/slimecross/prismatic/black - paintcolor = "#000000" - colour = "black" - -/obj/item/slimecross/prismatic/lightpink - paintcolor = "#FFB6C1" - colour = "light pink" - -/obj/item/slimecross/prismatic/adamantine - paintcolor = "#008B8B" - colour = "adamantine" - -/obj/item/slimecross/prismatic/rainbow - paintcolor = "#FFFFFF" - colour = "rainbow" - -/obj/item/slimecross/prismatic/rainbow/attack_self(mob/user) - var/newcolor = input(user, "Choose the slime color:", "Color change",paintcolor) as color|null - if(user.get_active_held_item() != src || user.stat != CONSCIOUS || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) - return - if(!newcolor) - return - paintcolor = newcolor - return diff --git a/code/modules/research/xenobiology/crossbreeding/recurring.dm b/code/modules/research/xenobiology/crossbreeding/recurring.dm deleted file mode 100644 index 4a094744f7f..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/recurring.dm +++ /dev/null @@ -1,138 +0,0 @@ -/* -Recurring extracts: - Generates a new charge every few seconds. - If depleted of its' last charge, stops working. -*/ -/obj/item/slimecross/recurring - name = "recurring extract" - desc = "A tiny, glowing core, wrapped in several layers of goo." - effect = "recurring" - icon_state = "recurring" - var/extract_type - var/obj/item/slime_extract/extract - var/cooldown = 0 - var/max_cooldown = 5 //In sets of 2 seconds. - -/obj/item/slimecross/recurring/Initialize() - . = ..() - extract = new extract_type(src.loc) - visible_message("[src] wraps a layer of goo around itself!") - extract.name = name - extract.desc = desc - extract.icon = icon - extract.icon_state = icon_state - extract.color = color - extract.recurring = TRUE - src.forceMove(extract) - START_PROCESSING(SSobj,src) - -/obj/item/slimecross/recurring/process() - if(cooldown > 0) - cooldown-- - else if(extract.Uses < 10 && extract.Uses > 0) - extract.Uses++ - cooldown = max_cooldown - else if(extract.Uses <= 0) - extract.visible_message("The light inside [extract] flickers and dies out.") - extract.desc = "A tiny, inert core, bleeding dark, cerulean-colored goo." - extract.icon_state = "prismatic" - qdel(src) - -/obj/item/slimecross/recurring/Destroy() - . = ..() - STOP_PROCESSING(SSobj,src) - -/obj/item/slimecross/recurring/grey - extract_type = /obj/item/slime_extract/grey - colour = "grey" - -/obj/item/slimecross/recurring/orange - extract_type = /obj/item/slime_extract/orange - colour = "orange" - -/obj/item/slimecross/recurring/purple - extract_type = /obj/item/slime_extract/purple - colour = "purple" - -/obj/item/slimecross/recurring/blue - extract_type = /obj/item/slime_extract/blue - colour = "blue" - -/obj/item/slimecross/recurring/metal - extract_type = /obj/item/slime_extract/metal - colour = "metal" - max_cooldown = 10 - -/obj/item/slimecross/recurring/yellow - extract_type = /obj/item/slime_extract/yellow - colour = "yellow" - max_cooldown = 10 - -/obj/item/slimecross/recurring/darkpurple - extract_type = /obj/item/slime_extract/darkpurple - colour = "dark purple" - max_cooldown = 10 - -/obj/item/slimecross/recurring/darkblue - extract_type = /obj/item/slime_extract/darkblue - colour = "dark blue" - -/obj/item/slimecross/recurring/silver - extract_type = /obj/item/slime_extract/silver - colour = "silver" - -/obj/item/slimecross/recurring/bluespace - extract_type = /obj/item/slime_extract/bluespace - colour = "bluespace" - -/obj/item/slimecross/recurring/sepia - extract_type = /obj/item/slime_extract/sepia - colour = "sepia" - max_cooldown = 18 //No infinite timestop for you! - -/obj/item/slimecross/recurring/cerulean - extract_type = /obj/item/slime_extract/cerulean - colour = "cerulean" - -/obj/item/slimecross/recurring/pyrite - extract_type = /obj/item/slime_extract/pyrite - colour = "pyrite" - -/obj/item/slimecross/recurring/red - extract_type = /obj/item/slime_extract/red - colour = "red" - -/obj/item/slimecross/recurring/green - extract_type = /obj/item/slime_extract/green - colour = "green" - -/obj/item/slimecross/recurring/pink - extract_type = /obj/item/slime_extract/pink - colour = "pink" - -/obj/item/slimecross/recurring/gold - extract_type = /obj/item/slime_extract/gold - colour = "gold" - max_cooldown = 15 - -/obj/item/slimecross/recurring/oil - extract_type = /obj/item/slime_extract/oil - colour = "oil" //Why would you want this? - -/obj/item/slimecross/recurring/black - extract_type = /obj/item/slime_extract/black - colour = "black" - -/obj/item/slimecross/recurring/lightpink - extract_type = /obj/item/slime_extract/lightpink - colour = "light pink" - -/obj/item/slimecross/recurring/adamantine - extract_type = /obj/item/slime_extract/adamantine - colour = "adamantine" - max_cooldown = 10 - -/obj/item/slimecross/recurring/rainbow - extract_type = /obj/item/slime_extract/rainbow - colour = "rainbow" - max_cooldown = 20 //It's pretty powerful. diff --git a/code/modules/research/xenobiology/crossbreeding/regenerative.dm b/code/modules/research/xenobiology/crossbreeding/regenerative.dm deleted file mode 100644 index 75a1201d924..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/regenerative.dm +++ /dev/null @@ -1,354 +0,0 @@ -/* -Regenerative extracts: - Work like a legion regenerative core. - Has a unique additional effect. -*/ -/obj/item/slimecross/regenerative - name = "regenerative extract" - desc = "It's filled with a milky substance, and pulses like a heartbeat." - effect = "regenerative" - icon_state = "regenerative" - - var/oxy_loss = 0 - var/tox_loss = 0 - var/fire_loss = 0 - var/brute_loss = 0 - var/stamina_loss = 0 - var/blood_loss = 100 - var/organ_loss = 3 - var/slime_heal_modifier = 1 //Specialised types only heal half - var/jelly_amount = 7.5 - var/bone_loss = FALSE - var/life_loss = FALSE - var/slime_delay = 10 - -/obj/item/slimecross/regenerative/proc/core_effect(mob/living/carbon/human/target, mob/user) - return -/obj/item/slimecross/regenerative/proc/core_effect_before(mob/living/carbon/human/target, mob/user) - return - -/obj/item/slimecross/regenerative/afterattack(atom/target,mob/user,prox) - . = ..() - if(!prox || !isliving(target)) - return - var/mob/living/H = target - if(H.stat == DEAD && life_loss) - slime_delay = 200 //Reviving the dead takes a while, 20 seconds to be exact - to_chat(user, "You begin using the [src] to try and bring [H] back from the dead...") - else - slime_delay = 10 - if(H.stat == DEAD && !life_loss) // Won't revive the dead, except for specific extracts - to_chat(user, "[src] will not work on the dead!") - return - if(H != user) - if(!do_after(user, slime_delay, H)) // 1 second delay - return FALSE - user.visible_message("[user] crushes the [src] over [H], the milky goo quickly regenerating some of [H.p_their()] injuries!", - "You squeeze the [src], and it bursts over [H], the milky goo regenerating some of [H.p_their()] injuries.") - else - if(!do_after(user, (slime_delay * 1.5), H)) // 1.5 second delay - return FALSE - user.visible_message("[user] crushes the [src] over [user.p_them()]self, the milky goo quickly regenerating some of [user.p_their()] injuries!", - "You squeeze the [src], and it bursts in your hand, splashing you with milky goo which quickly regenerates some of your injuries!") -// Slimes are good at healing clone damage, but don't heal other damage types as much. Additionally heals 15 organ damage. - core_effect_before(H, user) // can affect heal multiplier - oxy_loss = (12.5 + (H.getOxyLoss() * 0.4 * slime_heal_modifier)) - tox_loss = (12.5 + (H.getToxLoss() * 0.4 * slime_heal_modifier)) - fire_loss = (12.5 + (H.getFireLoss() * 0.4 * slime_heal_modifier)) - brute_loss = (12.5 + (H.getBruteLoss() * 0.4 * slime_heal_modifier)) - stamina_loss = (12.5 + (H.getStaminaLoss() * 0.5 * slime_heal_modifier)) - core_effect(H, user) // can affect specific healing values - H.reagents.add_reagent(/datum/reagent/medicine/regen_jelly,jelly_amount) // Splits the healing effect across an instant heal, and a smaller heal after. - H.specific_heal(brute_amt = brute_loss, fire_amt = fire_loss, tox_amt = tox_loss, oxy_amt = oxy_loss, stam_amt = stamina_loss, organ_amt = organ_loss, clone_amt = 100, blood_amt = blood_loss, specific_bones = bone_loss, specific_revive = life_loss) - playsound(target, 'sound/effects/splat.ogg', 40, TRUE) - qdel(src) - -/obj/item/slimecross/regenerative/grey - colour = "grey" //Has no bonus effect. - effect_desc = "Partially heals the target and does nothing else." - -/obj/item/slimecross/regenerative/orange - colour = "orange" - -/obj/item/slimecross/regenerative/orange/core_effect_before(mob/living/target, mob/user) - target.visible_message("The [src] boils over!") - for(var/turf/turf in range(1,target)) - if(!locate(/obj/effect/hotspot) in turf) - new /obj/effect/hotspot(turf) - -/obj/item/slimecross/regenerative/purple - colour = "purple" - effect_desc = "Weakly heals the target, but treats toxin damage especially well. Additionally injects them with some additional regen jelly." - -/obj/item/slimecross/regenerative/purple/core_effect_before(mob/living/target, mob/user) - slime_heal_modifier = 0.75 - -/obj/item/slimecross/regenerative/purple/core_effect(mob/living/target, mob/user) - tox_loss = (10 + (target.getBruteLoss() * 0.8)) - jelly_amount += 10 - -/obj/item/slimecross/regenerative/blue - colour = "blue" - effect_desc = "Weakly heals the target, but extra effective at treating burns. Additionally makes the floor wet." - -/obj/item/slimecross/regenerative/blue/core_effect_before(mob/living/target, mob/user) - slime_heal_modifier = 0.5 - -/obj/item/slimecross/regenerative/blue/core_effect(mob/living/target, mob/user) - if(isturf(target.loc)) - var/turf/open/T = get_turf(target) - T.MakeSlippery(TURF_WET_WATER, min_wet_time = 10, wet_time_to_add = 5) - target.visible_message("The milky goo in the extract gets all over the floor!") - fire_loss = (10 + (target.getFireLoss() * 0.8)) - jelly_amount *= 0.2 - -/obj/item/slimecross/regenerative/metal - colour = "metal" - effect_desc = "Barely heals the target, but fixes their bones .Additionally encases the target in a locker." - -/obj/item/slimecross/regenerative/metal/core_effect_before(mob/living/target, mob/user) - slime_heal_modifier = 0.1 - -/obj/item/slimecross/regenerative/metal/core_effect(mob/living/target, mob/user) - target.visible_message("The milky goo hardens and reshapes itself, encasing [target]!") - var/obj/structure/closet/C = new /obj/structure/closet(target.loc) - C.name = "slimy closet" - C.desc = "Looking closer, it seems to be made of a sort of solid, opaque, metal-like goo." - target.forceMove(C) - bone_loss = TRUE - jelly_amount *= 0.2 - -/obj/item/slimecross/regenerative/yellow - colour = "yellow" - effect_desc = "Partially heals the target, can revive the dead. additionally Partially recharges a single item on the target." - life_loss = TRUE //Will revive the dead. Heals normally unless target is dead, in which case it heals less. - -/obj/item/slimecross/regenerative/yellow/core_effect_before(mob/living/target, mob/user) - if(target.stat == DEAD) - slime_heal_modifier = 0.1 //use surgery to fix wounds - else - slime_heal_modifier = 0.75 //discourages spamming these to revive a target, combine with other cores - -/obj/item/slimecross/regenerative/yellow/core_effect(mob/living/target, mob/user) - var/list/batteries = list() - for(var/obj/item/stock_parts/cell/C in target.GetAllContents()) - if(C.charge < C.maxcharge) - batteries += C - if(batteries.len) - var/obj/item/stock_parts/cell/ToCharge = pick(batteries) - ToCharge.charge = ToCharge.maxcharge - to_chat(target, "You feel a strange electrical pulse, and one of your electrical items was recharged.") - if(target.stat == DEAD) - blood_loss = 100 - organ_loss = 30 // More effective at fixing organs if the target is dead - jelly_amount *= 0.2 - target.visible_message("The [src] sparks as it tries to revive [target]!") - -/obj/item/slimecross/regenerative/darkpurple - colour = "dark purple" - effect_desc = "Partially heals the target and gives them purple clothing if they are naked." - -/obj/item/slimecross/regenerative/darkpurple/core_effect(mob/living/target, mob/user) - var/equipped = 0 - equipped += target.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/purple(null), ITEM_SLOT_FEET) - equipped += target.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(null), ITEM_SLOT_ICLOTHING) - equipped += target.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/purple(null), ITEM_SLOT_GLOVES) - equipped += target.equip_to_slot_or_del(new /obj/item/clothing/head/soft/purple(null), ITEM_SLOT_HEAD) - if(equipped > 0) - target.visible_message("The milky goo congeals into clothing!") - -/obj/item/slimecross/regenerative/darkblue - colour = "dark blue" - effect_desc = "Partially heals the target and fireproofs their clothes." - -/obj/item/slimecross/regenerative/darkblue/core_effect(mob/living/target, mob/user) - if(!ishuman(target)) - return - var/mob/living/carbon/human/H = target - var/fireproofed = FALSE - if(H.get_item_by_slot(ITEM_SLOT_OCLOTHING)) - fireproofed = TRUE - var/obj/item/clothing/C = H.get_item_by_slot(ITEM_SLOT_OCLOTHING) - fireproof(C) - if(H.get_item_by_slot(ITEM_SLOT_HEAD)) - fireproofed = TRUE - var/obj/item/clothing/C = H.get_item_by_slot(ITEM_SLOT_HEAD) - fireproof(C) - if(fireproofed) - target.visible_message("Some of [target]'s clothing gets coated in the goo, and turns blue!") - -/obj/item/slimecross/regenerative/darkblue/proc/fireproof(obj/item/clothing/C) - C.name = "fireproofed [C.name]" - C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) - C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY) - C.max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - C.heat_protection = C.body_parts_covered - C.resistance_flags |= FIRE_PROOF - -/obj/item/slimecross/regenerative/silver - colour = "silver" - effect_desc = "Partially heals the target and makes their belly feel round and full." - -/obj/item/slimecross/regenerative/silver/core_effect(mob/living/target, mob/user) - target.set_nutrition(NUTRITION_LEVEL_FULL - 1) - to_chat(target, "You feel satiated.") - -/obj/item/slimecross/regenerative/bluespace - colour = "bluespace" - effect_desc = "Partially heals the target and teleports them to where this core was created." - var/turf/open/T - -/obj/item/slimecross/regenerative/bluespace/core_effect(mob/living/target, mob/user) - target.visible_message("[src] disappears in a shower of sparks!","The milky goo teleports you somewhere it remembers!") - do_sparks(5,FALSE,target) - target.forceMove(T) - do_sparks(5,FALSE,target) - -/obj/item/slimecross/regenerative/bluespace/Initialize() - . = ..() - T = get_turf(src) - -/obj/item/slimecross/regenerative/sepia - colour = "sepia" - effect_desc = "Partially heals the target and stops time." - -/obj/item/slimecross/regenerative/sepia/core_effect_before(mob/living/target, mob/user) - to_chat(target, "You try to forget how you feel.") - target.AddComponent(/datum/component/dejavu) - -/obj/item/slimecross/regenerative/cerulean - colour = "cerulean" - effect_desc = "Slightly heals the target, but provides a boost of oxygen for a while. Additionally makes a second regenerative core with no special effects." - -/obj/item/slimecross/regenerative/cerulean/core_effect_before(mob/living/target, mob/user) - slime_heal_modifier = 0.5 - -/obj/item/slimecross/regenerative/cerulean/core_effect(mob/living/target, mob/user) - src.forceMove(user.loc) - var/obj/item/slimecross/X = new /obj/item/slimecross/regenerative(user.loc) - X.name = name - X.desc = desc - user.put_in_active_hand(X) - oxy_loss = 150 - target.reagents.add_reagent(/datum/reagent/medicine/salbutamol,15) //Similar to the luminescent effect, lets you breathe without oxygen for a while. - to_chat(user, "Some of the milky goo congeals in your hand!") - -/obj/item/slimecross/regenerative/pyrite - colour = "pyrite" - effect_desc = "Partially heals and randomly colors the target." - -/obj/item/slimecross/regenerative/pyrite/core_effect(mob/living/target, mob/user) - target.visible_message("The milky goo coating [target] leaves [target.p_them()] a different color!") - target.add_atom_colour(rgb(rand(0,255),rand(0,255),rand(0,255)),WASHABLE_COLOUR_PRIORITY) - -/obj/item/slimecross/regenerative/red - colour = "red" - effect_desc = "Slightly heals the target and injects them with a lot of blood, what a rush!" - -/obj/item/slimecross/regenerative/red/core_effect_before(mob/living/target, mob/user) - slime_heal_modifier = 0.5 - -/obj/item/slimecross/regenerative/red/core_effect(mob/living/target, mob/user) - to_chat(target, "You feel... faster.") - target.reagents.add_reagent(/datum/reagent/medicine/ephedrine,3) - blood_loss += 700 - -/obj/item/slimecross/regenerative/green - colour = "green" - effect_desc = "Weakly heals the target, but fixes their organs .Additionally changes the spieces or color of a slime or jellyperson." - -/obj/item/slimecross/regenerative/green/core_effect_before(mob/living/target, mob/user) - slime_heal_modifier = 0.5 - -/obj/item/slimecross/regenerative/green/core_effect(mob/living/target, mob/user) - if(isslime(target)) - target.visible_message("The [target] suddenly changes color!") - var/mob/living/simple_animal/slime/S = target - S.random_colour() - organ_loss += 17 - - -/obj/item/slimecross/regenerative/pink - colour = "pink" - effect_desc = "Partially heals the target and injects them with some krokodil." - -/obj/item/slimecross/regenerative/pink/core_effect(mob/living/target, mob/user) - to_chat(target, "You feel more calm.") - target.reagents.add_reagent(/datum/reagent/drug/krokodil,4) - -/obj/item/slimecross/regenerative/gold - colour = "gold" - effect_desc = "Partially heals the target and produces a random coin." - -/obj/item/slimecross/regenerative/gold/core_effect(mob/living/target, mob/user) - var/newcoin = pick(/obj/item/coin/silver, /obj/item/coin/iron, /obj/item/coin/gold, /obj/item/coin/diamond, /obj/item/coin/plasma, /obj/item/coin/uranium) - var/obj/item/coin/C = new newcoin(target.loc) - playsound(C, 'sound/items/coinflip.ogg', 50, TRUE) - target.put_in_hand(C) - -/obj/item/slimecross/regenerative/oil - colour = "oil" - effect_desc = "Partially heals the target and flashes everyone in sight." - -/obj/item/slimecross/regenerative/oil/core_effect(mob/living/target, mob/user) - playsound(src, 'sound/weapons/flash.ogg', 100, TRUE) - for(var/mob/living/L in view(user,7)) - L.flash_act() - -/obj/item/slimecross/regenerative/black - colour = "black" - effect_desc = "Partially heals the target and creates a duplicate of them, that drops dead soon after." - -/obj/item/slimecross/regenerative/black/core_effect_before(mob/living/target, mob/user) - var/dummytype = target.type - var/mob/living/dummy = new dummytype(target.loc) - to_chat(target, "The milky goo flows from your skin, forming an imperfect copy of you.") - if(iscarbon(target)) - var/mob/living/carbon/T = target - var/mob/living/carbon/D = dummy - T.dna.transfer_identity(D) - D.updateappearance(mutcolor_update=1) - D.real_name = T.real_name - dummy.adjustBruteLoss(target.getBruteLoss()) - dummy.adjustFireLoss(target.getFireLoss()) - dummy.adjustToxLoss(target.getToxLoss()) - dummy.adjustOxyLoss(200) - -/obj/item/slimecross/regenerative/lightpink - colour = "light pink" - effect_desc = "Partially heals the target and also heals the user." - -// Doesn't heal the user as much as the target -/obj/item/slimecross/regenerative/lightpink/core_effect(mob/living/target, mob/user) - if(!isliving(user)) - return - if(target == user) - return - var/mob/living/U = user - var/oxy_loss = (10 + (U.getOxyLoss() * 0.3)) - var/tox_loss = (10 + (U.getToxLoss() * 0.3)) - var/fire_loss = (10 + (U.getFireLoss() * 0.3)) - var/brute_loss = (10 + (U.getBruteLoss() * 0.3)) - var/stamina_loss = (10 + (U.getStaminaLoss() * 0.35)) - U.reagents.add_reagent(/datum/reagent/medicine/regen_jelly,10) // Splits the healing effect across an instant heal, and a smaller heal after. - U.specific_heal(brute_amt = brute_loss, fire_amt = fire_loss, tox_amt = tox_loss, oxy_amt = oxy_loss, stam_amt = stamina_loss, organ_amt = 2, clone_amt = 100) - to_chat(U, "Some of the milky goo sprays onto you, as well!") - -/obj/item/slimecross/regenerative/adamantine - colour = "adamantine" - effect_desc = "weakly heals the target, but extra effective at treating brute trauma. Additionally boosts their armor." - -/obj/item/slimecross/regenerative/adamantine/core_effect_before(mob/living/target, mob/user) - slime_heal_modifier = 0.3 - -/obj/item/slimecross/regenerative/adamantine/core_effect(mob/living/target, mob/user) //WIP - Find out why this doesn't work. - target.apply_status_effect(STATUS_EFFECT_SLIMESKIN) - brute_loss = (10 + (target.getBruteLoss() * 0.65)) //most common damage type, let's not go overboard - jelly_amount *= 0.5 - -/obj/item/slimecross/regenerative/rainbow - colour = "rainbow" - effect_desc = "Partially heals the target and temporarily makes them immortal, but pacifistic." - -/obj/item/slimecross/regenerative/rainbow/core_effect(mob/living/target, mob/user) - target.apply_status_effect(STATUS_EFFECT_RAINBOWPROTECTION) diff --git a/code/modules/research/xenobiology/crossbreeding/reproductive.dm b/code/modules/research/xenobiology/crossbreeding/reproductive.dm deleted file mode 100644 index f51c5a27117..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/reproductive.dm +++ /dev/null @@ -1,133 +0,0 @@ -/* -Reproductive extracts: - When fed three monkey cubes, produces between - 1 and 4 normal slime extracts of the same colour. -*/ -/obj/item/slimecross/reproductive - name = "reproductive extract" - desc = "It pulses with a strange hunger." - icon_state = "reproductive" - effect = "reproductive" - effect_desc = "When fed monkey cubes it produces more extracts. Bio bag compatible as well." - var/extract_type = /obj/item/slime_extract/ - var/cubes_eaten = 0 - var/last_produce = 0 - var/cooldown = 30 // 3 seconds. - -/obj/item/slimecross/reproductive/attackby(obj/item/O, mob/user) - if((last_produce + cooldown) > world.time) - to_chat(user, "[src] is still digesting!") - return - if(istype(O, /obj/item/storage/bag/bio)) - var/list/inserted = list() - SEND_SIGNAL(O, COMSIG_TRY_STORAGE_TAKE_TYPE, /obj/item/reagent_containers/food/snacks/monkeycube, src, 1, null, null, user, inserted) - if(inserted.len) - var/obj/item/reagent_containers/food/snacks/monkeycube/M = inserted[1] - if(istype(M)) - eat_cube(M, user) - else - to_chat(user, "There are no monkey cubes in the bio bag!") - if(istype(O,/obj/item/reagent_containers/food/snacks/monkeycube)) - eat_cube(O, user) - if(cubes_eaten >= 3) - var/cores = rand(1,4) - visible_message("[src] briefly swells to a massive size, and expels [cores] extract[cores > 1 ? "s":""]!") - playsound(src, 'sound/effects/splat.ogg', 40, TRUE) - last_produce = world.time - for(var/i = 0, i < cores, i++) - new extract_type(get_turf(loc)) - cubes_eaten = 0 - -/obj/item/slimecross/reproductive/proc/eat_cube(obj/item/reagent_containers/food/snacks/monkeycube, mob/user) - qdel(monkeycube) - cubes_eaten++ - to_chat(user, "You feed [monkeycube] to [src], and it pulses gently.") - playsound(src, 'sound/items/eatfood.ogg', 20, TRUE) - -/obj/item/slimecross/reproductive/grey - extract_type = /obj/item/slime_extract/grey - colour = "grey" - -/obj/item/slimecross/reproductive/orange - extract_type = /obj/item/slime_extract/orange - colour = "orange" - -/obj/item/slimecross/reproductive/purple - extract_type = /obj/item/slime_extract/purple - colour = "purple" - -/obj/item/slimecross/reproductive/blue - extract_type = /obj/item/slime_extract/blue - colour = "blue" - -/obj/item/slimecross/reproductive/metal - extract_type = /obj/item/slime_extract/metal - colour = "metal" - -/obj/item/slimecross/reproductive/yellow - extract_type = /obj/item/slime_extract/yellow - colour = "yellow" - -/obj/item/slimecross/reproductive/darkpurple - extract_type = /obj/item/slime_extract/darkpurple - colour = "dark purple" - -/obj/item/slimecross/reproductive/darkblue - extract_type = /obj/item/slime_extract/darkblue - colour = "dark blue" - -/obj/item/slimecross/reproductive/silver - extract_type = /obj/item/slime_extract/silver - colour = "silver" - -/obj/item/slimecross/reproductive/bluespace - extract_type = /obj/item/slime_extract/bluespace - colour = "bluespace" - -/obj/item/slimecross/reproductive/sepia - extract_type = /obj/item/slime_extract/sepia - colour = "sepia" - -/obj/item/slimecross/reproductive/cerulean - extract_type = /obj/item/slime_extract/cerulean - colour = "cerulean" - -/obj/item/slimecross/reproductive/pyrite - extract_type = /obj/item/slime_extract/pyrite - colour = "pyrite" - -/obj/item/slimecross/reproductive/red - extract_type = /obj/item/slime_extract/red - colour = "red" - -/obj/item/slimecross/reproductive/green - extract_type = /obj/item/slime_extract/green - colour = "green" - -/obj/item/slimecross/reproductive/pink - extract_type = /obj/item/slime_extract/pink - colour = "pink" - -/obj/item/slimecross/reproductive/gold - extract_type = /obj/item/slime_extract/gold - colour = "gold" - -/obj/item/slimecross/reproductive/oil - extract_type = /obj/item/slime_extract/oil - colour = "oil" - -/obj/item/slimecross/reproductive/black - extract_type = /obj/item/slime_extract/black - colour = "black" - -/obj/item/slimecross/reproductive/lightpink - extract_type = /obj/item/slime_extract/lightpink - colour = "light pink" - -/obj/item/slimecross/reproductive/adamantine - extract_type = /obj/item/slime_extract/adamantine - colour = "adamantine" - -/obj/item/slimecross/reproductive/rainbow - extract_type = /obj/item/slime_extract/rainbow - colour = "rainbow" diff --git a/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm b/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm deleted file mode 100644 index 814083c3bb5..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm +++ /dev/null @@ -1,149 +0,0 @@ -/* -Self-sustaining extracts: - Produces 4 extracts that do not need reagents. -*/ -/obj/item/slimecross/selfsustaining - name = "self-sustaining extract" - effect = "self-sustaining" - icon_state = "selfsustaining" - var/extract_type = /obj/item/slime_extract - -/obj/item/autoslime - name = "autoslime" - desc = "It resembles a normal slime extract, but seems filled with a strange, multi-colored fluid." - var/obj/item/slime_extract/extract - var/effect_desc = "A self-sustaining slime extract. When used, lets you choose which reaction you want." - -//Just divides into the actual item. -/obj/item/slimecross/selfsustaining/Initialize() - ..() - visible_message("The [src] shudders, and splits into four smaller extracts.") - for(var/i = 0, i < 4, i++) - var/obj/item/autoslime/A = new /obj/item/autoslime(src.loc) - var/obj/item/slime_extract/X = new extract_type(A) - A.extract = X - A.icon = icon - A.icon_state = icon_state - A.color = color - A.name = "self-sustaining " + colour + " extract" - return INITIALIZE_HINT_QDEL - -/obj/item/autoslime/Initialize() - return ..() - -/obj/item/autoslime/attack_self(mob/user) - var/reagentselect = input(user, "Choose the reagent the extract will produce.", "Self-sustaining Reaction") as null|anything in sortList(extract.activate_reagents, /proc/cmp_typepaths_asc) - var/amount = 5 - var/secondary - - if (user.get_active_held_item() != src || user.stat != CONSCIOUS || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) - return - if(!reagentselect) - return - if(reagentselect == "lesser plasma") - amount = 4 - reagentselect = /datum/reagent/toxin/plasma - if(reagentselect == "holy water and uranium") - reagentselect = /datum/reagent/water/holywater - secondary = /datum/reagent/uranium - extract.forceMove(user.drop_location()) - qdel(src) - user.put_in_active_hand(extract) - extract.reagents.add_reagent(reagentselect,amount) - if(secondary) - extract.reagents.add_reagent(secondary,amount) - -/obj/item/autoslime/examine(mob/user) - . = ..() - if(effect_desc) - . += "[effect_desc]" - -//Different types. - -/obj/item/slimecross/selfsustaining/grey - extract_type = /obj/item/slime_extract/grey - colour = "grey" - -/obj/item/slimecross/selfsustaining/orange - extract_type = /obj/item/slime_extract/orange - colour = "orange" - -/obj/item/slimecross/selfsustaining/purple - extract_type = /obj/item/slime_extract/purple - colour = "purple" - -/obj/item/slimecross/selfsustaining/blue - extract_type = /obj/item/slime_extract/blue - colour = "blue" - -/obj/item/slimecross/selfsustaining/metal - extract_type = /obj/item/slime_extract/metal - colour = "metal" - -/obj/item/slimecross/selfsustaining/yellow - extract_type = /obj/item/slime_extract/yellow - colour = "yellow" - -/obj/item/slimecross/selfsustaining/darkpurple - extract_type = /obj/item/slime_extract/darkpurple - colour = "dark purple" - -/obj/item/slimecross/selfsustaining/darkblue - extract_type = /obj/item/slime_extract/darkblue - colour = "dark blue" - -/obj/item/slimecross/selfsustaining/silver - extract_type = /obj/item/slime_extract/silver - colour = "silver" - -/obj/item/slimecross/selfsustaining/bluespace - extract_type = /obj/item/slime_extract/bluespace - colour = "bluespace" - -/obj/item/slimecross/selfsustaining/sepia - extract_type = /obj/item/slime_extract/sepia - colour = "sepia" - -/obj/item/slimecross/selfsustaining/cerulean - extract_type = /obj/item/slime_extract/cerulean - colour = "cerulean" - -/obj/item/slimecross/selfsustaining/pyrite - extract_type = /obj/item/slime_extract/pyrite - colour = "pyrite" - -/obj/item/slimecross/selfsustaining/red - extract_type = /obj/item/slime_extract/red - colour = "red" - -/obj/item/slimecross/selfsustaining/green - extract_type = /obj/item/slime_extract/green - colour = "green" - -/obj/item/slimecross/selfsustaining/pink - extract_type = /obj/item/slime_extract/pink - colour = "pink" - -/obj/item/slimecross/selfsustaining/gold - extract_type = /obj/item/slime_extract/gold - colour = "gold" - -/obj/item/slimecross/selfsustaining/oil - extract_type = /obj/item/slime_extract/oil - colour = "oil" - -/obj/item/slimecross/selfsustaining/black - extract_type = /obj/item/slime_extract/black - colour = "black" - -/obj/item/slimecross/selfsustaining/lightpink - extract_type = /obj/item/slime_extract/lightpink - colour = "light pink" - -/obj/item/slimecross/selfsustaining/adamantine - extract_type = /obj/item/slime_extract/adamantine - colour = "adamantine" - -/obj/item/slimecross/selfsustaining/rainbow - extract_type = /obj/item/slime_extract/rainbow - colour = "rainbow" diff --git a/code/modules/research/xenobiology/crossbreeding/stabilized.dm b/code/modules/research/xenobiology/crossbreeding/stabilized.dm deleted file mode 100644 index eee23636f78..00000000000 --- a/code/modules/research/xenobiology/crossbreeding/stabilized.dm +++ /dev/null @@ -1,190 +0,0 @@ -/* -Stabilized extracts: - Provides a passive buff to the holder. -*/ - -//To add: Create an effect in crossbreeding/_status_effects.dm with the name "/datum/status_effect/stabilized/[color]" -//Status effect will automatically be applied while held, and lost on drop. - -/obj/item/slimecross/stabilized - name = "stabilized extract" - desc = "It seems inert, but anything it touches glows softly..." - effect = "stabilized" - icon_state = "stabilized" - var/datum/status_effect/linked_effect - var/mob/living/owner - -/obj/item/slimecross/stabilized/Initialize() - . = ..() - START_PROCESSING(SSobj,src) - -/obj/item/slimecross/stabilized/Destroy() - STOP_PROCESSING(SSobj,src) - qdel(linked_effect) - return ..() - -/obj/item/slimecross/stabilized/process() - var/humanfound = null - if(ishuman(loc)) - humanfound = loc - if(ishuman(loc.loc)) //Check if in backpack. - humanfound = (loc.loc) - if(!humanfound) - return - var/mob/living/carbon/human/H = humanfound - var/effectpath = /datum/status_effect/stabilized - var/static/list/effects = subtypesof(/datum/status_effect/stabilized) - for(var/X in effects) - var/datum/status_effect/stabilized/S = X - if(initial(S.colour) == colour) - effectpath = S - break - if(!H.has_status_effect(effectpath)) - var/datum/status_effect/stabilized/S = H.apply_status_effect(effectpath) - owner = H - S.linked_extract = src - STOP_PROCESSING(SSobj,src) - - - -//Colors and subtypes: -/obj/item/slimecross/stabilized/grey - colour = "grey" - effect_desc = "Makes slimes friendly to the owner" - -/obj/item/slimecross/stabilized/orange - colour = "orange" - effect_desc = "Passively tries to increase or decrease the owner's body temperature to normal" - -/obj/item/slimecross/stabilized/purple - colour = "purple" - effect_desc = "Provides a regeneration effect" - -/obj/item/slimecross/stabilized/blue - colour = "blue" - effect_desc = "Makes the owner immune to slipping on water, soap or foam. Space lube and ice are still too slippery." - -/obj/item/slimecross/stabilized/metal - colour = "metal" - effect_desc = "Every 30 seconds, adds a sheet of material to a random stack in the owner's backpack." - -/obj/item/slimecross/stabilized/yellow - colour = "yellow" - effect_desc = "Every ten seconds it recharges a device on the owner by 10%." - -/obj/item/slimecross/stabilized/darkpurple - colour = "dark purple" - effect_desc = "Gives you burning fingertips, automatically cooking any microwavable food you hold." - -/obj/item/slimecross/stabilized/darkblue - colour = "dark blue" - effect_desc = "Slowly extinguishes the owner if they are on fire, also wets items like monkey cubes, creating a monkey." - -/obj/item/slimecross/stabilized/silver - colour = "silver" - effect_desc = "Slows the rate at which the owner loses nutrition" - -/obj/item/slimecross/stabilized/bluespace - colour = "bluespace" - effect_desc = "On a two minute cooldown, when the owner has taken enough damage, they are teleported to a safe place." - -/obj/item/slimecross/stabilized/sepia - colour = "sepia" - effect_desc = "Randomly adjusts the owner's speed." - -/obj/item/slimecross/stabilized/cerulean - colour = "cerulean" - effect_desc = "Creates a duplicate of the owner. If the owner dies they will take control of the duplicate, unless the death was from beheading or gibbing." - -/obj/item/slimecross/stabilized/pyrite - colour = "pyrite" - effect_desc = "Randomly colors the owner every few seconds." - -/obj/item/slimecross/stabilized/red - colour = "red" - effect_desc = "Nullifies all equipment based slowdowns." - -/obj/item/slimecross/stabilized/green - colour = "green" - effect_desc = "Changes the owner's name and appearance while holding this extract." - -/obj/item/slimecross/stabilized/pink - colour = "pink" - effect_desc = "As long as no creatures are harmed in the owner's presense, they will not attack you. If the peace is broken it takes two minutes to restore." - -/obj/item/slimecross/stabilized/gold - colour = "gold" - effect_desc = "Creates a pet when held." - var/mob_type - var/datum/mind/saved_mind - var/mob_name = "Familiar" - -/obj/item/slimecross/stabilized/gold/proc/generate_mobtype() - var/static/list/mob_spawn_pets = list() - if(mob_spawn_pets.len <= 0) - for(var/T in typesof(/mob/living/simple_animal)) - var/mob/living/simple_animal/SA = T - switch(initial(SA.gold_core_spawnable)) - if(FRIENDLY_SPAWN) - mob_spawn_pets += T - mob_type = pick(mob_spawn_pets) - -/obj/item/slimecross/stabilized/gold/Initialize() - . = ..() - generate_mobtype() - -/obj/item/slimecross/stabilized/gold/attack_self(mob/user) - var/choice = input(user, "Which do you want to reset?", "Familiar Adjustment") as null|anything in sortList(list("Familiar Location", "Familiar Species", "Familiar Sentience", "Familiar Name")) - if(!user.canUseTopic(src, BE_CLOSE)) - return - if(isliving(user)) - var/mob/living/L = user - if(L.has_status_effect(/datum/status_effect/stabilized/gold)) - L.remove_status_effect(/datum/status_effect/stabilized/gold) - if(choice == "Familiar Location") - to_chat(user, "You prod [src], and it shudders slightly.") - START_PROCESSING(SSobj, src) - if(choice == "Familiar Species") - to_chat(user, "You squeeze [src], and a shape seems to shift around inside.") - generate_mobtype() - START_PROCESSING(SSobj, src) - if(choice == "Familiar Sentience") - to_chat(user, "You poke [src], and it lets out a glowing pulse.") - saved_mind = null - START_PROCESSING(SSobj, src) - if(choice == "Familiar Name") - var/newname = sanitize_name(stripped_input(user, "Would you like to change the name of [mob_name]", "Name change", mob_name, MAX_NAME_LEN)) - if(newname) - mob_name = newname - to_chat(user, "You speak softly into [src], and it shakes slightly in response.") - START_PROCESSING(SSobj, src) - -/obj/item/slimecross/stabilized/oil - colour = "oil" - effect_desc = "The owner will violently explode when they die while holding this extract." - -/obj/item/slimecross/stabilized/black - colour = "black" - effect_desc = "While strangling someone, the owner's hands melt around their neck, draining their life in exchange for food and healing." - -/obj/item/slimecross/stabilized/lightpink - colour = "light pink" - effect_desc = "The owner moves at high speeds while holding this extract, also stabilizes anyone in critical condition around you using Epinephrine." - -/obj/item/slimecross/stabilized/adamantine - colour = "adamantine" - effect_desc = "Owner gains a slight boost in damage resistance to all types." - -/obj/item/slimecross/stabilized/rainbow - colour = "rainbow" - effect_desc = "Accepts a regenerative extract and automatically uses it if the owner enters a critical condition." - var/obj/item/slimecross/regenerative/regencore - -/obj/item/slimecross/stabilized/rainbow/attackby(obj/item/O, mob/user) - var/obj/item/slimecross/regenerative/regen = O - if(istype(regen) && !regencore) - to_chat(user, "You place [O] in [src], prepping the extract for automatic application!") - regencore = regen - regen.forceMove(src) - return - return ..() diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm deleted file mode 100644 index 81ac7db98b0..00000000000 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ /dev/null @@ -1,473 +0,0 @@ -//Xenobio control console -/mob/camera/aiEye/remote/xenobio - visible_icon = TRUE - icon = 'icons/mob/cameramob.dmi' - icon_state = "generic_camera" - var/allowed_area = null - -/mob/camera/aiEye/remote/xenobio/Initialize() - var/area/A = get_area(loc) - allowed_area = A.name - . = ..() - -/mob/camera/aiEye/remote/xenobio/setLoc(t) - var/area/new_area = get_area(t) - if(new_area && new_area.name == allowed_area || new_area && (new_area.area_flags & XENOBIOLOGY_COMPATIBLE)) - return ..() - else - return - -/obj/machinery/computer/camera_advanced/xenobio - name = "Slime management console" - desc = "A computer used for remotely handling slimes." - networks = list("ss13") - circuit = /obj/item/circuitboard/computer/xenobiology - var/datum/action/innate/slime_place/slime_place_action - var/datum/action/innate/slime_pick_up/slime_up_action - var/datum/action/innate/feed_slime/feed_slime_action - var/datum/action/innate/monkey_recycle/monkey_recycle_action - var/datum/action/innate/slime_scan/scan_action - var/datum/action/innate/feed_potion/potion_action - var/datum/action/innate/hotkey_help/hotkey_help - - var/obj/machinery/monkey_recycler/connected_recycler - var/list/stored_slimes - var/obj/item/slimepotion/slime/current_potion - var/max_slimes = 5 - var/monkeys = 0 - - icon_screen = "slime_comp" - icon_keyboard = "rd_key" - - light_color = LIGHT_COLOR_PINK - -/obj/machinery/computer/camera_advanced/xenobio/Initialize(mapload) - . = ..() - slime_place_action = new - slime_up_action = new - feed_slime_action = new - monkey_recycle_action = new - scan_action = new - potion_action = new - hotkey_help = new - stored_slimes = list() - for(var/obj/machinery/monkey_recycler/recycler in GLOB.monkey_recyclers) - if(get_area(recycler.loc) == get_area(loc)) - connected_recycler = recycler - connected_recycler.connected += src - -/obj/machinery/computer/camera_advanced/xenobio/Destroy() - QDEL_NULL(current_potion) - for(var/thing in stored_slimes) - var/mob/living/simple_animal/slime/S = thing - S.forceMove(drop_location()) - stored_slimes.Cut() - if(connected_recycler) - connected_recycler.connected -= src - connected_recycler = null - return ..() - -/obj/machinery/computer/camera_advanced/xenobio/handle_atom_del(atom/A) - if(A == current_potion) - current_potion = null - if(A in stored_slimes) - stored_slimes -= A - return ..() - -/obj/machinery/computer/camera_advanced/xenobio/CreateEye() - eyeobj = new /mob/camera/aiEye/remote/xenobio(get_turf(src)) - eyeobj.origin = src - eyeobj.visible_icon = TRUE - eyeobj.icon = 'icons/mob/cameramob.dmi' - eyeobj.icon_state = "generic_camera" - -/obj/machinery/computer/camera_advanced/xenobio/GrantActions(mob/living/user) - ..() - - if(slime_up_action) - slime_up_action.target = src - slime_up_action.Grant(user) - actions += slime_up_action - - if(slime_place_action) - slime_place_action.target = src - slime_place_action.Grant(user) - actions += slime_place_action - - if(feed_slime_action) - feed_slime_action.target = src - feed_slime_action.Grant(user) - actions += feed_slime_action - - if(monkey_recycle_action) - monkey_recycle_action.target = src - monkey_recycle_action.Grant(user) - actions += monkey_recycle_action - - if(scan_action) - scan_action.target = src - scan_action.Grant(user) - actions += scan_action - - if(potion_action) - potion_action.target = src - potion_action.Grant(user) - actions += potion_action - - if(hotkey_help) - hotkey_help.target = src - hotkey_help.Grant(user) - actions += hotkey_help - - RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_CTRL, PROC_REF(XenoSlimeClickCtrl)) - RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_ALT, PROC_REF(XenoSlimeClickAlt)) - RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_SHIFT, PROC_REF(XenoSlimeClickShift)) - RegisterSignal(user, COMSIG_XENO_TURF_CLICK_SHIFT, PROC_REF(XenoTurfClickShift)) - RegisterSignal(user, COMSIG_XENO_TURF_CLICK_CTRL, PROC_REF(XenoTurfClickCtrl)) - RegisterSignal(user, COMSIG_XENO_MONKEY_CLICK_CTRL, PROC_REF(XenoMonkeyClickCtrl)) - - //Checks for recycler on every interact, prevents issues with load order on certain maps. - if(!connected_recycler) - for(var/obj/machinery/monkey_recycler/recycler in GLOB.monkey_recyclers) - if(get_area(recycler.loc) == get_area(loc)) - connected_recycler = recycler - connected_recycler.connected += src - -/obj/machinery/computer/camera_advanced/xenobio/remove_eye_control(mob/living/user) - UnregisterSignal(user, COMSIG_XENO_SLIME_CLICK_CTRL) - UnregisterSignal(user, COMSIG_XENO_SLIME_CLICK_ALT) - UnregisterSignal(user, COMSIG_XENO_SLIME_CLICK_SHIFT) - UnregisterSignal(user, COMSIG_XENO_TURF_CLICK_SHIFT) - UnregisterSignal(user, COMSIG_XENO_TURF_CLICK_CTRL) - UnregisterSignal(user, COMSIG_XENO_MONKEY_CLICK_CTRL) - ..() - -/obj/machinery/computer/camera_advanced/xenobio/attackby(obj/item/O, mob/user, params) - if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube)) - monkeys++ - to_chat(user, "You feed [O] to [src]. It now has [monkeys] monkey cubes stored.") - qdel(O) - return - else if(istype(O, /obj/item/storage/bag)) - var/obj/item/storage/P = O - var/loaded = FALSE - for(var/obj/G in P.contents) - if(istype(G, /obj/item/reagent_containers/food/snacks/monkeycube)) - loaded = TRUE - monkeys++ - qdel(G) - if(loaded) - to_chat(user, "You fill [src] with the monkey cubes stored in [O]. [src] now has [monkeys] monkey cubes stored.") - return - else if(istype(O, /obj/item/slimepotion/slime)) - var/replaced = FALSE - if(user && !user.transferItemToLoc(O, src)) - return - if(!QDELETED(current_potion)) - current_potion.forceMove(drop_location()) - replaced = TRUE - current_potion = O - to_chat(user, "You load [O] in the console's potion slot[replaced ? ", replacing the one that was there before" : ""].") - return - ..() - -/obj/machinery/computer/camera_advanced/xenobio/multitool_act(mob/living/user, obj/item/multitool/I) - . = ..() - if (istype(I) && istype(I.buffer,/obj/machinery/monkey_recycler)) - to_chat(user, "You link [src] with [I.buffer] in [I] buffer.") - connected_recycler = I.buffer - connected_recycler.connected += src - return TRUE - -/datum/action/innate/slime_place - name = "Place Slimes" - icon_icon = 'icons/mob/actions/actions_silicon.dmi' - button_icon_state = "slime_down" - -/datum/action/innate/slime_place/Activate() - if(!target || !isliving(owner)) - return - var/mob/living/C = owner - var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = target - - if(GLOB.cameranet.checkTurfVis(remote_eye.loc)) - for(var/mob/living/simple_animal/slime/S in X.stored_slimes) - S.forceMove(remote_eye.loc) - S.visible_message("[S] warps in!") - X.stored_slimes -= S - else - to_chat(owner, "Target is not near a camera. Cannot proceed.") - -/datum/action/innate/slime_pick_up - name = "Pick up Slime" - icon_icon = 'icons/mob/actions/actions_silicon.dmi' - button_icon_state = "slime_up" - -/datum/action/innate/slime_pick_up/Activate() - if(!target || !isliving(owner)) - return - var/mob/living/C = owner - var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = target - - if(GLOB.cameranet.checkTurfVis(remote_eye.loc)) - for(var/mob/living/simple_animal/slime/S in remote_eye.loc) - if(X.stored_slimes.len >= X.max_slimes) - break - if(!S.ckey) - if(S.buckled) - S.Feedstop(silent = TRUE) - S.visible_message("[S] vanishes in a flash of light!") - S.forceMove(X) - X.stored_slimes += S - else - to_chat(owner, "Target is not near a camera. Cannot proceed.") - - -/datum/action/innate/feed_slime - name = "Feed Slimes" - icon_icon = 'icons/mob/actions/actions_silicon.dmi' - button_icon_state = "monkey_down" - -/datum/action/innate/feed_slime/Activate() - if(!target || !isliving(owner)) - return - var/mob/living/C = owner - var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = target - - if(GLOB.cameranet.checkTurfVis(remote_eye.loc)) - if(X.monkeys >= 1) - var/mob/living/carbon/monkey/food = new /mob/living/carbon/monkey(remote_eye.loc, TRUE, owner) - if (!QDELETED(food)) - food.LAssailant = WEAKREF(C) - X.monkeys-- - X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors - to_chat(owner, "[X] now has [X.monkeys] monkeys stored.") - else - to_chat(owner, "[X] needs to have at least 1 monkey stored. Currently has [X.monkeys] monkeys stored.") - else - to_chat(owner, "Target is not near a camera. Cannot proceed.") - - -/datum/action/innate/monkey_recycle - name = "Recycle Monkeys" - icon_icon = 'icons/mob/actions/actions_silicon.dmi' - button_icon_state = "monkey_up" - -/datum/action/innate/monkey_recycle/Activate() - if(!target || !isliving(owner)) - return - var/mob/living/C = owner - var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = target - var/obj/machinery/monkey_recycler/recycler = X.connected_recycler - - if(!recycler) - to_chat(owner, "There is no connected monkey recycler. Use a multitool to link one.") - return - if(GLOB.cameranet.checkTurfVis(remote_eye.loc)) - for(var/mob/living/carbon/monkey/M in remote_eye.loc) - if(M.stat) - M.visible_message("[M] vanishes as [M.p_theyre()] reclaimed for recycling!") - recycler.use_power(500) - X.monkeys += recycler.cube_production - X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors - qdel(M) - to_chat(owner, "[X] now has [X.monkeys] monkeys available.") - else - to_chat(owner, "Target is not near a camera. Cannot proceed.") - -/datum/action/innate/slime_scan - name = "Scan Slime" - icon_icon = 'icons/mob/actions/actions_silicon.dmi' - button_icon_state = "slime_scan" - -/datum/action/innate/slime_scan/Activate() - if(!target || !isliving(owner)) - return - var/mob/living/C = owner - var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control - - if(GLOB.cameranet.checkTurfVis(remote_eye.loc)) - for(var/mob/living/simple_animal/slime/S in remote_eye.loc) - slime_scan(S, C) - else - to_chat(owner, "Target is not near a camera. Cannot proceed.") - -/datum/action/innate/feed_potion - name = "Apply Potion" - icon_icon = 'icons/mob/actions/actions_silicon.dmi' - button_icon_state = "slime_potion" - -/datum/action/innate/feed_potion/Activate() - if(!target || !isliving(owner)) - return - - var/mob/living/C = owner - var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = target - - if(QDELETED(X.current_potion)) - to_chat(owner, "No potion loaded.") - return - - if(GLOB.cameranet.checkTurfVis(remote_eye.loc)) - for(var/mob/living/simple_animal/slime/S in remote_eye.loc) - X.current_potion.attack(S, C) - break - else - to_chat(owner, "Target is not near a camera. Cannot proceed.") - -/datum/action/innate/hotkey_help - name = "Hotkey Help" - icon_icon = 'icons/mob/actions/actions_silicon.dmi' - button_icon_state = "hotkey_help" - -/datum/action/innate/hotkey_help/Activate() - if(!target || !isliving(owner)) - return - to_chat(owner, "Click shortcuts:") - to_chat(owner, "Shift-click a slime to pick it up, or the floor to drop all held slimes.") - to_chat(owner, "Ctrl-click a slime to scan it.") - to_chat(owner, "Alt-click a slime to feed it a potion.") - to_chat(owner, "Ctrl-click or a dead monkey to recycle it, or the floor to place a new monkey.") - -// -// Alternate clicks for slime, monkey and open turf if using a xenobio console - -// Scans slime -/mob/living/simple_animal/slime/CtrlClick(mob/user) - SEND_SIGNAL(user, COMSIG_XENO_SLIME_CLICK_CTRL, src) - ..() - -//Feeds a potion to slime -/mob/living/simple_animal/slime/AltClick(mob/user) - SEND_SIGNAL(user, COMSIG_XENO_SLIME_CLICK_ALT, src) - ..() - -//Picks up slime -/mob/living/simple_animal/slime/ShiftClick(mob/user) - SEND_SIGNAL(user, COMSIG_XENO_SLIME_CLICK_SHIFT, src) - ..() - -//Place slimes -/turf/open/ShiftClick(mob/user) - SEND_SIGNAL(user, COMSIG_XENO_TURF_CLICK_SHIFT, src) - ..() - -//Place monkey -/turf/open/CtrlClick(mob/user) - SEND_SIGNAL(user, COMSIG_XENO_TURF_CLICK_CTRL, src) - ..() - -//Pick up monkey -/mob/living/carbon/monkey/CtrlClick(mob/user) - SEND_SIGNAL(user, COMSIG_XENO_MONKEY_CLICK_CTRL, src) - ..() - -// Scans slime -/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickCtrl(mob/living/user, mob/living/simple_animal/slime/S) - if(!GLOB.cameranet.checkTurfVis(S.loc)) - to_chat(user, "Target is not near a camera. Cannot proceed.") - return - var/mob/living/C = user - var/mob/camera/aiEye/remote/xenobio/E = C.remote_control - var/area/mobarea = get_area(S.loc) - if(mobarea.name == E.allowed_area || (mobarea & XENOBIOLOGY_COMPATIBLE)) - slime_scan(S, C) - -//Feeds a potion to slime -/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickAlt(mob/living/user, mob/living/simple_animal/slime/S) - if(!GLOB.cameranet.checkTurfVis(S.loc)) - to_chat(user, "Target is not near a camera. Cannot proceed.") - return - var/mob/living/C = user - var/mob/camera/aiEye/remote/xenobio/E = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin - var/area/mobarea = get_area(S.loc) - if(QDELETED(X.current_potion)) - to_chat(C, "No potion loaded.") - return - if(mobarea.name == E.allowed_area ||(mobarea & XENOBIOLOGY_COMPATIBLE)) - X.current_potion.attack(S, C) - -//Picks up slime -/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickShift(mob/living/user, mob/living/simple_animal/slime/S) - if(!GLOB.cameranet.checkTurfVis(S.loc)) - to_chat(user, "Target is not near a camera. Cannot proceed.") - return - var/mob/living/C = user - var/mob/camera/aiEye/remote/xenobio/E = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin - var/area/mobarea = get_area(S.loc) - if(mobarea.name == E.allowed_area || (mobarea & XENOBIOLOGY_COMPATIBLE)) - if(X.stored_slimes.len >= X.max_slimes) - to_chat(C, "Slime storage is full.") - return - if(S.ckey) - to_chat(C, "The slime wiggled free!") - return - if(S.buckled) - S.Feedstop(silent = TRUE) - S.visible_message("[S] vanishes in a flash of light!") - S.forceMove(X) - X.stored_slimes += S - -//Place slimes -/obj/machinery/computer/camera_advanced/xenobio/proc/XenoTurfClickShift(mob/living/user, turf/open/T) - if(!GLOB.cameranet.checkTurfVis(T)) - to_chat(user, "Target is not near a camera. Cannot proceed.") - return - var/mob/living/C = user - var/mob/camera/aiEye/remote/xenobio/E = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin - var/area/turfarea = get_area(T) - if(turfarea.name == E.allowed_area || (turfarea & XENOBIOLOGY_COMPATIBLE)) - for(var/mob/living/simple_animal/slime/S in X.stored_slimes) - S.forceMove(T) - S.visible_message("[S] warps in!") - X.stored_slimes -= S - -//Place monkey -/obj/machinery/computer/camera_advanced/xenobio/proc/XenoTurfClickCtrl(mob/living/user, turf/open/T) - if(!GLOB.cameranet.checkTurfVis(T)) - to_chat(user, "Target is not near a camera. Cannot proceed.") - return - var/mob/living/C = user - var/mob/camera/aiEye/remote/xenobio/E = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin - var/area/turfarea = get_area(T) - if(turfarea.name == E.allowed_area || (turfarea & XENOBIOLOGY_COMPATIBLE)) - if(X.monkeys >= 1) - var/mob/living/carbon/monkey/food = new /mob/living/carbon/monkey(T, TRUE, C) - if (!QDELETED(food)) - food.LAssailant = WEAKREF(C) - X.monkeys-- - X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors - to_chat(C, "[X] now has [X.monkeys] monkeys stored.") - else - to_chat(C, "[X] needs to have at least 1 monkey stored. Currently has [X.monkeys] monkeys stored.") - -//Pick up monkey -/obj/machinery/computer/camera_advanced/xenobio/proc/XenoMonkeyClickCtrl(mob/living/user, mob/living/carbon/monkey/M) - if(!isturf(M.loc) || !GLOB.cameranet.checkTurfVis(M.loc)) - to_chat(user, "Target is not near a camera. Cannot proceed.") - return - var/mob/living/C = user - var/mob/camera/aiEye/remote/xenobio/E = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin - var/area/mobarea = get_area(M.loc) - if(!X.connected_recycler) - to_chat(C, "There is no connected monkey recycler. Use a multitool to link one.") - return - if(mobarea.name == E.allowed_area || (mobarea & XENOBIOLOGY_COMPATIBLE)) - if(!M.stat) - return - M.visible_message("[M] vanishes as [p_theyre()] reclaimed for recycling!") - X.connected_recycler.use_power(500) - X.monkeys += connected_recycler.cube_production - X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors - qdel(M) - to_chat(C, "[X] now has [X.monkeys] monkeys available.") diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm deleted file mode 100644 index c907f11c1cf..00000000000 --- a/code/modules/research/xenobiology/xenobiology.dm +++ /dev/null @@ -1,1072 +0,0 @@ -/// Slime Extracts /// - -/obj/item/slime_extract - name = "slime extract" - desc = "Goo extracted from a slime. Legends claim these to have \"magical powers\"." - icon = 'icons/mob/slimes.dmi' - icon_state = "grey slime extract" - force = 0 - w_class = WEIGHT_CLASS_TINY - throwforce = 0 - throw_speed = 3 - throw_range = 6 - grind_results = list() - var/Uses = 1 ///uses before it goes inert - var/qdel_timer = null ///deletion timer, for delayed reactions - var/effectmod ///Which type of crossbred - var/crossbreed_modifier = 1 //Modifies how many extracts are needed to cross a core. - var/list/activate_reagents = list() ///Reagents required for activation - var/recurring = FALSE - var/research ///Research point value for slime cores. These are defines stored in [/__DEFINES/research] - the actual values are updated there. - -/obj/item/slime_extract/examine(mob/user) - . = ..() - if(Uses > 1) - . += "It has [Uses] uses remaining." - -/obj/item/slime_extract/attackby(obj/item/O, mob/user) - if(istype(O, /obj/item/slimepotion/enhancer)) - if(Uses >= 5 || recurring) - to_chat(user, "You cannot enhance this extract further!") - return ..() - if(O.type == /obj/item/slimepotion/enhancer) //Seriously, why is this defined here...? - to_chat(user, "You apply the enhancer to the slime extract. It may now be reused one more time.") - Uses++ - if(O.type == /obj/item/slimepotion/enhancer/max) - to_chat(user, "You dump the maximizer on the slime extract. It can now be used a total of 5 times!") - Uses = 5 - qdel(O) - ..() - -/obj/item/slime_extract/Initialize() - . = ..() - create_reagents(100, INJECTABLE | DRAWABLE) - -/obj/item/slime_extract/on_grind() - if(Uses) - grind_results[/datum/reagent/toxin/slimejelly] = 20 - -/** -* Effect when activated by a Luminescent. -* -* This proc is called whenever a Luminescent consumes a slime extract. Each one is separated into major and minor effects depending on the extract. Cooldown is measured in deciseconds. -* -* * arg1 - The mob absorbing the slime extract. -* * arg2 - The valid species for the absorbtion. Should always be a Luminescent unless something very major has changed. -* * arg3 - Whether or not the activation is major or minor. Major activations have large, complex effects, minor are simple. -*/ -/obj/item/slime_extract/proc/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - to_chat(user, "Nothing happened... This slime extract cannot be activated this way.") - return 0 - -/** -* Core-crossing: Feeding adult slimes extracts to obtain a much more powerful, single extract. -* -* By using a valid core on a living adult slime, then feeding it nine more of the same type, you can mutate it into more useful items. Not every slime type has an implemented core cross. -*/ -/obj/item/slime_extract/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M)) - return ..() - if(M.stat) - to_chat(user, "The slime is dead!") - return - if(!M.is_adult) - to_chat(user, "The slime must be an adult to cross its core!") - return - if(M.effectmod && M.effectmod != effectmod) - to_chat(user, "The slime is already being crossed with a different extract!") - return - - if(!M.effectmod) - M.effectmod = effectmod - M.crossbreed_modifier = crossbreed_modifier - - M.applied++ - qdel(src) - to_chat(user, "You feed the slime [src], [M.applied == 1 ? "starting to mutate its core." : "further mutating its core."]") - playsound(M, 'sound/effects/attackblob.ogg', 50, TRUE) - - if(M.applied >= (SLIME_EXTRACT_CROSSING_REQUIRED * crossbreed_modifier)) - M.spawn_corecross() - -/obj/item/slime_extract/grey - name = "grey slime extract" - icon_state = "grey slime extract" - effectmod = "reproductive" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_0 - custom_price = 1000 - -/obj/item/slime_extract/grey/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - var/obj/item/reagent_containers/food/snacks/monkeycube/M = new - if(!user.put_in_active_hand(M)) - M.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - to_chat(user, "You spit out a monkey cube.") - return 120 - if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "Your [name] starts pulsing...") - if(do_after(user, 40, target = user)) - var/mob/living/simple_animal/slime/S = new(get_turf(user), "grey") - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - to_chat(user, "You spit out [S].") - return 350 - else - return 0 - -/obj/item/slime_extract/gold - name = "gold slime extract" - icon_state = "gold slime extract" - effectmod = "symbiont" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_4 - -/obj/item/slime_extract/gold/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - user.visible_message("[user] starts shaking!","Your [name] starts pulsing gently...") - if(do_after(user, 40, target = user)) - var/mob/living/simple_animal/S = create_random_mob(user.drop_location(), FRIENDLY_SPAWN) - S.faction |= "neutral" - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [S]!", "You spit out [S]!") - return 300 - - if(SLIME_ACTIVATE_MAJOR) - user.visible_message("[user] starts shaking violently!","Your [name] starts pulsing violently...") - if(do_after(user, 50, target = user)) - var/mob/living/simple_animal/S = create_random_mob(user.drop_location(), HOSTILE_SPAWN) - if(user.a_intent != INTENT_HARM) - S.faction |= "neutral" - else - S.faction |= "slime" - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [S]!", "You spit out [S]!") - return 600 - -/obj/item/slime_extract/silver - name = "silver slime extract" - icon_state = "silver slime extract" - effectmod = "consuming" - activate_reagents = list(/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_2 - -/obj/item/slime_extract/silver/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - var/food_type = get_random_food() - var/obj/O = new food_type - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 200 - if(SLIME_ACTIVATE_MAJOR) - var/drink_type = get_random_drink() - var/obj/O = new drink_type - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 200 - -/obj/item/slime_extract/metal - name = "metal slime extract" - icon_state = "metal slime extract" - effectmod = "industrial" - activate_reagents = list(/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_1 - -/obj/item/slime_extract/metal/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - var/obj/item/stack/sheet/glass/O = new(null, 5) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 150 - - if(SLIME_ACTIVATE_MAJOR) - var/obj/item/stack/sheet/metal/O = new(null, 5) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 200 - -/obj/item/slime_extract/purple - name = "purple slime extract" - icon_state = "purple slime extract" - effectmod = "regenerative" - crossbreed_modifier = 0.3 - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_1 - -/obj/item/slime_extract/purple/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - user.adjust_nutrition(50) - user.blood_volume += 50 - to_chat(user, "You activate [src], and your body is refilled with fresh slime jelly!") - return 150 - - if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "You activate [src], and it releases regenerative chemicals!") - user.reagents.add_reagent(/datum/reagent/medicine/regen_jelly,10) - return 600 - -/obj/item/slime_extract/darkpurple - name = "dark purple slime extract" - icon_state = "dark purple slime extract" - effectmod = "self-sustaining" - activate_reagents = list(/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_2 - -/obj/item/slime_extract/darkpurple/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - var/obj/item/stack/sheet/mineral/plasma/O = new(null, 1) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 150 - - if(SLIME_ACTIVATE_MAJOR) - var/turf/open/T = get_turf(user) - if(istype(T)) - T.atmos_spawn_air("plasma=20") - to_chat(user, "You activate [src], and a cloud of plasma bursts out of your skin!") - return 900 - -/obj/item/slime_extract/orange - name = "orange slime extract" - icon_state = "orange slime extract" - effectmod = "burning" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_1 - -/obj/item/slime_extract/orange/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You activate [src]. You start feeling hot!") - user.reagents.add_reagent(/datum/reagent/consumable/capsaicin,10) - return 150 - - if(SLIME_ACTIVATE_MAJOR) - user.reagents.add_reagent(/datum/reagent/phosphorus,5)// - user.reagents.add_reagent(/datum/reagent/potassium,5) // = smoke, along with any reagents inside mr. slime - user.reagents.add_reagent(/datum/reagent/consumable/sugar,5) // - to_chat(user, "You activate [src], and a cloud of smoke bursts out of your skin!") - return 450 - -/obj/item/slime_extract/yellow - name = "yellow slime extract" - icon_state = "yellow slime extract" - effectmod = "charged" - crossbreed_modifier = 0.8 - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_2 - -/obj/item/slime_extract/yellow/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - if(species.glow_intensity != LUMINESCENT_DEFAULT_GLOW) - to_chat(user, "Your glow is already enhanced!") - return - species.update_glow(user, 5) - addtimer(CALLBACK(species, TYPE_PROC_REF(/datum/species/jelly/luminescent, update_glow), user, LUMINESCENT_DEFAULT_GLOW), 600) - to_chat(user, "You start glowing brighter.") - - if(SLIME_ACTIVATE_MAJOR) - user.visible_message("[user]'s skin starts flashing intermittently...", "Your skin starts flashing intermittently...") - if(do_after(user, 25, target = user)) - empulse(user, 1, 2) - user.visible_message("[user]'s skin flashes!", "Your skin flashes as you emit an electromagnetic pulse!") - return 600 - -/obj/item/slime_extract/red - name = "red slime extract" - icon_state = "red slime extract" - effectmod = "sanguine" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_4 - -/obj/item/slime_extract/red/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You activate [src]. You start feeling fast!") - user.reagents.add_reagent(/datum/reagent/medicine/ephedrine,5) - return 450 - - if(SLIME_ACTIVATE_MAJOR) - user.visible_message("[user]'s skin flashes red for a moment...", "Your skin flashes red as you emit rage-inducing pheromones...") - for(var/mob/living/simple_animal/slime/slime in viewers(get_turf(user), null)) - slime.rabid = TRUE - slime.visible_message("The [slime] is driven into a frenzy!") - return 600 - -/obj/item/slime_extract/blue - name = "blue slime extract" - icon_state = "blue slime extract" - effectmod = "stabilized" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_1 - -/obj/item/slime_extract/blue/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You activate [src]. Your genome feels more stable!") - user.adjustCloneLoss(-15) - user.reagents.add_reagent(/datum/reagent/medicine/mutadone, 10) - user.reagents.add_reagent(/datum/reagent/medicine/potass_iodide, 10) - return 250 - - if(SLIME_ACTIVATE_MAJOR) - user.reagents.create_foam(/datum/effect_system/foam_spread,20) - user.visible_message("Foam spews out from [user]'s skin!", "You activate [src], and foam bursts out of your skin!") - return 600 - -/obj/item/slime_extract/darkblue - name = "dark blue slime extract" - icon_state = "dark blue slime extract" - effectmod = "chilling" - activate_reagents = list(/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_2 - -/obj/item/slime_extract/darkblue/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You activate [src]. You start feeling colder!") - user.ExtinguishMob() - user.adjust_fire_stacks(-20) - user.reagents.add_reagent(/datum/reagent/consumable/frostoil,4) - user.reagents.add_reagent(/datum/reagent/medicine/cryoxadone,5) - return 100 - - if(SLIME_ACTIVATE_MAJOR) - var/turf/open/T = get_turf(user) - if(istype(T)) - T.atmos_spawn_air("nitrogen=40;TEMP=2.7") - to_chat(user, "You activate [src], and icy air bursts out of your skin!") - return 900 - -/obj/item/slime_extract/pink - name = "pink slime extract" - icon_state = "pink slime extract" - effectmod = "gentle" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_4 - -/obj/item/slime_extract/pink/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - if(user.gender != MALE && user.gender != FEMALE) - to_chat(user, "You can't swap your gender!") - return - - if(user.gender == MALE) - user.gender = FEMALE - user.visible_message("[user] suddenly looks more feminine!", "You suddenly feel more feminine!") - else - user.gender = MALE - user.visible_message("[user] suddenly looks more masculine!", "You suddenly feel more masculine!") - return 100 - - if(SLIME_ACTIVATE_MAJOR) - user.visible_message("[user]'s skin starts flashing hypnotically...", "Your skin starts forming odd patterns, pacifying creatures around you.") - for(var/mob/living/carbon/C in viewers(user, null)) - if(C != user) - C.reagents.add_reagent(/datum/reagent/pax,2) - return 600 - -/obj/item/slime_extract/green - name = "green slime extract" - icon_state = "green slime extract" - effectmod = "mutative" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/uranium/radium) - research = SLIME_RESEARCH_TIER_4 - -/obj/item/slime_extract/green/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You feel yourself reverting to human form...") - if(do_after(user, 120, target = user)) - to_chat(user, "You feel human again!") - user.set_species(/datum/species/human) - return - to_chat(user, "You stop the transformation.") - - if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "You feel yourself radically changing your slime type...") - if(do_after(user, 120, target = user)) - to_chat(user, "You feel different!") - user.set_species(pick(/datum/species/jelly/slime, /datum/species/jelly/stargazer)) - return - to_chat(user, "You stop the transformation.") - -/obj/item/slime_extract/lightpink - name = "light pink slime extract" - icon_state = "light pink slime extract" - effectmod = "loyal" - activate_reagents = list(/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_5 - -/obj/item/slime_extract/lightpink/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - var/obj/item/slimepotion/slime/renaming/O = new(null, 1) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 150 - - if(SLIME_ACTIVATE_MAJOR) - var/obj/item/slimepotion/slime/sentience/O = new(null, 1) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 450 - -/obj/item/slime_extract/black - name = "black slime extract" - icon_state = "black slime extract" - effectmod = "transformative" - activate_reagents = list(/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_5 - -/obj/item/slime_extract/black/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You feel something wrong inside you...") - user.ForceContractDisease(new /datum/disease/transformation/slime(), FALSE, TRUE) - return 100 - - if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "You feel your own light turning dark...") - if(do_after(user, 120, target = user)) - to_chat(user, "You feel a longing for darkness.") - user.set_species(pick(/datum/species/shadow)) - return - to_chat(user, "You stop feeding [src].") - -/obj/item/slime_extract/oil - name = "oil slime extract" - icon_state = "oil slime extract" - effectmod = "detonating" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_5 - -/obj/item/slime_extract/oil/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You vomit slippery oil.") - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - new /obj/effect/decal/cleanable/oil/slippery(get_turf(user)) - return 450 - - if(SLIME_ACTIVATE_MAJOR) - user.visible_message("[user]'s skin starts pulsing and glowing ominously...", "You feel unstable...") - if(do_after(user, 60, target = user)) - to_chat(user, "You explode!") - explosion(get_turf(user), 1 ,3, 6) - user.gib() - return - to_chat(user, "You stop feeding [src], and the feeling passes.") - -/obj/item/slime_extract/adamantine - name = "adamantine slime extract" - icon_state = "adamantine slime extract" - effectmod = "crystalline" - activate_reagents = list(/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_5 - -/obj/item/slime_extract/adamantine/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - if(species.armor > 0) - to_chat(user, "Your skin is already hardened!") - return - to_chat(user, "You feel your skin harden and become more resistant.") - species.armor += 25 - addtimer(CALLBACK(src, PROC_REF(reset_armor), species), 1200) - return 450 - -/obj/item/slime_extract/adamantine/proc/reset_armor(datum/species/jelly/luminescent/species) - if(istype(species)) - species.armor -= 25 - -/obj/item/slime_extract/bluespace - name = "bluespace slime extract" - icon_state = "bluespace slime extract" - effectmod = "warping" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma) - var/teleport_ready = FALSE - var/teleport_x = 0 - var/teleport_y = 0 - var/teleport_z = 0 - research = SLIME_RESEARCH_TIER_3 - -/obj/item/slime_extract/bluespace/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You feel your body vibrating...") - if(do_after(user, 25, target = user)) - to_chat(user, "You teleport!") - do_teleport(user, get_turf(user), 6, asoundin = 'sound/weapons/emitter2.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) - return 300 - - if(SLIME_ACTIVATE_MAJOR) - if(!teleport_ready) - to_chat(user, "You feel yourself anchoring to this spot...") - var/turf/T = get_turf(user) - teleport_x = T.x - teleport_y = T.y - teleport_z = T.z - teleport_ready = TRUE - else - teleport_ready = FALSE - if(teleport_x && teleport_y && teleport_z) - var/turf/T = locate(teleport_x, teleport_y, teleport_z) - to_chat(user, "You snap back to your anchor point!") - do_teleport(user, T, asoundin = 'sound/weapons/emitter2.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) - return 450 - - -/obj/item/slime_extract/pyrite - name = "pyrite slime extract" - icon_state = "pyrite slime extract" - effectmod = "prismatic" - crossbreed_modifier = 0.5 - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_3 - -/obj/item/slime_extract/pyrite/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - var/chosen = pick(difflist(subtypesof(/obj/item/toy/crayon),typesof(/obj/item/toy/crayon/spraycan))) - var/obj/item/O = new chosen(null) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 150 - - if(SLIME_ACTIVATE_MAJOR) - var/blacklisted_cans = list(/obj/item/toy/crayon/spraycan/borg, /obj/item/toy/crayon/spraycan/infinite) - var/chosen = pick(subtypesof(/obj/item/toy/crayon/spraycan) - blacklisted_cans) - var/obj/item/O = new chosen(null) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 250 - -/obj/item/slime_extract/cerulean - name = "cerulean slime extract" - icon_state = "cerulean slime extract" - effectmod = "recurring" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_3 - -/obj/item/slime_extract/cerulean/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - user.reagents.add_reagent(/datum/reagent/medicine/salbutamol,15) - to_chat(user, "You feel like you don't need to breathe!") - return 150 - - if(SLIME_ACTIVATE_MAJOR) - var/turf/open/T = get_turf(user) - if(istype(T)) - T.atmos_spawn_air("o2=11;n2=41;TEMP=293.15") - to_chat(user, "You activate [src], and fresh air bursts out of your skin!") - return 600 - -/obj/item/slime_extract/sepia - name = "sepia slime extract" - icon_state = "sepia slime extract" - effectmod = "lengthened" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_3 - -/obj/item/slime_extract/sepia/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - var/obj/item/camera/O = new(null, 1) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 150 - - if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "You feel time slow down...") - if(do_after(user, 30, target = user)) - new /obj/effect/timestop(get_turf(user), 2, 50, list(user)) - return 900 - -/obj/item/slime_extract/rainbow - name = "rainbow slime extract" - icon_state = "rainbow slime extract" - effectmod = "hyperchromatic" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,"lesser plasma",/datum/reagent/toxin/slimejelly,"holy water and uranium") //Curse this snowflake reagent list. - research = SLIME_RESEARCH_TIER_RAINBOW - -/obj/item/slime_extract/rainbow/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - user.dna.features["mcolor"] = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F") - user.updateappearance(mutcolor_update=1) - species.update_glow(user) - to_chat(user, "You feel different...") - return 100 - - if(SLIME_ACTIVATE_MAJOR) - var/chosen = pick(subtypesof(/obj/item/slime_extract)) - var/obj/item/O = new chosen(null) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 150 - -////Slime-derived potions/// - -/** -* #Slime potions -* -* Feed slimes potions either by hand or using the slime console. -* -* Slime potions either augment the slime's behavior, its extract output, or its intelligence. These all come either from extract effects or cross cores. -* A few of the more powerful ones can modify someone's equipment or gender. -* New ones should probably be accessible only through cross cores as all the normal core types already have uses. Rule of thumb is 'stronger effects go in cross cores'. -*/ - -/obj/item/slimepotion - name = "slime potion" - desc = "A hard yet gelatinous capsule excreted by a slime, containing mysterious substances." - w_class = WEIGHT_CLASS_BULKY - -/obj/item/slimepotion/afterattack(obj/item/reagent_containers/target, mob/user , proximity) - . = ..() - if(!proximity) - return - if (istype(target)) - to_chat(user, "You cannot transfer [src] to [target]! It appears the potion must be given directly to a slime to absorb." ) - return - -/obj/item/slimepotion/slime/docility - name = "docility potion" - desc = "A potent chemical mix that nullifies a slime's hunger, causing it to become docile and tame." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potsilver" - -/obj/item/slimepotion/slime/docility/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M)) - to_chat(user, "The potion only works on slimes!") - return ..() - if(M.stat) - to_chat(user, "The slime is dead!") - return - if(M.rabid) //Stops being rabid, but doesn't become truly docile. - to_chat(M, "You absorb the potion, and your rabid hunger finally settles to a normal desire to feed.") - to_chat(user, "You feed the slime the potion, calming its rabid rage.") - M.rabid = FALSE - qdel(src) - return - M.docile = 1 - M.set_nutrition(700) - to_chat(M, "You absorb the potion and feel your intense desire to feed melt away.") - to_chat(user, "You feed the slime the potion, removing its hunger and calming it.") - var/newname = sanitize_name(stripped_input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime", MAX_NAME_LEN)) - - if (!newname) - newname = "pet slime" - M.name = newname - M.real_name = newname - qdel(src) - -/obj/item/slimepotion/slime/sentience - name = "intelligence potion" - desc = "A miraculous chemical mix that grants human like intelligence to living beings." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potpink" - var/list/not_interested = list() - var/being_used = FALSE - var/sentience_type = SENTIENCE_ORGANIC - -/obj/item/slimepotion/slime/sentience/attack(mob/living/M, mob/user) - if(being_used || !ismob(M)) - return - if(!isanimal(M) || M.ckey) //only works on animals that aren't player controlled - to_chat(user, "[M] is already too intelligent for this to work!") - return - if(M.stat) - to_chat(user, "[M] is dead!") - return - var/mob/living/simple_animal/SM = M - if(SM.sentience_type != sentience_type) - to_chat(user, "[src] won't work on [SM].") - return - - to_chat(user, "You offer [src] to [SM]...") - being_used = TRUE - - var/list/candidates = pollCandidatesForMob("Do you want to play as [SM.name]?", ROLE_SENTIENCE, null, ROLE_SENTIENCE, 50, SM, POLL_IGNORE_SENTIENCE_POTION) // see poll_ignore.dm - if(LAZYLEN(candidates)) - var/mob/dead/observer/C = pick(candidates) - SM.key = C.key - SM.mind.enslave_mind_to_creator(user) - SM.sentience_act() - to_chat(SM, "All at once it makes sense: you know what you are and who you are! Self awareness is yours!") - to_chat(SM, "You are grateful to be self aware and owe [user.real_name] a great debt. Serve [user.real_name], and assist [user.p_them()] in completing [user.p_their()] goals at any cost.") - if(SM.flags_1 & HOLOGRAM_1) //Check to see if it's a holodeck creature - to_chat(SM, "You also become depressingly aware that you are not a real creature, but instead a holoform. Your existence is limited to the parameters of the holodeck.") - to_chat(user, "[SM] accepts [src] and suddenly becomes attentive and aware. It worked!") - SM.copy_languages(user) - after_success(user, SM) - qdel(src) - else - to_chat(user, "[SM] looks interested for a moment, but then looks back down. Maybe you should try again later.") - being_used = FALSE - ..() - -/obj/item/slimepotion/slime/sentience/proc/after_success(mob/living/user, mob/living/simple_animal/SM) - return - -/obj/item/slimepotion/slime/sentience/nuclear - name = "syndicate intelligence potion" - desc = "A miraculous chemical mix that grants human like intelligence to living beings. It has been modified with Syndicate technology to also grant an internal radio implant to the target and authenticate with identification systems." - -/obj/item/slimepotion/slime/sentience/nuclear/after_success(mob/living/user, mob/living/simple_animal/SM) - var/obj/item/implant/radio/syndicate/imp = new(src) - imp.implant(SM, user) - - SM.access_card = new /obj/item/card/id/syndicate(SM) - ADD_TRAIT(SM.access_card, TRAIT_NODROP, ABSTRACT_ITEM_TRAIT) - -/obj/item/slimepotion/transference - name = "consciousness transference potion" - desc = "A strange slime-based chemical that, when used, allows the user to transfer their consciousness to a lesser being." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potorange" - var/prompted = 0 - var/animal_type = SENTIENCE_ORGANIC - -/obj/item/slimepotion/transference/afterattack(mob/living/M, mob/user, proximity) - if(!proximity) - return - if(prompted || !ismob(M)) - return - if(!isanimal(M) || M.ckey) //much like sentience, these will not work on something that is already player controlled - to_chat(user, "[M] already has a higher consciousness!") - return ..() - if(M.stat) - to_chat(user, "[M] is dead!") - return ..() - var/mob/living/simple_animal/SM = M - if(SM.sentience_type != animal_type) - to_chat(user, "You cannot transfer your consciousness to [SM]." ) - return ..() - var/jb = is_banned_from(user.ckey, ROLE_MIND_TRANSFER) - if(QDELETED(src) || QDELETED(M) || QDELETED(user)) - return - - if(jb) - to_chat(user, "Your mind goes blank as you attempt to use the potion.") - return - - prompted = 1 - if(alert("This will permanently transfer your consciousness to [SM]. Are you sure you want to do this?",,"Yes","No")=="No") - prompted = 0 - return - - to_chat(user, "You drink the potion then place your hands on [SM]...") - - - user.mind.transfer_to(SM) - SM.faction = user.faction.Copy() - SM.sentience_act() //Same deal here as with sentience - user.death() - to_chat(SM, "In a quick flash, you feel your consciousness flow into [SM]!") - to_chat(SM, "You are now [SM]. Your allegiances, alliances, and role is still the same as it was prior to consciousness transfer!") - SM.name = "[user.real_name]" - qdel(src) - -/obj/item/slimepotion/slime/steroid - name = "slime steroid" - desc = "A potent chemical mix that will cause a baby slime to generate more extract." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potred" - -/obj/item/slimepotion/slime/steroid/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M))//If target is not a slime. - to_chat(user, "The steroid only works on baby slimes!") - return ..() - if(M.is_adult) //Can't steroidify adults - to_chat(user, "Only baby slimes can use the steroid!") - return - if(M.stat) - to_chat(user, "The slime is dead!") - return - if(M.cores >= 5) - to_chat(user, "The slime already has the maximum amount of extract!") - return - - to_chat(user, "You feed the slime the steroid. It will now produce one more extract.") - M.cores++ - qdel(src) - -/obj/item/slimepotion/enhancer - name = "extract enhancer" - desc = "A potent chemical mix that will give a slime extract an additional use." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potpurple" - -/obj/item/slimepotion/slime/stabilizer - name = "slime stabilizer" - desc = "A potent chemical mix that will reduce the chance of a slime mutating." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potcyan" - -/obj/item/slimepotion/slime/stabilizer/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M)) - to_chat(user, "The stabilizer only works on slimes!") - return ..() - if(M.stat) - to_chat(user, "The slime is dead!") - return - if(M.mutation_chance == 0) - to_chat(user, "The slime already has no chance of mutating!") - return - - to_chat(user, "You feed the slime the stabilizer. It is now less likely to mutate.") - M.mutation_chance = clamp(M.mutation_chance-15,0,100) - qdel(src) - -/obj/item/slimepotion/slime/mutator - name = "slime mutator" - desc = "A potent chemical mix that will increase the chance of a slime mutating." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potgreen" - -/obj/item/slimepotion/slime/mutator/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M)) - to_chat(user, "The mutator only works on slimes!") - return ..() - if(M.stat) - to_chat(user, "The slime is dead!") - return - if(M.mutator_used) - to_chat(user, "This slime has already consumed a mutator, any more would be far too unstable!") - return - if(M.mutation_chance == 100) - to_chat(user, "The slime is already guaranteed to mutate!") - return - - to_chat(user, "You feed the slime the mutator. It is now more likely to mutate.") - M.mutation_chance = clamp(M.mutation_chance+12,0,100) - M.mutator_used = TRUE - qdel(src) - -/obj/item/slimepotion/speed - name = "slime speed potion" - desc = "A potent chemical mix that will reduce the slowdown from any item." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potyellow" - -/obj/item/slimepotion/speed/afterattack(obj/C, mob/user, proximity) - . = ..() - if(!proximity) - return - if(!istype(C)) - to_chat(user, "The potion can only be used on items or vehicles!") - return - if(isitem(C)) - var/obj/item/I = C - if(I.slowdown <= 0.25 || I.obj_flags & IMMUTABLE_SLOW) - to_chat(user, "The [C] can't be made any faster!") - return ..() - I.slowdown = 0.25 - - if(istype(C, /obj/vehicle)) - var/obj/vehicle/V = C - var/datum/component/riding/R = V.GetComponent(/datum/component/riding) - if(R) - var/vehicle_speed_mod = round(CONFIG_GET(number/movedelay/run_delay) * 0.85, 0.01) - if(R.vehicle_move_delay <= vehicle_speed_mod) - to_chat(user, "The [C] can't be made any faster!") - return ..() - R.vehicle_move_delay = vehicle_speed_mod - - to_chat(user, "You slather the red gunk over the [C], making it faster.") - C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) - C.add_atom_colour("#FF0000", FIXED_COLOUR_PRIORITY) - qdel(src) - -/obj/item/slimepotion/fireproof - name = "slime chill potion" - desc = "A potent chemical mix that will fireproof any article of clothing. Has three uses." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potblue" - resistance_flags = FIRE_PROOF - var/uses = 3 - -/obj/item/slimepotion/fireproof/afterattack(obj/item/clothing/C, mob/user, proximity) - . = ..() - if(!proximity) - return - if(!uses) - qdel(src) - return - if(!istype(C)) - to_chat(user, "The potion can only be used on clothing!") - return - if(C.max_heat_protection_temperature >= FIRE_IMMUNITY_MAX_TEMP_PROTECT) - to_chat(user, "The [C] is already fireproof!") - return - to_chat(user, "You slather the blue gunk over the [C], fireproofing it.") - C.name = "fireproofed [C.name]" - C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) - C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY) - C.max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - C.heat_protection = C.body_parts_covered - C.resistance_flags |= FIRE_PROOF - uses -- - if(!uses) - qdel(src) - -/obj/item/slimepotion/genderchange - name = "gender change potion" - desc = "An interesting chemical mix that changes the biological gender of what its applied to. Cannot be used on things that lack gender entirely." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potlightpink" - -/obj/item/slimepotion/genderchange/attack(mob/living/L, mob/user) - if(!istype(L) || L.stat == DEAD) - to_chat(user, "The potion can only be used on living things!") - return - - if(L.gender != MALE && L.gender != FEMALE) - to_chat(user, "The potion can only be used on gendered things!") - return - - if(L.gender == MALE) - L.gender = FEMALE - L.visible_message("[L] suddenly looks more feminine!", "You suddenly feel more feminine!") - else - L.gender = MALE - L.visible_message("[L] suddenly looks more masculine!", "You suddenly feel more masculine!") - L.regenerate_icons() - qdel(src) - -/obj/item/slimepotion/slime/renaming - name = "renaming potion" - desc = "A potion that allows a self-aware being to change what name it subconciously presents to the world." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potgreen" - - var/being_used = FALSE - -/obj/item/slimepotion/slime/renaming/attack(mob/living/M, mob/user) - if(being_used || !ismob(M)) - return - if(!M.ckey) //only works on animals that aren't player controlled - to_chat(user, "[M] is not self aware, and cannot pick its own name.") - return - - being_used = TRUE - - to_chat(user, "You offer [src] to [user]...") - - var/new_name = stripped_input(M, "What would you like your name to be?", "Input a name", M.real_name, MAX_NAME_LEN) - - if(!new_name || QDELETED(src) || QDELETED(M) || new_name == M.real_name || !M.Adjacent(user)) - being_used = FALSE - return - - M.visible_message("[M] has a new name, [new_name].", "Your old name of [M.real_name] fades away, and your new name [new_name] anchors itself in your mind.") - message_admins("[ADMIN_LOOKUPFLW(user)] used [src] on [ADMIN_LOOKUPFLW(M)], letting them rename themselves into [new_name].") - - // pass null as first arg to not update records or ID/PDA - M.fully_replace_character_name(null, new_name) - - qdel(src) - -/obj/item/slimepotion/slime/slimeradio - name = "bluespace radio potion" - desc = "A strange chemical that grants those who ingest it the ability to broadcast and receive subscape radio waves." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potgrey" - -/obj/item/slimepotion/slime/slimeradio/attack(mob/living/M, mob/user) - if(!ismob(M)) - return - if(!isanimal(M)) - to_chat(user, "[M] is too complex for the potion!") - return - if(M.stat) - to_chat(user, "[M] is dead!") - return - - to_chat(user, "You feed the potion to [M].") - to_chat(M, "Your mind tingles as you are fed the potion. You can hear radio waves now!") - var/obj/item/implant/radio/slime/imp = new(src) - imp.implant(M, user) - qdel(src) - -///Definitions for slime products that don't have anywhere else to go (Floor tiles, blueprints). - -/obj/item/stack/tile/bluespace - name = "bluespace floor tile" - singular_name = "floor tile" - desc = "Through a series of micro-teleports these tiles let people move at incredible speeds." - icon_state = "tile-bluespace" - item_state = "tile-bluespace" - w_class = WEIGHT_CLASS_NORMAL - force = 6 - custom_materials = list(/datum/material/iron=500) - throwforce = 10 - throw_speed = 3 - throw_range = 7 - flags_1 = CONDUCT_1 - max_amount = 60 - turf_type = /turf/open/floor/bluespace - - -/obj/item/stack/tile/sepia - name = "sepia floor tile" - singular_name = "floor tile" - desc = "Time seems to flow very slowly around these tiles." - icon_state = "tile-sepia" - item_state = "tile-sepia" - w_class = WEIGHT_CLASS_NORMAL - force = 6 - custom_materials = list(/datum/material/iron=500) - throwforce = 10 - throw_speed = 0.1 - throw_range = 28 - flags_1 = CONDUCT_1 - max_amount = 60 - turf_type = /turf/open/floor/sepia - - -/obj/item/areaeditor/blueprints/slime - name = "cerulean prints" - desc = "A one use yet of blueprints made of jelly like organic material. Extends the reach of the management console." - color = "#2956B2" - -/obj/item/areaeditor/blueprints/slime/edit_area() - ..() - var/area/A = get_area(src) - for(var/turf/T in A) - T.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) - T.add_atom_colour("#2956B2", FIXED_COLOUR_PRIORITY) - A.area_flags |= XENOBIOLOGY_COMPATIBLE - qdel(src) diff --git a/code/modules/ruins/icemoonruin_code/tesla_lab.dm b/code/modules/ruins/icemoonruin_code/tesla_lab.dm new file mode 100644 index 00000000000..00f60441862 --- /dev/null +++ b/code/modules/ruins/icemoonruin_code/tesla_lab.dm @@ -0,0 +1,114 @@ +/obj/item/tape/random/preset/tesla_lab/one/Initialize() + . = ..() + storedinfo = list( + "\[00:00\] Recording started.", + "\[00:02\] [span_name("scared human woman")] whispers \"My n-name is Alyssa Salata- Ident 4070591. CLIP Minutemen-\"", + "\[00:08\] [span_name("scared human woman")] whispers \"T-The base I was assigned to has come under attack from the Frontiersmen.\"", + "\[00:12\] [span_name("scared human woman")] whispers \"From- what I heard on the radio before it turned to screaming-.\"", + "\[00:15\] [span_name("scared human woman")] whispers \"They landed by pretending to be one of our supply shuttles - and when the bays were open...\"", + "\[00:20\] [span_name("scared human woman")] whispers \"It was just a hail of gunfire and flames-\"", + "\[00:24\] [span_name("scared human woman")] whispers \"I ran- I'm- sorry but I couldn't fight |that|-\"", + "\[00:28\] [span_name("scared human woman")] whispers \"I'm in the - panic hole in the armory now.\"", + "\[00:33\] [span_name("scared human woman")] whispers \"I have a CM-23 and some pills that the doc had. But. There's not enough food back here.\"", + "\[00:37\] [span_name("scared human woman")] whispers \"...I don't want to die but I think this is it for me...\"", + "\[00:43\] [span_name("scared human woman")] whispers \"There was way too many of them and there's - not going to be help coming fast enough.\"", + "\[00:50\] [span_name("scared human woman")] gulps something down, a stressed sigh coming from her as she does.", + "\[00:55\] [span_name("scared human woman")] whimpers \"I'll- see if they leave- I- I'll make it-.\"", + ) + timestamp = list( + 0, + 2, + 8, + 12, + 15, + 20, + 24, + 28, + 33, + 37, + 43, + 50, + 55 + ) + +/obj/item/tape/random/preset/tesla_lab/two/Initialize() + . = ..() + storedinfo = list( + "\[00:00\] Recording started.", + "\[00:03\] [span_name("scared human woman")] whispers \"My n-name is Alyssa Salata- Ident 4070591. CLIP Minutemen-\"", + "\[00:06\] [span_name("scared human woman")] whispers \"Its been - 4 hours since my last log entry-.\"", + "\[00:10\] [span_name("scared human woman")] whispers \"The radio has been dead for 3. At least.\"", + "\[00:15\] [span_name("scared human woman")] whispers \"The last thing I heard was someone else holing up in - Lab one-\"", + "\[00:20\] [span_name("scared human woman")] whispers \"...That's on the other side of the corridor. I don't think I'd- make it-\"", + "\[00:23\] [span_name("scared human woman")] whispers \"The voices I keep hearing aren't |right| either. It's. They're. Barely human-\"", + "\[00:27\] [span_name("scared human woman")] whispers \"...I know they're outside...\"", + "\[00:30\] [span_name("scared human woman")] chokes \"I- miss my mom-.\"", + "\[00:33\] [span_name("scared human woman")] chokes out another whisper \"-I want to go home.....\"", + ) + + timestamp = list( + 0, + 3, + 6, + 10, + 15, + 20, + 23, + 27, + 30, + 33 + ) + +#define CHLORINATED_ATMOS "o2=22;n2=82;cl2=24;TEMP=293.15" + +/turf/open/floor/plasteel/dark/tesla_lab + initial_gas_mix = CHLORINATED_ATMOS + +/obj/item/desynchronizer/tvstatic + name = "\improper static synchronizer" + desc = "An experimental device built around the hissing core of an anomaly. It radiates fear. There is a button on the front that says 'ENGAGE', surrounded by scrawled warnings." + desync_effect = /obj/effect/temp_visual/phase_out + resync_effect = /obj/effect/temp_visual/phase_in + max_duration = 150 + duration = 60 + +/obj/item/desynchronizer/tvstatic/resync() + . = ..() + var/braim_bamage = (world.time - last_use) * 0.25 + playsound(src, 'sound/effects/glassbr1.ogg', 75) + for(var/mob/living/carbon/human/looking in range(1, src.loc)) + if(HAS_TRAIT(looking, TRAIT_MINDSHIELD) || looking.stat == DEAD || looking.research_scanner) + continue + looking.adjustOrganLoss(ORGAN_SLOT_BRAIN, braim_bamage, 200) + +/obj/effect/temp_visual/phase_in + name = "anomalous field" + icon_state = "phasein" + layer = 4 + duration = 5 + +/obj/effect/temp_visual/phase_out + name = "anomalous field" + icon_state = "phaseout" + layer = 4 + duration = 5 + +/obj/effect/mob_spawn/human/corpse/clip + name = "CLIP corpse spawner" + +/obj/effect/mob_spawn/human/corpse/clip/researcher + name = "CLIP Researcher Spawner" + outfit = /datum/outfit/job/clip/scientist + +/obj/effect/mob_spawn/human/corpse/clip/vc + name = "CLIP VC Spawner" + outfit = /datum/outfit/job/clip/minutemen/vehicle_pilot + +/obj/effect/mob_spawn/human/corpse/clip/minuteman + name = "CLIP Minuteman Spawner" + outfit = /datum/outfit/job/clip/minutemen/grunt/dressed + +/obj/effect/mob_spawn/human/corpse/clip/minuteman/forcefem + name = "CLIP Minuteman Spawner" + outfit = /datum/outfit/job/clip/minutemen/grunt/dressed + mob_gender = FEMALE diff --git a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm deleted file mode 100644 index 7a26946f0dd..00000000000 --- a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm +++ /dev/null @@ -1,258 +0,0 @@ -//******Decoration objects -//***Bone statues and giant skeleton parts. -/obj/structure/statue/bone - anchored = TRUE - max_integrity = 120 - material_drop_type = /obj/item/stack/sheet/bone - impressiveness = 18 // Carved from the bones of a massive creature, it's going to be a specticle to say the least - layer = ABOVE_ALL_MOB_LAYER - -/obj/structure/statue/bone/rib - name = "collosal rib" - desc = "It's staggering to think that something this big could have lived, let alone died." - oreAmount = 4 - icon = 'icons/obj/statuelarge.dmi' - icon_state = "rib" - -/obj/structure/statue/bone/skull - name = "collosal skull" - desc = "The gaping maw of a dead, titanic monster." - oreAmount = 12 - icon = 'icons/obj/statuelarge.dmi' - icon_state = "skull" - -/obj/structure/statue/bone/skull/half - desc = "The gaping maw of a dead, titanic monster. This one is cracked in half." - oreAmount = 6 - icon = 'icons/obj/statuelarge.dmi' - icon_state = "skull-half" - -//***Wasteland floor and rock turfs here. -/turf/open/floor/plating/asteroid/basalt/wasteland //Like a more fun version of living in Arizona. - name = "cracked earth" - icon = 'icons/turf/floors.dmi' - icon_state = "wasteland" - base_icon_state = "wasteland" - baseturfs = /turf/open/floor/plating/asteroid/basalt/wasteland - digResult = /obj/item/stack/ore/glass/basalt - initial_gas_mix = LAVALAND_DEFAULT_ATMOS - slowdown = 0.5 - floor_variance = 30 - max_icon_states = 6 - -/turf/closed/mineral/strong/wasteland - name = "ancient dry rock" - color = "#B5651D" - environment_type = "wasteland" - turf_type = /turf/open/floor/plating/asteroid/basalt/wasteland - baseturfs = /turf/open/floor/plating/asteroid/basalt/wasteland - smooth_icon = 'icons/turf/walls/rock_wall.dmi' - base_icon_state = "rock_wall" - smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER - -/turf/closed/mineral/strong/wasteland/drop_ores() - if(prob(10)) - new /obj/item/stack/ore/iron(src, 1) - new /obj/item/stack/ore/glass(src, 1) - new /obj/effect/decal/remains/human/grave(src, 1) - else - new /obj/item/stack/sheet/bone(src, 1) - -//***Oil well puddles. -/obj/structure/sink/oil_well //You're not going to enjoy bathing in this... - name = "oil well" - desc = "A bubbling pool of oil.This would probably be valuable, had bluespace technology not destroyed the need for fossil fuels 200 years ago." - icon = 'icons/obj/watercloset.dmi' - icon_state = "puddle-oil" - dispensedreagent = /datum/reagent/fuel/oil - -/obj/structure/sink/oil_well/Initialize() - .=..() - create_reagents(20) - reagents.add_reagent(dispensedreagent, 20) - -/obj/structure/sink/oil_well/attack_hand(mob/M) - flick("puddle-oil-splash",src) - reagents.expose(M, TOUCH, 20) //Covers target in 20u of oil. - to_chat(M, "You touch the pool of oil, only to get oil all over yourself. It would be wise to wash this off with water.") - -/obj/structure/sink/oil_well/attackby(obj/item/O, mob/user, params) - flick("puddle-oil-splash",src) - if(O.tool_behaviour == TOOL_SHOVEL && !(flags_1&NODECONSTRUCT_1)) //attempt to deconstruct the puddle with a shovel - to_chat(user, "You fill in the oil well with soil.") - O.play_tool_sound(src) - deconstruct() - return 1 - if(istype(O, /obj/item/reagent_containers)) //Refilling bottles with oil - var/obj/item/reagent_containers/RG = O - if(RG.is_refillable()) - if(!RG.reagents.holder_full()) - RG.reagents.add_reagent(dispensedreagent, min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) - to_chat(user, "You fill [RG] from [src].") - return TRUE - to_chat(user, "\The [RG] is full.") - return FALSE - if(user.a_intent != INTENT_HARM) - to_chat(user, "You won't have any luck getting \the [O] out if you drop it in the oil.") - return 1 - else - return ..() - -/obj/structure/sink/oil_well/drop_materials() - new /obj/effect/decal/cleanable/oil(loc) - -//***Grave mounds. -/obj/structure/closet/crate/grave - name = "burial mound" - desc = "A marked patch of soil, adorned with a wooden cross" - icon_state = "grave" - dense_when_open = TRUE - material_drop = /obj/item/stack/ore/glass/basalt - material_drop_amount = 5 - opened = TRUE - anchorable = FALSE - anchored = TRUE - locked = TRUE - breakout_time = 900 - cutting_tool = /obj/item/shovel - var/lead_tomb = FALSE - var/first_open = FALSE - -/obj/structure/closet/crate/grave/attackby(obj/item/W, mob/user, params) - .=..() - if(istype(W, /obj/item/screwdriver)) - if(!user.is_literate()) - to_chat(user, "You scratch illegibly on [src]!") - return - var/t = stripped_input(user, "What would you like the inscription to be?", name, null, 53) - if(user.get_active_held_item() != W) - return - if(!user.canUseTopic(src, BE_CLOSE)) - return - if(t) - desc = "[t]" - return - -/obj/structure/closet/crate/grave/open(mob/living/user, obj/item/S, force = FALSE) - if(!opened) - to_chat(user, "The ground here is too hard to dig up with your bare hands. You'll need a shovel.") - else - to_chat(user, "The grave has already been dug up.") - -/obj/structure/closet/crate/grave/tool_interact(obj/item/S, mob/living/carbon/user) - if(user.a_intent == INTENT_HELP) //checks to attempt to dig the grave, must be done on help intent only. - if(!opened) - if(istype(S,cutting_tool) && S.tool_behaviour == TOOL_SHOVEL) - to_chat(user, "You start start to dig open \the [src] with \the [S]...") - if (do_after(user,20, target = src)) - opened = TRUE - locked = TRUE - dump_contents() - update_appearance() - SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "graverobbing", /datum/mood_event/graverobbing) - if(lead_tomb == TRUE && first_open == TRUE) - user.gain_trauma(/datum/brain_trauma/magic/stalker) - to_chat(user, "Oh no, no no no, THEY'RE EVERYWHERE! EVERY ONE OF THEM IS EVERYWHERE!") - first_open = FALSE - return 1 - return 1 - else - to_chat(user, "You can't dig up a grave with \the [S.name].") - return 1 - else - to_chat(user, "The grave has already been dug up.") - return 1 - - else if((user.a_intent != INTENT_HELP) && opened) //checks to attempt to remove the grave entirely. - if(istype(S,cutting_tool) && S.tool_behaviour == TOOL_SHOVEL) - to_chat(user, "You start to remove \the [src] with \the [S].") - if (do_after(user,15, target = src)) - to_chat(user, "You remove \the [src] completely.") - SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "graverobbing", /datum/mood_event/graverobbing) - deconstruct(TRUE) - return 1 - return - -/obj/structure/closet/crate/grave/bust_open() - ..() - opened = TRUE - update_appearance() - dump_contents() - return - -/obj/structure/closet/crate/grave/stone - name = "burial mound" - desc = "A marked patch of soil, adorned with a sandstone slab" - icon_state = "grave_lead" - -/obj/structure/closet/crate/grave/loot - name = "burial mound" - desc = "A marked patch of soil, showing signs of a burial long ago. You wouldn't disturb a grave... right?" - opened = FALSE - -/obj/structure/closet/crate/grave/loot/PopulateContents() //GRAVEROBBING IS NOW A FEATURE - ..() - new /obj/effect/decal/remains/human/grave(src) - switch(rand(1,7)) - if(1) - new /obj/item/coin/gold(src) - new /obj/item/storage/wallet(src) - if(2) - new /obj/item/clothing/glasses/meson(src) - if(3) - new /obj/item/coin/silver(src) - new /obj/item/shovel/spade(src) - if(4) - new /obj/item/storage/book/bible/booze(src) - if(5) - new /obj/item/clothing/neck/stethoscope(src) - new /obj/item/scalpel(src) - new /obj/item/hemostat(src) - - if(6) - new /obj/item/reagent_containers/glass/beaker(src) - new /obj/item/clothing/glasses/science(src) - if(7) - new /obj/item/clothing/glasses/sunglasses(src) - new /obj/item/clothing/mask/cigarette/rollie(src) - -/obj/structure/closet/crate/grave/loot/lead_researcher - name = "ominous burial mound" - desc = "Even in a place filled to the brim with graves, this one shows a level of preperation and planning that fills you with dread." - icon_state = "grave_lead" - lead_tomb = TRUE - first_open = TRUE - -/obj/structure/closet/crate/grave/loot/lead_researcher/PopulateContents() //ADVANCED GRAVEROBBING - ..() - new /obj/effect/decal/cleanable/blood/gibs/old(src) - -/obj/effect/decal/remains/human/grave - turf_loc_check = FALSE - -//***Fluff items for lore/intrigue -/obj/item/paper/crumpled/muddy/fluff/elephant_graveyard - name = "posted warning" - desc = "It seems to be smudged with mud and... oil?" - default_raw_text = "TO WHOM IT MAY CONCERN

    This area is property of the Nanotrasen Mining Division.

    Trespassing in this area is illegal, highly dangerous, and subject to several NDAs.

    Please turn back now, under intergalactic law section 48-R." - -/obj/item/paper/crumpled/muddy/fluff/elephant_graveyard/rnd_notes - name = "Research Findings: Day 26" - desc = "Huh, this one page looks like it was torn out of a full book. How odd." - icon_state = "docs_part" - default_raw_text = "Researcher name: B--*--* J--*s.

    Detailed findings:Today the camp site's cond-tion has wor--ene*. The ashst--ms keep blocking us off from le-ving the sit* for m-re supplies, and it's lo-king like we're out of pl*sma to p-wer the ge-erat*r. Can't rea-*y study c-*bon *ating with no li--ts, ya know? Da-*y's been going -*f again and ag-*n a-*ut h*w the company's left us to *ie here, but I j-s* keep tell-ng him to stop che*-in* out these damn graves. We m-y b* archaeologists, but -e sho*ld have t-e dec-**cy to know these grav-s are *-l NEW.

    The rest of the page is just semantics about carbon dating methods." - -/obj/item/paper/crumpled/muddy/fluff/elephant_graveyard/mutiny - name = "hastily scribbled note" - desc = "Seems like someone was in a hurry." - default_raw_text = "Alright, we all know that stuck up son a bitch is just doing this to keep us satisifed. Who the hell does he think he is, taking extra rations? We're OUT OF FOOD, CARL. Tomorrow at noon, we're going to try and take the ship by force. He HAS to be lying about the engine cooling down. He HAS TO BE. I'm tellin ya, with this implant I lifted off that last supply ship, I got the smarts to get us offa this shithole. Keep your knife handy carl." - -/obj/item/paper/fluff/ruins/elephant_graveyard/hypothesis - name = "research document" - desc = "Standard Nanotrasen typeface for important research documents." - default_raw_text = "Day 9: Tenative Conclusions

    While the area appears to be of significant cultural importance to the lizard race, outside of some sparce contact with native wildlife, we're yet to find any exact reasoning for the nature of this phenomenon. It seems that organic life is communally drawn to this planet as though it functions as a final resting place for intelligent life. As per company guidelines, this site shall be given the following classification: 'LZ-0271 - Elephant Graveyard'

    Compiled list of Artifact findings (Currently Sent Offsite)
    Cultist Blade Fragments: x8
    Brass Multiplicative Ore Sample: x105
    Syndicate Revolutionary Leader Implant (Broken) x1
    Extinct Cortical Borer Tissue Sample x1
    Space Carp Fossil x3" - -/obj/item/paper/fluff/ruins/elephant_graveyard/final_message - name = "important looking Note" - desc = "This note is well written, and seems to have been put here so you'd find it." - default_raw_text = "If you find this... you don't need to know who I am.

    You need to leave this place. I dunno what shit they did to me out here, but I don't think I'm going to be making it out of here.

    This place... it wears down your psyche. The other researchers out here laughed it off but... They were the first to go.

    One by one they started turning on each other. The more they found out, the more they started fighting and arguing...
    As I speak now, I had to... I wound up having to put most of my men down. I know what I had to do, and I know there's no way left for me to live with myself.
    If anyone ever finds this, just don't touch the graves.

    DO NOT. TOUCH. THE GRAVES. Don't be a dumbass, like we all were." diff --git a/code/modules/ruins/objects_and_mobs/ash_walker_den.dm b/code/modules/ruins/objects_and_mobs/ash_walker_den.dm index b231ea90237..8c2496ce05a 100644 --- a/code/modules/ruins/objects_and_mobs/ash_walker_den.dm +++ b/code/modules/ruins/objects_and_mobs/ash_walker_den.dm @@ -40,7 +40,6 @@ /obj/structure/lavaland/ash_walker/deconstruct(disassembled) new /obj/item/assembly/signaler/anomaly (get_step(loc, pick(GLOB.alldirs))) - new /obj/effect/collapse(loc) return ..() /obj/structure/lavaland/ash_walker/process() diff --git a/code/modules/ruins/objects_and_mobs/sin_ruins.dm b/code/modules/ruins/objects_and_mobs/sin_ruins.dm index 7b5bd27a8ad..0747fb746dd 100644 --- a/code/modules/ruins/objects_and_mobs/sin_ruins.dm +++ b/code/modules/ruins/objects_and_mobs/sin_ruins.dm @@ -102,34 +102,3 @@ var/turf/open/chasm/C = T C.set_target(dest) C.drop(user) - -//can't be bothered to do sloth right now, will make later - -/obj/item/kitchen/knife/envy //Envy's knife: Found in the Envy ruin. Attackers take on the appearance of whoever they strike. - name = "envy's knife" - desc = "Their success will be yours." - icon = 'icons/obj/wizard.dmi' - icon_state = "render" - item_state = "knife" - lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi' - force = 18 - throwforce = 10 - w_class = WEIGHT_CLASS_NORMAL - hitsound = 'sound/weapons/bladeslice.ogg' - -/obj/item/kitchen/knife/envy/afterattack(atom/movable/AM, mob/living/carbon/human/user, proximity) - . = ..() - if(!proximity) - return - if(!istype(user)) - return - if(ishuman(AM)) - var/mob/living/carbon/human/H = AM - if(user.real_name != H.dna.real_name) - user.real_name = H.dna.real_name - H.dna.transfer_identity(user, transfer_SE=1) - user.updateappearance(mutcolor_update=1) - user.domutcheck() - user.visible_message("[user]'s appearance shifts into [H]'s!", \ - "[H.p_they(TRUE)] think[H.p_s()] [H.p_theyre()] sooo much better than you. Not anymore, [H.p_they()] won't.") diff --git a/code/modules/ruins/rockplanet_ruin_code.dm b/code/modules/ruins/rockplanet_ruin_code.dm index 57a6d6fd465..5eea45c24c6 100644 --- a/code/modules/ruins/rockplanet_ruin_code.dm +++ b/code/modules/ruins/rockplanet_ruin_code.dm @@ -100,7 +100,7 @@ /obj/item/strange_crystal/attackby(obj/item/item, mob/user, params) . = ..() - if(!istype(item, /obj/item/kitchen/knife)) + if(!istype(item, /obj/item/melee/knife)) return playsound(src, 'sound/effects/glassbr1.ogg', 50, TRUE, -1) to_chat(user, "You start breaking [src] up into shards...") @@ -112,3 +112,8 @@ if(give_to_user) user.put_in_hands(result) to_chat(user, "You finish breaking [src]") + +/obj/item/paper/crumpled/muddy/fluff/distillery + name = "distillery instructions" + desc = "A crumpled note soaked in alcohol." + default_raw_text = "

    Moonshine Instructions


    Alright, I know some of y'all ain't literate enough for this, but if I'm ever found dead or missing, read this note. Gotta keep the craft alive.


    1. Fill the still with around 5 units of enzyme. We keep the whole supply in the green crate in the storeroom.
    2. Grind a cob of corn into bits, and add the mash to the still.
    3. Pour an equal amount of sugar into the still, and stir.
    4. Now, you'll have to scoop the product out and filter it by hand. We used to have a better still that'd filter the product itself, until last year's incident. This has to do for now.
    5. Evaluate your product. Good 'shine is clear like water, and burns blue. If it ain't good, dump it.

    PS: If you've got some leftover sugar, mix it into bicaridine. Equal parts sugar, carbon, and oxygen makes a potent salve for your wounds." diff --git a/code/modules/ruins/rockplanet_ruin_code/mining_base.dm b/code/modules/ruins/rockplanet_ruin_code/mining_base.dm new file mode 100644 index 00000000000..afd34e00a6e --- /dev/null +++ b/code/modules/ruins/rockplanet_ruin_code/mining_base.dm @@ -0,0 +1,93 @@ +/obj/machinery/porta_turret/ship/nt/light/mining_base + req_ship_access = FALSE + lethal = TRUE + turret_flags = TURRET_FLAG_SHOOT_FAUNA + +/obj/machinery/porta_turret/ship/nt/light/mining_base/Initialize() + . = ..() + take_damage(rand(120, 150),BRUTE) + +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_manager + mob_name = "gruff sarathi man" + mob_gender = MALE + mob_species = /datum/species/lizard + icon_state = "corpsehuman" + outfit = /datum/outfit/job/nanotrasen/quartermaster + brute_damage = 120 + +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner + outfit = /datum/outfit/job/nanotrasen/miner + +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner/armored + outfit = /datum/outfit/job/nanotrasen/miner/armored + +/datum/outfit/job/nanotrasen/miner/armored + name = "Nanotrasen - Armored Miner" + suit = /obj/item/clothing/suit/hooded/explorer + mask = /obj/item/clothing/mask/gas/explorer + +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner/Initialize() + . = ..() + mob_species = pick_weight(list( + /datum/species/human = 50, + /datum/species/lizard = 20, + /datum/species/ipc = 10, + /datum/species/elzuose = 10, + /datum/species/moth = 5, + /datum/species/spider = 5 + ) + ) + +/obj/item/taperecorder/preset/mining_base + starting_tape_type = /obj/item/tape/random/preset/mining_base/one + +/obj/item/tape/random/preset/mining_base/one + ruined = 1 + used_capacity = 120 + +/obj/item/tape/random/preset/mining_base/one/Initialize() + . = ..() + storedinfo = list( + "\[00:00\] Recording started.", + "\[00:02\] [span_name("gruff sarathi man")] firmly declares \"-urn in hell for thisss.\"", + "\[00:05\] [span_name("stern human woman")] retorts \"A hell of my own making.\"", + "\[00:08\] [span_name("gruff sarathi man")] states \"And we'll sssend you-\"", + "\[00:11\] [span_name("gruff sarathi man")] suddenly gasps", + "\[00:12\] [span_name("stern human woman")] confidently delivers \"If you're so sure, why aren't you the one with the gun?\"", + "\[00:17\] [span_name("gruff sarathi man")] stammers \"y-you won't get away with thisss\"", + "\[00:20\] [span_name("stern human woman")] says \"The last Nanotrasen cuck I killed said that too~\"", + "\[00:25\] sudden clattering and a dull thump.", + "\[00:26\] [span_name("gruff sarathi man")] gasps for breath!", + "\[00:27\] [span_name("stern human woman")] contemptously declares \"Different boot. Same pathetic people.\"", + "\[00:30\] A pistol's slide is racked.", + "\[00:32\] [span_name("stern human woman")] says \"Burn in hell.\"", + "\[00:33\] A pistol is fired!", + "\[00:36\] [span_name("stern human woman")] states \"Get moving. I want us out and a garrison deployed within the hour.\"", + "\[00:38\] armored footsteps thump against a metal floor", + "\[00:44\] an airlock hisses open.", + "\[00:45\] [span_name("stern human woman")] taunts \"tchuss, tovai.\"", + "\[00:50\] an airlock suddenly closes!", + "\[02:00\] Recording ended.", + ) + timestamp = list( + 0, + 2, + 5, + 8, + 11, + 12, + 17, + 20, + 25, + 26, + 27, + 30, + 32, + 33, + 36, + 38, + 44, + 45, + 50, + 120 + ) diff --git a/code/modules/ruins/sandplanet_ruin_code/cave_base.dm b/code/modules/ruins/sandplanet_ruin_code/cave_base.dm new file mode 100644 index 00000000000..91caf21e1ed --- /dev/null +++ b/code/modules/ruins/sandplanet_ruin_code/cave_base.dm @@ -0,0 +1,224 @@ +//the satchel charge that'll explode + +/obj/item/grenade/c4/satchel_charge/cave_base + det_time = 15 + desc = "With Love - Kerberos-574" + +//i am such a bitch +/obj/item/grenade/c4/satchel_charge/cave_base/Initialize() + . = ..() + AddElement(/datum/element/undertile, TRAIT_T_RAY_VISIBLE, INVISIBILITY_OBSERVER, use_anchor = TRUE) + wires.attach_assembly_init(/obj/item/assembly/signaler/preset/cave_base) + +/obj/item/assembly_holder/premade/cave_base + a_left = /obj/item/assembly/signaler/preset/cave_base + a_right = /obj/item/assembly/prox_sensor/preset/cave_base + +/obj/item/grenade/c4/cave_base + +/obj/item/grenade/c4/cave_base/Initialize() + . = ..() + AddElement(/datum/element/undertile, TRAIT_T_RAY_VISIBLE, INVISIBILITY_OBSERVER, use_anchor = TRUE) + wires.attach_assembly_init(/obj/item/assembly/voice/preset/cave_base) + +/obj/item/assembly/signaler/preset/cave_base + code = 44 + frequency = 1451 + +/obj/item/assembly/voice/preset/cave_base + mode = 1 + recorded = "Goodbye~" + +/obj/item/assembly/prox_sensor/preset/cave_base + +//pre-netted cams +/obj/machinery/camera/cave_base + network = list("ForwardPost") + +/obj/machinery/computer/security/retro/cave_base + network = list("ForwardPost") + +//turret +/obj/machinery/porta_turret/cave_base + max_integrity = 100 + faction = list("turret", "Forward_Ops_Post") + stun_projectile = /obj/projectile/beam/laser/heavylaser + stun_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + lethal_projectile = /obj/projectile/beam/laser/heavylaser + lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + turret_flags = TURRET_FLAG_SHOOT_ALLMOBS + +//gut wrenching content + +/datum/preset_holoimage/hapless_ipc + species_type = /datum/species/ipc + outfit_type = /datum/outfit/job/independent/security/pirate/jupiter + +/datum/outfit/cave_base_ipc + name = "Cave Base IPC" + uniform = /obj/item/clothing/under/utility + head = /obj/item/clothing/head/soft/black + shoes = /obj/item/clothing/shoes/combat + l_pocket = /obj/item/melee/knife/combat + suit = /obj/item/clothing/suit/hooded/cloak/goliath + + +/datum/preset_holoimage/hunting_ipc + species_type = /datum/species/ipc + outfit_type = /datum/outfit/cave_base_ipc + +/obj/item/disk/holodisk/ruin/cave_base/one + name = "holorecord disk - Journal #1" + desc = "Stores recorder holocalls, has a layer of dust on it." + preset_image_type = /datum/preset_holoimage/hapless_ipc + preset_record_text = {" + NAME Kerberos-574 + DELAY 10 + SAY My Name is Kerberos-574. I've been assigned to this Operations Post for the foreseeable future. + DELAY 40 + SAY Command's orders included some fine print. + DELAY 20 + SAY Said *I* need to keep a journal for my morale's sake. + SOUND keyboard + DELAY 40 + SAY Don't know how long I'm gonna be down here but I'm not too keen on journaling. + DELAY 30 + SAY We'll see how it goes, though. + DELAY 30 + "} + +/obj/item/disk/holodisk/ruin/cave_base/two + name = "holorecord disk - Journal #2" + preset_image_type = /datum/preset_holoimage/hapless_ipc + preset_record_text = {" + NAME Kerberos-574 + DELAY 30 + SAY Been about... 2 months since my last journal entry. Haven't heard *shit* from anyone for the past.... + DELAY 50 + SOUND keyboard + DELAY 10 + SAY 2 weeks? + DELAY 40 + SAY Checked the relay and made sure that everything was linked up. Got a no connection error when I - well - tried to forcibly re-establish one. + DELAY 40 + SAY Miss being able to chat. But. It is what it is. + DELAY 20 + "} + +/obj/item/disk/holodisk/ruin/cave_base/three + name = "holorecord disk - Journal #3" + preset_image_type = /datum/preset_holoimage/hapless_ipc + preset_record_text = {" + NAME Kerberos-574 + DELAY 30 + SAY 'Nother month down the drain, aye Kerberos? + DELAY 40 + SAY Yup. Still haven't heard anything from anyone. + DELAY 40 + SAY Just making sure this place runs, and that *I'm* okay. + DELAY 50 + SAY Weather has been picking up something fierce lately. Scanners are saying that the planetoid is entering it's winter. + DELAY 40 + SAY Heh. Maybe some new beasts will show themselves. + DELAY 40 + SAY I was dropped with an AMR and kit for a reason after all... + DELAY 30 + SAY Self-defense. And you know what the Solarians say about the best defense. + SOUND rustle + DELAY 50 + "} + +/obj/item/disk/holodisk/ruin/cave_base/four + name = "holorecord disk - Journal #4" + preset_image_type = /datum/preset_holoimage/hunting_ipc + preset_record_text = {" + NAME Kerberos-574 + DELAY 20 + SAY One Four Point Five + SOUND sparks + DELAY 20 + SAY One Four Point Five By One Four Six Point Seven. + SOUND sparks + DELAY 20 + SOUND sparks + DELAY 40 + SAY -and that animal clipped me in something important. + DELAY 30 + SAY I got knocked around - and landed by something *buzzing*. + DELAY 30 + SAY Got the gun. Scrambled away. + DELAY 20 + SAY But I've been blacking out for bits. Losing days. + DELAY 15 + SOUND rustle + DELAY 20 + SAY And still no word from command. Starting to wor- + DELAY 5 + SOUND sparks + DELAY 20 + SAY One Fou- + DELAY 5 + "} + +/obj/item/disk/holodisk/ruin/cave_base/five + name = "holorecord disk - Journal #5" + preset_image_type = /datum/preset_holoimage/hunting_ipc + preset_record_text = {" + NAME Kerberos-574 + DELAY 20 + SAY I used to be a renegade!~ + DELAY 30 + SAY Used to fool around!~ + SOUND sparks + DELAY 30 + SAY But they left me on this godsdamned rock!~ + DELAY 30 + SAY And I had to learn new rounds!~ + DELAY 30 + SAY Don't know where I picked up that beat. Maybe that static put it in my processors. + DELAY 50 + SAY I'm runnin out of rounds for my crunch gun too. + DELAY 25 + SAY Not that I'm keen to heft 50kg around. + SOUND rustle + DELAY 40 + SAY But I've been going through my old intel reports, and there're some ships in the dust that I could get to. With a few weeks. + DELAY 80 + SOUND sparks + SAY I'm gonna go for it soon. Just gotta get everything in order. + DELAY 40 + "} + +/obj/item/disk/holodisk/ruin/cave_base/six + name = "holorecord disk - Journal #6" + preset_image_type = /datum/preset_holoimage/hunting_ipc + preset_record_text = {" + NAME Kerberos-574 + DELAY 30 + SAY Hey! + DELAY 25 + SAY I missed you earlier. + SOUND sparks + DELAY 30 + SAY Gonna be out for a bit, gotta find a ship. + DELAY 40 + SAY Gotta find a radio. Gotta call help. + DELAY 30 + SAY Maybe they can fix me somewhere~ + DELAY 30 + SOUND sparks + DELAY 10 + SAY I've got this place ah - set just in case anyone comes snooping around. + DELAY 40 + SOUND sparks + SAY There is no strategic information. + DELAY 20 + SAY There is no essential equipment. + DELAY 20 + SAY Just you and me~ + SOUND hiss + DELAY 30 + SAY Maybe one day we'll really meet. For now? + DELAY 40 + SAY Goodbye~ + "} diff --git a/code/modules/ruins/spaceruin_code/bigderelict1.dm b/code/modules/ruins/spaceruin_code/bigderelict1.dm index 99af3b9efa2..9e2a0957547 100644 --- a/code/modules/ruins/spaceruin_code/bigderelict1.dm +++ b/code/modules/ruins/spaceruin_code/bigderelict1.dm @@ -6,13 +6,3 @@ /obj/item/paper/crumpled/ruins/bigderelict1/coward icon_state = "scrap_bloodied" default_raw_text = "If anyone finds this, please, don't let my kids know I died a coward.." - -/obj/item/disk/design_disk/ammo_1911 - name = "design disk - 1911 magazine" - desc = "A design disk containing the pattern for the classic 1911's seven round .45ACP magazine." - illustration = "ammo" - -/obj/item/disk/design_disk/ammo_1911/Initialize() - . = ..() - var/datum/design/colt_1911_magazine/M = new - blueprints[1] = M diff --git a/code/modules/ruins/wasteplanet_ruin_code/tradepost.dm b/code/modules/ruins/wasteplanet_ruin_code/tradepost.dm new file mode 100644 index 00000000000..5369d0e2f2d --- /dev/null +++ b/code/modules/ruins/wasteplanet_ruin_code/tradepost.dm @@ -0,0 +1,61 @@ +/obj/item/tape/random/preset/tradepost/one + ruined = 1 + used_capacity = 120 + +/obj/item/tape/random/preset/tradepost/one/Initialize() + . = ..() + storedinfo = list( + "\[00:00\] Recording started.", + "\[00:06\] [span_name("firm elzousa")] drawls \"Now I figure that... give or take a few months a' tradin out here, I'll 'ave enough money t' pay you boys forra 'nother year.\"", + "\[00:14\] [span_name("muffled rachnid woman")] declares \"Caelum. If you don't have payment rendered soon we this contract is called.\"", + "\[00:23\] [span_name("firm elzousa")] drawls \"I know. I know. I gotcha few more weeks of pay annif I don' make any trades, then 's done.\"", + "\[00:32\] [span_name("firm elzousa")] drawls \"Don'tcha wave those things at me.\"", + "\[00:37\] [span_name("muffled rachnid woman")] declares \"You have two weeks. My enforcers are reporting that the area is drawing the attention of scrapbots.\"", + "\[00:46\] [span_name("muffled rachnid woman")] declares \"If we don't have the money to buy more ammo, I don't need to tell you what'll happen.\"", + "\[00:50\] [span_name("firm elzousa")] lets out a sigh.", + "\[00:53\] [span_name("firm elzousa")] drawls \" Cour ma'am. Cour. \"", + ) + timestamp = list( + 0, + 6, + 14, + 23, + 32, + 37, + 46, + 50, + 53 + ) + +/obj/effect/mob_spawn/human/corpse/inteq/medic/tradepost + mob_name = "Jenny Amasatsu" + brute_damage = 140 + burn_damage = 78 + mob_gender = FEMALE + outfit = /datum/outfit/job/inteq/paramedic/tradepost + +/obj/effect/mob_spawn/human/corpse/inteq/vanguard/tradepost + outfit = /datum/outfit/job/inteq/captain/tradepost + mob_species = /datum/species/spider + gender = FEMALE + +/obj/effect/mob_spawn/human/corpse/indie/engineer + outfit = /datum/outfit/job/independent/engineer + +/obj/effect/mob_spawn/human/corpse/indie/manager + outfit = /datum/outfit/job/independent/captain/manager + mob_species = /datum/species/elzuose + backpack_contents = null + + +/datum/outfit/job/inteq/paramedic/tradepost + name = "Trade Post Corpsman" + belt = /obj/item/storage/belt/medical/webbing + +/datum/outfit/job/inteq/captain/tradepost + name = "Trade Post Vanguard" + + r_pocket = null + l_pocket = null + + backpack_contents = null diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 0c535f58ae2..756d889f5bc 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -91,7 +91,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/storage/overmap_ship, 28) new /obj/item/tank/internals/oxygen/red(src) new /obj/item/tank/internals/oxygen/red(src) new /obj/item/pickaxe/emergency(src) - new /obj/item/kitchen/knife/hunting(src) + new /obj/item/melee/knife/hunting(src) new /obj/item/survivalcapsule(src) /obj/item/storage/overmap_ship/fueled/PopulateContents() diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index f4d68520c87..65e89399491 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -82,6 +82,7 @@ All ShuttleMove procs go here /turf/proc/afterShuttleMove(turf/oldT, rotation, list/all_towed_shuttles) //Dealing with the turf we left behind oldT.TransferComponents(src) + src.base_icon_state = oldT.base_icon_state SEND_SIGNAL(oldT, COMSIG_TURF_AFTER_SHUTTLE_MOVE, src) //Mostly for decals if(rotation) @@ -291,6 +292,7 @@ All ShuttleMove procs go here /************************************Item move procs************************************/ + /obj/item/storage/pod/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() // If the pod was launched, the storage will always open. The reserved_level check @@ -299,6 +301,11 @@ All ShuttleMove procs go here if (oldT && !is_reserved_level(oldT)) unlocked = TRUE +/obj/item/gun/lateShuttleMove(turf/oldT, list/movement_force, move_dir) + . = ..() + if(prob(GUN_NO_SAFETY_MALFUNCTION_CHANCE_MEDIUM)) + discharge("is thrown around by the force of the take off") + /************************************Mob move procs************************************/ /mob/onShuttleMove(turf/newT, turf/oldT, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock, list/obj/docking_port/mobile/towed_shuttles) diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 14a7497728a..5b6e6239f6a 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -5,9 +5,9 @@ //NORTH default dir /obj/docking_port - invisibility = INVISIBILITY_ABSTRACT - icon = 'icons/obj/device.dmi' - icon_state = "pinonfar" + invisibility = INVISIBILITY_OBSERVER + icon = 'icons/effects/mapping/docking_ports.dmi' + icon_state = "static" resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | LANDING_PROOF | HYPERSPACE_PROOF anchored = TRUE @@ -249,7 +249,7 @@ name = "transit dock" var/datum/map_zone/reserved_mapzone - var/area/shuttle/transit/assigned_area + var/area/hyperspace/assigned_area var/obj/docking_port/mobile/owner /obj/docking_port/stationary/transit/Initialize() @@ -272,7 +272,7 @@ /obj/docking_port/mobile name = "shuttle" - icon_state = "pinonclose" + icon_state = "mobile" var/area_type = SHUTTLE_DEFAULT_SHUTTLE_AREA_TYPE @@ -321,6 +321,9 @@ ///A list of all gravity generators currently linked to the shuttle. var/list/gravgen_list = list() + ///A list of all turrets currently linked to the shuttle. + var/list/turret_list = list() + ///if this shuttle can move docking ports other than the one it is docked at var/can_move_docking_ports = TRUE @@ -406,7 +409,7 @@ shuttle_areas = list() var/list/all_turfs = return_ordered_turfs(x, y, z, dir) for(var/turf/curT as anything in all_turfs) - var/area/shuttle/cur_area = curT.loc + var/area/ship/cur_area = curT.loc if(istype(cur_area, area_type)) turf_count++ shuttle_areas[cur_area] = TRUE @@ -428,6 +431,7 @@ for(var/each in place) var/atom/atom = each atom.connect_to_shuttle(src, dock) + SEND_SIGNAL(src, COMSIG_SHIP_DONE_CONNECTING, dock) //this is a hook for custom behaviour. Maybe at some point we could add checks to see if engines are intact /obj/docking_port/mobile/proc/can_move() @@ -647,7 +651,7 @@ continue // out of bounds if(T0.type == T0.baseturfs) continue // indestructible - if(!all_shuttle_areas[T0.loc] || istype(T0.loc, /area/shuttle/transit)) + if(!all_shuttle_areas[T0.loc] || istype(T0.loc, /area/hyperspace)) continue // not part of the shuttle ripple_turfs += T1 @@ -718,13 +722,13 @@ var/obj/docking_port/stationary/S0 = docked if(istype(S0, /obj/docking_port/stationary/transit) && timeLeft(1) <= PARALLAX_LOOP_TIME) for(var/place in shuttle_areas) - var/area/shuttle/shuttle_area = place + var/area/ship/shuttle_area = place if(shuttle_area.parallax_movedir) parallax_slowdown() /obj/docking_port/mobile/proc/parallax_slowdown() for(var/place in shuttle_areas) - var/area/shuttle/shuttle_area = place + var/area/ship/shuttle_area = place shuttle_area.parallax_movedir = FALSE if(assigned_transit && assigned_transit.assigned_area) assigned_transit.assigned_area.parallax_movedir = FALSE diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index 42888130b54..e41da1eccfa 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -1,19 +1,15 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( /mob/living, - /obj/structure/blob, - /obj/effect/rune, /obj/structure/spider/spiderling, /obj/item/disk/nuclear, /obj/machinery/nuclearbomb, /obj/item/beacon, - /obj/singularity/narsie, /obj/singularity/wizard, /obj/machinery/teleport/station, /obj/machinery/teleport/hub, /obj/machinery/quantumpad, /obj/effect/mob_spawn, /obj/effect/hierophant, - /obj/structure/receiving_pad, /obj/item/warp_cube, /obj/machinery/rnd/production, //print tracking beacons, send shuttle /obj/machinery/autolathe, //same @@ -30,168 +26,3 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( /obj/machinery/camera, /obj/item/gps ))) - -/* -/obj/docking_port/mobile/supply - name = "supply shuttle" - callTime = 600 - - dir = WEST - port_direction = EAST - width = 12 - dwidth = 5 - height = 7 - movement_force = list("KNOCKDOWN" = 0, "THROW" = 0) - - - //Export categories for this run, this is set by console sending the shuttle. - var/export_categories = EXPORT_CARGO - -/obj/docking_port/mobile/supply/register() - . = ..() - SSshuttle.supply = src - -/obj/docking_port/mobile/supply/proc/check_blacklist(areaInstances) - for(var/place in areaInstances) - var/area/shuttle/shuttle_area = place - for(var/trf in shuttle_area) - var/turf/T = trf - for(var/a in T.GetAllContents()) - if(is_type_in_typecache(a, GLOB.blacklisted_cargo_types) && !istype(a, /obj/docking_port)) - return FALSE - return TRUE - -/obj/docking_port/mobile/supply/request(obj/docking_port/stationary/S) - if(mode != SHUTTLE_IDLE) - return 2 - return ..() - - -/obj/docking_port/mobile/supply/initiate_docking() - if(get_docked() == SSshuttle.supply_away_port) // Buy when we leave home. - buy() - . = ..() // Fly/enter transit. - if(. != DOCKING_SUCCESS) - return - if(get_docked() == SSshuttle.supply_away_port) // Sell when we get home - sell() - -/obj/docking_port/mobile/supply/proc/buy() - var/list/obj/miscboxes = list() //miscboxes are combo boxes that contain all small_item orders grouped - var/list/misc_order_num = list() //list of strings of order numbers, so that the manifest can show all orders in a box - var/list/misc_contents = list() //list of lists of items that each box will contain - if(!SSshuttle.shoppinglist.len) - return - - var/list/empty_turfs = list() - for(var/place in shuttle_areas) - var/area/shuttle/shuttle_area = place - for(var/turf/open/floor/T in shuttle_area) - if(T.is_blocked_turf()) - continue - empty_turfs += T - - var/value = 0 - var/purchases = 0 - for(var/datum/supply_order/SO in SSshuttle.shoppinglist) - if(!empty_turfs.len) - break - var/price = SO.pack.cost - var/datum/bank_account/D - if(SO.paying_account) //Someone paid out of pocket - D = SO.paying_account - price *= 1.1 //TODO make this customizable by the quartermaster - else - D = SSeconomy.get_dep_account(ACCOUNT_CAR) - if(D) - if(!D.adjust_money(-price)) - if(SO.paying_account) - D.bank_card_talk("Cargo order #[SO.id] rejected due to lack of funds. Credits required: [price]") - continue - - if(SO.paying_account) - D.bank_card_talk("Cargo order #[SO.id] has shipped. [price] credits have been charged to your bank account.") - var/datum/bank_account/department/cargo = SSeconomy.get_dep_account(ACCOUNT_CAR) - cargo.adjust_money(price - SO.pack.cost) //Cargo gets the handling fee - value += SO.pack.cost - SSshuttle.shoppinglist -= SO - SSshuttle.orderhistory += SO - - if(SO.pack.small_item) //small_item means it gets piled in the miscbox - if(SO.paying_account) - if(!miscboxes.len || !miscboxes[D.account_holder]) //if there's no miscbox for this person - miscboxes[D.account_holder] = new /obj/structure/closet/crate/secure/owned(pick_n_take(empty_turfs), SO.paying_account) - miscboxes[D.account_holder].name = "small items crate - purchased by [D.account_holder]" - misc_contents[D.account_holder] = list() - for (var/item in SO.pack.contains) - misc_contents[D.account_holder] += item - misc_order_num[D.account_holder] = "[misc_order_num[D.account_holder]]#[SO.id] " - else //No private payment, so we just stuff it all into a generic crate - if(!miscboxes.len || !miscboxes["Cargo"]) - miscboxes["Cargo"] = new /obj/structure/closet/crate/secure(pick_n_take(empty_turfs)) - miscboxes["Cargo"].name = "small items crate" - misc_contents["Cargo"] = list() - miscboxes["Cargo"].req_access = list() - for (var/item in SO.pack.contains) - misc_contents["Cargo"] += item - //new item(miscboxes["Cargo"]) - if(SO.pack.access) - miscboxes["Cargo"].req_access += SO.pack.access - misc_order_num["Cargo"] = "[misc_order_num["Cargo"]]#[SO.id] " - else - SO.generate(pick_n_take(empty_turfs)) - - SSblackbox.record_feedback("nested tally", "cargo_imports", 1, list("[SO.pack.cost]", "[SO.pack.name]")) - investigate_log("Order #[SO.id] ([SO.pack.name], placed by [key_name(SO.orderer_ckey)]), paid by [D.account_holder] has shipped.", INVESTIGATE_CARGO) - if(SO.pack.dangerous) - message_admins("\A [SO.pack.name] ordered by [ADMIN_LOOKUPFLW(SO.orderer_ckey)], paid by [D.account_holder] has shipped.") - purchases++ - - for(var/I in miscboxes) - var/datum/supply_order/SO = new/datum/supply_order() - SO.id = misc_order_num[I] - SO.generateCombo(miscboxes[I], I, misc_contents[I]) - qdel(SO) - - var/datum/bank_account/cargo_budget = SSeconomy.get_dep_account(ACCOUNT_CAR) - investigate_log("[purchases] orders in this shipment, worth [value] credits. [cargo_budget.account_balance] credits left.", INVESTIGATE_CARGO) - -/obj/docking_port/mobile/supply/proc/sell() - var/datum/bank_account/D = SSeconomy.get_dep_account(ACCOUNT_CAR) - var/presale_points = D.account_balance - - if(!GLOB.exports_list.len) // No exports list? Generate it! - setupExports() - - var/msg = "" - var/matched_bounty = FALSE - - var/datum/export_report/ex = new - - for(var/place in shuttle_areas) - var/area/shuttle/shuttle_area = place - for(var/atom/movable/AM in shuttle_area) - if(iscameramob(AM)) - continue - if(bounty_ship_item_and_contents(AM, dry_run = FALSE)) - matched_bounty = TRUE - if(!AM.anchored || istype(AM, /obj/mecha)) - export_item_and_contents(AM, export_categories , dry_run = FALSE, external_report = ex) - - if(ex.exported_atoms) - ex.exported_atoms += "." //ugh - - if(matched_bounty) - msg += "Bounty items received. An update has been sent to all bounty consoles. " - - for(var/datum/export/E in ex.total_amount) - var/export_text = E.total_printout(ex) - if(!export_text) - continue - - msg += export_text + "\n" - D.adjust_money(ex.total_value[E]) - - SSshuttle.centcom_message = msg - investigate_log("Shuttle contents sold for [D.account_balance - presale_points] credits. Contents: [ex.exported_atoms ? ex.exported_atoms.Join(",") + "." : "none."] Message: [SSshuttle.centcom_message || "none."]", INVESTIGATE_CARGO) -*/ diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm index 45d7f96b7df..bc453eecd3d 100644 --- a/code/modules/spells/spell.dm +++ b/code/modules/spells/spell.dm @@ -117,7 +117,6 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th var/holder_var_amount = 20 //same. The amount adjusted with the mob's var when the spell is used var/clothes_req = TRUE //see if it requires clothes - var/cult_req = FALSE //SPECIAL SNOWFLAKE clothes required for cult only spells var/human_req = FALSE //spell can only be cast by humans var/nonabstract_req = FALSE //spell can only be cast by mobs that are physical entities var/stat_allowed = FALSE //see if it requires being conscious/alive, need to set to 1 for ghostpells @@ -209,13 +208,6 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th if(!is_type_in_typecache(H.head, casting_clothes)) to_chat(H, "You don't feel strong enough without your hat!") return FALSE - if(cult_req) //CULT_REQ CLOTHES CHECK - if(!istype(H.wear_suit, /obj/item/clothing/suit/magusred) && !istype(H.wear_suit, /obj/item/clothing/suit/space/hardsuit/cult)) - to_chat(H, "You don't feel strong enough without your armor.") - return FALSE - if(!istype(H.head, /obj/item/clothing/head/magus) && !istype(H.head, /obj/item/clothing/head/helmet/space/hardsuit/cult)) - to_chat(H, "You don't feel strong enough without your helmet.") - return FALSE else if(clothes_req || human_req) to_chat(user, "This spell can only be cast by humans!") diff --git a/code/modules/spells/spell_types/conjure.dm b/code/modules/spells/spell_types/conjure.dm index c47205a2732..d2e3cc957ad 100644 --- a/code/modules/spells/spell_types/conjure.dm +++ b/code/modules/spells/spell_types/conjure.dm @@ -55,18 +55,6 @@ range = 3 newVars = list("emagged" = 2, "remote_disabled" = 1,"shoot_sound" = 'sound/weapons/laser.ogg',"projectile" = /obj/projectile/beam/laser, "declare_arrests" = 0,"name" = "Wizard's Justicebot") -/obj/effect/proc_holder/spell/aoe_turf/conjure/linkWorlds - name = "Link Worlds" - desc = "A whole new dimension for you to play with! They won't be happy about it, though." - invocation = "WTF" - clothes_req = FALSE - charge_max = 600 - cooldown_min = 200 - summon_type = list(/obj/structure/spawner/nether) - summon_amt = 1 - range = 1 - cast_sound = 'sound/weapons/marauder.ogg' - /obj/effect/proc_holder/spell/targeted/conjure_item name = "Summon weapon" desc = "A generic spell that should not exist. This summons an instance of a specific type of item, or if one already exists, un-summons it. Summons into hand if possible." @@ -75,7 +63,7 @@ range = -1 clothes_req = FALSE var/obj/item/item - var/item_type = /obj/item/banhammer + var/item_type = /obj/item school = "conjuration" charge_max = 150 cooldown_min = 10 diff --git a/code/modules/spells/spell_types/construct_spells.dm b/code/modules/spells/spell_types/construct_spells.dm deleted file mode 100644 index 61c05c4170f..00000000000 --- a/code/modules/spells/spell_types/construct_spells.dm +++ /dev/null @@ -1,327 +0,0 @@ -//////////////////////////////Construct Spells///////////////////////// - -/obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser - charge_max = 1800 - action_background_icon_state = "bg_demon" - -/obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser/cult - clothes_req = TRUE - charge_max = 2500 - -/obj/effect/proc_holder/spell/aoe_turf/area_conversion - name = "Area Conversion" - desc = "This spell instantly converts a small area around you." - - school = "transmutation" - charge_max = 50 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = 2 - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "areaconvert" - action_background_icon_state = "bg_cult" - -/obj/effect/proc_holder/spell/aoe_turf/area_conversion/cast(list/targets, mob/user = usr) - playsound(get_turf(user), 'sound/items/welder.ogg', 75, TRUE) - for(var/turf/T in targets) - T.narsie_act(FALSE, TRUE, 100 - (get_dist(user, T) * 25)) - - -/obj/effect/proc_holder/spell/aoe_turf/conjure/floor - name = "Summon Cult Floor" - desc = "This spell constructs a cult floor." - - school = "conjuration" - charge_max = 20 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = 0 - summon_type = list(/turf/open/floor/engine/cult) - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "floorconstruct" - action_background_icon_state = "bg_cult" - - -/obj/effect/proc_holder/spell/aoe_turf/conjure/wall - name = "Summon Cult Wall" - desc = "This spell constructs a cult wall." - - school = "conjuration" - charge_max = 100 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = 0 - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "lesserconstruct" - action_background_icon_state = "bg_cult" - - summon_type = list(/turf/closed/wall/mineral/cult/artificer) //we don't want artificer-based runed metal farms - - -/obj/effect/proc_holder/spell/aoe_turf/conjure/wall/reinforced - name = "Greater Construction" - desc = "This spell constructs a reinforced metal wall." - - school = "conjuration" - charge_max = 300 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = 0 - - summon_type = list(/turf/closed/wall/r_wall) - -/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone - name = "Summon Soulstone" - desc = "This spell reaches into Nar'Sie's realm, summoning one of the legendary fragments across time and space." - - school = "conjuration" - charge_max = 2400 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = 0 - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "summonsoulstone" - action_background_icon_state = "bg_demon" - - summon_type = list(/obj/item/soulstone) - -/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone/cult - clothes_req = TRUE - charge_max = 3600 - -/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone/noncult - summon_type = list(/obj/item/soulstone/anybody) - -/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone/noncult/purified - summon_type = list(/obj/item/soulstone/anybody/purified) - -/obj/effect/proc_holder/spell/targeted/forcewall/cult - name = "Shield" - desc = "This spell creates a temporary forcefield to shield yourself and allies from incoming fire." - school = "transmutation" - charge_max = 400 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - wall_type = /obj/effect/forcefield/cult - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "cultforcewall" - action_background_icon_state = "bg_demon" - - - -/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift - name = "Phase Shift" - desc = "This spell allows you to pass through walls." - - school = "transmutation" - charge_max = 250 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = -1 - include_user = TRUE - jaunt_duration = 50 //in deciseconds - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "phaseshift" - action_background_icon_state = "bg_demon" - jaunt_in_time = 6 - jaunt_in_type = /obj/effect/temp_visual/dir_setting/wraith - jaunt_out_type = /obj/effect/temp_visual/dir_setting/wraith/out - -/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/jaunt_steam(mobloc) - return - -/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/angelic - jaunt_in_type = /obj/effect/temp_visual/dir_setting/wraith/angelic - jaunt_out_type = /obj/effect/temp_visual/dir_setting/wraith/out/angelic - -/obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser - name = "Lesser Magic Missile" - desc = "This spell fires several, slow moving, magic projectiles at nearby targets." - - school = "evocation" - charge_max = 400 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - max_targets = 6 - action_icon_state = "magicm" - action_background_icon_state = "bg_demon" - proj_type = /obj/projectile/magic/spell/magic_missile/lesser - -/obj/projectile/magic/spell/magic_missile/lesser - color = "red" //Looks more culty this way - range = 10 - -/obj/effect/proc_holder/spell/targeted/smoke/disable - name = "Paralysing Smoke" - desc = "This spell spawns a cloud of paralysing smoke." - - school = "conjuration" - charge_max = 200 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = -1 - include_user = TRUE - cooldown_min = 20 //25 deciseconds reduction per rank - - smoke_spread = 3 - smoke_amt = 4 - action_icon_state = "smoke" - action_background_icon_state = "bg_cult" - -/obj/effect/proc_holder/spell/pointed/abyssal_gaze - name = "Abyssal Gaze" - desc = "This spell instills a deep terror in your target, temporarily chilling and blinding it." - charge_max = 750 - range = 5 - stat_allowed = FALSE - school = "evocation" - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - ranged_mousepointer = 'icons/effects/mouse_pointers/cult_target.dmi' - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_background_icon_state = "bg_demon" - action_icon_state = "abyssal_gaze" - active_msg = "You prepare to instill a deep terror in a target..." - -/obj/effect/proc_holder/spell/pointed/abyssal_gaze/cast(list/targets, mob/user) - if(!LAZYLEN(targets)) - to_chat(user, "No target found in range!") - return FALSE - if(!can_target(targets[1], user)) - return FALSE - - var/mob/living/carbon/target = targets[1] - if(target.anti_magic_check(TRUE, TRUE)) - to_chat(user, "The spell had no effect!") - to_chat(target, "You feel a freezing darkness closing in on you, but it rapidly dissipates.") - return FALSE - - to_chat(target, "A freezing darkness surrounds you...") - target.playsound_local(get_turf(target), 'sound/hallucinations/i_see_you1.ogg', 50, 1) - user.playsound_local(get_turf(user), 'sound/effects/ghost2.ogg', 50, 1) - target.become_blind(ABYSSAL_GAZE_BLIND) - addtimer(CALLBACK(src, PROC_REF(cure_blindness), target), 40) - target.adjust_bodytemperature(-200) - -/** - * cure_blidness: Cures Abyssal Gaze blindness from the target - * - * Arguments: - * * target The mob that is being cured of the blindness. - */ -/obj/effect/proc_holder/spell/pointed/abyssal_gaze/proc/cure_blindness(mob/target) - if(isliving(target)) - var/mob/living/L = target - L.cure_blind(ABYSSAL_GAZE_BLIND) - -/obj/effect/proc_holder/spell/pointed/abyssal_gaze/can_target(atom/target, mob/user, silent) - . = ..() - if(!.) - return FALSE - if(!iscarbon(target)) - if(!silent) - to_chat(user, "You can only target carbon based lifeforms!") - return FALSE - return TRUE - -/obj/effect/proc_holder/spell/pointed/dominate - name = "Dominate" - desc = "This spell dominates the mind of a lesser creature to the will of Nar'Sie, allying it only to her direct followers." - charge_max = 600 - range = 7 - stat_allowed = FALSE - school = "evocation" - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - ranged_mousepointer = 'icons/effects/mouse_pointers/cult_target.dmi' - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_background_icon_state = "bg_demon" - action_icon_state = "dominate" - active_msg = "You prepare to dominate the mind of a target..." - -/obj/effect/proc_holder/spell/pointed/dominate/cast(list/targets, mob/user) - if(!LAZYLEN(targets)) - to_chat(user, "No target found in range.") - return FALSE - if(!can_target(targets[1], user)) - return FALSE - - var/mob/living/simple_animal/S = targets[1] - S.add_atom_colour("#990000", FIXED_COLOUR_PRIORITY) - S.faction = list("cult") - playsound(get_turf(S), 'sound/effects/ghost.ogg', 100, TRUE) - new /obj/effect/temp_visual/cult/sac(get_turf(S)) - -/obj/effect/proc_holder/spell/pointed/dominate/can_target(atom/target, mob/user, silent) - . = ..() - if(!.) - return FALSE - if(!isanimal(target)) - if(!silent) - to_chat(user, "Target is not a lesser creature!") - return FALSE - - var/mob/living/simple_animal/S = target - if(S.mind) - if(!silent) - to_chat(user, "[S] is too intelligent to dominate!") - return FALSE - if(S.stat) - if(!silent) - to_chat(user, "[S] is dead!") - return FALSE - if(S.sentience_type != SENTIENCE_ORGANIC) - if(!silent) - to_chat(user, "[S] cannot be dominated!") - return FALSE - if("cult" in S.faction) - if(!silent) - to_chat(user, "[S] is already serving Nar'Sie!") - return FALSE - return TRUE - -/obj/effect/proc_holder/spell/targeted/projectile/dumbfire/juggernaut - name = "Gauntlet Echo" - desc = "Channels energy into your gauntlet - firing its essence forward in a slow moving, yet devastating, attack." - proj_type = /obj/projectile/magic/spell/juggernaut - charge_max = 350 - clothes_req = FALSE - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "cultfist" - action_background_icon_state = "bg_demon" - sound = 'sound/weapons/resonator_blast.ogg' - -/obj/projectile/magic/spell/juggernaut - name = "Gauntlet Echo" - icon_state = "cultfist" - alpha = 180 - damage = 30 - damage_type = BRUTE - knockdown = 50 - hitsound = 'sound/weapons/punch3.ogg' - trigger_range = 0 - check_holy = TRUE - ignored_factions = list("cult") - range = 15 - speed = 7 - -/obj/projectile/magic/spell/juggernaut/on_hit(atom/target, blocked) - . = ..() - var/turf/T = get_turf(src) - playsound(T, 'sound/weapons/resonator_blast.ogg', 100, FALSE) - new /obj/effect/temp_visual/cult/sac(T) - for(var/obj/O in range(src,1)) - if(O.density && !istype(O, /obj/structure/destructible/cult)) - O.take_damage(90, BRUTE, "melee", 0) - new /obj/effect/temp_visual/cult/turf/floor(get_turf(O)) diff --git a/code/modules/spells/spell_types/devil.dm b/code/modules/spells/spell_types/devil.dm deleted file mode 100644 index 421b7f40f11..00000000000 --- a/code/modules/spells/spell_types/devil.dm +++ /dev/null @@ -1,258 +0,0 @@ -/obj/effect/proc_holder/spell/targeted/conjure_item/summon_pitchfork - name = "Summon Pitchfork" - desc = "A devil's weapon of choice. Use this to summon/unsummon your pitchfork." - invocation_type = "none" - include_user = TRUE - range = -1 - clothes_req = FALSE - item_type = /obj/item/pitchfork/demonic - - school = "conjuration" - charge_max = 150 - cooldown_min = 10 - action_icon = 'icons/mob/actions/actions_minor_antag.dmi' - action_icon_state = "pitchfork" - action_background_icon_state = "bg_demon" - -/obj/effect/proc_holder/spell/targeted/conjure_item/summon_pitchfork/greater - item_type = /obj/item/pitchfork/demonic/greater - -/obj/effect/proc_holder/spell/targeted/conjure_item/summon_pitchfork/ascended - item_type = /obj/item/pitchfork/demonic/ascended - -/obj/effect/proc_holder/spell/targeted/conjure_item/violin - item_type = /obj/item/instrument/violin/golden - desc = "A devil's instrument of choice. Use this to summon/unsummon your golden violin." - invocation_type = INVOCATION_WHISPER - invocation = "I ain't had this much fun since Georgia." - action_icon_state = "golden_violin" - name = "Summon golden violin" - action_icon = 'icons/mob/actions/actions_minor_antag.dmi' - action_background_icon_state = "bg_demon" - -/obj/effect/proc_holder/spell/targeted/summon_contract - name = "Summon infernal contract" - desc = "Skip making a contract by hand, just do it by magic." - invocation_type = INVOCATION_WHISPER - invocation = "Just sign on the dotted line." - include_user = FALSE - range = 5 - clothes_req = FALSE - - school = "conjuration" - charge_max = 150 - cooldown_min = 10 - action_icon_state = "spell_default" - action_background_icon_state = "bg_demon" - -/obj/effect/proc_holder/spell/targeted/summon_contract/cast(list/targets, mob/user = usr) - for(var/mob/living/carbon/C in targets) - if(C.mind && user.mind) - if(C.stat == DEAD) - if(user.dropItemToGround(user.get_active_held_item())) - var/obj/item/paper/contract/infernal/revive/contract = new(user.loc, C.mind, user.mind) - user.put_in_hands(contract) - else - var/obj/item/paper/contract/infernal/contract // = new(user.loc, C.mind, contractType, user.mind) - var/contractTypeName = input(user, "What type of contract?") in sortList(list("Power", "Wealth", "Prestige", "Magic", "Knowledge", "Friendship")) - switch(contractTypeName) - if("Power") - contract = new /obj/item/paper/contract/infernal/power(C.loc, C.mind, user.mind) - if("Wealth") - contract = new /obj/item/paper/contract/infernal/wealth(C.loc, C.mind, user.mind) - if("Prestige") - contract = new /obj/item/paper/contract/infernal/prestige(C.loc, C.mind, user.mind) - if("Magic") - contract = new /obj/item/paper/contract/infernal/magic(C.loc, C.mind, user.mind) - if("Knowledge") - contract = new /obj/item/paper/contract/infernal/knowledge(C.loc, C.mind, user.mind) - if("Friendship") - contract = new /obj/item/paper/contract/infernal/friend(C.loc, C.mind, user.mind) - C.put_in_hands(contract) - else - to_chat(user, "[C] seems to not be sentient. You cannot summon a contract for [C.p_them()].") - - -/obj/effect/proc_holder/spell/aimed/fireball/hellish - name = "Hellfire" - desc = "This spell launches hellfire at the target." - - school = "evocation" - charge_max = 80 - clothes_req = FALSE - invocation = "Your very soul will catch fire!" - invocation_type = INVOCATION_SHOUT - range = 2 - - projectile_type = /obj/projectile/magic - - action_background_icon_state = "bg_demon" - -/obj/effect/proc_holder/spell/targeted/infernal_jaunt - name = "Infernal Jaunt" - desc = "Use hellfire to phase out of existence." - charge_max = 200 - clothes_req = FALSE - selection_type = "range" - range = -1 - cooldown_min = 0 - overlay = null - include_user = TRUE - action_icon_state = "jaunt" - action_background_icon_state = "bg_demon" - phase_allowed = TRUE - -/obj/effect/proc_holder/spell/targeted/infernal_jaunt/cast(list/targets, mob/living/user = usr) - if(istype(user)) - if(istype(user.loc, /obj/effect/dummy/phased_mob/slaughter/)) - if(valid_location(user)) - to_chat(user, "You are now phasing in.") - if(do_after(user, 1.5 SECONDS, user)) - if(valid_location(user)) - user.infernalphasein() - else - to_chat(user, "You are no longer near a potential signer.") - - else - to_chat(user, "You can only re-appear near a potential signer.") - revert_cast() - return ..() - else - user.notransform = TRUE - user.fakefire() - to_chat(src, "You begin to phase back into sinful flames.") - if(do_after(user, 1.5 SECONDS, user)) - user.infernalphaseout() - else - to_chat(user, "You must remain still while exiting.") - user.notransform = FALSE - user.fakefireextinguish() - start_recharge() - return - revert_cast() - -/obj/effect/proc_holder/spell/targeted/infernal_jaunt/proc/valid_location(mob/living/user = usr) - if(istype(get_area(user), /area/shuttle/)) // Can always phase in in a shuttle. - return TRUE - else - for(var/mob/living/C in orange(2, get_turf(user))) //Can also phase in when nearby a potential buyer. - if (C.owns_soul()) - return TRUE - return FALSE - -/mob/living/proc/infernalphaseout() - dust_animation() - spawn_dust() - visible_message("[src] disappears in a flashfire!") - playsound(get_turf(src), 'sound/magic/enter_blood.ogg', 100, TRUE, -1) - var/obj/effect/dummy/phased_mob/slaughter/holder = new /obj/effect/dummy/phased_mob/slaughter(loc) - ExtinguishMob() - forceMove(holder) - holder = holder - notransform = FALSE - fakefireextinguish() - -/mob/living/proc/infernalphasein() - if(notransform) - to_chat(src, "You're too busy to jaunt in.") - return FALSE - fakefire() - forceMove(drop_location()) - client.eye = src - visible_message("[src] appears in a fiery blaze!") - playsound(get_turf(src), 'sound/magic/exit_blood.ogg', 100, TRUE, -1) - addtimer(CALLBACK(src, PROC_REF(fakefireextinguish)), 15, TIMER_UNIQUE) - -/obj/effect/proc_holder/spell/targeted/sintouch - name = "Sin Touch" - desc = "Subtly encourage someone to sin." - charge_max = 1800 - clothes_req = FALSE - selection_type = "range" - range = 2 - cooldown_min = 0 - overlay = null - include_user = FALSE - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "sintouch" - action_background_icon_state = "bg_demon" - phase_allowed = FALSE - random_target = TRUE - random_target_priority = TARGET_RANDOM - max_targets = 3 - invocation = "TASTE SIN AND INDULGE!!" - invocation_type = INVOCATION_SHOUT - -/obj/effect/proc_holder/spell/targeted/sintouch/ascended - name = "Greater sin touch" - charge_max = 100 - range = 7 - max_targets = 10 - -/obj/effect/proc_holder/spell/targeted/sintouch/cast(list/targets, mob/living/user = usr) - for(var/mob/living/carbon/human/H in targets) - if(!H.mind) - continue - if(H.mind.has_antag_datum(/datum/antagonist/sintouched)) - continue - if(H.anti_magic_check(FALSE, TRUE)) - continue - H.mind.add_antag_datum(/datum/antagonist/sintouched) - H.Paralyze(400) - - -/obj/effect/proc_holder/spell/targeted/summon_dancefloor - name = "Summon Dancefloor" - desc = "When what a Devil really needs is funk." - include_user = TRUE - range = -1 - clothes_req = FALSE - - school = "conjuration" - charge_max = 10 - cooldown_min = 50 //5 seconds, so the smoke can't be spammed - action_icon = 'icons/mob/actions/actions_minor_antag.dmi' - action_icon_state = "funk" - action_background_icon_state = "bg_demon" - - var/list/dancefloor_turfs - var/list/dancefloor_turfs_types - var/dancefloor_exists = FALSE - var/datum/effect_system/smoke_spread/transparent/dancefloor_devil/smoke - - -/obj/effect/proc_holder/spell/targeted/summon_dancefloor/cast(list/targets, mob/user = usr) - LAZYINITLIST(dancefloor_turfs) - LAZYINITLIST(dancefloor_turfs_types) - - if(!smoke) - smoke = new() - smoke.set_up(0, get_turf(user)) - smoke.start() - - if(dancefloor_exists) - dancefloor_exists = FALSE - for(var/i in 1 to dancefloor_turfs.len) - var/turf/T = dancefloor_turfs[i] - T.ChangeTurf(dancefloor_turfs_types[i], flags = CHANGETURF_INHERIT_AIR) - else - var/list/funky_turfs = RANGE_TURFS(1, user) - for(var/turf/closed/solid in funky_turfs) - to_chat(user, "You're too close to a wall.") - return - dancefloor_exists = TRUE - var/i = 1 - dancefloor_turfs.len = funky_turfs.len - dancefloor_turfs_types.len = funky_turfs.len - for(var/t in funky_turfs) - var/turf/T = t - dancefloor_turfs[i] = T - dancefloor_turfs_types[i] = T.type - T.ChangeTurf((i % 2 == 0) ? /turf/open/floor/light/colour_cycle/dancefloor_a : /turf/open/floor/light/colour_cycle/dancefloor_b, flags = CHANGETURF_INHERIT_AIR) - i++ - -/datum/effect_system/smoke_spread/transparent/dancefloor_devil - effect_type = /obj/effect/particle_effect/smoke/transparent/dancefloor_devil - -/obj/effect/particle_effect/smoke/transparent/dancefloor_devil - lifetime = 2 diff --git a/code/modules/spells/spell_types/devil_boons.dm b/code/modules/spells/spell_types/devil_boons.dm deleted file mode 100644 index 01ea14b15fa..00000000000 --- a/code/modules/spells/spell_types/devil_boons.dm +++ /dev/null @@ -1,76 +0,0 @@ -/obj/effect/proc_holder/spell/targeted/summon_wealth - name = "Summon wealth" - desc = "The reward for selling your soul." - invocation_type = "none" - include_user = TRUE - range = -1 - clothes_req = FALSE - school = "conjuration" - charge_max = 100 - cooldown_min = 10 - action_icon = 'icons/mob/actions/actions_minor_antag.dmi' - action_icon_state = "moneybag" - - -/obj/effect/proc_holder/spell/targeted/summon_wealth/cast(list/targets, mob/user = usr) - for(var/mob/living/carbon/C in targets) - if(user.dropItemToGround(user.get_active_held_item())) - var/obj/item = pick( - new /obj/item/coin/gold(user.drop_location()), - new /obj/item/coin/diamond(user.drop_location()), - new /obj/item/coin/silver(user.drop_location()), - new /obj/item/clothing/accessory/medal/gold(user.drop_location()), - new /obj/item/stack/sheet/mineral/gold(user.drop_location()), - new /obj/item/stack/sheet/mineral/silver(user.drop_location()), - new /obj/item/stack/sheet/mineral/diamond(user.drop_location()), - new /obj/item/holochip(user.drop_location(), 1000)) - C.put_in_hands(item) - -/obj/effect/proc_holder/spell/targeted/view_range - name = "Distant vision" - desc = "The reward for selling your soul." - invocation_type = "none" - include_user = TRUE - range = -1 - clothes_req = FALSE - charge_max = 50 - cooldown_min = 10 - action_icon = 'icons/mob/actions/actions_silicon.dmi' - action_icon_state = "camera_jump" - var/ranges = list(7,8,9,10) - -/obj/effect/proc_holder/spell/targeted/view_range/cast(list/targets, mob/user = usr) - for(var/mob/C in targets) - if(!C.client) - continue - C.client.view_size.setTo((input("Select view range:", "Range", 4) in ranges) - 7) - -/obj/effect/proc_holder/spell/targeted/summon_friend - name = "Summon Friend" - desc = "The reward for selling your soul." - invocation_type = "none" - include_user = TRUE - range = -1 - clothes_req = FALSE - charge_max = 50 - cooldown_min = 10 - action_icon = 'icons/mob/actions/actions_spells.dmi' - action_icon_state = "sacredflame" - var/mob/living/friend - var/obj/effect/mob_spawn/human/demonic_friend/friendShell - -/obj/effect/proc_holder/spell/targeted/summon_friend/cast(list/targets, mob/user = usr) - if(!QDELETED(friend)) - to_chat(friend, "Your master has deemed you a poor friend. Your durance in hell will now resume.") - friend.dust(TRUE) - qdel(friendShell) - return - if(!QDELETED(friendShell)) - qdel(friendShell) - return - for(var/C in targets) - var/mob/living/L = C - friendShell = new /obj/effect/mob_spawn/human/demonic_friend(L.loc, L.mind, src) - -/obj/effect/proc_holder/spell/targeted/conjure_item/spellpacket/robeless - clothes_req = FALSE diff --git a/code/modules/spells/spell_types/godhand.dm b/code/modules/spells/spell_types/godhand.dm index 5cf7e7e1e50..94f0c8a4fca 100644 --- a/code/modules/spells/spell_types/godhand.dm +++ b/code/modules/spells/spell_types/godhand.dm @@ -4,7 +4,7 @@ var/catchphrase = "High Five!" var/on_use_sound = null var/obj/effect/proc_holder/spell/targeted/touch/attached_spell - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' lefthand_file = 'icons/mob/inhands/misc/touchspell_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/touchspell_righthand.dmi' icon_state = "latexballon" diff --git a/code/modules/spells/spell_types/lichdom.dm b/code/modules/spells/spell_types/lichdom.dm index 720670e3fc2..e7d4a1e3988 100644 --- a/code/modules/spells/spell_types/lichdom.dm +++ b/code/modules/spells/spell_types/lichdom.dm @@ -67,8 +67,6 @@ H.dropItemToGround(H.w_uniform) H.dropItemToGround(H.wear_suit) H.dropItemToGround(H.head) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe/black(H), ITEM_SLOT_OCLOTHING) - H.equip_to_slot_or_del(new /obj/item/clothing/head/wizard/black(H), ITEM_SLOT_HEAD) H.equip_to_slot_or_del(new /obj/item/clothing/under/color/black(H), ITEM_SLOT_ICLOTHING) // you only get one phylactery. @@ -99,7 +97,7 @@ name = "phylactery of [mind.name]" active_phylacteries++ - GLOB.poi_list |= src + SSpoints_of_interest.make_point_of_interest(src) START_PROCESSING(SSobj, src) if(initial(SSticker.mode.round_ends_with_antag_death)) SSticker.mode.round_ends_with_antag_death = FALSE @@ -107,7 +105,7 @@ /obj/item/phylactery/Destroy(force=FALSE) STOP_PROCESSING(SSobj, src) active_phylacteries-- - GLOB.poi_list -= src + SSpoints_of_interest.remove_point_of_interest(src) if(!active_phylacteries) SSticker.mode.round_ends_with_antag_death = initial(SSticker.mode.round_ends_with_antag_death) . = ..() @@ -133,8 +131,6 @@ lich.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal/magic(lich), ITEM_SLOT_FEET) lich.equip_to_slot_or_del(new /obj/item/clothing/under/color/black(lich), ITEM_SLOT_ICLOTHING) - lich.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe/black(lich), ITEM_SLOT_OCLOTHING) - lich.equip_to_slot_or_del(new /obj/item/clothing/head/wizard/black(lich), ITEM_SLOT_HEAD) lich.real_name = mind.name mind.transfer_to(lich) diff --git a/code/modules/spells/spell_types/mime.dm b/code/modules/spells/spell_types/mime.dm index 0e56c111248..0cfb0ca0444 100644 --- a/code/modules/spells/spell_types/mime.dm +++ b/code/modules/spells/spell_types/mime.dm @@ -174,55 +174,6 @@ invocation_type ="none" ..() -/obj/effect/proc_holder/spell/aimed/finger_guns - name = "Finger Guns" - desc = "Shoot a mimed bullet from your fingers that stuns and does some damage." - school = "mime" - panel = "Mime" - charge_max = 300 - clothes_req = FALSE - antimagic_allowed = TRUE - invocation_type = INVOCATION_EMOTE - invocation_emote_self = "You fire your finger gun!" - range = 20 - projectile_type = /obj/projectile/bullet/mime - projectile_amount = 3 - sound = null - active_msg = "You draw your fingers!" - deactive_msg = "You put your fingers at ease. Another time." - active = FALSE - - action_icon = 'icons/mob/actions/actions_mime.dmi' - action_icon_state = "finger_guns0" - action_background_icon_state = "bg_mime" - base_icon_state = "finger_guns" - - -/obj/effect/proc_holder/spell/aimed/finger_guns/Click() - var/mob/living/carbon/human/owner = usr - if(owner.incapacitated()) - to_chat(owner, "You can't properly point your fingers while incapacitated.") - return - if(usr && usr.mind) - if(!usr.mind.miming) - to_chat(usr, "You must dedicate yourself to silence first!") - return - invocation = "[usr.real_name] fires [usr.p_their()] finger gun!" - else - invocation_type ="none" - ..() - -/obj/effect/proc_holder/spell/aimed/finger_guns/InterceptClickOn(mob/living/caller, params, atom/target) - if(caller.incapacitated()) - to_chat(caller, "You can't properly point your fingers while incapacitated.") - if(charge_type == "recharge") - var/refund_percent = current_amount/projectile_amount - charge_counter = charge_max * refund_percent - start_recharge() - remove_ranged_ability() - on_deactivation(caller) - ..() - /obj/item/book/granter/spell/mimery_blockade spell = /obj/effect/proc_holder/spell/targeted/forcewall/mime spellname = "Invisible Blockade" @@ -237,18 +188,3 @@ return if(!locate(/obj/effect/proc_holder/spell/targeted/mime/speak) in user.mind.spell_list) user.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/mime/speak) - -/obj/item/book/granter/spell/mimery_guns - spell = /obj/effect/proc_holder/spell/aimed/finger_guns - spellname = "Finger Guns" - name = "Guide to Advanced Mimery Vol 2" - desc = "There aren't any words written..." - icon_state ="bookmime" - remarks = list("...") - -/obj/item/book/granter/spell/mimery_guns/attack_self(mob/user) - . = ..() - if(!.) - return - if(!locate(/obj/effect/proc_holder/spell/targeted/mime/speak) in user.mind.spell_list) - user.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/mime/speak) diff --git a/code/modules/spells/spell_types/pointed/mind_transfer.dm b/code/modules/spells/spell_types/pointed/mind_transfer.dm index e0ef3566fa0..04a91f09b5e 100644 --- a/code/modules/spells/spell_types/pointed/mind_transfer.dm +++ b/code/modules/spells/spell_types/pointed/mind_transfer.dm @@ -30,14 +30,10 @@ var/mob/living/victim = targets[1] //The target of the spell whos body will be transferred to. var/datum/mind/VM = victim.mind - if(victim.anti_magic_check(TRUE, FALSE) || VM.has_antag_datum(/datum/antagonist/wizard) || VM.has_antag_datum(/datum/antagonist/cult) || VM.has_antag_datum(/datum/antagonist/changeling) || victim.key[1] == "@") + if(victim.anti_magic_check(TRUE, FALSE) || VM.has_antag_datum(/datum/antagonist/wizard) || VM.has_antag_datum(/datum/antagonist/changeling) || victim.key[1] == "@") if(!silent) to_chat(user, "[victim.p_their(TRUE)] mind is resisting your spell!") return FALSE - if(istype(victim, /mob/living/simple_animal/hostile/guardian)) - var/mob/living/simple_animal/hostile/guardian/stand = victim - if(stand.summoner) - victim = stand.summoner //MIND TRANSFER BEGIN var/mob/dead/observer/ghost = victim.ghostize() @@ -84,11 +80,4 @@ if(!silent) to_chat(user, "[t_He] appear[victim.p_s()] to be catatonic! Not even magic can affect [victim.p_their()] vacant mind.") return FALSE - if(istype(victim, /mob/living/simple_animal/hostile/guardian)) - var/mob/living/simple_animal/hostile/guardian/stand = victim - if(stand.summoner) - if(stand.summoner == user) - if(!silent) - to_chat(user, "Swapping minds with your own guardian would just put you back into your own head!") - return FALSE return TRUE diff --git a/code/modules/spells/spell_types/rightandwrong.dm b/code/modules/spells/spell_types/rightandwrong.dm index 55138a36c36..a5c542c819c 100644 --- a/code/modules/spells/spell_types/rightandwrong.dm +++ b/code/modules/spells/spell_types/rightandwrong.dm @@ -9,27 +9,26 @@ GLOBAL_LIST_INIT(summoned_guns, list( /obj/item/gun/energy/e_gun, /obj/item/gun/energy/e_gun/advtaser, /obj/item/gun/energy/laser, - /obj/item/gun/ballistic/revolver/syndicate, + /obj/item/gun/ballistic/revolver/viper, /obj/item/gun/ballistic/revolver/detective, /obj/item/gun/ballistic/automatic/pistol/deagle/camo, /obj/item/gun/ballistic/automatic/gyropistol, /obj/item/gun/energy/pulse, - /obj/item/gun/ballistic/automatic/pistol/syndicate, + /obj/item/gun/ballistic/automatic/pistol/ringneck, /obj/item/gun/ballistic/shotgun/doublebarrel, /obj/item/gun/ballistic/shotgun, - /obj/item/gun/ballistic/shotgun/automatic/combat, - /obj/item/gun/ballistic/automatic/assault/p16, + /obj/item/gun/ballistic/shotgun/automatic/m11, + /obj/item/gun/ballistic/automatic/m15, /obj/item/gun/ballistic/revolver/mateba, /obj/item/gun/ballistic/rifle/illestren, /obj/item/pneumatic_cannon/speargun, - /obj/item/gun/ballistic/automatic/smg/mini_uzi, /obj/item/gun/energy/lasercannon, /obj/item/gun/energy/kinetic_accelerator/crossbow/large, /obj/item/gun/energy/e_gun/nuclear, - /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto, - /obj/item/gun/ballistic/automatic/smg/c20r, - /obj/item/gun/ballistic/automatic/hmg/l6_saw, - /obj/item/gun/ballistic/automatic/smg/m90, + /obj/item/gun/ballistic/automatic/smg/skm_carbine/saber, + /obj/item/gun/ballistic/automatic/smg/cobra, + /obj/item/gun/ballistic/automatic/assault/hydra/lmg/extended, + /obj/item/gun/ballistic/automatic/assault/hydra, /obj/item/gun/energy/alien, /obj/item/gun/energy/e_gun/dragnet, /obj/item/gun/energy/e_gun/turret, @@ -40,10 +39,10 @@ GLOBAL_LIST_INIT(summoned_guns, list( /obj/item/gun/energy/plasmacutter/adv, /obj/item/gun/energy/wormhole_projector, /obj/item/gun/ballistic/automatic/smg/wt550, - /obj/item/gun/ballistic/shotgun/bulldog, + /obj/item/gun/ballistic/shotgun/automatic/bulldog, /obj/item/gun/ballistic/revolver/grenadelauncher, /obj/item/gun/ballistic/revolver/golden, - /obj/item/gun/ballistic/automatic/marksman/sniper_rifle, + /obj/item/gun/ballistic/automatic/marksman/taipan, /obj/item/gun/ballistic/rocketlauncher, /obj/item/gun/medbeam, /obj/item/gun/energy/laser/scatter, diff --git a/code/modules/spells/spell_types/shapeshift.dm b/code/modules/spells/spell_types/shapeshift.dm index 254a43dc23a..3c087cc8840 100644 --- a/code/modules/spells/spell_types/shapeshift.dm +++ b/code/modules/spells/spell_types/shapeshift.dm @@ -20,8 +20,7 @@ var/list/possible_shapes = list(/mob/living/simple_animal/mouse,\ /mob/living/simple_animal/pet/dog/corgi,\ /mob/living/simple_animal/bot/secbot/ed209,\ - /mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper,\ - /mob/living/simple_animal/hostile/construct/juggernaut) + /mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper,) /obj/effect/proc_holder/spell/targeted/shapeshift/cast(list/targets,mob/user = usr) if(src in user.mob_spell_list) diff --git a/code/modules/spells/spell_types/wizard.dm b/code/modules/spells/spell_types/wizard.dm index 2fab8c5848e..bc800a49c7d 100644 --- a/code/modules/spells/spell_types/wizard.dm +++ b/code/modules/spells/spell_types/wizard.dm @@ -132,12 +132,6 @@ sound1 = 'sound/magic/blink.ogg' sound2 = 'sound/magic/blink.ogg' -/obj/effect/proc_holder/spell/targeted/turf_teleport/blink/cult - name = "quickstep" - - charge_max = 100 - clothes_req = TRUE - /obj/effect/proc_holder/spell/targeted/area_teleport/teleport name = "Teleport" desc = "This spell teleports you to an area of your selection." @@ -194,20 +188,6 @@ summon_type = list(/mob/living/simple_animal/hostile/carp) cast_sound = 'sound/magic/summon_karp.ogg' -/obj/effect/proc_holder/spell/aoe_turf/conjure/construct - name = "Artificer" - desc = "This spell conjures a construct which may be controlled by Shades." - school = "conjuration" - charge_max = 600 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = 0 - summon_type = list(/obj/structure/constructshell) - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "artificer" - cast_sound = 'sound/magic/summonitems_generic.ogg' - /obj/effect/proc_holder/spell/aoe_turf/conjure/creature name = "Summon Creature Swarm" desc = "This spell tears the fabric of reality, allowing horrific daemons to spill forth." @@ -223,12 +203,6 @@ summon_type = list(/mob/living/simple_animal/hostile/netherworld) cast_sound = 'sound/magic/summonitems_generic.ogg' -/obj/effect/proc_holder/spell/aoe_turf/conjure/creature/cult - name = "Summon Creatures (DANGEROUS)" - clothes_req = TRUE - charge_max = 5000 - summon_amt = 2 - /obj/effect/proc_holder/spell/aoe_turf/repulse name = "Repulse" desc = "This spell throws everything around the user away." diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm index 4c9b3556b6a..e42cb866b50 100644 --- a/code/modules/station_goals/shield.dm +++ b/code/modules/station_goals/shield.dm @@ -158,26 +158,3 @@ /obj/machinery/satellite/meteor_shield/toggle(user) if(!..(user)) return FALSE - if(obj_flags & EMAGGED) - if(active) - change_meteor_chance(2) - else - change_meteor_chance(0.5) - -/obj/machinery/satellite/meteor_shield/proc/change_meteor_chance(mod) - var/datum/round_event_control/E = locate(/datum/round_event_control/meteor_wave) in SSevents.control - if(E) - E.weight *= mod - -/obj/machinery/satellite/meteor_shield/Destroy() - . = ..() - if(active && (obj_flags & EMAGGED)) - change_meteor_chance(0.5) - -/obj/machinery/satellite/meteor_shield/emag_act(mob/user) - if(obj_flags & EMAGGED) - return - obj_flags |= EMAGGED - to_chat(user, "You access the satellite's debug mode, increasing the chance of meteor strikes.") - if(active) - change_meteor_chance(2) diff --git a/code/modules/surgery/advanced/lobotomy.dm b/code/modules/surgery/advanced/lobotomy.dm index d1c882f9662..501cad86da4 100644 --- a/code/modules/surgery/advanced/lobotomy.dm +++ b/code/modules/surgery/advanced/lobotomy.dm @@ -25,8 +25,8 @@ name = "perform lobotomy" implements = list( TOOL_SCALPEL = 85, // there is no way this should be reasonable to do basically at all without a real surgery. ghetto lobotomy, for real? - /obj/item/melee/transforming/energy/sword = 25, - /obj/item/kitchen/knife = 15, + /obj/item/melee/energy/sword = 25, + /obj/item/melee/knife = 15, /obj/item/shard = 10, /obj/item = 5) time = 10 SECONDS diff --git a/code/modules/surgery/amputation.dm b/code/modules/surgery/amputation.dm index 91cd1dce07e..e737acbb78d 100644 --- a/code/modules/surgery/amputation.dm +++ b/code/modules/surgery/amputation.dm @@ -14,9 +14,9 @@ TOOL_SCALPEL = 100, TOOL_SAW = 100, /obj/item/melee/arm_blade = 80, - /obj/item/fireaxe = 50, + /obj/item/melee/axe/fire = 50, /obj/item/hatchet = 40, - /obj/item/kitchen/knife/butcher = 25) + /obj/item/melee/knife/butcher = 25) time = 6.4 SECONDS preop_sound = 'sound/surgery/scalpel1.ogg' success_sound = 'sound/surgery/organ2.ogg' diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index 94da7fb26c0..8f35606776b 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -109,8 +109,11 @@ var/px_y = 0 var/species_flags_list = list() + ///the type of damage overlay (if any) to use when this bodypart is bruised/burned. var/dmg_overlay_type + ///the path for dmg overlay icons. + var/dmg_overlay_icon = 'icons/mob/dam_mob.dmi' //Damage messages used by help_shake_act() var/light_brute_msg = "bruised" @@ -121,6 +124,9 @@ var/medium_burn_msg = "blistered" var/heavy_burn_msg = "peeling away" + //band-aid for blood overlays & other external overlays until they get refactored + var/stored_icon_state + /obj/item/bodypart/Initialize() . = ..() name = "[limb_id] [parse_zone(body_zone)]" @@ -153,11 +159,6 @@ if(burn_dam > DAMAGE_PRECISION) . += "This limb has [burn_dam > 30 ? "severe" : "minor"] burns." - -/obj/item/bodypart/blob_act() - take_damage(max_damage) - - /obj/item/bodypart/attack(mob/living/carbon/C, mob/user) if(ishuman(C)) var/mob/living/carbon/human/H = C @@ -244,7 +245,7 @@ burn *= 2 // Is the damage greater than the threshold, and if so, probability of damage + item force - if((brute_dam > bone_break_threshold) && prob(brute_dam + break_modifier)) + if(brute && (brute_dam > bone_break_threshold) && prob(brute_dam + break_modifier)) break_bone() // Bleeding is applied here @@ -378,7 +379,7 @@ if(total_damage >= max_damage * disable_threshold) //Easy limb disable disables the limb at 40% health instead of 0% if(!last_maxed) - if(owner.stat < UNCONSCIOUS) + if(owner.stat < UNCONSCIOUS && !HAS_TRAIT(owner, TRAIT_ANALGESIA)) INVOKE_ASYNC(owner, TYPE_PROC_REF(/mob, emote), "scream") last_maxed = TRUE set_disabled(TRUE) @@ -516,8 +517,8 @@ //Updates an organ's brute/burn states for use by update_damage_overlays() //Returns 1 if we need to update overlays. 0 otherwise. /obj/item/bodypart/proc/update_bodypart_damage_state() - var/tbrute = round((brute_dam/max_damage)*3, 1) - var/tburn = round((burn_dam/max_damage)*3, 1) + var/tbrute = min(round((brute_dam/max_damage)*6, 1), 3) + var/tburn = min(round((burn_dam/max_damage)*6, 1), 3) if((tbrute != brutestate) || (tburn != burnstate)) brutestate = tbrute burnstate = tburn @@ -569,10 +570,10 @@ no_update = FALSE if(HAS_TRAIT(C, TRAIT_HUSK) && IS_ORGANIC_LIMB(src)) - dmg_overlay_type = "" //no damage overlay shown when husked + //dmg_overlay_type = "" //no damage overlay shown when husked is_husked = TRUE else - dmg_overlay_type = initial(dmg_overlay_type) + //dmg_overlay_type = initial(dmg_overlay_type) is_husked = FALSE if(!dropping_limb && C.dna?.check_mutation(HULK)) //Please remove hulk from the game. I beg you. @@ -587,6 +588,11 @@ else draw_color = null + if(C?.dna?.blood_type?.color) + damage_color = C.dna.blood_type.color + else + damage_color = COLOR_BLOOD + if(no_update) return @@ -668,12 +674,12 @@ image_dir = SOUTH if(dmg_overlay_type) if(brutestate) - var/image/bruteoverlay = image('icons/mob/dam_mob.dmi', "[dmg_overlay_type]_[body_zone]_[brutestate]0", -DAMAGE_LAYER, image_dir) + var/image/bruteoverlay = image(dmg_overlay_icon, "[dmg_overlay_type]_[body_zone]_[brutestate]0", -DAMAGE_LAYER, image_dir) if(use_damage_color) bruteoverlay.color = damage_color . += bruteoverlay if(burnstate) - . += image('icons/mob/dam_mob.dmi', "[dmg_overlay_type]_[body_zone]_0[burnstate]", -DAMAGE_LAYER, image_dir) + . += image(dmg_overlay_icon, "[dmg_overlay_type]_[body_zone]_0[burnstate]", -DAMAGE_LAYER, image_dir) var/image/limb = image(layer = -BODYPARTS_LAYER, dir = image_dir) var/image/aux @@ -765,6 +771,8 @@ limb_gender, )*/ + stored_icon_state = limb.icon_state + return /obj/item/bodypart/deconstruct(disassembled = TRUE) @@ -782,7 +790,11 @@ if (bone_status == BONE_FLAG_NORMAL && body_part & LEGS) // Because arms are not legs owner.set_broken_legs(owner.broken_legs + 1) bone_status = BONE_FLAG_BROKEN - addtimer(CALLBACK(owner, TYPE_PROC_REF(/atom, visible_message), "You hear a cracking sound coming from [owner]'s [name].", "You feel something crack in your [name]!", "You hear an awful cracking sound."), 1 SECONDS) +// addtimer(CALLBACK(src, PROC_REF(break_bone_feedback), 1 SECONDS)) testing sommething + +///obj/item/bodypart/proc/break_bone_feedback() + owner.visible_message("You hear a cracking sound coming from [owner]'s [name].", "You feel something crack in your [name]!", "You hear an awful cracking sound.") + playsound(owner, pick(list('sound/health/bone/bone_break1.ogg','sound/health/bone/bone_break2.ogg','sound/health/bone/bone_break3.ogg','sound/health/bone/bone_break4.ogg','sound/health/bone/bone_break5.ogg','sound/health/bone/bone_break6.ogg')), 100, FALSE, -1) /obj/item/bodypart/proc/fix_bone() // owner.update_inv_splints() breaks @@ -796,7 +808,10 @@ return if(prob(5)) - to_chat(owner, "[pick("You feel broken bones moving around in your [name]!", "There are broken bones moving around in your [name]!", "The bones in your [name] are moving around!")]") + if(HAS_TRAIT(owner, TRAIT_ANALGESIA)) + to_chat(owner, span_notice("[pick("You feel something shifting inside your [name].", "There is something moving inside [name].", "Something inside your [name] slips.")]")) + else + to_chat(owner, "[pick("You feel broken bones moving around in your [name]!", "There are broken bones moving around in your [name]!", "The bones in your [name] are moving around!")]") receive_damage(rand(1, 3)) //1-3 damage every 20 tiles for every broken bodypart. //A single broken bodypart will give you an average of 650 tiles to run before you get a total of 100 damage and fall into crit diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 07d30e727c7..4a98e6b93ea 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -20,7 +20,8 @@ if(C.stat <= SOFT_CRIT)//No more screaming while unconsious if(IS_ORGANIC_LIMB(affecting))//Chest is a good indicator for if a carbon is robotic in nature or not. - INVOKE_ASYNC(C, TYPE_PROC_REF(/mob, emote), "scream") + if(!HAS_TRAIT(C, TRAIT_ANALGESIA)) //and do we actually feel pain? + INVOKE_ASYNC(C, TYPE_PROC_REF(/mob, emote), "scream") SEND_SIGNAL(C, COMSIG_ADD_MOOD_EVENT, "dismembered", /datum/mood_event/dismembered) diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index 05dffd8b4ff..4c9a9be3b6d 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -271,11 +271,6 @@ max_damage = 500 animal_origin = ALIEN_BODYPART -/obj/item/bodypart/head/devil - dismemberable = 0 - max_damage = 5000 - animal_origin = DEVIL_BODYPART - /obj/item/bodypart/head/larva icon = 'icons/mob/animal_parts.dmi' icon_state = "larva_head" diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm index 5f89d15aa95..543a0e5fddd 100644 --- a/code/modules/surgery/bodyparts/parts.dm +++ b/code/modules/surgery/bodyparts/parts.dm @@ -43,11 +43,6 @@ max_damage = 500 animal_origin = ALIEN_BODYPART -/obj/item/bodypart/chest/devil - dismemberable = 0 - max_damage = 5000 - animal_origin = DEVIL_BODYPART - /obj/item/bodypart/chest/larva icon = 'icons/mob/animal_parts.dmi' icon_state = "larva_chest" @@ -153,12 +148,6 @@ max_damage = 100 animal_origin = ALIEN_BODYPART -/obj/item/bodypart/l_arm/devil - dismemberable = FALSE - can_be_disabled = FALSE - max_damage = 5000 - animal_origin = DEVIL_BODYPART - /obj/item/bodypart/r_arm name = "right arm" desc = "Over 87% of humans are right handed. That figure is much lower \ @@ -255,12 +244,6 @@ max_damage = 100 animal_origin = ALIEN_BODYPART -/obj/item/bodypart/r_arm/devil - dismemberable = FALSE - can_be_disabled = FALSE - max_damage = 5000 - animal_origin = DEVIL_BODYPART - /obj/item/bodypart/leg/left name = "left leg" desc = "Some athletes prefer to tie their left shoelaces first for good \ @@ -346,12 +329,6 @@ max_damage = 100 animal_origin = ALIEN_BODYPART -/obj/item/bodypart/leg/left/devil - dismemberable = FALSE - can_be_disabled = FALSE - max_damage = 5000 - animal_origin = DEVIL_BODYPART - /obj/item/bodypart/leg/right name = "right leg" desc = "You put your right leg in, your right leg out. In, out, in, out, \ @@ -438,9 +415,3 @@ can_be_disabled = FALSE max_damage = 100 animal_origin = ALIEN_BODYPART - -/obj/item/bodypart/leg/right/devil - dismemberable = FALSE - can_be_disabled = FALSE - max_damage = 5000 - animal_origin = DEVIL_BODYPART diff --git a/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm index 0794602de95..ebf294a3ccc 100644 --- a/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm @@ -4,7 +4,7 @@ limb_id = SPECIES_ELZUOSE is_dimorphic = FALSE uses_mutcolor = TRUE - bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_SNOUT + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_SNOUT_SMALL /obj/item/bodypart/chest/ethereal icon = 'icons/mob/species/ethereal/bodyparts.dmi' diff --git a/code/modules/surgery/bodyparts/species_parts/vox_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/vox_bodyparts.dm index 1437e191578..b2502f6a172 100644 --- a/code/modules/surgery/bodyparts/species_parts/vox_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/vox_bodyparts.dm @@ -4,6 +4,7 @@ is_dimorphic = FALSE bodytype = BODYTYPE_VOX | BODYTYPE_ORGANIC should_draw_greyscale = FALSE + dmg_overlay_icon = 'icons/mob/species/vox/vox_overlays.dmi' /obj/item/bodypart/chest/vox static_icon = 'icons/mob/species/vox/bodyparts.dmi' @@ -12,18 +13,21 @@ bodytype = BODYTYPE_VOX | BODYTYPE_ORGANIC acceptable_bodytype = BODYTYPE_VOX should_draw_greyscale = FALSE + dmg_overlay_icon = 'icons/mob/species/vox/vox_overlays.dmi' /obj/item/bodypart/l_arm/vox static_icon = 'icons/mob/species/vox/bodyparts.dmi' limb_id = SPECIES_VOX bodytype = BODYTYPE_VOX | BODYTYPE_ORGANIC should_draw_greyscale = FALSE + dmg_overlay_icon = 'icons/mob/species/vox/vox_overlays.dmi' /obj/item/bodypart/r_arm/vox static_icon = 'icons/mob/species/vox/bodyparts.dmi' limb_id = SPECIES_VOX bodytype = BODYTYPE_VOX | BODYTYPE_ORGANIC should_draw_greyscale = FALSE + dmg_overlay_icon = 'icons/mob/species/vox/vox_overlays.dmi' /obj/item/bodypart/leg/left/vox static_icon = 'icons/mob/species/vox/bodyparts.dmi' @@ -31,6 +35,7 @@ bodytype = BODYTYPE_VOX | BODYTYPE_ORGANIC should_draw_greyscale = FALSE dismemberable = FALSE //BIG MEATY THIGHS + dmg_overlay_icon = 'icons/mob/species/vox/vox_overlays.dmi' /obj/item/bodypart/leg/right/vox static_icon = 'icons/mob/species/vox/bodyparts.dmi' @@ -38,3 +43,4 @@ bodytype = BODYTYPE_VOX | BODYTYPE_ORGANIC should_draw_greyscale = FALSE dismemberable = FALSE + dmg_overlay_icon = 'icons/mob/species/vox/vox_overlays.dmi' diff --git a/code/modules/surgery/core_removal.dm b/code/modules/surgery/core_removal.dm deleted file mode 100644 index c5bfd110820..00000000000 --- a/code/modules/surgery/core_removal.dm +++ /dev/null @@ -1,44 +0,0 @@ -/datum/surgery/core_removal - name = "Core removal" - steps = list(/datum/surgery_step/incise, /datum/surgery_step/extract_core) - target_mobtypes = list(/mob/living/simple_animal/slime) - possible_locs = list(BODY_ZONE_R_ARM,BODY_ZONE_L_ARM,BODY_ZONE_R_LEG,BODY_ZONE_L_LEG,BODY_ZONE_CHEST,BODY_ZONE_HEAD) - lying_required = FALSE - ignore_clothes = TRUE - -/datum/surgery/core_removal/can_start(mob/user, mob/living/target) - if(target.stat == DEAD) - return 1 - return 0 - -//extract brain -/datum/surgery_step/extract_core - name = "extract core" - implements = list( - TOOL_HEMOSTAT = 100, - TOOL_CROWBAR = 100) - time = 16 - -/datum/surgery_step/extract_core/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to extract a core from [target]...", - "[user] begins to extract a core from [target].", - "[user] begins to extract a core from [target].") - -/datum/surgery_step/extract_core/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - var/mob/living/simple_animal/slime/slime = target - if(slime.cores > 0) - slime.cores-- - display_results(user, target, "You successfully extract a core from [target]. [slime.cores] core\s remaining.", - "[user] successfully extracts a core from [target]!", - "[user] successfully extracts a core from [target]!") - - new slime.coretype(slime.loc) - - if(slime.cores <= 0) - slime.icon_state = "[slime.colour] baby slime dead-nocore" - return ..() - else - return 0 - else - to_chat(user, "There aren't any cores left in [target]!") - return ..() diff --git a/code/modules/surgery/coronary_bypass.dm b/code/modules/surgery/coronary_bypass.dm index a4628d19eff..ceb376f3587 100644 --- a/code/modules/surgery/coronary_bypass.dm +++ b/code/modules/surgery/coronary_bypass.dm @@ -22,7 +22,7 @@ name = "incise heart" implements = list( TOOL_SCALPEL = 90, - /obj/item/kitchen/knife = 40, + /obj/item/melee/knife = 40, /obj/item/shard = 33) time = 1.6 SECONDS preop_sound = 'sound/surgery/scalpel1.ogg' diff --git a/code/modules/surgery/experimental_dissection.dm b/code/modules/surgery/experimental_dissection.dm index 70dbac246e4..fd3c740b9eb 100644 --- a/code/modules/surgery/experimental_dissection.dm +++ b/code/modules/surgery/experimental_dissection.dm @@ -13,7 +13,7 @@ /datum/surgery_step/clamp_bleeders, /datum/surgery_step/close) possible_locs = list(BODY_ZONE_CHEST) - target_mobtypes = list(/mob/living) //Feel free to dissect devils but they're magic. + target_mobtypes = list(/mob/living) replaced_by = /datum/surgery/advanced/experimental_dissection/adv requires_tech = FALSE var/value_multiplier = 0.25 @@ -34,7 +34,7 @@ /obj/item/scalpel/augment = 75, /obj/item/scalpel/advanced = 60, TOOL_SCALPEL = 45, - /obj/item/kitchen/knife = 30, + /obj/item/melee/knife = 30, /obj/item/shard = 10)// special tools not only cut down time but also improve probability time = 125 silicons_obey_prob = TRUE diff --git a/code/modules/surgery/gastrectomy.dm b/code/modules/surgery/gastrectomy.dm index f4bd48c4729..201e9125c06 100644 --- a/code/modules/surgery/gastrectomy.dm +++ b/code/modules/surgery/gastrectomy.dm @@ -24,8 +24,8 @@ name = "remove lower duodenum" implements = list( TOOL_SCALPEL = 95, - /obj/item/melee/transforming/energy/sword = 33, - /obj/item/kitchen/knife = 40, + /obj/item/melee/energy/sword = 33, + /obj/item/melee/knife = 40, /obj/item/shard = 10) time = 52 experience_given = (MEDICAL_SKILL_ORGAN_FIX*0.8) //for consistency across organ surgeries diff --git a/code/modules/surgery/hepatectomy.dm b/code/modules/surgery/hepatectomy.dm index e612b6fa18c..b5b017831d7 100644 --- a/code/modules/surgery/hepatectomy.dm +++ b/code/modules/surgery/hepatectomy.dm @@ -23,8 +23,8 @@ name = "remove damaged liver section" implements = list( TOOL_SCALPEL = 95, - /obj/item/melee/transforming/energy/sword = 33, - /obj/item/kitchen/knife = 40, + /obj/item/melee/energy/sword = 33, + /obj/item/melee/knife = 40, /obj/item/shard = 25) time = 52 experience_given = (MEDICAL_SKILL_ORGAN_FIX*0.8) //repeatable so not as much xp diff --git a/code/modules/surgery/lobectomy.dm b/code/modules/surgery/lobectomy.dm index 09ef68f03e1..9e9b8e5241a 100644 --- a/code/modules/surgery/lobectomy.dm +++ b/code/modules/surgery/lobectomy.dm @@ -22,8 +22,8 @@ name = "excise damaged lung node" implements = list( TOOL_SCALPEL = 95, - /obj/item/melee/transforming/energy/sword = 33, - /obj/item/kitchen/knife = 40, + /obj/item/melee/energy/sword = 33, + /obj/item/melee/knife = 40, /obj/item/shard = 25) time = 4.2 SECONDS preop_sound = 'sound/surgery/scalpel1.ogg' diff --git a/code/modules/surgery/mechanic_steps.dm b/code/modules/surgery/mechanic_steps.dm index 3730f7cf130..694081f7af7 100644 --- a/code/modules/surgery/mechanic_steps.dm +++ b/code/modules/surgery/mechanic_steps.dm @@ -4,7 +4,7 @@ implements = list( TOOL_SCREWDRIVER = 100, TOOL_SCALPEL = 75, // med borgs could try to unscrew shell with scalpel - /obj/item/kitchen/knife = 50, + /obj/item/melee/knife/kitchen = 50, /obj/item = 10) time = 2.4 SECONDS preop_sound = 'sound/items/screwdriver.ogg' @@ -28,7 +28,7 @@ implements = list( TOOL_SCREWDRIVER = 100, TOOL_SCALPEL = 75, - /obj/item/kitchen/knife = 50, + /obj/item/melee/knife/kitchen = 50, /obj/item = 10) time = 2.4 SECONDS preop_sound = 'sound/items/screwdriver.ogg' diff --git a/code/modules/surgery/mechanical.dm b/code/modules/surgery/mechanical.dm index 0c73c34bd0c..2cf72dab173 100644 --- a/code/modules/surgery/mechanical.dm +++ b/code/modules/surgery/mechanical.dm @@ -33,14 +33,14 @@ TOOL_CAUTERY = 60, TOOL_HEMOSTAT = 60, TOOL_RETRACTOR = 60, - /obj/item/melee/transforming/energy = 40, + /obj/item/melee/energy = 40, /obj/item/gun/energy/laser = 20) time = 2 SECONDS missinghpbonus = 10 /datum/surgery_step/heal/mechanic/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/repairtype - if(tool.tool_behaviour == TOOL_WELDER || tool.tool_behaviour == TOOL_CAUTERY || istype(tool, /obj/item/melee/transforming/energy) || istype(tool, /obj/item/gun/energy/laser)) + if(tool.tool_behaviour == TOOL_WELDER || tool.tool_behaviour == TOOL_CAUTERY || istype(tool, /obj/item/melee/energy) || istype(tool, /obj/item/gun/energy/laser)) brutehealing = 5 burnhealing = 0 repairtype = "dents" diff --git a/code/modules/surgery/organic_steps.dm b/code/modules/surgery/organic_steps.dm index 42018e6c1d8..a3df7efc62a 100644 --- a/code/modules/surgery/organic_steps.dm +++ b/code/modules/surgery/organic_steps.dm @@ -4,8 +4,8 @@ name = "make incision" implements = list( TOOL_SCALPEL = 100, - /obj/item/melee/transforming/energy/sword = 40, - /obj/item/kitchen/knife = 40, + /obj/item/melee/energy/sword = 40, + /obj/item/melee/knife = 40, /obj/item/shard = 25, /obj/item = 15) //any sharp item time = 1.6 SECONDS @@ -151,18 +151,22 @@ name = "saw bone" implements = list( TOOL_SAW = 100, - /obj/item/fireaxe = 50, + /obj/item/melee/axe/fire = 50, + /obj/item/gear_handle/anglegrinder = 50, /obj/item/melee/arm_blade = 40, /obj/item/hatchet = 40, - /obj/item/kitchen/knife/butcher = 33, + /obj/item/melee/knife/butcher = 33, + /obj/item/gun/energy/plasmacutter = 30, /obj/item = 10) //10% success (sort of) with any sharp item with a force>=10 time = 5.4 SECONDS preop_sound = list( /obj/item/circular_saw = 'sound/surgery/saw.ogg', + /obj/item/gear_handle/anglegrinder = 'sound/surgery/saw.ogg', + /obj/item/gun/energy/plasmacutter = 'sound/weapons/plasma_cutter.ogg', /obj/item/melee/arm_blade = 'sound/surgery/scalpel1.ogg', - /obj/item/fireaxe = 'sound/surgery/scalpel1.ogg', + /obj/item/melee/axe/fire = 'sound/surgery/scalpel1.ogg', /obj/item/hatchet = 'sound/surgery/scalpel1.ogg', - /obj/item/kitchen/knife/butcher = 'sound/surgery/scalpel1.ogg', + /obj/item/melee/knife/butcher = 'sound/surgery/scalpel1.ogg', /obj/item = 'sound/surgery/scalpel1.ogg', ) success_sound = 'sound/surgery/bone3.ogg' diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 5d6fac852d5..27ccf1421a3 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -232,17 +232,17 @@ /obj/item/organ/cyberimp/arm/toolset/emag_act(mob/user) for(var/datum/weakref/created_item in items_list) var/obj/potential_knife = created_item.resolve() - if(istype(/obj/item/kitchen/knife/combat/cyborg, potential_knife)) + if(istype(/obj/item/melee/knife/combat/cyborg, potential_knife)) return FALSE to_chat(user, "You unlock [src]'s integrated knife!") - items_list += WEAKREF(new /obj/item/kitchen/knife/combat/cyborg(src)) + items_list += WEAKREF(new /obj/item/melee/knife/combat/cyborg(src)) return TRUE /obj/item/organ/cyberimp/arm/esword name = "arm-mounted energy blade" desc = "An illegal and highly dangerous cybernetic implant that can project a deadly blade of concentrated energy." - items_to_create = list(/obj/item/melee/transforming/energy/blade/hardlight) + items_to_create = list(/obj/item/melee/energy/blade/hardlight) /obj/item/organ/cyberimp/arm/medibeam name = "integrated medical beamgun" @@ -280,7 +280,7 @@ /obj/item/organ/cyberimp/arm/combat name = "combat cybernetics implant" desc = "A powerful cybernetic implant that contains combat modules built into the user's arm." - items_to_create = list(/obj/item/melee/transforming/energy/blade/hardlight, /obj/item/gun/medbeam, /obj/item/borg/stun, /obj/item/assembly/flash/armimplant) + items_to_create = list(/obj/item/melee/energy/blade/hardlight, /obj/item/gun/medbeam, /obj/item/borg/stun, /obj/item/assembly/flash/armimplant) /obj/item/organ/cyberimp/arm/combat/Initialize() . = ..() diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index 26b93d2c464..6ba9ce69d70 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -55,7 +55,7 @@ update_appearance() return 1 -/obj/item/organ/heart/OnEatFrom(eater, feeder) +/obj/item/organ/heart/on_eat_from(eater, feeder) . = ..() beating = FALSE update_appearance() diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index 05ca5131e0f..d5e90e83634 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -53,18 +53,22 @@ var/gas_stimulation_min = 0.002 //Nitryl, Stimulum and Freon var/cold_message = "your face freezing and an icicle forming" - var/cold_level_1_threshold = 260 - var/cold_level_2_threshold = 200 - var/cold_level_3_threshold = 120 + var/chilly_message = "chilly air" + var/chlly_threshold = T20C-7 + var/cold_level_1_threshold = 240 + var/cold_level_2_threshold = 220 + var/cold_level_3_threshold = 200 var/cold_level_1_damage = COLD_GAS_DAMAGE_LEVEL_1 //Keep in mind with gas damage levels, you can set these to be negative, if you want someone to heal, instead. var/cold_level_2_damage = COLD_GAS_DAMAGE_LEVEL_2 var/cold_level_3_damage = COLD_GAS_DAMAGE_LEVEL_3 var/cold_damage_type = BURN var/hot_message = "your face burning and a searing heat" - var/heat_level_1_threshold = 360 - var/heat_level_2_threshold = 400 - var/heat_level_3_threshold = 1000 + var/warm_message = "warm air" + var/warm_threshold = T20C+10 + var/heat_level_1_threshold = 316 + var/heat_level_2_threshold = 323 + var/heat_level_3_threshold = 343 var/heat_level_1_damage = HEAT_GAS_DAMAGE_LEVEL_1 var/heat_level_2_damage = HEAT_GAS_DAMAGE_LEVEL_2 var/heat_level_3_damage = HEAT_GAS_DAMAGE_LEVEL_3 @@ -72,6 +76,9 @@ var/crit_stabilizing_reagent = /datum/reagent/medicine/epinephrine + ///Can we smell odors? If false then we don't smell certain gases + var/can_smell = TRUE + /obj/item/organ/lungs/New() . = ..() populate_gas_info() @@ -85,7 +92,7 @@ damage_type = safe_damage_type ) -/obj/item/organ/lungs/proc/check_breath(datum/gas_mixture/breath, mob/living/carbon/human/H) +/obj/item/organ/lungs/proc/check_breath (datum/gas_mixture/breath, mob/living/carbon/human/H) //TODO: add lung damage = less oxygen gains var/breathModifier = (5-(5*(damage/maxHealth)/2)) //range 2.5 - 5 if(H.status_flags & GODMODE) @@ -212,6 +219,9 @@ H.reagents.add_reagent(R, breath.get_moles(gas) * 2) // 2 represents molarity of O2, we don't have citadel molarity mole_adjustments[gas] = (gas in mole_adjustments) ? mole_adjustments[gas] - breath.get_moles(gas) : -breath.get_moles(gas) + if(can_smell) + handle_smell(breath, H) + for(var/gas in mole_adjustments) breath.adjust_moles(gas, mole_adjustments[gas]) @@ -248,48 +258,183 @@ H.hallucination += 5 H.reagents.add_reagent(/datum/reagent/bz_metabolites,1) - // Nitryl - var/nitryl_pp = PP(breath,GAS_NITRYL) - if (prob(nitryl_pp)) - to_chat(H, "Your mouth feels like it's burning!") - if (nitryl_pp >40) - H.emote("gasp") - H.adjustFireLoss(10) - if (prob(nitryl_pp/2)) - to_chat(H, "Your throat closes up!") - H.silent = max(H.silent, 3) - else - H.adjustFireLoss(nitryl_pp/4) - gas_breathed = breath.get_moles(GAS_NITRYL) - if (gas_breathed > gas_stimulation_min) - H.reagents.add_reagent(/datum/reagent/nitryl,1) - - breath.adjust_moles(GAS_NITRYL, -gas_breathed) - // Freon var/freon_pp = PP(breath,GAS_FREON) - if (prob(nitryl_pp)) + if (prob(freon_pp)) to_chat(H, "Your mouth feels like it's burning!") if (freon_pp >40) H.emote("gasp") - H.adjustFireLoss(15) + H.adjustOxyLoss(15) if (prob(freon_pp/2)) to_chat(H, "Your throat closes up!") H.silent = max(H.silent, 3) else - H.adjustFireLoss(freon_pp/4) + H.adjustOxyLoss(freon_pp/4) gas_breathed = breath.get_moles(GAS_FREON) if (gas_breathed > gas_stimulation_min) H.reagents.add_reagent(/datum/reagent/freon,1) breath.adjust_moles(GAS_FREON, -gas_breathed) - // Stimulum - gas_breathed = PP(breath,GAS_STIMULUM) + // Chlorine + var/chlorine_pp = PP(breath,GAS_CHLORINE) + if (prob(chlorine_pp)) + to_chat(H, span_alert("Your lungs feel awful!")) + if (chlorine_pp >20) + H.emote("gasp") + H.adjustOxyLoss(5) + if (prob(chlorine_pp/2)) + to_chat(H, span_alert("Your throat closes up!")) + H.silent = max(H.silent, 3) + else + H.adjustOxyLoss(round(chlorine_pp/8)) + gas_breathed = breath.get_moles(GAS_CHLORINE) + if (gas_breathed > gas_stimulation_min) + H.reagents.add_reagent(/datum/reagent/chlorine,1) + + breath.adjust_moles(GAS_CHLORINE, -gas_breathed) + // Hydrogen Chloride + var/hydrogen_chloride_pp = PP(breath,GAS_HYDROGEN_CHLORIDE) + if (prob(hydrogen_chloride_pp)) + to_chat(H, span_alert("Your lungs feel terrible!")) + if (hydrogen_chloride_pp >20) + H.emote("gasp") + H.adjustOxyLoss(10) + if (prob(hydrogen_chloride_pp/2)) + to_chat(H, span_alert("Your throat closes up!")) + H.silent = max(H.silent, 3) + else + H.adjustOxyLoss(round(hydrogen_chloride_pp/4)) + if (gas_breathed > gas_stimulation_min) + H.reagents.add_reagent(/datum/reagent/hydrogen_chloride) + + breath.adjust_moles(GAS_HYDROGEN_CHLORIDE, -gas_breathed) + + // Carbon Monoxide + var/carbon_monoxide_pp = PP(breath,GAS_CO) + if (carbon_monoxide_pp > gas_stimulation_min) + H.reagents.add_reagent(/datum/reagent/carbon_monoxide, 1) + var/datum/reagent/carbon_monoxide/monoxide_reagent = H.reagents.has_reagent(/datum/reagent/carbon_monoxide) + if(monoxide_reagent.volume > 10) + monoxide_reagent.metabolization_rate = (10 - carbon_monoxide_pp) + else + monoxide_reagent.metabolization_rate = monoxide_reagent::metabolization_rate + switch(carbon_monoxide_pp) + if (0 to 20) + monoxide_reagent.accumulation = min(monoxide_reagent.accumulation,50) + if (20 to 100) + monoxide_reagent.accumulation = min(monoxide_reagent.accumulation, 150) + H.reagents.add_reagent(/datum/reagent/carbon_monoxide,2) + if (100 to 200) + monoxide_reagent.accumulation = min(monoxide_reagent.accumulation, 250) + H.reagents.add_reagent(/datum/reagent/carbon_monoxide,4) + if (200 to 400) + monoxide_reagent.accumulation = min(monoxide_reagent.accumulation, 250) + H.reagents.add_reagent(/datum/reagent/carbon_monoxide,8) + if (400 to INFINITY) + monoxide_reagent.accumulation = max(monoxide_reagent.accumulation, 450) + H.reagents.add_reagent(/datum/reagent/carbon_monoxide,16) + else + var/datum/reagent/carbon_monoxide/monoxide_reagent = H.reagents.has_reagent(/datum/reagent/carbon_monoxide) + if(monoxide_reagent) + monoxide_reagent.accumulation = min(monoxide_reagent.accumulation, 150) + monoxide_reagent.metabolization_rate = 10 //purges 10 per tick + breath.adjust_moles(GAS_CO, -gas_breathed) + + // Sulfur Dioxide + var/sulfur_dioxide_pp = PP(breath,GAS_SO2) + if (prob(sulfur_dioxide_pp) && !HAS_TRAIT(H, TRAIT_ANALGESIA)) + to_chat(H, span_alert("It hurts to breath.")) + if (sulfur_dioxide_pp >40) + H.emote("gasp") + H.adjustOxyLoss(5) + if (prob(sulfur_dioxide_pp/2)) + to_chat(H, span_alert("Your throat closes up!")) + H.silent = max(H.silent, 3) + else + H.adjustOxyLoss(round(sulfur_dioxide_pp/8)) + gas_breathed = breath.get_moles(GAS_SO2) + if (gas_breathed > gas_stimulation_min) + H.reagents.add_reagent(/datum/reagent/sulfur_dioxide,1) + + breath.adjust_moles(GAS_SO2, -gas_breathed) + + // Ozone + var/ozone_pp = PP(breath,GAS_O3) + if (prob(ozone_pp)) + to_chat(H, span_alert("Your heart feels funny.")) + if (ozone_pp >40) + H.emote("gasp") + H.adjustOxyLoss(5) + if (prob(ozone_pp/2)) + to_chat(H, span_alert("Your throat closes up!")) + H.silent = max(H.silent, 3) + gas_breathed = breath.get_moles(GAS_O3) + if (gas_breathed > gas_stimulation_min) + H.reagents.add_reagent(/datum/reagent/ozone,1) + + breath.adjust_moles(GAS_O3, -gas_breathed) + + // Ammonia + var/ammonia_pp = PP(breath,GAS_AMMONIA) + if (prob(ammonia_pp)*2) + to_chat(H, span_alert("Your lungs feel terrible!")) + + if (ammonia_pp > 10) + H.emote("gasp") + H.adjustOxyLoss(5) + H.adjustOxyLoss(round(ammonia_pp/8)) + if (prob(ammonia_pp/2)) + to_chat(H, span_alert("Your throat burns!")) + H.silent = max(H.silent, 2) + else + H.adjustOxyLoss(round(ammonia_pp/8)) + gas_breathed = breath.get_moles(GAS_AMMONIA) if (gas_breathed > gas_stimulation_min) - var/existing = H.reagents.get_reagent_amount(/datum/reagent/stimulum) - H.reagents.add_reagent(/datum/reagent/stimulum, max(0, 5 - existing)) - breath.adjust_moles(GAS_STIMULUM, -gas_breathed) + if(prob(25))//unlike the chlorine reagent ammonia doesnt do lung damage do we handle it here instead + H.adjustOrganLoss(ORGAN_SLOT_LUNGS,2*1.6) + //ammonia is actually disposed of naturally by humans, but extremely poorly by non mammals, maybe we can make it toxic ONLY to certain species (plural) sometime? + H.reagents.add_reagent(/datum/reagent/ammonia,1) + + breath.adjust_moles(GAS_AMMONIA, -gas_breathed) + +///handles the smell a few gases have +/obj/item/organ/lungs/proc/handle_smell(datum/gas_mixture/breath, mob/living/carbon/human/H) + var/pressure = breath.return_pressure() + var/total_moles = breath.total_moles() + + var/list/gases_id = breath.get_gases() + var/list/gases = list() + + for(var/ID as anything in gases_id) + LAZYADD(gases, GLOB.gas_data.datums[ID]) + for(var/datum/gas/checked_gas as anything in gases) + if(!istype(checked_gas)) + continue + if(!checked_gas.odor_power || !checked_gas.odor) + continue + + var/odor_pp = PP(breath,checked_gas.id) * checked_gas.odor_power + + if(odor_pp > 8) //level 3 + if(checked_gas.odor[4]) + to_chat(H, checked_gas.odor[4]) + if(checked_gas.odor_emotes && prob(20)) + H.emote("cough") + + else if(odor_pp > 2) //level 2 + if(checked_gas.odor[3]) + to_chat(H, checked_gas.odor[3]) + if(checked_gas.odor_emotes && prob(5)) + H.emote("cough") + + else if(odor_pp > gas_stimulation_min) //level 1 + if(checked_gas.odor[2]) + to_chat(H, checked_gas.odor[2]) // danger becuse this might be over safety threshold in the case of ammonia + + else if (prob(odor_pp)*20) //level 0 + if(checked_gas.odor[1]) + to_chat(H, checked_gas.odor[1]) /obj/item/organ/lungs/proc/handle_too_little_breath(mob/living/carbon/human/H = null, breath_pp = 0, safe_breath_min = 0, true_pp = 0) . = 0 @@ -308,35 +453,114 @@ H.failed_last_breath = TRUE -/obj/item/organ/lungs/proc/handle_breath_temperature(datum/gas_mixture/breath, mob/living/carbon/human/H) // called by human/life, handles temperatures +/obj/item/organ/lungs/proc/handle_breath_temperature(datum/gas_mixture/breath, mob/living/carbon/human/breather) // called by human/life, handles temperatures + if(!breath) + return var/breath_temperature = breath.return_temperature() - if(!HAS_TRAIT(H, TRAIT_RESISTCOLD)) // COLD DAMAGE - var/cold_modifier = H.dna.species.coldmod + if(!HAS_TRAIT(breather, TRAIT_RESISTCOLD)) // COLD DAMAGE + var/cold_modifier = breather.dna.species.coldmod + var/breath_effect_prob = 0 + // var/part_count = 0 if(breath_temperature < cold_level_3_threshold) - H.apply_damage_type(cold_level_3_damage*cold_modifier, cold_damage_type) + breather.apply_damage(cold_level_3_damage * cold_modifier, cold_damage_type, spread_damage = TRUE) + breath_effect_prob = 100 + // part_count = 8 if(breath_temperature > cold_level_3_threshold && breath_temperature < cold_level_2_threshold) - H.apply_damage_type(cold_level_2_damage*cold_modifier, cold_damage_type) + breather.apply_damage(cold_level_2_damage * cold_modifier, cold_damage_type, spread_damage = TRUE) + breath_effect_prob = 75 + // part_count = 5 if(breath_temperature > cold_level_2_threshold && breath_temperature < cold_level_1_threshold) - H.apply_damage_type(cold_level_1_damage*cold_modifier, cold_damage_type) - if(breath_temperature < cold_level_1_threshold) - if(prob(20)) - to_chat(H, "You feel [cold_message] in your [name]!") + breather.apply_damage(cold_level_1_damage * cold_modifier, cold_damage_type, spread_damage = TRUE) + breath_effect_prob = 50 + // part_count = 3 + if(breath_temperature > cold_level_1_threshold) + breath_effect_prob = 25 + // part_count = 2 - if(!HAS_TRAIT(H, TRAIT_RESISTHEAT)) // HEAT DAMAGE - var/heat_modifier = H.dna.species.heatmod + if(breath_temperature < cold_level_1_threshold) + if(prob(sqrt(breath_effect_prob) * 6)) + to_chat(breather, "You feel [cold_message] in your [name]!") + else if(breath_temperature < chlly_threshold) + if(!breath_effect_prob) + breath_effect_prob = 20 + // part_count = 1 + if(prob(sqrt(breath_effect_prob) * 6)) + to_chat(breather, "You feel [chilly_message] in your [name].") + if(breath_temperature < chlly_threshold) + if(breath_effect_prob) + // Breathing into your mask, no particle. We can add fogged up glasses later + if(breather.is_mouth_covered()) + return + // Even though breathing via internals TECHNICALLY exhales into the environment, we'll still block it + if(breather.internal) + return + + if(!HAS_TRAIT(breather, TRAIT_RESISTHEAT)) // HEAT DAMAGE + var/heat_modifier = breather.dna.species.heatmod + var/heat_message_prob = 0 if(breath_temperature > heat_level_1_threshold && breath_temperature < heat_level_2_threshold) - H.apply_damage_type(heat_level_1_damage*heat_modifier, heat_damage_type) + breather.apply_damage(heat_level_1_damage * heat_modifier, heat_damage_type, spread_damage = TRUE) + heat_message_prob = 100 if(breath_temperature > heat_level_2_threshold && breath_temperature < heat_level_3_threshold) - H.apply_damage_type(heat_level_2_damage*heat_modifier, heat_damage_type) + breather.apply_damage(heat_level_2_damage * heat_modifier, heat_damage_type, spread_damage = TRUE) + heat_message_prob = 75 if(breath_temperature > heat_level_3_threshold) - H.apply_damage_type(heat_level_3_damage*heat_modifier, heat_damage_type) + breather.apply_damage(heat_level_3_damage * heat_modifier, heat_damage_type, spread_damage = TRUE) + heat_message_prob = 50 if(breath_temperature > heat_level_1_threshold) - if(prob(20)) - to_chat(H, "You feel [hot_message] in your [name]!") + heat_message_prob = 25 + + if(breath_temperature > heat_level_1_threshold) + if(prob(sqrt(heat_message_prob) * 6)) + to_chat(breather, "You feel [hot_message] in your [name]!") + else if(breath_temperature > warm_threshold) + if(!heat_message_prob) + heat_message_prob = 20 + if(prob(sqrt(heat_message_prob) * 6)) + to_chat(breather, "You feel [warm_message] in your [name].") + + // The air you breathe out should match your body temperature - breath.set_temperature(H.bodytemperature) + breath.set_temperature(breather.bodytemperature) + +/// Creates a particle effect off the mouth of the passed mob. +/obj/item/organ/lungs/proc/emit_breath_particle(mob/living/carbon/human/breather, particle_type, part_count) + ASSERT(ispath(particle_type, /particles)) + + var/obj/effect/abstract/particle_holder/holder = new(breather, particle_type) + var/particles/breath_particle = holder.particles + var/breath_dir = breather.dir + + var/list/particle_grav = list(0, 0.1, 0) + var/list/particle_pos = list(0, 10, 0) + if(breath_dir & NORTH) + particle_grav[2] = 0.2 + breath_particle.rotation = pick(-45, 45) + // Layer it behind the mob since we're facing away from the camera + holder.pixel_w -= 4 + holder.pixel_y += 4 + if(breath_dir & WEST) + particle_grav[1] = -0.2 + particle_pos[1] = -5 + breath_particle.rotation = -45 + if(breath_dir & EAST) + particle_grav[1] = 0.2 + particle_pos[1] = 5 + breath_particle.rotation = 45 + if(breath_dir & SOUTH) + particle_grav[2] = 0.2 + breath_particle.rotation = pick(-45, 45) + // Shouldn't be necessary but just for parity + holder.pixel_w += 4 + holder.pixel_y -= 4 + + breath_particle.gravity = particle_grav + breath_particle.position = particle_pos + breath_particle.count = part_count + + QDEL_IN(holder, breath_particle.lifespan) /obj/item/organ/lungs/on_life() . = ..() @@ -361,6 +585,8 @@ breathing_class = BREATH_PLASMA + can_smell = FALSE + /obj/item/organ/lungs/plasmaman/populate_gas_info() ..() gas_max -= GAS_PLASMA diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index b8871b21524..72b7fba9d2d 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -38,7 +38,14 @@ /obj/item/organ/Initialize() . = ..() if(organ_flags & ORGAN_EDIBLE) - AddComponent(/datum/component/edible, food_reagents, null, RAW | MEAT | GORE, null, 10, null, null, null, COLOR_PINK, CALLBACK(src, PROC_REF(OnEatFrom))) + AddComponent(/datum/component/edible,\ + initial_reagents = food_reagents,\ + foodtypes = RAW | MEAT | GORE,\ + volume = 10,\ + filling_color = COLOR_PINK,\ + pre_eat = CALLBACK(src, PROC_REF(pre_eat)),\ + on_compost = CALLBACK(src, PROC_REF(pre_compost)),\ + after_eat = CALLBACK(src, PROC_REF(on_eat_from))) ///When you take a bite you cant jam it in for surgery anymore. /obj/item/organ/proc/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) @@ -133,8 +140,21 @@ STOP_PROCESSING(SSobj, src) return ..() -/obj/item/organ/proc/OnEatFrom(eater, feeder) - useable = FALSE //You can't use it anymore after eating it you spaztic +// Put any "can we eat this" checks for edible organs here +/obj/item/organ/proc/pre_eat(eater, feeder) + if(iscarbon(eater)) + var/mob/living/carbon/target = eater + for(var/S in target.surgeries) + var/datum/surgery/surgery = S + if(surgery.location == zone) + return FALSE + return TRUE + +/obj/item/organ/proc/pre_compost(user) + return TRUE + +/obj/item/organ/proc/on_eat_from(eater, feeder) + useable = FALSE //You bit it, no more using it /obj/item/organ/item_action_slot_check(slot,mob/user) return //so we don't grant the organ's action to mobs who pick up the organ. diff --git a/code/modules/surgery/organs/stomach.dm b/code/modules/surgery/organs/stomach.dm index 62ca9cd2fe8..bf229226e25 100644 --- a/code/modules/surgery/organs/stomach.dm +++ b/code/modules/surgery/organs/stomach.dm @@ -48,37 +48,50 @@ /obj/item/organ/stomach/proc/handle_disgust(mob/living/carbon/human/H) if(H.disgust) var/pukeprob = 5 + 0.05 * H.disgust - if(H.disgust >= DISGUST_LEVEL_GROSS) - if(prob(10)) - H.stuttering += 1 - H.confused += 2 - if(prob(10) && !H.stat) - to_chat(H, "You feel kind of iffy...") - H.jitteriness = max(H.jitteriness - 3, 0) - if(H.disgust >= DISGUST_LEVEL_VERYGROSS) - if(prob(pukeprob)) //iT hAndLeS mOrE ThaN PukInG - H.confused += 2.5 - H.stuttering += 1 - H.vomit(10, 0, 1, 0, 1, 0) - H.Dizzy(5) - if(H.disgust >= DISGUST_LEVEL_DISGUSTED) - if(prob(25)) - H.blur_eyes(3) //We need to add more shit down here + switch(H.disgust) + if(0 to DISGUST_LEVEL_GROSS) + //throw alerts + H.clear_alert("disgust") + SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "disgust") + //do our stupid bullshit + if(prob(10)) + H.stuttering += 1 + H.confused += 2 + if(!H.stat) + to_chat(H, span_warning("You feel queasy...")) + H.jitteriness = max(H.jitteriness - 3, 0) + if(DISGUST_LEVEL_GROSS to DISGUST_LEVEL_VERYGROSS) + //throw alerts + H.throw_alert("disgust", /atom/movable/screen/alert/gross) + SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/gross) + //do the nausea stuff + if(prob(pukeprob)) //iT hAndLeS mOrE ThaN PukInG + H.vomit(10, 0, 0, 0, 1, 0) + H.confused += 2.5 + H.stuttering += 1 + H.Dizzy(5) + if(DISGUST_LEVEL_VERYGROSS to DISGUST_LEVEL_DISGUSTED) + //do the thing + H.throw_alert("disgust", /atom/movable/screen/alert/verygross) + SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/verygross) + //you're not gonna believe it we do the other thing too + + if(prob(pukeprob)) + H.blur_eyes(3) + if(prob(25)) + H.manual_emote(pick("tears up!", "whimpers!", "chokes!")) + H.vomit(20, 0, 1, 1, 1, 0) + H.confused += 2.5 + H.stuttering += 1 + if(DISGUST_LEVEL_DISGUSTED to DISGUST_LEVEL_MAXEDOUT) + H.throw_alert("disgust", /atom/movable/screen/alert/disgusted) + SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/disgusted) + + //profusely vomiting. + if(prob(pukeprob)) + H.vomit(40, 0, 1, 1, 1, 0) H.adjust_disgust(-0.5 * disgust_metabolism) - switch(H.disgust) - if(0 to DISGUST_LEVEL_GROSS) - H.clear_alert("disgust") - SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "disgust") - if(DISGUST_LEVEL_GROSS to DISGUST_LEVEL_VERYGROSS) - H.throw_alert("disgust", /atom/movable/screen/alert/gross) - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/gross) - if(DISGUST_LEVEL_VERYGROSS to DISGUST_LEVEL_DISGUSTED) - H.throw_alert("disgust", /atom/movable/screen/alert/verygross) - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/verygross) - if(DISGUST_LEVEL_DISGUSTED to INFINITY) - H.throw_alert("disgust", /atom/movable/screen/alert/disgusted) - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/disgusted) /obj/item/organ/stomach/Remove(mob/living/carbon/M, special = 0) var/mob/living/carbon/human/H = owner diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index 4469410f9b5..729dc0fe840 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -276,7 +276,7 @@ /obj/item/organ/tongue/robot/emp_act(severity) owner.apply_effect(EFFECT_STUTTER, 120) - owner.emote("scream") + owner.force_scream() to_chat(owner, "Alert: Vocal cords are malfunctioning.") /obj/item/organ/tongue/robot/handle_speech(datum/source, list/speech_args) diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index c0313adb253..4c69dd532a8 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -35,13 +35,13 @@ /datum/action/item_action/organ_action/colossus name = "Voice of God" - var/obj/item/organ/vocal_cords/colossus/cords = null - -/datum/action/item_action/organ_action/colossus/New() - ..() - cords = target /datum/action/item_action/organ_action/colossus/IsAvailable() + if(!istype(target, /obj/item/organ/vocal_cords/colossus)) + return FALSE + + var/obj/item/organ/vocal_cords/colossus/cords = target + if(world.time < cords.next_command) return FALSE if(!owner) @@ -58,6 +58,7 @@ /datum/action/item_action/organ_action/colossus/Trigger() . = ..() if(!IsAvailable()) + var/obj/item/organ/vocal_cords/colossus/cords = target if(world.time < cords.next_command) to_chat(owner, "You must wait [DisplayTimeText(cords.next_command - world.time)] before Speaking again.") return @@ -99,10 +100,7 @@ var/log_message = uppertext(message) if(!span_list || !span_list.len) - if(iscultist(user)) - span_list = list("narsiesmall") - else - span_list = list() + span_list = list() user.say(message, spans = span_list, sanitize = FALSE) @@ -135,10 +133,6 @@ if(user.mind.assigned_role == "Mime") power_multiplier *= 0.5 - //Cultists are closer to their gods and are more powerful, but they'll give themselves away - if(iscultist(user)) - power_multiplier *= 2 - //Try to check if the speaker specified a name or a job to focus on var/list/specific_listeners = list() var/found_string = null @@ -148,15 +142,8 @@ for(var/V in listeners) var/mob/living/L = V - var/datum/antagonist/devil/devilinfo = is_devil(L) - if(devilinfo && findtext(message, devilinfo.truename)) - var/start = findtext(message, devilinfo.truename) - listeners = list(L) //Devil names are unique. - power_multiplier *= 5 //if you're a devil and god himself addressed you, you fucked up - //Cut out the name so it doesn't trigger commands - message = copytext(message, 1, start) + copytext(message, start + length(devilinfo.truename)) - break - else if(findtext(message, L.real_name, 1, length(L.real_name) + 1)) + + if(findtext(message, L.real_name, 1, length(L.real_name) + 1)) specific_listeners += L //focus on those with the specified name //Cut out the name so it doesn't trigger commands found_string = L.real_name @@ -301,14 +288,14 @@ cooldown = COOLDOWN_DAMAGE for(var/V in listeners) var/mob/living/L = V - L.adjust_bodytemperature(50 * power_multiplier) + L.adjust_bodytemperature(5 * power_multiplier) //COLD else if((findtext(message, cold_words))) cooldown = COOLDOWN_DAMAGE for(var/V in listeners) var/mob/living/L = V - L.adjust_bodytemperature(-50 * power_multiplier) + L.adjust_bodytemperature(-5 * power_multiplier) //REPULSE else if((findtext(message, repulse_words))) @@ -331,11 +318,7 @@ for(var/V in listeners) var/mob/living/L = V var/text = "" - if(is_devil(L)) - var/datum/antagonist/devil/devilinfo = is_devil(L) - text = devilinfo.truename - else - text = L.real_name + text = L.real_name addtimer(CALLBACK(L, TYPE_PROC_REF(/atom/movable, say), text), 5 * i) i++ @@ -439,14 +422,6 @@ var/mob/living/L = V L.emote("flip") - //SPEAK - else if((findtext(message, speak_words))) - cooldown = COOLDOWN_MEME - for(var/V in listeners) - var/mob/living/L = V - addtimer(CALLBACK(L, TYPE_PROC_REF(/atom/movable, say), pick_list_replacements(BRAIN_DAMAGE_FILE, "brain_damage")), 5 * i) - i++ - //GET UP else if((findtext(message, getup_words))) cooldown = COOLDOWN_DAMAGE //because stun removal diff --git a/code/modules/surgery/plastic_surgery.dm b/code/modules/surgery/plastic_surgery.dm index 9c87a5b5a93..ed54575bb1b 100644 --- a/code/modules/surgery/plastic_surgery.dm +++ b/code/modules/surgery/plastic_surgery.dm @@ -8,7 +8,7 @@ name = "reshape face" implements = list( TOOL_SCALPEL = 100, - /obj/item/kitchen/knife = 40, + /obj/item/melee/knife = 40, TOOL_WIRECUTTER = 33) time = 64 experience_given = MEDICAL_SKILL_MEDIUM diff --git a/code/modules/surgery/revival.dm b/code/modules/surgery/revival.dm index 13e4e3b784c..7aef39fb545 100644 --- a/code/modules/surgery/revival.dm +++ b/code/modules/surgery/revival.dm @@ -42,7 +42,7 @@ . = TRUE if(istype(tool, /obj/item/shockpaddles)) var/obj/item/shockpaddles/S = tool - if((S.req_defib && !S.defib.powered) || !S.wielded || S.cooldown || S.busy) + if((S.req_defib && !S.defib.powered) || !HAS_TRAIT(S, TRAIT_WIELDED) || S.cooldown || S.busy) to_chat(user, "You need to wield both paddles, and [S.defib] must be powered!") return FALSE if(istype(tool, /obj/item/melee/baton)) diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index 317297c4fe8..a9235c07b74 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -11,7 +11,7 @@ custom_materials = list(/datum/material/iron=6000, /datum/material/glass=3000) flags_1 = CONDUCT_1 item_flags = SURGICAL_TOOL - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL tool_behaviour = TOOL_RETRACTOR toolspeed = 1 @@ -19,7 +19,6 @@ desc = "Micro-mechanical manipulator for retracting stuff." toolspeed = 0.5 - /obj/item/hemostat name = "hemostat" desc = "A tiny needle-eye has been machined into one of the clamps to streamline the application of ligature." @@ -33,7 +32,7 @@ custom_materials = list(/datum/material/iron=5000, /datum/material/glass=2500) flags_1 = CONDUCT_1 item_flags = SURGICAL_TOOL - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL attack_verb = list("attacked", "pinched") tool_behaviour = TOOL_HEMOSTAT toolspeed = 1 @@ -42,7 +41,6 @@ desc = "Tiny servos power a pair of pincers to stop bleeding." toolspeed = 0.5 - /obj/item/cautery name = "cautery" desc = "An obtuse, rectangular design is just big enough to accomodate this cautery's incredibly durable battery." @@ -56,7 +54,7 @@ custom_materials = list(/datum/material/iron=2500, /datum/material/glass=750) flags_1 = CONDUCT_1 item_flags = SURGICAL_TOOL - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL attack_verb = list("burnt") tool_behaviour = TOOL_CAUTERY toolspeed = 1 @@ -97,7 +95,6 @@ w_class = WEIGHT_CLASS_SMALL toolspeed = 0.5 - /obj/item/scalpel name = "scalpel" desc = "The handle of the scalpel is an awkward ergonomic mold, designed to encourage proper form. A blade release button on the end allows for easy cleaning and replacement." @@ -111,7 +108,7 @@ flags_1 = CONDUCT_1 item_flags = SURGICAL_TOOL | EYE_STAB force = 10 - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL throwforce = 5 throw_speed = 3 throw_range = 5 @@ -171,7 +168,7 @@ //spases 4 legibilititie icon_state = "swa" - icon = 'icons/obj/items_and_weapons.dmi' + icon = 'icons/obj/items.dmi' lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' diff --git a/code/modules/tgs/README.md b/code/modules/tgs/README.md index 6319028d810..35ca73d7e9a 100644 --- a/code/modules/tgs/README.md +++ b/code/modules/tgs/README.md @@ -1,6 +1,6 @@ # DMAPI Internals -This folder should be placed on it's own inside a codebase that wishes to use the TGS DMAPI. Warranty void if modified. +This folder should be placed on its own inside a codebase that wishes to use the TGS DMAPI. Warranty void if modified. - [includes.dm](./includes.dm) is the file that should be included by DM code, it handles including the rest. - The [core](./core) folder includes all code not directly part of any API version. diff --git a/code/modules/tgs/core/README.md b/code/modules/tgs/core/README.md index b82d8f49e29..965e21b549a 100644 --- a/code/modules/tgs/core/README.md +++ b/code/modules/tgs/core/README.md @@ -3,7 +3,7 @@ This folder contains all DMAPI code not directly involved in an API. - [_definitions.dm](./definitions.dm) contains defines needed across DMAPI internals. +- [byond_world_export.dm](./byond_world_export.dm) contains the default `/datum/tgs_http_handler` implementation which uses `world.Export()`. - [core.dm](./core.dm) contains the implementations of the `/world/proc/TgsXXX()` procs. Many map directly to the `/datum/tgs_api` functions. It also contains the /datum selection and setup code. - [datum.dm](./datum.dm) contains the `/datum/tgs_api` declarations that all APIs must implement. - [tgs_version.dm](./tgs_version.dm) contains the `/datum/tgs_version` definition -- diff --git a/code/modules/tgs/core/byond_world_export.dm b/code/modules/tgs/core/byond_world_export.dm new file mode 100644 index 00000000000..6ef8d841b8f --- /dev/null +++ b/code/modules/tgs/core/byond_world_export.dm @@ -0,0 +1,22 @@ +/datum/tgs_http_handler/byond_world_export + +/datum/tgs_http_handler/byond_world_export/PerformGet(url) + // This is an infinite sleep until we get a response + var/export_response = world.Export(url) + TGS_DEBUG_LOG("byond_world_export: Export complete") + + if(!export_response) + TGS_ERROR_LOG("byond_world_export: Failed request: [url]") + return new /datum/tgs_http_result(null, FALSE) + + var/content = export_response["CONTENT"] + if(!content) + TGS_ERROR_LOG("byond_world_export: Failed request, missing content!") + return new /datum/tgs_http_result(null, FALSE) + + var/response_json = TGS_FILE2TEXT_NATIVE(content) + if(!response_json) + TGS_ERROR_LOG("byond_world_export: Failed request, failed to load content!") + return new /datum/tgs_http_result(null, FALSE) + + return new /datum/tgs_http_result(response_json, TRUE) diff --git a/code/modules/tgs/core/core.dm b/code/modules/tgs/core/core.dm index 15622228e91..63cb5a2c351 100644 --- a/code/modules/tgs/core/core.dm +++ b/code/modules/tgs/core/core.dm @@ -1,4 +1,4 @@ -/world/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE) +/world/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE, datum/tgs_http_handler/http_handler = null) var/current_api = TGS_READ_GLOBAL(tgs) if(current_api) TGS_ERROR_LOG("API datum already set (\ref[current_api] ([current_api]))! Was TgsNew() called more than once?") @@ -55,7 +55,10 @@ TGS_ERROR_LOG("Invalid parameter for event_handler: [event_handler]") event_handler = null - var/datum/tgs_api/new_api = new api_datum(event_handler, version) + if(!http_handler) + http_handler = new /datum/tgs_http_handler/byond_world_export + + var/datum/tgs_api/new_api = new api_datum(event_handler, version, http_handler) TGS_WRITE_GLOBAL(tgs, new_api) diff --git a/code/modules/tgs/core/datum.dm b/code/modules/tgs/core/datum.dm index f734fd0527f..3ca53e9bf7c 100644 --- a/code/modules/tgs/core/datum.dm +++ b/code/modules/tgs/core/datum.dm @@ -6,7 +6,7 @@ TGS_DEFINE_AND_SET_GLOBAL(tgs, null) var/list/warned_deprecated_command_runs -/datum/tgs_api/New(datum/tgs_event_handler/event_handler, datum/tgs_version/version) +/datum/tgs_api/New(datum/tgs_event_handler/event_handler, datum/tgs_version/version, datum/tgs_http_handler/http_handler) ..() src.event_handler = event_handler src.version = version diff --git a/code/modules/tgs/includes.dm b/code/modules/tgs/includes.dm index 23b714f9d06..f5118ed55a3 100644 --- a/code/modules/tgs/includes.dm +++ b/code/modules/tgs/includes.dm @@ -1,4 +1,5 @@ #include "core\_definitions.dm" +#include "core\byond_world_export.dm" #include "core\core.dm" #include "core\datum.dm" #include "core\tgs_version.dm" diff --git a/code/modules/tgs/v5/__interop_version.dm b/code/modules/tgs/v5/__interop_version.dm index f4806f7adb9..29ea239ad84 100644 --- a/code/modules/tgs/v5/__interop_version.dm +++ b/code/modules/tgs/v5/__interop_version.dm @@ -1 +1 @@ -"5.9.0" +"5.10.0" diff --git a/code/modules/tgs/v5/_defines.dm b/code/modules/tgs/v5/_defines.dm index 92c7a8388a7..a47bfd78000 100644 --- a/code/modules/tgs/v5/_defines.dm +++ b/code/modules/tgs/v5/_defines.dm @@ -95,6 +95,7 @@ #define DMAPI5_TOPIC_PARAMETER_NEW_SERVER_VERSION "newServerVersion" #define DMAPI5_TOPIC_PARAMETER_BROADCAST_MESSAGE "broadcastMessage" +#define DMAPI5_TOPIC_RESPONSE_CLIENT_COUNT "clientCount" #define DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE "commandResponse" #define DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE_MESSAGE "commandResponseMessage" #define DMAPI5_TOPIC_RESPONSE_CHAT_RESPONSES "chatResponses" diff --git a/code/modules/tgs/v5/api.dm b/code/modules/tgs/v5/api.dm index 95b8edd3ee5..3e328fc7c27 100644 --- a/code/modules/tgs/v5/api.dm +++ b/code/modules/tgs/v5/api.dm @@ -31,9 +31,12 @@ var/detached = FALSE -/datum/tgs_api/v5/New() + var/datum/tgs_http_handler/http_handler + +/datum/tgs_api/v5/New(datum/tgs_event_handler/event_handler, datum/tgs_version/version, datum/tgs_http_handler/http_handler) . = ..() interop_version = version + src.http_handler = http_handler TGS_DEBUG_LOG("V5 API created: [json_encode(args)]") /datum/tgs_api/v5/ApiVersion() @@ -50,7 +53,9 @@ version = null // we want this to be the TGS version, not the interop version // sleep once to prevent an issue where world.Export on the first tick can hang indefinitely + TGS_DEBUG_LOG("Starting Export bug prevention sleep tick. time:[world.time] sleep_offline:[world.sleep_offline]") sleep(world.tick_lag) + TGS_DEBUG_LOG("Export bug prevention sleep complete") var/list/bridge_response = Bridge(DMAPI5_BRIDGE_COMMAND_STARTUP, list(DMAPI5_BRIDGE_PARAMETER_MINIMUM_SECURITY_LEVEL = minimum_required_security_level, DMAPI5_BRIDGE_PARAMETER_VERSION = api_version.raw_parameter, DMAPI5_PARAMETER_CUSTOM_COMMANDS = ListCustomCommands(), DMAPI5_PARAMETER_TOPIC_PORT = GetTopicPort())) if(!istype(bridge_response)) diff --git a/code/modules/tgs/v5/bridge.dm b/code/modules/tgs/v5/bridge.dm index 0c5e701a32b..62201fcc9e5 100644 --- a/code/modules/tgs/v5/bridge.dm +++ b/code/modules/tgs/v5/bridge.dm @@ -78,27 +78,24 @@ WaitForReattach(FALSE) TGS_DEBUG_LOG("Bridge request start") - // This is an infinite sleep until we get a response - var/export_response = world.Export(bridge_request) + var/datum/tgs_http_result/result = http_handler.PerformGet(bridge_request) TGS_DEBUG_LOG("Bridge request complete") - if(!export_response) - TGS_ERROR_LOG("Failed bridge request: [bridge_request]") + if(isnull(result)) + TGS_ERROR_LOG("Failed bridge request, handler returned null!") return - var/content = export_response["CONTENT"] - if(!content) - TGS_ERROR_LOG("Failed bridge request, missing content!") + if(!istype(result) || result.type != /datum/tgs_http_result) + TGS_ERROR_LOG("Failed bridge request, handler returned non-[/datum/tgs_http_result]!") return - var/response_json = TGS_FILE2TEXT_NATIVE(content) - if(!response_json) - TGS_ERROR_LOG("Failed bridge request, failed to load content!") + if(!result.success) + TGS_DEBUG_LOG("Failed bridge request, HTTP request failed!") return - var/list/bridge_response = json_decode(response_json) + var/list/bridge_response = json_decode(result.response_text) if(!bridge_response) - TGS_ERROR_LOG("Failed bridge request, bad json: [response_json]") + TGS_ERROR_LOG("Failed bridge request, bad json: [result.response_text]") return var/error = bridge_response[DMAPI5_RESPONSE_ERROR_MESSAGE] diff --git a/code/modules/tgs/v5/topic.dm b/code/modules/tgs/v5/topic.dm index e1f2cb63857..59e5e63e5cd 100644 --- a/code/modules/tgs/v5/topic.dm +++ b/code/modules/tgs/v5/topic.dm @@ -149,7 +149,9 @@ if(DMAPI5_TOPIC_COMMAND_HEALTHCHECK) if(event_handler && event_handler.receive_health_checks) event_handler.HandleEvent(TGS_EVENT_HEALTH_CHECK) - return TopicResponse() + var/list/health_check_response = TopicResponse() + health_check_response[DMAPI5_TOPIC_RESPONSE_CLIENT_COUNT] = TGS_CLIENT_COUNT + return health_check_response; if(DMAPI5_TOPIC_COMMAND_WATCHDOG_REATTACH) detached = FALSE diff --git a/code/modules/tgs/v5/undefs.dm b/code/modules/tgs/v5/undefs.dm index 237207fdfd0..acd19dfa641 100644 --- a/code/modules/tgs/v5/undefs.dm +++ b/code/modules/tgs/v5/undefs.dm @@ -18,7 +18,6 @@ #undef DMAPI5_PARAMETER_ACCESS_IDENTIFIER #undef DMAPI5_PARAMETER_CUSTOM_COMMANDS -#undef DMAPI5_PARAMETER_TOPIC_PORT #undef DMAPI5_CHUNK #undef DMAPI5_CHUNK_PAYLOAD @@ -95,6 +94,7 @@ #undef DMAPI5_TOPIC_PARAMETER_NEW_SERVER_VERSION #undef DMAPI5_TOPIC_PARAMETER_BROADCAST_MESSAGE +#undef DMAPI5_TOPIC_RESPONSE_CLIENT_COUNT #undef DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE #undef DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE_MESSAGE #undef DMAPI5_TOPIC_RESPONSE_CHAT_RESPONSES diff --git a/code/modules/tgui/states/zlevel.dm b/code/modules/tgui/states/zlevel.dm index 152e35803d9..6c4fb13f646 100644 --- a/code/modules/tgui/states/zlevel.dm +++ b/code/modules/tgui/states/zlevel.dm @@ -12,6 +12,6 @@ GLOBAL_DATUM_INIT(z_state, /datum/ui_state/z_state, new) /datum/ui_state/z_state/can_use_topic(src_object, mob/user) var/turf/turf_obj = get_turf(src_object) var/turf/turf_usr = get_turf(user) - if(turf_obj && turf_usr && turf_obj.virtual_z() == turf_usr.virtual_z()) + if(turf_obj && turf_usr && turf_obj.virtual_z == turf_usr.virtual_z) return UI_INTERACTIVE return UI_CLOSE diff --git a/code/modules/tgui/tgui_alert.dm b/code/modules/tgui/tgui_alert.dm index 9d2dd3b5a05..f732bda9abe 100644 --- a/code/modules/tgui/tgui_alert.dm +++ b/code/modules/tgui/tgui_alert.dm @@ -80,7 +80,7 @@ start_time = world.time QDEL_IN(src, timeout) -/datum/tgui_modal/Destroy(force, ...) +/datum/tgui_modal/Destroy(force) SStgui.close_uis(src) QDEL_NULL(buttons) . = ..() @@ -141,7 +141,7 @@ ..(user, title, message, buttons, timeout) src.callback = callback -/datum/tgui_modal/async/Destroy(force, ...) +/datum/tgui_modal/async/Destroy(force) QDEL_NULL(callback) . = ..() diff --git a/code/modules/tgui/tgui_input_list.dm b/code/modules/tgui/tgui_input_list.dm index a02dfac5f55..2b2c2149683 100644 --- a/code/modules/tgui/tgui_input_list.dm +++ b/code/modules/tgui/tgui_input_list.dm @@ -102,7 +102,7 @@ start_time = world.time QDEL_IN(src, timeout) -/datum/tgui_list_input/Destroy(force, ...) +/datum/tgui_list_input/Destroy(force) SStgui.close_uis(src) QDEL_NULL(buttons) . = ..() @@ -172,7 +172,7 @@ ..(user, message, title, buttons, timeout) src.callback = callback -/datum/tgui_list_input/async/Destroy(force, ...) +/datum/tgui_list_input/async/Destroy(force) QDEL_NULL(callback) . = ..() diff --git a/code/modules/unit_tests/_unit_tests.dm b/code/modules/unit_tests/_unit_tests.dm index 4b4e10edd7a..3195d86e7fb 100644 --- a/code/modules/unit_tests/_unit_tests.dm +++ b/code/modules/unit_tests/_unit_tests.dm @@ -41,6 +41,13 @@ /// Intended to be used in the manner of `TEST_FOCUS(/datum/unit_test/math)` #define TEST_FOCUS(test_path) ##test_path { focus = TRUE; } +/// Logs a noticable message on GitHub, but will not mark as an error. +/// Use this when something shouldn't happen and is of note, but shouldn't block CI. +/// Does not mark the test as failed. +#define TEST_NOTICE(source, message) source.log_for_test((##message), "notice", __FILE__, __LINE__) +/// TEST_NOTICE but more important +#define TEST_WARNING(source, message) source.log_for_test((##message), "warning", __FILE__, __LINE__) + /// Constants indicating unit test completion status #define UNIT_TEST_PASSED 0 #define UNIT_TEST_FAILED 1 @@ -62,10 +69,9 @@ #define TEST_OUTPUT_GREEN(text) (text) #endif - #ifdef BASIC_TESTS -//#include "icons/inhands.dm" +#include "icons/inhands.dm" #include "icons/missing_icons.dm" #include "icons/spritesheets.dm" #include "icons/worn_icons.dm" @@ -78,10 +84,10 @@ #include "connect_loc.dm" #include "biome_lists.dm" #include "emoting.dm" +#include "gun_sanity.dm" #include "keybinding_init.dm" #include "machine_disassembly.dm" #include "open_air.dm" -#include "outfit_names.dm" #include "outfit_sanity.dm" #include "overmap.dm" #include "pills.dm" diff --git a/code/modules/unit_tests/create_and_destroy.dm b/code/modules/unit_tests/create_and_destroy.dm index 017356d9152..ed3d9c6ed0a 100644 --- a/code/modules/unit_tests/create_and_destroy.dm +++ b/code/modules/unit_tests/create_and_destroy.dm @@ -13,8 +13,6 @@ /turf/template_noop, //Never meant to be created, errors out the ass for mobcode reasons /mob/living/carbon, - //And another - /obj/item/slimecross/recurring, //This should be obvious /obj/machinery/doomsday_device, //Template type @@ -35,8 +33,6 @@ /obj/machinery/power/shuttle/engine/liquid, //needs a template /obj/effect/landmark/subship, - //needs a friend :( - /obj/effect/mob_spawn/human/demonic_friend, //needs a derg /obj/structure/carp_rift, //doesn't have icons @@ -72,7 +68,7 @@ ignore += typesof(/obj/effect/pod_landingzone_effect) ignore += typesof(/obj/effect/pod_landingzone) //These want fried food to take on the shape of, we can't pass that in - ignore += typesof(/obj/item/reagent_containers/food/snacks/deepfryholder) + ignore += typesof(/obj/item/food/deepfryholder) //Can't pass in a thing to glow ignore += typesof(/obj/effect/abstract/eye_lighting) //It wants a lot more context then we have @@ -145,14 +141,12 @@ // Drastically lower the amount of time it takes to GC, since we don't have clients that can hold it up. SSgarbage.collection_timeout[GC_QUEUE_CHECK] = 10 SECONDS - //Prevent the garbage subsystem from harddeling anything, if only to save time - SSgarbage.collection_timeout[GC_QUEUE_HARDDELETE] = 10000 HOURS //Clear it, just in case cached_contents.Cut() var/list/queues_we_care_about = list() - // All up to harddel - for(var/i in 1 to GC_QUEUE_HARDDELETE - 1) + // All of em, I want hard deletes too, since we rely on the debug info from them + for(var/i in 1 to GC_QUEUE_HARDDELETE) queues_we_care_about += i //Now that we've qdel'd everything, let's sleep until the gc has processed all the shit we care about @@ -162,6 +156,7 @@ time_needed += SSgarbage.collection_timeout[index] var/start_time = world.time + var/real_start_time = REALTIMEOFDAY var/garbage_queue_processed = FALSE sleep(time_needed) @@ -183,7 +178,7 @@ garbage_queue_processed = TRUE break - if(world.time > start_time + time_needed + 30 MINUTES) //If this gets us gitbanned I'm going to laugh so hard + if(REALTIMEOFDAY > real_start_time + time_needed + 30 MINUTES) //If this gets us gitbanned I'm going to laugh so hard TEST_FAIL("Something has gone horribly wrong, the garbage queue has been processing for well over 30 minutes. What the hell did you do") break @@ -202,6 +197,9 @@ TEST_FAIL("[item.name] failed to respect force deletion [item.no_respect_force] times out of a total del count of [item.qdels]") if(item.no_hint) TEST_FAIL("[item.name] failed to return a qdel hint [item.no_hint] times out of a total del count of [item.qdels]") + if(LAZYLEN(item.extra_details)) + var/details = item.extra_details.Join("\n") + TEST_FAIL("[item.name] failed with extra info: \n[details]") cache_for_sonic_speed = SSatoms.BadInitializeCalls for(var/path in cache_for_sonic_speed) @@ -216,4 +214,3 @@ SSticker.delay_end = FALSE //This shouldn't be needed, but let's be polite SSgarbage.collection_timeout[GC_QUEUE_CHECK] = GC_CHECK_QUEUE - SSgarbage.collection_timeout[GC_QUEUE_HARDDELETE] = GC_DEL_QUEUE diff --git a/code/modules/unit_tests/find_reference_sanity.dm b/code/modules/unit_tests/find_reference_sanity.dm index 67b6072d3b9..f6736ccb1d5 100644 --- a/code/modules/unit_tests/find_reference_sanity.dm +++ b/code/modules/unit_tests/find_reference_sanity.dm @@ -15,6 +15,8 @@ return ..() /atom/movable/ref_test + // Gotta make sure we do a full check + references_to_clear = INFINITY var/atom/movable/ref_test/self_ref /atom/movable/ref_test/Destroy(force) @@ -27,8 +29,8 @@ SSgarbage.should_save_refs = TRUE //Sanity check - victim.DoSearchVar(testbed, "Sanity Check", search_time = 1) //We increment search time to get around an optimization - TEST_ASSERT(!victim.found_refs.len, "The ref-tracking tool found a ref where none existed") + victim.DoSearchVar(testbed, "Sanity Check") //We increment search time to get around an optimization + TEST_ASSERT(!LAZYLEN(victim.found_refs), "The ref-tracking tool found a ref where none existed") SSgarbage.should_save_refs = FALSE /datum/unit_test/find_reference_baseline/Run() @@ -41,11 +43,11 @@ testbed.test_list += victim testbed.test_assoc_list["baseline"] = victim - victim.DoSearchVar(testbed, "First Run", search_time = 2) + victim.DoSearchVar(testbed, "First Run") - TEST_ASSERT(victim.found_refs["test"], "The ref-tracking tool failed to find a regular value") - TEST_ASSERT(victim.found_refs[testbed.test_list], "The ref-tracking tool failed to find a list entry") - TEST_ASSERT(victim.found_refs[testbed.test_assoc_list], "The ref-tracking tool failed to find an assoc list value") + TEST_ASSERT(LAZYACCESS(victim.found_refs, "test"), "The ref-tracking tool failed to find a regular value") + TEST_ASSERT(LAZYACCESS(victim.found_refs, testbed.test_list), "The ref-tracking tool failed to find a list entry") + TEST_ASSERT(LAZYACCESS(victim.found_refs, testbed.test_assoc_list), "The ref-tracking tool failed to find an assoc list value") SSgarbage.should_save_refs = FALSE /datum/unit_test/find_reference_exotic/Run() @@ -58,12 +60,12 @@ testbed.vis_contents += victim testbed.test_assoc_list[victim] = TRUE - victim.DoSearchVar(testbed, "Second Run", search_time = 3) + victim.DoSearchVar(testbed, "Second Run") //This is another sanity check - TEST_ASSERT(!victim.found_refs[testbed.overlays], "The ref-tracking tool found an overlays entry? That shouldn't be possible") - TEST_ASSERT(victim.found_refs[testbed.vis_contents], "The ref-tracking tool failed to find a vis_contents entry") - TEST_ASSERT(victim.found_refs[testbed.test_assoc_list], "The ref-tracking tool failed to find an assoc list key") + TEST_ASSERT(!LAZYACCESS(victim.found_refs, testbed.overlays), "The ref-tracking tool found an overlays entry? That shouldn't be possible") + TEST_ASSERT(LAZYACCESS(victim.found_refs, testbed.vis_contents), "The ref-tracking tool failed to find a vis_contents entry") + TEST_ASSERT(LAZYACCESS(victim.found_refs, testbed.test_assoc_list), "The ref-tracking tool failed to find an assoc list key") SSgarbage.should_save_refs = FALSE /datum/unit_test/find_reference_esoteric/Run() @@ -78,11 +80,11 @@ var/list/to_find_assoc = list(victim) testbed.test_assoc_list["Nesting"] = to_find_assoc - victim.DoSearchVar(victim, "Third Run Self", search_time = 4) - victim.DoSearchVar(testbed, "Third Run Testbed", search_time = 4) - TEST_ASSERT(victim.found_refs["self_ref"], "The ref-tracking tool failed to find a self reference") - TEST_ASSERT(victim.found_refs[to_find], "The ref-tracking tool failed to find a nested list entry") - TEST_ASSERT(victim.found_refs[to_find_assoc], "The ref-tracking tool failed to find a nested assoc list entry") + victim.DoSearchVar(victim, "Third Run Self") + victim.DoSearchVar(testbed, "Third Run Testbed") + TEST_ASSERT(LAZYACCESS(victim.found_refs, "self_ref"), "The ref-tracking tool failed to find a self reference") + TEST_ASSERT(LAZYACCESS(victim.found_refs, to_find), "The ref-tracking tool failed to find a nested list entry") + TEST_ASSERT(LAZYACCESS(victim.found_refs, to_find_assoc), "The ref-tracking tool failed to find a nested assoc list entry") SSgarbage.should_save_refs = FALSE /datum/unit_test/find_reference_null_key_entry/Run() @@ -93,8 +95,8 @@ //Calm before the storm testbed.test_assoc_list = list(null = victim) - victim.DoSearchVar(testbed, "Fourth Run", search_time = 5) - TEST_ASSERT(testbed.test_assoc_list, "The ref-tracking tool failed to find a null key'd assoc list entry") + victim.DoSearchVar(testbed, "Fourth Run") + TEST_ASSERT(LAZYACCESS(victim.found_refs, testbed.test_assoc_list), "The ref-tracking tool failed to find a null key'd assoc list entry") /datum/unit_test/find_reference_assoc_investigation/Run() var/atom/movable/ref_test/victim = allocate(/atom/movable/ref_test) @@ -107,9 +109,9 @@ var/list/to_find_null_assoc_nested = list(victim) testbed.test_assoc_list[null] = to_find_null_assoc_nested - victim.DoSearchVar(testbed, "Fifth Run", search_time = 6) - TEST_ASSERT(victim.found_refs[to_find_in_key], "The ref-tracking tool failed to find a nested assoc list key") - TEST_ASSERT(victim.found_refs[to_find_null_assoc_nested], "The ref-tracking tool failed to find a null key'd nested assoc list entry") + victim.DoSearchVar(testbed, "Fifth Run") + TEST_ASSERT(LAZYACCESS(victim.found_refs, to_find_in_key), "The ref-tracking tool failed to find a nested assoc list key") + TEST_ASSERT(LAZYACCESS(victim.found_refs, to_find_null_assoc_nested), "The ref-tracking tool failed to find a null key'd nested assoc list entry") SSgarbage.should_save_refs = FALSE /datum/unit_test/find_reference_static_investigation/Run() @@ -126,7 +128,7 @@ for(var/key in global.vars) global_vars[key] = global.vars[key] - victim.DoSearchVar(global_vars, "Sixth Run", search_time = 7) + victim.DoSearchVar(global_vars, "Sixth Run") - TEST_ASSERT(victim.found_refs[global_vars], "The ref-tracking tool failed to find a natively global variable") + TEST_ASSERT(LAZYACCESS(victim.found_refs, global_vars), "The ref-tracking tool failed to find a natively global variable") SSgarbage.should_save_refs = FALSE diff --git a/code/modules/unit_tests/gun_sanity.dm b/code/modules/unit_tests/gun_sanity.dm new file mode 100644 index 00000000000..36630dfea8d --- /dev/null +++ b/code/modules/unit_tests/gun_sanity.dm @@ -0,0 +1,17 @@ +/datum/unit_test/gun_sanity/Run() + for(var/gun_path in subtypesof(/obj/item/gun)) + var/obj/item/gun/target_gun = new gun_path() + if(target_gun.default_ammo_type) + if(!ispath(target_gun.default_ammo_type)) + TEST_FAIL("The default ammo ([target_gun.default_ammo_type]) in [gun_path] is not a type") + + if(!(target_gun.default_ammo_type in target_gun.allowed_ammo_types)) + TEST_FAIL("The default ammo ([target_gun.default_ammo_type]) in [gun_path] in not in its allowed ammo types") + + if(ispath(gun_path, /obj/item/gun/ballistic)) + if(!(target_gun.magazine?.type == target_gun.default_ammo_type)) + TEST_FAIL("[gun_path]'s mag ([target_gun.magazine?.type]) does not equal its default_ammo_type") + else + if(target_gun.internal_magazine) + TEST_FAIL("[gun_path] with an internal mag has no mag") + qdel(target_gun) diff --git a/code/modules/unit_tests/icons/inhands.dm b/code/modules/unit_tests/icons/inhands.dm index 858c6d2f284..b3e5265e2f0 100644 --- a/code/modules/unit_tests/icons/inhands.dm +++ b/code/modules/unit_tests/icons/inhands.dm @@ -26,7 +26,7 @@ //Add EVEN MORE paths if needed here! //generate_possible_icon_states_list("your/folder/path/inhands/") - for(var/obj/item/item_path as anything in subtypesof(/obj/item)) + for(var/obj/item/item_path as anything in (subtypesof(/obj/item))) if(initial(item_path.item_flags) & ABSTRACT) continue @@ -53,7 +53,7 @@ match_message += (match_message ? " & '[file_place]'" : " - Matching sprite found in: '[file_place]'") if(!(skip_left || skip_right) && !lefthand_file && !righthand_file) - TEST_FAIL("Missing both icon files for [item_path].\n\titem_state = \"[item_state]\"[match_message]") + TEST_NOTICE(src, "Missing both icon files for [item_path].\n\titem_state = \"[item_state]\"[match_message]") continue var/missing_left @@ -80,7 +80,7 @@ if(!match_message && right_fallback && left_fallback) fallback_log_message += "\n\t[item_path] has invalid value, using fallback icon.\n\titem_state = \"[item_state]\"" continue - TEST_FAIL("Missing inhand sprites for [item_path] in both '[lefthand_file]' & '[righthand_file]'.\n\titem_state = \"[item_state]\"[match_message]") + TEST_NOTICE(src, "Missing inhand sprites for [item_path] in both '[lefthand_file]' & '[righthand_file]'.\n\titem_state = \"[item_state]\"[match_message]") else if(missing_left) TEST_FAIL("Missing left inhand sprite for [item_path] in '[lefthand_file]'[left_fallback ? ", using fallback icon" : null].\n\titem_state = \"[item_state]\"[match_message]") else if(missing_right) @@ -90,5 +90,5 @@ TEST_FAIL("Invalid item_state values should be set to null if there isn't a valid icon.[fallback_log_message]") if(unset_inhand_var_message) - log_test("\tNotice - Possible inhand icon matches found. It is best to be explicit with inhand sprite values.[unset_inhand_var_message]") + TEST_NOTICE(src, "Possible inhand icon matches found. It is best to be explicit with inhand sprite values.[unset_inhand_var_message]") diff --git a/code/modules/unit_tests/icons/missing_icons.dm b/code/modules/unit_tests/icons/missing_icons.dm index f548d2844a0..36343da89c2 100644 --- a/code/modules/unit_tests/icons/missing_icons.dm +++ b/code/modules/unit_tests/icons/missing_icons.dm @@ -54,4 +54,3 @@ for(var/file_place in possible_icon_states[icon_state]) match_message += (match_message ? " & '[file_place]'" : " - Matching sprite found in: '[file_place]'") TEST_FAIL("Missing icon_state for [obj_path] in '[icon]'.\n\ticon_state = \"[icon_state]\"[match_message]") - diff --git a/code/modules/unit_tests/icons/worn_icons.dm b/code/modules/unit_tests/icons/worn_icons.dm index eb2d84b73f6..31c5d432dfa 100644 --- a/code/modules/unit_tests/icons/worn_icons.dm +++ b/code/modules/unit_tests/icons/worn_icons.dm @@ -5,6 +5,7 @@ /// Make sure this location is also present in tools/deploy.sh /// If you need additional paths ontop of this second one, you can add another generate_possible_icon_states_list("your/folder/path/") below the if(additional_icon_location) block in Run(), and make sure to add that path to tools/deploy.sh as well. var/additional_icon_location = null + var/required_test = TRUE /datum/unit_test/mob_overlay_icons/proc/generate_possible_icon_states_list(directory_path) if(!directory_path) @@ -16,6 +17,9 @@ else possible_icon_states += generate_possible_icon_states_list("[directory_path][file_path]") +/datum/unit_test/mob_overlay_icons/proc/types_to_search() + return subtypesof(/obj/item/clothing) + /datum/unit_test/mob_overlay_icons/Run() generate_possible_icon_states_list() if(additional_icon_location) @@ -23,7 +27,7 @@ var/list/already_warned_icons = list() - for(var/obj/item/item_path as anything in (subtypesof(/obj/item/clothing))) + for(var/obj/item/item_path as anything in types_to_search()) var/cached_slot_flags = initial(item_path.slot_flags) if(!cached_slot_flags || (cached_slot_flags & ITEM_SLOT_LPOCKET) || (cached_slot_flags & ITEM_SLOT_RPOCKET) || initial(item_path.item_flags) & ABSTRACT) continue @@ -45,7 +49,10 @@ if(mob_overlay_icon) //easiest to check since we override everything. this automatically includes downstream support. if(!(icon_state in icon_states(mob_overlay_icon, 1))) - TEST_FAIL("[item_path] using invalid [mob_overlay_state ? "mob_overlay_state" : "icon_state"], \"[icon_state]\" in mob_overlay_icon override file, '[mob_overlay_icon]'[match_message]") + if(required_test) + TEST_FAIL("[item_path] using invalid [mob_overlay_state ? "mob_overlay_state" : "icon_state"], \"[icon_state]\" in mob_overlay_icon override file, '[mob_overlay_icon]'[match_message]") + else + TEST_NOTICE(src, "[item_path] using invalid [mob_overlay_state ? "mob_overlay_state" : "icon_state"], \"[icon_state]\" in mob_overlay_icon override file, '[mob_overlay_icon]'[match_message]") continue var/icon_file //checks against all the default icon locations if one isn't defined. @@ -61,15 +68,6 @@ fail_reasons += "[item_path] using invalid [mob_overlay_state ? "mob_overlay_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]" spacer = "\n\t" - /* - if(cached_slot_flags & ITEM_SLOT_ID) - icon_file = 'icons/mob/clothing/id.dmi' - if(!(icon_state in icon_states(icon_file, 1))) - already_warned_icons += icon_state - fail_reasons += "[spacer][item_path] using invalid [mob_overlay_state ? "mob_overlay_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]" - spacer = "\n\t" - */ - if(cached_slot_flags & ITEM_SLOT_GLOVES) icon_file = 'icons/mob/clothing/hands.dmi' if(!(icon_state in icon_states(icon_file, 1))) @@ -78,7 +76,7 @@ spacer = "\n\t" if(cached_slot_flags & ITEM_SLOT_EYES) - icon_file = 'icons/mob/clothing/eyes.dmi' + icon_file = 'icons/mob/clothing/eyes/eyes.dmi' if(!(icon_state in icon_states(icon_file, 1))) already_warned_icons += icon_state fail_reasons += "[spacer][item_path] using invalid [mob_overlay_state ? "mob_overlay_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]" @@ -113,4 +111,13 @@ spacer = "\n\t" if(fail_reasons) - TEST_FAIL(fail_reasons) + if(required_test) + TEST_FAIL(fail_reasons) + else + TEST_NOTICE(src, fail_reasons) + +/datum/unit_test/mob_overlay_icons/not_clothing + required_test = FALSE + +/datum/unit_test/mob_overlay_icons/not_clothing/types_to_search() + return (subtypesof(/obj/item) - subtypesof(/obj/item/clothing)) diff --git a/code/modules/unit_tests/outfit_names.dm b/code/modules/unit_tests/outfit_names.dm deleted file mode 100644 index b381bfeb7bf..00000000000 --- a/code/modules/unit_tests/outfit_names.dm +++ /dev/null @@ -1,12 +0,0 @@ -/datum/unit_test/outfit_names/Run() - var/list/outfit_names = list() - - for(var/datum/outfit/outfit_type as anything in subtypesof(/datum/outfit)) - var/name = initial(outfit_type.name) - - if(name in outfit_names) - TEST_FAIL("Outfit name [name] is not unique: [outfit_type], [outfit_names[name]]") - - outfit_names[name] = outfit_type - - diff --git a/code/modules/unit_tests/outfit_sanity.dm b/code/modules/unit_tests/outfit_sanity.dm index 4dc12b4dc6e..6fc875d9483 100644 --- a/code/modules/unit_tests/outfit_sanity.dm +++ b/code/modules/unit_tests/outfit_sanity.dm @@ -6,7 +6,7 @@ if (outfit.random != TRUE) \ TEST_FAIL("[outfit.name]'s [#outfit_key] is invalid! Could not equip a [outfit.##outfit_key] into that slot."); \ else \ - log_world("[outfit.name]'s [#outfit_key] is invalid! Could not equip a [outfit.##outfit_key] into that slot."); \ + TEST_NOTICE(src, "[outfit.name]'s [#outfit_key] is invalid! Could not equip a [outfit.##outfit_key] into that slot."); \ } \ } @@ -26,6 +26,7 @@ var/prototype_name = initial(prototype_outfit.name) var/mob/living/carbon/human/H = allocate(/mob/living/carbon/human) + var/list/outfit_names = list() for (var/outfit_type in subtypesof(/datum/outfit)) // Only make one human and keep undressing it because it's much faster for (var/obj/item/I in H.get_equipped_items(include_pockets = TRUE)) @@ -33,8 +34,12 @@ var/datum/outfit/outfit = new outfit_type - if(outfit.name == prototype_name) + var/outfit_name = outfit.name + if(outfit_name == prototype_name) TEST_FAIL("[outfit.type]'s name is invalid! Uses default outfit name!") + if(outfit_name in outfit_names) + TEST_FAIL("Outfit name [outfit_name] is not unique: [outfit_type], [outfit_names[outfit_name]]") + outfit_names[outfit_name] = outfit_type outfit.pre_equip(H, TRUE) CHECK_OUTFIT_SLOT(uniform, ITEM_SLOT_ICLOTHING) @@ -67,7 +72,6 @@ if (outfit.random != TRUE) TEST_FAIL("[outfit.name]'s backpack_contents are invalid! Couldn't add [path] to backpack.") else - log_world("[outfit.name]'s backpack_contents are invalid! Couldn't add [path] to backpack.") - + TEST_NOTICE(src, "[outfit.name]'s backpack_contents are invalid! Couldn't add [path] to backpack.") #undef CHECK_OUTFIT_SLOT diff --git a/code/modules/unit_tests/say.dm b/code/modules/unit_tests/say.dm index d3fa6e6cdfc..c725fcdc6dd 100644 --- a/code/modules/unit_tests/say.dm +++ b/code/modules/unit_tests/say.dm @@ -8,7 +8,7 @@ test("Hello", "Hello", list()) test(";HELP", "HELP", list(MODE_HEADSET = TRUE)) test(";%Never gonna give you up", "Never gonna give you up", list(MODE_HEADSET = TRUE, MODE_SING = TRUE)) - test(".c Gun plz", "Gun plz", list(RADIO_KEY = RADIO_KEY_COMMAND, RADIO_EXTENSION = RADIO_CHANNEL_COMMAND)) + test(".c Gun plz", "Gun plz", list(RADIO_KEY = RADIO_KEY_EMERGENCY, RADIO_EXTENSION = RADIO_CHANNEL_EMERGENCY)) test("...What", "...What", list()) /datum/unit_test/get_message_mods/proc/test(message, expected_message, list/expected_mods) diff --git a/code/modules/unit_tests/serving_tray.dm b/code/modules/unit_tests/serving_tray.dm index 9bd487ba68a..b4dc1f77a52 100644 --- a/code/modules/unit_tests/serving_tray.dm +++ b/code/modules/unit_tests/serving_tray.dm @@ -6,7 +6,7 @@ var/obj/structure/table/the_table = allocate(/obj/structure/table) var/obj/item/storage/bag/tray/test_tray = allocate(/obj/item/storage/bag/tray) var/obj/item/reagent_containers/food/banana = allocate(/obj/item/reagent_containers/food/snacks/grown/banana) - var/obj/item/reagent_containers/food/the_bread = allocate(/obj/item/reagent_containers/food/snacks/breadslice) + var/obj/item/reagent_containers/food/the_bread = allocate(/obj/item/food/breadslice) var/obj/item/reagent_containers/food/sugarcookie = allocate(/obj/item/reagent_containers/food/snacks/sugarcookie) var/obj/item/clothing/under/jumpsuit = allocate(/obj/item/clothing/under/color/black) diff --git a/code/modules/unit_tests/ship_outpost_placement.dm b/code/modules/unit_tests/ship_outpost_placement.dm index 48bbd6a181e..0762af79e30 100644 --- a/code/modules/unit_tests/ship_outpost_placement.dm +++ b/code/modules/unit_tests/ship_outpost_placement.dm @@ -3,7 +3,7 @@ // disabled or intended as subshuttles for(var/name as anything in SSmapping.shuttle_templates) var/datum/map_template/shuttle/map = SSmapping.shuttle_templates[name] - log_world("Loading [map.name]") + log_test("Loading [map.name]") try // they'll spawn in empty space, and won't be docked new /datum/overmap/ship/controlled(list("x" = 1, "y" = 1), map) @@ -13,10 +13,10 @@ for(var/outpost_type in subtypesof(/datum/overmap/outpost)) var/datum/overmap/outpost/test_outpost = new outpost_type() - log_world("Testing [test_outpost.type]") + log_test("Testing [test_outpost.type]") for(var/datum/overmap/ship/controlled/cur_ship as anything in SSovermap.controlled_ships) - log_world(" - Docking [cur_ship.source_template.name]") + log_test(" - Docking [cur_ship.source_template.name]") // already-docked ships are ignored. // this was added to stop runtimes when subshuttles, which were docked to their parent ship, attempted to dock to the outpost as part of this test. diff --git a/code/modules/unit_tests/unit_test.dm b/code/modules/unit_tests/unit_test.dm index 7240adb3385..18b5b12e7f4 100644 --- a/code/modules/unit_tests/unit_test.dm +++ b/code/modules/unit_tests/unit_test.dm @@ -85,38 +85,58 @@ GLOBAL_VAR(test_log) allocated += instance return instance +/// Logs a test message. Will use GitHub action syntax found at https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions +/datum/unit_test/proc/log_for_test(text, priority, file, line, test_path) + // Need to escape the text to properly support newlines. + var/annotation_text = replacetext(text, "%", "%25") + annotation_text = replacetext(annotation_text, "\n", "%0A") + + log_world("::[priority] file=[file],line=[line],title=[test_path]: [type]::[annotation_text]") + /proc/RunUnitTest(test_path, list/test_results) var/datum/unit_test/test = new test_path GLOB.current_test = test var/duration = REALTIMEOFDAY + log_world("::group::[test_path]") test.Run() duration = REALTIMEOFDAY - duration GLOB.current_test = null GLOB.failed_any_test |= !test.succeeded - var/list/log_entry = list( - "[test.succeeded ? TEST_OUTPUT_GREEN("PASS") : TEST_OUTPUT_RED("FAIL")]: [test_path] [duration / 10]s", - ) + var/list/log_entry = list() var/list/fail_reasons = test.fail_reasons + var/test_output_desc = "[test_path]" + var/message = "" + for(var/reasonID in 1 to LAZYLEN(fail_reasons)) var/text = fail_reasons[reasonID][1] var/file = fail_reasons[reasonID][2] var/line = fail_reasons[reasonID][3] - /// Github action annotation. - log_world("::error file=[file],line=[line],title=[test_path]::[text]") + test.log_for_test(text, "error", file, line, test_path) // Normal log message - log_entry += "\tREASON #[reasonID]: [text] at [file]:[line]" + log_entry += "\tFAILURE #[reasonID]: [text] at [file]:[line]" + + if(length(log_entry)) + message = log_entry.Join("\n") + log_test(message) - var/message = log_entry.Join("\n") - log_test(message) + test_output_desc += " [duration / 10]s" + if (test.succeeded) + log_world("[TEST_OUTPUT_GREEN("PASS")] [test_output_desc]") - test_results[test_path] = list("status" = test.succeeded ? UNIT_TEST_PASSED : UNIT_TEST_FAILED, "message" = message, "name" = test_path) + log_world("::endgroup::") + + if (!test.succeeded) + log_world("::error::[TEST_OUTPUT_RED("FAIL")] [test_output_desc]") + + var/final_status = test.succeeded ? UNIT_TEST_PASSED : UNIT_TEST_FAILED + test_results[test_path] = list("status" = final_status, "message" = message, "name" = test_path) qdel(test) @@ -141,6 +161,10 @@ GLOBAL_VAR(test_log) CHECK_TICK //We check tick first because the unit test we run last may be so expensive that checking tick will lock up this loop forever RunUnitTest(unit_path, test_results) + var/file_name = "data/unit_tests.json" + fdel(file_name) + file(file_name) << json_encode(test_results) + SSticker.force_ending = TRUE //We have to call this manually because del_text can preceed us, and SSticker doesn't fire in the post game SSticker.declare_completion() diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 11eb6a4b49e..0cf5a125896 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -325,7 +325,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) name = "84mm Rocket Propelled Grenade Launcher" desc = "A reusable rocket propelled grenade launcher preloaded with a low-yield 84mm HE round. \ Guaranteed to send your target out with a bang or your money back!" - item = /obj/item/gun/ballistic/rocketlauncher + item = /obj/item/gun/ballistic/rocketlauncher/mako cost = 8 surplus = 30 include_modes = list(/datum/game_mode/nuclear) @@ -360,7 +360,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) name = "Bananium Energy Sword" desc = "An energy sword that deals no damage, but will slip anyone it contacts, be it by melee attack, thrown \ impact, or just stepping on it. Beware friendly fire, as even anti-slip shoes will not protect against it." - item = /obj/item/melee/transforming/energy/sword/bananium + item = /obj/item/melee/energy/sword/bananium cost = 3 surplus = 0 include_modes = list(/datum/game_mode/nuclear/clown_ops) @@ -387,7 +387,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) name = "Bulldog Shotgun" desc = "A fully-loaded semi-automatic drum-fed shotgun. Compatible with all 12g rounds. Designed for close \ quarter anti-personnel engagements." - item = /obj/item/gun/ballistic/shotgun/bulldog + item = /obj/item/gun/ballistic/shotgun/automatic/bulldog cost = 8 surplus = 40 include_modes = list(/datum/game_mode/nuclear) @@ -396,7 +396,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) name = "C-20r Submachine Gun" desc = "A fully-loaded Scarborough Arms bullpup submachine gun. The C-20r fires .45 rounds with a \ 24-round magazine and is compatible with suppressors." - item = /obj/item/gun/ballistic/automatic/smg/c20r + item = /obj/item/gun/ballistic/automatic/smg/cobra cost = 10 surplus = 40 include_modes = list(/datum/game_mode/nuclear) @@ -417,7 +417,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) name = "Energy Sword" desc = "The energy sword is an edged weapon with a blade of pure energy. The sword is small enough to be \ pocketed when inactive. Activating it produces a loud, distinctive noise." - item = /obj/item/melee/transforming/energy/sword/saber + item = /obj/item/melee/energy/sword/saber cost = 8 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) @@ -445,21 +445,11 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/clothing/gloves/rapid cost = 8 -/datum/uplink_item/dangerous/guardian - name = "Holoparasites" - desc = "Though capable of near sorcerous feats via use of hardlight holograms and nanomachines, they require an \ - organic host as a home base and source of fuel. Holoparasites come in various types and share damage with their host." - item = /obj/item/storage/box/syndie_kit/guardian - cost = 18 - surplus = 0 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - restricted = TRUE - /datum/uplink_item/dangerous/machinegun name = "L6 Squad Automatic Weapon" desc = "A fully-loaded Aussec Armoury belt-fed machine gun. \ This deadly weapon has a massive 50-round magazine of devastating 7.12x82mm ammunition." - item = /obj/item/gun/ballistic/automatic/hmg/l6_saw + item = /obj/item/gun/ballistic/automatic/assault/hydra/lmg/extended cost = 18 surplus = 0 include_modes = list(/datum/game_mode/nuclear) @@ -468,7 +458,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) name = "M-90gl Carbine" desc = "A fully-loaded, specialized three-round burst carbine that fires 5.56mm ammunition from a 30 round magazine \ with a toggleable 40mm underbarrel grenade launcher." - item = /obj/item/gun/ballistic/automatic/smg/m90 + item = /obj/item/gun/ballistic/automatic/assault/hydra cost = 18 surplus = 50 include_modes = list(/datum/game_mode/nuclear) @@ -485,7 +475,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/dangerous/sniper name = "Sniper Rifle" desc = "Ranged fury, Syndicate style. Guaranteed to cause shock and awe or your TC back!" - item = /obj/item/gun/ballistic/automatic/marksman/sniper_rifle + item = /obj/item/gun/ballistic/automatic/marksman/taipan cost = 16 surplus = 25 include_modes = list(/datum/game_mode/nuclear) @@ -494,7 +484,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) name = "Stechkin Pistol" desc = "A small, easily concealable handgun that uses 10mm auto rounds in 8-round magazines and is compatible \ with suppressors." - item = /obj/item/gun/ballistic/automatic/pistol/syndicate + item = /obj/item/gun/ballistic/automatic/pistol/ringneck cost = 7 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) @@ -508,7 +498,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/dangerous/revolver name = "Syndicate Revolver" desc = "A brutally simple Syndicate revolver that fires .357 Magnum rounds and has 7 chambers." - item = /obj/item/gun/ballistic/revolver/syndicate + item = /obj/item/gun/ballistic/revolver/viper cost = 13 surplus = 50 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) @@ -516,7 +506,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/dangerous/foamsmg name = "Toy Submachine Gun" desc = "A fully-loaded Donksoft bullpup submachine gun that fires riot grade darts with a 20-round magazine." - item = /obj/item/gun/ballistic/automatic/smg/c20r/toy/riot + item = /obj/item/gun/ballistic/automatic/toy cost = 5 surplus = 0 include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) @@ -525,7 +515,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) name = "Toy Machine Gun" desc = "A fully-loaded Donksoft belt-fed machine gun. This weapon has a massive 50-round magazine of devastating \ riot grade darts, that can briefly incapacitate someone in just one volley." - item = /obj/item/gun/ballistic/automatic/hmg/l6_saw/toy/riot + item = /obj/item/gun/ballistic/automatic/toy cost = 10 surplus = 0 include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) @@ -565,28 +555,13 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) surplus = 5 limited_stock = 1 -/datum/uplink_item/dangerous/tec9 - name = "TEC9 Machine Pistol" - desc = "A powerful machine pistol sporting a high rate of fire and armor-piercing rounds." - item = /obj/item/gun/ballistic/automatic/pistol/tec9 - cost = 12 - surplus = 20 - -/datum/uplink_item/dangerous/ebr - name = "M514 EBR" - desc = "A cheap rifle with high stopping power and low capacity." - item = /obj/item/gun/ballistic/automatic/marksman/ebr - cost = 8 - surplus = 20 - include_modes = list(/datum/game_mode/nuclear) - // Stealthy Weapons /datum/uplink_item/stealthy_weapons category = "Stealthy Weapons" /datum/uplink_item/stealthy_weapons/combatglovesplus name = "Combat Gloves Plus" - desc = "A pair of gloves that are fireproof and electrically insulated, however unlike the regular Combat Gloves these use nanotechnology \ + desc = "A pair of gloves that are fireproof and acid-resistant, however unlike the regular Combat Gloves these use nanotechnology \ to teach the martial art of krav maga to the wearer." item = /obj/item/clothing/gloves/krav_maga/combatglovesplus cost = 5 @@ -683,7 +658,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/stealthy_weapons/suppressor name = "Suppressor" desc = "This suppressor will silence the shots of the weapon it is attached to for increased stealth and superior ambushing capability. It is compatible with many small ballistic guns including the Stechkin and C-20r, but not revolvers or energy guns." - item = /obj/item/suppressor + item = /obj/item/attachment/silencer cost = 3 surplus = 10 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) @@ -726,7 +701,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/ammo/pistol name = "10mm Handgun Magazine" desc = "An additional 8-round 10mm magazine; compatible with the Stechkin Pistol." - item = /obj/item/ammo_box/magazine/m10mm + item = /obj/item/ammo_box/magazine/m10mm_ringneck cost = 1 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) @@ -734,7 +709,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) name = "10mm Armour Piercing Magazine" desc = "An additional 8-round 10mm magazine; compatible with the Stechkin Pistol. \ These rounds are less effective at injuring the target but penetrate protective gear." - item = /obj/item/ammo_box/magazine/m10mm/ap + item = /obj/item/ammo_box/magazine/m10mm_ringneck cost = 2 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) @@ -742,7 +717,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) name = "10mm Hollow Point Magazine" desc = "An additional 8-round 10mm magazine; compatible with the Stechkin Pistol. \ These rounds are more damaging but ineffective against armour." - item = /obj/item/ammo_box/magazine/m10mm/hp + item = /obj/item/ammo_box/magazine/m10mm_ringneck cost = 3 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) @@ -750,7 +725,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) name = "10mm Incendiary Magazine" desc = "An additional 8-round 10mm magazine; compatible with the Stechkin Pistol. \ Loaded with incendiary rounds which inflict little damage, but ignite the target." - item = /obj/item/ammo_box/magazine/m10mm/inc + item = /obj/item/ammo_box/magazine/m10mm_ringneck cost = 2 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) @@ -767,13 +742,13 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/ammo/shotgun/buck name = "12g Buckshot Drum" desc = "An additional 8-round buckshot magazine for use with the Bulldog shotgun. Front towards enemy." - item = /obj/item/ammo_box/magazine/m12g + item = /obj/item/ammo_box/magazine/m12g_bulldog/drum /datum/uplink_item/ammo/shotgun/dragon name = "12g Dragon's Breath Drum" desc = "An alternative 8-round dragon's breath magazine for use in the Bulldog shotgun. \ 'I'm a fire starter, twisted fire starter!'" - item = /obj/item/ammo_box/magazine/m12g/dragon + item = /obj/item/ammo_box/magazine/m12g_bulldog/drum/dragon include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/ammo/shotgun/meteor @@ -782,7 +757,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) An alternative 8-round meteorslug magazine for use in the Bulldog shotgun. Great for blasting airlocks off their frames and knocking down enemies. "} - item = /obj/item/ammo_box/magazine/m12g/meteor + item = /obj/item/ammo_box/magazine/m12g_bulldog/drum/meteor include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/ammo/shotgun/slug @@ -790,7 +765,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) desc = "An additional 8-round slug magazine for use with the Bulldog shotgun. \ Now 8 times less likely to shoot your pals." cost = 3 - item = /obj/item/ammo_box/magazine/m12g/slug + item = /obj/item/ammo_box/magazine/m12g_bulldog/drum/slug /datum/uplink_item/ammo/revolver name = ".357 Speed Loader" @@ -819,7 +794,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/ammo/smg name = ".45 SMG Magazine" desc = "An additional 24-round .45 magazine suitable for use with the C-20r submachine gun." - item = /obj/item/ammo_box/magazine/smgm45 + item = /obj/item/ammo_box/magazine/m45_cobra cost = 3 include_modes = list(/datum/game_mode/nuclear) @@ -849,7 +824,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) name = "5.56mm Toploader Magazine" desc = "An additional 30-round 5.56mm magazine; suitable for use with the M-90gl carbine. \ These bullets pack less punch than 7.12x82mm rounds, but they still offer more power than .45 ammo." - item = /obj/item/ammo_box/magazine/m556 + item = /obj/item/ammo_box/magazine/m556_42_hydra cost = 4 include_modes = list(/datum/game_mode/nuclear) @@ -858,38 +833,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) surplus = 0 include_modes = list(/datum/game_mode/nuclear) -/datum/uplink_item/ammo/machinegun/basic - name = "7.12x82mm Box Magazine" - desc = "A 50-round magazine of 7.12x82mm ammunition for use with the L6 SAW. \ - By the time you need to use this, you'll already be standing on a pile of corpses." - item = /obj/item/ammo_box/magazine/mm712x82 - -/datum/uplink_item/ammo/machinegun/ap - name = "7.12x82mm (Armor Penetrating) Box Magazine" - desc = "A 50-round magazine of 7.12x82mm ammunition for use in the L6 SAW; equipped with special properties \ - to puncture even the most durable armor." - item = /obj/item/ammo_box/magazine/mm712x82/ap - cost = 9 - -/datum/uplink_item/ammo/machinegun/hollow - name = "7.12x82mm (hollow point) Box Magazine" - desc = "A 50-round magazine of 7.12x82mm ammunition for use in the L6 SAW; equipped with hollow point tips to help \ - with the unarmored masses of crew." - item = /obj/item/ammo_box/magazine/mm712x82/hollow - -/datum/uplink_item/ammo/machinegun/incen - name = "7.12x82mm (Incendiary) Box Magazine" - desc = "A 50-round magazine of 7.12x82mm ammunition for use in the L6 SAW; tipped with a special flammable \ - mixture that'll ignite anyone struck by the bullet. Some men just want to watch the world burn." - item = /obj/item/ammo_box/magazine/mm712x82/inc - -/datum/uplink_item/ammo/machinegun/match - name = "7.12x82mm (Match) Box Magazine" - desc = "A 50-round magazine of 7.12x82mm ammunition for use in the L6 SAW; you didn't know there was a demand for match grade \ - precision bullet hose ammo, but these rounds are finely tuned and perfect for ricocheting off walls all fancy-like." - item = /obj/item/ammo_box/magazine/mm712x82/match - cost = 10 - /datum/uplink_item/ammo/rocket include_modes = list(/datum/game_mode/nuclear) @@ -909,14 +852,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/ammo/pistolaps name = "9mm Handgun Magazine" desc = "An additional 15-round 9mm magazine, compatible with the Stechkin APS pistol, found in the Spetsnaz Pyro bundle." - item = /obj/item/ammo_box/magazine/pistolm9mm + item = /obj/item/ammo_box/magazine/m9mm_rattlesnake cost = 2 include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/ammo/toydarts name = "Box of Riot Darts" desc = "A box of 40 Donksoft riot darts, for reloading any compatible foam dart magazine. Don't forget to share!" - item = /obj/item/ammo_box/foambox/riot + item = /obj/item/storage/box/ammo/foam_darts/riot cost = 2 surplus = 0 illegal_tech = FALSE @@ -937,30 +880,30 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/ammo/mech/bag - name = "Mech Support Kit Bag" - desc = "A duffel bag containing ammo for four full reloads of the scattershotm which is equipped on standard Dark Gygax and Mauler exosuits. Also comes with some support equipment for maintaining the mech, including tools and an inducer." + name = "Exosuit Support Kit Bag" + desc = "A duffel bag containing ammo for four full reloads of the scattershot which is equipped on standard Dark Gygax and Touro exosuits. Also comes with some support equipment for maintaining the exosuit, including tools and an inducer." item = /obj/item/storage/backpack/duffelbag/syndie/ammo/mech cost = 4 include_modes = list(/datum/game_mode/nuclear) -/datum/uplink_item/ammo/mauler/bag - name = "Mauler Ammo Bag" - desc = "A duffel bag containing ammo for three full reloads of the LMG, scattershot carbine, and SRM-8 missile laucher that are equipped on a standard Mauler exosuit." - item = /obj/item/storage/backpack/duffelbag/syndie/ammo/mauler +/datum/uplink_item/ammo/touro/bag + name = "Touro Ammo Bag" + desc = "A duffel bag containing ammo for three full reloads of the LMG, scattershot carbine, and SRM-8 missile laucher that are equipped on a standard Touro exosuit." + item = /obj/item/storage/backpack/duffelbag/syndie/ammo/touro cost = 6 include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/ammo/tec9 name = "TEC9 Magazine" desc = "An additional 20 round 9mm magazine for the TEC9." - item = /obj/item/ammo_box/magazine/tec9 + item = /obj/item/ammo_box/magazine/m9mm_rattlesnake cost = 3 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) /datum/uplink_item/ammo/ebr name = "M2514 EBR Magazine" desc = "An additional 10 round .308 magazine for the EBR." - item = /obj/item/ammo_box/magazine/ebr + item = /obj/item/ammo_box/magazine/m556_42_hydra/small cost = 2 include_modes = list(/datum/game_mode/nuclear) @@ -1187,19 +1130,11 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) for hit-and-run style attacks. Features an incendiary carbine, flash bang launcher, teleporter, ion thrusters and a Tesla energy array." item = /obj/mecha/combat/gygax/dark/loaded cost = 80 - -/datum/uplink_item/support/honker - name = "Dark H.O.N.K." - desc = "A clown combat mech equipped with bombanana peel and tearstache grenade launchers, as well as the ubiquitous HoNkER BlAsT 5000." - item = /obj/mecha/combat/honker/dark/loaded - cost = 80 - include_modes = list(/datum/game_mode/nuclear/clown_ops) - -/datum/uplink_item/support/mauler - name = "Mauler Exosuit" - desc = "A massive and incredibly deadly military-grade exosuit. Features long-range targeting, thrust vectoring \ +/datum/uplink_item/support/touro + name = "Touro Exosuit" + desc = "A well-armored and incredibly deadly military-grade exosuit. Features long-range targeting, thrust vectoring \ and deployable smoke. Comes equipped with an LMG, scattershot carbine, missile rack, an antiprojectile armor booster and a Tesla energy array." - item = /obj/mecha/combat/marauder/mauler/loaded + item = /obj/mecha/combat/marauder/touro/loaded cost = 140 // Stealth Items @@ -1247,16 +1182,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/codespeak_manual/unlimited cost = 3 -/datum/uplink_item/stealthy_tools/combatbananashoes - name = "Combat Banana Shoes" - desc = "While making the wearer immune to most slipping attacks like regular combat clown shoes, these shoes \ - can generate a large number of synthetic banana peels as the wearer walks, slipping up would-be pursuers. They also \ - squeak significantly louder." - item = /obj/item/clothing/shoes/clown_shoes/banana_shoes/combat - cost = 6 - surplus = 0 - include_modes = list(/datum/game_mode/nuclear/clown_ops) - /datum/uplink_item/stealthy_tools/emplight name = "EMP Flashlight" desc = "A small, self-recharging, short-ranged EMP device disguised as a working flashlight. \ @@ -1573,15 +1498,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/clothing/glasses/thermal/syndi cost = 4 -/datum/uplink_item/device_tools/potion - name = "Syndicate Sentience Potion" - item = /obj/item/slimepotion/slime/sentience/nuclear - desc = "A potion recovered at great risk by undercover Syndicate operatives and then subsequently modified with Syndicate technology. \ - Using it will make any animal sentient, and bound to serve you, as well as implanting an internal radio for communication and an internal ID card for opening doors." - cost = 4 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - restricted = TRUE - /datum/uplink_item/device_tools/guerillagloves name = "Guerilla Gloves" desc = "A pair of highly robust combat gripper gloves that excels at performing takedowns at close range, with an added lining of insulation. Careful not to hit a wall!" @@ -1832,9 +1748,9 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/role_restricted/concealed_weapon_bay name = "Concealed Weapon Bay" - desc = "A modification for non-combat mechas that allows them to equip one piece of equipment designed for combat mechs. \ + desc = "A modification for civilian exosuits that allows them to equip one piece of equipment designed for combat exosuits. \ It also hides the equipped weapon from plain sight. \ - Only one can fit on a mecha." + Only one can fit on an exosuit." item = /obj/item/mecha_parts/concealed_weapon_bay cost = 3 restricted_roles = list("Roboticist", "Research Director") @@ -1848,13 +1764,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) restricted_roles = list("Curator") limited_stock = 1 //please don't spam deadchat -/datum/uplink_item/role_restricted/cultconstructkit - name = "Cult Construct Kit" - desc = "Recovered from an abandoned Nar'sie cult lair two construct shells and a stash of empty soulstones was found. These were purified to prevent occult contamination and have been put in a belt so they may be used as an accessible source of disposable minions. The construct shells have been packaged into two beacons for rapid and portable deployment." - item = /obj/item/storage/box/syndie_kit/cultconstructkit - cost = 20 - restricted_roles = list("Chaplain") - /datum/uplink_item/role_restricted/lawnmower name = "Gas powered lawn mower" desc = "A lawn mower is a machine utilizing one or more revolving blades to cut a grass surface to an even height, or bodies if that's your thing" @@ -1920,15 +1829,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 12 restricted_roles = list("Chemist", "Chief Medical Officer") -/datum/uplink_item/role_restricted/reverse_bear_trap - name = "Reverse Bear Trap" - desc = "An ingenious execution device worn on (or forced onto) the head. Arming it starts a 1-minute kitchen timer mounted on the bear trap. When it goes off, the trap's jaws will \ - violently open, instantly killing anyone wearing it by tearing their jaws in half. To arm, attack someone with it while they're not wearing headgear, and you will force it onto their \ - head after three seconds uninterrupted." - cost = 5 - item = /obj/item/reverse_bear_trap - restricted_roles = list("Clown") - /datum/uplink_item/role_restricted/laser_arm name = "Laser Arm Implant" desc = "An implant that grants you a recharging laser gun inside your arm. Weak to EMPs. Comes with a syndicate autosurgeon for immediate self-application." @@ -1939,7 +1839,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/role_restricted/greykingsword name = "Blade of The Grey Tide" desc = "A weapon of legend, forged by the greatest crackheads of our generation." - item = /obj/item/melee/greykingsword + item = /obj/item/melee/sword/greyking cost = 2 restricted_roles = list("Assistant", "Chemist") diff --git a/code/modules/vehicles/atv.dm b/code/modules/vehicles/atv.dm index a785ba5985d..bd0a0f04c84 100644 --- a/code/modules/vehicles/atv.dm +++ b/code/modules/vehicles/atv.dm @@ -40,7 +40,6 @@ /obj/vehicle/ridden/atv/turret/Initialize() . = ..() turret = new(loc) - turret.base = src /obj/vehicle/ridden/atv/turret/Moved() . = ..() diff --git a/code/modules/vehicles/cars/clowncar.dm b/code/modules/vehicles/cars/clowncar.dm index e9addbd2d5b..1df30ff3be9 100644 --- a/code/modules/vehicles/cars/clowncar.dm +++ b/code/modules/vehicles/cars/clowncar.dm @@ -111,8 +111,7 @@ var/randomnum = rand(1,6) switch(randomnum) if(1) - visible_message("[user] presses one of the colorful buttons on [src], and a special banana peel drops out of it.") - new /obj/item/grown/bananapeel/specialpeel(loc) + visible_message("[user] presses one of the colorful buttons on [src], and doesn't do anything. Oops.") if(2) visible_message("[user] presses one of the colorful buttons on [src], and unknown chemicals flood out of it.") var/datum/reagents/R = new/datum/reagents(300) diff --git a/code/modules/vehicles/pimpin_ride.dm b/code/modules/vehicles/pimpin_ride.dm index d4a9aff2d8b..ad1d3750aa9 100644 --- a/code/modules/vehicles/pimpin_ride.dm +++ b/code/modules/vehicles/pimpin_ride.dm @@ -83,7 +83,7 @@ //For those who want to play farm simulator 503 /obj/vehicle/ridden/lawnmower - name = "Donk! Co. TM Deluxe Lawnmower 3003" + name = "John J. Jimbler Ultra-Mega-Mower" desc = "Equipped with reliable safeties to prevent accidents in the workplace. The safety light is on." icon = 'icons/obj/vehicles.dmi' icon_state = "lawnmower" diff --git a/code/modules/vehicles/scooter.dm b/code/modules/vehicles/scooter.dm index 8d6acea2845..ebef11cd263 100644 --- a/code/modules/vehicles/scooter.dm +++ b/code/modules/vehicles/scooter.dm @@ -57,7 +57,7 @@ ///Stores the default icon state var/board_icon = "skateboard" ///The handheld item counterpart for the board - var/board_item_type = /obj/item/melee/skateboard + var/board_item_type = /obj/item/skateboard ///Stamina drain multiplier var/instability = 10 @@ -165,13 +165,13 @@ desc = "A RaDSTORMz brand professional skateboard. Looks a lot more stable than the average board." icon_state = "skateboard2" board_icon = "skateboard2" - board_item_type = /obj/item/melee/skateboard/pro + board_item_type = /obj/item/skateboard/pro instability = 6 /obj/vehicle/ridden/scooter/skateboard/hoverboard/ name = "hoverboard" desc = "A blast from the past, so retro!" - board_item_type = /obj/item/melee/skateboard/hoverboard + board_item_type = /obj/item/skateboard/hoverboard instability = 3 icon_state = "hoverboard_red" board_icon = "hoverboard_red" @@ -188,7 +188,7 @@ /obj/vehicle/ridden/scooter/skateboard/hoverboard/admin name = "\improper Board Of Directors" desc = "The engineering complexity of a spaceship concentrated inside of a board. Just as expensive, too." - board_item_type = /obj/item/melee/skateboard/hoverboard/admin + board_item_type = /obj/item/skateboard/hoverboard/admin instability = 0 icon_state = "hoverboard_nt" board_icon = "hoverboard_nt" diff --git a/code/modules/vehicles/sealed.dm b/code/modules/vehicles/sealed.dm index 22b1eb42bec..d883764c172 100644 --- a/code/modules/vehicles/sealed.dm +++ b/code/modules/vehicles/sealed.dm @@ -89,9 +89,10 @@ user.put_in_hands(inserted_key) inserted_key = null -/obj/vehicle/sealed/Destroy() +/obj/vehicle/sealed/deconstruct(disassembled = TRUE) DumpMobs() - explosion(loc, 0, 1, 2, 3, 0) + if(!disassembled) + explosion(loc, 0, 1, 2, 3, 0) return ..() /obj/vehicle/sealed/proc/DumpMobs(randomstep = TRUE) diff --git a/code/modules/vehicles/vehicle_key.dm b/code/modules/vehicles/vehicle_key.dm index ba21f01289b..6c662390133 100644 --- a/code/modules/vehicles/vehicle_key.dm +++ b/code/modules/vehicles/vehicle_key.dm @@ -12,15 +12,3 @@ /obj/item/key/janitor desc = "A keyring with a small steel key, and a pink fob reading \"Pussy Wagon\"." icon_state = "keyjanitor" - -/obj/item/key/lasso - name = "bone lasso" - desc = "Perfect for taming all kinds of supernatural beasts! (Warning: only perfect for taming one kind of supernatural beast.)" - force = 12 - icon_state = "lasso" - item_state = "chain" - lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - attack_verb = list("flogged", "whipped", "lashed", "disciplined") - hitsound = 'sound/weapons/whip.ogg' - slot_flags = ITEM_SLOT_BELT diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index 6d73fad566f..17249d8aae1 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -56,7 +56,6 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C integrity_failure = 0.33 armor = list("melee" = 20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 70) circuit = /obj/item/circuitboard/machine/vendor - var/datum/weakref/payment_account_ref light_power = 0.5 light_range = MINIMUM_USEFUL_LIGHT_RANGE clicksound = 'sound/machines/pda_button1.ogg' @@ -139,9 +138,9 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C ///Does this machine accept mining points? var/mining_point_vendor = FALSE ///Default price of items if not overridden - var/default_price = 25 + var/default_price = 15 ///Default price of premium items if not overridden - var/extra_price = 50 + var/extra_price = 30 ///Whether our age check is currently functional var/age_restrictions = TRUE @@ -194,6 +193,8 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C Radio = new /obj/item/radio(src) Radio.listening = 0 + if(istype(get_area(src.loc), /area/outpost) || istype(get_area(src.loc), /area/ruin)) + all_items_free = FALSE /obj/machinery/vending/Destroy() QDEL_NULL(wires) @@ -552,7 +553,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C L.client.give_award(/datum/award/achievement/misc/vendor_squish, L) // good job losing a fight with an inanimate object idiot L.Paralyze(60) - L.emote("scream") + L.force_scream() playsound(L, 'sound/effects/blobattack.ogg', 40, TRUE) playsound(L, 'sound/effects/splat.ogg', 50, TRUE) @@ -795,12 +796,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C flick(icon_deny,src) vend_ready = TRUE return - - var/datum/bank_account/payment_account = payment_account_ref.resolve() - if(payment_account) - payment_account.transfer_money(account, price_to_use) - else - account.adjust_money(-price_to_use, "vendor_purchase") + account.adjust_money(-price_to_use, CREDIT_LOG_VENDOR_PURCHASE) SSblackbox.record_feedback("amount", "vending_spent", price_to_use) log_econ("[price_to_use] credits were inserted into [src] by [H] to buy [R].") if(last_shopper != REF(usr) || purchase_message_cooldown < world.time) @@ -811,9 +807,13 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C if(icon_vend) //Show the vending animation if needed flick(icon_vend,src) playsound(src, 'sound/machines/machine_vend.ogg', 50, TRUE, extrarange = -3) - new R.product_path(get_turf(src)) + var/obj/item/vended_item = new R.product_path(get_turf(src)) if(R.max_amount >= 0) R.amount-- + if(usr.CanReach(src) && usr.put_in_hands(vended_item)) + to_chat(usr, span_notice("You take [R.name] out of the slot.")) + else + to_chat(usr, span_warning("[capitalize(R.name)] falls onto the floor!")) SSblackbox.record_feedback("nested tally", "vending_machine_usage", 1, list("[type]", "[R.product_path]")) vend_ready = TRUE @@ -1032,7 +1032,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C if(owner) owner.transfer_money(account, S.custom_price) else - account.adjust_money(-S.custom_price, "vendor_purchase") + account.adjust_money(-S.custom_price, CREDIT_LOG_VENDOR_PURCHASE) SSblackbox.record_feedback("amount", "vending_spent", S.custom_price) log_econ("[S.custom_price] credits were spent on [src] buying a [S] by [owner.account_holder], owned by [private_a.account_holder].") vending_machine_input[N] = max(vending_machine_input[N] - 1, 0) diff --git a/code/modules/vending/assist.dm b/code/modules/vending/assist.dm index cb3cd0053d8..44715238ed9 100644 --- a/code/modules/vending/assist.dm +++ b/code/modules/vending/assist.dm @@ -22,7 +22,7 @@ /obj/item/circuitboard/machine/vendor = 3) refill_canister = /obj/item/vending_refill/assist product_ads = "Only the finest!;Have some tools.;The most robust equipment.;The finest gear in space!" - default_price = 125 + default_price = 50 extra_price = 100 light_mask = "generic-light-mask" diff --git a/code/modules/vending/autodrobe.dm b/code/modules/vending/autodrobe.dm index 367c309d59a..5e15b2a2497 100644 --- a/code/modules/vending/autodrobe.dm +++ b/code/modules/vending/autodrobe.dm @@ -7,8 +7,6 @@ product_slogans = "Dress for success!;Suited and booted!;It's show time!;Why leave style up to fate? Use AutoDrobe!" vend_reply = "Thank you for using AutoDrobe!" products = list( - /obj/item/clothing/suit/chickensuit = 1, - /obj/item/clothing/head/chicken = 1, /obj/item/clothing/under/costume/gladiator = 1, /obj/item/clothing/head/helmet/gladiator = 1, /obj/item/clothing/under/rank/command/captain/suit = 1, @@ -21,7 +19,7 @@ /obj/item/clothing/under/costume/schoolgirl/green = 1, /obj/item/clothing/under/costume/schoolgirl/orange = 1, /obj/item/clothing/head/kitty = 1, - /obj/item/clothing/under/dress/skirt = 1, + /obj/item/clothing/under/dress/skirt/color = 1, /obj/item/clothing/head/beret = 1, /obj/item/clothing/head/cowboy = 1, //WS - Yee Haw /obj/item/clothing/accessory/waistcoat = 1, @@ -29,16 +27,11 @@ /obj/item/clothing/head/that = 1, /obj/item/clothing/under/costume/kilt = 1, /obj/item/clothing/head/beret = 1, - /obj/item/clothing/head/beret/vintage = 1, - /obj/item/clothing/head/beret/archaic = 1, /obj/item/clothing/accessory/waistcoat = 1, - /obj/item/clothing/glasses/monocle =1, - /obj/item/clothing/head/bowler = 1, /obj/item/cane = 1, /obj/item/clothing/under/suit/sl = 1, /obj/item/clothing/mask/fakemoustache = 1, /obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 1, - /obj/item/clothing/head/plaguedoctorhat = 1, /obj/item/clothing/mask/gas/plaguedoctor = 1, /obj/item/clothing/suit/toggle/owlwings = 1, /obj/item/clothing/under/costume/owl = 1, @@ -53,17 +46,9 @@ /obj/item/clothing/head/bandana = 1, /obj/item/clothing/head/bandana = 1, /obj/item/clothing/head/trapper = 1, - /obj/item/clothing/suit/imperium_monk = 1, /obj/item/clothing/mask/gas/cyborg = 1, - /obj/item/clothing/suit/chaplainsuit/holidaypriest = 1, - /obj/item/clothing/suit/chaplainsuit/whiterobe = 1, - /obj/item/clothing/head/wizard/marisa/fake = 1, - /obj/item/clothing/suit/wizrobe/marisa/fake = 1, /obj/item/clothing/under/dress/sundress = 1, - /obj/item/clothing/head/witchwig = 1, /obj/item/staff/broom = 1, - /obj/item/clothing/suit/wizrobe/fake = 1, - /obj/item/clothing/head/wizard/fake = 1, /obj/item/staff = 3, /obj/item/clothing/under/rank/civilian/mime/sexy = 1, /obj/item/clothing/under/rank/civilian/mime/skirt = 1, @@ -77,12 +62,6 @@ /obj/item/clothing/mask/rat/tribal = 1, /obj/item/clothing/mask/rat = 1, /obj/item/clothing/suit/apron/overalls = 1, - /obj/item/clothing/head/rabbitears =1, - /obj/item/clothing/head/sombrero = 1, - /obj/item/clothing/head/sombrero/green = 1, - /obj/item/clothing/suit/poncho = 1, - /obj/item/clothing/suit/poncho/green = 1, - /obj/item/clothing/suit/poncho/red = 1, /obj/item/clothing/head/maidheadband = 1, /obj/item/clothing/under/costume/maid = 1, /obj/item/clothing/gloves/maid = 1, @@ -90,29 +69,15 @@ /obj/item/clothing/under/rank/civilian/janitor/maid = 1, /obj/item/clothing/glasses/cold=1, /obj/item/clothing/glasses/heat=1, - /obj/item/clothing/suit/whitedress = 1, - /obj/item/clothing/head/jester = 1, /obj/item/clothing/suit/hooded/carp_costume = 1, - /obj/item/clothing/suit/hooded/ian_costume = 1, - /obj/item/clothing/suit/hooded/bee_costume = 1, /obj/item/clothing/suit/snowman = 1, /obj/item/clothing/head/snowman = 1, /obj/item/clothing/mask/joy = 1, - /obj/item/clothing/head/cueball = 1, /obj/item/clothing/under/suit/white_on_white = 1, /obj/item/clothing/under/costume/sailor = 1, - /obj/item/clothing/head/delinquent = 1, /obj/item/clothing/head/wig/random = 3, - /obj/item/clothing/head/shrine_wig = 1, - /obj/item/clothing/suit/shrine_maiden = 1, - /obj/item/clothing/suit/changshan_red = 1, - /obj/item/clothing/suit/changshan_blue = 1, - /obj/item/clothing/suit/cheongsam_red = 1, - /obj/item/clothing/suit/cheongsam_blue = 1, /obj/item/gohei = 1, /obj/item/clothing/suit/judgerobe = 1, - /obj/item/clothing/head/powdered_wig = 1, - /obj/item/clothing/glasses/sunglasses/garb = 2, /obj/item/clothing/glasses/blindfold = 1, /obj/item/clothing/mask/muzzle = 2) premium = list( @@ -121,13 +86,11 @@ /obj/item/clothing/head/helmet/roman/fake = 1, /obj/item/clothing/head/helmet/roman/legionnaire/fake = 1, /obj/item/clothing/under/costume/roman = 1, - /obj/item/clothing/shoes/roman = 1, /obj/item/shield/riot/roman/fake = 1, - /obj/item/skub = 1, - /obj/item/clothing/suit/hooded/mysticrobe = 1) + /obj/item/skub = 1) refill_canister = /obj/item/vending_refill/autodrobe - default_price = 180 - extra_price = 360 + default_price = 90 + extra_price = 180 light_mask="theater-light-mask" /obj/machinery/vending/autodrobe/canLoadItem(obj/item/I,mob/user) diff --git a/code/modules/vending/boozeomat.dm b/code/modules/vending/boozeomat.dm index 45dc055e1b2..ce8abf81c99 100644 --- a/code/modules/vending/boozeomat.dm +++ b/code/modules/vending/boozeomat.dm @@ -74,8 +74,8 @@ product_ads = "Drink up!;Booze is good for you!;Alcohol is everyone's best friend.;Quite delighted to serve you!;Care for a nice, cold beer?;Nothing cures you like booze!;Have a sip!;Have a drink!;Have a beer!;Beer is good for you!;Only the finest alcohol!;Best quality booze since 53 FSC!;Award-winning wine!;Maximum alcohol!;Everyone loves beer.;A toast for progress!" req_access = list(ACCESS_BAR) refill_canister = /obj/item/vending_refill/boozeomat - default_price = 120 - extra_price = 200 + default_price = 10 + extra_price = 15 light_mask = "boozeomat-light-mask" /obj/machinery/vending/boozeomat/all_access diff --git a/code/modules/vending/cartridge.dm b/code/modules/vending/cartridge.dm index b2608b6556f..b69f40525ac 100644 --- a/code/modules/vending/cartridge.dm +++ b/code/modules/vending/cartridge.dm @@ -14,8 +14,8 @@ /obj/item/cartridge/captain = 3, /obj/item/cartridge/quartermaster = 10) refill_canister = /obj/item/vending_refill/cart - default_price = 250 - extra_price = 500 + default_price = 200 + extra_price = 300 light_mask="cart-light-mask" /obj/item/vending_refill/cart diff --git a/code/modules/vending/cigarette.dm b/code/modules/vending/cigarette.dm index 1c377c30946..3bbb10afb9c 100644 --- a/code/modules/vending/cigarette.dm +++ b/code/modules/vending/cigarette.dm @@ -25,8 +25,8 @@ /obj/item/storage/fancy/cigarettes/cigars/cohiba = 1, /obj/item/clothing/mask/vape/cigar = 3) refill_canister = /obj/item/vending_refill/cigarette - default_price = 75 - extra_price = 250 + default_price = 10 + extra_price = 20 light_mask = "cigs-light-mask" /obj/machinery/vending/cigarette/syndicate @@ -41,7 +41,7 @@ /obj/item/lighter/greyscale = 4, /obj/item/storage/fancy/rollingpapers = 5) -/obj/machinery/vending/cigarette/beach //Used in the lavaland_biodome_beach.dmm ruin +/obj/machinery/vending/cigarette/beach //Used in the old lavaland biodome ruin name = "\improper ShadyCigs Ultra" desc = "Now with extra premium products!" product_ads = "Probably not bad for you!;Dope will get you through times of no money better than money will get you through times of no dope!;It's good for you!" diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm index e9eef49a0e3..c462422830b 100644 --- a/code/modules/vending/clothesmate.dm +++ b/code/modules/vending/clothesmate.dm @@ -16,14 +16,10 @@ /obj/item/clothing/head/beanie/yellow = 3, /obj/item/clothing/head/beanie/orange = 3, /obj/item/clothing/head/beanie/cyan = 3, - /obj/item/clothing/head/beanie/christmas = 3, /obj/item/clothing/head/beanie/striped = 3, /obj/item/clothing/head/beanie/stripedred = 3, /obj/item/clothing/head/beanie/stripedblue = 3, /obj/item/clothing/head/beanie/stripedgreen = 3, - /obj/item/clothing/head/beanie/rasta = 3, - /obj/item/clothing/head/kippah = 3, - /obj/item/clothing/head/taqiyahred = 3, /obj/item/clothing/gloves/fingerless = 2, /obj/item/clothing/neck/scarf/pink = 3, /obj/item/clothing/neck/scarf/red = 3, @@ -55,14 +51,17 @@ /obj/item/clothing/under/pants/track = 2, /obj/item/clothing/shoes/sneakers/black = 4, /obj/item/clothing/head/wig/natural = 4, - /obj/item/clothing/under/dress/skirt/plaid = 2, - /obj/item/clothing/under/dress/skirt/plaid/blue = 2, - /obj/item/clothing/under/dress/skirt/plaid/green = 2, - /obj/item/clothing/under/dress/skirt/plaid/purple = 2, - /obj/item/clothing/under/dress/skirt = 2, - /obj/item/clothing/under/dress/skirt/blue = 2, - /obj/item/clothing/under/dress/skirt/red = 2, - /obj/item/clothing/under/dress/skirt/purple = 2, + /obj/item/clothing/under/dress/skirt/color = 2, + /obj/item/clothing/under/dress/skirt/color/blue = 2, + /obj/item/clothing/under/dress/skirt/color/red = 2, + /obj/item/clothing/under/dress/skirt/color/purple = 2, + /obj/item/clothing/under/dress/skirt/color/white = 2, + /obj/item/clothing/under/dress/skirt/pinafore = 2, + /obj/item/clothing/under/dress/skirt/pinafore/maroon = 2, + /obj/item/clothing/under/dress/skirt/pinafore/cerulean = 2, + /obj/item/clothing/under/dress/skirt/pinafore/plaid = 2, + /obj/item/clothing/under/dress/skirt/pinafore/plaid/green = 2, + /obj/item/clothing/under/dress/skirt/pinafore/plaid/brown = 2, /obj/item/clothing/under/suit/white/skirt = 2, /obj/item/clothing/under/rank/command/captain/suit/skirt = 2, /obj/item/clothing/under/rank/command/head_of_personnel/suit/skirt = 2, @@ -85,15 +84,14 @@ /obj/item/clothing/accessory/waistcoat = 1, /obj/item/clothing/head/that = 1, /obj/item/clothing/head/fedora = 1, - /obj/item/clothing/glasses/monocle = 1, - /obj/item/clothing/head/sombrero = 1, - /obj/item/clothing/suit/poncho = 1, /obj/item/clothing/under/costume/kilt = 1, /obj/item/clothing/under/dress/sundress = 1, /obj/item/clothing/under/dress/striped = 1, /obj/item/clothing/under/dress/sailor = 1, /obj/item/clothing/under/dress/redeveninggown = 1, /obj/item/clothing/under/dress/blacktango = 1, + /obj/item/clothing/under/dress/one_shoulder = 1, + /obj/item/clothing/under/dress/white_dress = 1, /obj/item/clothing/suit/ianshirt = 1, /obj/item/clothing/shoes/laceup = 2, /obj/item/clothing/shoes/sandal = 2, @@ -112,12 +110,10 @@ /obj/item/storage/belt/fannypack/black = 2, /obj/item/clothing/suit/jacket/letterman_syndie = 1, /obj/item/clothing/under/costume/jabroni = 1, - /obj/item/clothing/suit/vapeshirt = 1, /obj/item/clothing/under/costume/geisha = 1) premium = list( /obj/item/clothing/under/suit/checkered = 1, /obj/item/clothing/suit/jacket/leather = 1, - /obj/item/clothing/suit/jacket/leather/overcoat = 1, /obj/item/clothing/neck/necklace/dope = 3, /obj/item/clothing/suit/jacket/letterman_nanotrasen = 1, /obj/item/instrument/piano_synth/headphones/spacepods = 1) diff --git a/code/modules/vending/coffee.dm b/code/modules/vending/coffee.dm index 9c4851c134a..f56336a0d44 100644 --- a/code/modules/vending/coffee.dm +++ b/code/modules/vending/coffee.dm @@ -13,8 +13,8 @@ /obj/item/reagent_containers/food/drinks/cafelatte = 3, /obj/item/reagent_containers/food/drinks/soylatte = 3) refill_canister = /obj/item/vending_refill/coffee - default_price = 45 - extra_price = 150 + default_price = 5 + extra_price = 15 light_mask = "coffee-light-mask" light_color = COLOR_DARK_MODERATE_ORANGE diff --git a/code/modules/vending/cola.dm b/code/modules/vending/cola.dm index a3fa70ce620..b69adcec1fb 100644 --- a/code/modules/vending/cola.dm +++ b/code/modules/vending/cola.dm @@ -23,25 +23,13 @@ /obj/item/reagent_containers/food/drinks/soda_cans/xeno_energy = 1, /obj/item/reagent_containers/food/drinks/soda_cans/crosstalk = 1) refill_canister = /obj/item/vending_refill/cola - default_price = 45 - extra_price = 200 - + default_price = 5 + extra_price = 15 /obj/item/vending_refill/cola machine_name = "RobustMore Softdrinks" icon_state = "refill_cola" -/obj/machinery/vending/cola/random - name = "\improper Random Drinkies" - icon_state = "random_cola" - desc = "Uh oh!" - -/obj/machinery/vending/cola/random/Initialize() - ..() - var/T = pick(subtypesof(/obj/machinery/vending/cola) - /obj/machinery/vending/cola/random) - new T(loc) - return INITIALIZE_HINT_QDEL - /obj/machinery/vending/cola/blue icon_state = "Cola_Machine" light_mask = "cola-light-mask" diff --git a/code/modules/vending/drinnerware.dm b/code/modules/vending/drinnerware.dm index 3e51271093a..0dc0102c91e 100644 --- a/code/modules/vending/drinnerware.dm +++ b/code/modules/vending/drinnerware.dm @@ -8,17 +8,17 @@ /obj/item/reagent_containers/glass/bowl = 20, /obj/item/kitchen/fork = 6, /obj/item/reagent_containers/food/drinks/drinkingglass = 8, - /obj/item/reagent_containers/food/condiment/pack/ketchup = 5, - /obj/item/reagent_containers/food/condiment/pack/hotsauce = 5, - /obj/item/reagent_containers/food/condiment/pack/astrotame = 5, - /obj/item/reagent_containers/food/condiment/saltshaker = 5, - /obj/item/reagent_containers/food/condiment/peppermill = 5, + /obj/item/reagent_containers/condiment/pack/ketchup = 5, + /obj/item/reagent_containers/condiment/pack/hotsauce = 5, + /obj/item/reagent_containers/condiment/pack/astrotame = 5, + /obj/item/reagent_containers/condiment/saltshaker = 5, + /obj/item/reagent_containers/condiment/peppermill = 5, /obj/item/clothing/suit/apron/chef = 2, /obj/item/kitchen/rollingpin = 2, - /obj/item/kitchen/knife = 2, - /obj/item/kitchen/knife/pizza_cutter = 2, + /obj/item/melee/knife/kitchen = 2, + /obj/item/melee/knife/pizza_cutter = 2, /obj/item/book/granter/crafting_recipe/cooking_sweets_101 = 2, - /obj/item/kitchen/knife/butcher = 1) + /obj/item/melee/knife/butcher = 1) refill_canister = /obj/item/vending_refill/dinnerware default_price = 50 extra_price = 250 diff --git a/code/modules/vending/engineering.dm b/code/modules/vending/engineering.dm index b5a9d073e8f..1050e14de93 100644 --- a/code/modules/vending/engineering.dm +++ b/code/modules/vending/engineering.dm @@ -29,8 +29,8 @@ /obj/item/stock_parts/matter_bin = 5, /obj/item/stock_parts/manipulator = 5) refill_canister = /obj/item/vending_refill/engineering - default_price = 450 - extra_price = 500 + default_price = 200 + extra_price = 400 light_mask = "engi-light-mask" /obj/item/vending_refill/engineering diff --git a/code/modules/vending/engivend.dm b/code/modules/vending/engivend.dm index fb096656c1c..c3b3e175d18 100644 --- a/code/modules/vending/engivend.dm +++ b/code/modules/vending/engivend.dm @@ -22,7 +22,7 @@ /obj/item/construction/rcd/loaded = 2, /obj/item/storage/box/smart_metal_foam = 1) refill_canister = /obj/item/vending_refill/engivend - default_price = 450 + default_price = 250 extra_price = 500 light_mask = "engivend-light-mask" diff --git a/code/modules/vending/games.dm b/code/modules/vending/games.dm index c803fa347e9..e54479cd55c 100644 --- a/code/modules/vending/games.dm +++ b/code/modules/vending/games.dm @@ -15,8 +15,8 @@ /obj/item/camera = 3, /obj/item/dyespray = 3) premium = list( - /obj/item/melee/skateboard/pro = 3, - /obj/item/melee/skateboard/hoverboard = 1) + /obj/item/skateboard/pro = 3, + /obj/item/skateboard/hoverboard = 1) refill_canister = /obj/item/vending_refill/games default_price = 50 extra_price = 250 diff --git a/code/modules/vending/liberation_toy.dm b/code/modules/vending/liberation_toy.dm index 911a190703f..931611da1df 100644 --- a/code/modules/vending/liberation_toy.dm +++ b/code/modules/vending/liberation_toy.dm @@ -10,16 +10,14 @@ /obj/item/gun/ballistic/automatic/toy/pistol = 10, /obj/item/gun/ballistic/shotgun/toy = 10, /obj/item/toy/sword = 10, - /obj/item/ammo_box/foambox = 20, + /obj/item/storage/box/ammo/foam_darts = 20, /obj/item/toy/foamblade = 10, /obj/item/toy/balloon/syndicate = 10, /obj/item/clothing/suit/syndicatefake = 5, /obj/item/clothing/head/syndicatefake = 5) //OPS IN DORMS oh wait it's just an assistant contraband = list( /obj/item/gun/ballistic/shotgun/toy/crossbow = 10, //Congrats, you unlocked the +18 setting! - /obj/item/gun/ballistic/automatic/smg/c20r/toy = 10, - /obj/item/gun/ballistic/automatic/hmg/l6_saw/toy = 10, - /obj/item/ammo_box/foambox/riot = 20, + /obj/item/storage/box/ammo/foam_darts/riot = 20, /obj/item/toy/katana = 10, /obj/item/dualsaber/toy = 5, /obj/item/toy/cards/deck/syndicate = 10) //Gambling and it hurts, making it a +18 item diff --git a/code/modules/vending/medical.dm b/code/modules/vending/medical.dm index 5a35a75a449..ec96150e92d 100644 --- a/code/modules/vending/medical.dm +++ b/code/modules/vending/medical.dm @@ -36,8 +36,8 @@ armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) resistance_flags = FIRE_PROOF refill_canister = /obj/item/vending_refill/medical - default_price = 250 - extra_price = 500 + default_price = 150 + extra_price = 400 light_mask = "med-light-mask" /obj/item/vending_refill/medical diff --git a/code/modules/vending/medical_wall.dm b/code/modules/vending/medical_wall.dm index dd498ffded0..41f97ab888a 100644 --- a/code/modules/vending/medical_wall.dm +++ b/code/modules/vending/medical_wall.dm @@ -21,8 +21,8 @@ armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) resistance_flags = FIRE_PROOF refill_canister = /obj/item/vending_refill/wallmed - default_price = 250 - extra_price = 500 + default_price = 200 + extra_price = 400 tiltable = FALSE light_mask = "wallmed-light-mask" diff --git a/code/modules/vending/security.dm b/code/modules/vending/security.dm index 911eaed2065..8ffd760c953 100644 --- a/code/modules/vending/security.dm +++ b/code/modules/vending/security.dm @@ -12,8 +12,6 @@ /obj/item/assembly/flash/handheld = 5, /obj/item/storage/box/evidence = 6, /obj/item/flashlight/seclite = 4, - /obj/item/ammo_box/c9mm/rubbershot = 3, - /obj/item/ammo_box/c9mm = 1, /obj/item/stock_parts/cell/gun = 3, /obj/item/clothing/glasses/sunglasses = 2) premium = list( @@ -98,7 +96,7 @@ /obj/item/storage/box/lethalshot = 6, /obj/item/stock_parts/cell/gun = 5, - /obj/item/ammo_box/magazine/uzim9mm = 5, + /obj/item/ammo_box/magazine/spitter_9mm = 5, /obj/item/grenade/c4 = 5, /obj/item/grenade/frag = 5, @@ -107,8 +105,7 @@ premium = list() voucher_items = list( "Tactical Energy Gun" = /obj/item/gun/energy/e_gun/hades, - "Combat Shotgun" = /obj/item/gun/ballistic/shotgun/automatic/combat, - "Type U3 Uzi" = /obj/item/gun/ballistic/automatic/smg/mini_uzi) + "Combat Shotgun" = /obj/item/gun/ballistic/shotgun/automatic/m11) /obj/machinery/vending/security/marine/syndicate icon_state = "syndicate-marine" @@ -120,20 +117,20 @@ /obj/item/restraints/handcuffs = 3, /obj/item/assembly/flash/handheld = 2, /obj/item/flashlight/seclite = 2, - /obj/item/ammo_box/magazine/m10mm = 3, - /obj/item/ammo_box/magazine/smgm45 = 3, + /obj/item/ammo_box/magazine/m10mm_ringneck = 3, + /obj/item/ammo_box/magazine/m45_cobra = 3, /obj/item/ammo_box/magazine/sniper_rounds = 3, - /obj/item/ammo_box/magazine/m556 = 2, - /obj/item/ammo_box/magazine/m12g = 3, - /obj/item/ammo_box/magazine/ebr = 5, + /obj/item/ammo_box/magazine/m556_42_hydra = 2, + /obj/item/ammo_box/magazine/m12g_bulldog/drum = 3, + /obj/item/ammo_box/magazine/m556_42_hydra/small = 5, /obj/item/grenade/c4 = 1, /obj/item/grenade/frag = 1, ) voucher_items = list( - "M-90gl Carbine" = /obj/item/gun/ballistic/automatic/smg/m90, - "sniper rifle" = /obj/item/gun/ballistic/automatic/marksman/sniper_rifle, - "C-20r SMG" = /obj/item/gun/ballistic/automatic/smg/c20r, - "Bulldog Shotgun" = /obj/item/gun/ballistic/shotgun/bulldog) + "M-90gl Carbine" = /obj/item/gun/ballistic/automatic/assault/hydra, + "sniper rifle" = /obj/item/gun/ballistic/automatic/marksman/taipan, + "C-20r SMG" = /obj/item/gun/ballistic/automatic/smg/cobra, + "Bulldog Shotgun" = /obj/item/gun/ballistic/shotgun/automatic/bulldog) /obj/machinery/vending/security/marine/nanotrasen icon_state = "nt-marine" diff --git a/code/modules/vending/snack.dm b/code/modules/vending/snack.dm index 45d76a4754f..034d9df27ba 100644 --- a/code/modules/vending/snack.dm +++ b/code/modules/vending/snack.dm @@ -16,27 +16,16 @@ /obj/item/storage/box/gum = 3, /obj/item/reagent_containers/food/snacks/energybar = 6, /obj/item/reagent_containers/food/snacks/syndicake = 6, - /obj/item/reagent_containers/food/snacks/candy/bronx = 1) + ) refill_canister = /obj/item/vending_refill/snack canload_access_list = list(ACCESS_KITCHEN) - default_price = 60 - extra_price = 160 + default_price = 5 + extra_price = 10 input_display_header = "Chef's Food Selection" /obj/item/vending_refill/snack machine_name = "RobustMore DrinkFoods LLC" -/obj/machinery/vending/snack/random - name = "\improper Random Snackies" - icon_state = "random_snack" - desc = "Uh oh!" - -/obj/machinery/vending/snack/random/Initialize() - ..() - var/T = pick(subtypesof(/obj/machinery/vending/snack) - /obj/machinery/vending/snack/random) - new T(loc) - return INITIALIZE_HINT_QDEL - /obj/machinery/vending/snack/blue icon_state = "snackblue" diff --git a/code/modules/vending/sustenance.dm b/code/modules/vending/sustenance.dm index 0519285d26a..02a95555468 100644 --- a/code/modules/vending/sustenance.dm +++ b/code/modules/vending/sustenance.dm @@ -7,11 +7,11 @@ icon_state = "sustenance" products = list( /obj/item/reagent_containers/food/snacks/tofu/prison = 24, - /obj/item/reagent_containers/food/snacks/breadslice/moldy = 15, + /obj/item/food/breadslice/moldy = 15, /obj/item/reagent_containers/food/drinks/ice/prison = 12, /obj/item/reagent_containers/food/snacks/candy_corn/prison = 6) contraband = list( - /obj/item/kitchen/knife = 6, + /obj/item/melee/knife/kitchen = 6, /obj/item/reagent_containers/food/drinks/coffee = 12, /obj/item/tank/internals/emergency_oxygen = 6, /obj/item/clothing/mask/breath = 6) diff --git a/code/modules/vending/toys.dm b/code/modules/vending/toys.dm index a5092cf7373..3ee07932fdd 100644 --- a/code/modules/vending/toys.dm +++ b/code/modules/vending/toys.dm @@ -12,20 +12,18 @@ /obj/item/gun/ballistic/automatic/toy/pistol = 10, /obj/item/gun/ballistic/shotgun/toy = 10, /obj/item/toy/sword = 10, - /obj/item/ammo_box/foambox = 20, + /obj/item/storage/box/ammo/foam_darts = 20, /obj/item/toy/foamblade = 10, /obj/item/toy/balloon/syndicate = 10, /obj/item/clothing/suit/syndicatefake = 5, /obj/item/clothing/head/syndicatefake = 5, /obj/item/gun/ballistic/shotgun/toy/crossbow = 10, - /obj/item/gun/ballistic/automatic/smg/c20r/toy = 5, - /obj/item/gun/ballistic/automatic/hmg/l6_saw/toy = 5, /obj/item/toy/katana = 10, /obj/item/dualsaber/toy = 5) armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) resistance_flags = FIRE_PROOF refill_canister = /obj/item/vending_refill/donksoft - default_price = 150 + default_price = 100 extra_price = 300 /obj/item/vending_refill/donksoft diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index da3fdb13401..ac4286799eb 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -2,8 +2,8 @@ icon_state = "refill_clothes" /obj/machinery/vending/wardrobe - default_price = 350 - extra_price = 450 + default_price = 200 + extra_price = 500 input_display_header = "Returned Clothing" light_mask = "wardrobe-light-mask" @@ -163,8 +163,7 @@ /obj/item/clothing/head/soft/black = 2, /obj/item/clothing/mask/bandana/skull = 2 ) - contraband = list(/obj/item/clothing/suit/hooded/enginseer = 2, // WS edit: enginsineer robes - /obj/item/organ/tongue/robot = 2) + contraband = list(/obj/item/organ/tongue/robot = 2) refill_canister = /obj/item/vending_refill/wardrobe/robo_wardrobe extra_price = 300 /obj/item/vending_refill/wardrobe/robo_wardrobe @@ -282,7 +281,7 @@ vend_reply = "Thank you for using the ChefDrobe!" products = list(/obj/item/clothing/under/suit/waiter = 2, /obj/item/radio/headset/headset_srv = 2, - /obj/item/clothing/head/beret/service = 2, //WS edit - berets + /obj/item/clothing/head/beret/service = 2, /obj/item/clothing/accessory/waistcoat = 2, /obj/item/clothing/suit/apron/chef = 3, /obj/item/clothing/head/soft/mime = 2, @@ -291,10 +290,8 @@ /obj/item/clothing/suit/toggle/chef = 1, /obj/item/clothing/under/rank/civilian/chef = 1, /obj/item/clothing/under/rank/civilian/chef/skirt = 2, - ///obj/item/clothing/under/rank/chef = 3,//WS edit - Better security jumpsuit sprites /obj/item/clothing/head/chefhat = 1, /obj/item/clothing/under/shorts/cookjorts = 2, - /obj/item/clothing/shoes/cookflops = 2, /obj/item/reagent_containers/glass/rag = 1, /obj/item/clothing/accessory/armband/med = 4, /obj/item/clothing/suit/hooded/wintercoat = 2) @@ -375,29 +372,16 @@ icon_state = "chapdrobe" product_ads = "Are you being bothered by cultists or pesky revenants? Then come and dress like the holy man!;Clothes for men of the cloth!" vend_reply = "Thank you for using the ChapDrobe!" - products = list(/obj/item/storage/box/holy = 1, - /obj/item/storage/backpack/cultpack = 1, + products = list(/obj/item/storage/backpack/cultpack = 1, /obj/item/clothing/head/beret/service = 1, //WS edit - berets /obj/item/clothing/accessory/pocketprotector/cosmetology = 1, /obj/item/clothing/under/rank/civilian/chaplain = 1, /obj/item/clothing/under/rank/civilian/chaplain/skirt = 2, /obj/item/clothing/shoes/sneakers/black = 1, - /obj/item/clothing/suit/chaplainsuit/nun = 1, - /obj/item/clothing/head/nun_hood = 1, - /obj/item/clothing/suit/chaplainsuit/holidaypriest = 1, - /obj/item/clothing/suit/hooded/chaplainsuit/monkhabit = 1, /obj/item/storage/fancy/candle_box = 2, - /obj/item/clothing/head/kippah = 3, - /obj/item/clothing/suit/chaplainsuit/whiterobe = 1, - /obj/item/clothing/head/taqiyahwhite = 1, - /obj/item/clothing/head/taqiyahred = 3, - /obj/item/clothing/suit/chaplainsuit/monkrobeeast = 1, - /obj/item/clothing/accessory/armband/med = 4, - /obj/item/clothing/head/beanie/rasta = 1) + /obj/item/clothing/accessory/armband/med = 4) contraband = list(/obj/item/toy/plush/plushvar = 1, /obj/item/toy/plush/narplush = 1) - premium = list(/obj/item/clothing/suit/chaplainsuit/bishoprobe = 1, - /obj/item/clothing/head/bishopmitre = 1) refill_canister = /obj/item/vending_refill/wardrobe/chap_wardrobe /obj/item/vending_refill/wardrobe/chap_wardrobe machine_name = "ChapDrobe" @@ -433,8 +417,7 @@ /obj/item/clothing/shoes/sneakers/white = 2, /obj/item/clothing/suit/toggle/labcoat/genetics = 2, /obj/item/clothing/accessory/armband/medblue = 4, - /obj/item/storage/backpack/genetics = 2, - /obj/item/storage/backpack/satchel/gen = 2) + /obj/item/storage/backpack/genetics = 2) refill_canister = /obj/item/vending_refill/wardrobe/gene_wardrobe /obj/item/vending_refill/wardrobe/gene_wardrobe machine_name = "GeneDrobe" @@ -455,7 +438,6 @@ /obj/item/clothing/accessory/armband/hydro = 4, /obj/item/storage/backpack/satchel/vir = 2) contraband = list(/obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 1, - /obj/item/clothing/head/plaguedoctorhat = 1, /obj/item/clothing/mask/gas/plaguedoctor = 1) refill_canister = /obj/item/vending_refill/wardrobe/viro_wardrobe /obj/item/vending_refill/wardrobe/viro_wardrobe diff --git a/code/modules/vending/youtool.dm b/code/modules/vending/youtool.dm index 98a5331b274..d4335680a51 100644 --- a/code/modules/vending/youtool.dm +++ b/code/modules/vending/youtool.dm @@ -25,5 +25,5 @@ /obj/item/clothing/gloves/color/yellow = 1) armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 70) resistance_flags = FIRE_PROOF - default_price = 125 - extra_price = 350 + default_price = 75 + extra_price = 250 diff --git a/config/admins.txt b/config/admins.txt index 53b25ff1f20..5d12358889b 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -5,5 +5,6 @@ #If SQL-based admin loading is enabled, admins listed here will always be loaded first and will override any duplicate entries in the database. #MarkSuckerberg = Development Head +#rkz = Development Head -#just use the database, this is deprecated +# just use the database, this is deprecated diff --git a/config/config.txt b/config/config.txt index 0c8c28d3546..048fdddceab 100644 --- a/config/config.txt +++ b/config/config.txt @@ -6,7 +6,6 @@ $include dbconfig.txt $include comms.txt $include resources.txt $include interviews.txt -$include atmos_mix.txt # You can use the @ character at the beginning of a config option to lock it from being edited in-game # Example usage: @@ -156,9 +155,6 @@ LOG_CLONING ## log shuttle actions LOG_SHUTTLE -## Enable the demo subsystem -# DEMOS_ENABLED - ## Log all timers on timer auto reset # LOG_TIMERS_ON_BUCKET_RESET @@ -210,9 +206,6 @@ VOTE_AUTOTRANSFER_INTERVAL 18000 ## disable abandon mob #NORESPAWN -## disables calling del(src) on newmobs if they logout before spawnin in -# DONT_DEL_NEWMOB - ## set a hosted by name for unix platforms HOSTEDBY LectroNyx @@ -300,8 +293,6 @@ DISCORDURL https://discord.gg/ynY7MXHfbh # INVOKE_YOUTUBEDL youtube-dl ## In-game features -##Toggle for having jobs load up from the .txt -# LOAD_JOBS_FROM_TXT ## Uncomment this to forbid admins from possessing the singularity. #FORBID_SINGULO_POSSESSION @@ -399,7 +390,7 @@ NOTIFY_NEW_PLAYER_ACCOUNT_AGE 1 #AGGRESSIVE_CHANGELOG ## Comment this out if you've used the mass conversion sql proc for notes or want to stop converting notes -AUTOCONVERT_NOTES +#AUTOCONVERT_NOTES ## Comment this out to stop admin messages sent anytime an admin disconnects from a round in play, you can edit the messages in admin.dm ANNOUNCE_ADMIN_LOGOUT @@ -407,15 +398,6 @@ ANNOUNCE_ADMIN_LOGOUT ## Uncomment to have an admin message sent anytime an admin connects to a round in play, you can edit the messages in admin.dm ANNOUNCE_ADMIN_LOGIN -## Map rotation -## You should edit maps.txt to match your configuration when you enable this. -MAPROTATION - -## Map voting -## Allows players to vote with their preffered map setting -## When it's set to zero, the map will be randomly picked each round -PREFERENCE_MAP_VOTING 1 - ## AUTOADMIN ## The default admin rank AUTOADMIN_RANK Game Master diff --git a/config/game_options.txt b/config/game_options.txt index 44e798943f6..ee0559d2500 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -93,16 +93,10 @@ PROBABILITY TRAITORBRO 2 PROBABILITY TRAITORCHAN 3 PROBABILITY INTERNAL_AFFAIRS 3 PROBABILITY NUCLEAR 2 -PROBABILITY REVOLUTION 2 -PROBABILITY CULT 2 PROBABILITY CHANGELING 2 PROBABILITY WIZARD 4 -PROBABILITY MONKEY 1 -PROBABILITY METEOR 0 PROBABILITY EXTENDED 1 PROBABILITY SECRET_EXTENDED 1 -PROBABILITY DEVIL 0 -PROBABILITY DEVIL_AGENTS 0 PROBABILITY CLOWNOPS 2 ## You probably want to keep sandbox off by default for secret and random. @@ -120,15 +114,11 @@ CONTINUOUS TRAITORBRO CONTINUOUS TRAITORCHAN CONTINUOUS INTERNAL_AFFAIRS #CONTINUOUS NUCLEAR -#CONTINUOUS REVOLUTION -CONTINUOUS CULT CONTINUOUS CHANGELING CONTINUOUS WIZARD -#CONTINUOUS MONKEY ##Note: do not toggle continuous off for these modes, as they have no antagonists and would thus end immediately! -CONTINUOUS METEOR CONTINUOUS EXTENDED CONTINUOUS SECRET_EXTENDED @@ -141,11 +131,8 @@ MIDROUND_ANTAG TRAITOR MIDROUND_ANTAG TRAITORCHAN MIDROUND_ANTAG INTERNAL_AFFAIRS #MIDROUND_ANTAG NUCLEAR -#MIDROUND_ANTAG REVOLUTION -MIDROUND_ANTAG CULT MIDROUND_ANTAG CHANGELING MIDROUND_ANTAG WIZARD -#MIDROUND_ANTAG MONKEY ## Uncomment these for overrides of the minimum / maximum number of players in a round type. ## If you set any of these occasionally check to see if you still need them as the modes @@ -168,39 +155,17 @@ MIDROUND_ANTAG WIZARD #MIN_POP NUCLEAR 0 #MAX_POP NUCLEAR -1 -#MIN_POP REVOLUTION 20 -#MAX_POP REVOLUTION -1 - -#MIN_POP CULT 24 -#MAX_POP CULT -1 - #MIN_POP CHANGELING 15 #MAX_POP CHANGELING -1 #MIN_POP WIZARD 20 #MAX_POP WIZARD -1 -#MIN_POP MONKEY 20 -#MAX_POP MONKEY -1 - -#MIN_POP METEOR 0 -#MAX_POP METEOR -1 - -#MIN_POP DEVIL 0 -#MAX_POP DEVIL -1 - -#MIN_POP DEVIL_AGENTS 25 -#MAX_POP DEVIL_AGENTS -1 - ## Setting at least one mode to be playable at 0/1 players is required. #MIN_POP EXTENDED 0 #MAX_POP EXTENDED -1 - -## The amount of time it takes for the emergency shuttle to be called, from round start. -SHUTTLE_REFUEL_DELAY 12000 - ## Variables calculate how number of antagonists will scale to population. ## Used as (Antagonists = Population / Coeff) ## Set to 0 to disable scaling and use default numbers instead. @@ -272,19 +237,6 @@ ALLOW_AI_MULTICAM ## Uncomment to prevent the peacekeeper cyborg module from being chosen #DISABLE_PEACEBORG -## AWAY MISSIONS ### - -## Uncomment to load the virtual reality hub map -#VIRTUAL_REALITY - -## Uncomment to load one of the missions from awaymissionconfig.txt at roundstart. -#ROUNDSTART_AWAY - -## How long the delay is before the Away Mission gate opens. Default is half an hour. -## 600 is one minute. -GATEWAY_DELAY 18000 - - ## ACCESS ### ## If the number of players ready at round starts exceeds this threshold, JOBS_HAVE_MINIMAL_ACCESS will automatically be enabled. Otherwise, it will be disabled. @@ -333,8 +285,8 @@ NEAR_DEATH_EXPERIENCE ## ROUNDSTART SILICON LAWS ### ## This controls what the AI's laws are at the start of the round. -## Set to 0/commented out for "off", silicons will just start with Asimov. -## Set to 1 for "custom", silicons will start with the custom laws defined in silicon_laws.txt. (If silicon_laws.txt is empty, the AI will spawn with asimov and Custom boards will auto-delete.) +## Set to 0/commented out for "off", silicons will start with no laws. +## Set to 1 for "custom", silicons will start with the custom laws defined in silicon_laws.txt. (If silicon_laws.txt is empty, the AI will spawn with Asimov and Custom boards will auto-delete.) ## Set to 2 for "random", silicons will start with a random lawset picked from random laws specified below. ## Set to 3 for "weighted random", using values in "silicon_weights.txt", a law will be selected, with weights specifed in that file. DEFAULT_LAWS 0 @@ -467,9 +419,6 @@ ROUNDSTART_RACES jelly ## The amount of loadout items players are allowed to spawn with. Default 10 MAX_LOADOUT_ITEMS 10 -##Overflow job. Default is assistant -OVERFLOW_JOB Assistant - ## Overflow slot cap. Set to -1 for unlimited. If limited, it will still open up if every other job is full. OVERFLOW_CAP -1 @@ -477,9 +426,6 @@ OVERFLOW_CAP -1 ## This is disabled by default to make testing quicker, should be enabled on production servers or testing servers messing with lighting STARLIGHT -## Uncomment to bring back old grey suit assistants instead of the now default rainbow colored assistants. -#GREY_ASSISTANTS - ## Midround Antag (aka Mulligan antag) config options ### ## A time, in minutes, after which the midround antag system stops attempting to run and continuous rounds end immediately upon completion. @@ -512,17 +458,6 @@ BOMBCAP 20 ## LagHell (7, 14, 28) #BOMBCAP 28 - -## Lavaland "Budget" -## Lavaland ruin spawning has an imaginary budget to spend on ruins, where -## a less lootfilled or smaller or less round effecting ruin costs less to -## spawn, while the converse is true. Alter this number to affect the amount -## of ruins. -LAVALAND_BUDGET 60 - -## Space Ruin Budged -Space_Budget 16 - ## How many wirechewing rodents you want to spawn on exposed maintenane wires at the start of the round. You may wish to set this to 0 if you're testing powernets. MICE_ROUNDSTART 10 @@ -531,12 +466,6 @@ MICE_ROUNDSTART 10 SMUGGLER_SATCHELS 3 -## If the percentage of players alive (doesn't count conversions) drops below this threshold the emergency shuttle will be forcefully called (provided it can be) -#EMERGENCY_SHUTTLE_AUTOCALL_THRESHOLD 0.2 - -## Determines if players are allowed to print integrated circuits, uncomment to allow. -IC_PRINTING - ## Uncomment to allow roundstart quirk selection in the character setup menu. ## This used to be named traits, hence the config name, but it handles quirks, not the other kind of trait! ROUNDSTART_TRAITS @@ -544,9 +473,6 @@ ROUNDSTART_TRAITS ## Uncomment to disable human moods. #DISABLE_HUMAN_MOOD -## Enable night shifts ## -#ENABLE_NIGHT_SHIFTS - ## Enable randomized shift start times## #RANDOMIZE_SHIFT_TIME @@ -559,9 +485,6 @@ MONKEYCAP 64 ## A cap on how many mice can be bred via cheese wedges RATCAP 64 -## Maximum fine for a citation -MAXFINE 2000 - ## Enable the capitalist agenda on your server. ECONOMY @@ -595,3 +518,7 @@ BLUESPACE_JUMP_WAIT 12000 ## If admins are allowed to use the authentication server as a regular server for testing AUTH_ADMIN_TESTING + +## HEART COMMENDATIONS ### +## Uncomment this if you'd like to enable commendation pollings for this percentage of players near the end of the round (5% suggested) +COMMENDATION_PERCENT_POLL 0.05 diff --git a/dependencies.sh b/dependencies.sh index 6f5a61810a8..b702df60dac 100755 --- a/dependencies.sh +++ b/dependencies.sh @@ -24,7 +24,7 @@ export SPACEMAN_DMM_VERSION=suite-1.8 export PYTHON_VERSION=3.9.0 #auxmos repository -export AUXMOS_REPO=https://github.com/Putnam3145/auxmos +export AUXMOS_REPO=https://github.com/shiptest-ss13/auxmos #auxmos version -export AUXMOS_VERSION=v2.5.1 +export AUXMOS_VERSION=v2.5.5.3 diff --git a/html/changelogs/AutoChangeLog-pr-3921.yml b/html/changelogs/AutoChangeLog-pr-3921.yml new file mode 100644 index 00000000000..62a45a2aa2c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3921.yml @@ -0,0 +1,4 @@ +author: Apogee-dev +changes: + - {bugfix: the Derecho's missing APCs have been replaced} +delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3945.yml b/html/changelogs/AutoChangeLog-pr-3945.yml new file mode 100644 index 00000000000..921cd380005 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3945.yml @@ -0,0 +1,4 @@ +author: Thera-Pissed +changes: + - {bugfix: chem dispensers take refined bluespace instead of polycrystal} +delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3954.yml b/html/changelogs/AutoChangeLog-pr-3954.yml new file mode 100644 index 00000000000..a3023e73106 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3954.yml @@ -0,0 +1,4 @@ +author: generalthrax +changes: + - {bugfix: SG-8 fits in the holster like all the other energy pistols} +delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3960.yml b/html/changelogs/AutoChangeLog-pr-3960.yml new file mode 100644 index 00000000000..4adc8464280 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3960.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {bugfix: you should see the spur sprite a lot less} +delete-after: true diff --git a/html/changelogs/archive/2019-03.yml b/html/changelogs/archive/2019-03.yml index b5fd83b8ae4..af4cd2063ff 100644 --- a/html/changelogs/archive/2019-03.yml +++ b/html/changelogs/archive/2019-03.yml @@ -430,7 +430,7 @@ - bugfix: Rolling a 17 on the d20 of fate no longer gives you an empty box. Basilman: - bugfix: fixed runtime from selectin missing bodypart due to ran_zone - - code_imp: changed how ran_zone selects a zone from a switch to pickweight + - code_imp: changed how ran_zone selects a zone from a switch to pick_weight Kierany9: - bugfix: Added a 15 second grace period after death to prevent people from avoiding a hivemind host's Reclaim by succumbing. diff --git a/html/changelogs/archive/2024-07.yml b/html/changelogs/archive/2024-07.yml index 9f6fd5a203a..9f9679a752b 100644 --- a/html/changelogs/archive/2024-07.yml +++ b/html/changelogs/archive/2024-07.yml @@ -20,3 +20,148 @@ - rscadd: Resprites the E-50 and gives it proper inhands now! - bugfix: The Syndicate sniper rifle fires at a normal rate of fire and has the correct recoil now. +2024-07-09: + Apogee-dev: + - bugfix: N+S Captains no longer spawn with Nanotrasen coats. + - balance: reduced default ship spawn limit to 1. + - bugfix: Cargo pods no longer land in Talos maint + - bugfix: Gas tanks on the Talos have higher security + - bugfix: Talos now has an autolathe in cargo + Sadhorizon: + - rscadd: Added a plastic flower - a selection of flowers to wear. Added it to the + loadout too. + SapphicOverload: + - rscadd: Adds an igniter and button to the TEG of every ship that was missing one + - rscdel: Removed the welding tool TEG chute some ships had + SomeguyManperson: + - bugfix: loadout boxes will no longer sometimes not spawn + - code_imp: People who are stunned are now more reliably passed by bullets not aimed + directly at them + generalthrax: + - rscdel: Removed some irrelevant old tips of the round + - rscadd: Added 80+ new tips more relevant to Shiptest's gameplay loop +2024-07-10: + Cloudbreak: + - bugfix: A few clothing items now properly display again for Vox. + meemofcourse: + - rscadd: Minor changes to the Tortuga. + - bugfix: The holofields on the Tortuga-class and Brawler-class now work. +2024-07-11: + Cloudbreak: + - code_imp: Fixes a singular typo within the code. + Martinpachu: + - balance: Pizzas have become cheaper. (6000 cr - 3000 cr) + PositiveEntropy: + - bugfix: Mars and Venus are now referred to by their correct names! + - bugfix: You can now store guns, ammunition, and melee weapons on the armor slot + when equipping a SolCon/SolGov hardsuit, and its subtypes! + generalthrax: + - rscdel: Removed tator tots and raw potato wedges +2024-07-12: + generalthrax: + - rscdel: Removed mice possession + - rscdel: Broad removal of forcesays from most reagents and items + - rscdel: Removed char reagent and spraytan overdose + - rscdel: Removed gibbering lines + - rscdel: Removed Chav, Swedish, Elvis mutations + - rscadd: The outpost is now offering bounties to defuse landmines to Frontier vessels. + meemofcourse: + - balance: Remapped the Valor, with two extra jobs (Shuttle Corpsman, Shuttle Pilot). + - code_imp: The Vanguard base outfit starts with gear. +2024-07-13: + FalloutFalcon: + - bugfix: pets no longer cause run times trying to open ship doors + - bugfix: no longer have to reinsert your id into your wallet for access + - rscadd: A new generic nest used across all planets + - rscdel: Old portal and tendrils and other cruft + - refactor: refactorted mob spawners to have one for each planet + Gristlebee: + - bugfix: 357 guncase spawns with the correct revolver + Skies-Of-Blue: + - balance: you can now fit radios and pill bottles in both hoodies and winter coats + - bugfix: the innate storage on winter coats has been restored, alt click to access! + SomeguyManperson: + - bugfix: brute damage is now required to break bones + TiberianEuan: + - rscadd: Black hoodie with grey hood. + - imageadd: New hoodie icons. + cuddleandtea: + - admin: new light maker subtype for build mode + generalthrax: + - bugfix: Fixed the Landmine mission description and flavoured it a little + - balance: Decreased the amount of landmines required for its mission and increased + the value per mine slightly + - rscdel: Capsaicin no longer Boils you +2024-07-15: + FalloutFalcon: + - refactor: refactored attachments to be modular + Sadhorizon: + - tweak: Changed sunskipper's prefix to SV. + - bugfix: Added a missing pipe to the sunskipper. + Skies-Of-Blue: + - rscadd: typing indicators now trigger off of the command bar + - rscadd: an SSD Indicator for when you have been disconnected for less than three + minutes + - balance: players will now remain awake for three minutes after disconnecting, + with a new SSD icon to boot! + - balance: players SSD longer than three minutes will lose their icon and fall asleep, + much like the previous behavior + SomeguyManperson: + - bugfix: gun cargo packs now act more as they would be expected to +2024-07-17: + FalloutFalcon: + - rscadd: Orbit menu is less cluttered and just shows the real name, hovering over + it shows their standard name. + - refactor: refactored express console to not be a subtype of the cargo console + and replacing it. + Martinpachu: + - balance: Doubled the price on every automatic gun and added 250 credits to the + price of every semi-auto pistol. + Sadhorizon: + - tweak: Choice beacons were reflavored into choice boxes. + - rscdel: Removed a bunch of meme, weird and unused items from the loadout. + - tweak: Reflavored the Cybersun labcoat into a generic "translucent labcoat" + SomeguyManperson: + - bugfix: ships docked to eachother now share gravity +2024-07-18: + Fest1v3: + - rscadd: adds a few vox sprites + - bugfix: fixes a few vox sprites +2024-07-24: + DIB-DOG: + - bugfix: fixed the foodtype of two Gezenan drinks to match their descriptions + - rscadd: added a taste description to Keh'Lu'Tex Liqueur + Gristlebee: + - rscadd: Acquire Mission containers and Mission drills display their objective + type. + - rscadd: Changed name of base fish type to generic fish + SomeguyManperson: + - bugfix: the BG-16 is now as ammo efficient as the BG-12 + - bugfix: the BG-16 has automatic fire again + generalthrax: + - balance: Undoubles the price on every automatic gun and removed 250 from the price + of every semi-auto pistol. +2024-07-26: + Cloudbreak: + - rscadd: A new ruin, the Abandoned Listening Post. + - rscadd: Areas associated with the listening post. + - bugfix: Single line in maps catalogue. +2024-07-27: + Gristlebee: + - rscadd: Marker beacons can now be printed at the autolathe from the Misc tab +2024-07-31: + rkz, benbot(benjamin), Time-Green, SteelSlayer, floyd, Qustinuus, ArcaneDefence, FlowerCuco: + - rscadd: Food storage! Hide some glass in the captains cake! Begone digestive tract! + - rscadd: Bread, Cake and Spaghetti to Newfood + - rscadd: some smaller foods can now be eaten whilst on the run! (This ONLY applies + to newfood items thus far!) + - rscadd: converted edible component to work with newfood + - rscdel: oldfood for Bread, Cake and Spaghetti + - rscdel: Temporarily removes customfood bread, cake, pasta, and sandwiches + - tweak: edited a few messed up values + - tweak: food trash is sensible now. Finishing stuff like cake will actually spawn + a plate rubbish. Instead of you eating the plate, biggun, perhaps properly dispose + of it! + - bugfix: Wildly STUPID item weights. Candycorn and cakes are no longer the SAME + size + - code_imp: provides some semblance of sorting for signal defines diff --git a/html/changelogs/archive/2024-08.yml b/html/changelogs/archive/2024-08.yml new file mode 100644 index 00000000000..722a5737762 --- /dev/null +++ b/html/changelogs/archive/2024-08.yml @@ -0,0 +1,234 @@ +2024-08-02: + FalloutFalcon: + - rscadd: New admin button to launch a distress announcement quicker. + Sadhorizon: + - tweak: Cafe latte, iced coffee, hot ice coffee and soy latte now only make your + character jitter on OD. + - tweak: Reduced the prices of first aid kits. + - tweak: Remapped the Kilo-class Mining Ship + SomeguyManperson: + - rscadd: legion attacks will now inject an organ which eventually causes a transformation, + rather than instantly killing and transforming people. +2024-08-03: + Anticept: + - bugfix: Executing someone with a gun is back, you psychos. Paint the floor red! + Martinpachu: + - balance: 8x50 boxes now come with 25 ammo as opposed to 20. + Sadhorizon: + - tweak: Internals Crate now costs 100 credits and contains full oxygen tanks. + - tweak: Plasmaman Tank Kit renamed to Plasmaman Internals Crate. It now costs 100 + credits and contains full plasma tanks. + SomeguyManperson: + - bugfix: mini/energy gun cases no longer spawn with the wrong weapon in them + - balance: gun attachments are now small instead of normal sized + Yata9ar4su: + - bugfix: Cash bundle value will now be correct in chat, cash will not drop upon + stacking + firebudgy: + - rscadd: New sprites for Vox! Vanguard and Honorable Vanguard Battlecoat sprite + changes, NGR hard hats, and hazard vests! + generalthrax: + - rscadd: Industrial jacket now keeps you warm + - bugfix: Contender is now called the Beacon in cargo + zimon9: + - rscadd: an anesthetics crate +2024-08-04: + Apogee-dev: + - bugfix: Changed almost every player facing instance of the word "mech" to "exosuit" + - balance: Replaced syndie survival boxes in outfit datums with normal job-equivalent + boxes + FalloutFalcon: + - balance: nerfed legion money drops. + Gristlebee: + - rscadd: Sandbags can be deconed by click dragging them onto your mob. + - rscadd: Sandbags to the outpost for 150 credits. + Martinpachu: + - rscadd: Clips of all kinds (not magazines!) can now be produced on the autolathe. + - rscdel: Clip cargo packs, as they are now redundant. + PositiveEntropy: + - imageadd: Resprites muzzle flashes! + Sadhorizon: + - imageadd: Added directionals for mining processing consoles. + Thera-Pissed: + - bugfix: hydrogen and combustion bugs + Zevotech: + - balance: the Quirk Social Anxiety no longer silences you randomly + - bugfix: Stuttering is now far less extreme and will not delete characters + - bugfix: Psicodine now actually suppresses the effects of social anxiety + firebudgy: + - bugfix: Fixed three typos in the code. + phoaly: + - balance: Buffed LP hardsuits +2024-08-07: + Sadhorizon: + - tweak: Remapped the Dwayne-class Long Range Mining Transport. + - rscadd: Added a random plushie spawner and a random moth plushie spawner. + Thera-Pissed: + - rscadd: Chlorine and Hydrogen Chloride gases! Wear your goggles! +2024-08-10: + generalthrax: + - rscadd: Cleanbots now destroy cigarette butts, and dispense enough acid to do + so. + rye-rice: + - bugfix: indie sec hardsuit now shows up +2024-08-11: + firebudgy: + - rscadd: Sprites for several different kinds of scarves for Vox! + - rscadd: Additional sprites for several other items for Vox, such as chest-high + towels and hazard jackets. + - rscadd: Created onmob_neck_vox.dmi file, plus enabled support for it. + generalthrax: + - bugfix: Fixes the Industrial Jacket to be warm (For Real) + phoaly: + - balance: Talos Corpsman has been readded with a different medkit loadout. +2024-08-16: + OrionTheFox: + - rscadd: Suit Storage Units now provide feedback when Decontamination fails to + activate + - imageadd: Suit Storage Units now have a visible red light when Locked - when hacked, + Decontamination now has a red-yellow flashing light to distinguish from the + Locked light. +2024-08-18: + Cloudbreak: + - rscadd: Frontiersman sprites for the Vox! + Gristlebee: + - bugfix: water turfs reagent scooping + - code_imp: span classes to span macros + - refactor: acid turfs repathed under water + - refactor: Pouring out a reagent container is now bound to disarm intent instead + of help intent. + - rscadd: Examine hints for flipped tables + - bugfix: You can no longer phase through a flipped table. + meemofcourse: + - bugfix: Hardliner troopers should no longer spawn as Hardliner pilots +2024-08-20: + Aquidu: + - bugfix: Fixed a bug relating to literal spaghetti code. + zimon9: + - bugfix: fixed a short on the Shetland +2024-08-21: + FalloutFalcon: + - rscadd: Added var to let admins bypass do_teleport vlevel restriction + Sadhorizon: + - bugfix: Ranged frontersman with internals now drops the correct revolver type. +2024-08-22: + rye-rice, Imaginos16: + - rscadd: Adds new belt sprites +2024-08-23: + retlaw34, rye-rice, Apogee-dev: + - rscadd: Adds CLIPs weapons + - rscadd: Adds the New Frontiersmen weapons + - rscadd: 556 ammo box to cargo + - rscadd: inteq sprites should look better +2024-08-24: + generalthrax: + - rscdel: Removed a bunch of random items from fitting in wallets (notably screwdrivers, + cigarettes, suture / mesh / gauze) + - rscadd: Ship keys and derringers can now fit in wallets +2024-08-26: + Aquidu: + - rscadd: Rations now have icons that help show the contents. + - rscadd: Condiments and drink mixes now have colors when full to help show the + contents. + - rscadd: Unique sprites for the ration heater, drink packs ration drinks, and "side" + category rations. + - code_imp: Changes the sound effect for opening the drink ration to the bottle + cap sound to line up with the icon. + DIB-DOG: + - rscadd: Added a standard vest to the armory office locker + - rscadd: Added a Security camera console to the bridge + - balance: Silkenweave jackets and Betzu hats now provide cold protection but no + armor + - balance: Crying Sun now has 4 combustion/2 ion engines instead of 2/4 + - bugfix: Fixes turrets on the Crying Sun and its subshuttle, the Nail. + FalloutFalcon, MrSamu99, Fikou: + - rscadd: a few shipments of MOD control units have found there way to the frontier, + premium versions of existing hard suits with the latest tech! + - rscadd: Ported modsuits from tg, no mapped stuff yet + Gristlebee: + - balance: Durand shield consumes less charge on being hit, passive drain increased. + - bugfix: Mechs consume the correct amount of power on movement. + - refactor: normal_step_energy_drain is now base_step_energy_drain + - rscadd: Grills can now cook food. + - rscdel: Xeno-energy working as grill fuel. + - balance: Outpost food costs + - bugfix: Grills + Ms-Mee: + - bugfix: fixed handle_quirk_conflict behavior + Sadhorizon: + - bugfix: Gloves now show up in the loadout preview. + - rscadd: Brown gloves were added to the loadout. + - tweak: Moved everything out of autolathe contraband - you no longer have to hack + it, ever. + - rscdel: Removed foilhat, flamethrower, electropack, .357 casing and slime scanner + from the autolathe. + - rscadd: Added a bunch of new items to the loadout. + - tweak: Changed the description of red suspenders. + - rscadd: Ihejirka space outpost now has player-accessible cryogenics. + SomeguyManperson: + - balance: wormholes on the overmap no longer decay when used + Thera-Pissed: + - code_imp: TEG efficiency now depends on temperature delta. + Vekter: + - bugfix: Removed an extra fire extinguisher from the crew quarters on the IRMV + Talos. +2024-08-27: + Baystation12, Kapu1178, rye-rice: + - rscadd: Particles! + - rscadd: Bleeding has better feedback + - rscadd: Bone breaking now has sound effects + - rscadd: Getting shot now throws blood squirts! Live through the somme for REAL + this time! + - balance: gibbing no longer destroys your chest, no more legion transfers! + - bugfix: Lava particles should no longer destroy your FPS + FalloutFalcon: + - balance: Ballistic weapons now have a minimum camera shake. + - bugfix: Gunslinger now functions as intended. +2024-08-28: + Anticept: + - bugfix: Adjusted the Box Hospital Ship's engineering layout so that it's less + jank, and the power system doesn't loop on itself anymore. + FalloutFalcon: + - rscdel: Removed blob and alot of stuff close to blob + Gristlebee: + - rscadd: Weapon cells can be inserted directly into weapon chargers to charge them. + - bugfix: e40s not charging in weapons rechargers. + firebudgy: + - bugfix: Medical Examinations via Flashlight is now an option again. Check eye + health or see what's in someone's mouth! + meemofcourse: + - rscadd: Vox lore blurb + - bugfix: Inconsistent capitalization when speaking due to guestbook + - code_imp: Changed how the game recognizes Vox and Sarathi age + thgvr: + - imageadd: Kepori hardsuits now have a fallback icon +2024-08-29: + Apogee-dev: + - balance: SUNS and SolCon armor now uses standard armor rather than bulletproof + - balance: Normalized armor values between various faction helmets, coats, and vests + - balance: Armored coats now provide armor protection for the chest and groin only; + environmental protection unchanged + - bugfix: removed armor from some overlooked berets and soft hats + - refactor: Renamed the Mauler exosuit and several exosuit weapons to avoid confusion + Gristlebee: + - rscadd: Black Market Stock Cycling and item weighting + - rscadd: New black market stock + - rscadd: Tech and Ammo tab + - rscadd: Dead Drops + - rscadd: LTRSBT moved to the Black Market Catalogue + - rscadd: LTSRBT Crafting Recipe, 2 BS crystals, a bank card, 5 duct tape, a circuit + board and a network card + - rscadd: Reflavours the disco grenade + - rscadd: variable for powercells to show if they're rigged + - rscdel: Some old blackmarket stock + - balance: LTRSBT shipping cost up to 100 credits + - balance: Launch delivery more reliable + - bugfix: Powerfist works again + - spellcheck: fixed a few typos in the black market + - code_imp: Dynamic Overmap encounters store what ruins were spawned + - code_imp: get_block_portion and get_position_in_margin methods in mapzones.dm + - code_imp: Pair items now handled by a list + - refactor: Black Market item stocking +2024-08-30: + meemofcourse: + - rscadd: Character slots have been raised to 40. BYOND members get 50. diff --git a/html/changelogs/archive/2024-09.yml b/html/changelogs/archive/2024-09.yml new file mode 100644 index 00000000000..52b3cbfbf67 --- /dev/null +++ b/html/changelogs/archive/2024-09.yml @@ -0,0 +1,220 @@ +2024-09-04: + generalthrax: + - balance: E-40 is now slightly less expensive +2024-09-05: + Apogee-dev: + - balance: Removed electrical insulation from all gloves except insulated gloves + - balance: Removed siemens coefficient from hardsuits, except for engi atmos and + CE + - balance: Added siemens coefficient to engineer space suits + - balance: Replaced combat gloves with insulated gloves for some factions' engineer + lockers + Zevotech: + - bugfix: winter biodome and buried shrine ruins no longer have an egregious amount + of creature burrows + zimon9: + - bugfix: fixed typepath for 10mm rubber rounds +2024-09-07: + Martinpachu: + - rscadd: To-do once i get the proper names and all + Zevotech: + - bugfix: The "pulse carbine" in the sandplanet saloon has a sprite again + - tweak: Added some extra mobs to the sandplanet saloon to balance out the money + in it + meemofcourse: + - spellcheck: Human generic names (the ones that show up when you examine someone) + will be prefixed consistently +2024-09-09: + Gristlebee: + - rscadd: Adds the Mauler, Spitter, and Pounder to the black market + ZephyrTFA: + - server: CDN fully operational again after noticing an incorrectly absolute relative + path +2024-09-10: + Apogee-dev: + - balance: Made security hardsuits faster and blood-red hardsuits slower + - balance: Normalized some weird hardsuit speed outliers + - bugfix: NT captain gloves no longer lie about shockproofing + - balance: Reduced hollowpoint damage by 5 (and 8mm Hollowpoint by 6) + FalloutFalcon, MrMelbert, Coiax: + - code_imp: ported alot tg botany code along with gene desc and icons to be used + more soon + - refactor: moves most plant effects into genetics stuff + Gristlebee: + - rscadd: Bandolier auto-loading and examine hint + - rscadd: Welders/Plasmacutters now deal damage to wall integrity to decon + - rscadd: Plasmacutters are now engineering tools and fit in toolbelts. They can + damage ores into slag if used to mine. They are now researched with plasma technology + and advanced plasma technology. + - rscadd: Plasmacutters to cargo for 1250 + - rscadd: Adds plasmacutters to the Mudskipper, Riggs, Talos, Gecko, Heron, Osprey, + Ranger, Hyena, Komodo, Shetland and Twinkleshine + - rscdel: Plasmacutters extra mining range + - bugfix: Plasmacutters can repair prosthetic limbs like welders + - code_imp: Moves damage behavior of concrete walls to closed turfs. Basic walls + are now repaired with a welder. + - code_imp: R-walls d-state tied to their integrity. R-walls can be deconstructed + with plasmacutters. + - code_imp: Crate decon checks for tool behavior rather than a istype check + - rscadd: Gun safeties can be toggled from 1st level storage slots. + zimon9: + - rscadd: Adds a rubbershot box to the outpost market +2024-09-11: + FalloutFalcon: + - rscdel: Removed sheetz. Feel free to send me threats for this crime! + - rscadd: Added faction datums, this will be cool soon! + Sadhorizon: + - rscdel: Removed a lot of cruft from the loadout. + - rscdel: Removed flamethrower slapcrafting. + - rscdel: Removed the Tribal crafting tab (some items were moved to other tabs). + - rscdel: Removed bone club, skull helmet and bone armor from the bone construction + menu. +2024-09-13: + retlaw34, rye-rice, Apogee-dev, generalthrax, Tamamitsune, Nitha(emotional support): + - rscadd: Scarborough Arms for every syndicate faction + - rscadd: New sounds for the commander + - balance: scout's price has been reduced slightly + - rscdel: Donksoft toy guns + - bugfix: You can no longer attach shit to revolvers +2024-09-14: + FalloutFalcon: + - bugfix: no emergency for floor lights untill someone adds a sprite for them! + Gristlebee: + - rscadd: Adds binocs, lavaproof rods, gps, deep core mining scanner, anomaly neutralizer + to exploration cargo + - rscadd: You can hit veins with a deep core scanner on harm intent to stop it tracking, + and hit it again to readd it. + - rscadd: Deep core scanner fits in explorer webbing and explorer suits. + - balance: Outpost Cargo exploration tab + MemeSnorfer: + - rscdel: Removed forced emotes from most reagents. + ToasterBiome: + - bugfix: Centcom Ban DB is now accessible again through PP +2024-09-15: + FalloutFalcon: + - rscdel: Removed useless vars + Gristlebee: + - rscadd: Unsaftied guns can go off on their own. + - code_imp: Changes ammo casing firing code so it's able to work without a user. + Zevotech: + - bugfix: Certain Subshuttle engine prechargers have now been correctly rotated. +2024-09-16: + Gristlebee: + - bugfix: Misfires no longer have 100% chance +2024-09-18: + Bjarl: + - rscadd: You can now purchase concrete mix at the outpost. For concrete making. +2024-09-19: + FalloutFalcon: + - code_imp: ctf machines now only process while ctf is running + Rye-Rice, Gristlebee: + - rscadd: Comfortable Temperature ranges + - imageadd: Temperature HUD alerts +2024-09-21: + Bjarl: + - rscadd: The PGF now has it's own turret offerings. They come in light, normal, + and heavy flavor. + FalloutFalcon: + - code_imp: added ruin tags to ruin map templates to be used soon for stuff. + Gristlebee: + - rscadd: Inteq wintercoats and hoodies in the Talos, Colossus, Vaquero and Valor + uniform lockers + PositiveEntropy: + - rscadd: A new and refurbished Elite Syndicate suit has just been unveiled! + Sadhorizon: + - rscadd: Added "ballistic goggles" - new indie security clothing item. + - imageadd: Added Kepori bulletproof helmet sprites. +2024-09-22: + Bjarl: + - code_imp: Ship Turrets can now be attached to control consoles outside the area + they are in. please look at ship maps for examples on how. + - rscadd: Every single ship with turrets now does the above + PositiveEntropy: + - rscadd: Gorlex Splinters now have winter coats! + Sadhorizon: + - bugfix: Panacea-class is no longer an independent ship. +2024-09-23: + Bjarl: + - rscadd: You can now buy flares at the outpost + - rscadd: Wasteplanets now will generate concrete filled caves. +2024-09-24: + Apogee-dev: + - balance: Changed decoration on Miskilamo ships to look similar to each other + - balance: reduced Kilo starting funds to 1500 + - bugfix: fixed wires on Mudskipper + Bjarl: + - bugfix: turrets will now _actually_ connect to their console. i swear im a real + coder. + FalloutFalcon: + - code_imp: bunch of code organization related to melee + - refactor: cleaned up a bunch of melee items to have better inheritance and paths + PositiveEntropy: + - imageadd: Resprites all balaclavas! + Thera-Pissed: + - rscdel: unused did_fire var + - rscdel: B.E.P.I.S. and related tech nodes. + rye, erika: + - rscadd: concrete jugs have been replaced by much more appropriate concrete bags, + jee, i hope whoever made *that* blunder got fired. + thgvr: + - balance: Colossus now only has 2 recruit slots instead of a whopping !!5!! + - rscadd: A bunch of kepori underwear have sprites now + trazodont: + - bugfix: miso soup spelling error + zimon9: + - rscadd: Adds a bit more contrast to the output of health analyzers +2024-09-25: + Jedi-Toothpaste: + - bugfix: Added windows to the mudskipper and shetland's engines. + - bugfix: Adjusted the blast doors which open on the Shetland's engines. + SomeguyManperson: + - bugfix: sawn off illestren/improvised shotgun stats are now consistent if they + are spawned in +2024-09-26: + FalloutFalcon: + - rscadd: Added new blank shells for training drills! + - refactor: Minor refactor of design disks to reduce repeated code + - rscadd: Ballistics now have a minimum recoil, not enough to mess up your shot! + - bugfix: ships now start closed. shiptesters be writing there memos and ship names. + - rscadd: You can now see ships in the orbit menu and its alot prettier! + - code_imp: ported tg points of interest and a much improved orbit menu + Gristlebee: + - bugfix: fixes wall deconstruction causing runtimes + Jedi-Toothpaste: + - bugfix: Fixed the lack of windows for the Kilo's Thrusters, and fixed the broken + link for the new blast doors. + generalthrax: + - balance: Most common accessories now fit on pants + - rscadd: Exosuit Recharger machines are now available from cargo + - balance: Rust Reds on the blackmarket are now available to a maximum of 3 + zimon9: + - rscadd: Added fruit puree to vegan rations + - rscdel: Removed pizza crackers from vegan rations +2024-09-27: + Jedi-Toothpaste: + - rscadd: Firelocks to the Valor-Class' Doors + - rscadd: Lighting to dark areas on the Valor-Class' Doors + - rscadd: New areas on the Valor-Class to seperate rooms + - rscadd: Added APC for the Surgical Area + PositiveEntropy: + - imageadd: Adjusts the inner part of the normal rabbit ears. +2024-09-28: + Sadhorizon: + - rscadd: Added a fax machine to the Dwayne-class. + SomeguyManperson: + - bugfix: legion skulls will no longer check if they should rise up and consume + their owner if they are ownerless +2024-09-29: + fighterslam: + - balance: Modernizes and slightly buffs the Ranger. +2024-09-30: + Bjarl: + - rscdel: The Elephant Graveyard ruin has been taken out back + - bugfix: m90 posters are real again + FalloutFalcon: + - bugfix: sawnoff weapons made from init now function correctly + - bugfix: condiment packs are no longer invisible and missing names + MassiveMen: + - rscadd: Added the fire axe to the black market uplink + Thera-Pissed: + - rscadd: New wasteplanet ruin, the abandoned Miskilamo shipbreaking yard! diff --git a/html/changelogs/archive/2024-10.yml b/html/changelogs/archive/2024-10.yml new file mode 100644 index 00000000000..00628fe7d83 --- /dev/null +++ b/html/changelogs/archive/2024-10.yml @@ -0,0 +1,462 @@ +2024-10-01: + Erika Fox: + - rscadd: Anti-Radiation Foam is now available at the outpost + - code_imp: Fireaxe cabinets have been repathed, and now function as a more general + cabinet object. please report any inconsistencies with behavior + Sadhorizon: + - tweak: You can now put knives in secbelts and the subtypes of secbelts. + - bugfix: You can now fit all knives in mining webbings. + SomeguyManperson: + - bugfix: hallucinations can no longer be permanent unless treated +2024-10-02: + Bjarl: + - rscadd: One-Shot Rocket Launcher. A quick solution to an armored problem. + - rscadd: You can now scribble profane things onto the tube of your rocket launcher. + Use this power wisely. + - imageadd: 'Rye: A sprite for a one-shot rocket launcher' + generalthrax: + - balance: Molotov cocktails now create turf fires + - balance: Hearthwine now create turf fires in a 3x3 area + tmtmtl30, Thgvr: + - rscadd: Added bunkbeds, which can now be crafted with metal or placed by mappers. + - bugfix: Beds facing alternate directions now correctly support people buckling + to them and bedsheets being placed on top of them. +2024-10-03: + Bjarl: + - bugfix: defibs now work again. +2024-10-05: + Bjarl: + - rscadd: A cargo ship happened to lose an entire crate of Hammer Rocket Launchers + while travelling through the system. We have reason to believe they're probably + on sale now. + - rscdel: you can no longer purchase PML-9s on the black market. + Gristlebee, Rye-Rice, INFRARED_BARON: + - rscadd: Inteq Gygax and mech charges + - rscadd: Paladin shield backlash + - bugfix: Durand shield blocking all projectiles + - imageadd: Inteq Gygax sprites + Jedi-Toothpaste: + - rscadd: Added extra intercoms in high traffic areas on the Valor Class + - rscadd: Added Firelocks underneath the Cargo-Bay Doors on the Valor Class + - rscadd: Air Alarms, Scrubbers and Vents to every applicable room + MemeSnorfer: + - rscadd: Three new Elzuose horn types. Cervid, Prong, and Brow + PositiveEntropy: + - imageadd: Waste Planet Turfs Now Look Much More Refined! + Thera-Pissed: + - rscadd: pipe dispenser UI is now similar to rapid pipe dispenser UI. + generalthrax: + - balance: Replace red insuls with yellow insuls in syndicate toolboxes + zimon9: + - bugfix: fixed the waste and scrubber gas reclamation filters on the colossus +2024-10-06: + Apogee-dev: + - balance: removed one recruit slot from the vaquero + - rscadd: Added Nanotrasen Harrier-class cruiser + - rscdel: Removed Osprey-class cruiser + - rscdel: Removed Skipper-class cruiser + - balance: increased mudskipper limit to 2 + - balance: cut a deckhand slot from kilo + Bjarl: + - rscadd: IRMG engineers have rolled new turrets out into the frontier. Please report + back on their effectiveness. Unless you have been shot. Then you should be dead. + - rscadd: Sharplite has produced a line of turrets for Nanotrasen, which is now + mounting them on relevant vessels. + Sadhorizon: + - bugfix: Komodo Bridge Officer is now actually an officer. + SomeguyManperson: + - rscdel: missions will no longer request capturing ice demons + Thera-Pissed: + - rscadd: angle grinders for salvage + - rscadd: reworks plasma cutters for salvage +2024-10-07: + Aquidu: + - code_imp: Changes flameless ration heaters to "small" items + - code_imp: Adds flameless ration heaters to the ration pack item whitelist. + thgvr: + - imageadd: Some backpack sprites for Kepori + - imageadd: Shrunk down the sprite of guncases +2024-10-08: + Anticept: + - rscadd: Added more purchasable chemicals to outpost. + - rscadd: Added missing elemental chems to chem starter kit + - rscdel: removed sulfuric acid from chem starter set. You have to make it. + - imageadd: tweaked and added more elemental chemical jugs. + Bjarl: + - code_imp: A large amount of cruft has been deleted. + DrCrawler: + - rscadd: Gives IPCs a little more adjectives to work with. + - rscdel: Removed some duplicate adjectives from the raw file. + FalloutFalcon: + - code_imp: tweaks to the syntax of unit test logs to be more readable by humans + and flaky tests + FalloutFalcon, Mothblocks, Cyberboss: + - rscadd: retry failed unit tests. + PositiveEntropy: + - imageadd: We now have improved visuals for circuit boards! + Sadhorizon: + - rscadd: Cybersun Biodynamics stamp. + - rscadd: Cybersun secret documents. + - rscadd: Cybersun captain's safe. + SomeguyManperson: + - balance: you no longer need a lasso to ride a goliath + - rscdel: no more lasso + rye-rice, Imaginos16: + - rscadd: Resprites Wisp + thgvr: + - bugfix: fixed digitigrade combat/jackboots +2024-10-09: + PositiveEntropy: + - imageadd: Dog Beds Now Look Fancier! + - imageadd: Tank Dispensers have been repaletted! + - imageadd: Nuclear Waste Barrels Look A Lot Better! + Sun-Soaked: + - rscadd: Boxes are now volumetric. Some special boxes have been adjusted. + - balance: small objects in volumetric storage are now slightly smaller + zimon9: + - rscadd: Added flamethrower crate + - rscadd: Added incendiary grenade crate + - rscdel: Removed incendiary supply crate +2024-10-10: + Bjarl: + - bugfix: Turrets should now actually fire at their defined fire rates. + - balance: Factional turrets now have new damage thresholds + - balance: ship turrets now have 100 less integrity by default + FalloutFalcon: + - rscadd: Cats have been genetically engineered to detect radiation + Gristlebee: + - rscadd: PGF Rakalla space suits can hold a gun in their suit storage. + PositiveEntropy: + - imageadd: Long (And Short) Braid hairstyles have been redone! + zimon9: + - rscadd: Adds bowmans to Artificer and Enforcer loadouts, and regular headsets + to Recruit loadouts +2024-10-11: + Bjarl: + - rscadd: Reports of people inflicted with congenital analgesia travelling to the + Frontier have reached this newscaster. + - rscadd: Painkillers may circumvent pain in some cases now. + - rscadd: Please remember to ensure your soul is filled with spite before kicking + a rack. + - code_imp: abandoned airlocks now have more effects + FalloutFalcon: + - rscadd: Readdes world icons for a few knives. Expect more soon! +2024-10-13: + FalloutFalcon: + - rscadd: update path txt for ammo boxes, thgvr will be FIRED for forgeting this. + Imaginos16, rye-rice: + - rscadd: A few hairstyles have been resprited! + - rscdel: the Braided and Braid line of hairs. + thgvr: + - rscadd: Added bullet stacks, they allow you to stack ammo of the same type into + a group. + - balance: Changed old ammo boxes into storage items containing stacks of bullets + zimon9: + - bugfix: fixed halved throw range +2024-10-14: + Spooky, PositiveEntropy: + - imageadd: Smartfridges and Booze-O-Mats have been resprited! +2024-10-15: + Erika Fox: + - rscadd: Transfusion anomaly; yum! Blood! + - rscadd: Anomaly cores now have an effect when detonated out of the anomaly + - rscadd: new anomaly description fluff + Gristlebee: + - bugfix: Abandoned Miskilamo Shipbreaking Yard ruin has the correct revolver subtype. + - bugfix: Shipping dock ruin correctly has a rattlesnake instead of a ringneck case + Sadhorizon: + - rscadd: Added stamps for New Gorlex Republic. + - rscadd: Added secret documents for New Gorlex Republic. + - rscadd: Added a honorable corpsman stamp and tweaked honorable arti one. + - rscadd: Inteq ships now use inteq stamps. + - code_imp: Repathed IRMG and CLIP stamps. + firebudgy: + - bugfix: War Correspondent helmet has a proper sprite for Vox. + rye-rice: + - rscadd: Various sprite improvemnts + - bugfix: Boomslang no longer fits on the belt +2024-10-16: + Anticept: + - bugfix: blood smart-fridge selectable on smartfridge boards now when screwdrivering + them. + Apogee-dev: + - balance: Valor and Vaquero have combat hardsuits for their enforcers now + Bjarl: + - rscadd: NGR turrets + - rscadd: Flipped tables actually let you throw things over them now. + - rscadd: Holofans now have a small window before shutting down if they are deactivated + by lack of power + - balance: Syndicate smokes are now laced with stimulants instead of omnizine. + - rscdel: Holoparasites + - rscadd: The Frontiersmen have duct taped some turrets of their own together + FalloutFalcon: + - bugfix: ghosts cannot duplicate themselves across multiple z levels. + Gristlebee: + - bugfix: Fixes walls and an enemy spawn in the Wrecked Factory + Sadhorizon: + - bugfix: Pubby ruin can no longer randomly have acid in airlocks. + - tweak: Syndicate soap is now in-line with NT soap. + - rscdel: Syndicate tools are no longer faster. They are just reskinned normal tools + now. + - rscdel: Syndicate toolbox lost it's damage buff. + - rscdel: Removed Karl Marx from the game. + - rscdel: Removed all the job statues. + - rscdel: Cardborg suit, human, gondola and monkey skinsuits are no longer craftable. + firebudgy: + - bugfix: Mudskipper windows are correctly reinforced, like other ships by the same + manufacturer. + - rscadd: Active smoking pipe sprites for Vox. + zimon9: + - balance: increased amount of plasma in plasma internals cargo crate + - balance: rebalanced the probability of a grenade going off in one's hands + - bugfix: fixed fauna spawning after drill malfunctions +2024-10-17: + Bjarl: + - rscdel: South Bronx Paradise Bar + Gristlebee: + - rscadd: Ice Lodge Ruin Map and areas + - rscadd: Simple Mob Frontiersmen Flametrooper and Surgeon + - rscadd: shoot_point_blank option for simple mobs + - rscadd: dragon_fire_line supports igniting tiles + - rscadd: broken display case, gunpowder barrel, SRM corpse spawners, chemical jug + spawners + - rscdel: Cat Butcher + - bugfix: Frontiersmen simplemob pathing + - bugfix: Fence doors spawning open when they should be closed and vice versa + - code_imp: scattering can be disabled with auto_scatter var for bullets, grown + items and nutrient bottles + - bugfix: Shotgun calibers and shotguns being unable to load certain rounds + MemeSnorfer: + - imageadd: Resprites colored skirts, black tango, red evening gown, sailors dress, + sundress, white dress, and some suitskirts. + - rscadd: Six pinafore variants, white colored skirt, one shoulder dress, and iko-ikssoal + dress. + PositiveEntropy: + - imageadd: All colored jumpsuits have been resprited! + - rscdel: Rainbow and khaki jumpsuits (including the buster subtype) have been removed. + generalthrax: + - bugfix: Gezena has shoes again + - rscdel: Gezenan captain gloves no longer have partial insulation in parity with + other captain gloves. +2024-10-18: + DIB-DOG: + - rscdel: Removed extra turret that wasn't supposed to be on the ship + - bugfix: Moved armory flashbangs to a more secure location + Erikafox: + - rscdel: Wasteplanets no longer spawn welding fuel tanks. + SomeguyManperson: + - balance: being thrown over lava by tackling, jump boots, or with assistance now + fully clears the lava instead of burning you horribly and setting you on fire + generalthrax: + - bugfix: Fixed a typo in the Frontiersman softcap that made the sprite go invisible + meemofcourse: + - rscadd: Atlas-class Light Armored Crusier + rye-rice: + - rscadd: Resprites the commander and Commissioner +2024-10-19: + Apogee-dev: + - balance: Reduced Cobra-20 magazine size to 24 rounds + - bugfix: removed a typo from Scarborough cargo catalog entries + Erikafox: + - rscdel: Xenobiology (minus slimes) + - code_imp: pre-weld and pre-sealed airlock helpers for maps. + FalloutFalcon: + - rscadd: Autolathes can now print space heater boards. + - bugfix: examine on ammo casings now properly hint that you can write on them + Gristlebee: + - rscadd: Bullets can have a message written on them. + NithaIsTired: + - rscadd: Adds a ton of audible emotes and visible emotes like snapping your fingers + or twitching + - rscadd: You can boop people on the nose by clicking on their mouth with help intent + - rscadd: Sound variation with a few emotes like snapping and clapping + - rscadd: Laying down now plays a sound if you aren't on walk intent + Orchidthederg: + - bugfix: fallback sprite for dust storms was set to the carp sprite for some reason. + - imageadd: fancy new carp, meteor, and electrical storm + - imagedel: old carp, meteor, and electrical storm sprites + Spookywastaken: + - imageadd: Handrails have been resprited! + generalthrax: + - balance: E40 hybrid rifle ballistic mode now shoots faster +2024-10-20: + FalloutFalcon: + - balance: blind people can examine twice as fast + - code_imp: makes defines for the two primary atoms requirement lists +2024-10-21: + Apogee-dev: + - balance: Made Komodo aspawn +2024-10-22: + Imaginos, Erika: + - rscadd: The Pan Gezenan Federation has sent out shipments of boarding cutlasses + to the Frontier. Expect cool doohickeys on your friendly neighborhood PGF Vessel + - imageadd: 'Imaginos: PGF sord sprites' + - code_imp: sabres now take up less space in code +2024-10-23: + Erikafox: + - bugfix: Hallucination Anomalies will stay on their tile now. + - rscadd: You can now fax credit holochips + - bugfix: Analgesia can no longer be taken with self-aware + - bugfix: Few edge cases for analgesiacs getting pain + FalloutFalcon: + - bugfix: ammo + - refactor: refactored ammo types to not be snowflaked when handling spawning subtyped + guns + FeenieRU: + - code_imp: Changing qdel() and SSgarbage procs + - code_imp: rewrite /Destroy(force, silent) to /Destroy(force) + Sun-Soaked: + - rscadd: Directional Mines, implemented as Claymores. + - rscadd: Mines now have World Icons + - balance: explosions now only strip to space when a tile is already damaged + - bugfix: Prox mines explode from slightly further away & no longer activate through + walls. + - bugfix: Multiple mines can no longer be stacked on a tile + - code_imp: fire_casing() can now be called by non-mobs, allowing objects to shoot + casings. + - bugfix: cleans up mine wire datums on mine deletion + generalthrax: + - rscadd: Added Stamped Steel Machetes, 5 for 500 + meemofcourse: + - rscadd: A lot of ERTs and ERT remasters, including Fronties, Ramzi, PGF, NGR, + Indies and whatnot + - rscdel: Most Nanotrasen ERTs have been shelved pending assets + - rscdel: Smokebomb randomized descriptions +2024-10-24: + Erika Fox: + - rscadd: An abandoned tradepost has been located in the system. Investigate nearby + waste worlds for more information. + - rscadd: preburnt flares + Erikafox: + - rscadd: Kasagi-Fischer has begun a new production run of the venerable Raleigh-class + Corvette. See your purchaser's manual for more information! + - balance: Fireaxes on the black market now cost less. Thanks Kiirv-Waha! + FalloutFalcon: + - code_imp: better pr labeling for ships and ruins +2024-10-25: + Erikafox: + - bugfix: Newscasters can now read IDs through a wallet. + FalloutFalcon: + - refactor: refactored some mapping stuff including random spawners! + Gristlebee: + - rscadd: Vote sound changed to announce_dig.ogg + MemeSnorfer and Moffball: + - imageadd: Snouted balaclava sprites for both Sarathi and Elzuose + - code_imp: Elzuose snout type, for use with mask sprites + Sadhorizon: + - tweak: Medical stacks now work on corpses. + SomeguyManperson: + - balance: simple humans now have as much health as normal humans! This makes them + weaker! + - balance: simple humans now also benefit from their armor as much as normal humans! + This makes them stronger! + generalthrax: + - bugfix: Design disks work again + thgvr: + - balance: Removed Kepori damage modifiers. + - balance: Decreased Kepori move speed modifier. (They are still a bit faster than + average) + zimon9: + - bugfix: fixed the orbit menu search function so that names work again + - rscadd: Added plastitanium shards + - bugfix: fixed some artifacts in the plasma glass shard sprites +2024-10-26: + FalloutFalcon: + - rscadd: Faction statistics are now logged to the blackbox + - rscdel: Removes some cruft, red and blue team radios, out date/useless database + logging station trash cleaned + MarkSuckerberg: + - server: qdel logs work again +2024-10-27: + Anticept: + - refactor: Refactored moods so explicit newlines are not required in descriptions. + None of this changes player facing stuff. + 'Apogeesys, Ryerice, Erikafox ': + - rscadd: Serene Outdoors has begun a new production run of its classics - the Model + 17, Model 12, Model 15, and Model 11 + - rscdel: old combat shotgun + Erika - porting from /tg/ mostly.: + - rscadd: Tape Recorders now have a radial menu when used + - rscadd: Tape recorders now make noises + - rscadd: Tape recorders now have wires (can be remotely used) + Erikafox: + - balance: Hammer RPGs should no longer annihilate you completely. Just partially. + - bugfix: Weapons with no bolt can no longer be racked. Use your hand on them instead + - rscadd: Transceivers have been picking up an intermittent radio signal coming + from a nearby sand world. People with too much spare time - please check it + out. + - rscadd: Satchel Charges. Exceedingly rare and decently explosive. + - balance: Chances are, if there was a plasma cutter on a ship, it's an angle grinder + now. Rejoice. Cry in terror. Whatever honestly. + - balance: Angle grinders can now grind blast doors. reinforced windows are now + less bad to grind down. + - balance: angle grinder packs now slow you down less + - balance: angle grinders now sound less Screechy + - balance: angle grinders can now be safely used with a Bowman headset. + Sadhorizon: + - rscadd: All the inteq ships (and the beluga inteq office) now start with a rail + light for every gun. + - tweak: Rail light crate now costs 100 credits. + - rscadd: Added the Scarab-class Heavy Mining Ship + Sun-Soaked: + - bugfix: cleans up 3 potentially sticky refs + - bugfix: limb items no longer runtime when moved or dropped + - bugfix: vox blood & body damage overlays. + - imageadd: something something fixed vox overlays countless hours of work + - code_imp: replaced a horrifying var reference in clothing with a weakref + - code_imp: the thresholds for limb damage sprites have been reduced + - refactor: reworks clothing blood overlay into a central proc called by clothing + generalthrax: + - balance: Reloading speed from stacks doubled + - balance: Increase ammo can to bulky and lets it hold 4 normal-sized ammoboxes, + can only hold ammo and explosives. + - balance: Adjusted price of .299 Eoehoma slightly, adds a second box to the cargo + order since its 60 instead of 120 + - bugfix: Fixes a bunch of bullet stacks to have correct numbers + - bugfix: Larger handfuls (.22lr) + - bugfix: Mapped in ammo cans now hold their boxes + - bugfix: 12g beanbag now has beanbag instead of rubber + beanbag + - bugfix: Ammo box icons and descriptions + - rscdel: Removed .22lr from the blackmarket. Its in cargo already. + zimon9: + - rscadd: Added better names for some material shards + - rscadd: Added ability to see screens using the examine_more function +2024-10-28: + Sadhorizon: + - rscadd: A new sand ruin - the E-11 Manufacturing Plant - and associated code. + - rscadd: A purple hardhat. +2024-10-29: + FalloutFalcon: + - rscdel: Removed some ancient away mission cruft + - code_imp: flaky tests can now comment under its own prs. + FalloutFalcon, Melbert: + - refactor: transforming weapons are easier to add + MarkSuckerberg: + - server: Logs a few more stats for use in the Statbus at https://shiptest.net/stats + thgvr: + - imageadd: Updated world icons for knives +2024-10-30: + Erikafox: + - rscadd: Some planets now have new lighting values. Please report back on if they + are "Pleasant" + rye-rice: + - rscadd: You can now detect certain gases from smell, most notably plasma + - rscadd: Adds 6 new gases, all unused at the moment + - rscdel: 3 gases, Pluox, Nitryl, and Stimming + - balance: The noble gas suppresssion threshold has been increased from 10 mols + to 75 mols + - balance: Various gases have had their enthalpy (energy released during fires) + adjusted, changing the behavior of gas fires slightly. + - balance: Plasma is a much more potent skin/eye irritant + - balance: Hydrogen gas is no longer visible + - bugfix: Freon's stage one breath effects should work now, before they were tied + to nitryl's amount + rye-rice, Jedi Toothpaste: + - rscadd: adds Beagle Mug + - rscadd: adds Beagle Mug to Atlas Class +2024-10-31: + Gristlebee: + - rscadd: Indie Viper guncase comes with 2 speedloaders. + SomeguyManperson: + - code_imp: empty energy weapons now get emptied slightly differently, no player-facing + changes diff --git a/html/changelogs/archive/2024-11.yml b/html/changelogs/archive/2024-11.yml new file mode 100644 index 00000000000..7e29f8db7a4 --- /dev/null +++ b/html/changelogs/archive/2024-11.yml @@ -0,0 +1,341 @@ +2024-11-01: + Erikafox: + - rscadd: A new PGFN vessel has entered the frontier - the Elated Bolide class makes + a bright entry into the local system. + SomeguyManperson: + - bugfix: strippers and speedloaders for rifles now work again +2024-11-02: + Apogee-dev: + - balance: Balaclavas and half masks are now just breath masks, not gas masks + - balance: Normal balaclavas can use internals too + - bugfix: Balaclavas don't have a joke description anymore + Erikafox: + - code_imp: cauterization now checks for pain feeling traits instead of morphine + - balance: morphine pills no longer addict and overdose you + - balance: frontier import guns now misfire more often + - rscadd: guns can now misfire into your head. + - rscadd: You can now recycle gun cases and ammo boxes. + - code_imp: Cargo ammo has been reorganized so it's not godawful + - rscadd: CM357 pistol + - rscadd: pistol cases for the CM70 and CM357 + - rscadd: Holocalls now tell you they are coming from a location + Geoengi: + - tweak: unstations some of the hud alerts. + Gristlebee: + - rscadd: Jetpack harnesses to outpost for 1750 + - rscdel: Black market jetpack harness + - balance: Jetpacks cost 1000 from 2000 at the outpost + - balance: Black market improvised jetpack average cost reduced + - balance: Black market hardsuit jetpack upgrade min price reduced + - balance: Jetpack fullspeed var now determines whether you're affected by damage + slowdown rather than giving a speedboost. + thgvr: + - imageadd: Added Kepori sprites for loadout dresses. +2024-11-03: + Erikafox: + - balance: Outpost vending machines now cost money. + - rscadd: Some cargo packs have new descriptions + - code_imp: cargo is slightly more organized. again + - rscadd: Platforms. Please use them in maps. they look cool. + - imageadd: 'Spooky: Platform sprites' + - bugfix: 2 bolide map fixes. quality control is my passion. + - rscadd: Hermits now breath weirdly sometimes. + - balance: SKM hermits have realized they have been using the wrong calibre round + for the past 3 years and are now fixing such. + MemeSnorfer: + - rscadd: Vigilitas gas masks, which are added to the Harrier and Ranger + - rscadd: Inteq gas masks, which are added to the Colossus, Vaquero, Talos, and + Valor + Sadhorizon: + - rscadd: Added Nanotrasen, Vigilitas and N+S stamps. + thgvr: + - bugfix: chat icons work again + - bugfix: fishing UI has icons again +2024-11-04: + DIB-DOG: + - rscadd: Improved miscellaneous supplies on the Crying Sun + - rscadd: Added a blackbox recorder and set of handrails to the Crying Sun + - bugfix: Changed out the loose beampistols with cased versions on Crying Sun + - bugfix: Fixed Crying Sun roles to display properly + - rscdel: Removed the beer ring and cigarette machine from the Crying Sun + Erikafox: + - rscadd: Energy Bayonets + - rscadd: Some frontiersmen ruins have been updated to have frontiersmen turrets + - rscadd: Clover Photonics' contract for manufacturing turrets has finally caught + up to the CLIP MIC. Expect to see them on the Atlas. + FalloutFalcon: + - code_imp: flaky test github comments dont spam + Gristlebee: + - rscadd: Increases 357 hollowpoint AP to -20 from -50 + - rscadd: PGF Factional office + - rscadd: PGF Faxes + - rscadd: No diagonal indestructible titanium walls + Sadhorizon: + - rscdel: Beluga-class, Box-class, Schmiedeberg-class, Colossus-class, Skipper-class + and Kansatsu-class lost their Ore Redemption Machines. + - tweak: Reflavored Li Tieguai-class to use Cybersun Biodynamics colors. + - balance: Removed the Viper, the Dart Gun and two Ringnecks from the Li Tieguai. + Instead, added a Rattlesnake, a Himehabu and two edaggers. + - bugfix: Li Tieguai captain is now an officer. + zimon9: + - rscadd: Added ability to make cabinets and easels + - bugfix: fixed painting frame persistence and initialization bugs +2024-11-05: + Apogee-dev: + - bugfix: left/right shifted number decals now have dirs and are the right color + Erikafox: + - rscdel: arnold pizza + - rscadd: A new PGF ship is in the neighborhood - Woeful Cthonians have been deployed + in the frontier! + SomeguyManperson: + - bugfix: shields work as intended again +2024-11-07: + Apogee-dev: + - rscadd: the NGR Kali Andhi-class destroyer + - rscadd: NGR floor decals and flags + - balance: red space suit armor made equivalent to sec hardsuits + MarkSuckerberg: + - rscadd: Added a confirmation pop up for abandoning missions. +2024-11-09: + Erikafox: + - balance: wasteplanets no longer spawn manhacks + SomeguyManperson: + - bugfix: the kilo sawnoff shotgun is no longer the private domicile of The Void +2024-11-10: + Aquidu: + - rscadd: Added a suit storage whitelist to the Nanotrasen, Hardliner, NGR, and + Frontiersmen smocks. Expands the whitelist of the surgical smock. + FeenieRU: + - imageadd: added icons for inbox donuts + MarkSuckerberg: + - config: Removes a lot of old, unused config options + SomeguyManperson: + - code_imp: weapons which can be wielded may now have a force of 0 when wielded + or unwielded +2024-11-11: + Erikafox: + - balance: Crusher damage has been slightly increased across the board. + SomeguyManperson: + - bugfix: guns with magazines can no longer sometimes refuse to accept those magazines + - balance: etherbor military and civilian weapon cells are interchangeable between + military and civilian arms +2024-11-12: + firebudgy: + - balance: Kansatsu has been removed from the player-accessible ship pool. +2024-11-14: + randy10122: + - bugfix: fixes a typo in the .45 HP ammo crate's description +2024-11-15: + Anticept: + - balance: growth serum now maxes out at 30% growth with 30u and has a smooth sliding + scale. + Burning02: + - balance: Rail lights have been brightened + Erikafox: + - balance: medium and light ngr turrets swapped ammo. mediums should be more effective + now. + - rscadd: implements thick railings from code + - bugfix: platform dirs + - imageadd: platform internal corners + - balance: legion cores now slowly build up cloneloss when you use them. + - balance: Hivebots now have some armor and real bullets. Please bring guns to waste + planets. + - code_imp: you can now looc while unconscious/in crit. + MarkSuckerberg: + - rscdel: Most fishing missions. Now only the cooking one, that takes 1-3 of any + fish, has been left. + - tweak: The fish cooking mission now pays twice as much as it used to, 500 credits + per fish. It's also less likely to appear as a mission. + Sadhorizon: + - rscadd: Added an inteq survival box. + SomeguyManperson: + - code_imp: legion virus stage messages now properly display themselves. instead + of not doing that. + - code_imp: legion infesting people now give them a direct chat message. Say hello + to your new friend! They might be sticking around your body longer than you + will. + generalthrax: + - balance: Ramzi mobs now use the rusted-red as a reference item instead of blood-reds + to have lower armour. +2024-11-16: + Apogee-dev: + - balance: Massively buffed combat exosuit armor + - balance: Made repairing exosuits with a welder a do_after + - balance: Combat exosuits get less healing from repairs + - balance: The Paladin now has higher melee armor and lower bullet armor than the + Durand + Erikafox: + - rscadd: Trickwine fluff has been rewritten + - balance: Trickwines have been somewhat nerfed + - rscdel: prismwine, forcewine + - rscadd: N+S has reported losing contact with one of their rockplanet based mining + installations + - rscadd: You can now add shelves to crate racks + - rscadd: you can now buy marine armor at the outpost + - balance: marine armor now has different levels of protection. + - bugfix: marine crate path + price + PositiveEntropy: + - rscadd: Ditigrade sprites for NGR and Hardliner regular and officer jumpsuits. + Sadhorizon: + - bugfix: E-11 Manufactory ruin is no longer dark. + firebudgy: + - rscadd: New sprites for hard hats and soft caps for Vox! Flipped states and on/off + states included. + - bugfix: Black Shorts are now able to fit Vox + generalthrax: + - balance: Frontiersmen vests now count as normal armour vests and not bulletproof + - balance: Frontiersmen simplemobs count this for their armour values + - balance: Frontie armour vest in the blackmarket cost decreased + - bugfix: 9mm AP spawns with 9mm AP now +2024-11-17: + fighterslam: + - rscadd: Various minor fixes & QOL adjustments to the Ranger. Major changes include + updating all of the Specialist quarters and a complete re-arrangement of the + Medical and Supply areas. +2024-11-18: + Apogee-dev: + - rscadd: Replaced NGR Hyena with the NGR Derecho-class salvage ship + Erikafox: + - rscadd: girlfailing adjective + - rscadd: vomiting now removes a random amount of disgust. + - balance: vomiting should no longer trigger 12000 times in one minute on that one + person. im so sorry + firebudgy: + - rscadd: Four new hats for your blorbo customization! Find them in loadout. Sponsored + by Miskilamo Shipbreaking. + - bugfix: Vox Frontiersmen Officers finally stitched up their clothing. +2024-11-20: + Erikafox: + - balance: frontiersmen turrets kill everything not in their faction + - balance: medium marine armor now costs 3k at da outpost. + - bugfix: crate shelves now return all metal + - bugfix: crate shelves no longer lead to 0 metal stacks + - bugfix: Cthonian Platforms now have proper dirs + Sadhorizon: + - code_imp: Added a Hardliner faction datum. + SomeguyManperson: + - bugfix: 9mm AP boxes now work right + generalthrax: + - balance: Replaced rubbershot on the Kilo and Scarab with buckshot + - rscadd: Added a soft suit to the Listening Post + - bugfix: Fixed the Listening Post Comms Monitor to be the right type +2024-11-21: + Anticept: + - bugfix: growth serum capped at 25 instead of 30% for sprite scaling reasons. + Erikafox: + - rscadd: rifle calibre and pdw calibre rubbershot/armor piercing/hollow point. + check da outpost + - rscadd: tracker rounds for a few guns. check the black market :3 + - rscdel: most forms of incendiary ammo + - rscdel: A bunch of clown and mime stuff tangentially related to guns + - rscadd: walls on wasteworlds now have a chance to start damaged + - balance: walls on waste worlds are now universally weaker + - rscadd: fax secret documents + - rscadd: and space cash and biscuit folders. without + MarkSuckerberg: + - tweak: Whispering (as in, directly using the verb or typing `#` before your message) + will now skip the succumb confirmation prompt, while normal talking will still + continue to prompt if you want to succumb. + fighterslam: + - bugfix: fixes access on the ranger armory + firebudgy: + - rscadd: Enabled thee screaming audio emote for Vox. + generalthrax: + - bugfix: You can no longer see through Marauder hardsuits +2024-11-22: + MarkSuckerberg: + - bugfix: Examine more should now say the actual object as the subject and not yourself. + zimon9: + - balance: reduces drink and cigarette vender item costs +2024-11-23: + Apogee-dev: + - rscadd: Ramzi and Frontiersman mobs now have more names and descriptions + Sadhorizon: + - tweak: Dwayne is now made out of titanium. + SomeguyManperson: + - bugfix: mech repair now loop +2024-11-24: + SomeguyManperson: + - bugfix: some weapons are now more visible than they weren't supposed to be (which + is none) + firebudgy: + - rscadd: Species sprites for various Vigilitas items + - rscadd: Nanotrasen vox.dmi + generalthrax: + - rscdel: You no longer slur your speech at low drunkenness. + - balance: Thresholds for slurred speech increased as well as the threshold for + getting drunk. + - rscdel: Making weird groaning sounds and burping loudly at random was removed + from slurred speech. +2024-11-27: + Burning02: + - rscadd: Adds a singular light tube to the SSU room in the Atlas + - bugfix: The Atlas Sergeant can now access their belongings +2024-11-28: + Apogee-dev: + - balance: replaced sec hailers in outfits and maps with gas masks or breath masks + depending on circumstance + Erikafox: + - balance: marine armor is now less protective, marginally, and slows you down |more| + - rscdel: Marine Helmets + - bugfix: legion cores should now ACTUALLY give you cloneloss. my bad there guys. + sorry. + - rscadd: new detonate effect for phantom cores and plasmasoul cores. + - rscadd: Anomaly cores now grind down into something. + - balance: plasmasouls suck less + - rscadd: hivebots now drop stock parts. Stronger ones drop better parts + - balance: claymores are now less explody - they have increased shrapnel prowess + to mildly compensate. + Gristlebee: + - rscadd: Shoulder holsters to outpost for 600 + - rscadd: Cham holsters to black market + - rscadd: Accessories will fall off jumpsuits when destroyed. + - balance: Shoulder holsters can only hold one gun a time. + - bugfix: Accessory storage acts more consistently like other storage items. + MarkSuckerberg: + - tweak: Kepori can't hold items in their beak that are (allegedly) meant to be + equipped to other slots. + Martinpachu: + - rscdel: The cargo listing for the SWAT suit. + Sadhorizon: + - bugfix: Waiters can access Sunskipper kitchen again. + Spooky, Erika: + - rscadd: thin railings + - imageadd: 'spooky: thin railing sprites and sprites for wooden railings' + Yule&: + - bugfix: Tiles modified by the Floor Painter no longer reset after shuttle transit + Zevotech: + - rscdel: Removed the unused NT_Asteroid outpost. + - rscadd: Remapped and moved the Brazillab ruin to Sandplanet. + - bugfix: Fixed the Trabuco's inhand sprites. + generalthrax: + - rscadd: Adds Dogtag Missions to hunt down Ramzi Clique and Frontiersman NPCS from + Ruins + - rscadd: Adds Salvage Missions to collect Protolathe or R&D Console Boards + - rscdel: Removes Fishing Missions + - rscdel: Removes impossible missions like Bluespace Watcher and Abandoned Floorbot + - balance: Increases price of Migo missions to be on par with Legion + - balance: Increases the value of Strange Crystal missions + - rscdel: Remove R&D design board from unlocked Protolathes and Science Protolathes +2024-11-29: + Apogee-dev: + - rscdel: Removed inteq and syndicate maid outfits + Burning02: + - bugfix: Swaps the planetary tiles on Brazil lab to be non-planetary tile types. + Gristlebee: + - bugfix: Sealed and note placer mapping helper + PositiveEntropy: + - imageadd: The Vox have been visually overhauled and resprited! + - imageadd: 'Adds a new hair gradient: Splotches!' + generalthrax: + - rscadd: Adds the Gorlex Marauder Breaching Sledgehammer, for both utility and + combat. Available in the black market. + - rscadd: Sledgehammers are mapped in on the Kali and Derecho-class +2024-11-30: + Jedi-Toothpaste: + - bugfix: Claris and Gar can now be stored on your back + 'rye-rice, firebudgy ': + - rscadd: Factional cargo. + - rscdel: the remminants of the P16 as it was already completely removed in Serene + Sporting + - balance: Sporter is now 400 credits. diff --git a/html/changelogs/archive/2024-12.yml b/html/changelogs/archive/2024-12.yml new file mode 100644 index 00000000000..ad900aa39f6 --- /dev/null +++ b/html/changelogs/archive/2024-12.yml @@ -0,0 +1,149 @@ +2024-12-01: + Erikafox: + - balance: Gun slowdown has been reduced across the board + - balance: E-tars are now less bad +2024-12-04: + Burning02: + - balance: The Dwayne filing cabinet located in the bridge is no longer dense + Cloudbreak: + - rscdel: AI Private frequency + - balance: Syndicate communications are no longer able to monitor all other factions. + - balance: Syndicate communications are no longer unable to be monitored. + - balance: Nanotrasen has modernized their handhelds. Possible radio frequencies + adjusted from 144.1-148.9 to 144.1-168.9. + - rscadd: Reflavored set channels to properly ID their faction. + - bugfix: Vox sprite compatibility in a single sprite. + Erikafox: + - rscadd: the valor now carries an artificer + - bugfix: expands subshuttle dock on the Raleigh + Gristlebee: + - balance: Syndicate esword simplemob block chance down to 25. + - bugfix: Syndi space knife enemies dying in space, and having block chance. + MarkSuckerberg: + - rscadd: You can now set turrets to filter by faction, mob type, and a few more + criteria including "dangerous only" as well as the ability to disable retaliation. + - rscadd: Turret retaliation is a lot more vengeful. Don't mess with them. + - rscadd: Turrets will now spend a short time targetting you, pointing a beam at + you to indicate that they're doing so. + - rscdel: Turret covers, because they sucked. + - bugfix: Turretcode is a LOT less laggy. + - tweak: Turrets are now built like normal machines. The boards are currently not + available (except through salvaging). + - tweak: You can now access full turret settings from the turret control panel. + SomeguyManperson: + - bugfix: mechs will now immediately fail a channel if they move, turn, or swap + equipment. Previously the channel would run to completion before checking if + it was valid. + - rscadd: The assault belt has been freed from its SWAT suit prison and is now purchasable + in cargo + firebudgy: + - rscadd: Additional cargo magazine and gun orders that were missing from the previous + factional cargo PR. + - balance: Adjusts the E-SG to hopefully be used more often. + generalthrax: + - balance: Angle Grinders now take less charge and are much quicker at deconstructing + walls + - balance: Plasmacutters are now marginally slower, hardly noticeable. + - balance: Blast doors and safes are now very slightly faster to cut open. + - rscadd: You can now unanchor Serving Dishes + rye-rice: + - rscadd: Melbert, rye-rice + - balance: you will no longer be fine at 100 c, nor 50 c, you should also NOT be + fine at -100 c either. clothing helps. + - bugfix: should be able to tell slighlty chilly tempertures + thgvr: + - rscadd: Allows hand radios to be held on your neck slot + - balance: 'Adjusted the item size of various guns and misc objects, see pr #3509 + for more info' + - imageadd: Overhauled the look of autoinjectors +2024-12-05: + Gristlebee: + - rscadd: Shoulder slings to outpost cargo for 500 credits. + MarkSuckerberg & Anticept: + - bugfix: auxmos updated with correct feature flags, windows atmos hosts will function + correctly again. + firebudgy: + - rscadd: An intercepted shipment of CM-40 barrels has led to an influx of SKM-24u + LMGs to the black market. Report sightings to your nearest CLIP representative. + - bugfix: Bipods actually work now. +2024-12-08: + Erikafox: + - bugfix: Signallers no longer hit the other signaller when you're copying frequencies + - bugfix: hivebots should no longer attack hivebot spawners + - rscadd: curtain directions + - balance: m13 larker burst fire speed increased + SomeguyManperson: + - rscadd: Examining overmap hazards now shows their maximum safe speed, if there + is one, which there may not be. + rye-rice: + - bugfix: phoroids should no longer smell plasma, or anything for that matter. + thgvr: + - rscadd: Added a new electric welder - buy it from the outpost. + - rscdel: Removed experimental welder +2024-12-13: + Burning02: + - rscadd: Adds the Ion thruster pack for Exosuits to the outpost market, for 2000 + credits + - balance: Ion thrusters can be detached from exosuits now + Erikafox: + - balance: Girders on wasteplanet walls are no longer more durable than the walls. + generalthrax: + - balance: Lasers / Eguns are now normal-sized + - rscadd: Lasers / Eguns now fit in holsters + - bugfix: Sprite issue on Singulo Lab lasercannons + - rscadd: Filled subtype of Molotovs + - bugfix: Molotovs can no longer be used to craft themselves + - bugfix: Mapped in Molotovs are no longer empty +2024-12-14: + meemofcourse: + - rscdel: Beluga-class, Box-class, Lagoon-class, Schmiedeberg-class, Tranquility-class + - rscdel: Hound-class + - rscdel: Gecko-class, Heron-class (also Falcon-class), Mimir-class + - rscdel: Jupiter-class + - rscdel: Chronicle-class + - rscdel: Many ruins, mostly for being old, have been removed +2024-12-19: + Jedi-Toothpaste: + - bugfix: surgery cases now hold all the items + MemeSnorfer and Moffball: + - rscadd: Atoll-Class Hospital Ship + - rscadd: Preloaded organ smartfridge + - rscdel: Disabled the Box-Class +2024-12-21: + Zevotech: + - bugfix: fixed an incorrect spawner on whitesands_surface_camp_combination + - tweak: adjusted loot distribution on whitesands_surface_camp_combination +2024-12-22: + Burning02: + - rscadd: Adds the exosuit based saw to the Outpost catalogue for 2000 credits + - balance: Buffed the speed and deconstruction damage of the exosuit saw + - bugfix: Exosuit saw no longer gets stuck on indestructible walls + firebudgy: + - rscadd: Commissioner, SAW-80, GAR Carbine, and CM-40 to factional cargo + - bugfix: Decimal cargo prices + - balance: Magazines now come completely empty. As a result of this, they have now + been made cheaper. +2024-12-23: + firebudgy: + - balance: SAW-80 is more expensive. +2024-12-29: + Aquidu: + - rscadd: Added winter coats to the Harrier +2024-12-30: + Erikafox: + - balance: burst fire hivebots now have more time between the shots in their bursts + Jedi-Toothpaste: + - rscadd: new secondary 'slug' mode for the scatter laser (and other scatter lasers + sub-types) + - rscadd: scatter laser to cargo, for you freaks who want to buy it + - rscdel: removed old secondary mode for scatter lasers (and scatter laser sub-types) + - balance: laser scatter mode now fires 10 pellets instead of 5 + - balance: laser scatter pellets now do 5 damage instead of 3 + - balance: laser scatter mode variance increased from 25 to 40 + - balance: doubled laser scatter mode energy cost (6 shots with normal cell, 12 + with upgraded) + MarkSuckerberg: + - bugfix: Jukeboxes should not leak across virtual Zs anymore + - bugfix: Candles can no longer be used like tiki torches + - tweak: Ore silos will now only drop materials when dissasembled or destroyed, + instead of any deletion diff --git a/html/changelogs/archive/2025-01.yml b/html/changelogs/archive/2025-01.yml new file mode 100644 index 00000000000..13151c56dc7 --- /dev/null +++ b/html/changelogs/archive/2025-01.yml @@ -0,0 +1,18 @@ +2025-01-04: + Erikafox: + - rscdel: kong drink + - rscadd: CLIP has lost contact with a facility in the system. Go find it. Go see + what happened. I dare you. + Ryll/Shaps: + - rscadd: Adds a config option for OOC kindness commendations! When enabled, a small + percentage of the crew gets asked if anyone made their round better, and those + people will get a little heart next to their name in OOC for 24h! + SomeguyManperson: + - bugfix: mech looping repairs loop now. For real. + Thera-Pissed: + - bugfix: spaghetti desc and food type updated + firebudgy: + - rscadd: New medal descriptions and renames. + rye-rice: + - rscadd: Touches up the ringneck and commander magazine sprites + - balance: Ringneck is now 8 rounds and commander is 12 rounds. diff --git a/html/font-awesome/README.MD b/html/font-awesome/README.MD index 7d693c36f03..ba9121311d4 100644 --- a/html/font-awesome/README.MD +++ b/html/font-awesome/README.MD @@ -1,6 +1,6 @@ Due to the fact browse_rsc can't create subdirectories, every time you update font-awesome you'll need to change relative webfont references in all.min.css eg ../webfonts/fa-regular-400.ttf => fa-regular-400.ttf (or whatever you call it in asset datum) -Second change is ripping out file types other than woff and eot(ie8) from the css +Second change is ripping out file types other than ~~ woff and eot(ie8)~~ ttf from the css -Finally, removing brand related css. \ No newline at end of file +Finally, removing brand related css. diff --git a/html/font-awesome/css/all.min.css b/html/font-awesome/css/all.min.css index 5c440798403..7a283f087ca 100644 --- a/html/font-awesome/css/all.min.css +++ b/html/font-awesome/css/all.min.css @@ -1,4377 +1,6 @@ /*! - * Font Awesome Free 5.9.0 by @fontawesome - https://fontawesome.com + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. */ -.fa, -.fab, -.fal, -.far, -.fas { - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - line-height: 1; -} -.fa-lg { - font-size: 1.33333em; - line-height: 0.75em; - vertical-align: -0.0667em; -} -.fa-xs { - font-size: 0.75em; -} -.fa-sm { - font-size: 0.875em; -} -.fa-1x { - font-size: 1em; -} -.fa-2x { - font-size: 2em; -} -.fa-3x { - font-size: 3em; -} -.fa-4x { - font-size: 4em; -} -.fa-5x { - font-size: 5em; -} -.fa-6x { - font-size: 6em; -} -.fa-7x { - font-size: 7em; -} -.fa-8x { - font-size: 8em; -} -.fa-9x { - font-size: 9em; -} -.fa-10x { - font-size: 10em; -} -.fa-fw { - text-align: center; - width: 1.25em; -} -.fa-ul { - list-style-type: none; - margin-left: 2.5em; - padding-left: 0; -} -.fa-ul > li { - position: relative; -} -.fa-li { - left: -2em; - position: absolute; - text-align: center; - width: 2em; - line-height: inherit; -} -.fa-border { - border: 0.08em solid #eee; - border-radius: 0.1em; - padding: 0.2em 0.25em 0.15em; -} -.fa-pull-left { - float: left; -} -.fa-pull-right { - float: right; -} -.fa.fa-pull-left, -.fab.fa-pull-left, -.fal.fa-pull-left, -.far.fa-pull-left, -.fas.fa-pull-left { - margin-right: 0.3em; -} -.fa.fa-pull-right, -.fab.fa-pull-right, -.fal.fa-pull-right, -.far.fa-pull-right, -.fas.fa-pull-right { - margin-left: 0.3em; -} -.fa-spin { - animation: fa-spin 2s infinite linear; -} -.fa-pulse { - animation: fa-spin 1s infinite steps(8); -} -@keyframes fa-spin { - 0% { - transform: rotate(0deg); - } - to { - transform: rotate(1turn); - } -} -.fa-rotate-90 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; - transform: rotate(90deg); -} -.fa-rotate-180 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; - transform: rotate(180deg); -} -.fa-rotate-270 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; - transform: rotate(270deg); -} -.fa-flip-horizontal { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; - transform: scaleX(-1); -} -.fa-flip-vertical { - transform: scaleY(-1); -} -.fa-flip-both, -.fa-flip-horizontal.fa-flip-vertical, -.fa-flip-vertical { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; -} -.fa-flip-both, -.fa-flip-horizontal.fa-flip-vertical { - transform: scale(-1); -} -:root .fa-flip-both, -:root .fa-flip-horizontal, -:root .fa-flip-vertical, -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270 { - filter: none; -} -.fa-stack { - display: inline-block; - height: 2em; - line-height: 2em; - position: relative; - vertical-align: middle; - width: 2.5em; -} -.fa-stack-1x, -.fa-stack-2x { - left: 0; - position: absolute; - text-align: center; - width: 100%; -} -.fa-stack-1x { - line-height: inherit; -} -.fa-stack-2x { - font-size: 2em; -} -.fa-inverse { - color: #fff; -} -.fa-500px:before { - content: "\f26e"; -} -.fa-accessible-icon:before { - content: "\f368"; -} -.fa-accusoft:before { - content: "\f369"; -} -.fa-acquisitions-incorporated:before { - content: "\f6af"; -} -.fa-ad:before { - content: "\f641"; -} -.fa-address-book:before { - content: "\f2b9"; -} -.fa-address-card:before { - content: "\f2bb"; -} -.fa-adjust:before { - content: "\f042"; -} -.fa-adn:before { - content: "\f170"; -} -.fa-adobe:before { - content: "\f778"; -} -.fa-adversal:before { - content: "\f36a"; -} -.fa-affiliatetheme:before { - content: "\f36b"; -} -.fa-air-freshener:before { - content: "\f5d0"; -} -.fa-airbnb:before { - content: "\f834"; -} -.fa-algolia:before { - content: "\f36c"; -} -.fa-align-center:before { - content: "\f037"; -} -.fa-align-justify:before { - content: "\f039"; -} -.fa-align-left:before { - content: "\f036"; -} -.fa-align-right:before { - content: "\f038"; -} -.fa-alipay:before { - content: "\f642"; -} -.fa-allergies:before { - content: "\f461"; -} -.fa-amazon:before { - content: "\f270"; -} -.fa-amazon-pay:before { - content: "\f42c"; -} -.fa-ambulance:before { - content: "\f0f9"; -} -.fa-american-sign-language-interpreting:before { - content: "\f2a3"; -} -.fa-amilia:before { - content: "\f36d"; -} -.fa-anchor:before { - content: "\f13d"; -} -.fa-android:before { - content: "\f17b"; -} -.fa-angellist:before { - content: "\f209"; -} -.fa-angle-double-down:before { - content: "\f103"; -} -.fa-angle-double-left:before { - content: "\f100"; -} -.fa-angle-double-right:before { - content: "\f101"; -} -.fa-angle-double-up:before { - content: "\f102"; -} -.fa-angle-down:before { - content: "\f107"; -} -.fa-angle-left:before { - content: "\f104"; -} -.fa-angle-right:before { - content: "\f105"; -} -.fa-angle-up:before { - content: "\f106"; -} -.fa-angry:before { - content: "\f556"; -} -.fa-angrycreative:before { - content: "\f36e"; -} -.fa-angular:before { - content: "\f420"; -} -.fa-ankh:before { - content: "\f644"; -} -.fa-app-store:before { - content: "\f36f"; -} -.fa-app-store-ios:before { - content: "\f370"; -} -.fa-apper:before { - content: "\f371"; -} -.fa-apple:before { - content: "\f179"; -} -.fa-apple-alt:before { - content: "\f5d1"; -} -.fa-apple-pay:before { - content: "\f415"; -} -.fa-archive:before { - content: "\f187"; -} -.fa-archway:before { - content: "\f557"; -} -.fa-arrow-alt-circle-down:before { - content: "\f358"; -} -.fa-arrow-alt-circle-left:before { - content: "\f359"; -} -.fa-arrow-alt-circle-right:before { - content: "\f35a"; -} -.fa-arrow-alt-circle-up:before { - content: "\f35b"; -} -.fa-arrow-circle-down:before { - content: "\f0ab"; -} -.fa-arrow-circle-left:before { - content: "\f0a8"; -} -.fa-arrow-circle-right:before { - content: "\f0a9"; -} -.fa-arrow-circle-up:before { - content: "\f0aa"; -} -.fa-arrow-down:before { - content: "\f063"; -} -.fa-arrow-left:before { - content: "\f060"; -} -.fa-arrow-right:before { - content: "\f061"; -} -.fa-arrow-up:before { - content: "\f062"; -} -.fa-arrows-alt:before { - content: "\f0b2"; -} -.fa-arrows-alt-h:before { - content: "\f337"; -} -.fa-arrows-alt-v:before { - content: "\f338"; -} -.fa-artstation:before { - content: "\f77a"; -} -.fa-assistive-listening-systems:before { - content: "\f2a2"; -} -.fa-asterisk:before { - content: "\f069"; -} -.fa-asymmetrik:before { - content: "\f372"; -} -.fa-at:before { - content: "\f1fa"; -} -.fa-atlas:before { - content: "\f558"; -} -.fa-atlassian:before { - content: "\f77b"; -} -.fa-atom:before { - content: "\f5d2"; -} -.fa-audible:before { - content: "\f373"; -} -.fa-audio-description:before { - content: "\f29e"; -} -.fa-autoprefixer:before { - content: "\f41c"; -} -.fa-avianex:before { - content: "\f374"; -} -.fa-aviato:before { - content: "\f421"; -} -.fa-award:before { - content: "\f559"; -} -.fa-aws:before { - content: "\f375"; -} -.fa-baby:before { - content: "\f77c"; -} -.fa-baby-carriage:before { - content: "\f77d"; -} -.fa-backspace:before { - content: "\f55a"; -} -.fa-backward:before { - content: "\f04a"; -} -.fa-bacon:before { - content: "\f7e5"; -} -.fa-balance-scale:before { - content: "\f24e"; -} -.fa-balance-scale-left:before { - content: "\f515"; -} -.fa-balance-scale-right:before { - content: "\f516"; -} -.fa-ban:before { - content: "\f05e"; -} -.fa-band-aid:before { - content: "\f462"; -} -.fa-bandcamp:before { - content: "\f2d5"; -} -.fa-barcode:before { - content: "\f02a"; -} -.fa-bars:before { - content: "\f0c9"; -} -.fa-baseball-ball:before { - content: "\f433"; -} -.fa-basketball-ball:before { - content: "\f434"; -} -.fa-bath:before { - content: "\f2cd"; -} -.fa-battery-empty:before { - content: "\f244"; -} -.fa-battery-full:before { - content: "\f240"; -} -.fa-battery-half:before { - content: "\f242"; -} -.fa-battery-quarter:before { - content: "\f243"; -} -.fa-battery-three-quarters:before { - content: "\f241"; -} -.fa-battle-net:before { - content: "\f835"; -} -.fa-bed:before { - content: "\f236"; -} -.fa-beer:before { - content: "\f0fc"; -} -.fa-behance:before { - content: "\f1b4"; -} -.fa-behance-square:before { - content: "\f1b5"; -} -.fa-bell:before { - content: "\f0f3"; -} -.fa-bell-slash:before { - content: "\f1f6"; -} -.fa-bezier-curve:before { - content: "\f55b"; -} -.fa-bible:before { - content: "\f647"; -} -.fa-bicycle:before { - content: "\f206"; -} -.fa-biking:before { - content: "\f84a"; -} -.fa-bimobject:before { - content: "\f378"; -} -.fa-binoculars:before { - content: "\f1e5"; -} -.fa-biohazard:before { - content: "\f780"; -} -.fa-birthday-cake:before { - content: "\f1fd"; -} -.fa-bitbucket:before { - content: "\f171"; -} -.fa-bitcoin:before { - content: "\f379"; -} -.fa-bity:before { - content: "\f37a"; -} -.fa-black-tie:before { - content: "\f27e"; -} -.fa-blackberry:before { - content: "\f37b"; -} -.fa-blender:before { - content: "\f517"; -} -.fa-blender-phone:before { - content: "\f6b6"; -} -.fa-blind:before { - content: "\f29d"; -} -.fa-blog:before { - content: "\f781"; -} -.fa-blogger:before { - content: "\f37c"; -} -.fa-blogger-b:before { - content: "\f37d"; -} -.fa-bluetooth:before { - content: "\f293"; -} -.fa-bluetooth-b:before { - content: "\f294"; -} -.fa-bold:before { - content: "\f032"; -} -.fa-bolt:before { - content: "\f0e7"; -} -.fa-bomb:before { - content: "\f1e2"; -} -.fa-bone:before { - content: "\f5d7"; -} -.fa-bong:before { - content: "\f55c"; -} -.fa-book:before { - content: "\f02d"; -} -.fa-book-dead:before { - content: "\f6b7"; -} -.fa-book-medical:before { - content: "\f7e6"; -} -.fa-book-open:before { - content: "\f518"; -} -.fa-book-reader:before { - content: "\f5da"; -} -.fa-bookmark:before { - content: "\f02e"; -} -.fa-bootstrap:before { - content: "\f836"; -} -.fa-border-all:before { - content: "\f84c"; -} -.fa-border-none:before { - content: "\f850"; -} -.fa-border-style:before { - content: "\f853"; -} -.fa-bowling-ball:before { - content: "\f436"; -} -.fa-box:before { - content: "\f466"; -} -.fa-box-open:before { - content: "\f49e"; -} -.fa-boxes:before { - content: "\f468"; -} -.fa-braille:before { - content: "\f2a1"; -} -.fa-brain:before { - content: "\f5dc"; -} -.fa-bread-slice:before { - content: "\f7ec"; -} -.fa-briefcase:before { - content: "\f0b1"; -} -.fa-briefcase-medical:before { - content: "\f469"; -} -.fa-broadcast-tower:before { - content: "\f519"; -} -.fa-broom:before { - content: "\f51a"; -} -.fa-brush:before { - content: "\f55d"; -} -.fa-btc:before { - content: "\f15a"; -} -.fa-buffer:before { - content: "\f837"; -} -.fa-bug:before { - content: "\f188"; -} -.fa-building:before { - content: "\f1ad"; -} -.fa-bullhorn:before { - content: "\f0a1"; -} -.fa-bullseye:before { - content: "\f140"; -} -.fa-burn:before { - content: "\f46a"; -} -.fa-buromobelexperte:before { - content: "\f37f"; -} -.fa-bus:before { - content: "\f207"; -} -.fa-bus-alt:before { - content: "\f55e"; -} -.fa-business-time:before { - content: "\f64a"; -} -.fa-buysellads:before { - content: "\f20d"; -} -.fa-calculator:before { - content: "\f1ec"; -} -.fa-calendar:before { - content: "\f133"; -} -.fa-calendar-alt:before { - content: "\f073"; -} -.fa-calendar-check:before { - content: "\f274"; -} -.fa-calendar-day:before { - content: "\f783"; -} -.fa-calendar-minus:before { - content: "\f272"; -} -.fa-calendar-plus:before { - content: "\f271"; -} -.fa-calendar-times:before { - content: "\f273"; -} -.fa-calendar-week:before { - content: "\f784"; -} -.fa-camera:before { - content: "\f030"; -} -.fa-camera-retro:before { - content: "\f083"; -} -.fa-campground:before { - content: "\f6bb"; -} -.fa-canadian-maple-leaf:before { - content: "\f785"; -} -.fa-candy-cane:before { - content: "\f786"; -} -.fa-cannabis:before { - content: "\f55f"; -} -.fa-capsules:before { - content: "\f46b"; -} -.fa-car:before { - content: "\f1b9"; -} -.fa-car-alt:before { - content: "\f5de"; -} -.fa-car-battery:before { - content: "\f5df"; -} -.fa-car-crash:before { - content: "\f5e1"; -} -.fa-car-side:before { - content: "\f5e4"; -} -.fa-caret-down:before { - content: "\f0d7"; -} -.fa-caret-left:before { - content: "\f0d9"; -} -.fa-caret-right:before { - content: "\f0da"; -} -.fa-caret-square-down:before { - content: "\f150"; -} -.fa-caret-square-left:before { - content: "\f191"; -} -.fa-caret-square-right:before { - content: "\f152"; -} -.fa-caret-square-up:before { - content: "\f151"; -} -.fa-caret-up:before { - content: "\f0d8"; -} -.fa-carrot:before { - content: "\f787"; -} -.fa-cart-arrow-down:before { - content: "\f218"; -} -.fa-cart-plus:before { - content: "\f217"; -} -.fa-cash-register:before { - content: "\f788"; -} -.fa-cat:before { - content: "\f6be"; -} -.fa-cc-amazon-pay:before { - content: "\f42d"; -} -.fa-cc-amex:before { - content: "\f1f3"; -} -.fa-cc-apple-pay:before { - content: "\f416"; -} -.fa-cc-diners-club:before { - content: "\f24c"; -} -.fa-cc-discover:before { - content: "\f1f2"; -} -.fa-cc-jcb:before { - content: "\f24b"; -} -.fa-cc-mastercard:before { - content: "\f1f1"; -} -.fa-cc-paypal:before { - content: "\f1f4"; -} -.fa-cc-stripe:before { - content: "\f1f5"; -} -.fa-cc-visa:before { - content: "\f1f0"; -} -.fa-centercode:before { - content: "\f380"; -} -.fa-centos:before { - content: "\f789"; -} -.fa-certificate:before { - content: "\f0a3"; -} -.fa-chair:before { - content: "\f6c0"; -} -.fa-chalkboard:before { - content: "\f51b"; -} -.fa-chalkboard-teacher:before { - content: "\f51c"; -} -.fa-charging-station:before { - content: "\f5e7"; -} -.fa-chart-area:before { - content: "\f1fe"; -} -.fa-chart-bar:before { - content: "\f080"; -} -.fa-chart-line:before { - content: "\f201"; -} -.fa-chart-pie:before { - content: "\f200"; -} -.fa-check:before { - content: "\f00c"; -} -.fa-check-circle:before { - content: "\f058"; -} -.fa-check-double:before { - content: "\f560"; -} -.fa-check-square:before { - content: "\f14a"; -} -.fa-cheese:before { - content: "\f7ef"; -} -.fa-chess:before { - content: "\f439"; -} -.fa-chess-bishop:before { - content: "\f43a"; -} -.fa-chess-board:before { - content: "\f43c"; -} -.fa-chess-king:before { - content: "\f43f"; -} -.fa-chess-knight:before { - content: "\f441"; -} -.fa-chess-pawn:before { - content: "\f443"; -} -.fa-chess-queen:before { - content: "\f445"; -} -.fa-chess-rook:before { - content: "\f447"; -} -.fa-chevron-circle-down:before { - content: "\f13a"; -} -.fa-chevron-circle-left:before { - content: "\f137"; -} -.fa-chevron-circle-right:before { - content: "\f138"; -} -.fa-chevron-circle-up:before { - content: "\f139"; -} -.fa-chevron-down:before { - content: "\f078"; -} -.fa-chevron-left:before { - content: "\f053"; -} -.fa-chevron-right:before { - content: "\f054"; -} -.fa-chevron-up:before { - content: "\f077"; -} -.fa-child:before { - content: "\f1ae"; -} -.fa-chrome:before { - content: "\f268"; -} -.fa-chromecast:before { - content: "\f838"; -} -.fa-church:before { - content: "\f51d"; -} -.fa-circle:before { - content: "\f111"; -} -.fa-circle-notch:before { - content: "\f1ce"; -} -.fa-city:before { - content: "\f64f"; -} -.fa-clinic-medical:before { - content: "\f7f2"; -} -.fa-clipboard:before { - content: "\f328"; -} -.fa-clipboard-check:before { - content: "\f46c"; -} -.fa-clipboard-list:before { - content: "\f46d"; -} -.fa-clock:before { - content: "\f017"; -} -.fa-clone:before { - content: "\f24d"; -} -.fa-closed-captioning:before { - content: "\f20a"; -} -.fa-cloud:before { - content: "\f0c2"; -} -.fa-cloud-download-alt:before { - content: "\f381"; -} -.fa-cloud-meatball:before { - content: "\f73b"; -} -.fa-cloud-moon:before { - content: "\f6c3"; -} -.fa-cloud-moon-rain:before { - content: "\f73c"; -} -.fa-cloud-rain:before { - content: "\f73d"; -} -.fa-cloud-showers-heavy:before { - content: "\f740"; -} -.fa-cloud-sun:before { - content: "\f6c4"; -} -.fa-cloud-sun-rain:before { - content: "\f743"; -} -.fa-cloud-upload-alt:before { - content: "\f382"; -} -.fa-cloudscale:before { - content: "\f383"; -} -.fa-cloudsmith:before { - content: "\f384"; -} -.fa-cloudversify:before { - content: "\f385"; -} -.fa-cocktail:before { - content: "\f561"; -} -.fa-code:before { - content: "\f121"; -} -.fa-code-branch:before { - content: "\f126"; -} -.fa-codepen:before { - content: "\f1cb"; -} -.fa-codiepie:before { - content: "\f284"; -} -.fa-coffee:before { - content: "\f0f4"; -} -.fa-cog:before { - content: "\f013"; -} -.fa-cogs:before { - content: "\f085"; -} -.fa-coins:before { - content: "\f51e"; -} -.fa-columns:before { - content: "\f0db"; -} -.fa-comment:before { - content: "\f075"; -} -.fa-comment-alt:before { - content: "\f27a"; -} -.fa-comment-dollar:before { - content: "\f651"; -} -.fa-comment-dots:before { - content: "\f4ad"; -} -.fa-comment-medical:before { - content: "\f7f5"; -} -.fa-comment-slash:before { - content: "\f4b3"; -} -.fa-comments:before { - content: "\f086"; -} -.fa-comments-dollar:before { - content: "\f653"; -} -.fa-compact-disc:before { - content: "\f51f"; -} -.fa-compass:before { - content: "\f14e"; -} -.fa-compress:before { - content: "\f066"; -} -.fa-compress-arrows-alt:before { - content: "\f78c"; -} -.fa-concierge-bell:before { - content: "\f562"; -} -.fa-confluence:before { - content: "\f78d"; -} -.fa-connectdevelop:before { - content: "\f20e"; -} -.fa-contao:before { - content: "\f26d"; -} -.fa-cookie:before { - content: "\f563"; -} -.fa-cookie-bite:before { - content: "\f564"; -} -.fa-copy:before { - content: "\f0c5"; -} -.fa-copyright:before { - content: "\f1f9"; -} -.fa-couch:before { - content: "\f4b8"; -} -.fa-cpanel:before { - content: "\f388"; -} -.fa-creative-commons:before { - content: "\f25e"; -} -.fa-creative-commons-by:before { - content: "\f4e7"; -} -.fa-creative-commons-nc:before { - content: "\f4e8"; -} -.fa-creative-commons-nc-eu:before { - content: "\f4e9"; -} -.fa-creative-commons-nc-jp:before { - content: "\f4ea"; -} -.fa-creative-commons-nd:before { - content: "\f4eb"; -} -.fa-creative-commons-pd:before { - content: "\f4ec"; -} -.fa-creative-commons-pd-alt:before { - content: "\f4ed"; -} -.fa-creative-commons-remix:before { - content: "\f4ee"; -} -.fa-creative-commons-sa:before { - content: "\f4ef"; -} -.fa-creative-commons-sampling:before { - content: "\f4f0"; -} -.fa-creative-commons-sampling-plus:before { - content: "\f4f1"; -} -.fa-creative-commons-share:before { - content: "\f4f2"; -} -.fa-creative-commons-zero:before { - content: "\f4f3"; -} -.fa-credit-card:before { - content: "\f09d"; -} -.fa-critical-role:before { - content: "\f6c9"; -} -.fa-crop:before { - content: "\f125"; -} -.fa-crop-alt:before { - content: "\f565"; -} -.fa-cross:before { - content: "\f654"; -} -.fa-crosshairs:before { - content: "\f05b"; -} -.fa-crow:before { - content: "\f520"; -} -.fa-crown:before { - content: "\f521"; -} -.fa-crutch:before { - content: "\f7f7"; -} -.fa-css3:before { - content: "\f13c"; -} -.fa-css3-alt:before { - content: "\f38b"; -} -.fa-cube:before { - content: "\f1b2"; -} -.fa-cubes:before { - content: "\f1b3"; -} -.fa-cut:before { - content: "\f0c4"; -} -.fa-cuttlefish:before { - content: "\f38c"; -} -.fa-d-and-d:before { - content: "\f38d"; -} -.fa-d-and-d-beyond:before { - content: "\f6ca"; -} -.fa-dashcube:before { - content: "\f210"; -} -.fa-database:before { - content: "\f1c0"; -} -.fa-deaf:before { - content: "\f2a4"; -} -.fa-delicious:before { - content: "\f1a5"; -} -.fa-democrat:before { - content: "\f747"; -} -.fa-deploydog:before { - content: "\f38e"; -} -.fa-deskpro:before { - content: "\f38f"; -} -.fa-desktop:before { - content: "\f108"; -} -.fa-dev:before { - content: "\f6cc"; -} -.fa-deviantart:before { - content: "\f1bd"; -} -.fa-dharmachakra:before { - content: "\f655"; -} -.fa-dhl:before { - content: "\f790"; -} -.fa-diagnoses:before { - content: "\f470"; -} -.fa-diaspora:before { - content: "\f791"; -} -.fa-dice:before { - content: "\f522"; -} -.fa-dice-d20:before { - content: "\f6cf"; -} -.fa-dice-d6:before { - content: "\f6d1"; -} -.fa-dice-five:before { - content: "\f523"; -} -.fa-dice-four:before { - content: "\f524"; -} -.fa-dice-one:before { - content: "\f525"; -} -.fa-dice-six:before { - content: "\f526"; -} -.fa-dice-three:before { - content: "\f527"; -} -.fa-dice-two:before { - content: "\f528"; -} -.fa-digg:before { - content: "\f1a6"; -} -.fa-digital-ocean:before { - content: "\f391"; -} -.fa-digital-tachograph:before { - content: "\f566"; -} -.fa-directions:before { - content: "\f5eb"; -} -.fa-discord:before { - content: "\f392"; -} -.fa-discourse:before { - content: "\f393"; -} -.fa-divide:before { - content: "\f529"; -} -.fa-dizzy:before { - content: "\f567"; -} -.fa-dna:before { - content: "\f471"; -} -.fa-dochub:before { - content: "\f394"; -} -.fa-docker:before { - content: "\f395"; -} -.fa-dog:before { - content: "\f6d3"; -} -.fa-dollar-sign:before { - content: "\f155"; -} -.fa-dolly:before { - content: "\f472"; -} -.fa-dolly-flatbed:before { - content: "\f474"; -} -.fa-donate:before { - content: "\f4b9"; -} -.fa-door-closed:before { - content: "\f52a"; -} -.fa-door-open:before { - content: "\f52b"; -} -.fa-dot-circle:before { - content: "\f192"; -} -.fa-dove:before { - content: "\f4ba"; -} -.fa-download:before { - content: "\f019"; -} -.fa-draft2digital:before { - content: "\f396"; -} -.fa-drafting-compass:before { - content: "\f568"; -} -.fa-dragon:before { - content: "\f6d5"; -} -.fa-draw-polygon:before { - content: "\f5ee"; -} -.fa-dribbble:before { - content: "\f17d"; -} -.fa-dribbble-square:before { - content: "\f397"; -} -.fa-dropbox:before { - content: "\f16b"; -} -.fa-drum:before { - content: "\f569"; -} -.fa-drum-steelpan:before { - content: "\f56a"; -} -.fa-drumstick-bite:before { - content: "\f6d7"; -} -.fa-drupal:before { - content: "\f1a9"; -} -.fa-dumbbell:before { - content: "\f44b"; -} -.fa-dumpster:before { - content: "\f793"; -} -.fa-dumpster-fire:before { - content: "\f794"; -} -.fa-dungeon:before { - content: "\f6d9"; -} -.fa-dyalog:before { - content: "\f399"; -} -.fa-earlybirds:before { - content: "\f39a"; -} -.fa-ebay:before { - content: "\f4f4"; -} -.fa-edge:before { - content: "\f282"; -} -.fa-edit:before { - content: "\f044"; -} -.fa-egg:before { - content: "\f7fb"; -} -.fa-eject:before { - content: "\f052"; -} -.fa-elementor:before { - content: "\f430"; -} -.fa-ellipsis-h:before { - content: "\f141"; -} -.fa-ellipsis-v:before { - content: "\f142"; -} -.fa-ello:before { - content: "\f5f1"; -} -.fa-ember:before { - content: "\f423"; -} -.fa-empire:before { - content: "\f1d1"; -} -.fa-envelope:before { - content: "\f0e0"; -} -.fa-envelope-open:before { - content: "\f2b6"; -} -.fa-envelope-open-text:before { - content: "\f658"; -} -.fa-envelope-square:before { - content: "\f199"; -} -.fa-envira:before { - content: "\f299"; -} -.fa-equals:before { - content: "\f52c"; -} -.fa-eraser:before { - content: "\f12d"; -} -.fa-erlang:before { - content: "\f39d"; -} -.fa-ethereum:before { - content: "\f42e"; -} -.fa-ethernet:before { - content: "\f796"; -} -.fa-etsy:before { - content: "\f2d7"; -} -.fa-euro-sign:before { - content: "\f153"; -} -.fa-evernote:before { - content: "\f839"; -} -.fa-exchange-alt:before { - content: "\f362"; -} -.fa-exclamation:before { - content: "\f12a"; -} -.fa-exclamation-circle:before { - content: "\f06a"; -} -.fa-exclamation-triangle:before { - content: "\f071"; -} -.fa-expand:before { - content: "\f065"; -} -.fa-expand-arrows-alt:before { - content: "\f31e"; -} -.fa-expeditedssl:before { - content: "\f23e"; -} -.fa-external-link-alt:before { - content: "\f35d"; -} -.fa-external-link-square-alt:before { - content: "\f360"; -} -.fa-eye:before { - content: "\f06e"; -} -.fa-eye-dropper:before { - content: "\f1fb"; -} -.fa-eye-slash:before { - content: "\f070"; -} -.fa-facebook:before { - content: "\f09a"; -} -.fa-facebook-f:before { - content: "\f39e"; -} -.fa-facebook-messenger:before { - content: "\f39f"; -} -.fa-facebook-square:before { - content: "\f082"; -} -.fa-fan:before { - content: "\f863"; -} -.fa-fantasy-flight-games:before { - content: "\f6dc"; -} -.fa-fast-backward:before { - content: "\f049"; -} -.fa-fast-forward:before { - content: "\f050"; -} -.fa-fax:before { - content: "\f1ac"; -} -.fa-feather:before { - content: "\f52d"; -} -.fa-feather-alt:before { - content: "\f56b"; -} -.fa-fedex:before { - content: "\f797"; -} -.fa-fedora:before { - content: "\f798"; -} -.fa-female:before { - content: "\f182"; -} -.fa-fighter-jet:before { - content: "\f0fb"; -} -.fa-figma:before { - content: "\f799"; -} -.fa-file:before { - content: "\f15b"; -} -.fa-file-alt:before { - content: "\f15c"; -} -.fa-file-archive:before { - content: "\f1c6"; -} -.fa-file-audio:before { - content: "\f1c7"; -} -.fa-file-code:before { - content: "\f1c9"; -} -.fa-file-contract:before { - content: "\f56c"; -} -.fa-file-csv:before { - content: "\f6dd"; -} -.fa-file-download:before { - content: "\f56d"; -} -.fa-file-excel:before { - content: "\f1c3"; -} -.fa-file-export:before { - content: "\f56e"; -} -.fa-file-image:before { - content: "\f1c5"; -} -.fa-file-import:before { - content: "\f56f"; -} -.fa-file-invoice:before { - content: "\f570"; -} -.fa-file-invoice-dollar:before { - content: "\f571"; -} -.fa-file-medical:before { - content: "\f477"; -} -.fa-file-medical-alt:before { - content: "\f478"; -} -.fa-file-pdf:before { - content: "\f1c1"; -} -.fa-file-powerpoint:before { - content: "\f1c4"; -} -.fa-file-prescription:before { - content: "\f572"; -} -.fa-file-signature:before { - content: "\f573"; -} -.fa-file-upload:before { - content: "\f574"; -} -.fa-file-video:before { - content: "\f1c8"; -} -.fa-file-word:before { - content: "\f1c2"; -} -.fa-fill:before { - content: "\f575"; -} -.fa-fill-drip:before { - content: "\f576"; -} -.fa-film:before { - content: "\f008"; -} -.fa-filter:before { - content: "\f0b0"; -} -.fa-fingerprint:before { - content: "\f577"; -} -.fa-fire:before { - content: "\f06d"; -} -.fa-fire-alt:before { - content: "\f7e4"; -} -.fa-fire-extinguisher:before { - content: "\f134"; -} -.fa-firefox:before { - content: "\f269"; -} -.fa-first-aid:before { - content: "\f479"; -} -.fa-first-order:before { - content: "\f2b0"; -} -.fa-first-order-alt:before { - content: "\f50a"; -} -.fa-firstdraft:before { - content: "\f3a1"; -} -.fa-fish:before { - content: "\f578"; -} -.fa-fist-raised:before { - content: "\f6de"; -} -.fa-flag:before { - content: "\f024"; -} -.fa-flag-checkered:before { - content: "\f11e"; -} -.fa-flag-usa:before { - content: "\f74d"; -} -.fa-flask:before { - content: "\f0c3"; -} -.fa-flickr:before { - content: "\f16e"; -} -.fa-flipboard:before { - content: "\f44d"; -} -.fa-flushed:before { - content: "\f579"; -} -.fa-fly:before { - content: "\f417"; -} -.fa-folder:before { - content: "\f07b"; -} -.fa-folder-minus:before { - content: "\f65d"; -} -.fa-folder-open:before { - content: "\f07c"; -} -.fa-folder-plus:before { - content: "\f65e"; -} -.fa-font:before { - content: "\f031"; -} -.fa-font-awesome:before { - content: "\f2b4"; -} -.fa-font-awesome-alt:before { - content: "\f35c"; -} -.fa-font-awesome-flag:before { - content: "\f425"; -} -.fa-font-awesome-logo-full:before { - content: "\f4e6"; -} -.fa-fonticons:before { - content: "\f280"; -} -.fa-fonticons-fi:before { - content: "\f3a2"; -} -.fa-football-ball:before { - content: "\f44e"; -} -.fa-fort-awesome:before { - content: "\f286"; -} -.fa-fort-awesome-alt:before { - content: "\f3a3"; -} -.fa-forumbee:before { - content: "\f211"; -} -.fa-forward:before { - content: "\f04e"; -} -.fa-foursquare:before { - content: "\f180"; -} -.fa-free-code-camp:before { - content: "\f2c5"; -} -.fa-freebsd:before { - content: "\f3a4"; -} -.fa-frog:before { - content: "\f52e"; -} -.fa-frown:before { - content: "\f119"; -} -.fa-frown-open:before { - content: "\f57a"; -} -.fa-fulcrum:before { - content: "\f50b"; -} -.fa-funnel-dollar:before { - content: "\f662"; -} -.fa-futbol:before { - content: "\f1e3"; -} -.fa-galactic-republic:before { - content: "\f50c"; -} -.fa-galactic-senate:before { - content: "\f50d"; -} -.fa-gamepad:before { - content: "\f11b"; -} -.fa-gas-pump:before { - content: "\f52f"; -} -.fa-gavel:before { - content: "\f0e3"; -} -.fa-gem:before { - content: "\f3a5"; -} -.fa-genderless:before { - content: "\f22d"; -} -.fa-get-pocket:before { - content: "\f265"; -} -.fa-gg:before { - content: "\f260"; -} -.fa-gg-circle:before { - content: "\f261"; -} -.fa-ghost:before { - content: "\f6e2"; -} -.fa-gift:before { - content: "\f06b"; -} -.fa-gifts:before { - content: "\f79c"; -} -.fa-git:before { - content: "\f1d3"; -} -.fa-git-alt:before { - content: "\f841"; -} -.fa-git-square:before { - content: "\f1d2"; -} -.fa-github:before { - content: "\f09b"; -} -.fa-github-alt:before { - content: "\f113"; -} -.fa-github-square:before { - content: "\f092"; -} -.fa-gitkraken:before { - content: "\f3a6"; -} -.fa-gitlab:before { - content: "\f296"; -} -.fa-gitter:before { - content: "\f426"; -} -.fa-glass-cheers:before { - content: "\f79f"; -} -.fa-glass-martini:before { - content: "\f000"; -} -.fa-glass-martini-alt:before { - content: "\f57b"; -} -.fa-glass-whiskey:before { - content: "\f7a0"; -} -.fa-glasses:before { - content: "\f530"; -} -.fa-glide:before { - content: "\f2a5"; -} -.fa-glide-g:before { - content: "\f2a6"; -} -.fa-globe:before { - content: "\f0ac"; -} -.fa-globe-africa:before { - content: "\f57c"; -} -.fa-globe-americas:before { - content: "\f57d"; -} -.fa-globe-asia:before { - content: "\f57e"; -} -.fa-globe-europe:before { - content: "\f7a2"; -} -.fa-gofore:before { - content: "\f3a7"; -} -.fa-golf-ball:before { - content: "\f450"; -} -.fa-goodreads:before { - content: "\f3a8"; -} -.fa-goodreads-g:before { - content: "\f3a9"; -} -.fa-google:before { - content: "\f1a0"; -} -.fa-google-drive:before { - content: "\f3aa"; -} -.fa-google-play:before { - content: "\f3ab"; -} -.fa-google-plus:before { - content: "\f2b3"; -} -.fa-google-plus-g:before { - content: "\f0d5"; -} -.fa-google-plus-square:before { - content: "\f0d4"; -} -.fa-google-wallet:before { - content: "\f1ee"; -} -.fa-gopuram:before { - content: "\f664"; -} -.fa-graduation-cap:before { - content: "\f19d"; -} -.fa-gratipay:before { - content: "\f184"; -} -.fa-grav:before { - content: "\f2d6"; -} -.fa-greater-than:before { - content: "\f531"; -} -.fa-greater-than-equal:before { - content: "\f532"; -} -.fa-grimace:before { - content: "\f57f"; -} -.fa-grin:before { - content: "\f580"; -} -.fa-grin-alt:before { - content: "\f581"; -} -.fa-grin-beam:before { - content: "\f582"; -} -.fa-grin-beam-sweat:before { - content: "\f583"; -} -.fa-grin-hearts:before { - content: "\f584"; -} -.fa-grin-squint:before { - content: "\f585"; -} -.fa-grin-squint-tears:before { - content: "\f586"; -} -.fa-grin-stars:before { - content: "\f587"; -} -.fa-grin-tears:before { - content: "\f588"; -} -.fa-grin-tongue:before { - content: "\f589"; -} -.fa-grin-tongue-squint:before { - content: "\f58a"; -} -.fa-grin-tongue-wink:before { - content: "\f58b"; -} -.fa-grin-wink:before { - content: "\f58c"; -} -.fa-grip-horizontal:before { - content: "\f58d"; -} -.fa-grip-lines:before { - content: "\f7a4"; -} -.fa-grip-lines-vertical:before { - content: "\f7a5"; -} -.fa-grip-vertical:before { - content: "\f58e"; -} -.fa-gripfire:before { - content: "\f3ac"; -} -.fa-grunt:before { - content: "\f3ad"; -} -.fa-guitar:before { - content: "\f7a6"; -} -.fa-gulp:before { - content: "\f3ae"; -} -.fa-h-square:before { - content: "\f0fd"; -} -.fa-hacker-news:before { - content: "\f1d4"; -} -.fa-hacker-news-square:before { - content: "\f3af"; -} -.fa-hackerrank:before { - content: "\f5f7"; -} -.fa-hamburger:before { - content: "\f805"; -} -.fa-hammer:before { - content: "\f6e3"; -} -.fa-hamsa:before { - content: "\f665"; -} -.fa-hand-holding:before { - content: "\f4bd"; -} -.fa-hand-holding-heart:before { - content: "\f4be"; -} -.fa-hand-holding-usd:before { - content: "\f4c0"; -} -.fa-hand-lizard:before { - content: "\f258"; -} -.fa-hand-middle-finger:before { - content: "\f806"; -} -.fa-hand-paper:before { - content: "\f256"; -} -.fa-hand-peace:before { - content: "\f25b"; -} -.fa-hand-point-down:before { - content: "\f0a7"; -} -.fa-hand-point-left:before { - content: "\f0a5"; -} -.fa-hand-point-right:before { - content: "\f0a4"; -} -.fa-hand-point-up:before { - content: "\f0a6"; -} -.fa-hand-pointer:before { - content: "\f25a"; -} -.fa-hand-rock:before { - content: "\f255"; -} -.fa-hand-scissors:before { - content: "\f257"; -} -.fa-hand-spock:before { - content: "\f259"; -} -.fa-hands:before { - content: "\f4c2"; -} -.fa-hands-helping:before { - content: "\f4c4"; -} -.fa-handshake:before { - content: "\f2b5"; -} -.fa-hanukiah:before { - content: "\f6e6"; -} -.fa-hard-hat:before { - content: "\f807"; -} -.fa-hashtag:before { - content: "\f292"; -} -.fa-hat-wizard:before { - content: "\f6e8"; -} -.fa-haykal:before { - content: "\f666"; -} -.fa-hdd:before { - content: "\f0a0"; -} -.fa-heading:before { - content: "\f1dc"; -} -.fa-headphones:before { - content: "\f025"; -} -.fa-headphones-alt:before { - content: "\f58f"; -} -.fa-headset:before { - content: "\f590"; -} -.fa-heart:before { - content: "\f004"; -} -.fa-heart-broken:before { - content: "\f7a9"; -} -.fa-heartbeat:before { - content: "\f21e"; -} -.fa-helicopter:before { - content: "\f533"; -} -.fa-highlighter:before { - content: "\f591"; -} -.fa-hiking:before { - content: "\f6ec"; -} -.fa-hippo:before { - content: "\f6ed"; -} -.fa-hips:before { - content: "\f452"; -} -.fa-hire-a-helper:before { - content: "\f3b0"; -} -.fa-history:before { - content: "\f1da"; -} -.fa-hockey-puck:before { - content: "\f453"; -} -.fa-holly-berry:before { - content: "\f7aa"; -} -.fa-home:before { - content: "\f015"; -} -.fa-hooli:before { - content: "\f427"; -} -.fa-hornbill:before { - content: "\f592"; -} -.fa-horse:before { - content: "\f6f0"; -} -.fa-horse-head:before { - content: "\f7ab"; -} -.fa-hospital:before { - content: "\f0f8"; -} -.fa-hospital-alt:before { - content: "\f47d"; -} -.fa-hospital-symbol:before { - content: "\f47e"; -} -.fa-hot-tub:before { - content: "\f593"; -} -.fa-hotdog:before { - content: "\f80f"; -} -.fa-hotel:before { - content: "\f594"; -} -.fa-hotjar:before { - content: "\f3b1"; -} -.fa-hourglass:before { - content: "\f254"; -} -.fa-hourglass-end:before { - content: "\f253"; -} -.fa-hourglass-half:before { - content: "\f252"; -} -.fa-hourglass-start:before { - content: "\f251"; -} -.fa-house-damage:before { - content: "\f6f1"; -} -.fa-houzz:before { - content: "\f27c"; -} -.fa-hryvnia:before { - content: "\f6f2"; -} -.fa-html5:before { - content: "\f13b"; -} -.fa-hubspot:before { - content: "\f3b2"; -} -.fa-i-cursor:before { - content: "\f246"; -} -.fa-ice-cream:before { - content: "\f810"; -} -.fa-icicles:before { - content: "\f7ad"; -} -.fa-icons:before { - content: "\f86d"; -} -.fa-id-badge:before { - content: "\f2c1"; -} -.fa-id-card:before { - content: "\f2c2"; -} -.fa-id-card-alt:before { - content: "\f47f"; -} -.fa-igloo:before { - content: "\f7ae"; -} -.fa-image:before { - content: "\f03e"; -} -.fa-images:before { - content: "\f302"; -} -.fa-imdb:before { - content: "\f2d8"; -} -.fa-inbox:before { - content: "\f01c"; -} -.fa-indent:before { - content: "\f03c"; -} -.fa-industry:before { - content: "\f275"; -} -.fa-infinity:before { - content: "\f534"; -} -.fa-info:before { - content: "\f129"; -} -.fa-info-circle:before { - content: "\f05a"; -} -.fa-instagram:before { - content: "\f16d"; -} -.fa-intercom:before { - content: "\f7af"; -} -.fa-internet-explorer:before { - content: "\f26b"; -} -.fa-invision:before { - content: "\f7b0"; -} -.fa-ioxhost:before { - content: "\f208"; -} -.fa-italic:before { - content: "\f033"; -} -.fa-itch-io:before { - content: "\f83a"; -} -.fa-itunes:before { - content: "\f3b4"; -} -.fa-itunes-note:before { - content: "\f3b5"; -} -.fa-java:before { - content: "\f4e4"; -} -.fa-jedi:before { - content: "\f669"; -} -.fa-jedi-order:before { - content: "\f50e"; -} -.fa-jenkins:before { - content: "\f3b6"; -} -.fa-jira:before { - content: "\f7b1"; -} -.fa-joget:before { - content: "\f3b7"; -} -.fa-joint:before { - content: "\f595"; -} -.fa-joomla:before { - content: "\f1aa"; -} -.fa-journal-whills:before { - content: "\f66a"; -} -.fa-js:before { - content: "\f3b8"; -} -.fa-js-square:before { - content: "\f3b9"; -} -.fa-jsfiddle:before { - content: "\f1cc"; -} -.fa-kaaba:before { - content: "\f66b"; -} -.fa-kaggle:before { - content: "\f5fa"; -} -.fa-key:before { - content: "\f084"; -} -.fa-keybase:before { - content: "\f4f5"; -} -.fa-keyboard:before { - content: "\f11c"; -} -.fa-keycdn:before { - content: "\f3ba"; -} -.fa-khanda:before { - content: "\f66d"; -} -.fa-kickstarter:before { - content: "\f3bb"; -} -.fa-kickstarter-k:before { - content: "\f3bc"; -} -.fa-kiss:before { - content: "\f596"; -} -.fa-kiss-beam:before { - content: "\f597"; -} -.fa-kiss-wink-heart:before { - content: "\f598"; -} -.fa-kiwi-bird:before { - content: "\f535"; -} -.fa-korvue:before { - content: "\f42f"; -} -.fa-landmark:before { - content: "\f66f"; -} -.fa-language:before { - content: "\f1ab"; -} -.fa-laptop:before { - content: "\f109"; -} -.fa-laptop-code:before { - content: "\f5fc"; -} -.fa-laptop-medical:before { - content: "\f812"; -} -.fa-laravel:before { - content: "\f3bd"; -} -.fa-lastfm:before { - content: "\f202"; -} -.fa-lastfm-square:before { - content: "\f203"; -} -.fa-laugh:before { - content: "\f599"; -} -.fa-laugh-beam:before { - content: "\f59a"; -} -.fa-laugh-squint:before { - content: "\f59b"; -} -.fa-laugh-wink:before { - content: "\f59c"; -} -.fa-layer-group:before { - content: "\f5fd"; -} -.fa-leaf:before { - content: "\f06c"; -} -.fa-leanpub:before { - content: "\f212"; -} -.fa-lemon:before { - content: "\f094"; -} -.fa-less:before { - content: "\f41d"; -} -.fa-less-than:before { - content: "\f536"; -} -.fa-less-than-equal:before { - content: "\f537"; -} -.fa-level-down-alt:before { - content: "\f3be"; -} -.fa-level-up-alt:before { - content: "\f3bf"; -} -.fa-life-ring:before { - content: "\f1cd"; -} -.fa-lightbulb:before { - content: "\f0eb"; -} -.fa-line:before { - content: "\f3c0"; -} -.fa-link:before { - content: "\f0c1"; -} -.fa-linkedin:before { - content: "\f08c"; -} -.fa-linkedin-in:before { - content: "\f0e1"; -} -.fa-linode:before { - content: "\f2b8"; -} -.fa-linux:before { - content: "\f17c"; -} -.fa-lira-sign:before { - content: "\f195"; -} -.fa-list:before { - content: "\f03a"; -} -.fa-list-alt:before { - content: "\f022"; -} -.fa-list-ol:before { - content: "\f0cb"; -} -.fa-list-ul:before { - content: "\f0ca"; -} -.fa-location-arrow:before { - content: "\f124"; -} -.fa-lock:before { - content: "\f023"; -} -.fa-lock-open:before { - content: "\f3c1"; -} -.fa-long-arrow-alt-down:before { - content: "\f309"; -} -.fa-long-arrow-alt-left:before { - content: "\f30a"; -} -.fa-long-arrow-alt-right:before { - content: "\f30b"; -} -.fa-long-arrow-alt-up:before { - content: "\f30c"; -} -.fa-low-vision:before { - content: "\f2a8"; -} -.fa-luggage-cart:before { - content: "\f59d"; -} -.fa-lyft:before { - content: "\f3c3"; -} -.fa-magento:before { - content: "\f3c4"; -} -.fa-magic:before { - content: "\f0d0"; -} -.fa-magnet:before { - content: "\f076"; -} -.fa-mail-bulk:before { - content: "\f674"; -} -.fa-mailchimp:before { - content: "\f59e"; -} -.fa-male:before { - content: "\f183"; -} -.fa-mandalorian:before { - content: "\f50f"; -} -.fa-map:before { - content: "\f279"; -} -.fa-map-marked:before { - content: "\f59f"; -} -.fa-map-marked-alt:before { - content: "\f5a0"; -} -.fa-map-marker:before { - content: "\f041"; -} -.fa-map-marker-alt:before { - content: "\f3c5"; -} -.fa-map-pin:before { - content: "\f276"; -} -.fa-map-signs:before { - content: "\f277"; -} -.fa-markdown:before { - content: "\f60f"; -} -.fa-marker:before { - content: "\f5a1"; -} -.fa-mars:before { - content: "\f222"; -} -.fa-mars-double:before { - content: "\f227"; -} -.fa-mars-stroke:before { - content: "\f229"; -} -.fa-mars-stroke-h:before { - content: "\f22b"; -} -.fa-mars-stroke-v:before { - content: "\f22a"; -} -.fa-mask:before { - content: "\f6fa"; -} -.fa-mastodon:before { - content: "\f4f6"; -} -.fa-maxcdn:before { - content: "\f136"; -} -.fa-medal:before { - content: "\f5a2"; -} -.fa-medapps:before { - content: "\f3c6"; -} -.fa-medium:before { - content: "\f23a"; -} -.fa-medium-m:before { - content: "\f3c7"; -} -.fa-medkit:before { - content: "\f0fa"; -} -.fa-medrt:before { - content: "\f3c8"; -} -.fa-meetup:before { - content: "\f2e0"; -} -.fa-megaport:before { - content: "\f5a3"; -} -.fa-meh:before { - content: "\f11a"; -} -.fa-meh-blank:before { - content: "\f5a4"; -} -.fa-meh-rolling-eyes:before { - content: "\f5a5"; -} -.fa-memory:before { - content: "\f538"; -} -.fa-mendeley:before { - content: "\f7b3"; -} -.fa-menorah:before { - content: "\f676"; -} -.fa-mercury:before { - content: "\f223"; -} -.fa-meteor:before { - content: "\f753"; -} -.fa-microchip:before { - content: "\f2db"; -} -.fa-microphone:before { - content: "\f130"; -} -.fa-microphone-alt:before { - content: "\f3c9"; -} -.fa-microphone-alt-slash:before { - content: "\f539"; -} -.fa-microphone-slash:before { - content: "\f131"; -} -.fa-microscope:before { - content: "\f610"; -} -.fa-microsoft:before { - content: "\f3ca"; -} -.fa-minus:before { - content: "\f068"; -} -.fa-minus-circle:before { - content: "\f056"; -} -.fa-minus-square:before { - content: "\f146"; -} -.fa-mitten:before { - content: "\f7b5"; -} -.fa-mix:before { - content: "\f3cb"; -} -.fa-mixcloud:before { - content: "\f289"; -} -.fa-mizuni:before { - content: "\f3cc"; -} -.fa-mobile:before { - content: "\f10b"; -} -.fa-mobile-alt:before { - content: "\f3cd"; -} -.fa-modx:before { - content: "\f285"; -} -.fa-monero:before { - content: "\f3d0"; -} -.fa-money-bill:before { - content: "\f0d6"; -} -.fa-money-bill-alt:before { - content: "\f3d1"; -} -.fa-money-bill-wave:before { - content: "\f53a"; -} -.fa-money-bill-wave-alt:before { - content: "\f53b"; -} -.fa-money-check:before { - content: "\f53c"; -} -.fa-money-check-alt:before { - content: "\f53d"; -} -.fa-monument:before { - content: "\f5a6"; -} -.fa-moon:before { - content: "\f186"; -} -.fa-mortar-pestle:before { - content: "\f5a7"; -} -.fa-mosque:before { - content: "\f678"; -} -.fa-motorcycle:before { - content: "\f21c"; -} -.fa-mountain:before { - content: "\f6fc"; -} -.fa-mouse-pointer:before { - content: "\f245"; -} -.fa-mug-hot:before { - content: "\f7b6"; -} -.fa-music:before { - content: "\f001"; -} -.fa-napster:before { - content: "\f3d2"; -} -.fa-neos:before { - content: "\f612"; -} -.fa-network-wired:before { - content: "\f6ff"; -} -.fa-neuter:before { - content: "\f22c"; -} -.fa-newspaper:before { - content: "\f1ea"; -} -.fa-nimblr:before { - content: "\f5a8"; -} -.fa-node:before { - content: "\f419"; -} -.fa-node-js:before { - content: "\f3d3"; -} -.fa-not-equal:before { - content: "\f53e"; -} -.fa-notes-medical:before { - content: "\f481"; -} -.fa-npm:before { - content: "\f3d4"; -} -.fa-ns8:before { - content: "\f3d5"; -} -.fa-nutritionix:before { - content: "\f3d6"; -} -.fa-object-group:before { - content: "\f247"; -} -.fa-object-ungroup:before { - content: "\f248"; -} -.fa-odnoklassniki:before { - content: "\f263"; -} -.fa-odnoklassniki-square:before { - content: "\f264"; -} -.fa-oil-can:before { - content: "\f613"; -} -.fa-old-republic:before { - content: "\f510"; -} -.fa-om:before { - content: "\f679"; -} -.fa-opencart:before { - content: "\f23d"; -} -.fa-openid:before { - content: "\f19b"; -} -.fa-opera:before { - content: "\f26a"; -} -.fa-optin-monster:before { - content: "\f23c"; -} -.fa-osi:before { - content: "\f41a"; -} -.fa-otter:before { - content: "\f700"; -} -.fa-outdent:before { - content: "\f03b"; -} -.fa-page4:before { - content: "\f3d7"; -} -.fa-pagelines:before { - content: "\f18c"; -} -.fa-pager:before { - content: "\f815"; -} -.fa-paint-brush:before { - content: "\f1fc"; -} -.fa-paint-roller:before { - content: "\f5aa"; -} -.fa-palette:before { - content: "\f53f"; -} -.fa-palfed:before { - content: "\f3d8"; -} -.fa-pallet:before { - content: "\f482"; -} -.fa-paper-plane:before { - content: "\f1d8"; -} -.fa-paperclip:before { - content: "\f0c6"; -} -.fa-parachute-box:before { - content: "\f4cd"; -} -.fa-paragraph:before { - content: "\f1dd"; -} -.fa-parking:before { - content: "\f540"; -} -.fa-passport:before { - content: "\f5ab"; -} -.fa-pastafarianism:before { - content: "\f67b"; -} -.fa-paste:before { - content: "\f0ea"; -} -.fa-patreon:before { - content: "\f3d9"; -} -.fa-pause:before { - content: "\f04c"; -} -.fa-pause-circle:before { - content: "\f28b"; -} -.fa-paw:before { - content: "\f1b0"; -} -.fa-paypal:before { - content: "\f1ed"; -} -.fa-peace:before { - content: "\f67c"; -} -.fa-pen:before { - content: "\f304"; -} -.fa-pen-alt:before { - content: "\f305"; -} -.fa-pen-fancy:before { - content: "\f5ac"; -} -.fa-pen-nib:before { - content: "\f5ad"; -} -.fa-pen-square:before { - content: "\f14b"; -} -.fa-pencil-alt:before { - content: "\f303"; -} -.fa-pencil-ruler:before { - content: "\f5ae"; -} -.fa-penny-arcade:before { - content: "\f704"; -} -.fa-people-carry:before { - content: "\f4ce"; -} -.fa-pepper-hot:before { - content: "\f816"; -} -.fa-percent:before { - content: "\f295"; -} -.fa-percentage:before { - content: "\f541"; -} -.fa-periscope:before { - content: "\f3da"; -} -.fa-person-booth:before { - content: "\f756"; -} -.fa-phabricator:before { - content: "\f3db"; -} -.fa-phoenix-framework:before { - content: "\f3dc"; -} -.fa-phoenix-squadron:before { - content: "\f511"; -} -.fa-phone:before { - content: "\f095"; -} -.fa-phone-alt:before { - content: "\f879"; -} -.fa-phone-slash:before { - content: "\f3dd"; -} -.fa-phone-square:before { - content: "\f098"; -} -.fa-phone-square-alt:before { - content: "\f87b"; -} -.fa-phone-volume:before { - content: "\f2a0"; -} -.fa-photo-video:before { - content: "\f87c"; -} -.fa-php:before { - content: "\f457"; -} -.fa-pied-piper:before { - content: "\f2ae"; -} -.fa-pied-piper-alt:before { - content: "\f1a8"; -} -.fa-pied-piper-hat:before { - content: "\f4e5"; -} -.fa-pied-piper-pp:before { - content: "\f1a7"; -} -.fa-piggy-bank:before { - content: "\f4d3"; -} -.fa-pills:before { - content: "\f484"; -} -.fa-pinterest:before { - content: "\f0d2"; -} -.fa-pinterest-p:before { - content: "\f231"; -} -.fa-pinterest-square:before { - content: "\f0d3"; -} -.fa-pizza-slice:before { - content: "\f818"; -} -.fa-place-of-worship:before { - content: "\f67f"; -} -.fa-plane:before { - content: "\f072"; -} -.fa-plane-arrival:before { - content: "\f5af"; -} -.fa-plane-departure:before { - content: "\f5b0"; -} -.fa-play:before { - content: "\f04b"; -} -.fa-play-circle:before { - content: "\f144"; -} -.fa-playstation:before { - content: "\f3df"; -} -.fa-plug:before { - content: "\f1e6"; -} -.fa-plus:before { - content: "\f067"; -} -.fa-plus-circle:before { - content: "\f055"; -} -.fa-plus-square:before { - content: "\f0fe"; -} -.fa-podcast:before { - content: "\f2ce"; -} -.fa-poll:before { - content: "\f681"; -} -.fa-poll-h:before { - content: "\f682"; -} -.fa-poo:before { - content: "\f2fe"; -} -.fa-poo-storm:before { - content: "\f75a"; -} -.fa-poop:before { - content: "\f619"; -} -.fa-portrait:before { - content: "\f3e0"; -} -.fa-pound-sign:before { - content: "\f154"; -} -.fa-power-off:before { - content: "\f011"; -} -.fa-pray:before { - content: "\f683"; -} -.fa-praying-hands:before { - content: "\f684"; -} -.fa-prescription:before { - content: "\f5b1"; -} -.fa-prescription-bottle:before { - content: "\f485"; -} -.fa-prescription-bottle-alt:before { - content: "\f486"; -} -.fa-print:before { - content: "\f02f"; -} -.fa-procedures:before { - content: "\f487"; -} -.fa-product-hunt:before { - content: "\f288"; -} -.fa-project-diagram:before { - content: "\f542"; -} -.fa-pushed:before { - content: "\f3e1"; -} -.fa-puzzle-piece:before { - content: "\f12e"; -} -.fa-python:before { - content: "\f3e2"; -} -.fa-qq:before { - content: "\f1d6"; -} -.fa-qrcode:before { - content: "\f029"; -} -.fa-question:before { - content: "\f128"; -} -.fa-question-circle:before { - content: "\f059"; -} -.fa-quidditch:before { - content: "\f458"; -} -.fa-quinscape:before { - content: "\f459"; -} -.fa-quora:before { - content: "\f2c4"; -} -.fa-quote-left:before { - content: "\f10d"; -} -.fa-quote-right:before { - content: "\f10e"; -} -.fa-quran:before { - content: "\f687"; -} -.fa-r-project:before { - content: "\f4f7"; -} -.fa-radiation:before { - content: "\f7b9"; -} -.fa-radiation-alt:before { - content: "\f7ba"; -} -.fa-rainbow:before { - content: "\f75b"; -} -.fa-random:before { - content: "\f074"; -} -.fa-raspberry-pi:before { - content: "\f7bb"; -} -.fa-ravelry:before { - content: "\f2d9"; -} -.fa-react:before { - content: "\f41b"; -} -.fa-reacteurope:before { - content: "\f75d"; -} -.fa-readme:before { - content: "\f4d5"; -} -.fa-rebel:before { - content: "\f1d0"; -} -.fa-receipt:before { - content: "\f543"; -} -.fa-recycle:before { - content: "\f1b8"; -} -.fa-red-river:before { - content: "\f3e3"; -} -.fa-reddit:before { - content: "\f1a1"; -} -.fa-reddit-alien:before { - content: "\f281"; -} -.fa-reddit-square:before { - content: "\f1a2"; -} -.fa-redhat:before { - content: "\f7bc"; -} -.fa-redo:before { - content: "\f01e"; -} -.fa-redo-alt:before { - content: "\f2f9"; -} -.fa-registered:before { - content: "\f25d"; -} -.fa-remove-format:before { - content: "\f87d"; -} -.fa-renren:before { - content: "\f18b"; -} -.fa-reply:before { - content: "\f3e5"; -} -.fa-reply-all:before { - content: "\f122"; -} -.fa-replyd:before { - content: "\f3e6"; -} -.fa-republican:before { - content: "\f75e"; -} -.fa-researchgate:before { - content: "\f4f8"; -} -.fa-resolving:before { - content: "\f3e7"; -} -.fa-restroom:before { - content: "\f7bd"; -} -.fa-retweet:before { - content: "\f079"; -} -.fa-rev:before { - content: "\f5b2"; -} -.fa-ribbon:before { - content: "\f4d6"; -} -.fa-ring:before { - content: "\f70b"; -} -.fa-road:before { - content: "\f018"; -} -.fa-robot:before { - content: "\f544"; -} -.fa-rocket:before { - content: "\f135"; -} -.fa-rocketchat:before { - content: "\f3e8"; -} -.fa-rockrms:before { - content: "\f3e9"; -} -.fa-route:before { - content: "\f4d7"; -} -.fa-rss:before { - content: "\f09e"; -} -.fa-rss-square:before { - content: "\f143"; -} -.fa-ruble-sign:before { - content: "\f158"; -} -.fa-ruler:before { - content: "\f545"; -} -.fa-ruler-combined:before { - content: "\f546"; -} -.fa-ruler-horizontal:before { - content: "\f547"; -} -.fa-ruler-vertical:before { - content: "\f548"; -} -.fa-running:before { - content: "\f70c"; -} -.fa-rupee-sign:before { - content: "\f156"; -} -.fa-sad-cry:before { - content: "\f5b3"; -} -.fa-sad-tear:before { - content: "\f5b4"; -} -.fa-safari:before { - content: "\f267"; -} -.fa-salesforce:before { - content: "\f83b"; -} -.fa-sass:before { - content: "\f41e"; -} -.fa-satellite:before { - content: "\f7bf"; -} -.fa-satellite-dish:before { - content: "\f7c0"; -} -.fa-save:before { - content: "\f0c7"; -} -.fa-schlix:before { - content: "\f3ea"; -} -.fa-school:before { - content: "\f549"; -} -.fa-screwdriver:before { - content: "\f54a"; -} -.fa-scribd:before { - content: "\f28a"; -} -.fa-scroll:before { - content: "\f70e"; -} -.fa-sd-card:before { - content: "\f7c2"; -} -.fa-search:before { - content: "\f002"; -} -.fa-search-dollar:before { - content: "\f688"; -} -.fa-search-location:before { - content: "\f689"; -} -.fa-search-minus:before { - content: "\f010"; -} -.fa-search-plus:before { - content: "\f00e"; -} -.fa-searchengin:before { - content: "\f3eb"; -} -.fa-seedling:before { - content: "\f4d8"; -} -.fa-sellcast:before { - content: "\f2da"; -} -.fa-sellsy:before { - content: "\f213"; -} -.fa-server:before { - content: "\f233"; -} -.fa-servicestack:before { - content: "\f3ec"; -} -.fa-shapes:before { - content: "\f61f"; -} -.fa-share:before { - content: "\f064"; -} -.fa-share-alt:before { - content: "\f1e0"; -} -.fa-share-alt-square:before { - content: "\f1e1"; -} -.fa-share-square:before { - content: "\f14d"; -} -.fa-shekel-sign:before { - content: "\f20b"; -} -.fa-shield-alt:before { - content: "\f3ed"; -} -.fa-ship:before { - content: "\f21a"; -} -.fa-shipping-fast:before { - content: "\f48b"; -} -.fa-shirtsinbulk:before { - content: "\f214"; -} -.fa-shoe-prints:before { - content: "\f54b"; -} -.fa-shopping-bag:before { - content: "\f290"; -} -.fa-shopping-basket:before { - content: "\f291"; -} -.fa-shopping-cart:before { - content: "\f07a"; -} -.fa-shopware:before { - content: "\f5b5"; -} -.fa-shower:before { - content: "\f2cc"; -} -.fa-shuttle-van:before { - content: "\f5b6"; -} -.fa-sign:before { - content: "\f4d9"; -} -.fa-sign-in-alt:before { - content: "\f2f6"; -} -.fa-sign-language:before { - content: "\f2a7"; -} -.fa-sign-out-alt:before { - content: "\f2f5"; -} -.fa-signal:before { - content: "\f012"; -} -.fa-signature:before { - content: "\f5b7"; -} -.fa-sim-card:before { - content: "\f7c4"; -} -.fa-simplybuilt:before { - content: "\f215"; -} -.fa-sistrix:before { - content: "\f3ee"; -} -.fa-sitemap:before { - content: "\f0e8"; -} -.fa-sith:before { - content: "\f512"; -} -.fa-skating:before { - content: "\f7c5"; -} -.fa-sketch:before { - content: "\f7c6"; -} -.fa-skiing:before { - content: "\f7c9"; -} -.fa-skiing-nordic:before { - content: "\f7ca"; -} -.fa-skull:before { - content: "\f54c"; -} -.fa-skull-crossbones:before { - content: "\f714"; -} -.fa-skyatlas:before { - content: "\f216"; -} -.fa-skype:before { - content: "\f17e"; -} -.fa-slack:before { - content: "\f198"; -} -.fa-slack-hash:before { - content: "\f3ef"; -} -.fa-slash:before { - content: "\f715"; -} -.fa-sleigh:before { - content: "\f7cc"; -} -.fa-sliders-h:before { - content: "\f1de"; -} -.fa-slideshare:before { - content: "\f1e7"; -} -.fa-smile:before { - content: "\f118"; -} -.fa-smile-beam:before { - content: "\f5b8"; -} -.fa-smile-wink:before { - content: "\f4da"; -} -.fa-smog:before { - content: "\f75f"; -} -.fa-smoking:before { - content: "\f48d"; -} -.fa-smoking-ban:before { - content: "\f54d"; -} -.fa-sms:before { - content: "\f7cd"; -} -.fa-snapchat:before { - content: "\f2ab"; -} -.fa-snapchat-ghost:before { - content: "\f2ac"; -} -.fa-snapchat-square:before { - content: "\f2ad"; -} -.fa-snowboarding:before { - content: "\f7ce"; -} -.fa-snowflake:before { - content: "\f2dc"; -} -.fa-snowman:before { - content: "\f7d0"; -} -.fa-snowplow:before { - content: "\f7d2"; -} -.fa-socks:before { - content: "\f696"; -} -.fa-solar-panel:before { - content: "\f5ba"; -} -.fa-sort:before { - content: "\f0dc"; -} -.fa-sort-alpha-down:before { - content: "\f15d"; -} -.fa-sort-alpha-down-alt:before { - content: "\f881"; -} -.fa-sort-alpha-up:before { - content: "\f15e"; -} -.fa-sort-alpha-up-alt:before { - content: "\f882"; -} -.fa-sort-amount-down:before { - content: "\f160"; -} -.fa-sort-amount-down-alt:before { - content: "\f884"; -} -.fa-sort-amount-up:before { - content: "\f161"; -} -.fa-sort-amount-up-alt:before { - content: "\f885"; -} -.fa-sort-down:before { - content: "\f0dd"; -} -.fa-sort-numeric-down:before { - content: "\f162"; -} -.fa-sort-numeric-down-alt:before { - content: "\f886"; -} -.fa-sort-numeric-up:before { - content: "\f163"; -} -.fa-sort-numeric-up-alt:before { - content: "\f887"; -} -.fa-sort-up:before { - content: "\f0de"; -} -.fa-soundcloud:before { - content: "\f1be"; -} -.fa-sourcetree:before { - content: "\f7d3"; -} -.fa-spa:before { - content: "\f5bb"; -} -.fa-space-shuttle:before { - content: "\f197"; -} -.fa-speakap:before { - content: "\f3f3"; -} -.fa-speaker-deck:before { - content: "\f83c"; -} -.fa-spell-check:before { - content: "\f891"; -} -.fa-spider:before { - content: "\f717"; -} -.fa-spinner:before { - content: "\f110"; -} -.fa-splotch:before { - content: "\f5bc"; -} -.fa-spotify:before { - content: "\f1bc"; -} -.fa-spray-can:before { - content: "\f5bd"; -} -.fa-square:before { - content: "\f0c8"; -} -.fa-square-full:before { - content: "\f45c"; -} -.fa-square-root-alt:before { - content: "\f698"; -} -.fa-squarespace:before { - content: "\f5be"; -} -.fa-stack-exchange:before { - content: "\f18d"; -} -.fa-stack-overflow:before { - content: "\f16c"; -} -.fa-stackpath:before { - content: "\f842"; -} -.fa-stamp:before { - content: "\f5bf"; -} -.fa-star:before { - content: "\f005"; -} -.fa-star-and-crescent:before { - content: "\f699"; -} -.fa-star-half:before { - content: "\f089"; -} -.fa-star-half-alt:before { - content: "\f5c0"; -} -.fa-star-of-david:before { - content: "\f69a"; -} -.fa-star-of-life:before { - content: "\f621"; -} -.fa-staylinked:before { - content: "\f3f5"; -} -.fa-steam:before { - content: "\f1b6"; -} -.fa-steam-square:before { - content: "\f1b7"; -} -.fa-steam-symbol:before { - content: "\f3f6"; -} -.fa-step-backward:before { - content: "\f048"; -} -.fa-step-forward:before { - content: "\f051"; -} -.fa-stethoscope:before { - content: "\f0f1"; -} -.fa-sticker-mule:before { - content: "\f3f7"; -} -.fa-sticky-note:before { - content: "\f249"; -} -.fa-stop:before { - content: "\f04d"; -} -.fa-stop-circle:before { - content: "\f28d"; -} -.fa-stopwatch:before { - content: "\f2f2"; -} -.fa-store:before { - content: "\f54e"; -} -.fa-store-alt:before { - content: "\f54f"; -} -.fa-strava:before { - content: "\f428"; -} -.fa-stream:before { - content: "\f550"; -} -.fa-street-view:before { - content: "\f21d"; -} -.fa-strikethrough:before { - content: "\f0cc"; -} -.fa-stripe:before { - content: "\f429"; -} -.fa-stripe-s:before { - content: "\f42a"; -} -.fa-stroopwafel:before { - content: "\f551"; -} -.fa-studiovinari:before { - content: "\f3f8"; -} -.fa-stumbleupon:before { - content: "\f1a4"; -} -.fa-stumbleupon-circle:before { - content: "\f1a3"; -} -.fa-subscript:before { - content: "\f12c"; -} -.fa-subway:before { - content: "\f239"; -} -.fa-suitcase:before { - content: "\f0f2"; -} -.fa-suitcase-rolling:before { - content: "\f5c1"; -} -.fa-sun:before { - content: "\f185"; -} -.fa-superpowers:before { - content: "\f2dd"; -} -.fa-superscript:before { - content: "\f12b"; -} -.fa-supple:before { - content: "\f3f9"; -} -.fa-surprise:before { - content: "\f5c2"; -} -.fa-suse:before { - content: "\f7d6"; -} -.fa-swatchbook:before { - content: "\f5c3"; -} -.fa-swimmer:before { - content: "\f5c4"; -} -.fa-swimming-pool:before { - content: "\f5c5"; -} -.fa-symfony:before { - content: "\f83d"; -} -.fa-synagogue:before { - content: "\f69b"; -} -.fa-sync:before { - content: "\f021"; -} -.fa-sync-alt:before { - content: "\f2f1"; -} -.fa-syringe:before { - content: "\f48e"; -} -.fa-table:before { - content: "\f0ce"; -} -.fa-table-tennis:before { - content: "\f45d"; -} -.fa-tablet:before { - content: "\f10a"; -} -.fa-tablet-alt:before { - content: "\f3fa"; -} -.fa-tablets:before { - content: "\f490"; -} -.fa-tachometer-alt:before { - content: "\f3fd"; -} -.fa-tag:before { - content: "\f02b"; -} -.fa-tags:before { - content: "\f02c"; -} -.fa-tape:before { - content: "\f4db"; -} -.fa-tasks:before { - content: "\f0ae"; -} -.fa-taxi:before { - content: "\f1ba"; -} -.fa-teamspeak:before { - content: "\f4f9"; -} -.fa-teeth:before { - content: "\f62e"; -} -.fa-teeth-open:before { - content: "\f62f"; -} -.fa-telegram:before { - content: "\f2c6"; -} -.fa-telegram-plane:before { - content: "\f3fe"; -} -.fa-temperature-high:before { - content: "\f769"; -} -.fa-temperature-low:before { - content: "\f76b"; -} -.fa-tencent-weibo:before { - content: "\f1d5"; -} -.fa-tenge:before { - content: "\f7d7"; -} -.fa-terminal:before { - content: "\f120"; -} -.fa-text-height:before { - content: "\f034"; -} -.fa-text-width:before { - content: "\f035"; -} -.fa-th:before { - content: "\f00a"; -} -.fa-th-large:before { - content: "\f009"; -} -.fa-th-list:before { - content: "\f00b"; -} -.fa-the-red-yeti:before { - content: "\f69d"; -} -.fa-theater-masks:before { - content: "\f630"; -} -.fa-themeco:before { - content: "\f5c6"; -} -.fa-themeisle:before { - content: "\f2b2"; -} -.fa-thermometer:before { - content: "\f491"; -} -.fa-thermometer-empty:before { - content: "\f2cb"; -} -.fa-thermometer-full:before { - content: "\f2c7"; -} -.fa-thermometer-half:before { - content: "\f2c9"; -} -.fa-thermometer-quarter:before { - content: "\f2ca"; -} -.fa-thermometer-three-quarters:before { - content: "\f2c8"; -} -.fa-think-peaks:before { - content: "\f731"; -} -.fa-thumbs-down:before { - content: "\f165"; -} -.fa-thumbs-up:before { - content: "\f164"; -} -.fa-thumbtack:before { - content: "\f08d"; -} -.fa-ticket-alt:before { - content: "\f3ff"; -} -.fa-times:before { - content: "\f00d"; -} -.fa-times-circle:before { - content: "\f057"; -} -.fa-tint:before { - content: "\f043"; -} -.fa-tint-slash:before { - content: "\f5c7"; -} -.fa-tired:before { - content: "\f5c8"; -} -.fa-toggle-off:before { - content: "\f204"; -} -.fa-toggle-on:before { - content: "\f205"; -} -.fa-toilet:before { - content: "\f7d8"; -} -.fa-toilet-paper:before { - content: "\f71e"; -} -.fa-toolbox:before { - content: "\f552"; -} -.fa-tools:before { - content: "\f7d9"; -} -.fa-tooth:before { - content: "\f5c9"; -} -.fa-torah:before { - content: "\f6a0"; -} -.fa-torii-gate:before { - content: "\f6a1"; -} -.fa-tractor:before { - content: "\f722"; -} -.fa-trade-federation:before { - content: "\f513"; -} -.fa-trademark:before { - content: "\f25c"; -} -.fa-traffic-light:before { - content: "\f637"; -} -.fa-train:before { - content: "\f238"; -} -.fa-tram:before { - content: "\f7da"; -} -.fa-transgender:before { - content: "\f224"; -} -.fa-transgender-alt:before { - content: "\f225"; -} -.fa-trash:before { - content: "\f1f8"; -} -.fa-trash-alt:before { - content: "\f2ed"; -} -.fa-trash-restore:before { - content: "\f829"; -} -.fa-trash-restore-alt:before { - content: "\f82a"; -} -.fa-tree:before { - content: "\f1bb"; -} -.fa-trello:before { - content: "\f181"; -} -.fa-tripadvisor:before { - content: "\f262"; -} -.fa-trophy:before { - content: "\f091"; -} -.fa-truck:before { - content: "\f0d1"; -} -.fa-truck-loading:before { - content: "\f4de"; -} -.fa-truck-monster:before { - content: "\f63b"; -} -.fa-truck-moving:before { - content: "\f4df"; -} -.fa-truck-pickup:before { - content: "\f63c"; -} -.fa-tshirt:before { - content: "\f553"; -} -.fa-tty:before { - content: "\f1e4"; -} -.fa-tumblr:before { - content: "\f173"; -} -.fa-tumblr-square:before { - content: "\f174"; -} -.fa-tv:before { - content: "\f26c"; -} -.fa-twitch:before { - content: "\f1e8"; -} -.fa-twitter:before { - content: "\f099"; -} -.fa-twitter-square:before { - content: "\f081"; -} -.fa-typo3:before { - content: "\f42b"; -} -.fa-uber:before { - content: "\f402"; -} -.fa-ubuntu:before { - content: "\f7df"; -} -.fa-uikit:before { - content: "\f403"; -} -.fa-umbrella:before { - content: "\f0e9"; -} -.fa-umbrella-beach:before { - content: "\f5ca"; -} -.fa-underline:before { - content: "\f0cd"; -} -.fa-undo:before { - content: "\f0e2"; -} -.fa-undo-alt:before { - content: "\f2ea"; -} -.fa-uniregistry:before { - content: "\f404"; -} -.fa-universal-access:before { - content: "\f29a"; -} -.fa-university:before { - content: "\f19c"; -} -.fa-unlink:before { - content: "\f127"; -} -.fa-unlock:before { - content: "\f09c"; -} -.fa-unlock-alt:before { - content: "\f13e"; -} -.fa-untappd:before { - content: "\f405"; -} -.fa-upload:before { - content: "\f093"; -} -.fa-ups:before { - content: "\f7e0"; -} -.fa-usb:before { - content: "\f287"; -} -.fa-user:before { - content: "\f007"; -} -.fa-user-alt:before { - content: "\f406"; -} -.fa-user-alt-slash:before { - content: "\f4fa"; -} -.fa-user-astronaut:before { - content: "\f4fb"; -} -.fa-user-check:before { - content: "\f4fc"; -} -.fa-user-circle:before { - content: "\f2bd"; -} -.fa-user-clock:before { - content: "\f4fd"; -} -.fa-user-cog:before { - content: "\f4fe"; -} -.fa-user-edit:before { - content: "\f4ff"; -} -.fa-user-friends:before { - content: "\f500"; -} -.fa-user-graduate:before { - content: "\f501"; -} -.fa-user-injured:before { - content: "\f728"; -} -.fa-user-lock:before { - content: "\f502"; -} -.fa-user-md:before { - content: "\f0f0"; -} -.fa-user-minus:before { - content: "\f503"; -} -.fa-user-ninja:before { - content: "\f504"; -} -.fa-user-nurse:before { - content: "\f82f"; -} -.fa-user-plus:before { - content: "\f234"; -} -.fa-user-secret:before { - content: "\f21b"; -} -.fa-user-shield:before { - content: "\f505"; -} -.fa-user-slash:before { - content: "\f506"; -} -.fa-user-tag:before { - content: "\f507"; -} -.fa-user-tie:before { - content: "\f508"; -} -.fa-user-times:before { - content: "\f235"; -} -.fa-users:before { - content: "\f0c0"; -} -.fa-users-cog:before { - content: "\f509"; -} -.fa-usps:before { - content: "\f7e1"; -} -.fa-ussunnah:before { - content: "\f407"; -} -.fa-utensil-spoon:before { - content: "\f2e5"; -} -.fa-utensils:before { - content: "\f2e7"; -} -.fa-vaadin:before { - content: "\f408"; -} -.fa-vector-square:before { - content: "\f5cb"; -} -.fa-venus:before { - content: "\f221"; -} -.fa-venus-double:before { - content: "\f226"; -} -.fa-venus-mars:before { - content: "\f228"; -} -.fa-viacoin:before { - content: "\f237"; -} -.fa-viadeo:before { - content: "\f2a9"; -} -.fa-viadeo-square:before { - content: "\f2aa"; -} -.fa-vial:before { - content: "\f492"; -} -.fa-vials:before { - content: "\f493"; -} -.fa-viber:before { - content: "\f409"; -} -.fa-video:before { - content: "\f03d"; -} -.fa-video-slash:before { - content: "\f4e2"; -} -.fa-vihara:before { - content: "\f6a7"; -} -.fa-vimeo:before { - content: "\f40a"; -} -.fa-vimeo-square:before { - content: "\f194"; -} -.fa-vimeo-v:before { - content: "\f27d"; -} -.fa-vine:before { - content: "\f1ca"; -} -.fa-vk:before { - content: "\f189"; -} -.fa-vnv:before { - content: "\f40b"; -} -.fa-voicemail:before { - content: "\f897"; -} -.fa-volleyball-ball:before { - content: "\f45f"; -} -.fa-volume-down:before { - content: "\f027"; -} -.fa-volume-mute:before { - content: "\f6a9"; -} -.fa-volume-off:before { - content: "\f026"; -} -.fa-volume-up:before { - content: "\f028"; -} -.fa-vote-yea:before { - content: "\f772"; -} -.fa-vr-cardboard:before { - content: "\f729"; -} -.fa-vuejs:before { - content: "\f41f"; -} -.fa-walking:before { - content: "\f554"; -} -.fa-wallet:before { - content: "\f555"; -} -.fa-warehouse:before { - content: "\f494"; -} -.fa-water:before { - content: "\f773"; -} -.fa-wave-square:before { - content: "\f83e"; -} -.fa-waze:before { - content: "\f83f"; -} -.fa-weebly:before { - content: "\f5cc"; -} -.fa-weibo:before { - content: "\f18a"; -} -.fa-weight:before { - content: "\f496"; -} -.fa-weight-hanging:before { - content: "\f5cd"; -} -.fa-weixin:before { - content: "\f1d7"; -} -.fa-whatsapp:before { - content: "\f232"; -} -.fa-whatsapp-square:before { - content: "\f40c"; -} -.fa-wheelchair:before { - content: "\f193"; -} -.fa-whmcs:before { - content: "\f40d"; -} -.fa-wifi:before { - content: "\f1eb"; -} -.fa-wikipedia-w:before { - content: "\f266"; -} -.fa-wind:before { - content: "\f72e"; -} -.fa-window-close:before { - content: "\f410"; -} -.fa-window-maximize:before { - content: "\f2d0"; -} -.fa-window-minimize:before { - content: "\f2d1"; -} -.fa-window-restore:before { - content: "\f2d2"; -} -.fa-windows:before { - content: "\f17a"; -} -.fa-wine-bottle:before { - content: "\f72f"; -} -.fa-wine-glass:before { - content: "\f4e3"; -} -.fa-wine-glass-alt:before { - content: "\f5ce"; -} -.fa-wix:before { - content: "\f5cf"; -} -.fa-wizards-of-the-coast:before { - content: "\f730"; -} -.fa-wolf-pack-battalion:before { - content: "\f514"; -} -.fa-won-sign:before { - content: "\f159"; -} -.fa-wordpress:before { - content: "\f19a"; -} -.fa-wordpress-simple:before { - content: "\f411"; -} -.fa-wpbeginner:before { - content: "\f297"; -} -.fa-wpexplorer:before { - content: "\f2de"; -} -.fa-wpforms:before { - content: "\f298"; -} -.fa-wpressr:before { - content: "\f3e4"; -} -.fa-wrench:before { - content: "\f0ad"; -} -.fa-x-ray:before { - content: "\f497"; -} -.fa-xbox:before { - content: "\f412"; -} -.fa-xing:before { - content: "\f168"; -} -.fa-xing-square:before { - content: "\f169"; -} -.fa-y-combinator:before { - content: "\f23b"; -} -.fa-yahoo:before { - content: "\f19e"; -} -.fa-yammer:before { - content: "\f840"; -} -.fa-yandex:before { - content: "\f413"; -} -.fa-yandex-international:before { - content: "\f414"; -} -.fa-yarn:before { - content: "\f7e3"; -} -.fa-yelp:before { - content: "\f1e9"; -} -.fa-yen-sign:before { - content: "\f157"; -} -.fa-yin-yang:before { - content: "\f6ad"; -} -.fa-yoast:before { - content: "\f2b1"; -} -.fa-youtube:before { - content: "\f167"; -} -.fa-youtube-square:before { - content: "\f431"; -} -.fa-zhihu:before { - content: "\f63f"; -} -.sr-only { - border: 0; - clip: rect(0, 0, 0, 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; -} -.sr-only-focusable:active, -.sr-only-focusable:focus { - clip: auto; - height: auto; - margin: 0; - overflow: visible; - position: static; - width: auto; -} -@font-face { - font-family: "Font Awesome 5 Free"; - font-style: normal; - font-weight: 400; - font-display: auto; - src: url(fa-regular-400.eot); - src: url(fa-regular-400.eot?#iefix) format("embedded-opentype"), - url(fa-regular-400.woff) format("woff"); -} -.far { - font-weight: 400; -} -@font-face { - font-family: "Font Awesome 5 Free"; - font-style: normal; - font-weight: 900; - font-display: auto; - src: url(fa-solid-900.eot); - src: url(fa-solid-900.eot?#iefix) format("embedded-opentype"), - url(fa-solid-900.woff) format("woff"); -} -.fa, -.far, -.fas { - font-family: "Font Awesome 5 Free"; -} -.fa, -.fas { - font-weight: 900; -} +.fa{font-family:"Font Awesome 6 Free";font-weight:900}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc( 2em*-1);position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border-radius:.1em;border:.08em solid #eee;padding:.2em .25em .15em}.fa-pull-left{float:left;margin-right:.3em}.fa-pull-right{float:right;margin-left:.3em}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:0;animation-delay:0;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:0;animation-delay:0;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:cubic-bezier(.28,.84,.42,1);animation-timing-function:cubic-bezier(.28,.84,.42,1)}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:cubic-bezier(.4,0,.6,1);animation-timing-function:cubic-bezier(.4,0,.6,1)}.fa-beat-fade,.fa-fade{-webkit-animation-delay:0;animation-delay:0;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1s;animation-duration:1s}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:cubic-bezier(.4,0,.6,1);animation-timing-function:cubic-bezier(.4,0,.6,1)}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:0;animation-delay:0;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.fa-shake,.fa-spin{-webkit-animation-delay:0;animation-delay:0;-webkit-animation-direction:normal;animation-direction:normal}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:normal;animation-direction:normal;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:steps(8);animation-timing-function:steps(8)}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(1.25);transform:scale(1.25)}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(1.25);transform:scale(1.25)}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(1.1,.9) translateY(0);transform:scale(1.1,.9) translateY(0)}30%{-webkit-transform:scale(.9,1.1) translateY(-.5em);transform:scale(.9,1.1) translateY(-.5em)}50%{-webkit-transform:scale(1.05,.95) translateY(0);transform:scale(1.05,.95) translateY(0)}57%{-webkit-transform:scale(1) translateY(-.125em);transform:scale(1) translateY(-.125em)}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(1.1,.9) translateY(0);transform:scale(1.1,.9) translateY(0)}30%{-webkit-transform:scale(.9,1.1) translateY(-.5em);transform:scale(.9,1.1) translateY(-.5em)}50%{-webkit-transform:scale(1.05,.95) translateY(0);transform:scale(1.05,.95) translateY(0)}57%{-webkit-transform:scale(1) translateY(-.125em);transform:scale(1) translateY(-.125em)}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:.4}}@keyframes fa-fade{50%{opacity:.4}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:.4;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(1.125);transform:scale(1.125)}}@keyframes fa-beat-fade{0%,to{opacity:.4;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(1.125);transform:scale(1.125)}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(0,1,0,-180deg);transform:rotate3d(0,1,0,-180deg)}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(0,1,0,-180deg);transform:rotate3d(0,1,0,-180deg)}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(none);transform:rotate(none)}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:auto}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-a:before{content:"\41"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-anchor:before{content:"\f13d"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-anchor-lock:before{content:"\e4ad"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-ankh:before{content:"\f644"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-archway:before{content:"\f557"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-arrow-trend-down:before{content:"\e097"}.fa-arrow-trend-up:before{content:"\e098"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-arrows-spin:before{content:"\e4bb"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-asterisk:before{content:"\2a"}.fa-at:before{content:"\40"}.fa-atom:before{content:"\f5d2"}.fa-audio-description:before{content:"\f29e"}.fa-austral-sign:before{content:"\e0a9"}.fa-award:before{content:"\f559"}.fa-b:before{content:"\42"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-backward:before{content:"\f04a"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-baht-sign:before{content:"\e0ac"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-barcode:before{content:"\f02a"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-bell:before{content:"\f0f3"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bicycle:before{content:"\f206"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blog:before{content:"\f781"}.fa-bold:before{content:"\f032"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-book-bookmark:before{content:"\e0bb"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-bookmark:before{content:"\f02e"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-bore-hole:before{content:"\e4c3"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-bottle-water:before{content:"\e4c5"}.fa-bowl-food:before{content:"\e4c6"}.fa-bowl-rice:before{content:"\e2eb"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes-packing:before{content:"\e4c7"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-bread-slice:before{content:"\f7ec"}.fa-bridge:before{content:"\e4c8"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-bridge-water:before{content:"\e4ce"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broom:before{content:"\f51a"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-brush:before{content:"\f55d"}.fa-bucket:before{content:"\e4cf"}.fa-bug:before{content:"\f188"}.fa-bug-slash:before{content:"\e490"}.fa-bugs:before{content:"\e4d0"}.fa-building:before{content:"\f1ad"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-building-circle-check:before{content:"\e4d2"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-building-flag:before{content:"\e4d5"}.fa-building-lock:before{content:"\e4d6"}.fa-building-ngo:before{content:"\e4d7"}.fa-building-shield:before{content:"\e4d8"}.fa-building-un:before{content:"\e4d9"}.fa-building-user:before{content:"\e4da"}.fa-building-wheat:before{content:"\e4db"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-burst:before{content:"\e4dc"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-c:before{content:"\43"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-week:before{content:"\f784"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-camera-rotate:before{content:"\e0d8"}.fa-campground:before{content:"\f6bb"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-car-on:before{content:"\e4dd"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-car-side:before{content:"\f5e4"}.fa-car-tunnel:before{content:"\e4de"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-cart-plus:before{content:"\f217"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cedi-sign:before{content:"\e0df"}.fa-cent-sign:before{content:"\e3f5"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-charging-station:before{content:"\f5e7"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-chart-column:before{content:"\e0e3"}.fa-chart-gantt:before{content:"\e0e4"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-chart-simple:before{content:"\e473"}.fa-check:before{content:"\f00c"}.fa-check-double:before{content:"\f560"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-child-dress:before{content:"\e59c"}.fa-child-reaching:before{content:"\e59d"}.fa-child-rifle:before{content:"\e4e0"}.fa-children:before{content:"\e4e1"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-circle-nodes:before{content:"\e4e2"}.fa-circle-notch:before{content:"\f1ce"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-city:before{content:"\f64f"}.fa-clapperboard:before{content:"\e131"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clipboard-question:before{content:"\e4e3"}.fa-clipboard-user:before{content:"\f7f3"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-clover:before{content:"\e139"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-code-commit:before{content:"\f386"}.fa-code-compare:before{content:"\e13a"}.fa-code-fork:before{content:"\e13b"}.fa-code-merge:before{content:"\f387"}.fa-code-pull-request:before{content:"\e13c"}.fa-coins:before{content:"\f51e"}.fa-colon-sign:before{content:"\e140"}.fa-comment:before{content:"\f075"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-compress:before{content:"\f066"}.fa-computer:before{content:"\e4e5"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cow:before{content:"\f6c8"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-d:before{content:"\44"}.fa-database:before{content:"\f1c0"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-democrat:before{content:"\f747"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-dharmachakra:before{content:"\f655"}.fa-diagram-next:before{content:"\e476"}.fa-diagram-predecessor:before{content:"\e477"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-diagram-successor:before{content:"\e47a"}.fa-diamond:before{content:"\f219"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-disease:before{content:"\f7fa"}.fa-display:before{content:"\e163"}.fa-divide:before{content:"\f529"}.fa-dna:before{content:"\f471"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-dong-sign:before{content:"\e169"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dove:before{content:"\f4ba"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-download:before{content:"\f019"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-e:before{content:"\45"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elevator:before{content:"\e16d"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-equals:before{content:"\3d"}.fa-eraser:before{content:"\f12d"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-exclamation:before{content:"\21"}.fa-expand:before{content:"\f065"}.fa-explosion:before{content:"\e4e9"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-eye-slash:before{content:"\f070"}.fa-f:before{content:"\46"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-fan:before{content:"\f863"}.fa-faucet:before{content:"\e005"}.fa-faucet-drip:before{content:"\e006"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-ferry:before{content:"\e4ea"}.fa-file:before{content:"\f15b"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-file-audio:before{content:"\f1c7"}.fa-file-circle-check:before{content:"\e5a0"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-file-circle-plus:before{content:"\e494"}.fa-file-circle-question:before{content:"\e4ef"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-excel:before{content:"\f1c3"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-file-medical:before{content:"\f477"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-shield:before{content:"\e4f0"}.fa-file-signature:before{content:"\f573"}.fa-file-video:before{content:"\f1c8"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-file-word:before{content:"\f1c2"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-burner:before{content:"\e4f1"}.fa-fire-extinguisher:before{content:"\f134"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-fish:before{content:"\f578"}.fa-fish-fins:before{content:"\e4f2"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flask-vial:before{content:"\e4f3"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-florin-sign:before{content:"\e184"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-folder-closed:before{content:"\e185"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-folder-tree:before{content:"\f802"}.fa-font:before{content:"\f031"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-franc-sign:before{content:"\e18f"}.fa-frog:before{content:"\f52e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-g:before{content:"\47"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-glass-water:before{content:"\e4f4"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-glasses:before{content:"\f530"}.fa-globe:before{content:"\f0ac"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-greater-than:before{content:"\3e"}.fa-greater-than-equal:before{content:"\f532"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-guarani-sign:before{content:"\e19a"}.fa-guitar:before{content:"\f7a6"}.fa-gun:before{content:"\e19b"}.fa-h:before{content:"\48"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-handcuffs:before{content:"\e4f8"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-hands-bound:before{content:"\e4f9"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-hands-clapping:before{content:"\e1a8"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-handshake:before{content:"\f2b5"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-hashtag:before{content:"\23"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-heart-circle-plus:before{content:"\e500"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-helicopter-symbol:before{content:"\e502"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-helmet-un:before{content:"\e503"}.fa-highlighter:before{content:"\f591"}.fa-hill-avalanche:before{content:"\e507"}.fa-hill-rockslide:before{content:"\e508"}.fa-hippo:before{content:"\f6ed"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-house-chimney-user:before{content:"\e065"}.fa-house-chimney-window:before{content:"\e00d"}.fa-house-circle-check:before{content:"\e509"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-house-crack:before{content:"\e3b1"}.fa-house-fire:before{content:"\e50c"}.fa-house-flag:before{content:"\e50d"}.fa-house-flood-water:before{content:"\e50e"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-house-lock:before{content:"\e510"}.fa-house-medical:before{content:"\e3b2"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-house-medical-flag:before{content:"\e514"}.fa-house-signal:before{content:"\e012"}.fa-house-tsunami:before{content:"\e515"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-hurricane:before{content:"\f751"}.fa-i:before{content:"\49"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-images:before{content:"\f302"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-italic:before{content:"\f033"}.fa-j:before{content:"\4a"}.fa-jar:before{content:"\e516"}.fa-jar-wheat:before{content:"\e517"}.fa-jedi:before{content:"\f669"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-jet-fighter-up:before{content:"\e518"}.fa-joint:before{content:"\f595"}.fa-jug-detergent:before{content:"\e519"}.fa-k:before{content:"\4b"}.fa-kaaba:before{content:"\f66b"}.fa-key:before{content:"\f084"}.fa-keyboard:before{content:"\f11c"}.fa-khanda:before{content:"\f66d"}.fa-kip-sign:before{content:"\e1c4"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-kitchen-set:before{content:"\e51a"}.fa-kiwi-bird:before{content:"\f535"}.fa-l:before{content:"\4c"}.fa-land-mine-on:before{content:"\e51b"}.fa-landmark:before{content:"\f66f"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-landmark-flag:before{content:"\e51c"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-file:before{content:"\e51d"}.fa-laptop-medical:before{content:"\f812"}.fa-lari-sign:before{content:"\e1c8"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-lemon:before{content:"\f094"}.fa-less-than:before{content:"\3c"}.fa-less-than-equal:before{content:"\f537"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-lines-leaning:before{content:"\e51e"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-lira-sign:before{content:"\f195"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-location-arrow:before{content:"\f124"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-location-pin-lock:before{content:"\e51f"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-locust:before{content:"\e520"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-m:before{content:"\4d"}.fa-magnet:before{content:"\f076"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-manat-sign:before{content:"\e1d5"}.fa-map:before{content:"\f279"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-pin:before{content:"\f276"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-and-venus:before{content:"\f224"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-mask:before{content:"\f6fa"}.fa-mask-face:before{content:"\e1d7"}.fa-mask-ventilator:before{content:"\e524"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-mattress-pillow:before{content:"\e525"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-medal:before{content:"\f5a2"}.fa-memory:before{content:"\f538"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-mill-sign:before{content:"\e1ed"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-mitten:before{content:"\f7b5"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-mobile-button:before{content:"\f10b"}.fa-mobile-retro:before{content:"\e527"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-money-bills:before{content:"\e1f3"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-mosquito-net:before{content:"\e52c"}.fa-motorcycle:before{content:"\f21c"}.fa-mound:before{content:"\e52d"}.fa-mountain:before{content:"\f6fc"}.fa-mountain-city:before{content:"\e52e"}.fa-mountain-sun:before{content:"\e52f"}.fa-mug-hot:before{content:"\f7b6"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-music:before{content:"\f001"}.fa-n:before{content:"\4e"}.fa-naira-sign:before{content:"\e1f6"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-not-equal:before{content:"\f53e"}.fa-notdef:before{content:"\e1fe"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-notes-medical:before{content:"\f481"}.fa-o:before{content:"\4f"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-oil-can:before{content:"\f613"}.fa-oil-well:before{content:"\e532"}.fa-om:before{content:"\f679"}.fa-otter:before{content:"\f700"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-p:before{content:"\50"}.fa-pager:before{content:"\f815"}.fa-paint-roller:before{content:"\f5aa"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-palette:before{content:"\f53f"}.fa-pallet:before{content:"\f482"}.fa-panorama:before{content:"\e209"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-passport:before{content:"\f5ab"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-pause:before{content:"\f04c"}.fa-paw:before{content:"\f1b0"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-people-group:before{content:"\e533"}.fa-people-line:before{content:"\e534"}.fa-people-pulling:before{content:"\e535"}.fa-people-robbery:before{content:"\e536"}.fa-people-roof:before{content:"\e537"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-person-booth:before{content:"\f756"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-person-burst:before{content:"\e53b"}.fa-person-cane:before{content:"\e53c"}.fa-person-chalkboard:before{content:"\e53d"}.fa-person-circle-check:before{content:"\e53e"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-person-circle-minus:before{content:"\e540"}.fa-person-circle-plus:before{content:"\e541"}.fa-person-circle-question:before{content:"\e542"}.fa-person-circle-xmark:before{content:"\e543"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-person-dress-burst:before{content:"\e544"}.fa-person-drowning:before{content:"\e545"}.fa-person-falling:before{content:"\e546"}.fa-person-falling-burst:before{content:"\e547"}.fa-person-half-dress:before{content:"\e548"}.fa-person-harassing:before{content:"\e549"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-person-military-pointing:before{content:"\e54a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-person-military-to-person:before{content:"\e54c"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-person-pregnant:before{content:"\e31e"}.fa-person-rays:before{content:"\e54d"}.fa-person-rifle:before{content:"\e54e"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-person-shelter:before{content:"\e54f"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-person-through-window:before{content:"\e5a9"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-person-walking-luggage:before{content:"\e554"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-peseta-sign:before{content:"\e221"}.fa-peso-sign:before{content:"\e222"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-circle-check:before{content:"\e555"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-lock:before{content:"\e558"}.fa-plane-slash:before{content:"\e069"}.fa-plane-up:before{content:"\e22d"}.fa-plant-wilt:before{content:"\e5aa"}.fa-plate-wheat:before{content:"\e55a"}.fa-play:before{content:"\f04b"}.fa-plug:before{content:"\f1e6"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-plug-circle-check:before{content:"\e55c"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-plus-minus:before{content:"\e43c"}.fa-podcast:before{content:"\f2ce"}.fa-poo:before{content:"\f2fe"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-power-off:before{content:"\f011"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-puzzle-piece:before{content:"\f12e"}.fa-q:before{content:"\51"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\3f"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-r:before{content:"\52"}.fa-radiation:before{content:"\f7b9"}.fa-radio:before{content:"\f8d7"}.fa-rainbow:before{content:"\f75b"}.fa-ranking-star:before{content:"\e561"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-recycle:before{content:"\f1b8"}.fa-registered:before{content:"\f25d"}.fa-repeat:before{content:"\f363"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-republican:before{content:"\f75e"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-ribbon:before{content:"\f4d6"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-road-barrier:before{content:"\e562"}.fa-road-bridge:before{content:"\e563"}.fa-road-circle-check:before{content:"\e564"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-road-circle-xmark:before{content:"\e566"}.fa-road-lock:before{content:"\e567"}.fa-road-spikes:before{content:"\e568"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-route:before{content:"\f4d7"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-rug:before{content:"\e569"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-rupiah-sign:before{content:"\e23d"}.fa-s:before{content:"\53"}.fa-sack-dollar:before{content:"\f81d"}.fa-sack-xmark:before{content:"\e56a"}.fa-sailboat:before{content:"\e445"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-school:before{content:"\f549"}.fa-school-circle-check:before{content:"\e56b"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-school-flag:before{content:"\e56e"}.fa-school-lock:before{content:"\e56f"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-screwdriver:before{content:"\f54a"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-scroll:before{content:"\f70e"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-sd-card:before{content:"\f7c2"}.fa-section:before{content:"\e447"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-server:before{content:"\f233"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-sheet-plastic:before{content:"\e571"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-shield-cat:before{content:"\e572"}.fa-shield-dog:before{content:"\e573"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-shield-heart:before{content:"\e574"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-shoe-prints:before{content:"\f54b"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-shop-lock:before{content:"\e4a5"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-shower:before{content:"\f2cc"}.fa-shrimp:before{content:"\e448"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-sim-card:before{content:"\f7c4"}.fa-sink:before{content:"\e06d"}.fa-sitemap:before{content:"\f0e8"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-spa:before{content:"\f5bb"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-spray-can:before{content:"\f5bd"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-square:before{content:"\f0c8"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-square-full:before{content:"\f45c"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-square-nfi:before{content:"\e576"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-square-person-confined:before{content:"\e577"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-square-virus:before{content:"\e578"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-stairs:before{content:"\e289"}.fa-stamp:before{content:"\f5bf"}.fa-stapler:before{content:"\e5af"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-stethoscope:before{content:"\f0f1"}.fa-stop:before{content:"\f04d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-slash:before{content:"\e071"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stroopwafel:before{content:"\f551"}.fa-subscript:before{content:"\f12c"}.fa-suitcase:before{content:"\f0f2"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-superscript:before{content:"\f12b"}.fa-swatchbook:before{content:"\f5c3"}.fa-synagogue:before{content:"\f69b"}.fa-syringe:before{content:"\f48e"}.fa-t:before{content:"\54"}.fa-table:before{content:"\f0ce"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-tablet-button:before{content:"\f10a"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tarp:before{content:"\e57b"}.fa-tarp-droplet:before{content:"\e57c"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-tent:before{content:"\e57d"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tent-arrows-down:before{content:"\e581"}.fa-tents:before{content:"\e582"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-text-width:before{content:"\f035"}.fa-thermometer:before{content:"\f491"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-ticket:before{content:"\f145"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-timeline:before{content:"\e29c"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toilet-portable:before{content:"\e583"}.fa-toilets-portable:before{content:"\e584"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-torii-gate:before{content:"\f6a1"}.fa-tornado:before{content:"\f76f"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-tower-cell:before{content:"\e585"}.fa-tower-observation:before{content:"\e586"}.fa-tractor:before{content:"\f722"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-train-tram:before{content:"\e5b4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-tree-city:before{content:"\e587"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-trophy:before{content:"\f091"}.fa-trowel:before{content:"\e589"}.fa-trowel-bricks:before{content:"\e58a"}.fa-truck:before{content:"\f0d1"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-truck-droplet:before{content:"\e58c"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-truck-field:before{content:"\e58d"}.fa-truck-field-un:before{content:"\e58e"}.fa-truck-front:before{content:"\e2b7"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-truck-plane:before{content:"\e58f"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-u:before{content:"\55"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-universal-access:before{content:"\f29a"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-upload:before{content:"\f093"}.fa-user:before{content:"\f007"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-clock:before{content:"\f4fd"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-user-graduate:before{content:"\f501"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-user-injured:before{content:"\f728"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-user-lock:before{content:"\f502"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-between-lines:before{content:"\e591"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-users-line:before{content:"\e592"}.fa-users-rays:before{content:"\e593"}.fa-users-rectangle:before{content:"\e594"}.fa-users-slash:before{content:"\e073"}.fa-users-viewfinder:before{content:"\e595"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-v:before{content:"\56"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-vault:before{content:"\e2c5"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-vial:before{content:"\f492"}.fa-vial-circle-check:before{content:"\e596"}.fa-vial-virus:before{content:"\e597"}.fa-vials:before{content:"\f493"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-virus:before{content:"\e074"}.fa-virus-covid:before{content:"\e4a8"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-voicemail:before{content:"\f897"}.fa-volcano:before{content:"\f770"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-volume-off:before{content:"\f026"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-vr-cardboard:before{content:"\f729"}.fa-w:before{content:"\57"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-wallet:before{content:"\f555"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-wand-sparkles:before{content:"\f72b"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-wave-square:before{content:"\f83e"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-wheelchair:before{content:"\f193"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-wind:before{content:"\f72e"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-worm:before{content:"\e599"}.fa-wrench:before{content:"\f0ad"}.fa-x:before{content:"\58"}.fa-x-ray:before{content:"\f497"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-xmarks-lines:before{content:"\e59a"}.fa-y:before{content:"\59"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-z:before{content:"\5a"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands";font-weight:400}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-alipay:before{content:"\f642"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-amilia:before{content:"\f36d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-pay:before{content:"\f415"}.fa-artstation:before{content:"\f77a"}.fa-asymmetrik:before{content:"\f372"}.fa-atlassian:before{content:"\f77b"}.fa-audible:before{content:"\f373"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-aws:before{content:"\f375"}.fa-bandcamp:before{content:"\f2d5"}.fa-battle-net:before{content:"\f835"}.fa-behance:before{content:"\f1b4"}.fa-bilibili:before{content:"\e3d9"}.fa-bimobject:before{content:"\f378"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bootstrap:before{content:"\f836"}.fa-bots:before{content:"\e340"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-buromobelexperte:before{content:"\f37f"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cmplid:before{content:"\e360"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cotton-bureau:before{content:"\f89e"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-critical-role:before{content:"\f6c9"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dhl:before{content:"\f790"}.fa-diaspora:before{content:"\f791"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-draft2digital:before{content:"\f396"}.fa-dribbble:before{content:"\f17d"}.fa-dropbox:before{content:"\f16b"}.fa-drupal:before{content:"\f1a9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-elementor:before{content:"\f430"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-evernote:before{content:"\f839"}.fa-expeditedssl:before{content:"\f23e"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-figma:before{content:"\f799"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-fly:before{content:"\f417"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-fulcrum:before{content:"\f50b"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-gofore:before{content:"\f3a7"}.fa-golang:before{content:"\e40f"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-wallet:before{content:"\f1ee"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-gulp:before{content:"\f3ae"}.fa-hacker-news:before{content:"\f1d4"}.fa-hackerrank:before{content:"\f5f7"}.fa-hashnode:before{content:"\e499"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-hive:before{content:"\e07f"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hotjar:before{content:"\f3b1"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-ideal:before{content:"\e013"}.fa-imdb:before{content:"\f2d8"}.fa-instagram:before{content:"\f16d"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaggle:before{content:"\f5fa"}.fa-keybase:before{content:"\f4f5"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-korvue:before{content:"\f42f"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-leanpub:before{content:"\f212"}.fa-less:before{content:"\f41d"}.fa-line:before{content:"\f3c0"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-mailchimp:before{content:"\f59e"}.fa-mandalorian:before{content:"\f50f"}.fa-markdown:before{content:"\f60f"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medapps:before{content:"\f3c6"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-mendeley:before{content:"\f7b3"}.fa-meta:before{content:"\e49b"}.fa-microblog:before{content:"\e01a"}.fa-microsoft:before{content:"\f3ca"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-nfc-directional:before{content:"\e530"}.fa-nfc-symbol:before{content:"\e531"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-old-republic:before{content:"\f510"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-padlet:before{content:"\e4a0"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-palfed:before{content:"\f3d8"}.fa-patreon:before{content:"\f3d9"}.fa-paypal:before{content:"\f1ed"}.fa-perbyte:before{content:"\e083"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pix:before{content:"\e43a"}.fa-playstation:before{content:"\f3df"}.fa-product-hunt:before{content:"\f288"}.fa-pushed:before{content:"\f3e1"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-r-project:before{content:"\f4f7"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-redhat:before{content:"\f7bc"}.fa-renren:before{content:"\f18b"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-rev:before{content:"\f5b2"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-rust:before{content:"\e07a"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-schlix:before{content:"\f3ea"}.fa-screenpal:before{content:"\e570"}.fa-scribd:before{content:"\f28a"}.fa-searchengin:before{content:"\f3eb"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-servicestack:before{content:"\f3ec"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shopify:before{content:"\e057"}.fa-shopware:before{content:"\f5b5"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sith:before{content:"\f512"}.fa-sitrox:before{content:"\e44a"}.fa-sketch:before{content:"\f7c6"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-slideshare:before{content:"\f1e7"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-space-awesome:before{content:"\e5ac"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spotify:before{content:"\f1bc"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-symbol:before{content:"\f3f6"}.fa-sticker-mule:before{content:"\f3f7"}.fa-strava:before{content:"\f428"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-superpowers:before{content:"\f2dd"}.fa-supple:before{content:"\f3f9"}.fa-suse:before{content:"\f7d6"}.fa-swift:before{content:"\f8e1"}.fa-symfony:before{content:"\f83d"}.fa-teamspeak:before{content:"\f4f9"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-the-red-yeti:before{content:"\f69d"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-think-peaks:before{content:"\f731"}.fa-tiktok:before{content:"\e07b"}.fa-trade-federation:before{content:"\f513"}.fa-trello:before{content:"\f181"}.fa-tumblr:before{content:"\f173"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-uncharted:before{content:"\e084"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-vaadin:before{content:"\f408"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viber:before{content:"\f409"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-vuejs:before{content:"\f41f"}.fa-watchman-monitoring:before{content:"\e087"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whmcs:before{content:"\f40d"}.fa-wikipedia-w:before{content:"\f266"}.fa-windows:before{content:"\f17a"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-zhihu:before{content:"\f63f"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-family:"Font Awesome 6 Free";font-weight:400}:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-family:"Font Awesome 6 Free";font-weight:900}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(fa-regular-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a} diff --git a/html/font-awesome/css/v4-shims.min.css b/html/font-awesome/css/v4-shims.min.css index 9316727d18d..2f6252b52a1 100644 --- a/html/font-awesome/css/v4-shims.min.css +++ b/html/font-awesome/css/v4-shims.min.css @@ -1,1694 +1,6 @@ /*! - * Font Awesome Free 5.9.0 by @fontawesome - https://fontawesome.com + * Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2022 Fonticons, Inc. */ -.fa.fa-glass:before { - content: "\f000"; -} -.fa.fa-meetup { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-star-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-star-o:before { - content: "\f005"; -} -.fa.fa-close:before, -.fa.fa-remove:before { - content: "\f00d"; -} -.fa.fa-gear:before { - content: "\f013"; -} -.fa.fa-trash-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-trash-o:before { - content: "\f2ed"; -} -.fa.fa-file-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-o:before { - content: "\f15b"; -} -.fa.fa-clock-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-clock-o:before { - content: "\f017"; -} -.fa.fa-arrow-circle-o-down { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-arrow-circle-o-down:before { - content: "\f358"; -} -.fa.fa-arrow-circle-o-up { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-arrow-circle-o-up:before { - content: "\f35b"; -} -.fa.fa-play-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-play-circle-o:before { - content: "\f144"; -} -.fa.fa-repeat:before, -.fa.fa-rotate-right:before { - content: "\f01e"; -} -.fa.fa-refresh:before { - content: "\f021"; -} -.fa.fa-list-alt { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-dedent:before { - content: "\f03b"; -} -.fa.fa-video-camera:before { - content: "\f03d"; -} -.fa.fa-picture-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-picture-o:before { - content: "\f03e"; -} -.fa.fa-photo { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-photo:before { - content: "\f03e"; -} -.fa.fa-image { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-image:before { - content: "\f03e"; -} -.fa.fa-pencil:before { - content: "\f303"; -} -.fa.fa-map-marker:before { - content: "\f3c5"; -} -.fa.fa-pencil-square-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-pencil-square-o:before { - content: "\f044"; -} -.fa.fa-share-square-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-share-square-o:before { - content: "\f14d"; -} -.fa.fa-check-square-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-check-square-o:before { - content: "\f14a"; -} -.fa.fa-arrows:before { - content: "\f0b2"; -} -.fa.fa-times-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-times-circle-o:before { - content: "\f057"; -} -.fa.fa-check-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-check-circle-o:before { - content: "\f058"; -} -.fa.fa-mail-forward:before { - content: "\f064"; -} -.fa.fa-eye, -.fa.fa-eye-slash { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-warning:before { - content: "\f071"; -} -.fa.fa-calendar:before { - content: "\f073"; -} -.fa.fa-arrows-v:before { - content: "\f338"; -} -.fa.fa-arrows-h:before { - content: "\f337"; -} -.fa.fa-bar-chart { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-bar-chart:before { - content: "\f080"; -} -.fa.fa-bar-chart-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-bar-chart-o:before { - content: "\f080"; -} -.fa.fa-facebook-square, -.fa.fa-twitter-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-gears:before { - content: "\f085"; -} -.fa.fa-thumbs-o-up { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-thumbs-o-up:before { - content: "\f164"; -} -.fa.fa-thumbs-o-down { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-thumbs-o-down:before { - content: "\f165"; -} -.fa.fa-heart-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-heart-o:before { - content: "\f004"; -} -.fa.fa-sign-out:before { - content: "\f2f5"; -} -.fa.fa-linkedin-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-linkedin-square:before { - content: "\f08c"; -} -.fa.fa-thumb-tack:before { - content: "\f08d"; -} -.fa.fa-external-link:before { - content: "\f35d"; -} -.fa.fa-sign-in:before { - content: "\f2f6"; -} -.fa.fa-github-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-lemon-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-lemon-o:before { - content: "\f094"; -} -.fa.fa-square-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-square-o:before { - content: "\f0c8"; -} -.fa.fa-bookmark-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-bookmark-o:before { - content: "\f02e"; -} -.fa.fa-facebook, -.fa.fa-twitter { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-facebook:before { - content: "\f39e"; -} -.fa.fa-facebook-f { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-facebook-f:before { - content: "\f39e"; -} -.fa.fa-github { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-credit-card { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-feed:before { - content: "\f09e"; -} -.fa.fa-hdd-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hdd-o:before { - content: "\f0a0"; -} -.fa.fa-hand-o-right { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-o-right:before { - content: "\f0a4"; -} -.fa.fa-hand-o-left { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-o-left:before { - content: "\f0a5"; -} -.fa.fa-hand-o-up { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-o-up:before { - content: "\f0a6"; -} -.fa.fa-hand-o-down { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-o-down:before { - content: "\f0a7"; -} -.fa.fa-arrows-alt:before { - content: "\f31e"; -} -.fa.fa-group:before { - content: "\f0c0"; -} -.fa.fa-chain:before { - content: "\f0c1"; -} -.fa.fa-scissors:before { - content: "\f0c4"; -} -.fa.fa-files-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-files-o:before { - content: "\f0c5"; -} -.fa.fa-floppy-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-floppy-o:before { - content: "\f0c7"; -} -.fa.fa-navicon:before, -.fa.fa-reorder:before { - content: "\f0c9"; -} -.fa.fa-google-plus, -.fa.fa-google-plus-square, -.fa.fa-pinterest, -.fa.fa-pinterest-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-google-plus:before { - content: "\f0d5"; -} -.fa.fa-money { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-money:before { - content: "\f3d1"; -} -.fa.fa-unsorted:before { - content: "\f0dc"; -} -.fa.fa-sort-desc:before { - content: "\f0dd"; -} -.fa.fa-sort-asc:before { - content: "\f0de"; -} -.fa.fa-linkedin { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-linkedin:before { - content: "\f0e1"; -} -.fa.fa-rotate-left:before { - content: "\f0e2"; -} -.fa.fa-legal:before { - content: "\f0e3"; -} -.fa.fa-dashboard:before, -.fa.fa-tachometer:before { - content: "\f3fd"; -} -.fa.fa-comment-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-comment-o:before { - content: "\f075"; -} -.fa.fa-comments-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-comments-o:before { - content: "\f086"; -} -.fa.fa-flash:before { - content: "\f0e7"; -} -.fa.fa-clipboard, -.fa.fa-paste { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-paste:before { - content: "\f328"; -} -.fa.fa-lightbulb-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-lightbulb-o:before { - content: "\f0eb"; -} -.fa.fa-exchange:before { - content: "\f362"; -} -.fa.fa-cloud-download:before { - content: "\f381"; -} -.fa.fa-cloud-upload:before { - content: "\f382"; -} -.fa.fa-bell-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-bell-o:before { - content: "\f0f3"; -} -.fa.fa-cutlery:before { - content: "\f2e7"; -} -.fa.fa-file-text-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-text-o:before { - content: "\f15c"; -} -.fa.fa-building-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-building-o:before { - content: "\f1ad"; -} -.fa.fa-hospital-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hospital-o:before { - content: "\f0f8"; -} -.fa.fa-tablet:before { - content: "\f3fa"; -} -.fa.fa-mobile-phone:before, -.fa.fa-mobile:before { - content: "\f3cd"; -} -.fa.fa-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-circle-o:before { - content: "\f111"; -} -.fa.fa-mail-reply:before { - content: "\f3e5"; -} -.fa.fa-github-alt { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-folder-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-folder-o:before { - content: "\f07b"; -} -.fa.fa-folder-open-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-folder-open-o:before { - content: "\f07c"; -} -.fa.fa-smile-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-smile-o:before { - content: "\f118"; -} -.fa.fa-frown-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-frown-o:before { - content: "\f119"; -} -.fa.fa-meh-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-meh-o:before { - content: "\f11a"; -} -.fa.fa-keyboard-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-keyboard-o:before { - content: "\f11c"; -} -.fa.fa-flag-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-flag-o:before { - content: "\f024"; -} -.fa.fa-mail-reply-all:before { - content: "\f122"; -} -.fa.fa-star-half-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-star-half-o:before { - content: "\f089"; -} -.fa.fa-star-half-empty { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-star-half-empty:before { - content: "\f089"; -} -.fa.fa-star-half-full { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-star-half-full:before { - content: "\f089"; -} -.fa.fa-code-fork:before { - content: "\f126"; -} -.fa.fa-chain-broken:before { - content: "\f127"; -} -.fa.fa-shield:before { - content: "\f3ed"; -} -.fa.fa-calendar-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-calendar-o:before { - content: "\f133"; -} -.fa.fa-css3, -.fa.fa-html5, -.fa.fa-maxcdn { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-ticket:before { - content: "\f3ff"; -} -.fa.fa-minus-square-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-minus-square-o:before { - content: "\f146"; -} -.fa.fa-level-up:before { - content: "\f3bf"; -} -.fa.fa-level-down:before { - content: "\f3be"; -} -.fa.fa-pencil-square:before { - content: "\f14b"; -} -.fa.fa-external-link-square:before { - content: "\f360"; -} -.fa.fa-compass { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-caret-square-o-down { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-caret-square-o-down:before { - content: "\f150"; -} -.fa.fa-toggle-down { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-toggle-down:before { - content: "\f150"; -} -.fa.fa-caret-square-o-up { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-caret-square-o-up:before { - content: "\f151"; -} -.fa.fa-toggle-up { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-toggle-up:before { - content: "\f151"; -} -.fa.fa-caret-square-o-right { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-caret-square-o-right:before { - content: "\f152"; -} -.fa.fa-toggle-right { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-toggle-right:before { - content: "\f152"; -} -.fa.fa-eur:before, -.fa.fa-euro:before { - content: "\f153"; -} -.fa.fa-gbp:before { - content: "\f154"; -} -.fa.fa-dollar:before, -.fa.fa-usd:before { - content: "\f155"; -} -.fa.fa-inr:before, -.fa.fa-rupee:before { - content: "\f156"; -} -.fa.fa-cny:before, -.fa.fa-jpy:before, -.fa.fa-rmb:before, -.fa.fa-yen:before { - content: "\f157"; -} -.fa.fa-rouble:before, -.fa.fa-rub:before, -.fa.fa-ruble:before { - content: "\f158"; -} -.fa.fa-krw:before, -.fa.fa-won:before { - content: "\f159"; -} -.fa.fa-bitcoin, -.fa.fa-btc { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-bitcoin:before { - content: "\f15a"; -} -.fa.fa-file-text:before { - content: "\f15c"; -} -.fa.fa-sort-alpha-asc:before { - content: "\f15d"; -} -.fa.fa-sort-alpha-desc:before { - content: "\f15e"; -} -.fa.fa-sort-amount-asc:before { - content: "\f160"; -} -.fa.fa-sort-amount-desc:before { - content: "\f161"; -} -.fa.fa-sort-numeric-asc:before { - content: "\f162"; -} -.fa.fa-sort-numeric-desc:before { - content: "\f163"; -} -.fa.fa-xing, -.fa.fa-xing-square, -.fa.fa-youtube, -.fa.fa-youtube-play, -.fa.fa-youtube-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-youtube-play:before { - content: "\f167"; -} -.fa.fa-adn, -.fa.fa-bitbucket, -.fa.fa-bitbucket-square, -.fa.fa-dropbox, -.fa.fa-flickr, -.fa.fa-instagram, -.fa.fa-stack-overflow { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-bitbucket-square:before { - content: "\f171"; -} -.fa.fa-tumblr, -.fa.fa-tumblr-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-long-arrow-down:before { - content: "\f309"; -} -.fa.fa-long-arrow-up:before { - content: "\f30c"; -} -.fa.fa-long-arrow-left:before { - content: "\f30a"; -} -.fa.fa-long-arrow-right:before { - content: "\f30b"; -} -.fa.fa-android, -.fa.fa-apple, -.fa.fa-dribbble, -.fa.fa-foursquare, -.fa.fa-gittip, -.fa.fa-gratipay, -.fa.fa-linux, -.fa.fa-skype, -.fa.fa-trello, -.fa.fa-windows { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-gittip:before { - content: "\f184"; -} -.fa.fa-sun-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-sun-o:before { - content: "\f185"; -} -.fa.fa-moon-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-moon-o:before { - content: "\f186"; -} -.fa.fa-pagelines, -.fa.fa-renren, -.fa.fa-stack-exchange, -.fa.fa-vk, -.fa.fa-weibo { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-arrow-circle-o-right { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-arrow-circle-o-right:before { - content: "\f35a"; -} -.fa.fa-arrow-circle-o-left { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-arrow-circle-o-left:before { - content: "\f359"; -} -.fa.fa-caret-square-o-left { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-caret-square-o-left:before { - content: "\f191"; -} -.fa.fa-toggle-left { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-toggle-left:before { - content: "\f191"; -} -.fa.fa-dot-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-dot-circle-o:before { - content: "\f192"; -} -.fa.fa-vimeo-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-try:before, -.fa.fa-turkish-lira:before { - content: "\f195"; -} -.fa.fa-plus-square-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-plus-square-o:before { - content: "\f0fe"; -} -.fa.fa-openid, -.fa.fa-slack, -.fa.fa-wordpress { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-bank:before, -.fa.fa-institution:before { - content: "\f19c"; -} -.fa.fa-mortar-board:before { - content: "\f19d"; -} -.fa.fa-delicious, -.fa.fa-digg, -.fa.fa-drupal, -.fa.fa-google, -.fa.fa-joomla, -.fa.fa-pied-piper-alt, -.fa.fa-pied-piper-pp, -.fa.fa-reddit, -.fa.fa-reddit-square, -.fa.fa-stumbleupon, -.fa.fa-stumbleupon-circle, -.fa.fa-yahoo { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-spoon:before { - content: "\f2e5"; -} -.fa.fa-behance, -.fa.fa-behance-square, -.fa.fa-steam, -.fa.fa-steam-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-automobile:before { - content: "\f1b9"; -} -.fa.fa-cab:before { - content: "\f1ba"; -} -.fa.fa-envelope-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-envelope-o:before { - content: "\f0e0"; -} -.fa.fa-deviantart, -.fa.fa-soundcloud { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-file-pdf-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-pdf-o:before { - content: "\f1c1"; -} -.fa.fa-file-word-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-word-o:before { - content: "\f1c2"; -} -.fa.fa-file-excel-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-excel-o:before { - content: "\f1c3"; -} -.fa.fa-file-powerpoint-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-powerpoint-o:before { - content: "\f1c4"; -} -.fa.fa-file-image-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-image-o:before { - content: "\f1c5"; -} -.fa.fa-file-photo-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-photo-o:before { - content: "\f1c5"; -} -.fa.fa-file-picture-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-picture-o:before { - content: "\f1c5"; -} -.fa.fa-file-archive-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-archive-o:before { - content: "\f1c6"; -} -.fa.fa-file-zip-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-zip-o:before { - content: "\f1c6"; -} -.fa.fa-file-audio-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-audio-o:before { - content: "\f1c7"; -} -.fa.fa-file-sound-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-sound-o:before { - content: "\f1c7"; -} -.fa.fa-file-video-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-video-o:before { - content: "\f1c8"; -} -.fa.fa-file-movie-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-movie-o:before { - content: "\f1c8"; -} -.fa.fa-file-code-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-file-code-o:before { - content: "\f1c9"; -} -.fa.fa-codepen, -.fa.fa-jsfiddle, -.fa.fa-vine { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-life-bouy, -.fa.fa-life-ring { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-life-bouy:before { - content: "\f1cd"; -} -.fa.fa-life-buoy { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-life-buoy:before { - content: "\f1cd"; -} -.fa.fa-life-saver { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-life-saver:before { - content: "\f1cd"; -} -.fa.fa-support { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-support:before { - content: "\f1cd"; -} -.fa.fa-circle-o-notch:before { - content: "\f1ce"; -} -.fa.fa-ra, -.fa.fa-rebel { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-ra:before { - content: "\f1d0"; -} -.fa.fa-resistance { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-resistance:before { - content: "\f1d0"; -} -.fa.fa-empire, -.fa.fa-ge { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-ge:before { - content: "\f1d1"; -} -.fa.fa-git, -.fa.fa-git-square, -.fa.fa-hacker-news, -.fa.fa-y-combinator-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-y-combinator-square:before { - content: "\f1d4"; -} -.fa.fa-yc-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-yc-square:before { - content: "\f1d4"; -} -.fa.fa-qq, -.fa.fa-tencent-weibo, -.fa.fa-wechat, -.fa.fa-weixin { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-wechat:before { - content: "\f1d7"; -} -.fa.fa-send:before { - content: "\f1d8"; -} -.fa.fa-paper-plane-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-paper-plane-o:before { - content: "\f1d8"; -} -.fa.fa-send-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-send-o:before { - content: "\f1d8"; -} -.fa.fa-circle-thin { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-circle-thin:before { - content: "\f111"; -} -.fa.fa-header:before { - content: "\f1dc"; -} -.fa.fa-sliders:before { - content: "\f1de"; -} -.fa.fa-futbol-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-futbol-o:before { - content: "\f1e3"; -} -.fa.fa-soccer-ball-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-soccer-ball-o:before { - content: "\f1e3"; -} -.fa.fa-slideshare, -.fa.fa-twitch, -.fa.fa-yelp { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-newspaper-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-newspaper-o:before { - content: "\f1ea"; -} -.fa.fa-cc-amex, -.fa.fa-cc-discover, -.fa.fa-cc-mastercard, -.fa.fa-cc-paypal, -.fa.fa-cc-stripe, -.fa.fa-cc-visa, -.fa.fa-google-wallet, -.fa.fa-paypal { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-bell-slash-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-bell-slash-o:before { - content: "\f1f6"; -} -.fa.fa-trash:before { - content: "\f2ed"; -} -.fa.fa-copyright { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-eyedropper:before { - content: "\f1fb"; -} -.fa.fa-area-chart:before { - content: "\f1fe"; -} -.fa.fa-pie-chart:before { - content: "\f200"; -} -.fa.fa-line-chart:before { - content: "\f201"; -} -.fa.fa-angellist, -.fa.fa-ioxhost, -.fa.fa-lastfm, -.fa.fa-lastfm-square { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-cc { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-cc:before { - content: "\f20a"; -} -.fa.fa-ils:before, -.fa.fa-shekel:before, -.fa.fa-sheqel:before { - content: "\f20b"; -} -.fa.fa-meanpath { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-meanpath:before { - content: "\f2b4"; -} -.fa.fa-buysellads, -.fa.fa-connectdevelop, -.fa.fa-dashcube, -.fa.fa-forumbee, -.fa.fa-leanpub, -.fa.fa-sellsy, -.fa.fa-shirtsinbulk, -.fa.fa-simplybuilt, -.fa.fa-skyatlas { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-diamond { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-diamond:before { - content: "\f3a5"; -} -.fa.fa-intersex:before { - content: "\f224"; -} -.fa.fa-facebook-official { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-facebook-official:before { - content: "\f09a"; -} -.fa.fa-pinterest-p, -.fa.fa-whatsapp { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-hotel:before { - content: "\f236"; -} -.fa.fa-medium, -.fa.fa-viacoin, -.fa.fa-y-combinator, -.fa.fa-yc { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-yc:before { - content: "\f23b"; -} -.fa.fa-expeditedssl, -.fa.fa-opencart, -.fa.fa-optin-monster { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-battery-4:before, -.fa.fa-battery:before { - content: "\f240"; -} -.fa.fa-battery-3:before { - content: "\f241"; -} -.fa.fa-battery-2:before { - content: "\f242"; -} -.fa.fa-battery-1:before { - content: "\f243"; -} -.fa.fa-battery-0:before { - content: "\f244"; -} -.fa.fa-object-group, -.fa.fa-object-ungroup, -.fa.fa-sticky-note-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-sticky-note-o:before { - content: "\f249"; -} -.fa.fa-cc-diners-club, -.fa.fa-cc-jcb { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-clone, -.fa.fa-hourglass-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hourglass-o:before { - content: "\f254"; -} -.fa.fa-hourglass-1:before { - content: "\f251"; -} -.fa.fa-hourglass-2:before { - content: "\f252"; -} -.fa.fa-hourglass-3:before { - content: "\f253"; -} -.fa.fa-hand-rock-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-rock-o:before { - content: "\f255"; -} -.fa.fa-hand-grab-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-grab-o:before { - content: "\f255"; -} -.fa.fa-hand-paper-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-paper-o:before { - content: "\f256"; -} -.fa.fa-hand-stop-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-stop-o:before { - content: "\f256"; -} -.fa.fa-hand-scissors-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-scissors-o:before { - content: "\f257"; -} -.fa.fa-hand-lizard-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-lizard-o:before { - content: "\f258"; -} -.fa.fa-hand-spock-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-spock-o:before { - content: "\f259"; -} -.fa.fa-hand-pointer-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-pointer-o:before { - content: "\f25a"; -} -.fa.fa-hand-peace-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-hand-peace-o:before { - content: "\f25b"; -} -.fa.fa-registered { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-chrome, -.fa.fa-creative-commons, -.fa.fa-firefox, -.fa.fa-get-pocket, -.fa.fa-gg, -.fa.fa-gg-circle, -.fa.fa-internet-explorer, -.fa.fa-odnoklassniki, -.fa.fa-odnoklassniki-square, -.fa.fa-opera, -.fa.fa-safari, -.fa.fa-tripadvisor, -.fa.fa-wikipedia-w { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-television:before { - content: "\f26c"; -} -.fa.fa-500px, -.fa.fa-amazon, -.fa.fa-contao { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-calendar-plus-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-calendar-plus-o:before { - content: "\f271"; -} -.fa.fa-calendar-minus-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-calendar-minus-o:before { - content: "\f272"; -} -.fa.fa-calendar-times-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-calendar-times-o:before { - content: "\f273"; -} -.fa.fa-calendar-check-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-calendar-check-o:before { - content: "\f274"; -} -.fa.fa-map-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-map-o:before { - content: "\f279"; -} -.fa.fa-commenting:before { - content: "\f4ad"; -} -.fa.fa-commenting-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-commenting-o:before { - content: "\f4ad"; -} -.fa.fa-houzz, -.fa.fa-vimeo { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-vimeo:before { - content: "\f27d"; -} -.fa.fa-black-tie, -.fa.fa-edge, -.fa.fa-fonticons, -.fa.fa-reddit-alien { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-credit-card-alt:before { - content: "\f09d"; -} -.fa.fa-codiepie, -.fa.fa-fort-awesome, -.fa.fa-mixcloud, -.fa.fa-modx, -.fa.fa-product-hunt, -.fa.fa-scribd, -.fa.fa-usb { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-pause-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-pause-circle-o:before { - content: "\f28b"; -} -.fa.fa-stop-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-stop-circle-o:before { - content: "\f28d"; -} -.fa.fa-bluetooth, -.fa.fa-bluetooth-b, -.fa.fa-envira, -.fa.fa-gitlab, -.fa.fa-wheelchair-alt, -.fa.fa-wpbeginner, -.fa.fa-wpforms { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-wheelchair-alt:before { - content: "\f368"; -} -.fa.fa-question-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-question-circle-o:before { - content: "\f059"; -} -.fa.fa-volume-control-phone:before { - content: "\f2a0"; -} -.fa.fa-asl-interpreting:before { - content: "\f2a3"; -} -.fa.fa-deafness:before, -.fa.fa-hard-of-hearing:before { - content: "\f2a4"; -} -.fa.fa-glide, -.fa.fa-glide-g { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-signing:before { - content: "\f2a7"; -} -.fa.fa-first-order, -.fa.fa-google-plus-official, -.fa.fa-pied-piper, -.fa.fa-snapchat, -.fa.fa-snapchat-ghost, -.fa.fa-snapchat-square, -.fa.fa-themeisle, -.fa.fa-viadeo, -.fa.fa-viadeo-square, -.fa.fa-yoast { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-google-plus-official:before { - content: "\f2b3"; -} -.fa.fa-google-plus-circle { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-google-plus-circle:before { - content: "\f2b3"; -} -.fa.fa-fa, -.fa.fa-font-awesome { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-fa:before { - content: "\f2b4"; -} -.fa.fa-handshake-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-handshake-o:before { - content: "\f2b5"; -} -.fa.fa-envelope-open-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-envelope-open-o:before { - content: "\f2b6"; -} -.fa.fa-linode { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-address-book-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-address-book-o:before { - content: "\f2b9"; -} -.fa.fa-vcard:before { - content: "\f2bb"; -} -.fa.fa-address-card-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-address-card-o:before { - content: "\f2bb"; -} -.fa.fa-vcard-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-vcard-o:before { - content: "\f2bb"; -} -.fa.fa-user-circle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-user-circle-o:before { - content: "\f2bd"; -} -.fa.fa-user-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-user-o:before { - content: "\f007"; -} -.fa.fa-id-badge { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-drivers-license:before { - content: "\f2c2"; -} -.fa.fa-id-card-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-id-card-o:before { - content: "\f2c2"; -} -.fa.fa-drivers-license-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-drivers-license-o:before { - content: "\f2c2"; -} -.fa.fa-free-code-camp, -.fa.fa-quora, -.fa.fa-telegram { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-thermometer-4:before, -.fa.fa-thermometer:before { - content: "\f2c7"; -} -.fa.fa-thermometer-3:before { - content: "\f2c8"; -} -.fa.fa-thermometer-2:before { - content: "\f2c9"; -} -.fa.fa-thermometer-1:before { - content: "\f2ca"; -} -.fa.fa-thermometer-0:before { - content: "\f2cb"; -} -.fa.fa-bathtub:before, -.fa.fa-s15:before { - content: "\f2cd"; -} -.fa.fa-window-maximize, -.fa.fa-window-restore { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-times-rectangle:before { - content: "\f410"; -} -.fa.fa-window-close-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-window-close-o:before { - content: "\f410"; -} -.fa.fa-times-rectangle-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-times-rectangle-o:before { - content: "\f410"; -} -.fa.fa-bandcamp, -.fa.fa-eercast, -.fa.fa-etsy, -.fa.fa-grav, -.fa.fa-imdb, -.fa.fa-ravelry { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} -.fa.fa-eercast:before { - content: "\f2da"; -} -.fa.fa-snowflake-o { - font-family: "Font Awesome 5 Free"; - font-weight: 400; -} -.fa.fa-snowflake-o:before { - content: "\f2dc"; -} -.fa.fa-spotify, -.fa.fa-superpowers, -.fa.fa-wpexplorer { - font-family: "Font Awesome 5 Brands"; - font-weight: 400; -} +.fa.fa-glass:before{content:"\f000"}.fa.fa-envelope-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-star-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-home:before{content:"\f015"}.fa.fa-file-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-list-alt:before{content:"\f022"}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-edit{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-edit:before{content:"\f044"}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-expand:before{content:"\f424"}.fa.fa-compress:before{content:"\f422"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart-o:before,.fa.fa-bar-chart:before{content:"\e0e3"}.fa.fa-twitter-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-twitter-square:before{content:"\f081"}.fa.fa-facebook-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-square:before{content:"\f082"}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-github-square:before{content:"\f092"}.fa.fa-lemon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-globe:before{content:"\f57d"}.fa.fa-tasks:before{content:"\f828"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-cut:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-save{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-save:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-magic:before{content:"\e2ca"}.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pinterest-square:before{content:"\f0d3"}.fa.fa-google-plus-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-square:before{content:"\f0d4"}.fa.fa-google-plus{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f625"}.fa.fa-comment-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard:before{content:"\f0ea"}.fa.fa-lightbulb-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f0ed"}.fa.fa-cloud-upload:before{content:"\f0ee"}.fa.fa-bell-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f5c0"}.fa.fa-star-half-empty{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f5c0"}.fa.fa-star-half-full{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f5c0"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before,.fa.fa-unlink:before{content:"\f127"}.fa.fa-calendar-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-unlock-alt:before{content:"\f09c"}.fa.fa-minus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\24"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\e1bc"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f884"}.fa.fa-sort-amount-desc:before{content:"\f160"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-youtube-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-square:before{content:"\f431"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-xing-square:before{content:"\f169"}.fa.fa-youtube-play{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-tumblr-square:before{content:"\f174"}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo-square:before{content:"\f194"}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\e2bb"}.fa.fa-plus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-google,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-yahoo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-reddit-square:before{content:"\f1a2"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-behance-square:before{content:"\f1b5"}.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-steam-square:before{content:"\f1b7"}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-spotify{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-life-bouy:before,.fa.fa-life-buoy:before,.fa.fa-life-saver:before,.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-git-square:before{content:"\f1d2"}.fa.fa-git,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-futbol-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-lastfm-square:before{content:"\f203"}.fa.fa-angellist,.fa.fa-ioxhost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before,.fa.fa-transgender:before{content:"\f224"}.fa.fa-transgender-alt:before{content:"\f225"}.fa.fa-facebook-official{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-clone{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-creative-commons,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-odnoklassniki-square:before{content:"\f264"}.fa.fa-chrome,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-internet-explorer,.fa.fa-opera,.fa.fa-safari,.fa.fa-wikipedia-w{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-viadeo,.fa.fa-viadeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-viadeo-square:before{content:"\f2aa"}.fa.fa-snapchat,.fa.fa-snapchat-ghost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-ghost:before{content:"\f2ab"}.fa.fa-snapchat-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-square:before{content:"\f2ad"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-themeisle,.fa.fa-yoast{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-meetup,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 6 Brands";font-weight:400} \ No newline at end of file diff --git a/html/font-awesome/webfonts/fa-regular-400.eot b/html/font-awesome/webfonts/fa-regular-400.eot deleted file mode 100644 index d62be2fad88..00000000000 Binary files a/html/font-awesome/webfonts/fa-regular-400.eot and /dev/null differ diff --git a/html/font-awesome/webfonts/fa-regular-400.ttf b/html/font-awesome/webfonts/fa-regular-400.ttf new file mode 100644 index 00000000000..c5ac0095777 Binary files /dev/null and b/html/font-awesome/webfonts/fa-regular-400.ttf differ diff --git a/html/font-awesome/webfonts/fa-regular-400.woff b/html/font-awesome/webfonts/fa-regular-400.woff deleted file mode 100644 index 43b1a9ae49d..00000000000 Binary files a/html/font-awesome/webfonts/fa-regular-400.woff and /dev/null differ diff --git a/html/font-awesome/webfonts/fa-solid-900.eot b/html/font-awesome/webfonts/fa-solid-900.eot deleted file mode 100644 index c77baa8d46a..00000000000 Binary files a/html/font-awesome/webfonts/fa-solid-900.eot and /dev/null differ diff --git a/html/font-awesome/webfonts/fa-solid-900.ttf b/html/font-awesome/webfonts/fa-solid-900.ttf new file mode 100644 index 00000000000..43ba1cc7d94 Binary files /dev/null and b/html/font-awesome/webfonts/fa-solid-900.ttf differ diff --git a/html/font-awesome/webfonts/fa-solid-900.woff b/html/font-awesome/webfonts/fa-solid-900.woff deleted file mode 100644 index 77c1786227f..00000000000 Binary files a/html/font-awesome/webfonts/fa-solid-900.woff and /dev/null differ diff --git a/html/font-awesome/webfonts/fa-v4compatibility.ttf b/html/font-awesome/webfonts/fa-v4compatibility.ttf new file mode 100644 index 00000000000..243bc25bd5e Binary files /dev/null and b/html/font-awesome/webfonts/fa-v4compatibility.ttf differ diff --git a/icons/effects/anomalies.dmi b/icons/effects/anomalies.dmi index e1671b816ec..c716fc79909 100644 Binary files a/icons/effects/anomalies.dmi and b/icons/effects/anomalies.dmi differ diff --git a/icons/effects/blood.dmi b/icons/effects/blood.dmi index f7e2e158d42..ed74435fb0a 100644 Binary files a/icons/effects/blood.dmi and b/icons/effects/blood.dmi differ diff --git a/icons/effects/blood_vox.dmi b/icons/effects/blood_vox.dmi deleted file mode 100644 index d6d8f1c8020..00000000000 Binary files a/icons/effects/blood_vox.dmi and /dev/null differ diff --git a/icons/effects/cutting_effect.dmi b/icons/effects/cutting_effect.dmi new file mode 100644 index 00000000000..e8b4abeec5d Binary files /dev/null and b/icons/effects/cutting_effect.dmi differ diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 8cb87f5fde8..e2f275a547c 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/icons/effects/icons.dmi b/icons/effects/icons.dmi new file mode 100644 index 00000000000..0d62217efbf Binary files /dev/null and b/icons/effects/icons.dmi differ diff --git a/icons/effects/landmarks_static.dmi b/icons/effects/landmarks_static.dmi deleted file mode 100644 index 05301f14a83..00000000000 Binary files a/icons/effects/landmarks_static.dmi and /dev/null differ diff --git a/icons/effects/magic.dmi b/icons/effects/magic.dmi new file mode 100644 index 00000000000..480332df134 Binary files /dev/null and b/icons/effects/magic.dmi differ diff --git a/icons/effects/mapping/docking_ports.dmi b/icons/effects/mapping/docking_ports.dmi new file mode 100644 index 00000000000..96909d7bd0f Binary files /dev/null and b/icons/effects/mapping/docking_ports.dmi differ diff --git a/icons/effects/mapping/landmarks_static.dmi b/icons/effects/mapping/landmarks_static.dmi new file mode 100644 index 00000000000..3e51e3f9a6e Binary files /dev/null and b/icons/effects/mapping/landmarks_static.dmi differ diff --git a/icons/effects/mapping/mapping_helpers.dmi b/icons/effects/mapping/mapping_helpers.dmi new file mode 100644 index 00000000000..430ac86c6db Binary files /dev/null and b/icons/effects/mapping/mapping_helpers.dmi differ diff --git a/icons/effects/mapping/random_spawners.dmi b/icons/effects/mapping/random_spawners.dmi new file mode 100644 index 00000000000..d6e06fb140d Binary files /dev/null and b/icons/effects/mapping/random_spawners.dmi differ diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi deleted file mode 100644 index 50e88be487b..00000000000 Binary files a/icons/effects/mapping_helpers.dmi and /dev/null differ diff --git a/icons/effects/particles/bonfire.dmi b/icons/effects/particles/bonfire.dmi new file mode 100644 index 00000000000..e8e2e36346d Binary files /dev/null and b/icons/effects/particles/bonfire.dmi differ diff --git a/icons/effects/particles/echo.dmi b/icons/effects/particles/echo.dmi new file mode 100644 index 00000000000..60a243a8a7b Binary files /dev/null and b/icons/effects/particles/echo.dmi differ diff --git a/icons/effects/particles/generic.dmi b/icons/effects/particles/generic.dmi new file mode 100644 index 00000000000..dfbb1a47a6e Binary files /dev/null and b/icons/effects/particles/generic.dmi differ diff --git a/icons/effects/particles/goop.dmi b/icons/effects/particles/goop.dmi new file mode 100644 index 00000000000..673c1a7ad5b Binary files /dev/null and b/icons/effects/particles/goop.dmi differ diff --git a/icons/effects/particles/pollen.dmi b/icons/effects/particles/pollen.dmi new file mode 100644 index 00000000000..559c4d1846f Binary files /dev/null and b/icons/effects/particles/pollen.dmi differ diff --git a/icons/effects/particles/smoke.dmi b/icons/effects/particles/smoke.dmi new file mode 100644 index 00000000000..99123beeb59 Binary files /dev/null and b/icons/effects/particles/smoke.dmi differ diff --git a/icons/effects/concrete_damage.dmi b/icons/effects/wall_damage.dmi similarity index 100% rename from icons/effects/concrete_damage.dmi rename to icons/effects/wall_damage.dmi diff --git a/icons/effects/weather_effects.dmi b/icons/effects/weather_effects.dmi index a8a7185af50..f76e34ec71e 100644 Binary files a/icons/effects/weather_effects.dmi and b/icons/effects/weather_effects.dmi differ diff --git a/icons/hud/radial.dmi b/icons/hud/radial.dmi new file mode 100644 index 00000000000..9786d403e0d Binary files /dev/null and b/icons/hud/radial.dmi differ diff --git a/icons/hud/screen_alert.dmi b/icons/hud/screen_alert.dmi index 60ada01078d..6e12eadc662 100644 Binary files a/icons/hud/screen_alert.dmi and b/icons/hud/screen_alert.dmi differ diff --git a/icons/mecha/inteq_gygax.dmi b/icons/mecha/inteq_gygax.dmi new file mode 100644 index 00000000000..08105d783ab Binary files /dev/null and b/icons/mecha/inteq_gygax.dmi differ diff --git a/icons/mecha/mecha.dmi b/icons/mecha/mecha.dmi index 6e87ac44d77..0e6761ea868 100644 Binary files a/icons/mecha/mecha.dmi and b/icons/mecha/mecha.dmi differ diff --git a/icons/mecha/mecha_equipment.dmi b/icons/mecha/mecha_equipment.dmi index 5e08a834a89..76549c15a3e 100644 Binary files a/icons/mecha/mecha_equipment.dmi and b/icons/mecha/mecha_equipment.dmi differ diff --git a/icons/misc/buildmode.dmi b/icons/misc/buildmode.dmi index db1e5fdba40..44698597b02 100644 Binary files a/icons/misc/buildmode.dmi and b/icons/misc/buildmode.dmi differ diff --git a/icons/misc/overmap.dmi b/icons/misc/overmap.dmi index f0c9f6e4467..94ac33e2958 100644 Binary files a/icons/misc/overmap.dmi and b/icons/misc/overmap.dmi differ diff --git a/icons/mob/actions/actions_flightsuit.dmi b/icons/mob/actions/actions_flightsuit.dmi deleted file mode 100644 index 3121c243555..00000000000 Binary files a/icons/mob/actions/actions_flightsuit.dmi and /dev/null differ diff --git a/icons/mob/actions/actions_mod.dmi b/icons/mob/actions/actions_mod.dmi new file mode 100644 index 00000000000..7f030ad53d4 Binary files /dev/null and b/icons/mob/actions/actions_mod.dmi differ diff --git a/icons/mob/blob.dmi b/icons/mob/blob.dmi deleted file mode 100644 index a197581533c..00000000000 Binary files a/icons/mob/blob.dmi and /dev/null differ diff --git a/icons/mob/clothing/accessories.dmi b/icons/mob/clothing/accessories.dmi index 7e87f94fd18..2cf6dbff241 100644 Binary files a/icons/mob/clothing/accessories.dmi and b/icons/mob/clothing/accessories.dmi differ diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index 5508bc67523..53910743285 100644 Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ diff --git a/icons/mob/clothing/back/backpacks.dmi b/icons/mob/clothing/back/backpacks.dmi new file mode 100644 index 00000000000..7138b440a4a Binary files /dev/null and b/icons/mob/clothing/back/backpacks.dmi differ diff --git a/icons/mob/clothing/back/backpacks_kepori.dmi b/icons/mob/clothing/back/backpacks_kepori.dmi new file mode 100644 index 00000000000..557ee29267f Binary files /dev/null and b/icons/mob/clothing/back/backpacks_kepori.dmi differ diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi index 7568a1274d6..94728158d0c 100644 Binary files a/icons/mob/clothing/belt.dmi and b/icons/mob/clothing/belt.dmi differ diff --git a/icons/mob/clothing/ears.dmi b/icons/mob/clothing/ears.dmi index e7376425f54..f973447b6f4 100644 Binary files a/icons/mob/clothing/ears.dmi and b/icons/mob/clothing/ears.dmi differ diff --git a/icons/mob/clothing/eyes.dmi b/icons/mob/clothing/eyes.dmi deleted file mode 100644 index 12ebf87128c..00000000000 Binary files a/icons/mob/clothing/eyes.dmi and /dev/null differ diff --git a/icons/mob/clothing/eyes/eyes.dmi b/icons/mob/clothing/eyes/eyes.dmi new file mode 100644 index 00000000000..5c83d2dcfbc Binary files /dev/null and b/icons/mob/clothing/eyes/eyes.dmi differ diff --git a/icons/mob/clothing/faction/hardliners/head.dmi b/icons/mob/clothing/faction/hardliners/head.dmi index 839826a7c42..c9c1d5a73f0 100644 Binary files a/icons/mob/clothing/faction/hardliners/head.dmi and b/icons/mob/clothing/faction/hardliners/head.dmi differ diff --git a/icons/mob/clothing/faction/hardliners/suits.dmi b/icons/mob/clothing/faction/hardliners/suits.dmi index 05f41eb00d2..669cb153450 100644 Binary files a/icons/mob/clothing/faction/hardliners/suits.dmi and b/icons/mob/clothing/faction/hardliners/suits.dmi differ diff --git a/icons/mob/clothing/faction/nanotrasen/mask.dmi b/icons/mob/clothing/faction/nanotrasen/mask.dmi new file mode 100644 index 00000000000..47824c7a69f Binary files /dev/null and b/icons/mob/clothing/faction/nanotrasen/mask.dmi differ diff --git a/icons/mob/clothing/faction/nanotrasen/mask_kepori.dmi b/icons/mob/clothing/faction/nanotrasen/mask_kepori.dmi new file mode 100644 index 00000000000..cf3a4392972 Binary files /dev/null and b/icons/mob/clothing/faction/nanotrasen/mask_kepori.dmi differ diff --git a/icons/mob/clothing/faction/nanotrasen/vox.dmi b/icons/mob/clothing/faction/nanotrasen/vox.dmi new file mode 100644 index 00000000000..c5793cc6107 Binary files /dev/null and b/icons/mob/clothing/faction/nanotrasen/vox.dmi differ diff --git a/icons/mob/clothing/faction/ngr/head.dmi b/icons/mob/clothing/faction/ngr/head.dmi index c370f07aa0f..eb0a316211e 100644 Binary files a/icons/mob/clothing/faction/ngr/head.dmi and b/icons/mob/clothing/faction/ngr/head.dmi differ diff --git a/icons/mob/clothing/faction/ngr/mask.dmi b/icons/mob/clothing/faction/ngr/mask.dmi index 0baead0a39b..298cf3ed830 100644 Binary files a/icons/mob/clothing/faction/ngr/mask.dmi and b/icons/mob/clothing/faction/ngr/mask.dmi differ diff --git a/icons/mob/clothing/faction/ngr/suits.dmi b/icons/mob/clothing/faction/ngr/suits.dmi index ac4fceb11ca..05561408e36 100644 Binary files a/icons/mob/clothing/faction/ngr/suits.dmi and b/icons/mob/clothing/faction/ngr/suits.dmi differ diff --git a/icons/mob/clothing/feet.dmi b/icons/mob/clothing/feet.dmi index 3246bbb24de..ec9850144f7 100644 Binary files a/icons/mob/clothing/feet.dmi and b/icons/mob/clothing/feet.dmi differ diff --git a/icons/mob/clothing/hands.dmi b/icons/mob/clothing/hands.dmi index 0afcd0ad26c..f191314a13b 100644 Binary files a/icons/mob/clothing/hands.dmi and b/icons/mob/clothing/hands.dmi differ diff --git a/icons/mob/clothing/head.dmi b/icons/mob/clothing/head.dmi index b4be2ee9b05..7076b15376f 100644 Binary files a/icons/mob/clothing/head.dmi and b/icons/mob/clothing/head.dmi differ diff --git a/icons/mob/clothing/head/armor.dmi b/icons/mob/clothing/head/armor.dmi index 38adc74f331..a4b4491521e 100644 Binary files a/icons/mob/clothing/head/armor.dmi and b/icons/mob/clothing/head/armor.dmi differ diff --git a/icons/mob/clothing/head/winterhood.dmi b/icons/mob/clothing/head/winterhood.dmi index 32189664139..cc3fd8a4e5d 100644 Binary files a/icons/mob/clothing/head/winterhood.dmi and b/icons/mob/clothing/head/winterhood.dmi differ diff --git a/icons/mob/clothing/helmet_overlays.dmi b/icons/mob/clothing/helmet_overlays.dmi index 1c41c357a42..a6860542bd5 100644 Binary files a/icons/mob/clothing/helmet_overlays.dmi and b/icons/mob/clothing/helmet_overlays.dmi differ diff --git a/icons/mob/clothing/mask.dmi b/icons/mob/clothing/mask.dmi index bfcc9970930..cebe3a9f847 100644 Binary files a/icons/mob/clothing/mask.dmi and b/icons/mob/clothing/mask.dmi differ diff --git a/icons/mob/clothing/modsuit/mod_clothing.dmi b/icons/mob/clothing/modsuit/mod_clothing.dmi new file mode 100644 index 00000000000..27d4df3b902 Binary files /dev/null and b/icons/mob/clothing/modsuit/mod_clothing.dmi differ diff --git a/icons/mob/clothing/modsuit/mod_modules.dmi b/icons/mob/clothing/modsuit/mod_modules.dmi new file mode 100644 index 00000000000..11259428cf4 Binary files /dev/null and b/icons/mob/clothing/modsuit/mod_modules.dmi differ diff --git a/icons/mob/clothing/species/kepori.dmi b/icons/mob/clothing/species/kepori.dmi index 1586e80e9b1..9e108db76b8 100644 Binary files a/icons/mob/clothing/species/kepori.dmi and b/icons/mob/clothing/species/kepori.dmi differ diff --git a/icons/mob/clothing/suit.dmi b/icons/mob/clothing/suit.dmi index 65a7eb2c3cc..e3685f78f1a 100644 Binary files a/icons/mob/clothing/suit.dmi and b/icons/mob/clothing/suit.dmi differ diff --git a/icons/mob/clothing/suits/hooded.dmi b/icons/mob/clothing/suits/hooded.dmi index a4be6f11f79..7d2f53a13b0 100644 Binary files a/icons/mob/clothing/suits/hooded.dmi and b/icons/mob/clothing/suits/hooded.dmi differ diff --git a/icons/mob/clothing/suits/spacesuits.dmi b/icons/mob/clothing/suits/spacesuits.dmi index da507519599..1a0f5001b34 100644 Binary files a/icons/mob/clothing/suits/spacesuits.dmi and b/icons/mob/clothing/suits/spacesuits.dmi differ diff --git a/icons/mob/clothing/under/color.dmi b/icons/mob/clothing/under/color.dmi index 8bda1f9c7d6..d87321f4f01 100644 Binary files a/icons/mob/clothing/under/color.dmi and b/icons/mob/clothing/under/color.dmi differ diff --git a/icons/mob/clothing/under/command.dmi b/icons/mob/clothing/under/command.dmi index 6ed86df85da..4935f41abc8 100644 Binary files a/icons/mob/clothing/under/command.dmi and b/icons/mob/clothing/under/command.dmi differ diff --git a/icons/mob/clothing/under/dress.dmi b/icons/mob/clothing/under/dress.dmi deleted file mode 100644 index a67fcb85331..00000000000 Binary files a/icons/mob/clothing/under/dress.dmi and /dev/null differ diff --git a/icons/mob/clothing/under/dresses/dress.dmi b/icons/mob/clothing/under/dresses/dress.dmi new file mode 100644 index 00000000000..318b67abbb1 Binary files /dev/null and b/icons/mob/clothing/under/dresses/dress.dmi differ diff --git a/icons/mob/clothing/under/dresses/dress_kepori.dmi b/icons/mob/clothing/under/dresses/dress_kepori.dmi new file mode 100644 index 00000000000..d6b8e2dfad7 Binary files /dev/null and b/icons/mob/clothing/under/dresses/dress_kepori.dmi differ diff --git a/icons/mob/clothing/under/suits.dmi b/icons/mob/clothing/under/suits.dmi index c7eceebc354..cf217818830 100644 Binary files a/icons/mob/clothing/under/suits.dmi and b/icons/mob/clothing/under/suits.dmi differ diff --git a/icons/mob/clothing/under/syndicate.dmi b/icons/mob/clothing/under/syndicate.dmi index cc5e484b89c..eb93d4b3530 100644 Binary files a/icons/mob/clothing/under/syndicate.dmi and b/icons/mob/clothing/under/syndicate.dmi differ diff --git a/icons/mob/clothing/underwear/species/kepori/underwear_legs_kepori.dmi b/icons/mob/clothing/underwear/species/kepori/underwear_legs_kepori.dmi index 166e1a7624d..13306114988 100644 Binary files a/icons/mob/clothing/underwear/species/kepori/underwear_legs_kepori.dmi and b/icons/mob/clothing/underwear/species/kepori/underwear_legs_kepori.dmi differ diff --git a/icons/mob/clothing/underwear/species/kepori/underwear_legs_keporiOLD.dmi b/icons/mob/clothing/underwear/species/kepori/underwear_legs_keporiOLD.dmi deleted file mode 100644 index aa9c16beb0a..00000000000 Binary files a/icons/mob/clothing/underwear/species/kepori/underwear_legs_keporiOLD.dmi and /dev/null differ diff --git a/icons/mob/clothing/underwear/species/kepori/underwear_torso_kepori.dmi b/icons/mob/clothing/underwear/species/kepori/underwear_torso_kepori.dmi index 1a6a59cd524..56c2757dc0f 100644 Binary files a/icons/mob/clothing/underwear/species/kepori/underwear_torso_kepori.dmi and b/icons/mob/clothing/underwear/species/kepori/underwear_torso_kepori.dmi differ diff --git a/icons/mob/ethereal_parts.dmi b/icons/mob/ethereal_parts.dmi index 14e0c51037f..c5d0c9b45f7 100644 Binary files a/icons/mob/ethereal_parts.dmi and b/icons/mob/ethereal_parts.dmi differ diff --git a/icons/mob/hair_gradients.dmi b/icons/mob/hair_gradients.dmi index df0fd1b6f74..7537193b131 100644 Binary files a/icons/mob/hair_gradients.dmi and b/icons/mob/hair_gradients.dmi differ diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index a819dd3ca78..0c0efee7cbb 100644 Binary files a/icons/mob/human_face.dmi and b/icons/mob/human_face.dmi differ diff --git a/icons/mob/inhands/64x64_lefthand.dmi b/icons/mob/inhands/64x64_lefthand.dmi index 50a17a22d47..64efd1262a2 100644 Binary files a/icons/mob/inhands/64x64_lefthand.dmi and b/icons/mob/inhands/64x64_lefthand.dmi differ diff --git a/icons/mob/inhands/64x64_righthand.dmi b/icons/mob/inhands/64x64_righthand.dmi index bbeddf91528..e91c7830c61 100644 Binary files a/icons/mob/inhands/64x64_righthand.dmi and b/icons/mob/inhands/64x64_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/gear_handle_lefthand.dmi b/icons/mob/inhands/equipment/gear_handle_lefthand.dmi new file mode 100644 index 00000000000..169f91ce6eb Binary files /dev/null and b/icons/mob/inhands/equipment/gear_handle_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/gear_handle_righthand.dmi b/icons/mob/inhands/equipment/gear_handle_righthand.dmi new file mode 100644 index 00000000000..172f18e6095 Binary files /dev/null and b/icons/mob/inhands/equipment/gear_handle_righthand.dmi differ diff --git a/icons/mob/inhands/misc/concrete_bag_lefthand.dmi b/icons/mob/inhands/misc/concrete_bag_lefthand.dmi new file mode 100644 index 00000000000..9d331882dfc Binary files /dev/null and b/icons/mob/inhands/misc/concrete_bag_lefthand.dmi differ diff --git a/icons/mob/inhands/misc/concrete_bag_righthand.dmi b/icons/mob/inhands/misc/concrete_bag_righthand.dmi new file mode 100644 index 00000000000..707222f919e Binary files /dev/null and b/icons/mob/inhands/misc/concrete_bag_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/axes_lefthand.dmi b/icons/mob/inhands/weapons/axes_lefthand.dmi index 3b95d17cdc7..accff4a2bb7 100644 Binary files a/icons/mob/inhands/weapons/axes_lefthand.dmi and b/icons/mob/inhands/weapons/axes_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/axes_righthand.dmi b/icons/mob/inhands/weapons/axes_righthand.dmi index 1f5273d20d3..79a3b19b779 100644 Binary files a/icons/mob/inhands/weapons/axes_righthand.dmi and b/icons/mob/inhands/weapons/axes_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/bombs_lefthand.dmi b/icons/mob/inhands/weapons/bombs_lefthand.dmi index 4772c01a228..c434190de82 100644 Binary files a/icons/mob/inhands/weapons/bombs_lefthand.dmi and b/icons/mob/inhands/weapons/bombs_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/bombs_righthand.dmi b/icons/mob/inhands/weapons/bombs_righthand.dmi index 9046e788d29..f4cc72aeff7 100644 Binary files a/icons/mob/inhands/weapons/bombs_righthand.dmi and b/icons/mob/inhands/weapons/bombs_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/chainsaw_lefthand.dmi b/icons/mob/inhands/weapons/chainsaw_lefthand.dmi index 5235f151010..658f772c9c7 100644 Binary files a/icons/mob/inhands/weapons/chainsaw_lefthand.dmi and b/icons/mob/inhands/weapons/chainsaw_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/chainsaw_righthand.dmi b/icons/mob/inhands/weapons/chainsaw_righthand.dmi index 0800a527315..21035a077de 100644 Binary files a/icons/mob/inhands/weapons/chainsaw_righthand.dmi and b/icons/mob/inhands/weapons/chainsaw_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi index ff71ba99e3c..fd76394a835 100644 Binary files a/icons/mob/inhands/weapons/guns_lefthand.dmi and b/icons/mob/inhands/weapons/guns_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/polearms_lefthand.dmi b/icons/mob/inhands/weapons/polearms_lefthand.dmi index afe36277e9f..f7a1aa75a66 100644 Binary files a/icons/mob/inhands/weapons/polearms_lefthand.dmi and b/icons/mob/inhands/weapons/polearms_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/polearms_righthand.dmi b/icons/mob/inhands/weapons/polearms_righthand.dmi index b72556f0b13..1fae6b8eb45 100644 Binary files a/icons/mob/inhands/weapons/polearms_righthand.dmi and b/icons/mob/inhands/weapons/polearms_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/staves_lefthand.dmi b/icons/mob/inhands/weapons/staves_lefthand.dmi index da61d8df47e..151e9645b37 100644 Binary files a/icons/mob/inhands/weapons/staves_lefthand.dmi and b/icons/mob/inhands/weapons/staves_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/staves_righthand.dmi b/icons/mob/inhands/weapons/staves_righthand.dmi index 3cb569627ea..8df69b74cc3 100644 Binary files a/icons/mob/inhands/weapons/staves_righthand.dmi and b/icons/mob/inhands/weapons/staves_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/swords_lefthand.dmi b/icons/mob/inhands/weapons/swords_lefthand.dmi index 41093fde051..fc5ed5ee90b 100644 Binary files a/icons/mob/inhands/weapons/swords_lefthand.dmi and b/icons/mob/inhands/weapons/swords_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/swords_righthand.dmi b/icons/mob/inhands/weapons/swords_righthand.dmi index a8559339cd2..6e04504c3fb 100644 Binary files a/icons/mob/inhands/weapons/swords_righthand.dmi and b/icons/mob/inhands/weapons/swords_righthand.dmi differ diff --git a/icons/mob/pets.dmi b/icons/mob/pets.dmi index ec690043230..28ace37f417 100644 Binary files a/icons/mob/pets.dmi and b/icons/mob/pets.dmi differ diff --git a/icons/mob/simple_frontiersman.dmi b/icons/mob/simple_frontiersman.dmi new file mode 100644 index 00000000000..76532a9b45e Binary files /dev/null and b/icons/mob/simple_frontiersman.dmi differ diff --git a/icons/mob/simple_human.dmi b/icons/mob/simple_human.dmi index 133544acc99..08034334578 100644 Binary files a/icons/mob/simple_human.dmi and b/icons/mob/simple_human.dmi differ diff --git a/icons/mob/species/human/rabbit.dmi b/icons/mob/species/human/rabbit.dmi index fcc6599f735..26f0cb080d2 100644 Binary files a/icons/mob/species/human/rabbit.dmi and b/icons/mob/species/human/rabbit.dmi differ diff --git a/icons/mob/species/kepori/kepori_overlays.dmi b/icons/mob/species/kepori/kepori_overlays.dmi new file mode 100644 index 00000000000..29406cb32ae Binary files /dev/null and b/icons/mob/species/kepori/kepori_overlays.dmi differ diff --git a/icons/mob/species/kepori/onmob_back_kepori.dmi b/icons/mob/species/kepori/onmob_back_kepori.dmi new file mode 100644 index 00000000000..98218916f7c Binary files /dev/null and b/icons/mob/species/kepori/onmob_back_kepori.dmi differ diff --git a/icons/mob/species/kepori/onmob_eyes_kepori.dmi b/icons/mob/species/kepori/onmob_eyes_kepori.dmi index 1b6c6f68a3a..e0151a96122 100644 Binary files a/icons/mob/species/kepori/onmob_eyes_kepori.dmi and b/icons/mob/species/kepori/onmob_eyes_kepori.dmi differ diff --git a/icons/mob/species/kepori/onmob_head_kepori.dmi b/icons/mob/species/kepori/onmob_head_kepori.dmi index b4631838b75..1557a2d30c0 100644 Binary files a/icons/mob/species/kepori/onmob_head_kepori.dmi and b/icons/mob/species/kepori/onmob_head_kepori.dmi differ diff --git a/icons/mob/species/kepori/onmob_mask_kepori.dmi b/icons/mob/species/kepori/onmob_mask_kepori.dmi index d455cf0bd3e..51391bd773c 100644 Binary files a/icons/mob/species/kepori/onmob_mask_kepori.dmi and b/icons/mob/species/kepori/onmob_mask_kepori.dmi differ diff --git a/icons/mob/species/kepori/onmob_suit_kepori.dmi b/icons/mob/species/kepori/onmob_suit_kepori.dmi index 6182a961254..18b8c9bceaa 100644 Binary files a/icons/mob/species/kepori/onmob_suit_kepori.dmi and b/icons/mob/species/kepori/onmob_suit_kepori.dmi differ diff --git a/icons/mob/species/kepori/onmob_uniform_kepori.dmi b/icons/mob/species/kepori/onmob_uniform_kepori.dmi index d6f011cef31..e2450f7a749 100644 Binary files a/icons/mob/species/kepori/onmob_uniform_kepori.dmi and b/icons/mob/species/kepori/onmob_uniform_kepori.dmi differ diff --git a/icons/mob/species/misc/digitigrade.dmi b/icons/mob/species/misc/digitigrade.dmi index 8736b8057f1..9c93fb62359 100644 Binary files a/icons/mob/species/misc/digitigrade.dmi and b/icons/mob/species/misc/digitigrade.dmi differ diff --git a/icons/mob/species/misc/digitigrade_shoes.dmi b/icons/mob/species/misc/digitigrade_shoes.dmi index 9d08980b1e5..fb3dd669347 100644 Binary files a/icons/mob/species/misc/digitigrade_shoes.dmi and b/icons/mob/species/misc/digitigrade_shoes.dmi differ diff --git a/icons/mob/species/misc/digitigrade_suits.dmi b/icons/mob/species/misc/digitigrade_suits.dmi index 8bdb115b037..b622c59dfa7 100644 Binary files a/icons/mob/species/misc/digitigrade_suits.dmi and b/icons/mob/species/misc/digitigrade_suits.dmi differ diff --git a/icons/mob/species/vox/bodyparts.dmi b/icons/mob/species/vox/bodyparts.dmi index fb098fa01d8..20e39116a8e 100644 Binary files a/icons/mob/species/vox/bodyparts.dmi and b/icons/mob/species/vox/bodyparts.dmi differ diff --git a/icons/mob/species/vox/onmob_back_vox.dmi b/icons/mob/species/vox/onmob_back_vox.dmi index 953ff24a290..c2000834877 100644 Binary files a/icons/mob/species/vox/onmob_back_vox.dmi and b/icons/mob/species/vox/onmob_back_vox.dmi differ diff --git a/icons/mob/species/vox/onmob_eyes_vox.dmi b/icons/mob/species/vox/onmob_eyes_vox.dmi index 2a30fe355bf..1945c69e7fe 100644 Binary files a/icons/mob/species/vox/onmob_eyes_vox.dmi and b/icons/mob/species/vox/onmob_eyes_vox.dmi differ diff --git a/icons/mob/species/vox/onmob_hands_vox.dmi b/icons/mob/species/vox/onmob_hands_vox.dmi index ff5c1a11df6..40e5d9896da 100644 Binary files a/icons/mob/species/vox/onmob_hands_vox.dmi and b/icons/mob/species/vox/onmob_hands_vox.dmi differ diff --git a/icons/mob/species/vox/onmob_head_vox.dmi b/icons/mob/species/vox/onmob_head_vox.dmi index 0ab1c3be967..027b3bd4d01 100644 Binary files a/icons/mob/species/vox/onmob_head_vox.dmi and b/icons/mob/species/vox/onmob_head_vox.dmi differ diff --git a/icons/mob/species/vox/onmob_mask_vox.dmi b/icons/mob/species/vox/onmob_mask_vox.dmi index b460caedb72..e005fabe5e2 100644 Binary files a/icons/mob/species/vox/onmob_mask_vox.dmi and b/icons/mob/species/vox/onmob_mask_vox.dmi differ diff --git a/icons/mob/species/vox/onmob_neck_vox.dmi b/icons/mob/species/vox/onmob_neck_vox.dmi new file mode 100644 index 00000000000..1877ca277c9 Binary files /dev/null and b/icons/mob/species/vox/onmob_neck_vox.dmi differ diff --git a/icons/mob/species/vox/onmob_suit_vox.dmi b/icons/mob/species/vox/onmob_suit_vox.dmi index 7b2ee1c8d1c..d43891315e7 100644 Binary files a/icons/mob/species/vox/onmob_suit_vox.dmi and b/icons/mob/species/vox/onmob_suit_vox.dmi differ diff --git a/icons/mob/species/vox/onmob_uniform_vox.dmi b/icons/mob/species/vox/onmob_uniform_vox.dmi index 241b13861b4..9bafaedb200 100644 Binary files a/icons/mob/species/vox/onmob_uniform_vox.dmi and b/icons/mob/species/vox/onmob_uniform_vox.dmi differ diff --git a/icons/mob/species/vox/vox_overlays.dmi b/icons/mob/species/vox/vox_overlays.dmi new file mode 100644 index 00000000000..f0fc59ec59d Binary files /dev/null and b/icons/mob/species/vox/vox_overlays.dmi differ diff --git a/icons/mob/vox_parts.dmi b/icons/mob/species/vox/vox_parts.dmi similarity index 100% rename from icons/mob/vox_parts.dmi rename to icons/mob/species/vox/vox_parts.dmi diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 86001423aeb..ca816fab903 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/ammo_bullets.dmi b/icons/obj/ammo_bullets.dmi deleted file mode 100644 index 087cdd4c771..00000000000 Binary files a/icons/obj/ammo_bullets.dmi and /dev/null differ diff --git a/icons/obj/ammo_shotshells.dmi b/icons/obj/ammo_shotshells.dmi deleted file mode 100644 index fe37023686b..00000000000 Binary files a/icons/obj/ammo_shotshells.dmi and /dev/null differ diff --git a/icons/obj/ammunition/ammo.dmi b/icons/obj/ammunition/ammo.dmi new file mode 100644 index 00000000000..8d1e40a48f1 Binary files /dev/null and b/icons/obj/ammunition/ammo.dmi differ diff --git a/icons/obj/ammunition/ammo_boxes.dmi b/icons/obj/ammunition/ammo_boxes.dmi new file mode 100644 index 00000000000..ac963d46212 Binary files /dev/null and b/icons/obj/ammunition/ammo_boxes.dmi differ diff --git a/icons/obj/ammunition/ammo_bullets.dmi b/icons/obj/ammunition/ammo_bullets.dmi new file mode 100644 index 00000000000..6ac65ff5bb6 Binary files /dev/null and b/icons/obj/ammunition/ammo_bullets.dmi differ diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index 17bab47dc9e..486b7be4e6f 100644 Binary files a/icons/obj/bureaucracy.dmi and b/icons/obj/bureaucracy.dmi differ diff --git a/icons/obj/chemical/chem_jug.dmi b/icons/obj/chemical/chem_jug.dmi index d872ba00ff1..e5ab15a43e1 100644 Binary files a/icons/obj/chemical/chem_jug.dmi and b/icons/obj/chemical/chem_jug.dmi differ diff --git a/icons/obj/chemical/concrete.dmi b/icons/obj/chemical/concrete.dmi new file mode 100644 index 00000000000..26c557e4243 Binary files /dev/null and b/icons/obj/chemical/concrete.dmi differ diff --git a/icons/obj/clothing/accessories.dmi b/icons/obj/clothing/accessories.dmi index ecf54fb9f61..fd66991eb77 100644 Binary files a/icons/obj/clothing/accessories.dmi and b/icons/obj/clothing/accessories.dmi differ diff --git a/icons/obj/clothing/back/backpacks.dmi b/icons/obj/clothing/back/backpacks.dmi new file mode 100644 index 00000000000..01e2c1d6923 Binary files /dev/null and b/icons/obj/clothing/back/backpacks.dmi differ diff --git a/icons/obj/clothing/belt_overlays.dmi b/icons/obj/clothing/belt_overlays.dmi index 14af5186ae5..99887c0a761 100644 Binary files a/icons/obj/clothing/belt_overlays.dmi and b/icons/obj/clothing/belt_overlays.dmi differ diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index 20cc5db40a4..931f502def1 100644 Binary files a/icons/obj/clothing/belts.dmi and b/icons/obj/clothing/belts.dmi differ diff --git a/icons/obj/clothing/eyes/eyes.dmi b/icons/obj/clothing/eyes/eyes.dmi new file mode 100644 index 00000000000..63b92986ca5 Binary files /dev/null and b/icons/obj/clothing/eyes/eyes.dmi differ diff --git a/icons/obj/clothing/faction/hardliners/head.dmi b/icons/obj/clothing/faction/hardliners/head.dmi index 5101eeedce9..75f561897f1 100644 Binary files a/icons/obj/clothing/faction/hardliners/head.dmi and b/icons/obj/clothing/faction/hardliners/head.dmi differ diff --git a/icons/obj/clothing/faction/hardliners/suits.dmi b/icons/obj/clothing/faction/hardliners/suits.dmi index 39da1c95273..0c1cded6bc2 100644 Binary files a/icons/obj/clothing/faction/hardliners/suits.dmi and b/icons/obj/clothing/faction/hardliners/suits.dmi differ diff --git a/icons/obj/clothing/faction/nanotrasen/mask.dmi b/icons/obj/clothing/faction/nanotrasen/mask.dmi new file mode 100644 index 00000000000..8c175975bdf Binary files /dev/null and b/icons/obj/clothing/faction/nanotrasen/mask.dmi differ diff --git a/icons/obj/clothing/faction/ngr/head.dmi b/icons/obj/clothing/faction/ngr/head.dmi index d2258c5565d..92e8a9f45d9 100644 Binary files a/icons/obj/clothing/faction/ngr/head.dmi and b/icons/obj/clothing/faction/ngr/head.dmi differ diff --git a/icons/obj/clothing/faction/ngr/mask.dmi b/icons/obj/clothing/faction/ngr/mask.dmi index c867f6f569d..a276f37437b 100644 Binary files a/icons/obj/clothing/faction/ngr/mask.dmi and b/icons/obj/clothing/faction/ngr/mask.dmi differ diff --git a/icons/obj/clothing/faction/ngr/suits.dmi b/icons/obj/clothing/faction/ngr/suits.dmi index 49344c553e0..9c05f154c70 100644 Binary files a/icons/obj/clothing/faction/ngr/suits.dmi and b/icons/obj/clothing/faction/ngr/suits.dmi differ diff --git a/icons/obj/clothing/flightsuit.dmi b/icons/obj/clothing/flightsuit.dmi deleted file mode 100644 index e08e74db1ce..00000000000 Binary files a/icons/obj/clothing/flightsuit.dmi and /dev/null differ diff --git a/icons/obj/clothing/glasses.dmi b/icons/obj/clothing/glasses.dmi deleted file mode 100644 index 0b7af59b91e..00000000000 Binary files a/icons/obj/clothing/glasses.dmi and /dev/null differ diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index ba27bd4c816..25e6005778c 100644 Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 3dde9fc8909..80edcb673b0 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/head/armor.dmi b/icons/obj/clothing/head/armor.dmi index 6757e591c85..8fbb5917026 100644 Binary files a/icons/obj/clothing/head/armor.dmi and b/icons/obj/clothing/head/armor.dmi differ diff --git a/icons/obj/clothing/head/winterhood.dmi b/icons/obj/clothing/head/winterhood.dmi index aa212eb48da..c89538ccb0b 100644 Binary files a/icons/obj/clothing/head/winterhood.dmi and b/icons/obj/clothing/head/winterhood.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index cbe3366557f..895cad1c91a 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/icons/obj/clothing/modsuit/mod_clothing.dmi b/icons/obj/clothing/modsuit/mod_clothing.dmi new file mode 100644 index 00000000000..d2d9e0c72e3 Binary files /dev/null and b/icons/obj/clothing/modsuit/mod_clothing.dmi differ diff --git a/icons/obj/clothing/modsuit/mod_construction.dmi b/icons/obj/clothing/modsuit/mod_construction.dmi new file mode 100644 index 00000000000..a6be94284af Binary files /dev/null and b/icons/obj/clothing/modsuit/mod_construction.dmi differ diff --git a/icons/obj/clothing/modsuit/mod_modules.dmi b/icons/obj/clothing/modsuit/mod_modules.dmi new file mode 100644 index 00000000000..69affa3fa49 Binary files /dev/null and b/icons/obj/clothing/modsuit/mod_modules.dmi differ diff --git a/icons/obj/clothing/neck.dmi b/icons/obj/clothing/neck.dmi index 17b6c986337..6c9baacc6c5 100644 Binary files a/icons/obj/clothing/neck.dmi and b/icons/obj/clothing/neck.dmi differ diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi index 5a162a96913..00e1da5d54e 100644 Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 482f56db36d..b87d74d6c20 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/suits/hooded.dmi b/icons/obj/clothing/suits/hooded.dmi index 5b04aa13aaa..7c3a70a0624 100644 Binary files a/icons/obj/clothing/suits/hooded.dmi and b/icons/obj/clothing/suits/hooded.dmi differ diff --git a/icons/obj/clothing/under/SolGov.dmi b/icons/obj/clothing/under/SolGov.dmi index 258c492e530..ef03505ae1c 100644 Binary files a/icons/obj/clothing/under/SolGov.dmi and b/icons/obj/clothing/under/SolGov.dmi differ diff --git a/icons/obj/clothing/under/cargo.dmi b/icons/obj/clothing/under/cargo.dmi index 471b4551329..820757a47ad 100644 Binary files a/icons/obj/clothing/under/cargo.dmi and b/icons/obj/clothing/under/cargo.dmi differ diff --git a/icons/obj/clothing/under/centcom.dmi b/icons/obj/clothing/under/centcom.dmi index 3fd5a370973..4522141772a 100644 Binary files a/icons/obj/clothing/under/centcom.dmi and b/icons/obj/clothing/under/centcom.dmi differ diff --git a/icons/obj/clothing/under/color.dmi b/icons/obj/clothing/under/color.dmi index 7a616f4c336..d9c37e30212 100644 Binary files a/icons/obj/clothing/under/color.dmi and b/icons/obj/clothing/under/color.dmi differ diff --git a/icons/obj/clothing/under/command.dmi b/icons/obj/clothing/under/command.dmi index 17b8285232f..ca0c7735979 100644 Binary files a/icons/obj/clothing/under/command.dmi and b/icons/obj/clothing/under/command.dmi differ diff --git a/icons/obj/clothing/under/dress.dmi b/icons/obj/clothing/under/dress.dmi index 7cb59b080c3..491ae9d6988 100644 Binary files a/icons/obj/clothing/under/dress.dmi and b/icons/obj/clothing/under/dress.dmi differ diff --git a/icons/obj/clothing/under/engineering.dmi b/icons/obj/clothing/under/engineering.dmi index a05a369e94e..34581d3dfcc 100644 Binary files a/icons/obj/clothing/under/engineering.dmi and b/icons/obj/clothing/under/engineering.dmi differ diff --git a/icons/obj/clothing/under/misc.dmi b/icons/obj/clothing/under/misc.dmi index 8d68510d378..66d52fb3549 100644 Binary files a/icons/obj/clothing/under/misc.dmi and b/icons/obj/clothing/under/misc.dmi differ diff --git a/icons/obj/clothing/under/rnd.dmi b/icons/obj/clothing/under/rnd.dmi index 8093b0a1950..e6c138a8b00 100644 Binary files a/icons/obj/clothing/under/rnd.dmi and b/icons/obj/clothing/under/rnd.dmi differ diff --git a/icons/obj/clothing/under/security.dmi b/icons/obj/clothing/under/security.dmi index 67e8868958f..449964637b3 100644 Binary files a/icons/obj/clothing/under/security.dmi and b/icons/obj/clothing/under/security.dmi differ diff --git a/icons/obj/clothing/under/service.dmi b/icons/obj/clothing/under/service.dmi index b6aad157b3c..a6a0ea8b49b 100644 Binary files a/icons/obj/clothing/under/service.dmi and b/icons/obj/clothing/under/service.dmi differ diff --git a/icons/obj/clothing/under/shorts_pants.dmi b/icons/obj/clothing/under/shorts_pants.dmi index 948fc01d4c8..1d319b25f69 100644 Binary files a/icons/obj/clothing/under/shorts_pants.dmi and b/icons/obj/clothing/under/shorts_pants.dmi differ diff --git a/icons/obj/clothing/under/suits.dmi b/icons/obj/clothing/under/suits.dmi index 453cb656de8..bda067487f9 100644 Binary files a/icons/obj/clothing/under/suits.dmi and b/icons/obj/clothing/under/suits.dmi differ diff --git a/icons/obj/clothing/under/syndicate.dmi b/icons/obj/clothing/under/syndicate.dmi index 1a2fcad74b8..4c3f0b5fc26 100644 Binary files a/icons/obj/clothing/under/syndicate.dmi and b/icons/obj/clothing/under/syndicate.dmi differ diff --git a/icons/obj/contraband.dmi b/icons/obj/contraband.dmi index cae8e53aa64..b14df8f9a01 100644 Binary files a/icons/obj/contraband.dmi and b/icons/obj/contraband.dmi differ diff --git a/icons/obj/deskflags.dmi b/icons/obj/deskflags.dmi index 6a950bcebc4..10f24d037fd 100644 Binary files a/icons/obj/deskflags.dmi and b/icons/obj/deskflags.dmi differ diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index d7a44b667a0..468069b7c22 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ diff --git a/icons/obj/drinks/drinks.dmi b/icons/obj/drinks/drinks.dmi index 2ab3cd0db5e..67447e75ee3 100644 Binary files a/icons/obj/drinks/drinks.dmi and b/icons/obj/drinks/drinks.dmi differ diff --git a/icons/obj/food/donuts.dmi b/icons/obj/food/donuts.dmi index 07c8d7ed162..31b4d3188f3 100644 Binary files a/icons/obj/food/donuts.dmi and b/icons/obj/food/donuts.dmi differ diff --git a/icons/obj/food/ration.dmi b/icons/obj/food/ration.dmi index 5bcf1f2b490..42cc013cc14 100644 Binary files a/icons/obj/food/ration.dmi and b/icons/obj/food/ration.dmi differ diff --git a/icons/obj/food/soupsalad.dmi b/icons/obj/food/soupsalad.dmi index 1205fd888ad..d1baf327dd8 100644 Binary files a/icons/obj/food/soupsalad.dmi and b/icons/obj/food/soupsalad.dmi differ diff --git a/icons/obj/grenade.dmi b/icons/obj/grenade.dmi index 2998913f59b..0bc1904bc6d 100644 Binary files a/icons/obj/grenade.dmi and b/icons/obj/grenade.dmi differ diff --git a/icons/obj/guncase.dmi b/icons/obj/guncase.dmi index 4941b965f2f..83b5292a5cf 100644 Binary files a/icons/obj/guncase.dmi and b/icons/obj/guncase.dmi differ diff --git a/icons/obj/guncase_48x32.dmi b/icons/obj/guncase_48x32.dmi deleted file mode 100644 index b5dc20bc64e..00000000000 Binary files a/icons/obj/guncase_48x32.dmi and /dev/null differ diff --git a/icons/obj/guns/48x32guns.dmi b/icons/obj/guns/48x32guns.dmi index a0e7189b402..6643bb1e76c 100644 Binary files a/icons/obj/guns/48x32guns.dmi and b/icons/obj/guns/48x32guns.dmi differ diff --git a/icons/obj/guns/attachments.dmi b/icons/obj/guns/attachments.dmi new file mode 100644 index 00000000000..83232d3427e Binary files /dev/null and b/icons/obj/guns/attachments.dmi differ diff --git a/icons/obj/guns/bayonets.dmi b/icons/obj/guns/bayonets.dmi deleted file mode 100644 index 32b5448b8ed..00000000000 Binary files a/icons/obj/guns/bayonets.dmi and /dev/null differ diff --git a/icons/obj/guns/cell_latch.dmi b/icons/obj/guns/cell_latch.dmi new file mode 100644 index 00000000000..6372df68877 Binary files /dev/null and b/icons/obj/guns/cell_latch.dmi differ diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi index e02a7e288cc..6a32de5b08f 100644 Binary files a/icons/obj/guns/energy.dmi and b/icons/obj/guns/energy.dmi differ diff --git a/icons/obj/guns/flashlights.dmi b/icons/obj/guns/flashlights.dmi deleted file mode 100644 index eef6d953f94..00000000000 Binary files a/icons/obj/guns/flashlights.dmi and /dev/null differ diff --git a/icons/obj/guns/manufacturer/clip_lanchester/48x32-old.dmi b/icons/obj/guns/manufacturer/clip_lanchester/48x32-old.dmi new file mode 100644 index 00000000000..d87a6f3c843 Binary files /dev/null and b/icons/obj/guns/manufacturer/clip_lanchester/48x32-old.dmi differ diff --git a/icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi b/icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi index d87a6f3c843..5d24f6a8877 100644 Binary files a/icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi and b/icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi b/icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi index 7673c2f6d64..78e16bad6f9 100644 Binary files a/icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi and b/icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi b/icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi index 4f9158d2d36..fea6178e903 100644 Binary files a/icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi and b/icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi differ diff --git a/icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi b/icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi index 4549f30f4ff..2d5103ec36c 100644 Binary files a/icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi and b/icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi differ diff --git a/icons/obj/guns/manufacturer/frontier_import/48x32.dmi b/icons/obj/guns/manufacturer/frontier_import/48x32.dmi index 149793c43c3..be95cfa90c1 100644 Binary files a/icons/obj/guns/manufacturer/frontier_import/48x32.dmi and b/icons/obj/guns/manufacturer/frontier_import/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/frontier_import/lefthand.dmi b/icons/obj/guns/manufacturer/frontier_import/lefthand.dmi index 33b3381bdfe..e34bf3995df 100644 Binary files a/icons/obj/guns/manufacturer/frontier_import/lefthand.dmi and b/icons/obj/guns/manufacturer/frontier_import/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/frontier_import/onmob.dmi b/icons/obj/guns/manufacturer/frontier_import/onmob.dmi index a0706579ccb..e0b05e0ec63 100644 Binary files a/icons/obj/guns/manufacturer/frontier_import/onmob.dmi and b/icons/obj/guns/manufacturer/frontier_import/onmob.dmi differ diff --git a/icons/obj/guns/manufacturer/frontier_import/righthand.dmi b/icons/obj/guns/manufacturer/frontier_import/righthand.dmi index 73945b8524d..30eeaa12d4e 100644 Binary files a/icons/obj/guns/manufacturer/frontier_import/righthand.dmi and b/icons/obj/guns/manufacturer/frontier_import/righthand.dmi differ diff --git a/icons/obj/guns/manufacturer/hunterspride/48x32.dmi b/icons/obj/guns/manufacturer/hunterspride/48x32.dmi index 19b4202da78..6c3851f0ca7 100644 Binary files a/icons/obj/guns/manufacturer/hunterspride/48x32.dmi and b/icons/obj/guns/manufacturer/hunterspride/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/hunterspride/lefthand.dmi b/icons/obj/guns/manufacturer/hunterspride/lefthand.dmi index 4fb5eca5c01..febc543be1b 100644 Binary files a/icons/obj/guns/manufacturer/hunterspride/lefthand.dmi and b/icons/obj/guns/manufacturer/hunterspride/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/hunterspride/onmob.dmi b/icons/obj/guns/manufacturer/hunterspride/onmob.dmi index 8911c8fbb68..539b811aacd 100644 Binary files a/icons/obj/guns/manufacturer/hunterspride/onmob.dmi and b/icons/obj/guns/manufacturer/hunterspride/onmob.dmi differ diff --git a/icons/obj/guns/manufacturer/hunterspride/righthand.dmi b/icons/obj/guns/manufacturer/hunterspride/righthand.dmi index 04316773566..ec9a8a53ba7 100644 Binary files a/icons/obj/guns/manufacturer/hunterspride/righthand.dmi and b/icons/obj/guns/manufacturer/hunterspride/righthand.dmi differ diff --git a/icons/obj/guns/manufacturer/inteq/48x32.dmi b/icons/obj/guns/manufacturer/inteq/48x32.dmi index e7deb0f12ce..74adceab3ba 100644 Binary files a/icons/obj/guns/manufacturer/inteq/48x32.dmi and b/icons/obj/guns/manufacturer/inteq/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/inteq/lefthand.dmi b/icons/obj/guns/manufacturer/inteq/lefthand.dmi index 19335eb44ff..7ed89aacf95 100644 Binary files a/icons/obj/guns/manufacturer/inteq/lefthand.dmi and b/icons/obj/guns/manufacturer/inteq/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/inteq/onmob.dmi b/icons/obj/guns/manufacturer/inteq/onmob.dmi index f402ffd24e2..a33746030b4 100644 Binary files a/icons/obj/guns/manufacturer/inteq/onmob.dmi and b/icons/obj/guns/manufacturer/inteq/onmob.dmi differ diff --git a/icons/obj/guns/manufacturer/inteq/righthand.dmi b/icons/obj/guns/manufacturer/inteq/righthand.dmi index 33d087f394f..d7668fe0437 100644 Binary files a/icons/obj/guns/manufacturer/inteq/righthand.dmi and b/icons/obj/guns/manufacturer/inteq/righthand.dmi differ diff --git a/icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi b/icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi index bac0ccc8f21..66d714e245e 100644 Binary files a/icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi and b/icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi b/icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi index 24ac86c3e0b..f91c263424e 100644 Binary files a/icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi and b/icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi b/icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi index b6831ec9696..ef01a242944 100644 Binary files a/icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi and b/icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi differ diff --git a/icons/obj/guns/manufacturer/scarborough/48x32-old.dmi b/icons/obj/guns/manufacturer/scarborough/48x32-old.dmi new file mode 100644 index 00000000000..361448b49a3 Binary files /dev/null and b/icons/obj/guns/manufacturer/scarborough/48x32-old.dmi differ diff --git a/icons/obj/guns/manufacturer/scarborough/48x32.dmi b/icons/obj/guns/manufacturer/scarborough/48x32.dmi index 361448b49a3..87d4d44caeb 100644 Binary files a/icons/obj/guns/manufacturer/scarborough/48x32.dmi and b/icons/obj/guns/manufacturer/scarborough/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/scarborough/lefthand.dmi b/icons/obj/guns/manufacturer/scarborough/lefthand.dmi index 8d184d907db..50cf4e8f047 100644 Binary files a/icons/obj/guns/manufacturer/scarborough/lefthand.dmi and b/icons/obj/guns/manufacturer/scarborough/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/scarborough/onmob.dmi b/icons/obj/guns/manufacturer/scarborough/onmob.dmi index 5127ecfed56..bc0e8e0d7c6 100644 Binary files a/icons/obj/guns/manufacturer/scarborough/onmob.dmi and b/icons/obj/guns/manufacturer/scarborough/onmob.dmi differ diff --git a/icons/obj/guns/manufacturer/scarborough/righthand.dmi b/icons/obj/guns/manufacturer/scarborough/righthand.dmi index 5dbfb0acfc2..bfa740f2654 100644 Binary files a/icons/obj/guns/manufacturer/scarborough/righthand.dmi and b/icons/obj/guns/manufacturer/scarborough/righthand.dmi differ diff --git a/icons/obj/guns/manufacturer/serene_outdoors/48x32.dmi b/icons/obj/guns/manufacturer/serene_outdoors/48x32.dmi new file mode 100644 index 00000000000..7425d254457 Binary files /dev/null and b/icons/obj/guns/manufacturer/serene_outdoors/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/serene_outdoors/lefthand.dmi b/icons/obj/guns/manufacturer/serene_outdoors/lefthand.dmi new file mode 100644 index 00000000000..1442d4c75a6 Binary files /dev/null and b/icons/obj/guns/manufacturer/serene_outdoors/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/serene_outdoors/onmob.dmi b/icons/obj/guns/manufacturer/serene_outdoors/onmob.dmi new file mode 100644 index 00000000000..9b0c1e524f7 Binary files /dev/null and b/icons/obj/guns/manufacturer/serene_outdoors/onmob.dmi differ diff --git a/icons/obj/guns/manufacturer/serene_outdoors/righthand.dmi b/icons/obj/guns/manufacturer/serene_outdoors/righthand.dmi new file mode 100644 index 00000000000..58fd6ab48f2 Binary files /dev/null and b/icons/obj/guns/manufacturer/serene_outdoors/righthand.dmi differ diff --git a/icons/obj/guns/manufacturer/toys/48x32.dmi b/icons/obj/guns/manufacturer/toys/48x32.dmi new file mode 100644 index 00000000000..80ddcbad3c5 Binary files /dev/null and b/icons/obj/guns/manufacturer/toys/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/toys/lefthand.dmi b/icons/obj/guns/manufacturer/toys/lefthand.dmi new file mode 100644 index 00000000000..097eda46280 Binary files /dev/null and b/icons/obj/guns/manufacturer/toys/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/toys/onmob.dmi b/icons/obj/guns/manufacturer/toys/onmob.dmi new file mode 100644 index 00000000000..4a5a4ba7b32 Binary files /dev/null and b/icons/obj/guns/manufacturer/toys/onmob.dmi differ diff --git a/icons/obj/guns/manufacturer/toys/righthand.dmi b/icons/obj/guns/manufacturer/toys/righthand.dmi new file mode 100644 index 00000000000..0a9759f4eea Binary files /dev/null and b/icons/obj/guns/manufacturer/toys/righthand.dmi differ diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index 986c2f99692..13ee4f9bfb1 100644 Binary files a/icons/obj/guns/projectile.dmi and b/icons/obj/guns/projectile.dmi differ diff --git a/icons/obj/hazard.dmi b/icons/obj/hazard.dmi index 5c350c5afb9..f9df336f607 100644 Binary files a/icons/obj/hazard.dmi and b/icons/obj/hazard.dmi differ diff --git a/icons/obj/improvised.dmi b/icons/obj/improvised.dmi index 43fc38a4be5..20890be4cbc 100644 Binary files a/icons/obj/improvised.dmi and b/icons/obj/improvised.dmi differ diff --git a/icons/obj/item/gear_packs.dmi b/icons/obj/item/gear_packs.dmi new file mode 100644 index 00000000000..76fb94bd4ff Binary files /dev/null and b/icons/obj/item/gear_packs.dmi differ diff --git a/icons/obj/item/knife.dmi b/icons/obj/item/knife.dmi deleted file mode 100644 index 2e95a915451..00000000000 Binary files a/icons/obj/item/knife.dmi and /dev/null differ diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi new file mode 100644 index 00000000000..e38eb539cf4 Binary files /dev/null and b/icons/obj/items.dmi differ diff --git a/icons/obj/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi deleted file mode 100644 index a0ceaebd838..00000000000 Binary files a/icons/obj/items_and_weapons.dmi and /dev/null differ diff --git a/icons/obj/landmine.dmi b/icons/obj/landmine.dmi index dd19fd9d399..40b3e3e4ba1 100644 Binary files a/icons/obj/landmine.dmi and b/icons/obj/landmine.dmi differ diff --git a/icons/obj/lavaland/artefacts.dmi b/icons/obj/lavaland/artefacts.dmi index 6793b0c10cb..4239f83aa0e 100644 Binary files a/icons/obj/lavaland/artefacts.dmi and b/icons/obj/lavaland/artefacts.dmi differ diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi index ae86489bb34..45e0a73c898 100644 Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ diff --git a/icons/obj/machines/mining_machines.dmi b/icons/obj/machines/mining_machines.dmi index 96151f074e1..bcd6235d26a 100644 Binary files a/icons/obj/machines/mining_machines.dmi and b/icons/obj/machines/mining_machines.dmi differ diff --git a/icons/obj/machines/suit_storage.dmi b/icons/obj/machines/suit_storage.dmi index a40d04f500c..d58a9ef3c07 100644 Binary files a/icons/obj/machines/suit_storage.dmi and b/icons/obj/machines/suit_storage.dmi differ diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index 337e3bf6d8d..efffc5cebb4 100644 Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ diff --git a/icons/obj/module.dmi b/icons/obj/module.dmi index 49c818b217d..e7f379175a5 100644 Binary files a/icons/obj/module.dmi and b/icons/obj/module.dmi differ diff --git a/icons/obj/mysterybox.dmi b/icons/obj/mysterybox.dmi deleted file mode 100644 index 0023dc06637..00000000000 Binary files a/icons/obj/mysterybox.dmi and /dev/null differ diff --git a/icons/obj/nutanks.dmi b/icons/obj/nutanks.dmi index 4365bdb8677..b8a584ef460 100644 Binary files a/icons/obj/nutanks.dmi and b/icons/obj/nutanks.dmi differ diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index 1b156b9294f..628c19d63e4 100644 Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ diff --git a/icons/obj/platform.dmi b/icons/obj/platform.dmi new file mode 100644 index 00000000000..a1923bdace2 Binary files /dev/null and b/icons/obj/platform.dmi differ diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi index 89f94e16a65..736a25d57f5 100644 Binary files a/icons/obj/projectiles.dmi and b/icons/obj/projectiles.dmi differ diff --git a/icons/obj/railing.dmi b/icons/obj/railing.dmi index 9243199cd86..09b8f0fbd62 100644 Binary files a/icons/obj/railing.dmi and b/icons/obj/railing.dmi differ diff --git a/icons/obj/shards.dmi b/icons/obj/shards.dmi index bdf8bc6e883..1632e2a0836 100644 Binary files a/icons/obj/shards.dmi and b/icons/obj/shards.dmi differ diff --git a/icons/obj/statue.dmi b/icons/obj/statue.dmi index cfb783ef1b1..7e9be0eed18 100644 Binary files a/icons/obj/statue.dmi and b/icons/obj/statue.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index df2add95964..d9c488a1fe8 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index f5f04901af2..af3c5cd4be2 100644 Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ diff --git a/icons/obj/structures/handrail.dmi b/icons/obj/structures/handrail.dmi index 1a8d98d6697..4326fccaf9e 100644 Binary files a/icons/obj/structures/handrail.dmi and b/icons/obj/structures/handrail.dmi differ diff --git a/icons/obj/structures/signs/wallflags.dmi b/icons/obj/structures/signs/wallflags.dmi index 837e442f27c..94dfc2144e6 100644 Binary files a/icons/obj/structures/signs/wallflags.dmi and b/icons/obj/structures/signs/wallflags.dmi differ diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index 8f2566a98f8..e213c294d66 100644 Binary files a/icons/obj/surgery.dmi and b/icons/obj/surgery.dmi differ diff --git a/icons/obj/syringe.dmi b/icons/obj/syringe.dmi index d331d285236..ab07fb775a0 100644 Binary files a/icons/obj/syringe.dmi and b/icons/obj/syringe.dmi differ diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi index 731cd15fcfb..b265239b2c7 100644 Binary files a/icons/obj/tools.dmi and b/icons/obj/tools.dmi differ diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi index 78aebb9416c..2b95535dcb7 100644 Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ diff --git a/icons/obj/transforming_energy.dmi b/icons/obj/transforming_energy.dmi deleted file mode 100644 index ff2f99832d1..00000000000 Binary files a/icons/obj/transforming_energy.dmi and /dev/null differ diff --git a/icons/obj/vehicles.dmi b/icons/obj/vehicles.dmi index 87cef669faf..fdefd87860b 100644 Binary files a/icons/obj/vehicles.dmi and b/icons/obj/vehicles.dmi differ diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index 6905749d1e5..a2a6e29e2c4 100644 Binary files a/icons/obj/vending.dmi and b/icons/obj/vending.dmi differ diff --git a/icons/obj/wallmounts.dmi b/icons/obj/wallmounts.dmi index 96e0c28e715..236d94fbfb5 100644 Binary files a/icons/obj/wallmounts.dmi and b/icons/obj/wallmounts.dmi differ diff --git a/icons/obj/watercloset.dmi b/icons/obj/watercloset.dmi index a9f32f00179..f18adf30b10 100644 Binary files a/icons/obj/watercloset.dmi and b/icons/obj/watercloset.dmi differ diff --git a/icons/obj/weapon/axe.dmi b/icons/obj/weapon/axe.dmi new file mode 100644 index 00000000000..ff735abf5eb Binary files /dev/null and b/icons/obj/weapon/axe.dmi differ diff --git a/icons/obj/weapon/baton.dmi b/icons/obj/weapon/baton.dmi new file mode 100644 index 00000000000..4c63ef28b8a Binary files /dev/null and b/icons/obj/weapon/baton.dmi differ diff --git a/icons/obj/weapon/blunt.dmi b/icons/obj/weapon/blunt.dmi new file mode 100644 index 00000000000..013f4fd1db2 Binary files /dev/null and b/icons/obj/weapon/blunt.dmi differ diff --git a/icons/obj/weapon/energy.dmi b/icons/obj/weapon/energy.dmi new file mode 100644 index 00000000000..79742da9d23 Binary files /dev/null and b/icons/obj/weapon/energy.dmi differ diff --git a/icons/obj/weapon/knives/knife.dmi b/icons/obj/weapon/knives/knife.dmi new file mode 100644 index 00000000000..f8a7929c54b Binary files /dev/null and b/icons/obj/weapon/knives/knife.dmi differ diff --git a/icons/obj/weapon/knives/knife_world.dmi b/icons/obj/weapon/knives/knife_world.dmi new file mode 100644 index 00000000000..e2049e6ab41 Binary files /dev/null and b/icons/obj/weapon/knives/knife_world.dmi differ diff --git a/icons/obj/weapon/misc.dmi b/icons/obj/weapon/misc.dmi new file mode 100644 index 00000000000..9eabb2c3eaf Binary files /dev/null and b/icons/obj/weapon/misc.dmi differ diff --git a/icons/obj/weapon/spear.dmi b/icons/obj/weapon/spear.dmi new file mode 100644 index 00000000000..384f1c751bc Binary files /dev/null and b/icons/obj/weapon/spear.dmi differ diff --git a/icons/obj/weapon/sword.dmi b/icons/obj/weapon/sword.dmi new file mode 100644 index 00000000000..915be217a2a Binary files /dev/null and b/icons/obj/weapon/sword.dmi differ diff --git a/icons/obj/world/landmine.dmi b/icons/obj/world/landmine.dmi new file mode 100644 index 00000000000..be8db65a3f5 Binary files /dev/null and b/icons/obj/world/landmine.dmi differ diff --git a/icons/obj/world/melee.dmi b/icons/obj/world/melee.dmi deleted file mode 100644 index ff8e2114e82..00000000000 Binary files a/icons/obj/world/melee.dmi and /dev/null differ diff --git a/icons/stamp_icons/large_stamp-artificer.png b/icons/stamp_icons/large_stamp-artificer.png deleted file mode 100644 index 058a4407428..00000000000 Binary files a/icons/stamp_icons/large_stamp-artificer.png and /dev/null differ diff --git a/icons/stamp_icons/large_stamp-biodynamics.png b/icons/stamp_icons/large_stamp-biodynamics.png new file mode 100644 index 00000000000..0d09b4f37c0 Binary files /dev/null and b/icons/stamp_icons/large_stamp-biodynamics.png differ diff --git a/icons/stamp_icons/large_stamp-centcom.png b/icons/stamp_icons/large_stamp-centcom.png deleted file mode 100644 index 6250cbff885..00000000000 Binary files a/icons/stamp_icons/large_stamp-centcom.png and /dev/null differ diff --git a/icons/stamp_icons/large_stamp-inteq_artificer.png b/icons/stamp_icons/large_stamp-inteq_artificer.png new file mode 100644 index 00000000000..fc75d381200 Binary files /dev/null and b/icons/stamp_icons/large_stamp-inteq_artificer.png differ diff --git a/icons/stamp_icons/large_stamp-inteq_corpsman.png b/icons/stamp_icons/large_stamp-inteq_corpsman.png new file mode 100644 index 00000000000..22b4f97c7e4 Binary files /dev/null and b/icons/stamp_icons/large_stamp-inteq_corpsman.png differ diff --git a/icons/stamp_icons/large_stamp-maa.png b/icons/stamp_icons/large_stamp-inteq_maa.png similarity index 100% rename from icons/stamp_icons/large_stamp-maa.png rename to icons/stamp_icons/large_stamp-inteq_maa.png diff --git a/icons/stamp_icons/large_stamp-vanguard.png b/icons/stamp_icons/large_stamp-inteq_vanguard.png similarity index 100% rename from icons/stamp_icons/large_stamp-vanguard.png rename to icons/stamp_icons/large_stamp-inteq_vanguard.png diff --git a/icons/stamp_icons/large_stamp-ngr.png b/icons/stamp_icons/large_stamp-ngr.png new file mode 100644 index 00000000000..dfc75056911 Binary files /dev/null and b/icons/stamp_icons/large_stamp-ngr.png differ diff --git a/icons/stamp_icons/large_stamp-ngr_captain.png b/icons/stamp_icons/large_stamp-ngr_captain.png new file mode 100644 index 00000000000..46ca33b7685 Binary files /dev/null and b/icons/stamp_icons/large_stamp-ngr_captain.png differ diff --git a/icons/stamp_icons/large_stamp-ngr_ensign.png b/icons/stamp_icons/large_stamp-ngr_ensign.png new file mode 100644 index 00000000000..9e7bc905678 Binary files /dev/null and b/icons/stamp_icons/large_stamp-ngr_ensign.png differ diff --git a/icons/stamp_icons/large_stamp-ngr_foreman.png b/icons/stamp_icons/large_stamp-ngr_foreman.png new file mode 100644 index 00000000000..09b34ab632e Binary files /dev/null and b/icons/stamp_icons/large_stamp-ngr_foreman.png differ diff --git a/icons/stamp_icons/large_stamp-ngr_lieutenant.png b/icons/stamp_icons/large_stamp-ngr_lieutenant.png new file mode 100644 index 00000000000..f96be7a5ee5 Binary files /dev/null and b/icons/stamp_icons/large_stamp-ngr_lieutenant.png differ diff --git a/icons/stamp_icons/large_stamp-ns_captain.png b/icons/stamp_icons/large_stamp-ns_captain.png new file mode 100644 index 00000000000..8a453eece6d Binary files /dev/null and b/icons/stamp_icons/large_stamp-ns_captain.png differ diff --git a/icons/stamp_icons/large_stamp-ns_generic.png b/icons/stamp_icons/large_stamp-ns_generic.png new file mode 100644 index 00000000000..e5f6c086554 Binary files /dev/null and b/icons/stamp_icons/large_stamp-ns_generic.png differ diff --git a/icons/stamp_icons/large_stamp-ns_sup_dir.png b/icons/stamp_icons/large_stamp-ns_sup_dir.png new file mode 100644 index 00000000000..88d898b862c Binary files /dev/null and b/icons/stamp_icons/large_stamp-ns_sup_dir.png differ diff --git a/icons/stamp_icons/large_stamp-nt_captain.png b/icons/stamp_icons/large_stamp-nt_captain.png new file mode 100644 index 00000000000..e5cca91631b Binary files /dev/null and b/icons/stamp_icons/large_stamp-nt_captain.png differ diff --git a/icons/stamp_icons/large_stamp-nt_central.png b/icons/stamp_icons/large_stamp-nt_central.png new file mode 100644 index 00000000000..fd045bfc030 Binary files /dev/null and b/icons/stamp_icons/large_stamp-nt_central.png differ diff --git a/icons/stamp_icons/large_stamp-nt_eng_dir.png b/icons/stamp_icons/large_stamp-nt_eng_dir.png new file mode 100644 index 00000000000..53215352eb5 Binary files /dev/null and b/icons/stamp_icons/large_stamp-nt_eng_dir.png differ diff --git a/icons/stamp_icons/large_stamp-nt_generic.png b/icons/stamp_icons/large_stamp-nt_generic.png new file mode 100644 index 00000000000..7d1a66fb901 Binary files /dev/null and b/icons/stamp_icons/large_stamp-nt_generic.png differ diff --git a/icons/stamp_icons/large_stamp-nt_med_dir.png b/icons/stamp_icons/large_stamp-nt_med_dir.png new file mode 100644 index 00000000000..11ec17c927d Binary files /dev/null and b/icons/stamp_icons/large_stamp-nt_med_dir.png differ diff --git a/icons/stamp_icons/large_stamp-nt_officer.png b/icons/stamp_icons/large_stamp-nt_officer.png new file mode 100644 index 00000000000..e3442672175 Binary files /dev/null and b/icons/stamp_icons/large_stamp-nt_officer.png differ diff --git a/icons/stamp_icons/large_stamp-nt_sci_dir.png b/icons/stamp_icons/large_stamp-nt_sci_dir.png new file mode 100644 index 00000000000..50b01922ce5 Binary files /dev/null and b/icons/stamp_icons/large_stamp-nt_sci_dir.png differ diff --git a/icons/stamp_icons/large_stamp-vi_captain.png b/icons/stamp_icons/large_stamp-vi_captain.png new file mode 100644 index 00000000000..0b1536102bf Binary files /dev/null and b/icons/stamp_icons/large_stamp-vi_captain.png differ diff --git a/icons/stamp_icons/large_stamp-vi_generic.png b/icons/stamp_icons/large_stamp-vi_generic.png new file mode 100644 index 00000000000..a9956adbad1 Binary files /dev/null and b/icons/stamp_icons/large_stamp-vi_generic.png differ diff --git a/icons/stamp_icons/large_stamp-vi_loss_prevention.png b/icons/stamp_icons/large_stamp-vi_loss_prevention.png new file mode 100644 index 00000000000..4e6ee3bcb31 Binary files /dev/null and b/icons/stamp_icons/large_stamp-vi_loss_prevention.png differ diff --git a/icons/stamp_icons/large_stamp-vi_sec_dir.png b/icons/stamp_icons/large_stamp-vi_sec_dir.png new file mode 100644 index 00000000000..2702e4d8017 Binary files /dev/null and b/icons/stamp_icons/large_stamp-vi_sec_dir.png differ diff --git a/icons/turf/areas.dmi b/icons/turf/areas.dmi index 68d030ee383..79ca6ed0ed8 100644 Binary files a/icons/turf/areas.dmi and b/icons/turf/areas.dmi differ diff --git a/icons/turf/decals/decals.dmi b/icons/turf/decals/decals.dmi index a62024cc8e0..58ef66b36d2 100644 Binary files a/icons/turf/decals/decals.dmi and b/icons/turf/decals/decals.dmi differ diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index 398d5550f81..1dbb3a101fa 100644 Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm index 16cc956b5f7..d324bd882a3 100644 --- a/interface/stylesheet.dm +++ b/interface/stylesheet.dm @@ -43,14 +43,13 @@ em {font-style: normal; font-weight: bold;} .binarysay a:active, .binarysay a:visited {color: #88ff88;} .radio {color: #008000;} .ntradio {color: #4e3399;} -.comradio {color: #948f02;} -.pirradio {color: #a30000;} +.emrgradio {color: #a30000;} +.pirradio {color: #948f02;} .clipradio {color: #337296;} .irmgradio {color: #885231;} .pgfradio {color: #127a35;} .syndradio {color: ##612425;} .centcomradio {color: #686868;} -.aiprivradio {color: #ff00ff;} .redteamradio {color: #ff0000;} .blueteamradio {color: #0000ff;} diff --git a/shiptest.dme b/shiptest.dme index a8a5a98ad5c..9ce9ab9ef43 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -13,6 +13,7 @@ // END_PREFERENCES // BEGIN_INCLUDE +#include "__odlint.dm" #include "_maps\_basemap.dm" #include "code\__byond_version_compat.dm" #include "code\_compile_options.dm" @@ -25,6 +26,7 @@ #include "code\__DEFINES\_tick.dm" #include "code\__DEFINES\access.dm" #include "code\__DEFINES\achievements.dm" +#include "code\__DEFINES\actions.dm" #include "code\__DEFINES\admin.dm" #include "code\__DEFINES\anomalies.dm" #include "code\__DEFINES\antagonists.dm" @@ -39,16 +41,17 @@ #include "code\__DEFINES\botany.dm" #include "code\__DEFINES\callbacks.dm" #include "code\__DEFINES\cargo.dm" +#include "code\__DEFINES\cells.dm" #include "code\__DEFINES\chat.dm" #include "code\__DEFINES\cinematics.dm" #include "code\__DEFINES\cleaning.dm" +#include "code\__DEFINES\clothing.dm" #include "code\__DEFINES\colors.dm" #include "code\__DEFINES\combat.dm" #include "code\__DEFINES\configuration.dm" #include "code\__DEFINES\construction.dm" #include "code\__DEFINES\contracts.dm" #include "code\__DEFINES\cooldowns.dm" -#include "code\__DEFINES\cult.dm" #include "code\__DEFINES\directional.dm" #include "code\__DEFINES\diseases.dm" #include "code\__DEFINES\DNA.dm" @@ -66,6 +69,7 @@ #include "code\__DEFINES\food.dm" #include "code\__DEFINES\footsteps.dm" #include "code\__DEFINES\forensics.dm" +#include "code\__DEFINES\generators.dm" #include "code\__DEFINES\guns.dm" #include "code\__DEFINES\hud.dm" #include "code\__DEFINES\icon_smoothing.dm" @@ -94,6 +98,7 @@ #include "code\__DEFINES\menu.dm" #include "code\__DEFINES\misc.dm" #include "code\__DEFINES\mobs.dm" +#include "code\__DEFINES\mod.dm" #include "code\__DEFINES\monkeys.dm" #include "code\__DEFINES\move_force.dm" #include "code\__DEFINES\movement.dm" @@ -103,11 +108,13 @@ #include "code\__DEFINES\obj_flags.dm" #include "code\__DEFINES\overmap.dm" #include "code\__DEFINES\paper.dm" +#include "code\__DEFINES\particles.dm" #include "code\__DEFINES\pinpointers.dm" #include "code\__DEFINES\pipe_construction.dm" #include "code\__DEFINES\plumbing.dm" #include "code\__DEFINES\power.dm" #include "code\__DEFINES\preferences.dm" +#include "code\__DEFINES\processing.dm" #include "code\__DEFINES\procpath.dm" #include "code\__DEFINES\profile.dm" #include "code\__DEFINES\projectiles.dm" @@ -155,14 +162,32 @@ #include "code\__DEFINES\wires.dm" #include "code\__DEFINES\dcs\flags.dm" #include "code\__DEFINES\dcs\helpers.dm" -#include "code\__DEFINES\dcs\signals.dm" +#include "code\__DEFINES\dcs\signals\signals.dm" +#include "code\__DEFINES\dcs\signals\signals_mod.dm" +#include "code\__DEFINES\dcs\signals\signals_reagent.dm" +#include "code\__DEFINES\dcs\signals\signals_ship.dm" +#include "code\__DEFINES\dcs\signals\signals_storage.dm" +#include "code\__DEFINES\dcs\signals\signals_mob\signals_mob_carbon.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_object.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_clothing.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_food.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_grenade.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_hydroponic.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_implant.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_item.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_transform.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_machine\signals_aquarium.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_machine\signals_machinery.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_machine\signals_supermatter.dm" #include "code\__DEFINES\starfly13\unathi_colors.dm" #include "code\__HELPERS\_auxtools_api.dm" #include "code\__HELPERS\_lists.dm" #include "code\__HELPERS\_logging.dm" +#include "code\__HELPERS\_planes.dm" #include "code\__HELPERS\_string_lists.dm" #include "code\__HELPERS\areas.dm" #include "code\__HELPERS\AStar.dm" +#include "code\__HELPERS\atoms.dm" #include "code\__HELPERS\bindings.dm" #include "code\__HELPERS\bitflag_lists.dm" #include "code\__HELPERS\chat.dm" @@ -174,12 +199,15 @@ #include "code\__HELPERS\files.dm" #include "code\__HELPERS\filters.dm" #include "code\__HELPERS\game.dm" +#include "code\__HELPERS\generators.dm" #include "code\__HELPERS\global_lists.dm" #include "code\__HELPERS\heap.dm" +#include "code\__HELPERS\hearted.dm" #include "code\__HELPERS\icon_smoothing.dm" #include "code\__HELPERS\icons.dm" #include "code\__HELPERS\level_traits.dm" #include "code\__HELPERS\lighting.dm" +#include "code\__HELPERS\maths.dm" #include "code\__HELPERS\matrices.dm" #include "code\__HELPERS\mobs.dm" #include "code\__HELPERS\mouse_control.dm" @@ -250,7 +278,6 @@ #include "code\_onclick\item_attack.dm" #include "code\_onclick\observer.dm" #include "code\_onclick\other_mobs.dm" -#include "code\_onclick\overmind.dm" #include "code\_onclick\pai.dm" #include "code\_onclick\telekinesis.dm" #include "code\_onclick\hud\_defines.dm" @@ -259,16 +286,12 @@ #include "code\_onclick\hud\alert.dm" #include "code\_onclick\hud\alien.dm" #include "code\_onclick\hud\alien_larva.dm" -#include "code\_onclick\hud\blob_overmind.dm" -#include "code\_onclick\hud\blobbernauthud.dm" #include "code\_onclick\hud\constructs.dm" #include "code\_onclick\hud\credits.dm" -#include "code\_onclick\hud\devil.dm" #include "code\_onclick\hud\drones.dm" #include "code\_onclick\hud\fullscreen.dm" #include "code\_onclick\hud\generic_dextrous.dm" #include "code\_onclick\hud\ghost.dm" -#include "code\_onclick\hud\guardian.dm" #include "code\_onclick\hud\holograms.dm" #include "code\_onclick\hud\hud.dm" #include "code\_onclick\hud\human.dm" @@ -287,7 +310,6 @@ #include "code\_onclick\hud\screen_objects.dm" #include "code\_onclick\hud\screentip.dm" #include "code\_onclick\hud\storage.dm" -#include "code\_onclick\hud\swarmer.dm" #include "code\controllers\admin.dm" #include "code\controllers\controller.dm" #include "code\controllers\failsafe.dm" @@ -323,6 +345,7 @@ #include "code\controllers\subsystem\economy.dm" #include "code\controllers\subsystem\events.dm" #include "code\controllers\subsystem\explosions.dm" +#include "code\controllers\subsystem\faction.dm" #include "code\controllers\subsystem\fire_burning.dm" #include "code\controllers\subsystem\garbage.dm" #include "code\controllers\subsystem\icon_smooth.dm" @@ -350,6 +373,7 @@ #include "code\controllers\subsystem\persistence.dm" #include "code\controllers\subsystem\physics.dm" #include "code\controllers\subsystem\ping.dm" +#include "code\controllers\subsystem\points_of_interest.dm" #include "code\controllers\subsystem\profiler.dm" #include "code\controllers\subsystem\radiation.dm" #include "code\controllers\subsystem\radio.dm" @@ -374,6 +398,7 @@ #include "code\controllers\subsystem\title.dm" #include "code\controllers\subsystem\traumas.dm" #include "code\controllers\subsystem\turf_fire.dm" +#include "code\controllers\subsystem\turrets.dm" #include "code\controllers\subsystem\verb_manager.dm" #include "code\controllers\subsystem\vis_overlays.dm" #include "code\controllers\subsystem\vote.dm" @@ -410,7 +435,6 @@ #include "code\datums\dog_fashion.dm" #include "code\datums\ductnet.dm" #include "code\datums\emotes.dm" -#include "code\datums\ert.dm" #include "code\datums\forced_movement.dm" #include "code\datums\guestbook.dm" #include "code\datums\holocall.dm" @@ -427,9 +451,9 @@ #include "code\datums\progressbar.dm" #include "code\datums\quixotejump.dm" #include "code\datums\radiation_wave.dm" -#include "code\datums\ruins.dm" #include "code\datums\saymode.dm" #include "code\datums\shuttles.dm" +#include "code\datums\simple_beam.dm" #include "code\datums\soullink.dm" #include "code\datums\spawners_menu.dm" #include "code\datums\tgs_event_handler.dm" @@ -462,12 +486,15 @@ #include "code\datums\components\anti_magic.dm" #include "code\datums\components\armor_plate.dm" #include "code\datums\components\art.dm" +#include "code\datums\components\attachment.dm" +#include "code\datums\components\attachment_holder.dm" #include "code\datums\components\bandage.dm" #include "code\datums\components\bane.dm" #include "code\datums\components\beetlejuice.dm" #include "code\datums\components\bloodysoles.dm" #include "code\datums\components\butchering.dm" #include "code\datums\components\caltrop.dm" +#include "code\datums\components\cell_component.dm" #include "code\datums\components\chasm.dm" #include "code\datums\components\connect_containers.dm" #include "code\datums\components\connect_loc_behalf.dm" @@ -476,11 +503,9 @@ #include "code\datums\components\construction.dm" #include "code\datums\components\creamed.dm" #include "code\datums\components\deadchat_control.dm" -#include "code\datums\components\dejavu.dm" #include "code\datums\components\deployable.dm" #include "code\datums\components\dooropendeathproc.dm" #include "code\datums\components\earprotection.dm" -#include "code\datums\components\edible.dm" #include "code\datums\components\edit_complainer.dm" #include "code\datums\components\embedded.dm" #include "code\datums\components\empprotection.dm" @@ -496,6 +521,7 @@ #include "code\datums\components\hot_ice.dm" #include "code\datums\components\igniter.dm" #include "code\datums\components\infective.dm" +#include "code\datums\components\jetpack.dm" #include "code\datums\components\jousting.dm" #include "code\datums\components\knockback.dm" #include "code\datums\components\knockoff.dm" @@ -523,12 +549,11 @@ #include "code\datums\components\remote_materials.dm" #include "code\datums\components\riding.dm" #include "code\datums\components\rotation.dm" +#include "code\datums\components\shielded.dm" #include "code\datums\components\shrink.dm" #include "code\datums\components\sitcomlaughter.dm" #include "code\datums\components\sizzle.dm" #include "code\datums\components\slippery.dm" -#include "code\datums\components\soulstoned.dm" -#include "code\datums\components\spawner.dm" #include "code\datums\components\spill.dm" #include "code\datums\components\spooky.dm" #include "code\datums\components\squeak.dm" @@ -540,7 +565,6 @@ #include "code\datums\components\taped.dm" #include "code\datums\components\tether.dm" #include "code\datums\components\thermite.dm" -#include "code\datums\components\twohanded.dm" #include "code\datums\components\udder.dm" #include "code\datums\components\uplink.dm" #include "code\datums\components\wearertargeting.dm" @@ -553,12 +577,16 @@ #include "code\datums\components\crafting\recipes\drink.dm" #include "code\datums\components\crafting\recipes\misc.dm" #include "code\datums\components\crafting\recipes\robot.dm" -#include "code\datums\components\crafting\recipes\tribal.dm" #include "code\datums\components\crafting\recipes\weapon.dm" #include "code\datums\components\fantasy\_fantasy.dm" #include "code\datums\components\fantasy\affix.dm" #include "code\datums\components\fantasy\prefixes.dm" #include "code\datums\components\fantasy\suffixes.dm" +#include "code\datums\components\food\edible.dm" +#include "code\datums\components\food\food_storage.dm" +#include "code\datums\components\melee\charged.dm" +#include "code\datums\components\melee\transforming.dm" +#include "code\datums\components\melee\twohanded.dm" #include "code\datums\components\plumbing\_plumbing.dm" #include "code\datums\components\plumbing\chemical_acclimator.dm" #include "code\datums\components\plumbing\filter.dm" @@ -593,7 +621,6 @@ #include "code\datums\diseases\heart_failure.dm" #include "code\datums\diseases\legionvirus.dm" #include "code\datums\diseases\magnitis.dm" -#include "code\datums\diseases\parasitic_infection.dm" #include "code\datums\diseases\parrotpossession.dm" #include "code\datums\diseases\pierrot_throat.dm" #include "code\datums\diseases\retrovirus.dm" @@ -641,18 +668,21 @@ #include "code\datums\elements\cleaning.dm" #include "code\datums\elements\connect_loc.dm" #include "code\datums\elements\digitalcamo.dm" -#include "code\datums\elements\dunkable.dm" #include "code\datums\elements\earhealing.dm" #include "code\datums\elements\embed.dm" +#include "code\datums\elements\empprotection.dm" #include "code\datums\elements\firestacker.dm" #include "code\datums\elements\forced_gravity.dm" #include "code\datums\elements\lazy_fishing_spot.dm" #include "code\datums\elements\light_blocking.dm" #include "code\datums\elements\mobappearance.dm" +#include "code\datums\elements\plant_backfire.dm" +#include "code\datums\elements\point_of_interest.dm" #include "code\datums\elements\renamemob.dm" #include "code\datums\elements\selfknockback.dm" #include "code\datums\elements\snail_crawl.dm" #include "code\datums\elements\squish.dm" +#include "code\datums\elements\tool_bang.dm" #include "code\datums\elements\tool_flash.dm" #include "code\datums\elements\turf_transparency.dm" #include "code\datums\elements\undertile.dm" @@ -662,6 +692,19 @@ #include "code\datums\elements\world_icon.dm" #include "code\datums\elements\decals\_decals.dm" #include "code\datums\elements\decals\blood.dm" +#include "code\datums\elements\food\dunkable.dm" +#include "code\datums\elements\food\food_trash.dm" +#include "code\datums\elements\food\processable.dm" +#include "code\datums\ert\_ert.dm" +#include "code\datums\ert\ert_clip.dm" +#include "code\datums\ert\ert_frontiersmen.dm" +#include "code\datums\ert\ert_gezena.dm" +#include "code\datums\ert\ert_indies.dm" +#include "code\datums\ert\ert_inteq.dm" +#include "code\datums\ert\ert_nanotrasen.dm" +#include "code\datums\ert\ert_roumain.dm" +#include "code\datums\ert\ert_solgov.dm" +#include "code\datums\ert\ert_syndicate.dm" #include "code\datums\helper_datums\events.dm" #include "code\datums\helper_datums\getrev.dm" #include "code\datums\helper_datums\icon_snapshot.dm" @@ -711,7 +754,6 @@ #include "code\datums\materials\_material.dm" #include "code\datums\materials\basemats.dm" #include "code\datums\materials\meat.dm" -#include "code\datums\materials\pizza.dm" #include "code\datums\mood_events\_mood_event.dm" #include "code\datums\mood_events\beauty_events.dm" #include "code\datums\mood_events\drink_events.dm" @@ -738,6 +780,7 @@ #include "code\datums\proximity_monitor\fields\gravity.dm" #include "code\datums\proximity_monitor\fields\peaceborg_dampener.dm" #include "code\datums\proximity_monitor\fields\timestop.dm" +#include "code\datums\ruins\_ruins.dm" #include "code\datums\ruins\beachplanet.dm" #include "code\datums\ruins\icemoon.dm" #include "code\datums\ruins\jungle.dm" @@ -791,6 +834,7 @@ #include "code\datums\wires\fax.dm" #include "code\datums\wires\microwave.dm" #include "code\datums\wires\mines.dm" +#include "code\datums\wires\mod.dm" #include "code\datums\wires\mulebot.dm" #include "code\datums\wires\particle_accelerator.dm" #include "code\datums\wires\r_n_d.dm" @@ -815,11 +859,9 @@ #include "code\game\area\ai_monitored.dm" #include "code\game\area\areas.dm" #include "code\game\area\ship_areas.dm" -#include "code\game\area\Space_Station_13_areas.dm" #include "code\game\area\areas\away_content.dm" #include "code\game\area\areas\centcom.dm" #include "code\game\area\areas\outpost.dm" -#include "code\game\area\areas\shuttles.dm" #include "code\game\area\areas\ruins\_ruins.dm" #include "code\game\area\areas\ruins\beachplanet.dm" #include "code\game\area\areas\ruins\icemoon.dm" @@ -830,6 +872,7 @@ #include "code\game\area\areas\ruins\space.dm" #include "code\game\area\areas\ruins\templates.dm" #include "code\game\area\areas\ruins\wasteplanet.dm" +#include "code\game\atom\atom_orbit.dm" #include "code\game\gamemodes\events.dm" #include "code\game\gamemodes\game_mode.dm" #include "code\game\gamemodes\objective.dm" @@ -840,18 +883,12 @@ #include "code\game\gamemodes\clown_ops\bananium_bomb.dm" #include "code\game\gamemodes\clown_ops\clown_ops.dm" #include "code\game\gamemodes\clown_ops\clown_weapons.dm" -#include "code\game\gamemodes\cult\cult.dm" -#include "code\game\gamemodes\devil\devil_game_mode.dm" -#include "code\game\gamemodes\devil\game_mode.dm" -#include "code\game\gamemodes\devil\objectives.dm" -#include "code\game\gamemodes\devil\devil_agent\devil_agent.dm" #include "code\game\gamemodes\dynamic\dynamic.dm" #include "code\game\gamemodes\dynamic\dynamic_rulesets.dm" #include "code\game\gamemodes\dynamic\dynamic_rulesets_latejoin.dm" #include "code\game\gamemodes\dynamic\dynamic_rulesets_midround.dm" #include "code\game\gamemodes\dynamic\dynamic_rulesets_roundstart.dm" #include "code\game\gamemodes\extended\extended.dm" -#include "code\game\gamemodes\meteor\meteor.dm" #include "code\game\gamemodes\meteor\meteors.dm" #include "code\game\gamemodes\nuclear\nuclear.dm" #include "code\game\gamemodes\sandbox\airlock_maker.dm" @@ -910,7 +947,6 @@ #include "code\game\machinery\requests_console.dm" #include "code\game\machinery\roulette_machine.dm" #include "code\game\machinery\scan_gate.dm" -#include "code\game\machinery\sheetifier.dm" #include "code\game\machinery\shieldgen.dm" #include "code\game\machinery\sleeper.dm" #include "code\game\machinery\slotmachine.dm" @@ -977,8 +1013,9 @@ #include "code\game\machinery\pipe\construction.dm" #include "code\game\machinery\pipe\pipe_dispenser.dm" #include "code\game\machinery\porta_turret\portable_turret.dm" -#include "code\game\machinery\porta_turret\portable_turret_construct.dm" -#include "code\game\machinery\porta_turret\portable_turret_cover.dm" +#include "code\game\machinery\porta_turret\portable_turret_control.dm" +#include "code\game\machinery\porta_turret\portable_turret_manual_control.dm" +#include "code\game\machinery\porta_turret\portable_turret_types.dm" #include "code\game\machinery\shuttle\custom_shuttle.dm" #include "code\game\machinery\shuttle\ship_gravity.dm" #include "code\game\machinery\shuttle\shuttle_engine.dm" @@ -1003,7 +1040,9 @@ #include "code\game\MapData\shuttles\misc.dm" #include "code\game\MapData\shuttles\nanotrasen_mimir.dm" #include "code\game\MapData\shuttles\nanotrasen_ranger.dm" +#include "code\game\MapData\shuttles\pgf_bolide.dm" #include "code\game\MapData\shuttles\pgf_crying_sun.dm" +#include "code\game\MapData\shuttles\pgf_woeful_cthonian.dm" #include "code\game\MapData\shuttles\srm_elder.dm" #include "code\game\mecha\mech_bay.dm" #include "code\game\mecha\mech_fabricator.dm" @@ -1022,7 +1061,6 @@ #include "code\game\mecha\combat\honker.dm" #include "code\game\mecha\combat\marauder.dm" #include "code\game\mecha\combat\phazon.dm" -#include "code\game\mecha\combat\reticence.dm" #include "code\game\mecha\equipment\mecha_equipment.dm" #include "code\game\mecha\equipment\tools\medical_tools.dm" #include "code\game\mecha\equipment\tools\mining_tools.dm" @@ -1073,6 +1111,7 @@ #include "code\game\objects\effects\anomalies\anomalies_pyroclastic.dm" #include "code\game\objects\effects\anomalies\anomalies_sparkler.dm" #include "code\game\objects\effects\anomalies\anomalies_static.dm" +#include "code\game\objects\effects\anomalies\anomalies_transfusion.dm" #include "code\game\objects\effects\anomalies\anomalies_veins.dm" #include "code\game\objects\effects\anomalies\anomalies_vortex.dm" #include "code\game\objects\effects\decals\cleanable.dm" @@ -1097,15 +1136,37 @@ #include "code\game\objects\effects\effect_system\effects_smoke.dm" #include "code\game\objects\effects\effect_system\effects_sparks.dm" #include "code\game\objects\effects\effect_system\effects_water.dm" +#include "code\game\objects\effects\particles\acid.dm" +#include "code\game\objects\effects\particles\fire.dm" +#include "code\game\objects\effects\particles\misc.dm" +#include "code\game\objects\effects\particles\slime.dm" +#include "code\game\objects\effects\particles\smoke.dm" +#include "code\game\objects\effects\particles\water.dm" #include "code\game\objects\effects\spawners\bombspawner.dm" #include "code\game\objects\effects\spawners\bundle.dm" #include "code\game\objects\effects\spawners\gibspawner.dm" -#include "code\game\objects\effects\spawners\lootdrop.dm" #include "code\game\objects\effects\spawners\mobspawner.dm" +#include "code\game\objects\effects\spawners\spawner.dm" #include "code\game\objects\effects\spawners\structure.dm" -#include "code\game\objects\effects\spawners\traps.dm" -#include "code\game\objects\effects\spawners\vaultspawner.dm" -#include "code\game\objects\effects\spawners\xeno_egg_delivery.dm" +#include "code\game\objects\effects\spawners\random\ai_module.dm" +#include "code\game\objects\effects\spawners\random\anomaly.dm" +#include "code\game\objects\effects\spawners\random\bedsheet.dm" +#include "code\game\objects\effects\spawners\random\boards.dm" +#include "code\game\objects\effects\spawners\random\bureaucracy.dm" +#include "code\game\objects\effects\spawners\random\clothing.dm" +#include "code\game\objects\effects\spawners\random\decoration.dm" +#include "code\game\objects\effects\spawners\random\engineering.dm" +#include "code\game\objects\effects\spawners\random\entertainment.dm" +#include "code\game\objects\effects\spawners\random\exotic.dm" +#include "code\game\objects\effects\spawners\random\food_or_drink.dm" +#include "code\game\objects\effects\spawners\random\maintenance.dm" +#include "code\game\objects\effects\spawners\random\medical.dm" +#include "code\game\objects\effects\spawners\random\random.dm" +#include "code\game\objects\effects\spawners\random\salvaging.dm" +#include "code\game\objects\effects\spawners\random\structure.dm" +#include "code\game\objects\effects\spawners\random\trash.dm" +#include "code\game\objects\effects\spawners\random\vending.dm" +#include "code\game\objects\effects\spawners\random\waste_planet.dm" #include "code\game\objects\effects\temporary_visuals\cult.dm" #include "code\game\objects\effects\temporary_visuals\miscellaneous.dm" #include "code\game\objects\effects\temporary_visuals\temporary_visual.dm" @@ -1127,7 +1188,6 @@ #include "code\game\objects\items\cardboard_cutouts.dm" #include "code\game\objects\items\cards_ids.dm" #include "code\game\objects\items\cash.dm" -#include "code\game\objects\items\chainsaw.dm" #include "code\game\objects\items\charter.dm" #include "code\game\objects\items\chromosome.dm" #include "code\game\objects\items\chrono_eraser.dm" @@ -1147,19 +1207,16 @@ #include "code\game\objects\items\dna_injector.dm" #include "code\game\objects\items\documents.dm" #include "code\game\objects\items\door_seal.dm" -#include "code\game\objects\items\dualsaber.dm" #include "code\game\objects\items\dyekit.dm" #include "code\game\objects\items\eightball.dm" -#include "code\game\objects\items\energyhalberd.dm" #include "code\game\objects\items\etherealdiscoball.dm" #include "code\game\objects\items\extinguisher.dm" -#include "code\game\objects\items\fireaxe.dm" #include "code\game\objects\items\flamethrower.dm" +#include "code\game\objects\items\gear_packs.dm" #include "code\game\objects\items\gift.dm" #include "code\game\objects\items\granters.dm" #include "code\game\objects\items\handcuffs.dm" #include "code\game\objects\items\holosign_creator.dm" -#include "code\game\objects\items\holy_weapons.dm" #include "code\game\objects\items\hot_potato.dm" #include "code\game\objects\items\hourglass.dm" #include "code\game\objects\items\inducer.dm" @@ -1172,10 +1229,8 @@ #include "code\game\objects\items\paiwire.dm" #include "code\game\objects\items\pet_carrier.dm" #include "code\game\objects\items\pinpointer.dm" -#include "code\game\objects\items\pitchfork.dm" #include "code\game\objects\items\plushes.dm" #include "code\game\objects\items\pneumaticCannon.dm" -#include "code\game\objects\items\powerfist.dm" #include "code\game\objects\items\puzzle_pieces.dm" #include "code\game\objects\items\RCD.dm" #include "code\game\objects\items\RCL.dm" @@ -1189,20 +1244,24 @@ #include "code\game\objects\items\shrapnel.dm" #include "code\game\objects\items\shuttle_creator.dm" #include "code\game\objects\items\signs.dm" -#include "code\game\objects\items\singularityhammer.dm" -#include "code\game\objects\items\spear.dm" -#include "code\game\objects\items\stunbaton.dm" #include "code\game\objects\items\survery_handheld.dm" #include "code\game\objects\items\taster.dm" #include "code\game\objects\items\teleportation.dm" -#include "code\game\objects\items\teleprod.dm" #include "code\game\objects\items\theft_tools.dm" #include "code\game\objects\items\toy_mechs.dm" #include "code\game\objects\items\toys.dm" #include "code\game\objects\items\trash.dm" #include "code\game\objects\items\vending_items.dm" #include "code\game\objects\items\wayfinding.dm" -#include "code\game\objects\items\weaponry.dm" +#include "code\game\objects\items\attachments\_attachment.dm" +#include "code\game\objects\items\attachments\bayonet.dm" +#include "code\game\objects\items\attachments\energy_bayonet.dm" +#include "code\game\objects\items\attachments\laser_sight.dm" +#include "code\game\objects\items\attachments\m17_barrel.dm" +#include "code\game\objects\items\attachments\rail_light.dm" +#include "code\game\objects\items\attachments\shoulder_sling.dm" +#include "code\game\objects\items\attachments\silencer.dm" +#include "code\game\objects\items\attachments\stock.dm" #include "code\game\objects\items\circuitboards\circuitboard.dm" #include "code\game\objects\items\circuitboards\computer_circuitboards.dm" #include "code\game\objects\items\circuitboards\machine_circuitboards.dm" @@ -1229,7 +1288,6 @@ #include "code\game\objects\items\devices\powersink.dm" #include "code\game\objects\items\devices\pressureplates.dm" #include "code\game\objects\items\devices\quantum_keycard.dm" -#include "code\game\objects\items\devices\reverse_bear_trap.dm" #include "code\game\objects\items\devices\scanners.dm" #include "code\game\objects\items\devices\sensor_device.dm" #include "code\game\objects\items\devices\spyglasses.dm" @@ -1247,6 +1305,10 @@ #include "code\game\objects\items\devices\radio\headset.dm" #include "code\game\objects\items\devices\radio\intercom.dm" #include "code\game\objects\items\devices\radio\radio.dm" +#include "code\game\objects\items\food\_food.dm" +#include "code\game\objects\items\food\bread.dm" +#include "code\game\objects\items\food\cake.dm" +#include "code\game\objects\items\food\spaghetti.dm" #include "code\game\objects\items\grenades\antigravity.dm" #include "code\game\objects\items\grenades\chem_grenade.dm" #include "code\game\objects\items\grenades\clusterbuster.dm" @@ -1281,9 +1343,20 @@ #include "code\game\objects\items\implants\implanter.dm" #include "code\game\objects\items\implants\implantpad.dm" #include "code\game\objects\items\implants\implantuplink.dm" +#include "code\game\objects\items\melee\chainsaw.dm" +#include "code\game\objects\items\melee\dualsaber.dm" #include "code\game\objects\items\melee\energy.dm" +#include "code\game\objects\items\melee\energyhalberd.dm" +#include "code\game\objects\items\melee\fireaxe.dm" +#include "code\game\objects\items\melee\knife.dm" #include "code\game\objects\items\melee\misc.dm" -#include "code\game\objects\items\melee\transforming.dm" +#include "code\game\objects\items\melee\powerfist.dm" +#include "code\game\objects\items\melee\spear.dm" +#include "code\game\objects\items\melee\stunbaton.dm" +#include "code\game\objects\items\melee\sword.dm" +#include "code\game\objects\items\melee\teleprod.dm" +#include "code\game\objects\items\melee\trickweapon.dm" +#include "code\game\objects\items\melee\weaponry.dm" #include "code\game\objects\items\robot\ai_upgrades.dm" #include "code\game\objects\items\robot\robot_items.dm" #include "code\game\objects\items\robot\robot_parts.dm" @@ -1310,13 +1383,16 @@ #include "code\game\objects\items\stacks\tiles\tile_reskinning.dm" #include "code\game\objects\items\stacks\tiles\tile_types.dm" #include "code\game\objects\items\stacks\tiles\tiles_suns.dm" +#include "code\game\objects\items\storage\ammo_can.dm" #include "code\game\objects\items\storage\backpack.dm" #include "code\game\objects\items\storage\bags.dm" #include "code\game\objects\items\storage\belt.dm" #include "code\game\objects\items\storage\book.dm" #include "code\game\objects\items\storage\boxes.dm" #include "code\game\objects\items\storage\briefcase.dm" +#include "code\game\objects\items\storage\cases.dm" #include "code\game\objects\items\storage\fancy.dm" +#include "code\game\objects\items\storage\filled_guncases.dm" #include "code\game\objects\items\storage\firstaid.dm" #include "code\game\objects\items\storage\guncases.dm" #include "code\game\objects\items\storage\holsters.dm" @@ -1334,6 +1410,7 @@ #include "code\game\objects\items\tanks\watertank.dm" #include "code\game\objects\items\tools\chisel.dm" #include "code\game\objects\items\tools\crowbar.dm" +#include "code\game\objects\items\tools\electric_weldingtool.dm" #include "code\game\objects\items\tools\screwdriver.dm" #include "code\game\objects\items\tools\weldingtool.dm" #include "code\game\objects\items\tools\wirecutters.dm" @@ -1342,6 +1419,8 @@ #include "code\game\objects\structures\artstuff.dm" #include "code\game\objects\structures\barsigns.dm" #include "code\game\objects\structures\bedsheet_bin.dm" +#include "code\game\objects\structures\cabinet.dm" +#include "code\game\objects\structures\cabinet_types.dm" #include "code\game\objects\structures\catwalk.dm" #include "code\game\objects\structures\crateshelf.dm" #include "code\game\objects\structures\curtains.dm" @@ -1355,17 +1434,16 @@ #include "code\game\objects\structures\extinguisher.dm" #include "code\game\objects\structures\false_walls.dm" #include "code\game\objects\structures\fence.dm" -#include "code\game\objects\structures\fireaxe.dm" #include "code\game\objects\structures\fireplace.dm" #include "code\game\objects\structures\flora.dm" #include "code\game\objects\structures\fluff.dm" +#include "code\game\objects\structures\geyser.dm" #include "code\game\objects\structures\ghost_role_spawners.dm" #include "code\game\objects\structures\girders.dm" #include "code\game\objects\structures\grille.dm" #include "code\game\objects\structures\guillotine.dm" #include "code\game\objects\structures\guncase.dm" #include "code\game\objects\structures\headpike.dm" -#include "code\game\objects\structures\hivebot.dm" #include "code\game\objects\structures\holosign.dm" #include "code\game\objects\structures\janicart.dm" #include "code\game\objects\structures\kitchen_spike.dm" @@ -1382,6 +1460,7 @@ #include "code\game\objects\structures\noticeboard.dm" #include "code\game\objects\structures\petrified_statue.dm" #include "code\game\objects\structures\plasticflaps.dm" +#include "code\game\objects\structures\platforms.dm" #include "code\game\objects\structures\poddoor_assembly.dm" #include "code\game\objects\structures\printer.dm" #include "code\game\objects\structures\radioactive.dm" @@ -1393,7 +1472,6 @@ #include "code\game\objects\structures\showcase.dm" #include "code\game\objects\structures\shower.dm" #include "code\game\objects\structures\signs.dm" -#include "code\game\objects\structures\spawner.dm" #include "code\game\objects\structures\spirit_board.dm" #include "code\game\objects\structures\stairs.dm" #include "code\game\objects\structures\statues.dm" @@ -1440,12 +1518,10 @@ #include "code\game\objects\structures\crates_lockers\closets\secure\security.dm" #include "code\game\objects\structures\crates_lockers\crates\bins.dm" #include "code\game\objects\structures\crates_lockers\crates\critter.dm" +#include "code\game\objects\structures\crates_lockers\crates\graves.dm" #include "code\game\objects\structures\crates_lockers\crates\large.dm" #include "code\game\objects\structures\crates_lockers\crates\secure.dm" #include "code\game\objects\structures\crates_lockers\crates\wooden.dm" -#include "code\game\objects\structures\icemoon\cave_entrance.dm" -#include "code\game\objects\structures\lavaland\geyser.dm" -#include "code\game\objects\structures\lavaland\necropolis_tendril.dm" #include "code\game\objects\structures\plaques\_plaques.dm" #include "code\game\objects\structures\plaques\static_plaques.dm" #include "code\game\objects\structures\signs\_signs.dm" @@ -1461,6 +1537,7 @@ #include "code\game\turfs\change_turf.dm" #include "code\game\turfs\turf.dm" #include "code\game\turfs\closed\_closed.dm" +#include "code\game\turfs\closed\indestructible.dm" #include "code\game\turfs\closed\minerals.dm" #include "code\game\turfs\closed\walls.dm" #include "code\game\turfs\closed\wall\conc_walls.dm" @@ -1492,6 +1569,7 @@ #include "code\game\turfs\open\floor\plating\asteroid.dm" #include "code\game\turfs\open\floor\plating\beach.dm" #include "code\game\turfs\open\floor\plating\icemoon.dm" +#include "code\game\turfs\open\floor\plating\jungle.dm" #include "code\game\turfs\open\floor\plating\lavaland.dm" #include "code\game\turfs\open\floor\plating\misc_plating.dm" #include "code\game\turfs\open\floor\plating\planet.dm" @@ -1622,34 +1700,6 @@ #include "code\modules\antagonists\abductor\machinery\experiment.dm" #include "code\modules\antagonists\abductor\machinery\pad.dm" #include "code\modules\antagonists\ashwalker\ashwalker.dm" -#include "code\modules\antagonists\blob\blob.dm" -#include "code\modules\antagonists\blob\blob_mobs.dm" -#include "code\modules\antagonists\blob\blob_report.dm" -#include "code\modules\antagonists\blob\overmind.dm" -#include "code\modules\antagonists\blob\powers.dm" -#include "code\modules\antagonists\blob\blobstrains\_blobstrain.dm" -#include "code\modules\antagonists\blob\blobstrains\_reagent.dm" -#include "code\modules\antagonists\blob\blobstrains\blazing_oil.dm" -#include "code\modules\antagonists\blob\blobstrains\cryogenic_poison.dm" -#include "code\modules\antagonists\blob\blobstrains\debris_devourer.dm" -#include "code\modules\antagonists\blob\blobstrains\distributed_neurons.dm" -#include "code\modules\antagonists\blob\blobstrains\electromagnetic_web.dm" -#include "code\modules\antagonists\blob\blobstrains\energized_jelly.dm" -#include "code\modules\antagonists\blob\blobstrains\explosive_lattice.dm" -#include "code\modules\antagonists\blob\blobstrains\multiplex.dm" -#include "code\modules\antagonists\blob\blobstrains\networked_fibers.dm" -#include "code\modules\antagonists\blob\blobstrains\pressurized_slime.dm" -#include "code\modules\antagonists\blob\blobstrains\reactive_spines.dm" -#include "code\modules\antagonists\blob\blobstrains\regenerative_materia.dm" -#include "code\modules\antagonists\blob\blobstrains\replicating_foam.dm" -#include "code\modules\antagonists\blob\blobstrains\shifting_fragments.dm" -#include "code\modules\antagonists\blob\blobstrains\synchronous_mesh.dm" -#include "code\modules\antagonists\blob\structures\_blob.dm" -#include "code\modules\antagonists\blob\structures\core.dm" -#include "code\modules\antagonists\blob\structures\factory.dm" -#include "code\modules\antagonists\blob\structures\node.dm" -#include "code\modules\antagonists\blob\structures\resource.dm" -#include "code\modules\antagonists\blob\structures\shield.dm" #include "code\modules\antagonists\blood_contract\blood_contract.dm" #include "code\modules\antagonists\borer\borer.dm" #include "code\modules\antagonists\borer\borer_chems.dm" @@ -1684,21 +1734,6 @@ #include "code\modules\antagonists\changeling\powers\strained_muscles.dm" #include "code\modules\antagonists\changeling\powers\tiny_prick.dm" #include "code\modules\antagonists\changeling\powers\transform.dm" -#include "code\modules\antagonists\cult\blood_magic.dm" -#include "code\modules\antagonists\cult\cult.dm" -#include "code\modules\antagonists\cult\cult_comms.dm" -#include "code\modules\antagonists\cult\cult_items.dm" -#include "code\modules\antagonists\cult\cult_structures.dm" -#include "code\modules\antagonists\cult\cult_turf_overlay.dm" -#include "code\modules\antagonists\cult\ritual.dm" -#include "code\modules\antagonists\cult\rune_spawn_action.dm" -#include "code\modules\antagonists\cult\runes.dm" -#include "code\modules\antagonists\devil\devil.dm" -#include "code\modules\antagonists\devil\imp\imp.dm" -#include "code\modules\antagonists\devil\sintouched\objectives.dm" -#include "code\modules\antagonists\devil\sintouched\sintouched.dm" -#include "code\modules\antagonists\devil\true_devil\_true_devil.dm" -#include "code\modules\antagonists\devil\true_devil\inventory.dm" #include "code\modules\antagonists\disease\disease_abilities.dm" #include "code\modules\antagonists\disease\disease_datum.dm" #include "code\modules\antagonists\disease\disease_disease.dm" @@ -1706,10 +1741,12 @@ #include "code\modules\antagonists\disease\disease_mob.dm" #include "code\modules\antagonists\ert\ert.dm" #include "code\modules\antagonists\ert\frontiersmen.dm" +#include "code\modules\antagonists\ert\gezena.dm" #include "code\modules\antagonists\ert\indie.dm" #include "code\modules\antagonists\ert\inteq.dm" #include "code\modules\antagonists\ert\minutemen.dm" #include "code\modules\antagonists\ert\nanotrasen.dm" +#include "code\modules\antagonists\ert\roumain.dm" #include "code\modules\antagonists\ert\solgov.dm" #include "code\modules\antagonists\ert\syndicate.dm" #include "code\modules\antagonists\gang\outfits.dm" @@ -1737,8 +1774,6 @@ #include "code\modules\antagonists\slaughter\slaughterevent.dm" #include "code\modules\antagonists\space_dragon\space_dragon.dm" #include "code\modules\antagonists\survivalist\survivalist.dm" -#include "code\modules\antagonists\swarmer\swarmer.dm" -#include "code\modules\antagonists\swarmer\swarmer_event.dm" #include "code\modules\antagonists\traitor\datum_traitor.dm" #include "code\modules\antagonists\traitor\syndicate_contract.dm" #include "code\modules\antagonists\traitor\equipment\contractor.dm" @@ -1749,9 +1784,9 @@ #include "code\modules\antagonists\valentines\valentine.dm" #include "code\modules\antagonists\wizard\wizard.dm" #include "code\modules\antagonists\wizard\equipment\artefact.dm" -#include "code\modules\antagonists\wizard\equipment\soulstone.dm" #include "code\modules\antagonists\wizard\equipment\spellbook.dm" #include "code\modules\antagonists\xeno\xeno.dm" +#include "code\modules\assembly\anomalies.dm" #include "code\modules\assembly\assembly.dm" #include "code\modules\assembly\bomb.dm" #include "code\modules\assembly\doorcontrol.dm" @@ -1848,17 +1883,11 @@ #include "code\modules\awaymissions\zlevel.dm" #include "code\modules\awaymissions\mission_code\Academy.dm" #include "code\modules\awaymissions\mission_code\Cabin.dm" -#include "code\modules\awaymissions\mission_code\caves.dm" #include "code\modules\awaymissions\mission_code\centcomAway.dm" #include "code\modules\awaymissions\mission_code\challenge.dm" -#include "code\modules\awaymissions\mission_code\moonoutpost19.dm" #include "code\modules\awaymissions\mission_code\murderdome.dm" -#include "code\modules\awaymissions\mission_code\research.dm" #include "code\modules\awaymissions\mission_code\snowdin.dm" #include "code\modules\awaymissions\mission_code\spacebattle.dm" -#include "code\modules\awaymissions\mission_code\stationCollision.dm" -#include "code\modules\awaymissions\mission_code\undergroundoutpost45.dm" -#include "code\modules\awaymissions\mission_code\wildwest.dm" #include "code\modules\balloon_alert\balloon_alert.dm" #include "code\modules\buildmode\bm_mode.dm" #include "code\modules\buildmode\buildmode.dm" @@ -1871,6 +1900,7 @@ #include "code\modules\buildmode\submodes\copy.dm" #include "code\modules\buildmode\submodes\delete.dm" #include "code\modules\buildmode\submodes\fill.dm" +#include "code\modules\buildmode\submodes\lightmaker.dm" #include "code\modules\buildmode\submodes\map_export.dm" #include "code\modules\buildmode\submodes\outfit.dm" #include "code\modules\buildmode\submodes\proccall.dm" @@ -1881,9 +1911,9 @@ #include "code\modules\cargo\bounty.dm" #include "code\modules\cargo\bounty_console.dm" #include "code\modules\cargo\centcom_podlauncher.dm" +#include "code\modules\cargo\console.dm" #include "code\modules\cargo\export_scanner.dm" #include "code\modules\cargo\exports.dm" -#include "code\modules\cargo\expressconsole.dm" #include "code\modules\cargo\gondolapod.dm" #include "code\modules\cargo\order.dm" #include "code\modules\cargo\packs.dm" @@ -1893,11 +1923,13 @@ #include "code\modules\cargo\blackmarket\blackmarket_market.dm" #include "code\modules\cargo\blackmarket\blackmarket_telepad.dm" #include "code\modules\cargo\blackmarket\blackmarket_uplink.dm" +#include "code\modules\cargo\blackmarket\blackmarket_items\ammo.dm" #include "code\modules\cargo\blackmarket\blackmarket_items\clothing.dm" #include "code\modules\cargo\blackmarket\blackmarket_items\consumables.dm" #include "code\modules\cargo\blackmarket\blackmarket_items\emergency.dm" #include "code\modules\cargo\blackmarket\blackmarket_items\explosives.dm" #include "code\modules\cargo\blackmarket\blackmarket_items\misc.dm" +#include "code\modules\cargo\blackmarket\blackmarket_items\tech.dm" #include "code\modules\cargo\blackmarket\blackmarket_items\tools.dm" #include "code\modules\cargo\blackmarket\blackmarket_items\weapons.dm" #include "code\modules\cargo\bounties\assistant.dm" @@ -1911,7 +1943,6 @@ #include "code\modules\cargo\bounties\reagent.dm" #include "code\modules\cargo\bounties\science.dm" #include "code\modules\cargo\bounties\security.dm" -#include "code\modules\cargo\bounties\slime.dm" #include "code\modules\cargo\bounties\special.dm" #include "code\modules\cargo\bounties\virus.dm" #include "code\modules\cargo\exports\gear.dm" @@ -1931,9 +1962,11 @@ #include "code\modules\cargo\packs\costumes_toys.dm" #include "code\modules\cargo\packs\emergency.dm" #include "code\modules\cargo\packs\exploration.dm" +#include "code\modules\cargo\packs\fishing.dm" #include "code\modules\cargo\packs\food.dm" #include "code\modules\cargo\packs\gun.dm" #include "code\modules\cargo\packs\machinery.dm" +#include "code\modules\cargo\packs\magazines.dm" #include "code\modules\cargo\packs\material.dm" #include "code\modules\cargo\packs\mechs.dm" #include "code\modules\cargo\packs\medical.dm" @@ -2002,15 +2035,16 @@ #include "code\modules\clothing\masks\hailer.dm" #include "code\modules\clothing\masks\miscellaneous.dm" #include "code\modules\clothing\neck\_neck.dm" -#include "code\modules\clothing\outfits\event.dm" #include "code\modules\clothing\outfits\plasmaman.dm" #include "code\modules\clothing\outfits\standard.dm" #include "code\modules\clothing\outfits\vv_outfit.dm" #include "code\modules\clothing\outfits\ert\frontiersmen_ert.dm" +#include "code\modules\clothing\outfits\ert\gezena_ert.dm" #include "code\modules\clothing\outfits\ert\indie_ert.dm" #include "code\modules\clothing\outfits\ert\inteq_ert.dm" #include "code\modules\clothing\outfits\ert\minutemen_ert.dm" #include "code\modules\clothing\outfits\ert\nanotrasen_ert.dm" +#include "code\modules\clothing\outfits\ert\roumain_ert.dm" #include "code\modules\clothing\outfits\ert\solgov_ert.dm" #include "code\modules\clothing\outfits\ert\syndicate_ert.dm" #include "code\modules\clothing\outfits\factions\frontiersmen.dm" @@ -2023,7 +2057,6 @@ #include "code\modules\clothing\outfits\factions\solgov.dm" #include "code\modules\clothing\outfits\factions\syndicate.dm" #include "code\modules\clothing\shoes\_shoes.dm" -#include "code\modules\clothing\shoes\bananashoes.dm" #include "code\modules\clothing\shoes\colour.dm" #include "code\modules\clothing\shoes\magboots.dm" #include "code\modules\clothing\shoes\miscellaneous.dm" @@ -2094,14 +2127,12 @@ #include "code\modules\events\abductor.dm" #include "code\modules\events\alien_infestation.dm" #include "code\modules\events\aurora_caelus.dm" -#include "code\modules\events\blob.dm" #include "code\modules\events\borers.dm" #include "code\modules\events\brain_trauma.dm" #include "code\modules\events\brand_intelligence.dm" #include "code\modules\events\camerafailure.dm" #include "code\modules\events\carp_migration.dm" #include "code\modules\events\communications_blackout.dm" -#include "code\modules\events\devil.dm" #include "code\modules\events\disease_outbreak.dm" #include "code\modules\events\dust.dm" #include "code\modules\events\electrical_storm.dm" @@ -2113,10 +2144,7 @@ #include "code\modules\events\high_priority_bounty.dm" #include "code\modules\events\immovable_rod.dm" #include "code\modules\events\ion_storm.dm" -#include "code\modules\events\major_dust.dm" #include "code\modules\events\mass_hallucination.dm" -#include "code\modules\events\meateor_wave.dm" -#include "code\modules\events\meteor_wave.dm" #include "code\modules\events\nightmare.dm" #include "code\modules\events\operative.dm" #include "code\modules\events\prison_break.dm" @@ -2127,15 +2155,12 @@ #include "code\modules\events\spacevine.dm" #include "code\modules\events\spider_infestation.dm" #include "code\modules\events\spontaneous_appendicitis.dm" -#include "code\modules\events\stray_cargo.dm" #include "code\modules\events\vent_clog.dm" #include "code\modules\events\wormholes.dm" #include "code\modules\events\holiday\halloween.dm" #include "code\modules\events\holiday\vday.dm" #include "code\modules\events\holiday\xmas.dm" #include "code\modules\events\wizard\aid.dm" -#include "code\modules\events\wizard\blobies.dm" -#include "code\modules\events\wizard\curseditems.dm" #include "code\modules\events\wizard\departmentrevolt.dm" #include "code\modules\events\wizard\embeddies.dm" #include "code\modules\events\wizard\fakeexplosion.dm" @@ -2149,6 +2174,7 @@ #include "code\modules\events\wizard\rpgloot.dm" #include "code\modules\events\wizard\shuffle.dm" #include "code\modules\events\wizard\summons.dm" +#include "code\modules\faction\faction_datum.dm" #include "code\modules\fishing\bait.dm" #include "code\modules\fishing\fish_catalog.dm" #include "code\modules\fishing\fishing_equipment.dm" @@ -2176,9 +2202,7 @@ #include "code\modules\food_and_drinks\food\customizables.dm" #include "code\modules\food_and_drinks\food\ration.dm" #include "code\modules\food_and_drinks\food\snacks.dm" -#include "code\modules\food_and_drinks\food\snacks_bread.dm" #include "code\modules\food_and_drinks\food\snacks_burgers.dm" -#include "code\modules\food_and_drinks\food\snacks_cake.dm" #include "code\modules\food_and_drinks\food\snacks_egg.dm" #include "code\modules\food_and_drinks\food\snacks_frozen.dm" #include "code\modules\food_and_drinks\food\snacks_meat.dm" @@ -2189,7 +2213,6 @@ #include "code\modules\food_and_drinks\food\snacks_salad.dm" #include "code\modules\food_and_drinks\food\snacks_sandwichtoast.dm" #include "code\modules\food_and_drinks\food\snacks_soup.dm" -#include "code\modules\food_and_drinks\food\snacks_spaghetti.dm" #include "code\modules\food_and_drinks\food\snacks_vend.dm" #include "code\modules\food_and_drinks\food\snacks\dough.dm" #include "code\modules\food_and_drinks\food\snacks\meat.dm" @@ -2201,7 +2224,6 @@ #include "code\modules\food_and_drinks\kitchen_machinery\grill.dm" #include "code\modules\food_and_drinks\kitchen_machinery\icecream_vat.dm" #include "code\modules\food_and_drinks\kitchen_machinery\microwave.dm" -#include "code\modules\food_and_drinks\kitchen_machinery\monkeyrecycler.dm" #include "code\modules\food_and_drinks\kitchen_machinery\processor.dm" #include "code\modules\food_and_drinks\kitchen_machinery\smartfridge.dm" #include "code\modules\food_and_drinks\recipes\drinks_recipes.dm" @@ -2247,6 +2269,8 @@ #include "code\modules\hydroponics\beekeeping\beekeeper_suit.dm" #include "code\modules\hydroponics\beekeeping\honey_frame.dm" #include "code\modules\hydroponics\beekeeping\honeycomb.dm" +#include "code\modules\hydroponics\genes\attack.dm" +#include "code\modules\hydroponics\genes\backfire.dm" #include "code\modules\hydroponics\grown\ambrosia.dm" #include "code\modules\hydroponics\grown\apple.dm" #include "code\modules\hydroponics\grown\banana.dm" @@ -2373,7 +2397,6 @@ #include "code\modules\language\teceti_unified.dm" #include "code\modules\language\vox_pidgin.dm" #include "code\modules\language\xenocommon.dm" -#include "code\modules\library\lib_codex_gigas.dm" #include "code\modules\library\lib_items.dm" #include "code\modules\library\lib_machines.dm" #include "code\modules\library\random_books.dm" @@ -2421,6 +2444,7 @@ #include "code\modules\mining\ores_coins.dm" #include "code\modules\mining\satchel_ore_boxdm.dm" #include "code\modules\mining\shelters.dm" +#include "code\modules\mining\equipment\angle_grinder.dm" #include "code\modules\mining\equipment\explorer_gear.dm" #include "code\modules\mining\equipment\kinetic_crusher.dm" #include "code\modules\mining\equipment\lazarus_injector.dm" @@ -2655,11 +2679,9 @@ #include "code\modules\mob\living\silicon\robot\robot_movement.dm" #include "code\modules\mob\living\silicon\robot\robot_say.dm" #include "code\modules\mob\living\simple_animal\animal_defense.dm" -#include "code\modules\mob\living\simple_animal\constructs.dm" #include "code\modules\mob\living\simple_animal\corpse.dm" #include "code\modules\mob\living\simple_animal\damage_procs.dm" #include "code\modules\mob\living\simple_animal\parrot.dm" -#include "code\modules\mob\living\simple_animal\shade.dm" #include "code\modules\mob\living\simple_animal\simple_animal.dm" #include "code\modules\mob\living\simple_animal\status_procs.dm" #include "code\modules\mob\living\simple_animal\bot\bot.dm" @@ -2701,19 +2723,6 @@ #include "code\modules\mob\living\simple_animal\friendly\drone\inventory.dm" #include "code\modules\mob\living\simple_animal\friendly\drone\verbs.dm" #include "code\modules\mob\living\simple_animal\friendly\drone\visuals_icons.dm" -#include "code\modules\mob\living\simple_animal\guardian\guardian.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\assassin.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\charger.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\dextrous.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\explosive.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\fire.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\gravitokinetic.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\lightning.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\protector.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\ranged.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\slime.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\standard.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\support.dm" #include "code\modules\mob\living\simple_animal\hostile\abandoned_minebot.dm" #include "code\modules\mob\living\simple_animal\hostile\alien.dm" #include "code\modules\mob\living\simple_animal\hostile\bear.dm" @@ -2744,7 +2753,6 @@ #include "code\modules\mob\living\simple_animal\hostile\gorilla\emotes.dm" #include "code\modules\mob\living\simple_animal\hostile\gorilla\gorilla.dm" #include "code\modules\mob\living\simple_animal\hostile\gorilla\visuals_icons.dm" -#include "code\modules\mob\living\simple_animal\hostile\human\cat_butcher.dm" #include "code\modules\mob\living\simple_animal\hostile\human\frontiersman.dm" #include "code\modules\mob\living\simple_animal\hostile\human\human.dm" #include "code\modules\mob\living\simple_animal\hostile\human\nanotrasen.dm" @@ -2768,7 +2776,6 @@ #include "code\modules\mob\living\simple_animal\hostile\megafauna\hierophant.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\legion.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\megafauna.dm" -#include "code\modules\mob\living\simple_animal\hostile\megafauna\swarmer.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\wendigo.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\basilisk.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\brimdemon.dm" @@ -2778,8 +2785,8 @@ #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\gutlunch.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\hivelord.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\hivelord_outfits.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\ice demon.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\ice whelp.dm" +#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\ice_demon.dm" +#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\ice_whelp.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\lobstrosity.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\mining_mobs.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\polarbear.dm" @@ -2802,6 +2809,34 @@ #include "code\modules\mob\living\simple_animal\slime\slime.dm" #include "code\modules\mob\living\simple_animal\slime\slime_say.dm" #include "code\modules\mob\living\simple_animal\slime\subtypes.dm" +#include "code\modules\mob_spawner\burrow.dm" +#include "code\modules\mob_spawner\hivebot.dm" +#include "code\modules\mob_spawner\spawner.dm" +#include "code\modules\mob_spawner\spawner_componet.dm" +#include "code\modules\mod\mod_actions.dm" +#include "code\modules\mod\mod_activation.dm" +#include "code\modules\mod\mod_ai.dm" +#include "code\modules\mod\mod_clothes.dm" +#include "code\modules\mod\mod_construction.dm" +#include "code\modules\mod\mod_control.dm" +#include "code\modules\mod\mod_core.dm" +#include "code\modules\mod\mod_paint.dm" +#include "code\modules\mod\mod_theme.dm" +#include "code\modules\mod\mod_types.dm" +#include "code\modules\mod\mod_ui.dm" +#include "code\modules\mod\modules\_module.dm" +#include "code\modules\mod\modules\modules_antag.dm" +#include "code\modules\mod\modules\modules_engineering.dm" +#include "code\modules\mod\modules\modules_general.dm" +#include "code\modules\mod\modules\modules_maint.dm" +#include "code\modules\mod\modules\modules_medical.dm" +#include "code\modules\mod\modules\modules_ninja.dm" +#include "code\modules\mod\modules\modules_science.dm" +#include "code\modules\mod\modules\modules_security.dm" +#include "code\modules\mod\modules\modules_service.dm" +#include "code\modules\mod\modules\modules_storage.dm" +#include "code\modules\mod\modules\modules_supply.dm" +#include "code\modules\mod\modules\modules_visor.dm" #include "code\modules\modular_computers\laptop_vendor.dm" #include "code\modules\modular_computers\computers\_modular_computer_shared.dm" #include "code\modules\modular_computers\computers\item\computer.dm" @@ -2862,7 +2897,6 @@ #include "code\modules\movespeed\modifiers\misc.dm" #include "code\modules\movespeed\modifiers\mobs.dm" #include "code\modules\movespeed\modifiers\reagent.dm" -#include "code\modules\movespeed\modifiers\status_effects.dm" #include "code\modules\ninja\__ninjaDefines.dm" #include "code\modules\ninja\energy_katana.dm" #include "code\modules\ninja\ninja_event.dm" @@ -2976,7 +3010,6 @@ #include "code\modules\power\singularity\field_generator.dm" #include "code\modules\power\singularity\generator.dm" #include "code\modules\power\singularity\investigate.dm" -#include "code\modules\power\singularity\narsie.dm" #include "code\modules\power\singularity\singularity.dm" #include "code\modules\power\singularity\particle_accelerator\particle.dm" #include "code\modules\power\singularity\particle_accelerator\particle_accelerator.dm" @@ -2989,7 +3022,7 @@ #include "code\modules\power\tesla\generator.dm" #include "code\modules\projectiles\gun.dm" #include "code\modules\projectiles\projectile.dm" -#include "code\modules\projectiles\ammunition\_ammunition.dm" +#include "code\modules\projectiles\ammunition\_ammo_casing.dm" #include "code\modules\projectiles\ammunition\_firing.dm" #include "code\modules\projectiles\ammunition\ballistic\lmg.dm" #include "code\modules\projectiles\ammunition\ballistic\pistol.dm" @@ -3016,11 +3049,19 @@ #include "code\modules\projectiles\ammunition\special\magic.dm" #include "code\modules\projectiles\ammunition\special\syringe.dm" #include "code\modules\projectiles\boxes_magazines\_box_magazine.dm" -#include "code\modules\projectiles\boxes_magazines\ammo_boxes.dm" -#include "code\modules\projectiles\boxes_magazines\generic_ammo_box.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_loaders.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\_ammo_stack.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\_premade_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_gauss_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_lmg_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_misc_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_pistol_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_rifle_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_shotshell_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_smg_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_sniper_stacks.dm" #include "code\modules\projectiles\boxes_magazines\external\gauss.dm" #include "code\modules\projectiles\boxes_magazines\external\grenade.dm" -#include "code\modules\projectiles\boxes_magazines\external\lmg.dm" #include "code\modules\projectiles\boxes_magazines\external\pistol.dm" #include "code\modules\projectiles\boxes_magazines\external\rechargable.dm" #include "code\modules\projectiles\boxes_magazines\external\rifle.dm" @@ -3063,7 +3104,15 @@ #include "code\modules\projectiles\guns\energy\pulse.dm" #include "code\modules\projectiles\guns\energy\special.dm" #include "code\modules\projectiles\guns\energy\stun.dm" +#include "code\modules\projectiles\guns\manufacturer\clip_lanchester\ballistics.dm" +#include "code\modules\projectiles\guns\manufacturer\clip_lanchester\lasers.dm" #include "code\modules\projectiles\guns\manufacturer\etherbor\energy_gunsword.dm" +#include "code\modules\projectiles\guns\manufacturer\frontier_import\ballistics.dm" +#include "code\modules\projectiles\guns\manufacturer\hunter_pride\ballistics.dm" +#include "code\modules\projectiles\guns\manufacturer\nanotrasen_sharplite\ballistics.dm" +#include "code\modules\projectiles\guns\manufacturer\scarborough\ballistics.dm" +#include "code\modules\projectiles\guns\manufacturer\serene_sporting\ballistics.dm" +#include "code\modules\projectiles\guns\manufacturer\solar_armories\ballistic.dm" #include "code\modules\projectiles\guns\misc\beam_rifle.dm" #include "code\modules\projectiles\guns\misc\blastcannon.dm" #include "code\modules\projectiles\guns\misc\bow.dm" @@ -3085,7 +3134,6 @@ #include "code\modules\projectiles\projectile\bullets\shotgun.dm" #include "code\modules\projectiles\projectile\bullets\smg.dm" #include "code\modules\projectiles\projectile\bullets\sniper.dm" -#include "code\modules\projectiles\projectile\bullets\special.dm" #include "code\modules\projectiles\projectile\bullets\turret.dm" #include "code\modules\projectiles\projectile\energy\_energy.dm" #include "code\modules\projectiles\projectile\energy\ebow.dm" @@ -3124,7 +3172,6 @@ #include "code\modules\reagents\chemistry\machinery\pandemic.dm" #include "code\modules\reagents\chemistry\machinery\reagentgrinder.dm" #include "code\modules\reagents\chemistry\machinery\smoke_machine.dm" -#include "code\modules\reagents\chemistry\reagents\alcohol_reagents.dm" #include "code\modules\reagents\chemistry\reagents\cat2_medicine_reagents.dm" #include "code\modules\reagents\chemistry\reagents\drink_reagents.dm" #include "code\modules\reagents\chemistry\reagents\drug_reagents.dm" @@ -3134,18 +3181,22 @@ #include "code\modules\reagents\chemistry\reagents\pyrotechnic_reagents.dm" #include "code\modules\reagents\chemistry\reagents\toxin_reagents.dm" #include "code\modules\reagents\chemistry\reagents\trickwine_reagents.dm" +#include "code\modules\reagents\chemistry\reagents\alcohol_reagents\base_drinks.dm" +#include "code\modules\reagents\chemistry\reagents\alcohol_reagents\ethanol.dm" +#include "code\modules\reagents\chemistry\reagents\alcohol_reagents\fruit_wine.dm" +#include "code\modules\reagents\chemistry\reagents\alcohol_reagents\mixed_drinks.dm" #include "code\modules\reagents\chemistry\recipes\cat2_medicines.dm" #include "code\modules\reagents\chemistry\recipes\drugs.dm" #include "code\modules\reagents\chemistry\recipes\medicine.dm" #include "code\modules\reagents\chemistry\recipes\others.dm" #include "code\modules\reagents\chemistry\recipes\pyrotechnics.dm" -#include "code\modules\reagents\chemistry\recipes\slime_extracts.dm" #include "code\modules\reagents\chemistry\recipes\special.dm" #include "code\modules\reagents\chemistry\recipes\toxins.dm" #include "code\modules\reagents\reagent_containers\blood_pack.dm" #include "code\modules\reagents\reagent_containers\borghydro.dm" #include "code\modules\reagents\reagent_containers\bottle.dm" #include "code\modules\reagents\reagent_containers\chem_pack.dm" +#include "code\modules\reagents\reagent_containers\concrete_bags.dm" #include "code\modules\reagents\reagent_containers\dropper.dm" #include "code\modules\reagents\reagent_containers\glass.dm" #include "code\modules\reagents\reagent_containers\hypospray.dm" @@ -3173,7 +3224,6 @@ #include "code\modules\religion\rites.dm" #include "code\modules\requests\request.dm" #include "code\modules\requests\requests_manager.dm" -#include "code\modules\research\bepis.dm" #include "code\modules\research\designs.dm" #include "code\modules\research\destructive_analyzer.dm" #include "code\modules\research\experimentor.dm" @@ -3238,41 +3288,23 @@ #include "code\modules\research\techweb\_techweb.dm" #include "code\modules\research\techweb\_techweb_node.dm" #include "code\modules\research\techweb\all_nodes.dm" -#include "code\modules\research\xenobiology\xenobio_camera.dm" -#include "code\modules\research\xenobiology\xenobiology.dm" -#include "code\modules\research\xenobiology\crossbreeding\__corecross.dm" -#include "code\modules\research\xenobiology\crossbreeding\_clothing.dm" -#include "code\modules\research\xenobiology\crossbreeding\_misc.dm" -#include "code\modules\research\xenobiology\crossbreeding\_mobs.dm" -#include "code\modules\research\xenobiology\crossbreeding\_potions.dm" -#include "code\modules\research\xenobiology\crossbreeding\_status_effects.dm" -#include "code\modules\research\xenobiology\crossbreeding\_weapons.dm" -#include "code\modules\research\xenobiology\crossbreeding\burning.dm" -#include "code\modules\research\xenobiology\crossbreeding\charged.dm" -#include "code\modules\research\xenobiology\crossbreeding\chilling.dm" -#include "code\modules\research\xenobiology\crossbreeding\consuming.dm" -#include "code\modules\research\xenobiology\crossbreeding\industrial.dm" -#include "code\modules\research\xenobiology\crossbreeding\mutative.dm" -#include "code\modules\research\xenobiology\crossbreeding\prismatic.dm" -#include "code\modules\research\xenobiology\crossbreeding\recurring.dm" -#include "code\modules\research\xenobiology\crossbreeding\regenerative.dm" -#include "code\modules\research\xenobiology\crossbreeding\reproductive.dm" -#include "code\modules\research\xenobiology\crossbreeding\selfsustaining.dm" -#include "code\modules\research\xenobiology\crossbreeding\stabilized.dm" #include "code\modules\ruins\rockplanet_ruin_code.dm" #include "code\modules\ruins\icemoonruin_code\hydroponicslab.dm" #include "code\modules\ruins\icemoonruin_code\library.dm" +#include "code\modules\ruins\icemoonruin_code\tesla_lab.dm" #include "code\modules\ruins\icemoonruin_code\wrath.dm" #include "code\modules\ruins\lavalandruin_code\biodome_winter.dm" -#include "code\modules\ruins\lavalandruin_code\elephantgraveyard.dm" #include "code\modules\ruins\lavalandruin_code\puzzle.dm" #include "code\modules\ruins\lavalandruin_code\surface.dm" #include "code\modules\ruins\lavalandruin_code\syndicate_base.dm" #include "code\modules\ruins\objects_and_mobs\ash_walker_den.dm" #include "code\modules\ruins\objects_and_mobs\necropolis_gate.dm" #include "code\modules\ruins\objects_and_mobs\sin_ruins.dm" +#include "code\modules\ruins\rockplanet_ruin_code\mining_base.dm" +#include "code\modules\ruins\sandplanet_ruin_code\cave_base.dm" #include "code\modules\ruins\spaceruin_code\bigderelict1.dm" #include "code\modules\ruins\spaceruin_code\TheDerelict.dm" +#include "code\modules\ruins\wasteplanet_ruin_code\tradepost.dm" #include "code\modules\screen_alerts\_screen_alerts.dm" #include "code\modules\security_levels\keycard_authentication.dm" #include "code\modules\security_levels\security_levels.dm" @@ -3292,10 +3324,7 @@ #include "code\modules\spells\spell_types\bloodcrawl.dm" #include "code\modules\spells\spell_types\charge.dm" #include "code\modules\spells\spell_types\conjure.dm" -#include "code\modules\spells\spell_types\construct_spells.dm" #include "code\modules\spells\spell_types\curse.dm" -#include "code\modules\spells\spell_types\devil.dm" -#include "code\modules\spells\spell_types\devil_boons.dm" #include "code\modules\spells\spell_types\emplosion.dm" #include "code\modules\spells\spell_types\ethereal_jaunt.dm" #include "code\modules\spells\spell_types\explosion.dm" @@ -3336,7 +3365,6 @@ #include "code\modules\surgery\bone_repair.dm" #include "code\modules\surgery\brain_surgery.dm" #include "code\modules\surgery\cavity_implant.dm" -#include "code\modules\surgery\core_removal.dm" #include "code\modules\surgery\coronary_bypass.dm" #include "code\modules\surgery\dental_implant.dm" #include "code\modules\surgery\experimental_dissection.dm" diff --git a/sound/ambience/storm_indoors.ogg b/sound/ambience/storm_indoors.ogg new file mode 100644 index 00000000000..62e9014a05f Binary files /dev/null and b/sound/ambience/storm_indoors.ogg differ diff --git a/sound/ambience/storm_outdoors.ogg b/sound/ambience/storm_outdoors.ogg new file mode 100644 index 00000000000..35ae8e5297d Binary files /dev/null and b/sound/ambience/storm_outdoors.ogg differ diff --git a/sound/effects/splatter.ogg b/sound/effects/splatter.ogg new file mode 100644 index 00000000000..1c678cfe126 Binary files /dev/null and b/sound/effects/splatter.ogg differ diff --git a/sound/health/bone/bone_break1.ogg b/sound/health/bone/bone_break1.ogg new file mode 100644 index 00000000000..dd2d22ec792 Binary files /dev/null and b/sound/health/bone/bone_break1.ogg differ diff --git a/sound/health/bone/bone_break2.ogg b/sound/health/bone/bone_break2.ogg new file mode 100644 index 00000000000..aa2537f894d Binary files /dev/null and b/sound/health/bone/bone_break2.ogg differ diff --git a/sound/health/bone/bone_break3.ogg b/sound/health/bone/bone_break3.ogg new file mode 100644 index 00000000000..9f66324be3b Binary files /dev/null and b/sound/health/bone/bone_break3.ogg differ diff --git a/sound/health/bone/bone_break4.ogg b/sound/health/bone/bone_break4.ogg new file mode 100644 index 00000000000..bbdfac1ecff Binary files /dev/null and b/sound/health/bone/bone_break4.ogg differ diff --git a/sound/health/bone/bone_break5.ogg b/sound/health/bone/bone_break5.ogg new file mode 100644 index 00000000000..dfee0e9baa7 Binary files /dev/null and b/sound/health/bone/bone_break5.ogg differ diff --git a/sound/health/bone/bone_break6.ogg b/sound/health/bone/bone_break6.ogg new file mode 100644 index 00000000000..d41cc8d7cf5 Binary files /dev/null and b/sound/health/bone/bone_break6.ogg differ diff --git a/sound/items/modsuit/atrocinator_step.ogg b/sound/items/modsuit/atrocinator_step.ogg new file mode 100644 index 00000000000..deda85ac354 Binary files /dev/null and b/sound/items/modsuit/atrocinator_step.ogg differ diff --git a/2024-02-11 19 b/sound/items/modsuit/ballin.ogg similarity index 100% rename from 2024-02-11 19 rename to sound/items/modsuit/ballin.ogg diff --git a/sound/items/modsuit/ballout.ogg b/sound/items/modsuit/ballout.ogg new file mode 100644 index 00000000000..f911f1a6a61 Binary files /dev/null and b/sound/items/modsuit/ballout.ogg differ diff --git a/sound/items/modsuit/flamethrower.ogg b/sound/items/modsuit/flamethrower.ogg new file mode 100644 index 00000000000..447245d50b6 Binary files /dev/null and b/sound/items/modsuit/flamethrower.ogg differ diff --git a/sound/items/modsuit/inflate_bloon.ogg b/sound/items/modsuit/inflate_bloon.ogg new file mode 100644 index 00000000000..9b030d66ced Binary files /dev/null and b/sound/items/modsuit/inflate_bloon.ogg differ diff --git a/sound/items/modsuit/loader_charge.ogg b/sound/items/modsuit/loader_charge.ogg new file mode 100644 index 00000000000..61d5531f72e Binary files /dev/null and b/sound/items/modsuit/loader_charge.ogg differ diff --git a/sound/items/modsuit/loader_launch.ogg b/sound/items/modsuit/loader_launch.ogg new file mode 100644 index 00000000000..513118f3c68 Binary files /dev/null and b/sound/items/modsuit/loader_launch.ogg differ diff --git a/sound/items/modsuit/magnetic_harness.ogg b/sound/items/modsuit/magnetic_harness.ogg new file mode 100644 index 00000000000..3d19fccc569 Binary files /dev/null and b/sound/items/modsuit/magnetic_harness.ogg differ diff --git a/sound/items/modsuit/rewinder.ogg b/sound/items/modsuit/rewinder.ogg new file mode 100644 index 00000000000..2587562dc11 Binary files /dev/null and b/sound/items/modsuit/rewinder.ogg differ diff --git a/sound/items/modsuit/springlock.ogg b/sound/items/modsuit/springlock.ogg new file mode 100644 index 00000000000..8d0013d2630 Binary files /dev/null and b/sound/items/modsuit/springlock.ogg differ diff --git a/sound/items/modsuit/tem_shot.ogg b/sound/items/modsuit/tem_shot.ogg new file mode 100644 index 00000000000..50905b95f11 Binary files /dev/null and b/sound/items/modsuit/tem_shot.ogg differ diff --git a/sound/items/modsuit/time_anchor_set.ogg b/sound/items/modsuit/time_anchor_set.ogg new file mode 100644 index 00000000000..457f8e6dbae Binary files /dev/null and b/sound/items/modsuit/time_anchor_set.ogg differ diff --git a/sound/items/taperecorder/taperecorder_close.ogg b/sound/items/taperecorder/taperecorder_close.ogg new file mode 100644 index 00000000000..ab9f521c5f9 Binary files /dev/null and b/sound/items/taperecorder/taperecorder_close.ogg differ diff --git a/sound/items/taperecorder/taperecorder_open.ogg b/sound/items/taperecorder/taperecorder_open.ogg new file mode 100644 index 00000000000..7b7110fa58b Binary files /dev/null and b/sound/items/taperecorder/taperecorder_open.ogg differ diff --git a/sound/items/taperecorder/taperecorder_play.ogg b/sound/items/taperecorder/taperecorder_play.ogg new file mode 100644 index 00000000000..1bf4d7a3bd6 Binary files /dev/null and b/sound/items/taperecorder/taperecorder_play.ogg differ diff --git a/sound/items/taperecorder/taperecorder_print.ogg b/sound/items/taperecorder/taperecorder_print.ogg new file mode 100644 index 00000000000..7912d08dc98 Binary files /dev/null and b/sound/items/taperecorder/taperecorder_print.ogg differ diff --git a/sound/items/taperecorder/taperecorder_stop.ogg b/sound/items/taperecorder/taperecorder_stop.ogg new file mode 100644 index 00000000000..a3b0f659928 Binary files /dev/null and b/sound/items/taperecorder/taperecorder_stop.ogg differ diff --git a/sound/mecha/hydraulic.ogg b/sound/mecha/hydraulic.ogg new file mode 100644 index 00000000000..3281ed2dc0f Binary files /dev/null and b/sound/mecha/hydraulic.ogg differ diff --git a/sound/misc/mail.ogg b/sound/misc/mail.ogg new file mode 100644 index 00000000000..3b6651e9b94 Binary files /dev/null and b/sound/misc/mail.ogg differ diff --git a/sound/weapons/anglegrinder.ogg b/sound/weapons/anglegrinder.ogg new file mode 100644 index 00000000000..ceed497e17c Binary files /dev/null and b/sound/weapons/anglegrinder.ogg differ diff --git a/sound/weapons/gun/hmg/cm40.ogg b/sound/weapons/gun/hmg/cm40.ogg new file mode 100644 index 00000000000..b45507d29a0 Binary files /dev/null and b/sound/weapons/gun/hmg/cm40.ogg differ diff --git a/sound/weapons/gun/hmg/cm40_cocked.ogg b/sound/weapons/gun/hmg/cm40_cocked.ogg new file mode 100644 index 00000000000..694d4772e98 Binary files /dev/null and b/sound/weapons/gun/hmg/cm40_cocked.ogg differ diff --git a/sound/weapons/gun/hmg/cm40_reload.ogg b/sound/weapons/gun/hmg/cm40_reload.ogg new file mode 100644 index 00000000000..490bbd4fe78 Binary files /dev/null and b/sound/weapons/gun/hmg/cm40_reload.ogg differ diff --git a/sound/weapons/gun/hmg/cm40_unload.ogg b/sound/weapons/gun/hmg/cm40_unload.ogg new file mode 100644 index 00000000000..ae9e31aee53 Binary files /dev/null and b/sound/weapons/gun/hmg/cm40_unload.ogg differ diff --git a/sound/weapons/gun/hmg/shredder.ogg b/sound/weapons/gun/hmg/shredder.ogg new file mode 100644 index 00000000000..38ddfc247ee Binary files /dev/null and b/sound/weapons/gun/hmg/shredder.ogg differ diff --git a/sound/weapons/gun/hmg/shredder_cocked.ogg b/sound/weapons/gun/hmg/shredder_cocked.ogg new file mode 100644 index 00000000000..95130493d4c Binary files /dev/null and b/sound/weapons/gun/hmg/shredder_cocked.ogg differ diff --git a/sound/weapons/gun/hmg/shredder_cocked_alt.ogg b/sound/weapons/gun/hmg/shredder_cocked_alt.ogg new file mode 100644 index 00000000000..a73fd1b13b7 Binary files /dev/null and b/sound/weapons/gun/hmg/shredder_cocked_alt.ogg differ diff --git a/sound/weapons/gun/hmg/shredder_reload.ogg b/sound/weapons/gun/hmg/shredder_reload.ogg new file mode 100644 index 00000000000..c7614184d3d Binary files /dev/null and b/sound/weapons/gun/hmg/shredder_reload.ogg differ diff --git a/sound/weapons/gun/hmg/shredder_unload.ogg b/sound/weapons/gun/hmg/shredder_unload.ogg new file mode 100644 index 00000000000..01e6229aba6 Binary files /dev/null and b/sound/weapons/gun/hmg/shredder_unload.ogg differ diff --git a/sound/weapons/gun/l6/shot_old.ogg b/sound/weapons/gun/l6/shot_old.ogg deleted file mode 100644 index e6c1a9abe95..00000000000 Binary files a/sound/weapons/gun/l6/shot_old.ogg and /dev/null differ diff --git a/sound/weapons/gun/pistol/asp.ogg b/sound/weapons/gun/pistol/asp.ogg new file mode 100644 index 00000000000..ca7edcb67c8 Binary files /dev/null and b/sound/weapons/gun/pistol/asp.ogg differ diff --git a/sound/weapons/gun/pistol/cm23.ogg b/sound/weapons/gun/pistol/cm23.ogg new file mode 100644 index 00000000000..f207a4cda89 Binary files /dev/null and b/sound/weapons/gun/pistol/cm23.ogg differ diff --git a/sound/weapons/gun/pistol/cm70.ogg b/sound/weapons/gun/pistol/cm70.ogg new file mode 100644 index 00000000000..2b672fcfb35 Binary files /dev/null and b/sound/weapons/gun/pistol/cm70.ogg differ diff --git a/sound/weapons/gun/pistol/mauler.ogg b/sound/weapons/gun/pistol/mauler.ogg new file mode 100644 index 00000000000..70fb1f9f6ec Binary files /dev/null and b/sound/weapons/gun/pistol/mauler.ogg differ diff --git a/sound/weapons/gun/pistol/rattlesnake.ogg b/sound/weapons/gun/pistol/rattlesnake.ogg new file mode 100644 index 00000000000..34e0412f823 Binary files /dev/null and b/sound/weapons/gun/pistol/rattlesnake.ogg differ diff --git a/sound/weapons/gun/pistol/shot_alt_old.ogg b/sound/weapons/gun/pistol/shot_alt_old.ogg deleted file mode 100644 index 583c3f36034..00000000000 Binary files a/sound/weapons/gun/pistol/shot_alt_old.ogg and /dev/null differ diff --git a/sound/weapons/gun/pistol/shot_old.ogg b/sound/weapons/gun/pistol/shot_old.ogg deleted file mode 100644 index fcf8ad62346..00000000000 Binary files a/sound/weapons/gun/pistol/shot_old.ogg and /dev/null differ diff --git a/sound/weapons/gun/revolver/shot.ogg b/sound/weapons/gun/revolver/shot.ogg index d02d1c750c2..91e480bd152 100644 Binary files a/sound/weapons/gun/revolver/shot.ogg and b/sound/weapons/gun/revolver/shot.ogg differ diff --git a/sound/weapons/gun/revolver/shot_alt_old.ogg b/sound/weapons/gun/revolver/shot_alt_old.ogg deleted file mode 100644 index fcd3b99ff80..00000000000 Binary files a/sound/weapons/gun/revolver/shot_alt_old.ogg and /dev/null differ diff --git a/sound/weapons/gun/revolver/shot_old.ogg b/sound/weapons/gun/revolver/shot_old.ogg deleted file mode 100644 index 6c574829732..00000000000 Binary files a/sound/weapons/gun/revolver/shot_old.ogg and /dev/null differ diff --git a/sound/weapons/gun/revolver/shot_old_new.ogg b/sound/weapons/gun/revolver/shot_old_new.ogg deleted file mode 100644 index 91e480bd152..00000000000 Binary files a/sound/weapons/gun/revolver/shot_old_new.ogg and /dev/null differ diff --git a/sound/weapons/gun/revolver/viper.ogg b/sound/weapons/gun/revolver/viper.ogg new file mode 100644 index 00000000000..8132d556869 Binary files /dev/null and b/sound/weapons/gun/revolver/viper.ogg differ diff --git a/sound/weapons/gun/revolver/viper_prime.ogg b/sound/weapons/gun/revolver/viper_prime.ogg new file mode 100644 index 00000000000..54ad25134ad Binary files /dev/null and b/sound/weapons/gun/revolver/viper_prime.ogg differ diff --git a/sound/weapons/gun/rifle/cm82.ogg b/sound/weapons/gun/rifle/cm82.ogg new file mode 100644 index 00000000000..a1bf69ae00f Binary files /dev/null and b/sound/weapons/gun/rifle/cm82.ogg differ diff --git a/sound/weapons/gun/rifle/cm82_reload.ogg b/sound/weapons/gun/rifle/cm82_reload.ogg new file mode 100644 index 00000000000..133ad5aede3 Binary files /dev/null and b/sound/weapons/gun/rifle/cm82_reload.ogg differ diff --git a/sound/weapons/gun/rifle/cm82_unload.ogg b/sound/weapons/gun/rifle/cm82_unload.ogg new file mode 100644 index 00000000000..af0b43ecef9 Binary files /dev/null and b/sound/weapons/gun/rifle/cm82_unload.ogg differ diff --git a/sound/weapons/gun/rifle/f4.ogg b/sound/weapons/gun/rifle/f4.ogg new file mode 100644 index 00000000000..75c571db188 Binary files /dev/null and b/sound/weapons/gun/rifle/f4.ogg differ diff --git a/sound/weapons/gun/rifle/gal.ogg b/sound/weapons/gun/rifle/gal.ogg deleted file mode 100644 index 25402e36cc6..00000000000 Binary files a/sound/weapons/gun/rifle/gal.ogg and /dev/null differ diff --git a/sound/weapons/gun/rifle/hydra.ogg b/sound/weapons/gun/rifle/hydra.ogg new file mode 100644 index 00000000000..180a4082cac Binary files /dev/null and b/sound/weapons/gun/rifle/hydra.ogg differ diff --git a/sound/weapons/gun/rifle/shot_old.ogg b/sound/weapons/gun/rifle/shot_old.ogg deleted file mode 100644 index acdb447ca8f..00000000000 Binary files a/sound/weapons/gun/rifle/shot_old.ogg and /dev/null differ diff --git a/sound/weapons/gun/shotgun/shot_alt_old.ogg b/sound/weapons/gun/shotgun/shot_alt_old.ogg deleted file mode 100644 index 48bea46d5cb..00000000000 Binary files a/sound/weapons/gun/shotgun/shot_alt_old.ogg and /dev/null differ diff --git a/sound/weapons/gun/shotgun/shot_old.ogg b/sound/weapons/gun/shotgun/shot_old.ogg deleted file mode 100644 index e999bb9bb7f..00000000000 Binary files a/sound/weapons/gun/shotgun/shot_old.ogg and /dev/null differ diff --git a/sound/weapons/gun/smg/cm5.ogg b/sound/weapons/gun/smg/cm5.ogg new file mode 100644 index 00000000000..6c363db926f Binary files /dev/null and b/sound/weapons/gun/smg/cm5.ogg differ diff --git a/sound/weapons/gun/smg/cm5_reload.ogg b/sound/weapons/gun/smg/cm5_reload.ogg new file mode 100644 index 00000000000..2a108e9e60e Binary files /dev/null and b/sound/weapons/gun/smg/cm5_reload.ogg differ diff --git a/sound/weapons/gun/smg/cm5_unload.ogg b/sound/weapons/gun/smg/cm5_unload.ogg new file mode 100644 index 00000000000..e4d3ef42db3 Binary files /dev/null and b/sound/weapons/gun/smg/cm5_unload.ogg differ diff --git a/sound/weapons/gun/smg/cobra.ogg b/sound/weapons/gun/smg/cobra.ogg new file mode 100644 index 00000000000..314fce64c4f Binary files /dev/null and b/sound/weapons/gun/smg/cobra.ogg differ diff --git a/sound/weapons/gun/smg/pounder.ogg b/sound/weapons/gun/smg/pounder.ogg new file mode 100644 index 00000000000..c9e6faf8e1e Binary files /dev/null and b/sound/weapons/gun/smg/pounder.ogg differ diff --git a/sound/weapons/gun/smg/pounder_cocked.ogg b/sound/weapons/gun/smg/pounder_cocked.ogg new file mode 100644 index 00000000000..76929be2f06 Binary files /dev/null and b/sound/weapons/gun/smg/pounder_cocked.ogg differ diff --git a/sound/weapons/gun/smg/pounder_reload.ogg b/sound/weapons/gun/smg/pounder_reload.ogg new file mode 100644 index 00000000000..55bcbc5aa87 Binary files /dev/null and b/sound/weapons/gun/smg/pounder_reload.ogg differ diff --git a/sound/weapons/gun/smg/pounder_unload.ogg b/sound/weapons/gun/smg/pounder_unload.ogg new file mode 100644 index 00000000000..5ce78fc258a Binary files /dev/null and b/sound/weapons/gun/smg/pounder_unload.ogg differ diff --git a/sound/weapons/gun/smg/sidewinder.ogg b/sound/weapons/gun/smg/sidewinder.ogg new file mode 100644 index 00000000000..202d9ae5a81 Binary files /dev/null and b/sound/weapons/gun/smg/sidewinder.ogg differ diff --git a/sound/weapons/gun/smg/sidewinder_cocked.ogg b/sound/weapons/gun/smg/sidewinder_cocked.ogg new file mode 100644 index 00000000000..d5f7df2fc86 Binary files /dev/null and b/sound/weapons/gun/smg/sidewinder_cocked.ogg differ diff --git a/sound/weapons/gun/smg/sidewinder_reload.ogg b/sound/weapons/gun/smg/sidewinder_reload.ogg new file mode 100644 index 00000000000..11f8982beed Binary files /dev/null and b/sound/weapons/gun/smg/sidewinder_reload.ogg differ diff --git a/sound/weapons/gun/smg/sidewinder_unload.ogg b/sound/weapons/gun/smg/sidewinder_unload.ogg new file mode 100644 index 00000000000..2d959bc0f42 Binary files /dev/null and b/sound/weapons/gun/smg/sidewinder_unload.ogg differ diff --git a/sound/weapons/gun/smg/spitter.ogg b/sound/weapons/gun/smg/spitter.ogg new file mode 100644 index 00000000000..81fd0263cb2 Binary files /dev/null and b/sound/weapons/gun/smg/spitter.ogg differ diff --git a/sound/weapons/gun/smg/spitter_cocked.ogg b/sound/weapons/gun/smg/spitter_cocked.ogg new file mode 100644 index 00000000000..b3d29c6f690 Binary files /dev/null and b/sound/weapons/gun/smg/spitter_cocked.ogg differ diff --git a/sound/weapons/gun/smg/spitter_reload.ogg b/sound/weapons/gun/smg/spitter_reload.ogg new file mode 100644 index 00000000000..4842c567de2 Binary files /dev/null and b/sound/weapons/gun/smg/spitter_reload.ogg differ diff --git a/sound/weapons/gun/smg/spitter_unload.ogg b/sound/weapons/gun/smg/spitter_unload.ogg new file mode 100644 index 00000000000..dffebe51b17 Binary files /dev/null and b/sound/weapons/gun/smg/spitter_unload.ogg differ diff --git a/sound/weapons/gun/sniper/cmf90.ogg b/sound/weapons/gun/sniper/cmf90.ogg new file mode 100644 index 00000000000..9468bfcc1b9 Binary files /dev/null and b/sound/weapons/gun/sniper/cmf90.ogg differ diff --git a/sound/weapons/gun/sniper/shot_old.ogg b/sound/weapons/gun/sniper/shot_old.ogg deleted file mode 100644 index 4c23868da15..00000000000 Binary files a/sound/weapons/gun/sniper/shot_old.ogg and /dev/null differ diff --git a/strings/boomer.json b/strings/boomer.json deleted file mode 100644 index 4fb2f733f79..00000000000 --- a/strings/boomer.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "boomer": [ - "@pick(kids) these days have it too easy!", - "Do I look like I know what a @pick(file) is!?", - "Listen here Jack, how do I open @pick(file)?", - "How do I open a @pick(file) again?", - "Unlike you snowflakes, I'm not offended so easily.", - "Back in my day...", - "When I was your age...", - "This generation can't take a joke.", - "Why are @pick(kids) these days so @pick(sad) all the time?", - "These damn @pick(kids) need to get a @pick(impossible) for once!", - "It's simply a matter of showing up, looking the manager in the eye, giving him a firm handshake and telling him you want the job.", - "You'll never get anywhere in life without a degree.", - "@pick(expense) isn't really that expensive.", - "When I was a kid I had to walk to school uphill both ways!", - "I hate my wife.", - "I just want to grill for God's sake.", - "I wish I could just go on my lawnmower and cut the grass.", - "Yep, Quake. That was a good game...", - "Yeah, my PDA has wi-fi. A wife I hate." - ], - - "expense": ["Healthcare", "College", "A car", "A house", "Food"], - - "kids": ["kids", "millenials", "snowflakes"], - - "file": ["JPEG", "PDF", "DMI", "JSON"], - - "sad": ["sad", "depressed", "sad and depressed"], - - "impossible": ["job", "house", "job and a house", "life"] -} diff --git a/strings/ipc_preference_adjectives.txt b/strings/ipc_preference_adjectives.txt index a243b2d77fc..a106aa76ba8 100644 --- a/strings/ipc_preference_adjectives.txt +++ b/strings/ipc_preference_adjectives.txt @@ -1,3 +1,5 @@ +Angsty +Awkward Bedraggled Brawny Bulky @@ -22,6 +24,7 @@ Fragile Frail Friendly Gentle +Gormless Hawkish Hefty Hobbling @@ -38,25 +41,39 @@ Mangled Masculine Messy Nimble +Pathetic +Peppy Petite Pompous Pugnacious +Quievering +Radical Repulsive Robust Rough Rusted Scarred Shifty +Shrewd Sickly Skittish Sleek Slender +Slimy Slovenly Sluggish +Sly +Smooth +Sniveling +Soulrendered Spacy Stiff Stony +Stout +Strapping +Sturdy Stylish +Tubular Unattractive Unremarkable Unsightly diff --git a/strings/locations.json b/strings/locations.json index 7a573dd8699..89af1acacd4 100644 --- a/strings/locations.json +++ b/strings/locations.json @@ -51,7 +51,7 @@ "Law Office", "Library", "Locker Room", - "Mech Bay", + "Exosuit Bay", "Medbay Central", "Medbay Maintenance", "Medbay Storage", diff --git a/strings/names/adjectives.txt b/strings/names/adjectives.txt index bca89bc5a25..88491827f3f 100644 --- a/strings/names/adjectives.txt +++ b/strings/names/adjectives.txt @@ -149,6 +149,7 @@ gleaming glorious good gorgeous +girlfailing graceful greasy great diff --git a/strings/preference_adjectives.txt b/strings/preference_adjectives.txt index 0d67f16803f..450e4c78901 100644 --- a/strings/preference_adjectives.txt +++ b/strings/preference_adjectives.txt @@ -24,7 +24,6 @@ Effeminate Elegant Emaciated Energetic -Energetic Exasperated Exotic Faint @@ -41,7 +40,6 @@ Gentle Gloomy Gormless Hawkish -Hawkish Healthy Hefty Hobbling @@ -57,7 +55,6 @@ Lopsided Lovely Malnourished Mangled -Mangled Masculine Messy Muscular diff --git a/strings/sillytips.txt b/strings/sillytips.txt index 192dbce6362..165e3cbe54d 100644 --- a/strings/sillytips.txt +++ b/strings/sillytips.txt @@ -5,16 +5,12 @@ When a round ends nearly everything about it is lost forever, leave your salt be Killing the entire sector isn't fun except when it is. You can win a pulse rifle from the arcade machine. Honest. Just like real life the entropy of the game can only increase with time. If things aren't on fire yet, just wait. -Completing your objectives is good practice, but the best antagonists will strive to do more than the bare minimum to really leave an impression. The more obscure and underused a game mechanic is, the less likely your victims are to be able to deal with it. Space is cold and it will quickly freeze you to death if you don't protect yourself. This isn't how thermodynamics really works but just go with it. -Blobs are weak to fire! Use a flame thrower for maximum damage! Cleanbot. -The wizard is supposed to be extremely strong in one on one combat, stop getting mad about it. Sometimes a round will just be a bust. C'est la vie. This is a game that is constantly being developed for. Expect things to be added, removed, fixed, and broken on a daily basis. It's fun to try and predict the round type from the tip of the round message. -The quartermaster is not a head of staff and will never be one. The bird remembers. Your sprite represents your hitbox, so that afro makes you easier to kill. The sacrifices we make for style. Sometimes admins will just do stuff. Roll with it. @@ -23,14 +19,21 @@ Plenty of things that aren't traditionally considered weapons can still be used DEATH IS IMMINENT! This game is older than most of the people playing it. Do not go gentle into that good night. -Flashbangs can weaken blob tiles, allowing for you and the crew to easily destroy them. Just the tip? Some people are unable to read text on a game where half of it is based on text. -As the Captain, you can use a whetstone to sharpen your fancy fountain pen for extra robustness. -As the Lawyer, you are the last bastion of roleplay-focused jobs. Even the curator got a whip to go fight people with, that sellout! There are at least 11 ways to get through plastic flaps. How many can you name? FEED ME A STRAY CAT -Did you know that tossing the clown into a singularity will either increase or decrease its size by a large amount? Most items have names longer than "soap". -Demoman takes skill. Ask and you shall receive. +Top Ten Goliath Moments!!! +Sometimes your ship will randomly disappear or obliterate you or get cleaved in half or any combination of the above. Don't dock to a planet at the same time as someone else or undock as someone is docking. +Go on. Saw off those beautiful Hunter's Pride stocks. The Huntsman is watching. +The Drinkening has put countless shiptester's basic reading compehension to the test. Will you succumb? +No, going really really fast through an electric storm won't render you immune. +None of you would survive the uptime drought. +Innumberable frontiersmen have died valiantly in a subshuttle chokepoint attempting to board. Sometimes, a direct subshuttle dock isn't the best tactical move. +Full-body prosthesis are still biological and have normal blood. Don't pump a full bag of coolant into their veins, you. +The shotgun may never miss, but it has low armour penetration with buckshot. +When your gun gives off a pathetic click, it's out of ammo. Mashing the trigger more in a panic won't restore your ammo. +The Trabuco is a crime against the Huntsman and the universe. There's a possibility it'll kill either yourself, your crew, the target, or all of the above. +Don't be the captain found dead in a pit, legioned, with 600 brute and every bone in their body broken. diff --git a/strings/tips.txt b/strings/tips.txt index 6a8c54086d9..c2d32c979b9 100644 --- a/strings/tips.txt +++ b/strings/tips.txt @@ -19,33 +19,26 @@ You can screwdriver any non-chemical grenade to shorten fuses from 5 seconds, to If you find yourself in a fistfight with another player, staying on the offensive is usually the smart move. Running away often won't accomplish much. Different weapons have different strengths. Some weapons, such as spears, floor tiles, and throwing stars, deal more damage when thrown compared to when attacked normally. A thrown glass of water can make a slippery tile, allowing you to slow down your pursuers in a pinch. -When dealing with security, you can often get your sentence negated entirely through cooperation and deception. -Experiment with different setups of the supermatter engine to maximize output, but don't risk the crew's safety to do so! We were all new once, be patient and guide new players in the right direction. On most clothing items that go in the exosuit slot, you can put certain small items into your suit storage, such as a spraycan, your emergency oxygen tank, or a flashlight. Most job-related exosuit clothing can fit job-related items into it, such as the atmospheric technician's hardsuit/winter coat holding an RPD, or labcoats holding most medicine. If you're using hotkey mode, you can stop pulling things using H. If there's something you need from others, try asking! This game isn't singleplayer and you'd be surprised what you can get accomplished together! You'll quickly lose your interest in the game if you play to win and kill. If you find yourself doing this, take a step back and talk to people - it's a much better experience! -Felinids get temporarily distracted by laser pointers. Use this to your advantage when being pursued by one. Don't be afraid to ask for help, whether from your peers or from mentors. As the Captain, you have absolute access and control over your ship, but this does not mean that being a horrible person won't result in mutiny and a ban. A medical hardsuit can hold an entire medkit in its suit storage! -While both heal toxin damage, the difference between charcoal and antitoxin is that charcoal will actively remove all other reagents from one's body, while antitoxin only removes various toxins - but can overdose. -You can surgically implant or extract things from people's chests. This can range from putting in a bomb to pulling out an alien larva. +While both heal toxin damage, the difference between charcoal and dylovene is that charcoal will actively remove all other reagents from one's body, while dylovene only removes various toxins - but can overdose. +You can surgically implant or extract things from people's chests using either organ manipulation or cavity implant surgeries. This can range from putting in a bomb to pulling out an alien larva. Using disarm attempt will intentionally fail a surgery step. Corpses with the "...and their soul has departed" description no longer have a ghost attached to them and aren't revivable or clonable. -Treating plasmamen is not impossible! Salbutamol stops them from suffocating and showers stop them from burning alive. You can even perform surgery on them by doing the procedure on a roller bed under a shower. +Treating plasmamen is not impossible! Salbutamol stops them from suffocating and showers or stasis beds stop them from burning alive. You can even perform surgery on them by doing the procedure on a roller bed under a shower. You can extract implants by holding an empty implant case in your offhand while performing the extraction step. There are dozens of chemicals that can heal, and even more that can cause harm. Experiment! Some chemicals can only be synthesized by heating up the contents with a chemical heater or manually with lighters and similar tools. You can recharge a chemical dispenser with an inducer or by replacing its cell. Water and Potassium mixed together will create an explosion, with power scaling by amount used. Don't do it. -You can eject someone from cloning early by disabling power in the room. Note that they will suffer more genetic damage and may lose vital organs from this. -Being a hulk makes you capable of dealing high melee damage, stunlocking people, and punching through walls. However, you can't fire guns, will lose your hulk status if you go into critical condition. You can take AIs out of their cores by loading them into an intelliCard, which lets you see their laws, It can also be placed into an AI system integrity restorer computer to revive and/or repair them. -You can use the mutation toxin obtained from green slimes to create various mutation toxins by mixing it with various chemicals! -You can maximize the number of uses you get out of a slime by feeding it slime steroid, created from purple slimes, while alive. You can then apply extract enhancer, created from cerulean slimes, on each extract. You can repair your cyborgs with a welding tool if they have brute damage, if they have burn damage, you can remove their battery, expose the wiring with a screwdriver and replace their wires with a cable coil. You can reset a cyborg's module by cutting and mending the reset wire with a wire cutter. You can augment people with cyborg limbs. Augmented limbs can easily be repaired with cables and welders. @@ -55,45 +48,33 @@ As a AI, you can take pictures with your camera and upload them to newscasters. As a AI, you can use CTRL + 1-9 to set a location hotkey for your camera, allowing you to save the location and jump to it at will. Tilde and zero will return you to the last spot you jumped from, and the numpad numbers act as aliases to the regular number keys. As a Cyborg, choose your module carefully, as only cutting and mending your reset wire will let you repick it. If possible, refrain from choosing a module until a situation that requires one occurs. As a Cyborg, you are immune to most forms of stunning, and excel at almost everything far better than humans. However, flashes can easily stunlock you and you cannot do any precision work as you lack hands. -As a Cyborg, you are impervious to fires and heat. If you are rogue, you can release plasma fires everywhere and walk through them without a care in the world! -As a Cyborg, you are extremely vulnerable to EMPs as EMPs both stun you and damage you. The ion rifle in the armory or a traitor with an EMP kit can kill you in seconds. +As a Cyborg, you are impervious to fires and heat. +As a Cyborg, you are extremely vulnerable to EMPs as EMPs both stun you and damage you. As a Service Cyborg, your spray can knocks people down. However, it is blocked by masks and glasses. As an Engineering Cyborg, you can attach air alarm/fire alarm/APC frames to walls by placing them on the floor and using a screwdriver on them. As a Medical Cyborg, you can fully perform surgery and even augment people. You can rename areas or create entirely new ones using your ship expansion permit. The chief engineer’s hardsuit is significantly better than other engineering hardsuits. It has the best features of both engineering and atmospherics hardsuits - boasting nigh-invulnerability to radiation and all atmospheric conditions. The supermatter shard is an extremely dangerous piece of equipment: touching it will disintegrate you. So will touching it with telepathy. -You can electrify grilles by placing wire "nodes" beneath them: the big seemingly unconnected bulges from a half completed wiring job. +Wire "nodes" (big, seemingly unconnected bulges from half completed wiring jobs) are able to do several things: link up thrusters to prechargers, hook up PACMAN generators, and shock grilles among other things. You can cool a supermatter crystal by spraying it with a fire extinguisher. Only for the brave! You can repair windows by using a welding tool on them while on any intent other than harm. -Don't underestimate the humble P.A.C.M.A.N. generators. A RCD can be reloaded with metal, glass or plasteel sheets instead of just compressed matter cartridges. You can unwrench a pipe regardless of the pressures of the gases inside, but if they're too high they can burst out and injure you! -ATMOS holofan projector blocks gases while allowing objects to pass through. With it, you can quickly contain gas spills, fires and hull breaches. Or, use it to seal a plasmaman cloning room. +ATMOS holofan projector blocks gases while allowing objects to pass through. With it, you can quickly contain gas spills, fires and hull breaches. Beware, they wear off after an amount of time highlighted by numbers on the fans. You can change the layer of a pipe by clicking with it on a wrenched pipe or other atmos component of the desired layer. -As a Clown, if you lose your banana peel, you can still slip people with your PDA! Honk! -As a Clown, eating bananas heals you slightly. Honk! -As a Clown, your Grail is the mineral bananium, which can be used to build you a fun and robust mech beloved by everyone. -As a Clown, you can use your stamp on a sheet of cardboard as the first step of making a honkbot. Fun for the whole crew! -As a Clown, spice your gimmicks up! Nobody likes a one-trick pony. -The null rod has anti magic functions: it makes you immune to magic. Books can be turned into a container that can store small items using wire cutters, bibles have this ability without needing to cut it. You can hack the MegaSeed Vendor to get access to more exotic seeds. These seeds can alternatively be ordered from a express console You can mutate the plants with unstable mutagen or, as an alternative, grow glowshrooms for their radium which also mutates plants to start you up! While growing plants you should look into increasing the potency of your plants. This increases the size, amount of chemicals, points gained from grinding them in the biogenerator, and lets people know you are a proficient botanist. You can create a very wide variety of food with the crafting menu. You can find it by looking for the hammer icon near your intents. You can rename custom food with a pen. -any cooked food will be much healthier than the junk food found in vendors. Having the crew routinely eating cooked will provide minor buffs. +Any cooked food will be much healthier than the junk food found in vendors. Most non-custom foods will have a secondary effect, ranging from healing you to making you move at lightspeed. Experiment! Mousetraps can be used to create bombs or booby-trap containers. -You can order contraband items from a express console without hacking it. -You can earn more cargo points by shipping back crates, liquid containers, plasma sheets, rare seeds from hydroponics, and more! -The express supply console can instantly delivers crates by drop pod. The impact will cause a small explosion as well. Every monster has a pattern you can exploit to minimize damage from the encounters. You can harvest goliath plates from goliaths and upgrade your explorer's suit, mining hardsuits as well as Firefighter APLUs with them, greatly reducing incoming melee damage. You can craft a variety of equipment from the local fauna. Bone axes, lava boats and ash drake armour are just a few of them! -As a Monkey, you can crawl through air or scrubber vents by alt+left clicking them. You must drop everything you are wearing and holding to do this, however. -As a Monkey, you can still wear a few human items, such as backpacks, gas masks and hats, and still have two free hands. As a Drone, you can ping other drones to alert them of areas in need of repair. As a Ghost, you can see the inside of a container on the ground by clicking on it. As a Ghost, you can double click on just about anything to follow it. Or just warp around! @@ -106,3 +87,72 @@ You can light a cigar on a supermatter crystal. Using sticky tape on items can make them stick to people and walls! Be careful, grenades might stick to your hand during the moment of truth! In a pinch, stripping yourself naked will give you a sizeable resistance to being tackled. What do you value more, your freedom or your dignity? Wearing riot armor makes you significantly more effective at performing tackle takedowns, but will use extra stamina with each leap! It will also significantly protect you from other tackles! +As the Captain of your vessel, do not neglect the responsibilities of your command. You are the anchor the crew is expected to rely upon, and not being present or authoritative will hurt the experience. +As a vessel's second in command, you have the unique position of being able to temper the behaviour of the Captain. Obey their orders, but do not be afraid to offer your own advice or shoulder some of command's responsibilities. +It is highly ill-advised to run off on your own while exploring. Many ruins and planets are perilous and a match for even experienced players, and having someone to watch your back will save you a lot of trouble. +More often that not, most ships will be apply-only. Don't be afraid to read the memo and try for an application, many captains simply want to curate a certain type of behaviour aboard their vessels. +Captaining is one of the best ways to curate a faction. Set standards, distinguish yourself and your crew, and keep them engaged, and they'll be coming back not only to your ship, but also to the faction. +Most improvised ways of providing medical aid or reviving the dead can be slow or dangerous to the person if you or your character are inexperienced with medicine. Don't be afraid to call for a medical ship if the situation is dire. +In the event most or all of your crew is incapacitated or dead, don't be afraid to ahelp to ask for a distress call. They'll be happy to get you back into the round and the medical ships will be happy as well. +Don't be afraid to ahelp if you're unsure about another player's conduct. If they're making you uncomfortable or hurting the experience, the admins would be happy to sort things out. +Many plants on sand and lava worlds are medicinal, and can stretch your supplies. +For higher tier drill contracts, its recommended to bring a toolbox, spare stock parts, and plasteel if you're not confident in your abilities. The drill is prone to running low on power or needing to be repaired if damaged. +Many weapons can get sawed off, hurting their accuracy and occasionally ammo capacity but wildly compacting them. Hunter's Pride shotguns, the Flaming Arrow, the Illestren, among others, are included. +Static anomalies will cause brain damage in close proximity. Minimize contact with them. +Gravitational anomalies (thronglers) can quickly kill if they're intense. Sometimes, a chair can be used to get close to neutralize them, but do so at your own risk. They cause heavy brute damage. +Certain anomalies like heartbeat, vein, jumper, or plasmasoul anomalies can interact with you through walls. Be careful docking to worlds with anomalies. +Safe speed for carp migrations are under 2 GM/s, for asteroids are below 3 GM/s, and for dust is below 7 GM/s. There is no safe speed for electrical storms, you need full grounding rod coverage. +You can sometimes minimize damage from electrical storms by turning off lights and preventing all source of passive light from touching the outside of the vessel. It is notoriously gimmicky, though, do so at your own risk. +Dwarf legions tend to try and run back towards you if you're too far away. Lure them in for an attack by withdrawing before they retreat again. +Brimdemons oftentimes will strike you with a single melee attack before fleeing for another beam. Back away once they're done firing to minimize chip damage. +You can examine someone twice to see which limb they're bleeding from, to administer gauze or sutures. +Vox are allergic to Ephedrine, Atropine, Epinephrine, Mannitol, Antihol, and Stimulants. Not lethal in small amounts, but it is recommended to purge these reagents if you've made a mistake. +Grinded iron or iron pills from oxygen deprivation kits can be used to slowly regenerate blood in living people, if your blood supplies are thin. +Crystal goliaths, elite mobs, and ancient goliaths give research points on dissection, varying from 5000 to 40000 depending on technology and mob. +Crystal legions and crystal goliaths are extremely dangerous up close. Try and eliminate them quickly from range with powerful firearms. +The smaller the vessel, the more throttle will effect your acceleration. If you're piloting a subshuttle, it's recommended to keep low throttle and adjust to your liking. +Plasma thrusters can allow for extreme speed, but it is recommended to conserve them. You can minimize fuel consumption by using them in small bursts with a low throttle before turning them back off. +Jackhammers can be used to quickly break down walls for breaching or salvage. +Blast doors can be taken apart for a fair amount of plasteel, if you're hurting on fuel. +Kepori have an innate ability to tackle. It can take the enemy off guard, but recommend a helmet if you're using it near walls or prone to miss. +Laser and energy weapons have a cell that can be removed with a screwdriver. If you're removing a cell from a weapon that is not in your hand (on a suit storage slot, for example), the cell will go into your hand instead of the ground. +Frontiersmen clothes and Ramzi Clique rusted red hardsuits are established pirate equipment, and you're likely to be fired upon if you wear them. Use at your own risk. +You can access the black market by building an uplink with a handheld radio, analyzer, and scanning module. It tends to have a random selection of unique items at highly varied prices. You can purchase a LTSRBT from the outpost for a more convenient delivery. +Most armour sets outside of hardsuits do not cover the limbs. Give yourself an advantage by firing on someones legs or arms to slow them down or shoot out their weapon. +You can remove prosthetics or IPC / FBP limbs with prosthetic removal surgery, even on yourself. +You can early eject the en bloc of Illestrens by not firing the last round and clicking on the rifle with your empty hand to take it out manually, for a fast and tactical reload. +The HP Shadow cannot reload all rounds at once with a speedloader, it must be reloaded one round at a time. +You can make an emergency landing by docking to an empty space if you've lost control of your speed or are about to crash into hazards. +It is safe to cross over the tile the system sun is on. Trust me, I've tried. +Acid tiles and acid from anomalies can be sprayed off with fire extinguishers. +You can extinguish yourself without walls nearby by clicking the tile you're on with your extinguisher. +It's wise to carry a pocket extinguisher on sand and lava worlds, for acid and lava respectively. +Directional firelocks can quickly minimize pressure loss from holofield failures, if your vessel lacks them. +Holofields rely on extra power being on the wire net. Make sure power load is a fair bit higher than the draw so you don't get launched into vacuum. +Elzuose are able to heal a respectable amount of damage by rooting in soil or grass. It gives a sizable mood increase, as well as charging your battery. +If you're confused about the contents of an alcoholic drink bottle, you can examine to more often than not see what it contains on the label. +If you don't feel like grinding 500 basic power cells to make potassium, you can buy chemicals from the outpost in bulk. +You can synthesize most chems by clicking certain reagents with stock parts. Examples being Iodine to Bromine with a scanning module and water into 2:1 hydrogen / oxygen with a capacitor. +Perfluorodecalin in oxygen deprivation kits convert oxygen damage to toxin damage at a very effective ratio. Just know what you're doing and be prepared to administer anti-tox chems if it is a large amount of damage. +Epi-pens contain a small amount of formaldehyde, that prevents organs from decaying while they're in a body's system. Use it to give yourself more time while reviving. +Anomalies will give two frequencies when you analyze them, a primary and a secondary, unstable frequency. The primary will neutralize, and the unstable will more often than not cause an explosion or a similar negative effect. +Landmines have 4 wires; one disarms the mind, the other deactivates the pressure plate, another blows it up, and another blows it up on a delay. +You can tamper with landmines from range by pulsing the wires with signalers. +Not everyone is from their species' homeworld. It can be common for a human to have a Kalixcian or Tecetian name, for example. +It can be fun to brainstorm new characters. Give it a shot, you might like it. +You can create entire new shuttles and subshuttles with a shuttle manipulator either from RND or from the outpost. It's usually resource and money-intensive, so be prepared! +Class 3 drills are incredibly dangerous alone or in small groups, even if you're experienced with mining and combat. Bring along a larger crew or call someone willing to help if you're thinking of taking them on. +Most smaller ships can be easily made immune to electrical storms if grounding rods are spaced out around the hull. You can make some quick money from rarely-taken storm contracts. +Ripleys are able to hold up to ten crates and other miscellaneous items like PACMAN generators using a hydraulic clamp. The scrapper's favourite. +Fights can be heavily in favour of the defenders if you play your cards right. Get good angles, turn off lights to give yourself cover, and be able to fire from multiple areas. More than likely, you'll know your environment better than the attacker. +Crate shelves can be used to maximize storage in your cargo bays. No more messes for you. +You can fashion cloth into a rag to clean up your vessel if you've tracked in some blood. +Some ships might prioritize characters exclusively from a faction in their memos, and that's okay! You can experiment with new characters to join, or join / captain another ship. +Moths, if their wings are intact, have full mobility in zero gravity environments that have an atmosphere. +Vox are near-unmatched in hand-to-hand fighting; their kicks deal extra damage and hurt organs. +IPC posibrains are contained in the chest, not the head. +Shiptest has uptime on Wednesdays, Fridays, and Saturdays. +Exosuits are not as durable as they might feel, and it is still wise to take cover with them. +Turning on strafing mode on an exosuit for combat is wise, and allows you to keep your firing lines constantly on the enemy. +A Gygax's leg actuators drain the cell very quickly. Use sparingly. +Installing higher tier capacitors on exosuits increases power efficiency on exosuit abilities, weapons, and idling. diff --git a/strings/traumas.json b/strings/traumas.json index f6bd9b58955..1d1e98581d4 100644 --- a/strings/traumas.json +++ b/strings/traumas.json @@ -1,168 +1,4 @@ { - "brain_damage": [ - "@pick(semicolon)IM A PONY NEEEEEEIIIIIIIIIGH", - "without oxigen blob don't evoluate?", - "@pick(semicolon)CAPTAINS A COMDOM", - "can u give me @pick(mutations)?", - "THe saiyans screwed", - "Bi is THE BEST OF BOTH WORLDS>", - "@pick(semicolon)I WANNA PET TEH monkeyS", - "stop grifing me!!!!", - "SOTP IT#", - "shiggey diggey!!", - "@pick(semicolon)A PIRATE APPEAR", - "FUS RO DAH", - "stat me", - ">my face", - "roll it easy!", - "lol2cat", - "dem dwarfs man, dem dwarfs", - "hwee did eet fhor khayosss", - "lifelike texture ;_;", - "luv can bloooom", - "PACKETS!!!", - "port ba@pick(y_replacements) med!!!!", - "youed call her a toeugh bithc", - "closd for merbegging", - "@pick(semicolon)pray can u @pick(create_verbs) @pick(create_nouns)???", - "GEY AWAY FROM ME U GREIFING PRICK!!!!", - "@pick(semicolon)HELP INTEG MURDERIN MEE!!!", - "hwat dose tha @pick(random_gibberish) mean?????", - "@pick(semicolon)DO A BLUP SPEaS JUMP!!!!!", - "wearnig siNGUARLTY is.... FINE haHAAA", - "@pick(semicolon)AI laW 22 Open door", - "@pick(semicolon)this SI mY sHip......", - "who the HELL do u thenk u r?!!!!", - "geT THE FUCK OUTTTT", - "@pick(semicolon)CRASHING THIS SHIMP WITH NIO SURVIVROS", - "PSHOOOM", - "REMOVE SINGULARITY", - "INSTLL TEG", - "TURBIN IS BEST ENGIENE", - "SOLIRS CAN POWER THE HOLE FLEEHT ANEWAY @pick(bug)", - "parasteng was best", - "@pick(semicolon)I'VE GOT BALLS OF STEEL", - "NO I'M ONNA KILL YOU MOTHERFUCKER OLD STYLE", - "i will snatch erry motherfucker birthday", - "u just did the world a little bit more sad place for someone", - "@pick(semicolon)N-NYAAAAAA~", - "@pick(bug)", - "@pick(semicolon)wtf??????????? @pick(bug)", - "@pick(semicolon)i ran into the supermattre ten i dsappeard @pick(bug)", - "DON'T EVER TUCH ME", - "@pick(semicolon)How do I set up the. SHow do I set u p the Singu. how I the scrungulartiy????", - "AMOGN US IS FUNNY!!", - "DID YOU FUCKING.", - "i DEMAND!!! APOGEE-DEV BE DEOMTED!!!", - "@pick(semicolon)I don't ndED tEARPAHY.", - "@pick(semicolon)an,d CIOCK.", - "TUWN ME INoT A CAT!!", - "WHY WAES THE PEILL REMOVED???", - "work on the wiki please", - "ahelp SPAWN @pick(aspawnships) PLS", - "Am i allowd to kil l people if thye piss me off", - "IS THIS LIEK VOIDCREW???", - "UNiT PANICKING.", - "HIII!! HI!! <3 <3 <3", - "I LOOK LKIE BEAN,S,,, CRINGE!!!", - "SEET TH shIP TO kOS!!!!!", - "IM SynDCIATe, I ANTag, I CAN KOS......", - "ahelp ADMIN CAN I BE PIRTA", - "DOCTOR YUO DO DISCETIONS!!!", - "RESERCH NANIYES", - "REVSRSE A NY WALLS!!!", - "*monch", - "Amonger", - "Live mas", - "top ten goliath funny moments", - "put me... in a stew... then buryy mee...", - "@pick(semicolon)GTT AWYA FROM HER YOU BITHC!!", - "@pick(semicolon)IS TATH A FUCKIGN,, MOTH.", - "@pick(semicolon)BRAZIL NUMEOR UNO...!!!!", - "@pick(semicolon)blbue hair??? I'M GOIgN TO KILL THDT FUIKNG COW!", - "@pick(semicolon)HOW DO I @pick(ghetto)?????", - "ough", - "ourgh", - "ouughghnnnn", - "hrrnggg", - "HE IS BALD!!!", - "I AM NORMAL. I CAN BE TRUSTED WITH INDUSTRIAL CHEMICALS", - "Welcome to the bathroom", - "THE AMOUNGS BROKE ALL MY BONES", - "HOLY SHIT IT'S @pick(john) @pick(factions)!!", - "BLrobo BLEEBUS.....", - "drugs are funny because they add new rp elements", - "ANOTHER SHIP... STERALIZED...", - "HOpeLes WAsN'T ALwAYS NaMeD HoPelESs BeFORE THe incIDENST...", - "@pick(semicolon)HopeLSS WAS ACTUAL. Ly a LIVIng WaePON....", - "@pick(semicolon)WHEN SHIPQUEST????? PANEL NEW??????", - "WHER.E SHIPQUEST???,???", - "ei,,ither wAy... It Is WHt ti is", - "butT ShIPPtSt nEVER was a WrAZnOe liKE thaEt!!", - "A deEoP-setED dISEuire... fuR pERfECTiOsM...", - "HUMORER IS A DECLIAT THINGE!!", - "who's the asshole flying the pill class", - "IVOR@pick(y_replacements) WHAT THE FOUCKE ARE U DUING!!!??", - "RESIEST BIG MOETH", - "WE MUSTE RIASE UOP AGANST BEEG MOTNH", - "Luckily, I passed high school physics", - "I WANT NOTHING MORE IN THIS LIFE THAN TO CUDDLE UP WITH A CUTE MOTH WAIFU!!", - "GO TO HORNY JAIL!!" - ], - - "mutations": [ - "telikesis", - "halk", - "eppilapse", - "kamelien", - "eksrey", - "glowey skin", - "fungal tb", - "stun gloves" - ], - - "john": ["joehn", "jonn", "jouhn", "jeeoun"], - - "factions": ["SYNDICT", "NATOSASEN", "EEMTEQ", "MIENUTMEN", "SOMLGOVM"], - - "random_gibberish": ["g", "squid", "r", "carbon dioxide"], - - "y_replacements": ["y", "i", "e"], - - "create_verbs": ["spawn", "MAke me", "creat", "tc trade me", "gib"], - - "create_nouns": [ - "zenomorfs", - "ayleins", - "treaitors", - "sheadow lings", - "abdoocters", - "revinent", - "deval", - "deth squads", - "bleb", - "cock cult", - "anteg" - ], - - "aspawnships": [ - "BUblBUE", - "RoUBE", - "PeEL", - "TWInkLRE", - "MAYONEISE", - "raEDIO", - "joUPITR", - "HAELR TROCK", - "BEYOO", - "TID" - ], - - "bug": ["", "IS TIS A BUG??", "SI IST A BUGG/", "BUG!!!"], - - "semicolon": ["", ";", ".h"], - - "ghetto": ["ghetcheom", "ghettoghemc", "gahttochem"], "god_foe": [ "MORTALS", diff --git a/tgui/package.json b/tgui/package.json index 2c5059e3626..169af0aeafc 100644 --- a/tgui/package.json +++ b/tgui/package.json @@ -56,7 +56,7 @@ "terser-webpack-plugin": "^5.1.4", "typescript": "^4.9.4", "url-loader": "^4.1.1", - "webpack": "^5.75.0", + "webpack": "^5.94.0", "webpack-bundle-analyzer": "^4.4.2", "webpack-cli": "^4.7.2" } diff --git a/tgui/packages/tgui-dev-server/package.json b/tgui/packages/tgui-dev-server/package.json index a026558a47a..1a0f4c97224 100644 --- a/tgui/packages/tgui-dev-server/package.json +++ b/tgui/packages/tgui-dev-server/package.json @@ -4,7 +4,7 @@ "version": "4.3.1", "type": "module", "dependencies": { - "axios": "^1.6.0", + "axios": "^1.7.4", "glob": "^7.1.7", "source-map": "^0.7.3", "stacktrace-parser": "^0.1.10", diff --git a/tgui/packages/tgui-panel/chat/constants.js b/tgui/packages/tgui-panel/chat/constants.js index 94ce7aa51cf..0f4a9c05288 100644 --- a/tgui/packages/tgui-panel/chat/constants.js +++ b/tgui/packages/tgui-panel/chat/constants.js @@ -61,7 +61,7 @@ export const MESSAGE_TYPES = [ name: 'Radio', description: 'All departments of radio messages', selector: - '.alert, .minorannounce, .syndradio, .centcomradio, .aiprivradio, .comradio, .pirradio, .clipradio, .irmgradio, .pgfradio, .ntradio, .radio, .deptradio, .binarysay, .newscaster, .resonate', + '.alert, .minorannounce, .syndradio, .centcomradio, .aiprivradio, .emrgradio, .pirradio, .clipradio, .irmgradio, .pgfradio, .ntradio, .radio, .deptradio, .binarysay, .newscaster, .resonate', }, { type: MESSAGE_TYPE_INFO, diff --git a/tgui/packages/tgui-panel/package.json b/tgui/packages/tgui-panel/package.json index d60ccaaa9b1..f652b74df90 100644 --- a/tgui/packages/tgui-panel/package.json +++ b/tgui/packages/tgui-panel/package.json @@ -4,7 +4,7 @@ "version": "4.3.1", "dependencies": { "common": "workspace:*", - "dompurify": "^2.3.1", + "dompurify": "^2.5.4", "inferno": "^7.4.8", "tgui": "workspace:*", "tgui-dev-server": "workspace:*", diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss index 8e734f25da4..1acd0cf0094 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss @@ -338,12 +338,12 @@ em { color: #7f6cd4; } -.comradio { - color: #fcdf03; +.emrgradio { + color: #dd3535; } .pirradio { - color: #dd3535; + color: #fcdf03; } .clipradio { @@ -374,10 +374,6 @@ em { color: #8de7b6; } -.aiprivradio { - color: #d65d95; -} - .redteamradio { color: #ff4444; } diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss index ae52ba0bfd8..49ccc958d5c 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss @@ -358,12 +358,12 @@ em { color: #4e3399; } -.comradio { - color: #948f02; +.emrgradio { + color: #dd3535; } .pirradio { - color: #a30000; + color: #fcdf03; } .clipradio { @@ -394,10 +394,6 @@ em { color: #508166; } -.aiprivradio { - color: #ff00ff; -} - .redteamradio { color: #ff0000; } diff --git a/tgui/packages/tgui/constants.ts b/tgui/packages/tgui/constants.ts index 270ce9873bd..9ce78db7865 100644 --- a/tgui/packages/tgui/constants.ts +++ b/tgui/packages/tgui/constants.ts @@ -70,7 +70,7 @@ export const CSS_COLORS = [ /* IF YOU CHANGE THIS KEEP IT IN SYNC WITH CHAT CSS */ export const RADIO_CHANNELS = [ { - name: 'Syndicate', + name: 'Coalition', freq: 1213, color: '#8f4a4b', }, @@ -95,55 +95,55 @@ export const RADIO_CHANNELS = [ color: '#fdfd34', }, { - name: 'CentCom', + name: 'NT-CC', freq: 1337, color: '#2681a5', }, { - name: 'Supply', + name: 'SolCon', + freq: 1345, + color: '#7589af', + }, + { + name: 'IRMG', freq: 1347, color: '#b88646', }, { - name: 'Service', + name: 'PGF', freq: 1349, - color: '#6ca729', + color: '#199943', }, { - name: 'Science', + name: 'Nanotrasen', freq: 1351, color: '#c68cfa', }, { - name: 'Command', + name: 'Emergency', freq: 1353, - color: '#fcdf03', + color: '#dd3535', }, { - name: 'Medical', + name: 'Minutemen', freq: 1355, color: '#57b8f0', }, { - name: 'Engineering', - freq: 1357, - color: '#f37746', - }, - { - name: 'Security', + name: 'Unidentified', freq: 1359, - color: '#dd3535', - }, - { - name: 'AI Private', - freq: 1447, - color: '#d65d95', + color: '#fcdf03', }, { name: 'Common', freq: 1459, color: '#1ecc43', }, + { + name: 'Wideband', + freq: 1681, + color: '#8de7b6', + }, ] as const; const GASES = [ @@ -239,7 +239,7 @@ const GASES = [ color: 'paleturquoise', }, { - id: 'hydrogen', + id: 'h2', path: '/datum/gas/hydrogen', name: 'Hydrogen', label: 'H₂', @@ -294,6 +294,20 @@ const GASES = [ label: 'Nitrium', color: 'brown', }, + { + id: 'cl2', + path: '/datum/gas/cl2', + name: 'Chlorine', + label: 'Cl₂', + color: 'yellow', + }, + { + id: 'hcl', + path: '/datum/gas/hcl', + name: 'Hydrogen Chloride', + label: 'HCl', + color: 'greenyellow', + }, ] as const; // Returns gas label based on gasId diff --git a/tgui/packages/tgui/interfaces/Bepis.js b/tgui/packages/tgui/interfaces/Bepis.js deleted file mode 100644 index 99718415ddc..00000000000 --- a/tgui/packages/tgui/interfaces/Bepis.js +++ /dev/null @@ -1,123 +0,0 @@ -import { useBackend } from '../backend'; -import { - Box, - Button, - Grid, - LabeledList, - NumberInput, - Section, -} from '../components'; -import { Window } from '../layouts'; - -export const Bepis = (props, context) => { - const { act, data } = useBackend(context); - const { amount } = data; - return ( - - -
    -
    act('toggle_power')} - /> - } - > - All you need to know about the B.E.P.I.S. and you! The B.E.P.I.S. - performs hundreds of tests a second using electrical and financial - resources to invent new products, or discover new technologies - otherwise overlooked for being too risky or too niche to produce! -
    -
    act('account_reset')} - /> - } - > - Console is currently being operated by{' '} - {data.account_owner ? data.account_owner : 'no one'}. -
    - - -
    - - - {data.stored_cash} - - - {data.accuracy_percentage}% - - - {data.positive_cash_offset} - - - {data.negative_cash_offset} - - - - act('amount', { - amount: value, - }) - } - /> - - -
    - -
    - - - -
    -
    - ); -}; diff --git a/tgui/packages/tgui/interfaces/BlackMarketUplink.js b/tgui/packages/tgui/interfaces/BlackMarketUplink.js index 2c4a05d09ef..9fff7cff715 100644 --- a/tgui/packages/tgui/interfaces/BlackMarketUplink.js +++ b/tgui/packages/tgui/interfaces/BlackMarketUplink.js @@ -23,7 +23,7 @@ export const BlackMarketUplink = (props, context) => { viewing_category, } = data; return ( - +
    { - return ( - - - - - - ); -}; - -export const CargoContent = (props, context) => { - const { act, data } = useBackend(context); - const [tab, setTab] = useSharedState(context, 'tab', 'catalog'); - const { requestonly } = data; - const cart = data.cart || []; - const requests = data.requests || []; - return ( - - -
    - - setTab('catalog')} - > - Catalog - - 0 && 'yellow'} - selected={tab === 'requests'} - onClick={() => setTab('requests')} - > - Requests ({requests.length}) - - {!requestonly && ( - <> - 0 && 'yellow'} - selected={tab === 'cart'} - onClick={() => setTab('cart')} - > - Checkout ({cart.length}) - - setTab('help')} - > - Help - - - )} - -
    - {tab === 'catalog' && } - {tab === 'requests' && } - {tab === 'cart' && } - {tab === 'help' && } -
    - ); -}; - -const CargoStatus = (props, context) => { - const { act, data } = useBackend(context); - const { - department, - grocery, - away, - docked, - loan, - loan_dispatched, - location, - message, - points, - requestonly, - can_send, - } = data; - return ( -
    - formatMoney(value)} - /> - {' credits'} - - } - > - - - {(docked && !requestonly && can_send && ( -
    - ); -}; - -/** - * Take entire supplies tree - * and return a flat supply pack list that matches search, - * sorted by name and only the first page. - * @param {any[]} supplies Supplies list. - * @param {string} search The search term - * @returns {any[]} The flat list of supply packs. - */ -const searchForSupplies = (supplies, search) => { - search = search.toLowerCase(); - - return flow([ - (categories) => categories.flatMap((category) => category.packs), - filter( - (pack) => - pack.name?.toLowerCase().includes(search.toLowerCase()) || - pack.desc?.toLowerCase().includes(search.toLowerCase()) - ), - sortBy((pack) => pack.name), - (packs) => packs.slice(0, 25), - ])(supplies); -}; - -export const CargoCatalog = (props, context) => { - const { express } = props; - const { act, data } = useBackend(context); - - const { self_paid, app_cost } = data; - - const supplies = Object.values(data.supplies); - - const [activeSupplyName, setActiveSupplyName] = useSharedState( - context, - 'supply', - supplies[0]?.name - ); - - const [searchText, setSearchText] = useSharedState( - context, - 'search_text', - '' - ); - - const activeSupply = - activeSupplyName === 'search_results' - ? { packs: searchForSupplies(supplies, searchText) } - : supplies.find((supply) => supply.name === activeSupplyName); - - return ( -
    - - act('toggleprivate')} - /> - - ) - } - > - - - - - - - - - - { - if (value === searchText) { - return; - } - - if (value.length) { - // Start showing results - setActiveSupplyName('search_results'); - } else if (activeSupplyName === 'search_results') { - // return to normal category - setActiveSupplyName(supplies[0]?.name); - } - setSearchText(value); - }} - onChange={(e, value) => { - // Allow edge cases like the X button to work - const onInput = e.target?.props?.onInput; - if (onInput) { - onInput(e, value); - } - }} - /> - - - - {supplies.map((supply) => ( - { - setActiveSupplyName(supply.name); - setSearchText(''); - }} - > - {supply.name} ({supply.packs.length}) - - ))} - - - -
    Name
    Points
    Notes
    Lance Phillips
    10
    Hit 2 out of 3 targets.
    Hetchel Catuwe-Plakat
    0
    Missed every shot. Relegated to knife duty.
    Weer-Topith
    30
    Hit all three targets.
    Kahyarawkkahskre
    50
    Hit all three targets one handed with a revolver.
    Salhree-Yik
    100
    Hit all three targets while blindfolded.
    Kiahkkati
    -1000
    Tried to one up Salhree and spun three times blindfolded before firing. Hit me in the knee.
    - {activeSupply?.packs.map((pack) => { - const tags = []; - if (pack.small_item) { - tags.push('Small'); - } - if (pack.access) { - tags.push('Restricted'); - } - return ( - - {pack.name} - - {tags.join(', ')} - - - - - - ); - })} -
    - - - - ); -}; - -const CargoRequests = (props, context) => { - const { act, data } = useBackend(context); - const { requestonly, can_send, can_approve_requests } = data; - const requests = data.requests || []; - // Labeled list reimplementation to squeeze extra columns out of it - return ( -
    act('denyall')} - /> - ) - } - > - {requests.length === 0 && No Requests} - {requests.length > 0 && ( - - {requests.map((request) => ( - - - #{request.id} - - {request.object} - - {request.orderer} - - - {request.reason} - - - {formatMoney(request.cost)} cr - - {(!requestonly || can_send) && can_approve_requests && ( - -
    - )} -
    - ); -}; - -const CargoCartButtons = (props, context) => { - const { act, data } = useBackend(context); - const { requestonly, can_send, can_approve_requests } = data; - const cart = data.cart || []; - const total = cart.reduce((total, entry) => total + entry.cost, 0); - if (requestonly || !can_send || !can_approve_requests) { - return null; - } - return ( - <> - - {cart.length === 0 && 'Cart is empty'} - {cart.length === 1 && '1 item'} - {cart.length >= 2 && cart.length + ' items'}{' '} - {total > 0 && `(${formatMoney(total)} cr)`} - - + + + + + ); +}; + +const displayText = (param) => { + switch (param) { + case 1: + return 'Use'; + case 2: + return 'Toggle'; + case 3: + return 'Select'; + } +}; + +const ParametersSection = (props, context) => { + const { act, data } = useBackend(context); + const { + active, + malfunctioning, + locked, + open, + selected_module, + complexity, + complexity_max, + wearer_name, + wearer_job, + AI, + } = data; + const status = malfunctioning + ? 'Malfunctioning' + : active + ? 'Active' + : 'Inactive'; + return ( +
    + + act('activate')} + /> + } + > + {status} + + act('lock')} + /> + } + > + {locked ? 'Locked' : 'Unlocked'} + + + {open ? 'Open' : 'Closed'} + + + {selected_module || 'None'} + + + {complexity} ({complexity_max}) + + + {wearer_name}, {wearer_job} + + {AI || 'None'} + +
    + ); +}; + +const HardwareSection = (props, context) => { + const { act, data } = useBackend(context); + const { + active, + control, + helmet, + chestplate, + gauntlets, + boots, + core, + charge, + } = data; + return ( +
    + + + {control} + {helmet || 'None'} + + {chestplate || 'None'} + + + {gauntlets || 'None'} + + {boots || 'None'} + + + + {(core && ( + + {core} + + + + + )) || ( + + No Core Detected + + )} + +
    + ); +}; + +const InfoSection = (props, context) => { + const { act, data } = useBackend(context); + const { active, modules } = data; + const info_modules = modules.filter((module) => !!module.id); + + return ( +
    + + {(info_modules.length !== 0 && + info_modules.map((module) => { + const Module = ID2MODULE[module.id]; + return ( + + {!active && } + + + ); + })) || No Info Modules Detected} + +
    + ); +}; + +const ModuleSection = (props, context) => { + const { act, data } = useBackend(context); + const { complexity_max, modules } = data; + const [configureState, setConfigureState] = useLocalState( + context, + 'module_configuration', + null + ); + return ( +
    + + {(modules.length !== 0 && + modules.map((module) => { + return ( + + +
    + {configureState === module.ref && ( + setConfigureState(null)} + /> + )} + + + +
    + {module.description} +
    +
    +
    + ); + })) || ( + + No Modules Detected + + )} +
    +
    + ); +}; + +export const MODsuit = (props, context) => { + const { act, data } = useBackend(context); + const { ui_theme, interface_break } = data; + return ( + + + {(!!interface_break && ) || ( + + + + + + + + + + + + + + + )} + + + ); +}; diff --git a/tgui/packages/tgui/interfaces/Orbit.js b/tgui/packages/tgui/interfaces/Orbit.js deleted file mode 100644 index 91bf9d1f792..00000000000 --- a/tgui/packages/tgui/interfaces/Orbit.js +++ /dev/null @@ -1,218 +0,0 @@ -import { createSearch } from 'common/string'; -import { multiline } from 'common/string'; -import { resolveAsset } from '../assets'; -import { useBackend, useLocalState } from '../backend'; -import { - Box, - Button, - Divider, - Flex, - Icon, - Input, - Section, -} from '../components'; -import { Window } from '../layouts'; - -const PATTERN_NUMBER = / \(([0-9]+)\)$/; - -const searchFor = (searchText) => - createSearch(searchText, (thing) => thing.name); - -const compareString = (a, b) => (a < b ? -1 : a > b); - -const compareNumberedText = (a, b) => { - const aName = a.name; - const bName = b.name; - - // Check if aName and bName are the same except for a number at the end - // e.g. Medibot (2) and Medibot (3) - const aNumberMatch = aName.match(PATTERN_NUMBER); - const bNumberMatch = bName.match(PATTERN_NUMBER); - - if ( - aNumberMatch && - bNumberMatch && - aName.replace(PATTERN_NUMBER, '') === bName.replace(PATTERN_NUMBER, '') - ) { - const aNumber = parseInt(aNumberMatch[1], 10); - const bNumber = parseInt(bNumberMatch[1], 10); - - return aNumber - bNumber; - } - - return compareString(aName, bName); -}; - -const BasicSection = (props, context) => { - const { act } = useBackend(context); - const { searchText, source, title } = props; - const things = source.filter(searchFor(searchText)); - things.sort(compareNumberedText); - return ( - source.length > 0 && ( -
    - {things.map((thing) => ( -
    - ) - ); -}; - -const OrbitedButton = (props, context) => { - const { act } = useBackend(context); - const { color, thing } = props; - - return ( - - ); -}; - -export const Orbit = (props, context) => { - const { act, data } = useBackend(context); - const { alive, antagonists, auto_observe, dead, ghosts, misc, npcs } = data; - - const [searchText, setSearchText] = useLocalState(context, 'searchText', ''); - - const collatedAntagonists = {}; - for (const antagonist of antagonists) { - if (collatedAntagonists[antagonist.antag] === undefined) { - collatedAntagonists[antagonist.antag] = []; - } - collatedAntagonists[antagonist.antag].push(antagonist); - } - - const sortedAntagonists = Object.entries(collatedAntagonists); - sortedAntagonists.sort((a, b) => { - return compareString(a[0], b[0]); - }); - - const orbitMostRelevant = (searchText) => { - for (const source of [ - sortedAntagonists.map(([_, antags]) => antags), - alive, - ghosts, - dead, - npcs, - misc, - ]) { - const member = source - .filter(searchFor(searchText)) - .sort(compareNumberedText)[0]; - if (member !== undefined) { - act('orbit', { ref: member.ref }); - break; - } - } - }; - - return ( - - -
    - - - - - - setSearchText(value)} - onEnter={(_, value) => orbitMostRelevant(value)} - /> - - - - - -
    - {antagonists.length > 0 && ( -
    - {sortedAntagonists.map(([name, antags]) => ( -
    - {antags - .filter(searchFor(searchText)) - .sort(compareNumberedText) - .map((antag) => ( - - ))} -
    - ))} -
    - )} - -
    - {alive - .filter(searchFor(searchText)) - .sort(compareNumberedText) - .map((thing) => ( - - ))} -
    - -
    - {ghosts - .filter(searchFor(searchText)) - .sort(compareNumberedText) - .map((thing) => ( - - ))} -
    - - - - - - -
    -
    - ); -}; diff --git a/tgui/packages/tgui/interfaces/Orbit/OrbitContent.tsx b/tgui/packages/tgui/interfaces/Orbit/OrbitContent.tsx new file mode 100644 index 00000000000..f3c59a75e18 --- /dev/null +++ b/tgui/packages/tgui/interfaces/Orbit/OrbitContent.tsx @@ -0,0 +1,98 @@ +import { toTitleCase } from 'common/string'; + +import { useBackend } from '../../backend'; +import { NoticeBox, Section, Stack, Table, Tooltip } from '../../components'; + +import { getAntagCategories } from './helpers'; +import { AntagGroup, Observable, OrbitData } from './types'; +import { OrbitSection } from './OrbitSection'; + +type ContentSection = { + content: Observable[]; + title: string; + color?: string; +}; + +export const OrbitContent = (props, context) => { + const { act, data } = useBackend(context); + const { antagonists = [], critical = [] } = data; + const { searchText, autoObserve } = props; + + let antagGroups: AntagGroup[] = []; + if (antagonists.length) { + antagGroups = getAntagCategories(antagonists); + } + + const sections: readonly ContentSection[] = [ + { + content: data.alive, + title: 'Alive', + color: 'good', + }, + { + content: data.dead, + title: 'Dead', + }, + { + content: data.ghosts, + title: 'Ghosts', + }, + { + content: data.misc, + title: 'Misc', + }, + { + content: data.npcs, + title: 'NPCs', + }, + { + content: data.ships, + title: 'Ships', + }, + ]; + + return ( +
    + + {critical.map((crit) => ( + + act('orbit', { ref: crit.ref })} + > + + + {toTitleCase(crit.full_name)} + {crit.extra} + +
    +
    +
    + ))} + + {antagGroups.map(([title, members]) => ( + + ))} + + {sections.map((section) => ( + + ))} +
    +
    + ); +}; diff --git a/tgui/packages/tgui/interfaces/Orbit/OrbitItem.tsx b/tgui/packages/tgui/interfaces/Orbit/OrbitItem.tsx new file mode 100644 index 00000000000..957104afa8b --- /dev/null +++ b/tgui/packages/tgui/interfaces/Orbit/OrbitItem.tsx @@ -0,0 +1,50 @@ +import { useBackend } from '../../backend'; +import { Stack, Button, Flex, Icon } from '../../components'; + +import { capitalizeFirst } from 'common/string'; + +import { getDisplayColor, getDisplayName } from './helpers'; +import { Antagonist, Observable, OrbitData } from './types'; + +type Props = { + item: Observable | Antagonist; + autoObserve: boolean; + color: string | undefined; +}; + +export const OrbitItem = (props: Props, context) => { + const { item, autoObserve, color } = props; + const { full_name, icon, job, name, orbiters, ref } = item; + + const { act, data } = useBackend(context); + const { orbiting } = data; + + const selected = ref === orbiting?.ref; + const validIcon = !!job && !!icon && icon !== 'hudunknown'; + + return ( + act('orbit', { auto_observe: autoObserve, ref })} + style={{ + display: 'flex', + }} + > + + + ); +}; diff --git a/tgui/packages/tgui/interfaces/Orbit/OrbitSection.tsx b/tgui/packages/tgui/interfaces/Orbit/OrbitSection.tsx new file mode 100644 index 00000000000..d27d9080e08 --- /dev/null +++ b/tgui/packages/tgui/interfaces/Orbit/OrbitSection.tsx @@ -0,0 +1,65 @@ +import { Collapsible, Flex, Tooltip } from '../../components'; +import { isJobOrNameMatch } from './helpers'; +import { OrbitItem } from './OrbitItem'; +import { OrbitTooltip } from './OrbitTooltip'; +import { Observable } from './types'; + +type Props = { + color?: string; + section: Observable[]; + title: string; + searchQuery: string; + autoObserve: boolean; +}; + +/** + * Displays a collapsible with a map of observable items. + * Filters the results if there is a provided search query. + */ +export const OrbitSection = (props: Props) => { + const { color, section = [], title, searchQuery, autoObserve } = props; + + const filteredSection = section.filter((observable) => + isJobOrNameMatch(observable, searchQuery) + ); + + if (!filteredSection.length) { + return null; + } + + return ( + + + {filteredSection.map((item) => { + const content = ( + + ); + + if (!item.health && !item.extra) { + return content; + } + + return ( + } + key={item.ref} + position="bottom-start" + > + {content} + + ); + })} + + + ); +}; diff --git a/tgui/packages/tgui/interfaces/Orbit/OrbitTooltip.tsx b/tgui/packages/tgui/interfaces/Orbit/OrbitTooltip.tsx new file mode 100644 index 00000000000..0a941dcb0fb --- /dev/null +++ b/tgui/packages/tgui/interfaces/Orbit/OrbitTooltip.tsx @@ -0,0 +1,57 @@ +import { LabeledList, NoticeBox } from '../../components'; +import { Antagonist, Observable } from './types'; + +type Props = { + item: Observable | Antagonist; +}; + +/** Displays some info on the mob as a tooltip. */ +export const OrbitTooltip = (props: Props) => { + const { item } = props; + const { extra, name, full_name, health, job } = item; + + let antag; + if ('antag' in item) { + antag = item.antag; + } + + const extraInfo = extra?.split(':'); + const displayHealth = !!health && health >= 0 ? `${health}%` : 'Critical'; + const showAFK = 'client' in item && !item.client; + + return ( + <> + + Last Known Data + + + {extraInfo ? ( + + {extraInfo[1]} + + ) : ( + <> + {!!name && ( + {name} + )} + {!!full_name && ( + + {full_name} + + )} + {!!job && {job}} + {!!antag && ( + {antag} + )} + {!!health && ( + + {displayHealth} + + )} + + )} + {showAFK && Away} + + + ); +}; diff --git a/tgui/packages/tgui/interfaces/Orbit/constants.ts b/tgui/packages/tgui/interfaces/Orbit/constants.ts new file mode 100644 index 00000000000..1edadc9bfe4 --- /dev/null +++ b/tgui/packages/tgui/interfaces/Orbit/constants.ts @@ -0,0 +1,8 @@ +export const HEALTH = { + Good: 69, // nice + Average: 19, + Bad: 0, + Crit: -30, + Dead: -100, + Ruined: -200, +} as const; diff --git a/tgui/packages/tgui/interfaces/Orbit/helpers.ts b/tgui/packages/tgui/interfaces/Orbit/helpers.ts new file mode 100644 index 00000000000..4a90b96eb2b --- /dev/null +++ b/tgui/packages/tgui/interfaces/Orbit/helpers.ts @@ -0,0 +1,119 @@ +import { createSearch } from '../../../common/string'; + +import { HEALTH } from './constants'; +import { AntagGroup, Antagonist, Observable } from './types'; + +const PATTERN_NUMBER = / \(([0-9]+)\)$/; + +/** Return a map of strings with each antag in its antag_category */ +export const getAntagCategories = (antagonists: Antagonist[]): AntagGroup[] => { + const categories = new Map(); + + for (const player of antagonists) { + const { antag_group } = player; + + if (!categories.has(antag_group)) { + categories.set(antag_group, []); + } + categories.get(antag_group)!.push(player); + } + + const sorted = Array.from(categories.entries()).sort((a, b) => { + const lowerA = a[0].toLowerCase(); + const lowerB = b[0].toLowerCase(); + + if (lowerA < lowerB) return -1; + if (lowerA > lowerB) return 1; + return 0; + }); + + return sorted; +}; + +/** Returns a disguised name in case the person is wearing someone else's ID */ +export const getDisplayName = ( + full_name: string, + nickname?: string +): string => { + if (!nickname) { + return full_name; + } + + return nickname; +}; + +/** Displays color for buttons based on the health or orbiter count. */ +export const getDisplayColor = ( + item: Observable, + override?: string +): string => { + const { job, health, orbiters } = item; + + // Things like blob camera, etc + if (typeof health !== 'number') { + return override ? 'good' : 'grey'; + } + + // Players that are AFK + if ('client' in item && !item.client) { + return 'grey'; + } + + return getHealthColor(health); +}; + +/** Returns the display color for certain health percentages */ +const getHealthColor = (health: number): string => { + switch (true) { + case health > HEALTH.Good: + return 'good'; + case health > HEALTH.Average: + return 'average'; + default: + return 'bad'; + } +}; + +/** Checks if a full name or job title matches the search. */ +export const isJobOrNameMatch = ( + observable: Observable, + searchQuery: string +): boolean => { + if (!searchQuery) return true; + + const { name, job } = observable; + + return ( + name?.toLowerCase().includes(searchQuery?.toLowerCase()) || + job?.toLowerCase().includes(searchQuery?.toLowerCase()) || + false + ); +}; + +export const searchFor = (searchText) => + createSearch(searchText, (thing: Observable) => thing.full_name); + +export const compareString = (a, b) => (a < b ? -1 : a > b); + +export const compareNumberedText = (a, b) => { + const aName = a.name; + const bName = b.name; + + // Check if aName and bName are the same except for a number at the end + // e.g. Medibot (2) and Medibot (3) + const aNumberMatch = aName.match(PATTERN_NUMBER); + const bNumberMatch = bName.match(PATTERN_NUMBER); + + if ( + aNumberMatch && + bNumberMatch && + aName.replace(PATTERN_NUMBER, '') === bName.replace(PATTERN_NUMBER, '') + ) { + const aNumber = parseInt(aNumberMatch[1], 10); + const bNumber = parseInt(bNumberMatch[1], 10); + + return aNumber - bNumber; + } + + return compareString(aName, bName); +}; diff --git a/tgui/packages/tgui/interfaces/Orbit/index.tsx b/tgui/packages/tgui/interfaces/Orbit/index.tsx new file mode 100644 index 00000000000..f0854f7bfa6 --- /dev/null +++ b/tgui/packages/tgui/interfaces/Orbit/index.tsx @@ -0,0 +1,86 @@ +import { multiline } from '../../../common/string'; +import { useBackend, useLocalState } from '../../backend'; +import { Button, Divider, Flex, Icon, Input, Section } from '../../components'; +import { Window } from '../../layouts'; + +import { searchFor } from './helpers'; +import { OrbitData } from './types'; +import { OrbitContent } from './OrbitContent'; + +export const Orbit = (props, context) => { + const { act, data } = useBackend(context); + + const [searchText, setSearchText] = useLocalState(context, 'searchText', ''); + const [autoObserve, setAutoObserve] = useLocalState( + context, + 'autoObserve', + false + ); + + const orbitMostRelevant = () => { + const mostRelevant = [ + data.antagonists, + data.alive, + data.ghosts, + data.dead, + data.npcs, + data.misc, + data.ships, + ] + .flat() + .filter(searchFor(searchText)) + .sort()[0]; + + if (mostRelevant !== undefined) { + act('orbit', { ref: mostRelevant.ref }); + } + }; + + return ( + + +
    + + + + + + setSearchText(value)} + onEnter={(_, value) => orbitMostRelevant()} + /> + + + + + +
    + +
    +
    + ); +}; diff --git a/tgui/packages/tgui/interfaces/Orbit/types.ts b/tgui/packages/tgui/interfaces/Orbit/types.ts new file mode 100644 index 00000000000..4912ae10db4 --- /dev/null +++ b/tgui/packages/tgui/interfaces/Orbit/types.ts @@ -0,0 +1,38 @@ +import { BooleanLike } from '../../../common/react'; + +export type Antagonist = Observable & { antag: string; antag_group: string }; + +export type AntagGroup = [string, Antagonist[]]; + +export type OrbitData = { + alive: Observable[]; + antagonists: Antagonist[]; + critical: Critical[]; + dead: Observable[]; + ghosts: Observable[]; + misc: Observable[]; + npcs: Observable[]; + ships: Observable[]; + orbiting: Observable | null; + autoObserve: boolean; +}; + +export type Observable = { + full_name: string; + ref: string; + // Optionals +} & Partial<{ + client: BooleanLike; + extra: string; + health: number; + icon: string; + job: string; + name: string; + orbiters: number; +}>; + +type Critical = { + extra: string; + full_name: string; + ref: string; +}; diff --git a/tgui/packages/tgui/interfaces/OutpostCommunications/Catalog.js b/tgui/packages/tgui/interfaces/OutpostCommunications/Catalog.js new file mode 100644 index 00000000000..74a998cee05 --- /dev/null +++ b/tgui/packages/tgui/interfaces/OutpostCommunications/Catalog.js @@ -0,0 +1,200 @@ +import { flow } from 'common/fp'; +import { filter, sortBy } from 'common/collections'; +import { useBackend, useSharedState } from '../../backend'; +import { + Box, + Button, + Flex, + Icon, + Input, + Section, + Stack, + Table, + Tabs, +} from '../../components'; +import { formatMoney } from '../../format'; + +export const CargoCatalog = (props, context) => { + const { act, data } = useBackend(context); + + const { self_paid, app_cost } = data; + + const supplies = Object.values(data.supplies); + + const [activeSupplyName, setActiveSupplyName] = useSharedState( + context, + 'supply', + supplies[0]?.name + ); + + const [searchText, setSearchText] = useSharedState( + context, + 'search_text', + '' + ); + + const activeSupply = + activeSupplyName === 'search_results' + ? { packs: searchForSupplies(supplies, searchText) } + : supplies.find((supply) => supply.name === activeSupplyName); + + return ( +
    + + + + + + + + + + { + if (value === searchText) { + return; + } + + if (value.length) { + // Start showing results + setActiveSupplyName('search_results'); + } else if (activeSupplyName === 'search_results') { + // return to normal category + setActiveSupplyName(supplies[0]?.name); + } + setSearchText(value); + }} + onChange={(e, value) => { + // Allow edge cases like the X button to work + const onInput = e.target?.props?.onInput; + if (onInput) { + onInput(e, value); + } + }} + /> + + + + {supplies.map((supply) => ( + { + setActiveSupplyName(supply.name); + setSearchText(''); + }} + > + {supply.name} ({supply.packs.length}) + + ))} + + + + + {activeSupply?.packs.map((pack) => { + const tags = []; + if (pack.small_item) { + tags.push('Small'); + } + if (pack.access) { + tags.push('Restricted'); + } + return ( + + {pack.name} + + {tags.join(', ')} + + + + + + ); + })} +
    +
    +
    +
    + ); +}; + +/** + * Take entire supplies tree + * and return a flat supply pack list that matches search, + * sorted by name and only the first page. + * @param {any[]} supplies Supplies list. + * @param {string} search The search term + * @returns {any[]} The flat list of supply packs. + */ +const searchForSupplies = (supplies, search) => { + search = search.toLowerCase(); + + return flow([ + (categories) => categories.flatMap((category) => category.packs), + filter( + (pack) => + pack.name?.toLowerCase().includes(search.toLowerCase()) || + pack.desc?.toLowerCase().includes(search.toLowerCase()) + ), + sortBy((pack) => pack.name), + (packs) => packs.slice(0, 25), + ])(supplies); +}; + +const CargoCartButtons = (props, context) => { + const { act, data } = useBackend(context); + const { requestonly, can_send, can_approve_requests } = data; + const cart = data.cart || []; + const total = cart.reduce((total, entry) => total + entry.cost, 0); + if (requestonly || !can_send || !can_approve_requests) { + return null; + } + return ( + <> + + {cart.length === 0 && 'Cart is empty'} + {cart.length === 1 && '1 item'} + {cart.length >= 2 && cart.length + ' items'}{' '} + {total > 0 && `(${formatMoney(total)} cr)`} + + + ))} + + + + +
    + + {categories.map((category, i) => ( + setCategoryName(category.cat_name)} + > + {category.cat_name} + + ))} + + {shownCategory?.recipes.map((recipe) => ( + + act('pipe_type', { + pipe_type: recipe.pipe_index, + category: shownCategory.cat_name, + }) + } + /> + ))} +
    +
    + + + + ); +}; diff --git a/tgui/packages/tgui/interfaces/PortableTurret.js b/tgui/packages/tgui/interfaces/PortableTurret.js deleted file mode 100644 index e66b522bf7e..00000000000 --- a/tgui/packages/tgui/interfaces/PortableTurret.js +++ /dev/null @@ -1,121 +0,0 @@ -import { useBackend } from '../backend'; -import { Button, LabeledList, NoticeBox, Section } from '../components'; -import { Window } from '../layouts'; - -export const PortableTurret = (props, context) => { - const { act, data } = useBackend(context); - const { - silicon_user, - locked, - on, - check_weapons, - neutralize_criminals, - neutralize_all, - neutralize_unidentified, - neutralize_nonmindshielded, - neutralize_cyborgs, - ignore_heads, - manual_control, - allow_manual_control, - lasertag_turret, - } = data; - return ( - - - - Swipe an ID card to {locked ? 'unlock' : 'lock'} this interface. - - <> -
    - - act('manual')} - /> - ) - } - > -
    - {!lasertag_turret && ( -
    act('shootheads')} - /> - } - > - act('shootall')} - /> - act('authweapon')} - /> - act('checkxenos')} - /> - act('checkloyal')} - /> - act('shootcriminals')} - /> - act('shootborgs')} - /> -
    - )} - -
    -
    - ); -}; diff --git a/tgui/packages/tgui/interfaces/TurretControl.js b/tgui/packages/tgui/interfaces/TurretControl.js index 294e106ddea..b2fe48e42bc 100644 --- a/tgui/packages/tgui/interfaces/TurretControl.js +++ b/tgui/packages/tgui/interfaces/TurretControl.js @@ -1,17 +1,47 @@ import { useBackend } from '../backend'; -import { Button, LabeledList, Section } from '../components'; +import { Button, Flex, LabeledList, Section } from '../components'; import { Window } from '../layouts'; import { InterfaceLockNoticeBox } from './common/InterfaceLockNoticeBox'; export const TurretControl = (props, context) => { const { act, data } = useBackend(context); - const locked = data.locked && !data.siliconUser; - const { enabled, lethal, shootCyborgs } = data; + const { + allow_manual_control, + manual_control, + silicon_user, + lethal, + enabled, + dangerous_only, + retaliate, + shoot_fauna, + shoot_humans, + shoot_silicons, + only_nonfaction, + only_specificfaction, + } = data; + const locked = data.locked && !silicon_user; + return ( - + -
    +
    act('manual')} + /> + ) + } + >
    +
    + + + act('shoot_silicons')} + onClick={() => act('toggle_dangerous')} /> - - + + + act('toggle_retaliate')} + /> + + + + + act('toggle_fauna')} + /> + + + act('toggle_humans')} + /> + + + act('toggle_silicons')} + /> + + + + + act('toggle_nonfaction')} + /> + + + act('toggle_specificfaction')} + /> + +
    diff --git a/tgui/packages/tgui/package.json b/tgui/packages/tgui/package.json index 74ef5f34624..11c36177807 100644 --- a/tgui/packages/tgui/package.json +++ b/tgui/packages/tgui/package.json @@ -7,7 +7,7 @@ "@types/marked": "^4.0.8", "common": "workspace:*", "dateformat": "^4.5.1", - "dompurify": "^2.3.1", + "dompurify": "^2.5.4", "highlight.js": "^11.5.1", "inferno": "^7.4.8", "inferno-vnode-flags": "^7.4.8", diff --git a/tgui/public/tgui.html b/tgui/public/tgui.html index a518c5f5aac..5bd21f1b50d 100644 --- a/tgui/public/tgui.html +++ b/tgui/public/tgui.html @@ -510,9 +510,6 @@ + "" ); }; - -// Signal tgui that we're ready to receive updates -Byond.sendMessage('ready');